mirror of
https://github.com/Retrospring/retrospring.git
synced 2025-03-31 04:52:12 +02:00
we are now making AJAX requests
This commit is contained in:
parent
f7f71e9cc9
commit
b65c60ea76
5 changed files with 61 additions and 42 deletions
|
@ -1,41 +0,0 @@
|
||||||
#= require jquery
|
|
||||||
#= require jquery_ujs
|
|
||||||
#= require turbolinks
|
|
||||||
#= require bootstrap
|
|
||||||
#= require bootstrap-material-design
|
|
||||||
#= require nprogress
|
|
||||||
#= require nprogress-turbolinks
|
|
||||||
#= require_tree .
|
|
||||||
|
|
||||||
NProgress.configure
|
|
||||||
showSpinner: false
|
|
||||||
|
|
||||||
$(document).on "click", "button[name=qb-ask]", ->
|
|
||||||
btn = $(this)
|
|
||||||
btn.button "loading"
|
|
||||||
promote = btn[0].dataset.promote == "true"
|
|
||||||
$("textarea[name=qb-question]").attr "readonly", "readonly"
|
|
||||||
anonymousQuestion = if $("input[name=qb-anonymous]")[0] != undefined
|
|
||||||
$("input[name=qb-anonymous]")[0].checked
|
|
||||||
else
|
|
||||||
true
|
|
||||||
console.log "some AJAX magic should happen here!"
|
|
||||||
btn.button "reset"
|
|
||||||
$("textarea[name=qb-question]").removeAttr "readonly"
|
|
||||||
if true # data.success
|
|
||||||
$("textarea[name=qb-question]").val ''
|
|
||||||
if promote
|
|
||||||
$("div#question-box").hide()
|
|
||||||
$("div#question-box-promote").show()
|
|
||||||
else
|
|
||||||
$.snackbar # allahu snackbar
|
|
||||||
content: "Successfully asked question"
|
|
||||||
style: "snackbar"
|
|
||||||
timeout: 5000
|
|
||||||
|
|
||||||
$(document).on "click", "button#create-account", ->
|
|
||||||
Turbolinks.visit "/sign_up"
|
|
||||||
|
|
||||||
$(document).on "click", "button#new-question", ->
|
|
||||||
$("div#question-box").show()
|
|
||||||
$("div#question-box-promote").hide()
|
|
59
app/assets/javascripts/application.js.erb.coffee
Normal file
59
app/assets/javascripts/application.js.erb.coffee
Normal file
|
@ -0,0 +1,59 @@
|
||||||
|
#= require jquery
|
||||||
|
#= require jquery_ujs
|
||||||
|
#= require turbolinks
|
||||||
|
#= require bootstrap
|
||||||
|
#= require bootstrap-material-design
|
||||||
|
#= require nprogress
|
||||||
|
#= require nprogress-turbolinks
|
||||||
|
#= require_tree .
|
||||||
|
|
||||||
|
NProgress.configure
|
||||||
|
showSpinner: false
|
||||||
|
|
||||||
|
$(document).on "click", "button[name=qb-ask]", ->
|
||||||
|
btn = $(this)
|
||||||
|
btn.button "loading"
|
||||||
|
promote = btn[0].dataset.promote == "true"
|
||||||
|
$("textarea[name=qb-question]").attr "readonly", "readonly"
|
||||||
|
anonymousQuestion = if $("input[name=qb-anonymous]")[0] != undefined
|
||||||
|
$("input[name=qb-anonymous]")[0].checked
|
||||||
|
else
|
||||||
|
true
|
||||||
|
$.ajax
|
||||||
|
url: '/ajax/ask' # TODO: find a way to use rake routes instead of hardcoding them here
|
||||||
|
data:
|
||||||
|
rcpt: $("input[name=qb-to]").val()
|
||||||
|
question: $("textarea[name=qb-question]").val()
|
||||||
|
anonymousQuestion: anonymousQuestion
|
||||||
|
success: (data, status, jqxhr) ->
|
||||||
|
if data.success
|
||||||
|
$("textarea[name=qb-question]").val ''
|
||||||
|
if promote
|
||||||
|
$("div#question-box").hide()
|
||||||
|
$("div#question-box-promote").show()
|
||||||
|
$.snackbar # allahu snackbar
|
||||||
|
content: "Successfully asked question"
|
||||||
|
style: "snackbar"
|
||||||
|
timeout: 5000
|
||||||
|
else
|
||||||
|
console.log data, status, jqxhr
|
||||||
|
$.snackbar # allahu snackbar
|
||||||
|
content: "An error occurred, a developer should check the console for details"
|
||||||
|
style: "snackbar"
|
||||||
|
timeout: 5000
|
||||||
|
error: (jqxhr, status, error) ->
|
||||||
|
console.log jqxhr, status, error
|
||||||
|
$.snackbar # allahu snackbar
|
||||||
|
content: "An error occurred, a developer should check the console for details"
|
||||||
|
style: "snackbar"
|
||||||
|
timeout: 5000
|
||||||
|
complete: (jqxhr, status) ->
|
||||||
|
btn.button "reset"
|
||||||
|
$("textarea[name=qb-question]").removeAttr "readonly"
|
||||||
|
|
||||||
|
$(document).on "click", "button#create-account", ->
|
||||||
|
Turbolinks.visit "/sign_up"
|
||||||
|
|
||||||
|
$(document).on "click", "button#new-question", ->
|
||||||
|
$("div#question-box").show()
|
||||||
|
$("div#question-box-promote").hide()
|
|
@ -10,5 +10,6 @@ body { padding-top: $navbar-height; }
|
||||||
|
|
||||||
@import "font-awesome";
|
@import "font-awesome";
|
||||||
|
|
||||||
|
$nprogress-color: #666; /* hail stan */
|
||||||
@import 'nprogress';
|
@import 'nprogress';
|
||||||
@import 'nprogress-bootstrap';
|
@import 'nprogress-bootstrap';
|
|
@ -24,7 +24,7 @@ Rails.application.routes.draw do
|
||||||
match '/settings/profile', to: 'user#update', via: 'patch', as: :update_user_profile
|
match '/settings/profile', to: 'user#update', via: 'patch', as: :update_user_profile
|
||||||
|
|
||||||
namespace :ajax do
|
namespace :ajax do
|
||||||
match '/ask', to: 'ajax#ask', via: :post, as: :ajax_ask
|
match '/ask', to: 'ajax#ask', via: :post, as: :ask
|
||||||
end
|
end
|
||||||
|
|
||||||
match '/user/:username', to: 'user#show', via: 'get'
|
match '/user/:username', to: 'user#show', via: 'get'
|
||||||
|
|
Loading…
Reference in a new issue