vueless 0.0.144 → 0.0.145
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/index.js +5 -9
- package/package.json +1 -1
- package/ui.loader-rendering/Docs.mdx +20 -5
- package/ui.loader-rendering/composables/useLoaderRendering.js +10 -12
- package/ui.loader-rendering/index.vue +6 -6
- package/ui.loader-top/Docs.mdx +4 -7
- package/ui.loader-top/composables/useLoaderTop.js +6 -9
- package/ui.loader-top/index.stories.js +2 -2
- package/ui.loader-top/index.vue +4 -4
- package/web-types.json +1 -1
package/index.js
CHANGED
|
@@ -1,20 +1,15 @@
|
|
|
1
|
+
/* eslint-disable vue/max-len, prettier/prettier */
|
|
1
2
|
import { createLocale, LocaleSymbol } from "./composable.locale";
|
|
2
|
-
import {
|
|
3
|
-
createLoaderRendering,
|
|
4
|
-
LoaderRenderingSymbol,
|
|
5
|
-
} from "./ui.loader-rendering/composables/useLoaderRendering";
|
|
3
|
+
import { createLoaderRendering, LoaderRenderingSymbol } from "./ui.loader-rendering/composables/useLoaderRendering";
|
|
6
4
|
import { createLoaderTop, LoaderTopSymbol } from "./ui.loader-top/composables/useLoaderTop";
|
|
7
5
|
|
|
8
6
|
export { default as createVueI18nAdapter } from "./adatper.locale/vue-i18n";
|
|
9
7
|
export { default as defaultEnLocale } from "./adatper.locale/locales/en";
|
|
10
8
|
export { useLocale } from "./composable.locale";
|
|
11
|
-
export { useLoaderRendering } from "./ui.loader-rendering/composables/useLoaderRendering";
|
|
12
9
|
export { useLoaderTop } from "./ui.loader-top/composables/useLoaderTop";
|
|
13
|
-
export {
|
|
14
|
-
loaderRenderingOn,
|
|
15
|
-
loaderRenderingOff,
|
|
16
|
-
} from "./ui.loader-rendering/services/loaderRedering.service";
|
|
17
10
|
export { loaderTopOn, loaderTopOff } from "./ui.loader-top/services/loaderTop.service";
|
|
11
|
+
export { useLoaderRendering } from "./ui.loader-rendering/composables/useLoaderRendering";
|
|
12
|
+
export { loaderRenderingOn, loaderRenderingOff } from "./ui.loader-rendering/services/loaderRedering.service";
|
|
18
13
|
export {
|
|
19
14
|
notify,
|
|
20
15
|
notifySuccess,
|
|
@@ -24,6 +19,7 @@ export {
|
|
|
24
19
|
setDelayedNotify,
|
|
25
20
|
getDelayedNotify,
|
|
26
21
|
} from "./ui.text-notify/services";
|
|
22
|
+
/* eslint-enable vue/max-len, prettier/prettier */
|
|
27
23
|
|
|
28
24
|
export function createVueless(options = {}) {
|
|
29
25
|
const i18n = createLocale(options.i18n);
|
package/package.json
CHANGED
|
@@ -11,18 +11,33 @@ import * as stories from "./index.stories";
|
|
|
11
11
|
<Controls of={stories.Default} />
|
|
12
12
|
<Stories of={stories} />
|
|
13
13
|
|
|
14
|
-
##
|
|
15
|
-
|
|
14
|
+
## Using loader
|
|
15
|
+
To control the loader state in Vue components use `useLoaderRendering` composable.
|
|
16
16
|
|
|
17
17
|
<Source code={`
|
|
18
18
|
import { useLoaderRendering } from "vueless";
|
|
19
19
|
|
|
20
|
-
const {
|
|
20
|
+
const { isLoading, loaderRenderingOn, loaderRenderingOff } = useLoaderRendering();
|
|
21
|
+
|
|
22
|
+
// get loader state
|
|
23
|
+
console.log(isLoading.value);
|
|
24
|
+
|
|
25
|
+
// show loader
|
|
26
|
+
loaderRenderingOn();
|
|
27
|
+
|
|
28
|
+
// hide loader
|
|
29
|
+
loaderRenderingOff();
|
|
21
30
|
`} language="jsx" dark />
|
|
22
31
|
|
|
23
|
-
##
|
|
24
|
-
|
|
32
|
+
## Using loader outside Vue components
|
|
33
|
+
To control the loader state outside Vue components, use the following methods.
|
|
25
34
|
|
|
26
35
|
<Source code={`
|
|
27
36
|
import { loaderRenderingOn, loaderRenderingOff } from "vueless";
|
|
37
|
+
|
|
38
|
+
// show loader
|
|
39
|
+
loaderRenderingOn();
|
|
40
|
+
|
|
41
|
+
// hide loader
|
|
42
|
+
loaderRenderingOff();
|
|
28
43
|
`} language="jsx" dark />
|
|
@@ -1,27 +1,25 @@
|
|
|
1
|
-
import { readonly, ref
|
|
1
|
+
import { inject, readonly, ref } from "vue";
|
|
2
2
|
|
|
3
3
|
export const LoaderRenderingSymbol = Symbol.for("vueless:loader-rendering");
|
|
4
4
|
|
|
5
|
-
const
|
|
5
|
+
const isLoading = ref(true);
|
|
6
6
|
|
|
7
|
-
function
|
|
8
|
-
|
|
7
|
+
function loaderRenderingOn() {
|
|
8
|
+
isLoading.value = true;
|
|
9
9
|
}
|
|
10
10
|
|
|
11
|
-
function
|
|
12
|
-
|
|
11
|
+
function loaderRenderingOff() {
|
|
12
|
+
isLoading.value = false;
|
|
13
13
|
}
|
|
14
14
|
|
|
15
15
|
export function createLoaderRendering() {
|
|
16
16
|
return {
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
17
|
+
isLoading: readonly(isLoading),
|
|
18
|
+
loaderRenderingOn,
|
|
19
|
+
loaderRenderingOff,
|
|
20
20
|
};
|
|
21
21
|
}
|
|
22
22
|
|
|
23
23
|
export function useLoaderRendering() {
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
return loaderRenderingState;
|
|
24
|
+
return inject(LoaderRenderingSymbol);
|
|
27
25
|
}
|
|
@@ -40,19 +40,19 @@ const props = defineProps({
|
|
|
40
40
|
});
|
|
41
41
|
|
|
42
42
|
const { wrapperAttrs, config } = useAttrs(props);
|
|
43
|
-
const {
|
|
43
|
+
const { isLoading, loaderRenderingOn, loaderRenderingOff } = useLoaderRendering();
|
|
44
44
|
|
|
45
45
|
onMounted(() => {
|
|
46
|
-
window.addEventListener("setRenderingStarted",
|
|
47
|
-
window.addEventListener("setRenderingFinished",
|
|
46
|
+
window.addEventListener("setRenderingStarted", loaderRenderingOn);
|
|
47
|
+
window.addEventListener("setRenderingFinished", loaderRenderingOff);
|
|
48
48
|
});
|
|
49
49
|
|
|
50
50
|
onUnmounted(() => {
|
|
51
|
-
window.removeEventListener("setRenderingStarted",
|
|
52
|
-
window.removeEventListener("setRenderingFinished",
|
|
51
|
+
window.removeEventListener("setRenderingStarted", loaderRenderingOn);
|
|
52
|
+
window.removeEventListener("setRenderingFinished", loaderRenderingOff);
|
|
53
53
|
});
|
|
54
54
|
|
|
55
55
|
const showLoader = computed(() => {
|
|
56
|
-
return props.loading ||
|
|
56
|
+
return props.loading || isLoading.value;
|
|
57
57
|
});
|
|
58
58
|
</script>
|
package/ui.loader-top/Docs.mdx
CHANGED
|
@@ -21,9 +21,9 @@ You can control loader state using *useLoaderRendering* composable.
|
|
|
21
21
|
<Source code={`
|
|
22
22
|
import { useLoaderTop } from "vueless";
|
|
23
23
|
|
|
24
|
-
const {
|
|
25
|
-
|
|
26
|
-
|
|
24
|
+
const {
|
|
25
|
+
loaderTopOn,
|
|
26
|
+
loaderTopOff,
|
|
27
27
|
addRequestUrl,
|
|
28
28
|
removeRequestUrl
|
|
29
29
|
} = useLoaderTop();
|
|
@@ -33,8 +33,5 @@ const {
|
|
|
33
33
|
You can control loader state outside of vue components using following methods.
|
|
34
34
|
|
|
35
35
|
<Source code={`
|
|
36
|
-
import {
|
|
37
|
-
loaderTopOn,
|
|
38
|
-
loaderTopOff,
|
|
39
|
-
} from "vueless";
|
|
36
|
+
import { loaderTopOn, loaderTopOff } from "vueless";
|
|
40
37
|
`} language="jsx" dark />
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { inject, readonly, ref } from "vue";
|
|
2
2
|
|
|
3
3
|
export const LoaderTopSymbol = Symbol.for("vueless:loader-top");
|
|
4
4
|
|
|
@@ -8,15 +8,14 @@ const loaderRequestQueue = ref([]);
|
|
|
8
8
|
const loaderRequestTimeout = ref(0);
|
|
9
9
|
const componentLoaderRequestQueue = ref([]);
|
|
10
10
|
|
|
11
|
-
function
|
|
11
|
+
function loaderTopOn(url) {
|
|
12
12
|
loaderRequestQueue.value.push(url);
|
|
13
|
-
|
|
14
13
|
isLoading.value = true;
|
|
15
14
|
|
|
16
15
|
clearTimeout(loaderRequestTimeout.value);
|
|
17
16
|
}
|
|
18
17
|
|
|
19
|
-
function
|
|
18
|
+
function loaderTopOff(url) {
|
|
20
19
|
loaderRequestQueue.value = url ? loaderRequestQueue.value.filter((item) => item !== url) : [];
|
|
21
20
|
|
|
22
21
|
loaderRequestTimeout.value = setTimeout(() => {
|
|
@@ -49,8 +48,8 @@ export function createLoaderTop() {
|
|
|
49
48
|
loaderRequestQueue: readonly(loaderRequestQueue),
|
|
50
49
|
loaderRequestTimeout: readonly(loaderRequestTimeout),
|
|
51
50
|
componentLoaderRequestQueue: readonly(componentLoaderRequestQueue),
|
|
52
|
-
|
|
53
|
-
|
|
51
|
+
loaderTopOn,
|
|
52
|
+
loaderTopOff,
|
|
54
53
|
addRequestUrl,
|
|
55
54
|
removeRequestUrl,
|
|
56
55
|
setComponentRequestQueue,
|
|
@@ -59,7 +58,5 @@ export function createLoaderTop() {
|
|
|
59
58
|
}
|
|
60
59
|
|
|
61
60
|
export function useLoaderTop() {
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
return loaderTopState;
|
|
61
|
+
return inject(LoaderTopSymbol);
|
|
65
62
|
}
|
|
@@ -21,9 +21,9 @@ export default {
|
|
|
21
21
|
const DefaultTemplate = (args) => ({
|
|
22
22
|
components: { ULoaderTop, UButton },
|
|
23
23
|
setup() {
|
|
24
|
-
const {
|
|
24
|
+
const { loaderTopOn, loaderTopOff } = useLoaderTop();
|
|
25
25
|
|
|
26
|
-
return { args,
|
|
26
|
+
return { args, loaderTopOn, loaderTopOff };
|
|
27
27
|
},
|
|
28
28
|
template: `
|
|
29
29
|
<div>
|
package/ui.loader-top/index.vue
CHANGED
|
@@ -49,8 +49,8 @@ const {
|
|
|
49
49
|
componentLoaderRequestQueue,
|
|
50
50
|
setComponentRequestQueue,
|
|
51
51
|
removeComponentRequestQueue,
|
|
52
|
-
|
|
53
|
-
|
|
52
|
+
loaderTopOff,
|
|
53
|
+
loaderTopOn,
|
|
54
54
|
} = useLoaderTop();
|
|
55
55
|
const { progressAttrs } = useAttrs(props, { error, isMobileApp });
|
|
56
56
|
|
|
@@ -93,11 +93,11 @@ onUnmounted(() => {
|
|
|
93
93
|
});
|
|
94
94
|
|
|
95
95
|
function setLoaderOnHandler(event) {
|
|
96
|
-
|
|
96
|
+
loaderTopOn(event.detail.resource);
|
|
97
97
|
}
|
|
98
98
|
|
|
99
99
|
function setLoaderOffHandler(event) {
|
|
100
|
-
|
|
100
|
+
loaderTopOff(event.detail.resource);
|
|
101
101
|
}
|
|
102
102
|
|
|
103
103
|
function requestWithoutQuery(request) {
|