@magic-xpa/gui 4.1200.0-dev4120.21 → 4.1200.0-dev4120.213

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (81) hide show
  1. package/fesm2022/magic-xpa-gui.mjs +5724 -249
  2. package/fesm2022/magic-xpa-gui.mjs.map +1 -1
  3. package/index.d.ts +3 -0
  4. package/package.json +2 -4
  5. package/src/GuiEnums.d.ts +3 -0
  6. package/src/gui/GuiMgControl.d.ts +1 -0
  7. package/src/management/exp/ExpressionInterface.d.ts +1 -0
  8. package/src/management/gui/MgControlBase.d.ts +1 -1
  9. package/src/management/gui/PropInterface.d.ts +2 -1
  10. package/esm2022/index.mjs +0 -71
  11. package/esm2022/magic-xpa-gui.mjs +0 -2
  12. package/esm2022/src/Commands.mjs +0 -184
  13. package/esm2022/src/Events.mjs +0 -425
  14. package/esm2022/src/EventsProcessor.mjs +0 -67
  15. package/esm2022/src/FocusManager.mjs +0 -34
  16. package/esm2022/src/GuiConstants.mjs +0 -68
  17. package/esm2022/src/GuiEnums.mjs +0 -301
  18. package/esm2022/src/GuiEnvironment.mjs +0 -4
  19. package/esm2022/src/IFlowMonitorQueue.mjs +0 -2
  20. package/esm2022/src/Manager.mjs +0 -91
  21. package/esm2022/src/UIBridge.mjs +0 -33
  22. package/esm2022/src/env/IEnvironment.mjs +0 -2
  23. package/esm2022/src/gui/ControlBase.mjs +0 -3
  24. package/esm2022/src/gui/GuiMgControl.mjs +0 -123
  25. package/esm2022/src/gui/GuiMgForm.mjs +0 -4
  26. package/esm2022/src/gui/KeyboardItem.mjs +0 -135
  27. package/esm2022/src/gui/LastFocusedVal.mjs +0 -11
  28. package/esm2022/src/gui/MgValue.mjs +0 -16
  29. package/esm2022/src/gui/PropParentInterface.mjs +0 -2
  30. package/esm2022/src/gui/low/DialogHandler.mjs +0 -7
  31. package/esm2022/src/gui/low/GuiCommand.mjs +0 -68
  32. package/esm2022/src/gui/low/GuiCommandQueue.mjs +0 -35
  33. package/esm2022/src/gui/low/GuiInteractive.mjs +0 -178
  34. package/esm2022/src/gui/low/Style.mjs +0 -20
  35. package/esm2022/src/management/RuntimeContextBase.mjs +0 -42
  36. package/esm2022/src/management/data/BlobType.mjs +0 -281
  37. package/esm2022/src/management/data/DcValues.mjs +0 -214
  38. package/esm2022/src/management/data/DcValuesBuilderBase.mjs +0 -96
  39. package/esm2022/src/management/data/FieldDef.mjs +0 -331
  40. package/esm2022/src/management/data/FieldsTable.mjs +0 -54
  41. package/esm2022/src/management/data/GuiDataViewBase.mjs +0 -88
  42. package/esm2022/src/management/data/GuiFieldBase.mjs +0 -82
  43. package/esm2022/src/management/data/IRecord.mjs +0 -2
  44. package/esm2022/src/management/data/IReferencedObject.mjs +0 -2
  45. package/esm2022/src/management/data/NUM_TYPE.mjs +0 -1739
  46. package/esm2022/src/management/data/ObjectReferenceBase.mjs +0 -48
  47. package/esm2022/src/management/data/ObjectReferencesCollection.mjs +0 -27
  48. package/esm2022/src/management/data/RecordUtils.mjs +0 -361
  49. package/esm2022/src/management/data/VectorType.mjs +0 -612
  50. package/esm2022/src/management/data/VectorTypeBase.mjs +0 -88
  51. package/esm2022/src/management/events/IActionManager.mjs +0 -2
  52. package/esm2022/src/management/events/IGuiEventsManager.mjs +0 -2
  53. package/esm2022/src/management/exp/ExpressionInterface.mjs +0 -244
  54. package/esm2022/src/management/exp/GuiExpressionEvaluator.mjs +0 -305
  55. package/esm2022/src/management/gui/ControlTable.mjs +0 -118
  56. package/esm2022/src/management/gui/DisplayConvertor.mjs +0 -1649
  57. package/esm2022/src/management/gui/FieldValidator.mjs +0 -711
  58. package/esm2022/src/management/gui/GuiControlPropertyAdapter.mjs +0 -24
  59. package/esm2022/src/management/gui/GuiFormPropertyAdapter.mjs +0 -11
  60. package/esm2022/src/management/gui/HebrewDate.mjs +0 -278
  61. package/esm2022/src/management/gui/Helps.mjs +0 -237
  62. package/esm2022/src/management/gui/MgControlBase.mjs +0 -1869
  63. package/esm2022/src/management/gui/MgFormBase.mjs +0 -741
  64. package/esm2022/src/management/gui/PIC.mjs +0 -1185
  65. package/esm2022/src/management/gui/PropDefaults.mjs +0 -230
  66. package/esm2022/src/management/gui/PropInterface.mjs +0 -246
  67. package/esm2022/src/management/gui/PropTable.mjs +0 -221
  68. package/esm2022/src/management/gui/Property.mjs +0 -1362
  69. package/esm2022/src/management/gui/ValidationDetails.mjs +0 -248
  70. package/esm2022/src/management/gui/ValidationDetailsBase.mjs +0 -93
  71. package/esm2022/src/management/gui/WrongFormatException.mjs +0 -29
  72. package/esm2022/src/management/tasks/GuiDataCollection.mjs +0 -4
  73. package/esm2022/src/management/tasks/GuiTaskBase.mjs +0 -511
  74. package/esm2022/src/management/tasks/IMGDataTable.mjs +0 -2
  75. package/esm2022/src/management/tasks/ITask.mjs +0 -2
  76. package/esm2022/src/management/tasks/MgTimer.mjs +0 -21
  77. package/esm2022/src/management/tasks/TaskDefinitionId.mjs +0 -54
  78. package/esm2022/src/management/tasks/TaskDefinitionIdTableSaxHandler.mjs +0 -41
  79. package/esm2022/src/util/MemoryUtil.mjs +0 -35
  80. package/esm2022/src/util/ObjectReference.mjs +0 -36
  81. package/esm2022/src/util/UsernamePasswordCredentials.mjs +0 -52
