class AjaxCatList constructor: -> $('#new-translation-modal').hide() $('#new-translation').on('click',@new_translation) $('#create-new-translation').on('click',@create_new_translation) @show_translations() $(".example").click( (event) => text = $(event.currentTarget).data("text") $('#new-translation-text').val(text) return false ) new_translation: => $('#new-translation-name').val('Name') $('#new-translation-text').val('') $('#new-translation-modal').modal('show') $('#new-translation-text').focus() show_translations: => $("#translation-list").html('') return unless localStorage['ac-data'] ids = JSON.parse(localStorage['ac-data']) for i in ids doc = JSON.parse(localStorage[i]) $("#translation-list").append("#{doc.name}") $(".delete-button").click( (event) => id = $(event.currentTarget).data("id") if confirm("Delete this translation?") @delete_document(id) @show_translations() ) delete_document: (id) => return unless localStorage['ac-data'] ids = JSON.parse(localStorage['ac-data']) new_ids = [] for i in ids new_ids.push(i) unless i == id localStorage.removeItem(id) localStorage.setItem('ac-data', JSON.stringify(new_ids)) create_new_translation: => text = $('#new-translation-text').val() if localStorage['ac-data'] docs = JSON.parse(localStorage['ac-data']) else docs = [] doc = {} doc.id = Utils.random_string() doc['name'] = $('#new-translation-name').val() doc['pair'] = $('#new-translation-pair').val() doc.source = Utils.split_source(text) doc.target = new Array(doc.source.length) docs.push(doc.id) localStorage.setItem('ac-data', JSON.stringify(docs)) localStorage.setItem(doc.id, JSON.stringify(doc)) $('#new-translation-modal').modal('hide') @show_translations()