Giter Site home page Giter Site logo

foundryvtt-gmscreen's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

foundryvtt-gmscreen's Issues

Remember scrolled position on entity refresh.

When an entity such as an Actor is updated and the sheet is re-rendered, first check the scroll position, and remember that value. After the re-render, restore the scroll position to its previous value.

Example use case:
In Monster Blocks, when a value is modified, the sheet will scroll back to the top. This is jarring and unintuitive for the user.

Popout! compatibility - unable to modify contents after popping out the screen

Environment Details

  • Foundry Core Version: 0.78
  • System & Version: Noticed on 5e 1.2.0, but I assume it's not relevant in this case
  • OS & Browser: Win 10, Opera, but ditto
  • Hosting: Self hosted, but ditto

Description
After you pop out the GM screen, choosing options from the drop down menu doesn't change/update the data on the screen. Refreshing after picking an option restores the GM Screen to pre-popout state.

Expected behavior
The tile you chose the dropdown option for displays the data for the chosen option.

Call a hook when the GM screen is opened and closed

Is your feature request related to a problem? Please describe.
For my Material Deck module I'm adding a button to open and close the GM screen. I'd like to give it a visual indicator for when the screen is opened or closed. As far as I can see, there is no easy and efficient way to know when this is happening, besides constant polling.

Describe the solution you'd like
Calling a hook when the GM screen is opened or closed would help me out greatly, for example:
Hooks.callAll("gmScreen", html, openState);
Where openState is a simple true or false, depending on whether the screen is being opened or closed.

Describe alternatives you've considered
None

Allow GMs to set which entity sheet should be used for Actors and Items on the GM Screen

At the moment Actors and Items use whatever sheet the Actor/Item is set to use, just rendered not as an Application.

Ideally, a GM could set a specific sheet to be used only for the GM screen. This would allow other module/system devs to create "abbreviated" sheets that work well in the limited space, but still have the full sheet available.

As part of this, we should come up with some guidelines for sheet compatibility, and start a list of "known good looking options" on the Readme/Wiki.

Journal entries are unsorted

Describe the bug
It is hard to find specific journal entries in the Dropdown selection. All journal entries are completely randomized and unsorted!
Only journal entries are unsorted. Items and Actors are fine.

Expected behavior
Have the journal entries sorted by name. For example when we create a Scene in FVTT, the Journal entry selector there has them sorted.
Optional behavior: Add a writing field to filter entries

Screenshots
image

gear icon broken in 0.7.9

Environment Details

  • Foundry Core Version: 0.7.9
  • System & Version: HarnMaster 1.1.0
  • OS & Browser: Mac, Chrome
  • Hosting:
    AWS

Describe the bug
Pressing the gear icon gives no action, and produces the following in the console log
'''
helpers.js:82 Uncaught (in promise) TypeError: Cannot read property '0' of null
at getGridElementsPosition (helpers.js:82)
at GmScreenApplication.handleClickEvent (GmScreenApplication.js:171)
at HTMLDivElement.dispatch (jquery.min.js:2)
at HTMLDivElement.v.handle (jquery.min.js:2)
'''

To Reproduce
Steps to reproduce the behavior:

  1. Go to 'GM Screen'
  2. Click on 'gear icon'

Expected behavior
Settings for that cell?

Screenshots
If applicable, add screenshots to help explain your problem.

Set up Storybooks and snapshot regression testing

Is your feature request related to a problem? Please describe.
I need to set up Storybook to make it easier to develop this outside of Foundry context. Additionally I should use it to set up DOM snapshot testing.

Describe the solution you'd like
I'd like a storybook env which pulls in a foundry.js file from a specified location, and also a skeleton of a system to start with. From there I can write storybook stories for various use cases and run snapshot testing on them.

Additional context
This must be done for science.

PF1e default item and actor sheets not scrolling

Environment Details

  • Foundry Core Version: 0.7.8
  • System & Version: Pathfinder 1e 0.76.7
  • OS & Browser: Windows 10 Firefox
  • Hosting: Self-hosted Node.js

Describe the bug
Pathfinder 1e sheets (items or characters) do not scroll inside cells, making them unreadable.

