feat(module_links): doctypes as dependencies

This commit is contained in:
Prateeksha Singh 2019-02-06 17:02:05 +05:30
parent 0ee2700614
commit df96ce46ac
4 changed files with 44 additions and 8 deletions

View file

@ -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):

View file

@ -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>

View file

@ -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>

View file

@ -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 {