@magic-xpa/engine 4.1100.0-dev4110.99 → 4.1101.0-dev4111.271
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
@@ -1,260 +0,0 @@
|
|
1
|
-
import { NUM_TYPE } from '@magic-xpa/gui';
|
2
|
-
import { InternalInterface, StorageAttribute, ViewRefreshMode } from '@magic-xpa/utils';
|
3
|
-
import { EventCommand } from './EventCommand';
|
4
|
-
import { RollbackEventCommand } from './RollbackEventCommand';
|
5
|
-
import { DataviewCommand, DataViewCommandType } from './DataviewCommand';
|
6
|
-
import { AddUserRangeDataviewCommand } from './AddUserRangeDataviewCommand';
|
7
|
-
import { AddUserSortDataViewCommand } from './AddUserSortDataViewCommand';
|
8
|
-
import { AddUserLocateDataViewCommand } from './AddUserLocateDataViewCommand';
|
9
|
-
import { SetTransactionStateDataviewCommand } from './SetTransactionStateDataviewCommand';
|
10
|
-
import { RefreshEventCommand } from './RefreshEventCommand';
|
11
|
-
import { FetchDataControlValuesEventCommand } from './FetchDataControlValuesEventCommand';
|
12
|
-
import { SubformRefreshEventCommand } from './SubformRefreshEventCommand';
|
13
|
-
import { BrowserEscEventCommand } from './BrowserEscEventCommand';
|
14
|
-
import { IndexChangeEventCommand } from './IndexChangeEventCommand';
|
15
|
-
import { ColumnSortEventCommand } from './ColumnSortEventCommand';
|
16
|
-
import { RefreshScreenEventCommand } from './RefreshScreenEventCommand';
|
17
|
-
import { SubformOpenEventCommand } from './SubformOpenEventCommand';
|
18
|
-
import { ComputeEventCommand } from './ComputeEventCommand';
|
19
|
-
import { NonReversibleExitEventCommand } from './NonReversibleExitEventCommand';
|
20
|
-
import { RecomputeCommand } from './RecomputeCommand';
|
21
|
-
import { TransactionCommand } from './TransactionCommand';
|
22
|
-
import { UnloadCommand } from './UnloadCommand';
|
23
|
-
import { ExecOperCommand } from './ExecOperCommand';
|
24
|
-
import { EvaluateCommand } from './EvaluateCommand';
|
25
|
-
import { GlobalParamsQueryCommand } from './GlobalParamsQueryCommand';
|
26
|
-
import { IniputForceWriteCommand } from './IniputForceWriteCommand';
|
27
|
-
import { ContextTerminationEventCommand } from './ContextTerminationEventCommand';
|
28
|
-
import { ContextTimeoutResetCommand } from './ContextTimeoutResetCommand';
|
29
|
-
import { SelectProgramCommand } from './SelectProgramCommand';
|
30
|
-
import { ControlItemsRefreshCommand } from './ControlItemsRefreshCommand';
|
31
|
-
export class CommandFactory {
|
32
|
-
static CreateEventCommand(taskTag, magicEvent) {
|
33
|
-
let eventCommand = new EventCommand(magicEvent);
|
34
|
-
eventCommand.TaskTag = taskTag;
|
35
|
-
return eventCommand;
|
36
|
-
}
|
37
|
-
static CreateRollbackEventCommand(taskTag, rollbackType) {
|
38
|
-
let cmd = new RollbackEventCommand();
|
39
|
-
cmd.TaskTag = taskTag;
|
40
|
-
cmd.Rollback = rollbackType;
|
41
|
-
return cmd;
|
42
|
-
}
|
43
|
-
static CreateDataViewCommand(taskId, commandType) {
|
44
|
-
let dataviewCommand = new DataviewCommand();
|
45
|
-
dataviewCommand.CommandType = commandType;
|
46
|
-
dataviewCommand.TaskTag = taskId;
|
47
|
-
return dataviewCommand;
|
48
|
-
}
|
49
|
-
static CreateControlItemsRefreshCommand(taskId, control) {
|
50
|
-
let command = new ControlItemsRefreshCommand();
|
51
|
-
command.CommandType = DataViewCommandType.ControlItemsRefresh;
|
52
|
-
command.TaskTag = taskId;
|
53
|
-
command.Control = control;
|
54
|
-
return command;
|
55
|
-
}
|
56
|
-
static CreateAddUserRangeDataviewCommand(taskId, userRange) {
|
57
|
-
let addUserRangeDataviewCommand = new AddUserRangeDataviewCommand();
|
58
|
-
addUserRangeDataviewCommand.TaskTag = taskId;
|
59
|
-
addUserRangeDataviewCommand.Range = userRange;
|
60
|
-
return addUserRangeDataviewCommand;
|
61
|
-
}
|
62
|
-
static CreateAddUserSortDataviewCommand(taskId, sort) {
|
63
|
-
let addUserSortDataViewCommand = new AddUserSortDataViewCommand();
|
64
|
-
addUserSortDataViewCommand.TaskTag = taskId;
|
65
|
-
addUserSortDataViewCommand.Sort = sort;
|
66
|
-
return addUserSortDataViewCommand;
|
67
|
-
}
|
68
|
-
static CreateAddUserLocateDataviewCommand(taskId, userRange) {
|
69
|
-
let addUserLocateDataViewCommand = new AddUserLocateDataViewCommand();
|
70
|
-
addUserLocateDataViewCommand.TaskTag = taskId;
|
71
|
-
addUserLocateDataViewCommand.Range = userRange;
|
72
|
-
return addUserLocateDataViewCommand;
|
73
|
-
}
|
74
|
-
static CreateSetTransactionStateDataviewCommand(taskId, transactionIsOpened) {
|
75
|
-
let setTransactionStateDataviewCommand = new SetTransactionStateDataviewCommand();
|
76
|
-
setTransactionStateDataviewCommand.TaskTag = taskId;
|
77
|
-
setTransactionStateDataviewCommand.TransactionIsOpen = transactionIsOpened;
|
78
|
-
return setTransactionStateDataviewCommand;
|
79
|
-
}
|
80
|
-
static CreateInternalRefreshCommand(taskId, magicEvent, currentRecId, currentRow) {
|
81
|
-
let refreshEventCommand = new RefreshEventCommand(magicEvent);
|
82
|
-
refreshEventCommand.TaskTag = taskId;
|
83
|
-
refreshEventCommand.RefreshMode = ViewRefreshMode.CurrentLocation;
|
84
|
-
refreshEventCommand.ClientRecId = currentRecId;
|
85
|
-
refreshEventCommand.IsInternalRefresh = true;
|
86
|
-
refreshEventCommand.CurrentRecordRow = currentRow;
|
87
|
-
return refreshEventCommand;
|
88
|
-
}
|
89
|
-
static async CreateRealRefreshCommand(taskId, magicEvent, currentRow, argList, currentRecId) {
|
90
|
-
let refreshEventCommand = new RefreshEventCommand(magicEvent);
|
91
|
-
refreshEventCommand.TaskTag = taskId;
|
92
|
-
refreshEventCommand.RefreshMode = ViewRefreshMode.CurrentLocation;
|
93
|
-
refreshEventCommand.KeepUserSort = false;
|
94
|
-
refreshEventCommand.ClientRecId = currentRecId;
|
95
|
-
refreshEventCommand.CurrentRecordRow = currentRow;
|
96
|
-
let cmd = refreshEventCommand;
|
97
|
-
if (magicEvent !== InternalInterface.MG_ACT_RT_REFRESH_RECORD && argList !== null && argList.getSize() !== 0) {
|
98
|
-
try {
|
99
|
-
let refreshMode = new NUM_TYPE(await argList.getArgValue(0, StorageAttribute.NUMERIC, 0));
|
100
|
-
cmd.RefreshMode = refreshMode.NUM_2_LONG() + 1;
|
101
|
-
}
|
102
|
-
catch (e) {
|
103
|
-
cmd.RefreshMode = ViewRefreshMode.CurrentLocation;
|
104
|
-
}
|
105
|
-
if (argList.getSize() > 1) {
|
106
|
-
try {
|
107
|
-
cmd.KeepUserSort = (await argList.getArgValue(1, StorageAttribute.BOOLEAN, 0) === '1');
|
108
|
-
}
|
109
|
-
catch (e) {
|
110
|
-
cmd.KeepUserSort = false;
|
111
|
-
}
|
112
|
-
}
|
113
|
-
}
|
114
|
-
return cmd;
|
115
|
-
}
|
116
|
-
static CreatecFetchDataControlValuesCommand(taskTag, controlName) {
|
117
|
-
let fetchDataControlValuesEventCommand = new FetchDataControlValuesEventCommand();
|
118
|
-
fetchDataControlValuesEventCommand.TaskTag = taskTag;
|
119
|
-
fetchDataControlValuesEventCommand.ControlName = controlName;
|
120
|
-
return fetchDataControlValuesEventCommand;
|
121
|
-
}
|
122
|
-
static CreateSubformRefreshCommand(taskTag, subformTaskTag, explicitSubformRefresh) {
|
123
|
-
let subformRefreshEventCommand = new SubformRefreshEventCommand();
|
124
|
-
subformRefreshEventCommand.TaskTag = taskTag;
|
125
|
-
subformRefreshEventCommand.SubformTaskTag = subformTaskTag;
|
126
|
-
subformRefreshEventCommand.ExplicitSubformRefresh = explicitSubformRefresh;
|
127
|
-
subformRefreshEventCommand.RefreshMode = ViewRefreshMode.UseTaskLocate;
|
128
|
-
return subformRefreshEventCommand;
|
129
|
-
}
|
130
|
-
static CreateSubformOpenCommand(taskTag, subformDitIdx) {
|
131
|
-
let subformOpenEventCommand = new SubformOpenEventCommand();
|
132
|
-
subformOpenEventCommand.TaskTag = taskTag;
|
133
|
-
subformOpenEventCommand.DitIdx = subformDitIdx;
|
134
|
-
return subformOpenEventCommand;
|
135
|
-
}
|
136
|
-
static CreateScreenRefreshCommand(taskTag, topRecIdx, clientRecId) {
|
137
|
-
let refreshScreenEventCommand = new RefreshScreenEventCommand();
|
138
|
-
refreshScreenEventCommand.TaskTag = taskTag;
|
139
|
-
refreshScreenEventCommand.TopRecIdx = topRecIdx;
|
140
|
-
refreshScreenEventCommand.RefreshMode = ViewRefreshMode.CurrentLocation;
|
141
|
-
refreshScreenEventCommand.ClientRecId = clientRecId;
|
142
|
-
return refreshScreenEventCommand;
|
143
|
-
}
|
144
|
-
static CreateColumnSortCommand(taskTag, direction, ditIdx, fieldId, recId) {
|
145
|
-
let columnSortEventCommand = new ColumnSortEventCommand();
|
146
|
-
columnSortEventCommand.TaskTag = taskTag;
|
147
|
-
columnSortEventCommand.DitIdx = ditIdx;
|
148
|
-
columnSortEventCommand.FldId = fieldId + 1;
|
149
|
-
columnSortEventCommand.ClientRecId = recId;
|
150
|
-
columnSortEventCommand.Direction = direction;
|
151
|
-
return columnSortEventCommand;
|
152
|
-
}
|
153
|
-
static async CreateIndexChangeCommand(taskTag, recId, argList) {
|
154
|
-
let indexChangeEventCommand = new IndexChangeEventCommand();
|
155
|
-
indexChangeEventCommand.TaskTag = taskTag;
|
156
|
-
indexChangeEventCommand.ClientRecId = recId;
|
157
|
-
let cmd = indexChangeEventCommand;
|
158
|
-
if (argList !== null && argList.getSize() !== 0) {
|
159
|
-
try {
|
160
|
-
let keyIndex = new NUM_TYPE(await argList.getArgValue(0, StorageAttribute.NUMERIC, 0));
|
161
|
-
cmd.KeyIndex = keyIndex.NUM_2_LONG();
|
162
|
-
}
|
163
|
-
catch (e) {
|
164
|
-
cmd.KeyIndex = 0;
|
165
|
-
}
|
166
|
-
}
|
167
|
-
return cmd;
|
168
|
-
}
|
169
|
-
static CreateBrowserEscEventCommand(taskTag, closeSubformOnly) {
|
170
|
-
let browserEscEventCommand = new BrowserEscEventCommand();
|
171
|
-
browserEscEventCommand.TaskTag = taskTag;
|
172
|
-
browserEscEventCommand.CloseSubformOnly = closeSubformOnly;
|
173
|
-
return browserEscEventCommand;
|
174
|
-
}
|
175
|
-
static CreateComputeEventCommand(taskTag, subforms, clientRecId) {
|
176
|
-
let computeEventCommand = new ComputeEventCommand();
|
177
|
-
computeEventCommand.TaskTag = taskTag;
|
178
|
-
computeEventCommand.Subforms = subforms;
|
179
|
-
computeEventCommand.ClientRecId = clientRecId;
|
180
|
-
return computeEventCommand;
|
181
|
-
}
|
182
|
-
static CreateContextTerminationEventCommand(taskTag) {
|
183
|
-
let contextTerminationEventCommand = new ContextTerminationEventCommand();
|
184
|
-
contextTerminationEventCommand.TaskTag = taskTag;
|
185
|
-
return contextTerminationEventCommand;
|
186
|
-
}
|
187
|
-
static CreateContextTimeoutResetEventCommand() {
|
188
|
-
let contextTimeoutResetCommand = new ContextTimeoutResetCommand();
|
189
|
-
return contextTimeoutResetCommand;
|
190
|
-
}
|
191
|
-
static CreateNonReversibleExitCommand(taskTag, closeSubformOnly) {
|
192
|
-
let nonReversibleExitEventCommand = new NonReversibleExitEventCommand();
|
193
|
-
nonReversibleExitEventCommand.TaskTag = taskTag;
|
194
|
-
nonReversibleExitEventCommand.CloseSubformOnly = closeSubformOnly;
|
195
|
-
return nonReversibleExitEventCommand;
|
196
|
-
}
|
197
|
-
static CreateRecomputeCommand(taskTag, fieldId, ignoreSubformRecompute) {
|
198
|
-
let recomputeCommand = new RecomputeCommand();
|
199
|
-
recomputeCommand.TaskTag = taskTag;
|
200
|
-
recomputeCommand.FldId = fieldId;
|
201
|
-
recomputeCommand.IgnoreSubformRecompute = ignoreSubformRecompute;
|
202
|
-
return recomputeCommand;
|
203
|
-
}
|
204
|
-
static CreateTransactionCommand(oper, taskTag, cReversibleExit, level) {
|
205
|
-
let transactionCommand = new TransactionCommand();
|
206
|
-
transactionCommand.TaskTag = taskTag;
|
207
|
-
transactionCommand.Oper = oper;
|
208
|
-
transactionCommand.ReversibleExit = cReversibleExit;
|
209
|
-
transactionCommand.Level = level;
|
210
|
-
return transactionCommand;
|
211
|
-
}
|
212
|
-
static CreateUnloadCommand() {
|
213
|
-
return new UnloadCommand();
|
214
|
-
}
|
215
|
-
static CreateExecOperCommand(taskTag, handlerId, operIdx, ditIdx, value) {
|
216
|
-
let execOperCommand = new ExecOperCommand();
|
217
|
-
execOperCommand.OperIdx = operIdx;
|
218
|
-
execOperCommand.TaskTag = taskTag;
|
219
|
-
execOperCommand.HandlerId = handlerId;
|
220
|
-
execOperCommand.DitIdx = ditIdx;
|
221
|
-
let cmd = execOperCommand;
|
222
|
-
if (value !== null && value.length === 0)
|
223
|
-
cmd.Val = ' ';
|
224
|
-
else
|
225
|
-
cmd.Val = value;
|
226
|
-
return cmd;
|
227
|
-
}
|
228
|
-
static CreateSelectProgramCommand(taskTag, handlerId, operIdx, ditIdx, value) {
|
229
|
-
let execOperCommand = new SelectProgramCommand();
|
230
|
-
execOperCommand.OperIdx = operIdx;
|
231
|
-
execOperCommand.TaskTag = taskTag;
|
232
|
-
execOperCommand.HandlerId = handlerId;
|
233
|
-
execOperCommand.DitIdx = ditIdx;
|
234
|
-
let cmd = execOperCommand;
|
235
|
-
if (value !== null && value.length === 0)
|
236
|
-
cmd.Val = ' ';
|
237
|
-
else
|
238
|
-
cmd.Val = value;
|
239
|
-
return cmd;
|
240
|
-
}
|
241
|
-
static CreateEvaluateCommand(taskTag, expType, expIdx, expValLen, mprgCreator) {
|
242
|
-
let evaluateCommand = new EvaluateCommand();
|
243
|
-
evaluateCommand.TaskTag = taskTag;
|
244
|
-
evaluateCommand.ExpIdx = expIdx;
|
245
|
-
evaluateCommand.ExpType = expType;
|
246
|
-
evaluateCommand.MprgCreator = mprgCreator;
|
247
|
-
if (expValLen > 0)
|
248
|
-
evaluateCommand.LengthExpVal = expValLen;
|
249
|
-
return evaluateCommand;
|
250
|
-
}
|
251
|
-
static CreateQueryGlobalParamsCommand() {
|
252
|
-
return new GlobalParamsQueryCommand();
|
253
|
-
}
|
254
|
-
static CreateIniputForceWriteCommand(param) {
|
255
|
-
let iniputForceWriteCommand = new IniputForceWriteCommand();
|
256
|
-
iniputForceWriteCommand.Text = param;
|
257
|
-
return iniputForceWriteCommand;
|
258
|
-
}
|
259
|
-
}
|
260
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ29tbWFuZEZhY3RvcnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lbmdpbmUvc3JjL2NvbW1hbmRzL0NsaWVudFRvU2VydmVyL0NvbW1hbmRGYWN0b3J5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBZ0IsUUFBUSxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDdkQsT0FBTyxFQUFDLGlCQUFpQixFQUFFLGdCQUFnQixFQUFFLGVBQWUsRUFBQyxNQUFNLGtCQUFrQixDQUFDO0FBQ3RGLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUM1QyxPQUFPLEVBQUMsb0JBQW9CLEVBQW9DLE1BQU0sd0JBQXdCLENBQUM7QUFDL0YsT0FBTyxFQUFDLGVBQWUsRUFBRSxtQkFBbUIsRUFBQyxNQUFNLG1CQUFtQixDQUFDO0FBR3ZFLE9BQU8sRUFBQywyQkFBMkIsRUFBQyxNQUFNLCtCQUErQixDQUFDO0FBRTFFLE9BQU8sRUFBQywwQkFBMEIsRUFBQyxNQUFNLDhCQUE4QixDQUFDO0FBQ3hFLE9BQU8sRUFBQyw0QkFBNEIsRUFBQyxNQUFNLGdDQUFnQyxDQUFDO0FBQzVFLE9BQU8sRUFBQyxrQ0FBa0MsRUFBQyxNQUFNLHNDQUFzQyxDQUFDO0FBQ3hGLE9BQU8sRUFBQyxtQkFBbUIsRUFBQyxNQUFNLHVCQUF1QixDQUFDO0FBRTFELE9BQU8sRUFBQyxrQ0FBa0MsRUFBQyxNQUFNLHNDQUFzQyxDQUFDO0FBQ3hGLE9BQU8sRUFBQywwQkFBMEIsRUFBQyxNQUFNLDhCQUE4QixDQUFDO0FBQ3hFLE9BQU8sRUFBQyxzQkFBc0IsRUFBQyxNQUFNLDBCQUEwQixDQUFDO0FBQ2hFLE9BQU8sRUFBQyx1QkFBdUIsRUFBQyxNQUFNLDJCQUEyQixDQUFDO0FBQ2xFLE9BQU8sRUFBQyxzQkFBc0IsRUFBQyxNQUFNLDBCQUEwQixDQUFDO0FBQ2hFLE9BQU8sRUFBQyx5QkFB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ZSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUM7UUFDbEMsZUFBZSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7UUFDaEMsZUFBZSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUM7UUFDbEMsZUFBZSxDQUFDLFdBQVcsR0FBRyxXQUFXLENBQUM7UUFFMUMsSUFBSSxTQUFTLEdBQUcsQ0FBQztZQUNmLGVBQWUsQ0FBQyxZQUFZLEdBQUcsU0FBUyxDQUFDO1FBQzNDLE9BQU8sZUFBZSxDQUFDO0lBQ3pCLENBQUM7SUFPRCxNQUFNLENBQUMsOEJBQThCO1FBQ25DLE9BQU8sSUFBSSx3QkFBd0IsRUFBRSxDQUFDO0lBQ3hDLENBQUM7SUFPRCxNQUFNLENBQUMsNkJBQTZCLENBQUMsS0FBYTtRQUNoRCxJQUFJLHVCQUF1QixHQUE0QixJQUFJLHVCQUF1QixFQUFFLENBQUM7UUFDckYsdUJBQXVCLENBQUMsSUFBSSxHQUFHLEtBQUssQ0FBQztRQUNyQyxPQUFPLHVCQUF1QixDQUFDO0lBQ2pDLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7TWdDb250cm9sQmFzZSwgTlVNX1RZUEV9IGZyb20gJ0BtYWdpYy14cGEvZ3VpJztcclxuaW1wb3J0IHtJbnRlcm5hbEludGVyZmFjZSwgU3RvcmFnZUF0dHJpYnV0ZSwgVmlld1JlZnJlc2hNb2RlfSBmcm9tICdAbWFnaWMteHBhL3V0aWxzJztcclxuaW1wb3J0IHtFdmVudENvbW1hbmR9IGZyb20gJy4vRXZlbnRDb21tYW5kJztcclxuaW1wb3J0IHtSb2xsYmFja0V2ZW50Q29tbWFuZCwgUm9sbGJhY2tFdmVudENvbW1hbmRfUm9sbGJhY2tUeXBlfSBmcm9tICcuL1JvbGxiYWNrRXZlbnRDb21tYW5kJztcclxuaW1wb3J0IHtEYXRhdmlld0NvbW1hbmQsIERhdGFWaWV3Q29tbWFuZFR5cGV9IGZyb20gJy4vRGF0YXZpZXdDb21tYW5kJztcclxuaW1wb3J0IHtUYXNrfSBmcm9tICcuLi8uLi90YXNrcy9UYXNrJztcclxuaW1wb3J0IHtVc2VyUmFuZ2V9IGZyb20gJy4uLy4uL3Rhc2tzL1Rhc2tCYXNlJztcclxuaW1wb3J0IHtBZGRVc2VyUmFuZ2VEYXRhdmlld0NvbW1hbmR9IGZyb20gJy4vQWRkVXNlclJhbmdlRGF0YXZpZXdDb21tYW5kJztcclxuaW1wb3J0IHtTb3J0fSBmcm9tICcuLi8uLi90YXNrcy9zb3J0L1NvcnQnO1xyXG5pbXBvcnQge0FkZFVzZXJTb3J0RGF0YVZpZXdDb21tYW5kfSBmcm9tICcuL0FkZFVzZXJTb3J0RGF0YVZpZXdDb21tYW5kJztcclxuaW1wb3J0IHtBZGRVc2VyTG9jYXRlRGF0YVZpZXdDb21tYW5kfSBmcm9tICcuL0FkZFVzZXJMb2NhdGVEYXRhVmlld0NvbW1hbmQnO1xyXG5pbXBvcnQge1NldFRyYW5zYWN0aW9uU3RhdGVEYXRhdmlld0NvbW1hbmR9IGZyb20gJy4vU2V0VHJhbnNhY3Rpb25TdGF0ZURhdGF2aWV3Q29tbWFuZCc7XHJcbmltcG9ydCB7UmVmcmVzaEV2ZW50Q29tbWFuZH0gZnJvbSAnLi9SZWZyZXNoRXZlbnRDb21tYW5kJztcclxuaW1wb3J0IHtBcmd1bWVudHNMaXN0fSBmcm9tICcuLi8uLi9ydC9Bcmd1bWVudHNMaXN0JztcclxuaW1wb3J0IHtGZXRjaERhdGFDb250cm9sVmFsdWVzRXZlbnRDb21tYW5kfSBmcm9tICcuL0ZldGNoRGF0YUNvbnRyb2xWYWx1ZXNFdmVudENvbW1hbmQnO1xyXG5pbXBvcnQge1N1YmZvcm1SZWZyZXNoRXZlbnRDb21tYW5kfSBmcm9tICcuL1N1YmZvcm1SZWZyZXNoRXZlbnRDb21tYW5kJztcclxuaW1wb3J0IHtCcm93c2VyRXNjRXZlbnRDb21tYW5kfSBmcm9tICcuL0Jyb3dzZXJFc2NFdmVudENvbW1hbmQnO1xyXG5pbXBvcnQge0luZGV4Q2hhbmdlRXZlbnRDb21tYW5kfSBmcm9tICcuL0luZGV4Q2hhbmdlRXZlbnRDb21tYW5kJztcclxuaW1wb3J0IHtDb2x1bW5Tb3J0RXZlbnRDb21tYW5kfSBmcm9tICcuL0NvbHVtblNvcnRFdmVudENvbW1hbmQnO1xyXG5pbXBvcnQge1JlZnJlc2hTY3JlZW5FdmVudENvbW1hbmR9IGZyb20gJy4vUmVmcmVzaFNjcmVlbkV2ZW50Q29tbWFuZCc7XHJcbmltcG9ydCB7U3ViZm9ybU9wZW5FdmVudENvbW1hbmR9IGZyb20gJy4vU3ViZm9ybU9wZW5FdmVudENvbW1hbmQnO1xyXG5pbXBvcnQge0NvbXB1dGVFdmVudENvbW1hbmR9IGZyb20gJy4vQ29tcHV0ZUV2ZW50Q29tbWFuZCc7XHJcbmltcG9ydCB7Tm9uUmV2ZXJzaWJsZUV4aXRFdmVudENvbW1hbmR9IGZyb20gJy4vTm9uUmV2ZXJzaWJsZUV4aXRFdmVudENvbW1hbmQnO1xyXG5pbXBvcnQge1JlY29tcHV0ZUNvbW1hbmR9IGZyb20gJy4vUmVjb21wdXRlQ29tbWFuZCc7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25Db21tYW5kfSBmcm9tICcuL1RyYW5zYWN0aW9uQ29tbWFuZCc7XHJcbmltcG9ydCB7VW5sb2FkQ29tbWFuZH0gZnJvbSAnLi9VbmxvYWRDb21tYW5kJztcclxuaW1wb3J0IHtFeGVjT3BlckNvbW1hbmR9IGZyb20gJy4vRXhlY09wZXJDb21tYW5kJztcclxuaW1wb3J0IHtFdmFsdWF0ZUNvbW1hbmR9IGZyb20gJy4vRXZhbHVhdGVDb21tYW5kJztcclxuaW1wb3J0IHtHbG9iYWxQYXJhbXNRdWVyeUNvbW1hbmR9IGZyb20gJy4vR2xvYmFsUGFyYW1zUXVlcnlDb21tYW5kJztcclxuaW1wb3J0IHtJbmlwdXRGb3JjZVdyaXRlQ29tbWFuZH0gZnJvbSAnLi9JbmlwdXRGb3JjZVdyaXRlQ29tbWFuZCc7XHJcbmltcG9ydCB7Q29udGV4dFRlcm1pbmF0aW9uRXZlbnRDb21tYW5kfSBmcm9tICcuL0NvbnRleHRUZXJtaW5hdGlvbkV2ZW50Q29tbWFuZCc7XHJcbmltcG9ydCB7Q29udGV4dFRpbWVvdXRSZXNldENvbW1hbmR9IGZyb20gJy4vQ29udGV4dFRpbWVvdXRSZXNldENvbW1hbmQnO1xyXG5pbXBvcnQgeyBTZWxlY3RQcm9ncmFtQ29tbWFuZCB9IGZyb20gJy4vU2VsZWN0UHJvZ3JhbUNvbW1hbmQnO1xyXG5pbXBvcnQgeyBDb250cm9sSXRlbXNSZWZyZXNoQ29tbWFuZCB9IGZyb20gJy4vQ29udHJvbEl0ZW1zUmVmcmVzaENvbW1hbmQnO1xyXG5cclxuLy8vIDxzdW1tYXJ5PlxyXG4vLy8gZmFjdG9yeSBjbGFzcyBmb3IgY3JlYXRpbmcgY29tbWFuZHNcclxuLy8vIDwvc3VtbWFyeT5cclxuZXhwb3J0IGNsYXNzIENvbW1hbmRGYWN0b3J5IHtcclxuXHJcbiAgLy8vIDxzdW1tYXJ5PlxyXG4gIC8vLyAgIGEgZmFjdG9yeSBtZXRob2QgdGhhdCBjcmVhdGVzIGFuIEV2ZW50IGNvbW1hbmRcclxuICAvLy8gPC9zdW1tYXJ5PlxyXG4gIC8vLyA8cGFyYW0gbmFtZSA9IFwidGFza1RhZ1wiPnRoZSB0YXNrIGlkPC9wYXJhbT5cclxuICAvLy8gPHBhcmFtIG5hbWUgPSBcIm1hZ2ljRXZlbnRcIj50aGUgY29kZSBvZiB0aGUgaW50ZXJuYWwgZXZlbnQ8L3BhcmFtPlxyXG4gIC8vLyA8cmV0dXJucz5uZXdseSBjcmVhdGVkIGNvbW1hbmQuPC9yZXR1cm5zPlxyXG4gIHN0YXRpYyBDcmVhdGVFdmVudENvbW1hbmQodGFza1RhZzogc3RyaW5nLCBtYWdpY0V2ZW50OiBudW1iZXIpOiBFdmVudENvbW1hbmQge1xyXG4gICAgbGV0IGV2ZW50Q29tbWFuZDogRXZlbnRDb21tYW5kID0gbmV3IEV2ZW50Q29tbWFuZChtYWdpY0V2ZW50KTtcclxuICAgIGV2ZW50Q29tbWFuZC5UYXNrVGFnID0gdGFza1RhZztcclxuICAgIHJldHVybiBldmVudENvbW1hbmQ7XHJcbiAgfVxyXG5cclxuICAvLy8gPHN1bW1hcnk+XHJcbiAgLy8vICAgYSBmYWN0b3J5IG1ldGhvZCB0aGF0IGNyZWF0ZXMgYW4gRXZlbnQgY29tbWFuZFxyXG4gIC8vLyA8L3N1bW1hcnk+XHJcbiAgLy8vIDxwYXJhbSBuYW1lID0gXCJ0YXNrVGFnXCI+dGhlIHRhc2sgaWQ8L3BhcmFtPlxyXG4gIC8vLyA8cGFyYW0gbmFtZSA9IFwiY0hhbmRsZXJJZFwiPnRoZSBpZCBvZiB0aGUgaGFuZGxlciB3aGVyZSBleGVjdXRpb24gc2hvdWxkIHN0YXJ0PC9wYXJhbT5cclxuICAvLy8gPHBhcmFtIG5hbWUgPSBcImNPYmpcIj50aGUgRElUIGluZGV4IG9mIHRoZSBjb250cm9sIHRoYXQgaGFkIHRoZSBmb2N1cyB3aGVuIHRoZSBldmVudCBvY2N1cnJlZDwvcGFyYW0+XHJcbiAgLy8vIDxwYXJhbSBuYW1lID0gXCJtYWdpY0V2ZW50XCI+dGhlIGNvZGUgb2YgdGhlIGludGVybmFsIGV2ZW50PC9wYXJhbT5cclxuICAvLy8gPHJldHVybnM+bmV3bHkgY3JlYXRlZCBjb21tYW5kLjwvcmV0dXJucz5cclxuICBzdGF0aWMgQ3JlYXRlUm9sbGJhY2tFdmVudENvbW1hbmQodGFza1RhZzogc3RyaW5nLCByb2xsYmFja1R5cGU6IFJvbGxiYWNrRXZlbnRDb21tYW5kX1JvbGxiYWNrVHlwZSk6IFJvbGxiYWNrRXZlbnRDb21tYW5kIHtcclxuICAgIGxldCBjbWQ6IFJvbGxiYWNrRXZlbnRDb21tYW5kID0gbmV3IFJvbGxiYWNrRXZlbnRDb21tYW5kKCk7XHJcbiAgICBjbWQuVGFza1RhZyA9IHRhc2tUYWc7XHJcbiAgICBjbWQuUm9sbGJhY2sgPSByb2xsYmFja1R5cGU7XHJcbiAgICByZXR1cm4gY21kO1xyXG4gIH1cclxuXHJcbiAgLy8vIDxzdW1tYXJ5PlxyXG4gIC8vLyBjcmVhdGUgYSBnZW5lcmFsIGRhdGF2aWV3IGNvbW1hbmRcclxuICAvLy8gPC9zdW1tYXJ5PlxyXG4gIC8vLyA8cGFyYW0gbmFtZT1cInRhc2tJZFwiPjwvcGFyYW0+XHJcbiAgLy8vIDxwYXJhbSBuYW1lPVwiY29tbWFuZFR5cGVcIj48L3BhcmFtPlxyXG4gIC8vLyA8cmV0dXJucz48L3JldHVybnM+XHJcbiAgc3RhdGljIENyZWF0ZURhdGFWaWV3Q29tbWFuZCh0YXNrSWQ6IHN0cmluZywgY29tbWFuZFR5cGU6IERhdGFWaWV3Q29tbWFuZFR5cGUpOiBEYXRhdmlld0NvbW1hbmQge1xyXG4gICAgbGV0IGRhdGF2aWV3Q29tbWFuZDogRGF0YXZpZXdDb21tYW5kID0gbmV3IERhdGF2aWV3Q29tbWFuZCgpO1xyXG4gICAgZGF0YXZpZXdDb21tYW5kLkNvbW1hbmRUeXBlID0gY29tbWFuZFR5cGU7XHJcbiAgICBkYXRhdmlld0NvbW1hbmQuVGFza1RhZyA9IHRhc2tJZDtcclxuICAgIHJldHVybiBkYXRhdmlld0NvbW1hbmQ7XHJcbiAgfVxyXG5cclxuICAvLy8gPHN1bW1hcnk+XHJcbiAgLy8vIGNyZWF0ZSBhIGNvbnRyb2wgaXRlbSByZWZyZXNoIGNvbW1hbmRcclxuICAvLy8gPC9zdW1tYXJ5PlxyXG4gIC8vLyA8cGFyYW0gbmFtZT1cInRhc2tJZFwiPjwvcGFyYW0+XHJcbiAgLy8vIDxwYXJhbSBuYW1lPVwiY29udHJvbFwiPjwvcGFyYW0+XHJcbiAgLy8vIDxyZXR1cm5zPjwvcmV0dXJucz5cclxuICBzdGF0aWMgQ3JlYXRlQ29udHJvbEl0ZW1zUmVmcmVzaENvbW1hbmQodGFza0lkOiBzdHJpbmcsIGNvbnRyb2w6IE1nQ29udHJvbEJhc2UpOiBDb250cm9sSXRlbXNSZWZyZXNoQ29tbWFuZCB7XHJcbiAgICBsZXQgY29tbWFuZDogQ29udHJvbEl0ZW1zUmVmcmVzaENvbW1hbmQgPSBuZXcgQ29udHJvbEl0ZW1zUmVmcmVzaENvbW1hbmQoKTtcclxuICAgIGNvbW1hbmQuQ29tbWFuZFR5cGUgPSBEYXRhVmlld0NvbW1hbmRUeXBlLkNvbnRyb2xJdGVtc1JlZnJlc2g7XHJcbiAgICBjb21tYW5kLlRhc2tUYWcgPSB0YXNrSWQ7XHJcbiAgICBjb21tYW5kLkNvbnRyb2wgPSBjb250cm9sO1xyXG4gICAgcmV0dXJuIGNvbW1hbmQ7XHJcbiAgfVxyXG5cclxuICAvLy8gPHN1bW1hcnk+XHJcbiAgLy8vXHJcbiAgLy8vIDwvc3VtbWFyeT5cclxuICAvLy8gPHBhcmFtIG5hbWU9XCJ0YXNrSWRcIj48L3BhcmFtPlxyXG4gIC8vLyA8cGFyYW0gbmFtZT1cInVzZXJSYW5nZVwiPjwvcGFyYW0+XHJcbiAgLy8vIDxyZXR1cm5zPjwvcmV0dXJucz5cclxuICBzdGF0aWMgQ3JlYXRlQWRkVXNlclJhbmdlRGF0YXZpZXdDb21tYW5kKHRhc2tJZDogc3RyaW5nLCB1c2VyUmFuZ2U6IFVzZXJSYW5nZSk6IEFkZFVzZXJSYW5nZURhdGF2aWV3Q29tbWFuZCB7XHJcbiAgICBsZXQgYWRkVXNlclJhbmdlRGF0YXZpZXdDb21tYW5kOiBBZGRVc2VyUmFuZ2VEYXRhdmlld0NvbW1hbmQgPSBuZXcgQWRkVXNlclJhbmdlRGF0YXZpZXdDb21tYW5kKCk7XHJcbiAgICBhZGRVc2VyUmFuZ2VEYXRhdmlld0NvbW1hbmQuVGFza1RhZyA9IHRhc2tJZDtcclxuICAgIGFkZFVzZXJSYW5nZURhdGF2aWV3Q29tbWFuZC5SYW5nZSA9IHVzZXJSYW5nZTtcclxuICAgIHJldHVybiBhZGRVc2VyUmFuZ2VEYXRhdmlld0NvbW1hbmQ7XHJcbiAgfVxyXG5cclxuXHJcbiAgLy8vIDxzdW1tYXJ5PlxyXG4gIC8vLyBDcmVhdGVBZGRVc2VyU29ydERhdGF2aWV3Q29tbWFuZFxyXG4gIC8vLyA8L3N1bW1hcnk+XHJcbiAgLy8vIDxwYXJhbSBuYW1lPVwidGFza0lkXCI+PC9wYXJhbT5cclxuICAvLy8gPHBhcmFtIG5hbWU9XCJ1c2VyUmFuZ2VcIj48L3BhcmFtPlxyXG4gIC8vLyA8cmV0dXJucz48L3JldHVybnM+XHJcbiAgc3RhdGljIENyZWF0ZUFkZFVzZXJTb3J0RGF0YXZpZXdDb21tYW5kKHRhc2tJZDogc3RyaW5nLCBzb3J0OiBTb3J0KTogQWRkVXNlclNvcnREYXRhVmlld0NvbW1hbmQge1xyXG4gICAgbGV0IGFkZFVzZXJTb3J0RGF0YVZpZXdDb21tYW5kOiBBZGRVc2VyU29ydERhdGFWaWV3Q29tbWFuZCA9IG5ldyBBZGRVc2VyU29ydERhdGFWaWV3Q29tbWFuZCgpO1xyXG4gICAgYWRkVXNlclNvcnREYXRhVmlld0NvbW1hbmQuVGFza1RhZyA9IHRhc2tJZDtcclxuICAgIGFkZFVzZXJTb3J0RGF0YVZpZXdDb21tYW5kLlNvcnQgPSBzb3J0O1xyXG4gICAgcmV0dXJuIGFkZFVzZXJTb3J0RGF0YVZpZXdDb21tYW5kO1xyXG4gIH1cclxuXHJcblxyXG4gIC8vLyA8c3VtbWFyeT5cclxuICAvLy8gQ3JlYXRlQWRkVXNlckxvY2F0ZURhdGF2aWV3Q29tbWFuZFxyXG4gIC8vLyA8L3N1bW1hcnk+XHJcbiAgLy8vIDxwYXJhbSBuYW1lPVwidGFza0lkXCI+PC9wYXJhbT5cclxuICAvLy8gPHBhcmFtIG5hbWU9XCJ1c2VyUmFuZ2VcIj48L3BhcmFtPlxyXG4gIC8vLyA8cmV0dXJucz48L3JldHVybnM+XHJcbiAgc3RhdGljIENyZWF0ZUFkZFVzZXJMb2NhdGVEYXRhdmlld0NvbW1hbmQodGFza0lkOiBzdHJpbmcsIHVzZXJSYW5nZTogVXNlclJhbmdlKTogQWRkVXNlckxvY2F0ZURhdGFWaWV3Q29tbWFuZCB7XHJcbiAgICBsZXQgYWRkVXNlckxvY2F0ZURhdGFWaWV3Q29tbWFuZDogQWRkVXNlckxvY2F0ZURhdGFWaWV3Q29tbWFuZCA9IG5ldyBBZGRVc2VyTG9jYXRlRGF0YVZpZXdDb21tYW5kKCk7XHJcbiAgICBhZGRVc2VyTG9jYXRlRGF0YVZpZXdDb21tYW5kLlRhc2tUYWcgPSB0YXNrSWQ7XHJcbiAgICBhZGRVc2VyTG9jYXRlRGF0YVZpZXdDb21tYW5kLlJhbmdlID0gdXNlclJhbmdlO1xyXG4gICAgcmV0dXJuIGFkZFVzZXJMb2NhdGVEYXRhVmlld0NvbW1hbmQ7XHJcbiAgfVxyXG5cclxuICAvLy8gPHN1bW1hcnk+XHJcbiAgLy8vIGNyZWF0ZSBhIHNldCB0cmFuc2FjdGlvbiBzdGF0ZSBjb21tYW5kXHJcbiAgLy8vIDwvc3VtbWFyeT5cclxuICAvLy8gPHBhcmFtIG5hbWU9XCJ0YXNrSWRcIj48L3BhcmFtPlxyXG4gIC8vLyA8cGFyYW0gbmFtZT1cInRyYW5zYWN0aW9uSXNPcGVuZWRcIj48L3BhcmFtPlxyXG4gIC8vLyA8cmV0dXJucz48L3JldHVybnM+XHJcbiAgc3RhdGljIENyZWF0ZVNldFRyYW5zYWN0aW9uU3RhdGVEYXRhdmlld0NvbW1hbmQodGFza0lkOiBzdHJpbmcsIHRyYW5zYWN0aW9uSXNPcGVuZWQ6IGJvb2xlYW4pOiBTZXRUcmFuc2FjdGlvblN0YXRlRGF0YXZpZXdDb21tYW5kIHtcclxuICAgIGxldCBzZXRUcmFuc2FjdGlvblN0YXRlRGF0YXZpZXdDb21tYW5kOiBTZXRUcmFuc2FjdGlvblN0YXRlRGF0YXZpZXdDb21tYW5kID0gbmV3IFNldFRyYW5zYWN0aW9uU3RhdGVEYXRhdmlld0NvbW1hbmQoKTtcclxuICAgIHNldFRyYW5zYWN0aW9uU3RhdGVEYXRhdmlld0NvbW1hbmQuVGFza1RhZyA9IHRhc2tJZDtcclxuICAgIHNldFRyYW5zYWN0aW9uU3RhdGVEYXRhdmlld0NvbW1hbmQuVHJhbnNhY3Rpb25Jc09wZW4gPSB0cmFuc2FjdGlvbklzT3BlbmVkO1xyXG4gICAgcmV0dXJuIHNldFRyYW5zYWN0aW9uU3RhdGVEYXRhdmlld0NvbW1hbmQ7XHJcbiAgfVxyXG5cclxuXHJcbiAgLy8vIDxzdW1tYXJ5PlxyXG4gIC8vLyBjcmVhdGVzIGEgcmVmcmVzaCBjb21tYW5kIHdoaWNoIHdhcyBpbml0aWF0ZWQgaW50ZXJuYWxseSwgaS5lLiBub3QgYnkgYSB1c2VyIGZ1bmN0aW9uIGNhbGxcclxuICAvLy8gPC9zdW1tYXJ5PlxyXG4gIC8vLyA8cGFyYW0gbmFtZT1cInRhc2tJZFwiPjwvcGFyYW0+XHJcbiAgLy8vIDxwYXJhbSBuYW1lPVwibWFnaWNFdmVudFwiPjwvcGFyYW0+XHJcbiAgLy8vIDxwYXJhbSBuYW1lPVwiY3VycmVudFJlY0lkXCI+PC9wYXJhbT5cclxuICAvLy8gPHJldHVybnM+PC9yZXR1cm5zPlxyXG4gIHN0YXRpYyBDcmVhdGVJbnRlcm5hbFJlZnJlc2hDb21tYW5kKHRhc2tJZDogc3RyaW5nLCBtYWdpY0V2ZW50OiBudW1iZXIsIGN1cnJlbnRSZWNJZDogbnVtYmVyLCBjdXJyZW50Um93OiBudW1iZXIpOiBSZWZyZXNoRXZlbnRDb21tYW5kIHtcclxuICAgIGxldCByZWZyZXNoRXZlbnRDb21tYW5kOiBSZWZyZXNoRXZlbnRDb21tYW5kID0gbmV3IFJlZnJlc2hFdmVudENvbW1hbmQobWFnaWNFdmVudCk7XHJcbiAgICByZWZyZXNoRXZlbnRDb21tYW5kLlRhc2tUYWcgPSB0YXNrSWQ7XHJcbiAgICByZWZyZXNoRXZlbnRDb21tYW5kLlJlZnJlc2hNb2RlID0gVmlld1JlZnJlc2hNb2RlLkN1cnJlbnRMb2NhdGlvbjtcclxuICAgIHJlZnJlc2hFdmVudENvbW1hbmQuQ2xpZW50UmVjSWQgPSBjdXJyZW50UmVjSWQ7XHJcbiAgICByZWZyZXNoRXZlbnRDb21tYW5kLklzSW50ZXJuYWxSZWZyZXNoID0gdHJ1ZTtcclxuICAgIHJlZnJlc2hFdmVudENvbW1hbmQuQ3VycmVudFJlY29yZFJvdyA9IGN1cnJlbnRSb3c7XHJcbiAgICByZXR1cm4gcmVmcmVzaEV2ZW50Q29tbWFuZDtcclxuICB9XHJcblxyXG4gIC8vLyA8c3VtbWFyeT5cclxuICAvLy8gICBjcmVhdGVzIG9ubHkgYSByZWFsIHJlZnJlc2ggZXZlbnQgY29tbWFuZFxyXG4gIC8vLyA8L3N1bW1hcnk+XHJcbiAgLy8vIDxyZXR1cm5zPm5ld2x5IGNyZWF0ZWQgY29tbWFuZC48L3JldHVybnM+XHJcbiAgc3RhdGljIGFzeW5jIENyZWF0ZVJlYWxSZWZyZXNoQ29tbWFuZCh0YXNrSWQ6IHN0cmluZywgbWFnaWNFdmVudDogbnVtYmVyLCBjdXJyZW50Um93OiBudW1iZXIsIGFyZ0xpc3Q6IEFyZ3VtZW50c0xpc3QsIGN1cnJlbnRSZWNJZDogbnVtYmVyKTogUHJvbWlzZTxSZWZyZXNoRXZlbnRDb21tYW5kPiB7XHJcbiAgICBsZXQgcmVmcmVzaEV2ZW50Q29tbWFuZDogUmVmcmVzaEV2ZW50Q29tbWFuZCA9IG5ldyBSZWZyZXNoRXZlbnRDb21tYW5kKG1hZ2ljRXZlbnQpO1xyXG4gICAgcmVmcmVzaEV2ZW50Q29tbWFuZC5UYXNrVGFnID0gdGFza0lkO1xyXG4gICAgcmVmcmVzaEV2ZW50Q29tbWFuZC5SZWZyZXNoTW9kZSA9IFZpZXdSZWZyZXNoTW9kZS5DdXJyZW50TG9jYXRpb247XHJcbiAgICByZWZyZXNoRXZlbnRDb21tYW5kLktlZXBVc2VyU29ydCA9IGZhbHNlO1xyXG4gICAgcmVmcmVzaEV2ZW50Q29tbWFuZC5DbGllbnRSZWNJZCA9IGN1cnJlbnRSZWNJZDtcclxuICAgIHJlZnJlc2hFdmVudENvbW1hbmQuQ3VycmVudFJlY29yZFJvdyA9IGN1cnJlbnRSb3c7XHJcbiAgICBsZXQgY21kOiBSZWZyZXNoRXZlbnRDb21tYW5kID0gcmVmcmVzaEV2ZW50Q29tbWFuZDtcclxuXHJcbiAgICBpZiAobWFnaWNFdmVudCAhPT0gSW50ZXJuYWxJbnRlcmZhY2UuTUdfQUNUX1JUX1JFRlJFU0hfUkVDT1JEICYmIGFyZ0xpc3QgIT09IG51bGwgJiYgYXJnTGlzdC5nZXRTaXplKCkgIT09IDApIHtcclxuICAgICAgdHJ5IHtcclxuICAgICAgICBsZXQgcmVmcmVzaE1vZGU6IE5VTV9UWVBFID0gbmV3IE5VTV9UWVBFKGF3YWl0IGFyZ0xpc3QuZ2V0QXJnVmFsdWUoMCwgU3RvcmFnZUF0dHJpYnV0ZS5OVU1FUklDLCAwKSk7XHJcbiAgICAgICAgY21kLlJlZnJlc2hNb2RlID0gcmVmcmVzaE1vZGUuTlVNXzJfTE9ORygpICsgMTtcclxuICAgICAgfVxyXG4gICAgICBjYXRjaCAoZSkge1xyXG4gICAgICAgIGNtZC5SZWZyZXNoTW9kZSA9IFZpZXdSZWZyZXNoTW9kZS5DdXJyZW50TG9jYXRpb247XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGlmIChhcmdMaXN0LmdldFNpemUoKSA+IDEpIHtcclxuICAgICAgICB0cnkge1xyXG4gICAgICAgICAgY21kLktlZXBVc2VyU29ydCA9IChhd2FpdCBhcmdMaXN0LmdldEFyZ1ZhbHVlKDEsIFN0b3JhZ2VBdHRyaWJ1dGUuQk9PTEVBTiwgMCkgPT09ICcxJyk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGNhdGNoIChlKSB7XHJcbiAgICAgICAgICBjbWQuS2VlcFVzZXJTb3J0ID0gZmFsc2U7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICByZXR1cm4gY21kO1xyXG4gIH1cclxuXHJcbiAgLy8vIDxzdW1tYXJ5PlxyXG4gIC8vLyBDcmVhdGUgRmV0Y2hEYXRhQ29udHJvbFZhbHVlc0V2ZW50IGNvbW1hbmQgd2hpY2ggd2lsbCBmZXRjaCB0aGUgZGF0YSBjb250cm9sIHZhbHVlcyBmcm9tIHNlcnZlci4gVGhpcyBpcyB1c2VkIHdoaWxlIGV4ZWN1dGluZyBDb250cm9sSXRlbXNSZWZyZXNoKCkgZnVuY3Rpb24uXHJcbiAgLy8vIDwvc3VtbWFyeT5cclxuICAvLy8gPHBhcmFtIG5hbWU9XCJ0YXNrVGFnXCI+PC9wYXJhbT5cclxuICAvLy8gPHBhcmFtIG5hbWU9XCJjb250cm9sTmFtZVwiPjwvcGFyYW0+XHJcbiAgLy8vIDxwYXJhbSBuYW1lPVwiZ2VuZXJhdGlvblBhcmFtXCI+PC9wYXJhbT5cclxuICAvLy8gPHJldHVybnM+PC9yZXR1cm5zPlxyXG4gIHN0YXRpYyBDcmVhdGVjRmV0Y2hEYXRhQ29udHJvbFZhbHVlc0NvbW1hbmQodGFza1RhZzogc3RyaW5nLCBjb250cm9sTmFtZTogc3RyaW5nKTogRmV0Y2hEYXRhQ29udHJvbFZhbHVlc0V2ZW50Q29tbWFuZCB7XHJcbiAgICBsZXQgZmV0Y2hEYXRhQ29udHJvbFZhbHVlc0V2ZW50Q29tbWFuZDogRmV0Y2hEYXRhQ29udHJvbFZhbHVlc0V2ZW50Q29tbWFuZCA9IG5ldyBGZXRjaERhdGFDb250cm9sVmFsdWVzRXZlbnRDb21tYW5kKCk7XHJcbiAgICBmZXRjaERhdGFDb250cm9sVmFsdWVzRXZlbnRDb21tYW5kLlRhc2tUYWcgPSB0YXNrVGFnO1xyXG4gICAgZmV0Y2hEYXRhQ29udHJvbFZhbHVlc0V2ZW50Q29tbWFuZC5Db250cm9sTmFtZSA9IGNvbnRyb2xOYW1lO1xyXG4gICAgcmV0dXJuIGZldGNoRGF0YUNvbnRyb2xWYWx1ZXNFdmVudENvbW1hbmQ7XHJcbiAgfVxyXG5cclxuXHJcblxyXG4gIHN0YXRpYyBDcmVhdGVTdWJmb3JtUmVmcmVzaENvbW1hbmQodGFza1RhZzogc3RyaW5nLCBzdWJmb3JtVGFza1RhZzogc3RyaW5nLCBleHBsaWNpdFN1YmZvcm1SZWZyZXNoOiBib29sZWFuKTogU3ViZm9ybVJlZnJlc2hFdmVudENvbW1hbmQge1xyXG4gICAgbGV0IHN1YmZvcm1SZWZyZXNoRXZlbnRDb21tYW5kOiBTdWJmb3JtUmVmcmVzaEV2ZW50Q29tbWFuZCA9IG5ldyBTdWJmb3JtUmVmcmVzaEV2ZW50Q29tbWFuZCgpO1xyXG4gICAgc3ViZm9ybVJlZnJlc2hFdmVudENvbW1hbmQuVGFza1RhZyA9IHRhc2tUYWc7XHJcbiAgICBzdWJmb3JtUmVmcmVzaEV2ZW50Q29tbWFuZC5TdWJmb3JtVGFza1RhZyA9IHN1YmZvcm1UYXNrVGFnO1xyXG4gICAgc3ViZm9ybVJlZnJlc2hFdmVudENvbW1hbmQuRXhwbGljaXRTdWJmb3JtUmVmcmVzaCA9IGV4cGxpY2l0U3ViZm9ybVJlZnJlc2g7XHJcbiAgICBzdWJmb3JtUmVmcmVzaEV2ZW50Q29tbWFuZC5SZWZyZXNoTW9kZSA9IFZpZXdSZWZyZXNoTW9kZS5Vc2VUYXNrTG9jYXRlO1xyXG4gICAgcmV0dXJuIHN1YmZvcm1SZWZyZXNoRXZlbnRDb21tYW5kO1xyXG4gIH1cclxuXHJcbiAgLy8vIDxzdW1tYXJ5PlxyXG4gIC8vLyAgIGNyZWF0ZXMgYSBzdWJmb3JtIG9wZW4gZXZlbnQgY29tbWFuZFxyXG4gIC8vLyA8L3N1bW1hcnk+XHJcbiAgLy8vIDxyZXR1cm5zPm5ld2x5IGNyZWF0ZWQgY29tbWFuZC48L3JldHVybnM+XHJcbiAgc3RhdGljIENyZWF0ZVN1YmZvcm1PcGVuQ29tbWFuZCh0YXNrVGFnOiBzdHJpbmcsIHN1YmZvcm1EaXRJZHg6IG51bWJlcik6IFN1YmZvcm1PcGVuRXZlbnRDb21tYW5kIHtcclxuICAgIGxldCBzdWJmb3JtT3BlbkV2ZW50Q29tbWFuZDogU3ViZm9ybU9wZW5FdmVudENvbW1hbmQgPSBuZXcgU3ViZm9ybU9wZW5FdmVudENvbW1hbmQoKTtcclxuICAgIHN1YmZvcm1PcGVuRXZlbnRDb21tYW5kLlRhc2tUYWcgPSB0YXNrVGFnO1xyXG4gICAgc3ViZm9ybU9wZW5FdmVudENvbW1hbmQuRGl0SWR4ID0gc3ViZm9ybURpdElkeDtcclxuICAgIHJldHVybiBzdWJmb3JtT3BlbkV2ZW50Q29tbWFuZDtcclxuICB9XHJcblxyXG4gIC8vLyA8c3VtbWFyeT5cclxuICAvLy8gICBjcmVhdGVzIHNjcmVlbiByZWZyZXNoIGNvbW1hbmRcclxuICAvLy8gPC9zdW1tYXJ5PlxyXG4gIC8vLyA8cmV0dXJucz5uZXdseSBjcmVhdGVkIGNvbW1hbmQuPC9yZXR1cm5zPlxyXG4gIHN0YXRpYyBDcmVhdGVTY3JlZW5SZWZyZXNoQ29tbWFuZCh0YXNrVGFnOiBzdHJpbmcsIHRvcFJlY0lkeDogbnVtYmVyLCBjbGllbnRSZWNJZDogbnVtYmVyKTogUmVmcmVzaFNjcmVlbkV2ZW50Q29tbWFuZCB7XHJcbiAgICBsZXQgcmVmcmVzaFNjcmVlbkV2ZW50Q29tbWFuZDogUmVmcmVzaFNjcmVlbkV2ZW50Q29tbWFuZCA9IG5ldyBSZWZyZXNoU2NyZWVuRXZlbnRDb21tYW5kKCk7XHJcbiAgICByZWZyZXNoU2NyZWVuRXZlbnRDb21tYW5kLlRhc2tUYWcgPSB0YXNrVGFnO1xyXG4gICAgcmVmcmVzaFNjcmVlbkV2ZW50Q29tbWFuZC5Ub3BSZWNJZHggPSB0b3BSZWNJZHg7XHJcbiAgICByZWZyZXNoU2NyZWVuRXZlbnRDb21tYW5kLlJlZnJlc2hNb2RlID0gVmlld1JlZnJlc2hNb2RlLkN1cnJlbnRMb2NhdGlvbjtcclxuICAgIHJlZnJlc2hTY3JlZW5FdmVudENvbW1hbmQuQ2xpZW50UmVjSWQgPSBjbGllbnRSZWNJZDtcclxuICAgIHJldHVybiByZWZyZXNoU2NyZWVuRXZlbnRDb21tYW5kO1xyXG4gIH1cclxuXHJcbiAgLy8vIDxzdW1tYXJ5PlxyXG4gIC8vLyAgIGNyZWF0ZXMgYSBjb2x1bW4gc29ydCBldmVudCBjb21tYW5kXHJcbiAgLy8vIDwvc3VtbWFyeT5cclxuICAvLy8gPHJldHVybnM+bmV3bHkgY3JlYXRlZCBjb21tYW5kLjwvcmV0dXJucz5cclxuICBzdGF0aWMgQ3JlYXRlQ29sdW1uU29ydENvbW1hbmQodGFza1RhZzogc3RyaW5nLCBkaXJlY3Rpb246IG51bWJlciwgZGl0SWR4OiBudW1iZXIsIGZpZWxkSWQ6IG51bWJlciwgcmVjSWQ6IG51bWJlcik6IENvbHVtblNvcnRFdmVudENvbW1hbmQge1xyXG4gICAgbGV0IGNvbHVtblNvcnRFdmVudENvbW1hbmQ6IENvbHVtblNvcnRFdmVudENvbW1hbmQgPSBuZXcgQ29sdW1uU29ydEV2ZW50Q29tbWFuZCgpO1xyXG4gICAgY29sdW1uU29ydEV2ZW50Q29tbWFuZC5UYXNrVGFnID0gdGFza1RhZztcclxuICAgIGNvbHVtblNvcnRFdmVudENvbW1hbmQuRGl0SWR4ID0gZGl0SWR4O1xyXG4gICAgY29sdW1uU29ydEV2ZW50Q29tbWFuZC5GbGRJZCA9IGZpZWxkSWQgKyAxO1xyXG4gICAgY29sdW1uU29ydEV2ZW50Q29tbWFuZC5DbGllbnRSZWNJZCA9IHJlY0lkO1xyXG4gICAgY29sdW1uU29ydEV2ZW50Q29tbWFuZC5EaXJlY3Rpb24gPSBkaXJlY3Rpb247XHJcbiAgICByZXR1cm4gY29sdW1uU29ydEV2ZW50Q29tbWFuZDtcclxuICB9XHJcblxyXG4gIC8vLyAgIGNyZWF0ZXMgYW4gSW5kZXggQ2hhbmdlIGV2ZW50IGNvbW1hbmRcclxuICAvLy8gPC9zdW1tYXJ5PlxyXG4gIC8vLyA8cmV0dXJucz5uZXdseSBjcmVhdGVkIGNvbW1hbmQuPC9yZXR1cm5zPlxyXG4gIHN0YXRpYyBhc3luYyBDcmVhdGVJbmRleENoYW5nZUNvbW1hbmQodGFza1RhZzogc3RyaW5nLCByZWNJZDogbnVtYmVyLCBhcmdMaXN0OiBBcmd1bWVudHNMaXN0KTogUHJvbWlzZTxJbmRleENoYW5nZUV2ZW50Q29tbWFuZD4ge1xyXG4gICAgbGV0IGluZGV4Q2hhbmdlRXZlbnRDb21tYW5kOiBJbmRleENoYW5nZUV2ZW50Q29tbWFuZCA9IG5ldyBJbmRleENoYW5nZUV2ZW50Q29tbWFuZCgpO1xyXG4gICAgaW5kZXhDaGFuZ2VFdmVudENvbW1hbmQuVGFza1RhZyA9IHRhc2tUYWc7XHJcbiAgICBpbmRleENoYW5nZUV2ZW50Q29tbWFuZC5DbGllbnRSZWNJZCA9IHJlY0lkO1xyXG4gICAgbGV0IGNtZDogSW5kZXhDaGFuZ2VFdmVudENvbW1hbmQgPSBpbmRleENoYW5nZUV2ZW50Q29tbWFuZDtcclxuXHJcbiAgICAvLyAxIHBhcmFtZXRlciA6IFRoZSBuZXcgS2V5IEluZGV4XHJcbiAgICBpZiAoYXJnTGlzdCAhPT0gbnVsbCAmJiBhcmdMaXN0LmdldFNpemUoKSAhPT0gMCkge1xyXG4gICAgICB0cnkge1xyXG4gICAgICAgIGxldCBrZXlJbmRleDogTlVNX1RZUEUgPSBuZXcgTlVNX1RZUEUoYXdhaXQgYXJnTGlzdC5nZXRBcmdWYWx1ZSgwLCBTdG9yYWdlQXR0cmlidXRlLk5VTUVSSUMsIDApKTtcclxuICAgICAgICBjbWQuS2V5SW5kZXggPSBrZXlJbmRleC5OVU1fMl9MT05HKCk7XHJcbiAgICAgIH1cclxuICAgICAgY2F0Y2ggKGUpIHtcclxuICAgICAgICBjbWQuS2V5SW5kZXggPSAwO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICByZXR1cm4gY21kO1xyXG4gIH1cclxuXHJcbiAgLy8vIDxzdW1tYXJ5PlxyXG4vLy8gICBhIGZhY3RvcnkgbWV0aG9kIHRoYXQgY3JlYXRlcyBhbiBFdmVudCBjb21tYW5kXHJcbi8vLyA8L3N1bW1hcnk+XHJcbi8vLyA8cGFyYW0gbmFtZT1cInRhc2tUYWdcIj48L3BhcmFtPlxyXG4vLy8gPHBhcmFtIG5hbWU9XCJvYmpcIj48L3BhcmFtPlxyXG4vLy8gPHBhcmFtIG5hbWU9XCJleGl0QnlNZW51XCI+PC9wYXJhbT5cclxuLy8vIDxwYXJhbSBuYW1lPVwiY2xvc2VTdWJmb3JtT25seVwiPjwvcGFyYW0+XHJcbiAgc3RhdGljIENyZWF0ZUJyb3dzZXJFc2NFdmVudENvbW1hbmQodGFza1RhZzogc3RyaW5nLCBjbG9zZVN1YmZvcm1Pbmx5OiBib29sZWFuKTogQnJvd3NlckVzY0V2ZW50Q29tbWFuZCB7XHJcbiAgICBsZXQgYnJvd3NlckVzY0V2ZW50Q29tbWFuZDogQnJvd3NlckVzY0V2ZW50Q29tbWFuZCA9IG5ldyBCcm93c2VyRXNjRXZlbnRDb21tYW5kKCk7XHJcbiAgICBicm93c2VyRXNjRXZlbnRDb21tYW5kLlRhc2tUYWcgPSB0YXNrVGFnO1xyXG4gICAgYnJvd3NlckVzY0V2ZW50Q29tbWFuZC5DbG9zZVN1YmZvcm1Pbmx5ID0gY2xvc2VTdWJmb3JtT25seTtcclxuICAgIHJldHVybiBicm93c2VyRXNjRXZlbnRDb21tYW5kO1xyXG4gIH1cclxuXHJcbiAgLy8vIDxzdW1tYXJ5PlxyXG4gIC8vLyAgIGEgZmFjdG9yeSBtZXRob2QgdGhhdCBjcmVhdGVzIGFuIEV2ZW50IGNvbW1hbmRcclxuICAvLy8gPC9zdW1tYXJ5PlxyXG4gIC8vLyA8cGFyYW0gbmFtZT1cInRhc2tUYWdcIj48L3BhcmFtPlxyXG4gIC8vLyA8cGFyYW0gbmFtZT1cIm9ialwiPjwvcGFyYW0+XHJcbiAgLy8vIDxwYXJhbSBuYW1lPVwiY2xpZW50UmVjSWRcIj48L3BhcmFtPlxyXG4gIC8vLyA8cmV0dXJucz48L3JldHVybnM+XHJcbiAgc3RhdGljIENyZWF0ZUNvbXB1dGVFdmVudENvbW1hbmQodGFza1RhZzogc3RyaW5nLCBzdWJmb3JtczogYm9vbGVhbiwgY2xpZW50UmVjSWQ6IG51bWJlcik6IENvbXB1dGVFdmVudENvbW1hbmQge1xyXG4gICAgbGV0IGNvbXB1dGVFdmVudENvbW1hbmQ6IENvbXB1dGVFdmVudENvbW1hbmQgPSBuZXcgQ29tcHV0ZUV2ZW50Q29tbWFuZCgpO1xyXG4gICAgY29tcHV0ZUV2ZW50Q29tbWFuZC5UYXNrVGFnID0gdGFza1RhZztcclxuICAgIGNvbXB1dGVFdmVudENvbW1hbmQuU3ViZm9ybXMgPSBzdWJmb3JtcztcclxuICAgIGNvbXB1dGVFdmVudENvbW1hbmQuQ2xpZW50UmVjSWQgPSBjbGllbnRSZWNJZDtcclxuICAgIHJldHVybiBjb21wdXRlRXZlbnRDb21tYW5kO1xyXG4gIH1cclxuXHJcbiAgLy8vIDxzdW1tYXJ5PlxyXG4gIC8vLyAgYSBmYWN0b3J5IG1ldGhvZCB0aGF0IGNyZWF0ZXMgdGhlIGNvbnRleHQgdGVybWluYXRpb24gcmVxdWVzdFxyXG4gIC8vLyA8L3N1bW1hcnk+XHJcbiAgLy8vIDxwYXJhbSBuYW1lPVwidGFza1RhZ1wiPjwvcGFyYW0+XHJcbiAgc3RhdGljIENyZWF0ZUNvbnRleHRUZXJtaW5hdGlvbkV2ZW50Q29tbWFuZCh0YXNrVGFnOiBzdHJpbmcpOiBDb250ZXh0VGVybWluYXRpb25FdmVudENvbW1hbmQge1xyXG4gICAgbGV0IGNvbnRleHRUZXJtaW5hdGlvbkV2ZW50Q29tbWFuZDogQ29udGV4dFRlcm1pbmF0aW9uRXZlbnRDb21tYW5kID0gbmV3IENvbnRleHRUZXJtaW5hdGlvbkV2ZW50Q29tbWFuZCgpO1xyXG4gICAgY29udGV4dFRlcm1pbmF0aW9uRXZlbnRDb21tYW5kLlRhc2tUYWcgPSB0YXNrVGFnO1xyXG4gICAgcmV0dXJuIGNvbnRleHRUZXJtaW5hdGlvbkV2ZW50Q29tbWFuZDtcclxuICB9XHJcblxyXG4gIC8vLyA8c3VtbWFyeT5cclxuICAvLy8gIGEgZmFjdG9yeSBtZXRob2QgdGhhdCBjcmVhdGVzIGEgZHVtbXkgcmVxdWVzdCB0byB6ZXJvLWluIHRoZSBjb250ZXh0IGluYWN0aXZpdHkgdGltZW91dFxyXG4gIC8vLyA8L3N1bW1hcnk+XHJcbiAgc3RhdGljIENyZWF0ZUNvbnRleHRUaW1lb3V0UmVzZXRFdmVudENvbW1hbmQoKSA6IENvbnRleHRUaW1lb3V0UmVzZXRDb21tYW5kIHtcclxuICAgIGxldCBjb250ZXh0VGltZW91dFJlc2V0Q29tbWFuZDogQ29udGV4dFRpbWVvdXRSZXNldENvbW1hbmQgPSBuZXcgQ29udGV4dFRpbWVvdXRSZXNldENvbW1hbmQoKTtcclxuICAgIHJldHVybiBjb250ZXh0VGltZW91dFJlc2V0Q29tbWFuZDtcclxuICB9XHJcblxyXG4gIC8vLyA8c3VtbWFyeT5cclxuICAvLy8gICBhIGZhY3RvcnkgbWV0aG9kIHRoYXQgY3JlYXRlcyBhIG5vbnJldmVyc2libGUgZXhpdCBjb21tYW5kXHJcbiAgLy8vIDwvc3VtbWFyeT5cclxuICAvLy8gPHBhcmFtIG5hbWUgPSBcInRhc2tUYWdcIj50aGUgdGFzayBpZDwvcGFyYW0+XHJcbiAgLy8vIDxyZXR1cm5zPm5ld2x5IGNyZWF0ZWQgY29tbWFuZC48L3JldHVybnM+XHJcbiAgc3RhdGljIENyZWF0ZU5vblJldmVyc2libGVFeGl0Q29tbWFuZCh0YXNrVGFnOiBzdHJpbmcsIGNsb3NlU3ViZm9ybU9ubHk6IGJvb2xlYW4pOiBOb25SZXZlcnNpYmxlRXhpdEV2ZW50Q29tbWFuZCB7XHJcbiAgICBsZXQgbm9uUmV2ZXJzaWJsZUV4aXRFdmVudENvbW1hbmQ6IE5vblJldmVyc2libGVFeGl0RXZlbnRDb21tYW5kID0gbmV3IE5vblJldmVyc2libGVFeGl0RXZlbnRDb21tYW5kKCk7XHJcbiAgICBub25SZXZlcnNpYmxlRXhpdEV2ZW50Q29tbWFuZC5UYXNrVGFnID0gdGFza1RhZztcclxuICAgIG5vblJldmVyc2libGVFeGl0RXZlbnRDb21tYW5kLkNsb3NlU3ViZm9ybU9ubHkgPSBjbG9zZVN1YmZvcm1Pbmx5O1xyXG4gICAgcmV0dXJuIG5vblJldmVyc2libGVFeGl0RXZlbnRDb21tYW5kO1xyXG4gIH1cclxuXHJcbiAgLy8vIDxzdW1tYXJ5PlxyXG4gIC8vLyAgIGEgZmFjdG9yeSBtZXRob2QgdGhhdCBjcmVhdGVzIGEgUmVjb21wdXRlIGNvbW1hbmRcclxuICAvLy8gPC9zdW1tYXJ5PlxyXG4gIC8vLyA8cGFyYW0gbmFtZSA9IFwidGFza1RhZ1wiPnRoZSBpZCBvZiB0aGUgdGFzazwvcGFyYW0+XHJcbiAgLy8vIDxwYXJhbSBuYW1lID0gXCJmaWVsZElkXCI+dGhlIGlkIG9mIHRoZSBmaWVsZDwvcGFyYW0+XHJcbiAgLy8vIDxyZXR1cm5zPm5ld2x5IGNyZWF0ZWQgY29tbWFuZC48L3JldHVybnM+XHJcbiAgc3RhdGljIENyZWF0ZVJlY29tcHV0ZUNvbW1hbmQodGFza1RhZzogc3RyaW5nLCBmaWVsZElkOiBudW1iZXIsIGlnbm9yZVN1YmZvcm1SZWNvbXB1dGU6IGJvb2xlYW4pOiBSZWNvbXB1dGVDb21tYW5kIHtcclxuICAgIGxldCByZWNvbXB1dGVDb21tYW5kOiBSZWNvbXB1dGVDb21tYW5kID0gbmV3IFJlY29tcHV0ZUNvbW1hbmQoKTtcclxuICAgIHJlY29tcHV0ZUNvbW1hbmQuVGFza1RhZyA9IHRhc2tUYWc7XHJcbiAgICByZWNvbXB1dGVDb21tYW5kLkZsZElkID0gZmllbGRJZDtcclxuICAgIHJlY29tcHV0ZUNvbW1hbmQuSWdub3JlU3ViZm9ybVJlY29tcHV0ZSA9IGlnbm9yZVN1YmZvcm1SZWNvbXB1dGU7XHJcbiAgICByZXR1cm4gcmVjb21wdXRlQ29tbWFuZDtcclxuICB9XHJcblxyXG4gIC8vLyA8c3VtbWFyeT5cclxuICAvLy8gICBhIGZhY3RvcnkgbWV0aG9kIHRoYXQgY3JlYXRlcyBhIFRyYW5zYWN0aW9uIGNvbW1hbmRcclxuICAvLy8gPC9zdW1tYXJ5PlxyXG4gIC8vLyA8cGFyYW0gbmFtZSA9IFwib3BlclwiPnRoZSB0eXBlIG9mIG9wZXJhdGlvbjogQmVnaW4sIENvbW1pdDwvcGFyYW0+XHJcbiAgLy8vIDxwYXJhbSBuYW1lID0gXCJ0YXNrXCI+dGhlIHRhc2sgb2YgdGhlIHRyYW5zYWN0aW9uPC9wYXJhbT5cclxuICAvLy8gPHBhcmFtIG5hbWUgPSBcImNSZXZlcnNpYmxlRXhpdFwiPnRydWUgaWYgdGhlIHRhc2sgZXhpdCBpcyByZXZlcnNpYmxlPC9wYXJhbT5cclxuICAvLy8gPHBhcmFtIG5hbWUgPSBcImxldmVsXCI+PC9wYXJhbT5cclxuICAvLy8gPHJldHVybnM+bmV3bHkgY3JlYXRlZCBjb21tYW5kLjwvcmV0dXJucz5cclxuICBzdGF0aWMgQ3JlYXRlVHJhbnNhY3Rpb25Db21tYW5kKG9wZXI6IHN0cmluZywgdGFza1RhZzogc3RyaW5nLCBjUmV2ZXJzaWJsZUV4aXQ6IGJvb2xlYW4sIGxldmVsOiBzdHJpbmcpOiBUcmFuc2FjdGlvbkNvbW1hbmQge1xyXG4gICAgbGV0IHRyYW5zYWN0aW9uQ29tbWFuZDogVHJhbnNhY3Rpb25Db21tYW5kID0gbmV3IFRyYW5zYWN0aW9uQ29tbWFuZCgpO1xyXG4gICAgdHJhbnNhY3Rpb25Db21tYW5kLlRhc2tUYWcgPSB0YXNrVGFnO1xyXG4gICAgdHJhbnNhY3Rpb25Db21tYW5kLk9wZXIgPSBvcGVyO1xyXG4gICAgdHJhbnNhY3Rpb25Db21tYW5kLlJldmVyc2libGVFeGl0ID0gY1JldmVyc2libGVFeGl0O1xyXG4gICAgdHJhbnNhY3Rpb25Db21tYW5kLkxldmVsID0gbGV2ZWw7XHJcbiAgICByZXR1cm4gdHJhbnNhY3Rpb25Db21tYW5kO1xyXG4gIH1cclxuXHJcbiAgLy8vIDxzdW1tYXJ5PlxyXG4gIC8vLyAgIGEgZmFjdG9yeSBtZXRob2QgdGhhdCBjcmVhdGVzIGFuIFVubG9hZCBjb21tYW5kXHJcbiAgLy8vIDwvc3VtbWFyeT5cclxuICAvLy8gPHJldHVybnM+bmV3bHkgY3JlYXRlZCBjb21tYW5kLjwvcmV0dXJucz5cclxuICBzdGF0aWMgQ3JlYXRlVW5sb2FkQ29tbWFuZCgpOiBVbmxvYWRDb21tYW5kIHtcclxuICAgIHJldHVybiBuZXcgVW5sb2FkQ29tbWFuZCgpO1xyXG4gIH1cclxuXHJcblxyXG4gIC8vLyA8c3VtbWFyeT5cclxuICAvLy8gICBhIGZhY3RvcnkgbWV0aG9kIHRoYXQgY3JlYXRlcyBhbiBFeGVjT3BlciBjb21tYW5kXHJcbiAgLy8vIDwvc3VtbWFyeT5cclxuICAvLy8gPHBhcmFtIG5hbWUgPSBcInRhc2tUYWdcIj50aGUgaWQgb2YgdGhlIHRhc2s8L3BhcmFtPlxyXG4gIC8vLyA8cGFyYW0gbmFtZSA9IFwiaGFuZGxlcklkXCI+dGhlIGlkIG9mIHRoZSBoYW5kbGVyIHdoZXJlIGV4ZWN1dGlvbiBzaG91bGQgc3RhcnQ8L3BhcmFtPlxyXG4gIC8vLyA8cGFyYW0gbmFtZSA9IFwib3BlcklkeFwiPnRoZSBvcGVyYXRpb24gaW5kZXggaXMgdGhlIHNlcnZlciBpbmRleCBpbmRpY2F0ZWQgYnkgdGhlIG9wZXJhdGlvbjwvcGFyYW0+XHJcbiAgLy8vIDxwYXJhbSBuYW1lID0gXCJkaXRJZHhcIj50aGUgY29udHJvbCBpZDwvcGFyYW0+XHJcbiAgLy8vIDxwYXJhbSBuYW1lID0gXCJ2YWx1ZVwiPnRoZSB2YWx1ZSBvZiB0aGUgY29udHJvbDwvcGFyYW0+XHJcbiAgLy8vIDxyZXR1cm5zPm5ld2x5IGNyZWF0ZWQgY29tbWFuZC48L3JldHVybnM+XHJcbiAgc3RhdGljIENyZWF0ZUV4ZWNPcGVyQ29tbWFuZCh0YXNrVGFnOiBzdHJpbmcsIGhhbmRsZXJJZDogc3RyaW5nLCBvcGVySWR4OiBudW1iZXIsIGRpdElkeDogbnVtYmVyLCB2YWx1ZTogc3RyaW5nKTogRXhlY09wZXJDb21tYW5kIHtcclxuICAgIGxldCBleGVjT3BlckNvbW1hbmQ6IEV4ZWNPcGVyQ29tbWFuZCA9IG5ldyBFeGVjT3BlckNvbW1hbmQoKTtcclxuICAgIGV4ZWNPcGVyQ29tbWFuZC5PcGVySWR4ID0gb3BlcklkeDtcclxuICAgIGV4ZWNPcGVyQ29tbWFuZC5UYXNrVGFnID0gdGFza1RhZztcclxuICAgIGV4ZWNPcGVyQ29tbWFuZC5IYW5kbGVySWQgPSBoYW5kbGVySWQ7XHJcbiAgICBleGVjT3BlckNvbW1hbmQuRGl0SWR4ID0gZGl0SWR4O1xyXG5cclxuICAgIGxldCBjbWQ6IEV4ZWNPcGVyQ29tbWFuZCA9IGV4ZWNPcGVyQ29tbWFuZDtcclxuICAgIGlmICh2YWx1ZSAhPT0gbnVsbCAmJiB2YWx1ZS5sZW5ndGggPT09IDApXHJcbiAgICAgIGNtZC5WYWwgPSAnICc7XHJcbiAgICBlbHNlXHJcbiAgICAgIGNtZC5WYWwgPSB2YWx1ZTtcclxuICAgIHJldHVybiBjbWQ7XHJcbiAgfVxyXG5cclxuICAvLy8gPHN1bW1hcnk+XHJcbiAgLy8vICAgYSBmYWN0b3J5IG1ldGhvZCB0aGF0IGNyZWF0ZXMgYW4gU2VsZWN0IFByb2dyYW0gY29tbWFuZFxyXG4gIC8vLyA8L3N1bW1hcnk+XHJcbiAgLy8vIDxwYXJhbSBuYW1lID0gXCJ0YXNrVGFnXCI+dGhlIGlkIG9mIHRoZSB0YXNrPC9wYXJhbT5cclxuICAvLy8gPHBhcmFtIG5hbWUgPSBcImhhbmRsZXJJZFwiPnRoZSBpZCBvZiB0aGUgaGFuZGxlciB3aGVyZSBleGVjdXRpb24gc2hvdWxkIHN0YXJ0PC9wYXJhbT5cclxuICAvLy8gPHBhcmFtIG5hbWUgPSBcIm9wZXJJZHhcIj50aGUgb3BlcmF0aW9uIGluZGV4IGlzIHRoZSBzZXJ2ZXIgaW5kZXggaW5kaWNhdGVkIGJ5IHRoZSBvcGVyYXRpb248L3BhcmFtPlxyXG4gIC8vLyA8cGFyYW0gbmFtZSA9IFwiZGl0SWR4XCI+dGhlIGNvbnRyb2wgaWQ8L3BhcmFtPlxyXG4gIC8vLyA8cGFyYW0gbmFtZSA9IFwidmFsdWVcIj50aGUgdmFsdWUgb2YgdGhlIGNvbnRyb2w8L3BhcmFtPlxyXG4gIC8vLyA8cmV0dXJucz5uZXdseSBjcmVhdGVkIGNvbW1hbmQuPC9yZXR1cm5zPlxyXG4gIHN0YXRpYyBDcmVhdGVTZWxlY3RQcm9ncmFtQ29tbWFuZCh0YXNrVGFnOiBzdHJpbmcsIGhhbmRsZXJJZDogc3RyaW5nLCBvcGVySWR4OiBudW1iZXIsIGRpdElkeDogbnVtYmVyLCB2YWx1ZTogc3RyaW5nKTogRXhlY09wZXJDb21tYW5kIHtcclxuICAgIGxldCBleGVjT3BlckNvbW1hbmQ6IFNlbGVjdFByb2dyYW1Db21tYW5kID0gbmV3IFNlbGVjdFByb2dyYW1Db21tYW5kKCk7XHJcbiAgICBleGVjT3BlckNvbW1hbmQuT3BlcklkeCA9IG9wZXJJZHg7XHJcbiAgICBleGVjT3BlckNvbW1hbmQuVGFza1RhZyA9IHRhc2tUYWc7XHJcbiAgICBleGVjT3BlckNvbW1hbmQuSGFuZGxlcklkID0gaGFuZGxlcklkO1xyXG4gICAgZXhlY09wZXJDb21tYW5kLkRpdElkeCA9IGRpdElkeDtcclxuXHJcbiAgICBsZXQgY21kOiBFeGVjT3BlckNvbW1hbmQgPSBleGVjT3BlckNvbW1hbmQ7XHJcbiAgICBpZiAodmFsdWUgIT09IG51bGwgJiYgdmFsdWUubGVuZ3RoID09PSAwKVxyXG4gICAgICBjbWQuVmFsID0gJyAnO1xyXG4gICAgZWxzZVxyXG4gICAgICBjbWQuVmFsID0gdmFsdWU7XHJcbiAgICByZXR1cm4gY21kO1xyXG4gIH1cclxuXHJcbiAgLy8vIDxzdW1tYXJ5PlxyXG4gIC8vLyAgIGEgZmFjdG9yeSBtZXRob2QgdGhhdCBjcmVhdGVzIGFuIEV2YWx1YXRlIGNvbW1hbmRcclxuICAvLy8gPC9zdW1tYXJ5PlxyXG4gIC8vLyA8cGFyYW0gbmFtZSA9IFwidGFza1RhZ1wiPnRoZSBpZCBvZiB0aGUgdGFzazwvcGFyYW0+XHJcbiAgLy8vIDxwYXJhbSBuYW1lID0gXCJleHBUeXBlXCI+VGhlIGV4cGVjdGVkIHR5cGUgaXMgdGhlIGRhdGEgdHlwZSAoYXR0cmlidXRlKSBvZiB0aGUgcmVzdWx0PC9wYXJhbT5cclxuICAvLy8gPHBhcmFtIG5hbWUgPSBcImV4cElkeFwiPmV4cHJlc3Npb24gaWQgYXR0cmlidXRlcyBhcmUgYSB1bmlxdWUgaWRlbnRpZmllciBvZiB0aGUgZXhwcmVzc2lvbiB0byBldmFsdWF0ZTwvcGFyYW0+XHJcbiAgLy8vIDxwYXJhbSBuYW1lID0gXCJleHBWYWxMZW5cIj4gcmVwcmVzZW50cyB0aGUgbWF4aW11bSBsZW5ndGggb2YgYW4gYWxwaGEgcmVzdWx0IG9yIHRoZSBtYXhpbXVtIGRpZ2l0cyB0byB0aGUgcmlnaHQgb2YgdGhlIGRlY2ltYWwgcG9pbnQsIGZvciBudW1lcmljIHJlc3VsdDwvcGFyYW0+XHJcbiAgLy8vIDxwYXJhbSBuYW1lID0gXCJtcHJnQ3JlYXRvclwiPjwvcGFyYW0+XHJcbiAgLy8vIDxyZXR1cm5zPm5ld2x5IGNyZWF0ZWQgY29tbWFuZC48L3JldHVybnM+XHJcbiAgc3RhdGljIENyZWF0ZUV2YWx1YXRlQ29tbWFuZCh0YXNrVGFnOiBzdHJpbmcsIGV4cFR5cGU6IFN0b3JhZ2VBdHRyaWJ1dGUsIGV4cElkeDogbnVtYmVyLCBleHBWYWxMZW46IG51bWJlciwgbXByZ0NyZWF0b3I6IFRhc2spOiBFdmFsdWF0ZUNvbW1hbmQge1xyXG4gICAgbGV0IGV2YWx1YXRlQ29tbWFuZDogRXZhbHVhdGVDb21tYW5kID0gbmV3IEV2YWx1YXRlQ29tbWFuZCgpO1xyXG4gICAgZXZhbHVhdGVDb21tYW5kLlRhc2tUYWcgPSB0YXNrVGFnO1xyXG4gICAgZXZhbHVhdGVDb21tYW5kLkV4cElkeCA9IGV4cElkeDtcclxuICAgIGV2YWx1YXRlQ29tbWFuZC5FeHBUeXBlID0gZXhwVHlwZTtcclxuICAgIGV2YWx1YXRlQ29tbWFuZC5NcHJnQ3JlYXRvciA9IG1wcmdDcmVhdG9yO1xyXG5cclxuICAgIGlmIChleHBWYWxMZW4gPiAwKVxyXG4gICAgICBldmFsdWF0ZUNvbW1hbmQuTGVuZ3RoRXhwVmFsID0gZXhwVmFsTGVuO1xyXG4gICAgcmV0dXJuIGV2YWx1YXRlQ29tbWFuZDtcclxuICB9XHJcblxyXG5cclxuICAvLy8gPHN1bW1hcnk+XHJcbiAgLy8vXHJcbiAgLy8vIDwvc3VtbWFyeT5cclxuICAvLy8gPHJldHVybnM+PC9yZXR1cm5zPlxyXG4gIHN0YXRpYyBDcmVhdGVRdWVyeUdsb2JhbFBhcmFtc0NvbW1hbmQoKTogR2xvYmFsUGFyYW1zUXVlcnlDb21tYW5kIHtcclxuICAgIHJldHVybiBuZXcgR2xvYmFsUGFyYW1zUXVlcnlDb21tYW5kKCk7XHJcbiAgfVxyXG5cclxuICAvLy8gPHN1bW1hcnk+XHJcbiAgLy8vICAgZm9yY2UgaW5pIGZpbGUgdXBkYXRlIGJ5IElOSVB1dCgpXHJcbiAgLy8vIDwvc3VtbWFyeT5cclxuICAvLy8gPHBhcmFtIG5hbWUgPSBcInBhcmFtXCI+ZW52IHBhcmFtIGNoYW5nZWQgYnkgSU5JUHV0PC9wYXJhbT5cclxuICAvLy8gPHJldHVybnM+bmV3bHkgY3JlYXRlZCBjb21tYW5kLjwvcmV0dXJucz5cclxuICBzdGF0aWMgQ3JlYXRlSW5pcHV0Rm9yY2VXcml0ZUNvbW1hbmQocGFyYW06IHN0cmluZyk6IEluaXB1dEZvcmNlV3JpdGVDb21tYW5kIHtcclxuICAgIGxldCBpbmlwdXRGb3JjZVdyaXRlQ29tbWFuZDogSW5pcHV0Rm9yY2VXcml0ZUNvbW1hbmQgPSBuZXcgSW5pcHV0Rm9yY2VXcml0ZUNvbW1hbmQoKTtcclxuICAgIGluaXB1dEZvcmNlV3JpdGVDb21tYW5kLlRleHQgPSBwYXJhbTtcclxuICAgIHJldHVybiBpbmlwdXRGb3JjZVdyaXRlQ29tbWFuZDtcclxuICB9XHJcbn1cclxuIl19
|
@@ -1,69 +0,0 @@
|
|
1
|
-
import { Int32, StringBuilder } from "@magic-xpa/mscorelib";
|
2
|
-
import { StorageAttribute, ViewRefreshMode, XMLConstants } from "@magic-xpa/utils";
|
3
|
-
import { ConstInterface } from "../../ConstInterface";
|
4
|
-
import { RecordUtils } from "@magic-xpa/gui";
|
5
|
-
import { AccessHelper } from "../../AccessHelper";
|
6
|
-
export class CommandSerializationHelper {
|
7
|
-
constructor() {
|
8
|
-
this.message = new StringBuilder();
|
9
|
-
}
|
10
|
-
GetString() {
|
11
|
-
return this.message.ToString();
|
12
|
-
}
|
13
|
-
SerializeTaskTag(taskTag) {
|
14
|
-
let id = AccessHelper.mgDataTable.getTaskIdById(taskTag);
|
15
|
-
this.SerializeAttribute(XMLConstants.MG_ATTR_TASKID, id);
|
16
|
-
}
|
17
|
-
SerializeFldId(fldId) {
|
18
|
-
this.SerializeAttribute(ConstInterface.MG_ATTR_FIELDID, fldId);
|
19
|
-
}
|
20
|
-
SerializeDitIdx(ditIdx) {
|
21
|
-
if (ditIdx > Int32.MinValue) {
|
22
|
-
this.SerializeAttribute(XMLConstants.MG_ATTR_DITIDX, ditIdx);
|
23
|
-
}
|
24
|
-
}
|
25
|
-
SerializeRouteParams(operation) {
|
26
|
-
let routeParams = operation.getRouteParams();
|
27
|
-
let routeValStr = '';
|
28
|
-
for (let i = 0; i < routeParams.length; i++) {
|
29
|
-
routeValStr = routeValStr.concat(RecordUtils.serializeItemVal(routeParams[i], StorageAttribute.UNICODE, StorageAttribute.SKIP, true));
|
30
|
-
}
|
31
|
-
this.SerializeAttribute(ConstInterface.MG_ATTR_ROUTE_PARAMS, routeValStr);
|
32
|
-
}
|
33
|
-
SerializeRefreshMode(refreshMode) {
|
34
|
-
if (refreshMode !== ViewRefreshMode.None) {
|
35
|
-
this.SerializeAttribute(ConstInterface.MG_ATTR_REALREFRESH, refreshMode);
|
36
|
-
}
|
37
|
-
}
|
38
|
-
SerializeMagicEvent(magicEvent) {
|
39
|
-
this.SerializeAttribute(ConstInterface.MG_ATTR_MAGICEVENT, magicEvent);
|
40
|
-
}
|
41
|
-
SerializeCloseSubformOnly(closeSubformOnly) {
|
42
|
-
if (closeSubformOnly)
|
43
|
-
this.SerializeAttribute(ConstInterface.MG_ATTR_CLOSE_SUBFORM_ONLY, "1");
|
44
|
-
}
|
45
|
-
SerializeKeyIndex(keyIndex) {
|
46
|
-
this.SerializeAttribute(ConstInterface.MG_ATTR_KEY, keyIndex);
|
47
|
-
}
|
48
|
-
SerializeAttribute(attribute, value) {
|
49
|
-
if (arguments.length === 2 && (attribute === null || attribute.constructor === String) && (value === null || value.constructor === String)) {
|
50
|
-
this.SerializeAttribute_0(attribute, value);
|
51
|
-
return;
|
52
|
-
}
|
53
|
-
if (arguments.length === 2 && (attribute === null || attribute.constructor === String) && (value === null || value.constructor === Number)) {
|
54
|
-
this.SerializeAttribute_1(attribute, value);
|
55
|
-
return;
|
56
|
-
}
|
57
|
-
this.SerializeAttribute_2(attribute, value);
|
58
|
-
}
|
59
|
-
SerializeAttribute_0(attribute, value) {
|
60
|
-
this.message.Append(" " + attribute + "=\"" + value + "\"");
|
61
|
-
}
|
62
|
-
SerializeAttribute_1(attribute, value) {
|
63
|
-
this.message.Append(" " + attribute + "=\"" + value + "\"");
|
64
|
-
}
|
65
|
-
SerializeAttribute_2(attribute, value) {
|
66
|
-
this.message.Append(" " + attribute + "=\"" + value + "\"");
|
67
|
-
}
|
68
|
-
}
|
69
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ29tbWFuZFNlcmlhbGl6YXRpb25IZWxwZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lbmdpbmUvc3JjL2NvbW1hbmRzL0NsaWVudFRvU2VydmVyL0NvbW1hbmRTZXJpYWxpemF0aW9uSGVscGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxLQUFLLEVBQUUsYUFBYSxFQUFPLE1BQU0sc0JBQXNCLENBQUM7QUFDaEUsT0FBTyxFQUFDLGdCQUFnQixFQUFFLGVBQWUsRUFBRSxZQUFZLEVBQUMsTUFBTSxrQkFBa0IsQ0FBQztBQUNqRixPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFDcEQsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBRTNDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQU1sRCxNQUFNLE9BQU8sMEJBQTBCO0lBQXZDO1FBQ1UsWUFBTyxHQUFrQixJQUFJLGFBQWEsRUFBRSxDQUFDO0lBZ0Z2RCxDQUFDO0lBOUVDLFNBQVM7UUFDUCxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDakMsQ0FBQztJQUVELGdCQUFnQixDQUFDLE9BQWU7UUFHOUIsSUFBSSxFQUFFLEdBQVcsWUFBWSxDQUFDLFdBQVcsQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLENBQUM7UUFFakUsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFlBQVksQ0FBQyxjQUFjLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDM0QsQ0FBQztJQUVELGNBQWMsQ0FBQyxLQUFhO1FBQzFCLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxjQUFjLENBQUMsZUFBZSxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQ2pFLENBQUM7SUFFRCxlQUFlLENBQUMsTUFBYztRQUM1QixJQUFJLE1BQU0sR0FBRyxLQUFLLENBQUMsUUFB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QixFQUFFLEtBQWE7UUFDM0QsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsR0FBRyxHQUFHLFNBQVMsR0FBRyxLQUFLLEdBQUcsS0FBSyxHQUFHLElBQUksQ0FBQyxDQUFDO0lBQzlELENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7SW50MzIsIFN0cmluZ0J1aWxkZXIsIExpc3R9IGZyb20gXCJAbWFnaWMteHBhL21zY29yZWxpYlwiO1xyXG5pbXBvcnQge1N0b3JhZ2VBdHRyaWJ1dGUsIFZpZXdSZWZyZXNoTW9kZSwgWE1MQ29uc3RhbnRzfSBmcm9tIFwiQG1hZ2ljLXhwYS91dGlsc1wiO1xyXG5pbXBvcnQge0NvbnN0SW50ZXJmYWNlfSBmcm9tIFwiLi4vLi4vQ29uc3RJbnRlcmZhY2VcIjtcclxuaW1wb3J0IHtSZWNvcmRVdGlsc30gZnJvbSBcIkBtYWdpYy14cGEvZ3VpXCI7XHJcbmltcG9ydCB7T3BlcmF0aW9ufSBmcm9tIFwiLi4vLi4vcnQvT3BlcmF0aW9uXCI7XHJcbmltcG9ydCB7IEFjY2Vzc0hlbHBlciB9IGZyb20gXCIuLi8uLi9BY2Nlc3NIZWxwZXJcIjtcclxuXHJcblxyXG4vLy8gPHN1bW1hcnk+XHJcbi8vLyBoZWxwZXIgY2xhc3MgLSBzdXBwbGllcyBtZXRob2RzIGZvciBzZXJpYWxpemF0aW9uIG9mIGNvbW1hbmRzIGRhdGEuXHJcbi8vLyA8L3N1bW1hcnk+XHJcbmV4cG9ydCBjbGFzcyBDb21tYW5kU2VyaWFsaXphdGlvbkhlbHBlciB7XHJcbiAgcHJpdmF0ZSBtZXNzYWdlOiBTdHJpbmdCdWlsZGVyID0gbmV3IFN0cmluZ0J1aWxkZXIoKTtcclxuXHJcbiAgR2V0U3RyaW5nKCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gdGhpcy5tZXNzYWdlLlRvU3RyaW5nKCk7XHJcbiAgfVxyXG5cclxuICBTZXJpYWxpemVUYXNrVGFnKHRhc2tUYWc6IHN0cmluZyk6IHZvaWQge1xyXG4gICAgLy8gUUNSICM5ODA0NTQgLSB0aGUgdGFzayBpZCBtYXkgY2hhbmdlIGR1cmluZyB0aGUgdGFzaydzIGxpZmV0aW1lLCBzbyB0YXNrSWQgbWlnaHRcclxuICAgIC8vIGJlIGhvbGRpbmcgdGhlIG9sZCBvbmUgLSBmaW5kIHRoZSB0YXNrIGFuZCByZS1mZXRjaCBpdHMgY3VycmVudCBJRC5cclxuICAgIGxldCBpZDogc3RyaW5nID0gQWNjZXNzSGVscGVyLm1nRGF0YVRhYmxlLmdldFRhc2tJZEJ5SWQodGFza1RhZyk7XHJcblxyXG4gICAgdGhpcy5TZXJpYWxpemVBdHRyaWJ1dGUoWE1MQ29uc3RhbnRzLk1HX0FUVFJfVEFTS0lELCBpZCk7XHJcbiAgfVxyXG5cclxuICBTZXJpYWxpemVGbGRJZChmbGRJZDogbnVtYmVyKTogdm9pZCB7XHJcbiAgICB0aGlzLlNlcmlhbGl6ZUF0dHJpYnV0ZShDb25zdEludGVyZmFjZS5NR19BVFRSX0ZJRUxESUQsIGZsZElkKTtcclxuICB9XHJcblxyXG4gIFNlcmlhbGl6ZURpdElkeChkaXRJZHg6IG51bWJlcik6IHZvaWQge1xyXG4gICAgaWYgKGRpdElkeCA+IEludDMyLk1pblZhbHVlKSB7XHJcbiAgICAgIHRoaXMuU2VyaWFsaXplQXR0cmlidXRlKFhNTENvbnN0YW50cy5NR19BVFRSX0RJVElEWCwgZGl0SWR4KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIFNlcmlhbGl6ZVJvdXRlUGFyYW1zKG9wZXJhdGlvbjogT3BlcmF0aW9uKTogdm9pZCB7XHJcblxyXG4gICAgbGV0IHJvdXRlUGFyYW1zOiBMaXN0PGFueT4gPSBvcGVyYXRpb24uZ2V0Um91dGVQYXJhbXMoKTtcclxuICAgIGxldCByb3V0ZVZhbFN0cjogc3RyaW5nID0gJyc7XHJcbiAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgcm91dGVQYXJhbXMubGVuZ3RoOyBpKyspIHtcclxuICAgICAgICByb3V0ZVZhbFN0ciA9IHJvdXRlVmFsU3RyLmNvbmNhdChSZWNvcmRVdGlscy5zZXJpYWxpemVJdGVtVmFsKHJvdXRlUGFyYW1zW2ldLCBTdG9yYWdlQXR0cmlidXRlLlVOSUNPREUsIFN0b3JhZ2VBdHRyaWJ1dGUuU0tJUCwgdHJ1ZSkpO1xyXG4gICAgICB9XHJcbiAgICB0aGlzLlNlcmlhbGl6ZUF0dHJpYnV0ZShDb25zdEludGVyZmFjZS5NR19BVFRSX1JPVVRFX1BBUkFNUywgcm91dGVWYWxTdHIpO1xyXG4gIH1cclxuXHJcblxyXG4gIFNlcmlhbGl6ZVJlZnJlc2hNb2RlKHJlZnJlc2hNb2RlOiBWaWV3UmVmcmVzaE1vZGUpOiB2b2lkIHtcclxuICAgIGlmIChyZWZyZXNoTW9kZSAhPT0gVmlld1JlZnJlc2hNb2RlLk5vbmUpIHtcclxuICAgICAgdGhpcy5TZXJpYWxpemVBdHRyaWJ1dGUoQ29uc3RJbnRlcmZhY2UuTUdfQVRUUl9SRUFMUkVGUkVTSCwgcmVmcmVzaE1vZGUpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgU2VyaWFsaXplTWFnaWNFdmVudChtYWdpY0V2ZW50OiBudW1iZXIpOiB2b2lkIHtcclxuICAgIHRoaXMuU2VyaWFsaXplQXR0cmlidXRlKENvbnN0SW50ZXJmYWNlLk1HX0FUVFJfTUFHSUNFVkVOVCwgbWFnaWNFdmVudCk7XHJcbiAgfVxyXG5cclxuICBTZXJpYWxpemVDbG9zZVN1YmZvcm1Pbmx5KGNsb3NlU3ViZm9ybU9ubHk6IGJvb2xlYW4pOiB2b2lkIHtcclxuICAgIGlmIChjbG9zZVN1YmZvcm1Pbmx5KVxyXG4gICAgICB0aGlzLlNlcmlhbGl6ZUF0dHJpYnV0ZShDb25zdEludGVyZmFjZS5NR19BVFRSX0NMT1NFX1NVQkZPUk1fT05MWSwgXCIxXCIpO1xyXG4gIH1cclxuXHJcbiAgU2VyaWFsaXplS2V5SW5kZXgoa2V5SW5kZXg6IG51bWJlcik6IHZvaWQge1xyXG4gICAgdGhpcy5TZXJpYWxpemVBdHRyaWJ1dGUoQ29uc3RJbnRlcmZhY2UuTUdfQVRUUl9LRVksIGtleUluZGV4KTtcclxuICB9XHJcblxyXG4gIFNlcmlhbGl6ZUF0dHJpYnV0ZShhdHRyaWJ1dGU6IHN0cmluZywgdmFsdWU6IHN0cmluZyk6IHZvaWQ7XHJcbiAgU2VyaWFsaXplQXR0cmlidXRlKGF0dHJpYnV0ZTogc3RyaW5nLCB2YWx1ZTogbnVtYmVyKTogdm9pZDtcclxuICBTZXJpYWxpemVBdHRyaWJ1dGUoYXR0cmlidXRlOiBzdHJpbmcsIHZhbHVlOiBzdHJpbmcpOiB2b2lkO1xyXG4gIFNlcmlhbGl6ZUF0dHJpYnV0ZShhdHRyaWJ1dGU6IHN0cmluZywgdmFsdWU6IGFueSk6IHZvaWQge1xyXG4gICAgaWYgKGFyZ3VtZW50cy5sZW5ndGggPT09IDIgJiYgKGF0dHJpYnV0ZSA9PT0gbnVsbCB8fCBhdHRyaWJ1dGUuY29uc3RydWN0b3IgPT09IFN0cmluZykgJiYgKHZhbHVlID09PSBudWxsIHx8IHZhbHVlLmNvbnN0cnVjdG9yID09PSBTdHJpbmcpKSB7XHJcbiAgICAgIHRoaXMuU2VyaWFsaXplQXR0cmlidXRlXzAoYXR0cmlidXRlLCB2YWx1ZSk7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIGlmIChhcmd1bWVudHMubGVuZ3RoID09PSAyICYmIChhdHRyaWJ1dGUgPT09IG51bGwgfHwgYXR0cmlidXRlLmNvbnN0cnVjdG9yID09PSBTdHJpbmcpICYmICh2YWx1ZSA9PT0gbnVsbCB8fCB2YWx1ZS5jb25zdHJ1Y3RvciA9PT0gTnVtYmVyKSkge1xyXG4gICAgICB0aGlzLlNlcmlhbGl6ZUF0dHJpYnV0ZV8xKGF0dHJpYnV0ZSwgdmFsdWUpO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICB0aGlzLlNlcmlhbGl6ZUF0dHJpYnV0ZV8yKGF0dHJpYnV0ZSwgdmFsdWUpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBTZXJpYWxpemVBdHRyaWJ1dGVfMChhdHRyaWJ1dGU6IHN0cmluZywgdmFsdWU6IHN0cmluZyk6IHZvaWQge1xyXG4gICAgdGhpcy5tZXNzYWdlLkFwcGVuZChcIiBcIiArIGF0dHJpYnV0ZSArIFwiPVxcXCJcIiArIHZhbHVlICsgXCJcXFwiXCIpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBTZXJpYWxpemVBdHRyaWJ1dGVfMShhdHRyaWJ1dGU6IHN0cmluZywgdmFsdWU6IG51bWJlcik6IHZvaWQge1xyXG4gICAgdGhpcy5tZXNzYWdlLkFwcGVuZChcIiBcIiArIGF0dHJpYnV0ZSArIFwiPVxcXCJcIiArIHZhbHVlICsgXCJcXFwiXCIpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBTZXJpYWxpemVBdHRyaWJ1dGVfMihhdHRyaWJ1dGU6IHN0cmluZywgdmFsdWU6IHN0cmluZyk6IHZvaWQge1xyXG4gICAgdGhpcy5tZXNzYWdlLkFwcGVuZChcIiBcIiArIGF0dHJpYnV0ZSArIFwiPVxcXCJcIiArIHZhbHVlICsgXCJcXFwiXCIpO1xyXG4gIH1cclxufVxyXG4iXX0=
|
@@ -1,23 +0,0 @@
|
|
1
|
-
import { NString } from "@magic-xpa/mscorelib";
|
2
|
-
import { InternalInterface } from "@magic-xpa/utils";
|
3
|
-
import { CommandSerializationHelper } from "./CommandSerializationHelper";
|
4
|
-
import { EventCommand } from "./EventCommand";
|
5
|
-
import { ConstInterface } from "../../ConstInterface";
|
6
|
-
export class ComputeEventCommand extends EventCommand {
|
7
|
-
constructor() {
|
8
|
-
super(InternalInterface.MG_ACT_COMPUTE);
|
9
|
-
this.Subforms = false;
|
10
|
-
}
|
11
|
-
SerializeCommandData() {
|
12
|
-
let helper = new CommandSerializationHelper();
|
13
|
-
helper.SerializeTaskTag(this.TaskTag);
|
14
|
-
helper.SerializeMagicEvent(this.MagicEvent);
|
15
|
-
if (this.Subforms)
|
16
|
-
helper.SerializeAttribute(ConstInterface.MG_ATTR_OBJECT, "99999");
|
17
|
-
return helper.GetString();
|
18
|
-
}
|
19
|
-
getCommandInfo() {
|
20
|
-
return NString.Format('[{0} for {1} in {2}] ', this.EventDescription, this.Subforms ? 'Form and Subform' : 'Form', this.Task.getTaskInfo());
|
21
|
-
}
|
22
|
-
}
|
23
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ29tcHV0ZUV2ZW50Q29tbWFuZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VuZ2luZS9zcmMvY29tbWFuZHMvQ2xpZW50VG9TZXJ2ZXIvQ29tcHV0ZUV2ZW50Q29tbWFuZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsT0FBTyxFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFDN0MsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0sa0JBQWtCLENBQUM7QUFDbkQsT0FBTyxFQUFDLDBCQUEwQixFQUFDLE1BQU0sOEJBQThCLENBQUM7QUFDeEUsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQzVDLE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUlwRCxNQUFNLE9BQU8sbUJBQW9CLFNBQVEsWUFBWTtJQU9uRDtRQUNFLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQyxjQUFjLENBQUMsQ0FBQztRQU4xQyxhQUFRLEdBQVksS0FBSyxDQUFDO0lBTzFCLENBQUM7SUFFRCxvQkFBb0I7UUFDbEIsSUFBSSxNQUFNLEdBQStCLElBQUksMEJBQTBCLEVBQUUsQ0FBQztRQUUxRSxNQUFNLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ3RDLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7UUFFNUMsSUFBSSxJQUFJLENBQUMsUUFBUTtZQUNmLE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxjQUFjLENBQUMsY0FBYyxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBRXBFLE9BQU8sTUFBTSxDQUFDLFNBQVMsRUFBRSxDQUFDO0lBQzVCLENBQUM7SUFFRCxjQUFjO1FBQ1osT0FBTyxPQUFPLENBQUMsTUFBTSxDQUFDLHVCQUF1QixFQUNDLElBQUksQ0FBQyxnQkFBZ0IsRUFDdEIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxDQUFDLE1BQU0sRUFDMUMsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDO0lBQ3pFLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7TlN0cmluZ30gZnJvbSBcIkBtYWdpYy14cGEvbXNjb3JlbGliXCI7XHJcbmltcG9ydCB7SW50ZXJuYWxJbnRlcmZhY2V9IGZyb20gXCJAbWFnaWMteHBhL3V0aWxzXCI7XHJcbmltcG9ydCB7Q29tbWFuZFNlcmlhbGl6YXRpb25IZWxwZXJ9IGZyb20gXCIuL0NvbW1hbmRTZXJpYWxpemF0aW9uSGVscGVyXCI7XHJcbmltcG9ydCB7RXZlbnRDb21tYW5kfSBmcm9tIFwiLi9FdmVudENvbW1hbmRcIjtcclxuaW1wb3J0IHtDb25zdEludGVyZmFjZX0gZnJvbSBcIi4uLy4uL0NvbnN0SW50ZXJmYWNlXCI7XHJcbmltcG9ydCB7SUNsaWVudFRvU2VydmVyQ29tbWFuZEluZm99IGZyb20gXCIuLi9JQ2xpZW50VG9TZXJ2ZXJDb21tYW5kSW5mb1wiO1xyXG5cclxuXHJcbmV4cG9ydCBjbGFzcyBDb21wdXRlRXZlbnRDb21tYW5kIGV4dGVuZHMgRXZlbnRDb21tYW5kIGltcGxlbWVudHMgSUNsaWVudFRvU2VydmVyQ29tbWFuZEluZm8ge1xyXG5cclxuICBTdWJmb3JtczogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICAvLy8gPHN1bW1hcnk+XHJcbiAgLy8vIENUT1JcclxuICAvLy8gPC9zdW1tYXJ5PlxyXG4gIGNvbnN0cnVjdG9yKCkge1xyXG4gICAgc3VwZXIoSW50ZXJuYWxJbnRlcmZhY2UuTUdfQUNUX0NPTVBVVEUpO1xyXG4gIH1cclxuXHJcbiAgU2VyaWFsaXplQ29tbWFuZERhdGEoKTogc3RyaW5nIHtcclxuICAgIGxldCBoZWxwZXI6IENvbW1hbmRTZXJpYWxpemF0aW9uSGVscGVyID0gbmV3IENvbW1hbmRTZXJpYWxpemF0aW9uSGVscGVyKCk7XHJcblxyXG4gICAgaGVscGVyLlNlcmlhbGl6ZVRhc2tUYWcodGhpcy5UYXNrVGFnKTtcclxuICAgIGhlbHBlci5TZXJpYWxpemVNYWdpY0V2ZW50KHRoaXMuTWFnaWNFdmVudCk7XHJcblxyXG4gICAgaWYgKHRoaXMuU3ViZm9ybXMpXHJcbiAgICAgIGhlbHBlci5TZXJpYWxpemVBdHRyaWJ1dGUoQ29uc3RJbnRlcmZhY2UuTUdfQVRUUl9PQkpFQ1QsIFwiOTk5OTlcIik7XHJcblxyXG4gICAgcmV0dXJuIGhlbHBlci5HZXRTdHJpbmcoKTtcclxuICB9XHJcblxyXG4gIGdldENvbW1hbmRJbmZvKCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gTlN0cmluZy5Gb3JtYXQoJ1t7MH0gZm9yIHsxfSBpbiB7Mn1dICdcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLCB0aGlzLkV2ZW50RGVzY3JpcHRpb25cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLHRoaXMuU3ViZm9ybXMgPyAnRm9ybSBhbmQgU3ViZm9ybScgOiAnRm9ybSdcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLCB0aGlzLlRhc2suZ2V0VGFza0luZm8oKSk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
@@ -1,13 +0,0 @@
|
|
1
|
-
import { DataviewCommand } from "./DataviewCommand";
|
2
|
-
export class DataViewOutputCommand extends DataviewCommand {
|
3
|
-
constructor(OutputCommandType) {
|
4
|
-
super();
|
5
|
-
this.Generation = 0;
|
6
|
-
this.TaskVarNames = null;
|
7
|
-
this.DestinationDataSourceNumber = 0;
|
8
|
-
this.DestinationDataSourceName = null;
|
9
|
-
this.DestinationColumns = null;
|
10
|
-
this.CommandType = OutputCommandType;
|
11
|
-
}
|
12
|
-
}
|
13
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRGF0YVZpZXdPdXRwdXRDb21tYW5kLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZW5naW5lL3NyYy9jb21tYW5kcy9DbGllbnRUb1NlcnZlci9EYXRhVmlld091dHB1dENvbW1hbmQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLGVBQWUsRUFBc0IsTUFBTSxtQkFBbUIsQ0FBQztBQUt2RSxNQUFNLE9BQU8scUJBQXNCLFNBQVEsZUFBZTtJQVV4RCxZQUFZLGlCQUFzQztRQUNoRCxLQUFLLEVBQUUsQ0FBQztRQVZWLGVBQVUsR0FBVyxDQUFDLENBQUM7UUFDdkIsaUJBQVksR0FBVyxJQUFJLENBQUM7UUFDNUIsZ0NBQTJCLEdBQVcsQ0FBQyxDQUFDO1FBQ3hDLDhCQUF5QixHQUFXLElBQUksQ0FBQztRQUN6Qyx1QkFBa0IsR0FBVyxJQUFJLENBQUM7UUFPaEMsSUFBSSxDQUFDLFdBQVcsR0FBRyxpQkFBaUIsQ0FBQztJQUN2QyxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0RhdGF2aWV3Q29tbWFuZCwgRGF0YVZpZXdDb21tYW5kVHlwZX0gZnJvbSBcIi4vRGF0YXZpZXdDb21tYW5kXCI7XHJcblxyXG4vLy8gPHN1bW1hcnk+XHJcbi8vLyBjb21tYW5kIGZvciB2YXJpb3VzIHR5cGVzIG9mIERhdGFWaWV3IG91dHB1dCBvcGVyYXRpb24uXHJcbi8vLyA8L3N1bW1hcnk+XHJcbmV4cG9ydCBjbGFzcyBEYXRhVmlld091dHB1dENvbW1hbmQgZXh0ZW5kcyBEYXRhdmlld0NvbW1hbmQge1xyXG4gIEdlbmVyYXRpb246IG51bWJlciA9IDA7XHJcbiAgVGFza1Zhck5hbWVzOiBzdHJpbmcgPSBudWxsO1xyXG4gIERlc3RpbmF0aW9uRGF0YVNvdXJjZU51bWJlcjogbnVtYmVyID0gMDtcclxuICBEZXN0aW5hdGlvbkRhdGFTb3VyY2VOYW1lOiBzdHJpbmcgPSBudWxsO1xyXG4gIERlc3RpbmF0aW9uQ29sdW1uczogc3RyaW5nID0gbnVsbDtcclxuXHJcbiAgLy8vIDxzdW1tYXJ5PlxyXG4gIC8vLyBDVE9SXHJcbiAgLy8vIDwvc3VtbWFyeT5cclxuICBjb25zdHJ1Y3RvcihPdXRwdXRDb21tYW5kVHlwZTogRGF0YVZpZXdDb21tYW5kVHlwZSkge1xyXG4gICAgc3VwZXIoKTtcclxuICAgIHRoaXMuQ29tbWFuZFR5cGUgPSBPdXRwdXRDb21tYW5kVHlwZTtcclxuICB9XHJcbn1cclxuIl19
|
@@ -1,36 +0,0 @@
|
|
1
|
-
import { Int32, NString } from '@magic-xpa/mscorelib';
|
2
|
-
import { StorageAttribute } from '@magic-xpa/utils';
|
3
|
-
import { CommandSerializationHelper } from './CommandSerializationHelper';
|
4
|
-
import { ConstInterface } from '../../ConstInterface';
|
5
|
-
import { ClientOriginatedCommandTaskTag } from '../ClientOriginatedCommandTaskTag';
|
6
|
-
export class EvaluateCommand extends ClientOriginatedCommandTaskTag {
|
7
|
-
get CommandTypeAttribute() {
|
8
|
-
return ConstInterface.MG_ATTR_VAL_EVAL;
|
9
|
-
}
|
10
|
-
constructor() {
|
11
|
-
super();
|
12
|
-
this.TaskTag = null;
|
13
|
-
this.ExpIdx = 0;
|
14
|
-
this.LengthExpVal = 0;
|
15
|
-
this.MprgCreator = null;
|
16
|
-
this.LengthExpVal = Int32.MinValue;
|
17
|
-
}
|
18
|
-
SerializeCommandData() {
|
19
|
-
let helper = new CommandSerializationHelper();
|
20
|
-
helper.SerializeTaskTag(this.TaskTag);
|
21
|
-
helper.SerializeAttribute(ConstInterface.MG_ATTR_EXP_IDX, this.ExpIdx);
|
22
|
-
if (this.ExpType !== StorageAttribute.NONE) {
|
23
|
-
let maxDigits = "";
|
24
|
-
if (this.LengthExpVal > 0)
|
25
|
-
maxDigits += this.LengthExpVal;
|
26
|
-
helper.SerializeAttribute(ConstInterface.MG_ATTR_EXP_TYPE, this.ExpType + maxDigits);
|
27
|
-
}
|
28
|
-
if (this.MprgCreator !== null)
|
29
|
-
helper.SerializeAttribute(ConstInterface.MG_ATTR_MPRG_SOURCE, this.MprgCreator.getTaskTag());
|
30
|
-
return helper.GetString();
|
31
|
-
}
|
32
|
-
getCommandInfo() {
|
33
|
-
return NString.Format('[{0} ExpID {1} in {2}]', this.CommandTypeAttribute.charAt(0).toUpperCase() + this.CommandTypeAttribute.substr(1, this.CommandTypeAttribute.length), this.ExpIdx, this.Task.getTaskInfo());
|
34
|
-
}
|
35
|
-
}
|
36
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRXZhbHVhdGVDb21tYW5kLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZW5naW5lL3NyYy9jb21tYW5kcy9DbGllbnRUb1NlcnZlci9FdmFsdWF0ZUNvbW1hbmQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLEtBQUssRUFBRSxPQUFPLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUNwRCxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSxrQkFBa0IsQ0FBQztBQUNsRCxPQUFPLEVBQUMsMEJBQTBCLEVBQUMsTUFBTSw4QkFBOEIsQ0FBQztBQUV4RSxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFDcEQsT0FBTyxFQUFDLDhCQUE4QixFQUFDLE1BQU0sbUNBQW1DLENBQUM7QUFHakYsTUFBTSxPQUFPLGVBQWdCLFNBQVEsOEJBQThCO0lBT2pFLElBQUksb0JBQW9CO1FBQ3RCLE9BQU8sY0FBYyxDQUFDLGdCQUFnQixDQUFDO0lBQ3pDLENBQUM7SUFLRDtRQUNFLEtBQUssRUFBRSxDQUFDO1FBZFYsWUFBTyxHQUFXLElBQUksQ0FBQztRQUN2QixXQUFNLEdBQVcsQ0FBQyxDQUFDO1FBRW5CLGlCQUFZLEdBQVcsQ0FBQyxDQUFDO1FBQ3pCLGdCQUFXLEdBQVMsSUFBSSxDQUFDO1FBV3ZCLElBQUksQ0FBQyxZQUFZLEdBQUcsS0FBSyxDQUFDLFFBQVEsQ0FBQztJQUNyQyxDQUFDO0lBRUQsb0JBQW9CO1FBQ2xCLElBQUksTUFBTSxHQUErQixJQUFJLDBCQUEwQixFQUFFLENBQUM7UUFFMUUsTUFBTSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUN0QyxNQUFNLENBQUMsa0JBQWtCLENBQUMsY0FBYyxDQUFDLGVBQWUsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7UUFFdkUsSUFBSSxJQUFJLENBQUMsT0FBTyxLQUFLLGdCQUFnQixDQUFDLElBQUksRUFBRTtZQUMxQyxJQUFJLFNBQVMsR0FBVyxFQUFFLENBQUM7WUFDM0IsSUFBSSxJQUFJLENBQUMsWUFBWSxHQUFHLENBQUM7Z0JBQ3ZCLFNBQVMsSUFBSSxJQUFJLENBQUMsWUFBWSxDQUFDO1lBRWpDLE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxjQUFjLENBQUMsZ0JBQWdCLEVBQVUsSUFBSSxDQUFDLE9BQU8sR0FBRyxTQUFTLENBQUMsQ0FBQztTQUM5RjtRQUNELElBQUksSUFBSSxDQUFDLFdBQVcsS0FBSyxJQUFJO1lBQzNCLE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxjQUFjLENBQUMsbUJBQW1CLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxVQUFVLEVBQUUsQ0FBQyxDQUFDO1FBRS9GLE9BQU8sTUFBTSxDQUFDLFNBQVMsRUFBRSxDQUFDO0lBQzVCLENBQUM7SUFFRCxjQUFjO1FBQ1osT0FBTyxPQUFPLENBQUMsTUFBTSxDQUFDLHdCQUF3QixFQUNaLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxFQUFFLEdBQUcsSUFBSSxDQUFDLG9CQUFvQixDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLG9CQUFvQixDQUFDLE1BQU0sQ0FBQyxFQUN6SCxJQUFJLENBQUMsTUFBTSxFQUNYLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQztJQUM3RCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0ludDMyLCBOU3RyaW5nfSBmcm9tICdAbWFnaWMteHBhL21zY29yZWxpYic7XHJcbmltcG9ydCB7U3RvcmFnZUF0dHJpYnV0ZX0gZnJvbSAnQG1hZ2ljLXhwYS91dGlscyc7XHJcbmltcG9ydCB7Q29tbWFuZFNlcmlhbGl6YXRpb25IZWxwZXJ9IGZyb20gJy4vQ29tbWFuZFNlcmlhbGl6YXRpb25IZWxwZXInO1xyXG5pbXBvcnQge1Rhc2t9IGZyb20gJy4uLy4uL3Rhc2tzL1Rhc2snO1xyXG5pbXBvcnQge0NvbnN0SW50ZXJmYWNlfSBmcm9tICcuLi8uLi9Db25zdEludGVyZmFjZSc7XHJcbmltcG9ydCB7Q2xpZW50T3JpZ2luYXRlZENvbW1hbmRUYXNrVGFnfSBmcm9tICcuLi9DbGllbnRPcmlnaW5hdGVkQ29tbWFuZFRhc2tUYWcnO1xyXG5pbXBvcnQge0lDbGllbnRUb1NlcnZlckNvbW1hbmRJbmZvfSBmcm9tICcuLi9JQ2xpZW50VG9TZXJ2ZXJDb21tYW5kSW5mbyc7XHJcblxyXG5leHBvcnQgY2xhc3MgRXZhbHVhdGVDb21tYW5kIGV4dGVuZHMgQ2xpZW50T3JpZ2luYXRlZENvbW1hbmRUYXNrVGFnIGltcGxlbWVudHMgSUNsaWVudFRvU2VydmVyQ29tbWFuZEluZm8ge1xyXG4gIFRhc2tUYWc6IHN0cmluZyA9IG51bGw7XHJcbiAgRXhwSWR4OiBudW1iZXIgPSAwO1xyXG4gIEV4cFR5cGU6IFN0b3JhZ2VBdHRyaWJ1dGU7XHJcbiAgTGVuZ3RoRXhwVmFsOiBudW1iZXIgPSAwO1xyXG4gIE1wcmdDcmVhdG9yOiBUYXNrID0gbnVsbDtcclxuXHJcbiAgZ2V0IENvbW1hbmRUeXBlQXR0cmlidXRlKCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gQ29uc3RJbnRlcmZhY2UuTUdfQVRUUl9WQUxfRVZBTDtcclxuICB9XHJcblxyXG4gIC8vLyA8c3VtbWFyeT5cclxuICAvLy8gQ1RPUlxyXG4gIC8vLyA8L3N1bW1hcnk+XHJcbiAgY29uc3RydWN0b3IoKSB7XHJcbiAgICBzdXBlcigpO1xyXG4gICAgdGhpcy5MZW5ndGhFeHBWYWwgPSBJbnQzMi5NaW5WYWx1ZTtcclxuICB9XHJcblxyXG4gIFNlcmlhbGl6ZUNvbW1hbmREYXRhKCk6IHN0cmluZyB7XHJcbiAgICBsZXQgaGVscGVyOiBDb21tYW5kU2VyaWFsaXphdGlvbkhlbHBlciA9IG5ldyBDb21tYW5kU2VyaWFsaXphdGlvbkhlbHBlcigpO1xyXG5cclxuICAgIGhlbHBlci5TZXJpYWxpemVUYXNrVGFnKHRoaXMuVGFza1RhZyk7XHJcbiAgICBoZWxwZXIuU2VyaWFsaXplQXR0cmlidXRlKENvbnN0SW50ZXJmYWNlLk1HX0FUVFJfRVhQX0lEWCwgdGhpcy5FeHBJZHgpO1xyXG5cclxuICAgIGlmICh0aGlzLkV4cFR5cGUgIT09IFN0b3JhZ2VBdHRyaWJ1dGUuTk9ORSkge1xyXG4gICAgICBsZXQgbWF4RGlnaXRzOiBzdHJpbmcgPSBcIlwiO1xyXG4gICAgICBpZiAodGhpcy5MZW5ndGhFeHBWYWwgPiAwKVxyXG4gICAgICAgIG1heERpZ2l0cyArPSB0aGlzLkxlbmd0aEV4cFZhbDtcclxuXHJcbiAgICAgIGhlbHBlci5TZXJpYWxpemVBdHRyaWJ1dGUoQ29uc3RJbnRlcmZhY2UuTUdfQVRUUl9FWFBfVFlQRSwgPHN0cmluZz50aGlzLkV4cFR5cGUgKyBtYXhEaWdpdHMpO1xyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMuTXByZ0NyZWF0b3IgIT09IG51bGwpXHJcbiAgICAgIGhlbHBlci5TZXJpYWxpemVBdHRyaWJ1dGUoQ29uc3RJbnRlcmZhY2UuTUdfQVRUUl9NUFJHX1NPVVJDRSwgdGhpcy5NcHJnQ3JlYXRvci5nZXRUYXNrVGFnKCkpO1xyXG5cclxuICAgIHJldHVybiBoZWxwZXIuR2V0U3RyaW5nKCk7XHJcbiAgfVxyXG5cclxuICBnZXRDb21tYW5kSW5mbygpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIE5TdHJpbmcuRm9ybWF0KCdbezB9IEV4cElEIHsxfSBpbiB7Mn1dJ1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAsIHRoaXMuQ29tbWFuZFR5cGVBdHRyaWJ1dGUuY2hhckF0KDApLnRvVXBwZXJDYXNlKCkgKyB0aGlzLkNvbW1hbmRUeXBlQXR0cmlidXRlLnN1YnN0cigxLCB0aGlzLkNvbW1hbmRUeXBlQXR0cmlidXRlLmxlbmd0aClcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLCB0aGlzLkV4cElkeFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAsIHRoaXMuVGFzay5nZXRUYXNrSW5mbygpKTtcclxuICB9XHJcbn1cclxuIl19
|
@@ -1,67 +0,0 @@
|
|
1
|
-
import { Int32, StringBuilder } from "@magic-xpa/mscorelib";
|
2
|
-
import { XMLConstants, XmlParser, } from "@magic-xpa/utils";
|
3
|
-
import { ExecutionStack } from "../../rt/ExecutionStack";
|
4
|
-
import { ConstInterface } from "../../ConstInterface";
|
5
|
-
import { CommandSerializationHelper } from "./CommandSerializationHelper";
|
6
|
-
import { ClientOriginatedCommandTaskTag } from "../ClientOriginatedCommandTaskTag";
|
7
|
-
import { AccessHelper } from "../../AccessHelper";
|
8
|
-
export class ExecOperCommand extends ClientOriginatedCommandTaskTag {
|
9
|
-
get CommandTypeAttribute() {
|
10
|
-
return ConstInterface.MG_ATTR_VAL_EXEC_OPER;
|
11
|
-
}
|
12
|
-
constructor() {
|
13
|
-
super();
|
14
|
-
this.ExecutionStack = null;
|
15
|
-
this.TaskTag = null;
|
16
|
-
this.HandlerId = null;
|
17
|
-
this.OperIdx = 0;
|
18
|
-
this.DitIdx = 0;
|
19
|
-
this.Val = null;
|
20
|
-
this.MprgCreator = null;
|
21
|
-
this.Operation = null;
|
22
|
-
this.CheckOnly = false;
|
23
|
-
this.DitIdx = Int32.MinValue;
|
24
|
-
}
|
25
|
-
SerializeCommandData() {
|
26
|
-
let helper = new CommandSerializationHelper();
|
27
|
-
let execStackExists = this.ExecutionStack !== null && !this.ExecutionStack.empty();
|
28
|
-
helper.SerializeTaskTag(this.TaskTag);
|
29
|
-
if (this.HandlerId !== null && !execStackExists)
|
30
|
-
helper.SerializeAttribute(ConstInterface.MG_ATTR_HANDLERID, this.HandlerId);
|
31
|
-
if (this.OperIdx > Int32.MinValue && !execStackExists)
|
32
|
-
helper.SerializeAttribute(ConstInterface.MG_ATTR_OPER_IDX, this.OperIdx);
|
33
|
-
if (this.DitIdx > Int32.MinValue)
|
34
|
-
helper.SerializeDitIdx(this.DitIdx);
|
35
|
-
if (this.Operation != null && this.Operation.getType() === ConstInterface.MG_OPER_CALL && this.Operation.getRouteParams() !== null) {
|
36
|
-
helper.SerializeRouteParams(this.Operation);
|
37
|
-
}
|
38
|
-
if (this.Val !== null)
|
39
|
-
helper.SerializeAttribute(XMLConstants.MG_ATTR_VALUE, XmlParser.escape(this.Val));
|
40
|
-
if (this.CheckOnly)
|
41
|
-
helper.SerializeAttribute(ConstInterface.MG_ATTR_CHECK_ONLY, "1");
|
42
|
-
return helper.GetString();
|
43
|
-
}
|
44
|
-
SetExecutionStack(execStack) {
|
45
|
-
this.ExecutionStack = new ExecutionStack();
|
46
|
-
this.ExecutionStack.push(AccessHelper.mgDataTable.getTaskIdById(this.TaskTag), this.HandlerId, this.OperIdx);
|
47
|
-
this.ExecutionStack.pushUpSideDown(execStack);
|
48
|
-
}
|
49
|
-
SerializeDataAfterCommand() {
|
50
|
-
let execStackExists = this.ExecutionStack !== null && !this.ExecutionStack.empty();
|
51
|
-
if (execStackExists) {
|
52
|
-
let message = new StringBuilder();
|
53
|
-
this.ExecutionStack.buildXML(message);
|
54
|
-
return message.ToString();
|
55
|
-
}
|
56
|
-
return null;
|
57
|
-
}
|
58
|
-
getCommandInfo() {
|
59
|
-
return 'Line number ' + '[' + (this.Operation.getServerId() + 1) + ']' +
|
60
|
-
' in ' + '[' + this.Operation.getEventHandler().getEventHandlerInfo() + ']' +
|
61
|
-
' on ' + '[' + this.Operation.Task.getTaskInfo() + ']';
|
62
|
-
}
|
63
|
-
getTask() {
|
64
|
-
return this.Operation.Task;
|
65
|
-
}
|
66
|
-
}
|
67
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRXhlY09wZXJDb21tYW5kLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZW5naW5lL3NyYy9jb21tYW5kcy9DbGllbnRUb1NlcnZlci9FeGVjT3BlckNvbW1hbmQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLEtBQUssRUFBRSxhQUFhLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUMxRCxPQUFPLEVBQUMsWUFBWSxFQUFFLFNBQVMsR0FBRSxNQUFNLGtCQUFrQixDQUFDO0FBQzFELE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQztBQUV2RCxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFDcEQsT0FBTyxFQUFDLDBCQUEwQixFQUFDLE1BQU0sOEJBQThCLENBQUM7QUFFeEUsT0FBTyxFQUFDLDhCQUE4QixFQUFDLE1BQU0sbUNBQW1DLENBQUM7QUFDakYsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLG9CQUFvQixDQUFDO0FBSWhELE1BQU0sT0FBTyxlQUFnQixTQUFRLDhCQUE4QjtJQVdqRSxJQUFJLG9CQUFvQjtRQUN0QixPQUFPLGNBQWMsQ0FBQyxxQkFBcUIsQ0FBQztJQUM5QyxDQUFDO0lBS0Q7UUFDRSxLQUFLLEVBQUUsQ0FBQztRQWxCVixtQkFBYyxHQUFtQixJQUFJLENBQUM7UUFDdEMsWUFBTyxHQUFXLElBQUksQ0FBQztRQUN2QixjQUFTLEdBQVcsSUFBSSxDQUFDO1FBQ3pCLFlBQU8sR0FBVyxDQUFDLENBQUM7UUFDcEIsV0FBTSxHQUFXLENBQUMsQ0FBQztRQUNuQixRQUFHLEdBQVcsSUFBSSxDQUFDO1FBQ25CLGdCQUFXLEdBQVMsSUFBSSxDQUFDO1FBQ3pCLGNBQVMsR0FBYyxJQUFJLENBQUM7UUFDNUIsY0FBUyxHQUFZLEtBQUssQ0FBQztRQVd6QixJQUFJLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQyxRQUFR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QUcsR0FBRyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxHQUFHLEdBQUcsQ0FBRTtJQUNsRSxDQUFDO0lBRUQsT0FBTztRQUVMLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUM7SUFDN0IsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtJbnQzMiwgU3RyaW5nQnVpbGRlcn0gZnJvbSBcIkBtYWdpYy14cGEvbXNjb3JlbGliXCI7XHJcbmltcG9ydCB7WE1MQ29uc3RhbnRzLCBYbWxQYXJzZXIsfSBmcm9tIFwiQG1hZ2ljLXhwYS91dGlsc1wiO1xyXG5pbXBvcnQge0V4ZWN1dGlvblN0YWNrfSBmcm9tIFwiLi4vLi4vcnQvRXhlY3V0aW9uU3RhY2tcIjtcclxuaW1wb3J0IHtPcGVyYXRpb259IGZyb20gXCIuLi8uLi9ydC9PcGVyYXRpb25cIjtcclxuaW1wb3J0IHtDb25zdEludGVyZmFjZX0gZnJvbSBcIi4uLy4uL0NvbnN0SW50ZXJmYWNlXCI7XHJcbmltcG9ydCB7Q29tbWFuZFNlcmlhbGl6YXRpb25IZWxwZXJ9IGZyb20gXCIuL0NvbW1hbmRTZXJpYWxpemF0aW9uSGVscGVyXCI7XHJcbmltcG9ydCB7VGFza30gZnJvbSBcIi4uLy4uL3Rhc2tzL1Rhc2tcIjtcclxuaW1wb3J0IHtDbGllbnRPcmlnaW5hdGVkQ29tbWFuZFRhc2tUYWd9IGZyb20gXCIuLi9DbGllbnRPcmlnaW5hdGVkQ29tbWFuZFRhc2tUYWdcIjtcclxuaW1wb3J0IHtBY2Nlc3NIZWxwZXJ9IGZyb20gXCIuLi8uLi9BY2Nlc3NIZWxwZXJcIjtcclxuaW1wb3J0IHtJQ2xpZW50VG9TZXJ2ZXJDb21tYW5kSW5mb30gZnJvbSBcIi4uL0lDbGllbnRUb1NlcnZlckNvbW1hbmRJbmZvXCI7XHJcblxyXG5cclxuZXhwb3J0IGNsYXNzIEV4ZWNPcGVyQ29tbWFuZCBleHRlbmRzIENsaWVudE9yaWdpbmF0ZWRDb21tYW5kVGFza1RhZyBpbXBsZW1lbnRzIElDbGllbnRUb1NlcnZlckNvbW1hbmRJbmZvIHtcclxuICBFeGVjdXRpb25TdGFjazogRXhlY3V0aW9uU3RhY2sgPSBudWxsO1xyXG4gIFRhc2tUYWc6IHN0cmluZyA9IG51bGw7XHJcbiAgSGFuZGxlcklkOiBzdHJpbmcgPSBudWxsO1xyXG4gIE9wZXJJZHg6IG51bWJlciA9IDA7XHJcbiAgRGl0SWR4OiBudW1iZXIgPSAwO1xyXG4gIFZhbDogc3RyaW5nID0gbnVsbDtcclxuICBNcHJnQ3JlYXRvcjogVGFzayA9IG51bGw7XHJcbiAgT3BlcmF0aW9uOiBPcGVyYXRpb24gPSBudWxsO1xyXG4gIENoZWNrT25seTogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICBnZXQgQ29tbWFuZFR5cGVBdHRyaWJ1dGUoKTogc3RyaW5nIHtcclxuICAgIHJldHVybiBDb25zdEludGVyZmFjZS5NR19BVFRSX1ZBTF9FWEVDX09QRVI7XHJcbiAgfVxyXG5cclxuICAvLy8gPHN1bW1hcnk+XHJcbiAgLy8vIENUT1JcclxuICAvLy8gPC9zdW1tYXJ5PlxyXG4gIGNvbnN0cnVjdG9yKCkge1xyXG4gICAgc3VwZXIoKTtcclxuICAgIHRoaXMuRGl0SWR4ID0gSW50MzIuTWluVmFsdWU7XHJcbiAgfVxyXG5cclxuICAvLy8gPHN1bW1hcnk+XHJcbiAgLy8vXHJcbiAgLy8vIDwvc3VtbWFyeT5cclxuICAvLy8gPHBhcmFtIG5hbWU9XCJoYXNDaGlsZEVsZW1lbnRzXCI+PC9wYXJhbT5cclxuICAvLy8gPHJldHVybnM+PC9yZXR1cm5zPlxyXG4gIFNlcmlhbGl6ZUNvbW1hbmREYXRhKCk6IHN0cmluZyB7XHJcbiAgICBsZXQgaGVscGVyOiBDb21tYW5kU2VyaWFsaXphdGlvbkhlbHBlciA9IG5ldyBDb21tYW5kU2VyaWFsaXphdGlvbkhlbHBlcigpO1xyXG5cclxuICAgIGxldCBleGVjU3RhY2tFeGlzdHM6IGJvb2xlYW4gPSB0aGlzLkV4ZWN1dGlvblN0YWNrICE9PSBudWxsICYmICF0aGlzLkV4ZWN1dGlvblN0YWNrLmVtcHR5KCk7XHJcblxyXG4gICAgaGVscGVyLlNlcmlhbGl6ZVRhc2tUYWcodGhpcy5UYXNrVGFnKTtcclxuICAgIGlmICh0aGlzLkhhbmRsZXJJZCAhPT0gbnVsbCAmJiAhZXhlY1N0YWNrRXhpc3RzKVxyXG4gICAgICBoZWxwZXIuU2VyaWFsaXplQXR0cmlidXRlKENvbnN0SW50ZXJmYWNlLk1HX0FUVFJfSEFORExFUklELCB0aGlzLkhhbmRsZXJJZCk7XHJcblxyXG4gICAgaWYgKHRoaXMuT3BlcklkeCA+IEludDMyLk1pblZhbHVlICYmICFleGVjU3RhY2tFeGlzdHMpXHJcbiAgICAgIGhlbHBlci5TZXJpYWxpemVBdHRyaWJ1dGUoQ29uc3RJbnRlcmZhY2UuTUdfQVRUUl9PUEVSX0lEWCwgdGhpcy5PcGVySWR4KTtcclxuXHJcbiAgICBpZiAodGhpcy5EaXRJZHggPiBJbnQzMi5NaW5WYWx1ZSlcclxuICAgICAgaGVscGVyLlNlcmlhbGl6ZURpdElkeCh0aGlzLkRpdElkeCk7XHJcblxyXG4gICAgaWYgKHRoaXMuT3BlcmF0aW9uICE9IG51bGwgJiYgdGhpcy5PcGVyYXRpb24uZ2V0VHlwZSgpID09PSBDb25zdEludGVyZmFjZS5NR19PUEVSX0NBTEwgJiYgdGhpcy5PcGVyYXRpb24uZ2V0Um91dGVQYXJhbXMoKSAhPT0gbnVsbCkge1xyXG4gICAgICBoZWxwZXIuU2VyaWFsaXplUm91dGVQYXJhbXModGhpcy5PcGVyYXRpb24pO1xyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMuVmFsICE9PSBudWxsKVxyXG4gICAgICBoZWxwZXIuU2VyaWFsaXplQXR0cmlidXRlKFhNTENvbnN0YW50cy5NR19BVFRSX1ZBTFVFLCBYbWxQYXJzZXIuZXNjYXBlKHRoaXMuVmFsKSk7XHJcblxyXG4gICAgaWYgKHRoaXMuQ2hlY2tPbmx5KVxyXG4gICAgICBoZWxwZXIuU2VyaWFsaXplQXR0cmlidXRlKENvbnN0SW50ZXJmYWNlLk1HX0FUVFJfQ0hFQ0tfT05MWSwgXCIxXCIpO1xyXG5cclxuICAgIHJldHVybiBoZWxwZXIuR2V0U3RyaW5nKCk7XHJcbiAgfVxyXG5cclxuICAvLy8gPHN1bW1hcnk+XHJcbiAgLy8vICAgc2V0cyB0aGUgZXhlY3N0YWNrIG9mIHRoZSBjdXJyZW50IGNvbW1hbmQgdG8gYmUgc2VudCB0byB0aGUgc2VydmVyXHJcbiAgLy8vIDwvc3VtbWFyeT5cclxuICAvLy8gPHBhcmFtIG5hbWUgPSBcImV4ZWNTdGFja1wiPi0gY3VycmVudCBleGVjdXRpb24gc3RhY2sgb2YgcmFpc2UgZXZlbnQgb3BlcmF0aW9ucyBmcm9tIHJ0IDwvcGFyYW0+XHJcbiAgU2V0RXhlY3V0aW9uU3RhY2soZXhlY1N0YWNrOiBFeGVjdXRpb25TdGFjayk6IHZvaWQge1xyXG4gICAgdGhpcy5FeGVjdXRpb25TdGFjayA9IG5ldyBFeGVjdXRpb25TdGFjaygpO1xyXG4gICAgdGhpcy5FeGVjdXRpb25TdGFjay5wdXNoKEFjY2Vzc0hlbHBlci5tZ0RhdGFUYWJsZS5nZXRUYXNrSWRCeUlkKHRoaXMuVGFza1RhZyksIHRoaXMuSGFuZGxlcklkLCB0aGlzLk9wZXJJZHgpO1xyXG4gICAgdGhpcy5FeGVjdXRpb25TdGFjay5wdXNoVXBTaWRlRG93bihleGVjU3RhY2spO1xyXG4gIH1cclxuXHJcbiAgLy8vIDxzdW1tYXJ5PlxyXG4gIC8vLyBleHRyYSBkYXRhIC0gYWRkIHNlcmlhbGl6YXRpb24gb2YgdGhlIGV4ZWN1dGlvbiBzdGFja1xyXG4gIC8vLyA8L3N1bW1hcnk+XHJcbiAgLy8vIDxyZXR1cm5zPjwvcmV0dXJucz5cclxuICBTZXJpYWxpemVEYXRhQWZ0ZXJDb21tYW5kKCk6IHN0cmluZyB7XHJcbiAgICBsZXQgZXhlY1N0YWNrRXhpc3RzOiBib29sZWFuID0gdGhpcy5FeGVjdXRpb25TdGFjayAhPT0gbnVsbCAmJiAhdGhpcy5FeGVjdXRpb25TdGFjay5lbXB0eSgpO1xyXG5cclxuICAgIGlmIChleGVjU3RhY2tFeGlzdHMpIHtcclxuICAgICAgbGV0IG1lc3NhZ2U6IFN0cmluZ0J1aWxkZXIgPSBuZXcgU3RyaW5nQnVpbGRlcigpO1xyXG4gICAgICB0aGlzLkV4ZWN1dGlvblN0YWNrLmJ1aWxkWE1MKG1lc3NhZ2UpO1xyXG4gICAgICByZXR1cm4gbWVzc2FnZS5Ub1N0cmluZygpO1xyXG4gICAgfVxyXG4gICAgICByZXR1cm4gbnVsbDtcclxuICB9XHJcblxyXG4gIGdldENvbW1hbmRJbmZvKCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gICdMaW5lIG51bWJlciAnICsgJ1snICsgKHRoaXMuT3BlcmF0aW9uLmdldFNlcnZlcklkKCkgKyAxKSArICddJyArXHJcbiAgICAgICAgICAgICcgaW4gJyArICdbJyArIHRoaXMuT3BlcmF0aW9uLmdldEV2ZW50SGFuZGxlcigpLmdldEV2ZW50SGFuZGxlckluZm8oKSArICddJyArXHJcbiAgICAgICAgICAgICcgb24gJyArICdbJyArIHRoaXMuT3BlcmF0aW9uLlRhc2suZ2V0VGFza0luZm8oKSArICddJyA7XHJcbiAgfVxyXG5cclxuICBnZXRUYXNrKClcclxuICB7XHJcbiAgICByZXR1cm4gdGhpcy5PcGVyYXRpb24uVGFzazsgLy8gZ2V0IHRoZSB0YXNrIGZyb20gb3BlcmF0aW9uXHJcbiAgfVxyXG59XHJcbiJdfQ==
|