Update Loading bar

2.0
Matheus Clemente 2023-11-08 16:36:04 -03:00
parent eeffb9cba6
commit 7983150350
8 changed files with 152 additions and 110 deletions

View File

@ -31,6 +31,7 @@
} }
.compendium-browser .window-content .parent .content .tab .browser ul { .compendium-browser .window-content .parent .content .tab .browser ul {
overflow-y: auto; overflow-y: auto;
overflow-x: hidden;
height: 100%; height: 100%;
} }
.compendium-browser .window-content .parent .content .tab .settings { .compendium-browser .window-content .parent .content .tab .settings {
@ -57,7 +58,7 @@
width: 350px; width: 350px;
height: 100%; height: 100%;
padding-right: 5px; padding-right: 5px;
overflow: scroll; overflow: auto;
} }
.compendium-browser .list-area { .compendium-browser .list-area {
position: sticky; position: sticky;
@ -67,7 +68,10 @@
width: 400px; width: 400px;
height: 100%; height: 100%;
padding-right: 5px; padding-right: 5px;
overflow-y: scroll; }
.compendium-browser .list-area .loading {
flex: 0;
text-align: center;
} }
.compendium-browser .control-area button { .compendium-browser .control-area button {
background: rgba(0, 0, 0, 0.05); background: rgba(0, 0, 0, 0.05);

View File

@ -3,18 +3,15 @@ const NOT_MIGRATED = "NotMigratedException";
class CompendiumBrowser extends Application { class CompendiumBrowser extends Application {
static get defaultOptions() { static get defaultOptions() {
const options = super.defaultOptions; return mergeObject(super.defaultOptions, {
mergeObject(options, {
title: "CMPBrowser.compendiumBrowser", title: "CMPBrowser.compendiumBrowser",
tabs: [{ navSelector: ".tabs", contentSelector: ".content", initial: "spell" }], tabs: [{ navSelector: ".tabs", contentSelector: ".content", initial: "spell" }],
classes: options.classes.concat("compendium-browser"), classes: ["compendium-browser"],
template: "modules/compendium-browser/template/template.html", template: "modules/compendium-browser/template/template.html",
width: 800, width: 800,
height: 700, height: 730,
resizable: true, resizable: true,
minimizable: true,
}); });
return options;
} }
get maxLoad() { get maxLoad() {

View File

@ -1,60 +1,75 @@
{ {
"CMPBrowser.compendiumBrowser": "Compendium Browser", "CMPBrowser": {
"CMPBrowser.sortBy": "Sort by", "compendiumBrowser": "Compendium Browser",
"CMPBrowser.generalSettings": "General Settings", "sortBy": "Sort by",
"CMPBrowser.allowSpellAcc": "Allow Players Access to the spell browser", "generalSettings": "General Settings",
"CMPBrowser.allowFeatAcc": "Allow Players Access to the feat browser", "allowSpellAcc": "Allow Players Access to the spell browser",
"CMPBrowser.allowItemAcc": "Allow Players Access to the item browser", "allowFeatAcc": "Allow Players Access to the feat browser",
"CMPBrowser.allowNpcAcc": "Allow Players Access to the npc browser", "allowItemAcc": "Allow Players Access to the item browser",
"CMPBrowser.compSettingsSpell": "Item Compendium Settings", "allowNpcAcc": "Allow Players Access to the npc browser",
"CMPBrowser.compSettingsNpc": "NPC Compendium Settings", "compSettingsSpell": "Item Compendium Settings",
"CMPBrowser.load": "Load", "compSettingsNpc": "NPC Compendium Settings",
"CMPBrowser.castingTime": "Casting Time", "load": "Load",
"CMPBrowser.spellType": "Spell Type", "castingTime": "Casting Time",
"CMPBrowser.damageType": "Damage Type", "spellType": "Spell Type",
"CMPBrowser.UsesResources": "Uses Resources", "damageType": "Damage Type",
"CMPBrowser.GameMechanics": "Game Mechanics", "UsesResources": "Uses Resources",
"CMPBrowser.ItemSubtype": "Item Subtype", "GameMechanics": "Game Mechanics",
"CMPBrowser.MagicItems": "Magic Items", "ItemSubtype": "Item Subtype",
"CMPBrowser.ItemsPacks": "Packs", "MagicItems": "Magic Items",
"CMPBrowser.ItemsPacksBurglar": "Burglar's Pack", "ItemsPacks": "Packs",
"CMPBrowser.ItemsPacksDiplomat": "Diplomat's Pack", "ItemsPacksBurglar": "Burglar's Pack",
"CMPBrowser.ItemsPacksDungeoneer": "Dungeoneer's Pack", "ItemsPacksDiplomat": "Diplomat's Pack",
"CMPBrowser.ItemsPacksEntertainer": "Entertainer's Pack", "ItemsPacksDungeoneer": "Dungeoneer's Pack",
"CMPBrowser.ItemsPacksExplorer": "Explorer's Pack", "ItemsPacksEntertainer": "Entertainer's Pack",
"CMPBrowser.ItemsPacksMonsterHunter": "Monster Hunter's Pack", "ItemsPacksExplorer": "Explorer's Pack",
"CMPBrowser.ItemsPacksPriest": "Priest's Pack", "ItemsPacksMonsterHunter": "Monster Hunter's Pack",
"CMPBrowser.ItemsPacksScholar": "Scholar's Pack", "ItemsPacksPriest": "Priest's Pack",
"CMPBrowser.artificer": "Artificer", "ItemsPacksScholar": "Scholar's Pack",
"CMPBrowser.barbarian": "Barbarian", "artificer": "Artificer",
"CMPBrowser.bard": "Bard", "barbarian": "Barbarian",
"CMPBrowser.cleric": "Cleric", "bard": "Bard",
"CMPBrowser.druid": "Druid", "cleric": "Cleric",
"CMPBrowser.fighter": "Fighter", "druid": "Druid",
"CMPBrowser.monk": "Monk", "fighter": "Fighter",
"CMPBrowser.paladin": "Paladin", "monk": "Monk",
"CMPBrowser.ranger": "Ranger", "paladin": "Paladin",
"CMPBrowser.rogue": "Rogue", "ranger": "Ranger",
"CMPBrowser.sorcerer": "Sorcerer", "rogue": "Rogue",
"CMPBrowser.warlock": "Warlock", "sorcerer": "Sorcerer",
"CMPBrowser.wizard": "Wizard", "warlock": "Warlock",
"CMPBrowser.general": "General", "wizard": "Wizard",
"CMPBrowser.overall": "Overall Type", "general": "General",
"CMPBrowser.subfeature": "Subfeature Type", "overall": "Overall Type",
"CMPBrowser.hasSpells": "Has Spells", "subfeature": "Subfeature Type",
"CMPBrowser.hasLegAct": "Has Legendary Actions", "hasSpells": "Has Spells",
"CMPBrowser.hasLegRes": "Has Legendary Resistance", "hasLegAct": "Has Legendary Actions",
"CMPBrowser.dmgInteraction": "Damage Interaction", "hasLegRes": "Has Legendary Resistance",
"CMPBrowser.dmgDealt": "Damage Dealt", "dmgInteraction": "Damage Interaction",
"CMPBrowser.Tab.SpellBrowser": "Spell Browser", "dmgDealt": "Damage Dealt",
"CMPBrowser.Tab.FeatBrowser": "Feat Browser", "Tab": {
"CMPBrowser.Tab.ItemBrowser": "Item Browser", "SpellBrowser": "Spell Browser",
"CMPBrowser.Tab.NPCBrowser": "NPC Browser", "FeatBrowser": "Feat Browser",
"CMPBrowser.Tab.Settings": "Settings", "ItemBrowser": "Item Browser",
"CMPBrowser.SETTING.Maxload.NAME": "Maximum load", "NPCBrowser": "NPC Browser",
"CMPBrowser.SETTING.Maxload.HINT": "Maximum number of spells, feats, items, or NPCs to display; to see more use the filters. This setting is to allow manageing memory and server load.", "Settings": "Settings"
"CMPBrowser.LOADING.Message": "Loading...{numLoaded} {itemType}s", },
"CMPBrowser.LOADED.Message": "Loaded {numLoaded} {itemType}s", "SETTING": {
"CMPBrowser.LOADED.MaxLoaded": "(maximum displayed; to see more, use the filters)", "Maxload.NAME": "Maximum load",
"CMPBrowser.Filters.ResetFilters": "Reset Filters" "Maxload.HINT": "Maximum number of spells, feats, items, or NPCs to display; to see more use the filters. This setting is to allow manageing memory and server load."
},
"LOADING": {
"Message": "Loading...{numLoaded} {itemType}s"
},
"LOADED": {
"Message": {
"feat": "Loaded {numLoaded} feats",
"item": "Loaded {numLoaded} items",
"npc": "Loaded {numLoaded} npcs",
"spell": "Loaded {numLoaded} spells"
},
"MaxLoaded": "(maximum displayed; to see more, use the filters)"
},
"Filters.ResetFilters": "Reset Filters"
}
} }

View File

@ -2,8 +2,15 @@
<div class="control-area"> <div class="control-area">
<div class="filtercontainer" id="tagfilter"> <div class="filtercontainer" id="tagfilter">
<div class="filter" data-type="text" data-path="name"> <div class="filter" data-type="text" data-path="name">
<input class="" name="textFilter" type="text" value="" data-dtype="String" placeholder="{{localize <input
"Name"}}"/> class=""
name="textFilter"
type="text"
value=""
data-dtype="String"
placeholder="{{localize
'Name'}}"
/>
</div> </div>
<dl id="sorter"> <dl id="sorter">
<dt>{{localize "CMPBrowser.sortBy"}}:</dt> <dt>{{localize "CMPBrowser.sortBy"}}:</dt>
@ -20,9 +27,9 @@
{{> "modules/compendium-browser/template/filter-container.html" filters=featFilters}} {{> "modules/compendium-browser/template/filter-container.html" filters=featFilters}}
</div> </div>
<div class="list-area flexcol"> <div class="list-area flexcol">
<span id="CBFeatsMessage" style="flex: 0"></span>
<ul id="CBFeats"> <ul id="CBFeats">
{{> "modules/compendium-browser/template/feat-browser-list.html" feats=items}} {{> "modules/compendium-browser/template/feat-browser-list.html" feats=items}}
</ul> </ul>
<span class="loading" id="CBFeatsMessage" style="flex: 0"></span>
</div> </div>
</div> </div>

View File

@ -2,8 +2,15 @@
<div class="control-area"> <div class="control-area">
<div class="filtercontainer" id="tagfilter"> <div class="filtercontainer" id="tagfilter">
<div class="filter" data-type="text" data-path="name"> <div class="filter" data-type="text" data-path="name">
<input class="" name="textFilter" type="text" value="" data-dtype="String" placeholder="{{localize <input
"Name"}}"/> class=""
name="textFilter"
type="text"
value=""
data-dtype="String"
placeholder="{{localize
'Name'}}"
/>
</div> </div>
<dl id="sorter"> <dl id="sorter">
<dt>{{localize "CMPBrowser.sortBy"}}:</dt> <dt>{{localize "CMPBrowser.sortBy"}}:</dt>
@ -20,9 +27,9 @@
{{> "modules/compendium-browser/template/filter-container.html" filters=itemFilters}} {{> "modules/compendium-browser/template/filter-container.html" filters=itemFilters}}
</div> </div>
<div class="list-area flexcol"> <div class="list-area flexcol">
<span id="CBItemsMessage" style="flex: 0"></span>
<ul id="CBItems"> <ul id="CBItems">
{{> "modules/compendium-browser/template/item-browser-list.html" items=items}} {{> "modules/compendium-browser/template/item-browser-list.html" items=items}}
</ul> </ul>
<span class="loading" id="CBItemsMessage" style="flex: 0"></span>
</div> </div>
</div> </div>

