Improved display of referenced properties
This commit is contained in:
@@ -55,7 +55,7 @@ function updateReferenceNodeWork(node, userId){
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
cache = {
|
cache = {
|
||||||
node: {name: doc.name, type: doc.type},
|
node: doc,
|
||||||
};
|
};
|
||||||
if (library){
|
if (library){
|
||||||
cache.library = {name: library.name};
|
cache.library = {name: library.name};
|
||||||
|
|||||||
@@ -34,6 +34,14 @@ let ReferenceSchema = new SimpleSchema({
|
|||||||
'cache.node.type': {
|
'cache.node.type': {
|
||||||
type: String,
|
type: String,
|
||||||
},
|
},
|
||||||
|
'cache.node.level': {
|
||||||
|
type: Number,
|
||||||
|
optional: true,
|
||||||
|
},
|
||||||
|
'cache.node.value': {
|
||||||
|
type: Number,
|
||||||
|
optional: true,
|
||||||
|
},
|
||||||
'cache.library': {
|
'cache.library': {
|
||||||
type: Object,
|
type: Object,
|
||||||
optional: true,
|
optional: true,
|
||||||
|
|||||||
@@ -1,33 +1,43 @@
|
|||||||
<template lang="html">
|
<template lang="html">
|
||||||
<div class="folder-form layout justify-start wrap">
|
<div class="folder-form layout justify-start wrap">
|
||||||
<v-text-field
|
<div data-id="change-ref">
|
||||||
label="Linked Property"
|
<v-input
|
||||||
style="flex-basis: 300px;"
|
:label="model.cache && model.cache.node ? '' : 'Linked Property'"
|
||||||
readonly
|
style="flex-basis: 300px; cursor: pointer;"
|
||||||
outlined
|
readonly
|
||||||
persistent-hint
|
outlined
|
||||||
:loading="linkLoading"
|
persistent-hint
|
||||||
:value="
|
:loading="linkLoading"
|
||||||
model.cache.node && model.cache.node.name ||
|
:value="
|
||||||
model.ref && model.ref.id
|
model.cache.node && model.cache.node.name ||
|
||||||
"
|
model.ref && model.ref.id
|
||||||
:hint="model.cache.library && model.cache.library.name"
|
"
|
||||||
:error-messages="model.cache.error || errors.ref"
|
:hint="model.cache.library && model.cache.library.name"
|
||||||
prepend-inner-icon="mdi-vector-link"
|
:error-messages="model.cache.error || errors.ref"
|
||||||
append-icon="mdi-refresh"
|
prepend-icon="mdi-vector-link"
|
||||||
data-id="change-ref"
|
append-icon="mdi-refresh"
|
||||||
@click="changeReference"
|
@click="changeReference"
|
||||||
@click:prepend-inner="changeReference"
|
@click:prepend="changeReference"
|
||||||
@click:append="updateReferenceNode"
|
@click:append="updateReferenceNode"
|
||||||
/>
|
>
|
||||||
|
<tree-node-view
|
||||||
|
v-if="model && model.cache && model.cache.node"
|
||||||
|
:model="model.cache.node"
|
||||||
|
/>
|
||||||
|
</v-input>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script lang="js">
|
<script lang="js">
|
||||||
|
import TreeNodeView from '/imports/ui/properties/treeNodeViews/TreeNodeView.vue';
|
||||||
import propertyFormMixin from '/imports/ui/properties/forms/shared/propertyFormMixin.js';
|
import propertyFormMixin from '/imports/ui/properties/forms/shared/propertyFormMixin.js';
|
||||||
import updateReferenceNode from '/imports/api/library/methods/updateReferenceNode.js';
|
import updateReferenceNode from '/imports/api/library/methods/updateReferenceNode.js';
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
|
components: {
|
||||||
|
TreeNodeView,
|
||||||
|
},
|
||||||
mixins: [propertyFormMixin],
|
mixins: [propertyFormMixin],
|
||||||
data(){return {
|
data(){return {
|
||||||
linkLoading: false,
|
linkLoading: false,
|
||||||
|
|||||||
@@ -7,7 +7,14 @@
|
|||||||
:color="model.color"
|
:color="model.color"
|
||||||
:class="selected && 'primary--text'"
|
:class="selected && 'primary--text'"
|
||||||
/>
|
/>
|
||||||
<div class="text-no-wrap text-truncate">
|
<tree-node-view
|
||||||
|
v-if="model.cache && model.cache.node && model.cache.node.type !== 'reference'"
|
||||||
|
:model="model.cache.node"
|
||||||
|
/>
|
||||||
|
<div
|
||||||
|
v-else
|
||||||
|
class="text-no-wrap text-truncate"
|
||||||
|
>
|
||||||
{{ model.cache.node && model.cache.node.name || title }}
|
{{ model.cache.node && model.cache.node.name || title }}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -15,8 +22,12 @@
|
|||||||
|
|
||||||
<script lang="js">
|
<script lang="js">
|
||||||
import treeNodeViewMixin from '/imports/ui/properties/treeNodeViews/treeNodeViewMixin.js';
|
import treeNodeViewMixin from '/imports/ui/properties/treeNodeViews/treeNodeViewMixin.js';
|
||||||
|
import TreeNodeView from '/imports/ui/properties/treeNodeViews/TreeNodeView.vue';
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
|
components: {
|
||||||
|
TreeNodeView,
|
||||||
|
},
|
||||||
mixins: [treeNodeViewMixin],
|
mixins: [treeNodeViewMixin],
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|||||||
@@ -5,11 +5,12 @@
|
|||||||
name="Error"
|
name="Error"
|
||||||
:value="model.cache.error"
|
:value="model.cache.error"
|
||||||
/>
|
/>
|
||||||
<property-field
|
<template v-else-if="model.ref && model.ref.id">
|
||||||
v-else-if="model.ref && model.ref.id"
|
<div class="text-caption">
|
||||||
name="Linked Property"
|
Linked Property
|
||||||
:value="model.cache.node && model.cache.node.name || model.ref.id"
|
</div>
|
||||||
/>
|
<tree-node-view :model="model.cache.node" />
|
||||||
|
</template>
|
||||||
<property-field
|
<property-field
|
||||||
v-if="model.cache.library && model.cache.library.name"
|
v-if="model.cache.library && model.cache.library.name"
|
||||||
name="Library"
|
name="Library"
|
||||||
@@ -20,8 +21,12 @@
|
|||||||
|
|
||||||
<script lang="js">
|
<script lang="js">
|
||||||
import propertyViewerMixin from '/imports/ui/properties/viewers/shared/propertyViewerMixin.js'
|
import propertyViewerMixin from '/imports/ui/properties/viewers/shared/propertyViewerMixin.js'
|
||||||
|
import TreeNodeView from '/imports/ui/properties/treeNodeViews/TreeNodeView.vue';
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
|
components: {
|
||||||
|
TreeNodeView,
|
||||||
|
},
|
||||||
mixins: [propertyViewerMixin],
|
mixins: [propertyViewerMixin],
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|||||||
Reference in New Issue
Block a user