(function() { 'use strict'; // @TODO refactor that eventually function initEditCoumnModal() { var modalID = '#manageRepositoryColumn'; var colRadID = '#repository_column_data_type_repositorylistvalue'; var tagsInputID = '[data-role="tagsinput"]'; var formID = '[data-role="manage-repository-column-form"]'; $('[data-action="edit"]').off('click').on('click', function() { var editUrl = $(this).closest('li').attr('data-edit-url'); $.get(editUrl, function(data) { $(data.html).appendTo('body').promise().done(function() { $(modalID).modal('show').promise().done(function() { $(modalID).on('hidden.bs.modal', function () { // remove edit modal window $(modalID).remove(); $('.modal-backdrop').remove(); }); _initTagInput(); setTimeout(function() { $('#repository_column_name').focus(); }, 500) if($(modalID).attr('data-edit-type') === 'RepositoryListValue') { var values = JSON.parse($(tagsInputID).attr('data-value')); $(colRadID).click().promise().done(function() { $.each(values, function(index, element) { $(tagsInputID).tagsinput('add', element); }); }); } $('[data-action="save"]').on('click', function() { if($(colRadID).is(':checked')) { $('#list_items').val($(tagsInputID).val()); } _processResponse($(formID), 'update', modalID); }); }); }); }); }); } function initDeleteColumnModal() { $('[data-action="destroy"]').off('click').on('click', function() { var element = $(this); var modal_html = $("#deleteRepositoryColumn"); $.get(element.closest('li').attr('data-destroy-url'), function(data) { modal_html.find('.modal-body').html(data.html) .promise() .done(function() { modal_html.modal('show'); _initSubmitAction(modal_html, $(modal_html.find('form'))); }); }); }); } // @TODO refactor that eventually function initNewColumnModal() { var modalID = '#manageRepositoryColumn'; $('[data-action="new-column-modal"]').off('click').on('click', function() { var modalUrl = $(this).attr('data-modal-url'); $.get(modalUrl, function(data) { $(data.html).appendTo('body').promise().done(function() { $(modalID).modal('show').promise().done(function() { $(modalID).on('hidden.bs.modal', function () { // remove create new modal window $(modalID).remove(); $('.modal-backdrop').remove(); }); _initTagInput(); setTimeout(function() { $('#repository_column_name').focus(); }, 500); $('[data-action="save"]').on('click', function() { var colRad = '#repository_column_data_type_repositorylistvalue'; if($(colRad).is(':checked')) { $('#list_items') .val($('[data-role="tagsinput"]').val()); } var form = $('[data-role="manage-repository-column-form"]'); _processResponse(form, 'create', modalID); }); }); }); }); }); } /* ********************************* Helper methods ********************************* */ function _insertNewListItem(column) { // remove element if already persent $('[data-id="' + column.id + '"]').remove(); var html = '