mirror of
				https://github.com/flynx/pWiki.git
				synced 2025-10-31 11:00:08 +00:00 
			
		
		
		
	resolved the .renderer issue...
Signed-off-by: Alex A. Naanou <alex.nanou@gmail.com>
This commit is contained in:
		
							parent
							
								
									9bdb6902b3
								
							
						
					
					
						commit
						c63cf9faba
					
				| @ -1306,6 +1306,9 @@ object.Constructor('Page', BasePage, { | |||||||
| 
 | 
 | ||||||
| 	// page parser...
 | 	// page parser...
 | ||||||
| 	//
 | 	//
 | ||||||
|  | 	// NOTE: .__debug_last_render_state is mainly exposed for introspection 
 | ||||||
|  | 	// 		and debugging, set comment it out to disable...
 | ||||||
|  | 	//__debug_last_render_state: undefined,
 | ||||||
| 	parse: async function(text, state){ | 	parse: async function(text, state){ | ||||||
| 		var that = this | 		var that = this | ||||||
| 		text = await text | 		text = await text | ||||||
| @ -1316,7 +1319,17 @@ object.Constructor('Page', BasePage, { | |||||||
| 			state = text | 			state = text | ||||||
| 			text = null } | 			text = null } | ||||||
| 		state = state ?? {} | 		state = state ?? {} | ||||||
| 		return this.__parser__.parse(this, text, state) }, | 		// this is here for debugging and introspection...
 | ||||||
|  | 		'__debug_last_render_state' in this | ||||||
|  | 			&& (this.__debug_last_render_state = state) | ||||||
|  | 		// parse...
 | ||||||
|  | 		return this.__parser__.parse( | ||||||
|  | 			this.get('.', { | ||||||
|  | 				renderer: this, | ||||||
|  | 				args: this.args,  | ||||||
|  | 			}),  | ||||||
|  | 			text,  | ||||||
|  | 			state) }, | ||||||
| 
 | 
 | ||||||
| 	// raw page text...
 | 	// raw page text...
 | ||||||
| 	//
 | 	//
 | ||||||
| @ -1412,10 +1425,6 @@ object.Constructor('Page', BasePage, { | |||||||
| 	// NOTE: writing to .raw is the same as writing to .text...
 | 	// NOTE: writing to .raw is the same as writing to .text...
 | ||||||
| 	//
 | 	//
 | ||||||
| 	// XXX revise how we handle strict mode...
 | 	// XXX revise how we handle strict mode...
 | ||||||
| 	//
 |  | ||||||
| 	// NOTE: .__debug_last_render_state is mainly exposed for introspection 
 |  | ||||||
| 	// 		and debugging, set comment it out to disable...
 |  | ||||||
| 	//__debug_last_render_state: undefined,
 |  | ||||||
| 	get text(){ return (async function(){ | 	get text(){ return (async function(){ | ||||||
| 		// strict mode -- break on non-existing pages...
 | 		// strict mode -- break on non-existing pages...
 | ||||||
| 		if(this.strict  | 		if(this.strict  | ||||||
| @ -1427,7 +1436,6 @@ object.Constructor('Page', BasePage, { | |||||||
| 			|| path.push(this.PAGE_TEMPLATE) | 			|| path.push(this.PAGE_TEMPLATE) | ||||||
| 		var tpl = pwpath.join(path) | 		var tpl = pwpath.join(path) | ||||||
| 		var tpl_name = path.pop() | 		var tpl_name = path.pop() | ||||||
| 		//path = pwpath.joinArgs(path, this.args)
 |  | ||||||
| 
 | 
 | ||||||
| 		// get the template relative to the top most pattern...
 | 		// get the template relative to the top most pattern...
 | ||||||
| 		tpl = await this.get(tpl).find(true) | 		tpl = await this.get(tpl).find(true) | ||||||
| @ -1438,18 +1446,9 @@ object.Constructor('Page', BasePage, { | |||||||
| 		// render template in context of page...
 | 		// render template in context of page...
 | ||||||
| 		var depends = this.depends = new Set([tpl]) | 		var depends = this.depends = new Set([tpl]) | ||||||
| 		var state = {depends} | 		var state = {depends} | ||||||
| 		// this is here for debugging and introspection...
 | 		// do the parse...
 | ||||||
| 		'__debug_last_render_state' in this | 		return this | ||||||
| 			&& (this.__debug_last_render_state = state) | 			.parse(this.get('/'+tpl).raw, state) }).call(this) }, | ||||||
| 		//var data = { renderer: this }
 |  | ||||||
| 		var data = {  |  | ||||||
| 			renderer: this,  |  | ||||||
| 			args: this.args,  |  | ||||||
| 		} |  | ||||||
| 		return this.get(path, data) |  | ||||||
| 			.parse( |  | ||||||
| 				this.get('/'+tpl, data).raw,  |  | ||||||
| 				state) }).call(this) }, |  | ||||||
| 	set text(value){ | 	set text(value){ | ||||||
| 		this.__update__({text: value}) }, | 		this.__update__({text: value}) }, | ||||||
| 		//this.onTextUpdate(value) },
 | 		//this.onTextUpdate(value) },
 | ||||||
|  | |||||||
							
								
								
									
										20
									
								
								pwiki2.js
									
									
									
									
									
								
							
							
						
						
									
										20
									
								
								pwiki2.js
									
									
									
									
									
								
							| @ -5,26 +5,6 @@ | |||||||
| * 			await pwiki.get('/path/testDirect:x:y:z').parse('@include(.:$ARGS)')  | * 			await pwiki.get('/path/testDirect:x:y:z').parse('@include(.:$ARGS)')  | ||||||
| * 		and: | * 		and: | ||||||
| * 			await pwiki.get('/path/testDirect:x:y:z').text | * 			await pwiki.get('/path/testDirect:x:y:z').text | ||||||
| * XXX ARGS: should the arg locations in these be the same??? |  | ||||||
| * 			// root path: /System/testAction:a:b:c
 |  | ||||||
| * 			await pwiki.get('/path/testDirect:x:y:z').raw |  | ||||||
| * 				.args			- x y z |  | ||||||
| * 				.renderer.args	- a b c (XXX seems logical) |  | ||||||
| * 				.root.args		- a b c |  | ||||||
| * 			await pwiki.get('/path/testDirect:x:y:z').parse('@include(.:$ARGS)')  |  | ||||||
| * 				.args			- x y z |  | ||||||
| * 				.renderer.args	- a b c (XXX odd) |  | ||||||
| * 				.root.args		- a b c |  | ||||||
| * 				XXX should parse .get('.:$ARGS', {renderer: ...}) ??? |  | ||||||
| * 					...or should it set/reset .renderer on this??? |  | ||||||
| * 			await pwiki.get('/path/testDirect:x:y:z').text |  | ||||||
| * 				.args			- x y z |  | ||||||
| * 				.renderer.args	- x y z (XXX logical) |  | ||||||
| * 				.root.args		- a b c |  | ||||||
| * 		...this essentially boils down to how .renderer is handled... |  | ||||||
| * 		currently it is inherited and since all pages are clones of the  |  | ||||||
| * 		root page and the root is rendered it is always the .renderer  |  | ||||||
| * 		unless we explicitly reassign it (.text) |  | ||||||
| * XXX CACHE need to explicitly prevent caching of some actions/pages... | * XXX CACHE need to explicitly prevent caching of some actions/pages... | ||||||
| * XXX FEATURE tags and accompanying API... | * XXX FEATURE tags and accompanying API... | ||||||
| * 		- add tags to page -- macro/filter | * 		- add tags to page -- macro/filter | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user