ENH: Delete lang

master
U~man 2020-07-11 17:04:31 +02:00
parent d15ae28ab4
commit 96c1cb023e
3 changed files with 46 additions and 14 deletions

View File

@ -108,11 +108,11 @@ export class OseActorSheetCharacter extends OseActorSheet {
if (data.config.encumbrance == "detailed") { if (data.config.encumbrance == "detailed") {
if (weight > data.encumbrance.max) { if (weight > data.encumbrance.max) {
data.data.movement.base = 0; data.data.movement.base = 0;
} else if (weight > (800 + delta)) { } else if (weight > 800 + delta) {
data.data.movement.base = 30; data.data.movement.base = 30;
} else if (weight > (600 + delta)) { } else if (weight > 600 + delta) {
data.data.movement.base = 60; data.data.movement.base = 60;
} else if (weight > (400 + delta)) { } else if (weight > 400 + delta) {
data.data.movement.base = 90; data.data.movement.base = 90;
} else { } else {
data.data.movement.base = 120; data.data.movement.base = 120;
@ -145,10 +145,9 @@ export class OseActorSheetCharacter extends OseActorSheet {
} }
} }
async _chooseLang() { async _chooseLang() {
let choices = CONFIG.OSE.languages; let choices = CONFIG.OSE.languages;
let templateData = { choices: choices }, let templateData = { choices: choices },
dlg = await renderTemplate( dlg = await renderTemplate(
"/systems/ose/templates/actors/dialogs/lang-create.html", "/systems/ose/templates/actors/dialogs/lang-create.html",
@ -165,7 +164,7 @@ export class OseActorSheetCharacter extends OseActorSheet {
icon: '<i class="fas fa-check"></i>', icon: '<i class="fas fa-check"></i>',
callback: (html) => { callback: (html) => {
resolve({ resolve({
choice: html.find('select[name="choice"]').val() choice: html.find('select[name="choice"]').val(),
}); });
}, },
}, },
@ -182,22 +181,33 @@ export class OseActorSheetCharacter extends OseActorSheet {
_pushLang(table) { _pushLang(table) {
const data = this.actor.data.data; const data = this.actor.data.data;
let update = duplicate(data[table]); let update = duplicate(data[table]);
this._chooseLang().then(dialogInput => { this._chooseLang().then((dialogInput) => {
const name = CONFIG.OSE.languages[dialogInput.choice]; const name = CONFIG.OSE.languages[dialogInput.choice];
console.log(name); console.log(name);
if (update.value) { if (update.value) {
update.value.push(name); update.value.push(name);
} else { } else {
update = {value: [name]}; update = { value: [name] };
} }
let newData = {}; let newData = {};
newData[table] = update; newData[table] = update;
return this.actor.update({data: newData}).then(() => { return this.actor.update({ data: newData }).then(() => {
this.render(true); this.render(true);
}); });
}); });
} }
_popLang(table, lang) {
const data = this.actor.data.data;
let update = data[table].value.filter((el) => el != lang);
console.log(update);
let newData = {};
newData[table] = {value: update};
return this.actor.update({ data: newData }).then(() => {
this.render(true);
});
}
/* -------------------------------------------- */ /* -------------------------------------------- */
async _onQtChange(event) { async _onQtChange(event) {
@ -236,8 +246,7 @@ export class OseActorSheetCharacter extends OseActorSheet {
this.actor.deleteOwnedItem(li.data("itemId")); this.actor.deleteOwnedItem(li.data("itemId"));
li.slideUp(200, () => this.render(false)); li.slideUp(200, () => this.render(false));
}); });
// Delete Inventory Item
html.find(".item-push").click((ev) => { html.find(".item-push").click((ev) => {
event.preventDefault(); event.preventDefault();
const header = event.currentTarget; const header = event.currentTarget;
@ -245,6 +254,16 @@ export class OseActorSheetCharacter extends OseActorSheet {
this._pushLang(table); this._pushLang(table);
}); });
html.find(".item-pop").click((ev) => {
event.preventDefault();
const header = event.currentTarget;
const table = header.dataset.array;
this._popLang(
table,
$(event.currentTarget).closest(".item").data("lang")
);
});
html.find(".item-create").click((event) => { html.find(".item-create").click((event) => {
event.preventDefault(); event.preventDefault();
const header = event.currentTarget; const header = event.currentTarget;
@ -317,7 +336,7 @@ export class OseActorSheetCharacter extends OseActorSheet {
} }
}); });
html.find("button[data-action='modifiers']").click(ev => { html.find("button[data-action='modifiers']").click((ev) => {
this._onShowModifiers(ev); this._onShowModifiers(ev);
}); });

View File

@ -42,6 +42,13 @@
padding: 5px; padding: 5px;
li { li {
margin: 0; margin: 0;
&:hover .item-controls {
display: flex;
}
.item-controls {
flex: 0 0 20px;
display:none;
}
} }
} }
} }

View File

@ -13,8 +13,14 @@
</div> </div>
<ol> <ol>
{{#each data.languages.value as |lang|}} {{#each data.languages.value as |lang|}}
<li> <li class="item flexrow" data-lang="{{lang}}">
{{lang}} <div class="item-name">
{{lang}}
</div>
<div class="item-controls">
<a class="item-control item-pop" data-array="languages" title="{{localize 'OSE.Del'}}"><i
class="fa fa-trash"></i></a>
</div>
</li> </li>
{{/each}} {{/each}}
</ol> </ol>