package Ġpages Ċ Ċ import ĠAuth Ċ import ĠRole Ċ import ĠStr Ċ import Ġget Container Ċ import Ġkotlinx . dom . clear Ċ import Ġlib headers . Material ize Ċ import Ġpages . left bar . Left bar Ċ import Ġ rip . k spar . ez spa . Page Ċ import Ġ rip . k spar . ez spa . get E lems By Class Ċ import Ġtm Render Ċ Ċ abstract Ġclass ĠEasy Page Ġ: ĠPage () Ġ{ ĊĊĠĠĠ Ġ// ĠAll Ġroles Ġallowed Ġby Ġdefault ĊĠĠĠ Ġopen Ġval Ġallowed Roles : ĠList < Role > Ġ= ĠRole . values (). asList () ĊĊĠĠĠ Ġ// ĠLeft bar Ġwith Ġno Ġcourse Ġby Ġdefault ĊĠĠĠ Ġopen Ġval Ġleft bar Conf : ĠLeft bar . Conf Ġ= ĠLeft bar . Conf () ĊĊĠĠĠ Ġfinal Ġoverride Ġfun Ġassert Author isation () Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . assert Author isation () ĊĊĠĠĠĠĠĠĠ Ġif Ġ( allowed Roles . none Ġ{ Ġit Ġ== ĠAuth . active Role Ġ}) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġget Container (). innerHTML Ġ= Ġtm Render (" tm - no - access - page ", Ġmap Of ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" title " Ġto ĠStr . no Permission For Page Title (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" msg " Ġto ĠStr . no Permission For Page Msg () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ)) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠLeft bar . refresh ( Left bar . Conf ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġerror (" User Ġis Ġnot Ġone Ġof Ġ$ allowed Roles ") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġclear () Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . clear () ĊĠĠĠĠĠĠĠ Ġget Container (). clear () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġbuild ( page State Str : ĠString ?) Ġ{ ĊĠĠĠĠĠĠĠ ĠLeft bar . refresh ( left bar Conf ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġdestruct () Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . destruct () ĊĊĠĠĠĠĠĠĠ Ġ// ĠDestroy Ġtooltip s ĊĠĠĠĠĠĠĠ Ġget E lems By Class (" tool t ipped ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. map Ġ{ ĠMaterial ize . Tooltip . getInstance ( it ) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. forEach Ġ{ Ġit ?. destroy () Ġ} ĊĊĠĠĠĠĠĠĠ Ġ// ĠDis miss Ġtoast s ĊĠĠĠĠĠĠĠ ĠMaterial ize . Toast . dismiss All () ĊĠĠĠ Ġ} Ċ }