35 lines
979 B
JavaScript
35 lines
979 B
JavaScript
|
|
/**
|
||
|
|
* A Dialog subclass which allows the user to configure export options for a Folder
|
||
|
|
* @extends {Dialog}
|
||
|
|
*/
|
||
|
|
class FolderExport extends Dialog {
|
||
|
|
|
||
|
|
/** @override */
|
||
|
|
activateListeners(html) {
|
||
|
|
super.activateListeners(html);
|
||
|
|
html.find('select[name="pack"]').change(this._onPackChange.bind(this));
|
||
|
|
}
|
||
|
|
|
||
|
|
/* -------------------------------------------- */
|
||
|
|
|
||
|
|
/**
|
||
|
|
* Handle changing the selected pack by updating the dropdown of folders available.
|
||
|
|
* @param {Event} event The input change event
|
||
|
|
*/
|
||
|
|
_onPackChange(event) {
|
||
|
|
const select = this.element.find('select[name="folder"]')[0];
|
||
|
|
const pack = game.packs.get(event.target.value);
|
||
|
|
if ( !pack ) {
|
||
|
|
select.disabled = true;
|
||
|
|
return;
|
||
|
|
}
|
||
|
|
const folders = pack._formatFolderSelectOptions();
|
||
|
|
select.disabled = folders.length === 0;
|
||
|
|
select.innerHTML = HandlebarsHelpers.selectOptions(folders, {hash: {
|
||
|
|
blank: "",
|
||
|
|
nameAttr: "id",
|
||
|
|
labelAttr: "name"
|
||
|
|
}});
|
||
|
|
}
|
||
|
|
}
|