commit
						ce202ca54b
					
				 6 changed files with 72 additions and 0 deletions
			
			
		@ -0,0 +1,5 @@ | 
				
			|||
tag not_found | 
				
			|||
 | 
				
			|||
	def render | 
				
			|||
		<self> | 
				
			|||
			<h1> 'Page not found' | 
				
			|||
@ -0,0 +1,33 @@ | 
				
			|||
tag ref < a | 
				
			|||
 | 
				
			|||
	prop view | 
				
			|||
	prop target | 
				
			|||
	prop go | 
				
			|||
 | 
				
			|||
	attr onclick | 
				
			|||
 | 
				
			|||
	def setup | 
				
			|||
		@r = R | 
				
			|||
 | 
				
			|||
	def render | 
				
			|||
		<self.active=is_active href=link onclick='return false'> | 
				
			|||
 | 
				
			|||
	def is_active | 
				
			|||
		var view, params | 
				
			|||
		[ view, params ] = @r.split_path(link) | 
				
			|||
		view == @r:view && L.isEqual params, @r:params | 
				
			|||
 | 
				
			|||
	def ontap e | 
				
			|||
		return if is_active | 
				
			|||
		@r.go dom:href | 
				
			|||
		window.scrollTo 0, 0 | 
				
			|||
 | 
				
			|||
	def link | 
				
			|||
		@go || url | 
				
			|||
 | 
				
			|||
	def url | 
				
			|||
		if @target | 
				
			|||
			var attributes = L.reduce L.concat({}, @target), do |map, el| | 
				
			|||
				map[el:type] = el:id | 
				
			|||
				map | 
				
			|||
		@r.to_path @view, L.defaults attributes || {}, @r:safe_params | 
				
			|||
@ -0,0 +1,14 @@ | 
				
			|||
global:Router = require('pro-router') | 
				
			|||
require './ref/ref' | 
				
			|||
require './switch/switch' | 
				
			|||
require './not_found/not_found' | 
				
			|||
 | 
				
			|||
tag router | 
				
			|||
 | 
				
			|||
	def setup | 
				
			|||
		@r = R | 
				
			|||
		@t = Imba:TAGS | 
				
			|||
 | 
				
			|||
	def render | 
				
			|||
		self:__:A = self:__:A || {} | 
				
			|||
		<self> ( self:__:A[@r:view] || self:__:A[@r:view] = @t[@r:view.toUpperCase]() ).end | 
				
			|||
@ -0,0 +1,18 @@ | 
				
			|||
require './switch.scss' | 
				
			|||
 | 
				
			|||
tag switch | 
				
			|||
 | 
				
			|||
	prop key | 
				
			|||
	prop disable | 
				
			|||
 | 
				
			|||
	def setup | 
				
			|||
		@r = R | 
				
			|||
 | 
				
			|||
	def render | 
				
			|||
		<self.is_on=is_on .disabled=@disable> | 
				
			|||
 | 
				
			|||
	def is_on | 
				
			|||
		@r:params[@key] | 
				
			|||
 | 
				
			|||
	def ontap | 
				
			|||
		@r.toggle key unless @disable | 
				
			|||
@ -0,0 +1 @@ | 
				
			|||
._switch{ cursor: pointer } | 
				
			|||
					Loading…
					
					
				
		Reference in new issue