@rasterex/viewer 1.0.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 (156) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +279 -0
  3. package/SECURITY.md +54 -0
  4. package/dist/RasterexViewer.d.ts +70 -0
  5. package/dist/RasterexViewer.d.ts.map +1 -0
  6. package/dist/RasterexViewer.js +410 -0
  7. package/dist/RasterexViewer.js.map +1 -0
  8. package/dist/compat/matrix.d.ts +9 -0
  9. package/dist/compat/matrix.d.ts.map +1 -0
  10. package/dist/compat/matrix.js +12 -0
  11. package/dist/compat/matrix.js.map +1 -0
  12. package/dist/constants.d.ts +8 -0
  13. package/dist/constants.d.ts.map +1 -0
  14. package/dist/constants.js +8 -0
  15. package/dist/constants.js.map +1 -0
  16. package/dist/createDocumentViewer.d.ts +8 -0
  17. package/dist/createDocumentViewer.d.ts.map +1 -0
  18. package/dist/createDocumentViewer.js +16 -0
  19. package/dist/createDocumentViewer.js.map +1 -0
  20. package/dist/createViewer.d.ts +4 -0
  21. package/dist/createViewer.d.ts.map +1 -0
  22. package/dist/createViewer.js +5 -0
  23. package/dist/createViewer.js.map +1 -0
  24. package/dist/demo-presets.d.ts +45 -0
  25. package/dist/demo-presets.d.ts.map +1 -0
  26. package/dist/demo-presets.js +22 -0
  27. package/dist/demo-presets.js.map +1 -0
  28. package/dist/demoPresets.d.ts +2 -0
  29. package/dist/demoPresets.d.ts.map +1 -0
  30. package/dist/demoPresets.js +2 -0
  31. package/dist/demoPresets.js.map +1 -0
  32. package/dist/diagnostics.d.ts +76 -0
  33. package/dist/diagnostics.d.ts.map +1 -0
  34. package/dist/diagnostics.js +38 -0
  35. package/dist/diagnostics.js.map +1 -0
  36. package/dist/domains/AnnotationsApi.d.ts +139 -0
  37. package/dist/domains/AnnotationsApi.d.ts.map +1 -0
  38. package/dist/domains/AnnotationsApi.js +256 -0
  39. package/dist/domains/AnnotationsApi.js.map +1 -0
  40. package/dist/domains/BlocksApi.d.ts +151 -0
  41. package/dist/domains/BlocksApi.d.ts.map +1 -0
  42. package/dist/domains/BlocksApi.js +191 -0
  43. package/dist/domains/BlocksApi.js.map +1 -0
  44. package/dist/domains/CanvasApi.d.ts +13 -0
  45. package/dist/domains/CanvasApi.d.ts.map +1 -0
  46. package/dist/domains/CanvasApi.js +22 -0
  47. package/dist/domains/CanvasApi.js.map +1 -0
  48. package/dist/domains/CollaborationApi.d.ts +65 -0
  49. package/dist/domains/CollaborationApi.d.ts.map +1 -0
  50. package/dist/domains/CollaborationApi.js +177 -0
  51. package/dist/domains/CollaborationApi.js.map +1 -0
  52. package/dist/domains/CompareApi.d.ts +73 -0
  53. package/dist/domains/CompareApi.d.ts.map +1 -0
  54. package/dist/domains/CompareApi.js +175 -0
  55. package/dist/domains/CompareApi.js.map +1 -0
  56. package/dist/domains/DocumentsApi.d.ts +175 -0
  57. package/dist/domains/DocumentsApi.d.ts.map +1 -0
  58. package/dist/domains/DocumentsApi.js +407 -0
  59. package/dist/domains/DocumentsApi.js.map +1 -0
  60. package/dist/domains/LayersApi.d.ts +76 -0
  61. package/dist/domains/LayersApi.d.ts.map +1 -0
  62. package/dist/domains/LayersApi.js +159 -0
  63. package/dist/domains/LayersApi.js.map +1 -0
  64. package/dist/domains/MeasurementsApi.d.ts +150 -0
  65. package/dist/domains/MeasurementsApi.d.ts.map +1 -0
  66. package/dist/domains/MeasurementsApi.js +388 -0
  67. package/dist/domains/MeasurementsApi.js.map +1 -0
  68. package/dist/domains/StylesApi.d.ts +50 -0
  69. package/dist/domains/StylesApi.d.ts.map +1 -0
  70. package/dist/domains/StylesApi.js +53 -0
  71. package/dist/domains/StylesApi.js.map +1 -0
  72. package/dist/domains/ToolsApi.d.ts +251 -0
  73. package/dist/domains/ToolsApi.d.ts.map +1 -0
  74. package/dist/domains/ToolsApi.js +275 -0
  75. package/dist/domains/ToolsApi.js.map +1 -0
  76. package/dist/domains/canvasBrokerCommands.d.ts +38 -0
  77. package/dist/domains/canvasBrokerCommands.d.ts.map +1 -0
  78. package/dist/domains/canvasBrokerCommands.js +79 -0
  79. package/dist/domains/canvasBrokerCommands.js.map +1 -0
  80. package/dist/errors.d.ts +28 -0
  81. package/dist/errors.d.ts.map +1 -0
  82. package/dist/errors.js +82 -0
  83. package/dist/errors.js.map +1 -0
  84. package/dist/index.d.ts +45 -0
  85. package/dist/index.d.ts.map +1 -0
  86. package/dist/index.js +26 -0
  87. package/dist/index.js.map +1 -0
  88. package/dist/messaging/CanvasMessageBroker.d.ts +36 -0
  89. package/dist/messaging/CanvasMessageBroker.d.ts.map +1 -0
  90. package/dist/messaging/CanvasMessageBroker.js +95 -0
  91. package/dist/messaging/CanvasMessageBroker.js.map +1 -0
  92. package/dist/messaging/IframeTransport.d.ts +29 -0
  93. package/dist/messaging/IframeTransport.d.ts.map +1 -0
  94. package/dist/messaging/IframeTransport.js +74 -0
  95. package/dist/messaging/IframeTransport.js.map +1 -0
  96. package/dist/messaging/MessageClient.d.ts +32 -0
  97. package/dist/messaging/MessageClient.d.ts.map +1 -0
  98. package/dist/messaging/MessageClient.js +110 -0
  99. package/dist/messaging/MessageClient.js.map +1 -0
  100. package/dist/messaging/ViewerMessagingSession.d.ts +17 -0
  101. package/dist/messaging/ViewerMessagingSession.d.ts.map +1 -0
  102. package/dist/messaging/ViewerMessagingSession.js +17 -0
  103. package/dist/messaging/ViewerMessagingSession.js.map +1 -0
  104. package/dist/protocol/capabilities.d.ts +6 -0
  105. package/dist/protocol/capabilities.d.ts.map +1 -0
  106. package/dist/protocol/capabilities.js +5 -0
  107. package/dist/protocol/capabilities.js.map +1 -0
  108. package/dist/protocol/compatibility.d.ts +7 -0
  109. package/dist/protocol/compatibility.d.ts.map +1 -0
  110. package/dist/protocol/compatibility.js +2 -0
  111. package/dist/protocol/compatibility.js.map +1 -0
  112. package/dist/protocol/constants.d.ts +3 -0
  113. package/dist/protocol/constants.d.ts.map +1 -0
  114. package/dist/protocol/constants.js +3 -0
  115. package/dist/protocol/constants.js.map +1 -0
  116. package/dist/protocol/envelope.d.ts +27 -0
  117. package/dist/protocol/envelope.d.ts.map +1 -0
  118. package/dist/protocol/envelope.js +2 -0
  119. package/dist/protocol/envelope.js.map +1 -0
  120. package/dist/protocol/errors.d.ts +42 -0
  121. package/dist/protocol/errors.d.ts.map +1 -0
  122. package/dist/protocol/errors.js +35 -0
  123. package/dist/protocol/errors.js.map +1 -0
  124. package/dist/protocol/handshake.d.ts +13 -0
  125. package/dist/protocol/handshake.d.ts.map +1 -0
  126. package/dist/protocol/handshake.js +2 -0
  127. package/dist/protocol/handshake.js.map +1 -0
  128. package/dist/protocol/index.d.ts +10 -0
  129. package/dist/protocol/index.d.ts.map +1 -0
  130. package/dist/protocol/index.js +5 -0
  131. package/dist/protocol/index.js.map +1 -0
  132. package/dist/types.d.ts +29 -0
  133. package/dist/types.d.ts.map +1 -0
  134. package/dist/types.js +2 -0
  135. package/dist/types.js.map +1 -0
  136. package/dist/utils/DomainEventEmitter.d.ts +12 -0
  137. package/dist/utils/DomainEventEmitter.d.ts.map +1 -0
  138. package/dist/utils/DomainEventEmitter.js +34 -0
  139. package/dist/utils/DomainEventEmitter.js.map +1 -0
  140. package/dist/utils/compatibility.d.ts +15 -0
  141. package/dist/utils/compatibility.d.ts.map +1 -0
  142. package/dist/utils/compatibility.js +170 -0
  143. package/dist/utils/compatibility.js.map +1 -0
  144. package/dist/utils/createRequestId.d.ts +2 -0
  145. package/dist/utils/createRequestId.d.ts.map +1 -0
  146. package/dist/utils/createRequestId.js +6 -0
  147. package/dist/utils/createRequestId.js.map +1 -0
  148. package/dist/utils/createSdkInstanceId.d.ts +2 -0
  149. package/dist/utils/createSdkInstanceId.d.ts.map +1 -0
  150. package/dist/utils/createSdkInstanceId.js +6 -0
  151. package/dist/utils/createSdkInstanceId.js.map +1 -0
  152. package/dist/utils/deriveOrigin.d.ts +2 -0
  153. package/dist/utils/deriveOrigin.d.ts.map +1 -0
  154. package/dist/utils/deriveOrigin.js +4 -0
  155. package/dist/utils/deriveOrigin.js.map +1 -0
  156. package/package.json +46 -0
