121 lines
4.9 KiB
JavaScript
121 lines
4.9 KiB
JavaScript
/*<![CDATA[*/
|
|
$(document).ready(function () {
|
|
|
|
$("#tags .tag .tag-name input[type=text]").each(function() {
|
|
$(this).attr("size", $(this).val().length)
|
|
});
|
|
|
|
|
|
$("#task-form").keydown(function(event){
|
|
if(event.keyCode == 13) {
|
|
event.preventDefault();
|
|
return false;
|
|
}
|
|
});
|
|
|
|
function removeTag () {
|
|
$(this).parent().parent().remove();
|
|
}
|
|
|
|
|
|
$("#input-tag").keyup(function (event) {
|
|
if(event.keyCode == 13) {
|
|
var tagNumber = $("#tags .tag").length;
|
|
if(tagNumber > 0) {
|
|
tagNumber = $("#tags .tag").last()
|
|
.children('input')
|
|
.attr("name")
|
|
.split(']')[0]
|
|
.split('[')[1];
|
|
tagNumber++;
|
|
}
|
|
var tagName = $.trim($(this).val());
|
|
var addTag = true;
|
|
// проверка, добавлен ли этот тег
|
|
$("#tags .tag .tag-name input[type=text]").each(function() {
|
|
if(tagName === $(this).val()) {
|
|
addTag = false;
|
|
return;
|
|
}
|
|
});
|
|
// если тег не добавлен
|
|
if(addTag) {
|
|
// контейнер тега
|
|
var newTagRow = $("<div/>")
|
|
.attr("id", 'tags' + tagNumber)
|
|
.addClass("tag");
|
|
// контейнер id
|
|
var idInput = $("<input/>")
|
|
.attr("type", "hidden")
|
|
.attr("id", "tags" + tagNumber + ".id")
|
|
.attr("name", "tags[" + tagNumber + "].id")
|
|
.attr("value", '');
|
|
// контейнер текста
|
|
var conDiv = $("<div/>")
|
|
.addClass("tag-name");
|
|
// текст тега
|
|
var nameInput = $("<input/>")
|
|
.attr("type", "text")
|
|
.attr("id", "tags" + tagNumber + ".tagName")
|
|
.attr("name", "tags[" + tagNumber + "].tagName")
|
|
.attr("value", tagName)
|
|
.attr("readonly", "true")
|
|
.attr("size", tagName.length);
|
|
// кнопка удалить тег
|
|
var removeSpan = $("<span/>")
|
|
.attr("data-role", "remove")
|
|
.bind("click", removeTag);
|
|
|
|
conDiv.append(nameInput);
|
|
conDiv.append(removeSpan);
|
|
newTagRow.append(idInput);
|
|
newTagRow.append(conDiv);
|
|
$(this).before(newTagRow);
|
|
}
|
|
|
|
$(this).val('');
|
|
}
|
|
});
|
|
|
|
$("span[data-role=remove]").click(removeTag);
|
|
// $(".task-row").mouseenter(function (event) {
|
|
// var taskRow = $(event.target).closest(".task-row");
|
|
// $(taskRow).css("background-color", "#f8f9fa");
|
|
// $(taskRow).find(".remove-task").removeClass("d-none");
|
|
//
|
|
// });
|
|
// $(".task-row").mouseleave(function (event) {
|
|
// var taskRow = $(event.target).closest(".task-row");
|
|
// $(taskRow).css("background-color", "white");
|
|
// $(taskRow).closest(".task-row").find(".remove-task").addClass("d-none");
|
|
// });
|
|
|
|
$('a[data-confirm]').click(function(ev) {
|
|
var href = $(this).attr('href');
|
|
if (!$('#dataConfirmModal').length) {
|
|
$('#modalDelete').append('<div class="modal fade" id="dataConfirmModal" tabindex="-1" role="dialog" aria-labelledby="mySmallModalLabel" aria-hidden="true"\n' +
|
|
' >\n' +
|
|
' <div class="modal-dialog modal-sm">\n' +
|
|
' <div class="modal-content">\n' +
|
|
' <div class="modal-header">\n' +
|
|
' <h8 class="modal-title" id="myModalLabel">Удалить задачу?</h8>\n' +
|
|
' <button type="button" class="close" data-dismiss="modal" aria-label="Закрыть"><span\n' +
|
|
' aria-hidden="true">×</span></button>\n' +
|
|
' </div>\n' +
|
|
|
|
' <div class="modal-footer">\n' +
|
|
' <a class="btn btn-primary" id="dataConfirmOK">Да</a>'+
|
|
' <button class="btn primary" data-dismiss="modal" aria-hidden="true">Нет</button>'+
|
|
' </div>\n' +
|
|
' </div>\n' +
|
|
' </div>\n' +
|
|
' </div>');
|
|
}
|
|
$('#dataConfirmModal').find('#myModalLabel').text($(this).attr('data-confirm'));
|
|
$('#dataConfirmOK').attr('href', href);
|
|
$('#dataConfirmModal').modal({show:true});
|
|
return false;
|
|
});
|
|
|
|
});
|
|
/*]]>*/ |