UNPKG

tdesign-mobile-vue

Version:
1 lines 2.54 kB
{"version":3,"file":"setCheckAllStatus.mjs","sources":["../../../src/checkbox/hooks/setCheckAllStatus.ts"],"sourcesContent":["// 计算全选按钮的状态\nimport { computed, ref, ComputedRef, Ref } from 'vue';\nimport { intersection } from 'lodash-es';\n\nexport const setCheckAllStatus = (optionList: Ref<any[]>, innerValue: Ref, checkedSet: ComputedRef) => {\n const { isArray } = Array;\n const intersectionLen = computed(() => {\n const values = optionList.value?.map((item) => item.value);\n if (isArray(innerValue.value)) {\n return intersection(innerValue.value, values).length;\n }\n return 0;\n });\n\n const isAllChecked = computed(() => {\n if (checkedSet.value.size !== optionList.value.length - 1) {\n return false;\n }\n return intersectionLen.value === optionList.value.length - 1;\n });\n\n const indeterminate = computed(() => {\n return !isAllChecked.value && intersectionLen.value < optionList.value.length && intersectionLen.value > 0;\n });\n\n return computed(() => {\n if (isAllChecked.value) return 'checked';\n if (indeterminate.value) return 'indeterminate';\n return 'uncheck';\n });\n};\n"],"names":["setCheckAllStatus","optionList","innerValue","checkedSet","isArray","Array","intersectionLen","computed","_optionList$value","values","value","map","item","intersection","length","isAllChecked","size","indeterminate"],"mappings":";;;;;;;;;AAIO,IAAMA,iBAAoB,GAAA,SAApBA,iBAAoBA,CAACC,UAAwB,EAAAC,UAAA,EAAiBC,UAA4B,EAAA;AAC/F,EAAA,IAAEC,UAAYC,KAAA,CAAZD;AACF,EAAA,IAAAE,eAAA,GAAkBC,SAAS,YAAM;AAAA,IAAA,IAAAC,iBAAA,CAAA;AACrC,IAAA,IAAMC,8BAASR,UAAW,CAAAS,KAAA,MAAAF,IAAAA,IAAAA,iBAAA,uBAAXA,iBAAA,CAAkBG,IAAI,UAACC,IAAA,EAAA;MAAA,OAASA,KAAKF,KAAK,CAAA;KAAA,CAAA,CAAA;AACrD,IAAA,IAAAN,OAAA,CAAQF,UAAW,CAAAQ,KAAK,CAAG,EAAA;MAC7B,OAAOG,YAAa,CAAAX,UAAA,CAAWQ,KAAO,EAAAD,MAAM,CAAE,CAAAK,MAAA,CAAA;AAChD,KAAA;AACO,IAAA,OAAA,CAAA,CAAA;AACT,GAAC,CAAA,CAAA;AAEK,EAAA,IAAAC,YAAA,GAAeR,SAAS,YAAM;AAClC,IAAA,IAAIJ,WAAWO,KAAM,CAAAM,IAAA,KAASf,UAAW,CAAAS,KAAA,CAAMI,SAAS,CAAG,EAAA;AAClD,MAAA,OAAA,KAAA,CAAA;AACT,KAAA;IACA,OAAOR,eAAgB,CAAAI,KAAA,KAAUT,UAAW,CAAAS,KAAA,CAAMI,MAAS,GAAA,CAAA,CAAA;AAC7D,GAAC,CAAA,CAAA;AAEK,EAAA,IAAAG,aAAA,GAAgBV,SAAS,YAAM;AAC5B,IAAA,OAAA,CAACQ,aAAaL,KAAS,IAAAJ,eAAA,CAAgBI,QAAQT,UAAW,CAAAS,KAAA,CAAMI,MAAU,IAAAR,eAAA,CAAgBI,KAAQ,GAAA,CAAA,CAAA;AAC3G,GAAC,CAAA,CAAA;EAED,OAAOH,SAAS,YAAM;AACpB,IAAA,IAAIQ,YAAa,CAAAL,KAAA,EAAc,OAAA,SAAA,CAAA;AAC/B,IAAA,IAAIO,aAAc,CAAAP,KAAA,EAAc,OAAA,eAAA,CAAA;AACzB,IAAA,OAAA,SAAA,CAAA;AACT,GAAC,CAAA,CAAA;AACH;;;;"}