@trebired/frontend 8.1.0 → 8.2.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.
- package/CHANGELOG.md +8 -0
- package/dist/inputs/advanced/index.d.ts +2 -0
- package/dist/inputs/advanced/index.d.ts.map +1 -1
- package/dist/inputs/advanced/input/styles/input.scss +32 -0
- package/dist/inputs/upload/config.d.ts +2 -0
- package/dist/inputs/upload/config.d.ts.map +1 -1
- package/dist/inputs/upload/config.js +1 -0
- package/dist/inputs/upload/config.js.map +1 -1
- package/dist/inputs/upload/dom.d.ts +2 -1
- package/dist/inputs/upload/dom.d.ts.map +1 -1
- package/dist/inputs/upload/dom.js +4 -1
- package/dist/inputs/upload/dom.js.map +1 -1
- package/dist/inputs/upload/manager.d.ts.map +1 -1
- package/dist/inputs/upload/manager.js +3 -2
- package/dist/inputs/upload/manager.js.map +1 -1
- package/dist/inputs/upload/markup.d.ts +1 -0
- package/dist/inputs/upload/markup.d.ts.map +1 -1
- package/dist/inputs/upload/markup.js +1 -0
- package/dist/inputs/upload/markup.js.map +1 -1
- package/dist/inputs/upload/model.d.ts +1 -0
- package/dist/inputs/upload/model.d.ts.map +1 -1
- package/dist/inputs/upload/model.js +1 -0
- package/dist/inputs/upload/model.js.map +1 -1
- package/dist/inputs/upload/state.d.ts +2 -1
- package/dist/inputs/upload/state.d.ts.map +1 -1
- package/dist/inputs/upload/state.js +37 -5
- package/dist/inputs/upload/state.js.map +1 -1
- package/dist/inputs/upload/types.d.ts +2 -0
- package/dist/inputs/upload/types.d.ts.map +1 -1
- package/dist/layout/components/shell/product/sidebar.d.ts.map +1 -1
- package/dist/layout/components/shell/product/sidebar.js +6 -4
- package/dist/layout/components/shell/product/sidebar.js.map +1 -1
- package/dist/logs/styles.scss +0 -18
- package/dist/primitives/components/classes.js +1 -1
- package/dist/primitives/components/classes.js.map +1 -1
- package/dist/search/client/cache.d.ts +16 -0
- package/dist/search/client/cache.d.ts.map +1 -0
- package/dist/search/client/cache.js +132 -0
- package/dist/search/client/cache.js.map +1 -0
- package/dist/search/client/state.d.ts +23 -1
- package/dist/search/client/state.d.ts.map +1 -1
- package/dist/search/client/state.js.map +1 -1
- package/dist/search/client.d.ts +6 -0
- package/dist/search/client.d.ts.map +1 -1
- package/dist/search/client.js +47 -117
- package/dist/search/client.js.map +1 -1
- package/dist/src/inputs/advanced/index.d.ts +2 -0
- package/dist/src/inputs/advanced/index.d.ts.map +1 -1
- package/dist/src/inputs/upload/config.d.ts +2 -0
- package/dist/src/inputs/upload/config.d.ts.map +1 -1
- package/dist/src/inputs/upload/config.js +1 -0
- package/dist/src/inputs/upload/config.js.map +1 -1
- package/dist/src/inputs/upload/dom.d.ts +2 -1
- package/dist/src/inputs/upload/dom.d.ts.map +1 -1
- package/dist/src/inputs/upload/dom.js +4 -1
- package/dist/src/inputs/upload/dom.js.map +1 -1
- package/dist/src/inputs/upload/manager.d.ts.map +1 -1
- package/dist/src/inputs/upload/manager.js +3 -2
- package/dist/src/inputs/upload/manager.js.map +1 -1
- package/dist/src/inputs/upload/markup.d.ts +1 -0
- package/dist/src/inputs/upload/markup.d.ts.map +1 -1
- package/dist/src/inputs/upload/markup.js +1 -0
- package/dist/src/inputs/upload/markup.js.map +1 -1
- package/dist/src/inputs/upload/model.d.ts +1 -0
- package/dist/src/inputs/upload/model.d.ts.map +1 -1
- package/dist/src/inputs/upload/model.js +1 -0
- package/dist/src/inputs/upload/model.js.map +1 -1
- package/dist/src/inputs/upload/state.d.ts +2 -1
- package/dist/src/inputs/upload/state.d.ts.map +1 -1
- package/dist/src/inputs/upload/state.js +37 -5
- package/dist/src/inputs/upload/state.js.map +1 -1
- package/dist/src/inputs/upload/types.d.ts +2 -0
- package/dist/src/inputs/upload/types.d.ts.map +1 -1
- package/dist/src/layout/components/shell/product/sidebar.d.ts.map +1 -1
- package/dist/src/layout/components/shell/product/sidebar.js +6 -4
- package/dist/src/layout/components/shell/product/sidebar.js.map +1 -1
- package/dist/src/primitives/components/classes.js +1 -1
- package/dist/src/primitives/components/classes.js.map +1 -1
- package/dist/src/search/client/cache.d.ts +16 -0
- package/dist/src/search/client/cache.d.ts.map +1 -0
- package/dist/src/search/client/cache.js +132 -0
- package/dist/src/search/client/cache.js.map +1 -0
- package/dist/src/search/client/state.d.ts +23 -1
- package/dist/src/search/client/state.d.ts.map +1 -1
- package/dist/src/search/client/state.js.map +1 -1
- package/dist/src/search/client.d.ts +6 -0
- package/dist/src/search/client.d.ts.map +1 -1
- package/dist/src/search/client.js +47 -117
- package/dist/src/search/client.js.map +1 -1
- package/dist/src/tooltip/index.d.ts.map +1 -1
- package/dist/src/tooltip/index.js +24 -0
- package/dist/src/tooltip/index.js.map +1 -1
- package/dist/tooltip/index.d.ts.map +1 -1
- package/dist/tooltip/index.js +24 -0
- package/dist/tooltip/index.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sidebar.d.ts","sourceRoot":"","sources":["../../../../../../src/layout/components/shell/product/sidebar.tsx"],"names":[],"mappings":"AAeA,OAAO,KAAK,EACV,4BAA4B,EAC5B,gCAAgC,EAChC,uCAAuC,EACvC,8BAA8B,EAC9B,sCAAsC,EACtC,wBAAwB,EACxB,4BAA4B,EAC7B,MAAM,YAAY,CAAC;AASpB,iBAAS,yBAAyB,CAAC,KAAK,EAAE,8BAA8B,+BAYvE;AAED,iBAAS,2BAA2B,CAAC,KAAK,EAAE,gCAAgC,+BAU3E;AAcD,iBAAS,iCAAiC,CACxC,KAAK,EAAE,sCAAsC,+BA+B9C;AAED,iBAAS,kCAAkC,CACzC,KAAK,EAAE,uCAAuC,+
|
|
1
|
+
{"version":3,"file":"sidebar.d.ts","sourceRoot":"","sources":["../../../../../../src/layout/components/shell/product/sidebar.tsx"],"names":[],"mappings":"AAeA,OAAO,KAAK,EACV,4BAA4B,EAC5B,gCAAgC,EAChC,uCAAuC,EACvC,8BAA8B,EAC9B,sCAAsC,EACtC,wBAAwB,EACxB,4BAA4B,EAC7B,MAAM,YAAY,CAAC;AASpB,iBAAS,yBAAyB,CAAC,KAAK,EAAE,8BAA8B,+BAYvE;AAED,iBAAS,2BAA2B,CAAC,KAAK,EAAE,gCAAgC,+BAU3E;AAcD,iBAAS,iCAAiC,CACxC,KAAK,EAAE,sCAAsC,+BA+B9C;AAED,iBAAS,kCAAkC,CACzC,KAAK,EAAE,uCAAuC,+BA6D/C;AAqBD,iBAAS,uBAAuB,CAAC,KAAK,EAAE,4BAA4B,+BA8CnE;AAED,iBAAS,uBAAuB,CAAC,KAAK,EAAE,4BAA4B,+BAcnE;AAED,iBAAS,mBAAmB,CAAC,KAAK,EAAE,wBAAwB,+BAkB3D;AAED,OAAO,EACL,uBAAuB,EACvB,mBAAmB,EACnB,2BAA2B,EAC3B,kCAAkC,EAClC,yBAAyB,EACzB,iCAAiC,EACjC,uBAAuB,GACxB,CAAC"}
|
|
@@ -39,7 +39,8 @@ function ProductShellSidebarDefaultControls(props) {
|
|
|
39
39
|
const minimizeLabel = productShellLabel(labels, "minimize");
|
|
40
40
|
const themeLabel = productShellLabel(labels, "toggleTheme");
|
|
41
41
|
const aboutLabel = productShellLabel(labels, "about");
|
|
42
|
-
|
|
42
|
+
const hasIconOnlyControls = /\bicon\b/u.test(buttonClassName);
|
|
43
|
+
return (_jsx(ProductShellSidebarControls, { ...rest, minimize: (_jsx(ProductShellSidebarMinimizeButton, { controls: controlsId, className: buttonClassName, expandedIcon: productShellControlIcon("remixicon arrow-left-s-line"), labels: labels, minimizedIcon: productShellControlIcon("remixicon arrow-right-s-line"), title: minimizeLabel })), theme: (_jsx(ProductShellThemeToggle, { dark: dark, id: `${prefix}_theme_toggle_btn`, light: light, modes: modes, className: buttonClassName, ...(hasIconOnlyControls ? frontendDataAttrs({ "tooltip": themeLabel }) : {}), icon: productShellThemeIcon(theme), labels: labels, theme: theme })), language: locale_switcher({ id: `${prefix}_lang_switch_btn`, lang }), about: (_jsx(ProductShellAboutButton, { href: aboutHref, className: buttonClassName, icon: productShellControlIcon("remixicon information-2-line"), labels: labels, productName: productName, title: aboutLabel })) }));
|
|
43
44
|
}
|
|
44
45
|
function productShellThemeSelect(props) {
|
|
45
46
|
return (_jsx(ThemeSelect, { "aria-hidden": "true", className: `popover popover-portaled ${frontendClassName("theme-switch-popover")}`, dark: props.dark, ...frontendDataAttrs({ "popover": "" }), id: props.popoverId, inert: true, label: props.label, light: props.light, modes: props.modes, optionClassName: "popover-item", value: props.theme, variant: "buttons" }));
|
|
@@ -50,6 +51,7 @@ function ProductShellThemeToggle(props) {
|
|
|
50
51
|
const id = String(rest.id || `${FRONTEND_PREFIX}_product_shell_theme_control`);
|
|
51
52
|
const themePopoverId = popoverId || `${id}_menu`;
|
|
52
53
|
const body = children || icon;
|
|
54
|
+
const iconOnly = !children;
|
|
53
55
|
return (_jsxs(_Fragment, { children: [button({
|
|
54
56
|
...rest,
|
|
55
57
|
"aria-controls": themePopoverId,
|
|
@@ -59,10 +61,10 @@ function ProductShellThemeToggle(props) {
|
|
|
59
61
|
children: body,
|
|
60
62
|
className: classNames(frontendClassName("product-shell-theme-control"), className),
|
|
61
63
|
[frontendDataAttr("popover-trigger")]: "",
|
|
62
|
-
icon:
|
|
64
|
+
icon: iconOnly,
|
|
63
65
|
id,
|
|
64
|
-
title: String(label),
|
|
65
|
-
tooltip:
|
|
66
|
+
title: iconOnly ? String(label) : undefined,
|
|
67
|
+
tooltip: iconOnly,
|
|
66
68
|
type,
|
|
67
69
|
}), productShellThemeSelect({
|
|
68
70
|
dark,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sidebar.js","sourceRoot":"","sources":["../../../../../../src/layout/components/shell/product/sidebar.tsx"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"sidebar.js","sourceRoot":"","sources":["../../../../../../src/layout/components/shell/product/sidebar.tsx"],"names":[],"mappings":"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"}
|
|
@@ -12,7 +12,7 @@ function primitiveButtonTone(options) {
|
|
|
12
12
|
return tone || "";
|
|
13
13
|
}
|
|
14
14
|
function primitiveButtonClassName(options = {}) {
|
|
15
|
-
return appendClassName("btn", options.icon ? "icon" : "", options.size, primitiveButtonTone(options), options.active ? "active" : "", options.tooltip ? "has-tooltip" : "", options.transparent ? "transparent" : "", options.className);
|
|
15
|
+
return appendClassName("btn", options.icon ? "icon" : "", options.size, primitiveButtonTone(options), options.active ? "active" : "", options.icon && options.tooltip ? "has-tooltip" : "", options.transparent ? "transparent" : "", options.className);
|
|
16
16
|
}
|
|
17
17
|
function primitiveStackClassName(options = {}) {
|
|
18
18
|
return joinClassNames("column", primitiveGapClass(options.gap), options.center ? "center" : "", options.horizontalCenter ? "hor-center" : "", options.verticalCenter ? "ver-center" : "", options.grow ? "grow" : "", options.noShrink ? "no-shrink" : "", options.className);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"classes.js","sourceRoot":"","sources":["../../../../src/primitives/components/classes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAwEtE,SAAS,iBAAiB,CAAC,GAAkB;IAC3C,OAAO,GAAG,CAAC,CAAC,CAAC,OAAO,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;AACjC,CAAC;AAED,SAAS,qBAAqB,CAAC,OAA0B;IACvD,OAAO,OAAO,CAAC,CAAC,CAAC,WAAW,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;AAC7C,CAAC;AAED,SAAS,mBAAmB,CAAC,OAAoC;IAC/D,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC,OAAO,CAAC;IAC7C,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,SAAS;QAAE,OAAO,EAAE,CAAC;IACxD,OAAO,IAAI,IAAI,EAAE,CAAC;AACpB,CAAC;AAED,SAAS,wBAAwB,CAAC,UAAuC,EAAE;IACzE,OAAO,eAAe,CACpB,KAAK,EACL,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAC1B,OAAO,CAAC,IAAI,EACZ,mBAAmB,CAAC,OAAO,CAAC,EAC5B,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,EAC9B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,
|
|
1
|
+
{"version":3,"file":"classes.js","sourceRoot":"","sources":["../../../../src/primitives/components/classes.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { SearchFilterRecord, SearchItemRecord, SearchPanelBinding } from "./state.js";
|
|
2
|
+
declare function refreshPanelCache(panel: SearchPanelBinding): import("./state.js").SearchPanelCache;
|
|
3
|
+
declare function panelCache(panel: SearchPanelBinding): import("./state.js").SearchPanelCache;
|
|
4
|
+
declare function getSearchInputs(panel: SearchPanelBinding): import("./state.js").SearchInput[];
|
|
5
|
+
declare function getFilterInputs(panel: SearchPanelBinding): SearchFilterRecord[];
|
|
6
|
+
declare function getCombinedQuery(panel: SearchPanelBinding): string;
|
|
7
|
+
declare function itemMatchesFilters(item: SearchItemRecord, filters: SearchFilterRecord[]): boolean;
|
|
8
|
+
declare function itemMatchesQuery(item: SearchItemRecord, query: string): boolean;
|
|
9
|
+
declare function filterDetails(filters: SearchFilterRecord[]): {
|
|
10
|
+
input: import("./state.js").SearchInput;
|
|
11
|
+
key: string;
|
|
12
|
+
value: string;
|
|
13
|
+
}[];
|
|
14
|
+
declare function syncDropdownSections(panel: SearchPanelBinding, visibleSections: Set<string>): void;
|
|
15
|
+
export { filterDetails, getCombinedQuery, getFilterInputs, getSearchInputs, itemMatchesFilters, itemMatchesQuery, panelCache, refreshPanelCache, syncDropdownSections, };
|
|
16
|
+
//# sourceMappingURL=cache.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cache.d.ts","sourceRoot":"","sources":["../../../../src/search/client/cache.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EACV,kBAAkB,EAClB,gBAAgB,EAChB,kBAAkB,EACnB,MAAM,YAAY,CAAC;AAuFpB,iBAAS,iBAAiB,CAAC,KAAK,EAAE,kBAAkB,yCAWnD;AAED,iBAAS,UAAU,CAAC,KAAK,EAAE,kBAAkB,yCAE5C;AAED,iBAAS,eAAe,CAAC,KAAK,EAAE,kBAAkB,sCAEjD;AAED,iBAAS,eAAe,CAAC,KAAK,EAAE,kBAAkB,wBAEjD;AAED,iBAAS,gBAAgB,CAAC,KAAK,EAAE,kBAAkB,UAKlD;AAMD,iBAAS,kBAAkB,CAAC,IAAI,EAAE,gBAAgB,EAAE,OAAO,EAAE,kBAAkB,EAAE,WAShF;AAED,iBAAS,gBAAgB,CAAC,IAAI,EAAE,gBAAgB,EAAE,KAAK,EAAE,MAAM,WAG9D;AAED,iBAAS,aAAa,CAAC,OAAO,EAAE,kBAAkB,EAAE;;;;IAMnD;AAED,iBAAS,oBAAoB,CAAC,KAAK,EAAE,kBAAkB,EAAE,eAAe,EAAE,GAAG,CAAC,MAAM,CAAC,QAQpF;AAED,OAAO,EACL,aAAa,EACb,gBAAgB,EAChB,eAAe,EACf,eAAe,EACf,kBAAkB,EAClB,gBAAgB,EAChB,UAAU,EACV,iBAAiB,EACjB,oBAAoB,GACrB,CAAC"}
|
|
@@ -0,0 +1,132 @@
|
|
|
1
|
+
import { searchText, toText } from "../../../search/model.js";
|
|
2
|
+
import { isInUnhydratedIsland } from "./dom.js";
|
|
3
|
+
import { searchPanelHostFromNode } from "./hosts.js";
|
|
4
|
+
import { firstFormControl, normalizeSearchKey, readSearchFilterConfig, readSearchItemConfig, searchFilterValues, tagName, } from "./config.js";
|
|
5
|
+
import { registeredSearchControls } from "./registry.js";
|
|
6
|
+
function controlsForPanel(panel) {
|
|
7
|
+
if (!panel.familyKey)
|
|
8
|
+
return [];
|
|
9
|
+
return registeredSearchControls(panel.familyKey).filter((node) => !isInUnhydratedIsland(node));
|
|
10
|
+
}
|
|
11
|
+
function belongsToPanel(panel, node) {
|
|
12
|
+
const host = searchPanelHostFromNode(node);
|
|
13
|
+
return !host || host === panel.host;
|
|
14
|
+
}
|
|
15
|
+
function collectHosts(panel, rootSelector, controlSelector) {
|
|
16
|
+
const out = new Set();
|
|
17
|
+
if (rootSelector) {
|
|
18
|
+
Array.from(panel.root.querySelectorAll(rootSelector)).forEach((node) => {
|
|
19
|
+
if (node instanceof HTMLElement && belongsToPanel(panel, node))
|
|
20
|
+
out.add(node);
|
|
21
|
+
});
|
|
22
|
+
}
|
|
23
|
+
if (controlSelector) {
|
|
24
|
+
controlsForPanel(panel).forEach((controls) => {
|
|
25
|
+
Array.from(controls.querySelectorAll(controlSelector)).forEach((node) => {
|
|
26
|
+
if (node instanceof HTMLElement)
|
|
27
|
+
out.add(node);
|
|
28
|
+
});
|
|
29
|
+
});
|
|
30
|
+
}
|
|
31
|
+
return Array.from(out);
|
|
32
|
+
}
|
|
33
|
+
function readSearchInputs(panel) {
|
|
34
|
+
return collectHosts(panel, "search-query-input", "search-query-input")
|
|
35
|
+
.map(firstFormControl)
|
|
36
|
+
.filter((input) => input instanceof HTMLInputElement || input instanceof HTMLSelectElement);
|
|
37
|
+
}
|
|
38
|
+
function readFilterRecords(panel) {
|
|
39
|
+
return collectHosts(panel, "search-filter", "search-filter")
|
|
40
|
+
.map((host) => {
|
|
41
|
+
const input = firstFormControl(host);
|
|
42
|
+
const config = readSearchFilterConfig(host);
|
|
43
|
+
return {
|
|
44
|
+
input,
|
|
45
|
+
key: normalizeSearchKey(config.attr),
|
|
46
|
+
};
|
|
47
|
+
})
|
|
48
|
+
.filter((filter) => Boolean(filter.input && filter.key));
|
|
49
|
+
}
|
|
50
|
+
function getEmptyNodes(panel) {
|
|
51
|
+
return collectHosts(panel, "search-empty, [data-search-empty-slot]", "");
|
|
52
|
+
}
|
|
53
|
+
function getSearchItems(panel) {
|
|
54
|
+
return collectHosts(panel, "search-item, [data-search-item]", "");
|
|
55
|
+
}
|
|
56
|
+
function getSectionHeadings(panel) {
|
|
57
|
+
return Array.from(panel.root.querySelectorAll("[data-dropdown-section-heading]"));
|
|
58
|
+
}
|
|
59
|
+
function readSearchItemRecord(item) {
|
|
60
|
+
const config = readSearchItemConfig(item);
|
|
61
|
+
return {
|
|
62
|
+
element: item,
|
|
63
|
+
exclude: config.exclude === true,
|
|
64
|
+
filters: config.filters,
|
|
65
|
+
section: tagName(item) === "li"
|
|
66
|
+
? toText(item.getAttribute("data-dropdown-section"))
|
|
67
|
+
: "",
|
|
68
|
+
text: searchText(config.text || item.textContent),
|
|
69
|
+
};
|
|
70
|
+
}
|
|
71
|
+
function refreshPanelCache(panel) {
|
|
72
|
+
const items = getSearchItems(panel).map(readSearchItemRecord);
|
|
73
|
+
panel.cache = {
|
|
74
|
+
emptyNodes: getEmptyNodes(panel),
|
|
75
|
+
filters: readFilterRecords(panel),
|
|
76
|
+
inputs: readSearchInputs(panel),
|
|
77
|
+
items,
|
|
78
|
+
sectionHeadings: getSectionHeadings(panel),
|
|
79
|
+
total: items.filter((item) => !item.exclude).length,
|
|
80
|
+
};
|
|
81
|
+
return panel.cache;
|
|
82
|
+
}
|
|
83
|
+
function panelCache(panel) {
|
|
84
|
+
return panel.cache || refreshPanelCache(panel);
|
|
85
|
+
}
|
|
86
|
+
function getSearchInputs(panel) {
|
|
87
|
+
return panelCache(panel).inputs;
|
|
88
|
+
}
|
|
89
|
+
function getFilterInputs(panel) {
|
|
90
|
+
return panelCache(panel).filters;
|
|
91
|
+
}
|
|
92
|
+
function getCombinedQuery(panel) {
|
|
93
|
+
return getSearchInputs(panel)
|
|
94
|
+
.map((input) => searchText(input.value))
|
|
95
|
+
.filter(Boolean)
|
|
96
|
+
.join(" ");
|
|
97
|
+
}
|
|
98
|
+
function filterValue(filter) {
|
|
99
|
+
return toText(filter.input.value, "all");
|
|
100
|
+
}
|
|
101
|
+
function itemMatchesFilters(item, filters) {
|
|
102
|
+
return filters.every((filter) => {
|
|
103
|
+
if (!filter.key)
|
|
104
|
+
return true;
|
|
105
|
+
const value = filterValue(filter);
|
|
106
|
+
if (!value || value === "all")
|
|
107
|
+
return true;
|
|
108
|
+
return searchFilterValues(item.filters, filter.key).includes(value);
|
|
109
|
+
});
|
|
110
|
+
}
|
|
111
|
+
function itemMatchesQuery(item, query) {
|
|
112
|
+
if (!query)
|
|
113
|
+
return true;
|
|
114
|
+
return item.text.includes(query);
|
|
115
|
+
}
|
|
116
|
+
function filterDetails(filters) {
|
|
117
|
+
return filters.map((filter) => ({
|
|
118
|
+
input: filter.input,
|
|
119
|
+
key: filter.key,
|
|
120
|
+
value: filterValue(filter),
|
|
121
|
+
}));
|
|
122
|
+
}
|
|
123
|
+
function syncDropdownSections(panel, visibleSections) {
|
|
124
|
+
panelCache(panel).sectionHeadings.forEach((sectionNode) => {
|
|
125
|
+
const section = toText(sectionNode.getAttribute("data-dropdown-section-heading"));
|
|
126
|
+
if (!section)
|
|
127
|
+
return;
|
|
128
|
+
sectionNode.hidden = !visibleSections.has(section);
|
|
129
|
+
});
|
|
130
|
+
}
|
|
131
|
+
export { filterDetails, getCombinedQuery, getFilterInputs, getSearchInputs, itemMatchesFilters, itemMatchesQuery, panelCache, refreshPanelCache, syncDropdownSections, };
|
|
132
|
+
//# sourceMappingURL=cache.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cache.js","sourceRoot":"","sources":["../../../../src/search/client/cache.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,30 @@
|
|
|
1
1
|
type SearchPanelBinding = {
|
|
2
|
+
cache: SearchPanelCache | null;
|
|
2
3
|
familyKey: string;
|
|
3
4
|
host: HTMLElement;
|
|
5
|
+
renderFrame: number;
|
|
4
6
|
root: HTMLElement;
|
|
5
7
|
};
|
|
8
|
+
type SearchInput = HTMLInputElement | HTMLSelectElement;
|
|
9
|
+
type SearchFilterRecord = {
|
|
10
|
+
input: SearchInput;
|
|
11
|
+
key: string;
|
|
12
|
+
};
|
|
13
|
+
type SearchItemRecord = {
|
|
14
|
+
element: HTMLElement;
|
|
15
|
+
exclude: boolean;
|
|
16
|
+
filters: Record<string, unknown> | undefined;
|
|
17
|
+
section: string;
|
|
18
|
+
text: string;
|
|
19
|
+
};
|
|
20
|
+
type SearchPanelCache = {
|
|
21
|
+
emptyNodes: HTMLElement[];
|
|
22
|
+
filters: SearchFilterRecord[];
|
|
23
|
+
inputs: SearchInput[];
|
|
24
|
+
items: SearchItemRecord[];
|
|
25
|
+
sectionHeadings: HTMLElement[];
|
|
26
|
+
total: number;
|
|
27
|
+
};
|
|
6
28
|
declare const SEARCH_PANEL_SELECTOR = "search-panel";
|
|
7
29
|
declare const SEARCH_CONTROLS_SELECTOR = "search-controls";
|
|
8
30
|
declare const panelBindings: WeakMap<HTMLElement, SearchPanelBinding>;
|
|
@@ -10,5 +32,5 @@ declare const controlBindings: WeakSet<HTMLElement>;
|
|
|
10
32
|
declare const inputBindings: WeakMap<HTMLElement, Set<string>>;
|
|
11
33
|
declare function panelToken(panel: SearchPanelBinding): string;
|
|
12
34
|
export { SEARCH_CONTROLS_SELECTOR, SEARCH_PANEL_SELECTOR, controlBindings, inputBindings, panelBindings, panelToken, };
|
|
13
|
-
export type { SearchPanelBinding };
|
|
35
|
+
export type { SearchFilterRecord, SearchInput, SearchItemRecord, SearchPanelBinding, SearchPanelCache, };
|
|
14
36
|
//# sourceMappingURL=state.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"state.d.ts","sourceRoot":"","sources":["../../../../src/search/client/state.ts"],"names":[],"mappings":"AAAA,KAAK,kBAAkB,GAAG;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,WAAW,CAAC;IAClB,IAAI,EAAE,WAAW,CAAC;CACnB,CAAC;AAEF,QAAA,MAAM,qBAAqB,iBAAiB,CAAC;AAC7C,QAAA,MAAM,wBAAwB,oBAAoB,CAAC;AACnD,QAAA,MAAM,aAAa,0CAAiD,CAAC;AACrE,QAAA,MAAM,eAAe,sBAA6B,CAAC;AACnD,QAAA,MAAM,aAAa,mCAA0C,CAAC;AAK9D,iBAAS,UAAU,CAAC,KAAK,EAAE,kBAAkB,UAO5C;AAED,OAAO,EACL,wBAAwB,EACxB,qBAAqB,EACrB,eAAe,EACf,aAAa,EACb,aAAa,EACb,UAAU,GACX,CAAC;AACF,YAAY,
|
|
1
|
+
{"version":3,"file":"state.d.ts","sourceRoot":"","sources":["../../../../src/search/client/state.ts"],"names":[],"mappings":"AAAA,KAAK,kBAAkB,GAAG;IACxB,KAAK,EAAE,gBAAgB,GAAG,IAAI,CAAC;IAC/B,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,WAAW,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,WAAW,CAAC;CACnB,CAAC;AAEF,KAAK,WAAW,GAAG,gBAAgB,GAAG,iBAAiB,CAAC;AAExD,KAAK,kBAAkB,GAAG;IACxB,KAAK,EAAE,WAAW,CAAC;IACnB,GAAG,EAAE,MAAM,CAAC;CACb,CAAC;AAEF,KAAK,gBAAgB,GAAG;IACtB,OAAO,EAAE,WAAW,CAAC;IACrB,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAC,SAAS,CAAC;IAC3C,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,KAAK,gBAAgB,GAAG;IACtB,UAAU,EAAE,WAAW,EAAE,CAAC;IAC1B,OAAO,EAAE,kBAAkB,EAAE,CAAC;IAC9B,MAAM,EAAE,WAAW,EAAE,CAAC;IACtB,KAAK,EAAE,gBAAgB,EAAE,CAAC;IAC1B,eAAe,EAAE,WAAW,EAAE,CAAC;IAC/B,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,QAAA,MAAM,qBAAqB,iBAAiB,CAAC;AAC7C,QAAA,MAAM,wBAAwB,oBAAoB,CAAC;AACnD,QAAA,MAAM,aAAa,0CAAiD,CAAC;AACrE,QAAA,MAAM,eAAe,sBAA6B,CAAC;AACnD,QAAA,MAAM,aAAa,mCAA0C,CAAC;AAK9D,iBAAS,UAAU,CAAC,KAAK,EAAE,kBAAkB,UAO5C;AAED,OAAO,EACL,wBAAwB,EACxB,qBAAqB,EACrB,eAAe,EACf,aAAa,EACb,aAAa,EACb,UAAU,GACX,CAAC;AACF,YAAY,EACV,kBAAkB,EAClB,WAAW,EACX,gBAAgB,EAChB,kBAAkB,EAClB,gBAAgB,GACjB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"state.js","sourceRoot":"","sources":["../../../../src/search/client/state.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"state.js","sourceRoot":"","sources":["../../../../src/search/client/state.ts"],"names":[],"mappings":"AAgCA,MAAM,qBAAqB,GAAG,cAAc,CAAC;AAC7C,MAAM,wBAAwB,GAAG,iBAAiB,CAAC;AACnD,MAAM,aAAa,GAAG,IAAI,OAAO,EAAmC,CAAC;AACrE,MAAM,eAAe,GAAG,IAAI,OAAO,EAAe,CAAC;AACnD,MAAM,aAAa,GAAG,IAAI,OAAO,EAA4B,CAAC;AAC9D,MAAM,WAAW,GAAG,IAAI,OAAO,EAAuB,CAAC;AAEvD,IAAI,gBAAgB,GAAG,CAAC,CAAC;AAEzB,SAAS,UAAU,CAAC,KAAyB;IAC3C,MAAM,QAAQ,GAAG,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC7C,IAAI,QAAQ;QAAE,OAAO,QAAQ,CAAC;IAC9B,gBAAgB,IAAI,CAAC,CAAC;IACtB,MAAM,KAAK,GAAG,gBAAgB,gBAAgB,EAAE,CAAC;IACjD,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACnC,OAAO,KAAK,CAAC;AACf,CAAC;AAED,OAAO,EACL,wBAAwB,EACxB,qBAAqB,EACrB,eAAe,EACf,aAAa,EACb,aAAa,EACb,UAAU,GACX,CAAC"}
|
|
@@ -1,19 +1,25 @@
|
|
|
1
1
|
import type { BindRoot } from "../../dom/index.d.ts";
|
|
2
2
|
import { SEARCH_CONTROLS_SELECTOR, SEARCH_PANEL_SELECTOR, type SearchPanelBinding } from "./client/state.js";
|
|
3
3
|
declare function bindSearchPanel(host: HTMLElement | null): {
|
|
4
|
+
cache: any;
|
|
4
5
|
familyKey: string;
|
|
5
6
|
host: HTMLElement;
|
|
7
|
+
renderFrame: number;
|
|
6
8
|
root: HTMLElement;
|
|
7
9
|
};
|
|
8
10
|
declare function bindSearchControls(host: HTMLElement | null): HTMLElement;
|
|
9
11
|
declare function bind(target?: BindRoot): {
|
|
12
|
+
cache: any;
|
|
10
13
|
familyKey: string;
|
|
11
14
|
host: HTMLElement;
|
|
15
|
+
renderFrame: number;
|
|
12
16
|
root: HTMLElement;
|
|
13
17
|
}[];
|
|
14
18
|
declare function bindSearchRoot(root: HTMLElement | null): {
|
|
19
|
+
cache: any;
|
|
15
20
|
familyKey: string;
|
|
16
21
|
host: HTMLElement;
|
|
22
|
+
renderFrame: number;
|
|
17
23
|
root: HTMLElement;
|
|
18
24
|
};
|
|
19
25
|
declare function refreshSearchResults(target?: BindRoot): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../src/search/client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../src/search/client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAgC9C,OAAO,EACL,wBAAwB,EACxB,qBAAqB,EAKrB,KAAK,kBAAkB,EACxB,MAAM,mBAAmB,CAAC;AA6F3B,iBAAS,eAAe,CAAC,IAAI,EAAE,WAAW,GAAG,IAAI;;;;;;EAchD;AAQD,iBAAS,kBAAkB,CAAC,IAAI,EAAE,WAAW,GAAG,IAAI,eAgBnD;AAaD,iBAAS,IAAI,CAAC,MAAM,GAAE,QAAmB;;;;;;IAGxC;AAED,iBAAS,cAAc,CAAC,IAAI,EAAE,WAAW,GAAG,IAAI;;;;;;EAQ/C;AAED,iBAAS,oBAAoB,CAAC,MAAM,GAAE,QAAmB,QAYxD;AAED,iBAAS,iBAAiB;;;;;;;GAGzB;AAED,QAAA,MAAM,aAAa;;;;;;;EAOjB,CAAC;AAEH,OAAO,EACL,wBAAwB,EACxB,qBAAqB,EACrB,IAAI,EACJ,cAAc,IAAI,QAAQ,EAC1B,kBAAkB,EAClB,eAAe,EACf,iBAAiB,IAAI,IAAI,EACzB,oBAAoB,EACpB,aAAa,GACd,CAAC;AACF,YAAY,EAAE,kBAAkB,EAAE,CAAC;AACnC,eAAe,aAAa,CAAC"}
|
|
@@ -1,8 +1,9 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { toText } from "./model.js";
|
|
2
2
|
import { firstNonScriptHTMLElementChild, isInUnhydratedIsland, } from "./client/dom.js";
|
|
3
3
|
import { searchControlHostsFromNode, searchPanelHostFromNode, searchPanelHostsFromNode, } from "./client/hosts.js";
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
4
|
+
import { filterDetails, getCombinedQuery, getFilterInputs, getSearchInputs, itemMatchesFilters, itemMatchesQuery, panelCache, refreshPanelCache, syncDropdownSections, } from "./client/cache.js";
|
|
5
|
+
import { readSearchControlsConfig, readSearchPanelConfig, } from "./client/config.js";
|
|
6
|
+
import { registerFamilyElement, registeredSearchPanels, searchControlsByFamily, searchPanelsByFamily, } from "./client/registry.js";
|
|
6
7
|
import { SEARCH_CONTROLS_SELECTOR, SEARCH_PANEL_SELECTOR, controlBindings, inputBindings, panelBindings, panelToken, } from "./client/state.js";
|
|
7
8
|
function panelBindingFromRoot(root) {
|
|
8
9
|
if (!(root instanceof HTMLElement))
|
|
@@ -20,139 +21,63 @@ function searchPanelFromHost(host) {
|
|
|
20
21
|
return null;
|
|
21
22
|
const config = readSearchPanelConfig(host);
|
|
22
23
|
const familyKey = toText(config.familyKey);
|
|
23
|
-
return { familyKey, host, root };
|
|
24
|
-
}
|
|
25
|
-
function controlsForPanel(panel) {
|
|
26
|
-
if (!panel.familyKey)
|
|
27
|
-
return [];
|
|
28
|
-
return registeredSearchControls(panel.familyKey).filter((node) => !isInUnhydratedIsland(node));
|
|
29
|
-
}
|
|
30
|
-
function belongsToPanel(panel, node) {
|
|
31
|
-
const host = searchPanelHostFromNode(node);
|
|
32
|
-
return !host || host === panel.host;
|
|
33
|
-
}
|
|
34
|
-
function collectHosts(panel, rootSelector, controlSelector) {
|
|
35
|
-
const out = new Set();
|
|
36
|
-
if (rootSelector) {
|
|
37
|
-
Array.from(panel.root.querySelectorAll(rootSelector)).forEach((node) => {
|
|
38
|
-
if (node instanceof HTMLElement && belongsToPanel(panel, node))
|
|
39
|
-
out.add(node);
|
|
40
|
-
});
|
|
41
|
-
}
|
|
42
|
-
if (controlSelector) {
|
|
43
|
-
controlsForPanel(panel).forEach((controls) => {
|
|
44
|
-
Array.from(controls.querySelectorAll(controlSelector)).forEach((node) => {
|
|
45
|
-
if (node instanceof HTMLElement)
|
|
46
|
-
out.add(node);
|
|
47
|
-
});
|
|
48
|
-
});
|
|
49
|
-
}
|
|
50
|
-
return Array.from(out);
|
|
51
|
-
}
|
|
52
|
-
function getSearchInputs(panel) {
|
|
53
|
-
return collectHosts(panel, "search-query-input", "search-query-input")
|
|
54
|
-
.map(firstFormControl)
|
|
55
|
-
.filter((input) => input instanceof HTMLInputElement || input instanceof HTMLSelectElement);
|
|
56
|
-
}
|
|
57
|
-
function getFilterInputs(panel) {
|
|
58
|
-
return collectHosts(panel, "search-filter", "search-filter")
|
|
59
|
-
.map((host) => {
|
|
60
|
-
const input = firstFormControl(host);
|
|
61
|
-
const config = readSearchFilterConfig(host);
|
|
62
|
-
return {
|
|
63
|
-
input,
|
|
64
|
-
key: normalizeSearchKey(config.attr),
|
|
65
|
-
value: toText(input && input.value, "all"),
|
|
66
|
-
};
|
|
67
|
-
})
|
|
68
|
-
.filter((filter) => Boolean(filter.input && filter.key));
|
|
69
|
-
}
|
|
70
|
-
function getEmptyNodes(panel) {
|
|
71
|
-
return collectHosts(panel, "search-empty, [data-search-empty-slot]", "");
|
|
72
|
-
}
|
|
73
|
-
function getSearchItems(panel) {
|
|
74
|
-
return collectHosts(panel, "search-item, [data-search-item]", "");
|
|
75
|
-
}
|
|
76
|
-
function getCombinedQuery(panel) {
|
|
77
|
-
return getSearchInputs(panel)
|
|
78
|
-
.map((input) => toText(input.value).toLowerCase())
|
|
79
|
-
.filter(Boolean)
|
|
80
|
-
.join(" ");
|
|
24
|
+
return { cache: null, familyKey, host, renderFrame: 0, root };
|
|
81
25
|
}
|
|
82
26
|
function setItemVisibility(item, visible) {
|
|
83
27
|
item.hidden = !visible;
|
|
84
28
|
}
|
|
85
|
-
function
|
|
86
|
-
return readSearchItemConfig(item).exclude === true;
|
|
87
|
-
}
|
|
88
|
-
function itemMatchesFilters(item, filters) {
|
|
89
|
-
const config = readSearchItemConfig(item);
|
|
90
|
-
return filters.every((filter) => {
|
|
91
|
-
if (!filter.key)
|
|
92
|
-
return true;
|
|
93
|
-
if (!filter.value || filter.value === "all")
|
|
94
|
-
return true;
|
|
95
|
-
return searchFilterValues(config.filters, filter.key).includes(filter.value);
|
|
96
|
-
});
|
|
97
|
-
}
|
|
98
|
-
function itemMatchesQuery(item, query) {
|
|
99
|
-
if (!query)
|
|
100
|
-
return true;
|
|
101
|
-
return searchText(readSearchItemConfig(item).text || item.textContent).includes(query);
|
|
102
|
-
}
|
|
103
|
-
function visibleDropdownItemInSection(panel, section) {
|
|
104
|
-
return getSearchItems(panel).some((item) => {
|
|
105
|
-
if (item.hidden)
|
|
106
|
-
return false;
|
|
107
|
-
if (tagName(item) !== "li")
|
|
108
|
-
return false;
|
|
109
|
-
return toText(item.getAttribute("data-dropdown-section")) === section;
|
|
110
|
-
});
|
|
111
|
-
}
|
|
112
|
-
function syncDropdownSections(panel) {
|
|
113
|
-
panel.root
|
|
114
|
-
.querySelectorAll("[data-dropdown-section-heading]")
|
|
115
|
-
.forEach((sectionNode) => {
|
|
116
|
-
if (!(sectionNode instanceof HTMLElement))
|
|
117
|
-
return;
|
|
118
|
-
const section = toText(sectionNode.getAttribute("data-dropdown-section-heading"));
|
|
119
|
-
if (!section)
|
|
120
|
-
return;
|
|
121
|
-
sectionNode.hidden = !visibleDropdownItemInSection(panel, section);
|
|
122
|
-
});
|
|
123
|
-
}
|
|
124
|
-
function renderSearchPanel(panel) {
|
|
29
|
+
function renderSearchPanelNow(panel) {
|
|
125
30
|
if (!panel || !panel.host.isConnected)
|
|
126
31
|
return;
|
|
32
|
+
if (panel.renderFrame) {
|
|
33
|
+
window.cancelAnimationFrame(panel.renderFrame);
|
|
34
|
+
panel.renderFrame = 0;
|
|
35
|
+
}
|
|
36
|
+
const cache = panelCache(panel);
|
|
127
37
|
const query = getCombinedQuery(panel);
|
|
128
38
|
const filters = getFilterInputs(panel);
|
|
129
|
-
const
|
|
130
|
-
const total = items.filter((item) => !isExcludedItem(item)).length;
|
|
39
|
+
const visibleSections = new Set();
|
|
131
40
|
let visible = 0;
|
|
132
|
-
items.forEach((item) => {
|
|
133
|
-
if (
|
|
134
|
-
setItemVisibility(item, true);
|
|
41
|
+
cache.items.forEach((item) => {
|
|
42
|
+
if (item.exclude) {
|
|
43
|
+
setItemVisibility(item.element, true);
|
|
135
44
|
return;
|
|
136
45
|
}
|
|
137
46
|
const matches = itemMatchesQuery(item, query) && itemMatchesFilters(item, filters);
|
|
138
|
-
setItemVisibility(item, matches);
|
|
139
|
-
if (matches)
|
|
140
|
-
|
|
47
|
+
setItemVisibility(item.element, matches);
|
|
48
|
+
if (!matches)
|
|
49
|
+
return;
|
|
50
|
+
visible += 1;
|
|
51
|
+
if (item.section)
|
|
52
|
+
visibleSections.add(item.section);
|
|
141
53
|
});
|
|
142
|
-
syncDropdownSections(panel);
|
|
143
|
-
|
|
144
|
-
node.hidden = !(total > 0 && visible === 0);
|
|
54
|
+
syncDropdownSections(panel, visibleSections);
|
|
55
|
+
cache.emptyNodes.forEach((node) => {
|
|
56
|
+
node.hidden = !(cache.total > 0 && visible === 0);
|
|
145
57
|
});
|
|
146
58
|
panel.root.dispatchEvent(new CustomEvent("search:updated", {
|
|
147
59
|
bubbles: true,
|
|
148
60
|
detail: {
|
|
149
61
|
query,
|
|
150
|
-
filters,
|
|
151
|
-
total,
|
|
62
|
+
filters: filterDetails(filters),
|
|
63
|
+
total: cache.total,
|
|
152
64
|
visible,
|
|
153
65
|
},
|
|
154
66
|
}));
|
|
155
67
|
}
|
|
68
|
+
function renderSearchPanel(panel) {
|
|
69
|
+
renderSearchPanelNow(panel);
|
|
70
|
+
}
|
|
71
|
+
function scheduleSearchPanel(panel) {
|
|
72
|
+
if (!panel.host.isConnected)
|
|
73
|
+
return;
|
|
74
|
+
if (panel.renderFrame)
|
|
75
|
+
return;
|
|
76
|
+
panel.renderFrame = window.requestAnimationFrame(() => {
|
|
77
|
+
panel.renderFrame = 0;
|
|
78
|
+
renderSearchPanelNow(panel);
|
|
79
|
+
});
|
|
80
|
+
}
|
|
156
81
|
function bindControlForPanel(panel, input, eventName) {
|
|
157
82
|
const token = panelToken(panel);
|
|
158
83
|
let bindings = inputBindings.get(input);
|
|
@@ -164,7 +89,7 @@ function bindControlForPanel(panel, input, eventName) {
|
|
|
164
89
|
if (bindings.has(key))
|
|
165
90
|
return;
|
|
166
91
|
bindings.add(key);
|
|
167
|
-
input.addEventListener(eventName, () =>
|
|
92
|
+
input.addEventListener(eventName, () => scheduleSearchPanel(panel));
|
|
168
93
|
}
|
|
169
94
|
function bindSearchPanel(host) {
|
|
170
95
|
const panel = searchPanelFromHost(host);
|
|
@@ -172,6 +97,7 @@ function bindSearchPanel(host) {
|
|
|
172
97
|
return null;
|
|
173
98
|
panelBindings.set(panel.host, panel);
|
|
174
99
|
registerFamilyElement(searchPanelsByFamily, panel.familyKey, panel.host);
|
|
100
|
+
refreshPanelCache(panel);
|
|
175
101
|
getSearchInputs(panel).forEach((input) => {
|
|
176
102
|
bindControlForPanel(panel, input, "input");
|
|
177
103
|
});
|
|
@@ -195,7 +121,10 @@ function bindSearchControls(host) {
|
|
|
195
121
|
const familyKey = toText(config.familyKey);
|
|
196
122
|
registerFamilyElement(searchControlsByFamily, familyKey, host);
|
|
197
123
|
if (controlBindings.has(host)) {
|
|
198
|
-
panelsForFamily(familyKey).forEach(
|
|
124
|
+
panelsForFamily(familyKey).forEach((panel) => {
|
|
125
|
+
refreshPanelCache(panel);
|
|
126
|
+
renderSearchPanel(panel);
|
|
127
|
+
});
|
|
199
128
|
return host;
|
|
200
129
|
}
|
|
201
130
|
controlBindings.add(host);
|
|
@@ -203,6 +132,7 @@ function bindSearchControls(host) {
|
|
|
203
132
|
return host;
|
|
204
133
|
}
|
|
205
134
|
function bindSearchPanelInputs(panel) {
|
|
135
|
+
refreshPanelCache(panel);
|
|
206
136
|
getSearchInputs(panel).forEach((input) => {
|
|
207
137
|
bindControlForPanel(panel, input, "input");
|
|
208
138
|
});
|
|
@@ -220,7 +150,7 @@ function bindSearchRoot(root) {
|
|
|
220
150
|
return null;
|
|
221
151
|
const config = readSearchPanelConfig(root);
|
|
222
152
|
const familyKey = toText(config.familyKey);
|
|
223
|
-
const panel = { familyKey, host: root, root };
|
|
153
|
+
const panel = { cache: null, familyKey, host: root, renderFrame: 0, root };
|
|
224
154
|
panelBindings.set(root, panel);
|
|
225
155
|
bindSearchPanelInputs(panel);
|
|
226
156
|
return panel;
|