diff --git a/src/components/Dashboard/common/FilterSidebar.jsx b/src/components/Dashboard/common/FilterSidebar.jsx index 5a69be7c..addefd7e 100644 --- a/src/components/Dashboard/common/FilterSidebar.jsx +++ b/src/components/Dashboard/common/FilterSidebar.jsx @@ -45,7 +45,9 @@ const FilterSidebar = ({ type, filter = {}, onFilterChange, - masterFilter = {} + masterFilter = {}, + viewFilter = {}, + isEditing = false }) => { const model = getModelByName(type) const modelProps = getModelProperties(type) @@ -113,6 +115,11 @@ const FilterSidebar = ({ [filterableProperties] ) + const viewFilterKeys = useMemo( + () => new Set(Object.keys(viewFilter).filter((k) => viewFilter[k] !== '')), + [viewFilter] + ) + const activeFields = Object.keys(localFilter) const usedFields = new Set(activeFields) @@ -192,39 +199,46 @@ const FilterSidebar = ({ /> - {rows.map((row) => ( - - changeField(row.field, v)} + options={availableOptions(row.field)} + allowClear={false} + disabled={isViewRow} + labelRender={({ label }) => ( + + )} + style={{ flexShrink: 0 }} + classNames={{ root: 'filter-sidebar-field-select' }} + /> + changeValue(row.field, value)} + style={{ flex: 1 }} + disabled={isViewRow} + propertyFilter={{ + modelType: type, + propertyName: row.field + }} + filter={localFilter} + masterFilter={masterFilter} + /> +