feature(edward) add on

This commit is contained in:
coderaiser 2015-01-23 08:22:15 -05:00
parent 302b7fa13e
commit c532a818b7
2 changed files with 40 additions and 4 deletions

View file

@ -1,4 +1,4 @@
var CloudCmd, Util, DOM, CloudFunc, MenuIO, edward;
var CloudCmd, Util, DOM, CloudFunc, MenuIO, Format, edward;
(function(CloudCmd, Util, DOM) {
'use strict';
@ -95,6 +95,11 @@ var CloudCmd, Util, DOM, CloudFunc, MenuIO, edward;
this.create = function(element) {
Element = element;
edward.on('save', function(value) {
var size = Format.size(value);
DOM.setCurrentSize(size);
});
edward.addCommand({
name : 'hide',
bindKey : { win: 'Esc', mac: 'Esc' },

View file

@ -1,4 +1,4 @@
var join, ace, load, Util, DOM, io, daffy, Format, restafary;
var join, ace, load, Util, DOM, io, daffy, restafary;
(function(global, join, DOM, exec, loadRemote) {
'use strict';
@ -22,6 +22,7 @@ var join, ace, load, Util, DOM, io, daffy, Format, restafary;
DIR = '/modules/',
Files = DOM.Files,
Emitter = new Events(),
Storage = DOM.Storage,
MAX_FILE_SIZE = 512000,
@ -120,6 +121,11 @@ var join, ace, load, Util, DOM, io, daffy, Format, restafary;
return Ace.getValue();
};
edward.on = function(event, fn) {
Emitter.on(event, fn);
return edward;
};
edward.isChanged = function() {
var is,
value = edward.getValue(),
@ -309,7 +315,6 @@ var join, ace, load, Util, DOM, io, daffy, Format, restafary;
}
function onSave(error, text) {
var ret,
size = Format.size(Value.length),
msg = '\nShould I save file anyway?';
if (error) {
@ -327,7 +332,7 @@ var join, ace, load, Util, DOM, io, daffy, Format, restafary;
DOM.saveDataToStorage(FileName, Value, hash);
});
DOM.setCurrentSize(size);
Emitter._emit('save', Value.length);
}
}
@ -589,6 +594,32 @@ var join, ace, load, Util, DOM, io, daffy, Format, restafary;
document.body.appendChild(element);
}
function Events() {
this._all = {};
}
Events.prototype.on = function(event, callback) {
var funcs = this._all[event];
if (funcs)
funcs.push(callback);
else
this._all[event] = [callback];
return this;
};
Events.prototype._emit = function(event, data) {
var funcs = this._all[event];
if (funcs)
funcs.forEach(function(fn) {
fn(data);
});
else if (event === 'error')
throw data;
};
return edward;
}