mirror of
https://github.com/Kornstalx/5etools-mirror-2.github.io.git
synced 2025-10-28 20:45:35 -05:00
v1.208.0
This commit is contained in:
186
js/dmscreen.js
186
js/dmscreen.js
@@ -768,12 +768,16 @@ class SideMenu {
|
||||
const $wrpResizeH = $(`<div class="w-100 mb-2 split-v-center"><div class="sidemenu__row__label">Height</div></div>`).appendTo(this.$mnu);
|
||||
const $iptHeight = $(`<input class="form-control" type="number" value="${this.board.height}">`).appendTo($wrpResizeH);
|
||||
this.$iptHeight = $iptHeight;
|
||||
const $wrpSetDim = $(`<div class="w-100 split-v-center"/>`).appendTo(this.$mnu);
|
||||
const $wrpSetDim = $(`<div class="w-100 split-v-center"></div>`).appendTo(this.$mnu);
|
||||
const $btnSetDim = $(`<button class="btn btn-primary" style="width: 100%;">Set Dimensions</div>`).appendTo($wrpSetDim);
|
||||
$btnSetDim.on("click", () => {
|
||||
$btnSetDim.on("click", async () => {
|
||||
const w = Number($iptWidth.val());
|
||||
const h = Number($iptHeight.val());
|
||||
if ((w > 10 || h > 10) && !window.confirm("That's a lot of panels. You sure?")) return;
|
||||
|
||||
if (w > 10 || h > 10) {
|
||||
if (!await InputUiUtil.pGetUserBoolean({title: "Too Many Panels", htmlDescription: "That's a lot of panels. Are you sure?", textYes: "Yes", textNo: "Cancel"})) return;
|
||||
}
|
||||
|
||||
this.board.setDimensions(w, h);
|
||||
});
|
||||
renderDivider();
|
||||
@@ -782,7 +786,7 @@ class SideMenu {
|
||||
const $btnFullscreen = $(`<button class="btn btn-primary">Toggle Fullscreen</button>`).appendTo($wrpFullscreen);
|
||||
this.board.$btnFullscreen = $btnFullscreen;
|
||||
$btnFullscreen.on("click", () => this.board.doToggleFullscreen());
|
||||
const $btnLockPanels = $(`<button class="btn btn-danger" title="Lock Panels"><span class="glyphicon glyphicon-lock"/></button>`).appendTo($wrpFullscreen);
|
||||
const $btnLockPanels = $(`<button class="btn btn-danger" title="Lock Panels"><span class="glyphicon glyphicon-lock"></span></button>`).appendTo($wrpFullscreen);
|
||||
this.board.$btnLockPanels = $btnLockPanels;
|
||||
$btnLockPanels.on("click", () => {
|
||||
this.board.isLocked = !this.board.isLocked;
|
||||
@@ -798,8 +802,8 @@ class SideMenu {
|
||||
});
|
||||
renderDivider();
|
||||
|
||||
const $wrpSaveLoad = $(`<div class="w-100"/>`).appendTo(this.$mnu);
|
||||
const $wrpSaveLoadFile = $(`<div class="w-100 mb-2 ve-flex-vh-center-around"/>`).appendTo($wrpSaveLoad);
|
||||
const $wrpSaveLoad = $(`<div class="w-100"></div>`).appendTo(this.$mnu);
|
||||
const $wrpSaveLoadFile = $(`<div class="w-100 mb-2 ve-flex-vh-center-around"></div>`).appendTo($wrpSaveLoad);
|
||||
const $btnSaveFile = $(`<button class="btn btn-primary">Save to File</button>`).appendTo($wrpSaveLoadFile);
|
||||
$btnSaveFile.on("click", () => {
|
||||
DataUtil.userDownload(`dm-screen`, this.board.getSaveableState(), {fileType: "dm-screen"});
|
||||
@@ -814,7 +818,7 @@ class SideMenu {
|
||||
this.board.doReset();
|
||||
await this.board.pDoLoadStateFrom(jsons[0]);
|
||||
});
|
||||
const $wrpSaveLoadUrl = $(`<div class="w-100 ve-flex-vh-center-around"/>`).appendTo($wrpSaveLoad);
|
||||
const $wrpSaveLoadUrl = $(`<div class="w-100 ve-flex-vh-center-around"></div>`).appendTo($wrpSaveLoad);
|
||||
const $btnSaveLink = $(`<button class="btn btn-primary">Save to URL</button>`).appendTo($wrpSaveLoadUrl);
|
||||
$btnSaveLink.on("click", async () => {
|
||||
const encoded = `${window.location.href.split("#")[0]}#${encodeURIComponent(JSON.stringify(this.board.getSaveableState()))}`;
|
||||
@@ -827,16 +831,15 @@ class SideMenu {
|
||||
this.board.$cbConfirmTabClose = $(`<input type="checkbox" class="sidemenu__row__label__cb">`).appendTo($wrpCbConfirm.find(`label`));
|
||||
renderDivider();
|
||||
|
||||
const $wrpReset = $(`<div class="w-100 split-v-center"/>`).appendTo(this.$mnu);
|
||||
const $wrpReset = $(`<div class="w-100 split-v-center"></div>`).appendTo(this.$mnu);
|
||||
const $btnReset = $(`<button class="btn btn-danger" style="width: 100%;">Reset Screen</button>`).appendTo($wrpReset);
|
||||
$btnReset.on("click", () => {
|
||||
if (window.confirm("Are you sure?")) {
|
||||
this.board.doReset();
|
||||
}
|
||||
$btnReset.on("click", async () => {
|
||||
if (!await InputUiUtil.pGetUserBoolean({title: "Reset", htmlDescription: "Are you sure?", textYes: "Yes", textNo: "Cancel"})) return;
|
||||
this.board.doReset();
|
||||
});
|
||||
renderDivider();
|
||||
|
||||
this.$wrpHistory = $(`<div class="sidemenu__history"/>`).appendTo(this.$mnu);
|
||||
this.$wrpHistory = $(`<div class="sidemenu__history"></div>`).appendTo(this.$mnu);
|
||||
}
|
||||
|
||||
doUpdateDimensions () {
|
||||
@@ -857,10 +860,10 @@ class SideMenu {
|
||||
});
|
||||
}
|
||||
this.board.exiledPanels.forEach((p, i) => {
|
||||
const $wrpHistItem = $(`<div class="sidemenu__history-item"/>`).appendTo(this.$wrpHistory);
|
||||
const $cvrHistItem = $(`<div class="sidemenu__history-item-cover"/>`).appendTo($wrpHistItem);
|
||||
const $btnRemove = $(`<div class="panel-history-control-remove-wrapper"><span class="panel-history-control-remove glyphicon glyphicon-remove" title="Remove"/></div>`).appendTo($cvrHistItem);
|
||||
const $ctrlMove = $(`<div class="panel-history-control-middle" title="Move"/>`).appendTo($cvrHistItem);
|
||||
const $wrpHistItem = $(`<div class="sidemenu__history-item"></div>`).appendTo(this.$wrpHistory);
|
||||
const $cvrHistItem = $(`<div class="sidemenu__history-item-cover"></div>`).appendTo($wrpHistItem);
|
||||
const $btnRemove = $(`<div class="panel-history-control-remove-wrapper"><span class="panel-history-control-remove glyphicon glyphicon-remove" title="Remove"></span></div>`).appendTo($cvrHistItem);
|
||||
const $ctrlMove = $(`<div class="panel-history-control-middle" title="Move"></div>`).appendTo($cvrHistItem);
|
||||
|
||||
$btnRemove.on("click", () => {
|
||||
this.board.exiledPanels[i].destroy();
|
||||
@@ -1205,8 +1208,8 @@ class Panel {
|
||||
|
||||
const fn = Renderer.hover.getFnRenderCompact(page);
|
||||
|
||||
const $contentInner = $(`<div class="panel-content-wrapper-inner"/>`);
|
||||
const $contentStats = $(`<table class="w-100 stats"/>`).appendTo($contentInner);
|
||||
const $contentInner = $(`<div class="panel-content-wrapper-inner"></div>`);
|
||||
const $contentStats = $(`<table class="w-100 stats"></table>`).appendTo($contentInner);
|
||||
$contentStats.append(fn(it));
|
||||
|
||||
const fnBind = Renderer.hover.getFnBindListenersCompact(page);
|
||||
@@ -1397,8 +1400,8 @@ class Panel {
|
||||
hash,
|
||||
).then(it => {
|
||||
ScaleCreature.scale(it, targetCr).then(initialRender => {
|
||||
const $contentInner = $(`<div class="panel-content-wrapper-inner"/>`);
|
||||
const $contentStats = $(`<table class="w-100 stats"/>`).appendTo($contentInner);
|
||||
const $contentInner = $(`<div class="panel-content-wrapper-inner"></div>`);
|
||||
const $contentStats = $(`<table class="w-100 stats"></table>`).appendTo($contentInner);
|
||||
$contentStats.append(Renderer.monster.getCompactRenderedString(initialRender, {isShowScalers: true, isScaledCr: true}));
|
||||
|
||||
this._stats_bindCrScaleClickHandler(it, meta, $contentInner, $contentStats);
|
||||
@@ -1428,8 +1431,8 @@ class Panel {
|
||||
hash,
|
||||
).then(it => {
|
||||
ScaleSpellSummonedCreature.scale(it, summonSpellLevel).then(scaledMon => {
|
||||
const $contentInner = $(`<div class="panel-content-wrapper-inner"/>`);
|
||||
const $contentStats = $(`<table class="w-100 stats"/>`).appendTo($contentInner);
|
||||
const $contentInner = $(`<div class="panel-content-wrapper-inner"></div>`);
|
||||
const $contentStats = $(`<table class="w-100 stats"></table>`).appendTo($contentInner);
|
||||
$contentStats.append(Renderer.monster.getCompactRenderedString(scaledMon, {isShowScalers: true, isScaledSpellSummon: true}));
|
||||
|
||||
this._stats_doUpdateSummonScaleDropdowns(scaledMon, $contentStats);
|
||||
@@ -1461,8 +1464,8 @@ class Panel {
|
||||
hash,
|
||||
).then(it => {
|
||||
ScaleClassSummonedCreature.scale(it, summonClassLevel).then(scaledMon => {
|
||||
const $contentInner = $(`<div class="panel-content-wrapper-inner"/>`);
|
||||
const $contentStats = $(`<table class="w-100 stats"/>`).appendTo($contentInner);
|
||||
const $contentInner = $(`<div class="panel-content-wrapper-inner"></div>`);
|
||||
const $contentStats = $(`<table class="w-100 stats"></table>`).appendTo($contentInner);
|
||||
$contentStats.append(Renderer.monster.getCompactRenderedString(scaledMon, {isShowScalers: true, isScaledClassSummon: true}));
|
||||
|
||||
this._stats_doUpdateSummonScaleDropdowns(scaledMon, $contentStats);
|
||||
@@ -1554,7 +1557,7 @@ class Panel {
|
||||
this.set$ContentTab(
|
||||
PANEL_TYP_ROLLBOX,
|
||||
null,
|
||||
$(`<div class="panel-content-wrapper-inner"/>`).append(Renderer.dice.get$Roller().addClass("rollbox-panel")),
|
||||
$(`<div class="panel-content-wrapper-inner"></div>`).append(Renderer.dice.get$Roller().addClass("rollbox-panel")),
|
||||
title || "Dice Roller",
|
||||
true,
|
||||
!!title,
|
||||
@@ -1565,7 +1568,7 @@ class Panel {
|
||||
this.set$ContentTab(
|
||||
PANEL_TYP_COUNTER,
|
||||
state,
|
||||
$(`<div class="panel-content-wrapper-inner"/>`).append(Counter.$getCounter(this.board, state)),
|
||||
$(`<div class="panel-content-wrapper-inner"></div>`).append(Counter.$getCounter(this.board, state)),
|
||||
title || "Counter",
|
||||
true,
|
||||
);
|
||||
@@ -1575,7 +1578,7 @@ class Panel {
|
||||
this.set$ContentTab(
|
||||
PANEL_TYP_UNIT_CONVERTER,
|
||||
state,
|
||||
$(`<div class="panel-content-wrapper-inner"/>`).append(UnitConverter.make$Converter(this.board, state)),
|
||||
$(`<div class="panel-content-wrapper-inner"></div>`).append(UnitConverter.make$Converter(this.board, state)),
|
||||
title || "Unit Converter",
|
||||
true,
|
||||
);
|
||||
@@ -1585,7 +1588,7 @@ class Panel {
|
||||
this.set$ContentTab(
|
||||
PANEL_TYP_MONEY_CONVERTER,
|
||||
state,
|
||||
$(`<div class="panel-content-wrapper-inner"/>`).append(MoneyConverter.make$Converter(this.board, state)),
|
||||
$(`<div class="panel-content-wrapper-inner"></div>`).append(MoneyConverter.make$Converter(this.board, state)),
|
||||
title || "Money Converter",
|
||||
true,
|
||||
);
|
||||
@@ -1595,7 +1598,7 @@ class Panel {
|
||||
this.set$ContentTab(
|
||||
PANEL_TYP_TIME_TRACKER,
|
||||
state,
|
||||
$(`<div class="panel-content-wrapper-inner"/>`).append(TimeTracker.$getTracker(this.board, state)),
|
||||
$(`<div class="panel-content-wrapper-inner"></div>`).append(TimeTracker.$getTracker(this.board, state)),
|
||||
title || "Time Tracker",
|
||||
true,
|
||||
);
|
||||
@@ -1605,7 +1608,7 @@ class Panel {
|
||||
this.set$ContentTab(
|
||||
PANEL_TYP_TEXTBOX,
|
||||
null,
|
||||
$(`<div class="panel-content-wrapper-inner ve-overflow-y-hidden"/>`).append(NoteBox.make$Notebox(this.board, content)),
|
||||
$(`<div class="panel-content-wrapper-inner ve-overflow-y-hidden"></div>`).append(NoteBox.make$Notebox(this.board, content)),
|
||||
title,
|
||||
true,
|
||||
);
|
||||
@@ -1639,7 +1642,7 @@ class Panel {
|
||||
this.set$ContentTab(
|
||||
PANEL_TYP_TWITCH_CHAT,
|
||||
meta,
|
||||
$(`<div class="panel-content-wrapper-inner"><iframe src="${url}?parent=${location.hostname}" frameborder="0" scrolling="no" id="${channelId}"/></div>`),
|
||||
$(`<div class="panel-content-wrapper-inner"><iframe src="${url}?parent=${location.hostname}" frameborder="0" scrolling="no" id="${channelId}"></iframe></div>`),
|
||||
title,
|
||||
true,
|
||||
);
|
||||
@@ -1650,7 +1653,7 @@ class Panel {
|
||||
this.set$ContentTab(
|
||||
PANEL_TYP_GENERIC_EMBED,
|
||||
meta,
|
||||
$(`<div class="panel-content-wrapper-inner"><iframe src="${url}"/></div>`),
|
||||
$(`<div class="panel-content-wrapper-inner"><iframe src="${url}"></iframe></div>`),
|
||||
title,
|
||||
true,
|
||||
);
|
||||
@@ -1658,10 +1661,10 @@ class Panel {
|
||||
|
||||
doPopulate_Image (url, title = "Image") {
|
||||
const meta = {u: url};
|
||||
const $wrpPanel = $(`<div class="panel-content-wrapper-inner"/>`);
|
||||
const $wrpImage = $(`<div class="panel-content-wrapper-img"/>`).appendTo($wrpPanel);
|
||||
const $wrpPanel = $(`<div class="panel-content-wrapper-inner"></div>`);
|
||||
const $wrpImage = $(`<div class="panel-content-wrapper-img"></div>`).appendTo($wrpPanel);
|
||||
const $img = $(`<img src="${url}" alt="${title}" loading="lazy">`).appendTo($wrpImage);
|
||||
const $iptReset = $(`<button class="panel-zoom-reset btn btn-xs btn-default"><span class="glyphicon glyphicon-refresh"/></button>`).appendTo($wrpPanel);
|
||||
const $iptReset = $(`<button class="panel-zoom-reset btn btn-xs btn-default"><span class="glyphicon glyphicon-refresh"></span></button>`).appendTo($wrpPanel);
|
||||
const $iptRange = $(`<input type="range" class="panel-zoom-slider">`).appendTo($wrpPanel);
|
||||
this.set$ContentTab(
|
||||
PANEL_TYP_IMAGE,
|
||||
@@ -1683,7 +1686,7 @@ class Panel {
|
||||
this.set$ContentTab(
|
||||
PANEL_TYP_ADVENTURE_DYNAMIC_MAP,
|
||||
state,
|
||||
$(`<div class="panel-content-wrapper-inner"/>`).append(DmMapper.$getMapper(this.board, state)),
|
||||
$(`<div class="panel-content-wrapper-inner"></div>`).append(DmMapper.$getMapper(this.board, state)),
|
||||
title || "Map Viewer",
|
||||
true,
|
||||
);
|
||||
@@ -1693,7 +1696,7 @@ class Panel {
|
||||
this.set$ContentTab(
|
||||
PANEL_TYP_ERROR,
|
||||
state,
|
||||
$(`<div class="panel-content-wrapper-inner"/>`).append(`<div class="w-100 h-100 ve-flex-vh-center text-danger"><div>${state.message}</div></div>`),
|
||||
$(`<div class="panel-content-wrapper-inner"></div>`).append(`<div class="w-100 h-100 ve-flex-vh-center text-danger"><div>${state.message}</div></div>`),
|
||||
title,
|
||||
true,
|
||||
);
|
||||
@@ -1704,7 +1707,7 @@ class Panel {
|
||||
this.set$ContentTab(
|
||||
PANEL_TYP_BLANK,
|
||||
meta,
|
||||
$(`<div class="dm-blank__panel"/>`),
|
||||
$(`<div class="dm-blank__panel"></div>`),
|
||||
title,
|
||||
true,
|
||||
);
|
||||
@@ -2094,22 +2097,22 @@ class Panel {
|
||||
};
|
||||
|
||||
function doInitialRender () {
|
||||
const $pnl = $(`<div data-panelId="${this.id}" class="dm-screen-panel min-w-0 min-h-0" empty="true"/>`);
|
||||
const $pnl = $(`<div data-panelId="${this.id}" class="dm-screen-panel min-w-0 min-h-0" empty="true"></div>`);
|
||||
this.$pnl = $pnl;
|
||||
const $ctrlBar = $(`<div class="panel-control-bar"/>`).appendTo($pnl);
|
||||
this.$pnlTitle = $(`<div class="panel-control-bar panel-control-title"/>`).appendTo($pnl).click(() => this.$pnlTitle.toggleClass("panel-control-title--bumped"));
|
||||
this.$pnlAddTab = $(`<div class="panel-control-bar panel-control-addtab"><div class="panel-control-icon glyphicon glyphicon-plus" title="Add Tab"/></div>`).click(() => {
|
||||
const $ctrlBar = $(`<div class="panel-control-bar"></div>`).appendTo($pnl);
|
||||
this.$pnlTitle = $(`<div class="panel-control-bar panel-control-title"></div>`).appendTo($pnl).click(() => this.$pnlTitle.toggleClass("panel-control-title--bumped"));
|
||||
this.$pnlAddTab = $(`<div class="panel-control-bar panel-control-addtab"><div class="panel-control-icon glyphicon glyphicon-plus" title="Add Tab"></div></div>`).click(() => {
|
||||
this.setIsTabs(true);
|
||||
this.setDirty(true);
|
||||
this.render();
|
||||
openAddMenu();
|
||||
}).appendTo($pnl);
|
||||
|
||||
const $ctrlMove = $(`<div class="panel-control-icon glyphicon glyphicon-move" title="Move"/>`).appendTo($ctrlBar);
|
||||
const $ctrlMove = $(`<div class="panel-control-icon glyphicon glyphicon-move" title="Move"></div>`).appendTo($ctrlBar);
|
||||
$ctrlMove.on("click", () => {
|
||||
this.toggleMovable();
|
||||
});
|
||||
const $ctrlEmpty = $(`<div class="panel-control-icon glyphicon glyphicon-remove" title="Close"/>`).appendTo($ctrlBar);
|
||||
const $ctrlEmpty = $(`<div class="panel-control-icon glyphicon glyphicon-remove" title="Close"></div>`).appendTo($ctrlBar);
|
||||
$ctrlEmpty.on("click", () => {
|
||||
this.getReplacementPanel();
|
||||
});
|
||||
@@ -2118,9 +2121,9 @@ class Panel {
|
||||
this.joyMenu = joyMenu;
|
||||
joyMenu.initialise();
|
||||
|
||||
const $wrpContent = $(`<div class="panel-content-wrapper"/>`).appendTo($pnl);
|
||||
const $wrpBtnAdd = $(`<div class="panel-add"/>`).appendTo($wrpContent);
|
||||
const $btnAdd = $(`<span class="btn-panel-add glyphicon glyphicon-plus"/>`)
|
||||
const $wrpContent = $(`<div class="panel-content-wrapper"></div>`).appendTo($pnl);
|
||||
const $wrpBtnAdd = $(`<div class="panel-add"></div>`).appendTo($wrpContent);
|
||||
const $btnAdd = $(`<span class="btn-panel-add glyphicon glyphicon-plus"></span>`)
|
||||
.on("click", () => {
|
||||
openAddMenu();
|
||||
})
|
||||
@@ -2144,13 +2147,13 @@ class Panel {
|
||||
this.$btnAddInner = $btnAdd;
|
||||
this.$pnlWrpContent = $wrpContent;
|
||||
|
||||
const $wrpTabs = $(`<div class="content-tab-bar ve-flex"/>`).hideVe().appendTo($pnl);
|
||||
const $wrpTabsInner = $(`<div class="content-tab-bar-inner"/>`).on("wheel", (evt) => {
|
||||
const $wrpTabs = $(`<div class="content-tab-bar ve-flex"></div>`).hideVe().appendTo($pnl);
|
||||
const $wrpTabsInner = $(`<div class="content-tab-bar-inner"></div>`).on("wheel", (evt) => {
|
||||
const delta = evt.originalEvent.deltaY;
|
||||
const curr = $wrpTabsInner.scrollLeft();
|
||||
$wrpTabsInner.scrollLeft(Math.max(0, curr + delta));
|
||||
}).appendTo($wrpTabs);
|
||||
const $btnTabAdd = $(`<button class="btn btn-default content-tab"><span class="glyphicon glyphicon-plus"/></button>`)
|
||||
const $btnTabAdd = $(`<button class="btn btn-default content-tab"><span class="glyphicon glyphicon-plus"></span></button>`)
|
||||
.click(() => openAddMenu()).appendTo($wrpTabsInner);
|
||||
this.$pnlWrpTabs = $wrpTabs;
|
||||
this.$pnlTabs = $wrpTabsInner;
|
||||
@@ -2280,8 +2283,11 @@ class Panel {
|
||||
_get$BtnSelTab (ix, title, tabCanRename) {
|
||||
title = title || "[Untitled]";
|
||||
|
||||
const doCloseTabWithConfirmation = () => {
|
||||
if (!this.board.getConfirmTabClose() || (this.board.getConfirmTabClose() && confirm(`Are you sure you want to close tab "${this.tabDatas[ix].title}"?`))) this.doCloseTab(ix);
|
||||
const doCloseTabWithConfirmation = async () => {
|
||||
if (this.board.getConfirmTabClose()) {
|
||||
if (!await InputUiUtil.pGetUserBoolean({title: "Close Tab", htmlDescription: `Are you sure you want to close tab "${this.tabDatas[ix].title}"?`, textYes: "Yes", textNo: "Cancel"})) return;
|
||||
}
|
||||
this.doCloseTab(ix);
|
||||
};
|
||||
|
||||
const $btnSelTab = $(`<span class="btn btn-default content-tab ve-flex ${tabCanRename ? "content-tab-can-rename" : ""}"><span class="content-tab-title ve-overflow-ellipsis" title="${title}">${title}</span></span>`)
|
||||
@@ -2303,7 +2309,7 @@ class Panel {
|
||||
}
|
||||
}
|
||||
});
|
||||
const $btnCloseTab = $(`<span class="glyphicon glyphicon-remove content-tab-remove"/>`)
|
||||
const $btnCloseTab = $(`<span class="glyphicon glyphicon-remove content-tab-remove"></span>`)
|
||||
.on("mousedown", (evt) => {
|
||||
if (evt.button === 0) {
|
||||
evt.stopPropagation();
|
||||
@@ -2986,13 +2992,13 @@ class AddMenu {
|
||||
render () {
|
||||
if (!this._$menuInner) {
|
||||
this._$menuInner = $(`<div class="ve-flex-col w-100 h-100">`);
|
||||
const $tabBar = $(`<div class="panel-addmenu-bar"/>`).appendTo(this._$menuInner);
|
||||
this.$tabView = $(`<div class="panel-addmenu-view"/>`).appendTo(this._$menuInner);
|
||||
const $tabBar = $(`<div class="panel-addmenu-bar"></div>`).appendTo(this._$menuInner);
|
||||
this.$tabView = $(`<div class="panel-addmenu-view"></div>`).appendTo(this._$menuInner);
|
||||
|
||||
this.tabs.forEach(t => {
|
||||
t.render();
|
||||
const $head = $(`<button class="btn btn-default panel-addmenu-tab-head">${t.label}</button>`).appendTo($tabBar);
|
||||
const $body = $(`<div class="panel-addmenu-tab-body"/>`).appendTo($tabBar);
|
||||
const $body = $(`<div class="panel-addmenu-tab-body"></div>`).appendTo($tabBar);
|
||||
$body.append(t.get$Tab);
|
||||
t.$head = $head;
|
||||
t.$body = $body;
|
||||
@@ -3056,9 +3062,9 @@ class AddMenuVideoTab extends AddMenuTab {
|
||||
|
||||
render () {
|
||||
if (!this.$tab) {
|
||||
const $tab = $(`<div class="ui-search__wrp-output underline-tabs" id="${this.tabId}"/>`);
|
||||
const $tab = $(`<div class="ui-search__wrp-output underline-tabs" id="${this.tabId}"></div>`);
|
||||
|
||||
const $wrpYT = $(`<div class="ui-modal__row"/>`).appendTo($tab);
|
||||
const $wrpYT = $(`<div class="ui-modal__row"></div>`).appendTo($tab);
|
||||
const $iptUrlYT = $(`<input class="form-control" placeholder="Paste YouTube URL">`)
|
||||
.on("keydown", (e) => {
|
||||
if (e.which === 13) $btnAddYT.click();
|
||||
@@ -3081,7 +3087,7 @@ class AddMenuVideoTab extends AddMenuTab {
|
||||
}
|
||||
});
|
||||
|
||||
const $wrpTwitch = $(`<div class="ui-modal__row"/>`).appendTo($tab);
|
||||
const $wrpTwitch = $(`<div class="ui-modal__row"></div>`).appendTo($tab);
|
||||
const $iptUrlTwitch = $(`<input class="form-control" placeholder="Paste Twitch URL">`)
|
||||
.on("keydown", (e) => {
|
||||
if (e.which === 13) $btnAddTwitch.click();
|
||||
@@ -3124,7 +3130,7 @@ class AddMenuVideoTab extends AddMenuTab {
|
||||
}
|
||||
});
|
||||
|
||||
const $wrpGeneric = $(`<div class="ui-modal__row"/>`).appendTo($tab);
|
||||
const $wrpGeneric = $(`<div class="ui-modal__row"></div>`).appendTo($tab);
|
||||
const $iptUrlGeneric = $(`<input class="form-control" placeholder="Paste any URL">`)
|
||||
.on("keydown", (e) => {
|
||||
if (e.which === 13) $iptUrlGeneric.click();
|
||||
@@ -3157,10 +3163,10 @@ class AddMenuImageTab extends AddMenuTab {
|
||||
|
||||
render () {
|
||||
if (!this.$tab) {
|
||||
const $tab = $(`<div class="ui-search__wrp-output underline-tabs" id="${this.tabId}"/>`);
|
||||
const $tab = $(`<div class="ui-search__wrp-output underline-tabs" id="${this.tabId}"></div>`);
|
||||
|
||||
// region Imgur
|
||||
const $wrpImgur = $(`<div class="ui-modal__row"/>`).appendTo($tab);
|
||||
const $wrpImgur = $(`<div class="ui-modal__row"></div>`).appendTo($tab);
|
||||
$(`<span>Imgur (Anonymous Upload) <i class="text-muted">(accepts <a href="https://help.imgur.com/hc/articles/115000083326" target="_blank" rel="noopener noreferrer">imgur-friendly formats</a>)</i></span>`).appendTo($wrpImgur);
|
||||
const $iptFile = $(`<input type="file" class="hidden">`).on("change", (evt) => {
|
||||
const input = evt.target;
|
||||
@@ -3213,7 +3219,7 @@ class AddMenuImageTab extends AddMenuTab {
|
||||
// endregion
|
||||
|
||||
// region URL
|
||||
const $wrpUtl = $(`<div class="ui-modal__row"/>`).appendTo($tab);
|
||||
const $wrpUtl = $(`<div class="ui-modal__row"></div>`).appendTo($tab);
|
||||
const $iptUrl = $(`<input class="form-control" placeholder="Paste image URL">`)
|
||||
.on("keydown", (e) => {
|
||||
if (e.which === 13) $btnAddUrl.click();
|
||||
@@ -3234,7 +3240,7 @@ class AddMenuImageTab extends AddMenuTab {
|
||||
});
|
||||
// endregion
|
||||
|
||||
$(`<hr class="hr-2"/>`).appendTo($tab);
|
||||
$(`<hr class="hr-2">`).appendTo($tab);
|
||||
|
||||
// region Adventure dynamic viewer
|
||||
const $btnSelectAdventure = $(`<button class="btn btn-primary btn-sm">Add</button>`)
|
||||
@@ -3259,7 +3265,7 @@ class AddMenuSpecialTab extends AddMenuTab {
|
||||
|
||||
render () {
|
||||
if (!this.$tab) {
|
||||
const $tab = $(`<div class="ui-search__wrp-output underline-tabs ve-overflow-y-auto pr-1" id="${this.tabId}"/>`);
|
||||
const $tab = $(`<div class="ui-search__wrp-output underline-tabs ve-overflow-y-auto pr-1" id="${this.tabId}"></div>`);
|
||||
|
||||
const $wrpRoller = $(`<div class="ui-modal__row"><span>Dice Roller <i class="text-muted">(pins the existing dice roller to a panel)</i></span></div>`).appendTo($tab);
|
||||
const $btnRoller = $(`<button class="btn btn-primary btn-sm">Pin</button>`).appendTo($wrpRoller);
|
||||
@@ -3267,7 +3273,7 @@ class AddMenuSpecialTab extends AddMenuTab {
|
||||
Renderer.dice.bindDmScreenPanel(this.menu.pnl);
|
||||
this.menu.doClose();
|
||||
});
|
||||
$(`<hr class="hr-2"/>`).appendTo($tab);
|
||||
$(`<hr class="hr-2">`).appendTo($tab);
|
||||
|
||||
const $btnTracker = $(`<button class="btn btn-primary btn-sm">Add</button>`)
|
||||
.on("click", async () => {
|
||||
@@ -3317,7 +3323,7 @@ class AddMenuSpecialTab extends AddMenuTab {
|
||||
${$btnPlayerTrackerV0}
|
||||
</div>`.appendTo($tab);
|
||||
|
||||
$(`<hr class="hr-2"/>`).appendTo($tab);
|
||||
$(`<hr class="hr-2">`).appendTo($tab);
|
||||
|
||||
const $btnSublist = $(`<button class="btn btn-primary btn-sm">Add</button>`)
|
||||
.click(async evt => {
|
||||
@@ -3330,7 +3336,7 @@ class AddMenuSpecialTab extends AddMenuTab {
|
||||
${$btnSublist}
|
||||
</div>`.appendTo($tab);
|
||||
|
||||
$(`<hr class="hr-2"/>`).appendTo($tab);
|
||||
$(`<hr class="hr-2">`).appendTo($tab);
|
||||
|
||||
const $btnSwitchToEmbedTag = $(`<button class="btn btn-default btn-xxs">embed</button>`)
|
||||
.click(() => {
|
||||
@@ -3343,7 +3349,7 @@ class AddMenuSpecialTab extends AddMenuTab {
|
||||
this.menu.pnl.doPopulate_TextBox();
|
||||
this.menu.doClose();
|
||||
});
|
||||
$(`<hr class="hr-2"/>`).appendTo($tab);
|
||||
$(`<hr class="hr-2">`).appendTo($tab);
|
||||
|
||||
const $wrpUnitConverter = $(`<div class="ui-modal__row"><span>Unit Converter</span></div>`).appendTo($tab);
|
||||
const $btnUnitConverter = $(`<button class="btn btn-primary btn-sm">Add</button>`).appendTo($wrpUnitConverter);
|
||||
@@ -3366,7 +3372,7 @@ class AddMenuSpecialTab extends AddMenuTab {
|
||||
this.menu.doClose();
|
||||
});
|
||||
|
||||
$(`<hr class="hr-2"/>`).appendTo($tab);
|
||||
$(`<hr class="hr-2">`).appendTo($tab);
|
||||
|
||||
const $wrpTimeTracker = $(`<div class="ui-modal__row"><span>In-Game Clock/Calendar</span></div>`).appendTo($tab);
|
||||
const $btnTimeTracker = $(`<button class="btn btn-primary btn-sm">Add</button>`).appendTo($wrpTimeTracker);
|
||||
@@ -3375,7 +3381,7 @@ class AddMenuSpecialTab extends AddMenuTab {
|
||||
this.menu.doClose();
|
||||
});
|
||||
|
||||
$(`<hr class="hr-2"/>`).appendTo($tab);
|
||||
$(`<hr class="hr-2">`).appendTo($tab);
|
||||
|
||||
const $wrpBlank = $(`<div class="ui-modal__row"><span class="help" title="For those who don't like plus signs.">Blank Space</span></div>`).appendTo($tab);
|
||||
$(`<button class="btn btn-primary btn-sm">Add</button>`)
|
||||
@@ -3589,8 +3595,8 @@ class AddMenuSearchTab extends AddMenuTab {
|
||||
};
|
||||
|
||||
if (!this.$tab) {
|
||||
const $tab = $(`<div class="ui-search__wrp-output" id="${this.tabId}"/>`);
|
||||
const $wrpCtrls = $(`<div class="ui-search__wrp-controls ui-search__wrp-controls--in-tabs"/>`).appendTo($tab);
|
||||
const $tab = $(`<div class="ui-search__wrp-output" id="${this.tabId}"></div>`);
|
||||
const $wrpCtrls = $(`<div class="ui-search__wrp-controls ui-search__wrp-controls--in-tabs"></div>`).appendTo($tab);
|
||||
|
||||
const $selCat = $(`
|
||||
<select class="form-control ui-search__sel-category">
|
||||
@@ -3606,7 +3612,7 @@ class AddMenuSearchTab extends AddMenuTab {
|
||||
});
|
||||
|
||||
const $srch = $(`<input class="ui-search__ipt-search search form-control" autocomplete="off" placeholder="Search...">`).blurOnEsc().appendTo($wrpCtrls);
|
||||
const $results = $(`<div class="ui-search__wrp-results"/>`).appendTo($tab);
|
||||
const $results = $(`<div class="ui-search__wrp-results"></div>`).appendTo($tab);
|
||||
|
||||
SearchWidget.bindAutoSearch($srch, {
|
||||
flags,
|
||||
@@ -3856,12 +3862,12 @@ class UnitConverter {
|
||||
let ixConv = state.c || 0;
|
||||
let dirConv = state.d || 0;
|
||||
|
||||
const $wrpConverter = $(`<div class="dm-unitconv dm__panel-bg split-column"/>`);
|
||||
const $wrpConverter = $(`<div class="dm-unitconv dm__panel-bg split-column"></div>`);
|
||||
|
||||
const $tblConvert = $(`<table class="w-100 table-striped"/>`).appendTo($wrpConverter);
|
||||
const $tbodyConvert = $(`<tbody/>`).appendTo($tblConvert);
|
||||
const $tblConvert = $(`<table class="w-100 table-striped"></table>`).appendTo($wrpConverter);
|
||||
const $tbodyConvert = $(`<tbody></tbody>`).appendTo($tblConvert);
|
||||
units.forEach((u, i) => {
|
||||
const $tr = $(`<tr class="row clickable"/>`).appendTo($tbodyConvert);
|
||||
const $tr = $(`<tr class="row clickable"></tr>`).appendTo($tbodyConvert);
|
||||
const clickL = () => {
|
||||
ixConv = i;
|
||||
dirConv = 0;
|
||||
@@ -3878,10 +3884,10 @@ class UnitConverter {
|
||||
$(`<td class="ve-col-3 code">×${u.x2.padStart(5)}</td>`).click(clickR).appendTo($tr);
|
||||
});
|
||||
|
||||
const $wrpIpt = $(`<div class="split dm-unitconv__wrp-ipt"/>`).appendTo($wrpConverter);
|
||||
const $wrpIpt = $(`<div class="split dm-unitconv__wrp-ipt"></div>`).appendTo($wrpConverter);
|
||||
|
||||
const $wrpLeft = $(`<div class="split-column dm-unitconv__wrp-ipt-inner"/>`).appendTo($wrpIpt);
|
||||
const $lblLeft = $(`<span class="bold"/>`).appendTo($wrpLeft);
|
||||
const $wrpLeft = $(`<div class="split-column dm-unitconv__wrp-ipt-inner"></div>`).appendTo($wrpIpt);
|
||||
const $lblLeft = $(`<span class="bold"></span>`).appendTo($wrpLeft);
|
||||
const $iptLeft = $(`<textarea class="dm-unitconv__ipt form-control">${state.i || ""}</textarea>`).appendTo($wrpLeft);
|
||||
|
||||
const $btnSwitch = $(`<button class="btn btn-primary dm-unitconv__btn-switch">⇆</button>`).click(() => {
|
||||
@@ -3889,9 +3895,9 @@ class UnitConverter {
|
||||
updateDisplay();
|
||||
}).appendTo($wrpIpt);
|
||||
|
||||
const $wrpRight = $(`<div class="split-column dm-unitconv__wrp-ipt-inner"/>`).appendTo($wrpIpt);
|
||||
const $lblRight = $(`<span class="bold"/>`).appendTo($wrpRight);
|
||||
const $iptRight = $(`<textarea class="dm-unitconv__ipt form-control" disabled style="background: #0000"/>`).appendTo($wrpRight);
|
||||
const $wrpRight = $(`<div class="split-column dm-unitconv__wrp-ipt-inner"></div>`).appendTo($wrpIpt);
|
||||
const $lblRight = $(`<span class="bold"></span>`).appendTo($wrpRight);
|
||||
const $iptRight = $(`<textarea class="dm-unitconv__ipt form-control" disabled style="background: #0000"></textarea>`).appendTo($wrpRight);
|
||||
|
||||
const updateDisplay = () => {
|
||||
const it = units[ixConv];
|
||||
@@ -3972,15 +3978,15 @@ class AdventureOrBookView {
|
||||
}
|
||||
|
||||
$getEle () {
|
||||
this._$titlePrev = $(`<div class="dm-book__controls-title ve-overflow-ellipsis text-right"/>`);
|
||||
this._$titleNext = $(`<div class="dm-book__controls-title ve-overflow-ellipsis"/>`);
|
||||
this._$titlePrev = $(`<div class="dm-book__controls-title ve-overflow-ellipsis text-right"></div>`);
|
||||
this._$titleNext = $(`<div class="dm-book__controls-title ve-overflow-ellipsis"></div>`);
|
||||
|
||||
const $btnPrev = $(`<button class="btn btn-xs btn-default mr-2" title="Previous Chapter"><span class="glyphicon glyphicon-chevron-left"/></button>`)
|
||||
const $btnPrev = $(`<button class="btn btn-xs btn-default mr-2" title="Previous Chapter"><span class="glyphicon glyphicon-chevron-left"></span></button>`)
|
||||
.click(() => this._handleButtonClick(-1));
|
||||
const $btnNext = $(`<button class="btn btn-xs btn-default" title="Next Chapter"><span class="glyphicon glyphicon-chevron-right"/></button>`)
|
||||
const $btnNext = $(`<button class="btn btn-xs btn-default" title="Next Chapter"><span class="glyphicon glyphicon-chevron-right"></span></button>`)
|
||||
.click(() => this._handleButtonClick(1));
|
||||
|
||||
this._$wrpContent = $(`<div class="h-100"/>`);
|
||||
this._$wrpContent = $(`<div class="h-100"></div>`);
|
||||
this._$wrpContentOuter = $$`<div class="h-100 dm-book__wrp-content">
|
||||
<table class="w-100 stats stats--book stats--book-hover"><tr class="text"><td colspan="6">${this._$wrpContent}</td></tr></table>
|
||||
</div>`;
|
||||
|
||||
Reference in New Issue
Block a user