mirror of
https://github.com/Foundryborne/daggerheart.git
synced 2026-01-12 03:31:07 +01:00
[PR] [Feature] Remember the position and size of the compendium browser (#1123)
* Remember the position and size of the compendium browser * Save position, size details for the 3 types of compendium browser --------- Co-authored-by: Chris Ryan <chrisr@blackhole>
This commit is contained in:
parent
cc6ef0b7bf
commit
952779000d
2 changed files with 36 additions and 4 deletions
|
|
@ -16,6 +16,7 @@ export class ItemBrowser extends HandlebarsApplicationMixin(ApplicationV2) {
|
||||||
this.selectedMenu = { path: [], data: null };
|
this.selectedMenu = { path: [], data: null };
|
||||||
this.config = CONFIG.DH.ITEMBROWSER.compendiumConfig;
|
this.config = CONFIG.DH.ITEMBROWSER.compendiumConfig;
|
||||||
this.presets = {};
|
this.presets = {};
|
||||||
|
this.compendiumBrowserTypeKey = 'compendiumBrowserDefault';
|
||||||
}
|
}
|
||||||
|
|
||||||
/** @inheritDoc */
|
/** @inheritDoc */
|
||||||
|
|
@ -84,10 +85,25 @@ export class ItemBrowser extends HandlebarsApplicationMixin(ApplicationV2) {
|
||||||
/** @inheritDoc */
|
/** @inheritDoc */
|
||||||
async _preRender(context, options) {
|
async _preRender(context, options) {
|
||||||
this.presets = options.presets ?? {};
|
this.presets = options.presets ?? {};
|
||||||
|
const noFolder = this.presets?.render?.noFolder;
|
||||||
const width = this.presets?.render?.noFolder === true || this.presets?.render?.lite === true ? 600 : 850;
|
if (noFolder === true) {
|
||||||
if (this.rendered) this.setPosition({ width });
|
this.compendiumBrowserTypeKey = 'compendiumBrowserNoFolder';
|
||||||
else options.position.width = width;
|
}
|
||||||
|
const lite = this.presets?.render?.lite;
|
||||||
|
if (lite === true) {
|
||||||
|
this.compendiumBrowserTypeKey = 'compendiumBrowserLite';
|
||||||
|
}
|
||||||
|
const userPresetPosition = game.user.getFlag(CONFIG.DH.id, CONFIG.DH.FLAGS[`${this.compendiumBrowserTypeKey}`].position) ;
|
||||||
|
|
||||||
|
options.position = userPresetPosition ?? ItemBrowser.DEFAULT_OPTIONS.position;
|
||||||
|
|
||||||
|
if (!userPresetPosition) {
|
||||||
|
const width = noFolder === true || lite === true ? 600 : 850;
|
||||||
|
if (this.rendered)
|
||||||
|
this.setPosition({ width });
|
||||||
|
else
|
||||||
|
options.position.width = width;
|
||||||
|
}
|
||||||
|
|
||||||
await super._preRender(context, options);
|
await super._preRender(context, options);
|
||||||
}
|
}
|
||||||
|
|
@ -113,6 +129,10 @@ export class ItemBrowser extends HandlebarsApplicationMixin(ApplicationV2) {
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
_onPosition(position) {
|
||||||
|
game.user.setFlag(CONFIG.DH.id, CONFIG.DH.FLAGS[`${this.compendiumBrowserTypeKey}`].position, position);
|
||||||
|
}
|
||||||
|
|
||||||
_attachPartListeners(partId, htmlElement, options) {
|
_attachPartListeners(partId, htmlElement, options) {
|
||||||
super._attachPartListeners(partId, htmlElement, options);
|
super._attachPartListeners(partId, htmlElement, options);
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -8,6 +8,18 @@ export const encounterCountdown = {
|
||||||
position: 'countdown-encounter-position'
|
position: 'countdown-encounter-position'
|
||||||
};
|
};
|
||||||
|
|
||||||
|
export const compendiumBrowserDefault = {
|
||||||
|
position: 'compendium-browser-default-position'
|
||||||
|
};
|
||||||
|
|
||||||
|
export const compendiumBrowserNoFolder = {
|
||||||
|
position: 'compendium-browser-no-folder-position'
|
||||||
|
};
|
||||||
|
|
||||||
|
export const compendiumBrowserLite = {
|
||||||
|
position: 'compendium-browser-lite-position'
|
||||||
|
};
|
||||||
|
|
||||||
export const itemAttachmentSource = 'attachmentSource';
|
export const itemAttachmentSource = 'attachmentSource';
|
||||||
|
|
||||||
export const userFlags = {
|
export const userFlags = {
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue