engine2 1.0.2 → 1.0.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/conf/message.yaml +7 -0
- data/conf/message_pl.yaml +7 -0
- data/engine2.gemspec +1 -1
- data/lib/engine2/action.rb +0 -5
- data/lib/engine2/core.rb +9 -8
- data/lib/engine2/handler.rb +2 -2
- data/lib/engine2/meta.rb +196 -33
- data/lib/engine2/meta/decode_meta.rb +2 -1
- data/lib/engine2/meta/form_meta.rb +3 -132
- data/lib/engine2/meta/infra_meta.rb +14 -9
- data/lib/engine2/meta/list_meta.rb +1 -4
- data/lib/engine2/meta/view_meta.rb +0 -14
- data/lib/engine2/models/UserInfo.rb +0 -4
- data/lib/engine2/scheme.rb +5 -5
- data/lib/engine2/type_info.rb +0 -1
- data/lib/engine2/version.rb +1 -1
- data/public/assets/javascripts.js +13 -13
- data/public/js/angular-animate.js +52 -20
- data/public/js/angular-cookies.js +2 -2
- data/public/js/angular-route.js +10 -7
- data/public/js/angular-sanitize.js +4 -4
- data/public/js/angular.js +322 -168
- data/public/js/lodash.custom.min.js +95 -93
- data/views/engine2.coffee +34 -29
- data/views/engine2actions.coffee +62 -60
- data/views/infra/index.slim +2 -2
- data/views/infra/inspect.slim +5 -1
- data/views/scaffold/confirm.slim +1 -1
- data/views/scaffold/list.slim +11 -23
- data/views/scaffold/message.slim +1 -1
- data/views/scaffold/search.slim +1 -2
- data/views/scaffold/view.slim +1 -1
- data/views/search_fields/checkbox2.slim +1 -1
- data/views/search_fields/checkbox_buttons.slim +3 -3
- data/views/search_fields/date_range.slim +4 -4
- data/views/search_fields/decimal_date_range.slim +4 -4
- data/views/search_fields/input_text.slim +2 -2
- data/views/search_fields/integer.slim +2 -2
- data/views/search_fields/integer_range.slim +2 -2
- data/views/search_fields/list_bsmselect.slim +2 -2
- data/views/search_fields/list_bsselect.slim +2 -2
- data/views/search_fields/list_buttons.slim +2 -2
- data/views/search_fields/list_select.slim +2 -2
- metadata +4 -4
@@ -1,97 +1,99 @@
|
|
1
1
|
/**
|
2
2
|
* @license
|
3
|
-
* lodash
|
3
|
+
* lodash (Custom Build) lodash.com/license | Underscore.js 1.8.3 underscorejs.org/LICENSE
|
4
4
|
* Build: `lodash category="array,collection,object,seq,lang" plus="template"`
|
5
5
|
*/
|
6
|
-
;(function(){function n(n,t){return n.set(t[0],t[1]),n}function t(n,t){return n.add(t),n}function r(n,t,r){var e=r.length;switch(e){case 0:return n.call(t);case 1:return n.call(t,r[0]);case 2:return n.call(t,r[0],r[1]);case 3:return n.call(t,r[0],r[1],r[2])}return n.apply(t,r)}function e(n,t,r,e){for(var u=-1,i=n.length;++u<i;){var o=n[u];t(e,o,r(o),n)}return e}function u(n,t){for(var r=-1,e=n.length
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
}function I(n,t){
|
11
|
-
var i=
|
12
|
-
}
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
}function
|
17
|
-
|
18
|
-
|
19
|
-
}
|
20
|
-
t
|
21
|
-
|
22
|
-
|
23
|
-
}function
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
var
|
28
|
-
|
29
|
-
|
30
|
-
var
|
31
|
-
}return
|
32
|
-
var
|
33
|
-
|
34
|
-
|
35
|
-
}function
|
36
|
-
}function
|
37
|
-
if(null==r)return r;if(!
|
38
|
-
case 6:return new n(t[0],t[1],t[2],t[3],t[4],t[5]);case 7:return new n(t[0],t[1],t[2],t[3],t[4],t[5],t[6])}var r=
|
39
|
-
this&&this!==
|
40
|
-
var s=i.get(n);if(
|
41
|
-
|
42
|
-
if(_)return _==t;var p=true;i.set(n,t);for(var v=o;++s<c;){h=f[s];var g=n[h],y=t[h];if(e)var d=o?e(y,g,h,t,n,i):e(g,y,h,n,t,i);if(!(d===
|
43
|
-
var
|
44
|
-
var
|
45
|
-
|
46
|
-
}function
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
e=
|
51
|
-
|
52
|
-
|
53
|
-
}function
|
54
|
-
|
55
|
-
return
|
56
|
-
|
57
|
-
|
58
|
-
return
|
59
|
-
var
|
60
|
-
var
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
}function
|
65
|
-
}function
|
66
|
-
|
67
|
-
}function Ku(n){return
|
68
|
-
return n
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
n
|
73
|
-
|
74
|
-
return
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
var t=
|
83
|
-
|
84
|
-
}
|
85
|
-
|
86
|
-
|
87
|
-
|
88
|
-
|
89
|
-
|
90
|
-
|
91
|
-
|
92
|
-
|
93
|
-
|
94
|
-
|
95
|
-
|
96
|
-
C.prototype
|
97
|
-
|
6
|
+
;(function(){function n(n,t){return n.set(t[0],t[1]),n}function t(n,t){return n.add(t),n}function r(n,t,r){var e=r.length;switch(e){case 0:return n.call(t);case 1:return n.call(t,r[0]);case 2:return n.call(t,r[0],r[1]);case 3:return n.call(t,r[0],r[1],r[2])}return n.apply(t,r)}function e(n,t,r,e){for(var u=-1,i=n.length;++u<i;){var o=n[u];t(e,o,r(o),n)}return e}function u(n,t){for(var r=-1,e=n.length;++r<e&&t(n[r],r,n)!==false;);return n}function i(n,t){for(var r=n.length;r--&&t(n[r],r,n)!==false;);return n;
|
7
|
+
}function o(n,t){for(var r=-1,e=n.length;++r<e;)if(!t(n[r],r,n))return false;return true}function f(n,t){for(var r=-1,e=n.length,u=0,i=[];++r<e;){var o=n[r];t(o,r,n)&&(i[u++]=o)}return i}function c(n,t){return!!n.length&&y(n,t,0)>-1}function a(n,t,r){for(var e=-1,u=n.length;++e<u;)if(r(t,n[e]))return true;return false}function l(n,t){for(var r=-1,e=n.length,u=Array(e);++r<e;)u[r]=t(n[r],r,n);return u}function s(n,t){for(var r=-1,e=t.length,u=n.length;++r<e;)n[u+r]=t[r];return n}function h(n,t,r,e){var u=-1,i=n.length;
|
8
|
+
for(e&&i&&(r=n[++u]);++u<i;)r=t(r,n[u],u,n);return r}function _(n,t,r,e){var u=n.length;for(e&&u&&(r=n[--u]);u--;)r=t(r,n[u],u,n);return r}function p(n,t){for(var r=-1,e=n.length;++r<e;)if(t(n[r],r,n))return true;return false}function v(n,t,r,e){var u;return r(n,function(n,r,i){return t(n,r,i)?(u=e?r:n,false):Ni}),u}function g(n,t,r){for(var e=n.length,u=r?e:-1;r?u--:++u<e;)if(t(n[u],u,n))return u;return-1}function y(n,t,r){if(t!==t)return S(n,r);for(var e=r-1,u=n.length;++e<u;)if(n[e]===t)return e;return-1;
|
9
|
+
}function d(n,t,r,e){for(var u=r-1,i=n.length;++u<i;)if(e(n[u],t))return u;return-1}function b(n,t,r,e,u){return u(n,function(n,u,i){r=e?(e=false,n):t(r,n,u,i)}),r}function w(n,t){var r=n.length;for(n.sort(t);r--;)n[r]=n[r].c;return n}function m(n,t){for(var r=-1,e=Array(n);++r<n;)e[r]=t(r);return e}function j(n,t){return l(t,function(t){return[t,n[t]]})}function O(n){return function(t){return n(t)}}function A(n,t){return l(t,function(t){return n[t]})}function k(n,t){return n.has(t)}function x(n){return n&&n.Object===Object?n:null;
|
10
|
+
}function I(n,t){for(var r=n.length,e=0;r--;)n[r]===t&&e++;return e}function R(n){return $f[n]}function W(n){return"\\"+zf[n]}function S(n,t,r){for(var e=n.length,u=t+(r?0:-1);r?u--:++u<e;){var i=n[u];if(i!==i)return u}return-1}function B(n){var t=false;if(null!=n&&typeof n.toString!="function")try{t=!!(n+"")}catch(r){}return t}function E(n){for(var t,r=[];!(t=n.next()).done;)r.push(t.value);return r}function $(n){var t=-1,r=Array(n.size);return n.forEach(function(n,e){r[++t]=[e,n]}),r}function L(n,t){
|
11
|
+
for(var r=-1,e=n.length,u=0,i=[];++r<e;){var o=n[r];o!==t&&o!==qi||(n[r]=qi,i[u++]=r)}return i}function z(n){var t=-1,r=Array(n.size);return n.forEach(function(n){r[++t]=n}),r}function M(n){var t=-1,r=Array(n.size);return n.forEach(function(n){r[++t]=[n,n]}),r}function D(n){if(!n||!Sf.test(n))return n.length;for(var t=Wf.lastIndex=0;Wf.test(n);)t++;return t}function N(n){return n.match(Wf)}function F(n){if(Su(n)&&!ba(n)&&!(n instanceof C)){if(n instanceof U)return n;if(Jf.call(n,"__wrapped__"))return Mr(n);
|
12
|
+
}return new U(n)}function P(){}function U(n,t){this.__wrapped__=n,this.__actions__=[],this.__chain__=!!t,this.__index__=0,this.__values__=Ni}function C(n){this.__wrapped__=n,this.__actions__=[],this.__dir__=1,this.__filtered__=false,this.__iteratees__=[],this.__takeCount__=lo,this.__views__=[]}function q(){var n=new C(this.__wrapped__);return n.__actions__=Ct(this.__actions__),n.__dir__=this.__dir__,n.__filtered__=this.__filtered__,n.__iteratees__=Ct(this.__iteratees__),n.__takeCount__=this.__takeCount__,
|
13
|
+
n.__views__=Ct(this.__views__),n}function T(){if(this.__filtered__){var n=new C(this);n.__dir__=-1,n.__filtered__=true}else n=this.clone(),n.__dir__*=-1;return n}function V(){var n=this.__wrapped__.value(),t=this.__dir__,r=ba(n),e=0>t,u=r?n.length:0,i=vr(0,u,this.__views__),o=i.start,f=i.end,c=f-o,a=e?f:o-1,l=this.__iteratees__,s=l.length,h=0,_=vc(c,this.__takeCount__);if(!r||Pi>u||u==c&&_==c)return At(n,this.__actions__);var p=[];n:for(;c--&&_>h;){a+=t;for(var v=-1,g=n[a];++v<s;){var y=l[v],d=y.iteratee,b=y.type,w=d(g);
|
14
|
+
if(b==uo)g=w;else if(!w){if(b==eo)continue n;break n}}p[h++]=g}return p}function K(n){var t=-1,r=n?n.length:0;for(this.clear();++t<r;){var e=n[t];this.set(e[0],e[1])}}function G(){this.__data__=Oc?Oc(null):{}}function J(n){return this.has(n)&&delete this.__data__[n]}function H(n){var t=this.__data__;if(Oc){var r=t[n];return r===Ci?Ni:r}return Jf.call(t,n)?t[n]:Ni}function Q(n){var t=this.__data__;return Oc?t[n]!==Ni:Jf.call(t,n)}function X(n,t){var r=this.__data__;return r[n]=Oc&&t===Ni?Ci:t,this;
|
15
|
+
}function Y(n){var t=-1,r=n?n.length:0;for(this.clear();++t<r;){var e=n[t];this.set(e[0],e[1])}}function Z(){this.__data__=[]}function nn(n){var t=this.__data__,r=On(t,n);if(0>r)return false;var e=t.length-1;return r==e?t.pop():fc.call(t,r,1),true}function tn(n){var t=this.__data__,r=On(t,n);return 0>r?Ni:t[r][1]}function rn(n){return On(this.__data__,n)>-1}function en(n,t){var r=this.__data__,e=On(r,n);return 0>e?r.push([n,t]):r[e][1]=t,this}function un(n){var t=-1,r=n?n.length:0;for(this.clear();++t<r;){
|
16
|
+
var e=n[t];this.set(e[0],e[1])}}function on(){this.__data__={hash:new K,map:new(bc||Y),string:new K}}function fn(n){return ar(this,n)["delete"](n)}function cn(n){return ar(this,n).get(n)}function an(n){return ar(this,n).has(n)}function ln(n,t){return ar(this,n).set(n,t),this}function sn(n){var t=-1,r=n?n.length:0;for(this.__data__=new un;++t<r;)this.add(n[t])}function hn(n){return this.__data__.set(n,Ci),this}function _n(n){return this.__data__.has(n)}function pn(n){this.__data__=new Y(n)}function vn(){
|
17
|
+
this.__data__=new Y}function gn(n){return this.__data__["delete"](n)}function yn(n){return this.__data__.get(n)}function dn(n){return this.__data__.has(n)}function bn(n,t){var r=this.__data__;return r instanceof Y&&r.__data__.length==Pi&&(r=this.__data__=new un(r.__data__)),r.set(n,t),this}function wn(n,t,r,e){return n===Ni||_u(n,Kf[r])&&!Jf.call(e,r)?t:n}function mn(n,t,r){(r===Ni||_u(n[t],r))&&(typeof t!="number"||r!==Ni||t in n)||(n[t]=r)}function jn(n,t,r){var e=n[t];Jf.call(n,t)&&_u(e,r)&&(r!==Ni||t in n)||(n[t]=r);
|
18
|
+
}function On(n,t){for(var r=n.length;r--;)if(_u(n[r][0],t))return r;return-1}function An(n,t,r,e){return zc(n,function(n,u,i){t(e,n,r(n),i)}),e}function kn(n,t){return n&&qt(t,vi(t),n)}function xn(n,t){for(var r=-1,e=null==n,u=t.length,i=Array(u);++r<u;)i[r]=e?Ni:hi(n,t[r]);return i}function In(n,t,r){return n===n&&(r!==Ni&&(n=r>=n?n:r),t!==Ni&&(n=n>=t?n:t)),n}function Rn(n,t,r,e,i,o,f){var c;if(e&&(c=o?e(n,i,o,f):e(n)),c!==Ni)return c;if(!Wu(n))return n;var a=ba(n);if(a){if(c=yr(n),!t)return Ct(n,c);
|
19
|
+
}else{var l=pr(n),s=l==bo||l==wo;if(wa(n))return St(n,t);if(l==Oo||l==_o||s&&!o){if(B(n))return o?n:{};if(c=dr(s?{}:n),!t)return Tt(n,kn(c,n))}else{if(!Ef[l])return o?n:{};c=br(n,l,Rn,t)}}f||(f=new pn);var h=f.get(n);if(h)return h;if(f.set(n,c),!a)var _=r?ur(n):vi(n);return u(_||n,function(u,i){_&&(i=u,u=n[i]),jn(c,i,Rn(u,t,r,e,i,n,f))}),c}function Wn(n){return Wu(n)?ic(n):{}}function Sn(n,t,r,e){var u=-1,i=c,o=true,f=n.length,s=[],h=t.length;if(!f)return s;r&&(t=l(t,O(r))),e?(i=a,o=false):t.length>=Pi&&(i=k,
|
20
|
+
o=false,t=new sn(t));n:for(;++u<f;){var _=n[u],p=r?r(_):_;if(_=e||0!==_?_:0,o&&p===p){for(var v=h;v--;)if(t[v]===p)continue n;s.push(_)}else i(t,p,e)||s.push(_)}return s}function Bn(n,t){var r=true;return zc(n,function(n,e,u){return r=!!t(n,e,u)}),r}function En(n,t,r,e){var u=n.length;for(r=Xu(r),0>r&&(r=-r>u?0:u+r),e=e===Ni||e>u?u:Xu(e),0>e&&(e+=u),e=r>e?0:Yu(e);e>r;)n[r++]=t;return n}function $n(n,t){var r=[];return zc(n,function(n,e,u){t(n,e,u)&&r.push(n)}),r}function Ln(n,t,r,e,u){var i=-1,o=n.length;
|
21
|
+
for(r||(r=mr),u||(u=[]);++i<o;){var f=n[i];t>0&&r(f)?t>1?Ln(f,t-1,r,e,u):s(u,f):e||(u[u.length]=f)}return u}function zn(n,t){return n&&Dc(n,t,vi)}function Mn(n,t){return n&&Nc(n,t,vi)}function Dn(n,t){return f(t,function(t){return xu(n[t])})}function Nn(n,t){t=kr(t,n)?[t]:Wt(t);for(var r=0,e=t.length;null!=n&&e>r;)n=n[Lr(t[r++])];return r&&r==e?n:Ni}function Fn(n,t,r){var e=t(n);return ba(n)?e:s(e,r(n))}function Pn(n,t){return n>t}function Un(n,t){return Jf.call(n,t)||typeof n=="object"&&t in n&&null===hr(n);
|
22
|
+
}function Cn(n,t){return t in Object(n)}function qn(n,t,r){for(var e=r?a:c,u=n[0].length,i=n.length,o=i,f=Array(i),s=1/0,h=[];o--;){var _=n[o];o&&t&&(_=l(_,O(t))),s=vc(_.length,s),f[o]=!r&&(t||u>=120&&_.length>=120)?new sn(o&&_):Ni}_=n[0];var p=-1,v=f[0];n:for(;++p<u&&s>h.length;){var g=_[p],y=t?t(g):g;if(g=r||0!==g?g:0,!(v?k(v,y):e(h,y,r))){for(o=i;--o;){var d=f[o];if(!(d?k(d,y):e(n[o],y,r)))continue n}v&&v.push(y),h.push(g)}}return h}function Tn(n,t,r,e){return zn(n,function(n,u,i){t(e,r(n),u,i);
|
23
|
+
}),e}function Vn(n,t,e){kr(t,n)||(t=Wt(t),n=Er(n,t),t=te(t));var u=null==n?n:n[Lr(t)];return null==u?Ni:r(u,n,e)}function Kn(n,t,r,e,u){return n===t?true:null==n||null==t||!Wu(n)&&!Su(t)?n!==n&&t!==t:Gn(n,t,Kn,r,e,u)}function Gn(n,t,r,e,u,i){var o=ba(n),f=ba(t),c=po,a=po;o||(c=pr(n),c=c==_o?Oo:c),f||(a=pr(t),a=a==_o?Oo:a);var l=c==Oo&&!B(n),s=a==Oo&&!B(t),h=c==a;if(h&&!l)return i||(i=new pn),o||Vu(n)?tr(n,t,r,e,u,i):rr(n,t,c,r,e,u,i);if(!(u&no)){var _=l&&Jf.call(n,"__wrapped__"),p=s&&Jf.call(t,"__wrapped__");
|
24
|
+
if(_||p){var v=_?n.value():n,g=p?t.value():t;return i||(i=new pn),r(v,g,e,u,i)}}return h?(i||(i=new pn),er(n,t,r,e,u,i)):false}function Jn(n,t,r,e){var u=r.length,i=u,o=!e;if(null==n)return!i;for(n=Object(n);u--;){var f=r[u];if(o&&f[2]?f[1]!==n[f[0]]:!(f[0]in n))return false}for(;++u<i;){f=r[u];var c=f[0],a=n[c],l=f[1];if(o&&f[2]){if(a===Ni&&!(c in n))return false}else{var s=new pn;if(e)var h=e(a,l,c,n,t,s);if(!(h===Ni?Kn(l,a,e,Zi|no,s):h))return false}}return true}function Hn(n){return typeof n=="function"?n:null==n?$i:typeof n=="object"?ba(n)?tt(n[0],n[1]):nt(n):Di(n);
|
25
|
+
}function Qn(n){return _c(Object(n))}function Xn(n){n=null==n?n:Object(n);var t=[];for(var r in n)t.push(r);return t}function Yn(n,t){return t>n}function Zn(n,t){var r=-1,e=gu(n)?Array(n.length):[];return zc(n,function(n,u,i){e[++r]=t(n,u,i)}),e}function nt(n){var t=lr(n);return 1==t.length&&t[0][2]?Sr(t[0][0],t[0][1]):function(r){return r===n||Jn(r,n,t)}}function tt(n,t){return kr(n)&&Wr(t)?Sr(Lr(n),t):function(r){var e=hi(r,n);return e===Ni&&e===t?pi(r,n):Kn(t,e,Ni,Zi|no)}}function rt(n,t,r,e,i){
|
26
|
+
if(n!==t){if(!ba(t)&&!Vu(t))var o=gi(t);u(o||t,function(u,f){if(o&&(f=u,u=t[f]),Wu(u))i||(i=new pn),et(n,t,f,r,rt,e,i);else{var c=e?e(n[f],u,f+"",n,t,i):Ni;c===Ni&&(c=u),mn(n,f,c)}})}}function et(n,t,r,e,u,i,o){var f=n[r],c=t[r],a=o.get(c);if(a)return mn(n,r,a),Ni;var l=i?i(f,c,r+"",n,t,o):Ni,s=l===Ni;s&&(l=c,ba(c)||Vu(c)?ba(f)?l=f:yu(f)?l=Ct(f):(s=false,l=Rn(c,true)):Fu(c)||pu(c)?pu(f)?l=ni(f):!Wu(f)||e&&xu(f)?(s=false,l=Rn(c,true)):l=f:s=false),o.set(c,l),s&&u(l,c,e,i,o),o["delete"](c),mn(n,r,l)}function ut(n,t){
|
27
|
+
var r=n.length;if(r)return t+=0>t?r:0,Or(t,r)?n[t]:Ni}function it(n,t,r){var e=-1;t=l(t.length?t:[$i],O(cr()));var u=Zn(n,function(n,r,u){var i=l(t,function(t){return t(n)});return{a:i,b:++e,c:n}});return w(u,function(n,t){return Ft(n,t,r)})}function ot(n,t){return n=Object(n),h(t,function(t,r){return r in n&&(t[r]=n[r]),t},{})}function ft(n,t){for(var r=-1,e=ir(n),u=e.length,i={};++r<u;){var o=e[r],f=n[o];t(f,o)&&(i[o]=f)}return i}function ct(n){return function(t){return null==t?Ni:t[n]}}function at(n){
|
28
|
+
return function(t){return Nn(t,n)}}function lt(n,t,r,e){var u=e?d:y,i=-1,o=t.length,f=n;for(r&&(f=l(n,O(r)));++i<o;)for(var c=0,a=t[i],s=r?r(a):a;(c=u(f,s,c,e))>-1;)f!==n&&fc.call(f,c,1),fc.call(n,c,1);return n}function st(n,t){for(var r=n?t.length:0,e=r-1;r--;){var u=t[r];if(r==e||u!==i){var i=u;if(Or(u))fc.call(n,u,1);else if(kr(u,n))delete n[Lr(u)];else{var o=Wt(u),f=Er(n,o);null!=f&&delete f[Lr(te(o))]}}}return n}function ht(n,t){return n+ac(gc()*(t-n+1))}function _t(n,t,r,e){t=kr(t,n)?[t]:Wt(t);
|
29
|
+
for(var u=-1,i=t.length,o=i-1,f=n;null!=f&&++u<i;){var c=Lr(t[u]);if(Wu(f)){var a=r;if(u!=o){var l=f[c];a=e?e(l,c,f):Ni,a===Ni&&(a=null==l?Or(t[u+1])?[]:{}:l)}jn(f,c,a)}f=f[c]}return n}function pt(n,t,r){var e=-1,u=n.length;0>t&&(t=-t>u?0:u+t),r=r>u?u:r,0>r&&(r+=u),u=t>r?0:r-t>>>0,t>>>=0;for(var i=Array(u);++e<u;)i[e]=n[e+t];return i}function vt(n,t){var r;return zc(n,function(n,e,u){return r=t(n,e,u),!r}),!!r}function gt(n,t,r){var e=0,u=n?n.length:e;if(typeof t=="number"&&t===t&&ho>=u){for(;u>e;){
|
30
|
+
var i=e+u>>>1,o=n[i];null!==o&&!Tu(o)&&(r?t>=o:t>o)?e=i+1:u=i}return u}return yt(n,t,$i,r)}function yt(n,t,r,e){t=r(t);for(var u=0,i=n?n.length:0,o=t!==t,f=null===t,c=Tu(t),a=t===Ni;i>u;){var l=ac((u+i)/2),s=r(n[l]),h=s!==Ni,_=null===s,p=s===s,v=Tu(s);if(o)var g=e||p;else g=a?p&&(e||h):f?p&&h&&(e||!_):c?p&&h&&!_&&(e||!v):_||v?false:e?t>=s:t>s;g?u=l+1:i=l}return vc(i,so)}function dt(n,t){for(var r=-1,e=n.length,u=0,i=[];++r<e;){var o=n[r],f=t?t(o):o;if(!r||!_u(f,c)){var c=f;i[u++]=0===o?0:o}}return i;
|
31
|
+
}function bt(n){if(typeof n=="string")return n;if(Tu(n))return Lc?Lc.call(n):"";var t=n+"";return"0"==t&&1/n==-oo?"-0":t}function wt(n,t,r){var e=-1,u=c,i=n.length,o=true,f=[],l=f;if(r)o=false,u=a;else if(i>=Pi){var s=t?null:Pc(n);if(s)return z(s);o=false,u=k,l=new sn}else l=t?[]:f;n:for(;++e<i;){var h=n[e],_=t?t(h):h;if(h=r||0!==h?h:0,o&&_===_){for(var p=l.length;p--;)if(l[p]===_)continue n;t&&l.push(_),f.push(h)}else u(l,_,r)||(l!==f&&l.push(_),f.push(h))}return f}function mt(n,t){t=kr(t,n)?[t]:Wt(t),n=Er(n,t);
|
32
|
+
var r=Lr(te(t));return!(null!=n&&Un(n,r))||delete n[r]}function jt(n,t,r,e){return _t(n,t,r(Nn(n,t)),e)}function Ot(n,t,r,e){for(var u=n.length,i=e?u:-1;(e?i--:++i<u)&&t(n[i],i,n););return r?pt(n,e?0:i,e?i+1:u):pt(n,e?i+1:0,e?u:i)}function At(n,t){var r=n;return r instanceof C&&(r=r.value()),h(t,function(n,t){return t.func.apply(t.thisArg,s([n],t.args))},r)}function kt(n,t,r){for(var e=-1,u=n.length;++e<u;)var i=i?s(Sn(i,n[e],t,r),Sn(n[e],i,t,r)):n[e];return i&&i.length?wt(i,t,r):[]}function xt(n,t,r){
|
33
|
+
for(var e=-1,u=n.length,i=t.length,o={};++e<u;){var f=i>e?t[e]:Ni;r(o,n[e],f)}return o}function It(n){return yu(n)?n:[]}function Rt(n){return typeof n=="function"?n:$i}function Wt(n){return ba(n)?n:Vc(n)}function St(n,t){if(t)return n.slice();var r=new n.constructor(n.length);return n.copy(r),r}function Bt(n){var t=new n.constructor(n.byteLength);return new tc(t).set(new tc(n)),t}function Et(n,t){var r=t?Bt(n.buffer):n.buffer;return new n.constructor(r,n.byteOffset,n.byteLength)}function $t(t,r,e){
|
34
|
+
var u=r?e($(t),true):$(t);return h(u,n,new t.constructor)}function Lt(n){var t=new n.constructor(n.source,ef.exec(n));return t.lastIndex=n.lastIndex,t}function zt(n,r,e){var u=r?e(z(n),true):z(n);return h(u,t,new n.constructor)}function Mt(n){return $c?Object($c.call(n)):{}}function Dt(n,t){var r=t?Bt(n.buffer):n.buffer;return new n.constructor(r,n.byteOffset,n.length)}function Nt(n,t){if(n!==t){var r=n!==Ni,e=null===n,u=n===n,i=Tu(n),o=t!==Ni,f=null===t,c=t===t,a=Tu(t);if(!f&&!a&&!i&&n>t||i&&o&&c&&!f&&!a||e&&o&&c||!r&&c||!u)return 1;
|
35
|
+
if(!e&&!i&&!a&&t>n||a&&r&&u&&!e&&!i||f&&r&&u||!o&&u||!c)return-1}return 0}function Ft(n,t,r){for(var e=-1,u=n.a,i=t.a,o=u.length,f=r.length;++e<o;){var c=Nt(u[e],i[e]);if(c){if(e>=f)return c;var a=r[e];return c*("desc"==a?-1:1)}}return n.b-t.b}function Pt(n,t,r,e){for(var u=-1,i=n.length,o=r.length,f=-1,c=t.length,a=pc(i-o,0),l=Array(c+a),s=!e;++f<c;)l[f]=t[f];for(;++u<o;)(s||i>u)&&(l[r[u]]=n[u]);for(;a--;)l[f++]=n[u++];return l}function Ut(n,t,r,e){for(var u=-1,i=n.length,o=-1,f=r.length,c=-1,a=t.length,l=pc(i-f,0),s=Array(l+a),h=!e;++u<l;)s[u]=n[u];
|
36
|
+
for(var _=u;++c<a;)s[_+c]=t[c];for(;++o<f;)(h||i>u)&&(s[_+r[o]]=n[u++]);return s}function Ct(n,t){var r=-1,e=n.length;for(t||(t=Array(e));++r<e;)t[r]=n[r];return t}function qt(n,t,r,e){r||(r={});for(var u=-1,i=t.length;++u<i;){var o=t[u],f=e?e(r[o],n[o],o,r,n):n[o];jn(r,o,f)}return r}function Tt(n,t){return qt(n,_r(n),t)}function Vt(n,t){return function(r,u){var i=ba(r)?e:An,o=t?t():{};return i(r,n,cr(u),o)}}function Kt(n){return fu(function(t,r){var e=-1,u=r.length,i=u>1?r[u-1]:Ni,o=u>2?r[2]:Ni;for(i=n.length>3&&typeof i=="function"?(u--,
|
37
|
+
i):Ni,o&&Ar(r[0],r[1],o)&&(i=3>u?Ni:i,u=1),t=Object(t);++e<u;){var f=r[e];f&&n(t,f,e,i)}return t})}function Gt(n,t){return function(r,e){if(null==r)return r;if(!gu(r))return n(r,e);for(var u=r.length,i=t?u:-1,o=Object(r);(t?i--:++i<u)&&e(o[i],i,o)!==false;);return r}}function Jt(n){return function(t,r,e){for(var u=-1,i=Object(t),o=e(t),f=o.length;f--;){var c=o[n?f:++u];if(r(i[c],c,i)===false)break}return t}}function Ht(n){return function(){var t=arguments;switch(t.length){case 0:return new n;case 1:return new n(t[0]);
|
38
|
+
case 2:return new n(t[0],t[1]);case 3:return new n(t[0],t[1],t[2]);case 4:return new n(t[0],t[1],t[2],t[3]);case 5:return new n(t[0],t[1],t[2],t[3],t[4]);case 6:return new n(t[0],t[1],t[2],t[3],t[4],t[5]);case 7:return new n(t[0],t[1],t[2],t[3],t[4],t[5],t[6])}var r=Wn(n.prototype),e=n.apply(r,t);return Wu(e)?e:r}}function Qt(n,t,r,e,u,i,o,f,c,a){function l(){for(var y=arguments.length,d=Array(y),b=y;b--;)d[b]=arguments[b];if(p)var w=fr(l),m=I(d,w);if(e&&(d=Pt(d,e,u,p)),i&&(d=Ut(d,i,o,p)),y-=m,p&&a>y){
|
39
|
+
var j=L(d,w);return Zt(n,t,Qt,l.placeholder,r,d,j,f,c,a-y)}var O=h?r:this,A=_?O[n]:n;return y=d.length,f?d=$r(d,f):v&&y>1&&d.reverse(),s&&y>c&&(d.length=c),this&&this!==Tf&&this instanceof l&&(A=g||Ht(A)),A.apply(O,d)}var s=t&Xi,h=t&Ti,_=t&Vi,p=t&(Gi|Ji),v=t&Yi,g=_?Ni:Ht(n);return l}function Xt(n,t){return function(r,e){return Tn(r,n,t(e),{})}}function Yt(n){return function(t,r){return typeof t=="string"&&typeof r=="string"||(t=Zu(t),r=Zu(r)),n(t,r)}}function Zt(n,t,r,e,u,i,o,f,c,a){var l=t&Gi,s=l?o:Ni,h=l?Ni:o,_=l?i:Ni,p=l?Ni:i;
|
40
|
+
t|=l?Hi:Qi,t&=~(l?Qi:Hi),t&Ki||(t&=~(Ti|Vi));var v=[n,t,u,_,s,p,h,f,c,a],g=r.apply(Ni,v);return Ir(n)&&Tc(g,v),g.placeholder=e,g}function nr(n){return function(t){var r=pr(t);return r==mo?$(t):r==xo?M(t):j(t,n(t))}}function tr(n,t,r,e,u,i){var o=u&no,f=n.length,c=t.length;if(f!=c&&!(o&&c>f))return false;var a=i.get(n);if(a)return a==t;var l=-1,s=true,h=u&Zi?new sn:Ni;for(i.set(n,t);++l<f;){var _=n[l],v=t[l];if(e)var g=o?e(v,_,l,t,n,i):e(_,v,l,n,t,i);if(g!==Ni){if(g)continue;s=false;break}if(h){if(!p(t,function(n,t){
|
41
|
+
return h.has(t)||_!==n&&!r(_,n,e,u,i)?Ni:h.add(t)})){s=false;break}}else if(_!==v&&!r(_,v,e,u,i)){s=false;break}}return i["delete"](n),s}function rr(n,t,r,e,u,i,o){switch(r){case Eo:if(n.byteLength!=t.byteLength||n.byteOffset!=t.byteOffset)return false;n=n.buffer,t=t.buffer;case Bo:return!(n.byteLength!=t.byteLength||!e(new tc(n),new tc(t)));case vo:case go:return+n==+t;case yo:return n.name==t.name&&n.message==t.message;case jo:return n!=+n?t!=+t:n==+t;case ko:case Io:return n==t+"";case mo:var f=$;case xo:
|
42
|
+
var c=i&no;if(f||(f=z),n.size!=t.size&&!c)return false;var a=o.get(n);return a?a==t:(i|=Zi,o.set(n,t),tr(f(n),f(t),e,u,i,o));case Ro:if($c)return $c.call(n)==$c.call(t)}return false}function er(n,t,r,e,u,i){var o=u&no,f=vi(n),c=f.length,a=vi(t),l=a.length;if(c!=l&&!o)return false;for(var s=c;s--;){var h=f[s];if(!(o?h in t:Un(t,h)))return false}var _=i.get(n);if(_)return _==t;var p=true;i.set(n,t);for(var v=o;++s<c;){h=f[s];var g=n[h],y=t[h];if(e)var d=o?e(y,g,h,t,n,i):e(g,y,h,n,t,i);if(!(d===Ni?g===y||r(g,y,e,u,i):d)){
|
43
|
+
p=false;break}v||(v="constructor"==h)}if(p&&!v){var b=n.constructor,w=t.constructor;b!=w&&"constructor"in n&&"constructor"in t&&!(typeof b=="function"&&b instanceof b&&typeof w=="function"&&w instanceof w)&&(p=false)}return i["delete"](n),p}function ur(n){return Fn(n,vi,_r)}function ir(n){return Fn(n,gi,qc)}function or(n){for(var t=n.name+"",r=xc[t],e=Jf.call(xc,t)?r.length:0;e--;){var u=r[e],i=u.func;if(null==i||i==n)return u.name}return t}function fr(n){var t=Jf.call(F,"placeholder")?F:n;return t.placeholder;
|
44
|
+
}function cr(){var n=F.iteratee||Li;return n=n===Li?Hn:n,arguments.length?n(arguments[0],arguments[1]):n}function ar(n,t){var r=n.__data__;return xr(t)?r[typeof t=="string"?"string":"hash"]:r.map}function lr(n){for(var t=Da(n),r=t.length;r--;)t[r][2]=Wr(t[r][1]);return t}function sr(n,t){var r=n[t];return zu(r)?r:Ni}function hr(n){return lc(Object(n))}function _r(n){return ec(Object(n))}function pr(n){return Qf.call(n)}function vr(n,t,r){for(var e=-1,u=r.length;++e<u;){var i=r[e],o=i.size;switch(i.type){
|
45
|
+
case"drop":n+=o;break;case"dropRight":t-=o;break;case"take":t=vc(t,n+o);break;case"takeRight":n=pc(n,t-o)}}return{start:n,end:t}}function gr(n,t,r){t=kr(t,n)?[t]:Wt(t);for(var e,u=-1,i=t.length;++u<i;){var o=Lr(t[u]);if(!(e=null!=n&&r(n,o)))break;n=n[o]}if(e)return e;var i=n?n.length:0;return!!i&&Ru(i)&&Or(o,i)&&(ba(n)||qu(n)||pu(n))}function yr(n){var t=n.length,r=n.constructor(t);return t&&"string"==typeof n[0]&&Jf.call(n,"index")&&(r.index=n.index,r.input=n.input),r}function dr(n){return typeof n.constructor!="function"||Rr(n)?{}:Wn(hr(n));
|
46
|
+
}function br(n,t,r,e){var u=n.constructor;switch(t){case Bo:return Bt(n);case vo:case go:return new u(+n);case Eo:return Et(n,e);case $o:case Lo:case zo:case Mo:case Do:case No:case Fo:case Po:case Uo:return Dt(n,e);case mo:return $t(n,e,r);case jo:case Io:return new u(n);case ko:return Lt(n);case xo:return zt(n,e,r);case Ro:return Mt(n)}}function wr(n){var t=n?n.length:Ni;return Ru(t)&&(ba(n)||qu(n)||pu(n))?m(t,String):null}function mr(n){return ba(n)||pu(n)}function jr(n){return ba(n)&&!(2==n.length&&!xu(n[0]));
|
47
|
+
}function Or(n,t){return t=null==t?fo:t,!!t&&(typeof n=="number"||af.test(n))&&n>-1&&n%1==0&&t>n}function Ar(n,t,r){if(!Wu(r))return false;var e=typeof t;return("number"==e?gu(r)&&Or(t,r.length):"string"==e&&t in r)?_u(r[t],n):false}function kr(n,t){if(ba(n))return false;var r=typeof n;return"number"==r||"symbol"==r||"boolean"==r||null==n||Tu(n)?true:Xo.test(n)||!Qo.test(n)||null!=t&&n in Object(t)}function xr(n){var t=typeof n;return"string"==t||"number"==t||"symbol"==t||"boolean"==t?"__proto__"!==n:null===n;
|
48
|
+
}function Ir(n){var t=or(n),r=F[t];if(typeof r!="function"||!(t in C.prototype))return false;if(n===r)return true;var e=Uc(r);return!!e&&n===e[0]}function Rr(n){var t=n&&n.constructor,r=typeof t=="function"&&t.prototype||Kf;return n===r}function Wr(n){return n===n&&!Wu(n)}function Sr(n,t){return function(r){return null==r?false:r[n]===t&&(t!==Ni||n in Object(r))}}function Br(n,t,r,e,u,i){return Wu(n)&&Wu(t)&&rt(n,t,Ni,Br,i.set(t,n)),n}function Er(n,t){return 1==t.length?n:Nn(n,pt(t,0,-1))}function $r(n,t){
|
49
|
+
for(var r=n.length,e=vc(t.length,r),u=Ct(n);e--;){var i=t[e];n[e]=Or(i,r)?u[i]:Ni}return n}function Lr(n){if(typeof n=="string"||Tu(n))return n;var t=n+"";return"0"==t&&1/n==-oo?"-0":t}function zr(n){if(null!=n){try{return Gf.call(n)}catch(t){}try{return n+""}catch(t){}}return""}function Mr(n){if(n instanceof C)return n.clone();var t=new U(n.__wrapped__,n.__chain__);return t.__actions__=Ct(n.__actions__),t.__index__=n.__index__,t.__values__=n.__values__,t}function Dr(n,t,r){t=(r?Ar(n,t,r):t===Ni)?1:pc(Xu(t),0);
|
50
|
+
var e=n?n.length:0;if(!e||1>t)return[];for(var u=0,i=0,o=Array(cc(e/t));e>u;)o[i++]=pt(n,u,u+=t);return o}function Nr(n){for(var t=-1,r=n?n.length:0,e=0,u=[];++t<r;){var i=n[t];i&&(u[e++]=i)}return u}function Fr(){for(var n=arguments.length,t=Array(n?n-1:0),r=arguments[0],e=n;e--;)t[e-1]=arguments[e];return n?s(ba(r)?Ct(r):[r],Ln(t,1)):[]}function Pr(n,t,r){var e=n?n.length:0;return e?(t=r||t===Ni?1:Xu(t),pt(n,0>t?0:t,e)):[]}function Ur(n,t,r){var e=n?n.length:0;return e?(t=r||t===Ni?1:Xu(t),t=e-t,
|
51
|
+
pt(n,0,0>t?0:t)):[]}function Cr(n,t){return n&&n.length?Ot(n,cr(t,3),true,true):[]}function qr(n,t){return n&&n.length?Ot(n,cr(t,3),true):[]}function Tr(n,t,r,e){var u=n?n.length:0;return u?(r&&typeof r!="number"&&Ar(n,t,r)&&(r=0,e=u),En(n,t,r,e)):[]}function Vr(n,t){return n&&n.length?g(n,cr(t,3)):-1}function Kr(n,t){return n&&n.length?g(n,cr(t,3),true):-1}function Gr(n){var t=n?n.length:0;return t?Ln(n,1):[]}function Jr(n){var t=n?n.length:0;return t?Ln(n,oo):[]}function Hr(n,t){var r=n?n.length:0;return r?(t=t===Ni?1:Xu(t),
|
52
|
+
Ln(n,t)):[]}function Qr(n){for(var t=-1,r=n?n.length:0,e={};++t<r;){var u=n[t];e[u[0]]=u[1]}return e}function Xr(n){return n&&n.length?n[0]:Ni}function Yr(n,t,r){var e=n?n.length:0;return e?(r=Xu(r),0>r&&(r=pc(e+r,0)),y(n,t,r)):-1}function Zr(n){return Ur(n,1)}function ne(n,t){return n?hc.call(n,t):""}function te(n){var t=n?n.length:0;return t?n[t-1]:Ni}function re(n,t,r){var e=n?n.length:0;if(!e)return-1;var u=e;if(r!==Ni&&(u=Xu(r),u=(0>u?pc(e+u,0):vc(u,e-1))+1),t!==t)return S(n,u,true);for(;u--;)if(n[u]===t)return u;
|
53
|
+
return-1}function ee(n,t){return n&&n.length?ut(n,Xu(t)):Ni}function ue(n,t){return n&&n.length&&t&&t.length?lt(n,t):n}function ie(n,t,r){return n&&n.length&&t&&t.length?lt(n,t,cr(r)):n}function oe(n,t,r){return n&&n.length&&t&&t.length?lt(n,t,Ni,r):n}function fe(n,t){var r=[];if(!n||!n.length)return r;var e=-1,u=[],i=n.length;for(t=cr(t,3);++e<i;){var o=n[e];t(o,e,n)&&(r.push(o),u.push(e))}return st(n,u),r}function ce(n){return n?yc.call(n):n}function ae(n,t,r){var e=n?n.length:0;return e?(r&&typeof r!="number"&&Ar(n,t,r)?(t=0,
|
54
|
+
r=e):(t=null==t?0:Xu(t),r=r===Ni?e:Xu(r)),pt(n,t,r)):[]}function le(n,t){return gt(n,t)}function se(n,t,r){return yt(n,t,cr(r))}function he(n,t){var r=n?n.length:0;if(r){var e=gt(n,t);if(r>e&&_u(n[e],t))return e}return-1}function _e(n,t){return gt(n,t,true)}function pe(n,t,r){return yt(n,t,cr(r),true)}function ve(n,t){var r=n?n.length:0;if(r){var e=gt(n,t,true)-1;if(_u(n[e],t))return e}return-1}function ge(n){return n&&n.length?dt(n):[]}function ye(n,t){return n&&n.length?dt(n,cr(t)):[]}function de(n){
|
55
|
+
return Pr(n,1)}function be(n,t,r){return n&&n.length?(t=r||t===Ni?1:Xu(t),pt(n,0,0>t?0:t)):[]}function we(n,t,r){var e=n?n.length:0;return e?(t=r||t===Ni?1:Xu(t),t=e-t,pt(n,0>t?0:t,e)):[]}function me(n,t){return n&&n.length?Ot(n,cr(t,3),false,true):[]}function je(n,t){return n&&n.length?Ot(n,cr(t,3)):[]}function Oe(n){return n&&n.length?wt(n):[]}function Ae(n,t){return n&&n.length?wt(n,cr(t)):[]}function ke(n,t){return n&&n.length?wt(n,Ni,t):[]}function xe(n){if(!n||!n.length)return[];var t=0;return n=f(n,function(n){
|
56
|
+
return yu(n)?(t=pc(n.length,t),true):Ni}),m(t,function(t){return l(n,ct(t))})}function Ie(n,t){if(!n||!n.length)return[];var e=xe(n);return null==t?e:l(e,function(n){return r(t,Ni,n)})}function Re(n,t){return xt(n||[],t||[],jn)}function We(n,t){return xt(n||[],t||[],_t)}function Se(n){var t=F(n);return t.__chain__=true,t}function Be(n,t){return t(n),n}function Ee(n,t){return t(n)}function $e(){return Se(this)}function Le(){return new U(this.value(),this.__chain__)}function ze(){this.__values__===Ni&&(this.__values__=Hu(this.value()));
|
57
|
+
var n=this.__index__>=this.__values__.length,t=n?Ni:this.__values__[this.__index__++];return{done:n,value:t}}function Me(){return this}function De(n){for(var t,r=this;r instanceof P;){var e=Mr(r);e.__index__=0,e.__values__=Ni,t?u.__wrapped__=e:t=e;var u=e;r=r.__wrapped__}return u.__wrapped__=n,t}function Ne(){var n=this.__wrapped__;if(n instanceof C){var t=n;return this.__actions__.length&&(t=new C(this)),t=t.reverse(),t.__actions__.push({func:Ee,args:[ce],thisArg:Ni}),new U(t,this.__chain__)}return this.thru(ce);
|
58
|
+
}function Fe(){return At(this.__wrapped__,this.__actions__)}function Pe(n,t,r){var e=ba(n)?o:Bn;return r&&Ar(n,t,r)&&(t=Ni),e(n,cr(t,3))}function Ue(n,t){var r=ba(n)?f:$n;return r(n,cr(t,3))}function Ce(n,t){if(t=cr(t,3),ba(n)){var r=g(n,t);return r>-1?n[r]:Ni}return v(n,t,zc)}function qe(n,t){if(t=cr(t,3),ba(n)){var r=g(n,t,true);return r>-1?n[r]:Ni}return v(n,t,Mc)}function Te(n,t){return Ln(Qe(n,t),1)}function Ve(n,t){return Ln(Qe(n,t),oo)}function Ke(n,t,r){return r=r===Ni?1:Xu(r),Ln(Qe(n,t),r);
|
59
|
+
}function Ge(n,t){var r=ba(n)?u:zc;return r(n,cr(t,3))}function Je(n,t){var r=ba(n)?i:Mc;return r(n,cr(t,3))}function He(n,t,r,e){n=gu(n)?n:Ri(n),r=r&&!e?Xu(r):0;var u=n.length;return 0>r&&(r=pc(u+r,0)),qu(n)?u>=r&&n.indexOf(t,r)>-1:!!u&&y(n,t,r)>-1}function Qe(n,t){var r=ba(n)?l:Zn;return r(n,cr(t,3))}function Xe(n,t,r,e){return null==n?[]:(ba(t)||(t=null==t?[]:[t]),r=e?Ni:r,ba(r)||(r=null==r?[]:[r]),it(n,t,r))}function Ye(n,t,r){var e=ba(n)?h:b,u=3>arguments.length;return e(n,cr(t,4),r,u,zc)}function Ze(n,t,r){
|
60
|
+
var e=ba(n)?_:b,u=3>arguments.length;return e(n,cr(t,4),r,u,Mc)}function nu(n,t){var r=ba(n)?f:$n;return t=cr(t,3),r(n,function(n,r,e){return!t(n,r,e)})}function tu(n){var t=gu(n)?n:Ri(n),r=t.length;return r>0?t[ht(0,r-1)]:Ni}function ru(n,t,r){var e=-1,u=Hu(n),i=u.length,o=i-1;for(t=(r?Ar(n,t,r):t===Ni)?1:In(Xu(t),0,i);++e<t;){var f=ht(e,o),c=u[f];u[f]=u[e],u[e]=c}return u.length=t,u}function eu(n){return ru(n,lo)}function uu(n){if(null==n)return 0;if(gu(n)){var t=n.length;return t&&qu(n)?D(n):t;
|
61
|
+
}if(Su(n)){var r=pr(n);if(r==mo||r==xo)return n.size}return vi(n).length}function iu(n,t,r){var e=ba(n)?p:vt;return r&&Ar(n,t,r)&&(t=Ni),e(n,cr(t,3))}function ou(n,t){if(typeof n!="function"||t&&typeof t!="function")throw new TypeError(Ui);var r=function(){var e=arguments,u=t?t.apply(this,e):e[0],i=r.cache;if(i.has(u))return i.get(u);var o=n.apply(this,e);return r.cache=i.set(u,o),o};return r.cache=new(ou.Cache||un),r}function fu(n,t){if(typeof n!="function")throw new TypeError(Ui);return t=pc(t===Ni?n.length-1:Xu(t),0),
|
62
|
+
function(){for(var e=arguments,u=-1,i=pc(e.length-t,0),o=Array(i);++u<i;)o[u]=e[t+u];switch(t){case 0:return n.call(this,o);case 1:return n.call(this,e[0],o);case 2:return n.call(this,e[0],e[1],o)}var f=Array(t+1);for(u=-1;++u<t;)f[u]=e[u];return f[t]=o,r(n,this,f)}}function cu(){if(!arguments.length)return[];var n=arguments[0];return ba(n)?n:[n]}function au(n){return Rn(n,false,true)}function lu(n,t){return Rn(n,false,true,t)}function su(n){return Rn(n,true,true)}function hu(n,t){return Rn(n,true,true,t)}function _u(n,t){
|
63
|
+
return n===t||n!==n&&t!==t}function pu(n){return yu(n)&&Jf.call(n,"callee")&&(!oc.call(n,"callee")||Qf.call(n)==_o)}function vu(n){return Su(n)&&Qf.call(n)==Bo}function gu(n){return null!=n&&Ru(Cc(n))&&!xu(n)}function yu(n){return Su(n)&&gu(n)}function du(n){return n===true||n===false||Su(n)&&Qf.call(n)==vo}function bu(n){return Su(n)&&Qf.call(n)==go}function wu(n){return!!n&&1===n.nodeType&&Su(n)&&!Fu(n)}function mu(n){if(gu(n)&&(ba(n)||qu(n)||xu(n.splice)||pu(n)||wa(n)))return!n.length;if(Su(n)){var t=pr(n);
|
64
|
+
if(t==mo||t==xo)return!n.size}for(var r in n)if(Jf.call(n,r))return false;return!(kc&&vi(n).length)}function ju(n,t){return Kn(n,t)}function Ou(n,t,r){r=typeof r=="function"?r:Ni;var e=r?r(n,t):Ni;return e===Ni?Kn(n,t,r):!!e}function Au(n){return Su(n)?Qf.call(n)==yo||typeof n.message=="string"&&typeof n.name=="string":false}function ku(n){return typeof n=="number"&&sc(n)}function xu(n){var t=Wu(n)?Qf.call(n):"";return t==bo||t==wo}function Iu(n){return typeof n=="number"&&n==Xu(n)}function Ru(n){return typeof n=="number"&&n>-1&&n%1==0&&fo>=n;
|
65
|
+
}function Wu(n){var t=typeof n;return!!n&&("object"==t||"function"==t)}function Su(n){return!!n&&typeof n=="object"}function Bu(n){return Su(n)&&pr(n)==mo}function Eu(n,t){return n===t||Jn(n,t,lr(t))}function $u(n,t,r){return r=typeof r=="function"?r:Ni,Jn(n,t,lr(t),r)}function Lu(n){return Nu(n)&&n!=+n}function zu(n){if(!Wu(n))return false;var t=xu(n)||B(n)?Xf:ff;return t.test(zr(n))}function Mu(n){return null===n}function Du(n){return null==n}function Nu(n){return typeof n=="number"||Su(n)&&Qf.call(n)==jo;
|
66
|
+
}function Fu(n){if(!Su(n)||Qf.call(n)!=Oo||B(n))return false;var t=hr(n);if(null===t)return true;var r=Jf.call(t,"constructor")&&t.constructor;return typeof r=="function"&&r instanceof r&&Gf.call(r)==Hf}function Pu(n){return Wu(n)&&Qf.call(n)==ko}function Uu(n){return Iu(n)&&n>=-fo&&fo>=n}function Cu(n){return Su(n)&&pr(n)==xo}function qu(n){return typeof n=="string"||!ba(n)&&Su(n)&&Qf.call(n)==Io}function Tu(n){return typeof n=="symbol"||Su(n)&&Qf.call(n)==Ro}function Vu(n){return Su(n)&&Ru(n.length)&&!!Bf[Qf.call(n)];
|
67
|
+
}function Ku(n){return n===Ni}function Gu(n){return Su(n)&&pr(n)==Wo}function Ju(n){return Su(n)&&Qf.call(n)==So}function Hu(n){if(!n)return[];if(gu(n))return qu(n)?N(n):Ct(n);if(uc&&n[uc])return E(n[uc]());var t=pr(n),r=t==mo?$:t==xo?z:Ri;return r(n)}function Qu(n){if(!n)return 0===n?n:0;if(n=Zu(n),n===oo||n===-oo){var t=0>n?-1:1;return t*co}return n===n?n:0}function Xu(n){var t=Qu(n),r=t%1;return t===t?r?t-r:t:0}function Yu(n){return n?In(Xu(n),0,lo):0}function Zu(n){if(typeof n=="number")return n;
|
68
|
+
if(Tu(n))return ao;if(Wu(n)){var t=xu(n.valueOf)?n.valueOf():n;n=Wu(t)?t+"":t}if(typeof n!="string")return 0===n?n:+n;n=n.replace(nf,"");var r=of.test(n);return r||cf.test(n)?Mf(n.slice(2),r?2:8):uf.test(n)?ao:+n}function ni(n){return qt(n,gi(n))}function ti(n){return In(Xu(n),-fo,fo)}function ri(n){return null==n?"":bt(n)}function ei(n,t){var r=Wn(n);return t?kn(r,t):r}function ui(n,t){return v(n,cr(t,3),zn,true)}function ii(n,t){return v(n,cr(t,3),Mn,true)}function oi(n,t){return null==n?n:Dc(n,cr(t,3),gi);
|
69
|
+
}function fi(n,t){return null==n?n:Nc(n,cr(t,3),gi)}function ci(n,t){return n&&zn(n,cr(t,3))}function ai(n,t){return n&&Mn(n,cr(t,3))}function li(n){return null==n?[]:Dn(n,vi(n))}function si(n){return null==n?[]:Dn(n,gi(n))}function hi(n,t,r){var e=null==n?Ni:Nn(n,t);return e===Ni?r:e}function _i(n,t){return null!=n&&gr(n,t,Un)}function pi(n,t){return null!=n&&gr(n,t,Cn)}function vi(n){var t=Rr(n);if(!t&&!gu(n))return Qn(n);var r=wr(n),e=!!r,u=r||[],i=u.length;for(var o in n)!Un(n,o)||e&&("length"==o||Or(o,i))||t&&"constructor"==o||u.push(o);
|
70
|
+
return u}function gi(n){for(var t=-1,r=Rr(n),e=Xn(n),u=e.length,i=wr(n),o=!!i,f=i||[],c=f.length;++t<u;){var a=e[t];o&&("length"==a||Or(a,c))||"constructor"==a&&(r||!Jf.call(n,a))||f.push(a)}return f}function yi(n,t){var r={};return t=cr(t,3),zn(n,function(n,e,u){r[t(n,e,u)]=n}),r}function di(n,t){var r={};return t=cr(t,3),zn(n,function(n,e,u){r[e]=t(n,e,u)}),r}function bi(n,t){return t=cr(t),ft(n,function(n,r){return!t(n,r)})}function wi(n,t){return null==n?{}:ft(n,cr(t))}function mi(n,t,r){t=kr(t,n)?[t]:Wt(t);
|
71
|
+
var e=-1,u=t.length;for(u||(n=Ni,u=1);++e<u;){var i=null==n?Ni:n[Lr(t[e])];i===Ni&&(e=u,i=r),n=xu(i)?i.call(n):i}return n}function ji(n,t,r){return null==n?n:_t(n,t,r)}function Oi(n,t,r,e){return e=typeof e=="function"?e:Ni,null==n?n:_t(n,t,r,e)}function Ai(n,t,r){var e=ba(n)||Vu(n);if(t=cr(t,4),null==r)if(e||Wu(n)){var i=n.constructor;r=e?ba(n)?new i:[]:xu(i)?Wn(hr(n)):{}}else r={};return(e?u:zn)(n,function(n,e,u){return t(r,n,e,u)}),r}function ki(n,t){return null==n?true:mt(n,t)}function xi(n,t,r){
|
72
|
+
return null==n?n:jt(n,t,Rt(r))}function Ii(n,t,r,e){return e=typeof e=="function"?e:Ni,null==n?n:jt(n,t,Rt(r),e)}function Ri(n){return n?A(n,vi(n)):[]}function Wi(n){return null==n?[]:A(n,gi(n))}function Si(n){return n=ri(n),n&&Ko.test(n)?n.replace(Vo,R):n}function Bi(n,t,r){var e=F.templateSettings;r&&Ar(n,t,r)&&(t=Ni),n=ri(n),t=ka({},t,e,wn);var u,i,o=ka({},t.imports,e.imports,wn),f=vi(o),c=A(o,f),a=0,l=t.interpolate||lf,s="__p+='",h=RegExp((t.escape||lf).source+"|"+l.source+"|"+(l===Ho?rf:lf).source+"|"+(t.evaluate||lf).source+"|$","g"),_="sourceURL"in t?"//# sourceURL="+t.sourceURL+"\n":"";
|
73
|
+
n.replace(h,function(t,r,e,o,f,c){return e||(e=o),s+=n.slice(a,c).replace(sf,W),r&&(u=true,s+="'+__e("+r+")+'"),f&&(i=true,s+="';"+f+";\n__p+='"),e&&(s+="'+((__t=("+e+"))==null?'':__t)+'"),a=c+t.length,t}),s+="';";var p=t.variable;p||(s="with(obj){"+s+"}"),s=(i?s.replace(Co,""):s).replace(qo,"$1").replace(To,"$1;"),s="function("+(p||"obj")+"){"+(p?"":"obj||(obj={});")+"var __t,__p=''"+(u?",__e=_.escape":"")+(i?",__j=Array.prototype.join;function print(){__p+=__j.call(arguments,'')}":";")+s+"return __p}";
|
74
|
+
var v=Fa(function(){return Function(f,_+"return "+s).apply(Ni,c)});if(v.source=s,Au(v))throw v;return v}function Ei(n){return function(){return n}}function $i(n){return n}function Li(n){return Hn(typeof n=="function"?n:Rn(n,true))}function zi(n,t,r){var e=vi(t),i=Dn(t,e);null!=r||Wu(t)&&(i.length||!e.length)||(r=t,t=n,n=this,i=Dn(t,vi(t)));var o=!(Wu(r)&&"chain"in r&&!r.chain),f=xu(n);return u(i,function(r){var e=t[r];n[r]=e,f&&(n.prototype[r]=function(){var t=this.__chain__;if(o||t){var r=n(this.__wrapped__),u=r.__actions__=Ct(this.__actions__);
|
75
|
+
return u.push({func:e,args:arguments,thisArg:n}),r.__chain__=t,r}return e.apply(n,s([this.value()],arguments))})}),n}function Mi(){}function Di(n){return kr(n)?ct(Lr(n)):at(n)}var Ni,Fi="4.12.0",Pi=200,Ui="Expected a function",Ci="__lodash_hash_undefined__",qi="__lodash_placeholder__",Ti=1,Vi=2,Ki=4,Gi=8,Ji=16,Hi=32,Qi=64,Xi=128,Yi=512,Zi=1,no=2,to=150,ro=16,eo=1,uo=2,io=3,oo=1/0,fo=9007199254740991,co=1.7976931348623157e308,ao=NaN,lo=4294967295,so=lo-1,ho=lo>>>1,_o="[object Arguments]",po="[object Array]",vo="[object Boolean]",go="[object Date]",yo="[object Error]",bo="[object Function]",wo="[object GeneratorFunction]",mo="[object Map]",jo="[object Number]",Oo="[object Object]",Ao="[object Promise]",ko="[object RegExp]",xo="[object Set]",Io="[object String]",Ro="[object Symbol]",Wo="[object WeakMap]",So="[object WeakSet]",Bo="[object ArrayBuffer]",Eo="[object DataView]",$o="[object Float32Array]",Lo="[object Float64Array]",zo="[object Int8Array]",Mo="[object Int16Array]",Do="[object Int32Array]",No="[object Uint8Array]",Fo="[object Uint8ClampedArray]",Po="[object Uint16Array]",Uo="[object Uint32Array]",Co=/\b__p\+='';/g,qo=/\b(__p\+=)''\+/g,To=/(__e\(.*?\)|\b__t\))\+'';/g,Vo=/[&<>"'`]/g,Ko=RegExp(Vo.source),Go=/<%-([\s\S]+?)%>/g,Jo=/<%([\s\S]+?)%>/g,Ho=/<%=([\s\S]+?)%>/g,Qo=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,Xo=/^\w*$/,Yo=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]/g,Zo=/[\\^$.*+?()[\]{}|]/g,nf=/^\s+|\s+$/g,tf=/\\(\\)?/g,rf=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,ef=/\w*$/,uf=/^[-+]0x[0-9a-f]+$/i,of=/^0b[01]+$/i,ff=/^\[object .+?Constructor\]$/,cf=/^0o[0-7]+$/i,af=/^(?:0|[1-9]\d*)$/,lf=/($^)/,sf=/['\n\r\u2028\u2029\\]/g,hf="\\ud800-\\udfff",_f="\\u0300-\\u036f\\ufe20-\\ufe23",pf="\\u20d0-\\u20f0",vf="\\ufe0e\\ufe0f",gf="["+hf+"]",yf="["+_f+pf+"]",df="\\ud83c[\\udffb-\\udfff]",bf="(?:"+yf+"|"+df+")",wf="[^"+hf+"]",mf="(?:\\ud83c[\\udde6-\\uddff]){2}",jf="[\\ud800-\\udbff][\\udc00-\\udfff]",Of="\\u200d",Af=bf+"?",kf="["+vf+"]?",xf="(?:"+Of+"(?:"+[wf,mf,jf].join("|")+")"+kf+Af+")*",If=kf+Af+xf,Rf="(?:"+[wf+yf+"?",yf,mf,jf,gf].join("|")+")",Wf=RegExp(df+"(?="+df+")|"+Rf+If,"g"),Sf=RegExp("["+Of+hf+_f+pf+vf+"]"),Bf={};
|
76
|
+
Bf[$o]=Bf[Lo]=Bf[zo]=Bf[Mo]=Bf[Do]=Bf[No]=Bf[Fo]=Bf[Po]=Bf[Uo]=true,Bf[_o]=Bf[po]=Bf[Bo]=Bf[vo]=Bf[Eo]=Bf[go]=Bf[yo]=Bf[bo]=Bf[mo]=Bf[jo]=Bf[Oo]=Bf[ko]=Bf[xo]=Bf[Io]=Bf[Wo]=false;var Ef={};Ef[_o]=Ef[po]=Ef[Bo]=Ef[Eo]=Ef[vo]=Ef[go]=Ef[$o]=Ef[Lo]=Ef[zo]=Ef[Mo]=Ef[Do]=Ef[mo]=Ef[jo]=Ef[Oo]=Ef[ko]=Ef[xo]=Ef[Io]=Ef[Ro]=Ef[No]=Ef[Fo]=Ef[Po]=Ef[Uo]=true,Ef[yo]=Ef[bo]=Ef[Wo]=false;var $f={"&":"&","<":"<",">":">",'"':""","'":"'","`":"`"},Lf={"function":true,object:true},zf={"\\":"\\","'":"'","\n":"n",
|
77
|
+
"\r":"r","\u2028":"u2028","\u2029":"u2029"},Mf=parseInt,Df=Lf[typeof exports]&&exports&&!exports.nodeType?exports:Ni,Nf=Lf[typeof module]&&module&&!module.nodeType?module:Ni,Ff=Nf&&Nf.exports===Df?Df:Ni,Pf=x(Df&&Nf&&typeof global=="object"&&global),Uf=x(Lf[typeof self]&&self),Cf=x(Lf[typeof window]&&window),qf=x(Lf[typeof this]&&this),Tf=Pf||Cf!==(qf&&qf.window)&&Cf||Uf||qf||Function("return this")(),Vf=Array.prototype,Kf=Object.prototype,Gf=Function.prototype.toString,Jf=Kf.hasOwnProperty,Hf=Gf.call(Object),Qf=Kf.toString,Xf=RegExp("^"+Gf.call(Jf).replace(Zo,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),Yf=Ff?Tf.Buffer:Ni,Zf=Tf.Reflect,nc=Tf.Symbol,tc=Tf.Uint8Array,rc=Zf?Zf.enumerate:Ni,ec=Object.getOwnPropertySymbols,uc=typeof(uc=nc&&nc.iterator)=="symbol"?uc:Ni,ic=Object.create,oc=Kf.propertyIsEnumerable,fc=Vf.splice,cc=Math.ceil,ac=Math.floor,lc=Object.getPrototypeOf,sc=Tf.isFinite,hc=Vf.join,_c=Object.keys,pc=Math.max,vc=Math.min,gc=Math.random,yc=Vf.reverse,dc=sr(Tf,"DataView"),bc=sr(Tf,"Map"),wc=sr(Tf,"Promise"),mc=sr(Tf,"Set"),jc=sr(Tf,"WeakMap"),Oc=sr(Object,"create"),Ac=jc&&new jc,kc=!oc.call({
|
78
|
+
valueOf:1},"valueOf"),xc={},Ic=zr(dc),Rc=zr(bc),Wc=zr(wc),Sc=zr(mc),Bc=zr(jc),Ec=nc?nc.prototype:Ni,$c=Ec?Ec.valueOf:Ni,Lc=Ec?Ec.toString:Ni;F.templateSettings={escape:Go,evaluate:Jo,interpolate:Ho,variable:"",imports:{_:F}},F.prototype=P.prototype,F.prototype.constructor=F,U.prototype=Wn(P.prototype),U.prototype.constructor=U,C.prototype=Wn(P.prototype),C.prototype.constructor=C,K.prototype.clear=G,K.prototype["delete"]=J,K.prototype.get=H,K.prototype.has=Q,K.prototype.set=X,Y.prototype.clear=Z,
|
79
|
+
Y.prototype["delete"]=nn,Y.prototype.get=tn,Y.prototype.has=rn,Y.prototype.set=en,un.prototype.clear=on,un.prototype["delete"]=fn,un.prototype.get=cn,un.prototype.has=an,un.prototype.set=ln,sn.prototype.add=sn.prototype.push=hn,sn.prototype.has=_n,pn.prototype.clear=vn,pn.prototype["delete"]=gn,pn.prototype.get=yn,pn.prototype.has=dn,pn.prototype.set=bn;var zc=Gt(zn),Mc=Gt(Mn,true),Dc=Jt(),Nc=Jt(true);rc&&!oc.call({valueOf:1},"valueOf")&&(Xn=function(n){return E(rc(n))});var Fc=Ac?function(n,t){return Ac.set(n,t),
|
80
|
+
n}:$i,Pc=mc&&1/z(new mc([,-0]))[1]==oo?function(n){return new mc(n)}:Mi,Uc=Ac?function(n){return Ac.get(n)}:Mi,Cc=ct("length");ec||(_r=function(){return[]});var qc=ec?function(n){for(var t=[];n;)s(t,_r(n)),n=hr(n);return t}:_r;(dc&&pr(new dc(new ArrayBuffer(1)))!=Eo||bc&&pr(new bc)!=mo||wc&&pr(wc.resolve())!=Ao||mc&&pr(new mc)!=xo||jc&&pr(new jc)!=Wo)&&(pr=function(n){var t=Qf.call(n),r=t==Oo?n.constructor:Ni,e=r?zr(r):Ni;if(e)switch(e){case Ic:return Eo;case Rc:return mo;case Wc:return Ao;case Sc:
|
81
|
+
return xo;case Bc:return Wo}return t});var Tc=function(){var n=0,t=0;return function(r,e){var u=ga(),i=ro-(u-t);if(t=u,i>0){if(++n>=to)return r}else n=0;return Fc(r,e)}}(),Vc=ou(function(n){var t=[];return ri(n).replace(Yo,function(n,r,e,u){t.push(e?u.replace(tf,"$1"):r||n)}),t}),Kc=fu(function(n,t){return yu(n)?Sn(n,Ln(t,1,yu,true)):[]}),Gc=fu(function(n,t){var r=te(t);return yu(r)&&(r=Ni),yu(n)?Sn(n,Ln(t,1,yu,true),cr(r)):[]}),Jc=fu(function(n,t){var r=te(t);return yu(r)&&(r=Ni),yu(n)?Sn(n,Ln(t,1,yu,true),Ni,r):[];
|
82
|
+
}),Hc=fu(function(n){var t=l(n,It);return t.length&&t[0]===n[0]?qn(t):[]}),Qc=fu(function(n){var t=te(n),r=l(n,It);return t===te(r)?t=Ni:r.pop(),r.length&&r[0]===n[0]?qn(r,cr(t)):[]}),Xc=fu(function(n){var t=te(n),r=l(n,It);return t===te(r)?t=Ni:r.pop(),r.length&&r[0]===n[0]?qn(r,Ni,t):[]}),Yc=fu(ue),Zc=fu(function(n,t){t=Ln(t,1);var r=n?n.length:0,e=xn(n,t);return st(n,l(t,function(n){return Or(n,r)?+n:n}).sort(Nt)),e}),na=fu(function(n){return wt(Ln(n,1,yu,true))}),ta=fu(function(n){var t=te(n);return yu(t)&&(t=Ni),
|
83
|
+
wt(Ln(n,1,yu,true),cr(t))}),ra=fu(function(n){var t=te(n);return yu(t)&&(t=Ni),wt(Ln(n,1,yu,true),Ni,t)}),ea=fu(function(n,t){return yu(n)?Sn(n,t):[]}),ua=fu(function(n){return kt(f(n,yu))}),ia=fu(function(n){var t=te(n);return yu(t)&&(t=Ni),kt(f(n,yu),cr(t))}),oa=fu(function(n){var t=te(n);return yu(t)&&(t=Ni),kt(f(n,yu),Ni,t)}),fa=fu(xe),ca=fu(function(n){var t=n.length,r=t>1?n[t-1]:Ni;return r=typeof r=="function"?(n.pop(),r):Ni,Ie(n,r)}),aa=fu(function(n){n=Ln(n,1);var t=n.length,r=t?n[0]:0,e=this.__wrapped__,u=function(t){
|
84
|
+
return xn(t,n)};return!(t>1||this.__actions__.length)&&e instanceof C&&Or(r)?(e=e.slice(r,+r+(t?1:0)),e.__actions__.push({func:Ee,args:[u],thisArg:Ni}),new U(e,this.__chain__).thru(function(n){return t&&!n.length&&n.push(Ni),n})):this.thru(u)}),la=Vt(function(n,t,r){Jf.call(n,r)?++n[r]:n[r]=1}),sa=Vt(function(n,t,r){Jf.call(n,r)?n[r].push(t):n[r]=[t]}),ha=fu(function(n,t,e){var u=-1,i=typeof t=="function",o=kr(t),f=gu(n)?Array(n.length):[];return zc(n,function(n){var c=i?t:o&&null!=n?n[t]:Ni;f[++u]=c?r(c,n,e):Vn(n,t,e);
|
85
|
+
}),f}),_a=Vt(function(n,t,r){n[r]=t}),pa=Vt(function(n,t,r){n[r?0:1].push(t)},function(){return[[],[]]}),va=fu(function(n,t){if(null==n)return[];var r=t.length;return r>1&&Ar(n,t[0],t[1])?t=[]:r>2&&Ar(t[0],t[1],t[2])&&(t=[t[0]]),t=1==t.length&&ba(t[0])?t[0]:Ln(t,1,jr),it(n,t,[])}),ga=Date.now;ou.Cache=un;var ya=Yt(Pn),da=Yt(function(n,t){return n>=t}),ba=Array.isArray,wa=Yf?function(n){return n instanceof Yf}:Ei(false),ma=Yt(Yn),ja=Yt(function(n,t){return t>=n}),Oa=Kt(function(n,t){if(kc||Rr(t)||gu(t))return qt(t,vi(t),n),
|
86
|
+
Ni;for(var r in t)Jf.call(t,r)&&jn(n,r,t[r])}),Aa=Kt(function(n,t){if(kc||Rr(t)||gu(t))return qt(t,gi(t),n),Ni;for(var r in t)jn(n,r,t[r])}),ka=Kt(function(n,t,r,e){qt(t,gi(t),n,e)}),xa=Kt(function(n,t,r,e){qt(t,vi(t),n,e)}),Ia=fu(function(n,t){return xn(n,Ln(t,1))}),Ra=fu(function(n){return n.push(Ni,wn),r(ka,Ni,n)}),Wa=fu(function(n){return n.push(Ni,Br),r(La,Ni,n)}),Sa=Xt(function(n,t,r){n[t]=r},Ei($i)),Ba=Xt(function(n,t,r){Jf.call(n,t)?n[t].push(r):n[t]=[r]},cr),Ea=fu(Vn),$a=Kt(function(n,t,r){
|
87
|
+
rt(n,t,r)}),La=Kt(function(n,t,r,e){rt(n,t,r,e)}),za=fu(function(n,t){return null==n?{}:(t=l(Ln(t,1),Lr),ot(n,Sn(ir(n),t)))}),Ma=fu(function(n,t){return null==n?{}:ot(n,l(Ln(t,1),Lr))}),Da=nr(vi),Na=nr(gi),Fa=fu(function(n,t){try{return r(n,Ni,t)}catch(e){return Au(e)?e:Error(e)}});F.assign=Oa,F.assignIn=Aa,F.assignInWith=ka,F.assignWith=xa,F.at=Ia,F.castArray=cu,F.chain=Se,F.chunk=Dr,F.compact=Nr,F.concat=Fr,F.constant=Ei,F.countBy=la,F.create=ei,F.defaults=Ra,F.defaultsDeep=Wa,F.difference=Kc,F.differenceBy=Gc,
|
88
|
+
F.differenceWith=Jc,F.drop=Pr,F.dropRight=Ur,F.dropRightWhile=Cr,F.dropWhile=qr,F.fill=Tr,F.filter=Ue,F.flatMap=Te,F.flatMapDeep=Ve,F.flatMapDepth=Ke,F.flatten=Gr,F.flattenDeep=Jr,F.flattenDepth=Hr,F.fromPairs=Qr,F.functions=li,F.functionsIn=si,F.groupBy=sa,F.initial=Zr,F.intersection=Hc,F.intersectionBy=Qc,F.intersectionWith=Xc,F.invert=Sa,F.invertBy=Ba,F.invokeMap=ha,F.iteratee=Li,F.keyBy=_a,F.keys=vi,F.keysIn=gi,F.map=Qe,F.mapKeys=yi,F.mapValues=di,F.memoize=ou,F.merge=$a,F.mergeWith=La,F.mixin=zi,
|
89
|
+
F.omit=za,F.omitBy=bi,F.orderBy=Xe,F.partition=pa,F.pick=Ma,F.pickBy=wi,F.property=Di,F.pull=Yc,F.pullAll=ue,F.pullAllBy=ie,F.pullAllWith=oe,F.pullAt=Zc,F.reject=nu,F.remove=fe,F.rest=fu,F.reverse=ce,F.sampleSize=ru,F.set=ji,F.setWith=Oi,F.shuffle=eu,F.slice=ae,F.sortBy=va,F.sortedUniq=ge,F.sortedUniqBy=ye,F.tail=de,F.take=be,F.takeRight=we,F.takeRightWhile=me,F.takeWhile=je,F.tap=Be,F.thru=Ee,F.toArray=Hu,F.toPairs=Da,F.toPairsIn=Na,F.toPlainObject=ni,F.transform=Ai,F.union=na,F.unionBy=ta,F.unionWith=ra,
|
90
|
+
F.uniq=Oe,F.uniqBy=Ae,F.uniqWith=ke,F.unset=ki,F.unzip=xe,F.unzipWith=Ie,F.update=xi,F.updateWith=Ii,F.values=Ri,F.valuesIn=Wi,F.without=ea,F.xor=ua,F.xorBy=ia,F.xorWith=oa,F.zip=fa,F.zipObject=Re,F.zipObjectDeep=We,F.zipWith=ca,F.entries=Da,F.entriesIn=Na,F.extend=Aa,F.extendWith=ka,zi(F,F),F.attempt=Fa,F.clone=au,F.cloneDeep=su,F.cloneDeepWith=hu,F.cloneWith=lu,F.eq=_u,F.escape=Si,F.every=Pe,F.find=Ce,F.findIndex=Vr,F.findKey=ui,F.findLast=qe,F.findLastIndex=Kr,F.findLastKey=ii,F.forEach=Ge,F.forEachRight=Je,
|
91
|
+
F.forIn=oi,F.forInRight=fi,F.forOwn=ci,F.forOwnRight=ai,F.get=hi,F.gt=ya,F.gte=da,F.has=_i,F.hasIn=pi,F.head=Xr,F.identity=$i,F.includes=He,F.indexOf=Yr,F.invoke=Ea,F.isArguments=pu,F.isArray=ba,F.isArrayBuffer=vu,F.isArrayLike=gu,F.isArrayLikeObject=yu,F.isBoolean=du,F.isBuffer=wa,F.isDate=bu,F.isElement=wu,F.isEmpty=mu,F.isEqual=ju,F.isEqualWith=Ou,F.isError=Au,F.isFinite=ku,F.isFunction=xu,F.isInteger=Iu,F.isLength=Ru,F.isMap=Bu,F.isMatch=Eu,F.isMatchWith=$u,F.isNaN=Lu,F.isNative=zu,F.isNil=Du,
|
92
|
+
F.isNull=Mu,F.isNumber=Nu,F.isObject=Wu,F.isObjectLike=Su,F.isPlainObject=Fu,F.isRegExp=Pu,F.isSafeInteger=Uu,F.isSet=Cu,F.isString=qu,F.isSymbol=Tu,F.isTypedArray=Vu,F.isUndefined=Ku,F.isWeakMap=Gu,F.isWeakSet=Ju,F.join=ne,F.last=te,F.lastIndexOf=re,F.lt=ma,F.lte=ja,F.nth=ee,F.noop=Mi,F.now=ga,F.reduce=Ye,F.reduceRight=Ze,F.result=mi,F.sample=tu,F.size=uu,F.some=iu,F.sortedIndex=le,F.sortedIndexBy=se,F.sortedIndexOf=he,F.sortedLastIndex=_e,F.sortedLastIndexBy=pe,F.sortedLastIndexOf=ve,F.template=Bi,
|
93
|
+
F.toFinite=Qu,F.toInteger=Xu,F.toLength=Yu,F.toNumber=Zu,F.toSafeInteger=ti,F.toString=ri,F.each=Ge,F.eachRight=Je,F.first=Xr,zi(F,function(){var n={};return zn(F,function(t,r){Jf.call(F.prototype,r)||(n[r]=t)}),n}(),{chain:false}),F.VERSION=Fi,u(["drop","take"],function(n,t){C.prototype[n]=function(r){var e=this.__filtered__;if(e&&!t)return new C(this);r=r===Ni?1:pc(Xu(r),0);var u=this.clone();return e?u.__takeCount__=vc(r,u.__takeCount__):u.__views__.push({size:vc(r,lo),type:n+(0>u.__dir__?"Right":"")
|
94
|
+
}),u},C.prototype[n+"Right"]=function(t){return this.reverse()[n](t).reverse()}}),u(["filter","map","takeWhile"],function(n,t){var r=t+1,e=r==eo||r==io;C.prototype[n]=function(n){var t=this.clone();return t.__iteratees__.push({iteratee:cr(n,3),type:r}),t.__filtered__=t.__filtered__||e,t}}),u(["head","last"],function(n,t){var r="take"+(t?"Right":"");C.prototype[n]=function(){return this[r](1).value()[0]}}),u(["initial","tail"],function(n,t){var r="drop"+(t?"":"Right");C.prototype[n]=function(){return this.__filtered__?new C(this):this[r](1);
|
95
|
+
}}),C.prototype.compact=function(){return this.filter($i)},C.prototype.find=function(n){return this.filter(n).head()},C.prototype.findLast=function(n){return this.reverse().find(n)},C.prototype.invokeMap=fu(function(n,t){return typeof n=="function"?new C(this):this.map(function(r){return Vn(r,n,t)})}),C.prototype.reject=function(n){return n=cr(n,3),this.filter(function(t){return!n(t)})},C.prototype.slice=function(n,t){n=Xu(n);var r=this;return r.__filtered__&&(n>0||0>t)?new C(r):(0>n?r=r.takeRight(-n):n&&(r=r.drop(n)),
|
96
|
+
t!==Ni&&(t=Xu(t),r=0>t?r.dropRight(-t):r.take(t-n)),r)},C.prototype.takeRightWhile=function(n){return this.reverse().takeWhile(n).reverse()},C.prototype.toArray=function(){return this.take(lo)},zn(C.prototype,function(n,t){var r=/^(?:filter|find|map|reject)|While$/.test(t),e=/^(?:head|last)$/.test(t),u=F[e?"take"+("last"==t?"Right":""):t],i=e||/^find/.test(t);u&&(F.prototype[t]=function(){var t=this.__wrapped__,o=e?[1]:arguments,f=t instanceof C,c=o[0],a=f||ba(t),l=function(n){var t=u.apply(F,s([n],o));
|
97
|
+
return e&&h?t[0]:t};a&&r&&typeof c=="function"&&1!=c.length&&(f=a=false);var h=this.__chain__,_=!!this.__actions__.length,p=i&&!h,v=f&&!_;if(!i&&a){t=v?t:new C(this);var g=n.apply(t,o);return g.__actions__.push({func:Ee,args:[l],thisArg:Ni}),new U(g,h)}return p&&v?n.apply(this,o):(g=this.thru(l),p?e?g.value()[0]:g.value():g)})}),u(["pop","push","shift","sort","splice","unshift"],function(n){var t=Vf[n],r=/^(?:push|sort|unshift)$/.test(n)?"tap":"thru",e=/^(?:pop|shift)$/.test(n);F.prototype[n]=function(){
|
98
|
+
var n=arguments;if(e&&!this.__chain__){var u=this.value();return t.apply(ba(u)?u:[],n)}return this[r](function(r){return t.apply(ba(r)?r:[],n)})}}),zn(C.prototype,function(n,t){var r=F[t];if(r){var e=r.name+"",u=xc[e]||(xc[e]=[]);u.push({name:t,func:r})}}),xc[Qt(Ni,Vi).name]=[{name:"wrapper",func:Ni}],C.prototype.clone=q,C.prototype.reverse=T,C.prototype.value=V,F.prototype.at=aa,F.prototype.chain=$e,F.prototype.commit=Le,F.prototype.next=ze,F.prototype.plant=De,F.prototype.reverse=Ne,F.prototype.toJSON=F.prototype.valueOf=F.prototype.value=Fe,
|
99
|
+
uc&&(F.prototype[uc]=Me),(Cf||Uf||{})._=F,typeof define=="function"&&typeof define.amd=="object"&&define.amd? define(function(){return F}):Df&&Nf?(Ff&&((Nf.exports=F)._=F),Df._=F):Tf._=F}).call(this);
|
data/views/engine2.coffee
CHANGED
@@ -5,10 +5,15 @@ angular.module('Engine2', ['ngRoute', 'ngSanitize', 'ngAnimate', 'ngCookies', 'm
|
|
5
5
|
.factory 'E2Snippets', ->
|
6
6
|
icon = (name) -> "<span class='glyphicon glyphicon-#{name}'></span>"
|
7
7
|
aicon = (name) -> "<i class='fa fa-#{name}'></i>"
|
8
|
+
ng_class_names = ['active', 'enabled', 'disabled']
|
8
9
|
icon: icon
|
9
10
|
aicon: aicon
|
10
11
|
boolean_true_value: icon('check')
|
11
12
|
boolean_false_value: icon('unchecked')
|
13
|
+
make_ng_class: (o) ->
|
14
|
+
out = []
|
15
|
+
_.each ng_class_names, (e) -> out.push(if e == 'enabled' then "'disabled': !(#{o[e]})" else "'#{e}': #{o[e]}") if o[e]?
|
16
|
+
if out.length > 0 then "ng-class=\"{#{out.join(',')}}\"" else ""
|
12
17
|
|
13
18
|
.config ($httpProvider, $routeProvider, $compileProvider, localStorageServiceProvider, $logProvider) ->
|
14
19
|
loaderOn = -> angular.element(document.querySelectorAll('.loader')).eq(-1).css("visibility", 'visible')
|
@@ -61,16 +66,16 @@ angular.module('Engine2', ['ngRoute', 'ngSanitize', 'ngAnimate', 'ngCookies', 'm
|
|
61
66
|
else
|
62
67
|
# delete o[k]
|
63
68
|
o[k] = null
|
64
|
-
merge: (
|
65
|
-
for
|
66
|
-
|
67
|
-
if
|
68
|
-
|
69
|
+
merge: (dst, src) ->
|
70
|
+
for k, v of src
|
71
|
+
if _.isObject(v) && !_.isArray(v)
|
72
|
+
if k.slice(-1) == '!'
|
73
|
+
dst[k.slice(0, -1)] = v
|
69
74
|
else
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
75
|
+
dst[k] = @merge(dst[k] ? {}, v)
|
76
|
+
else
|
77
|
+
dst[k] = v
|
78
|
+
dst
|
74
79
|
|
75
80
|
transpose: (a) ->
|
76
81
|
_.keys(a[0]).map((c) -> a.map (r) -> r[c])
|
@@ -107,16 +112,21 @@ angular.module('Engine2', ['ngRoute', 'ngSanitize', 'ngAnimate', 'ngCookies', 'm
|
|
107
112
|
process_menu: (action, menu_name) ->
|
108
113
|
processor = @menu_processors[menu_name]
|
109
114
|
@each_menu action.meta.menus[menu_name].entries, (m) ->
|
110
|
-
|
111
|
-
|
115
|
+
fun_name = "#{menu_name}_#{m.name}"
|
116
|
+
fun_invoke = "action['#{fun_name}'](#{processor.arg_name})"
|
117
|
+
fun_invoke = "(#{m.enabled}) && #{fun_invoke}" if m.enabled?
|
118
|
+
fun_invoke = "!(#{m.disabled}) && #{fun_invoke}" if m.disabled?
|
112
119
|
|
113
120
|
click = m.click
|
114
|
-
m.click =
|
115
|
-
|
116
|
-
|
117
|
-
|
121
|
+
m.click = fun_invoke
|
122
|
+
|
123
|
+
if click
|
124
|
+
action[fun_name] = (args...) ->
|
125
|
+
processor.arg_fun(action, args...)
|
118
126
|
action.scope().$eval(click)
|
119
|
-
|
127
|
+
else
|
128
|
+
action[fun_name] ?= (args...) ->
|
129
|
+
processor.arg_fun(action, args...)
|
120
130
|
action.invoke_action(m.name, processor.arg_ret(action))
|
121
131
|
|
122
132
|
if action.find_action_info(m.name, false)?
|
@@ -138,8 +148,6 @@ angular.module('Engine2', ['ngRoute', 'ngSanitize', 'ngAnimate', 'ngCookies', 'm
|
|
138
148
|
arg_fun: (action, index) ->
|
139
149
|
action.current_id = $injector.get('E2').id_for(action.entries[index], action.meta)
|
140
150
|
|
141
|
-
|
142
|
-
|
143
151
|
renderers:
|
144
152
|
boolean: (value, render) =>
|
145
153
|
switch value
|
@@ -404,7 +412,8 @@ angular.module('Engine2', ['ngRoute', 'ngSanitize', 'ngAnimate', 'ngCookies', 'm
|
|
404
412
|
.directive 'e2DropDown', ($parse, $dropdown, $timeout, E2Snippets) ->
|
405
413
|
event_num = 0
|
406
414
|
dropdown_sub_tmpl = _.template("<li class='dropdown-submenu'><a href=''> {{icon}}{{aicon}} {{loc}}</a>{{sub}}</li>")
|
407
|
-
dropdown_tmpl = _.template("<li {{
|
415
|
+
dropdown_tmpl = _.template("<li {{clazz}} {{show}} {{hide}}> <a href='{{href}}' {{click}}> {{icon}}{{aicon}} {{loc}}</a></li>")
|
416
|
+
|
408
417
|
render = (menu, level) ->
|
409
418
|
out = menu.map (m) ->
|
410
419
|
switch
|
@@ -418,13 +427,11 @@ angular.module('Engine2', ['ngRoute', 'ngSanitize', 'ngAnimate', 'ngCookies', 'm
|
|
418
427
|
sub: render(m.menu.entries)
|
419
428
|
else
|
420
429
|
dropdown_tmpl
|
430
|
+
clazz: E2Snippets.make_ng_class(m)
|
421
431
|
show: m.show && "ng-show=\"#{m.show}\"" || ''
|
422
432
|
hide: m.hide && "ng-hide=\"#{m.hide}\"" || ''
|
423
|
-
disabled: m.disabled && "ng-class=\"#{m.disabled} && 'disabled'\"" || ''
|
424
|
-
enabled: m.enabled && "ng-class=\"#{m.enabled} || 'disabled'\"" || ''
|
425
|
-
# active: m.active && "ng-class='#{m.active}' || \"active\"'" || ''
|
426
433
|
href: m.href || ''
|
427
|
-
click: m.click && "ng-click=\"#{m.
|
434
|
+
click: m.click && "ng-click=\"#{m.click}\"" || ''
|
428
435
|
icon: m.icon && E2Snippets.icon(m.icon) || ''
|
429
436
|
aicon: m.aicon && E2Snippets.aicon(m.aicon) || ''
|
430
437
|
loc: m.loc
|
@@ -455,12 +462,12 @@ angular.module('Engine2', ['ngRoute', 'ngSanitize', 'ngAnimate', 'ngCookies', 'm
|
|
455
462
|
elem.on "mousedown", hook
|
456
463
|
|
457
464
|
.directive 'e2ButtonSet', ($parse, $compile, E2Snippets) ->
|
458
|
-
button_set_tmpl = _.template("<div class='btn btn-default' {{clazz}} {{click}} {{show}} {{hide}} {{
|
465
|
+
button_set_tmpl = _.template("<div class='btn btn-default' {{clazz}} {{click}} {{show}} {{hide}} {{title}}> {{icon}}{{aicon}} {{loc}}</div>")
|
459
466
|
button_set_arr_tmpl = _.template("<div class='btn btn-default' e2-drop-down='{{dropdown}}'>{{icon}}{{aicon}}<span class='caret'></span></div>")
|
460
467
|
scope: true # because $index
|
461
468
|
link: (scope, elem, attrs) ->
|
462
469
|
menu = $parse(attrs.e2ButtonSet)(scope)
|
463
|
-
|
470
|
+
if menu && menu.entries.length > 0
|
464
471
|
group_class = menu.properties.group_class || ''
|
465
472
|
brk = menu.properties.break
|
466
473
|
out = ""
|
@@ -475,12 +482,10 @@ angular.module('Engine2', ['ngRoute', 'ngSanitize', 'ngAnimate', 'ngCookies', 'm
|
|
475
482
|
else if m.divider
|
476
483
|
else
|
477
484
|
out += button_set_tmpl
|
478
|
-
clazz:
|
485
|
+
clazz: E2Snippets.make_ng_class(m)
|
479
486
|
click: m.click && "ng-click=\"#{m.click}\"" || ''
|
480
487
|
show: m.show && "ng-show=\"#{m.show}\"" || ''
|
481
488
|
hide: m.hide && "ng-hide=\"#{m.hide}\"" || ''
|
482
|
-
disabled: m.disabled && "ng-class=\"#{m.disabled} && 'disabled'\"" || ''
|
483
|
-
enabled: m.enabled && "ng-class=\"#{m.enabled} || 'disabled'\"" || ''
|
484
489
|
icon: m.icon && E2Snippets.icon(m.icon) || ''
|
485
490
|
aicon: m.aicon && E2Snippets.aicon(m.aicon) || ''
|
486
491
|
loc: !(m.button_loc == false) && m.loc || ''
|
@@ -549,7 +554,7 @@ angular.module('Engine2', ['ngRoute', 'ngSanitize', 'ngAnimate', 'ngCookies', 'm
|
|
549
554
|
date = format(model, attr.e2ModelFormat)
|
550
555
|
if action.query
|
551
556
|
action.query.search[scope.f][mode] = date
|
552
|
-
scope.action.
|
557
|
+
scope.action.search_field_change(scope.f) if date?
|
553
558
|
else
|
554
559
|
action.record[field] = date
|
555
560
|
|
data/views/engine2actions.coffee
CHANGED
@@ -19,9 +19,10 @@ angular.module('Engine2')
|
|
19
19
|
create(action)
|
20
20
|
else
|
21
21
|
$http.get("api/meta").then (mresponse) -> $scope.$broadcast "bootstrap_action",
|
22
|
-
$scope.action = new E2Actions.
|
22
|
+
$scope.action = new E2Actions.root(mresponse.data, $scope, null, $element, action_resource: 'api')
|
23
23
|
|
24
24
|
.factory 'E2Actions', (E2, $http, $timeout, $e2Modal, $injector, $compile, $templateCache, $q, localStorageService, $route, $window, $rootScope, $location) ->
|
25
|
+
globals = {}
|
25
26
|
action: class Action
|
26
27
|
constructor: (response, scope, parent, element, action_info) ->
|
27
28
|
@find_action_info = (name, raise = true) ->
|
@@ -47,14 +48,12 @@ angular.module('Engine2')
|
|
47
48
|
act = act.parent() while act && !act.meta.panel
|
48
49
|
unless act # no modal for top level panels
|
49
50
|
@meta.panel.modal_action = false
|
50
|
-
|
51
|
-
_.remove(@meta.menus.panel_menu.entries, (m) -> m.name == 'cancel')
|
51
|
+
@meta.panel.footer = true unless @meta.panel.footer == false
|
52
52
|
|
53
53
|
@initialize()
|
54
54
|
|
55
55
|
initialize: ->
|
56
56
|
@process_static_meta()
|
57
|
-
@process_meta()
|
58
57
|
console.log "CREATE #{@action_info().action_resource}"
|
59
58
|
|
60
59
|
process_static_meta: ->
|
@@ -77,29 +76,25 @@ angular.module('Engine2')
|
|
77
76
|
$http[info.method](info.action_resource, if info.method == 'post' then params else (params: params))
|
78
77
|
else $q.when(data: (response: {}))
|
79
78
|
|
79
|
+
globals.action_pending = if @meta.panel then @ else @parent()
|
80
|
+
|
80
81
|
get_invoke.then (response) =>
|
81
|
-
E2.merge(
|
82
|
+
E2.merge(@, response.data)
|
82
83
|
@process_meta()
|
83
|
-
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
|
88
|
-
|
89
|
-
|
90
|
-
|
91
|
-
|
92
|
-
|
93
|
-
|
94
|
-
# promise = if @meta.panel && !@action_invoked
|
95
|
-
# $q.when(promise) # .then -> response.data
|
96
|
-
if @meta.panel && !@action_invoked
|
97
|
-
@action_invoked = true
|
98
|
-
@panel_render()
|
99
|
-
# else $q.when()
|
84
|
+
(if @meta.reload_routes then $route.load_routes() else $q.when({})).then =>
|
85
|
+
@arguments = _.keys(response.data)
|
86
|
+
unless @meta.panel # persistent action
|
87
|
+
prnt = @parent()
|
88
|
+
throw "Attempted parent merge for root action: #{info.name}" unless prnt
|
89
|
+
E2.merge(prnt, response.data)
|
90
|
+
|
91
|
+
globals.action_pending = false
|
92
|
+
if @meta.panel && !@action_invoked
|
93
|
+
@action_invoked = true
|
94
|
+
@panel_render()
|
100
95
|
,
|
101
96
|
(err) =>
|
102
|
-
|
97
|
+
globals.action_pending = false
|
103
98
|
@handle_error(err, info, @element())
|
104
99
|
|
105
100
|
create_action: (name, sc, el) ->
|
@@ -126,14 +121,11 @@ angular.module('Engine2')
|
|
126
121
|
_.reduce(action_names, ((pr, nm) -> pr.then (act) -> act.create_action(nm)), $q.when(@)).then (act) ->
|
127
122
|
act.create_action(last_name, sc, elem).then (act) -> sc.action = act
|
128
123
|
|
124
|
+
globals: -> globals
|
125
|
+
action_pending: -> globals.action_pending == @
|
129
126
|
pre_invoke: ->
|
130
|
-
@parent().action_pending = true
|
131
|
-
@action_pending = true
|
132
|
-
# @parent().parent().action_pending = true if @parent().parent()
|
133
127
|
post_invoke: ->
|
134
|
-
|
135
|
-
delete @action_pending
|
136
|
-
# @parent().parent().action_pending = false if @parent().parent()
|
128
|
+
|
137
129
|
invoke: ->
|
138
130
|
args = arguments
|
139
131
|
@pre_invoke(args...)
|
@@ -142,9 +134,9 @@ angular.module('Engine2')
|
|
142
134
|
@
|
143
135
|
|
144
136
|
save_state: () ->
|
145
|
-
_.each @meta.state, (s) => localStorageService.set("#{@action_info().action_resource}/#{s}", @[s])
|
137
|
+
_.each @meta.state, (s) => localStorageService.set("#{globals.application}/#{@action_info().action_resource}/#{s}", @[s])
|
146
138
|
load_state: () ->
|
147
|
-
_.each @meta.state, (s) => E2.merge(@[s], localStorageService.get("#{@action_info().action_resource}/#{s}"))
|
139
|
+
_.each @meta.state, (s) => E2.merge(@[s], localStorageService.get("#{globals.application}/#{@action_info().action_resource}/#{s}"))
|
148
140
|
|
149
141
|
destroy: (e) ->
|
150
142
|
console.log "DESTROY #{@action_info().action_resource}"
|
@@ -199,6 +191,12 @@ angular.module('Engine2')
|
|
199
191
|
panel_menu_cancel: ->
|
200
192
|
@panel_close()
|
201
193
|
|
194
|
+
root: class RootAction extends Action
|
195
|
+
initialize: ->
|
196
|
+
super()
|
197
|
+
E2.merge(globals, @meta)
|
198
|
+
@meta = {}
|
199
|
+
|
202
200
|
default_action: class DefaultAction extends Action
|
203
201
|
initialize: ->
|
204
202
|
super()
|
@@ -311,18 +309,6 @@ angular.module('Engine2')
|
|
311
309
|
|
312
310
|
delete @query.order unless @meta.info[@query.order]?.sort # _.includes(@meta.fields, @query.order)
|
313
311
|
_.each @query.search, ((sv, sn) => delete @query.search[sn] unless _.includes(@meta.search_fields, sn))
|
314
|
-
|
315
|
-
_.each @meta.info, (info, name) =>
|
316
|
-
if info.remote_onchange
|
317
|
-
@scope().$watch (=> @query.search?[name]), (n) => if n?
|
318
|
-
params = value: @query.search[name]
|
319
|
-
params.record = @query.search if info.remote_onchange_record
|
320
|
-
@invoke_action(info.remote_onchange, params)
|
321
|
-
|
322
|
-
if info.onchange
|
323
|
-
@scope().$watch (=> @query.search?[name]), (n) => if n?
|
324
|
-
@scope().$eval(info.onchange)
|
325
|
-
|
326
312
|
# $window.addEventListener 'beforeunload', (e, v) => @save_state()
|
327
313
|
|
328
314
|
destroy: ->
|
@@ -374,6 +360,7 @@ angular.module('Engine2')
|
|
374
360
|
_.merge(query, arg)
|
375
361
|
super(query).then =>
|
376
362
|
@ui = _.pick @query, ['order', 'asc', 'page']
|
363
|
+
@ui.pagination_active = @ui.page != 0 || @entries.length >= @meta.config.per_page
|
377
364
|
@scope().$broadcast 'render_table'
|
378
365
|
|
379
366
|
load_new: ->
|
@@ -385,27 +372,39 @@ angular.module('Engine2')
|
|
385
372
|
@query.order = col
|
386
373
|
@load_new()
|
387
374
|
|
388
|
-
prev_active: -> @query.page > 0
|
375
|
+
prev_active: -> !@action_pending() && @query.page > 0
|
389
376
|
prev: ->
|
390
|
-
@
|
391
|
-
|
377
|
+
if @prev_active()
|
378
|
+
@query.page = Math.max(0, @query.page - @meta.config.per_page)
|
379
|
+
@invoke()
|
392
380
|
|
393
|
-
next_active: -> @entries.length == @meta.config.per_page
|
381
|
+
next_active: -> !@action_pending() && @entries.length == @meta.config.per_page
|
394
382
|
next: ->
|
395
|
-
|
396
|
-
|
383
|
+
if @next_active()
|
384
|
+
@query.page += @meta.config.per_page # min & count
|
385
|
+
@invoke()
|
397
386
|
|
398
387
|
page_info: ->
|
399
388
|
page = @ui.page / @meta.config.per_page + 1
|
400
|
-
if @count then "#{page} / #{Math.ceil(@count / @meta.config.per_page)} (#{@count})" else page || ''
|
389
|
+
@meta.loc.page + ": " + if @count then "#{page} / #{Math.ceil(@count / @meta.config.per_page)} (#{@count})" else page || ''
|
401
390
|
|
402
391
|
search_reset: ->
|
403
392
|
E2.clean(@query.search)
|
404
393
|
@scope().$broadcast "search_reset"
|
405
394
|
@load_new()
|
406
395
|
|
407
|
-
|
408
|
-
|
396
|
+
search_field_change: (f) ->
|
397
|
+
info = @meta.info[f]
|
398
|
+
|
399
|
+
@scope().$eval(info.onchange) if info.onchange
|
400
|
+
|
401
|
+
if remote_onchange = info.remote_onchange
|
402
|
+
params = value: @query.search[f]
|
403
|
+
params.record = @query.search if info.remote_onchange_record
|
404
|
+
@invoke_action(remote_onchange, params).then =>
|
405
|
+
@load_new() if info.search_live
|
406
|
+
else
|
407
|
+
@load_new() if info.search_live
|
409
408
|
|
410
409
|
selected_class: (index) ->
|
411
410
|
(entry = @entries[index]) && @selection && @selection[E2.id_for(entry, @meta)] && 'info'
|
@@ -420,6 +419,9 @@ angular.module('Engine2')
|
|
420
419
|
selected_size: ->
|
421
420
|
_.size(@selection)
|
422
421
|
|
422
|
+
selected_info: ->
|
423
|
+
@meta.loc.selected + ": " + @selected_size()
|
424
|
+
|
423
425
|
bulk_delete: class BulkDeleteAction extends Action
|
424
426
|
invoke: ->
|
425
427
|
super(ids: [_.keys(@parent().parent().selection)]).then =>
|
@@ -582,7 +584,7 @@ angular.module('Engine2')
|
|
582
584
|
|
583
585
|
reset: ->
|
584
586
|
@clean()
|
585
|
-
@parentp().
|
587
|
+
@parentp().search_field_change?(@decode_field)
|
586
588
|
|
587
589
|
decode_description: (entry) ->
|
588
590
|
fields = @meta.decode_fields ? @meta.fields
|
@@ -620,7 +622,7 @@ angular.module('Engine2')
|
|
620
622
|
_(@dinfo.fields).zip(E2.split_keys(@selected)).each(([fk, k]) => record[fk] = E2.parse_entry(k, @parentp().meta.info[fk])).value
|
621
623
|
else @clear_record()
|
622
624
|
|
623
|
-
@parentp().
|
625
|
+
@parentp().search_field_change?(@decode_field)
|
624
626
|
|
625
627
|
clean: ->
|
626
628
|
@clear_selected()
|
@@ -646,7 +648,7 @@ angular.module('Engine2')
|
|
646
648
|
[ids, rec] = _(sel).toPairs().head()
|
647
649
|
_(@dinfo.fields).zip(E2.split_keys(ids)).each(([k, v]) => record[k] = E2.parse_entry(v, @parentp().meta.info[k])).value
|
648
650
|
@invoke_decode [rec]
|
649
|
-
@parentp().
|
651
|
+
@parentp().search_field_change?(@decode_field)
|
650
652
|
|
651
653
|
invoke_decode: (recs, f) ->
|
652
654
|
if @multiple && _.size(recs) > @meta.show_max_selected
|
@@ -681,7 +683,7 @@ angular.module('Engine2')
|
|
681
683
|
@scope().$on "$typeahead.select", (e, v, index) =>
|
682
684
|
e.stopPropagation()
|
683
685
|
_(@dinfo.fields).zip(E2.split_keys(@values[index].id)).each(([fk, k]) => @record()[fk] = E2.parse_entry(k, @parentp().meta.info[fk])).value
|
684
|
-
@parentp().
|
686
|
+
@parentp().search_field_change?(@decode_field)
|
685
687
|
|
686
688
|
@scope().$watch "action.decode", (e) => if e?
|
687
689
|
@reset() if e.length == 0
|
@@ -808,12 +810,12 @@ angular.module('Engine2')
|
|
808
810
|
_.each files, (file) =>
|
809
811
|
upload = $injector.get('Upload').upload url: "#{@action_info().action_resource}/upload", file: file
|
810
812
|
upload.progress (e) =>
|
813
|
+
globals.action_pending = false
|
811
814
|
@progress = parseInt(100.0 * e.loaded / e.total)
|
812
|
-
# @parent().action_pending = true
|
813
815
|
upload.success (data, status, headers, config) =>
|
814
|
-
@files.push mime: file.type, name: file.name, rackname: data.
|
816
|
+
@files.push mime: file.type, name: file.name, rackname: data.rackname, id: data.id
|
815
817
|
@message = "Wysłano, #{file.name}"
|
816
|
-
|
818
|
+
globals.action_pending = false
|
817
819
|
@sync_record()
|
818
820
|
|
819
821
|
delete_file: (file) ->
|
@@ -847,6 +849,6 @@ angular.module('Engine2')
|
|
847
849
|
upload.progress (e) =>
|
848
850
|
@progress = parseInt(100.0 * e.loaded / e.total)
|
849
851
|
upload.success (data, status, headers, config) =>
|
850
|
-
@file = mime: file.type, name: file.name, rackname: data.
|
852
|
+
@file = mime: file.type, name: file.name, rackname: data.rackname, id: data.id
|
851
853
|
@message = "Wysłano, #{file.name}"
|
852
854
|
@sync_record()
|