@magic-xpa/engine 4.801.0-dev481.243 → 4.801.0-dev481.249
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2020/index.mjs +190 -0
- package/{esm2015/magic-xpa-engine.js → esm2020/magic-xpa-engine.mjs} +0 -0
- package/esm2020/src/AccessHelper.mjs +3 -0
- package/esm2020/src/ClientManager.mjs +403 -0
- package/esm2020/src/CommandsProcessorBase.mjs +58 -0
- package/esm2020/src/CommandsProcessorManager.mjs +26 -0
- package/esm2020/src/CommandsTable.mjs +163 -0
- package/{esm2015/src/ConstInterface.js → esm2020/src/ConstInterface.mjs} +0 -0
- package/{esm2015/src/CurrentClientVersion.js → esm2020/src/CurrentClientVersion.mjs} +2 -2
- package/{esm2015/src/FlowMonitorInterface.js → esm2020/src/FlowMonitorInterface.mjs} +0 -0
- package/esm2020/src/GUIManager.mjs +63 -0
- package/{esm2015/src/GlobalCommandsManager.js → esm2020/src/GlobalCommandsManager.mjs} +0 -0
- package/{esm2015/src/GuiEventsProcessor.js → esm2020/src/GuiEventsProcessor.mjs} +0 -0
- package/{esm2015/src/ICommandsTable.js → esm2020/src/ICommandsTable.mjs} +1 -0
- package/{esm2015/src/ServerConfig.js → esm2020/src/ServerConfig.mjs} +0 -0
- package/{esm2015/src/bridge/IGuiEvent.js → esm2020/src/bridge/IGuiEvent.mjs} +0 -0
- package/esm2020/src/bridge/MagicBridge.mjs +41 -0
- package/{esm2015/src/commands/ClientOriginatedCommandTaskTag.js → esm2020/src/commands/ClientOriginatedCommandTaskTag.mjs} +0 -0
- package/{esm2015/src/commands/ClientToServer/AddUserLocateDataViewCommand.js → esm2020/src/commands/ClientToServer/AddUserLocateDataViewCommand.mjs} +0 -0
- package/{esm2015/src/commands/ClientToServer/AddUserRangeDataviewCommand.js → esm2020/src/commands/ClientToServer/AddUserRangeDataviewCommand.mjs} +0 -0
- package/{esm2015/src/commands/ClientToServer/AddUserSortDataViewCommand.js → esm2020/src/commands/ClientToServer/AddUserSortDataViewCommand.mjs} +0 -0
- package/{esm2015/src/commands/ClientToServer/BrowserEscEventCommand.js → esm2020/src/commands/ClientToServer/BrowserEscEventCommand.mjs} +0 -0
- package/{esm2015/src/commands/ClientToServer/ClientOriginatedCommand.js → esm2020/src/commands/ClientToServer/ClientOriginatedCommand.mjs} +0 -0
- package/{esm2015/src/commands/ClientToServer/ClientOriginatedCommandSerializer.js → esm2020/src/commands/ClientToServer/ClientOriginatedCommandSerializer.mjs} +0 -0
- package/{esm2015/src/commands/ClientToServer/ColumnSortEventCommand.js → esm2020/src/commands/ClientToServer/ColumnSortEventCommand.mjs} +0 -0
- package/esm2020/src/commands/ClientToServer/CommandFactory.mjs +278 -0
- package/{esm2015/src/commands/ClientToServer/CommandSerializationHelper.js → esm2020/src/commands/ClientToServer/CommandSerializationHelper.mjs} +0 -0
- package/{esm2015/src/commands/ClientToServer/ComputeEventCommand.js → esm2020/src/commands/ClientToServer/ComputeEventCommand.mjs} +0 -0
- package/{esm2015/src/commands/ClientToServer/ContextTerminationEventCommand.js → esm2020/src/commands/ClientToServer/ContextTerminationEventCommand.mjs} +0 -0
- package/{esm2015/src/commands/ClientToServer/ContextTimeoutResetCommand.js → esm2020/src/commands/ClientToServer/ContextTimeoutResetCommand.mjs} +0 -0
- package/{esm2015/src/commands/ClientToServer/ControlItemsRefreshCommand.js → esm2020/src/commands/ClientToServer/ControlItemsRefreshCommand.mjs} +0 -0
- package/{esm2015/src/commands/ClientToServer/DataViewOutputCommand.js → esm2020/src/commands/ClientToServer/DataViewOutputCommand.mjs} +0 -0
- package/{esm2015/src/commands/ClientToServer/DataviewCommand.js → esm2020/src/commands/ClientToServer/DataviewCommand.mjs} +0 -0
- package/{esm2015/src/commands/ClientToServer/EvaluateCommand.js → esm2020/src/commands/ClientToServer/EvaluateCommand.mjs} +0 -0
- package/{esm2015/src/commands/ClientToServer/EventCommand.js → esm2020/src/commands/ClientToServer/EventCommand.mjs} +0 -0
- package/{esm2015/src/commands/ClientToServer/ExecOperCommand.js → esm2020/src/commands/ClientToServer/ExecOperCommand.mjs} +0 -0
- package/{esm2015/src/commands/ClientToServer/FetchDataControlValuesEventCommand.js → esm2020/src/commands/ClientToServer/FetchDataControlValuesEventCommand.mjs} +0 -0
- package/{esm2015/src/commands/ClientToServer/GlobalParamsQueryCommand.js → esm2020/src/commands/ClientToServer/GlobalParamsQueryCommand.mjs} +0 -0
- package/{esm2015/src/commands/ClientToServer/ICommandTaskTag.js → esm2020/src/commands/ClientToServer/ICommandTaskTag.mjs} +1 -0
- package/{esm2015/src/commands/ClientToServer/IndexChangeEventCommand.js → esm2020/src/commands/ClientToServer/IndexChangeEventCommand.mjs} +0 -0
- package/{esm2015/src/commands/ClientToServer/IniputForceWriteCommand.js → esm2020/src/commands/ClientToServer/IniputForceWriteCommand.mjs} +0 -0
- package/{esm2015/src/commands/ClientToServer/NonReversibleExitEventCommand.js → esm2020/src/commands/ClientToServer/NonReversibleExitEventCommand.mjs} +0 -0
- package/{esm2015/src/commands/ClientToServer/QueryCommand.js → esm2020/src/commands/ClientToServer/QueryCommand.mjs} +0 -0
- package/{esm2015/src/commands/ClientToServer/RecomputeCommand.js → esm2020/src/commands/ClientToServer/RecomputeCommand.mjs} +0 -0
- package/{esm2015/src/commands/ClientToServer/RefreshEventCommand.js → esm2020/src/commands/ClientToServer/RefreshEventCommand.mjs} +0 -0
- package/{esm2015/src/commands/ClientToServer/RefreshScreenEventCommand.js → esm2020/src/commands/ClientToServer/RefreshScreenEventCommand.mjs} +0 -0
- package/{esm2015/src/commands/ClientToServer/RollbackEventCommand.js → esm2020/src/commands/ClientToServer/RollbackEventCommand.mjs} +0 -0
- package/{esm2015/src/commands/ClientToServer/SelectProgramCommand.js → esm2020/src/commands/ClientToServer/SelectProgramCommand.mjs} +0 -0
- package/{esm2015/src/commands/ClientToServer/SetTransactionStateDataviewCommand.js → esm2020/src/commands/ClientToServer/SetTransactionStateDataviewCommand.mjs} +0 -0
- package/{esm2015/src/commands/ClientToServer/SubformOpenEventCommand.js → esm2020/src/commands/ClientToServer/SubformOpenEventCommand.mjs} +0 -0
- package/{esm2015/src/commands/ClientToServer/SubformRefreshEventCommand.js → esm2020/src/commands/ClientToServer/SubformRefreshEventCommand.mjs} +0 -0
- package/{esm2015/src/commands/ClientToServer/TransactionCommand.js → esm2020/src/commands/ClientToServer/TransactionCommand.mjs} +0 -0
- package/{esm2015/src/commands/ClientToServer/UnloadCommand.js → esm2020/src/commands/ClientToServer/UnloadCommand.mjs} +0 -0
- package/{esm2015/src/commands/ClientToServer/WriteMessageToServerLogCommand.js → esm2020/src/commands/ClientToServer/WriteMessageToServerLogCommand.mjs} +0 -0
- package/esm2020/src/commands/DataViewCommandBase.mjs +10 -0
- package/{esm2015/src/commands/IClientCommand.js → esm2020/src/commands/IClientCommand.mjs} +1 -0
- package/esm2020/src/commands/IClientTargetedCommand.mjs +9 -0
- package/{esm2015/src/commands/IClientToServerCommandInfo.js → esm2020/src/commands/IClientToServerCommandInfo.mjs} +1 -0
- package/esm2020/src/commands/ServerToClient/AbortCommand.mjs +65 -0
- package/esm2020/src/commands/ServerToClient/AddLocateCommand.mjs +22 -0
- package/esm2020/src/commands/ServerToClient/AddRangeCommand.mjs +62 -0
- package/esm2020/src/commands/ServerToClient/AddSortCommand.mjs +33 -0
- package/{esm2015/src/commands/ServerToClient/ClientRefreshCommand.js → esm2020/src/commands/ServerToClient/ClientRefreshCommand.mjs} +14 -17
- package/esm2020/src/commands/ServerToClient/ClientTargetedCommandBase.mjs +27 -0
- package/esm2020/src/commands/ServerToClient/EnhancedVerifyCommand.mjs +45 -0
- package/esm2020/src/commands/ServerToClient/OpenURLCommand.mjs +222 -0
- package/esm2020/src/commands/ServerToClient/ResetLocateCommand.mjs +15 -0
- package/esm2020/src/commands/ServerToClient/ResetRangeCommand.mjs +15 -0
- package/esm2020/src/commands/ServerToClient/ResetSortCommand.mjs +15 -0
- package/esm2020/src/commands/ServerToClient/ResultCommand.mjs +37 -0
- package/esm2020/src/commands/ServerToClient/VerifyCommand.mjs +85 -0
- package/{esm2015/src/commands/ServerToClient/XMLBasedCommandBuilder.js → esm2020/src/commands/ServerToClient/XMLBasedCommandBuilder.mjs} +0 -0
- package/{esm2015/src/communications/IConnectionStateManager.js → esm2020/src/communications/IConnectionStateManager.mjs} +1 -0
- package/esm2020/src/communications/InteractiveCommunicationsFailureHandler.mjs +17 -0
- package/{esm2015/src/data/DataSourceIdKey.js → esm2020/src/data/DataSourceIdKey.mjs} +0 -0
- package/esm2020/src/data/DataView.mjs +1634 -0
- package/{esm2015/src/data/DataViewBase.js → esm2020/src/data/DataViewBase.mjs} +0 -0
- package/esm2020/src/data/DataviewManager.mjs +28 -0
- package/esm2020/src/data/DataviewManagerBase.mjs +15 -0
- package/{esm2015/src/data/DvCache.js → esm2020/src/data/DvCache.mjs} +0 -0
- package/esm2020/src/data/Field.mjs +645 -0
- package/esm2020/src/data/FieldBase.mjs +18 -0
- package/{esm2015/src/data/FieldsTable.js → esm2020/src/data/FieldsTable.mjs} +0 -0
- package/{esm2015/src/data/IRecordsTable.js → esm2020/src/data/IRecordsTable.mjs} +1 -0
- package/{esm2015/src/data/Key.js → esm2020/src/data/Key.mjs} +0 -0
- package/{esm2015/src/data/Record.js → esm2020/src/data/Record.mjs} +0 -0
- package/{esm2015/src/data/RecordOutOfDataViewException.js → esm2020/src/data/RecordOutOfDataViewException.mjs} +0 -0
- package/{esm2015/src/data/RecordsTable.js → esm2020/src/data/RecordsTable.mjs} +0 -0
- package/esm2020/src/data/TaskTransactionManager.mjs +103 -0
- package/{esm2015/src/data/XMLBasedDcValuesBuilder.js → esm2020/src/data/XMLBasedDcValuesBuilder.mjs} +0 -0
- package/{esm2015/src/enums.js → esm2020/src/enums.mjs} +0 -0
- package/esm2020/src/env/EnvVariablesTable.mjs +340 -0
- package/esm2020/src/env/Environment.mjs +554 -0
- package/{esm2015/src/env/ILanguageData.js → esm2020/src/env/ILanguageData.mjs} +1 -0
- package/esm2020/src/env/LanguageData.mjs +222 -0
- package/esm2020/src/env/MirrorString.mjs +66 -0
- package/{esm2015/src/event/ActionManager.js → esm2020/src/event/ActionManager.mjs} +0 -0
- package/esm2020/src/event/Event.mjs +1436 -0
- package/esm2020/src/event/EventHandler.mjs +773 -0
- package/{esm2015/src/event/EventHandlerPosition.js → esm2020/src/event/EventHandlerPosition.mjs} +0 -0
- package/esm2020/src/event/EventsManager.mjs +2983 -0
- package/{esm2015/src/event/IEventsManager.js → esm2020/src/event/IEventsManager.mjs} +0 -0
- package/{esm2015/src/event/RunTimeEvent.js → esm2020/src/event/RunTimeEvent.mjs} +0 -0
- package/{esm2015/src/event/RunTimeEventBase.js → esm2020/src/event/RunTimeEventBase.mjs} +0 -0
- package/{esm2015/src/event/UserEventsTable.js → esm2020/src/event/UserEventsTable.mjs} +0 -0
- package/{esm2015/src/exp/ExpTable.js → esm2020/src/exp/ExpTable.mjs} +0 -0
- package/esm2020/src/exp/Expression.mjs +200 -0
- package/{esm2015/src/exp/ExpressionDict.js → esm2020/src/exp/ExpressionDict.mjs} +0 -0
- package/esm2020/src/exp/ExpressionEvaluator.mjs +4373 -0
- package/{esm2015/src/exp/ExpressionLocalJpn.js → esm2020/src/exp/ExpressionLocalJpn.mjs} +0 -0
- package/esm2020/src/exp/GlobalParamsTable.mjs +85 -0
- package/esm2020/src/exp/YesNoExp.mjs +41 -0
- package/{esm2015/src/gui/CreatedFormVector.js → esm2020/src/gui/CreatedFormVector.mjs} +0 -0
- package/esm2020/src/gui/FormsTable.mjs +66 -0
- package/esm2020/src/gui/MgControl.mjs +357 -0
- package/esm2020/src/gui/MgForm.mjs +1195 -0
- package/esm2020/src/http/HttpManager.mjs +97 -0
- package/esm2020/src/http/client/HttpClientAsync.mjs +67 -0
- package/esm2020/src/http/client/HttpClientBase.mjs +148 -0
- package/{esm2015/src/http/client/HttpClientEvents.js → esm2020/src/http/client/HttpClientEvents.mjs} +0 -0
- package/esm2020/src/http/client/HttpClientSync.mjs +42 -0
- package/{esm2015/src/http/client/HttpUtility.js → esm2020/src/http/client/HttpUtility.mjs} +0 -0
- package/{esm2015/src/http/client/ICommunicationsFailureHandler.js → esm2020/src/http/client/ICommunicationsFailureHandler.mjs} +1 -0
- package/esm2020/src/remote/AddUserLocateRemoteDataViewCommand.mjs +18 -0
- package/esm2020/src/remote/AddUserRangeRemoteDataViewCommand.mjs +18 -0
- package/esm2020/src/remote/AddUserSortRemoteDataViewCommand.mjs +18 -0
- package/esm2020/src/remote/RemoteCommandsProcessor.mjs +872 -0
- package/esm2020/src/remote/RemoteControlItemsRefreshCommand.mjs +25 -0
- package/esm2020/src/remote/RemoteDataViewCommandBase.mjs +24 -0
- package/{esm2015/src/remote/RemoteDataViewCommandFactory.js → esm2020/src/remote/RemoteDataViewCommandFactory.mjs} +0 -0
- package/esm2020/src/remote/RemoteDataViewCommandUpdateNonModifiable.mjs +16 -0
- package/esm2020/src/remote/RemoteDataviewManager.mjs +17 -0
- package/esm2020/src/remote/RemoteInitDataViewCommand.mjs +11 -0
- package/esm2020/src/remote/ResetUserLocateRemoteDataviewCommand.mjs +17 -0
- package/esm2020/src/remote/ResetUserRangeRemoteDataviewCommand.mjs +13 -0
- package/esm2020/src/remote/ResetUserSortRemoteDataviewCommand.mjs +16 -0
- package/{esm2015/src/remote/ServerError.js → esm2020/src/remote/ServerError.mjs} +0 -0
- package/{esm2015/src/remote/SetTransactionStateRemoteDataViewCommand.js → esm2020/src/remote/SetTransactionStateRemoteDataViewCommand.mjs} +8 -11
- package/esm2020/src/rt/Argument.mjs +274 -0
- package/esm2020/src/rt/ArgumentsList.mjs +103 -0
- package/esm2020/src/rt/Boundary.mjs +158 -0
- package/{esm2015/src/rt/CompMainPrgTable.js → esm2020/src/rt/CompMainPrgTable.mjs} +0 -0
- package/esm2020/src/rt/DataviewHeaderBase.mjs +96 -0
- package/{esm2015/src/rt/DataviewHeaderFactory.js → esm2020/src/rt/DataviewHeaderFactory.mjs} +0 -0
- package/{esm2015/src/rt/DataviewHeaders.js → esm2020/src/rt/DataviewHeaders.mjs} +0 -0
- package/{esm2015/src/rt/DataviewHeadersSaxHandler.js → esm2020/src/rt/DataviewHeadersSaxHandler.mjs} +0 -0
- package/{esm2015/src/rt/ExecutionStack.js → esm2020/src/rt/ExecutionStack.mjs} +0 -0
- package/{esm2015/src/rt/ExecutionStackEntry.js → esm2020/src/rt/ExecutionStackEntry.mjs} +0 -0
- package/{esm2015/src/rt/HandlersTable.js → esm2020/src/rt/HandlersTable.mjs} +0 -0
- package/{esm2015/src/rt/IDataSourceViewDefinition.js → esm2020/src/rt/IDataSourceViewDefinition.mjs} +1 -0
- package/{esm2015/src/rt/IDataviewHeader.js → esm2020/src/rt/IDataviewHeader.mjs} +1 -0
- package/{esm2015/src/rt/IResultValue.js → esm2020/src/rt/IResultValue.mjs} +1 -0
- package/{esm2015/src/rt/LastFocusedManager.js → esm2020/src/rt/LastFocusedManager.mjs} +0 -0
- package/esm2020/src/rt/Operation.mjs +745 -0
- package/{esm2015/src/rt/OperationTable.js → esm2020/src/rt/OperationTable.mjs} +0 -0
- package/esm2020/src/rt/Recompute.mjs +355 -0
- package/{esm2015/src/rt/RecomputeTable.js → esm2020/src/rt/RecomputeTable.mjs} +0 -0
- package/esm2020/src/rt/RemoteDataviewHeader.mjs +105 -0
- package/{esm2015/src/rt/ResultValue.js → esm2020/src/rt/ResultValue.mjs} +0 -0
- package/esm2020/src/rt/TableCache.mjs +177 -0
- package/esm2020/src/rt/TableCacheManager.mjs +67 -0
- package/{esm2015/src/rt/Transaction.js → esm2020/src/rt/Transaction.mjs} +0 -0
- package/{esm2015/src/security/UserDetails.js → esm2020/src/security/UserDetails.mjs} +0 -0
- package/{esm2015/src/tasks/IMGDataCollection.js → esm2020/src/tasks/IMGDataCollection.mjs} +1 -0
- package/esm2020/src/tasks/MGData.mjs +552 -0
- package/esm2020/src/tasks/MGDataCollection.mjs +259 -0
- package/{esm2015/src/tasks/MenusDeserializer.js → esm2020/src/tasks/MenusDeserializer.mjs} +0 -0
- package/{esm2015/src/tasks/RCTimer.js → esm2020/src/tasks/RCTimer.mjs} +0 -0
- package/{esm2015/src/tasks/RemoteTaskService.js → esm2020/src/tasks/RemoteTaskService.mjs} +0 -0
- package/esm2020/src/tasks/Task.mjs +2501 -0
- package/{esm2015/src/tasks/TaskBase.js → esm2020/src/tasks/TaskBase.mjs} +22 -1
- package/esm2020/src/tasks/TaskServiceBase.mjs +25 -0
- package/esm2020/src/tasks/TasksTable.mjs +80 -0
- package/{esm2015/src/tasks/sort/Sort.js → esm2020/src/tasks/sort/Sort.mjs} +0 -0
- package/{esm2015/src/tasks/sort/SortCollection.js → esm2020/src/tasks/sort/SortCollection.mjs} +0 -0
- package/{esm2015/src/util/ConstUtils.js → esm2020/src/util/ConstUtils.mjs} +0 -0
- package/esm2020/src/util/FlowMonitorQueue.mjs +361 -0
- package/{esm2015/src/util/HeapSort.js → esm2020/src/util/HeapSort.mjs} +0 -0
- package/{esm2015/src/util/IMirrorXML.js → esm2020/src/util/IMirrorXML.mjs} +2 -1
- package/{esm2015/src/util/IServerConfig.js → esm2020/src/util/IServerConfig.mjs} +1 -0
- package/{esm2015/src/util/MgBlockingQueue.js → esm2020/src/util/MgBlockingQueue.mjs} +1 -0
- package/esm2020/src/util/MgPriorityBlockingQueue.mjs +76 -0
- package/{esm2015/src/util/MgPriorityQueue.js → esm2020/src/util/MgPriorityQueue.mjs} +0 -0
- package/esm2020/src/util/ParamParseResult.mjs +8 -0
- package/esm2020/src/util/PrmMap.mjs +151 -0
- package/{esm2015/src/util/Process.js → esm2020/src/util/Process.mjs} +0 -0
- package/{esm2015/src/util/ReturnResult.js → esm2020/src/util/ReturnResult.mjs} +0 -0
- package/{esm2015/src/util/ReturnResultBase.js → esm2020/src/util/ReturnResultBase.mjs} +0 -0
- package/{esm2015/src/util/Scrambler.js → esm2020/src/util/Scrambler.mjs} +0 -0
- package/{esm2015/src/util/UniqueIDUtils.js → esm2020/src/util/UniqueIDUtils.mjs} +0 -0
- package/{esm2015/src/util/cookie.service.js → esm2020/src/util/cookie.service.mjs} +0 -0
- package/fesm2015/{magic-xpa-engine.js → magic-xpa-engine.mjs} +102 -5
- package/fesm2015/magic-xpa-engine.mjs.map +1 -0
- package/fesm2020/magic-xpa-engine.mjs +30705 -0
- package/fesm2020/magic-xpa-engine.mjs.map +1 -0
- package/index.d.ts +2 -0
- package/package.json +27 -13
- package/src/AccessHelper.d.ts +1 -1
- package/src/CommandsProcessorBase.d.ts +3 -3
- package/src/commands/DataViewCommandBase.d.ts +2 -2
- package/src/commands/IClientTargetedCommand.d.ts +1 -1
- package/src/commands/ServerToClient/ClientTargetedCommandBase.d.ts +1 -1
- package/src/data/FieldBase.d.ts +3 -3
- package/src/env/EnvVariablesTable.d.ts +2 -15
- package/src/env/MirrorString.d.ts +15 -0
- package/src/exp/GlobalParamsTable.d.ts +2 -1
- package/src/http/client/HttpClientBase.d.ts +2 -2
- package/src/rt/DataviewHeaderBase.d.ts +1 -1
- package/src/tasks/TaskBase.d.ts +7 -7
- package/src/util/IMirrorXML.d.ts +1 -1
- package/src/util/ParamParseResult.d.ts +6 -0
- package/src/util/PrmMap.d.ts +0 -6
- package/bundles/magic-xpa-engine.umd.js +0 -37983
- package/bundles/magic-xpa-engine.umd.js.map +0 -1
- package/bundles/magic-xpa-engine.umd.min.js +0 -16
- package/bundles/magic-xpa-engine.umd.min.js.map +0 -1
- package/esm2015/index.js +0 -188
- package/esm2015/src/AccessHelper.js +0 -3
- package/esm2015/src/ClientManager.js +0 -412
- package/esm2015/src/CommandsProcessorBase.js +0 -54
- package/esm2015/src/CommandsProcessorManager.js +0 -31
- package/esm2015/src/CommandsTable.js +0 -166
- package/esm2015/src/GUIManager.js +0 -72
- package/esm2015/src/bridge/MagicBridge.js +0 -44
- package/esm2015/src/commands/ClientToServer/CommandFactory.js +0 -283
- package/esm2015/src/commands/DataViewCommandBase.js +0 -6
- package/esm2015/src/commands/IClientTargetedCommand.js +0 -6
- package/esm2015/src/commands/ServerToClient/AbortCommand.js +0 -68
- package/esm2015/src/commands/ServerToClient/AddLocateCommand.js +0 -25
- package/esm2015/src/commands/ServerToClient/AddRangeCommand.js +0 -65
- package/esm2015/src/commands/ServerToClient/AddSortCommand.js +0 -36
- package/esm2015/src/commands/ServerToClient/ClientTargetedCommandBase.js +0 -24
- package/esm2015/src/commands/ServerToClient/EnhancedVerifyCommand.js +0 -48
- package/esm2015/src/commands/ServerToClient/OpenURLCommand.js +0 -225
- package/esm2015/src/commands/ServerToClient/ResetLocateCommand.js +0 -18
- package/esm2015/src/commands/ServerToClient/ResetRangeCommand.js +0 -18
- package/esm2015/src/commands/ServerToClient/ResetSortCommand.js +0 -18
- package/esm2015/src/commands/ServerToClient/ResultCommand.js +0 -40
- package/esm2015/src/commands/ServerToClient/VerifyCommand.js +0 -88
- package/esm2015/src/communications/InteractiveCommunicationsFailureHandler.js +0 -20
- package/esm2015/src/data/DataView.js +0 -1692
- package/esm2015/src/data/DataviewManager.js +0 -31
- package/esm2015/src/data/DataviewManagerBase.js +0 -18
- package/esm2015/src/data/Field.js +0 -671
- package/esm2015/src/data/FieldBase.js +0 -9
- package/esm2015/src/data/TaskTransactionManager.js +0 -110
- package/esm2015/src/env/EnvVariablesTable.js +0 -408
- package/esm2015/src/env/Environment.js +0 -557
- package/esm2015/src/env/LanguageData.js +0 -229
- package/esm2015/src/event/Event.js +0 -1441
- package/esm2015/src/event/EventHandler.js +0 -786
- package/esm2015/src/event/EventsManager.js +0 -3106
- package/esm2015/src/exp/Expression.js +0 -209
- package/esm2015/src/exp/ExpressionEvaluator.js +0 -4440
- package/esm2015/src/exp/GlobalParamsTable.js +0 -84
- package/esm2015/src/exp/YesNoExp.js +0 -44
- package/esm2015/src/gui/FormsTable.js +0 -73
- package/esm2015/src/gui/MgControl.js +0 -424
- package/esm2015/src/gui/MgForm.js +0 -1291
- package/esm2015/src/http/HttpManager.js +0 -100
- package/esm2015/src/http/client/HttpClientAsync.js +0 -72
- package/esm2015/src/http/client/HttpClientBase.js +0 -147
- package/esm2015/src/http/client/HttpClientSync.js +0 -47
- package/esm2015/src/remote/AddUserLocateRemoteDataViewCommand.js +0 -21
- package/esm2015/src/remote/AddUserRangeRemoteDataViewCommand.js +0 -21
- package/esm2015/src/remote/AddUserSortRemoteDataViewCommand.js +0 -21
- package/esm2015/src/remote/RemoteCommandsProcessor.js +0 -901
- package/esm2015/src/remote/RemoteControlItemsRefreshCommand.js +0 -28
- package/esm2015/src/remote/RemoteDataViewCommandBase.js +0 -27
- package/esm2015/src/remote/RemoteDataViewCommandUpdateNonModifiable.js +0 -19
- package/esm2015/src/remote/RemoteDataviewManager.js +0 -23
- package/esm2015/src/remote/RemoteInitDataViewCommand.js +0 -14
- package/esm2015/src/remote/ResetUserLocateRemoteDataviewCommand.js +0 -20
- package/esm2015/src/remote/ResetUserRangeRemoteDataviewCommand.js +0 -16
- package/esm2015/src/remote/ResetUserSortRemoteDataviewCommand.js +0 -19
- package/esm2015/src/rt/Argument.js +0 -281
- package/esm2015/src/rt/ArgumentsList.js +0 -108
- package/esm2015/src/rt/Boundary.js +0 -161
- package/esm2015/src/rt/DataviewHeaderBase.js +0 -96
- package/esm2015/src/rt/Operation.js +0 -772
- package/esm2015/src/rt/Recompute.js +0 -372
- package/esm2015/src/rt/RemoteDataviewHeader.js +0 -114
- package/esm2015/src/rt/TableCache.js +0 -182
- package/esm2015/src/rt/TableCacheManager.js +0 -70
- package/esm2015/src/tasks/MGData.js +0 -561
- package/esm2015/src/tasks/MGDataCollection.js +0 -270
- package/esm2015/src/tasks/Task.js +0 -2601
- package/esm2015/src/tasks/TaskServiceBase.js +0 -30
- package/esm2015/src/tasks/TasksTable.js +0 -87
- package/esm2015/src/util/FlowMonitorQueue.js +0 -364
- package/esm2015/src/util/MgPriorityBlockingQueue.js +0 -79
- package/esm2015/src/util/PrmMap.js +0 -157
- package/fesm2015/magic-xpa-engine.js.map +0 -1
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { RemoteDataViewCommandBase } from "./RemoteDataViewCommandBase";
|
|
2
|
+
import { ResultValue } from "../rt/ResultValue";
|
|
3
|
+
import { CommandFactory } from "../commands/ClientToServer/CommandFactory";
|
|
4
|
+
import { RemoteCommandsProcessor } from "./RemoteCommandsProcessor";
|
|
5
|
+
import { CommandsProcessorBase_SendingInstruction, CommandsProcessorBase_SessionStage } from "../CommandsProcessorBase";
|
|
6
|
+
import { ReturnResult } from "../util/ReturnResult";
|
|
7
|
+
export class RemoteControlItemsRefreshCommand extends RemoteDataViewCommandBase {
|
|
8
|
+
constructor(command) {
|
|
9
|
+
super(command);
|
|
10
|
+
this.control = null;
|
|
11
|
+
this.control = command.Control;
|
|
12
|
+
}
|
|
13
|
+
async Execute() {
|
|
14
|
+
let res = new ResultValue();
|
|
15
|
+
let cmd = CommandFactory.CreatecFetchDataControlValuesCommand(this.Task.getTaskTag(), this.control.getName());
|
|
16
|
+
this.Task.getMGData().CmdsToServer.Add(cmd);
|
|
17
|
+
await RemoteCommandsProcessor.GetInstance().Execute_1(CommandsProcessorBase_SendingInstruction.TASKS_AND_COMMANDS, CommandsProcessorBase_SessionStage.NORMAL, res);
|
|
18
|
+
for (let i = 0; i < this.Task.DataView.getSize(); i = i + 1) {
|
|
19
|
+
this.Task.DataView.getRecByIdx(i).AddDcValuesReference(this.control.getDitIdx(), this.control.getDcRef());
|
|
20
|
+
}
|
|
21
|
+
this.Task.DataView.getOriginalRec().AddDcValuesReference(this.control.getDitIdx(), this.control.getDcRef());
|
|
22
|
+
return new ReturnResult();
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUmVtb3RlQ29udHJvbEl0ZW1zUmVmcmVzaENvbW1hbmQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lbmdpbmUvc3JjL3JlbW90ZS9SZW1vdGVDb250cm9sSXRlbXNSZWZyZXNoQ29tbWFuZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMseUJBQXlCLEVBQUMsTUFBTSw2QkFBNkIsQ0FBQztBQUl0RSxPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0sbUJBQW1CLENBQUM7QUFFOUMsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLDJDQUEyQyxDQUFDO0FBQ3pFLE9BQU8sRUFBQyx1QkFBdUIsRUFBQyxNQUFNLDJCQUEyQixDQUFDO0FBQ2xFLE9BQU8sRUFBQyx3Q0FBd0MsRUFBRSxrQ0FBa0MsRUFBQyxNQUFNLDBCQUEwQixDQUFDO0FBQ3RILE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUdsRCxNQUFNLE9BQU8sZ0NBQWlDLFNBQVEseUJBQXlCO0lBRzdFLFlBQVksT0FBbUM7UUFDN0MsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBSFQsWUFBTyxHQUFrQixJQUFJLENBQUM7UUFJcEMsSUFBSSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUMsT0FBTyxDQUFDO0lBQ2pDLENBQUM7SUFFRCxLQUFLLENBQUMsT0FBTztRQUNYLElBQUksR0FBRyxHQUFnQixJQUFJLFdBQVcsRUFBRSxDQUFDO1FBQ3pDLElBQUksR0FBRyxHQUFtQixjQUFjLENBQUMsb0NBQW9DLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUM7UUFDOUgsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBRTVDLE1BQU0sdUJBQXVCLENBQUMsV0FBVyxFQUFFLENBQUMsU0FBUyxDQUFDLHdDQUF3QyxDQUFDLGtCQUFrQixFQUFFLGtDQUFrQyxDQUFDLE1BQU0sRUFBRSxHQUFHLENBQUMsQ0FBQztRQUVuSyxLQUFLLElBQUksQ0FBQyxHQUFXLENBQUMsRUFBRSxDQUFDLEdBQWMsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFTLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUU7WUFDcEUsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFTLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLG9CQUFvQixDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxFQUFFLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO1NBQ3ZIO1FBRVUsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFTLENBQUMsY0FBYyxFQUFFLENBQUMsb0JBQW9CLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLEVBQUUsRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7UUFDeEgsT0FBTyxJQUFJLFlBQVksRUFBRSxDQUFDO0lBQzVCLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7UmVtb3RlRGF0YVZpZXdDb21tYW5kQmFzZX0gZnJvbSBcIi4vUmVtb3RlRGF0YVZpZXdDb21tYW5kQmFzZVwiO1xyXG5pbXBvcnQge01nQ29udHJvbEJhc2V9IGZyb20gXCJAbWFnaWMteHBhL2d1aVwiO1xyXG5pbXBvcnQge0NvbnRyb2xJdGVtc1JlZnJlc2hDb21tYW5kfSBmcm9tIFwiLi4vY29tbWFuZHMvQ2xpZW50VG9TZXJ2ZXIvQ29udHJvbEl0ZW1zUmVmcmVzaENvbW1hbmRcIjtcclxuaW1wb3J0IHtSZXR1cm5SZXN1bHRCYXNlfSBmcm9tIFwiLi4vdXRpbC9SZXR1cm5SZXN1bHRCYXNlXCI7XHJcbmltcG9ydCB7UmVzdWx0VmFsdWV9IGZyb20gXCIuLi9ydC9SZXN1bHRWYWx1ZVwiO1xyXG5pbXBvcnQge0lDbGllbnRDb21tYW5kfSBmcm9tIFwiLi4vY29tbWFuZHMvSUNsaWVudENvbW1hbmRcIjtcclxuaW1wb3J0IHtDb21tYW5kRmFjdG9yeX0gZnJvbSBcIi4uL2NvbW1hbmRzL0NsaWVudFRvU2VydmVyL0NvbW1hbmRGYWN0b3J5XCI7XHJcbmltcG9ydCB7UmVtb3RlQ29tbWFuZHNQcm9jZXNzb3J9IGZyb20gXCIuL1JlbW90ZUNvbW1hbmRzUHJvY2Vzc29yXCI7XHJcbmltcG9ydCB7Q29tbWFuZHNQcm9jZXNzb3JCYXNlX1NlbmRpbmdJbnN0cnVjdGlvbiwgQ29tbWFuZHNQcm9jZXNzb3JCYXNlX1Nlc3Npb25TdGFnZX0gZnJvbSBcIi4uL0NvbW1hbmRzUHJvY2Vzc29yQmFzZVwiO1xyXG5pbXBvcnQge1JldHVyblJlc3VsdH0gZnJvbSBcIi4uL3V0aWwvUmV0dXJuUmVzdWx0XCI7XHJcbmltcG9ydCB7RGF0YVZpZXd9IGZyb20gXCIuLi9kYXRhL0RhdGFWaWV3XCI7XHJcblxyXG5leHBvcnQgY2xhc3MgUmVtb3RlQ29udHJvbEl0ZW1zUmVmcmVzaENvbW1hbmQgZXh0ZW5kcyBSZW1vdGVEYXRhVmlld0NvbW1hbmRCYXNlIHtcclxuICBwcml2YXRlIGNvbnRyb2w6IE1nQ29udHJvbEJhc2UgPSBudWxsO1xyXG5cclxuICBjb25zdHJ1Y3Rvcihjb21tYW5kOiBDb250cm9sSXRlbXNSZWZyZXNoQ29tbWFuZCkge1xyXG4gICAgc3VwZXIoY29tbWFuZCk7XHJcbiAgICB0aGlzLmNvbnRyb2wgPSBjb21tYW5kLkNvbnRyb2w7XHJcbiAgfVxyXG5cclxuICBhc3luYyBFeGVjdXRlKCk6IFByb21pc2U8UmV0dXJuUmVzdWx0QmFzZT4ge1xyXG4gICAgbGV0IHJlczogUmVzdWx0VmFsdWUgPSBuZXcgUmVzdWx0VmFsdWUoKTtcclxuICAgIGxldCBjbWQ6IElDbGllbnRDb21tYW5kID0gQ29tbWFuZEZhY3RvcnkuQ3JlYXRlY0ZldGNoRGF0YUNvbnRyb2xWYWx1ZXNDb21tYW5kKHRoaXMuVGFzay5nZXRUYXNrVGFnKCksIHRoaXMuY29udHJvbC5nZXROYW1lKCkpO1xyXG4gICAgdGhpcy5UYXNrLmdldE1HRGF0YSgpLkNtZHNUb1NlcnZlci5BZGQoY21kKTtcclxuICAgIC8vIEZldGNoIGRhdGEgY29udHJvbCB2YWx1ZXMgZnJvbSBzZXJ2ZXIuXHJcbiAgICBhd2FpdCBSZW1vdGVDb21tYW5kc1Byb2Nlc3Nvci5HZXRJbnN0YW5jZSgpLkV4ZWN1dGVfMShDb21tYW5kc1Byb2Nlc3NvckJhc2VfU2VuZGluZ0luc3RydWN0aW9uLlRBU0tTX0FORF9DT01NQU5EUywgQ29tbWFuZHNQcm9jZXNzb3JCYXNlX1Nlc3Npb25TdGFnZS5OT1JNQUwsIHJlcyk7XHJcbiAgICAvLyBVcGRhdGUgRENWYWxSZWYgb2YgZXZlcnkgcmVjb3JkIGFmdGVyIGZldGNoaW5nIHRoZSBkYXRhQ29udHJvbCB2YWx1ZXMuXHJcbiAgICBmb3IgKGxldCBpOiBudW1iZXIgPSAwOyBpIDwgKDxEYXRhVmlldz50aGlzLlRhc2suRGF0YVZpZXcpLmdldFNpemUoKTsgaSA9IGkgKyAxKSB7XHJcbiAgICAgICg8RGF0YVZpZXc+dGhpcy5UYXNrLkRhdGFWaWV3KS5nZXRSZWNCeUlkeChpKS5BZGREY1ZhbHVlc1JlZmVyZW5jZSh0aGlzLmNvbnRyb2wuZ2V0RGl0SWR4KCksIHRoaXMuY29udHJvbC5nZXREY1JlZigpKTtcclxuICAgIH1cclxuICAgIC8vIFVwZGF0ZSBEQ1ZhbFJlZiBvZiBvcmlnaW5hbCByZWNvcmQuXHJcbiAgICAoPERhdGFWaWV3PnRoaXMuVGFzay5EYXRhVmlldykuZ2V0T3JpZ2luYWxSZWMoKS5BZGREY1ZhbHVlc1JlZmVyZW5jZSh0aGlzLmNvbnRyb2wuZ2V0RGl0SWR4KCksIHRoaXMuY29udHJvbC5nZXREY1JlZigpKTtcclxuICAgIHJldHVybiBuZXcgUmV0dXJuUmVzdWx0KCk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { DataViewCommandBase } from '../commands/DataViewCommandBase';
|
|
2
|
+
import { RemoteCommandsProcessor } from './RemoteCommandsProcessor';
|
|
3
|
+
import { CommandsProcessorBase_SendingInstruction } from '../CommandsProcessorBase';
|
|
4
|
+
import { ReturnResult } from '../util/ReturnResult';
|
|
5
|
+
import { ClientOriginatedCommandTaskTag } from '../commands/ClientOriginatedCommandTaskTag';
|
|
6
|
+
import { AccessHelper } from '../AccessHelper';
|
|
7
|
+
export class RemoteDataViewCommandBase extends DataViewCommandBase {
|
|
8
|
+
constructor(command) {
|
|
9
|
+
super();
|
|
10
|
+
this.Command = null;
|
|
11
|
+
this.Task = null;
|
|
12
|
+
this.Command = command;
|
|
13
|
+
if (command instanceof ClientOriginatedCommandTaskTag) {
|
|
14
|
+
this.Task = AccessHelper.mgDataTable.GetTaskByID(command.TaskTag);
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
async Execute() {
|
|
18
|
+
let cmdsToServer = this.Task.getMGData().CmdsToServer;
|
|
19
|
+
cmdsToServer.Add(this.Command);
|
|
20
|
+
await RemoteCommandsProcessor.GetInstance().Execute(CommandsProcessorBase_SendingInstruction.TASKS_AND_COMMANDS);
|
|
21
|
+
return new ReturnResult();
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUmVtb3RlRGF0YVZpZXdDb21tYW5kQmFzZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VuZ2luZS9zcmMvcmVtb3RlL1JlbW90ZURhdGFWaWV3Q29tbWFuZEJhc2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFFdEUsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFFcEUsT0FBTyxFQUFFLHdDQUF3QyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDcEYsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRXBELE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxNQUFNLDRDQUE0QyxDQUFDO0FBRTVGLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUsvQyxNQUFNLE9BQU8seUJBQTBCLFNBQVEsbUJBQW1CO0lBS2hFLFlBQVksT0FBZ0M7UUFDMUMsS0FBSyxFQUFFLENBQUM7UUFKVixZQUFPLEdBQTRCLElBQUksQ0FBQztRQUM5QixTQUFJLEdBQVMsSUFBSSxDQUFDO1FBSTFCLElBQUksQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDO1FBQ3ZCLElBQUksT0FBTyxZQUFZLDhCQUE4QixFQUFFO1lBQ3JELElBQUksQ0FBQyxJQUFJLEdBQVMsWUFBWSxDQUFDLFdBQVcsQ0FBQyxXQUFXLENBQWtDLE9BQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQztTQUMzRztJQUNILENBQUM7SUFNRCxLQUFLLENBQUMsT0FBTztRQUNYLElBQUksWUFBWSxHQUFtQixJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDLFlBQVksQ0FBQztRQUN0RSxZQUFZLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUMvQixNQUFNLHVCQUF1QixDQUFDLFdBQVcsRUFBRSxDQUFDLE9BQU8sQ0FBQyx3Q0FBd0MsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO1FBQ2pILE9BQU8sSUFBSSxZQUFZLEVBQUUsQ0FBQztJQUM1QixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEYXRhVmlld0NvbW1hbmRCYXNlIH0gZnJvbSAnLi4vY29tbWFuZHMvRGF0YVZpZXdDb21tYW5kQmFzZSc7XHJcbmltcG9ydCB7IENsaWVudE9yaWdpbmF0ZWRDb21tYW5kIH0gZnJvbSAnLi4vY29tbWFuZHMvQ2xpZW50VG9TZXJ2ZXIvQ2xpZW50T3JpZ2luYXRlZENvbW1hbmQnO1xyXG5pbXBvcnQgeyBSZW1vdGVDb21tYW5kc1Byb2Nlc3NvciB9IGZyb20gJy4vUmVtb3RlQ29tbWFuZHNQcm9jZXNzb3InO1xyXG5pbXBvcnQgeyBSZXR1cm5SZXN1bHRCYXNlIH0gZnJvbSAnLi4vdXRpbC9SZXR1cm5SZXN1bHRCYXNlJztcclxuaW1wb3J0IHsgQ29tbWFuZHNQcm9jZXNzb3JCYXNlX1NlbmRpbmdJbnN0cnVjdGlvbiB9IGZyb20gJy4uL0NvbW1hbmRzUHJvY2Vzc29yQmFzZSc7XHJcbmltcG9ydCB7IFJldHVyblJlc3VsdCB9IGZyb20gJy4uL3V0aWwvUmV0dXJuUmVzdWx0JztcclxuaW1wb3J0IHsgVGFzayB9IGZyb20gJy4uL3Rhc2tzL1Rhc2snO1xyXG5pbXBvcnQgeyBDbGllbnRPcmlnaW5hdGVkQ29tbWFuZFRhc2tUYWcgfSBmcm9tICcuLi9jb21tYW5kcy9DbGllbnRPcmlnaW5hdGVkQ29tbWFuZFRhc2tUYWcnO1xyXG5pbXBvcnQgeyBJQ29tbWFuZHNUYWJsZSB9IGZyb20gJy4uL0lDb21tYW5kc1RhYmxlJztcclxuaW1wb3J0IHsgQWNjZXNzSGVscGVyIH0gZnJvbSAnLi4vQWNjZXNzSGVscGVyJztcclxuXHJcbi8vLyA8c3VtbWFyeT5cclxuLy8vIHJlbW90ZSBkYXRhdmlldyBjb21tYW5kXHJcbi8vLyA8L3N1bW1hcnk+XHJcbmV4cG9ydCBjbGFzcyBSZW1vdGVEYXRhVmlld0NvbW1hbmRCYXNlIGV4dGVuZHMgRGF0YVZpZXdDb21tYW5kQmFzZSB7XHJcblxyXG4gIENvbW1hbmQ6IENsaWVudE9yaWdpbmF0ZWRDb21tYW5kID0gbnVsbDtcclxuICBwcm90ZWN0ZWQgVGFzazogVGFzayA9IG51bGw7XHJcblxyXG4gIGNvbnN0cnVjdG9yKGNvbW1hbmQ6IENsaWVudE9yaWdpbmF0ZWRDb21tYW5kLCApIHtcclxuICAgIHN1cGVyKCk7XHJcbiAgICB0aGlzLkNvbW1hbmQgPSBjb21tYW5kO1xyXG4gICAgaWYgKGNvbW1hbmQgaW5zdGFuY2VvZiBDbGllbnRPcmlnaW5hdGVkQ29tbWFuZFRhc2tUYWcpIHtcclxuICAgICAgdGhpcy5UYXNrID0gPFRhc2s+QWNjZXNzSGVscGVyLm1nRGF0YVRhYmxlLkdldFRhc2tCeUlEKCg8Q2xpZW50T3JpZ2luYXRlZENvbW1hbmRUYXNrVGFnPmNvbW1hbmQpLlRhc2tUYWcpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLy8vIDxzdW1tYXJ5PlxyXG4gIC8vLyBleGVjdXRlIHRoZSBjb21tYW5kIGJ5IHBhc3MgcmVxdWVzdHMgdG8gdGhlIHNlcnZlclxyXG4gIC8vLyA8L3N1bW1hcnk+XHJcbiAgLy8vIDxwYXJhbSBuYW1lPVwiY29tbWFuZFwiPjwvcGFyYW0+XHJcbiAgYXN5bmMgRXhlY3V0ZSgpOiBQcm9taXNlPFJldHVyblJlc3VsdEJhc2U+IHtcclxuICAgIGxldCBjbWRzVG9TZXJ2ZXI6IElDb21tYW5kc1RhYmxlID0gdGhpcy5UYXNrLmdldE1HRGF0YSgpLkNtZHNUb1NlcnZlcjtcclxuICAgIGNtZHNUb1NlcnZlci5BZGQodGhpcy5Db21tYW5kKTtcclxuICAgIGF3YWl0IFJlbW90ZUNvbW1hbmRzUHJvY2Vzc29yLkdldEluc3RhbmNlKCkuRXhlY3V0ZShDb21tYW5kc1Byb2Nlc3NvckJhc2VfU2VuZGluZ0luc3RydWN0aW9uLlRBU0tTX0FORF9DT01NQU5EUyk7XHJcbiAgICByZXR1cm4gbmV3IFJldHVyblJlc3VsdCgpO1xyXG4gIH1cclxufVxyXG4iXX0=
|
|
File without changes
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { RemoteDataViewCommandBase } from "./RemoteDataViewCommandBase";
|
|
2
|
+
import { ReturnResult } from "../util/ReturnResult";
|
|
3
|
+
import { MsgInterface } from "@magic-xpa/utils";
|
|
4
|
+
export class RemoteDataViewCommandUpdateNonModifiable extends RemoteDataViewCommandBase {
|
|
5
|
+
get execOperCommand() {
|
|
6
|
+
return this.Command;
|
|
7
|
+
}
|
|
8
|
+
constructor(command) {
|
|
9
|
+
super(command);
|
|
10
|
+
}
|
|
11
|
+
async Execute() {
|
|
12
|
+
await this.execOperCommand.Operation.operServer(this.execOperCommand.MprgCreator);
|
|
13
|
+
return new ReturnResult(MsgInterface.RT_STR_NON_MODIFIABLE);
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUmVtb3RlRGF0YVZpZXdDb21tYW5kVXBkYXRlTm9uTW9kaWZpYWJsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VuZ2luZS9zcmMvcmVtb3RlL1JlbW90ZURhdGFWaWV3Q29tbWFuZFVwZGF0ZU5vbk1vZGlmaWFibGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLHlCQUF5QixFQUFDLE1BQU0sNkJBQTZCLENBQUM7QUFHdEUsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBQ2xELE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxrQkFBa0IsQ0FBQztBQUU5QyxNQUFNLE9BQU8sd0NBQXlDLFNBQVEseUJBQXlCO0lBQ3JGLElBQVksZUFBZTtRQUN6QixPQUF3QixJQUFJLENBQUMsT0FBTyxDQUFDO0lBQ3ZDLENBQUM7SUFFRCxZQUFZLE9BQXdCO1FBQ2xDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNqQixDQUFDO0lBRUQsS0FBSyxDQUFDLE9BQU87UUFDWCxNQUFNLElBQUksQ0FBQyxlQUFlLENBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQ2xGLE9BQU8sSUFBSSxZQUFZLENBQUMsWUFBWSxDQUFDLHFCQUFxQixDQUFDLENBQUM7SUFDOUQsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtSZW1vdGVEYXRhVmlld0NvbW1hbmRCYXNlfSBmcm9tIFwiLi9SZW1vdGVEYXRhVmlld0NvbW1hbmRCYXNlXCI7XHJcbmltcG9ydCB7RXhlY09wZXJDb21tYW5kfSBmcm9tIFwiLi4vY29tbWFuZHMvQ2xpZW50VG9TZXJ2ZXIvRXhlY09wZXJDb21tYW5kXCI7XHJcbmltcG9ydCB7UmV0dXJuUmVzdWx0QmFzZX0gZnJvbSBcIi4uL3V0aWwvUmV0dXJuUmVzdWx0QmFzZVwiO1xyXG5pbXBvcnQge1JldHVyblJlc3VsdH0gZnJvbSBcIi4uL3V0aWwvUmV0dXJuUmVzdWx0XCI7XHJcbmltcG9ydCB7TXNnSW50ZXJmYWNlfSBmcm9tIFwiQG1hZ2ljLXhwYS91dGlsc1wiO1xyXG5cclxuZXhwb3J0IGNsYXNzIFJlbW90ZURhdGFWaWV3Q29tbWFuZFVwZGF0ZU5vbk1vZGlmaWFibGUgZXh0ZW5kcyBSZW1vdGVEYXRhVmlld0NvbW1hbmRCYXNlIHtcclxuICBwcml2YXRlIGdldCBleGVjT3BlckNvbW1hbmQoKTogRXhlY09wZXJDb21tYW5kIHtcclxuICAgIHJldHVybiA8RXhlY09wZXJDb21tYW5kPnRoaXMuQ29tbWFuZDtcclxuICB9XHJcblxyXG4gIGNvbnN0cnVjdG9yKGNvbW1hbmQ6IEV4ZWNPcGVyQ29tbWFuZCkge1xyXG4gICAgc3VwZXIoY29tbWFuZCk7XHJcbiAgfVxyXG5cclxuICBhc3luYyBFeGVjdXRlKCk6IFByb21pc2U8UmV0dXJuUmVzdWx0QmFzZT4ge1xyXG4gICAgYXdhaXQgdGhpcy5leGVjT3BlckNvbW1hbmQuT3BlcmF0aW9uLm9wZXJTZXJ2ZXIodGhpcy5leGVjT3BlckNvbW1hbmQuTXByZ0NyZWF0b3IpO1xyXG4gICAgcmV0dXJuIG5ldyBSZXR1cm5SZXN1bHQoTXNnSW50ZXJmYWNlLlJUX1NUUl9OT05fTU9ESUZJQUJMRSk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { DataviewManagerBase } from "../data/DataviewManagerBase";
|
|
2
|
+
import { RemoteDataViewCommandFactory } from "./RemoteDataViewCommandFactory";
|
|
3
|
+
import { ReturnResult } from "../util/ReturnResult";
|
|
4
|
+
export class RemoteDataviewManager extends DataviewManagerBase {
|
|
5
|
+
constructor(task) {
|
|
6
|
+
super(task);
|
|
7
|
+
this._remoteDataViewCommandFactory = null;
|
|
8
|
+
this._remoteDataViewCommandFactory = new RemoteDataViewCommandFactory();
|
|
9
|
+
}
|
|
10
|
+
async Execute(command) {
|
|
11
|
+
await super.Execute(command);
|
|
12
|
+
let remoteDataViewCommandBase = this._remoteDataViewCommandFactory.CreateDataViewCommand(command);
|
|
13
|
+
let innerResult = await remoteDataViewCommandBase.Execute();
|
|
14
|
+
return new ReturnResult(innerResult);
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUmVtb3RlRGF0YXZpZXdNYW5hZ2VyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZW5naW5lL3NyYy9yZW1vdGUvUmVtb3RlRGF0YXZpZXdNYW5hZ2VyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxtQkFBbUIsRUFBQyxNQUFNLDZCQUE2QixDQUFDO0FBQ2hFLE9BQU8sRUFBQyw0QkFBNEIsRUFBQyxNQUFNLGdDQUFnQyxDQUFDO0FBSTVFLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQVVsRCxNQUFNLE9BQU8scUJBQXNCLFNBQVEsbUJBQW1CO0lBRzVELFlBQVksSUFBVTtRQUNwQixLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7UUFITixrQ0FBNkIsR0FBaUMsSUFBSSxDQUFDO1FBSXpFLElBQUksQ0FBQyw2QkFBNkIsR0FBRyxJQUFJLDRCQUE0QixFQUFFLENBQUM7SUFDMUUsQ0FBQztJQU1ELEtBQUssQ0FBQyxPQUFPLENBQUMsT0FBdUI7UUFDbkMsTUFBTSxLQUFLLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQzdCLElBQUkseUJBQXlCLEdBQThCLElBQUksQ0FBQyw2QkFBNkIsQ0FBQyxxQkFBcUIsQ0FBMEIsT0FBTyxDQUFDLENBQUM7UUFDdEosSUFBSSxXQUFXLEdBQXFCLE1BQU0seUJBQXlCLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDOUUsT0FBTyxJQUFJLFlBQVksQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUN2QyxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0RhdGF2aWV3TWFuYWdlckJhc2V9IGZyb20gXCIuLi9kYXRhL0RhdGF2aWV3TWFuYWdlckJhc2VcIjtcclxuaW1wb3J0IHtSZW1vdGVEYXRhVmlld0NvbW1hbmRGYWN0b3J5fSBmcm9tIFwiLi9SZW1vdGVEYXRhVmlld0NvbW1hbmRGYWN0b3J5XCI7XHJcbmltcG9ydCB7VGFza30gZnJvbSBcIi4uL3Rhc2tzL1Rhc2tcIjtcclxuaW1wb3J0IHtJQ2xpZW50Q29tbWFuZH0gZnJvbSBcIi4uL2NvbW1hbmRzL0lDbGllbnRDb21tYW5kXCI7XHJcbmltcG9ydCB7Q2xpZW50T3JpZ2luYXRlZENvbW1hbmR9IGZyb20gXCIuLi9jb21tYW5kcy9DbGllbnRUb1NlcnZlci9DbGllbnRPcmlnaW5hdGVkQ29tbWFuZFwiO1xyXG5pbXBvcnQge1JldHVyblJlc3VsdH0gZnJvbSBcIi4uL3V0aWwvUmV0dXJuUmVzdWx0XCI7XHJcbmltcG9ydCB7UmV0dXJuUmVzdWx0QmFzZX0gZnJvbSBcIi4uL3V0aWwvUmV0dXJuUmVzdWx0QmFzZVwiO1xyXG5pbXBvcnQge1JlbW90ZURhdGFWaWV3Q29tbWFuZEJhc2V9IGZyb20gXCIuL1JlbW90ZURhdGFWaWV3Q29tbWFuZEJhc2VcIjtcclxuXHJcbi8vLyA8c3VtbWFyeT5cclxuLy8vIHJlbW90ZSBkYXRhdmlldyBtYW5hZ2VyOlxyXG4vLy8gd2lsbCBwYXNzIHJlcXVlc3RzIHRvIHRoZSBzZXJ2ZXJcclxuLy8vIHdoZW4gcmVwbHkgaXMgcmVjZWl2ZWQgd2lsbCBwZXJmb3JtIGZpbGxEYXRhIHRvIHRoZSBkYXRhdmlldy54bWxcclxuLy8vIE5vdGU6IGluIG5leHQgcGhhc2Ugd2lsbCBpbXBsZW1lbnQgbW9yZSBjb21wbGljYXRlZCB0YXNrc1xyXG4vLy8gPC9zdW1tYXJ5PlxyXG5leHBvcnQgY2xhc3MgUmVtb3RlRGF0YXZpZXdNYW5hZ2VyIGV4dGVuZHMgRGF0YXZpZXdNYW5hZ2VyQmFzZSB7XHJcbiAgcHJpdmF0ZSBfcmVtb3RlRGF0YVZpZXdDb21tYW5kRmFjdG9yeTogUmVtb3RlRGF0YVZpZXdDb21tYW5kRmFjdG9yeSA9IG51bGw7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHRhc2s6IFRhc2spIHtcclxuICAgIHN1cGVyKHRhc2spO1xyXG4gICAgdGhpcy5fcmVtb3RlRGF0YVZpZXdDb21tYW5kRmFjdG9yeSA9IG5ldyBSZW1vdGVEYXRhVmlld0NvbW1hbmRGYWN0b3J5KCk7XHJcbiAgfVxyXG5cclxuICAvLy8gPHN1bW1hcnk+XHJcbiAgLy8vIGV4ZWN1dGUgdGhlIGNvbW1hbmQgYnkgcGFzcyByZXF1ZXN0cyB0byB0aGUgc2VydmVyXHJcbiAgLy8vIDwvc3VtbWFyeT5cclxuICAvLy8gPHBhcmFtIG5hbWU9XCJjb21tYW5kXCI+PC9wYXJhbT5cclxuICBhc3luYyBFeGVjdXRlKGNvbW1hbmQ6IElDbGllbnRDb21tYW5kKTogUHJvbWlzZTxSZXR1cm5SZXN1bHQ+IHtcclxuICAgIGF3YWl0IHN1cGVyLkV4ZWN1dGUoY29tbWFuZCk7XHJcbiAgICBsZXQgcmVtb3RlRGF0YVZpZXdDb21tYW5kQmFzZTogUmVtb3RlRGF0YVZpZXdDb21tYW5kQmFzZSA9IHRoaXMuX3JlbW90ZURhdGFWaWV3Q29tbWFuZEZhY3RvcnkuQ3JlYXRlRGF0YVZpZXdDb21tYW5kKDxDbGllbnRPcmlnaW5hdGVkQ29tbWFuZD5jb21tYW5kKTtcclxuICAgIGxldCBpbm5lclJlc3VsdDogUmV0dXJuUmVzdWx0QmFzZSA9IGF3YWl0IHJlbW90ZURhdGFWaWV3Q29tbWFuZEJhc2UuRXhlY3V0ZSgpO1xyXG4gICAgcmV0dXJuIG5ldyBSZXR1cm5SZXN1bHQoaW5uZXJSZXN1bHQpO1xyXG4gIH1cclxufVxyXG4iXX0=
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { RemoteDataViewCommandBase } from "./RemoteDataViewCommandBase";
|
|
2
|
+
import { ReturnResult } from "../util/ReturnResult";
|
|
3
|
+
export class DummyDataViewCommand extends RemoteDataViewCommandBase {
|
|
4
|
+
constructor(command) {
|
|
5
|
+
super(command);
|
|
6
|
+
}
|
|
7
|
+
async Execute() {
|
|
8
|
+
return new ReturnResult();
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUmVtb3RlSW5pdERhdGFWaWV3Q29tbWFuZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VuZ2luZS9zcmMvcmVtb3RlL1JlbW90ZUluaXREYXRhVmlld0NvbW1hbmQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLHlCQUF5QixFQUFDLE1BQU0sNkJBQTZCLENBQUM7QUFHdEUsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBS2xELE1BQU0sT0FBTyxvQkFBcUIsU0FBUSx5QkFBeUI7SUFDakUsWUFBWSxPQUFnQztRQUMxQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDakIsQ0FBQztJQUVELEtBQUssQ0FBQyxPQUFPO1FBQ1gsT0FBTyxJQUFJLFlBQVksRUFBRSxDQUFDO0lBQzVCLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7UmVtb3RlRGF0YVZpZXdDb21tYW5kQmFzZX0gZnJvbSBcIi4vUmVtb3RlRGF0YVZpZXdDb21tYW5kQmFzZVwiO1xyXG5pbXBvcnQge0NsaWVudE9yaWdpbmF0ZWRDb21tYW5kfSBmcm9tIFwiLi4vY29tbWFuZHMvQ2xpZW50VG9TZXJ2ZXIvQ2xpZW50T3JpZ2luYXRlZENvbW1hbmRcIjtcclxuaW1wb3J0IHtSZXR1cm5SZXN1bHRCYXNlfSBmcm9tIFwiLi4vdXRpbC9SZXR1cm5SZXN1bHRCYXNlXCI7XHJcbmltcG9ydCB7UmV0dXJuUmVzdWx0fSBmcm9tIFwiLi4vdXRpbC9SZXR1cm5SZXN1bHRcIjtcclxuXHJcbi8vLyA8c3VtbWFyeT5cclxuLy8vIHJlbW90ZSBjb21tYW5kIDogZHVtbXkgZm9yIG5vd1xyXG4vLy8gPC9zdW1tYXJ5PlxyXG5leHBvcnQgY2xhc3MgRHVtbXlEYXRhVmlld0NvbW1hbmQgZXh0ZW5kcyBSZW1vdGVEYXRhVmlld0NvbW1hbmRCYXNlIHtcclxuICBjb25zdHJ1Y3Rvcihjb21tYW5kOiBDbGllbnRPcmlnaW5hdGVkQ29tbWFuZCkge1xyXG4gICAgc3VwZXIoY29tbWFuZCk7XHJcbiAgfVxyXG5cclxuICBhc3luYyBFeGVjdXRlKCk6IFByb21pc2U8UmV0dXJuUmVzdWx0QmFzZT4ge1xyXG4gICAgcmV0dXJuIG5ldyBSZXR1cm5SZXN1bHQoKTtcclxuICB9XHJcbn1cclxuIl19
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { RemoteDataViewCommandBase } from "./RemoteDataViewCommandBase";
|
|
2
|
+
import { ReturnResult } from "../util/ReturnResult";
|
|
3
|
+
export class ResetUserLocateRemoteDataviewCommand extends RemoteDataViewCommandBase {
|
|
4
|
+
constructor(command) {
|
|
5
|
+
super(command);
|
|
6
|
+
}
|
|
7
|
+
async Execute() {
|
|
8
|
+
let flag = this.Task.UserLocs !== null;
|
|
9
|
+
if (flag) {
|
|
10
|
+
this.Task.UserLocs.Clear();
|
|
11
|
+
this.Task.UserLocs = null;
|
|
12
|
+
}
|
|
13
|
+
this.Task.ResetLocate = true;
|
|
14
|
+
return new ReturnResult();
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUmVzZXRVc2VyTG9jYXRlUmVtb3RlRGF0YXZpZXdDb21tYW5kLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZW5naW5lL3NyYy9yZW1vdGUvUmVzZXRVc2VyTG9jYXRlUmVtb3RlRGF0YXZpZXdDb21tYW5kLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyx5QkFBeUIsRUFBQyxNQUFNLDZCQUE2QixDQUFDO0FBR3RFLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUtsRCxNQUFNLE9BQU8sb0NBQXFDLFNBQVEseUJBQXlCO0lBQ2pGLFlBQVksT0FBZ0M7UUFDMUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ2pCLENBQUM7SUFNRCxLQUFLLENBQUMsT0FBTztRQUNYLElBQUksSUFBSSxHQUFZLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxLQUFLLElBQUksQ0FBQztRQUNoRCxJQUFJLElBQUksRUFBRTtZQUNSLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQzNCLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQztTQUMzQjtRQUNELElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQztRQUM3QixPQUFPLElBQUksWUFBWSxFQUFFLENBQUM7SUFDNUIsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtSZW1vdGVEYXRhVmlld0NvbW1hbmRCYXNlfSBmcm9tIFwiLi9SZW1vdGVEYXRhVmlld0NvbW1hbmRCYXNlXCI7XHJcbmltcG9ydCB7Q2xpZW50T3JpZ2luYXRlZENvbW1hbmR9IGZyb20gXCIuLi9jb21tYW5kcy9DbGllbnRUb1NlcnZlci9DbGllbnRPcmlnaW5hdGVkQ29tbWFuZFwiO1xyXG5pbXBvcnQge1JldHVyblJlc3VsdEJhc2V9IGZyb20gXCIuLi91dGlsL1JldHVyblJlc3VsdEJhc2VcIjtcclxuaW1wb3J0IHtSZXR1cm5SZXN1bHR9IGZyb20gXCIuLi91dGlsL1JldHVyblJlc3VsdFwiO1xyXG5cclxuLy8vIDxzdW1tYXJ5PlxyXG4vLy8gUmVzZXRVc2VyTG9jYXRlUmVtb3RlRGF0YXZpZXdDb21tYW5kXHJcbi8vLyA8L3N1bW1hcnk+XHJcbmV4cG9ydCBjbGFzcyBSZXNldFVzZXJMb2NhdGVSZW1vdGVEYXRhdmlld0NvbW1hbmQgZXh0ZW5kcyBSZW1vdGVEYXRhVmlld0NvbW1hbmRCYXNlIHtcclxuICBjb25zdHJ1Y3Rvcihjb21tYW5kOiBDbGllbnRPcmlnaW5hdGVkQ29tbWFuZCkge1xyXG4gICAgc3VwZXIoY29tbWFuZCk7XHJcbiAgfVxyXG5cclxuICAvLy8gPHN1bW1hcnk+XHJcbiAgLy8vIFJlc2V0IFVzZXIgTG9jYXRlcyBBZGRlZCBieSBMb2NhdGVBZGQgZnVuY3Rpb25cclxuICAvLy8gPC9zdW1tYXJ5PlxyXG4gIC8vLyA8cmV0dXJucz48L3JldHVybnM+XHJcbiAgYXN5bmMgRXhlY3V0ZSgpOiBQcm9taXNlPFJldHVyblJlc3VsdEJhc2U+IHtcclxuICAgIGxldCBmbGFnOiBib29sZWFuID0gdGhpcy5UYXNrLlVzZXJMb2NzICE9PSBudWxsO1xyXG4gICAgaWYgKGZsYWcpIHtcclxuICAgICAgdGhpcy5UYXNrLlVzZXJMb2NzLkNsZWFyKCk7XHJcbiAgICAgIHRoaXMuVGFzay5Vc2VyTG9jcyA9IG51bGw7XHJcbiAgICB9XHJcbiAgICB0aGlzLlRhc2suUmVzZXRMb2NhdGUgPSB0cnVlO1xyXG4gICAgcmV0dXJuIG5ldyBSZXR1cm5SZXN1bHQoKTtcclxuICB9XHJcbn1cclxuIl19
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { RemoteDataViewCommandBase } from "./RemoteDataViewCommandBase";
|
|
2
|
+
import { ReturnResult } from "../util/ReturnResult";
|
|
3
|
+
export class ResetUserRangeRemoteDataviewCommand extends RemoteDataViewCommandBase {
|
|
4
|
+
constructor(command) {
|
|
5
|
+
super(command);
|
|
6
|
+
}
|
|
7
|
+
async Execute() {
|
|
8
|
+
this.Task.UserRngs = null;
|
|
9
|
+
this.Task.ResetRange = true;
|
|
10
|
+
return new ReturnResult();
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUmVzZXRVc2VyUmFuZ2VSZW1vdGVEYXRhdmlld0NvbW1hbmQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lbmdpbmUvc3JjL3JlbW90ZS9SZXNldFVzZXJSYW5nZVJlbW90ZURhdGF2aWV3Q29tbWFuZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMseUJBQXlCLEVBQUMsTUFBTSw2QkFBNkIsQ0FBQztBQUd0RSxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFLbEQsTUFBTSxPQUFPLG1DQUFvQyxTQUFRLHlCQUF5QjtJQUNoRixZQUFZLE9BQWdDO1FBQzFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNqQixDQUFDO0lBRUQsS0FBSyxDQUFDLE9BQU87UUFDWCxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUM7UUFDMUIsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDO1FBQzVCLE9BQU8sSUFBSSxZQUFZLEVBQUUsQ0FBQztJQUM1QixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1JlbW90ZURhdGFWaWV3Q29tbWFuZEJhc2V9IGZyb20gXCIuL1JlbW90ZURhdGFWaWV3Q29tbWFuZEJhc2VcIjtcclxuaW1wb3J0IHtDbGllbnRPcmlnaW5hdGVkQ29tbWFuZH0gZnJvbSBcIi4uL2NvbW1hbmRzL0NsaWVudFRvU2VydmVyL0NsaWVudE9yaWdpbmF0ZWRDb21tYW5kXCI7XHJcbmltcG9ydCB7UmV0dXJuUmVzdWx0QmFzZX0gZnJvbSBcIi4uL3V0aWwvUmV0dXJuUmVzdWx0QmFzZVwiO1xyXG5pbXBvcnQge1JldHVyblJlc3VsdH0gZnJvbSBcIi4uL3V0aWwvUmV0dXJuUmVzdWx0XCI7XHJcblxyXG4vLy8gPHN1bW1hcnk+XHJcbi8vLyBjb21tYW5kIHRvIHJlc2V0IHRoZSB1c2VyIHJhbmdlcyBvbiB0aGUgcmVtb3RlIGRhdGF2aWV3XHJcbi8vLyA8L3N1bW1hcnk+XHJcbmV4cG9ydCBjbGFzcyBSZXNldFVzZXJSYW5nZVJlbW90ZURhdGF2aWV3Q29tbWFuZCBleHRlbmRzIFJlbW90ZURhdGFWaWV3Q29tbWFuZEJhc2Uge1xyXG4gIGNvbnN0cnVjdG9yKGNvbW1hbmQ6IENsaWVudE9yaWdpbmF0ZWRDb21tYW5kKSB7XHJcbiAgICBzdXBlcihjb21tYW5kKTtcclxuICB9XHJcblxyXG4gIGFzeW5jIEV4ZWN1dGUoKTogUHJvbWlzZTxSZXR1cm5SZXN1bHRCYXNlPiB7XHJcbiAgICB0aGlzLlRhc2suVXNlclJuZ3MgPSBudWxsO1xyXG4gICAgdGhpcy5UYXNrLlJlc2V0UmFuZ2UgPSB0cnVlO1xyXG4gICAgcmV0dXJuIG5ldyBSZXR1cm5SZXN1bHQoKTtcclxuICB9XHJcbn1cclxuIl19
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { RemoteDataViewCommandBase } from "./RemoteDataViewCommandBase";
|
|
2
|
+
import { ReturnResult } from "../util/ReturnResult";
|
|
3
|
+
export class ResetUserSortRemoteDataviewCommand extends RemoteDataViewCommandBase {
|
|
4
|
+
constructor(command) {
|
|
5
|
+
super(command);
|
|
6
|
+
}
|
|
7
|
+
async Execute() {
|
|
8
|
+
if (this.Task.UserSorts !== null) {
|
|
9
|
+
this.Task.UserSorts.Clear();
|
|
10
|
+
this.Task.UserSorts = null;
|
|
11
|
+
}
|
|
12
|
+
this.Task.ResetSort = true;
|
|
13
|
+
return new ReturnResult();
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUmVzZXRVc2VyU29ydFJlbW90ZURhdGF2aWV3Q29tbWFuZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VuZ2luZS9zcmMvcmVtb3RlL1Jlc2V0VXNlclNvcnRSZW1vdGVEYXRhdmlld0NvbW1hbmQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLHlCQUF5QixFQUFDLE1BQU0sNkJBQTZCLENBQUM7QUFFdEUsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBR2xELE1BQU0sT0FBTyxrQ0FBbUMsU0FBUSx5QkFBeUI7SUFDL0UsWUFBWSxPQUFnQztRQUMxQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDakIsQ0FBQztJQU1ELEtBQUssQ0FBQyxPQUFPO1FBQ1gsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsS0FBSyxJQUFJLEVBQUU7WUFDaEMsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDNUIsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDO1NBQzVCO1FBQ0QsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDO1FBQzNCLE9BQU8sSUFBSSxZQUFZLEVBQUUsQ0FBQztJQUM1QixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1JlbW90ZURhdGFWaWV3Q29tbWFuZEJhc2V9IGZyb20gXCIuL1JlbW90ZURhdGFWaWV3Q29tbWFuZEJhc2VcIjtcclxuaW1wb3J0IHtSZXR1cm5SZXN1bHRCYXNlfSBmcm9tIFwiLi4vdXRpbC9SZXR1cm5SZXN1bHRCYXNlXCI7XHJcbmltcG9ydCB7UmV0dXJuUmVzdWx0fSBmcm9tIFwiLi4vdXRpbC9SZXR1cm5SZXN1bHRcIjtcclxuaW1wb3J0IHtDbGllbnRPcmlnaW5hdGVkQ29tbWFuZH0gZnJvbSBcIi4uL2NvbW1hbmRzL0NsaWVudFRvU2VydmVyL0NsaWVudE9yaWdpbmF0ZWRDb21tYW5kXCI7XHJcblxyXG5leHBvcnQgY2xhc3MgUmVzZXRVc2VyU29ydFJlbW90ZURhdGF2aWV3Q29tbWFuZCBleHRlbmRzIFJlbW90ZURhdGFWaWV3Q29tbWFuZEJhc2Uge1xyXG4gIGNvbnN0cnVjdG9yKGNvbW1hbmQ6IENsaWVudE9yaWdpbmF0ZWRDb21tYW5kKSB7XHJcbiAgICBzdXBlcihjb21tYW5kKTtcclxuICB9XHJcblxyXG4gIC8vLyA8c3VtbWFyeT5cclxuICAvLy8gUmVzZXQgVXNlciBTb3J0cyBhZGRlZCBieSBTb3J0QWRkIGZ1bmN0aW9uLlxyXG4gIC8vLyA8L3N1bW1hcnk+XHJcbiAgLy8vIDxyZXR1cm5zPjwvcmV0dXJucz5cclxuICBhc3luYyBFeGVjdXRlKCk6IFByb21pc2U8UmV0dXJuUmVzdWx0QmFzZT4ge1xyXG4gICAgaWYgKHRoaXMuVGFzay5Vc2VyU29ydHMgIT09IG51bGwpIHtcclxuICAgICAgdGhpcy5UYXNrLlVzZXJTb3J0cy5DbGVhcigpO1xyXG4gICAgICB0aGlzLlRhc2suVXNlclNvcnRzID0gbnVsbDtcclxuICAgIH1cclxuICAgIHRoaXMuVGFzay5SZXNldFNvcnQgPSB0cnVlO1xyXG4gICAgcmV0dXJuIG5ldyBSZXR1cm5SZXN1bHQoKTtcclxuICB9XHJcbn1cclxuIl19
|
|
File without changes
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { __awaiter } from "tslib";
|
|
2
1
|
import { RemoteDataViewCommandBase } from "./RemoteDataViewCommandBase";
|
|
3
2
|
import { ReturnResult } from "../util/ReturnResult";
|
|
4
3
|
export class SetTransactionStateRemoteDataViewCommand extends RemoteDataViewCommandBase {
|
|
@@ -8,16 +7,14 @@ export class SetTransactionStateRemoteDataViewCommand extends RemoteDataViewComm
|
|
|
8
7
|
constructor(command) {
|
|
9
8
|
super(command);
|
|
10
9
|
}
|
|
11
|
-
Execute() {
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
transaction.Opened = this.dataviewCommand.TransactionIsOpen;
|
|
17
|
-
}
|
|
10
|
+
async Execute() {
|
|
11
|
+
if (this.Task !== null) {
|
|
12
|
+
let transaction = this.Task.DataviewManager.RemoteDataviewManager.Transaction;
|
|
13
|
+
if (transaction !== null) {
|
|
14
|
+
transaction.Opened = this.dataviewCommand.TransactionIsOpen;
|
|
18
15
|
}
|
|
19
|
-
|
|
20
|
-
|
|
16
|
+
}
|
|
17
|
+
return new ReturnResult();
|
|
21
18
|
}
|
|
22
19
|
}
|
|
23
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
20
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU2V0VHJhbnNhY3Rpb25TdGF0ZVJlbW90ZURhdGFWaWV3Q29tbWFuZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VuZ2luZS9zcmMvcmVtb3RlL1NldFRyYW5zYWN0aW9uU3RhdGVSZW1vdGVEYXRhVmlld0NvbW1hbmQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLHlCQUF5QixFQUFDLE1BQU0sNkJBQTZCLENBQUM7QUFFdEUsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBT2xELE1BQU0sT0FBTyx3Q0FBeUMsU0FBUSx5QkFBeUI7SUFDckYsSUFBWSxlQUFlO1FBQ3pCLE9BQTJDLElBQUksQ0FBQyxPQUFPLENBQUM7SUFDMUQsQ0FBQztJQUVELFlBQVksT0FBMkM7UUFDckQsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ2pCLENBQUM7SUFFRCxLQUFLLENBQUMsT0FBTztRQUNYLElBQUksSUFBSSxDQUFDLElBQUksS0FBSyxJQUFJLEVBQUU7WUFDdEIsSUFBSSxXQUFXLEdBQWdCLElBQUksQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLHFCQUFxQixDQUFDLFdBQVcsQ0FBQztZQUMzRixJQUFJLFdBQVcsS0FBSyxJQUFJLEVBQUU7Z0JBQ3hCLFdBQVcsQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxpQkFBaUIsQ0FBQzthQUM3RDtTQUNGO1FBQ0QsT0FBTyxJQUFJLFlBQVksRUFBRSxDQUFDO0lBQzVCLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7UmVtb3RlRGF0YVZpZXdDb21tYW5kQmFzZX0gZnJvbSBcIi4vUmVtb3RlRGF0YVZpZXdDb21tYW5kQmFzZVwiO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9ufSBmcm9tIFwiLi4vcnQvVHJhbnNhY3Rpb25cIjtcclxuaW1wb3J0IHtSZXR1cm5SZXN1bHR9IGZyb20gXCIuLi91dGlsL1JldHVyblJlc3VsdFwiO1xyXG5pbXBvcnQge1JldHVyblJlc3VsdEJhc2V9IGZyb20gXCIuLi91dGlsL1JldHVyblJlc3VsdEJhc2VcIjtcclxuaW1wb3J0IHtTZXRUcmFuc2FjdGlvblN0YXRlRGF0YXZpZXdDb21tYW5kfSBmcm9tIFwiLi4vY29tbWFuZHMvQ2xpZW50VG9TZXJ2ZXIvU2V0VHJhbnNhY3Rpb25TdGF0ZURhdGF2aWV3Q29tbWFuZFwiO1xyXG5cclxuLy8vIDxzdW1tYXJ5PlxyXG4vLy8gc2V0IHN0YXRlIHRyYW5zYWN0aW9uXHJcbi8vLyA8L3N1bW1hcnk+XHJcbmV4cG9ydCBjbGFzcyBTZXRUcmFuc2FjdGlvblN0YXRlUmVtb3RlRGF0YVZpZXdDb21tYW5kIGV4dGVuZHMgUmVtb3RlRGF0YVZpZXdDb21tYW5kQmFzZSB7XHJcbiAgcHJpdmF0ZSBnZXQgZGF0YXZpZXdDb21tYW5kKCk6IFNldFRyYW5zYWN0aW9uU3RhdGVEYXRhdmlld0NvbW1hbmQge1xyXG4gICAgcmV0dXJuIDxTZXRUcmFuc2FjdGlvblN0YXRlRGF0YXZpZXdDb21tYW5kPnRoaXMuQ29tbWFuZDtcclxuICB9XHJcblxyXG4gIGNvbnN0cnVjdG9yKGNvbW1hbmQ6IFNldFRyYW5zYWN0aW9uU3RhdGVEYXRhdmlld0NvbW1hbmQpIHtcclxuICAgIHN1cGVyKGNvbW1hbmQpO1xyXG4gIH1cclxuXHJcbiAgYXN5bmMgRXhlY3V0ZSgpOiBQcm9taXNlPFJldHVyblJlc3VsdEJhc2U+IHtcclxuICAgIGlmICh0aGlzLlRhc2sgIT09IG51bGwpIHtcclxuICAgICAgbGV0IHRyYW5zYWN0aW9uOiBUcmFuc2FjdGlvbiA9IHRoaXMuVGFzay5EYXRhdmlld01hbmFnZXIuUmVtb3RlRGF0YXZpZXdNYW5hZ2VyLlRyYW5zYWN0aW9uO1xyXG4gICAgICBpZiAodHJhbnNhY3Rpb24gIT09IG51bGwpIHtcclxuICAgICAgICB0cmFuc2FjdGlvbi5PcGVuZWQgPSB0aGlzLmRhdGF2aWV3Q29tbWFuZC5UcmFuc2FjdGlvbklzT3BlbjtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIG5ldyBSZXR1cm5SZXN1bHQoKTtcclxuICB9XHJcbn1cclxuIl19
|
|
@@ -0,0 +1,274 @@
|
|
|
1
|
+
import { ApplicationException, NNumber } from '@magic-xpa/mscorelib';
|
|
2
|
+
import { Logger, StorageAttribute, StorageAttributeCheck, StrUtil } from '@magic-xpa/utils';
|
|
3
|
+
import { BlobType, ExpVal, FieldDef } from '@magic-xpa/gui';
|
|
4
|
+
import { ConstInterface } from '../ConstInterface';
|
|
5
|
+
import { FieldBase } from '../data/FieldBase';
|
|
6
|
+
export class Argument {
|
|
7
|
+
constructor(fieldOrExpValOrSrcArg) {
|
|
8
|
+
this._exp = null;
|
|
9
|
+
this._fld = null;
|
|
10
|
+
this._skip = false;
|
|
11
|
+
this._type = '\0';
|
|
12
|
+
this._val = null;
|
|
13
|
+
this._valueAttr = StorageAttribute.NONE;
|
|
14
|
+
this._valueIsNull = false;
|
|
15
|
+
if (arguments.length === 0) {
|
|
16
|
+
this.constructor_0();
|
|
17
|
+
return;
|
|
18
|
+
}
|
|
19
|
+
if (arguments.length === 1 && (fieldOrExpValOrSrcArg === null || fieldOrExpValOrSrcArg instanceof FieldBase)) {
|
|
20
|
+
this.constructor_1(fieldOrExpValOrSrcArg);
|
|
21
|
+
return;
|
|
22
|
+
}
|
|
23
|
+
if (arguments.length === 1 && (fieldOrExpValOrSrcArg === null || fieldOrExpValOrSrcArg instanceof ExpVal)) {
|
|
24
|
+
this.constructor_2(fieldOrExpValOrSrcArg);
|
|
25
|
+
return;
|
|
26
|
+
}
|
|
27
|
+
this.constructor_3(fieldOrExpValOrSrcArg);
|
|
28
|
+
}
|
|
29
|
+
constructor_0() {
|
|
30
|
+
this._type = '\0';
|
|
31
|
+
this._fld = null;
|
|
32
|
+
this._exp = null;
|
|
33
|
+
this._skip = false;
|
|
34
|
+
}
|
|
35
|
+
constructor_1(field) {
|
|
36
|
+
this._fld = field;
|
|
37
|
+
this._type = ConstInterface.ARG_TYPE_FIELD;
|
|
38
|
+
this._exp = null;
|
|
39
|
+
this._skip = false;
|
|
40
|
+
}
|
|
41
|
+
constructor_2(expVal) {
|
|
42
|
+
this._type = ConstInterface.ARG_TYPE_VALUE;
|
|
43
|
+
this._fld = null;
|
|
44
|
+
this._exp = null;
|
|
45
|
+
this._skip = false;
|
|
46
|
+
if (expVal.IsNull)
|
|
47
|
+
this._val = null;
|
|
48
|
+
else
|
|
49
|
+
this._val = expVal.ToMgVal();
|
|
50
|
+
this._valueIsNull = (this._val === null);
|
|
51
|
+
this._valueAttr = expVal.Attr;
|
|
52
|
+
}
|
|
53
|
+
constructor_3(srcArg) {
|
|
54
|
+
this._type = ConstInterface.ARG_TYPE_VALUE;
|
|
55
|
+
switch (srcArg._type) {
|
|
56
|
+
case ConstInterface.ARG_TYPE_FIELD:
|
|
57
|
+
this._valueAttr = srcArg._fld.getType();
|
|
58
|
+
break;
|
|
59
|
+
case ConstInterface.ARG_TYPE_EXP:
|
|
60
|
+
break;
|
|
61
|
+
case ConstInterface.ARG_TYPE_SKIP:
|
|
62
|
+
this._skip = true;
|
|
63
|
+
break;
|
|
64
|
+
default:
|
|
65
|
+
throw new ApplicationException("in Argument.Argument(): illegal source Argument type!");
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
async Initialize(srcArg) {
|
|
69
|
+
switch (srcArg._type) {
|
|
70
|
+
case ConstInterface.ARG_TYPE_FIELD:
|
|
71
|
+
this._val = srcArg._fld.getValue(true);
|
|
72
|
+
this._valueIsNull = srcArg._fld.isNull();
|
|
73
|
+
break;
|
|
74
|
+
case ConstInterface.ARG_TYPE_EXP:
|
|
75
|
+
let retVal = await srcArg._exp.evaluateWithResLength(255);
|
|
76
|
+
this._val = retVal.mgVal;
|
|
77
|
+
this._valueAttr = retVal.type;
|
|
78
|
+
this._valueIsNull = (this._val == null);
|
|
79
|
+
if (this._valueIsNull)
|
|
80
|
+
this._val = Argument.getEmptyValue((retVal.type === StorageAttribute.BLOB ||
|
|
81
|
+
retVal.type === StorageAttribute.BLOB_VECTOR));
|
|
82
|
+
break;
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
fillData(arg, srcTask) {
|
|
86
|
+
this._type = arg[0];
|
|
87
|
+
let argElements = arg.substr(2);
|
|
88
|
+
switch (this._type) {
|
|
89
|
+
case ConstInterface.ARG_TYPE_FIELD:
|
|
90
|
+
{
|
|
91
|
+
let fieldId = argElements.split(',');
|
|
92
|
+
let parent = NNumber.Parse(fieldId[0]);
|
|
93
|
+
let fldIdx = NNumber.Parse(fieldId[1]);
|
|
94
|
+
this._fld = srcTask.getFieldDef(parent, fldIdx);
|
|
95
|
+
}
|
|
96
|
+
break;
|
|
97
|
+
case ConstInterface.ARG_TYPE_EXP:
|
|
98
|
+
let expNum = NNumber.Parse(argElements);
|
|
99
|
+
this._exp = srcTask.getExpById(expNum);
|
|
100
|
+
break;
|
|
101
|
+
case ConstInterface.ARG_TYPE_SKIP:
|
|
102
|
+
this._skip = true;
|
|
103
|
+
break;
|
|
104
|
+
default:
|
|
105
|
+
Logger.Instance.WriteExceptionToLogWithMsg("in Argument.FillData() illegal type: " + arg);
|
|
106
|
+
break;
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
buildXML(message) {
|
|
110
|
+
switch (this._type) {
|
|
111
|
+
case ConstInterface.ARG_TYPE_FIELD:
|
|
112
|
+
message.Append("F:" + this._fld.getTask().getTaskTag() + "," + this._fld.getId());
|
|
113
|
+
break;
|
|
114
|
+
case ConstInterface.ARG_TYPE_EXP:
|
|
115
|
+
message.Append("E:" + this._exp.getId());
|
|
116
|
+
break;
|
|
117
|
+
case ConstInterface.ARG_TYPE_SKIP:
|
|
118
|
+
message.Append("X:0");
|
|
119
|
+
break;
|
|
120
|
+
default:
|
|
121
|
+
Logger.Instance.WriteExceptionToLogWithMsg("in Argument.buildXML() illegal type: " + this._type);
|
|
122
|
+
break;
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
getType() {
|
|
126
|
+
return this._type;
|
|
127
|
+
}
|
|
128
|
+
getField() {
|
|
129
|
+
if (this._type === ConstInterface.ARG_TYPE_FIELD)
|
|
130
|
+
return this._fld;
|
|
131
|
+
return null;
|
|
132
|
+
}
|
|
133
|
+
getExp() {
|
|
134
|
+
if (this._type === ConstInterface.ARG_TYPE_EXP)
|
|
135
|
+
return this._exp;
|
|
136
|
+
return null;
|
|
137
|
+
}
|
|
138
|
+
async setValueToField(destFld) {
|
|
139
|
+
let val;
|
|
140
|
+
let isNull;
|
|
141
|
+
switch (this._type) {
|
|
142
|
+
case ConstInterface.ARG_TYPE_FIELD:
|
|
143
|
+
val = this._fld.getValue(true);
|
|
144
|
+
val = Argument.convertArgs(val, this._fld.getType(), destFld.getType());
|
|
145
|
+
isNull = this._fld.isNull() || val == null;
|
|
146
|
+
break;
|
|
147
|
+
case ConstInterface.ARG_TYPE_EXP:
|
|
148
|
+
val = await this._exp.evaluateWithResultTypeAndLength(destFld.getType(), destFld.getSize());
|
|
149
|
+
isNull = (val == null);
|
|
150
|
+
if (isNull)
|
|
151
|
+
val = Argument.getEmptyValue((destFld.getType() === StorageAttribute.BLOB ||
|
|
152
|
+
destFld.getType() === StorageAttribute.BLOB_VECTOR));
|
|
153
|
+
break;
|
|
154
|
+
case ConstInterface.ARG_TYPE_VALUE:
|
|
155
|
+
val = Argument.convertArgs(this._val, this._valueAttr, destFld.getType());
|
|
156
|
+
isNull = this._valueIsNull || val == null;
|
|
157
|
+
break;
|
|
158
|
+
default:
|
|
159
|
+
return;
|
|
160
|
+
}
|
|
161
|
+
destFld.takeValFromRec();
|
|
162
|
+
await destFld.setValueAndStartRecompute(val, isNull, destFld.getTask().DataViewWasRetrieved, false, true);
|
|
163
|
+
}
|
|
164
|
+
static convertArgs(value, srcAttr, expectedType) {
|
|
165
|
+
let invalidArg = false;
|
|
166
|
+
switch (expectedType) {
|
|
167
|
+
case StorageAttribute.ALPHA:
|
|
168
|
+
case StorageAttribute.UNICODE:
|
|
169
|
+
if (srcAttr === StorageAttribute.BLOB) {
|
|
170
|
+
if (BlobType.isValidBlob(value))
|
|
171
|
+
value = BlobType.getString(value);
|
|
172
|
+
}
|
|
173
|
+
else if (!StorageAttributeCheck.IsTypeAlphaOrUnicode(srcAttr))
|
|
174
|
+
invalidArg = true;
|
|
175
|
+
break;
|
|
176
|
+
case StorageAttribute.NUMERIC:
|
|
177
|
+
case StorageAttribute.DATE:
|
|
178
|
+
case StorageAttribute.TIME:
|
|
179
|
+
if (!StorageAttributeCheck.isTypeNumeric(srcAttr))
|
|
180
|
+
invalidArg = true;
|
|
181
|
+
break;
|
|
182
|
+
case StorageAttribute.BLOB:
|
|
183
|
+
if (StorageAttributeCheck.IsTypeAlphaOrUnicode(srcAttr)) {
|
|
184
|
+
let contentType = srcAttr === StorageAttribute.ALPHA
|
|
185
|
+
? BlobType.CONTENT_TYPE_ANSI
|
|
186
|
+
: BlobType.CONTENT_TYPE_UNICODE;
|
|
187
|
+
value = BlobType.createFromString(value, contentType);
|
|
188
|
+
}
|
|
189
|
+
else if (!StorageAttributeCheck.isTypeBlob(srcAttr))
|
|
190
|
+
invalidArg = true;
|
|
191
|
+
break;
|
|
192
|
+
}
|
|
193
|
+
if (invalidArg)
|
|
194
|
+
value = FieldDef.getMagicDefaultValue(expectedType);
|
|
195
|
+
return value;
|
|
196
|
+
}
|
|
197
|
+
async getValue(expType, expSize) {
|
|
198
|
+
switch (this._type) {
|
|
199
|
+
case ConstInterface.ARG_TYPE_EXP:
|
|
200
|
+
this._val = await this._exp.evaluateWithResultTypeAndLength(expType, expSize);
|
|
201
|
+
if (this._val == null)
|
|
202
|
+
this._val = Argument.getEmptyValue(expType === StorageAttribute.BLOB
|
|
203
|
+
|| expType === StorageAttribute.BLOB_VECTOR);
|
|
204
|
+
break;
|
|
205
|
+
case ConstInterface.ARG_TYPE_FIELD:
|
|
206
|
+
this._val = this._fld.getValue(true);
|
|
207
|
+
break;
|
|
208
|
+
case ConstInterface.ARG_TYPE_VALUE:
|
|
209
|
+
break;
|
|
210
|
+
default:
|
|
211
|
+
return null;
|
|
212
|
+
}
|
|
213
|
+
return this._val;
|
|
214
|
+
}
|
|
215
|
+
skipArg() {
|
|
216
|
+
return this._skip;
|
|
217
|
+
}
|
|
218
|
+
fillDataByParams(paramValueAttr, paramValue, paramNull) {
|
|
219
|
+
this._valueAttr = paramValueAttr;
|
|
220
|
+
this._val = paramValue;
|
|
221
|
+
this._valueIsNull = paramNull;
|
|
222
|
+
if (this._valueAttr === StorageAttribute.SKIP) {
|
|
223
|
+
this._type = ConstInterface.ARG_TYPE_SKIP;
|
|
224
|
+
this._skip = true;
|
|
225
|
+
}
|
|
226
|
+
else {
|
|
227
|
+
this._type = ConstInterface.ARG_TYPE_VALUE;
|
|
228
|
+
}
|
|
229
|
+
}
|
|
230
|
+
static getEmptyValue(isBlob) {
|
|
231
|
+
return isBlob ? (BlobType.getEmptyBlobPrefix('\0') + ";") : "";
|
|
232
|
+
}
|
|
233
|
+
FillFromString(argStr) {
|
|
234
|
+
this._type = ConstInterface.ARG_TYPE_VALUE;
|
|
235
|
+
let argType = null;
|
|
236
|
+
if (argStr.length > 2)
|
|
237
|
+
argType = argStr.substr(0, 2);
|
|
238
|
+
switch (argType) {
|
|
239
|
+
case ConstInterface.REQ_ARG_ALPHA:
|
|
240
|
+
this._valueAttr = StorageAttribute.ALPHA;
|
|
241
|
+
break;
|
|
242
|
+
case ConstInterface.REQ_ARG_UNICODE:
|
|
243
|
+
this._valueAttr = StorageAttribute.UNICODE;
|
|
244
|
+
break;
|
|
245
|
+
case ConstInterface.REQ_ARG_NUMERIC:
|
|
246
|
+
this._valueAttr = StorageAttribute.NUMERIC;
|
|
247
|
+
break;
|
|
248
|
+
case ConstInterface.REQ_ARG_DOUBLE:
|
|
249
|
+
this._valueAttr = StorageAttribute.NUMERIC;
|
|
250
|
+
break;
|
|
251
|
+
case ConstInterface.REQ_ARG_LOGICAL:
|
|
252
|
+
this._valueAttr = StorageAttribute.BOOLEAN;
|
|
253
|
+
break;
|
|
254
|
+
case ConstInterface.REQ_ARG_NULL:
|
|
255
|
+
this._valueAttr = StorageAttribute.NONE;
|
|
256
|
+
break;
|
|
257
|
+
default:
|
|
258
|
+
this._valueAttr = StorageAttribute.ALPHA;
|
|
259
|
+
this._val = argStr;
|
|
260
|
+
return;
|
|
261
|
+
}
|
|
262
|
+
this._val = argStr.substr(2);
|
|
263
|
+
}
|
|
264
|
+
makeURLPrintable(source) {
|
|
265
|
+
let from = [
|
|
266
|
+
"\\", "\0", ","
|
|
267
|
+
];
|
|
268
|
+
let to = [
|
|
269
|
+
"\\\\", "\\0", "\\,"
|
|
270
|
+
];
|
|
271
|
+
return StrUtil.searchAndReplace(source, from, to);
|
|
272
|
+
}
|
|
273
|
+
}
|
|
274
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQXJndW1lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lbmdpbmUvc3JjL3J0L0FyZ3VtZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxPQUFPLEVBQWlCLE1BQU0sc0JBQXNCLENBQUM7QUFDcEYsT0FBTyxFQUFFLE1BQU0sRUFBRSxnQkFBZ0IsRUFBRSxxQkFBcUIsRUFBRSxPQUFPLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUM1RixPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUc1RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDbkQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBRzlDLE1BQU0sT0FBTyxRQUFRO0lBYW5CLFlBQVkscUJBQTJCO1FBWi9CLFNBQUksR0FBZSxJQUFJLENBQUM7UUFDeEIsU0FBSSxHQUFjLElBQUksQ0FBQztRQUN2QixVQUFLLEdBQVksS0FBSyxDQUFDO1FBQ3ZCLFVBQUssR0FBVyxJQUFJLENBQUM7UUFDckIsU0FBSSxHQUFXLElBQUksQ0FBQztRQUNwQixlQUFVLEdBQXFCLGdCQUFnQixDQUFDLElBQUksQ0FBQztRQUNyRCxpQkFBWSxHQUFZLEtBQUssQ0FBQztRQU9wQyxJQUFJLFNBQVMsQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFO1lBQzFCLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztZQUNyQixPQUFPO1NBQ1I7UUFDRCxJQUFJLFNBQVMsQ0FBQyxNQUFNLEtBQUssQ0FBQyxJQUFJLENBQUMscUJBQXFCLEtBQUssSUFBSSxJQUFJLHFCQUFxQixZQUFZLFNBQVMsQ0FBQyxFQUFFO1lBQzVHLElBQUksQ0FBQyxhQUFhLENBQUMscUJBQXFCLENBQUMsQ0FBQztZQUMxQyxPQUFPO1NBQ1I7UUFD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LCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBcHBsaWNhdGlvbkV4Y2VwdGlvbiwgTk51bWJlciwgU3RyaW5nQnVpbGRlciB9IGZyb20gJ0BtYWdpYy14cGEvbXNjb3JlbGliJztcclxuaW1wb3J0IHsgTG9nZ2VyLCBTdG9yYWdlQXR0cmlidXRlLCBTdG9yYWdlQXR0cmlidXRlQ2hlY2ssIFN0clV0aWwgfSBmcm9tICdAbWFnaWMteHBhL3V0aWxzJztcclxuaW1wb3J0IHsgQmxvYlR5cGUsIEV4cFZhbCwgRmllbGREZWYgfSBmcm9tICdAbWFnaWMteHBhL2d1aSc7XHJcbmltcG9ydCB7IEV4cHJlc3Npb24gfSBmcm9tICcuLi9leHAvRXhwcmVzc2lvbic7XHJcbmltcG9ydCB7IFRhc2sgfSBmcm9tICcuLi90YXNrcy9UYXNrJztcclxuaW1wb3J0IHsgQ29uc3RJbnRlcmZhY2UgfSBmcm9tICcuLi9Db25zdEludGVyZmFjZSc7XHJcbmltcG9ydCB7IEZpZWxkQmFzZSB9IGZyb20gJy4uL2RhdGEvRmllbGRCYXNlJztcclxuXHJcblxyXG5leHBvcnQgY2xhc3MgQXJndW1lbnQge1xyXG4gIHByaXZhdGUgX2V4cDogRXhwcmVzc2lvbiA9IG51bGw7XHJcbiAgcHJpdmF0ZSBfZmxkOiBGaWVsZEJhc2UgPSBudWxsO1xyXG4gIHByaXZhdGUgX3NraXA6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBwcml2YXRlIF90eXBlOiBzdHJpbmcgPSAnXFwwJzsgLy8gRmllbGRCYXNlfEV4cHJlc3Npb258VmFsdWVcclxuICBwcml2YXRlIF92YWw6IHN0cmluZyA9IG51bGw7XHJcbiAgcHJpdmF0ZSBfdmFsdWVBdHRyOiBTdG9yYWdlQXR0cmlidXRlID0gU3RvcmFnZUF0dHJpYnV0ZS5OT05FOyAvLyB0cnVlIGlzIGFyZ3VtZW50IGlzIG9mIHR5cGUgQVJHX1RZUEVfVkFMVUUgYW5kXHJcbiAgcHJpdmF0ZSBfdmFsdWVJc051bGw6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgY29uc3RydWN0b3IoKTtcclxuICBjb25zdHJ1Y3RvcihmaWVsZDogRmllbGRCYXNlKTtcclxuICBjb25zdHJ1Y3RvcihleHBWYWw6IEV4cFZhbCk7XHJcbiAgY29uc3RydWN0b3Ioc3JjQXJnOiBBcmd1bWVudCk7XHJcbiAgY29uc3RydWN0b3IoZmllbGRPckV4cFZhbE9yU3JjQXJnPzogYW55KSB7XHJcbiAgICBpZiAoYXJndW1lbnRzLmxlbmd0aCA9PT0gMCkge1xyXG4gICAgICB0aGlzLmNvbnN0cnVjdG9yXzAoKTtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgaWYgKGFyZ3VtZW50cy5sZW5ndGggPT09IDEgJiYgKGZpZWxkT3JFeHBWYWxPclNyY0FyZyA9PT0gbnVsbCB8fCBmaWVsZE9yRXhwVmFsT3JTcmNBcmcgaW5zdGFuY2VvZiBGaWVsZEJhc2UpKSB7XHJcbiAgICAgIHRoaXMuY29uc3RydWN0b3JfMShmaWVsZE9yRXhwVmFsT3JTcmNBcmcpO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICBpZiAoYXJndW1lbnRzLmxlbmd0aCA9PT0gMSAmJiAoZmllbGRPckV4cFZhbE9yU3JjQXJnID09PSBudWxsIHx8IGZpZWxkT3JFeHBWYWxPclNyY0FyZyBpbnN0YW5jZW9mIEV4cFZhbCkpIHtcclxuICAgICAgdGhpcy5jb25zdHJ1Y3Rvcl8yKGZpZWxkT3JFeHBWYWxPclNyY0FyZyk7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIHRoaXMuY29uc3RydWN0b3JfMyhmaWVsZE9yRXhwVmFsT3JTcmNBcmcpO1xyXG4gIH1cclxuXHJcbiAgLy8vIDxzdW1tYXJ5PlxyXG4gIC8vLyAgIENUT1JcclxuICAvLy8gPC9zdW1tYXJ5PlxyXG4gIHByaXZhdGUgY29uc3RydWN0b3JfMCgpOiB2b2lkIHtcclxuICAgIHRoaXMuX3R5cGUgPSAnXFwwJy8qJ1x1MDAwMCcqLztcclxuICAgIHRoaXMuX2ZsZCA9IG51bGw7XHJcbiAgICB0aGlzLl9leHAgPSBudWxsO1xyXG4gICAgdGhpcy5fc2tpcCA9IGZhbHNlO1xyXG4gIH1cclxuXHJcbiAgLy8vIDxzdW1tYXJ5PlxyXG4gIC8vLyBDVE9SIC0gY3JlYXRlIGFuIGFyZ3VtZW50IGZyb20gYSBmaWVsZFxyXG4gIC8vLyA8L3N1bW1hcnk+XHJcbiAgcHJpdmF0ZSBjb25zdHJ1Y3Rvcl8xKGZpZWxkOiBGaWVsZEJhc2UpOiB2b2lkIHtcclxuICAgIHRoaXMuX2ZsZCA9IGZpZWxkO1xyXG4gICAgdGhpcy5fdHlwZSA9IENvbnN0SW50ZXJmYWNlLkFSR19UWVBFX0ZJRUxEIC8qJ0YnKi87XHJcbiAgICB0aGlzLl9leHAgPSBudWxsO1xyXG4gICAgdGhpcy5fc2tpcCA9IGZhbHNlO1xyXG4gIH1cclxuXHJcbiAgLy8vIDxzdW1tYXJ5PlxyXG4gIC8vLyAgIENUT1IgdGhhdCBjcmVhdGVzIGEgXCJWYWx1ZVwiIHR5cGUgYXJndW1lbnQgZnJvbSBhIGdpdmVuIEV4cHJlc3Npb24gVmFsdWVcclxuICAvLy8gPC9zdW1tYXJ5PlxyXG4gIC8vLyA8cGFyYW0gbmFtZSA9IFwiZXhwVmFsXCI+dGhlIHNvdXJjZSBleHByZXNzaW9uIHZhbHVlPC9wYXJhbT5cclxuICBwcml2YXRlIGNvbnN0cnVjdG9yXzIoZXhwVmFsOiBFeHBWYWwpOiB2b2lkIHtcclxuICAgIHRoaXMuX3R5cGUgPSBDb25zdEludGVyZmFjZS5BUkdfVFlQRV9WQUxVRTtcclxuICAgIHRoaXMuX2ZsZCA9IG51bGw7XHJcbiAgICB0aGlzLl9leHAgPSBudWxsO1xyXG4gICAgdGhpcy5fc2tpcCA9IGZhbHNlO1xyXG5cclxuICAgIGlmIChleHBWYWwuSXNOdWxsKVxyXG4gICAgICB0aGlzLl92YWwgPSBudWxsO1xyXG4gICAgZWxzZVxyXG4gICAgICB0aGlzLl92YWwgPSBleHBWYWwuVG9NZ1ZhbCgpO1xyXG5cclxuICAgIHRoaXMuX3ZhbHVlSXNOdWxsID0gKHRoaXMuX3ZhbCA9PT0gbnVsbCk7XHJcbiAgICB0aGlzLl92YWx1ZUF0dHIgPSBleHBWYWwuQXR0cjtcclxuICB9XHJcblxyXG4gIC8vLyA8c3VtbWFyeT5cclxuICAvLy8gICBDVE9SIHRoYXQgY3JlYXRlcyBhIFwiVmFsdWVcIiB0eXBlIGFyZ3VtZW50IGZyb20gYSBnaXZlbiBGaWVsZEJhc2Ugb3IgRXhwcmVzc2lvbiB0eXBlXHJcbiAgLy8vICAgYXJndW1lbnRcclxuICAvLy8gPC9zdW1tYXJ5PlxyXG4gIC8vLyA8cGFyYW0gbmFtZSA9IFwic3JjQXJnXCI+dGhlIHNvdXJjZSBhcmd1bWVudDwvcGFyYW0+XHJcbiAgY29uc3RydWN0b3JfMyhzcmNBcmc6IEFyZ3VtZW50KSB7XHJcbiAgICB0aGlzLl90eXBlID0gQ29uc3RJbnRlcmZhY2UuQVJHX1RZUEVfVkFMVUU7XHJcblxyXG4gICAgc3dpdGNoIChzcmNBcmcuX3R5cGUpIHtcclxuICAgICAgY2FzZSBDb25zdEludGVyZmFjZS5BUkdfVFlQRV9GSUVMRDpcclxuICAgICAgICB0aGlzLl92YWx1ZUF0dHIgPSBzcmNBcmcuX2ZsZC5nZXRUeXBlKCk7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgQ29uc3RJbnRlcmZhY2UuQVJHX1RZUEVfRVhQOlxyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlIENvbnN0SW50ZXJmYWNlLkFSR19UWVBFX1NLSVA6XHJcbiAgICAgICAgdGhpcy5fc2tpcCA9IHRydWU7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgdGhyb3cgbmV3IEFwcGxpY2F0aW9uRXhjZXB0aW9uKFwiaW4gQXJndW1lbnQuQXJndW1lbnQoKTogaWxsZWdhbCBzb3VyY2UgQXJndW1lbnQgdHlwZSFcIik7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgSW5pdGlhbGl6ZShzcmNBcmc6IEFyZ3VtZW50KTogUHJvbWlzZTx2b2lkPntcclxuICAgIHN3aXRjaCAoc3JjQXJnLl90eXBlKSB7XHJcbiAgICAgIGNhc2UgQ29uc3RJbnRlcmZhY2UuQVJHX1RZUEVfRklFTEQ6XHJcbiAgICAgICAgdGhpcy5fdmFsID0gc3JjQXJnLl9mbGQuZ2V0VmFsdWUodHJ1ZSk7XHJcbiAgICAgICAgdGhpcy5fdmFsdWVJc051bGwgPSBzcmNBcmcuX2ZsZC5pc051bGwoKTtcclxuICAgICAgICBicmVhaztcclxuXHJcbiAgICAgIGNhc2UgQ29uc3RJbnRlcmZhY2UuQVJHX1RZUEVfRVhQOlxyXG4gICAgICAgIGxldCByZXRWYWwgPSBhd2FpdCBzcmNBcmcuX2V4cC5ldmFsdWF0ZVdpdGhSZXNMZW5ndGgoMjU1KTtcclxuICAgICAgICB0aGlzLl92YWwgPSByZXRWYWwubWdWYWw7XHJcbiAgICAgICAgdGhpcy5fdmFsdWVBdHRyID0gcmV0VmFsLnR5cGU7XHJcbiAgICAgICAgdGhpcy5fdmFsdWVJc051bGwgPSAodGhpcy5fdmFsID09IG51bGwpO1xyXG4gICAgICAgIGlmICh0aGlzLl92YWx1ZUlzTnVsbClcclxuICAgICAgICAgIHRoaXMuX3ZhbCA9IEFyZ3VtZW50LmdldEVtcHR5VmFsdWUoKHJldFZhbC50eXBlID09PSBTdG9yYWdlQXR0cmlidXRlLkJMT0IgfHxcclxuICAgICAgICAgICAgcmV0VmFsLnR5cGUgPT09IFN0b3JhZ2VBdHRyaWJ1dGUuQkxPQl9WRUNUT1IpKTtcclxuICAgICAgICBicmVhaztcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8vLyA8c3VtbWFyeT5cclxuICAvLy8gICBQYXJzaW5nIEFyZ3VtZW50IHN0cmluZyBhbmQgZmlsbCBpbm5lciBvYmplY3RzXHJcbiAgLy8vIDwvc3VtbWFyeT5cclxuICAvLy8gPHBhcmFtIG5hbWUgPSBcImFyZ1wiPnN0cmluZyB0byBwYXJzZSA8L3BhcmFtPlxyXG4gIC8vLyA8cGFyYW0gbmFtZSA9IFwic3JjVGFza1wiPm9mIHRoZSBhcmd1bWVudCB0byBmaW5kIGV4cHJlc3Npb24gYXJndW1lbnQgPC9wYXJhbT5cclxuICBwdWJsaWMgZmlsbERhdGEoYXJnOiBTdHJpbmcsIHNyY1Rhc2s6IFRhc2spOiB2b2lkIHtcclxuICAgIHRoaXMuX3R5cGUgPSBhcmdbMF07XHJcbiAgICBsZXQgYXJnRWxlbWVudHM6IHN0cmluZyA9IGFyZy5zdWJzdHIoMik7XHJcblxyXG4gICAgc3dpdGNoICh0aGlzLl90eXBlKSB7XHJcbiAgICAgIGNhc2UgQ29uc3RJbnRlcmZhY2UuQVJHX1RZUEVfRklFTEQ6IHtcclxuICAgICAgICBsZXQgZmllbGRJZDogc3RyaW5nW10gPSBhcmdFbGVtZW50cy5zcGxpdCgnLCcpO1xyXG4gICAgICAgIGxldCBwYXJlbnQ6IG51bWJlciA9ICBOTnVtYmVyLlBhcnNlKGZpZWxkSWRbMF0pO1xyXG4gICAgICAgIGxldCBmbGRJZHg6IG51bWJlciA9ICBOTnVtYmVyLlBhcnNlKGZpZWxkSWRbMV0pO1xyXG4gICAgICAgIHRoaXMuX2ZsZCA9IDxGaWVsZEJhc2U+c3JjVGFzay5nZXRGaWVsZERlZihwYXJlbnQsIGZsZElkeCk7XHJcbiAgICAgIH1cclxuICAgICAgICBicmVhaztcclxuXHJcbiAgICAgIGNhc2UgQ29uc3RJbnRlcmZhY2UuQVJHX1RZUEVfRVhQOlxyXG4gICAgICAgIGxldCBleHBOdW06IG51bWJlciA9IE5OdW1iZXIuUGFyc2UoYXJnRWxlbWVudHMpO1xyXG4gICAgICAgIHRoaXMuX2V4cCA9IHNyY1Rhc2suZ2V0RXhwQnlJZChleHBOdW0pO1xyXG4gICAgICAgIGJyZWFrO1xyXG5cclxuICAgICAgY2FzZSBDb25zdEludGVyZmFjZS5BUkdfVFlQRV9TS0lQOlxyXG4gICAgICAgIHRoaXMuX3NraXAgPSB0cnVlO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBkZWZhdWx0OlxyXG4gICAgICAgIExvZ2dlci5JbnN0YW5jZS5Xcml0ZUV4Y2VwdGlvblRvTG9nV2l0aE1zZyhcImluIEFyZ3VtZW50LkZpbGxEYXRhKCkgaWxsZWdhbCB0eXBlOiBcIiArIGFyZyk7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvLy8gPHN1bW1hcnk+XHJcbiAgLy8vICAgYnVpbGQgdGhlIFhNTCBzdHJpbmcgZm9yIHRoZSBhcmd1bWVudFxyXG4gIC8vLyA8L3N1bW1hcnk+XHJcbiAgLy8vIDxwYXJhbSBuYW1lID0gXCJtZXNzYWdlXCI+dGhlIFhNTCBzdHJpbmcgdG8gYXBwZW5kIHRoZSBhcmd1bWVudCB0bzwvcGFyYW0+XHJcbiAgcHVibGljIGJ1aWxkWE1MKG1lc3NhZ2U6IFN0cmluZ0J1aWxkZXIpOiB2b2lkIHtcclxuICAgIHN3aXRjaCAodGhpcy5fdHlwZSkge1xyXG4gICAgICBjYXNlIENvbnN0SW50ZXJmYWNlLkFSR19UWVBFX0ZJRUxEOlxyXG4gICAgICAgIG1lc3NhZ2UuQXBwZW5kKFwiRjpcIiArIHRoaXMuX2ZsZC5nZXRUYXNrKCkuZ2V0VGFza1RhZygpICsgXCIsXCIgKyB0aGlzLl9mbGQuZ2V0SWQoKSk7XHJcbiAgICAgICAgYnJlYWs7XHJcblxyXG4gICAgICBjYXNlIENvbnN0SW50ZXJmYWNlLkFSR19UWVBFX0VYUDpcclxuICAgICAgICBtZXNzYWdlLkFwcGVuZChcIkU6XCIgKyB0aGlzLl9leHAuZ2V0SWQoKSk7XHJcbiAgICAgICAgYnJlYWs7XHJcblxyXG4gICAgICBjYXNlIENvbnN0SW50ZXJmYWNlLkFSR19UWVBFX1NLSVA6XHJcbiAgICAgICAgbWVzc2FnZS5BcHBlbmQoXCJYOjBcIik7XHJcbiAgICAgICAgYnJlYWs7XHJcblxyXG4gICAgICBkZWZhdWx0OlxyXG4gICAgICAgIExvZ2dlci5JbnN0YW5jZS5Xcml0ZUV4Y2VwdGlvblRvTG9nV2l0aE1zZyhcImluIEFyZ3VtZW50LmJ1aWxkWE1MKCkgaWxsZWdhbCB0eXBlOiBcIiArIHRoaXMuX3R5cGUpO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLy8vIDxzdW1tYXJ5PlxyXG4gIC8vLyAgIHJldHVybnMgdGhlIHR5cGUgb2YgdGhlIGFyZ3VtZW50XHJcbiAgLy8vIDwvc3VtbWFyeT5cclxuICBnZXRUeXBlKCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gdGhpcy5fdHlwZTtcclxuICB9XHJcblxyXG4gIC8vLyA8c3VtbWFyeT5cclxuICAvLy8gICBmb3IgZmllbGQgdHlwZSBhcmd1bWVudHMgcmV0dXJucyBhIHJlZmVyZW5jZSB0byB0aGUgZmllbGRcclxuICAvLy8gPC9zdW1tYXJ5PlxyXG4gIGdldEZpZWxkKCk6IEZpZWxkQmFzZSB7XHJcbiAgICBpZiAodGhpcy5fdHlwZSA9PT0gQ29uc3RJbnRlcmZhY2UuQVJHX1RZUEVfRklFTEQpXHJcbiAgICAgIHJldHVybiB0aGlzLl9mbGQ7XHJcbiAgICByZXR1cm4gbnVsbDtcclxuICB9XHJcblxyXG4gIC8vLyA8c3VtbWFyeT5cclxuICAvLy8gICBmb3IgZXhwcmVzc2lvbiB0eXBlIGFyZ3VtZW50cyByZXR1cm5zIGEgcmVmZXJlbmNlIHRvIHRoZSBleHByZXNzaW9uXHJcbiAgLy8vIDwvc3VtbWFyeT5cclxuICBwcm90ZWN0ZWQgZ2V0RXhwKCk6IEV4cHJlc3Npb24ge1xyXG4gICAgaWYgKHRoaXMuX3R5cGUgPT09IENvbnN0SW50ZXJmYWNlLkFSR19UWVBFX0VYUClcclxuICAgICAgcmV0dXJuIHRoaXMuX2V4cDtcclxuICAgIHJldHVybiBudWxsO1xyXG4gIH1cclxuXHJcbiAgLy8vIDxzdW1tYXJ5PlxyXG4gIC8vLyAgIHNldCB0aGUgdmFsdWUgb2YgdGhpcyBhcmd1bWVudCB0byBhIGdpdmVuIGZpZWxkXHJcbiAgLy8vIDwvc3VtbWFyeT5cclxuICAvLy8gPHBhcmFtIG5hbWUgPSBcImRlc3RGbGRcIj50aGUgZGVzdGluYXRpb24gZmllbGRcclxuICAvLy8gPC9wYXJhbT5cclxuICBwdWJsaWMgYXN5bmMgc2V0VmFsdWVUb0ZpZWxkKGRlc3RGbGQ6IEZpZWxkQmFzZSk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgbGV0IHZhbDogc3RyaW5nO1xyXG4gICAgbGV0IGlzTnVsbDogYm9vbGVhbjtcclxuXHJcbiAgICBzd2l0Y2ggKHRoaXMuX3R5cGUpIHtcclxuICAgICAgY2FzZSBDb25zdEludGVyZmFjZS5BUkdfVFlQRV9GSUVMRDpcclxuICAgICAgICB2YWwgPSB0aGlzLl9mbGQuZ2V0VmFsdWUodHJ1ZSk7XHJcbiAgICAgICAgdmFsID0gQXJndW1lbnQuY29udmVydEFyZ3ModmFsLCB0aGlzLl9mbGQuZ2V0VHlwZSgpLCBkZXN0RmxkLmdldFR5cGUoKSk7XHJcbiAgICAgICAgaXNOdWxsID0gdGhpcy5fZmxkLmlzTnVsbCgpIHx8IHZhbCA9PSBudWxsO1xyXG4gICAgICAgIGJyZWFrO1xyXG5cclxuICAgICAgY2FzZSBDb25zdEludGVyZmFjZS5BUkdfVFlQRV9FWFA6XHJcbiAgICAgICAgdmFsID0gYXdhaXQgdGhpcy5fZXhwLmV2YWx1YXRlV2l0aFJlc3VsdFR5cGVBbmRMZW5ndGgoZGVzdEZsZC5nZXRUeXBlKCksIGRlc3RGbGQuZ2V0U2l6ZSgpKTtcclxuICAgICAgICBpc051bGwgPSAodmFsID09IG51bGwpO1xyXG4gICAgICAgIGlmIChpc051bGwpXHJcbiAgICAgICAgICB2YWwgPSBBcmd1bWVudC5nZXRFbXB0eVZhbHVlKChkZXN0RmxkLmdldFR5cGUoKSA9PT0gU3RvcmFnZUF0dHJpYnV0ZS5CTE9CIHx8XHJcbiAgICAgICAgICAgIGRlc3RGbGQuZ2V0VHlwZSgpID09PSBTdG9yYWdlQXR0cmlidXRlLkJMT0JfVkVDVE9SKSk7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgQ29uc3RJbnRlcmZhY2UuQVJHX1RZUEVfVkFMVUU6XHJcbiAgICAgICAgdmFsID0gQXJndW1lbnQuY29udmVydEFyZ3ModGhpcy5fdmFsLCB0aGlzLl92YWx1ZUF0dHIsIGRlc3RGbGQuZ2V0VHlwZSgpKTtcclxuICAgICAgICBpc051bGwgPSB0aGlzLl92YWx1ZUlzTnVsbCB8fCB2YWwgPT0gbnVsbDtcclxuICAgICAgICBicmVhaztcclxuICAgICAgZGVmYXVsdDpcclxuICAgICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICAvLyBVcGRhdGUgZGVzdGluYXRpb24gZmllbGQncyBfaXNOVUxMIHdpdGggdGhlIHZhbHVlIGZyb20gcmVjb3JkLiBUaGlzIGlzIG5lZWRlZCB0byBpZGVudGlmeVxyXG4gICAgLy8gaWYgdGhlIHZhcmlhYmxlIGlzIG1vZGlmaWVkLlxyXG4gICAgZGVzdEZsZC50YWtlVmFsRnJvbVJlYygpO1xyXG4gICAgYXdhaXQgZGVzdEZsZC5zZXRWYWx1ZUFuZFN0YXJ0UmVjb21wdXRlKHZhbCwgaXNOdWxsLCAoPFRhc2s+ZGVzdEZsZC5nZXRUYXNrKCkpLkRhdGFWaWV3V2FzUmV0cmlldmVkLCBmYWxzZSwgdHJ1ZSk7XHJcbiAgfVxyXG5cclxuICAvLy8gPHN1bW1hcnk+XHJcbiAgLy8vIGNvbnZlcnRzIEFscGhhL1VuaWNvZGUgdmFsdWVzIHRvIEJsb2IgYW5kIHZpY2UgdmVyc2EuXHJcbiAgLy8vIDwvc3VtbWFyeT5cclxuICAvLy8gPHBhcmFtIG5hbWU9XCJ2YWx1ZVwiPjwvcGFyYW0+XHJcbiAgLy8vIDxwYXJhbSBuYW1lPVwic3JjQXR0clwiPjwvcGFyYW0+XHJcbiAgLy8vIDxwYXJhbSBuYW1lPVwiZXhwZWN0ZWRUeXBlXCI+PC9wYXJhbT5cclxuICAvLy8gPHJldHVybnM+PC9yZXR1cm5zPlxyXG4gIHB1YmxpYyBzdGF0aWMgY29udmVydEFyZ3ModmFsdWU6IHN0cmluZywgc3JjQXR0cjogU3RvcmFnZUF0dHJpYnV0ZSwgZXhwZWN0ZWRUeXBlOiBTdG9yYWdlQXR0cmlidXRlKTogc3RyaW5nIHtcclxuICAgIGxldCBpbnZhbGlkQXJnOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gICAgc3dpdGNoIChleHBlY3RlZFR5cGUpIHtcclxuICAgICAgY2FzZSBTdG9yYWdlQXR0cmlidXRlLkFMUEhBOlxyXG4gICAgICBjYXNlIFN0b3JhZ2VBdHRyaWJ1dGUuVU5JQ09ERTpcclxuICAgICAgICBpZiAoc3JjQXR0ciA9PT0gU3RvcmFnZUF0dHJpYnV0ZS5CTE9CKSB7XHJcbiAgICAgICAgICBpZiAoQmxvYlR5cGUuaXNWYWxpZEJsb2IodmFsdWUpKVxyXG4gICAgICAgICAgICB2YWx1ZSA9IEJsb2JUeXBlLmdldFN0cmluZyh2YWx1ZSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2UgaWYgKCFTdG9yYWdlQXR0cmlidXRlQ2hlY2suSXNUeXBlQWxwaGFPclVuaWNvZGUoc3JjQXR0cikpXHJcbiAgICAgICAgICBpbnZhbGlkQXJnID0gdHJ1ZTtcclxuICAgICAgICBicmVhaztcclxuXHJcbiAgICAgIGNhc2UgU3RvcmFnZUF0dHJpYnV0ZS5OVU1FUklDOlxyXG4gICAgICBjYXNlIFN0b3JhZ2VBdHRyaWJ1dGUuREFURTpcclxuICAgICAgY2FzZSBTdG9yYWdlQXR0cmlidXRlLlRJTUU6XHJcbiAgICAgICAgaWYgKCFTdG9yYWdlQXR0cmlidXRlQ2hlY2suaXNUeXBlTnVtZXJpYyhzcmNBdHRyKSlcclxuICAgICAgICAgIGludmFsaWRBcmcgPSB0cnVlO1xyXG4gICAgICAgIGJyZWFrO1xyXG5cclxuICAgICAgY2FzZSBTdG9yYWdlQXR0cmlidXRlLkJMT0I6XHJcbiAgICAgICAgaWYgKFN0b3JhZ2VBdHRyaWJ1dGVDaGVjay5Jc1R5cGVBbHBoYU9yVW5pY29kZShzcmNBdHRyKSkge1xyXG4gICAgICAgICAgbGV0IGNvbnRlbnRUeXBlOiBzdHJpbmcgPSBzcmNBdHRyID09PSBTdG9yYWdlQXR0cmlidXRlLkFMUEhBXHJcbiAgICAgICAgICAgID8gQmxvYlR5cGUuQ09OVEVOVF9UWVBFX0FOU0lcclxuICAgICAgICAgICAgOiBCbG9iVHlwZS5DT05URU5UX1RZUEVfVU5JQ09ERTtcclxuICAgICAgICAgIHZhbHVlID0gQmxvYlR5cGUuY3JlYXRlRnJvbVN0cmluZyh2YWx1ZSwgY29udGVudFR5cGUpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIGlmICghU3RvcmFnZUF0dHJpYnV0ZUNoZWNrLmlzVHlwZUJsb2Ioc3JjQXR0cikpXHJcbiAgICAgICAgICBpbnZhbGlkQXJnID0gdHJ1ZTtcclxuICAgICAgICBicmVhaztcclxuICAgIH1cclxuXHJcbiAgICAvLyBJZiB0aGVyZSBpcyBtaXNtYXRjaCBpbiBhdHRyaWJ1dGUsIHRha2UgZGVmYXVsdCB2YWx1ZSBvZiBleHBlY3RkIGFyZ3VtZW50LlxyXG4gICAgaWYgKGludmFsaWRBcmcpXHJcbiAgICAgIHZhbHVlID0gRmllbGREZWYuZ2V0TWFnaWNEZWZhdWx0VmFsdWUoZXhwZWN0ZWRUeXBlKTtcclxuICAgIHJldHVybiB2YWx1ZTtcclxuICB9XHJcblxyXG4gIC8vLyA8c3VtbWFyeT5cclxuICAvLy8gICBnZXQgdmFsdWUgb2YgQXJndW1lbnRcclxuICAvLy8gPC9zdW1tYXJ5PlxyXG4gIC8vLyA8cGFyYW0gbmFtZSA9IFwiZXhwVHlwZVwiPnR5cGUgb2YgZXhwZWN0ZWQgdHlwZSBvZiBldmFsdWF0aW9uPC9wYXJhbT5cclxuICAvLy8gPHBhcmFtIG5hbWUgPSBcImV4cFNpemVcIj5zaXplIG9mIGV4cGVjdGVkIHN0cmluZyBmcm9tIGV2YWx1YXRpb248L3BhcmFtPlxyXG4gIC8vLyA8cmV0dXJucz4gdmFsdWUgb2YgdGhlIEFyZ3VtZW50PC9yZXR1cm5zPlxyXG4gIHB1YmxpYyBhc3luYyBnZXRWYWx1ZShleHBUeXBlOiBTdG9yYWdlQXR0cmlidXRlLCBleHBTaXplOiBudW1iZXIpOiBQcm9taXNlPHN0cmluZz4ge1xyXG4gICAgc3dpdGNoICh0aGlzLl90eXBlKSB7XHJcbiAgICAgIGNhc2UgQ29uc3RJbnRlcmZhY2UuQVJHX1RZUEVfRVhQOlxyXG4gICAgICAgIHRoaXMuX3ZhbCA9IGF3YWl0IHRoaXMuX2V4cC5ldmFsdWF0ZVdpdGhSZXN1bHRUeXBlQW5kTGVuZ3RoKGV4cFR5cGUsIGV4cFNpemUpO1xyXG4gICAgICAgIGlmICh0aGlzLl92YWwgPT0gbnVsbClcclxuICAgICAgICAgIHRoaXMuX3ZhbCA9IEFyZ3VtZW50LmdldEVtcHR5VmFsdWUoZXhwVHlwZSA9PT0gU3RvcmFnZUF0dHJpYnV0ZS5CTE9CXHJcbiAgICAgICAgICAgIHx8IGV4cFR5cGUgPT09IFN0b3JhZ2VBdHRyaWJ1dGUuQkxPQl9WRUNUT1IpO1xyXG4gICAgICAgIGJyZWFrO1xyXG5cclxuICAgICAgY2FzZSBDb25zdEludGVyZmFjZS5BUkdfVFlQRV9GSUVMRDpcclxuICAgICAgICB0aGlzLl92YWwgPSB0aGlzLl9mbGQuZ2V0VmFsdWUodHJ1ZSk7XHJcbiAgICAgICAgYnJlYWs7XHJcblxyXG4gICAgICBjYXNlIENvbnN0SW50ZXJmYWNlLkFSR19UWVBFX1ZBTFVFOlxyXG4gICAgICAgIGJyZWFrO1xyXG5cclxuICAgICAgZGVmYXVsdDpcclxuICAgICAgICByZXR1cm4gbnVsbDtcclxuICAgIH1cclxuICAgIHJldHVybiB0aGlzLl92YWw7XHJcbiAgfVxyXG5cclxuICAvLy8gPHJldHVybnM+IHZhbHVlIG9mIHRoZSBza2lwIGZsYWcgPC9yZXR1cm5zPlxyXG4gIHNraXBBcmcoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5fc2tpcDtcclxuICB9XHJcblxyXG4gIC8vLyA8c3VtbWFyeT5cclxuICAvLy8gICBmaWxsIGFuIGFyZ3VtZW50IGRhdGEgZnJvbSBhIHBhcmFtZXRlciBkYXRhXHJcbiAgLy8vIDwvc3VtbWFyeT5cclxuICAvLy8gPHBhcmFtIG5hbWUgPSBcInBhcmFtVmFsdWVBdHRyXCI+PC9wYXJhbT5cclxuICAvLy8gPHBhcmFtIG5hbWUgPSBcInBhcmFtVmFsdWVcIj48L3BhcmFtPlxyXG4gIC8vLyA8cGFyYW0gbmFtZSA9IFwicGFyYW1OdWxsXCI+PC9wYXJhbT5cclxuICBmaWxsRGF0YUJ5UGFyYW1zKHBhcmFtVmFsdWVBdHRyOiBTdG9yYWdlQXR0cmlidXRlLCBwYXJhbVZhbHVlOiBzdHJpbmcsIHBhcmFtTnVsbDogYm9vbGVhbik6IHZvaWQge1xyXG4gICAgdGhpcy5fdmFsdWVBdHRyID0gcGFyYW1WYWx1ZUF0dHI7XHJcbiAgICB0aGlzLl92YWwgPSBwYXJhbVZhbHVlO1xyXG4gICAgdGhpcy5fdmFsdWVJc051bGwgPSBwYXJhbU51bGw7XHJcblxyXG4gICAgLy8gVGhlIHNlcnZlciBpbmRpY2F0ZXMgc2tpcCBvbiBhIHBhcmFtZXRlciBieSBzZW5kaW5nIERBVEFfVFlQRV9TS0lQIGluc3RlYWQgb2YgdGhlIHJlYWwgYXR0cmlidXRlLlxyXG4gICAgaWYgKHRoaXMuX3ZhbHVlQXR0ciA9PT0gU3RvcmFnZUF0dHJpYnV0ZS5TS0lQKSB7XHJcbiAgICAgIHRoaXMuX3R5cGUgPSBDb25zdEludGVyZmFjZS5BUkdfVFlQRV9TS0lQIC8qJ1gnKi87XHJcbiAgICAgIHRoaXMuX3NraXAgPSB0cnVlO1xyXG4gICAgfVxyXG4gICAgZWxzZSB7XHJcbiAgICAgIHRoaXMuX3R5cGUgPSBDb25zdEludGVyZmFjZS5BUkdfVFlQRV9WQUxVRSAvKlYqLztcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8vLyA8c3VtbWFyeT4gcmV0dXJucyBlbXB0eSB2YWx1ZTwvc3VtbWFyeT5cclxuICAvLy8gPHBhcmFtIG5hbWU9XCJpc0Jsb2JcIj4tIHRydWUgaXMgdmFsdWUgaXMgZm9yIGJsb2I8L3BhcmFtPlxyXG4gIHByaXZhdGUgc3RhdGljIGdldEVtcHR5VmFsdWUoaXNCbG9iOiBib29sZWFuKTogc3RyaW5nIHtcclxuICAgIHJldHVybiBpc0Jsb2IgPyAoQmxvYlR5cGUuZ2V0RW1wdHlCbG9iUHJlZml4KCdcXDAnKSAvKidcdTAwMDAnKi8gKyBcIjtcIikgOiBcIlwiO1xyXG4gIH1cclxuXHJcbiAgLy8vIDxzdW1tYXJ5PlxyXG4gIC8vLyBmaWxsIHRoZSBhcmd1bWVudCBmcm9tIGEgc3RyaW5nXHJcbiAgLy8vIDwvc3VtbWFyeT5cclxuICAvLy8gPHBhcmFtIG5hbWU9XCJhcmdTdHJcIj48L3BhcmFtPlxyXG4gIHB1YmxpYyBGaWxsRnJvbVN0cmluZyhhcmdTdHI6IHN0cmluZyk6IHZvaWQge1xyXG4gICAgLy8gdHlwZSBpcyBhbHdheXMgYSB2YWx1ZVxyXG4gICAgdGhpcy5fdHlwZSA9IENvbnN0SW50ZXJmYWNlLkFSR19UWVBFX1ZBTFVFO1xyXG5cclxuICAgIGxldCBhcmdUeXBlOiBzdHJpbmcgPSBudWxsO1xyXG4gICAgLy8gSWYgc3RyaW5nIGlzIHNob3J0ZXIgdGhhbiAzLCBhc3N1bWUgaXQgZG9lcyBub3QgaGF2ZSBhbiBhdHRyaWJ1dGUgaWRlbnRpZmllclxyXG4gICAgaWYgKGFyZ1N0ci5sZW5ndGggPiAyKVxyXG4gICAgICBhcmdUeXBlID0gYXJnU3RyLnN1YnN0cigwLCAyKTtcclxuXHJcbiAgICBzd2l0Y2ggKGFyZ1R5cGUpIHtcclxuICAgICAgY2FzZSBDb25zdEludGVyZmFjZS5SRVFfQVJHX0FMUEhBOlxyXG4gICAgICAgIHRoaXMuX3ZhbHVlQXR0ciA9IFN0b3JhZ2VBdHRyaWJ1dGUuQUxQSEE7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgQ29uc3RJbnRlcmZhY2UuUkVRX0FSR19VTklDT0RFOlxyXG4gICAgICAgIHRoaXMuX3ZhbHVlQXR0ciA9IFN0b3JhZ2VBdHRyaWJ1dGUuVU5JQ09ERTtcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSBDb25zdEludGVyZmFjZS5SRVFfQVJHX05VTUVSSUM6XHJcbiAgICAgICAgdGhpcy5fdmFsdWVBdHRyID0gU3RvcmFnZUF0dHJpYnV0ZS5OVU1FUklDO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlIENvbnN0SW50ZXJmYWNlLlJFUV9BUkdfRE9VQkxFOlxyXG4gICAgICAgIHRoaXMuX3ZhbHVlQXR0ciA9IFN0b3JhZ2VBdHRyaWJ1dGUuTlVNRVJJQztcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSBDb25zdEludGVyZmFjZS5SRVFfQVJHX0xPR0lDQUw6XHJcbiAgICAgICAgdGhpcy5fdmFsdWVBdHRyID0gU3RvcmFnZUF0dHJpYnV0ZS5CT09MRUFOO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlIENvbnN0SW50ZXJmYWNlLlJFUV9BUkdfTlVMTDpcclxuICAgICAgICB0aGlzLl92YWx1ZUF0dHIgPSBTdG9yYWdlQXR0cmlidXRlLk5PTkU7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgLy8gaWYgc3RvcmFnZSB0eXBlIGlzIG5vdCBkZWZpbmVkLCBhc3N1bWUgYWxwaGEgc3RyaW5nIGFuZCB0aGUgZW50aXJlIHN0cmluZyBpcyB0aGUgdmFsdWVcclxuICAgICAgICB0aGlzLl92YWx1ZUF0dHIgPSBTdG9yYWdlQXR0cmlidXRlLkFMUEhBO1xyXG4gICAgICAgIHRoaXMuX3ZhbCA9IGFyZ1N0cjtcclxuICAgICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICAvLyB0aGUgY2FzZSB0aGUgc3RyaW5nIGlzIHRvbyBzaG9ydCB3YXMgZGVhbHQgd2l0aCBlYXJsaWVyIC0gaXQgd2lsbCBnZXQgdG8gdGhlIGRlZmF1bHQgY2FzZSBpbiB0aGUgc3dpdGNoXHJcbiAgICAvLyBhbmQgcmV0dXJuIGZyb20gdGhlcmVcclxuICAgIHRoaXMuX3ZhbCA9IGFyZ1N0ci5zdWJzdHIoMik7XHJcbiAgfVxyXG5cclxuXHJcbiAgLy8vIDxzdW1tYXJ5PlxyXG4gIC8vLyAgIGNoYW5nZXMgYWxsIGlsbGVnYWwgY2hhcmFjdGVycyBvciBzcGVjaWFsIGNoYXJhY3RlcnMgdXNlZCBmb3IgcGFyc2luZyB0byB0aGVpciBsZWdhbCBmb3JtYXRcclxuICAvLy8gICB0aGUgcGFyc2luZyBpcyBwZXJmb3JtZWQgYXQgc2V2ZXJhbCBwbGFjZXMgZmlyc3Qgd2hlbiBwYXNzaW5nIHRoZSB1cmwgdG8gSUUgYnkgSUVcclxuICAvLy8gICBzZWNvbmQgaW4gdGhlIHJlcXVlc3RlciAocnFodHRwLmNwcCkgd2hlbiBwYXJzaW5nIHRoZSB1cmwgZm9yIGFyZ3VtZW50c1xyXG4gIC8vLyAgIHRoaXJzdCBpbiB0aGUgbWFnaWMgZW5naW5lIChtZ3JxbXJnLmNwcCAtIGNvcHlfaW5fYXJncylcclxuICAvLy8gICB3ZSBtdXN0IGRpc3Rpbmd1aXNoIGJldHdlZW4gY2hhcmFjdGVycyB0aGF0IGFyZSByZXNlcnZlZCBmb3Igc3BlY2lhbCB1c2UgYnkgdGhlIFVSTCBSRkMgYW5kXHJcbiAgLy8vICAgYmV0d2VlbiBjaGFyYWN0ZXJzIHVzZWQgaW50ZXJuYWxseSBieSBtYWdpYyBmb3Igc3BlY2lhbCB1c2VcclxuICAvLy8gPC9zdW1tYXJ5PlxyXG4gIC8vLyA8cGFyYW0gbmFtZSA9IFwic291cmNlXCI+dXJsIHRvIGJlIGNvbnZlcnRlZCA8L3BhcmFtPlxyXG4gIC8vLyA8cmV0dXJucz4gdGhlIGNvbnZlcnRlZCB1cmwgICA8L3JldHVybnM+XHJcbiAgbWFrZVVSTFByaW50YWJsZShzb3VyY2U6IHN0cmluZyk6IHN0cmluZyB7XHJcbiAgICBsZXQgZnJvbTogc3RyaW5nW10gPSBbXHJcbiAgICAgIFwiXFxcXFwiLCBcIlxcMFwiLCBcIixcIlxyXG4gICAgXTtcclxuICAgIGxldCB0bzogc3RyaW5nW10gPSBbXHJcbiAgICAgIFwiXFxcXFxcXFxcIiwgXCJcXFxcMFwiLCBcIlxcXFwsXCJcclxuICAgIF07XHJcbiAgICByZXR1cm4gU3RyVXRpbC5zZWFyY2hBbmRSZXBsYWNlKHNvdXJjZSwgZnJvbSwgdG8pO1xyXG4gIH1cclxufVxyXG4iXX0=
|