@bicharts/chart-host 0.5.71 → 0.5.72
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/dist/index.mjs +3 -2
- package/dist/types/qualifyFilter.d.ts +16 -5
- package/package.json +1 -1
package/dist/index.mjs
CHANGED
|
@@ -750,10 +750,11 @@ function computeQualifyFilterView(groups, term) {
|
|
|
750
750
|
if (grp.heading !== null) (any ? showHeadings : hideHeadings).push(grp.heading);
|
|
751
751
|
}
|
|
752
752
|
const filtering = fit.tier !== "all";
|
|
753
|
-
const
|
|
753
|
+
const nameOnlyBelow = fit.tier === "desc" && (ref.tier === "name" || ref.tier === "namePart");
|
|
754
|
+
const openRefusals = filtering && ref.rows.length > 0 && (fit.rows.length === 0 || nameOnlyBelow);
|
|
754
755
|
let note = "none";
|
|
755
756
|
if (filtering) {
|
|
756
|
-
if (fit.tier === "desc") note = "descFallback";
|
|
757
|
+
if (fit.tier === "desc") note = nameOnlyBelow ? "descAndRefusalName" : "descFallback";
|
|
757
758
|
else if (fit.tier === "none") note = openRefusals ? "onlyRefusals" : "noMatch";
|
|
758
759
|
}
|
|
759
760
|
return {
|
|
@@ -216,15 +216,20 @@ export interface QualifyFilterGroup<E> {
|
|
|
216
216
|
*
|
|
217
217
|
* "none" - a name tier answered, or nothing is being filtered. Say nothing: the reader's
|
|
218
218
|
* own word was found where they expected it and needs no explanation.
|
|
219
|
-
* "descFallback" - no name matched; these matched on description. MUST be said - a
|
|
220
|
-
* fall-through is indistinguishable from bad matching.
|
|
219
|
+
* "descFallback" - no name matched ANYWHERE; these matched on description. MUST be said - a
|
|
220
|
+
* silent fall-through is indistinguishable from bad matching.
|
|
221
221
|
* "onlyRefusals" - nothing that FITS matches, but something in the refusal block does. Say where
|
|
222
222
|
* it went; that block is now open.
|
|
223
|
+
* "descAndRefusalName" - both at once, and the state that made this a five-way rather than a
|
|
224
|
+
* four-way decision (2026-09-04). The fitting list answered on DESCRIPTION and
|
|
225
|
+
* the refusal block answered on a NAME, so "no name matches" is a lie told over
|
|
226
|
+
* the top of a visible name match, and the reader's own word needs BOTH halves
|
|
227
|
+
* said: why the rows above look unrelated, and where the row they typed went.
|
|
223
228
|
* "noMatch" - nothing anywhere. NEVER phrase this like "nothing fits your data": one is a
|
|
224
229
|
* statement about a typed string and is fixed with backspace, the other is a
|
|
225
230
|
* statement about the data and is not.
|
|
226
231
|
*/
|
|
227
|
-
export type QualifyFilterNoteKind = "none" | "descFallback" | "onlyRefusals" | "noMatch";
|
|
232
|
+
export type QualifyFilterNoteKind = "none" | "descFallback" | "onlyRefusals" | "descAndRefusalName" | "noMatch";
|
|
228
233
|
export interface QualifyFilterView<E> {
|
|
229
234
|
/** Rows to show, and rows to hide. Two lists rather than one predicate so a host can write
|
|
230
235
|
* them in one pass without asking a Set per element. */
|
|
@@ -243,11 +248,17 @@ export interface QualifyFilterView<E> {
|
|
|
243
248
|
/**
|
|
244
249
|
* Does the refusal block need to be OPEN for this term?
|
|
245
250
|
*
|
|
246
|
-
* True
|
|
247
|
-
*
|
|
251
|
+
* True when the block holds a match the fitting list cannot show the reader. "Why isn't my
|
|
252
|
+
* chart here" is the only question that section is open to ask, and the reader has just
|
|
248
253
|
* asked it by name - the server's own sentence about why it cannot be drawn is already
|
|
249
254
|
* rendered, one collapsed checkbox away.
|
|
250
255
|
*
|
|
256
|
+
* TWO WAYS TO EARN IT, and the second was missing until 2026-09-04: nothing that fits
|
|
257
|
+
* matched at all, OR the only NAME match is down there while the fitting list answered on
|
|
258
|
+
* description. A description match above is not a substitute for the row the reader typed -
|
|
259
|
+
* it is a weaker tier, and leaving the block shut hides the actual answer behind a checkbox
|
|
260
|
+
* the reader has no reason to tick.
|
|
261
|
+
*
|
|
251
262
|
* THE HOST MUST TREAT THIS AS AN OVERRIDE, NOT A SETTING: remember what the reader's own
|
|
252
263
|
* checkbox said before the first override, and put it back the moment this goes false. An
|
|
253
264
|
* auto-expansion that sticks leaves the reader with a section they never opened.
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@bicharts/chart-host",
|
|
3
|
-
"version": "0.5.
|
|
3
|
+
"version": "0.5.72",
|
|
4
4
|
"description": "Run a BIC-generated D3 chart in any web host: compiles the generated render() function, applies the shared option defaults, resolves mark clicks (through tooltip overlays), owns the selection affordance, and translates row indices between cross-filtered charts. The same contract the BIC Power BI visual implements, minus Power BI. React bindings at @bicharts/chart-host/react.",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"type": "module",
|