Skip to content

Commit

Permalink
Convert CompendiumBrowser to ApplicationV2 (#16884)
Browse files Browse the repository at this point in the history
  • Loading branch information
In3luki authored Dec 3, 2024
1 parent 66f4572 commit 914e009
Show file tree
Hide file tree
Showing 57 changed files with 2,524 additions and 2,326 deletions.
19 changes: 19 additions & 0 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -94,6 +94,7 @@
"nouislider": "^15.8.1",
"remeda": "^2.17.3",
"sortablejs": "^1.15.3",
"svelecte": "^5.0.0-next.16",
"svelte": "^5.2.2",
"uuid": "^11.0.3"
}
Expand Down
2 changes: 1 addition & 1 deletion src/global.ts
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ import type {
CompendiumBrowser,
CompendiumBrowserSettings,
CompendiumBrowserSources,
} from "@module/apps/compendium-browser/index.ts";
} from "@module/apps/compendium-browser/browser.ts";
import type { EffectsPanel } from "@module/apps/effects-panel.ts";
import type { HotbarPF2e } from "@module/apps/hotbar.ts";
import type { LicenseViewer } from "@module/apps/license-viewer/app.ts";
Expand Down
12 changes: 6 additions & 6 deletions src/module/actor/character/sheet.ts
Original file line number Diff line number Diff line change
Expand Up @@ -1247,13 +1247,13 @@ class CharacterSheetPF2e<TActor extends CharacterPF2e> extends CreatureSheetPF2e

const featTab = game.pf2e.compendiumBrowser.tabs.feat;
const filter = await featTab.getFilterData();
filter.multiselects.traits.conjunction = featFilters?.conjunction ?? "or";
filter.traits.conjunction = featFilters?.conjunction ?? "or";

// Assign levels
if (typeof maxLevel === "number") {
const level = filter.sliders.level;
level.values.max = Math.min(maxLevel, level.values.upperLimit);
level.isExpanded = level.values.max !== level.values.upperLimit;
const level = filter.level;
level.to = Math.min(maxLevel, level.max);
level.isExpanded = level.to !== level.max;
}

// Assign categories
Expand All @@ -1265,7 +1265,7 @@ class CharacterSheetPF2e<TActor extends CharacterPF2e> extends CreatureSheetPF2e
}

// Assign traits
const traits = filter.multiselects.traits;
const traits = filter.traits;
const filterTraits = [
(featFilters?.traits ?? []).map((trait) => ({ trait, not: false })),
(featFilters?.omitTraits ?? []).map((trait) => ({ trait, not: true })),
Expand All @@ -1277,7 +1277,7 @@ class CharacterSheetPF2e<TActor extends CharacterPF2e> extends CreatureSheetPF2e
}
}

return featTab.open(filter);
return featTab.open({ filter });
}

/** Handle changing of lore and spellcasting entry proficiency-rank via dropdown */
Expand Down
8 changes: 4 additions & 4 deletions src/module/actor/party/kingdom/sheet.ts
Original file line number Diff line number Diff line change
Expand Up @@ -445,16 +445,16 @@ class KingdomSheetPF2e extends ActorSheetPF2e<PartyPF2e> {
const filter = await compendiumTab.getFilterData();

// Configure level filters
const levels = filter.sliders.level;
levels.values.max = Math.min(maxLevel, levels.values.upperLimit);
levels.isExpanded = levels.values.max !== levels.values.upperLimit;
const levels = filter.level;
levels.to = Math.min(maxLevel, levels.max);
levels.isExpanded = levels.to !== levels.max;

// Set category
filter.checkboxes.category.options["kingdom-feat"].selected = true;
filter.checkboxes.category.selected.push("kingdom-feat");
filter.checkboxes.category.isExpanded = true;

compendiumTab.open(filter);
compendiumTab.open({ filter });
});
}

Expand Down
15 changes: 13 additions & 2 deletions src/module/actor/sheet/base.ts
Original file line number Diff line number Diff line change
Expand Up @@ -832,9 +832,10 @@ abstract class ActorSheetPF2e<TActor extends ActorPF2e> extends ActorSheet<TActo
.split(",")
.map((s) => s.trim())
.filter((s) => !!s);
const levelString = element.dataset.level;
const tab = game.pf2e.compendiumBrowser.tabs.equipment;
const filter = await tab.getFilterData();
const { checkboxes } = filter;
const checkboxes = filter.checkboxes;

for (const itemType of checkboxesFilterCodes) {
const checkbox = checkboxes.itemTypes;
Expand All @@ -845,7 +846,17 @@ abstract class ActorSheetPF2e<TActor extends ActorPF2e> extends ActorSheet<TActo
}
}

tab.open(filter);
if (levelString) {
const level = filter.level;
const newValue = Math.clamp(Number(levelString), level.min, level.max);
if (!Number.isNaN(newValue)) {
level.from = newValue;
level.to = newValue;
}
level.isExpanded = true;
}

tab.open({ filter });
}

protected override _canDragStart(selector: string): boolean {
Expand Down
Loading

0 comments on commit 914e009

Please sign in to comment.