@itwin/core-frontend 3.0.0-dev.94 → 3.0.0-extension.0

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 (131) hide show
  1. package/lib/cjs/GeoServices.d.ts +4 -4
  2. package/lib/cjs/GeoServices.d.ts.map +1 -1
  3. package/lib/cjs/GeoServices.js +17 -14
  4. package/lib/cjs/GeoServices.js.map +1 -1
  5. package/lib/cjs/IModelApp.d.ts +7 -1
  6. package/lib/cjs/IModelApp.d.ts.map +1 -1
  7. package/lib/cjs/IModelApp.js +10 -2
  8. package/lib/cjs/IModelApp.js.map +1 -1
  9. package/lib/cjs/SheetViewState.js +1 -1
  10. package/lib/cjs/SheetViewState.js.map +1 -1
  11. package/lib/cjs/ViewCreator3d.d.ts +1 -1
  12. package/lib/cjs/ViewCreator3d.d.ts.map +1 -1
  13. package/lib/cjs/ViewCreator3d.js +1 -1
  14. package/lib/cjs/ViewCreator3d.js.map +1 -1
  15. package/lib/cjs/ViewState.d.ts +0 -2
  16. package/lib/cjs/ViewState.d.ts.map +1 -1
  17. package/lib/cjs/ViewState.js +9 -9
  18. package/lib/cjs/ViewState.js.map +1 -1
  19. package/lib/cjs/Viewport.d.ts.map +1 -1
  20. package/lib/cjs/Viewport.js +6 -4
  21. package/lib/cjs/Viewport.js.map +1 -1
  22. package/lib/cjs/core-frontend.d.ts +7 -6
  23. package/lib/cjs/core-frontend.d.ts.map +1 -1
  24. package/lib/cjs/core-frontend.js +7 -6
  25. package/lib/cjs/core-frontend.js.map +1 -1
  26. package/lib/cjs/extension/Extension.d.ts +39 -0
  27. package/lib/cjs/extension/Extension.d.ts.map +1 -0
  28. package/lib/cjs/extension/Extension.js +39 -0
  29. package/lib/cjs/extension/Extension.js.map +1 -0
  30. package/lib/cjs/extension/ExtensionAdmin.d.ts +70 -0
  31. package/lib/cjs/extension/ExtensionAdmin.d.ts.map +1 -0
  32. package/lib/cjs/extension/ExtensionAdmin.js +105 -0
  33. package/lib/cjs/extension/ExtensionAdmin.js.map +1 -0
  34. package/lib/cjs/extension/ExtensionHost.d.ts +20 -0
  35. package/lib/cjs/extension/ExtensionHost.d.ts.map +1 -0
  36. package/lib/cjs/extension/ExtensionHost.js +19 -0
  37. package/lib/cjs/extension/ExtensionHost.js.map +1 -0
  38. package/lib/cjs/extension/ExtensionImpl.d.ts +16 -0
  39. package/lib/cjs/extension/ExtensionImpl.d.ts.map +1 -0
  40. package/lib/cjs/extension/ExtensionImpl.js +40 -0
  41. package/lib/cjs/extension/ExtensionImpl.js.map +1 -0
  42. package/lib/cjs/extension/ExtensionLoader.d.ts +20 -0
  43. package/lib/cjs/extension/ExtensionLoader.d.ts.map +1 -0
  44. package/lib/cjs/extension/ExtensionLoader.js +11 -0
  45. package/lib/cjs/extension/ExtensionLoader.js.map +1 -0
  46. package/lib/cjs/extension/ExtensionRuntime.d.ts +2 -0
  47. package/lib/cjs/extension/ExtensionRuntime.d.ts.map +1 -0
  48. package/lib/cjs/extension/ExtensionRuntime.js +60 -0
  49. package/lib/cjs/extension/ExtensionRuntime.js.map +1 -0
  50. package/lib/cjs/extension/extensions.d.ts +18 -0
  51. package/lib/cjs/extension/extensions.d.ts.map +1 -0
  52. package/lib/cjs/extension/extensions.js +35 -0
  53. package/lib/cjs/extension/extensions.js.map +1 -0
  54. package/lib/cjs/render/webgl/SceneCompositor.js +1 -1
  55. package/lib/cjs/render/webgl/SceneCompositor.js.map +1 -1
  56. package/lib/cjs/render/webgl/Target.d.ts.map +1 -1
  57. package/lib/cjs/render/webgl/Target.js +11 -1
  58. package/lib/cjs/render/webgl/Target.js.map +1 -1
  59. package/lib/cjs/render/webgl/Technique.js +1 -1
  60. package/lib/cjs/render/webgl/Technique.js.map +1 -1
  61. package/lib/cjs/tile/TileDrawArgs.js +2 -2
  62. package/lib/cjs/tile/TileDrawArgs.js.map +1 -1
  63. package/lib/cjs/tools/ViewTool.d.ts.map +1 -1
  64. package/lib/cjs/tools/ViewTool.js +8 -9
  65. package/lib/cjs/tools/ViewTool.js.map +1 -1
  66. package/lib/esm/GeoServices.d.ts +4 -4
  67. package/lib/esm/GeoServices.d.ts.map +1 -1
  68. package/lib/esm/GeoServices.js +17 -14
  69. package/lib/esm/GeoServices.js.map +1 -1
  70. package/lib/esm/IModelApp.d.ts +7 -1
  71. package/lib/esm/IModelApp.d.ts.map +1 -1
  72. package/lib/esm/IModelApp.js +10 -2
  73. package/lib/esm/IModelApp.js.map +1 -1
  74. package/lib/esm/SheetViewState.js +1 -1
  75. package/lib/esm/SheetViewState.js.map +1 -1
  76. package/lib/esm/ViewCreator3d.d.ts +1 -1
  77. package/lib/esm/ViewCreator3d.d.ts.map +1 -1
  78. package/lib/esm/ViewCreator3d.js +1 -1
  79. package/lib/esm/ViewCreator3d.js.map +1 -1
  80. package/lib/esm/ViewState.d.ts +0 -2
  81. package/lib/esm/ViewState.d.ts.map +1 -1
  82. package/lib/esm/ViewState.js +9 -9
  83. package/lib/esm/ViewState.js.map +1 -1
  84. package/lib/esm/Viewport.d.ts.map +1 -1
  85. package/lib/esm/Viewport.js +6 -4
  86. package/lib/esm/Viewport.js.map +1 -1
  87. package/lib/esm/core-frontend.d.ts +7 -6
  88. package/lib/esm/core-frontend.d.ts.map +1 -1
  89. package/lib/esm/core-frontend.js +7 -6
  90. package/lib/esm/core-frontend.js.map +1 -1
  91. package/lib/esm/extension/Extension.d.ts +39 -0
  92. package/lib/esm/extension/Extension.d.ts.map +1 -0
  93. package/lib/esm/extension/Extension.js +38 -0
  94. package/lib/esm/extension/Extension.js.map +1 -0
  95. package/lib/esm/extension/ExtensionAdmin.d.ts +70 -0
  96. package/lib/esm/extension/ExtensionAdmin.d.ts.map +1 -0
  97. package/lib/esm/extension/ExtensionAdmin.js +101 -0
  98. package/lib/esm/extension/ExtensionAdmin.js.map +1 -0
  99. package/lib/esm/extension/ExtensionHost.d.ts +20 -0
  100. package/lib/esm/extension/ExtensionHost.d.ts.map +1 -0
  101. package/lib/esm/extension/ExtensionHost.js +15 -0
  102. package/lib/esm/extension/ExtensionHost.js.map +1 -0
  103. package/lib/esm/extension/ExtensionImpl.d.ts +16 -0
  104. package/lib/esm/extension/ExtensionImpl.d.ts.map +1 -0
  105. package/lib/esm/extension/ExtensionImpl.js +35 -0
  106. package/lib/esm/extension/ExtensionImpl.js.map +1 -0
  107. package/lib/esm/extension/ExtensionLoader.d.ts +20 -0
  108. package/lib/esm/extension/ExtensionLoader.d.ts.map +1 -0
  109. package/lib/esm/extension/ExtensionLoader.js +10 -0
  110. package/lib/esm/extension/ExtensionLoader.js.map +1 -0
  111. package/lib/esm/extension/ExtensionRuntime.d.ts +2 -0
  112. package/lib/esm/extension/ExtensionRuntime.d.ts.map +1 -0
  113. package/lib/esm/extension/ExtensionRuntime.js +58 -0
  114. package/lib/esm/extension/ExtensionRuntime.js.map +1 -0
  115. package/lib/esm/extension/extensions.d.ts +18 -0
  116. package/lib/esm/extension/extensions.d.ts.map +1 -0
  117. package/lib/esm/extension/extensions.js +23 -0
  118. package/lib/esm/extension/extensions.js.map +1 -0
  119. package/lib/esm/render/webgl/SceneCompositor.js +1 -1
  120. package/lib/esm/render/webgl/SceneCompositor.js.map +1 -1
  121. package/lib/esm/render/webgl/Target.d.ts.map +1 -1
  122. package/lib/esm/render/webgl/Target.js +11 -1
  123. package/lib/esm/render/webgl/Target.js.map +1 -1
  124. package/lib/esm/render/webgl/Technique.js +1 -1
  125. package/lib/esm/render/webgl/Technique.js.map +1 -1
  126. package/lib/esm/tile/TileDrawArgs.js +2 -2
  127. package/lib/esm/tile/TileDrawArgs.js.map +1 -1
  128. package/lib/esm/tools/ViewTool.d.ts.map +1 -1
  129. package/lib/esm/tools/ViewTool.js +8 -9
  130. package/lib/esm/tools/ViewTool.js.map +1 -1
  131. package/package.json +24 -24
@@ -6,6 +6,7 @@ export * from "./BriefcaseConnection";
6
6
  export * from "./BriefcaseTxns";
7
7
  export * from "./CategorySelectorState";
8
8
  export * from "./ChangeFlags";
9
+ export * from "./CheckpointConnection";
9
10
  export * from "./ContextRealityModelState";
10
11
  export * from "./CoordSystem";
11
12
  export * from "./DecorationsCache";
@@ -24,12 +25,12 @@ export * from "./FrustumAnimator";
24
25
  export * from "./FuzzySearch";
25
26
  export * from "./GeoServices";
26
27
  export * from "./GlobeAnimator";
28
+ export * from "./GraphicalEditingScope";
27
29
  export * from "./HitDetail";
28
30
  export * from "./ImageUtil";
29
31
  export * from "./IModelApp";
30
32
  export * from "./IModelConnection";
31
33
  export * from "./IModelRoutingContext";
32
- export * from "./GraphicalEditingScope";
33
34
  export * from "./IpcApp";
34
35
  export * from "./LinePlaneIntersect";
35
36
  export * from "./MarginPercent";
@@ -42,11 +43,7 @@ export * from "./NoRenderApp";
42
43
  export * from "./NotificationManager";
