feat(module_links): doctypes as dependencies
This commit is contained in:
parent
0ee2700614
commit
df96ce46ac
4 changed files with 44 additions and 8 deletions
|
|
@ -59,7 +59,12 @@ def get_data(module):
|
|||
# Onboarding
|
||||
|
||||
# First disable based on exists of depends_on list
|
||||
doctype = item.get("doctype")
|
||||
dependencies = item.get("dependencies") or None
|
||||
if not dependencies and doctype:
|
||||
item["dependencies"] = [doctype]
|
||||
|
||||
dependencies = item.get("dependencies")
|
||||
if dependencies:
|
||||
incomplete_dependencies = [d for d in dependencies if not exists(d)]
|
||||
if len(incomplete_dependencies):
|
||||
|
|
|
|||
|
|
@ -16,7 +16,7 @@
|
|||
<div class="flush-top">
|
||||
<div class="module-box-content">
|
||||
<h4 class="h4">
|
||||
<span v-if="module.count" class="indicator orange"></span>
|
||||
<span class="indicator" :class="module.count ? 'red' : 'orange'"></span>
|
||||
{{ module.label }}
|
||||
</h4>
|
||||
<p class="small text-muted"> {{ module.description }} </p>
|
||||
|
|
|
|||
|
|
@ -29,7 +29,21 @@ export default {
|
|||
components: {
|
||||
ModuleLinkItem
|
||||
},
|
||||
props: ['module_name', 'sections']
|
||||
props: ['module_name', 'sections'],
|
||||
data() {
|
||||
return {
|
||||
popover_present: false
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
popover_appeared() {
|
||||
this.popover_present = true;
|
||||
},
|
||||
|
||||
popover_disappeared() {
|
||||
this.popover_present = false;
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
<style lang="less" scoped>
|
||||
|
|
|
|||
|
|
@ -1,22 +1,22 @@
|
|||
<template>
|
||||
<div class="link-item flush-top small"
|
||||
:class="{'onboard-spotlight': onboard, 'disabled-link': disabled_dependent}"
|
||||
@mouseover="hover = true" @mouseleave="hover = false"
|
||||
@mouseover="hover = true" @mouseleave="mouseleave"
|
||||
>
|
||||
<span :class="['indicator', indicator_color]"></span>
|
||||
|
||||
<span v-if="disabled_dependent" class="link-content text-muted">{{ label || __(name) }}</span>
|
||||
<a v-else class="link-content" :href="route">{{ label || __(name) }}</a>
|
||||
|
||||
<div v-if="disabled_dependent" v-show="hover"
|
||||
<div v-if="disabled_dependent" v-show="popover_active"
|
||||
@mouseover="popover_hover = true" @mouseleave="popover_hover = false"
|
||||
class="popover fade top in" role="tooltip"
|
||||
>
|
||||
|
||||
<div class="arrow"></div>
|
||||
<h3 class="popover-title" style="display: none;"></h3>
|
||||
<div class="popover-content">
|
||||
<div class="small text-muted">{{ __("You need to create these first: ") }}</div>
|
||||
<div>{{ __(incomplete_dependencies.join(", ")) }}</div>
|
||||
<div class="small">{{ __(incomplete_dependencies.join(", ")) }}</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
@ -24,10 +24,11 @@
|
|||
|
||||
<script>
|
||||
export default {
|
||||
props: ['label', 'name', 'dependencies', 'incomplete_dependencies', 'onboard', 'count', 'route', 'doctype', 'open_count'],
|
||||
props: ['label', 'name', 'dependencies', 'incomplete_dependencies', 'onboard', 'count', 'route', 'doctype', 'open_count', 'popover_present'],
|
||||
data() {
|
||||
return {
|
||||
hover: false
|
||||
hover: false,
|
||||
popover_hover: false,
|
||||
}
|
||||
},
|
||||
computed: {
|
||||
|
|
@ -43,6 +44,21 @@ export default {
|
|||
return this.count ? 'blue' : 'orange';
|
||||
};
|
||||
return 'grey';
|
||||
},
|
||||
|
||||
popover_active() {
|
||||
return this.popover_hover || this.hover;
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
mouseover() {
|
||||
this.hover = true;
|
||||
},
|
||||
|
||||
mouseleave() {
|
||||
setTimeout(() => {
|
||||
this.hover = false;
|
||||
}, 100);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -53,6 +69,7 @@ export default {
|
|||
.link-item {
|
||||
position: relative;
|
||||
margin: 10px 0px;
|
||||
cursor: default;
|
||||
}
|
||||
|
||||
.onboard-spotlight {
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue