'use strict';
|
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
var vue = require('vue');
|
var lodashUnified = require('lodash-unified');
|
var index = require('./index.js');
|
|
const InitialStateMap = {
|
rowKey: "rowKey",
|
defaultExpandAll: "defaultExpandAll",
|
selectOnIndeterminate: "selectOnIndeterminate",
|
indent: "indent",
|
lazy: "lazy",
|
data: "data",
|
["treeProps.hasChildren"]: {
|
key: "lazyColumnIdentifier",
|
default: "hasChildren"
|
},
|
["treeProps.children"]: {
|
key: "childrenColumnName",
|
default: "children"
|
}
|
};
|
function createStore(table, props) {
|
if (!table) {
|
throw new Error("Table is required.");
|
}
|
const store = index["default"]();
|
store.toggleAllSelection = lodashUnified.debounce(store._toggleAllSelection, 10);
|
Object.keys(InitialStateMap).forEach((key) => {
|
handleValue(getArrKeysValue(props, key), key, store);
|
});
|
proxyTableProps(store, props);
|
return store;
|
}
|
function proxyTableProps(store, props) {
|
Object.keys(InitialStateMap).forEach((key) => {
|
vue.watch(() => getArrKeysValue(props, key), (value) => {
|
handleValue(value, key, store);
|
});
|
});
|
}
|
function handleValue(value, propsKey, store) {
|
let newVal = value;
|
let storeKey = InitialStateMap[propsKey];
|
if (typeof InitialStateMap[propsKey] === "object") {
|
storeKey = storeKey.key;
|
newVal = newVal || InitialStateMap[propsKey].default;
|
}
|
store.states[storeKey].value = newVal;
|
}
|
function getArrKeysValue(props, keys) {
|
if (keys.includes(".")) {
|
const keyList = keys.split(".");
|
let value = props;
|
keyList.forEach((key) => {
|
value = value[key];
|
});
|
return value;
|
} else {
|
return props[keys];
|
}
|
}
|
|
exports.createStore = createStore;
|
//# sourceMappingURL=helper.js.map
|