@@ -0,0 +1,53 @@
1
+ import { createCommandTimeoutError } from "../errors.js";
2
+ import { requireReadyBroker, sendCanvasFireAndForget } from "./canvasBrokerCommands.js";
3
+ export class StylesApi {
4
+ constructor(options) {
5
+ this.options = options;
6
+ }
7
+ setGlobalAppearance(options) {
8
+ sendCanvasFireAndForget({
9
+ ...this.options,
10
+ type: "setGlobalAppearance",
11
+ payload: options,
12
+ apiName: "viewer.styles"
13
+ });
14
+ }
15
+ getAnnotationProperties(options) {
16
+ const broker = requireReadyBroker({
17
+ ...this.options,
18
+ type: "getAnnotationProperties",
19
+ apiName: "viewer.styles"
20
+ });
21
+ const timeoutMs = options.timeoutMs ?? this.options.commandTimeoutMs;
22
+ return new Promise((resolve, reject) => {
23
+ const cleanup = broker.on("annotationProperties", (message) => {
24
+ const payload = message.payload;
25
+ if (!payload || payload.guid !== options.guid) {
26
+ return;
27
+ }
28
+ globalThis.clearTimeout(timeoutId);
29
+ cleanup();
30
+ resolve(payload);
31
+ });
32
+ const timeoutId = globalThis.setTimeout(() => {
33
+ cleanup();
34
+ reject(createCommandTimeoutError(options.guid, "getAnnotationProperties", timeoutMs));
35
+ }, timeoutMs);
36
+ broker.send("getAnnotationProperties", {
37
+ guid: options.guid
38
+ });
39
+ });
40
+ }
41
+ setAnnotationProperties(options) {
42
+ sendCanvasFireAndForget({
43
+ ...this.options,
44
+ type: "setAnnotationProperties",
45
+ payload: {
46
+ guid: options.guid,
47
+ props: options.props
48
+ },
49
+ apiName: "viewer.styles"
50
+ });
51
+ }
52
+ }
53
+ //# sourceMappingURL=StylesApi.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"StylesApi.js","sourceRoot":"","sources":["../../src/domains/StylesApi.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,yBAAyB,EAAE,MAAM,cAAc,CAAC;AACzD,OAAO,EACL,kBAAkB,EAClB,uBAAuB,EACxB,MAAM,2BAA2B,CAAC;AAiDnC,MAAM,OAAO,SAAS;IAGpB,YAAY,OAAyB;QACnC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;IAED,mBAAmB,CAAC,OAAgC;QAClD,uBAAuB,CAAC;YACtB,GAAG,IAAI,CAAC,OAAO;YACf,IAAI,EAAE,qBAAqB;YAC3B,OAAO,EAAE,OAAO;YAChB,OAAO,EAAE,eAAe;SACzB,CAAC,CAAC;IACL,CAAC;IAED,uBAAuB,CACrB,OAAuC;QAEvC,MAAM,MAAM,GAAG,kBAAkB,CAAC;YAChC,GAAG,IAAI,CAAC,OAAO;YACf,IAAI,EAAE,yBAAyB;YAC/B,OAAO,EAAE,eAAe;SACzB,CAAC,CAAC;QACH,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC;QAErE,OAAO,IAAI,OAAO,CAA6B,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACjE,MAAM,OAAO,GAAG,MAAM,CAAC,EAAE,CACvB,sBAAsB,EACtB,CAAC,OAAO,EAAE,EAAE;gBACV,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;gBAEhC,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,IAAI,KAAK,OAAO,CAAC,IAAI,EAAE,CAAC;oBAC9C,OAAO;gBACT,CAAC;gBAED,UAAU,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;gBACnC,OAAO,EAAE,CAAC;gBACV,OAAO,CAAC,OAAO,CAAC,CAAC;YACnB,CAAC,CACF,CAAC;YAEF,MAAM,SAAS,GAAG,UAAU,CAAC,UAAU,CAAC,GAAG,EAAE;gBAC3C,OAAO,EAAE,CAAC;gBACV,MAAM,CAAC,yBAAyB,CAAC,OAAO,CAAC,IAAI,EAAE,yBAAyB,EAAE,SAAS,CAAC,CAAC,CAAC;YACxF,CAAC,EAAE,SAAS,CAAC,CAAC;YAEd,MAAM,CAAC,IAAI,CAAC,yBAAyB,EAAE;gBACrC,IAAI,EAAE,OAAO,CAAC,IAAI;aACnB,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAED,uBAAuB,CAAC,OAAuC;QAC7D,uBAAuB,CAAC;YACtB,GAAG,IAAI,CAAC,OAAO;YACf,IAAI,EAAE,yBAAyB;YAC/B,OAAO,EAAE;gBACP,IAAI,EAAE,OAAO,CAAC,IAAI;gBAClB,KAAK,EAAE,OAAO,CAAC,KAAK;aACrB;YACD,OAAO,EAAE,eAAe;SACzB,CAAC,CAAC;IACL,CAAC;CACF"}
@@ -0,0 +1,251 @@
1
+ import { type DomainEventHandler, type DomainEventUnsubscribe } from "../utils/DomainEventEmitter.js";
2
+ import type { CanvasMessageBroker } from "../messaging/CanvasMessageBroker.js";
3
+ export type ToolGroup = "drawing" | "annotation" | "measurement";
4
+ export type ToolAction = "SHAPE_RECTANGLE" | "SHAPE_RECTANGLE_ROUNDED" | "SHAPE_ELLIPSE" | "SHAPE_CLOUD" | "SHAPE_POLYGON" | "ARROW_SINGLE_END" | "ARROW_FILLED_SINGLE_END" | "ARROW_BOTH_ENDS" | "ARROW_FILLED_BOTH_ENDS" | "TEXT" | "CALLOUT" | "NOTE" | "ERASE" | "PAINT_HIGHLIGHTER" | "PAINT_FREEHAND" | "PAINT_TEXT_HIGHLIGHTING" | "PAINT_POLYLINE" | "STAMP" | "IMAGES_LIBRARY" | "SYMBOLS_LIBRARY" | "QR_CODE" | "LINKS_LIBRARY" | "MARKUP_LOCK" | "NO_SCALE" | "SCALE_SETTING" | "CALIBRATE" | "MEASURE_CONTINUOUS" | "MEASURE_LENGTH" | "MEASURE_AREA" | "MEASURE_PATH" | "MEASURE_ARC" | "MEASURE_ANGLE_CCLOCKWISE" | "MEASURE_RECTANGULAR_AREA" | "COUNT" | "SNAP";
5
+ export type NavigationToolAction = "MAGNIFY" | "VECTORINFO" | "BLOCKINFO" | "ZOOM_IN" | "ZOOM_OUT" | "FIT_WIDTH" | "FIT_HEIGHT" | "ZOOM_WINDOW" | "FIT_TO_WINDOW" | "ROTATE" | "HIDE_MARKUPS" | "BACKGROUND" | "MONOCHROME" | "BIRDSEYE" | "SEARCH_TEXT" | "SELECT_TEXT" | "TOGGLECYCLE" | "GRAYSCALE";
6
+ export interface ToolStyleOptions {
7
+ color?: string;
8
+ strokeColor?: string;
9
+ fillColor?: string;
10
+ opacity?: number;
11
+ strokeOpacity?: number;
12
+ fillOpacity?: number;
13
+ strokeWidth?: number;
14
+ }
15
+ export interface ToolSetOptions {
16
+ action: ToolAction;
17
+ group?: ToolGroup;
18
+ enabled?: boolean;
19
+ style?: ToolStyleOptions;
20
+ requestId?: string;
21
+ timeoutMs?: number;
22
+ }
23
+ export interface CanvasToolControlOptions {
24
+ group?: ToolGroup;
25
+ action?: string;
26
+ enabled?: boolean;
27
+ }
28
+ export interface ToolControlResult {
29
+ success: boolean;
30
+ requestId?: string;
31
+ error?: string;
32
+ }
33
+ export interface NavigationToolSetOptions {
34
+ action: NavigationToolAction;
35
+ enabled?: boolean;
36
+ value?: number;
37
+ searchText?: string;
38
+ searchCaseSensitive?: boolean;
39
+ searchForward?: boolean;
40
+ requestId?: string;
41
+ timeoutMs?: number;
42
+ }
43
+ export interface NavigationToolControlResult {
44
+ success: boolean;
45
+ requestId?: string;
46
+ action?: string;
47
+ command?: "clear";
48
+ enabled?: boolean;
49
+ error?: string;
50
+ }
51
+ export interface ThreeDToolOptions {
52
+ enabled?: boolean;
53
+ emitSelectionEvents?: boolean;
54
+ distance?: number;
55
+ valuePercent?: number;
56
+ x?: number;
57
+ y?: number;
58
+ z?: number;
59
+ requestId?: string;
60
+ timeoutMs?: number;
61
+ }
62
+ export interface ThreeDToolResult {
63
+ success: boolean;
64
+ requestId?: string;
65
+ enabled?: boolean;
66
+ emitSelectionEvents?: boolean;
67
+ error?: string;
68
+ }
69
+ export interface StampPanelResult {
70
+ success: boolean;
71
+ requestId?: string;
72
+ command?: "open" | "close" | "toggle";
73
+ opened?: boolean;
74
+ error?: string;
75
+ }
76
+ export interface StampUploadOptions {
77
+ urls: string[];
78
+ openStampPanel?: boolean;
79
+ requestId?: string;
80
+ timeoutMs?: number;
81
+ }
82
+ export interface StampUploadItemResult {
83
+ source: string;
84
+ success: boolean;
85
+ duplicate?: boolean;
86
+ stamp?: {
87
+ id: unknown;
88
+ name: string;
89
+ src: string;
90
+ type: string;
91
+ width: number;
92
+ height: number;
93
+ originalFileName?: string;
94
+ };
95
+ error?: string;
96
+ }
97
+ export interface StampUploadResult {
98
+ success: boolean;
99
+ requestId?: string;
100
+ opened?: boolean;
101
+ results: StampUploadItemResult[];
102
+ error?: string;
103
+ }
104
+ export interface CustomToolbarButtonOptions {
105
+ target?: "topnav" | "annotation";
106
+ id: string;
107
+ label: string;
108
+ icon?: string;
109
+ svgIcon?: string;
110
+ toggle?: boolean;
111
+ }
112
+ export interface RemoveToolbarButtonOptions {
113
+ target?: "topnav" | "annotation";
114
+ id: string;
115
+ }
116
+ export interface ThreeDPartSelectedEvent {
117
+ eventVersion: "1.0";
118
+ selectedAt: string;
119
+ file?: {
120
+ id?: string | number;
121
+ name?: string;
122
+ type?: string;
123
+ index?: number;
124
+ };
125
+ part?: {
126
+ id?: string | number;
127
+ expressId?: string | number;
128
+ globalId?: string;
129
+ name?: string;
130
+ type?: string;
131
+ };
132
+ properties: Record<string, unknown>;
133
+ display: Array<{
134
+ label: string;
135
+ value: string;
136
+ }>;
137
+ }
138
+ export interface ThreeDPartSelectionClearedEvent {
139
+ eventVersion: "1.0";
140
+ clearedAt: string;
141
+ }
142
+ export interface ToolbarClickEvent {
143
+ id: string;
144
+ active: boolean;
145
+ }
146
+ export interface ToolsThreeDEventMap {
147
+ partSelected: ThreeDPartSelectedEvent;
148
+ selectionCleared: ThreeDPartSelectionClearedEvent;
149
+ }
150
+ export interface ToolsToolbarEventMap {
151
+ click: ToolbarClickEvent;
152
+ }
153
+ export type ToolsThreeDEventName = keyof ToolsThreeDEventMap;
154
+ export type ToolsThreeDEventHandler<TEventName extends ToolsThreeDEventName> = DomainEventHandler<ToolsThreeDEventMap[TEventName]>;
155
+ export type ToolsToolbarEventName = keyof ToolsToolbarEventMap;
156
+ export type ToolsToolbarEventHandler<TEventName extends ToolsToolbarEventName> = DomainEventHandler<ToolsToolbarEventMap[TEventName]>;
157
+ export type ToolsEventUnsubscribe = DomainEventUnsubscribe;
158
+ export interface ToolsApiOptions {
159
+ getBroker: () => CanvasMessageBroker | null;
160
+ getIsReady: () => boolean;
161
+ commandTimeoutMs: number;
162
+ }
163
+ export declare class ToolsApi {
164
+ readonly navigation: ToolsNavigationApi;
165
+ readonly threeD: ToolsThreeDApi;
166
+ readonly stamps: ToolsStampsApi;
167
+ readonly symbols: ToolsSymbolsApi;
168
+ readonly toolbar: ToolsToolbarApi;
169
+ private readonly getBroker;
170
+ private readonly getIsReady;
171
+ private readonly commandTimeoutMs;
172
+ constructor(options: ToolsApiOptions);
173
+ set(options: ToolSetOptions): Promise<ToolControlResult>;
174
+ clear(): void;
175
+ canvasControl(options: CanvasToolControlOptions): void;
176
+ private sendFireAndForget;
177
+ private sendWithResult;
178
+ }
179
+ export declare class ToolsNavigationApi {
180
+ private readonly options;
181
+ constructor(options: ToolsApiOptions);
182
+ set(options: NavigationToolSetOptions): Promise<NavigationToolControlResult>;
183
+ clear(options?: {
184
+ requestId?: string;
185
+ timeoutMs?: number;
186
+ }): Promise<NavigationToolControlResult>;
187
+ }
188
+ export declare class ToolsThreeDApi {
189
+ private readonly options;
190
+ private readonly events;
191
+ private partSelectedCleanup;
192
+ private selectionClearedCleanup;
193
+ constructor(options: ToolsApiOptions);
194
+ on<TEventName extends ToolsThreeDEventName>(eventName: TEventName, handler: ToolsThreeDEventHandler<TEventName>): ToolsEventUnsubscribe;
195
+ setBirdEyeView(options?: ThreeDToolOptions): Promise<ThreeDToolResult>;
196
+ resetModel(options?: ThreeDToolOptions): Promise<ThreeDToolResult>;
197
+ setSelect(options?: ThreeDToolOptions): Promise<ThreeDToolResult>;
198
+ setMarkupSelect(options?: ThreeDToolOptions): Promise<ThreeDToolResult>;
199
+ setWalkthrough(options?: ThreeDToolOptions): Promise<ThreeDToolResult>;
200
+ setHidePartsMode(options?: ThreeDToolOptions): Promise<ThreeDToolResult>;
201
+ setExplode(options?: ThreeDToolOptions): Promise<ThreeDToolResult>;
202
+ setTransparency(options?: ThreeDToolOptions): Promise<ThreeDToolResult>;
203
+ setCrossSection(options?: ThreeDToolOptions): Promise<ThreeDToolResult>;
204
+ private send;
205
+ private ensureEventBridge;
206
+ }
207
+ export declare class ToolsStampsApi {
208
+ private readonly options;
209
+ constructor(options: ToolsApiOptions);
210
+ open(options?: {
211
+ requestId?: string;
212
+ timeoutMs?: number;
213
+ }): Promise<StampPanelResult>;
214
+ close(options?: {
215
+ requestId?: string;
216
+ timeoutMs?: number;
217
+ }): Promise<StampPanelResult>;
218
+ toggle(options?: {
219
+ requestId?: string;
220
+ timeoutMs?: number;
221
+ }): Promise<StampPanelResult>;
222
+ upload(options: StampUploadOptions): Promise<StampUploadResult>;
223
+ private control;
224
+ }
225
+ export declare class ToolsSymbolsApi {
226
+ private readonly options;
227
+ constructor(options: ToolsApiOptions);
228
+ open(options?: {
229
+ requestId?: string;
230
+ timeoutMs?: number;
231
+ }): Promise<StampPanelResult>;
232
+ close(options?: {
233
+ requestId?: string;
234
+ timeoutMs?: number;
235
+ }): Promise<StampPanelResult>;
236
+ toggle(options?: {
237
+ requestId?: string;
238
+ timeoutMs?: number;
239
+ }): Promise<StampPanelResult>;
240
+ private control;
241
+ }
242
+ export declare class ToolsToolbarApi {
243
+ private readonly options;
244
+ private readonly events;
245
+ private clickCleanup;
246
+ constructor(options: ToolsApiOptions);
247
+ addButton(options: CustomToolbarButtonOptions): void;
248
+ removeButton(options: RemoveToolbarButtonOptions): void;
249
+ on<TEventName extends ToolsToolbarEventName>(eventName: TEventName, handler: ToolsToolbarEventHandler<TEventName>): ToolsEventUnsubscribe;
250
+ }
251
+ //# sourceMappingURL=ToolsApi.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ToolsApi.d.ts","sourceRoot":"","sources":["../../src/domains/ToolsApi.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,275 @@
1
+ import { DomainEventEmitter } from "../utils/DomainEventEmitter.js";
2
+ import { requireReadyBroker, sendCanvasCommandWithResult, sendCanvasFireAndForget } from "./canvasBrokerCommands.js";
3
+ export class ToolsApi {
4
+ constructor(options) {
5
+ this.getBroker = options.getBroker;
6
+ this.getIsReady = options.getIsReady;
7
+ this.commandTimeoutMs = options.commandTimeoutMs;
8
+ this.navigation = new ToolsNavigationApi(options);
9
+ this.threeD = new ToolsThreeDApi(options);
10
+ this.stamps = new ToolsStampsApi(options);
11
+ this.symbols = new ToolsSymbolsApi(options);
12
+ this.toolbar = new ToolsToolbarApi(options);
13
+ }
14
+ set(options) {
15
+ return this.sendWithResult("toolControlV2", "toolControlV2Result", {
16
+ requestId: options.requestId,
17
+ group: options.group,
18
+ action: options.action,
19
+ enabled: options.enabled,
20
+ style: options.style
21
+ }, options.timeoutMs);
22
+ }
23
+ clear() {
24
+ this.sendFireAndForget("toolControl", {
25
+ command: "clear"
26
+ });
27
+ }
28
+ canvasControl(options) {
29
+ this.sendFireAndForget("toolControl", options);
30
+ }
31
+ sendFireAndForget(type, payload) {
32
+ sendCanvasFireAndForget({
33
+ getBroker: this.getBroker,
34
+ getIsReady: this.getIsReady,
35
+ type,
36
+ payload,
37
+ apiName: "viewer.tools"
38
+ });
39
+ }
40
+ sendWithResult(type, resultType, payload, timeoutMs = this.commandTimeoutMs) {
41
+ return sendCanvasCommandWithResult({
42
+ getBroker: this.getBroker,
43
+ getIsReady: this.getIsReady,
44
+ type,
45
+ resultType,
46
+ payload,
47
+ timeoutMs,
48
+ apiName: "viewer.tools"
49
+ });
50
+ }
51
+ }
52
+ export class ToolsNavigationApi {
53
+ constructor(options) {
54
+ this.options = options;
55
+ }
56
+ set(options) {
57
+ return sendCanvasCommandWithResult({
58
+ ...this.options,
59
+ type: "navigationToolControl",
60
+ resultType: "navigationToolControlResult",
61
+ payload: {
62
+ requestId: options.requestId,
63
+ action: options.action,
64
+ enabled: options.enabled,
65
+ value: options.value,
66
+ searchText: options.searchText,
67
+ searchCaseSensitive: options.searchCaseSensitive,
68
+ searchForward: options.searchForward
69
+ },
70
+ timeoutMs: options.timeoutMs ?? this.options.commandTimeoutMs,
71
+ apiName: "viewer.tools"
72
+ });
73
+ }
74
+ clear(options = {}) {
75
+ return sendCanvasCommandWithResult({
76
+ ...this.options,
77
+ type: "navigationToolControl",
78
+ resultType: "navigationToolControlResult",
79
+ payload: {
80
+ requestId: options.requestId,
81
+ command: "clear"
82
+ },
83
+ timeoutMs: options.timeoutMs ?? this.options.commandTimeoutMs,
84
+ apiName: "viewer.tools"
85
+ });
86
+ }
87
+ }
88
+ export class ToolsThreeDApi {
89
+ constructor(options) {
90
+ this.events = new DomainEventEmitter();
91
+ this.partSelectedCleanup = null;
92
+ this.selectionClearedCleanup = null;
93
+ this.options = options;
94
+ }
95
+ on(eventName, handler) {
96
+ this.ensureEventBridge(eventName);
97
+ return this.events.on(eventName, handler);
98
+ }
99
+ setBirdEyeView(options = {}) {
100
+ return this.send("setBirdEyeView", options);
101
+ }
102
+ resetModel(options = {}) {
103
+ return this.send("reset3DModel", options);
104
+ }
105
+ setSelect(options = {}) {
106
+ return this.send("set3DSelect", options);
107
+ }
108
+ setMarkupSelect(options = {}) {
109
+ return this.send("set3DMarkupSelect", options);
110
+ }
111
+ setWalkthrough(options = {}) {
112
+ return this.send("set3DWalkthrough", options);
113
+ }
114
+ setHidePartsMode(options = {}) {
115
+ return this.send("set3DHidePartsMode", options);
116
+ }
117
+ setExplode(options = {}) {
118
+ return this.send("set3DExplode", options);
119
+ }
120
+ setTransparency(options = {}) {
121
+ return this.send("set3DTransparency", options);
122
+ }
123
+ setCrossSection(options = {}) {
124
+ return this.send("set3DCrossSection", options);
125
+ }
126
+ send(type, options) {
127
+ return sendCanvasCommandWithResult({
128
+ ...this.options,
129
+ type,
130
+ resultType: `${type}Result`,
131
+ payload: {
132
+ requestId: options.requestId,
133
+ enabled: options.enabled,
134
+ emitSelectionEvents: options.emitSelectionEvents,
135
+ distance: options.distance,
136
+ valuePercent: options.valuePercent,
137
+ x: options.x,
138
+ y: options.y,
139
+ z: options.z
140
+ },
141
+ timeoutMs: options.timeoutMs ?? this.options.commandTimeoutMs,
142
+ apiName: "viewer.tools"
143
+ });
144
+ }
145
+ ensureEventBridge(eventName) {
146
+ const broker = requireReadyBroker({
147
+ ...this.options,
148
+ type: eventName,
149
+ apiName: "viewer.tools"
150
+ });
151
+ if (eventName === "partSelected" && !this.partSelectedCleanup) {
152
+ this.partSelectedCleanup = broker.on("threeDPartSelected", (message) => {
153
+ if (message.payload) {
154
+ this.events.emit("partSelected", message.payload);
155
+ }
156
+ });
157
+ }
158
+ if (eventName === "selectionCleared" && !this.selectionClearedCleanup) {
159
+ this.selectionClearedCleanup = broker.on("threeDPartSelectionCleared", (message) => {
160
+ if (message.payload) {
161
+ this.events.emit("selectionCleared", message.payload);
162
+ }
163
+ });
164
+ }
165
+ }
166
+ }
167
+ export class ToolsStampsApi {
168
+ constructor(options) {
169
+ this.options = options;
170
+ }
171
+ open(options = {}) {
172
+ return this.control("open", options);
173
+ }
174
+ close(options = {}) {
175
+ return this.control("close", options);
176
+ }
177
+ toggle(options = {}) {
178
+ return this.control("toggle", options);
179
+ }
180
+ upload(options) {
181
+ return sendCanvasCommandWithResult({
182
+ ...this.options,
183
+ type: "uploadStamp",
184
+ resultType: "uploadStampResult",
185
+ payload: {
186
+ requestId: options.requestId,
187
+ urls: options.urls,
188
+ openStampPanel: options.openStampPanel
189
+ },
190
+ timeoutMs: options.timeoutMs ?? this.options.commandTimeoutMs,
191
+ apiName: "viewer.tools"
192
+ });
193
+ }
194
+ control(command, options) {
195
+ return sendCanvasCommandWithResult({
196
+ ...this.options,
197
+ type: "stampControl",
198
+ resultType: "stampControlResult",
199
+ payload: {
200
+ requestId: options.requestId,
201
+ command
202
+ },
203
+ timeoutMs: options.timeoutMs ?? this.options.commandTimeoutMs,
204
+ apiName: "viewer.tools"
205
+ });
206
+ }
207
+ }
208
+ export class ToolsSymbolsApi {
209
+ constructor(options) {
210
+ this.options = options;
211
+ }
212
+ open(options = {}) {
213
+ return this.control("open", options);
214
+ }
215
+ close(options = {}) {
216
+ return this.control("close", options);
217
+ }
218
+ toggle(options = {}) {
219
+ return this.control("toggle", options);
220
+ }
221
+ control(command, options) {
222
+ return sendCanvasCommandWithResult({
223
+ ...this.options,
224
+ type: "symbolsControl",
225
+ resultType: "symbolsControlResult",
226
+ payload: {
227
+ requestId: options.requestId,
228
+ command
229
+ },
230
+ timeoutMs: options.timeoutMs ?? this.options.commandTimeoutMs,
231
+ apiName: "viewer.tools"
232
+ });
233
+ }
234
+ }
235
+ export class ToolsToolbarApi {
236
+ constructor(options) {
237
+ this.events = new DomainEventEmitter();
238
+ this.clickCleanup = null;
239
+ this.options = options;
240
+ }
241
+ addButton(options) {
242
+ requireReadyBroker({
243
+ ...this.options,
244
+ type: "addToolbarButton",
245
+ apiName: "viewer.tools"
246
+ }).send("addToolbarButton", options);
247
+ }
248
+ removeButton(options) {
249
+ requireReadyBroker({
250
+ ...this.options,
251
+ type: "removeToolbarButton",
252
+ apiName: "viewer.tools"
253
+ }).send("removeToolbarButton", options);
254
+ }
255
+ on(eventName, handler) {
256
+ if (eventName === "click" && !this.clickCleanup) {
257
+ this.clickCleanup = requireReadyBroker({
258
+ ...this.options,
259
+ type: "toolbarClick",
260
+ apiName: "viewer.tools"
261
+ }).on("toolbarClick", (message) => {
262
+ const toolbarMessage = message;
263
+ const id = toolbarMessage.id;
264
+ if (typeof id === "string") {
265
+ this.events.emit("click", {
266
+ id,
267
+ active: toolbarMessage.active === true
268
+ });
269
+ }
270
+ });
271
+ }
272
+ return this.events.on(eventName, handler);
273
+ }
274
+ }
275
+ //# sourceMappingURL=ToolsApi.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ToolsApi.js","sourceRoot":"","sources":["../../src/domains/ToolsApi.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,38 @@
1
+ import { RasterexViewerError } from "../errors.js";
2
+ import type { CanvasMessage, CanvasMessageBroker } from "../messaging/CanvasMessageBroker.js";
3
+ export interface CanvasBrokerAccess {
4
+ getBroker: () => CanvasMessageBroker | null;
5
+ getIsReady: () => boolean;
6
+ }
7
+ export interface RequestPayload {
8
+ requestId?: string;
9
+ [key: string]: unknown;
10
+ }
11
+ export interface RequestResultMessage<TPayload> extends CanvasMessage<TPayload> {
12
+ requestId?: string;
13
+ success?: boolean;
14
+ id?: string;
15
+ active?: boolean;
16
+ }
17
+ export interface SendCanvasCommandWithResultOptions extends CanvasBrokerAccess {
18
+ type: string;
19
+ resultType: string;
20
+ payload: RequestPayload;
21
+ timeoutMs: number;
22
+ apiName: string;
23
+ }
24
+ export declare function sendCanvasFireAndForget<TPayload>(options: CanvasBrokerAccess & {
25
+ type: string;
26
+ payload?: TPayload;
27
+ apiName: string;
28
+ }): void;
29
+ export declare function sendCanvasCommandWithResult<TResult extends {
30
+ success: boolean;
31
+ error?: string;
32
+ }>(options: SendCanvasCommandWithResultOptions): Promise<TResult>;
33
+ export declare function requireReadyBroker(options: CanvasBrokerAccess & {
34
+ type: string;
35
+ apiName: string;
36
+ }): CanvasMessageBroker;
37
+ export declare function createCanvasCommandError(type: string, message: string, context?: Record<string, unknown>): RasterexViewerError;
38
+ //# sourceMappingURL=canvasBrokerCommands.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"canvasBrokerCommands.d.ts","sourceRoot":"","sources":["../../src/domains/canvasBrokerCommands.ts"],"names":[],"mappings":"AAEA,OAAO,EAGL,mBAAmB,EACpB,MAAM,cAAc,CAAC;AACtB,OAAO,KAAK,EACV,aAAa,EACb,mBAAmB,EACpB,MAAM,qCAAqC,CAAC;AAE7C,MAAM,WAAW,kBAAkB;IACjC,SAAS,EAAE,MAAM,mBAAmB,GAAG,IAAI,CAAC;IAC5C,UAAU,EAAE,MAAM,OAAO,CAAC;CAC3B;AAED,MAAM,WAAW,cAAc;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,oBAAoB,CAAC,QAAQ,CAAE,SAAQ,aAAa,CAAC,QAAQ,CAAC;IAC7E,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,kCACf,SAAQ,kBAAkB;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,cAAc,CAAC;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,wBAAgB,uBAAuB,CAAC,QAAQ,EAC9C,OAAO,EAAE,kBAAkB,GAAG;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,QAAQ,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;CACjB,GACA,IAAI,CAEN;AAED,wBAAgB,2BAA2B,CACzC,OAAO,SAAS;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,EACpD,OAAO,EAAE,kCAAkC,GAAG,OAAO,CAAC,OAAO,CAAC,CAyE/D;AAED,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,kBAAkB,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GAC9D,mBAAmB,CAsBrB;AAED,wBAAgB,wBAAwB,CACtC,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAChC,mBAAmB,CASrB"}