To Reproduce
Steps to reproduce the behavior:

  1. Add a character or item using the default PF1e sheet to a cell.

Expected behavior
I should be able to scroll vertically to view all the content. Removing the "min-height: unset" from .grid-cell-content and adding "overflow-y: auto" to .grid-cell-content-wrapper fixes the issue.

Screenshots
If applicable, add screenshots to help explain your problem.
image

Compatibility for Calendar/Weather

If Calendar/Weather is installed, the calendar will always be displayed above the GM screen if the calendar is placed where the GM screen unfolds.
image
The GM Screen should always display above that if compatibility is feasable and something you want to do.

Opacity setting.

Given how much of the screen the GM screen takes up, it would be useful if it were possible to make it partially transparent.

This can easily be achieved with a single CSS rule: opacity added to the .gm-screen-app.

Additionally, this could be configured in a few ways:

  • Become transparent when not in focus
  • Become transparent when mouse is not hovering over
  • Be transparent all the time
  • Toggle transparency with a button

image

Alternatively you could use mask-image for a gradient transparency:

image

I imagine an option where the opacity is set to some % when the GM screen is hovered, and when not hovered it becomes a gradient with the configured opacity at the bottom, and near-zero opacity at the top.

.gm-screen-app:hover {
	-webkit-mask-image: linear-gradient(to top, rgb(0 0 0 / 70%), rgb(0 0 0 / 70%));
}
.gm-screen-app {
	transition: .5s;
	-webkit-mask-image: linear-gradient(to top, rgb(0 0 0 / 70%), rgb(0 0 0 / .05));
}

Open Image Journal Entry on Image Click

Is your feature request related to a problem? Please describe.
It'd be nice to have a quicker way to open Image journal entries.

Describe the solution you'd like
When I click on the image, the larger version should appear, rather than just on the little "journal" icon.

Implement Dynamic Cells

A "dynamic cell" whose contents respond to the game's current state should be quite doable. The easiest example of a use case is "The Current Scene's Notes."

This is also an excuse to implement an API where other modules can register their own cells. A good example being Sound Board. Having a Dynamic Cell of "User favorite sounds" for instance would be really cool.

ESC Key no longer open the main menu when GMScreen is activated

Environment Details

  • Foundry Core Version: 0.7.9
  • System & Version:DnD5e 1.2.4
  • OS & Browser:Window 10, Chrome
  • Hosting: Self Hosted
    (Forge, Self Hosted, Electron App, etc might be relevant)

Describe the bug
Esc Key no longer working to open the main menu.

I was caused by:
fix: ๐Ÿ› intercept close method on drawer gm screen applications โ€ฆ
Prevents esc from removing the application from the dom, instead closing the drawer

Please allow the height of the GM screen to be modifiable.

Currently, the GM screen is set to a fixed height of 60vh. I'd like there to be a minor amount of modification to that height if a GM would like to cover more or less of the scene. I would like at least 80vh to be possible, and I can see a GM potentially wanting only a single row of perhaps 20vh.

while I don't see the need for 100%/fullscreen you may wish to consider this as well.

Avoid Performance hit by not rerendering the whole gm screen if possible

Is your feature request related to a problem? Please describe.
Related to performance, fromUuid is expensive and we should avoid calling it so much.

Describe the solution you'd like
Instead of just calling render(), we should provide a method refresh() which does the following:

  • Iterate over cells and see if any uuid has changed, if a uuid has changed, only refresh that cell.
  • Update the grid specific dimensions and settings

Ideally this "refresh" will happen behind the scenes and the button on the UI can go away.

Please add search bars for adding new content to tiles.

Is your feature request related to a problem? Please describe.
i like the idea of a gm screen but the drop down menus are difficult to navigate when you have so much data.
Describe the solution you'd like
instead of the drop down menus id like search bars. either as a replacement but in addition to all the tiles. this would increase the functionality of this module 10 fold.

Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.

Additional context
Add any other context or screenshots about the feature request here.

PF2e Player Sheets Don't Render Properly

