stormfront-rails 0.1.0 → 0.2.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.gitignore +1 -0
- data/lib/stormfront/rails/version.rb +2 -2
- data/lib/stormfront/rails.rb +2 -0
- data/stormfront-rails.gemspec +3 -3
- data/vendor/assets/javascripts/src/handlebars.js +4604 -0
- data/vendor/assets/javascripts/src/stormfront.js +1137 -0
- data/vendor/assets/javascripts/stormfront.js +3 -32
- metadata +24 -47
- data/vendor/assets/javascripts/stormfront/Alert.js +0 -17
- data/vendor/assets/javascripts/stormfront/Container.js +0 -31
- data/vendor/assets/javascripts/stormfront/Entity.js +0 -53
- data/vendor/assets/javascripts/stormfront/Errors.js +0 -25
- data/vendor/assets/javascripts/stormfront/KeyboardEvents.js +0 -52
- data/vendor/assets/javascripts/stormfront/Layout.js +0 -60
- data/vendor/assets/javascripts/stormfront/List.js +0 -123
- data/vendor/assets/javascripts/stormfront/MouseEvents.js +0 -146
- data/vendor/assets/javascripts/stormfront/Namespaces.js +0 -5
- data/vendor/assets/javascripts/stormfront/Overlay.js +0 -178
- data/vendor/assets/javascripts/stormfront/Reducer.js +0 -9
- data/vendor/assets/javascripts/stormfront/Request.js +0 -39
- data/vendor/assets/javascripts/stormfront/View.js +0 -55
- data/vendor/assets/javascripts/stormfront/ViewBase.js +0 -57
- data/vendor/assets/javascripts/stormfront/mixin/Dispatch.js +0 -19
- data/vendor/assets/javascripts/stormfront/mixin/Other.js +0 -25
- data/vendor/assets/javascripts/stormfront/support/Chaperone.js +0 -69
- data/vendor/assets/javascripts/stormfront/support/Template.js +0 -75
- data/vendor/assets/javascripts/stormfront/types/Arguments.js +0 -27
- data/vendor/assets/javascripts/stormfront/types/Class.js +0 -25
- data/vendor/assets/javascripts/stormfront/types/Hash.js +0 -23
- data/vendor/assets/javascripts/stormfront/types/Number.js +0 -15
- data/vendor/assets/javascripts/stormfront/types/Response.js +0 -31
- data/vendor/assets/javascripts/stormfront/types/String.js +0 -44
- data/vendor/assets/javascripts/stormfront/types/Time.js +0 -29
@@ -1,33 +1,4 @@
|
|
1
|
-
//= require underscore
|
2
|
-
//= require backbone
|
3
1
|
//= require moment
|
4
|
-
|
5
|
-
//= require
|
6
|
-
//= require stormfront
|
7
|
-
|
8
|
-
//= require stormfront/types/Arguments
|
9
|
-
//= require stormfront/types/Hash
|
10
|
-
//= require stormfront/types/Number
|
11
|
-
//= require stormfront/types/Response
|
12
|
-
//= require stormfront/types/String
|
13
|
-
//= require stormfront/types/Time
|
14
|
-
|
15
|
-
//= require stormfront/support/Chaperone
|
16
|
-
//= require stormfront/support/Template
|
17
|
-
|
18
|
-
//= require stormfront/mixin/Dispatch
|
19
|
-
//= require stormfront/mixin/Other
|
20
|
-
|
21
|
-
//= require stormfront/KeyboardEvents
|
22
|
-
//= require stormfront/MouseEvents
|
23
|
-
|
24
|
-
//= require stormfront/ViewBase
|
25
|
-
//= require stormfront/View
|
26
|
-
//= require stormfront/Errors
|
27
|
-
//= require stormfront/Alert
|
28
|
-
//= require stormfront/Container
|
29
|
-
//= require stormfront/Entity
|
30
|
-
//= require stormfront/Layout
|
31
|
-
//= require stormfront/Overlay
|
32
|
-
//= require stormfront/Reducer
|
33
|
-
//= require stormfront/Request
|
2
|
+
//= require backbone
|
3
|
+
//= require src/handlebars
|
4
|
+
//= require src/stormfront
|
metadata
CHANGED
@@ -1,83 +1,83 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: stormfront-rails
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.2.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Chris Gee
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-10-
|
11
|
+
date: 2015-10-14 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: simple-jquery-rails
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
|
-
- -
|
17
|
+
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: '0'
|
19
|
+
version: '1.0'
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
|
-
- -
|
24
|
+
- - "~>"
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version: '0'
|
26
|
+
version: '1.0'
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: simple-backbone-rails
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
|
-
- -
|
31
|
+
- - "~>"
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version:
|
33
|
+
version: 1.1.1
|
34
34
|
type: :runtime
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
|
-
- -
|
38
|
+
- - "~>"
|
39
39
|
- !ruby/object:Gem::Version
|
40
|
-
version:
|
40
|
+
version: 1.1.1
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: simple-momentjs-rails
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
44
44
|
requirements:
|
45
|
-
- -
|
45
|
+
- - "~>"
|
46
46
|
- !ruby/object:Gem::Version
|
47
|
-
version:
|
47
|
+
version: 1.0.1
|
48
48
|
type: :runtime
|
49
49
|
prerelease: false
|
50
50
|
version_requirements: !ruby/object:Gem::Requirement
|
51
51
|
requirements:
|
52
|
-
- -
|
52
|
+
- - "~>"
|
53
53
|
- !ruby/object:Gem::Version
|
54
|
-
version:
|
54
|
+
version: 1.0.1
|
55
55
|
- !ruby/object:Gem::Dependency
|
56
56
|
name: bundler
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
58
58
|
requirements:
|
59
|
-
- - ~>
|
59
|
+
- - "~>"
|
60
60
|
- !ruby/object:Gem::Version
|
61
61
|
version: '1.7'
|
62
62
|
type: :development
|
63
63
|
prerelease: false
|
64
64
|
version_requirements: !ruby/object:Gem::Requirement
|
65
65
|
requirements:
|
66
|
-
- - ~>
|
66
|
+
- - "~>"
|
67
67
|
- !ruby/object:Gem::Version
|
68
68
|
version: '1.7'
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
70
|
name: rake
|
71
71
|
requirement: !ruby/object:Gem::Requirement
|
72
72
|
requirements:
|
73
|
-
- - ~>
|
73
|
+
- - "~>"
|
74
74
|
- !ruby/object:Gem::Version
|
75
75
|
version: '10.0'
|
76
76
|
type: :development
|
77
77
|
prerelease: false
|
78
78
|
version_requirements: !ruby/object:Gem::Requirement
|
79
79
|
requirements:
|
80
|
-
- - ~>
|
80
|
+
- - "~>"
|
81
81
|
- !ruby/object:Gem::Version
|
82
82
|
version: '10.0'
|
83
83
|
description: This is an initial extraction into a gem of the framework in use by my
|
@@ -87,7 +87,7 @@ executables: []
|
|
87
87
|
extensions: []
|
88
88
|
extra_rdoc_files: []
|
89
89
|
files:
|
90
|
-
- .gitignore
|
90
|
+
- ".gitignore"
|
91
91
|
- Gemfile
|
92
92
|
- LICENSE.txt
|
93
93
|
- README.md
|
@@ -95,32 +95,9 @@ files:
|
|
95
95
|
- lib/stormfront/rails.rb
|
96
96
|
- lib/stormfront/rails/version.rb
|
97
97
|
- stormfront-rails.gemspec
|
98
|
+
- vendor/assets/javascripts/src/handlebars.js
|
99
|
+
- vendor/assets/javascripts/src/stormfront.js
|
98
100
|
- vendor/assets/javascripts/stormfront.js
|
99
|
-
- vendor/assets/javascripts/stormfront/Alert.js
|
100
|
-
- vendor/assets/javascripts/stormfront/Container.js
|
101
|
-
- vendor/assets/javascripts/stormfront/Entity.js
|
102
|
-
- vendor/assets/javascripts/stormfront/Errors.js
|
103
|
-
- vendor/assets/javascripts/stormfront/KeyboardEvents.js
|
104
|
-
- vendor/assets/javascripts/stormfront/Layout.js
|
105
|
-
- vendor/assets/javascripts/stormfront/List.js
|
106
|
-
- vendor/assets/javascripts/stormfront/MouseEvents.js
|
107
|
-
- vendor/assets/javascripts/stormfront/Namespaces.js
|
108
|
-
- vendor/assets/javascripts/stormfront/Overlay.js
|
109
|
-
- vendor/assets/javascripts/stormfront/Reducer.js
|
110
|
-
- vendor/assets/javascripts/stormfront/Request.js
|
111
|
-
- vendor/assets/javascripts/stormfront/View.js
|
112
|
-
- vendor/assets/javascripts/stormfront/ViewBase.js
|
113
|
-
- vendor/assets/javascripts/stormfront/mixin/Dispatch.js
|
114
|
-
- vendor/assets/javascripts/stormfront/mixin/Other.js
|
115
|
-
- vendor/assets/javascripts/stormfront/support/Chaperone.js
|
116
|
-
- vendor/assets/javascripts/stormfront/support/Template.js
|
117
|
-
- vendor/assets/javascripts/stormfront/types/Arguments.js
|
118
|
-
- vendor/assets/javascripts/stormfront/types/Class.js
|
119
|
-
- vendor/assets/javascripts/stormfront/types/Hash.js
|
120
|
-
- vendor/assets/javascripts/stormfront/types/Number.js
|
121
|
-
- vendor/assets/javascripts/stormfront/types/Response.js
|
122
|
-
- vendor/assets/javascripts/stormfront/types/String.js
|
123
|
-
- vendor/assets/javascripts/stormfront/types/Time.js
|
124
101
|
homepage: ''
|
125
102
|
licenses:
|
126
103
|
- MIT
|
@@ -131,17 +108,17 @@ require_paths:
|
|
131
108
|
- lib
|
132
109
|
required_ruby_version: !ruby/object:Gem::Requirement
|
133
110
|
requirements:
|
134
|
-
- -
|
111
|
+
- - ">="
|
135
112
|
- !ruby/object:Gem::Version
|
136
113
|
version: '0'
|
137
114
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
138
115
|
requirements:
|
139
|
-
- -
|
116
|
+
- - ">="
|
140
117
|
- !ruby/object:Gem::Version
|
141
118
|
version: '0'
|
142
119
|
requirements: []
|
143
120
|
rubyforge_project:
|
144
|
-
rubygems_version: 2.
|
121
|
+
rubygems_version: 2.4.8
|
145
122
|
signing_key:
|
146
123
|
specification_version: 4
|
147
124
|
summary: A framework built upon Backbone
|
@@ -1,17 +0,0 @@
|
|
1
|
-
//TODO: This whole class depends on Bootstrap
|
2
|
-
Stormfront.Alert = Stormfront.View.extend({
|
3
|
-
className: 'alert',
|
4
|
-
when: {
|
5
|
-
rendering: function(){
|
6
|
-
this.$el.attr('role', 'alert').
|
7
|
-
addClass('alert-warning').
|
8
|
-
addClass('alert-dismissible');
|
9
|
-
|
10
|
-
var self = this;
|
11
|
-
this.$el.on('closed.bs.alert', function(){
|
12
|
-
self.trigger('closing');
|
13
|
-
self.close();
|
14
|
-
});
|
15
|
-
}
|
16
|
-
}
|
17
|
-
});
|
@@ -1,31 +0,0 @@
|
|
1
|
-
Stormfront.Container = Stormfront.View.extend({
|
2
|
-
reducers: [],
|
3
|
-
store: null,
|
4
|
-
root: null,
|
5
|
-
when: {
|
6
|
-
initializing: function(){
|
7
|
-
this._reducers = _.map(this.reducers, this.createReducer, this);
|
8
|
-
},
|
9
|
-
rendering: function(){
|
10
|
-
this.store = new this.store();
|
11
|
-
this.root = new this.root({model: this.store});
|
12
|
-
this.listenToDispatches(this.root);
|
13
|
-
this.$el.append(this.root.render().$el);
|
14
|
-
}
|
15
|
-
},
|
16
|
-
createReducer: function(interaction){
|
17
|
-
var useCase = new interaction();
|
18
|
-
this.listenToDispatches(useCase);
|
19
|
-
return this.addReducer(useCase);
|
20
|
-
},
|
21
|
-
addReducer: function(useCase){
|
22
|
-
this._reducers[useCase.type] = useCase;
|
23
|
-
return useCase;
|
24
|
-
},
|
25
|
-
executeUseCase: function(event){
|
26
|
-
this._reducers[event.type].execute(this.store, event);
|
27
|
-
},
|
28
|
-
listenToDispatches: function(publisher){
|
29
|
-
this.listenTo(publisher, 'dispatch', this.executeUseCase);
|
30
|
-
}
|
31
|
-
});
|
@@ -1,53 +0,0 @@
|
|
1
|
-
Stormfront.Entity = Stormfront.View.extend({
|
2
|
-
exceptions: {
|
3
|
-
model: {
|
4
|
-
error: function(collection, xhr){
|
5
|
-
var response = new Stormfront.Response(xhr);
|
6
|
-
if (response.isActionable()) {
|
7
|
-
this.handleException({error: response.getError()});
|
8
|
-
response.markAsHandled();
|
9
|
-
}
|
10
|
-
},
|
11
|
-
invalid: function(model, error){
|
12
|
-
this.handleException({error: error});
|
13
|
-
}
|
14
|
-
}
|
15
|
-
},
|
16
|
-
overlays: {
|
17
|
-
model: {
|
18
|
-
request: function(){
|
19
|
-
this.addOverlay();
|
20
|
-
},
|
21
|
-
sync: function(){
|
22
|
-
this.removeOverlay();
|
23
|
-
},
|
24
|
-
error: function(){
|
25
|
-
this.removeOverlay();
|
26
|
-
}
|
27
|
-
}
|
28
|
-
},
|
29
|
-
change: {
|
30
|
-
model: {
|
31
|
-
change: function(){
|
32
|
-
this.render();
|
33
|
-
}
|
34
|
-
}
|
35
|
-
},
|
36
|
-
initialize: function(){
|
37
|
-
this.addSubscriber(this.overlays);
|
38
|
-
this.addSubscriber(this.exceptions);
|
39
|
-
this.addSubscriber(this.change);
|
40
|
-
this.addPublisher(this.model);
|
41
|
-
Stormfront.View.prototype.initialize.apply(this, arguments);
|
42
|
-
},
|
43
|
-
addOverlay: function(){
|
44
|
-
this.removeOverlay();
|
45
|
-
this.overlay = new Stormfront.Overlay({selector: this.$el});
|
46
|
-
},
|
47
|
-
removeOverlay: function(){
|
48
|
-
if (this.overlay) {
|
49
|
-
this.overlay.close();
|
50
|
-
this.overlay = null;
|
51
|
-
}
|
52
|
-
}
|
53
|
-
});
|
@@ -1,25 +0,0 @@
|
|
1
|
-
Stormfront.Errors = {
|
2
|
-
FEEDBACK: 'An unexpected error was encountered',
|
3
|
-
/** @return {string} */
|
4
|
-
NO_SELECTOR: function() { return 'A template selector was not provided for your view' },
|
5
|
-
/** @return {string} */
|
6
|
-
NO_TEMPLATE: function(name) { return name +'\'s template was not found'; },
|
7
|
-
/** @return {string} */
|
8
|
-
INCOMPATIBLE_TEMPLATE: function(name) { return name +'\'s template and view model for your view are not compatible'; },
|
9
|
-
/** @return {string} */
|
10
|
-
VIEW_MODEL: function(name) { return name + '\'s view model for the child generated an error'; },
|
11
|
-
/** @return {string} */
|
12
|
-
NO_LOCATION: function(name) { return name + ' has no locations available to render'; },
|
13
|
-
/** @return {string} */
|
14
|
-
MULTIPLE_LOCATIONS: function(name) { return name + ' has multiple locations available to render'; },
|
15
|
-
/** @return {string} */
|
16
|
-
INITIALIZING: function(name) { return name + ' failed to initialize'; },
|
17
|
-
/** @return {string} */
|
18
|
-
RENDERING: function(name) { return name + ' failed to render'; },
|
19
|
-
/** @return {string} */
|
20
|
-
ATTACHING: function(name) { return name + ' failed to attach'; },
|
21
|
-
/** @return {string} */
|
22
|
-
CLOSING: function(name) { return name + ' failed to close'; },
|
23
|
-
/** @return {string} */
|
24
|
-
ADDING: function(name) { return name + ' failed to add'; }
|
25
|
-
};
|
@@ -1,52 +0,0 @@
|
|
1
|
-
Keys = {
|
2
|
-
Enter: 13,
|
3
|
-
LeftArrow: 37,
|
4
|
-
DownArrow: 40,
|
5
|
-
RightArrow: 39,
|
6
|
-
UpArrow: 38,
|
7
|
-
C: 67,
|
8
|
-
R: 82,
|
9
|
-
M: 77,
|
10
|
-
Tab: 9,
|
11
|
-
Override: 1000,
|
12
|
-
Shift: 2000
|
13
|
-
};
|
14
|
-
|
15
|
-
KeyboardEvents = Stormfront.Class.extend({
|
16
|
-
initialize: function(){
|
17
|
-
_.bindAll(this, 'onKeyDown');
|
18
|
-
_.extend(this, Backbone.Events);
|
19
|
-
$(window).on('keydown', this.onKeyDown);
|
20
|
-
},
|
21
|
-
onKeyDown: function(event){
|
22
|
-
function isInput(node){
|
23
|
-
switch(node){
|
24
|
-
case 'SELECT':
|
25
|
-
return true;
|
26
|
-
case 'TEXTAREA':
|
27
|
-
return true;
|
28
|
-
case 'INPUT':
|
29
|
-
return true;
|
30
|
-
case 'BUTTON':
|
31
|
-
return true;
|
32
|
-
default:
|
33
|
-
return false;
|
34
|
-
}
|
35
|
-
}
|
36
|
-
var shift = event.shiftKey ? Keys.Shift : 0;
|
37
|
-
var override = isInput(document.activeElement.nodeName) ? Keys.Override : 0;
|
38
|
-
this.trigger(shift + override + event.which, event);
|
39
|
-
},
|
40
|
-
enterState: function(bindings){
|
41
|
-
var self = this;
|
42
|
-
this.off();
|
43
|
-
function addBinding(value, key) {
|
44
|
-
self.on(key, value);
|
45
|
-
}
|
46
|
-
_.each(bindings, addBinding);
|
47
|
-
},
|
48
|
-
close: function(){
|
49
|
-
$(window).off('keydown', this.onKeyDown);
|
50
|
-
this.off('all');
|
51
|
-
}
|
52
|
-
});
|
@@ -1,60 +0,0 @@
|
|
1
|
-
Stormfront.Layout = Stormfront.View.extend({
|
2
|
-
base: {
|
3
|
-
initializing: function(){
|
4
|
-
this._children = new Stormfront.Chaperone();
|
5
|
-
this.addPublisher(this._children, 'child');
|
6
|
-
},
|
7
|
-
rendering: function(){
|
8
|
-
_.each(this.children, this.composeChild, this);
|
9
|
-
},
|
10
|
-
closing: function(){
|
11
|
-
this._children.close();
|
12
|
-
},
|
13
|
-
child: {
|
14
|
-
created: function(child){
|
15
|
-
this._children.add(child);
|
16
|
-
},
|
17
|
-
added: function(child){
|
18
|
-
this.addPublisher(child);
|
19
|
-
this._children.render(child);
|
20
|
-
},
|
21
|
-
rendered: function(child){
|
22
|
-
var location = this.$('.' + child.getIdentity());
|
23
|
-
this._children.attach(child, location, 'replaceWith');
|
24
|
-
},
|
25
|
-
attached: function(child){
|
26
|
-
child.transition('rendered', child);
|
27
|
-
},
|
28
|
-
removed: function(child){
|
29
|
-
child.close();
|
30
|
-
this.stopListening(child);
|
31
|
-
},
|
32
|
-
error: function(error, innerException){
|
33
|
-
this.handleException(
|
34
|
-
new LayoutError(error, innerException)
|
35
|
-
);
|
36
|
-
}
|
37
|
-
}
|
38
|
-
},
|
39
|
-
initialize: function(){
|
40
|
-
this.addSubscriber(this.base);
|
41
|
-
Stormfront.View.prototype.initialize.apply(this, arguments);
|
42
|
-
},
|
43
|
-
composeChild: function(childOptions, childClass){
|
44
|
-
this._children.create(childClass, childOptions, this);
|
45
|
-
},
|
46
|
-
findChild: function(identity){
|
47
|
-
return this._children.find(identity);
|
48
|
-
}
|
49
|
-
});
|
50
|
-
|
51
|
-
function LayoutError(message, innerException) {
|
52
|
-
var error = Error(message);
|
53
|
-
this.name = 'LayoutError';
|
54
|
-
this.message = error.message;
|
55
|
-
this.stack = error.stack;
|
56
|
-
this.innerException = innerException;
|
57
|
-
}
|
58
|
-
|
59
|
-
LayoutError.prototype = Object.create(Error.prototype);
|
60
|
-
LayoutError.prototype.constructor = LayoutError;
|