@progress/kendo-base-components-vue-wrapper
Version:
Kendo UI Base Component wrapper for Vue.js
104 lines (92 loc) • 4.46 kB
JavaScript
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = {
methods: {
resolveInnerTags: function resolveInnerTags(tagName) {
var items = [];
var defaultSlot = this.v3 && this.$slots.default && typeof this.$slots.default === 'function' ? this.$slots.default() : this.$slots.default;
var _iteratorNormalCompletion = true;
var _didIteratorError = false;
var _iteratorError = undefined;
try {
for (var _iterator = defaultSlot[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
var childSlot = _step.value;
if (childSlot.tag && childSlot.tag.indexOf(tagName) !== -1 || childSlot.type && childSlot.type.name && childSlot.type.name.toLowerCase().indexOf(tagName) !== -1) {
var childOptions = childSlot.componentOptions;
var childInstance = this.v3 ? childSlot : childSlot.componentInstance;
var item = this.v3 ? childInstance.$props || childInstance.props : childOptions.propsData;
if (this.v3) {
var itemKeys = Object.keys(item);
var _iteratorNormalCompletion2 = true;
var _didIteratorError2 = false;
var _iteratorError2 = undefined;
try {
for (var _iterator2 = itemKeys[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) {
var propKey = _step2.value;
if (propKey.indexOf('-') !== -1) {
item[this.camelize(propKey)] = item[propKey];
}
}
} catch (err) {
_didIteratorError2 = true;
_iteratorError2 = err;
} finally {
try {
if (!_iteratorNormalCompletion2 && _iterator2.return) {
_iterator2.return();
}
} finally {
if (_didIteratorError2) {
throw _iteratorError2;
}
}
}
}
if (!item.items) {
item.items = childInstance.subitems;
}
items.push(item);
this.handleWatcher(childInstance);
}
}
} catch (err) {
_didIteratorError = true;
_iteratorError = err;
} finally {
try {
if (!_iteratorNormalCompletion && _iterator.return) {
_iterator.return();
}
} finally {
if (_didIteratorError) {
throw _iteratorError;
}
}
}
return items;
},
handleWatcher: function handleWatcher(childInstance) {
var that = this;
if (!childInstance._isWatchAttached && childInstance.$watch) {
childInstance.$watch('$props', function () {
if (that.updateWidget) {
that.updateWidget();
} else if (that._resolveInnerChildren) {
that._resolveInnerChildren();
}
}, { deep: true });
childInstance._isWatchAttached = true;
}
},
camelize: function camelize(str) {
var arr = str.split('-');
var capital = arr.map(function (item, index) {
return index ? item.charAt(0).toUpperCase() + item.slice(1).toLowerCase() : item;
});
var capitalString = capital.join('');
return capitalString;
}
}
};
;