1 |
- {"version":3,"sources":["../src/checkbox-group/checkbox-group.ts"],"names":[],"mappings":"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","file":"checkbox-group.js","sourcesContent":["import { SuperComponent, wxComponent } from '../common/src/index';\nimport config from '../common/config';\nimport Props from '../checkbox/checkbox-group-props';\n\nconst { prefix } = config;\nconst name = `${prefix}-checkbox-group`;\n@wxComponent()\nexport default class CheckBoxGroup extends SuperComponent {\n externalClasses = ['t-class'];\n\n relations = {\n '../checkbox/checkbox': {\n type: 'descendant' as 'descendant',\n linked() {\n this.updateChildren();\n },\n },\n };\n\n data = {\n classPrefix: name,\n checkboxOptions: [],\n };\n\n properties = {\n ...Props,\n defaultValue: {\n type: null,\n value: undefined,\n },\n };\n\n observers = {\n value: function () {\n this.updateChildren();\n },\n };\n\n lifetimes = {\n attached() {\n this.handleCreateMulCheckbox();\n },\n };\n\n controlledProps = [\n {\n key: 'value',\n event: 'change',\n },\n ];\n\n methods = {\n getChilds() {\n let items = this.getRelationNodes('../checkbox/checkbox');\n if (!items.length) {\n items = this.selectAllComponents('.t-checkbox-option');\n }\n return items || [];\n },\n\n // slot插入选项\n updateChildren() {\n const items = this.getChilds();\n\n const { value, disabled } = this.data;\n if (items.length > 0) {\n items.forEach((item: any) => {\n !item.data.checkAll &&\n item.setData({\n checked: value?.indexOf(item.data.value) > -1,\n });\n item.setDisabled(disabled);\n });\n // 关联可全选项\n if (items.findIndex((item) => item.data.checkAll) > -1) {\n items.forEach((item) => {\n item.setOptionLinked(true);\n });\n this.handleHalfCheck(items.length);\n }\n }\n },\n updateValue({ name, checked }) {\n const { value, max } = this.data;\n let newValue = value;\n if (max && checked && newValue.length === max) {\n return;\n }\n if (checked) {\n newValue = newValue.concat(name);\n } else {\n const index = newValue.findIndex((v: string) => v === name);\n newValue.splice(index, 1);\n }\n this._trigger('change', { value: newValue });\n },\n // 支持自定义options\n handleCreateMulCheckbox() {\n const { options } = this.data;\n // 数字数组|字符串数组|对像数组\n if (!options?.length || !Array.isArray(options)) {\n return;\n }\n const optionsValue = [];\n try {\n options.forEach((element) => {\n const typeName = typeof element;\n if (typeName === 'number' || typeName === 'string') {\n optionsValue.push({\n label: `${element}`,\n value: element,\n });\n } else if (typeName === 'object') {\n optionsValue.push({\n ...element,\n });\n }\n });\n this.setData({\n checkboxOptions: optionsValue,\n });\n this.updateChildren();\n } catch (error) {\n console.error('error', error);\n }\n },\n // 处理全选\n handleCheckAll(e) {\n const { checked, option, name } = e.detail || e;\n const items = this.getChilds();\n\n if (!option) {\n if (!items?.length) {\n return;\n }\n this._trigger('change', {\n value: items\n .map((item) => {\n if (item.data.disabled) {\n return this.data.value.includes(item.data.value) ? item.data.value : '';\n }\n return checked && !item.data.checkAll ? item.data.value : '';\n })\n .filter((val) => val),\n });\n } else {\n this.updateValue({ name, checked });\n }\n },\n // 处理options半选\n handleHalfCheck(len: number) {\n const items = this.getChilds();\n const checkboxOptions = items.filter((i) => !i.data.checkAll);\n const all = checkboxOptions.map((item) => item.data.value);\n const enableValue = checkboxOptions\n .filter((i) => !i.data.disabled)\n .map((item) => item.data.value);\n const currentVal = Array.from(new Set(this.data.value?.filter((i) => all.indexOf(i) > -1)));\n const element = items.find((item) => item.data.checkAll);\n if (currentVal.length) {\n element?.setData({ checked: true });\n element?.changeCheckAllHalfStatus(currentVal.length !== len - 1);\n // 取消全选\n element?.setCancel(enableValue.every((val) => currentVal.includes(val)));\n } else {\n element?.setData({ checked: false });\n }\n },\n // 设置可全选option选项\n handleOptionLinked() {\n const items = this.selectAllComponents('.t-checkbox-option');\n if (this.data.checkboxOptions.length) {\n items.forEach((item) => {\n item.setOptionLinked(true);\n });\n }\n },\n };\n}\n"]}
|