package Ġorg . suc cl z 1 2 3 . plugins . yu que . ui . article Ċ Ċ import Ġcom . intellij . openapi . application . Application Manager Ċ import Ġcom . intellij . openapi . application . Modal ity State Ċ import Ġcom . intellij . openapi . progress . Progress Indicator Provider Ċ import Ġcom . intellij . openapi . progress . Progress Manager Ċ import Ġcom . intellij . openapi . project . Project Ċ import Ġcom . intellij . openapi . ui . Messages Ċ import Ġjavafx . application . Platform Ċ import Ġjavafx . event . ActionEvent Ċ import Ġjavafx . f xml . FXML Ċ import Ġjavafx . scene . control . Button Ċ import Ġjavafx . scene . control . Label Ċ import Ġjavafx . scene . image . Image Ċ import Ġjavafx . scene . image . ImageView Ċ import Ġjavafx . scene . layout . V Box Ċ import Ġjavafx . scene . web . WebView Ċ import Ġorg . suc cl z 1 2 3 . plugins . yu que . support . Yu que Article List Ċ import Ġorg . suc cl z 1 2 3 . plugins . yu que . support . Yu que Helper Ċ import Ġorg . suc cl z 1 2 3 . plugins . yu que . support . Yu que Repo List Ċ import Ġorg . suc cl z 1 2 3 . plugins . yu que . ui . Yu que Window Factory Ċ Ċ open Ġclass ĠArticle Detail Scene Controller ( ĊĠĠĠĠĠĠĠ Ġval Ġy u que Helper : ĠY u que Helper , ĊĠĠĠĠĠĠĠ Ġval Ġrepo : ĠY u que Repo List , ĊĠĠĠĠĠĠĠ Ġval Ġarticle : ĠY u que Article List , ĊĠĠĠĠĠĠĠ Ġval Ġback Callback : Ġ() Ġ-> ĠUnit Ċ ) Ġ{ ĊĠĠĠ Ġvar Ġproject : ĠProject ? Ġ= Ġnull ĊĊĠĠĠ Ġ@ FXML ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġandroid _ icon : ĠImageView ĊĊĠĠĠ Ġ@ FXML ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġcontent : ĠV Box ĊĊĠĠĠ Ġ@ FXML ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġback _ button : ĠButton ĊĊĠĠĠ Ġ@ FXML ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġrefresh _ button : ĠButton ĊĊĠĠĠ Ġ@ FXML ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġtitle _ label : ĠLabel ĊĊĠĠĠ Ġ@ FXML ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġweb view : ĠWebView ĊĊĠĠĠ Ġ@ FXML ĊĠĠĠ Ġfun Ġon Back Click ( event : ĠAction Event ?) Ġ{ ĊĠĠĠĠĠĠĠ ĠPlatform . run Later Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġback Callback . invoke () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ FXML ĊĠĠĠ Ġfun Ġon Refresh Click ( event : ĠAction Event ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġget Article Detail () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġget Article Detail () Ġ{ ĊĠĠĠĠĠĠĠ ĠProgress Manager . getInstance (). run Process ({ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġarticles Ġ= Ġy u que Helper . fetch Article Detail ( repo . namespace , Ġarticle ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( articles Ġ== Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠPlatform . run Later Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġerror Ġ= Ġ" Get ĠArticle ĠDetail ĠFailed , ĠPlease ĠCheck ĠYour ĠToken Ġor ĠNetwork !" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠApplication Manager . getApplication (). invoke Later ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠMessages . showMessageDialog ( project , Ġerror , ĠY u que Window Factory . TAG , ĠMessages . get Information Icon ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠMod ality State . NON _ MOD AL ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn @ run Process ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ ĠPlatform . run Later Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġweb view . engine . user StyleSheet Location Ġ= Ġ" data :, body Ġ{ Ġfont : Ġ 1 4 px ĠArial ; Ġ}" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( articles . body _ html . isNull OrEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġweb view . engine . load Content (" No ĠData Ġ- ĠArticle Ġcontent Ġis Ġempty ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġweb view . engine . load Content ( articles . body _ html ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ}, ĠProgress Indicator Provider . getGlobal Progress Indicator ()) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ FXML ĊĠĠĠ Ġfun Ġinitialize () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġresource Ġ= Ġjava Class . getResource ("/ META - INF / yu que . png ") ĊĠĠĠĠĠĠĠ Ġandroid _ icon . image Ġ= ĠImage ( resource . toString ()) ĊĠĠĠĠĠĠĠ Ġtitle _ label . text Ġ= Ġif Ġ( article . title ?. length Ġ?: Ġ 0 Ġ> Ġ 3 2 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġarticle . title ?. substring ( 0 , Ġ 3 2 ) Ġ+ Ġ" ..." ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġarticle . title ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġweb view . pref Height Property (). bind ( content . pref Height Property ()) ĊĊĠĠĠĠĠĠĠ Ġget Article Detail () ĊĠĠĠ Ġ} Ċ } Ċ