mirror of
https://github.com/fosrl/pangolin.git
synced 2026-07-07 14:44:52 +02:00
allow grouping when filter applied
This commit is contained in:
+1
-1
@@ -3613,7 +3613,7 @@
|
|||||||
"resourceLauncherSiteGroupingDisabled": "Site grouping is unavailable at this scale. Filter by site to group a smaller set.",
|
"resourceLauncherSiteGroupingDisabled": "Site grouping is unavailable at this scale. Filter by site to group a smaller set.",
|
||||||
"resourceLauncherLabelGroupingDisabled": "Label grouping is unavailable at this scale.",
|
"resourceLauncherLabelGroupingDisabled": "Label grouping is unavailable at this scale.",
|
||||||
"resourceLauncherCompactModeHint": "Showing a simplified list for faster browsing. Use search or filters to narrow results.",
|
"resourceLauncherCompactModeHint": "Showing a simplified list for faster browsing. Use search or filters to narrow results.",
|
||||||
"resourceLauncherCompactGroupingLocked": "Grouping is set to None in compact mode.",
|
"resourceLauncherCompactGroupingHint": "Apply site or label filters to enable grouping in compact mode.",
|
||||||
"resourceLauncherCopiedToClipboard": "Copied to clipboard",
|
"resourceLauncherCopiedToClipboard": "Copied to clipboard",
|
||||||
"resourceLauncherCopiedAccessDescription": "Resource access has been copied to your clipboard.",
|
"resourceLauncherCopiedAccessDescription": "Resource access has been copied to your clipboard.",
|
||||||
"resourceLauncherViewNamePlaceholder": "View name",
|
"resourceLauncherViewNamePlaceholder": "View name",
|
||||||
|
|||||||
@@ -76,6 +76,7 @@ async function getLauncherScaleForUserUncached(
|
|||||||
: "compact";
|
: "compact";
|
||||||
|
|
||||||
const siteFilterIds = parseIdListParam(query.siteIds);
|
const siteFilterIds = parseIdListParam(query.siteIds);
|
||||||
|
const labelFilterIds = parseIdListParam(query.labelIds);
|
||||||
|
|
||||||
const allowSiteGrouping =
|
const allowSiteGrouping =
|
||||||
siteGroupCount <= LAUNCHER_FULL_MAX_SITE_GROUPS ||
|
siteGroupCount <= LAUNCHER_FULL_MAX_SITE_GROUPS ||
|
||||||
@@ -83,7 +84,9 @@ async function getLauncherScaleForUserUncached(
|
|||||||
siteFilterIds.length <= LAUNCHER_FILTERED_SITE_GROUPING_MAX);
|
siteFilterIds.length <= LAUNCHER_FILTERED_SITE_GROUPING_MAX);
|
||||||
|
|
||||||
const allowLabelGrouping =
|
const allowLabelGrouping =
|
||||||
labelGroupCount <= LAUNCHER_FULL_MAX_LABEL_GROUPS;
|
labelGroupCount <= LAUNCHER_FULL_MAX_LABEL_GROUPS ||
|
||||||
|
(labelFilterIds.length > 0 &&
|
||||||
|
labelFilterIds.length <= LAUNCHER_FILTERED_SITE_GROUPING_MAX);
|
||||||
|
|
||||||
const requireSearchOrFilter =
|
const requireSearchOrFilter =
|
||||||
mode === "compact" && resourceCount > LAUNCHER_FULL_MAX_RESOURCES;
|
mode === "compact" && resourceCount > LAUNCHER_FULL_MAX_RESOURCES;
|
||||||
|
|||||||
@@ -78,8 +78,9 @@ export function LauncherSettingsMenu({
|
|||||||
<SelectItem
|
<SelectItem
|
||||||
value="site"
|
value="site"
|
||||||
disabled={
|
disabled={
|
||||||
isCompactMode ||
|
!capabilities.allowSiteGrouping ||
|
||||||
!capabilities.allowSiteGrouping
|
(isCompactMode &&
|
||||||
|
config.siteIds.length === 0)
|
||||||
}
|
}
|
||||||
>
|
>
|
||||||
{t("resourceLauncherGroupBySite")}
|
{t("resourceLauncherGroupBySite")}
|
||||||
@@ -87,8 +88,9 @@ export function LauncherSettingsMenu({
|
|||||||
<SelectItem
|
<SelectItem
|
||||||
value="label"
|
value="label"
|
||||||
disabled={
|
disabled={
|
||||||
isCompactMode ||
|
!capabilities.allowLabelGrouping ||
|
||||||
!capabilities.allowLabelGrouping
|
(isCompactMode &&
|
||||||
|
config.labelIds.length === 0)
|
||||||
}
|
}
|
||||||
>
|
>
|
||||||
{t("resourceLauncherGroupByLabel")}
|
{t("resourceLauncherGroupByLabel")}
|
||||||
@@ -97,7 +99,7 @@ export function LauncherSettingsMenu({
|
|||||||
</Select>
|
</Select>
|
||||||
{isCompactMode ? (
|
{isCompactMode ? (
|
||||||
<p className="text-xs text-muted-foreground">
|
<p className="text-xs text-muted-foreground">
|
||||||
{t("resourceLauncherCompactGroupingLocked")}
|
{t("resourceLauncherCompactGroupingHint")}
|
||||||
</p>
|
</p>
|
||||||
) : null}
|
) : null}
|
||||||
{!isCompactMode && !capabilities.allowSiteGrouping ? (
|
{!isCompactMode && !capabilities.allowSiteGrouping ? (
|
||||||
|
|||||||
@@ -549,12 +549,6 @@ export default function ResourceLauncher({
|
|||||||
</div>
|
</div>
|
||||||
)}
|
)}
|
||||||
|
|
||||||
{scale.mode === "compact" && !showSearchFirstGate ? (
|
|
||||||
<p className="mb-4 text-sm text-muted-foreground">
|
|
||||||
{t("resourceLauncherCompactModeHint")}
|
|
||||||
</p>
|
|
||||||
) : null}
|
|
||||||
|
|
||||||
{showSearchFirstGate ? (
|
{showSearchFirstGate ? (
|
||||||
<LauncherSearchFirstGate layout={config.layout} />
|
<LauncherSearchFirstGate layout={config.layout} />
|
||||||
) : showGroupList ? (
|
) : showGroupList ? (
|
||||||
|
|||||||
@@ -15,11 +15,27 @@ export function getEffectiveGroupBy(
|
|||||||
scale: LauncherScaleInfo,
|
scale: LauncherScaleInfo,
|
||||||
config: LauncherViewConfig
|
config: LauncherViewConfig
|
||||||
): LauncherViewConfig["groupBy"] {
|
): LauncherViewConfig["groupBy"] {
|
||||||
if (scale.mode === "compact") {
|
if (scale.mode !== "compact") {
|
||||||
return "none";
|
return config.groupBy;
|
||||||
}
|
}
|
||||||
|
|
||||||
return config.groupBy;
|
if (
|
||||||
|
config.groupBy === "site" &&
|
||||||
|
config.siteIds.length > 0 &&
|
||||||
|
scale.capabilities.allowSiteGrouping
|
||||||
|
) {
|
||||||
|
return "site";
|
||||||
|
}
|
||||||
|
|
||||||
|
if (
|
||||||
|
config.groupBy === "label" &&
|
||||||
|
config.labelIds.length > 0 &&
|
||||||
|
scale.capabilities.allowLabelGrouping
|
||||||
|
) {
|
||||||
|
return "label";
|
||||||
|
}
|
||||||
|
|
||||||
|
return "none";
|
||||||
}
|
}
|
||||||
|
|
||||||
export function getEffectiveLauncherConfig(
|
export function getEffectiveLauncherConfig(
|
||||||
@@ -49,9 +65,12 @@ export function shouldFetchLauncherGroups(
|
|||||||
}
|
}
|
||||||
|
|
||||||
return (
|
return (
|
||||||
scale.capabilities.allowSiteGrouping &&
|
(scale.capabilities.allowSiteGrouping &&
|
||||||
groupBy === "site" &&
|
groupBy === "site" &&
|
||||||
config.siteIds.length > 0
|
config.siteIds.length > 0) ||
|
||||||
|
(scale.capabilities.allowLabelGrouping &&
|
||||||
|
groupBy === "label" &&
|
||||||
|
config.labelIds.length > 0)
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user