{"version":3,"sources":["questions/question_model.js","questions/questions_model.js","questions/single-answer/question-single-answer-form-answer_view.js","questions/single-answer/question-single-answer-form_view.js","app.js","custom-table.js","answer.js","categorize.js","counter.js","editor.js","expandable.js","input-tags.js"],"names":["window","Question","Backbone","Model","extend","Questions","model","QuestionSingleAnswerFormAnswerView","View","className","template","_","events","click","click .answer-radio","click .btn-remove","change textarea","focus textarea","initialize","this","on","render","$el","html","toJSON","activate","event","$","removeClass","addClass","scroll","view","width","stop","animate","scrollTop","offset","top","setCorrect","closest","find","val","get","set","correct","setValue","value","target","delete","trigger","QuestionSingleAnswerFormView","el","letters","answers","click .btn-add-answer","addOneAnswer","floatingBoxes","$answers","children","detach","forEach","answerView","append","letter","length","index","answerItemView","listenTo","uncorrectAll","deleteAnswer","push","isLimitReached","focus","stopListening","disabled","prop","toggleClass","currentView","splice","remove","finish","reorderAnswers","$floating","$window","marginTop","css","document","ready","question","undefined","Plugin","element","options","settings","defaults","_defaults","_name","pluginName","init","name","prototype","bindEvents","toggleSelectAll","$plugin","each","selector","eventFunction","eventType","split","selectorFiltered","slice","join","scope","change thead tr input[type=checkbox]:first","stateNew","change tbody tr td:first-child input[type=checkbox]:first-child","$table","$thead","$tbody","filter","click tbody tr","fn","data","jQuery","ajaxSetup","cache","getScript","FB","appId","version","login","FBstatusChange","popover","response","status","api","social_id","id","social_network","ajax","url","dataType","type","user","done","cookie","email","token","fail","e","msg","rangeslider","polyfill","customTable","$counters","parents","total","stotal","text","$this","maxlength","tagName","toLowerCase","valueHtml","substring","selectize","plugins","delimiter","persist","create","input","option_create","escape","maxItems","sortField"],"mappings":"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","file":"app.min.js","sourcesContent":["window.Question = Backbone.Model.extend({\n\n});","window.Questions = Backbone.Model.extend({\n\tmodel: Question\n});\n","window.QuestionSingleAnswerFormAnswerView = Backbone.View.extend({\n\tclassName: 'answer-new',\n\ttemplate: _.template(`\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t
<%= letter %>
\n\t\t\t\t\t
\">
\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t
\n\t\t\t
Remover
\n\t`),\n\n\tevents: {\n\t\t'click' : 'activate',\n\t\t'click .answer-radio' : 'setCorrect',\n\t\t'click .btn-remove' : 'delete',\n\t\t'change textarea' \t\t: 'setValue',\n\t\t'focus textarea' \t\t : 'scroll'\n\t},\n\n\tinitialize: function () {\n\t\tthis.model.on('change', this.render, this);\n\t},\n\n\trender: function () {\n\t\tthis.$el.html(this.template(this.model.toJSON()));\n\t\treturn this;\n\t},\n\n\tactivate: function (event) {\n\t\t$('.answer-new').removeClass('active');\n\t\tthis.$el.addClass('active');\n\n\t\treturn this;\n\t},\n\n\tscroll: function () {\n\t\tvar view = this;\n\n\t\tif($(window).width() >= 769) {\n\t\t\t$('html, body').stop().animate({\n\t\t\t\tscrollTop: view.$el.offset().top - 50\n\t\t\t}, 400);\n\t\t}\n\t},\n\n\tsetCorrect: function (event) {\n\t\tthis.$el.closest('form').find('input[name=alternative_answer]').val(this.model.get('index'));\n\t\tthis.model.set({ correct: true });\n\t},\n\n\tsetValue: function (event) {\n\t\tthis.model.set({ value : $(event.target).val() });\n\t},\n\n\tdelete: function () {\n\t\tthis.$el.closest('form').find('input[name=alternative_answer]').val('');\n\t\tthis.model.trigger('d', this.model);\n\t}\n\n});\t","window.QuestionSingleAnswerFormView = Backbone.View.extend({\n\n\tel: '.answers',\n\tletters: ['A','B','C','D','E','F','G','H','I','J'],\n\tanswers: [],\n\tevents: {\n\t\t'click .btn-add-answer': 'addOneAnswer'\n\t},\n\n\tinitialize: function () {\n\t\tthis.render();\n\t\tthis.addOneAnswer().setCorrect();\n\t\tthis.addOneAnswer();\n\n\t\tthis.floatingBoxes();\n\t},\n\n\trender: function () {\n\t\tvar $answers = this.$el;\n\n\t\t$answers.find('.answer-items').children().detach();\n\n\t\tthis.answers.forEach(function(answerView){\n\t\t\t$answers.find('.asnwers-items').append(answerView.render().el);\n\t\t});\n\t},\n\n\t/*\n\t* Adiciona uma nova resposta ao formulário\n\t*/\n\taddOneAnswer: function (event, correct) {\n\n\t\tvar model = new Backbone.Model({\n\t\t\tletter: this.letters[this.answers.length],\n\t\t\tindex: this.answers.length+1,\n\t\t\tcorrect: ((correct) ? true : false),\n\t\t\tvalue: ''\n\t\t});\n\n\t\tvar answerItemView = new QuestionSingleAnswerFormAnswerView({\n\t\t\tmodel: model\n\t\t});\n\n\t\t// Callback no model para atualizar as demais respostas\n\t\tthis.listenTo(model, 'change:correct', this.uncorrectAll);\n\t\tthis.listenTo(model, 'd', this.deleteAnswer);\n\n\t\tthis.$el.find('.answer-items').append(answerItemView.render().el);\n\n\t\tthis.answers.push(answerItemView);\n\n\t\tthis.isLimitReached();\n\n\t\tif(event)\n\t\t\tanswerItemView.activate().$el.find('textarea').focus();\n\n\t\treturn answerItemView;\n\t},\n\n\t/*\n\t* Desativa todas os as opcões não corretas\n\t*/\n\tuncorrectAll : function (model) {\n\t\tvar view = this;\n\n\t\tthis.answers.forEach(function (answerView) {\n\t\t\t\n\t\t\tif(answerView.model === model) \n\t\t\t\treturn;\n\n\t\t\t// Limpa o listener temporariamente para atualizar o modelo\n\t\t\tview.stopListening(answerView.model, 'change:correct');\n\n\t\t\t// Atualiza o modelo\n\t\t\tanswerView.model.set({ correct: false });\n\n\t\t\t// Adiciona novamente o listener\n\t\t\tview.listenTo(answerView.model, 'change:correct', view.uncorrectAll);\n\n\t\t});\n\t},\n\n\t/*\n\t* Ativa/desativa o botão de adicionar novas respostas\n\t*/\n\tisLimitReached: function () {\n\t\tvar disabled = (this.answers.length >= this.letters.length) ? true: false;\n\t\t\n\t\tthis.$el.find('.btn-add-answer')\n\t\t\t.prop('disabled', disabled)\n\t\t\t.toggleClass('disabled', disabled);\n\n\t\treturn disabled;\n\t},\n\n\t/*\n\t* Remove uma view do array\n\t*/\n\tdeleteAnswer: function (model) {\n\t\tvar view = this;\n\t\tthis.answers.forEach(function (answerView, index) {\n\t\t\tif(answerView.model === model) {\n\t\t\t\tvar currentView = view.answers.splice(index,1)[0];\n\t\t\t\tcurrentView.remove();\n\t\t\t}\n\t\t});\n\n\t\t$('body, html').animate().finish();\n\n\t\tthis.reorderAnswers();\n\n\t\tthis.isLimitReached();\n\t},\n\n\t/*\n\t* Reseta as letras para ordenar de acordo com o array.\n\t*/\n\treorderAnswers: function () {\n\t\tvar view = this;\n\n\t\tthis.answers.forEach(function (answerView, index) {\n\t\t\tanswerView.model.set({ \n\t\t\t\tletter: view.letters[index],\n\t\t\t\tindex: index+1\n\t\t\t});\n\t\t});\n\t},\n\n\t/*\n\t* Scrolla o box da questão para seguir o scroll da página do desktop\n\t*/\n\tfloatingBoxes: function () {\n\t\tvar $floating = $('.floating-question');\n\t\tvar $window = $(window);\n\t\t\n\t\tvar offset = $floating.offset();\n\n\t\t$window.scroll(function () {\n\t\t\tif($window.width() > 769) {\n\n\t\t\t\tif($window.scrollTop() > offset.top) {\n\t\t\t\t\t$floating.stop().animate({\n\t\t\t\t\t\tmarginTop: $window.scrollTop() - offset.top + 50\n\t\t\t\t\t});\n\t\t\t\t} else {\n\t\t\t\t\t$floating.stop().animate({\n\t\t\t\t\t\tmarginTop: 0\n\t\t\t\t\t});\n\t\t\t\t}\n\n\t\t\t} else {\n\t\t\t\t\t$floating.stop().css({\n\t\t\t\t\t\tmarginTop: 0\n\t\t\t\t\t});\n\t\t\t}\n\t\t});\n\t}\n\n});","\n$(document).ready(function() {\n $.ajaxSetup({ cache: true });\n $.getScript('//connect.facebook.net/en_US/sdk.js', function(){\n FB.init({\n appId: '694758037343441',\n version: 'v2.7'\n }); \n\n $('#login-facebook').click(function () {\n\t FB.login(FBstatusChange, {scope: 'email,user_birthday'});\n });\n });\n\n // Toggle popover qu\n $('[data-hover=popover]').on('mouseenter', function () {\n \t$(this).popover('show');\n }).on('mouseleave', function () {\n \t$(this).popover('hide');\n })\n});\n\nvar FBstatusChange = function (response) {\n\tif(response.status === 'connected') {\n\t\tFB.api('/me?fields=email,name,first_name,last_name,gender,birthday', function (response) {\n\t\t\tresponse.social_id = response.id;\n\t\t\tresponse.social_network = 'facebook';\n\t\t\tdelete response.id;\n\n\t\t\t$.ajax({\n\t\t\t\turl: 'http://localhost:3000/user/authenticate',\n\t\t\t\tdataType: 'json',\n\t\t\t\ttype: 'POST',\n\t\t\t\tdata: { user: response },\n\t\t\t}) \n\t\t\t.done(function (data) {\n\t\t\t\t$.cookie('user:email' , data.email);\n\t\t\t\t$.cookie('user:id' , data.id);\n\t\t\t\t$.cookie('user:token' , data.token);\n\t\t\t})\n\t\t\t.fail(function(e, msg){\n\t\t\t});\n\n\t\t});\n\t}\n}\n\n$(document).ready(function () {\n\t$('input[type=range]').rangeslider({polyfill: false});\n\t\n\t// Custom\n\tvar customTable = $('table.table-custom');\n\tif(customTable.length)\n\t\tcustomTable.customTable();\n});\n","/*\n * \n * Plugin de oragnização das tabelas do provas\n * http://jqueryboilerplate.com\n *\n * Made by Renan Azevedo\n */\n// the semi-colon before function invocation is a safety net against concatenated\n// scripts and/or other plugins which may not be closed properly.\n;( function( $, window, document, undefined ) {\n\n\t\"use strict\";\n\n\t\t// undefined is used here as the undefined global variable in ECMAScript 3 is\n\t\t// mutable (ie. it can be changed by someone else). undefined isn't really being\n\t\t// passed in so we can ensure the value of it is truly undefined. In ES5, undefined\n\t\t// can no longer be modified.\n\n\t\t// window and document are passed through as local variable rather than global\n\t\t// as this (slightly) quickens the resolution process and can be more efficiently\n\t\t// minified (especially when both are regularly referenced in your plugin).\n\n\t\t// Create the defaults once\n\t\tvar pluginName = \"customTable\",\n\t\t\tdefaults = {\n\t\t\t\t'name': 'renan'\n\t\t\t};\n\n\t\t// The actual plugin constructor\n\t\tfunction Plugin ( element, options ) {\n\t\t\tthis.element = element;\n\n\t\t\t// jQuery has an extend method which merges the contents of two or\n\t\t\t// more objects, storing the result in the first object. The first object\n\t\t\t// is generally empty as we don't want to alter the default options for\n\t\t\t// future instances of the plugin\n\t\t\tthis.settings = $.extend( {}, defaults, options );\n\t\t\tthis._defaults = defaults;\n\t\t\tthis._name = pluginName;\n\n\t\t\tthis.$ = $(this.element);\n\n\t\t\tthis.init();\n\t\t}\n\n\t\t// Avoid Plugin.prototype conflicts\n\t\t$.extend( Plugin.prototype, {\n\t\t\tinit: function() {\n\t\t\t\tthis.bindEvents();\n\t\t\t},\n\t\t\ttoggleSelectAll: function () {\n\t\t\t},\n\t\t\tbindEvents: function () {\n\n\t\t\t\tvar $plugin = this.$;\n\n\t\t\t\t$.each(this.events, function (selector, eventFunction) {\n\t\t\t\t\tvar eventType = selector.split(' ')[0];\n\t\t\t\t\tvar selectorFiltered = selector.split(' ').slice(1).join(' ');\n\n\t\t\t\t\t$plugin.find(selectorFiltered).on(eventType, { scope: $plugin }, eventFunction );\n\t\t\t\t});\n\n\t\t\t},\n\t\t\tevents: {\n\t\t\t\t'change thead tr input[type=checkbox]:first': function (event) {\n\t\t\t\t\tvar stateNew = $(this).prop('checked');\n\t\t\t\t\t\n\t\t\t\t\t$(this).closest('table').find('tbody tr td:first-child input[type=checkbox]').prop('checked', stateNew);\n\t\t\t\t},\n\t\t\t\t'change tbody tr td:first-child input[type=checkbox]:first-child': function () {\n\t\t\t\t\tvar $table = $(this).closest('table');\n\t\t\t\t\tvar $thead = $table.find('thead tr input[type=checkbox]:first');\n\t\t\t\t\tvar $tbody = $table.find('tbody tr td:first-child input[type=checkbox]:first-child');\n\t\t\t\t\tif($tbody.filter(':checked').length == $table.find('tbody tr').length)\n\t\t\t\t\t\t$($thead).prop('checked', true);\n\t\t\t\t\telse\n\t\t\t\t\t\t$($thead).prop('checked', false);\n\n\t\t\t\t},\n\t\t\t\t'click tbody tr': function () {\n\t\t\t\t\t$(this).find('td:first input[type=checkbox]').click();\n\t\t\t\t}\n\t\t\t}\n\t\t} );\n\n\t\t// A really lightweight plugin wrapper around the constructor,\n\t\t// preventing against multiple instantiations\n\t\t$.fn[ pluginName ] = function( options ) {\n\t\t\treturn this.each( function() {\n\t\t\t\tif ( !$.data( this, \"plugin_\" + pluginName ) ) {\n\t\t\t\t\t$.data( this, \"plugin_\" +\n\t\t\t\t\t\tpluginName, new Plugin( this, options ) );\n\t\t\t\t}\n\t\t\t} );\n\t\t};\n\n} )( jQuery, window, document );","$(document).ready(function(){\n\t// Event:\n\t// $('.answer-new').click(function(){\n\t// \t$('.answer-new').removeClass('active');\n\t// \t$(this).addClass('active');\n\t// });\n\t\n\t// // Event:\n\t// $('.answer-radio').click(function(){\n\t// \t$('.answer-radio.correct').removeClass('correct');\n\t// \t$(this).addClass('correct');\n\t// });\n\n\t// // Event:\t\n\t// $('.btn-add-answer').click(function(){\n\t// \t$(\".answer-collection\").append('
A
');\n\t// });\n\n\n});\n","$(document).ready(function () {\n\t$('[data-count=checkbox] input[type=checkbox]').on('change', function () {\n\t\tvar $counters = $($(this).parents('[data-count=checkbox]'));\n\t\t\n\t\t$counters.each(function () {\n\t\t\tvar total = $(this).find('input[type=checkbox]:checked').length;\n\t\t\tvar stotal = (total > 0) ? total : '';\n\t\t\t$($(this).data('target')).text(stotal);\n\t\t});\n\n\t});\n\n});\n\n","$(document).ready(function(){\n\t$('[maxlength], [data-maxlength]').each(function(){\n\t\tvar $this = $(this);\n\t\t\n\t\tvar maxlength = $this.prop('maxlength') || $this.data('maxlength') || null;\n\t\tvar target = $this.data('target');\n\t\tvar type = null;\n\n\t\tswitch($this.get(0).tagName.toLowerCase()) {\n\t\t\tcase 'input':\n\t\t\tcase 'textarea':\n\t\t\t\ttype = 'input'; break;\n\t\t\tdefault:\n\t\t\t\ttype = 'div'; break;\n\t\t}\n\n\t\tvar value = (type === 'input' ) ? $this.val(): $this.text();\n\n\t\t// Init:\n\t\t// Pré carrega de acordo com o conteúdo do campo\n\t\tif(target && maxlength) {\n\t\t\t$(target).text( (value.length || 0)+'/'+maxlength );\n\t\t} else {\n\t\t\t$(target).remove();\n\t\t}\n\n\t\t// Event:\n\t\t// Se possui maxlength, conta e atualiza o target determinado e/ou \n\t\t// limita os caracteres.\n\t\t$(this).on('keyup', function(){\n\t\t\tvar value, valueHtml;\n\n\t\t\tif(type === 'input') {\n\t\t\t\tvalue = $this.val() \n\t\t\t}else {\n\t\t\t\tvalue = $this.text();\n\t\t\t\tvalueHtml = $this.html();\n\t\t\t}\n\n\t\t\tif(value.length > maxlength) {\n\t\t\t\t(type === 'input') ? $this.val(value.substring(0, maxlength)) : $this.html(valueHtml.substring(0, maxlength))\n\t\t\t}\n\n\t\t\tif(target && maxlength){\n\t\t\t\t$(target).text( (value.length || 0)+'/'+maxlength );\n\t\t\t}\n\n\t\t})\n\n\t});\n});\n\n","// $(document).ready(function () {\n// \tCKEDITOR.inline();\n// });","$(document).ready(function () {\n\t$('.expandable').on('click', function () {\n\t\t$(this).toggleClass('opened');\n\t})\n});","$(document).ready(function () {\n\t$('.input-tags').selectize({\n\t\t\tplugins: ['remove_button'],\n\t\t\tdelimiter: ',',\n\t\t\tpersist: false,\n\t\t\tcreate: function(input) {\n\t\t\t return {\n\t\t\t value: input,\n\t\t\t text: input\n\t\t\t }\n\t\t\t},\n\t\t\trender : {\n\t\t\t\t'option_create': function(data, escape) {\n\t\t\t\t\treturn '
Adicionar ' + escape(data.input) + '
';\n\t\t\t\t},\n\t\t\t}\n\t});\n\n\t$('.multiple-select').selectize({\n\t\tplugins: ['remove_button'],\n\t\tmaxItems: 10\n\t});\n\n\t$('.single-select').selectize({\n\t\tcreate: false,\n\t\tsortField: 'text'\n\t})\n\t\n});"],"sourceRoot":"/source/"}