wingman_rails 0.0.8 → 0.0.9
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.
- data/vendor/assets/javascripts/wingman.js +47 -25
- metadata +4 -4
@@ -984,14 +984,14 @@
|
|
984
984
|
bind: function(eventName, callback) {
|
985
985
|
var _base;
|
986
986
|
if (!callback) throw new Error('Callback must be set!');
|
987
|
-
this._callbacks
|
987
|
+
if (!this.hasOwnProperty('_callbacks')) this._callbacks = {};
|
988
988
|
(_base = this._callbacks)[eventName] || (_base[eventName] = []);
|
989
989
|
this._callbacks[eventName].push(callback);
|
990
990
|
return this._callbacks;
|
991
991
|
},
|
992
992
|
unbind: function(eventName, callback) {
|
993
993
|
var index, list;
|
994
|
-
list = this._callbacks && this._callbacks[eventName];
|
994
|
+
list = this.hasOwnProperty('_callbacks') && this._callbacks[eventName];
|
995
995
|
if (!list) return false;
|
996
996
|
index = list.indexOf(callback);
|
997
997
|
return list.splice(index, 1);
|
@@ -1000,7 +1000,7 @@
|
|
1000
1000
|
var args, callback, eventName, list, _i, _len, _ref, _results;
|
1001
1001
|
args = 1 <= arguments.length ? __slice.call(arguments, 0) : [];
|
1002
1002
|
eventName = args.shift();
|
1003
|
-
list = this._callbacks && this._callbacks[eventName];
|
1003
|
+
list = this.hasOwnProperty('_callbacks') && this._callbacks[eventName];
|
1004
1004
|
if (!list) return;
|
1005
1005
|
_ref = list.slice();
|
1006
1006
|
_results = [];
|
@@ -1451,14 +1451,16 @@
|
|
1451
1451
|
|
1452
1452
|
}).call(this);
|
1453
1453
|
}, "wingman/template/handler_factory/child_view_handler": function(exports, require, module) {(function() {
|
1454
|
-
var ChildViewHandler;
|
1454
|
+
var ChildViewHandler, Wingman;
|
1455
|
+
|
1456
|
+
Wingman = require('../../../wingman');
|
1455
1457
|
|
1456
1458
|
module.exports = ChildViewHandler = (function() {
|
1457
1459
|
|
1458
1460
|
function ChildViewHandler(options, context) {
|
1459
1461
|
this.options = options;
|
1460
1462
|
this.context = context;
|
1461
|
-
this.view = this.context.createChild(this.
|
1463
|
+
this.view = this.context.createChild(this.viewName(), this.viewOptions());
|
1462
1464
|
this.options.scope.appendChild(this.view.el);
|
1463
1465
|
}
|
1464
1466
|
|
@@ -1472,18 +1474,33 @@
|
|
1472
1474
|
};
|
1473
1475
|
|
1474
1476
|
ChildViewHandler.prototype.viewProperties = function() {
|
1475
|
-
var properties;
|
1476
|
-
|
1477
|
-
|
1477
|
+
var key, properties, _i, _len, _ref;
|
1478
|
+
properties = {};
|
1479
|
+
if (this.options.name && this.context.get(this.options.name)) {
|
1478
1480
|
properties[this.options.name] = this.context.get(this.options.name);
|
1479
|
-
return properties;
|
1480
1481
|
}
|
1482
|
+
if (this.options.properties) {
|
1483
|
+
_ref = this.options.properties;
|
1484
|
+
for (_i = 0, _len = _ref.length; _i < _len; _i++) {
|
1485
|
+
key = _ref[_i];
|
1486
|
+
properties[key] = this.context.get(key);
|
1487
|
+
}
|
1488
|
+
}
|
1489
|
+
return properties;
|
1481
1490
|
};
|
1482
1491
|
|
1483
1492
|
ChildViewHandler.prototype.remove = function() {
|
1484
1493
|
return this.view.remove();
|
1485
1494
|
};
|
1486
1495
|
|
1496
|
+
ChildViewHandler.prototype.viewName = function() {
|
1497
|
+
if (this.options.name) {
|
1498
|
+
return this.options.name;
|
1499
|
+
} else {
|
1500
|
+
return this.context.get(this.options.path);
|
1501
|
+
}
|
1502
|
+
};
|
1503
|
+
|
1487
1504
|
return ChildViewHandler;
|
1488
1505
|
|
1489
1506
|
})();
|
@@ -1657,7 +1674,7 @@
|
|
1657
1674
|
ElementHandler.prototype.setupSource = function() {
|
1658
1675
|
var _this = this;
|
1659
1676
|
this.el.innerHTML = this.context.get(this.options.source);
|
1660
|
-
return this.context.observe(this.options.source, function(newValue) {
|
1677
|
+
return this.context.observe(this.options.source, function(newValue, oldValue) {
|
1661
1678
|
return _this.el.innerHTML = newValue;
|
1662
1679
|
});
|
1663
1680
|
};
|
@@ -1691,8 +1708,7 @@
|
|
1691
1708
|
}).call(this);
|
1692
1709
|
}, "wingman/template/handler_factory/for_block_handler": function(exports, require, module) {(function() {
|
1693
1710
|
var Fleck, ForBlockHandler, HandlerFactory, WingmanObject,
|
1694
|
-
__bind = function(fn, me){ return function(){ return fn.apply(me, arguments); }; }
|
1695
|
-
__slice = Array.prototype.slice;
|
1711
|
+
__bind = function(fn, me){ return function(){ return fn.apply(me, arguments); }; };
|
1696
1712
|
|
1697
1713
|
WingmanObject = require('../../shared/object');
|
1698
1714
|
|
@@ -1716,17 +1732,9 @@
|
|
1716
1732
|
}
|
1717
1733
|
|
1718
1734
|
ForBlockHandler.prototype.add = function(value) {
|
1719
|
-
var child, hash, key, newContext, _i, _len, _ref, _results
|
1720
|
-
_this = this;
|
1735
|
+
var child, hash, key, newContext, _i, _len, _ref, _results;
|
1721
1736
|
this.handlers[value] = [];
|
1722
|
-
newContext =
|
1723
|
-
if (this.context.createChild) {
|
1724
|
-
newContext.createChild = function() {
|
1725
|
-
var args, _ref;
|
1726
|
-
args = 1 <= arguments.length ? __slice.call(arguments, 0) : [];
|
1727
|
-
return (_ref = _this.context.createChild).call.apply(_ref, [_this.context].concat(__slice.call(args)));
|
1728
|
-
};
|
1729
|
-
}
|
1737
|
+
newContext = Object.create(this.context);
|
1730
1738
|
key = Fleck.singularize(this.options.source.split('.').pop());
|
1731
1739
|
hash = {};
|
1732
1740
|
hash[key] = value;
|
@@ -1926,14 +1934,28 @@
|
|
1926
1934
|
};
|
1927
1935
|
|
1928
1936
|
_Class.prototype.scanForViewToken = function() {
|
1929
|
-
var newNode, result;
|
1930
|
-
result = this.scanner.scan(/\{view (.*?)
|
1937
|
+
var identifier, newNode, option, optionRegex, options, result;
|
1938
|
+
result = this.scanner.scan(/\{view ([a-zA-Z\.']+)(,{1} {1}(.*?))?\}/);
|
1931
1939
|
if (result) {
|
1940
|
+
identifier = this.scanner.getCapture(0);
|
1941
|
+
options = this.scanner.getCapture(2);
|
1932
1942
|
newNode = {
|
1933
|
-
name: this.scanner.getCapture(0),
|
1934
1943
|
parent: this.currentScope,
|
1935
1944
|
type: 'childView'
|
1936
1945
|
};
|
1946
|
+
if (options) {
|
1947
|
+
optionRegex = /(\w+): \[(.*?)\]/g;
|
1948
|
+
while (option = optionRegex.exec(options)) {
|
1949
|
+
if (option[1] === 'properties') {
|
1950
|
+
newNode.properties = option[2].replace(/\'| /g, '').split(',');
|
1951
|
+
}
|
1952
|
+
}
|
1953
|
+
}
|
1954
|
+
if (identifier[0] === "'") {
|
1955
|
+
newNode.name = identifier.replace(/\'/g, '');
|
1956
|
+
} else {
|
1957
|
+
newNode.path = identifier;
|
1958
|
+
}
|
1937
1959
|
this.currentScope.children.push(newNode);
|
1938
1960
|
}
|
1939
1961
|
return result;
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: wingman_rails
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.9
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,11 +9,11 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2012-04-
|
12
|
+
date: 2012-04-19 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: railties
|
16
|
-
requirement: &
|
16
|
+
requirement: &70123886167620 !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
19
|
- - ! '>='
|
@@ -24,7 +24,7 @@ dependencies:
|
|
24
24
|
version: '5.0'
|
25
25
|
type: :runtime
|
26
26
|
prerelease: false
|
27
|
-
version_requirements: *
|
27
|
+
version_requirements: *70123886167620
|
28
28
|
description: This gem provides Wingman for your Rails 3 application.
|
29
29
|
email:
|
30
30
|
- rasmusrnielsen@gmail.com
|