summaryrefslogtreecommitdiff |
diff options
Diffstat (limited to 'src/roster-editor/src/View/GlyphSelection.elm')
-rw-r--r-- | src/roster-editor/src/View/GlyphSelection.elm | 84 |
1 files changed, 84 insertions, 0 deletions
diff --git a/src/roster-editor/src/View/GlyphSelection.elm b/src/roster-editor/src/View/GlyphSelection.elm new file mode 100644 index 0000000..8631a0d --- /dev/null +++ b/src/roster-editor/src/View/GlyphSelection.elm @@ -0,0 +1,84 @@ +module View.GlyphSelection exposing (get_html) + +-- Elm ------------------------------------------------------------------------- +import Dict + +import Html +import Html.Attributes +import Html.Events + +-- Roster Editor --------------------------------------------------------------- +import Struct.Event +import Struct.Glyph +import Struct.Omnimods +import Struct.Model + +-------------------------------------------------------------------------------- +-- LOCAL ----------------------------------------------------------------------- +-------------------------------------------------------------------------------- +get_mod_html : (String, Int) -> (Html.Html Struct.Event.Type) +get_mod_html mod = + let + (category, value) = mod + in + (Html.div + [ + (Html.Attributes.class "info-card-mod") + ] + [ + (Html.text + (category ++ ": " ++ (toString value)) + ) + ] + ) + +get_glyph_html : Struct.Glyph.Type -> (Html.Html Struct.Event.Type) +get_glyph_html glyph = + (Html.div + [ + (Html.Attributes.class "character-card-glyph"), + (Html.Attributes.class "clickable"), + (Html.Events.onClick + (Struct.Event.SelectedGlyph + (Struct.Glyph.get_id glyph) + ) + ) + ] + [ + (Html.text (Struct.Glyph.get_name glyph)), + (Html.div + [ + ] + (List.map + (get_mod_html) + (Struct.Omnimods.get_all_mods + (Struct.Glyph.get_omnimods glyph) + ) + ) + ) + ] + ) + +-------------------------------------------------------------------------------- +-- EXPORTED -------------------------------------------------------------------- +-------------------------------------------------------------------------------- +get_html : Struct.Model.Type -> (Html.Html Struct.Event.Type) +get_html model = + (Html.div + [ + (Html.Attributes.class "selection-window"), + (Html.Attributes.class "glyph-management") + ] + [ + (Html.text "Glyph Selection"), + (Html.div + [ + (Html.Attributes.class "selection-window-listing") + ] + (List.map + (get_glyph_html) + (Dict.values model.glyphs) + ) + ) + ] + ) |