{"version":3,"file":"../../js/Tagebuch/qmc.tagebuch.min.js","sources":["qmc.tagebuch.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\n .module('QMC.Tagebuch', [])\n .config(routes);\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('journal', {\n url: '/journal?id',\n templateUrl: qmcBase + '/Journal/List',\n controller: 'TagebuchListController',\n controllerAs: 'vm',\n resolve: {\n data: [\n function () {\n console.log('Current State: Journal List');\n }\n ]\n },\n params: {\n id: {\n dynamic: true\n }\n }\n })\n .state('journalDetail', {\n url: '/journal/:id',\n templateUrl: qmcBase + '/Journal/Detail',\n controller: 'TagebuchDetailController',\n controllerAs: 'vm',\n resolve: {\n data: [\n function () {\n console.log('Current State: Journal Detail');\n }\n ]\n }\n });\n }\n})();\nvar QMC;\n(function (QMC) {\n var Tagebuch;\n (function (Tagebuch) {\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 Tagebuch.HttpProvider = HttpProvider;\n })(Tagebuch = QMC.Tagebuch || (QMC.Tagebuch = {}));\n})(QMC || (QMC = {}));\n(function () {\n angular.module('QMC.Tagebuch')\n .config(['$httpProvider', QMC.Tagebuch.HttpProvider.configureHttpProvider]);\n})();\nvar QMC;\n(function (QMC) {\n var Tagebuch;\n (function (Tagebuch) {\n var TagebuchService = /** @class */ (function (_super) {\n __extends(TagebuchService, _super);\n function TagebuchService($http, $q) {\n var _this = _super.call(this, $http, $q) || this;\n _this.$http = $http;\n _this.$q = $q;\n _this.modulePath = '/Journal';\n return _this;\n }\n TagebuchService.prototype.getJournalList = function () {\n return _super.prototype.get.call(this, this.modulePath, {}, function (data) {\n return data;\n });\n };\n TagebuchService.prototype.getJournalEntry = function (journalEntryId) {\n return _super.prototype.getItem.call(this, this.modulePath + '/Entry/Single/' + journalEntryId, {}, function (data) {\n return data;\n });\n };\n TagebuchService.prototype.getJournalEntryList = function (journalId, filter) {\n console.log('service filter', filter);\n return _super.prototype.getPagination.call(this, this.modulePath + '/Entry/' + journalId, filter, function (data) {\n return data;\n });\n };\n TagebuchService.prototype.getJournalEntryParticipantList = function (entryId) {\n return _super.prototype.get.call(this, this.modulePath + '/Entry/' + entryId + '/Participants', {}, function (data) {\n return data;\n });\n };\n TagebuchService.prototype.getJournalEntryWv = function (journalId) {\n var additionalParams = \"\";\n if (journalId !== null)\n additionalParams = \"?journalId=\" + journalId;\n return _super.prototype.getItem.call(this, this.modulePath + '/Entry/WvModel' + additionalParams, {}, function (data) {\n return data;\n });\n };\n TagebuchService.prototype.postJournalEntry = function (data) {\n return _super.prototype.post.call(this, this.modulePath + '/Entry', data).then(function (data) {\n return data;\n });\n };\n TagebuchService.prototype.postJournalEntryMultiple = function (data) {\n return _super.prototype.post.call(this, this.modulePath + '/Entry/Multiple', data).then(function (data) {\n return data;\n });\n };\n TagebuchService.prototype.putJournalEntry = function (id, data) {\n return _super.prototype.put.call(this, this.modulePath + '/Entry/' + id, data).then(function (data) {\n return data;\n });\n };\n TagebuchService.prototype.deleteJournalEntry = function (id) {\n return _super.prototype.delete.call(this, this.modulePath + '/Entry/' + id).then(function (data) {\n return data;\n });\n };\n TagebuchService.prototype.postValidation = function (data) {\n return _super.prototype.post.call(this, this.modulePath + '/Entry/WarningsAndErrors', data).then(function (data) {\n return data;\n });\n };\n TagebuchService.prototype.getJournalParticipants = function (addEmptyItem) {\n if (addEmptyItem === void 0) { addEmptyItem = false; }\n return _super.prototype.getItem.call(this, \"/Person/PeopleSelectionAssignment/TAGEBUCHBETEILIGTE\", { addEmptyItem: addEmptyItem }, function (data) {\n return data;\n });\n };\n TagebuchService.prototype.getJournalRequiredFields = function () {\n return _super.prototype.getItem.call(this, this.modulePath + \"/RequiredFields\", {}, function (data) {\n return data;\n });\n };\n /***** SupportPlanTarget Template *****/\n TagebuchService.prototype.getSupportPlanTargetTemplates = function (clientId) {\n return _super.prototype.get.call(this, '/SupportPlan/Template/' + clientId, {}, function (data) {\n return data;\n });\n };\n TagebuchService.prototype.getSupportPlanTargetTemplateItems = function (id) {\n return _super.prototype.get.call(this, '/SupportPlan/Template/item/' + id, {}, function (data) {\n return data;\n });\n };\n TagebuchService = __decorate([\n QMC.Service('QMC.Tagebuch', 'TagebuchService'),\n QMC.Inject('$http', '$q')\n ], TagebuchService);\n return TagebuchService;\n }(QMC.Common.BaseService));\n Tagebuch.TagebuchService = TagebuchService;\n })(Tagebuch = QMC.Tagebuch || (QMC.Tagebuch = {}));\n})(QMC || (QMC = {}));\nvar QMC;\n(function (QMC) {\n var Tagebuch;\n (function (Tagebuch) {\n var TagebuchListController = /** @class */ (function () {\n /**\n * Creates an instance of TagebuchListController.\n * @param {TagebuchService} tagebuchService\n * @param {any} $qui\n * @param {Klient.KlientService} clientService\n * @param {any} $state\n * @param {any} $scope\n * @param {Common.QmcLanguageService} lng\n * @param {Common.QmcPermissionService} permissionService\n * @param {any} $sce\n * @param {StammdatenService} stammdatenService\n *\n * @memberOf TagebuchListController\n */\n function TagebuchListController($location, tagebuchService, $qui, clientService, $state, $scope, lng, permissionService, userService, markItemService, $sce, $stateParams, stammdatenService, udfService) {\n var _this = this;\n this.$location = $location;\n this.tagebuchService = tagebuchService;\n this.$qui = $qui;\n this.clientService = clientService;\n this.$state = $state;\n this.$scope = $scope;\n this.lng = lng;\n this.permissionService = permissionService;\n this.userService = userService;\n this.markItemService = markItemService;\n this.$sce = $sce;\n this.$stateParams = $stateParams;\n this.stammdatenService = stammdatenService;\n this.allowExport = false;\n this.smartAction = new QMC.Common.SmartAction(this.permissionService, this.userService, this.clientService, this.lng, this.$scope);\n this.newFormOpen = false;\n this.maps = {\n livingArea: [],\n priority: [],\n clients: [],\n sorting: [],\n journal: [],\n markings: []\n };\n this.isMobile = QMC.Common.Constants.IS_MOBILE;\n this.participantsList = [];\n this.alreadyLoad = false;\n this.scrollInit = false;\n this.lastPage = false;\n this.sended = false;\n this.pageSize = 10;\n this.listPage = 0;\n this.createSummernote = null;\n this.activeSetFilter = false;\n this.saveLoading = false;\n this.useCurrentDate = false;\n /* support plan */\n this.supportPlanForm = [];\n this.newEntrySupportPlan = false;\n this.enableWarningReason = false;\n this.validation = {\n errors: [],\n warnings: [],\n loading: false\n };\n this.afterValidationAction = \"\";\n this.options = {\n height: 300,\n focus: true,\n airMode: false,\n lang: 'de-DE',\n toolbar: [\n ['font', ['bold', 'italic', 'underline', 'clear']],\n ['alignment', ['ul', 'ol']]\n ]\n };\n this.newFormCacheName = 'JournalNewCache-' + $(\"#session\").data().personId;\n this.formState = \"edit\";\n this.filter = {\n filterDateFrom: null,\n filterDateTo: null,\n filterDateToDisplay: \"1\",\n filterLivingAreaWvId: [],\n filterPriorityWvId: [],\n filterParticipantId: null,\n filterComment: null,\n filterAuthorId: [],\n markings: [],\n commentsDescending: false\n };\n this.udfs = [];\n this.writeProtection = {\n authorOnly: false,\n isActive: false,\n allowedDaysIntoPast: 0,\n hours: 0,\n minutes: 0\n };\n /****************************** ElaborativeWarning ********************************/\n this.elaborativeWarning = false;\n $qui.init($qui.getSectionColor($location.path()), function () {\n $qui.anonAvatar();\n $qui.bindEvents();\n _this.events();\n $(\".help-block\").parent(\"div\").attr(\"style\", \"\");\n });\n if (document.getElementById(\"permissions\").getAttribute(\"journal\").toLocaleLowerCase() !== \"true\") {\n this.forbidden = true;\n return;\n }\n this.promptOptions = {\n title: this.lng.translate(20001007, \"Tagebuch\"),\n yesNo: true,\n icon: \"qm-icon-note_pinned\",\n text: this.lng.translate(20000290, 'Wollen Sie den Eintrag wirklich löschen?')\n };\n this.promptOptionsCache = {\n title: this.lng.translate(20001007, \"Tagebuch\"),\n yesNo: true,\n icon: \"qm-icon-arrow_circle\",\n text: this.lng.translate(20000228, 'Es gibt nicht gespeicherte Änderungen, wollen Sie diese wiederherstellen?'),\n };\n //ObjectType: TagebuchItem\n this.permissionService.getPermissionsByObjectTypes([370002, 370000]).then(function (data) {\n _this.tagebuchService.getJournalRequiredFields().then(function (rf) {\n _this.delete = data[0].delete;\n _this.new = data[0].new;\n _this.modify = data[0].modify;\n // used to listen to 370004, that changed according to DAA-3725 where it was decided that participants belong to the base permission\n _this.newParticipant = data[0].new;\n _this.modifyParticipant = data[0].modify;\n _this.requiredFields = rf;\n _this.allowExport = false;\n });\n });\n this.clientService.getUserList(true).then(function (data) {\n _this.user = data.map(function (x) { return ({ value: x.objectId, text: x.displayTitle }); });\n });\n this.dateManual = new Date();\n this.timeManual = new Date();\n this.filter.filterDateFrom = moment().subtract(14, 'd').toDate();\n this.filter.filterDateTo = new Date();\n this.form = this.initForm();\n this.selectLastUsedJournal();\n if ($stateParams.id)\n this.journalId = $stateParams.id;\n this.getUserSettings(); //Aufruf von init im Callback\n this.getJournals();\n this.stammdatenService.getParticipantsSelectionAssignment('TAGEBUCHBETEILIGTE', true).then(function (data) {\n _this.possibleParticipants = data;\n var values = data.map(function (x) { return ({ value: x.objectId, text: _this.$qui.createPersonDisplay(x.name, x.forename, x.shortCaption, x.personNumber), subText: x.institute, group: x.objectTypeCaption }); });\n values.sort(function (a, b) { return (a.text.toLocaleLowerCase() > b.text.toLocaleLowerCase()) ? 1 : ((b.text.toLocaleLowerCase() > a.text.toLocaleLowerCase()) ? -1 : 0); });\n values.sort(function (a, b) { return (a.group.toLocaleLowerCase() > b.group.toLocaleLowerCase()) ? 1 : ((b.group.toLocaleLowerCase() > a.group.toLocaleLowerCase()) ? -1 : 0); });\n _this.list = values;\n });\n this.maps.sorting = [\n { value: '0', text: this.lng.translate(20017025, 'nach Datum der letzten Änderung') },\n { value: '1', text: this.lng.translate(20017025, 'nach Datum der letzten Änderung') + \" (\" + this.lng.translate(20000307, 'absteigend') + \")\" },\n { value: '2', text: this.lng.translate(20017026, 'nach Erstelldatum') },\n { value: '3', text: this.lng.translate(20017026, 'nach Erstelldatum') + \" (\" + this.lng.translate(20000307, 'absteigend') + \")\" },\n { value: '4', text: this.lng.translate(20017027, 'nach manuellem Datum') },\n { value: '5', text: this.lng.translate(20017027, 'nach manuellem Datum') + \" (\" + this.lng.translate(20000307, 'absteigend') + \")\" },\n ];\n this.alreadyLoad = false;\n this.setFilterFromLocalStorage();\n this.smartActionObject = {\n smartActions: this.smartAction,\n clients: this.list,\n participants: this.participantsList\n };\n udfService.getUserDefinedFields(370002).then(function (data) {\n _this.udfs = data.sort(function (a, b) { return a.caption.localeCompare(b.caption); });\n });\n }\n /**\n * init the form with default values\n *\n * @private\n * @returns {IJournalEntryCreate}\n *\n * @memberOf TagebuchListController\n */\n TagebuchListController.prototype.initForm = function () {\n return {\n id: null,\n comment: \"\",\n commentTypeWvId: null,\n journalId: this.journalId,\n livingAreaId: null,\n priorityId: null,\n objectId: null,\n parentEntryId: null,\n participants: null,\n dateManual: null\n };\n };\n /////////////// DISPLAY LOGIC ///////////////\n TagebuchListController.prototype.trustAsHtml = function (string) {\n return this.$sce.trustAsHtml(string);\n };\n ;\n /**\n * register view events\n *\n * @private\n *\n * @memberOf TagebuchListController\n */\n TagebuchListController.prototype.events = function () {\n var _this = this;\n $(document).scroll(function () {\n if (!_this.alreadyLoad && !_this.loading && _this.scrollInit && !_this.lastPage && ($(window).scrollTop() >= ($(document).height() - $(window).height()) * 0.7)) {\n _this.alreadyLoad = true;\n _this.changePage();\n }\n });\n this.$scope.$watch('vm.journalId', function (newValue, oldValue) {\n if (newValue !== oldValue)\n _this.selectedJournalChanged();\n });\n this.$scope.$watch('vm.form', function (newValue, oldValue) {\n if (_this.newFormOpen && JSON.stringify(newValue) !== JSON.stringify(oldValue))\n _this.setNewFormCache();\n }, true);\n this.$scope.$watch('vm.participantsList', function (newValue, oldValue) {\n if (_this.newFormOpen && newValue !== oldValue) {\n _this.setNewFormCache();\n _this.smartActionObject.participants = _this.participantsList;\n }\n });\n this.$scope.$watch('vm.list', function (newValue, oldValue) {\n if (_this.newFormOpen && newValue !== oldValue) {\n _this.smartActionObject.clients = _this.list;\n }\n });\n this.$scope.$watch('vm.useCurrentDate', function (newValue, oldValue) {\n if (newValue !== oldValue) {\n _this.setNewFormCache();\n localStorage.setItem(QMC.Common.LocalStorageConstants.JOURNAL_USE_CURRENT_DATE, newValue);\n }\n });\n this.$scope.$watch('vm.dateManual', function (newValue, oldValue) {\n if (_this.dateManual && newValue !== oldValue)\n _this.setNewFormCache();\n });\n this.$scope.$watch('vm.timeManual', function (newValue, oldValue) {\n if (_this.dateManual && newValue !== oldValue)\n _this.setNewFormCache();\n });\n this.$scope.$watch('vm.markNewEntry', function (newValue, oldValue) {\n if (newValue !== oldValue)\n _this.setNewFormCache();\n });\n this.$scope.$watch('vm.newEntrySupportPlan', function (newValue, oldValue) {\n if (newValue !== oldValue)\n _this.setNewFormCache();\n });\n this.$scope.$watch('vm.supportPlanForm', function (newValue, oldValue) {\n if (newValue !== oldValue)\n _this.setNewFormCache();\n }, true);\n $('#add-journal-entry').bind('style-change', function () {\n _this.newFormOpen = $('#add-journal-entry').css('display') !== ' none';\n });\n setTimeout(function () {\n _this.$qui.functionWaiter('createSummernote', _this);\n }, 200);\n };\n TagebuchListController.prototype.newButtonClick = function () {\n var _this = this;\n if (this.newFormOpen) {\n var cache_1 = this.getNewFormCache();\n // only offer cache of there is anything of interest included\n if (cache_1 && cache_1.journalId === this.journalId && ((cache_1.comment && cache_1.comment.length > 0) || cache_1.livingAreaId || cache_1.priorityId || (cache_1.participants && cache_1.participants.length > 0))) {\n QMC.Common.Utilities.confirm(this.promptOptionsCache, function (dataCache) {\n if (dataCache) {\n _this.form = cache_1;\n _this.participantsList = cache_1.participants;\n if (cache_1.dateManual) {\n _this.useCurrentDate = false;\n _this.dateManual = cache_1.dateManual;\n _this.timeManual = cache_1.dateManual;\n }\n if (cache_1.mark)\n _this.markNewEntry = true;\n if (cache_1.isSupportPlan) {\n _this.newEntrySupportPlan = true;\n setTimeout(function () {\n _this.supportPlanForm = cache_1.supportPlanForm;\n }, 50);\n }\n }\n else {\n _this.form = _this.initForm();\n }\n }, '#promptCache');\n }\n else {\n this.clearNewFormCache();\n this.form = this.initForm();\n this.supportPlanForm = [];\n this.newEntrySupportPlan = false;\n }\n }\n this.saveLoading = false;\n };\n TagebuchListController.prototype.setNewFormCache = function () {\n var _a;\n if (this.form && (!this.form.commentTypeWvId || this.form.commentTypeWvId === QMC.Common.Constants.GUID_EMPTY)) {\n this.form.participants = this.participantsList;\n if (!this.useCurrentDate) {\n this.form.dateManual = this.$qui.addTimeToDate(this.dateManual, this.timeManual);\n }\n else {\n this.form.dateManual = null;\n }\n this.form.mark = this.markNewEntry;\n this.form.journalId = this.journalId;\n var form = angular.copy(this.form);\n form.isSupportPlan = this.newEntrySupportPlan;\n if (form.isSupportPlan)\n form.supportPlanForm = this.supportPlanForm;\n form.comment = (_a = form.comment) === null || _a === void 0 ? void 0 : _a.replace(/
]*>/g, \"\"); // remove images from cache\n localStorage.setItem(this.newFormCacheName, JSON.stringify(form));\n }\n };\n TagebuchListController.prototype.getNewFormCache = function () {\n if (this.hasNewFormCache()) {\n var obj = JSON.parse(localStorage.getItem(this.newFormCacheName));\n if (obj.dateManual)\n obj.dateManual = this.$qui.createDateFromString(obj.dateManual);\n return obj;\n }\n return null;\n };\n TagebuchListController.prototype.hasNewFormCache = function () {\n var cache = localStorage.getItem(this.newFormCacheName);\n return (cache && cache.length > 0);\n };\n TagebuchListController.prototype.clearNewFormCache = function () {\n localStorage.removeItem(this.newFormCacheName);\n };\n TagebuchListController.prototype.selectedJournalChanged = function () {\n if (this.lastJournal === this.journalId)\n return;\n this.lastJournal = this.journalId;\n console.log('$$$ selectedJournalChanged', this.journalId);\n localStorage.setItem(QMC.Common.LocalStorageConstants.JOURNAL_LAST_SELECTED_ID, this.journalId);\n this.page = 0;\n this.journalEntries = [];\n this.getWvList(this.journalId);\n this.getJournalEntries();\n this.getJournalPerms();\n this.$state.go('journal', { id: this.journalId }, { reload: false });\n };\n TagebuchListController.prototype.getJournalPerms = function () {\n var _this = this;\n this.permissionService.getPermissionsForDataset(this.journalId, 370000).then(function (data) {\n _this.delete = data[0].delete;\n _this.new = data[0].new;\n _this.modify = data[0].modify;\n _this.allowExport = data[0].print;\n });\n };\n /**\n * select the last used journal entry\n *\n * @private\n *\n * @memberOf TagebuchListController\n */\n TagebuchListController.prototype.selectLastUsedJournal = function () {\n console.log('$$$ selectLastUsedJournal');\n if (localStorage.getItem(QMC.Common.LocalStorageConstants.JOURNAL_LAST_SELECTED_ID) !== null) {\n this.journalId = localStorage.getItem(QMC.Common.LocalStorageConstants.JOURNAL_LAST_SELECTED_ID);\n }\n };\n /**\n * count the entry warnings\n *\n * @private\n * @param {any} comments\n * @returns {string}\n *\n * @memberOf TagebuchListController\n */\n TagebuchListController.prototype.countEntryWarnings = function (comments) {\n var count = 0;\n var text = \" \" + this.lng.translate(20002017, \"Warnung\");\n for (var i = 0; i < comments.length; i++) {\n if (comments[i].commentType === this.lng.translate(20002017, \"Warnung\"))\n count++;\n }\n if (count > 1)\n text = \" \" + this.lng.translate(20000110, \"Warnungen\");\n return count + text;\n };\n TagebuchListController.prototype.countSubWarnings = function (subs) {\n var count = 0;\n for (var _i = 0, subs_1 = subs; _i < subs_1.length; _i++) {\n var item = subs_1[_i];\n if (item.commentTypeWvId === '7d1d5043-fe48-4b93-be38-c2bfd8e41d08')\n count++;\n }\n return count;\n };\n /**\n * count the number of comments for a journal entry\n *\n * @private\n * @param {any} comments\n * @returns {any}\n *\n * @memberOf TagebuchListController\n */\n TagebuchListController.prototype.countEntryComments = function (comments) {\n var count = 0;\n var icon = \"\";\n var text = \"\";\n for (var i = 0; i < comments.length; i++) {\n if (comments[i].commentType === this.lng.translate(20000287, \"Kommentar\"))\n count++;\n }\n switch (count) {\n case 0:\n icon = \"fa-commenting-o\";\n text = this.lng.translate(20017041, \"Kommentare\");\n count = \"\";\n break;\n case 1:\n icon = \"fa-comment-o\";\n text = this.lng.translate(20000287, \"Kommentar\");\n break;\n default:\n icon = \"fa-comments-o\";\n text = this.lng.translate(20017041, \"Kommentare\");\n }\n return this.$sce.trustAsHtml(\" \" + count + \" \" + text);\n };\n /**\n * toggle the visiblity\n *\n * @private\n * @param {any} id\n *\n * @memberOf TagebuchListController\n */\n TagebuchListController.prototype.toggleCommentVisiblity = function (id) {\n $(\"#\" + id).slideToggle();\n this.$qui.scopeApply(this.$scope);\n };\n TagebuchListController.prototype.areSubsHidden = function (id) {\n return $(\"#\" + id).css('display') === 'none';\n };\n /**\n * get the journal entry list\n *\n * @private\n *\n * @memberOf TagebuchListController\n */\n TagebuchListController.prototype.init = function () {\n console.log('$$$ init state.params = ', this.$state.params.id);\n if (this.$state.params.id !== (undefined || null)) {\n this.journalId = this.$state.params.id;\n this.getWvList(this.journalId);\n this.getJournalEntries();\n }\n };\n TagebuchListController.prototype.getData = function () {\n this.getWvList(this.journalId);\n this.getJournalEntries();\n this.getJournalPerms();\n };\n /**\n * check the type of an entry\n *\n * @private\n * @param {boolean} b\n * @returns {Guid}\n *\n * @memberOf TagebuchListController\n */\n TagebuchListController.prototype.checkEntryType = function (b) {\n var id;\n var e = b ? 'Warnung' : 'Kommentar';\n for (var i = 0; i < this.wvs.entryTypeWvList.length; i++) {\n if (e === this.wvs.entryTypeWvList[i].name) {\n id = this.wvs.entryTypeWvList[i].id;\n }\n }\n //console.log('id', id ? id : 'not found');\n return id;\n };\n /**\n * set the filter\n *\n * @private\n *\n * @memberOf TagebuchListController\n */\n TagebuchListController.prototype.setFilter = function () {\n console.log('#### setFilter');\n this.activeSetFilter = false;\n if (this.filter.filterDateToDisplay !== null) {\n localStorage.setItem(QMC.Common.LocalStorageConstants.JOURNAL_FILTER_DISPLAY_DATE, this.filter.filterDateToDisplay.toString());\n if (localStorage.getItem(QMC.Common.LocalStorageConstants.JOURNAL_FILTER_DISPLAY_DATE) !== \"1\") {\n this.activeSetFilter = true;\n }\n }\n else {\n localStorage.removeItem(QMC.Common.LocalStorageConstants.JOURNAL_FILTER_DISPLAY_DATE);\n }\n if (this.filter.filterPriorityWvId !== null) {\n localStorage.setItem(QMC.Common.LocalStorageConstants.JOURNAL_FILTER_PRIORITY_WV_ID, JSON.stringify(this.filter.filterPriorityWvId));\n this.activeSetFilter = true;\n }\n else {\n localStorage.removeItem(QMC.Common.LocalStorageConstants.JOURNAL_FILTER_PRIORITY_WV_ID);\n }\n if (this.filter.filterLivingAreaWvId !== null) {\n localStorage.setItem(QMC.Common.LocalStorageConstants.JOURNAL_FILTER_LIVING_AREA_WV_ID, JSON.stringify(this.filter.filterLivingAreaWvId));\n this.activeSetFilter = true;\n }\n else {\n localStorage.removeItem(QMC.Common.LocalStorageConstants.JOURNAL_FILTER_LIVING_AREA_WV_ID);\n }\n if (this.filter.filterComment !== null) {\n localStorage.setItem(QMC.Common.LocalStorageConstants.JOURNAL_FILTER_COMMENT, this.filter.filterComment.toString());\n this.activeSetFilter = true;\n }\n else {\n localStorage.removeItem(QMC.Common.LocalStorageConstants.JOURNAL_FILTER_COMMENT);\n }\n if (this.filter.filterAuthorId !== null) {\n localStorage.setItem(QMC.Common.LocalStorageConstants.JOURNAL_FILTER_AUTHOR, JSON.stringify(this.filter.filterAuthorId));\n this.activeSetFilter = true;\n }\n else {\n localStorage.removeItem(QMC.Common.LocalStorageConstants.JOURNAL_FILTER_AUTHOR);\n }\n if (this.filter.markings.length > 0) {\n localStorage.setItem(QMC.Common.LocalStorageConstants.JOURNAL_FILTER_MARKINGS, JSON.stringify(this.filter.markings));\n this.activeSetFilter = true;\n }\n else {\n localStorage.removeItem(QMC.Common.LocalStorageConstants.JOURNAL_FILTER_MARKINGS);\n }\n if (this.filter.filterParticipantId) {\n localStorage.setItem(QMC.Common.LocalStorageConstants.JOURNAL_FILTER_PARTICIPANT, JSON.stringify(this.filter.filterParticipantId));\n this.activeSetFilter = true;\n }\n else {\n localStorage.removeItem(QMC.Common.LocalStorageConstants.JOURNAL_FILTER_PARTICIPANT);\n }\n if (this.filter.commentsDescending) {\n localStorage.setItem(QMC.Common.LocalStorageConstants.JOURNAL_FILTER_COMMENTS, JSON.stringify(this.filter.commentsDescending));\n this.activeSetFilter = true;\n }\n else {\n localStorage.removeItem(QMC.Common.LocalStorageConstants.JOURNAL_FILTER_COMMENTS);\n }\n this.getJournalEntries();\n return;\n };\n /**\n * set the filter from the localStorage\n *\n * @private\n *\n * @memberOf TagebuchListController\n */\n TagebuchListController.prototype.setFilterFromLocalStorage = function () {\n this.activeSetFilter = false;\n if (localStorage.getItem(QMC.Common.LocalStorageConstants.JOURNAL_FILTER_DISPLAY_DATE) !== null) {\n this.filter.filterDateToDisplay = localStorage.getItem(QMC.Common.LocalStorageConstants.JOURNAL_FILTER_DISPLAY_DATE);\n if (this.filter.filterDateToDisplay !== \"1\") {\n this.activeSetFilter = true;\n }\n }\n if (localStorage.getItem(QMC.Common.LocalStorageConstants.JOURNAL_FILTER_PRIORITY_WV_ID) !== null) {\n this.filter.filterPriorityWvId = JSON.parse(localStorage.getItem(QMC.Common.LocalStorageConstants.JOURNAL_FILTER_PRIORITY_WV_ID));\n this.activeSetFilter = true;\n }\n if (localStorage.getItem(QMC.Common.LocalStorageConstants.JOURNAL_FILTER_LIVING_AREA_WV_ID) !== null) {\n this.filter.filterLivingAreaWvId = JSON.parse(localStorage.getItem(QMC.Common.LocalStorageConstants.JOURNAL_FILTER_LIVING_AREA_WV_ID));\n this.activeSetFilter = true;\n }\n if (localStorage.getItem(QMC.Common.LocalStorageConstants.JOURNAL_FILTER_COMMENT) !== null) {\n this.filter.filterComment = localStorage.getItem(QMC.Common.LocalStorageConstants.JOURNAL_FILTER_COMMENT);\n this.activeSetFilter = true;\n }\n if (localStorage.getItem(QMC.Common.LocalStorageConstants.JOURNAL_FILTER_AUTHOR) !== null) {\n this.filter.filterAuthorId = JSON.parse(localStorage.getItem(QMC.Common.LocalStorageConstants.JOURNAL_FILTER_AUTHOR));\n this.activeSetFilter = true;\n }\n if (localStorage.getItem(QMC.Common.LocalStorageConstants.JOURNAL_FILTER_MARKINGS) !== null) {\n this.filter.markings = JSON.parse(localStorage.getItem(QMC.Common.LocalStorageConstants.JOURNAL_FILTER_MARKINGS));\n this.activeSetFilter = true;\n }\n if (localStorage.getItem(QMC.Common.LocalStorageConstants.JOURNAL_FILTER_PARTICIPANT) !== null) {\n this.filter.filterParticipantId = JSON.parse(localStorage.getItem(QMC.Common.LocalStorageConstants.JOURNAL_FILTER_PARTICIPANT));\n this.activeSetFilter = true;\n }\n if (localStorage.getItem(QMC.Common.LocalStorageConstants.JOURNAL_FILTER_COMMENTS) !== null) {\n this.filter.commentsDescending = JSON.parse(localStorage.getItem(QMC.Common.LocalStorageConstants.JOURNAL_FILTER_COMMENTS));\n this.activeSetFilter = true;\n }\n };\n /**\n * reset the filter\n *\n * @private\n *\n * @memberOf TagebuchListController\n */\n TagebuchListController.prototype.resetFilter = function () {\n this.filter.filterDateToDisplay = \"1\";\n this.filter.filterPriorityWvId = null;\n this.filter.filterLivingAreaWvId = null;\n this.filter.filterComment = null;\n this.filter.filterParticipantId = null;\n this.filter.filterComment = null;\n this.filter.filterAuthorId = null;\n this.filter.markings = [];\n localStorage.removeItem(QMC.Common.LocalStorageConstants.JOURNAL_FILTER_DISPLAY_DATE);\n localStorage.removeItem(QMC.Common.LocalStorageConstants.JOURNAL_FILTER_PRIORITY_WV_ID);\n localStorage.removeItem(QMC.Common.LocalStorageConstants.JOURNAL_FILTER_LIVING_AREA_WV_ID);\n localStorage.removeItem(QMC.Common.LocalStorageConstants.JOURNAL_FILTER_COMMENT);\n localStorage.removeItem(QMC.Common.LocalStorageConstants.JOURNAL_FILTER_AUTHOR);\n localStorage.removeItem(QMC.Common.LocalStorageConstants.JOURNAL_FILTER_MARKINGS);\n localStorage.removeItem(QMC.Common.LocalStorageConstants.JOURNAL_FILTER_PARTICIPANT);\n this.activeSetFilter = false;\n };\n TagebuchListController.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 TagebuchListController.prototype.disableNewEntrySave = function () {\n var _a, _b;\n if (this.newEntrySupportPlan) {\n if (!this.supportPlanForm || this.supportPlanForm.length === 0)\n return true;\n for (var _i = 0, _c = this.supportPlanForm; _i < _c.length; _i++) {\n var form = _c[_i];\n if (!form.valid) {\n return true;\n }\n }\n return false;\n }\n return !this.requiredFields || (this.requiredFields.participants && ((_a = this.participantsList) === null || _a === void 0 ? void 0 : _a.length) === 0) ||\n (this.requiredFields.comment && (this.strip((_b = this.form.comment) !== null && _b !== void 0 ? _b : '').length === 0)) ||\n (this.requiredFields.priorityId && (this.form.priorityId === QMC.Common.Constants.GUID_EMPTY || this.form.priorityId === null || this.form.priorityId === undefined)) ||\n (this.requiredFields.livingAreaId && (this.form.livingAreaId === QMC.Common.Constants.GUID_EMPTY || this.form.livingAreaId === null || this.form.livingAreaId === undefined));\n };\n TagebuchListController.prototype.disableModEntrySave = function () {\n var _a, _b;\n if (!this.updateForm)\n return true;\n if (!this.checkIfEditable(this.updateEntry))\n return true;\n if (this.updateForm.supportPlanForm && this.updateForm.supportPlanForm[0]) {\n return !this.updateForm.supportPlanForm[0].valid;\n }\n if (this.udfs.some(function (x) { return !x.isValid; }))\n return true;\n if (this.updateForm.isSub)\n return !this.requiredFields || this.requiredFields.comment && (this.strip((_a = this.updateForm.comment) !== null && _a !== void 0 ? _a : '').length === 0);\n else\n return !this.requiredFields || (this.requiredFields.participants && this.updateForm.participants.length === 0) ||\n (this.requiredFields.comment && (this.strip((_b = this.updateForm.comment) !== null && _b !== void 0 ? _b : '').length === 0)) ||\n (this.requiredFields.priorityId && (this.updateForm.priorityId === QMC.Common.Constants.GUID_EMPTY || this.updateForm.priorityId === null || this.updateForm.priorityId === undefined)) ||\n (this.requiredFields.livingAreaId && (this.updateForm.livingAreaId === QMC.Common.Constants.GUID_EMPTY || this.updateForm.livingAreaId === null || this.updateForm.livingAreaId === undefined) ||\n !this.updateForm.dateManual || !this.updateForm.timeManual);\n };\n TagebuchListController.prototype.getEntryActionTitle = function (entry) {\n return this.modify && this.checkIfEditable(entry)\n ? this.lng.translate(20000044, 'Bearbeiten')\n : this.lng.translate(20000141, 'Ansehen');\n };\n /////////////// SERVICE FUNCTIONS ///////////////\n /**\n * get the client list\n *\n * @private\n *\n * @memberOf TagebuchListController\n */\n TagebuchListController.prototype.getClientList = function () {\n //this.clientService.getClientAndEmployeeList(\"\", true).then((data) => {\n // this.list = this.$qui.select(data, { value: 'objectId', text: 'displayTitle' });\n //});\n return this.list;\n };\n /**\n * get the wv list\n *\n * @private\n *\n * @memberOf TagebuchListController\n */\n TagebuchListController.prototype.getWvList = function (journalId) {\n var _this = this;\n if (!journalId) {\n this.wvs = {};\n this.maps.livingArea = [];\n this.maps.priority = [];\n this.maps.clients = [];\n this.maps.markings = [];\n return;\n }\n ;\n //if no journallist loaded skip loading of wv since we need it to determine if the wvs should be constrained\n if (!this.journalList || this.journalList.length === 0) {\n setTimeout(function () { _this.getWvList(journalId); }, 500);\n return;\n }\n for (var _i = 0, _a = this.journalList; _i < _a.length; _i++) {\n var item = _a[_i];\n if (item.objectId === journalId) {\n if (!item.limitLivingAreas)\n journalId = undefined;\n break;\n }\n }\n this.loadingWv = true;\n this.tagebuchService.getJournalEntryWv(journalId).then(function (data) {\n if (!data.livingAreaWvList.some(function (x) { return !x.objectId; }))\n data.livingAreaWvList.unshift({\n id: null,\n objectId: null,\n name: \"\",\n isFix: true,\n value: 0\n });\n _this.wvs = data;\n _this.maps.priority = _this.wvs.priorityWvList.map(function (x) { return ({ value: x.objectId, text: x.name }); });\n _this.maps.livingArea = _this.wvs.livingAreaWvList.map(function (x) { return ({ value: x.objectId, text: x.name }); });\n _this.maps.markings = _this.wvs.markingsWvList.map(function (x) { return ({ value: x.objectId, text: x.name }); });\n _this.loadingWv = false;\n });\n };\n /**\n * Post a new journal entry\n *\n * @private\n * @returns {void}\n *\n * @memberOf TagebuchListController\n */\n TagebuchListController.prototype.postEntry = function () {\n if (this.disableNewEntrySave()) {\n return;\n }\n this.saveLoading = true;\n console.log(\"postEntry\");\n if (this.journalId === undefined) {\n this.journalId = this.journalList[0].objectId;\n }\n this.form.journalId = this.journalId;\n this.form.parentEntryId = null;\n if (!this.useCurrentDate) {\n this.setManualDateWithTime();\n }\n if ($('#idList').val().length > 0)\n this.form.participants = JSON.parse($('#idList').val());\n this.form.participants = this.participantsList;\n this.validateJournalEntry({\n date: this.form.dateManual ? this.form.dateManual : new Date(),\n id: null,\n authorId: null\n });\n this.afterValidationAction = \"postEntryPost\";\n this.smartAction.resetSmartAction();\n };\n TagebuchListController.prototype.postEntryPost = function () {\n var _this = this;\n this.saveLoading = true;\n var formArray = [];\n if (this.newEntrySupportPlan) {\n for (var _i = 0, _a = this.supportPlanForm; _i < _a.length; _i++) {\n var sform = _a[_i];\n formArray.push({\n dateManual: this.useCurrentDate ? undefined : this.$qui.addTimeToDate(this.dateManual, this.timeManual),\n journalId: this.form.journalId,\n comment: sform.comment,\n commentTypeWvId: this.form.commentTypeWvId,\n livingAreaId: sform.livingAreaId,\n participants: [sform.clientId],\n supportPlan: {\n personId: sform.clientId,\n supportPlanId: sform.supportPlanId,\n templateId: sform.templateId,\n templateItemId: sform.templateItemId\n }\n });\n }\n }\n else {\n formArray.push(this.form);\n }\n this.tagebuchService.postJournalEntryMultiple(formArray).then(function (data) {\n _this.journalEntries = [];\n _this.getJournalEntries();\n _this.form = angular.copy(_this.initForm());\n document.getElementById('add-journal-entry').style.display = 'none';\n // Set style to smart actions\n $('div .additional-field-dynamic').css('display', 'none');\n _this.$qui.notify(_this.$qui.successNote);\n _this.smartAction.resetSmartAction();\n if (_this.markNewEntry) {\n var newId = data.createdObjectId;\n _this.openMarkModal(newId, 370002);\n console.log(data, newId);\n }\n /* Reset Form */\n setTimeout(function () {\n _this.supportPlanForm = [];\n _this.form.participants = null;\n _this.participantsList = [];\n $(\"#idList, #clientList\").val(\"\");\n _this.clearNewFormCache();\n });\n });\n };\n /**\n * set the manual date, add the time to the date\n *\n * @private\n *\n * @memberOf TagebuchListController\n */\n TagebuchListController.prototype.setManualDateWithTime = function () {\n this.form.dateManual = this.$qui.addTimeToDate(this.dateManual, this.timeManual);\n };\n /**\n * post a new comment to a journal entry\n *\n * @private\n * @param {any} id\n * @param {any} isWarning\n *\n * @memberOf TagebuchListController\n */\n TagebuchListController.prototype.postComment = function (id, isWarning, index) {\n var _this = this;\n this.hideCommentModal();\n this.form.commentTypeWvId = isWarning ? '7d1d5043-fe48-4b93-be38-c2bfd8e41d08' : 'b22fa7fc-8d14-4ae1-8483-729c5df12c07';\n this.form.journalId = this.journalId;\n this.form.parentEntryId = id;\n this.form.comment = this.text[index];\n this.form.warningReasons = {};\n if (this.warning && this.elaborativeWarning) {\n for (var item in this.elaborativeWarningData) {\n if (this.elaborativeWarningData[item].active)\n this.form.warningReasons[item] = this.elaborativeWarningData[item].comment;\n }\n }\n this.saveLoading = true;\n setTimeout(function () {\n localStorage.setItem(\"lastComment\", id);\n _this.afterValidationAction = \"postCommentPost\";\n _this.validateJournalEntry({\n date: _this.form.dateManual ? _this.form.dateManual : new Date(),\n id: null,\n authorId: null\n });\n }, 300);\n };\n TagebuchListController.prototype.postCommentPost = function () {\n var _this = this;\n this.saveLoading = true;\n this.tagebuchService.postJournalEntry(this.form).then(function () {\n _this.form.comment = '';\n _this.$state.reload();\n _this.saveLoading = false;\n _this.smartAction.resetSmartAction();\n });\n };\n /**\n * get the list of journal entrys\n *\n * @private\n * @returns\n *\n * @memberOf TagebuchListController\n */\n TagebuchListController.prototype.getJournalEntries = function () {\n var _this = this;\n // reset infinte scroll variables\n this.alreadyLoad = true;\n this.scrollInit = false;\n this.lastPage = false;\n if (this.journalId === undefined && this.journalList !== undefined)\n this.journalId = this.journalList[0].id;\n this.loading = true;\n this.journalEntries = null;\n var filter = {\n FilterDateFrom: this.filter.filterDateFrom,\n FilterDateTo: this.filter.filterDateTo,\n FilterDateToDisplay: this.filter.filterDateToDisplay,\n FilterLivingAreaWvId: this.filter.filterLivingAreaWvId,\n FilterPriorityWvId: this.filter.filterPriorityWvId,\n FilterParticipantId: this.filter.filterParticipantId,\n FilterComment: this.filter.filterComment,\n FilterAuthorId: this.filter.filterAuthorId,\n Markings: this.filter.markings,\n Page: this.listPage,\n PageSize: this.pageSize\n };\n if (this.journalId === undefined)\n return;\n this.tagebuchService.getJournalEntryList(this.journalId, filter).then(function (data) {\n _this.loading = false;\n // sometime txText decides that lines should only be 1pt high, so far this has always been a mistake\n data.items.forEach(function (entry) {\n entry.comment = entry.comment.replace(new RegExp('line-height: 1pt;', 'g'), '');\n entry.comment = entry.comment.replace(new RegExp('line-height:1pt;', 'g'), '');\n entry.subEntries.forEach(function (sub) {\n sub.date = _this.$qui.createDateFromString(sub.date);\n });\n entry.subEntries.sort(function (a, b) { return _this.filter.commentsDescending ?\n a.date < b.date ? 1 : a.date > b.date ? -1 : 0 :\n a.date > b.date ? 1 : a.date < b.date ? -1 : 0; });\n entry.participantsText = entry.participants.map(function (part) { return _this.list.find(function (x) { return x.value === part.objectId; }).text; }).join(', ');\n });\n _this.journalEntries = data.items;\n _this.pagination = data.paginationInfo;\n _this.paginationNavigation(Number(data.paginationInfo.totalPages));\n _this.page = filter.Page;\n _this.scrollInit = true;\n _this.alreadyLoad = false;\n _this.checkMarkedItems();\n setTimeout(function () {\n _this.events();\n _this.$qui.initTooltip();\n _this.toggleCommentVisiblity(localStorage.getItem(\"lastComment\"));\n localStorage.removeItem('lastComment');\n }, 500);\n });\n };\n /**\n * C\n * */\n TagebuchListController.prototype.checkMarkedItems = function () {\n var _this = this;\n var itemList = [];\n for (var i = this.journalEntries.length - this.pageSize; i < this.journalEntries.length; i++) {\n if (i < 0)\n i = 0;\n if (this.journalEntries[i])\n itemList.push(this.journalEntries[i].objectId);\n }\n this.markItemService.checkIfItemsAreMarked(itemList, 370002).then(function (data) {\n for (var i = 0; i < _this.journalEntries.length; i++) {\n for (var y = 0; y < data.length; y++)\n if (data[y].key === _this.journalEntries[i].objectId)\n _this.journalEntries[i].isMarked = data[y].value;\n }\n });\n };\n /**\n * modifies an existing journal entry\n *\n * @param data\n */\n TagebuchListController.prototype.updateJournalEntry = function (data, isSub) {\n var _a;\n this.updateEntry = data;\n document.getElementById(\"modForm\").disabled = false;\n console.log(\"MODIFY\", data, isSub);\n if (isSub) {\n this.updateForm = {\n id: data.id,\n objectId: data.objectId,\n comment: data.comment,\n commentTypeWvId: data.commentTypeWvId,\n livingAreaId: null,\n parentEntryId: data.parentId,\n participants: null,\n priorityId: null,\n isSub: true,\n dateManual: this.$qui.createDateFromString(data.dateManual),\n timeManual: this.$qui.createDateFromString(data.dateManual),\n authorId: data.authorObjectId,\n warningReasons: {}\n };\n this.elaborativeWarning = data.commentTypeWvId === QMC.Common.Constants.JOURNAL_COMMENTTYPE_WARNING && Object.keys(data.warningReasons).length > 0;\n this.elaborativeWarningData = this.getInternalElobaritveWarningObject(data.warningReasons);\n }\n else {\n this.updateForm = {\n id: data.id,\n objectId: data.objectId,\n comment: data.comment,\n commentTypeWvId: data.commentTypeWvId,\n livingAreaId: data.livingAreaWvId === QMC.Common.Constants.GUID_EMPTY ? null : data.livingAreaWvId,\n parentEntryId: data.parentId,\n participants: [],\n priorityId: data.priorityWvId === QMC.Common.Constants.GUID_EMPTY ? null : data.priorityWvId,\n isSub: false,\n dateManual: this.$qui.createDateFromString(data.dateManual),\n timeManual: this.$qui.createDateFromString(data.dateManual),\n authorId: data.authorObjectId\n };\n if ((_a = data.participants) === null || _a === void 0 ? void 0 : _a.length)\n this.updateForm.participants = data.participants.map(function (x) { return x.objectId; });\n if (!this.updateForm.isSub && data.supportPlan) {\n this.updateForm.supportPlanForm = [data.supportPlan];\n this.updateForm.supportPlanForm[0].clientId = this.updateForm.participants[0];\n this.updateForm.supportPlanForm[0].comment = data.comment;\n this.updateForm.supportPlanForm[0].templateId = data.supportPlan.targetDefinitionId;\n this.updateForm.supportPlanForm[0].templateItemId = data.supportPlan.templateItemId;\n }\n }\n this.isEntryModWarning = this.updateForm.commentTypeWvId === QMC.Common.Constants.JOURNAL_COMMENTTYPE_WARNING && this.updateForm.isSub;\n this.saveLoading = false;\n this.$qui.waitForEl('#standardTabButton', function () {\n $('#standardTabButton').click();\n });\n $(\"#modifyModal\").modal(\"show\");\n this.$qui.scopeApply(this.$scope);\n };\n TagebuchListController.prototype.saveUpdatedJournalEntry = function () {\n if (!this.modify)\n return;\n if (this.isEntryModWarning && this.updateForm.isSub) {\n this.updateForm.commentTypeWvId = QMC.Common.Constants.JOURNAL_COMMENTTYPE_WARNING;\n }\n if (!this.isEntryModWarning && this.updateForm.isSub) {\n this.updateForm.commentTypeWvId = QMC.Common.Constants.JOURNAL_COMMENTTYPE_NORMAL;\n }\n this.updateForm.warningReasons = this.createElobaritveWarningObject();\n this.updateForm.dateManual = this.$qui.addTimeToDate(this.updateForm.dateManual, this.updateForm.timeManual);\n this.saveLoading = true;\n console.log(this.updateForm);\n this.afterValidationAction = \"updateJournalEntryPut\";\n this.validateJournalEntry({\n date: this.updateForm.dateManual,\n id: this.updateForm.objectId,\n authorId: this.updateForm.authorId\n });\n this.udfs.forEach(function (x) { var _a; return (_a = x.save) === null || _a === void 0 ? void 0 : _a.call(x, false); });\n };\n TagebuchListController.prototype.updateJournalEntryPut = function () {\n var _this = this;\n var form = angular.copy(this.updateForm);\n this.saveLoading = true;\n if (form.supportPlanForm) {\n form.supportPlan = {\n personId: form.supportPlanForm[0].clientId,\n supportPlanId: form.supportPlanForm[0].supportPlanId,\n templateId: form.supportPlanForm[0].templateId,\n templateItemId: form.supportPlanForm[0].templateItemId\n };\n form.comment = form.supportPlanForm[0].comment;\n form.livingAreaId = form.supportPlanForm[0].livingAreaId;\n }\n this.tagebuchService.putJournalEntry(form.objectId, form).then(function () {\n _this.$qui.notify(_this.$qui.successNote);\n _this.getJournalEntries();\n $(\"#modifyModal\").modal(\"hide\");\n _this.saveLoading = false;\n _this.smartAction.resetSmartAction();\n });\n };\n /**\n * deletes an existing journal entry\n *\n * @param data\n */\n TagebuchListController.prototype.deleteJournalEntry = function (id) {\n var _this = this;\n if (!this.delete)\n return;\n QMC.Common.Utilities.confirm(this.promptOptions, function (data) {\n if (data)\n _this.tagebuchService.deleteJournalEntry(id).then(function () {\n _this.$qui.notify(_this.$qui.deleteNote);\n _this.getJournalEntries();\n });\n });\n };\n TagebuchListController.prototype.getUserSettings = function () {\n var _this = this;\n var keys = [];\n keys.push(\"TAGEBUCH.SCHREIBSCHUTZ.MODUS\");\n keys.push(\"TAGEBUCH.BEGRENZUNGTYP\");\n keys.push(\"TAGEBUCH.BEGRENZUNGTAGE\");\n keys.push(\"TAGEBUCH.STD\");\n keys.push(\"TAGEBUCH.MIN\");\n keys.push(\"TAGEBUCH.WARNUNG.GRUND\");\n this.userService.getUserSettings(keys, false).then(function (data) {\n console.log('$$$ userSettings', data);\n _this.writeProtection.authorOnly = _this.getValue(data, \"TAGEBUCH.SCHREIBSCHUTZ.MODUS\", \"0\") === \"0\";\n _this.writeProtection.isActive = _this.getValue(data, \"TAGEBUCH.BEGRENZUNGTYP\", \"1\") === \"0\";\n _this.writeProtection.allowedDaysIntoPast = parseInt(_this.getValue(data, \"TAGEBUCH.BEGRENZUNGTAGE\", \"0\"));\n _this.writeProtection.hours = parseInt(_this.getValue(data, \"TAGEBUCH.STD\", \"12\"));\n _this.writeProtection.minutes = parseInt(_this.getValue(data, \"TAGEBUCH.MIN\", \"0\"));\n _this.$qui.getTableAutoload(_this.userService).then(function (ltd) {\n _this.shouldLoadTableData = ltd;\n console.log('$$$ shouldLoadTableData', _this.shouldLoadTableData);\n if (_this.shouldLoadTableData) {\n _this.getData();\n }\n });\n _this.enableWarningReason = _this.getValue(data, \"TAGEBUCH.WARNUNG.GRUND\", \"false\").toLowerCase() === \"true\";\n });\n if (localStorage.getItem(QMC.Common.LocalStorageConstants.JOURNAL_USE_CURRENT_DATE) !== null) {\n this.useCurrentDate = JSON.parse(localStorage.getItem(QMC.Common.LocalStorageConstants.JOURNAL_USE_CURRENT_DATE));\n }\n };\n /**\n * helper function to get a value by name from a settings object\n *\n * @param data\n * @param key\n */\n TagebuchListController.prototype.getValue = function (data, key, defaultValue) {\n if (defaultValue === void 0) { defaultValue = \"\"; }\n if (!defaultValue)\n defaultValue = \"\";\n var result = $.grep(data, function (e) { return e.key === key; })[0].value;\n if (!result || result === \"\")\n return defaultValue;\n return result;\n };\n /**\n * checks if a entry is editable\n *\n * @param entry\n */\n TagebuchListController.prototype.checkIfEditable = function (entry) {\n var userId = document.getElementById(\"session\").getAttribute(\"data-user-id\");\n if (!(entry === null || entry === void 0 ? void 0 : entry.authorObjectId) || (this.writeProtection.authorOnly && entry.authorObjectId.toLocaleLowerCase() !== userId.toLocaleLowerCase()))\n return false;\n if (!this.writeProtection.isActive)\n return true;\n var createdDate = this.$qui.createDateFromString(entry.date);\n var lockDate = this.addDays(createdDate, this.writeProtection.allowedDaysIntoPast);\n lockDate.setHours(this.writeProtection.hours);\n lockDate.setMinutes(this.writeProtection.minutes);\n lockDate.setSeconds(0);\n return new Date() <= lockDate;\n };\n TagebuchListController.prototype.addDays = function (date, days) {\n var result = this.$qui.createDateFromString(date);\n result.setDate(result.getDate() + days);\n return result;\n };\n /**\n * create the pagination navigation\n *\n * @private\n * @param {number} count\n *\n * @memberOf TagebuchListController\n */\n TagebuchListController.prototype.paginationNavigation = function (count) {\n this.paginationNav = [];\n for (var i = 0; i < count; i++) {\n this.paginationNav.push(i + 1);\n }\n };\n /**\n * change the page of the pagination navigation\n *\n * @private\n *\n * @memberOf TagebuchListController\n */\n TagebuchListController.prototype.changePage = function () {\n var _this = this;\n if (this.pagination.totalPages === 0)\n return;\n console.log('##### loading more');\n this.page++;\n if (this.journalId === undefined)\n this.journalId = this.journalList[0].id;\n this.loadingMore = true;\n var filter = angular.copy(this.filter);\n filter.Page = this.page;\n filter.PageSize = this.pageSize;\n this.tagebuchService.getJournalEntryList(this.journalId, filter).then(function (data) {\n _this.loadingMore = false;\n _this.loading = false;\n for (var i = 0; i < data.items.length; i++) {\n data.items[i].comment = data.items[i].comment.replace(new RegExp('line-height: 1pt;', 'g'), '');\n data.items[i].comment = data.items[i].comment.replace(new RegExp('line-height:1pt;', 'g'), '');\n _this.journalEntries.push(data.items[i]);\n }\n _this.checkMarkedItems();\n _this.pagination = data.paginationInfo;\n if (_this.page === _this.pagination.totalPages)\n _this.lastPage = true;\n _this.alreadyLoad = false;\n setTimeout(function () {\n _this.events();\n _this.$qui.initTooltip();\n _this.toggleCommentVisiblity(localStorage.getItem(\"lastComment\"));\n localStorage.removeItem('lastComment');\n }, 500);\n });\n };\n /**\n * get the list of aviable journals\n *\n * @private\n *\n * @memberOf TagebuchListController\n */\n TagebuchListController.prototype.getJournals = function () {\n var _this = this;\n this.loading = true;\n this.tagebuchService.getJournalList().then(function (data) {\n console.log('$$$ getJournalList', data);\n _this.journalList = data;\n _this.loading = false;\n _this.maps.journal = data.map(function (x) { return ({ value: x.id, text: x.caption, subText: x.type, icon: x.isClosed ? 'qm-icon-lock' : undefined }); }).sort(function (a, b) { return a.text > b.text ? 1 : a.text < b.text ? -1 : 0; });\n if (_this.journalId === (null || undefined || '') || !_this.maps.journal.some(function (x) { return x.value === _this.journalId; }))\n _this.journalId = _this.maps.journal.length > 0 ? _this.maps.journal[0].value : undefined;\n _this.getWvList(_this.journalId);\n });\n };\n TagebuchListController.prototype.showCommentModal = function (id) {\n this.text = [];\n this.warning = [];\n $('#commentModal').modal('show');\n this.toggleNavHeader();\n this.commentEntryId = id;\n this.elaborativeWarningData = {};\n this.elaborativeWarning = false;\n };\n TagebuchListController.prototype.hideCommentModal = function () {\n this.toggleNavHeader();\n $('#commentModal').modal('hide');\n this.commentEntryId = null;\n };\n TagebuchListController.prototype.toggleNavHeader = function () {\n if (this.isMobile) {\n if ($('.qm-page-header').is(\":visible\")) {\n $('#close-nav').hide();\n $('.qm-page-header').hide();\n }\n else {\n $('#close-nav').show();\n $('.qm-page-header').show();\n }\n }\n };\n TagebuchListController.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 if (i % 2 === 1)\n winPrint.document.write(\"
\");\n }\n winPrint.document.close();\n winPrint.focus();\n winPrint.print();\n winPrint.close();\n };\n TagebuchListController.prototype.validateJournalEntry = function (entry) {\n var _this = this;\n this.validation.warnings = [];\n this.validation.errors = [];\n this.validation.loading = true;\n this.saveLoading = true;\n this.tagebuchService.postValidation(entry)\n .then(function (data) {\n _this.validation.warnings = data.warnings;\n _this.validation.errors = data.errors;\n if (data.warnings.length > 0 || data.errors.length > 0) {\n $('#validationModal').modal('show');\n _this.saveLoading = false;\n }\n else\n _this.continueSaving();\n })\n .catch(function () {\n _this.validation.errors.push(_this.lng.translate(0, \"Der Eintrag konnte nicht validiert werden\"));\n $('#validationModal').modal('show');\n _this.saveLoading = false;\n });\n };\n TagebuchListController.prototype.continueSaving = function () {\n $('#validationModal').modal('hide');\n this[this.afterValidationAction]();\n };\n TagebuchListController.prototype.getJournalName = function () {\n var _this = this;\n var journalName = '';\n this.journalList.forEach(function (journal) {\n if (journal.objectId === _this.journalId) {\n journalName = journal.caption;\n }\n });\n return journalName;\n };\n TagebuchListController.prototype.getNoticeSubject = function () {\n var journalName = this.getJournalName();\n return this.$qui.formatString(this.lng.translate(20000248, \"Gemeldeter Datensatz: {0} ({1})\"), journalName, this.lng.translate(20001007, 'Tagebuch'));\n };\n TagebuchListController.prototype.getNoticeMessage = function (entry) {\n var journalName = this.getJournalName();\n return this.$qui.formatString(this.lng.translate(20000249, \"Gemeldeter Datensatz: '{0}', '{1}' bei '{2}'.\"), this.lng.translate(20001007, 'Tagebuch'), entry.comment, journalName);\n };\n TagebuchListController.prototype.disableSupportPlan = function () {\n if (!this.participantsList || this.participantsList.length === 0) {\n this.newEntrySupportPlan = false;\n return true;\n }\n var _loop_1 = function (part) {\n if (this_1.possibleParticipants && this_1.possibleParticipants.some(function (x) { return x.objectId === part && x.objectType === 140000; }))\n return { value: false };\n };\n var this_1 = this;\n for (var _i = 0, _a = this.participantsList; _i < _a.length; _i++) {\n var part = _a[_i];\n var state_1 = _loop_1(part);\n if (typeof state_1 === \"object\")\n return state_1.value;\n }\n return true;\n };\n TagebuchListController.prototype.openElaborativeWarningModal = function () {\n if (this.elaborativeWarning) {\n $('#elaborativeWarningModal').modal('show');\n }\n };\n TagebuchListController.prototype.createElobaritveWarningObject = function () {\n var result = {};\n for (var item in this.elaborativeWarningData) {\n if (this.elaborativeWarningData[item].active)\n result[item] = this.elaborativeWarningData[item].comment;\n }\n return result;\n };\n TagebuchListController.prototype.getInternalElobaritveWarningObject = function (data) {\n var result = {};\n for (var id in data) {\n result[id] = { active: true, comment: data[id] };\n }\n return result;\n };\n TagebuchListController = __decorate([\n QMC.Controller('QMC.Tagebuch', 'TagebuchListController'),\n QMC.Inject('$location', 'TagebuchService', '$qui', 'KlientService', '$state', '$scope', 'QmcLanguageService', 'QmcPermissionService', 'UserService', 'QmcMarkItemService', '$sce', '$stateParams', 'StammdatenService', 'QmcUdfService')\n ], TagebuchListController);\n return TagebuchListController;\n }());\n })(Tagebuch = QMC.Tagebuch || (QMC.Tagebuch = {}));\n})(QMC || (QMC = {}));\nvar QMC;\n(function (QMC) {\n var Tagebuch;\n (function (Tagebuch) {\n var TagebuchDetailController = /** @class */ (function () {\n function TagebuchDetailController($location, $scope, $qui, $state, $sce, tagebuchService, permissionService, userService, lng, markItemService, stammdatenService) {\n var _this = this;\n this.$location = $location;\n this.$scope = $scope;\n this.$qui = $qui;\n this.$state = $state;\n this.$sce = $sce;\n this.tagebuchService = tagebuchService;\n this.permissionService = permissionService;\n this.userService = userService;\n this.lng = lng;\n this.markItemService = markItemService;\n this.stammdatenService = stammdatenService;\n this.isMobile = QMC.Common.Constants.IS_MOBILE;\n this.loading = {\n entry: true,\n permission: true,\n save: false,\n settings: true,\n validation: false,\n wv: true\n };\n this.writeProtection = {\n authorOnly: false,\n isActive: false,\n allowedDaysIntoPast: 0,\n hours: 0,\n minutes: 0\n };\n this.validation = {\n errors: [],\n warnings: []\n };\n this.warningReason = '';\n this.enableWarningReason = false;\n this.headerText = '';\n $qui.init($qui.getSectionColor(this.$location.path()), function () {\n $qui.anonAvatar();\n $qui.bindEvents();\n });\n if (!$state.params.id)\n $state.go('journal');\n this.promptOptions = {\n title: \"Tagebuch\",\n yesNo: true,\n icon: \"qm-icon-note_pinned\",\n text: this.lng.translate(20000290, 'Wollen Sie den Eintrag wirklich löschen?')\n };\n this.tagebuchService.getJournalEntry($state.params.id).then(function (data) {\n _this.entry = data;\n _this.loading.entry = false;\n if (!data) {\n _this.error = true;\n }\n _this.checkMarkedItems();\n _this.tagebuchService.getJournalList().then(function (data) {\n var journalName = data.filter(function (x) { return x.objectId === _this.entry.journalId; })[0].caption;\n _this.headerText = \"(\" + journalName + \") \" + _this.lng.translate(20000218, 'vom') + \" \" + moment(_this.entry.date).format('DD.MM.YYYY HH:mm');\n });\n _this.tagebuchService.getJournalEntryWv(_this.entry.journalId).then(function (data) {\n _this.wvs = data;\n _this.maps = {\n priority: _this.wvs.priorityWvList.map(function (x) { return ({ value: x.objectId, text: x.name }); }),\n livingArea: _this.wvs.livingAreaWvList.map(function (x) { return ({ value: x.objectId, text: x.name }); }),\n clients: []\n };\n _this.stammdatenService.getParticipantsSelectionAssignment('TAGEBUCHBETEILIGTE').then(function (data) {\n _this.maps.clients = data.map(function (x) { return ({ value: x.objectId, text: x.displayTitle, group: x.objectTypeCaption }); });\n _this.maps.clients.sort(function (a, b) { return (a.text.toLocaleLowerCase() > b.text.toLocaleLowerCase()) ? 1 : ((b.text.toLocaleLowerCase() > a.text.toLocaleLowerCase()) ? -1 : 0); });\n _this.maps.clients.sort(function (a, b) { return (a.group.toLocaleLowerCase() > b.group.toLocaleLowerCase()) ? 1 : ((b.group.toLocaleLowerCase() > a.group.toLocaleLowerCase()) ? -1 : 0); });\n _this.loading.wv = false;\n });\n });\n }).catch(function (e) {\n console.log(e);\n _this.error = true;\n _this.loading.entry = false;\n _this.loading.settings = false;\n _this.loading.permission = false;\n _this.loading.wv = false;\n });\n this.permissionService.getPermissionsByObjectTypes([370002]).then(function (data) {\n _this.delete = data[0].delete;\n _this.new = data[0].new;\n _this.modify = data[0].modify;\n _this.loading.permission = false;\n });\n this.userService.getUserSettings(['TAGEBUCH.SCHREIBSCHUTZ.MODUS', 'TAGEBUCH.BEGRENZUNGTYP', 'TAGEBUCH.BEGRENZUNGTAGE', 'TAGEBUCH.STD', 'TAGEBUCH.MIN', 'TAGEBUCH.WARNUNG.GRUND'], false).then(function (data) {\n _this.writeProtection.authorOnly = _this.getValue(data, \"TAGEBUCH.SCHREIBSCHUTZ.MODUS\", \"0\") === \"0\";\n _this.writeProtection.isActive = _this.getValue(data, \"TAGEBUCH.BEGRENZUNGTYP\", \"1\") === \"0\";\n _this.writeProtection.allowedDaysIntoPast = parseInt(_this.getValue(data, \"TAGEBUCH.BEGRENZUNGTAGE\", \"0\"));\n _this.writeProtection.hours = parseInt(_this.getValue(data, \"TAGEBUCH.STD\", \"12\"));\n _this.writeProtection.minutes = parseInt(_this.getValue(data, \"TAGEBUCH.MIN\", \"0\"));\n _this.enableWarningReason = _this.getValue(data, 'TAGEBUCH.WARNUNG.GRUND', 'false').toLowerCase() === 'true';\n _this.loading.settings = false;\n });\n }\n /////////////// HELPER FUNCTIONS ///////////////\n TagebuchDetailController.prototype.getValue = function (data, key, defaultValue) {\n if (defaultValue === void 0) { defaultValue = \"\"; }\n if (!defaultValue)\n defaultValue = \"\";\n var result = $.grep(data, function (e) { return e.key === key; })[0].value;\n if (!result || result === \"\")\n return defaultValue;\n return result;\n };\n TagebuchDetailController.prototype.checkIfEditable = function (entry) {\n if (!entry)\n return false;\n var userId = document.getElementById(\"session\").getAttribute(\"data-user-id\");\n if (this.writeProtection.authorOnly && entry.authorObjectId.toLocaleLowerCase() !== userId.toLocaleLowerCase())\n return false;\n if (!this.writeProtection.isActive)\n return true;\n var createdDate = this.$qui.createDateFromString(entry.date);\n var lockDate = this.addDays(createdDate, this.writeProtection.allowedDaysIntoPast);\n lockDate.setHours(this.writeProtection.hours);\n lockDate.setMinutes(this.writeProtection.minutes);\n lockDate.setSeconds(0);\n return new Date() <= lockDate;\n };\n TagebuchDetailController.prototype.addDays = function (date, days) {\n var result = this.$qui.createDateFromString(date);\n result.setDate(result.getDate() + days);\n return result;\n };\n TagebuchDetailController.prototype.countSubWarnings = function (subs) {\n if (!subs || subs.length === 0)\n return 0;\n var count = 0;\n for (var _i = 0, subs_2 = subs; _i < subs_2.length; _i++) {\n var item = subs_2[_i];\n if (item.commentTypeWvId === '7d1d5043-fe48-4b93-be38-c2bfd8e41d08')\n count++;\n }\n return count;\n };\n TagebuchDetailController.prototype.toggleCommentVisiblity = function (id) {\n $(\"#\" + id).slideToggle();\n this.$qui.scopeApply(this.$scope);\n };\n TagebuchDetailController.prototype.areSubsHidden = function (id) {\n return $(\"#\" + id).css('display') === 'none';\n };\n TagebuchDetailController.prototype.showCommentModal = function (id) {\n this.comment.text = '';\n this.warningReason = '';\n $('#commentModal').modal('show');\n this.commentEntryId = id;\n };\n TagebuchDetailController.prototype.trustAsHtml = function (string) {\n return this.$sce.trustAsHtml(string);\n };\n ;\n TagebuchDetailController.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 /////////////// SERVICE FUNCTIONS ///////////////\n TagebuchDetailController.prototype.checkMarkedItems = function () {\n var _this = this;\n this.markItemService.checkIfItemsAreMarked([this.$state.params.id], 370002).then(function (data) {\n _this.entry.isMarked = data[0].value;\n });\n };\n TagebuchDetailController.prototype.deleteJournalEntry = function (id) {\n var _this = this;\n if (!this.delete)\n return;\n QMC.Common.Utilities.confirm(this.promptOptions, function (data) {\n if (data) {\n _this.loading.save = true;\n _this.tagebuchService.deleteJournalEntry(id).then(function () {\n _this.$qui.notify(_this.$qui.deleteNote);\n _this.loading.save = false;\n if (id === _this.entry.objectId)\n _this.$state.go('journal', { id: _this.entry.journalId });\n else {\n _this.loading.entry = true;\n _this.tagebuchService.getJournalEntry(_this.$state.params.id).then(function (data) {\n _this.entry = data;\n _this.loading.entry = false;\n _this.checkMarkedItems();\n });\n }\n });\n }\n });\n };\n TagebuchDetailController.prototype.updateJournalEntry = function (data, isSub) {\n this.warningReason = data.commentTypeWvId === '7d1d5043-fe48-4b93-be38-c2bfd8e41d08' ? data.warningReason : '';\n console.log(\"MODIFY\", data, isSub);\n if (isSub) {\n this.updateForm = {\n id: data.id,\n objectId: data.objectId,\n comment: data.comment,\n commentTypeWvId: data.commentTypeWvId,\n livingAreaId: null,\n parentEntryId: data.parentId,\n participants: null,\n priorityId: null,\n isSub: true,\n dateManual: this.$qui.createDateFromString(data.dateManual),\n timeManual: this.$qui.createDateFromString(data.dateManual),\n authorId: data.authorObjectId,\n warningReason: this.warningReason\n };\n }\n else {\n this.warningReason = '';\n this.updateForm = {\n id: data.id,\n objectId: data.objectId,\n comment: data.comment,\n commentTypeWvId: data.commentTypeWvId,\n livingAreaId: data.livingAreaWvId === QMC.Common.Constants.GUID_EMPTY ? null : data.livingAreaWvId,\n parentEntryId: data.parentId,\n participants: [],\n priorityId: data.priorityWvId === QMC.Common.Constants.GUID_EMPTY ? null : data.priorityWvId,\n isSub: false,\n dateManual: this.$qui.createDateFromString(data.dateManual),\n timeManual: this.$qui.createDateFromString(data.dateManual),\n authorId: data.authorObjectId\n };\n if (data.participants !== null && data.participants !== undefined)\n for (var i = 0; i < data.participants.length; i++)\n this.updateForm.participants.push(data.participants[i].objectId);\n }\n this.isEntryModWarning = this.updateForm.commentTypeWvId === QMC.Common.Constants.JOURNAL_COMMENTTYPE_WARNING && this.updateForm.isSub;\n $(\"#modifyModal\").modal(\"show\");\n };\n TagebuchDetailController.prototype.saveUpdatedJournalEntry = function () {\n if (!this.modify)\n return;\n if (this.isEntryModWarning && this.updateForm.isSub) {\n this.updateForm.commentTypeWvId = QMC.Common.Constants.JOURNAL_COMMENTTYPE_WARNING;\n }\n if (!this.isEntryModWarning && this.updateForm.isSub) {\n this.updateForm.commentTypeWvId = QMC.Common.Constants.JOURNAL_COMMENTTYPE_NORMAL;\n }\n this.updateForm.warningReason = this.warningReason;\n this.updateForm.dateManual = this.$qui.addTimeToDate(this.updateForm.dateManual, this.updateForm.timeManual),\n this.loading.save = true;\n console.log(this.updateForm);\n this.afterValidationAction = \"updateJournalEntryPut\";\n this.validateJournalEntry({\n date: this.updateForm.dateManual,\n id: this.updateForm.objectId,\n authorId: this.updateForm.authorId\n });\n };\n TagebuchDetailController.prototype.updateJournalEntryPut = function () {\n var _this = this;\n this.loading.save = true;\n this.tagebuchService.putJournalEntry(this.updateForm.objectId, this.updateForm).then(function () {\n _this.$qui.notify(_this.$qui.successNote);\n _this.loading.entry = true;\n _this.tagebuchService.getJournalEntry(_this.$state.params.id).then(function (data) {\n _this.entry = data;\n _this.loading.entry = false;\n _this.checkMarkedItems();\n });\n $(\"#modifyModal\").modal(\"hide\");\n _this.loading.save = false;\n });\n };\n TagebuchDetailController.prototype.validateJournalEntry = function (entry) {\n var _this = this;\n this.validation.warnings = [];\n this.validation.errors = [];\n this.loading.validation = true;\n this.tagebuchService.postValidation(entry).then(function (data) {\n _this.validation.warnings = data.warnings;\n _this.validation.errors = data.errors;\n if (data.warnings.length > 0 || data.errors.length > 0)\n $('#validationModal').modal('show');\n else {\n $('#validationModal').modal('hide');\n _this[_this.afterValidationAction]();\n }\n }).catch(function () {\n _this.validation.errors.push(_this.lng.translate(0, \"Der Eintrag konnte nicht validiert werden\"));\n $('#validationModal').modal('show');\n }).finally(function () {\n _this.loading.save = false;\n _this.loading.validation = false;\n });\n };\n TagebuchDetailController.prototype.postComment = function (id, isWarning) {\n this.comment.type = isWarning ? '7d1d5043-fe48-4b93-be38-c2bfd8e41d08' : 'b22fa7fc-8d14-4ae1-8483-729c5df12c07';\n this.comment.warningReason = isWarning ? this.warningReason : '';\n this.afterValidationAction = \"postCommentPost\";\n this.validateJournalEntry({\n date: new Date(),\n id: null,\n authorId: null\n });\n $(\"#commentModal\").modal(\"hide\");\n };\n TagebuchDetailController.prototype.postCommentPost = function () {\n var _this = this;\n this.loading.save = true;\n this.tagebuchService.postJournalEntry({ comment: this.comment.text, journalId: this.entry.journalId, commentTypeWvId: this.comment.type, parentEntryId: this.entry.objectId, warningReason: this.comment.warningReason }).then(function () {\n _this.comment = { text: '', warning: false, type: '' };\n _this.loading.save = true;\n _this.tagebuchService.getJournalEntry(_this.$state.params.id).then(function (data) {\n _this.entry = data;\n _this.loading.save = false;\n _this.checkMarkedItems();\n });\n });\n };\n TagebuchDetailController = __decorate([\n QMC.Controller('QMC.Tagebuch', 'TagebuchDetailController'),\n QMC.Inject('$location', '$scope', '$qui', '$state', '$sce', 'TagebuchService', 'QmcPermissionService', 'UserService', 'QmcLanguageService', 'QmcMarkItemService', 'StammdatenService')\n ], TagebuchDetailController);\n return TagebuchDetailController;\n }());\n })(Tagebuch = QMC.Tagebuch || (QMC.Tagebuch = {}));\n})(QMC || (QMC = {}));\nvar QMC;\n(function (QMC) {\n var Tagebuch;\n (function (Tagebuch) {\n var TagebuchSupportPlanDirective = /** @class */ (function () {\n function TagebuchSupportPlanDirective($qui, journalService) {\n var _this = this;\n this.$qui = $qui;\n this.journalService = journalService;\n this.restrict = 'E';\n this.templateUrl = './journal/SupportPlanDirective';\n this.replace = true;\n this.scope = {\n qmParticipants: '=',\n qmPossibleParticipants: '=',\n qmForm: '=',\n qmEnabled: '=',\n qmSmartAction: '=',\n qmSingle: '=',\n qmId: '@',\n qmDisabled: '=?'\n };\n this.documentableItemTypes = [\n 3,\n 4 //massnahme\n ];\n this.link = function (scope) {\n if (!scope.qmId)\n scope.qmId = '_' + Math.random().toString(36).substring(2, 11);\n scope.supportPlanWarning = [];\n scope.supportPlanData = {};\n scope.$watch('qmParticipants', function (newValue, oldValue) {\n if (newValue !== oldValue || (scope.qmSingle && scope.qmParticipants && scope.qmParticipants.length === 1))\n scope.initData();\n });\n scope.$watch('qmEnabled', function (newValue, oldValue) {\n if (newValue !== oldValue && scope.qmEnabled)\n scope.initData();\n });\n scope.initData = function () {\n if (!scope.qmEnabled)\n return;\n scope.supportPlanWarning = [];\n var _loop_2 = function (id) {\n var participantData = scope.qmPossibleParticipants.filter(function (x) { return x.objectId === id; })[0];\n if (!participantData)\n return \"continue\";\n if (participantData.objectType !== 140000 && !scope.supportPlanWarning.some(function (x) { return x === participantData.displayTitle; })) {\n scope.supportPlanWarning.push(participantData.displayTitle);\n scope.supportPlanWarning.sort();\n }\n if (scope.supportPlanData[id] && (!scope.supportPlanData[id].templates || scope.supportPlanData[id].templates.length === 0) && !scope.supportPlanData[id].loadTemplates && !scope.supportPlanWarning.some(function (x) { return x === participantData.displayTitle; })) {\n scope.supportPlanWarning.push(participantData.displayTitle);\n scope.supportPlanWarning.sort();\n return \"continue\";\n }\n if (participantData.objectType === 140000) {\n participantData.loadTemplates = true;\n scope.loadSupportPlanTemplates(id, scope.qmParticipants.indexOf(id));\n if (!(scope.qmSingle && scope.qmForm.length === 1) && !scope.qmForm.some(function (x) { return x.clientId === id; }))\n scope.addSupportPlanForm(id);\n else\n _this.$qui.waitForEl(\"#supportPlanFormButton-\" + scope.qmId + \"-0\", function () { document.getElementById(\"supportPlanFormButton-\" + scope.qmId + \"-0\").click(); });\n }\n scope.supportPlanData[id] = participantData;\n };\n for (var _i = 0, _a = scope.qmParticipants; _i < _a.length; _i++) {\n var id = _a[_i];\n _loop_2(id);\n }\n var _loop_3 = function (id) {\n if (scope.qmParticipants.some(function (x) { return x === id; }))\n return \"continue\";\n delete scope.supportPlanData[id];\n for (var i = scope.qmForm.length - 1; i > -1; i--) {\n if (scope.qmForm[i].clientId === id)\n scope.removeSupportPlanForm(i);\n }\n };\n // remove all deleted participants from data\n for (var id in scope.supportPlanData) {\n _loop_3(id);\n }\n scope.qmClients = [];\n for (var prop in scope.supportPlanData) {\n if (scope.supportPlanData[prop].objectType === 140000) {\n scope.qmClients.push({ text: scope.supportPlanData[prop].displayTitle, value: scope.supportPlanData[prop].objectId });\n }\n }\n };\n scope.addSupportPlanForm = function (clientId) {\n if (clientId === void 0) { clientId = null; }\n var index = scope.qmForm.length;\n clientId = clientId || scope.qmClients[0].value;\n var spd = scope.supportPlanData[clientId];\n scope.qmForm.push({\n clientId: clientId,\n templateId: (spd === null || spd === void 0 ? void 0 : spd.templates[0]) ? spd.templates[0].value : null,\n templateItemId: (spd === null || spd === void 0 ? void 0 : spd.templates[0]) && spd.templateItems[spd.templates[0].value][0] ? spd.templateItems[spd.templates[0].value][0].value : null,\n comment: '',\n createSummernote: Function,\n watcher: scope.$watch(\"qmForm[\" + index + \"].clientId\", function (newValue, oldValue) {\n if (newValue !== oldValue)\n scope.resetSupportPlanForm(scope.qmForm[index]);\n })\n });\n setTimeout(function () {\n _this.$qui.waitForEl(\"#supportPlanFormButton-\" + scope.qmId + \"-\" + index, function () { document.getElementById(\"supportPlanFormButton-\" + scope.qmId + \"-\" + index).click(); });\n });\n };\n scope.getClientName = function (id) {\n var participantData = scope.qmClients.filter(function (x) { return x.value === id; })[0];\n if (!participantData)\n return '';\n return participantData.text;\n };\n scope.removeSupportPlanForm = function (index) {\n var selected = document.getElementById(\"supportPlanFormButton-\" + scope.qmId + \"-\" + index).parentElement.classList.contains('active');\n // if last element was selected and deleted select, the new last element (supposed it exists)\n if (selected && scope.qmForm.length - 1 === index && scope.qmForm.length > 1) {\n document.getElementById(\"supportPlanFormButton-\" + scope.qmId + \"-\" + (index - 1)).click();\n document.getElementById(\"supportPlanForm-\" + scope.qmId + \"-\" + (index - 1)).classList.add('active', 'in');\n }\n scope.qmForm.splice(index, 1);\n };\n scope.resetSupportPlanForm = function (form) {\n var _a, _b;\n if (!form)\n return;\n var spd = scope.supportPlanData[form.clientId];\n form.templateId = (_a = spd === null || spd === void 0 ? void 0 : spd.templates[0]) === null || _a === void 0 ? void 0 : _a.value;\n form.templateItemId = form.templateId && (spd === null || spd === void 0 ? void 0 : spd.templateItems[form.templateId]) && ((_b = spd === null || spd === void 0 ? void 0 : spd.templateItems[form.templateId][0]) === null || _b === void 0 ? void 0 : _b.value);\n };\n scope.getLivingAreaName = function (clientId, templateId, templateItemId, index) {\n if (!scope.supportPlanData[clientId] || !scope.supportPlanData[clientId].templateItemOriginals || !scope.supportPlanData[clientId].templateItemOriginals[templateId])\n return '';\n var templateItems = _this.getChildsFromTemplateItems(scope.supportPlanData[clientId].templateItemOriginals[templateId]);\n var item = templateItems.filter(function (x) { return x.objectId === templateItemId; })[0];\n if (!item)\n return '';\n while (item.parentId) {\n item = templateItems.filter(function (x) { return x.objectId === item.parentId; })[0];\n if (!item)\n return '';\n }\n if (scope.qmForm[index]) {\n scope.qmForm[index].livingAreaId = item.reportItemId;\n }\n return item.caption;\n };\n scope.loadSupportPlanTemplates = function (id, index) {\n _this.journalService.getSupportPlanTargetTemplates(id).then(function (data) {\n data = data.sort(function (a, b) {\n var fromA = moment(a.dateFrom);\n var fromB = moment(b.dateFrom);\n return fromA < fromB ? 1 : fromA > fromB ? -1 : 0;\n });\n scope.supportPlanData[id].templates = data.map(function (x) { return ({ text: x.caption, subText: x.supportPlanCaption, value: x.id }); });\n scope.supportPlanData[id].templateOriginals = data;\n // if we got templates (a support plan exists) select the first one, else remove client from list\n if (scope.supportPlanData[id].templates.length > 0) {\n scope.qmForm[index].templateId = scope.supportPlanData[id].templates[0].value;\n for (var _i = 0, _a = scope.supportPlanData[id].templates; _i < _a.length; _i++) {\n var item = _a[_i];\n scope.loadSupportPlanTemplateItems(item.value, id, scope.qmForm[index].templateId, index);\n }\n }\n else {\n var client = scope.qmClients.filter(function (x) { return x.value === id; })[0];\n scope.supportPlanWarning.push(client.text);\n scope.supportPlanWarning.sort().filter(function (v, i, a) { return a.indexOf(v) === i; });\n scope.removeSupportPlanForm(scope.qmForm.findIndex(function (x) { return x.clientId === id; }));\n }\n }).finally(function () {\n scope.supportPlanData[id].loadTemplates = false;\n var _loop_4 = function (client) {\n if (!scope.supportPlanData[client.value].loadTemplates && (!scope.supportPlanData[client.value].templates || scope.supportPlanData[client.value].templates.length === 0))\n scope.qmClients = scope.qmClients.filter(function (x) { return x.value !== client.value; });\n };\n for (var _i = 0, _a = scope.qmClients; _i < _a.length; _i++) {\n var client = _a[_i];\n _loop_4(client);\n }\n });\n };\n scope.loadSupportPlanTemplateItems = function (id, clientId, templateId, index) {\n if (!scope.supportPlanData[clientId].templateItems) {\n scope.supportPlanData[clientId].templateItems = {};\n }\n if (!scope.supportPlanData[clientId].templateItemOriginals) {\n scope.supportPlanData[clientId].templateItemOriginals = {};\n }\n if (scope.supportPlanData[clientId].templateItems[id])\n return;\n scope.supportPlanData[clientId].templateItems[id] = 'loading';\n var getIcon = function (element) {\n if (element.measureId)\n return 'qm-icon-lifebelt';\n if (element.targetId)\n return 'qm-icon-target';\n return 'qm-icon-elements';\n };\n var flatten = function (elements, level) {\n var _a;\n if (level === void 0) { level = 0; }\n var result = [];\n for (var _i = 0, elements_1 = elements; _i < elements_1.length; _i++) {\n var item = elements_1[_i];\n item.level = level;\n result.push(item);\n if ((_a = item.children) === null || _a === void 0 ? void 0 : _a.length)\n result.push.apply(result, flatten(item.children, level + 1));\n }\n return result;\n };\n _this.journalService.getSupportPlanTargetTemplateItems(id).then(function (data) {\n // first break up hierachy\n var items = flatten(data).map(function (x) { return ({ text: x.caption, value: x.objectId, icon: getIcon(x), level: x.level, disabled: !_this.documentableItemTypes.includes(x.itemType) }); });\n // then map\n scope.supportPlanData[clientId].templateItems[id] = items;\n scope.supportPlanData[clientId].templateItemOriginals[id] = data;\n var templateItems = scope.supportPlanData[clientId].templateItems[templateId];\n if (templateItems && templateItems.length > 0)\n scope.qmForm[index].templateItemId = templateItems[0].value;\n }).finally(function () {\n if (!scope.supportPlanData[clientId].templateItems[id])\n scope.supportPlanData[clientId].templateItems[id] = [];\n if (!scope.supportPlanData[clientId].templateItemOriginals[id])\n scope.supportPlanData[clientId].templateItemOriginals[id] = [];\n });\n };\n scope.isFormInvalid = function (index) {\n var _a, _b, _c;\n var form = scope.qmForm[index];\n form.valid = form.templateId && form.templateItemId && _this.strip((_a = form.comment) !== null && _a !== void 0 ? _a : '').length > 0\n && (!scope.supportPlanData[form.clientId].loadTemplates\n && scope.supportPlanData[form.clientId].templateItems[form.templateId] && scope.supportPlanData[form.clientId].templateItems[form.templateId] !== 'loading');\n if ((_b = scope.supportPlanData[form.clientId].templateOriginals) === null || _b === void 0 ? void 0 : _b.filter(function (x) { return x.id === form.templateId; }))\n form.supportPlanId = (_c = scope.supportPlanData[form.clientId].templateOriginals.filter(function (x) { return x.id === form.templateId; })[0]) === null || _c === void 0 ? void 0 : _c.supportPlanId;\n return !form.valid;\n };\n };\n }\n TagebuchSupportPlanDirective.prototype.getChildsFromTemplateItems = function (templateItems) {\n var result = [];\n for (var _i = 0, templateItems_1 = templateItems; _i < templateItems_1.length; _i++) {\n var item = templateItems_1[_i];\n var newItem = angular.copy(item);\n delete newItem.children;\n result.push(newItem);\n result = result.concat(this.getChildsFromTemplateItems(item.children));\n }\n return result;\n };\n TagebuchSupportPlanDirective.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 TagebuchSupportPlanDirective = __decorate([\n QMC.Directive('QMC.Tagebuch', 'qmJournalSupportPlan', ['$qui', 'TagebuchService'])\n ], TagebuchSupportPlanDirective);\n return TagebuchSupportPlanDirective;\n }());\n Tagebuch.TagebuchSupportPlanDirective = TagebuchSupportPlanDirective;\n })(Tagebuch = QMC.Tagebuch || (QMC.Tagebuch = {}));\n})(QMC || (QMC = {}));\n\n//# sourceMappingURL=../../maps/Tagebuch/qmc.tagebuch.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","params","id","dynamic","angular","module","config","$inject","HttpProvider","Tagebuch","configureHttpProvider","$httpProvider","defaults","headers","get","_super","TagebuchService","$http","$q","_this","call","modulePath","Common","BaseService","getJournalList","getJournalEntry","journalEntryId","getItem","getJournalEntryList","journalId","filter","getPagination","getJournalEntryParticipantList","entryId","getJournalEntryWv","additionalParams","postJournalEntry","post","then","postJournalEntryMultiple","putJournalEntry","put","deleteJournalEntry","delete","postValidation","getJournalParticipants","addEmptyItem","getJournalRequiredFields","getSupportPlanTargetTemplates","clientId","getSupportPlanTargetTemplateItems","Service","Inject","TagebuchListController","$location","tagebuchService","$qui","clientService","$state","$scope","lng","permissionService","userService","markItemService","$sce","$stateParams","stammdatenService","udfService","allowExport","smartAction","SmartAction","newFormOpen","maps","livingArea","priority","clients","sorting","journal","markings","isMobile","Constants","IS_MOBILE","participantsList","alreadyLoad","scrollInit","lastPage","sended","pageSize","listPage","createSummernote","activeSetFilter","saveLoading","useCurrentDate","supportPlanForm","newEntrySupportPlan","enableWarningReason","validation","errors","warnings","loading","afterValidationAction","options","height","focus","airMode","lang","toolbar","newFormCacheName","$","personId","formState","filterDateFrom","filterDateTo","filterDateToDisplay","filterLivingAreaWvId","filterPriorityWvId","filterParticipantId","filterComment","filterAuthorId","commentsDescending","udfs","writeProtection","authorOnly","isActive","allowedDaysIntoPast","hours","minutes","elaborativeWarning","init","getSectionColor","path","anonAvatar","bindEvents","events","parent","attr","document","getElementById","getAttribute","toLocaleLowerCase","forbidden","promptOptions","title","translate","yesNo","icon","text","promptOptionsCache","getPermissionsByObjectTypes","rf","new","modify","newParticipant","modifyParticipant","requiredFields","getUserList","user","map","x","value","objectId","displayTitle","dateManual","Date","timeManual","moment","subtract","toDate","form","initForm","selectLastUsedJournal","getUserSettings","getJournals","getParticipantsSelectionAssignment","values","possibleParticipants","createPersonDisplay","name","forename","shortCaption","personNumber","subText","institute","group","objectTypeCaption","sort","a","list","setFilterFromLocalStorage","smartActionObject","smartActions","participants","getUserDefinedFields","caption","localeCompare","comment","commentTypeWvId","livingAreaId","priorityId","parentEntryId","trustAsHtml","string","scroll","window","scrollTop","changePage","$watch","newValue","oldValue","selectedJournalChanged","JSON","stringify","setNewFormCache","localStorage","setItem","LocalStorageConstants","JOURNAL_USE_CURRENT_DATE","bind","css","setTimeout","functionWaiter","newButtonClick","cache_1","getNewFormCache","Utilities","confirm","dataCache","mark","markNewEntry","isSupportPlan","clearNewFormCache","_a","GUID_EMPTY","addTimeToDate","copy","replace","obj","hasNewFormCache","parse","createDateFromString","cache","removeItem","lastJournal","JOURNAL_LAST_SELECTED_ID","page","journalEntries","getWvList","getJournalEntries","getJournalPerms","go","reload","getPermissionsForDataset","print","countEntryWarnings","comments","count","commentType","countSubWarnings","subs","_i","subs_1","countEntryComments","toggleCommentVisiblity","slideToggle","scopeApply","areSubsHidden","getData","checkEntryType","e","wvs","entryTypeWvList","setFilter","JOURNAL_FILTER_DISPLAY_DATE","toString","JOURNAL_FILTER_PRIORITY_WV_ID","JOURNAL_FILTER_LIVING_AREA_WV_ID","JOURNAL_FILTER_COMMENT","JOURNAL_FILTER_AUTHOR","JOURNAL_FILTER_MARKINGS","JOURNAL_FILTER_PARTICIPANT","JOURNAL_FILTER_COMMENTS","resetFilter","strip","html","textEl","createElement","innerHTML","textContent","trim","disableNewEntrySave","_b","_c","valid","undefined","disableModEntrySave","updateForm","checkIfEditable","updateEntry","some","isValid","isSub","getEntryActionTitle","entry","getClientList","journalList","item","limitLivingAreas","loadingWv","livingAreaWvList","unshift","isFix","priorityWvList","markingsWvList","postEntry","setManualDateWithTime","val","validateJournalEntry","date","authorId","resetSmartAction","postEntryPost","formArray","sform","push","supportPlan","supportPlanId","templateId","templateItemId","newId","style","display","notify","successNote","createdObjectId","openMarkModal","postComment","isWarning","index","hideCommentModal","warningReasons","warning","elaborativeWarningData","active","postCommentPost","FilterDateFrom","FilterDateTo","FilterDateToDisplay","FilterLivingAreaWvId","FilterPriorityWvId","FilterParticipantId","FilterComment","FilterAuthorId","Markings","Page","PageSize","items","forEach","RegExp","subEntries","sub","participantsText","part","find","join","pagination","paginationInfo","paginationNavigation","Number","totalPages","checkMarkedItems","initTooltip","itemList","checkIfItemsAreMarked","y","isMarked","updateJournalEntry","disabled","parentId","authorObjectId","JOURNAL_COMMENTTYPE_WARNING","keys","getInternalElobaritveWarningObject","livingAreaWvId","priorityWvId","targetDefinitionId","isEntryModWarning","waitForEl","click","modal","saveUpdatedJournalEntry","JOURNAL_COMMENTTYPE_NORMAL","createElobaritveWarningObject","save","updateJournalEntryPut","deleteNote","getValue","parseInt","getTableAutoload","ltd","shouldLoadTableData","toLowerCase","defaultValue","result","grep","userId","createdDate","lockDate","addDays","setHours","setMinutes","setSeconds","days","setDate","getDate","paginationNav","loadingMore","type","isClosed","showCommentModal","toggleNavHeader","commentEntryId","is","hide","show","areas","getElementsByName","winPrint","open","write","close","continueSaving","catch","getJournalName","journalName","getNoticeSubject","formatString","getNoticeMessage","disableSupportPlan","this_1","state_1","objectType","openElaborativeWarningModal","Controller","TagebuchDetailController","permission","settings","wv","warningReason","headerText","error","format","subs_2","finally","TagebuchSupportPlanDirective","journalService","restrict","scope","qmParticipants","qmPossibleParticipants","qmForm","qmEnabled","qmSmartAction","qmSingle","qmId","qmDisabled","documentableItemTypes","link","Math","random","substring","supportPlanWarning","supportPlanData","initData","_loop_2","participantData","templates","loadTemplates","loadSupportPlanTemplates","indexOf","addSupportPlanForm","prop","_loop_3","removeSupportPlanForm","qmClients","spd","templateItems","Function","watcher","resetSupportPlanForm","getClientName","parentElement","classList","contains","add","splice","getLivingAreaName","templateItemOriginals","getChildsFromTemplateItems","reportItemId","fromA","dateFrom","fromB","supportPlanCaption","templateOriginals","loadSupportPlanTemplateItems","client","v","findIndex","_loop_4","flatten","elements","level","elements_1","children","apply","element","measureId","targetId","includes","itemType","isFormInvalid","templateItems_1","newItem","concat","Directive"],"mappings":"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"}