Skip to content

Releases: kgar/foundry-vtt-tidy-5e-sheets

v0.2.6

09 Jan 17:01
f69721c
Compare
Choose a tag to compare

What's Changed

  • [#226] "Inject Anywhere" API functions by @kgar in #228
  • [#80] Resolved overlapping enrichers on separate lines in editors by @kgar in #231
  • [#186] Extended sheets for Quick Insert compatibility, added Item Table Footer command injection API by @kgar in #219

Full Changelog: v0.2.5...v0.2.6

Editor Line Height Adjusted for Enrichers

  • The line height for editor paragraphs has been increased just enough to accommodate the height of roll buttons, data links, enrichers, etc. without them overlapping.

image

For the Devs: "Inject Anywhere" API

Because of the web tech that the rewritten Tidy Sheets use, there are a number of API facilities for adding in content and allowing the sheets to determine things like HTML structure, placement of the content, etc. However, if you are interested in adding content anywhere on the sheet and have it respond to actor / item / etc. changes, the "Inject Anywhere" API is here. To get started, check out the API functions starting with actor content registration.

For the Devs: Sheet Parts API

To allow for consistently targeting parts of a sheet on any of Tidy's upcoming layouts, the "Sheet Parts" API is here to help. At present, there are only a handful of sheet parts, and in subsequent releases, more sheet parts are intended to be added.

To get started. check out the constants and the getSheetPart function.

Note: Like with hooks, if you need a sheet part that is not present, submit a github issue.

For the Devs: Item Section Footer Command API

For modules like Quick Insert, there's a need to inject a button in the item section footer. The API for adding your own buttons to the item footer is now here.

v0.2.5

29 Dec 04:09
57e0f60
Compare
Choose a tag to compare

What's Changed

Full Changelog: v0.2.4...v0.2.5

This is a micro-release to put out a handful of additional compatibility styles for default sheet HTML / classes.

v0.2.4

28 Dec 05:57
ef3ac45
Compare
Choose a tag to compare

What's Changed

  • Bump vite from 4.5.0 to 4.5.1 by @dependabot in #218
  • [#210] Added tab selection hooks calls to tab strip initialization by @kgar in #220
  • [#104] Added some compatibility styles for transplanted tabs to deal with scroll by @kgar in #223
  • [#123] Added default sheet compatibility styles for Item Sheet HTML/classes by @kgar in #225

New Contributors

Full Changelog: v0.2.3...v0.2.4

For the Devs

  • Starting at the beginning. The tidy5e-sheet.preSelectTab and tidy5e-sheet.selectTab hooks are now called when the tab strip initializes. This is useful for those who wish to do something when the sheet first opens on a tab of interest.
  • A Stylish Default. More default sheet compatibility styles have been added.
    • Item Sheet Form Group styles have been added to support default sheet HTML and classes. If something is missing, please do not hesitate to submit an issue, and I'll provider coverage of anything that is found to be missing.
    • When tabs are inserted with default-sheet-style .tab containers, default sheet container scroll is automatically added to the .tab container.

v0.2.3

27 Dec 01:40
Compare
Choose a tag to compare

What's Changed

  • API: Added registerActorTab API to allow registering tabs to all Tidy-supported actor types by @kgar in #209
  • Added World scripter compatibility to world scripts, added Beaver's Crafting world script by @kgar in #208
  • [#131] Added hooks, attributes, and other support for Rarity Colors by @kgar in #212
  • Issue 200 item description secrets by @kgar in #205
  • [#213] Fixed item sheet issue with buttons disabling for observer users by @kgar in #214
  • [#210] Actors and Items: added hooks for preSelectTab (with ability to prevent tab selection) and selectTab by @kgar in #215

Full Changelog: v0.2.2...v0.2.3

Preparing the Way

I've made numerous under-the-hood changes to the sheets to prepare for module compatibility. More on that, soon.

Fixes

  • Observe. When viewing an Item sheet as an observer, numerous things were not interactable (e.g., switching tabs). This has been fixed.
  • Keep Your Secrets... Or Reveal Them. Item sheet secrets now feature the Reveal/Hide button and function as intended.

World Scripter compatibility

All world scripts featured in this repo now have World Scripter compatibility baked in.

For the Devs

  • Register a tab for all actor types. registerActorTab is now available. This allows for registering a tab with all actor types. This is useful for modules like Beaver's Crafting, which can have a crafting tab on any actor sheet.
  • Item Table Row and Field Selectors. Numerous Tidy-specific selectors now exist for targeting item table rows, item names, and almost any editable field. For fields, you will now see data-tidy-field="property.path.here". These sheets are intentionally not submitting all fields when saving individual changes, so an alternate selector was required for targeting Tidy fields, as opposed to name="property.path.here".
  • Tab Selection Hooks. When selecting an actor or item tab, there are now these hooks:
    • tidy5e-sheet.preSelectTab app: Sheet, sheetElement: HTMLElement, { currentTab: string, newTab: string } - is called before a tab change is allowed. Return false to prevent the tab from changing.
    • tidy5e-sheet.selectTab app: Sheet, sheetElement: HTMLElement, tab: string - notifies when a new tab has been selected

v0.2.2

23 Dec 03:14
2e30b36
Compare
Choose a tag to compare

What's Changed

  • [#151] Added compatibility for Item Piles and other context-menu-adding modules by @kgar in #197
  • [#198] Added support for PC inventory spell-to-scroll drops, vehicle spell-to-scroll and cargo drops by @kgar in #201
  • docs: Added onRender segment to tab examples by @kgar in #204

Full Changelog: v0.2.1...v0.2.2

Now Creating Spell Scrolls and Cargo Drops

  • The character sheet now supports creating spell scrolls when dropping spells onto the inventory tab
  • The vehicle sheet now supports creating spell scrolls when dropping spells on the sheet in general
  • The vehicle sheet now supports item drops to the cargo tab and will add the items as cargo

Context Menu Now Accepting New Options

The context menu is now using the standard hooks dnd5e.getActiveEffectContextOptions and dnd5e.getItemContextOptions. This means tabs which add context menu options in the standard way should now have their options showing up in the context menu.

⚠ Warning: If you are using these sheets and the original Tidy 5e Sheets simultaneously, you may notice the alpha sheets having unexpected combinations of options. This is because the original Tidy 5e Sheet module is listening to the hook and actively making changes to the available options. This is something the alpha sheets cannot fix while simultaneously offering context menu compatibility to other modules. It will go away if you disable the original sheets or when the alpha sheets officially take over.

v0.2.1

21 Dec 02:31
b3ed91f
Compare
Choose a tag to compare

What's Changed

  • Coalesced more undefinable user-facing text to empty strings in Item Effects by @kgar in #182
  • [#183] Added Drag/Drop for Item Active Effects and Item Advancements by @kgar in #184
  • [#187] Fixed issue where setting Versatile formula causes damage formulae to be removed by @kgar in #188
  • [#123] New API for Item Summary Commands / Roll Buttons by @kgar in #194
  • [#192] api: Hooks for item hover ON/OFF by @kgar in #195
  • [#185] api: Exhaustion and Vehicle Exhaustion support by @kgar in #196

Full Changelog: v0.2.0...v0.2.1

Feature: More Drag and Drop

  • Item Active Effects and Item Advancements now support drag and drop. This is a standard feature on the default sheets, and these sheets just needed to catch up.

Fixes

  • Fixed: When filling out the versatile damage formula in item sheets, it would cause the main damage parts to be cleared out.
  • Rooted out more undefined user-facing labels.

For the Devs: Item Summary Command API

The Item Summary Command API is now available. This API allows for adding roll buttons to the expanded item summary in places like the Inventory.

image

Item Summary Commands also appear in the associated item info card.

image

This was designed to provide the necessary API for Midi-QoL to inject roll buttons. I hope that any other module developers and world scripters who are interested also take advantage of this functionality.

For the Devs: Item Hover Hooks

The following hooks have been added to Tidy 5e Sheets:

  • "tidy5e-sheet.itemHoverOn" - event: Event, item: Item5e: triggers when you begin to hover over an item list row or item grid tile
  • "tidy5e-sheet.itemHoverOff" - event: Event, item: Item5e: triggers when the mouse leaves an item list row or item grid tile

For the Devs: Exhaustion API

The Exhaustion API is ready for use. This allows a module or world script to toggle exhaustion mode between Open Number and Specific Level Exhaustion. For Specific Level Exhaustion, it allows for specifying the total number of levels and the tooltips/hints that go with each level. This API helps modules that deal with custom exhaustion to avoid having to interface directly with Tidy 5e Sheets config settings. This will be especially useful when the sheets eventually change to the tidy5e-sheet module ID.

This feature works with PC/NPC exhaustion and separately for Vehicle exhaustion.

v0.2.0

18 Dec 21:03
584f07d
Compare
Choose a tag to compare

What's Changed

New Contributors

Full Changelog: v0.1.23...v0.2.0

Bugfix and Style Fix

Item sheets have been fixed to resolve an issue with editing advancements for owned items. Misc visual issues on the advancement tab have also been corrected.

Thanks to tartarts for reporting this issue.

New Default Keyboard Tab Settings

  • “Use default sheet attribute keyboard tabbing”: when turned on, keyboard tabbing jumps from one ability score to the next, instead of cycling through the ability roll/save roll/proficiency/config buttons.
  • “Use default sheet HP keyboard tabbing”: when turned on, keyboard tabbing jumps from HP fields to temp HP fields instead of exhaustion / hit dice

Big thank you to voodoofrog for having the idea and coding it up.

For the Devs: Easy symlinking is here

Easy symlinking has been added to the repo. Thanks to voodoofrog for suggesting it and coding it up. See the updated CONTRIBUTING.md for more details.

For the Devs: Now Accepting Svelte Tabs

Native svelte tab registration is now live. For those who want to create sheet tabs with the power of svelte, Tidy 5e sheets now accepts first-class svelte tab registration.

For the Devs: Actor Tab Override is Here

Want to replace the spellbook tab? Inventory? Abilities? Cargo and Crew? Any of the actor tabs? All actor tab registration now accepts an options object with the overrideExisting field. This boolean is required to be true to override a tab. Otherwise, Tidy will think you’ve specified an existing Tab ID by mistake.

v0.1.23

16 Dec 14:34
59c745d
Compare
Choose a tag to compare

What's Changed

Full Changelog: v0.1.22...v0.1.23

Hotfix Release

  • There was an issue with items not being able to be rolled after the latest update. This is now fixed.

v0.1.22

16 Dec 05:48
5ceda2a
Compare
Choose a tag to compare

What's Changed

  • [#140] API: Implemented Action List Activation Type remapping by @kgar in #164
  • [#54] Expanded extensibility for Item Macro integration by @kgar in #165
  • compatibility: Adjusted "Items with Spells" world script for spell drop issue by @kgar in #170
  • Additional items with spells world script fix based on module update by @kgar in #172
  • [#103] and [#168] Prepared for Downtime dnd5e compatibility rollout by @kgar in #173

Full Changelog: v0.1.21...v0.1.22

Module Compatibility Updates

Enjoy Some Downtime ☕

  • Tidy 5e Sheets is now ready for integration with Downtime Dnd5e. Thanks to 4535992 for allowing me to submit some integration code.

Fixes

  • Locked compendium sheets are now able to be tabbed through. Thanks to discord user gambit07 and garhi for reporting and troubleshooting with me.

v0.1.21

13 Dec 02:47
c179287
Compare
Choose a tag to compare

What's Changed

  • [#157] Expanded max-width of XP tracker for player characters by @kgar in #159
  • [#123] Midi-qol compatibility changes by @kgar in #125
  • [#112] Updated JsDoc and prepared for documentation generation via Github actions by @kgar in #160
  • [#112] Adjusted github action for auto-generating documentation on releases by @kgar in #161
  • [#143] Updated editors' editable area to span the full height of their containers by @kgar in #162

Full Changelog: v0.1.20...v0.1.21

Tab Registration API is Here!

Anyone who wishes to add a tab to PC, NPC, Vehicle, and Item sheets, the initial offering of the tab registration API has arrived. This marks the beginning of the official Tidy 5e Sheets API. This API will continue to expand as more of the sheets become configurable and extensible, and more content will join the documentation, such as Hooks and Flags, in due time.

The module integration wiki exists, but at the time of this writing, it is just stubbed out.

Make a Tab, Go Wild!

I often use language geared toward module development / integration, but you can also just create a world script and drop in your own content without even making a module. You can even make your own flags and everything. For this, I hope to include examples in the wiki later.

"Items with Spells 5e" World Script for Compatibility

Now that the API is ready for use, the first tab-adding module on the list for the compatibility effort is "Items with Spells 5e." I have provided a world script which can bridge the gap between these sheets and the module. I will be in touch with the module author to request including an API call in the module itself so that a world script is not needed.

Style Updates

  • Expanded XP tracker to fit high-level play. Thanks to github user @ZhornLegacy for reporting it.
  • Expanded editor editable area to fill the available vertical space. Thanks to discord user m0nkeyy for reporting it.