diff --git a/resources/assets/js/App.vue b/resources/assets/js/App.vue
index 88b55fd35..6ab71f65a 100755
--- a/resources/assets/js/App.vue
+++ b/resources/assets/js/App.vue
@@ -98,6 +98,7 @@ import emitter from "./store/events";
import SearchBox from "./components/SearchBox.vue";
import UserDetail from "./pages/manage/components/UserDetail.vue";
import {languageName} from "./language";
+import {closeLastMicroAggregate} from "./components/MicroApps/queue";
export default {
mixins: [ctrlPressed],
@@ -550,6 +551,9 @@ export default {
}
window.__onBeforeUnload = () => {
this.$store.dispatch("onBeforeUnload");
+ if (closeLastMicroAggregate()) {
+ return;
+ }
if (this.$Modal.removeLast()) {
return true;
}
diff --git a/resources/assets/js/components/MicroApps/content.vue b/resources/assets/js/components/MicroApps/content.vue
deleted file mode 100644
index 1d1105481..000000000
--- a/resources/assets/js/components/MicroApps/content.vue
+++ /dev/null
@@ -1,55 +0,0 @@
-
-
-
-
-
diff --git a/resources/assets/js/components/MicroApps/index.vue b/resources/assets/js/components/MicroApps/index.vue
index e7c758c94..ba79404be 100644
--- a/resources/assets/js/components/MicroApps/index.vue
+++ b/resources/assets/js/components/MicroApps/index.vue
@@ -1,54 +1,29 @@
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
diff --git a/resources/assets/js/components/MicroApps/queue.js b/resources/assets/js/components/MicroApps/queue.js
new file mode 100644
index 000000000..5ca135867
--- /dev/null
+++ b/resources/assets/js/components/MicroApps/queue.js
@@ -0,0 +1,22 @@
+import emitter from "../../store/events";
+
+let microAggregate = [];
+
+const setMicroAggregate = (names) => {
+ microAggregate = names;
+}
+
+const hasMicroAggregate = () => {
+ return microAggregate.length > 0;
+}
+
+const closeLastMicroAggregate = () => {
+ const name = microAggregate.pop();
+ if (!name) {
+ return false;
+ }
+ emitter.emit("observeMicroApp:close", name);
+ return true;
+}
+
+export { setMicroAggregate, hasMicroAggregate, closeLastMicroAggregate};
diff --git a/resources/assets/js/components/Mobile/Back.vue b/resources/assets/js/components/Mobile/Back.vue
index 0741d2b1c..08772d7ea 100644
--- a/resources/assets/js/components/Mobile/Back.vue
+++ b/resources/assets/js/components/Mobile/Back.vue
@@ -6,6 +6,7 @@