{"version":3,"sources":["messagecenter.js","webpack://skyward_qmlativ_web/Scripts/skyward.base.global.text.ts","webpack://skyward_qmlativ_web/Scripts/skyward.ui.messagecenter.ts","webpack://skyward_qmlativ_web/Scripts/skyward.ui.svg.ts"],"names":["self","webpackChunkskyward_qmlativ_web","push","e","t","n","r","d","insertTextToken","a","s","controlToUpdate","token","addSpace","supressChangeEvent","trigger","originalValue","String","val","selectionStart","prop","selectionEnd","textBefore","slice","textAfter","lastTextBeforeChar","charAt","length","firstTextAfterChar","newCursorPosition","newValue","setValue","selectRange","resetTemplate","h","i","o","c","skyward","window","objectsThatRequireShownProxies","classes","wrapper","messageCenterMode","messageSubjectAndContent","messageSubject","messageContent","messageFromAlias","messageAllowReplies","messageType","messageTextHeader","messageText","messageTextCollapsed","messageTextCollapseExpandButton","notificationSubType","includeMessageBool","insertPrimaryBindingButton","teacherBindingButton","activityBindingButton","filterValue","filterProcessingListValue","toWhomInput","includeRestrictedGuardians","standardFilterViewer","filterViewer","dataObjectViewer","workflow","skywardContentPanel","subjectIsSelected","events","init","messageCenterWrapper","$","this","find","concat","on","insertMessageField","SetMessageBindingOptions","each","messageCenterObject","renderProxies","indexOf","getValue","container","attr","selectedToWhomOption","toWhomData","data","dataModule","dataObject","anchorToElement","options","anchorTo","removeBaseFromBinding","onGetBinding","binding","insertBinding","openBindingDialog","module","object","setupToggleRestrictedGuardians","context","closest","includeRestrictedGuardiansFS","input","value","toWhom","guardianValueSelected","toWhoms","guardians","toggleVisible","toggleText","event","btn","regardingText","parents","hasClass","removeClass","swapSvg","addClass","stopPropagation","displayMessagePreview","_event","previewButton","buttonData","wrapperData","subject","content","fromAlias","recipientTypeValue","filterWrapper","filterSelector","filterselector","filter","includeAutoGeneratedMessage","allowRepliesInput","allowReplies","includeRestrictedGuardiansInput","type","workflowInfoInput","detailsScreenInfoInput","locationElement","locationData","actionPath","previewActionPopupModulePath","previewactionpopupmodulepath","previewAction","buildPopup","ajax","url","virtualDir","dataType","recipientType","typeID","securityScreen","screen","extrafilterjson","JSON","stringify","extrafilterjsonhash","modalLayer","showDialog","text","icon","automationID","showHideRegardingButton","setUpCarbonCopyOptionFilter","promptsview","setModifiedNotification","Object","freeze","blank","students","staff","employee","users","applicants","activityPersonnel","allowedInsertFields","Map","Set","button","defaultSubject","defaultContent","fieldName","comboBox","insertFields","toWhomCode","allowedInsertFieldTypes","get","_i","insertField","insertFieldType","dataset","isVisible","has","undefined","div","textLargerThanOneLine","Math","round","outerWidth","scrollWidth","toggle","registerEvents","registerLayoutResizeCallback","call","getSvg","forceReload","use","querySelector","setAttributeNS","xlinkNS","getAttributeNS","svgNS","key","fillColor","svg","document","createElementNS","parent","global","appendChild","replaceAt","toLowerCase","toUpperCase","css","elementToReplace","newSvgName","newSvgType","replaceWith"],"mappings":"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","file":"messagecenter.js","sourcesContent":["\"use strict\";(self.webpackChunkskyward_qmlativ_web=self.webpackChunkskyward_qmlativ_web||[]).push([[4503,4629,5875],{3972:(e,t,n)=>{n.r(t),n.d(t,{insertTextToken:()=>a});var s=n(917);n(6952);function a(e,t,n,a){e.trigger(\"focus\");var i=String(e.val()),o=e.prop(\"selectionStart\"),c=e.prop(\"selectionEnd\")||o,r=i.slice(0,o),l=i.slice(c);if(null==t&&(t=\"\"),n){var d=r.charAt(r.length-1),g=l.charAt(0);\" \"!==d&&r.length>0&&(t=\" \"+t),\" \"!==g&&l.length>0&&(t=t+=\" \")}var u=o+t.length,f=r+t+l;(0,s.setValue)(e,f,a),e.selectRange(u)}},8465:(e,t,n)=>{n.r(t),n.d(t,{resetTemplate:()=>h});var s=n(2894),a=n(3972),i=n(917),o=n(2214),c=n(8337),r=n(9343);const l=window.skyward,d=[\"TimeOffTransactionRequest\"],g={wrapper:\"messageCenterWrapper\",messageCenterMode:\"MessageCenterMode\",messageSubjectAndContent:\"messageSubjectAndContent\",messageSubject:\"messageMasterSubject\",messageContent:\"messageMasterContent\",messageFromAlias:\"messageMasterFromAlias\",messageAllowReplies:\"messageMasterAllowReplies\",messageType:\"messageType\",messageTextHeader:\"messageTextHeader\",messageText:\"messageText\",messageTextCollapsed:\"messageTextCollapsed\",messageTextCollapseExpandButton:\"messageTextCollapseExpandButton\",notificationSubType:\"notificationSubType\",includeMessageBool:\"includeMessageBool\",insertPrimaryBindingButton:\"insertPrimaryBindingButton\",teacherBindingButton:\"teacherBindingButton\",activityBindingButton:\"activityBindingButton\",filterValue:\"filterValue\",filterProcessingListValue:\"filterProcessingListValue\",toWhomInput:\"jsMessageCenterToWhomCode\",includeRestrictedGuardians:\"js-includeRestrictedGuardians\",standardFilterViewer:\"js-standardFilterViewer\",filterViewer:\"js-filterViewer\",dataObjectViewer:\"dataObjectViewer\",workflow:\"workflow\",skywardContentPanel:\"skywardContentPanel\"};let u;const f={init:function(){const e=$(this);e.find(\".\".concat(g.teacherBindingButton,\", .\").concat(g.activityBindingButton)).on(\"click\",w),e.find(\".\".concat(g.messageSubject)).on(\"click focus\",(function(){u=!0})),e.find(\".\".concat(g.messageContent)).on(\"click focus\",(function(){u=!1})),v(e),0===e.find(\".\".concat(g.messageSubjectAndContent)).length&&e.each((function(){!function(e){const t=e.find(\".\".concat(g.messageCenterMode)),n=-1!==d.indexOf((0,i.getValue)(t));e.find(\".\".concat(g.toWhomInput)).on(\"change.recipient\",(function(){var t;$(this).attr(\"disabled\")||(t=e,(0,i.setValue)(t.find(\".\".concat(g.messageSubject)),\"\"),(0,i.setValue)(t.find(\".\".concat(g.messageContent)),\"\")),v(e)})),e.find(\".\".concat(g.insertPrimaryBindingButton)).on(\"click.insertBinding\",(function(){let t=e.find(\".\".concat(g.toWhomInput)).find(\"option:selected\");0===t.length&&(t=e);const s=t.data();!function(e,t,n,s,a){const i={anchorTo:s,renderProxies:a,removeBaseFromBinding:!0,onGetBinding:function(t){C(e,t)}};l.binding.openBindingDialog(t,n,i)}(e,s.module,s.object,$(this),n)}))}($(this))}))},setupToggleRestrictedGuardians:function(e){const t=e.closest(\".\".concat(g.wrapper));if(t){const n=t.find(\".\".concat(g.includeRestrictedGuardians));n&&e.on(\"change\",(function(){const e=$(this),t=(0,i.getValue)(e),s=e.find(\"option:selected\").data(\"toWhom\"),a=!0===t||s===p.guardians;(0,i.toggleVisible)(n,a)}))}},toggleText:function(e){const t=$(this),n=t.parents(\".\".concat(g.messageTextHeader)).find(\".\".concat(g.messageText));n.hasClass(g.messageTextCollapsed)?(n.removeClass(g.messageTextCollapsed),(0,c.swapSvg)(t.find(\".chevronDown \"),\"ChevronUp\")):(n.addClass(g.messageTextCollapsed),(0,c.swapSvg)(t.find(\".chevronUp \"),\"ChevronDown\"));e.stopPropagation()},displayMessagePreview:function(e){const t=$(this),n=t.data(),a=t.parents(\".\".concat(g.wrapper)),o=a.data(),c=(0,i.getValue)(a.find(\".\".concat(g.messageCenterMode))),r=(0,i.getValue)(a.find(\".\".concat(g.messageSubject))),d=(0,i.getValue)(a.find(\".\".concat(g.messageContent))),u=(0,i.getValue)(a.find(\".\".concat(g.messageFromAlias))),f=(0,i.getValue)(a.find(\".\".concat(g.toWhomInput)));let p=a;const m=o.filterselector;m&&(p=$(m));const h=(0,i.getValue)(p.find(\".\".concat(g.standardFilterViewer,\", .\").concat(g.filterViewer))),w=(0,i.getValue)(a.find(\".\".concat(g.includeMessageBool))),v=a.find(\".\".concat(g.messageAllowReplies)),C=!!v&&(0,i.getValue)(v),b=a.find(\".\".concat(g.includeRestrictedGuardians,\" .checkbox\")),T=!!b&&(0,i.getValue)(b),y=(0,i.getValue)(a.find(\".\".concat(g.messageType))),V=(0,i.getValue)(a.find(\".\".concat(g.notificationSubType))),S=this.closest(\".\".concat(g.workflow,\".\").concat(g.skywardContentPanel)),x=this.closest(\".\".concat(g.dataObjectViewer)),B=S||x,k=B?$(B).data():{};let M;const j=o.previewactionpopupmodulepath;M=n.previewAction?n.previewAction:j||\"MessageCenter/MessageMaster/GetMessagePreviewPopup\".concat(c);M+=\"/\";const A=$.ajax({url:s.virtualDir+M,type:\"POST\",dataType:\"viewparthtml\",data:{subject:r,content:d,recipientType:f,filter:h,typeID:y,notificationSubType:V,securityScreen:k.screen,allowReplies:C,includeAutoGeneratedMessage:w,fromAlias:u,extrafilterjson:JSON.stringify(o.extrafilterjson),extrafilterjsonhash:o.extrafilterjsonhash,includeRestrictedGuardians:T}});l.modalLayer.showDialog(\"Preview Message\",A,{text:\"Close\",icon:\"Check\"},{anchorTo:this,automationID:\"message-preview-dialog\"})},showHideRegardingButton:b,setUpCarbonCopyOptionFilter:function(){$(this).on(\"change dirty\",\".\".concat(g.filterValue,\", .\").concat(g.filterProcessingListValue),null,l.promptsview.setModifiedNotification).each(l.promptsview.setModifiedNotification)}},p=Object.freeze({blank:\"B\",guardians:\"G\",students:\"S\",staff:\"T\",employee:\"E\",users:\"U\",applicants:\"A\",activityPersonnel:\"P\"}),m=new Map([[p.blank,new Set(p.blank)],[p.students,new Set(p.students)],[p.guardians,new Set([p.students,p.guardians])],[p.activityPersonnel,new Set([p.activityPersonnel])]]);function h(e,t,n){const s=$(e).closest(\".\".concat(g.wrapper));(0,i.setValue)(s.find(\".\".concat(g.messageSubject)),t,!1),(0,i.setValue)(s.find(\".\".concat(g.messageContent)),n,!1)}function w(){const e=$(this).parents(\".\".concat(g.wrapper)),t=e.find(\"[id$=MessageBindingFields] option:selected\").data(\"fieldname\");C(e,\"{\".concat(t,\"}\"))}function v(e){const t=e.find(\"[id$=MessageBindingFields]\");if(t.length>0){const n=t.find(\"option\"),s=(0,i.getValue)(e.find(\".\".concat(g.toWhomInput)))||p.blank,a=m.get(s);n.each(((e,t)=>{const n=t.dataset.type||p.blank,s=(null==a?void 0:a.has(n))||!1;(0,i.toggleVisible)(t,s)}))}}function C(e,t){let n;n=1==u||null==u?e.find(\".\".concat(g.messageSubject)):e.find(\".\".concat(g.messageContent)),(0,a.insertTextToken)(n,t,!0)}function b(){const e=$(this),t=e.find(\".\".concat(g.messageText)),n=e.find(\".\".concat(g.messageTextCollapseExpandButton));if(t.hasClass(g.messageTextCollapsed)){const e=Math.round(t.outerWidth()){n.r(t),n.d(t,{getSvg:()=>c,swapSvg:()=>r});const s={forceReload:function(){const e=this[0].querySelector(\"use\");e.setAttributeNS(o,\"href\",e.getAttributeNS(o,\"href\"))}};(0,n(2214).registerEvents)(\"svg\",s);const a=window.skyward,i=\"http://www.w3.org/2000/svg\",o=\"http://www.w3.org/1999/xlink\";function c(e,t,n){const s=function(e){const t=document.createElementNS(i,\"svg\"),n=document.createElementNS(i,\"use\");return window.parent===window?n.setAttributeNS(o,\"href\",\"\".concat(a.global.virtualDir,\"skysys/svg/spritesheet?v=2#svg-\").concat(e)):n.setAttributeNS(o,\"href\",\"#svg-\".concat(e)),t.appendChild(n),$(t)}(e);return s.addClass(e.replaceAt(0,e[0].toLowerCase())).addClass(\"svg\"),t&&s.addClass(\"svg\"+t.replaceAt(0,t[0].toUpperCase())),n&&s.css(\"fill\",n),s}function r(e,t,n){const s=c(t,n);return $(e).replaceWith(s),s}}}]);\n","import { setValue } from \"./skyward.ui.controls\";\r\n// for $.fn.selectRange\r\nimport { } from \"./skyward.base.extensions\";\r\n\r\n// This has been split out into a separate file to avoid circular dependencies with controls.ts\r\nexport function insertTextToken(controlToUpdate: JQuery, token: string | undefined | null, addSpace?: boolean, supressChangeEvent?: boolean)\r\n{\r\n controlToUpdate.trigger(\"focus\"); // edge needs focus on the element before using selectionStart and selectionEnd\r\n var originalValue = String(controlToUpdate.val());\r\n\r\n var selectionStart = controlToUpdate.prop(\"selectionStart\");\r\n var selectionEnd = controlToUpdate.prop(\"selectionEnd\") || selectionStart;\r\n var textBefore = originalValue.slice(0, selectionStart);\r\n var textAfter = originalValue.slice(selectionEnd);\r\n\r\n if (token === undefined || token === null)\r\n {\r\n token = \"\";\r\n }\r\n\r\n if (addSpace)\r\n {\r\n var lastTextBeforeChar = textBefore.charAt(textBefore.length - 1);\r\n var firstTextAfterChar = textAfter.charAt(0);\r\n if (lastTextBeforeChar !== \" \" && textBefore.length > 0)\r\n {\r\n token = \" \" + token;\r\n }\r\n\r\n if (firstTextAfterChar !== \" \" && textAfter.length > 0)\r\n {\r\n token = token += \" \";\r\n }\r\n }\r\n var newCursorPosition = selectionStart + token.length;\r\n var newValue = textBefore + token + textAfter;\r\n setValue(controlToUpdate, newValue, supressChangeEvent);\r\n controlToUpdate.selectRange(newCursorPosition);\r\n};\r\n","import { virtualDir } from \"./skyward.base.global\";\nimport { insertTextToken } from \"./skyward.base.global.text\";\nimport { getValue, setValue, toggleVisible } from \"./skyward.ui.controls\";\nimport { registerEvents } from \"./skyward.ui.events\";\nimport { swapSvg } from \"./skyward.ui.svg\";\nimport { registerLayoutResizeCallback } from \"./skyward.ui.window\";\nimport { ButtonDefinition } from \"./types\";\n\nconst skyward = window.skyward;\n\nconst objectsThatRequireShownProxies = [\"TimeOffTransactionRequest\"];\n\nconst classes =\n{\n wrapper: \"messageCenterWrapper\",\n messageCenterMode: \"MessageCenterMode\",\n messageSubjectAndContent: \"messageSubjectAndContent\",\n messageSubject: \"messageMasterSubject\",\n messageContent: \"messageMasterContent\",\n messageFromAlias: \"messageMasterFromAlias\",\n messageAllowReplies: \"messageMasterAllowReplies\",\n messageType: \"messageType\",\n messageTextHeader: \"messageTextHeader\",\n messageText: \"messageText\",\n messageTextCollapsed: \"messageTextCollapsed\",\n messageTextCollapseExpandButton: \"messageTextCollapseExpandButton\",\n notificationSubType: \"notificationSubType\",\n includeMessageBool: \"includeMessageBool\",\n insertPrimaryBindingButton: \"insertPrimaryBindingButton\",\n teacherBindingButton: \"teacherBindingButton\",\n activityBindingButton: \"activityBindingButton\",\n filterValue: \"filterValue\",\n filterProcessingListValue: \"filterProcessingListValue\",\n toWhomInput: \"jsMessageCenterToWhomCode\",\n includeRestrictedGuardians: \"js-includeRestrictedGuardians\",\n standardFilterViewer: \"js-standardFilterViewer\",\n filterViewer: \"js-filterViewer\",\n dataObjectViewer: \"dataObjectViewer\",\n workflow: \"workflow\",\n skywardContentPanel: \"skywardContentPanel\"\n};\n\nlet subjectIsSelected: boolean;\n\nconst events =\n{\n init,\n setupToggleRestrictedGuardians,\n toggleText,\n displayMessagePreview,\n showHideRegardingButton,\n setUpCarbonCopyOptionFilter\n};\n\n// MessageMaster.ToWhoms\nconst toWhoms = Object.freeze(\n{\n blank: \"B\",\n guardians: \"G\",\n students: \"S\",\n staff: \"T\",\n employee: \"E\",\n users: \"U\",\n applicants: \"A\",\n activityPersonnel: \"P\"\n});\n\n// Controls which insert fields appear for the respective message recipient type for Activity and Teacher access.\n// The Map keys are the recipients. The Sets are the insert field types to show.\nconst allowedInsertFields = new Map([\n [toWhoms.blank, new Set(toWhoms.blank)],\n [toWhoms.students, new Set(toWhoms.students)],\n [toWhoms.guardians, new Set([toWhoms.students, toWhoms.guardians])],\n [toWhoms.activityPersonnel, new Set([toWhoms.activityPersonnel])]\n]);\n\nregisterEvents(\"messagecenter\", events);\nregisterLayoutResizeCallback(showHideRegardingButtonOnWindowResize);\n\nexport function resetTemplate(button: HTMLElement, defaultSubject: string, defaultContent: string)\n{\n const container = $(button).closest(`.${classes.wrapper}`);\n setValue(container.find(`.${classes.messageSubject}`), defaultSubject, false);\n setValue(container.find(`.${classes.messageContent}`), defaultContent, false);\n}\n\nfunction init(this: HTMLElement)\n{\n const messageCenterWrapper = $(this);\n messageCenterWrapper.find(`.${classes.teacherBindingButton}, .${classes.activityBindingButton}`).on(\"click\", insertMessageField);\n\n messageCenterWrapper.find(`.${classes.messageSubject}`).on(\"click focus\", function () { subjectIsSelected = true; });\n messageCenterWrapper.find(`.${classes.messageContent}`).on(\"click focus\", function () { subjectIsSelected = false; });\n SetMessageBindingOptions(messageCenterWrapper);\n\n if (messageCenterWrapper.find(`.${classes.messageSubjectAndContent}`).length === 0)\n {\n messageCenterWrapper.each(function () { initOldSxlControls($(this)); });\n }\n}\n\n// TODO: screens that rely on initOldSxlControls should probably call initOldSxlControls instead of calling init directly, or better yet, just updated to use the new MessageSubjectAndContent viewpart\nfunction initOldSxlControls(messageCenterWrapper: JQuery)\n{\n const messageCenterObject = messageCenterWrapper.find(`.${classes.messageCenterMode}`);\n const renderProxies = objectsThatRequireShownProxies.indexOf(getValue(messageCenterObject)) !== -1;\n\n messageCenterWrapper.find(`.${classes.toWhomInput}`).on(\"change.recipient\", function ()\n {\n const toWhomComboBox = $(this);\n if (!toWhomComboBox.attr(\"disabled\"))\n {\n resetMessageToWhom(messageCenterWrapper);\n }\n SetMessageBindingOptions(messageCenterWrapper);\n });\n messageCenterWrapper.find(`.${classes.insertPrimaryBindingButton}`).on(\"click.insertBinding\", function ()\n {\n let selectedToWhomOption = messageCenterWrapper.find(`.${classes.toWhomInput}`).find(\"option:selected\");\n if (selectedToWhomOption.length === 0)\n {\n selectedToWhomOption = messageCenterWrapper;\n }\n const toWhomData = selectedToWhomOption.data();\n openInsertBindingView(messageCenterWrapper, toWhomData.module, toWhomData.object, $(this), renderProxies);\n });\n}\n\nfunction resetMessageToWhom(container: JQuery)\n{\n //Clear Subject and Content\n setValue(container.find(`.${classes.messageSubject}`), \"\");\n setValue(container.find(`.${classes.messageContent}`), \"\");\n}\n\nfunction openInsertBindingView(container: JQuery, dataModule: string, dataObject: string, anchorToElement: JQuery, renderProxies: boolean)\n{\n const options =\n {\n anchorTo: anchorToElement,\n renderProxies: renderProxies,\n removeBaseFromBinding: true,\n onGetBinding: function (binding?: string) { insertBinding(container, binding); }\n };\n\n skyward.binding.openBindingDialog(dataModule, dataObject, options);\n}\n\nfunction insertMessageField(this: HTMLElement)\n{\n const container = $(this).parents(`.${classes.wrapper}`);\n\n const fieldName = container.find(\"[id$=MessageBindingFields] option:selected\").data(\"fieldname\");\n\n insertBinding(container, `{${fieldName}}`);\n}\n\nfunction displayMessagePreview(this: HTMLElement, _event: JQuery.ClickEvent)\n{\n const previewButton = $(this);\n const buttonData = previewButton.data();\n\n const messageCenterWrapper = previewButton.parents(`.${classes.wrapper}`);\n const wrapperData = messageCenterWrapper.data();\n\n const messageCenterObject = getValue(messageCenterWrapper.find(`.${classes.messageCenterMode}`));\n\n const subject = getValue(messageCenterWrapper.find(`.${classes.messageSubject}`));\n const content = getValue(messageCenterWrapper.find(`.${classes.messageContent}`));\n\n const fromAlias = getValue(messageCenterWrapper.find(`.${classes.messageFromAlias}`));\n const recipientTypeValue = getValue(messageCenterWrapper.find(`.${classes.toWhomInput}`));\n\n let filterWrapper = messageCenterWrapper;\n\n const filterSelector = wrapperData.filterselector;\n\n if (filterSelector)\n {\n filterWrapper = $(filterSelector);\n }\n\n const filter = getValue(filterWrapper.find(`.${classes.standardFilterViewer}, .${classes.filterViewer}`))\n\n const includeAutoGeneratedMessage = getValue(messageCenterWrapper.find(`.${classes.includeMessageBool}`));\n\n const allowRepliesInput = messageCenterWrapper.find(`.${classes.messageAllowReplies}`);\n const allowReplies = allowRepliesInput ? getValue(allowRepliesInput) : false;\n\n const includeRestrictedGuardiansInput = messageCenterWrapper.find(`.${classes.includeRestrictedGuardians} .checkbox`);\n const includeRestrictedGuardians = includeRestrictedGuardiansInput ? getValue(includeRestrictedGuardiansInput) : false;\n\n const type = getValue(messageCenterWrapper.find(`.${classes.messageType}`));\n const notificationSubType = getValue(messageCenterWrapper.find(`.${classes.notificationSubType}`));\n\n const workflowInfoInput = this.closest(`.${classes.workflow}.${classes.skywardContentPanel}`);\n const detailsScreenInfoInput = this.closest(`.${classes.dataObjectViewer}`);\n const locationElement = workflowInfoInput ? workflowInfoInput : detailsScreenInfoInput;\n const locationData = locationElement ? $(locationElement).data() : {};\n\n let actionPath: string;\n\n const previewActionPopupModulePath = wrapperData.previewactionpopupmodulepath;\n\n if (buttonData.previewAction)\n {\n actionPath = buttonData.previewAction;\n }\n else if (previewActionPopupModulePath)\n {\n // Used in applicant tracking, this should be removed when it gets updated to use the MessageSubjectAndContent viewpart\n actionPath = previewActionPopupModulePath;\n }\n else\n {\n actionPath = `MessageCenter/MessageMaster/GetMessagePreviewPopup${messageCenterObject}`;\n }\n\n actionPath = actionPath + '/';\n\n const buildPopup = $.ajax({\n url: virtualDir + actionPath,\n type: \"POST\",\n dataType: \"viewparthtml\",\n data: {\n subject: subject,\n content: content,\n recipientType: recipientTypeValue,\n filter: filter,\n typeID: type,\n notificationSubType: notificationSubType,\n securityScreen: locationData.screen,\n allowReplies: allowReplies,\n includeAutoGeneratedMessage: includeAutoGeneratedMessage,\n fromAlias: fromAlias,\n extrafilterjson: JSON.stringify(wrapperData.extrafilterjson),\n extrafilterjsonhash: wrapperData.extrafilterjsonhash,\n includeRestrictedGuardians: includeRestrictedGuardians\n }\n });\n\n skyward.modalLayer.showDialog(\"Preview Message\", buildPopup, { text: \"Close\", icon: \"Check\" } as ButtonDefinition, { anchorTo: this, automationID: \"message-preview-dialog\" });\n}\n\nfunction toggleText(this: HTMLElement, event: JQuery.ClickEvent)\n{\n const btn = $(this);\n const regardingDiv = btn.parents(`.${classes.messageTextHeader}`);\n const regardingText = regardingDiv.find(`.${classes.messageText}`);\n\n if (regardingText.hasClass(classes.messageTextCollapsed))\n {\n regardingText.removeClass(classes.messageTextCollapsed);\n swapSvg(btn.find(\".chevronDown \"), \"ChevronUp\");\n }\n else\n {\n regardingText.addClass(classes.messageTextCollapsed);\n swapSvg(btn.find(\".chevronUp \"), \"ChevronDown\");\n }\n\n event.stopPropagation();\n}\n\nfunction setUpCarbonCopyOptionFilter(this: HTMLElement)\n{\n const container = $(this);\n container.on(\"change dirty\", `.${classes.filterValue}, .${classes.filterProcessingListValue}`, null, skyward.promptsview.setModifiedNotification)\n .each(skyward.promptsview.setModifiedNotification);\n}\n\nfunction SetMessageBindingOptions(container: JQuery)\n{\n const comboBox = container.find(\"[id$=MessageBindingFields]\");\n if (comboBox.length > 0)\n {\n const insertFields = comboBox.find(\"option\");\n const toWhomCode = getValue(container.find(`.${classes.toWhomInput}`)) || toWhoms.blank;\n const allowedInsertFieldTypes = allowedInsertFields.get(toWhomCode);\n\n insertFields.each((_i, insertField) =>\n {\n const insertFieldType = insertField.dataset.type || toWhoms.blank;\n const isVisible = allowedInsertFieldTypes?.has(insertFieldType) || false;\n\n toggleVisible(insertField, isVisible);\n });\n }\n}\n\nfunction insertBinding(container: JQuery, binding?: string)\n{\n let controlToUpdate;\n if (subjectIsSelected == true || subjectIsSelected == undefined)\n {\n controlToUpdate = container.find(`.${classes.messageSubject}`);\n }\n else\n {\n controlToUpdate = container.find(`.${classes.messageContent}`);\n }\n\n insertTextToken(controlToUpdate as JQuery, binding, true);\n}\n\nfunction showHideRegardingButton(this: HTMLElement)\n{\n const div = $(this);\n const text = div.find(`.${classes.messageText}`);\n const button = div.find(`.${classes.messageTextCollapseExpandButton}`);\n\n if (text.hasClass(classes.messageTextCollapsed))\n {\n const textLargerThanOneLine = Math.round(text.outerWidth()!) < Math.round(text[0].scrollWidth);\n button.toggle(textLargerThanOneLine);\n }\n\n}\n\nfunction showHideRegardingButtonOnWindowResize()\n{\n $(`.${classes.messageTextHeader}`).each(function ()\n {\n showHideRegardingButton.call(this);\n });\n}\n\nfunction setupToggleRestrictedGuardians(context: JQuery)\n{\n const wrapper = context.closest(`.${classes.wrapper}`);\n if (wrapper)\n {\n const includeRestrictedGuardiansFS = wrapper.find(`.${classes.includeRestrictedGuardians}`);\n if (includeRestrictedGuardiansFS)\n {\n context.on(\"change\", function ()\n {\n const input = $(this);\n // Used for if the input is the CC Guardians check box\n const value = getValue(input);\n // Used for if the input is the Student Direct Message primary recipient combo box\n const toWhom = input.find(\"option:selected\").data(\"toWhom\");\n\n const guardianValueSelected = value === true || toWhom === toWhoms.guardians;\n\n toggleVisible(includeRestrictedGuardiansFS, guardianValueSelected)\n });\n }\n }\n}","import { registerEvents } from \"./skyward.ui.events\";\nimport { JQueryInput } from \"./types\";\nimport { Key, IconType } from \"./types/skyward/svg\";\n\nconst events =\n{\n forceReload\n};\n\nregisterEvents(\"svg\", events);\n\nconst skyward = window.skyward;\n\nconst svgNS = \"http://www.w3.org/2000/svg\";\nconst xlinkNS = \"http://www.w3.org/1999/xlink\";\n\nfunction createSvg(key: Key)\n{\n //Necessary because jQuery doesn't play nicely with SVGs\n // var svg = document.createElementNS(svgNS, \"svg\");\n // var use = document.createElementNS(svgNS, \"use\");\n // Cross-origin tags are completely forbidden - CSP and CORS don't apply, they're just blocked.\n // For iframes without sandbox=allow-same-origin, iframeListener.js will download the spritesheet and add it to the document.\n const svg = document.createElementNS(svgNS, \"svg\");\n const use = document.createElementNS(svgNS, \"use\");\n\n if (window.parent === window)\n {\n use.setAttributeNS(xlinkNS, \"href\", `${skyward.global.virtualDir}skysys/svg/spritesheet?v=2#svg-${key}`);\n }\n else\n {\n use.setAttributeNS(xlinkNS, \"href\", `#svg-${key}`);\n }\n svg.appendChild(use);\n return $(svg);\n}\n\nexport function getSvg(key: Key, type?: IconType, fillColor?: string)\n{\n const svg = createSvg(key);\n svg.addClass(key.replaceAt(0, key[0].toLowerCase())).addClass(\"svg\");\n\n if (type)\n {\n svg.addClass(\"svg\" + type.replaceAt(0, type[0].toUpperCase()));\n }\n\n if (fillColor)\n {\n svg.css('fill', fillColor);\n }\n\n return svg;\n}\n\nexport function swapSvg(elementToReplace: JQueryInput | JQuery, newSvgName: Key, newSvgType?: IconType)\n{\n const svg = getSvg(newSvgName, newSvgType);\n $(elementToReplace as any).replaceWith(svg);\n return svg;\n}\n\nfunction forceReload(this: JQuery)\n{\n const use = this[0].querySelector(\"use\")!;\n use.setAttributeNS(xlinkNS, \"href\", use.getAttributeNS(xlinkNS, \"href\")!);\n}\n"]}