43
44
  export * from "./PerModelCategoryVisibility";
44
45
  export * from "./PlanarClipMaskState";
45
- export * from "./quantity-formatting/QuantityFormatter";
46
- export * from "./quantity-formatting/BaseUnitFormattingSettingsProvider";
47
- export * from "./quantity-formatting/LocalUnitFormatProvider";
48
46
  export * from "./RenderScheduleState";
49
- export * from "./CheckpointConnection";
50
47
  export * from "./SelectionSet";
51
48
  export * from "./SheetViewState";
52
49
  export * from "./SpatialViewState";
@@ -66,9 +63,13 @@ export * from "./ViewPose";
66
63
  export * from "./ViewRect";
67
64
  export * from "./ViewState";
68
65
  export * from "./ViewStatus";
66
+ export * from "./extension/extensions";
69
67
  export * from "./properties/AngleDescription";
70
68
  export * from "./properties/FormattedQuantityDescription";
71
69
  export * from "./properties/LengthDescription";
70
+ export * from "./quantity-formatting/QuantityFormatter";
71
+ export * from "./quantity-formatting/BaseUnitFormattingSettingsProvider";
72
+ export * from "./quantity-formatting/LocalUnitFormatProvider";
72
73
  export * from "./render/CanvasDecoration";
73
74
  export * from "./render/Decorations";
74
75
  export * from "./render/FeatureSymbology";
@@ -94,8 +95,8 @@ export * from "./render/VisibleFeature";
94
95
  export * from "./render/webgl/PerformanceMetrics";
95
96
  export * from "./render/webgl/Target";
96
97
  export * from "./render/webgl/IModelFrameLifecycle";
97
- export * from "./tools/AccuDrawTool";
98
98
  export * from "./tile/internal";
99
+ export * from "./tools/AccuDrawTool";
99
100
  export * from "./tools/ClipViewTool";
100
101
  export * from "./tools/EditManipulator";
101
102
  export * from "./tools/ElementSetTool";
