{"version":3,"file":"../../js/Nachrichten/qmc.nachrichten.min.js","sources":["qmc.nachrichten.min.js"],"sourcesContent":["var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\n(function () {\n angular.module('QMC.Nachrichten', ['QMC.Klient']).config(routes).filter('renderHTMLCorrectly', function ($sce) { return function (stringToParse) {\n return $sce.trustAsHtml(stringToParse);\n }; });\n routes.$inject = ['$locationProvider', '$stateProvider', '$urlRouterProvider', 'qmcBase'];\n function routes($locationProvider, $stateProvider, $urlRouterProvider, qmcBase) {\n $locationProvider.html5Mode({\n enabled: false,\n requireBase: false\n });\n $stateProvider\n .state('mailbox', {\n url: '/mailbox?:folderId:messageId',\n templateUrl: qmcBase + '/Nachrichten',\n controller: 'NachrichtenController',\n controllerAs: 'vm',\n resolve: {\n data: [function () {\n console.log('Current State: Mailbox');\n }]\n }\n });\n }\n})();\nvar QMC;\n(function (QMC) {\n var InternalMessage;\n (function (InternalMessage) {\n var HttpProvider = /** @class */ (function () {\n function HttpProvider() {\n }\n HttpProvider.configureHttpProvider = function ($httpProvider) {\n // initialize get if not there\n if (!$httpProvider.defaults.headers.get) {\n $httpProvider.defaults.headers.get = {};\n }\n // disable IE ajax request caching\n $httpProvider.defaults.headers.get['If-Modified-Since'] = 'Mon, 26 Jul 1997 05:00:00 GMT';\n // extra\n $httpProvider.defaults.headers.get['Cache-Control'] = 'no-cache';\n $httpProvider.defaults.headers.get['Pragma'] = 'no-cache';\n };\n return HttpProvider;\n }());\n InternalMessage.HttpProvider = HttpProvider;\n })(InternalMessage = QMC.InternalMessage || (QMC.InternalMessage = {}));\n})(QMC || (QMC = {}));\n(function () {\n angular.module('QMC.Nachrichten')\n .config(['$httpProvider', QMC.InternalMessage.HttpProvider.configureHttpProvider]);\n})();\nvar QMC;\n(function (QMC) {\n var InternalMessage;\n (function (InternalMessage) {\n var NachrichtenService = /** @class */ (function (_super) {\n __extends(NachrichtenService, _super);\n function NachrichtenService($http, $q) {\n var _this = _super.call(this, $http, $q) || this;\n _this.$http = $http;\n _this.$q = $q;\n _this.modulePath = '/InternalMessage';\n return _this;\n }\n NachrichtenService.prototype.getMessageList = function (dateFrom, dateTo, folderId, page, pageSize) {\n return _super.prototype.getPagination.call(this, this.modulePath, { folderId: folderId, page: page, pageSize: pageSize, dateFrom: dateFrom, dateTo: dateTo }, function (data) {\n return data;\n });\n };\n NachrichtenService.prototype.getMessage = function (id) {\n return _super.prototype.getItem.call(this, this.modulePath + '/' + id, {}, function (data) {\n return data;\n });\n };\n NachrichtenService.prototype.getFolderList = function () {\n return _super.prototype.get.call(this, this.modulePath + '/Folder', {}, function (data) {\n return data;\n });\n };\n NachrichtenService.prototype.getUnreadCount = function () {\n return _super.prototype.get.call(this, this.modulePath + '/UnreadCount', {}, function (data) {\n return data;\n });\n };\n /**\n * Downloads one or more attachments of a message. If attachmentId is not set, it downloads all attachments of the message as a zip file.\n * @param messageId The object id of the message.\n * @param attachmentId The id of the attachment. If not set, all attachments will be downloaded as a zip file.\n */\n NachrichtenService.prototype.downloadAttachment = function (messageId, attachmentId) {\n return _super.prototype.getItem.call(this, this.modulePath + '/' + messageId + '/Attachment', { attachmentId: attachmentId }).then(function (data) {\n return data.base64;\n });\n };\n NachrichtenService.prototype.getAvailableRecipients = function () {\n return _super.prototype.get.call(this, this.modulePath + '/AvailableRecipients', {}, function (data) {\n return data;\n });\n };\n NachrichtenService.prototype.getRecipientList = function (id) {\n return _super.prototype.get.call(this, this.modulePath + '/' + id + '/Recipient', {}, function (data) {\n return data;\n });\n };\n NachrichtenService.prototype.postMessage = function (data) {\n return _super.prototype.post.call(this, this.modulePath, data).then(function (e) {\n return e;\n });\n };\n NachrichtenService.prototype.deleteMessage = function (id, deleteFromSend) {\n if (deleteFromSend === void 0) { deleteFromSend = false; }\n return _super.prototype.delete.call(this, this.modulePath + '/' + id + '?deleteFromSendFolder=' + deleteFromSend).then(function (data) {\n return data;\n });\n };\n NachrichtenService.prototype.markMessageAsRead = function (request) {\n return _super.prototype.put.call(this, this.modulePath + '/MarkAsRead', request).then(function (data) {\n return data;\n });\n };\n NachrichtenService.prototype.moveMessageToFolder = function (request) {\n return _super.prototype.put.call(this, this.modulePath + '/MoveToFolder', request).then(function (data) {\n return data;\n });\n };\n NachrichtenService.prototype.moveMessageToRecycleBin = function (request) {\n _super.prototype.put.call(this, this.modulePath + '/MoveToRecycleBin', request);\n };\n NachrichtenService.prototype.postFolder = function (data) {\n return _super.prototype.post.call(this, this.modulePath + '/Folder', data).then(function (e) {\n return e;\n });\n };\n NachrichtenService.prototype.putFolder = function (id, data) {\n return _super.prototype.put.call(this, this.modulePath + '/Folder/' + id, data).then(function (e) {\n return e;\n });\n };\n NachrichtenService.prototype.deleteFolder = function (id) {\n return _super.prototype.delete.call(this, this.modulePath + '/Folder/' + id).then(function (e) {\n return e;\n });\n };\n //Draft\n NachrichtenService.prototype.getDrafts = function () {\n return _super.prototype.get.call(this, this.modulePath + '/Draft', {}, function (data) {\n data.forEach(function (x) {\n x.content = JSON.parse(x.content);\n x.content.recipientIds = x.content.recipientIds ? x.content.recipientIds : [];\n x.lastUpdate = x.lastUpdate ? moment(x.lastUpdate).toDate() : new Date();\n });\n return data;\n });\n };\n NachrichtenService.prototype.postDraft = function (dataOriginal) {\n var data = angular.copy(dataOriginal);\n data.content = JSON.stringify(data.content);\n return _super.prototype.post.call(this, this.modulePath + '/Draft', data).then(function (e) {\n return e.createdObjectId;\n });\n };\n NachrichtenService.prototype.putDraft = function (id, dataOriginal) {\n var data = angular.copy(dataOriginal);\n data.content = JSON.stringify(data.content);\n return _super.prototype.put.call(this, this.modulePath + '/Draft/' + id, data).then(function (e) {\n return e;\n });\n };\n NachrichtenService.prototype.deleteDraft = function (id) {\n return _super.prototype.delete.call(this, this.modulePath + '/Draft/' + id).then(function (e) {\n return e;\n });\n };\n NachrichtenService = __decorate([\n QMC.Service('QMC.Nachrichten', 'NachrichtenService'),\n QMC.Inject('$http', '$q')\n ], NachrichtenService);\n return NachrichtenService;\n }(QMC.Common.BaseService));\n InternalMessage.NachrichtenService = NachrichtenService;\n })(InternalMessage = QMC.InternalMessage || (QMC.InternalMessage = {}));\n})(QMC || (QMC = {}));\nvar QMC;\n(function (QMC) {\n var InternalMessage;\n (function (InternalMessage) {\n var NachrichtenController = /** @class */ (function () {\n function NachrichtenController($location, nachrichtenService, $qui, $stateParams, $state, $scope, lng, userService) {\n var _this = this;\n this.$location = $location;\n this.nachrichtenService = nachrichtenService;\n this.$qui = $qui;\n this.$stateParams = $stateParams;\n this.$state = $state;\n this.$scope = $scope;\n this.lng = lng;\n this.userService = userService;\n // tslint:disable-next-line:no-unused-variable\n this.ui = new QMC.InternalMessage.UserInterface();\n this.folderFormCreateState = \"new\";\n this.folderFormUpdateState = \"edit\";\n this.selectedMessageIds = [];\n this.selectedFileNames = [];\n this.uploads = [];\n this.inboxFolderId = QMC.Common.Constants.MESSAGE_INBOX_FOLDER_ID;\n this.sentFolderId = QMC.Common.Constants.MESSAGE_SENT_FOLDER_ID;\n this.recycleBinFolderId = QMC.Common.Constants.MESSAGE_RECYCLEBIN_FOLDER_ID;\n this.forwardRecipients = [];\n this.useTrash = true;\n this.daysToPast = 0;\n this.summernoteOptions = {\n height: 350,\n focus: true,\n airMode: false,\n lang: 'de-DE',\n toolbar: [\n ['font', ['bold', 'italic', 'underline', 'clear']],\n ['alignment', ['ul', 'ol']]\n ],\n callbacks: { onChange: function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n _this.onSummernoteChange(args[0], $(args[1][0]));\n } }\n };\n this.recs = [];\n this.readMode = true;\n this.drafts = [];\n this.draftFolderId = '00000000-0000-0000-0000-000000000005';\n /**\n * setFilterView\n * @description Set FilterList spaceing.\n */\n this.selectedFilter = null;\n this.checkToggle = true;\n this.selectedRecs = [];\n this.isDraftPosting = false;\n $qui.init($qui.getSectionColor($location.path()), function () {\n $qui.anonAvatar();\n $qui.bindEvents();\n setTimeout(function () {\n if (QMC.Common.Constants.IS_MOBILE) {\n $(\"#page-wrapper\").addClass(\"notification\");\n $(window).unbind(\"scroll\");\n $(\"body\").css(\"overflow-y\", \"hidden\");\n $scope.$on(\"$destroy\", function () {\n $(\"#page-wrapper\").removeClass(\"notification\");\n });\n }\n }, 500);\n });\n this.isInit = true;\n this.reply = false;\n this.replyToAll = false;\n this.folderLoading = true;\n if (document.getElementById(\"permissions\").getAttribute(\"message\").toLocaleLowerCase() !== \"true\") {\n console.log(\"No rights to see module message\");\n this.forbidden = true;\n return;\n }\n this.init();\n this.resetMessageList();\n this.resetNewForm();\n this.getFolders();\n this.userService.getUserSettings([\"INTERNENACHRICHTEN.USETRASH\", \"INTERNENACHRICHTEN.ANZEIGEANZAHLTAGE\"], false).then(function (data) {\n _this.useTrash = data[0].value.toLowerCase().trim() === \"true\" || data[0].value.toLowerCase().trim() === \"\";\n _this.daysToPast = parseInt(data[1].value);\n if (_this.daysToPast > 0) {\n var temp = new Date();\n temp.setDate(temp.getDate() - _this.daysToPast);\n _this.filter.filterDateFrom = temp;\n _this.filter.dateFrom.setDate = temp;\n }\n _this.setFilter();\n });\n this.promptOptionsFolderDelete = {\n title: this.lng.translate(21004023, \"Ordner\"),\n icon: \"qm-icon-folder\",\n yesNo: true,\n id: \"prompt-folder-delete\",\n text: this.lng.translate(21004043, 'Wollen Sie den ausgewählten Ordner mit allen Unterordnern wirklich löschen?')\n };\n setTimeout(function () {\n $('#' + _this.selectedFolderId).addClass('active-folder');\n }, 500);\n this.getAvailableRecipients();\n }\n NachrichtenController.prototype.onSummernoteChange = function (content, element) {\n // check for parent\n if (element.closest('#summernoteNewMessage').length > 0) { //newMode\n this.newMessageDraft(content);\n }\n if (element.closest('#summernoteAnswerMessage').length > 0) { //answerMode\n this.replyMessageDraft(content);\n }\n if (element.closest('#summernoteForwardMessage').length > 0) { //forwardMode\n this.forwardMessageDraft(content);\n }\n };\n /**\n * init\n * @description Init the filter\n */\n NachrichtenController.prototype.init = function () {\n var _this = this;\n $('#summernoteNewMessage .summernote').summernote(this.summernoteOptions);\n $('#summernoteAnswerMessage .summernote').summernote(this.summernoteOptions);\n $('#summernoteForwardMessage .summernote').summernote(this.summernoteOptions);\n this.filter = {\n dateFrom: moment().subtract(3, 'months').toDate(),\n dateTo: new Date(),\n filterDateFrom: moment().subtract(3, 'months').toDate(),\n filterDateTo: new Date()\n };\n this.folderFormCreate = {\n name: '',\n parentFolderId: null,\n order: 0,\n };\n this.folderFormUpdate = {\n name: '',\n parentFolderId: null,\n order: 0,\n };\n //calculate postbox height\n if (!QMC.Common.Constants.IS_MOBILE) {\n $(window).resize(function () { $('#folderList').height($('#folderPane').height() - 190); });\n $('#folderList').height($('#folderPane').height() - 190);\n }\n this.$scope.$watch('vm.newForm', function (newVal, oldVal) {\n if (newVal !== oldVal && newVal)\n _this.newMessageDraft($('#summernoteNewMessage').find('.note-editable').html());\n }, true);\n this.$scope.$watch('vm.forwardRecipients', function (newVal, oldVal) {\n if (newVal !== oldVal && newVal && newVal.length !== oldVal.length)\n _this.forwardMessageDraft($('#summernoteForwardMessage').find('.note-editable').html());\n });\n };\n NachrichtenController.prototype.setFilterView = function (filter, px) {\n var _this = this;\n this.transferFolder = null;\n $(\"[data-filter]\").fadeOut(\"fast\");\n if (filter === this.selectedFilter || filter === 'hide') {\n this.filterHeight = 0;\n this.selectedFilter = null;\n $(\".scroll-container\").css(\"top\", 56);\n $(\"[data-filter]\").fadeOut(\"fast\");\n }\n else {\n this.selectedFilter = filter;\n if (this.filterHeight > 0) {\n $(\".scroll-container\").css(\"top\", 56);\n setTimeout(function () {\n $(\".scroll-container\").css(\"top\", px);\n $(\"[data-filter='\" + filter + \"']\").fadeIn(\"fast\");\n _this.filterHeight = px;\n }, 500);\n }\n else {\n $(\"[data-filter='\" + filter + \"']\").fadeIn(\"fast\");\n $(\".scroll-container\").css(\"top\", px);\n this.filterHeight = px;\n }\n }\n };\n /**\n * setFilter\n * @description Set the current filter values\n */\n NachrichtenController.prototype.setFilter = function () {\n this.filter = {\n filterDateFrom: this.filter.filterDateFrom,\n filterDateTo: this.filter.filterDateTo,\n dateFrom: this.filter.filterDateFrom,\n dateTo: this.filter.filterDateTo\n };\n this.getMessagesOfCurrentFolder();\n };\n NachrichtenController.prototype.toggleAllCheckboxes = function () {\n console.log(this.messageList.items);\n for (var msg in this.messageList.items)\n this.messageList.items[msg].isSelected = this.checkToggle;\n this.checkToggle = !this.checkToggle;\n this.getSelectedMessages();\n };\n NachrichtenController.prototype.getSelectedMessages = function () {\n var areMessSelected = false;\n var messageIds = [];\n for (var i = 0; i < this.messageList.items.length; i++) {\n if (this.messageList.items[i].isSelected) {\n messageIds.push(this.messageList.items[i].messageObjectId);\n areMessSelected = true;\n }\n }\n if (!areMessSelected) {\n this.setFilterView('hide', 140);\n }\n this.selectedMessageIds = messageIds;\n this.$qui.scopeApply(this.$scope);\n };\n NachrichtenController.prototype.changeFolder = function (folder) {\n this.setFilterView('hide', 140);\n $('#' + this.selectedFolderId).removeClass('active-folder');\n this.selectedMessageIds = [];\n this.folderLoading = true;\n this.shownMessage = null;\n this.isNewMessage = false;\n this.selectedFolder = folder;\n this.selectedFolderId = folder.id;\n this.selectedFolderName = folder.caption;\n this.getMessagesOfCurrentFolder();\n this.reply = false;\n this.replyToAll = false;\n this.reply = false;\n this.folderFormUpdateState = 'edit';\n this.folderFormUpdate = {\n name: this.selectedFolder.caption,\n parentFolderId: this.selectedFolder.parentObjectId,\n order: this.selectedFolder.order,\n };\n if (this.selectedFolderId !== this.draftFolderId)\n this.ui.createFolderUpdateForm();\n this.isSendFolder = this.selectedFolderId === QMC.Common.Constants.MESSAGE_SENT_FOLDER_ID;\n $('#' + this.selectedFolderId).addClass('active-folder');\n };\n NachrichtenController.prototype.fileTypeIcon = function (fileName) {\n var type = fileName.split('.')[fileName.split('.').length - 1];\n var icon = \"fa fa-\";\n switch (type) {\n case ('jpg'):\n case ('gif'):\n case ('png'):\n icon += \"file-image-o\";\n break;\n case ('txt'):\n icon += \"file-txt-o\";\n break;\n case ('xdoc'):\n case ('doc'):\n icon += \"file-word-o\";\n break;\n case ('zip'):\n case ('rar'):\n icon += \"file-zip-o\";\n break;\n case ('pdf'):\n icon += \"file-pdf-o\";\n break;\n case ('csv'):\n case ('xlxs'):\n icon += \"file-excel-o\";\n break;\n case ('xppt'):\n case ('ppt'):\n icon += \"file-powerpoint-o\";\n break;\n default:\n icon += \"file-o\";\n }\n return icon;\n };\n NachrichtenController.prototype.recSelect = function () {\n this.selectedRecs = [];\n this.newForm.recipientIds = [];\n for (var select in this.recs)\n if (this.recs[select].isSelected) {\n this.newForm.recipientIds.push(this.recs[select].objectId);\n this.selectedRecs.push(this.recs[select]);\n }\n this.$qui.bindEvents();\n };\n NachrichtenController.prototype.showMessage = function (id) {\n var _this = this;\n if (this.selectedFolderId === this.draftFolderId) {\n this.openDraft(id);\n return;\n }\n $('#summernoteAnswerMessage').find('.note-editable').html('');\n this.loading = true;\n this.reply = false;\n this.forward = false;\n this.nachrichtenService.getMessage(id).then(function (data) {\n _this.shownMessage = data;\n _this.markShownMessageAsRead();\n $('#summernoteAnswerMessage').find('.note-editable').html(_this.getAnswerString(data));\n $('#summernoteForwardMessage').find('.note-editable').html(_this.getAnswerString(data));\n _this.loading = false;\n setTimeout(_this.$qui.initTooltip, 600);\n });\n };\n NachrichtenController.prototype.print = function () {\n var areas = document.getElementsByName('printableAreas');\n var winPrint = window.open('', '', 'left=0,top=0,width=800,height=600,toolbar=0,scrollbars=0,status=0');\n for (var i = 0; i < areas.length; i++) {\n winPrint.document.write(areas[i].innerHTML);\n console.log(this.shownMessage.recipients.length);\n if (this.shownMessage.recipients.length === 0) {\n winPrint.document.getElementById('recipients').remove();\n }\n ;\n winPrint.document.getElementById('buttons').remove();\n if (this.shownMessage.attachments.length === 0) {\n winPrint.document.getElementById('mailattachments').remove();\n }\n if (i % 2 == 1)\n winPrint.document.write(\"
\");\n }\n winPrint.document.close();\n winPrint.focus();\n winPrint.print();\n winPrint.close();\n };\n NachrichtenController.prototype.getAnswerString = function (data) {\n var date = this.$qui.createDateFromString(data.dateCreated);\n var answer = '
' + data.sender;\n answer += \" \" + \"schrieb am:\" + \" \";\n answer += date.toLocaleDateString();\n answer += \" \" + \"um:\" + \" \";\n answer += date.getHours() + \":\" + (date.getMinutes() < 10 ? '0' : '') + date.getMinutes();\n answer += \"
\" + data.messageText + \"
\";\n return answer;\n };\n NachrichtenController.prototype.renderMessageHTML = function (htmlString) {\n $(\".mail-text-area\").html(htmlString);\n };\n NachrichtenController.prototype.openNewMessage = function () {\n this.resetNewForm();\n this.isNewMessage = true;\n $(\"#newMessageBox\").focus();\n };\n NachrichtenController.prototype.cancelNewMessage = function () {\n this.resetNewForm();\n this.isNewMessage = false;\n };\n NachrichtenController.prototype.resetMessageList = function () {\n this.messageList = { items: [], paginationInfo: { totalItemsCount: 0, totalPages: 0 } };\n };\n NachrichtenController.prototype.resetNewForm = function () {\n $('#summernoteNewMessage').find('.note-editable').html('');\n this.newForm = { messageText: '', recipientIds: [], subject: \"\", attachments: [] };\n this.uploads = [];\n this.selectedFileNames = [];\n this.currentDraftId = undefined;\n this.isDraftPosting = false;\n this.recs.forEach(function (x) { return x.isSelected = false; });\n };\n NachrichtenController.prototype.updateFlatFolderList = function () {\n this.flatFolderList = this.getFlatFolderList();\n };\n NachrichtenController.prototype.getFolders = function () {\n var _this = this;\n this.folderList = [];\n this.nachrichtenService.getFolderList().then(function (data) {\n _this.folderList = data;\n _this.updateFlatFolderList();\n if (_this.$stateParams.folderId === undefined) {\n _this.selectedFolderId = QMC.Common.Constants.MESSAGE_INBOX_FOLDER_ID;\n _this.selectedFolderName = _this.lng.translate(21004022, \"Posteingang\");\n }\n else {\n for (var i = 0; i < _this.folderList.length; i++) {\n if (data[i].id === _this.$stateParams.folderId || data[i].id === _this.$stateParams.folderId) {\n _this.changeFolder(data[i]);\n break;\n }\n }\n }\n _this.$qui.functionWaiter(\"ui.createFolderForm\", _this);\n _this.$qui.functionWaiter(\"ui.createFolderUpdateForm\", _this);\n _this.getDrafts();\n });\n };\n NachrichtenController.prototype.updateFolderList = function () {\n var _this = this;\n this.nachrichtenService.getFolderList().then(function (data) {\n _this.folderList = data;\n _this.updateFlatFolderList();\n setTimeout(function () {\n $('#' + _this.selectedFolderId).addClass('active-folder');\n _this.$scope.apply;\n }, 500);\n });\n };\n NachrichtenController.prototype.getFlatFolderList = function () {\n var result = [];\n this.folderListGeneratorRecursive(this.folderList, result);\n return result;\n };\n NachrichtenController.prototype.folderListGeneratorRecursive = function (data, result) {\n if (!data)\n return;\n for (var i = 0; i < data.length; i++) {\n result.push(data[i]);\n if (data[i].children.length > 0)\n this.folderListGeneratorRecursive(data[i].children, result);\n }\n };\n NachrichtenController.prototype.getShownMessageById = function (id) {\n var _this = this;\n this.reply = false;\n this.forward = false;\n this.nachrichtenService.getMessage(id).then(function (data) {\n _this.shownMessage = data;\n setTimeout(function () {\n _this.$qui.anonAvatar();\n }, 300);\n });\n };\n NachrichtenController.prototype.markMessageAsRead = function (messageId) {\n for (var msg in this.messageList.items) {\n if (this.messageList.items[msg].messageId === messageId) {\n this.messageList.items[msg].isRead = true;\n }\n }\n };\n NachrichtenController.prototype.strip = function (html) {\n if (!html)\n return \"\";\n var textEl = document.createElement(\"div\");\n textEl.innerHTML = html;\n return textEl.textContent.trim();\n };\n NachrichtenController.prototype.getMessagesOfCurrentFolder = function (page) {\n var _this = this;\n if (this.selectedFolderId === this.draftFolderId) {\n this.messageList = {\n paginationInfo: {\n totalPages: 1,\n totalItemsCount: this.drafts.length\n },\n items: this.drafts.filter(function (x) { return x.lastUpdate >= moment(_this.filter.filterDateFrom).startOf('day').toDate() && x.lastUpdate <= moment(_this.filter.filterDateTo).endOf('day').toDate(); }).map(function (x) { return ({\n id: x.id,\n objectId: x.id,\n messageId: x.id,\n messageObjectId: x.id,\n folderObjectId: _this.draftFolderId,\n senderObjectId: $('#session').data().personId,\n sender: x.content.subject,\n subject: _this.strip(x.content.text),\n previewText: '',\n isRead: true,\n hasDocuments: false,\n isSelected: false,\n createdDate: x.lastUpdate\n }); })\n };\n this.folderLoading = false;\n return;\n }\n if (page === undefined || page === null) {\n page = 0;\n }\n this.loading = true;\n this.readMode = true;\n this.resetMessageList();\n this.nachrichtenService.getMessageList(this.filter.filterDateFrom, this.filter.filterDateTo, this.selectedFolderId, page, -1).then(function (data) {\n _this.messageList = data;\n if (_this.$stateParams.messageId !== undefined) {\n setTimeout(_this.$qui.anonAvatar, 350);\n _this.showMessage(_this.$stateParams.messageId);\n _this.markMessageAsRead(_this.$stateParams.messageId);\n }\n else {\n if (_this.messageList.items.length > 1) {\n setTimeout(_this.$qui.anonAvatar, 350);\n if (_this.isInit === false || _this.messageList.items[0].isRead) {\n // on the first load of the message module, just show the message, do not mark it as read\n _this.showMessage(_this.messageList.items[0].messageObjectId);\n _this.markMessageAsRead(_this.messageList.items[0].messageObjectId);\n }\n }\n else {\n _this.loading = false;\n }\n }\n _this.loading = false;\n _this.folderLoading = false;\n _this.isInit = false;\n });\n };\n NachrichtenController.prototype.viewMode = function () {\n this.readMode = !this.readMode;\n if (!this.readMode)\n setTimeout(function () { $(\"#mail-subject\").focus(); }, 350);\n };\n NachrichtenController.prototype.getAvailableRecipients = function () {\n var _this = this;\n this.availableRecipients = [];\n this.nachrichtenService.getAvailableRecipients().then(function (data) {\n //for (const re in data) data[re].isSelected = false;\n data.forEach(function (x) { return (x.isSelected = false, x.displayTitle = _this.$qui.createPersonDisplay(x.lastName, x.firstName, x.shortCaption, x.personNumber)); });\n _this.recs = data;\n _this.availableRecipients = data.map(function (x) { return ({ text: x.displayTitle, value: x.objectId, subText: x.institute }); });\n });\n };\n NachrichtenController.prototype.markSelectedMessagesAsRead = function () {\n this.getSelectedMessages();\n if (this.selectedFolderId === undefined) {\n this.selectedFolderId = QMC.Common.Constants.MESSAGE_INBOX_FOLDER_ID;\n }\n var request = {\n id: null,\n folderId: this.selectedFolderId,\n messageIds: this.selectedMessageIds,\n objectId: null\n };\n this.nachrichtenService.markMessageAsRead(request);\n this.$state.go(this.$state.current, { folderId: this.selectedFolderId }, { reload: true });\n };\n NachrichtenController.prototype.markShownMessageAsRead = function () {\n var _this = this;\n var request = {\n id: null,\n folderId: this.shownMessage.folderId,\n messageIds: [this.shownMessage.objectId],\n objectId: null\n };\n this.nachrichtenService.markMessageAsRead(request).then(function () {\n // For keeping the unread messages count on folders fresh\n _this.updateFolderList();\n });\n };\n NachrichtenController.prototype.deleteSelectedMessages = function () {\n var _this = this;\n if (this.selectedFolderId === this.draftFolderId) {\n this.deleteDrafts(this.selectedMessageIds);\n this.openDraftFolder();\n }\n else if (this.selectedFolderId === QMC.Common.Constants.MESSAGE_RECYCLEBIN_FOLDER_ID || !this.useTrash) {\n var completed_1 = [];\n var _loop_1 = function (i) {\n completed_1.push(false);\n this_1.nachrichtenService.deleteMessage(this_1.selectedMessageIds[i]).then(function () {\n completed_1[i] = true;\n if (_this.allTrueInArray(completed_1)) {\n _this.$state.go(_this.$state.current, { folderId: _this.selectedFolderId }, { reload: true });\n _this.$qui.notify(_this.$qui.deleteNote);\n }\n });\n };\n var this_1 = this;\n for (var i = 0; i < this.selectedMessageIds.length; i++) {\n _loop_1(i);\n }\n }\n else {\n this.moveSelectedMessagesToFolder(QMC.Common.Constants.MESSAGE_RECYCLEBIN_FOLDER_ID);\n }\n };\n NachrichtenController.prototype.allTrueInArray = function (list) {\n for (var i = 0; i < list.length; i++)\n if (!list[i])\n return false;\n return true;\n };\n NachrichtenController.prototype.deleteMessage = function (id) {\n var _this = this;\n if (this.selectedFolderId === QMC.Common.Constants.MESSAGE_RECYCLEBIN_FOLDER_ID || !this.useTrash) {\n this.nachrichtenService.deleteMessage(id).then(function () {\n _this.$state.go(_this.$state.current, { folderId: _this.selectedFolderId }, { reload: true });\n });\n }\n else if (this.selectedFolderId === QMC.Common.Constants.MESSAGE_SENT_FOLDER_ID) {\n this.nachrichtenService.deleteMessage(id, true).then(function () {\n _this.$state.go(_this.$state.current, { folderId: _this.selectedFolderId }, { reload: true });\n });\n }\n else {\n this.moveMessageToFolder(id, QMC.Common.Constants.MESSAGE_RECYCLEBIN_FOLDER_ID);\n }\n };\n NachrichtenController.prototype.moveSelectedMessagesToFolder = function (folderId) {\n var _this = this;\n this.getSelectedMessages();\n var updateItems = [];\n for (var i = 0; i < this.selectedMessageIds.length; i++) {\n updateItems.push({\n folderId: this.selectedFolderId,\n messageId: this.selectedMessageIds[i]\n });\n }\n var request = {\n id: null,\n messages: updateItems,\n targetFolderId: folderId,\n objectId: null\n };\n this.nachrichtenService.moveMessageToFolder(request).then(function () {\n $('#transferMailsModal').modal('hide');\n setTimeout(function () { _this.$state.go(_this.$state.current, { folderId: _this.selectedFolderId }, { reload: true }); }, 400);\n });\n };\n NachrichtenController.prototype.moveMessageToFolder = function (messageId, folderId) {\n var _this = this;\n var messages = [];\n messages.push({\n folderId: this.selectedFolderId,\n messageId: messageId\n });\n var request = {\n id: null,\n messages: messages,\n targetFolderId: folderId,\n objectId: null\n };\n this.nachrichtenService.moveMessageToFolder(request).then(function () {\n setTimeout(function () { _this.$state.go(_this.$state.current, { folderId: _this.selectedFolderId }, { reload: true }); }, 400);\n });\n };\n NachrichtenController.prototype.sendNewMessage = function () {\n var _this = this;\n if (this.selectedRecs.length <= 0)\n return;\n // Attach the attachments to the attached attachment-object\n var attachments = [];\n for (var i = 0; i < this.selectedFileNames.length; i++) {\n var attachment = { fileName: this.selectedFileNames[i], attachmentBase64String: this.uploads[i] };\n attachments.push(attachment);\n }\n this.newForm.attachments = attachments;\n this.newForm.messageText = $('#summernoteNewMessage').find('.note-editable').html();\n this.loading = true;\n this.nachrichtenService.postMessage(this.newForm).then(function (e) {\n $('#loadingScreen').modal('hide');\n _this.loading = false;\n // Force backdrop to go away\n $('body').removeClass('modal-open');\n $('.modal-backdrop').remove();\n if (e !== (null || undefined)) {\n if (_this.currentDraftId)\n _this.deleteDrafts([_this.currentDraftId]);\n if (_this.selectedFolderId === _this.draftFolderId)\n _this.openDraftFolder();\n else\n _this.$state.go(_this.$state.current, { folderId: _this.selectedFolderId }, { reload: true });\n }\n }).catch(function () {\n $('#loadingScreen').modal('hide');\n _this.loading = false;\n });\n };\n NachrichtenController.prototype.sendAnswer = function () {\n var _this = this;\n var createData = { messageText: null, recipientIds: null, subject: null, attachments: null };\n // Attach the attachments to the attached attachment-object\n var attachments = [];\n for (var i = 0; i < this.selectedFileNames.length; i++) {\n var attachment = { fileName: this.selectedFileNames[i], attachmentBase64String: this.uploads[i] };\n attachments.push(attachment);\n }\n createData.attachments = attachments;\n createData.recipientIds = [];\n if (this.replyToAll === true) {\n for (var i = 0; i < this.shownMessage.recipients.length; i++) {\n createData.recipientIds.push(this.shownMessage.recipients[i].recipientObjectId);\n }\n }\n else {\n createData.recipientIds.push(this.shownMessage.senderObjectId);\n }\n createData.subject = this.lng.translate(21004048, 'AW') + \": \" + this.shownMessage.subject;\n createData.messageText = $('#summernoteAnswerMessage').find('.note-editable').html();\n this.loading = true;\n this.nachrichtenService.postMessage(createData).then(function () {\n _this.deleteDrafts([_this.currentDraftId]);\n $('#loadingScreen').modal('hide');\n _this.loading = false;\n // Force backdrop to go away\n $('body').removeClass('modal-open');\n $('.modal-backdrop').remove();\n _this.$state.go(_this.$state.current, { folderId: _this.selectedFolderId }, { reload: true });\n });\n };\n NachrichtenController.prototype.changeReplyMode = function (mode) {\n var _this = this;\n this.uploads = [];\n this.selectedFileNames = [];\n if (mode === 'replyToAll') {\n this.forward = false;\n this.reply = false;\n var draft = this.drafts.filter(function (x) { return x.internalMessageId === _this.shownMessage.objectId; })[0];\n if (draft) {\n this.currentDraftId = draft.id;\n $('#summernoteAnswerMessage').find('.note-editable').html(draft.content.text);\n }\n }\n if (mode === 'reply') {\n this.forward = false;\n this.replyToAll = false;\n var draft = this.drafts.filter(function (x) { return x.internalMessageId === _this.shownMessage.objectId; })[0];\n if (draft) {\n this.currentDraftId = draft.id;\n $('#summernoteAnswerMessage').find('.note-editable').html(draft.content.text);\n }\n }\n if (mode === 'forward') {\n this.reply = false;\n if (this.forward) {\n this.forwardRecipients = [];\n this.selectedFileNames = this.shownMessage.attachments.map(function (x) {\n return x.caption && x.caption.length > 0 ? x.caption : x.fileName;\n });\n this.uploads = this.shownMessage.attachments.map(function (x) { return 'fwrd;' + x.parentObjectId + ';' + x.objectId; });\n var draft = this.drafts.filter(function (x) { return x.internalMessageId === _this.shownMessage.objectId; })[0];\n if (draft) {\n this.currentDraftId = draft.id;\n this.forwardRecipients = draft.content.recipientIds;\n $('#summernoteForwardMessage').find('.note-editable').html(draft.content.text);\n }\n }\n }\n };\n NachrichtenController.prototype.sendForward = function () {\n var _this = this;\n var createData = { messageText: null, recipientIds: null, subject: null, attachments: null };\n // Attach the attachments to the attached attachment-object\n var attachments = [];\n for (var i = 0; i < this.selectedFileNames.length; i++) {\n var attachment = { fileName: this.selectedFileNames[i], attachmentBase64String: this.uploads[i] };\n attachments.push(attachment);\n }\n createData.attachments = attachments;\n createData.recipientIds = this.forwardRecipients;\n createData.subject = this.lng.translate(21004049, 'WG') + \": \" + this.shownMessage.subject;\n createData.messageText = $('#summernoteForwardMessage').find('.note-editable').html();\n this.loading = true;\n this.nachrichtenService.postMessage(createData).then(function () {\n _this.deleteDrafts([_this.currentDraftId]);\n $('#loadingScreen').modal('hide');\n _this.loading = false;\n // Force backdrop to go away\n $('body').removeClass('modal-open');\n $('.modal-backdrop').remove();\n _this.$state.go(_this.$state.current, { folderId: _this.selectedFolderId }, { reload: true });\n });\n };\n NachrichtenController.prototype.getAttachment = function (message, attachmentId) {\n var _this = this;\n if (message.attachments !== undefined && message.attachments !== null && message.attachments.length > 0) {\n this.loadingAttachement = true;\n $('#previewModal').modal('show');\n this.nachrichtenService.downloadAttachment(message.attachments[0].parentObjectId, attachmentId).then(function (data) {\n try {\n // Find filename from mail attachments\n var filename = 'datei';\n for (var i = 0; i < message.attachments.length; i++) {\n if (message.attachments[i].objectId === attachmentId) {\n filename = message.attachments[i].fileName;\n }\n }\n // get filename suffix and contenttype\n var temp = filename.split('.');\n var ext = temp[temp.length - 1];\n _this.fileInfos = {\n base64: data,\n fileType: ext,\n fileName: filename\n };\n _this.loadingAttachement = false;\n _this.$qui.scopeApply(_this.$scope);\n }\n catch (e) {\n console.log(e);\n _this.loadingAttachement = false;\n }\n });\n }\n };\n NachrichtenController.prototype.getAllAttachments = function (message) {\n var _this = this;\n if (message.attachments !== undefined && message.attachments !== null && message.attachments.length > 0) {\n this.nachrichtenService.downloadAttachment(message.attachments[0].parentObjectId).then(function (data) {\n try {\n var filename = 'anhang.zip';\n var contentType = 'application/zip';\n _this.$qui.notify(_this.$qui.downloadNote);\n var linkElement = document.createElement('a');\n var blob = _this.base64ToBlob(data, contentType);\n var url = window.URL.createObjectURL(blob);\n linkElement.setAttribute('href', url);\n linkElement.setAttribute('download', filename);\n var clickEvent = new MouseEvent('click', {\n \"view\": window,\n \"bubbles\": true,\n \"cancelable\": false\n });\n linkElement.dispatchEvent(clickEvent);\n }\n catch (e) {\n console.log(e);\n }\n });\n }\n };\n NachrichtenController.prototype.base64ToBlob = function (base64Data, contentType) {\n contentType = contentType || '';\n var sliceSize = 1024;\n var byteCharacters = atob(base64Data);\n var bytesLength = byteCharacters.length;\n var slicesCount = Math.ceil(bytesLength / sliceSize);\n var byteArrays = new Array(slicesCount);\n for (var sliceIndex = 0; sliceIndex < slicesCount; ++sliceIndex) {\n var begin = sliceIndex * sliceSize;\n var end = Math.min(begin + sliceSize, bytesLength);\n var bytes = new Array(end - begin);\n for (var offset = begin, i = 0; offset < end; ++i, ++offset) {\n bytes[i] = byteCharacters[offset].charCodeAt(0);\n }\n byteArrays[sliceIndex] = new Uint8Array(bytes);\n }\n return new Blob(byteArrays, { type: contentType });\n };\n NachrichtenController.prototype.openFileSelector = function () {\n var fileSelector = angular.element('#fileselect');\n fileSelector.click();\n };\n NachrichtenController.prototype.removeSelectedFile = function (index) {\n this.selectedFileNames.splice(index, 1);\n this.uploads.splice(index, 1);\n };\n NachrichtenController.prototype.getPagesCount = function (count) {\n return new Array(count);\n };\n NachrichtenController.prototype.getFolderListForCreate = function () {\n return this.flatFolderList.map(function (obj) { return ({ value: obj.folderId, text: obj.caption }); });\n };\n NachrichtenController.prototype.getFolderListForUpdate = function () {\n var _this = this;\n if (!this.flatFolderList || !this.selectedFolder)\n return [];\n return this.flatFolderList.filter(function (obj) { return (obj.folderId !== _this.selectedFolder.folderId) && !_this.isChild(_this.selectedFolder.children, obj.folderId); })\n .map(function (obj) { return ({ value: obj.folderId, text: obj.caption }); });\n };\n NachrichtenController.prototype.isChild = function (folders, folderId) {\n for (var i = 0; i < folders.length; i++) {\n var child = folders[i];\n if (child.folderId === folderId) {\n return true;\n }\n return this.isChild(child.children, folderId);\n }\n };\n NachrichtenController.prototype.createFolder = function () {\n var _this = this;\n this.folderFormCreate.order = this.getFolderOrder(this.folderFormCreate.parentFolderId);\n this.nachrichtenService.postFolder(this.folderFormCreate)\n .then(function () {\n _this.getFolders();\n });\n };\n NachrichtenController.prototype.getFolderOrder = function (parentId) {\n var folderOrder = 1;\n for (var i = 0; i < this.folderList.length; i++) {\n var folder = this.folderList[i];\n if (folder.folderId === parentId) {\n if (folder.children.length > 0)\n folderOrder = folder.children.length;\n break;\n }\n }\n return folderOrder;\n };\n NachrichtenController.prototype.updateFolder = function () {\n var _this = this;\n this.nachrichtenService.putFolder(this.selectedFolder.folderId, this.folderFormUpdate)\n .then(function () {\n _this.getFolders();\n });\n };\n NachrichtenController.prototype.deleteFolder = function () {\n var _this = this;\n QMC.Common.Utilities.confirm(this.promptOptionsFolderDelete, function (data) {\n if (data) {\n _this.nachrichtenService.deleteFolder(_this.selectedFolder.folderId)\n .then(function () {\n _this.getFolders();\n });\n $('#folderModalUpdate').modal('hide');\n }\n else {\n location.hash = '/mailbox';\n }\n });\n };\n NachrichtenController.prototype.isStandardFolder = function () {\n if (this.selectedFolder === (null || undefined))\n return true;\n return this.selectedFolder.id === QMC.Common.Constants.MESSAGE_INBOX_FOLDER_ID ||\n this.selectedFolder.id === QMC.Common.Constants.MESSAGE_RECYCLEBIN_FOLDER_ID ||\n this.selectedFolder.id === QMC.Common.Constants.MESSAGE_SENT_FOLDER_ID ||\n this.selectedFolder.id === this.draftFolderId;\n };\n ////////////////////// DRAFTS //////////////////////\n NachrichtenController.prototype.newMessageDraft = function (content) {\n var _this = this;\n if (!this.currentDraftId)\n this.setDraft({\n content: {\n text: content,\n recipientIds: this.newForm.recipientIds,\n subject: this.newForm.subject\n },\n lastUpdate: new Date()\n });\n else {\n var draft = this.drafts.filter(function (x) { return x.id === _this.currentDraftId; })[0];\n draft.content = {\n text: content,\n recipientIds: this.newForm.recipientIds,\n subject: this.newForm.subject\n };\n this.setDraft(draft);\n }\n };\n NachrichtenController.prototype.forwardMessageDraft = function (content) {\n this.existingMessageDraft(content, this.forwardRecipients, this.lng.translate(21004049, 'WG') + \": \" + this.shownMessage.subject);\n };\n NachrichtenController.prototype.replyMessageDraft = function (content) {\n var recipients = [this.shownMessage.senderObjectId];\n if (this.replyToAll) {\n this.shownMessage.recipients.forEach(function (x) { return recipients.push(x.recipientObjectId); });\n }\n this.existingMessageDraft(content, recipients, this.lng.translate(21004048, 'AW') + \": \" + this.shownMessage.subject);\n };\n NachrichtenController.prototype.existingMessageDraft = function (content, recipients, subject) {\n var _this = this;\n var present = this.drafts.filter(function (x) { var _a; return x.internalMessageId === ((_a = _this.shownMessage) === null || _a === void 0 ? void 0 : _a.objectId); })[0];\n if (present) {\n present.content = {\n subject: subject,\n recipientIds: recipients,\n text: content\n };\n this.setDraft(present);\n }\n else {\n this.setDraft({\n content: {\n recipientIds: recipients,\n subject: subject,\n text: content\n },\n lastUpdate: new Date(),\n internalMessageId: this.shownMessage.objectId\n });\n }\n };\n NachrichtenController.prototype.openDraftFolder = function () {\n var folder = {\n mailboxFolderWvId: this.draftFolderId,\n caption: 'Entwurf',\n isFixed: true,\n order: 1000,\n unreadCount: this.drafts.length,\n folderId: this.draftFolderId,\n children: [],\n id: this.draftFolderId,\n objectId: this.draftFolderId\n };\n this.readMode = true;\n this.changeFolder(folder);\n this.ui.toState(2);\n };\n NachrichtenController.prototype.openDraft = function (id) {\n var draft = this.drafts.filter(function (x) { return x.id === id; })[0];\n if (!draft)\n return;\n this.lastDraftSave = undefined;\n this.resetNewForm();\n this.currentDraftId = draft.id;\n this.newForm = {\n attachments: [],\n messageText: draft.content.text,\n recipientIds: draft.content.recipientIds,\n subject: draft.content.subject\n };\n var _loop_2 = function (rec) {\n rec.isSelected = draft.content.recipientIds.some(function (x) { return x === rec.objectId; });\n };\n // Select recipients\n for (var _i = 0, _a = this.recs; _i < _a.length; _i++) {\n var rec = _a[_i];\n _loop_2(rec);\n }\n this.recSelect();\n this.viewMode();\n this.ui.toState(2);\n this.$qui.bindEvents();\n $('#summernoteNewMessage').find('.note-editable').html(draft.content.text);\n };\n NachrichtenController.prototype.getDrafts = function () {\n var _this = this;\n this.nachrichtenService.getDrafts().then(function (data) {\n _this.drafts = data;\n }).catch(function () {\n _this.drafts = [];\n });\n };\n NachrichtenController.prototype.deleteDrafts = function (ids) {\n var _this = this;\n ids.forEach(function (id) {\n if (!id)\n return;\n _this.drafts = _this.drafts.filter(function (x) { return x.id !== id; });\n _this.nachrichtenService.deleteDraft(id);\n });\n this.lastDraftSave = undefined;\n this.currentDraftId = undefined;\n if (this.selectedFolderId === this.draftFolderId) {\n this.setFilterView('hide', 140);\n }\n };\n NachrichtenController.prototype.setDraft = function (data) {\n var _this = this;\n if (this.isDraftPosting) {\n setTimeout(function () {\n _this.setDraft(data);\n }, 500);\n return;\n }\n data.lastUpdate = new Date();\n if (!this.currentDraftId) {\n if (this.draftIsEmpty(data))\n return;\n this.isDraftPosting = true;\n this.nachrichtenService.postDraft(data).then(function (e) {\n _this.currentDraftId = e;\n _this.isDraftPosting = false;\n data.id = e;\n _this.drafts.push(data);\n });\n }\n else {\n if (this.draftIsEmpty(data)) {\n this.deleteDrafts([this.currentDraftId]);\n }\n else {\n data.id = this.currentDraftId;\n this.drafts = this.drafts.filter(function (x) { return x.id !== _this.currentDraftId; });\n this.drafts.push(data);\n if (!this.lastDraftSave) {\n this.lastDraftSave = data;\n setTimeout(function () {\n if (!_this.currentDraftId || !_this.lastDraftSave)\n return;\n _this.nachrichtenService.putDraft(_this.currentDraftId, _this.lastDraftSave);\n _this.lastDraftSave = undefined;\n }, 5000);\n }\n else {\n this.lastDraftSave = data;\n }\n }\n }\n };\n NachrichtenController.prototype.draftIsEmpty = function (draft) {\n return draft.content.recipientIds.length === 0\n && draft.content.subject.length === 0\n && this.strip(draft.content.text).length === 0;\n };\n NachrichtenController = __decorate([\n QMC.Controller('QMC.Nachrichten', 'NachrichtenController'),\n QMC.Inject('$location', 'NachrichtenService', '$qui', '$stateParams', '$state', '$scope', 'QmcLanguageService', 'UserService')\n ], NachrichtenController);\n return NachrichtenController;\n }());\n })(InternalMessage = QMC.InternalMessage || (QMC.InternalMessage = {}));\n})(QMC || (QMC = {}));\nvar QMC;\n(function (QMC) {\n var InternalMessage;\n (function (InternalMessage) {\n var UserInterface = /** @class */ (function (_super) {\n __extends(UserInterface, _super);\n function UserInterface() {\n var _this = _super.call(this) || this;\n _this.state = 0;\n _this.mobile = _super.prototype.isMobile.call(_this);\n /**\n * Folder form\n * @memberOf UserInterface\n */\n _this.folderForm = {\n form: [\n {\n label: \"Name\",\n placeholder: \"Name\",\n type: \"String\",\n lngTag: \"20000072\",\n required: true,\n model: \"name\",\n validate: {\n message: \"Bitte den Ordnernamen angeben.\",\n messageTag: \"21004036\"\n },\n style: {\n class: \"col-xs-6\"\n }\n },\n {\n label: \"Parentordner\",\n placeholder: \"Parentordner\",\n type: \"Select\",\n lngTag: \"21004037\",\n required: true,\n model: \"parentFolderId\",\n dataSource: \"getFolderListForCreate\",\n validate: {\n message: \"Bitte den �bergeordneten Ordner ausw�hlen\",\n messageTag: \"21004038\",\n },\n style: {\n class: \"col-xs-6\"\n }\n }\n ],\n actions: {\n post: \"createFolder\"\n }\n };\n _this.folderFormUpdate = {\n form: [\n {\n label: \"Name\",\n placeholder: \"Name\",\n type: \"String\",\n lngTag: \"20000072\",\n required: true,\n model: \"name\",\n validate: {\n message: \"Bitte den Ordnernamen angeben.\",\n messageTag: \"21004036\"\n },\n style: {\n class: \"col-xs-4\"\n }\n },\n {\n label: \"Parentordner\",\n placeholder: \"Parentordner\",\n type: \"Select\",\n lngTag: \"21004037\",\n required: true,\n model: \"parentFolderId\",\n dataSource: \"getFolderListForUpdate\",\n validate: {\n message: \"Bitte den �bergeordneten Ordner ausw�hlen\",\n messageTag: \"21004038\",\n },\n style: {\n class: \"col-xs-4\"\n }\n },\n {\n label: \"Reihenfolge\",\n placeholder: \"Reihenfolge\",\n type: \"String\",\n lngTag: \"21004039\",\n required: true,\n model: \"order\",\n validate: {\n message: \"Bitte die Reihenfolge angeben.\",\n messageTag: \"21004040\"\n },\n style: {\n class: \"col-xs-4\"\n }\n }\n ],\n actions: {\n put: \"updateFolder\",\n delete: \"deleteFolder\"\n }\n };\n _this.onMobile();\n _this.onDesktop();\n return _this;\n }\n UserInterface.prototype.onDesktop = function () {\n if (_super.prototype.isMobile.call(this))\n return;\n };\n UserInterface.prototype.onMobile = function () {\n if (!_super.prototype.isMobile.call(this))\n return;\n this.initStates();\n };\n UserInterface.prototype.initStates = function () {\n $(\"[data-state]\").each(this.initState);\n };\n // tslint:disable-next-line:no-unused-variable\n UserInterface.prototype.toState = function (state) {\n if (!_super.prototype.isMobile.call(this))\n return;\n var vm = this;\n vm.state = state;\n console.log(\"Go To State\", state);\n $(\"[data-state]\").each(function (index) {\n ($(this).data().state === vm.state) ? $(this).show() : $(this).hide();\n if (vm.state > 1)\n $(\"[data-state=\\\"1\\\"]\").show();\n });\n };\n UserInterface.prototype.initState = function (index) {\n var data = $(this).data();\n $(this).addClass(\"mobile-fullscreen\");\n if (data.state !== 0)\n $(this).hide();\n };\n return UserInterface;\n }(QMC.Common.UserInterface));\n InternalMessage.UserInterface = UserInterface;\n })(InternalMessage = QMC.InternalMessage || (QMC.InternalMessage = {}));\n})(QMC || (QMC = {}));\n\n//# sourceMappingURL=../../maps/Nachrichten/qmc.nachrichten.js.map\n"],"names":["QMC","__extends","this","extendStatics","d","b","Object","setPrototypeOf","__proto__","Array","p","hasOwnProperty","__","constructor","prototype","create","__decorate","decorators","target","key","desc","c","arguments","length","r","getOwnPropertyDescriptor","Reflect","decorate","i","defineProperty","routes","$locationProvider","$stateProvider","$urlRouterProvider","qmcBase","html5Mode","enabled","requireBase","state","url","templateUrl","controller","controllerAs","resolve","data","console","log","angular","module","config","filter","$sce","stringToParse","trustAsHtml","$inject","HttpProvider","InternalMessage","configureHttpProvider","$httpProvider","defaults","headers","get","_super","NachrichtenService","$http","$q","_this","call","modulePath","Common","BaseService","getMessageList","dateFrom","dateTo","folderId","page","pageSize","getPagination","getMessage","id","getItem","getFolderList","getUnreadCount","downloadAttachment","messageId","attachmentId","then","base64","getAvailableRecipients","getRecipientList","postMessage","post","e","deleteMessage","deleteFromSend","delete","markMessageAsRead","request","put","moveMessageToFolder","moveMessageToRecycleBin","postFolder","putFolder","deleteFolder","getDrafts","forEach","x","content","JSON","parse","recipientIds","lastUpdate","moment","toDate","Date","postDraft","dataOriginal","copy","stringify","createdObjectId","putDraft","deleteDraft","Service","Inject","NachrichtenController","$location","nachrichtenService","$qui","$stateParams","$state","$scope","lng","userService","ui","UserInterface","folderFormCreateState","folderFormUpdateState","selectedMessageIds","selectedFileNames","uploads","inboxFolderId","Constants","MESSAGE_INBOX_FOLDER_ID","sentFolderId","MESSAGE_SENT_FOLDER_ID","recycleBinFolderId","MESSAGE_RECYCLEBIN_FOLDER_ID","forwardRecipients","useTrash","daysToPast","summernoteOptions","height","focus","airMode","lang","toolbar","callbacks","onChange","args","_i","onSummernoteChange","$","recs","readMode","drafts","draftFolderId","selectedFilter","checkToggle","selectedRecs","isDraftPosting","init","getSectionColor","path","anonAvatar","bindEvents","setTimeout","IS_MOBILE","addClass","window","unbind","css","$on","removeClass","isInit","reply","replyToAll","folderLoading","document","getElementById","getAttribute","toLocaleLowerCase","forbidden","resetMessageList","resetNewForm","getFolders","getUserSettings","value","toLowerCase","trim","parseInt","temp","setDate","getDate","filterDateFrom","setFilter","promptOptionsFolderDelete","title","translate","icon","yesNo","text","selectedFolderId","element","closest","newMessageDraft","replyMessageDraft","forwardMessageDraft","summernote","subtract","filterDateTo","folderFormCreate","name","parentFolderId","order","folderFormUpdate","resize","$watch","newVal","oldVal","find","html","setFilterView","px","transferFolder","fadeOut","filterHeight","fadeIn","getMessagesOfCurrentFolder","toggleAllCheckboxes","msg","messageList","items","isSelected","getSelectedMessages","areMessSelected","messageIds","push","messageObjectId","scopeApply","changeFolder","folder","shownMessage","isNewMessage","selectedFolder","selectedFolderName","caption","parentObjectId","createFolderUpdateForm","isSendFolder","fileTypeIcon","fileName","split","recSelect","select","newForm","objectId","showMessage","openDraft","loading","forward","markShownMessageAsRead","getAnswerString","initTooltip","print","areas","getElementsByName","winPrint","open","write","innerHTML","recipients","remove","attachments","close","date","createDateFromString","dateCreated","answer","sender","toLocaleDateString","getHours","getMinutes","messageText","renderMessageHTML","htmlString","openNewMessage","cancelNewMessage","paginationInfo","totalItemsCount","totalPages","subject","currentDraftId","undefined","updateFlatFolderList","flatFolderList","getFlatFolderList","folderList","functionWaiter","updateFolderList","apply","result","folderListGeneratorRecursive","children","getShownMessageById","isRead","strip","textEl","createElement","textContent","startOf","endOf","map","folderObjectId","senderObjectId","personId","previewText","hasDocuments","createdDate","viewMode","availableRecipients","displayTitle","createPersonDisplay","lastName","firstName","shortCaption","personNumber","subText","institute","markSelectedMessagesAsRead","go","current","reload","deleteSelectedMessages","deleteDrafts","openDraftFolder","moveSelectedMessagesToFolder","completed_1","this_1","_loop_1","allTrueInArray","notify","deleteNote","list","updateItems","messages","targetFolderId","modal","sendNewMessage","attachment","attachmentBase64String","catch","sendAnswer","createData","recipientObjectId","changeReplyMode","mode","draft","internalMessageId","sendForward","getAttachment","message","loadingAttachement","filename","ext","fileInfos","fileType","getAllAttachments","downloadNote","linkElement","blob","base64ToBlob","URL","createObjectURL","clickEvent","setAttribute","MouseEvent","view","bubbles","cancelable","dispatchEvent","base64Data","contentType","byteCharacters","atob","bytesLength","slicesCount","Math","ceil","byteArrays","sliceIndex","begin","end","min","bytes","offset","charCodeAt","Uint8Array","Blob","type","openFileSelector","click","removeSelectedFile","index","splice","getPagesCount","count","getFolderListForCreate","obj","getFolderListForUpdate","isChild","folders","child","createFolder","getFolderOrder","parentId","folderOrder","updateFolder","Utilities","confirm","location","hash","isStandardFolder","setDraft","existingMessageDraft","present","_a","mailboxFolderWvId","isFixed","unreadCount","toState","lastDraftSave","_loop_2","rec","some","ids","draftIsEmpty","Controller","mobile","isMobile","folderForm","form","label","placeholder","lngTag","required","model","validate","messageTag","style","class","dataSource","actions","onMobile","onDesktop","initStates","each","initState","vm","show","hide"],"mappings":"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"}