Convert App To Dylib Mac
Download File ::: https://urlin.us/2thL0y
The trick after that is convincing the executable to look for the library in its new location rather than the location it was in when you linked the executable. (If you do a \"otool -L ./MyProgram.app/Contents/MacOS/MyProgram\" you will see the places where the program is looking for shared libraries, and you will see that it is not looking for your .dylib file in the Frameworks folder, yet)
Using @loader_path, the LC_ID_DYLIB field for libinternal.dylib can be set to @loader_path/InternalLib/libinternal.dylib. In other words, the path is relative to libcool.dylib instead of the executable.
If we have a library with the LC_ID_DYLIB field set to @rpath/libcool.dylib, it can be used in both scenarios without modification. Each application just needs to specify an appropriate LC_RPATH field.
Dynamic libraries on Linux have a .so extension, rather than .dylib. Library formats are also different. Mac libraries use the Mach-O format for libraries and executables, while Linux typically uses the ELF format. This leads to a need for different tools.
We can put the plugins anywhere we want in the bundle, but the best location is to put them under Contents/Plugins. When we built the Plug & Paint plugins, based on the DESTDIR variable in their .pro file, the plugins' .dylib files are in the plugins subdirectory under the plugandpaint directory. We just have to move this directory to the correct location.
All Qt GUI applications require a plugin that implements the Qt Platform Abstraction (QPA) layer in Qt. For macOS, the name of the platform plugin is libqcocoa.dylib. This file must be located within a specific subdirectory (by default, platforms) under your distribution directory. Alternatively, it is possible to adjust the search path Qt uses to find its plugins, as described below.
Check what dynamic (.dylib or .framework) versions are available of the libraries you are interested in. If you are lucky, there are private versions available, if so just link against those versions, and then copy the .framework/.dylib to the appropriate location inside your bundle using a Run Script build phase.
If there are no private builds of the libraries available, there is still a way to make them private: there is a command-line tool called install_name_tool that can patch a framework/dylib and change the install path; this way you can convert a public library into a private one. All OF apps actually do this on Mac, check the build phases of your app target, there should be a Run Script phase that copies the fmodex dylib into the MacOS folder of the application bundle, and then uses the install_name_tool to change the dylib path to @executable_path/libfmodex.dylib. Just add your own Run Script build phase to do the same with tour other dylibs/frameworks (or add new lines in this one with your stuff).
Though it seems to me that using separate executables and system() calls like this is probably a pretty slow way to do this, my guess is that it would be a lot faster (and less prone to security issues due to bringing in an entire shell every time you want to convert an image) to call a function in a shred library, if there is one available that provides the same functionality.
The issue I ran into was that I had 10 dylibs many of them mutually dependant. This means I need to write the install_name_tool process many, many times. I think I will just require the user to install fontforge, potrace and imagemagick (although most OS X versions have it by default) on their own, before using my app for now.
So after using the much appreciated help here on the forums, I was successful at loading a third-party DLL that I needed to use in my plugin on Windows. Now, I'm moving onto OSX and have a .dylib file that is effectively the equivalent of the DLL in OSX. My question is how do I properly load the .dylib on OSX for my plugin to work within AE
Ah, ok, that should make things easier. So where did you put your dylib file Same as with Windows, it needs to be in a location referenced in the path environment variable or in the location of the calling application. Easiest thing to test will probably if you put it in /usr/lib or /usr/local/lib (for global access) or /lib for the current user only.See also here: Using Dynamic Libraries
You can deploy the dylib as part of your bundle / plugin (which is a folder anyway) or in any other common folder, then use the path function from the sdk that I posted in the other thread to determine the path and put that full path into dlopen.
If you don't need runtime loading, there is also (just like on Windows with lib+dll) the option to link directly to the .dylib from within Xcode, then you only need the header file for the declaration and a path to the .dylib in the Xcode library settings.
I don't need it at runtime, but I was getting the same error from AE about my plugin being invalid. I essentially added the .dylib file to the list of dynamic libraries under the \"Link Binary With Libraries\" heading in the \"Build Phases\" tab of my bundle target. Then I added the path to the .dylib file under the \"Library Search Paths\" setting under the \"Build Settings\" tab of my target.
I do have a header file for the .dylib, and I placed it in my plugin's code. XCode built the plugin successfully, but when I went to apply it on a layer in AE, it just gave me an error that said \"Could not find entry point\", then it said \"Invalid Filter\". So, that was the same error I was receiving on the windows side. Is there anything I'm missing to make sure the .dylib loads correctly if I don't want to do run time loading
Hello All,So after using the much appreciated help here on the forums, I was successful at loading a third-party DLL that I needed to use in my plugin on Windows. Now, I'm moving onto OSX and have a .dylib file that is effectively the equivalent of the DLL in OSX. My question is how do I properly load the .dylib on OSX for my plugin to work within AEMany thanks for your time and help!Best,Arie\",\"isUseLiaRichMedia\":false,\"autoTitleLink\":\" _0.form.messageeditor.tinymceeditor:getautotitlet:ac=board-id/after-effects/thread-id/137949\",\"isGteEditorV2\":true,\"linkTooltipTexts\":{\"bareURL\":\"Bare URL\",\"unlink\":\"Unlink\",\"openLink\":\"Open link\",\"autoTitle\":\"Auto-title\"},\"elementSelector\":\"#tinyMceEditor_10d33da325247cb\",\"preLoadedAddOnAssetUrls\":[\"/html/js/lib/tinymce/4.7.13/themes/modern/theme.js\",\"/html/js/lib/tinymce/4.7.13/plugins/lists/plugin.js\",\"/html/js/lib/tinymce/4.7.13/plugins/compat3x/plugin.js\",\"/html/js/lib/tinymce/4.7.13/plugins/image/plugin.js\",\"/html/js/lib/tinymce/4.7.13/plugins/link/plugin.js\",\"/html/js/lib/tinymce/4.7.13/plugins/textcolor/plugin.js\",\"/html/js/lib/tinymce/4.7.13/plugins/table/plugin.js\",\"/html/js/lib/tinymce/4.7.13/plugins/tabfocus/plugin.js\",\"/html/js/lib/tinymce/4.7.13/plugins/paste/plugin.js\",\"/plugin/editors/tinymce/plugins/spoiler/plugin.js\",\"/plugin/editors/tinymce/plugins/spoiler/langs/en.js\",\"/plugin/editors/tinymce/plugins/insertcode/plugin.js\",\"/plugin/editors/tinymce/plugins/insertcode/langs/en.js\",\"/html/js/lib/tinymce/4.7.13/plugins/advlist/plugin.js\",\"/html/js/lib/tinymce/4.7.13/plugins/autolink/plugin.js\",\"/plugin/editors/tinymce/plugins/liarichmedia/plugin.js\",\"/plugin/editors/tinymce/plugins/liarichmedia/langs/en.js\",\"/plugin/editors/tinymce/plugins/liaexpandtoolbar/plugin.js\",\"/plugin/editors/tinymce/plugins/liaexpandtoolbar/langs/en.js\",\"/html/js/lib/tinymce/4.7.13/plugins/codesample/plugin.js\",\"/plugin/editors/tinymce/plugins/liaquote/plugin.js\",\"/plugin/editors/tinymce/plugins/liaquote/langs/en.js\",\"/plugin/editors/tinymce/plugins/liamacros/plugin.js\",\"/plugin/editors/tinymce/plugins/liamacros/langs/en.js\",\"/plugin/editors/tinymce/plugins/liafullscreendone/plugin.js\",\"/plugin/editors/tinymce/plugins/liafullscreendone/langs/en.js\",\"/html/js/lib/tinymce/4.7.13/plugins/code/plugin.js\",\"/plugin/editors/tinymce/plugins/mentions/plugin.js\",\"/plugin/editors/tinymce/plugins/mentions/langs/en.js\",\"/html/js/lib/tinymce/4.7.13/plugins/noneditable/plugin.js\",\"/plugin/editors/tinymce/plugins/emoticons/plugin.js\",\"/plugin/editors/tinymce/plugins/emoticons/langs/en.js\",\"/plugin/editors/tinymce/plugins/spellchecker/plugin.js\"],\"isOoyalaVideoEnabled\":false,\"isInlineLinkEditingEnabled\":true,\"optionsParam\":{\"messageMentionTemplate\":\"#{title}\",\"spellcheckerUrl\":\"/spellchecker/lucene\",\"useUserMentions\":true,\"toolbarSelector\":\".mce-toolbar-grp\",\"useProductMentions\":false,\"mediaUploadOptions\":{\"attachmentOverlayText\":\"Drop your files here\",\"createVideoLink\":\" _0.form.messageeditor.tinymceeditor:createvideot:ac=board-id/after-effects/thread-id/137949\",\"imageUploadSettings\":{\"validImageExts\":\"*.jpg;*.JPG;*.jpeg;*.JPEG;*.gif;*.GIF;*.png;*.PNG\",\"maxFileBytes\":10264576,\"maxImagesPerUpload\":10},\"editorOverlayText\":\"Drop your media files here\",\"copyPasteSettings\":{\"copyPasteEvent\":\"LITHIUM:liaCopyPasteImages\",\"copyPasteBatchSize\":3,\"copyPasteCss\":\"lia-copypaste-placeholder\",\"username\":\"Deleted User\"},\"videoImageTooltip\":\"\\\"Please wait while we upload and process your video. This may take a few minutes, so please check back later.\\\"\",\"enableFormActionButtonsEvent\":\"LITHIUM:enableFormActionButtons\",\"videoUploadingUrlsLink\":\" _0.form.messageeditor.tinymceeditor:videouploadingurlst:ac=board-id/after-effects/thread-id/137949\",\"isOverlayVisible\":true,\"videoEmbedThumbnail\":\"/i/skins/default/video-loading-new.gif\",\"videoStatusUpdateLink\":\" _0.form.messageeditor.tinymceeditor:videostatusupdatet:ac=board-id/after-effects/thread-id/137949\",\"token\":\"txDB00tOaPiLV7qekdI_pqMoETGHiwIsL0O16VsoEMc.\",\"defaultAlbumId\":1,\"imageFormatFeedbackErrorContainer\":\".lia-file-error-msg\",\"fileUploadSelector\":\".lia-file-upload\",\"isCanUploadImages\":false,\"videoUploadSettings\":{\"maxFileBytes\":512000000,\"validVideoExts\":\".wmv;.avi;.mov;.moov;.mpg;.mpeg;.m2t;.m2v;.vob;.flv;.mp4;.mpg4;.mkv;.asf;.m4v;.m2p;.3gp;.3g2;.f4v;.mp3;.m4a;.wma;.aac\"},\"disableFormActionButtonsEvent\":\"LITHIUM:disableFormActionButtons\",\"isOoyalaVideoEnabled\":false,\"videoEmbedSizes\":{\"small\":{\"width\":200,\"height\":150},\"original\":{\"width\":400,\"height\":300},\"large\":{\"width\":600,\"height\":450},\"medium\":{\"width\":400,\"height\":300}},\"isMobileDevice\":false,\"removeAllOverlays\":\"LITHIUM:removeAllOverlays\",\"isCanUploadVideo\":false,\"passToAttachmentEvent\":\"LITHIUM:passToAttachment\"},\"imageUrlPattern\":\" -id//image-size/v=v2&px=-1\",\"useMessageMentions\":false,\"spellcheckerLangs\":\"English (US)=en,Spanish=es,Portuguese=pt,German=de,French=fr,Arabic=ar\",\"mentionsVersion\":\"2\",\"iframeTitle\":\"Body Rich Text Area. Press ALT-F10 for toolbar and Escape to return to the editor.\",\"events\":{\"editorPasteEvent\":\"LITHIUM:editorPaste\",\"editorLoadedEvent\":\"LITHIUM:editorLoaded\"},\"useGraphicalEditor\":true}});LITHIUM.InformationBox({\"updateFeedbackEvent\":\"LITHIUM:updateAjaxFeedback\",\"componentSelector\":\"#informationbox_10d33da325247cb_36\",\"feedbackSelector\":\".InfoMessage\"});LITHIUM.Text.set({\"ajax.createUrlSnippet.loader.feedback.title\":\"Loading...\"});LITHIUM.AjaxSupport({\"ajaxOptionsParam\":{\"useLoader\":true,\"event\":\"LITHIUM:createUrlSnippet\"},\"tokenId\":\"ajax\",\"elementSelector\":\"#messagepresnippet_10d33da325247cb\",\"action\":\"createUrlSnippet\",\"feedbackSelector\":\"#messagepresnippet_10d33da325247cb\",\"url\":\" _0.form.messageeditor.messagepresnippet:createurlsnippett:ac=board-id/after-effects/thread-id/137949\",\"ajaxErrorEventName\":\"LITHIUM:ajaxError\",\"token\":\"lDebmWikTdAe_x0dqGxnMOFmFu0V537QVpRwH1R6rNE.\"});LITHIUM.MessagePreSnippet({\"pasteEvent\":\"LITHIUM:editorPaste\",\"maxUrlListSize\":10,\"snippetExistsTextClass\":\"lia-media-snippet-preview-exists\",\"tinyMceSelector\":\"#messageEditor_10d33da325247cb_0\",\"messageSnippetEvent\":\"LITHIUM:createUrlSnippet\",\"elementSelector\":\"#messagepresnippet_10d33da325247cb\",\"snippetUpdateEvent\":\"LITHIUM:updateUrlSnippet\",\"urlFormFieldSelector\":\".lia-form-media-snippet-url-input\",\"snippetCloseEvent\":\"LITHIUM:closeUrlSnippet\"});LITHIUM.BlockEvents('.lia-js-block-events', [\".lia-spoiler-link\",\".oo-icon\",\".oo-volume-bar\",\".oo-close-button\"], '.message-preview');LITHIUM.KeepSessionAlive(\"/t5/status/blankpagekeepalive\", 300000);new LITHIUM.MessageEditor({\"previewButtonSelector\":\"#previewButton_10d33da325247cb\",\"defaultTabSelector\":\".rich-link\",\"defaultTabName\":\"rich\",\"usesInlinePreview\":true,\"formHasErrorsEvent\":\"LITHIUM:formHasErrors\",\"exitPreviewButtonSelector\":\"#exitPreviewButton_10d33da325247cb\",\"isTabsPresent\":false,\"ajaxCompleteEvent\":\"LITHIUM:ajaxComplete\",\"isGteEditorV2\":true,\"previewSubmitElementSelector\":\"#submitContext_10d33da325247cb\",\"tinyMceElementSelector\":\"#tinyMceEditor_10d33da325247cb\",\"elementSelector\":\"#messageEditor_10d33da325247cb_0\",\"macroChangeEvent\":\"LITHIUM:change-macro\",\"preExitPreviewEvent\":\"LITHIUM:refreshAttachments\"});LITHIUM.MessageEditor.MessageQuote(\"#messageQuote_10d33da325247cb\", \"#tinyMceEditor_10d33da325247cb\", \" wrote:Hello All,So after using the much appreciated help here on the forums, I was successful at loading a third-party DLL that I needed to use in my plugin on Windows. Now, I'm moving onto OSX and have a .dylib file that is effectively the equivalent of the DLL in OSX. My question is how do I properly load the .dylib on OSX for my plugin to work within AEMany thanks for your time and help!Best,Arie\", true);LITHIUM.FileDragDrop({\"urls\":{\"uploadUrl\":\" _0.form.attachmentscomponent:uploadfileaction/attachments-key/a2318313-edff-4ac7-b2da-753866b170cat:ac=board-id/after-effects/thread-id/137949\"},\"selectors\":{\"container\":\"#filedragdrop_10d33da325247cb\",\"feedbackElement\":\"#dragDropFeedback .AjaxFeedback\",\"cancelUploadProgress\":\"lia-remove-attachment-inprogress\",\"fileUpload\":\"#filedragdrop_10d33da325247cb .lia-file-upload\"},\"events\":{\"uploadDoneEvent\":\"LITHIUM:uploadDone\",\"refreshAttachmentsEvent\":\"LITHIUM:refreshAttachments\",\"formHasErrorsEvent\":\"LITHIUM:formHasErrors\"},\"misc\":{\"actionTokenId\":\"uploadFile\",\"fileDataParam\":\"Filedata\",\"isEditorGteV2\":true,\"actionToken\":\"y1tdr9N0AjzacLCipEagXzcI239SZwRhyTTRKVDqDPs.\"}});LITHIUM.InformationBox({\"updateFeedbackEvent\":\"LITHIUM:updateAjaxFeedback\",\"componentSelector\":\"#informationbox_10d33da325247cb_37\",\"feedbackSelector\":\".InfoMessage\"});LITHIUM.AjaxSupport({\"ajaxOptionsParam\":{\"event\":\"LITHIUM:refreshAttachments\",\"parameters\":{\"clientId\":\"inlinemessagereplyeditor_0_10d33da325247cb\",\"attachmentKey\":\"a2318313-edff-4ac7-b2da-753866b170ca\"}},\"tokenId\":\"ajax\",\"elementSelector\":\"#inlinemessagereplyeditor_0_10d33da325247cb\",\"action\":\"refreshAttachments\",\"feedbackSelector\":\"#attachmentsComponent_10d33da325247cb\",\"url\":\" _0.form.attachmentscomponent:refreshattachmentst:ac=board-id/after-effects/thread-id/137949\",\"ajaxErrorEventName\":\"LITHIUM:ajaxError\",\"token\":\"Lk9pL_tmUHgsOtnkMfPNB6OW9D4OJX2q-8wKqhUF14A.\"});LITHIUM.AjaxSupport({\"ajaxOptionsParam\":{\"event\":\"LITHIUM:removeNewAttachment\",\"parameters\":{\"clientId\":\"inlinemessagereplyeditor_0_10d33da325247cb\",\"attachmentKey\":\"a2318313-edff-4ac7-b2da-753866b170ca\"}},\"tokenId\":\"ajax\",\"elementSelector\":\"#inlinemessagereplyeditor_0_10d33da325247cb .lia-file-upload\",\"action\":\"removeNewAttachment\",\"feedbackSelector\":\"#attachmentsComponent_10d33da325247cb\",\"url\":\" _0.form.attachmentscomponent:removenewattachmentt:ac=board-id/after-effects/thread-id/137949\",\"ajaxErrorEventName\":\"LITHIUM:ajaxError\",\"token\":\"EP45p1ppsniWvBvb2d4dPosXtl8oKDuM10vvZQzVdTc.\"});LITHIUM.AjaxSupport({\"ajaxOptionsParam\":{\"event\":\"LITHIUM:removePreviewAttachment\",\"parameters\":{\"clientId\":\"inlinemessagereplyeditor_0_10d33da325247cb\",\"attachmentKey\":\"a2318313-edff-4ac7-b2da-753866b170ca\"}},\"tokenId\":\"ajax\",\"elementSelector\":\"#inlinemessagereplyeditor_0_10d33da325247cb .lia-file-upload\",\"action\":\"removePreviewAttachment\",\"feedbackSelector\":\"#attachmentsComponent_10d33da325247cb\",\"url\":\" _0.form.attachmentscomponent:removepreviewattachmentt:ac=board-id/after-effects/thread-id/137949\",\"ajaxErrorEventName\":\"LITHIUM:ajaxError\",\"token\":\"I4uOPDWVt6vFhNSVanf-PLcJZn_QnsyWTGf_nz8t6sI.\"});LITHIUM.AjaxSupport({\"ajaxOptionsParam\":{\"event\":\"LITHIUM:removeExistingAttachment\",\"parameters\":{\"clientId\":\"inlinemessagereplyeditor_0_10d33da325247cb\",\"attachmentKey\":\"a2318313-edff-4ac7-b2da-753866b170ca\"}},\"tokenId\":\"ajax\",\"elementSelector\":\"#inlinemessagereplyeditor_0_10d33da325247cb .lia-file-upload\",\"action\":\"removeExistingAttachment\",\"feedbackSelector\":\"#attachmentsComponent_10d33da325247cb\",\"url\":\" _0.form.attachmentscomponent:removeexistingattachmentt:ac=board-id/after-effects/thread-id/137949\",\"ajaxErrorEventName\":\"LITHIUM:ajaxError\",\"token\":\"DaTXIgzAFjTVYzYDoy_1dY1YYtNfDFoE5uxFqoA23Jc.\"});LITHIUM.AjaxSupport({\"ajaxOptionsParam\":{\"event\":\"LITHIUM:removeInProgressNewAttachment\",\"parameters\":{\"clientId\":\"inlinemessagereplyeditor_0_10d33da325247cb\",\"attachmentKey\":\"a2318313-edff-4ac7-b2da-753866b170ca\"}},\"tokenId\":\"ajax\",\"elementSelector\":\"#inlinemessagereplyeditor_0_10d33da325247cb .lia-file-upload\",\"action\":\"removeInProgressNewAttachment\",\"feedbackSelector\":\"#attachmentsComponent_10d33da325247cb\",\"url\":\" _0.form.attachmentscomponent:removeinprogressnewattachmentt:ac=board-id/after-effects/thread-id/137949\",\"ajaxErrorEventName\":\"LITHIUM:ajaxError\",\"token\":\"r-cQsOjniBAKDFQfDXf9gyDZKPMtRZT90rtVq-N0YOA.\"});LITHIUM.DragDropAttachmentsComponent({\"fileSizeErrorText\":\"The file () exceeds the maximum file size. The maximum file size is 47 MB.\",\"validExts\":\"8bf, abf, abr, act, aep, afm, ai, arw, as, ase, avi, bmp, book, cel, cfc, chproj, cptx, cr2, cr3, crf, crw, css, csv, dn, dng, doc, docx, eps, epub, exif, fbx, fla, flac, flv, fm, gif, icma, icml, ico, ics, idml, indd, jpeg, jpg, jsfl, json, log, loss, lrcat, lrtemplate, m4a, mif, mov, mp3, mp4, mpg, nef, nrw, obj, odt, orf, otc, otf, pdf, pfb, pfm, pmd, png, ppj, ppt, pptx, prc, prel, prproj, ps, psb, psd, raf, raw, rtf, sbs, sbsar, sbsm, scc, ses, sesx, skp, sol, srt, srw, ssa, stl, svg, swf, tif, ttc, ttf, txt, wav, wmv, x3f, xd, xls, xlsx, xml, xmp\",\"dropZoneSelector\":\"#inlinemessagereplyeditor_0_10d33da325247cb .lia-attachments-drop-zone\",\"uploadingText\":\"Uploading...\",\"changeNumAttachmentsEvent\":\"LITHIUM:changeNumAttachments\",\"storageUnitKB\":\"KB\",\"currAttachments\":0,\"removeNewAttachmentSelector\":\"#inlinemessagereplyeditor_0_10d33da325247cb .lia-remove-attachment\",\"removeInProgressNewAttachment\":\"LITHIUM:removeInProgressNewAttachment\",\"elementSelector\":\"#inlinemessagereplyeditor_0_10d33da325247cb\",\"maxAttachments\":10,\"removeAllOverlays\":\"LITHIUM:removeAllOverlays\",\"inProgressAttachmentsContainerSelector\":\"#inlinemessagereplyeditor_0_10d33da325247cb .lia-in-progress-attachments\",\"removeExistingAttachmentEvent\":\"LITHIUM:removeExistingAttachment\",\"inputFieldSelector\":\".lia-form-type-file.lia-form-type-file-hidden\",\"dropFilesHereText\":\"attachments.overlay.text\",\"enableFormActionButtonsEvent\":\"LITHIUM:enableFormActionButtons\",\"maxFileSize\":50000000,\"tooManyAttachmentsMsg\":\"The maximum number of attachments has been reached. Maximum number of attachments allowed is: 10\",\"attachmentErrorSelector\":\"#inlinemessagereplyeditor_0_10d33da325247cb .lia-file-error-msg\",\"cancelAttachmentProgressCss\":\"lia-remove-attachment-inprogress\",\"fileUploadSelector\":\"#inlinemessagereplyeditor_0_10d33da325247cb .lia-file-upload\",\"newAttachmentSelector\":\"#inlinemessagereplyeditor_0_10d33da325247cb .lia-new-attachment\",\"attachmentsTooManyErrorSelector\":\"#inlinemessagereplyeditor_0_10d33da325247cb .lia-attachment-upload-error-many\",\"fileTypeErrorText\":\"The file type () is not supported. Valid file types are: 8bf, abf, abr, act, aep, afm, ai, arw, as, ase, avi, bmp, book, cel, cfc, chproj, cptx, cr2, cr3, crf, crw, css, csv, dn, dng, doc, docx, eps, epub, exif, fbx, fla, flac, flv, fm, gif, icma, icml, ico, ics, idml, indd, jpeg, jpg, jsfl, json, log, loss, lrcat, lrtemplate, m4a, mif, mov, mp3, mp4, mpg, nef, nrw, obj, odt, orf, otc, otf, pdf, pfb, pfm, pmd, png, ppj, ppt, pptx, prc, prel, prproj, ps, psb, psd, raf, raw, rtf, sbs, sbsar, sbsm, scc, ses, sesx, skp, sol, srt, srw, ssa, stl, svg, swf, tif, ttc, ttf, txt, wav, wmv, x3f, xd, xls, xlsx, xml, xmp.\",\"uploadDoneEvent\":\"LITHIUM:uploadDone\",\"disableFormActionButtonsEvent\":\"LITHIUM:disableFormActionButtons\",\"inProgressAttachmentSelector\":\".lia-in-progress-attachment\",\"removePreviewAttachmentEvent\":\"LITHIUM:removePreviewAttachment\",\"removeNewAttachmentEvent\":\"LITHIUM:removeNewAttachment\",\"passToAttachmentEvent\":\"LITHIUM:passToAttachment\"});LITHIUM.InformationBox({\"updateFeedbackEvent\":\"LITHIUM:updateAjaxFeedback\",\"componentSelector\":\"#informationbox_10d33da325247cb_38\",\"feedbackSelector\":\".InfoMessage\"});LITHIUM.Form.resetFieldForFocusFound();LITHIUM.Text.set({\"ajax.InlineMessageReply.loader.feedback.title\":\"Loading...\"});LITHIUM.AjaxSupport.fromForm('#form_10d33da325247cb', 'InlineMessageReply', '#ajaxFeedback_10d33da325247cb_0', 'LITHIUM:ajaxError', {\"useLoader\":false,\"ignoreFormActions\":[\"Cancel\",\"SaveDraft\"],\"event\":\"submit\",\"httpMethod\":\"POST\"}, false);LITHIUM.InputEditForm(\"form_10d33da325247cb\", {\"submitButton\":\".lia-button-Submit-action\",\"enableFormButtonEvent\":\"LITHIUM:enableFormButton\",\"warnUnsavedDataActionCssClasses\":[\"lia-form-action-ignore-unsaved-data\",\"lia-button-Cancel-action\"],\"useUnsavedDataWarning\":true,\"ignoreDisableFormDuringSubmitCssClasses\":[],\"submitOnChange\":false,\"swallowEnterEvent\":true,\"enableFormEvent\":\"LITHIUM:enableForm\",\"disableFormButtonEvent\":\"LITHIUM:disableFormButton\",\"disableFormEvent\":\"LITHIUM:disableForm\",\"unloadMessage\":\"Unsaved information will be lost.\",\"ignoreOnChangeCssClasses\":[],\"disableFormOnSubmit\":true,\"buttonWrapperSelector\":\".lia-button-wrapper\",\"showUnsavedDataWarningDataKey\":\"showUnsavedDataWarning\",\"liaBodyTagId\":\"#lia-body\"});LITHIUM.AjaxSupport({\"ajaxOptionsParam\":{\"event\":\"LITHIUM:autosaveInline\",\"parameters\":{\"clientId\":\"inlinemessagereplyeditor_0_10d33da325247cb\"}},\"tokenId\":\"ajax\",\"elementSelector\":\"#form_10d33da325247cb\",\"action\":\"autosaveInline\",\"feedbackSelector\":\"#form_10d33da325247cb\",\"url\":\" _0.form:autosaveinlinet:ac=board-id/after-effects/thread-id/137949\",\"ajaxErrorEventName\":\"LITHIUM:ajaxError\",\"token\":\"BFN0MOGZlHIB59iP3R_SyOA7_yb0neT-WjPUBNosqU0.\"});LITHIUM.InlineMessageReplyEditor({\"openEditsSelector\":\".lia-inline-message-edit\",\"ajaxFeebackSelector\":\"#inlinemessagereplyeditor_0_10d33da325247cb .lia-inline-ajax-feedback\",\"collapseEvent\":\"LITHIUM:collapseInlineMessageEditor\",\"confimationText\":\"You have other message editors open and your data inside of them might be lost. Are you sure you want to proceed\",\"topicMessageSelector\":\".lia-forum-topic-message-gte-5\",\"focusEditor\":false,\"hidePlaceholderShowFormEvent\":\"LITHIUM:hidePlaceholderShowForm\",\"formWrapperSelector\":\"#inlinemessagereplyeditor_0_10d33da325247cb .lia-form-wrapper\",\"reRenderInlineEditorEvent\":\"LITHIUM:reRenderInlineEditor\",\"ajaxBeforeSendEvent\":\"LITHIUM:ajaxBeforeSend:InlineMessageReply\",\"element\":\"input\",\"clientIdSelector\":\"#inlinemessagereplyeditor_0_10d33da325247cb\",\"loadAutosaveAction\":false,\"newPostPlaceholderSelector\":\".lia-new-post-placeholder\",\"placeholderWrapperSelector\":\"#inlinemessagereplyeditor_0_10d33da325247cb .lia-placeholder-wrapper\",\"messageId\":7861188,\"formSelector\":\"#inlinemessagereplyeditor_0_10d33da325247cb\",\"expandedClass\":\"lia-inline-message-reply-form-expanded\",\"expandedRepliesSelector\":\".lia-inline-message-reply-form-expanded\",\"newPostPlaceholderClass\":\"lia-new-post-placeholder\",\"editorLoadedEvent\":\"LITHIUM:editorLoaded\",\"replyEditorPlaceholderWrapperCssClass\":\"lia-placeholder-wrapper\",\"messageActionsClass\":\"lia-message-actions\",\"cancelButtonSelector\":\"#inlinemessagereplyeditor_0_10d33da325247cb .lia-button-Cancel-action\",\"isGteForumV5\":true,\"messageViewWrapperSelector\":\".lia-threaded-detail-display-message-view\",\"disabledReplyClass\":\"lia-inline-message-reply-disabled-reply\"});LITHIUM.Text.set({\"ajax.reRenderInlineEditor.loader.feedback.title\":\"Loading...\"});LITHIUM.AjaxSupport({\"ajaxOptionsParam\":{\"useLoader\":true,\"blockUI\":\"\",\"event\":\"LITHIUM:reRenderInlineEditor\",\"parameters\":{\"clientId\":\"inlinemessagereplyeditor_0_10d33da325247cb\"}},\"tokenId\":\"ajax\",\"elementSelector\":\"#inlinemessagereplyeditor_0_10d33da325247cb\",\"action\":\"reRenderInlineEditor\",\"feedbackSelector\":\"#inlinemessagereplyeditor_0_10d33da325247cb\",\"url\":\" _0:rerenderinlineeditort:ac=board-id/after-effects/thread-id/137949\",\"ajaxErrorEventName\":\"LITHIUM:ajaxError\",\"token\":\"XvLavJ7zVYD-9jDXgWcez3e5cj7rAfWClzr_4u5PMNk.\"});LITHIUM.InlineMessageEditor({\"ajaxFeebackSelector\":\"#inlinemessagereplyeditor_0_10d33da325247cb .lia-inline-ajax-feedback\",\"submitButtonSelector\":\"#inlinemessagereplyeditor_0_10d33da325247cb .lia-button-Submit-action\"});LITHIUM.AjaxSupport({\"ajaxOptionsParam\":{\"event\":\"LITHIUM:lazyLoadComponent\",\"parameters\":{\"componentId\":\"messages.widget.emoticons-lazy-load-runner\"}},\"tokenId\":\"ajax\",\"elementSelector\":\"#inlinemessagereplyeditor_0_10d33da325247cb\",\"action\":\"lazyLoadComponent\",\"feedbackSelector\":false,\"url\":\" _0:lazyloadcomponentt:ac=board-id/after-effects/thread-id/137949\",\"ajaxErrorEventName\":\"LITHIUM:ajaxError\",\"token\":\"0AfzHwHM65EJM4Ii6OyOho_mcuvhLcZx8mlhu2X6pLY.\"});LITHIUM.lazyLoadComponent({\"selectors\":{\"elementSelector\":\"#inlinemessagereplyeditor_0_10d33da325247cb\"},\"events\":{\"lazyLoadComponentEvent\":\"LITHIUM:lazyLoadComponent\"},\"misc\":{\"isLazyLoadEnabled\":true}});;(function($){try{ const RESOURCE_LINK = 'Community: resourcesLinkClick'; const RESOURCE_EDIT = 'Community: resourcesEditClick'; const RESOURCE_ADD_GROUP = 'Community: resourcesAddGroupClick'; const RESOURCE_ADD_LINK = 'Community: resourcesAddLinkClick'; const RESOURCE_EDIT_GROUP = 'Community: resourcesEditGroup'; const RESOURCE_EDIT_LINK = 'Community: resourcesEditLink'; const RESOURCE_DELETE_GROUP = 'Community: resourcesDeleteGroup'; const RESOURCE_DELETE_LINK = 'Community: resourcesDeleteLink'; if($('.resources-container').length > 0){ $('.links-list-item-title-url-container .list-link').on('click', function(e) { trackResourceEvents(e.currentTarget,RESOURCE_LINK,true,true); }); $('.resources-header-edit-icon').on('click',function(e){ trackResourceEvents(null,RESOURCE_EDIT,false,false); }); $('.add-group-container').on('click',function(e){ trackResourceEvents(null,RESOURCE_ADD_GROUP,false,false); }); $(document).on('click', '.group-form .add-link', function(e){ trackResourceEvents(null,RESOURCE_ADD_LINK,false,false); }); $(document).on('click', '.group-list-item .group-edit-button', function(e){ trackResourceEvents(e.currentTarget,RESOURCE_EDIT_GROUP,true,false); }); $(document).on('click', '.group-list-item .group-delete-button', function(e){ trackResourceEvents(e.currentTarget,RESOURCE_DELETE_GROUP,true,false); }); $(document).on('click', '.saved-link__edit', function(e){ trackResourceEvents(e.currentTarget,RESOURCE_EDIT_LINK,true,true); }); $(document).on('click', '.saved-link__delete', function(e){ trackResourceEvents(e.currentTarget,RESOURCE_DELETE_LINK,true,true); }); }} catch(ex) { console.log(ex); }})(LITHIUM.jQuery); ;(function($){try{const CC_LINKS_TYPE={ '0': 'GetAppsBanner', '1': 'GetApps', '2': 'InstallTheApp', '3': 'LaunchTheExperience', '4': 'ManageAccount'}; const CONVERSATION_FLAG_TYPE={ '-1': '', '0': 'Top Reply', '1': 'Correct Answer', '2': 'Featured', '3': 'Announcement', '4': 'Pinned Reply'}; const PAGE_NAME='digitalData.page.pageInfo.pageName';const LANGUAGE='digitalData.page.pageInfo.language';const SITE_SECTION='digitalData.page.pageInfo.siteSection';const COMMUNITY_CATEGORY='digitalData.community.communityInfo.communityCategory';const COMMUNITY_ID='digitalData.community.communityInfo.communityId';const COMMUNITY_TITLE='digitalData.community.communityInfo.communityTitle'; const CONVERSATION_PAGE='Community: conversationPage';//evar203 mapped variablesconst CARD_CREATED_DATE='digitalData.community.communityAttributes.cardCreatedDate';const COUNT_CORRECT_ANSWER='digitalData.community.communityAttributes.countCorrectAnswer';const COMMUNITY_FLAG='digitalData.community.communityInfo.communityFlag'; const COUNT_REPLY='digitalData.community.communityAttributes.countReply'; const RELATED_CONVERSATION_ACTION='relatedConversationClick';const COMMUNITY_DD_PROPERTY='digitalData.community';const CONVERSATION_REPORT='Community: conversationReportClick';const REPLY_REPORT='Community: repliesReportClick';const MARKED_CORRECT='Community: Marked as Correct';const UNMARKED_CORRECT='Community: UnMarked as Correct';const REPLY_MARKED_CORRECT='replyMarkedCorrect';const REPLY_UNMARKED_CORRECT='replyUnmarkedCorrect';const CONVERSATION_FOLLOW='Community: conversationFollowClick';const REPLY_FOLLOW='Community: repliesFollowClick';const CONVERSATION_UNFOLLOW='Community: conversationUnfollowClick';const REPLY_UNFOLLOW='Community: repliesUnfollowClick';const SOPHIA_EVENTS = 'digitalData.sophiaResponse.fromPage';const CC_LINK1 = 'Community: CCD_';const CC_LINK2 = 'Click';const CC_LINK_CLICK = 'ccdLinkClick';const CC_MANAGE_ACCOUNT_CLICK = 'manageAccountLinkClick'; const REC_CONVO_FEEDBACK_SHOWN='digitalData.community.communityAttributes.recConvoFeedbackShown';const CONVERSATION_EDIT='Community: conversationEditClick';const CONVERSATION_VIEW_HISTORY='Community: conversationViewHistoryClick';const CONVERSATION_MOVE_MERGE='Community: conversationMoveMergeClick';const CONVERSATION_SPAM='Community: conversationSpamClick';const CONVERSATION_DELETE='Community: conversationDeleteClick';const CONVERSATION_BAN_USER='Community: conversationBanUserClick';const REPLY_BAN_USER='Community: repliesBanUserClick';const REPLY_SPAM='Community: repliesSpamClick';const REPLY_DELETE='Community: repliesDeleteClick';const REPLY_MOVE_MERGE='Community: repliesMoveMergeClick';const REPLY_VIEW_HISTORY='Community: repliesViewHistoryClick';const REPLY_EDIT='Community: repliesEditClick';const REPLIES_IN_RESPONSE_TO ='Community: repliesInResponseToClick';$.when(promise1).done( function () {userProfilePromise.then(trackConversationPageLoad);}); function trackConversationPageLoad() { //Conversation Page Load Tracking const subject = $('.userStrip').attr('data-message-subject');let messageUid = '7861188';const tempDD = digitalData; let boardId = normalizeBoardId('after-effects'); let community = normalizeCategoryBoardId(); let contentType = getBoardType(boardId); //track new post success trackNewPostSuccess(community, subject, messageUid); //track merge message success trackMergeSuccess(subject,community,'7861188',contentType); //recover digital data property digitalData = tempDD; const valArr = location.pathname.split('/'); let pageName; let layoutView = 'threaded'; if('ForumTopicPage' === 'IdeaPage'){ layoutView = 'linear'; //Ideas do not support threaded view so it will always be linear } let sortOrder = 'by_date_ascending'==\"by_date_ascending\"\"Earliest\":\"Latest\"; if(PAGE_LANG!=='en'){ pageName = location.hostname + ':t5:' + boardId + ':' + 'conversationPage'; } else if(valArr && valArr.length > 2) { pageName = location.hostname + ':' + valArr[1] + ':' + community + ':' + 'conversationPage'; } if(pageName) { setDigitalDataProperty(PAGE_NAME, pageName); } if(messageUid) { setDigitalDataProperty(COMMUNITY_ID, messageUid); } setDigitalDataProperty(LANGUAGE, getLocale()); setDigitalDataProperty(SITE_SECTION, CONVERSATION_PAGE); setPrimaryEvent(CONVERSATION_PAGE, 'pageload');let replyCount = 0;if($('.reply-count__text').length > 0) {replyCount = $('.reply-count__text').attr('data-reply-count'); } let status = ''; let voteCount = 0; if($('.message-status-link').length > 0) {status = $('.message-status-link')[0].innerText;} if($('#messageKudosCount_').length > 0){ voteCount = $('#messageKudosCount_')[0].getAttribute('data-upvote-count'); } const correctAnswerCount = $('.correct-answer-div').attr('data-correct-answer-count'); const creationDate = $('.roleTimestamp').attr('data-post-time'); setDigitalDataProperty(CARD_CREATED_DATE, creationDate); //setDigitalDataProperty(COUNT_REPLY, replyCountreplyCount:'0'); setDigitalDataProperty(COUNT_CORRECT_ANSWER, correctAnswerCountcorrectAnswerCount:'0'); setDigitalDataProperty(COMMUNITY_CONTENT_TYPE, contentType); setDigitalDataProperty(COMMUNITY_CATEGORY, community); setDigitalDataProperty(COMMUNITY_TITLE, subject); let solnType = $('.conversation-page-container').attr('data-solution-type'); if(parseInt(solnType) 0) { solnType = '1'; } else if($('#special-reply-pinned').length > 0) { solnType = '4'; } } solnType = CONVERSATION_FLAG_TYPE[solnType]; let flag = solnType; if($('.body-outer-container').attr('data-pin-flag') === \"true\"){ if(flag != ''){ flag = flag + ';Pinned'; }else{ flag = 'Pinned'; } } if(flag != ''){ setDigitalDataProperty(COMMUNITY_FLAG, flag); } if(document.getElementById('feedback_view_1')) { setDigitalDataProperty(REC_CONVO_FEEDBACK_SHOWN, 'true'); dnmsTrackConversationFeedback('render', 'feedback-answer', [messageUid, community, null, 'radio button']); } setDigitalDataProperty(FILTERS, [createGPSortInfoObj(sortOrder)]); setDigitalDataProperty(SOPHIA_EVENTS,[{'CampaignId': relatedConvCampaignId, 'ControlGroupId': relatedConvControlGroupId, 'VariationId': relatedConvVariationId, 'ActionBlockId': relatedConvActionBlockId}, {'CampaignId': manageAccountCampaignId, 'ControlGroupId': manageAccountControlGroupId, 'VariationId': manageAccountVariationId, 'ActionBlockId': manageAccountActionBlockId}]); captureSnapshot('state'); //dunamis api call dnmsConversationPageRender(community, replyCount, subject, getCommunityCurrentPageNum(), getConversationTags().toString(), messageUid, layoutView, flag, status, voteCount); cleanDigitalDataProperties([SOPHIA_EVENTS]); if ($('.promos-wrapper').length > 0){ let promotype = $('.promos-wrapper').attr('data-promotype'); let promosubtype = $('.promos-wrapper').attr('data-promosubtype'); dnmsPromoRender(promotype, promosubtype, community, messageUid); } //Track related conversation clickdetectRelatedConversationsLoad(); //track status update success if(localStorage.hasOwnProperty('messageStatusUpdate')){ trackStatusUpdateSuccess(); } //Track reply post success trackReplyPostSuccess(); let lsCleanUpArr = ['gpEditMessageType', 'gpEditMessagePageNum', 'gpReportMessageDetails', 'gpReportMessageType'];clearStorage(lsCleanUpArr);cleanDigitalDataProperties(['digitalData.primaryEvent.eventInfo', FILTERS]);} function getPayload(params){ var sophiaPayload = []; try{ params = params.split(\"&\"); var keyMapping = {'aid':'ActionBlockId','campid':'CampaignId', 'cid':'ContainerId','cgid':'ControlGroupId','tid':'TreatmentId','vid':'VariationId','sid':'SurfaceId'}; var sophiaMap = {}; for(let i=0;i 1 && (keys[0] in keyMapping)){ sophiaMap[keyMapping[keys[0]]] = keys[1]; } } sophiaPayload.push(sophiaMap); }catch(err){ console.log(err); } return sophiaPayload;}function trackNewPostSuccess(communityName, subject, messageUid) { const npsDD = localStorage.getItem('npsDigitalData'); if(npsDD) {const ddVal = JSON.parse(npsDD);if(subject === ddVal.community.communityInfo.communityTitle) { digitalData = ddVal; setDigitalDataProperty(COMMUNITY_ID, messageUid); dnmsNewPostSuccess(communityName, subject, messageUid, JSON.parse(npsDD).sophiaResponse); captureSnapshot('event'); cleanDigitalDataProperties([SOPHIA_EVENTS]); } localStorage.removeItem('npsDigitalData');}}function trackMergeSuccess(subject,community,messageId,contentType) { try{ const mergeMsgDD = localStorage.getItem('mergeMsgDigitalData'); if(mergeMsgDD) { const ddVal = JSON.parse(mergeMsgDD); if(messageId === ddVal.community.communityInfo.communityId) { digitalData = ddVal; setDigitalDataProperty(COMMUNITY_CATEGORY, community); setDigitalDataProperty('digitalData.community.communityInfo.communityContentTab', contentType); setDigitalDataProperty(COMMUNITY_TITLE, subject); captureSnapshot('event'); let cnvrstnIds = []; let slctdCnvrstnArr = ddVal.community.attributes.selectedConversations; for(let i=0;i 4) { let triggerBy = moveMergeTriggerDetails[0]; let cName = community; // merged to which community if(cName !== moveMergeTriggerDetails[1]){ cName = community + '' + moveMergeTriggerDetails[1]; // merged to which community from which community } let cId = messageId; let cType = moveMergeTriggerDetails[3]; //merged from which community type let msgType = moveMergeTriggerDetails[4]; let replyType = msgType!=='originalPost'msgType:null; let xArr = [cName, cId, cType, messageId+''+cnvrstnIds.toString(), replyType]; // merged to which message messages that got merged if(triggerBy === 'communityPage') { dnmsMoveMergeDeleteSuccessClick('Community','Community Controls', 'success', 'Merge', xArr); } else if(triggerBy === 'conversationPage') { dnmsMoveMergeDeleteSuccessClick('Conversation','Merge Conversation', 'click', 'Merge success', xArr); } localStorage.removeItem('moveMergeDeletetriggeredBy'); } } localStorage.removeItem('mergeMsgDigitalData'); } }catch(err){ console.log(err); }}function clearStorage(items) {for(let x=0; x 0) {$('.related-conversations-card').on('click', function(e) { if(e.target.hasAttribute('data-related-content-type')){ //section tab click events let destinationTab = e.target.getAttribute('data-related-content-type'); dnmsCPSectionTabClick(getDigitalDataProperty(COMMUNITY_CATEGORY), 'related conversation', destinationTab); setPrimaryEvent('Community: relatedConversationLabelClick', SECTION_TAB_ACTION); setDigitalDataProperty(COMMUNITY_CONTENT_TYPE, destinationTab); captureSnapshot('event'); } else{ let subject = e.target.getAttribute('data-related-conversation-subject'); let boardId = e.target.getAttribute('data-related-conversation-board'); let relatedCommContentType = getBoardType(boardId); let community = normalizeCategoryBoardId(); let target_href = e.target.href; let convo_id = e.target.getAttribute('data-related-conversation-id'); let org_convo_id = getDigitalDataProperty(COMMUNITY_ID); dnmsRelatedConversationsClick(community, target_href, org_convo_id, convo_id, \"\", subject, relatedConvCampaignId, relatedConvControlGroupId, relatedConvVariationId, relatedCommContentType); setPrimaryEvent(RELATED_CONVERSATION_CLICK, RELATED_CONVERSATION_ACTION); cleanDigitalDataProperties([COMMUNITY_DD_PROPERTY]); setDigitalDataProperty(COMMUNITY_CATEGORY, community); setDigitalDataProperty(COMMUNITY_CONTENT_TYPE,relatedCommContentType); setDigitalDataProperty(COMMUNITY_ID, convo_id); setDigitalDataProperty(COMMUNITY_TITLE, subject); setDigitalDataProperty(SOPHIA_EVENTS,[{'CampaignId': relatedConvCampaignId, 'ControlGroupId': relatedConvControlGroupId, 'VariationId': relatedConvVariationId, 'ActionBlockId': relatedConvActionBlockId}]); captureSnapshot('event'); cleanDigitalDataProperties([SOPHIA_EVENTS]); } }); }}//Track actions on conversation and repliesif($('.lia-quilt-column-main_content').length > 0) { $('.lia-quilt-column-main_content').on('click', function(e){ let targetElement = $(e.target); //Track Report if(targetElement.hasClass('report__text')) { trackReportClick(targetElement); } //Track mark correct answer if(targetElement.hasClass('lia-component-solutions-action-mark-message-as-accepted-solution')) { trackMarkUnmarkCorrectAnswer('mark correct answer', targetElement); } //Track Unmark correct answer if(targetElement.hasClass('lia-component-solutions-action-unmark-message-as-accepted-solution')) { trackMarkUnmarkCorrectAnswer('unmark correct answer', targetElement); } //Track view history click if(targetElement.hasClass('view-message-history')) { trackViewHistoryClick(targetElement); } //Track move merge click if(targetElement.hasClass('move-message')) { trackMoveMergeClick(targetElement); if(getDigitalDataProperty(COMMUNITY_CONTENT_TYPE) !== 'Discussion' ){ let authorId = $(targetElement).closest('.MessageView').find('.userStrip__link').attr('data-user-id'); if(authorId.length > 0) localStorage.setItem(\"mergeAuthor\", authorId); } } //Track delete conversation/reply click if(targetElement.hasClass('delete-message-and-replies') targetElement.hasClass('delete-message')) { trackDeleteMessageClick(targetElement); } //Track ban user click if(targetElement.hasClass('ban-user')) { trackBanUserClick(targetElement); } //Track follow click if(targetElement.hasClass('addMessageUserEmailSubscription')) { trackFollowUnfollowClick(targetElement, 'follow'); } //Track unfollow click if(targetElement.hasClass('removeMessageUserEmailSubscription')) { trackFollowUnfollowClick(targetElement, 'unfollow'); } //Track in response to if(targetElement.hasClass('lia-message-reply-in-response-to')) { setPrimaryEvent(REPLIES_IN_RESPONSE_TO, REPLY_ACTION); captureSnapshot('event'); dnmsTrackInResponseTo(getConversationPageDetails()); } });}//Track edit message clickif($('.edit-message').length > 0) { $('.edit-message').on('click', function(e){ trackEditMessageClick($(e.target)); });}//Track mark spam clickif($('.lia-component-spam-action-mark-message-as-spam').length > 0) { $('.lia-component-spam-action-mark-message-as-spam').on('click', function(e){ trackMarkSpamClick($(e.target)); });} //Track conversation page CC clicksvar ccElements = document.querySelectorAll(\".cc-links-cta-container__anchor, .cc-links-banner-p2 a button\");for (let i = 0; i < ccElements.length; i++) { if($(ccElements[i]).length) { $(ccElements[i]).on('click', function(e) { let ccType = e.currentTarget.getAttribute('data-type'); let ccurl = e.currentTarget.getAttribute('href'); if(ccType && CC_LINKS_TYPE[ccType]) { if (ccType == '4') { let primaryEvent = \"Community: ManageAccountBtn_Click\"; setPrimaryEvent(primaryEvent, CC_MANAGE_ACCOUNT_CLICK); setDigitalDataProperty(SOPHIA_EVENTS,[{'CampaignId': manageAccountCampaignId, 'ControlGroupId': manageAccountControlGroupId, 'VariationId': manageAccountVariationId, 'ActionBlockId': manageAccountActionBlockId}]); captureSnapshot('event'); cleanDigitalDataProperties([SOPHIA_EVENTS]); dnmsManageAccountEvent(getDigitalDataProperty(COMMUNITY_CATEGORY), ccurl, 'ManageAccount', 'click', 'Conversation', manageAccountCampaignId, manageAccountVariationId, manageAccountControlGroupId); } else { let primaryEvent = CC_LINK1+CC_LINKS_TYPE[ccType]+CC_LINK2; setPrimaryEvent(primaryEvent, CC_LINK_CLICK); captureSnapshot('event'); dnmsCCLinkClick(getDigitalDataProperty(COMMUNITY_CATEGORY), ccurl, CC_LINKS_TYPE[ccType], 'Conversation'); } } }); } }function trackFollowUnfollowClick(tElement, action) { let isFollowAction = action==='follow'; if(tElement.closest('.lia-thread-topic').length > 0) { setPrimaryEvent(isFollowActionCONVERSATION_FOLLOW:CONVERSATION_UNFOLLOW, CONVERSATION_ACTION); //dunamis api call dnmsConversationActionsClick(action, getConversationPageDetails()); } else { setPrimaryEvent(isFollowActionREPLY_FOLLOW:REPLY_UNFOLLOW, REPLY_ACTION); let replyType = getReplyType(tElement); if(replyType) { dnmsConversationReplyActionsClick(action, replyType, getConversationPageDetails()); } } cleanDigitalDataProperties([COMMUNITY_ATTRIBUTES]); captureSnapshot('event');}function trackBanUserClick(tElement) { if(tElement.closest('.lia-thread-topic').length > 0) { setPrimaryEvent(CONVERSATION_BAN_USER, CONVERSATION_ACTION); //dunamis api call dnmsConversationActionsClick('ban user', getConversationPageDetails()); } else { let replyType = getReplyType(tElement); if(replyType) { dnmsConversationReplyActionsClick('ban user', replyType, getConversationPageDetails()); } setPrimaryEvent(REPLY_BAN_USER, REPLY_ACTION); } cleanDigitalDataProperties([COMMUNITY_ATTRIBUTES]); captureSnapshot('event');}function trackMarkSpamClick(tElement) { if(tElement.closest('.lia-thread-topic').length > 0) { setPrimaryEvent(CONVERSATION_SPAM, CONVERSATION_ACTION); //dunamis api call let convArray = getConversationPageDetails(); dnmsConversationActionsClick('mark as spam', convArray); if(convArray.length > 1){ syncDataOnS3('Spam', convArray[1]); } } else { let replyType = getReplyType(tElement); if(replyType) { dnmsConversationReplyActionsClick('mark as spam', replyType, getConversationPageDetails()); } setPrimaryEvent(REPLY_SPAM, REPLY_ACTION); } cleanDigitalDataProperties([COMMUNITY_ATTRIBUTES]); captureSnapshot('event');}function trackDeleteMessageClick(tElement) { if(tElement.closest('.lia-thread-topic').length > 0) { setPrimaryEvent(CONVERSATION_DELETE, CONVERSATION_ACTION); //dunamis api call dnmsConversationActionsClick('delete the conversation', getConversationPageDetails()); localStorage.setItem('moveMergeDeletetriggeredBy','conversationPage:originalPost'+':'+getConversationPageDetails().toString()+':'+getDigitalDataProperty(COMMUNITY_CONTENT_TYPE)); } else { let replyType = getReplyType(tElement); if(replyType) { dnmsConversationReplyActionsClick('delete the reply', replyType, getConversationPageDetails()); localStorage.setItem('moveMergeDeletetriggeredBy','conversationPage:'+replyType+':'+getConversationPageDetails().toString()+':'+getDigitalDataProperty(COMMUNITY_CONTENT_TYPE)); } setPrimaryEvent(REPLY_DELETE, REPLY_ACTION); } cleanDigitalDataProperties([COMMUNITY_ATTRIBUTES]); captureSnapshot('event');}function trackMoveMergeClick(tElement) { localStorage.setItem(\"movingConversationId\", getDigitalDataProperty(COMMUNITY_ID)); if(tElement.closest('.lia-thread-topic').length > 0) { setPrimaryEvent(CONVERSATION_MOVE_MERGE, CONVERSATION_ACTION); //dunamis api call dnmsConversationActionsClick('move/merge the conversation', getConversationPageDetails()); localStorage.setItem('moveMergeDeletetriggeredBy','conversationPage:originalPost'+':'+getConversationPageDetails().toString()+':'+getDigitalDataProperty(COMMUNITY_CONTENT_TYPE)); } else { let replyType = getReplyType(tElement); if(replyType) { dnmsConversationReplyActionsClick('move/merge the conversation', replyType, getConversationPageDetails()); localStorage.setItem('moveMergeDeletetriggeredBy','conversationPage:'+replyType+':'+getConversationPageDetails().toString()+':'+getDigitalDataProperty(COMMUNITY_CONTENT_TYPE)); } setPrimaryEvent(REPLY_MOVE_MERGE, REPLY_ACTION); } cleanDigitalDataProperties([COMMUNITY_ATTRIBUTES]); captureSnapshot('event');}function trackViewHistoryClick(tElement) { if(tElement.closest('.lia-thread-topic').length > 0) { setPrimaryEvent(CONVERSATION_VIEW_HISTORY, CONVERSATION_ACTION); //dunamis api call dnmsConversationActionsClick('view history', getConversationPageDetails()); } else { let replyType = getReplyType(tElement); if(replyType) { dnmsConversationReplyActionsClick('view history', replyType, getConversationPageDetails()); } setPrimaryEvent(REPLY_VIEW_HISTORY, REPLY_ACTION); } cleanDigitalDataProperties([COMMUNITY_ATTRIBUTES]); captureSnapshot('event');}function trackEditMessageClick(tElement) { if(tElement.closest('.lia-thread-topic').length > 0) { setPrimaryEvent(CONVERSATION_EDIT, CONVERSATION_ACTION); //dunamis api call dnmsConversationActionsClick('edit message', getConversationPageDetails()); localStorage.setItem('gpEditMessagePageNum', getCommunityCurrentPageNum()); } else { let replyType = getReplyType(tElement); if(replyType) { localStorage.setItem('gpEditMessagePageNum', getCommunityCurrentPageNum()); dnmsConversationReplyActionsClick('edit message', replyType, getConversationPageDetails()); localStorage.setItem('gpEditMessageType', replyType); } setPrimaryEvent(REPLY_EDIT, REPLY_ACTION); } cleanDigitalDataProperties([COMMUNITY_ATTRIBUTES]); captureSnapshot('event');}function trackReportClick(tElement) { let tempConversationPageDetails = getConversationPageDetails(); tempConversationPageDetails[2] = encodeURIComponent(tempConversationPageDetails[2]); localStorage.setItem('gpReportMessageDetails', tempConversationPageDetails); if(tElement.closest('.lia-thread-topic').length > 0) { setPrimaryEvent(CONVERSATION_REPORT, CONVERSATION_ACTION); //dunamis api call dnmsConversationActionsClick('report', getConversationPageDetails()); } else { let replyType = getReplyType(tElement); if(replyType) { dnmsConversationReplyActionsClick('report', replyType, getConversationPageDetails()); localStorage.setItem('gpReportMessageType', replyType); } setPrimaryEvent(REPLY_REPORT, REPLY_ACTION); } cleanDigitalDataProperties([COMMUNITY_ATTRIBUTES]); captureSnapshot('event');}function trackMarkUnmarkCorrectAnswer(action, tElement) { let correctFlag = action==='mark correct answer'; setPrimaryEvent(correctFlagMARKED_CORRECT:UNMARKED_CORRECT, correctFlagREPLY_MARKED_CORRECT:REPLY_UNMARKED_CORRECT); cleanDigitalDataProperties([COMMUNITY_ATTRIBUTES]); convDetails = getConversationPageDetails(); if(correctFlag){ convDetails = setSophiaPayload(convDetails); } captureSnapshot('event'); let replyType = getReplyType(tElement); if(replyType) { dnmsConversationReplyActionsClick(action, replyType, convDetails); } cleanDigitalDataProperties([SOPHIA_EVENTS]);}function detectRelatedConversationsLoad() { if($('.personalised-related-conversations').length > 0){ let targetNode = $('.personalised-related-conversations')[0]; let config = { childList: true }; let callback = function(mutationsList, observer) { for(let i=0; i 0) { status = $('.message-status-link')[0].innerText; } dnmsConversationStatusUpdate('success',getConversationPageDetails(), comment, status); setPrimaryEvent('Community: StatusChanged'+status.replace(' ',''),'conversationStatusUpdated'); setDigitalDataProperty(PRIMARY_FILTER, createGPFilterInfoObj(status, 'statusChange')); captureSnapshot('event'); localStorage.removeItem('messageStatusUpdate'); cleanDigitalDataProperties([PRIMARY_FILTER, FILTERS]); } catch(e){ console.log(e); }}function isReplyBodyEmpty() { let result = false; let xNode;if($('.mce-edit-area').length > 0 && $('.mce-edit-area').children().length > 0) { let mceEditAreaiFrames = $('.mce-edit-area').children(); for(let i=0; i 0 && (content[0].hasAttribute('data-mce-bogus') tinymce.innerHTML === ' 153554b96e