PageSourceSearch

https://lomma.se/sitevision/system-resource/706c47851a9c6e84fdd504…/js/contact2-portlet.js

js lomma.se collected 2026-09-25 21:45:52 UTC 9,873 bytes, 2 lines download raw bytes

1(globalThis.webpackChunk_sv_portlet=globalThis.webpackChunk_sv_portlet||[]).push([[9822],{5249(t,i,e){"use strict";e.r(i);var o=e(3501),s=e.n(o),n=e(7834),a=e.n(n);e(7971);const r=/^[A-Z0-9._%+\-]+@([A-Z0-9][.\-]?)+[A-Z0-9]+\.[A-Z]{2,6}$/i;function l(t){this.options=t,this.bindLinkListener()}l.prototype={bindLinkListener:function(){var t=this;this.options.$portlet.find("."+this.options.linkClass).on("click",function(){return t.openDialog.call(t,this),!1})},getDialogContainer:function(){return this.$dialogContainer||(this.$dialogContainer=s()("<div/>")),this.$dialogContainer},showMessageDialog:function(t){this.$subDialogContainer?this.$subDialogContainer.html(t).svDialog("open"):this.$subDialogContainer=s()("<div/>").html(t).svDialog({open:!0,title:this.options.sendMessageTitle,closeButtonLabel:this.options.closeButtonText,buttons:[{text:this.options.closeButtonText,type:"primary",callback:s().proxy(function(){this.$subDialogContainer.svDialog("close")},this)}]})},validateForm:function(){var t=!0,i=this.getDialogContainer().find("form"),e=i.find("input[data-sv-form-consent-checkbox]");if(s().each(this.options.requiredFields,s().proxy(function(e,o){var s=i.find("[name="+o+"]");this.validateField(s)||(t=!1)},this)),this.options.attachmentField){var o=i.find("[name=attachment]");this.checkAttachmentSize(o)||(t=!1)}return this.validateConsent(e)||(t=!1),t},validateField:function(t){var i=t.is("[name=emailAddress]"),e=t.is("[name=attachment]");return this.checkRequiredField(t)?i&&!this.checkEmailAddress(t)?(this.appendErrorMessage(t,this.options.errorMessages.invalidEmail),!1):e&&!this.checkAttachmentSize(t)?(this.appendErrorMessage(t,this.options.errorMessages.fileSizeExceeded),!1):(this.removeValidationErrors(t),!0):(this.appendErrorMessage(t,this.options.errorMessages[t.attr("name")]),!1)},validateConsent:function(t){return t.length&&!t.is(":checked")?(this.appendConsentErrorMessage(t),!1):(this.removeConsentValidationErrors(t),!0)},checkEmailAddress:function(t){if(0===t.length)return!0;var i=t.val();return""===i.trim()&&-1===s().inArray("emailAddress",this.options.requiredFields)||r.test(i)},checkAttachmentSize:function(t){if(0===t[0].files.length)return!0;var i=this.options.maxMailSize;return t[0].files[0].size<i},checkRequiredField:function(t){return-1===s().inArray(t.attr("name"),this.options.requiredFields)||(t.is("[type=checkbox]")?t.is(":checked")||t.siblings("input[type=checkbox]").filter(":checked").length>0:!!t.val().trim())},appendErrorMessage:function(t,i){t.siblings(".sv-contact2-error-message-container").remove(),t.addClass("sv-contact2-warned");var e=s()("<label/>",{for:t.attr("id"),role:"alert",class:this.options.errorFont}).html('<img alt="" style="border:none; width:16px; height:16px; vertical-align:middle" src="'+this.options.errorImageSrc+'"> '+i);s()('<div class="sv-contact2-error-message-container"/>').append(e).appendTo(t.parent())},appendConsentErrorMessage:function(t){t.siblings(".sv-form-consent-error-message-container").remove(),t.addClass("sv-contact2-warned");var i=s()("<label/>",{for:t.attr("id"),role:"alert",class:this.options.errorFont}).html('<img alt="" style="border:none; width:16px; height:16px; vertical-align:middle" src="'+this.options.errorImageSrc+'"> '+this.options.errorMessages.consentMissing);s()('<div class="sv-form-consent-error-message-container"/>').append(i).appendTo(t.parent())},removeValidationErrors:function(t){(t?t.parent():this.getDialogContainer()).find(".sv-contact2-error-message-container").remove()},removeConsentValidationErrors:function(t){(t?t.parent():this.getDialogContainer()).find(".sv-form-consent-error-message-container").remove()},handleSubmit:function(){var t,i=this.options.ajaxFormUrl;this.validateForm()&&(this.options.attachmentField?this.getDialogContainer().find("form").trigger("submit"):(t=this.getDialogContainer().find("form").serialize(),s().post(i,t,s().proxy(function(t){this.closeDialog(),this.showMessageDialog(t)},this))))},closeDialog:function(){this.getDialogContainer().svDialog("close")},buildDialogUrl:function(t){return this.options.ajaxSendBaseUrl+"&contactUserId="+t.substring(3).replace("_",".")},openDialog:function(t){var i=this.getDialogContainer();if(this.dialogCreated)i.svDialog("setURL",this.buildDialogUrl(t.id)).svDialog("open");else{i.svDialog({open:!0,url:this.buildDialogUrl(t.id),title:this.options.sendMessageTitle,modal:this.options.useModalDialog,closeButtonLabel:this.options.closeButtonText,buttons:[{text:this.options.submitButtonText,type:"primary",callback:s().proxy(this.handleSubmit,this)},{text:this.options.cancelButtonText,type:"link",callback:s().proxy(this.closeDialog,this)}]});var e=this;i.on("change","input, textarea",function(){e.validateField(s()(this))}),i.on("keydown","input[type=text]",function(t){if(t.which===a().KeyUtil.KEY.RETURN){t.preventDefault();var o=i.find("input[data-sv-form-consent-checkbox]");if(o.length&&!o.is(":checked"))return e.validateForm(),!1;e.handleSubmit()}}),i.on("change","input[data-sv-form-consent-checkbox]",function(){e.validateConsent(s()(this))}),i.on("keyup","input[type=text].sv-contact2-warned, textarea.sv-contact2-warned",function(){e.validateField(s()(this))}),this.dialogCreated=!0}}},s()(".sv-contact2-portlet").each(function(){var t=s()(this),i=a().contact2&&a().c
1ontact2[this.id.substring(4)];if(i){i.$portlet=t;var e=new l(i);t.data("sv-contact2-portlet",e)}})},7971(t,i,e){"use strict";e(9608)},9608(){!function(t,i,e){var o="svDialog",s={cssClasses:{},open:!1,modal:!0,movable:!1,url:void 0,title:"My fancy dialog",closeOnEscape:!0,onClose:null,closeButtonLabel:"Close"};function n(i,e){this.element=i,this.$element=t(i),this.options=t.extend({},s,e),this._defaults=s,this._name=o,this.init()}n.prototype={init:function(){var i,e;this.$dialogWrapper=(i=this.options.modal,e="",i&&(e+='<div class="sv-dialog-container"><div class="sv-dialog-backdrop"></div>'),e+='<div class="sv-dialog" role="dialog" aria-hidden="true" aria-labelledby="sv-dialog-title"><div class="sv-dialog-content"><div class="sv-dialog-header"><button class="sv-dialog-close"><span aria-hidden="true">&times;</span></button><h4 id="sv-dialog-title"></h4></div><div class="sv-dialog-body"></div><div class="sv-dialog-footer"></div></div></div>',i&&(e+="</div>"),t(e)),this.$dialogWrapper.find(".sv-dialog-body").append(this.element),this.options.buttons&&this.setupButtons(),this.bindEvents(),this.options.modal||(this.$dialogWrapper.addClass("sv-dialog-movable"),this.$dialogWrapper.draggable({handle:".sv-dialog-header",containment:"body",distance:10})),this.options.open&&this.open()},open:function(){this.options.url?t.get(this.options.url).done(t.proxy(this.handleRemoteContent,this)):this._open()},handleRemoteContent:function(t){this.$element.html(t),this._open()},_open:function(){this.$dialogWrapper.appendTo("body"),this.setTitle(),this.setCloseButton(),this.setAriaHidden(!1),this.$dialogWrapper.find(".sv-dialog-container").css("height",t(i).height()),this.options.modal?t("body").addClass("sv-dialog-open"):this.positionDialog(),this.$dialogWrapper.show(),this.setFocus(),this.setupFocusTrap(),this.$element.trigger("open:dialog.sv-dialog")},setCloseButton:function(){this.$dialogWrapper.find(".sv-dialog-close").attr("aria-label",this.options.closeButtonLabel)},setTitle:function(){this.$dialogWrapper.find("#sv-dialog-title").html(this.options.title)},setAriaHidden:function(t){(this.options.modal?this.$dialogWrapper.find(".sv-dialog"):this.$dialogWrapper).attr("aria-hidden",t)},positionDialog:function(){var t=this.$dialogWrapper.outerWidth();this.$dialogWrapper.css({position:"fixed",top:"30px",left:"50%",marginLeft:"-"+i.parseInt(t,10)/2+"px"})},setupButtons:function(){t.each(this.options.buttons,t.proxy(function(i,e){var o=t('<button class="sv-dialog-btn" />');switch(o.text(e.text).on("click",e.callback),e.type){case"primary":o.addClass("sv-dialog-btn-primary");break;case"link":o.addClass("sv-dialog-btn-link")}o.prependTo(this.$dialogWrapper.find(".sv-dialog-footer"))},this))},setupFocusTrap:function(){var t=this,i=this.$dialogWrapper.find(".sv-dialog-content");this.getFocusableElements=function(){return i.find('button, [href], input, select, textarea, [tabindex]:not([tabindex="-1"])').filter(":visible").not(":disabled")},i.off("keydown.focustrap").on("keydown.focustrap",function(i){if("Escape"===i.key&&t.options.closeOnEscape)return i.preventDefault(),void t.close();if("Tab"===i.key){var o=t.getFocusableElements();if(0===o.length)return;var s=o.first()[0],n=o.last()[0];i.shiftKey?e.activeElement===s&&(i.preventDefault(),n.focus()):e.activeElement===n&&(i.preventDefault(),s.focus())}})},removeFocusTrap:function(){this.$dialogWrapper&&this.$dialogWrapper.find(".sv-dialog-content").off("keydown.focustrap")},close:function(){this.removeFocusTrap(),this.$dialogWrapper.hide(),this.setAriaHidden(!0),t("body").removeClass("sv-
1dialog-open"),this.options.onClose&&"function"==typeof this.options.onClose&&this.options.onClose()},remove:function(){t("body").removeClass("sv-dialog-open"),this.removeFocusTrap(),this.$dialogWrapper.remove()},setFocus:function(){var t=this.$element.find("input:not([type=hidden], .svhidden, .sv-hidden, .env-d--none),select");t.length&&t.first().trigger("focus")},enableSubmitButton:function(){this.$dialogWrapper.find("button.sv-dialog-btn-primary").prop("disabled",!1)},disableSubmitButton:function(){this.$dialogWrapper.find("button.sv-dialog-btn-primary").prop("disabled",!0)},bindEvents:function(){this.$dialogWrapper.off("click.sv-dialog.close").on("click.sv-dialog.close",".sv-dialog-close",t.proxy(this.close,this))},setURL:function(t){this.options.url=t}},t.fn[o]=function(i,e){return this.each(function(){var s=t.data(this,"plugin_"+o);s?"string"==typeof i&&s[i](e):t.data(this,"plugin_"+o,new n(this,i))})}}(window.$svjq,window,document)}}]);
2//# sourceMappingURL=contact2-portlet.js.map

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.