UNPKG

aico-image-editor

Version:

Combine multiple image into and create single combined image

155 lines (85 loc) 4.11 kB
//import Alpine from 'alpinejs'; //window.Alpine = Alpine; // import component from 'alpinejs-component'; // Alpine.plugin(component) //import path from 'path'; //import { productPictures as pictures } from './getImages.js'; import './public-path'; import main from './components/main/main'; import containerModal from './components/containerModal/containerModal'; import configuratorComponent from './components/configuratorComponent/configuratorComponent'; import configurator2d from './components/configurator2d/configurator2d'; import configurator3d from './components/configurator3d/configurator3d'; ///tabs import configuratorTabs from './components/configuratorTabs/configuratorTabs'; import configuratorTabsMobile from './components/configuratorTabsMobile/configuratorTabsMobile'; import pictureTab, {productPicturesSubTab} from './components/pictureTab/pictureTab'; import ownShapeTab from './components/ownShapeTab/ownShapeTab'; import labellingTab from './components/labellingTab/labellingTab'; import layeringTab from './components/layeringTab/layeringTab'; import aiModal from './components/aiModal/aiModal'; import layerThumbnail from './components/layerThumbnail/layerThumbnail.js'; import canvasControls from './components/canvasControls/canvasControls'; import deleteConfirmModal from './components/deleteConfirmModal/deleteConfirmModal'; function defineData() { require('./data/tooltip'); require('./fabricstore'); require('./localization'); require('./data/dragdrop.js'); require('./elementstore'); require('./modalstore') require('./bgshapecroppermodalstore') require('./shapecroppermodalstore') require('./picturecroppermodalstore') Alpine.data('main', main) Alpine.data('containerModal', containerModal) Alpine.data('configurator', configuratorComponent); Alpine.data('configurator2d',configurator2d); Alpine.data('configurator3d',configurator3d) Alpine.data('configuratorTabs',configuratorTabs); Alpine.data('configuratorTabsMobile',configuratorTabsMobile); Alpine.data('pictureTab', pictureTab); Alpine.data('ownShapeTab', ownShapeTab) Alpine.data('labellingTab',labellingTab) Alpine.data('layeringTab',layeringTab) Alpine.data('aiModal', aiModal) Alpine.data('layerThumbnail',layerThumbnail) Alpine.data('canvasControls', canvasControls); Alpine.data('deleteConfirmModal', deleteConfirmModal); } // defineData(); document.addEventListener('alpine:init', defineData) export function updateEditorConfig($store, apiConfig) { $store.canvas.apiConfig = apiConfig; $store.canvas.currentLocale = apiConfig.locale.substr(0,2) === 'en' ? 'en' : 'de'; // as this gets automatically triggered for parent app, it is only needed for local development //window.dispatchEvent(new CustomEvent('language-updated', { detail: { currentLanguage: { locale: $store.canvas.currentLocale}}})) $store.canvas.configuratorId = apiConfig.configuratorId; $store.canvas.productId = apiConfig.productId; $store.modal.openModal($store.elements.containerModalEL); } export function prepareEditorHTML(el) { const buttonHTML = ` <div x-data="localization"> <button type="button" class="btn bg-gray-light p-1 d-flex rounded-0" > <span class="position-relative lh-1" x-data="tooltip" :title="getTranslatedHTML('imageCombinerText')" > <i class="far fa-image fa-lg"></i> <div class="position-absolute image-edit-icon"> <i class="fas fa-pencil-alt text-primary fa-xs"></i> </div> </span> </button> </div>`; el.insertAdjacentHTML('beforeend', buttonHTML); Alpine.initTree(el.firstElementChild); const editorHTML = ` <div> <main-component datatemplateurl="main/main.html" styles="global" shadow="true"></main-component> </div> `; if(!document.querySelector('main-component')) { document.body.insertAdjacentHTML('beforeend', editorHTML); } } export {productPicturesSubTab as productPicturesData}; //export const productPictures = pictures;