Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

a-template

Package Overview
Dependencies
Maintainers
1
Versions
48
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

a-template - npm Package Compare versions

Comparing version 0.0.17 to 0.0.18

4

build/a-template.min.js

@@ -8,3 +8,3 @@ /**

* author: steelydylan
* version: 0.0.17
* version: 0.0.18
*

@@ -20,2 +20,2 @@ * zepto-browserify:

var dataType=settings.dataType,hasPlaceholder=/=\?/.test(settings.url);if(dataType=="jsonp"||hasPlaceholder){if(!hasPlaceholder)settings.url=appendQuery(settings.url,"callback=?");return $.ajaxJSONP(settings)}var mime=settings.accepts[dataType],baseHeaders={},protocol=/^([\w-]+:)\/\//.test(settings.url)?RegExp.$1:window.location.protocol,xhr=settings.xhr(),abortTimeout;if(!settings.crossDomain)baseHeaders["X-Requested-With"]="XMLHttpRequest";if(mime){baseHeaders["Accept"]=mime;if(mime.indexOf(",")>-1)mime=mime.split(",",2)[0];xhr.overrideMimeType&&xhr.overrideMimeType(mime)}if(settings.contentType||settings.contentType!==false&&settings.data&&settings.type.toUpperCase()!="GET")baseHeaders["Content-Type"]=settings.contentType||"application/x-www-form-urlencoded";settings.headers=$.extend(baseHeaders,settings.headers||{});xhr.onreadystatechange=function(){if(xhr.readyState==4){xhr.onreadystatechange=empty;clearTimeout(abortTimeout);var result,error=false;if(xhr.status>=200&&xhr.status<300||xhr.status==304||xhr.status==0&&protocol=="file:"){dataType=dataType||mimeToDataType(xhr.getResponseHeader("content-type"));result=xhr.responseText;try{if(dataType=="script")(1,eval)(result);else if(dataType=="xml")result=xhr.responseXML;else if(dataType=="json")result=blankRE.test(result)?null:$.parseJSON(result)}catch(e){error=e}if(error)ajaxError(error,"parsererror",xhr,settings);else ajaxSuccess(result,xhr,settings)}else{ajaxError(null,xhr.status?"error":"abort",xhr,settings)}}};var async="async"in settings?settings.async:true;xhr.open(settings.type,settings.url,async);for(name in settings.headers)xhr.setRequestHeader(name,settings.headers[name]);if(ajaxBeforeSend(xhr,settings)===false){xhr.abort();return false}if(settings.timeout>0)abortTimeout=setTimeout(function(){xhr.onreadystatechange=empty;xhr.abort();ajaxError(null,"timeout",xhr,settings)},settings.timeout);xhr.send(settings.data?settings.data:null);return xhr};function parseArguments(url,data,success,dataType){var hasData=!$.isFunction(data);return{url:url,data:hasData?data:undefined,success:!hasData?data:$.isFunction(success)?success:undefined,dataType:hasData?dataType||success:success}}$.get=function(url,data,success,dataType){return $.ajax(parseArguments.apply(null,arguments))};$.post=function(url,data,success,dataType){var options=parseArguments.apply(null,arguments);options.type="POST";return $.ajax(options)};$.getJSON=function(url,data,success){var options=parseArguments.apply(null,arguments);options.dataType="json";return $.ajax(options)};$.fn.load=function(url,data,success){if(!this.length)return this;var self=this,parts=url.split(/\s/),selector,options=parseArguments(url,data,success),callback=options.success;if(parts.length>1)options.url=parts[0],selector=parts[1];options.success=function(response){self.html(selector?$("<div>").html(response.replace(rscript,"")).find(selector):response);callback&&callback.apply(self,arguments)};$.ajax(options);return this};var escape=encodeURIComponent;function serialize(params,obj,traditional,scope){var type,array=$.isArray(obj);$.each(obj,function(key,value){type=$.type(value);if(scope)key=traditional?scope:scope+"["+(array?"":key)+"]";if(!scope&&array)params.add(value.name,value.value);else if(type=="array"||!traditional&&type=="object")serialize(params,value,traditional,key);else params.add(key,value)})}$.param=function(obj,traditional){var params=[];params.add=function(k,v){this.push(escape(k)+"="+escape(v))};serialize(params,obj,traditional);return params.join("&").replace(/%20/g,"+")}})(Zepto);(function($){$.fn.serializeArray=function(){var result=[],el;$(Array.prototype.slice.call(this.get(0).elements)).each(function(){el=$(this);var type=el.attr("type");if(this.nodeName.toLowerCase()!="fieldset"&&!this.disabled&&type!="submit"&&type!="reset"&&type!="button"&&(type!="radio"&&type!="checkbox"||this.checked))result.push({name:el.attr("name"),value:el.val()})});return result};$.fn.serialize=function(){var result=[];this.serializeArray().forEach(function(elm){result.push(encodeURIComponent(elm.name)+"="+encodeURIComponent(elm.value))});return result.join("&")};$.fn.submit=function(callback){if(callback)this.bind("submit",callback);else if(this.length){var event=$.Event("submit");this.eq(0).trigger(event);if(!event.defaultPrevented)this.get(0).submit()}return this}})(Zepto);(function($,undefined){var prefix="",eventPrefix,endEventName,endAnimationName,vendors={Webkit:"webkit",Moz:"",O:"o",ms:"MS"},document=window.document,testEl=document.createElement("div"),supportedTransforms=/^((translate|rotate|scale)(X|Y|Z|3d)?|matrix(3d)?|perspective|skew(X|Y)?)$/i,transform,transitionProperty,transitionDuration,transitionTiming,animationName,animationDuration,animationTiming,cssReset={};function dasherize(str){return downcase(str.replace(/([a-z])([A-Z])/,"$1-$2"))}function downcase(str){return str.toLowerCase()}function normalizeEvent(name){return eventPrefix?eventPrefix+name:downcase(name)}$.each(vendors,function(vendor,event){if(testEl.style[vendor+"TransitionProperty"]!==undefined){prefix="-"+downcase(vendor)+"-";eventPrefix=event;return false}});transform=prefix+"transform";cssReset[transitionProperty=prefix+"transition-property"]=cssReset[transitionDuration=prefix+"transition-duration"]=cssReset[transitionTiming=prefix+"transition-timing-function"]=cssReset[animationName=prefix+"animation-name"]=cssReset[animationDuration=prefix+"animation-duration"]=cssReset[animationTiming=prefix+"animation-timing-function"]="";$.fx={off:eventPrefix===undefined&&testEl.style.transitionProperty===undefined,speeds:{_default:400,fast:200,slow:600},cssPrefix:prefix,transitionEnd:normalizeEvent("TransitionEnd"),animationEnd:normalizeEvent("AnimationEnd")};$.fn.animate=function(properties,duration,ease,callback){if($.isPlainObject(duration))ease=duration.easing,callback=duration.complete,duration=duration.duration;if(duration)duration=(typeof duration=="number"?duration:$.fx.speeds[duration]||$.fx.speeds._default)/1e3;return this.anim(properties,duration,ease,callback)};$.fn.anim=function(properties,duration,ease,callback){var key,cssValues={},cssProperties,transforms="",that=this,wrappedCallback,endEvent=$.fx.transitionEnd;if(duration===undefined)duration=.4;if($.fx.off)duration=0;if(typeof properties=="string"){cssValues[animationName]=properties;cssValues[animationDuration]=duration+"s";cssValues[animationTiming]=ease||"linear";endEvent=$.fx.animationEnd}else{cssProperties=[];for(key in properties)if(supportedTransforms.test(key))transforms+=key+"("+properties[key]+") ";else cssValues[key]=properties[key],cssProperties.push(dasherize(key));if(transforms)cssValues[transform]=transforms,cssProperties.push(transform);if(duration>0&&typeof properties==="object"){cssValues[transitionProperty]=cssProperties.join(", ");cssValues[transitionDuration]=duration+"s";cssValues[transitionTiming]=ease||"linear"}}wrappedCallback=function(event){if(typeof event!=="undefined"){if(event.target!==event.currentTarget)return;$(event.target).unbind(endEvent,wrappedCallback)}$(this).css(cssReset);callback&&callback.call(this)};if(duration>0)this.bind(endEvent,wrappedCallback);this.size()&&this.get(0).clientLeft;this.css(cssValues);if(duration<=0)setTimeout(function(){that.each(function(){wrappedCallback.call(this)})},0);return this};testEl=null})(Zepto)},{}],2:[function(require,module,exports){"use strict";var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){if(protoProps)defineProperties(Constructor.prototype,protoProps);if(staticProps)defineProperties(Constructor,staticProps);return Constructor}}();function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}}var $=require("zepto-browserify").$;var objs=[];var eventType="input paste click change keydown contextmenu mouseup mousedown mousemove touchstart touchend touchmove compositionstart compositionend";var dataAction=eventType.replace(/([a-z]+)/g,"[data-action-$1],")+"[data-action]";var getObjectById=function getObjectById(id){for(var i=0,n=objs.length;i<n;i++){var obj=objs[i];var templates=obj.templates;for(var t=0,m=templates.length;t<m;t++){if(templates[t]==id){return obj}}}return null};if(typeof jQuery!=="undefined"){$=jQuery}if(typeof document!=="undefined"){$(document).on("input change click","[data-bind]",function(e){var data=$(this).data("bind");var val=$(this).val();var attr=$(this).attr("href");if(attr){val=attr.replace("#","")}var id=$(this).parents("[data-id]").data("id");if(id){var obj=getObjectById(id);if($(e.target).attr("type")=="radio"){if($(this).is(":checked")){obj.updateDataByString(data,val)}else{obj.updateDataByString(data,"")}}else if($(e.target).attr("type")=="checkbox"){var arr=[];$('[data-bind="'+data+'"]').each(function(){if($(this).is(":checked")){arr.push($(this).val())}});obj.updateDataByString(data,arr)}else{obj.updateDataByString(data,val)}}});$(document).on(eventType,dataAction,function(e){if(e.type=="click"&&$(e.target).is("select")){return}if(e.type=="input"&&$(e.target).attr("type")=="button"){return}var events=eventType.split(" ");var $self=$(this);var action="action";events.forEach(function(event){if($self.data("action-"+event)){if(e.type===event){action+="-"+event}}});var string=$self.data(action);if(!string){return}var action=string.replace(/\(.*?\);?/,"");var parameter=string.replace(/(.*?)\((.*?)\);?/,"$2");var pts=parameter.split(",");var id=$self.parents("[data-id]").data("id");if(id){var obj=getObjectById(id);obj.e=e;if(obj.method&&obj.method[action]){obj.method[action].apply(obj,pts)}else if(obj[action]){obj[action].apply(obj,pts)}}})}var aTemplate=function(){function aTemplate(opt){_classCallCheck(this,aTemplate);objs.push(this);for(var i in opt){this[i]=opt[i]}if(!this.data){this.data={}}this.setId()}_createClass(aTemplate,[{key:"addTemplate",value:function addTemplate(template,id){$("body").append("<script type='text/template' id='"+id+"'>"+template+"</script>");if(!this.templates){this.templates=[]}this.templates.push(id)}},{key:"loadHtml",value:function loadHtml(){var templates=this.templates;var promises=[];templates.forEach(function(template){var d=new $.Deferred;promises.push(d);var src=$("#"+template).attr("src");$.ajax({url:src,type:"GET",dataType:"text"}).success(function(data){$("#"+template).html(data);d.resolve()})});return $.when.apply($,promises)}},{key:"getData",value:function getData(){return JSON.parse(JSON.stringify(this.data))}},{key:"saveData",value:function saveData(key){var data=JSON.stringify(this.data);localStorage.setItem(key,data)}},{key:"setData",value:function setData(val){for(var i in val){if(typeof val[i]!=="function"){this.data[i]=val[i]}}}},{key:"loadData",value:function loadData(key){var data=JSON.parse(localStorage.getItem(key));if(data){for(var i in data){if(typeof data[i]!=="function"){this.data[i]=data[i]}}}}},{key:"getRand",value:function getRand(a,b){return~~(Math.random()*(b-a+1))+a}},{key:"getRandText",value:function getRandText(limit){var ret="";var strings="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";var length=strings.length;for(var i=0;i<limit;i++){ret+=strings.charAt(Math.floor(this.getRand(0,length)))}return ret}},{key:"setId",value:function setId(){var text;var ids=aTemplate.ids;var flag=false;while(1){text=this.getRandText(10);for(var i=0,n=aTemplate.ids;i<n;i++){if(aTemplate.ids[i]===text){flag=true}}if(flag===false){break}}this.data.aTemplate_id=text}},{key:"getDataFromObj",value:function getDataFromObj(s,o){s=s.replace(/\[([a-zA-Z0-9._-]+)\]/g,".$1");s=s.replace(/^\./,"");var a=s.split(".");while(a.length){var n=a.shift();if(n in o){o=o[n]}else{return}}return o}},{key:"getDataByString",value:function getDataByString(s){var o=this.data;return this.getDataFromObj(s,o)}},{key:"updateDataByString",value:function updateDataByString(path,newValue){var object=this.data;var stack=path.split(".");while(stack.length>1){object=object[stack.shift()]}object[stack.shift()]=newValue}},{key:"removeDataByString",value:function removeDataByString(path){var object=this.data;var stack=path.split(".");while(stack.length>1){object=object[stack.shift()]}var shift=stack.shift();if(shift.match(/^\d+$/)){object.splice(Number(shift),1)}else{delete object[shift]}}},{key:"resolveBlock",value:function resolveBlock(html,item,i){var that=this;var touchs=html.match(/<!-- BEGIN ([a-zA-Z0-9._-]+):touch#([a-zA-Z0-9._-]+) -->/g);var touchnots=html.match(/<!-- BEGIN ([a-zA-Z0-9._-]+):touchnot#([a-zA-Z0-9._-]+) -->/g);var exists=html.match(/<!-- BEGIN ([a-zA-Z0-9._-]+):exist -->/g);var empties=html.match(/<!-- BEGIN ([a-zA-Z0-9._-]+):empty -->/g);if(touchs){for(var k=0,n=touchs.length;k<n;k++){var start=touchs[k];start=start.replace(/([a-zA-Z0-9._-]+):touch#([a-zA-Z0-9._-]+)/,"($1):touch#($2)");var end=start.replace(/BEGIN/,"END");var reg=new RegExp(start+"(([\\n\\r\\t]|.)*?)"+end,"g");html=html.replace(reg,function(m,key2,val,next){var itemkey=typeof item[key2]==="function"?item[key2].apply(that):that.getDataFromObj(key2,item);if(itemkey==val){return next}else{return""}})}}if(touchnots){for(var k=0,n=touchnots.length;k<n;k++){var start=touchnots[k];start=start.replace(/([a-zA-Z0-9._-]+):touchnot#([a-zA-Z0-9._-]+)/,"($1):touchnot#($2)");var end=start.replace(/BEGIN/,"END");var reg=new RegExp(start+"(([\\n\\r\\t]|.)*?)"+end,"g");html=html.replace(reg,function(m,key2,val,next){var itemkey=typeof item[key2]==="function"?item[key2].apply(that):that.getDataFromObj(key2,item);if(itemkey!=val){return next}else{return""}})}}if(exists){for(var k=0,n=exists.length;k<n;k++){var start=exists[k];start=start.replace(/([a-zA-Z0-9._-]+):exist/,"($1):exist");var end=start.replace(/BEGIN/,"END");var reg=new RegExp(start+"(([\\n\\r\\t]|.)*?)"+end,"g");html=html.replace(reg,function(m,key2,next){var itemkey=typeof item[key2]==="function"?item[key2].apply(that):that.getDataFromObj(key2,item);if(itemkey){return next}else{return""}})}}if(empties){for(var k=0,n=empties.length;k<n;k++){var start=empties[k];start=start.replace(/([a-zA-Z0-9._-]+):empty/,"($1):empty");var end=start.replace(/BEGIN/,"END");var empty=new RegExp(start+"(([\\n\\r\\t]|.)*?)"+end,"g");html=html.replace(empty,function(m,key2,next){var itemkey=typeof item[key2]==="function"?item[key2].apply(that):that.getDataFromObj(key2,item);if(!itemkey){return next}else{return""}})}}html=html.replace(/{([a-zA-Z0-9._-]+)}(\[([a-zA-Z0-9._-]+)\])*/g,function(n,key3,key4,converter){var data;if(key3=="i"){data=i}else{if(item[key3]){if(typeof item[key3]==="function"){data=item[key3].apply(that)}else{data=item[key3]}}else{if(converter&&that.convert&&that.convert[converter]){return that.convert[converter].call(that,"")}else{return""}}}if(converter&&that.convert&&that.convert[converter]){return that.convert[converter].call(that,data)}else{return data}});return html}},{key:"resolveAbsBlock",value:function resolveAbsBlock(html){var that=this;html=html.replace(/{(.*?)}/g,function(n,key3){var data=that.getDataByString(key3);if(typeof data!=="undefined"){if(typeof data==="function"){return data.apply(that)}else{return data}}else{return n}});return html}},{key:"resolveInclude",value:function resolveInclude(html){var include=/<!-- #include id="(.*?)" -->/g;html=html.replace(include,function(m,key){return $("#"+key).html()});return html}},{key:"resolveWith",value:function resolveWith(html){var width=/<!-- BEGIN ([a-zA-Z0-9._-]+):with -->(([\n\r\t]|.)*?)<!-- END ([a-zA-Z0-9._-]+):with -->/g;html=html.replace(width,function(m,key,val){m=m.replace(/data\-bind=['"](.*?)['"]/g,"data-bind='"+key+".$1'");return m});return html}},{key:"resolveLoop",value:function resolveLoop(html){var loop=/<!-- BEGIN (.+?):loop -->(([\n\r\t]|.)*?)<!-- END (.+?):loop -->/g;var that=this;html=html.replace(loop,function(m,key,val){var keyItem=that.getDataByString(key);var keys=[];if(typeof keyItem==="function"){keys=keyItem.apply(that)}else{keys=keyItem}var ret="";if(keys instanceof Array){for(var i=0,n=keys.length;i<n;i++){ret+=that.resolveBlock(val,keys[i],i)}}ret=ret.replace(/\\([^\\])/g,"$1");return ret});return html}},{key:"removeData",value:function removeData(arr){var data=this.data;for(var i in data){for(var t=0,n=arr.length;t<n;t++){if(i===arr[t]){delete data[i]}}}return this}},{key:"hasLoop",value:function hasLoop(txt){var loop=/<!-- BEGIN (.+?):loop -->(([\n\r\t]|.)*?)<!-- END (.+?):loop -->/g;if(txt.match(loop)){return true}else{return false}}},{key:"getHtml",value:function getHtml(selector,row){var $template=$(selector);var html=$template.html();if(row){html=selector}if(!html){return""}var data=this.data;html=this.resolveInclude(html);html=this.resolveWith(html);while(this.hasLoop(html)){html=this.resolveLoop(html)}html=this.resolveBlock(html,data);html=html.replace(/\\([^\\])/g,"$1");html=this.resolveAbsBlock(html);return html.replace(/^([\t ])*\n/gm,"")}},{key:"update",value:function update(txt,part){var html=this.getHtml();var templates=this.templates;var renderWay=txt||"html";if(this.beforeUpdated){this.beforeUpdated()}for(var i=0,n=templates.length;i<n;i++){var tem=templates[i];var selector="#"+tem;var html=this.getHtml(selector);var $target=$("[data-id='"+tem+"']");if(!part||part==tem){if($target.length==0){var $newitem=$("<div data-id='"+tem+"'></div>");$newitem[renderWay](html);$(selector).after($newitem)}else{$target[renderWay](html)}if(part){break}}}this.updateBindingData(part);if(this.onUpdated){this.onUpdated()}return this}},{key:"updateBindingData",value:function updateBindingData(part){var that=this;var templates=that.templates;for(var i=0,n=templates.length;i<n;i++){var temp=templates[i];if(!part||part==temp){var $template=$("[data-id='"+temp+"']");$template.find("[data-bind]").each(function(){var data=that.getDataByString($(this).data("bind"));if($(this).attr("type")=="checkbox"||$(this).attr("type")=="radio"){if(data==$(this).val()){$(this).prop("checked",true)}}else{$(this).val(data)}});if(part){break}}}return this}},{key:"copyToClipBoard",value:function copyToClipBoard(){var copyArea=$("<textarea/>");$("body").append(copyArea);copyArea.text(this.getHtml());copyArea.select();document.execCommand("copy");copyArea.remove();return this}},{key:"applyMethod",value:function applyMethod(method){var args=[].splice.call(arguments,0);args.shift();return this.method[method].apply(this,args)}},{key:"getComputedProp",value:function getComputedProp(prop){return this.data[prop].apply(this)}},{key:"remove",value:function remove(path){var object=this.data;var stack=path.split(".");while(stack.length>1){object=object[stack.shift()]}var shift=stack.shift();if(shift.match(/^\d+$/)){object.splice(Number(shift),1)}else{delete object[shift]}return this}}]);return aTemplate}();module.exports=aTemplate},{"zepto-browserify":1}]},{},[2])(2)});
var dataType=settings.dataType,hasPlaceholder=/=\?/.test(settings.url);if(dataType=="jsonp"||hasPlaceholder){if(!hasPlaceholder)settings.url=appendQuery(settings.url,"callback=?");return $.ajaxJSONP(settings)}var mime=settings.accepts[dataType],baseHeaders={},protocol=/^([\w-]+:)\/\//.test(settings.url)?RegExp.$1:window.location.protocol,xhr=settings.xhr(),abortTimeout;if(!settings.crossDomain)baseHeaders["X-Requested-With"]="XMLHttpRequest";if(mime){baseHeaders["Accept"]=mime;if(mime.indexOf(",")>-1)mime=mime.split(",",2)[0];xhr.overrideMimeType&&xhr.overrideMimeType(mime)}if(settings.contentType||settings.contentType!==false&&settings.data&&settings.type.toUpperCase()!="GET")baseHeaders["Content-Type"]=settings.contentType||"application/x-www-form-urlencoded";settings.headers=$.extend(baseHeaders,settings.headers||{});xhr.onreadystatechange=function(){if(xhr.readyState==4){xhr.onreadystatechange=empty;clearTimeout(abortTimeout);var result,error=false;if(xhr.status>=200&&xhr.status<300||xhr.status==304||xhr.status==0&&protocol=="file:"){dataType=dataType||mimeToDataType(xhr.getResponseHeader("content-type"));result=xhr.responseText;try{if(dataType=="script")(1,eval)(result);else if(dataType=="xml")result=xhr.responseXML;else if(dataType=="json")result=blankRE.test(result)?null:$.parseJSON(result)}catch(e){error=e}if(error)ajaxError(error,"parsererror",xhr,settings);else ajaxSuccess(result,xhr,settings)}else{ajaxError(null,xhr.status?"error":"abort",xhr,settings)}}};var async="async"in settings?settings.async:true;xhr.open(settings.type,settings.url,async);for(name in settings.headers)xhr.setRequestHeader(name,settings.headers[name]);if(ajaxBeforeSend(xhr,settings)===false){xhr.abort();return false}if(settings.timeout>0)abortTimeout=setTimeout(function(){xhr.onreadystatechange=empty;xhr.abort();ajaxError(null,"timeout",xhr,settings)},settings.timeout);xhr.send(settings.data?settings.data:null);return xhr};function parseArguments(url,data,success,dataType){var hasData=!$.isFunction(data);return{url:url,data:hasData?data:undefined,success:!hasData?data:$.isFunction(success)?success:undefined,dataType:hasData?dataType||success:success}}$.get=function(url,data,success,dataType){return $.ajax(parseArguments.apply(null,arguments))};$.post=function(url,data,success,dataType){var options=parseArguments.apply(null,arguments);options.type="POST";return $.ajax(options)};$.getJSON=function(url,data,success){var options=parseArguments.apply(null,arguments);options.dataType="json";return $.ajax(options)};$.fn.load=function(url,data,success){if(!this.length)return this;var self=this,parts=url.split(/\s/),selector,options=parseArguments(url,data,success),callback=options.success;if(parts.length>1)options.url=parts[0],selector=parts[1];options.success=function(response){self.html(selector?$("<div>").html(response.replace(rscript,"")).find(selector):response);callback&&callback.apply(self,arguments)};$.ajax(options);return this};var escape=encodeURIComponent;function serialize(params,obj,traditional,scope){var type,array=$.isArray(obj);$.each(obj,function(key,value){type=$.type(value);if(scope)key=traditional?scope:scope+"["+(array?"":key)+"]";if(!scope&&array)params.add(value.name,value.value);else if(type=="array"||!traditional&&type=="object")serialize(params,value,traditional,key);else params.add(key,value)})}$.param=function(obj,traditional){var params=[];params.add=function(k,v){this.push(escape(k)+"="+escape(v))};serialize(params,obj,traditional);return params.join("&").replace(/%20/g,"+")}})(Zepto);(function($){$.fn.serializeArray=function(){var result=[],el;$(Array.prototype.slice.call(this.get(0).elements)).each(function(){el=$(this);var type=el.attr("type");if(this.nodeName.toLowerCase()!="fieldset"&&!this.disabled&&type!="submit"&&type!="reset"&&type!="button"&&(type!="radio"&&type!="checkbox"||this.checked))result.push({name:el.attr("name"),value:el.val()})});return result};$.fn.serialize=function(){var result=[];this.serializeArray().forEach(function(elm){result.push(encodeURIComponent(elm.name)+"="+encodeURIComponent(elm.value))});return result.join("&")};$.fn.submit=function(callback){if(callback)this.bind("submit",callback);else if(this.length){var event=$.Event("submit");this.eq(0).trigger(event);if(!event.defaultPrevented)this.get(0).submit()}return this}})(Zepto);(function($,undefined){var prefix="",eventPrefix,endEventName,endAnimationName,vendors={Webkit:"webkit",Moz:"",O:"o",ms:"MS"},document=window.document,testEl=document.createElement("div"),supportedTransforms=/^((translate|rotate|scale)(X|Y|Z|3d)?|matrix(3d)?|perspective|skew(X|Y)?)$/i,transform,transitionProperty,transitionDuration,transitionTiming,animationName,animationDuration,animationTiming,cssReset={};function dasherize(str){return downcase(str.replace(/([a-z])([A-Z])/,"$1-$2"))}function downcase(str){return str.toLowerCase()}function normalizeEvent(name){return eventPrefix?eventPrefix+name:downcase(name)}$.each(vendors,function(vendor,event){if(testEl.style[vendor+"TransitionProperty"]!==undefined){prefix="-"+downcase(vendor)+"-";eventPrefix=event;return false}});transform=prefix+"transform";cssReset[transitionProperty=prefix+"transition-property"]=cssReset[transitionDuration=prefix+"transition-duration"]=cssReset[transitionTiming=prefix+"transition-timing-function"]=cssReset[animationName=prefix+"animation-name"]=cssReset[animationDuration=prefix+"animation-duration"]=cssReset[animationTiming=prefix+"animation-timing-function"]="";$.fx={off:eventPrefix===undefined&&testEl.style.transitionProperty===undefined,speeds:{_default:400,fast:200,slow:600},cssPrefix:prefix,transitionEnd:normalizeEvent("TransitionEnd"),animationEnd:normalizeEvent("AnimationEnd")};$.fn.animate=function(properties,duration,ease,callback){if($.isPlainObject(duration))ease=duration.easing,callback=duration.complete,duration=duration.duration;if(duration)duration=(typeof duration=="number"?duration:$.fx.speeds[duration]||$.fx.speeds._default)/1e3;return this.anim(properties,duration,ease,callback)};$.fn.anim=function(properties,duration,ease,callback){var key,cssValues={},cssProperties,transforms="",that=this,wrappedCallback,endEvent=$.fx.transitionEnd;if(duration===undefined)duration=.4;if($.fx.off)duration=0;if(typeof properties=="string"){cssValues[animationName]=properties;cssValues[animationDuration]=duration+"s";cssValues[animationTiming]=ease||"linear";endEvent=$.fx.animationEnd}else{cssProperties=[];for(key in properties)if(supportedTransforms.test(key))transforms+=key+"("+properties[key]+") ";else cssValues[key]=properties[key],cssProperties.push(dasherize(key));if(transforms)cssValues[transform]=transforms,cssProperties.push(transform);if(duration>0&&typeof properties==="object"){cssValues[transitionProperty]=cssProperties.join(", ");cssValues[transitionDuration]=duration+"s";cssValues[transitionTiming]=ease||"linear"}}wrappedCallback=function(event){if(typeof event!=="undefined"){if(event.target!==event.currentTarget)return;$(event.target).unbind(endEvent,wrappedCallback)}$(this).css(cssReset);callback&&callback.call(this)};if(duration>0)this.bind(endEvent,wrappedCallback);this.size()&&this.get(0).clientLeft;this.css(cssValues);if(duration<=0)setTimeout(function(){that.each(function(){wrappedCallback.call(this)})},0);return this};testEl=null})(Zepto)},{}],2:[function(require,module,exports){"use strict";var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){if(protoProps)defineProperties(Constructor.prototype,protoProps);if(staticProps)defineProperties(Constructor,staticProps);return Constructor}}();function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}}var $=require("zepto-browserify").$;var objs=[];var eventType="input paste click change keydown contextmenu mouseup mousedown mousemove touchstart touchend touchmove compositionstart compositionend";var dataAction=eventType.replace(/([a-z]+)/g,"[data-action-$1],")+"[data-action]";var getObjectById=function getObjectById(id){for(var i=0,n=objs.length;i<n;i++){var obj=objs[i];var templates=obj.templates;for(var t=0,m=templates.length;t<m;t++){if(templates[t]==id){return obj}}}return null};if(typeof jQuery!=="undefined"){$=jQuery}if(typeof document!=="undefined"){$(document).on("input change click","[data-bind]",function(e){var data=$(this).data("bind");var val=$(this).val();var attr=$(this).attr("href");if(attr){val=attr.replace("#","")}var id=$(this).parents("[data-id]").data("id");if(id){var obj=getObjectById(id);if($(e.target).attr("type")=="radio"){if($(this).is(":checked")){obj.updateDataByString(data,val)}else{obj.updateDataByString(data,"")}}else if($(e.target).attr("type")=="checkbox"){(function(){var arr=[];$('[data-bind="'+data+'"]').each(function(){if($(this).is(":checked")){arr.push($(this).val())}});obj.updateDataByString(data,arr)})()}else{obj.updateDataByString(data,val)}}});$(document).on(eventType,dataAction,function(e){if(e.type=="click"&&$(e.target).is("select")){return}if(e.type=="input"&&$(e.target).attr("type")=="button"){return}var events=eventType.split(" ");var $self=$(this);var action="action";events.forEach(function(event){if($self.data("action-"+event)){if(e.type===event){action+="-"+event}}});var string=$self.data(action);if(!string){return}var method=string.replace(/\(.*?\);?/,"");var parameter=string.replace(/(.*?)\((.*?)\);?/,"$2");var pts=parameter.split(",");var id=$self.parents("[data-id]").data("id");if(id){var obj=getObjectById(id);obj.e=e;if(obj.method&&obj.method[method]){obj.method[method].apply(obj,pts)}else if(obj[method]){obj[method].apply(obj,pts)}}})}var aTemplate=function(){function aTemplate(opt){_classCallCheck(this,aTemplate);objs.push(this);for(var i in opt){this[i]=opt[i]}if(!this.data){this.data={}}this.setId()}_createClass(aTemplate,[{key:"addTemplate",value:function addTemplate(template,id){$("body").append("<script type='text/template' id='"+id+"'>"+template+"</script>");if(!this.templates){this.templates=[]}this.templates.push(id)}},{key:"loadHtml",value:function loadHtml(){var templates=this.templates;var promises=[];templates.forEach(function(template){var d=new $.Deferred;promises.push(d);var src=$("#"+template).attr("src");$.ajax({url:src,type:"GET",dataType:"text"}).success(function(data){$("#"+template).html(data);d.resolve()})});return $.when.apply($,promises)}},{key:"getData",value:function getData(){return JSON.parse(JSON.stringify(this.data))}},{key:"saveData",value:function saveData(key){var data=JSON.stringify(this.data);localStorage.setItem(key,data)}},{key:"setData",value:function setData(val){for(var i in val){if(typeof val[i]!=="function"){this.data[i]=val[i]}}}},{key:"loadData",value:function loadData(key){var data=JSON.parse(localStorage.getItem(key));if(data){for(var i in data){if(typeof data[i]!=="function"){this.data[i]=data[i]}}}}},{key:"getRand",value:function getRand(a,b){return~~(Math.random()*(b-a+1))+a}},{key:"getRandText",value:function getRandText(limit){var ret="";var strings="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";var length=strings.length;for(var i=0;i<limit;i++){ret+=strings.charAt(Math.floor(this.getRand(0,length)))}return ret}},{key:"setId",value:function setId(){var text=void 0;var ids=aTemplate.ids;var flag=false;while(1){text=this.getRandText(10);for(var i=0,n=aTemplate.ids;i<n;i++){if(aTemplate.ids[i]===text){flag=true}}if(flag===false){break}}this.data.aTemplate_id=text}},{key:"getDataFromObj",value:function getDataFromObj(s,o){s=s.replace(/\[([a-zA-Z0-9._-]+)\]/g,".$1");s=s.replace(/^\./,"");var a=s.split(".");while(a.length){var n=a.shift();if(n in o){o=o[n]}else{return}}return o}},{key:"getDataByString",value:function getDataByString(s){var o=this.data;return this.getDataFromObj(s,o)}},{key:"updateDataByString",value:function updateDataByString(path,newValue){var object=this.data;var stack=path.split(".");while(stack.length>1){object=object[stack.shift()]}object[stack.shift()]=newValue}},{key:"removeDataByString",value:function removeDataByString(path){var object=this.data;var stack=path.split(".");while(stack.length>1){object=object[stack.shift()]}var shift=stack.shift();if(shift.match(/^\d+$/)){object.splice(Number(shift),1)}else{delete object[shift]}}},{key:"resolveBlock",value:function resolveBlock(html,item,i){var that=this;var touchs=html.match(/<!-- BEGIN ([a-zA-Z0-9._-]+):touch#([a-zA-Z0-9._-]+) -->/g);var touchnots=html.match(/<!-- BEGIN ([a-zA-Z0-9._-]+):touchnot#([a-zA-Z0-9._-]+) -->/g);var exists=html.match(/<!-- BEGIN ([a-zA-Z0-9._-]+):exist -->/g);var empties=html.match(/<!-- BEGIN ([a-zA-Z0-9._-]+):empty -->/g);if(touchs){for(var k=0,n=touchs.length;k<n;k++){var start=touchs[k];start=start.replace(/([a-zA-Z0-9._-]+):touch#([a-zA-Z0-9._-]+)/,"($1):touch#($2)");var end=start.replace(/BEGIN/,"END");var reg=new RegExp(start+"(([\\n\\r\\t]|.)*?)"+end,"g");html=html.replace(reg,function(m,key2,val,next){var itemkey=typeof item[key2]==="function"?item[key2].apply(that):that.getDataFromObj(key2,item);if(itemkey==val){return next}else{return""}})}}if(touchnots){for(var _k=0,_n=touchnots.length;_k<_n;_k++){var _start=touchnots[_k];_start=_start.replace(/([a-zA-Z0-9._-]+):touchnot#([a-zA-Z0-9._-]+)/,"($1):touchnot#($2)");var _end=_start.replace(/BEGIN/,"END");var _reg=new RegExp(_start+"(([\\n\\r\\t]|.)*?)"+_end,"g");html=html.replace(_reg,function(m,key2,val,next){var itemkey=typeof item[key2]==="function"?item[key2].apply(that):that.getDataFromObj(key2,item);if(itemkey!=val){return next}else{return""}})}}if(exists){for(var _k2=0,_n2=exists.length;_k2<_n2;_k2++){var _start2=exists[_k2];_start2=_start2.replace(/([a-zA-Z0-9._-]+):exist/,"($1):exist");var _end2=_start2.replace(/BEGIN/,"END");var _reg2=new RegExp(_start2+"(([\\n\\r\\t]|.)*?)"+_end2,"g");html=html.replace(_reg2,function(m,key2,next){var itemkey=typeof item[key2]==="function"?item[key2].apply(that):that.getDataFromObj(key2,item);if(itemkey){return next}else{return""}})}}if(empties){for(var _k3=0,_n3=empties.length;_k3<_n3;_k3++){var _start3=empties[_k3];_start3=_start3.replace(/([a-zA-Z0-9._-]+):empty/,"($1):empty");var _end3=_start3.replace(/BEGIN/,"END");var empty=new RegExp(_start3+"(([\\n\\r\\t]|.)*?)"+_end3,"g");html=html.replace(empty,function(m,key2,next){var itemkey=typeof item[key2]==="function"?item[key2].apply(that):that.getDataFromObj(key2,item);if(!itemkey){return next}else{return""}})}}html=html.replace(/{([a-zA-Z0-9._-]+)}(\[([a-zA-Z0-9._-]+)\])*/g,function(n,key3,key4,converter){var data=void 0;if(key3=="i"){data=i}else{if(item[key3]){if(typeof item[key3]==="function"){data=item[key3].apply(that)}else{data=item[key3]}}else{if(converter&&that.convert&&that.convert[converter]){return that.convert[converter].call(that,"")}else{return""}}}if(converter&&that.convert&&that.convert[converter]){return that.convert[converter].call(that,data)}else{return data}});return html}},{key:"resolveAbsBlock",value:function resolveAbsBlock(html){var that=this;html=html.replace(/{(.*?)}/g,function(n,key3){var data=that.getDataByString(key3);if(typeof data!=="undefined"){if(typeof data==="function"){return data.apply(that)}else{return data}}else{return n}});return html}},{key:"resolveInclude",value:function resolveInclude(html){var include=/<!-- #include id="(.*?)" -->/g;html=html.replace(include,function(m,key){return $("#"+key).html()});return html}},{key:"resolveWith",value:function resolveWith(html){var width=/<!-- BEGIN ([a-zA-Z0-9._-]+):with -->(([\n\r\t]|.)*?)<!-- END ([a-zA-Z0-9._-]+):with -->/g;html=html.replace(width,function(m,key,val){m=m.replace(/data\-bind=['"](.*?)['"]/g,"data-bind='"+key+".$1'");return m});return html}},{key:"resolveLoop",value:function resolveLoop(html){var loop=/<!-- BEGIN (.+?):loop -->(([\n\r\t]|.)*?)<!-- END (.+?):loop -->/g;var that=this;html=html.replace(loop,function(m,key,val){var keyItem=that.getDataByString(key);var keys=[];if(typeof keyItem==="function"){keys=keyItem.apply(that)}else{keys=keyItem}var ret="";if(keys instanceof Array){for(var i=0,n=keys.length;i<n;i++){ret+=that.resolveBlock(val,keys[i],i)}}ret=ret.replace(/\\([^\\])/g,"$1");return ret});return html}},{key:"removeData",value:function removeData(arr){var data=this.data;for(var i in data){for(var t=0,n=arr.length;t<n;t++){if(i===arr[t]){delete data[i]}}}return this}},{key:"hasLoop",value:function hasLoop(txt){var loop=/<!-- BEGIN (.+?):loop -->(([\n\r\t]|.)*?)<!-- END (.+?):loop -->/g;if(txt.match(loop)){return true}else{return false}}},{key:"getHtml",value:function getHtml(selector,row){var $template=$(selector);var html=$template.html();if(row){html=selector}if(!html){return""}var data=this.data;html=this.resolveInclude(html);html=this.resolveWith(html);while(this.hasLoop(html)){html=this.resolveLoop(html)}html=this.resolveBlock(html,data);html=html.replace(/\\([^\\])/g,"$1");html=this.resolveAbsBlock(html);return html.replace(/^([\t ])*\n/gm,"")}},{key:"update",value:function update(txt,part){var html=this.getHtml();var templates=this.templates;var renderWay=txt||"html";if(this.beforeUpdated){this.beforeUpdated()}for(var i=0,n=templates.length;i<n;i++){var tem=templates[i];var selector="#"+tem;var _html=this.getHtml(selector);var $target=$("[data-id='"+tem+"']");if(!part||part==tem){if($target.length==0){var $newitem=$("<div data-id='"+tem+"'></div>");$newitem[renderWay](_html);$(selector).after($newitem)}else{$target[renderWay](_html)}if(part){break}}}this.updateBindingData(part);if(this.onUpdated){this.onUpdated(part)}return this}},{key:"updateBindingData",value:function updateBindingData(part){var that=this;var templates=that.templates;for(var i=0,n=templates.length;i<n;i++){var temp=templates[i];if(!part||part==temp){var $template=$("[data-id='"+temp+"']");$template.find("[data-bind]").each(function(){var data=that.getDataByString($(this).data("bind"));if($(this).attr("type")=="checkbox"||$(this).attr("type")=="radio"){if(data==$(this).val()){$(this).prop("checked",true)}}else{$(this).val(data)}});if(part){break}}}return this}},{key:"copyToClipBoard",value:function copyToClipBoard(){var copyArea=$("<textarea/>");$("body").append(copyArea);copyArea.text(this.getHtml());copyArea.select();document.execCommand("copy");copyArea.remove();return this}},{key:"applyMethod",value:function applyMethod(method){var args=[].splice.call(arguments,0);args.shift();return this.method[method].apply(this,args)}},{key:"getComputedProp",value:function getComputedProp(prop){return this.data[prop].apply(this)}},{key:"remove",value:function remove(path){var object=this.data;var stack=path.split(".");while(stack.length>1){object=object[stack.shift()]}var shift=stack.shift();if(shift.match(/^\d+$/)){object.splice(Number(shift),1)}else{delete object[shift]}return this}}]);return aTemplate}();module.exports=aTemplate},{"zepto-browserify":1}]},{},[2])(2)});

@@ -46,9 +46,11 @@ "use strict";

} else if ($(e.target).attr("type") == "checkbox") {
var arr = [];
$("[data-bind=\"" + data + "\"]").each(function () {
if ($(this).is(":checked")) {
arr.push($(this).val());
}
});
obj.updateDataByString(data, arr);
(function () {
var arr = [];
$("[data-bind=\"" + data + "\"]").each(function () {
if ($(this).is(":checked")) {
arr.push($(this).val());
}
});
obj.updateDataByString(data, arr);
})();
} else {

@@ -81,3 +83,3 @@ obj.updateDataByString(data, val);

}
var action = string.replace(/\(.*?\);?/, "");
var method = string.replace(/\(.*?\);?/, "");
var parameter = string.replace(/(.*?)\((.*?)\);?/, "$2");

@@ -89,6 +91,6 @@ var pts = parameter.split(","); //引き数

obj.e = e;
if (obj.method && obj.method[action]) {
obj.method[action].apply(obj, pts);
} else if (obj[action]) {
obj[action].apply(obj, pts);
if (obj.method && obj.method[method]) {
obj.method[method].apply(obj, pts);
} else if (obj[method]) {
obj[method].apply(obj, pts);
}

@@ -193,3 +195,3 @@ }

value: function setId() {
var text;
var text = void 0;
var ids = aTemplate.ids;

@@ -284,8 +286,8 @@ var flag = false;

if (touchnots) {
for (var k = 0, n = touchnots.length; k < n; k++) {
var start = touchnots[k];
start = start.replace(/([a-zA-Z0-9._-]+):touchnot#([a-zA-Z0-9._-]+)/, "($1):touchnot#($2)");
var end = start.replace(/BEGIN/, "END");
var reg = new RegExp(start + "(([\\n\\r\\t]|.)*?)" + end, "g");
html = html.replace(reg, function (m, key2, val, next) {
for (var _k = 0, _n = touchnots.length; _k < _n; _k++) {
var _start = touchnots[_k];
_start = _start.replace(/([a-zA-Z0-9._-]+):touchnot#([a-zA-Z0-9._-]+)/, "($1):touchnot#($2)");
var _end = _start.replace(/BEGIN/, "END");
var _reg = new RegExp(_start + "(([\\n\\r\\t]|.)*?)" + _end, "g");
html = html.replace(_reg, function (m, key2, val, next) {
var itemkey = typeof item[key2] === "function" ? item[key2].apply(that) : that.getDataFromObj(key2, item);

@@ -302,8 +304,8 @@ if (itemkey != val) {

if (exists) {
for (var k = 0, n = exists.length; k < n; k++) {
var start = exists[k];
start = start.replace(/([a-zA-Z0-9._-]+):exist/, "($1):exist");
var end = start.replace(/BEGIN/, "END");
var reg = new RegExp(start + "(([\\n\\r\\t]|.)*?)" + end, "g");
html = html.replace(reg, function (m, key2, next) {
for (var _k2 = 0, _n2 = exists.length; _k2 < _n2; _k2++) {
var _start2 = exists[_k2];
_start2 = _start2.replace(/([a-zA-Z0-9._-]+):exist/, "($1):exist");
var _end2 = _start2.replace(/BEGIN/, "END");
var _reg2 = new RegExp(_start2 + "(([\\n\\r\\t]|.)*?)" + _end2, "g");
html = html.replace(_reg2, function (m, key2, next) {
var itemkey = typeof item[key2] === "function" ? item[key2].apply(that) : that.getDataFromObj(key2, item);

@@ -320,7 +322,7 @@ if (itemkey) {

if (empties) {
for (var k = 0, n = empties.length; k < n; k++) {
var start = empties[k];
start = start.replace(/([a-zA-Z0-9._-]+):empty/, "($1):empty");
var end = start.replace(/BEGIN/, "END");
var empty = new RegExp(start + "(([\\n\\r\\t]|.)*?)" + end, "g");
for (var _k3 = 0, _n3 = empties.length; _k3 < _n3; _k3++) {
var _start3 = empties[_k3];
_start3 = _start3.replace(/([a-zA-Z0-9._-]+):empty/, "($1):empty");
var _end3 = _start3.replace(/BEGIN/, "END");
var empty = new RegExp(_start3 + "(([\\n\\r\\t]|.)*?)" + _end3, "g");
html = html.replace(empty, function (m, key2, next) {

@@ -338,3 +340,3 @@ var itemkey = typeof item[key2] === "function" ? item[key2].apply(that) : that.getDataFromObj(key2, item);

html = html.replace(/{([a-zA-Z0-9._-]+)}(\[([a-zA-Z0-9._-]+)\])*/g, function (n, key3, key4, converter) {
var data;
var data = void 0;
if (key3 == "i") {

@@ -494,3 +496,3 @@ data = i;

var selector = "#" + tem;
var html = this.getHtml(selector);
var _html = this.getHtml(selector);
var $target = $("[data-id='" + tem + "']");

@@ -500,6 +502,6 @@ if (!part || part == tem) {

var $newitem = $("<div data-id='" + tem + "'></div>");
$newitem[renderWay](html);
$newitem[renderWay](_html);
$(selector).after($newitem);
} else {
$target[renderWay](html);
$target[renderWay](_html);
}

@@ -513,3 +515,3 @@ if (part) {

if (this.onUpdated) {
this.onUpdated();
this.onUpdated(part);
}

@@ -516,0 +518,0 @@ return this;

{
"name": "a-template",
"version": "0.0.17",
"version": "0.0.18",
"author": "steelydylan",

@@ -5,0 +5,0 @@ "description": "Simple Template Engine",

@@ -1,2 +0,2 @@

#aTemplate.js
#a-template.js

@@ -3,0 +3,0 @@ Simple Template Engine

@@ -1,10 +0,10 @@

var $ = require("zepto-browserify").$;
var objs = [];
var eventType = "input paste click change keydown contextmenu mouseup mousedown mousemove touchstart touchend touchmove compositionstart compositionend";
var dataAction = eventType.replace(/([a-z]+)/g,"[data-action-$1],") + "[data-action]";
var getObjectById = (id) => {
for (var i = 0, n = objs.length; i < n; i++) {
var obj = objs[i];
var templates = obj.templates;
for (var t = 0, m = templates.length; t < m; t++) {
let $ = require("zepto-browserify").$;
const objs = [];
const eventType = "input paste click change keydown contextmenu mouseup mousedown mousemove touchstart touchend touchmove compositionstart compositionend";
const dataAction = eventType.replace(/([a-z]+)/g,"[data-action-$1],") + "[data-action]";
const getObjectById = (id) => {
for (let i = 0, n = objs.length; i < n; i++) {
let obj = objs[i];
let templates = obj.templates;
for (let t = 0, m = templates.length; t < m; t++) {
if (templates[t] == id) {

@@ -17,3 +17,3 @@ return obj;

}
if (typeof jQuery !== "undefined") {
if (typeof jQuery !=="undefined"){
// for IE

@@ -25,11 +25,11 @@ $ = jQuery;

$(document).on("input change click", "[data-bind]", function(e) {
var data = $(this).data("bind");
var val = $(this).val();
var attr = $(this).attr("href");
let data = $(this).data("bind");
let val = $(this).val();
let attr = $(this).attr("href");
if (attr) {
val = attr.replace("#", "");
}
var id = $(this).parents("[data-id]").data("id");
let id = $(this).parents("[data-id]").data("id");
if (id) {
var obj = getObjectById(id);
let obj = getObjectById(id);
if ($(e.target).attr("type") == "radio") {

@@ -42,3 +42,3 @@ if ($(this).is(":checked")) {

} else if ($(e.target).attr("type") == "checkbox") {
var arr = [];
let arr = [];
$("[data-bind=\"" + data + "\"]").each(function () {

@@ -63,5 +63,5 @@ if ($(this).is(":checked")) {

}
var events = eventType.split(" ");
var $self = $(this);
var action = "action";
let events = eventType.split(" ");
let $self = $(this);
let action = "action";
events.forEach(function(event){

@@ -74,17 +74,17 @@ if ($self.data("action-"+event)) {

});
var string = $self.data(action);
let string = $self.data(action);
if(!string){
return;
}
var action = string.replace(/\(.*?\);?/,"");
var parameter = string.replace(/(.*?)\((.*?)\);?/,"$2");
var pts = parameter.split(",");//引き数
var id = $self.parents("[data-id]").data("id");
let method = string.replace(/\(.*?\);?/,"");
let parameter = string.replace(/(.*?)\((.*?)\);?/,"$2");
let pts = parameter.split(",");//引き数
let id = $self.parents("[data-id]").data("id");
if(id){
var obj = getObjectById(id);
let obj = getObjectById(id);
obj.e = e;
if(obj.method && obj.method[action]){
obj.method[action].apply(obj,pts);
}else if(obj[action]){
obj[action].apply(obj,pts);
if(obj.method && obj.method[method]){
obj.method[method].apply(obj,pts);
}else if(obj[method]){
obj[method].apply(obj,pts);
}

@@ -99,3 +99,3 @@ }

objs.push(this);
for(var i in opt){
for(let i in opt){
this[i] = opt[i];

@@ -118,8 +118,8 @@ }

loadHtml() {
var templates = this.templates;
var promises = [];
let templates = this.templates;
let promises = [];
templates.forEach((template) => {
var d = new $.Deferred();
let d = new $.Deferred();
promises.push(d);
var src = $("#" + template).attr("src");
let src = $("#" + template).attr("src");
$.ajax({

@@ -142,3 +142,3 @@ url: src,

saveData (key) {
var data = JSON.stringify(this.data);
let data = JSON.stringify(this.data);
localStorage.setItem(key, data);

@@ -148,3 +148,3 @@ }

setData (val) {
for (var i in val) {
for (let i in val) {
if (typeof val[i] !== "function") {

@@ -157,5 +157,5 @@ this.data[i] = val[i];

loadData (key) {
var data = JSON.parse(localStorage.getItem(key));
let data = JSON.parse(localStorage.getItem(key));
if (data) {
for (var i in data) {
for (let i in data) {
if (typeof data[i] !== "function") {

@@ -173,6 +173,6 @@ this.data[i] = data[i];

getRandText (limit) {
var ret = "";
var strings = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";
var length = strings.length;
for (var i = 0; i < limit; i++) {
let ret = "";
let strings = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";
let length = strings.length;
for (let i = 0; i < limit; i++) {
ret += strings.charAt(Math.floor(this.getRand(0, length)));

@@ -184,8 +184,8 @@ }

setId () {
var text;
var ids = aTemplate.ids;
var flag = false;
let text;
let ids = aTemplate.ids;
let flag = false;
while (1) {
text = this.getRandText(10);
for (var i = 0, n = aTemplate.ids; i < n; i++) {
for (let i = 0, n = aTemplate.ids; i < n; i++) {
if (aTemplate.ids[i] === text) {

@@ -205,5 +205,5 @@ flag = true;

s = s.replace(/^\./, ''); // strip leading dot
var a = s.split('.');
let a = s.split('.');
while (a.length) {
var n = a.shift();
let n = a.shift();
if (n in o) {

@@ -219,3 +219,3 @@ o = o[n];

getDataByString(s){
var o = this.data;
let o = this.data;
return this.getDataFromObj(s,o);

@@ -225,4 +225,4 @@ }

updateDataByString (path, newValue) {
var object = this.data;
var stack = path.split('.');
let object = this.data;
let stack = path.split('.');
while (stack.length > 1) {

@@ -235,8 +235,8 @@ object = object[stack.shift()];

removeDataByString (path) {
var object = this.data;
var stack = path.split('.');
let object = this.data;
let stack = path.split('.');
while (stack.length > 1) {
object = object[stack.shift()];
}
var shift = stack.shift();
let shift = stack.shift();
if (shift.match(/^\d+$/)) {

@@ -250,16 +250,16 @@ object.splice(Number(shift), 1);

resolveBlock(html,item,i){
var that = this;
var touchs = html.match(/<!-- BEGIN ([a-zA-Z0-9._-]+):touch#([a-zA-Z0-9._-]+) -->/g);
var touchnots = html.match(/<!-- BEGIN ([a-zA-Z0-9._-]+):touchnot#([a-zA-Z0-9._-]+) -->/g);
var exists = html.match(/<!-- BEGIN ([a-zA-Z0-9._-]+):exist -->/g);
var empties = html.match(/<!-- BEGIN ([a-zA-Z0-9._-]+):empty -->/g);
let that = this;
let touchs = html.match(/<!-- BEGIN ([a-zA-Z0-9._-]+):touch#([a-zA-Z0-9._-]+) -->/g);
let touchnots = html.match(/<!-- BEGIN ([a-zA-Z0-9._-]+):touchnot#([a-zA-Z0-9._-]+) -->/g);
let exists = html.match(/<!-- BEGIN ([a-zA-Z0-9._-]+):exist -->/g);
let empties = html.match(/<!-- BEGIN ([a-zA-Z0-9._-]+):empty -->/g);
/*タッチブロック解決*/
if(touchs){
for(var k = 0,n = touchs.length; k < n; k++){
var start = touchs[k];
for(let k = 0,n = touchs.length; k < n; k++){
let start = touchs[k];
start = start.replace(/([a-zA-Z0-9._-]+):touch#([a-zA-Z0-9._-]+)/,"($1):touch#($2)");
var end = start.replace(/BEGIN/,"END");
var reg = new RegExp(start+"(([\\n\\r\\t]|.)*?)"+end,"g");
let end = start.replace(/BEGIN/,"END");
let reg = new RegExp(start+"(([\\n\\r\\t]|.)*?)"+end,"g");
html = html.replace(reg,function(m,key2,val,next){
var itemkey = typeof item[key2] === "function" ? item[key2].apply(that) : that.getDataFromObj(key2,item);
let itemkey = typeof item[key2] === "function" ? item[key2].apply(that) : that.getDataFromObj(key2,item);
if(itemkey == val){

@@ -275,9 +275,9 @@ return next;

if(touchnots){
for(var k = 0,n = touchnots.length; k < n; k++){
var start = touchnots[k];
for(let k = 0,n = touchnots.length; k < n; k++){
let start = touchnots[k];
start = start.replace(/([a-zA-Z0-9._-]+):touchnot#([a-zA-Z0-9._-]+)/,"($1):touchnot#($2)");
var end = start.replace(/BEGIN/,"END");
var reg = new RegExp(start+"(([\\n\\r\\t]|.)*?)"+end,"g");
let end = start.replace(/BEGIN/,"END");
let reg = new RegExp(start+"(([\\n\\r\\t]|.)*?)"+end,"g");
html = html.replace(reg,function(m,key2,val,next){
var itemkey = typeof item[key2] === "function" ? item[key2].apply(that) : that.getDataFromObj(key2,item);
let itemkey = typeof item[key2] === "function" ? item[key2].apply(that) : that.getDataFromObj(key2,item);
if(itemkey != val){

@@ -293,9 +293,9 @@ return next;

if(exists){
for(var k = 0,n = exists.length; k < n; k++){
var start = exists[k];
for(let k = 0,n = exists.length; k < n; k++){
let start = exists[k];
start = start.replace(/([a-zA-Z0-9._-]+):exist/,"($1):exist");
var end = start.replace(/BEGIN/,"END");
var reg = new RegExp(start+"(([\\n\\r\\t]|.)*?)"+end,"g");
let end = start.replace(/BEGIN/,"END");
let reg = new RegExp(start+"(([\\n\\r\\t]|.)*?)"+end,"g");
html = html.replace(reg,function(m,key2,next){
var itemkey = typeof item[key2] === "function" ? item[key2].apply(that) : that.getDataFromObj(key2,item);
let itemkey = typeof item[key2] === "function" ? item[key2].apply(that) : that.getDataFromObj(key2,item);
if(itemkey){

@@ -311,9 +311,9 @@ return next;

if(empties){
for(var k = 0,n = empties.length; k < n; k++){
var start = empties[k];
for(let k = 0,n = empties.length; k < n; k++){
let start = empties[k];
start = start.replace(/([a-zA-Z0-9._-]+):empty/,"($1):empty");
var end = start.replace(/BEGIN/,"END");
var empty = new RegExp(start+"(([\\n\\r\\t]|.)*?)"+end,"g");
let end = start.replace(/BEGIN/,"END");
let empty = new RegExp(start+"(([\\n\\r\\t]|.)*?)"+end,"g");
html = html.replace(empty,function(m,key2,next){
var itemkey = typeof item[key2] === "function" ? item[key2].apply(that) : that.getDataFromObj(key2,item);
let itemkey = typeof item[key2] === "function" ? item[key2].apply(that) : that.getDataFromObj(key2,item);
if(!itemkey){

@@ -329,3 +329,3 @@ return next;

html = html.replace(/{([a-zA-Z0-9._-]+)}(\[([a-zA-Z0-9._-]+)\])*/g,function(n,key3,key4,converter){
var data;
let data;
if(key3 == "i"){

@@ -358,5 +358,5 @@ data = i;

resolveAbsBlock(html){
var that = this;
let that = this;
html = html.replace(/{(.*?)}/g,function(n,key3){
var data = that.getDataByString(key3);
let data = that.getDataByString(key3);
if(typeof data !== "undefined"){

@@ -376,3 +376,3 @@ if (typeof data === "function"){

resolveInclude(html){
var include = /<!-- #include id="(.*?)" -->/g;
let include = /<!-- #include id="(.*?)" -->/g;
html = html.replace(include,function(m,key){

@@ -385,3 +385,3 @@ return $("#"+key).html();

resolveWith(html){
var width = /<!-- BEGIN ([a-zA-Z0-9._-]+):with -->(([\n\r\t]|.)*?)<!-- END ([a-zA-Z0-9._-]+):with -->/g;
let width = /<!-- BEGIN ([a-zA-Z0-9._-]+):with -->(([\n\r\t]|.)*?)<!-- END ([a-zA-Z0-9._-]+):with -->/g;
html = html.replace(width,function(m,key,val){

@@ -395,8 +395,8 @@ m = m.replace(/data\-bind=['"](.*?)['"]/g,"data-bind='"+key+".$1'");

resolveLoop(html){
var loop = /<!-- BEGIN (.+?):loop -->(([\n\r\t]|.)*?)<!-- END (.+?):loop -->/g;
var that = this;
let loop = /<!-- BEGIN (.+?):loop -->(([\n\r\t]|.)*?)<!-- END (.+?):loop -->/g;
let that = this;
/*ループ文解決*/
html = html.replace(loop,function(m,key,val){
var keyItem = that.getDataByString(key);
var keys = [];
let keyItem = that.getDataByString(key);
let keys = [];
if(typeof keyItem === "function"){

@@ -407,5 +407,5 @@ keys = keyItem.apply(that);

}
var ret = "";
let ret = "";
if(keys instanceof Array){
for(var i = 0,n = keys.length; i < n; i++){
for(let i = 0,n = keys.length; i < n; i++){
ret += that.resolveBlock(val,keys[i],i);

@@ -422,5 +422,5 @@ }

removeData(arr){
var data = this.data;
for(var i in data){
for(var t = 0,n = arr.length; t < n; t++){
let data = this.data;
for(let i in data){
for(let t = 0,n = arr.length; t < n; t++){
if(i === arr[t]){

@@ -435,3 +435,3 @@ delete data[i];

hasLoop(txt){
var loop = /<!-- BEGIN (.+?):loop -->(([\n\r\t]|.)*?)<!-- END (.+?):loop -->/g;
let loop = /<!-- BEGIN (.+?):loop -->(([\n\r\t]|.)*?)<!-- END (.+?):loop -->/g;
if(txt.match(loop)){

@@ -445,4 +445,4 @@ return true;

getHtml(selector,row){
var $template = $(selector);
var html = $template.html();
let $template = $(selector);
let html = $template.html();
if(row){

@@ -454,3 +454,3 @@ html = selector;

}
var data = this.data;
let data = this.data;
/*インクルード解決*/

@@ -475,16 +475,16 @@ html = this.resolveInclude(html);

update(txt,part){
var html = this.getHtml();
var templates = this.templates;
var renderWay = txt || "html";
let html = this.getHtml();
let templates = this.templates;
let renderWay = txt || "html";
if(this.beforeUpdated){
this.beforeUpdated();
}
for(var i = 0,n = templates.length; i < n; i++){
var tem = templates[i];
var selector = "#"+tem;
var html = this.getHtml(selector);
var $target = $("[data-id='"+tem+"']");
for(let i = 0,n = templates.length; i < n; i++){
let tem = templates[i];
let selector = "#"+tem;
let html = this.getHtml(selector);
let $target = $("[data-id='"+tem+"']");
if(!part || part == tem){
if($target.length == 0){
var $newitem = $("<div data-id='"+tem+"'></div>");
let $newitem = $("<div data-id='"+tem+"'></div>");
$newitem[renderWay](html);

@@ -502,3 +502,3 @@ $(selector).after($newitem);

if(this.onUpdated){
this.onUpdated();
this.onUpdated(part);
}

@@ -509,10 +509,10 @@ return this;

updateBindingData(part){
var that = this;
var templates = that.templates;
for(var i = 0,n = templates.length; i < n; i++){
var temp = templates[i];
let that = this;
let templates = that.templates;
for(let i = 0,n = templates.length; i < n; i++){
let temp = templates[i];
if(!part || part == temp){
var $template = $("[data-id='"+temp+"']");
let $template = $("[data-id='"+temp+"']");
$template.find("[data-bind]").each(function(){
var data = that.getDataByString($(this).data("bind"));
let data = that.getDataByString($(this).data("bind"));
if($(this).attr("type") == "checkbox" || $(this).attr("type") == "radio"){

@@ -535,3 +535,3 @@ if(data == $(this).val()){

copyToClipBoard () {
var copyArea = $("<textarea/>");
let copyArea = $("<textarea/>");
$("body").append(copyArea);

@@ -546,3 +546,3 @@ copyArea.text(this.getHtml());

applyMethod (method) {
var args = [].splice.call(arguments, 0);
let args = [].splice.call(arguments, 0);
args.shift();

@@ -557,8 +557,8 @@ return this.method[method].apply(this, args);

remove (path) {
var object = this.data;
var stack = path.split('.');
let object = this.data;
let stack = path.split('.');
while (stack.length > 1) {
object = object[stack.shift()];
}
var shift = stack.shift();
let shift = stack.shift();
if (shift.match(/^\d+$/)) {

@@ -565,0 +565,0 @@ object.splice(Number(shift), 1);

Sorry, the diff of this file is too big to display

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc