Work towards better editing of embedded items
This commit is contained in:
parent
0496be73b0
commit
10dcec3bd7
12 changed files with 136 additions and 77 deletions
|
|
@ -16,7 +16,7 @@
|
|||
background: #048A81;
|
||||
color: white;
|
||||
}
|
||||
.dotdungeon.dotdungeon.dotdungeon.dotdungeon > .window-content button.confirm:hover, .dotdungeon.dotdungeon.dotdungeon.dotdungeon > .window-content button.confirm:focus {
|
||||
.dotdungeon.dotdungeon.dotdungeon.dotdungeon > .window-content button.confirm:hover, .dotdungeon.dotdungeon.dotdungeon.dotdungeon > .window-content button.confirm:focus-visible {
|
||||
background: transparent;
|
||||
color: #048A81;
|
||||
border-color: #048A81;
|
||||
|
|
@ -25,7 +25,7 @@
|
|||
background: #007ACC;
|
||||
color: white;
|
||||
}
|
||||
.dotdungeon.dotdungeon.dotdungeon.dotdungeon > .window-content button.neutral:hover, .dotdungeon.dotdungeon.dotdungeon.dotdungeon > .window-content button.neutral:focus {
|
||||
.dotdungeon.dotdungeon.dotdungeon.dotdungeon > .window-content button.neutral:hover, .dotdungeon.dotdungeon.dotdungeon.dotdungeon > .window-content button.neutral:focus-visible {
|
||||
background: transparent;
|
||||
color: #007ACC;
|
||||
border-color: #007ACC;
|
||||
|
|
@ -34,7 +34,7 @@
|
|||
background: #960200;
|
||||
color: white;
|
||||
}
|
||||
.dotdungeon.dotdungeon.dotdungeon.dotdungeon > .window-content button.danger:hover, .dotdungeon.dotdungeon.dotdungeon.dotdungeon > .window-content button.danger:focus {
|
||||
.dotdungeon.dotdungeon.dotdungeon.dotdungeon > .window-content button.danger:hover, .dotdungeon.dotdungeon.dotdungeon.dotdungeon > .window-content button.danger:focus-visible {
|
||||
background: transparent;
|
||||
color: #960200;
|
||||
border-color: #960200;
|
||||
|
|
|
|||
|
|
@ -118,7 +118,7 @@
|
|||
background: #048A81;
|
||||
color: white;
|
||||
}
|
||||
.dotdungeon.dotdungeon.dotdungeon.dotdungeon > .window-content button.confirm:hover, .dotdungeon.dotdungeon.dotdungeon.dotdungeon > .window-content button.confirm:focus {
|
||||
.dotdungeon.dotdungeon.dotdungeon.dotdungeon > .window-content button.confirm:hover, .dotdungeon.dotdungeon.dotdungeon.dotdungeon > .window-content button.confirm:focus-visible {
|
||||
background: transparent;
|
||||
color: #048A81;
|
||||
border-color: #048A81;
|
||||
|
|
@ -127,7 +127,7 @@
|
|||
background: #007ACC;
|
||||
color: white;
|
||||
}
|
||||
.dotdungeon.dotdungeon.dotdungeon.dotdungeon > .window-content button.neutral:hover, .dotdungeon.dotdungeon.dotdungeon.dotdungeon > .window-content button.neutral:focus {
|
||||
.dotdungeon.dotdungeon.dotdungeon.dotdungeon > .window-content button.neutral:hover, .dotdungeon.dotdungeon.dotdungeon.dotdungeon > .window-content button.neutral:focus-visible {
|
||||
background: transparent;
|
||||
color: #007ACC;
|
||||
border-color: #007ACC;
|
||||
|
|
@ -136,7 +136,7 @@
|
|||
background: #960200;
|
||||
color: white;
|
||||
}
|
||||
.dotdungeon.dotdungeon.dotdungeon.dotdungeon > .window-content button.danger:hover, .dotdungeon.dotdungeon.dotdungeon.dotdungeon > .window-content button.danger:focus {
|
||||
.dotdungeon.dotdungeon.dotdungeon.dotdungeon > .window-content button.danger:hover, .dotdungeon.dotdungeon.dotdungeon.dotdungeon > .window-content button.danger:focus-visible {
|
||||
background: transparent;
|
||||
color: #960200;
|
||||
border-color: #960200;
|
||||
|
|
@ -328,6 +328,14 @@
|
|||
.dotdungeon .actor--pc .panel--aspect .panel__content textarea {
|
||||
resize: vertical;
|
||||
}
|
||||
.dotdungeon .actor--pc .panel--aspect .aspect__used {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 4px;
|
||||
}
|
||||
.dotdungeon .actor--pc .panel--aspect .aspect__used--input {
|
||||
margin: 0;
|
||||
}
|
||||
.dotdungeon .actor--pc .panel--weapons {
|
||||
grid-area: weapons;
|
||||
}
|
||||
|
|
@ -385,12 +393,6 @@
|
|||
.dotdungeon .actor--pc .panel--spells .spell .placeholder {
|
||||
opacity: 75%;
|
||||
}
|
||||
.dotdungeon .actor--pc .panel--spells .spell__actions {
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
justify-content: end;
|
||||
gap: 4px;
|
||||
}
|
||||
.dotdungeon .actor--pc .panel--mounts {
|
||||
grid-area: mounts;
|
||||
}
|
||||
|
|
@ -400,6 +402,12 @@
|
|||
.dotdungeon .actor--pc .panel--storage {
|
||||
grid-area: storage;
|
||||
}
|
||||
.dotdungeon .actor--pc .actions {
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
justify-content: end;
|
||||
gap: 4px;
|
||||
}
|
||||
|
||||
@container (max-width: 620px) {
|
||||
.dotdungeon .actor--pc {
|
||||
|
|
@ -482,4 +490,4 @@
|
|||
resize: vertical;
|
||||
}
|
||||
|
||||
/*# sourceMappingURL=data:application/json;charset=utf-8,%7B%22version%22:3,%22sourceRoot%22:%22%22,%22sources%22:%5B%22../styles/generic.scss%22,%22../styles/mixins/_foundry.scss%22,%22../styles/_vars.scss%22,%22../styles/mixins/_partials.scss%22,%22../styles/global/icons.scss%22,%22../styles/global/buttons.scss%22,%22../styles/sheets/partials/stat.scss%22,%22../styles/sheets/partials/skill.scss%22,%22../styles/sheets/partials/panel.scss%22,%22../styles/mixins/_breakpoints.scss%22,%22../styles/sheets/actor/mvp.scss%22,%22../styles/sheets/actor/sync/basic.scss%22,%22../styles/sheets/items/aspect.scss%22,%22../styles/sheets/items/spell.scss%22%5D,%22names%22:%5B%5D,%22mappings%22:%22AAIQ;AAKP;EACC;;AAED;EACC;;AAGD;ECfA;EACA;EACA;EDeC,aEhBW;EFiBX;;AAGD;EACC;;AAGD;ECzBA;EACA;EACA;EDyBC;EACA;;AAEA;EACC;;AAIF;AAAA;AAAA;EAGC;EGpCD;EACA;EACA;EACA;EACA;EACA,aDLW;;ACOX;AAAA;AAAA;AAAA;AAAA;EAEC;;AH+BD;EACC;;AAGD;EACC;;AAEA;EACC;;;AAMH;EACC;;AAEA;EACC;EACA,YEzDW;;AF2DX;EACC;EACA,aE/DS;EFgET;;;AIhEF;EACC;EACA;EACA;;AAIC;EACC;EACA;;AAFD;EACC;EACA;;AAFD;EACC;EACA;;AAFD;EACC;EACA;;AAFD;EACC;EACA;;AAFD;EACC;EACA;;AAFD;EACC;EACA;;;ACTH;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACC,YHXc;EGYd,OHXe;;AGYf;EACC;EACA,OHfa;EGgBb,cHhBa;;AGoBf;EACC,YHlBc;EGmBd,OHlBe;;AGmBf;EACC;EACA,OHtBa;EGuBb,cHvBa;;AG2Bf;EACC,YHzBa;EG0Bb,OHzBc;;AG0Bd;EACC;EACA,OH7BY;EG8BZ,cH9BY;;AGkCd;EACC;;AAID;EACC;;AACA;EACC;;;ACvDJ;EACC;EACA;EACA;;ACHD;EACC;EACA;EACA;EACA;EACA;EACA;;AAEA;EACC;EACA;EACA;EACA;;AAEA;EACC;EACA;EACA;EACA;;;ACdH;EACC;EACA;EAEA;;AAEA;EACC;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EPlBD;EACA;EACA;EOkBE;EACA;EACA,aNrBU;EMsBV;;AAGD;EAEC,QADO;EAEP,OAFO;EAGP;;AAIF;EACC;;;AC7BD;EDkCA;IACC;IACA;;;AExCF;EACC;EACA,qBACC;EASD;EACA,oBACC;EAGD;EACA;;AAEA;EACC;EACA;EACA;EACA;;AAEA;EACC;;AAIA;EACC;;AAMF;EACC;;AACA;EACC;EACA;;AAGD;EACC;;AAGF;EACC;;AACA;EACC;EACA;EACA;EACA;EACA;EACA;;AAGF;EACC;;AAEA;EACC;EACA;EACA;EACA;;AAGF;EACC;;AAEA;EACC;EACA;EACA;;AAED;EACC;EACA;;AAED;EACC;;AAGD;EACC;EACA;EACA;;AAGD;AAAA;AAAA;EAGC;EACA;;AAGD;EACC;;AAGF;EACC;;AAEA;EACC;EACA;EACA;;AAGD;AAAA;EAEC;EACA;EACA;;AAEA;AAAA;EACC;;AAIF;EACC;EACA;;AAGF;EACC;;AACA;EACC;EACA;EACA;EACA;;AAEA;EACC;;AAIH;EACC;;AAEA;EACC;EACA;EACA;EACA;;AAEA;EACC;EACA;EACA;EACA;;AAEA;EACC;;AAGF;EACC;EACA;EACA;;AAED;EACC;EACA;EACA;;AAED;EACC;EACA;EACA;EACA;;AAIH;EACC;;AACA;EACC;EACA;EACA;EACA;;AAEA;EACC;;AAIH;EACC;;AAEA;EACC;EACA;EACA;;AAEA;EACC;;AAGD;EACC;EACA;EACA;EACA;;AAIH;EACC;;AAED;EACC;;AAED;EACC;;;AD5NF;ECoOC;IACC;IACA;IACA,qBACC;;EAkBC;IACC;;EAKD;IACC;IACA;;;AD5PL;ECsQC;IACC;IACA;IACA,qBACC;;EAeC;IACC;;;AC9RL;EACC;EACA;EACA;EACA;EACA;;AAEA;EACC;EACA;EACA;;AAGD;EACC;EACA;;AAGD;EACC;EACA;;AAMA;EACC;EACA;;;AFlBH;EE4BG;IACC;IACA;;;ACzCL;EACC;;AAEA;EACC;EACA;EACA;;AAGD;EACC;EACA;;;ACXF;EACC;;AAEA;EACC;EACA;EACA;;AAGD;EACC;EACA%22,%22file%22:%22root.css%22%7D */
|
||||
/*# sourceMappingURL=data:application/json;charset=utf-8,%7B%22version%22:3,%22sourceRoot%22:%22%22,%22sources%22:%5B%22../styles/generic.scss%22,%22../styles/mixins/_foundry.scss%22,%22../styles/_vars.scss%22,%22../styles/mixins/_partials.scss%22,%22../styles/global/icons.scss%22,%22../styles/global/buttons.scss%22,%22../styles/sheets/partials/stat.scss%22,%22../styles/sheets/partials/skill.scss%22,%22../styles/sheets/partials/panel.scss%22,%22../styles/mixins/_breakpoints.scss%22,%22../styles/sheets/actor/mvp.scss%22,%22../styles/sheets/actor/sync/basic.scss%22,%22../styles/sheets/items/aspect.scss%22,%22../styles/sheets/items/spell.scss%22%5D,%22names%22:%5B%5D,%22mappings%22:%22AAIQ;AAKP;EACC;;AAED;EACC;;AAGD;ECfA;EACA;EACA;EDeC,aEhBW;EFiBX;;AAGD;EACC;;AAGD;ECzBA;EACA;EACA;EDyBC;EACA;;AAEA;EACC;;AAIF;AAAA;AAAA;EAGC;EGpCD;EACA;EACA;EACA;EACA;EACA,aDLW;;ACOX;AAAA;AAAA;AAAA;AAAA;EAEC;;AH+BD;EACC;;AAGD;EACC;;AAEA;EACC;;;AAMH;EACC;;AAEA;EACC;EACA,YEzDW;;AF2DX;EACC;EACA,aE/DS;EFgET;;;AIhEF;EACC;EACA;EACA;;AAIC;EACC;EACA;;AAFD;EACC;EACA;;AAFD;EACC;EACA;;AAFD;EACC;EACA;;AAFD;EACC;EACA;;AAFD;EACC;EACA;;AAFD;EACC;EACA;;;ACTH;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACC,YHXc;EGYd,OHXe;;AGYf;EACC;EACA,OHfa;EGgBb,cHhBa;;AGoBf;EACC,YHlBc;EGmBd,OHlBe;;AGmBf;EACC;EACA,OHtBa;EGuBb,cHvBa;;AG2Bf;EACC,YHzBa;EG0Bb,OHzBc;;AG0Bd;EACC;EACA,OH7BY;EG8BZ,cH9BY;;AGkCd;EACC;;AAID;EACC;;AACA;EACC;;;ACvDJ;EACC;EACA;EACA;;ACHD;EACC;EACA;EACA;EACA;EACA;EACA;;AAEA;EACC;EACA;EACA;EACA;;AAEA;EACC;EACA;EACA;EACA;;;ACdH;EACC;EACA;EAEA;;AAEA;EACC;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EPlBD;EACA;EACA;EOkBE;EACA;EACA,aNrBU;EMsBV;;AAGD;EAEC,QADO;EAEP,OAFO;EAGP;;AAIF;EACC;;;AC7BD;EDkCA;IACC;IACA;;;AExCF;EACC;EACA,qBACC;EASD;EACA,oBACC;EAGD;EACA;;AAEA;EACC;EACA;EACA;EACA;;AAEA;EACC;;AAIA;EACC;;AAMF;EACC;;AACA;EACC;EACA;;AAGD;EACC;;AAGF;EACC;;AACA;EACC;EACA;EACA;EACA;EACA;EACA;;AAGF;EACC;;AAEA;EACC;EACA;EACA;EACA;;AAGF;EACC;;AAEA;EACC;EACA;EACA;;AAED;EACC;EACA;;AAED;EACC;;AAGD;EACC;EACA;EACA;;AAGD;AAAA;AAAA;EAGC;EACA;;AAGD;EACC;;AAGF;EACC;;AAEA;EACC;EACA;EACA;;AAGD;AAAA;EAEC;EACA;EACA;;AAEA;AAAA;EACC;;AAIF;EACC;EACA;;AAGF;EACC;;AACA;EACC;EACA;EACA;EACA;;AAEA;EACC;;AAKD;EACC;EACA;EACA;;AAEA;EACC;;AAKJ;EACC;;AAEA;EACC;EACA;EACA;EACA;;AAEA;EACC;EACA;EACA;EACA;;AAEA;EACC;;AAGF;EACC;EACA;EACA;;AAED;EACC;EACA;EACA;;AAED;EACC;EACA;EACA;EACA;;AAIH;EACC;;AACA;EACC;EACA;EACA;EACA;;AAEA;EACC;;AAIH;EACC;;AAEA;EACC;EACA;EACA;;AAEA;EACC;;AAIH;EACC;;AAED;EACC;;AAED;EACC;;AAIF;EACC;EACA;EACA;EACA;;;ADzOD;ECgPC;IACC;IACA;IACA,qBACC;;EAkBC;IACC;;EAKD;IACC;IACA;;;ADxQL;ECkRC;IACC;IACA;IACA,qBACC;;EAeC;IACC;;;AC1SL;EACC;EACA;EACA;EACA;EACA;;AAEA;EACC;EACA;EACA;;AAGD;EACC;EACA;;AAGD;EACC;EACA;;AAMA;EACC;EACA;;;AFlBH;EE4BG;IACC;IACA;;;ACzCL;EACC;;AAEA;EACC;EACA;EACA;;AAGD;EACC;EACA;;;ACXF;EACC;;AAEA;EACC;EACA;EACA;;AAGD;EACC;EACA%22,%22file%22:%22root.css%22%7D */
|
||||
|
|
|
|||
|
|
@ -111,6 +111,14 @@
|
|||
.dotdungeon .actor--pc .panel--aspect .panel__content textarea {
|
||||
resize: vertical;
|
||||
}
|
||||
.dotdungeon .actor--pc .panel--aspect .aspect__used {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 4px;
|
||||
}
|
||||
.dotdungeon .actor--pc .panel--aspect .aspect__used--input {
|
||||
margin: 0;
|
||||
}
|
||||
.dotdungeon .actor--pc .panel--weapons {
|
||||
grid-area: weapons;
|
||||
}
|
||||
|
|
@ -168,12 +176,6 @@
|
|||
.dotdungeon .actor--pc .panel--spells .spell .placeholder {
|
||||
opacity: 75%;
|
||||
}
|
||||
.dotdungeon .actor--pc .panel--spells .spell__actions {
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
justify-content: end;
|
||||
gap: 4px;
|
||||
}
|
||||
.dotdungeon .actor--pc .panel--mounts {
|
||||
grid-area: mounts;
|
||||
}
|
||||
|
|
@ -183,6 +185,12 @@
|
|||
.dotdungeon .actor--pc .panel--storage {
|
||||
grid-area: storage;
|
||||
}
|
||||
.dotdungeon .actor--pc .actions {
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
justify-content: end;
|
||||
gap: 4px;
|
||||
}
|
||||
|
||||
@container (max-width: 620px) {
|
||||
.dotdungeon .actor--pc {
|
||||
|
|
@ -209,4 +217,4 @@
|
|||
}
|
||||
}
|
||||
|
||||
/*# sourceMappingURL=data:application/json;charset=utf-8,%7B%22version%22:3,%22sourceRoot%22:%22%22,%22sources%22:%5B%22../../../styles/sheets/actor/mvp.scss%22,%22../../../styles/mixins/_breakpoints.scss%22%5D,%22names%22:%5B%5D,%22mappings%22:%22AAGA;EACC;EACA,qBACC;EASD;EACA,oBACC;EAGD;EACA;;AAEA;EACC;EACA;EACA;EACA;;AAEA;EACC;;AAIA;EACC;;AAMF;EACC;;AACA;EACC;EACA;;AAGD;EACC;;AAGF;EACC;;AACA;EACC;EACA;EACA;EACA;EACA;EACA;;AAGF;EACC;;AAEA;EACC;EACA;EACA;EACA;;AAGF;EACC;;AAEA;EACC;EACA;EACA;;AAED;EACC;EACA;;AAED;EACC;;AAGD;EACC;EACA;EACA;;AAGD;AAAA;AAAA;EAGC;EACA;;AAGD;EACC;;AAGF;EACC;;AAEA;EACC;EACA;EACA;;AAGD;AAAA;EAEC;EACA;EACA;;AAEA;AAAA;EACC;;AAIF;EACC;EACA;;AAGF;EACC;;AACA;EACC;EACA;EACA;EACA;;AAEA;EACC;;AAIH;EACC;;AAEA;EACC;EACA;EACA;EACA;;AAEA;EACC;EACA;EACA;EACA;;AAEA;EACC;;AAGF;EACC;EACA;EACA;;AAED;EACC;EACA;EACA;;AAED;EACC;EACA;EACA;EACA;;AAIH;EACC;;AACA;EACC;EACA;EACA;EACA;;AAEA;EACC;;AAIH;EACC;;AAEA;EACC;EACA;EACA;;AAEA;EACC;;AAGD;EACC;EACA;EACA;EACA;;AAIH;EACC;;AAED;EACC;;AAED;EACC;;;AC5NF;EDoOC;IACC;IACA;IACA,qBACC;;EAkBC;IACC;;EAKD;IACC;IACA;;;AC5PL;EDsQC;IACC;IACA;IACA,qBACC;;EAeC;IACC%22,%22file%22:%22mvp.css%22%7D */
|
||||
/*# sourceMappingURL=data:application/json;charset=utf-8,%7B%22version%22:3,%22sourceRoot%22:%22%22,%22sources%22:%5B%22../../../styles/sheets/actor/mvp.scss%22,%22../../../styles/mixins/_breakpoints.scss%22%5D,%22names%22:%5B%5D,%22mappings%22:%22AAGA;EACC;EACA,qBACC;EASD;EACA,oBACC;EAGD;EACA;;AAEA;EACC;EACA;EACA;EACA;;AAEA;EACC;;AAIA;EACC;;AAMF;EACC;;AACA;EACC;EACA;;AAGD;EACC;;AAGF;EACC;;AACA;EACC;EACA;EACA;EACA;EACA;EACA;;AAGF;EACC;;AAEA;EACC;EACA;EACA;EACA;;AAGF;EACC;;AAEA;EACC;EACA;EACA;;AAED;EACC;EACA;;AAED;EACC;;AAGD;EACC;EACA;EACA;;AAGD;AAAA;AAAA;EAGC;EACA;;AAGD;EACC;;AAGF;EACC;;AAEA;EACC;EACA;EACA;;AAGD;AAAA;EAEC;EACA;EACA;;AAEA;AAAA;EACC;;AAIF;EACC;EACA;;AAGF;EACC;;AACA;EACC;EACA;EACA;EACA;;AAEA;EACC;;AAKD;EACC;EACA;EACA;;AAEA;EACC;;AAKJ;EACC;;AAEA;EACC;EACA;EACA;EACA;;AAEA;EACC;EACA;EACA;EACA;;AAEA;EACC;;AAGF;EACC;EACA;EACA;;AAED;EACC;EACA;EACA;;AAED;EACC;EACA;EACA;EACA;;AAIH;EACC;;AACA;EACC;EACA;EACA;EACA;;AAEA;EACC;;AAIH;EACC;;AAEA;EACC;EACA;EACA;;AAEA;EACC;;AAIH;EACC;;AAED;EACC;;AAED;EACC;;AAIF;EACC;EACA;EACA;EACA;;;ACzOD;EDgPC;IACC;IACA;IACA,qBACC;;EAkBC;IACC;;EAKD;IACC;IACA;;;ACxQL;EDkRC;IACC;IACA;IACA,qBACC;;EAeC;IACC%22,%22file%22:%22mvp.css%22%7D */
|
||||
|
|
|
|||
|
|
@ -130,8 +130,9 @@
|
|||
"aspect": {
|
||||
"name.placeholder": "Name...",
|
||||
"used": "Used",
|
||||
"duration": "Duration",
|
||||
"description.placeholder": "Description..."
|
||||
"duration": "Duration: {duration}",
|
||||
"empty": "You don't have an Aspect yet, add one using the button below or drag one onto your character sheet.",
|
||||
"add": "Add An Aspect"
|
||||
},
|
||||
"respawns.header": "Respawns",
|
||||
"sync.header": "Sync",
|
||||
|
|
|
|||
|
|
@ -15,11 +15,10 @@ export class ActorHandler extends Actor {
|
|||
};
|
||||
|
||||
async openEmbeddedSheet($event) {
|
||||
console.log(`openEmbeddedSheet`)
|
||||
if (this.fn?.openEmbeddedSheet) {
|
||||
this.fn.openEmbeddedSheet.bind(this)($event);
|
||||
} else {
|
||||
const data = $event.currentTarget.dataset;
|
||||
const data = $event.target.dataset;
|
||||
let item = await fromUuid(data.embeddedEdit);
|
||||
item?.sheet.render(true);
|
||||
};
|
||||
|
|
@ -35,9 +34,8 @@ export class ActorHandler extends Actor {
|
|||
this.fn.genericEmbeddedDelete.bind(this)($event);
|
||||
};
|
||||
|
||||
async createCustomSpell() {
|
||||
async createCustomSpell($event) {
|
||||
if (!this.fn?.createCustomSpell) return;
|
||||
this.fn.createCustomSpell.bind(this)();
|
||||
this.sheet.render(true);
|
||||
this.fn.createCustomSpell.bind(this)($event);
|
||||
};
|
||||
};
|
||||
|
|
|
|||
|
|
@ -9,7 +9,7 @@ export class PlayerActor {
|
|||
|
||||
/** @this {Actor} */
|
||||
static async genericEmbeddedDelete($event) {
|
||||
let data = $event.delegateTarget.dataset;
|
||||
let data = $event.currentTarget.dataset;
|
||||
let item = await fromUuid(data.embeddedId);
|
||||
|
||||
if (!item) {
|
||||
|
|
@ -36,6 +36,20 @@ export class PlayerActor {
|
|||
});
|
||||
};
|
||||
|
||||
/** @this {Actor} */
|
||||
static async createCustomItem(defaults) {
|
||||
let items = await this.createEmbeddedDocuments(`Item`, defaults);
|
||||
if (items.length == 0) {
|
||||
throw new Error();
|
||||
};
|
||||
this.sheet.render();
|
||||
if (game.settings.get(`dotdungeon`, `openEmbeddedOnCreate`)) {
|
||||
for (const item of items) {
|
||||
item.sheet.render(true);
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
/** @this {Actor} */
|
||||
static async createCustomSpell() {
|
||||
let items = await this.createEmbeddedDocuments(
|
||||
|
|
|
|||
|
|
@ -15,6 +15,7 @@ export default {
|
|||
|
||||
// Simple helpers
|
||||
"dd-stringify": v => JSON.stringify(v, null, ` `),
|
||||
"dd-empty": v => v.length == 0,
|
||||
|
||||
// Logic helpers
|
||||
"eq": (a, b) => a == b,
|
||||
|
|
@ -26,5 +27,5 @@ export default {
|
|||
"nand": (a, b) => !(a && b),
|
||||
"xor": (a, b) => (a || b) && !(a && b),
|
||||
"xnor": (a, b) => !((a || b) && !(a && b)),
|
||||
"defined": v => v != null
|
||||
"defined": v => v != null,
|
||||
};
|
||||
|
|
@ -20,8 +20,9 @@ export class PlayerSheet extends GenericActorSheet {
|
|||
console.debug(`.dungeon | Adding event listeners for Actor: ${this.id}`);
|
||||
|
||||
html.find(`.add-spell`).on(`click`, this.actor.createCustomSpell.bind(this.actor));
|
||||
html.find(`[data-embedded-update]`)
|
||||
.on(`change`, this.actor.genericEmbeddedUpdate.bind(this.actor));
|
||||
// TODO: Apparently the `change` event is bad to use in Foundry
|
||||
// html.find(`[data-embedded-update]`)
|
||||
// .on(`change`, this.actor.genericEmbeddedUpdate.bind(this.actor));
|
||||
html.find(`[data-embedded-delete]`)
|
||||
.on(`click`, this.actor.genericEmbeddedDelete.bind(this.actor));
|
||||
html.find(`[data-embedded-edit]`)
|
||||
|
|
@ -38,6 +39,7 @@ export class PlayerSheet extends GenericActorSheet {
|
|||
|
||||
ctx.computed = {
|
||||
canChangeGroup: ctx.settings.playersCanChangeGroup || ctx.isGM,
|
||||
canAddAspect: ctx.items.aspect.length == 0,
|
||||
};
|
||||
|
||||
console.log(ctx)
|
||||
|
|
|
|||
|
|
@ -18,7 +18,7 @@
|
|||
&.confirm {
|
||||
background: $colour-confirm;
|
||||
color: $text-on-confirm;
|
||||
&:hover, &:focus {
|
||||
&:hover, &:focus-visible {
|
||||
background: transparent;
|
||||
color: $colour-confirm;
|
||||
border-color: $colour-confirm;
|
||||
|
|
@ -28,7 +28,7 @@
|
|||
&.neutral {
|
||||
background: $colour-neutral;
|
||||
color: $text-on-neutral;
|
||||
&:hover, &:focus {
|
||||
&:hover, &:focus-visible {
|
||||
background: transparent;
|
||||
color: $colour-neutral;
|
||||
border-color: $colour-neutral;
|
||||
|
|
@ -38,7 +38,7 @@
|
|||
&.danger {
|
||||
background: $colour-danger;
|
||||
color: $text-on-danger;
|
||||
&:hover, &:focus {
|
||||
&:hover, &:focus-visible {
|
||||
background: transparent;
|
||||
color: $colour-danger;
|
||||
border-color: $colour-danger;
|
||||
|
|
|
|||
|
|
@ -141,6 +141,18 @@
|
|||
resize: vertical;
|
||||
}
|
||||
}
|
||||
|
||||
.aspect {
|
||||
&__used {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 4px;
|
||||
|
||||
&--input {
|
||||
margin: 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
&--weapons {
|
||||
grid-area: weapons;
|
||||
|
|
@ -203,13 +215,6 @@
|
|||
.placeholder {
|
||||
opacity: 75%;
|
||||
}
|
||||
|
||||
&__actions {
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
justify-content: end;
|
||||
gap: 4px;
|
||||
}
|
||||
}
|
||||
}
|
||||
&--mounts {
|
||||
|
|
@ -222,6 +227,13 @@
|
|||
grid-area: storage;
|
||||
}
|
||||
}
|
||||
|
||||
.actions {
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
justify-content: end;
|
||||
gap: 4px;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -1,37 +1,52 @@
|
|||
{{#> dotdungeon.panel class="aspect" title="dotdungeon.actor.pc.panel.aspect"}}
|
||||
<input
|
||||
type="text"
|
||||
class="aspect__name--input"
|
||||
name="system.aspect.name"
|
||||
placeholder="{{localize "dotdungeon.actor.pc.aspect.name.placeholder"}}"
|
||||
value="{{system.aspect.name}}"
|
||||
>
|
||||
<label class="aspect__used--label">
|
||||
{{localize "dotdungeon.actor.pc.aspect.used"}}
|
||||
<input
|
||||
type="checkbox"
|
||||
class="aspect__used--input"
|
||||
name="system.aspect.used"
|
||||
{{checked system.aspect.used}}
|
||||
{{#each items.aspect as | aspect |}}
|
||||
<div class="aspect">
|
||||
<h3 class="aspect__name">{{aspect.name}}</h3>
|
||||
{{#if (defined aspect.system.deactivateAfter)}}
|
||||
<p class="aspect__duration">
|
||||
{{localize "dotdungeon.actor.pc.aspect.duration" duration=(dd-toFriendlyDuration aspect.system.deactivateAfter)}}
|
||||
</p>
|
||||
{{/if}}
|
||||
{{#if aspect.system.info}}
|
||||
<div class="aspect__description">
|
||||
<p>
|
||||
{{aspect.system.info}}
|
||||
</p>
|
||||
</div>
|
||||
{{/if}}
|
||||
<div class="aspect__used">
|
||||
<input
|
||||
id="{{aspect.uuid}}-used"
|
||||
type="checkbox"
|
||||
class="aspect__used--input"
|
||||
{{checked aspect.system.used}}
|
||||
>
|
||||
<label
|
||||
class="aspect__used--label"
|
||||
for="{{aspect.uuid}}-used"
|
||||
>
|
||||
{{localize "dotdungeon.actor.pc.aspect.used"}}
|
||||
</label>
|
||||
</div>
|
||||
<div class="actions">
|
||||
<button
|
||||
class="confirm"
|
||||
data-embedded-edit="{{aspect.uuid}}"
|
||||
>
|
||||
Edit
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
{{else}}
|
||||
<p>
|
||||
{{localize "dotdungeon.actor.pc.aspect.empty"}}
|
||||
</p>
|
||||
{{/each}}
|
||||
{{#if (or computed.canAddAspect (not (dd-empty items.aspect)))}}
|
||||
<button
|
||||
class="confirm"
|
||||
>
|
||||
</label>
|
||||
<label class="aspect__duration--label">
|
||||
{{localize "dotdungeon.actor.pc.aspect.duration"}}
|
||||
{{#if system.aspect.deactivateAfter}}
|
||||
<span class="friendly-duration aspect__duration--friendly">
|
||||
({{dd-toFriendlyDuration system.aspect.deactivateAfter}})
|
||||
</span>
|
||||
{{/if}}
|
||||
<input
|
||||
type="number"
|
||||
class="aspect__duration--input"
|
||||
name="system.aspect.deactivateAfter"
|
||||
value="{{system.aspect.deactivateAfter}}"
|
||||
>
|
||||
</label>
|
||||
<textarea
|
||||
class="aspect__description--input"
|
||||
name="system.aspect.description"
|
||||
placeholder="{{localize "dotdungeon.actor.pc.aspect.description.placeholder"}}"
|
||||
>{{system.aspect.description}}</textarea>
|
||||
{{/ dotdungeon.panel}}
|
||||
{{localize "dotdungeon.actor.pc.aspect.add"}}
|
||||
</button>
|
||||
{{/if}}
|
||||
{{/ dotdungeon.panel}}
|
||||
|
|
@ -30,7 +30,7 @@
|
|||
}}
|
||||
</div>
|
||||
{{/if}}
|
||||
<div class="spell__actions">
|
||||
<div class="actions">
|
||||
<button
|
||||
class="confirm"
|
||||
data-embedded-edit="{{spell.uuid}}"
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue