diff --git a/resources/assets/js/components/menu/CustomSidebarMenuItem.vue b/resources/assets/js/components/menu/CustomSidebarMenuItem.vue index 1f9f49ba9..4a937b359 100644 --- a/resources/assets/js/components/menu/CustomSidebarMenuItem.vue +++ b/resources/assets/js/components/menu/CustomSidebarMenuItem.vue @@ -6,7 +6,11 @@ :class="item.class" v-bind="item.attributes" > - {{ item.title }} + {{ item.title }} +
-
- Cancel + {{ $t("ID_CLOSE") }} @@ -154,6 +157,7 @@ import draggable from "vuedraggable"; import CustomSidebarMenuLink from "./CustomSidebarMenuLink"; import CustomSidebarMenuIcon from "./CustomSidebarMenuIcon"; import CustomTooltip from "./../utils/CustomTooltip.vue"; +import eventBus from "./../../home/EventBus/eventBus"; export default { name: "CustomSidebarMenuItem", @@ -203,7 +207,7 @@ export default { draggable, CustomSidebarMenuLink, CustomSidebarMenuIcon, - CustomTooltip + CustomTooltip, }, data() { return { @@ -213,7 +217,7 @@ export default { itemHover: false, exactActive: false, active: false, - titleHover: '', + titleHover: "", }; }, computed: { @@ -257,7 +261,18 @@ export default { return !!(this.item.child && this.item.child.length > 0); }, isItemHidden() { - return false; + if (this.isCollapsed) { + if ( + this.item.hidden && + this.item.hiddenOnCollapse === undefined + ) { + return true; + } else { + return this.item.hiddenOnCollapse === true; + } + } else { + return this.item.hidden === true; + } }, }, watch: { @@ -362,7 +377,7 @@ export default { ); }, /** - * Ensurre if the link exact is active + * Ensurre if the link exact is active * @param {object} item * @return {boolean} */ @@ -374,7 +389,6 @@ export default { */ initState() { this.initActiveState(); - this.initShowState(); }, /** * Initalize the active state of the menu item @@ -384,7 +398,7 @@ export default { this.exactActive = this.isLinkExactActive(this.item); }, /** - * Initialize and show active state menu item + * Initialize and show active state menu item */ initShowState() { if (!this.itemHasChild || this.showChild) return; @@ -404,9 +418,11 @@ export default { checkMove: function(e) { let aux = this.item.child.splice(e.newIndex, 1); this.item.child.splice(e.newIndex, 0, aux[0]); + this.emitItemUpdate(this.item, this.item); + eventBus.$emit("sort-menu", this.item.child); }, /** - * Click event Handler + * Click event Handler * @param {object} event */ clickEvent(event) { @@ -476,13 +492,16 @@ export default { if (this.hover) return; if (!this.isCollapsed || !this.isFirstLevel || this.isMobileItem) return; - this.$emit("unset-mobile-item", true); + this.$parent.$emit("unset-mobile-item", true); setTimeout(() => { - if (this.mobileItem !== this.item) { - this.$emit("set-mobile-item", { item: this.item, itemEl }); + if (this.$parent.mobileItem !== this.item) { + this.$parent.$emit("set-mobile-item", { + item: this.item, + itemEl, + }); } if (event.type === "click" && !this.itemHasChild) { - this.$emit("unset-mobile-item", false); + this.$parent.$emit("unset-mobile-item", false); } }, 0); }, diff --git a/resources/assets/js/components/search/CasesFilter.vue b/resources/assets/js/components/search/CasesFilter.vue index 2987ccfb1..e089a23f2 100644 --- a/resources/assets/js/components/search/CasesFilter.vue +++ b/resources/assets/js/components/search/CasesFilter.vue @@ -286,7 +286,7 @@ export default { self.selected.push(component.id); self.itemModel[component.id] = component; self.itemModel[component.id].autoShow = typeof item.autoShow !== "undefined" ? item.autoShow : true; - if (!oldVal.length) { + if (oldVal && !oldVal.length) { self.updateSearchTag(item); } } diff --git a/resources/assets/js/components/utils/CustomTooltip.vue b/resources/assets/js/components/utils/CustomTooltip.vue index 670ec7c37..abb42dd3d 100644 --- a/resources/assets/js/components/utils/CustomTooltip.vue +++ b/resources/assets/js/components/utils/CustomTooltip.vue @@ -1,21 +1,14 @@ diff --git a/resources/assets/js/home/EventBus/eventBus.js b/resources/assets/js/home/EventBus/eventBus.js new file mode 100644 index 000000000..20eecd8c8 --- /dev/null +++ b/resources/assets/js/home/EventBus/eventBus.js @@ -0,0 +1,4 @@ +import Vue from 'vue' +const eventBus = new Vue() + +export default eventBus \ No newline at end of file diff --git a/resources/assets/js/home/Home.vue b/resources/assets/js/home/Home.vue index bca99eb2b..c87f572f8 100644 --- a/resources/assets/js/home/Home.vue +++ b/resources/assets/js/home/Home.vue @@ -26,7 +26,7 @@ :defaultOption="defaultOption" :settings="config.setting[page]" :filters="filters" - @onSubmitFilter="onSubmitFilter" + @onSubmitFilter="onSubmitFilter" @onRemoveFilter="onRemoveFilter" @onUpdatePage="onUpdatePage" @onUpdateDataCase="onUpdateDataCase" @@ -34,15 +34,16 @@ @onUpdateFilters="onUpdateFilters" @cleanDefaultOption="cleanDefaultOption" @updateUserSettings="updateUserSettings" - > + >