mirror of https://github.com/artf/grapesjs.git
nocodeframeworkdrag-and-dropsite-buildersite-generatortemplate-builderui-builderweb-builderweb-builder-frameworkwebsite-builderno-codepage-builder
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
2 lines
5.0 KiB
2 lines
5.0 KiB
/*! grapesjs-component-countdown - 0.0.2 */
|
|
!function(n,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define([],e):"object"==typeof exports?exports["grapesjs-component-countdown"]=e():n["grapesjs-component-countdown"]=e()}(this,function(){return function(n){function e(o){if(t[o])return t[o].exports;var a=t[o]={i:o,l:!1,exports:{}};return n[o].call(a.exports,a,a.exports,e),a.l=!0,a.exports}var t={};return e.m=n,e.c=t,e.d=function(n,t,o){e.o(n,t)||Object.defineProperty(n,t,{configurable:!1,enumerable:!0,get:o})},e.n=function(n){var t=n&&n.__esModule?function(){return n.default}:function(){return n};return e.d(t,"a",t),t},e.o=function(n,e){return Object.prototype.hasOwnProperty.call(n,e)},e.p="",e(e.s=1)}([function(n,e,t){"use strict";Object.defineProperty(e,"__esModule",{value:!0});e.countdownRef="countdown"},function(n,e,t){"use strict";function o(n){return n&&n.__esModule?n:{default:n}}var a=t(2),d=o(a),s=t(3),l=o(s),i=t(0);grapesjs.plugins.add("gjs-component-countdown",function(n){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},t=e,o={blocks:[i.countdownRef],defaultStyle:!0,startTime:"",endText:"EXPIRED",dateInputType:"date",countdownClsPfx:"countdown",labelCountdown:"Countdown",labelCountdownCategory:"Extra",labelDays:"days",labelHours:"hours",labelMinutes:"minutes",labelSeconds:"seconds"};for(var a in o)a in t||(t[a]=o[a]);(0,d.default)(n,t),(0,l.default)(n,t)})},function(n,e,t){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(n){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},t=e,o=n.DomComponents,a=o.getType("default"),d=o.getType("text"),s=a.model,l=a.view,i=(d.model,d.view,t.countdownClsPfx);o.addType("countdown",{model:s.extend({defaults:Object.assign({},s.prototype.defaults,{startfrom:t.startTime,endText:t.endText,droppable:!1,traits:[{label:"Start",name:"startfrom",changeProp:1,type:t.dateInputType},{label:"End text",name:"endText",changeProp:1}],script:function(){var n=new Date("{[ startfrom ]}").getTime(),e=this.querySelector("[data-js=countdown]"),t=this.querySelector("[data-js=countdown-endtext]"),o=this.querySelector("[data-js=countdown-day]"),a=this.querySelector("[data-js=countdown-hour]"),d=this.querySelector("[data-js=countdown-minute]"),s=this.querySelector("[data-js=countdown-second]"),l=this.gjs_countdown_interval;l&&l&&clearInterval(l);var i=function(n,e,t,l){o.innerHTML=n<10?"0"+n:n,a.innerHTML=e<10?"0"+e:e,d.innerHTML=t<10?"0"+t:t,s.innerHTML=l<10?"0"+l:l},r=function(){var o=(new Date).getTime(),a=n-o,d=Math.floor(a/864e5),s=Math.floor(a%864e5/36e5),l=Math.floor(a%36e4/6e4),r=Math.floor(a%6e4/1e3);i(d,s,l,r),a<0&&(clearInterval(c),t.innerHTML="{[ endText ]}",e.style.display="none",t.style.display="")};if(n){var c=setInterval(r,1e3);this.gjs_countdown_interval=c,t.style.display="none",e.style.display="",r()}else i(0,0,0,0)}})},{isComponent:function(n){if(n.getAttribute&&"countdown"==n.getAttribute("data-gjs-type"))return{type:"countdown"}}}),view:l.extend({init:function(){this.listenTo(this.model,"change:startfrom change:endText",this.updateScript);var n=this.model.get("components");n.length||(n.reset(),n.add('\n <span data-js="countdown" class="'+i+'-cont">\n <div class="'+i+'-block">\n <div data-js="countdown-day" class="'+i+'-digit"></div>\n <div class="'+i+'-label">'+t.labelDays+'</div>\n </div>\n <div class="'+i+'-block">\n <div data-js="countdown-hour" class="'+i+'-digit"></div>\n <div class="'+i+'-label">'+t.labelHours+'</div>\n </div>\n <div class="'+i+'-block">\n <div data-js="countdown-minute" class="'+i+'-digit"></div>\n <div class="'+i+'-label">'+t.labelMinutes+'</div>\n </div>\n <div class="'+i+'-block">\n <div data-js="countdown-second" class="'+i+'-digit"></div>\n <div class="'+i+'-label">'+t.labelSeconds+'</div>\n </div>\n </span>\n <span data-js="countdown-endtext" class="'+i+'-endtext"></span>\n '))}})})}},function(n,e,t){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(n){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},t=e,a=n.BlockManager,d=t.countdownClsPfx,s=t.defaultStyle?"<style>\n ."+d+" {\n text-align: center;\n font-family: Helvetica, serif;\n }\n\n ."+d+"-block {\n display: inline-block;\n margin: 0 10px;\n padding: 10px;\n }\n\n ."+d+"-digit {\n font-size: 5rem;\n }\n\n ."+d+"-endtext {\n font-size: 5rem;\n }\n\n ."+d+"-cont,\n ."+d+"-block {\n display: inline-block;\n }\n </style>":"";t.blocks.indexOf(o.countdownRef)>=0&&a.add(o.countdownRef,{label:t.labelCountdown,category:t.labelCountdownCategory,attributes:{class:"fa fa-clock-o"},content:'\n <div class="'+d+'" data-gjs-type="countdown"></div>\n '+s+"\n "})};var o=t(0)}])});
|