- aggiornato l'Editor HTML

This commit is contained in:
Surya Paolo
2024-09-13 19:42:55 +02:00
parent 791e18f167
commit 0872afbb39
55 changed files with 1451 additions and 1137 deletions

View File

@@ -1,4 +1,3 @@
.testo-banda {
//background: -webkit-gradient(linear, left top, left bottom, from(#3144f0), to(transparent));
//background: linear-gradient(180deg, #3144f0, transparent);
@@ -23,15 +22,14 @@ h4 {
visibility: hidden;
}
.landing {
}
.landing {}
.landing_background {
background: #000 url(../../../public/images/foto1.jpg) no-repeat 50% fixed;
background-size: cover
}
.landing > section {
.landing>section {
display: -webkit-box;
display: -ms-flexbox;
display: flex;
@@ -74,21 +72,21 @@ h4 {
font-size: 1rem;
}
.landing > section.padding {
.landing>section.padding {
padding: 5.62rem 1rem;
}
.landing > section.padding_testo {
.landing>section.padding_testo {
padding-top: 1.25rem;
padding-bottom: 1rem;
}
.landing > section.padding_gallery {
.landing>section.padding_gallery {
padding-top: 3.125rem;
padding-bottom: 5.625rem;
}
.landing > section > div {
.landing>section>div {
position: relative;
width: 100%
}
@@ -144,7 +142,8 @@ h4 {
text-shadow: .25rem .25rem .5rem $grayshadow;
}
.landing__features h4, .landing__features h6 {
.landing__features h4,
.landing__features h6 {
margin: 1rem 0
}
@@ -252,7 +251,8 @@ body.mobile .landing:before {
text-shadow: 0.125rem 0.125rem 0.25rem $grayshadow;
}
.text-h1, h1 {
.text-h1,
h1 {
font-size: 3rem;
font-weight: bold;
line-height: 3rem;
@@ -341,42 +341,47 @@ body.mobile .landing:before {
.landing__hero {
text-align: center
}
.landing__header {
height: 7vh
}
.clgutter {
margin-top: 0;
padding: 0;
}
.landing__hero .text-h1, h1 {
.landing__hero .text-h1,
h1 {
font-size: 2rem;
line-height: 2.05rem;
margin-bottom: 1.25rem
}
.landing > section.padding {
.landing>section.padding {
padding: 2.5rem 1rem;
}
.landing > section.padding_testo {
.landing>section.padding_testo {
padding-top: 1.25rem;
padding-bottom: 1rem;
}
.landing > section.padding_gallery {
.landing>section.padding_gallery {
padding-top: 3.125rem;
padding-bottom: 5.625rem;
max-width: 800px;
}
.landing > section.padding_gallery > div {
.landing>section.padding_gallery>div {
padding-top: 3.125rem;
padding-bottom: 5.625rem;
}
.landing__features h4, .landing__features h6 {
.landing__features h4,
.landing__features h6 {
margin: 1.25rem 0
}
@@ -389,12 +394,15 @@ body.mobile .landing:before {
text-align: center;
margin-top: 1.25rem;
}
.landing__hero-content {
padding-bottom: 11.25rem;
}
.landing__hero2-content {
padding-bottom: 7.25rem;
}
.landing__hero-btns {
-webkit-box-pack: center;
-ms-flex-pack: center;
@@ -408,6 +416,7 @@ body.mobile .landing:before {
.text-subtitle1 {
font-size: 1.25rem;
}
.text-vers {
font-size: 0.6rem;
}
@@ -480,3 +489,12 @@ body.mobile .landing:before {
justify-content: space-between;
background-color: green;
}
.uniform-button {
height: 40px;
/* Altezza fissa per tutti i bottoni */
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}

View File

@@ -1,5 +1,5 @@
import {
defineComponent, onMounted, PropType, ref, toRef, watch,
defineComponent, onMounted, PropType, computed, ref, toRef, watch,
} from 'vue'
import { IElemText, IImgGallery, ILabelValue, IMyCard, IMyElem, IMyPage, IOperators } from '@src/model'
@@ -39,7 +39,7 @@ export default defineComponent({
CCardCarousel, COpenStreetMap, CMyPage, CMyPageIntro, CMyEditor, CMyFieldRec,
CSelectColor, CSelectFontSize, CSelectImage, CImgPoster, CSelectAnimation
},
emits: ['saveElem', 'selElemClick'],
emits: ['saveElem', 'selElemClick', 'toggleSize', 'deleteElem'],
props: {
myelem: {
type: Object as PropType<IMyElem>,
@@ -90,6 +90,7 @@ export default defineComponent({
const myel = toRef(props, 'myelem')
const newtype = ref(<any>'')
const visuadd = ref(false)
const direzadd = ref(1)
watch(() => myel.value.order, (value, oldval) => {
mounted()
@@ -108,29 +109,69 @@ export default defineComponent({
// OK
disableSave.value = true
emit('saveElem', myelem)
if (exit)
elemChanged.value = false
}
})
}
function addNewElem(order?: number) {
function getNewOrderByThisElem() {
let myelem = props.myelem
let neword = 0
if (myelem) {
neword = myelem.order!
const recfound = globalStore.getMyElemNextThisElemId(props.path, myelem._id!)
if (recfound) {
neword = Math.round((recfound.order! + myelem.order!) / 2)
}
}
return neword
}
async function addNewElem(elemsel: any, direz: number) {
visuadd.value = false
let newrec = globalStore.prepareAddNewElem(order, $q, t, props.myelem, newtype.value)
let neword = 0
let recfound = null
if (direz === -1) { // Sopra
// ottieni l'elemento precedente, mantenendo l'ordinamento
recfound = globalStore.getMyElemPrecThisElemId(props.path, elemsel._id)
} else if (direz === 1) { // Sotto
// ottieni l'elemento precedente, mantenendo l'ordinamento
recfound = globalStore.getMyElemNextThisElemId(props.path, elemsel._id)
}
if (recfound) {
// get the middle of the order number between thie 2 elements
neword = Math.round((recfound.order + elemsel.order) / 2)
}
let newrec = await globalStore.prepareAddNewElem(neword, $q, t, props.myelem, newtype.value)
emit('selElemClick', newrec)
// emit('updateAll', newrec)
}
function dupElem(order?: number) {
async function dupElem(order?: number) {
const newrec = props.myelem
const newrec: IMyElem = { ...props.myelem }
newrec._id = undefined
newrec.order = order ? order : newrec.order! + 10
newrec.order = getNewOrderByThisElem()
if (newrec.type === shared_consts.ELEMTYPE.HTML) {
newrec.containerHtml = 'Copia di ' + newrec.containerHtml
}
const mynewelem = await globalStore.addNewElem($q, t, newrec)
emit('selElemClick', mynewelem)
globalStore.addNewElem($q, t, newrec)
}
function delElem() {
@@ -151,6 +192,7 @@ export default defineComponent({
if (ris) {
// OK
disableSave.value = true
emit('deleteElem', props.myelem)
}
})
})
@@ -292,6 +334,73 @@ export default defineComponent({
modifElem()
}
function toggleSize() {
emit('toggleSize', null)
}
const orderOptions = computed(() => {
const options = []
for (let i = 0; i <= 100; i += 1) {
options.push({ label: i.toString(), value: i });
}
for (let i = 100; i <= 1000; i += 10) {
options.push({ label: i.toString(), value: i });
}
return options;
});
function addOrder(rec: any) {
neworder.value = rec
}
async function moveElem(direz: any) {
let myelem = props.myelem
const elemprec = globalStore.getMyElemPrecThisElemId(props.path, myelem._id)
const elemnext = globalStore.getMyElemNextThisElemId(props.path, myelem._id!)
let neworder = 0
let oldorder = myelem.order!
if (direz === -1) {
// UP
neworder = elemprec.order!
elemprec.order = oldorder
if (oldorder === elemprec.order!) {
const elemprec2 = globalStore.getMyElemPrecThisElemId(props.path, elemprec._id!)
neworder = (elemprec2.order! + elemprec.order) / 2
elemprec.order = Math.round((oldorder + neworder) / 2)
}
await globalStore.saveMyElem($q, t, elemprec)
emit('saveElem', elemprec)
} else if (direz === 1) {
// DOWN
neworder = elemnext.order!
elemnext.order = oldorder
if (oldorder === elemnext.order!) {
const elemnext2 = globalStore.getMyElemNextThisElemId(props.path, elemnext._id!)
neworder = (elemnext2.order! + elemnext.order) / 2
elemnext.order = Math.round((oldorder + neworder) / 2)
}
await globalStore.saveMyElem($q, t, elemnext)
emit('saveElem', elemnext)
}
myelem.order = neworder
await globalStore.saveMyElem($q, t, myelem)
emit('saveElem', myelem)
}
onMounted(mounted)
return {
@@ -334,6 +443,11 @@ export default defineComponent({
Products,
generateSizeOptions,
updateSizeWidth,
direzadd,
toggleSize,
orderOptions,
addOrder,
moveElem,
}
},

File diff suppressed because it is too large Load Diff