@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
@@ -0,0 +1,63 @@
1
+ import { Logger, StrUtil, XMLConstants, XmlParser } from "@magic-xpa/utils";
2
+ import { NString, NNumber } from "@magic-xpa/mscorelib";
3
+ import { ConstInterface } from "../ConstInterface";
4
+ export class CompMainPrgTable {
5
+ _ctlIdxTab = null;
6
+ fillData(parser) {
7
+ let endContext = parser.getXMLdata().indexOf(XMLConstants.TAG_TERM, parser.getCurrIndex());
8
+ if (endContext !== -1 && endContext < parser.getXMLdata().length) {
9
+ let tag = parser.getXMLsubstring(endContext);
10
+ parser.add2CurrIndex(tag.indexOf(ConstInterface.MG_TAG_COMPMAINPRG) + ConstInterface.MG_TAG_COMPMAINPRG.length);
11
+ let tokensVector = XmlParser.getTokens(parser.getXMLsubstring(endContext), XMLConstants.XML_ATTR_DELIM);
12
+ Logger.Instance.WriteDevToLog("in CompMainPrg.FillData: " + tokensVector.toString());
13
+ this.initElements(tokensVector);
14
+ parser.setCurrIndex(endContext + XMLConstants.TAG_TERM.length);
15
+ return;
16
+ }
17
+ Logger.Instance.WriteExceptionToLogWithMsg("in CompMainPrg.FillData() out of string bounds");
18
+ }
19
+ initElements(tokensVector) {
20
+ for (let j = 0; j < tokensVector.length; j += 2) {
21
+ let attribute = (tokensVector.get_Item(j));
22
+ let valueStr = (tokensVector.get_Item(j + 1));
23
+ if (attribute === XMLConstants.MG_ATTR_VALUE) {
24
+ valueStr = StrUtil.DeleteStringsFromEnds(valueStr, "\"");
25
+ this.initCtlIdxTab(valueStr);
26
+ }
27
+ else
28
+ Logger.Instance.WriteExceptionToLogWithMsg(NString.Format("There is no such index in CompMainPrg. Add case to CompMainPrg.initElements for {0}", attribute));
29
+ }
30
+ Logger.Instance.WriteDevToLog("End CompMainPrg ");
31
+ }
32
+ initCtlIdxTab(val) {
33
+ if (NString.IsNullOrEmpty(val))
34
+ return;
35
+ if (val.indexOf(",") !== -1)
36
+ this._ctlIdxTab = StrUtil.tokenize(val, ",");
37
+ else {
38
+ this._ctlIdxTab = new Array(1);
39
+ this._ctlIdxTab[0] = val;
40
+ }
41
+ }
42
+ getCtlIdx(idx) {
43
+ if (idx >= 0 && idx < this.getSize()) {
44
+ let s = this._ctlIdxTab[idx];
45
+ return NNumber.Parse(s);
46
+ }
47
+ return -1;
48
+ }
49
+ getIndexOf(ctlIdx) {
50
+ let i;
51
+ for (i = 0; i < this.getSize(); i++) {
52
+ if (ctlIdx === this.getCtlIdx(i))
53
+ return i;
54
+ }
55
+ return -1;
56
+ }
57
+ getSize() {
58
+ if (this._ctlIdxTab === null)
59
+ return 0;
60
+ return this._ctlIdxTab.length;
61
+ }
62
+ }
63
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ29tcE1haW5QcmdUYWJsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VuZ2luZS9zcmMvcnQvQ29tcE1haW5QcmdUYWJsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsTUFBTSxFQUFFLE9BQU8sRUFBRSxZQUFZLEVBQUUsU0FBUyxFQUFDLE1BQU0sa0JBQWtCLENBQUM7QUFDMUUsT0FBTyxFQUFPLE9BQU8sRUFBRSxPQUFPLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUM1RCxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sbUJBQW1CLENBQUM7QUFFakQsTUFBTSxPQUFPLGdCQUFnQjtJQUNuQixVQUFVLEdBQWEsSUFBSSxDQUFDO0lBRTdCLFFBQVEsQ0FBQyxNQUFpQjtRQUMvQixJQUFJLFVBQVUsR0FBVyxNQUFNLENBQUMsVUFBVSxFQUFFLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxRQUFRLEVBQUUsTUFBTSxDQUFDLFlBQVksRUFBRSxDQUFDLENBQUM7UUFDbkcsSUFBSSxVQUFVLEtBQUssQ0FBQyxDQUFDLElBQUksVUFBVSxHQUFHLE1BQU0sQ0FBQyxVQUFVLEVBQUUsQ0FBQyxNQUFNLEVBQUU7WUFDaEUsSUFBSSxHQUFHLEdBQVcsTUFBTSxDQUFDLGVBQWUsQ0FBQyxVQUFVLENBQUMsQ0FBQztZQUNyRCxNQUFNLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsY0FBYyxDQUFDLGtCQUFrQixDQUFDLEdBQUcsY0FBYyxDQUFDLGtCQUFrQixDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQ2hILElBQUksWUFBWSxHQUFpQixTQUFTLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxlQUFlLENBQUMsVUFBVSxDQUFDLEVBQ2xDLFlBQVksQ0FBQyxjQUFjLENBQUMsQ0FBQztZQUNsRixNQUFNLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQywyQkFBMkIsR0FBRyxZQUFZLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQztZQUNyRixJQUFJLENBQUMsWUFBWSxDQUFDLFlBQVksQ0FBQyxDQUFDO1lBQ2hDLE1BQU0sQ0FBQyxZQUFZLENBQUMsVUFBVSxHQUFHLFlBQVksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDL0QsT0FBTztTQUNSO1FBQ0QsTUFBTSxDQUFDLFFBQVEsQ0FBQywwQkFBMEIsQ0FBQyxnREFBZ0QsQ0FBQyxDQUFDO0lBQy9GLENBQUM7SUFFTyxZQUFZLENBQUMsWUFBMEI7UUFDN0MsS0FBSyxJQUFJLENBQUMsR0FBVyxDQUFDLEVBQUUsQ0FBQyxHQUFHLFlBQVksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxJQUFJLENBQUMsRUFBRTtZQUN2RCxJQUFJLFNBQVMsR0FBVyxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUNuRCxJQUFJLFFBQVEsR0FBVyxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDdEQsSUFBSSxTQUFTLEtBQUssWUFBWSxDQUFDLGFBQWEsRUFBRTtnQkFDNUMsUUFBUSxHQUFHLE9BQU8sQ0FBQyxxQkFBcUIsQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLENBQUM7Z0JBQ3pELElBQUksQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLENBQUM7YUFDOUI7O2dCQUNJLE1BQU0sQ0FBQyxRQUFRLENBQUMsMEJBQTBCLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxxRkFBcUYsRUFDNUYsU0FBUyxDQUFDLENBQUMsQ0FBQztTQUNyRTtRQUNELE1BQU0sQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLGtCQUFrQixDQUFDLENBQUM7SUFDcEQsQ0FBQztJQUVPLGFBQWEsQ0FBQyxHQUFXO1FBQy9CLElBQUksT0FBTyxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUM7WUFDNUIsT0FBTztRQUNULElBQUksR0FBRyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDekIsSUFBSSxDQUFDLFVBQVUsR0FBRyxPQUFPLENBQUMsUUFBUSxDQUFDLEdBQUcsRUFBRSxHQUFHLENBQUMsQ0FBQzthQUMxQztZQUNILElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDL0IsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsR0FBRyxHQUFHLENBQUM7U0FDMUI7SUFDSCxDQUFDO0lBRUQsU0FBUyxDQUFDLEdBQVc7UUFDbkIsSUFBSSxHQUFHLElBQUksQ0FBQyxJQUFJLEdBQUcsR0FBRyxJQUFJLENBQUMsT0FBTyxFQUFFLEVBQUU7WUFDcEMsSUFBSSxDQUFDLEdBQVcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUNyQyxPQUFPLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7U0FDekI7UUFDRCxPQUFPLENBQUMsQ0FBQyxDQUFDO0lBQ1osQ0FBQztJQUVNLFVBQVUsQ0FBQyxNQUFjO1FBQzlCLElBQUksQ0FBUyxDQUFDO1FBQ2QsS0FBSyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxJQUFJLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQyxFQUFFLEVBQUU7WUFDbkMsSUFBSSxNQUFNLEtBQUssSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUM7Z0JBQzlCLE9BQU8sQ0FBQyxDQUFDO1NBQ1o7UUFDRCxPQUFPLENBQUMsQ0FBQyxDQUFDO0lBQ1osQ0FBQztJQUVELE9BQU87UUFDTCxJQUFJLElBQUksQ0FBQyxVQUFVLEtBQUssSUFBSTtZQUMxQixPQUFPLENBQUMsQ0FBQztRQUNYLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUM7SUFDaEMsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtMb2dnZXIsIFN0clV0aWwsIFhNTENvbnN0YW50cywgWG1sUGFyc2VyfSBmcm9tIFwiQG1hZ2ljLXhwYS91dGlsc1wiO1xyXG5pbXBvcnQge0xpc3QsIE5TdHJpbmcsIE5OdW1iZXJ9IGZyb20gXCJAbWFnaWMteHBhL21zY29yZWxpYlwiO1xyXG5pbXBvcnQge0NvbnN0SW50ZXJmYWNlfSBmcm9tIFwiLi4vQ29uc3RJbnRlcmZhY2VcIjtcclxuXHJcbmV4cG9ydCBjbGFzcyBDb21wTWFpblByZ1RhYmxlIHtcclxuICBwcml2YXRlIF9jdGxJZHhUYWI6IHN0cmluZ1tdID0gbnVsbDtcclxuXHJcbiAgcHVibGljIGZpbGxEYXRhKHBhcnNlcjogWG1sUGFyc2VyKTogdm9pZCB7XHJcbiAgICBsZXQgZW5kQ29udGV4dDogbnVtYmVyID0gcGFyc2VyLmdldFhNTGRhdGEoKS5pbmRleE9mKFhNTENvbnN0YW50cy5UQUdfVEVSTSwgcGFyc2VyLmdldEN1cnJJbmRleCgpKTtcclxuICAgIGlmIChlbmRDb250ZXh0ICE9PSAtMSAmJiBlbmRDb250ZXh0IDwgcGFyc2VyLmdldFhNTGRhdGEoKS5sZW5ndGgpIHtcclxuICAgICAgbGV0IHRhZzogU3RyaW5nID0gcGFyc2VyLmdldFhNTHN1YnN0cmluZyhlbmRDb250ZXh0KTtcclxuICAgICAgcGFyc2VyLmFkZDJDdXJySW5kZXgodGFnLmluZGV4T2YoQ29uc3RJbnRlcmZhY2UuTUdfVEFHX0NPTVBNQUlOUFJHKSArIENvbnN0SW50ZXJmYWNlLk1HX1RBR19DT01QTUFJTlBSRy5sZW5ndGgpO1xyXG4gICAgICBsZXQgdG9rZW5zVmVjdG9yOiBMaXN0PHN0cmluZz4gPSBYbWxQYXJzZXIuZ2V0VG9rZW5zKHBhcnNlci5nZXRYTUxzdWJzdHJpbmcoZW5kQ29udGV4dCksXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWE1MQ29uc3RhbnRzLlhNTF9BVFRSX0RFTElNKTtcclxuICAgICAgTG9nZ2VyLkluc3RhbmNlLldyaXRlRGV2VG9Mb2coXCJpbiBDb21wTWFpblByZy5GaWxsRGF0YTogXCIgKyB0b2tlbnNWZWN0b3IudG9TdHJpbmcoKSk7XHJcbiAgICAgIHRoaXMuaW5pdEVsZW1lbnRzKHRva2Vuc1ZlY3Rvcik7XHJcbiAgICAgIHBhcnNlci5zZXRDdXJySW5kZXgoZW5kQ29udGV4dCArIFhNTENvbnN0YW50cy5UQUdfVEVSTS5sZW5ndGgpO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICBMb2dnZXIuSW5zdGFuY2UuV3JpdGVFeGNlcHRpb25Ub0xvZ1dpdGhNc2coXCJpbiBDb21wTWFpblByZy5GaWxsRGF0YSgpIG91dCBvZiBzdHJpbmcgYm91bmRzXCIpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBpbml0RWxlbWVudHModG9rZW5zVmVjdG9yOiBMaXN0PHN0cmluZz4pOiB2b2lkIHtcclxuICAgIGZvciAobGV0IGo6IG51bWJlciA9IDA7IGogPCB0b2tlbnNWZWN0b3IubGVuZ3RoOyBqICs9IDIpIHtcclxuICAgICAgbGV0IGF0dHJpYnV0ZTogc3RyaW5nID0gKHRva2Vuc1ZlY3Rvci5nZXRfSXRlbShqKSk7XHJcbiAgICAgIGxldCB2YWx1ZVN0cjogc3RyaW5nID0gKHRva2Vuc1ZlY3Rvci5nZXRfSXRlbShqICsgMSkpO1xyXG4gICAgICBpZiAoYXR0cmlidXRlID09PSBYTUxDb25zdGFudHMuTUdfQVRUUl9WQUxVRSkge1xyXG4gICAgICAgIHZhbHVlU3RyID0gU3RyVXRpbC5EZWxldGVTdHJpbmdzRnJvbUVuZHModmFsdWVTdHIsIFwiXFxcIlwiKTtcclxuICAgICAgICB0aGlzLmluaXRDdGxJZHhUYWIodmFsdWVTdHIpO1xyXG4gICAgICB9XHJcbiAgICAgIGVsc2UgTG9nZ2VyLkluc3RhbmNlLldyaXRlRXhjZXB0aW9uVG9Mb2dXaXRoTXNnKE5TdHJpbmcuRm9ybWF0KFwiVGhlcmUgaXMgbm8gc3VjaCBpbmRleCBpbiBDb21wTWFpblByZy4gQWRkIGNhc2UgdG8gQ29tcE1haW5QcmcuaW5pdEVsZW1lbnRzIGZvciB7MH1cIixcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhdHRyaWJ1dGUpKTtcclxuICAgIH1cclxuICAgIExvZ2dlci5JbnN0YW5jZS5Xcml0ZURldlRvTG9nKFwiRW5kIENvbXBNYWluUHJnIFwiKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgaW5pdEN0bElkeFRhYih2YWw6IHN0cmluZyk6IHZvaWQge1xyXG4gICAgaWYgKE5TdHJpbmcuSXNOdWxsT3JFbXB0eSh2YWwpKVxyXG4gICAgICByZXR1cm47XHJcbiAgICBpZiAodmFsLmluZGV4T2YoXCIsXCIpICE9PSAtMSlcclxuICAgICAgdGhpcy5fY3RsSWR4VGFiID0gU3RyVXRpbC50b2tlbml6ZSh2YWwsIFwiLFwiKTtcclxuICAgIGVsc2Uge1xyXG4gICAgICB0aGlzLl9jdGxJZHhUYWIgPSBuZXcgQXJyYXkoMSk7XHJcbiAgICAgIHRoaXMuX2N0bElkeFRhYlswXSA9IHZhbDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGdldEN0bElkeChpZHg6IG51bWJlcik6IG51bWJlciB7XHJcbiAgICBpZiAoaWR4ID49IDAgJiYgaWR4IDwgdGhpcy5nZXRTaXplKCkpIHtcclxuICAgICAgbGV0IHM6IHN0cmluZyA9IHRoaXMuX2N0bElkeFRhYltpZHhdO1xyXG4gICAgICByZXR1cm4gTk51bWJlci5QYXJzZShzKTtcclxuICAgIH1cclxuICAgIHJldHVybiAtMTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXRJbmRleE9mKGN0bElkeDogbnVtYmVyKTogbnVtYmVyIHtcclxuICAgIGxldCBpOiBudW1iZXI7XHJcbiAgICBmb3IgKGkgPSAwOyBpIDwgdGhpcy5nZXRTaXplKCk7IGkrKykge1xyXG4gICAgICBpZiAoY3RsSWR4ID09PSB0aGlzLmdldEN0bElkeChpKSlcclxuICAgICAgICByZXR1cm4gaTtcclxuICAgIH1cclxuICAgIHJldHVybiAtMTtcclxuICB9XHJcblxyXG4gIGdldFNpemUoKTogbnVtYmVyIHtcclxuICAgIGlmICh0aGlzLl9jdGxJZHhUYWIgPT09IG51bGwpXHJcbiAgICAgIHJldHVybiAwO1xyXG4gICAgcmV0dXJuIHRoaXMuX2N0bElkeFRhYi5sZW5ndGg7XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -0,0 +1,98 @@
1
+ import { YesNoExp } from '../exp/YesNoExp';
2
+ import { NString, RefParam } from '@magic-xpa/mscorelib';
3
+ import { Logger, XMLConstants, XmlParser } from '@magic-xpa/utils';
4
+ import { ConstInterface } from '../ConstInterface';
5
+ export class DataviewHeaderBase {
6
+ _cond = null;
7
+ _task = null;
8
+ Loc = null;
9
+ _dir = '\0';
10
+ _id = 0;
11
+ _keyIdx = 0;
12
+ _retVal = null;
13
+ returnfield = null;
14
+ _linkEvalCondition;
15
+ get ReturnField() {
16
+ if (this.returnfield === null && this._retVal !== null)
17
+ this.returnfield = this.Task.getFieldByValueStr(this._retVal);
18
+ return this.returnfield;
19
+ }
20
+ Mode;
21
+ LinkStartAfterField = 0;
22
+ KeyExpression = 0;
23
+ get IsMainSource() {
24
+ return this._id === -1;
25
+ }
26
+ get Task() {
27
+ return this._task;
28
+ }
29
+ get Fields() {
30
+ return this._task.DataView.GetFieldsTab().getLinkFields(this._id);
31
+ }
32
+ get Id() {
33
+ return this._id;
34
+ }
35
+ get LinkEvaluateCondition() {
36
+ return this._linkEvalCondition;
37
+ }
38
+ constructor(task) {
39
+ this._task = task;
40
+ this._keyIdx = -1;
41
+ this._cond = new YesNoExp(true);
42
+ }
43
+ SetAttributes(attributes) {
44
+ let keys = attributes.Keys;
45
+ keys.forEach((text) => {
46
+ this.setAttribute(text, attributes.get_Item(text));
47
+ });
48
+ }
49
+ setAttribute(attribute, valueStr) {
50
+ switch (attribute) {
51
+ case XMLConstants.MG_ATTR_ID:
52
+ this._id = XmlParser.getInt(valueStr);
53
+ break;
54
+ case ConstInterface.MG_ATTR_KEY:
55
+ this._keyIdx = XmlParser.getInt(valueStr);
56
+ break;
57
+ case ConstInterface.MG_ATTR_KEY_EXP:
58
+ this.KeyExpression = XmlParser.getInt(valueStr);
59
+ break;
60
+ case ConstInterface.MG_ATTR_DIR:
61
+ this._dir = valueStr[0];
62
+ break;
63
+ case ConstInterface.MG_ATTR_COND:
64
+ case ConstInterface.MG_ATTR_COND_RES:
65
+ this._cond.setVal(this._task, valueStr);
66
+ break;
67
+ case ConstInterface.MG_ATTR_RET_VAL:
68
+ this._retVal = valueStr;
69
+ break;
70
+ case ConstInterface.MG_ATTR_LINK_EVAL_CONDITION:
71
+ this._linkEvalCondition = valueStr[0];
72
+ break;
73
+ case ConstInterface.MG_ATTR_LINK_MODE:
74
+ this.Mode = valueStr[0];
75
+ break;
76
+ case ConstInterface.MG_ATTR_LINK_START:
77
+ this.LinkStartAfterField = XmlParser.getInt(valueStr);
78
+ break;
79
+ default:
80
+ Logger.Instance.WriteExceptionToLogWithMsg(NString.Format("Unrecognized attribute: '{0}'", attribute));
81
+ break;
82
+ }
83
+ }
84
+ async getLinkedRecord(curRec) {
85
+ return Promise.resolve(true);
86
+ }
87
+ async InitLinkFields(currRec) {
88
+ for (let i = 0; i < this.Fields.length; i++) {
89
+ let field = this.Fields.get_Item(i);
90
+ let isNull = new RefParam(field.isNull());
91
+ let result = new RefParam(field.getValue(false));
92
+ await field.getInitExpVal(result, isNull);
93
+ currRec.SetFieldValue(field.getId(), isNull.value, result.value);
94
+ field.invalidate(true, false);
95
+ }
96
+ }
97
+ }
98
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRGF0YXZpZXdIZWFkZXJCYXNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZW5naW5lL3NyYy9ydC9EYXRhdmlld0hlYWRlckJhc2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBRXpDLE9BQU8sRUFBbUIsT0FBTyxFQUFFLFFBQVEsRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBR3pFLE9BQU8sRUFBd0IsTUFBTSxFQUFFLFlBQVksRUFBRSxTQUFTLEVBQUMsTUFBTSxrQkFBa0IsQ0FBQztBQUl4RixPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sbUJBQW1CLENBQUM7QUFLakQsTUFBTSxPQUFnQixrQkFBa0I7SUFDdEMsS0FBSyxHQUFhLElBQUksQ0FBQztJQUN2QixLQUFLLEdBQVMsSUFBSSxDQUFDO0lBQ25CLEdBQUcsR0FBbUIsSUFBSSxDQUFDO0lBQzNCLElBQUksR0FBVyxJQUFJLENBQUM7SUFDcEIsR0FBRyxHQUFXLENBQUMsQ0FBQztJQUNoQixPQUFPLEdBQVcsQ0FBQyxDQUFDO0lBRVosT0FBTyxHQUFXLElBQUksQ0FBQztJQUt2QixXQUFXLEdBQVUsSUFBSSxDQUFDO0lBQ2xDLGtCQUFrQixDQUFlO0lBRWpDLElBQUksV0FBVztRQUNiLElBQUksSUFBSSxDQUFDLFdBQVcsS0FBSyxJQUFJLElBQUksSUFBSSxDQUFDLE9BQU8sS0FBSyxJQUFJO1lBQ3BELElBQUksQ0FBQyxXQUFXLEdBQVUsSUFBSSxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDdkUsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDO0lBQzFCLENBQUM7SUFLRCxJQUFJLENBQVU7SUFDZCxtQkFBbUIsR0FBVyxDQUFDLENBQUM7SUFDaEMsYUFBYSxHQUFXLENBQUMsQ0FBQztJQUsxQixJQUFJLFlB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QUFDLGVBQWUsQ0FBQyxNQUFjO1FBQ2xDLE9BQU8sT0FBTyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUMvQixDQUFDO0lBTU0sS0FBSyxDQUFDLGNBQWMsQ0FBQyxPQUFnQjtRQUkxQyxLQUFLLElBQUksQ0FBQyxHQUFXLENBQUMsRUFBRSxDQUFDLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUU7WUFDbkQsSUFBSSxLQUFLLEdBQVUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFFM0MsSUFBSSxNQUFNLEdBQXNCLElBQUksUUFBUSxDQUFDLEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDO1lBQzdELElBQUksTUFBTSxHQUFxQixJQUFJLFFBQVEsQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7WUFDbkUsTUFBTSxLQUFLLENBQUMsYUFBYSxDQUFDLE1BQU0sRUFBRSxNQUFNLENBQUMsQ0FBQztZQUVqQyxPQUFRLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxNQUFNLENBQUMsS0FBSyxFQUFFLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUMzRSxLQUFLLENBQUMsVUFBVSxDQUFDLElBQUksRUFBRSxLQUFLLENBQUMsQ0FBQztTQUMvQjtJQUNILENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7WWVzTm9FeHB9IGZyb20gJy4uL2V4cC9ZZXNOb0V4cCc7XHJcbmltcG9ydCB7VGFza30gZnJvbSAnLi4vdGFza3MvVGFzayc7XHJcbmltcG9ydCB7RGljdGlvbmFyeSwgTGlzdCwgTlN0cmluZywgUmVmUGFyYW19IGZyb20gJ0BtYWdpYy14cGEvbXNjb3JlbGliJztcclxuaW1wb3J0IHtCb3VuZGFyeX0gZnJvbSAnLi9Cb3VuZGFyeSc7XHJcbmltcG9ydCB7RmllbGR9IGZyb20gJy4uL2RhdGEvRmllbGQnO1xyXG5pbXBvcnQge0xua0V2YWxfQ29uZCwgTG5rTW9kZSwgTG9nZ2VyLCBYTUxDb25zdGFudHMsIFhtbFBhcnNlcn0gZnJvbSAnQG1hZ2ljLXhwYS91dGlscyc7XHJcbmltcG9ydCB7RmllbGRzVGFibGVFeHQgYXMgRmllbGRzVGFibGV9IGZyb20gJy4uL2RhdGEvRmllbGRzVGFibGUnO1xyXG5pbXBvcnQge0lSZWNvcmR9IGZyb20gJ0BtYWdpYy14cGEvZ3VpJztcclxuaW1wb3J0IHtSZWNvcmR9IGZyb20gJy4uL2RhdGEvUmVjb3JkJztcclxuaW1wb3J0IHtDb25zdEludGVyZmFjZX0gZnJvbSAnLi4vQ29uc3RJbnRlcmZhY2UnO1xyXG5cclxuLy8vIDxzdW1tYXJ5PlxyXG4vLy8gICBTdW1tYXJ5IGRlc2NyaXB0aW9uIGZvciBMaW5rLlxyXG4vLy8gPC9zdW1tYXJ5PlxyXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgRGF0YXZpZXdIZWFkZXJCYXNlIHtcclxuICBfY29uZDogWWVzTm9FeHAgPSBudWxsOyAgLy8gd2lsbCBiZSBnZW5lcmF0ZWQgb3IgZnJvbSB0aGUgbGluayBjb25kaXRpb24gb3IgZnJvbSB0aGUgbGluayBjb25kaXRpb24gdmFsdWUgdGFnXHJcbiAgX3Rhc2s6IFRhc2sgPSBudWxsO1xyXG4gIExvYzogTGlzdDxCb3VuZGFyeT4gPSBudWxsO1xyXG4gIF9kaXI6IHN0cmluZyA9ICdcXDAnO1xyXG4gIF9pZDogbnVtYmVyID0gMDsgLy8gdGhlIGlkIG9mIHRoZSBsaW5rIGluIHRoZSB0YXNrXHJcbiAgX2tleUlkeDogbnVtYmVyID0gMDsgLy8gdGhlIGtleSAoZnJvbSB0aGUgdGFibGVDYWNoZSkgdGhhdCB0aGlzXHJcblxyXG4gIHByaXZhdGUgX3JldFZhbDogc3RyaW5nID0gbnVsbDtcclxuXHJcbiAgLy8vIDxzdW1tYXJ5PlxyXG4gIC8vLyBkbyBub3QgdXNlIGRpcmVjdGx5XHJcbiAgLy8vIDwvc3VtbWFyeT5cclxuICBwcml2YXRlIHJldHVybmZpZWxkOiBGaWVsZCA9IG51bGw7XHJcbiAgX2xpbmtFdmFsQ29uZGl0aW9uOiBMbmtFdmFsX0NvbmQ7XHJcblxyXG4gIGdldCBSZXR1cm5GaWVsZCgpOiBGaWVsZCB7XHJcbiAgICBpZiAodGhpcy5yZXR1cm5maWVsZCA9PT0gbnVsbCAmJiB0aGlzLl9yZXRWYWwgIT09IG51bGwpXHJcbiAgICAgIHRoaXMucmV0dXJuZmllbGQgPSA8RmllbGQ+dGhpcy5UYXNrLmdldEZpZWxkQnlWYWx1ZVN0cih0aGlzLl9yZXRWYWwpO1xyXG4gICAgcmV0dXJuIHRoaXMucmV0dXJuZmllbGQ7XHJcbiAgfVxyXG5cclxuICAvLy8gPHN1bW1hcnk+XHJcbiAgLy8vIGxpbmsgTW9kZVxyXG4gIC8vLyA8L3N1bW1hcnk+XHJcbiAgTW9kZTogTG5rTW9kZTtcclxuICBMaW5rU3RhcnRBZnRlckZpZWxkOiBudW1iZXIgPSAwO1xyXG4gIEtleUV4cHJlc3Npb246IG51bWJlciA9IDA7XHJcblxyXG4gIC8vLyA8c3VtbWFyeT5cclxuICAvLy8gdHJ1ZSBpZiB0aGlzIGxpbmsgcmVwcmVzZW50cyBNYWluIHNvdXJjZVxyXG4gIC8vLyA8L3N1bW1hcnk+XHJcbiAgZ2V0IElzTWFpblNvdXJjZSgpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLl9pZCA9PT0gLTE7XHJcbiAgfVxyXG5cclxuICAvLy8gPHN1bW1hcnk+XHJcbiAgLy8vIFRhc2tcclxuICAvLy8gPC9zdW1tYXJ5PlxyXG4gIGdldCBUYXNrKCk6IFRhc2sge1xyXG4gICAgcmV0dXJuIHRoaXMuX3Rhc2s7XHJcbiAgfVxyXG5cclxuICAvLy8gPHN1bW1hcnk+XHJcbiAgLy8vIEZpZWxkc1xyXG4gIC8vLyA8L3N1bW1hcnk+XHJcbiAgZ2V0IEZpZWxkcygpOiBMaXN0PEZpZWxkPiB7XHJcbiAgICByZXR1cm4gKDxGaWVsZHNUYWJsZT50aGlzLl90YXNrLkRhdGFWaWV3LkdldEZpZWxkc1RhYigpKS5nZXRMaW5rRmllbGRzKHRoaXMuX2lkKTtcclxuICB9XHJcblxyXG4gIGdldCBJZCgpOiBudW1iZXIge1xyXG4gICAgcmV0dXJuIHRoaXMuX2lkO1xyXG4gIH1cclxuXHJcbiAgZ2V0IExpbmtFdmFsdWF0ZUNvbmRpdGlvbigpOiBMbmtFdmFsX0NvbmQge1xyXG4gICAgcmV0dXJuIHRoaXMuX2xpbmtFdmFsQ29uZGl0aW9uO1xyXG4gIH1cclxuXHJcbiAgLy8vIDxzdW1tYXJ5PlxyXG4gIC8vLyAgIGluaXRpYWxpemUgdGhlIGxpbmsgZm9yIGEgZ2l2ZW4gdGFza1xyXG4gIC8vLyA8L3N1bW1hcnk+XHJcbiAgY29uc3RydWN0b3IodGFzazogVGFzaykge1xyXG4gICAgdGhpcy5fdGFzayA9IHRhc2s7XHJcbiAgICB0aGlzLl9rZXlJZHggPSAtMTtcclxuICAgIHRoaXMuX2NvbmQgPSBuZXcgWWVzTm9FeHAodHJ1ZSk7XHJcbiAgfVxyXG5cclxuICAvLy8gPHN1bW1hcnk+XHJcbiAgLy8vXHJcbiAgLy8vIDwvc3VtbWFyeT5cclxuICAvLy8gPHBhcmFtIG5hbWU9XCJhdHRyaWJ1dGVzXCI+PC9wYXJhbT5cclxuICBTZXRBdHRyaWJ1dGVzKGF0dHJpYnV0ZXM6IERpY3Rpb25hcnk8c3RyaW5nPik6IHZvaWQge1xyXG4gICAgbGV0IGtleXM6IHN0cmluZ1tdID0gYXR0cmlidXRlcy5LZXlzO1xyXG4gICAga2V5cy5mb3JFYWNoKCh0ZXh0OiBzdHJpbmcpID0+IHtcclxuICAgICAgdGhpcy5zZXRBdHRyaWJ1dGUodGV4dCwgYXR0cmlidXRlcy5nZXRfSXRlbSh0ZXh0KSk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIC8vLyA8c3VtbWFyeT5cclxuICAvLy8gICBwYXJzZSB0aGUgbGluayBYTUwgdGFnXHJcbiAgLy8vIDwvc3VtbWFyeT5cclxuICAvLy8gPHBhcmFtIG5hbWUgPSBcInRva2Vuc1ZlY3RvclwiPnRoZSB2ZWN0b3Igb2YgYXR0cmlidXRlcyBhbmQgdGhlaXIgdmFsdWVzPC9wYXJhbT5cclxuICBwcm90ZWN0ZWQgc2V0QXR0cmlidXRlKGF0dHJpYnV0ZTogc3RyaW5nLCB2YWx1ZVN0cjogc3RyaW5nKTogdm9pZCB7XHJcbiAgICBzd2l0Y2ggKGF0dHJpYnV0ZSkge1xyXG4gICAgICBjYXNlIFhNTENvbnN0YW50cy5NR19BVFRSX0lEOlxyXG4gICAgICAgIHRoaXMuX2lkID0gWG1sUGFyc2VyLmdldEludCh2YWx1ZVN0cik7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgQ29uc3RJbnRlcmZhY2UuTUdfQVRUUl9LRVk6XHJcbiAgICAgICAgdGhpcy5fa2V5SWR4ID0gWG1sUGFyc2VyLmdldEludCh2YWx1ZVN0cik7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgQ29uc3RJbnRlcmZhY2UuTUdfQVRUUl9LRVlfRVhQOlxyXG4gICAgICAgIHRoaXMuS2V5RXhwcmVzc2lvbiA9IFhtbFBhcnNlci5nZXRJbnQodmFsdWVTdHIpO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlIENvbnN0SW50ZXJmYWNlLk1HX0FUVFJfRElSOlxyXG4gICAgICAgIHRoaXMuX2RpciA9IHZhbHVlU3RyWzBdO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlIENvbnN0SW50ZXJmYWNlLk1HX0FUVFJfQ09ORDpcclxuICAgICAgY2FzZSBDb25zdEludGVyZmFjZS5NR19BVFRSX0NPTkRfUkVTOlxyXG4gICAgICAgIHRoaXMuX2NvbmQuc2V0VmFsKHRoaXMuX3Rhc2ssIHZhbHVlU3RyKTtcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSBDb25zdEludGVyZmFjZS5NR19BVFRSX1JFVF9WQUw6XHJcbiAgICAgICAgdGhpcy5fcmV0VmFsID0gdmFsdWVTdHI7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgQ29uc3RJbnRlcmZhY2UuTUdfQVRUUl9MSU5LX0VWQUxfQ09ORElUSU9OOlxyXG4gICAgICAgIHRoaXMuX2xpbmtFdmFsQ29uZGl0aW9uID0gPExua0V2YWxfQ29uZD52YWx1ZVN0clswXTtcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSBDb25zdEludGVyZmFjZS5NR19BVFRSX0xJTktfTU9ERTpcclxuICAgICAgICB0aGlzLk1vZGUgPSA8TG5rTW9kZT52YWx1ZVN0clswXTtcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSBDb25zdEludGVyZmFjZS5NR19BVFRSX0xJTktfU1RBUlQ6XHJcbiAgICAgICAgdGhpcy5MaW5rU3RhcnRBZnRlckZpZWxkID0gWG1sUGFyc2VyLmdldEludCh2YWx1ZVN0cik7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgTG9nZ2VyLkluc3RhbmNlLldyaXRlRXhjZXB0aW9uVG9Mb2dXaXRoTXNnKE5TdHJpbmcuRm9ybWF0KFwiVW5yZWNvZ25pemVkIGF0dHJpYnV0ZTogJ3swfSdcIiwgYXR0cmlidXRlKSk7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvLy8gPHN1bW1hcnk+XHJcbiAgLy8vIHVwZGF0ZSBsaW5rIHJlc3VsdFxyXG4gIC8vLyA8L3N1bW1hcnk+XHJcbiAgLy8vIDxwYXJhbSBuYW1lPVwiY3VyUmVjXCI+Y3VycmVudCByZWNvcmQ8L3BhcmFtPlxyXG4gIC8vLyA8cGFyYW0gbmFtZT1cInJldFwiPmxpbmsgc3VjY2VzczwvcGFyYW0+XHJcbiAgYWJzdHJhY3QgU2V0UmV0dXJuVmFsdWUoIHJldDogYm9vbGVhbiwgcmVjb21wdXRlOiBib29sZWFuKTogdm9pZDtcclxuXHJcbiAgYXN5bmMgZ2V0TGlua2VkUmVjb3JkKGN1clJlYzogUmVjb3JkKTogUHJvbWlzZTxib29sZWFuPntcclxuICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUodHJ1ZSk7XHJcbiAgfVxyXG5cclxuICAvLy8gPHN1bW1hcnk+XHJcbiAgLy8vIGluaXRpYWxpemUgbGluayBmaWVsZHNcclxuICAvLy8gPC9zdW1tYXJ5PlxyXG4gIC8vLyA8cGFyYW0gbmFtZT1cImN1cnJSZWNcIj48L3BhcmFtPlxyXG4gIHB1YmxpYyBhc3luYyBJbml0TGlua0ZpZWxkcyhjdXJyUmVjOiBJUmVjb3JkKTogUHJvbWlzZTx2b2lkPiB7XHJcblxyXG4gICAgLy8gbml0IHRoZSBjdXJlZW50IHJlYyBmaWVsZHMgdGhhdCBiZWxvbmcgdG8gdGhlIGxpbmtcclxuXHJcbiAgICBmb3IgKGxldCBpOiBudW1iZXIgPSAwOyBpIDwgdGhpcy5GaWVsZHMubGVuZ3RoOyBpKyspIHtcclxuICAgICAgbGV0IGZpZWxkOiBGaWVsZCA9IHRoaXMuRmllbGRzLmdldF9JdGVtKGkpO1xyXG5cclxuICAgICAgbGV0IGlzTnVsbDogUmVmUGFyYW08Ym9vbGVhbj4gPSBuZXcgUmVmUGFyYW0oZmllbGQuaXNOdWxsKCkpO1xyXG4gICAgICBsZXQgcmVzdWx0OiBSZWZQYXJhbTxzdHJpbmc+ID0gbmV3IFJlZlBhcmFtKGZpZWxkLmdldFZhbHVlKGZhbHNlKSk7XHJcbiAgICAgIGF3YWl0IGZpZWxkLmdldEluaXRFeHBWYWwocmVzdWx0LCBpc051bGwpO1xyXG4gICAgICAvLyB0aGlzIGZ1bmN0aW9uIGtub3dzIHRvIHRha2UgZWl0aGVyIHRoZSBudWxsIHZhbHVlIG9yIHRoZSBkZWZ1YWx0IHZhbHVlXHJcbiAgICAgICg8UmVjb3JkPmN1cnJSZWMpLlNldEZpZWxkVmFsdWUoZmllbGQuZ2V0SWQoKSwgaXNOdWxsLnZhbHVlLCByZXN1bHQudmFsdWUpO1xyXG4gICAgICBmaWVsZC5pbnZhbGlkYXRlKHRydWUsIGZhbHNlKTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIl19
@@ -1,7 +1,7 @@
1
- import { RemoteDataviewHeader } from "./RemoteDataviewHeader";
2
- export class DataviewHeaderFactory {
3
- CreateDataviewHeaders(task) {
4
- return new RemoteDataviewHeader(task);
5
- }
6
- }
1
+ import { RemoteDataviewHeader } from "./RemoteDataviewHeader";
2
+ export class DataviewHeaderFactory {
3
+ CreateDataviewHeaders(task) {
4
+ return new RemoteDataviewHeader(task);
5
+ }
6
+ }
7
7
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRGF0YXZpZXdIZWFkZXJGYWN0b3J5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZW5naW5lL3NyYy9ydC9EYXRhdmlld0hlYWRlckZhY3RvcnkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFDLG9CQUFvQixFQUFDLE1BQU0sd0JBQXdCLENBQUM7QUFNNUQsTUFBTSxPQUFPLHFCQUFxQjtJQUNoQyxxQkFBcUIsQ0FBQyxJQUFVO1FBQzlCLE9BQU8sSUFBSSxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN4QyxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0RhdGF2aWV3SGVhZGVyQmFzZX0gZnJvbSBcIi4vRGF0YXZpZXdIZWFkZXJCYXNlXCI7XHJcbmltcG9ydCB7UmVtb3RlRGF0YXZpZXdIZWFkZXJ9IGZyb20gXCIuL1JlbW90ZURhdGF2aWV3SGVhZGVyXCI7XHJcbmltcG9ydCB7VGFza30gZnJvbSBcIi4uL3Rhc2tzL1Rhc2tcIjtcclxuXHJcbi8vLyA8c3VtbWFyeT5cclxuLy8vIGxpbmsgZmFjdG9yeVxyXG4vLy8gPC9zdW1tYXJ5PlxyXG5leHBvcnQgY2xhc3MgRGF0YXZpZXdIZWFkZXJGYWN0b3J5IHtcclxuICBDcmVhdGVEYXRhdmlld0hlYWRlcnModGFzazogVGFzayk6IERhdGF2aWV3SGVhZGVyQmFzZSB7XHJcbiAgICByZXR1cm4gbmV3IFJlbW90ZURhdGF2aWV3SGVhZGVyKHRhc2spO1xyXG4gIH1cclxufVxyXG4iXX0=
@@ -0,0 +1,53 @@
1
+ import { Hashtable, StringBuilder } from "@magic-xpa/mscorelib";
2
+ import { Logger, XMLConstants, XmlParser } from "@magic-xpa/utils";
3
+ import { DataviewHeadersSaxHandler } from "./DataviewHeadersSaxHandler";
4
+ import { RemoteDataviewHeader } from "./RemoteDataviewHeader";
5
+ import { ConstInterface } from "../ConstInterface";
6
+ export class DataviewHeaders {
7
+ _dataviewHeaders = null;
8
+ _task = null;
9
+ constructor(task) {
10
+ this._task = task;
11
+ this._dataviewHeaders = new Hashtable();
12
+ }
13
+ fillData(parser) {
14
+ while (this.initInnerObjects(parser, parser.getNextTag())) {
15
+ }
16
+ }
17
+ initInnerObjects(parser, foundTagName) {
18
+ if (foundTagName === null)
19
+ return false;
20
+ if (foundTagName === ConstInterface.MG_TAG_LINKS) {
21
+ let endContext = parser.getXMLdata().indexOf(ConstInterface.MG_TAG_LINKS_END, parser.getCurrIndex()) + ConstInterface.MG_TAG_LINKS_END.length + 1;
22
+ let xml = parser.getXMLsubstring(endContext);
23
+ xml = XmlParser.escapeUrl(xml);
24
+ new DataviewHeadersSaxHandler(this._task, this._dataviewHeaders, xml);
25
+ parser.setCurrIndex(endContext + XMLConstants.TAG_CLOSE.length);
26
+ }
27
+ else
28
+ Logger.Instance.WriteExceptionToLogWithMsg("There is no such tag in LinksTable.initInnerObjects(): " + foundTagName);
29
+ }
30
+ getDataviewHeaderById(linkId) {
31
+ return this._dataviewHeaders.get_Item(linkId);
32
+ }
33
+ buildDbPosString() {
34
+ if (this._dataviewHeaders.Count === 0) {
35
+ return null;
36
+ }
37
+ let buf = new StringBuilder();
38
+ let dataviewHeaders = this._dataviewHeaders.Values;
39
+ while (dataviewHeaders.MoveNext()) {
40
+ let curr = ((dataviewHeaders.Current instanceof RemoteDataviewHeader) ? dataviewHeaders.Current : null);
41
+ if (curr !== null) {
42
+ let currDbPosVal = curr.getLastFetchedDbPos();
43
+ buf.Append("@");
44
+ if (currDbPosVal !== null) {
45
+ buf.Append(currDbPosVal);
46
+ }
47
+ }
48
+ }
49
+ buf.Append("@");
50
+ return buf.ToString();
51
+ }
52
+ }
53
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRGF0YXZpZXdIZWFkZXJzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZW5naW5lL3NyYy9ydC9EYXRhdmlld0hlYWRlcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFtQixTQUFTLEVBQUUsYUFBYSxFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFDaEYsT0FBTyxFQUFDLE1BQU0sRUFBRSxZQUFZLEVBQUUsU0FBUyxFQUFDLE1BQU0sa0JBQWtCLENBQUM7QUFFakUsT0FBTyxFQUFDLHlCQUF5QixFQUFDLE1BQU0sNkJBQTZCLENBQUM7QUFDdEUsT0FBTyxFQUFDLG9CQUFvQixFQUFDLE1BQU0sd0JBQXdCLENBQUM7QUFFNUQsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLG1CQUFtQixDQUFDO0FBS2pELE1BQU0sT0FBTyxlQUFlO0lBQ2xCLGdCQUFnQixHQUEwQyxJQUFJLENBQUM7SUFDL0QsS0FBSyxHQUFTLElBQUksQ0FBQztJQUczQixZQUFZLElBQVU7UUFDcEIsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUM7UUFDbEIsSUFBSSxDQUFDLGdCQUFnQixHQUFHLElBQUksU0FBUyxFQUE4QixDQUFDO0lBQ3RFLENBQUM7SUFLRCxRQUFRLENBQUMsTUFBaUI7UUFDeEIsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxFQUFFLE1BQU0sQ0FBQyxVQUFVLEVBQUUsQ0FBQyxFQUFFO1NBQzFEO0lBQ0gsQ0FBQztJQUtPLGdCQUFnQixDQUFDLE1BQWlCLEVBQUUsWUFBb0I7UUFDOUQsSUFBSSxZQUFZLEtBQUssSUFBSTtZQUN2QixPQUFPLEtBQUssQ0FBQztRQUVmLElBQUksWUFBWSxLQUFLLGNBQWMsQ0FBQyxZQUFZLEVBQUU7WUFDaEQsSUFBSSxVQUFVLEdBQVcsTUFBTSxDQUFDLFVBQVUsRUFBRSxDQUFDLE9BQU8sQ0FBRSxjQUFjLENBQUMsZ0JBQWdCLEVBQUUsTUFBTSxDQUFDLFlBQVksRUFBRSxDQUFDLEdBQUcsY0FBYyxDQUFDLGdCQUFnQixDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7WUFDM0osSUFBSSxHQUFHLEdBQVcsTUFBTSxDQUFDLGVBQWUsQ0FBQyxVQUFVLENBQUMsQ0FBQztZQUNyRCxHQUFHLEdBQUcsU0FBUyxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUcvQixJQUFJLHlCQUF5QixDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLGdCQUFnQixFQUFFLEdBQUcsQ0FBQyxDQUFDO1lBR3RFLE1BQU0sQ0FBQyxZQUFZLENBQUMsVUFBVSxHQUFHLFlBQVksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUM7U0FDakU7O1lBRUMsTUFBTSxDQUFDLFFBQVEsQ0FBQywwQkFBMEIsQ0FBQyx5REFBeUQsR0FBRyxZQUFZLENBQUMsQ0FBQztJQUN6SCxDQUFDO0lBS0QscUJBQXFCLENBQUMsTUFBYztRQUNsQyxPQUEyQixJQUFJLENBQUMsZ0JBQWdCLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ3BFLENBQUM7SUFNRCxnQkFBZ0I7UUFDZCxJQUFJLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLEtBQUssQ0FBQyxFQUFFO1lBQ3JDLE9BQU8sSUFBSSxDQUFDO1NBQ2I7UUFFRCxJQUFJLEdBQUcsR0FBa0IsSUFBSSxhQUFhLEVBQUUsQ0FBQztRQUM3QyxJQUFJLGVBQWUsR0FBeUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE1BQU0sQ0FBQztRQUV6RixPQUFPLGVBQWUsQ0FBQyxRQUFRLEVBQUUsRUFBRTtZQUNqQyxJQUFJLElBQUksR0FBeUIsQ0FBQyxDQUFDLGVBQWUsQ0FBQyxPQUFPLFlBQVksb0JBQW9CLENBQUMsQ0FBQyxDQUFDLENBQXdCLGVBQWUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDO1lBRXJKLElBQUksSUFBSSxLQUFLLElBQUksRUFBRTtnQkFDakIsSUFBSSxZQUFZLEdBQVcsSUFBSSxDQUFDLG1CQUFtQixFQUFFLENBQUM7Z0JBQ3RELEdBQUcsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUM7Z0JBR2hCLElBQUksWUFBWSxLQUFLLElBQUksRUFBRTtvQkFDekIsR0FBRyxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQztpQkFDMUI7YUFDRjtTQUNGO1FBQ0QsR0FBRyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNoQixPQUFPLEdBQUcsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUN4QixDQUFDO0NBRUYiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0FycmF5X0VudW1lcmF0b3IsIEhhc2h0YWJsZSwgU3RyaW5nQnVpbGRlcn0gZnJvbSBcIkBtYWdpYy14cGEvbXNjb3JlbGliXCI7XHJcbmltcG9ydCB7TG9nZ2VyLCBYTUxDb25zdGFudHMsIFhtbFBhcnNlcn0gZnJvbSBcIkBtYWdpYy14cGEvdXRpbHNcIjtcclxuaW1wb3J0IHtEYXRhdmlld0hlYWRlckJhc2V9IGZyb20gXCIuL0RhdGF2aWV3SGVhZGVyQmFzZVwiO1xyXG5pbXBvcnQge0RhdGF2aWV3SGVhZGVyc1NheEhhbmRsZXJ9IGZyb20gXCIuL0RhdGF2aWV3SGVhZGVyc1NheEhhbmRsZXJcIjtcclxuaW1wb3J0IHtSZW1vdGVEYXRhdmlld0hlYWRlcn0gZnJvbSBcIi4vUmVtb3RlRGF0YXZpZXdIZWFkZXJcIjtcclxuaW1wb3J0IHtUYXNrfSBmcm9tIFwiLi4vdGFza3MvVGFza1wiXHJcbmltcG9ydCB7Q29uc3RJbnRlcmZhY2V9IGZyb20gXCIuLi9Db25zdEludGVyZmFjZVwiO1xyXG5cclxuLy8vIDxzdW1tYXJ5PlxyXG4vLy8gICBoYW5kbGVzIGFsbCBsaW5rcyBpbiB0aGUgdGFza1xyXG4vLy8gPC9zdW1tYXJ5PlxyXG5leHBvcnQgY2xhc3MgRGF0YXZpZXdIZWFkZXJzIHtcclxuICBwcml2YXRlIF9kYXRhdmlld0hlYWRlcnM6IEhhc2h0YWJsZTxudW1iZXIsIERhdGF2aWV3SGVhZGVyQmFzZT4gPSBudWxsO1xyXG4gIHByaXZhdGUgX3Rhc2s6IFRhc2sgPSBudWxsO1xyXG5cclxuICAvLyBpbml0aWFsaXplIHRoZSBsaW5rcyB0YWJsZSBvZiBhIGdpdmVuIHRhc2tcclxuICBjb25zdHJ1Y3Rvcih0YXNrOiBUYXNrKSB7XHJcbiAgICB0aGlzLl90YXNrID0gdGFzaztcclxuICAgIHRoaXMuX2RhdGF2aWV3SGVhZGVycyA9IG5ldyBIYXNodGFibGU8bnVtYmVyLCBEYXRhdmlld0hlYWRlckJhc2U+KCk7XHJcbiAgfVxyXG5cclxuICAvLy8gPHN1bW1hcnk+XHJcbiAgLy8vICAgdGhpcyBtZXRob2Qgd2lsbCBwYXJzZSB0aGUgeG1sIGRhdGEgcmVsYXRlIHRvIHRoZSBsaW5rcyB0YWJsZSBhbmQgd2lsbCBhbGxvY2F0ZSBhbmQgaW5pdGlsYWl6ZSBhbGwgcmVsYXRlZCBkYXRhXHJcbiAgLy8vIDwvc3VtbWFyeT5cclxuICBmaWxsRGF0YShwYXJzZXI6IFhtbFBhcnNlcik6IHZvaWQge1xyXG4gICAgd2hpbGUgKHRoaXMuaW5pdElubmVyT2JqZWN0cyhwYXJzZXIsIHBhcnNlci5nZXROZXh0VGFnKCkpKSB7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvLy8gPHN1bW1hcnk+XHJcbiAgLy8vICAgYWxsb2NhdGVzIGFuZCBpbml0aWFsaXplIGlubmVyIG9iamVjdCBhY2NvcmRpbmcgdG8gdGhlIGZvdW5kIHhtbCBkYXRhXHJcbiAgLy8vIDwvc3VtbWFyeT5cclxuICBwcml2YXRlIGluaXRJbm5lck9iamVjdHMocGFyc2VyOiBYbWxQYXJzZXIsIGZvdW5kVGFnTmFtZTogc3RyaW5nKTogYm9vbGVhbiB7XHJcbiAgICBpZiAoZm91bmRUYWdOYW1lID09PSBudWxsKVxyXG4gICAgICByZXR1cm4gZmFsc2U7XHJcblxyXG4gICAgaWYgKGZvdW5kVGFnTmFtZSA9PT0gQ29uc3RJbnRlcmZhY2UuTUdfVEFHX0xJTktTKSB7XHJcbiAgICAgIGxldCBlbmRDb250ZXh0OiBudW1iZXIgPSBwYXJzZXIuZ2V0WE1MZGF0YSgpLmluZGV4T2YoIENvbnN0SW50ZXJmYWNlLk1HX1RBR19MSU5LU19FTkQsIHBhcnNlci5nZXRDdXJySW5kZXgoKSkgKyBDb25zdEludGVyZmFjZS5NR19UQUdfTElOS1NfRU5ELmxlbmd0aCArIDE7XHJcbiAgICAgIGxldCB4bWw6IHN0cmluZyA9IHBhcnNlci5nZXRYTUxzdWJzdHJpbmcoZW5kQ29udGV4dCk7XHJcbiAgICAgIHhtbCA9IFhtbFBhcnNlci5lc2NhcGVVcmwoeG1sKTtcclxuXHJcbiAgICAgIC8vIEFjdGl2YXRlIHRoZSBzYXggcGFyc2VyXHJcbiAgICAgIG5ldyBEYXRhdmlld0hlYWRlcnNTYXhIYW5kbGVyKHRoaXMuX3Rhc2ssIHRoaXMuX2RhdGF2aWV3SGVhZGVycywgeG1sKTtcclxuXHJcbiAgICAgIC8vIHNraXAgdG8gYWZ0ZXIgdGhlIGxpbmtzXHJcbiAgICAgIHBhcnNlci5zZXRDdXJySW5kZXgoZW5kQ29udGV4dCArIFhNTENvbnN0YW50cy5UQUdfQ0xPU0UubGVuZ3RoKTtcclxuICAgIH1cclxuICAgIGVsc2VcclxuICAgICAgTG9nZ2VyLkluc3RhbmNlLldyaXRlRXhjZXB0aW9uVG9Mb2dXaXRoTXNnKFwiVGhlcmUgaXMgbm8gc3VjaCB0YWcgaW4gTGlua3NUYWJsZS5pbml0SW5uZXJPYmplY3RzKCk6IFwiICsgZm91bmRUYWdOYW1lKTtcclxuICB9XHJcblxyXG4gIC8vLyA8c3VtbWFyeT5cclxuICAvLy8gICBnZXRzIGEgbGlua3MgYnkgaXQgaWRcclxuICAvLy8gPC9zdW1tYXJ5PlxyXG4gIGdldERhdGF2aWV3SGVhZGVyQnlJZChsaW5rSWQ6IG51bWJlcik6IERhdGF2aWV3SGVhZGVyQmFzZSB7XHJcbiAgICByZXR1cm4gPERhdGF2aWV3SGVhZGVyQmFzZT50aGlzLl9kYXRhdmlld0hlYWRlcnMuZ2V0X0l0ZW0obGlua0lkKTtcclxuICB9XHJcblxyXG4gIC8vLyA8c3VtbWFyeT5cclxuICAvLy8gICBidWlsZHMgdGhlIGRiIHBvcyBzdHJpbmcgb2YgYWxsIGxpbmtzIGluIHRoZSB0YWJsZVxyXG4gIC8vLyAgIHRoZSBmb3JtYXQgaXMgQGxuazFfZGJQb3NAbG5rMl9kYlBvc0AuLi5cclxuICAvLy8gPC9zdW1tYXJ5PlxyXG4gIGJ1aWxkRGJQb3NTdHJpbmcoKTogc3RyaW5nIHtcclxuICAgIGlmICh0aGlzLl9kYXRhdmlld0hlYWRlcnMuQ291bnQgPT09IDApIHtcclxuICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICB9XHJcblxyXG4gICAgbGV0IGJ1ZjogU3RyaW5nQnVpbGRlciA9IG5ldyBTdHJpbmdCdWlsZGVyKCk7XHJcbiAgICBsZXQgZGF0YXZpZXdIZWFkZXJzOiBBcnJheV9FbnVtZXJhdG9yPERhdGF2aWV3SGVhZGVyQmFzZT4gPSB0aGlzLl9kYXRhdmlld0hlYWRlcnMuVmFsdWVzO1xyXG5cclxuICAgIHdoaWxlIChkYXRhdmlld0hlYWRlcnMuTW92ZU5leHQoKSkge1xyXG4gICAgICBsZXQgY3VycjogUmVtb3RlRGF0YXZpZXdIZWFkZXIgPSAoKGRhdGF2aWV3SGVhZGVycy5DdXJyZW50IGluc3RhbmNlb2YgUmVtb3RlRGF0YXZpZXdIZWFkZXIpID8gIDxSZW1vdGVEYXRhdmlld0hlYWRlcj5kYXRhdmlld0hlYWRlcnMuQ3VycmVudCA6IG51bGwpO1xyXG5cclxuICAgICAgaWYgKGN1cnIgIT09IG51bGwpIHtcclxuICAgICAgICBsZXQgY3VyckRiUG9zVmFsOiBzdHJpbmcgPSBjdXJyLmdldExhc3RGZXRjaGVkRGJQb3MoKTtcclxuICAgICAgICBidWYuQXBwZW5kKFwiQFwiKTtcclxuXHJcbiAgICAgICAgLy8gaWYgdGhlIGxhc3QgZmV0Y2ggZGIgcG9zIG9mIHRoZSBsaW5rIGlzIG51bGwgaXQgbWVhbnMgdGhhdCB3ZSBuZXZlciBmZXRjaGVkIGEgcmVjb3JkIGZyb20gdGhlIGxpbmtcclxuICAgICAgICBpZiAoY3VyckRiUG9zVmFsICE9PSBudWxsKSB7XHJcbiAgICAgICAgICBidWYuQXBwZW5kKGN1cnJEYlBvc1ZhbCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICBidWYuQXBwZW5kKFwiQFwiKTtcclxuICAgIHJldHVybiBidWYuVG9TdHJpbmcoKTtcclxuICB9XHJcblxyXG59XHJcbiJdfQ==
@@ -1,38 +1,38 @@
1
- import { Dictionary, isNullOrUndefined } from "@magic-xpa/mscorelib";
2
- import { JSON_Utils } from "@magic-xpa/utils";
3
- import { DataviewHeaderFactory } from "./DataviewHeaderFactory";
4
- import { ConstInterface } from "../ConstInterface";
5
- export class DataviewHeadersSaxHandler {
6
- constructor(task, dataviewHeaders, xmlData) {
7
- this._dataviewHeaders = null;
8
- this._task = null;
9
- this._dataviewHeadersFactory = null;
10
- this._dataviewHeaders = dataviewHeaders;
11
- this._task = task;
12
- this._dataviewHeadersFactory = new DataviewHeaderFactory();
13
- JSON_Utils.JSONFromXML(xmlData, this.FillFromJSON.bind(this));
14
- }
15
- FillFromJSON(error, result) {
16
- if (error != null) {
17
- throw error;
18
- }
19
- let links = result[ConstInterface.MG_TAG_LINKS][ConstInterface.MG_TAG_LINK];
20
- if (!isNullOrUndefined(links) && links.constructor === Array) {
21
- for (let i = 0; i < links.length; i++) {
22
- let link = links[i]['$'];
23
- if (!isNullOrUndefined(link[ConstInterface.MG_ATTR_TABLE_INDEX])) {
24
- let dataviewHeader = this._dataviewHeadersFactory.CreateDataviewHeaders(this._task);
25
- let attributes = new Dictionary();
26
- for (let key in link) {
27
- if (key !== ConstInterface.MG_ATTR_TABLE_INDEX) {
28
- attributes.Add(key, link[key]);
29
- }
30
- }
31
- dataviewHeader.SetAttributes(attributes);
32
- this._dataviewHeaders.set_Item(dataviewHeader.Id, dataviewHeader);
33
- }
34
- }
35
- }
36
- }
37
- }
38
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRGF0YXZpZXdIZWFkZXJzU2F4SGFuZGxlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VuZ2luZS9zcmMvcnQvRGF0YXZpZXdIZWFkZXJzU2F4SGFuZGxlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsVUFBVSxFQUFhLGlCQUFpQixFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFDOUUsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLGtCQUFrQixDQUFDO0FBQzVDLE9BQU8sRUFBQyxxQkFBcUIsRUFBQyxNQUFNLHlCQUF5QixDQUFDO0FBQzlELE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSxtQkFBbUIsQ0FBQztBQU9qRCxNQUFNLE9BQU8seUJBQXlCO0lBV3BDLFlBQVksSUFBVSxFQUFFLGVBQXNELEVBQUUsT0FBZTtRQVZ2RixxQkFBZ0IsR0FBMEMsSUFBSSxDQUFDO1FBQy9ELFVBQUssR0FBUyxJQUFJLENBQUM7UUFDbkIsNEJBQXVCLEdBQTBCLElBQUksQ0FBQztRQVM1RCxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsZUFBZSxDQUFDO1FBQ3hDLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDO1FBQ2xCLElBQUksQ0FBQyx1QkFBdUIsR0FBRyxJQUFJLHFCQUFxQixFQUFFLENBQUM7UUFFM0QsVUFBVSxDQUFDLFdBQVcsQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUNoRSxDQUFDO0lBRU8sWUFBWSxDQUFFLEtBQUssRUFBRSxNQUFNO1FBRWpDLElBQUksS0FBSyxJQUFJLElBQUksRUFBRTtZQUNqQixNQUFNLEtBQUssQ0FBQztTQUNiO1FBRUQsSUFBSSxLQUFLLEdBQUcsTUFBTSxDQUFDLGNBQWMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxjQUFjLENBQUMsV0FBVyxDQUFDLENBQUM7UUFFNUUsSUFBSSxDQUFDLGlCQUFpQixDQUFDLEtBQUssQ0FBQyxJQUFJLEtBQUssQ0FBQyxXQUFXLEtBQUssS0FBSyxFQUFFO1lBQzVELEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxLQUFLLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFO2dCQUNyQyxJQUFJLElBQUksR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUM7Z0JBRXpCLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLG1CQUFtQixDQUFDLENBQUMsRUFBRTtvQkFDaEUsSUFBSSxjQUFjLEdBQXVCLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxxQkFBcUIsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7b0JBRXhHLElBQUksVUFBVSxHQUF1QixJQUFJLFVBQVUsRUFBRSxDQUFDO29CQUV0RCxLQUFLLElBQUksR0FBRyxJQUFJLElBQUksRUFBRTt3QkFDcEIsSUFBSSxHQUFHLEtBQUssY0FBYyxDQUFDLG1CQUFtQixFQUFFOzRCQUM5QyxVQUFVLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQzt5QkFDaEM7cUJBQ0Y7b0JBRUQsY0FBYyxDQUFDLGFBQWEsQ0FBQyxVQUFVLENBQUMsQ0FBQztvQkFDekMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFFBQVEsQ0FBQyxjQUFjLENBQUMsRUFBRSxFQUFFLGNBQWMsQ0FBQyxDQUFDO2lCQUNuRTthQUNGO1NBQ0Y7SUFDSCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0RpY3Rpb25hcnksIEhhc2h0YWJsZSwgaXNOdWxsT3JVbmRlZmluZWR9IGZyb20gXCJAbWFnaWMteHBhL21zY29yZWxpYlwiO1xyXG5pbXBvcnQge0pTT05fVXRpbHN9IGZyb20gXCJAbWFnaWMteHBhL3V0aWxzXCI7XHJcbmltcG9ydCB7RGF0YXZpZXdIZWFkZXJGYWN0b3J5fSBmcm9tIFwiLi9EYXRhdmlld0hlYWRlckZhY3RvcnlcIjtcclxuaW1wb3J0IHtDb25zdEludGVyZmFjZX0gZnJvbSBcIi4uL0NvbnN0SW50ZXJmYWNlXCI7XHJcbmltcG9ydCB7RGF0YXZpZXdIZWFkZXJCYXNlfSBmcm9tIFwiLi9EYXRhdmlld0hlYWRlckJhc2VcIjtcclxuaW1wb3J0IHtUYXNrfSBmcm9tIFwiLi4vdGFza3MvVGFza1wiO1xyXG5cclxuLy8vIDxzdW1tYXJ5PlxyXG4vLy8gc2F4IHBhcnNlciBmb3IgcGFyc2luZyBsaW5rIGNvbGxlY3Rpb25cclxuLy8vIDwvc3VtbWFyeT5cclxuZXhwb3J0IGNsYXNzIERhdGF2aWV3SGVhZGVyc1NheEhhbmRsZXIge1xyXG4gIHByaXZhdGUgX2RhdGF2aWV3SGVhZGVyczogSGFzaHRhYmxlPG51bWJlciwgRGF0YXZpZXdIZWFkZXJCYXNlPiA9IG51bGw7XHJcbiAgcHJpdmF0ZSBfdGFzazogVGFzayA9IG51bGw7XHJcbiAgcHJpdmF0ZSBfZGF0YXZpZXdIZWFkZXJzRmFjdG9yeTogRGF0YXZpZXdIZWFkZXJGYWN0b3J5ID0gbnVsbDtcclxuXHJcbiAgLy8vIDxzdW1tYXJ5PlxyXG4gIC8vLyBDVE9SIC0gY3JlYXRlIGFuZCBhY3RpdmF0ZSB0aGUgcGFyc2luZyBwcm9jZXNzXHJcbiAgLy8vIDwvc3VtbWFyeT5cclxuICAvLy8gPHBhcmFtIG5hbWU9XCJ0YXNrXCI+PC9wYXJhbT5cclxuICAvLy8gPHBhcmFtIG5hbWU9XCJkYXRhdmlld0hlYWRlcnNcIj48L3BhcmFtPlxyXG4gIC8vLyA8cGFyYW0gbmFtZT1cInhtbERhdGFcIj48L3BhcmFtPlxyXG4gIGNvbnN0cnVjdG9yKHRhc2s6IFRhc2ssIGRhdGF2aWV3SGVhZGVyczogSGFzaHRhYmxlPG51bWJlciwgRGF0YXZpZXdIZWFkZXJCYXNlPiwgeG1sRGF0YTogc3RyaW5nKSB7XHJcbiAgICB0aGlzLl9kYXRhdmlld0hlYWRlcnMgPSBkYXRhdmlld0hlYWRlcnM7XHJcbiAgICB0aGlzLl90YXNrID0gdGFzaztcclxuICAgIHRoaXMuX2RhdGF2aWV3SGVhZGVyc0ZhY3RvcnkgPSBuZXcgRGF0YXZpZXdIZWFkZXJGYWN0b3J5KCk7XHJcblxyXG4gICAgSlNPTl9VdGlscy5KU09ORnJvbVhNTCh4bWxEYXRhLCB0aGlzLkZpbGxGcm9tSlNPTi5iaW5kKHRoaXMpKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgRmlsbEZyb21KU09OIChlcnJvciwgcmVzdWx0KTogdm9pZCB7XHJcbiAgICAvLyBJZiB0aGVyZSB3YXMgYW4gZXJyb3IgaW4gcGFyc2luZyB0aGUgWE1MLlxyXG4gICAgaWYgKGVycm9yICE9IG51bGwpIHtcclxuICAgICAgdGhyb3cgZXJyb3I7XHJcbiAgICB9XHJcblxyXG4gICAgbGV0IGxpbmtzID0gcmVzdWx0W0NvbnN0SW50ZXJmYWNlLk1HX1RBR19MSU5LU11bQ29uc3RJbnRlcmZhY2UuTUdfVEFHX0xJTktdO1xyXG5cclxuICAgIGlmICghaXNOdWxsT3JVbmRlZmluZWQobGlua3MpICYmIGxpbmtzLmNvbnN0cnVjdG9yID09PSBBcnJheSkge1xyXG4gICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGxpbmtzLmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgICAgbGV0IGxpbmsgPSBsaW5rc1tpXVsnJCddO1xyXG5cclxuICAgICAgICBpZiAoIWlzTnVsbE9yVW5kZWZpbmVkKGxpbmtbQ29uc3RJbnRlcmZhY2UuTUdfQVRUUl9UQUJMRV9JTkRFWF0pKSB7XHJcbiAgICAgICAgICBsZXQgZGF0YXZpZXdIZWFkZXI6IERhdGF2aWV3SGVhZGVyQmFzZSA9IHRoaXMuX2RhdGF2aWV3SGVhZGVyc0ZhY3RvcnkuQ3JlYXRlRGF0YXZpZXdIZWFkZXJzKHRoaXMuX3Rhc2spO1xyXG5cclxuICAgICAgICAgIGxldCBhdHRyaWJ1dGVzOiBEaWN0aW9uYXJ5PHN0cmluZz4gPSBuZXcgRGljdGlvbmFyeSgpO1xyXG5cclxuICAgICAgICAgIGZvciAobGV0IGtleSBpbiBsaW5rKSB7XHJcbiAgICAgICAgICAgIGlmIChrZXkgIT09IENvbnN0SW50ZXJmYWNlLk1HX0FUVFJfVEFCTEVfSU5ERVgpIHtcclxuICAgICAgICAgICAgICBhdHRyaWJ1dGVzLkFkZChrZXksIGxpbmtba2V5XSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICBkYXRhdmlld0hlYWRlci5TZXRBdHRyaWJ1dGVzKGF0dHJpYnV0ZXMpO1xyXG4gICAgICAgICAgdGhpcy5fZGF0YXZpZXdIZWFkZXJzLnNldF9JdGVtKGRhdGF2aWV3SGVhZGVyLklkLCBkYXRhdmlld0hlYWRlcik7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiJdfQ==
1
+ import { Dictionary, isNullOrUndefined } from "@magic-xpa/mscorelib";
2
+ import { JSON_Utils } from "@magic-xpa/utils";
3
+ import { DataviewHeaderFactory } from "./DataviewHeaderFactory";
4
+ import { ConstInterface } from "../ConstInterface";
5
+ export class DataviewHeadersSaxHandler {
6
+ _dataviewHeaders = null;
7
+ _task = null;
8
+ _dataviewHeadersFactory = null;
9
+ constructor(task, dataviewHeaders, xmlData) {
10
+ this._dataviewHeaders = dataviewHeaders;
11
+ this._task = task;
12
+ this._dataviewHeadersFactory = new DataviewHeaderFactory();
13
+ JSON_Utils.JSONFromXML(xmlData, this.FillFromJSON.bind(this));
14
+ }
15
+ FillFromJSON(error, result) {
16
+ if (error != null) {
17
+ throw error;
18
+ }
19
+ let links = result[ConstInterface.MG_TAG_LINKS][ConstInterface.MG_TAG_LINK];
20
+ if (!isNullOrUndefined(links) && links.constructor === Array) {
21
+ for (let i = 0; i < links.length; i++) {
22
+ let link = links[i]['$'];
23
+ if (!isNullOrUndefined(link[ConstInterface.MG_ATTR_TABLE_INDEX])) {
24
+ let dataviewHeader = this._dataviewHeadersFactory.CreateDataviewHeaders(this._task);
25
+ let attributes = new Dictionary();
26
+ for (let key in link) {
27
+ if (key !== ConstInterface.MG_ATTR_TABLE_INDEX) {
28
+ attributes.Add(key, link[key]);
29
+ }
30
+ }
31
+ dataviewHeader.SetAttributes(attributes);
32
+ this._dataviewHeaders.set_Item(dataviewHeader.Id, dataviewHeader);
33
+ }
34
+ }
35
+ }
36
+ }
37
+ }
38
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRGF0YXZpZXdIZWFkZXJzU2F4SGFuZGxlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VuZ2luZS9zcmMvcnQvRGF0YXZpZXdIZWFkZXJzU2F4SGFuZGxlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsVUFBVSxFQUFhLGlCQUFpQixFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFDOUUsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLGtCQUFrQixDQUFDO0FBQzVDLE9BQU8sRUFBQyxxQkFBcUIsRUFBQyxNQUFNLHlCQUF5QixDQUFDO0FBQzlELE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSxtQkFBbUIsQ0FBQztBQU9qRCxNQUFNLE9BQU8seUJBQXlCO0lBQzVCLGdCQUFnQixHQUEwQyxJQUFJLENBQUM7SUFDL0QsS0FBSyxHQUFTLElBQUksQ0FBQztJQUNuQix1QkFBdUIsR0FBMEIsSUFBSSxDQUFDO0lBUTlELFlBQVksSUFBVSxFQUFFLGVBQXNELEVBQUUsT0FBZTtRQUM3RixJQUFJLENBQUMsZ0JBQWdCLEdBQUcsZUFBZSxDQUFDO1FBQ3hDLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDO1FBQ2xCLElBQUksQ0FBQyx1QkFBdUIsR0FBRyxJQUFJLHFCQUFxQixFQUFFLENBQUM7UUFFM0QsVUFBVSxDQUFDLFdBQVcsQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUNoRSxDQUFDO0lBRU8sWUFBWSxDQUFFLEtBQUssRUFBRSxNQUFNO1FBRWpDLElBQUksS0FBSyxJQUFJLElBQUksRUFBRTtZQUNqQixNQUFNLEtBQUssQ0FBQztTQUNiO1FBRUQsSUFBSSxLQUFLLEdBQUcsTUFBTSxDQUFDLGNBQWMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxjQUFjLENBQUMsV0FBVyxDQUFDLENBQUM7UUFFNUUsSUFBSSxDQUFDLGlCQUFpQixDQUFDLEtBQUssQ0FBQyxJQUFJLEtBQUssQ0FBQyxXQUFXLEtBQUssS0FBSyxFQUFFO1lBQzVELEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxLQUFLLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFO2dCQUNyQyxJQUFJLElBQUksR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUM7Z0JBRXpCLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLG1CQUFtQixDQUFDLENBQUMsRUFBRTtvQkFDaEUsSUFBSSxjQUFjLEdBQXVCLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxxQkFBcUIsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7b0JBRXhHLElBQUksVUFBVSxHQUF1QixJQUFJLFVBQVUsRUFBRSxDQUFDO29CQUV0RCxLQUFLLElBQUksR0FBRyxJQUFJLElBQUksRUFBRTt3QkFDcEIsSUFBSSxHQUFHLEtBQUssY0FBYyxDQUFDLG1CQUFtQixFQUFFOzRCQUM5QyxVQUFVLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQzt5QkFDaEM7cUJBQ0Y7b0JBRUQsY0FBYyxDQUFDLGFBQWEsQ0FBQyxVQUFVLENBQUMsQ0FBQztvQkFDekMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFFBQVEsQ0FBQyxjQUFjLENBQUMsRUFBRSxFQUFFLGNBQWMsQ0FBQyxDQUFDO2lCQUNuRTthQUNGO1NBQ0Y7SUFDSCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0RpY3Rpb25hcnksIEhhc2h0YWJsZSwgaXNOdWxsT3JVbmRlZmluZWR9IGZyb20gXCJAbWFnaWMteHBhL21zY29yZWxpYlwiO1xyXG5pbXBvcnQge0pTT05fVXRpbHN9IGZyb20gXCJAbWFnaWMteHBhL3V0aWxzXCI7XHJcbmltcG9ydCB7RGF0YXZpZXdIZWFkZXJGYWN0b3J5fSBmcm9tIFwiLi9EYXRhdmlld0hlYWRlckZhY3RvcnlcIjtcclxuaW1wb3J0IHtDb25zdEludGVyZmFjZX0gZnJvbSBcIi4uL0NvbnN0SW50ZXJmYWNlXCI7XHJcbmltcG9ydCB7RGF0YXZpZXdIZWFkZXJCYXNlfSBmcm9tIFwiLi9EYXRhdmlld0hlYWRlckJhc2VcIjtcclxuaW1wb3J0IHtUYXNrfSBmcm9tIFwiLi4vdGFza3MvVGFza1wiO1xyXG5cclxuLy8vIDxzdW1tYXJ5PlxyXG4vLy8gc2F4IHBhcnNlciBmb3IgcGFyc2luZyBsaW5rIGNvbGxlY3Rpb25cclxuLy8vIDwvc3VtbWFyeT5cclxuZXhwb3J0IGNsYXNzIERhdGF2aWV3SGVhZGVyc1NheEhhbmRsZXIge1xyXG4gIHByaXZhdGUgX2RhdGF2aWV3SGVhZGVyczogSGFzaHRhYmxlPG51bWJlciwgRGF0YXZpZXdIZWFkZXJCYXNlPiA9IG51bGw7XHJcbiAgcHJpdmF0ZSBfdGFzazogVGFzayA9IG51bGw7XHJcbiAgcHJpdmF0ZSBfZGF0YXZpZXdIZWFkZXJzRmFjdG9yeTogRGF0YXZpZXdIZWFkZXJGYWN0b3J5ID0gbnVsbDtcclxuXHJcbiAgLy8vIDxzdW1tYXJ5PlxyXG4gIC8vLyBDVE9SIC0gY3JlYXRlIGFuZCBhY3RpdmF0ZSB0aGUgcGFyc2luZyBwcm9jZXNzXHJcbiAgLy8vIDwvc3VtbWFyeT5cclxuICAvLy8gPHBhcmFtIG5hbWU9XCJ0YXNrXCI+PC9wYXJhbT5cclxuICAvLy8gPHBhcmFtIG5hbWU9XCJkYXRhdmlld0hlYWRlcnNcIj48L3BhcmFtPlxyXG4gIC8vLyA8cGFyYW0gbmFtZT1cInhtbERhdGFcIj48L3BhcmFtPlxyXG4gIGNvbnN0cnVjdG9yKHRhc2s6IFRhc2ssIGRhdGF2aWV3SGVhZGVyczogSGFzaHRhYmxlPG51bWJlciwgRGF0YXZpZXdIZWFkZXJCYXNlPiwgeG1sRGF0YTogc3RyaW5nKSB7XHJcbiAgICB0aGlzLl9kYXRhdmlld0hlYWRlcnMgPSBkYXRhdmlld0hlYWRlcnM7XHJcbiAgICB0aGlzLl90YXNrID0gdGFzaztcclxuICAgIHRoaXMuX2RhdGF2aWV3SGVhZGVyc0ZhY3RvcnkgPSBuZXcgRGF0YXZpZXdIZWFkZXJGYWN0b3J5KCk7XHJcblxyXG4gICAgSlNPTl9VdGlscy5KU09ORnJvbVhNTCh4bWxEYXRhLCB0aGlzLkZpbGxGcm9tSlNPTi5iaW5kKHRoaXMpKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgRmlsbEZyb21KU09OIChlcnJvciwgcmVzdWx0KTogdm9pZCB7XHJcbiAgICAvLyBJZiB0aGVyZSB3YXMgYW4gZXJyb3IgaW4gcGFyc2luZyB0aGUgWE1MLlxyXG4gICAgaWYgKGVycm9yICE9IG51bGwpIHtcclxuICAgICAgdGhyb3cgZXJyb3I7XHJcbiAgICB9XHJcblxyXG4gICAgbGV0IGxpbmtzID0gcmVzdWx0W0NvbnN0SW50ZXJmYWNlLk1HX1RBR19MSU5LU11bQ29uc3RJbnRlcmZhY2UuTUdfVEFHX0xJTktdO1xyXG5cclxuICAgIGlmICghaXNOdWxsT3JVbmRlZmluZWQobGlua3MpICYmIGxpbmtzLmNvbnN0cnVjdG9yID09PSBBcnJheSkge1xyXG4gICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGxpbmtzLmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgICAgbGV0IGxpbmsgPSBsaW5rc1tpXVsnJCddO1xyXG5cclxuICAgICAgICBpZiAoIWlzTnVsbE9yVW5kZWZpbmVkKGxpbmtbQ29uc3RJbnRlcmZhY2UuTUdfQVRUUl9UQUJMRV9JTkRFWF0pKSB7XHJcbiAgICAgICAgICBsZXQgZGF0YXZpZXdIZWFkZXI6IERhdGF2aWV3SGVhZGVyQmFzZSA9IHRoaXMuX2RhdGF2aWV3SGVhZGVyc0ZhY3RvcnkuQ3JlYXRlRGF0YXZpZXdIZWFkZXJzKHRoaXMuX3Rhc2spO1xyXG5cclxuICAgICAgICAgIGxldCBhdHRyaWJ1dGVzOiBEaWN0aW9uYXJ5PHN0cmluZz4gPSBuZXcgRGljdGlvbmFyeSgpO1xyXG5cclxuICAgICAgICAgIGZvciAobGV0IGtleSBpbiBsaW5rKSB7XHJcbiAgICAgICAgICAgIGlmIChrZXkgIT09IENvbnN0SW50ZXJmYWNlLk1HX0FUVFJfVEFCTEVfSU5ERVgpIHtcclxuICAgICAgICAgICAgICBhdHRyaWJ1dGVzLkFkZChrZXksIGxpbmtba2V5XSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICBkYXRhdmlld0hlYWRlci5TZXRBdHRyaWJ1dGVzKGF0dHJpYnV0ZXMpO1xyXG4gICAgICAgICAgdGhpcy5fZGF0YXZpZXdIZWFkZXJzLnNldF9JdGVtKGRhdGF2aWV3SGVhZGVyLklkLCBkYXRhdmlld0hlYWRlcik7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -1,94 +1,94 @@
1
- import { NNumber, Stack, StringBuilder } from "@magic-xpa/mscorelib";
2
- import { ExecutionStackEntry } from "./ExecutionStackEntry";
3
- import { ConstInterface } from "../ConstInterface";
4
- import { XMLConstants } from "@magic-xpa/utils";
5
- export class ExecutionStack {
6
- constructor(inExecStack) {
7
- this._execStack = null;
8
- if (arguments.length === 0) {
9
- this.constructor_0();
10
- return;
11
- }
12
- this.constructor_1(inExecStack);
13
- }
14
- constructor_0() {
15
- this._execStack = new Stack();
16
- }
17
- constructor_1(inExecStack) {
18
- this._execStack = inExecStack.getStack().Clone();
19
- }
20
- getStack() {
21
- return this._execStack;
22
- }
23
- push(execEntryOrTaskId, handlerId, operIdx) {
24
- if (arguments.length === 1)
25
- this.push_0(execEntryOrTaskId);
26
- else
27
- this.push_1(execEntryOrTaskId, handlerId, operIdx);
28
- }
29
- push_0(execEntry) {
30
- this._execStack.push(execEntry);
31
- }
32
- push_1(taskId, handlerId, operIdx) {
33
- let execEntry = new ExecutionStackEntry(taskId, handlerId, operIdx);
34
- this._execStack.push(execEntry);
35
- }
36
- pop() {
37
- return this._execStack.pop();
38
- }
39
- empty() {
40
- return this._execStack.count() === 0;
41
- }
42
- clear() {
43
- this._execStack.Clear();
44
- }
45
- size() {
46
- return this._execStack.count();
47
- }
48
- Equals(execStackCmp) {
49
- let tmpExecStack = new ExecutionStack(this);
50
- let tmpExecStackCmp = new ExecutionStack(execStackCmp);
51
- let equalStacks = false;
52
- if (tmpExecStack.size() === tmpExecStackCmp.size()) {
53
- equalStacks = true;
54
- while (!tmpExecStack.empty() && equalStacks) {
55
- if (!tmpExecStack.pop().Equals(tmpExecStackCmp.pop()))
56
- equalStacks = false;
57
- }
58
- }
59
- return equalStacks;
60
- }
61
- pushUpSideDown(inExecStack) {
62
- let tmpStack = new ExecutionStack(inExecStack);
63
- while (!tmpStack.empty()) {
64
- let tmpStackEntry = tmpStack.pop();
65
- this._execStack.push(tmpStackEntry);
66
- }
67
- }
68
- reverse() {
69
- let tmpExecStack = new ExecutionStack(this);
70
- this.clear();
71
- while (!tmpExecStack.empty()) {
72
- let tmpExecStackEntry = tmpExecStack.pop();
73
- this.push(tmpExecStackEntry);
74
- }
75
- }
76
- buildXML(message) {
77
- let forMessage = new StringBuilder();
78
- while (this._execStack.count() !== 0) {
79
- let ExecEntry = this._execStack.pop();
80
- let taskTag = NNumber.Parse(ExecEntry.TaskId);
81
- if (taskTag > ConstInterface.INITIAL_OFFLINE_TASK_TAG) {
82
- forMessage.Remove(0, forMessage.Length);
83
- continue;
84
- }
85
- forMessage.Append("\n " + XMLConstants.TAG_OPEN + ConstInterface.MG_TAG_EXEC_STACK_ENTRY);
86
- forMessage.Append(" " + XMLConstants.MG_ATTR_TASKID + "=\"" + ExecEntry.TaskId + "\"");
87
- forMessage.Append(" " + ConstInterface.MG_ATTR_HANDLERID + "=\"" + ExecEntry.HandlerId + "\"");
88
- forMessage.Append(" " + ConstInterface.MG_ATTR_OPER_IDX + "=\"" + ExecEntry.OperIdx + "\"");
89
- forMessage.Append(" " + XMLConstants.TAG_TERM);
90
- }
91
- message.Append(forMessage.ToString());
92
- }
93
- }
94
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRXhlY3V0aW9uU3RhY2suanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lbmdpbmUvc3JjL3J0L0V4ZWN1dGlvblN0YWNrLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxPQUFPLEVBQUUsS0FBSyxFQUFFLGFBQWEsRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBQ25FLE9BQU8sRUFBQyxtQkFBbUIsRUFBQyxNQUFNLHVCQUF1QixDQUFDO0FBQzFELE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSxtQkFBbUIsQ0FBQztBQUNqRCxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0sa0JBQWtCLENBQUM7QUFLOUMsTUFBTSxPQUFPLGNBQWM7SUFLekIsWUFBWSxXQUE0QjtRQUpoQyxlQUFVLEdBQStCLElBQUksQ0FBQztRQUtwRCxJQUFJLFNBQVMsQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFO1lBQzFCLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztZQUNyQixPQUFPO1NBQ1I7UUFDRCxJQUFJLENBQUMsYUFBYSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ2xDLENBQUM7SUFHTyxhQUFhO1FBQ25CLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxLQUFLLEVBQUUsQ0FBQztJQUNoQyxDQUFDO0lBSU8sYUFBYSxDQUFDLFdBQTJCO1FBQy9DLElBQUksQ0FBQyxVQUFVLEdBQUcsV0FBVyxDQUFDLFFBQVEsRUFBRSxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQ25ELENBQUM7SUFJRCxRQUFRO1FBQ04sT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDO0lBQ3pCLENBQUM7SUFJRCxJQUFJLENBQUMsaUJBQXNCLEVBQUUsU0FBa0IsRUFBRSxPQUFnQjtRQUMvRCxJQUFJLFNBQVMsQ0FBQyxNQUFNLEtBQUssQ0FBQztZQUN4QixJQUFJLENBQUMsTUFBTSxDQUFDLGlCQUFpQixDQUFDLENBQUM7O1lBRS9CLElBQUks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QUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsVUFBVSxDQUFDLE1BQU0sQ0FBQyxDQUFDO2dCQUN4QyxTQUFTO2FBQ1Y7WUFDRCxVQUFVLENBQUMsTUFBTSxDQUFDLEtBQUssR0FBRyxZQUFZLENBQUMsUUFBUSxHQUFHLGNBQWMsQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDO1lBQzFGLFVBQVUsQ0FBQyxNQUFNLENBQUMsR0FBRyxHQUFHLFlBQVksQ0FBQyxjQUFjLEdBQUcsS0FBSyxHQUFHLFNBQVMsQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLENBQUM7WUFDdkYsVUFBVSxDQUFDLE1BQU0sQ0FBQyxHQUFHLEdBQUcsY0FBYyxDQUFDLGlCQUFpQixHQUFHLEtBQUssR0FBRyxTQUFTLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxDQUFDO1lBQy9GLFVBQVUsQ0FBQyxNQUFNLENBQUMsR0FBRyxHQUFHLGNBQWMsQ0FBQyxnQkFBZ0IsR0FBRyxLQUFLLEdBQUcsU0FBUyxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsQ0FBQztZQUM1RixVQUFVLENBQUMsTUFBTSxDQUFDLEdBQUcsR0FBRyxZQUFZLENBQUMsUUFBUSxDQUFDLENBQUM7U0FDaEQ7UUFDRCxPQUFPLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO0lBQ3hDLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Tk51bWJlciwgU3RhY2ssIFN0cmluZ0J1aWxkZXJ9IGZyb20gXCJAbWFnaWMteHBhL21zY29yZWxpYlwiO1xyXG5pbXBvcnQge0V4ZWN1dGlvblN0YWNrRW50cnl9IGZyb20gXCIuL0V4ZWN1dGlvblN0YWNrRW50cnlcIjtcclxuaW1wb3J0IHtDb25zdEludGVyZmFjZX0gZnJvbSBcIi4uL0NvbnN0SW50ZXJmYWNlXCI7XHJcbmltcG9ydCB7WE1MQ29uc3RhbnRzfSBmcm9tIFwiQG1hZ2ljLXhwYS91dGlsc1wiO1xyXG5cclxuLy8vIDxzdW1tYXJ5PiB0aGlzIGNsYXNzIHJlcHJlc2VudHMgYW4gZXhlY3V0aW9uIHN0YWNrIG9mIGFsbCBvcGVyYXRpb25zIHRoYXQgY2FuIGJlIGludGVydXB0ZWQgYnkgZ29pbmcgdG8gdGhlIHNlcnZlclxyXG4vLy8gdG8gY29udGludWUgZXhlY3V0aW9uIChyYWlzZSBldmVudCBvciBhbnkgY2FsbCB0byB1c2VyIGRlZmluZWQgZnVuY3Rpb24pXHJcbi8vLyA8L3N1bW1hcnk+XHJcbmV4cG9ydCBjbGFzcyBFeGVjdXRpb25TdGFjayB7XHJcbiAgcHJpdmF0ZSBfZXhlY1N0YWNrOiBTdGFjazxFeGVjdXRpb25TdGFja0VudHJ5PiA9IG51bGw7XHJcblxyXG4gIGNvbnN0cnVjdG9yKCk7XHJcbiAgY29uc3RydWN0b3IoaW5FeGVjU3RhY2s6IEV4ZWN1dGlvblN0YWNrKTtcclxuICBjb25zdHJ1Y3RvcihpbkV4ZWNTdGFjaz86IEV4ZWN1dGlvblN0YWNrKSB7XHJcbiAgICBpZiAoYXJndW1lbnRzLmxlbmd0aCA9PT0gMCkge1xyXG4gICAgICB0aGlzLmNvbnN0cnVjdG9yXzAoKTtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgdGhpcy5jb25zdHJ1Y3Rvcl8xKGluRXhlY1N0YWNrKTtcclxuICB9XHJcblxyXG4gIC8vLyA8c3VtbWFyeT4gZGVmYXVsdCBjb25zdHJ1Y3Rvcjwvc3VtbWFyeT5cclxuICBwcml2YXRlIGNvbnN0cnVjdG9yXzAoKTogdm9pZCB7XHJcbiAgICB0aGlzLl9leGVjU3RhY2sgPSBuZXcgU3RhY2soKTtcclxuICB9XHJcblxyXG4gIC8vLyA8c3VtbWFyeT4gY29uc3RydWN0b3Igd2hpY2ggY29waWVzIHRoZSBwYXJhbWV0ZXIgZXhlY3V0aW9uIHN0YWNrPC9zdW1tYXJ5PlxyXG4gIC8vLyA8cGFyYW0gbmFtZT1cImluRXhlY1N0YWNrXCI+LSB0aGUgZXhlY3V0aW9uIHN0YWNrIHRvIGNvcHkgPC9wYXJhbT5cclxuICBwcml2YXRlIGNvbnN0cnVjdG9yXzEoaW5FeGVjU3RhY2s6IEV4ZWN1dGlvblN0YWNrKTogdm9pZCB7XHJcbiAgICB0aGlzLl9leGVjU3RhY2sgPSBpbkV4ZWNTdGFjay5nZXRTdGFjaygpLkNsb25lKCk7XHJcbiAgfVxyXG5cclxuICAvLy8gPHN1bW1hcnk+IGdldHRlciBmb3IgdGhlIGV4ZWN1dGlvbiBzdGFjayBpdHNlbGY8L3N1bW1hcnk+XHJcbiAgLy8vIDxyZXR1cm5zPiB0aGUgc3RhY2sgPC9yZXR1cm5zPlxyXG4gIGdldFN0YWNrKCk6IFN0YWNrPEV4ZWN1dGlvblN0YWNrRW50cnk+IHtcclxuICAgIHJldHVybiB0aGlzLl9leGVjU3RhY2s7XHJcbiAgfVxyXG5cclxuICBwdXNoKGV4ZWNFbnRyeTogRXhlY3V0aW9uU3RhY2tFbnRyeSk6IHZvaWQ7XHJcbiAgcHVzaCh0YXNrSWQ6IHN0cmluZywgaGFuZGxlcklkOiBzdHJpbmcsIG9wZXJJZHg6IG51bWJlcik6IHZvaWQ7XHJcbiAgcHVzaChleGVjRW50cnlPclRhc2tJZDogYW55LCBoYW5kbGVySWQ/OiBzdHJpbmcsIG9wZXJJZHg/OiBudW1iZXIpOiB2b2lkIHtcclxuICAgIGlmIChhcmd1bWVudHMubGVuZ3RoID09PSAxKVxyXG4gICAgICB0aGlzLnB1c2hfMChleGVjRW50cnlPclRhc2tJZCk7XHJcbiAgICBlbHNlXHJcbiAgICAgIHRoaXMucHVzaF8xKGV4ZWNFbnRyeU9yVGFza0lkLCBoYW5kbGVySWQsIG9wZXJJZHgpO1xyXG4gIH1cclxuXHJcbiAgLy8vIDxzdW1tYXJ5PiBwdXNoZXMgb25lIGVudHJ5IGludG8gdGhlIHN0YWNrPC9zdW1tYXJ5PlxyXG4gIC8vLyA8cGFyYW0gbmFtZT1cImV4ZWNFbnRyeVwiPi0gdG8gYmUgcHVzaGVkIDwvcGFyYW0+XHJcbiAgcHJpdmF0ZSBwdXNoXzAoZXhlY0VudHJ5OiBFeGVjdXRpb25TdGFja0VudHJ5KTogdm9pZCB7XHJcbiAgICB0aGlzLl9leGVjU3RhY2sucHVzaChleGVjRW50cnkpO1xyXG4gIH1cclxuXHJcbiAgLy8vIDxzdW1tYXJ5PiBwdXNoZXMgYW4gZW50cnkgdG8gdGhlIGV4ZWN1dGlvbiBzdGFjayBjb25zdHJ1Y3RlZCBieSBpdHMgMyBlbGVtZW50cyB3aGljaCBhcmUgcmVjaWV2ZWQgYXMgcGFyYW1ldGVyczwvc3VtbWFyeT5cclxuICAvLy8gPHBhcmFtIG5hbWU9XCJ0YXNrSWRcIj4gPC9wYXJhbT5cclxuICAvLy8gPHBhcmFtIG5hbWU9XCJoYW5kbGVySWRcIj4gPC9wYXJhbT5cclxuICAvLy8gPHBhcmFtIG5hbWU9XCJvcGVySWR4XCI+IDwvcGFyYW0+XHJcbiAgcHJpdmF0ZSBwdXNoXzEodGFza0lkOiBzdHJpbmcsIGhhbmRsZXJJZDogc3RyaW5nLCBvcGVySWR4OiBudW1iZXIpOiB2b2lkIHtcclxuICAgIGxldCBleGVjRW50cnk6IEV4ZWN1dGlvblN0YWNrRW50cnkgPSBuZXcgRXhlY3V0aW9uU3RhY2tFbnRyeSh0YXNrSWQsIGhhbmRsZXJJZCwgb3BlcklkeCk7XHJcbiAgICB0aGlzLl9leGVjU3RhY2sucHVzaChleGVjRW50cnkpO1xyXG4gIH1cclxuXHJcbiAgLy8vIDxzdW1tYXJ5PiBwb3BzIGFuIGVudHJ5IGZyb20gdGhlIGV4ZWN1dGlvbiBzdGFjazwvc3VtbWFyeT5cclxuICAvLy8gPHJldHVybnM+IHRoZSBwb3BwZWQgZW50cnlcclxuICAvLy8gPC9yZXR1cm5zPlxyXG4gIHBvcCgpOiBFeGVjdXRpb25TdGFja0VudHJ5IHtcclxuICAgIHJldHVybiA8RXhlY3V0aW9uU3RhY2tFbnRyeT50aGlzLl9leGVjU3RhY2sucG9wKCk7XHJcbiAgfVxyXG5cclxuICAvLy8gPHN1bW1hcnk+IGNoZWNrIGlmIHRoZSBleGVjdXRpb24gc3RhY2sgaXMgZW1wdHkgPC9zdW1tYXJ5PlxyXG4gIC8vLyA8cmV0dXJucz4gYW4gaW5kaWNhdGlvbiBpZiBpdCdzIGVtcHR5IG9yIG5vdFxyXG4gIC8vLyA8L3JldHVybnM+XHJcbiAgZW1wdHkoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5fZXhlY1N0YWNrLmNvdW50KCkgPT09IDA7XHJcbiAgfVxyXG5cclxuICAvLy8gPHN1bW1hcnk+IGNsZWFycyB0aGUgZXhlY3V0aW9uIHN0YWNrPC9zdW1tYXJ5PlxyXG4gIGNsZWFyKCk6IHZvaWQge1xyXG4gICAgdGhpcy5fZXhlY1N0YWNrLkNsZWFyKCk7XHJcbiAgfVxyXG5cclxuICAvLy8gPHJldHVybnM+IHRoZSBzaXplIG9mIHRoZSBleGVjdXRpb24gc3RhY2tcclxuICAvLy8gPC9yZXR1cm5zPlxyXG4gIHNpemUoKTogbnVtYmVyIHtcclxuICAgIHJldHVybiB0aGlzLl9leGVjU3RhY2suY291bnQoKTtcclxuICB9XHJcblxyXG4gIC8vLyA8c3VtbWFyeT4gY2hlY2tzIGlmIHR3byBleGVjdXRpb24gc3RhY2tzIGFyZSBlcXVhbDwvc3VtbWFyeT5cclxuICAvLy8gPHBhcmFtIG5hbWU9XCJleGVjU3RhY2tDbXBcIj4tIGV4ZWN1dGlvbiBzdGFjayB0byBjb21wYXJlIHRvIHRoZSBjdXJyZW50IDwvcGFyYW0+XHJcbiAgLy8vIDxyZXR1cm5zPnMgYW4gaW5kaWNhdGlvbiB3aGV0aGVyIHRoZSB0d28gYXJlIGVxdWFsIG9yIG5vdCA8L3JldHVybnM+XHJcbiAgRXF1YWxzKGV4ZWNTdGFja0NtcDogYW55KTogYm9vbGVhbiB7XHJcbiAgICBsZXQgdG1wRXhlY1N0YWNrOiBFeGVjdXRpb25TdGFjayA9IG5ldyBFeGVjdXRpb25TdGFjayh0aGlzKTtcclxuICAgIGxldCB0bXBFeGVjU3RhY2tDbXA6IEV4ZWN1dGlvblN0YWNrID0gbmV3IEV4ZWN1dGlvblN0YWNrKDxFeGVjdXRpb25TdGFjaz5leGVjU3RhY2tDbXApO1xyXG4gICAgbGV0IGVxdWFsU3RhY2tzOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gICAgaWYgKHRtcEV4ZWNTdGFjay5zaXplKCkgPT09IHRtcEV4ZWNTdGFja0NtcC5zaXplKCkpIHtcclxuICAgICAgZXF1YWxTdGFja3MgPSB0cnVlO1xyXG4gICAgICB3aGlsZSAoIXRtcEV4ZWNTdGFjay5lbXB0eSgpICYmIGVxdWFsU3RhY2tzKSB7XHJcbiAgICAgICAgaWYgKCF0bXBFeGVjU3RhY2sucG9wKCkuRXF1YWxzKHRtcEV4ZWNTdGFja0NtcC5wb3AoKSkpXHJcbiAgICAgICAgICBlcXVhbFN0YWNrcyA9IGZhbHNlO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICByZXR1cm4gZXF1YWxTdGFja3M7XHJcbiAgfVxyXG5cclxuICAvLy8gPHN1bW1hcnk+IHB1c2ggaW50byB0aGUgY3VycmVudCBleGVjdXRpb24gc3RhY2sgdGhlIGV4ZWN1dGlvbiBzdGFjayB0aGF0IHdlIGdldCBhcyBwYXJhbWV0ZXIsIGJ1dCBpbiByZXZlcnNlIG9yZGVyPC9zdW1tYXJ5PlxyXG4gIC8vLyA8cGFyYW0gbmFtZT1cImluRXhlY1N0YWNrXCI+LSB0aGUgZXhlY3V0aW9uIHN0YWNrIHRvIGJlIHB1c2hlZCA8L3BhcmFtPlxyXG4gIHB1c2hVcFNpZGVEb3duKGluRXhlY1N0YWNrOiBFeGVjdXRpb25TdGFjayk6IHZvaWQge1xyXG4gICAgbGV0IHRtcFN0YWNrOiBFeGVjdXRpb25TdGFjayA9IG5ldyBFeGVjdXRpb25TdGFjayhpbkV4ZWNTdGFjayk7XHJcblxyXG4gICAgd2hpbGUgKCF0bXBTdGFjay5lbXB0eSgpKSB7XHJcbiAgICAgIGxldCB0bXBTdGFja0VudHJ5OiBFeGVjdXRpb25TdGFja0VudHJ5ID0gdG1wU3RhY2sucG9wKCk7XHJcbiAgICAgIHRoaXMuX2V4ZWNTdGFjay5wdXNoKHRtcFN0YWNrRW50cnkpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLy8vIDxzdW1tYXJ5PiByZXZlcnNlIHRoZSBvcmRlciBvZiB0aGUgZW50cmllcyBpbiB0aGUgY3VycmVudCBleGVjdXRpb24gc3RhY2s8L3N1bW1hcnk+XHJcbiAgcmV2ZXJzZSgpOiB2b2lkIHtcclxuICAgIGxldCB0bXBFeGVjU3RhY2s6IEV4ZWN1dGlvblN0YWNrID0gbmV3IEV4ZWN1dGlvblN0YWNrKHRoaXMpO1xyXG5cclxuICAgIHRoaXMuY2xlYXIoKTtcclxuXHJcbiAgICB3aGlsZSAoIXRtcEV4ZWNTdGFjay5lbXB0eSgpKSB7XHJcbiAgICAgIGxldCB0bXBFeGVjU3RhY2tFbnRyeTogRXhlY3V0aW9uU3RhY2tFbnRyeSA9IHRtcEV4ZWNTdGFjay5wb3AoKTtcclxuICAgICAgdGhpcy5wdXNoKHRtcEV4ZWNTdGFja0VudHJ5KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8vLyA8c3VtbWFyeT4gYnVpbGRzIHRoZSB4bWwgb2YgdGhlIGN1cnJlbnQgZXhlY3V0aW9uIHN0YWNrIHRvIGJlIHNlbnQgdG8gdGhlIHNlcnZlcjwvc3VtbWFyeT5cclxuICAvLy8gPHBhcmFtIG5hbWU9XCJNZXNzYWdlXCI+LSB0aGUgbWVzc2FnZSB3aGljaCB0aGUgeG1sIG5lZWRzIHRvIGJlIGFwcGVuZGVkIHRvXHJcbiAgLy8vIDwvcGFyYW0+XHJcbiAgcHVibGljIGJ1aWxkWE1MKG1lc3NhZ2U6IFN0cmluZ0J1aWxkZXIpOiB2b2lkIHtcclxuICAgIGxldCBmb3JNZXNzYWdlOiBTdHJpbmdCdWlsZGVyID0gbmV3IFN0cmluZ0J1aWxkZXIoKTtcclxuICAgIHdoaWxlICh0aGlzLl9leGVjU3RhY2suY291bnQoKSAhPT0gMCkge1xyXG4gICAgICBsZXQgRXhlY0VudHJ5ID0gPEV4ZWN1dGlvblN0YWNrRW50cnk+dGhpcy5fZXhlY1N0YWNrLnBvcCgpO1xyXG4gICAgICAvLyBvZmZsaW5lIHRhc2tzLCBhbmQgYWxsIHRhc2tzIGJlZm9yZSB0aGVtLCBzaG91bGQgbm90IGJlIHBhc3NlZCB0byB0aGUgc2VydmVyXHJcbiAgICAgIGxldCB0YXNrVGFnOiBudW1iZXIgPSBOTnVtYmVyLlBhcnNlKEV4ZWNFbnRyeS5UYXNrSWQpO1xyXG4gICAgICBpZiAodGFza1RhZyA+IENvbnN0SW50ZXJmYWNlLklOSVRJQUxfT0ZGTElORV9UQVNLX1RBRykge1xyXG4gICAgICAgIC8vIGNsZWFuIHRoZSBidWZmZXIgYW5kIGNvbnRpbnVlIHdpdGggdGhlIG5leHQgdGFza1xyXG4gICAgICAgIGZvck1lc3NhZ2UuUmVtb3ZlKDAsIGZvck1lc3NhZ2UuTGVuZ3RoKTtcclxuICAgICAgICBjb250aW51ZTtcclxuICAgICAgfVxyXG4gICAgICBmb3JNZXNzYWdlLkFwcGVuZChcIlxcbiBcIiArIFhNTENvbnN0YW50cy5UQUdfT1BFTiArIENvbnN0SW50ZXJmYWNlLk1HX1RBR19FWEVDX1NUQUNLX0VOVFJZKTtcclxuICAgICAgZm9yTWVzc2FnZS5BcHBlbmQoXCIgXCIgKyBYTUxDb25zdGFudHMuTUdfQVRUUl9UQVNLSUQgKyBcIj1cXFwiXCIgKyBFeGVjRW50cnkuVGFza0lkICsgXCJcXFwiXCIpO1xyXG4gICAgICBmb3JNZXNzYWdlLkFwcGVuZChcIiBcIiArIENvbnN0SW50ZXJmYWNlLk1HX0FUVFJfSEFORExFUklEICsgXCI9XFxcIlwiICsgRXhlY0VudHJ5LkhhbmRsZXJJZCArIFwiXFxcIlwiKTtcclxuICAgICAgZm9yTWVzc2FnZS5BcHBlbmQoXCIgXCIgKyBDb25zdEludGVyZmFjZS5NR19BVFRSX09QRVJfSURYICsgXCI9XFxcIlwiICsgRXhlY0VudHJ5Lk9wZXJJZHggKyBcIlxcXCJcIik7XHJcbiAgICAgIGZvck1lc3NhZ2UuQXBwZW5kKFwiIFwiICsgWE1MQ29uc3RhbnRzLlRBR19URVJNKTtcclxuICAgIH1cclxuICAgIG1lc3NhZ2UuQXBwZW5kKGZvck1lc3NhZ2UuVG9TdHJpbmcoKSk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
1
+ import { NNumber, Stack, StringBuilder } from "@magic-xpa/mscorelib";
2
+ import { ExecutionStackEntry } from "./ExecutionStackEntry";
3
+ import { ConstInterface } from "../ConstInterface";
4
+ import { XMLConstants } from "@magic-xpa/utils";
5
+ export class ExecutionStack {
6
+ _execStack = null;
7
+ constructor(inExecStack) {
8
+ if (arguments.length === 0) {
9
+ this.constructor_0();
10
+ return;
11
+ }
12
+ this.constructor_1(inExecStack);
13
+ }
14
+ constructor_0() {
15
+ this._execStack = new Stack();
16
+ }
17
+ constructor_1(inExecStack) {
18
+ this._execStack = inExecStack.getStack().Clone();
19
+ }
20
+ getStack() {
21
+ return this._execStack;
22
+ }
23
+ push(execEntryOrTaskId, handlerId, operIdx) {
24
+ if (arguments.length === 1)
25
+ this.push_0(execEntryOrTaskId);
26
+ else
27
+ this.push_1(execEntryOrTaskId, handlerId, operIdx);
28
+ }
29
+ push_0(execEntry) {
30
+ this._execStack.push(execEntry);
31
+ }
32
+ push_1(taskId, handlerId, operIdx) {
33
+ let execEntry = new ExecutionStackEntry(taskId, handlerId, operIdx);
34
+ this._execStack.push(execEntry);
35
+ }
36
+ pop() {
37
+ return this._execStack.pop();
38
+ }
39
+ empty() {
40
+ return this._execStack.count() === 0;
41
+ }
42
+ clear() {
43
+ this._execStack.Clear();
44
+ }
45
+ size() {
46
+ return this._execStack.count();
47
+ }
48
+ Equals(execStackCmp) {
49
+ let tmpExecStack = new ExecutionStack(this);
50
+ let tmpExecStackCmp = new ExecutionStack(execStackCmp);
51
+ let equalStacks = false;
52
+ if (tmpExecStack.size() === tmpExecStackCmp.size()) {
53
+ equalStacks = true;
54
+ while (!tmpExecStack.empty() && equalStacks) {
55
+ if (!tmpExecStack.pop().Equals(tmpExecStackCmp.pop()))
56
+ equalStacks = false;
57
+ }
58
+ }
59
+ return equalStacks;
60
+ }
61
+ pushUpSideDown(inExecStack) {
62
+ let tmpStack = new ExecutionStack(inExecStack);
63
+ while (!tmpStack.empty()) {
64
+ let tmpStackEntry = tmpStack.pop();
65
+ this._execStack.push(tmpStackEntry);
66
+ }
67
+ }
68
+ reverse() {
69
+ let tmpExecStack = new ExecutionStack(this);
70
+ this.clear();
71
+ while (!tmpExecStack.empty()) {
72
+ let tmpExecStackEntry = tmpExecStack.pop();
73
+ this.push(tmpExecStackEntry);
74
+ }
75
+ }
76
+ buildXML(message) {
77
+ let forMessage = new StringBuilder();
78
+ while (this._execStack.count() !== 0) {
79
+ let ExecEntry = this._execStack.pop();
80
+ let taskTag = NNumber.Parse(ExecEntry.TaskId);
81
+ if (taskTag > ConstInterface.INITIAL_OFFLINE_TASK_TAG) {
82
+ forMessage.Remove(0, forMessage.Length);
83
+ continue;
84
+ }
85
+ forMessage.Append("\n " + XMLConstants.TAG_OPEN + ConstInterface.MG_TAG_EXEC_STACK_ENTRY);
86
+ forMessage.Append(" " + XMLConstants.MG_ATTR_TASKID + "=\"" + ExecEntry.TaskId + "\"");
87
+ forMessage.Append(" " + ConstInterface.MG_ATTR_HANDLERID + "=\"" + ExecEntry.HandlerId + "\"");
88
+ forMessage.Append(" " + ConstInterface.MG_ATTR_OPER_IDX + "=\"" + ExecEntry.OperIdx + "\"");
89
+ forMessage.Append(" " + XMLConstants.TAG_TERM);
90
+ }
91
+ message.Append(forMessage.ToString());
92
+ }
93
+ }
94
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRXhlY3V0aW9uU3RhY2suanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lbmdpbmUvc3JjL3J0L0V4ZWN1dGlvblN0YWNrLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxPQUFPLEVBQUUsS0FBSyxFQUFFLGFBQWEsRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBQ25FLE9BQU8sRUFBQyxtQkFBbUIsRUFBQyxNQUFNLHVCQUF1QixDQUFDO0FBQzFELE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSxtQkFBbUIsQ0FBQztBQUNqRCxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0sa0JBQWtCLENBQUM7QUFLOUMsTUFBTSxPQUFPLGNBQWM7SUFDakIsVUFBVSxHQUErQixJQUFJLENBQUM7SUFJdEQsWUFBWSxXQUE0QjtRQUN0QyxJQUFJLFNBQVMsQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFO1lBQzFCLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztZQUNyQixPQUFPO1NBQ1I7UUFDRCxJQUFJLENBQUMsYUFBYSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ2xDLENBQUM7SUFHTyxhQUFhO1FBQ25CLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxLQUFLLEVBQUUsQ0FBQztJQUNoQyxDQUFDO0lBSU8sYUFBYSxDQUFDLFdBQTJCO1FBQy9DLElBQUksQ0FBQyxVQUFVLEdBQUcsV0FBVyxDQUFDLFFBQVEsRUFBRSxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQ25ELENBQUM7SUFJRCxRQUFRO1FBQ04sT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDO0lBQ3pCLENBQUM7SUFJRCxJQUFJLENBQUMsaUJBQXNCLEVBQUUsU0FBa0IsRUFBRSxPQUFnQjtRQUMvRCxJQUFJLFNBQVMsQ0FBQyxNQUFNLEtBQUssQ0FBQztZQUN4QixJQUFJLENBQUMsTUFBTSxDQUFDLGlCQUFpQixDQUFDLENBQUM7O1lBRS9CLElBQUks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QUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsVUFBVSxDQUFDLE1BQU0sQ0FBQyxDQUFDO2dCQUN4QyxTQUFTO2FBQ1Y7WUFDRCxVQUFVLENBQUMsTUFBTSxDQUFDLEtBQUssR0FBRyxZQUFZLENBQUMsUUFBUSxHQUFHLGNBQWMsQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDO1lBQzFGLFVBQVUsQ0FBQyxNQUFNLENBQUMsR0FBRyxHQUFHLFlBQVksQ0FBQyxjQUFjLEdBQUcsS0FBSyxHQUFHLFNBQVMsQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLENBQUM7WUFDdkYsVUFBVSxDQUFDLE1BQU0sQ0FBQyxHQUFHLEdBQUcsY0FBYyxDQUFDLGlCQUFpQixHQUFHLEtBQUssR0FBRyxTQUFTLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxDQUFDO1lBQy9GLFVBQVUsQ0FBQyxNQUFNLENBQUMsR0FBRyxHQUFHLGNBQWMsQ0FBQyxnQkFBZ0IsR0FBRyxLQUFLLEdBQUcsU0FBUyxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsQ0FBQztZQUM1RixVQUFVLENBQUMsTUFBTSxDQUFDLEdBQUcsR0FBRyxZQUFZLENBQUMsUUFBUSxDQUFDLENBQUM7U0FDaEQ7UUFDRCxPQUFPLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO0lBQ3hDLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Tk51bWJlciwgU3RhY2ssIFN0cmluZ0J1aWxkZXJ9IGZyb20gXCJAbWFnaWMteHBhL21zY29yZWxpYlwiO1xyXG5pbXBvcnQge0V4ZWN1dGlvblN0YWNrRW50cnl9IGZyb20gXCIuL0V4ZWN1dGlvblN0YWNrRW50cnlcIjtcclxuaW1wb3J0IHtDb25zdEludGVyZmFjZX0gZnJvbSBcIi4uL0NvbnN0SW50ZXJmYWNlXCI7XHJcbmltcG9ydCB7WE1MQ29uc3RhbnRzfSBmcm9tIFwiQG1hZ2ljLXhwYS91dGlsc1wiO1xyXG5cclxuLy8vIDxzdW1tYXJ5PiB0aGlzIGNsYXNzIHJlcHJlc2VudHMgYW4gZXhlY3V0aW9uIHN0YWNrIG9mIGFsbCBvcGVyYXRpb25zIHRoYXQgY2FuIGJlIGludGVydXB0ZWQgYnkgZ29pbmcgdG8gdGhlIHNlcnZlclxyXG4vLy8gdG8gY29udGludWUgZXhlY3V0aW9uIChyYWlzZSBldmVudCBvciBhbnkgY2FsbCB0byB1c2VyIGRlZmluZWQgZnVuY3Rpb24pXHJcbi8vLyA8L3N1bW1hcnk+XHJcbmV4cG9ydCBjbGFzcyBFeGVjdXRpb25TdGFjayB7XHJcbiAgcHJpdmF0ZSBfZXhlY1N0YWNrOiBTdGFjazxFeGVjdXRpb25TdGFja0VudHJ5PiA9IG51bGw7XHJcblxyXG4gIGNvbnN0cnVjdG9yKCk7XHJcbiAgY29uc3RydWN0b3IoaW5FeGVjU3RhY2s6IEV4ZWN1dGlvblN0YWNrKTtcclxuICBjb25zdHJ1Y3RvcihpbkV4ZWNTdGFjaz86IEV4ZWN1dGlvblN0YWNrKSB7XHJcbiAgICBpZiAoYXJndW1lbnRzLmxlbmd0aCA9PT0gMCkge1xyXG4gICAgICB0aGlzLmNvbnN0cnVjdG9yXzAoKTtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgdGhpcy5jb25zdHJ1Y3Rvcl8xKGluRXhlY1N0YWNrKTtcclxuICB9XHJcblxyXG4gIC8vLyA8c3VtbWFyeT4gZGVmYXVsdCBjb25zdHJ1Y3Rvcjwvc3VtbWFyeT5cclxuICBwcml2YXRlIGNvbnN0cnVjdG9yXzAoKTogdm9pZCB7XHJcbiAgICB0aGlzLl9leGVjU3RhY2sgPSBuZXcgU3RhY2soKTtcclxuICB9XHJcblxyXG4gIC8vLyA8c3VtbWFyeT4gY29uc3RydWN0b3Igd2hpY2ggY29waWVzIHRoZSBwYXJhbWV0ZXIgZXhlY3V0aW9uIHN0YWNrPC9zdW1tYXJ5PlxyXG4gIC8vLyA8cGFyYW0gbmFtZT1cImluRXhlY1N0YWNrXCI+LSB0aGUgZXhlY3V0aW9uIHN0YWNrIHRvIGNvcHkgPC9wYXJhbT5cclxuICBwcml2YXRlIGNvbnN0cnVjdG9yXzEoaW5FeGVjU3RhY2s6IEV4ZWN1dGlvblN0YWNrKTogdm9pZCB7XHJcbiAgICB0aGlzLl9leGVjU3RhY2sgPSBpbkV4ZWNTdGFjay5nZXRTdGFjaygpLkNsb25lKCk7XHJcbiAgfVxyXG5cclxuICAvLy8gPHN1bW1hcnk+IGdldHRlciBmb3IgdGhlIGV4ZWN1dGlvbiBzdGFjayBpdHNlbGY8L3N1bW1hcnk+XHJcbiAgLy8vIDxyZXR1cm5zPiB0aGUgc3RhY2sgPC9yZXR1cm5zPlxyXG4gIGdldFN0YWNrKCk6IFN0YWNrPEV4ZWN1dGlvblN0YWNrRW50cnk+IHtcclxuICAgIHJldHVybiB0aGlzLl9leGVjU3RhY2s7XHJcbiAgfVxyXG5cclxuICBwdXNoKGV4ZWNFbnRyeTogRXhlY3V0aW9uU3RhY2tFbnRyeSk6IHZvaWQ7XHJcbiAgcHVzaCh0YXNrSWQ6IHN0cmluZywgaGFuZGxlcklkOiBzdHJpbmcsIG9wZXJJZHg6IG51bWJlcik6IHZvaWQ7XHJcbiAgcHVzaChleGVjRW50cnlPclRhc2tJZDogYW55LCBoYW5kbGVySWQ/OiBzdHJpbmcsIG9wZXJJZHg/OiBudW1iZXIpOiB2b2lkIHtcclxuICAgIGlmIChhcmd1bWVudHMubGVuZ3RoID09PSAxKVxyXG4gICAgICB0aGlzLnB1c2hfMChleGVjRW50cnlPclRhc2tJZCk7XHJcbiAgICBlbHNlXHJcbiAgICAgIHRoaXMucHVzaF8xKGV4ZWNFbnRyeU9yVGFza0lkLCBoYW5kbGVySWQsIG9wZXJJZHgpO1xyXG4gIH1cclxuXHJcbiAgLy8vIDxzdW1tYXJ5PiBwdXNoZXMgb25lIGVudHJ5IGludG8gdGhlIHN0YWNrPC9zdW1tYXJ5PlxyXG4gIC8vLyA8cGFyYW0gbmFtZT1cImV4ZWNFbnRyeVwiPi0gdG8gYmUgcHVzaGVkIDwvcGFyYW0+XHJcbiAgcHJpdmF0ZSBwdXNoXzAoZXhlY0VudHJ5OiBFeGVjdXRpb25TdGFja0VudHJ5KTogdm9pZCB7XHJcbiAgICB0aGlzLl9leGVjU3RhY2sucHVzaChleGVjRW50cnkpO1xyXG4gIH1cclxuXHJcbiAgLy8vIDxzdW1tYXJ5PiBwdXNoZXMgYW4gZW50cnkgdG8gdGhlIGV4ZWN1dGlvbiBzdGFjayBjb25zdHJ1Y3RlZCBieSBpdHMgMyBlbGVtZW50cyB3aGljaCBhcmUgcmVjaWV2ZWQgYXMgcGFyYW1ldGVyczwvc3VtbWFyeT5cclxuICAvLy8gPHBhcmFtIG5hbWU9XCJ0YXNrSWRcIj4gPC9wYXJhbT5cclxuICAvLy8gPHBhcmFtIG5hbWU9XCJoYW5kbGVySWRcIj4gPC9wYXJhbT5cclxuICAvLy8gPHBhcmFtIG5hbWU9XCJvcGVySWR4XCI+IDwvcGFyYW0+XHJcbiAgcHJpdmF0ZSBwdXNoXzEodGFza0lkOiBzdHJpbmcsIGhhbmRsZXJJZDogc3RyaW5nLCBvcGVySWR4OiBudW1iZXIpOiB2b2lkIHtcclxuICAgIGxldCBleGVjRW50cnk6IEV4ZWN1dGlvblN0YWNrRW50cnkgPSBuZXcgRXhlY3V0aW9uU3RhY2tFbnRyeSh0YXNrSWQsIGhhbmRsZXJJZCwgb3BlcklkeCk7XHJcbiAgICB0aGlzLl9leGVjU3RhY2sucHVzaChleGVjRW50cnkpO1xyXG4gIH1cclxuXHJcbiAgLy8vIDxzdW1tYXJ5PiBwb3BzIGFuIGVudHJ5IGZyb20gdGhlIGV4ZWN1dGlvbiBzdGFjazwvc3VtbWFyeT5cclxuICAvLy8gPHJldHVybnM+IHRoZSBwb3BwZWQgZW50cnlcclxuICAvLy8gPC9yZXR1cm5zPlxyXG4gIHBvcCgpOiBFeGVjdXRpb25TdGFja0VudHJ5IHtcclxuICAgIHJldHVybiA8RXhlY3V0aW9uU3RhY2tFbnRyeT50aGlzLl9leGVjU3RhY2sucG9wKCk7XHJcbiAgfVxyXG5cclxuICAvLy8gPHN1bW1hcnk+IGNoZWNrIGlmIHRoZSBleGVjdXRpb24gc3RhY2sgaXMgZW1wdHkgPC9zdW1tYXJ5PlxyXG4gIC8vLyA8cmV0dXJucz4gYW4gaW5kaWNhdGlvbiBpZiBpdCdzIGVtcHR5IG9yIG5vdFxyXG4gIC8vLyA8L3JldHVybnM+XHJcbiAgZW1wdHkoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5fZXhlY1N0YWNrLmNvdW50KCkgPT09IDA7XHJcbiAgfVxyXG5cclxuICAvLy8gPHN1bW1hcnk+IGNsZWFycyB0aGUgZXhlY3V0aW9uIHN0YWNrPC9zdW1tYXJ5PlxyXG4gIGNsZWFyKCk6IHZvaWQge1xyXG4gICAgdGhpcy5fZXhlY1N0YWNrLkNsZWFyKCk7XHJcbiAgfVxyXG5cclxuICAvLy8gPHJldHVybnM+IHRoZSBzaXplIG9mIHRoZSBleGVjdXRpb24gc3RhY2tcclxuICAvLy8gPC9yZXR1cm5zPlxyXG4gIHNpemUoKTogbnVtYmVyIHtcclxuICAgIHJldHVybiB0aGlzLl9leGVjU3RhY2suY291bnQoKTtcclxuICB9XHJcblxyXG4gIC8vLyA8c3VtbWFyeT4gY2hlY2tzIGlmIHR3byBleGVjdXRpb24gc3RhY2tzIGFyZSBlcXVhbDwvc3VtbWFyeT5cclxuICAvLy8gPHBhcmFtIG5hbWU9XCJleGVjU3RhY2tDbXBcIj4tIGV4ZWN1dGlvbiBzdGFjayB0byBjb21wYXJlIHRvIHRoZSBjdXJyZW50IDwvcGFyYW0+XHJcbiAgLy8vIDxyZXR1cm5zPnMgYW4gaW5kaWNhdGlvbiB3aGV0aGVyIHRoZSB0d28gYXJlIGVxdWFsIG9yIG5vdCA8L3JldHVybnM+XHJcbiAgRXF1YWxzKGV4ZWNTdGFja0NtcDogYW55KTogYm9vbGVhbiB7XHJcbiAgICBsZXQgdG1wRXhlY1N0YWNrOiBFeGVjdXRpb25TdGFjayA9IG5ldyBFeGVjdXRpb25TdGFjayh0aGlzKTtcclxuICAgIGxldCB0bXBFeGVjU3RhY2tDbXA6IEV4ZWN1dGlvblN0YWNrID0gbmV3IEV4ZWN1dGlvblN0YWNrKDxFeGVjdXRpb25TdGFjaz5leGVjU3RhY2tDbXApO1xyXG4gICAgbGV0IGVxdWFsU3RhY2tzOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gICAgaWYgKHRtcEV4ZWNTdGFjay5zaXplKCkgPT09IHRtcEV4ZWNTdGFja0NtcC5zaXplKCkpIHtcclxuICAgICAgZXF1YWxTdGFja3MgPSB0cnVlO1xyXG4gICAgICB3aGlsZSAoIXRtcEV4ZWNTdGFjay5lbXB0eSgpICYmIGVxdWFsU3RhY2tzKSB7XHJcbiAgICAgICAgaWYgKCF0bXBFeGVjU3RhY2sucG9wKCkuRXF1YWxzKHRtcEV4ZWNTdGFja0NtcC5wb3AoKSkpXHJcbiAgICAgICAgICBlcXVhbFN0YWNrcyA9IGZhbHNlO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICByZXR1cm4gZXF1YWxTdGFja3M7XHJcbiAgfVxyXG5cclxuICAvLy8gPHN1bW1hcnk+IHB1c2ggaW50byB0aGUgY3VycmVudCBleGVjdXRpb24gc3RhY2sgdGhlIGV4ZWN1dGlvbiBzdGFjayB0aGF0IHdlIGdldCBhcyBwYXJhbWV0ZXIsIGJ1dCBpbiByZXZlcnNlIG9yZGVyPC9zdW1tYXJ5PlxyXG4gIC8vLyA8cGFyYW0gbmFtZT1cImluRXhlY1N0YWNrXCI+LSB0aGUgZXhlY3V0aW9uIHN0YWNrIHRvIGJlIHB1c2hlZCA8L3BhcmFtPlxyXG4gIHB1c2hVcFNpZGVEb3duKGluRXhlY1N0YWNrOiBFeGVjdXRpb25TdGFjayk6IHZvaWQge1xyXG4gICAgbGV0IHRtcFN0YWNrOiBFeGVjdXRpb25TdGFjayA9IG5ldyBFeGVjdXRpb25TdGFjayhpbkV4ZWNTdGFjayk7XHJcblxyXG4gICAgd2hpbGUgKCF0bXBTdGFjay5lbXB0eSgpKSB7XHJcbiAgICAgIGxldCB0bXBTdGFja0VudHJ5OiBFeGVjdXRpb25TdGFja0VudHJ5ID0gdG1wU3RhY2sucG9wKCk7XHJcbiAgICAgIHRoaXMuX2V4ZWNTdGFjay5wdXNoKHRtcFN0YWNrRW50cnkpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLy8vIDxzdW1tYXJ5PiByZXZlcnNlIHRoZSBvcmRlciBvZiB0aGUgZW50cmllcyBpbiB0aGUgY3VycmVudCBleGVjdXRpb24gc3RhY2s8L3N1bW1hcnk+XHJcbiAgcmV2ZXJzZSgpOiB2b2lkIHtcclxuICAgIGxldCB0bXBFeGVjU3RhY2s6IEV4ZWN1dGlvblN0YWNrID0gbmV3IEV4ZWN1dGlvblN0YWNrKHRoaXMpO1xyXG5cclxuICAgIHRoaXMuY2xlYXIoKTtcclxuXHJcbiAgICB3aGlsZSAoIXRtcEV4ZWNTdGFjay5lbXB0eSgpKSB7XHJcbiAgICAgIGxldCB0bXBFeGVjU3RhY2tFbnRyeTogRXhlY3V0aW9uU3RhY2tFbnRyeSA9IHRtcEV4ZWNTdGFjay5wb3AoKTtcclxuICAgICAgdGhpcy5wdXNoKHRtcEV4ZWNTdGFja0VudHJ5KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8vLyA8c3VtbWFyeT4gYnVpbGRzIHRoZSB4bWwgb2YgdGhlIGN1cnJlbnQgZXhlY3V0aW9uIHN0YWNrIHRvIGJlIHNlbnQgdG8gdGhlIHNlcnZlcjwvc3VtbWFyeT5cclxuICAvLy8gPHBhcmFtIG5hbWU9XCJNZXNzYWdlXCI+LSB0aGUgbWVzc2FnZSB3aGljaCB0aGUgeG1sIG5lZWRzIHRvIGJlIGFwcGVuZGVkIHRvXHJcbiAgLy8vIDwvcGFyYW0+XHJcbiAgcHVibGljIGJ1aWxkWE1MKG1lc3NhZ2U6IFN0cmluZ0J1aWxkZXIpOiB2b2lkIHtcclxuICAgIGxldCBmb3JNZXNzYWdlOiBTdHJpbmdCdWlsZGVyID0gbmV3IFN0cmluZ0J1aWxkZXIoKTtcclxuICAgIHdoaWxlICh0aGlzLl9leGVjU3RhY2suY291bnQoKSAhPT0gMCkge1xyXG4gICAgICBsZXQgRXhlY0VudHJ5ID0gPEV4ZWN1dGlvblN0YWNrRW50cnk+dGhpcy5fZXhlY1N0YWNrLnBvcCgpO1xyXG4gICAgICAvLyBvZmZsaW5lIHRhc2tzLCBhbmQgYWxsIHRhc2tzIGJlZm9yZSB0aGVtLCBzaG91bGQgbm90IGJlIHBhc3NlZCB0byB0aGUgc2VydmVyXHJcbiAgICAgIGxldCB0YXNrVGFnOiBudW1iZXIgPSBOTnVtYmVyLlBhcnNlKEV4ZWNFbnRyeS5UYXNrSWQpO1xyXG4gICAgICBpZiAodGFza1RhZyA+IENvbnN0SW50ZXJmYWNlLklOSVRJQUxfT0ZGTElORV9UQVNLX1RBRykge1xyXG4gICAgICAgIC8vIGNsZWFuIHRoZSBidWZmZXIgYW5kIGNvbnRpbnVlIHdpdGggdGhlIG5leHQgdGFza1xyXG4gICAgICAgIGZvck1lc3NhZ2UuUmVtb3ZlKDAsIGZvck1lc3NhZ2UuTGVuZ3RoKTtcclxuICAgICAgICBjb250aW51ZTtcclxuICAgICAgfVxyXG4gICAgICBmb3JNZXNzYWdlLkFwcGVuZChcIlxcbiBcIiArIFhNTENvbnN0YW50cy5UQUdfT1BFTiArIENvbnN0SW50ZXJmYWNlLk1HX1RBR19FWEVDX1NUQUNLX0VOVFJZKTtcclxuICAgICAgZm9yTWVzc2FnZS5BcHBlbmQoXCIgXCIgKyBYTUxDb25zdGFudHMuTUdfQVRUUl9UQVNLSUQgKyBcIj1cXFwiXCIgKyBFeGVjRW50cnkuVGFza0lkICsgXCJcXFwiXCIpO1xyXG4gICAgICBmb3JNZXNzYWdlLkFwcGVuZChcIiBcIiArIENvbnN0SW50ZXJmYWNlLk1HX0FUVFJfSEFORExFUklEICsgXCI9XFxcIlwiICsgRXhlY0VudHJ5LkhhbmRsZXJJZCArIFwiXFxcIlwiKTtcclxuICAgICAgZm9yTWVzc2FnZS5BcHBlbmQoXCIgXCIgKyBDb25zdEludGVyZmFjZS5NR19BVFRSX09QRVJfSURYICsgXCI9XFxcIlwiICsgRXhlY0VudHJ5Lk9wZXJJZHggKyBcIlxcXCJcIik7XHJcbiAgICAgIGZvck1lc3NhZ2UuQXBwZW5kKFwiIFwiICsgWE1MQ29uc3RhbnRzLlRBR19URVJNKTtcclxuICAgIH1cclxuICAgIG1lc3NhZ2UuQXBwZW5kKGZvck1lc3NhZ2UuVG9TdHJpbmcoKSk7XHJcbiAgfVxyXG59XHJcbiJdfQ==