Skip to content

Commit

Permalink
Allow custom names for reputation networks. Fixes #62
Browse files Browse the repository at this point in the history
  • Loading branch information
Bathtor committed Feb 2, 2019
1 parent a86da21 commit 345ab09
Show file tree
Hide file tree
Showing 9 changed files with 123 additions and 14 deletions.
2 changes: 1 addition & 1 deletion model/epmodel.sbt
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ name := "EP Model Root"

organization in ThisBuild := "com.lkroll.ep"

version in ThisBuild := "1.11.0-SNAPSHOT"
version in ThisBuild := "1.11.0"

scalaVersion in ThisBuild := "2.12.6"

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -39,62 +39,80 @@ object IdentitiesSection extends RepeatingSection {
val credits = "credits".default(0).validIn(-999999999, 999999999, 1);
val notes = text("notes");

val atNameShort = "at_rep_name_short".default(EPTranslation.atRep.abbrKey);
val atNameLong = "at_rep_name_long".default(EPTranslation.atRep.fullKey);
val atRepScore = "at_rep_score".default(0).validIn(0, 99, 1);
val atRepFavour1 = "at_rep_favour1".default(false);
val atRepFavour2 = "at_rep_favour2".default(false);
val atRepFavour3 = "at_rep_favour3".default(false);
val atRepFavour4 = "at_rep_favour4".default(false);
val atRepFavour5 = "at_rep_favour5".default(false);

val cNameShort = "c_rep_name_short".default(EPTranslation.cRep.abbrKey);
val cNameLong = "c_rep_name_long".default(EPTranslation.cRep.fullKey);
val cRepScore = "c_rep_score".default(0).validIn(0, 99, 1);
val cRepFavour1 = "c_rep_favour1".default(false);
val cRepFavour2 = "c_rep_favour2".default(false);
val cRepFavour3 = "c_rep_favour3".default(false);
val cRepFavour4 = "c_rep_favour4".default(false);
val cRepFavour5 = "c_rep_favour5".default(false);

val eNameShort = "e_rep_name_short".default(EPTranslation.eRep.abbrKey);
val eNameLong = "e_rep_name_long".default(EPTranslation.eRep.fullKey);
val eRepScore = "e_rep_score".default(0).validIn(0, 99, 1);
val eRepFavour1 = "e_rep_favour1".default(false);
val eRepFavour2 = "e_rep_favour2".default(false);
val eRepFavour3 = "e_rep_favour3".default(false);
val eRepFavour4 = "e_rep_favour4".default(false);
val eRepFavour5 = "e_rep_favour5".default(false);

val fNameShort = "f_rep_name_short".default(EPTranslation.fRep.abbrKey);
val fNameLong = "f_rep_name_long".default(EPTranslation.fRep.fullKey);
val fRepScore = "f_rep_score".default(0).validIn(0, 99, 1);
val fRepFavour1 = "f_rep_favour1".default(false);
val fRepFavour2 = "f_rep_favour2".default(false);
val fRepFavour3 = "f_rep_favour3".default(false);
val fRepFavour4 = "f_rep_favour4".default(false);
val fRepFavour5 = "f_rep_favour5".default(false);

val gNameShort = "g_rep_name_short".default(EPTranslation.gRep.abbrKey);
val gNameLong = "g_rep_name_long".default(EPTranslation.gRep.fullKey);
val gRepScore = "g_rep_score".default(0).validIn(0, 99, 1);
val gRepFavour1 = "g_rep_favour1".default(false);
val gRepFavour2 = "g_rep_favour2".default(false);
val gRepFavour3 = "g_rep_favour3".default(false);
val gRepFavour4 = "g_rep_favour4".default(false);
val gRepFavour5 = "g_rep_favour5".default(false);

val iNameShort = "i_rep_name_short".default(EPTranslation.iRep.abbrKey);
val iNameLong = "i_rep_name_long".default(EPTranslation.iRep.fullKey);
val iRepScore = "i_rep_score".default(0).validIn(0, 99, 1);
val iRepFavour1 = "i_rep_favour1".default(false);
val iRepFavour2 = "i_rep_favour2".default(false);
val iRepFavour3 = "i_rep_favour3".default(false);
val iRepFavour4 = "i_rep_favour4".default(false);
val iRepFavour5 = "i_rep_favour5".default(false);

val rNameShort = "r_rep_name_short".default(EPTranslation.rRep.abbrKey);
val rNameLong = "r_rep_name_long".default(EPTranslation.rRep.fullKey);
val rRepScore = "r_rep_score".default(0).validIn(0, 99, 1);
val rRepFavour1 = "r_rep_favour1".default(false);
val rRepFavour2 = "r_rep_favour2".default(false);
val rRepFavour3 = "r_rep_favour3".default(false);
val rRepFavour4 = "r_rep_favour4".default(false);
val rRepFavour5 = "r_rep_favour5".default(false);

val uNameShort = "u_rep_name_short".default(EPTranslation.uRep.abbrKey);
val uNameLong = "u_rep_name_long".default(EPTranslation.uRep.fullKey);
val uRepScore = "u_rep_score".default(0).validIn(0, 99, 1);
val uRepFavour1 = "u_rep_favour1".default(false);
val uRepFavour2 = "u_rep_favour2".default(false);
val uRepFavour3 = "u_rep_favour3".default(false);
val uRepFavour4 = "u_rep_favour4".default(false);
val uRepFavour5 = "u_rep_favour5".default(false);

val xNameShort = "x_rep_name_short".default(EPTranslation.xRep.abbrKey);
val xNameLong = "x_rep_name_long".default(EPTranslation.xRep.fullKey);
val xRepScore = "x_rep_score".default(0).validIn(0, 99, 1);
val xRepFavour1 = "x_rep_favour1".default(false);
val xRepFavour2 = "x_rep_favour2".default(false);
Expand Down
2 changes: 1 addition & 1 deletion sheet/epsheet.sbt
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ name := "EP Sheet Root"

organization in ThisBuild := "com.lkroll.ep"

version in ThisBuild := "1.11.0-SNAPSHOT"
version in ThisBuild := "1.11.0"

scalaVersion in ThisBuild := "2.12.6"

Expand Down
28 changes: 28 additions & 0 deletions sheet/js/src/main/scala/com/lkroll/ep/sheet/EPUpdates.scala
Original file line number Diff line number Diff line change
Expand Up @@ -95,4 +95,32 @@ object EPUpdates extends MinorVersionUpdateManager {
val rangeUpdates = rangeUpdate.all(RangedWeaponSection);
List(rangeUpdates)
}
forVersion("1.10.0") {
val identityUpdate = op(IdentitiesSection.identity).update {
case (id) => {
Seq(
IdentitiesSection.atNameShort,
IdentitiesSection.atNameLong,
IdentitiesSection.cNameShort,
IdentitiesSection.cNameLong,
IdentitiesSection.eNameShort,
IdentitiesSection.eNameLong,
IdentitiesSection.fNameShort,
IdentitiesSection.fNameLong,
IdentitiesSection.gNameShort,
IdentitiesSection.gNameLong,
IdentitiesSection.iNameShort,
IdentitiesSection.iNameLong,
IdentitiesSection.rNameShort,
IdentitiesSection.rNameLong,
IdentitiesSection.uNameShort,
IdentitiesSection.uNameLong,
IdentitiesSection.xNameShort,
IdentitiesSection.xNameLong,
).map(e => e <<= e.defaultValue.get)
}
};
val identityUpdates = identityUpdate.all(IdentitiesSection);
List(identityUpdates, EPWorkers.setFrayHalved)
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ object EPWorkers extends SheetWorkerRoot {

override def children: Seq[SheetWorker] = Seq(tabbedWorker, EPUpdates, SkillWorkers, MorphWorkers, GearWorkers, PsiWorkers);

val tabbedWorker = TabbedWorker(EPCharModel, EPUpdates);
lazy val tabbedWorker = TabbedWorker(EPCharModel, EPUpdates);

import EPCharModel._

Expand Down
43 changes: 43 additions & 0 deletions sheet/jvm/src/main/resources/WEB-INF/defaults.css
Original file line number Diff line number Diff line change
Expand Up @@ -546,6 +546,49 @@ input.sheet-using-api[value="0"]+.sheet-api-only {
display: none;
}

.sheet-tooltip {
position: relative;
display: inline-block;
}

.sheet-tooltip span {
color: ${light-text};
font-weight: bold;
white-space: nowrap;
}

.sheet-tooltip .sheet-tooltiptext {
visibility: hidden;
background-color: ${dark-grey};
color: ${light-text};
text-align: center;
border-radius: 6px;
padding: 5px 2px;
position: absolute;
z-index: 1;
bottom: 125%;
left: 50%;
margin-left: -60px;
opacity: 0;
transition: opacity 0.3s;
}

.sheet-tooltip .sheet-tooltiptext::after {
content: "";
position: absolute;
top: 100%;
left: 50%;
margin-left: -5px;
border-width: 5px;
border-style: solid;
border-color: #555 transparent transparent transparent;
}

.sheet-tooltip:hover .sheet-tooltiptext {
visibility: visible;
opacity: 1;
}

/*
*
* ROLL TEMPLATE
Expand Down
4 changes: 4 additions & 0 deletions sheet/jvm/src/main/scala/com/lkroll/ep/sheet/Blocks.scala
Original file line number Diff line number Diff line change
Expand Up @@ -66,6 +66,10 @@ object Blocks {
def arrowList(elems: SheetElement*) = GroupWithRenderer(ArrowList, elems);
def rwd(roll: RollElement, descriptions: LabelI18N*) = RollWithDescription(roll, descriptions);

def tooltipped(title: Tag, tooltip: Tag): Tag = {
div(EPStyle.`tooltip`, title, tooltip(EPStyle.`tooltiptext`))
}

val flexFill = MarkupElement(span(EPStyle.`flex-grow`, EPStyle.min1rem));
val flexFillNarrow = MarkupElement(span(EPStyle.`flex-grow`, EPStyle.min02rem));
val flexBreak = MarkupElement(div(width := "100%"));
Expand Down
9 changes: 9 additions & 0 deletions sheet/jvm/src/main/scala/com/lkroll/ep/sheet/EPStyle.scala
Original file line number Diff line number Diff line change
Expand Up @@ -331,6 +331,12 @@ object EPStyle extends SheetStyle {
maxWidth := "3em",
display.`inline-flex`);

val max5em = cls(
maxWidth := "5em");

val max8em = cls(
maxWidth := "8em");

val max5rem = cls(
maxWidth := "8rem"); // scaled due to roll20 changes

Expand Down Expand Up @@ -414,6 +420,9 @@ object EPStyle extends SheetStyle {
val `area-field` = cls();
val `uniform-radius-field` = cls();

val `tooltip` = cls();
val `tooltiptext` = cls();

// *** Templates ***

val `template-wrapper` = cls();
Expand Down
29 changes: 18 additions & 11 deletions sheet/jvm/src/main/scala/com/lkroll/ep/sheet/IdentitiesTab.scala
Original file line number Diff line number Diff line change
Expand Up @@ -42,15 +42,15 @@ object IdentitiesTab extends FieldGroup {
val ci = char.identities;

val repTable = RepTable(Seq(
RepRow(t.atRep, Seq(ci.atRepScore, td(raw(" ")), ci.atRepFavour1, ci.atRepFavour2, ci.atRepFavour3, ci.atRepFavour4, ci.atRepFavour5)),
RepRow(t.cRep, Seq(ci.cRepScore, td(raw(" ")), ci.cRepFavour1, ci.cRepFavour2, ci.cRepFavour3, ci.cRepFavour4, ci.cRepFavour5)),
RepRow(t.eRep, Seq(ci.eRepScore, td(raw(" ")), ci.eRepFavour1, ci.eRepFavour2, ci.eRepFavour3, ci.eRepFavour4, ci.eRepFavour5)),
RepRow(t.fRep, Seq(ci.fRepScore, td(raw(" ")), ci.fRepFavour1, ci.fRepFavour2, ci.fRepFavour3, ci.fRepFavour4, ci.fRepFavour5)),
RepRow(t.gRep, Seq(ci.gRepScore, td(raw(" ")), ci.gRepFavour1, ci.gRepFavour2, ci.gRepFavour3, ci.gRepFavour4, ci.gRepFavour5)),
RepRow(t.iRep, Seq(ci.iRepScore, td(raw(" ")), ci.iRepFavour1, ci.iRepFavour2, ci.iRepFavour3, ci.iRepFavour4, ci.iRepFavour5)),
RepRow(t.rRep, Seq(ci.rRepScore, td(raw(" ")), ci.rRepFavour1, ci.rRepFavour2, ci.rRepFavour3, ci.rRepFavour4, ci.rRepFavour5)),
RepRow(t.uRep, Seq(ci.uRepScore, td(raw(" ")), ci.uRepFavour1, ci.uRepFavour2, ci.uRepFavour3, ci.uRepFavour4, ci.uRepFavour5)),
RepRow(t.xRep, Seq(ci.xRepScore, td(raw(" ")), ci.xRepFavour1, ci.xRepFavour2, ci.xRepFavour3, ci.xRepFavour4, ci.xRepFavour5))));
RepRow(ci.atNameShort, ci.atNameLong, Seq(ci.atRepScore, td(raw(" ")), ci.atRepFavour1, ci.atRepFavour2, ci.atRepFavour3, ci.atRepFavour4, ci.atRepFavour5)),
RepRow(ci.cNameShort, ci.cNameLong, Seq(ci.cRepScore, td(raw(" ")), ci.cRepFavour1, ci.cRepFavour2, ci.cRepFavour3, ci.cRepFavour4, ci.cRepFavour5)),
RepRow(ci.eNameShort, ci.eNameLong, Seq(ci.eRepScore, td(raw(" ")), ci.eRepFavour1, ci.eRepFavour2, ci.eRepFavour3, ci.eRepFavour4, ci.eRepFavour5)),
RepRow(ci.fNameShort, ci.fNameLong, Seq(ci.fRepScore, td(raw(" ")), ci.fRepFavour1, ci.fRepFavour2, ci.fRepFavour3, ci.fRepFavour4, ci.fRepFavour5)),
RepRow(ci.gNameShort, ci.gNameLong, Seq(ci.gRepScore, td(raw(" ")), ci.gRepFavour1, ci.gRepFavour2, ci.gRepFavour3, ci.gRepFavour4, ci.gRepFavour5)),
RepRow(ci.iNameShort, ci.iNameLong, Seq(ci.iRepScore, td(raw(" ")), ci.iRepFavour1, ci.iRepFavour2, ci.iRepFavour3, ci.iRepFavour4, ci.iRepFavour5)),
RepRow(ci.rNameShort, ci.rNameLong, Seq(ci.rRepScore, td(raw(" ")), ci.rRepFavour1, ci.rRepFavour2, ci.rRepFavour3, ci.rRepFavour4, ci.rRepFavour5)),
RepRow(ci.uNameShort, ci.uNameLong, Seq(ci.uRepScore, td(raw(" ")), ci.uRepFavour1, ci.uRepFavour2, ci.uRepFavour3, ci.uRepFavour4, ci.uRepFavour5)),
RepRow(ci.xNameShort, ci.xNameLong, Seq(ci.xRepScore, td(raw(" ")), ci.xRepFavour1, ci.xRepFavour2, ci.xRepFavour3, ci.xRepFavour4, ci.xRepFavour5))));

val identityInfo = fblock(t.identity, EPStyle.min5rem,
editOnly((t.identity -> ci.identity)),
Expand Down Expand Up @@ -101,7 +101,7 @@ case class RepTable(rows: Seq[RepRow]) extends FieldGroup {
override def fieldRenderers = CoreTabRenderer.fieldRenderers;
};
}
case class RepRow(rowName: LabelsI18N, members: Seq[SheetElement]) extends FieldGroup {
case class RepRow(rowNameShort: TextField, rowNameLong: TextField, members: Seq[SheetElement]) extends FieldGroup {
import RenderMode._
import CoreTabRenderer.obool2Checked

Expand All @@ -117,7 +117,14 @@ case class RepRow(rowName: LabelsI18N, members: Seq[SheetElement]) extends Field
};

override def fieldCombiner = { tags =>
tr(th(EPStyle.fieldLabelBold, textAlign.right, rowName), tags)
tr(th(EPStyle.fieldLabelBold, textAlign.right,
div(
TabbedStyle.presentation,
Blocks.tooltipped(span(SheetI18NAttrs.datai18nDynamic, name := rowNameShort.name), span(SheetI18NAttrs.datai18nDynamic, name := rowNameLong.name))),
div(
TabbedStyle.edit,
input(EPStyle.max5em, `type` := "text", name := rowNameShort.name, value := rowNameShort.initialValue),
raw("&nbsp;("), input(EPStyle.max8em, `type` := "text", name := rowNameLong.name, value := rowNameLong.initialValue), raw(")"))), tags)
};
}
}

0 comments on commit 345ab09

Please sign in to comment.