@makeform/table 3.0.3 → 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 CHANGED
@@ -1,5 +1,14 @@
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
+
3
12
  ## v3.0.3
4
13
 
5
14
  - upgrade dependencies
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,s,o=this;n=e.root,t=e.ctx,r=e.data,i=e.parent,u=e.t,f=e.manager;a=t.ldview,l=t.ldcover;h=function(){return o.hitf};s=function(){var e;return s._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 s._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:s().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(){s().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",s().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 s().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="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 s().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(s().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">&nbsp;</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>
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">&nbsp;</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.3","description":"","scripts":{},"keywords":[],"author":"zbryikt","license":"MIT","devDependencies":{"@plotdb/srcbuild":"^0.0.71","fedep":"^1.7.6"}}
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"}}