{"version":3,"file":"sm.portal.ui.combobox.min.js","names":["jQuery","undefined","widget","version","defaultElement","options","_create","_this","this","searchUrl","element","attr","baseUrl","slideupUrl","infoUrl","searchTitle","textbox","find","hidden","statusIcon","first","searchIcon","last","searchIndex","startValue","defaultInfoHtml","loadFlyout","resultsDiv","length","appendTo","hide","flyoutDivID","flyoutDiv","on","event","_positionResults","_loadResults","val","self","setTimeout","preventDefault","keyCode","ui","UP","DOWN","LEFT","RIGHT","TAB","ENTER","NUMPAD_ENTER","_navigateResults","_selectResult","e","v","_hideResults","removeClass","parseInt","addClass","_tmpIndex","overrideBlockUI","sm","portal","vm","custom","callCustomization","trim","search","replace","url","includes","ajax","type","dataType","contentType","headers","processData","crossDomain","xhrFields","withCredentials","success","data","textStatus","jqXHR","isTextboxVisible","is","css","show","container","smapi","access","ApiContainerModel","Status","Payload","ValidationTitle","ValidationMessages","ResultCount","searchTerm","SearchTerm","resultList","i","item","highlightedTerm","re","RegExp","displayText","Text","append","Value","html","each","li","unbind","hover","parent","off","error","value","lst","_getResults","validResult","parents","_getActive","trigger","utility","isNullOrEmpty","_setupFlyout","bind","flyoutID","inputID","trs","toggleContentFlyout","dir","act","newIndex","index","not","offset","top","outerHeight","left","_destroy","_setOption","key","_super"],"sources":["assets/js/ui/sm.portal.ui.combobox.js"],"mappings":"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","sourcesContent":["\r\n(function (jQuery, undefined) {\r\n\r\n jQuery.widget(\"ui.combobox\", {\r\n version: \"1.9.2\",\r\n defaultElement: \"
\",\r\n options: {},\r\n\r\n // widget constructor method\r\n _create: function () {\r\n\r\n // scoped variable to this\r\n var _this = this;\r\n\r\n // grab attributes and controls from the element\r\n this.searchUrl = this.element.attr('data-combobox-search');\r\n this.baseUrl = this.element.attr('data-combobox-base-uri');\r\n this.slideupUrl = this.element.attr('data-slideup-search');\r\n this.infoUrl = this.element.attr('data-info-url');\r\n this.searchTitle = this.element.attr('data-search-title');\r\n this.textbox = this.element.find('input[type=text]');\r\n this.hidden = this.element.find('input[type=hidden]');\r\n this.statusIcon = this.element.find('.icon').first();\r\n this.searchIcon = this.element.find('.icon').last();\r\n this.searchIndex = 0;\r\n this.startValue = null;\r\n this.defaultInfoHtml = '
';\r\n this.loadFlyout = true;\r\n\r\n // create or reuse the page results div\r\n this.resultsDiv = jQuery('#comboboxResults'); \r\n if (this.resultsDiv.length == 0) {\r\n this.resultsDiv = jQuery('
').appendTo('body').hide();\r\n }\r\n\r\n // create or reuse the flyout div\r\n var flyoutDivID = _this.textbox.attr(\"id\") + \"comboboxResultFlyout\";\r\n this.flyoutDiv = jQuery('#' + flyoutDivID);\r\n if (this.flyoutDiv.length == 0) {\r\n this.flyoutDiv = jQuery('
' + this.defaultInfoHtml + '
').appendTo('body');\r\n }\r\n\r\n // wire up the focus event\r\n this.textbox.on('focus', function (event) {\r\n var jQuerythis = jQuery(this);\r\n\r\n // on focus, make sure the results div is in the correct location\r\n _this._positionResults();\r\n\r\n // by default, load the results immediately\r\n _this._loadResults();\r\n\r\n // store the initial value from the textbox\r\n _this.startValue = _this.textbox.val();\r\n\r\n // select all text in textbox on focus - fire outside of scope so that the event isn't overridden\r\n self.setTimeout(\"jQuery('#\" + _this.textbox.attr(\"id\") + \"').select();\", 0);\r\n\r\n // don't let the event bubble up\r\n event.preventDefault();\r\n\r\n // reset back to valid on focus\r\n //trs.ui.makeElementValid(jQuerythis);\r\n });\r\n\r\n // wire up the keyup event\r\n this.textbox.on('keyup', function (event) {\r\n var keyCode = jQuery.ui.keyCode;\r\n\r\n // test the key code\r\n switch (event.keyCode) {\r\n case keyCode.UP:\r\n case keyCode.DOWN:\r\n case keyCode.LEFT:\r\n case keyCode.RIGHT:\r\n case keyCode.TAB:\r\n case keyCode.ENTER:\r\n case keyCode.NUMPAD_ENTER:\r\n // do nothing\r\n break;\r\n default: \r\n // load new results div\r\n _this._loadResults();\r\n break;\r\n }\r\n });\r\n\r\n // wire up the keydown event\r\n this.textbox.on('keydown', function (event) {\r\n var keyCode = jQuery.ui.keyCode;\r\n\r\n // test the key code\r\n switch (event.keyCode) {\r\n case keyCode.UP:\r\n // navigate results list up\r\n _this._navigateResults(-1);\r\n event.preventDefault();\r\n break;\r\n case keyCode.DOWN:\r\n // navigate results list down\r\n _this._navigateResults(1);\r\n event.preventDefault();\r\n break;\r\n case keyCode.LEFT:\r\n case keyCode.RIGHT:\r\n case keyCode.TAB:\r\n // do nothing\r\n break;\r\n case keyCode.ENTER:\r\n case keyCode.NUMPAD_ENTER:\r\n // select the value\r\n _this._selectResult();\r\n event.preventDefault();\r\n break;\r\n }\r\n });\r\n\r\n // wire up blur event\r\n this.textbox.on('blur', function (e, v) {\r\n _this._hideResults();\r\n // Remove the spinner from this textbox\r\n jQuery(_this.textbox).removeClass('comboLoading'); \r\n });\r\n\r\n // setup flyout\r\n var comboboxHasValue = parseInt(this.hidden.val()) > 0;\r\n },\r\n\r\n // get ajax results from server\r\n _loadResults: function () {\r\n\r\n // scoped variable to this\r\n var _this = this;\r\n\r\n // Show a spinner in the text box until we get results NOTE: STYLES ARE IN TEMPORARY\r\n jQuery(_this.textbox).addClass('comboLoading');\r\n\r\n // use search index for race conditions\r\n _this.searchIndex += 1;\r\n var _tmpIndex = _this.searchIndex;\r\n\r\n overrideBlockUI = true;\r\n var flag = sm.portal.vm.custom.callCustomization('RetainCustomAppearance');\r\n if(flag){\r\n if (_this.textbox.val().trim() === '') {\r\n // Remove the spinner from this textbox\r\n jQuery(_this.textbox).removeClass('comboLoading');\r\n return false; \r\n } \r\n }\r\n if (_this.textbox.val() && (_this.textbox.val().search('<') > -1 || _this.textbox.val().search('>') > -1)) {\r\n _this.textbox.val(_this.textbox.val().replace('<', '').replace('>', ''));\r\n }\r\n\r\n //var submitData = { data: _this.textbox.val() };\r\n _this.searchUrl = _this.element.attr('data-combobox-search');\r\n var url = '';\r\n if (_this.searchUrl && _this.searchUrl.includes('GetDocumentType')) {\r\n url = _this.baseUrl + _this.searchUrl + \"&data=\" + _this.textbox.val();\r\n } else {\r\n url = _this.baseUrl + _this.searchUrl + \"?data=\" + _this.textbox.val();\r\n }\r\n jQuery.ajax({\r\n url: url, // undo code due to US - 146046\r\n type: 'GET',\r\n dataType: 'json',\r\n contentType: 'application/json; charset=utf-8',\r\n //data: JSON.stringify(submitData),\r\n headers: {\r\n \"x-api-version\": '1' //,\r\n },\r\n processData: false,\r\n crossDomain: true,\r\n xhrFields: {\r\n withCredentials: true\r\n },\r\n success: function (data, textStatus, jqXHR) {\r\n var isTextboxVisible = jQuery(_this.textbox).is(':visible');\r\n \r\n // make sure we're the current result & user still see combobox\r\n if (_tmpIndex == _this.searchIndex && isTextboxVisible) {\r\n\r\n // always position in the correct spot\r\n _this._positionResults();\r\n\r\n // make the results div visible, and zindexed properly\r\n _this.resultsDiv.css({ 'z-index': 99 }).show();\r\n\r\n container = new smapi.access.ApiContainerModel(data.Status, data.Payload, data.ValidationTitle, data.ValidationMessages);\r\n var resultCount = data.ResultCount;\r\n var searchTerm = data.SearchTerm;\r\n\r\n var resultList = jQuery(\"