{"version":3,"file":"column-visible.vue2.mjs","sources":["../../../../../packages/components/pro-table/src/column-visible.vue"],"sourcesContent":["<template>\n  <div style=\"width: 800px; padding: 4px 12px\">\n    <div style=\"border-bottom: 1px solid #ccc\">\n      <ElCheckbox\n        :model-value=\"allChecked\"\n        @update:model-value=\"handleCheckAll\"\n      >\n        全选\n      </ElCheckbox>\n    </div>\n\n    <div\n      style=\"\n        display: grid;\n        grid-template-columns: repeat(5, minmax(148px, 1fr));\n        gap: 12px;\n      \"\n    >\n      <ElCheckbox\n        v-for=\"column of flattedColumns\"\n        :disabled=\"column.key.includes('action')\"\n        :model-value=\"column.visible ?? true\"\n        @update:model-value=\"handleUpdateVisible(column, $event)\"\n      >\n        {{ column.name }}\n      </ElCheckbox>\n    </div>\n\n    <div style=\"text-align: right\">\n      <ElButton @click=\"execute(handleSave)\" type=\"primary\">保存</ElButton>\n    </div>\n  </div>\n</template>\n\n<script lang=\"ts\" setup>\nimport { inject, shallowRef, watch } from 'vue'\nimport { ElCheckbox } from '@element-ultra/components/checkbox'\nimport { ElButton } from '@element-ultra/components/button'\nimport { proTableColumnsKey, proTableKey } from './token'\nimport type { ProTableColumn } from './pro-table'\n\nconst emit = defineEmits(['close'])\n\n// const { ns } = inject(proTableKey)!\nconst { flattedColumns, handleSave } = inject(proTableColumnsKey)!\n\nconst allChecked = shallowRef(false)\n\nwatch(\n  flattedColumns,\n  fc => {\n    allChecked.value = fc.every(c => {\n      return c.visible !== false\n    })\n  },\n  {\n    immediate: true\n  }\n)\n\nfunction handleCheckAll(checked: any) {\n  flattedColumns.value.forEach(column => {\n    if (column.key.includes('action')) return\n    column.visible = checked\n  })\n  allChecked.value = true\n}\n\nfunction handleUpdateVisible(column: ProTableColumn, visible: any) {\n  column.visible = visible\n}\nfunction execute(fn: Function) {\n  fn()\n  emit('close')\n}\n</script>\n"],"names":[],"mappings":";;;;;;;;;;;;;;;AA4CA,IAAA,MAAM,EAAE,cAAA,EAAgB,UAAW,EAAA,GAAI,OAAO,kBAAkB,CAAA,CAAA;AAEhE,IAAM,MAAA,UAAA,GAAa,WAAW,KAAK,CAAA,CAAA;AAEnC,IAAA,KAAA;AAAA,MACE,cAAA;AAAA,MACA,CAAM,EAAA,KAAA;AACJ,QAAW,UAAA,CAAA,KAAA,GAAQ,EAAG,CAAA,KAAA,CAAM,CAAK,CAAA,KAAA;AAC/B,UAAA,OAAO,EAAE,OAAY,KAAA,KAAA,CAAA;AAAA,SACtB,CAAA,CAAA;AAAA,OACH;AAAA,MACA;AAAA,QACE,SAAW,EAAA,IAAA;AAAA,OACb;AAAA,KACF,CAAA;AAEA,IAAA,SAAS,eAAe,OAAc,EAAA;AACpC,MAAe,cAAA,CAAA,KAAA,CAAM,QAAQ,CAAU,MAAA,KAAA;AACrC,QAAI,IAAA,MAAA,CAAO,GAAI,CAAA,QAAA,CAAS,QAAQ,CAAA;AAAG,UAAA,OAAA;AACnC,QAAA,MAAA,CAAO,OAAU,GAAA,OAAA,CAAA;AAAA,OAClB,CAAA,CAAA;AACD,MAAA,UAAA,CAAW,KAAQ,GAAA,IAAA,CAAA;AAAA,KACrB;AAEA,IAAS,SAAA,mBAAA,CAAoB,QAAwB,OAAc,EAAA;AACjE,MAAA,MAAA,CAAO,OAAU,GAAA,OAAA,CAAA;AAAA,KACnB;AACA,IAAA,SAAS,QAAQ,EAAc,EAAA;AAC7B,MAAG,EAAA,EAAA,CAAA;AACH,MAAA,IAAA,CAAK,OAAO,CAAA,CAAA;AAAA,KACd;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}