You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
30 lines
723 B
30 lines
723 B
tag pro-router
|
|
prop view
|
|
<self><{ "view-{view || R.view }" }>
|
|
|
|
tag pro-toggle
|
|
prop param
|
|
prop disabled
|
|
|
|
css cursor:pointer cursor.disabled:default
|
|
|
|
def render
|
|
<self.activated=R.params[param] .disabled=disabled @click.if(!disabled)=R.toggle(param)><slot>
|
|
|
|
tag pro-ref-f < a # f - forget current params in new destination
|
|
prop view
|
|
prop params = {}
|
|
prop go
|
|
|
|
def render
|
|
let link = go || url
|
|
<self[d:inline].active=(R.to_path! == link) href=link @click.prevent=(R.go(link); window.scrollTo(0,0))><slot>
|
|
|
|
get url
|
|
R.to_path view, params
|
|
|
|
tag pro-ref < pro-ref-f
|
|
get url
|
|
#params = JSON.parse JSON.stringify(params) # duplicate object
|
|
#params[k] ||= v for own k, v of R.safe_params
|
|
R.to_path view, #params
|