namespace mod_control.rental { /** */ export function setup ( platform : lib_mvc.type_model ) : Promise { let context_dom : HTMLElement = platform.state.element_dom; context_dom.querySelector(".rental_start").addEventListener ( "click", (event) => { const bike_name : string = lib_call.convey ( platform.state.model.state.id, [ x => lib_string.coin(".rental[rel=\"{{rel}}\"] > .rental_bike > input", {"rel": x}), x => (document.querySelector(x) as HTMLInputElement), x => x.value, ] ); mod_model.rental.start(platform.state.model, bike_name); } ); context_dom.querySelector(".rental_open > button").addEventListener ( "click", (event) => { mod_model.rental.open(platform.state.model); } ); context_dom.querySelector(".rental_pause > button").addEventListener ( "click", (event) => { mod_model.rental.pause(platform.state.model); } ); context_dom.querySelector(".rental_finish > button").addEventListener ( "click", (event) => { mod_model.rental.end(platform.state.model); } ); return Promise.resolve(undefined); } /** */ export function implementation_control ( ) : lib_mvc.type_control { return { "setup": (model) => setup(model), }; } }