UNPKG

soma.js

Version:

soma.js is a javascript framework created to build scalable and maintainable applications.

61 lines (50 loc) 1.4 kB
;(function(sniply, undefined) { 'use strict'; // package sniply.views = sniply.views || {}; var Manage = function (template, scope, dispatcher, snippetModel) { var editingSnippet; var editor = new CodeMirror($('.text-input', template.element)[0], { mode: "javascript", theme: "eclipse", lineNumbers: true, indentUnit: 4 }); scope.label = 'add'; dispatcher.addEventListener(sniply.events.ADD_SNIPPET, function(event) { editingSnippet = null; editor.setValue(''); scope.label = 'add'; template.render(); editor.refresh(); editor.focus(); }); dispatcher.addEventListener(sniply.events.EDIT_SNIPPET, function(event) { editingSnippet = event.params; editor.setValue(editingSnippet.text); scope.label = 'update'; template.render(); editor.refresh(); editor.focus(); }); scope.update = function() { var value = editor.getValue().trim(); if (value === '') { return; } if (!editingSnippet) { snippetModel.add(value); dispatcher.dispatch(sniply.events.SYNC); dispatcher.dispatch(sniply.events.SELECT_NAV, 'list'); } else { snippetModel.update(editingSnippet, value); dispatcher.dispatch(sniply.events.SYNC); dispatcher.dispatch(sniply.events.SELECT_NAV, 'list'); } }; template.render(); }; // exports sniply.views.Manage = Manage; })(window.sniply = window.sniply || {});