engine2 1.0.2 → 1.0.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/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()
|