Skip to content

Commit 7eaf137

Browse files
committed
Fix homepage taken as subpage
1 parent 0969a2e commit 7eaf137

File tree

1 file changed

+30
-22
lines changed

1 file changed

+30
-22
lines changed

src/compiler2/ontologies/portal/index.js

+30-22
Original file line numberDiff line numberDiff line change
@@ -29,23 +29,22 @@ module.exports = ({ ontologies }) => {
2929
return actual.data === expected
3030
}
3131
if (expected instanceof RegExp) {
32-
console.log('expected is regex', entry, key)
3332
return !!actual.data.match(expected)
3433
}
3534
if (expected instanceof Function) {
3635
return expected(actual.data)
3736
}
3837
if (typeof expected === 'object') {
39-
console.log('expected is object', entry, key)
4038
return SubOntologies.match(actual, expected)
4139
}
4240
})
4341
},
4442

4543
reduce: (model, entry) => {
46-
return model
44+
console.log('SubOntologies.reduce', model, entry)
45+
return undefined
4746
if (!SubOntologies.match(entry)) {
48-
return model
47+
return undefined
4948
}
5049
const subOntology = ontologies.get(entry.data.name.data)
5150
return {
@@ -75,23 +74,19 @@ module.exports = ({ ontologies }) => {
7574

7675
match: (entry, _schema) => {
7776
const schema = _schema || HomepageCenter.schema(entry)
78-
console.log('HomepageCenter.match schema', schema)
7977
return Object.keys(schema).every((key) => {
8078
const expected = schema[key]
8179
const actual = entry[key]
8280
if (typeof expected === 'string') {
83-
console.log('expected is string', entry, key)
8481
return (actual.data || actual) === expected
8582
}
8683
if (expected instanceof RegExp) {
87-
console.log('expected is regex', entry, key)
8884
return !!(actual.data || actual).match(expected)
8985
}
9086
if (expected instanceof Function) {
9187
return expected(actual.data || actual)
9288
}
9389
if (key === 'data') {
94-
console.log('expected is object', entry, key)
9590
return HomepageCenter.match(actual, expected)
9691
}
9792
})
@@ -101,7 +96,7 @@ module.exports = ({ ontologies }) => {
10196
console.log('HomepageCenter.reduce', model, entry)
10297
if (!HomepageCenter.match(entry)) {
10398
console.log('HomepageCenter other')
104-
return model
99+
return undefined
105100
}
106101
const homepage = new Models.Homepage(entry)
107102
console.log('HomepageCenter homepage', homepage)
@@ -136,23 +131,19 @@ module.exports = ({ ontologies }) => {
136131

137132
match: (entry, _schema) => {
138133
const schema = _schema || Subpages.schema(entry)
139-
console.log('Subpages.match schema', schema)
140134
return Object.keys(schema).every((key) => {
141135
const expected = schema[key]
142136
const actual = entry[key]
143137
if (typeof expected === 'string') {
144-
console.log('expected is string', entry, key)
145138
return (actual.data || actual) === expected
146139
}
147140
if (expected instanceof RegExp) {
148-
console.log('expected is regex', entry, key)
149141
return !!(actual.data || actual).match(expected)
150142
}
151143
if (expected instanceof Function) {
152144
return expected(actual.data || actual)
153145
}
154146
if (key === 'data') {
155-
console.log('expected is object', entry, key)
156147
return Subpages.match(actual, expected)
157148
}
158149
})
@@ -162,7 +153,7 @@ module.exports = ({ ontologies }) => {
162153
console.log('Subpages.reduce', model, entry)
163154
if (!Subpages.match(entry)) {
164155
console.log('Subpages other')
165-
return model
156+
return undefined
166157
}
167158
const subpage = new Models.Subpage(entry)
168159
console.log('Subpages subpage', subpage)
@@ -178,7 +169,7 @@ module.exports = ({ ontologies }) => {
178169
},
179170

180171
render: async (renderer, model) => {
181-
console.log('subpages.render contentModel', model)
172+
console.log('renderSubpages contentModel', model)
182173
await Subpages.view(renderer, model)
183174
}
184175
}
@@ -189,16 +180,33 @@ module.exports = ({ ontologies }) => {
189180
this.contentModel = contentTree.tree.reduce((model, entry) => {
190181
console.log('portal.contentTree.reduce', model, entry)
191182

192-
const maybeWithSubOntologies = SubOntologies.reduce(model, entry)
193-
console.log('portal.contentTree.reduce withSubOntologies', maybeWithSubOntologies, entry)
183+
const withSubOntologies = SubOntologies.reduce(model, entry)
184+
if (withSubOntologies) {
185+
console.log('portal.contentTree.reduce withSubOntologies', withSubOntologies)
186+
return withSubOntologies
187+
}
188+
189+
const withHomepage = HomepageCenter.reduce(
190+
(withSubOntologies || model),
191+
entry
192+
)
193+
if (withHomepage) {
194+
console.log('portal.contentTree.reduce withHomepage', withHomepage)
195+
return withHomepage
196+
}
194197

195-
const maybeWithHomepage = HomepageCenter.reduce(maybeWithSubOntologies, entry)
196-
console.log('portal.contentTree.reduce withHomepage', maybeWithHomepage, entry)
198+
const withSubpages = Subpages.reduce(
199+
(withHomepage || withSubOntologies || model),
200+
entry
201+
)
202+
if (withSubpages) {
203+
console.log('portal.contentTree.reduce withSubpages', withSubpages)
204+
return withSubpages
205+
}
197206

198-
const maybeWithSubpages = Subpages.reduce(maybeWithHomepage, entry, entry)
199-
console.log('portal.contentTree.reduce withSubpages', maybeWithSubpages)
207+
// localAssets
200208

201-
return maybeWithSubpages
209+
return model
202210
}, {})
203211
console.log('portal.contentModel', JSON.stringify(this.contentModel, null, 2))
204212
}

0 commit comments

Comments
 (0)