UNPKG

tdesign-vue-next

Version:
111 lines (104 loc) 3.52 kB
/** * tdesign v1.19.2 * (c) 2026 tdesign * @license MIT */ 'use strict'; var loading_plugin = require('../loading/plugin.js'); var isEqual = require('./dep-43dcd2db.js'); var isObject = require('./dep-bf76dead.js'); var _assignValue = require('./dep-33b46a52.js'); var configProvider_utils_context = require('./dep-be1af85d.js'); var cloneDeep = require('./dep-2fc884aa.js'); var _baseIteratee = require('./dep-7707ffe2.js'); /** * The base implementation of `_.forOwn` without support for iteratee shorthands. * * @private * @param {Object} object The object to iterate over. * @param {Function} iteratee The function invoked per iteration. * @returns {Object} Returns `object`. */ function baseForOwn(object, iteratee) { return object && configProvider_utils_context.baseFor(object, iteratee, cloneDeep.keys); } /** * The opposite of `_.mapValues`; this method creates an object with the * same values as `object` and keys generated by running each own enumerable * string keyed property of `object` thru `iteratee`. The iteratee is invoked * with three arguments: (value, key, object). * * @static * @memberOf _ * @since 3.8.0 * @category Object * @param {Object} object The object to iterate over. * @param {Function} [iteratee=_.identity] The function invoked per iteration. * @returns {Object} Returns the new mapped object. * @see _.mapValues * @example * * _.mapKeys({ 'a': 1, 'b': 2 }, function(value, key) { * return key + value; * }); * // => { 'a1': 1, 'b2': 2 } */ function mapKeys(object, iteratee) { var result = {}; iteratee = _baseIteratee.baseIteratee(iteratee); baseForOwn(object, function (value, key, object) { _assignValue.baseAssignValue(result, iteratee(value, key, object), value); }); return result; } var INSTANCE_KEY = Symbol("TdLoading"); var createInstance = function createInstance(el, binding) { var _binding$modifiers = binding.modifiers, fullscreen = _binding$modifiers.fullscreen, inheritColor = _binding$modifiers.inheritColor; var options = { attach: function attach() { return el; }, fullscreen: fullscreen !== null && fullscreen !== void 0 ? fullscreen : false, inheritColor: inheritColor !== null && inheritColor !== void 0 ? inheritColor : false, loading: binding.value }; if (isObject.isObject(binding.value)) { mapKeys(binding.value, function (value, key) { options[key] = value; }); } el[INSTANCE_KEY] = { options: options, instance: loading_plugin.LoadingPlugin(options) }; }; var vLoading = { mounted: function mounted(el, binding) { if (binding.value) { createInstance(el, binding); } }, updated: function updated(el, binding) { var instance = el[INSTANCE_KEY]; var value = binding.value, oldValue = binding.oldValue; if (!isEqual.isEqual(value, oldValue)) { var _value$loading; var loading = (_value$loading = value === null || value === void 0 ? void 0 : value.loading) !== null && _value$loading !== void 0 ? _value$loading : value; if (loading) { createInstance(el, binding); } else { instance === null || instance === void 0 || instance.instance.hide(); } } }, unmounted: function unmounted(el) { var _el$INSTANCE_KEY; (_el$INSTANCE_KEY = el[INSTANCE_KEY]) === null || _el$INSTANCE_KEY === void 0 || _el$INSTANCE_KEY.instance.hide(); } }; exports.baseForOwn = baseForOwn; exports.vLoading = vLoading; //# sourceMappingURL=dep-34cd76d4.js.map