aboutsummaryrefslogtreecommitdiffstats
path: root/web/src/js/stores
diff options
context:
space:
mode:
authorMaximilian Hils <git@maximilianhils.com>2014-09-16 00:56:43 +0200
committerMaximilian Hils <git@maximilianhils.com>2014-09-16 00:56:43 +0200
commit674bc4273e9a2f1a2e41ef977a80219423c7cb51 (patch)
treeb343902da8a0de10f075c46c75f8ad135bc23192 /web/src/js/stores
parentacdd182754625fabcfc2c6ed4bdad8a63bce8ad6 (diff)
downloadmitmproxy-674bc4273e9a2f1a2e41ef977a80219423c7cb51.tar.gz
mitmproxy-674bc4273e9a2f1a2e41ef977a80219423c7cb51.tar.bz2
mitmproxy-674bc4273e9a2f1a2e41ef977a80219423c7cb51.zip
format javascript
Diffstat (limited to 'web/src/js/stores')
-rw-r--r--web/src/js/stores/EventLogStore.es6.js129
-rw-r--r--web/src/js/stores/SettingsStore.es6.js41
-rw-r--r--web/src/js/stores/base.es6.js48
3 files changed, 120 insertions, 98 deletions
diff --git a/web/src/js/stores/EventLogStore.es6.js b/web/src/js/stores/EventLogStore.es6.js
index 55401690..e470f44f 100644
--- a/web/src/js/stores/EventLogStore.es6.js
+++ b/web/src/js/stores/EventLogStore.es6.js
@@ -1,67 +1,84 @@
-class EventLogView extends EventEmitter {
- constructor(store, live){
- super();
- this._store = store;
- this.live = live;
- this.log = [];
+//
+// We have an EventLogView and an EventLogStore:
+// The basic architecture is that one can request views on the event log
+// from the store, which returns a view object and then deals with getting the data required for the view.
+// The view object is accessed by React components and distributes updates etc.
+//
+// See also: components/EventLog.react.js
- this.add = this.add.bind(this);
+class EventLogView extends EventEmitter {
+ constructor(store, live) {
+ super();
+ this._store = store;
+ this.live = live;
+ this.log = [];
- if(live){
- this._store.addListener("new_entry", this.add);
- }
-
- }
- close() {
- this._store.removeListener("new_entry", this.add);
- }
- getAll() {
- return this.log;
- }
+ this.add = this.add.bind(this);
- add(entry){
- this.log.push(entry);
- this.emit("change");
- }
- add_bulk(messages){
- var log = messages;
- var last_id = log[log.length-1].id;
- var to_add = _.filter(this.log, entry => entry.id > last_id);
- this.log = log.concat(to_add);
- this.emit("change");
- }
+ if (live) {
+ this._store.addListener("new_entry", this.add);
+ }
+ }
+ close() {
+ this._store.removeListener("new_entry", this.add);
+ }
+ getAll() {
+ return this.log;
+ }
+ add(entry) {
+ this.log.push(entry);
+ this.emit("change");
+ }
+ add_bulk(messages) {
+ var log = messages;
+ var last_id = log[log.length - 1].id;
+ var to_add = _.filter(this.log, entry => entry.id > last_id);
+ this.log = log.concat(to_add);
+ this.emit("change");
+ }
}
class _EventLogStore extends EventEmitter {
- getView(since){
- var view = new EventLogView(this, !since);
-
- //TODO: Really do bulk retrieval of last messages.
+ getView(since) {
+ var view = new EventLogView(this, !since);
- window.setTimeout(function(){
- view.add_bulk([
- { id:1, message: "Hello World"},
- { id:2, message: "I was already transmitted as an event."}
- ]);
- }, 100);
+ //TODO: Really do bulk retrieval of last messages.
+ window.setTimeout(function() {
+ view.add_bulk([{
+ id: 1,
+ message: "Hello World"
+ }, {
+ id: 2,
+ message: "I was already transmitted as an event."
+ }]);
+ }, 100);
- var id = 2;
- view.add({id:id++, message: "I was already transmitted as an event."});
- view.add({id:id++, message: "I was only transmitted as an event before the bulk was added.."});
- window.setInterval(function(){
- view.add({id: id++, message: "."});
- }, 1000);
- return view;
- }
- handle(action) {
- switch (action.actionType) {
- case ActionTypes.EVENTLOG_ADD:
- this.emit("new_message", action.message);
- break;
- default:
- return;
- }
- }
+ var id = 2;
+ view.add({
+ id: id++,
+ message: "I was already transmitted as an event."
+ });
+ view.add({
+ id: id++,
+ message: "I was only transmitted as an event before the bulk was added.."
+ });
+ window.setInterval(function() {
+ view.add({
+ id: id++,
+ message: "."
+ });
+ }, 1000);
+ return view;
+ }
+ handle(action) {
+ switch (action.actionType) {
+ case ActionTypes.EVENTLOG_ADD:
+ this.emit("new_message", action.message);
+ break;
+ default:
+ return;
+ }
+ }
}
var EventLogStore = new _EventLogStore();
AppDispatcher.register(EventLogStore.handle.bind(EventLogStore)); \ No newline at end of file
diff --git a/web/src/js/stores/SettingsStore.es6.js b/web/src/js/stores/SettingsStore.es6.js
index dea4597c..2743161e 100644
--- a/web/src/js/stores/SettingsStore.es6.js
+++ b/web/src/js/stores/SettingsStore.es6.js
@@ -1,21 +1,26 @@
class _SettingsStore extends EventEmitter {
- constructor() {
- super();
- this.settings = { version: "0.12", showEventLog: true }; //FIXME: Need to get that from somewhere.
- }
- getAll() {
- return this.settings;
- }
- handle(action) {
- switch (action.actionType) {
- case ActionTypes.SETTINGS_UPDATE:
- this.settings = action.settings;
- this.emit("change");
- break;
- default:
- return;
- }
- }
+ constructor() {
+ super();
+
+ //FIXME: What do we do if we haven't requested anything from the server yet?
+ this.settings = {
+ version: "0.12",
+ showEventLog: true
+ };
+ }
+ getAll() {
+ return this.settings;
+ }
+ handle(action) {
+ switch (action.actionType) {
+ case ActionTypes.SETTINGS_UPDATE:
+ this.settings = action.settings;
+ this.emit("change");
+ break;
+ default:
+ return;
+ }
+ }
}
var SettingsStore = new _SettingsStore();
-AppDispatcher.register(SettingsStore.handle.bind(SettingsStore));
+AppDispatcher.register(SettingsStore.handle.bind(SettingsStore)); \ No newline at end of file
diff --git a/web/src/js/stores/base.es6.js b/web/src/js/stores/base.es6.js
index d5d0c7ab..1dc4ca2f 100644
--- a/web/src/js/stores/base.es6.js
+++ b/web/src/js/stores/base.es6.js
@@ -1,26 +1,26 @@
class EventEmitter {
- constructor() {
- this.listeners = {};
- }
- emit(event) {
- if (!(event in this.listeners)) {
- return;
- }
- this.listeners[event].forEach(function(listener) {
- listener.apply(this, arguments);
- }.bind(this));
- }
- addListener(event, f) {
- this.listeners[event] = this.listeners[event] || [];
- this.listeners[event].push(f);
- }
- removeListener(event, f) {
- if (!(event in this.listeners)) {
- return false;
- }
- var index = this.listeners[event].indexOf(f);
- if (index >= 0) {
- this.listeners[event].splice(index, 1);
- }
- }
+ constructor() {
+ this.listeners = {};
+ }
+ emit(event) {
+ if (!(event in this.listeners)) {
+ return;
+ }
+ this.listeners[event].forEach(function(listener) {
+ listener.apply(this, arguments);
+ }.bind(this));
+ }
+ addListener(event, f) {
+ this.listeners[event] = this.listeners[event] || [];
+ this.listeners[event].push(f);
+ }
+ removeListener(event, f) {
+ if (!(event in this.listeners)) {
+ return false;
+ }
+ var index = this.listeners[event].indexOf(f);
+ if (index >= 0) {
+ this.listeners[event].splice(index, 1);
+ }
+ }
} \ No newline at end of file