@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,152 +0,0 @@
|
|
1
|
-
import { ExpressionEvaluator, NullValueException } from "../exp/ExpressionEvaluator";
|
2
|
-
import { DisplayConvertor, ExpVal } from "@magic-xpa/gui";
|
3
|
-
import { StorageAttribute, StrUtil } from "@magic-xpa/utils";
|
4
|
-
import { Char, NString } from "@magic-xpa/mscorelib";
|
5
|
-
export class Boundary {
|
6
|
-
constructor(task, minIdx, maxIdx, returnType, size, cacheTableId) {
|
7
|
-
this._cacheTableFldId = 0;
|
8
|
-
this._max = null;
|
9
|
-
this._min = null;
|
10
|
-
this._retType = StorageAttribute.NONE;
|
11
|
-
this._size = 0;
|
12
|
-
this._maxExpVal = null;
|
13
|
-
this._minExpVal = null;
|
14
|
-
this.DiscardMin = false;
|
15
|
-
this.DiscardMax = false;
|
16
|
-
this.MaxEqualsMin = false;
|
17
|
-
if (arguments.length === 5)
|
18
|
-
this.constructor_0(task, minIdx, maxIdx, returnType, size);
|
19
|
-
else
|
20
|
-
this.constructor_1(task, minIdx, maxIdx, returnType, size, cacheTableId);
|
21
|
-
}
|
22
|
-
constructor_0(task, minIdx, maxIdx, returnType, size) {
|
23
|
-
this.constructor_1(task, minIdx, maxIdx, returnType, size, -1);
|
24
|
-
}
|
25
|
-
constructor_1(task, minIdx, maxIdx, returnType, size, cacheTableId) {
|
26
|
-
this._retType = returnType;
|
27
|
-
this._size = size;
|
28
|
-
this._cacheTableFldId = cacheTableId;
|
29
|
-
if (minIdx !== -1)
|
30
|
-
this._min = task.getExpById(minIdx);
|
31
|
-
if (maxIdx !== -1)
|
32
|
-
this._max = task.getExpById(maxIdx);
|
33
|
-
}
|
34
|
-
hasMinExp() {
|
35
|
-
return this._min !== null;
|
36
|
-
}
|
37
|
-
hasMaxExp() {
|
38
|
-
return this._max !== null;
|
39
|
-
}
|
40
|
-
getExpType() {
|
41
|
-
return this._retType;
|
42
|
-
}
|
43
|
-
getCacheTableFldId() {
|
44
|
-
return this._cacheTableFldId;
|
45
|
-
}
|
46
|
-
async compute(padValueWithMinMaxCharacters) {
|
47
|
-
if (this.hasMinExp()) {
|
48
|
-
let minVal = await this._min.evaluateWithResultTypeAndLength(this.getExpType(), this._size);
|
49
|
-
if (minVal !== null) {
|
50
|
-
minVal = NString.TrimEnd(minVal, new Array(0));
|
51
|
-
}
|
52
|
-
this._minExpVal = new ExpVal(this.getExpType(), minVal === null, minVal);
|
53
|
-
this.MaxEqualsMin = this.IsMaxEqualsMin();
|
54
|
-
if (!this._minExpVal.IsNull && (this._minExpVal.Attr === StorageAttribute.ALPHA || this._minExpVal.Attr === StorageAttribute.UNICODE)) {
|
55
|
-
if (padValueWithMinMaxCharacters) {
|
56
|
-
this._minExpVal.StrVal = DisplayConvertor.StringValueToMgValue(this._minExpVal.StrVal, this._minExpVal.Attr, Char.MinValue, this._size).toString();
|
57
|
-
this.MaxEqualsMin = false;
|
58
|
-
}
|
59
|
-
this._minExpVal.StrVal = StrUtil.SearchAndReplaceWildChars(this._minExpVal.StrVal, this._size, Char.MinValue);
|
60
|
-
}
|
61
|
-
this.DiscardMin = await this._min.DiscardCndRangeResult();
|
62
|
-
}
|
63
|
-
if (this.hasMaxExp()) {
|
64
|
-
let maxVal = await this._max.evaluateWithResultTypeAndLength(this.getExpType(), this._size);
|
65
|
-
this._maxExpVal = new ExpVal(this.getExpType(), maxVal === null, maxVal);
|
66
|
-
if (!this._maxExpVal.IsNull && (this._maxExpVal.Attr === StorageAttribute.ALPHA || this._maxExpVal.Attr === StorageAttribute.UNICODE)) {
|
67
|
-
if (padValueWithMinMaxCharacters) {
|
68
|
-
this._maxExpVal.StrVal = DisplayConvertor.StringValueToMgValue(this._maxExpVal.StrVal, this._maxExpVal.Attr, Char.MaxValue, this._size);
|
69
|
-
}
|
70
|
-
this._maxExpVal.StrVal = StrUtil.SearchAndReplaceWildChars(this._maxExpVal.StrVal, this._size, Char.MaxValue);
|
71
|
-
}
|
72
|
-
this.DiscardMax = await this._max.DiscardCndRangeResult();
|
73
|
-
}
|
74
|
-
}
|
75
|
-
checkRange(val, IsNull) {
|
76
|
-
let res = true;
|
77
|
-
let cmpVal = new ExpVal(this.getExpType(), IsNull, val);
|
78
|
-
if (cmpVal.IsNull && ((this.hasMinExp() && this._minExpVal.IsNull) || (this.hasMaxExp() && this._maxExpVal.IsNull))) {
|
79
|
-
res = true;
|
80
|
-
}
|
81
|
-
else {
|
82
|
-
if (this.hasMinExp()) {
|
83
|
-
if (!this._minExpVal.IsNull && !cmpVal.IsNull) {
|
84
|
-
try {
|
85
|
-
if (ExpressionEvaluator.val_cmp_any(cmpVal, this._minExpVal) < 0)
|
86
|
-
res = false;
|
87
|
-
}
|
88
|
-
catch (exception) {
|
89
|
-
if (exception instanceof NullValueException) {
|
90
|
-
res = false;
|
91
|
-
}
|
92
|
-
else
|
93
|
-
throw exception;
|
94
|
-
}
|
95
|
-
}
|
96
|
-
else {
|
97
|
-
if (cmpVal.IsNull !== this._minExpVal.IsNull)
|
98
|
-
res = false;
|
99
|
-
}
|
100
|
-
}
|
101
|
-
if (this.hasMaxExp() && res) {
|
102
|
-
if (!this._maxExpVal.IsNull && !cmpVal.IsNull) {
|
103
|
-
try {
|
104
|
-
if (ExpressionEvaluator.val_cmp_any(cmpVal, this._maxExpVal) > 0)
|
105
|
-
res = false;
|
106
|
-
}
|
107
|
-
catch (exception) {
|
108
|
-
if (exception instanceof NullValueException)
|
109
|
-
res = false;
|
110
|
-
else
|
111
|
-
throw exception;
|
112
|
-
}
|
113
|
-
}
|
114
|
-
else if (cmpVal.IsNull !== this._maxExpVal.IsNull)
|
115
|
-
res = false;
|
116
|
-
}
|
117
|
-
}
|
118
|
-
return res;
|
119
|
-
}
|
120
|
-
IsMaxEqualsMin() {
|
121
|
-
let result = false;
|
122
|
-
if (this.hasMaxExp() && this.hasMinExp()) {
|
123
|
-
if (this._min.getId() === this._max.getId()) {
|
124
|
-
if (this._retType === StorageAttribute.ALPHA || this._retType === StorageAttribute.UNICODE)
|
125
|
-
result = !this.WildCharExist();
|
126
|
-
else
|
127
|
-
result = true;
|
128
|
-
}
|
129
|
-
}
|
130
|
-
return result;
|
131
|
-
}
|
132
|
-
WildCharExist() {
|
133
|
-
let wildChars = ["*", "?"];
|
134
|
-
let result = false;
|
135
|
-
if (!this._minExpVal.IsNull) {
|
136
|
-
let stringValue = this._minExpVal.StrVal;
|
137
|
-
for (let i = 0; i < wildChars.length; i = i + 1) {
|
138
|
-
if (stringValue.endsWith(wildChars[i])) {
|
139
|
-
result = true;
|
140
|
-
break;
|
141
|
-
}
|
142
|
-
}
|
143
|
-
}
|
144
|
-
return result;
|
145
|
-
}
|
146
|
-
toString() {
|
147
|
-
return NString.Format("{{Boundary: {0}-{1}, {2}, {3}}}", [
|
148
|
-
this._max, this._max, this._retType, this._size
|
149
|
-
]);
|
150
|
-
}
|
151
|
-
}
|
152
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQm91bmRhcnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lbmdpbmUvc3JjL3J0L0JvdW5kYXJ5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxtQkFBbUIsRUFBRSxrQkFBa0IsRUFBQyxNQUFNLDRCQUE0QixDQUFDO0FBQ25GLE9BQU8sRUFBQyxnQkFBZ0IsRUFBRSxNQUFNLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4RCxPQUFPLEVBQUMsZ0JBQWdCLEVBQUUsT0FBTyxFQUFDLE1BQU0sa0JBQWtCLENBQUM7QUFHM0QsT0FBTyxFQUFDLElBQUksRUFBRSxPQUFPLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUtuRCxNQUFNLE9BQU8sUUFBUTtJQWdCbkIsWUFBWSxJQUFVLEVBQUUsTUFBYyxFQUFFLE1BQWMsRUFBRSxVQUE0QixFQUFFLElBQVksRUFBRSxZQUFxQjtRQWZqSCxxQkFBZ0IsR0FBVyxDQUFDLENBQUM7UUFDN0IsU0FBSSxHQUFlLElBQUksQ0FBQztRQUN4QixTQUFJLEdBQWUsSUFBSSxDQUFDO1FBQ3hCLGFBQVEsR0FBcUIsZ0JBQWdCLENBQUMsSUFBSSxDQUFDO1FBQ25ELFVBQUssR0FBVyxDQUFDLENBQUM7UUFDbEIsZUFBVSxHQUFXLElBQUksQ0FBQztRQUMxQixlQUFVLEdBQVcsSUFBSSxDQUFDO1FBRWxDLGVBQVUsR0FBWSxLQUFLLENBQUM7UUFDNUIsZUFBVSxHQUFZLEtBQUssQ0FBQztRQUM1QixpQkFBWSxHQUFZLEtBQUssQ0FBQztRQU01QixJQUFJLFNBQVMsQ0FBQyxNQUFNLEtBQUssQ0FBQztZQUN4QixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxJQUFJLENBQUMsQ0FBQzs7WUFFM0QsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxV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TSxFQUFFO1lBQzNCLElBQUksV0FBVyxHQUFXLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDO1lBRWpELEtBQUssSUFBSSxDQUFDLEdBQVcsQ0FBQyxFQUFFLENBQUMsR0FBRyxTQUFTLENBQUMsTUFBTSxFQUFFLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxFQUFFO2dCQUN2RCxJQUFJLFdBQVcsQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUU7b0JBQ3RDLE1BQU0sR0FBRyxJQUFJLENBQUM7b0JBQ2QsTUFBTTtpQkFDUDthQUNGO1NBQ0Y7UUFDRCxPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDO0lBRUQsUUFBUTtRQUNOLE9BQU8sT0FBTyxDQUFDLE1BQU0sQ0FBQyxpQ0FBaUMsRUFBRTtZQUN2RCxJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsS0FBSztTQUNoRCxDQUFDLENBQUM7SUFDTCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0V4cHJlc3Npb25FdmFsdWF0b3IsIE51bGxWYWx1ZUV4Y2VwdGlvbn0gZnJvbSBcIi4uL2V4cC9FeHByZXNzaW9uRXZhbHVhdG9yXCI7XHJcbmltcG9ydCB7RGlzcGxheUNvbnZlcnRvciwgRXhwVmFsfSBmcm9tIFwiQG1hZ2ljLXhwYS9ndWlcIjtcclxuaW1wb3J0IHtTdG9yYWdlQXR0cmlidXRlLCBTdHJVdGlsfSBmcm9tIFwiQG1hZ2ljLXhwYS91dGlsc1wiO1xyXG5pbXBvcnQge0V4cHJlc3Npb259IGZyb20gXCIuLi9leHAvRXhwcmVzc2lvblwiO1xyXG5pbXBvcnQge1Rhc2t9IGZyb20gXCIuLi90YXNrcy9UYXNrXCI7XHJcbmltcG9ydCB7Q2hhciwgTlN0cmluZ30gZnJvbSBcIkBtYWdpYy14cGEvbXNjb3JlbGliXCI7XHJcblxyXG4vLy8gPHN1bW1hcnk+XHJcbi8vLyAgIHRoaXMgY2xhc3MgcmVwcmVzZW50IGEgcmFuZ2Ugb3IgbG9jYXRlIHNlY3Rpb25zIC0gaS5lLiBtaW4vbWF4IGV4cHJlc3Npb25zXHJcbi8vLyA8L3N1bW1hcnk+XHJcbmV4cG9ydCBjbGFzcyBCb3VuZGFyeSB7XHJcbiAgcHJpdmF0ZSBfY2FjaGVUYWJsZUZsZElkOiBudW1iZXIgPSAwO1xyXG4gIHByaXZhdGUgX21heDogRXhwcmVzc2lvbiA9IG51bGw7XHJcbiAgcHJpdmF0ZSBfbWluOiBFeHByZXNzaW9uID0gbnVsbDtcclxuICBwcml2YXRlIF9yZXRUeXBlOiBTdG9yYWdlQXR0cmlidXRlID0gU3RvcmFnZUF0dHJpYnV0ZS5OT05FO1xyXG4gIHByaXZhdGUgX3NpemU6IG51bWJlciA9IDA7XHJcbiAgcHJpdmF0ZSBfbWF4RXhwVmFsOiBFeHBWYWwgPSBudWxsO1xyXG4gIHByaXZhdGUgX21pbkV4cFZhbDogRXhwVmFsID0gbnVsbDtcclxuXHJcbiAgRGlzY2FyZE1pbjogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIERpc2NhcmRNYXg6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBNYXhFcXVhbHNNaW46IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcblxyXG4gIGNvbnN0cnVjdG9yKHRhc2s6IFRhc2ssIG1pbklkeDogbnVtYmVyLCBtYXhJZHg6IG51bWJlciwgcmV0dXJuVHlwZTogU3RvcmFnZUF0dHJpYnV0ZSwgc2l6ZTogbnVtYmVyKTtcclxuICBjb25zdHJ1Y3Rvcih0YXNrOiBUYXNrLCBtaW5JZHg6IG51bWJlciwgbWF4SWR4OiBudW1iZXIsIHJldHVyblR5cGU6IFN0b3JhZ2VBdHRyaWJ1dGUsIHNpemU6IG51bWJlciwgY2FjaGVUYWJsZUlkOiBudW1iZXIpO1xyXG4gIGNvbnN0cnVjdG9yKHRhc2s6IFRhc2ssIG1pbklkeDogbnVtYmVyLCBtYXhJZHg6IG51bWJlciwgcmV0dXJuVHlwZTogU3RvcmFnZUF0dHJpYnV0ZSwgc2l6ZTogbnVtYmVyLCBjYWNoZVRhYmxlSWQ/OiBudW1iZXIpIHtcclxuICAgIGlmIChhcmd1bWVudHMubGVuZ3RoID09PSA1KVxyXG4gICAgICB0aGlzLmNvbnN0cnVjdG9yXzAodGFzaywgbWluSWR4LCBtYXhJZHgsIHJldHVyblR5cGUsIHNpemUpO1xyXG4gICAgZWxzZVxyXG4gICAgICB0aGlzLmNvbnN0cnVjdG9yXzEodGFzaywgbWluSWR4LCBtYXhJZHgsIHJldHVyblR5cGUsIHNpemUsIGNhY2hlVGFibGVJZCk7XHJcbiAgfVxyXG5cclxuICAvLy8gPHN1bW1hcnk+XHJcbiAgLy8vIEluc3RhbnRpYXRlcyBhIG5ldyBCb3VuZGFyeSBvYmplY3RcclxuICAvLy8gPC9zdW1tYXJ5PlxyXG4gIC8vLyA8cGFyYW0gbmFtZT1cInRhc2tcIj48L3BhcmFtPlxyXG4gIC8vLyA8cGFyYW0gbmFtZT1cIm1pbklkeFwiPjwvcGFyYW0+XHJcbiAgLy8vIDxwYXJhbSBuYW1lPVwibWF4SWR4XCI+PC9wYXJhbT5cclxuICAvLy8gPHBhcmFtIG5hbWU9XCJyZXR1cm5UeXBlXCI+PC9wYXJhbT5cclxuICAvLy8gPHBhcmFtIG5hbWU9XCJzaXplXCI+PC9wYXJhbT5cclxuICBwcml2YXRlIGNvbnN0cnVjdG9yXzAodGFzazogVGFzaywgbWluSWR4OiBudW1iZXIsIG1heElkeDogbnVtYmVyLCByZXR1cm5UeXBlOiBTdG9yYWdlQXR0cmlidXRlLCBzaXplOiBudW1iZXIpOiB2b2lkIHtcclxuICAgIHRoaXMuY29uc3RydWN0b3JfMSh0YXNrLCBtaW5JZHgsIG1heElkeCwgcmV0dXJuVHlwZSwgc2l6ZSwgLTEpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBjb25zdHJ1Y3Rvcl8xKHRhc2s6IFRhc2ssIG1pbklkeDogbnVtYmVyLCBtYXhJZHg6IG51bWJlciwgcmV0dXJuVHlwZTogU3RvcmFnZUF0dHJpYnV0ZSwgc2l6ZTogbnVtYmVyLCBjYWNoZVRhYmxlSWQ6IG51bWJlcik6IHZvaWQge1xyXG4gICAgdGhpcy5fcmV0VHlwZSA9IHJldHVyblR5cGU7XHJcbiAgICB0aGlzLl9zaXplID0gc2l6ZTtcclxuICAgIHRoaXMuX2NhY2hlVGFibGVGbGRJZCA9IGNhY2hlVGFibGVJZDtcclxuICAgIGlmIChtaW5JZHggIT09IC0xKVxyXG4gICAgICB0aGlzLl9taW4gPSB0YXNrLmdldEV4cEJ5SWQobWluSWR4KTtcclxuXHJcbiAgICBpZiAobWF4SWR4ICE9PSAtMSlcclxuICAgICAgdGhpcy5fbWF4ID0gdGFzay5nZXRFeHBCeUlkKG1heElkeCk7XHJcbiAgfVxyXG5cclxuICAvLyBzb21ldGltZXMgdGhlIG1pbiBvciBtYXggZG9lcyBub3QgaGF2ZSBhbiBleHByZXNzaW9uXHJcbiAgaGFzTWluRXhwKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMuX21pbiAhPT0gbnVsbDtcclxuICB9XHJcblxyXG4gIC8vIHNvbWV0aW1lcyB0aGUgbWluIG9yIG1heCBkb2VzIG5vdCBoYXZlIGFuIGV4cHJlc3Npb25cclxuICBoYXNNYXhFeHAoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5fbWF4ICE9PSBudWxsO1xyXG4gIH1cclxuXHJcbiAgLy8vIDxzdW1tYXJ5PlxyXG4gIC8vLyAgIHJldHVybnMgdGhlIG1pbi9tYXggZXhwcmVzc2lvbnMgcmV0dXJuIHR5cGUgLSBpdCBhY3R1YWxseSB0aGUgdHlwZSBvZiB0aGUgZmllbGQgdGhleSBhcmUgQXNzb2NpYXRlZCB3aXRoXHJcbiAgLy8vIDwvc3VtbWFyeT5cclxuICBnZXRFeHBUeXBlKCk6IFN0b3JhZ2VBdHRyaWJ1dGUge1xyXG4gICAgcmV0dXJuIHRoaXMuX3JldFR5cGU7XHJcbiAgfVxyXG5cclxuXHJcbiAgLy8vIDxzdW1tYXJ5PlxyXG4gIC8vLyAgIHJldHVybiB0aGUgaWQgb2YgdGhlIGNhY2hlZCB0YWJsZSBmaWVsZCB0aGlzIHJhbmdlIGNvcnJlc3BvbmRzIHRvXHJcbiAgLy8vIDwvc3VtbWFyeT5cclxuICBnZXRDYWNoZVRhYmxlRmxkSWQoKTogbnVtYmVyIHtcclxuICAgIHJldHVybiB0aGlzLl9jYWNoZVRhYmxlRmxkSWQ7XHJcbiAgfVxyXG5cclxuICAvLy8gPHN1bW1hcnk+XHJcbiAgLy8vICAgY29tcHV0ZXMgdGhlIG1pbiBhbmQgbWF4IGV4cHJlc3Npb24gdG8gY2hlY2sgdGhlaXIgdmFsdWVzXHJcbiAgLy8vIDwvc3VtbWFyeT5cclxuICBhc3luYyBjb21wdXRlKHBhZFZhbHVlV2l0aE1pbk1heENoYXJhY3RlcnM6IGJvb2xlYW4pOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgIGlmICh0aGlzLmhhc01pbkV4cCgpKSB7XHJcblxyXG4gICAgICAvLyBldmFsdWF0ZSB0aGUgbWluIGV4cHJlc3Npb25cclxuICAgICAgbGV0IG1pblZhbDogc3RyaW5nID0gYXdhaXQgdGhpcy5fbWluLmV2YWx1YXRlV2l0aFJlc3VsdFR5cGVBbmRMZW5ndGgodGhpcy5nZXRFeHBUeXBlKCksIHRoaXMuX3NpemUpO1xyXG4gICAgICBpZiAobWluVmFsICE9PSBudWxsKSB7XHJcbiAgICAgICAgbWluVmFsID0gTlN0cmluZy5UcmltRW5kKG1pblZhbCwgbmV3IEFycmF5PHN0cmluZz4oMCkpO1xyXG4gICAgICB9XHJcblxyXG4gICAgICB0aGlzLl9taW5FeHBWYWwgPSBuZXcgRXhwVmFsKHRoaXMuZ2V0RXhwVHlwZSgpLCBtaW5WYWwgPT09IG51bGwsIG1pblZhbCk7XHJcblxyXG4gICAgICAvLyBjaGVjayBhbmQgc2V0IHRoZSBNYXhFcXVhbHNNaW4gYmVmb3JlIHRoZSB3aWxkIGNoYXJzIGFyZSByZXBsYWNlZCBvbiB0aGUgc3RyaW5nIHJlc3VsdFxyXG4gICAgICB0aGlzLk1heEVxdWFsc01pbiA9IHRoaXMuSXNNYXhFcXVhbHNNaW4oKTtcclxuXHJcbiAgICAgIGlmICghdGhpcy5fbWluRXhwVmFsLklzTnVsbCAmJiAodGhpcy5fbWluRXhwVmFsLkF0dHIgPT09IFN0b3JhZ2VBdHRyaWJ1dGUuQUxQSEEgfHwgdGhpcy5fbWluRXhwVmFsLkF0dHIgPT09IFN0b3JhZ2VBdHRyaWJ1dGUuVU5JQ09ERSkpIHtcclxuICAgICAgICBpZiAocGFkVmFsdWVXaXRoTWluTWF4Q2hhcmFjdGVycykge1xyXG4gICAgICAgICAgdGhpcy5fbWluRXhwVmFsLlN0clZhbCA9IERpc3BsYXlDb252ZXJ0b3IuU3RyaW5nVmFsdWVUb01nVmFsdWUodGhpcy5fbWluRXhwVmFsLlN0clZhbCwgdGhpcy5fbWluRXhwVmFsLkF0dHIsIENoYXIuTWluVmFsdWUsIC8qJ1x1MDAwMCcqL3RoaXMuX3NpemUpLnRvU3RyaW5nKCk7XHJcbiAgICAgICAgICB0aGlzLk1heEVxdWFsc01pbiA9IGZhbHNlO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLl9taW5FeHBWYWwuU3RyVmFsID0gU3RyVXRpbC5TZWFyY2hBbmRSZXBsYWNlV2lsZENoYXJzKHRoaXMuX21pbkV4cFZhbC5TdHJWYWwsIHRoaXMuX3NpemUsIENoYXIuTWluVmFsdWUpLyonXHUwMDAwJyovO1xyXG4gICAgICB9XHJcbiAgICAgIHRoaXMuRGlzY2FyZE1pbiA9IGF3YWl0IHRoaXMuX21pbi5EaXNjYXJkQ25kUmFuZ2VSZXN1bHQoKTtcclxuICAgIH1cclxuXHJcbiAgICBpZiAodGhpcy5oYXNNYXhFeHAoKSkge1xyXG5cclxuICAgICAgLy8gZXZhbHVhdGUgdGhlIG1heCBleHByZXNzaW9uXHJcbiAgICAgIGxldCBtYXhWYWw6IHN0cmluZyA9IGF3YWl0IHRoaXMuX21heC5ldmFsdWF0ZVdpdGhSZXN1bHRUeXBlQW5kTGVuZ3RoKHRoaXMuZ2V0RXhwVHlwZSgpLCB0aGlzLl9zaXplKTtcclxuICAgICAgdGhpcy5fbWF4RXhwVmFsID0gbmV3IEV4cFZhbCh0aGlzLmdldEV4cFR5cGUoKSwgbWF4VmFsID09PSBudWxsLCBtYXhWYWwpO1xyXG5cclxuICAgICAgaWYgKCF0aGlzLl9tYXhFeHBWYWwuSXNOdWxsICYmICh0aGlzLl9tYXhFeHBWYWwuQXR0ciA9PT0gU3RvcmFnZUF0dHJpYnV0ZS5BTFBIQSB8fCB0aGlzLl9tYXhFeHBWYWwuQXR0ciA9PT0gU3RvcmFnZUF0dHJpYnV0ZS5VTklDT0RFKSkge1xyXG4gICAgICAgIGlmIChwYWRWYWx1ZVdpdGhNaW5NYXhDaGFyYWN0ZXJzKSB7XHJcbiAgICAgICAgICB0aGlzLl9tYXhFeHBWYWwuU3RyVmFsID0gRGlzcGxheUNvbnZlcnRvci5TdHJpbmdWYWx1ZVRvTWdWYWx1ZSh0aGlzLl9tYXhFeHBWYWwuU3RyVmFsLCB0aGlzLl9tYXhFeHBWYWwuQXR0ciwgQ2hhci5NYXhWYWx1ZSAvKifvv78nKi8sIHRoaXMuX3NpemUpO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLl9tYXhFeHBWYWwuU3RyVmFsID0gU3RyVXRpbC5TZWFyY2hBbmRSZXBsYWNlV2lsZENoYXJzKHRoaXMuX21heEV4cFZhbC5TdHJWYWwsIHRoaXMuX3NpemUsIENoYXIuTWF4VmFsdWUpLyon77+/JyovO1xyXG4gICAgICB9XHJcbiAgICAgIHRoaXMuRGlzY2FyZE1heCA9IGF3YWl0IHRoaXMuX21heC5EaXNjYXJkQ25kUmFuZ2VSZXN1bHQoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8vLyA8c3VtbWFyeT5cclxuICAvLy8gICB0aGlzIGZ1bmN0aW9uIGdldHMgYSB2YWx1ZSBhbmQgY2hlY2tzIHdoZXRoZXIgaXQgc2F0aXNmaWVzIHRoZSByYW5nZSBzZWN0aW9uXHJcbiAgLy8vIDwvc3VtbWFyeT5cclxuICAvLy8gPHBhcmFtIG5hbWUgPSBcInZhbFwiPi0gdGhlIHZhbHVlIHRvIGJlIGNvbXBhcmVkXHJcbiAgLy8vIDwvcGFyYW0+XHJcbiAgY2hlY2tSYW5nZSh2YWw6IHN0cmluZywgSXNOdWxsOiBib29sZWFuKTogYm9vbGVhbiB7XHJcbiAgICBsZXQgcmVzOiBib29sZWFuID0gdHJ1ZTtcclxuXHJcbiAgICBsZXQgY21wVmFsOiBFeHBWYWwgPSBuZXcgRXhwVmFsKHRoaXMuZ2V0RXhwVHlwZSgpLCBJc051bGwsIHZhbCk7XHJcblxyXG4gICAgaWYgKGNtcFZhbC5Jc051bGwgJiYgKCh0aGlzLmhhc01pbkV4cCgpICYmIHRoaXMuX21pbkV4cFZhbC5Jc051bGwpIHx8ICh0aGlzLmhhc01heEV4cCgpICYmIHRoaXMuX21heEV4cFZhbC5Jc051bGwpKSkge1xyXG4gICAgICByZXMgPSB0cnVlO1xyXG4gICAgfVxyXG4gICAgZWxzZSB7XHJcbiAgICAgIC8vIGNoZWNrIG1pbiBleHByZXNzaW9uIENvbXBsaWFuY2VcclxuICAgICAgaWYgKHRoaXMuaGFzTWluRXhwKCkpIHtcclxuXHJcbiAgICAgICAgLy8gaWYgYm90aCBvZiB0aGUgY29tcGFyZWQgdmFsdWVzIGFyZSBub3QgbnVsbFxyXG4gICAgICAgIGlmICghdGhpcy5fbWluRXhwVmFsLklzTnVsbCAmJiAhY21wVmFsLklzTnVsbCkge1xyXG4gICAgICAgICAgdHJ5IHtcclxuICAgICAgICAgICAgLy8gdGhlIGNvbXBhcmVkIHZhbHVlIG11c3QgYmUgZXF1YWwgb3IgZ3JlYXRlciB0byB0aGUgbWluIHZhbHVlXHJcbiAgICAgICAgICAgIGlmIChFeHByZXNzaW9uRXZhbHVhdG9yLnZhbF9jbXBfYW55KGNtcFZhbCwgdGhpcy5fbWluRXhwVmFsKSA8IDApXHJcbiAgICAgICAgICAgICAgcmVzID0gZmFsc2U7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBjYXRjaCAoZXhjZXB0aW9uKSB7XHJcbiAgICAgICAgICAgIGlmIChleGNlcHRpb24gaW5zdGFuY2VvZiBOdWxsVmFsdWVFeGNlcHRpb24pIHtcclxuICAgICAgICAgICAgICByZXMgPSBmYWxzZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlXHJcbiAgICAgICAgICAgICAgdGhyb3cgZXhjZXB0aW9uO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIHtcclxuICAgICAgICAgIGlmIChjbXBWYWwuSXNOdWxsICE9PSB0aGlzLl9taW5FeHBWYWwuSXNOdWxsKVxyXG4gICAgICAgICAgICByZXMgPSBmYWxzZTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgLy8gY2hlY2sgbWF4IGV4cHJlc3Npb24gQ29tcGxpYW5jZVxyXG4gICAgICBpZiAodGhpcy5oYXNNYXhFeHAoKSAmJiByZXMpIHtcclxuICAgICAgICAvLyBpZiBib3RoIG9mIHRoZSBjb21wYXJlZCB2YWx1ZXMgYXJlIG5vdCBudWxsXHJcbiAgICAgICAgaWYgKCF0aGlzLl9tYXhFeHBWYWwuSXNOdWxsICYmICFjbXBWYWwuSXNOdWxsKSB7XHJcbiAgICAgICAgICB0cnkge1xyXG4gICAgICAgICAgICAvLyB0aGUgY29tcGFyZWQgdmFsdWUgbXVzdCBiZSBlcXVhbCBvciBncmVhdGVyIHRvIHRoZSBtaW4gdmFsdWVcclxuICAgICAgICAgICAgaWYgKEV4cHJlc3Npb25FdmFsdWF0b3IudmFsX2NtcF9hbnkoY21wVmFsLCB0aGlzLl9tYXhFeHBWYWwpID4gMClcclxuICAgICAgICAgICAgICByZXMgPSBmYWxzZTtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIGNhdGNoIChleGNlcHRpb24pIHtcclxuICAgICAgICAgICAgaWYgKGV4Y2VwdGlvbiBpbnN0YW5jZW9mIE51bGxWYWx1ZUV4Y2VwdGlvbilcclxuICAgICAgICAgICAgICByZXMgPSBmYWxzZTtcclxuICAgICAgICAgICAgZWxzZVxyXG4gICAgICAgICAgICAgIHRocm93IGV4Y2VwdGlvbjtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLy8gaWYgb25lIG9mIHRoZW0gaXMgbnVsbCBhbmQgbnVsbCBpcyB0aGUgZ3JlYXRlc3QgdmFsdWUgdGhlcmUgaXMgd2UgbXVzdCBjaGVjayB0aGF0IG1heEV4cFZhbCBpcyBub3QgbnVsbFxyXG4gICAgICAgIGVsc2UgaWYgKGNtcFZhbC5Jc051bGwgIT09IHRoaXMuX21heEV4cFZhbC5Jc051bGwpXHJcbiAgICAgICAgICByZXMgPSBmYWxzZTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIHJlcztcclxuICB9XHJcblxyXG4gIC8vLyA8c3VtbWFyeT5cclxuICAvLy8gcmV0dXJucyB0cnVlIGlmIG1pbiBleHByZXNzaW9uIGVxdWFsIHRvIG1heCBleHByZXNzaW9uIGFuZCBubyB3aWxkIGNoYXJzICgqLCA/KSBleGlzdCBpbiB0aGUgcmFuZ2VcclxuICAvLy8gPC9zdW1tYXJ5PlxyXG4gIC8vLyA8cmV0dXJucz48L3JldHVybnM+XHJcbiAgSXNNYXhFcXVhbHNNaW4oKTogYm9vbGVhbiB7XHJcbiAgICBsZXQgcmVzdWx0OiBib29sZWFuID0gZmFsc2U7XHJcbiAgICBpZiAodGhpcy5oYXNNYXhFeHAoKSAmJiB0aGlzLmhhc01pbkV4cCgpKSB7XHJcbiAgICAgIGlmICh0aGlzLl9taW4uZ2V0SWQoKSA9PT0gdGhpcy5fbWF4LmdldElkKCkpIHtcclxuICAgICAgICBpZiAodGhpcy5fcmV0VHlwZSA9PT0gU3RvcmFnZUF0dHJpYnV0ZS5BTFBIQSB8fCB0aGlzLl9yZXRUeXBlID09PSBTdG9yYWdlQXR0cmlidXRlLlVOSUNPREUpXHJcbiAgICAgICAgICByZXN1bHQgPSAhdGhpcy5XaWxkQ2hhckV4aXN0KCk7XHJcbiAgICAgICAgZWxzZVxyXG4gICAgICAgICAgcmVzdWx0ID0gdHJ1ZTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIHJlc3VsdDtcclxuICB9XHJcblxyXG4gIC8vLyA8c3VtbWFyeT5cclxuICAvLy8gY2hlY2tzIGlmIHdpbGQgY2hhciBleGlzdCBpbiB0bmUgdmFsdWVcclxuICAvLy8gPC9zdW1tYXJ5PlxyXG4gIC8vLyA8cmV0dXJucz48L3JldHVybnM+XHJcbiAgcHJpdmF0ZSBXaWxkQ2hhckV4aXN0KCk6IGJvb2xlYW4ge1xyXG4gICAgbGV0IHdpbGRDaGFyczogc3RyaW5nW10gPSBbXCIqXCIsIFwiP1wiXTtcclxuICAgIGxldCByZXN1bHQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgICAvLyBjaGVjayB0cmltXHJcbiAgICBpZiAoIXRoaXMuX21pbkV4cFZhbC5Jc051bGwpIHtcclxuICAgICAgbGV0IHN0cmluZ1ZhbHVlOiBzdHJpbmcgPSB0aGlzLl9taW5FeHBWYWwuU3RyVmFsO1xyXG5cclxuICAgICAgZm9yIChsZXQgaTogbnVtYmVyID0gMDsgaSA8IHdpbGRDaGFycy5sZW5ndGg7IGkgPSBpICsgMSkge1xyXG4gICAgICAgIGlmIChzdHJpbmdWYWx1ZS5lbmRzV2l0aCh3aWxkQ2hhcnNbaV0pKSB7XHJcbiAgICAgICAgICByZXN1bHQgPSB0cnVlO1xyXG4gICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICByZXR1cm4gcmVzdWx0O1xyXG4gIH1cclxuXHJcbiAgdG9TdHJpbmcoKTogc3RyaW5nIHtcclxuICAgIHJldHVybiBOU3RyaW5nLkZvcm1hdChcInt7Qm91bmRhcnk6IHswfS17MX0sIHsyfSwgezN9fX1cIiwgW1xyXG4gICAgICB0aGlzLl9tYXgsIHRoaXMuX21heCwgdGhpcy5fcmV0VHlwZSwgdGhpcy5fc2l6ZVxyXG4gICAgXSk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
@@ -1,65 +0,0 @@
|
|
1
|
-
import { Logger, StrUtil, XMLConstants, XmlParser } from "@magic-xpa/utils";
|
2
|
-
import { NString, NNumber } from "@magic-xpa/mscorelib";
|
3
|
-
import { ConstInterface } from "../ConstInterface";
|
4
|
-
export class CompMainPrgTable {
|
5
|
-
constructor() {
|
6
|
-
this._ctlIdxTab = null;
|
7
|
-
}
|
8
|
-
fillData(parser) {
|
9
|
-
let endContext = parser.getXMLdata().indexOf(XMLConstants.TAG_TERM, parser.getCurrIndex());
|
10
|
-
if (endContext !== -1 && endContext < parser.getXMLdata().length) {
|
11
|
-
let tag = parser.getXMLsubstring(endContext);
|
12
|
-
parser.add2CurrIndex(tag.indexOf(ConstInterface.MG_TAG_COMPMAINPRG) + ConstInterface.MG_TAG_COMPMAINPRG.length);
|
13
|
-
let tokensVector = XmlParser.getTokens(parser.getXMLsubstring(endContext), XMLConstants.XML_ATTR_DELIM);
|
14
|
-
Logger.Instance.WriteDevToLog("in CompMainPrg.FillData: " + tokensVector.toString());
|
15
|
-
this.initElements(tokensVector);
|
16
|
-
parser.setCurrIndex(endContext + XMLConstants.TAG_TERM.length);
|
17
|
-
return;
|
18
|
-
}
|
19
|
-
Logger.Instance.WriteExceptionToLogWithMsg("in CompMainPrg.FillData() out of string bounds");
|
20
|
-
}
|
21
|
-
initElements(tokensVector) {
|
22
|
-
for (let j = 0; j < tokensVector.length; j += 2) {
|
23
|
-
let attribute = (tokensVector.get_Item(j));
|
24
|
-
let valueStr = (tokensVector.get_Item(j + 1));
|
25
|
-
if (attribute === XMLConstants.MG_ATTR_VALUE) {
|
26
|
-
valueStr = StrUtil.DeleteStringsFromEnds(valueStr, "\"");
|
27
|
-
this.initCtlIdxTab(valueStr);
|
28
|
-
}
|
29
|
-
else
|
30
|
-
Logger.Instance.WriteExceptionToLogWithMsg(NString.Format("There is no such index in CompMainPrg. Add case to CompMainPrg.initElements for {0}", attribute));
|
31
|
-
}
|
32
|
-
Logger.Instance.WriteDevToLog("End CompMainPrg ");
|
33
|
-
}
|
34
|
-
initCtlIdxTab(val) {
|
35
|
-
if (NString.IsNullOrEmpty(val))
|
36
|
-
return;
|
37
|
-
if (val.indexOf(",") !== -1)
|
38
|
-
this._ctlIdxTab = StrUtil.tokenize(val, ",");
|
39
|
-
else {
|
40
|
-
this._ctlIdxTab = new Array(1);
|
41
|
-
this._ctlIdxTab[0] = val;
|
42
|
-
}
|
43
|
-
}
|
44
|
-
getCtlIdx(idx) {
|
45
|
-
if (idx >= 0 && idx < this.getSize()) {
|
46
|
-
let s = this._ctlIdxTab[idx];
|
47
|
-
return NNumber.Parse(s);
|
48
|
-
}
|
49
|
-
return -1;
|
50
|
-
}
|
51
|
-
getIndexOf(ctlIdx) {
|
52
|
-
let i;
|
53
|
-
for (i = 0; i < this.getSize(); i++) {
|
54
|
-
if (ctlIdx === this.getCtlIdx(i))
|
55
|
-
return i;
|
56
|
-
}
|
57
|
-
return -1;
|
58
|
-
}
|
59
|
-
getSize() {
|
60
|
-
if (this._ctlIdxTab === null)
|
61
|
-
return 0;
|
62
|
-
return this._ctlIdxTab.length;
|
63
|
-
}
|
64
|
-
}
|
65
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ29tcE1haW5QcmdUYWJsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VuZ2luZS9zcmMvcnQvQ29tcE1haW5QcmdUYWJsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsTUFBTSxFQUFFLE9BQU8sRUFBRSxZQUFZLEVBQUUsU0FBUyxFQUFDLE1BQU0sa0JBQWtCLENBQUM7QUFDMUUsT0FBTyxFQUFPLE9BQU8sRUFBRSxPQUFPLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUM1RCxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sbUJBQW1CLENBQUM7QUFFakQsTUFBTSxPQUFPLGdCQUFnQjtJQUE3QjtRQUNVLGVBQVUsR0FBYSxJQUFJLENBQUM7SUFnRXRDLENBQUM7SUE5RFEsUUFBUSxDQUFDLE1BQWlCO1FBQy9CLElBQUksVUFBVSxHQUFXLE1BQU0sQ0FBQyxVQUFVLEVBQUUsQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDLFFBQVEsRUFBRSxNQUFNLENBQUMsWUFBWSxFQUFFLENBQUMsQ0FBQztRQUNuRyxJQUFJLFVBQVUsS0FBSyxDQUFDLENBQUMsSUFBSSxVQUFVLEdBQUcsTUFBTSxDQUFDLFVBQVUsRUFBRSxDQUFDLE1BQU0sRUFBRTtZQUNoRSxJQUFJLEdBQUcsR0FBVyxNQUFNLENBQUMsZUFBZSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1lBQ3JELE1BQU0sQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxjQUFjLENBQUMsa0JBQWtCLENBQUMsR0FBRyxjQUFjLENBQUMsa0JBQWtCLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDaEgsSUFBSSxZQUFZLEdBQWlCLFNBQVMsQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLGVBQWUsQ0FBQyxVQUFVLENBQUMsRUFDbEMsWUFBWSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1lBQ2xGLE1BQU0sQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLDJCQUEyQixHQUFHLFlBQVksQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO1lBQ3JGLElBQUksQ0FBQyxZQUFZLENBQUMsWUFBWSxDQUFDLENBQUM7WUFDaEMsTUFBTSxDQUFDLFlBQVksQ0FBQyxVQUFVLEdBQUcsWUFBWSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUMvRCxPQUFPO1NBQ1I7UUFDRCxNQUFNLENBQUMsUUFBUSxDQUFDLDBCQUEwQixDQUFDLGdEQUFnRCxDQUFDLENBQUM7SUFDL0YsQ0FBQztJQUVPLFlBQVksQ0FBQyxZQUEwQjtRQUM3QyxLQUFLLElBQUksQ0FBQyxHQUFXLENBQUMsRUFBRSxDQUFDLEdBQUcsWUFBWSxDQUFDLE1BQU0sRUFBRSxDQUFDLElBQUksQ0FBQyxFQUFFO1lBQ3ZELElBQUksU0FBUyxHQUFXLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ25ELElBQUksUUFBUSxHQUFXLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUN0RCxJQUFJLFNBQVMsS0FBSyxZQUFZLENBQUMsYUFBYSxFQUFFO2dCQUM1QyxRQUFRLEdBQUcsT0FBTyxDQUFDLHFCQUFxQixDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsQ0FBQztnQkFDekQsSUFBSSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsQ0FBQzthQUM5Qjs7Z0JBQ0ksTUFBTSxDQUFDLFFBQVEsQ0FBQywwQkFBMEIsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLHFGQUFxRixFQUM1RixTQUFTLENBQUMsQ0FBQyxDQUFDO1NBQ3JFO1FBQ0QsTUFBTSxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsa0JBQWtCLENBQUMsQ0FBQztJQUNwRCxDQUFDO0lBRU8sYUFBYSxDQUFDLEdBQVc7UUFDL0IsSUFBSSxPQUFPLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQztZQUM1QixPQUFPO1FBQ1QsSUFBSSxHQUFHLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUN6QixJQUFJLENBQUMsVUFBVSxHQUFHLE9BQU8sQ0FBQyxRQUFRLENBQUMsR0FBRyxFQUFFLEdBQUcsQ0FBQyxDQUFDO2FBQzFDO1lBQ0gsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUMvQixJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxHQUFHLEdBQUcsQ0FBQztTQUMxQjtJQUNILENBQUM7SUFFRCxTQUFTLENBQUMsR0FBVztRQUNuQixJQUFJLEdBQUcsSUFBSSxDQUFDLElBQUksR0FBRyxHQUFHLElBQUksQ0FBQyxPQUFPLEVBQUUsRUFBRTtZQUNwQyxJQUFJLENBQUMsR0FBVyxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ3JDLE9BQU8sT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztTQUN6QjtRQUNELE9BQU8sQ0FBQyxDQUFDLENBQUM7SUFDWixDQUFDO0lBRU0sVUFBVSxDQUFDLE1BQWM7UUFDOUIsSUFBSSxDQUFTLENBQUM7UUFDZCxLQUFLLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLElBQUksQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDLEVBQUUsRUFBRTtZQUNuQyxJQUFJLE1BQU0sS0FBSyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQztnQkFDOUIsT0FBTyxDQUFDLENBQUM7U0FDWjtRQUNELE9BQU8sQ0FBQyxDQUFDLENBQUM7SUFDWixDQUFDO0lBRUQsT0FBTztRQUNMLElBQUksSUFBSSxDQUFDLFVBQVUsS0FBSyxJQUFJO1lBQzFCLE9BQU8sQ0FBQyxDQUFDO1FBQ1gsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQztJQUNoQyxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0xvZ2dlciwgU3RyVXRpbCwgWE1MQ29uc3RhbnRzLCBYbWxQYXJzZXJ9IGZyb20gXCJAbWFnaWMteHBhL3V0aWxzXCI7XHJcbmltcG9ydCB7TGlzdCwgTlN0cmluZywgTk51bWJlcn0gZnJvbSBcIkBtYWdpYy14cGEvbXNjb3JlbGliXCI7XHJcbmltcG9ydCB7Q29uc3RJbnRlcmZhY2V9IGZyb20gXCIuLi9Db25zdEludGVyZmFjZVwiO1xyXG5cclxuZXhwb3J0IGNsYXNzIENvbXBNYWluUHJnVGFibGUge1xyXG4gIHByaXZhdGUgX2N0bElkeFRhYjogc3RyaW5nW10gPSBudWxsO1xyXG5cclxuICBwdWJsaWMgZmlsbERhdGEocGFyc2VyOiBYbWxQYXJzZXIpOiB2b2lkIHtcclxuICAgIGxldCBlbmRDb250ZXh0OiBudW1iZXIgPSBwYXJzZXIuZ2V0WE1MZGF0YSgpLmluZGV4T2YoWE1MQ29uc3RhbnRzLlRBR19URVJNLCBwYXJzZXIuZ2V0Q3VyckluZGV4KCkpO1xyXG4gICAgaWYgKGVuZENvbnRleHQgIT09IC0xICYmIGVuZENvbnRleHQgPCBwYXJzZXIuZ2V0WE1MZGF0YSgpLmxlbmd0aCkge1xyXG4gICAgICBsZXQgdGFnOiBTdHJpbmcgPSBwYXJzZXIuZ2V0WE1Mc3Vic3RyaW5nKGVuZENvbnRleHQpO1xyXG4gICAgICBwYXJzZXIuYWRkMkN1cnJJbmRleCh0YWcuaW5kZXhPZihDb25zdEludGVyZmFjZS5NR19UQUdfQ09NUE1BSU5QUkcpICsgQ29uc3RJbnRlcmZhY2UuTUdfVEFHX0NPTVBNQUlOUFJHLmxlbmd0aCk7XHJcbiAgICAgIGxldCB0b2tlbnNWZWN0b3I6IExpc3Q8c3RyaW5nPiA9IFhtbFBhcnNlci5nZXRUb2tlbnMocGFyc2VyLmdldFhNTHN1YnN0cmluZyhlbmRDb250ZXh0KSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBYTUxDb25zdGFudHMuWE1MX0FUVFJfREVMSU0pO1xyXG4gICAgICBMb2dnZXIuSW5zdGFuY2UuV3JpdGVEZXZUb0xvZyhcImluIENvbXBNYWluUHJnLkZpbGxEYXRhOiBcIiArIHRva2Vuc1ZlY3Rvci50b1N0cmluZygpKTtcclxuICAgICAgdGhpcy5pbml0RWxlbWVudHModG9rZW5zVmVjdG9yKTtcclxuICAgICAgcGFyc2VyLnNldEN1cnJJbmRleChlbmRDb250ZXh0ICsgWE1MQ29uc3RhbnRzLlRBR19URVJNLmxlbmd0aCk7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIExvZ2dlci5JbnN0YW5jZS5Xcml0ZUV4Y2VwdGlvblRvTG9nV2l0aE1zZyhcImluIENvbXBNYWluUHJnLkZpbGxEYXRhKCkgb3V0IG9mIHN0cmluZyBib3VuZHNcIik7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGluaXRFbGVtZW50cyh0b2tlbnNWZWN0b3I6IExpc3Q8c3RyaW5nPik6IHZvaWQge1xyXG4gICAgZm9yIChsZXQgajogbnVtYmVyID0gMDsgaiA8IHRva2Vuc1ZlY3Rvci5sZW5ndGg7IGogKz0gMikge1xyXG4gICAgICBsZXQgYXR0cmlidXRlOiBzdHJpbmcgPSAodG9rZW5zVmVjdG9yLmdldF9JdGVtKGopKTtcclxuICAgICAgbGV0IHZhbHVlU3RyOiBzdHJpbmcgPSAodG9rZW5zVmVjdG9yLmdldF9JdGVtKGogKyAxKSk7XHJcbiAgICAgIGlmIChhdHRyaWJ1dGUgPT09IFhNTENvbnN0YW50cy5NR19BVFRSX1ZBTFVFKSB7XHJcbiAgICAgICAgdmFsdWVTdHIgPSBTdHJVdGlsLkRlbGV0ZVN0cmluZ3NGcm9tRW5kcyh2YWx1ZVN0ciwgXCJcXFwiXCIpO1xyXG4gICAgICAgIHRoaXMuaW5pdEN0bElkeFRhYih2YWx1ZVN0cik7XHJcbiAgICAgIH1cclxuICAgICAgZWxzZSBMb2dnZXIuSW5zdGFuY2UuV3JpdGVFeGNlcHRpb25Ub0xvZ1dpdGhNc2coTlN0cmluZy5Gb3JtYXQoXCJUaGVyZSBpcyBubyBzdWNoIGluZGV4IGluIENvbXBNYWluUHJnLiBBZGQgY2FzZSB0byBDb21wTWFpblByZy5pbml0RWxlbWVudHMgZm9yIHswfVwiLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGF0dHJpYnV0ZSkpO1xyXG4gICAgfVxyXG4gICAgTG9nZ2VyLkluc3RhbmNlLldyaXRlRGV2VG9Mb2coXCJFbmQgQ29tcE1haW5QcmcgXCIpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBpbml0Q3RsSWR4VGFiKHZhbDogc3RyaW5nKTogdm9pZCB7XHJcbiAgICBpZiAoTlN0cmluZy5Jc051bGxPckVtcHR5KHZhbCkpXHJcbiAgICAgIHJldHVybjtcclxuICAgIGlmICh2YWwuaW5kZXhPZihcIixcIikgIT09IC0xKVxyXG4gICAgICB0aGlzLl9jdGxJZHhUYWIgPSBTdHJVdGlsLnRva2VuaXplKHZhbCwgXCIsXCIpO1xyXG4gICAgZWxzZSB7XHJcbiAgICAgIHRoaXMuX2N0bElkeFRhYiA9IG5ldyBBcnJheSgxKTtcclxuICAgICAgdGhpcy5fY3RsSWR4VGFiWzBdID0gdmFsO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgZ2V0Q3RsSWR4KGlkeDogbnVtYmVyKTogbnVtYmVyIHtcclxuICAgIGlmIChpZHggPj0gMCAmJiBpZHggPCB0aGlzLmdldFNpemUoKSkge1xyXG4gICAgICBsZXQgczogc3RyaW5nID0gdGhpcy5fY3RsSWR4VGFiW2lkeF07XHJcbiAgICAgIHJldHVybiBOTnVtYmVyLlBhcnNlKHMpO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIC0xO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldEluZGV4T2YoY3RsSWR4OiBudW1iZXIpOiBudW1iZXIge1xyXG4gICAgbGV0IGk6IG51bWJlcjtcclxuICAgIGZvciAoaSA9IDA7IGkgPCB0aGlzLmdldFNpemUoKTsgaSsrKSB7XHJcbiAgICAgIGlmIChjdGxJZHggPT09IHRoaXMuZ2V0Q3RsSWR4KGkpKVxyXG4gICAgICAgIHJldHVybiBpO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIC0xO1xyXG4gIH1cclxuXHJcbiAgZ2V0U2l6ZSgpOiBudW1iZXIge1xyXG4gICAgaWYgKHRoaXMuX2N0bElkeFRhYiA9PT0gbnVsbClcclxuICAgICAgcmV0dXJuIDA7XHJcbiAgICByZXR1cm4gdGhpcy5fY3RsSWR4VGFiLmxlbmd0aDtcclxuICB9XHJcbn1cclxuIl19
|
@@ -1,96 +0,0 @@
|
|
1
|
-
import { YesNoExp } from '../exp/YesNoExp';
|
2
|
-
import { NString, RefParam } from '@magic-xpa/mscorelib';
|
3
|
-
import { Logger, XMLConstants, XmlParser } from '@magic-xpa/utils';
|
4
|
-
import { ConstInterface } from '../ConstInterface';
|
5
|
-
export class DataviewHeaderBase {
|
6
|
-
get ReturnField() {
|
7
|
-
if (this.returnfield === null && this._retVal !== null)
|
8
|
-
this.returnfield = this.Task.getFieldByValueStr(this._retVal);
|
9
|
-
return this.returnfield;
|
10
|
-
}
|
11
|
-
get IsMainSource() {
|
12
|
-
return this._id === -1;
|
13
|
-
}
|
14
|
-
get Task() {
|
15
|
-
return this._task;
|
16
|
-
}
|
17
|
-
get Fields() {
|
18
|
-
return this._task.DataView.GetFieldsTab().getLinkFields(this._id);
|
19
|
-
}
|
20
|
-
get Id() {
|
21
|
-
return this._id;
|
22
|
-
}
|
23
|
-
get LinkEvaluateCondition() {
|
24
|
-
return this._linkEvalCondition;
|
25
|
-
}
|
26
|
-
constructor(task) {
|
27
|
-
this._cond = null;
|
28
|
-
this._task = null;
|
29
|
-
this.Loc = null;
|
30
|
-
this._dir = '\0';
|
31
|
-
this._id = 0;
|
32
|
-
this._keyIdx = 0;
|
33
|
-
this._retVal = null;
|
34
|
-
this.returnfield = null;
|
35
|
-
this.LinkStartAfterField = 0;
|
36
|
-
this.KeyExpression = 0;
|
37
|
-
this._task = task;
|
38
|
-
this._keyIdx = -1;
|
39
|
-
this._cond = new YesNoExp(true);
|
40
|
-
}
|
41
|
-
SetAttributes(attributes) {
|
42
|
-
let keys = attributes.Keys;
|
43
|
-
keys.forEach((text) => {
|
44
|
-
this.setAttribute(text, attributes.get_Item(text));
|
45
|
-
});
|
46
|
-
}
|
47
|
-
setAttribute(attribute, valueStr) {
|
48
|
-
switch (attribute) {
|
49
|
-
case XMLConstants.MG_ATTR_ID:
|
50
|
-
this._id = XmlParser.getInt(valueStr);
|
51
|
-
break;
|
52
|
-
case ConstInterface.MG_ATTR_KEY:
|
53
|
-
this._keyIdx = XmlParser.getInt(valueStr);
|
54
|
-
break;
|
55
|
-
case ConstInterface.MG_ATTR_KEY_EXP:
|
56
|
-
this.KeyExpression = XmlParser.getInt(valueStr);
|
57
|
-
break;
|
58
|
-
case ConstInterface.MG_ATTR_DIR:
|
59
|
-
this._dir = valueStr[0];
|
60
|
-
break;
|
61
|
-
case ConstInterface.MG_ATTR_COND:
|
62
|
-
case ConstInterface.MG_ATTR_COND_RES:
|
63
|
-
this._cond.setVal(this._task, valueStr);
|
64
|
-
break;
|
65
|
-
case ConstInterface.MG_ATTR_RET_VAL:
|
66
|
-
this._retVal = valueStr;
|
67
|
-
break;
|
68
|
-
case ConstInterface.MG_ATTR_LINK_EVAL_CONDITION:
|
69
|
-
this._linkEvalCondition = valueStr[0];
|
70
|
-
break;
|
71
|
-
case ConstInterface.MG_ATTR_LINK_MODE:
|
72
|
-
this.Mode = valueStr[0];
|
73
|
-
break;
|
74
|
-
case ConstInterface.MG_ATTR_LINK_START:
|
75
|
-
this.LinkStartAfterField = XmlParser.getInt(valueStr);
|
76
|
-
break;
|
77
|
-
default:
|
78
|
-
Logger.Instance.WriteExceptionToLogWithMsg(NString.Format("Unrecognized attribute: '{0}'", attribute));
|
79
|
-
break;
|
80
|
-
}
|
81
|
-
}
|
82
|
-
async getLinkedRecord(curRec) {
|
83
|
-
return Promise.resolve(true);
|
84
|
-
}
|
85
|
-
async InitLinkFields(currRec) {
|
86
|
-
for (let i = 0; i < this.Fields.length; i++) {
|
87
|
-
let field = this.Fields.get_Item(i);
|
88
|
-
let isNull = new RefParam(field.isNull());
|
89
|
-
let result = new RefParam(field.getValue(false));
|
90
|
-
await field.getInitExpVal(result, isNull);
|
91
|
-
currRec.SetFieldValue(field.getId(), isNull.value, result.value);
|
92
|
-
field.invalidate(true, false);
|
93
|
-
}
|
94
|
-
}
|
95
|
-
}
|
96
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRGF0YXZpZXdIZWFkZXJCYXNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZW5naW5lL3NyYy9ydC9EYXRhdmlld0hlYWRlckJhc2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBRXpDLE9BQU8sRUFBbUIsT0FBTyxFQUFFLFFBQVEsRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBR3pFLE9BQU8sRUFBd0IsTUFBTSxFQUFFLFlBQVksRUFBRSxTQUFTLEVBQUMsTUFBTSxrQkFBa0IsQ0FBQztBQUl4RixPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sbUJBQW1CLENBQUM7QUFLakQsTUFBTSxPQUFnQixrQkFBa0I7SUFnQnRDLElBQUksV0FBVztRQUNiLElBQUksSUFBSSxDQUFDLFdBQVcsS0FBSyxJQUFJLElBQUksSUFBSSxDQUFDLE9BQU8sS0FBSyxJQUFJO1lBQ3BELElBQUksQ0FBQyxXQUFXLEdBQVUsSUFBSSxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDdkUsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDO0lBQzFCLENBQUM7SUFZRCxJQUFJLFlBQVk7UUFDZCxPQUFPLElBQUksQ0FBQyxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDekIsQ0FBQztJQUtELElBQUksSUFBSTtRQUNOLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQztJQUNwQixDQUFDO0lBS0QsSUFBSSxNQUFNO1FBQ1IsT0FBcUIsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsWUFBWSxFQUFHLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUNuRixDQUFDO0lBRUQsSUFBSSxFQUFFO1FBQ0osT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDO0lBQ2xCLENBQUM7SUFFRCxJ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TyxPQUFPLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQy9CLENBQUM7SUFNTSxLQUFLLENBQUMsY0FBYyxDQUFDLE9BQWdCO1FBSTFDLEtBQUssSUFBSSxDQUFDLEdBQVcsQ0FBQyxFQUFFLENBQUMsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRTtZQUNuRCxJQUFJLEtBQUssR0FBVSxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUUzQyxJQUFJLE1BQU0sR0FBc0IsSUFBSSxRQUFRLENBQUMsS0FBSyxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUM7WUFDN0QsSUFBSSxNQUFNLEdBQXFCLElBQUksUUFBUSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztZQUNuRSxNQUFNLEtBQUssQ0FBQyxhQUFhLENBQUMsTUFBTSxFQUFFLE1BQU0sQ0FBQyxDQUFDO1lBRWpDLE9BQVEsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLE1BQU0sQ0FBQyxLQUFLLEVBQUUsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQzNFLEtBQUssQ0FBQyxVQUFVLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFDO1NBQy9CO0lBQ0gsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtZZXNOb0V4cH0gZnJvbSAnLi4vZXhwL1llc05vRXhwJztcclxuaW1wb3J0IHtUYXNrfSBmcm9tICcuLi90YXNrcy9UYXNrJztcclxuaW1wb3J0IHtEaWN0aW9uYXJ5LCBMaXN0LCBOU3RyaW5nLCBSZWZQYXJhbX0gZnJvbSAnQG1hZ2ljLXhwYS9tc2NvcmVsaWInO1xyXG5pbXBvcnQge0JvdW5kYXJ5fSBmcm9tICcuL0JvdW5kYXJ5JztcclxuaW1wb3J0IHtGaWVsZH0gZnJvbSAnLi4vZGF0YS9GaWVsZCc7XHJcbmltcG9ydCB7TG5rRXZhbF9Db25kLCBMbmtNb2RlLCBMb2dnZXIsIFhNTENvbnN0YW50cywgWG1sUGFyc2VyfSBmcm9tICdAbWFnaWMteHBhL3V0aWxzJztcclxuaW1wb3J0IHtGaWVsZHNUYWJsZUV4dCBhcyBGaWVsZHNUYWJsZX0gZnJvbSAnLi4vZGF0YS9GaWVsZHNUYWJsZSc7XHJcbmltcG9ydCB7SVJlY29yZH0gZnJvbSAnQG1hZ2ljLXhwYS9ndWknO1xyXG5pbXBvcnQge1JlY29yZH0gZnJvbSAnLi4vZGF0YS9SZWNvcmQnO1xyXG5pbXBvcnQge0NvbnN0SW50ZXJmYWNlfSBmcm9tICcuLi9Db25zdEludGVyZmFjZSc7XHJcblxyXG4vLy8gPHN1bW1hcnk+XHJcbi8vLyAgIFN1bW1hcnkgZGVzY3JpcHRpb24gZm9yIExpbmsuXHJcbi8vLyA8L3N1bW1hcnk+XHJcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBEYXRhdmlld0hlYWRlckJhc2Uge1xyXG4gIF9jb25kOiBZZXNOb0V4cCA9IG51bGw7ICAvLyB3aWxsIGJlIGdlbmVyYXRlZCBvciBmcm9tIHRoZSBsaW5rIGNvbmRpdGlvbiBvciBmcm9tIHRoZSBsaW5rIGNvbmRpdGlvbiB2YWx1ZSB0YWdcclxuICBfdGFzazogVGFzayA9IG51bGw7XHJcbiAgTG9jOiBMaXN0PEJvdW5kYXJ5PiA9IG51bGw7XHJcbiAgX2Rpcjogc3RyaW5nID0gJ1xcMCc7XHJcbiAgX2lkOiBudW1iZXIgPSAwOyAvLyB0aGUgaWQgb2YgdGhlIGxpbmsgaW4gdGhlIHRhc2tcclxuICBfa2V5SWR4OiBudW1iZXIgPSAwOyAvLyB0aGUga2V5IChmcm9tIHRoZSB0YWJsZUNhY2hlKSB0aGF0IHRoaXNcclxuXHJcbiAgcHJpdmF0ZSBfcmV0VmFsOiBzdHJpbmcgPSBudWxsO1xyXG5cclxuICAvLy8gPHN1bW1hcnk+XHJcbiAgLy8vIGRvIG5vdCB1c2UgZGlyZWN0bHlcclxuICAvLy8gPC9zdW1tYXJ5PlxyXG4gIHByaXZhdGUgcmV0dXJuZmllbGQ6IEZpZWxkID0gbnVsbDtcclxuICBfbGlua0V2YWxDb25kaXRpb246IExua0V2YWxfQ29uZDtcclxuXHJcbiAgZ2V0IFJldHVybkZpZWxkKCk6IEZpZWxkIHtcclxuICAgIGlmICh0aGlzLnJldHVybmZpZWxkID09PSBudWxsICYmIHRoaXMuX3JldFZhbCAhPT0gbnVsbClcclxuICAgICAgdGhpcy5yZXR1cm5maWVsZCA9IDxGaWVsZD50aGlzLlRhc2suZ2V0RmllbGRCeVZhbHVlU3RyKHRoaXMuX3JldFZhbCk7XHJcbiAgICByZXR1cm4gdGhpcy5yZXR1cm5maWVsZDtcclxuICB9XHJcblxyXG4gIC8vLyA8c3VtbWFyeT5cclxuICAvLy8gbGluayBNb2RlXHJcbiAgLy8vIDwvc3VtbWFyeT5cclxuICBNb2RlOiBMbmtNb2RlO1xyXG4gIExpbmtTdGFydEFmdGVyRmllbGQ6IG51bWJlciA9IDA7XHJcbiAgS2V5RXhwcmVzc2lvbjogbnVtYmVyID0gMDtcclxuXHJcbiAgLy8vIDxzdW1tYXJ5PlxyXG4gIC8vLyB0cnVlIGlmIHRoaXMgbGluayByZXByZXNlbnRzIE1haW4gc291cmNlXHJcbiAgLy8vIDwvc3VtbWFyeT5cclxuICBnZXQgSXNNYWluU291cmNlKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMuX2lkID09PSAtMTtcclxuICB9XHJcblxyXG4gIC8vLyA8c3VtbWFyeT5cclxuICAvLy8gVGFza1xyXG4gIC8vLyA8L3N1bW1hcnk+XHJcbiAgZ2V0IFRhc2soKTogVGFzayB7XHJcbiAgICByZXR1cm4gdGhpcy5fdGFzaztcclxuICB9XHJcblxyXG4gIC8vLyA8c3VtbWFyeT5cclxuICAvLy8gRmllbGRzXHJcbiAgLy8vIDwvc3VtbWFyeT5cclxuICBnZXQgRmllbGRzKCk6IExpc3Q8RmllbGQ+IHtcclxuICAgIHJldHVybiAoPEZpZWxkc1RhYmxlPnRoaXMuX3Rhc2suRGF0YVZpZXcuR2V0RmllbGRzVGFiKCkpLmdldExpbmtGaWVsZHModGhpcy5faWQpO1xyXG4gIH1cclxuXHJcbiAgZ2V0IElkKCk6IG51bWJlciB7XHJcbiAgICByZXR1cm4gdGhpcy5faWQ7XHJcbiAgfVxyXG5cclxuICBnZXQgTGlua0V2YWx1YXRlQ29uZGl0aW9uKCk6IExua0V2YWxfQ29uZCB7XHJcbiAgICByZXR1cm4gdGhpcy5fbGlua0V2YWxDb25kaXRpb247XHJcbiAgfVxyXG5cclxuICAvLy8gPHN1bW1hcnk+XHJcbiAgLy8vICAgaW5pdGlhbGl6ZSB0aGUgbGluayBmb3IgYSBnaXZlbiB0YXNrXHJcbiAgLy8vIDwvc3VtbWFyeT5cclxuICBjb25zdHJ1Y3Rvcih0YXNrOiBUYXNrKSB7XHJcbiAgICB0aGlzLl90YXNrID0gdGFzaztcclxuICAgIHRoaXMuX2tleUlkeCA9IC0xO1xyXG4gICAgdGhpcy5fY29uZCA9IG5ldyBZZXNOb0V4cCh0cnVlKTtcclxuICB9XHJcblxyXG4gIC8vLyA8c3VtbWFyeT5cclxuICAvLy9cclxuICAvLy8gPC9zdW1tYXJ5PlxyXG4gIC8vLyA8cGFyYW0gbmFtZT1cImF0dHJpYnV0ZXNcIj48L3BhcmFtPlxyXG4gIFNldEF0dHJpYnV0ZXMoYXR0cmlidXRlczogRGljdGlvbmFyeTxzdHJpbmc+KTogdm9pZCB7XHJcbiAgICBsZXQga2V5czogc3RyaW5nW10gPSBhdHRyaWJ1dGVzLktleXM7XHJcbiAgICBrZXlzLmZvckVhY2goKHRleHQ6IHN0cmluZykgPT4ge1xyXG4gICAgICB0aGlzLnNldEF0dHJpYnV0ZSh0ZXh0LCBhdHRyaWJ1dGVzLmdldF9JdGVtKHRleHQpKTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgLy8vIDxzdW1tYXJ5PlxyXG4gIC8vLyAgIHBhcnNlIHRoZSBsaW5rIFhNTCB0YWdcclxuICAvLy8gPC9zdW1tYXJ5PlxyXG4gIC8vLyA8cGFyYW0gbmFtZSA9IFwidG9rZW5zVmVjdG9yXCI+dGhlIHZlY3RvciBvZiBhdHRyaWJ1dGVzIGFuZCB0aGVpciB2YWx1ZXM8L3BhcmFtPlxyXG4gIHByb3RlY3RlZCBzZXRBdHRyaWJ1dGUoYXR0cmlidXRlOiBzdHJpbmcsIHZhbHVlU3RyOiBzdHJpbmcpOiB2b2lkIHtcclxuICAgIHN3aXRjaCAoYXR0cmlidXRlKSB7XHJcbiAgICAgIGNhc2UgWE1MQ29uc3RhbnRzLk1HX0FUVFJfSUQ6XHJcbiAgICAgICAgdGhpcy5faWQgPSBYbWxQYXJzZXIuZ2V0SW50KHZhbHVlU3RyKTtcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSBDb25zdEludGVyZmFjZS5NR19BVFRSX0tFWTpcclxuICAgICAgICB0aGlzLl9rZXlJZHggPSBYbWxQYXJzZXIuZ2V0SW50KHZhbHVlU3RyKTtcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSBDb25zdEludGVyZmFjZS5NR19BVFRSX0tFWV9FWFA6XHJcbiAgICAgICAgdGhpcy5LZXlFeHByZXNzaW9uID0gWG1sUGFyc2VyLmdldEludCh2YWx1ZVN0cik7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgQ29uc3RJbnRlcmZhY2UuTUdfQVRUUl9ESVI6XHJcbiAgICAgICAgdGhpcy5fZGlyID0gdmFsdWVTdHJbMF07XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgQ29uc3RJbnRlcmZhY2UuTUdfQVRUUl9DT05EOlxyXG4gICAgICBjYXNlIENvbnN0SW50ZXJmYWNlLk1HX0FUVFJfQ09ORF9SRVM6XHJcbiAgICAgICAgdGhpcy5fY29uZC5zZXRWYWwodGhpcy5fdGFzaywgdmFsdWVTdHIpO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlIENvbnN0SW50ZXJmYWNlLk1HX0FUVFJfUkVUX1ZBTDpcclxuICAgICAgICB0aGlzLl9yZXRWYWwgPSB2YWx1ZVN0cjtcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSBDb25zdEludGVyZmFjZS5NR19BVFRSX0xJTktfRVZBTF9DT05ESVRJT046XHJcbiAgICAgICAgdGhpcy5fbGlua0V2YWxDb25kaXRpb24gPSA8TG5rRXZhbF9Db25kPnZhbHVlU3RyWzBdO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlIENvbnN0SW50ZXJmYWNlLk1HX0FUVFJfTElOS19NT0RFOlxyXG4gICAgICAgIHRoaXMuTW9kZSA9IDxMbmtNb2RlPnZhbHVlU3RyWzBdO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlIENvbnN0SW50ZXJmYWNlLk1HX0FUVFJfTElOS19TVEFSVDpcclxuICAgICAgICB0aGlzLkxpbmtTdGFydEFmdGVyRmllbGQgPSBYbWxQYXJzZXIuZ2V0SW50KHZhbHVlU3RyKTtcclxuICAgICAgICBicmVhaztcclxuICAgICAgZGVmYXVsdDpcclxuICAgICAgICBMb2dnZXIuSW5zdGFuY2UuV3JpdGVFeGNlcHRpb25Ub0xvZ1dpdGhNc2coTlN0cmluZy5Gb3JtYXQoXCJVbnJlY29nbml6ZWQgYXR0cmlidXRlOiAnezB9J1wiLCBhdHRyaWJ1dGUpKTtcclxuICAgICAgICBicmVhaztcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8vLyA8c3VtbWFyeT5cclxuICAvLy8gdXBkYXRlIGxpbmsgcmVzdWx0XHJcbiAgLy8vIDwvc3VtbWFyeT5cclxuICAvLy8gPHBhcmFtIG5hbWU9XCJjdXJSZWNcIj5jdXJyZW50IHJlY29yZDwvcGFyYW0+XHJcbiAgLy8vIDxwYXJhbSBuYW1lPVwicmV0XCI+bGluayBzdWNjZXNzPC9wYXJhbT5cclxuICBhYnN0cmFjdCBTZXRSZXR1cm5WYWx1ZSggcmV0OiBib29sZWFuLCByZWNvbXB1dGU6IGJvb2xlYW4pOiB2b2lkO1xyXG5cclxuICBhc3luYyBnZXRMaW5rZWRSZWNvcmQoY3VyUmVjOiBSZWNvcmQpOiBQcm9taXNlPGJvb2xlYW4+e1xyXG4gICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZSh0cnVlKTtcclxuICB9XHJcblxyXG4gIC8vLyA8c3VtbWFyeT5cclxuICAvLy8gaW5pdGlhbGl6ZSBsaW5rIGZpZWxkc1xyXG4gIC8vLyA8L3N1bW1hcnk+XHJcbiAgLy8vIDxwYXJhbSBuYW1lPVwiY3VyclJlY1wiPjwvcGFyYW0+XHJcbiAgcHVibGljIGFzeW5jIEluaXRMaW5rRmllbGRzKGN1cnJSZWM6IElSZWNvcmQpOiBQcm9taXNlPHZvaWQ+IHtcclxuXHJcbiAgICAvLyBuaXQgdGhlIGN1cmVlbnQgcmVjIGZpZWxkcyB0aGF0IGJlbG9uZyB0byB0aGUgbGlua1xyXG5cclxuICAgIGZvciAobGV0IGk6IG51bWJlciA9IDA7IGkgPCB0aGlzLkZpZWxkcy5sZW5ndGg7IGkrKykge1xyXG4gICAgICBsZXQgZmllbGQ6IEZpZWxkID0gdGhpcy5GaWVsZHMuZ2V0X0l0ZW0oaSk7XHJcblxyXG4gICAgICBsZXQgaXNOdWxsOiBSZWZQYXJhbTxib29sZWFuPiA9IG5ldyBSZWZQYXJhbShmaWVsZC5pc051bGwoKSk7XHJcbiAgICAgIGxldCByZXN1bHQ6IFJlZlBhcmFtPHN0cmluZz4gPSBuZXcgUmVmUGFyYW0oZmllbGQuZ2V0VmFsdWUoZmFsc2UpKTtcclxuICAgICAgYXdhaXQgZmllbGQuZ2V0SW5pdEV4cFZhbChyZXN1bHQsIGlzTnVsbCk7XHJcbiAgICAgIC8vIHRoaXMgZnVuY3Rpb24ga25vd3MgdG8gdGFrZSBlaXRoZXIgdGhlIG51bGwgdmFsdWUgb3IgdGhlIGRlZnVhbHQgdmFsdWVcclxuICAgICAgKDxSZWNvcmQ+Y3VyclJlYykuU2V0RmllbGRWYWx1ZShmaWVsZC5nZXRJZCgpLCBpc051bGwudmFsdWUsIHJlc3VsdC52YWx1ZSk7XHJcbiAgICAgIGZpZWxkLmludmFsaWRhdGUodHJ1ZSwgZmFsc2UpO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iXX0=
|
@@ -1,53 +0,0 @@
|
|
1
|
-
import { Hashtable, StringBuilder } from "@magic-xpa/mscorelib";
|
2
|
-
import { Logger, XMLConstants, XmlParser } from "@magic-xpa/utils";
|
3
|
-
import { DataviewHeadersSaxHandler } from "./DataviewHeadersSaxHandler";
|
4
|
-
import { RemoteDataviewHeader } from "./RemoteDataviewHeader";
|
5
|
-
import { ConstInterface } from "../ConstInterface";
|
6
|
-
export class DataviewHeaders {
|
7
|
-
constructor(task) {
|
8
|
-
this._dataviewHeaders = null;
|
9
|
-
this._task = null;
|
10
|
-
this._task = task;
|
11
|
-
this._dataviewHeaders = new Hashtable();
|
12
|
-
}
|
13
|
-
fillData(parser) {
|
14
|
-
while (this.initInnerObjects(parser, parser.getNextTag())) {
|
15
|
-
}
|
16
|
-
}
|
17
|
-
initInnerObjects(parser, foundTagName) {
|
18
|
-
if (foundTagName === null)
|
19
|
-
return false;
|
20
|
-
if (foundTagName === ConstInterface.MG_TAG_LINKS) {
|
21
|
-
let endContext = parser.getXMLdata().indexOf(ConstInterface.MG_TAG_LINKS_END, parser.getCurrIndex()) + ConstInterface.MG_TAG_LINKS_END.length + 1;
|
22
|
-
let xml = parser.getXMLsubstring(endContext);
|
23
|
-
xml = XmlParser.escapeUrl(xml);
|
24
|
-
new DataviewHeadersSaxHandler(this._task, this._dataviewHeaders, xml);
|
25
|
-
parser.setCurrIndex(endContext + XMLConstants.TAG_CLOSE.length);
|
26
|
-
}
|
27
|
-
else
|
28
|
-
Logger.Instance.WriteExceptionToLogWithMsg("There is no such tag in LinksTable.initInnerObjects(): " + foundTagName);
|
29
|
-
}
|
30
|
-
getDataviewHeaderById(linkId) {
|
31
|
-
return this._dataviewHeaders.get_Item(linkId);
|
32
|
-
}
|
33
|
-
buildDbPosString() {
|
34
|
-
if (this._dataviewHeaders.Count === 0) {
|
35
|
-
return null;
|
36
|
-
}
|
37
|
-
let buf = new StringBuilder();
|
38
|
-
let dataviewHeaders = this._dataviewHeaders.Values;
|
39
|
-
while (dataviewHeaders.MoveNext()) {
|
40
|
-
let curr = ((dataviewHeaders.Current instanceof RemoteDataviewHeader) ? dataviewHeaders.Current : null);
|
41
|
-
if (curr !== null) {
|
42
|
-
let currDbPosVal = curr.getLastFetchedDbPos();
|
43
|
-
buf.Append("@");
|
44
|
-
if (currDbPosVal !== null) {
|
45
|
-
buf.Append(currDbPosVal);
|
46
|
-
}
|
47
|
-
}
|
48
|
-
}
|
49
|
-
buf.Append("@");
|
50
|
-
return buf.ToString();
|
51
|
-
}
|
52
|
-
}
|
53
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRGF0YXZpZXdIZWFkZXJzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZW5naW5lL3NyYy9ydC9EYXRhdmlld0hlYWRlcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFtQixTQUFTLEVBQUUsYUFBYSxFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFDaEYsT0FBTyxFQUFDLE1BQU0sRUFBRSxZQUFZLEVBQUUsU0FBUyxFQUFDLE1BQU0sa0JBQWtCLENBQUM7QUFFakUsT0FBTyxFQUFDLHlCQUF5QixFQUFDLE1BQU0sNkJBQTZCLENBQUM7QUFDdEUsT0FBTyxFQUFDLG9CQUFvQixFQUFDLE1BQU0sd0JBQXdCLENBQUM7QUFFNUQsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLG1CQUFtQixDQUFDO0FBS2pELE1BQU0sT0FBTyxlQUFlO0lBSzFCLFlBQVksSUFBVTtRQUpkLHFCQUFnQixHQUEwQyxJQUFJLENBQUM7UUFDL0QsVUFBSyxHQUFTLElBQUksQ0FBQztRQUl6QixJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQztRQUNsQixJQUFJLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSxTQUFTLEVBQThCLENBQUM7SUFDdEUsQ0FBQztJQUtELFFBQVEsQ0FBQyxNQUFpQjtRQUN4QixPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLEVBQUUsTUFBTSxDQUFDLFVBQVUsRUFBRSxDQUFDLEVBQUU7U0FDMUQ7SUFDSCxDQUFDO0lBS08sZ0JBQWdCLENBQUMsTUFBaUIsRUFBRSxZQUFvQjtRQUM5RCxJQUFJLFlBQVksS0FBSyxJQUFJO1lBQ3ZCLE9BQU8sS0FBSyxDQUFDO1FBRWYsSUFBSSxZQUFZLEtBQUssY0FBYyxDQUFDLFlBQVksRUFBRTtZQUNoRCxJQUFJLFVBQVUsR0FBVyxNQUFNLENBQUMsVUFBVSxFQUFFLENBQUMsT0FBTyxDQUFFLGNBQWMsQ0FBQyxnQkFBZ0IsRUFBRSxNQUFNLENBQUMsWUFBWSxFQUFFLENBQUMsR0FBRyxjQUFjLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQztZQUMzSixJQUFJLEdBQUcsR0FBVyxNQUFNLENBQUMsZUFBZSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1lBQ3JELEdBQUcsR0FBRyxTQUFTLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBRy9CLElBQUkseUJBQXlCLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsR0FBRyxDQUFDLENBQUM7WUFHdEUsTUFBTSxDQUFDLFlBQVksQ0FBQyxVQUFVLEdBQUcsWUFBWSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQztTQUNqRTs7WUFFQyxNQUFNLENBQUMsUUFBUSxDQUFDLDBCQUEwQixDQUFDLHlEQUF5RCxHQUFHLFlBQVksQ0FBQyxDQUFDO0lBQ3pILENBQUM7SUFLRCxxQkFBcUIsQ0FBQyxNQUFjO1FBQ2xDLE9BQTJCLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDcEUsQ0FBQztJQU1ELGdCQUFnQjtRQUNkLElBQUksSUFBSSxDQUFDLGdCQUFnQixDQUFDLEtBQUssS0FBSyxDQUFDLEVBQUU7WUFDckMsT0FBTyxJQUFJLENBQUM7U0FDYjtRQUVELElBQUksR0FBRyxHQUFrQixJQUFJLGFBQWEsRUFBRSxDQUFDO1FBQzdDLElBQUksZUFBZSxHQUF5QyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxDQUFDO1FBRXpGLE9BQU8sZUFBZSxDQUFDLFFBQVEsRUFBRSxFQUFFO1lBQ2pDLElBQUksSUFBSSxHQUF5QixDQUFDLENBQUMsZUFBZSxDQUFDLE9BQU8sWUFBWSxvQkFBb0IsQ0FBQyxDQUFDLENBQUMsQ0FBd0IsZUFBZSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUM7WUFFckosSUFBSSxJQUFJLEtBQUssSUFBSSxFQUFFO2dCQUNqQixJQUFJLFlBQVksR0FBVyxJQUFJLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztnQkFDdEQsR0FBRyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQztnQkFHaEIsSUFBSSxZQUFZLEtBQUssSUFBSSxFQUFFO29CQUN6QixHQUFHLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDO2lCQUMxQjthQUNGO1NBQ0Y7UUFDRCxHQUFHLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ2hCLE9BQU8sR0FBRyxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ3hCLENBQUM7Q0FFRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7QXJyYXlfRW51bWVyYXRvciwgSGFzaHRhYmxlLCBTdHJpbmdCdWlsZGVyfSBmcm9tIFwiQG1hZ2ljLXhwYS9tc2NvcmVsaWJcIjtcclxuaW1wb3J0IHtMb2dnZXIsIFhNTENvbnN0YW50cywgWG1sUGFyc2VyfSBmcm9tIFwiQG1hZ2ljLXhwYS91dGlsc1wiO1xyXG5pbXBvcnQge0RhdGF2aWV3SGVhZGVyQmFzZX0gZnJvbSBcIi4vRGF0YXZpZXdIZWFkZXJCYXNlXCI7XHJcbmltcG9ydCB7RGF0YXZpZXdIZWFkZXJzU2F4SGFuZGxlcn0gZnJvbSBcIi4vRGF0YXZpZXdIZWFkZXJzU2F4SGFuZGxlclwiO1xyXG5pbXBvcnQge1JlbW90ZURhdGF2aWV3SGVhZGVyfSBmcm9tIFwiLi9SZW1vdGVEYXRhdmlld0hlYWRlclwiO1xyXG5pbXBvcnQge1Rhc2t9IGZyb20gXCIuLi90YXNrcy9UYXNrXCJcclxuaW1wb3J0IHtDb25zdEludGVyZmFjZX0gZnJvbSBcIi4uL0NvbnN0SW50ZXJmYWNlXCI7XHJcblxyXG4vLy8gPHN1bW1hcnk+XHJcbi8vLyAgIGhhbmRsZXMgYWxsIGxpbmtzIGluIHRoZSB0YXNrXHJcbi8vLyA8L3N1bW1hcnk+XHJcbmV4cG9ydCBjbGFzcyBEYXRhdmlld0hlYWRlcnMge1xyXG4gIHByaXZhdGUgX2RhdGF2aWV3SGVhZGVyczogSGFzaHRhYmxlPG51bWJlciwgRGF0YXZpZXdIZWFkZXJCYXNlPiA9IG51bGw7XHJcbiAgcHJpdmF0ZSBfdGFzazogVGFzayA9IG51bGw7XHJcblxyXG4gIC8vIGluaXRpYWxpemUgdGhlIGxpbmtzIHRhYmxlIG9mIGEgZ2l2ZW4gdGFza1xyXG4gIGNvbnN0cnVjdG9yKHRhc2s6IFRhc2spIHtcclxuICAgIHRoaXMuX3Rhc2sgPSB0YXNrO1xyXG4gICAgdGhpcy5fZGF0YXZpZXdIZWFkZXJzID0gbmV3IEhhc2h0YWJsZTxudW1iZXIsIERhdGF2aWV3SGVhZGVyQmFzZT4oKTtcclxuICB9XHJcblxyXG4gIC8vLyA8c3VtbWFyeT5cclxuICAvLy8gICB0aGlzIG1ldGhvZCB3aWxsIHBhcnNlIHRoZSB4bWwgZGF0YSByZWxhdGUgdG8gdGhlIGxpbmtzIHRhYmxlIGFuZCB3aWxsIGFsbG9jYXRlIGFuZCBpbml0aWxhaXplIGFsbCByZWxhdGVkIGRhdGFcclxuICAvLy8gPC9zdW1tYXJ5PlxyXG4gIGZpbGxEYXRhKHBhcnNlcjogWG1sUGFyc2VyKTogdm9pZCB7XHJcbiAgICB3aGlsZSAodGhpcy5pbml0SW5uZXJPYmplY3RzKHBhcnNlciwgcGFyc2VyLmdldE5leHRUYWcoKSkpIHtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8vLyA8c3VtbWFyeT5cclxuICAvLy8gICBhbGxvY2F0ZXMgYW5kIGluaXRpYWxpemUgaW5uZXIgb2JqZWN0IGFjY29yZGluZyB0byB0aGUgZm91bmQgeG1sIGRhdGFcclxuICAvLy8gPC9zdW1tYXJ5PlxyXG4gIHByaXZhdGUgaW5pdElubmVyT2JqZWN0cyhwYXJzZXI6IFhtbFBhcnNlciwgZm91bmRUYWdOYW1lOiBzdHJpbmcpOiBib29sZWFuIHtcclxuICAgIGlmIChmb3VuZFRhZ05hbWUgPT09IG51bGwpXHJcbiAgICAgIHJldHVybiBmYWxzZTtcclxuXHJcbiAgICBpZiAoZm91bmRUYWdOYW1lID09PSBDb25zdEludGVyZmFjZS5NR19UQUdfTElOS1MpIHtcclxuICAgICAgbGV0IGVuZENvbnRleHQ6IG51bWJlciA9IHBhcnNlci5nZXRYTUxkYXRhKCkuaW5kZXhPZiggQ29uc3RJbnRlcmZhY2UuTUdfVEFHX0xJTktTX0VORCwgcGFyc2VyLmdldEN1cnJJbmRleCgpKSArIENvbnN0SW50ZXJmYWNlLk1HX1RBR19MSU5LU19FTkQubGVuZ3RoICsgMTtcclxuICAgICAgbGV0IHhtbDogc3RyaW5nID0gcGFyc2VyLmdldFhNTHN1YnN0cmluZyhlbmRDb250ZXh0KTtcclxuICAgICAgeG1sID0gWG1sUGFyc2VyLmVzY2FwZVVybCh4bWwpO1xyXG5cclxuICAgICAgLy8gQWN0aXZhdGUgdGhlIHNheCBwYXJzZXJcclxuICAgICAgbmV3IERhdGF2aWV3SGVhZGVyc1NheEhhbmRsZXIodGhpcy5fdGFzaywgdGhpcy5fZGF0YXZpZXdIZWFkZXJzLCB4bWwpO1xyXG5cclxuICAgICAgLy8gc2tpcCB0byBhZnRlciB0aGUgbGlua3NcclxuICAgICAgcGFyc2VyLnNldEN1cnJJbmRleChlbmRDb250ZXh0ICsgWE1MQ29uc3RhbnRzLlRBR19DTE9TRS5sZW5ndGgpO1xyXG4gICAgfVxyXG4gICAgZWxzZVxyXG4gICAgICBMb2dnZXIuSW5zdGFuY2UuV3JpdGVFeGNlcHRpb25Ub0xvZ1dpdGhNc2coXCJUaGVyZSBpcyBubyBzdWNoIHRhZyBpbiBMaW5rc1RhYmxlLmluaXRJbm5lck9iamVjdHMoKTogXCIgKyBmb3VuZFRhZ05hbWUpO1xyXG4gIH1cclxuXHJcbiAgLy8vIDxzdW1tYXJ5PlxyXG4gIC8vLyAgIGdldHMgYSBsaW5rcyBieSBpdCBpZFxyXG4gIC8vLyA8L3N1bW1hcnk+XHJcbiAgZ2V0RGF0YXZpZXdIZWFkZXJCeUlkKGxpbmtJZDogbnVtYmVyKTogRGF0YXZpZXdIZWFkZXJCYXNlIHtcclxuICAgIHJldHVybiA8RGF0YXZpZXdIZWFkZXJCYXNlPnRoaXMuX2RhdGF2aWV3SGVhZGVycy5nZXRfSXRlbShsaW5rSWQpO1xyXG4gIH1cclxuXHJcbiAgLy8vIDxzdW1tYXJ5PlxyXG4gIC8vLyAgIGJ1aWxkcyB0aGUgZGIgcG9zIHN0cmluZyBvZiBhbGwgbGlua3MgaW4gdGhlIHRhYmxlXHJcbiAgLy8vICAgdGhlIGZvcm1hdCBpcyBAbG5rMV9kYlBvc0BsbmsyX2RiUG9zQC4uLlxyXG4gIC8vLyA8L3N1bW1hcnk+XHJcbiAgYnVpbGREYlBvc1N0cmluZygpOiBzdHJpbmcge1xyXG4gICAgaWYgKHRoaXMuX2RhdGF2aWV3SGVhZGVycy5Db3VudCA9PT0gMCkge1xyXG4gICAgICByZXR1cm4gbnVsbDtcclxuICAgIH1cclxuXHJcbiAgICBsZXQgYnVmOiBTdHJpbmdCdWlsZGVyID0gbmV3IFN0cmluZ0J1aWxkZXIoKTtcclxuICAgIGxldCBkYXRhdmlld0hlYWRlcnM6IEFycmF5X0VudW1lcmF0b3I8RGF0YXZpZXdIZWFkZXJCYXNlPiA9IHRoaXMuX2RhdGF2aWV3SGVhZGVycy5WYWx1ZXM7XHJcblxyXG4gICAgd2hpbGUgKGRhdGF2aWV3SGVhZGVycy5Nb3ZlTmV4dCgpKSB7XHJcbiAgICAgIGxldCBjdXJyOiBSZW1vdGVEYXRhdmlld0hlYWRlciA9ICgoZGF0YXZpZXdIZWFkZXJzLkN1cnJlbnQgaW5zdGFuY2VvZiBSZW1vdGVEYXRhdmlld0hlYWRlcikgPyAgPFJlbW90ZURhdGF2aWV3SGVhZGVyPmRhdGF2aWV3SGVhZGVycy5DdXJyZW50IDogbnVsbCk7XHJcblxyXG4gICAgICBpZiAoY3VyciAhPT0gbnVsbCkge1xyXG4gICAgICAgIGxldCBjdXJyRGJQb3NWYWw6IHN0cmluZyA9IGN1cnIuZ2V0TGFzdEZldGNoZWREYlBvcygpO1xyXG4gICAgICAgIGJ1Zi5BcHBlbmQoXCJAXCIpO1xyXG5cclxuICAgICAgICAvLyBpZiB0aGUgbGFzdCBmZXRjaCBkYiBwb3Mgb2YgdGhlIGxpbmsgaXMgbnVsbCBpdCBtZWFucyB0aGF0IHdlIG5ldmVyIGZldGNoZWQgYSByZWNvcmQgZnJvbSB0aGUgbGlua1xyXG4gICAgICAgIGlmIChjdXJyRGJQb3NWYWwgIT09IG51bGwpIHtcclxuICAgICAgICAgIGJ1Zi5BcHBlbmQoY3VyckRiUG9zVmFsKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIGJ1Zi5BcHBlbmQoXCJAXCIpO1xyXG4gICAgcmV0dXJuIGJ1Zi5Ub1N0cmluZygpO1xyXG4gIH1cclxuXHJcbn1cclxuIl19
|
@@ -1,67 +0,0 @@
|
|
1
|
-
import { Debug } from "@magic-xpa/mscorelib";
|
2
|
-
import { ControlTable } from "@magic-xpa/gui";
|
3
|
-
import { TasksTable } from "../tasks/TasksTable";
|
4
|
-
import { AccessHelper } from "../AccessHelper";
|
5
|
-
export class LastFocusedManager {
|
6
|
-
constructor() {
|
7
|
-
this._lastFocusedTasks = null;
|
8
|
-
this.LastActionTime = 0;
|
9
|
-
}
|
10
|
-
Init(mgDataTable) {
|
11
|
-
this._lastFocusedTasks = new TasksTable();
|
12
|
-
}
|
13
|
-
getCurrTask() {
|
14
|
-
let rtEvnt = AccessHelper.eventsManager.getLastRtEvent();
|
15
|
-
return (rtEvnt !== null && rtEvnt.getTask() !== null && rtEvnt.getTask().GetContextTask() !== null)
|
16
|
-
? this.getLastFocusedTask(rtEvnt.getTask().GetContextTask().getMgdID())
|
17
|
-
: this.getLastFocusedTask();
|
18
|
-
}
|
19
|
-
getLastFocusedTask(mgdID) {
|
20
|
-
if (arguments.length === 0)
|
21
|
-
return this._lastFocusedTasks.getTask(AccessHelper.mgDataTable.currMgdID);
|
22
|
-
else
|
23
|
-
return this._lastFocusedTasks.getTask(mgdID);
|
24
|
-
}
|
25
|
-
setLastFocusedTask(iTask) {
|
26
|
-
let task = iTask;
|
27
|
-
let currMgdID = task.getMgdID();
|
28
|
-
this._lastFocusedTasks.setTaskAt(task, currMgdID);
|
29
|
-
}
|
30
|
-
clean(index) {
|
31
|
-
LastFocusedManager.deleteLastFocusedControlAt(index);
|
32
|
-
if (this._lastFocusedTasks !== null) {
|
33
|
-
this._lastFocusedTasks.setTaskAt(null, index);
|
34
|
-
}
|
35
|
-
}
|
36
|
-
static getLastFocusedControl(mgdID) {
|
37
|
-
if (arguments.length === 1)
|
38
|
-
return LastFocusedManager.getLastFocusedControl_1(mgdID);
|
39
|
-
else
|
40
|
-
return LastFocusedManager.getLastFocusedControl_0();
|
41
|
-
}
|
42
|
-
static getLastFocusedControl_0() {
|
43
|
-
return LastFocusedManager._lastFocusedControls.getCtrl(AccessHelper.mgDataTable.currMgdID);
|
44
|
-
}
|
45
|
-
static getLastFocusedControl_1(mgdID) {
|
46
|
-
return LastFocusedManager._lastFocusedControls.getCtrl(mgdID);
|
47
|
-
}
|
48
|
-
static deleteLastFocusedControlAt(index) {
|
49
|
-
if (LastFocusedManager._lastFocusedControls !== null && LastFocusedManager._lastFocusedControls.getCtrl(index) != null) {
|
50
|
-
LastFocusedManager._lastFocusedControls.deleteControlAt(index);
|
51
|
-
}
|
52
|
-
}
|
53
|
-
static setLastFocusedControlAt(ctrl, currMgdID) {
|
54
|
-
LastFocusedManager._lastFocusedControls.setControlAt(ctrl, currMgdID);
|
55
|
-
}
|
56
|
-
static setLastFocusedControl(task, mgControl) {
|
57
|
-
let currMgdID = task.getMgdID();
|
58
|
-
Debug.Assert(mgControl === null || task === mgControl.getForm().getTask());
|
59
|
-
LastFocusedManager.LastFocusMgdID = currMgdID;
|
60
|
-
LastFocusedManager.setLastFocusedControlAt(mgControl, currMgdID);
|
61
|
-
LastFocusedManager.Instance.setLastFocusedTask(task);
|
62
|
-
}
|
63
|
-
}
|
64
|
-
LastFocusedManager.Instance = new LastFocusedManager();
|
65
|
-
LastFocusedManager._lastFocusedControls = new ControlTable();
|
66
|
-
LastFocusedManager.LastFocusMgdID = 0;
|
67
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTGFzdEZvY3VzZWRNYW5hZ2VyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZW5naW5lL3NyYy9ydC9MYXN0Rm9jdXNlZE1hbmFnZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLEtBQUssRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBQzNDLE9BQU8sRUFBUyxZQUFZLEVBQWlCLE1BQU0sZ0JBQWdCLENBQUM7QUFJcEUsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBR2pELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUcvQyxNQUFNLE9BQU8sa0JBQWtCO0lBQS9CO1FBS1Usc0JBQWlCLEdBQWUsSUFBSSxDQUFDO1FBQzdDLG1CQUFjLEdBQVcsQ0FBQyxDQUFDO0lBa0g3QixDQUFDO0lBN0dDLElBQUksQ0FBQyxXQUE2QjtRQUNoQyxJQUFJLENBQUMsaUJBQWlCLEdBQUcsSUFBSSxVQUFVLEVBQUUsQ0FBQztJQUM1QyxDQUFDO0lBS0QsV0FBVztRQUNULElBQUksTUFBTSxHQUFpQixZQUFZLENBQUMsYUFBYSxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQ3ZFLE9BQU8sQ0FBQyxNQUFNLEtBQUssSUFBSSxJQUFJLE1BQU0sQ0FBQyxPQUFPLEVBQUUsS0FBSyxJQUFJLElBQUksTUFBTSxDQUFDLE9BQU8sRUFBRSxDQUFDLGNBQWMsRUFBRSxLQUFLLElBQUksQ0FBQztZQUNqRyxDQUFDLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFTLE1BQU0sQ0FBQyxPQUFPLEVBQUUsQ0FBQyxjQUFjLEVBQUcsQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUNoRixDQUFDLENBQUMsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7SUFDaEMsQ0FBQztJQUtELGtCQUFrQixDQUFDLEtBQWM7UUFDL0IsSUFBSSxTQUFTLENBQUMsTUFBTSxLQUFLLENBQUM7WUFDeEIsT0FBYSxJQUFJLENBQUMsaUJBQWlCLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFDLENBQUM7O1lBRWhGLE9BQWEsSUFBSSxDQUFDLGlCQUFpQixDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN2RCxDQUFDO0lBS0Qsa0JBQWtCLENBQUMsS0FBWTtRQUU3QixJQUFJLElBQUksR0FBZSxLQUFLLENBQUM7UUFDN0IsSUFBSSxTQUFTLEdBQVcsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ3hDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUFFLFNBQVMsQ0FBQyxDQUFDO0lBRXBELENBQUM7SUFLRCxLQUFLLENBQUMsS0FBYTtRQUNqQixrQkFBa0IsQ0FBQywwQkFBMEIsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUVyRCxJQUFJLElBQUksQ0FBQyxpQkFBaUIsS0FBSyxJQUFJLEVBQUU7WUFDbkMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFNBQVMsQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUM7U0FDL0M7SUFDSCxDQUFDO0lBSUQsTUFBTSxDQUFDLHFCQUFxQixDQUFDLEtBQWM7UUFDekMsSUFBRyxTQUFTLENBQUMsTUFBTSxLQUFLLENBQUM7WUFDdkIsT0FBTyxrQkFBa0IsQ0FBQyx1QkFBdUIsQ0FBQyxLQUFLLENBQUMsQ0FBQzs7WUFFekQsT0FBTyxrQkFBa0IsQ0FBQyx1QkFBdUIsRUFBRSxDQUFDO0lBRXhELENBQUM7SUFNTyxNQUFNLENBQUMsdUJBQXVCO1FBQ3BDLE9BQWtCLGtCQUFrQixDQUFDLG9CQUFvQixDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ3hHLENBQUM7SUFPTyxNQUFNLENBQUMsdUJBQXVCLENBQUMsS0FBYTtRQUNsRCxPQUFrQixrQkFBa0IsQ0FBQyxvQkFBb0IsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDM0UsQ0FBQztJQU9ELE1BQU0sQ0FBQywwQkFBMEIsQ0FBQyxLQUFhO1FBQzdDLElBQUksa0JBQWtCLENBQUMsb0JBQW9CLEtBQUssSUFBSSxJQUFJLGtCQUFrQixDQUFDLG9CQUFvQixDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsSUFBSSxJQUFJLEVBQUU7WUFDdEgsa0JBQWtCLENBQUMsb0JBQW9CLENBQUMsZUFBZSxDQUFDLEtBQUssQ0FBQyxDQUFDO1NBQ2hFO0lBQ0gsQ0FBQztJQU9ELE1BQU0sQ0FBQyx1QkFBdUIsQ0FBQyxJQUFtQixFQUFFLFNBQWlCO1FBQ25FLGtCQUFrQixDQUFDLG9CQUFvQixDQUFDLFlBQVksQ0FBQyxJQUFJLEVBQUUsU0FBUyxDQUFDLENBQUM7SUFDeEUsQ0FBQztJQVNELE1BQU0sQ0FBQyxxQkFBcUIsQ0FBQyxJQUFjLEVBQUUsU0FBd0I7UUFDakUsSUFBSSxTQUFTLEdBQVcsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBRTFDLEtBQUssQ0FBQyxNQUFNLENBQUMsU0FBUyxLQUFLLElBQUksSUFBSSxJQUFJLEtBQUssU0FBUyxDQUFDLE9BQU8sRUFBRSxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUM7UUFFM0Usa0JBQWtCLENBQUMsY0FBYyxHQUFHLFNBQVMsQ0FBQztRQUM5QyxrQkFBa0IsQ0FBQyx1QkFBdUIsQ0FBQyxTQUFTLEVBQUUsU0FBUyxDQUFDLENBQUM7UUFDakUsa0JBQWtCLENBQUMsUUFBUSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3ZELENBQUM7O0FBdEhNLDJCQUFRLEdBQXVCLElBQUksa0JBQWtCLEVBQUUsQ0FBQztBQUNoRCx1Q0FBb0IsR0FBaUIsSUFBSSxZQUFZLEVBQUUsQ0FBQztBQUNoRSxpQ0FBYyxHQUFXLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7RGVidWd9IGZyb20gXCJAbWFnaWMteHBhL21zY29yZWxpYlwiO1xyXG5pbXBvcnQgeyBJVGFzaywgQ29udHJvbFRhYmxlLCBNZ0NvbnRyb2xCYXNlIH0gZnJvbSBcIkBtYWdpYy14cGEvZ3VpXCI7XHJcbmltcG9ydCB7IE1nQ29udHJvbCB9IGZyb20gXCIuLi9ndWkvTWdDb250cm9sXCI7XHJcbmltcG9ydCB7IFRhc2tCYXNlIH0gZnJvbSBcIi4uL3Rhc2tzL1Rhc2tCYXNlXCI7XHJcbmltcG9ydCB7IFRhc2sgfSBmcm9tIFwiLi4vdGFza3MvVGFza1wiO1xyXG5pbXBvcnQgeyBUYXNrc1RhYmxlIH0gZnJvbSBcIi4uL3Rhc2tzL1Rhc2tzVGFibGVcIjtcclxuaW1wb3J0IHsgUnVuVGltZUV2ZW50IH0gZnJvbSBcIi4uL2V2ZW50L1J1blRpbWVFdmVudFwiO1xyXG5pbXBvcnQgeyBNR0RhdGFDb2xsZWN0aW9uIH0gZnJvbSBcIi4uL3Rhc2tzL01HRGF0YUNvbGxlY3Rpb25cIjtcclxuaW1wb3J0IHsgQWNjZXNzSGVscGVyIH0gZnJvbSBcIi4uL0FjY2Vzc0hlbHBlclwiO1xyXG5cclxuLy8gc3BsaXQgZnJvbSBHdWlNYW5hZ2VyIHRvIGZpeCBjaXJjdWxhciByZWZlcmVuY2VzXHJcbmV4cG9ydCBjbGFzcyBMYXN0Rm9jdXNlZE1hbmFnZXIge1xyXG4gIHN0YXRpYyBJbnN0YW5jZTogTGFzdEZvY3VzZWRNYW5hZ2VyID0gbmV3IExhc3RGb2N1c2VkTWFuYWdlcigpO1xyXG4gIHByaXZhdGUgc3RhdGljIF9sYXN0Rm9jdXNlZENvbnRyb2xzOiBDb250cm9sVGFibGUgPSBuZXcgQ29udHJvbFRhYmxlKCk7IC8vIGxhc3QgZm9jdXNlZCBjb250cm9scyBQRVIgV0lORE9XXHJcbiAgc3RhdGljIExhc3RGb2N1c01nZElEOiBudW1iZXIgPSAwOyAvLyB0aGUgbGFzdCBNR0RBVEEgZm9yIHdoaWNoIHNldEZvY3VzIHdhcyBwZXJmb3JtZWRcclxuXHJcbiAgcHJpdmF0ZSBfbGFzdEZvY3VzZWRUYXNrczogVGFza3NUYWJsZSA9IG51bGw7IC8vIGFycmF5IG9mIHRhc2tzIGluIGZvY3VzIHBlciB3aW5kb3dcclxuICBMYXN0QWN0aW9uVGltZTogbnVtYmVyID0gMDsgLy8gdGltZSBvZiBsYXN0IHVzZXIgYWN0aW9uIGZvciBJRExFIGZ1bmN0aW9uXHJcblxyXG4gIC8vLyA8c3VtbWFyeT5cclxuICAvLy8gSW5pdGlhbGl6ZSB0aGUgbGFzdC1mb2N1c2VkLXRhc2sgdGFibGVcclxuICAvLy8gPC9zdW1tYXJ5PlxyXG4gIEluaXQobWdEYXRhVGFibGU6IE1HRGF0YUNvbGxlY3Rpb24pIHtcclxuICAgIHRoaXMuX2xhc3RGb2N1c2VkVGFza3MgPSBuZXcgVGFza3NUYWJsZSgpO1xyXG4gIH1cclxuXHJcbiAgLy8vIDxzdW1tYXJ5PlxyXG4gIC8vLyBnZXQgQ3VycmVudCBwcm9jZXNzaW5nIHRhc2s8L3N1bW1hcnk+XHJcbiAgLy8vIDwvc3VtbWFyeT5cclxuICBnZXRDdXJyVGFzaygpOiBUYXNrIHtcclxuICAgIGxldCBydEV2bnQ6IFJ1blRpbWVFdmVudCA9IEFjY2Vzc0hlbHBlci5ldmVudHNNYW5hZ2VyLmdldExhc3RSdEV2ZW50KCk7XHJcbiAgICByZXR1cm4gKHJ0RXZudCAhPT0gbnVsbCAmJiBydEV2bnQuZ2V0VGFzaygpICE9PSBudWxsICYmIHJ0RXZudC5nZXRUYXNrKCkuR2V0Q29udGV4dFRhc2soKSAhPT0gbnVsbClcclxuICAgICAgPyB0aGlzLmdldExhc3RGb2N1c2VkVGFzaygoPFRhc2s+IHJ0RXZudC5nZXRUYXNrKCkuR2V0Q29udGV4dFRhc2soKSkuZ2V0TWdkSUQoKSlcclxuICAgICAgOiB0aGlzLmdldExhc3RGb2N1c2VkVGFzaygpO1xyXG4gIH1cclxuXHJcblxyXG4gIC8vLyA8c3VtbWFyeT4gZ2V0IGxhc3QgdGFzayB0aGF0IGlzIGluIGZvY3VzPC9zdW1tYXJ5PlxyXG4gIC8vLyA8cmV0dXJucz48L3JldHVybnM+XHJcbiAgZ2V0TGFzdEZvY3VzZWRUYXNrKG1nZElEPzogbnVtYmVyKTogVGFzayB7XHJcbiAgICBpZiAoYXJndW1lbnRzLmxlbmd0aCA9PT0gMClcclxuICAgICAgcmV0dXJuIDxUYXNrPnRoaXMuX2xhc3RGb2N1c2VkVGFza3MuZ2V0VGFzayhBY2Nlc3NIZWxwZXIubWdEYXRhVGFibGUuY3Vyck1nZElEKTtcclxuICAgIGVsc2VcclxuICAgICAgcmV0dXJuIDxUYXNrPnRoaXMuX2xhc3RGb2N1c2VkVGFza3MuZ2V0VGFzayhtZ2RJRCk7XHJcbiAgfVxyXG5cclxuXHJcbiAgLy8vIDxzdW1tYXJ5PiBzZXQgbGFzdCBmb2N1c2VkIGNvbnRyb2wgZm9yIGN1cnJlbnQgd2luZG93PC9zdW1tYXJ5PlxyXG4gIC8vLyA8cGFyYW0gbmFtZT1cImxhc3RcIj5mb2N1c2VkIGNvbnRyb2wgZm9yIGN1cnJlbnQgd2luZG93PC9wYXJhbT5cclxuICBzZXRMYXN0Rm9jdXNlZFRhc2soaVRhc2s6IElUYXNrKTogdm9pZCB7XHJcblxyXG4gICAgbGV0IHRhc2s6IFRhc2sgPSA8VGFzaz5pVGFzaztcclxuICAgIGxldCBjdXJyTWdkSUQ6IG51bWJlciA9IHRhc2suZ2V0TWdkSUQoKTtcclxuICAgIHRoaXMuX2xhc3RGb2N1c2VkVGFza3Muc2V0VGFza0F0KHRhc2ssIGN1cnJNZ2RJRCk7XHJcblxyXG4gIH1cclxuXHJcblxyXG4gIC8vLyA8c3VtbWFyeT4gbWVtb3J5IGxlYWsgZml4OiBjbGVhbiBkYW5nYWxpbmcgcmVmcmVuY2VzIHRvIGNsb3NlZCBtZ0RhdGEnczwvc3VtbWFyeT5cclxuICAvLy8gPHBhcmFtIG5hbWU9XCJpbmRleFwiPnRoZSBtZ0RhdGEgaW5kZXgvLy8gPC9wYXJhbT5cclxuICBjbGVhbihpbmRleDogbnVtYmVyKTogdm9pZCB7XHJcbiAgICBMYXN0Rm9jdXNlZE1hbmFnZXIuZGVsZXRlTGFzdEZvY3VzZWRDb250cm9sQXQoaW5kZXgpO1xyXG5cclxuICAgIGlmICh0aGlzLl9sYXN0Rm9jdXNlZFRhc2tzICE9PSBudWxsKSB7XHJcbiAgICAgIHRoaXMuX2xhc3RGb2N1c2VkVGFza3Muc2V0VGFza0F0KG51bGwsIGluZGV4KTtcclxuICAgIH1cclxuICB9XHJcbiAgLy8vIDxzdW1tYXJ5PlxyXG4gIC8vLyAgIFRoZSBtYWluIG1lc3NhZ2UgbG9vcCB0aGF0IHJlYWRzIG1lc3NhZ2VzIGZyb20gdGhlIHF1ZXVlIGFuZCBkaXNwYXRjaGVzIHRoZW0uXHJcbiAgLy8vIDwvc3VtbWFyeT5cclxuICBzdGF0aWMgZ2V0TGFzdEZvY3VzZWRDb250cm9sKG1nZElEPzogbnVtYmVyKTogTWdDb250cm9sIHtcclxuICAgIGlmKGFyZ3VtZW50cy5sZW5ndGggPT09IDEpXHJcbiAgICAgIHJldHVybiBMYXN0Rm9jdXNlZE1hbmFnZXIuZ2V0TGFzdEZvY3VzZWRDb250cm9sXzEobWdkSUQpO1xyXG4gICAgZWxzZVxyXG4gICAgICByZXR1cm4gTGFzdEZvY3VzZWRNYW5hZ2VyLmdldExhc3RGb2N1c2VkQ29udHJvbF8wKCk7XHJcblxyXG4gIH1cclxuXHJcbiAgLy8vIDxzdW1tYXJ5PlxyXG4gIC8vLyAgIGdldCB0aGUgbGFzdCBjb250cm9sIHRoYXQgaGFkIHRoZSBmb2N1cyBpbiB0aGUgY3VycmVudCBtZ2RhdGFcclxuICAvLy8gPC9zdW1tYXJ5PlxyXG4gIC8vLyA8cmV0dXJucz4gcmVmZXJlbmNlIHRvIHRoZSBsYXN0IGZvY3VzZWQgY29udHJvbDwvcmV0dXJucz5cclxuICBwcml2YXRlIHN0YXRpYyBnZXRMYXN0Rm9jdXNlZENvbnRyb2xfMCgpOiBNZ0NvbnRyb2wge1xyXG4gICAgcmV0dXJuIDxNZ0NvbnRyb2w+TGFzdEZvY3VzZWRNYW5hZ2VyLl9sYXN0Rm9jdXNlZENvbnRyb2xzLmdldEN0cmwoQWNjZXNzSGVscGVyLm1nRGF0YVRhYmxlLmN1cnJNZ2RJRCk7XHJcbiAgfVxyXG5cclxuICAvLy8gPHN1bW1hcnk+XHJcbiAgLy8vICAgZ2V0IHRoZSBsYXN0IGNvbnRyb2wgdGhhdCBoYWQgdGhlIGZvY3VzIGluIHRoZSBjdXJyZW50IG1nZGF0YVxyXG4gIC8vLyA8L3N1bW1hcnk+XHJcbiAgLy8vIDxwYXJhbSBuYW1lID0gXCJtZ2RJRFwiPnRoZSBtZ2RhdGEgSUQgZm9yIHdoaWNoIHRvIHJldHVybiB0aGUgbGFzdCBmb2N1c2VkIGNvbnRyb2w8L3BhcmFtPlxyXG4gIC8vLyA8cmV0dXJucz4gcmVmZXJlbmNlIHRvIHRoZSBsYXN0IGZvY3VzZWQgY29udHJvbDwvcmV0dXJucz5cclxuICBwcml2YXRlIHN0YXRpYyBnZXRMYXN0Rm9jdXNlZENvbnRyb2xfMShtZ2RJRDogbnVtYmVyKTogTWdDb250cm9sIHtcclxuICAgIHJldHVybiA8TWdDb250cm9sPkxhc3RGb2N1c2VkTWFuYWdlci5fbGFzdEZvY3VzZWRDb250cm9scy5nZXRDdHJsKG1nZElEKTtcclxuICB9XHJcblxyXG5cclxuICAvLy8gPHN1bW1hcnk+XHJcbiAgLy8vIGdldCB0aGUgY29udHJvbCBhdCAnaW5kZXgnXHJcbiAgLy8vIDwvc3VtbWFyeT5cclxuICAvLy8gPHBhcmFtIG5hbWU9XCJpbmRleFwiPjwvcGFyYW0+XHJcbiAgc3RhdGljIGRlbGV0ZUxhc3RGb2N1c2VkQ29udHJvbEF0KGluZGV4OiBudW1iZXIpOiB2b2lkIHtcclxuICAgIGlmIChMYXN0Rm9jdXNlZE1hbmFnZXIuX2xhc3RGb2N1c2VkQ29udHJvbHMgIT09IG51bGwgJiYgTGFzdEZvY3VzZWRNYW5hZ2VyLl9sYXN0Rm9jdXNlZENvbnRyb2xzLmdldEN0cmwoaW5kZXgpICE9IG51bGwpIHtcclxuICAgICAgTGFzdEZvY3VzZWRNYW5hZ2VyLl9sYXN0Rm9jdXNlZENvbnRyb2xzLmRlbGV0ZUNvbnRyb2xBdChpbmRleCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvLy8gPHN1bW1hcnk+XHJcbiAgLy8vIHNldCB0aGUgY29udHJvbCBhdCAnaW5kZXgnXHJcbiAgLy8vIDwvc3VtbWFyeT5cclxuICAvLy8gPHBhcmFtIG5hbWU9XCJjdHJsXCI+PC9wYXJhbT5cclxuICAvLy8gPHBhcmFtIG5hbWU9XCJjdXJyTWdkSURcIj48L3BhcmFtPlxyXG4gIHN0YXRpYyBzZXRMYXN0Rm9jdXNlZENvbnRyb2xBdChjdHJsOiBNZ0NvbnRyb2xCYXNlLCBjdXJyTWdkSUQ6IG51bWJlcik6IHZvaWQge1xyXG4gICAgTGFzdEZvY3VzZWRNYW5hZ2VyLl9sYXN0Rm9jdXNlZENvbnRyb2xzLnNldENvbnRyb2xBdChjdHJsLCBjdXJyTWdkSUQpO1xyXG4gIH1cclxuXHJcblxyXG5cclxuICAvLy8gPHN1bW1hcnk+XHJcbiAgLy8vIHNldCB0aGUgbGFzdCBmb2N1c2VkIGNvbnRyb2wgYW5kIHRoZSB0YXNrIGZvciBjdXJyZW50IHdpbmRvdy5cclxuICAvLy8gPC9zdW1tYXJ5PlxyXG4gIC8vLyA8cGFyYW0gbmFtZT1cInRhc2tcIj48L3BhcmFtPlxyXG4gIC8vLyA8cGFyYW0gbmFtZT1cIk1nQ29udHJvbEJhc2VcIj48L3BhcmFtPlxyXG4gIHN0YXRpYyBzZXRMYXN0Rm9jdXNlZENvbnRyb2wodGFzazogVGFza0Jhc2UsIG1nQ29udHJvbDogTWdDb250cm9sQmFzZSk6IHZvaWQge1xyXG4gICAgICBsZXQgY3Vyck1nZElEOiBudW1iZXIgPSB0YXNrLmdldE1nZElEKCk7XHJcblxyXG4gICAgRGVidWcuQXNzZXJ0KG1nQ29udHJvbCA9PT0gbnVsbCB8fCB0YXNrID09PSBtZ0NvbnRyb2wuZ2V0Rm9ybSgpLmdldFRhc2soKSk7XHJcblxyXG4gICAgTGFzdEZvY3VzZWRNYW5hZ2VyLkxhc3RGb2N1c01nZElEID0gY3Vyck1nZElEO1xyXG4gICAgTGFzdEZvY3VzZWRNYW5hZ2VyLnNldExhc3RGb2N1c2VkQ29udHJvbEF0KG1nQ29udHJvbCwgY3Vyck1nZElEKTtcclxuICAgIExhc3RGb2N1c2VkTWFuYWdlci5JbnN0YW5jZS5zZXRMYXN0Rm9jdXNlZFRhc2sodGFzayk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
|