View File

@ -1,13 +1,15 @@
<img <!-- <img
class="" class=""
src="icons/sundries/books/book-open-turquoise.webp" src="icons/sundries/books/book-open-turquoise.webp"
data-tooltip="Loading book" data-tooltip="Loading book"
data-tooltip-direction="UP" data-tooltip-direction="UP"
width="32" width="32"
height="32" height="32"
/> /> -->
<span class="item-edit"> <span class="item-edit">
{{#if doneLoading}} {{localize "CMPBrowser.LOADED.Message" numLoaded=numLoaded itemType=itemType}} {{else}} {{#if doneLoading}} {{localize (concat "CMPBrowser.LOADED.Message." itemType) numLoaded=numLoaded}}
{{localize "CMPBrowser.LOADING.Message" numLoaded=numLoaded itemType=itemType}} {{/if}} {{#if maxLoaded}}{{localize <!-- -->
"CMPBrowser.LOADED.MaxLoaded"}}{{/if}} {{else}} {{localize "CMPBrowser.LOADING.Message" numLoaded=numLoaded itemType=itemType}} {{/if}}
<!-- -->
{{#if maxLoaded}}{{localize "CMPBrowser.LOADED.MaxLoaded"}}{{/if}}
</span> </span>

View File

@ -2,8 +2,15 @@
<div class="control-area"> <div class="control-area">
<div class="filtercontainer" id="tagfilter"> <div class="filtercontainer" id="tagfilter">
<div class="filter" data-type="text" data-path="name"> <div class="filter" data-type="text" data-path="name">
<input class="" name="textFilter" type="text" value="" data-dtype="String" placeholder="{{localize <input
"Name"}}"/> class=""
name="textFilter"
type="text"
value=""
data-dtype="String"
placeholder="{{localize
'Name'}}"
/>
</div> </div>
<dl id="sorter"> <dl id="sorter">
<dt>{{localize "CMPBrowser.sortBy"}}:</dt> <dt>{{localize "CMPBrowser.sortBy"}}:</dt>
@ -21,9 +28,9 @@
{{> "modules/compendium-browser/template/filter-container.html" filters=npcFilters}} {{> "modules/compendium-browser/template/filter-container.html" filters=npcFilters}}
</div> </div>
<div class="list-area flexcol"> <div class="list-area flexcol">
<span id="CBNpcsMessage" style="flex: 0"></span>
<ul id="CBNPCs"> <ul id="CBNPCs">
{{> "modules/compendium-browser/template/npc-browser-list.html" npcs=npcs}} {{> "modules/compendium-browser/template/npc-browser-list.html" npcs=npcs}}
</ul> </ul>
<span class="loading" id="CBNpcsMessage" style="flex: 0"></span>
</div> </div>
</div> </div>

