{"version":3,"file":"Settings.vue.cjs","sources":["../../../../../ui/vue/components/Panel/Settings.vue"],"sourcesContent":["<template>\n  <b-dropdown v-if=\"fields?.length\" class=\"crud-ui-panel-settings\" size=\"sm\" text=\"Колонки\" ref=\"dropdown\">\n    <b-dropdown-form>\n      <b-form-checkbox\n        v-for=\"field of fieldsComputed\"\n        :key=\"field.key\"\n        v-model=\"field.value\"\n        @change=\"onChangeField(field.key, $event)\"\n        class=\"mb-1 px-2\"\n        >{{ field.label }}</b-form-checkbox\n      >\n    </b-dropdown-form>\n  </b-dropdown>\n</template>\n\n<script>\nimport { BDropdown, BDropdownForm, BFormCheckbox } from 'bootstrap-vue';\n\nexport default {\n  components: {\n    'b-dropdown': BDropdown,\n    'b-dropdown-form': BDropdownForm,\n    'b-form-checkbox': BFormCheckbox,\n  },\n  props: {\n    fields: {\n      type: Array,\n      default: () => [],\n    },\n  },\n  computed: {\n    fieldsComputed() {\n      const fields = this.fields || [];\n\n      return fields.map((field) => {\n        return {\n          ...field,\n          value: !field.hidden,\n        };\n      });\n    },\n  },\n  methods: {\n    onChangeField(key, value) {\n      const fields = this.fields || [];\n      const newFields = fields.map((field) => {\n        if (field.key === key) {\n          field.hidden = !value;\n        }\n\n        return field;\n      });\n\n      this.$emit('fields:change', newFields);\n    },\n  },\n};\n</script>\n\n<style lang=\"scss\" scoped>\n.crud-ui-panel-settings {\n  :deep(.dropdown-menu) {\n    width: 210px;\n    padding: 0;\n  }\n}\n</style>\n"],"names":["_sfc_main","BDropdown","BDropdownForm","BFormCheckbox","field","key","value","newFields"],"mappings":"iJAkBAA,EAAA,CACA,WAAA,CACA,aAAAC,EAAA,UACA,kBAAAC,EAAA,cACA,kBAAAC,EAAA,aACA,EACA,MAAA,CACA,OAAA,CACA,KAAA,MACA,QAAA,IAAA,CAAA,CACA,CACA,EACA,SAAA,CACA,gBAAA,CAGA,OAFA,KAAA,QAAA,CAAA,GAEA,IAAAC,IACA,CACA,GAAAA,EACA,MAAA,CAAAA,EAAA,MACA,EACA,CACA,CACA,EACA,QAAA,CACA,cAAAC,EAAAC,EAAA,CAEA,MAAAC,GADA,KAAA,QAAA,CAAA,GACA,IAAAH,IACAA,EAAA,MAAAC,IACAD,EAAA,OAAA,CAAAE,GAGAF,EACA,EAEA,KAAA,MAAA,gBAAAG,CAAA,CACA,CACA,CACA"}