Upravy v editoru webu

This commit is contained in:
Michal Kváček
2018-11-27 22:19:33 +01:00
parent 450b68b89d
commit b9611a85c1
34 changed files with 1018 additions and 423 deletions
View File
+6 -1
View File
@@ -1,4 +1,9 @@
$ (document).ready (function () {
initDatePickers();
});
function initDatePickers() {
$ ('.select-time').datetimepicker ({
format: 'LT',
locale: 'cs',
@@ -9,4 +14,4 @@ $ (document).ready (function () {
locale: 'cs',
minDate: new Date ()
});
});
}
+21 -22
View File
@@ -108,7 +108,7 @@
case "datetime":
$input.addClass ('select-datetime');
initDateTimePickers ();
// initDateTimePickers ();
$input.datetimepicker ('show');
break;
@@ -147,25 +147,25 @@
return newData;
}
$.nette.ajax ({
url: url,
method: "POST",
data: {
value: newData
}
}).done (function () {
// todo: very ugly, sorry...
$ ("." + $trigger.attr ('class')).editable (callback);
// todo remove timepicker in nicer way
$ ('.bootstrap-datetimepicker-widget').remove ();
// todo: somehow not working...?
callback ();
var event = jQuery.Event ("snippet-reloaded");
$ (document).trigger (event);
});
// $.nette.ajax ({
// url: url,
// method: "POST",
// data: {
// value: newData
// }
// }).done (function () {
// // todo: very ugly, sorry...
// $ ("." + $trigger.attr ('class')).editable (callback);
//
// // todo remove timepicker in nicer way
// $ ('.bootstrap-datetimepicker-widget').remove ();
//
// // todo: somehow not working...?
// callback ();
//
// var event = jQuery.Event ("snippet-reloaded");
// $ (document).trigger (event);
// });
return newData;
};
@@ -201,5 +201,4 @@ function initEditable() {
});
}
$ (document).ready (initEditable);
$ (document).on ('snippet-reloaded', initEditable);
$ (document).ready (initEditable);
+9
View File
@@ -0,0 +1,9 @@
$(document).ready(function () {
setTimeout(function () {
$('.js-notification').fadeOut(1000);
}, 1000);
});
+97 -11
View File
@@ -1,13 +1,99 @@
$ (document).on ('click', '.js-add-program', function () {
var $template = $ ($ (this).data ('template'));
var templateSelector = $ (this).data ('template') + ":last";
var $template = $ (templateSelector);
var $templateContainer = $ ($ (this).data ('template-container'));
var $copy = $template.clone ().removeClass ('template');
$copy.find ('.js-remove-program').removeAttr('hidden');
var itemsCount = $ ('.template-container__item').length;
$copy.find ('input').each (function () {
var name = $ (this).attr ('name');
$ (this).attr ('name', name.replace (/\[0\]/g, '[' + itemsCount + ']'));
});
$copy.appendTo ($templateContainer);
$ ('.select-time').datetimepicker ({
format: 'LT',
locale: 'cs',
stepping: 10,
});
});
function renameInputs() {
var items = $ ('.template-container__item');
var i = 0;
items.each (function () {
var $rows = $ (this).find ('input');
$rows.each (function () {
var name = $ (this).attr ('name');
$ (this).attr ('name', name.replace (/\[[0-9]+\]/g, '[' + i + ']'));
});
i++;
});
}
$(document).on('click', '.js-sort-events', function ( ){
var $templateContainer = $ ($ (this).data ('template-container'));
var $templates = $ ($ (this).data ('template'));
sortEvents($templateContainer, $templates);
$(this).fadeOut();
});
function sortEvents($container, $templates) {
var elements = $templates.get();
elements.sort(function (a, b) {
console.log(a);
var timeA = $(a).find('.select-time').val();
var timeB = $(b).find('.select-time').val();
return timeA > timeB;
});
$container.append(elements);
renameInputs();
}
function checkEvents($container, $templates) {
var lastTime = null;
var orderCorrect = true;
$templates.each(function() {
var time = $(this).find('.select-time').val();
if (time < lastTime) {
orderCorrect = false;
}
lastTime = time;
});
if (!orderCorrect) {
$('.js-sort-events').fadeIn();
} else {
$('.js-sort-events').fadeOut();
}
}
$(document).ready(function () {
setInterval(function () {
var $templateContainer = $ ('.template-container');
var $templates = $ ('.template');
checkEvents($templateContainer, $templates);
}, 1000);
});
$ (document).on ('click', '.js-remove-program', function () {
@@ -19,20 +105,20 @@ $ (document).on ('click', '.js-remove-program', function () {
});
var $iconTarget = null;
$(document).on('click', '.js-set-icon-program', function () {
$('#setIconProgramModal').modal('show');
$ (document).on ('click', '.js-set-icon-program', function () {
$ ('#setIconProgramModal').modal ('show');
$iconTarget = $(this);
$iconTarget = $ (this);
});
$(document).on('click', '.js-choose-icon', function () {
$ (document).on ('click', '.js-choose-icon', function () {
var icon = $(this).data('icon');
var icon = $ (this).data ('icon');
$iconTarget.find('input').val(icon);
$iconTarget.find('.fa').removeAttr('class').addClass('fa fa-2x fa-'+icon);
$iconTarget.find ('input').val (icon);
$iconTarget.find ('.fa').removeAttr ('class').addClass ('fa fa-2x fa-' + icon);
$iconTarget = null;
$('#setIconProgramModal').modal('hide');
$ ('#setIconProgramModal').modal ('hide');
});
+15 -7
View File
@@ -22,15 +22,23 @@ function initSortable() {
handle: ".sort-handle",
draggable: ".draggable",
onEnd: function (evt) {
var ordered = [];
// get item ids
$ ('.sortable-item').each (function () {
var $e = $ (this);
ordered.push ($e.data ('id'));
var items = $ ('.template-container__item');
var i = 0;
items.each (function () {
var $rows = $ (this).find ('input');
$rows.each (function () {
var name = $ (this).attr ('name');
console.log(name);
$ (this).attr ('name', name.replace (/\[[0-9]+\]/g, '[' + i + ']'));
});
i++;
});
}
});
}
@@ -26,4 +26,18 @@ $ (".file-upload").change (function () {
}
readURL (this, preview);
});
$(document).on('submit', 'form.js-upload', function (e){
// var
$(this).find('input[type=file]').each(function() {
});
// e.preventDefault();
// return false;
});
+1
View File
@@ -27,6 +27,7 @@ $fa-font-path: "~font-awesome/fonts";
@import "main";
@import "backToDashboard";
@import "boxes";
@import "lightbox";
// editor
@import "editor/app";
+9
View File
@@ -3,3 +3,12 @@
@import "timeline";
@import "gallery";
.template:first-child {
.js-remove-program {
display: none;
}
}
.sort-handle:hover {
cursor: move;
}
+207
View File
@@ -0,0 +1,207 @@
html.lb-disable-scrolling {
overflow: hidden;
/* Position fixed required for iOS. Just putting overflow: hidden; on the body is not enough. */
position: fixed;
height: 100vh;
width: 100vw;
}
.lightboxOverlay {
position: absolute;
top: 0;
left: 0;
z-index: 9999;
background-color: black;
filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=80);
opacity: 0.8;
display: none;
}
.lightbox {
position: absolute;
left: 0;
width: 100%;
z-index: 10000;
text-align: center;
line-height: 0;
font-weight: normal;
}
.lightbox .lb-image {
display: block;
height: auto;
max-width: inherit;
max-height: none;
border-radius: 3px;
/* Image border */
border: 4px solid white;
}
.lightbox a img {
border: none;
}
.lb-outerContainer {
position: relative;
*zoom: 1;
width: 250px;
height: 250px;
margin: 0 auto;
border-radius: 4px;
/* Background color behind image.
This is visible during transitions. */
background-color: white;
}
.lb-outerContainer:after {
content: "";
display: table;
clear: both;
}
.lb-loader {
position: absolute;
top: 43%;
left: 0;
height: 25%;
width: 100%;
text-align: center;
line-height: 0;
}
.lb-cancel {
display: block;
width: 32px;
height: 32px;
margin: 0 auto;
//background: url(../images/loading.gif) no-repeat;
}
.lb-nav {
position: absolute;
top: 0;
left: 0;
height: 100%;
width: 100%;
z-index: 10;
}
.lb-container > .nav {
left: 0;
}
.lb-nav a {
outline: none;
background-image: url('data:image/gif;base64,R0lGODlhAQABAPAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==');
}
.lb-prev, .lb-next {
height: 100%;
cursor: pointer;
display: block;
}
.lb-nav a.lb-prev {
width: 34%;
left: 0;
float: left;
background: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAtCAYAAADsvzj/AAAFF0lEQVR4Ac2ZW0xcVRSGPTNnhlPKcCsUAeeChkEVxhutDQwzMANaqamNWgpaH+yDIaZp1cRHbgH0gTsxkmDCI/hiRAqgD5qYRgKQ8II6TE00wfgGAcIdKeM/ydrNZIezxxg9m518gRxWmn6s9a9zhvNQJBL5T/gfjokwA5Uw0zWFeHBOugiTsAArfSWZky+iABVowAZSwRkiDSTRz1iHlJMmogATsIDTIAPYgRs8SeTTtXSQSLVKFNkivIQKksDDJFCsquqLmqZdAa/i+yCuPQ1cJHOKjdpJEWGdsIFs8BQoy83NvTEzMzO3t7f318HBweHc3Nxdj8dznWQeIWmpIryENUaiCPgdDsfN+fn5XyLcWV5eDlmt1gBqHgOpbAHIFmESySAHeECF0+m8hd/+vcgxZ3d39wBj9grqCkA6iaiyRBRunJhEpcvl+nBhYeG3iM7Z2dnZgkg1ZSgNqLI6wgebSVTZ7faPlpaW/tSTWF9f36ivr+9AbQkF3iZRhAs2dSInJ+eDUCj0h0Biq7S09BPUBkEhyAKJssKusE6QRCGoQLDfn56eDulJrK6ubgeDwS7UXgTPAztIkXUfUbhxKgLlyMRtBPtXPYm1tbXdqqoqJnEOOGhbJQCTkSJ8sJlEMNoJrFhdicPDw6PKyspe1FaD85yE2YBnLUGwSSIrK+s2bnZLehIbGxubfr+/B7WXSMJJ42QlCcVAES7YJJGdnR0dp7BgnLZKSko6qBPngIvrBEkYIKIT7PLoOKET4TjB7kbty+A8SaRxmcAxQEQn2BUI9q3Z2dl7gk7sINhRiZeoE87jMmGECB/s3JhgR8dJV2Jzc3Pb5/N1UieKKdgsEyaAY5wIk2Dj5GHBRifCgmBHb3adLBNsO3HBNkxEAWZwCmSCx4EPwb4ZJ9jbCHYXSRQDpyDYhomoNFIOUIRMvINO/KQnsbKyshMIBD5D7RVwgQWblzBahD2Sp5jN5jzM+9uLi4s/60mEw+FNbKcvUH8DVIECcAZoXLCliaRaLBbX8PBwb0RwRkZGfkftx+BdUM4+KInDbdxoWUCKoih5CQkJgYGBgS/xs6PjRPb394+ampp+RP174CIoBGcpYypQZIqYY+4dz4DLvb29Y6LONDY2fou6OuAF+SCDZCgj8kQSQDqNihfU9vX1TYlkGhoa7qDuDVBKMpQVrjMG30fYCs6gAHuRmdqurq5JkUxLS8sEaq+CMq4zJGOgCB2Fk8kHJSaTqaazs3Pi2MzQaWtrm0RtDfDFyCQyGUNFOJlEkMlkwLWenp5vRDKtra1TNGYsM5mcjKEifGeYjBfUQUaYmebm5omYzLjFC8C4zyNqTGfcNDZ1/2ABjKHudZLXkTFARJAZN/CqqnqNMqN7Ojo6vqMF4ONkVFmvFUQLQNiZ7u7u76PZAn6S4TJjrIhoAdT+iwXAdQYYKCJaAG/iPhNvAYyj7jXwAngUpAGrDBF+ATCZAuBXFOX60NDQ3TiPM1/hyfoyPf7kgNNSXyvwmSGZMk3T3hocHPwhzlPzJLLFnpZT5PztV5wZNyilbTZFmTnZrxU4GZWXATV4ap4kmeNELlEticjsSHyZq/39/V/j374P2Lk/Pj5+BznxUuDlj1acJ4B8cAH/4er29vbPR0dH58fGxubx/ac2my1Ab3iz5Yc9/gJIB05QCJ4Fz9FXD3gC5HIfi+WKCGQ0GpuzwA7yCDtdS+b/SCFfRPwaQqPxSSaS6JrlwUjR+RtEvCM0ct4sLQAAAABJRU5ErkJggg==') left 48% no-repeat;
filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=0);
opacity: 0;
-webkit-transition: opacity 0.6s;
-moz-transition: opacity 0.6s;
-o-transition: opacity 0.6s;
transition: opacity 0.6s;
}
.lb-nav a.lb-prev:hover {
filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100);
opacity: 1;
}
.lb-nav a.lb-next {
width: 64%;
right: 0;
float: right;
background: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAtCAYAAADsvzj/AAAFDUlEQVR4Ac2ZS0xcVRjHvTN3hisw0GIRZ3AeLWHQWqdVsRqgA86AUmpqoy20Whd2YYhprJq45BVAF7yJkQQTluDGiEhBF5qYRsIjYYMKQxNNMO4gQHgjZfxP8pF8ufEe0qQ5pyf5BTKcWfzyff/vnHt5xLQ0wgbsQCfswEY80BWPxx8I5sUlHMBJP0nm4RfRWAUMkAqOgseII8AFDNqjPYwiGuEAySADeEEuOEkE6bNjIIX22riQchHWSo+SRACc1nU9ahjGG+ASfn8Vn+WT0BNUMV0so04kFTwJTodCoeuTk5N3dnd397a3t/8dHx+fzM7OvoG/nQPPADdwscqoF2HBPgJynE5nZGFhYTZuWlNTU3/4fL6b2FMMnmUyTpJRLqKTSAbIQyu9vrW1tRv/n4Uqzfv9/g+x7xUQAh6QxmVUV0SnKRWESMXm5uZ63GJNT0//GQgEPsHeUibD20xTLeKioBdUV1e3rKysrFrJzM3N/eP1ej/F3jImIxgAcsOeDLLAKRAtLCz8HDKWlZmdnf3b4/F8zCojGADyz5F04AUvgPJoNNq2tLS0YSUzNjY2iwHwEWXmFHCzymiqRGwgiaaXD7wIysvKytqWl5e3rGQwAO4iM7ewt4SmmYfLqLpr2U0yZ0FFaWlp597e3r6VDEbzXapMlGQEA0COiEYyTmozP8lcKC4u7lhdXV2zksGhOZeVlXWLy5gHgDwRJsMqE6A2qygoKGhBm60L2izmdruZjGkAyBShxTNzlGTOgvMYAO2iAYDKxKjNSgQDQI6IRWb8VJnXMADaUZlNK5mJiYl5DAC6AQgGgCwRWjaWGR/IB+fD4XDr2trahqDN5lEZ3mbZ5gEgW4QPAD6aK3BotmIArAsqE2MDIMTajGTkinAZ3mb5NAAS58zGIQPgJvaGwVMgk5597ECTLcJl+AB4GVyKRCJfLi4uijLzGzLzHrWYj1pMVyXCB4BBz/J5oAzcwDT7OhaLWZ4zMzMzvyNX79rt9uOUNyewqRSxsbzk0Jh9H3w2MDDwV1yw+vv7Ox0OR4C+q1REAzr1+ON0TpSDD+rq6n7d2dmxusbs9/T0fJOUlBTRNO2gIg6lGSGJYyAXFIFrtbW1P4oq0dnZOYR9F8EZdqaoCDtVgrJBEoXgck1Nzfciia6urlHsu0rSOSADJEkXYRK8EufAlYaGhtsiiba2thFk4kAij75Po1fiOcIkkplEGFQ2NTWNCBz2W1tbb9tstkrsLaDvcQlN5hWFS2SyTFxubGwcFUl0dHT8gH1VTCITJHMJWSLmYAcPMlFfXy9sJ0gkMnGNpEnCXAkJIhYSReAtBHvosGCTRBgEWSV0qc8jPNhMIgyutLS0/CSSSGRC1/Uqkg5aZUKGiDkTQVAMqtrb238+RGJUHGyZb1F4Je4/2FfFwZYr4qRb7QnwEngTwR4+5JxIZOJtcbDlv2lMAR5wBjfUi7h2fCuS6Ovru6Np2nVqvzwmQcFW9+43HeSg10twix0RSfT29v5iGMY7dMLniTOh+N8KghN7lKZTIQgKMiG/IkwkCJELFiL7uMWOYE+lWUL8elRNa51APoqGh4cTN9p7TOJed3f3d4nz5P4l1ITdDU66XK5Ic3PzF0NDQ1ODg4NT+P0rCFbQM3qu4MRWLsIfX7PB0yAEngPP089TwA8yBMFWKmJ+qZBGj7FecJzw0mfpwBBLqBexseAbIBWkESnAEPybQLnIf4JfIzSb+FymAAAAAElFTkSuQmCC') right 48% no-repeat;
filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=0);
opacity: 0;
-webkit-transition: opacity 0.6s;
-moz-transition: opacity 0.6s;
-o-transition: opacity 0.6s;
transition: opacity 0.6s;
}
.lb-nav a.lb-next:hover {
filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100);
opacity: 1;
}
.lb-dataContainer {
margin: 0 auto;
padding-top: 5px;
*zoom: 1;
width: 100%;
border-bottom-left-radius: 4px;
border-bottom-right-radius: 4px;
}
.lb-dataContainer:after {
content: "";
display: table;
clear: both;
}
.lb-data {
padding: 0 4px;
color: #ccc;
}
.lb-data .lb-details {
width: 85%;
float: left;
text-align: left;
line-height: 1.1em;
}
.lb-data .lb-caption {
font-size: 13px;
font-weight: bold;
line-height: 1em;
}
.lb-data .lb-caption a {
color: #4ae;
}
.lb-data .lb-number {
display: block;
clear: left;
padding-bottom: 1em;
font-size: 12px;
color: #999999;
}
.lb-data .lb-close {
display: block;
float: right;
width: 30px;
height: 30px;
background: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABsAAAAbCAMAAAC6CgRnAAAAPFBMVEX///8AAAD9/f2CgoKAgIAAAAAAAAAAAABLS0sAAAAAAACqqqqqqqq6urpKSkpISEgAAAC7u7u5ubn////zbsMcAAAAE3RSTlMASv6rqwAWS5YMC7/AyZWVFcrJCYaKfAAAAHhJREFUeF590kkOgCAQRFEaFVGc+/53FYmbz6JqBbyQMFSYuoQuV+iTflnstI7ssLXRvMWRaEMs84e2uVckuZe6knL0hiSPObXhj6ChzoEkIolIIpKIO4joICAIeDd7QGIfCCjOKe9HEk8mnxpIAup/F31RPZP9fAG3IAyBSJe0igAAAABJRU5ErkJggg==') top right no-repeat;
text-align: right;
outline: none;
filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=70);
opacity: 0.7;
-webkit-transition: opacity 0.2s;
-moz-transition: opacity 0.2s;
-o-transition: opacity 0.2s;
transition: opacity 0.2s;
}
.lb-data .lb-close:hover {
cursor: pointer;
filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100);
opacity: 1;
}