@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.
- package/README.md +7 -7
- package/{esm2020 → esm2022}/index.mjs +188 -188
- package/{esm2020 → esm2022}/magic-xpa-engine.mjs +1 -1
- package/esm2022/src/AccessHelper.mjs +15 -0
- package/esm2022/src/ClientManager.mjs +421 -0
- package/esm2022/src/CommandsProcessorBase.mjs +56 -0
- package/{esm2020 → esm2022}/src/CommandsProcessorManager.mjs +25 -25
- package/esm2022/src/CommandsTable.mjs +162 -0
- package/esm2022/src/ConstInterface.mjs +517 -0
- package/{esm2020 → esm2022}/src/CurrentClientVersion.mjs +2 -2
- package/esm2022/src/FlowMonitorInterface.mjs +16 -0
- package/esm2022/src/GUIManager.mjs +62 -0
- package/esm2022/src/GlobalCommandsManager.mjs +34 -0
- package/esm2022/src/GuiEventsProcessor.mjs +156 -0
- package/{esm2020 → esm2022}/src/ICommandsTable.mjs +1 -1
- package/esm2022/src/ServerConfig.mjs +122 -0
- package/{esm2020 → esm2022}/src/bridge/IGuiEvent.mjs +19 -19
- package/esm2022/src/bridge/MagicBridge.mjs +41 -0
- package/esm2022/src/commands/ClientOriginatedCommandTaskTag.mjs +12 -0
- package/{esm2020 → esm2022}/src/commands/ClientToServer/AddUserLocateDataViewCommand.mjs +8 -8
- package/{esm2020 → esm2022}/src/commands/ClientToServer/AddUserRangeDataviewCommand.mjs +9 -9
- package/{esm2020 → esm2022}/src/commands/ClientToServer/AddUserSortDataViewCommand.mjs +9 -9
- package/esm2022/src/commands/ClientToServer/BrowserEscEventCommand.mjs +26 -0
- package/{esm2020 → esm2022}/src/commands/ClientToServer/ClientOriginatedCommand.mjs +14 -14
- package/{esm2020 → esm2022}/src/commands/ClientToServer/ClientOriginatedCommandSerializer.mjs +59 -59
- package/esm2022/src/commands/ClientToServer/ColumnSortEventCommand.mjs +29 -0
- package/esm2022/src/commands/ClientToServer/CommandFactory.mjs +261 -0
- package/esm2022/src/commands/ClientToServer/CommandSerializationHelper.mjs +67 -0
- package/esm2022/src/commands/ClientToServer/ComputeEventCommand.mjs +26 -0
- package/{esm2020 → esm2022}/src/commands/ClientToServer/ContextTerminationEventCommand.mjs +24 -21
- package/{esm2020 → esm2022}/src/commands/ClientToServer/ContextTimeoutResetCommand.mjs +23 -20
- package/{esm2020 → esm2022}/src/commands/ClientToServer/ControlItemsRefreshCommand.mjs +8 -8
- package/esm2022/src/commands/ClientToServer/DataViewOutputCommand.mjs +13 -0
- package/{esm2020 → esm2022}/src/commands/ClientToServer/DataviewCommand.mjs +44 -44
- package/esm2022/src/commands/ClientToServer/EvaluateCommand.mjs +40 -0
- package/{esm2020 → esm2022}/src/commands/ClientToServer/EventCommand.mjs +43 -40
- package/esm2022/src/commands/ClientToServer/ExecOperCommand.mjs +70 -0
- package/esm2022/src/commands/ClientToServer/FetchDataControlValuesEventCommand.mjs +25 -0
- package/{esm2020 → esm2022}/src/commands/ClientToServer/GlobalParamsQueryCommand.mjs +10 -10
- package/{esm2020 → esm2022}/src/commands/ClientToServer/ICommandTaskTag.mjs +1 -1
- package/esm2022/src/commands/ClientToServer/IndexChangeEventCommand.mjs +24 -0
- package/esm2022/src/commands/ClientToServer/IniputForceWriteCommand.mjs +26 -0
- package/{esm2020 → esm2022}/src/commands/ClientToServer/NonReversibleExitEventCommand.mjs +26 -23
- package/{esm2020 → esm2022}/src/commands/ClientToServer/QueryCommand.mjs +20 -20
- package/esm2022/src/commands/ClientToServer/RecomputeCommand.mjs +30 -0
- package/esm2022/src/commands/ClientToServer/RefreshEventCommand.mjs +30 -0
- package/esm2022/src/commands/ClientToServer/RefreshScreenEventCommand.mjs +27 -0
- package/esm2022/src/commands/ClientToServer/RollbackEventCommand.mjs +43 -0
- package/esm2022/src/commands/ClientToServer/SelectProgramCommand.mjs +19 -0
- package/{esm2020 → esm2022}/src/commands/ClientToServer/SetTransactionStateDataviewCommand.mjs +9 -9
- package/esm2022/src/commands/ClientToServer/SubformOpenEventCommand.mjs +24 -0
- package/esm2022/src/commands/ClientToServer/SubformRefreshEventCommand.mjs +27 -0
- package/esm2022/src/commands/ClientToServer/TransactionCommand.mjs +34 -0
- package/{esm2020 → esm2022}/src/commands/ClientToServer/UnloadCommand.mjs +18 -15
- package/esm2022/src/commands/ClientToServer/WriteMessageToServerLogCommand.mjs +18 -0
- package/esm2022/src/commands/DataViewCommandBase.mjs +8 -0
- package/{esm2020 → esm2022}/src/commands/IClientCommand.mjs +1 -1
- package/esm2022/src/commands/IClientTargetedCommand.mjs +13 -0
- package/{esm2020 → esm2022}/src/commands/IClientToServerCommandInfo.mjs +2 -2
- package/esm2022/src/commands/ServerToClient/AbortCommand.mjs +65 -0
- package/{esm2020 → esm2022}/src/commands/ServerToClient/AddLocateCommand.mjs +21 -21
- package/{esm2020 → esm2022}/src/commands/ServerToClient/AddRangeCommand.mjs +62 -62
- package/{esm2020 → esm2022}/src/commands/ServerToClient/AddSortCommand.mjs +33 -33
- package/esm2022/src/commands/ServerToClient/ClientRefreshCommand.mjs +25 -0
- package/esm2022/src/commands/ServerToClient/ClientTargetedCommandBase.mjs +24 -0
- package/esm2022/src/commands/ServerToClient/EnhancedVerifyCommand.mjs +45 -0
- package/esm2022/src/commands/ServerToClient/OpenURLCommand.mjs +221 -0
- package/{esm2020 → esm2022}/src/commands/ServerToClient/ResetLocateCommand.mjs +14 -14
- package/{esm2020 → esm2022}/src/commands/ServerToClient/ResetRangeCommand.mjs +14 -14
- package/{esm2020 → esm2022}/src/commands/ServerToClient/ResetSortCommand.mjs +14 -14
- package/esm2022/src/commands/ServerToClient/ResultCommand.mjs +37 -0
- package/esm2022/src/commands/ServerToClient/VerifyCommand.mjs +83 -0
- package/{esm2020 → esm2022}/src/commands/ServerToClient/XMLBasedCommandBuilder.mjs +132 -132
- package/{esm2020 → esm2022}/src/communications/IConnectionStateManager.mjs +1 -1
- package/esm2022/src/communications/InteractiveCommunicationsFailureHandler.mjs +15 -0
- package/{esm2020 → esm2022}/src/data/DataSourceIdKey.mjs +2 -2
- package/esm2022/src/data/DataView.mjs +1613 -0
- package/{esm2020 → esm2022}/src/data/DataViewBase.mjs +3 -3
- package/esm2022/src/data/DataviewManager.mjs +28 -0
- package/esm2022/src/data/DataviewManagerBase.mjs +15 -0
- package/esm2022/src/data/DvCache.mjs +67 -0
- package/esm2022/src/data/Field.mjs +646 -0
- package/esm2022/src/data/FieldBase.mjs +15 -0
- package/esm2022/src/data/FieldsTable.mjs +103 -0
- package/{esm2020 → esm2022}/src/data/IRecordsTable.mjs +1 -1
- package/{esm2020 → esm2022}/src/data/Key.mjs +88 -88
- package/esm2022/src/data/Record.mjs +880 -0
- package/{esm2020 → esm2022}/src/data/RecordOutOfDataViewException.mjs +15 -15
- package/esm2022/src/data/RecordsTable.mjs +267 -0
- package/{esm2020 → esm2022}/src/data/TaskTransactionManager.mjs +107 -103
- package/{esm2020 → esm2022}/src/data/XMLBasedDcValuesBuilder.mjs +74 -74
- package/{esm2020 → esm2022}/src/enums.mjs +23 -23
- package/esm2022/src/env/EnvVariablesTable.mjs +340 -0
- package/esm2022/src/env/Environment.mjs +487 -0
- package/{esm2020 → esm2022}/src/env/ILanguageData.mjs +1 -1
- package/esm2022/src/env/LanguageData.mjs +227 -0
- package/{esm2020 → esm2022}/src/env/MirrorString.mjs +65 -65
- package/esm2022/src/event/ActionManager.mjs +91 -0
- package/esm2022/src/event/Event.mjs +1333 -0
- package/esm2022/src/event/EventHandler.mjs +766 -0
- package/esm2022/src/event/EventHandlerPosition.mjs +204 -0
- package/esm2022/src/event/EventsManager.mjs +2988 -0
- package/{esm2020 → esm2022}/src/event/IEventsManager.mjs +6 -6
- package/esm2022/src/event/RunTimeEvent.mjs +399 -0
- package/{esm2020 → esm2022}/src/event/RunTimeEventBase.mjs +3 -3
- package/esm2022/src/event/UserEventsTable.mjs +47 -0
- package/esm2022/src/exp/ExpTable.mjs +57 -0
- package/esm2022/src/exp/Expression.mjs +200 -0
- package/esm2022/src/exp/ExpressionDict.mjs +727 -0
- package/esm2022/src/exp/ExpressionEvaluator.mjs +4206 -0
- package/esm2022/src/exp/ExpressionLocalJpn.mjs +314 -0
- package/{esm2020 → esm2022}/src/exp/GlobalParamsTable.mjs +85 -85
- package/esm2022/src/exp/YesNoExp.mjs +36 -0
- package/esm2022/src/gui/CreatedFormVector.mjs +23 -0
- package/esm2022/src/gui/FormsTable.mjs +66 -0
- package/esm2022/src/gui/MgControl.mjs +363 -0
- package/esm2022/src/gui/MgForm.mjs +1224 -0
- package/esm2022/src/http/HttpManager.mjs +97 -0
- package/esm2022/src/http/client/HttpClientAsync.mjs +68 -0
- package/{esm2020 → esm2022}/src/http/client/HttpClientBase.mjs +132 -132
- package/esm2022/src/http/client/HttpClientEvents.mjs +39 -0
- package/esm2022/src/http/client/HttpClientSync.mjs +42 -0
- package/esm2022/src/http/client/HttpUtility.mjs +84 -0
- package/{esm2020 → esm2022}/src/http/client/ICommunicationsFailureHandler.mjs +1 -1
- package/{esm2020 → esm2022}/src/remote/AddUserLocateRemoteDataViewCommand.mjs +18 -18
- package/{esm2020 → esm2022}/src/remote/AddUserRangeRemoteDataViewCommand.mjs +18 -18
- package/{esm2020 → esm2022}/src/remote/AddUserSortRemoteDataViewCommand.mjs +18 -18
- package/esm2022/src/remote/RemoteCommandsProcessor.mjs +883 -0
- package/{esm2020 → esm2022}/src/remote/RemoteControlItemsRefreshCommand.mjs +25 -25
- package/{esm2020 → esm2022}/src/remote/RemoteDataViewCommandBase.mjs +24 -24
- package/{esm2020 → esm2022}/src/remote/RemoteDataViewCommandFactory.mjs +60 -60
- package/{esm2020 → esm2022}/src/remote/RemoteDataViewCommandUpdateNonModifiable.mjs +15 -15
- package/{esm2020 → esm2022}/src/remote/RemoteDataviewManager.mjs +17 -17
- package/{esm2020 → esm2022}/src/remote/RemoteInitDataViewCommand.mjs +10 -10
- package/{esm2020 → esm2022}/src/remote/ResetUserLocateRemoteDataviewCommand.mjs +16 -16
- package/{esm2020 → esm2022}/src/remote/ResetUserRangeRemoteDataviewCommand.mjs +12 -12
- package/{esm2020 → esm2022}/src/remote/ResetUserSortRemoteDataviewCommand.mjs +15 -15
- package/esm2022/src/remote/ServerError.mjs +40 -0
- package/{esm2020 → esm2022}/src/remote/SetTransactionStateRemoteDataViewCommand.mjs +19 -19
- package/esm2022/src/rt/Argument.mjs +265 -0
- package/esm2022/src/rt/ArgumentsList.mjs +103 -0
- package/esm2022/src/rt/Boundary.mjs +152 -0
- package/esm2022/src/rt/CompMainPrgTable.mjs +63 -0
- package/esm2022/src/rt/DataviewHeaderBase.mjs +98 -0
- package/{esm2020 → esm2022}/src/rt/DataviewHeaderFactory.mjs +6 -6
- package/esm2022/src/rt/DataviewHeaders.mjs +53 -0
- package/{esm2020 → esm2022}/src/rt/DataviewHeadersSaxHandler.mjs +38 -38
- package/{esm2020 → esm2022}/src/rt/ExecutionStack.mjs +94 -94
- package/{esm2020 → esm2022}/src/rt/ExecutionStackEntry.mjs +17 -17
- package/{esm2020 → esm2022}/src/rt/HandlersTable.mjs +96 -96
- package/{esm2020 → esm2022}/src/rt/IDataSourceViewDefinition.mjs +1 -1
- package/{esm2020 → esm2022}/src/rt/IDataviewHeader.mjs +1 -1
- package/{esm2020 → esm2022}/src/rt/IResultValue.mjs +1 -1
- package/esm2022/src/rt/LastFocusedManager.mjs +65 -0
- package/esm2022/src/rt/Operation.mjs +735 -0
- package/esm2022/src/rt/OperationTable.mjs +67 -0
- package/esm2022/src/rt/Recompute.mjs +355 -0
- package/{esm2020 → esm2022}/src/rt/RecomputeTable.mjs +62 -62
- package/{esm2020 → esm2022}/src/rt/RemoteDataviewHeader.mjs +108 -108
- package/esm2022/src/rt/ResultValue.mjs +10 -0
- package/esm2022/src/rt/TableCache.mjs +177 -0
- package/esm2022/src/rt/TableCacheManager.mjs +67 -0
- package/esm2022/src/rt/Transaction.mjs +53 -0
- package/esm2022/src/security/UserDetails.mjs +71 -0
- package/{esm2020 → esm2022}/src/tasks/IMGDataCollection.mjs +1 -1
- package/esm2022/src/tasks/MGData.mjs +552 -0
- package/esm2022/src/tasks/MGDataCollection.mjs +252 -0
- package/esm2022/src/tasks/RCTimer.mjs +63 -0
- package/{esm2020 → esm2022}/src/tasks/RemoteTaskService.mjs +44 -44
- package/esm2022/src/tasks/Task.mjs +2499 -0
- package/esm2022/src/tasks/TaskBase.mjs +83 -0
- package/{esm2020 → esm2022}/src/tasks/TaskServiceBase.mjs +24 -24
- package/esm2022/src/tasks/TasksTable.mjs +80 -0
- package/esm2022/src/tasks/sort/Sort.mjs +5 -0
- package/{esm2020 → esm2022}/src/tasks/sort/SortCollection.mjs +67 -67
- package/{esm2020 → esm2022}/src/util/ConstUtils.mjs +13 -13
- package/esm2022/src/util/FlowMonitorQueue.mjs +451 -0
- package/{esm2020 → esm2022}/src/util/HeapSort.mjs +69 -69
- package/{esm2020 → esm2022}/src/util/IMirrorXML.mjs +1 -1
- package/{esm2020 → esm2022}/src/util/IServerConfig.mjs +1 -1
- package/{esm2020 → esm2022}/src/util/MgBlockingQueue.mjs +1 -1
- package/esm2022/src/util/MgPriorityBlockingQueue.mjs +74 -0
- package/esm2022/src/util/MgPriorityQueue.mjs +66 -0
- package/{esm2020 → esm2022}/src/util/ParamParseResult.mjs +7 -7
- package/esm2022/src/util/PrmMap.mjs +152 -0
- package/esm2022/src/util/ReturnResult.mjs +46 -0
- package/esm2022/src/util/ReturnResultBase.mjs +18 -0
- package/esm2022/src/util/Scrambler.mjs +89 -0
- package/esm2022/src/util/UniqueIDUtils.mjs +13 -0
- package/{esm2020 → esm2022}/src/util/cookie.service.mjs +92 -92
- package/{fesm2020 → fesm2022}/magic-xpa-engine.mjs +29888 -29690
- package/fesm2022/magic-xpa-engine.mjs.map +1 -0
- package/index.d.ts +187 -187
- package/package.json +8 -14
- package/src/AccessHelper.d.ts +20 -20
- package/src/ClientManager.d.ts +35 -32
- package/src/CommandsProcessorBase.d.ts +23 -23
- package/src/CommandsProcessorManager.d.ts +6 -6
- package/src/CommandsTable.d.ts +22 -22
- package/src/ConstInterface.d.ts +516 -515
- package/src/CurrentClientVersion.d.ts +1 -1
- package/src/FlowMonitorInterface.d.ts +15 -15
- package/src/GUIManager.d.ts +17 -17
- package/src/GlobalCommandsManager.d.ts +17 -17
- package/src/GuiEventsProcessor.d.ts +24 -24
- package/src/ICommandsTable.d.ts +9 -9
- package/src/ServerConfig.d.ts +35 -34
- package/src/bridge/IGuiEvent.d.ts +19 -19
- package/src/bridge/MagicBridge.d.ts +16 -16
- package/src/commands/ClientOriginatedCommandTaskTag.d.ts +8 -8
- package/src/commands/ClientToServer/AddUserLocateDataViewCommand.d.ts +4 -4
- package/src/commands/ClientToServer/AddUserRangeDataviewCommand.d.ts +6 -6
- package/src/commands/ClientToServer/AddUserSortDataViewCommand.d.ts +6 -6
- package/src/commands/ClientToServer/BrowserEscEventCommand.d.ts +9 -8
- package/src/commands/ClientToServer/ClientOriginatedCommand.d.ts +8 -8
- package/src/commands/ClientToServer/ClientOriginatedCommandSerializer.d.ts +6 -6
- package/src/commands/ClientToServer/ColumnSortEventCommand.d.ts +11 -10
- package/src/commands/ClientToServer/CommandFactory.d.ts +64 -64
- package/src/commands/ClientToServer/CommandSerializationHelper.d.ts +20 -20
- package/src/commands/ClientToServer/ComputeEventCommand.d.ts +9 -8
- package/src/commands/ClientToServer/ContextTerminationEventCommand.d.ts +8 -7
- package/src/commands/ClientToServer/ContextTimeoutResetCommand.d.ts +8 -7
- package/src/commands/ClientToServer/ControlItemsRefreshCommand.d.ts +6 -6
- package/src/commands/ClientToServer/DataViewOutputCommand.d.ts +9 -9
- package/src/commands/ClientToServer/DataviewCommand.d.ts +32 -32
- package/src/commands/ClientToServer/EvaluateCommand.d.ts +16 -15
- package/src/commands/ClientToServer/EventCommand.d.ts +16 -15
- package/src/commands/ClientToServer/ExecOperCommand.d.ts +24 -23
- package/src/commands/ClientToServer/FetchDataControlValuesEventCommand.d.ts +9 -8
- package/src/commands/ClientToServer/GlobalParamsQueryCommand.d.ts +5 -5
- package/src/commands/ClientToServer/ICommandTaskTag.d.ts +3 -3
- package/src/commands/ClientToServer/IndexChangeEventCommand.d.ts +9 -8
- package/src/commands/ClientToServer/IniputForceWriteCommand.d.ts +11 -10
- package/src/commands/ClientToServer/NonReversibleExitEventCommand.d.ts +9 -8
- package/src/commands/ClientToServer/QueryCommand.d.ts +8 -8
- package/src/commands/ClientToServer/RecomputeCommand.d.ts +12 -11
- package/src/commands/ClientToServer/RefreshEventCommand.d.ts +13 -12
- package/src/commands/ClientToServer/RefreshScreenEventCommand.d.ts +11 -10
- package/src/commands/ClientToServer/RollbackEventCommand.d.ts +15 -14
- package/src/commands/ClientToServer/SelectProgramCommand.d.ts +7 -6
- package/src/commands/ClientToServer/SetTransactionStateDataviewCommand.d.ts +5 -5
- package/src/commands/ClientToServer/SubformOpenEventCommand.d.ts +9 -8
- package/src/commands/ClientToServer/SubformRefreshEventCommand.d.ts +10 -9
- package/src/commands/ClientToServer/TransactionCommand.d.ts +14 -12
- package/src/commands/ClientToServer/UnloadCommand.d.ts +8 -7
- package/src/commands/ClientToServer/WriteMessageToServerLogCommand.d.ts +6 -6
- package/src/commands/DataViewCommandBase.d.ts +6 -6
- package/src/commands/IClientCommand.d.ts +2 -2
- package/src/commands/IClientTargetedCommand.d.ts +12 -12
- package/src/commands/IClientToServerCommandInfo.d.ts +4 -3
- package/src/commands/ServerToClient/AbortCommand.d.ts +11 -11
- package/src/commands/ServerToClient/AddLocateCommand.d.ts +6 -6
- package/src/commands/ServerToClient/AddRangeCommand.d.ts +10 -10
- package/src/commands/ServerToClient/AddSortCommand.d.ts +9 -9
- package/src/commands/ServerToClient/ClientRefreshCommand.d.ts +7 -7
- package/src/commands/ServerToClient/ClientTargetedCommandBase.d.ts +12 -12
- package/src/commands/ServerToClient/EnhancedVerifyCommand.d.ts +13 -13
- package/src/commands/ServerToClient/OpenURLCommand.d.ts +21 -21
- package/src/commands/ServerToClient/ResetLocateCommand.d.ts +6 -6
- package/src/commands/ServerToClient/ResetRangeCommand.d.ts +6 -6
- package/src/commands/ServerToClient/ResetSortCommand.d.ts +6 -6
- package/src/commands/ServerToClient/ResultCommand.d.ts +10 -10
- package/src/commands/ServerToClient/VerifyCommand.d.ts +17 -17
- package/src/commands/ServerToClient/XMLBasedCommandBuilder.d.ts +11 -11
- package/src/communications/IConnectionStateManager.d.ts +4 -4
- package/src/communications/InteractiveCommunicationsFailureHandler.d.ts +6 -6
- package/src/data/DataSourceIdKey.d.ts +2 -2
- package/src/data/DataView.d.ts +162 -162
- package/src/data/DataViewBase.d.ts +12 -12
- package/src/data/DataviewManager.d.ts +14 -14
- package/src/data/DataviewManagerBase.d.ts +11 -11
- package/src/data/DvCache.d.ts +15 -15
- package/src/data/Field.d.ts +103 -103
- package/src/data/FieldBase.d.ts +23 -23
- package/src/data/FieldsTable.d.ts +27 -27
- package/src/data/IRecordsTable.d.ts +7 -7
- package/src/data/Key.d.ts +15 -15
- package/src/data/Record.d.ts +157 -156
- package/src/data/RecordOutOfDataViewException.d.ts +10 -10
- package/src/data/RecordsTable.d.ts +38 -38
- package/src/data/TaskTransactionManager.d.ts +17 -17
- package/src/data/XMLBasedDcValuesBuilder.d.ts +11 -11
- package/src/enums.d.ts +21 -21
- package/src/env/EnvVariablesTable.d.ts +17 -17
- package/src/env/Environment.d.ts +118 -118
- package/src/env/ILanguageData.d.ts +3 -3
- package/src/env/LanguageData.d.ts +20 -20
- package/src/env/MirrorString.d.ts +15 -15
- package/src/event/ActionManager.d.ts +14 -14
- package/src/event/Event.d.ts +79 -79
- package/src/event/EventHandler.d.ts +66 -66
- package/src/event/EventHandlerPosition.d.ts +25 -25
- package/src/event/EventsManager.d.ts +205 -204
- package/src/event/IEventsManager.d.ts +77 -77
- package/src/event/RunTimeEvent.d.ts +126 -123
- package/src/event/RunTimeEventBase.d.ts +5 -5
- package/src/event/UserEventsTable.d.ts +11 -11
- package/src/exp/ExpTable.d.ts +11 -11
- package/src/exp/Expression.d.ts +37 -37
- package/src/exp/ExpressionDict.d.ts +12 -12
- package/src/exp/ExpressionEvaluator.d.ts +198 -198
- package/src/exp/ExpressionLocalJpn.d.ts +18 -18
- package/src/exp/GlobalParamsTable.d.ts +19 -19
- package/src/exp/YesNoExp.d.ts +9 -9
- package/src/gui/CreatedFormVector.d.ts +10 -10
- package/src/gui/FormsTable.d.ts +15 -15
- package/src/gui/MgControl.d.ts +60 -60
- package/src/gui/MgForm.d.ts +96 -93
- package/src/http/HttpManager.d.ts +25 -25
- package/src/http/client/HttpClientAsync.d.ts +16 -16
- package/src/http/client/HttpClientBase.d.ts +30 -30
- package/src/http/client/HttpClientEvents.d.ts +18 -18
- package/src/http/client/HttpClientSync.d.ts +17 -17
- package/src/http/client/HttpUtility.d.ts +10 -10
- package/src/http/client/ICommunicationsFailureHandler.d.ts +5 -5
- package/src/remote/AddUserLocateRemoteDataViewCommand.d.ts +8 -8
- package/src/remote/AddUserRangeRemoteDataViewCommand.d.ts +8 -8
- package/src/remote/AddUserSortRemoteDataViewCommand.d.ts +8 -8
- package/src/remote/RemoteCommandsProcessor.d.ts +51 -51
- package/src/remote/RemoteControlItemsRefreshCommand.d.ts +8 -8
- package/src/remote/RemoteDataViewCommandBase.d.ts +10 -10
- package/src/remote/RemoteDataViewCommandFactory.d.ts +6 -6
- package/src/remote/RemoteDataViewCommandUpdateNonModifiable.d.ts +8 -8
- package/src/remote/RemoteDataviewManager.d.ts +9 -9
- package/src/remote/RemoteInitDataViewCommand.d.ts +7 -7
- package/src/remote/ResetUserLocateRemoteDataviewCommand.d.ts +7 -7
- package/src/remote/ResetUserRangeRemoteDataviewCommand.d.ts +7 -7
- package/src/remote/ResetUserSortRemoteDataviewCommand.d.ts +7 -7
- package/src/remote/ServerError.d.ts +16 -16
- package/src/remote/SetTransactionStateRemoteDataViewCommand.d.ts +8 -8
- package/src/rt/Argument.d.ts +36 -36
- package/src/rt/ArgumentsList.d.ts +24 -24
- package/src/rt/Boundary.d.ts +27 -27
- package/src/rt/CompMainPrgTable.d.ts +10 -10
- package/src/rt/DataviewHeaderBase.d.ts +34 -34
- package/src/rt/DataviewHeaderFactory.d.ts +5 -5
- package/src/rt/DataviewHeaders.d.ts +12 -12
- package/src/rt/DataviewHeadersSaxHandler.d.ts +10 -10
- package/src/rt/ExecutionStack.d.ts +22 -22
- package/src/rt/ExecutionStackEntry.d.ts +7 -7
- package/src/rt/HandlersTable.d.ts +19 -19
- package/src/rt/IDataSourceViewDefinition.d.ts +6 -6
- package/src/rt/IDataviewHeader.d.ts +10 -10
- package/src/rt/IResultValue.d.ts +4 -4
- package/src/rt/LastFocusedManager.d.ts +23 -23
- package/src/rt/Operation.d.ts +97 -97
- package/src/rt/OperationTable.d.ts +15 -15
- package/src/rt/Recompute.d.ts +41 -41
- package/src/rt/RecomputeTable.d.ts +9 -9
- package/src/rt/RemoteDataviewHeader.d.ts +14 -14
- package/src/rt/ResultValue.d.ts +7 -7
- package/src/rt/TableCache.d.ts +29 -29
- package/src/rt/TableCacheManager.d.ts +10 -10
- package/src/rt/Transaction.d.ts +23 -23
- package/src/security/UserDetails.d.ts +16 -16
- package/src/tasks/IMGDataCollection.d.ts +26 -26
- package/src/tasks/MGData.d.ts +63 -63
- package/src/tasks/MGDataCollection.d.ts +42 -42
- package/src/tasks/RCTimer.d.ts +13 -13
- package/src/tasks/RemoteTaskService.d.ts +16 -16
- package/src/tasks/Task.d.ts +312 -312
- package/src/tasks/TaskBase.d.ts +123 -123
- package/src/tasks/TaskServiceBase.d.ts +16 -16
- package/src/tasks/TasksTable.d.ts +21 -21
- package/src/tasks/sort/Sort.d.ts +4 -4
- package/src/tasks/sort/SortCollection.d.ts +11 -11
- package/src/util/ConstUtils.d.ts +3 -3
- package/src/util/FlowMonitorQueue.d.ts +70 -70
- package/src/util/HeapSort.d.ts +6 -6
- package/src/util/IMirrorXML.d.ts +6 -6
- package/src/util/IServerConfig.d.ts +11 -11
- package/src/util/MgBlockingQueue.d.ts +5 -5
- package/src/util/MgPriorityBlockingQueue.d.ts +17 -17
- package/src/util/MgPriorityQueue.d.ts +13 -13
- package/src/util/ParamParseResult.d.ts +6 -6
- package/src/util/PrmMap.d.ts +28 -28
- package/src/util/ReturnResult.d.ts +18 -18
- package/src/util/ReturnResultBase.d.ts +11 -11
- package/src/util/Scrambler.d.ts +10 -10
- package/src/util/UniqueIDUtils.d.ts +4 -4
- package/src/util/cookie.service.d.ts +8 -8
- package/esm2020/src/AccessHelper.mjs +0 -9
- package/esm2020/src/ClientManager.mjs +0 -399
- package/esm2020/src/CommandsProcessorBase.mjs +0 -58
- package/esm2020/src/CommandsTable.mjs +0 -162
- package/esm2020/src/ConstInterface.mjs +0 -516
- package/esm2020/src/FlowMonitorInterface.mjs +0 -16
- package/esm2020/src/GUIManager.mjs +0 -62
- package/esm2020/src/GlobalCommandsManager.mjs +0 -34
- package/esm2020/src/GuiEventsProcessor.mjs +0 -154
- package/esm2020/src/ServerConfig.mjs +0 -117
- package/esm2020/src/bridge/MagicBridge.mjs +0 -41
- package/esm2020/src/commands/ClientOriginatedCommandTaskTag.mjs +0 -11
- package/esm2020/src/commands/ClientToServer/BrowserEscEventCommand.mjs +0 -23
- package/esm2020/src/commands/ClientToServer/ColumnSortEventCommand.mjs +0 -26
- package/esm2020/src/commands/ClientToServer/CommandFactory.mjs +0 -260
- package/esm2020/src/commands/ClientToServer/CommandSerializationHelper.mjs +0 -69
- package/esm2020/src/commands/ClientToServer/ComputeEventCommand.mjs +0 -23
- package/esm2020/src/commands/ClientToServer/DataViewOutputCommand.mjs +0 -13
- package/esm2020/src/commands/ClientToServer/EvaluateCommand.mjs +0 -36
- package/esm2020/src/commands/ClientToServer/ExecOperCommand.mjs +0 -67
- package/esm2020/src/commands/ClientToServer/FetchDataControlValuesEventCommand.mjs +0 -22
- package/esm2020/src/commands/ClientToServer/IndexChangeEventCommand.mjs +0 -21
- package/esm2020/src/commands/ClientToServer/IniputForceWriteCommand.mjs +0 -23
- package/esm2020/src/commands/ClientToServer/RecomputeCommand.mjs +0 -27
- package/esm2020/src/commands/ClientToServer/RefreshEventCommand.mjs +0 -27
- package/esm2020/src/commands/ClientToServer/RefreshScreenEventCommand.mjs +0 -24
- package/esm2020/src/commands/ClientToServer/RollbackEventCommand.mjs +0 -39
- package/esm2020/src/commands/ClientToServer/SelectProgramCommand.mjs +0 -15
- package/esm2020/src/commands/ClientToServer/SubformOpenEventCommand.mjs +0 -21
- package/esm2020/src/commands/ClientToServer/SubformRefreshEventCommand.mjs +0 -24
- package/esm2020/src/commands/ClientToServer/TransactionCommand.mjs +0 -28
- package/esm2020/src/commands/ClientToServer/WriteMessageToServerLogCommand.mjs +0 -18
- package/esm2020/src/commands/DataViewCommandBase.mjs +0 -10
- package/esm2020/src/commands/IClientTargetedCommand.mjs +0 -9
- package/esm2020/src/commands/ServerToClient/AbortCommand.mjs +0 -65
- package/esm2020/src/commands/ServerToClient/ClientRefreshCommand.mjs +0 -25
- package/esm2020/src/commands/ServerToClient/ClientTargetedCommandBase.mjs +0 -27
- package/esm2020/src/commands/ServerToClient/EnhancedVerifyCommand.mjs +0 -45
- package/esm2020/src/commands/ServerToClient/OpenURLCommand.mjs +0 -221
- package/esm2020/src/commands/ServerToClient/ResultCommand.mjs +0 -37
- package/esm2020/src/commands/ServerToClient/VerifyCommand.mjs +0 -83
- package/esm2020/src/communications/InteractiveCommunicationsFailureHandler.mjs +0 -17
- package/esm2020/src/data/DataView.mjs +0 -1610
- package/esm2020/src/data/DataviewManager.mjs +0 -28
- package/esm2020/src/data/DataviewManagerBase.mjs +0 -15
- package/esm2020/src/data/DvCache.mjs +0 -67
- package/esm2020/src/data/Field.mjs +0 -646
- package/esm2020/src/data/FieldBase.mjs +0 -18
- package/esm2020/src/data/FieldsTable.mjs +0 -103
- package/esm2020/src/data/Record.mjs +0 -846
- package/esm2020/src/data/RecordsTable.mjs +0 -267
- package/esm2020/src/env/EnvVariablesTable.mjs +0 -340
- package/esm2020/src/env/Environment.mjs +0 -489
- package/esm2020/src/env/LanguageData.mjs +0 -226
- package/esm2020/src/event/ActionManager.mjs +0 -91
- package/esm2020/src/event/Event.mjs +0 -1333
- package/esm2020/src/event/EventHandler.mjs +0 -766
- package/esm2020/src/event/EventHandlerPosition.mjs +0 -204
- package/esm2020/src/event/EventsManager.mjs +0 -2975
- package/esm2020/src/event/RunTimeEvent.mjs +0 -392
- package/esm2020/src/event/UserEventsTable.mjs +0 -47
- package/esm2020/src/exp/ExpTable.mjs +0 -59
- package/esm2020/src/exp/Expression.mjs +0 -200
- package/esm2020/src/exp/ExpressionDict.mjs +0 -727
- package/esm2020/src/exp/ExpressionEvaluator.mjs +0 -4208
- package/esm2020/src/exp/ExpressionLocalJpn.mjs +0 -314
- package/esm2020/src/exp/YesNoExp.mjs +0 -36
- package/esm2020/src/gui/CreatedFormVector.mjs +0 -23
- package/esm2020/src/gui/FormsTable.mjs +0 -66
- package/esm2020/src/gui/MgControl.mjs +0 -353
- package/esm2020/src/gui/MgForm.mjs +0 -1181
- package/esm2020/src/http/HttpManager.mjs +0 -97
- package/esm2020/src/http/client/HttpClientAsync.mjs +0 -67
- package/esm2020/src/http/client/HttpClientEvents.mjs +0 -39
- package/esm2020/src/http/client/HttpClientSync.mjs +0 -42
- package/esm2020/src/http/client/HttpUtility.mjs +0 -84
- package/esm2020/src/remote/RemoteCommandsProcessor.mjs +0 -880
- package/esm2020/src/remote/ServerError.mjs +0 -40
- package/esm2020/src/rt/Argument.mjs +0 -265
- package/esm2020/src/rt/ArgumentsList.mjs +0 -103
- package/esm2020/src/rt/Boundary.mjs +0 -152
- package/esm2020/src/rt/CompMainPrgTable.mjs +0 -65
- package/esm2020/src/rt/DataviewHeaderBase.mjs +0 -96
- package/esm2020/src/rt/DataviewHeaders.mjs +0 -53
- package/esm2020/src/rt/LastFocusedManager.mjs +0 -67
- package/esm2020/src/rt/Operation.mjs +0 -735
- package/esm2020/src/rt/OperationTable.mjs +0 -67
- package/esm2020/src/rt/Recompute.mjs +0 -355
- package/esm2020/src/rt/ResultValue.mjs +0 -12
- package/esm2020/src/rt/TableCache.mjs +0 -177
- package/esm2020/src/rt/TableCacheManager.mjs +0 -67
- package/esm2020/src/rt/Transaction.mjs +0 -53
- package/esm2020/src/security/UserDetails.mjs +0 -71
- package/esm2020/src/tasks/MGData.mjs +0 -552
- package/esm2020/src/tasks/MGDataCollection.mjs +0 -252
- package/esm2020/src/tasks/RCTimer.mjs +0 -63
- package/esm2020/src/tasks/Task.mjs +0 -2496
- package/esm2020/src/tasks/TaskBase.mjs +0 -87
- package/esm2020/src/tasks/TasksTable.mjs +0 -80
- package/esm2020/src/tasks/sort/Sort.mjs +0 -7
- package/esm2020/src/util/FlowMonitorQueue.mjs +0 -453
- package/esm2020/src/util/MgPriorityBlockingQueue.mjs +0 -74
- package/esm2020/src/util/MgPriorityQueue.mjs +0 -66
- package/esm2020/src/util/PrmMap.mjs +0 -151
- package/esm2020/src/util/ReturnResult.mjs +0 -46
- package/esm2020/src/util/ReturnResultBase.mjs +0 -18
- package/esm2020/src/util/Scrambler.mjs +0 -89
- package/esm2020/src/util/UniqueIDUtils.mjs +0 -12
- package/fesm2015/magic-xpa-engine.mjs +0 -30837
- package/fesm2015/magic-xpa-engine.mjs.map +0 -1
- 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
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
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,
|
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
|
-
|
7
|
-
|
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==
|