Environment Details

  • Foundry Core Version: 0.7.8
  • System & Version: PF2e - 1.10.20.2419
  • OS & Browser: Windows 10 - Brave
  • Hosting: Raspberry Pi (Selfhosted)

Describe the bug
PF2e character/player sheets are too big I believe to properly render in a small containen.

To Reproduce
Steps to reproduce the behavior:

  1. Grab a pregen from the compendium and import it.
  2. Then add said pregen to the GM screen.

Expected behavior
The sheet might have to have an alternate layout to fit the screen and that is fine. I was just wondering if it could be looked into to see if we could fit the original sheet before we work on something like an alternative for this module.

Updated: The sheet doesn't render properly even if given space. The second screenshot is with two columns on an ultrawide monitor. There something else other than a space issue here.

Screenshots
image
image

Disable GM Screen for non-GMs

When using this module, a non-gm user has the ability to open the GM Screen and look through all the data stored in the world. I'm not fluent in writing Foundry modules, but the User class seems to have an isGM method on it that might be able to be used to not display the screen at all for non-gm users.

Thanks for putting such a great module idea together!

[bug] GM Screen cells remain blank

On macOS 10.15.7, Firefox 83.0 (64bit). Foundry 0.7.8, D&D5 1.1.1, GMScreen 1.0.0.

GMScreen cell remains blank despite me selecting an entity (whether it be an actor, item, rollable table or journal entry) from the dropdown. Refreshing the GMScreen deselects my choice (and changes nothing in the cell).

Am I doing anything wrong (or not doing something I should)?

Refresh CSS variables when browser resizes.

Is your feature request related to a problem? Please describe.
CSS Variables do not refresh on browser resize without user clicking "refresh" button.

Describe the solution you'd like
A timeouted solution to browser resize, which then refreshes the gm screen

Describe alternatives you've considered
Putting this off...

Additional context
We have to do it eventually....

Make the GM Screen have absolute priority above other windows

Describe the solution you'd like
When having Notes, journals, characters, etc... the GM screen may be needed, and when opened, it stays behind everything else.
Forcing the GM to minimize everything, or move it or close everything before reading the GM Screen

Additional context
It may sound silly but this is preventing me at least to use GM Screen normally. As we were playing, I had many important windows open and when needed the GM Screen it was behind everything so.. it was quite inconvenient.

Screenshots
If applicable, add screenshots to help explain your problem.
image

Journal images still not working

Environment Details

  • Foundry Core Version: 0.7.9
  • System & Version: Dark Heresy 2e 2.0.0
  • OS & Browser: Windows, Chromium Edge
  • Hosting: AWS S3 Linux EC2
    (Forge, Self Hosted, Electron App, etc might be relevant)

Describe the bug
A clear and concise description of what the bug is.
Journals with empty body on the text and just an Image do not show any preview on the GM Screen module

To Reproduce
Steps to reproduce the behavior:

  1. Create journal entry
  2. Click image tab
  3. Add image URL file
  4. Accept and close
  5. Add to GM Screen

Expected behavior
A clear and concise description of what you expected to happen.
Should preview the image, like it did in very early versions of GM Screen (this worked for me before on this system)
Workaround: Add images inline on the text mode.

Screenshots
If applicable, add screenshots to help explain your problem.
image

Unable to roll items from actor sheet in PF1e

Environment Details

  • Foundry Core Version: 0.7.8
  • System & Version: pf1e 0.73.13
  • OS & Browser: Chrome (Windows 10)
  • Hosting: Forge

Describe the bug
It is not possible to click on things such as stats, attacks, skills and saving throw to roll them from an actor that is placed in the GM screen tiles

To Reproduce
Steps to reproduce the behavior:
After added an actor in one of the tiles

  1. Go to 'Combat' tab in said actor
  2. Click on 'saves such a Reflex'
  3. See error (nothing happens)

Expected behavior
Expected behavior would be to allow interacting with the character sheet in a way that allows using saves and such on actors in the tiles

Screenshots
If applicable, add screenshots to help explain your problem.

Additional Grid Cell Configuration

Allow Cells to be spanned across several Rows and/or Columns. The CSS for this is simple, the data model part will be more difficult. Additionally, we must now do this in a non-breaking manner, or have a migration strategy.

