Skip to content

Commit 4219a9d

Browse files
committed
Read showImported from register.json as fallback
If showImported is not explicitly set via window.bblocksViewer or URL/env params, apply the value from the local register's viewer.showImported field (written by bblocks-postprocess). config.service exports a setShowImported method that owns the precedence logic and normalisation.
1 parent c8721a5 commit 4219a9d

2 files changed

Lines changed: 21 additions & 1 deletion

File tree

src/services/bblock.service.js

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -165,6 +165,9 @@ class BBlockService {
165165
}
166166
this.loadedRegistersCount++;
167167
if (isLocal) {
168+
if (this.localRegister?.viewer?.showImported !== undefined) {
169+
configService.setShowImported(this.localRegister.viewer.showImported);
170+
}
168171
this.bblockPromises.local.resolve(this.bblocks.local);
169172
this.registerPromises.local.resolve(this.localRegister);
170173
}

src/services/config.service.js

Lines changed: 18 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,11 +24,15 @@ if (!register) {
2424
}
2525

2626
// Init showImported
27+
// Track whether showImported was explicitly set (via window.bblocksViewer or URL/env),
28+
// so bblock.service can apply a register-level fallback if not.
29+
let showImportedExplicit = typeof config.showImported !== 'undefined';
2730
let showImportedParam = urlParams.get('showImported');
2831
if (!showImportedParam) {
2932
showImportedParam = import.meta.env.VITE_SHOW_IMPORTED;
3033
}
3134
if (showImportedParam) {
35+
showImportedExplicit = true;
3236
if (typeof showImportedParam === "number" || !isNaN(parseInt(showImportedParam))) {
3337
const showImportedNumber = parseInt(showImportedParam);
3438
config.showImported = showImportedNumber < 0 ? true : showImportedNumber;
@@ -56,5 +60,18 @@ if (import.meta.env.DEV && !config.bblocksFallbackRainbowInstances) {
5660
];
5761
}
5862

59-
export default { config, register: register };
63+
function setShowImported(value) {
64+
if (showImportedExplicit) {
65+
return;
66+
}
67+
if (value === true) {
68+
config.showImported = true;
69+
} else if (!value) {
70+
config.showImported = 0;
71+
} else {
72+
config.showImported = value < 0 ? true : value;
73+
}
74+
}
75+
76+
export default { config, register: register, setShowImported };
6077

0 commit comments

Comments
 (0)