tdesign-vue
Version:
119 lines (115 loc) • 4.4 kB
JavaScript
/**
* tdesign v1.12.1
* (c) 2025 tdesign
* @license MIT
*/
import _classCallCheck from '@babel/runtime/helpers/classCallCheck';
import _createClass from '@babel/runtime/helpers/createClass';
import _defineProperty from '@babel/runtime/helpers/defineProperty';
var CheckboxStore = /*#__PURE__*/function () {
function CheckboxStore() {
_classCallCheck(this, CheckboxStore);
_defineProperty(this, "observerMap", {});
_defineProperty(this, "parentChecked", void 0);
_defineProperty(this, "parentExist", void 0);
}
return _createClass(CheckboxStore, [{
key: "init",
value: function init() {
this.parentExist = true;
}
}, {
key: "updateChecked",
value: function updateChecked(_ref) {
var _this$observerMap$CHE, _this$observerMap2;
var checked = _ref.checked,
isCheckAll = _ref.isCheckAll,
oldChecked = _ref.oldChecked,
indeterminate = _ref.indeterminate;
this.parentChecked = checked;
var changedChecked = oldChecked ? getChangedChecked(checked, oldChecked) : checked;
var checkedParams = {
parentChecked: checked,
parentIsCheckAll: isCheckAll,
parentIsIndeterminate: indeterminate,
type: "checked"
};
for (var i = 0, len = changedChecked.length; i < len; i++) {
var _this$observerMap$val, _this$observerMap;
var value = String(changedChecked[i]);
(_this$observerMap$val = (_this$observerMap = this.observerMap)[value]) === null || _this$observerMap$val === void 0 || _this$observerMap$val.call(_this$observerMap, checkedParams);
}
(_this$observerMap$CHE = (_this$observerMap2 = this.observerMap).CHECK_ALL) === null || _this$observerMap$CHE === void 0 || _this$observerMap$CHE.call(_this$observerMap2, checkedParams);
}
}, {
key: "updateCheckbox",
value: function updateCheckbox(_ref2) {
var _this = this;
var disabled = _ref2.disabled,
maxExceeded = _ref2.maxExceeded,
checkboxName = _ref2.checkboxName;
var checkboxList = Object.keys(this.observerMap);
checkboxList.forEach(function (checkbox) {
var _this$observerMap$che, _this$observerMap3;
(_this$observerMap$che = (_this$observerMap3 = _this.observerMap)[checkbox]) === null || _this$observerMap$che === void 0 || _this$observerMap$che.call(_this$observerMap3, {
type: "checkbox",
parentDisabled: disabled,
parentMaxExceeded: maxExceeded,
checkboxName: checkboxName
});
});
}
}, {
key: "subscribe",
value: function subscribe(value, listener) {
this.observerMap[String(value)] = listener;
}
}, {
key: "unSubscribe",
value: function unSubscribe(value) {
delete this.observerMap[String(value)];
}
}]);
}();
function getChangedChecked() {
var checked = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
var oldChecked = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
var checkedMap = /* @__PURE__ */new Map();
var oldCheckedMap = /* @__PURE__ */new Map();
var changedValues = [];
for (var i = 0, len = checked.length; i < len; i++) {
checkedMap.set(checked[i], true);
}
for (var _i = 0, _len = oldChecked.length; _i < _len; _i++) {
oldCheckedMap.set(oldChecked[_i], true);
}
for (var _i2 = 0, _len2 = checked.length; _i2 < _len2; _i2++) {
if (!oldCheckedMap.get(checked[_i2])) {
changedValues.push(checked[_i2]);
}
}
for (var _i3 = 0, _len3 = oldChecked.length; _i3 < _len3; _i3++) {
if (!checkedMap.get(oldChecked[_i3])) {
changedValues.push(oldChecked[_i3]);
}
}
return changedValues;
}
var checkboxStoreInstanceMap = {};
function createCheckboxStore(key) {
var date = new Date();
var storeKey = key || [date.getDate(), date.getHours(), date.getMinutes(), date.getSeconds(), date.getUTCMilliseconds(), Number((Math.random() * 1e4).toFixed(2))].join("_");
if (checkboxStoreInstanceMap[storeKey]) {
return createCheckboxStore();
}
checkboxStoreInstanceMap[storeKey] = new CheckboxStore();
return {
storeKey: storeKey,
checkboxStore: checkboxStoreInstanceMap[storeKey]
};
}
function getCheckboxStore(key) {
return checkboxStoreInstanceMap[key];
}
export { createCheckboxStore, getChangedChecked, getCheckboxStore };
//# sourceMappingURL=store.js.map