allow the select empty and placeholder props to be reactive functions

This commit is contained in:
Gani Georgiev
2026-05-20 16:39:59 +03:00
parent 23a989118c
commit ea1a537a60
3 changed files with 20 additions and 4 deletions
File diff suppressed because one or more lines are too long
+1 -1
View File
@@ -13,7 +13,7 @@
<!-- prism --> <!-- prism -->
<script src="./libs/prism/prism.js" data-manual></script> <script src="./libs/prism/prism.js" data-manual></script>
<script type="module" crossorigin src="./assets/index-qP-3lJAQ.js"></script> <script type="module" crossorigin src="./assets/index-DV8pBThR.js"></script>
<link rel="modulepreload" crossorigin href="./assets/pocketbase.es-B_4DUNUU.js"> <link rel="modulepreload" crossorigin href="./assets/pocketbase.es-B_4DUNUU.js">
<link rel="stylesheet" crossorigin href="./assets/index-Cbzik3Gc.css"> <link rel="stylesheet" crossorigin href="./assets/index-Cbzik3Gc.css">
</head> </head>
+18 -2
View File
@@ -152,7 +152,15 @@ window.app.components.select = function(propsArg = {}) {
} }
} }
const noItemsFoundElem = t.div({ className: "txt-hint txt-center m-0 p-5", hidden: true }, props.noItemsFoundText); const noItemsFoundElem = t.div(
{ className: "txt-hint txt-center m-0 p-5", hidden: true },
(el) => {
if (typeof props.noItemsFoundText == "function") {
return props.noItemsFoundText(el);
}
return props.noItemsFoundText;
},
);
async function toggleNoItemsFoundElem() { async function toggleNoItemsFoundElem() {
if (!dropdown) { if (!dropdown) {
@@ -236,7 +244,15 @@ window.app.components.select = function(propsArg = {}) {
}, },
() => { () => {
if (!internalData.selected.length) { if (!internalData.selected.length) {
return t.span({ rid: "selected-placeholder", className: "placeholder" }, () => props.placeholder); return t.span(
{ rid: "selected-placeholder", className: "placeholder" },
(el) => {
if (typeof props.placeholder == "function") {
return props.placeholder(el);
}
return props.placeholder;
},
);
} }
return internalData.selected.map((opt) => { return internalData.selected.map((opt) => {