@@ -1,35 +0,0 @@
1
- import { UIBridge } from "../../UIBridge";
2
- export class GuiCommandQueue {
3
- static _instance = null;
4
- _commandsQueue = null;
5
- _executingGuiCommands = false;
6
- constructor() {
7
- this.init();
8
- }
9
- static getInstance() {
10
- if (GuiCommandQueue._instance === null)
11
- GuiCommandQueue._instance = new GuiCommandQueue();
12
- return GuiCommandQueue._instance;
13
- }
14
- init() {
15
- this._commandsQueue = new Array();
16
- }
17
- addCommand(guiCommand) {
18
- this.put(guiCommand);
19
- }
20
- put(guiCommand) {
21
- this._commandsQueue.push(guiCommand);
22
- }
23
- beginInvoke() {
24
- this.invoke();
25
- }
26
- invoke() {
27
- if (!this._executingGuiCommands) {
28
- this._executingGuiCommands = true;
29
- UIBridge.getInstance().executeCommands(this._commandsQueue);
30
- this._commandsQueue.length = 0;
31
- this._executingGuiCommands = false;
32
- }
33
- }
34
- }
35
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiR3VpQ29tbWFuZFF1ZXVlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZ3VpL3NyYy9ndWkvbG93L0d1aUNvbW1hbmRRdWV1ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFJQSxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFHeEMsTUFBTSxPQUFPLGVBQWU7SUFDbEIsTUFBTSxDQUFDLFNBQVMsR0FBb0IsSUFBSSxDQUFDO0lBRXpDLGNBQWMsR0FBc0IsSUFBSSxDQUFDO0lBQ3pDLHFCQUFxQixHQUFZLEtBQUssQ0FBQztJQUsvQztRQUNFLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUNkLENBQUM7SUFPRCxNQUFNLENBQUMsV0FBVztRQUNoQixJQUFJLGVBQWUsQ0FBQyxTQUFTLEtBQUssSUFBSTtZQUNwQyxlQUFlLENBQUMsU0FBUyxHQUFHLElBQUksZUFBZSxFQUFFLENBQUM7UUFDcEQsT0FBTyxlQUFlLENBQUMsU0FBUyxDQUFDO0lBQ25DLENBQUM7SUFHRCxJQUFJO1FBQ0YsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLEtBQUssRUFBYyxDQUFDO0lBQ2hELENBQUM7SUFHRCxVQUFVLENBQUMsVUFBc0I7UUFDL0IsSUFBSSxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUN2QixDQUFDO0lBT08sR0FBRyxDQUFDLFVBQXNCO1FBb0NoQyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztJQVF2QyxDQUFDO0lBS0QsV0FBVztRQUNULElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztJQUVoQixDQUFDO0lBS0QsTUFBTTtRQUNKLElBQUksQ0FBQyxJQUFJLENBQUMscUJBQXFCLEVBQUU7WUFDL0IsSUFBSSxDQUFDLHFCQUFxQixHQUFHLElBQUksQ0FBQztZQUNsQyxRQUFRLENBQUMsV0FBVyxFQUFFLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQztZQUM1RCxJQUFJLENBQUMsY0FBYyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7WUFDL0IsSUFBSSxDQUFDLHFCQUFxQixHQUFHLEtBQUssQ0FBQztTQUNwQztJQUNILENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLy8gPHN1bW1hcnk+XHJcbi8vLyA8c3VtbWFyeT5cclxuLy8vICAgR3VpIGNvbW1hbmQgcXVldWVcclxuLy8vIDwvc3VtbWFyeT5cclxuaW1wb3J0IHtVSUJyaWRnZX0gZnJvbSBcIi4uLy4uL1VJQnJpZGdlXCI7XHJcbmltcG9ydCB7R3VpQ29tbWFuZH0gZnJvbSBcIi4vR3VpQ29tbWFuZFwiO1xyXG5cclxuZXhwb3J0IGNsYXNzIEd1aUNvbW1hbmRRdWV1ZSB7XHJcbiAgcHJpdmF0ZSBzdGF0aWMgX2luc3RhbmNlOiBHdWlDb21tYW5kUXVldWUgPSBudWxsO1xyXG5cclxuICBwcml2YXRlIF9jb21tYW5kc1F1ZXVlOiBBcnJheTxHdWlDb21tYW5kPiA9IG51bGw7XHJcbiAgcHJpdmF0ZSBfZXhlY3V0aW5nR3VpQ29tbWFuZHM6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgLy8vIDxzdW1tYXJ5PlxyXG4gIC8vLyAgIGJhc2lzIENvbnN0cnVjdG9yXHJcbiAgLy8vIDwvc3VtbWFyeT5cclxuICBjb25zdHJ1Y3RvcigpIHtcclxuICAgIHRoaXMuaW5pdCgpO1xyXG4gIH1cclxuXHJcbiAgLy8vIDxzdW1tYXJ5PlxyXG4gIC8vLyAgIGVuZCBpbm5lciBjbGFzcyBHdWlDb21tYW5kXHJcbiAgLy8vIDwvc3VtbWFyeT5cclxuICAvLy8gPHN1bW1hcnk+c2luZ2xldG9uPC9zdW1tYXJ5PlxyXG4gIC8vLyA8cmV0dXJucz4gcmVmZXJlbmNlIHRvIEd1aUNvbW1hbmRRdWV1ZSBvYmplY3Q8L3JldHVybnM+XHJcbiAgc3RhdGljIGdldEluc3RhbmNlKCk6IEd1aUNvbW1hbmRRdWV1ZSB7XHJcbiAgICBpZiAoR3VpQ29tbWFuZFF1ZXVlLl9pbnN0YW5jZSA9PT0gbnVsbClcclxuICAgICAgR3VpQ29tbWFuZFF1ZXVlLl9pbnN0YW5jZSA9IG5ldyBHdWlDb21tYW5kUXVldWUoKTtcclxuICAgIHJldHVybiBHdWlDb21tYW5kUXVldWUuX2luc3RhbmNlO1xyXG4gIH1cclxuXHJcbiAgLy8vIDxzdW1tYXJ5PkNvbnN0cnVjdG9yPC9zdW1tYXJ5PlxyXG4gIGluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLl9jb21tYW5kc1F1ZXVlID0gbmV3IEFycmF5PEd1aUNvbW1hbmQ+KCk7XHJcbiAgfVxyXG5cclxuXHJcbiAgYWRkQ29tbWFuZChndWlDb21tYW5kOiBHdWlDb21tYW5kKTogdm9pZCB7XHJcbiAgICB0aGlzLnB1dChndWlDb21tYW5kKTtcclxuICB9XHJcblxyXG4gIC8vLyA8c3VtbWFyeT5cclxuICAvLy8gQWRkcyBhIGNvbW1hbmQgdG8gdGhlIHF1ZXVlLiBJZiB0aGVyZSBhcmUgYWxyZWFkeSBlbm91Z2ggY29tbWFuZHMgaW4gdGhlIHF1ZXVlIHRoZW5cclxuICAvLy8gaXQgd2lsbCB3YWl0IHRpbGwgdGhlIHF1ZXVlIGlzIGVtcHRpZWQgYnUgR3VpIHRocmVhZC5cclxuICAvLy8gPC9zdW1tYXJ5PlxyXG4gIC8vLyA8cGFyYW0gbmFtZT1cImd1aUNvbW1hbmRcIj48L3BhcmFtPlxyXG4gIHByaXZhdGUgcHV0KGd1aUNvbW1hbmQ6IEd1aUNvbW1hbmQpOiB2b2lkIHtcclxuICAgIC8vIGNvbnN0IFFVRVVFX1NJWkVfVEhSRVNIT0xEOiBudW1iZXIgPSAxMjAwOyAvLyBhIHRocmVzaG9sZCBhYm92ZSB3aGljaCBjb21tYW5kcyB3aWxsIG5vdCBiZSBpbnNlcnRlZCB0byB0aGUgcXVldWUgdW50aWwgdGhlIHF1ZXVlIHdpbGwgYmUgZW1wdHkuXHJcbiAgICAvLyBjb25zdCBNQVhfU0xFRVBfRFVSQVRJT046IG51bWJlciA9IDQ7Ly8gZHVyYXRpb24sIGluIG1zLCBiZXR3ZWVuIGNoZWNraW5nIHRoYXQgdGhlIHF1ZXVlIGlzIGVtcHR5LlxyXG4gICAgLy9cclxuICAgIC8vIC8vIElmIHdvcmtlciB0aHJlYWQgd2FudHMgdG8gYWRkIGEgY29tbWFuZCBhbmQgdGhlcmUgYXJlIHRvbyBtYW55IGNvbW1hbmRzIGluIHRoZSBxdWV1ZSBwZW5kaW5nXHJcbiAgICAvLyAvLyB0byBiZSBwcm9jZXNzZWQgYnkgR3VpIHRocmVhZCB0aGVuIHN1c3BlbmQgY3VycmVudCB0aHJlYWQgdGlsbCB0aGUgY29tbWFuZHMgYXJlIG92ZXIuIElmIHdlIGtlZXBcclxuICAgIC8vIC8vIG9uIGFkZGluZyBjb21tYW5kcyB0byB0aGUgcXVldWUgYW5kIEd1aSB0aHJlYWQgZW50ZXJzIFJ1bigpLCB0aGVuIHNvbWV0aW1lcyAoc3BlY2lhbGx5IGluIGNhc2VzIG9mXHJcbiAgICAvLyAvLyBiYXRjaCB0YXNrcykgR3VpIHRocmVhZCByZW1haW5zIGluIFJ1bigpIGZvciBhIGxvbmcgdGltZSBhbmQgaGVuY2UgaXQgaXMgdW5hYmxlIHRvIHByb2Nlc3MgdXNlclxyXG4gICAgLy8gLy8gaW50ZXJhY3Rpb25zIChhcyBkZXNjcmliZWQgaW4gUUNSIzcyMjE0NSlcclxuICAgIC8vIC8vIEJlZm9yZSBlbnRlcmluZyB0aGUgbG9vcCBjb25maXJtIHRoYXQgdGhlIGNvbW1hbmQgaXMgTk9UIGJlaW5nIGFkZGVkIGJ5IEd1aSB0aHJlYWQgaXRzZWxmIGFuZCBHdWlcclxuICAgIC8vIC8vIHRocmVhZCBpcyBhbHJlYWR5IHByb2Nlc3NpbmcgdGhlIGNvbW1hbmRzLiBUaGlzIGlzIHRvIGVuc3VyZSB0aGF0IHRoZSBjb21tYW5kcyB3aWxsIGJlIHByb2Nlc3NlZCBieVxyXG4gICAgLy8gLy8gR3VpIHRocmVhZC4gSWYgR3VpIHRocmVhZCBpcyBub3QgcHJvY2Vzc2luZyBjb21tYW5kcywgdGhlbiBpdCB3aWxsIG5ldmVyIHByb2Nlc3MgaXQgYWdhaW4gYXMgaXQgaXNcclxuICAgIC8vIC8vIHRoZSB3b3JrZXIgdGhyZWFkIHRoYXQgaW52b2tlcyBHdWkgdGhyZWFkIGZvciBwcm9jZXNzaW5nIGNvbW1hbmRzXHJcbiAgICAvLyAvLyBBbHNvLCBzdXNwZW5kIHdvcmtlciB0aHJlYWQgZnJvbSBhZGRpbmcgbmV3IGNvbW1hbmRzIHRvIHRoZSBxdWV1ZSB0aWxsIFNIT1dfRk9STSBmb3IgbW9kYWwgd2luZG93XHJcbiAgICAvLyAvLyBpcyBwcm9jZXNzZWQuIFByb2JsZW0gb2NjdXJzIGlmIFNIT1dfRk9STSBpcyBmb2xsb3dlZCBieSBmZXcgbW9yZSBjb21tYW5kcyBhbmQgdGhlbiBhIGNhbGwgdG9cclxuICAgIC8vIC8vIEd1aUludGVyYWN0aXZlICB0aGF0IGRlcGVuZHMgb24gdGhlIGVhcmxpZXIgY29tbWFuZHMuIEluIHN1Y2ggY2FzZXMsIEd1aUludGVyYWN0aXZlIHdpbGwgbm90IHByb2Nlc3NcclxuICAgIC8vIC8vIGNvbW1hbmRzIGJldHdlZW4gU0hPV19GT1JNIGFuZCBpbnRlcmFjdGl2ZSBjb21tYW5kIGJlY2F1c2UgR3VpVGhyZWFkSXNBdmFpbGFibGVUb1Byb2Nlc3NDb21tYW5kc1xyXG4gICAgLy8gLy8gd2FzIHNldCB0byBmYWxzZSBiZWZvcmUgb3BlbmluZyB0aGUgZGlhbG9nLlxyXG4gICAgLy8gaWYgKCgodGhpcy5fY29tbWFuZHNRdWV1ZS5TaXplKCkgPiBRVUVVRV9TSVpFX1RIUkVTSE9MRCApIHx8IHRoaXMuX21vZGFsU2hvd0Zvcm1Db21tYW5kUHJlc2VudEluUXVldWUpKSB7XHJcbiAgICAvLyAgIGxldCBzbGVlcER1cmF0aW9uOiBudW1iZXIgPSBNQVhfU0xFRVBfRFVSQVRJT047XHJcbiAgICAvLyAgIGRvIHtcclxuICAgIC8vICAgICAvLyBnZXQgY3VycmVudCBzaXplIG9mIHRoZSBxdWV1ZSBhbmQgd2FpdCBmb3Igc29tZSB0aW1lXHJcbiAgICAvLyAgICAgY29uc3Qgc2l6ZTogbnVtYmVyID0gdGhpcy5fY29tbWFuZHNRdWV1ZS5TaXplKCk7XHJcbiAgICAvLyAgICAgLy9TeXN0ZW0uVGhyZWFkaW5nLlRocmVhZC5TbGVlcChzbGVlcER1cmF0aW9uKTtcclxuICAgIC8vICAgICBjb25zdCBuZXdTaXplOiBudW1iZXIgPSB0aGlzLl9jb21tYW5kc1F1ZXVlLlNpemUoKTtcclxuICAgIC8vXHJcbiAgICAvLyAgICAgLy8gd2hpbGUgY3VycmVudCB0aHJlYWQgd2FzIHNsZWVwaW5nLCBndWkgdGhyZWFkIHNob3VsZCBoYXZlIHByb2Nlc3NlZCBzb21lIGNvbW1hbmRzLlxyXG4gICAgLy8gICAgIC8vIGdldCBhdmVyYWdlIGR1cmF0aW9uIHJlcXVpcmVkIGJ5IGd1aSB0aHJlYWQgZm9yIHByb2Nlc3NpbmcgYSBjb21tYW5kIGFuZCBlc3RpbWF0ZSBuZXcgZHVyYXRpb24gZm9yIHJlbWFpbmluZyBjb21tYW5kcy5cclxuICAgIC8vICAgICBpZiAoc2l6ZSA+IG5ld1NpemUpIHtcclxuICAgIC8vICAgICAgIGxldCBhdmVyYWdlRHVyYXRpb25QZXJDb21tYW5kOiBudW1iZXIgPSBzbGVlcER1cmF0aW9uIC8gKHNpemUgLSBuZXdTaXplKTtcclxuICAgIC8vICAgICAgIGxldCBuZXdTbGVlcER1cmF0aW9uOiBudW1iZXIgPSA8bnVtYmVyPihuZXdTaXplICogYXZlcmFnZUR1cmF0aW9uUGVyQ29tbWFuZCk7XHJcbiAgICAvLyAgICAgICBpZiAobmV3U2xlZXBEdXJhdGlvbiA+IDApXHJcbiAgICAvLyAgICAgICAgIHNsZWVwRHVyYXRpb24gPSBNYXRoLm1pbihNQVhfU0xFRVBfRFVSQVRJT04sIG5ld1NsZWVwRHVyYXRpb24pO1xyXG4gICAgLy8gICAgIH1cclxuICAgIC8vICAgfVxyXG4gICAgLy8gICB3aGlsZSAodGhpcy5fY29tbWFuZHNRdWV1ZS5TaXplKCkgPiAwKTtcclxuICAgIHRoaXMuX2NvbW1hbmRzUXVldWUucHVzaChndWlDb21tYW5kKTtcclxuXHJcbiAgICAvLyBpZiAoZ3VpQ29tbWFuZC5Db21tYW5kVHlwZSA9PT0gQ29tbWFuZFR5cGUuUkVGUkVTSF9UQUJMRSAmJiBndWlDb21tYW5kLkJvb2wzKSB7XHJcbiAgICAvLyAgIGxldCBtZ0NvbnRyb2w6IE1nQ29udHJvbEJhc2UgPSA8TWdDb250cm9sQmFzZT4oZ3VpQ29tbWFuZC5vYmopO1xyXG4gICAgLy8gICBtZ0NvbnRyb2wucmVmcmVzaFRhYmxlQ29tbWFuZENvdW50Kys7XHJcbiAgICAvLyB9XHJcbiAgICAvLyBlbHNlIGlmIChndWlDb21tYW5kLklzTW9kYWxTaG93Rm9ybUNvbW1hbmQoKSlcclxuICAgIC8vICAgdGhpcy5fbW9kYWxTaG93Rm9ybUNvbW1hbmRQcmVzZW50SW5RdWV1ZSA9IHRydWU7XHJcbiAgfVxyXG5cclxuICAvLy8gPHN1bW1hcnk+XHJcbiAgLy8vICAgZXhlY3V0ZSBhbGwgcGVuZGluZyBjb21tYW5kcywgYXN5bmNocm9ub3VzbHlcclxuICAvLy8gPC9zdW1tYXJ5PlxyXG4gIGJlZ2luSW52b2tlKCk6IHZvaWQge1xyXG4gICAgdGhpcy5pbnZva2UoKTtcclxuXHJcbiAgfVxyXG5cclxuICAvLy8gPHN1bW1hcnk+XHJcbiAgLy8vICAgZXhlY3V0ZSBhbGwgcGVuZGluZyBjb21tYW5kcywgc3luY2hyb25vdXNseVxyXG4gIC8vLyA8L3N1bW1hcnk+XHJcbiAgaW52b2tlKCk6IHZvaWQge1xyXG4gICAgaWYgKCF0aGlzLl9leGVjdXRpbmdHdWlDb21tYW5kcykge1xyXG4gICAgICB0aGlzLl9leGVjdXRpbmdHdWlDb21tYW5kcyA9IHRydWU7XHJcbiAgICAgIFVJQnJpZGdlLmdldEluc3RhbmNlKCkuZXhlY3V0ZUNvbW1hbmRzKHRoaXMuX2NvbW1hbmRzUXVldWUpO1xyXG4gICAgICB0aGlzLl9jb21tYW5kc1F1ZXVlLmxlbmd0aCA9IDA7XHJcbiAgICAgIHRoaXMuX2V4ZWN1dGluZ0d1aUNvbW1hbmRzID0gZmFsc2U7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxufVxyXG5cclxuXHJcbiJdfQ==
@@ -1,178 +0,0 @@
1
- import { MgValue } from '../MgValue';
2
- import { GuiMgForm } from '../GuiMgForm';
3
- import { Events } from '../../Events';
4
- import { UIBridge } from '../../UIBridge';
5
- import { ControlBase } from '../ControlBase';
6
- import { GuiCommandQueue } from './GuiCommandQueue';
7
- export var InteractiveCommandType;
8
- (function (InteractiveCommandType) {
9
- InteractiveCommandType[InteractiveCommandType["GET_VALUE"] = 0] = "GET_VALUE";
10
- InteractiveCommandType[InteractiveCommandType["GET_TOP_INDEX"] = 1] = "GET_TOP_INDEX";
11
- InteractiveCommandType[InteractiveCommandType["MESSAGE_BOX"] = 2] = "MESSAGE_BOX";
12
- InteractiveCommandType[InteractiveCommandType["SET_TITLE"] = 3] = "SET_TITLE";
13
- InteractiveCommandType[InteractiveCommandType["SET_EDIT_TEXT"] = 4] = "SET_EDIT_TEXT";
14
- InteractiveCommandType[InteractiveCommandType["INSERT_EDIT_TEXT"] = 5] = "INSERT_EDIT_TEXT";
15
- InteractiveCommandType[InteractiveCommandType["GET_CARET_POS"] = 6] = "GET_CARET_POS";
16
- InteractiveCommandType[InteractiveCommandType["REFRESH_PAGE"] = 7] = "REFRESH_PAGE";
17
- InteractiveCommandType[InteractiveCommandType["GET_ROWS_IN_PAGE"] = 8] = "GET_ROWS_IN_PAGE";
18
- InteractiveCommandType[InteractiveCommandType["SET_GET_SUGGESTED_VALUE_FOR_CHOICE_CONTROL_ON_TAGDATA"] = 9] = "SET_GET_SUGGESTED_VALUE_FOR_CHOICE_CONTROL_ON_TAGDATA";
19
- InteractiveCommandType[InteractiveCommandType["GET_IS_ROW_EDITING"] = 10] = "GET_IS_ROW_EDITING";
20
- InteractiveCommandType[InteractiveCommandType["GET_MAX_ROWS_IN_PAGINATED_TABLE"] = 11] = "GET_MAX_ROWS_IN_PAGINATED_TABLE";
21
- InteractiveCommandType[InteractiveCommandType["CALL_JS"] = 12] = "CALL_JS";
22
- InteractiveCommandType[InteractiveCommandType["GET_LAST_ROUTE"] = 13] = "GET_LAST_ROUTE";
23
- InteractiveCommandType[InteractiveCommandType["OPEN_FORM"] = 14] = "OPEN_FORM";
24
- })(InteractiveCommandType || (InteractiveCommandType = {}));
25
- export class GuiInteractiveBase {
26
- _commandType = 0;
27
- TaskTag = null;
28
- controlName = null;
29
- _str = String.fromCharCode(0);
30
- _intVal1 = 0;
31
- _line = 0;
32
- _obj1 = null;
33
- _parameters = null;
34
- _boolVal = false;
35
- _obj2 = null;
36
- _mgValue = null;
37
- arguments;
38
- resultString = String.fromCharCode(0);
39
- constructor() {
40
- }
41
- setGetSuggestedValueOfChoiceControlOnTagData(ctrl, line, retSuggestedValue) {
42
- this._commandType = InteractiveCommandType.SET_GET_SUGGESTED_VALUE_FOR_CHOICE_CONTROL_ON_TAGDATA;
43
- this._obj2 = ctrl;
44
- this._line = line;
45
- this._boolVal = retSuggestedValue;
46
- this.Invoke();
47
- }
48
- getValue(obj, line, isThreeStateCheckBox) {
49
- this._commandType = InteractiveCommandType.GET_VALUE;
50
- this._obj2 = obj;
51
- this._boolVal = isThreeStateCheckBox;
52
- this._line = line;
53
- this._mgValue = new MgValue();
54
- this.Invoke();
55
- return this._mgValue.obj;
56
- }
57
- getTopIndex(tablecontrol) {
58
- this._commandType = InteractiveCommandType.GET_TOP_INDEX;
59
- this._obj2 = tablecontrol;
60
- this.Invoke();
61
- return this._intVal1;
62
- }
63
- getIsRowEditing(tablecontrol, line, isLineMode) {
64
- this._commandType = InteractiveCommandType.GET_IS_ROW_EDITING;
65
- this._obj2 = tablecontrol;
66
- this._intVal1 = line;
67
- this._boolVal = isLineMode;
68
- this.Invoke();
69
- return this._boolVal;
70
- }
71
- messageBox(title, msg, style) {
72
- this._commandType = InteractiveCommandType.MESSAGE_BOX;
73
- this._mgValue = new MgValue();
74
- this._mgValue.title = title;
75
- this._mgValue.str = ((msg === null) ? '' : msg);
76
- this._mgValue.style = style;
77
- Events.RefreshTables();
78
- this.Invoke();
79
- return this._mgValue.number;
80
- }
81
- setTitle(topMostForm, title) {
82
- this._commandType = InteractiveCommandType.SET_TITLE;
83
- this._mgValue = new MgValue();
84
- this._obj2 = topMostForm;
85
- this._mgValue.title = ((title === null) ? '' : title);
86
- this.Invoke();
87
- }
88
- setEditText(control, line, text) {
89
- this._commandType = InteractiveCommandType.SET_EDIT_TEXT;
90
- this._obj2 = control;
91
- this._line = line;
92
- this._mgValue = new MgValue();
93
- this._mgValue.str = text;
94
- this.Invoke();
95
- return this._mgValue.boolVal;
96
- }
97
- insertEditText(control, line, startPosition, textToInsert) {
98
- this._commandType = InteractiveCommandType.INSERT_EDIT_TEXT;
99
- this._obj2 = control;
100
- this._line = line;
101
- this._mgValue = new MgValue();
102
- this._mgValue.str = textToInsert;
103
- this._intVal1 = startPosition;
104
- this.Invoke();
105
- return this._mgValue.boolVal;
106
- }
107
- caretPosGet(control, line) {
108
- this._commandType = InteractiveCommandType.GET_CARET_POS;
109
- this._obj2 = control;
110
- this._line = line;
111
- this._mgValue = new MgValue();
112
- this.Invoke();
113
- return this._mgValue.number;
114
- }
115
- RefreshPage(navigateToRootRoute, initialUrl) {
116
- this._commandType = InteractiveCommandType.REFRESH_PAGE;
117
- this._boolVal = navigateToRootRoute;
118
- this._obj1 = initialUrl;
119
- this.Invoke();
120
- return;
121
- }
122
- getRowsInPage(control) {
123
- this._commandType = InteractiveCommandType.GET_ROWS_IN_PAGE;
124
- this._obj2 = control;
125
- this.Invoke();
126
- return this._intVal1;
127
- }
128
- getMaxRowsInPaginatedTable(control) {
129
- this._commandType = InteractiveCommandType.GET_MAX_ROWS_IN_PAGINATED_TABLE;
130
- this._obj2 = control;
131
- this.Invoke();
132
- return this._intVal1;
133
- }
134
- getLastRoute() {
135
- this._commandType = InteractiveCommandType.GET_LAST_ROUTE;
136
- this.Invoke();
137
- return this.resultString;
138
- }
139
- ExecuteCallJS(form, formName, functionName, args) {
140
- this._commandType = InteractiveCommandType.CALL_JS;
141
- this._obj2 = form;
142
- this.controlName = formName;
143
- this._str = functionName;
144
- this.arguments = args;
145
- this.Invoke();
146
- return this.resultString;
147
- }
148
- ExecuteOpenOverlayForm(obj, formName, handlerTaskTag, calledTaskTag, inputControls, isDialog) {
149
- this._commandType = InteractiveCommandType.OPEN_FORM;
150
- this.controlName = formName;
151
- this._str = handlerTaskTag;
152
- this._mgValue = new MgValue();
153
- this._mgValue.str = calledTaskTag;
154
- this._mgValue.path = inputControls;
155
- this._boolVal = isDialog;
156
- this.Invoke();
157
- }
158
- Invoke() {
159
- GuiCommandQueue.getInstance().invoke();
160
- if (this._obj2 instanceof ControlBase) {
161
- let controlBase = this._obj2;
162
- this.TaskTag = controlBase.TaskTag;
163
- this.controlName = controlBase.UniqueName;
164
- }
165
- else if (this._obj2 instanceof GuiMgForm) {
166
- let guiMgForm = this._obj2;
167
- this.TaskTag = guiMgForm.TaskTag;
168
- }
169
- else
170
- this.TaskTag = '0';
171
- UIBridge.getInstance().ExecuteInteractiveCommand(this);
172
- }
173
- onGetRowsInPage() {
174
- }
175
- }
176
- export class GuiInteractive extends GuiInteractiveBase {
177
- }
178
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiR3VpSW50ZXJhY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9ndWkvc3JjL2d1aS9sb3cvR3VpSW50ZXJhY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFDLE9BQU8sRUFBQyxNQUFNLFlBQVksQ0FBQztBQUNuQyxPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0sY0FBYyxDQUFDO0FBQ3ZDLE9BQU8sRUFBQyxNQUFNLEVBQUMsTUFBTSxjQUFjLENBQUM7QUFDcEMsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQ3hDLE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUMzQyxPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0sbUJBQW1CLENBQUM7QUFFbEQsTUFBTSxDQUFOLElBQVksc0JBZ0JYO0FBaEJELFdBQVksc0JBQXNCO0lBQ2hDLDZFQUFTLENBQUE7SUFDVCxxRkFBYSxDQUFBO0lBQ2IsaUZBQVcsQ0FBQTtJQUNYLDZFQUFTLENBQUE7SUFDVCxxRkFBYSxDQUFBO0lBQ2IsMkZBQWdCLENBQUE7SUFDaEIscUZBQWEsQ0FBQTtJQUNiLG1GQUFZLENBQUE7SUFDWiwyRkFBZ0IsQ0FBQTtJQUNoQixxS0FBcUQsQ0FBQTtJQUNyRCxnR0FBa0IsQ0FBQTtJQUNsQiwwSEFBK0IsQ0FBQTtJQUMvQiwwRUFBTyxDQUFBO0lBQ1Asd0ZBQWMsQ0FBQTtJQUNkLDhFQUFTLENBQUE7QUFDWCxDQUFDLEVBaEJXLHNCQUFzQixLQUF0QixzQkFBc0IsUUFnQmpDO0FBR0QsTUFBTSxPQUFnQixrQkFBa0I7SUFDdEMsWUFBWSxHQUEyQixDQUFDLENBQUM7SUFDekMsT0FBTyxHQUFXLElBQUksQ0FBQztJQUN2QixXQUFXLEdBQVcsSUFBSSxDQUFDO0lBRTNCLElBQUksR0FBVyxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFD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QUNaLGVBQWUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUN2QyxJQUFJLElBQUksQ0FBQyxLQUFLLFlBQVksV0FBVyxFQUFFO1lBQ3JDLElBQUksV0FBVyxHQUE2QixJQUFJLENBQUMsS0FBSyxDQUFDO1lBQ3ZELElBQUksQ0FBQyxPQUFPLEdBQUcsV0FBVyxDQUFDLE9BQU8sQ0FBQztZQUNuQyxJQUFJLENBQUMsV0FBVyxHQUFHLFdBQVcsQ0FBQyxVQUFVLENBQUM7U0FDM0M7YUFBTSxJQUFJLElBQUksQ0FBQyxLQUFLLFlBQVksU0FBUyxFQUFFO1lBQzFDLElBQUksU0FBUyxHQUF5QixJQUFJLENBQUMsS0FBSyxDQUFDO1lBQ2pELElBQUksQ0FBQyxPQUFPLEdBQUcsU0FBUyxDQUFDLE9BQU8sQ0FBQztTQUNsQzs7WUFDQyxJQUFJLENBQUMsT0FBTyxHQUFHLEdBQUcsQ0FBQztRQUVyQixRQUFRLENBQUMsV0FBVyxFQUFFLENBQUMseUJBQXlCLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDekQsQ0FBQztJQXFORCxlQUFlO0lBQ2YsQ0FBQztDQUVGO0FBRUQsTUFBTSxPQUFPLGNBQWUsU0FBUSxrQkFBa0I7Q0FFckQiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0d1aU1nQ29udHJvbH0gZnJvbSAnLi4vR3VpTWdDb250cm9sJztcclxuaW1wb3J0IHtNZ1ZhbHVlfSBmcm9tICcuLi9NZ1ZhbHVlJztcclxuaW1wb3J0IHtHdWlNZ0Zvcm19IGZyb20gJy4uL0d1aU1nRm9ybSc7XHJcbmltcG9ydCB7RXZlbnRzfSBmcm9tICcuLi8uLi9FdmVudHMnO1xyXG5pbXBvcnQge1VJQnJpZGdlfSBmcm9tICcuLi8uLi9VSUJyaWRnZSc7XHJcbmltcG9ydCB7Q29udHJvbEJhc2V9IGZyb20gJy4uL0NvbnRyb2xCYXNlJztcclxuaW1wb3J0IHtHdWlDb21tYW5kUXVldWV9IGZyb20gJy4vR3VpQ29tbWFuZFF1ZXVlJztcclxuXHJcbmV4cG9ydCBlbnVtIEludGVyYWN0aXZlQ29tbWFuZFR5cGUge1xyXG4gIEdFVF9WQUxVRSxcclxuICBHRVRfVE9QX0lOREVYLFxyXG4gIE1FU1NBR0VfQk9YLFxyXG4gIFNFVF9USVRMRSxcclxuICBTRVRfRURJVF9URVhULFxyXG4gIElOU0VSVF9FRElUX1RFWFQsXHJcbiAgR0VUX0NBUkVUX1BPUyxcclxuICBSRUZSRVNIX1BBR0UsXHJcbiAgR0VUX1JPV1NfSU5fUEFHRSxcclxuICBTRVRfR0VUX1NVR0dFU1RFRF9WQUxVRV9GT1JfQ0hPSUNFX0NPTlRST0xfT05fVEFHREFUQSxcclxuICBHRVRfSVNfUk9XX0VESVRJTkcsXHJcbiAgR0VUX01BWF9ST1dTX0lOX1BBR0lOQVRFRF9UQUJMRSxcclxuICBDQUxMX0pTLFxyXG4gIEdFVF9MQVNUX1JPVVRFLFxyXG4gIE9QRU5fRk9STVxyXG59XHJcblxyXG4vLy8gPHN1bW1hcnk+IEd1aVV0aWxzIGNsYXNzIHByb3ZpZGVzIG1ldGhvZHMgZm9yIHJldHJpZXZpbmcgaW5mb3JtYXRpb24gZnJvbSB0aGUgR1VJIGxheWVyPC9zdW1tYXJ5PlxyXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgR3VpSW50ZXJhY3RpdmVCYXNlIHtcclxuICBfY29tbWFuZFR5cGU6IEludGVyYWN0aXZlQ29tbWFuZFR5cGUgPSAwO1xyXG4gIFRhc2tUYWc6IHN0cmluZyA9IG51bGw7XHJcbiAgY29udHJvbE5hbWU6IHN0cmluZyA9IG51bGw7XHJcblxyXG4gIF9zdHI6IHN0cmluZyA9IFN0cmluZy5mcm9tQ2hhckNvZGUoMCk7XHJcbiAgX2ludFZhbDE6IG51bWJlciA9IDA7XHJcbiAgX2xpbmU6IG51bWJlciA9IDA7XHJcbiAgX29iajE6IGFueSA9IG51bGw7XHJcbiAgX3BhcmFtZXRlcnM6IGFueVtdID0gbnVsbDtcclxuICBfYm9vbFZhbDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIF9vYmoyOiBhbnkgPSBudWxsO1xyXG4gIF9tZ1ZhbHVlOiBNZ1ZhbHVlID0gbnVsbDtcclxuICBhcmd1bWVudHMgOiBBcnJheTxhbnk+IDtcclxuICByZXN1bHRTdHJpbmcgOiBzdHJpbmcgPSBTdHJpbmcuZnJvbUNoYXJDb2RlKDApO1xyXG5cclxuICAvLy8gPHN1bW1hcnk+XHJcbiAgLy8vIENvbnN0cnVjdG9yIDogc2V0cyB0aGUgY29udGV4dElEIGZvciB0aGUgY3VycmVudCBjb21tYW5kLlxyXG4gIC8vLyA8L3N1bW1hcnk+XHJcbiAgY29uc3RydWN0b3IoKSB7XHJcbiAgfVxyXG5cclxuICAvLy8gPHN1bW1hcnk+XHJcbiAgLy8vIFRoaXMgbWV0aG9kZSBpcyBzZXQgVFJVRVxcRkFMU0UgdGhhdCBHdWlVdGlsZXNcXEdldFZhbHVlKCkgbWV0aG9kIHdpbGwgYmUgdXNlXHJcbiAgLy8vIHRoaXMgZmFsZyBzYXkgaWYgdG8gcmV0dXJuIHRoZSA6ICh0cnVlKSBzdWdnZXN0ZWQgdmFsdWUgb3IgKGZhbHNlKXRoZSByZWFsIHZhbHVlXHJcbiAgLy8vIHRoaXMgbWV0aG9kIGlzIHVzZSBmb3IgTUdfQUNUX0NUUkxfTU9ESUZZXHJcbiAgLy8vIDwvc3VtbWFyeT5cclxuICAvLy8gPHBhcmFtIG5hbWU9XCJjdHJsXCI+PC9wYXJhbT5cclxuICAvLy8gPHBhcmFtIG5hbWU9XCJyZXRTdWdnZXN0ZWRWYWx1ZVwiPjwvcGFyYW0+XHJcbiAgc2V0R2V0U3VnZ2VzdGVkVmFsdWVPZkNob2ljZUNvbnRyb2xPblRhZ0RhdGEoY3RybDogR3VpTWdDb250cm9sLCBsaW5lOiBudW1iZXIsIHJldFN1Z2dlc3RlZFZhbHVlOiBib29sZWFuKTogdm9pZCB7XHJcbiAgICB0aGlzLl9jb21tYW5kVHlwZSA9IEludGVyYWN0aXZlQ29tbWFuZFR5cGUuU0VUX0dFVF9TVUdHRVNURURfVkFMVUVfRk9SX0NIT0lDRV9DT05UUk9MX09OX1RBR0RBVEE7XHJcbiAgICB0aGlzLl9vYmoyID0gY3RybDtcclxuICAgIHRoaXMuX2xpbmUgPSBsaW5lO1xyXG4gICAgdGhpcy5fYm9vbFZhbCA9IHJldFN1Z2dlc3RlZFZhbHVlO1xyXG4gICAgdGhpcy5JbnZva2UoKTtcclxuICB9XHJcblxyXG5cclxuICAvLy8gPHN1bW1hcnk+IEdldCB2YWx1ZSBvZiB0aGUgY29udHJvbDwvc3VtbWFyeT5cclxuICAvLy8gPHBhcmFtIG5hbWU9XCJvYmplY3RcIj5hIHJlZmVyZW5jZSB0byB0aGUgcmVsZXZhbnQgb2JqZWN0PC9wYXJhbT5cclxuICAvLy8gPHBhcmFtIG5hbWU9XCJyZWN0XCI+YSByZWZlcmVuY2UgdG8gdGhlIG9iamVjdCB0aGF0IG9uIHJldHVybiB3aWxsIGNvbnRhaW4gdGhlIHJlcXVlc3RlZCB2YWx1ZXMgb24gc3RyaW5nPC9wYXJhbT5cclxuICBnZXRWYWx1ZShvYmo6IGFueSwgbGluZTogbnVtYmVyLCBpc1RocmVlU3RhdGVDaGVja0JveDogYm9vbGVhbik6IHN0cmluZyB7XHJcbiAgICB0aGlzLl9jb21tYW5kVHlwZSA9IEludGVyYWN0aXZlQ29tbWFuZFR5cGUuR0VUX1ZBTFVFO1xyXG4gICAgdGhpcy5fb2JqMiA9IG9iajtcclxuICAgIHRoaXMuX2Jvb2xWYWwgPSBpc1RocmVlU3RhdGVDaGVja0JveDtcclxuICAgIHRoaXMuX2xpbmUgPSBsaW5lO1xyXG4gICAgdGhpcy5fbWdWYWx1ZSA9IG5ldyBNZ1ZhbHVlKCk7XHJcbiAgICB0aGlzLkludm9rZSgpO1xyXG4gICAgcmV0dXJuIHRoaXMuX21nVmFsdWUub2JqO1xyXG4gIH1cclxuXHJcblxyXG4gIGdldFRvcEluZGV4KHRhYmxlY29udHJvbDogR3VpTWdDb250cm9sKTogbnVtYmVyIHtcclxuICAgIHRoaXMuX2NvbW1hbmRUeXBlID0gSW50ZXJhY3RpdmVDb21tYW5kVHlwZS5HRVRfVE9QX0lOREVYO1xyXG4gICAgdGhpcy5fb2JqMiA9IHRhYmxlY29udHJvbDtcclxuICAgIHRoaXMuSW52b2tlKCk7XHJcbiAgICByZXR1cm4gdGhpcy5faW50VmFsMTtcclxuICB9XHJcblxyXG4gIGdldElzUm93RWRpdGluZyh0YWJsZWNvbnRyb2w6IEd1aU1nQ29udHJvbCwgbGluZTogbnVtYmVyLCBpc0xpbmVNb2RlOiBib29sZWFuKTogYm9vbGVhbiB7XHJcbiAgICB0aGlzLl9jb21tYW5kVHlwZSA9IEludGVyYWN0aXZlQ29tbWFuZFR5cGUuR0VUX0lTX1JPV19FRElUSU5HO1xyXG4gICAgdGhpcy5fb2JqMiA9IHRhYmxlY29udHJvbDtcclxuICAgIHRoaXMuX2ludFZhbDEgPSBsaW5lO1xyXG4gICAgdGhpcy5fYm9vbFZhbCA9IGlzTGluZU1vZGU7XHJcblxyXG4gICAgdGhpcy5JbnZva2UoKTtcclxuICAgIHJldHVybiB0aGlzLl9ib29sVmFsO1xyXG4gIH1cclxuXHJcbiAgLy8vIDxzdW1tYXJ5Pk9wZW4gbWVzc2FnZSBib3ggd2l0aCBwYXJlbnQgZm9ybTwvc3VtbWFyeT5cclxuICAvLy8gPHBhcmFtIG5hbWU9XCJ0aXRsZVwiPjwvcGFyYW0+XHJcbiAgLy8vIDxwYXJhbSBuYW1lPVwibXNnXCI+PC9wYXJhbT5cclxuICAvLy8gPHBhcmFtIG5hbWU9XCJzdHlsZVwiPnRoZSBzdHlsZSBvZiB0aGUgbWVzc2FnZSBib3ggY2FuIGJlIGZsYWdzIG9mIFN0eWxlcy5NU0dCT1hfeHh4IDwvcGFyYW0+XHJcbiAgLy8vIDxyZXR1cm5zPiBtZXNzYWdlIGJveCBzdHlsZSBmcm9tIFN0eWxlcy5NU0dCT1hfWFhYPC9yZXR1cm5zPlxyXG4gIG1lc3NhZ2VCb3godGl0bGU6IHN0cmluZywgbXNnOiBzdHJpbmcsIHN0eWxlOiBudW1iZXIpOiBudW1iZXIge1xyXG4gICAgdGhpcy5fY29tbWFuZFR5cGUgPSBJbnRlcmFjdGl2ZUNvbW1hbmRUeXBlLk1FU1NBR0VfQk9YO1xyXG4gICAgdGhpcy5fbWdWYWx1ZSA9IG5ldyBNZ1ZhbHVlKCk7XHJcbiAgICB0aGlzLl9tZ1ZhbHVlLnRpdGxlID0gdGl0bGU7XHJcbiAgICB0aGlzLl9tZ1ZhbHVlLnN0ciA9ICgobXNnID09PSBudWxsKSA/ICcnIDogbXNnKTtcclxuICAgIHRoaXMuX21nVmFsdWUuc3R5bGUgPSBzdHlsZTtcclxuICAgIEV2ZW50cy5SZWZyZXNoVGFibGVzKCk7XHJcbiAgICB0aGlzLkludm9rZSgpO1xyXG4gICAgcmV0dXJuIHRoaXMuX21nVmFsdWUubnVtYmVyO1xyXG4gIH1cclxuXHJcbiAgLy8vIDxzdW1tYXJ5PnNldCB0aXRsZSB0byBicm93c2VyPC9zdW1tYXJ5PlxyXG4gIC8vLyA8cGFyYW0gbmFtZT1cInRvcE1vc3RGb3JtXCI+dGhlIHBhcmVudCBmb3JtIG9mIHRoZSBtZXNzYWdlIGJveDwvcGFyYW0+XHJcbiAgLy8vIDxwYXJhbSBuYW1lPVwidGl0bGVcIj48L3BhcmFtPlxyXG4gIC8vLyA8cmV0dXJucz4gbWVzc2FnZSBib3ggc3R5bGUgZnJvbSBTdHlsZXMuTVNHQk9YX1hYWDwvcmV0dXJucz5cclxuICBzZXRUaXRsZSh0b3BNb3N0Rm9ybTogR3VpTWdGb3JtLCB0aXRsZTogc3RyaW5nKTogdm9pZCB7XHJcbiAgICB0aGlzLl9jb21tYW5kVHlwZSA9IEludGVyYWN0aXZlQ29tbWFuZFR5cGUuU0VUX1RJVExFO1xyXG4gICAgdGhpcy5fbWdWYWx1ZSA9IG5ldyBNZ1ZhbHVlKCk7XHJcbiAgICB0aGlzLl9vYmoyID0gdG9wTW9zdEZvcm07XHJcbiAgICB0aGlzLl9tZ1ZhbHVlLnRpdGxlID0gKCh0aXRsZSA9PT0gbnVsbCkgPyAnJyA6IHRpdGxlKTtcclxuICAgIHRoaXMuSW52b2tlKCk7XHJcbiAgfVxyXG5cclxuICAvLy8gPHN1bW1hcnk+IHNldCB0aGUgdGV4dCB0byB0aGUgdGhlIGNvbnRyb2xcclxuICAvLy9cclxuICAvLy8gPC9zdW1tYXJ5PlxyXG4gIC8vLyA8cGFyYW0gbmFtZT1cImNvbnRyb2xcIj48L3BhcmFtPlxyXG4gIC8vLyA8cGFyYW0gbmFtZT1cImxpbmVcIj48L3BhcmFtPlxyXG4gIC8vLyA8cGFyYW0gbmFtZT1cInRleHRcIj48L3BhcmFtPlxyXG4gIHNldEVkaXRUZXh0KGNvbnRyb2w6IEd1aU1nQ29udHJvbCwgbGluZTogbnVtYmVyLCB0ZXh0OiBzdHJpbmcpOiBib29sZWFuIHtcclxuICAgIHRoaXMuX2NvbW1hbmRUeXBlID0gSW50ZXJhY3RpdmVDb21tYW5kVHlwZS5TRVRfRURJVF9URVhUO1xyXG4gICAgdGhpcy5fb2JqMiA9IGNvbnRyb2w7XHJcbiAgICB0aGlzLl9saW5lID0gbGluZTtcclxuICAgIHRoaXMuX21nVmFsdWUgPSBuZXcgTWdWYWx1ZSgpO1xyXG4gICAgdGhpcy5fbWdWYWx1ZS5zdHIgPSB0ZXh0O1xyXG5cclxuICAgIHRoaXMuSW52b2tlKCk7XHJcblxyXG4gICAgcmV0dXJuIHRoaXMuX21nVmFsdWUuYm9vbFZhbDtcclxuICB9XHJcblxyXG4gIC8vLyA8c3VtbWFyeT4gaW5zZXJ0IHRoZSB0ZXh0IHRvIHRoZSB0aGUgY29udHJvbCBhdCB0aGUgZ2l2ZW4gcG9zaXRpb25cclxuICAvLy9cclxuICAvLy8gPC9zdW1tYXJ5PlxyXG4gIC8vLyA8cGFyYW0gbmFtZT1cImNvbnRyb2xcIj48L3BhcmFtPlxyXG4gIC8vLyA8cGFyYW0gbmFtZT1cImxpbmVcIj48L3BhcmFtPlxyXG4gIC8vLyA8cGFyYW0gbmFtZT1cInRleHRcIj48L3BhcmFtPlxyXG4gIGluc2VydEVkaXRUZXh0KGNvbnRyb2w6IEd1aU1nQ29udHJvbCwgbGluZTogbnVtYmVyLCBzdGFydFBvc2l0aW9uOiBudW1iZXIsIHRleHRUb0luc2VydDogc3RyaW5nKTogYm9vbGVhbiB7XHJcbiAgICB0aGlzLl9jb21tYW5kVHlwZSA9IEludGVyYWN0aXZlQ29tbWFuZFR5cGUuSU5TRVJUX0VESVRfVEVYVDtcclxuICAgIHRoaXMuX29iajIgPSBjb250cm9sO1xyXG4gICAgdGhpcy5fbGluZSA9IGxpbmU7XHJcbiAgICB0aGlzLl9tZ1ZhbHVlID0gbmV3IE1nVmFsdWUoKTtcclxuICAgIHRoaXMuX21nVmFsdWUuc3RyID0gdGV4dFRvSW5zZXJ0O1xyXG4gICAgdGhpcy5faW50VmFsMSA9IHN0YXJ0UG9zaXRpb247XHJcblxyXG4gICAgdGhpcy5JbnZva2UoKTtcclxuXHJcbiAgICByZXR1cm4gdGhpcy5fbWdWYWx1ZS5ib29sVmFsO1xyXG4gIH1cclxuXHJcblxyXG4gIC8vLyA8c3VtbWFyeT5cclxuICAvLy8gZ2V0IHRoZSBwb3NpdGlvbiBvZiB0aGUgY2FyZXQgb24gdGhlIGNvbnRyb2xcclxuICAvLy8gPC9zdW1tYXJ5PlxyXG4gIC8vLyA8cGFyYW0gbmFtZT1cImNvbnRyb2xcIj48L3BhcmFtPlxyXG4gIC8vLyA8cGFyYW0gbmFtZT1cImxpbmVcIj48L3BhcmFtPlxyXG4gIGNhcmV0UG9zR2V0KGNvbnRyb2w6IEd1aU1nQ29udHJvbCwgbGluZTogbnVtYmVyKTogbnVtYmVyIHtcclxuICAgIHRoaXMuX2NvbW1hbmRUeXBlID0gSW50ZXJhY3RpdmVDb21tYW5kVHlwZS5HRVRfQ0FSRVRfUE9TO1xyXG4gICAgdGhpcy5fb2JqMiA9IGNvbnRyb2w7XHJcbiAgICB0aGlzLl9saW5lID0gbGluZTtcclxuXHJcbiAgICB0aGlzLl9tZ1ZhbHVlID0gbmV3IE1nVmFsdWUoKTtcclxuICAgIHRoaXMuSW52b2tlKCk7XHJcblxyXG4gICAgcmV0dXJuIHRoaXMuX21nVmFsdWUubnVtYmVyO1xyXG4gIH1cclxuXHJcbiAgLy8vIDxzdW1tYXJ5PlxyXG4gIC8vLyByZWZyZXNoIHBhZ2VcclxuICAvLy8gPC9zdW1tYXJ5PlxyXG4gIFJlZnJlc2hQYWdlKG5hdmlnYXRlVG9Sb290Um91dGU6IGJvb2xlYW4sIGluaXRpYWxVcmw6IHN0cmluZykge1xyXG4gICAgdGhpcy5fY29tbWFuZFR5cGUgPSBJbnRlcmFjdGl2ZUNvbW1hbmRUeXBlLlJFRlJFU0hfUEFHRTtcclxuICAgIHRoaXMuX2Jvb2xWYWwgPSBuYXZpZ2F0ZVRvUm9vdFJvdXRlO1xyXG4gICAgdGhpcy5fb2JqMSA9IGluaXRpYWxVcmw7XHJcbiAgICB0aGlzLkludm9rZSgpO1xyXG4gICAgcmV0dXJuO1xyXG4gIH1cclxuXHJcblxyXG5cclxuICAvLy8gPHN1bW1hcnk+IHJldHVybiBudW1iZXIgb2Ygcm93cyBpbiB0aGUgdGFibGU8L3N1bW1hcnk+XHJcbiAgLy8vIDxwYXJhbSBuYW1lPVwiY29udHJvbFwiPjwvcGFyYW0+XHJcbiAgLy8vIDxyZXR1cm5zPjwvcmV0dXJucz5cclxuICBnZXRSb3dzSW5QYWdlKGNvbnRyb2w6IEd1aU1nQ29udHJvbCk6IG51bWJlciB7XHJcbiAgICB0aGlzLl9jb21tYW5kVHlwZSA9IEludGVyYWN0aXZlQ29tbWFuZFR5cGUuR0VUX1JPV1NfSU5fUEFHRTtcclxuICAgIHRoaXMuX29iajIgPSBjb250cm9sO1xyXG4gICAgdGhpcy5JbnZva2UoKTtcclxuICAgIHJldHVybiB0aGlzLl9pbnRWYWwxO1xyXG4gIH1cclxuXHJcbiAgLy8vIDxzdW1tYXJ5PiByZXR1cm4gbnVtYmVyIG9mIHJvd3MgaW4gdGhlIHRhYmxlPC9zdW1tYXJ5PlxyXG4gIC8vLyA8cGFyYW0gbmFtZT1cImNvbnRyb2xcIj48L3BhcmFtPlxyXG4gIC8vLyA8cmV0dXJucz48L3JldHVybnM+XHJcbiAgZ2V0TWF4Um93c0luUGFnaW5hdGVkVGFibGUoY29udHJvbDogR3VpTWdDb250cm9sKTogbnVtYmVyIHtcclxuICAgIHRoaXMuX2NvbW1hbmRUeXBlID0gSW50ZXJhY3RpdmVDb21tYW5kVHlwZS5HRVRfTUFYX1JPV1NfSU5fUEFHSU5BVEVEX1RBQkxFO1xyXG4gICAgdGhpcy5fb2JqMiA9IGNvbnRyb2w7XHJcbiAgICB0aGlzLkludm9rZSgpO1xyXG4gICAgcmV0dXJuIHRoaXMuX2ludFZhbDE7XHJcbiAgfVxyXG5cclxuICAvLy8gPHN1bW1hcnk+XHJcbiAgLy8vIEdldCB0aGUgbGFzdCByb3V0ZVxyXG4gIC8vLyA8L3N1bW1hcnk+XHJcbiAgZ2V0TGFzdFJvdXRlKCk6IHN0cmluZyB7XHJcbiAgICB0aGlzLl9jb21tYW5kVHlwZSA9IEludGVyYWN0aXZlQ29tbWFuZFR5cGUuR0VUX0xBU1RfUk9VVEU7XHJcbiAgICB0aGlzLkludm9rZSgpO1xyXG4gICAgcmV0dXJuIHRoaXMucmVzdWx0U3RyaW5nO1xyXG4gIH1cclxuXHJcblxyXG5cclxuICBFeGVjdXRlQ2FsbEpTKGZvcm0gLCBmb3JtTmFtZTogc3RyaW5nLCAgZnVuY3Rpb25OYW1lOiBzdHJpbmcsIGFyZ3M6IEFycmF5PGFueT4pOiBzdHJpbmcge1xyXG4gICAgdGhpcy5fY29tbWFuZFR5cGUgPSBJbnRlcmFjdGl2ZUNvbW1hbmRUeXBlLkNBTExfSlM7XHJcbiAgICB0aGlzLl9vYmoyID0gZm9ybTtcclxuICAgIHRoaXMuY29udHJvbE5hbWUgPSBmb3JtTmFtZTtcclxuICAgIHRoaXMuX3N0ciA9IGZ1bmN0aW9uTmFtZTtcclxuICAgIHRoaXMuYXJndW1lbnRzID0gYXJncztcclxuICAgIHRoaXMuSW52b2tlKCk7XHJcbiAgICByZXR1cm4gdGhpcy5yZXN1bHRTdHJpbmc7XHJcbiAgfVxyXG5cclxuICBFeGVjdXRlT3Blbk92ZXJsYXlGb3JtKG9iajogT2JqZWN0LCBmb3JtTmFtZTogc3RyaW5nLCBoYW5kbGVyVGFza1RhZzogc3RyaW5nLCBjYWxsZWRUYXNrVGFnOiBzdHJpbmcsXHJcbiAgICAgIGlucHV0Q29udHJvbHM6IHN0cmluZywgaXNEaWFsb2c6IGJvb2xlYW4pOiB2b2lkIHtcclxuICAgIC8vdGFza1RhZyBzaG91bGQgYmUgMCBhcyBpdHMgaG9zdGVkIGJ5IHJvb3QtY29tcG9uZW50XHJcbiAgICB0aGlzLl9jb21tYW5kVHlwZSA9IEludGVyYWN0aXZlQ29tbWFuZFR5cGUuT1BFTl9GT1JNO1xyXG4gICAgdGhpcy5jb250cm9sTmFtZSA9IGZvcm1OYW1lO1xyXG4gICAgdGhpcy5fc3RyID0gaGFuZGxlclRhc2tUYWc7XHJcbiAgICB0aGlzLl9tZ1ZhbHVlID0gbmV3IE1nVmFsdWUoKTtcclxuICAgIHRoaXMuX21nVmFsdWUuc3RyID0gY2FsbGVkVGFza1RhZztcclxuICAgIHRoaXMuX21nVmFsdWUucGF0aCA9IGlucHV0Q29udHJvbHM7XHJcbiAgICB0aGlzLl9ib29sVmFsID0gaXNEaWFsb2c7XHJcbiAgICB0aGlzLkludm9rZSgpO1xyXG4gIH1cclxuXHJcbiAgLy8vIDxzdW1tYXJ5PiBDYWxscyBSdW4oKSBzeW5jaHJvbm91c2x5IHRvIGV4ZWN1dGUgdGhlIGNvbW1hbmQuXHJcbiAgLy8vIEJ1dCBiZWZvcmUgdGhhdCwgaXQgZXhlY3V0ZXMgdGhlIEd1aUNvbW1hbmRRdWV1ZS5cclxuICAvLy8gPC9zdW1tYXJ5PlxyXG4gIHByaXZhdGUgSW52b2tlKCk6IHZvaWQge1xyXG4gICAgR3VpQ29tbWFuZFF1ZXVlLmdldEluc3RhbmNlKCkuaW52b2tlKCk7XHJcbiAgICBpZiAodGhpcy5fb2JqMiBpbnN0YW5jZW9mIENvbnRyb2xCYXNlKSB7XHJcbiAgICAgIGxldCBjb250cm9sQmFzZTogQ29udHJvbEJhc2UgPSA8Q29udHJvbEJhc2U+dGhpcy5fb2JqMjtcclxuICAgICAgdGhpcy5UYXNrVGFnID0gY29udHJvbEJhc2UuVGFza1RhZztcclxuICAgICAgdGhpcy5jb250cm9sTmFtZSA9IGNvbnRyb2xCYXNlLlVuaXF1ZU5hbWU7XHJcbiAgICB9IGVsc2UgaWYgKHRoaXMuX29iajIgaW5zdGFuY2VvZiBHdWlNZ0Zvcm0pIHtcclxuICAgICAgbGV0IGd1aU1nRm9ybTogR3VpTWdGb3JtID0gPEd1aU1nRm9ybT50aGlzLl9vYmoyO1xyXG4gICAgICB0aGlzLlRhc2tUYWcgPSBndWlNZ0Zvcm0uVGFza1RhZztcclxuICAgIH0gZWxzZVxyXG4gICAgICB0aGlzLlRhc2tUYWcgPSAnMCc7IC8vIGdlbmVyYWwgY29tbWFuZFxyXG5cclxuICAgIFVJQnJpZGdlLmdldEluc3RhbmNlKCkuRXhlY3V0ZUludGVyYWN0aXZlQ29tbWFuZCh0aGlzKTtcclxuICB9XHJcblxyXG4gIC8vLyA8c3VtbWFyeT4gaW1wbGVtZW50cyB0aGUgUnVubmFibGUgcnVuIG1ldGhvZCBmb3IgY2FsbGluZyBEaXNwbGF5LnN5bmNFeGVjKCk8L3N1bW1hcnk+XHJcbiAgLy8gUnVuKCk6IHZvaWQge1xyXG4gIC8vICAgLy8gU2V0cyB0aGUgY3VycmVudENvbnRleHRJRFxyXG4gIC8vICAgbGV0IGNvbnRleHRJREd1YXJkID0gbmV3IENvbnRleHRJREd1YXJkKHRoaXMuX2NvbnRleHRJRCk7XHJcbiAgLy8gICB0cnkge1xyXG4gIC8vICAgICBzd2l0Y2ggKHRoaXMuX2NvbW1hbmRUeXBlKSB7XHJcbiAgLy8gICAgICAgY2FzZSBJbnRlcmFjdGl2ZUNvbW1hbmRUeXBlLkdFVF9GT05UX01FVFJJQ1M6XHJcbiAgLy8gICAgICAgICB0aGlzLm9uR2V0Rm9udE1ldHJpY3MoKTtcclxuICAvLyAgICAgICAgIGJyZWFrO1xyXG4gIC8vICAgICAgIGNhc2UgSW50ZXJhY3RpdmVDb21tYW5kVHlwZS5HRVRfUkVTT0xVVElPTjpcclxuICAvLyAgICAgICAgIHRoaXMub25HZXRSZXNvbHV0aW9uKCk7XHJcbiAgLy8gICAgICAgICBicmVhaztcclxuICAvLyAgICAgICBjYXNlIEludGVyYWN0aXZlQ29tbWFuZFR5cGUuR0VUX0JPVU5EUzpcclxuICAvLyAgICAgICAgIHRoaXMub25Cb3VuZHMoKTtcclxuICAvLyAgICAgICAgIGJyZWFrO1xyXG4gIC8vICAgICAgIGNhc2UgSW50ZXJhY3RpdmVDb21tYW5kVHlwZS5HRVRfVkFMVUU6XHJcbiAgLy8gICAgICAgICB0aGlzLm9uVmFsdWUoKTtcclxuICAvLyAgICAgICAgIGJyZWFrO1xyXG4gIC8vICAgICAgIGNhc2UgSW50ZXJhY3RpdmVDb21tYW5kVHlwZS5TRVRfQlJPV1NFUl9URVhUOlxyXG4gIC8vICAgICAgICAgdGhpcy5vblNldEJyb3dzZXJUZXh0KCk7XHJcbiAgLy8gICAgICAgICBicmVhaztcclxuICAvLyAgICAgICBjYXNlIEludGVyYWN0aXZlQ29tbWFuZFR5cGUuR0VUX0JST1dTRVJfVEVYVDpcclxuICAvLyAgICAgICAgIHRoaXMub25HZXRCcm93c2VyVGV4dCgpO1xyXG4gIC8vICAgICAgICAgYnJlYWs7XHJcbiAgLy8gICAgICAgY2FzZSBJbnRlcmFjdGl2ZUNvbW1hbmRUeXBlLkJST1dTRVJfRVhFQ1VURTpcclxuICAvLyAgICAgICAgIHRoaXMub25Ccm93c2VyRXhlY3V0ZSgpO1xyXG4gIC8vICAgICAgICAgYnJlYWs7XHJcbiAgLy8gICAgICAgY2FzZSBJbnRlcmFjdGl2ZUNvbW1hbmRUeXBlLkdFVF9UT1BfSU5ERVg6XHJcbiAgLy8gICAgICAgICB0aGlzLm9uR2V0VG9wSW5kZXgoKTtcclxuICAvLyAgICAgICAgIGJyZWFrO1xyXG4gIC8vICAgICAgIGNhc2UgSW50ZXJhY3RpdmVDb21tYW5kVHlwZS5NRVNTQUdFX0JPWDpcclxuICAvLyAgICAgICAgIHRoaXMub25NZXNzYWdlQm94KCk7XHJcbiAgLy8gICAgICAgICBicmVhaztcclxuICAvLyAgICAgICBjYXNlIEludGVyYWN0aXZlQ29tbWFuZFR5cGUuRElSRUNUT1JZX0RJQUxPR19CT1g6XHJcbiAgLy8gICAgICAgICB0aGlzLm9uRGlyZWN0b3J5RGlhbG9nQm94KCk7XHJcbiAgLy8gICAgICAgICBicmVhaztcclxuICAvLyAgICAgICBjYXNlIEludGVyYWN0aXZlQ29tbWFuZFR5cGUuR0VUX0NMSUVOVF9CT1VORFM6XHJcbiAgLy8gICAgICAgICB0aGlzLmdldENsaWVudEJvdW5kcygpO1xyXG4gIC8vICAgICAgICAgYnJlYWs7XHJcbiAgLy8gICAgICAgY2FzZSBJbnRlcmFjdGl2ZUNvbW1hbmRUeXBlLlNFVF9FRElUX1RFWFQ6XHJcbiAgLy8gICAgICAgICB0aGlzLm9uU2V0RWRpdFRleHQoKTtcclxuICAvLyAgICAgICAgIGJyZWFrO1xyXG4gIC8vICAgICAgIGNhc2UgSW50ZXJhY3RpdmVDb21tYW5kVHlwZS5JTlNFUlRfRURJVF9URVhUOlxyXG4gIC8vICAgICAgICAgdGhpcy5vbkluc2VydEVkaXRUZXh0KCk7XHJcbiAgLy8gICAgICAgICBicmVhaztcclxuICAvLyAgICAgICBjYXNlIEludGVyYWN0aXZlQ29tbWFuZFR5cGUuU0VUX1NFTEVDVElPTjpcclxuICAvLyAgICAgICAgIHRoaXMub25TZXRTZWxlY3Rpb24oKTtcclxuICAvLyAgICAgICAgIGJyZWFrO1xyXG4gIC8vICAgICAgIGNhc2UgSW50ZXJhY3RpdmVDb21tYW5kVHlwZS5HRVRfU0VMRUNUSU9OOlxyXG4gIC8vICAgICAgICAgdGhpcy5vblNlbGVjdGlvbkdldCgpO1xyXG4gIC8vICAgICAgICAgYnJlYWs7XHJcbiAgLy8gICAgICAgY2FzZSBJbnRlcmFjdGl2ZUNvbW1hbmRUeXBlLkdFVF9DQVJFVF9QT1M6XHJcbiAgLy8gICAgICAgICB0aGlzLm9uQ2FyZXRQb3NHZXQoKTtcclxuICAvLyAgICAgICAgIGJyZWFrO1xyXG4gIC8vICAgICAgIGNhc2UgSW50ZXJhY3RpdmVDb21tYW5kVHlwZS5HRVRfSVNfVE9QX09GX1RFWFRCT1g6XHJcbiAgLy8gICAgICAgICB0aGlzLm9uR2V0SXNUb3BPZlRleHRCb3goKTtcclxuICAvLyAgICAgICAgIGJyZWFrO1xyXG4gIC8vICAgICAgIGNhc2UgSW50ZXJhY3RpdmVDb21tYW5kVHlwZS5HRVRfSVNfRU5EX09GX1RFWFRCT1g6XHJcbiAgLy8gICAgICAgICB0aGlzLm9uR2V0SXNFbmRPZlRleHRCb3goKTtcclxuICAvLyAgICAgICAgIGJyZWFrO1xyXG4gIC8vICAgICAgIGNhc2UgSW50ZXJhY3RpdmVDb21tYW5kVHlwZS5DTElQQk9BUkRfR0VUX0NPTlRFTlQ6XHJcbiAgLy8gICAgICAgICB0aGlzLm9uQ2xpcGJvYXJkUmVhZCgpO1xyXG4gIC8vICAgICAgICAgYnJlYWs7XHJcbiAgLy8gICAgICAgY2FzZSBJbnRlcmFjdGl2ZUNvbW1hbmRUeXBlLkNMSVBCT0FSRF9TRVRfQ09OVEVOVDpcclxuICAvLyAgICAgICAgIHRoaXMub25DbGlwYm9hcmRXcml0ZSgpO1xyXG4gIC8vICAgICAgICAgYnJlYWs7XHJcbiAgLy8gICAgICAgY2FzZSBJbnRlcmFjdGl2ZUNvbW1hbmRUeXBlLkNMSVBCT0FSRF9QQVNURTpcclxuICAvLyAgICAgICAgIHRoaXMub25DbGlwYm9hcmRQYXN0ZSgpO1xyXG4gIC8vICAgICAgICAgYnJlYWs7XHJcbiAgLy8gICAgICAgY2FzZSBJbnRlcmFjdGl2ZUNvbW1hbmRUeXBlLlBPU1RfS0VZX0VWRU5UOlxyXG4gIC8vICAgICAgICAgdGhpcy5vblBvc3RLZXlFdmVudCgpO1xyXG4gIC8vICAgICAgICAgYnJlYWs7XHJcbiAgLy8gICAgICAgY2FzZSBJbnRlcmFjdGl2ZUNvbW1hbmRUeXBlLlBPU1RfQ0hBUl9FVkVOVDpcclxuICAvLyAgICAgICAgIHRoaXMub25Qb3N0Q2hhckV2ZW50KCk7XHJcbiAgLy8gICAgICAgICBicmVhaztcclxuICAvLyAgICAgICBjYXNlIEludGVyYWN0aXZlQ29tbWFuZFR5cGUuU0VUX0NVUlNPUjpcclxuICAvLyAgICAgICAgIHRoaXMub25TZXRDdXJzb3IoKTtcclxuICAvLyAgICAgICAgIGJyZWFrO1xyXG4gIC8vICAgICAgIGNhc2UgSW50ZXJhY3RpdmVDb21tYW5kVHlwZS5ESVNQT1NFX0FMTF9GT1JNUzpcclxuICAvLyAgICAgICAgIHRoaXMub25EaXNwb3NlQWxsRm9ybXMoKTtcclxuICAvLyAgICAgICAgIGJyZWFrO1xyXG4gIC8vICAgICAgIGNhc2UgSW50ZXJhY3RpdmVDb21tYW5kVHlwZS5HRVRfUk9XU19JTl9QQUdFOlxyXG4gIC8vICAgICAgICAgdGhpcy5vbkdldFJvd3NJblBhZ2UoKTtcclxuICAvLyAgICAgICAgIGJyZWFrO1xyXG4gIC8vICAgICAgIGNhc2UgSW50ZXJhY3RpdmVDb21tYW5kVHlwZS5HRVRfSElEREVOX1JPV1NfQ09VTlRfSU5fVEFCTEU6XHJcbiAgLy8gICAgICAgICB0aGlzLm9uR2V0SGlkZGVuUm93c0NvdW50SW5UYWJsZSgpO1xyXG4gIC8vICAgICAgICAgYnJlYWs7XHJcbiAgLy8gICAgICAgY2FzZSBJbnRlcmFjdGl2ZUNvbW1hbmRUeXBlLkZJTEVfT1BFTl9ESUFMT0dfQk9YOlxyXG4gIC8vICAgICAgICAgdGhpcy5vbkZpbGVPcGVuRGlhbG9nQm94KCk7XHJcbiAgLy8gICAgICAgICBicmVhaztcclxuICAvLyAgICAgICBjYXNlIEludGVyYWN0aXZlQ29tbWFuZFR5cGUuRklMRV9TQVZFX0RJQUxPR19CT1g6XHJcbiAgLy8gICAgICAgICB0aGlzLm9uRmlsZVNhdmVEaWFsb2dCb3goKTtcclxuICAvLyAgICAgICAgIGJyZWFrO1xyXG4gIC8vICAgICAgIGNhc2UgSW50ZXJhY3RpdmVDb21tYW5kVHlwZS5DUkVBVEVfRElBTE9HOlxyXG4gIC8vICAgICAgICAgdGhpcy5vbkNyZWF0ZURpYWxvZygpO1xyXG4gIC8vICAgICAgICAgYnJlYWs7XHJcbiAgLy8gICAgICAgY2FzZSBJbnRlcmFjdGl2ZUNvbW1hbmRUeXBlLk9QRU5fRElBTE9HOlxyXG4gIC8vICAgICAgICAgdGhpcy5vbk9wZW5EaWFsb2coKTtcclxuICAvLyAgICAgICAgIGJyZWFrO1xyXG4gIC8vICAgICAgIGNhc2UgSW50ZXJhY3RpdmVDb21tYW5kVHlwZS5DTE9TRV9ESUFMT0c6XHJcbiAgLy8gICAgICAgICB0aGlzLm9uQ2xvc2VEaWFsb2coKTtcclxuICAvLyAgICAgICAgIGJyZWFrO1xyXG4gIC8vICAgICAgIGNhc2UgSW50ZXJhY3RpdmVDb21tYW5kVHlwZS5TRVRfR0VUX1NVR0dFU1RFRF9WQUxVRV9GT1JfQ0hPSUNFX0NPTlRST0xfT05fVEFHREFUQTpcclxuICAvLyAgICAgICAgIHRoaXMuT25TZXRHZXRTdWdnZXN0ZWRWYWx1ZU9mQ2hvaWNlQ29udHJvbE9uVGFnRGF0YSgpO1xyXG4gIC8vICAgICAgICAgYnJlYWs7XHJcbiAgLy8gICAgICAgY2FzZSBJbnRlcmFjdGl2ZUNvbW1hbmRUeXBlLkdFVF9MQVNUX1dJTkRPV19TVEFURTpcclxuICAvLyAgICAgICAgIHRoaXMub25HZXRMYXN0V2luZG93U3RhdGUoKTtcclxuICAvLyAgICAgICAgIGJyZWFrO1xyXG4gIC8vICAgICAgIGNhc2UgSW50ZXJhY3RpdmVDb21tYW5kVHlwZS5HRVRfRlJBTUVTX0JPVU5EUzpcclxuICAvLyAgICAgICAgIHRoaXMub25HZXRGcmFtZXNCb3VuZHMoKTtcclxuICAvLyAgICAgICAgIGJyZWFrO1xyXG4gIC8vICAgICAgIGNhc2UgSW50ZXJhY3RpdmVDb21tYW5kVHlwZS5HRVRfTElOS0VEX1BBUkVOVF9JRFg6XHJcbiAgLy8gICAgICAgICB0aGlzLm9uR2V0TGlua2VkUGFyZW50SWR4KCk7XHJcbiAgLy8gICAgICAgICBicmVhaztcclxuICAvLyAgICAgICBjYXNlIEludGVyYWN0aXZlQ29tbWFuZFR5cGUuR0VUX0ZPUk1fQk9VTkRTOlxyXG4gIC8vICAgICAgICAgdGhpcy5vbkdldEZvcm1Cb3VuZHMoKTtcclxuICAvLyAgICAgICAgIGJyZWFrO1xyXG4gIC8vICAgICAgIGNhc2UgSW50ZXJhY3RpdmVDb21tYW5kVHlwZS5HRVRfQ09MVU1OU19TVEFURTpcclxuICAvLyAgICAgICAgIHRoaXMub25HZXRDb2x1bW5zU3RhdGUoKTtcclxuICAvLyAgICAgICAgIGJyZWFrO1xyXG4gIC8vICAgICAgIGNhc2UgSW50ZXJhY3RpdmVDb21tYW5kVHlwZS5HRVRfRk9STV9IQU5ETEU6XHJcbiAgLy8gICAgICAgICB0aGlzLm9uR2V0Rm9ybUhhbmRsZSgpO1xyXG4gIC8vICAgICAgICAgYnJlYWs7XHJcbiAgLy8gICAgICAgY2FzZSBJbnRlcmFjdGl2ZUNvbW1hbmRUeXBlLkdFVF9DVFJMX0hBTkRMRTpcclxuICAvLyAgICAgICAgIHRoaXMub25HZXRDdHJsSGFuZGxlKCk7XHJcbiAgLy8gICAgICAgICBicmVhaztcclxuICAvLyAgICAgICBjYXNlIEludGVyYWN0aXZlQ29tbWFuZFR5cGUuSVNfRk9STV9BQ1RJVkU6XHJcbiAgLy8gICAgICAgICB0aGlzLmlzRm9ybUFjdGl2ZSgpO1xyXG4gIC8vICAgICAgICAgYnJlYWs7XHJcbiAgLy8gICAgICAgY2FzZSBJbnRlcmFjdGl2ZUNvbW1hbmRUeXBlLkdFVF9EUk9QUEVEX0RBVEE6XHJcbiAgLy8gICAgICAgICB0aGlzLm9uR2V0RHJvcHBlZERhdGEoKTtcclxuICAvLyAgICAgICAgIGJyZWFrO1xyXG4gIC8vICAgICAgIGNhc2UgSW50ZXJhY3RpdmVDb21tYW5kVHlwZS5HRVRfRFJPUFBFRF9QT0lOVDpcclxuICAvLyAgICAgICAgIHRoaXMub25HZXREcm9wcGVkUG9pbnQoKTtcclxuICAvLyAgICAgICAgIGJyZWFrO1xyXG4gIC8vICAgICAgIGNhc2UgSW50ZXJhY3RpdmVDb21tYW5kVHlwZS5HRVRfRFJPUFBFRF9TRUxFQ1RJT046XHJcbiAgLy8gICAgICAgICB0aGlzLm9uR2V0RHJvcHBlZFNlbGVjdGlvbigpO1xyXG4gIC8vICAgICAgICAgYnJlYWs7XHJcbiAgLy8gICAgICAgY2FzZSBJbnRlcmFjdGl2ZUNvbW1hbmRUeXBlLkRST1BfRk9STUFUX1NVUFBPUlRFRDpcclxuICAvLyAgICAgICAgIHRoaXMub25DaGVja0Ryb3BGb3JtYXRQcmVzZW50KCk7XHJcbiAgLy8gICAgICAgICBicmVhaztcclxuICAvLyAgICAgICBjYXNlIEludGVyYWN0aXZlQ29tbWFuZFR5cGUuR0VUX0lTX0JFR0lOX0RSQUc6XHJcbiAgLy8gICAgICAgICB0aGlzLm9uR2V0SXNCZWdpbkRyYWcoKTtcclxuICAvLyAgICAgICAgIGJyZWFrO1xyXG4gIC8vICAgICAgIGNhc2UgSW50ZXJhY3RpdmVDb21tYW5kVHlwZS5BQ1RJVkFURV9ORVhUX09SX1BSRVZJT1VTX01ESV9DSElMRDpcclxuICAvLyAgICAgICAgIHRoaXMuT25BY3RpdmF0ZU5leHRPclByZXZpb3VzTURJQ2hpbGQoKTtcclxuICAvLyAgICAgICAgIGJyZWFrO1xyXG4gIC8vICAgICAgIGNhc2UgSW50ZXJhY3RpdmVDb21tYW5kVHlwZS5TRU5EX0lNRV9NU0c6XHJcbiAgLy8gICAgICAgICB0aGlzLm9uU2VuZEltZU1zZygpO1xyXG4gIC8vICAgICAgICAgYnJlYWs7XHJcbiAgLy8gICAgICAgY2FzZSBJbnRlcmFjdGl2ZUNvbW1hbmRUeXBlLkNBTl9GT0NVUzpcclxuICAvLyAgICAgICAgIHRoaXMub25DYW5Gb2N1cygpO1xyXG4gIC8vICAgICAgICAgYnJlYWs7XHJcbiAgLy8gICAgICAgY2FzZSBJbnRlcmFjdGl2ZUNvbW1hbmRUeXBlLkdFVF9TRUxFQ1RFRF9JTkRJQ0U6XHJcbiAgLy8gICAgICAgICB0aGlzLk9uR2V0U2VsZWN0ZWRJbmRpY2UoKTtcclxuICAvLyAgICAgICAgIGJyZWFrO1xyXG4gIC8vICAgICAgIGNhc2UgSW50ZXJhY3RpdmVDb21tYW5kVHlwZS5TRVRfU1VHR0VTVEVEX1ZBTFVFOlxyXG4gIC8vICAgICAgICAgdGhpcy5vblNldFN1Z2dlc3RlZFZhbHVlKCk7XHJcbiAgLy8gICAgICAgICBicmVhaztcclxuICAvLyAgICAgICBjYXNlIEludGVyYWN0aXZlQ29tbWFuZFR5cGUuTUFQX1dJREdFVF9UT19HVUlfT0JKRUNUOlxyXG4gIC8vICAgICAgICAgdGhpcy5NYXBXaWRnZXQoKTtcclxuICAvLyAgICAgICAgIGJyZWFrO1xyXG4gIC8vICAgICAgIGNhc2UgSW50ZXJhY3RpdmVDb21tYW5kVHlwZS5SRU1PVkVfRE5fQ09OVFJPTF9WQUxVRV9DSEFOR0VEX0hBTkRMRVI6XHJcbiAgLy8gICAgICAgICB0aGlzLk9uUmVtb3ZlRE5Db250cm9sVmFsdWVDaGFuZ2VkSGFuZGxlcigpO1xyXG4gIC8vICAgICAgICAgYnJlYWs7XHJcbiAgLy8gICAgICAgY2FzZSBJbnRlcmFjdGl2ZUNvbW1hbmRUeXBlLkFERF9ETl9DT05UUk9MX1ZBTFVFX0NIQU5HRURfSEFORExFUjpcclxuICAvLyAgICAgICAgIHRoaXMuT25BZGRETkNvbnRyb2xWYWx1ZUNoYW5nZWRIYW5kbGVyKCk7XHJcbiAgLy8gICAgICAgICBicmVhaztcclxuICAvLyAgICAgICBjYXNlIEludGVyYWN0aXZlQ29tbWFuZFR5cGUuR0VUX1JURl9WQUxVRV9CRUZPUkVfRU5URVJJTkdfQ09OVFJPTDpcclxuICAvLyAgICAgICAgIHRoaXMuT25HZXRSdGZWYWx1ZUJlZm9yZUVudGVyaW5nQ29udHJvbCgpO1xyXG4gIC8vICAgICAgICAgYnJlYWs7XHJcbiAgLy8gICAgICAgY2FzZSBJbnRlcmFjdGl2ZUNvbW1hbmRUeXBlLkdFVF9NRElfQ0hJTERfQ09VTlQ6XHJcbiAgLy8gICAgICAgICB0aGlzLk9uR2V0TURJQ2hpbGRDb3VudCgpO1xyXG4gIC8vICAgICAgICAgYnJlYWs7XHJcbiAgLy8gICAgICAgY2FzZSBJbnRlcmFjdGl2ZUNvbW1hbmRUeXBlLkFDVElWQVRFX0ZPUk06XHJcbiAgLy8gICAgICAgICB0aGlzLk9uQWN0aXZhdGVGb3JtKCk7XHJcbiAgLy8gICAgICAgICBicmVhaztcclxuICAvLyAgICAgICBjYXNlIEludGVyYWN0aXZlQ29tbWFuZFR5cGUuRU5BQkxFX01FTlVfRU5UUlk6XHJcbiAgLy8gICAgICAgICB0aGlzLk9uRW5hYmxlTWVudUVudHJ5KCk7XHJcbiAgLy8gICAgICAgICBicmVhaztcclxuICAvLyAgICAgICBjYXNlIEludGVyYWN0aXZlQ29tbWFuZFR5cGUuU0hPV19DT05URVhUX01FTlU6XHJcbiAgLy8gICAgICAgICB0aGlzLk9uU2hvd0NvbnRleHRNZW51KCk7XHJcbiAgLy8gICAgICAgICBicmVhaztcclxuICAvLyAgICAgICBjYXNlIEludGVyYWN0aXZlQ29tbWFuZFR5cGUuSVNfQ09NQk9fRFJPUFBFRF9ET1dOOlxyXG4gIC8vICAgICAgICAgdGhpcy5PbklzQ29tYm9Ecm9wcGVkRG93bmRTdGF0ZSgpO1xyXG4gIC8vICAgICAgICAgYnJlYWs7XHJcbiAgLy8gICAgICAgY2FzZSBJbnRlcmFjdGl2ZUNvbW1hbmRUeXBlLklOVk9LRV9VRFBDT01NQU5EOlxyXG4gIC8vICAgICAgICAgdGhpcy5vbkludm9rZVVEUCgpO1xyXG4gIC8vICAgICAgICAgYnJlYWs7XHJcbiAgLy8gICAgICAgY2FzZSBJbnRlcmFjdGl2ZUNvbW1hbmRUeXBlLkdFVF9IQVNJTkRFTlQ6XHJcbiAgLy8gICAgICAgICB0aGlzLk9uR2V0SGFzSW5kZW50KCk7XHJcbiAgLy8gICAgICAgICBicmVhaztcclxuICAvLyAgICAgfVxyXG4gIC8vICAgfVxyXG4gIC8vICAgY2F0Y2ggKGV4KSB7XHJcbiAgLy8gICAgIGlmIChleCBpbnN0YW5jZW9mIEV4Y2VwdGlvbikge1xyXG4gIC8vICAgICAgIEV2ZW50cy5Xcml0ZUV4Y2VwdGlvblRvTG9nKGV4KTtcclxuICAvLyAgICAgICB0aHJvdyBleDtcclxuICAvLyAgICAgfVxyXG4gIC8vICAgICBlbHNlXHJcbiAgLy8gICAgICAgdGhyb3cgZXg7IC8vIFJlc2V0IHRoZSBjdXJyZW50IGNvbnRleHRJRC5cclxuICAvLyAgIH1cclxuICAvLyAgIGZpbmFsbHkge1xyXG4gIC8vICAgICBjb250ZXh0SURHdWFyZC5EaXNwb3NlKCk7XHJcbiAgLy8gICB9XHJcbiAgLy8gfVxyXG5cclxuXHJcblxyXG4gIC8vLyA8c3VtbWFyeT4gZ2V0IG51bWJlciBvZiByb3dzIGluIHRoZSB0YWJsZVxyXG4gIC8vLyA8L3N1bW1hcnk+XHJcbiAgb25HZXRSb3dzSW5QYWdlKCk6IHZvaWQge1xyXG4gIH1cclxuXHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBHdWlJbnRlcmFjdGl2ZSBleHRlbmRzIEd1aUludGVyYWN0aXZlQmFzZSB7XHJcblxyXG59XHJcbiJdfQ==
@@ -1,20 +0,0 @@
1
- export class Styles {
2
- static MSGBOX_BUTTON_OK = 0x00000000;
3
- static MSGBOX_BUTTON_OK_CANCEL = 0x00000001;
4
- static MSGBOX_BUTTON_ABORT_RETRY_IGNORE = 0x00000002;
5
- static MSGBOX_BUTTON_YES_NO_CANCEL = 0x00000003;
6
- static MSGBOX_BUTTON_YES_NO = 0x00000004;
7
- static MSGBOX_BUTTON_RETRY_CANCEL = 0x00000005;
8
- static MSGBOX_ICON_ERROR = 0x00000010;
9
- static MSGBOX_ICON_QUESTION = 0x00000020;
10
- static MSGBOX_ICON_EXCLAMATION = 0x00000030;
11
- static MSGBOX_ICON_INFORMATION = 0x00000040;
12
- static MSGBOX_ICON_WARNING = Styles.MSGBOX_ICON_EXCLAMATION;
13
- static MSGBOX_RESULT_OK = 1;
14
- static MSGBOX_RESULT_CANCEL = 2;
15
- static MSGBOX_RESULT_ABORT = 3;
16
- static MSGBOX_RESULT_RETRY = 4;
17
- static MSGBOX_RESULT_YES = 6;
18
- static MSGBOX_RESULT_NO = 7;
19
- }
20
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU3R5bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9ndWkvc3JjL2d1aS9sb3cvU3R5bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxPQUFRLE1BQU07SUFNbEIsTUFBTSxDQUFFLGdCQUFnQixHQUFXLFVBQVUsQ0FBQztJQUM5QyxNQUFNLENBQUUsdUJBQXVCLEdBQVcsVUFBVSxDQUFDO0lBQ3JELE1BQU0sQ0FBRSxnQ0FBZ0MsR0FBVyxVQUFVLENBQUM7SUFDOUQsTUFBTSxDQUFFLDJCQUEyQixHQUFXLFVBQVUsQ0FBQztJQUN6RCxNQUFNLENBQUUsb0JBQW9CLEdBQVcsVUFBVSxDQUFDO0lBQ2xELE1BQU0sQ0FBRSwwQkFBMEIsR0FBVyxVQUFVLENBQUM7SUFFeEQsTUFBTSxDQUFFLGlCQUFpQixHQUFXLFVBQVUsQ0FBQztJQUMvQyxNQUFNLENBQUUsb0JBQW9CLEdBQVcsVUFBVSxDQUFDO0lBQ2xELE1BQU0sQ0FBRSx1QkFBdUIsR0FBVyxVQUFVLENBQUM7SUFDckQsTUFBTSxDQUFFLHVCQUF1QixHQUFXLFVBQVUsQ0FBQztJQUNyRCxNQUFNLENBQUMsbUJBQW1CLEdBQVcsTUFBTSxDQUFDLHVCQUF1QixDQUFDO0lBSXBFLE1BQU0sQ0FBQyxnQkFBZ0IsR0FBRyxDQUFDLENBQUM7SUFDNUIsTUFBTSxDQUFDLG9CQUFvQixHQUFHLENBQUMsQ0FBQztJQUNoQyxNQUFNLENBQUMsbUJBQW1CLEdBQUcsQ0FBQyxDQUFDO0lBQy9CLE1BQU0sQ0FBQyxtQkFBbUIsR0FBRyxDQUFDLENBQUM7SUFFL0IsTUFBTSxDQUFDLGlCQUFpQixHQUFHLENBQUMsQ0FBQztJQUM3QixNQUFNLENBQUMsZ0JBQWdCLEdBQUcsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNsYXNzICBTdHlsZXNcclxue1xyXG5cclxuXHJcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG4gIC8vIGNvbmZpcm1hdGlvbiBib3hcclxuICBzdGF0aWMgIE1TR0JPWF9CVVRUT05fT0s6IG51bWJlciA9IDB4MDAwMDAwMDA7XHJcbiAgc3RhdGljICBNU0dCT1hfQlVUVE9OX09LX0NBTkNFTDogbnVtYmVyID0gMHgwMDAwMDAwMTtcclxuICBzdGF0aWMgIE1TR0JPWF9CVVRUT05fQUJPUlRfUkVUUllfSUdOT1JFOiBudW1iZXIgPSAweDAwMDAwMDAyO1xyXG4gIHN0YXRpYyAgTVNHQk9YX0JVVFRPTl9ZRVNfTk9fQ0FOQ0VMOiBudW1iZXIgPSAweDAwMDAwMDAzO1xyXG4gIHN0YXRpYyAgTVNHQk9YX0JVVFRPTl9ZRVNfTk86IG51bWJlciA9IDB4MDAwMDAwMDQ7XHJcbiAgc3RhdGljICBNU0dCT1hfQlVUVE9OX1JFVFJZX0NBTkNFTDogbnVtYmVyID0gMHgwMDAwMDAwNTtcclxuXHJcbiAgc3RhdGljICBNU0dCT1hfSUNPTl9FUlJPUjogbnVtYmVyID0gMHgwMDAwMDAxMDtcclxuICBzdGF0aWMgIE1TR0JPWF9JQ09OX1FVRVNUSU9OOiBudW1iZXIgPSAweDAwMDAwMDIwO1xyXG4gIHN0YXRpYyAgTVNHQk9YX0lDT05fRVhDTEFNQVRJT046IG51bWJlciA9IDB4MDAwMDAwMzA7XHJcbiAgc3RhdGljICBNU0dCT1hfSUNPTl9JTkZPUk1BVElPTjogbnVtYmVyID0gMHgwMDAwMDA0MDtcclxuICBzdGF0aWMgTVNHQk9YX0lDT05fV0FSTklORzogbnVtYmVyID0gU3R5bGVzLk1TR0JPWF9JQ09OX0VYQ0xBTUFUSU9OO1xyXG5cclxuXHJcbiAgLy8gbWVzc2FnZSBib3ggcmVzdWx0XHJcbiAgc3RhdGljIE1TR0JPWF9SRVNVTFRfT0sgPSAxO1xyXG4gIHN0YXRpYyBNU0dCT1hfUkVTVUxUX0NBTkNFTCA9IDI7XHJcbiAgc3RhdGljIE1TR0JPWF9SRVNVTFRfQUJPUlQgPSAzO1xyXG4gIHN0YXRpYyBNU0dCT1hfUkVTVUxUX1JFVFJZID0gNDtcclxuXHJcbiAgc3RhdGljIE1TR0JPWF9SRVNVTFRfWUVTID0gNjtcclxuICBzdGF0aWMgTVNHQk9YX1JFU1VMVF9OTyA9IDc7XHJcblxyXG5cclxufVxyXG4iXX0=
@@ -1,42 +0,0 @@
1
- import { XmlParser } from "@magic-xpa/utils";
2
- import { Manager } from "../Manager";
3
- import { NString } from "@magic-xpa/mscorelib";
4
- export class RuntimeContextBase {
5
- _insertMode = false;
6
- _lastCoordinates = new Array(4);
7
- ContextID = '\0';
8
- Parser = null;
9
- FrameForm = null;
10
- LastClickedCtrlName = null;
11
- static noContextId = null;
12
- RemovedContextFromServer = false;
13
- RemovingContextFromServer = false;
14
- CurrentClickedCtrl = null;
15
- CurrentClickedRadio = null;
16
- DefaultStatusMsg = null;
17
- LastClickCoordinatesAreInPixels = false;
18
- static Instance = new RuntimeContextBase();
19
- constructor() { }
20
- Init(contextID) {
21
- this.ContextID = contextID;
22
- this.LastClickedCtrlName = "";
23
- this._insertMode = true;
24
- Manager.SetCurrentContextID(contextID);
25
- this.Parser = new XmlParser();
26
- }
27
- SaveLastClickInfo(controlName, clientX, clientY, offsetX, offsetY, isInPixels) {
28
- this._lastCoordinates[0] = offsetX;
29
- this._lastCoordinates[1] = offsetY;
30
- this._lastCoordinates[2] = clientX;
31
- this._lastCoordinates[3] = clientY;
32
- this.LastClickCoordinatesAreInPixels = isInPixels;
33
- this.LastClickedCtrlName = "";
34
- if (!NString.IsNullOrEmpty(controlName)) {
35
- this.LastClickedCtrlName = controlName;
36
- }
37
- }
38
- ToggleInsertMode() {
39
- this._insertMode = !this._insertMode;
40
- }
41
- }
42
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUnVudGltZUNvbnRleHRCYXNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZ3VpL3NyYy9tYW5hZ2VtZW50L1J1bnRpbWVDb250ZXh0QmFzZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0sa0JBQWtCLENBQUM7QUFHM0MsT0FBTyxFQUFDLE9BQU8sRUFBQyxNQUFNLFlBQVksQ0FBQztBQUNuQyxPQUFPLEVBQUMsT0FBTyxFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFFN0MsTUFBTSxPQUFPLGtCQUFrQjtJQUNyQixXQUFXLEdBQVksS0FBSyxDQUFDO0lBQzdCLGdCQUFnQixHQUFhLElBQUksS0FBSyxDQUFTLENBQUMsQ0FBQyxDQUFDO0lBQzFELFNBQVMsR0FBVyxJQUFJLENBQUM7SUFDekIsTUFBTSxHQUFjLElBQUksQ0FBQztJQUN6QixTQUFTLEdBQWUsSUFBSSxDQUFDO0lBQzdCLG1CQUFtQixHQUFXLElBQUksQ0FBQztJQUVuQyxNQUFNLENBQUMsV0FBVyxHQUFXLElBQUksQ0FBQztJQUNsQyx3QkFBd0IsR0FBWSxLQUFLLENBQUM7SUFDMUMseUJBQXlCLEdBQVksS0FBSyxDQUFDO0lBSTNDLGtCQUFrQixHQUFrQixJQUFJLENBQUM7SUFFekMsbUJBQW1CLEdBQWtCLElBQUksQ0FBQztJQUMxQyxnQkFBZ0IsR0FBVyxJQUFJLENBQUM7SUFDaEMsK0JBQStCLEdBQVksS0FBSyxDQUFDO0lBRWpELE1BQU0sQ0FBQyxRQUFRLEdBQXVCLElBQUksa0JBQWtCLEVBQUUsQ0FBQztJQUUvRCxnQkFBd0IsQ0FBQztJQUN6QixJQUFJLENBQUMsU0FBaUI7UUFDcEIsSUFBSSxDQUFDLFNBQVMsR0FBRyxTQUFTLENBQUM7UUFDM0IsSUFBSSxDQUFDLG1CQUFtQixHQUFHLEVBQUUsQ0FBQztRQUM5QixJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQztRQUN4QixPQUFPLENBQUMsbUJBQW1CLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDdkMsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLFNBQVMsRUFBRSxDQUFDO0lBQ2hDLENBQUM7SUFFRCxpQkFBaUIsQ0FBQyxXQUFtQixFQUFFLE9BQWUsRUFBRSxPQUFlLEVBQUUsT0FBZSxFQUFFLE9BQWUsRUFBRSxVQUFtQjtRQUM1SCxJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLEdBQUcsT0FBTyxDQUFDO1FBQ25DLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsR0FBRyxPQUFPLENBQUM7UUFDbkMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxHQUFHLE9BQU8sQ0FBQztRQUNuQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLEdBQUcsT0FBTyxDQUFDO1FBRW5DLElBQUksQ0FBQywrQkFBK0IsR0FBRyxVQUFVLENBQUM7UUFFbEQsSUFBSSxDQUFDLG1CQUFtQixHQUFHLEVBQUUsQ0FBQztRQUM5QixJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxXQUFXLENBQUMsRUFBRTtZQUN2QyxJQUFJLENBQUMsbUJBQW1CLEdBQUcsV0FBVyxDQUFDO1NBQ3hDO0lBQ0gsQ0FBQztJQUdELGdCQUFnQjtRQUNkLElBQUksQ0FBQyxXQUFXLEdBQUcsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDO0lBQ3ZDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1htbFBhcnNlcn0gZnJvbSBcIkBtYWdpYy14cGEvdXRpbHNcIjtcclxuaW1wb3J0IHtNZ0Zvcm1CYXNlfSBmcm9tIFwiLi9ndWkvTWdGb3JtQmFzZVwiO1xyXG5pbXBvcnQge01nQ29udHJvbEJhc2V9IGZyb20gXCIuL2d1aS9NZ0NvbnRyb2xCYXNlXCI7XHJcbmltcG9ydCB7TWFuYWdlcn0gZnJvbSBcIi4uL01hbmFnZXJcIjtcclxuaW1wb3J0IHtOU3RyaW5nfSBmcm9tIFwiQG1hZ2ljLXhwYS9tc2NvcmVsaWJcIjtcclxuXHJcbmV4cG9ydCBjbGFzcyBSdW50aW1lQ29udGV4dEJhc2Uge1xyXG4gIHByaXZhdGUgX2luc2VydE1vZGU6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBwcml2YXRlIF9sYXN0Q29vcmRpbmF0ZXM6IG51bWJlcltdID0gbmV3IEFycmF5PG51bWJlcj4oNCk7XHJcbiAgQ29udGV4dElEOiBzdHJpbmcgPSAnXFwwJztcclxuICBQYXJzZXI6IFhtbFBhcnNlciA9IG51bGw7IC8vIHhtbCBwYXJzZXJcclxuICBGcmFtZUZvcm06IE1nRm9ybUJhc2UgPSBudWxsOyAvLyBmb3JtIG9mIHRoZSBNREkvU0RJIGZyYW1lXHJcbiAgTGFzdENsaWNrZWRDdHJsTmFtZTogc3RyaW5nID0gbnVsbDtcclxuXHJcbiAgc3RhdGljIG5vQ29udGV4dElkOiBzdHJpbmcgPSBudWxsO1xyXG4gIFJlbW92ZWRDb250ZXh0RnJvbVNlcnZlcjogYm9vbGVhbiA9IGZhbHNlOyAvL3NldCB3aGVuIHJlcS4gJ0NvbnRleHQgUmVtb3ZlJyBzZW50IHRvIHNlcnZlci5cclxuICBSZW1vdmluZ0NvbnRleHRGcm9tU2VydmVyOiBib29sZWFuID0gZmFsc2U7IC8vc2V0IHdoZW4gZXZlbnQgJ0NvbnRleHQgUmVtb3ZlJ3JhaXNlZFxyXG4gIC8vIEN1cnJlbnRDbGlja2VkQ3RybCAtIGFsd2F5cyBwb2ludHMgdG8gdGhlIGN1cnJlbnQgY2xpY2tlZEN0cmwuIEluaXRpYWxseSBudWxsLCBidXQgb25jZSBjbGlja2VkIG9uIGFueVxyXG4gIC8vIGNvbnRyb2wsIGl0IGFsd2F5cyBwb2ludHMgdG8gdGhpcyBjbGlja2VkIGN0cmwuIEFuZCwgaXMgcmVzZXQgYmFjayB0byBudWxsIG9uY2Ugd2UgaGF2ZSBzdWNjZXNzZnVsbHlcclxuICAvLyBwYXJrZWQgb24gdGhlIHBhcmthYmxlIGNvbnRyb2wuXHJcbiAgQ3VycmVudENsaWNrZWRDdHJsOiBNZ0NvbnRyb2xCYXNlID0gbnVsbDtcclxuXHJcbiAgQ3VycmVudENsaWNrZWRSYWRpbzogTWdDb250cm9sQmFzZSA9IG51bGw7XHJcbiAgRGVmYXVsdFN0YXR1c01zZzogc3RyaW5nID0gbnVsbDtcclxuICBMYXN0Q2xpY2tDb29yZGluYXRlc0FyZUluUGl4ZWxzOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIHN0YXRpYyBJbnN0YW5jZTogUnVudGltZUNvbnRleHRCYXNlID0gbmV3IFJ1bnRpbWVDb250ZXh0QmFzZSgpO1xyXG5cclxuICBwcml2YXRlIGNvbnN0cnVjdG9yKCkgeyB9XHJcbiAgSW5pdChjb250ZXh0SUQ6IHN0cmluZykge1xyXG4gICAgdGhpcy5Db250ZXh0SUQgPSBjb250ZXh0SUQ7XHJcbiAgICB0aGlzLkxhc3RDbGlja2VkQ3RybE5hbWUgPSBcIlwiO1xyXG4gICAgdGhpcy5faW5zZXJ0TW9kZSA9IHRydWU7XHJcbiAgICBNYW5hZ2VyLlNldEN1cnJlbnRDb250ZXh0SUQoY29udGV4dElEKTtcclxuICAgIHRoaXMuUGFyc2VyID0gbmV3IFhtbFBhcnNlcigpO1xyXG4gIH1cclxuXHJcbiAgU2F2ZUxhc3RDbGlja0luZm8oY29udHJvbE5hbWU6IHN0cmluZywgY2xpZW50WDogbnVtYmVyLCBjbGllbnRZOiBudW1iZXIsIG9mZnNldFg6IG51bWJlciwgb2Zmc2V0WTogbnVtYmVyLCBpc0luUGl4ZWxzOiBib29sZWFuKTogdm9pZCB7XHJcbiAgICB0aGlzLl9sYXN0Q29vcmRpbmF0ZXNbMF0gPSBvZmZzZXRYOyAvLyBHaXZlcyB0aGUgWCBsb2NhdGlvbiBvZiB0aGUgbGFzdCBjbGljaywgcmVsYXRpdmUgdG8gdGhlIHdpbmRvd1xyXG4gICAgdGhpcy5fbGFzdENvb3JkaW5hdGVzWzFdID0gb2Zmc2V0WTsgLy8gR2l2ZXMgdGhlIFkgbG9jYXRpb24gb2YgdGhlIGxhc3QgY2xpY2ssIHJlbGF0aXZlIHRvIHRoZSB3aW5kb3dcclxuICAgIHRoaXMuX2xhc3RDb29yZGluYXRlc1syXSA9IGNsaWVudFg7IC8vIEdpdmVzIHRoZSBYIGxvY2F0aW9uIG9mIHRoZSBsYXN0IGNsaWNrLCByZWxhdGl2ZSB0byB0aGUgY29udHJvbCB3aXRoaW4gd2hpY2ggdGhlIGNsaWNrIG9jY3VycmVkXHJcbiAgICB0aGlzLl9sYXN0Q29vcmRpbmF0ZXNbM10gPSBjbGllbnRZOyAvLyBHaXZlcyB0aGUgWSBsb2NhdGlvbiBvZiB0aGUgbGFzdCBjbGljaywgcmVsYXRpdmUgdG8gdGhlIGNvbnRyb2wgd2l0aGluIHdoaWNoIHRoZSBjbGljayBvY2N1cnJlZFxyXG5cclxuICAgIHRoaXMuTGFzdENsaWNrQ29vcmRpbmF0ZXNBcmVJblBpeGVscyA9IGlzSW5QaXhlbHM7XHJcblxyXG4gICAgdGhpcy5MYXN0Q2xpY2tlZEN0cmxOYW1lID0gXCJcIjsgLy8gaXMgZW1wdHkgc3RyaW5nXHJcbiAgICBpZiAoIU5TdHJpbmcuSXNOdWxsT3JFbXB0eShjb250cm9sTmFtZSkpIHtcclxuICAgICAgdGhpcy5MYXN0Q2xpY2tlZEN0cmxOYW1lID0gY29udHJvbE5hbWU7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvLy8gPHN1bW1hcnk+IHRvZ2dsZSB0aGUgX2luc2VydE1vZGUgKGJldHdlZW4gaW5zZXJ0IGFuZCBvdmVyd3JpdGUpLiA8L3N1bW1hcnk+XHJcbiAgVG9nZ2xlSW5zZXJ0TW9kZSgpOiB2b2lkIHtcclxuICAgIHRoaXMuX2luc2VydE1vZGUgPSAhdGhpcy5faW5zZXJ0TW9kZTtcclxuICB9XHJcbn1cclxuIl19