UNPKG

aico-image-editor

Version:

Combine multiple image into and create single combined image

67 lines (64 loc) 5.01 kB
<div x-data="layeringTab" class="h-100"> <div class="block block-transparent position-relative d-flex flex-column h-100"> <div class="block-header pb-0 "> <h6 class="block-title" x-text="getTranslatedHTML('layersTabTitle')">Elemente</h6> </div> <div class="block-content block-content-full overflow-auto flex-grow-1"> <div class="editor-interface__scroll__inner" id="layers" x-data="{ layers: $store.canvas.layers }" x-init="initMainSortable($el)" @sort-objects-from-layer.window="$store.canvas.sortFromLayers($event.detail.layersSortingEndArray)" @object-restored-via-undo-redo.window="$store.canvas.syncLayerToObject($event.detail.object)"> <template data-layer-id="ignore" x-for="(layer,index) in layers" :key="layer.id"> <div class="d-flex border p-2 rounded-3 align-items-center position-relative mb-3 layerblock" :class="[ $store.canvas.markedObject && $store.canvas.markedObject.id === layer.id ? 'border-success': '', layer.color, $store.canvas.activeObjectLayerId === layer.id ? 'border-primary':'' ]" :data-layer-id="layer.id" @click="$store.canvas.setActiveObjectFromLayerId(layer.id)"> <div class="d-flex align-items-center flex-grow-1" :class="!!layer.visible ? '':'opacity-40'"> <div class="img-avatar img-avatar20 layerblockmove cursor-move"> <div class="d-flex align-items-center justify-content-center w-100 h-100"> <i class="fa-md bugano-grip-dots-vertical"></i> </div> </div> <div class="img-avatar img-avatar32 mx-2"> <div class="d-flex align-items-center justify-content-center w-100 h-100 border rounded-3"> <template x-if="layer.type === 'motive' || layer.type === 'symbol' || layer.type === 'mainPicture' || layer.type === 'subPicture'"> <img class="img-contain rounded-3" :src="layer.imageUrl" alt="" width="32" height="32" /> </template> <template x-if="layer.type === 'label'"> <span class="fa-md fa-solid fa-font"></span> </template> </div> </div> <div class="flex-grow-1 d-flex align-items-center"> <span class="layertext text-nowrap fs-sm fw-medium"> <span x-text="getTranslatedHTML('layer')"></span> <span x-text="layer.idNumeric + 1"></span> </span> <span class="mx-2 opacity-50" ><i class="fa-solid fa-circle-small fa-2xs"></i></span> <span class="text-uppercase fs-xs"> <template x-if="layer.type === 'motive' || layer.type === 'mainPicture' || layer.type === 'subPicture'"> <span x-text="getTranslatedHTML('picture')" class="text-capitalize"></span> </template> <template x-if="layer.type === 'symbol'"> <span x-text="layer.type" class="text-capitalize"></span> </template> <template x-if="layer.type === 'label'"> <span class="text-truncate d-block" style="max-width: 10ch;" x-text="layer.text"></span> </template> </span> </div> </div> <div class="position-absolute end-0 top-0 mt-2 me-1"> <delete-context-menu datatemplateurl="./deleteContextMenu.html" styles="global" shadow="true" x-data="deleteContextMenu"> <li ><a href="#" class="dropdown-item mb-0" @click="$store.modal.openModal($store.elements.deleteObjectModalEL)" x-text="getTranslatedHTML('deleteLayerText')"></a></li> <li> <a href="#" class="dropdown-item mb-0" @click="$store.canvas.toggleObjectById(layer.id, $nextTick)" x-text="getTranslatedHTML('toggleObjectOptionText', {visibility: layer.visible ? 'hideText':'unhideText'})"></a></li> </delete-context-menu> </div> </div> </template> </div> </div> </div> </div>