View File

@ -2,8 +2,15 @@
<div class="control-area"> <div class="control-area">
<div class="filtercontainer" id="tagfilter"> <div class="filtercontainer" id="tagfilter">
<div class="filter" data-type="text" data-path="name"> <div class="filter" data-type="text" data-path="name">
<input class="" name="textFilter" type="text" value="" <input
data-dtype="String" placeholder="{{localize "Name"}}"/> class=""
name="textFilter"
type="text"
value=""
data-dtype="String"
placeholder="{{localize
'Name'}}"
/>
</div> </div>
<dl id="sorter"> <dl id="sorter">
<dt>{{localize "CMPBrowser.sortBy"}}:</dt> <dt>{{localize "CMPBrowser.sortBy"}}:</dt>
@ -14,19 +21,15 @@
</select> </select>
</dd> </dd>
</dl> </dl>
<button id="reset-spell-filter"> <button id="reset-spell-filter">{{localize "CMPBrowser.Filters.ResetFilters"}}</button>
{{localize "CMPBrowser.Filters.ResetFilters"}}
</button>
<!-- <button id="copy-search-spell">Export to <i class="fa-brands fa-square-js"></i></button> --> <!-- <button id="copy-search-spell">Export to <i class="fa-brands fa-square-js"></i></button> -->
</div> </div>
{{> "modules/compendium-browser/template/filter-container.html" {{> "modules/compendium-browser/template/filter-container.html" filters=spellFilters}}
filters=spellFilters}}
</div> </div>
<div class="list-area flexcol"> <div class="list-area flexcol">
<span id="CBSpellsMessage" style="flex: 0"></span>
<ul id="CBSpells"> <ul id="CBSpells">
{{> "modules/compendium-browser/template/spell-browser-list.html" {{> "modules/compendium-browser/template/spell-browser-list.html" spells=items}}
spells=items}}
</ul> </ul>
<span class="loading" id="CBSpellsMessage" style="flex: 0"></span>
</div> </div>
</div> </div>