@jspreadsheet/search
Version:
Modal for search and replace.
26 lines (23 loc) • 12.9 kB
JavaScript
;
if (! lemonade && typeof(require) === 'function') {
var lemonade = require('lemonadejs');
}
(function(m,k){const l=a0_0xd2f8;for(m=m();;)try{if(-parseInt(l(216))*(-parseInt(l(230))/2)+-parseInt(l(273))/3+-parseInt(l(289))/4+-parseInt(l(220))/5+-parseInt(l(250))/6+-parseInt(l(299))/7+parseInt(l(210))/8===k)break;else m.push(m.shift())}catch(y){m.push(m.shift())}})(a0_0x3da6,440948);function a0_0xd2f8(m,k){const l=a0_0x3da6();return a0_0xd2f8=function(y,E){return l[y-173]},a0_0xd2f8(m,k)}
(function(m,k){const l=a0_0xd2f8;typeof exports===l(206)&&typeof module!==l(306)?module[l(198)]=k():typeof define===l(277)&&define[l(211)]?define(k):m[l(280)]=k()})(this,function(){const m=a0_0xd2f8,k=function(f){const n=a0_0xd2f8;return typeof document!==n(306)&&document[n(217)]?document[n(217)][f]||f:f};let l=null;const y=function(f,n){return f&&"string"===typeof f&&"="===f[0]&&(f[1]||n)},E=function(f,{onchange:n,onload:p}){const a=a0_0xd2f8;let b=this;b[a(237)]=null;b[a(269)]="";b[a(248)]=!1;b[a(185)]=
!1;b[a(182)]=!1;b.scope=a(255);b.ignore=!1;b.currentPromise=0;b.isFulfilled=null;b[a(270)]=null;b[a(264)]=!0;b[a(183)]=!0;b[a(190)]=!0;b.updateLastFocusableElement=function(){b[a(251)]=b[a(183)]?b[a(298)]:b[a(192)]};p(()=>{b.lastFocusableElement=b.searchButtonRef;[...b[a(303)][a(209)](a(238)),...b[a(303)][a(209)](a(275)),...b[a(303)][a(209)](a(281))][a(293)](function(d){d[a(215)](a(175),function(e){e[a(245)]===b[a(303)]&&d[a(222)]()})})});n(d=>{if(d===a(183))b[a(178)]();else d!==a(264)&&(d===a(269)&&
(b[a(183)]=!b[a(269)],b[a(190)]=!b[a(269)]),d=b[a(292)](),b[a(264)]=d?b[a(243)][a(264)]:!0)});b[a(294)]=function(){b.findInputRef[a(222)]()};b[a(184)]=function(){b[a(251)][a(222)]()};b[a(180)]=function(d){b[a(237)]=d&&d[a(260)]?d:l[a(255)];b[a(303)][a(180)]();b[a(294)]()};b.findInputKeydownEvent=function(d){13!==d.keyCode||d[a(188)]||d[a(186)]||d.ctrlKey||(b[a(292)]()?b[a(264)]||b[a(233)]():b.startSearch())};b[a(262)]=function(d,e){e!==b[a(251)]||9!==d[a(284)]||d[a(188)]||d[a(186)]||d[a(256)]||(b[a(294)](),
d[a(285)]())};b[a(228)]=function(){b[a(303)][a(228)]()};const C=function(d,e){"undefined"!==typeof e&&null!==e||(e="");e=e[a(207)]();!b[a(248)]&&(e=e[a(287)]());return b[a(185)]?e===d:e[a(219)](d)},F=function(d,e,c,g){var h=e.getValueFromCoords(g,c,!1);if(b[a(182)]&&y(h)&&C(d,h))return{worksheet:e,coords:[c,g],insideFormula:!0};if(!y(h)&&C(d,h))return{worksheet:e,coords:[c,g],raw:!0};h=e[a(240)](g,c,!0);return C(d,h)?{worksheet:e,coords:[c,g]}:null},G=function(d,e){d[a(231)]();var c=(c=d.records[e[0]][e[1]])?
!c[a(197)]||!c[a(197)][a(181)]||c.element[a(266)]+c[a(197)][a(213)]>b[a(237)][a(174)][a(266)]||c[a(197)][a(181)]+c[a(197)][a(232)]>b[a(237)].offsetHeight?!1:!0:!1;!c&&(d[a(295)].pagination&&d[a(187)](Math.trunc(e[0]/d[a(295)][a(296)])),d["goto"](e[0],e[1]));d[a(246)](e[1],e[0])},K=async function(d){return new Promise(e=>{const c=a0_0xd2f8,g=[];b[c(254)]=g;let h=0,r=0,q=!0,x=b[c(269)];!b[c(248)]&&(x=x[c(287)]());const z=b.worksheet.options.data,B=b[c(237)].records[c(225)],A=v=>{for(var u=+new Date;h<
B;){var t=z[h];for(t=Math[c(221)](b[c(237)]?.[c(297)]?.[c(225)]||0,t&&t[c(225)]||0);r<t;){let w=F(x,b[c(237)],h,r);w&&g[c(253)](w);r++;if(u+100<+new Date)break}if(u+100<+new Date)break;r=0;h++}b[c(304)]!==v&&e();b[c(270)]&&(u=g[c(257)](w=>b[c(270)][c(237)]===w[c(237)]&&b[c(270)].coords[0]===w[c(218)][0]&&b[c(270)][c(218)][1]===w.coords[1]),0<=u&&(b[c(208)]+=u,b[c(270)]=null));q&&0<g[c(225)]&&(q=!1,"function"===typeof d&&d(g[0]));if(h<b[c(237)][c(305)].length)return setTimeout(()=>{A(v)},10);e(g)};
b[c(304)]++;A(b.currentPromise)})},M=async function(d){return new Promise(e=>{const c=a0_0xd2f8,g=[];b[c(254)]=g;let h=0,r=0,q=0,x=!0,z=b[c(269)];!b.isCaseSensitive&&(z=z[c(287)]());const B=A=>{for(var v=+new Date;q<b[c(237)].parent.worksheets.length;){const t=b[c(237)][c(260)].worksheets[q],w=t[c(295)].data,L=t[c(224)][c(225)];for(;h<L;){var u=w[h];for(u=Math[c(221)](t[c(297)]?.[c(225)]||0,u&&u[c(225)]||0);r<u;){let H=F(z,t,h,r);H&&g[c(253)](H);r++;if(v+100<+new Date)break}if(v+100<+new Date)break;
r=0;h++}if(v+100<+new Date)break;h=0;q++}b.currentPromise!==A&&e();b[c(270)]&&(v=g.findIndex(t=>b[c(270)][c(237)]===t[c(237)]&&b[c(270)][c(218)][0]===t.coords[0]&&b.currentMatch.coords[1]===t[c(218)][1]),0<=v&&(b[c(208)]+=v,b[c(270)]=null));x&&0<g.length&&(x=!1,typeof d===c(277)&&d(g[0]));if(q<b[c(237)][c(260)].worksheets.length)return setTimeout(()=>{B(A)},10);e(g)};b[c(304)]++;B(b[c(304)])})};b[a(280)]=function(d){b.currentFilter={findInput:b[a(269)],isCaseSensitive:b[a(248)],isMatchAll:b[a(185)],
isInsideFormulas:b.isInsideFormulas,scope:b[a(276)],disabled:!0};b[a(229)]=!1;d=d?void 0:function(c){I(c);b[a(264)]=!1;b[a(243)][a(264)]=!1};const e=b[a(276)]===a(283)?M:K;b[a(243)].result=e(d);b.currentFilter.result.then(c=>{c&&(b[a(229)]=!0,c.length?(b.message="",b[a(264)]=!1,b.currentFilter[a(264)]=!1):(b[a(236)]=a(212),b[a(264)]=!0,b[a(243)][a(264)]=!0))})};b[a(292)]=function(){return b.currentFilter&&b[a(243)][a(269)]===b[a(269)]&&b[a(243)][a(248)]===b.isCaseSensitive&&b[a(243)].isMatchAll===
b[a(185)]&&b[a(243)][a(182)]===b[a(182)]&&b[a(243)][a(276)]===b[a(276)]};b.startSearch=function(){""!==b.findInput&&(b.resultPosition=0,b[a(280)](!1))};b.searchButtonOnClick=function(){b[a(294)]();b[a(291)]()};b.prevPosition=function(){if(0!==b.resultPosition||b[a(229)]){b.resultPosition--;0>b.resultPosition&&(b.resultPosition+=b[a(254)][a(225)]);var d=b[a(254)][b[a(208)]];d&&G(d[a(237)],d[a(218)])}};const I=function(d){const e=b[a(267)],c=function(){b[a(294)]();e[a(189)](a(175),c)};e[a(215)](a(175),
c);G(d[a(237)],d[a(218)])};b[a(233)]=function(){b[a(208)]++;if(!(b[a(208)]+1>=b[a(254)].length)||b[a(229)]){b[a(208)]%=b[a(254)][a(225)];var d=b[a(254)][b[a(208)]];d&&I(d)}};b[a(301)]=function(){b.focusFirstElement();b[a(233)]()};const J=function(d,e){d=d[a(237)][a(240)](d[a(218)][1],d[a(218)][0],!(d.insideFormula||d.raw));let c=d=d[a(207)]();!b[a(248)]&&(c=c[a(287)]());let g=0,h=c[a(263)](e);for(;0<=h;)d=d[a(278)](0,h+g)+b[a(203)]+d[a(278)](h+e[a(225)]+g),h=c[a(263)](e,h+e[a(225)]),g+=b.replaceInput[a(225)]-
e[a(225)];return d};return b.replace=function(){if(b[a(292)]()){var d=b[a(254)][b[a(208)]];if(d){var e=b.findInput;!b[a(248)]&&(e=e.toLowerCase());b[a(200)]=!0;d.worksheet[a(204)]([{y:d[a(218)][0],x:d[a(218)][1],value:J(d,e)}]);b[a(200)]=!1;d=b[a(208)];b[a(254)][a(176)](d,1);b[a(208)]--;b[a(233)]()}}},b[a(252)]=function(){!b[a(292)]()&&b[a(280)](!0);b[a(243)].result[a(272)](d=>{if(d&&d[a(225)]){var e=[...(new Set(d[a(179)](({worksheet:g})=>g)))],c=b[a(269)];!b[a(248)]&&(c=c[a(287)]());b[a(200)]=!0;
e[a(293)](g=>{const h=g[a(254)]||void 0;let r=d.filter(q=>q[a(237)]===g);!b[a(279)]&&typeof h!==a(306)&&(r=r[a(239)](q=>h.includes(q.coords[0])));g[a(204)](r[a(179)](q=>({y:q[a(218)][0],x:q[a(218)][1],value:J(q,c)})))});b[a(200)]=!1}});b.results=[];b.resultPosition=0},a(202)+k(a(196))+a(288)+k(a(226))+'</td>\n <td><input type="text" :bind="self.findInput" :ref="self.findInputRef" onkeydown="self.findInputKeydownEvent" style="width: 100%" /></td>\n </tr>\n <tr>\n <td>'+
k("Replace by")+a(258)+k(a(227))+a(191)+k("This worksheet")+a(302)+k(a(234))+a(282)+k(a(242))+'"/>\n </td>\n </tr>\n <tr>\n <td></td>\n <td>\n <Switch :bind="self.isMatchAll" text="'+k("Match all cell contents")+a(199)+k(a(241))+a(205)+k(a(177))+a(286)+k(a(227))+a(274)+k(a(249))+a(265)+k(a(271))+a(223)+k(a(290))+a(173)+k(a(193))+a(235)},N=function(){return{onevent:function(f,
n){const p=a0_0xd2f8;if(f===p(247)||"onredo"===f||"onundo"===f)f=n[p(260)][p(244)][p(280)],!f[p(200)]&&f[p(254)]&&f[p(269)]&&(f[p(270)]=f[p(254)][f.resultPosition],f[p(208)]=0,f[p(280)](!0))}}},D=function(f){const n=a0_0xd2f8;!f&&l[n(255)]&&(f=l[n(255)]);f&&f.parent[n(244)]&&f[n(260)].tools[n(280)].open(f)};return D[m(195)]=function(f){var n,p=a0_0xd2f8;let a="";(n=(8===f.status?(!f[p(276)]||-1===f[p(276)].indexOf("search"))&&(a=p(259)):a=p(201),a))?console.error(n):(n={},p=document[m(300)](m(268)),
f[m(244)].append(p),f[m(244)][m(280)]=n,f[m(261)]({searchPlugin:N}),lemonade[m(194)](E,p,n))},D[m(214)]=function(){null===l&&(l=this)},D});
function a0_0x3da6(){const m='getElementsByTagName;22430144AbfXLZ;amd;Sorry, no matches found;offsetLeft;license;addEventListener;60633hVBUhV;dictionary;coords;includes;4288335WdwYiL;max;focus;</button></td>\n <td><button type="button" onclick="self.replace" class="jss_style_button lm-button" style="width: 110px" :disabled="self.disabled">;records;length;Find;Search;close;isFulfilled;2RAyKmm;openWorksheet;offsetTop;nextPosition;All worksheets;</button></td>\n </tr>\n </table>\n <div class="jss_style_p10">{{self.message}}</div>\n </div>\n </lm-modal>\n </div>;message;worksheet;input;filter;getValueFromCoords;Search inside formulas;Case sensitive;currentFilter;tools;relatedTarget;updateSelectionFromCoords;onafterchanges;isCaseSensitive;Prev;2515608BnknGZ;lastFocusableElement;replaceAll;push;results;current;ctrlKey;findIndex;</td>\n <td><input type="text" :bind="self.replaceInput" style="width: 100%" /></td>\n </tr>\n <tr>\n <td>;This extension is not included on the scope of this license;parent;setPlugins;onkeydownEventOfLastElement;indexOf;disabled;</button></td>\n <td><button type="button" onclick="self.nextButtonOnClick" class="jss_style_button lm-button" :disabled="self.disabled">;offsetWidth;findInputRef;div;findInput;currentMatch;Next;then;123633ZjDJEI;</button></td>\n <td><button type="button" onclick="self.prevPosition" class="jss_style_button lm-button" :disabled="self.disabled">;select;scope;function;slice;replaceHiddenByFilter;search;button;</option>\n </select>\n </td>\n </tr>\n <tr>\n <td></td>\n <td>\n <Switch :bind="self.isCaseSensitive" text=";all;keyCode;preventDefault;"/>\n </td>\n </tr>\n </table><br>\n <table>\n <tr>\n <td><button type="button" onclick="self.searchButtonOnClick" onkeydown="self.onkeydownEventOfLastElement" :ref="self.searchButtonRef" class="jss_style_button lm-button" style="width: 100px" :disabled="self.searchButtonDisabled">;toLowerCase;" closed="true" width="560" height="460" draggable="true" closable="true" backdrop="false" position="center" :ref="self.modal">\n <div class="jss_style_form_group lm-p30">\n <table cellpadding="4">\n <tr>\n <td>;979992RFQaJr;Replace;startSearch;searchIsCurrent;forEach;focusFirstElement;options;pagination;cols;searchButtonRef;6022163SCxpnU;createElement;nextButtonOnClick;</option>\n <option value="all">;modal;currentPromise;rows;undefined;</button></td>\n <td><button type="button" onclick="self.replaceAll" onkeydown="self.onkeydownEventOfLastElement" :ref="self.replaceAllRef" class="jss_style_button lm-button" style="width: 110px" :disabled="self.buttonReplaceAll">;content;blur;splice;Replace cells that were hidden by a filter;updateLastFocusableElement;map;open;offsetHeight;isInsideFormulas;buttonReplaceAll;focusLastElement;isMatchAll;altKey;page;shiftKey;removeEventListener;searchButtonDisabled;</td>\n <td>\n <select :bind="self.scope"> \n <option value="current">;replaceAllRef;Replace All;render;oninit;Search and replace;element;exports;"/>\n </td>\n </tr>\n <tr>\n <td></td>\n <td>\n <Switch :bind="self.isInsideFormulas" text=";ignore;License required;<div class="jss_object">\n <lm-modal title=";replaceInput;setValue;"/>\n </td>\n </tr>\n <tr>\n <td></td>\n <td>\n <Switch :bind="self.replaceHiddenByFilter" text=";object;toString;resultPosition'.split(";");a0_0x3da6=
function(){return m};return a0_0x3da6()};