@egjs/vue-imready
Version:
This vue module is used to wait for the image or video to be ready.
171 lines (163 loc) • 4.7 kB
JavaScript
/*
Copyright (c) NAVER Corp.
name: @egjs/vue-imready
license: MIT
author: NAVER Corp.
repository: https://github.com/naver/egjs-imready
version: 1.3.2
*/
;
var vue3 = require('@cfcs/vue3');
var imready = require('@egjs/imready');
/**
* Vue hook to check if the images or videos are loaded.
* @ko 이미지와 비디오들이 로드가 됐는지 체크하는 Vue hook.
* @memberof VueImReady
* @param - Vue ImReady's props <ko> Vue ImReady의 props.</ko>
* @example
* ```js
* import { useImReady } from "@egjs/vue-imready";
*
* setup() {
* const im = useImReady({
* selector: "img",
* });
*
* return {
* im,
* }
* }
* // {{im.readyCount}}
* // <div v-bind:ref="im.register()"></div>
* ```
*/
function useImReady(props = {}) {
const result = vue3.useLegacyReactive(imready.REACTIVE_IMREADY, () => props);
return Object.assign(result, {
register(ref) {
return instance => {
if (instance) {
result.add(instance);
}
if (!ref) {
return;
}
if (typeof ref === "function") {
ref(instance);
} else {
ref.value = instance;
}
};
}
});
}
/**
* Vue hook to check if the images or videos are loaded. (only `usePreReadyElement`, `usePreReady` and `useError` are true) Since this is deprecated, use useImReady instead.
* @ko 이미지와 비디오들이 로드가 됐는지 체크하는 Vue hook.(`usePreReadyElement`, `usePreReady`와 `useError`만 true) deprecated 되었으므로 useImReady를 이용해주세요.
* @deprecated
* @memberof VueImReady
* @param - Vue ImReady's props <ko>Vue ImReady의 props.</ko>
* @example
* ```js
* import { usePreReadyElement } from "@egjs/vue-imready";
*
* setup() {
* const im = usePreReadyElement({
* selector: "img",
* });
*
* return {
* im,
* }
* }
* // {{im.preReadyCount}}
* // <div v-bind:ref="im.register()"></div>
* ```
*/
function usePreReadyElement(props = {}) {
return useImReady(props);
}
/**
* Vue hook to check if the images or videos are loaded. (only `useReadyElement`, `useReady` and `useError` are true) Since this is deprecated, use useImReady instead.
* @ko 이미지와 비디오들이 로드가 됐는지 체크하는 vue hook.(`useReadyElement`, `useReady`와 `useError`만 true) deprecated 되었으므로 useImReady를 이용해주세요.
* @deprecated
* @memberof VueImReady
* @param - Vue ImReady's props <ko>Vue ImReady의 props.</ko>
* @example
* ```js
* import { useReadyElement } from "@egjs/vue-imready";
*
* setup() {
* const im = useReadyElement({
* selector: "img",
* });
*
* return {
* im,
* }
* }
* // {{im.readyCount}}
* // <div v-bind:ref="im.register()"></div>
* ```
*/
function useReadyElement(props = {}) {
return useImReady(props);
}
/**
* Vue hook to check if the images or videos are loaded. (only usePreReady and useError are true) Since this is deprecated, use useImReady instead.
* @ko 이미지와 비디오들이 로드가 됐는지 체크하는 Vue hook.(usePreReady와 useError만 true) deprecated 되었으므로 useImReady를 이용해주세요.
* @deprecated
* @memberof VueImReady
* @param - Vue ImReady's props <ko>Vue ImReady의 props.</ko>
* @example
* ```js
* import { usePreReady } from "@egjs/vue-imready";
*
* setup() {
* const im = usePreReady({
* selector: "img",
* });
*
* return {
* im,
* }
* }
* // {{im.isPreReady}}
* // <div v-bind:ref="im.register()"></div>
* ```
*/
function usePreReady(props = {}) {
return useImReady(props);
}
/**
* Vue hook to check if the images or videos are loaded. (only `useReady` and `useError` are true) Since this is deprecated, use useImReady instead.
* @ko 이미지와 비디오들이 로드가 됐는지 체크하는 vue hook.(`useReady`와 `useError`만 true) deprecated 되었으므로 useImReady를 이용해주세요.
* @deprecated
* @memberof VueImReady
* @param - Vue ImReady's props <ko>Vue ImReady의 props.</ko>
* @example
* ```js
* import { useReady } from "@egjs/vue-imready";
*
* setup() {
* const im = useReady({
* selector: "img",
* });
*
* return {
* im,
* }
* }
* // {{im.isReady}}
* // <div v-bind:ref="im.register()"></div>
* ```
*/
function useReady(props = {}) {
return useImReady(props);
}
exports.useImReady = useImReady;
exports.usePreReady = usePreReady;
exports.usePreReadyElement = usePreReadyElement;
exports.useReady = useReady;
exports.useReadyElement = useReadyElement;
//# sourceMappingURL=imready.cjs.js.map