{"version":3,"sources":["webpack:///./js/matterhorn/ui/dialog.css","webpack:///../node_modules/css-loader/dist/runtime/api.js","webpack:///../node_modules/css-loader/dist/runtime/cssWithMappingToString.js","webpack:///./js/matterhorn/addBrAfterSemicolon.js","webpack:///./js/matterhorn/client-routes.js","webpack:///./js/matterhorn/globals.js","webpack:///./js/matterhorn/popup-message.js","webpack:///./js/matterhorn/transactions/base.js","webpack:///./js/matterhorn/views/transactions/show/table_header.ejs","webpack:///./js/matterhorn/transactions/show.js","webpack:///./js/matterhorn/ui/DatePicker.js","webpack:///./js/matterhorn/ui/dataset.js","webpack:///./js/matterhorn/ui/date-picker-defaults.js","webpack:///./js/matterhorn/ui/dialog.css?48bb","webpack:///./js/matterhorn/ui/dialog.js","webpack:///./js/matterhorn/util/date-utils.js","webpack:///./js/matterhorn/util/safeFrameContents.js","webpack:///./js/noty-defaults.js","webpack:///./js/matterhorn/views/common/section-description.ejs","webpack:///./js/matterhorn/views/transactions/common/field-value.ejs","webpack:///../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js"],"names":[],"mappings":"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","file":"191-81b55dfd36df6c28bc51.min.js","sourcesContent":["// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/cssWithMappingToString.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".mh-dialog-wrapper {\\n position: absolute;\\n overflow: auto;\\n left: 0;\\n right: 0;\\n bottom: 0;\\n top: 0;\\n display: flex;\\n align-items: center;\\n justify-content: center;\\n z-index: 1000;\\n background-color: rgba(0, 0, 0, 0.3);\\n}\\n\\n.mh-dialog {\\n width: 600px;\\n height: 300px;\\n border: solid 2px #c5c5c5;\\n display: flex;\\n flex-direction: column;\\n background-color: #e5ecf6;\\n border-radius: 5px;\\n}\\n\\n.mh-dialog.resizable {\\n resize: both;\\n overflow: hidden;\\n}\\n\\n.mh-dialog-title-bar {\\n background-color: #e9e9e9;\\n text-align: center;\\n padding: 5px;\\n color: #333333;\\n font-weight: bold;\\n margin: 3px;\\n border-radius: 4px;\\n border: solid 1px #dddddd;\\n line-height: 25px;\\n}\\n\\n.mh-dialog-content {\\n padding: 10px;\\n overflow: auto;\\n flex: 1;\\n /* border: solid 1px;\\n margin: 10px;*/\\n}\\n\\n.mh-dialog-buttons-bar {\\n text-align: right;\\n padding: 10px;\\n}\\n\\n.mh-dialog-buttons-bar button,\\n.mh-dialog-close {\\n background: linear-gradient(to top, #d8d8d8, #eeeeee);\\n padding: 4px 10px;\\n color: #454545;\\n margin-right: 5px;\\n cursor: pointer;\\n outline: medium none;\\n border: solid 1px #c5c5c5;\\n border-left: 1px solid #dcdcdc;\\n border-right: 1px solid #adadad;\\n border-radius: 4px;\\n}\\n\\n.mh-dialog-close {\\n float: right;\\n background-color: #f9f9f9;\\n color: #454545;\\n font-weight: bold;\\n padding: 4px 8px;\\n}\\n\\n.mh-dialog-buttons-bar button:hover,\\n.mh-dialog-close:hover {\\n color: #2b2b2b;\\n}\\n\\n.mh-dialog-buttons-bar button:active,\\n.mh-dialog-close:active {\\n background: #d4d4d4;\\n color: black;\\n}\\n\", \"\",{\"version\":3,\"sources\":[\"webpack://./js/matterhorn/ui/dialog.css\"],\"names\":[],\"mappings\":\"AAAA;EACE,kBAAkB;EAClB,cAAc;EACd,OAAO;EACP,QAAQ;EACR,SAAS;EACT,MAAM;EACN,aAAa;EACb,mBAAmB;EACnB,uBAAuB;EACvB,aAAa;EACb,oCAAoC;AACtC;;AAEA;EACE,YAAY;EACZ,aAAa;EACb,yBAAyB;EACzB,aAAa;EACb,sBAAsB;EACtB,yBAAyB;EACzB,kBAAkB;AACpB;;AAEA;EACE,YAAY;EACZ,gBAAgB;AAClB;;AAEA;EACE,yBAAyB;EACzB,kBAAkB;EAClB,YAAY;EACZ,cAAc;EACd,iBAAiB;EACjB,WAAW;EACX,kBAAkB;EAClB,yBAAyB;EACzB,iBAAiB;AACnB;;AAEA;EACE,aAAa;EACb,cAAc;EACd,OAAO;EACP;gBACc;AAChB;;AAEA;EACE,iBAAiB;EACjB,aAAa;AACf;;AAEA;;EAEE,qDAAqD;EACrD,iBAAiB;EACjB,cAAc;EACd,iBAAiB;EACjB,eAAe;EACf,oBAAoB;EACpB,yBAAyB;EACzB,8BAA8B;EAC9B,+BAA+B;EAC/B,kBAAkB;AACpB;;AAEA;EACE,YAAY;EACZ,yBAAyB;EACzB,cAAc;EACd,iBAAiB;EACjB,gBAAgB;AAClB;;AAEA;;EAEE,cAAc;AAChB;;AAEA;;EAEE,mBAAmB;EACnB,YAAY;AACd\",\"sourcesContent\":[\".mh-dialog-wrapper {\\n position: absolute;\\n overflow: auto;\\n left: 0;\\n right: 0;\\n bottom: 0;\\n top: 0;\\n display: flex;\\n align-items: center;\\n justify-content: center;\\n z-index: 1000;\\n background-color: rgba(0, 0, 0, 0.3);\\n}\\n\\n.mh-dialog {\\n width: 600px;\\n height: 300px;\\n border: solid 2px #c5c5c5;\\n display: flex;\\n flex-direction: column;\\n background-color: #e5ecf6;\\n border-radius: 5px;\\n}\\n\\n.mh-dialog.resizable {\\n resize: both;\\n overflow: hidden;\\n}\\n\\n.mh-dialog-title-bar {\\n background-color: #e9e9e9;\\n text-align: center;\\n padding: 5px;\\n color: #333333;\\n font-weight: bold;\\n margin: 3px;\\n border-radius: 4px;\\n border: solid 1px #dddddd;\\n line-height: 25px;\\n}\\n\\n.mh-dialog-content {\\n padding: 10px;\\n overflow: auto;\\n flex: 1;\\n /* border: solid 1px;\\n margin: 10px;*/\\n}\\n\\n.mh-dialog-buttons-bar {\\n text-align: right;\\n padding: 10px;\\n}\\n\\n.mh-dialog-buttons-bar button,\\n.mh-dialog-close {\\n background: linear-gradient(to top, #d8d8d8, #eeeeee);\\n padding: 4px 10px;\\n color: #454545;\\n margin-right: 5px;\\n cursor: pointer;\\n outline: medium none;\\n border: solid 1px #c5c5c5;\\n border-left: 1px solid #dcdcdc;\\n border-right: 1px solid #adadad;\\n border-radius: 4px;\\n}\\n\\n.mh-dialog-close {\\n float: right;\\n background-color: #f9f9f9;\\n color: #454545;\\n font-weight: bold;\\n padding: 4px 8px;\\n}\\n\\n.mh-dialog-buttons-bar button:hover,\\n.mh-dialog-close:hover {\\n color: #2b2b2b;\\n}\\n\\n.mh-dialog-buttons-bar button:active,\\n.mh-dialog-close:active {\\n background: #d4d4d4;\\n color: black;\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","\"use strict\";\n\n/*\n MIT License http://www.opensource.org/licenses/mit-license.php\n Author Tobias Koppers @sokra\n*/\n// css base code, injected by the css-loader\n// eslint-disable-next-line func-names\nmodule.exports = function (cssWithMappingToString) {\n var list = []; // return the list of modules as css string\n\n list.toString = function toString() {\n return this.map(function (item) {\n var content = cssWithMappingToString(item);\n\n if (item[2]) {\n return \"@media \".concat(item[2], \" {\").concat(content, \"}\");\n }\n\n return content;\n }).join(\"\");\n }; // import a list of modules into the list\n // eslint-disable-next-line func-names\n\n\n list.i = function (modules, mediaQuery, dedupe) {\n if (typeof modules === \"string\") {\n // eslint-disable-next-line no-param-reassign\n modules = [[null, modules, \"\"]];\n }\n\n var alreadyImportedModules = {};\n\n if (dedupe) {\n for (var i = 0; i < this.length; i++) {\n // eslint-disable-next-line prefer-destructuring\n var id = this[i][0];\n\n if (id != null) {\n alreadyImportedModules[id] = true;\n }\n }\n }\n\n for (var _i = 0; _i < modules.length; _i++) {\n var item = [].concat(modules[_i]);\n\n if (dedupe && alreadyImportedModules[item[0]]) {\n // eslint-disable-next-line no-continue\n continue;\n }\n\n if (mediaQuery) {\n if (!item[2]) {\n item[2] = mediaQuery;\n } else {\n item[2] = \"\".concat(mediaQuery, \" and \").concat(item[2]);\n }\n }\n\n list.push(item);\n }\n };\n\n return list;\n};","\"use strict\";\n\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _iterableToArrayLimit(arr, i) { var _i = arr && (typeof Symbol !== \"undefined\" && arr[Symbol.iterator] || arr[\"@@iterator\"]); if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nmodule.exports = function cssWithMappingToString(item) {\n var _item = _slicedToArray(item, 4),\n content = _item[1],\n cssMapping = _item[3];\n\n if (!cssMapping) {\n return content;\n }\n\n if (typeof btoa === \"function\") {\n // eslint-disable-next-line no-undef\n var base64 = btoa(unescape(encodeURIComponent(JSON.stringify(cssMapping))));\n var data = \"sourceMappingURL=data:application/json;charset=utf-8;base64,\".concat(base64);\n var sourceMapping = \"/*# \".concat(data, \" */\");\n var sourceURLs = cssMapping.sources.map(function (source) {\n return \"/*# sourceURL=\".concat(cssMapping.sourceRoot || \"\").concat(source, \" */\");\n });\n return [content].concat(sourceURLs).concat([sourceMapping]).join(\"\\n\");\n }\n\n return [content].join(\"\\n\");\n};","export default function addBrAfterSemicolon(value, ctx) {\n const values = (value || '').split(';');\n if (ctx)\n // ECO templates\n return ctx.safe(join(values, ctx.escape.bind(ctx)));\n // EJS templates\n return join(values, escapeFn);\n}\n\nfunction join(values, escape) {\n return values.map((v) => escape(v)).join(';
');\n}\n\nconst _MATCH_HTML = /[&<>'\"]/g;\n\nfunction escapeFn(markup) {\n return markup == null ? '' : String(markup).replace(_MATCH_HTML, encodeChar);\n}\n\nconst _ENCODE_HTML_RULES = {\n '&': '&',\n '<': '<',\n '>': '>',\n '\"': '"',\n \"'\": ''',\n};\n\nfunction encodeChar(c) {\n return _ENCODE_HTML_RULES[c] || c;\n}\n","export default {\n root: '/',\n contactInfo: '/contact_info',\n transactionsList: (id) => `/transactions/all/${id}.json`,\n companyAutocomplete: '/transactions/company_autocomplete.json',\n // dealAutocomplete uses the transaction name to filter rather than the company name fields.\n // it also returns the ids besides the names\n dealsAutocomplete: '/transactions/deals_autocomplete.json',\n showTransaction: (id) => `/transactions/${id}`,\n showTransactionXhr: (id) => `/transactions/${id}.json`,\n watchedTransaction: (id) => `/watched_transaction/${id}.json`,\n watchTransaction: (id) => `/transactions/${id}/watch.json`,\n unwatchTransaction: (id) => `/transactions/${id}/unwatch`,\n renameWatchedTransaction: (id) => `/watched_transaction/${id}/rename.json`,\n searchDocument: (id) => `/transactions/${id}/search.json`,\n dismissNotification: (id) => `/notifications/${id}/dismiss.json`,\n dismissNotifications: '/notifications/dismiss_multiple',\n sessionExpired: '/sessions/expired',\n currentSessionId: '/sessions/current.json',\n reportAjaxError: '/errors/ajax',\n reportJsError: '/errors/js',\n saveSearch: '/saved_searches.json',\n removeSavedSearch: (id) => `/saved_searches/remove/${id}.json`,\n renameSavedSearch: (id) => `/saved_searches/rename/${id}.json`,\n duplicateSavedSearch: (id) => `/saved_searches/duplicate/${id}.json`,\n saveSearchAlert: (id) => `/alerts/search/${id}/save.json`,\n deleteSearchAlert: (id) => `/alerts/search/${id}/delete.json`,\n searchesAndWatchedTransactions: '/searches_and_watched_transactions.json',\n storeSearchResultsReferencesPreferences:\n '/search/store_references_preferences',\n storeSearchState: '/search/store_state',\n exportSearchWithReferences: '/search/export_with_references',\n exportSearchWithoutReferences: '/search/export_without_references',\n storeSearchResultsStatistics: '/search/store_statistics',\n logPerformance: '/logs/performance',\n updateLastSeenChangeLog: (id) => `/users/update_last_seen_change_log/${id}`,\n definitions: '/definitions',\n logEvent: '/logs',\n lastTermsAndConditions: '/terms_and_conditions/last.json',\n agreeWithTermsAndConditions: (id) => `/terms_and_conditions/agree/${id}`,\n exportTransactionToMsword: (id, options) =>\n `/transactions/${id}/export-to-doc${exportExtra(options)}`,\n exportTransactionToExcel: (id, options) =>\n `/transactions/${id}/export-to-excel${exportExtra(options)}`,\n printTransaction: (id, options) =>\n `/transactions/${id}/print${exportExtra(options)}`,\n documentsContent: (transactionId, docIds, format) =>\n `/transaction_documents/content?transaction_id=${transactionId}&doc_ids=` +\n `${docIds.join(',')}&format=${format}`,\n search: '/search/v1.json',\n printSearch: '/search/print',\n resetLastSearch: '/search/reset_last_search',\n fieldsTree: (id) => `/templates/${id}.json`,\n fieldValuesAutocomplete: (fieldId) =>\n `/field_values/autocomplete/${fieldId}.json`,\n relatedResources: (id) =>\n `/transactions/${id}/external_links_and_related_transactions.json`,\n agreeWithDisclaimer: '/auth/agree_with_disclaimer',\n exportSavedSearch: (id) => `/saved_searches/export/${id}`,\n importantNotice: '/main/important_notice',\n\n // on-demand routes, currently disabled:\n // searchSelectFieldAutocomplete: '/search/select_field_autocomplete.json',\n // ondemandSearch: '/search.json',\n};\n\nfunction exportExtra(options) {\n return options.fieldIds ? `?fieldIds=${options.fieldIds}` : '';\n}\n","import namespace from './namespace';\n\n/*\n# Setting Main window: we test if parent.main is defined to check whether we're running\n# the main application with whole context or simply some unit tests where the parent\n# window may not be the window with the main application. The check is basically to\n# allow individual tests to run properly from iframes in the test runner.\n*/\n\nwindow.Main = window.parent.main ? window.parent : window;\n\nconst { Main } = window;\n\nnamespace('matterhorn', (m) => {\n window.m = m;\n});\n\nnamespace('g', (_g) => {\n const g = _g;\n g.alias = (name, value) => {\n g[name] = value;\n };\n\n // Check for Main.main in case we're opening a transaction in a separate window\n // (right-click, open in new window), which is pretty useful for development mode\n g.logEvent = (name, data) => {\n Main.main?.analytics.logEvent(name, data);\n };\n\n g.redirectTo = (url) => {\n window.top.location = url;\n };\n});\n","import './globals';\nimport $ from 'jquery';\nimport 'noty';\nimport '../noty-defaults';\n\nlet messagesById = {};\nconst { g } = window;\n\nexport default class PopUpMessage {\n constructor(\n message,\n type = 'information',\n sticky = false,\n closeWith = ['click'],\n id = undefined\n ) {\n if (id) PopUpMessage.clear(id);\n this._message = window.noty({\n text: message,\n type,\n timeout: sticky ? false : 10000,\n closeWith,\n });\n if (id) messagesById[id] = this._message;\n patchClose(this._message);\n }\n\n static clear(id) {\n if (!id) {\n PopUpMessage._clearAll();\n return;\n }\n const message = messagesById[id];\n if (!message) return;\n message.close();\n delete messagesById[id];\n }\n\n static _clearAll() {\n $.noty.closeAll();\n messagesById = {};\n }\n\n static create(message, type, { sticky, closeWith, id } = {}) {\n return new PopUpMessage(message, type, sticky, closeWith, id);\n }\n\n static info(message, opts = {}) {\n return PopUpMessage.create(message, 'information', opts);\n }\n\n static error(message, opts = {}) {\n return PopUpMessage.create(message, 'error', opts);\n }\n\n static success(message, opts = {}) {\n return PopUpMessage.create(message, 'success', opts);\n }\n\n isClosed() {\n return this._message.closed;\n }\n}\n\ng.alias('showInfo', PopUpMessage.info);\ng.alias('showError', PopUpMessage.error);\ng.alias('showSuccess', PopUpMessage.success);\ng.alias('hideMessage', PopUpMessage.clear);\n\n// see https://github.com/needim/noty/issues/239 for the need for the try-catch\n// update: issues are no longer available, Noty is no longer supported and\n// we should probably replace it with something else.\nfunction patchClose(_message) {\n const message = _message;\n const oldClose = message.close;\n message.close = function onClose(...args) {\n try {\n oldClose.apply(this, args);\n } catch (e) {\n // ignore\n }\n };\n}\n","import $ from 'jquery';\nimport routes from '../client-routes';\nimport Dialog from '../ui/dialog';\nimport 'jquery.scrollto';\nimport DocumentViewer from './document-viewer';\nimport DocumentSearch from './document-search';\nimport '../globals'; // g.logEvent\nimport '../settings';\nimport '../popup-message';\nimport registerShowMessage from '../register-show-message';\nimport FieldsTree from '../common/fields-tree';\nimport FieldsFinder from '../common/fields-finder';\nimport PrintDialog from './print-dialog';\nimport TransactionDocumentsPrintDialog from './documents-selection-dialog';\nimport Events from '../events';\nimport WatchedTransactionManager from '../watched-transaction-manager';\nimport '../css/transaction.scss';\nimport safeFrameContents from '../util/safeFrameContents';\n\n// views:\n\nimport documentsHeaderBuilder from '../views/transactions/common/documents-header.ejs';\n// import documentsSelectionDialogBuilder from '../views/transactions/common/documents-selection-dialog.ejs';\nimport referencesBreadcrumbBuilder from '../views/transactions/common/references-breadcrumb.ejs';\nimport documentDetailsBuilder from '../views/transactions/show/document-details.ejs';\n\n// TODO: improve this dependency chain on CSS\nimport '../css/matterhorn.scss';\n\nconst { g, location, screen } = window;\n\nfunction firstRefCid(cidList) {\n return parseInt(cidList.split(',', 1)[0], 10);\n}\n\nexport default class TransactionBase {\n constructor(transactionId, user) {\n this._transactionId = transactionId;\n this._user = user;\n this._documentsBasePath = g.settings.documentsBaseUrl;\n this._standaloneMode = !window.main;\n this.events = $({}); // we should review if there's a better way of handling self custom events\n this._mainEvents = new Events(`transaction-${this._transactionId}`);\n this._currentDocId = -1;\n this._currentPageNumber = -1;\n this._assignTemplateBuilders();\n this._documentViewer = new DocumentViewer();\n this._documentSearch = new DocumentSearch(this._transactionId, this);\n // overriden by edit to routes.editTransactionXhr\n this._loadTransactionRoute = routes.showTransactionXhr;\n }\n\n destroy() {\n this._destroyed = true;\n this._documentsIframeContainer.find('iframe').each((i, iframe) => {\n safeFrameContents(iframe).off('click');\n });\n this._mainEvents.off();\n this._fieldsFinder.destroy();\n g.hideMessage('loading-doc-page'); // in case some page was loading\n }\n\n _assignTemplateBuilders() {\n this._documentsHeaderBuilder = (ctx) => {\n ctx.anonymousUser = this._user.anonymous;\n ctx.watched = !!this._transactionOverview.data('watched');\n ctx.hasRelatedResources = this._hasRelatedResources;\n ctx.exportToDocTitle = this._exportSummaryDocOnly\n ? 'Export Deal Summary to MS-Word'\n : 'Export Document(s) to MS Word';\n ctx.mayCreatePublicLinks = this._mayCreatePublicLinks;\n ctx.displayDocumentsDates = this._displayDocumentsDates;\n return documentsHeaderBuilder(ctx);\n };\n this._referencesBreadcrumbBuilder = referencesBreadcrumbBuilder;\n // this._documentsSelectionDialogBuilder = documentDetailsBuilder;\n this._documentDetailsBuilder = documentDetailsBuilder;\n }\n\n setup(transactionInfo, _hash, searchTerm) {\n let hash = _hash;\n if (this._standaloneMode) hash = window.location.hash;\n this._iframeMode = $('body').is('.inner-tab');\n this._tabPane = this._iframeMode\n ? $('body')\n : $(`#transaction-${this._transactionId}-tab`);\n\n this._layoutContainer = this._tabPane.find('.layout-container');\n\n const fieldsTreeId = `fields-tree-${this._transactionId}`;\n this._fieldsTreeElement = this._layoutContainer\n .find('.js-fields-tree')\n .attr('id', fieldsTreeId);\n this._fieldsTree = new FieldsTree(this._fieldsTreeElement);\n this._fieldsTree.setup();\n\n this._fieldsFinder = new FieldsFinder(\n this._layoutContainer.find('.js-find-a-field-container')\n );\n this._fieldsFinder.setup(this._fieldsTree, this._onFieldFilter.bind(this));\n\n // this._currencySelector = this._layoutContainer.find('.js-currency-selector');\n // this._currencyLocale = 'us';\n this._referencesBreadcrumb = this._layoutContainer.find(\n '.js-references-breadcrumb'\n );\n this._documentsContainer = this._layoutContainer.find(\n '.js-documents-container'\n );\n this._documentsIframeContainer = this._layoutContainer.find(\n '.js-doc-iframes-container'\n );\n this._documentPageNumber = this._layoutContainer.find(\n '.js-document-page-number'\n );\n this._documentPageCount = this._layoutContainer.find(\n '.js-document-page-count'\n );\n this._transactionOverview = this._layoutContainer.find(\n '.js-transaction-details-main'\n );\n this._referencesContainer = this._layoutContainer.find(\n '.js-references-container'\n );\n this._leftPane = this._layoutContainer.find('.js-transaction-left-pane');\n this._documentsLayoutContainer = this._layoutContainer.find(\n '.js-documents-layout-container'\n );\n this._documentPagesContainer = this._layoutContainer.find(\n '.js-doc-pages-container'\n );\n this._loadTransactionInfo(transactionInfo);\n this._watchTransactionButton = this._layoutContainer.find(\n '.js-watch-transaction'\n );\n this.loadHash(hash, searchTerm);\n this._registerEvents();\n this.events.trigger('setup');\n this._setupLayout();\n // const country = this._fieldExtraById[this._countryId]?.displayValue;\n // const docCurrency =\n // this._fieldExtraById[this._docCurrencyUnitFieldId]?.displayValue;\n // const locale = window.main?.search?.currencyLocale() ||\n // this._defaultCurrencyLocale(country, docCurrency);\n // const locale = this._defaultCurrencyLocale(country, docCurrency);\n // if (locale !== 'us') this._currencySelector.val(locale).trigger('change');\n }\n\n // _defaultCurrencyLocale(country, docCurrency) {\n // return 'us';\n // }\n\n _loadTransactionInfo(transactionInfo) {\n this._dealTypeId = transactionInfo.dealTypeId;\n this._hideNoValueNA = transactionInfo.hideNoValueNA;\n this._docCurrencyUnitFieldId =\n transactionInfo.currencyFields.doc_currency_unit;\n this._countryId = transactionInfo.currencyFields.country;\n this._exportSummaryDocOnly = transactionInfo.exportSummaryDocOnly;\n this._sections = transactionInfo.sections;\n this._fieldsByParentId = transactionInfo.fieldsByParentId;\n this._fieldExtraById = transactionInfo.fieldExtraById;\n this._referencesByFieldId = transactionInfo.referencesByFieldId;\n this._noValueDescriptionById = transactionInfo.noValueDescriptionById;\n this._mayCreatePublicLinks = transactionInfo.mayCreatePublicLinks;\n this._displayDocumentsDates = transactionInfo.displayDocumentsDates;\n this._createFieldById();\n this._beforeRenderFieldsTree(transactionInfo);\n this._fieldsTreeOptions = this._generateFieldsTreeOptions(transactionInfo);\n this._renderFieldsTree();\n this._hasRelatedResources = transactionInfo.hasRelatedResources;\n this._transactionLabel = transactionInfo.transactionLabel;\n this._initializeDocumentViewer(transactionInfo.documents);\n }\n\n showPageAndHighlightSearch(docid, page, terms) {\n this._showPage(docid, page, null, {\n noCheck: true,\n afterPageLoad: (contents) => {\n this._highlightSearch(contents, terms);\n },\n });\n }\n\n _highlightSearch(contents, terms) {\n contents.find('.matterhorn-hl').removeClass('matterhorn-hl');\n for (const term of terms)\n this._recursiveHighlightSearch(contents.find('body'), term);\n const e = contents.find('.matterhorn-hl');\n if (e.length) e[0].scrollIntoView();\n }\n\n _recursiveHighlightSearch(parent, text) {\n const match = (el) =>\n $(el)\n .text()\n .replace(/[\\r\\n|\\r|\\n]/gm, ' ')\n .includes(text);\n const elements = parent.children().filter(function includeText() {\n return match(this);\n });\n if (!elements.length && match(parent)) parent.addClass('matterhorn-hl');\n elements.each((i, el) => {\n this._recursiveHighlightSearch($(el), text);\n });\n }\n\n highlightSearch(terms) {\n const iframe = this._documentsIframeContainer.find(\n `#doc_${this._currentDocId}`\n );\n const highlight = () =>\n this._highlightSearch(safeFrameContents(iframe), terms);\n if (iframe[0]?.contentWindow?.fullyLoaded) highlight();\n else iframe.on('load', highlight);\n }\n\n _createFieldById() {\n this._fieldById = {};\n for (const [parentId, children] of Object.entries(this._fieldsByParentId))\n for (const c of children) {\n c.parentId = parentId;\n this._fieldById[c.myId] = c;\n }\n }\n\n _initializeDocumentViewer(documents) {\n // documents list\n this._updateDocuments(documents);\n // open the first document:\n if (this._documents.length)\n this._documentSelect.val(this._documents[0].id).trigger('change');\n this._registerDocViewerEventsOnce();\n }\n\n _registerDocViewerEventsOnce() {\n if (this._docViewerEventsRegistered) return;\n this._docViewerEventsRegistered = true;\n this._documentPagesContainer.on(\n 'click',\n '.js-next-page, .js-prev-page',\n this._handlePageBtn.bind(this)\n );\n this._documentPageNumber\n .blur(this._handlePageInput.bind(this))\n .on('keyup', (ev) => {\n // will trigger a blur event when focusing the document\n if (ev.which === 13)\n this._documentsIframeContainer\n .find(`#doc_${this._currentDocId}`)\n .trigger('focus');\n });\n }\n\n _updateDocuments(documents) {\n this._documents = documents;\n this._documentById = {};\n for (const doc of this._documents) this._documentById[doc.id] = doc;\n this._updateDocumentsContainer();\n }\n\n _updateDocumentsContainer() {\n this._documentsContainer.html(\n this._documentsHeaderBuilder({ documents: this._documents })\n );\n this._documentDetailsContainer = this._documentsContainer.find(\n '.js-document-details-container'\n );\n this._referencesContainer.toggleClass('hidden', !this._documents.length);\n this._documentSearchContainer = this._documentsContainer.find(\n '.js-document-search'\n );\n this._documentSearch.setup(this._documentSearchContainer);\n this._setupDocumentSelect();\n }\n\n _setupDocumentSelect() {\n this._documentSelect = this._documentsContainer\n .find('.js-document-selection')\n .on('change', () => {\n this._showDocument(this._documentSelect.val());\n });\n }\n\n _showDocument(docid) {\n this._setExportToDocVisibility(docid);\n this._referencesContainer.removeClass('hidden');\n // Force to refresh document list (if showing different document showPage function\n // will refresh the document list)\n if (this._currentDocId === docid) this._updateDocumentDetails();\n this._updateSearchInputVisibility(docid);\n if (this._isDocIdSelected(docid))\n this._showReference(\n docid,\n `${this._documentsIframeContainer\n .find(`#doc_${docid}`)\n .data('cidList')}`\n );\n else this._showPage(docid, 1, null, { noCheck: true });\n this._logDocumentEvent('DocViewed');\n }\n\n _updateSearchInputVisibility(docid = this._currentDocId) {\n const linkOnly = this._documentById[docid]?.linkOnly;\n this._documentSearchContainer[0].hidden = linkOnly;\n this._documentPagesContainer[0].hidden = linkOnly;\n }\n\n _setExportToDocVisibility(docid) {\n const doc = this._documentById[docid];\n const setHidden = (selector, hidden) => {\n this._documentsContainer.find(selector).toggleClass('hidden', hidden);\n };\n setHidden('.js-print-documents', doc.linkOnly && !doc.summary);\n if (this._exportSummaryDocOnly) {\n setHidden('.js-export-to-doc', !doc.summary);\n return;\n }\n setHidden('.js-export-to-doc', doc.linkOnly);\n }\n\n _updateDocumentDetails() {\n this._documentSelect.val(this._currentDocId);\n this._updateDocumentDetailsContainer(\n this._documentDetailsBuilder({\n document: this._currentDoc(),\n displayDocumentsDates: this._displayDocumentsDates,\n })\n );\n }\n\n _currentDoc() {\n return this._documentById[this._currentDocId];\n }\n\n _updateDocumentDetailsContainer(content) {\n this._documentDetailsContainer.html(content);\n }\n\n _isDocIdSelected(docid) {\n return (\n docid === this._referencesBreadcrumb.find('li.selected a').data('docid')\n );\n }\n\n _showReference(docid, cidList) {\n if (!cidList) return;\n const page = this._findPageForFirstRefInCidList(docid, cidList);\n if (!page) {\n g.showError(`Sorry. Cannot find reference ${firstRefCid(cidList)}.`, {\n id: 'no-refs',\n });\n return;\n }\n this._showPage(docid, page, cidList, { noCheck: true });\n }\n\n _findPageForFirstRefInCidList(docid, cidList) {\n // TODO: Here we are assuming that cidList is already in order\n // find the page for the first CID\n return this._findPageByCid(docid, firstRefCid(cidList));\n }\n\n _findPageByCid(docid, cid) {\n const lastCidPerPage = this._lastCidPerPage(docid);\n // pg is zero-indexed while page starts with 1:\n for (let pg = 0; pg < lastCidPerPage.length; pg += 1)\n if (cid <= lastCidPerPage[pg]) return pg + 1;\n return null;\n }\n\n _lastCidPerPage(docid) {\n return this._pageInfo(docid).lastCidPerPage;\n }\n\n _pageInfo(docid) {\n const doc = this._documentById[docid];\n const pageInfo = doc?.pageInfo;\n if (!pageInfo) return {};\n // for transaction view, pageInfo is JSON encoded for faster response\n if (typeof doc.pageInfo === 'string') doc.pageInfo = JSON.parse(pageInfo);\n return doc.pageInfo;\n }\n\n _showPage(docid, _page, newCidList, options = {}) {\n let page = _page;\n this.events.trigger('before-show-page');\n const doc = this._documentById[docid];\n this._updateSearchInputVisibility(docid);\n if (!doc.linkOnly) page = this._validatePageNumber(docid, page);\n const oldDocid = this._currentDocId;\n if (options.noCheck)\n this._loadPage(docid, page, newCidList, true, options.afterPageLoad);\n else if (docid !== this._currentDocId || page !== this._currentPageNumber)\n this._loadPage(docid, page, newCidList, false, options.afterPageLoad);\n // Updating document list\n if (oldDocid !== docid) this._updateDocumentDetails();\n return page;\n }\n\n _validatePageNumber(docid, _page) {\n let page = _page;\n if (!Number.isInteger(page)) page = 1;\n const lastCidPerPage = this._lastCidPerPage(docid);\n const lastPage = lastCidPerPage.length;\n if (page < 1) {\n g.showError('Page number is out of range.', {\n id: 'page-no-out-of-range',\n });\n page = 1;\n } else if (page > lastPage) {\n g.showError('Page number is out of range.', {\n id: 'page-no-out-of-range',\n });\n page = lastPage;\n }\n return page;\n }\n\n _loadPage(docid, page, _newCidList, forceLoading, afterPageLoad) {\n let newCidList = _newCidList;\n this._afterPageLoad = afterPageLoad;\n // newCidList is optional param for highlighting\n this._currentDocId = docid;\n this._currentPageNumber = page;\n const linkOnly = this._documentById[docid]?.linkOnly;\n\n let $frame = this._documentsIframeContainer.find(`#doc_${docid}`);\n const loadDocument = (loc) => {\n if (newCidList === null) {\n if (this._isDocIdSelected(docid))\n newCidList = `${$frame.data('cidList')}`;\n } else $frame.data('cidList', newCidList);\n\n if ($frame.length) {\n $frame.siblings().addClass('hidden');\n const currLoc = $frame.attr('src');\n if (currLoc !== loc) {\n g.showInfo('Loading Page...', {\n sticky: true,\n id: 'loading-doc-page',\n });\n $frame.attr('src', loc);\n } else {\n let fullyLoaded;\n try {\n fullyLoaded = $frame[0].contentWindow.fullyLoaded;\n } catch (e) {\n fullyLoaded = false;\n }\n if (forceLoading && fullyLoaded) this._handleDocumentLoad($frame);\n else {\n $frame.data('cidList', newCidList);\n const hl = () => {\n this._documentViewer.highlight(\n safeFrameContents($frame),\n newCidList,\n this._afterHighlight.bind(this)\n );\n };\n if (fullyLoaded)\n // NewRelic reports this is not always truth\n hl();\n else $frame.on('load', hl);\n }\n }\n } else {\n this._documentsIframeContainer.find('iframe').addClass('hidden');\n g.showInfo('Loading Page...', { sticky: true, id: 'loading-doc-page' });\n // try to debug an error happening in production sometimes:\n // stacktrace = getStacktrace();\n let loadDocumentAttempts = 0;\n const onFrameLoad = () => {\n if (linkOnly) {\n g.hideMessage('loading-doc-page');\n return;\n }\n try {\n this._handleDocumentLoad($frame);\n $frame[0].contentWindow.fullyLoaded = true;\n } catch (e) {\n // for some reason we can't explain, sometimes the browser will throw an exception\n // when we try to access $frame[0].contentWindow in this 'load' event handler.\n // $frame[0] exists and points to the correct location but the browser would report\n // a cross-origin access even though the domain is the same. This usually happen in\n // Edit mode (most reports, but some reported View) and could happen after clicking\n // on a reference link or when selecting a document from the menu. Since we have no\n // idea on what could be causing this behavior and since we never got any complains\n // from our users we're ignoring this situation for now to stop the multiple e-mails\n // we were receiving each day when this happens.\n // className = if this.constructor is matterhorn.transaction.View then 'View' else 'Edit'\n // Bugsnag.notifyException e,\n // `[ ${className}: ${ this._transactionId } - ${ this._debugRefFieldId } ]\n // previous stacktrace: ${ stacktrace }`\n // I only recall seeing this behavior in Chrome\n loadDocumentAttempts += 1;\n if (loadDocumentAttempts <= 3) {\n setTimeout(onFrameLoad, 500);\n } else {\n g.hideMessage('loading-doc-page');\n g.showError('Please try to load the reference again');\n }\n }\n };\n $frame = this._documentViewer.loadDocument(\n this._documentsIframeContainer,\n `doc_${docid}`,\n loc,\n newCidList\n );\n $frame.on('load', onFrameLoad);\n $frame.addClass('view-document');\n }\n\n $frame.removeClass('hidden');\n this._updatePageBtns();\n this._documentPageNumber.val(page);\n return $frame;\n };\n // we are keeping the old logic for fetching the document page url from server\n // for a while just in case.\n // $.get routes.transactionDocumentPageUrl(docid, page), loadDocument\n return loadDocument(this._urlForDocumentPage(docid, page));\n }\n\n _urlForDocumentPage(docid, page) {\n const doc = this._documentById[docid];\n if (doc?.linkOnly) return doc.url;\n const basePath = `0000${Math.floor(this._transactionId / 1000)}`.slice(-4); // zero left pad\n return [\n this._documentsBasePath,\n basePath,\n this._transactionId,\n docid,\n `page-${page}.html`,\n ].join('/');\n }\n\n _handleDocumentLoad($frame) {\n const $contents = safeFrameContents($frame);\n const docid = parseInt($frame.attr('id').replace('doc_', ''), 10);\n const doc = this._documentById[docid];\n if (!$contents.length && !doc.linkOnly)\n throw new Error(`Can't access iframe ${$frame} (${$frame?.attr('src')})`);\n let cidList = ''; // force data to be read as String:\n if (this._isDocIdSelected(docid)) cidList += $frame.data('cidList');\n this._documentViewer.highlight(\n $contents,\n cidList,\n this._afterHighlight.bind(this)\n );\n // Setup document link click handler\n this._afterDocumentLoaded($contents);\n g.hideMessage('loading-doc-page');\n }\n\n _logDocumentEvent(eventName, docTitle) {\n g.logEvent(eventName, this._getDocumentDataForUA(docTitle));\n }\n\n // UA = User Analytics\n _getDocumentDataForUA(_docTitle) {\n let docTitle = _docTitle;\n if (!docTitle) {\n const d = this._documentById[this._currentDocId];\n docTitle = d.filedescription || d.filetitle;\n }\n return {\n wa_acquirer: this._transactionOverview.data('acquirer'),\n wa_target: this._transactionOverview.data('target'),\n wa_docTitle: docTitle,\n };\n }\n\n _handlePageBtn(ev) {\n const $ele = $(ev.currentTarget);\n let page = this._currentPageNumber;\n if ($ele.hasClass('js-prev-page')) page -= 1;\n else if ($ele.hasClass('js-next-page')) page += 1;\n this._showPage(this._currentDocId, page);\n }\n\n _handlePageInput(ev) {\n const $pageNumber = $(ev.currentTarget);\n let pageNumber;\n try {\n pageNumber = parseInt($pageNumber.val(), 10);\n } catch (e) {\n pageNumber = null;\n }\n if (this._currentPageNumber === pageNumber) return;\n const page = this._showPage(this._currentDocId, pageNumber);\n if (page < 0) $pageNumber.trigger('focus');\n else $pageNumber.val(page);\n }\n\n loadHash(hash, searchTerm) {\n // transaction view will use fieldFromLocationHash for User Analytics purpose\n this._fieldFromLocationHash = this._findFieldFromLocationHash(hash);\n if (this._fieldFromLocationHash)\n this._showReferences(this._fieldFromLocationHash.myId);\n let page;\n const docIdFromLocationHash = findDocIdFromLocationHash(hash);\n if (docIdFromLocationHash)\n if (this._lastCidPerPage(docIdFromLocationHash))\n // make sure it's a valid document\n this._showPage(\n docIdFromLocationHash,\n (page = findPageFromLocationHash(hash) || 1)\n );\n if (searchTerm) {\n const jumpToFirst =\n !this._fieldFromLocationHash && !docIdFromLocationHash;\n this._documentSearch.set(searchTerm, {\n jumpToFirst,\n page,\n docId: docIdFromLocationHash,\n });\n }\n }\n\n _registerEvents() {\n const d = this._layoutContainer;\n registerShowMessage(d);\n d.on(\n 'click',\n '.js-view-source-document',\n this._viewOriginalDocument.bind(this)\n );\n d.on('click', '.js-view-explanation', onExplanationClickViewMode);\n this._referencesBreadcrumb.on('click', 'a.reference-click.view', (ev) => {\n ev.preventDefault();\n this._markReferenceAsSelectedAnd(\n $(ev.currentTarget),\n this._showReference.bind(this)\n );\n });\n d.on('click', '.field-value a.js-show-references', (ev) => {\n ev.preventDefault();\n const fieldId = $(ev.currentTarget).closest('tr').data('myId');\n // this._debugRefFieldId = fieldId // debugging purposes only\n if (this._standaloneMode) location.hash = `f${fieldId}`;\n this._showReferences(fieldId);\n });\n d.on(\n 'click',\n '.js-print-transaction',\n this._onPrintTransactionClick.bind(this)\n );\n d.on(\n 'click',\n '.js-export-transaction-to-msword',\n this._onExportToMsWordClick.bind(this)\n );\n d.on(\n 'click',\n '.js-export-transaction-to-excel',\n this._onExportToExcelClick.bind(this)\n );\n d.on('click', '.js-print-documents', () => {\n this._displayDocumentsSelectionDialog('print');\n });\n d.on('click', '.js-export-to-doc', () => {\n this._displayDocumentsSelectionDialog('export');\n });\n d.on('click', '.js-public-links', this._onShareButtonClick.bind(this));\n d.on(\n 'click',\n '.js-related-resources-button',\n this._onRelatedResourcesButtonClick.bind(this)\n );\n this._mainEvents.onTransactionWatchStatusUpdate(\n this._onTransactionWatchStatusUpdate.bind(this)\n );\n this._watchTransactionButton.on(\n 'click',\n this._onWatchTransactionClick.bind(this)\n );\n // this._currencySelector.on('change', this._onCurrencyChange.bind(this));\n }\n\n _viewOriginalDocument(ev) {\n ev.preventDefault();\n const w = window.open(\n ev.currentTarget.href,\n '_blank',\n getWindowSpecs(850, 700)\n );\n if (w) w.opener = null; // security measure\n this._logDocumentEvent('OriginalSourceDocViewed');\n }\n\n // used by edit.js\n // eslint-disable-next-line class-methods-use-this\n _markReferenceAsSelectedAnd($element, handler) {\n $element.parent().addClass('selected').siblings().removeClass('selected');\n handler($element.data('docid'), `${$element.data('cidList')}`);\n }\n\n _onFieldFilter(filterValue) {\n if (filterValue)\n g.logEvent('FindAFieldUsed', {\n wa_FaFSearchTerm: filterValue,\n wa_FaFSearchPage: false,\n wa_FaFTransactionPage: true,\n });\n this._renderFieldsTree(filterValue);\n }\n\n _findFieldFromLocationHash(hash) {\n // hash = '#fNNN'\n // when called by the search results with anchor \"#f123\" (value of location.hash),\n // it means the field with id 123 should be highlighted\n const fieldId = extractParamFromHash(hash, 'f');\n // return fieldId && this._fieldById[fieldId];\n return this._fieldById[fieldId];\n }\n\n _showReferences(fieldId) {\n const field = this._fieldById[fieldId];\n if (!field) {\n g.showError(`Sorry. Cannot find field value ${fieldId}.`, {\n id: 'no-field-value-id',\n });\n return;\n }\n // transaction view shares the common template and stores the formatted values and references\n // in a map\n const references = this._referencesByFieldId[fieldId];\n this._referencesBreadcrumb\n .html(\n this._referencesBreadcrumbBuilder({\n // when called via hash the references may no longer exist\n selectedIndex: 0,\n references: references || [],\n })\n )\n .removeClass('hidden');\n this._highlightFieldOnFieldsTree(fieldId);\n if (references)\n this._showReference(references[0].documentId, references[0].cidList);\n }\n\n _highlightFieldOnFieldsTree(fieldId) {\n this._fieldsTreeElement.find('tr.hl-row').removeClass('hl-row');\n this._fieldsTreeElement\n .find(`tr[data-my-id=${fieldId}]`)\n .addClass('hl-row');\n this._fieldsTreeOptions.currentFieldId = fieldId;\n }\n\n _setupLayout() {\n if (this._fieldFromLocationHash)\n this._fieldsTreeElement.scrollTo('tr.hl-row');\n }\n\n _onPrintTransactionClick() {\n new PrintDialog(...this._printArgs()).open();\n }\n\n _printArgs(extra) {\n const args = [\n this._transactionId,\n this._generateFieldsTreeOptions(),\n this._user,\n ];\n if (extra) args.push(extra);\n return args;\n }\n\n _onExportToMsWordClick() {\n new PrintDialog(...this._printArgs('doc')).open();\n }\n\n _onExportToExcelClick() {\n new PrintDialog(...this._printArgs('excel')).open();\n }\n\n _displayDocumentsSelectionDialog(format) {\n // 'print' or 'export'\n // return if no documents exist - unlikely to happen in finished transactions\n if (this._currentDocId === -1) return;\n const eventName = format === 'print' ? 'DocPrinted' : 'DocDownloaded';\n const dialog = new TransactionDocumentsPrintDialog(\n this._transactionId,\n format,\n this._documents,\n this._currentDoc()\n );\n dialog.onLogEvent((docTitle) => {\n this._logDocumentEvent(eventName, docTitle);\n });\n if (this._exportSummaryDocOnly && format === 'export') {\n dialog.exportCurrentDoc();\n return;\n }\n dialog.setup();\n }\n\n _onShareButtonClick() {\n this._openPublicLinksDialog();\n }\n\n _openPublicLinksDialog() {\n import('../transaction-public-links-dialog').then(\n ({ default: PublicLinksDialog }) => {\n new PublicLinksDialog().show(this._transactionId, this._documents);\n }\n );\n }\n\n _onRelatedResourcesButtonClick() {\n this._openRelatedResourcesDialog();\n }\n\n _openRelatedResourcesDialog() {\n import('../related-resources-dialog').then(\n ({ default: RelatedResourcesDialog }) => {\n new RelatedResourcesDialog().show(\n this._transactionId,\n this._transactionLabel\n );\n }\n );\n }\n\n _onTransactionWatchStatusUpdate(ev, transactionId, deleted) {\n if (this._transactionId !== transactionId) return;\n if (deleted)\n this._watchTransactionButton\n .attr('title', 'Set alert preferences')\n .removeClass('theme-bell-on js-watched')\n .addClass('theme-bell-off');\n else\n this._watchTransactionButton\n .attr('title', 'Disable / edit alert preferences')\n .removeClass('theme-bell-off')\n .addClass('theme-bell-on js-watched');\n }\n\n _onWatchTransactionClick() {\n const watchingManager = new WatchedTransactionManager(\n this._transactionId,\n this._user\n );\n this._createWatchingSettingsDialogElement(watchingManager);\n }\n\n _createWatchingSettingsDialogElement(manager) {\n const dialog = $('