UNPKG

@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
/* Copyright (c) NAVER Corp. name: @egjs/vue-imready license: MIT author: NAVER Corp. repository: https://github.com/naver/egjs-imready version: 1.3.2 */ 'use strict'; 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}} * // &lt;div v-bind:ref="im.register()"&gt;&lt;/div&gt; * ``` */ 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}} * // &lt;div v-bind:ref="im.register()"&gt;&lt;/div&gt; * ``` */ 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}} * // &lt;div v-bind:ref="im.register()"&gt;&lt;/div&gt; * ``` */ 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}} * // &lt;div v-bind:ref="im.register()"&gt;&lt;/div&gt; * ``` */ 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}} * // &lt;div v-bind:ref="im.register()"&gt;&lt;/div&gt; * ``` */ 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