Current Data Structure of Cells:

interface GmScreenGridEntry {
  x?: number;
  y?: number;
  entityUuid?: string;
}

Proposed Change:

interface GmScreenGridEntry {
  x?: number;
  y?: number;
  spanRows?: number;
  spanCols?: number;
  entityUuid?: string;
}

From that we can change each cell to set its grid-column and grid-row to include the span: grid-column: x / span spanCols.

The challenging thing is going to be computing all of the emptyCells based on how many "cells" total there are, minus how many cells are taken up by content.

Maximize Grid Box

  • When you hover over a box, in the bottom right corner appears a maximize button.
  • Clicking the Maximize button causes a grid box to change its size to match the whole column and the nearby column (prefers the right column). For example, in a 4x3 grid, a maximized grid would become 2x3 size. The maximize button becomes a minimize button.

Option: Close on focus loss

Option (default off) to slide down the GM screen on clicking outside the GM screen. Used to avoid having to show and hide the GM screen constantly to use the canvas (since the GM covers so much of the canvas)

Players can view journal titles and images when they have no permissions

Environment Details

  • Foundry Core Version: 0.7.9
  • System & Version: DnD5e 1.2.9
  • OS & Browser: Windows 10, Chrome
  • Hosting: Self Hosted
  • Tested with no other modules enabled

Describe the bug
When the module is NOT in drawer mode, players can access the screen and see the titles of journal sheets, even if they can't see the actual content. Players can also see images when they shouldn't have access.

To Reproduce
Steps to reproduce the behavior:

  1. Disable drawer mode
  2. Open GM screen on a non-GM client via the journal tab of Foundry VTT
  3. See error

Expected behavior
Players should either not be able to access the GM screen, or should not be able to view journal entry titles in the dropdown boxes.

Screenshots
What the player sees, according to permission settings they should not have access to any of these entries:

image

Pressing Escape hides the GM Screen button!

Environment Details

  • Foundry Core Version: 0.7.9
  • System & Version: Dark Heresy
  • OS & Browser: Windows 10, Chromium Edge
  • Hosting: AWS

Describe the bug
Pressing escape (for example to close all open windows) hides the GM Screen button forever! Only comes back after a refresh

To Reproduce
Steps to reproduce the behavior:

  1. Just press Escape and the GM Screen hides completely

Expected behavior
GM Screen button should never hide :)

Add a player screen separate from the GM Screen

Is your feature request related to a problem? Please describe.
It's not related ti a problem but it would be useful to have a version of the screen visible to the players in which to put rules, reminders and such things. Also having the possibility to have different "tabs" in the gm screen for better organization.

Describe the solution you'd like
Having the chance to create a "player screen", a gm screen visible to the olayers. It could be useful for when you have players new to the system to give them a quick look at rules or journals.
Also having the chance of creating different gm screens that can be navigated using tabs so a gm can organize his stuff better and be able to check more stuff without having too many things on a single grid

Possible Module Conflict affecting Health Estimate

Health Estimates took eons to show up with GM Screen active and without were much faster. Not super sure what all could cause that but I'm guessing it was GM Screen + something else, which happened to affect Health Estimates

Module List, originally reported by Zamrod
message (5).txt

Blocks the "ESC" menu from working

Environment Details

  • Foundry Core Version: 0.7.9
  • System & Version: Savage Worlds Adventure Edition 0.16.2
  • OS & Browser: Chrome
  • Hosting: self hosting
    (Forge, Self Hosted, Electron App, etc might be relevant)

Describe the bug
Pressing "ESC" no longer opens the menu attached.
image

To Reproduce
press ESC.

Expected behavior
Open menu

image

Drawer Mode prevents default "esc" key behavior

Environment Details

  • Foundry Core Version: 0.7.9
  • System & Version: shadowrun5e 1.0.4, Cyberpunk RED - CORE 0.49
  • OS & Browser: Linux, chrome and firefox
  • Hosting: Tested with Electron App and Self Hosting
    (Forge, Self Hosted, Electron App, etc might be relevant)

