custom-metrosurvey-widgets
Version:
Custom widgets for the SurveyJS library
7 lines • 4.74 kB
JavaScript
/*!
* custom-metrosurvey-widgets - Widgets for the SurveyJS library v1.0.27
* Copyright (c) 2015-2022 Devsoft Baltic OÜ - http://surveyjs.io/
* License: MIT (http://www.opensource.org/licenses/mit-license.php)
*/
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define("widgets/select2",[],t):"object"==typeof exports?exports["widgets/select2"]=t():e["widgets/select2"]=t()}(window,(function(){return function(e){var t={};function n(o){if(t[o])return t[o].exports;var a=t[o]={i:o,l:!1,exports:{}};return e[o].call(a.exports,a,a.exports,n),a.l=!0,a.exports}return n.m=e,n.c=t,n.d=function(e,t,o){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:o})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var o=Object.create(null);if(n.r(o),Object.defineProperty(o,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var a in e)n.d(o,a,function(t){return e[t]}.bind(null,a));return o},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=5)}({5:function(e,t,n){"use strict";function o(e,t){t=t||window.$;var n={activatedBy:"property",name:"select2",widgetIsLoaded:function(){return"function"==typeof t&&!!t.fn.select2},isFit:function(e){return"property"==n.activatedBy?"select2"===e.renderAs&&"dropdown"===e.getType():"type"==n.activatedBy?"dropdown"===e.getType():"customtype"==n.activatedBy&&"select2"===e.getType()},activatedByChanged:function(t){this.widgetIsLoaded()&&(n.activatedBy=t,e.JsonObject.metaData.removeProperty("dropdown","renderAs"),"property"==t&&(e.JsonObject.metaData.addProperty("dropdown",{name:"renderAs",category:"general",default:"default",choices:["select2","default"]}),e.JsonObject.metaData.addProperty("dropdown",{dependsOn:"renderAs",category:"general",name:"select2Config",visibleIf:function(e){return"select2"==e.renderAs}})),"customtype"==t&&(e.JsonObject.metaData.addClass("select2",[],null,"dropdown"),e.JsonObject.metaData.addProperty("select2",{name:"select2Config",category:"general",default:null})))},htmlTemplate:"<div><select style='width: 100%;'></select><textarea></textarea></div>",afterRender:function(e,n){var o=e.select2Config,a=o&&"string"==typeof o?JSON.parse(o):o;a||(a={});var r=t(n).is("select")?t(n):t(n).find("select"),l=t(n).find("textarea");l.addClass(e.cssClasses.other),l.bind("input propertychange",(function(){c||(e.comment=l.val())}));var i=function(){l.val(e.comment),e.isOtherSelected?l.show():l.hide()},c=!1,d=function(){if(!c){if(c=!0,r.find('option[value="'+(e.value||"")+'"]').length)r.val(e.value).trigger("change");else if(null!==e.value&&void 0!==e.value&&!e.isOtherSelected){var t=new Option(e.value,e.value,!0,!0);r.append(t).trigger("change")}i(),c=!1}},s=function(){if(r.select2().empty(),!a.placeholder&&e.showOptionsCaption&&(a.placeholder=e.optionsCaption,a.allowClear=!0),a.theme||(a.theme="classic"),a.disabled=e.isReadOnly,a.ajax)r.select2(a),e.keepIncorrectValues=!0;else{var t=[];(a.placeholder||e.showOptionsCaption)&&t.push({id:"",text:""}),a.data=t.concat(e.visibleChoices.map((function(e){return{id:e.value,text:e.text}}))),e.clearIncorrectValues(),r.select2(a)}n.querySelector(".select2")&&(n.querySelector(".select2").style.width="100%"),n.nextElementSibling&&(n.nextElementSibling.style.marginBottom="1px"),d()};l.prop("disabled",e.isReadOnly),e.readOnlyChangedCallback=function(){r.prop("disabled",e.isReadOnly),l.prop("disabled",e.isReadOnly)},e.registerFunctionOnPropertyValueChanged("visibleChoices",(function(){s()})),s(),r.on("change",(function(t){setTimeout((function(){e.renderedValue=t.target.value,i()}),1)})),r.on("select2:select",(function(t){setTimeout((function(){e.renderedValue=t.target.value,i()}),1)})),r.on("select2:opening",(function(e){t(this).data("unselecting")&&(t(this).removeData("unselecting"),e.preventDefault())})),r.on("select2:unselecting",(function(n){t(this).data("unselecting",!0),setTimeout((function(){e.renderedValue=null,i()}),1)})),e.valueChangedCallback=d,d()},willUnmount:function(e,n){e.readOnlyChangedCallback=null,e.valueChangedCallback=null;var o=t(n).find("select");o.data("select2")&&o.off("select2:select").off("select2:unselecting").off("select2:opening").select2("destroy")}};e.CustomWidgetCollection.Instance.addCustomWidget(n)}n.r(t),"undefined"!=typeof Survey&&o(Survey,window.$),t.default=o}})}));
//# sourceMappingURL=select2.min.js.map