Skip to content

Commit 36092c8

Browse files
author
Lee Richmond
committed
temp
1 parent 16efd98 commit 36092c8

File tree

6 files changed

+27
-8
lines changed

6 files changed

+27
-8
lines changed

src/components/ResourceForm.vue

+2-2
Original file line numberDiff line numberDiff line change
@@ -107,7 +107,7 @@
107107
<div class="relationships section form-group" :class="{ 'editing-subrelationship': query.editingRelationship, nested: (query.editingRelationship && isRelationship), 'active-subrelationship': isActiveSubrelationship, 'inactive-subrelationship': !isActiveSubrelationship, ['depth-'+depth]: true }">
108108
<label v-if="!(query.editingRelationship && isRelationship)">Relationships</label>
109109

110-
<div v-for="(config, name) in query.resource.relationships" :key="name" class="relationship clearfix" :class="{ ['depth-'+depth]: true, selected: query.relationships[name], hide: (query.editingRelationship && query.editingRelationship != query.relationships[name]) }">
110+
<div v-for="(config, name) in query.possibleRelationships" :key="name" class="relationship clearfix" :class="{ ['depth-'+depth]: true, selected: query.relationships[name], hide: (query.editingRelationship && query.editingRelationship != query.relationships[name]) }">
111111
<a class='toggle clearfix' @click="toggleRelationship(name, config)">
112112
<div class="float-left name">{{name}}</div>
113113

@@ -120,7 +120,7 @@
120120
</div>
121121
</div>
122122

123-
<div v-for="(config, name) in query.resource.relationships" :key="name">
123+
<div v-for="(config, name) in query.relationships" :key="name">
124124
<div v-if="query.relationships[name]" :class="{ hidden: query.editingRelationship != query.relationships[name] }">
125125
<resource-form
126126
:query="query.relationships[name]"

src/components/UrlBar.vue

+3-3
Original file line numberDiff line numberDiff line change
@@ -34,10 +34,10 @@ export default Vue.extend({
3434
},
3535
methods: {
3636
copyUrl() {
37-
navigator.clipboard.writeText(this.query.urlWithDomain)
37+
navigator['clipboard'].writeText(this.query.urlWithDomain)
3838
},
3939
copyAsCurl() {
40-
navigator.clipboard.writeText(this.query.generateCurl())
40+
navigator['clipboard'].writeText(this.query.generateCurl())
4141
},
4242
buildQueryObject() {
4343
let query = urlToQuery(this.query)
@@ -139,4 +139,4 @@ export default Vue.extend({
139139
}
140140
}
141141
}
142-
</style>
142+
</style>

src/query.ts

+16
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ export class Query {
2121
url: string | null
2222
urlWithDomain: string | null
2323
relationships: any
24+
possibleRelationships: any
2425
relationshipPath: string
2526

2627
ready: boolean
@@ -46,12 +47,27 @@ export class Query {
4647
this.endpointIdParam = null
4748
this.error = null
4849
this.hasRawError = false
50+
this.possibleRelationships = this.derivePossibleRelationships()
4951

5052
if (this.isShowRoute()) {
5153
this.filters = [{ name: 'id', operator: 'eq', required: true, error: null }]
5254
}
5355
}
5456

57+
derivePossibleRelationships() : any {
58+
if (this.resource.polymorphic) {
59+
let relationships = Object.assign({}, this.resource.relationships)
60+
this.resource.children.forEach((name: string) => {
61+
let childResource = this.schema.getResource(name)
62+
Object.assign(relationships, childResource.relationships)
63+
})
64+
console.log('returning relationships')
65+
return relationships
66+
} else {
67+
return this.resource.relationships
68+
}
69+
}
70+
5571
isShowRoute() : boolean {
5672
return this.endpoint && this.endpoint.includes('#show')
5773
}

src/router.ts

+1
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ Vue.use(Router)
77

88
export default new Router({
99
mode: 'history',
10+
base: '/vandal',
1011
routes: [
1112
{
1213
path: '/',

src/views/All.vue

+3-2
Original file line numberDiff line numberDiff line change
@@ -162,6 +162,7 @@ export default Vue.extend({
162162
}
163163
},
164164
created() {
165+
console.log('all created')
165166
this.fetchSchema()
166167
let doneCreating = () => { this.creating = false }
167168
setTimeout(doneCreating, 1000)
@@ -228,7 +229,7 @@ export default Vue.extend({
228229
if (this.isShowAction) {
229230
let filter = this.query.filters.filter((f) => { return f.name === 'id' })[0]
230231
if (!filter.value) {
231-
this.tempSet(filter, 'error', true, 1000)
232+
this['tempSet'](filter, 'error', true, 1000)
232233
return false
233234
} else {
234235
filter.error = false
@@ -694,4 +695,4 @@ pre {
694695
animation: modal-open 200ms;
695696
}
696697
}
697-
</style>
698+
</style>

vue.config.js

+2-1
Original file line numberDiff line numberDiff line change
@@ -2,5 +2,6 @@ module.exports = {
22
lintOnSave: false,
33
devServer: {
44
proxy: process.env.PROXY
5-
}
5+
},
6+
baseUrl: '/vandal'
67
}

0 commit comments

Comments
 (0)