aloha-vue 1.1.4 → 1.1.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/docs/src/views/PageConfirm/PageConfirm.js +15 -0
- package/docs/src/views/PageConfirm/PageConfirm.pug +7 -0
- package/package.json +1 -1
- package/src/AModal/AModal.js +14 -1
- package/src/AModal/compositionAPI/CloseFromOutsideAPI.js +29 -0
- package/src/AModalConfirm/AModalConfirm.js +15 -1
- package/src/AModalConfirm/compositionAPI/CloseFromOutsideAPI.js +26 -0
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import AModal from "../../../../src/AModal/AModal";
|
|
2
2
|
|
|
3
3
|
import AConfirmAPI from "../../../../src/compositionAPI/AConfirmAPI";
|
|
4
|
+
import EventBus from "../../../../src/utils/EventBus";
|
|
4
5
|
|
|
5
6
|
export default {
|
|
6
7
|
name: "PageConfirm",
|
|
@@ -26,8 +27,22 @@ export default {
|
|
|
26
27
|
});
|
|
27
28
|
};
|
|
28
29
|
|
|
30
|
+
const openConfirmWithTimeout = () => {
|
|
31
|
+
openConfirm({
|
|
32
|
+
headerText: "Aloha",
|
|
33
|
+
bodyHtml: "<div>Aloha <strong>Hola</strong></div>",
|
|
34
|
+
save: save,
|
|
35
|
+
selectorClose: "#btn_confirm_timeout",
|
|
36
|
+
});
|
|
37
|
+
|
|
38
|
+
setTimeout(() => {
|
|
39
|
+
EventBus.$emit("closeModalConfirm");
|
|
40
|
+
}, 5000);
|
|
41
|
+
};
|
|
42
|
+
|
|
29
43
|
return {
|
|
30
44
|
openConfirmLocal,
|
|
45
|
+
openConfirmWithTimeout,
|
|
31
46
|
};
|
|
32
47
|
},
|
|
33
48
|
};
|
package/package.json
CHANGED
package/src/AModal/AModal.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import {
|
|
2
|
-
h,
|
|
2
|
+
h, onBeforeUnmount,
|
|
3
3
|
Teleport,
|
|
4
4
|
withDirectives,
|
|
5
5
|
} from "vue";
|
|
@@ -9,6 +9,8 @@ import ATranslation from "../ATranslation/ATranslation";
|
|
|
9
9
|
|
|
10
10
|
import ASafeHtml from "../directives/ASafeHtml";
|
|
11
11
|
|
|
12
|
+
import CloseFromOutsideAPI from "./compositionAPI/CloseFromOutsideAPI";
|
|
13
|
+
|
|
12
14
|
import {
|
|
13
15
|
modalPluginOptions,
|
|
14
16
|
} from "../plugins/AModalPlugin";
|
|
@@ -191,10 +193,21 @@ export default {
|
|
|
191
193
|
"update:modelValue",
|
|
192
194
|
],
|
|
193
195
|
setup(props, { emit }) {
|
|
196
|
+
const {
|
|
197
|
+
destroyEventBusCloseFromOutside,
|
|
198
|
+
initEventBusCloseFromOutside,
|
|
199
|
+
} = CloseFromOutsideAPI(props);
|
|
200
|
+
|
|
194
201
|
const updateModelLocal = model => {
|
|
195
202
|
emit("update:modelValue", model);
|
|
196
203
|
};
|
|
197
204
|
|
|
205
|
+
initEventBusCloseFromOutside();
|
|
206
|
+
|
|
207
|
+
onBeforeUnmount(() => {
|
|
208
|
+
destroyEventBusCloseFromOutside();
|
|
209
|
+
});
|
|
210
|
+
|
|
198
211
|
return {
|
|
199
212
|
updateModelLocal,
|
|
200
213
|
};
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import {
|
|
2
|
+
toRef,
|
|
3
|
+
} from "vue";
|
|
4
|
+
|
|
5
|
+
import EventBus from "../../utils/EventBus";
|
|
6
|
+
|
|
7
|
+
export default function CloseFromOutsideAPI(props) {
|
|
8
|
+
const close = toRef(props, "close");
|
|
9
|
+
const isConfirm = toRef(props, "isConfirm");
|
|
10
|
+
|
|
11
|
+
const closeModalFromOutside = () => {
|
|
12
|
+
if (!isConfirm.value) {
|
|
13
|
+
close.value();
|
|
14
|
+
}
|
|
15
|
+
};
|
|
16
|
+
|
|
17
|
+
const initEventBusCloseFromOutside = () => {
|
|
18
|
+
EventBus.$on("closeModal", closeModalFromOutside);
|
|
19
|
+
};
|
|
20
|
+
|
|
21
|
+
const destroyEventBusCloseFromOutside = () => {
|
|
22
|
+
EventBus.$off("closeModal", closeModalFromOutside);
|
|
23
|
+
};
|
|
24
|
+
|
|
25
|
+
return {
|
|
26
|
+
destroyEventBusCloseFromOutside,
|
|
27
|
+
initEventBusCloseFromOutside,
|
|
28
|
+
};
|
|
29
|
+
}
|
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
import {
|
|
2
2
|
computed,
|
|
3
|
-
h,
|
|
3
|
+
h, onBeforeUnmount,
|
|
4
4
|
} from "vue";
|
|
5
5
|
|
|
6
6
|
import AModal from "../AModal/AModal";
|
|
7
7
|
|
|
8
8
|
import AConfirmAPI from "../compositionAPI/AConfirmAPI";
|
|
9
|
+
import CloseFromOutsideAPI from "./compositionAPI/CloseFromOutsideAPI";
|
|
9
10
|
|
|
10
11
|
// @vue/component
|
|
11
12
|
export default {
|
|
@@ -17,6 +18,13 @@ export default {
|
|
|
17
18
|
isModalHidden,
|
|
18
19
|
} = AConfirmAPI();
|
|
19
20
|
|
|
21
|
+
const {
|
|
22
|
+
destroyEventBusCloseFromOutside,
|
|
23
|
+
initEventBusCloseFromOutside,
|
|
24
|
+
} = CloseFromOutsideAPI({
|
|
25
|
+
isModalHidden,
|
|
26
|
+
});
|
|
27
|
+
|
|
20
28
|
const modalProps = computed(() => {
|
|
21
29
|
return {
|
|
22
30
|
close: closeConfirm,
|
|
@@ -26,6 +34,12 @@ export default {
|
|
|
26
34
|
};
|
|
27
35
|
});
|
|
28
36
|
|
|
37
|
+
initEventBusCloseFromOutside();
|
|
38
|
+
|
|
39
|
+
onBeforeUnmount(() => {
|
|
40
|
+
destroyEventBusCloseFromOutside();
|
|
41
|
+
});
|
|
42
|
+
|
|
29
43
|
return {
|
|
30
44
|
modalProps,
|
|
31
45
|
};
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import {
|
|
2
|
+
ref,
|
|
3
|
+
} from "vue";
|
|
4
|
+
|
|
5
|
+
import EventBus from "../../utils/EventBus";
|
|
6
|
+
|
|
7
|
+
export default function CloseFromOutsideAPI({
|
|
8
|
+
isModalHidden = ref(false),
|
|
9
|
+
}) {
|
|
10
|
+
const closeModalFromOutside = () => {
|
|
11
|
+
isModalHidden.value = true;
|
|
12
|
+
};
|
|
13
|
+
|
|
14
|
+
const initEventBusCloseFromOutside = () => {
|
|
15
|
+
EventBus.$on("closeModalConfirm", closeModalFromOutside);
|
|
16
|
+
};
|
|
17
|
+
|
|
18
|
+
const destroyEventBusCloseFromOutside = () => {
|
|
19
|
+
EventBus.$off("closeModalConfirm", closeModalFromOutside);
|
|
20
|
+
};
|
|
21
|
+
|
|
22
|
+
return {
|
|
23
|
+
destroyEventBusCloseFromOutside,
|
|
24
|
+
initEventBusCloseFromOutside,
|
|
25
|
+
};
|
|
26
|
+
}
|