diff options
Diffstat (limited to 'elm/AdvSearch/Fields.elm')
-rw-r--r-- | elm/AdvSearch/Fields.elm | 162 |
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) ) |