User new direct uploads controllers action on documentable. Skipped spec.
This commit is contained in:
@@ -63,8 +63,7 @@
|
||||
//= require followable
|
||||
//= require flaggable
|
||||
//= require documentable
|
||||
//= require imageable
|
||||
//= require direct_uploads
|
||||
// require imageable
|
||||
//= require tree_navigator
|
||||
//= require custom
|
||||
//= require tag_autocomplete
|
||||
@@ -107,7 +106,7 @@ var initialize_modules = function() {
|
||||
};
|
||||
|
||||
$(function(){
|
||||
Turbolinks.enableProgressBar()
|
||||
Turbolinks.enableProgressBar();
|
||||
|
||||
$(document).ready(initialize_modules);
|
||||
$(document).on('page:load', initialize_modules);
|
||||
|
||||
@@ -2,8 +2,66 @@ App.DirectUploads =
|
||||
|
||||
progressBarTemplate: '<div class="progress-bar"><div class="loading-bar uploading"></div></div>'
|
||||
|
||||
buildData: (e, data) ->
|
||||
initialize: ->
|
||||
inputFiles = $('input.direct_upload_attachment[type=file]')
|
||||
|
||||
$.each inputFiles, (index, input) ->
|
||||
App.DirectUploads.initializeDirectUploadInput(input)
|
||||
|
||||
initializeDirectUploadInput: (input) ->
|
||||
|
||||
$(input).fileupload
|
||||
|
||||
paramName: "attachment"
|
||||
|
||||
formData: null
|
||||
|
||||
add: (e, data) ->
|
||||
data = App.DirectUploads.buildFileUploadData(e, data)
|
||||
data.submit()
|
||||
|
||||
change: (e, data) ->
|
||||
$.each data.files, (index, file) ->
|
||||
App.DirectUploads.setFilename(data, file)
|
||||
|
||||
fail: (e, data) ->
|
||||
$(data.cachedAttachmentField).val("")
|
||||
App.DirectUploads.clearFilename(data)
|
||||
App.DirectUploads.setProgressBar(data, 'errors')
|
||||
App.DirectUploads.clearInputErrors(data)
|
||||
App.DirectUploads.setInputErrors(data)
|
||||
App.DirectUploads.clearPreview(data)
|
||||
$(data.destroyAttachmentLinkContainer).find("a.delete:not(.remove-nested)").remove()
|
||||
$(data.addAttachmentLabel).show()
|
||||
|
||||
done: (e, data) ->
|
||||
$(data.cachedAttachmentField).val(data.result.cached_attachment)
|
||||
App.DirectUploads.setTitleFromFile(data, data.result.filename)
|
||||
App.DirectUploads.setProgressBar(data, 'complete')
|
||||
App.DirectUploads.setFilename(data, data.result.filename)
|
||||
App.DirectUploads.clearInputErrors(data)
|
||||
|
||||
$(data.destroyAttachmentLinkContainer).html(data.result.destroy_link)
|
||||
data.destroyAttachmentLinkContainer = $(data.wrapper).find('.action-remove')
|
||||
$(data.addAttachmentLabel).hide()
|
||||
|
||||
App.DirectUploads.setPreview(data)
|
||||
|
||||
$(data.destroyAttachmentLinkContainer).on 'click', (e) ->
|
||||
e.preventDefault()
|
||||
e.stopPropagation()
|
||||
console.log data
|
||||
App.DirectUploads.doDeleteCachedAttachmentRequest(e, data)
|
||||
|
||||
|
||||
progress: (e, data) ->
|
||||
progress = parseInt(data.loaded / data.total * 100, 10)
|
||||
$(data.progressBar).find('.loading-bar').css 'width', progress + '%'
|
||||
return
|
||||
|
||||
buildFileUploadData: (e, data) ->
|
||||
wrapper = $(e.target).closest('.direct-upload')
|
||||
data.input = e.target
|
||||
data.wrapper = wrapper
|
||||
data.preview = $(wrapper).find('.image-preview')
|
||||
data.progressBar = $(wrapper).find('.progress-bar-placeholder').html(App.DirectUploads.progressBarTemplate)
|
||||
@@ -16,83 +74,67 @@ App.DirectUploads =
|
||||
$(wrapper).find('.progress-bar-placeholder').css('display', 'block')
|
||||
return data
|
||||
|
||||
remove_cached_attachment: (e, data) ->
|
||||
e.preventDefault()
|
||||
e.stopPropagation()
|
||||
clearFilename: (data) ->
|
||||
$(data.fileNameContainer).text('')
|
||||
$(data.fileNameContainer).hide()
|
||||
|
||||
clearInputErrors: (data) ->
|
||||
$(data.errorContainer).find('small.error').remove()
|
||||
|
||||
clearProgressBar: (data) ->
|
||||
$(data.progressBar).find('.loading-bar').removeClass('complete errors uploading').css('width', "0px").css('display', "none")
|
||||
|
||||
clearPreview: (data) ->
|
||||
$(data.wrapper).find('.image-preview').remove()
|
||||
|
||||
setFilename: (data, file_name) ->
|
||||
$(data.fileNameContainer).text(file_name)
|
||||
$(data.fileNameContainer).show()
|
||||
|
||||
setProgressBar: (data, klass) ->
|
||||
$(data.progressBar).find('.loading-bar').addClass(klass)
|
||||
|
||||
setTitleFromFile: (data, title) ->
|
||||
if $(data.titleField).val() == ""
|
||||
$(data.titleField).val(title)
|
||||
|
||||
setInputErrors: (data) ->
|
||||
errors = '<small class="error">' + data.jqXHR.responseJSON.errors + '</small>'
|
||||
$(data.errorContainer).append(errors)
|
||||
|
||||
setPreview: (data) ->
|
||||
if data.result.is_image
|
||||
image_preview = '<div class="small-12 column text-center image-preview"><figure><img src="' + data.result.attachment_url + '" class="cached-image"/></figure></div>'
|
||||
if $(data.preview).length > 0
|
||||
$(data.preview).replaceWith(image_preview)
|
||||
else
|
||||
$(image_preview).insertBefore($(data.wrapper).find(".attachment-actions"))
|
||||
data.preview = $(data.wrapper).find('.image-preview')
|
||||
|
||||
replaceWithNestedDestroyLink: (e, data) ->
|
||||
$(data.destroyAttachmentLinkContainer).find('a.delete').replaceWith('<a class="delete float-right remove-nested" href="#">Remove document</a>')
|
||||
$(data.destroyAttachmentLinkContainer).find('a.remove-nested').on 'click', (e) ->
|
||||
e.preventDefault()
|
||||
$(data.wrapper).remove()
|
||||
$(data.addAttachmentLabel).show()
|
||||
|
||||
doDeleteCachedAttachmentRequest: (e, data) ->
|
||||
$.ajax
|
||||
type: "POST"
|
||||
url: e.target.href
|
||||
dataType: "json"
|
||||
data: {"_method":"delete"}
|
||||
data: { "_method": "delete" }
|
||||
complete: ->
|
||||
console.log data
|
||||
$(data.cachedAttachmentField).val("")
|
||||
$(data.addAttachmentLabel).show()
|
||||
$(data.destroyAttachmentLinkContainer).find('a.delete').remove()
|
||||
$(data.fileNameContainer).text('')
|
||||
$(data.fileNameContainer).hide()
|
||||
$(data.errorContainer).find('small.error').remove()
|
||||
$(data.progressBar).find('.loading-bar').removeClass('complete errors uploading').css('width', "0px").css('display', "none")
|
||||
$(data.wrapper).find(".image-preview").remove()
|
||||
$(data.preview).html('')
|
||||
|
||||
initialize: ->
|
||||
console.log data
|
||||
App.DirectUploads.clearFilename(data)
|
||||
App.DirectUploads.clearInputErrors(data)
|
||||
App.DirectUploads.clearProgressBar(data)
|
||||
App.DirectUploads.clearPreview(data)
|
||||
|
||||
$('.action-remove a.delete').on 'click', (e) ->
|
||||
data = App.DirectUploads.buildData(e, [])
|
||||
App.DirectUploads.remove_cached_attachment(e, data)
|
||||
$(data.wrapper).find('small.error').remove()
|
||||
$(data.wrapper).find('label.error').removeClass('error')
|
||||
|
||||
$('input.direct_upload_attachment[type=file]').fileupload
|
||||
|
||||
paramName: "attachment"
|
||||
|
||||
formData: null
|
||||
|
||||
add: (e, data) ->
|
||||
data = App.DirectUploads.buildData(e, data)
|
||||
data.submit()
|
||||
|
||||
change: (e, data) ->
|
||||
$.each data.files, (index, file) ->
|
||||
$(e.target).closest('.direct-upload').find('p.file-name').text(file.name)
|
||||
$(e.target).closest('.direct-upload').find('p.file-name').show()
|
||||
|
||||
fail: (e, data) ->
|
||||
$(data.cachedAttachmentField).val("")
|
||||
$(data.progressBar).find('.loading-bar').addClass('errors')
|
||||
$(data.errorContainer).find('small.error').remove()
|
||||
$(data.errorContainer).append('<small class="error">' + data.jqXHR.responseJSON.errors + '</small>')
|
||||
$(data.fileNameContainer).text('')
|
||||
$(data.fileNameContainer).hide()
|
||||
$(data.destroyAttachmentLinkContainer).find("a.delete").remove()
|
||||
$(data.addAttachmentLabel).show()
|
||||
$(data.wrapper).find(".image-preview").remove()
|
||||
|
||||
done: (e, data) ->
|
||||
$(data.cachedAttachmentField).val(data.result.cached_attachment)
|
||||
if $(data.titleField).val() == ""
|
||||
$(data.titleField).val(data.result.filename)
|
||||
$(data.progressBar).find('.loading-bar').addClass('complete')
|
||||
$(data.fileNameContainer).text(data.result.filename)
|
||||
$(data.fileNameContainer).show()
|
||||
$(data.errorContainer).find('small.error').remove()
|
||||
$(data.destroyAttachmentLinkContainer).html(data.result.destroy_link)
|
||||
data.destroyAttachmentLinkContainer = $(data.wrapper).find('.action-remove')
|
||||
$(data.addAttachmentLabel).hide()
|
||||
if data.result.is_image
|
||||
image = '<div class="small-12 column text-center image-preview"><figure><img src="' + data.result.attachment_url + '" class="cached-image"/></figure></div>'
|
||||
if $('.image-preview').length > 0
|
||||
$('.image-preview').replaceWith(image)
|
||||
else
|
||||
$(image).insertBefore($(data.wrapper).find(".attachment-actions"))
|
||||
|
||||
$(data.destroyAttachmentLinkContainer).on 'click', (e) ->
|
||||
App.DirectUploads.remove_cached_attachment(e, data)
|
||||
|
||||
|
||||
progress: (e, data) ->
|
||||
progress = parseInt(data.loaded / data.total * 100, 10)
|
||||
$(data.progressBar).find('.loading-bar').css 'width', progress + '%'
|
||||
return
|
||||
if $(data.input).data('nested-image') == true
|
||||
App.DirectUploads.replaceWithNestedDestroyLink(e, data)
|
||||
else
|
||||
$(data.destroyAttachmentLinkContainer).find('a.delete').remove()
|
||||
@@ -1,92 +1,153 @@
|
||||
App.Documentable =
|
||||
|
||||
initialize: ->
|
||||
@initializeDirectUploads()
|
||||
@initializeInterface()
|
||||
inputFiles = $('input.js-document-attachment[type=file]')
|
||||
|
||||
initializeDirectUploads: ->
|
||||
$.each inputFiles, (index, input) ->
|
||||
App.Documentable.initializeDirectUploadInput(input)
|
||||
|
||||
$('input.js-document-attachment[type=file]').fileupload
|
||||
initializeDirectUploadInput: (input) ->
|
||||
|
||||
paramName: "direct_upload[attachment]"
|
||||
inputData = @buildData([], input)
|
||||
|
||||
@initializeRemoveDocumentLink(input)
|
||||
|
||||
@initializeRemoveCachedDocumentLink(input, inputData)
|
||||
|
||||
$(input).fileupload
|
||||
|
||||
paramName: "attachment"
|
||||
|
||||
formData: null
|
||||
|
||||
add: (e, data) ->
|
||||
wrapper = $(e.target).closest('.document')
|
||||
index = $(e.target).data('index')
|
||||
is_nested_document = $(e.target).data('nested-document')
|
||||
$(wrapper).find('.progress-bar-placeholder').empty()
|
||||
data.progressBar = $(wrapper).find('.progress-bar-placeholder').html('<div class="progress-bar"><div class="loading-bar uploading"></div></div>')
|
||||
$(wrapper).find('.progress-bar-placeholder').css('display','block')
|
||||
data.formData = {
|
||||
"direct_upload[title]": $(wrapper).find('inputdirect_upload-title').val() || data.files[0].name
|
||||
"index": index,
|
||||
"nested_document": is_nested_document
|
||||
}
|
||||
data = App.Documentable.buildFileUploadData(e, data)
|
||||
App.Documentable.clearProgressBar(data)
|
||||
App.Documentable.setProgressBar(data, 'uploading')
|
||||
data.submit()
|
||||
|
||||
change: (e, data) ->
|
||||
wrapper = $(e.target).parent()
|
||||
$.each(data.files, (index, file)->
|
||||
$(wrapper).find('.file-name').text(file.name)
|
||||
)
|
||||
$.each data.files, (index, file) ->
|
||||
App.Documentable.setFilename(data, file)
|
||||
|
||||
fail: (e, data) ->
|
||||
$(data.cachedAttachmentField).val("")
|
||||
App.Documentable.clearFilename(data)
|
||||
App.Documentable.setProgressBar(data, 'errors')
|
||||
App.Documentable.clearInputErrors(data)
|
||||
App.Documentable.setInputErrors(data)
|
||||
$(data.destroyAttachmentLinkContainer).find("a.delete:not(.remove-nested)").remove()
|
||||
$(data.addAttachmentLabel).show()
|
||||
|
||||
done: (e, data) ->
|
||||
$(data.cachedAttachmentField).val(data.result.cached_attachment)
|
||||
App.Documentable.setTitleFromFile(data, data.result.filename)
|
||||
App.Documentable.setProgressBar(data, 'complete')
|
||||
App.Documentable.setFilename(data, data.result.filename)
|
||||
App.Documentable.clearInputErrors(data)
|
||||
$(data.addAttachmentLabel).hide()
|
||||
|
||||
$(data.destroyAttachmentLinkContainer).html(data.result.destroy_link)
|
||||
data.destroyAttachmentLinkContainer = $(data.wrapper).find('.action-remove .remove-cached-attachment')
|
||||
$(data.destroyAttachmentLinkContainer).on 'click', (e) ->
|
||||
e.preventDefault()
|
||||
e.stopPropagation()
|
||||
App.Documentable.doDeleteCachedAttachmentRequest(this.href, data)
|
||||
|
||||
progress: (e, data) ->
|
||||
progress = parseInt(data.loaded / data.total * 100, 10)
|
||||
$(data.progressBar).find('.loading-bar').css 'width', progress + '%'
|
||||
return
|
||||
|
||||
initializeInterface: ->
|
||||
input_files = $('input.js-document-attachment[type=file]')
|
||||
buildFileUploadData: (e, data) ->
|
||||
data = @buildData(data, e.target)
|
||||
return data
|
||||
|
||||
$.each input_files, (index, file) ->
|
||||
wrapper = $(file).parent()
|
||||
App.Documentable.watchRemoveDocumentbutton(wrapper)
|
||||
buildData: (data, input) ->
|
||||
wrapper = $(input).closest('.direct-upload')
|
||||
data.input = input
|
||||
data.wrapper = wrapper
|
||||
data.progressBar = $(wrapper).find('.progress-bar-placeholder')
|
||||
data.errorContainer = $(wrapper).find('.attachment-errors')
|
||||
data.fileNameContainer = $(wrapper).find('p.file-name')
|
||||
data.destroyAttachmentLinkContainer = $(wrapper).find('.action-remove')
|
||||
data.addAttachmentLabel = $(wrapper).find('.action-add label')
|
||||
data.cachedAttachmentField = $(wrapper).find("#" + $(input).data('cached-attachment-input-field'))
|
||||
data.titleField = $(wrapper).find("#" + $(input).data('title-input-field'))
|
||||
$(wrapper).find('.progress-bar-placeholder').css('display', 'block')
|
||||
return data
|
||||
|
||||
watchRemoveDocumentbutton: (wrapper) ->
|
||||
remove_document_button = $(wrapper).find('.remove-document')
|
||||
$(remove_document_button).on 'click', (e) ->
|
||||
clearFilename: (data) ->
|
||||
$(data.fileNameContainer).text('')
|
||||
$(data.fileNameContainer).hide()
|
||||
|
||||
clearInputErrors: (data) ->
|
||||
$(data.errorContainer).find('small.error').remove()
|
||||
|
||||
clearProgressBar: (data) ->
|
||||
$(data.progressBar).find('.loading-bar').removeClass('complete errors uploading').css('width', "0px")
|
||||
|
||||
setFilename: (data, file_name) ->
|
||||
$(data.fileNameContainer).text(file_name)
|
||||
$(data.fileNameContainer).show()
|
||||
|
||||
setProgressBar: (data, klass) ->
|
||||
$(data.progressBar).find('.loading-bar').addClass(klass)
|
||||
|
||||
setTitleFromFile: (data, title) ->
|
||||
if $(data.titleField).val() == ""
|
||||
$(data.titleField).val(title)
|
||||
|
||||
setInputErrors: (data) ->
|
||||
errors = '<small class="error">' + data.jqXHR.responseJSON.errors + '</small>'
|
||||
$(data.errorContainer).append(errors)
|
||||
|
||||
doDeleteCachedAttachmentRequest: (url, data) ->
|
||||
$.ajax
|
||||
type: "POST"
|
||||
url: url
|
||||
dataType: "json"
|
||||
data: { "_method": "delete" }
|
||||
complete: ->
|
||||
$(data.cachedAttachmentField).val("")
|
||||
$(data.addAttachmentLabel).show()
|
||||
|
||||
App.Documentable.clearFilename(data)
|
||||
App.Documentable.clearInputErrors(data)
|
||||
App.Documentable.clearProgressBar(data)
|
||||
|
||||
if $(data.input).data('nested-document') == true
|
||||
$(data.wrapper).remove()
|
||||
$('#new_document_link').show()
|
||||
$('.max-documents-notice').hide()
|
||||
else
|
||||
$(data.destroyAttachmentLinkContainer).find('a.delete').remove()
|
||||
|
||||
initializeRemoveDocumentLink: (input) ->
|
||||
wrapper = $(input).closest(".direct-upload")
|
||||
remove_document_link = $(wrapper).find('a.remove-nested-field')
|
||||
$(remove_document_link).on 'click', (e) ->
|
||||
e.preventDefault()
|
||||
$(wrapper).remove()
|
||||
$('#new_document_link').show()
|
||||
$('.max-documents-notice').hide()
|
||||
|
||||
uploadNestedDocument: (id, nested_document, result) ->
|
||||
$('#' + id).replaceWith(nested_document)
|
||||
@updateLoadingBar(id, result)
|
||||
@initialize()
|
||||
initializeRemoveCachedDocumentLink: (input, data) ->
|
||||
wrapper = $(input).closest(".direct-upload")
|
||||
remove_document_link = $(wrapper).find('a.remove-cached-attachment')
|
||||
$(remove_document_link).on 'click', (e) ->
|
||||
e.preventDefault()
|
||||
e.stopPropagation()
|
||||
App.Documentable.doDeleteCachedAttachmentRequest(this.href, data)
|
||||
|
||||
uploadPlainDocument: (id, nested_document, result) ->
|
||||
$('#' + id).replaceWith(nested_document)
|
||||
@updateLoadingBar(id, result)
|
||||
@initialize()
|
||||
new: (nested_field) ->
|
||||
nested_field = $(nested_field)
|
||||
$(".documents-list").append(nested_field)
|
||||
input = nested_field.find("input[type='file']")
|
||||
@initializeDirectUploadInput(input)
|
||||
|
||||
updateLoadingBar: (id, result) ->
|
||||
if result
|
||||
$('#' + id).find('.loading-bar').addClass 'complete'
|
||||
else
|
||||
$('#' + id).find('.loading-bar').addClass 'errors'
|
||||
$('#' + id).find('.progress-bar-placeholder').css('display','block')
|
||||
|
||||
new: (nested_fields) ->
|
||||
$(".documents-list").append(nested_fields)
|
||||
@initialize()
|
||||
|
||||
destroyNestedDocument: (id, notice) ->
|
||||
destroyNestedDocument: (id) ->
|
||||
$('#' + id).remove()
|
||||
@updateNotice(notice)
|
||||
|
||||
replacePlainDocument: (id, notice, plain_document) ->
|
||||
$('#' + id).replaceWith(plain_document)
|
||||
@updateNotice(notice)
|
||||
@initialize()
|
||||
|
||||
updateNotice: (notice) ->
|
||||
if $('[data-alert]').length > 0
|
||||
$('[data-alert]').replaceWith(notice)
|
||||
else
|
||||
$("body").append(notice)
|
||||
|
||||
updateNewDocumentButton: (link) ->
|
||||
if $('.document').length >= $('.documents').data('max-documents')
|
||||
|
||||
@@ -1,56 +1,23 @@
|
||||
App.Imageable =
|
||||
|
||||
initialize: ->
|
||||
@initializeDirectUploads()
|
||||
@initializeInterface()
|
||||
|
||||
initializeDirectUploads: ->
|
||||
|
||||
$('input.image_ajax_attachment[type=file]').fileupload
|
||||
|
||||
paramName: "image[attachment]"
|
||||
|
||||
formData: null
|
||||
|
||||
add: (e, data) ->
|
||||
wrapper = $(e.target).closest('.image')
|
||||
index = $(e.target).data('index')
|
||||
is_nested_image = $(e.target).data('nested-image')
|
||||
$(wrapper).find('.progress-bar-placeholder').empty()
|
||||
data.progressBar = $(wrapper).find('.progress-bar-placeholder').html('<div class="progress-bar"><div class="loading-bar uploading"></div></div>')
|
||||
$(wrapper).find('.progress-bar-placeholder').css('display','block')
|
||||
data.formData = {
|
||||
"image[title]": $(wrapper).find('input.image-title').val() || data.files[0].name
|
||||
"index": index,
|
||||
"nested_image": is_nested_image
|
||||
}
|
||||
data.submit()
|
||||
|
||||
change: (e, data) ->
|
||||
wrapper = $(e.target).parent()
|
||||
$.each(data.files, (index, file)->
|
||||
$(wrapper).find('.file-name').text(file.name)
|
||||
)
|
||||
|
||||
progress: (e, data) ->
|
||||
progress = parseInt(data.loaded / data.total * 100, 10)
|
||||
$(data.progressBar).find('.loading-bar').css 'width', progress + '%'
|
||||
return
|
||||
|
||||
initializeInterface: ->
|
||||
input_files = $('input.image_ajax_attachment[type=file]')
|
||||
console.log 'App.Imageable initialize'
|
||||
input_files = $('input.direct_upload_attachment[type=file]')
|
||||
|
||||
$.each input_files, (index, file) ->
|
||||
wrapper = $(file).parent()
|
||||
wrapper = $(file).closest(".direct-upload")
|
||||
App.Imageable.watchRemoveImagebutton(wrapper)
|
||||
|
||||
$("#new_image_link").on 'click', ->
|
||||
$(this).hide()
|
||||
|
||||
watchRemoveImagebutton: (wrapper) ->
|
||||
remove_image_button = $(wrapper).find('.remove-image')
|
||||
console.log 'App.Imageable watchRemoveDocumentbutton'
|
||||
remove_image_button = $(wrapper).find('a.delete[href="#"]')
|
||||
$(remove_image_button).on 'click', (e) ->
|
||||
e.preventDefault()
|
||||
$(wrapper).remove()
|
||||
$('#new_image_link').show()
|
||||
$('.max-images-notice').hide()
|
||||
|
||||
uploadNestedImage: (id, nested_image, result) ->
|
||||
$('#' + id).replaceWith(nested_image)
|
||||
@@ -71,10 +38,12 @@ App.Imageable =
|
||||
|
||||
new: (nested_fields) ->
|
||||
$(".images-list").append(nested_fields)
|
||||
$("#new_image_link").hide()
|
||||
@initialize()
|
||||
|
||||
destroyNestedImage: (id, notice) ->
|
||||
$('#' + id).remove()
|
||||
$("#new_image_link").show()
|
||||
@updateNotice(notice)
|
||||
|
||||
replacePlainImage: (id, notice, plain_image) ->
|
||||
|
||||
@@ -29,7 +29,7 @@
|
||||
}
|
||||
|
||||
.js-document-attachment,
|
||||
input.direct_upload_attachment[type=file] {
|
||||
input.direct_upload_image_attachment[type=file] {
|
||||
display: none;
|
||||
}
|
||||
|
||||
@@ -48,12 +48,10 @@
|
||||
|
||||
&.complete {
|
||||
background-color: $success-color;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
&.errors {
|
||||
background-color: $alert-color;
|
||||
width: 100%;
|
||||
margin-top: $line-height / 2;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -29,7 +29,8 @@
|
||||
background-color: $light-gray;
|
||||
}
|
||||
|
||||
input.image_ajax_attachment[type=file],
|
||||
input.direct_upload_image_attachment[type=file],
|
||||
input.direct_upload_document_attachment[type=file],
|
||||
input.direct_upload_attachment[type=file] {
|
||||
display: none;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user