mirror of
https://github.com/Kornstalx/5etools-mirror-2.github.io.git
synced 2025-10-28 20:45:35 -05:00
v1.206.0
This commit is contained in:
160
js/render.js
160
js/render.js
@@ -934,11 +934,11 @@ globalThis.Renderer = function () {
|
||||
};
|
||||
|
||||
this._getPtExpandCollapse = function () {
|
||||
return `<span class="rd__h-toggle ml-2 clickable no-select" data-rd-h-toggle-button="true" title="Toggle Visibility (CTRL to Toggle All)">[\u2013]</span>`;
|
||||
return `<span class="rd__h-toggle ml-2 clickable no-select no-print lst-is-exporting-image__hidden" data-rd-h-toggle-button="true" title="Toggle Visibility (CTRL to Toggle All)">[\u2013]</span>`;
|
||||
};
|
||||
|
||||
this._getPtExpandCollapseSpecial = function () {
|
||||
return `<span class="rd__h-toggle ml-2 clickable no-select" data-rd-h-special-toggle-button="true" title="Toggle Visibility (CTRL to Toggle All)">[\u2013]</span>`;
|
||||
return `<span class="rd__h-toggle ml-2 clickable no-select no-print lst-is-exporting-image__hidden" data-rd-h-special-toggle-button="true" title="Toggle Visibility (CTRL to Toggle All)">[\u2013]</span>`;
|
||||
};
|
||||
|
||||
this._renderInset = function (entry, textStack, meta, options) {
|
||||
@@ -1887,6 +1887,20 @@ globalThis.Renderer = function () {
|
||||
|
||||
break;
|
||||
}
|
||||
case "@5etoolsImg": {
|
||||
const [displayText, page] = Renderer.splitTagByPipe(text);
|
||||
const fauxEntry = {
|
||||
type: "link",
|
||||
href: {
|
||||
type: "external",
|
||||
url: UrlUtil.link(this.getMediaUrl("img", page)),
|
||||
},
|
||||
text: displayText,
|
||||
};
|
||||
this._recursiveRender(fauxEntry, textStack, meta);
|
||||
|
||||
break;
|
||||
}
|
||||
|
||||
// OTHER HOVERABLES ////////////////////////////////////////////////////////////////////////////////
|
||||
case "@footnote": {
|
||||
@@ -2817,7 +2831,7 @@ Renderer.utils = class {
|
||||
let pageLinkPart;
|
||||
if (opts.page) {
|
||||
const hash = UrlUtil.URL_TO_HASH_BUILDER[opts.page](it);
|
||||
dataPart = `data-page="${opts.page}" data-source="${it.source.escapeQuotes()}" data-hash="${hash.escapeQuotes()}" ${opts.extensionData != null ? `data-extension='${JSON.stringify(opts.extensionData).escapeQuotes()}` : ""}'`;
|
||||
dataPart = `data-page="${opts.page}" data-source="${it.source.escapeQuotes()}" data-hash="${hash.escapeQuotes()}" ${opts.extensionData != null ? `data-extension='${JSON.stringify(opts.extensionData).escapeQuotes()}'` : ""}`;
|
||||
pageLinkPart = SourceUtil.getAdventureBookSourceHref(it.source, it.page);
|
||||
|
||||
// Enable Rivet import for entities embedded in entries
|
||||
@@ -3122,28 +3136,31 @@ Renderer.utils = class {
|
||||
return fluff;
|
||||
}
|
||||
|
||||
static async pGetFluff ({entity, pFnPostProcess, fnGetFluffData, fluffUrl, fluffBaseUrl, fluffProp} = {}) {
|
||||
let predefinedFluff = await Renderer.utils.pGetPredefinedFluff(entity, fluffProp);
|
||||
static async _pGetFluff ({entity, fluffProp} = {}) {
|
||||
const fluffEntity = await DataLoader.pCacheAndGet(fluffProp, entity.source, UrlUtil.URL_TO_HASH_BUILDER[fluffProp](entity));
|
||||
if (fluffEntity) return fluffEntity;
|
||||
|
||||
if (entity._versionBase_name && entity._versionBase_source) {
|
||||
return DataLoader.pCacheAndGet(fluffProp, entity.source, UrlUtil.URL_TO_HASH_BUILDER[fluffProp]({
|
||||
name: entity._versionBase_name,
|
||||
source: entity._versionBase_source,
|
||||
}));
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
static async pGetFluff ({entity, pFnPostProcess, fluffProp} = {}) {
|
||||
const predefinedFluff = await Renderer.utils.pGetPredefinedFluff(entity, fluffProp);
|
||||
if (predefinedFluff) {
|
||||
if (pFnPostProcess) predefinedFluff = await pFnPostProcess(predefinedFluff);
|
||||
if (pFnPostProcess) return pFnPostProcess(predefinedFluff);
|
||||
return predefinedFluff;
|
||||
}
|
||||
if (!fnGetFluffData && !fluffBaseUrl && !fluffUrl) return null;
|
||||
|
||||
const fluffIndex = fluffBaseUrl ? await DataUtil.loadJSON(`${Renderer.get().baseUrl}${fluffBaseUrl}fluff-index.json`) : null;
|
||||
if (fluffIndex && !fluffIndex[entity.source]) return null;
|
||||
|
||||
const data = fnGetFluffData ? await fnGetFluffData() : fluffIndex && fluffIndex[entity.source]
|
||||
? await DataUtil.loadJSON(`${Renderer.get().baseUrl}${fluffBaseUrl}${fluffIndex[entity.source]}`)
|
||||
: await DataUtil.loadJSON(`${Renderer.get().baseUrl}${fluffUrl}`);
|
||||
if (!data) return null;
|
||||
|
||||
let fluff = (data[fluffProp] || []).find(it => it.name === entity.name && it.source === entity.source);
|
||||
if (!fluff && entity._versionBase_name && entity._versionBase_source) fluff = (data[fluffProp] || []).find(it => it.name === entity._versionBase_name && it.source === entity._versionBase_source);
|
||||
const fluff = await Renderer.utils._pGetFluff({entity, fluffProp});
|
||||
if (!fluff) return null;
|
||||
|
||||
// Avoid modifying the original object
|
||||
if (pFnPostProcess) fluff = await pFnPostProcess(fluff);
|
||||
if (pFnPostProcess) return pFnPostProcess(fluff);
|
||||
return fluff;
|
||||
}
|
||||
|
||||
@@ -4612,6 +4629,10 @@ Renderer.tag = class {
|
||||
tagName = "5etools";
|
||||
};
|
||||
|
||||
static Tag5etoolsImg = class extends this._TagPipedNoDisplayText {
|
||||
tagName = "5etoolsImg";
|
||||
};
|
||||
|
||||
static TagAdventure = class extends this._TagPipedNoDisplayText {
|
||||
tagName = "adventure";
|
||||
};
|
||||
@@ -5010,6 +5031,7 @@ Renderer.tag = class {
|
||||
new this.TagCoinflip(),
|
||||
|
||||
new this.Tag5etools(),
|
||||
new this.Tag5etoolsImg(),
|
||||
new this.TagAdventure(),
|
||||
new this.TagBook(),
|
||||
new this.TagFilter(),
|
||||
@@ -5361,7 +5383,6 @@ Renderer.feat = class {
|
||||
static pGetFluff (feat) {
|
||||
return Renderer.utils.pGetFluff({
|
||||
entity: feat,
|
||||
fnGetFluffData: DataUtil.featFluff.loadJSON.bind(DataUtil.featFluff),
|
||||
fluffProp: "featFluff",
|
||||
});
|
||||
}
|
||||
@@ -5508,20 +5529,51 @@ Renderer.class = class {
|
||||
);
|
||||
});
|
||||
}
|
||||
|
||||
static pGetFluff (cls) {
|
||||
// Handle legacy/deprecated class fluff
|
||||
// TODO(Future) remove this after ~July 2024
|
||||
if (cls.fluff instanceof Array) {
|
||||
cls = {...cls};
|
||||
cls.fluff = {entries: cls.fluff};
|
||||
}
|
||||
|
||||
return Renderer.utils.pGetFluff({
|
||||
entity: cls,
|
||||
fluffProp: "classFluff",
|
||||
});
|
||||
}
|
||||
};
|
||||
|
||||
Renderer.subclass = class {
|
||||
static getCompactRenderedString (sc) {
|
||||
const entries = MiscUtil.copyFast((sc.subclassFeatures || []).flat());
|
||||
if (entries[0]?.name === sc.name) delete entries[0].name;
|
||||
|
||||
const scEntry = {
|
||||
type: "section",
|
||||
name: sc.name,
|
||||
source: sc.source,
|
||||
page: sc.page,
|
||||
entries: MiscUtil.copyFast((sc.subclassFeatures || []).flat()),
|
||||
entries,
|
||||
};
|
||||
|
||||
return Renderer.hover.getGenericCompactRenderedString(scEntry);
|
||||
}
|
||||
|
||||
static pGetFluff (sc) {
|
||||
return Renderer.utils.pGetFluff({
|
||||
entity: sc,
|
||||
fluffProp: "subclassFluff",
|
||||
});
|
||||
}
|
||||
};
|
||||
|
||||
Renderer.classSubclass = class {
|
||||
static pGetFluff (clsOrSc) {
|
||||
if (clsOrSc.__prop === "subclass") return Renderer.subclass.pGetFluff(clsOrSc);
|
||||
return Renderer.class.pGetFluff(clsOrSc);
|
||||
}
|
||||
};
|
||||
|
||||
Renderer.spell = class {
|
||||
@@ -6083,7 +6135,6 @@ Renderer.spell = class {
|
||||
static pGetFluff (sp) {
|
||||
return Renderer.utils.pGetFluff({
|
||||
entity: sp,
|
||||
fluffBaseUrl: `data/spells/`,
|
||||
fluffProp: "spellFluff",
|
||||
});
|
||||
}
|
||||
@@ -6111,7 +6162,6 @@ Renderer.condition = class {
|
||||
static pGetFluff (it) {
|
||||
return Renderer.utils.pGetFluff({
|
||||
entity: it,
|
||||
fnGetFluffData: it.__prop === "condition" ? DataUtil.conditionFluff.loadJSON.bind(DataUtil.conditionFluff) : null,
|
||||
fluffProp: it.__prop === "condition" ? "conditionFluff" : "diseaseFluff",
|
||||
});
|
||||
}
|
||||
@@ -6131,7 +6181,6 @@ Renderer.background = class {
|
||||
static pGetFluff (bg) {
|
||||
return Renderer.utils.pGetFluff({
|
||||
entity: bg,
|
||||
fnGetFluffData: DataUtil.backgroundFluff.loadJSON.bind(DataUtil.backgroundFluff),
|
||||
fluffProp: "backgroundFluff",
|
||||
});
|
||||
}
|
||||
@@ -6219,7 +6268,6 @@ Renderer.optionalfeature = class {
|
||||
static pGetFluff (ent) {
|
||||
return Renderer.utils.pGetFluff({
|
||||
entity: ent,
|
||||
fnGetFluffData: DataUtil.optionalfeatureFluff.loadJSON.bind(DataUtil.optionalfeatureFluff),
|
||||
fluffProp: "optionalfeatureFluff",
|
||||
});
|
||||
}
|
||||
@@ -6259,7 +6307,6 @@ Renderer.reward = class {
|
||||
static pGetFluff (ent) {
|
||||
return Renderer.utils.pGetFluff({
|
||||
entity: ent,
|
||||
fnGetFluffData: DataUtil.rewardFluff.loadJSON.bind(DataUtil.rewardFluff),
|
||||
fluffProp: "rewardFluff",
|
||||
});
|
||||
}
|
||||
@@ -6766,7 +6813,6 @@ Renderer.race = class {
|
||||
static pGetFluff (race) {
|
||||
return Renderer.utils.pGetFluff({
|
||||
entity: race,
|
||||
fnGetFluffData: DataUtil.raceFluff.loadJSON.bind(DataUtil.raceFluff),
|
||||
fluffProp: "raceFluff",
|
||||
});
|
||||
}
|
||||
@@ -6952,7 +6998,6 @@ Renderer.object = class {
|
||||
static pGetFluff (obj) {
|
||||
return Renderer.utils.pGetFluff({
|
||||
entity: obj,
|
||||
fnGetFluffData: DataUtil.objectFluff.loadJSON.bind(DataUtil.objectFluff),
|
||||
fluffProp: "objectFluff",
|
||||
});
|
||||
}
|
||||
@@ -7087,7 +7132,6 @@ Renderer.traphazard = class {
|
||||
static pGetFluff (ent) {
|
||||
return Renderer.utils.pGetFluff({
|
||||
entity: ent,
|
||||
fnGetFluffData: ent.__prop === "trap" ? DataUtil.trapFluff.loadJSON.bind(DataUtil.trapFluff) : DataUtil.hazardFluff.loadJSON.bind(DataUtil.hazardFluff),
|
||||
fluffProp: ent.__prop === "trap" ? "trapFluff" : "hazardFluff",
|
||||
});
|
||||
}
|
||||
@@ -7529,7 +7573,7 @@ Renderer.monster = class {
|
||||
|
||||
return e_({
|
||||
tag: "select",
|
||||
clazz: "input-xs form-control form-control--minimal w-initial inline-block ve-popwindow__hidden",
|
||||
clazz: "input-xs form-control form-control--minimal w-initial inline-block ve-popwindow__hidden no-print lst-is-exporting-image__hidden",
|
||||
name: "mon__sel-summon-spell-level",
|
||||
children: [
|
||||
e_({tag: "option", val: "-1", text: "\u2014"}),
|
||||
@@ -7547,7 +7591,7 @@ Renderer.monster = class {
|
||||
|
||||
return e_({
|
||||
tag: "select",
|
||||
clazz: "input-xs form-control form-control--minimal w-initial inline-block ve-popwindow__hidden",
|
||||
clazz: "input-xs form-control form-control--minimal w-initial inline-block ve-popwindow__hidden no-print lst-is-exporting-image__hidden",
|
||||
name: "mon__sel-summon-class-level",
|
||||
children: [
|
||||
e_({tag: "option", val: "-1", text: "\u2014"}),
|
||||
@@ -7659,12 +7703,12 @@ Renderer.monster = class {
|
||||
ptCrSpellLevel = `<td colspan="2">
|
||||
${Parser.monCrToFull(mon.cr, {isMythic: !!mon.mythic})}
|
||||
${opts.isShowScalers && !opts.isScaledCr && Parser.isValidCr(mon.cr ? (mon.cr.cr || mon.cr) : null) ? `
|
||||
<button title="Scale Creature By CR (Highly Experimental)" class="mon__btn-scale-cr btn btn-xs btn-default">
|
||||
<button title="Scale Creature By CR (Highly Experimental)" class="mon__btn-scale-cr btn btn-xs btn-default no-print">
|
||||
<span class="glyphicon glyphicon-signal"></span>
|
||||
</button>
|
||||
` : ""}
|
||||
${opts.isScaledCr ? `
|
||||
<button title="Reset CR Scaling" class="mon__btn-reset-cr btn btn-xs btn-default">
|
||||
<button title="Reset CR Scaling" class="mon__btn-reset-cr btn btn-xs btn-default no-print">
|
||||
<span class="glyphicon glyphicon-refresh"></span>
|
||||
</button>
|
||||
` : ""}
|
||||
@@ -7978,8 +8022,7 @@ Renderer.monster = class {
|
||||
static pGetFluff (mon) {
|
||||
return Renderer.utils.pGetFluff({
|
||||
entity: mon,
|
||||
pFnPostProcess: Renderer.monster.postProcessFluff.bind(null, mon),
|
||||
fluffBaseUrl: `data/bestiary/`,
|
||||
pFnPostProcess: Renderer.monster.postProcessFluff.bind(Renderer.monster, mon),
|
||||
fluffProp: "monsterFluff",
|
||||
});
|
||||
}
|
||||
@@ -9413,7 +9456,6 @@ Renderer.item = class {
|
||||
static pGetFluff (item) {
|
||||
return Renderer.utils.pGetFluff({
|
||||
entity: item,
|
||||
fnGetFluffData: DataUtil.itemFluff.loadJSON.bind(DataUtil.itemFluff),
|
||||
fluffProp: "itemFluff",
|
||||
});
|
||||
}
|
||||
@@ -10140,7 +10182,6 @@ Renderer.vehicle = class {
|
||||
static pGetFluff (veh) {
|
||||
return Renderer.utils.pGetFluff({
|
||||
entity: veh,
|
||||
fnGetFluffData: DataUtil.vehicleFluff.loadJSON.bind(DataUtil.vehicleFluff),
|
||||
fluffProp: "vehicleFluff",
|
||||
});
|
||||
}
|
||||
@@ -10226,7 +10267,6 @@ Renderer.language = class {
|
||||
static pGetFluff (it) {
|
||||
return Renderer.utils.pGetFluff({
|
||||
entity: it,
|
||||
fnGetFluffData: DataUtil.languageFluff.loadJSON.bind(DataUtil.languageFluff),
|
||||
fluffProp: "languageFluff",
|
||||
});
|
||||
}
|
||||
@@ -10370,7 +10410,6 @@ Renderer.charoption = class {
|
||||
static pGetFluff (it) {
|
||||
return Renderer.utils.pGetFluff({
|
||||
entity: it,
|
||||
fnGetFluffData: DataUtil.charoptionFluff.loadJSON.bind(DataUtil.charoptionFluff),
|
||||
fluffProp: "charoptionFluff",
|
||||
});
|
||||
}
|
||||
@@ -10490,7 +10529,6 @@ Renderer.recipe = class {
|
||||
static pGetFluff (it) {
|
||||
return Renderer.utils.pGetFluff({
|
||||
entity: it,
|
||||
fnGetFluffData: DataUtil.recipeFluff.loadJSON.bind(DataUtil.recipeFluff),
|
||||
fluffProp: "recipeFluff",
|
||||
});
|
||||
}
|
||||
@@ -11651,9 +11689,14 @@ Renderer.hover = class {
|
||||
* @param [opts.isPopout] If the window should be immediately popped out.
|
||||
* @param [opts.compactReferenceData] Reference (e.g. page/source/hash/others) which can be used to load the contents into the DM screen.
|
||||
* @param [opts.sourceData] Source JSON (as raw as possible) used to construct this popout.
|
||||
* @param [opts.isResizeOnlyWidth]
|
||||
* @param [opts.isHideBottomBorder]
|
||||
*/
|
||||
static getShowWindow ($content, position, opts) {
|
||||
opts = opts || {};
|
||||
const {isHideBottomBorder, isResizeOnlyWidth} = opts;
|
||||
|
||||
if (isHideBottomBorder && !isResizeOnlyWidth) throw new Error(`"isHideBottomBorder" option requires "isResizeOnlyWidth"!`);
|
||||
|
||||
Renderer.hover._doInit();
|
||||
|
||||
@@ -11680,31 +11723,40 @@ Renderer.hover = class {
|
||||
const drag = {};
|
||||
|
||||
const $brdrTopRightResize = $(`<div class="hoverborder__resize-ne"></div>`)
|
||||
.on("mousedown touchstart", (evt) => Renderer.hover._getShowWindow_handleDragMousedown({hoverWindow, hoverId, $hov, drag, $wrpContent}, {evt, type: 1}));
|
||||
.on("mousedown touchstart", (evt) => Renderer.hover._getShowWindow_handleDragMousedown({hoverWindow, hoverId, $hov, drag, $wrpContent}, {evt, type: 1, isResizeOnlyWidth}));
|
||||
if (isResizeOnlyWidth) $brdrTopRightResize.hideVe();
|
||||
|
||||
const $brdrRightResize = $(`<div class="hoverborder__resize-e"></div>`)
|
||||
.on("mousedown touchstart", (evt) => Renderer.hover._getShowWindow_handleDragMousedown({hoverWindow, hoverId, $hov, drag, $wrpContent}, {evt, type: 2}));
|
||||
.on("mousedown touchstart", (evt) => Renderer.hover._getShowWindow_handleDragMousedown({hoverWindow, hoverId, $hov, drag, $wrpContent}, {evt, type: 2, isResizeOnlyWidth}));
|
||||
|
||||
const $brdrBottomRightResize = $(`<div class="hoverborder__resize-se"></div>`)
|
||||
.on("mousedown touchstart", (evt) => Renderer.hover._getShowWindow_handleDragMousedown({hoverWindow, hoverId, $hov, drag, $wrpContent}, {evt, type: 3}));
|
||||
.on("mousedown touchstart", (evt) => Renderer.hover._getShowWindow_handleDragMousedown({hoverWindow, hoverId, $hov, drag, $wrpContent}, {evt, type: 3, isResizeOnlyWidth}));
|
||||
if (isResizeOnlyWidth) $brdrBottomRightResize.hideVe();
|
||||
|
||||
const $brdrBtm = $(`<div class="hoverborder hoverborder--btm ${opts.isBookContent ? "hoverborder-book" : ""}"><div class="hoverborder__resize-s"></div></div>`)
|
||||
.on("mousedown touchstart", (evt) => Renderer.hover._getShowWindow_handleDragMousedown({hoverWindow, hoverId, $hov, drag, $wrpContent}, {evt, type: 4}));
|
||||
const $brdrBtm = $(`<div class="hoverborder hoverborder--btm ${opts.isBookContent ? "hoverborder-book" : ""}"></div>`);
|
||||
const $brdrBtmResize = $(`<div class="hoverborder__resize-s"></div>`)
|
||||
.on("mousedown touchstart", (evt) => Renderer.hover._getShowWindow_handleDragMousedown({hoverWindow, hoverId, $hov, drag, $wrpContent}, {evt, type: 4, isResizeOnlyWidth}))
|
||||
.appendTo($brdrBtm);
|
||||
if (isResizeOnlyWidth) $brdrBtmResize.hideVe();
|
||||
if (isHideBottomBorder) $brdrBtm.hideVe();
|
||||
|
||||
const $brdrBtmLeftResize = $(`<div class="hoverborder__resize-sw"></div>`)
|
||||
.on("mousedown touchstart", (evt) => Renderer.hover._getShowWindow_handleDragMousedown({hoverWindow, hoverId, $hov, drag, $wrpContent}, {evt, type: 5}));
|
||||
.on("mousedown touchstart", (evt) => Renderer.hover._getShowWindow_handleDragMousedown({hoverWindow, hoverId, $hov, drag, $wrpContent}, {evt, type: 5, isResizeOnlyWidth}));
|
||||
if (isResizeOnlyWidth) $brdrBtmLeftResize.hideVe();
|
||||
|
||||
const $brdrLeftResize = $(`<div class="hoverborder__resize-w"></div>`)
|
||||
.on("mousedown touchstart", (evt) => Renderer.hover._getShowWindow_handleDragMousedown({hoverWindow, hoverId, $hov, drag, $wrpContent}, {evt, type: 6}));
|
||||
.on("mousedown touchstart", (evt) => Renderer.hover._getShowWindow_handleDragMousedown({hoverWindow, hoverId, $hov, drag, $wrpContent}, {evt, type: 6, isResizeOnlyWidth}));
|
||||
|
||||
const $brdrTopLeftResize = $(`<div class="hoverborder__resize-nw"></div>`)
|
||||
.on("mousedown touchstart", (evt) => Renderer.hover._getShowWindow_handleDragMousedown({hoverWindow, hoverId, $hov, drag, $wrpContent}, {evt, type: 7}));
|
||||
.on("mousedown touchstart", (evt) => Renderer.hover._getShowWindow_handleDragMousedown({hoverWindow, hoverId, $hov, drag, $wrpContent}, {evt, type: 7, isResizeOnlyWidth}));
|
||||
if (isResizeOnlyWidth) $brdrTopLeftResize.hideVe();
|
||||
|
||||
const $brdrTopResize = $(`<div class="hoverborder__resize-n"></div>`)
|
||||
.on("mousedown touchstart", (evt) => Renderer.hover._getShowWindow_handleDragMousedown({hoverWindow, hoverId, $hov, drag, $wrpContent}, {evt, type: 8}));
|
||||
.on("mousedown touchstart", (evt) => Renderer.hover._getShowWindow_handleDragMousedown({hoverWindow, hoverId, $hov, drag, $wrpContent}, {evt, type: 8, isResizeOnlyWidth}));
|
||||
if (isResizeOnlyWidth) $brdrTopResize.hideVe();
|
||||
|
||||
const $brdrTop = $(`<div class="hoverborder hoverborder--top ${opts.isBookContent ? "hoverborder-book" : ""}" ${opts.isPermanent ? `data-perm="true"` : ""}></div>`)
|
||||
.on("mousedown touchstart", (evt) => Renderer.hover._getShowWindow_handleDragMousedown({hoverWindow, hoverId, $hov, drag, $wrpContent}, {evt, type: 9}))
|
||||
.on("mousedown touchstart", (evt) => Renderer.hover._getShowWindow_handleDragMousedown({hoverWindow, hoverId, $hov, drag, $wrpContent}, {evt, type: 9, isResizeOnlyWidth}))
|
||||
.on("contextmenu", (evt) => {
|
||||
Renderer.hover._contextMenuLastClicked = {
|
||||
hoverId,
|
||||
@@ -11883,7 +11935,7 @@ Renderer.hover = class {
|
||||
if (opts.cbClose) opts.cbClose(hoverWindow);
|
||||
}
|
||||
|
||||
static _getShowWindow_handleDragMousedown ({hoverWindow, hoverId, $hov, drag, $wrpContent}, {evt, type}) {
|
||||
static _getShowWindow_handleDragMousedown ({hoverWindow, hoverId, $hov, drag, $wrpContent}, {evt, type, isResizeOnlyWidth}) {
|
||||
if (evt.which === 0 || evt.which === 1) evt.preventDefault();
|
||||
hoverWindow.zIndex = Renderer.hover._getNextZIndex(hoverId);
|
||||
$hov.css({
|
||||
@@ -11895,11 +11947,11 @@ Renderer.hover = class {
|
||||
drag.startY = EventUtil.getClientY(evt);
|
||||
drag.baseTop = parseFloat($hov.css("top"));
|
||||
drag.baseLeft = parseFloat($hov.css("left"));
|
||||
drag.baseHeight = $wrpContent.height();
|
||||
if (!isResizeOnlyWidth) drag.baseHeight = $wrpContent.height();
|
||||
drag.baseWidth = parseFloat($hov.css("width"));
|
||||
if (type < 9) {
|
||||
$wrpContent.css({
|
||||
"height": drag.baseHeight,
|
||||
...(isResizeOnlyWidth ? {} : {"height": drag.baseHeight}),
|
||||
"max-height": "initial",
|
||||
});
|
||||
$hov.css("max-width", "initial");
|
||||
@@ -12372,6 +12424,8 @@ Renderer.hover = class {
|
||||
case UrlUtil.PG_VEHICLES: return Renderer.vehicle.pGetFluff;
|
||||
case UrlUtil.PG_CHAR_CREATION_OPTIONS: return Renderer.charoption.pGetFluff;
|
||||
case UrlUtil.PG_RECIPES: return Renderer.recipe.pGetFluff;
|
||||
case UrlUtil.PG_TRAPS_HAZARDS: return Renderer.traphazard.pGetFluff;
|
||||
case UrlUtil.PG_CLASSES: return Renderer.classSubclass.pGetFluff;
|
||||
default: return null;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user