Make confirm methods independents
parent
d9ffaa0913
commit
11eec044c6
|
@ -44,53 +44,52 @@ class ConfirmService extends taiga.Service
|
||||||
constructor: (@q, @lightboxService, @loading) ->
|
constructor: (@q, @lightboxService, @loading) ->
|
||||||
_.bindAll(@)
|
_.bindAll(@)
|
||||||
|
|
||||||
hide: ->
|
hide: (el)->
|
||||||
if @.el
|
if el
|
||||||
@lightboxService.close(@.el)
|
@lightboxService.close(el)
|
||||||
|
|
||||||
@.el.off(".confirm-dialog")
|
el.off(".confirm-dialog")
|
||||||
delete @.el
|
|
||||||
|
|
||||||
ask: (title, subtitle, lightboxSelector=".lightbox_confirm-delete") ->
|
ask: (title, subtitle, lightboxSelector=".lightbox_confirm-delete") ->
|
||||||
@.el = angular.element(lightboxSelector)
|
el = angular.element(lightboxSelector)
|
||||||
|
|
||||||
# Render content
|
# Render content
|
||||||
@.el.find("h2.title").html(title)
|
el.find("h2.title").html(title)
|
||||||
@.el.find("span.subtitle").html(subtitle)
|
el.find("span.subtitle").html(subtitle)
|
||||||
defered = @q.defer()
|
defered = @q.defer()
|
||||||
|
|
||||||
# Assign event handlers
|
# Assign event handlers
|
||||||
@.el.on "click.confirm-dialog", "a.button-green", debounce 2000, (event) =>
|
el.on "click.confirm-dialog", "a.button-green", debounce 2000, (event) =>
|
||||||
event.preventDefault()
|
event.preventDefault()
|
||||||
target = angular.element(event.currentTarget)
|
target = angular.element(event.currentTarget)
|
||||||
@loading.start(target)
|
@loading.start(target)
|
||||||
defered.resolve =>
|
defered.resolve =>
|
||||||
@loading.finish(target)
|
@loading.finish(target)
|
||||||
@.hide()
|
@.hide(el)
|
||||||
|
|
||||||
@.el.on "click.confirm-dialog", "a.button-red", (event) =>
|
el.on "click.confirm-dialog", "a.button-red", (event) =>
|
||||||
event.preventDefault()
|
event.preventDefault()
|
||||||
defered.reject()
|
defered.reject()
|
||||||
@.hide()
|
@.hide(el)
|
||||||
|
|
||||||
@lightboxService.open(@.el)
|
@lightboxService.open(el)
|
||||||
|
|
||||||
return defered.promise
|
return defered.promise
|
||||||
|
|
||||||
askChoice: (title, subtitle, choices, lightboxSelector=".lightbox-ask-choice") ->
|
askChoice: (title, subtitle, choices, lightboxSelector=".lightbox-ask-choice") ->
|
||||||
@.el = angular.element(lightboxSelector)
|
el = angular.element(lightboxSelector)
|
||||||
|
|
||||||
# Render content
|
# Render content
|
||||||
@.el.find("h2.title").html(title)
|
el.find("h2.title").html(title)
|
||||||
@.el.find("span.subtitle").html(subtitle)
|
el.find("span.subtitle").html(subtitle)
|
||||||
choicesField = @.el.find("select.choices")
|
choicesField = el.find("select.choices")
|
||||||
choicesField.html('')
|
choicesField.html('')
|
||||||
_.each choices, (value, key) ->
|
_.each choices, (value, key) ->
|
||||||
choicesField.append(angular.element("<option value='#{key}'>#{value}</option>"))
|
choicesField.append(angular.element("<option value='#{key}'>#{value}</option>"))
|
||||||
defered = @q.defer()
|
defered = @q.defer()
|
||||||
|
|
||||||
# Assign event handlers
|
# Assign event handlers
|
||||||
@.el.on "click.confirm-dialog", "a.button-green", debounce 2000, (event) =>
|
el.on "click.confirm-dialog", "a.button-green", debounce 2000, (event) =>
|
||||||
event.preventDefault()
|
event.preventDefault()
|
||||||
target = angular.element(event.currentTarget)
|
target = angular.element(event.currentTarget)
|
||||||
@loading.start(target)
|
@loading.start(target)
|
||||||
|
@ -98,59 +97,59 @@ class ConfirmService extends taiga.Service
|
||||||
selected: choicesField.val()
|
selected: choicesField.val()
|
||||||
finish: =>
|
finish: =>
|
||||||
@loading.finish(target)
|
@loading.finish(target)
|
||||||
@.hide()
|
@.hide(el)
|
||||||
}
|
}
|
||||||
|
|
||||||
@.el.on "click.confirm-dialog", "a.button-red", (event) =>
|
el.on "click.confirm-dialog", "a.button-red", (event) =>
|
||||||
event.preventDefault()
|
event.preventDefault()
|
||||||
defered.reject()
|
defered.reject()
|
||||||
@.hide()
|
@.hide(el)
|
||||||
|
|
||||||
@lightboxService.open(@.el)
|
@lightboxService.open(el)
|
||||||
|
|
||||||
return defered.promise
|
return defered.promise
|
||||||
|
|
||||||
error: (message) ->
|
error: (message) ->
|
||||||
@.el = angular.element(".lightbox-generic-error")
|
el = angular.element(".lightbox-generic-error")
|
||||||
|
|
||||||
# Render content
|
# Render content
|
||||||
@.el.find("h2.title").html(message)
|
el.find("h2.title").html(message)
|
||||||
defered = @q.defer()
|
defered = @q.defer()
|
||||||
|
|
||||||
# Assign event handlers
|
# Assign event handlers
|
||||||
@.el.on "click.confirm-dialog", "a.button-green", (event) =>
|
el.on "click.confirm-dialog", "a.button-green", (event) =>
|
||||||
event.preventDefault()
|
event.preventDefault()
|
||||||
defered.resolve()
|
defered.resolve()
|
||||||
@.hide()
|
@.hide(el)
|
||||||
|
|
||||||
@.el.on "click.confirm-dialog", "a.close", (event) =>
|
el.on "click.confirm-dialog", "a.close", (event) =>
|
||||||
event.preventDefault()
|
event.preventDefault()
|
||||||
defered.resolve()
|
defered.resolve()
|
||||||
@.hide()
|
@.hide(el)
|
||||||
|
|
||||||
@lightboxService.open(@.el)
|
@lightboxService.open(el)
|
||||||
|
|
||||||
return defered.promise
|
return defered.promise
|
||||||
|
|
||||||
success: (message) ->
|
success: (message) ->
|
||||||
@.el = angular.element(".lightbox-generic-success")
|
el = angular.element(".lightbox-generic-success")
|
||||||
|
|
||||||
# Render content
|
# Render content
|
||||||
@.el.find("h2.title").html(message)
|
el.find("h2.title").html(message)
|
||||||
defered = @q.defer()
|
defered = @q.defer()
|
||||||
|
|
||||||
# Assign event handlers
|
# Assign event handlers
|
||||||
@.el.on "click.confirm-dialog", "a.button-green", (event) =>
|
el.on "click.confirm-dialog", "a.button-green", (event) =>
|
||||||
event.preventDefault()
|
event.preventDefault()
|
||||||
defered.resolve()
|
defered.resolve()
|
||||||
@.hide()
|
@.hide(el)
|
||||||
|
|
||||||
@.el.on "click.confirm-dialog", "a.close", (event) =>
|
el.on "click.confirm-dialog", "a.close", (event) =>
|
||||||
event.preventDefault()
|
event.preventDefault()
|
||||||
defered.resolve()
|
defered.resolve()
|
||||||
@.hide()
|
@.hide(el)
|
||||||
|
|
||||||
@lightboxService.open(@.el)
|
@lightboxService.open(el)
|
||||||
|
|
||||||
return defered.promise
|
return defered.promise
|
||||||
|
|
||||||
|
@ -160,17 +159,17 @@ class ConfirmService extends taiga.Service
|
||||||
# Add default texts to NOTIFICATION_MSG for new notification types
|
# Add default texts to NOTIFICATION_MSG for new notification types
|
||||||
|
|
||||||
selector = ".notification-message-#{type}"
|
selector = ".notification-message-#{type}"
|
||||||
@.el = angular.element(selector)
|
el = angular.element(selector)
|
||||||
|
|
||||||
if title
|
if title
|
||||||
@.el.find("h4").html(title)
|
el.find("h4").html(title)
|
||||||
else
|
else
|
||||||
@.el.find("h4").html(NOTIFICATION_MSG[type].title)
|
el.find("h4").html(NOTIFICATION_MSG[type].title)
|
||||||
|
|
||||||
if message
|
if message
|
||||||
@.el.find("p").html(message)
|
el.find("p").html(message)
|
||||||
else
|
else
|
||||||
@.el.find("p").html(NOTIFICATION_MSG[type].message)
|
el.find("p").html(NOTIFICATION_MSG[type].message)
|
||||||
|
|
||||||
body = angular.element("body")
|
body = angular.element("body")
|
||||||
body.find(".notification-message .notification-light")
|
body.find(".notification-message .notification-light")
|
||||||
|
@ -193,7 +192,7 @@ class ConfirmService extends taiga.Service
|
||||||
|
|
||||||
delete @.tsem
|
delete @.tsem
|
||||||
|
|
||||||
@.el.on "click", ".icon-delete", (event) =>
|
el.on "click", ".icon-delete", (event) =>
|
||||||
body.find(selector)
|
body.find(selector)
|
||||||
.removeClass('active')
|
.removeClass('active')
|
||||||
.addClass('inactive')
|
.addClass('inactive')
|
||||||
|
|
Loading…
Reference in New Issue