{"version":3,"file":"sm.portal.vm.adhocCommunication.min.js","names":["jQuery","undefined","sm","window","portal","extend","vm","SendCommunicationViewModel","this","Subject","ko","validatedObservable","FromAddress","ToAddress","Html","DisplayName","CurrentUserID","ContextID","SendMessage","data","ExtractATO","url","_baseApiUri","utility","formatString","toAddress","fromAddress","subject","body","currentUserID","contextID","ajax","type","dataType","contentType","headers","processData","crossDomain","xhrFields","withCredentials","success","textStatus","jqXHR","container","smapi","access","ApiContainerModel","Status","Payload","ValidationTitle","ValidationMessages","unblockUI","viewModel","HandleError","error","exception","CancelMessage","click","messageObject","mapping","toJS","_currentPersonId"],"sources":["assets/js/viewmodels/common/sm.portal.vm.adhocCommunication.js"],"mappings":"CAAA,SAAWA,EAAQC,GACf,IAAIC,EAAKC,OAAOD,GAAKC,OAAOD,IAAM,CAAC,OAIV,IAAdA,EAAGE,QACVJ,EAAOK,OAAOH,EAAI,CAAEE,OAAQ,CAAC,SAEL,IAAjBF,EAAGE,OAAOE,IACjBN,EAAOK,OAAOH,EAAGE,OAAQ,CAAEE,GAAI,CAAC,IAuFpCN,EAAOK,QAAO,EAAMH,EAAGE,OAAOE,GAAI,CAC9BC,2BApFJ,WAgFI,OA1EAC,KAAKC,QAAUC,GAAGC,sBAClBH,KAAKI,YAAcF,GAAGC,sBACtBH,KAAKK,UAAYH,GAAGC,sBACpBH,KAAKM,KAAOJ,GAAGC,sBACfH,KAAKO,YAAcL,GAAGC,sBACtBH,KAAKQ,cAAgBN,GAAGC,sBACxBH,KAAKS,UAAYP,GAAGC,sBAGpBH,KAAKU,YAAc,WAEf,IAAIC,EAAOX,KAAKY,aACZC,EAAMC,YAAcpB,EAAGE,OAAOmB,QAAQC,aAAa,wHACnDL,EAAKM,UACLN,EAAKO,YACLP,EAAKQ,QACLR,EAAKS,KACLT,EAAKU,cACLV,EAAKW,WACT9B,EAAO+B,KAAK,CACRV,IAAKA,EACLW,KAAM,MACNC,SAAU,OAEVC,YAAa,kCACbC,QAAS,CACL,gBAAiB,KAErBC,aAAa,EACbC,aAAa,EACbC,UAAW,CACPC,iBAAiB,GAErBC,QAAS,SAAUrB,EAAMsB,EAAYC,GAEjC,IAAIC,EAAY,IAAIC,MAAMC,OAAOC,kBAAkB3B,EAAK4B,OAAQ5B,EAAK6B,QAAS7B,EAAK8B,gBAAiB9B,EAAK+B,oBACtF,SAAf/B,EAAK4B,OAEL/C,EAAOmD,aAEe,mBAAfhC,EAAK4B,QAKU,SAAf5B,EAAK4B,SAHZK,UAAUC,YAAYV,EAAUM,gBAAiBN,EAAUO,mBAOnE,EACAI,MAAO,SAAUZ,EAAOa,GACpBH,UAAUC,YAAYE,EAC1B,GAGR,EACA/C,KAAKgD,cAAgB,WAEjBxD,EAAO,0BAA0ByD,OACrC,EACAjD,KAAKY,WAAa,WAEd,IAAIsC,EAAgBhD,GAAGiD,QAAQC,KAAKpD,MASpC,MARW,CACPmB,QAAS+B,EAAcjD,QACvBiB,YAAagC,EAAc9C,YAC3Ba,UAAWiC,EAAc7C,UACzBe,KAAM8B,EAAc5C,KACpBe,cAAegC,iBACf/B,UAAW4B,EAAczC,UAGjC,EA3EWT,IA8Ef,GAMH,CApGD,CAoGGR","ignoreList":[],"sourcesContent":["(function (jQuery, undefined) {\r\n var sm = window.sm = window.sm || {};\r\n var windowProxy;\r\n var actionQueue = [];\r\n\r\n if (typeof sm.portal === \"undefined\") {\r\n jQuery.extend(sm, { portal: {} });\r\n }\r\n if (typeof sm.portal.vm === \"undefined\") {\r\n jQuery.extend(sm.portal, { vm: {} });\r\n }\r\n\r\n // Stand-Along Send Communication ViewModel\r\n function SendCommunicationViewModel() {\r\n\r\n // Self-Identification\r\n var self = this;\r\n\r\n // Properties\r\n this.Subject = ko.validatedObservable();\r\n this.FromAddress = ko.validatedObservable();\r\n this.ToAddress = ko.validatedObservable();\r\n this.Html = ko.validatedObservable();\r\n this.DisplayName = ko.validatedObservable();\r\n this.CurrentUserID = ko.validatedObservable();\r\n this.ContextID = ko.validatedObservable();\r\n\r\n // Functions\r\n this.SendMessage = function () {\r\n\r\n var data = this.ExtractATO();\r\n var url = _baseApiUri + sm.portal.utility.formatString('api/student360/SendContextMessage/?toAddress={0}&fromAddress={1}&subject={2}&body={3}¤tUserID={4}&contextID={5}',\r\n data.toAddress,\r\n data.fromAddress,\r\n data.subject,\r\n data.body,\r\n data.currentUserID,\r\n data.contextID);\r\n jQuery.ajax({\r\n url: url,\r\n type: 'GET',\r\n dataType: 'json',\r\n //data: JSON.stringify(data),\r\n contentType: 'application/json; charset=utf-8',\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\r\n var container = new smapi.access.ApiContainerModel(data.Status, data.Payload, data.ValidationTitle, data.ValidationMessages);\r\n if (data.Status == 'saved') {\r\n // unblock UI so that user can resume work. \r\n jQuery.unblockUI();\r\n\r\n } else if (data.Status == 'validationerror') {\r\n\r\n viewModel.HandleError(container.ValidationTitle, container.ValidationMessages);\r\n // TODO: Identify and highlight the associated fields (if possible)\r\n\r\n } else if (data.Status == 'error') {\r\n\r\n viewModel.HandleError(container.ValidationTitle, container.ValidationMessages);\r\n }\r\n },\r\n error: function (jqXHR, exception) {\r\n viewModel.HandleError(exception);\r\n }\r\n });\r\n\r\n };\r\n this.CancelMessage = function () {\r\n // Close the Lightbox\r\n jQuery('.smModal .smModalClose').click();\r\n };\r\n this.ExtractATO = function () {\r\n\r\n var messageObject = ko.mapping.toJS(this);\r\n var data = {\r\n subject: messageObject.Subject,\r\n fromAddress: messageObject.FromAddress,\r\n toAddress: messageObject.ToAddress,\r\n body: messageObject.Html,\r\n currentUserID: _currentPersonId,\r\n contextID: messageObject.ContextID\r\n };\r\n return data;\r\n };\r\n\r\n return self;\r\n };\r\n\r\n jQuery.extend(true, sm.portal.vm, {\r\n SendCommunicationViewModel: SendCommunicationViewModel,\r\n });\r\n\r\n})(jQuery);"]}