@makeform/table 3.0.2 → 3.1.0
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 +14 -0
- package/index.html +1 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,19 @@
|
|
|
1
1
|
# Change Logs
|
|
2
2
|
|
|
3
|
+
## v3.1.0
|
|
4
|
+
|
|
5
|
+
- support `@makeform/table:init` pubsub event for blocks extending table to config table.
|
|
6
|
+
currently supports `field.display` for overriding the default `inline` display mode of fields,
|
|
7
|
+
so blocks overwriting table DOM without header ( e.g., `@makeform/section` ) can show field titles:
|
|
8
|
+
|
|
9
|
+
pubsub.fire \@makeform/table:init, {field: {display: \block}}
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
## v3.0.3
|
|
13
|
+
|
|
14
|
+
- upgrade dependencies
|
|
15
|
+
|
|
16
|
+
|
|
3
17
|
## v3.0.2
|
|
4
18
|
|
|
5
19
|
- fix bug: table is considered valid when there are unfinished fields. validate should return object with status when there isn't error.
|
package/index.html
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
<div><style type="text/css">:scope.has-error table{outline:1px solid var(--danger)}table{table-layout:fixed}table .adder-hidden{visibility:hidden;pointer-events:none;position:relative;overflow:hidden}table .adder-hidden>div{position:absolute}</style><script type="@plotdb/block">var mod;module.exports={pkg:{name:"@makeform/table",extend:{name:"@makeform/common"},host:{name:"@grantdash/composer"},dependencies:[{name:"ldcover"},{name:"ldcover",type:"css",global:true}],i18n:{en:{"加入":"Add","新增":"Add","刪除":"Delete","無資料":"No data"},"zh-TW":{"加入":"加入","新增":"新增","刪除":"刪除","無資料":"無資料"}}},init:function(e){var t=this;e.pubsub.on("inited",function(e){e==null&&(e={});return import$(t,e)});return e.pubsub.fire("subinit",{mod:mod.call(this,e)})}};mod=function(e){var n,t,r,i,u,f,a,l,h,
|
|
1
|
+
<div><style type="text/css">:scope.has-error table{outline:1px solid var(--danger)}table{table-layout:fixed}table .adder-hidden{visibility:hidden;pointer-events:none;position:relative;overflow:hidden}table .adder-hidden>div{position:absolute}</style><script type="@plotdb/block">var mod;module.exports={pkg:{name:"@makeform/table",extend:{name:"@makeform/common"},host:{name:"@grantdash/composer"},dependencies:[{name:"ldcover"},{name:"ldcover",type:"css",global:true}],i18n:{en:{"加入":"Add","新增":"Add","刪除":"Delete","無資料":"No data"},"zh-TW":{"加入":"加入","新增":"新增","刪除":"刪除","無資料":"無資料"}}},init:function(e){var t=this;e.pubsub.on("inited",function(e){e==null&&(e={});return import$(t,e)});return e.pubsub.fire("subinit",{mod:mod.call(this,e)})}};mod=function(e){var n,t,r,i,u,f,o,a,l,s,h,p,d=this;n=e.root,t=e.ctx,r=e.data,i=e.parent,u=e.t,f=e.manager,o=e.pubsub;a=t.ldview,l=t.ldcover;s={};o.on("@makeform/table:init",function(e){e==null&&(e={});return import$(s,e)});h=function(){return d.hitf};p=function(){var e;return p._blocks||((e=h().get().config)!=null?e.fields:void 8)||[]};this.client=function(){return{slot:{docroot:{target:n.querySelector("[ld=slotroot]"),mode:"manual"}}}};return{init:function(){var c,e,t,m=this;c=this.mod.child;c.data=[];c.editor=[];c.adder={fields:[]};c.lastmeta={};c.isnew={};this.on("change",function(e){e==null&&(e=[]);c.data=e;return c.view.render()});this.on("mode",function(){return this.mod.child.view.render()});e=h().slot({key:"docroot"});t=e&&h().readonly()?h().fragment({root:document.createElement("div"),data:{docroot:e}}).then(function(e){var t,n,r;t=e.host;n=t.nodemgr().blocks();r=n.filter(function(e){var t,n;t=e.block;return typeof(t!=null?(n=t["interface"])!=null?n.serialize:void 8:void 8)==="function"}).map(function(e){var t,n,r,i,o,u;t=e.block["interface"].serialize();n=((r=e.node)!=null?(i=r.block)!=null?i.bid:void 8:void 8)||{};if(!(t!=null&&t.config.display)){(t.config||(t.config={})).display="inline"}o=((u=typeof n==="string"?block.id2obj(n):n)!=null?u.name:void 8)||"@makeform/input";return{type:o,meta:t}});return p._blocks=r}):Promise.resolve(null);return t.then(function(){var d,i,o;d=function(){return m.value(c.data).then(function(){c.view.render();return m.mod.info.view.render()})};i=m.mod.child.getkey=function(e,t){return e.alias||e.key||(typeof e.title==="string"?e.title:"")||t};o=function(e){var t;e.proxise=t=proxise(function(e){if(Array.isArray(e)){return t._list=e,t._hash={},t}if(in$(e,t._list||(t._list=[]))){t._hash[e]=true}if(t._list.filter(function(e){return!t._hash[e]}).length){return}t.resolve();return Promise.resolve()});return e.proxise(e.list.map(function(e){return e.key}))};return m.mod.child.view=new a({root:n,init:{"popup-input":function(e){var t;t=e.node;return c.popupInput=new l({root:t,resident:true,inPlace:true})}},action:{click:{"popup-input-toggle":function(){if(h().get().readonly){return}return c.popupInput.get()},add:function(e){var t,n,r;t=e.views;if(h().get().readonly){return}c.data.push(n={list:p().map(function(e,t){var n;n=i(e,t);return{key:n,value:c.adder.fields[n].itf.value()}}),key:Math.round(Date.now()+Math.random()*65535).toString(36).substring(2)});r=o(n);t[0].render();return r.then(function(){p().map(function(e,t){return c.adder.fields[i(e,t)].itf.value(null)});d();return t[0].render()})}}},handler:{"popup-input-toggle":function(e){var t;t=e.node;return t.classList.toggle("disabled",!!h().get().readonly)},add:function(e){var t;t=e.node;return t.classList.toggle("disabled",!!h().get().readonly)},"entry-name":function(e){var t,n,r;t=e.node;n=(r=h().get().config)!=null?r.entryName:void 8;return t.innerText=!n?"":u(n)},"no-data":function(e){var t;t=e.node;return t.classList.toggle("d-none",c.data&&c.data.length)},"span-cell":function(e){var t;t=e.node;return t.setAttribute("colspan",p().length+1)},headers:function(e){var t,n;t=e.node;return t.classList.toggle("d-none",!!((n=h().get().config)!=null&&n.noHeader))},head:{list:function(){return p().map(function(e,t){return{cfg:e,key:i(e,t)}})},key:function(e){return e.key},text:function(e){var t,n,r,i;t=e.data;if(n=t!=null?(r=t.cfg)!=null?(i=r.meta)!=null?i.title:void 8:void 8:void 8){return h().totext(n)}else{return u("untitled")}}},row:{list:function(){return c.data},key:function(e){return e.key},view:{init:{t:function(e){var t;t=e.node;return t.setAttribute("t",t.innerText)}},action:{click:{delete:function(e){var t,n,r;t=e.views,n=e.ctx;if(h().get().readonly){return}c.editor[n.key]=null;r=c.data.map(function(e){return e.key}).indexOf(n.key);if(r===-1){return}c.data.splice(r,1);d();return t[1].render()}}},text:{t:function(e){var t;t=e.node;return t.innerText=u(t.getAttribute("t"))}},handler:{delete:function(e){var t;t=e.node;return t.classList.toggle("disabled",!!h().get().readonly)},"editor-field":{list:function(e){var t;t=e.ctx;return t.list},key:function(e){return e.key},view:{init:{"@":function(e){var t,u,a,n,r,i,l,o;t=e.node,u=e.ctx,a=e.ctxs;n=m.mod.child.metamap;r=n[u.key]||{},i=r.type,l=r.meta;if(!l){return}if(((r=c.editor)[o=a[0].key]||(r[o]={}))[u.key]){return}(l.config||(l.config={})).display=((r=s.field)!=null?r.display:void 8)||"inline";return f.from({name:i},{root:t,data:l}).then(function(e){var t,n,r,i,o;t=((t=c.editor)[n=a[0].key]||(t[n]={}))[u.key]={bi:e.instance,itf:e["interface"]},r=t.bi,i=t.itf;((t=c.isnew)[n=a[0].key]||(t[n]={}))[u.key]=true;if(m.mod.child.host){i.adapt({upload:function(e){var t,n;t=e.file,n=e.progress;return m.mod.child.host.upload({file:t,progress:n,alias:h().totext(l.title)})}})}i.value(u.value);i.on("change",function(){var e,t,n,r;((e=c.isnew)[t=a[0].key]||(e[t]={}))[u.key]=false;n=c.data.filter(function(e){return e.key===a[0].key})[0]||{};r=(n.list||(n.list=[])).filter(function(e){return e.key===u.key})[0];if(!r){return}r.value=i.value();return d()});if(o=a[0].proxise){return o(u.key)}})}},handler:{"@":function(e){var t,n,r,i,o,u,a,l,d,f,s;t=e.ctx,n=e.ctxs;r=m.mod.child.metamap;i=m.mod.child.lastmeta;o=m.mod.child.isnew;if(!(u=((a=c.editor)[l=n[0].key]||(a[l]={}))[t.key])){return}if(!u.itf){return}d=(a=import$({},r[t.key].meta||{}),a.readonly=h().get().readonly,a);f=JSON.stringify(d);s=(i[l=n[0].key]||(i[l]={}))[t.key];i[n[0].key][t.key]=f;return Promise.resolve().then(function(){var e;if(f===s){return}if(!u.itf.isEqual(u.itf.value(),t.value)){(o[e=n[0].key]||(o[e]={}))[t.key]=false}return u.itf.deserialize(d,{init:true})}).then(function(){u.bi.transform("i18n");return u.itf.value(t.value,{fromSource:true})}).then(function(){return u.itf.mode(m.mode())})}}}}}}},"adder-field":{list:function(){return p().map(function(e,t){return{cfg:e,key:i(e,t)}})},key:function(e){return e.key},view:{init:{"@":function(e){var t,n,r,i,o;t=e.ctx,n=e.node;r=t.cfg,i=r.type,o=r.meta;t.cfg._meta=o=(r=import$({},o)||{},r.isRequired=false,r);return f.get({name:i||"input"}).then(function(e){return e.create()}).then(function(e){return e.attach({root:n,data:o}).then(function(){return c.adder.fields[t.key]={bi:e,itf:e["interface"]()}})})}},handler:{"@":function(e){var r,t,n,i;r=e.ctx;t=c.adder.fields[r.key]||{},n=t.bi,i=t.itf;if(!i){return}if(m.mod.child.host){i.adapt({upload:function(e){var t,n;t=e.file,n=e.progress;return m.mod.child.host.upload({file:t,progress:n,alias:h().totext(r.cfg.meta.title)})}})}return i.deserialize((t=import$({},r.cfg._meta),t.readonly=h().get().readonly,t)).then(function(){n.transform("i18n");return i.render()})}}}}}})})},render:function(){var n=this;this.mod.child.metamap=Object.fromEntries(p().map(function(e,t){return[n.mod.child.getkey(e,t),e]}));return this.mod.child.view.render()},adapt:function(e){this.mod.child.host=e;return this.render()},isEmpty:function(e){return!Array.isArray(e)||!e.length},validate:function(n){var o,u=this;n==null&&(n={});o=[];if(h().get().isRequired&&this.isEmpty()){this._errors=["required"];this.status(n.init?1:2);this.render();return Promise.resolve(this._errors)}this.mod.child.data.map(function(i){return i.list.map(function(e){var t,n,r;if(t=((n=u.mod.child.editor)[r=i.key]||(n[r]={}))[e.key]){return o.push({itf:t.itf,isnew:((n=u.mod.child.isnew)[r=i.key]||(n[r]={}))[e.key]})}})});return Promise.all(o.map(function(e){var t;return e.itf.validate((t=import$({},n),t.init=e.isnew&&!n.force||n.init,t))})).then(function(){var e;e=Math.max.apply(Math,o.map(function(e){return e.itf.status()}));if(e<0){e=1}if(!n.init&&e===1){e=h().get().isRequired?3:0}u.status(e);return u._errors=e===2?["error"]:{status:e}})}}};function import$(e,t){var n={}.hasOwnProperty;for(var r in t)if(n.call(t,r))e[r]=t[r];return e}function in$(e,t){var n=-1,r=t.length>>>0;while(++n<r)if(e===t[n])return true;return false}</script><div plug="body"><div class="cps-ctrl"><div class="slot-root" ld="slotroot"></div></div><table class="table mb-0"><tr ld="headers"><th ld-each="head"></th><th class="m-edit" style="width:6em"> </th></tr><tr ld="no-data"><td class="text-muted" t ld="span-cell">無資料</td></tr><tr ld-each="row"><td ld-each="editor-field"></td><td class="m-edit" style="width:6em"><div class="btn btn-block btn-outline-secondary text-nowrap" ld="t delete">刪除</div></td></tr><tr class="m-edit"><td class="adder-hidden border-0 p-0" ld-each="adder-field"></td><td class="adder-hidden border-0 p-0" style="width:6em"></td></tr><tr class="m-edit border-0"><td class="text-right" ld="span-cell"><div class="btn btn-outline-secondary text-nowrap" ld="add"><span t="新增"></span><span ld="entry-name"></span></div></td></tr></table><div class="m-edit"><div class="text-danger mt-2" ld-each="error"></div></div></div></div>
|
package/package.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"name":"@makeform/table","version":"3.0
|
|
1
|
+
{"name":"@makeform/table","version":"3.1.0","description":"","scripts":{},"keywords":[],"author":"zbryikt","license":"MIT","devDependencies":{"@plotdb/srcbuild":"^0.0.71","fedep":"^1.7.6"}}
|