summaryrefslogtreecommitdiff
path: root/elm/AdvSearch/Fields.elm
diff options
context:
space:
mode:
Diffstat (limited to 'elm/AdvSearch/Fields.elm')
-rw-r--r--elm/AdvSearch/Fields.elm162
1 files changed, 118 insertions, 44 deletions
diff --git a/elm/AdvSearch/Fields.elm b/elm/AdvSearch/Fields.elm
index 723634fb..2ec6e205 100644
--- a/elm/AdvSearch/Fields.elm
+++ b/elm/AdvSearch/Fields.elm
@@ -19,8 +19,10 @@ import AdvSearch.RDate as AD
import AdvSearch.Range as AR
import AdvSearch.Resolution as AE
import AdvSearch.Engine as AEng
+import AdvSearch.DRM as ADRM
import AdvSearch.Birthday as AB
import AdvSearch.Lib exposing (..)
+import Gen.ExtLinks as GEL
-- "Nested" fields are a container for other fields.
@@ -55,8 +57,8 @@ nestInit and ptype qtype list dat =
, qtype = qtype
, fields = list
, and = and
- , andDd = DD.init ("advsearch_field"++String.fromInt (dat.objid+0)) (FSNest << NAndToggle)
- , addDd = DD.init ("advsearch_field"++String.fromInt (dat.objid+1)) (FSNest << NAddToggle)
+ , andDd = DD.init ("xsearch_field"++String.fromInt (dat.objid+0)) (FSNest << NAndToggle)
+ , addDd = DD.init ("xsearch_field"++String.fromInt (dat.objid+1)) (FSNest << NAddToggle)
, addtype = [qtype]
, neg = False
}
@@ -80,7 +82,12 @@ nestUpdate dat msg model =
in addPar (b::xs) (nestInit True b a nf ndat |> Tuple.mapSecond FMNest |> fieldCreate -1)
_ -> (ndat,f)
(ndat2,f2) = addPar model.addtype (fieldInit n dat)
- in (ndat2, { model | addDd = DD.toggle model.addDd False, addtype = [model.qtype], fields = model.fields ++ [f2] }, Cmd.none)
+ nestMsg lst i =
+ case lst of
+ (a::xs) -> NField i (FSNest (nestMsg xs 0))
+ _ -> NField i (FToggle True)
+ in (ndat2, { model | addDd = DD.toggle model.addDd False, addtype = [model.qtype], fields = model.fields ++ [f2] }
+ , selfCmd (nestMsg (List.drop 1 model.addtype) (List.length model.fields)))
NAddType t -> (dat, { model | addtype = t }, Cmd.none)
NField n FDel -> (dat, { model | fields = delidx n model.fields }, Cmd.none)
NField n FMoveSub ->
@@ -110,9 +117,11 @@ nestToQuery dat model =
(V, R) -> wrap (QQuery 50 op)
(V, C) -> wrap (QQuery 51 op)
(V, S) -> wrap (QQuery 52 op)
+ (V, P) -> wrap (QQuery 55 op)
(C, S) -> wrap (QQuery 52 op)
(C, V) -> wrap (QQuery 53 op)
(R, V) -> wrap (QQuery 53 op)
+ (R, P) -> wrap (QQuery 55 op)
_ -> wrap identity
@@ -135,9 +144,11 @@ nestFromQuery ptype qtype dat q =
(V, R, QQuery 50 op r) -> initSub op r
(V, C, QQuery 51 op r) -> initSub op r
(V, S, QQuery 52 op r) -> initSub op r
+ (V, P, QQuery 55 op r) -> initSub op r
(C, S, QQuery 52 op r) -> initSub op r
(C, V, QQuery 53 op r) -> initSub op r
(R, V, QQuery 53 op r) -> initSub op r
+ (R, P, QQuery 55 op r) -> initSub op r
(_, _, QAnd l) -> if ptype == qtype then Just (init True l) else Nothing
(_, _, QOr l) -> if ptype == qtype then Just (init False l) else Nothing
_ -> Nothing
@@ -177,10 +188,12 @@ nestView dat dd model =
(_,C) -> "Character"
(C,S) -> "VA"
(_,S) -> "Staff"
+ (V,P) -> "Developer"
+ (_,P) -> "Producer"
breads pre par l =
case l of
[] -> []
- [x] -> [ b [] [ text (showT par x) ] ]
+ [x] -> [ strong [] [ text (showT par x) ] ]
(x::xs) -> a [ href "#", onClickD (FSNest (NAddType (x::pre))) ] [ text (showT par x) ] :: text " » " :: breads (x::pre) x xs
in
div [ class "elm_dd_input elm_dd_noarrow short" ]
@@ -213,7 +226,9 @@ nestView dat dd model =
(_, R) -> ("Has a release that matches these filters", "Does not have a release that matches these filters")
(_, V) -> ("Linked to a visual novel that matches these filters", "Not linked to a visual novel that matches these filters")
(V, S) -> ("Has staff that matches these filters", "Does not have staff that matches these filters")
+ (V, P) -> ("Has a developer that matches these filters", "Does not have a developer that matches these filters")
(C, S) -> ("Has a voice actor that matches these filters", "Does not have a voice actor that matches these filters")
+ (R, P) -> ("Has a producer that matches these filters", "Does not have a producer that matches these filters")
_ -> ("","")
in [ ul []
[ li [] [ linkRadio (not model.neg) (FSNest << NNeg False) [ text a ] ]
@@ -226,6 +241,8 @@ nestView dat dd model =
(_, R) -> "Rel"
(_, V) -> "VN"
(V, S) -> "Staff"
+ (V, P) -> "Developer"
+ (R, P) -> "Producer"
(C, S) -> "VA"
_ -> ""
@@ -250,7 +267,7 @@ nestView dat dd model =
]
]
else table [ class "advrow" ] [ tr []
- [ td [] (initialdd ++ [b [ class "grayedout" ] [ text " → " ]])
+ [ td [] (initialdd ++ [small [] [ text " → " ]])
, td [] (filters ++ [add]) ] ]
@@ -276,11 +293,11 @@ type FieldModel
= FMCustom Query -- A read-only placeholder for Query values that failed to parse into a Field
| FMNest NestModel
| FMList ListModel
- | FMLang (AS.Model String)
- | FMOLang (AS.Model String)
+ | FMLang AS.LangModel
| FMRPlatform (AS.Model String)
| FMVPlatform (AS.Model String)
| FMLength (AS.Model Int)
+ | FMDevStatus (AS.Model Int)
| FMRole (AS.Model String)
| FMBlood (AS.Model String)
| FMSex (AS.SexModel)
@@ -293,6 +310,9 @@ type FieldModel
| FMLabel (AS.Model Int)
| FMRList (AS.Model Int)
| FMSRole (AS.Model String)
+ | FMPType (AS.Model String)
+ | FMRExtLinks (AS.Model String)
+ | FMSExtLinks (AS.Model String)
| FMHeight (AR.Model Int)
| FMWeight (AR.Model Int)
| FMBust (AR.Model Int)
@@ -304,13 +324,15 @@ type FieldModel
| FMRating (AR.Model Int)
| FMVotecount (AR.Model Int)
| FMMinAge (AR.Model Int)
- | FMDeveloper AP.Model
+ | FMProdId AP.Model
| FMProducer AP.Model
+ | FMDeveloper AP.Model
| FMStaff AT.Model
| FMAnime AA.Model
| FMRDate AD.Model
| FMResolution AE.Model
| FMEngine AEng.Model
+ | FMDRMType ADRM.Model
| FMTag AG.Model
| FMTrait AI.Model
| FMBirthday AB.Model
@@ -320,10 +342,10 @@ type FieldMsg
| FSNest NestMsg
| FSList Int
| FSLang (AS.Msg String)
- | FSOLang (AS.Msg String)
| FSRPlatform (AS.Msg String)
| FSVPlatform (AS.Msg String)
| FSLength (AS.Msg Int)
+ | FSDevStatus (AS.Msg Int)
| FSRole (AS.Msg String)
| FSBlood (AS.Msg String)
| FSSex AS.SexMsg
@@ -336,6 +358,9 @@ type FieldMsg
| FSLabel (AS.Msg Int)
| FSRList (AS.Msg Int)
| FSSRole (AS.Msg String)
+ | FSPType (AS.Msg String)
+ | FSRExtLinks (AS.Msg String)
+ | FSSExtLinks (AS.Msg String)
| FSHeight AR.Msg
| FSWeight AR.Msg
| FSBust AR.Msg
@@ -347,13 +372,15 @@ type FieldMsg
| FSRating AR.Msg
| FSVotecount AR.Msg
| FSMinAge AR.Msg
- | FSDeveloper AP.Msg
+ | FSProdId AP.Msg
| FSProducer AP.Msg
+ | FSDeveloper AP.Msg
| FSStaff AT.Msg
| FSAnime AA.Msg
| FSRDate AD.Msg
| FSResolution AE.Msg
| FSEngine AEng.Msg
+ | FSDRMType ADRM.Msg
| FSTag AG.Msg
| FSTrait AI.Msg
| FSBirthday AB.Msg
@@ -406,19 +433,25 @@ fields =
, n V R "Release »"
, n V S "Staff »"
, n V C "Character »"
- , f V "Language" 1 FMLang AS.init AS.langFromQuery
- , f V "Original language" 2 FMOLang AS.init AS.olangFromQuery
+ , n V P "Developer »"
+ , f V "Language" 1 FMLang (AS.langInit AS.LangVN) (AS.langFromQuery AS.LangVN)
+ , f V "Original language" 2 FMLang (AS.langInit AS.LangVNO) (AS.langFromQuery AS.LangVNO)
, f V "Platform" 3 FMVPlatform AS.init AS.platformFromQuery
- , f V "Tags" 4 FMTag AG.init (AG.fromQuery -1)
- , f V "" -4 FMTag AG.init (AG.fromQuery 0)
- , f V "" -4 FMTag AG.init (AG.fromQuery 1)
- , f V "" -4 FMTag AG.init (AG.fromQuery 2)
+ , f V "Tags" 4 FMTag AG.init (AG.fromQuery -1 True False)
+ , f V "" -4 FMTag AG.init (AG.fromQuery 0 True False)
+ , f V "" -4 FMTag AG.init (AG.fromQuery 1 True False)
+ , f V "" -4 FMTag AG.init (AG.fromQuery 2 True False)
+ , f V "" -4 FMTag AG.init (AG.fromQuery 2 True True )
+ , f V "" -4 FMTag AG.init (AG.fromQuery 0 False False)
+ , f V "" -4 FMTag AG.init (AG.fromQuery 1 False False)
+ , f V "" -4 FMTag AG.init (AG.fromQuery 2 False False)
+ , f V "" -4 FMTag AG.init (AG.fromQuery 2 False True )
, f V "My Labels" 0 FMLabel AS.init AS.labelFromQuery
, l V "My List" 0 [(QInt 65 Eq 1, "On my list"), (QInt 65 Ne 1, "Not on my list")]
, f V "Length" 0 FMLength AS.init AS.lengthFromQuery
- , f V "Developer" 0 FMDeveloper AP.init (AP.fromQuery False)
+ , f V "Development status" 0 FMDevStatus AS.init AS.devStatusFromQuery
, f V "Release date" 0 FMRDate AD.init AD.fromQuery
- , f V "Popularity" 0 FMPopularity AR.popularityInit AR.popularityFromQuery
+ , f V "" -1 FMPopularity AR.popularityInit AR.popularityFromQuery
, f V "Rating" 0 FMRating AR.ratingInit AR.ratingFromQuery
, f V "Number of votes" 0 FMVotecount AR.votecountInit AR.votecountFromQuery
, f V "Anime" 0 FMAnime AA.init AA.fromQuery
@@ -426,18 +459,20 @@ fields =
, l V "Has anime" 0 [(QInt 62 Eq 1, "Has anime relation"), (QInt 62 Ne 1, "No anime relation")]
, l V "Has screenshot" 0 [(QInt 63 Eq 1, "Has screenshot(s)"), (QInt 63 Ne 1, "No screenshot(s)")]
, l V "Has review" 0 [(QInt 64 Eq 1, "Has review(s)"), (QInt 64 Ne 1, "No review(s)")]
+ -- Deprecated
+ , f V "" 0 FMDeveloper AP.init (AP.fromQuery 6)
, n R R "And/Or"
, n R V "Visual Novel »"
- , f R "Language" 1 FMLang AS.init AS.langFromQuery
+ , n R P "Producer »"
+ , f R "Language" 1 FMLang (AS.langInit AS.LangRel) (AS.langFromQuery AS.LangRel)
, f R "Platform" 2 FMRPlatform AS.init AS.platformFromQuery
, f R "Type" 3 FMRType AS.init AS.rtypeFromQuery
, l R "Patch" 0 [(QInt 61 Eq 1, "Patch to another release"),(QInt 61 Ne 1, "Standalone release")]
, l R "Freeware" 0 [(QInt 62 Eq 1, "Freeware"), (QInt 62 Ne 1, "Non-free")]
+ , l R "Erotic scenes" 0 [(QInt 66 Eq 1, "Has erotic scenes"), (QInt 66 Ne 1, "No erotic scenes")]
, l R "Uncensored" 0 [(QInt 64 Eq 1, "Uncensored (no mosaic)"), (QInt 64 Ne 1, "Censored (or no erotic content to censor)")]
, l R "Official" 0 [(QInt 65 Eq 1, "Official"), (QInt 65 Ne 1, "Unofficial")]
- , f R "Developer" 0 FMDeveloper AP.init (AP.fromQuery False)
- , f R "Producer" 0 FMProducer AP.init (AP.fromQuery True)
, f R "Release date" 0 FMRDate AD.init AD.fromQuery
, f R "Resolution" 0 FMResolution AE.init AE.fromQuery
, f R "Age rating" 0 FMMinAge AR.minageInit AR.minageFromQuery
@@ -446,7 +481,13 @@ fields =
, f R "Ero animation" 0 FMAniEro AS.init (AS.animatedFromQuery False)
, f R "Story animation" 0 FMAniStory AS.init (AS.animatedFromQuery True)
, f R "Engine" 0 FMEngine AEng.init AEng.fromQuery
+ , f R "DRM implementation" 0 FMDRMType ADRM.init ADRM.fromQuery
+ , f R "External links" 0 FMRExtLinks AS.init (AS.extlinkFromQuery 19)
, f R "My List" 0 FMRList AS.init AS.rlistFromQuery
+ -- Deprecated
+ , f R "" 0 FMDeveloper AP.init (AP.fromQuery 6)
+ , f R "" 0 FMProducer AP.init (AP.fromQuery 17)
+
, n C C "And/Or"
, n C S "Voice Actor »"
@@ -456,10 +497,15 @@ fields =
, f C "Birthday" 0 FMBirthday AB.init AB.fromQuery
, f C "Sex" 2 FMSex (AS.sexInit False) (AS.sexFromQuery False)
, f C "" 0 FMSex (AS.sexInit True) (AS.sexFromQuery True)
- , f C "Traits" 3 FMTrait AI.init (AI.fromQuery -1)
- , f C "" 0 FMTrait AI.init (AI.fromQuery 0)
- , f C "" 0 FMTrait AI.init (AI.fromQuery 1)
- , f C "" 0 FMTrait AI.init (AI.fromQuery 2)
+ , f C "Traits" 3 FMTrait AI.init (AI.fromQuery -1 True False)
+ , f C "" 0 FMTrait AI.init (AI.fromQuery 0 True False)
+ , f C "" 0 FMTrait AI.init (AI.fromQuery 1 True False)
+ , f C "" 0 FMTrait AI.init (AI.fromQuery 2 True False)
+ , f C "" 0 FMTrait AI.init (AI.fromQuery 2 True True)
+ , f C "" 0 FMTrait AI.init (AI.fromQuery 0 False False)
+ , f C "" 0 FMTrait AI.init (AI.fromQuery 1 False False)
+ , f C "" 0 FMTrait AI.init (AI.fromQuery 2 False False)
+ , f C "" 0 FMTrait AI.init (AI.fromQuery 2 False True)
, f C "Blood type" 0 FMBlood AS.init AS.bloodFromQuery
, f C "Height" 0 FMHeight AR.heightInit AR.heightFromQuery
, f C "Weight" 0 FMWeight AR.weightInit AR.weightFromQuery
@@ -470,9 +516,15 @@ fields =
, n S S "And/Or"
, f S "Name" 0 FMStaff AT.init AT.fromQuery
- , f S "Language" 1 FMLang AS.init AS.langFromQuery
+ , f S "Language" 1 FMLang (AS.langInit AS.LangStaff) (AS.langFromQuery AS.LangStaff)
, f S "Gender" 2 FMGender AS.init AS.genderFromQuery
, f S "Role" 3 FMSRole AS.init AS.sroleFromQuery
+ , f S "External links" 0 FMSExtLinks AS.init (AS.extlinkFromQuery 6)
+
+ , n P P "And/Or"
+ , f P "Name" 0 FMProdId AP.init (AP.fromQuery 3)
+ , f P "Language" 1 FMLang (AS.langInit AS.LangProd) (AS.langFromQuery AS.LangProd)
+ , f P "Type" 2 FMPType AS.init AS.ptypeFromQuery
]
@@ -488,12 +540,14 @@ fieldUpdate dat msg_ (num, dd, model) =
case model of
FMTag m -> Cmd.map FSTag (A.refocus m.conf)
FMTrait m -> Cmd.map FSTrait (A.refocus m.conf)
- FMDeveloper m -> Cmd.map FSDeveloper (A.refocus m.conf)
+ FMProdId m -> Cmd.map FSProdId (A.refocus m.conf)
FMProducer m -> Cmd.map FSProducer (A.refocus m.conf)
+ FMDeveloper m -> Cmd.map FSDeveloper (A.refocus m.conf)
FMStaff m -> Cmd.map FSStaff (A.refocus m.conf)
FMAnime m -> Cmd.map FSAnime (A.refocus m.conf)
FMResolution m -> Cmd.map FSResolution (A.refocus m.conf)
FMEngine m -> Cmd.map FSEngine (A.refocus m.conf)
+ FMDRMType m -> Cmd.map FSDRMType (A.refocus m.conf)
_ -> Cmd.none
in case (msg_, model) of
-- Move to parent node is tricky, needs to be intercepted at this point so that we can access the parent NestModel.
@@ -512,15 +566,22 @@ fieldUpdate dat msg_ (num, dd, model) =
in (dat, (num,dd,FMNest newGrandModel), Cmd.none)
_ -> noop
+ -- Move root node to sub; for child nodes this is handled in nestUpdate, but the root node must be handled separately
+ (FMoveSub, FMNest m) ->
+ let subfields = [(num,DD.toggle dd False,model)]
+ (ndat,subm) = nestInit True m.qtype m.qtype subfields dat
+ (ndat2,subf) = fieldCreate -1 (ndat, FMNest subm)
+ in (ndat2, subf, Cmd.none)
+
(FSNest (NAnd a b), FMNest m) -> mapc FMNest FSNest (nestUpdate dat (NAnd a b) m)
(FSNest (NNeg a b), FMNest m) -> mapc FMNest FSNest (nestUpdate dat (NNeg a b) m)
(FSNest msg, FMNest m) -> mapf FMNest FSNest (nestUpdate dat msg m)
(FSList msg, FMList m) -> (dat, (num,DD.toggle dd False,FMList { m | val = msg }), Cmd.none)
- (FSLang msg, FMLang m) -> maps FMLang (AS.update msg m)
- (FSOLang msg, FMOLang m) -> maps FMOLang (AS.update msg m)
+ (FSLang msg, FMLang m) -> maps FMLang (AS.langUpdate msg m)
(FSRPlatform msg,FMRPlatform m)-> maps FMRPlatform(AS.update msg m)
(FSVPlatform msg,FMVPlatform m)-> maps FMVPlatform(AS.update msg m)
(FSLength msg, FMLength m) -> maps FMLength (AS.update msg m)
+ (FSDevStatus msg,FMDevStatus m)-> maps FMDevStatus(AS.update msg m)
(FSRole msg, FMRole m) -> maps FMRole (AS.update msg m)
(FSBlood msg, FMBlood m) -> maps FMBlood (AS.update msg m)
(FSSex msg, FMSex m) -> maps FMSex (AS.sexUpdate msg m)
@@ -533,6 +594,9 @@ fieldUpdate dat msg_ (num, dd, model) =
(FSLabel msg, FMLabel m) -> maps FMLabel (AS.update msg m)
(FSRList msg, FMRList m) -> maps FMRList (AS.update msg m)
(FSSRole msg, FMSRole m) -> maps FMSRole (AS.update msg m)
+ (FSPType msg, FMPType m) -> maps FMPType (AS.update msg m)
+ (FSRExtLinks msg,FMRExtLinks m)-> maps FMRExtLinks (AS.update msg m)
+ (FSSExtLinks msg,FMSExtLinks m)-> maps FMSExtLinks (AS.update msg m)
(FSHeight msg, FMHeight m) -> maps FMHeight (AR.update msg m)
(FSWeight msg, FMWeight m) -> maps FMWeight (AR.update msg m)
(FSBust msg, FMBust m) -> maps FMBust (AR.update msg m)
@@ -544,13 +608,15 @@ fieldUpdate dat msg_ (num, dd, model) =
(FSRating msg, FMRating m) -> maps FMRating (AR.update msg m)
(FSVotecount msg,FMVotecount m)-> maps FMVotecount (AR.update msg m)
(FSMinAge msg ,FMMinAge m) -> maps FMMinAge (AR.update msg m)
- (FSDeveloper msg,FMDeveloper m)-> mapf FMDeveloper FSDeveloper (AP.update dat msg m)
+ (FSProdId msg, FMProdId m) -> mapf FMProdId FSProdId (AP.update dat msg m)
(FSProducer msg, FMProducer m) -> mapf FMProducer FSProducer (AP.update dat msg m)
+ (FSDeveloper msg,FMDeveloper m)-> mapf FMDeveloper FSDeveloper (AP.update dat msg m)
(FSStaff msg, FMStaff m) -> mapf FMStaff FSStaff (AT.update dat msg m)
(FSAnime msg, FMAnime m) -> mapf FMAnime FSAnime (AA.update dat msg m)
(FSRDate msg, FMRDate m) -> maps FMRDate (AD.update msg m)
(FSResolution msg,FMResolution m)->mapf FMResolution FSResolution (AE.update dat msg m)
(FSEngine msg, FMEngine m) -> mapf FMEngine FSEngine (AEng.update dat msg m)
+ (FSDRMType msg, FMDRMType m) -> mapf FMDRMType FSDRMType (ADRM.update dat msg m)
(FSTag msg, FMTag m) -> mapf FMTag FSTag (AG.update dat msg m)
(FSTrait msg, FMTrait m) -> mapf FMTrait FSTrait (AI.update dat msg m)
(FSBirthday msg, FMBirthday m) -> maps FMBirthday (AB.update msg m)
@@ -564,14 +630,12 @@ fieldViewDd dat dd lbl cont =
[ DD.view dd Api.Normal lbl <| \() ->
div [ class "advbut" ]
[ if dat.level == 0
- then b [ title "Can't delete the top-level filter" ] [ text "⊗" ]
+ then small [ title "Can't delete the top-level filter" ] [ text "⊗" ]
else a [ href "#", onClickD FDel, title "Delete this filter" ] [ text "⊗" ]
, if dat.level <= 1
- then b [ title "Can't move this filter to parent branch" ] [ text "↰" ]
+ then small [ title "Can't move this filter to parent branch" ] [ text "↰" ]
else a [ href "#", onClickD FMovePar, title "Move this filter to parent branch" ] [ text "↰" ]
- , if dat.level == 0
- then b [ title "Can't move this filter into a subbranch" ] [ text "↳" ]
- else a [ href "#", onClickD FMoveSub, title "Create new branch for this filter" ] [ text "↳" ]
+ , a [ href "#", onClickD FMoveSub, title "Create new branch for this filter" ] [ text "↳" ]
] :: cont ()
]
@@ -584,11 +648,11 @@ fieldView dat (_, dd, model) =
in case model of
FMCustom m -> f FSCustom (text "Unrecognized query", \() -> [text ""]) -- TODO: Display the Query
FMList m -> f FSList (l m)
- FMLang m -> f FSLang (AS.langView False m)
- FMOLang m -> f FSOLang (AS.langView True m)
+ FMLang m -> f FSLang (AS.langView m)
FMVPlatform m -> f FSVPlatform (AS.platformView False m)
FMRPlatform m -> f FSRPlatform (AS.platformView True m)
FMLength m -> f FSLength (AS.lengthView m)
+ FMDevStatus m -> f FSDevStatus (AS.devStatusView m)
FMRole m -> f FSRole (AS.roleView m)
FMBlood m -> f FSBlood (AS.bloodView m)
FMSex m -> f FSSex (AS.sexView m)
@@ -601,6 +665,9 @@ fieldView dat (_, dd, model) =
FMLabel m -> f FSLabel (AS.labelView dat m)
FMRList m -> f FSRList (AS.rlistView m)
FMSRole m -> f FSSRole (AS.sroleView m)
+ FMPType m -> f FSPType (AS.ptypeView m)
+ FMRExtLinks m -> f FSRExtLinks (AS.extlinkView GEL.releaseSites m)
+ FMSExtLinks m -> f FSSExtLinks (AS.extlinkView GEL.staffSites m)
FMHeight m -> f FSHeight (AR.heightView m)
FMWeight m -> f FSWeight (AR.weightView m)
FMBust m -> f FSBust (AR.bustView m)
@@ -612,13 +679,15 @@ fieldView dat (_, dd, model) =
FMRating m -> f FSRating (AR.ratingView m)
FMVotecount m -> f FSVotecount (AR.votecountView m)
FMMinAge m -> f FSMinAge (AR.minageView m)
- FMDeveloper m -> f FSDeveloper (AP.view False dat m)
- FMProducer m -> f FSProducer (AP.view True dat m)
+ FMProdId m -> f FSProdId (AP.view "Name" dat m)
+ FMProducer m -> f FSProducer (AP.view "Producer" dat m)
+ FMDeveloper m -> f FSDeveloper (AP.view "Developer" dat m)
FMStaff m -> f FSStaff (AT.view dat m)
FMAnime m -> f FSAnime (AA.view dat m)
FMRDate m -> f FSRDate (AD.view m)
FMResolution m -> f FSResolution (AE.view m)
FMEngine m -> f FSEngine (AEng.view m)
+ FMDRMType m -> f FSDRMType (ADRM.view m)
FMTag m -> f FSTag (AG.view dat m)
FMTrait m -> f FSTrait (AI.view dat m)
FMBirthday m -> f FSBirthday (AB.view m)
@@ -631,11 +700,11 @@ fieldToQuery dat (_, _, model) =
FMCustom m -> Just m
FMList m -> List.drop m.val m.lst |> List.head |> Maybe.map Tuple.first
FMNest m -> nestToQuery dat m
- FMLang m -> AS.toQuery (QStr 2) m
- FMOLang m -> AS.toQuery (QStr 3) m
+ FMLang m -> AS.langToQuery m
FMRPlatform m-> AS.toQuery (QStr 4) m
FMVPlatform m-> AS.toQuery (QStr 4) m
FMLength m -> AS.toQuery (QInt 5) m
+ FMDevStatus m-> AS.toQuery (QInt 66) m
FMRole m -> AS.toQuery (QStr 2) m
FMBlood m -> AS.toQuery (QStr 3) m
FMSex (s,m) -> AS.toQuery (QStr (if s then 5 else 4)) m
@@ -648,6 +717,9 @@ fieldToQuery dat (_, _, model) =
FMLabel m -> AS.toQuery (\op v -> QTuple 12 op (Maybe.withDefault 0 (Maybe.map vndbidNum dat.uid)) v) m
FMRList m -> AS.toQuery (QInt 18) m
FMSRole m -> AS.toQuery (QStr 5) m
+ FMPType m -> AS.toQuery (QStr 4) m
+ FMRExtLinks m-> AS.toQuery (QStr 19) m
+ FMSExtLinks m-> AS.toQuery (QStr 6) m
FMHeight m -> AR.toQuery (QInt 6) (QStr 6) m
FMWeight m -> AR.toQuery (QInt 7) (QStr 7) m
FMBust m -> AR.toQuery (QInt 8) (QStr 8) m
@@ -659,13 +731,15 @@ fieldToQuery dat (_, _, model) =
FMRating m -> AR.toQuery (QInt 10) (QStr 10) m
FMVotecount m-> AR.toQuery (QInt 11) (QStr 11) m
FMMinAge m -> AR.toQuery (QInt 10) (QStr 10) m
- FMDeveloper m-> AP.toQuery False m
- FMProducer m -> AP.toQuery True m
+ FMProdId m -> AP.toQuery 3 m
+ FMProducer m -> AP.toQuery 17 m
+ FMDeveloper m-> AP.toQuery 6 m
FMStaff m -> AT.toQuery m
FMAnime m -> AA.toQuery m
FMRDate m -> AD.toQuery m
FMResolution m-> AE.toQuery m
FMEngine m -> AEng.toQuery m
+ FMDRMType m -> ADRM.toQuery m
FMTag m -> AG.toQuery m
FMTrait m -> AI.toQuery m
FMBirthday m -> AB.toQuery m
@@ -674,7 +748,7 @@ fieldToQuery dat (_, _, model) =
fieldCreate : Int -> (Data,FieldModel) -> (Data,Field)
fieldCreate fid (dat,fm) =
( {dat | objid = dat.objid + 1}
- , (fid, DD.init ("advsearch_field" ++ String.fromInt dat.objid) FToggle, fm)
+ , (fid, DD.init ("xsearch_field" ++ String.fromInt dat.objid) FToggle, fm)
)