Describe the bug
Tested with shadowrun and cyberpunk red - core: Via the electron app, the 'GM Scxreen' tab vanishes if the user presses escape. I tested this with both shadowrun and cyberpunk red - core.

Tested with shadowrun: If self-hosted, the 'GM Screen' tab remains, but tokens are 'sticky'. Pressing escape will not let go of them, and the user is forced to select a different mode (such as the measuring tool) to deselect a token.

To Reproduce
Steps to reproduce the behavior:

  1. Enable GM Screen plugin.
  2. Enable 'Display as drawer'.
  3. Select a token.
  4. Press escape.

Expected behavior
Pressing escape should de-select a token, while retaining the 'GM Screen' tab.

Screenshots
If applicable, add screenshots to help explain your problem.

Notepad Cell

The ability to define a cell as a free text notepad to write notes. It may support Markdown but doesn't need the whole WYSIWYG support and overhead.

Secrets are not shown in GM screen

If a Journal entry contains a secret block, it should be shown to the GM in the GM screen, but it is currently hidden.

Reproduce

  • Create a journal entry with two paragraphs
  • Select second paragraph and apply format "Custom / Secret"
  • Save journal entry and add it to GM screen

[Compatibility] Use column-count on Monster Blocks.

For column spanning, you can use the column-count property to have monster blocks match its columns to the span. This is in place of column-width. Some allowance will need made to keep the horizontal dividers in check (so they only span one column).

Fresh activation of 2.0.0 breaks in migrations

Environment Details

  • Foundry Core Version: 0.7.9
  • System & Version: SWADE (current version)
  • OS & Browser: Windows 10, Chrome
  • Hosting: Self hosted docker

Describe the bug
When activating the module after installing 2.0.0 it breaks when executing the migrations:

migration.js:23 Uncaught (in promise) TypeError: Cannot read property 'entries' of undefined
    at _gmScreenMigrate (migration.js:23)
    at foundryvtt-gmScreen.js:40
    at Function._call (foundry.js:2496)
    at Function.callAll (foundry.js:2456)
    at Game.setupGame (foundry.js:6560)
    at async Game._initializeGameView (foundry.js:7319)
    at async Game.initialize (foundry.js:6471)

I'm not 100% sure if I had the module active in that world before and deactivated it in the meantime. But it wasn't active when I updated to 2.0.0.

Configurable Height and Width and bottom right position

A configurable width would allow for 1x1 or 1x2 smaller GM screens with defined width that is smaller than width of canvas.

Bottom right position would allow the GM screen to appear as a column in desired part of the bottom screen, not exactly bottom right corner. For example 50px would allow for 50px empty space between GM screen and the chat sidebar.

Keybinding to show/hide GM Screen

For GMs used to keyboard bindings, to quickly show, check something and close GM Screen
For example, Q. But should be configurable, so left-handed people ca use P or O.

Combat Active Token's Actor Sheet Cell

Might be nice to have a dynamic actor box that changes to the actor sheet for whatever token's turn it is. Possibly a micro-combat tracker with an "up next" token.

This feels like it could be a separate module that has a dependency on gmScreen, but if so I'd want to know how to add such a module to the screen as it likely wouldn't be drag/droppable from somewhere.

Emulate a window better to trick sheet modules into working

We should have a DOM that looks like this:

div.window-app
  div.gm-screen-container.window-content
    div.grid
      div.grid-cell
        div.grid-cell-header
        div.grid-cell-content-wrapper
          div.grid-cell-content
            <!-- injected sheet form -->

to allow some sheet modules (monsterblock) to pretend the window-content and window-app elements exist.

Additionally, need to verify that widths of children can be 100%ed correctly. suspect a flex issue.

Render HTML and links for Roll Tables

Is your feature request related to a problem? Please describe.
Some roll tables (like the official Savage Worlds ones) contain HTML and/or Links to Compendium Entries in their descriptions / results which is rendered properly in chat cards when rolling. When adding a roll table to the GM screen, it is displayed in a nice "read" mode, but HTML and links are not rendered properly.

Describe the solution you'd like
HTML as well as links (@Compendium[...]) should be rendered properly to improve the readability of such tables.

Additional context
image

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.