Skip to content
Snippets Groups Projects
Commit 14d9d189 authored by Julian's avatar Julian
Browse files

Add new feature: loading grids which are disabled and show loaders

parent fa820081
No related branches found
No related tags found
1 merge request!2Resolve "Implement basic functionality"
<template> <template>
<interact <interact
droppable droppable
@dropmove="disabled ? undefined : handleDragOver($event)" @dropmove="disabled || loading ? undefined : handleDragOver($event)"
@drop.prevent="disabled ? undefined : handleDrop($event)" @drop.prevent="disabled || loading ? undefined : handleDrop($event)"
@dragleave="$refs.highlightContainer.style.display = 'none'" @dragleave="$refs.highlightContainer.style.display = 'none'"
class="grid" class="grid"
> >
<div class="highlight-container" ref="highlightContainer"> <template v-if="loading">
<slot name="highlight"> <template v-for="loader in cols * rows">
<div class="highlight"></div> <div :key="loader">
</slot> <slot name="loader"></slot>
</div> </div>
<DragContainer </template>
v-for="item in value" </template>
:key="item.key"
:drag-i-d="item.key" <template v-else>
:x="getInt('x', item)" <div class="highlight-container" ref="highlightContainer">
:y="getInt('y', item)" <slot name="highlight">
:w="getInt('w', item)" <div class="highlight"></div>
:h="getInt('h', item)" </slot>
:data="getObject('data', item)" </div>
:context="context"
:grid-id="gridId" <DragContainer
:disabled="disabled || item.disabled" v-for="item in value"
> :key="item.key"
<slot v-bind="transformItem(item)" :raw-item="item" name="item"> :drag-i-d="item.key"
<dl> :x="getInt('x', item)"
<dt>Key</dt> :y="getInt('y', item)"
<dd>{{ item.key }}</dd> :w="getInt('w', item)"
<dt>Position</dt> :h="getInt('h', item)"
<dd>{{ item.x }}, {{ item.y }}</dd> :data="getObject('data', item)"
<dt>Size</dt> :context="context"
<dd>{{ item.w }} × {{ item.h }}</dd> :grid-id="gridId"
<dt>Data</dt> :disabled="disabled || loading || item.disabled"
<dd>{{ item.data }}</dd>
</dl>
</slot>
</DragContainer>
<template v-for="disabledField in disabledFields">
<GridItem
class="disabledField"
:x="disabledField.x"
:y="disabledField.y"
:key="disabledField.x + '|' + disabledField.y"
> >
<slot name="disabledField"></slot> <slot v-bind="transformItem(item)" :raw-item="item" name="item">
</GridItem> <dl>
<dt>Key</dt>
<dd>{{ item.key }}</dd>
<dt>Position</dt>
<dd>{{ item.x }}, {{ item.y }}</dd>
<dt>Size</dt>
<dd>{{ item.w }} × {{ item.h }}</dd>
<dt>Data</dt>
<dd>{{ item.data }}</dd>
</dl>
</slot>
</DragContainer>
<template v-for="disabledField in disabledFields">
<GridItem
class="disabledField"
:x="disabledField.x"
:y="disabledField.y"
:key="disabledField.x + '|' + disabledField.y"
>
<slot name="disabledField"></slot>
</GridItem>
</template>
<slot></slot>
</template> </template>
<slot></slot>
</interact> </interact>
</template> </template>
...@@ -111,6 +122,11 @@ export default { ...@@ -111,6 +122,11 @@ export default {
required: false, required: false,
default: () => [], default: () => [],
}, },
loading: {
type: Boolean,
required: false,
default: false,
},
}, },
methods: { methods: {
positionAllowed(x, y, key) { positionAllowed(x, y, key) {
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment