@metapages/metapage 1.8.19 → 1.8.22

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.
@@ -53,6 +53,9 @@ export declare class Metapage extends MetapageShared {
53
53
  constructor(opts?: MetapageOptionsV1);
54
54
  isDisposed(): boolean;
55
55
  addListenerReturnDisposer(event: MetapageEvents, listener: ListenerFn<any[]>): () => void;
56
+ onInputs(cb: (inputs: MetapageInstanceInputs) => () => void): () => void;
57
+ onOutputs(cb: (outputs: MetapageInstanceInputs) => void): () => void;
58
+ onState(cb: (state: MetapageState) => void): () => void;
56
59
  setDebugFromUrlParams(): Metapage;
57
60
  getState(): MetapageState;
58
61
  setState(newState: MetapageState): void;
@@ -93,6 +96,7 @@ export declare class Metapage extends MetapageShared {
93
96
  _setStateOnlyMetaframeInputMap(isInputs: boolean, metaframeId: MetaframeId, metaframeValuesNew: MetaframeInputMap): void;
94
97
  _setStateOnlyMetaframes(isInputs: boolean, inputsMetaframesNew: MetapageInstanceInputs): void;
95
98
  setMetaframeOutputs(metaframeId: MetaframeId, outputs: MetaframeInputMap): void;
99
+ setOutputs(outputs: MetapageInstanceInputs): void;
96
100
  onMessage(e: MessageEvent): void;
97
101
  onMessageJsonRpc(jsonrpc: MinimumClientMessage<any>): void;
98
102
  logInternal(o: any, color?: string, backgroundColor?: string): void;
@@ -1 +1 @@
1
- {"version":3,"file":"Metapage.d.ts","sourceRoot":"","sources":["../../src/metapage/Metapage.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Metapage.d.ts","sourceRoot":"","sources":["../../src/metapage/Metapage.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
- import { Metapage } from './Metapage.js';
2
- import { MetapageInstanceInputs } from './v0_4/index.js';
3
- import { MetapageDefinitionV2 } from './v2/metapage.js';
1
+ import { Metapage } from "./Metapage.js";
2
+ import { MetapageInstanceInputs } from "./v0_4/index.js";
3
+ import { MetapageDefinitionV2 } from "./v2/metapage.js";
4
4
  export interface RenderingOptions {
5
5
  hideBorder?: boolean;
6
6
  hideFrameBorders?: boolean;
@@ -11,6 +11,7 @@ export interface RenderingOptions {
11
11
  }
12
12
  export interface MetapageRendererResult {
13
13
  setInputs: (inputs: MetapageInstanceInputs) => void;
14
+ setOutputs: (outputs: MetapageInstanceInputs) => void;
14
15
  dispose: () => void;
15
16
  metapage: Metapage;
16
17
  }
@@ -1 +1 @@
1
- {"version":3,"file":"metapageRenderer.d.ts","sourceRoot":"","sources":["../../src/metapage/metapageRenderer.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAGzC,OAAO,EAAE,sBAAsB,EAAE,MAAM,iBAAiB,CAAC;AACzD,OAAO,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAGxD,MAAM,WAAW,gBAAgB;IAC/B,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,sBAAsB;IACrC,SAAS,EAAE,CAAC,MAAM,EAAE,sBAAsB,KAAK,IAAI,CAAC;IACpD,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,QAAQ,EAAE,QAAQ,CAAC;CACpB;AA6FD,wBAAsB,cAAc,CAAC,KAAK,EAAE;IAC1C,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,UAAU,CAAC,EAAE,oBAAoB,CAAC;IAClC,SAAS,CAAC,EAAE,CAAC,OAAO,EAAE,sBAAsB,KAAK,IAAI,CAAC;IACtD,OAAO,EAAE,WAAW,CAAC;IACrB,OAAO,CAAC,EAAE,gBAAgB,CAAC;CAC5B,GAAG,OAAO,CAAC,sBAAsB,CAAC,CA6QlC"}
1
+ {"version":3,"file":"metapageRenderer.d.ts","sourceRoot":"","sources":["../../src/metapage/metapageRenderer.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAGzC,OAAO,EAAqB,sBAAsB,EAAE,MAAM,iBAAiB,CAAC;AAC5E,OAAO,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAGxD,MAAM,WAAW,gBAAgB;IAC/B,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,sBAAsB;IACrC,SAAS,EAAE,CAAC,MAAM,EAAE,sBAAsB,KAAK,IAAI,CAAC;IACpD,UAAU,EAAE,CAAC,OAAO,EAAE,sBAAsB,KAAK,IAAI,CAAC;IACtD,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,QAAQ,EAAE,QAAQ,CAAC;CACpB;AA6FD,wBAAsB,cAAc,CAAC,KAAK,EAAE;IAC1C,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,UAAU,CAAC,EAAE,oBAAoB,CAAC;IAClC,SAAS,CAAC,EAAE,CAAC,OAAO,EAAE,sBAAsB,KAAK,IAAI,CAAC;IACtD,OAAO,EAAE,WAAW,CAAC;IACrB,OAAO,CAAC,EAAE,gBAAgB,CAAC;CAC5B,GAAG,OAAO,CAAC,sBAAsB,CAAC,CAyRlC"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@metapages/metapage",
3
3
  "public": true,
4
- "version": "1.8.19",
4
+ "version": "1.8.22",
5
5
  "description": "Connect web pages together",
6
6
  "repository": "https://github.com/metapages/metapage",
7
7
  "homepage": "https://metapage.io/",
@@ -219,6 +219,11 @@ export class Metapage extends MetapageShared {
219
219
  this.setDefinition = this.setDefinition.bind(this);
220
220
  this.setInput = this.setInput.bind(this);
221
221
  this.setInputs = this.setInputs.bind(this);
222
+ this.setOutputs = this.setOutputs.bind(this);
223
+ this.onInputs = this.onInputs.bind(this);
224
+ this.onOutputs = this.onOutputs.bind(this);
225
+ this.onState = this.onState.bind(this);
226
+ this.setMetaframeOutputs = this.setMetaframeOutputs.bind(this);
222
227
  this.setInputStateOnlyMetaframeInputValue =
223
228
  this.setInputStateOnlyMetaframeInputValue.bind(this);
224
229
  this.setInputStateOnlyMetaframeInputMap =
@@ -264,6 +269,18 @@ export class Metapage extends MetapageShared {
264
269
  return disposer;
265
270
  }
266
271
 
272
+ onInputs(cb: (inputs: MetapageInstanceInputs) => () => void) {
273
+ return this.addListenerReturnDisposer(MetapageEvents.Inputs, cb);
274
+ }
275
+
276
+ onOutputs(cb: (outputs: MetapageInstanceInputs) => void) {
277
+ return this.addListenerReturnDisposer(MetapageEvents.Outputs, cb);
278
+ }
279
+
280
+ onState(cb: (state: MetapageState) => void) {
281
+ return this.addListenerReturnDisposer(MetapageEvents.State, cb);
282
+ }
283
+
267
284
  public setDebugFromUrlParams(): Metapage {
268
285
  const url = new URL(window.location.href);
269
286
  this.debug = ["debug", "mp_debug"].reduce((exists, flag) => {
@@ -971,6 +988,17 @@ export class Metapage extends MetapageShared {
971
988
  });
972
989
  }
973
990
 
991
+ /**
992
+ * Set the outputs manually, useful for when the
993
+ * parent wants to modify the outputs directly
994
+ * @param outputs
995
+ */
996
+ setOutputs(outputs: MetapageInstanceInputs) {
997
+ for (const metaframeId in outputs) {
998
+ this.setMetaframeOutputs(metaframeId, outputs[metaframeId]);
999
+ }
1000
+ }
1001
+
974
1002
  onMessage(e: MessageEvent) {
975
1003
  // any other type of messages are ignored
976
1004
  // maybe in the future we can pass around strings or ArrayBuffers
@@ -1,9 +1,10 @@
1
- import { MetapageEvents } from './events.js';
2
- import { Metapage } from './Metapage.js';
3
- import { pageLoaded } from './MetapageTools.js';
4
- import { getMetapageDefinitionFromUrl } from './util.js';
5
- import { MetapageInstanceInputs } from './v0_4/index.js';
6
- import { MetapageDefinitionV2 } from './v2/metapage.js';
1
+ import { MetaframeId } from "./core.js";
2
+ import { MetapageEvents } from "./events.js";
3
+ import { Metapage } from "./Metapage.js";
4
+ import { pageLoaded } from "./MetapageTools.js";
5
+ import { getMetapageDefinitionFromUrl } from "./util.js";
6
+ import { MetaframeInputMap, MetapageInstanceInputs } from "./v0_4/index.js";
7
+ import { MetapageDefinitionV2 } from "./v2/metapage.js";
7
8
 
8
9
  // Types for the pure function
9
10
  export interface RenderingOptions {
@@ -17,6 +18,7 @@ export interface RenderingOptions {
17
18
 
18
19
  export interface MetapageRendererResult {
19
20
  setInputs: (inputs: MetapageInstanceInputs) => void;
21
+ setOutputs: (outputs: MetapageInstanceInputs) => void;
20
22
  dispose: () => void;
21
23
  metapage: Metapage;
22
24
  }
@@ -172,7 +174,7 @@ export async function renderMetapage(props: {
172
174
 
173
175
  // Find dividers and determine which metaframes to hide
174
176
  const metaframesToHide = new Set<string>();
175
-
177
+
176
178
  // Find all dividers and their y positions
177
179
  const dividers = layout
178
180
  .map((item: LayoutItem, index: number) => {
@@ -215,7 +217,7 @@ export async function renderMetapage(props: {
215
217
  let visibleLayoutItems = layout.filter((item: LayoutItem) =>
216
218
  visibleMetaframeIds.includes(item.i)
217
219
  );
218
-
220
+
219
221
  // Handle case where no metaframes are visible
220
222
  if (visibleLayoutItems.length === 0) {
221
223
  // Return early with empty result
@@ -226,6 +228,11 @@ export async function renderMetapage(props: {
226
228
  metapage.setInputs(inputs);
227
229
  }
228
230
  },
231
+ setOutputs: (outputs: MetapageInstanceInputs) => {
232
+ if (!metapage.isDisposed()) {
233
+ metapage.setOutputs(outputs);
234
+ }
235
+ },
229
236
  dispose: () => {
230
237
  disposers.forEach((disposer) => disposer());
231
238
  metapage.dispose();
@@ -233,7 +240,7 @@ export async function renderMetapage(props: {
233
240
  },
234
241
  };
235
242
  }
236
-
243
+
237
244
  // Sort visible layout items by y position to ensure proper grid layout
238
245
  visibleLayoutItems.sort((a, b) => {
239
246
  if (a.y !== b.y) {
@@ -241,7 +248,7 @@ export async function renderMetapage(props: {
241
248
  }
242
249
  return a.x - b.x;
243
250
  });
244
-
251
+
245
252
  // Create grid container style (will be updated after we know the actual dimensions)
246
253
  const gridStyle = {
247
254
  display: "grid",
@@ -280,18 +287,17 @@ export async function renderMetapage(props: {
280
287
 
281
288
  // Add visible metaframes to the grid
282
289
  const renderedMetaframes: LayoutItem[] = [];
283
-
290
+
284
291
  for (const metaframeId of visibleMetaframeIds) {
285
-
286
292
  const layoutItem = layout.find(
287
293
  (item: LayoutItem) => item.i === metaframeId
288
294
  );
289
295
  if (!layoutItem) continue;
290
296
 
291
297
  const metaframe = metapage.getMetaframes()[metaframeId];
292
- const iframe = await metaframe.iframe
298
+ const iframe = await metaframe.iframe;
293
299
  if (!metaframe) continue;
294
-
300
+
295
301
  // Track this metaframe for grid dimension calculation
296
302
  renderedMetaframes.push(layoutItem);
297
303
 
@@ -306,12 +312,12 @@ export async function renderMetapage(props: {
306
312
  alignSelf: "stretch", // Stretch to fill the grid cell height
307
313
  justifySelf: "stretch", // Stretch to fill the grid cell width
308
314
  };
309
-
315
+
310
316
  // Create wrapper div for proper grid positioning
311
317
  const wrapper = document.createElement("div");
312
318
  Object.assign(wrapper.style, itemStyle);
313
319
  wrapper.appendChild(iframe);
314
-
320
+
315
321
  gridContainer.appendChild(wrapper);
316
322
  }
317
323
 
@@ -320,14 +326,15 @@ export async function renderMetapage(props: {
320
326
  ...renderedMetaframes.map((item: LayoutItem) => item.x + item.w)
321
327
  );
322
328
 
323
-
324
329
  const maxRow = Math.max(
325
330
  ...renderedMetaframes.map((item: LayoutItem) => item.y + item.h)
326
331
  );
327
-
328
-
332
+
329
333
  // Update the grid container with the correct dimensions
330
- gridContainer.style.gridTemplateColumns = `repeat(${Math.max(1, maxCol)}, 1fr)`;
334
+ gridContainer.style.gridTemplateColumns = `repeat(${Math.max(
335
+ 1,
336
+ maxCol
337
+ )}, 1fr)`;
331
338
 
332
339
  // Create hidden container for hidden metaframes
333
340
  const hiddenContainer = document.createElement("div");
@@ -340,7 +347,9 @@ export async function renderMetapage(props: {
340
347
  hiddenContainer.style.pointerEvents = "none";
341
348
 
342
349
  // Add hidden metaframes
343
- for (const metaframeId of Object.keys(metapage.getMetaframes()).filter((id) => metaframesToHide.has(id))) {
350
+ for (const metaframeId of Object.keys(metapage.getMetaframes()).filter((id) =>
351
+ metaframesToHide.has(id)
352
+ )) {
344
353
  const metaframe = metapage.getMetaframes()[metaframeId];
345
354
  if (!metaframe) continue;
346
355
 
@@ -378,6 +387,11 @@ export async function renderMetapage(props: {
378
387
  metapage.setInputs(inputs);
379
388
  }
380
389
  },
390
+ setOutputs: (outputs: MetapageInstanceInputs) => {
391
+ if (!metapage.isDisposed()) {
392
+ metapage.setOutputs(outputs);
393
+ }
394
+ },
381
395
  dispose: () => {
382
396
  // Clean up event listeners
383
397
  disposers.forEach((disposer) => disposer());