@jspreadsheet/validations
Advanced tools
Comparing version 3.0.2 to 4.0.0
@@ -9,28 +9,19 @@ if (!lemonade && typeof(require) === 'function') { | ||
(function(a,h){const b=a0_0x3fd3;for(a=a();;)try{if(parseInt(b(315))/1*(-parseInt(b(311))/2)+parseInt(b(212))/3*(parseInt(b(372))/4)+-parseInt(b(255))/5*(-parseInt(b(304))/6)+-parseInt(b(321))/7*(-parseInt(b(377))/8)+parseInt(b(346))/9*(parseInt(b(256))/10)+-parseInt(b(369))/11*(-parseInt(b(319))/12)+-parseInt(b(297))/13===h)break;else a.push(a.shift())}catch(m){a.push(a.shift())}})(a0_0x4dcc,435678); | ||
function a0_0x4dcc(){const a=["current","isOpen",'</option>\n <option value="reject">',"element","create","valid email","config","jtoolbar-disabled","div",'</option>\n </select>\n </div>\n </div>\n </div>\n\n <div class="all">\n <div class="row" style="{{self.action === \'format\' && \'display: none;\'}}">\n <div class="column f1">\n <div class="form-group">\n <label class="label">', | ||
"style","460px","version","less than","Save",'<div @ready="self.createModal(this)">\n <div @ref="self.listContainer">\n <div>\n <div class="p6">{{self.message}}</div><br/>\n <div><List @loop="self.data" /></div>\n </div>\n <p><input type="button" value="',"textLength","formatBackgroundColor","open","11bxKgji","Format style","block","2220212aIDFuw","ends with","createModal","criteria", | ||
"</p>\n </div>","32xOjjCj","startDate","No validation found for this selection","on or before","3fbXdCR","toolbar","notEmpty","Add new validation","data","bigger than","all","value","Add a custom CSS className","valid url","valid date","settings","createPicker","type","append","number","classList","Date","Action","end","className",'</option>\n <option value="format">',"modal","exports","contains","children","Number","setPlugins","error","between","rules","onevent", | ||
"close","setData","picker","settingsContainer","text","action","Cell is empty","List","start","parent","includes","1614175OSpwGP","10qwCXxR","jss_object",'</button>\n </div>\n </div>\n </div>\n </div>\n <p onclick="self.parent.closeForm()" class="cursor">',"object","innerText","not between","italic","call","All validations found for this selection","is not between","font-style","scope","getRange",'<div>\n <div class="validations">\n <div class="row all">\n <div class="column f1">\n <div class="form-group">\n <label class="label">', | ||
"translate","getWorksheetName",'<input class="jss_object" @ready="self.create(this)" @bind="self.value" style="width: 100%;" />',"range","is a valid email","oninit","push","length","listContainer","display","label","begins with","Back","bigger than or equal to","instance","items","warning",'</label>\n <div @ready="self.createType(this)" @bind="self.type"></div>\n </div>\n </div><div class="column f1" data-visible="{{self.criteriaVisibility}}">\n <div class="form-group">\n <label class="label">', | ||
"removeValidation","rule","before","bold","Background color","criteriaVisibility","not contains","allowBlank","Cell is not empty","22066785AyTDAO","Cell range","remove","none","format","tools","Value is included in the options","6GUsKEx","font-weight",'</label>\n <input type="text" @bind="self.text" class="jss_object w100">\n </div>\n </div>\n </div>\n </div>\n\n <div class="row all">\n <div class="column f1">\n <div class="form-group">\n <label class="label">', | ||
"undefined",'<div>\n <div class="row middle p8">\n <div class="column f1 cursor" onclick="self.parent.openForm(self.index, self.rules)">\n <div class="p2"><b>{{self.label}}</b> <span>({{self.rules.range}})</span></div>\n <div class="p2" data-visible="{{self.rules.criteria?true:false}}">{{self.rules.criteria}}: {{self.rules.value}}</div>\n </div><div>\n <div><i class=\'material-icons cursor\' onclick="self.parent.removeValidation(self.index)">delete</i></div>\n </div>\n </div>\n </div>', | ||
"color","background-color","166bigPax","index",'" onclick="self.openForm(null, {})" class="jbutton dark" /></p>\n </div>\n <div @ref="self.settingsContainer" style="display: none;"><Settings @ref="self.settings" /></div>\n </div>',"isEditable","5053lnuidp","header","different to","getSelection","4249020YLoBic",'</label>\n <input @ready="self.createColorPicker(this)" @bind="self.formatColor" class="jss_object w100">\n </div>\n </div>\n <div class="column f1">\n <div class="form-group">\n <label class="label">', | ||
"1476769kQIPbv","message","Validations","formatColor","onselection","validations",'</label>\n <input @ready="self.createColorPicker(this)" @bind="self.formatBackgroundColor" class="jss_object w100">\n </div>\n </div>\n </div>\n <div class="row">\n <div class="column f1">\n <div class="form-group">\n <input type="text" placeholder="', | ||
"openForm","equal to","indexOf","function","forEach","empty",'" @bind="self.className" class="jss_object">\n </div>\n </div>\n </div>\n <div class="row">\n <div class="column f1">\n <div class="form-group">\n <label class="jswitch label" style="margin-bottom: 6px;">\n <input name="bold" type="checkbox" @bind="self.bold"> <i></i> <span class="f1 ml1">Bold</span>\n </label>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n\n <div class=\'row all\'>\n <div class=\'column f1\'>\n <div class=\'form-group center\'>\n <button type="button" class="jbutton dark w100" onclick="self.close(true)">', | ||
"tags","status","Text","createType","620px","add","date","license","The type is mandatory","resetValidations","amd","4290129vkkqoO","updateDataFromSelection","endDate","Type"];a0_0x4dcc=function(){return a};return a0_0x4dcc()}function a0_0x3fd3(a,h){const b=a0_0x4dcc();return a0_0x3fd3=function(m,n){return b[m-211]},a0_0x3fd3(a,h)} | ||
(function(a,h){const b=a0_0x3fd3;typeof exports===b(259)&&typeof module!==b(307)?module[b(235)]=h():typeof define===b(331)&&define[b(345)]?define(h):a[b(326)]=h()})(this,function(){const a=a0_0x3fd3;let h=null,b=jSuites[a(270)];const m=function(){let c="";8===this[a(336)]?this[a(267)]&&-1!==this[a(267)][a(330)](a(326))||(c="This extension is not included on the scope of this license"):c="License required";if(!c){let e=h.version();(!e||!e.version||10>parseInt(e[a(362)]))&&(c="The validation extension requires Jspreadsheet Pro v10+")}return c}, | ||
n={number:[{text:b("between"),value:a(241)},{text:b(a(265)),value:"not between"},{text:b("less than"),value:"<"},{text:b("less than or equal to"),value:"<="},{text:b(a(217)),value:">"},{text:b(a(283)),value:">="},{text:b(a(329)),value:"="},{text:b(a(317)),value:"!="}],text:[{text:b(a(236)),value:"contains"},{text:b(a(294)),value:a(294)},{text:b(a(281)),value:a(281)},{text:b(a(373)),value:"ends with"},{text:b(a(329)),value:"="},{text:b(a(274)),value:a(355)},{text:b("is a valid url"),value:a(221)}], | ||
date:[{text:b("is a valid date"),value:a(222)},{text:b("equal to"),value:"="},{text:b(a(290)),value:"<"},{text:b(a(211)),value:"<="},{text:b("after"),value:">"},{text:b("on or after"),value:">="},{text:b("between"),value:a(241)},{text:b(a(261)),value:"not between"}],textLength:[{text:b(a(241)),value:"between"},{text:b(a(265)),value:a(261)},{text:b(a(363)),value:"<"},{text:b("less than or equal to"),value:"<="},{text:b(a(217)),value:">"},{text:b(a(283)),value:">="},{text:b(a(329)),value:"="},{text:b("different to"), | ||
value:"!="}]},v=function(){let c=this;return c[a(354)]=function(e){c.instance=jSuites.calendar(e,this)},a(272)},t=function(){"list"===this[a(242)][a(225)]&&(this[a(242)].criteria=b(a(303)));this.label=this.rules[a(225)];"empty"===this[a(280)]?this[a(280)]=a(250):this[a(280)]===a(214)&&(this[a(280)]=a(296));return a(308)},w=function(){let c=this,e=null;c[a(293)]=!0;c[a(338)]=function(d){jSuites.dropdown(d,{data:[{value:a(227),text:b(a(238))},{value:a(248),text:b(a(337))},{value:a(341),text:b(a(229))}, | ||
{value:"list",text:b(a(251))},{value:a(366),text:b("Text length")},{value:a(333),text:b(a(250))},{value:a(214),text:b(a(296))}],onchange:function(f,g,l,k){c[a(375)]="";c.start="";c[a(231)]="";n[k]?(e[a(245)](n[k]),c[a(293)]=!0):(e[a(245)](null),c.criteriaVisibility=!1);f=c.el[a(237)][0][a(237)];for(g=0;g<f[a(277)];g++)f[g][a(228)].contains(a(218))||f[g][a(228)][a(236)](k)?f[g].style[a(279)]="":f[g][a(360)].display=a(300)},onload:function(f,g){g[a(316)][a(228)][a(340)]("jss_object")}})};c.createCriteria= | ||
function(d){e=jSuites.dropdown(d,{data:n[a(227)],autocomplete:!0,onload:function(f,g){g[a(316)][a(228)][a(340)](a(257))}})};c[a(224)]=function(d){h[a(246)](d,function(){-1===d[a(260)][a(330)]("!")?d[a(260)]=h[a(350)].getWorksheetName()+"!"+d[a(260)]:d.innerText=d.innerText;c[a(273)]=d.innerText;jSuites.focus(d)})};c.createColorPicker=function(d){jSuites[a(309)](d)};c.createList=function(d){jSuites[a(335)](d,{placeholder:"List of valid values"})};c[a(244)]=function(d){d&&(c.range?c[a(225)]?c[a(293)]&& | ||
!c.criteria?alert(b("The criteria is mandatory")):(-1===c[a(273)][a(330)]("!")&&(c.range=c.instance[a(271)]()+"!"+c.range),d={range:c[a(273)],action:c[a(249)],type:c[a(225)],criteria:c.criteria,text:c[a(248)],className:c[a(232)],allowBlank:c[a(295)]},c[a(225)]===a(341)?d[a(375)][a(254)]("between")?d[a(219)]=[c[a(378)],c[a(348)]]:d[a(219)]=[c.startDate]:d.criteria[a(254)](a(241))?d.value=[c[a(252)],c.end]:d[a(219)]=[c[a(252)]],d[a(249)]===a(301)&&(d.format={},c[a(324)]&&(d.format[a(309)]=c[a(324)]), | ||
c.formatBackgroundColor&&(d.format[a(310)]=c[a(367)]),c[a(291)]&&(d.format["font-weight"]=a(291)),c[a(262)]&&(d.format[a(266)]=a(262))),d={value:d},null!==c.index&&(d[a(312)]=c[a(312)]),c.instance.setValidations(d)):alert(b(a(343))):alert(b("The range is mandatory")))};var p=a(269)+b(a(298))+'</label>\n <div @ready="self.createPicker(this)" @bind="self.range"></div>\n </div>\n </div>\n <div class="column f1">\n <div class="form-group">\n <label class="label">'+ | ||
b(a(230))+'</label>\n <select style="padding: 8px;" @bind="self.action">\n <option value="warning">'+b("Warning message")+a(352)+b("Reject entry")+a(233)+b(a(370))+a(359)+b("Warning message")+a(306)+b(a(349))+a(287)+b("Criteria")+'</label>\n <div name="criteria" @ready="self.createCriteria(this)" @bind="self.criteria"></div>\n </div>\n </div>\n </div>\n\n \x3c!-- Number input options --\x3e\n <div class="row number textLength middle" style="display: none">\n <div class="column f1">\n <div class="form-group">\n <input type="text" @bind="self.start" class="jss_object" placeholder="5">\n </div>\n </div>\n <div class="column f1" style="{{!self.criteria.includes(\'between\') && \'display: none;\'}}">\n <div class="form-group">\n <input type="text" @bind="self.end" class="jss_object" placeholder="10">\n </div>\n </div>\n </div>\n\n \x3c!-- Text input options --\x3e\n <div class="row text" style="display: none;">\n <div class="column f1" style="{{self.criteria.includes(\'valid\') && \'display: none;\'}}">\n <div class="form-group">\n <input type="text" @bind="self.start" placeholder="Value..." class="jss_object">\n </div>\n </div>\n </div>\n\n \x3c!-- Date input options --\x3e\n <div class="row middle date" style="display: none;">\n <div class="column f1" style="{{self.criteria.includes(\'valid\') && \'display: none;\'}}">\n <div class="form-group">\n <Calendar @bind="self.startDate" :time="true" format="dd/mm/yyyy hh:mm" />\n </div>\n </div>\n <div class="column f1" style="{{! self.criteria.includes(\'between\') && \'display: none;\'}}">\n <div class="form-group">\n <Calendar @bind="self.endDate" :time="true" format="dd/mm/yyyy hh:mm" />\n </div>\n </div>\n </div>\n\n \x3c!-- List input options --\x3e\n <div class="row list" style="display: none;">\n <div class="column f1">\n <div class="form-group">\n <div @ready="self.createList(this)" @bind="self.start" class="jss_object"></div>\n </div>\n </div>\n </div>\n\n <div class="row number text date list textLength">\n <div class="column f1">\n <div class="form-group">\n <label class="jswitch" style="margin-bottom: 6px;">\n <input name="allowBlank" type="checkbox" @bind="self.allowBlank"> <i></i> <span class="f1 ml1">Allow blank</span>\n </label>\n </div>\n </div>\n </div>\n\n \x3c!-- FORMAT STYLING OPTIONS --\x3e\n <div class="all">\n <div class="row" style="{{self.action !== \'format\' && \'display: none;\'}}">\n <div class="column f1" style="border-top: 1px solid #eee;margin-top: 10px">\n <div class="form-group">\n <h4 style="color: #2c2d2e; margin: 10px; margin-left: 5px;"><b>Formatting Options</b></h4>\n\n <div class="row">\n <div class="column f1">\n <div class="form-group">\n <label class="label">'+ | ||
b("Color")+a(320)+b(a(292))+a(327)+b(a(220))+a(334)+b(a(364))+a(258)+b(a(282))+a(376);return lemonade[a(353)](p,c,{Calendar:v,List:t})},x=function(c){let e={};e[a(347)]=function(d){if((d=this[a(318)]())&&e[a(234)][a(351)]()){if(d[a(277)]&&this[a(253)][a(356)].validations){let f=new Map;for(let l=d[1];l<=d[3];l++)for(let k=d[0];k<=d[2];k++){let u=this.loadValidations(this.records[l][k]);for(let q=0;q<u.length;q++)f.set(u[q],!0)}e[a(322)]=b(a(264));let g=[];f[a(332)](function(l,k){g.push({index:k[a(312)], | ||
rules:Object.assign({},k[a(242)])})});e[a(216)]=g}else e[a(216)]=[];!e.data.length&&(e.message=b(a(379)));e.closeForm()}};e[a(213)]=function(d){return d[a(285)][a(276)]({content:a(289),type:"i",tooltip:b(a(215)),onclick:function(){e.open(h[a(350)])},updateState:function(f,g,l,k){k[a(314)]()?l[a(228)][a(299)](a(357)):l.classList[a(340)](a(357))}}),d};e[a(368)]=function(d){e[a(223)][a(284)]=d;e[a(234)][a(368)]();e.updateDataFromSelection[a(263)](d)};e[a(243)]=function(d,f){d!==a(325)&&"onvalidation"!== | ||
d||e.updateDataFromSelection[a(263)](f)};e[a(374)]=function(d){e[a(234)]=jSuites[a(234)](d,{title:a(323),closed:!0,width:a(361),height:a(339),icon:a(289),backdrop:!1})};e[a(328)]=function(d,f){!f[a(219)]&&(f[a(219)]=[]);!f[a(301)]&&(f[a(301)]={});e[a(223)][a(312)]=d;e[a(223)][a(273)]=f[a(273)]||e.settings[a(284)][a(268)]();e.settings[a(249)]=f[a(249)]||a(286);e[a(223)][a(225)]=f[a(225)]||a(227);e[a(223)][a(375)]=f[a(375)]||"";e[a(223)][a(248)]=f[a(248)]||"";e.settings[a(232)]=f.className||"";e[a(223)][a(295)]= | ||
f[a(295)]||"";e[a(223)].formatColor=f[a(301)][a(309)]||"";e[a(223)][a(367)]=f[a(301)][a(310)]||"";e.settings[a(262)]=f[a(301)][a(266)]||"";e[a(223)][a(291)]=f[a(301)][a(305)]||"";"undefined"===typeof f[a(219)][0]&&(f[a(219)][0]="");"undefined"===typeof f[a(219)][1]&&(f[a(219)][1]="");f[a(225)]===a(341)?(e[a(223)][a(378)]=f[a(219)][0],e.settings[a(348)]=f[a(219)][1]):(e.settings[a(252)]=f[a(219)][0],e[a(223)][a(231)]=f[a(219)][1]);e[a(278)][a(360)][a(279)]=a(300);e.settingsContainer.style[a(279)]= | ||
a(371)};e.closeForm=function(){e.listContainer[a(360)].display=a(371);e[a(247)].style.display="none"};e[a(288)]=function(d){e.settings[a(284)][a(344)](d)};let p=document.createElement(a(358));return c[a(302)][a(226)](p),lemonade.render(function(){let d=a(365)+b("Add new validation")+a(313);return lemonade.element(d,e,{Settings:w,List:t})},p),e},r=function(){return!0};return r[a(275)]=function(c,e){(e=m[a(263)](c))?console[a(240)](e):c[a(239)]({validations:x})},r[a(342)]=function(c){null===h&&(h=this)}, | ||
r}); | ||
function a0_0x5772(){const a='startDate,display,setAttribute,config,criteriaVisibility,listContainer,Value is included in the options,Save,isEditable,<div :ready="self.createModal">\n <div :ref="self.listContainer">\n <div>\n <div class="p6">{{self.message}}</div><br/>\n <div><List @loop="self.data" /></div>\n </div>\n <p><input type="button" value=",action,less than or equal to,end,editValidation,</label>\n <div :ready="self.createPicker" :bind="self.range"></div>\n </div>\n </div>\n <div class="column f1">\n <div class="form-group">\n <label class="label">,</button>\n </div>\n </div>\n </div>\n </div>\n <p onclick="self.parent.closeForm" class="cursor">,version,4384683EfQUaP,children,Cell is empty,rules," :bind="self.className" class="jss_object">\n </div>\n </div>\n </div>\n <div class="row">\n <div class="column f1">\n <div class="form-group">\n <label class="jswitch label" style="margin-bottom: 6px;">\n <input name="bold" type="checkbox" :bind="self.bold"> <i></i> <span class="f1 ml1">Bold</span>\n </label>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n\n <div class=\'row all\'>\n <div class=\'column f1\'>\n <div class=\'form-group center\'>\n <button type="button" class="jbutton dark w100" onclick="self.close">,date,onvalidation,exports,calendar,validations,valid url,visible,createModal,on or after,setData,empty,indexOf,valid,background-color,jtoolbar-disabled,71072dIHsMG,different to,Background color,dropdown,list,element,Text length,Warning message,object,index,bigger than or equal to,instance,start,number,settings,set,createColorPicker,updateDataFromSelection,The range is mandatory,Criteria,font-style,addValidation,onevent,label,criteria,none,range,style,460px,formatBackgroundColor,856009FfZBjN,createPicker,after,Validations,No validation found for this selection,append,30lHOvLH,on or before,querySelectorAll,color,less than,Add a custom CSS className,block,2482052QjRDgL,close,createCriteria,18Qnkrfp,Format style,data,The criteria is mandatory,closeForm,remove,List,15rSbRQa,add,Reject entry,length,data-visible,openForm,notEmpty,getWorksheetName,translate,Add new validation,message,4002050XAFrXd,text,Date,jss_object,call,items,createType,current,endDate,before,is a valid date,not contains,59482weDkUA," onclick="self.addValidation" class="jbutton dark" /></p>\n </div>\n <div :ref="self.settingsContainer" style="display: none;"><Settings :ref="self.settings" /></div>\n </div>,license,removeValidation,rule,all,onselection,textLength,</label>\n <div :ready="self.createType" :bind="self.type"></div>\n </div>\n </div>\n <div class="column f1" data-control="criteria">\n <div class="form-group">\n <label class="label">,forEach,The validation extension requires Jspreadsheet Pro v10+,not between,Action,Cell is not empty,The type is mandatory,push,amd,List of valid values,equal to,between,is a valid email,value,contains,status,formatColor,</label>\n <div name="criteria" :ready="self.createCriteria" :bind="self.criteria"></div>\n </div>\n </div>\n </div>\n\n \x3c!-- Number input options --\x3e\n <div class="row number textLength middle" data-control="valid">\n <div class="column f1">\n <div class="form-group">\n <input type="text" :bind="self.start" class="jss_object" placeholder="5">\n </div>\n </div>\n <div class="column f1" data-control="end">\n <div class="form-group">\n <input type="text" :bind="self.end" class="jss_object" placeholder="10">\n </div>\n </div>\n </div>\n\n \x3c!-- Text input options --\x3e\n <div class="row text" data-control="valid">\n <div class="column f1">\n <div class="form-group">\n <input type="text" :bind="self.start" placeholder="Value..." class="jss_object">\n </div>\n </div>\n </div>\n\n \x3c!-- Date input options --\x3e\n <div class="row middle date" data-control="valid">\n <div class="column f1">\n <div class="form-group">\n <Calendar :bind="self.startDate" :time="true" format="dd/mm/yyyy hh:mm" />\n </div>\n </div>\n <div class="column f1" data-control="end">\n <div class="form-group">\n <Calendar :bind="self.endDate" :time="true" format="dd/mm/yyyy hh:mm" />\n </div>\n </div>\n </div>\n\n \x3c!-- List input options --\x3e\n <div class="row list">\n <div class="column f1">\n <div class="form-group">\n <div :ready="self.createList(this)" :bind="self.start" class="jss_object"></div>\n </div>\n </div>\n </div>\n\n <div class="row number text date list textLength">\n <div class="column f1">\n <div class="form-group">\n <label class="jswitch" style="margin-bottom: 6px;">\n <input name="allowBlank" type="checkbox" :bind="self.allowBlank"> <i></i> <span class="f1 ml1">Allow blank</span>\n </label>\n </div>\n </div>\n </div>\n\n \x3c!-- FORMAT STYLING OPTIONS --\x3e\n <div class="all" data-control="format">\n <div class="row">\n <div class="column f1" style="border-top: 1px solid #eee;margin-top: 10px">\n <div class="form-group">\n <h4 style="color: #2c2d2e; margin: 10px; margin-left: 5px;"><b>Formatting Options</b></h4>\n\n <div class="row">\n <div class="column f1">\n <div class="form-group">\n <label class="label">,includes,focus,className,</label>\n <select style="padding: 8px;" :bind="self.action">\n <option value="warning">,</option>\n <option value="reject">,</label>\n <input type="text" :bind="self.text" class="jss_object w100">\n </div>\n </div>\n </div>\n </div>\n\n <div class="row all">\n <div class="column f1">\n <div class="form-group">\n <label class="label">,records,</p>\n </div>,modal,License required,allowBlank,[data-control],undefined,settingsContainer,Number,render,format,scope,bigger than,</option>\n <option value="format">,italic,createElement,12174808weRflt,innerText,classList,</label>\n <input :ready="self.createColorPicker(this)" :bind="self.formatColor" class="jss_object w100">\n </div>\n </div>\n <div class="column f1">\n <div class="form-group">\n <label class="label">,open,ends with,is not between,<input class="jss_object" :ready="self.create" :bind="self.value" style="width: 100%;" />,</option>\n </select>\n </div>\n </div>\n </div>\n\n <div class="all" data-control="message">\n <div class="row">\n <div class="column f1">\n <div class="form-group">\n <label class="label">,font-weight,setValidations,All validations found for this selection,isOpen,Color,This extension is not included on the scope of this license,loadValidations,valid date,type,header'.split(","); | ||
a0_0x5772=function(){return a};return a0_0x5772()}(function(a,h){const b=a0_0x1849;for(a=a();;)try{if(parseInt(b(555))/1+-parseInt(b(451))/2*(-parseInt(b(608))/3)+-parseInt(b(598))/4+parseInt(b(619))/5+parseInt(b(601))/6*(parseInt(b(585))/7)+parseInt(b(499))/8+-parseInt(b(535))/9*(parseInt(b(591))/10)===h)break;else a.push(a.shift())}catch(m){a.push(a.shift())}})(a0_0x5772,826825);function a0_0x1849(a,h){const b=a0_0x5772();return a0_0x1849=function(m,n){return b[m-441]},a0_0x1849(a,h)} | ||
(function(a,h){const b=a0_0x1849;typeof exports===b(563)&&typeof module!==b(489)?module[b(542)]=h():"function"===typeof define&&define[b(467)]?define(h):a[b(544)]=h()})(this,function(){const a=a0_0x1849;let h=null,b=jSuites[a(616)];const m=function(){let c="";8===this[a(474)]?this.scope&&-1!==this[a(494)][a(551)](a(544))||(c=a(513)):c=a(486);if(!c){let d=h[a(534)]();(!d||!d.version||10>parseInt(d[a(534)]))&&(c=a(461))}return c},n={number:[{text:b(a(470)),value:a(470)},{text:b("is not between"),value:"not between"}, | ||
{text:b(a(595)),value:"<"},{text:b("less than or equal to"),value:"<="},{text:b(a(495)),value:">"},{text:b(a(565)),value:">="},{text:b(a(469)),value:"="},{text:b(a(556)),value:"!="}],text:[{text:b("contains"),value:a(473)},{text:b(a(450)),value:a(450)},{text:b("begins with"),value:"begins with"},{text:b(a(504)),value:a(504)},{text:b(a(469)),value:"="},{text:b(a(471)),value:"valid email"},{text:b("is a valid url"),value:a(545)}],date:[{text:b(a(449)),value:a(515)},{text:b(a(469)),value:"="},{text:b(a(448)), | ||
value:"<"},{text:b(a(592)),value:"<="},{text:b(a(587)),value:">"},{text:b(a(548)),value:">="},{text:b("between"),value:a(470)},{text:b(a(462)),value:a(462)}],textLength:[{text:b("between"),value:a(470)},{text:b(a(505)),value:a(462)},{text:b("less than"),value:"<"},{text:b(a(529)),value:"<="},{text:b(a(495)),value:">"},{text:b("bigger than or equal to"),value:">="},{text:b("equal to"),value:"="},{text:b("different to"),value:"!="}]},u=function(){let c=this;return c.create=function(d){c.instance=jSuites[a0_0x1849(543)](d, | ||
this)},a(506)},v=function(){"list"===this[a(538)][a(516)]&&(this[a(538)][a(579)]=b(a(524)));this[a(578)]=this[a(538)][a(516)];this[a(578)]===a(550)?this.label=a(537):this[a(578)]===a(614)&&(this[a(578)]=a(464));return'<div>\n <div class="row middle p8">\n <div class="column f1 cursor" onclick="self.parent.editValidation">\n <div class="p2"><b>{{self.label}}</b> <span>({{self.rules.range}})</span></div>\n <div class="p2" data-visible="self.rules.criteria">{{self.rules.criteria}}: {{self.rules.value}}</div>\n </div><div>\n <div><i class=\'material-icons cursor\' onclick="self.parent.removeValidation">delete</i></div>\n </div>\n </div>\n </div>'}, | ||
w=function(){let c=this,d=null;c[a(445)]=function(f){jSuites[a(558)](f,{data:[{value:a(568),text:b(a(491))},{value:a(620),text:b("Text")},{value:"date",text:b(a(441))},{value:a(559),text:b(a(607))},{value:a(458),text:b(a(561))},{value:a(550),text:b(a(537))},{value:a(614),text:b(a(464))}],onchange:function(e,g,l,k){c.criteria="";c[a(567)]="";c[a(530)]="";n[k]?d.setData(n[k]):d[a(549)](null);e=c.el[a(536)][0][a(536)];for(g=0;g<e[a(611)];g++)e[g][a(501)][a(473)](a(456))||e[g][a(501)].contains(k)?e[g].style[a(519)]= | ||
"":e[g].style[a(519)]="none"},onload:function(e,g){g[a(517)][a(501)][a(609)](a(442))}})};c[a(600)]=function(f){d=jSuites.dropdown(f,{data:n[a(568)],autocomplete:!0,onload:function(e,g){g.header.classList.add("jss_object")}})};c[a(586)]=function(f){h.picker(f,function(){const e=a0_0x1849;-1===f.innerText[e(551)]("!")?f[e(500)]=h.current[e(615)]()+"!"+f.innerText:f[e(500)]=f[e(500)];c[e(581)]=f[e(500)];jSuites[e(478)](f)})};c[a(571)]=function(f){jSuites[a(594)](f)};c.createList=function(f){jSuites.tags(f, | ||
{placeholder:a(468)})};c[a(599)]=function(){if(c.range)if(c[a(516)])if(c[a(522)]&&!c[a(579)])alert(b(a(604)));else{-1===c.range[a(551)]("!")&&(c[a(581)]=c[a(566)].getWorksheetName()+"!"+c[a(581)]);var f={range:c[a(581)],action:c.action,type:c.type,criteria:c[a(579)],text:c.text,className:c[a(479)],allowBlank:c.allowBlank};c[a(516)]===a(540)?f[a(579)].includes(a(470))?f[a(472)]=[c[a(518)],c[a(447)]]:f[a(472)]=[c[a(518)]]:f[a(579)].includes(a(470))?f[a(472)]=[c[a(567)],c.end]:f[a(472)]=[c.start];f[a(528)]=== | ||
a(493)&&(f[a(493)]={},c[a(475)]&&(f.format[a(594)]=c[a(475)]),c[a(584)]&&(f[a(493)][a(553)]=c[a(584)]),c.bold&&(f[a(493)]["font-weight"]="bold"),c[a(497)]&&(f[a(493)][a(575)]=a(497)));f={value:f};null!==c.index&&(f[a(564)]=c[a(564)]);c[a(566)][a(509)](f)}else alert(b(a(465)));else alert(b(a(573)))};c.visible=function(){c.el[a(593)](a(488))[a(460)](function(f){let e=f.getAttribute("data-control"),g;e===a(579)?g=d&&d.options[a(603)].length?!0:!1:"message"===e?g=c[a(528)]===a(493)?!1:!0:e===a(530)?g= | ||
c[a(579)][a(477)]("between")?!0:!1:"valid"===e?g=c.criteria[a(477)](a(552))?!1:!0:e===a(493)&&(g="format"===c[a(528)]);f[a(520)](a(612),g)})};c.onchange=function(){setTimeout(function(){c.visible()})};c.onload=function(){c[a(546)]()};const p='<div>\n <div class="validations">\n <div class="row all">\n <div class="column f1">\n <div class="form-group">\n <label class="label">'+b("Cell range")+a(532)+b(a(463))+ | ||
a(480)+b(a(562))+a(481)+b(a(610))+a(496)+b(a(602))+a(507)+b("Warning message")+a(482)+b("Type")+a(459)+b(a(574))+a(476)+b(a(512))+a(502)+b(a(557))+'</label>\n <input :ready="self.createColorPicker(this)" :bind="self.formatBackgroundColor" class="jss_object w100">\n </div>\n </div>\n </div>\n <div class="row">\n <div class="column f1">\n <div class="form-group">\n <input type="text" placeholder="'+ | ||
b(a(596))+a(539)+b(a(525))+a(533)+b("Back")+a(484);return lemonade[a(560)](p,c,{Calendar:u})},x=function(c){let d={};d[a(572)]=function(f){if((f=this.getSelection())&&d[a(485)][a(511)]()){if(f[a(611)]&&this.parent[a(521)][a(544)]){let e=new Map;for(let l=f[1];l<=f[3];l++)for(let k=f[0];k<=f[2];k++){let t=this[a(514)](this[a(483)][l][k]);for(let q=0;q<t.length;q++)e[a(570)](t[q],!0)}d[a(618)]=b(a(510));let g=[];e[a(460)](function(l,k){g[a(466)]({index:k.index,rules:Object.assign({},k.rules)})});d[a(603)]= | ||
g}else d[a(603)]=[];!d[a(603)][a(611)]&&(d[a(618)]=b(a(589)));d[a(605)]()}};d.toolbar=function(f){return f[a(444)][a(466)]({content:a(455),type:"i",tooltip:b(a(617)),onclick:function(){d[a(503)](h[a(446)])},updateState:function(e,g,l,k){k[a(526)]()?l[a(501)][a(606)]("jtoolbar-disabled"):l[a(501)].add(a(554))}}),f};d[a(503)]=function(f){d[a(569)][a(566)]=f;d[a(485)][a(503)]();d.updateDataFromSelection.call(f)};d[a(577)]=function(f,e){f!==a(457)&&f!==a(541)||d[a(572)].call(e)};d[a(547)]=function(f){d[a(485)]= | ||
jSuites.modal(f,{title:a(588),closed:!0,width:a(583),height:"620px",icon:a(455),backdrop:!1})};d[a(613)]=function(f,e){!e&&(e={});!e[a(472)]&&(e[a(472)]=[]);!e[a(493)]&&(e[a(493)]={});d[a(569)][a(564)]=f;d[a(569)][a(581)]=e[a(581)]||d[a(569)][a(566)].getRange();d[a(569)][a(528)]=e[a(528)]||"warning";d[a(569)][a(516)]=e[a(516)]||a(568);d[a(569)][a(579)]=e[a(579)]||"";d[a(569)].text=e[a(620)]||"";d[a(569)].className=e[a(479)]||"";d[a(569)].allowBlank=e[a(487)]||"";d.settings[a(475)]=e[a(493)][a(594)]|| | ||
"";d.settings.formatBackgroundColor=e.format[a(553)]||"";d[a(569)][a(497)]=e[a(493)][a(575)]||"";d[a(569)].bold=e[a(493)][a(508)]||"";"undefined"===typeof e.value[0]&&(e[a(472)][0]="");typeof e.value[1]===a(489)&&(e.value[1]="");"date"===e[a(516)]?(d[a(569)][a(518)]=e.value[0],d.settings.endDate=e[a(472)][1]):(d.settings[a(567)]=e[a(472)][0],d[a(569)][a(530)]=e[a(472)][1]);d.listContainer.style[a(519)]=a(580);d[a(490)][a(582)][a(519)]=a(597)};d[a(605)]=function(){d[a(523)][a(582)][a(519)]=a(597); | ||
d[a(490)][a(582)][a(519)]=a(580)};d[a(454)]=function(f,e){d[a(569)].instance.resetValidations(e[a(564)])};d[a(576)]=function(f,e){d.openForm(null,{})};d[a(531)]=function(f,e){d[a(613)](e[a(564)],e.rules)};let p=document[a(498)]("div");return c.tools[a(590)](p),lemonade[a(492)](function(){let f=a(527)+b(a(617))+a(452);return lemonade[a(560)](f,d,{Settings:w,List:v})},p),d},r=function(){return!0};return r.oninit=function(c,d){(d=m[a(443)](c))?console.error(d):c.setPlugins({validations:x})},r[a(453)]= | ||
function(c){null===h&&(h=this)},r}); |
@@ -30,8 +30,8 @@ { | ||
"dependencies": { | ||
"jsuites": "^5.0.26", | ||
"lemonadejs": "^3.3.2" | ||
"jsuites": "^5.0.27", | ||
"lemonadejs": "^4.0.1" | ||
}, | ||
"main": "dist/index.js", | ||
"types": "dist/index.d.ts", | ||
"version": "3.0.2", | ||
"version": "4.0.0", | ||
"bugs": "https://github.com/jspreadsheet/pro/issues", | ||
@@ -38,0 +38,0 @@ "homepage": "https://github.com/jspreadsheet/pro", |
Obfuscated code
Supply chain riskObfuscated files are intentionally packed to hide their behavior. This could be a sign of malware
Found 1 instance in 1 package
Long strings
Supply chain riskContains long string literals, which may be a sign of obfuscated or packed code.
Found 1 instance in 1 package
Long strings
Supply chain riskContains long string literals, which may be a sign of obfuscated or packed code.
Found 1 instance in 1 package
Minified code
QualityThis package contains minified code. This may be harmless in some cases where minified code is included in packaged libraries, however packages on npm should not minify code.
Found 1 instance in 1 package
0
1
20189
76
1
+ Addedlemonadejs@4.3.2(transitive)
- Removedlemonadejs@3.5.1(transitive)
Updatedjsuites@^5.0.27
Updatedlemonadejs@^4.0.1