@plotdb/form 0.0.4 → 0.0.8
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.
- package/CHANGELOG.md +27 -0
- package/index.js +123 -92
- package/index.min.js +1 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,32 @@
|
|
|
1
1
|
# Change Logs
|
|
2
2
|
|
|
3
|
+
## v0.0.8
|
|
4
|
+
|
|
5
|
+
- bug fix: race condition in value validation.
|
|
6
|
+
- spec changes: `mode`, `value`, `deserialize` now return Promise, resolves when validation is finished.
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
## v0.0.7
|
|
10
|
+
|
|
11
|
+
- bug fix: `manager.widget` doesn't work
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
## v0.0.6
|
|
15
|
+
|
|
16
|
+
- bug fix: widget status change isn't logged in form manager.
|
|
17
|
+
- bug fix: widget init status isn't logged in form manager.
|
|
18
|
+
- bug fix: progress NaN when there is no widget.
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
## v0.0.5
|
|
22
|
+
|
|
23
|
+
- bug fix: `check` is not finished immediately even if `now` is true
|
|
24
|
+
- bug fix: set value may fail due to empty value provided
|
|
25
|
+
- bug fix: `check` from `status` / `change` events of form.widget causes redundant validation.
|
|
26
|
+
- bug fix: `change` event of form.widget isn't forwarded to form.manager correctly.
|
|
27
|
+
- return invalid widgets from `check` call in ( if applicable, array of ) `{widget, path, status}` object.
|
|
28
|
+
|
|
29
|
+
|
|
3
30
|
## v0.0.4
|
|
4
31
|
|
|
5
32
|
- add `root()` function to get root element of an widget
|
package/index.js
CHANGED
|
@@ -69,11 +69,8 @@
|
|
|
69
69
|
this._ws.w[p] = w;
|
|
70
70
|
this._ws.p.set(w, p);
|
|
71
71
|
this._ws.l[p] = {};
|
|
72
|
+
this._ws.s[p] = w.status();
|
|
72
73
|
w.on('change', this._ws.l[p].c = function(v){
|
|
73
|
-
this$.check({
|
|
74
|
-
widget: w,
|
|
75
|
-
path: p
|
|
76
|
-
});
|
|
77
74
|
return this$.fire('change', {
|
|
78
75
|
widget: w,
|
|
79
76
|
path: p,
|
|
@@ -81,9 +78,11 @@
|
|
|
81
78
|
});
|
|
82
79
|
});
|
|
83
80
|
return w.on('status', this._ws.l[p].s = function(s){
|
|
84
|
-
|
|
81
|
+
this$._ws.s[p] = s;
|
|
82
|
+
return this$.fire('status', {
|
|
85
83
|
widget: w,
|
|
86
|
-
path: p
|
|
84
|
+
path: p,
|
|
85
|
+
status: s
|
|
87
86
|
});
|
|
88
87
|
});
|
|
89
88
|
},
|
|
@@ -104,7 +103,7 @@
|
|
|
104
103
|
return ref1$ = (ref$ = this._ws.l)[key$ = o.path], delete ref$[key$], ref1$;
|
|
105
104
|
},
|
|
106
105
|
widget: function(p){
|
|
107
|
-
return this._ws[p];
|
|
106
|
+
return this._ws.w[p];
|
|
108
107
|
},
|
|
109
108
|
status: function(v){
|
|
110
109
|
return !(v != null)
|
|
@@ -132,7 +131,7 @@
|
|
|
132
131
|
return s != null && s === 0;
|
|
133
132
|
}).length
|
|
134
133
|
};
|
|
135
|
-
ret.percent = ret.done / ret.total;
|
|
134
|
+
ret.percent = ret.done / (ret.total || 1);
|
|
136
135
|
return ret;
|
|
137
136
|
},
|
|
138
137
|
_afterCheck: function(){
|
|
@@ -171,32 +170,34 @@
|
|
|
171
170
|
});
|
|
172
171
|
}
|
|
173
172
|
return results$;
|
|
174
|
-
}.call(this)));
|
|
173
|
+
}.call(this)), now);
|
|
175
174
|
}
|
|
176
175
|
this.checkList = (this.checkList || (this.checkList = [])).concat(Array.isArray(o)
|
|
177
176
|
? o
|
|
178
177
|
: [o]);
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
return this._checkDebounced();
|
|
183
|
-
}
|
|
178
|
+
return now
|
|
179
|
+
? this._check(null, true)
|
|
180
|
+
: this._checkDebounced();
|
|
184
181
|
},
|
|
185
|
-
_check: function(o){
|
|
182
|
+
_check: function(o, now){
|
|
186
183
|
var list, this$ = this;
|
|
187
184
|
if (!o) {
|
|
188
185
|
list = this.checkList || [];
|
|
189
186
|
this.checkList = [];
|
|
190
|
-
return this._check(list);
|
|
187
|
+
return this._check(list, now);
|
|
191
188
|
}
|
|
192
189
|
if (Array.isArray(o)) {
|
|
193
190
|
return Promise.all(o.map(function(it){
|
|
194
|
-
return this$._check(it);
|
|
195
|
-
}))
|
|
191
|
+
return this$._check(it, now);
|
|
192
|
+
})).then(function(it){
|
|
193
|
+
return it.filter(function(it){
|
|
194
|
+
return it;
|
|
195
|
+
});
|
|
196
|
+
});
|
|
196
197
|
}
|
|
197
198
|
return new Promise(function(res, rej){
|
|
198
|
-
var ref$, w, p,
|
|
199
|
-
ref$ = [o.widget, o.path, o.now], w = ref$[0], p = ref$[1],
|
|
199
|
+
var ref$, w, p, _now;
|
|
200
|
+
ref$ = [o.widget, o.path, o.now], w = ref$[0], p = ref$[1], _now = ref$[2];
|
|
200
201
|
if (!(w && p)) {
|
|
201
202
|
return res();
|
|
202
203
|
}
|
|
@@ -207,23 +208,32 @@
|
|
|
207
208
|
p = this$._ws.p[w];
|
|
208
209
|
}
|
|
209
210
|
return w.validate().then(function(){
|
|
210
|
-
var os;
|
|
211
|
+
var os, promise;
|
|
211
212
|
os = this$._ws.s[p];
|
|
212
213
|
this$._ws.s[p] = w.status();
|
|
213
|
-
|
|
214
|
-
this$.
|
|
215
|
-
|
|
214
|
+
promise = now || _now
|
|
215
|
+
? Promise.resolve(this$.afterCheck().now())
|
|
216
|
+
: this$.afterCheck();
|
|
217
|
+
return promise.then(function(){
|
|
218
|
+
if (os !== this$._ws.s[p]) {
|
|
219
|
+
this$.fire('status', {
|
|
220
|
+
path: p,
|
|
221
|
+
widget: w,
|
|
222
|
+
status: this$._ws.s[p]
|
|
223
|
+
});
|
|
224
|
+
}
|
|
225
|
+
return this$._ws.s[p];
|
|
226
|
+
});
|
|
227
|
+
}).then(function(){
|
|
228
|
+
if (this$._ws.s[p] === 2) {
|
|
229
|
+
return res({
|
|
216
230
|
widget: w,
|
|
231
|
+
path: p,
|
|
217
232
|
status: this$._ws.s[p]
|
|
218
233
|
});
|
|
219
|
-
}
|
|
220
|
-
if (now) {
|
|
221
|
-
return this$.afterCheck.now();
|
|
222
234
|
} else {
|
|
223
|
-
return
|
|
235
|
+
return res();
|
|
224
236
|
}
|
|
225
|
-
}).then(function(){
|
|
226
|
-
return res();
|
|
227
237
|
});
|
|
228
238
|
});
|
|
229
239
|
},
|
|
@@ -244,8 +254,9 @@
|
|
|
244
254
|
}
|
|
245
255
|
return fd;
|
|
246
256
|
},
|
|
247
|
-
value: function(v){
|
|
248
|
-
var ret, p, ref$, w
|
|
257
|
+
value: function(v, opt){
|
|
258
|
+
var ret, p, ref$, w;
|
|
259
|
+
opt == null && (opt = {});
|
|
249
260
|
if (!v) {
|
|
250
261
|
ret = {};
|
|
251
262
|
for (p in ref$ = this._ws.w) {
|
|
@@ -254,16 +265,17 @@
|
|
|
254
265
|
}
|
|
255
266
|
return ret;
|
|
256
267
|
}
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
268
|
+
return Promise.all((function(){
|
|
269
|
+
var ref$, results$ = [];
|
|
270
|
+
for (p in ref$ = this._ws.w) {
|
|
271
|
+
w = ref$[p];
|
|
272
|
+
results$.push(w.value(v[p], opt));
|
|
261
273
|
}
|
|
262
|
-
|
|
263
|
-
|
|
274
|
+
return results$;
|
|
275
|
+
}.call(this)));
|
|
264
276
|
},
|
|
265
277
|
mode: function(m){
|
|
266
|
-
var ref$, p, w
|
|
278
|
+
var ref$, p, w;
|
|
267
279
|
if (!(m != null)) {
|
|
268
280
|
return this._mode;
|
|
269
281
|
}
|
|
@@ -275,11 +287,14 @@
|
|
|
275
287
|
}
|
|
276
288
|
this._mode = m;
|
|
277
289
|
this.fire('mode', m);
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
290
|
+
return Promise.all((function(){
|
|
291
|
+
var ref$, results$ = [];
|
|
292
|
+
for (p in ref$ = this._ws.w) {
|
|
293
|
+
w = ref$[p];
|
|
294
|
+
results$.push(w.mode(m));
|
|
295
|
+
}
|
|
296
|
+
return results$;
|
|
297
|
+
}.call(this)));
|
|
283
298
|
}
|
|
284
299
|
});
|
|
285
300
|
form.op = function(opt){
|
|
@@ -730,7 +745,7 @@
|
|
|
730
745
|
return ret;
|
|
731
746
|
},
|
|
732
747
|
deserialize: function(v){
|
|
733
|
-
var ref
|
|
748
|
+
var ref$, this$ = this;
|
|
734
749
|
ref$ = this._meta;
|
|
735
750
|
ref$.key = v.key;
|
|
736
751
|
ref$.title = v.title;
|
|
@@ -739,34 +754,40 @@
|
|
|
739
754
|
this._meta.term = (v.term || []).map(function(it){
|
|
740
755
|
return new form.term(it);
|
|
741
756
|
});
|
|
742
|
-
this.validate({
|
|
757
|
+
return this.validate({
|
|
743
758
|
init: true
|
|
759
|
+
}).then(function(){
|
|
760
|
+
return this$.render();
|
|
744
761
|
});
|
|
745
|
-
return this.render();
|
|
746
762
|
},
|
|
747
763
|
mode: function(m){
|
|
748
|
-
var
|
|
764
|
+
var this$ = this;
|
|
749
765
|
if (!(m != null)) {
|
|
750
766
|
return this._mode;
|
|
751
767
|
}
|
|
752
|
-
|
|
753
|
-
|
|
754
|
-
|
|
755
|
-
|
|
756
|
-
|
|
757
|
-
|
|
758
|
-
|
|
759
|
-
|
|
760
|
-
|
|
761
|
-
|
|
768
|
+
return Promise.resolve().then(function(){
|
|
769
|
+
var ref$;
|
|
770
|
+
if (!(m === 'edit' || m === 'view' || m === 'config')) {
|
|
771
|
+
return Promise.reject((ref$ = new Error(), ref$.name = 'lderror', ref$.id = 1015, ref$));
|
|
772
|
+
}
|
|
773
|
+
if (this$._mode === m) {
|
|
774
|
+
return;
|
|
775
|
+
}
|
|
776
|
+
this$._mode = m;
|
|
777
|
+
this$.fire('mode', m);
|
|
778
|
+
return this$.validate({
|
|
779
|
+
init: true
|
|
780
|
+
}).then(function(){
|
|
781
|
+
return this$.render();
|
|
782
|
+
});
|
|
762
783
|
});
|
|
763
|
-
return this.render();
|
|
764
784
|
},
|
|
765
785
|
errors: function(){
|
|
766
786
|
return this._errors;
|
|
767
787
|
},
|
|
768
|
-
value: function(v,
|
|
769
|
-
|
|
788
|
+
value: function(v, opt){
|
|
789
|
+
var this$ = this;
|
|
790
|
+
opt == null && (opt = {});
|
|
770
791
|
if (!(v != null)) {
|
|
771
792
|
return this._value;
|
|
772
793
|
}
|
|
@@ -774,41 +795,51 @@
|
|
|
774
795
|
this._empty = this.mod && this.mod.isEmpty
|
|
775
796
|
? this.mod.isEmpty.apply(this, v)
|
|
776
797
|
: !v;
|
|
777
|
-
this.validate(
|
|
778
|
-
|
|
779
|
-
|
|
780
|
-
|
|
798
|
+
return this.validate({
|
|
799
|
+
init: opt.init
|
|
800
|
+
}).then(function(){
|
|
801
|
+
if (!opt.fromSource) {
|
|
802
|
+
return this$.fire('change', this$._value);
|
|
803
|
+
}
|
|
804
|
+
});
|
|
781
805
|
},
|
|
782
806
|
validate: function(opt){
|
|
783
|
-
var this$ = this;
|
|
807
|
+
var v, this$ = this;
|
|
784
808
|
opt == null && (opt = {});
|
|
785
|
-
|
|
786
|
-
|
|
787
|
-
|
|
788
|
-
|
|
789
|
-
|
|
790
|
-
|
|
791
|
-
|
|
792
|
-
|
|
793
|
-
this
|
|
794
|
-
|
|
795
|
-
|
|
796
|
-
|
|
797
|
-
|
|
798
|
-
|
|
799
|
-
return
|
|
800
|
-
return
|
|
801
|
-
})
|
|
802
|
-
|
|
803
|
-
|
|
804
|
-
|
|
805
|
-
}).
|
|
806
|
-
|
|
809
|
+
v = this._value;
|
|
810
|
+
return Promise.resolve().then(function(){
|
|
811
|
+
if (this$.mod && this$.mod.validate) {
|
|
812
|
+
return this$.mod.validate.apply(this$, this$._value);
|
|
813
|
+
}
|
|
814
|
+
if (this$._validate) {
|
|
815
|
+
return this$._validate(this$._value);
|
|
816
|
+
}
|
|
817
|
+
if (this$._empty && this$._meta.config.isRequired) {
|
|
818
|
+
this$._errors = ["required"];
|
|
819
|
+
this$.status(opt.init ? 1 : 2);
|
|
820
|
+
this$.render();
|
|
821
|
+
return this$._errors;
|
|
822
|
+
}
|
|
823
|
+
return Promise.all(this$._meta.term.filter(function(t){
|
|
824
|
+
return t.enabled;
|
|
825
|
+
}).map(function(t){
|
|
826
|
+
return t.validate(this$._value).then(function(v){
|
|
827
|
+
return [t, v];
|
|
828
|
+
});
|
|
829
|
+
})).then(function(it){
|
|
830
|
+
if (v !== this$._value) {
|
|
831
|
+
return;
|
|
832
|
+
}
|
|
833
|
+
this$._errors = it.filter(function(it){
|
|
834
|
+
return !it[1];
|
|
835
|
+
}).map(function(it){
|
|
836
|
+
return it[0].msg || 'error';
|
|
837
|
+
});
|
|
838
|
+
this$.status(this$._errors.length ? 2 : 0);
|
|
839
|
+
return this$.render();
|
|
840
|
+
}).then(function(){
|
|
841
|
+
return this$._errors;
|
|
807
842
|
});
|
|
808
|
-
this$.status(this$._errors.length ? 2 : 0);
|
|
809
|
-
return this$.render();
|
|
810
|
-
}).then(function(){
|
|
811
|
-
return this$._errors;
|
|
812
843
|
});
|
|
813
844
|
},
|
|
814
845
|
render: function(){
|
package/index.min.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(){var form;form={};form.manager=function(o){var this$=this;o==null&&(o={});this._ws={w:{},p:new WeakMap,s:{},l:{}};this._evthdr={};this._status=1;this._mode="edit";this.mod={afterCheck:o.mod.afterCheck}||{};this.afterCheck=debounce(330,function(){var args,res$,i$,to$;res$=[];for(i$=0,to$=arguments.length;i$<to$;++i$){res$.push(arguments[i$])}args=res$;return this$._afterCheck.apply(this$,args)});this._checkDebounced=debounce(10,function(){var args,res$,i$,to$;res$=[];for(i$=0,to$=arguments.length;i$<to$;++i$){res$.push(arguments[i$])}args=res$;return this$._check.apply(this$,args)});return this};form.manager.prototype=import$(Object.create(Object.prototype),{on:function(n,cb){var ref$;return((ref$=this._evthdr)[n]||(ref$[n]=[])).push(cb)},fire:function(n){var v,res$,i$,to$,ref$,len$,cb,results$=[];res$=[];for(i$=1,to$=arguments.length;i$<to$;++i$){res$.push(arguments[i$])}v=res$;for(i$=0,len$=(ref$=this._evthdr[n]||[]).length;i$<len$;++i$){cb=ref$[i$];results$.push(cb.apply(this,v))}return results$},add:function(o){var ref$,w,p,this$=this;if(Array.isArray(o)){return o.map(function(it){return this$.add(it)})}ref$=[o.widget,o.path],w=ref$[0],p=ref$[1];if(this._ws.p.get(w)){return}this._ws.w[p]=w;this._ws.p.set(w,p);this._ws.l[p]={};w.on("change",this._ws.l[p].c=function(v){this$.check({widget:w,path:p});return this$.fire("change",{widget:w,path:p,value:v})});return w.on("status",this._ws.l[p].s=function(s){return this$.check({widget:w,path:p})})},remove:function(o){var ws,ref$,key$,ref1$,this$=this;if(Array.isArray(o)){return o.map(function(it){return this$.remove(it)})}if(!(ws=this._ws.w[o.path])){return}o.off("change",this._ws.l[o.path].c);o.off("status",this._ws.l[o.path].s);this._ws.p["delete"](ws);delete this._ws.w[o.path];return ref1$=(ref$=this._ws.l)[key$=o.path],delete ref$[key$],ref1$},widget:function(p){return this._ws[p]},status:function(v){return!(v!=null)?this._status:this._status=v},progress:function(){var ret,k,s;ret={total:function(){var results$=[];for(k in this._ws.w){results$.push(k)}return results$}.call(this).length,done:function(){var ref$,results$=[];for(k in ref$=this._ws.s){s=ref$[k];results$.push(s)}return results$}.call(this).filter(function(s){return s!=null&&s===0}).length};ret.percent=ret.done/ret.total;return ret},_afterCheck:function(){var os,ret,k,v;os=this._status;delete this._status;this.mod.afterCheck.apply(this);if(!(this._status!=null)){ret=function(){var ref$,results$=[];for(k in ref$=this._ws.w){v=ref$[k];results$.push(this._ws.s[k])}return results$}.call(this).filter(function(s){return!(s!=null&&s===0)}).length;this._status=ret?1:0}if(os!==this._status){return this.fire("readystatechange",this._status===0)}},check:function(o,now){var p,w;now==null&&(now=false);if(!o){return this.check(function(){var ref$,results$=[];for(p in ref$=this._ws.w){w=ref$[p];results$.push({widget:w,path:p})}return results$}.call(this))}this.checkList=(this.checkList||(this.checkList=[])).concat(Array.isArray(o)?o:[o]);if(now){return this._check()}else{return this._checkDebounced()}},_check:function(o){var list,this$=this;if(!o){list=this.checkList||[];this.checkList=[];return this._check(list)}if(Array.isArray(o)){return Promise.all(o.map(function(it){return this$._check(it)}))}return new Promise(function(res,rej){var ref$,w,p,now;ref$=[o.widget,o.path,o.now],w=ref$[0],p=ref$[1],now=ref$[2];if(!(w&&p)){return res()}if(!w&&!(w=this$._ws.w[p])){return res()}if(!p){p=this$._ws.p[w]}return w.validate().then(function(){var os;os=this$._ws.s[p];this$._ws.s[p]=w.status();if(os!==this$._ws.s[p]){this$.fire("status",{path:p,widget:w,status:this$._ws.s[p]})}if(now){return this$.afterCheck.now()}else{return this$.afterCheck()}}).then(function(){return res()})})},formData:function(){var fd,p,ref$,w,val,i$,to$,i;fd=new FormData;for(p in ref$=this._ws.w){w=ref$[p];val=w.value();if(Array.isArray(v)){for(i$=0,to$=v.length;i$<to$;++i$){i=i$;fd.append(p+"[]",v[i])}}else{fd.append(p,val)}}return fd},value:function(v){var ret,p,ref$,w,results$=[];if(!v){ret={};for(p in ref$=this._ws.w){w=ref$[p];ret[p]=w.value()}return ret}for(p in ref$=this._ws.w){w=ref$[p];if(v[p]){results$.push(w.value(v[p]))}}return results$},mode:function(m){var ref$,p,w,results$=[];if(!(m!=null)){return this._mode}if(!(m==="edit"||m==="view"||m==="config")){throw ref$=new Error,ref$.name="lderror",ref$.id=1015,ref$}if(this._mode===m){return}this._mode=m;this.fire("mode",m);for(p in ref$=this._ws.w){w=ref$[p];results$.push(w.mode(m))}return results$}});form.op=function(opt){opt==null&&(opt={});this.id=opt.id;this.name=opt.name;this.config=opt.config;this.func=opt.func;this.opset=opt.opset;return this};form.op.prototype=import$(Object.create(Object.prototype),{validate:function(val,cfg){var ret;cfg==null&&(cfg={});if(this.opset.convert){val=this.opset.convert(val)}if((ret=this.func(val,cfg))instanceof Promise){return ret}else{return Promise.resolve(!!ret)}},configDefault:function(){var cfg,k,ref$,v;cfg={};for(k in ref$=this.config){v=ref$[k];cfg[k]=v["default"]}return cfg}});form.opset=function(opt){var ops,k,v,this$=this;opt==null&&(opt={});this.name=opt.name;this.id=opt.id;this.i18n=opt.i18n;this.convert=opt.convert;this.ops={};ops=Array.isArray(opt.ops)?opt.ops.map(function(it){return{v:it,k:it.id}}):function(){var ref$,results$=[];for(k in ref$=opt.ops){v=ref$[k];results$.push({k:k,v:v})}return results$}();ops.map(function(arg$){var k,v,ref$,ref1$,results$=[];k=arg$.k,v=arg$.v;this$.ops[k]=v instanceof form.op?v:k?new form.op((ref$=typeof v==="function"?{func:v}:v,ref$.id=k,ref$.opset=this$,ref$)):function(){throw new Error("[@plotdb/form/opset] invalid op when initializing opset.")}();for(k in ref$=opt.ops){v=ref$[k];results$.push(this$.ops[k]=new form.op((ref1$=typeof v==="function"?{func:v}:v,ref1$.name=k,ref1$.id=k,ref1$.opset=this$,ref1$)))}return results$});this.defaultOp=this.ops[opt.defaultOp]?opt.defaultOp:function(){var ref$,results$=[];for(k in ref$=this.ops){v=ref$[k];results$.push(k)}return results$}.call(this)[0];return this};form.opset.prototype=import$(Object.create(Object.prototype),{getOp:function(id){return this.ops[id||this.defaultOp]},getOps:function(){var k,ref$,v,results$=[];for(k in ref$=this.ops){v=ref$[k];results$.push(v)}return results$}});form.opset.register=function(it){return(this.list||(this.list=[])).push(it instanceof form.opset?it:new form.opset(it))};form.opset.get=function(id){return(this.list||(this.list=[])).filter(function(it){return(it.id||it.name)===id})[0]};form.opset["default"]=[{id:"string",i18n:{"zh-TW":{string:"文字",include:"包含",exclude:"排除",email:"電子郵件"}},ops:{include:{func:function(v,c){c==null&&(c={});return~(""+(v||"")).indexOf(c.str||"")},config:{str:{type:"text"}}},exclude:{func:function(v,c){c==null&&(c={});return!~(""+(v||"")).indexOf(c.str||"")},config:{str:{type:"text"}}},email:{func:function(v){return/^[^@]+@[^@]+$/.exec(v)},config:{}}}},{id:"length",i18n:{"zh-TW":{length:"長度",lte:"≦ 小於或等於",number:"數字","maximal length":"長度上限"}},ops:{lte:{func:function(v,c){c==null&&(c={});return(v+"").length<=+c.val},config:{val:{type:"number",hint:"maximal length"}}}}},{id:"number",i18n:{"zh-TW":{number:"數字",lte:"≦ 小於或等於",gte:"≧ 大於或等於",ne:"≠ 不等於",eq:"= 等於",is:"任何數字"}},convert:function(v){return+(v+"").replace(/,/g,"")},ops:{lte:{func:function(v,c){c==null&&(c={});if(isNaN(v)||isNaN(c.val)){return false}else{return+v<=+c.val}},config:{val:{type:"text",hint:"number for comparison"}}},gte:{func:function(v,c){c==null&&(c={});if(isNaN(v)||isNaN(c.val)){return false}else{return+v>=+c.val}},config:{val:{type:"text",hint:"number for comparison"}}},ne:{func:function(v,c){c==null&&(c={});if(isNaN(v)||isNaN(c.val)){return false}else{return+v!==+c.val}},config:{val:{type:"text",hint:"number for comparison"}}},eq:{func:function(v,c){c==null&&(c={});if(isNaN(v)||isNaN(c.val)){return false}else{return+v===+c.val}},config:{val:{type:"text",hint:"number for comparison"}}},is:{func:function(v){return!isNaN(v)},config:{}}}}];form.opset["default"].map(function(it){return form.opset.register(it)});form.term=function(opt){opt==null&&(opt={});import$((this.enabled=true,this.opset=null,this.op=null,this.config={},this),opt);this.setOpset(opt.opset,opt.op,opt.config);return this};form.term.prototype=import$(Object.create(Object.prototype),{toggle:function(it){return this.enabled=it!=null?it:!this.enabled},setOpset:function(opset,op,cfg){if(typeof opset==="string"){if(!(this.opset=form.opset.get(opset))){throw new Error("no such opset '"+opset+"'")}}else if(opset instanceof form.opset){this.opset=opset}else{throw new Error("invalid opset")}return this.setOp(op,cfg)},setOp:function(id,cfg){if(!this.opset){throw new Error("opset not set")}if(!(this.op=this.opset.getOp(id))){throw new Error("no such op '"+id+"'")}return this.setConfig(cfg)},setConfig:function(cfg){if(!this.op){throw new Error("op not set")}return this.config=!cfg?this.op.configDefault():cfg},validate:function(v){if(!this.op){Promis.reject(new Error("op not set"))}return this.op.validate(v,this.config)},serialize:function(){return{enabled:this.enabled,opset:this.opset.id,op:this.op.id,config:this.config}},deserialize:function(v){this.toggle(v.enabled);return this.setOpset(v.opset,v.op,v.config)}});form.widget=function(opt){var this$=this;opt==null&&(opt={});this._root=typeof opt.root==="string"?document.querySelector(opt.root):opt.root;this.evtHandler={};this.mod=opt.mod||null;this.i18n={};this._custom={};this._status=1;this._meta={config:{},key:Math.random().toString(36).substring(2)};this._value=null;this._empty=true;this._mode=opt.mode||"edit";this._validate=opt.validate||null;this._opsets=(opt.opsets||[]).map(function(opset){if(typeof opset==="string"){return form.opset.get(opset)}else if(typeof opset===form.opset){return opset}else{return new form.opset(opset)}});this._opsets.filter(function(it){return it.i18n}).map(function(it){var k,ref$,v,ref1$,results$=[];for(k in ref$=it.i18n){v=ref$[k];results$.push(import$((ref1$=this$.i18n)[k]||(ref1$[k]={}),v))}return results$});this._errors=[];this.init=proxise.once(function(){return this$._init()});return this};form.widget.prototype=import$(Object.create(Object.prototype),{on:function(n,cb){var this$=this;return(Array.isArray(n)?n:[n]).map(function(n){var ref$;return((ref$=this$.evtHandler)[n]||(ref$[n]=[])).push(cb)})},off:function(n,cb){var this$=this;return(Array.isArray(n)?n:[n]).map(function(n){var l,ref$;l=(ref$=this$.evtHandler)[n]||(ref$[n]=[]);if(l.indexOf(cb)>=0){return l.splice(l.indexOf(cb),1)}})},fire:function(n){var v,res$,i$,to$,ref$,len$,cb,results$=[];res$=[];for(i$=1,to$=arguments.length;i$<to$;++i$){res$.push(arguments[i$])}v=res$;for(i$=0,len$=(ref$=this.evtHandler[n]||[]).length;i$<len$;++i$){cb=ref$[i$];results$.push(cb.apply(this,v))}return results$},root:function(){return this._root},_init:function(){return Promise.resolve(this.mod&&this.mod.init?this.mod.init.apply(this):"")},key:function(keyonly){keyonly==null&&(keyonly=false);return keyonly?this._meta.key:this._meta.alias||this._meta.key},status:function(v){var ov;if(!(v!=null)){return this._status}ov=this._status;this._status=v;if(ov!==v){return this.fire("status",v)}},serialize:function(){var ref$,ret,ref1$;ret=(ref1$={},ref1$.key=(ref$=this._meta).key,ref1$.title=ref$.title,ref1$.desc=ref$.desc,ref1$);ret.config=JSON.parse(JSON.stringify(this._meta.config||{}));ret.term=this._meta.term.map(function(it){return it.serialize()});return ret},deserialize:function(v){var ref$;ref$=this._meta;ref$.key=v.key;ref$.title=v.title;ref$.desc=v.desc;this._meta.config=JSON.parse(JSON.stringify(v.config||{}));this._meta.term=(v.term||[]).map(function(it){return new form.term(it)});this.validate({init:true});return this.render()},mode:function(m){var ref$;if(!(m!=null)){return this._mode}if(!(m==="edit"||m==="view"||m==="config")){throw ref$=new Error,ref$.name="lderror",ref$.id=1015,ref$}if(this._mode===m){return}this._mode=m;this.fire("mode",m);this.validate({init:true});return this.render()},errors:function(){return this._errors},value:function(v,fromSource){fromSource==null&&(fromSource=false);if(!(v!=null)){return this._value}this._value=v;this._empty=this.mod&&this.mod.isEmpty?this.mod.isEmpty.apply(this,v):!v;this.validate();if(!fromSource){return this.fire("change",this._value)}},validate:function(opt){var this$=this;opt==null&&(opt={});if(this.mod&&this.mod.validate){return this.mod.validate.apply(this,this._value)}if(this._validate){return Promise.resolve(this._validate(this._value))}if(this._empty&&this._meta.config.isRequired){this._errors=["required"];this.status(opt.init&&this.status()===1?1:2);return this.render()}return Promise.all(this._meta.term.filter(function(t){return t.enabled}).map(function(t){return t.validate(this$._value).then(function(v){return[t,v]})})).then(function(it){this$._errors=it.filter(function(it){return!it[1]}).map(function(it){return it[0].msg||"error"});this$.status(this$._errors.length?2:0);return this$.render()}).then(function(){return this$._errors})},render:function(){this.fire("render");if(this.mod&&this.mod.render){return this.mod.render.apply(this)}},adapt:function(){var args,res$,i$,to$;res$=[];for(i$=0,to$=arguments.length;i$<to$;++i$){res$.push(arguments[i$])}args=res$;if(this.mod&&this.mod.adapt){return this.mod.adapt.apply(this,args)}}});if(typeof module!="undefined"&&module!==null){module.exports=form}else if(typeof window!="undefined"&&window!==null){window.form=form}function import$(obj,src){var own={}.hasOwnProperty;for(var key in src)if(own.call(src,key))obj[key]=src[key];return obj}}).call(this);
|
|
1
|
+
(function(){var form;form={};form.manager=function(o){var this$=this;o==null&&(o={});this._ws={w:{},p:new WeakMap,s:{},l:{}};this._evthdr={};this._status=1;this._mode="edit";this.mod={afterCheck:o.mod.afterCheck}||{};this.afterCheck=debounce(330,function(){var args,res$,i$,to$;res$=[];for(i$=0,to$=arguments.length;i$<to$;++i$){res$.push(arguments[i$])}args=res$;return this$._afterCheck.apply(this$,args)});this._checkDebounced=debounce(10,function(){var args,res$,i$,to$;res$=[];for(i$=0,to$=arguments.length;i$<to$;++i$){res$.push(arguments[i$])}args=res$;return this$._check.apply(this$,args)});return this};form.manager.prototype=import$(Object.create(Object.prototype),{on:function(n,cb){var ref$;return((ref$=this._evthdr)[n]||(ref$[n]=[])).push(cb)},fire:function(n){var v,res$,i$,to$,ref$,len$,cb,results$=[];res$=[];for(i$=1,to$=arguments.length;i$<to$;++i$){res$.push(arguments[i$])}v=res$;for(i$=0,len$=(ref$=this._evthdr[n]||[]).length;i$<len$;++i$){cb=ref$[i$];results$.push(cb.apply(this,v))}return results$},add:function(o){var ref$,w,p,this$=this;if(Array.isArray(o)){return o.map(function(it){return this$.add(it)})}ref$=[o.widget,o.path],w=ref$[0],p=ref$[1];if(this._ws.p.get(w)){return}this._ws.w[p]=w;this._ws.p.set(w,p);this._ws.l[p]={};this._ws.s[p]=w.status();w.on("change",this._ws.l[p].c=function(v){return this$.fire("change",{widget:w,path:p,value:v})});return w.on("status",this._ws.l[p].s=function(s){this$._ws.s[p]=s;return this$.fire("status",{widget:w,path:p,status:s})})},remove:function(o){var ws,ref$,key$,ref1$,this$=this;if(Array.isArray(o)){return o.map(function(it){return this$.remove(it)})}if(!(ws=this._ws.w[o.path])){return}o.off("change",this._ws.l[o.path].c);o.off("status",this._ws.l[o.path].s);this._ws.p["delete"](ws);delete this._ws.w[o.path];return ref1$=(ref$=this._ws.l)[key$=o.path],delete ref$[key$],ref1$},widget:function(p){return this._ws.w[p]},status:function(v){return!(v!=null)?this._status:this._status=v},progress:function(){var ret,k,s;ret={total:function(){var results$=[];for(k in this._ws.w){results$.push(k)}return results$}.call(this).length,done:function(){var ref$,results$=[];for(k in ref$=this._ws.s){s=ref$[k];results$.push(s)}return results$}.call(this).filter(function(s){return s!=null&&s===0}).length};ret.percent=ret.done/(ret.total||1);return ret},_afterCheck:function(){var os,ret,k,v;os=this._status;delete this._status;this.mod.afterCheck.apply(this);if(!(this._status!=null)){ret=function(){var ref$,results$=[];for(k in ref$=this._ws.w){v=ref$[k];results$.push(this._ws.s[k])}return results$}.call(this).filter(function(s){return!(s!=null&&s===0)}).length;this._status=ret?1:0}if(os!==this._status){return this.fire("readystatechange",this._status===0)}},check:function(o,now){var p,w;now==null&&(now=false);if(!o){return this.check(function(){var ref$,results$=[];for(p in ref$=this._ws.w){w=ref$[p];results$.push({widget:w,path:p})}return results$}.call(this),now)}this.checkList=(this.checkList||(this.checkList=[])).concat(Array.isArray(o)?o:[o]);return now?this._check(null,true):this._checkDebounced()},_check:function(o,now){var list,this$=this;if(!o){list=this.checkList||[];this.checkList=[];return this._check(list,now)}if(Array.isArray(o)){return Promise.all(o.map(function(it){return this$._check(it,now)})).then(function(it){return it.filter(function(it){return it})})}return new Promise(function(res,rej){var ref$,w,p,_now;ref$=[o.widget,o.path,o.now],w=ref$[0],p=ref$[1],_now=ref$[2];if(!(w&&p)){return res()}if(!w&&!(w=this$._ws.w[p])){return res()}if(!p){p=this$._ws.p[w]}return w.validate().then(function(){var os,promise;os=this$._ws.s[p];this$._ws.s[p]=w.status();promise=now||_now?Promise.resolve(this$.afterCheck().now()):this$.afterCheck();return promise.then(function(){if(os!==this$._ws.s[p]){this$.fire("status",{path:p,widget:w,status:this$._ws.s[p]})}return this$._ws.s[p]})}).then(function(){if(this$._ws.s[p]===2){return res({widget:w,path:p,status:this$._ws.s[p]})}else{return res()}})})},formData:function(){var fd,p,ref$,w,val,i$,to$,i;fd=new FormData;for(p in ref$=this._ws.w){w=ref$[p];val=w.value();if(Array.isArray(v)){for(i$=0,to$=v.length;i$<to$;++i$){i=i$;fd.append(p+"[]",v[i])}}else{fd.append(p,val)}}return fd},value:function(v,opt){var ret,p,ref$,w;opt==null&&(opt={});if(!v){ret={};for(p in ref$=this._ws.w){w=ref$[p];ret[p]=w.value()}return ret}return Promise.all(function(){var ref$,results$=[];for(p in ref$=this._ws.w){w=ref$[p];results$.push(w.value(v[p],opt))}return results$}.call(this))},mode:function(m){var ref$,p,w;if(!(m!=null)){return this._mode}if(!(m==="edit"||m==="view"||m==="config")){throw ref$=new Error,ref$.name="lderror",ref$.id=1015,ref$}if(this._mode===m){return}this._mode=m;this.fire("mode",m);return Promise.all(function(){var ref$,results$=[];for(p in ref$=this._ws.w){w=ref$[p];results$.push(w.mode(m))}return results$}.call(this))}});form.op=function(opt){opt==null&&(opt={});this.id=opt.id;this.name=opt.name;this.config=opt.config;this.func=opt.func;this.opset=opt.opset;return this};form.op.prototype=import$(Object.create(Object.prototype),{validate:function(val,cfg){var ret;cfg==null&&(cfg={});if(this.opset.convert){val=this.opset.convert(val)}if((ret=this.func(val,cfg))instanceof Promise){return ret}else{return Promise.resolve(!!ret)}},configDefault:function(){var cfg,k,ref$,v;cfg={};for(k in ref$=this.config){v=ref$[k];cfg[k]=v["default"]}return cfg}});form.opset=function(opt){var ops,k,v,this$=this;opt==null&&(opt={});this.name=opt.name;this.id=opt.id;this.i18n=opt.i18n;this.convert=opt.convert;this.ops={};ops=Array.isArray(opt.ops)?opt.ops.map(function(it){return{v:it,k:it.id}}):function(){var ref$,results$=[];for(k in ref$=opt.ops){v=ref$[k];results$.push({k:k,v:v})}return results$}();ops.map(function(arg$){var k,v,ref$,ref1$,results$=[];k=arg$.k,v=arg$.v;this$.ops[k]=v instanceof form.op?v:k?new form.op((ref$=typeof v==="function"?{func:v}:v,ref$.id=k,ref$.opset=this$,ref$)):function(){throw new Error("[@plotdb/form/opset] invalid op when initializing opset.")}();for(k in ref$=opt.ops){v=ref$[k];results$.push(this$.ops[k]=new form.op((ref1$=typeof v==="function"?{func:v}:v,ref1$.name=k,ref1$.id=k,ref1$.opset=this$,ref1$)))}return results$});this.defaultOp=this.ops[opt.defaultOp]?opt.defaultOp:function(){var ref$,results$=[];for(k in ref$=this.ops){v=ref$[k];results$.push(k)}return results$}.call(this)[0];return this};form.opset.prototype=import$(Object.create(Object.prototype),{getOp:function(id){return this.ops[id||this.defaultOp]},getOps:function(){var k,ref$,v,results$=[];for(k in ref$=this.ops){v=ref$[k];results$.push(v)}return results$}});form.opset.register=function(it){return(this.list||(this.list=[])).push(it instanceof form.opset?it:new form.opset(it))};form.opset.get=function(id){return(this.list||(this.list=[])).filter(function(it){return(it.id||it.name)===id})[0]};form.opset["default"]=[{id:"string",i18n:{"zh-TW":{string:"文字",include:"包含",exclude:"排除",email:"電子郵件"}},ops:{include:{func:function(v,c){c==null&&(c={});return~(""+(v||"")).indexOf(c.str||"")},config:{str:{type:"text"}}},exclude:{func:function(v,c){c==null&&(c={});return!~(""+(v||"")).indexOf(c.str||"")},config:{str:{type:"text"}}},email:{func:function(v){return/^[^@]+@[^@]+$/.exec(v)},config:{}}}},{id:"length",i18n:{"zh-TW":{length:"長度",lte:"≦ 小於或等於",number:"數字","maximal length":"長度上限"}},ops:{lte:{func:function(v,c){c==null&&(c={});return(v+"").length<=+c.val},config:{val:{type:"number",hint:"maximal length"}}}}},{id:"number",i18n:{"zh-TW":{number:"數字",lte:"≦ 小於或等於",gte:"≧ 大於或等於",ne:"≠ 不等於",eq:"= 等於",is:"任何數字"}},convert:function(v){return+(v+"").replace(/,/g,"")},ops:{lte:{func:function(v,c){c==null&&(c={});if(isNaN(v)||isNaN(c.val)){return false}else{return+v<=+c.val}},config:{val:{type:"text",hint:"number for comparison"}}},gte:{func:function(v,c){c==null&&(c={});if(isNaN(v)||isNaN(c.val)){return false}else{return+v>=+c.val}},config:{val:{type:"text",hint:"number for comparison"}}},ne:{func:function(v,c){c==null&&(c={});if(isNaN(v)||isNaN(c.val)){return false}else{return+v!==+c.val}},config:{val:{type:"text",hint:"number for comparison"}}},eq:{func:function(v,c){c==null&&(c={});if(isNaN(v)||isNaN(c.val)){return false}else{return+v===+c.val}},config:{val:{type:"text",hint:"number for comparison"}}},is:{func:function(v){return!isNaN(v)},config:{}}}}];form.opset["default"].map(function(it){return form.opset.register(it)});form.term=function(opt){opt==null&&(opt={});import$((this.enabled=true,this.opset=null,this.op=null,this.config={},this),opt);this.setOpset(opt.opset,opt.op,opt.config);return this};form.term.prototype=import$(Object.create(Object.prototype),{toggle:function(it){return this.enabled=it!=null?it:!this.enabled},setOpset:function(opset,op,cfg){if(typeof opset==="string"){if(!(this.opset=form.opset.get(opset))){throw new Error("no such opset '"+opset+"'")}}else if(opset instanceof form.opset){this.opset=opset}else{throw new Error("invalid opset")}return this.setOp(op,cfg)},setOp:function(id,cfg){if(!this.opset){throw new Error("opset not set")}if(!(this.op=this.opset.getOp(id))){throw new Error("no such op '"+id+"'")}return this.setConfig(cfg)},setConfig:function(cfg){if(!this.op){throw new Error("op not set")}return this.config=!cfg?this.op.configDefault():cfg},validate:function(v){if(!this.op){Promis.reject(new Error("op not set"))}return this.op.validate(v,this.config)},serialize:function(){return{enabled:this.enabled,opset:this.opset.id,op:this.op.id,config:this.config}},deserialize:function(v){this.toggle(v.enabled);return this.setOpset(v.opset,v.op,v.config)}});form.widget=function(opt){var this$=this;opt==null&&(opt={});this._root=typeof opt.root==="string"?document.querySelector(opt.root):opt.root;this.evtHandler={};this.mod=opt.mod||null;this.i18n={};this._custom={};this._status=1;this._meta={config:{},key:Math.random().toString(36).substring(2)};this._value=null;this._empty=true;this._mode=opt.mode||"edit";this._validate=opt.validate||null;this._opsets=(opt.opsets||[]).map(function(opset){if(typeof opset==="string"){return form.opset.get(opset)}else if(typeof opset===form.opset){return opset}else{return new form.opset(opset)}});this._opsets.filter(function(it){return it.i18n}).map(function(it){var k,ref$,v,ref1$,results$=[];for(k in ref$=it.i18n){v=ref$[k];results$.push(import$((ref1$=this$.i18n)[k]||(ref1$[k]={}),v))}return results$});this._errors=[];this.init=proxise.once(function(){return this$._init()});return this};form.widget.prototype=import$(Object.create(Object.prototype),{on:function(n,cb){var this$=this;return(Array.isArray(n)?n:[n]).map(function(n){var ref$;return((ref$=this$.evtHandler)[n]||(ref$[n]=[])).push(cb)})},off:function(n,cb){var this$=this;return(Array.isArray(n)?n:[n]).map(function(n){var l,ref$;l=(ref$=this$.evtHandler)[n]||(ref$[n]=[]);if(l.indexOf(cb)>=0){return l.splice(l.indexOf(cb),1)}})},fire:function(n){var v,res$,i$,to$,ref$,len$,cb,results$=[];res$=[];for(i$=1,to$=arguments.length;i$<to$;++i$){res$.push(arguments[i$])}v=res$;for(i$=0,len$=(ref$=this.evtHandler[n]||[]).length;i$<len$;++i$){cb=ref$[i$];results$.push(cb.apply(this,v))}return results$},root:function(){return this._root},_init:function(){return Promise.resolve(this.mod&&this.mod.init?this.mod.init.apply(this):"")},key:function(keyonly){keyonly==null&&(keyonly=false);return keyonly?this._meta.key:this._meta.alias||this._meta.key},status:function(v){var ov;if(!(v!=null)){return this._status}ov=this._status;this._status=v;if(ov!==v){return this.fire("status",v)}},serialize:function(){var ref$,ret,ref1$;ret=(ref1$={},ref1$.key=(ref$=this._meta).key,ref1$.title=ref$.title,ref1$.desc=ref$.desc,ref1$);ret.config=JSON.parse(JSON.stringify(this._meta.config||{}));ret.term=this._meta.term.map(function(it){return it.serialize()});return ret},deserialize:function(v){var ref$,this$=this;ref$=this._meta;ref$.key=v.key;ref$.title=v.title;ref$.desc=v.desc;this._meta.config=JSON.parse(JSON.stringify(v.config||{}));this._meta.term=(v.term||[]).map(function(it){return new form.term(it)});return this.validate({init:true}).then(function(){return this$.render()})},mode:function(m){var this$=this;if(!(m!=null)){return this._mode}return Promise.resolve().then(function(){var ref$;if(!(m==="edit"||m==="view"||m==="config")){return Promise.reject((ref$=new Error,ref$.name="lderror",ref$.id=1015,ref$))}if(this$._mode===m){return}this$._mode=m;this$.fire("mode",m);return this$.validate({init:true}).then(function(){return this$.render()})})},errors:function(){return this._errors},value:function(v,opt){var this$=this;opt==null&&(opt={});if(!(v!=null)){return this._value}this._value=v;this._empty=this.mod&&this.mod.isEmpty?this.mod.isEmpty.apply(this,v):!v;return this.validate({init:opt.init}).then(function(){if(!opt.fromSource){return this$.fire("change",this$._value)}})},validate:function(opt){var v,this$=this;opt==null&&(opt={});v=this._value;return Promise.resolve().then(function(){if(this$.mod&&this$.mod.validate){return this$.mod.validate.apply(this$,this$._value)}if(this$._validate){return this$._validate(this$._value)}if(this$._empty&&this$._meta.config.isRequired){this$._errors=["required"];this$.status(opt.init?1:2);this$.render();return this$._errors}return Promise.all(this$._meta.term.filter(function(t){return t.enabled}).map(function(t){return t.validate(this$._value).then(function(v){return[t,v]})})).then(function(it){if(v!==this$._value){return}this$._errors=it.filter(function(it){return!it[1]}).map(function(it){return it[0].msg||"error"});this$.status(this$._errors.length?2:0);return this$.render()}).then(function(){return this$._errors})})},render:function(){this.fire("render");if(this.mod&&this.mod.render){return this.mod.render.apply(this)}},adapt:function(){var args,res$,i$,to$;res$=[];for(i$=0,to$=arguments.length;i$<to$;++i$){res$.push(arguments[i$])}args=res$;if(this.mod&&this.mod.adapt){return this.mod.adapt.apply(this,args)}}});if(typeof module!="undefined"&&module!==null){module.exports=form}else if(typeof window!="undefined"&&window!==null){window.form=form}function import$(obj,src){var own={}.hasOwnProperty;for(var key in src)if(own.call(src,key))obj[key]=src[key];return obj}}).call(this);
|
package/package.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"author":"zbryikt","name":"@plotdb/form","license":"MIT","description":"form blocks","version":"0.0.
|
|
1
|
+
{"author":"zbryikt","name":"@plotdb/form","license":"MIT","description":"form blocks","version":"0.0.8","browser":"index.min.js","main":"index.min.js","homepage":"https://github.com/plotdb/form","repository":{"type":"git","url":"https://github.com/plotdb/form"},"engines":{"node":">=10.14.1","npm":">=6.4.1"},"scripts":{"start":"npx server -r web -o true"},"devDependencies":{"@loadingio/bootstrap.ext":"^0.0.4","@loadingio/debounce.js":"^1.0.1","@loadingio/ldquery":"^3.0.2","@plotdb/datadom":"^0.2.0","@plotdb/datahub":"^0.2.2","@plotdb/semver":"^0.0.2","@zbryikt/deploy":"^0.0.1","@zbryikt/template":"^2.3.33","bootstrap":"^4.5.3","bootstrap.native":"^3.0.13","fedep":"^1.1.2","i18next":"^19.9.2","ldcover":"^3.0.1","ldiconfont":"^0.1.10","ldview":"^1.0.0","livescript":"^1.6.0","stylus":"^0.55.0","uglify-js":"^3.13.1","uglifycss":"^0.0.29"},"frontendDependencies":{"root":"web/static/assets/lib","modules":["bootstrap","@loadingio/bootstrap.ext","bootstrap.native","ldcover","@loadingio/ldquery","@loadingio/debounce.js","@loadingio/ldcolorpicker","ldview","ldiconfont","ldslider","ldcolor","ldpalettepicker","curegex","dompurify","proxise","i18next","@plotdb/sheet","@plotdb/block","@plotdb/datadom","@plotdb/datahub","@plotdb/semver","@plotdb/rescope","@plotdb/suuid","@plotdb/konfig","@plotdb/csscope"]},"dependencies":{"@loadingio/ldcolorpicker":"^3.0.0","@plotdb/block":"^4.1.0","@plotdb/csscope":"^4.0.0","@plotdb/datadom":"^0.2.0","@plotdb/konfig":"^4.0.1","@plotdb/rescope":"^4.1.0","@plotdb/sheet":"^0.2.0","@plotdb/suuid":"^0.5.0","curegex":"^0.0.4","dompurify":"^2.2.6","ldcolor":"^1.0.0","ldpalettepicker":"^4.0.0","ldslider":"^3.0.2","proxise":"^1.0.1"}}
|