1"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[6395],{6454:(t,e,n)=>{n.d(e,{Z:()=>r});const i="not--rendered";const r=new class JSONToHTMLC{render(t,e,n,i){i&&n.html(""),this.createAndAppendItem(t,e,n)}createAndAppendItem(t,e,n){$.each(t,((t,r)=>{const a=e.clone();a.find("[data-jsrender]").addClass(i),$.each(r,((t,e)=>{const n=a.find(`[data-jsrender=${t}]`);"Link"===t&&a.attr("href",e),"Tags"!==t?(null!=e&&0!=e&&n.removeClass(i),"string"===$.type(e)&&(n.is("img")?n.attr("src",e):n.is("a")?n.attr("href",e):n.append($.parseHTML(e))),"object"===$.type(e)&&this.render([e],$(n.html()),n,!0),"array"===$.type(e)&&n.is("ul")&&e.forEach((t=>{var e=$(`<li>${t}</li>`);n.append(e)}))):"array"===$.type(e)&&(n.append('<dt class="u-sr-only">Tags</dt>'),e.forEach((t=>{const e=$(`<dd class="teaser-relevancy-tag">${t}</dd>`);n.append(e)})),n.removeClass(i))})),a.find("."+i).remove(),n.append(a)}))}}},3212:(t,e,n)=>{n.d(e,{Z:()=>a});var i,r=n(489);const a=class BaseOverview{elem;url=null;template;goToPage=(null===(i=document.location.hash)||void 0===i?void 0:i.substring(1))||0;found=0;pages=0;pageindex=0;item;changeOnHashChange=!0;abort=null;listSelector=null;constructor(t){this.abortController=new AbortController,this.$container=$(t),this.$filterForm=this.$container.find(".filterform"),this.$submitButton=this.$container.find(".filterform__submit"),this.$pagination=this.$container.find(".pagination"),this.$resetSelection=this.$container.find("#erase-selection"),this.$inputs={$select:this.$filterForm.find("select"),$checkbox:this.$filterForm.find("input[type=checkbox]"),$radio:this.$filterForm.find("input[type=radio]")}}init(){var t,e;if(!this.listSelector)throw new Error("listSelector must be defined in the child class.");if(!this.url)throw new Error("url must be defined in the child class.");null===(t=this.beforeInit)||void 0===t||t.call(this),this.onLoad(),this.bindSubmitButton(),this.bindInputFields(),this.bindPagination(),this.bindOnHashChange(),this.bindResetSelection(),null===(e=this.afterInit)||void 0===e||e.call(this)}onLoad(){this.$container.find(this.listSelector).each(((t,e)=>{this.$content=$(e),this.template=this.$content.html(),this.getData()}))}bindInputFields(){Object.values(this.$inputs).map((t=>t.on("change",(()=>this.onInputChangeHandler()))))}bindOnHashChange(){r.vO.on("hashChange",(()=>{var t;this.changeOnHashChange?this.onInputChangeHandler(null===(t=document.location.hash)||void 0===t?void 0:t.substring(1)):this.changeOnHashChange=!0}))}bindSubmitButton(){this.$submitButton.on("click",(t=>{t.preventDefault(),this.changeOnHashChange=!1,this.onInputChangeHandler()}))}bindPagination(){this.$pagination.on("click","a.pager",(t=>{var e;t.preventDefault(),this.isLoading=!0,this.goToPage=null===(e=t.currentTarget.getAttribute("href"))||void 0===e||null===(e=e.split("#"))||void 0===e?void 0:e[1],$("html, body").animate({scrollTop:this.$container.offset().top-100},0),this.getData(),document.location.hash=this.goToPage}))}bindResetSelection(){this.$resetSelection.on("click",(t=>{t.preventDefault(),this.isLoading=!0,this.resetSelection(),this.getData()}))}onInputChangeHandler(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;this.changeOnHashChange=!1,this.isLoading=!0,this.goToPage=t,this.getData()}resetSelection(){this.$filterForm.find("input[type=radio]").prop("checked",!1),this.$filterForm.find("input[type=checkbox]").prop("checked",!1),this.$filterForm.find("input[type=text]").val(""),this.$filterForm.find("select").prop("selectedIndex",0)}getData(){throw new Error("getData method must be implemented in the child class.")}getApiUrl(){return this.url}buildSearchQuery(){throw new Error("buildSearchQuery method must be implemented in the child class.")}writeHTML(){throw new Error("writeHTML method must be implemented in the child class.")}renderError(){this.$content.html(`<p class="error" role="alert">${HR.language.translation("technical issue")}</p>`)}renderNoResults(){this.$content.html(`<h2>${HR.language.translation("no articles found")}</h2>`)}set isLoading(t){void 0===t&&(t=!0),this.$container[t?"addClass":"removeClass"]("loading")}}},6395:(t,e,n)=>{n.r(e),n.d(e,{default:()=>s});var i=n(8397),r=n(6454),a=n(3457),o=n(3212);class DatabaseOverview extends o.Z{url="database/find";listSelector=".database-list";defaultThemes=[];constructor(t){super(t),this.$themeCheckbox=this.$container.find("input.theme_checkbox"),this.init()}beforeInit(){this.$themeCheckbox.each(((t,e)=>{this.defaultThemes.push($(e).val())}))}getData(){this.abortController.abort(),this.abortController=new AbortController,i.Z.get(this.getApiUrl(),this.buildSearchQuery(),void 0,{signal:this.abortController.signal}).then((t=>{let{data:{Found:e,Pages:n,PageIndex:i,Data:r}}=t;this.found=e,this.pages=n,this.pageindex=i,this.writeHTML(r.map((t=>{let{Name:e,DatabaseLink:n,Link:i,Description:r}=t;return{Title:e,DatabaseLink:n,Link:i,Description:r}})))}
1)).catch((t=>{"ERR_CANCELED"!==t.code&&(this.isLoading=!1,this.renderError())}))}buildSearchQuery(){const t=new URLSearchParams;t.append("rootid",this.$filterForm.attr("data-rootid")),t.append("currentpageid",this.$filterForm.attr("data-currentpageid"));const e=$("#database-type").val();e&&t.append("tagstype",e);const n=[...this.$themeCheckbox.filter(":checked").map(((t,e)=>$(e).val()))];return t.append("tagstheme",(n.length?n:this.defaultThemes).join(",")),t.append("page",this.goToPage),t}writeHTML(t){$(".database-teaser").remove(),a.o.clearPagination(this.$pagination),this.$content.html(this.template),$("#filter_found").text(this.found),this.found>0?r.Z.render(t,$(this.template),this.$content,!0):this.renderNoResults(),this.pages>1&&a.o.createPagination(this.$pagination,this.pages,this.pageindex),this.isLoading=!1}}const s=DatabaseOverview},3457:(t,e,n)=>{n.d(e,{o:()=>i});const i=new class Pagination{createPagination(t,e,n){n=parseInt(n);let i="";for(let r=0;r<e;r++){let t=!1,a=!1;if(e>10?n<=4?r<=6||r==e-1?a=!0:7==r&&(t=!0):n>=e-5?r>=e-7||0==r?a=!0:r==e-8&&(t=!0):0==r||r==e-1||r>=n-2&&r<=n+2?a=!0:r!=n-3&&r!=n+3||(t=!0):a=!0,a){i+=r==n?'<li class="current">':"<li>";let t="";r+1===n&&(t='rel="prev"'),r-1===n&&(t='rel="next"'),i+='<a href="#'+r+'" class="pager" '+t+">"+(r+1)+"</a>",i+="</li>"}t&&(i+="<li>",i+="<span>...</span>",i+="</li>")}$(t).html(i)}clearPagination(t){$(t).find("li").remove()}}},8397:(t,e,n)=>{n.d(e,{Z:()=>h});const i="local",r=i,a=window.EnvironmentSettings.environment;const o=new class Environment{get get(){return a||r}get isLocal(){return this.get===i}get isTest(){return"test"===this.get}get isAcceptance(){return"acceptance"===this.get}get isProduction(){return"production"===this.get}};var s=n(7741);function ownKeys(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);e&&(i=i.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,i)}return n}function _objectSpread(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{};e%2?ownKeys(Object(n),!0).forEach((function(e){_defineProperty(t,e,n[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):ownKeys(Object(n)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))}))}return t}function _defineProperty(t,e,n){return(e=function _toPropertyKey(t){var e=function _toPrimitive(t,e){if("object"!=typeof t||!t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var i=n.call(t,e||"default");if("object"!=typeof i)return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===e?String:Number)(t)}(t,"string");return"symbol"==typeof e?e:String(e)}(e))in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}const l=window.EnvironmentSettings.endpoint;function getEndpoint(t,e,n){return"//"===t.substr(0,2)||"http"===t.substr(0,4)||"?"===t.substr(0,1)?t:!0===e||"local"===e&&o.isLocal?l+t+`--${n}.json`:l+t}function getMethod(t,e){return!0===e||"local"===e&&o.isLocal?"GET":t}const h=new class API{setAntiForgeryToken(t,e){this.antiForgeryToken={},this.antiForgeryToken={name:t,value:e}}get(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=arguments.length>2?arguments[2]:void 0,i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},r={url:getEndpoint(t,n,"get"),params:e,method:getMethod("GET",n)};return r=_objectSpread(_objectSpread({},r),i),(0,s.Z)(r)}post(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=arguments.length>2?arguments[2]:void 0,i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},r={url:getEndpoint(t,n,"post"),data:e,method:getMethod("POST",n)};return this.antiForgeryToken&&this.antiForgeryToken.name&&(r.headers={},r.headers[this.antiForgeryToken.name]=this.antiForgeryToken.value),r=_objectSpread(_objectSpread({},r),i),(0,s.Z)(r)}put(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=arguments.length>2?arguments[2]:void 0,i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},r={url:getEndpoint(t,n,"put"),data:e,method:getMethod("PUT",n)};return r=_objectSpread(_objectSpread({},r),i),(0,s.Z)(r)}delete(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=arguments.length>2?arguments[2]:void 0,i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},r={url:getEndpoint(t,n,"delete"),data:e,method:getMethod("DELETE",n)};return r=_objectSpread(_objectSpread({},r),i),(0,s.Z)(r)}}},489:(t,e,n)=>{n.d(e,{dy:()=>i.dy,gD:()=>i.gD,vO:()=>i.vO});var i=n(7539)},7539:(t,e,n)=>{n.d(e,{gD:()=>o,vO:()=>a,d1:()=>r,dy:()=>i});const i=document.documentElement,r=document.body,a=$(window),o=$(r)}}]);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.