crossfilter_rails 1.2.1.pre1 → 1.3.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.gitignore +1 -0
- data/app/assets/javascripts/crossfilter.js +74 -9
- data/app/assets/javascripts/crossfilter.min.js +1 -1
- data/crossfilter_rails.gemspec +1 -0
- data/lib/crossfilter_rails/version.rb +1 -1
- metadata +18 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 1c2b3895c546977bae84213f78d65471d9970382
|
4
|
+
data.tar.gz: 567ab47b59a3f9c616ad098d5e62a78307c089fb
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: f99b3574b335d35387b1e4bf5eec3d68bb4b8866b624aa44668e37ac0aeb39f851d603ffe72a43cb974f10b4975104376523dca20028f5796019368b3d784d40
|
7
|
+
data.tar.gz: 58b361f5802f6d05ca350693b666d76cab84a6aaa12b7bbaf1b7b73f7b8f0d881fa026ffdff5cec91f0972cc8427d4ba9166cfd41e83a24f17265a2f4e99f8a3
|
data/.gitignore
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
(function(exports){
|
2
|
-
crossfilter.version = "1.
|
2
|
+
crossfilter.version = "1.3.0";
|
3
3
|
function crossfilter_identity(d) {
|
4
4
|
return d;
|
5
5
|
}
|
@@ -448,6 +448,7 @@ if (typeof Uint8Array !== "undefined") {
|
|
448
448
|
crossfilter_array32 = function(n) { return new Uint32Array(n); };
|
449
449
|
|
450
450
|
crossfilter_arrayLengthen = function(array, length) {
|
451
|
+
if (array.length >= length) return array;
|
451
452
|
var copy = new array.constructor(length);
|
452
453
|
copy.set(array);
|
453
454
|
return copy;
|
@@ -517,6 +518,7 @@ exports.crossfilter = crossfilter;
|
|
517
518
|
function crossfilter() {
|
518
519
|
var crossfilter = {
|
519
520
|
add: add,
|
521
|
+
remove: removeData,
|
520
522
|
dimension: dimension,
|
521
523
|
groupAll: groupAll,
|
522
524
|
size: size
|
@@ -528,7 +530,8 @@ function crossfilter() {
|
|
528
530
|
M = 8, // number of dimensions that can fit in `filters`
|
529
531
|
filters = crossfilter_array8(0), // M bits per record; 1 is filtered out
|
530
532
|
filterListeners = [], // when the filters change
|
531
|
-
dataListeners = []
|
533
|
+
dataListeners = [], // when data is added
|
534
|
+
removeDataListeners = []; // when data is removed
|
532
535
|
|
533
536
|
// Adds the specified new records to this crossfilter.
|
534
537
|
function add(newData) {
|
@@ -548,6 +551,32 @@ function crossfilter() {
|
|
548
551
|
return crossfilter;
|
549
552
|
}
|
550
553
|
|
554
|
+
// Removes all records that match the current filters.
|
555
|
+
function removeData() {
|
556
|
+
var newIndex = crossfilter_index(n, n),
|
557
|
+
removed = [];
|
558
|
+
for (var i = 0, j = 0; i < n; ++i) {
|
559
|
+
if (filters[i]) newIndex[i] = j++;
|
560
|
+
else removed.push(i);
|
561
|
+
}
|
562
|
+
|
563
|
+
// Remove all matching records from groups.
|
564
|
+
filterListeners.forEach(function(l) { l(0, [], removed); });
|
565
|
+
|
566
|
+
// Update indexes.
|
567
|
+
removeDataListeners.forEach(function(l) { l(newIndex); });
|
568
|
+
|
569
|
+
// Remove old filters and data by overwriting.
|
570
|
+
for (var i = 0, j = 0, k; i < n; ++i) {
|
571
|
+
if (k = filters[i]) {
|
572
|
+
if (i !== j) filters[j] = k, data[j] = data[i];
|
573
|
+
++j;
|
574
|
+
}
|
575
|
+
}
|
576
|
+
data.length = j;
|
577
|
+
while (n > j) filters[--n] = 0;
|
578
|
+
}
|
579
|
+
|
551
580
|
// Adds a new dimension with the specified value accessor function.
|
552
581
|
function dimension(value) {
|
553
582
|
var dimension = {
|
@@ -560,7 +589,8 @@ function crossfilter() {
|
|
560
589
|
bottom: bottom,
|
561
590
|
group: group,
|
562
591
|
groupAll: groupAll,
|
563
|
-
|
592
|
+
dispose: dispose,
|
593
|
+
remove: dispose // for backwards-compatibility
|
564
594
|
};
|
565
595
|
|
566
596
|
var one = ~m & -~m, // lowest unset bit as mask, e.g., 00001000
|
@@ -583,6 +613,8 @@ function crossfilter() {
|
|
583
613
|
dataListeners.unshift(preAdd);
|
584
614
|
dataListeners.push(postAdd);
|
585
615
|
|
616
|
+
removeDataListeners.push(removeData);
|
617
|
+
|
586
618
|
// Incorporate any existing data into this dimension, and make sure that the
|
587
619
|
// filter bitset is wide enough to handle the new dimension.
|
588
620
|
m |= one;
|
@@ -664,6 +696,22 @@ function crossfilter() {
|
|
664
696
|
newValues = newIndex = null;
|
665
697
|
}
|
666
698
|
|
699
|
+
function removeData(reIndex) {
|
700
|
+
for (var i = 0, j = 0, k; i < n; ++i) {
|
701
|
+
if (filters[k = index[i]] && i !== j) {
|
702
|
+
values[j] = values[i];
|
703
|
+
index[j] = reIndex[k];
|
704
|
+
++j;
|
705
|
+
}
|
706
|
+
}
|
707
|
+
values.length = j;
|
708
|
+
while (j < n) index[j++] = 0;
|
709
|
+
|
710
|
+
// Bisect again to recompute lo0 and hi0.
|
711
|
+
var bounds = refilter(values);
|
712
|
+
lo0 = bounds[0], hi0 = bounds[1];
|
713
|
+
}
|
714
|
+
|
667
715
|
// Updates the selected values based on the specified bounds [lo, hi].
|
668
716
|
// This implementation is used by all the public filter methods.
|
669
717
|
function filterIndexBounds(bounds) {
|
@@ -818,7 +866,8 @@ function crossfilter() {
|
|
818
866
|
order: order,
|
819
867
|
orderNatural: orderNatural,
|
820
868
|
size: size,
|
821
|
-
|
869
|
+
dispose: dispose,
|
870
|
+
remove: dispose // for backwards-compatibility
|
822
871
|
};
|
823
872
|
|
824
873
|
// Ensure that this group will be removed when the dimension is removed.
|
@@ -845,6 +894,7 @@ function crossfilter() {
|
|
845
894
|
// the parent dimension for when data is added, and compute new keys.
|
846
895
|
filterListeners.push(update);
|
847
896
|
indexListeners.push(add);
|
897
|
+
removeDataListeners.push(removeData);
|
848
898
|
|
849
899
|
// Incorporate any existing data into the grouping.
|
850
900
|
add(values, index, 0, n);
|
@@ -958,6 +1008,15 @@ function crossfilter() {
|
|
958
1008
|
}
|
959
1009
|
}
|
960
1010
|
|
1011
|
+
function removeData() {
|
1012
|
+
for (var i = 0, j = 0; i < n; ++i) {
|
1013
|
+
if (filters[i]) {
|
1014
|
+
if (i !== j) groupIndex[j] = groupIndex[i];
|
1015
|
+
++j;
|
1016
|
+
}
|
1017
|
+
}
|
1018
|
+
}
|
1019
|
+
|
961
1020
|
// Reduces the specified selected or deselected records.
|
962
1021
|
// This function is only used when the cardinality is greater than 1.
|
963
1022
|
function updateMany(filterOne, added, removed) {
|
@@ -1098,11 +1157,13 @@ function crossfilter() {
|
|
1098
1157
|
}
|
1099
1158
|
|
1100
1159
|
// Removes this group and associated event listeners.
|
1101
|
-
function
|
1160
|
+
function dispose() {
|
1102
1161
|
var i = filterListeners.indexOf(update);
|
1103
1162
|
if (i >= 0) filterListeners.splice(i, 1);
|
1104
1163
|
i = indexListeners.indexOf(add);
|
1105
1164
|
if (i >= 0) indexListeners.splice(i, 1);
|
1165
|
+
i = removeDataListeners.indexOf(removeData);
|
1166
|
+
if (i >= 0) removeDataListeners.splice(i, 1);
|
1106
1167
|
return group;
|
1107
1168
|
}
|
1108
1169
|
|
@@ -1121,12 +1182,15 @@ function crossfilter() {
|
|
1121
1182
|
return g;
|
1122
1183
|
}
|
1123
1184
|
|
1124
|
-
|
1125
|
-
|
1185
|
+
// Removes this dimension and associated groups and event listeners.
|
1186
|
+
function dispose() {
|
1187
|
+
dimensionGroups.forEach(function(group) { group.dispose(); });
|
1126
1188
|
var i = dataListeners.indexOf(preAdd);
|
1127
1189
|
if (i >= 0) dataListeners.splice(i, 1);
|
1128
1190
|
i = dataListeners.indexOf(postAdd);
|
1129
1191
|
if (i >= 0) dataListeners.splice(i, 1);
|
1192
|
+
i = removeDataListeners.indexOf(removeData);
|
1193
|
+
if (i >= 0) removeDataListeners.splice(i, 1);
|
1130
1194
|
for (i = 0; i < n; ++i) filters[i] &= zero;
|
1131
1195
|
m &= zero;
|
1132
1196
|
return dimension;
|
@@ -1143,7 +1207,8 @@ function crossfilter() {
|
|
1143
1207
|
reduceCount: reduceCount,
|
1144
1208
|
reduceSum: reduceSum,
|
1145
1209
|
value: value,
|
1146
|
-
|
1210
|
+
dispose: dispose,
|
1211
|
+
remove: dispose // for backwards-compatibility
|
1147
1212
|
};
|
1148
1213
|
|
1149
1214
|
var reduceValue,
|
@@ -1238,7 +1303,7 @@ function crossfilter() {
|
|
1238
1303
|
}
|
1239
1304
|
|
1240
1305
|
// Removes this group and associated event listeners.
|
1241
|
-
function
|
1306
|
+
function dispose() {
|
1242
1307
|
var i = filterListeners.indexOf(update);
|
1243
1308
|
if (i >= 0) filterListeners.splice(i);
|
1244
1309
|
i = dataListeners.indexOf(add);
|
@@ -1 +1 @@
|
|
1
|
-
|
1
|
+
!function(r){function n(r){return r}function t(r,n){for(var t=0,e=n.length,u=Array(e);e>t;++t)u[t]=r[n[t]];return u}function e(r){function n(n,t,e,u){for(;u>e;){var f=e+u>>>1;r(n[f])<t?e=f+1:u=f}return e}function t(n,t,e,u){for(;u>e;){var f=e+u>>>1;t<r(n[f])?u=f:e=f+1}return e}return t.right=t,t.left=n,t}function u(r){function n(r,n,t){for(var u=t-n,f=(u>>>1)+1;--f>0;)e(r,f,u,n);return r}function t(r,n,t){for(var u,f=t-n;--f>0;)u=r[n],r[n]=r[n+f],r[n+f]=u,e(r,1,f,n);return r}function e(n,t,e,u){for(var f,o=n[--u+t],i=r(o);(f=t<<1)<=e&&(e>f&&r(n[u+f])>r(n[u+f+1])&&f++,!(i<=r(n[u+f])));)n[u+t]=n[u+f],t=f;n[u+t]=o}return n.sort=t,n}function f(r){function n(n,e,u,f){var o,i,a,c,l=Array(f=Math.min(u-e,f));for(i=0;f>i;++i)l[i]=n[e++];if(t(l,0,f),u>e){o=r(l[0]);do(a=r(c=n[e])>o)&&(l[0]=c,o=r(t(l,0,f)[0]));while(++e<u)}return l}var t=u(r);return n}function o(r){function n(n,t,e){for(var u=t+1;e>u;++u){for(var f=u,o=n[u],i=r(o);f>t&&r(n[f-1])>i;--f)n[f]=n[f-1];n[f]=o}return n}return n}function i(r){function n(r,n,u){return(U>u-n?e:t)(r,n,u)}function t(t,e,u){var f,o=0|(u-e)/6,i=e+o,a=u-1-o,c=e+u-1>>1,l=c-o,v=c+o,s=t[i],h=r(s),p=t[l],d=r(p),g=t[c],y=r(g),m=t[v],b=r(m),A=t[a],k=r(A);h>d&&(f=s,s=p,p=f,f=h,h=d,d=f),b>k&&(f=m,m=A,A=f,f=b,b=k,k=f),h>y&&(f=s,s=g,g=f,f=h,h=y,y=f),d>y&&(f=p,p=g,g=f,f=d,d=y,y=f),h>b&&(f=s,s=m,m=f,f=h,h=b,b=f),y>b&&(f=g,g=m,m=f,f=y,y=b,b=f),d>k&&(f=p,p=A,A=f,f=d,d=k,k=f),d>y&&(f=p,p=g,g=f,f=d,d=y,y=f),b>k&&(f=m,m=A,A=f,f=b,b=k,k=f);var x=p,E=d,O=m,w=b;t[i]=s,t[l]=t[e],t[c]=g,t[v]=t[u-1],t[a]=A;var M=e+1,U=u-2,z=w>=E&&E>=w;if(z)for(var N=M;U>=N;++N){var C=t[N],S=r(C);if(E>S)N!==M&&(t[N]=t[M],t[M]=C),++M;else if(S>E)for(;;){var q=r(t[U]);{if(!(q>E)){if(E>q){t[N]=t[M],t[M++]=t[U],t[U--]=C;break}t[N]=t[U],t[U--]=C;break}U--}}}else for(var N=M;U>=N;N++){var C=t[N],S=r(C);if(E>S)N!==M&&(t[N]=t[M],t[M]=C),++M;else if(S>w)for(;;){var q=r(t[U]);{if(!(q>w)){E>q?(t[N]=t[M],t[M++]=t[U],t[U--]=C):(t[N]=t[U],t[U--]=C);break}if(U--,N>U)break}}}if(t[e]=t[M-1],t[M-1]=x,t[u-1]=t[U+1],t[U+1]=O,n(t,e,M-1),n(t,U+2,u),z)return t;if(i>M&&U>a){for(var F,q;(F=r(t[M]))<=E&&F>=E;)++M;for(;(q=r(t[U]))<=w&&q>=w;)--U;for(var N=M;U>=N;N++){var C=t[N],S=r(C);if(E>=S&&S>=E)N!==M&&(t[N]=t[M],t[M]=C),M++;else if(w>=S&&S>=w)for(;;){var q=r(t[U]);{if(!(w>=q&&q>=w)){E>q?(t[N]=t[M],t[M++]=t[U],t[U--]=C):(t[N]=t[U],t[U--]=C);break}if(U--,N>U)break}}}}return n(t,M,U+1)}var e=o(r);return n}function a(r){return Array(r)}function c(r,n){return function(t){var e=t.length;return[r.left(t,n,0,e),r.right(t,n,0,e)]}}function l(r,n){var t=n[0],e=n[1];return function(n){var u=n.length;return[r.left(n,t,0,u),r.left(n,e,0,u)]}}function v(r){return[0,r.length]}function s(){return null}function h(){return 0}function p(r){return r+1}function d(r){return r-1}function g(r){return function(n,t){return n+ +r(t)}}function y(r){return function(n,t){return n-r(t)}}function m(){function r(r){var n=w,t=r.length;return t&&(O=O.concat(r),N=S(N,w+=t),F.forEach(function(e){e(r,n,t)})),E}function e(){for(var r=b(w,w),n=[],t=0,e=0;w>t;++t)N[t]?r[t]=e++:n.push(t);C.forEach(function(r){r(0,[],n)}),R.forEach(function(n){n(r)});for(var u,t=0,e=0;w>t;++t)(u=N[t])&&(t!==e&&(N[e]=u,O[e]=O[t]),++e);for(O.length=e;w>e;)N[--w]=0}function o(r){function e(n,e,u){T=n.map(r),V=$(A(u),0,u),T=t(T,V);var f,o,i=_(T),a=i[0],c=i[1];if(W)for(f=0;u>f;++f)W(T[f],o=V[f]+e)||(N[o]|=Y);else{for(f=0;a>f;++f)N[V[f]+e]|=Y;for(f=c;u>f;++f)N[V[f]+e]|=Y}if(!e)return P=T,Q=V,tn=a,en=c,void 0;var l=P,v=Q,s=0,h=0;for(P=Array(w),Q=b(w,w),f=0;e>s&&u>h;++f)l[s]<T[h]?(P[f]=l[s],Q[f]=v[s++]):(P[f]=T[h],Q[f]=V[h++]+e);for(;e>s;++s,++f)P[f]=l[s],Q[f]=v[s];for(;u>h;++h,++f)P[f]=T[h],Q[f]=V[h]+e;i=_(P),tn=i[0],en=i[1]}function o(r,n,t){rn.forEach(function(r){r(T,V,n,t)}),T=V=null}function a(r){for(var n,t=0,e=0;w>t;++t)N[n=Q[t]]&&t!==e&&(P[e]=P[t],Q[e]=r[n],++e);for(P.length=e;w>e;)Q[e++]=0;var u=_(P);tn=u[0],en=u[1]}function m(r){var n=r[0],t=r[1];if(W)return W=null,G(function(r,e){return e>=n&&t>e}),tn=n,en=t,X;var e,u,f,o=[],i=[];if(tn>n)for(e=n,u=Math.min(tn,t);u>e;++e)N[f=Q[e]]^=Y,o.push(f);else if(n>tn)for(e=tn,u=Math.min(n,en);u>e;++e)N[f=Q[e]]^=Y,i.push(f);if(t>en)for(e=Math.max(n,en),u=t;u>e;++e)N[f=Q[e]]^=Y,o.push(f);else if(en>t)for(e=Math.max(tn,t),u=en;u>e;++e)N[f=Q[e]]^=Y,i.push(f);return tn=n,en=t,C.forEach(function(r){r(Y,o,i)}),X}function E(r){return null==r?B():Array.isArray(r)?j(r):"function"==typeof r?D(r):z(r)}function z(r){return m((_=c(x,r))(P))}function j(r){return m((_=l(x,r))(P))}function B(){return m((_=v)(P))}function D(r){return _=v,G(W=r),tn=0,en=w,X}function G(r){var n,t,e,u=[],f=[];for(n=0;w>n;++n)!(N[t=Q[n]]&Y)^(e=r(P[n],t))&&(e?(N[t]&=Z,u.push(t)):(N[t]|=Y,f.push(t)));C.forEach(function(r){r(Y,u,f)})}function H(r){for(var n,t=[],e=en;--e>=tn&&r>0;)N[n=Q[e]]||(t.push(O[n]),--r);return t}function I(r){for(var n,t=[],e=tn;en>e&&r>0;)N[n=Q[e]]||(t.push(O[n]),--r),e++;return t}function J(r){function t(n,t,e,u){function f(){++T===L&&(m=q(m,K<<=1),B=q(B,K),L=k(K))}var l,v,h,p,d,g,y=j,m=b(T,L),A=H,x=J,E=T,M=0,U=0;for(X&&(A=x=s),j=Array(T),T=0,B=E>1?S(B,w):b(w,L),E&&(h=(v=y[0]).key);u>U&&!((p=r(n[U]))>=p);)++U;for(;u>U;){for(v&&p>=h?(d=v,g=h,m[M]=T,(v=y[++M])&&(h=v.key)):(d={key:p,value:x()},g=p),j[T]=d;!(p>g||(B[l=t[U]+e]=T,N[l]&Z||(d.value=A(d.value,O[l])),++U>=u));)p=r(n[U]);f()}for(;E>M;)j[m[M]=T]=y[M++],f();if(T>M)for(M=0;e>M;++M)B[M]=m[B[M]];l=C.indexOf(V),T>1?(V=o,W=a):(1===T?(V=i,W=c):(V=s,W=s),B=null),C[l]=V}function e(){for(var r=0,n=0;w>r;++r)N[r]&&(r!==n&&(B[n]=B[r]),++n)}function o(r,n,t){if(r!==Y&&!X){var e,u,f,o;for(e=0,f=n.length;f>e;++e)N[u=n[e]]&Z||(o=j[B[u]],o.value=H(o.value,O[u]));for(e=0,f=t.length;f>e;++e)(N[u=t[e]]&Z)===r&&(o=j[B[u]],o.value=I(o.value,O[u]))}}function i(r,n,t){if(r!==Y&&!X){var e,u,f,o=j[0];for(e=0,f=n.length;f>e;++e)N[u=n[e]]&Z||(o.value=H(o.value,O[u]));for(e=0,f=t.length;f>e;++e)(N[u=t[e]]&Z)===r&&(o.value=I(o.value,O[u]))}}function a(){var r,n;for(r=0;T>r;++r)j[r].value=J();for(r=0;w>r;++r)N[r]&Z||(n=j[B[r]],n.value=H(n.value,O[r]))}function c(){var r,n=j[0];for(n.value=J(),r=0;w>r;++r)N[r]&Z||(n.value=H(n.value,O[r]))}function l(){return X&&(W(),X=!1),j}function v(r){var n=D(l(),0,j.length,r);return G.sort(n,0,n.length)}function m(r,n,t){return H=r,I=n,J=t,X=!0,F}function A(){return m(p,d,h)}function x(r){return m(g(r),y(r),h)}function E(r){function n(n){return r(n.value)}return D=f(n),G=u(n),F}function M(){return E(n)}function U(){return T}function z(){var r=C.indexOf(V);return r>=0&&C.splice(r,1),r=rn.indexOf(t),r>=0&&rn.splice(r,1),r=R.indexOf(e),r>=0&&R.splice(r,1),F}var F={top:v,all:l,reduce:m,reduceCount:A,reduceSum:x,order:E,orderNatural:M,size:U,dispose:z,remove:z};nn.push(F);var j,B,D,G,H,I,J,K=8,L=k(K),T=0,V=s,W=s,X=!0;return arguments.length<1&&(r=n),C.push(V),rn.push(t),R.push(e),t(P,Q,0,w),A().orderNatural()}function K(){var r=J(s),n=r.all;return delete r.all,delete r.top,delete r.order,delete r.orderNatural,delete r.size,r.value=function(){return n()[0].value},r}function L(){nn.forEach(function(r){r.dispose()});var r=F.indexOf(e);for(r>=0&&F.splice(r,1),r=F.indexOf(o),r>=0&&F.splice(r,1),r=R.indexOf(a),r>=0&&R.splice(r,1),r=0;w>r;++r)N[r]&=Z;return M&=Z,X}var P,Q,T,V,W,X={filter:E,filterExact:z,filterRange:j,filterFunction:D,filterAll:B,top:H,bottom:I,group:J,groupAll:K,dispose:L,remove:L},Y=~M&-~M,Z=~Y,$=i(function(r){return T[r]}),_=v,rn=[],nn=[],tn=0,en=0;return F.unshift(e),F.push(o),R.push(a),M|=Y,(U>=32?!Y:M&(1<<U)-1)&&(N=q(N,U<<=1)),e(O,0,w),o(O,0,w),X}function a(){function r(r,n){var t;if(!m)for(t=n;w>t;++t)N[t]||(a=c(a,O[t]))}function n(r,n,t){var e,u,f;if(!m){for(e=0,f=n.length;f>e;++e)N[u=n[e]]||(a=c(a,O[u]));for(e=0,f=t.length;f>e;++e)N[u=t[e]]===r&&(a=l(a,O[u]))}}function t(){var r;for(a=v(),r=0;w>r;++r)N[r]||(a=c(a,O[r]))}function e(r,n,t){return c=r,l=n,v=t,m=!0,s}function u(){return e(p,d,h)}function f(r){return e(g(r),y(r),h)}function o(){return m&&(t(),m=!1),a}function i(){var t=C.indexOf(n);return t>=0&&C.splice(t),t=F.indexOf(r),t>=0&&F.splice(t),s}var a,c,l,v,s={reduce:e,reduceCount:u,reduceSum:f,value:o,dispose:i,remove:i},m=!0;return C.push(n),F.push(r),r(O,0,w),u()}function m(){return w}var E={add:r,remove:e,dimension:o,groupAll:a,size:m},O=[],w=0,M=0,U=8,N=z(0),C=[],F=[],R=[];return arguments.length?r(arguments[0]):E}function b(r,n){return(257>n?z:65537>n?N:C)(r)}function A(r){for(var n=b(r,r),t=-1;++t<r;)n[t]=t;return n}function k(r){return 8===r?256:16===r?65536:4294967296}m.version="1.3.0",m.permute=t;var x=m.bisect=e(n);x.by=e;var E=m.heap=u(n);E.by=u;var O=m.heapselect=f(n);O.by=f;var w=m.insertionsort=o(n);w.by=o;var M=m.quicksort=i(n);M.by=i;var U=32,z=a,N=a,C=a,S=n,q=n;"undefined"!=typeof Uint8Array&&(z=function(r){return new Uint8Array(r)},N=function(r){return new Uint16Array(r)},C=function(r){return new Uint32Array(r)},S=function(r,n){if(r.length>=n)return r;var t=new r.constructor(n);return t.set(r),t},q=function(r,n){var t;switch(n){case 16:t=N(r.length);break;case 32:t=C(r.length);break;default:throw Error("invalid array width!")}return t.set(r),t}),r.crossfilter=m}(this);
|
data/crossfilter_rails.gemspec
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: crossfilter_rails
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.3.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Michael Bostock
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2013-
|
12
|
+
date: 2013-09-14 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: railties
|
@@ -53,6 +53,20 @@ dependencies:
|
|
53
53
|
- - '>='
|
54
54
|
- !ruby/object:Gem::Version
|
55
55
|
version: '3.1'
|
56
|
+
- !ruby/object:Gem::Dependency
|
57
|
+
name: pry
|
58
|
+
requirement: !ruby/object:Gem::Requirement
|
59
|
+
requirements:
|
60
|
+
- - '>='
|
61
|
+
- !ruby/object:Gem::Version
|
62
|
+
version: '0'
|
63
|
+
type: :development
|
64
|
+
prerelease: false
|
65
|
+
version_requirements: !ruby/object:Gem::Requirement
|
66
|
+
requirements:
|
67
|
+
- - '>='
|
68
|
+
- !ruby/object:Gem::Version
|
69
|
+
version: '0'
|
56
70
|
description: ' Rails gem for easily adding the crossfilter javascript library, which
|
57
71
|
is great for exploring multivariate datasets '
|
58
72
|
email:
|
@@ -88,9 +102,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
88
102
|
version: '0'
|
89
103
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
90
104
|
requirements:
|
91
|
-
- - '
|
105
|
+
- - '>='
|
92
106
|
- !ruby/object:Gem::Version
|
93
|
-
version:
|
107
|
+
version: '0'
|
94
108
|
requirements: []
|
95
109
|
rubyforge_project:
|
96
110
|
rubygems_version: 2.0.5
|