Introduce fomantic-ui, replacing semantic-ui

Replaced semantic-ui with the drop-in replacement fomantic-ui [0]
which is a maintained fork. The fomantic-ui used here is a custom
build [1] of the less-version _without_ google-fonts (css-only). The
javascript part of fomantic-ui is not used, and also jquery could be
dropped now.

[0] https://fomantic-ui.com
[1] https://github.com/eikek/fomantic-slim-default

Issue: #349
This commit is contained in:
Eike Kettner
2020-11-05 22:36:28 +01:00
parent d79955d574
commit 59dfae6a49
14 changed files with 157 additions and 84 deletions

View File

@ -83,7 +83,7 @@ type alias Model =
, selectedFiles : List File
, completed : Set String
, errored : Set String
, loading : Set String
, loading : Dict String Int
, attachDD : DD.Model String String
, modalEdit : Maybe Comp.DetailEdit.Model
, attachRename : Maybe AttachmentRename
@ -184,7 +184,7 @@ emptyModel =
, selectedFiles = []
, completed = Set.empty
, errored = Set.empty
, loading = Set.empty
, loading = Dict.empty
, attachDD = DD.init
, modalEdit = Nothing
, attachRename = Nothing

View File

@ -886,7 +886,7 @@ update key flags inav settings msg model =
, addFilesModel = Comp.Dropzone.init Comp.Dropzone.defaultSettings
, completed = Set.empty
, errored = Set.empty
, loading = Set.empty
, loading = Dict.empty
}
, Cmd.none
)
@ -904,8 +904,12 @@ update key flags inav settings msg model =
( cm2, _, _ ) =
Comp.Dropzone.update (Comp.Dropzone.setActive False) model.addFilesModel
newLoading =
List.map (\fid -> ( fid, 0 )) fileids
|> Dict.fromList
in
( { model | loading = Set.fromList fileids, addFilesModel = cm2 }
( { model | loading = newLoading, addFilesModel = cm2 }
, uploads
, tracker
)
@ -927,14 +931,18 @@ update key flags inav settings msg model =
model.errored
load =
Set.remove fileid model.loading
Dict.remove fileid model.loading
newModel =
{ model | completed = compl, errored = errs, loading = load }
{ model
| completed = compl
, errored = errs
, loading = load
}
in
noSub
( newModel
, Ports.setProgress ( fileid, 100 )
, Cmd.none
)
AddFilesUploadResp fileid (Err _) ->
@ -943,7 +951,7 @@ update key flags inav settings msg model =
setErrored model fileid
load =
Set.remove fileid model.loading
Dict.remove fileid model.loading
in
noSub ( { model | errored = errs, loading = load }, Cmd.none )
@ -959,14 +967,13 @@ update key flags inav settings msg model =
_ ->
0
updateBars =
if percent == 0 then
Cmd.none
else
Ports.setProgress ( fileid, percent )
newLoading =
Dict.insert fileid percent model.loading
in
noSub ( model, updateBars )
noSub
( { model | loading = newLoading }
, Cmd.none
)
AttachDDMsg lm ->
let

View File

@ -1011,7 +1011,7 @@ isIdle model file =
isLoading : Model -> File -> Bool
isLoading model file =
Set.member (makeFileId file) model.loading
Dict.member (makeFileId file) model.loading
isCompleted : Model -> File -> Bool

View File

@ -0,0 +1,63 @@
module Comp.Progress exposing
( smallIndicating
, topAttachedIndicating
)
import Html exposing (Html, div, text)
import Html.Attributes exposing (attribute, class, style)
smallIndicating : Int -> Html msg
smallIndicating percent =
progress "small indicating active" percent Nothing Nothing
topAttachedIndicating : Int -> Html msg
topAttachedIndicating percent =
progress "top attached indicating active" percent Nothing Nothing
progress : String -> Int -> Maybe String -> Maybe String -> Html msg
progress classes percent label barText =
if percent <= 0 then
div
[ class ("ui progress " ++ classes)
]
(div [ class "bar" ] (barDiv barText) :: labelDiv label)
else
div
[ class ("ui progress " ++ classes)
, attribute "data-percent" (String.fromInt percent)
]
(div
[ class "bar"
, style "transition-duration" "300ms"
, style "display" "block"
, style "width" (String.fromInt percent ++ "%")
]
(barDiv barText)
:: labelDiv label
)
labelDiv : Maybe String -> List (Html msg)
labelDiv label =
case label of
Just l ->
[ div [ class "label" ] [ text l ]
]
Nothing ->
[]
barDiv : Maybe String -> List (Html msg)
barDiv barText =
case barText of
Just t ->
[ div [ class "progress" ] [ text t ]
]
Nothing ->
[]