@makeform/table 1.0.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 ADDED
@@ -0,0 +1,6 @@
1
+ # Change Logs
2
+
3
+ ## v1.0.0
4
+
5
+ - init release
6
+
package/README.md ADDED
@@ -0,0 +1,5 @@
1
+ # @makeform/table
2
+
3
+ ## License
4
+
5
+ MIT
package/index.html ADDED
@@ -0,0 +1 @@
1
+ <div><div plug="widget"><table class="table"><tr><th ld-each="head"></th><th class="m-edit">&nbsp;</th></tr><tr ld="no-data"><td class="text-muted" colspan="99" t>無資料</td></tr><tr ld-each="row"><td style="vertical-align:middle;" ld-each="editor-field"></td><td class="m-edit"><div class="btn btn-block btn-outline-secondary text-nowrap" ld="t delete">刪除</div></td></tr><tr class="m-edit"><td ld-each="adder-field"></td><td><div class="btn btn-block btn-outline-secondary text-nowrap" t ld="add">加入</div></td></tr></table><div class="mt-2"><div class="text-danger" ld-each="error"></div></div></div><style type="text/css">label{white-space:nowrap}</style><script type="@plotdb/block">var mod;module.exports={pkg:{name:"@makeform/table",extend:{name:"@makeform/common"},dependencies:[{name:"ldcover"},{name:"ldcover",type:"css",global:true}],i18n:{en:{"加入":"Add","刪除":"Delete","無資料":"No data"},zh:{"加入":"加入","刪除":"刪除","無資料":"無資料"}}},init:function(e){return e.pubsub.fire("subinit",{mod:mod(e)})}};mod=function(e){var t,n,r,i,a,s,u,d;t=e.root,n=e.ctx,r=e.data,i=e.parent,a=e.t,s=e.manager;u=n.ldview,d=n.ldcover;return{init:function(){var f,l,i,o,c=this;f=this.mod.child;f.data=[];f.editor=[];f.adder={fields:[]};this.on("change",function(e){e==null&&(e=[]);f.data=e;return f.view.render()});this.on("mode",function(){return this.mod.child.view.render()});l=function(){return c.value(f.data).then(function(){f.view.render();return c.mod.info.view.render()})};i=this.mod.child.getkey=function(e,t){return e.alias||e.key||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 this.mod.child.view=new u({root:t,init:{"popup-input":function(e){var t;t=e.node;return f.popupInput=new d({root:t,resident:true,inPlace:false})}},action:{click:{"popup-input-toggle":function(){if(c.mod.info.meta.readonly){return}return f.popupInput.get()},add:function(e){var t,n,r;t=e.views;if(c.mod.info.meta.readonly){return}f.data.push(n={list:c.mod.info.config.fields.map(function(e,t){var n;n=i(e,t);return{key:n,value:f.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(){c.mod.info.config.fields.map(function(e,t){return f.adder.fields[i(e,t)].itf.value(null)});l();return t[0].render()})}}},handler:{"popup-input-toggle":function(e){var t;t=e.node;return t.classList.toggle("disabled",!!c.mod.info.meta.readonly)},add:function(e){var t;t=e.node;return t.classList.toggle("disabled",!!c.mod.info.meta.readonly)},"no-data":function(e){var t;t=e.node;return t.classList.toggle("d-none",f.data&&f.data.length)},head:{list:function(){return c.mod.info.config.fields.map(function(e,t){return{cfg:e,key:i(e,t)}})},key:function(e){return e.key},text:function(e){var t;t=e.data;return a(t.cfg.meta.title||"untitled")}},row:{list:function(){return f.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(c.mod.info.meta.readonly){return}r=f.data.map(function(e){return e.key}).indexOf(n.key);if(r===-1){return}f.data.splice(r,1);l();return t[1].render()}}},text:{t:function(e){var t;t=e.node;return t.innerText=a(t.getAttribute("t"))}},handler:{delete:function(e){var t;t=e.node;return t.classList.toggle("disabled",!!c.mod.info.meta.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,a,u,n,r,i,o,d;t=e.node,a=e.ctx,u=e.ctxs;n=c.mod.child.metamap;r=n[a.key]||{},i=r.type,o=r.meta;if(!o){return}if(((r=f.editor)[d=u[0].key]||(r[d]={}))[a.key]){return}return s.from({name:i},{root:t,data:o}).then(function(e){var t,n,r,i,o;t=((t=f.editor)[n=u[0].key]||(t[n]={}))[a.key]={bi:e.instance,itf:e["interface"]},r=t.bi,i=t.itf;i.value(a.value);i.on("change",function(){var e,t;e=f.data.filter(function(e){return e.key===u[0].key})[0]||{};t=(e.list||(e.list=[])).filter(function(e){return e.key===a.key})[0];if(!t){return}t.value=i.value();return l()});if(o=u[0].proxise){return o(a.key)}})}},handler:{"@":function(e){var t,n,r,i,o,a;t=e.ctx,n=e.ctxs;r=c.mod.child.metamap;if(!(i=((o=f.editor)[a=n[0].key]||(o[a]={}))[t.key])){return}if(!i.itf){return}return i.itf.deserialize((o=import$({},r[t.key].meta||{}),o.readonly=c.mod.info.meta.readonly,o)).then(function(){i.bi.transform("i18n");return i.itf.value(t.value,{fromSource:true})}).then(function(){i.itf.validate();return i.itf.mode(c.mode())})}}}}}}},"adder-field":{list:function(){return c.mod.info.config.fields.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;return s.get({name:i||"input"}).then(function(e){return e.create()}).then(function(e){return e.attach({root:n,data:o}).then(function(){return f.adder.fields[t.key]={bi:e,itf:e["interface"]()}})})}},handler:{"@":function(e){var t,n,r,i;t=e.ctx;n=f.adder.fields[t.key]||{},r=n.bi,i=n.itf;if(!i){return}return i.deserialize((n=import$({},t.cfg.meta),n.readonly=c.mod.info.meta.readonly,n)).then(function(){r.transform("i18n");return i.render()})}}}}}})},render:function(){var n=this;this.mod.child.metamap=Object.fromEntries(this.mod.info.config.fields.map(function(e,t){return[n.mod.child.getkey(e,t),e]}));return this.mod.child.view.render()},isEmpty:function(e){return!Array.isArray(e)||!e.length},validate:function(n){var o,a=this;n==null&&(n={});o=[];if(this.mod.info.meta.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=a.mod.child.editor)[r=i.key]||(n[r]={}))[e.key]){return o.push(t.itf)}})});return Promise.all(o.map(function(e){return e.validate(n)})).then(function(){var e,t;e=(t=Math.max.apply(Math,o.map(function(e){return e.status()})))>1?t:1;if(!n.init&&e===1){e=a.mod.info.isRequired?2:0}a.status(e);return a._errors=e===2?["error"]:[]})}}};function in$(e,t){var n=-1,r=t.length>>>0;while(++n<r)if(e===t[n])return true;return false}function import$(e,t){var n={}.hasOwnProperty;for(var r in t)if(n.call(t,r))e[r]=t[r];return e}</script></div>
package/package.json ADDED
@@ -0,0 +1 @@
1
+ {"name":"@makeform/table","version":"1.0.0","description":"","scripts":{},"keywords":[],"author":"zbryikt","license":"MIT","dependencies":{"@plotdb/srcbuild":"^0.0.51"},"devDependencies":{"fedep":"^1.1.7"}}