Files
mixtape/zero.Backoffice.UI/old_app/components/pickers/spacePicker/spacepicker.vue
T
2021-12-07 01:11:18 +01:00

66 lines
1.2 KiB
Vue

<template>
<div class="ui-spacepicker" :class="{'is-disabled': disabled }">
<ui-pick v-if="pickerConfig" :config="pickerConfig" :value="value" @input="onChange" :disabled="disabled" />
</div>
</template>
<script>
import SpacesApi from 'zero/api/spaces.js'
import { extend as _extend } from 'underscore'
export default {
name: 'uiSpacepicker',
props: {
value: {
type: [String, Array],
default: null
},
limit: {
type: Number,
default: 1
},
disabled: {
type: Boolean,
default: false
},
options: {
type: Object,
default: () => {}
}
},
data: () => ({
previews: [],
pickerConfig: null
}),
created()
{
SpacesApi.getAll().then(items =>
{
this.pickerConfig = _extend({
scope: 'space',
keys: {
id: 'alias',
name: 'name',
description: 'description',
icon: 'icon'
},
items: items,
limit: this.limit,
multiple: this.limit > 1
}, this.options);
});
},
methods: {
onChange(value)
{
this.$emit('input', value);
}
}
}
</script>