mirror of
https://github.com/flynx/pWiki.git
synced 2025-10-31 19:10: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