class App.fabDelete constructor: (@el) -> # initialize some stuff @shared = new App.Shared() closeSweetAlert: ($elem=null) => try unless $elem == undefined $elem.show() swal.close() catch error $('.sweet-overlay').hide() $('.sweet-alert').hide() # # deletePost handles deleting records # # dependencies: # sweetalert # # data-url="", data-id="" - eg. deletePost: ($elem) => try url = $elem.data('url') + "/" + $elem.data('id') + ".js" $remove = $($elem.data('remove')) request = $.ajax url: url, type: "delete", dataType: 'html' .done (data) -> if $remove $remove.hide() @closeSweetAlert($elem) #swal("Deleted!", "Your file was successfully deleted!", "success") .error (data) -> $elem.show() swal("Oops", "We couldn't connect to the server!", "error") # # statusCode: # # 200: (response,textStatus,jqXHR) -> # closeSweetAlert() # tellResponse response.responseText # # # 301: () -> # $elem.show() # closeSweetAlert() # swal "Ikke slettet!", "Posten blev ikke slettet - årsagen ikke kendt", "warning" # # 401: (response) -> # tellResponse response.responseText # closeSweetAlert() # # 409: (response) -> # tellResponse response.responseText # closeSweetAlert() # # 412: () -> # closeSweetAlert() # swal "Øv!", "Et eller andet gik galt!", "error" catch error swal "Hmmm", "Most unexpected! \n#{error}", "error" # # handleFABLinks # handles click on the fab_button # handleFABLinks: (e) => e.preventDefault() e.stopPropagation() elem = $(e.currentTarget) if elem.data('browser')=='new' window.open elem.data('url') return loader = '
' @shared.setLoader( $(elem).closest('.fixed-action-btn'),loader) oxremote = elem.data('oxremote') if (oxremote=='false' or oxremote==false) switch elem.data('method') when 'post', 'POST' # elem.closest('form').submit() $('form').submit() when 'put', 'PUT' console.log 'how do I put? add code in abstracted/app/assets/javascripts/initializers.js.coffee' when 'get', 'GET' window.location.href = elem.data('url') else jqxhr = $.ajax url: elem.data('url') || elem.attr('href') type: elem.data('method') || 'get' data: @shared.dataArgumentOn(elem) dataType: elem.data('type') || 'html' .done (data) => @shared.releaseLoader() if elem.data('modal') $(elem.data('modal')).html(data).openModal() else $(document.body).append(data) .error (data) => @shared.releaseLoader() $(document.body).append(data) return false # # handleDeleteLinks # initializes the tags classed with '.delete_link' to verify deleting an issue # handleDeleteLinks: (e) => e.preventDefault() e.stopPropagation() $elem = $(e.currentTarget) $elem.hide() $('.sweet-overlay').show() swal title: "Are you sure?", text: "Are you sure that you want to delete this photo?", type: "warning", animation: "slide-from-bottom", showLoaderOnConfirm: true, showCancelButton: true, closeOnConfirm: false, confirmButtonText: "Yes, delete it!", confirmButtonColor: "#ec6c62", (confirmed) -> if !confirmed @closeSweetAlert($elem) else @deletePost($elem) return false prepare: => try $(document.body).unbind('click.delete') $(document.body).unbind('click.fab') # # Prepare delete_link's for acting on clicks to delete posts # $(document.body).on 'click.delete', 'a.delete_link, a.delete_item', @handleDeleteLinks # # Add event on the FAB (fixed action button) # $(document.body).on 'click.fab', 'a.fab-button', @handleFABLinks catch error alert 'App.fabDelete did not prepare!' console.log error