This commit is contained in:
TheGiddyLimit
2024-06-23 22:13:57 +01:00
parent ed9833eefc
commit e5844f8a3f
279 changed files with 38254 additions and 7675 deletions

View File

@@ -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>`;