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