@@ -1 +1 @@
1
- {"version":3,"file":"core-frontend.d.ts","sourceRoot":"","sources":["../../src/core-frontend.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"core-frontend.d.ts","sourceRoot":"","sources":["../../src/core-frontend.ts"],"names":[],"mappings":"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"}
@@ -22,6 +22,7 @@ __exportStar(require("./BriefcaseConnection"), exports);
22
22
  __exportStar(require("./BriefcaseTxns"), exports);
23
23
  __exportStar(require("./CategorySelectorState"), exports);
24
24
  __exportStar(require("./ChangeFlags"), exports);
25
+ __exportStar(require("./CheckpointConnection"), exports);
25
26
  __exportStar(require("./ContextRealityModelState"), exports);
26
27
  __exportStar(require("./CoordSystem"), exports);
27
28
  __exportStar(require("./DecorationsCache"), exports);
@@ -40,12 +41,12 @@ __exportStar(require("./FrustumAnimator"), exports);
40
41
  __exportStar(require("./FuzzySearch"), exports);
41
42
  __exportStar(require("./GeoServices"), exports);
42
43
  __exportStar(require("./GlobeAnimator"), exports);
44
+ __exportStar(require("./GraphicalEditingScope"), exports);
43
45
  __exportStar(require("./HitDetail"), exports);
44
46
  __exportStar(require("./ImageUtil"), exports);
45
47
  __exportStar(require("./IModelApp"), exports);
46
48
  __exportStar(require("./IModelConnection"), exports);
47
49
  __exportStar(require("./IModelRoutingContext"), exports);
48
- __exportStar(require("./GraphicalEditingScope"), exports);
49
50
  __exportStar(require("./IpcApp"), exports);
50
51
  __exportStar(require("./LinePlaneIntersect"), exports);
51
52
  __exportStar(require("./MarginPercent"), exports);
@@ -58,11 +59,7 @@ __exportStar(require("./NoRenderApp"), exports);
58
59
  __exportStar(require("./NotificationManager"), exports);
59
60
  __exportStar(require("./PerModelCategoryVisibility"), exports);
60
61
  __exportStar(require("./PlanarClipMaskState"), exports);
61
- __exportStar(require("./quantity-formatting/QuantityFormatter"), exports);
62
- __exportStar(require("./quantity-formatting/BaseUnitFormattingSettingsProvider"), exports);
63
- __exportStar(require("./quantity-formatting/LocalUnitFormatProvider"), exports);
64
62
  __exportStar(require("./RenderScheduleState"), exports);
65
- __exportStar(require("./CheckpointConnection"), exports);
66
63
  __exportStar(require("./SelectionSet"), exports);
67
64
  __exportStar(require("./SheetViewState"), exports);
68
65
  __exportStar(require("./SpatialViewState"), exports);
@@ -82,9 +79,13 @@ __exportStar(require("./ViewPose"), exports);
82
79
  __exportStar(require("./ViewRect"), exports);
83
80
  __exportStar(require("./ViewState"), exports);
84
81
  __exportStar(require("./ViewStatus"), exports);
82
+ __exportStar(require("./extension/extensions"), exports);
85
83
  __exportStar(require("./properties/AngleDescription"), exports);
86
84
  __exportStar(require("./properties/FormattedQuantityDescription"), exports);
87
85
  __exportStar(require("./properties/LengthDescription"), exports);
86
+ __exportStar(require("./quantity-formatting/QuantityFormatter"), exports);
87
+ __exportStar(require("./quantity-formatting/BaseUnitFormattingSettingsProvider"), exports);
88
+ __exportStar(require("./quantity-formatting/LocalUnitFormatProvider"), exports);
88
89
  __exportStar(require("./render/CanvasDecoration"), exports);
89
90
  __exportStar(require("./render/Decorations"), exports);
90
91
  __exportStar(require("./render/FeatureSymbology"), exports);
@@ -110,8 +111,8 @@ __exportStar(require("./render/VisibleFeature"), exports);
110
111
  __exportStar(require("./render/webgl/PerformanceMetrics"), exports);
111
112
  __exportStar(require("./render/webgl/Target"), exports);
112
113
  __exportStar(require("./render/webgl/IModelFrameLifecycle"), exports);
113
- __exportStar(require("./tools/AccuDrawTool"), exports);
114
114
  __exportStar(require("./tile/internal"), exports);
115
+ __exportStar(require("./tools/AccuDrawTool"), exports);
115
116
  __exportStar(require("./tools/ClipViewTool"), exports);
116
117
  __exportStar(require("./tools/EditManipulator"), exports);
117
118
  __exportStar(require("./tools/ElementSetTool"), exports);
@@ -1 +1 @@
1
- {"version":3,"file":"core-frontend.js","sourceRoot":"","sources":["../../src/core-frontend.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;;;;;;;;;;;;AAE/F,6CAA2B;AAC3B,6CAA2B;AAC3B,gDAA8B;AAC9B,iDAA+B;AAC/B,wDAAsC;AACtC,kDAAgC;AAChC,0DAAwC;AACxC,gDAA8B;AAC9B,6DAA2C;AAC3C,gDAA8B;AAC9B,qDAAmC;AACnC,6CAA2B;AAC3B,sDAAoC;AACpC,qDAAmC;AACnC,yDAAuC;AACvC,sDAAoC;AACpC,gDAA8B;AAC9B,4DAA0C;AAC1C,kDAAgC;AAChC,2DAAyC;AACzC,sDAAoC;AACpC,8CAA4B;AAC5B,oDAAkC;AAClC,gDAA8B;AAC9B,gDAA8B;AAC9B,kDAAgC;AAChC,8CAA4B;AAC5B,8CAA4B;AAC5B,8CAA4B;AAC5B,qDAAmC;AACnC,yDAAuC;AACvC,0DAAwC;AACxC,2CAAyB;AACzB,uDAAqC;AACrC,kDAAgC;AAChC,2CAAyB;AACzB,uDAAqC;AACrC,+CAA6B;AAC7B,8CAA4B;AAC5B,oDAAkC;AAClC,gDAA8B;AAC9B,wDAAsC;AACtC,+DAA6C;AAC7C,wDAAsC;AACtC,0EAAwD;AACxD,2FAAyE;AACzE,gFAA8D;AAC9D,wDAAsC;AACtC,yDAAuC;AACvC,iDAA+B;AAC/B,mDAAiC;AACjC,qDAAmC;AACnC,4CAA0B;AAC1B,iDAA+B;AAC/B,uDAAqC;AACrC,mDAAiC;AACjC,0CAAwB;AACxB,uDAAqC;AACrC,kDAAgC;AAChC,gDAA8B;AAC9B,uDAAqC;AACrC,iDAA+B;AAC/B,gDAA8B;AAC9B,6CAA2B;AAC3B,6CAA2B;AAC3B,6CAA2B;AAC3B,8CAA4B;AAC5B,+CAA6B;AAC7B,gEAA8C;AAC9C,4EAA0D;AAC1D,iEAA+C;AAC/C,4DAA0C;AAC1C,uDAAqC;AACrC,4DAA0C;AAC1C,sDAAoC;AACpC,yDAAuC;AACvC,0DAAwC;AACxC,4DAA0C;AAC1C,kEAAgD;AAChD,sDAAoC;AACpC,qEAAmD;AACnD,iDAA+B;AAC/B,4DAA0C;AAC1C,yDAAuC;AACvC,wDAAsC;AACtC,sDAAoC;AACpC,kEAAgD;AAChD,wDAAsC;AACtC,wDAAsC;AACtC,yDAAuC;AACvC,iDAA+B;AAC/B,oEAAkD;AAClD,0DAAwC;AACxC,oEAAkD;AAClD,wDAAsC;AACtC,sEAAoD;AACpD,uDAAqC;AACrC,kDAAgC;AAChC,uDAAqC;AACrC,0DAAwC;AACxC,yDAAuC;AACvC,0DAAwC;AACxC,mDAAiC;AACjC,sDAAoC;AACpC,wDAAsC;AACtC,qDAAmC;AACnC,+CAA6B;AAC7B,uDAAqC;AACrC,oDAAkC;AAClC,yDAAuC;AACvC,mDAAiC;AACjC,0DAAwC;AACxC,kDAAgC;AAChC,kDAAgC;AAChC,oDAAkC;AAClC,sDAAoC;AACpC,0DAAwC;AAExC;;GAEG;AAEH;;;;GAIG;AACH;;;GAGG;AACH;;;;GAIG;AACH;;;;GAIG;AACH;;;GAGG;AACH;;;GAGG;AACH;;;GAGG;AACH;;;;GAIG;AACH;;;;GAIG;AACH;;;;GAIG;AACH;;;GAGG;AACH;;;GAGG;AACH;;;GAGG;AACH;;;;GAIG;AACH;;;GAGG;AACH;;;GAGG;AACH;;;GAGG;AACH;;;GAGG;AACH;;;GAGG;AACH;;;GAGG;AACH;;;GAGG;AACH;;;GAGG;AACH;;;GAGG;AACH;;;GAGG;AACH;;;GAGG;AACH;;;GAGG","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n\r\nexport * from \"./AccuDraw\";\r\nexport * from \"./AccuSnap\";\r\nexport * from \"./AuxCoordSys\";\r\nexport * from \"./BingLocation\";\r\nexport * from \"./BriefcaseConnection\";\r\nexport * from \"./BriefcaseTxns\";\r\nexport * from \"./CategorySelectorState\";\r\nexport * from \"./ChangeFlags\";\r\nexport * from \"./ContextRealityModelState\";\r\nexport * from \"./CoordSystem\";\r\nexport * from \"./DecorationsCache\";\r\nexport * from \"./DevTools\";\r\nexport * from \"./DisplayStyleState\";\r\nexport * from \"./DrawingViewState\";\r\nexport * from \"./ElementLocateManager\";\r\nexport * from \"./EmphasizeElements\";\r\nexport * from \"./EntityState\";\r\nexport * from \"./FeatureOverrideProvider\";\r\nexport * from \"./FlashSettings\";\r\nexport * from \"./FrontendLoggerCategory\";\r\nexport * from \"./FrontendHubAccess\";\r\nexport * from \"./Frustum2d\";\r\nexport * from \"./FrustumAnimator\";\r\nexport * from \"./FuzzySearch\";\r\nexport * from \"./GeoServices\";\r\nexport * from \"./GlobeAnimator\";\r\nexport * from \"./HitDetail\";\r\nexport * from \"./ImageUtil\";\r\nexport * from \"./IModelApp\";\r\nexport * from \"./IModelConnection\";\r\nexport * from \"./IModelRoutingContext\";\r\nexport * from \"./GraphicalEditingScope\";\r\nexport * from \"./IpcApp\";\r\nexport * from \"./LinePlaneIntersect\";\r\nexport * from \"./MarginPercent\";\r\nexport * from \"./Marker\";\r\nexport * from \"./ModelSelectorState\";\r\nexport * from \"./ModelState\";\r\nexport * from \"./NativeApp\";\r\nexport * from \"./NativeAppLogger\";\r\nexport * from \"./NoRenderApp\";\r\nexport * from \"./NotificationManager\";\r\nexport * from \"./PerModelCategoryVisibility\";\r\nexport * from \"./PlanarClipMaskState\";\r\nexport * from \"./quantity-formatting/QuantityFormatter\";\r\nexport * from \"./quantity-formatting/BaseUnitFormattingSettingsProvider\";\r\nexport * from \"./quantity-formatting/LocalUnitFormatProvider\";\r\nexport * from \"./RenderScheduleState\";\r\nexport * from \"./CheckpointConnection\";\r\nexport * from \"./SelectionSet\";\r\nexport * from \"./SheetViewState\";\r\nexport * from \"./SpatialViewState\";\r\nexport * from \"./Sprites\";\r\nexport * from \"./StandardView\";\r\nexport * from \"./SubCategoriesCache\";\r\nexport * from \"./TentativePoint\";\r\nexport * from \"./Tiles\";\r\nexport * from \"./TwoWayViewportSync\";\r\nexport * from \"./ViewAnimation\";\r\nexport * from \"./ViewContext\";\r\nexport * from \"./ViewGlobalLocation\";\r\nexport * from \"./ViewingSpace\";\r\nexport * from \"./ViewManager\";\r\nexport * from \"./Viewport\";\r\nexport * from \"./ViewPose\";\r\nexport * from \"./ViewRect\";\r\nexport * from \"./ViewState\";\r\nexport * from \"./ViewStatus\";\r\nexport * from \"./properties/AngleDescription\";\r\nexport * from \"./properties/FormattedQuantityDescription\";\r\nexport * from \"./properties/LengthDescription\";\r\nexport * from \"./render/CanvasDecoration\";\r\nexport * from \"./render/Decorations\";\r\nexport * from \"./render/FeatureSymbology\";\r\nexport * from \"./render/FrameStats\";\r\nexport * from \"./render/GraphicBranch\";\r\nexport * from \"./render/GraphicBuilder\";\r\nexport * from \"./render/GraphicPrimitive\";\r\nexport * from \"./render/InstancedGraphicParams\";\r\nexport * from \"./render/MockRender\";\r\nexport * from \"./render/ParticleCollectionBuilder\";\r\nexport * from \"./render/Pixel\";\r\nexport * from \"./render/RenderClipVolume\";\r\nexport * from \"./render/RenderGraphic\";\r\nexport * from \"./render/RenderMemory\";\r\nexport * from \"./render/RenderPlan\";\r\nexport * from \"./render/RenderPlanarClassifier\";\r\nexport * from \"./render/RenderTarget\";\r\nexport * from \"./render/RenderSystem\";\r\nexport * from \"./render/RenderTexture\";\r\nexport * from \"./render/Scene\";\r\nexport * from \"./render/ScreenSpaceEffectBuilder\";\r\nexport * from \"./render/VisibleFeature\";\r\nexport * from \"./render/webgl/PerformanceMetrics\";\r\nexport * from \"./render/webgl/Target\";\r\nexport * from \"./render/webgl/IModelFrameLifecycle\";\r\nexport * from \"./tools/AccuDrawTool\";\r\nexport * from \"./tile/internal\";\r\nexport * from \"./tools/ClipViewTool\";\r\nexport * from \"./tools/EditManipulator\";\r\nexport * from \"./tools/ElementSetTool\";\r\nexport * from \"./tools/EventController\";\r\nexport * from \"./tools/IdleTool\";\r\nexport * from \"./tools/MeasureTool\";\r\nexport * from \"./tools/PrimitiveTool\";\r\nexport * from \"./tools/SelectTool\";\r\nexport * from \"./tools/Tool\";\r\nexport * from \"./tools/ToolSettings\";\r\nexport * from \"./tools/ToolAdmin\";\r\nexport * from \"./tools/ToolAssistance\";\r\nexport * from \"./tools/ViewTool\";\r\nexport * from \"./BackgroundMapGeometry\";\r\nexport * from \"./ViewCreator2d\";\r\nexport * from \"./ViewCreator3d\";\r\nexport * from \"./LocalhostIpcApp\";\r\nexport * from \"./RealityDataSource\";\r\nexport * from \"./RealityDataConnection\";\r\n\r\n/** @docs-package-description\r\n * The core-frontend package always runs in a web browser. It contains classes for [querying iModels and showing views]($docs/learning/frontend/index.md).\r\n */\r\n\r\n/**\r\n * @docs-group-description IModelApp\r\n * Classes for configuring and administering an iModel.js application.\r\n * See [the learning articles]($docs/learning/frontend/index.md).\r\n */\r\n/**\r\n * @docs-group-description IModelConnection\r\n * Classes for working with a connection to an [iModel briefcase]($docs/learning/IModels.md)\r\n */\r\n/**\r\n * @docs-group-description ElementState\r\n * Classes for working with the *state* of Elements in the frontend.\r\n * See [the learning articles]($docs/learning/frontend/index.md).\r\n */\r\n/**\r\n * @docs-group-description ModelState\r\n * Classes for working with the *state* of Models in the frontend.\r\n * See [the learning articles]($docs/learning/frontend/index.md).\r\n */\r\n/**\r\n * @docs-group-description Tools\r\n * Classes for [working with Tools]($docs/learning/frontend/Tools.md)\r\n */\r\n/**\r\n * @docs-group-description Measure\r\n * Classes for reporting point to point distances and mass properties of elements.\r\n */\r\n/**\r\n * @docs-group-description Views\r\n * Classes for [working with Views]($docs/learning/frontend/Views.md)\r\n */\r\n/**\r\n * @docs-group-description LocatingElements\r\n * Classes for locating and snapping to elements in views.\r\n * See [the learning articles]($docs/learning/frontend/index.md).\r\n */\r\n/**\r\n * @docs-group-description AccuDraw\r\n * AccuDraw provides helpful assistance for creating and modifying elements in a view.\r\n * See [the learning articles]($docs/learning/frontend/index.md).\r\n */\r\n/**\r\n * @docs-group-description Notifications\r\n * Notifications provide feedback to the user of something of interest.\r\n * See [the learning articles]($docs/learning/frontend/index.md).\r\n */\r\n/**\r\n * @docs-group-description Extensions\r\n * Classes for creating and managing runtime [Extensions]($docs/learning/frontend/Extensions.md)\r\n */\r\n/**\r\n * @docs-group-description Properties\r\n * Classes for working with property records and descriptions.\r\n */\r\n/**\r\n * @docs-group-description Rendering\r\n * Classes for rendering the contents of views.\r\n */\r\n/**\r\n * @docs-group-description SelectionSet\r\n * Classes for working with the set of selected elements.\r\n * See [the learning articles]($docs/learning/frontend/index.md).\r\n */\r\n/**\r\n * @docs-group-description NativeApp\r\n * Classes for working with Native Applications\r\n */\r\n/**\r\n * @docs-group-description Utils\r\n * Miscellaneous utility classes.\r\n */\r\n/**\r\n * @docs-group-description Logging\r\n * Logger categories used by this package\r\n */\r\n/**\r\n * @docs-group-description SpatialClassification\r\n * Classes for spatial classification.\r\n */\r\n/**\r\n * @docs-group-description Features\r\n * Classes for Feature Tracking classification.\r\n */\r\n/**\r\n * @docs-group-description QuantityFormatting\r\n * Classes for formatting and parsing quantity values.\r\n */\r\n/**\r\n * @docs-group-description Tiles\r\n * Classes representing graphics as [hierarchical 3d tiles](https://github.com/CesiumGS/3d-tiles).\r\n */\r\n/**\r\n * @docs-group-description Authentication\r\n * Classes for managing authentication.\r\n */\r\n/**\r\n * @docs-group-description MapLayerSettingsService\r\n * Class for managing the storing and retrieval of map layers added by a user on the frontend\r\n */\r\n/**\r\n * @docs-group-description MapLayerFormatRegistry\r\n * Class for working with supported map layer formats.\r\n */\r\n/**\r\n * @docs-group-description HubAccess\r\n * APIs for working with IModelHub\r\n */\r\n/**\r\n * @docs-group-description RealityData\r\n * APIs for working with ProjectWise Context Share\r\n */\r\n"]}
1
+ {"version":3,"file":"core-frontend.js","sourceRoot":"","sources":["../../src/core-frontend.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;;;;;;;;;;;;AAE/F,6CAA2B;AAC3B,6CAA2B;AAC3B,gDAA8B;AAC9B,iDAA+B;AAC/B,wDAAsC;AACtC,kDAAgC;AAChC,0DAAwC;AACxC,gDAA8B;AAC9B,yDAAuC;AACvC,6DAA2C;AAC3C,gDAA8B;AAC9B,qDAAmC;AACnC,6CAA2B;AAC3B,sDAAoC;AACpC,qDAAmC;AACnC,yDAAuC;AACvC,sDAAoC;AACpC,gDAA8B;AAC9B,4DAA0C;AAC1C,kDAAgC;AAChC,2DAAyC;AACzC,sDAAoC;AACpC,8CAA4B;AAC5B,oDAAkC;AAClC,gDAA8B;AAC9B,gDAA8B;AAC9B,kDAAgC;AAChC,0DAAwC;AACxC,8CAA4B;AAC5B,8CAA4B;AAC5B,8CAA4B;AAC5B,qDAAmC;AACnC,yDAAuC;AACvC,2CAAyB;AACzB,uDAAqC;AACrC,kDAAgC;AAChC,2CAAyB;AACzB,uDAAqC;AACrC,+CAA6B;AAC7B,8CAA4B;AAC5B,oDAAkC;AAClC,gDAA8B;AAC9B,wDAAsC;AACtC,+DAA6C;AAC7C,wDAAsC;AACtC,wDAAsC;AACtC,iDAA+B;AAC/B,mDAAiC;AACjC,qDAAmC;AACnC,4CAA0B;AAC1B,iDAA+B;AAC/B,uDAAqC;AACrC,mDAAiC;AACjC,0CAAwB;AACxB,uDAAqC;AACrC,kDAAgC;AAChC,gDAA8B;AAC9B,uDAAqC;AACrC,iDAA+B;AAC/B,gDAA8B;AAC9B,6CAA2B;AAC3B,6CAA2B;AAC3B,6CAA2B;AAC3B,8CAA4B;AAC5B,+CAA6B;AAC7B,yDAAuC;AACvC,gEAA8C;AAC9C,4EAA0D;AAC1D,iEAA+C;AAC/C,0EAAwD;AACxD,2FAAyE;AACzE,gFAA8D;AAC9D,4DAA0C;AAC1C,uDAAqC;AACrC,4DAA0C;AAC1C,sDAAoC;AACpC,yDAAuC;AACvC,0DAAwC;AACxC,4DAA0C;AAC1C,kEAAgD;AAChD,sDAAoC;AACpC,qEAAmD;AACnD,iDAA+B;AAC/B,4DAA0C;AAC1C,yDAAuC;AACvC,wDAAsC;AACtC,sDAAoC;AACpC,kEAAgD;AAChD,wDAAsC;AACtC,wDAAsC;AACtC,yDAAuC;AACvC,iDAA+B;AAC/B,oEAAkD;AAClD,0DAAwC;AACxC,oEAAkD;AAClD,wDAAsC;AACtC,sEAAoD;AACpD,kDAAgC;AAChC,uDAAqC;AACrC,uDAAqC;AACrC,0DAAwC;AACxC,yDAAuC;AACvC,0DAAwC;AACxC,mDAAiC;AACjC,sDAAoC;AACpC,wDAAsC;AACtC,qDAAmC;AACnC,+CAA6B;AAC7B,uDAAqC;AACrC,oDAAkC;AAClC,yDAAuC;AACvC,mDAAiC;AACjC,0DAAwC;AACxC,kDAAgC;AAChC,kDAAgC;AAChC,oDAAkC;AAClC,sDAAoC;AACpC,0DAAwC;AAExC;;GAEG;AAEH;;;;GAIG;AACH;;;GAGG;AACH;;;;GAIG;AACH;;;;GAIG;AACH;;;GAGG;AACH;;;GAGG;AACH;;;GAGG;AACH;;;;GAIG;AACH;;;;GAIG;AACH;;;;GAIG;AACH;;;GAGG;AACH;;;GAGG;AACH;;;GAGG;AACH;;;;GAIG;AACH;;;GAGG;AACH;;;GAGG;AACH;;;GAGG;AACH;;;GAGG;AACH;;;GAGG;AACH;;;GAGG;AACH;;;GAGG;AACH;;;GAGG;AACH;;;GAGG;AACH;;;GAGG;AACH;;;GAGG;AACH;;;GAGG","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n\r\nexport * from \"./AccuDraw\";\r\nexport * from \"./AccuSnap\";\r\nexport * from \"./AuxCoordSys\";\r\nexport * from \"./BingLocation\";\r\nexport * from \"./BriefcaseConnection\";\r\nexport * from \"./BriefcaseTxns\";\r\nexport * from \"./CategorySelectorState\";\r\nexport * from \"./ChangeFlags\";\r\nexport * from \"./CheckpointConnection\";\r\nexport * from \"./ContextRealityModelState\";\r\nexport * from \"./CoordSystem\";\r\nexport * from \"./DecorationsCache\";\r\nexport * from \"./DevTools\";\r\nexport * from \"./DisplayStyleState\";\r\nexport * from \"./DrawingViewState\";\r\nexport * from \"./ElementLocateManager\";\r\nexport * from \"./EmphasizeElements\";\r\nexport * from \"./EntityState\";\r\nexport * from \"./FeatureOverrideProvider\";\r\nexport * from \"./FlashSettings\";\r\nexport * from \"./FrontendLoggerCategory\";\r\nexport * from \"./FrontendHubAccess\";\r\nexport * from \"./Frustum2d\";\r\nexport * from \"./FrustumAnimator\";\r\nexport * from \"./FuzzySearch\";\r\nexport * from \"./GeoServices\";\r\nexport * from \"./GlobeAnimator\";\r\nexport * from \"./GraphicalEditingScope\";\r\nexport * from \"./HitDetail\";\r\nexport * from \"./ImageUtil\";\r\nexport * from \"./IModelApp\";\r\nexport * from \"./IModelConnection\";\r\nexport * from \"./IModelRoutingContext\";\r\nexport * from \"./IpcApp\";\r\nexport * from \"./LinePlaneIntersect\";\r\nexport * from \"./MarginPercent\";\r\nexport * from \"./Marker\";\r\nexport * from \"./ModelSelectorState\";\r\nexport * from \"./ModelState\";\r\nexport * from \"./NativeApp\";\r\nexport * from \"./NativeAppLogger\";\r\nexport * from \"./NoRenderApp\";\r\nexport * from \"./NotificationManager\";\r\nexport * from \"./PerModelCategoryVisibility\";\r\nexport * from \"./PlanarClipMaskState\";\r\nexport * from \"./RenderScheduleState\";\r\nexport * from \"./SelectionSet\";\r\nexport * from \"./SheetViewState\";\r\nexport * from \"./SpatialViewState\";\r\nexport * from \"./Sprites\";\r\nexport * from \"./StandardView\";\r\nexport * from \"./SubCategoriesCache\";\r\nexport * from \"./TentativePoint\";\r\nexport * from \"./Tiles\";\r\nexport * from \"./TwoWayViewportSync\";\r\nexport * from \"./ViewAnimation\";\r\nexport * from \"./ViewContext\";\r\nexport * from \"./ViewGlobalLocation\";\r\nexport * from \"./ViewingSpace\";\r\nexport * from \"./ViewManager\";\r\nexport * from \"./Viewport\";\r\nexport * from \"./ViewPose\";\r\nexport * from \"./ViewRect\";\r\nexport * from \"./ViewState\";\r\nexport * from \"./ViewStatus\";\r\nexport * from \"./extension/extensions\";\r\nexport * from \"./properties/AngleDescription\";\r\nexport * from \"./properties/FormattedQuantityDescription\";\r\nexport * from \"./properties/LengthDescription\";\r\nexport * from \"./quantity-formatting/QuantityFormatter\";\r\nexport * from \"./quantity-formatting/BaseUnitFormattingSettingsProvider\";\r\nexport * from \"./quantity-formatting/LocalUnitFormatProvider\";\r\nexport * from \"./render/CanvasDecoration\";\r\nexport * from \"./render/Decorations\";\r\nexport * from \"./render/FeatureSymbology\";\r\nexport * from \"./render/FrameStats\";\r\nexport * from \"./render/GraphicBranch\";\r\nexport * from \"./render/GraphicBuilder\";\r\nexport * from \"./render/GraphicPrimitive\";\r\nexport * from \"./render/InstancedGraphicParams\";\r\nexport * from \"./render/MockRender\";\r\nexport * from \"./render/ParticleCollectionBuilder\";\r\nexport * from \"./render/Pixel\";\r\nexport * from \"./render/RenderClipVolume\";\r\nexport * from \"./render/RenderGraphic\";\r\nexport * from \"./render/RenderMemory\";\r\nexport * from \"./render/RenderPlan\";\r\nexport * from \"./render/RenderPlanarClassifier\";\r\nexport * from \"./render/RenderTarget\";\r\nexport * from \"./render/RenderSystem\";\r\nexport * from \"./render/RenderTexture\";\r\nexport * from \"./render/Scene\";\r\nexport * from \"./render/ScreenSpaceEffectBuilder\";\r\nexport * from \"./render/VisibleFeature\";\r\nexport * from \"./render/webgl/PerformanceMetrics\";\r\nexport * from \"./render/webgl/Target\";\r\nexport * from \"./render/webgl/IModelFrameLifecycle\";\r\nexport * from \"./tile/internal\";\r\nexport * from \"./tools/AccuDrawTool\";\r\nexport * from \"./tools/ClipViewTool\";\r\nexport * from \"./tools/EditManipulator\";\r\nexport * from \"./tools/ElementSetTool\";\r\nexport * from \"./tools/EventController\";\r\nexport * from \"./tools/IdleTool\";\r\nexport * from \"./tools/MeasureTool\";\r\nexport * from \"./tools/PrimitiveTool\";\r\nexport * from \"./tools/SelectTool\";\r\nexport * from \"./tools/Tool\";\r\nexport * from \"./tools/ToolSettings\";\r\nexport * from \"./tools/ToolAdmin\";\r\nexport * from \"./tools/ToolAssistance\";\r\nexport * from \"./tools/ViewTool\";\r\nexport * from \"./BackgroundMapGeometry\";\r\nexport * from \"./ViewCreator2d\";\r\nexport * from \"./ViewCreator3d\";\r\nexport * from \"./LocalhostIpcApp\";\r\nexport * from \"./RealityDataSource\";\r\nexport * from \"./RealityDataConnection\";\r\n\r\n/** @docs-package-description\r\n * The core-frontend package always runs in a web browser. It contains classes for [querying iModels and showing views]($docs/learning/frontend/index.md).\r\n */\r\n\r\n/**\r\n * @docs-group-description IModelApp\r\n * Classes for configuring and administering an iModel.js application.\r\n * See [the learning articles]($docs/learning/frontend/index.md).\r\n */\r\n/**\r\n * @docs-group-description IModelConnection\r\n * Classes for working with a connection to an [iModel briefcase]($docs/learning/IModels.md)\r\n */\r\n/**\r\n * @docs-group-description ElementState\r\n * Classes for working with the *state* of Elements in the frontend.\r\n * See [the learning articles]($docs/learning/frontend/index.md).\r\n */\r\n/**\r\n * @docs-group-description ModelState\r\n * Classes for working with the *state* of Models in the frontend.\r\n * See [the learning articles]($docs/learning/frontend/index.md).\r\n */\r\n/**\r\n * @docs-group-description Tools\r\n * Classes for [working with Tools]($docs/learning/frontend/Tools.md)\r\n */\r\n/**\r\n * @docs-group-description Measure\r\n * Classes for reporting point to point distances and mass properties of elements.\r\n */\r\n/**\r\n * @docs-group-description Views\r\n * Classes for [working with Views]($docs/learning/frontend/Views.md)\r\n */\r\n/**\r\n * @docs-group-description LocatingElements\r\n * Classes for locating and snapping to elements in views.\r\n * See [the learning articles]($docs/learning/frontend/index.md).\r\n */\r\n/**\r\n * @docs-group-description AccuDraw\r\n * AccuDraw provides helpful assistance for creating and modifying elements in a view.\r\n * See [the learning articles]($docs/learning/frontend/index.md).\r\n */\r\n/**\r\n * @docs-group-description Notifications\r\n * Notifications provide feedback to the user of something of interest.\r\n * See [the learning articles]($docs/learning/frontend/index.md).\r\n */\r\n/**\r\n * @docs-group-description Extensions\r\n * Classes for creating and managing runtime [Extensions]($docs/learning/frontend/Extensions.md)\r\n */\r\n/**\r\n * @docs-group-description Properties\r\n * Classes for working with property records and descriptions.\r\n */\r\n/**\r\n * @docs-group-description Rendering\r\n * Classes for rendering the contents of views.\r\n */\r\n/**\r\n * @docs-group-description SelectionSet\r\n * Classes for working with the set of selected elements.\r\n * See [the learning articles]($docs/learning/frontend/index.md).\r\n */\r\n/**\r\n * @docs-group-description NativeApp\r\n * Classes for working with Native Applications\r\n */\r\n/**\r\n * @docs-group-description Utils\r\n * Miscellaneous utility classes.\r\n */\r\n/**\r\n * @docs-group-description Logging\r\n * Logger categories used by this package\r\n */\r\n/**\r\n * @docs-group-description SpatialClassification\r\n * Classes for spatial classification.\r\n */\r\n/**\r\n * @docs-group-description Features\r\n * Classes for Feature Tracking classification.\r\n */\r\n/**\r\n * @docs-group-description QuantityFormatting\r\n * Classes for formatting and parsing quantity values.\r\n */\r\n/**\r\n * @docs-group-description Tiles\r\n * Classes representing graphics as [hierarchical 3d tiles](https://github.com/CesiumGS/3d-tiles).\r\n */\r\n/**\r\n * @docs-group-description Authentication\r\n * Classes for managing authentication.\r\n */\r\n/**\r\n * @docs-group-description MapLayerSettingsService\r\n * Class for managing the storing and retrieval of map layers added by a user on the frontend\r\n */\r\n/**\r\n * @docs-group-description MapLayerFormatRegistry\r\n * Class for working with supported map layer formats.\r\n */\r\n/**\r\n * @docs-group-description HubAccess\r\n * APIs for working with IModelHub\r\n */\r\n/**\r\n * @docs-group-description RealityData\r\n * APIs for working with ProjectWise Context Share\r\n */\r\n"]}
@@ -0,0 +1,39 @@
1
+ /** @packageDocumentation
2
+ * @module Extensions
3
+ */
4
+ declare type ResolveFunc = (() => Promise<any>);
5
+ /** Defines the format of an Extension manifest */
6
+ export interface ExtensionManifest {
7
+ readonly name: string;
8
+ readonly displayName?: string;
9
+ readonly version: string;
10
+ readonly description?: string;
11
+ /** The main module file to load. This should be a path to the javascript file
12
+ * e.g "./lib/main.js"
13
+ */
14
+ readonly main?: string;
15
+ /** The version of iTwin.js Core. */
16
+ readonly engines?: {
17
+ itwinjs: string;
18
+ };
19
+ /** List of activation events this Extension supports. */
20
+ readonly activationEvents?: string[];
21
+ readonly enableProposedApi?: boolean;
22
+ }
23
+ export interface BuildExtensionManifest extends ExtensionManifest {
24
+ /** Only valid when the Extension is loaded at build-time.
25
+ *
26
+ * Defines how to load the Extension manifest and
27
+ */
28
+ readonly module?: string;
29
+ }
30
+ /** Describes an Extension that has already been downloaded and has a location files can be easily executed. */
31
+ export interface LocalExtensionProps {
32
+ readonly manifest: ExtensionManifest;
33
+ readonly mainFunc?: ResolveFunc;
34
+ }
35
+ export {};
36
+ /** Represents an Extension that we are attempting to load.
37
+ * @beta
38
+ */
39
+ //# sourceMappingURL=Extension.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Extension.d.ts","sourceRoot":"","sources":["../../../src/extension/Extension.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH,aAAK,WAAW,GAAG,CAAC,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;AAExC,mDAAmD;AACnD,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B;;OAEG;IACH,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,oCAAoC;IACpC,QAAQ,CAAC,OAAO,CAAC,EAAE;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;IACvC,yDAAyD;IACzD,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;IACrC,QAAQ,CAAC,iBAAiB,CAAC,EAAE,OAAO,CAAC;CACtC;AAED,MAAM,WAAW,sBAAuB,SAAQ,iBAAiB;IAC/D;;;OAGG;IACH,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,+GAA+G;AAC/G,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,QAAQ,EAAE,iBAAiB,CAAC;IACrC,QAAQ,CAAC,QAAQ,CAAC,EAAE,WAAW,CAAC;CAQjC;;AAED;;IAEI"}
@@ -0,0 +1,39 @@
1
+ "use strict";
2
+ /*---------------------------------------------------------------------------------------------
3
+ * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
4
+ * See LICENSE.md in the project root for license terms and full copyright notice.
5
+ *--------------------------------------------------------------------------------------------*/
6
+ /** @packageDocumentation
7
+ * @module Extensions
8
+ */
9
+ Object.defineProperty(exports, "__esModule", { value: true });
10
+ /** Represents an Extension that we are attempting to load.
11
+ * @beta
12
+ */
13
+ // export class PendingExtension {
14
+ // public resolve: ResolveFunc | undefined = undefined;
15
+ // public reject: RejectFunc | undefined = undefined;
16
+ // public promise: Promise<LocalExtensionProps>;
17
+ // public constructor(private _tarFileUrl: string, public loader: ExtensionLoader, public args?: string[]) {
18
+ // this.promise = new Promise(this.executor.bind(this));
19
+ // }
20
+ // public executor(resolve: ResolveFunc, reject: RejectFunc) {
21
+ // this.resolve = resolve;
22
+ // this.reject = reject;
23
+ // const head = document.getElementsByTagName("head")[0];
24
+ // if (!head)
25
+ // reject(new Error("no head element found"));
26
+ // // create the script element. We handle onerror and resolve a ExtensionLoadResult failure in the onerror handler,
27
+ // // but we don't resolve success until the loaded extension calls "register" (see Extension.register)
28
+ // const scriptElement = document.createElement("script");
29
+ // scriptElement.onerror = this.cantLoad.bind(this);
30
+ // scriptElement.async = true;
31
+ // scriptElement.src = this._tarFileUrl;
32
+ // head.insertBefore(scriptElement, head.lastChild);
33
+ // }
34
+ // // called when we can't load the URL
35
+ // private cantLoad(_ev: string | Event) {
36
+ // this.resolve!(IModelApp.i18n.translate("iModelJs:ExtensionErrors.CantFind", { extensionUrl: this._tarFileUrl }));
37
+ // }
38
+ // }
39
+ //# sourceMappingURL=Extension.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Extension.js","sourceRoot":"","sources":["../../../src/extension/Extension.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;AA0CH;;IAEI;AACJ,kCAAkC;AAClC,yDAAyD;AACzD,uDAAuD;AACvD,kDAAkD;AAElD,8GAA8G;AAC9G,4DAA4D;AAC5D,MAAM;AAEN,gEAAgE;AAChE,8BAA8B;AAC9B,4BAA4B;AAE5B,6DAA6D;AAC7D,iBAAiB;AACjB,oDAAoD;AAEpD,wHAAwH;AACxH,2GAA2G;AAC3G,8DAA8D;AAE9D,wDAAwD;AAExD,kCAAkC;AAClC,4CAA4C;AAC5C,wDAAwD;AACxD,MAAM;AAEN,yCAAyC;AACzC,4CAA4C;AAC5C,wHAAwH;AACxH,MAAM;AACN,IAAI","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module Extensions\r\n */\r\n\r\ntype ResolveFunc = (() => Promise<any>);\r\n\r\n/** Defines the format of an Extension manifest */\r\nexport interface ExtensionManifest {\r\n readonly name: string;\r\n readonly displayName?: string;\r\n readonly version: string;\r\n readonly description?: string;\r\n /** The main module file to load. This should be a path to the javascript file\r\n * e.g \"./lib/main.js\"\r\n */\r\n readonly main?: string;\r\n /** The version of iTwin.js Core. */\r\n readonly engines?: { itwinjs: string };\r\n /** List of activation events this Extension supports. */\r\n readonly activationEvents?: string[];\r\n readonly enableProposedApi?: boolean;\r\n}\r\n\r\nexport interface BuildExtensionManifest extends ExtensionManifest {\r\n /** Only valid when the Extension is loaded at build-time.\r\n *\r\n * Defines how to load the Extension manifest and\r\n */\r\n readonly module?: string;\r\n}\r\n\r\n/** Describes an Extension that has already been downloaded and has a location files can be easily executed. */\r\nexport interface LocalExtensionProps {\r\n readonly manifest: ExtensionManifest;\r\n readonly mainFunc?: ResolveFunc;\r\n /** Identifies a location of the Extension that it can be loaded.\r\n *\r\n * WIP:\r\n * - Could be a URL to the location of the Extension\r\n * - Could be a file path to an installed location locally.\r\n */\r\n // readonly location: string;\r\n}\r\n\r\n/** Represents an Extension that we are attempting to load.\r\n * @beta\r\n */\r\n// export class PendingExtension {\r\n// public resolve: ResolveFunc | undefined = undefined;\r\n// public reject: RejectFunc | undefined = undefined;\r\n// public promise: Promise<LocalExtensionProps>;\r\n\r\n// public constructor(private _tarFileUrl: string, public loader: ExtensionLoader, public args?: string[]) {\r\n// this.promise = new Promise(this.executor.bind(this));\r\n// }\r\n\r\n// public executor(resolve: ResolveFunc, reject: RejectFunc) {\r\n// this.resolve = resolve;\r\n// this.reject = reject;\r\n\r\n// const head = document.getElementsByTagName(\"head\")[0];\r\n// if (!head)\r\n// reject(new Error(\"no head element found\"));\r\n\r\n// // create the script element. We handle onerror and resolve a ExtensionLoadResult failure in the onerror handler,\r\n// // but we don't resolve success until the loaded extension calls \"register\" (see Extension.register)\r\n// const scriptElement = document.createElement(\"script\");\r\n\r\n// scriptElement.onerror = this.cantLoad.bind(this);\r\n\r\n// scriptElement.async = true;\r\n// scriptElement.src = this._tarFileUrl;\r\n// head.insertBefore(scriptElement, head.lastChild);\r\n// }\r\n\r\n// // called when we can't load the URL\r\n// private cantLoad(_ev: string | Event) {\r\n// this.resolve!(IModelApp.i18n.translate(\"iModelJs:ExtensionErrors.CantFind\", { extensionUrl: this._tarFileUrl }));\r\n// }\r\n// }\r\n"]}
@@ -0,0 +1,70 @@
1
+ /** @packageDocumentation
2
+ * @module Extensions
3
+ */
4
+ import { ExtensionLoader } from "./ExtensionLoader";
5
+ /** The Extensions loading system has 3 goals:
6
+ * 1. Only fetch what is needed when it is required
7
+ * 1. Load a manifest file
8
+ * 2. Load the the main module when necessary
9
+ * 2. Download the needed files from
10
+ *
11
+ * 3 ways to load an Extension into the system:
12
+ *
13
+ * 1. At build-time provide the function to load both the Extension Manifest and import the main module of the extension.
14
+ * The main module must contain the activate() function.
15
+ * 2. A minimum set of ExtensionLoaderProps that provide enough information to get the manifest
16
+ *
17
+ * An Extension can be in 3 different states:
18
+ * - Known
19
+ * - The Extension Admin has the minimal information needed to fetch the manifest for the Extension.
20
+ * knows the Extension exists but has not yet loaded the manifest
21
+ * - Installed
22
+ * - The Extension has the full manifest loaded and can be executed on the activation events
23
+ * - Disabled
24
+ * - The Extension has the full manifest but is not currently enabled and will not be executed based on the
25
+ * activation events.
26
+ */
27
+ declare type ResolveFunc = (() => Promise<any>);
28
+ /** The Extension Admin controls the list of currently known, loaded and executing an Extension.
29
+ * Handles the loading of Extensions and maintains a list of the currently loaded Extensions.
30
+ *
31
+ * On application startup, an initial list of Extensions is gathered by searching in known locations for
32
+ *
33
+ * @alpha
34
+ */
35
+ export declare class ExtensionAdmin {
36
+ /** The list of places to download an Extension. */
37
+ private _extensionLoaders;
38
+ /** Defines the set of extensions that are currently known and can be invoked during activation events. */
39
+ private _installedExtensions;
40
+ /**
41
+ * Fired when an Extension has been added or removed.
42
+ */
43
+ onStartup: () => Promise<void>;
44
+ constructor();
45
+ /** Adds an ExtensionLoader to the front of the list of extension loaders in use. Extension loaders will be invoked front to back.
46
+ * By default, the list consists of public Extension Service context, unless disabled via props.
47
+ * @param extensionLoader Extension loader to add
48
+ */
49
+ addExtensionLoaderFront(extensionLoader: ExtensionLoader): void;
50
+ /** Adds an ExtensionLoader to the list of extension loaders in use.
51
+ * By default, the list consists of public Extension Service context, unless disabled via props.
52
+ * @param extensionLoader Extension loader to add
53
+ */
54
+ addExtensionLoader(extensionLoader: ExtensionLoader): void;
55
+ /** Add an Extension to be bundled during compilation.
56
+ * @param manifestLoader A function that loads the manifest file.
57
+ * @param mainFunc The main function to be executed upon
58
+ */
59
+ addBuildExtension(manifestPromise: Promise<any>, mainFunc?: ResolveFunc): Promise<void>;
60
+ /** Loops over all enabled Extensions and triggers each one if the provided event is defined. */
61
+ private activateExtensionEvents;
62
+ /** Resolves an import function provided for build-time Extensions that should return a valid
63
+ * Extension Manifest.
64
+ */
65
+ private getManifest;
66
+ private parseManifest;
67
+ private execute;
68
+ }
69
+ export {};
70
+ //# sourceMappingURL=ExtensionAdmin.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ExtensionAdmin.d.ts","sourceRoot":"","sources":["../../../src/extension/ExtensionAdmin.ts"],"names":[],"mappings":"AAIA;;GAEG;AAKH,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEpD;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,aAAK,WAAW,GAAG,CAAC,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;AAOxC;;;;;;GAMG;AACH,qBAAa,cAAc;IACzB,oDAAoD;IACpD,OAAO,CAAC,iBAAiB,CAAyB;IAElD,2GAA2G;IAC3G,OAAO,CAAC,oBAAoB,CAA4E;IAExG;;QAEI;IAGG,SAAS,sBAEd;;IAMF;;;OAGG;IACI,uBAAuB,CAAC,eAAe,EAAE,eAAe;IAI/D;;;QAGI;IACG,kBAAkB,CAAC,eAAe,EAAE,eAAe;IAI1D;;;OAGG;IACU,iBAAiB,CAAC,eAAe,EAAE,OAAO,CAAC,GAAG,CAAC,EAAE,QAAQ,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;IAKpG,gGAAgG;YAClF,uBAAuB;IAYrC;;OAEG;YACW,WAAW;YAMX,aAAa;YAiBb,OAAO;CAKtB"}
@@ -0,0 +1,105 @@
1
+ "use strict";
2
+ /*---------------------------------------------------------------------------------------------
3
+ * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
4
+ * See LICENSE.md in the project root for license terms and full copyright notice.
5
+ *--------------------------------------------------------------------------------------------*/
6
+ /** @packageDocumentation
7
+ * @module Extensions
8
+ */
9
+ Object.defineProperty(exports, "__esModule", { value: true });
10
+ exports.ExtensionAdmin = void 0;
11
+ // import { Extension, ExtensionLoader, ExtensionManifest, LocalExtensionProps, PendingExtension } from "./Extension";
12
+ const IModelApp_1 = require("../IModelApp");
13
+ // type RejectFunc = ((arg: Error) => void);
14
+ var ActivationEvents;
15
+ (function (ActivationEvents) {
16
+ ActivationEvents["onStartupApp"] = "onStartupApp";
17
+ })(ActivationEvents || (ActivationEvents = {}));
18
+ /** The Extension Admin controls the list of currently known, loaded and executing an Extension.
19
+ * Handles the loading of Extensions and maintains a list of the currently loaded Extensions.
20
+ *
21
+ * On application startup, an initial list of Extensions is gathered by searching in known locations for
22
+ *
23
+ * @alpha
24
+ */
25
+ class ExtensionAdmin {
26
+ constructor() {
27
+ /** The list of places to download an Extension. */
28
+ this._extensionLoaders = [];
29
+ /** Defines the set of extensions that are currently known and can be invoked during activation events. */
30
+ this._installedExtensions = new Map();
31
+ /**
32
+ * Fired when an Extension has been added or removed.
33
+ */
34
+ // public readonly onInstallExtension = new BeEvent<(added: readonly ExtensionProps[], removed: readonly ExtensionProps[]) => void>();
35
+ this.onStartup = async () => {
36
+ await this.activateExtensionEvents(ActivationEvents.onStartupApp);
37
+ };
38
+ IModelApp_1.IModelApp.onBeforeStartup.addListener(this.onStartup);
39
+ }
40
+ /** Adds an ExtensionLoader to the front of the list of extension loaders in use. Extension loaders will be invoked front to back.
41
+ * By default, the list consists of public Extension Service context, unless disabled via props.
42
+ * @param extensionLoader Extension loader to add
43
+ */
44
+ addExtensionLoaderFront(extensionLoader) {
45
+ this._extensionLoaders.unshift(extensionLoader);
46
+ }
47
+ /** Adds an ExtensionLoader to the list of extension loaders in use.
48
+ * By default, the list consists of public Extension Service context, unless disabled via props.
49
+ * @param extensionLoader Extension loader to add
50
+ */
51
+ addExtensionLoader(extensionLoader) {
52
+ this._extensionLoaders.push(extensionLoader);
53
+ }
54
+ /** Add an Extension to be bundled during compilation.
55
+ * @param manifestLoader A function that loads the manifest file.
56
+ * @param mainFunc The main function to be executed upon
57
+ */
58
+ async addBuildExtension(manifestPromise, mainFunc) {
59
+ const manifest = await this.getManifest(manifestPromise);
60
+ this._installedExtensions.set(manifest.name, { manifest, mainFunc });
61
+ }
62
+ /** Loops over all enabled Extensions and triggers each one if the provided event is defined. */
63
+ async activateExtensionEvents(event) {
64
+ for (const extension of this._installedExtensions.values()) {
65
+ if (!extension.manifest.activationEvents)
66
+ continue;
67
+ for (const activationEvent of extension.manifest.activationEvents) {
68
+ if (activationEvent === event) {
69
+ this.execute(extension); // eslint-disable-line @typescript-eslint/no-floating-promises
70
+ }
71
+ }
72
+ }
73
+ }
74
+ /** Resolves an import function provided for build-time Extensions that should return a valid
75
+ * Extension Manifest.
76
+ */
77
+ async getManifest(loader) {
78
+ const raw = await loader;
79
+ const manifest = this.parseManifest(raw);
80
+ return manifest;
81
+ }
82
+ async parseManifest(raw) {
83
+ try {
84
+ if ("object" === typeof (raw))
85
+ return raw;
86
+ if ("string" === typeof (raw))
87
+ return JSON.parse(raw);
88
+ }
89
+ catch (err) { }
90
+ throw new Error("Extension is invalid: package.json is not JSON.");
91
+ }
92
+ // Important: The Function constructor is used here to isolate the context in which the Extension javascript has access.
93
+ // By using the Function constructor to create and then execute the extension it will only have access to two scopes:
94
+ // 1. It's own function scope
95
+ // 2. The global scope
96
+ //
97
+ // The global scope is important for an Extension as that is where the reference to the Extension Implementation is supplied
98
+ // from the application side.
99
+ async execute(extension) {
100
+ if (extension.mainFunc)
101
+ return extension.mainFunc();
102
+ }
103
+ }
104
+ exports.ExtensionAdmin = ExtensionAdmin;
105
+ //# sourceMappingURL=ExtensionAdmin.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ExtensionAdmin.js","sourceRoot":"","sources":["../../../src/extension/ExtensionAdmin.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;AAEH,sHAAsH;AACtH,4CAAyC;AA4BzC,4CAA4C;AAE5C,IAAK,gBAEJ;AAFD,WAAK,gBAAgB;IACnB,iDAA6B,CAAA;AAC/B,CAAC,EAFI,gBAAgB,KAAhB,gBAAgB,QAEpB;AAED;;;;;;GAMG;AACH,MAAa,cAAc;IAgBzB;QAfA,oDAAoD;QAC5C,sBAAiB,GAAsB,EAAE,CAAC;QAElD,2GAA2G;QACnG,yBAAoB,GAAqC,IAAI,GAAG,EAA+B,CAAC;QAExG;;YAEI;QACJ,sIAAsI;QAE/H,cAAS,GAAG,KAAK,IAAI,EAAE;YAC5B,MAAM,IAAI,CAAC,uBAAuB,CAAC,gBAAgB,CAAC,YAAY,CAAC,CAAC;QACpE,CAAC,CAAC;QAGA,qBAAS,CAAC,eAAe,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACxD,CAAC;IAED;;;OAGG;IACI,uBAAuB,CAAC,eAAgC;QAC7D,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;IAClD,CAAC;IAED;;;QAGI;IACG,kBAAkB,CAAC,eAAgC;QACxD,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;IAC/C,CAAC;IAED;;;OAGG;IACI,KAAK,CAAC,iBAAiB,CAAC,eAA6B,EAAE,QAAsB;QAClF,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC;QACzD,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,CAAC;IACvE,CAAC;IAED,gGAAgG;IACxF,KAAK,CAAC,uBAAuB,CAAC,KAAa;QACjD,KAAK,MAAM,SAAS,IAAI,IAAI,CAAC,oBAAoB,CAAC,MAAM,EAAE,EAAE;YAC1D,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,gBAAgB;gBACtC,SAAS;YACX,KAAK,MAAM,eAAe,IAAI,SAAS,CAAC,QAAQ,CAAC,gBAAgB,EAAE;gBACjE,IAAI,eAAe,KAAK,KAAK,EAAE;oBAC7B,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,8DAA8D;iBACxF;aACF;SACF;IACH,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,WAAW,CAAC,MAAoB;QAC5C,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC;QACzB,MAAM,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;QACzC,OAAO,QAAQ,CAAC;IAClB,CAAC;IAEO,KAAK,CAAC,aAAa,CAAC,GAAY;QACtC,IAAI;YACF,IAAI,QAAQ,KAAK,OAAO,CAAC,GAAG,CAAC;gBAC3B,OAAO,GAAwB,CAAC;YAClC,IAAI,QAAQ,KAAK,OAAO,CAAC,GAAG,CAAC;gBAC3B,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAsB,CAAC;SAC/C;QAAC,OAAO,GAAQ,EAAE,GAAG;QACtB,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAC;IACrE,CAAC;IAED,wHAAwH;IACxH,qHAAqH;IACrH,8BAA8B;IAC9B,uBAAuB;IACvB,EAAE;IACF,4HAA4H;IAC5H,6BAA6B;IACrB,KAAK,CAAC,OAAO,CAAC,SAA8B;QAClD,IAAI,SAAS,CAAC,QAAQ;YACpB,OAAO,SAAS,CAAC,QAAQ,EAAE,CAAC;IAChC,CAAC;CAEF;AAzFD,wCAyFC","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module Extensions\r\n */\r\n\r\n// import { Extension, ExtensionLoader, ExtensionManifest, LocalExtensionProps, PendingExtension } from \"./Extension\";\r\nimport { IModelApp } from \"../IModelApp\";\r\nimport { ExtensionManifest, LocalExtensionProps } from \"./Extension\";\r\nimport { ExtensionLoader } from \"./ExtensionLoader\";\r\n\r\n/** The Extensions loading system has 3 goals:\r\n * 1. Only fetch what is needed when it is required\r\n * 1. Load a manifest file\r\n * 2. Load the the main module when necessary\r\n * 2. Download the needed files from\r\n *\r\n * 3 ways to load an Extension into the system:\r\n *\r\n * 1. At build-time provide the function to load both the Extension Manifest and import the main module of the extension.\r\n * The main module must contain the activate() function.\r\n * 2. A minimum set of ExtensionLoaderProps that provide enough information to get the manifest\r\n *\r\n * An Extension can be in 3 different states:\r\n * - Known\r\n * - The Extension Admin has the minimal information needed to fetch the manifest for the Extension.\r\n * knows the Extension exists but has not yet loaded the manifest\r\n * - Installed\r\n * - The Extension has the full manifest loaded and can be executed on the activation events\r\n * - Disabled\r\n * - The Extension has the full manifest but is not currently enabled and will not be executed based on the\r\n * activation events.\r\n */\r\n\r\ntype ResolveFunc = (() => Promise<any>);\r\n// type RejectFunc = ((arg: Error) => void);\r\n\r\nenum ActivationEvents {\r\n onStartupApp = \"onStartupApp\",\r\n}\r\n\r\n/** The Extension Admin controls the list of currently known, loaded and executing an Extension.\r\n * Handles the loading of Extensions and maintains a list of the currently loaded Extensions.\r\n *\r\n * On application startup, an initial list of Extensions is gathered by searching in known locations for\r\n *\r\n * @alpha\r\n */\r\nexport class ExtensionAdmin {\r\n /** The list of places to download an Extension. */\r\n private _extensionLoaders: ExtensionLoader[] = [];\r\n\r\n /** Defines the set of extensions that are currently known and can be invoked during activation events. */\r\n private _installedExtensions: Map<string, LocalExtensionProps> = new Map<string, LocalExtensionProps>();\r\n\r\n /**\r\n * Fired when an Extension has been added or removed.\r\n */\r\n // public readonly onInstallExtension = new BeEvent<(added: readonly ExtensionProps[], removed: readonly ExtensionProps[]) => void>();\r\n\r\n public onStartup = async () => {\r\n await this.activateExtensionEvents(ActivationEvents.onStartupApp);\r\n };\r\n\r\n public constructor() {\r\n IModelApp.onBeforeStartup.addListener(this.onStartup);\r\n }\r\n\r\n /** Adds an ExtensionLoader to the front of the list of extension loaders in use. Extension loaders will be invoked front to back.\r\n * By default, the list consists of public Extension Service context, unless disabled via props.\r\n * @param extensionLoader Extension loader to add\r\n */\r\n public addExtensionLoaderFront(extensionLoader: ExtensionLoader) {\r\n this._extensionLoaders.unshift(extensionLoader);\r\n }\r\n\r\n /** Adds an ExtensionLoader to the list of extension loaders in use.\r\n * By default, the list consists of public Extension Service context, unless disabled via props.\r\n * @param extensionLoader Extension loader to add\r\n */\r\n public addExtensionLoader(extensionLoader: ExtensionLoader) {\r\n this._extensionLoaders.push(extensionLoader);\r\n }\r\n\r\n /** Add an Extension to be bundled during compilation.\r\n * @param manifestLoader A function that loads the manifest file.\r\n * @param mainFunc The main function to be executed upon\r\n */\r\n public async addBuildExtension(manifestPromise: Promise<any>, mainFunc?: ResolveFunc): Promise<void> {\r\n const manifest = await this.getManifest(manifestPromise);\r\n this._installedExtensions.set(manifest.name, { manifest, mainFunc });\r\n }\r\n\r\n /** Loops over all enabled Extensions and triggers each one if the provided event is defined. */\r\n private async activateExtensionEvents(event: string) {\r\n for (const extension of this._installedExtensions.values()) {\r\n if (!extension.manifest.activationEvents)\r\n continue;\r\n for (const activationEvent of extension.manifest.activationEvents) {\r\n if (activationEvent === event) {\r\n this.execute(extension); // eslint-disable-line @typescript-eslint/no-floating-promises\r\n }\r\n }\r\n }\r\n }\r\n\r\n /** Resolves an import function provided for build-time Extensions that should return a valid\r\n * Extension Manifest.\r\n */\r\n private async getManifest(loader: Promise<any>): Promise<ExtensionManifest> {\r\n const raw = await loader;\r\n const manifest = this.parseManifest(raw);\r\n return manifest;\r\n }\r\n\r\n private async parseManifest(raw: unknown): Promise<ExtensionManifest> {\r\n try {\r\n if (\"object\" === typeof (raw))\r\n return raw as ExtensionManifest;\r\n if (\"string\" === typeof (raw))\r\n return JSON.parse(raw) as ExtensionManifest;\r\n } catch (err: any) { }\r\n throw new Error(\"Extension is invalid: package.json is not JSON.\");\r\n }\r\n\r\n // Important: The Function constructor is used here to isolate the context in which the Extension javascript has access.\r\n // By using the Function constructor to create and then execute the extension it will only have access to two scopes:\r\n // 1. It's own function scope\r\n // 2. The global scope\r\n //\r\n // The global scope is important for an Extension as that is where the reference to the Extension Implementation is supplied\r\n // from the application side.\r\n private async execute(extension: LocalExtensionProps): Promise<void> {\r\n if (extension.mainFunc)\r\n return extension.mainFunc();\r\n }\r\n\r\n}\r\n"]}
@@ -0,0 +1,20 @@
1
+ import type { ToolAdmin } from "../tools/ToolAdmin";
2
+ import type { AccuSnap } from "../AccuSnap";
3
+ import type { NotificationManager } from "../NotificationManager";
4
+ import type { ViewManager } from "../ViewManager";
5
+ import type { ElementLocateManager } from "../ElementLocateManager";
6
+ import type { Localization } from "@itwin/core-common";
7
+ /**
8
+ * Subset of IModelApp exposed to Extensions
9
+ * @beta
10
+ */
11
+ export declare class ExtensionHost {
12
+ protected constructor();
13
+ static get toolAdmin(): ToolAdmin;
14
+ static get notifications(): NotificationManager;
15
+ static get viewManager(): ViewManager;
16
+ static get locateManager(): ElementLocateManager;
17
+ static get accuSnap(): AccuSnap;
18
+ static get localization(): Localization;
19
+ }
20
+ //# sourceMappingURL=ExtensionHost.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ExtensionHost.d.ts","sourceRoot":"","sources":["../../../src/extension/ExtensionHost.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAClE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AACpE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAEvD;;;GAGG;AACH,qBAAa,aAAa;IACxB,SAAS;IAET,WAAkB,SAAS,IAAI,SAAS,CAAgC;IACxE,WAAkB,aAAa,IAAI,mBAAmB,CAAoC;IAC1F,WAAkB,WAAW,IAAI,WAAW,CAAkC;IAC9E,WAAkB,aAAa,IAAI,oBAAoB,CAAoC;IAC3F,WAAkB,QAAQ,IAAI,QAAQ,CAA+B;IACrE,WAAkB,YAAY,IAAI,YAAY,CAAmC;CAClF"}
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ExtensionHost = void 0;
4
+ const IModelApp_1 = require("../IModelApp");
5
+ /**
6
+ * Subset of IModelApp exposed to Extensions
7
+ * @beta
8
+ */
9
+ class ExtensionHost {
10
+ constructor() { }
11
+ static get toolAdmin() { return IModelApp_1.IModelApp.toolAdmin; }
12
+ static get notifications() { return IModelApp_1.IModelApp.notifications; }
13
+ static get viewManager() { return IModelApp_1.IModelApp.viewManager; }
14
+ static get locateManager() { return IModelApp_1.IModelApp.locateManager; } // internal ?
15
+ static get accuSnap() { return IModelApp_1.IModelApp.accuSnap; }
16
+ static get localization() { return IModelApp_1.IModelApp.localization; } // re think this, should be contribution point
17
+ }
18
+ exports.ExtensionHost = ExtensionHost;
19
+ //# sourceMappingURL=ExtensionHost.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ExtensionHost.js","sourceRoot":"","sources":["../../../src/extension/ExtensionHost.ts"],"names":[],"mappings":";;;AAAA,4CAAyC;AAQzC;;;GAGG;AACH,MAAa,aAAa;IACxB,gBAA0B,CAAC;IAEpB,MAAM,KAAK,SAAS,KAAgB,OAAO,qBAAS,CAAC,SAAS,CAAC,CAAC,CAAC;IACjE,MAAM,KAAK,aAAa,KAA0B,OAAO,qBAAS,CAAC,aAAa,CAAC,CAAC,CAAC;IACnF,MAAM,KAAK,WAAW,KAAkB,OAAO,qBAAS,CAAC,WAAW,CAAC,CAAC,CAAC;IACvE,MAAM,KAAK,aAAa,KAA2B,OAAO,qBAAS,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,aAAa;IAClG,MAAM,KAAK,QAAQ,KAAe,OAAO,qBAAS,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC9D,MAAM,KAAK,YAAY,KAAmB,OAAO,qBAAS,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,8CAA8C;CACjI;AATD,sCASC","sourcesContent":["import { IModelApp } from \"../IModelApp\";\r\nimport type { ToolAdmin } from \"../tools/ToolAdmin\";\r\nimport type { AccuSnap } from \"../AccuSnap\";\r\nimport type { NotificationManager } from \"../NotificationManager\";\r\nimport type { ViewManager } from \"../ViewManager\";\r\nimport type { ElementLocateManager } from \"../ElementLocateManager\";\r\nimport type { Localization } from \"@itwin/core-common\";\r\n\r\n/**\r\n * Subset of IModelApp exposed to Extensions\r\n * @beta\r\n */\r\nexport class ExtensionHost {\r\n protected constructor() { }\r\n\r\n public static get toolAdmin(): ToolAdmin { return IModelApp.toolAdmin; }\r\n public static get notifications(): NotificationManager { return IModelApp.notifications; }\r\n public static get viewManager(): ViewManager { return IModelApp.viewManager; }\r\n public static get locateManager(): ElementLocateManager { return IModelApp.locateManager; } // internal ?\r\n public static get accuSnap(): AccuSnap { return IModelApp.accuSnap; }\r\n public static get localization(): Localization { return IModelApp.localization; } // re think this, should be contribution point\r\n}\r\n"]}
@@ -0,0 +1,16 @@
1
+ import { ToolType } from "../tools/Tool";
2
+ import { CommonToolbarItem, ToolbarOrientation, ToolbarUsage, UiItemsProvider } from "@itwin/appui-abstract";
3
+ export declare class ToolProvider implements UiItemsProvider {
4
+ readonly id: string;
5
+ private _toolId;
6
+ private _toolIcon;
7
+ private _toolLabel;
8
+ constructor(tool: ToolType);
9
+ provideToolbarButtonItems(_stageId: string, stageUsage: string, toolbarUsage: ToolbarUsage, toolbarOrientation: ToolbarOrientation): CommonToolbarItem[];
10
+ }
11
+ export declare class ExtensionImpl {
12
+ private _id;
13
+ constructor(_id: string);
14
+ registerTool(tool: ToolType, onRegistered?: () => any): Promise<void>;
15
+ }
16
+ //# sourceMappingURL=ExtensionImpl.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ExtensionImpl.d.ts","sourceRoot":"","sources":["../../../src/extension/ExtensionImpl.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAEzC,OAAO,EAAE,iBAAiB,EAAoC,kBAAkB,EAAE,YAAY,EAAkB,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAE/J,qBAAa,YAAa,YAAW,eAAe;IAClD,SAAgB,EAAE,SAAC;IACnB,OAAO,CAAC,OAAO,CAAM;IACrB,OAAO,CAAC,SAAS,CAAC;IAClB,OAAO,CAAC,UAAU,CAAC;gBAEA,IAAI,EAAE,QAAQ;IAO1B,yBAAyB,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,YAAY,EAAE,YAAY,EAAE,kBAAkB,EAAE,kBAAkB,GAAG,iBAAiB,EAAE;CAIhK;AAED,qBAAa,aAAa;IACZ,OAAO,CAAC,GAAG;gBAAH,GAAG,EAAE,MAAM;IAElB,YAAY,CAAC,IAAI,EAAE,QAAQ,EAAE,YAAY,CAAC,EAAE,MAAM,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC;CASnF"}
@@ -0,0 +1,40 @@
1
+ "use strict";
2
+ /*---------------------------------------------------------------------------------------------
3
+ * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
4
+ * See LICENSE.md in the project root for license terms and full copyright notice.
5
+ *--------------------------------------------------------------------------------------------*/
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ exports.ExtensionImpl = exports.ToolProvider = void 0;
8
+ const IModelApp_1 = require("../IModelApp");
9
+ const appui_abstract_1 = require("@itwin/appui-abstract");
10
+ class ToolProvider {
11
+ constructor(tool) {
12
+ this._toolId = "";
13
+ this.id = `ToolProvider:${tool.toolId}`;
14
+ this._toolId = tool.toolId;
15
+ this._toolIcon = tool.iconSpec;
16
+ this._toolLabel = tool.description;
17
+ }
18
+ provideToolbarButtonItems(_stageId, stageUsage, toolbarUsage, toolbarOrientation) {
19
+ const toolbarItem = appui_abstract_1.ToolbarItemUtilities.createActionButton(this._toolId, 0, this._toolIcon, this._toolLabel, async () => { await IModelApp_1.IModelApp.tools.run(this._toolId); });
20
+ return stageUsage === appui_abstract_1.StageUsage.General && toolbarUsage === appui_abstract_1.ToolbarUsage.ContentManipulation && toolbarOrientation === appui_abstract_1.ToolbarOrientation.Horizontal ? [toolbarItem] : [];
21
+ }
22
+ }
23
+ exports.ToolProvider = ToolProvider;
24
+ class ExtensionImpl {
25
+ constructor(_id) {
26
+ this._id = _id;
27
+ }
28
+ async registerTool(tool, onRegistered) {
29
+ try {
30
+ IModelApp_1.IModelApp.tools.register(tool);
31
+ appui_abstract_1.UiItemsManager.register(new ToolProvider(tool));
32
+ onRegistered === null || onRegistered === void 0 ? void 0 : onRegistered();
33
+ }
34
+ catch (e) {
35
+ console.log(`Error registering tool: ${e}`); // eslint-disable-line
36
+ }
37
+ }
38
+ }
39
+ exports.ExtensionImpl = ExtensionImpl;
40
+ //# sourceMappingURL=ExtensionImpl.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ExtensionImpl.js","sourceRoot":"","sources":["../../../src/extension/ExtensionImpl.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;;;AAG/F,4CAAyC;AACzC,0DAA+J;AAE/J,MAAa,YAAY;IAMvB,YAAmB,IAAc;QAJzB,YAAO,GAAG,EAAE,CAAC;QAKnB,IAAI,CAAC,EAAE,GAAG,gBAAgB,IAAI,CAAC,MAAM,EAAE,CAAC;QACxC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC;QAC3B,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC;QAC/B,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC;IACrC,CAAC;IAEM,yBAAyB,CAAC,QAAgB,EAAE,UAAkB,EAAE,YAA0B,EAAE,kBAAsC;QACvI,MAAM,WAAW,GAAG,qCAAoB,CAAC,kBAAkB,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,EAAE,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,UAAU,EAAE,KAAK,IAAI,EAAE,GAAG,MAAM,qBAAS,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACxK,OAAO,UAAU,KAAK,2BAAU,CAAC,OAAO,IAAI,YAAY,KAAK,6BAAY,CAAC,mBAAmB,IAAI,kBAAkB,KAAK,mCAAkB,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAC7K,CAAC;CACF;AAjBD,oCAiBC;AAED,MAAa,aAAa;IACxB,YAAoB,GAAW;QAAX,QAAG,GAAH,GAAG,CAAQ;IAAI,CAAC;IAE7B,KAAK,CAAC,YAAY,CAAC,IAAc,EAAE,YAAwB;QAChE,IAAI;YACF,qBAAS,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YAC/B,+BAAc,CAAC,QAAQ,CAAC,IAAI,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC;YAChD,YAAY,aAAZ,YAAY,uBAAZ,YAAY,EAAI,CAAC;SAClB;QAAC,OAAO,CAAM,EAAE;YACf,OAAO,CAAC,GAAG,CAAC,2BAA2B,CAAC,EAAE,CAAC,CAAC,CAAC,sBAAsB;SACpE;IACH,CAAC;CACF;AAZD,sCAYC","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n\r\nimport { ToolType } from \"../tools/Tool\";\r\nimport { IModelApp } from \"../IModelApp\";\r\nimport { CommonToolbarItem, StageUsage, ToolbarItemUtilities, ToolbarOrientation, ToolbarUsage, UiItemsManager, UiItemsProvider } from \"@itwin/appui-abstract\";\r\n\r\nexport class ToolProvider implements UiItemsProvider {\r\n public readonly id;\r\n private _toolId = \"\";\r\n private _toolIcon;\r\n private _toolLabel;\r\n\r\n public constructor(tool: ToolType) {\r\n this.id = `ToolProvider:${tool.toolId}`;\r\n this._toolId = tool.toolId;\r\n this._toolIcon = tool.iconSpec;\r\n this._toolLabel = tool.description;\r\n }\r\n\r\n public provideToolbarButtonItems(_stageId: string, stageUsage: string, toolbarUsage: ToolbarUsage, toolbarOrientation: ToolbarOrientation): CommonToolbarItem[] {\r\n const toolbarItem = ToolbarItemUtilities.createActionButton(this._toolId, 0, this._toolIcon, this._toolLabel, async () => { await IModelApp.tools.run(this._toolId); });\r\n return stageUsage === StageUsage.General && toolbarUsage === ToolbarUsage.ContentManipulation && toolbarOrientation === ToolbarOrientation.Horizontal ? [toolbarItem] : [];\r\n }\r\n}\r\n\r\nexport class ExtensionImpl {\r\n constructor(private _id: string) { }\r\n\r\n public async registerTool(tool: ToolType, onRegistered?: () => any): Promise<void> {\r\n try {\r\n IModelApp.tools.register(tool);\r\n UiItemsManager.register(new ToolProvider(tool));\r\n onRegistered?.();\r\n } catch (e: any) {\r\n console.log(`Error registering tool: ${e}`); // eslint-disable-line\r\n }\r\n }\r\n}\r\n"]}