YetiForceCompany/YetiForceCRM

View on GitHub
public_html/layouts/basic/modules/MailIntegration/resources/Iframe.min.js.map

Summary

Maintainability
Test Coverage
{"version":3,"file":"Iframe.min.js","sources":["Iframe.js"],"sourcesContent":["/* {[The file is published on the basis of YetiForce Public License 6.5 that can be found in the following directory: licenses/LicenseEN.txt or yetiforce.com]} */\n'use strict';\n\nwindow.MailIntegration_Iframe = {\n\tmailId: 0,\n\tcontainer: {},\n\tiframe: {},\n\tiframeWindow: {},\n\tmoduleSelect: {},\n\taddRecordBtn: {},\n\tloaderParams: {\n\t\tblockInfo: { enabled: true },\n\t\tmessage: false\n\t},\n\t/**\n\t * AppConnector wrapper\n\t *\n\t * @param   {object}  request\n\t *\n\t * @return  {object}           AppConnector object with done method\n\t */\n\tconnector(request) {\n\t\treturn AppConnector.request(request).fail((error) => {\n\t\t\tthis.hideIframeLoader();\n\t\t\tthis.showResponseMessage(false);\n\t\t});\n\t},\n\t/**\n\t * Show response message\n\t *\n\t * @param   {boolean}  success\n\t * @param   {string}  message\n\t */\n\tshowResponseMessage(success, message = '') {\n\t\tif (success) {\n\t\t\tthis.mailItem.notificationMessages.replaceAsync('information', {\n\t\t\t\ttype: 'informationalMessage',\n\t\t\t\tmessage: message,\n\t\t\t\ticon: 'iconid',\n\t\t\t\tpersistent: false\n\t\t\t});\n\t\t} else {\n\t\t\tthis.mailItem.notificationMessages.replaceAsync('error', {\n\t\t\t\ttype: 'errorMessage',\n\t\t\t\tmessage: app.vtranslate('JS_ERROR') + ' ' + message\n\t\t\t});\n\t\t}\n\t},\n\t/**\n\t * Register list item events\n\t */\n\tregisterListItemEvents() {\n\t\tthis.container.on('click', '.js-list-item-click', this.onClickListItem.bind(this));\n\t\t$(document).on('click', '.popover a', this.onClickLink.bind(this));\n\t\tthis.container.on('click', '.js-add-related-record', this.onClickQuickCreateBtn.bind(this));\n\t\tthis.container.on('click', '.js-remove-record', this.onClickDeleteRelation.bind(this));\n\t},\n\t/**\n\t * On ListItem click actions\n\t *\n\t * @param   {[type]}  event  [event description]\n\t *\n\t * @return  {[type]}         [return description]\n\t */\n\tonClickListItem(event) {\n\t\tlet currentTarget = $(event.currentTarget);\n\t\tthis.toggleActiveListItems(currentTarget);\n\t\tthis.onClickLink(event, currentTarget.find('.js-record-link').attr('href'));\n\t},\n\t/**\n\t * On link click\n\t *\n\t * @param   {object}  event  click event object\n\t * @param   {string}  url\n\t */\n\tonClickLink(event, url) {\n\t\tevent.preventDefault();\n\t\tif (!url) {\n\t\t\turl = $(event.currentTarget).attr('href');\n\t\t}\n\t\tthis.changeIframeSource(url);\n\t},\n\t/**\n\t * On delete relation click\n\t *\n\t * @param   {object}  event  click event\n\t */\n\tonClickDeleteRelation(event) {\n\t\tevent.stopPropagation();\n\t\tconst currentTarget = $(event.currentTarget);\n\t\tconst recordData = currentTarget.closest('.js-list-item-click').data();\n\t\tthis.connector({\n\t\t\tmodule: 'MailIntegration',\n\t\t\taction: 'Mail',\n\t\t\tmode: 'deleteRelation',\n\t\t\tmailId: this.mailId,\n\t\t\trecord: recordData.id,\n\t\t\trecordModule: recordData.module\n\t\t}).done((response) => {\n\t\t\tthis.showResponseMessage(response['success'], app.vtranslate('JS_REMOVED_RELATION_SUCCESSFULLY'));\n\t\t\tthis.reloadView(response['success']);\n\t\t});\n\t},\n\t/**\n\t * On quick create btn click\n\t *\n\t * @param   {object}  event  click event\n\t */\n\tonClickQuickCreateBtn(event) {\n\t\tevent.stopPropagation();\n\t\tconst currentTarget = $(event.currentTarget);\n\t\tconst recordData = currentTarget.closest('.js-list-item-click').data();\n\t\tconst callbackFunction = () => {\n\t\t\tthis.iframeWindow.location.reload();\n\t\t};\n\t\tlet newRecordData = {\n\t\t\tsourceModule: recordData.module,\n\t\t\tsourceRecord: recordData.id\n\t\t};\n\t\tthis.showQuickCreateForm(event.currentTarget.dataset.module, {\n\t\t\tdata: newRecordData,\n\t\t\tcallbackFunction\n\t\t});\n\t},\n\t/**\n\t * Fill new record data in quick create form\n\t *\n\t * @param   {string}  moduleName  [moduleName description]\n\t *\n\t * @return  {object}              call asyncGetMailBody which returns Promise\n\t */\n\tfillNewRecordData(moduleName) {\n\t\tconst data = {\n\t\t\temail: this.mailItem.from.emailAddress,\n\t\t\temail1: this.mailItem.from.emailAddress,\n\t\t\trelationOperation: true,\n\t\t\trelatedRecords: $.map(this.container.find('.js-list-item-click'), (record) => {\n\t\t\t\treturn { module: record.dataset.module, id: record.dataset.id };\n\t\t\t})\n\t\t};\n\t\tconst fillNameFields = (first) => {\n\t\t\tconst nameData = this.mailItem.from.displayName.split(' ');\n\t\t\tconst firstName = nameData.shift();\n\t\t\tconst lastName = nameData.join(' ');\n\t\t\treturn first ? firstName : lastName;\n\t\t};\n\t\tlet autoCompleteMap = JSON.parse(this.container.find('.js-mailAutoCompleteFields').val());\n\t\tif (autoCompleteMap && autoCompleteMap[moduleName]) {\n\t\t\tlet map = autoCompleteMap[moduleName];\n\t\t\tfor (let name in map) {\n\t\t\t\tif (map.hasOwnProperty(name) && map[name]) {\n\t\t\t\t\tswitch (map[name]) {\n\t\t\t\t\t\tcase 'fromNameFirstPart':\n\t\t\t\t\t\t\tdata[name] = fillNameFields(true);\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\tcase 'fromNameSecondPart':\n\t\t\t\t\t\t\tdata[name] = fillNameFields(false);\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\tcase 'fromName':\n\t\t\t\t\t\t\tdata[name] = this.mailItem.from.displayName;\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\tcase 'subject':\n\t\t\t\t\t\t\tdata[name] = this.mailItem.subject;\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\tcase 'email':\n\t\t\t\t\t\t\tdata[name] = this.mailItem.from.emailAddress;\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tthis.mailDetails = {};\n\t\treturn new Promise((resolve) => {\n\t\t\tthis.asyncGetMailBody().then(() => {\n\t\t\t\tdata.description = this.mailDetails.mailBody;\n\t\t\t\tresolve(data);\n\t\t\t});\n\t\t});\n\t},\n\t/**\n\t * Toggle active list items\n\t *\n\t * @param   {object}  targetListItem  jQuery\n\t */\n\ttoggleActiveListItems(targetListItem) {\n\t\ttargetListItem.siblings().removeClass('active');\n\t\ttargetListItem.addClass('active');\n\t},\n\t/**\n\t * Change iframe source\n\t *\n\t * @param   {string}  url\n\t */\n\tchangeIframeSource(url) {\n\t\tthis.iframe.attr('src', url);\n\t\tthis.showIframeLoader();\n\t},\n\t/**\n\t * Add relation\n\t *\n\t * @param   {number}  recordId\n\t * @param   {string}  moduleName\n\t */\n\taddRelation(recordId, moduleName) {\n\t\tthis.connector({\n\t\t\tmodule: 'MailIntegration',\n\t\t\taction: 'Mail',\n\t\t\tmode: 'addRelation',\n\t\t\tmailId: this.mailId,\n\t\t\trecord: recordId,\n\t\t\trecordModule: moduleName\n\t\t}).done((response) => {\n\t\t\tthis.showResponseMessage(response['success'], app.vtranslate('JS_ADDED_RELATION_SUCCESSFULLY'));\n\t\t\tthis.reloadView(response['success']);\n\t\t});\n\t},\n\t/**\n\t * Show quick create form\n\t *\n\t * @param   {string}  moduleName\n\t * @param   {object}  quickCreateParams\n\t */\n\tshowQuickCreateForm(moduleName, quickCreateParams = {}) {\n\t\tquickCreateParams = Object.assign({ noCache: true, data: {} }, quickCreateParams);\n\t\tthis.fillNewRecordData(moduleName).then((data) => {\n\t\t\tquickCreateParams.data = Object.assign(data, quickCreateParams.data);\n\t\t\tApp.Components.QuickCreate.createRecord(moduleName, quickCreateParams);\n\t\t});\n\t},\n\t/**\n\t * Register iframe events\n\t */\n\tregisterIframeEvents() {\n\t\tconst link = this.container.find('.js-list-item-click').first();\n\t\tthis.initIframeLoader();\n\t\tif (link.length) {\n\t\t\tlink.addClass('active');\n\t\t\tthis.iframe.attr('src', link.find('.js-record-link').attr('href'));\n\t\t\tthis.iframe.on('load', () => {\n\t\t\t\tthis.hideIframeLoader();\n\t\t\t});\n\t\t} else {\n\t\t\tthis.hideIframeLoader();\n\t\t}\n\t},\n\t/**\n\t * Register import click\n\t */\n\tregisterImportClick() {\n\t\tthis.container.on('click', '.js-import-mail', (e) => {\n\t\t\tthis.showIframeLoader();\n\t\t\tthis.getMailDetails().then(() => {\n\t\t\t\tthis.connector(\n\t\t\t\t\tObject.assign(\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tmodule: 'MailIntegration',\n\t\t\t\t\t\t\taction: 'Import'\n\t\t\t\t\t\t},\n\t\t\t\t\t\tthis.mailDetails,\n\t\t\t\t\t\twindow.PanelParams\n\t\t\t\t\t)\n\t\t\t\t).done((response) => {\n\t\t\t\t\tthis.hideIframeLoader();\n\t\t\t\t\tthis.showResponseMessage(response['success'], app.vtranslate('JS_IMPORT'));\n\t\t\t\t\tthis.reloadView(response['success']);\n\t\t\t\t});\n\t\t\t});\n\t\t});\n\t},\n\t/**\n\t * Get mail details\n\t *\n\t * @return  {object}  Promise\n\t */\n\tgetMailDetails() {\n\t\tlet mailItem = this.mailItem;\n\t\tif (mailItem.attachments.length > 0) {\n\t\t\tlet outputString = '';\n\t\t\tfor (let i = 0; i < mailItem.attachments.length; i++) {\n\t\t\t\tlet attachment = mailItem.attachments[i];\n\t\t\t\toutputString += '<BR>' + i + '. Name: ';\n\t\t\t\toutputString += attachment.name;\n\t\t\t\toutputString += '<BR>ID: ' + attachment.id;\n\t\t\t\toutputString += '<BR>contentType: ' + attachment.contentType;\n\t\t\t\toutputString += '<BR>size: ' + attachment.size;\n\t\t\t\toutputString += '<BR>attachmentType: ' + attachment.attachmentType;\n\t\t\t\toutputString += '<BR>isInline: ' + attachment.isInline;\n\t\t\t}\n\t\t}\n\t\tthis.mailDetails = {\n\t\t\tmailFrom: this.parseEmailAddressDetails(mailItem.from),\n\t\t\tmailSender: mailItem.sender.emailAddress,\n\t\t\tmailTo: this.parseEmailAddressDetails(mailItem.to),\n\t\t\tmailCc: this.parseEmailAddressDetails(mailItem.cc),\n\t\t\tmailMessageId: mailItem.internetMessageId,\n\t\t\tmailSubject: mailItem.subject,\n\t\t\tmailNormalizedSubject: mailItem.normalizedSubject,\n\t\t\tmailDateTimeCreated: mailItem.dateTimeCreated.toISOString()\n\t\t};\n\t\treturn this.asyncGetMailBody();\n\t},\n\t/**\n\t * Get mail body async function\n\t *\n\t * @param   {function}  callback\n\t *\n\t * @return  {object}            Promise\n\t */\n\tasyncGetMailBody() {\n\t\treturn Promise.all([\n\t\t\tnew Promise((resolve, reject) => {\n\t\t\t\tthis.mailItem.body.getAsync(Office.CoercionType.Html, (body) => {\n\t\t\t\t\tif (body.status === 'succeeded') {\n\t\t\t\t\t\tthis.mailDetails.mailBody = body.value;\n\t\t\t\t\t\tresolve(body);\n\t\t\t\t\t} else {\n\t\t\t\t\t\treject(body);\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}),\n\t\t\tnew Promise((resolve, reject) => {\n\t\t\t\tthis.mailItem.getAllInternetHeadersAsync((body) => {\n\t\t\t\t\tif (body.status === 'succeeded') {\n\t\t\t\t\t\tthis.mailDetails.mailHeaders = body.value;\n\t\t\t\t\t\tresolve(body);\n\t\t\t\t\t} else {\n\t\t\t\t\t\treject(body);\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t})\n\t\t]);\n\t},\n\t/**\n\t * Parse email address details\n\t *\n\t * @param   {object}  data\n\t *\n\t * @return  {string}        e-mail address\n\t */\n\tparseEmailAddressDetails(data) {\n\t\tlet fn = function (row) {\n\t\t\treturn row.emailAddress;\n\t\t};\n\t\tif ($.isArray(data)) {\n\t\t\tlet rows = [];\n\t\t\t$.each(data, function (index, value) {\n\t\t\t\trows[index] = fn(value);\n\t\t\t});\n\t\t\treturn rows;\n\t\t} else {\n\t\t\treturn fn(data);\n\t\t}\n\t},\n\t/**\n\t * Set iframe height\n\t */\n\tsetIframeHeight() {\n\t\tthis.iframe.height($(window).height() - this.iframe.offset().top);\n\t},\n\t/**\n\t * Show iframe loader\n\t */\n\tshowIframeLoader() {\n\t\tthis.iframeLoader.progressIndicator(this.loaderParams);\n\t},\n\t/**\n\t * Hide iframe loader\n\t */\n\thideIframeLoader() {\n\t\tthis.iframeLoader.progressIndicator({ mode: 'hide' });\n\t},\n\t/**\n\t * Init iframe loader\n\t */\n\tinitIframeLoader() {\n\t\tthis.iframeLoader = $.progressIndicator(this.loaderParams);\n\t},\n\t/**\n\t * Register modules select\n\t */\n\tregisterModulesSelect() {\n\t\tthis.moduleSelect = App.Fields.Picklist.showSelect2ElementView(this.container.find('.js-modules'));\n\t\tthis.moduleSelect.on('change', this.registerModulesSelectChange.bind(this));\n\t\tthis.container.find('.js-select-record').on('click', (e) => {\n\t\t\tlet params = {\n\t\t\t\tmodule: this.moduleSelect[0].value,\n\t\t\t\tsrc_module: 'OSSMailView'\n\t\t\t};\n\t\t\tthis.container.find('.js-list-item-click').each(function (index) {\n\t\t\t\tlet data = $(this).data();\n\t\t\t\tif (data.field == 'link' || data.field == 'process') {\n\t\t\t\t\tparams[data.field] = data.id;\n\t\t\t\t}\n\t\t\t});\n\t\t\tapp.showRecordsList(params, (_modal, instance) => {\n\t\t\t\tinstance.setSelectEvent((responseData) => {\n\t\t\t\t\tthis.addRelation(responseData.id, params.module);\n\t\t\t\t});\n\t\t\t});\n\t\t});\n\t},\n\t/**\n\t * Register modules select change\n\t */\n\tregisterModulesSelectChange() {\n\t\tif (this.moduleSelect.select2('data')[0].element.dataset.addRecord) {\n\t\t\tthis.addRecordBtn.removeClass('d-none');\n\t\t} else {\n\t\t\tthis.addRecordBtn.addClass('d-none');\n\t\t}\n\t},\n\t/**\n\t * Register add record\n\t */\n\tregisterAddRecord() {\n\t\tthis.addRecordBtn.on('click', (e) => {\n\t\t\tlet moduleName = this.moduleSelect[0].value;\n\t\t\tlet callbackFunction = ({ result }) => {\n\t\t\t\tthis.addRelation(result._recordId, moduleName);\n\t\t\t};\n\t\t\tlet quickCreateParams = { callbackFunction };\n\t\t\tthis.showQuickCreateForm(moduleName, quickCreateParams);\n\t\t});\n\t},\n\t/**\n\t * Reload view\n\t */\n\treloadView(condition) {\n\t\tif (condition) {\n\t\t\twindow.location.reload();\n\t\t}\n\t},\n\t/**\n\t * Register events\n\t */\n\tregisterEvents() {\n\t\tthis.container = $('#page');\n\t\tthis.iframe = $('#js-iframe');\n\t\tthis.iframeWindow = this.iframe[0].contentWindow;\n\t\tthis.addRecordBtn = this.container.find('.js-add-record');\n\t\tthis.mailId = this.container.find('.js-iframe-container').data('mailId');\n\t\tthis.mailItem = Office.context.mailbox.item;\n\t\tif (this.iframe.length) {\n\t\t\tthis.registerListItemEvents();\n\t\t\tthis.registerIframeEvents();\n\t\t\tthis.setIframeHeight();\n\t\t\tif (this.mailId) {\n\t\t\t\tthis.registerModulesSelect();\n\t\t\t\tthis.registerAddRecord();\n\t\t\t} else {\n\t\t\t\tthis.registerImportClick();\n\t\t\t}\n\t\t}\n\t}\n};\nwindow.App.Components.Scrollbar.active = false;\n(function ($) {\n\twindow.MailIntegration_Iframe.registerEvents();\n})($);\n"],"names":["window","MailIntegration_Iframe","mailId","container","iframe","iframeWindow","moduleSelect","addRecordBtn","loaderParams","blockInfo","enabled","message","connector","request","_this","AppConnector","fail","hideIframeLoader","showResponseMessage","success","arguments","length","mailItem","notificationMessages","replaceAsync","type","icon","persistent","app","vtranslate","registerListItemEvents","on","onClickListItem","bind","$","document","onClickLink","onClickQuickCreateBtn","onClickDeleteRelation","event","currentTarget","toggleActiveListItems","find","attr","url","preventDefault","changeIframeSource","_this2","stopPropagation","recordData","closest","data","module","action","mode","record","id","recordModule","done","response","reloadView","_this3","newRecordData","sourceModule","sourceRecord","showQuickCreateForm","dataset","callbackFunction","location","reload","fillNewRecordData","moduleName","_this4","email","from","emailAddress","email1","relationOperation","relatedRecords","map","fillNameFields","first","nameData","displayName","split","firstName","shift","lastName","join","autoCompleteMap","JSON","parse","val","name","hasOwnProperty","subject","mailDetails","Promise","resolve","asyncGetMailBody","then","description","mailBody","targetListItem","siblings","removeClass","addClass","showIframeLoader","addRelation","recordId","_this5","quickCreateParams","Object","assign","noCache","App","Components","QuickCreate","createRecord","registerIframeEvents","_this6","link","initIframeLoader","registerImportClick","_this7","getMailDetails","PanelParams","attachments","attachment","outputString","i","contentType","size","attachmentType","isInline","mailFrom","parseEmailAddressDetails","mailSender","sender","mailTo","to","mailCc","cc","mailMessageId","internetMessageId","mailSubject","mailNormalizedSubject","normalizedSubject","mailDateTimeCreated","dateTimeCreated","toISOString","_this8","all","reject","body","getAsync","Office","CoercionType","Html","status","value","getAllInternetHeadersAsync","mailHeaders","fn","row","isArray","rows","each","index","setIframeHeight","height","offset","top","iframeLoader","progressIndicator","registerModulesSelect","_this9","Fields","Picklist","showSelect2ElementView","registerModulesSelectChange","params","src_module","field","showRecordsList","_modal","instance","setSelectEvent","responseData","select2","element","addRecord","registerAddRecord","_this10","_ref","result","_recordId","condition","registerEvents","contentWindow","context","mailbox","item","Scrollbar","active"],"mappings":"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"}