kea-rails 2.0.0.pre.alpha2 → 2.0.0.pre.alpha3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/app/assets/javascripts/kea/kea_dependencies.js +1 -0
- data/app/assets/javascripts/kea/kea_init.js +36 -0
- data/app/assets/javascripts/kea/models/base.js +23 -2
- data/app/assets/javascripts/kea/services/base.js +4 -2
- data/lib/kea-rails/version.rb +1 -1
- data/vendor/assets/javascripts/knockout-mapping-2.4.1.js +22 -0
- metadata +4 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 58d1d7d43f9ccaef7c694160064429eec584d493
|
4
|
+
data.tar.gz: cabd830b52c06b0edfc7bd48095200be0b0b6bd5
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 5ca24b021f70ece37e38e008bb42b188decd8ae5cf0573e4f6e3f8b7b731499a1b21c1918e84a6689dd93de5d290a27892a46410bb6ebf5afa1277a6a1324d50
|
7
|
+
data.tar.gz: 7494ee6d540efddf85bba7ec1fa9efa0585662a98f597c22dd52c4c477fa5e8097a8a4bbdc6ba3da5830a2e5fc8286b17de8f97940b98b59ec974a44e6aa8192
|
@@ -20,5 +20,41 @@ window.kea.u = {
|
|
20
20
|
configurable: true
|
21
21
|
}
|
22
22
|
});
|
23
|
+
},
|
24
|
+
|
25
|
+
camelizeString: function camelizeString(string) {
|
26
|
+
"use strict";
|
27
|
+
|
28
|
+
var string_parts = string.toLowerCase().split('_');
|
29
|
+
|
30
|
+
for (var x = 0; x < string_parts.length; x++) {
|
31
|
+
string_parts[x] = string_parts[x].charAt(0).toUpperCase() + string_parts[x].substring(1);
|
32
|
+
}
|
33
|
+
|
34
|
+
return string_parts.join('');
|
35
|
+
},
|
36
|
+
|
37
|
+
underscoreString: function underscoreString(string) {
|
38
|
+
"use strict";
|
39
|
+
|
40
|
+
var _regex_uppercase = new RegExp('([A-Z])', 'g'),
|
41
|
+
_regex_underbar_prefix = new RegExp('^_');
|
42
|
+
|
43
|
+
string = string.replace(_regex_uppercase, '_$1');
|
44
|
+
string = string.replace(_regex_underbar_prefix, '');
|
45
|
+
|
46
|
+
return string.toLowerCase();
|
47
|
+
},
|
48
|
+
|
49
|
+
dashString: function dashString(string) {
|
50
|
+
"use strict";
|
51
|
+
|
52
|
+
var _regex_uppercase = new RegExp('([A-Z])', 'g'),
|
53
|
+
_regex_dash_prefix = new RegExp('^-');
|
54
|
+
|
55
|
+
string = string.replace(_regex_uppercase, '-$1');
|
56
|
+
string = string.replace(_regex_dash_prefix, '');
|
57
|
+
|
58
|
+
return string.toLowerCase();
|
23
59
|
}
|
24
60
|
};
|
@@ -171,7 +171,22 @@
|
|
171
171
|
this.resource_path = data.resource_path;
|
172
172
|
|
173
173
|
this._deserializableAttributes.forEach(function(name) {
|
174
|
-
|
174
|
+
var newValue = data[name];
|
175
|
+
|
176
|
+
if (this.deserializationOptions.attributes[name] &&
|
177
|
+
this.deserializationOptions.attributes[name].map === true) {
|
178
|
+
|
179
|
+
var currentValue = this[name]();
|
180
|
+
|
181
|
+
if (typeof currentValue === 'object') {
|
182
|
+
ko.mapping.fromJS(newValue, {}, currentValue);
|
183
|
+
} else {
|
184
|
+
this[name]( ko.mapping.fromJS(newValue) );
|
185
|
+
}
|
186
|
+
|
187
|
+
} else {
|
188
|
+
this[name](newValue);
|
189
|
+
}
|
175
190
|
}, this);
|
176
191
|
|
177
192
|
this.forEachAssocation('deserializable', function(attributeName, modelName) {
|
@@ -243,7 +258,13 @@
|
|
243
258
|
var value = this[name]();
|
244
259
|
|
245
260
|
if (shouldIncludeAttribute(name, value)) {
|
246
|
-
|
261
|
+
|
262
|
+
if (attributeOptions(name).map === true) {
|
263
|
+
result[name] = ko.mapping.toJS(value);
|
264
|
+
} else {
|
265
|
+
result[name] = value;
|
266
|
+
}
|
267
|
+
|
247
268
|
}
|
248
269
|
}, this);
|
249
270
|
|
@@ -161,7 +161,8 @@
|
|
161
161
|
return $.ajax({
|
162
162
|
type: 'POST',
|
163
163
|
url: path,
|
164
|
-
data: params,
|
164
|
+
data: JSON.stringify(params),
|
165
|
+
contentType: "application/json",
|
165
166
|
dataType: 'JSON'
|
166
167
|
|
167
168
|
}).then(function(data) {
|
@@ -187,7 +188,8 @@
|
|
187
188
|
return $.ajax({
|
188
189
|
type: 'PUT',
|
189
190
|
url: path,
|
190
|
-
data: params,
|
191
|
+
data: JSON.stringify(params),
|
192
|
+
contentType: "application/json",
|
191
193
|
dataType: 'JSON'
|
192
194
|
|
193
195
|
}).then(function(data) {
|
data/lib/kea-rails/version.rb
CHANGED
@@ -0,0 +1,22 @@
|
|
1
|
+
/// Knockout Mapping plugin v2.4.1
|
2
|
+
/// (c) 2013 Steven Sanderson, Roy Jacobs - http://knockoutjs.com/
|
3
|
+
/// License: MIT (http://www.opensource.org/licenses/mit-license.php)
|
4
|
+
(function(e){"function"===typeof require&&"object"===typeof exports&&"object"===typeof module?e(require("knockout"),exports):"function"===typeof define&&define.amd?define(["knockout","exports"],e):e(ko,ko.mapping={})})(function(e,f){function y(b,c){var a,d;for(d in c)if(c.hasOwnProperty(d)&&c[d])if(a=f.getType(b[d]),d&&b[d]&&"array"!==a&&"string"!==a)y(b[d],c[d]);else if("array"===f.getType(b[d])&&"array"===f.getType(c[d])){a=b;for(var e=d,l=b[d],n=c[d],t={},g=l.length-1;0<=g;--g)t[l[g]]=l[g];for(g=
|
5
|
+
n.length-1;0<=g;--g)t[n[g]]=n[g];l=[];n=void 0;for(n in t)l.push(t[n]);a[e]=l}else b[d]=c[d]}function E(b,c){var a={};y(a,b);y(a,c);return a}function z(b,c){for(var a=E({},b),e=L.length-1;0<=e;e--){var f=L[e];a[f]&&(a[""]instanceof Object||(a[""]={}),a[""][f]=a[f],delete a[f])}c&&(a.ignore=h(c.ignore,a.ignore),a.include=h(c.include,a.include),a.copy=h(c.copy,a.copy),a.observe=h(c.observe,a.observe));a.ignore=h(a.ignore,j.ignore);a.include=h(a.include,j.include);a.copy=h(a.copy,j.copy);a.observe=h(a.observe,
|
6
|
+
j.observe);a.mappedProperties=a.mappedProperties||{};a.copiedProperties=a.copiedProperties||{};return a}function h(b,c){"array"!==f.getType(b)&&(b="undefined"===f.getType(b)?[]:[b]);"array"!==f.getType(c)&&(c="undefined"===f.getType(c)?[]:[c]);return e.utils.arrayGetDistinctValues(b.concat(c))}function F(b,c,a,d,k,l,n){var t="array"===f.getType(e.utils.unwrapObservable(c));l=l||"";if(f.isMapped(b)){var g=e.utils.unwrapObservable(b)[p];a=E(g,a)}var j=n||k,h=function(){return a[d]&&a[d].create instanceof
|
7
|
+
Function},x=function(b){var f=G,g=e.dependentObservable;e.dependentObservable=function(a,b,c){c=c||{};a&&"object"==typeof a&&(c=a);var d=c.deferEvaluation,M=!1;c.deferEvaluation=!0;a=new H(a,b,c);if(!d){var g=a,d=e.dependentObservable;e.dependentObservable=H;a=e.isWriteableObservable(g);e.dependentObservable=d;d=H({read:function(){M||(e.utils.arrayRemoveItem(f,g),M=!0);return g.apply(g,arguments)},write:a&&function(a){return g(a)},deferEvaluation:!0});d.__DO=g;a=d;f.push(a)}return a};e.dependentObservable.fn=
|
8
|
+
H.fn;e.computed=e.dependentObservable;b=e.utils.unwrapObservable(k)instanceof Array?a[d].create({data:b||c,parent:j,skip:N}):a[d].create({data:b||c,parent:j});e.dependentObservable=g;e.computed=e.dependentObservable;return b},u=function(){return a[d]&&a[d].update instanceof Function},v=function(b,f){var g={data:f||c,parent:j,target:e.utils.unwrapObservable(b)};e.isWriteableObservable(b)&&(g.observable=b);return a[d].update(g)};if(n=I.get(c))return n;d=d||"";if(t){var t=[],s=!1,m=function(a){return a};
|
9
|
+
a[d]&&a[d].key&&(m=a[d].key,s=!0);e.isObservable(b)||(b=e.observableArray([]),b.mappedRemove=function(a){var c="function"==typeof a?a:function(b){return b===m(a)};return b.remove(function(a){return c(m(a))})},b.mappedRemoveAll=function(a){var c=C(a,m);return b.remove(function(a){return-1!=e.utils.arrayIndexOf(c,m(a))})},b.mappedDestroy=function(a){var c="function"==typeof a?a:function(b){return b===m(a)};return b.destroy(function(a){return c(m(a))})},b.mappedDestroyAll=function(a){var c=C(a,m);return b.destroy(function(a){return-1!=
|
10
|
+
e.utils.arrayIndexOf(c,m(a))})},b.mappedIndexOf=function(a){var c=C(b(),m);a=m(a);return e.utils.arrayIndexOf(c,a)},b.mappedGet=function(a){return b()[b.mappedIndexOf(a)]},b.mappedCreate=function(a){if(-1!==b.mappedIndexOf(a))throw Error("There already is an object with the key that you specified.");var c=h()?x(a):a;u()&&(a=v(c,a),e.isWriteableObservable(c)?c(a):c=a);b.push(c);return c});n=C(e.utils.unwrapObservable(b),m).sort();g=C(c,m);s&&g.sort();s=e.utils.compareArrays(n,g);n={};var J,A=e.utils.unwrapObservable(c),
|
11
|
+
y={},z=!0,g=0;for(J=A.length;g<J;g++){var r=m(A[g]);if(void 0===r||r instanceof Object){z=!1;break}y[r]=A[g]}var A=[],B=0,g=0;for(J=s.length;g<J;g++){var r=s[g],q,w=l+"["+g+"]";switch(r.status){case "added":var D=z?y[r.value]:K(e.utils.unwrapObservable(c),r.value,m);q=F(void 0,D,a,d,b,w,k);h()||(q=e.utils.unwrapObservable(q));w=O(e.utils.unwrapObservable(c),D,n);q===N?B++:A[w-B]=q;n[w]=!0;break;case "retained":D=z?y[r.value]:K(e.utils.unwrapObservable(c),r.value,m);q=K(b,r.value,m);F(q,D,a,d,b,w,
|
12
|
+
k);w=O(e.utils.unwrapObservable(c),D,n);A[w]=q;n[w]=!0;break;case "deleted":q=K(b,r.value,m)}t.push({event:r.status,item:q})}b(A);a[d]&&a[d].arrayChanged&&e.utils.arrayForEach(t,function(b){a[d].arrayChanged(b.event,b.item)})}else if(P(c)){b=e.utils.unwrapObservable(b);if(!b){if(h())return s=x(),u()&&(s=v(s)),s;if(u())return v(s);b={}}u()&&(b=v(b));I.save(c,b);if(u())return b;Q(c,function(d){var f=l.length?l+"."+d:d;if(-1==e.utils.arrayIndexOf(a.ignore,f))if(-1!=e.utils.arrayIndexOf(a.copy,f))b[d]=
|
13
|
+
c[d];else if("object"!=typeof c[d]&&"array"!=typeof c[d]&&0<a.observe.length&&-1==e.utils.arrayIndexOf(a.observe,f))b[d]=c[d],a.copiedProperties[f]=!0;else{var g=I.get(c[d]),k=F(b[d],c[d],a,d,b,f,b),g=g||k;if(0<a.observe.length&&-1==e.utils.arrayIndexOf(a.observe,f))b[d]=g(),a.copiedProperties[f]=!0;else{if(e.isWriteableObservable(b[d])){if(g=e.utils.unwrapObservable(g),b[d]()!==g)b[d](g)}else g=void 0===b[d]?g:e.utils.unwrapObservable(g),b[d]=g;a.mappedProperties[f]=!0}}})}else switch(f.getType(c)){case "function":u()?
|
14
|
+
e.isWriteableObservable(c)?(c(v(c)),b=c):b=v(c):b=c;break;default:if(e.isWriteableObservable(b))return q=u()?v(b):e.utils.unwrapObservable(c),b(q),q;h()||u();b=h()?x():e.observable(e.utils.unwrapObservable(c));u()&&b(v(b))}return b}function O(b,c,a){for(var d=0,e=b.length;d<e;d++)if(!0!==a[d]&&b[d]===c)return d;return null}function R(b,c){var a;c&&(a=c(b));"undefined"===f.getType(a)&&(a=b);return e.utils.unwrapObservable(a)}function K(b,c,a){b=e.utils.unwrapObservable(b);for(var d=0,f=b.length;d<
|
15
|
+
f;d++){var l=b[d];if(R(l,a)===c)return l}throw Error("When calling ko.update*, the key '"+c+"' was not found!");}function C(b,c){return e.utils.arrayMap(e.utils.unwrapObservable(b),function(a){return c?R(a,c):a})}function Q(b,c){if("array"===f.getType(b))for(var a=0;a<b.length;a++)c(a);else for(a in b)c(a)}function P(b){var c=f.getType(b);return("object"===c||"array"===c)&&null!==b}function T(){var b=[],c=[];this.save=function(a,d){var f=e.utils.arrayIndexOf(b,a);0<=f?c[f]=d:(b.push(a),c.push(d))};
|
16
|
+
this.get=function(a){a=e.utils.arrayIndexOf(b,a);return 0<=a?c[a]:void 0}}function S(){var b={},c=function(a){var c;try{c=a}catch(e){c="$$$"}a=b[c];void 0===a&&(a=new T,b[c]=a);return a};this.save=function(a,b){c(a).save(a,b)};this.get=function(a){return c(a).get(a)}}var p="__ko_mapping__",H=e.dependentObservable,B=0,G,I,L=["create","update","key","arrayChanged"],N={},x={include:["_destroy"],ignore:[],copy:[],observe:[]},j=x;f.isMapped=function(b){return(b=e.utils.unwrapObservable(b))&&b[p]};f.fromJS=
|
17
|
+
function(b){if(0==arguments.length)throw Error("When calling ko.fromJS, pass the object you want to convert.");try{B++||(G=[],I=new S);var c,a;2==arguments.length&&(arguments[1][p]?a=arguments[1]:c=arguments[1]);3==arguments.length&&(c=arguments[1],a=arguments[2]);a&&(c=E(c,a[p]));c=z(c);var d=F(a,b,c);a&&(d=a);if(!--B)for(;G.length;){var e=G.pop();e&&(e(),e.__DO.throttleEvaluation=e.throttleEvaluation)}d[p]=E(d[p],c);return d}catch(f){throw B=0,f;}};f.fromJSON=function(b){var c=e.utils.parseJson(b);
|
18
|
+
arguments[0]=c;return f.fromJS.apply(this,arguments)};f.updateFromJS=function(){throw Error("ko.mapping.updateFromJS, use ko.mapping.fromJS instead. Please note that the order of parameters is different!");};f.updateFromJSON=function(){throw Error("ko.mapping.updateFromJSON, use ko.mapping.fromJSON instead. Please note that the order of parameters is different!");};f.toJS=function(b,c){j||f.resetDefaultOptions();if(0==arguments.length)throw Error("When calling ko.mapping.toJS, pass the object you want to convert.");
|
19
|
+
if("array"!==f.getType(j.ignore))throw Error("ko.mapping.defaultOptions().ignore should be an array.");if("array"!==f.getType(j.include))throw Error("ko.mapping.defaultOptions().include should be an array.");if("array"!==f.getType(j.copy))throw Error("ko.mapping.defaultOptions().copy should be an array.");c=z(c,b[p]);return f.visitModel(b,function(a){return e.utils.unwrapObservable(a)},c)};f.toJSON=function(b,c){var a=f.toJS(b,c);return e.utils.stringifyJson(a)};f.defaultOptions=function(){if(0<arguments.length)j=
|
20
|
+
arguments[0];else return j};f.resetDefaultOptions=function(){j={include:x.include.slice(0),ignore:x.ignore.slice(0),copy:x.copy.slice(0)}};f.getType=function(b){if(b&&"object"===typeof b){if(b.constructor===Date)return"date";if(b.constructor===Array)return"array"}return typeof b};f.visitModel=function(b,c,a){a=a||{};a.visitedObjects=a.visitedObjects||new S;var d,k=e.utils.unwrapObservable(b);if(P(k))a=z(a,k[p]),c(b,a.parentName),d="array"===f.getType(k)?[]:{};else return c(b,a.parentName);a.visitedObjects.save(b,
|
21
|
+
d);var l=a.parentName;Q(k,function(b){if(!(a.ignore&&-1!=e.utils.arrayIndexOf(a.ignore,b))){var j=k[b],g=a,h=l||"";"array"===f.getType(k)?l&&(h+="["+b+"]"):(l&&(h+="."),h+=b);g.parentName=h;if(!(-1===e.utils.arrayIndexOf(a.copy,b)&&-1===e.utils.arrayIndexOf(a.include,b)&&k[p]&&k[p].mappedProperties&&!k[p].mappedProperties[b]&&k[p].copiedProperties&&!k[p].copiedProperties[b]&&"array"!==f.getType(k)))switch(f.getType(e.utils.unwrapObservable(j))){case "object":case "array":case "undefined":g=a.visitedObjects.get(j);
|
22
|
+
d[b]="undefined"!==f.getType(g)?g:f.visitModel(j,c,a);break;default:d[b]=c(j,a.parentName)}}});return d}});
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: kea-rails
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.0.0.pre.
|
4
|
+
version: 2.0.0.pre.alpha3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Jan-Christian Foeh
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-03-
|
11
|
+
date: 2015-03-14 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rails
|
@@ -208,6 +208,7 @@ files:
|
|
208
208
|
- vendor/assets/javascripts/fuse.js
|
209
209
|
- vendor/assets/javascripts/jquery-ui.js
|
210
210
|
- vendor/assets/javascripts/knockout-3.3.0-debug.js
|
211
|
+
- vendor/assets/javascripts/knockout-mapping-2.4.1.js
|
211
212
|
- vendor/assets/javascripts/moment.js
|
212
213
|
- vendor/assets/javascripts/pikaday.js
|
213
214
|
- vendor/assets/stylesheets/pikaday.css
|
@@ -232,7 +233,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
232
233
|
version: 1.3.1
|
233
234
|
requirements: []
|
234
235
|
rubyforge_project:
|
235
|
-
rubygems_version: 2.4.
|
236
|
+
rubygems_version: 2.4.6
|
236
237
|
signing_key:
|
237
238
|
specification_version: 4
|
238
239
|
summary: A collection of helpers for structuring Knockout.js applications
|