Przeglądaj źródła

feat(frontend): add text search to node select components

Typing in the Deploy To select of the inbound form and the node filter select on the inbound list now filters nodes by label, matching the showSearch convention used elsewhere (NodeFormModal, HostFormModal). With 20+ nodes, scrolling was the only way to find one.

Closes #5743
MHSanaei 17 godzin temu
rodzic
commit
dd4f55f690

+ 1 - 0
frontend/src/pages/inbounds/form/InboundFormModal.tsx

@@ -528,6 +528,7 @@ export default function InboundFormModal({
       {selectableNodes.length > 0 && isNodeEligible && (
       {selectableNodes.length > 0 && isNodeEligible && (
         <Form.Item name="nodeId" label={t('pages.inbounds.deployTo')}>
         <Form.Item name="nodeId" label={t('pages.inbounds.deployTo')}>
           <Select
           <Select
+            showSearch
             disabled={mode === 'edit'}
             disabled={mode === 'edit'}
             placeholder={t('pages.inbounds.localPanel')}
             placeholder={t('pages.inbounds.localPanel')}
             allowClear
             allowClear

+ 1 - 0
frontend/src/pages/inbounds/list/InboundList.tsx

@@ -174,6 +174,7 @@ export default function InboundList({
               value={nodeFilter}
               value={nodeFilter}
               onChange={(v) => setNodeFilter(v)}
               onChange={(v) => setNodeFilter(v)}
               options={nodeFilterOptions}
               options={nodeFilterOptions}
+              showSearch
               popupMatchSelectWidth={false}
               popupMatchSelectWidth={false}
               style={{ minWidth: isMobile ? 90 : 140 }}
               style={{ minWidth: isMobile ? 90 : 140 }}
               aria-label={t('pages.clients.filters.nodes')}
               aria-label={t('pages.clients.filters.nodes')}