ponepaste/assets/bundle.min.js
2021-10-15 20:38:36 -04:00

2 lines
7 KiB
JavaScript

function t(t,a){var n="undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(!n){if(Array.isArray(t)||(n=function(t,a){if(!t)return;if("string"==typeof t)return e(t,a);var n=Object.prototype.toString.call(t).slice(8,-1);"Object"===n&&t.constructor&&(n=t.constructor.name);if("Map"===n||"Set"===n)return Array.from(t);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return e(t,a)}(t))||a&&t&&"number"==typeof t.length){n&&(t=n);var i=0,s=function(){};return{s:s,n:function(){return i>=t.length?{done:!0}:{done:!1,value:t[i++]}},e:function(t){throw t},f:s}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var r,o=!0,l=!1;return{s:function(){n=n.call(t)},n:function(){var t=n.next();return o=t.done,t},e:function(t){l=!0,r=t},f:function(){try{o||null==n.return||n.return()}finally{if(l)throw r}}}}function e(t,e){(null==e||e>t.length)&&(e=t.length);for(var a=0,n=new Array(e);a<e;a++)n[a]=t[a];return n}function a(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function n(t,e){for(var a=0;a<e.length;a++){var n=e[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}function i(t,e,a){return e&&n(t.prototype,e),a&&n(t,a),t}var s=function(t){var e=document.createElement("template");return e.innerHTML=t.trim(),e.content.firstChild},r=function(t){for(;t.firstChild;)t.removeChild(t.firstChild)},o=function(t){return t.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#039;")},l=function(){function e(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};a(this,e),this.element=t,this.tags=[],this.options=n,this.maxTags=n.maxTags||10,this.inputNode=null,this.containerNode=null}return i(e,[{key:"attach",value:function(){if(this.element.style.display="none",this.containerNode=s('<div class="tags-input"></div>'),this.inputNode=s('<input class="input" type="text" placeholder="10 tags maximum" value="" />'),this.containerNode.appendChild(this.inputNode),this.element.parentNode.insertBefore(this.containerNode,this.element.nextSibling),this.element.value){var e,a=t(this.element.value.split(","));try{for(a.s();!(e=a.n()).done;){var n=e.value;this.addTag(n)}}catch(t){a.e(t)}finally{a.f()}}this.containerNode.addEventListener("keydown",this._handleInputKeyUp.bind(this)),this.containerNode.addEventListener("click",this._handleContainerClick.bind(this))}},{key:"detach",value:function(){this.tags.clear(),this.containerNode.remove(),this.element.style.display="inline-block"}},{key:"updateHiddenInputValue",value:function(){this.element.value=this.tags.join(",")}},{key:"deleteTagNode",value:function(t){this.tags.splice(this.tags.indexOf(t.dataset.value.toLowerCase()),1),t.remove(),this.tags.length<this.maxTags&&(this.inputNode.disabled=!1)}},{key:"addTag",value:function(t){""!==(t=t.trim())&&-1===this.tags.indexOf(t.toLowerCase())&&(this.tags.push(t.toLowerCase()),this.inputNode.parentNode.insertBefore(s('<span class="tag is-info" data-value="'+o(t)+'">'+o(t)+'<span class="delete is-small" /></span>'),this.inputNode),this.tags.length>=this.maxTags&&(this.inputNode.disabled=!0))}},{key:"_handleInputKeyUp",value:function(t){var e=this.inputNode.value;"Backspace"===t.key&&""===e?this.inputNode.previousSibling&&(this.deleteTagNode(this.inputNode.previousSibling),this.updateHiddenInputValue()):","===t.key&&(this.addTag(e),this.inputNode.value="",this.updateHiddenInputValue(),t.preventDefault())}},{key:"_handleContainerClick",value:function(t){t.target&&t.target.classList.contains("delete")&&(this.deleteTagNode(t.target.closest(".tag")),this.updateHiddenInputValue())}}]),e}(),c=function(){function t(e){a(this,t),this.element=e}return i(t,[{key:"attach",value:function(t){this.element.addEventListener("click",(function(e){e.target&&e.target.classList.contains("paginator__button")&&t(+e.target.dataset.page)}))}},{key:"update",value:function(t,e,a){r(this.element);var n=Math.ceil(t/e),i=a-3<0?a:a-3,o=i+3>n?n:i+6,l=Math.abs(0-a)>6,c=Math.abs(n-a)>6;this.element.appendChild(s('<a class="paginator__button previous disabled" data-page="'.concat(a-1,'">Previous</a>'))),l&&(this.element.appendChild(s('<a class="paginator__button" data-page="'.concat(0,'">').concat(0,"</a>"))),this.element.appendChild(s('<span class="ellipsis">…</span>')));for(var u=i;u<=o;u++)this.element.appendChild(s('<a class="paginator__button" data-page="'.concat(u,'">').concat(u,"</a>")));c&&(this.element.appendChild(s('<span class="ellipsis">…</span>')),this.element.appendChild(s('<a class="paginator__button" data-page="'.concat(n,'">').concat(n,"</a>")))),this.element.appendChild(s('<a class="paginator__button next" data-page="'.concat(a+1,'">Next</a>')))}}]),t}(),u=function(){function t(e,n){a(this,t),this.element=e,this.container=e.parentElement,this.options=n,this.ajaxCallback=n.ajaxCallback,this.data=[],this.totalRecords=-1,this.perPage=10,this.currentPage=0,this.paginator=new c(this.container.querySelector(".paginator"))}return i(t,[{key:"attach",value:function(){this.paginator.attach(this._updatePage.bind(this)),this._loadEntries()}},{key:"_loadEntries",value:function(){new Promise(this.ajaxCallback).then(this._updateEntries.bind(this))}},{key:"_updateEntries",value:function(t){this.data=t.data,this.totalRecords=this.data.length;var e=this.element.querySelector("tbody");r(e);for(var a=this.perPage*this.currentPage,n=a+this.perPage>this.totalRecords?this.totalRecords:a+this.perPage,i=a;i<n;i++){var o=s(this.options.rowCallback(this.data[i]));o.classList.add(i%2==0?"odd":"even"),e.appendChild(o)}this.paginator.update(this.totalRecords,this.perPage,this.currentPage)}},{key:"_updatePage",value:function(t){this.currentPage=t,this.paginator.update(this.totalRecords,this.perPage,this.currentPage),this._updateEntries({data:this.data})}},{key:"_updateSort",value:function(t,e){}}]),t}(),d=function(){var t;(Array.prototype.forEach.call((t=".js-tag-input",document.querySelectorAll(t)||[]),(function(t){new l(t).attach()})),document.querySelector("#archive"))&&new u(document.querySelector("#archive"),{ajaxCallback:function(t){fetch("/api/ajax_pastes.php").then((function(t){return t.json()})).then(t)},rowCallback:function(t){var e=t.tags.map((function(t){var e;return e=-1!==t.name.indexOf("nsfw")?"is-danger":-1!==t.name.indexOf("safe")?"is-success":-1!==t.name.indexOf("/")?"is-primary":"is-info",'<a href="/tags/'.concat(t.slug,'">\n <span class="tag ').concat(e,'">').concat(o(t.name),"</span>\n </a>")})).join("");return'<tr>\n <td><a href="/'.concat(t.id,'">').concat(o(t.title),'</a></td>\n <td><a href="/user/').concat(o(t.author),'">').concat(o(t.author),"</a></td>\n <td>").concat(e,"</td>\n </tr>")}}).attach()};"loading"!==document.readyState?d():document.addEventListener("DOMContentLoaded",d);
//# sourceMappingURL=bundle.min.js.map