This commit is contained in:
jr-k 2024-08-25 02:11:27 +02:00
parent 1ef39dc0fb
commit d27adbd77a
7 changed files with 68 additions and 20 deletions

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -30,6 +30,10 @@ const hideDropdowns = function () {
$('.dropdown').removeClass('dropdown-show');
};
const classColorXor = function(color, fallback) {
return color === 'gscaleF' ? 'gscale0' : (color === 'gscale0' ? 'gscaleF' : fallback);
};
const showToast = function (text) {
const $toast = $(".toast");
$toast.addClass('show');

View File

@ -60,7 +60,7 @@ jQuery(document).ready(function ($) {
element.resizable({
// containment: "#screen",
handles: 'nw, ne, sw, se',
handles: 'n, s, e, w, nw, ne, sw, se',
start: function (event, ui) {
focusElement(ui.element);
},
@ -315,7 +315,9 @@ jQuery(document).ready(function ($) {
unfocusElements();
}
if (!currentElement) {
const hasFocusInInput = $('input,textarea').is(':focus');
if (!currentElement || hasFocusInInput) {
return;
}
@ -327,7 +329,7 @@ jQuery(document).ready(function ($) {
$('#elem-y').val(parseInt($('#elem-y').val()) - (e.shiftKey ? 10 : 1)).trigger('input');
} else if (e.key === "ArrowDown") {
$('#elem-y').val(parseInt($('#elem-y').val()) + (e.shiftKey ? 10 : 1)).trigger('input');
} else if (e.key === "Backspace" && !$('input,textarea').is(':focus')) {
} else if (e.key === "Backspace") {
if (confirm(l.js_common_are_you_sure)) {
removeElementById(currentElement.attr('data-id'));
}
@ -350,10 +352,17 @@ jQuery(document).ready(function ($) {
$element.attr('data-content-type', content.type);
$element.data('content-metadata', content.metadata);
const $elementList = $('.element-list-item[data-id='+$element.attr('data-id')+']');
const iconClasses = ['fa', content_type_icon_classes[content.type]].join(' ');
$element.find('i').get(0).classList = iconClasses;
$element.find('i').get(0).classList = [
'fa',
content_type_icon_classes[content.type],
classColorXor(content_type_color_classes[content.type], content_type_color_classes[content.type])
].join(' ');
$elementList.find('label').text(content.name);
$elementList.find('i:eq(0)').get(0).classList = iconClasses;
$elementList.find('i:eq(0)').get(0).classList = [
'fa',
content_type_icon_classes[content.type],
content_type_color_classes[content.type]
].join(' ');
};
$(document).on('submit', 'form.form', function (e) {

View File

@ -24,7 +24,7 @@ jQuery(document).ready(function ($) {
$form.find('button[type=submit]').attr('class', [
'btn',
`btn-${color}`,
color === 'gscaleF' ? 'gscale0' : ''
classColorXor(color, '')
].join(' '));
};

View File

@ -121,36 +121,66 @@
}
.ui-resizable-handle {
$size: 10px;
$sizeOffset: -1*calc($size/2);
background: $gkscaleA;
border: 1px solid $gkscale5;
width: 10px;
height: 10px;
width: $size;
height: $size;
z-index: 90;
display: none;
position: absolute;
&.ui-resizable-n {
cursor: n-resize;
top: $sizeOffset;
left: 50%;
margin-left: $sizeOffset;
}
&.ui-resizable-s {
cursor: s-resize;
bottom: $sizeOffset;
left: 50%;
margin-left: $sizeOffset;
}
&.ui-resizable-w {
cursor: w-resize;
left: $sizeOffset;
top: 50%;
margin-top: $sizeOffset;
}
&.ui-resizable-e {
cursor: e-resize;
right: $sizeOffset;
top: 50%;
margin-top: $sizeOffset;
}
&.ui-resizable-nw {
cursor: nw-resize;
top: -5px;
left: -5px;
top: $sizeOffset;
left: $sizeOffset;
}
&.ui-resizable-ne {
cursor: ne-resize;
top: -5px;
right: -5px;
top: $sizeOffset;
right: $sizeOffset;
}
&.ui-resizable-sw {
cursor: sw-resize;
bottom: -5px;
left: -5px;
bottom: $sizeOffset;
left: $sizeOffset;
}
&.ui-resizable-se {
cursor: se-resize;
bottom: -5px;
right: -5px;
bottom: $sizeOffset;
right: $sizeOffset;
}
}
}

View File

@ -15,7 +15,12 @@
<script>
const content_type_icon_classes = {
{% for type in enum_content_type %}
'{{ type.value }}': '{{ enum_content_type.get_fa_icon(type) ~ ' ' ~ enum_content_type.get_color_icon(type) }}',
'{{ type.value }}': '{{ enum_content_type.get_fa_icon(type) }}',
{% endfor %}
};
const content_type_color_classes = {
{% for type in enum_content_type %}
'{{ type.value }}': '{{ enum_content_type.get_color_icon(type) }}',
{% endfor %}
};
</script>