@reportwright/viewer 0.11.0 → 0.12.1
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.
- package/CHANGELOG.md +81 -0
- package/README.md +27 -5
- package/dist/{chunk-KJTRZJHN.js → chunk-2BPBQMH2.js} +4 -3
- package/dist/chunk-2BPBQMH2.js.map +6 -0
- package/dist/{chunk-ODREGGKA.js → chunk-3D2KFKG2.js} +5 -4
- package/dist/chunk-3D2KFKG2.js.map +6 -0
- package/dist/chunk-6TPZ7G74.js +494 -0
- package/dist/chunk-6TPZ7G74.js.map +6 -0
- package/dist/chunk-BRB34AJ2.js +16 -0
- package/dist/{chunk-APRPSQOD.js → chunk-DPVJEFKP.js} +28 -9
- package/dist/chunk-DPVJEFKP.js.map +6 -0
- package/dist/{chunk-RYHJUQSV.js → chunk-DXHLIJEY.js} +2 -2
- package/dist/{chunk-SR2TQ2ZK.js → chunk-F6RMRXIN.js} +2 -2
- package/dist/chunk-F6RMRXIN.js.map +6 -0
- package/dist/{chunk-3D43XGIN.js → chunk-M6AYND5G.js} +8 -638
- package/dist/chunk-M6AYND5G.js.map +6 -0
- package/dist/{chunk-HAMBWF6C.js → chunk-NR2G4TMG.js} +39 -31
- package/dist/chunk-NR2G4TMG.js.map +6 -0
- package/dist/{chunk-66QZ3RDV.js → chunk-PGP3QA6L.js} +526 -508
- package/dist/chunk-PGP3QA6L.js.map +6 -0
- package/dist/{chunk-N5WHQ4DM.js → chunk-Q6MMPKQA.js} +14 -9
- package/dist/chunk-Q6MMPKQA.js.map +6 -0
- package/dist/{chunk-SBD55ZES.js → chunk-S2IUUI6N.js} +76 -32
- package/dist/chunk-S2IUUI6N.js.map +6 -0
- package/dist/chunk-ULKEEARQ.js +553 -0
- package/dist/chunk-ULKEEARQ.js.map +6 -0
- package/dist/{chunk-WQOBRZAL.js → chunk-VNOWPSE6.js} +579 -1484
- package/dist/chunk-VNOWPSE6.js.map +6 -0
- package/dist/chunk-Z7MKH66Z.js +642 -0
- package/dist/chunk-Z7MKH66Z.js.map +6 -0
- package/dist/designer.d.ts +10 -3
- package/dist/designer.js +28 -18
- package/dist/designer.js.map +1 -1
- package/dist/engine.worker.js +71 -0
- package/dist/engine.worker.js.map +6 -0
- package/dist/peer/chunk-2FZTYEDE.js +15 -0
- package/dist/peer/{chunk-776OR56A.js → chunk-6I2EAAVN.js} +39 -31
- package/dist/peer/chunk-6I2EAAVN.js.map +6 -0
- package/dist/peer/{chunk-IPU2YRL2.js → chunk-BMAXIBP2.js} +28 -9
- package/dist/peer/chunk-BMAXIBP2.js.map +6 -0
- package/dist/peer/chunk-BQFI3DHK.js +494 -0
- package/dist/peer/chunk-BQFI3DHK.js.map +6 -0
- package/dist/peer/{chunk-76ZABVTI.js → chunk-R4VX5UC7.js} +4 -3
- package/dist/peer/{chunk-5X4ZSSJT.js → chunk-TSC4RAH3.js} +526 -508
- package/dist/peer/chunk-TSC4RAH3.js.map +6 -0
- package/dist/peer/{chunk-M4AGFUWE.js → chunk-V42KN7HD.js} +2 -2
- package/dist/peer/{chunk-Y5CAHLXS.js → chunk-WQGENQZO.js} +5 -4
- package/dist/peer/{chunk-EKWTFHVE.js → chunk-WSNRD2AQ.js} +14 -9
- package/dist/peer/chunk-WSNRD2AQ.js.map +6 -0
- package/dist/peer/designer.js +28 -18
- package/dist/peer/designer.js.map +1 -1
- package/dist/peer/engine.worker.js +70 -0
- package/dist/peer/engine.worker.js.map +6 -0
- package/dist/peer/viewer.js +12 -5
- package/dist/peer/viewer.js.map +1 -1
- package/dist/viewer.d.ts +9 -1
- package/dist/viewer.js +12 -5
- package/dist/viewer.js.map +1 -1
- package/package.json +1 -1
- package/dist/chunk-3D43XGIN.js.map +0 -6
- package/dist/chunk-66QZ3RDV.js.map +0 -6
- package/dist/chunk-AH47FS6Y.js +0 -13
- package/dist/chunk-APRPSQOD.js.map +0 -6
- package/dist/chunk-HAMBWF6C.js.map +0 -6
- package/dist/chunk-N5WHQ4DM.js.map +0 -6
- package/dist/chunk-SBD55ZES.js.map +0 -6
- package/dist/chunk-SR2TQ2ZK.js.map +0 -6
- package/dist/chunk-WQOBRZAL.js.map +0 -6
- package/dist/peer/chunk-5X4ZSSJT.js.map +0 -6
- package/dist/peer/chunk-6YO42ALN.js +0 -14777
- package/dist/peer/chunk-6YO42ALN.js.map +0 -6
- package/dist/peer/chunk-76ZABVTI.js.map +0 -6
- package/dist/peer/chunk-776OR56A.js.map +0 -6
- package/dist/peer/chunk-EKWTFHVE.js.map +0 -6
- package/dist/peer/chunk-IMQRHDR4.js +0 -12
- package/dist/peer/chunk-IPU2YRL2.js.map +0 -6
- package/dist/peer/chunk-Y5CAHLXS.js.map +0 -6
- /package/dist/{chunk-AH47FS6Y.js.map → chunk-BRB34AJ2.js.map} +0 -0
- /package/dist/{chunk-RYHJUQSV.js.map → chunk-DXHLIJEY.js.map} +0 -0
- /package/dist/peer/{chunk-IMQRHDR4.js.map → chunk-2FZTYEDE.js.map} +0 -0
- /package/dist/{chunk-KJTRZJHN.js.map → peer/chunk-R4VX5UC7.js.map} +0 -0
- /package/dist/peer/{chunk-M4AGFUWE.js.map → chunk-V42KN7HD.js.map} +0 -0
- /package/dist/{chunk-ODREGGKA.js.map → peer/chunk-WQGENQZO.js.map} +0 -0
|
@@ -0,0 +1,494 @@
|
|
|
1
|
+
import {
|
|
2
|
+
fetchPolicy,
|
|
3
|
+
policyKeysIn,
|
|
4
|
+
render,
|
|
5
|
+
reportFetch,
|
|
6
|
+
resolvePage
|
|
7
|
+
} from "./chunk-VNOWPSE6.js";
|
|
8
|
+
import {
|
|
9
|
+
fontFamilyCss,
|
|
10
|
+
fontKeysOf
|
|
11
|
+
} from "./chunk-M6AYND5G.js";
|
|
12
|
+
import {
|
|
13
|
+
ALL_FONT_KEYS,
|
|
14
|
+
FontStore,
|
|
15
|
+
SHAPER,
|
|
16
|
+
fontFile,
|
|
17
|
+
setCustomFonts
|
|
18
|
+
} from "./chunk-Z7MKH66Z.js";
|
|
19
|
+
|
|
20
|
+
// src/exporters/subset.js
|
|
21
|
+
var HB_MEMORY_MODE_WRITABLE = 2;
|
|
22
|
+
var HB_SUBSET_SETS_DROP_TABLE_TAG = 3;
|
|
23
|
+
var HB_SUBSET_SETS_LAYOUT_FEATURE_TAG = 6;
|
|
24
|
+
var HB_SUBSET_FLAGS_RETAIN_GIDS = 2;
|
|
25
|
+
var HB_SUBSET_FLAGS_NOTDEF_OUTLINE = 64;
|
|
26
|
+
var tag = (s) => [...s].reduce((a, c) => (a << 8) + c.charCodeAt(0), 0) >>> 0;
|
|
27
|
+
function createSubsetter(loadWasm) {
|
|
28
|
+
let hbP = null;
|
|
29
|
+
const hb = () => hbP || (hbP = (async () => {
|
|
30
|
+
const bytes = await loadWasm();
|
|
31
|
+
const { instance } = await WebAssembly.instantiate(bytes instanceof Uint8Array ? bytes : new Uint8Array(bytes), {});
|
|
32
|
+
const x = (
|
|
33
|
+
/** @type {any} */
|
|
34
|
+
instance.exports
|
|
35
|
+
);
|
|
36
|
+
x._initialize?.();
|
|
37
|
+
return x;
|
|
38
|
+
})());
|
|
39
|
+
return async function subset(font, codePoints, opt = {}) {
|
|
40
|
+
const x = await hb();
|
|
41
|
+
const heap = () => new Uint8Array(x.memory.buffer);
|
|
42
|
+
const input = x.hb_subset_input_create_or_fail();
|
|
43
|
+
if (!input) throw new Error("HarfBuzz: no subset input");
|
|
44
|
+
const buf = x.malloc(font.byteLength);
|
|
45
|
+
heap().set(font, buf);
|
|
46
|
+
const blob = x.hb_blob_create(buf, font.byteLength, HB_MEMORY_MODE_WRITABLE, 0, 0);
|
|
47
|
+
const face = x.hb_face_create(blob, 0);
|
|
48
|
+
x.hb_blob_destroy(blob);
|
|
49
|
+
try {
|
|
50
|
+
if (!opt.layout) {
|
|
51
|
+
x.hb_set_clear(x.hb_subset_input_set(input, HB_SUBSET_SETS_LAYOUT_FEATURE_TAG));
|
|
52
|
+
const drop = x.hb_subset_input_set(input, HB_SUBSET_SETS_DROP_TABLE_TAG);
|
|
53
|
+
for (const t of ["GSUB", "GPOS", "GDEF", "kern", "morx", "mort"]) x.hb_set_add(drop, tag(t));
|
|
54
|
+
}
|
|
55
|
+
x.hb_subset_input_set_flags(input, x.hb_subset_input_get_flags(input) | HB_SUBSET_FLAGS_NOTDEF_OUTLINE);
|
|
56
|
+
const uni = x.hb_subset_input_unicode_set(input);
|
|
57
|
+
for (const cp of codePoints) x.hb_set_add(uni, cp);
|
|
58
|
+
if (opt.glyphs) {
|
|
59
|
+
x.hb_subset_input_set_flags(input, x.hb_subset_input_get_flags(input) | HB_SUBSET_FLAGS_RETAIN_GIDS);
|
|
60
|
+
const gs = x.hb_subset_input_glyph_set(input);
|
|
61
|
+
for (const g of opt.glyphs) x.hb_set_add(gs, g);
|
|
62
|
+
}
|
|
63
|
+
x.hb_subset_input_pin_all_axes_to_default(input, face);
|
|
64
|
+
x.hb_subset_input_pin_axis_location(input, face, tag("wght"), opt.weight ?? 400);
|
|
65
|
+
const sub = x.hb_subset_or_fail(face, input);
|
|
66
|
+
if (!sub) throw new Error("HarfBuzz: subsetting failed");
|
|
67
|
+
const res = x.hb_face_reference_blob(sub);
|
|
68
|
+
const off = x.hb_blob_get_data(res, 0);
|
|
69
|
+
const len = x.hb_blob_get_length(res);
|
|
70
|
+
const out = heap().slice(off, off + len);
|
|
71
|
+
x.hb_blob_destroy(res);
|
|
72
|
+
x.hb_face_destroy(sub);
|
|
73
|
+
if (!len) throw new Error("HarfBuzz: empty subset");
|
|
74
|
+
return out;
|
|
75
|
+
} finally {
|
|
76
|
+
x.hb_subset_input_destroy(input);
|
|
77
|
+
x.hb_face_destroy(face);
|
|
78
|
+
x.free(buf);
|
|
79
|
+
}
|
|
80
|
+
};
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
// src/viewer/engineClient.js
|
|
84
|
+
var assetBase = "";
|
|
85
|
+
function setAssetBase(url) {
|
|
86
|
+
assetBase = String(url || "").replace(/\/$/, "");
|
|
87
|
+
mainStore = null;
|
|
88
|
+
}
|
|
89
|
+
var origin = () => assetBase || window.location.origin;
|
|
90
|
+
var fontsUrl = null;
|
|
91
|
+
var standalone = false;
|
|
92
|
+
function setStandalone({ standalone: on = false, fontsUrl: f = null } = {}) {
|
|
93
|
+
standalone = !!on;
|
|
94
|
+
fontsUrl = f ? String(f).replace(/\/?$/, "/") : null;
|
|
95
|
+
mainStore = null;
|
|
96
|
+
fontList = null;
|
|
97
|
+
fontBytes.clear();
|
|
98
|
+
}
|
|
99
|
+
var fontsBase = () => fontsUrl || `${assetBase}/fonts/`;
|
|
100
|
+
var besideFonts = (file) => fontsUrl ? new URL(`../${file}`, new URL(fontsUrl, typeof location !== "undefined" ? location.href : void 0)).href : `${assetBase}/${file}`;
|
|
101
|
+
var subsetter = createSubsetter(async () => (await fetch(besideFonts("harfbuzz-subset.wasm"))).arrayBuffer());
|
|
102
|
+
var worker = null;
|
|
103
|
+
var workerBroken = false;
|
|
104
|
+
var seq = 0;
|
|
105
|
+
var waiting = /* @__PURE__ */ new Map();
|
|
106
|
+
var mainStore = null;
|
|
107
|
+
var bundledFonts = null;
|
|
108
|
+
var bundledList = null;
|
|
109
|
+
function setBundledFonts(map, list) {
|
|
110
|
+
bundledFonts = map || null;
|
|
111
|
+
bundledList = list || null;
|
|
112
|
+
mainStore = null;
|
|
113
|
+
fontList = null;
|
|
114
|
+
}
|
|
115
|
+
var b64ToBuffer = (b64) => {
|
|
116
|
+
const s = atob(b64);
|
|
117
|
+
const u = new Uint8Array(s.length);
|
|
118
|
+
for (let i = 0; i < s.length; i++) u[i] = s.charCodeAt(i);
|
|
119
|
+
return u.buffer;
|
|
120
|
+
};
|
|
121
|
+
var fontBytes = /* @__PURE__ */ new Map();
|
|
122
|
+
var fetchFont = (k) => {
|
|
123
|
+
if (!fontBytes.has(k)) {
|
|
124
|
+
const p = (async () => {
|
|
125
|
+
const r = await fetch(`${fontsBase()}${fontFile(k)}`);
|
|
126
|
+
if (!r.ok) throw new Error(`Font "${k}" did not load (HTTP ${r.status})`);
|
|
127
|
+
return r.arrayBuffer();
|
|
128
|
+
})();
|
|
129
|
+
p.catch(() => fontBytes.delete(k));
|
|
130
|
+
fontBytes.set(k, p);
|
|
131
|
+
}
|
|
132
|
+
return fontBytes.get(k);
|
|
133
|
+
};
|
|
134
|
+
var getFont = async (k) => {
|
|
135
|
+
if (bundledFonts?.[k]) return b64ToBuffer(bundledFonts[k]);
|
|
136
|
+
return (await fetchFont(k)).slice(0);
|
|
137
|
+
};
|
|
138
|
+
function fontStore() {
|
|
139
|
+
if (!mainStore) mainStore = new FontStore(getFont);
|
|
140
|
+
return mainStore;
|
|
141
|
+
}
|
|
142
|
+
var makeWorker = () => new Worker(new URL("./engine.worker.js", import.meta.url), { type: "module" });
|
|
143
|
+
var fontList = null;
|
|
144
|
+
function customFonts(refresh = false) {
|
|
145
|
+
if (!fontList || refresh) {
|
|
146
|
+
fontList = (bundledList ? Promise.resolve(bundledList) : standalone ? Promise.resolve([]) : fetch(`${assetBase}/api/fonts`).then((r) => r.ok ? r.json() : []).catch(() => [])).then((list) => {
|
|
147
|
+
setCustomFonts(list);
|
|
148
|
+
return list;
|
|
149
|
+
});
|
|
150
|
+
}
|
|
151
|
+
return fontList;
|
|
152
|
+
}
|
|
153
|
+
var faces = /* @__PURE__ */ new Map();
|
|
154
|
+
function loadReportFonts(keys) {
|
|
155
|
+
if (typeof document === "undefined" || !document.fonts || typeof FontFace === "undefined") return Promise.resolve([]);
|
|
156
|
+
return Promise.all(keys.filter((k) => k !== SHAPER).map((k) => {
|
|
157
|
+
if (!faces.has(k)) {
|
|
158
|
+
const bytes = bundledFonts?.[k] ? Promise.resolve(b64ToBuffer(bundledFonts[k])) : fetchFont(k).then((b) => b.slice(0));
|
|
159
|
+
faces.set(k, bytes.then((src) => {
|
|
160
|
+
const face = new FontFace(fontFamilyCss(k), src, { display: "block" });
|
|
161
|
+
document.fonts.add(face);
|
|
162
|
+
return face.load();
|
|
163
|
+
}).then(() => null, (error) => {
|
|
164
|
+
faces.delete(k);
|
|
165
|
+
return { key: k, error };
|
|
166
|
+
}));
|
|
167
|
+
}
|
|
168
|
+
return faces.get(k);
|
|
169
|
+
})).then((results) => results.filter(Boolean));
|
|
170
|
+
}
|
|
171
|
+
var loadModelFonts = (model) => loadReportFonts([.../* @__PURE__ */ new Set([...ALL_FONT_KEYS, ...fontKeysOf(model)])]);
|
|
172
|
+
function getWorker() {
|
|
173
|
+
if (workerBroken || typeof Worker === "undefined" || bundledFonts || fetchPolicy().fetch || typeof window !== "undefined" && /** @type {any} */
|
|
174
|
+
window.__pwSnapshot) return null;
|
|
175
|
+
if (worker) return worker;
|
|
176
|
+
try {
|
|
177
|
+
worker = makeWorker();
|
|
178
|
+
worker.onmessage = (e) => {
|
|
179
|
+
if (e.data.font) {
|
|
180
|
+
const { fid } = e.data;
|
|
181
|
+
getFont(e.data.font).then((buf) => worker?.postMessage({ fid, buf }, [buf]), (err) => worker?.postMessage({ fid, error: String(err?.message || err) }));
|
|
182
|
+
return;
|
|
183
|
+
}
|
|
184
|
+
const w = waiting.get(e.data.id);
|
|
185
|
+
if (!w) return;
|
|
186
|
+
if (e.data.pagesPart) {
|
|
187
|
+
const ps = w.pages || (w.pages = []);
|
|
188
|
+
for (const p of e.data.pagesPart) ps.push(p);
|
|
189
|
+
return;
|
|
190
|
+
}
|
|
191
|
+
if (e.data.inParts) {
|
|
192
|
+
e.data.model.pages = w.pages || [];
|
|
193
|
+
w.pages = [];
|
|
194
|
+
}
|
|
195
|
+
if (e.data.partial) {
|
|
196
|
+
w.onPartial?.(e.data.model);
|
|
197
|
+
return;
|
|
198
|
+
}
|
|
199
|
+
if (e.data.retry) {
|
|
200
|
+
w.onRetry?.(e.data.retry);
|
|
201
|
+
return;
|
|
202
|
+
}
|
|
203
|
+
waiting.delete(e.data.id);
|
|
204
|
+
if (e.data.ok) w.resolve(e.data.model);
|
|
205
|
+
else w.reject(Object.assign(new Error(e.data.error.message), e.data.error));
|
|
206
|
+
};
|
|
207
|
+
worker.onerror = () => {
|
|
208
|
+
workerBroken = true;
|
|
209
|
+
worker = null;
|
|
210
|
+
for (const [, w] of waiting) w.retry();
|
|
211
|
+
waiting.clear();
|
|
212
|
+
};
|
|
213
|
+
} catch {
|
|
214
|
+
workerBroken = true;
|
|
215
|
+
worker = null;
|
|
216
|
+
}
|
|
217
|
+
return worker;
|
|
218
|
+
}
|
|
219
|
+
var bundled = /* @__PURE__ */ new Map();
|
|
220
|
+
function registerReports(map) {
|
|
221
|
+
for (const [k, v] of Object.entries(map || {})) bundled.set(k, v);
|
|
222
|
+
}
|
|
223
|
+
var loadReport = async (rid) => {
|
|
224
|
+
if (bundled.has(rid)) return structuredClone(bundled.get(rid));
|
|
225
|
+
if (standalone) throw new Error(`Report "${rid}" is not loaded: pass it in reports: { "${rid}": definition }, or set server (a self-hosted ReportWright server)`);
|
|
226
|
+
const r = await fetch(`${assetBase}/api/reports/${encodeURIComponent(rid)}`);
|
|
227
|
+
if (!r.ok) throw new Error(`Report "${rid}" not found`);
|
|
228
|
+
return r.json();
|
|
229
|
+
};
|
|
230
|
+
var fetchReport = loadReport;
|
|
231
|
+
async function renderMain(def, params, state, reportId, exportData = false, onRetry = void 0, dataOnly = false) {
|
|
232
|
+
await customFonts();
|
|
233
|
+
return render(def, { parameters: params, state, reportId, exportData, dataOnly, fontStore: fontStore(), baseUrl: origin(), loadReport, fetch: reportFetch(origin(), void 0, { onRetry }) });
|
|
234
|
+
}
|
|
235
|
+
async function renderReport(def, params = {}, state = {}, reportId = void 0, { onPartial, exportData = false, onRetry, dataOnly = false } = {}) {
|
|
236
|
+
const policyKeys = policyKeysIn(def);
|
|
237
|
+
if (policyKeys.length) console.warn(`ReportWright: ${policyKeys.join(", ")} in the report definition ignored: only the page's mountViewer options set allowHosts and unsafeFetch`);
|
|
238
|
+
const w = getWorker();
|
|
239
|
+
if (!w) return renderMain(def, params, state, reportId, exportData, onRetry, dataOnly);
|
|
240
|
+
const fonts = await customFonts();
|
|
241
|
+
return new Promise((resolve, reject) => {
|
|
242
|
+
const id = ++seq;
|
|
243
|
+
waiting.set(id, { resolve, reject, onPartial, onRetry, retry: () => renderMain(def, params, state, reportId, exportData, onRetry, dataOnly).then(resolve, reject) });
|
|
244
|
+
const { allowHosts, unsafeFetch } = fetchPolicy();
|
|
245
|
+
const env = { origin: origin(), standalone, reports: bundled.size ? Object.fromEntries(bundled) : null, fetchPolicy: { allowHosts, unsafeFetch } };
|
|
246
|
+
w.postMessage({ id, def, params, state, reportId, fonts, firstPages: onPartial && !dataOnly ? 2 : 0, exportData, dataOnly, env });
|
|
247
|
+
});
|
|
248
|
+
}
|
|
249
|
+
var usingWorker = () => !!worker && !workerBroken;
|
|
250
|
+
async function iccProfile() {
|
|
251
|
+
const r = await fetch(fontsUrl ? besideFonts("icc/sRGB-v2-magic.icc") : `${origin()}/icc/sRGB-v2-magic.icc`);
|
|
252
|
+
if (!r.ok) throw new Error(`the PDF/A colour profile did not load (HTTP ${r.status})`);
|
|
253
|
+
return new Uint8Array(await r.arrayBuffer());
|
|
254
|
+
}
|
|
255
|
+
async function pdfBlob(model, title, o = {}) {
|
|
256
|
+
const store = fontStore();
|
|
257
|
+
await customFonts();
|
|
258
|
+
await store.load(fontKeysOf(model));
|
|
259
|
+
const { exportPdf } = await import("./chunk-PGP3QA6L.js");
|
|
260
|
+
const bytes = await exportPdf(model, store, {
|
|
261
|
+
title,
|
|
262
|
+
subset: subsetter,
|
|
263
|
+
tagged: o.tagged,
|
|
264
|
+
drillBase: origin(),
|
|
265
|
+
// drill-through links open this viewer, as in the HTML export
|
|
266
|
+
pdfa: o.pdfa ? { icc: await iccProfile() } : void 0,
|
|
267
|
+
// a report's image: a GET under the same rules as its data (no cookies to our other routes or to other sites)
|
|
268
|
+
fetchImage: async (src) => {
|
|
269
|
+
try {
|
|
270
|
+
const r = await reportFetch(origin())(src);
|
|
271
|
+
return r.ok ? new Uint8Array(await r.arrayBuffer()) : null;
|
|
272
|
+
} catch {
|
|
273
|
+
return null;
|
|
274
|
+
}
|
|
275
|
+
}
|
|
276
|
+
});
|
|
277
|
+
return new Blob([bytes], { type: "application/pdf" });
|
|
278
|
+
}
|
|
279
|
+
|
|
280
|
+
// src/viewer/logic.js
|
|
281
|
+
var TOOLBAR_GROUP_KEYS = {
|
|
282
|
+
export: (i) => i.group === "export" && i.id !== "print",
|
|
283
|
+
search: (i) => i.group === "search",
|
|
284
|
+
zoom: (i) => i.group === "zoom",
|
|
285
|
+
navigation: (i) => i.group === "paging"
|
|
286
|
+
};
|
|
287
|
+
var TOOLBAR_ID_KEYS = { sidebar: ["thumbnails", "documentMap"] };
|
|
288
|
+
function arrangeToolbar(builtIns, { hide = [], add = [] } = {}) {
|
|
289
|
+
if (!hide.length && !add.length) return builtIns;
|
|
290
|
+
const out = [...builtIns];
|
|
291
|
+
const taken = new Set(builtIns.map((i) => i.id));
|
|
292
|
+
for (const a of add) {
|
|
293
|
+
if (!a || !a.id || taken.has(a.id)) continue;
|
|
294
|
+
taken.add(a.id);
|
|
295
|
+
const at = out.findIndex((i) => i.id === a.after);
|
|
296
|
+
const item = { ...a, custom: true, group: at >= 0 ? out[at].group : `custom:${a.id}` };
|
|
297
|
+
if (at >= 0) out.splice(at + 1, 0, item);
|
|
298
|
+
else out.push(item);
|
|
299
|
+
}
|
|
300
|
+
const hiddenIds = /* @__PURE__ */ new Set();
|
|
301
|
+
const hiddenBy = [];
|
|
302
|
+
for (const k of hide) {
|
|
303
|
+
if (Object.hasOwn(TOOLBAR_GROUP_KEYS, k)) hiddenBy.push(TOOLBAR_GROUP_KEYS[k]);
|
|
304
|
+
else for (const id of Object.hasOwn(TOOLBAR_ID_KEYS, k) ? TOOLBAR_ID_KEYS[k] : [k]) hiddenIds.add(id);
|
|
305
|
+
}
|
|
306
|
+
let kept = out.filter((i) => i.custom || !(hiddenIds.has(i.id) || hiddenBy.some((f) => f(i))));
|
|
307
|
+
if (!kept.some((i) => i.format)) kept = kept.filter((i) => i.custom || i.id !== "exportOptions");
|
|
308
|
+
return kept;
|
|
309
|
+
}
|
|
310
|
+
function galleyDefinition(def) {
|
|
311
|
+
const pg = resolvePage(def.page);
|
|
312
|
+
if (pg.pageless) return def;
|
|
313
|
+
const m = pg.margins;
|
|
314
|
+
return { ...def, page: { size: "Pageless", width: pg.width, margins: [m.top, m.right, m.bottom, m.left] } };
|
|
315
|
+
}
|
|
316
|
+
function frozenAt(page, y) {
|
|
317
|
+
for (const r of page?.frozen || []) if (y > r.y && y < r.end - r.h) return r;
|
|
318
|
+
return null;
|
|
319
|
+
}
|
|
320
|
+
var escapeRe = (s) => s.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
|
|
321
|
+
function findText(model, q, { matchCase = false, wholeWord = false } = {}) {
|
|
322
|
+
if (!q || !model) return [];
|
|
323
|
+
const W = "[\\p{L}\\p{M}\\p{N}_]";
|
|
324
|
+
const re = new RegExp(wholeWord ? `(?<!${W})${escapeRe(q)}(?!${W})` : escapeRe(q), `u${matchCase ? "" : "i"}`);
|
|
325
|
+
const out = [];
|
|
326
|
+
model.pages.forEach((pg, pi) => {
|
|
327
|
+
const rows = /* @__PURE__ */ new Map();
|
|
328
|
+
pg.items.forEach((it, k) => {
|
|
329
|
+
if (it.t !== "text") return;
|
|
330
|
+
for (const l of it.lines) {
|
|
331
|
+
const key = it.rich ? `r${it.rich.id}${it.rich.l}` : `${k}${l.y}`;
|
|
332
|
+
const r = rows.get(key);
|
|
333
|
+
if (r) r.lines.push(l);
|
|
334
|
+
else rows.set(key, { rich: !!it.rich, size: it.size, lines: [l] });
|
|
335
|
+
}
|
|
336
|
+
});
|
|
337
|
+
for (const { rich, size, lines: row } of rows.values()) {
|
|
338
|
+
row.sort((a, b) => a.x - b.x);
|
|
339
|
+
const text = row.map((l) => l.text).join(rich ? "" : " ");
|
|
340
|
+
if (!re.test(text)) continue;
|
|
341
|
+
const x0 = row[0].x, last = row[row.length - 1];
|
|
342
|
+
const x1 = last.x + (last.w || size * last.text.length * 0.5);
|
|
343
|
+
const y = Math.max(...row.map((l) => l.y));
|
|
344
|
+
out.push({ page: pi, x: x0 - 1, y: y - size * 0.95, w: x1 - x0 + 2, h: size * 1.25, text });
|
|
345
|
+
}
|
|
346
|
+
});
|
|
347
|
+
return out;
|
|
348
|
+
}
|
|
349
|
+
function rangeValue(a, b, p) {
|
|
350
|
+
if (a === "" && b === "") return "";
|
|
351
|
+
const lo = a !== "" ? a : String(p.min ?? b);
|
|
352
|
+
const hi = b !== "" ? b : String(p.max ?? a);
|
|
353
|
+
return `${lo},${hi}`;
|
|
354
|
+
}
|
|
355
|
+
function pathBox(d) {
|
|
356
|
+
let x0 = Infinity, y0 = Infinity, x1 = -Infinity, y1 = -Infinity, cx = 0, cy = 0;
|
|
357
|
+
const add = (x, y) => {
|
|
358
|
+
cx = x;
|
|
359
|
+
cy = y;
|
|
360
|
+
if (x < x0) x0 = x;
|
|
361
|
+
if (x > x1) x1 = x;
|
|
362
|
+
if (y < y0) y0 = y;
|
|
363
|
+
if (y > y1) y1 = y;
|
|
364
|
+
};
|
|
365
|
+
for (const [, c, args] of String(d || "").matchAll(/([MLHVCSQTAZ])([^MLHVCSQTAZ]*)/gi)) {
|
|
366
|
+
const n = (args.match(/-?(?:\d+\.?\d*|\.\d+)(?:e[-+]?\d+)?/gi) || []).map(Number);
|
|
367
|
+
const C = c.toUpperCase();
|
|
368
|
+
if (C === "H") n.forEach((x) => add(x, cy));
|
|
369
|
+
else if (C === "V") n.forEach((y) => add(cx, y));
|
|
370
|
+
else if (C === "A") for (let i = 0; i + 6 < n.length; i += 7) add(n[i + 5], n[i + 6]);
|
|
371
|
+
else if (C !== "Z") for (let i = 0; i + 1 < n.length; i += 2) add(n[i], n[i + 1]);
|
|
372
|
+
}
|
|
373
|
+
return x0 <= x1 ? { x: x0, y: y0, w: x1 - x0, h: y1 - y0 } : null;
|
|
374
|
+
}
|
|
375
|
+
var itemsOf = (page) => (page?.items || []).flatMap((i) => i.t === "field" ? i.draw || [] : [i]);
|
|
376
|
+
function pageLinks(page) {
|
|
377
|
+
const items = itemsOf(page);
|
|
378
|
+
const texts = items.filter((i) => i.t === "text");
|
|
379
|
+
const out = [];
|
|
380
|
+
for (const it of items) {
|
|
381
|
+
if (it.t !== "link" || !it.action) continue;
|
|
382
|
+
let box = { x: it.x, y: it.y, w: it.w, h: it.h };
|
|
383
|
+
if (it.d) {
|
|
384
|
+
const b = pathBox(it.d);
|
|
385
|
+
if (!b) continue;
|
|
386
|
+
box = { ...b, x: b.x + (it.x - (it.x0 ?? it.x)), y: b.y + (it.y - (it.y0 ?? it.y)) };
|
|
387
|
+
}
|
|
388
|
+
if (!(box.w > 0 && box.h > 0)) continue;
|
|
389
|
+
const words = [];
|
|
390
|
+
for (const t of texts) for (const l of t.lines || []) {
|
|
391
|
+
const top = l.y - (t.size || 9) * 0.9, w = l.w || (t.size || 9) * String(l.text).length * 0.5;
|
|
392
|
+
if (l.x < box.x + box.w && l.x + w > box.x && top < box.y + box.h && l.y > box.y) words.push(String(l.text));
|
|
393
|
+
}
|
|
394
|
+
out.push({ action: it.action, ...box, path: !!it.d, tip: it.tip ? String(it.tip) : "", text: words.join(" ").replace(/^[▶▼]\s*/, "").replace(/\s*[↑↓]$/, "").trim() });
|
|
395
|
+
}
|
|
396
|
+
return out.sort((a, b) => Math.abs(a.y - b.y) > 2 ? a.y - b.y : a.x - b.x);
|
|
397
|
+
}
|
|
398
|
+
function readingText(page) {
|
|
399
|
+
const rows = /* @__PURE__ */ new Map();
|
|
400
|
+
for (const it of itemsOf(page)) {
|
|
401
|
+
if (it.t !== "text") continue;
|
|
402
|
+
for (const l of it.lines || []) {
|
|
403
|
+
const k = Math.round(l.y);
|
|
404
|
+
const r = rows.get(k);
|
|
405
|
+
if (r) r.push(l);
|
|
406
|
+
else rows.set(k, [l]);
|
|
407
|
+
}
|
|
408
|
+
}
|
|
409
|
+
return [...rows.entries()].sort((a, b) => a[0] - b[0]).map(([, ls]) => ls.sort((a, b) => a.x - b.x).map((l) => l.text).join(" ").trim()).filter(Boolean);
|
|
410
|
+
}
|
|
411
|
+
var EXPORT_DEFAULTS = { pdfua: false, pdfa: false, formulas: true, html: "tables" };
|
|
412
|
+
function exportOptionsFrom(stored) {
|
|
413
|
+
const { v, ...rest } = stored && typeof stored === "object" ? stored : {};
|
|
414
|
+
if (v !== 2) delete rest.html;
|
|
415
|
+
return { ...EXPORT_DEFAULTS, ...rest };
|
|
416
|
+
}
|
|
417
|
+
function pruneSnapshot(snapshot, defs) {
|
|
418
|
+
const text = defs.map((d) => JSON.stringify(d)).join("\n");
|
|
419
|
+
const seen = /* @__PURE__ */ new Map();
|
|
420
|
+
const used = (k) => {
|
|
421
|
+
let u = seen.get(k);
|
|
422
|
+
if (u === void 0) {
|
|
423
|
+
u = text.includes(JSON.stringify(k).slice(1, -1));
|
|
424
|
+
seen.set(k, u);
|
|
425
|
+
}
|
|
426
|
+
return u;
|
|
427
|
+
};
|
|
428
|
+
const walk = (x) => {
|
|
429
|
+
if (Array.isArray(x)) return x.map(walk);
|
|
430
|
+
if (!x || typeof x !== "object") return x;
|
|
431
|
+
const o = {};
|
|
432
|
+
for (const [k, y] of Object.entries(x)) if (y && typeof y === "object" || used(k)) o[k] = walk(y);
|
|
433
|
+
return o;
|
|
434
|
+
};
|
|
435
|
+
return Object.fromEntries(Object.entries(snapshot).map(([url, x]) => [url, walk(x)]));
|
|
436
|
+
}
|
|
437
|
+
var SERVER_PDF_ROWS = 2e4;
|
|
438
|
+
var SERVER_PDF_PAGES = 800;
|
|
439
|
+
function serverPdfUrl(model, { reportId, params = {}, origin: origin2, timeZone, dirty = false }) {
|
|
440
|
+
if (!reportId || dirty || !model) return null;
|
|
441
|
+
const rows = Object.values(model.stats?.rows || {}).reduce((a, n) => a + (Number(n) || 0), 0);
|
|
442
|
+
if (rows <= SERVER_PDF_ROWS && (model.pages?.length || 0) <= SERVER_PDF_PAGES) return null;
|
|
443
|
+
const q = new URLSearchParams();
|
|
444
|
+
for (const [k, v0] of Object.entries(params)) {
|
|
445
|
+
const v = Array.isArray(v0) ? v0.length > 1 ? void 0 : v0[0] : v0;
|
|
446
|
+
if (v === void 0 && Array.isArray(v0)) return null;
|
|
447
|
+
if (v == null) continue;
|
|
448
|
+
q.set(k, v instanceof Date ? v.toISOString() : String(v));
|
|
449
|
+
}
|
|
450
|
+
if (timeZone) q.set("timeZone", timeZone);
|
|
451
|
+
const s = q.toString();
|
|
452
|
+
return `${origin2}/api/reports/${encodeURIComponent(reportId)}/pdf${s ? `?${s}` : ""}`;
|
|
453
|
+
}
|
|
454
|
+
function paramChoices(def, fetched) {
|
|
455
|
+
const out = { ...fetched };
|
|
456
|
+
for (const p of def?.parameters || []) {
|
|
457
|
+
if (!Array.isArray(p.options) || !p.optionsFrom || !Array.isArray(fetched?.[p.name])) continue;
|
|
458
|
+
const fixed = p.options.map((o) => typeof o === "object" && o ? { value: o.value, label: String(o.label ?? o.value) } : { value: o, label: String(o) });
|
|
459
|
+
const seen = new Set(fixed.map((o) => String(o.value)));
|
|
460
|
+
out[p.name] = [...fixed, ...fetched[p.name].filter((o) => !seen.has(String(o.value)))];
|
|
461
|
+
}
|
|
462
|
+
return out;
|
|
463
|
+
}
|
|
464
|
+
|
|
465
|
+
export {
|
|
466
|
+
setAssetBase,
|
|
467
|
+
origin,
|
|
468
|
+
setStandalone,
|
|
469
|
+
fontsBase,
|
|
470
|
+
subsetter,
|
|
471
|
+
setBundledFonts,
|
|
472
|
+
fontStore,
|
|
473
|
+
customFonts,
|
|
474
|
+
loadReportFonts,
|
|
475
|
+
loadModelFonts,
|
|
476
|
+
registerReports,
|
|
477
|
+
fetchReport,
|
|
478
|
+
renderReport,
|
|
479
|
+
usingWorker,
|
|
480
|
+
pdfBlob,
|
|
481
|
+
arrangeToolbar,
|
|
482
|
+
galleyDefinition,
|
|
483
|
+
frozenAt,
|
|
484
|
+
findText,
|
|
485
|
+
rangeValue,
|
|
486
|
+
pageLinks,
|
|
487
|
+
readingText,
|
|
488
|
+
EXPORT_DEFAULTS,
|
|
489
|
+
exportOptionsFrom,
|
|
490
|
+
pruneSnapshot,
|
|
491
|
+
serverPdfUrl,
|
|
492
|
+
paramChoices
|
|
493
|
+
};
|
|
494
|
+
//# sourceMappingURL=chunk-6TPZ7G74.js.map
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/exporters/subset.js", "../../../src/viewer/engineClient.js", "../../../src/viewer/logic.js"],
|
|
4
|
+
"mappings": "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",
|
|
5
|
+
"names": ["origin"]
|
|
6
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import {
|
|
2
|
+
alignOf,
|
|
3
|
+
exportDocx,
|
|
4
|
+
slices
|
|
5
|
+
} from "./chunk-S2IUUI6N.js";
|
|
6
|
+
import "./chunk-D2NTLAKL.js";
|
|
7
|
+
import "./chunk-F6RMRXIN.js";
|
|
8
|
+
import "./chunk-M6AYND5G.js";
|
|
9
|
+
import "./chunk-Z7MKH66Z.js";
|
|
10
|
+
import "./chunk-OLLMACWA.js";
|
|
11
|
+
export {
|
|
12
|
+
alignOf,
|
|
13
|
+
exportDocx,
|
|
14
|
+
slices
|
|
15
|
+
};
|
|
16
|
+
//# sourceMappingURL=chunk-BRB34AJ2.js.map
|
|
@@ -1,25 +1,28 @@
|
|
|
1
|
-
import {
|
|
2
|
-
formatValue,
|
|
3
|
-
isoDate
|
|
4
|
-
} from "./chunk-GJS242RR.js";
|
|
5
1
|
import {
|
|
6
2
|
drillUrl,
|
|
7
3
|
safeUrl
|
|
8
4
|
} from "./chunk-72S6DETS.js";
|
|
5
|
+
import {
|
|
6
|
+
formatValue,
|
|
7
|
+
isoDate,
|
|
8
|
+
toWall
|
|
9
|
+
} from "./chunk-GJS242RR.js";
|
|
9
10
|
import {
|
|
10
11
|
withDeadline
|
|
11
12
|
} from "./chunk-D2NTLAKL.js";
|
|
12
13
|
import {
|
|
13
14
|
mergedRegions,
|
|
14
15
|
needsTableData
|
|
15
|
-
} from "./chunk-
|
|
16
|
+
} from "./chunk-F6RMRXIN.js";
|
|
16
17
|
import {
|
|
17
18
|
fontFamilyCss,
|
|
18
19
|
pageToSvg
|
|
19
|
-
} from "./chunk-
|
|
20
|
+
} from "./chunk-M6AYND5G.js";
|
|
21
|
+
import "./chunk-Z7MKH66Z.js";
|
|
20
22
|
import "./chunk-OLLMACWA.js";
|
|
21
23
|
|
|
22
24
|
// src/exporters/htmldata.js
|
|
25
|
+
var dateKey = (d, tz) => tz ? toWall(d, tz) : Date.UTC(d.getFullYear(), d.getMonth(), d.getDate(), d.getHours(), d.getMinutes(), d.getSeconds(), d.getMilliseconds());
|
|
23
26
|
var MAX_DATA_ROWS = 2e4;
|
|
24
27
|
var DATA_STRINGS = { pages: "Pages", tables: "Tables", all: "All", filter: "Filter", toggle: "Show or hide the rows of this group", sortAsc: "Sort ascending", sortDesc: "Sort descending" };
|
|
25
28
|
function tablesData(model, o = {}) {
|
|
@@ -42,7 +45,7 @@ function tablesData(model, o = {}) {
|
|
|
42
45
|
rows: r.rows.map((row) => ({
|
|
43
46
|
k: row.kind,
|
|
44
47
|
l: row.level || 0,
|
|
45
|
-
c: row.cells.filter((c) => c.colIndex >= 0).map((c) => [c.colIndex, String(show(c) ?? ""), c.value instanceof Date ? c.value.
|
|
48
|
+
c: row.cells.filter((c) => c.colIndex >= 0).map((c) => [c.colIndex, String(show(c) ?? ""), c.value instanceof Date ? dateKey(c.value, model.timeZone || void 0) : typeof c.value === "number" ? c.value : String(c.value ?? "").toLowerCase(), c.span || 1])
|
|
46
49
|
}))
|
|
47
50
|
}));
|
|
48
51
|
}
|
|
@@ -174,13 +177,29 @@ async function cspHash(text) {
|
|
|
174
177
|
}
|
|
175
178
|
|
|
176
179
|
// src/exporters/html.js
|
|
177
|
-
function exportHtml(model,
|
|
180
|
+
function exportHtml(model, options, legacyOpt) {
|
|
181
|
+
const isStore = (x) => !!x && typeof x.load === "function" && typeof x.get === "function" && x.bytes instanceof Map;
|
|
182
|
+
let fontStore, opt;
|
|
183
|
+
if (isStore(options)) {
|
|
184
|
+
if (!warnedLegacy) {
|
|
185
|
+
warnedLegacy = true;
|
|
186
|
+
console.warn("[reportwright] DEPRECATED: exportHtml(model, fontStore, options) is replaced by exportHtml(model, { fonts: fontStore, ...options }); the old form is removed in 0.9");
|
|
187
|
+
}
|
|
188
|
+
fontStore = options;
|
|
189
|
+
opt = legacyOpt || {};
|
|
190
|
+
} else {
|
|
191
|
+
opt = /** @type {any} */
|
|
192
|
+
options || {};
|
|
193
|
+
fontStore = opt.fonts || opt.fontStore;
|
|
194
|
+
if (!isStore(fontStore)) throw new TypeError("exportHtml(model, { fonts }): fonts must be a FontStore (defaultFontStore() or new FontStore(loader)), got " + (fontStore === void 0 ? "nothing" : typeof fontStore));
|
|
195
|
+
}
|
|
178
196
|
return withDeadline(
|
|
179
197
|
htmlOf(model, fontStore, opt),
|
|
180
198
|
/** @type {any} */
|
|
181
199
|
opt.timeoutMs
|
|
182
200
|
);
|
|
183
201
|
}
|
|
202
|
+
var warnedLegacy = false;
|
|
184
203
|
async function htmlOf(model, fontStore, opt) {
|
|
185
204
|
const used = /* @__PURE__ */ new Map();
|
|
186
205
|
const layout = /* @__PURE__ */ new Set();
|
|
@@ -298,4 +317,4 @@ function b64(u8) {
|
|
|
298
317
|
export {
|
|
299
318
|
exportHtml
|
|
300
319
|
};
|
|
301
|
-
//# sourceMappingURL=chunk-
|
|
320
|
+
//# sourceMappingURL=chunk-DPVJEFKP.js.map
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/exporters/htmldata.js", "../../../src/exporters/html.js"],
|
|
4
|
+
"mappings": "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",
|
|
5
|
+
"names": []
|
|
6
|
+
}
|
|
@@ -7,7 +7,7 @@ import {
|
|
|
7
7
|
mergedRegions,
|
|
8
8
|
needsTableData,
|
|
9
9
|
textRows
|
|
10
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-F6RMRXIN.js";
|
|
11
11
|
import "./chunk-OLLMACWA.js";
|
|
12
12
|
|
|
13
13
|
// src/exporters/csv.js
|
|
@@ -95,4 +95,4 @@ export {
|
|
|
95
95
|
exportCsv,
|
|
96
96
|
writeCsvStream
|
|
97
97
|
};
|
|
98
|
-
//# sourceMappingURL=chunk-
|
|
98
|
+
//# sourceMappingURL=chunk-DXHLIJEY.js.map
|