/- browsermanager /+ *server, default-agent :: |% +$ versioned-state $% state-0 == +$ state-0 [%0 [%ping-count count=@]] +$ card card:agent:gall -- ^- agent:gall =< =* state [%0 [%ping-count count=0]] |_ bol=bowl:gall +* this . browsermanager-core +> cc ~(. browsermanager-core bol) def ~(. (default-agent this %|) bol) :: ++ on-init ^- (quip card _this) =/ launcha [%launch-action !>([%add %browsermanager [[%basic 'browsermanager' '/~browsermanager/img/tile.png' '/~browsermanager'] %.y]])] =/ filea [%file-server-action !>([%serve-dir /'~browsermanager' /app/browsermanager %.n %.n])] :_ this :~ [%pass /srv %agent [our.bol %file-server] %poke filea] [%pass /browsermanager %agent [our.bol %launch] %poke launcha] == :: ++ on-watch |= =path ^- (quip card _this) ?: ?=([%http-response *] path) `this ?. =(/ path) (on-watch:def path) [[%give %fact ~ %json !>(*json)]~ this] :: ++ on-agent on-agent:def :: ++ on-arvo |= [=wire =sign-arvo] ^- (quip card _this) ?. ?=(%bound +<.sign-arvo) (on-arvo:def wire sign-arvo) [~ this] :: :: ++ on-poke |= [=mark =vase] ^- (quip card _this) ?+ mark (on-poke:def mark vase) %noun ~& 'Browser Manager' ~& mark ~& vase `this %browsermanager-action =/ action !<(action:browsermanager vase) [(handle-action action) this] == ++ on-save on-save:def ++ on-load on-load:def ++ on-leave on-leave:def ++ on-peek on-peek:def ++ on-fail on-fail:def -- :: Helper core |% ++ handle-action |= action=action:browsermanager ^- (list card) ~& 'Browser Manager action' ~& >> action ~ --