{"version":3,"file":"../../js/Stammdaten/qmc.stammdaten.min.js","sources":["qmc.stammdaten.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};\nvar __spreadArrays = (this && this.__spreadArrays) || function () {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\n r[k] = a[j];\n return r;\n};\n(function () {\n angular.module('QMC.Stammdaten', ['QMC.Klient']).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 var params = {\n dataId: {\n dynamic: true\n }\n };\n $stateProvider\n // client\n .state('stammdatenOwn', {\n url: '/stammdaten',\n templateUrl: qmcBase + '/stammdaten',\n controller: 'StammdatenClientListController',\n controllerAs: 'vm',\n resolve: {\n data: [function () {\n console.log('Current State: Stammdaten client list');\n }]\n }\n })\n .state('stammdaten', {\n url: '/stammdaten/:id',\n templateUrl: qmcBase + '/stammdaten',\n controller: 'StammdatenClientListController',\n controllerAs: 'vm',\n resolve: {\n data: [function () {\n console.log('Current State: Stammdaten client list');\n }]\n }\n })\n .state('detail', {\n url: '/stammdaten/detail/:client',\n templateUrl: qmcBase + '/stammdaten/detail',\n controller: 'StammdatenClientDetailController',\n controllerAs: 'vm',\n resolve: {\n data: [function () {\n console.log('Current State: Stammdaten client detail');\n }]\n }\n })\n // detail\n .state('detail.address', {\n url: '/address/:id?:dataId',\n templateUrl: qmcBase + '/stammdaten/detail/address',\n controller: 'DetailAddressController',\n controllerAs: 'vm',\n resolve: {\n data: [function () {\n console.log('Current State: Stammdaten client detail address');\n }]\n },\n params: params\n })\n .state('detail.communication', {\n url: '/communication/:id?:dataId',\n templateUrl: qmcBase + '/stammdaten/detail/communication',\n controller: 'DetailCommunicationController',\n controllerAs: 'vm',\n resolve: {\n data: [function () {\n console.log('Current State: Stammdaten client detail communication');\n }]\n },\n params: params\n })\n .state('detail.contactperson', {\n url: '/contactperson/:id?:dataId',\n templateUrl: qmcBase + '/stammdaten/detail/contactperson',\n controller: 'DetailContactPersonController',\n controllerAs: 'vm',\n resolve: {\n data: [function () {\n console.log('Current State: Stammdaten client detail contact person');\n }]\n },\n params: params\n })\n .state('detail.cover', {\n url: '/cover/:id',\n templateUrl: qmcBase + '/stammdaten/detail/cover',\n controller: 'DetailCoverController',\n controllerAs: 'vm',\n resolve: {\n data: [function () {\n console.log('Current State: Stammdaten client detail cover');\n }]\n }\n })\n .state('detail.doctorsvisit', {\n url: '/doctorsvisit/:id?:dataId',\n templateUrl: qmcBase + '/stammdaten/detail/doctorsvisit',\n controller: 'DetailDoctorsVisitController',\n controllerAs: 'vm',\n resolve: {\n data: [function () {\n console.log('Current State: Stammdaten client detail doctors visit');\n }]\n },\n params: params\n })\n .state('detail.disease', {\n url: '/disease/:id?:dataId',\n templateUrl: qmcBase + '/stammdaten/detail/disease',\n controller: 'DetailDiseaseController',\n controllerAs: 'vm',\n resolve: {\n data: [function () {\n console.log('Current State: Stammdaten client detail disease');\n }]\n },\n params: params\n })\n .state('detail.note', {\n url: '/note/:id',\n templateUrl: qmcBase + '/stammdaten/detail/note',\n controller: 'DetailNoteController',\n controllerAs: 'vm',\n resolve: {\n data: [function () {\n console.log('Current State: Stammdaten client detail note');\n }]\n }\n })\n .state('detail.education', {\n url: '/education/:id?:dataId',\n templateUrl: qmcBase + '/stammdaten/detail/education',\n controller: 'DetailEducationController',\n controllerAs: 'vm',\n resolve: {\n data: [function () {\n console.log('Current State: Stammdaten client detail school');\n }]\n },\n params: params\n })\n .state('detail.vaccination', {\n url: '/vaccination/:id?:dataId',\n templateUrl: qmcBase + '/stammdaten/detail/vaccination',\n controller: 'DetailVaccinationController',\n controllerAs: 'vm',\n resolve: {\n data: [function () {\n console.log('Current State: Stammdaten client detail vaccination');\n }]\n },\n params: params\n })\n .state('detail.hobby', {\n url: '/hobby/:id',\n templateUrl: qmcBase + '/stammdaten/detail/hobby',\n controller: 'DetailHobbyController',\n controllerAs: 'vm',\n resolve: {\n data: [function () {\n console.log('Current State: Stammdaten client detail hobby');\n }]\n }\n })\n .state('detail.checklist', {\n url: '/checklist/:id?:dataId',\n templateUrl: qmcBase + '/stammdaten/detail/checklist',\n controller: 'DetailChecklistController',\n controllerAs: 'vm',\n resolve: {\n data: [function () {\n console.log('Current State: Stammdaten client detail checklist');\n }]\n },\n params: params\n })\n .state('detail.document', {\n url: '/documents/:id',\n templateUrl: qmcBase + '/stammdaten/detail/document',\n controller: 'DetailDocumentsController',\n controllerAs: 'vm',\n resolve: {\n data: [function () {\n console.log('Current State: Stammdaten client detail document');\n }]\n },\n params: params\n })\n .state('detail.absenteeism', {\n url: '/absenteeism/:id',\n templateUrl: qmcBase + '/stammdaten/detail/absenteeism',\n controller: 'DetailAbsenteeismController',\n controllerAs: 'vm',\n resolve: {\n data: [function () {\n console.log('Current State: Stammdaten client detail absenteeism');\n }]\n }\n })\n .state('detail.accountingBook', {\n url: '/accountingBook/:id',\n templateUrl: qmcBase + '/stammdaten/detail/accountingBook',\n controller: 'DetailAccountingBookController',\n controllerAs: 'vm',\n resolve: {\n data: [function () {\n console.log('Current State: Stammdaten client detail accounting book');\n }]\n }\n })\n .state('detail.legal', {\n url: '/legal/:id?:dataId',\n templateUrl: qmcBase + '/stammdaten/detail/legal',\n controller: 'DetailLegalController',\n controllerAs: 'vm',\n resolve: {\n data: [function () {\n console.log('Current State: Stammdaten client detail legal');\n }]\n },\n params: params\n })\n .state('detail.extendedMainData', {\n url: '/extendedMainData/:id',\n templateUrl: qmcBase + '/stammdaten/detail/extendedMainData',\n controller: 'DetailExtendedMainDataController',\n controllerAs: 'vm',\n resolve: {\n data: [function () {\n console.log('Current State: Stammdaten client detail extended Main Data');\n }]\n }\n })\n .state('detail.tempInstituteChange', {\n url: '/tempInstituteChange/:id',\n templateUrl: qmcBase + '/stammdaten/detail/tempInstituteChange',\n controller: 'DetailTempInstituteChangeController',\n controllerAs: 'vm',\n resolve: {\n data: [function () {\n console.log('Current State: Stammdaten client temp institute change');\n }]\n }\n })\n .state('detail.clientInfo', {\n url: '/clientInformation/:id',\n templateUrl: qmcBase + '/stammdaten/detail/clientInfo',\n controller: 'DetailClientInfoController',\n controllerAs: 'vm',\n resolve: {\n data: [function () {\n console.log('Current State: Stammdaten ClientInfo');\n }]\n }\n })\n .state('detail.udf', {\n url: '/udf/:type/:definitionId/:definitionObjectType/:id',\n templateUrl: qmcBase + '/stammdaten/detail/udf',\n controller: 'DetailUdfController',\n controllerAs: 'vm',\n resolve: {\n data: [function () {\n console.log('Current State: Stammdaten UDF');\n }]\n }\n })\n // misc\n .state('globalDocuments', {\n url: '/globalDocuments',\n templateUrl: qmcBase + '/stammdaten/globaldocuments/List',\n controller: 'GlobalDocumentsListController',\n controllerAs: 'vm',\n resolve: {\n data: [function () {\n console.log('Current State: Stammdaten GlobalDocuments');\n }]\n }\n })\n .state('orgaAccountingBooks', {\n url: '/orgaAccountingBooks',\n templateUrl: qmcBase + '/stammdaten/orgaAccountingBooks/List',\n controller: 'OrgaAccountingBooksListController',\n controllerAs: 'vm',\n resolve: {\n data: [function () {\n console.log('Current State: Stammdaten Organsations Accounting Books');\n }]\n }\n });\n }\n})();\nvar QMC;\n(function (QMC) {\n var Stammdaten;\n (function (Stammdaten) {\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 Stammdaten.HttpProvider = HttpProvider;\n })(Stammdaten = QMC.Stammdaten || (QMC.Stammdaten = {}));\n})(QMC || (QMC = {}));\n(function () {\n angular.module('QMC.Stammdaten')\n .config(['$httpProvider', QMC.Stammdaten.HttpProvider.configureHttpProvider]);\n})();\nvar QMC;\n(function (QMC) {\n var Stammdaten;\n (function (Stammdaten) {\n var StammdatenService = /** @class */ (function (_super) {\n __extends(StammdatenService, _super);\n function StammdatenService($http, $q) {\n var _this = _super.call(this, $http, $q) || this;\n _this.$http = $http;\n _this.$q = $q;\n _this.modulePath = '/Stammdaten';\n return _this;\n }\n /***** Check for warnings and errors related to the social insurance number *****/\n StammdatenService.prototype.getPersonValidation = function (dataPersonValidation) {\n return _super.prototype.post.call(this, '/Person/WarningsAndErrors', dataPersonValidation).then(function (dataResult) {\n return dataResult;\n });\n };\n StammdatenService.prototype.getParticipantsSelectionAssignment = function (key, addEmptyItem) {\n if (addEmptyItem === void 0) { addEmptyItem = false; }\n return _super.prototype.getItem.call(this, \"/Person/PeopleSelectionAssignment/\" + key, { addEmptyItem: addEmptyItem }, function (data) {\n return data;\n });\n };\n /***** Doctor *****/\n StammdatenService.prototype.getDoctorList = function () {\n return _super.prototype.get.call(this, '/Person/Doctor', {}, function (data) {\n return data;\n });\n };\n StammdatenService.prototype.getMedicalOrganisationList = function () {\n return _super.prototype.get.call(this, '/Person/MedicalOrganisation', {}, function (data) {\n return data;\n });\n };\n /***** Address *****/\n StammdatenService.prototype.getAddressList = function (parentObjectId) {\n return _super.prototype.get.call(this, this.modulePath + '/Address/' + parentObjectId, {}, function (data) {\n return data;\n });\n };\n StammdatenService.prototype.getAddress = function (parentObjectId, id) {\n return _super.prototype.get.call(this, this.modulePath + '/Address/' + parentObjectId + '/' + id, {}, function (data) {\n return data;\n });\n };\n StammdatenService.prototype.getAddressWv = function () {\n return _super.prototype.getItem.call(this, this.modulePath + '/Address/WvModel', {}, function (data) {\n return data;\n });\n };\n StammdatenService.prototype.getStatesWv = function (id) {\n return _super.prototype.get.call(this, this.modulePath + '/Address/StatesWv/' + id, {}, function (data) {\n return data;\n });\n };\n StammdatenService.prototype.getCityByPostCodeList = function (countryId, searchPostCode) {\n return _super.prototype.get.call(this, this.modulePath + '/Address/CitiesByPostCode/' + countryId + '/' + searchPostCode, {}, function (data) {\n return data;\n });\n };\n StammdatenService.prototype.getPostCodeByCityList = function (countryId, searchCity) {\n return _super.prototype.get.call(this, this.modulePath + '/Address/PostCodesByCity/' + countryId + '/' + searchCity, {}, function (data) {\n return data;\n });\n };\n StammdatenService.prototype.postAddress = function (data) {\n return _super.prototype.post.call(this, this.modulePath + '/Address', data).then(function (d) {\n return d;\n });\n };\n StammdatenService.prototype.putAddress = function (parentObjectId, id, data) {\n return _super.prototype.put.call(this, this.modulePath + '/Address/' + parentObjectId + '/' + id, data).then(function (data) {\n console.log(data);\n return data;\n });\n };\n StammdatenService.prototype.deleteAddress = function (parentObjectId, id) {\n return _super.prototype.delete.call(this, this.modulePath + '/Address/' + parentObjectId + '/' + id).then(function (e) {\n return e;\n });\n };\n /***** AccountingBook *****/\n StammdatenService.prototype.checkForWarningsAndErrors = function (data) {\n return _super.prototype.post.call(this, this.modulePath + '/AccountingBook/WarningsAndErrors', data).then(function (data) {\n return data;\n });\n };\n StammdatenService.prototype.getAccountingBooks = function () {\n return _super.prototype.get.call(this, this.modulePath + '/AccountingBook/', {}, function (data) {\n return data;\n });\n };\n StammdatenService.prototype.getAccountingBookList = function (parentId) {\n return _super.prototype.get.call(this, this.modulePath + '/AccountingBook/' + parentId, {}, function (data) {\n return data;\n });\n };\n StammdatenService.prototype.getAccountingBook = function (parentObjectid, bookId, dateFrom, dateTo) {\n return _super.prototype.getItem.call(this, this.modulePath + '/AccountingBook/' + parentObjectid + \"/\" + bookId, { dateFrom: dateFrom, dateTo: dateTo }, function (data) {\n return data;\n });\n };\n StammdatenService.prototype.postAccountingBook = function (data) {\n return _super.prototype.post.call(this, this.modulePath + '/AccountingBook', data).then(function (d) {\n return d;\n });\n };\n StammdatenService.prototype.postAccountingBookEntry = function (data) {\n return _super.prototype.post.call(this, this.modulePath + '/AccountingBook/Entry', data).then(function (d) {\n return d;\n });\n };\n StammdatenService.prototype.putAccountingBook = function (parentObjectId, id, data) {\n return _super.prototype.put.call(this, this.modulePath + '/AccountingBook/' + parentObjectId + '/' + id, data).then(function (data) {\n return data;\n });\n };\n StammdatenService.prototype.putAccountingBookEntry = function (id, data) {\n return _super.prototype.put.call(this, this.modulePath + '/AccountingBook/Entry/' + id, data).then(function (data) {\n return data;\n });\n };\n StammdatenService.prototype.deleteAccountingBook = function (parentObjectId, id) {\n return _super.prototype.delete.call(this, this.modulePath + '/AccountingBook/' + parentObjectId + '/' + id).then(function (e) {\n return e;\n });\n };\n StammdatenService.prototype.deleteAccountingBookEntry = function (bookId, id) {\n return _super.prototype.delete.call(this, this.modulePath + '/AccountingBook/Entry/' + bookId + '/' + id).then(function (e) {\n return e;\n });\n };\n StammdatenService.prototype.getAccountingBookWv = function () {\n return _super.prototype.getItem.call(this, this.modulePath + '/AccountingBook/WvModel', {}, function (data) {\n return data;\n });\n };\n StammdatenService.prototype.getAccountingBookWvForCountry = function (id) {\n return _super.prototype.getItem.call(this, this.modulePath + '/AccountingBook/WvModel/' + id, {}, function (data) {\n return data;\n });\n };\n StammdatenService.prototype.getAccountingBookUserConfig = function () {\n return _super.prototype.getItem.call(this, this.modulePath + '/AccountingBook/UserConfig', {}, function (data) {\n return data;\n });\n };\n StammdatenService.prototype.getAccountingBookReferences = function () {\n var cacheName = 'AccountingBookReferenceCache';\n var cacheContent = sessionStorage.getItem(cacheName);\n if (cacheContent) {\n return this.$q(function (resolve, reject) {\n try {\n resolve(JSON.parse(cacheContent));\n }\n catch (e) {\n console.log('failed cache parsing for AccountingBookReferences', e);\n reject([]);\n }\n });\n }\n return _super.prototype.get.call(this, \"/Person/PeopleSelectionAssignment/KASSENBUCHDATENBEZUG.PERSONENTYP\", {}, function (data) {\n sessionStorage.setItem(cacheName, JSON.stringify(data));\n return data;\n });\n };\n /***** Authority *****/\n StammdatenService.prototype.getAuthorityList = function () {\n return _super.prototype.get.call(this, '/Person/Authority', {}, function (data) {\n return data;\n });\n };\n StammdatenService.prototype.getAuthorityContactList = function () {\n return _super.prototype.get.call(this, '/Person/Authority/Contact', {}, function (data) {\n return data;\n });\n };\n /***** Connect *****/\n StammdatenService.prototype.isConnectRegistrationAvailable = function () {\n return _super.prototype.getItem.call(this, \"/Connect/RegistrationAvailable\", {}, function (data) { return data; });\n };\n StammdatenService.prototype.getConnectRegistrationUrl = function (careReceiverId, connectUserId) {\n return _super.prototype.getItem.call(this, \"/Connect/RegistrationUrl/\" + careReceiverId, { connectUserId: connectUserId }, function (result) { return result.url; });\n };\n /***** Checklist *****/\n StammdatenService.prototype.getChecklistList = function (referenceType) {\n return _super.prototype.get.call(this, this.modulePath + '/Checklist/', { referenceType: referenceType }, function (data) {\n return data;\n });\n };\n StammdatenService.prototype.getChecklistItemList = function (parentObjectId, checklistId) {\n return _super.prototype.get.call(this, this.modulePath + '/Checklist/Items/' + parentObjectId + '/' + checklistId, {}, function (data) {\n return data;\n });\n };\n StammdatenService.prototype.getChecklistItem = function (parentObjectId, checklistId, itemid) {\n return _super.prototype.getItem.call(this, this.modulePath + (\"/Checklist/Items/\" + parentObjectId + \"/\" + checklistId + \"/\" + itemid), {}, function (data) {\n return data;\n });\n };\n StammdatenService.prototype.postCheckedItem = function (parentObjectId, data) {\n return _super.prototype.post.call(this, this.modulePath + \"/Checklist/Items/\" + parentObjectId, data).then(function (data) {\n return data;\n });\n };\n StammdatenService.prototype.putCheckedItem = function (parentObjectId, itemId, data) {\n return _super.prototype.put.call(this, this.modulePath + \"/Checklist/Items/\" + parentObjectId + \"/\" + itemId, data).then(function (data) {\n return data;\n });\n };\n StammdatenService.prototype.deleteCheckedItems = function (parentObjectId, itemId) {\n return _super.prototype.delete.call(this, this.modulePath + \"/Checklist/Items/\" + parentObjectId + \"/\" + itemId).then(function (data) {\n return data;\n });\n };\n StammdatenService.prototype.deleteCheckedItem = function (parentObjectId, itemId, id) {\n return _super.prototype.delete.call(this, this.modulePath + \"/Checklist/Items/\" + parentObjectId + \"/\" + itemId + \"/\" + id).then(function (data) {\n return data;\n });\n };\n /***** Communication *****/\n StammdatenService.prototype.getCommunicationList = function (parentObjectId) {\n return _super.prototype.get.call(this, this.modulePath + '/Communication/' + parentObjectId, {}, function (data) {\n return data;\n });\n };\n StammdatenService.prototype.getCommunication = function (parentObjectId, id) {\n return _super.prototype.get.call(this, this.modulePath + '/Communication/' + parentObjectId + '/' + id, {}, function (data) {\n return data;\n });\n };\n StammdatenService.prototype.getCommunicationWv = function () {\n return _super.prototype.getItem.call(this, this.modulePath + '/Communication/WvModel', {}, function (data) {\n return data;\n });\n };\n StammdatenService.prototype.postCommunication = function (data) {\n return _super.prototype.post.call(this, this.modulePath + '/Communication', data).then(function (data) {\n return data;\n });\n };\n StammdatenService.prototype.putCommunication = function (parentObjectId, id, data) {\n return _super.prototype.put.call(this, this.modulePath + '/Communication/' + parentObjectId + '/' + id, data).then(function (data) {\n return data;\n });\n };\n StammdatenService.prototype.deleteCommunication = function (parentObjectId, id) {\n return _super.prototype.delete.call(this, this.modulePath + '/Communication/' + parentObjectId + '/' + id).then(function (data) {\n return data;\n });\n };\n /***** Society (VEREIN) *****/\n StammdatenService.prototype.getSocietyListItem = function () {\n return _super.prototype.get.call(this, '/Person/Society/', {}, function (data) {\n return data;\n });\n };\n /***** Contact Person *****/\n StammdatenService.prototype.getContactPersonList = function (parentObjectId, categoryId, contactPersonStatusId) {\n var additionalParams = \"\";\n if (categoryId !== null)\n additionalParams += \"?categoryId=\" + categoryId;\n if (contactPersonStatusId !== null) {\n if (categoryId !== null)\n additionalParams += \"&activeStatusId=\" + contactPersonStatusId;\n else\n additionalParams += \"?activeStatusId=\" + contactPersonStatusId;\n }\n return _super.prototype.get.call(this, this.modulePath + '/ContactPerson/' + parentObjectId + additionalParams, {}, function (data) {\n return data;\n });\n };\n StammdatenService.prototype.getContactPersonWvList = function () {\n return _super.prototype.getItem.call(this, this.modulePath + '/ContactPerson/WvModel', {}, function (data) {\n return data;\n });\n };\n StammdatenService.prototype.getContactPersonCategories = function () {\n return _super.prototype.get.call(this, this.modulePath + '/ContactPerson/Category', {}, function (data) {\n return data;\n });\n };\n StammdatenService.prototype.getContactPerson = function (parentObjectId, id) {\n return _super.prototype.get.call(this, this.modulePath + '/ContactPerson/' + parentObjectId + '/' + id, {}, function (data) {\n return data;\n });\n };\n StammdatenService.prototype.postContactPerson = function (data) {\n return _super.prototype.post.call(this, this.modulePath + '/ContactPerson', data).then(function (data) {\n return data;\n });\n };\n StammdatenService.prototype.putContactPerson = function (parentObjectId, id, data) {\n return _super.prototype.put.call(this, this.modulePath + '/ContactPerson/' + parentObjectId + '/' + id, data).then(function (data) {\n return data;\n });\n };\n StammdatenService.prototype.deleteContactPerson = function (parentObjectId, id) {\n return _super.prototype.delete.call(this, this.modulePath + '/ContactPerson/' + parentObjectId + '/' + id).then(function (data) {\n return data;\n });\n };\n StammdatenService.prototype.validateContactPersonDeletion = function (referenceId, referenceObjectId) {\n return _super.prototype.post.call(this, this.modulePath + \"/ContactPerson/DeletionValidation\", { contactPersonId: referenceId, contactPersonObjId: referenceObjectId }).then(function (data) {\n return data;\n });\n };\n /***** Training ****/\n StammdatenService.prototype.getTrainingList = function (parentObjectId, parentObjectType) {\n return _super.prototype.get.call(this, this.modulePath + '/Training/' + parentObjectId + '/' + parentObjectType, {}, function (data) {\n return data;\n });\n };\n StammdatenService.prototype.getTraining = function (parentObjectId, id) {\n return _super.prototype.getItem.call(this, this.modulePath + '/Training/' + parentObjectId + '/' + id, {}, function (data) {\n return data;\n });\n };\n StammdatenService.prototype.getTrainingWvList = function () {\n return _super.prototype.getItem.call(this, this.modulePath + '/Training/WvModel', {}, function (data) {\n return data;\n });\n };\n StammdatenService.prototype.postTraining = function (data) {\n return _super.prototype.post.call(this, this.modulePath + '/Training', data).then(function (data) {\n return data;\n });\n };\n StammdatenService.prototype.putTraining = function (parentObjectId, id, data) {\n return _super.prototype.put.call(this, this.modulePath + '/Training/' + parentObjectId + '/' + id, data).then(function (data) {\n return data;\n });\n };\n StammdatenService.prototype.deleteTraining = function (parentObjectId, id) {\n return _super.prototype.delete.call(this, this.modulePath + '/Training/' + parentObjectId + '/' + id).then(function (data) {\n return data;\n });\n };\n /***** Education ****/\n StammdatenService.prototype.getEducationList = function (parentObjectId) {\n return _super.prototype.get.call(this, this.modulePath + '/Education/' + parentObjectId, {}, function (data) {\n return data;\n });\n };\n StammdatenService.prototype.getCompaniesList = function () {\n return _super.prototype.get.call(this, '/Person/Company', {}, function (data) {\n return data;\n });\n };\n StammdatenService.prototype.getSchoolsList = function () {\n return _super.prototype.get.call(this, '/Person/School', {}, function (data) {\n return data;\n });\n };\n StammdatenService.prototype.getGradeLevelList = function (parentObjectId) {\n return _super.prototype.get.call(this, '/Person/School/GradeLevel/' + parentObjectId, {}, function (data) {\n return data;\n });\n };\n StammdatenService.prototype.getEducation = function (parentObjectId, id, educationKind) {\n return _super.prototype.getItem.call(this, this.modulePath + '/Education/' + parentObjectId + '/' + id + '/' + educationKind, {}, function (data) {\n return data;\n });\n };\n StammdatenService.prototype.getEducationWvList = function () {\n return _super.prototype.getItem.call(this, this.modulePath + '/Education/WvModel', {}, function (data) {\n return data;\n });\n };\n StammdatenService.prototype.postEducation = function (data) {\n return _super.prototype.post.call(this, this.modulePath + '/Education', data).then(function (data) {\n return data;\n });\n };\n StammdatenService.prototype.putEducation = function (parentObjectId, id, data) {\n return _super.prototype.put.call(this, this.modulePath + '/Education/' + parentObjectId + '/' + id, data).then(function (data) {\n return data;\n });\n };\n StammdatenService.prototype.deleteEducation = function (parentObjectId, id, educationKind) {\n return _super.prototype.delete.call(this, this.modulePath + '/Education/' + parentObjectId + '/' + id + '/' + educationKind).then(function (data) {\n return data;\n });\n };\n /***** Disease ****/\n StammdatenService.prototype.getDiseaseRequiredFields = function () {\n return _super.prototype.getItem.call(this, this.modulePath + '/Disease/RequiredFields/', {}, function (data) {\n return data;\n });\n };\n StammdatenService.prototype.getDiseaseList = function (parentObjectId) {\n return _super.prototype.get.call(this, this.modulePath + '/Disease/' + parentObjectId, {}, function (data) {\n return data;\n });\n };\n StammdatenService.prototype.getDisease = function (parentObjectId, id) {\n return _super.prototype.get.call(this, this.modulePath + '/Disease/' + parentObjectId + '/' + id, {}, function (data) {\n return data;\n });\n };\n StammdatenService.prototype.getDiseaseWvList = function () {\n return _super.prototype.getItem.call(this, this.modulePath + '/Disease/WvModel', {}, function (data) {\n return data;\n });\n };\n StammdatenService.prototype.getDiseasesBySearchText = function (codeSchemaWvId, searchText) {\n return _super.prototype.get.call(this, this.modulePath + '/Disease/Base/MatchSearchText/' + codeSchemaWvId + '/' + searchText, { pageSize: 30 }, function (data) {\n return data;\n });\n };\n StammdatenService.prototype.postDisease = function (data) {\n return _super.prototype.post.call(this, this.modulePath + '/Disease', data).then(function (data) {\n return data;\n });\n };\n StammdatenService.prototype.putDisease = function (parentObjectId, id, data) {\n return _super.prototype.put.call(this, this.modulePath + '/Disease/' + parentObjectId + '/' + id, data).then(function (data) {\n return data;\n });\n };\n StammdatenService.prototype.deleteDisease = function (parentObjectId, id) {\n return _super.prototype.delete.call(this, this.modulePath + '/Disease/' + parentObjectId + '/' + id).then(function (data) {\n return data;\n });\n };\n /***** Legal *****/\n StammdatenService.prototype.getLegalList = function (parentObjectId) {\n return _super.prototype.get.call(this, this.modulePath + '/Legal/' + parentObjectId, {}, function (data) {\n return data;\n });\n };\n StammdatenService.prototype.getLegal = function (parentObjectId, id) {\n return _super.prototype.getItem.call(this, this.modulePath + '/Legal/' + parentObjectId + '/' + id, {}, function (data) {\n return data;\n });\n };\n StammdatenService.prototype.getLegalWvList = function () {\n return _super.prototype.getItem.call(this, this.modulePath + '/Legal/WvModel', {}, function (data) {\n return data;\n });\n };\n StammdatenService.prototype.postLegal = function (data) {\n return _super.prototype.post.call(this, this.modulePath + '/Legal', data).then(function (data) {\n return data;\n });\n };\n StammdatenService.prototype.putLegal = function (parentobjectId, id, data) {\n return _super.prototype.put.call(this, this.modulePath + '/Legal/' + parentobjectId + '/' + id, data).then(function (data) {\n return data;\n });\n };\n StammdatenService.prototype.deleteLegal = function (parentObjectId, id) {\n return _super.prototype.delete.call(this, this.modulePath + '/Legal/' + parentObjectId + '/' + id).then(function (data) {\n return data;\n });\n };\n /***** Doctors Visit *****/\n StammdatenService.prototype.getDoctorsVisitList = function (parentObjectId) {\n return _super.prototype.get.call(this, this.modulePath + '/DoctorsVisit/' + parentObjectId, {}, function (data) {\n return data;\n });\n };\n StammdatenService.prototype.getDoctorsVisit = function (parentObjectId, id) {\n return _super.prototype.getItem.call(this, this.modulePath + '/DoctorsVisit/' + parentObjectId + '/' + id, {}, function (data) {\n return data;\n });\n };\n StammdatenService.prototype.postDoctorsVisit = function (data) {\n return _super.prototype.post.call(this, this.modulePath + '/DoctorsVisit', data).then(function (data) {\n return data;\n });\n };\n StammdatenService.prototype.putDoctorsVisit = function (parentObjectId, id, data) {\n return _super.prototype.put.call(this, this.modulePath + '/DoctorsVisit/' + parentObjectId + '/' + id, data).then(function (data) {\n return data;\n });\n };\n StammdatenService.prototype.deleteDoctorsVisit = function (parentObjectId, id) {\n return _super.prototype.delete.call(this, this.modulePath + '/DoctorsVisit/' + parentObjectId + '/' + id).then(function (data) {\n return data;\n });\n };\n /**** Notes *****/\n StammdatenService.prototype.getNote = function (parentObjectId) {\n return _super.prototype.getItem.call(this, '/Client/Note/' + parentObjectId, {}, function (data) {\n return data;\n });\n };\n StammdatenService.prototype.putNote = function (parentObjectId, data) {\n return _super.prototype.put.call(this, '/Client/Note/' + parentObjectId, data).then(function (data) {\n return data;\n });\n };\n /***** Vaccination *****/\n StammdatenService.prototype.getVaccinationList = function (parentObjectId) {\n return _super.prototype.get.call(this, this.modulePath + '/Vaccination/' + parentObjectId, {}, function (data) {\n return data;\n });\n };\n StammdatenService.prototype.getVaccination = function (parentObjectId, id) {\n return _super.prototype.get.call(this, this.modulePath + '/Vaccination/' + parentObjectId + '/' + id, {}, function (data) {\n return data;\n });\n };\n StammdatenService.prototype.getVaccinationWv = function () {\n return _super.prototype.getItem.call(this, this.modulePath + '/Vaccination/WvModel', {}, function (data) {\n return data;\n });\n };\n StammdatenService.prototype.postVaccination = function (data) {\n return _super.prototype.post.call(this, this.modulePath + '/Vaccination', data).then(function (data) {\n return data;\n });\n };\n StammdatenService.prototype.putVaccination = function (parentObjectId, id, data) {\n return _super.prototype.put.call(this, this.modulePath + '/Vaccination/' + parentObjectId + '/' + id, data).then(function (data) {\n return data;\n });\n };\n StammdatenService.prototype.deleteVaccination = function (parentObjectId, id) {\n return _super.prototype.delete.call(this, this.modulePath + '/Vaccination/' + parentObjectId + '/' + id).then(function (data) {\n return data;\n });\n };\n /***** Hobby *****/\n StammdatenService.prototype.getHobbyRequiredFields = function () {\n return _super.prototype.getItem.call(this, this.modulePath + '/Hobby/' + \"/RequiredFields\", {}, function (data) {\n return data;\n });\n };\n StammdatenService.prototype.getHobbyList = function (parentObjectId) {\n return _super.prototype.get.call(this, this.modulePath + '/Hobby/' + parentObjectId, {}, function (data) {\n return data;\n });\n };\n StammdatenService.prototype.getHobby = function (parentObjectId, id) {\n return _super.prototype.getItem.call(this, this.modulePath + '/Hobby/' + parentObjectId + '/' + id, {}, function (data) {\n return data;\n });\n };\n StammdatenService.prototype.getHobbyWv = function () {\n return _super.prototype.getItem.call(this, this.modulePath + '/Hobby/WvModel', {}, function (data) {\n return data;\n });\n };\n StammdatenService.prototype.postHobby = function (data) {\n return _super.prototype.post.call(this, this.modulePath + '/Hobby', data).then(function (data) {\n return data;\n });\n };\n StammdatenService.prototype.putHobby = function (parentObjectId, id, data) {\n return _super.prototype.put.call(this, this.modulePath + '/Hobby/' + parentObjectId + '/' + id, data).then(function (data) {\n return data;\n });\n };\n StammdatenService.prototype.deleteHobby = function (parentObjectId, id) {\n return _super.prototype.delete.call(this, this.modulePath + '/Hobby/' + parentObjectId + '/' + id).then(function (data) {\n return data;\n });\n };\n /***** Documents ****/\n StammdatenService.prototype.getDocumentsUserConfig = function () {\n return _super.prototype.getItem.call(this, '/Document/UserConfig', {}, function (data) {\n return data;\n });\n };\n StammdatenService.prototype.getDocumentList = function (parentObjectId) {\n return _super.prototype.get.call(this, '/Document/' + parentObjectId, {}, function (data) {\n return data;\n });\n };\n StammdatenService.prototype.getDocument = function (parentObjectId, id) {\n return _super.prototype.getItem.call(this, '/Document/' + parentObjectId + '/' + id, {}, function (data) {\n return data;\n });\n };\n StammdatenService.prototype.downloadAttachment = function (documentId, attachmentId) {\n return _super.prototype.getItem.call(this, '/Document/Media/' + documentId + '/' + attachmentId, {}).then(function (data) {\n return data;\n });\n };\n StammdatenService.prototype.postNewDocument = function (data) {\n return _super.prototype.post.call(this, '/Document', data).then(function (data) {\n return data;\n });\n };\n StammdatenService.prototype.editDocument = function (parentObjectId, id, data) {\n return _super.prototype.put.call(this, '/Document/' + parentObjectId + '/' + id, data).then(function (data) {\n return data;\n });\n };\n StammdatenService.prototype.addFileToDocument = function (data) {\n return _super.prototype.post.call(this, '/Document/Media', data).then(function (data) {\n return data;\n });\n };\n StammdatenService.prototype.deleteDocument = function (parentObjectId, id) {\n return _super.prototype.delete.call(this, '/Document/' + parentObjectId + '/' + id).then(function (e) {\n return e;\n });\n };\n StammdatenService.prototype.deleteFile = function (documentId, id) {\n return _super.prototype.delete.call(this, '/Document/Media/' + documentId + \"/\" + id).then(function (e) {\n return e;\n });\n };\n StammdatenService.prototype.getDocumentWV = function () {\n return _super.prototype.cachedGetItem.call(this, '/Document/WvModel', {}, function (data) {\n return data;\n });\n };\n StammdatenService.prototype.getDocumentMappingForObjecttype = function (type) {\n return _super.prototype.cachedGetItem.call(this, \"/Document/Media/DocumentMapping/\" + type).then(function (data) { return data; });\n };\n /***** Absenteeism *****/\n StammdatenService.prototype.getAbsenteeismList = function (parentObjectId) {\n return _super.prototype.get.call(this, this.modulePath + '/Absenteeism/' + parentObjectId, {}, function (data) {\n return data;\n });\n };\n StammdatenService.prototype.getAbsenteeismBanList = function (clientId) {\n return _super.prototype.get.call(this, this.modulePath + '/Absenteeism/Bans/' + clientId, {}, function (data) {\n return data;\n });\n };\n StammdatenService.prototype.getAbsenteeism = function (parentObjectId, id) {\n return _super.prototype.getItem.call(this, this.modulePath + '/Absenteeism/' + parentObjectId + '/' + id, {}, function (data) {\n return data;\n });\n };\n StammdatenService.prototype.postAbsenteeism = function (data) {\n return _super.prototype.post.call(this, this.modulePath + '/Absenteeism', data).then(function (data) {\n return data;\n });\n };\n StammdatenService.prototype.putAbsenteeism = function (parentObjectId, id, data) {\n return _super.prototype.put.call(this, this.modulePath + '/Absenteeism/' + parentObjectId + '/' + id, data).then(function (data) {\n return data;\n });\n };\n StammdatenService.prototype.deleteAbsenteeism = function (parentObjectId, id) {\n return _super.prototype.delete.call(this, this.modulePath + '/Absenteeism/' + parentObjectId + '/' + id).then(function (data) {\n return data;\n });\n };\n StammdatenService.prototype.getAbsenteeismWv = function () {\n return _super.prototype.cachedGetItem.call(this, this.modulePath + '/Absenteeism/WvModel', {}, function (data) {\n return data;\n });\n };\n /***** Check for warnings and errors *****/\n StammdatenService.prototype.checkAbsenteeismValidation = function (dataAbsenteeismValidation) {\n return _super.prototype.post.call(this, this.modulePath + '/Absenteeism/WarningsAndErrors', dataAbsenteeismValidation).then(function (dataResult) {\n return dataResult;\n });\n };\n /***** Media *****/\n StammdatenService.prototype.getClientImage = function (clientId, thumbnail, objectType) {\n if (objectType === void 0) { objectType = 140031; }\n if (clientId !== undefined) {\n var thumbnailString = thumbnail ? 'true' : 'false';\n return _super.prototype.cachedGetItem.call(this, '/Media/Image/MainImage', { parentObjectId: clientId, getThumbnail: thumbnailString, objectType: objectType }, function (data) {\n return data;\n });\n }\n return null;\n };\n StammdatenService.prototype.getAvatarByName = function (foreName, name) {\n if (foreName !== \"\" && name !== \"\") {\n return _super.prototype.cachedGetItem.call(this, 'Media/Image/CreateAvatar', { foreName: foreName, name: name }, function (data) {\n return data;\n });\n }\n return null;\n };\n StammdatenService.prototype.getClientImageList = function (clientIds, thumbnail, objectType) {\n if (objectType === void 0) { objectType = 140031; }\n if (clientIds !== undefined) {\n console.log(\"ids\", clientIds);\n var thumbnailString = thumbnail ? 'true' : 'false';\n return _super.prototype.get.call(this, 'Media/Image/MainImageList', { objectIdList: clientIds, getThumbnail: thumbnailString, objectType: objectType }, function (data) {\n return data;\n });\n }\n };\n /***** GlobalDocuments *****/\n StammdatenService.prototype.getGlobalDocumentList = function (dateFrom, dateTo, showOnlyGlobal, referenceObjectType, page, pageSize, searchString, searchProperties) {\n if (searchProperties === void 0) { searchProperties = []; }\n return _super.prototype.getPagination.call(this, '/GlobalDocuments', { dateFrom: dateFrom, dateTo: dateTo, showOnlyGlobal: showOnlyGlobal, referenceObjectType: referenceObjectType, page: page, pageSize: pageSize, listSearch: searchString, searchProperties: searchProperties }, function (data) {\n return data;\n });\n };\n StammdatenService.prototype.getGlobalDocumentReferences = function () {\n return _super.prototype.get.call(this, '/GlobalDocuments/References', {}, function (data) {\n return data;\n });\n };\n StammdatenService.prototype.getGlobalDocumentFile = function (id) {\n return _super.prototype.getItem.call(this, '/GlobalDocuments/Media/' + id, {}).then(function (data) {\n return data === null || data === void 0 ? void 0 : data.base64;\n });\n };\n StammdatenService.prototype.postGlobalDocument = function (data) {\n return _super.prototype.post.call(this, '/GlobalDocuments', data).then(function (data) {\n return data;\n });\n };\n StammdatenService.prototype.deleteGlobalDocument = function (document) {\n //return super.delete('/GlobalDocuments/' + document.grandParentId + \"/\" + document.parentId + \"/\" + document.objectId).then((e) => {\n return _super.prototype.delete.call(this, '/GlobalDocuments/' + document.objectId).then(function (e) {\n return e;\n });\n };\n /***** MedicalEvidence ****/\n StammdatenService.prototype.getMedicalEvidenceList = function (parentObjectId) {\n return _super.prototype.get.call(this, this.modulePath + '/MedicalEvidence/' + parentObjectId, {}, function (data) {\n return data;\n });\n };\n StammdatenService.prototype.getMedicalEvidence = function (parentObjectId, id) {\n return _super.prototype.getItem.call(this, this.modulePath + '/MedicalEvidence/' + parentObjectId + '/' + id, {}, function (data) {\n return data;\n });\n };\n StammdatenService.prototype.getMedicalEvidenceWvList = function () {\n return _super.prototype.getItem.call(this, this.modulePath + '/MedicalEvidence/WvModel', {}, function (data) {\n return data;\n });\n };\n StammdatenService.prototype.postMedicalEvidence = function (data) {\n return _super.prototype.post.call(this, this.modulePath + '/MedicalEvidence', data).then(function (data) {\n return data;\n });\n };\n StammdatenService.prototype.putMedicalEvidence = function (parentObjectId, id, data) {\n return _super.prototype.put.call(this, this.modulePath + '/MedicalEvidence/' + parentObjectId + '/' + id, data).then(function (data) {\n return data;\n });\n };\n StammdatenService.prototype.deleteMedicalEvidence = function (parentObjectId, id) {\n return _super.prototype.delete.call(this, this.modulePath + '/MedicalEvidence/' + parentObjectId + '/' + id).then(function (data) {\n return data;\n });\n };\n StammdatenService.prototype.getMedicalEvidenceExecutioners = function () {\n return _super.prototype.get.call(this, \"/Person/PeopleSelectionAssignment/MedNachweisDurchfuehrender\", {}, function (data) {\n return data;\n });\n };\n /***** MedicationResponsible / Medication Issued Through ****/\n StammdatenService.prototype.getMedicationResponsibleMedicatioThroughList = function (parentObjectId, assignmentType) {\n return _super.prototype.get.call(this, this.modulePath + '/MedicalResponsible/' + parentObjectId + '/' + assignmentType, {}, function (data) {\n return data;\n });\n };\n StammdatenService.prototype.getMedResponsibleIssuedThroughItem = function (parentObjectId, id) {\n return _super.prototype.getItem.call(this, this.modulePath + '/MedicalResponsible/' + parentObjectId + '/' + id, {}, function (data) {\n return data;\n });\n };\n StammdatenService.prototype.postMedResponsibleIssuedThroughItem = function (data) {\n return _super.prototype.post.call(this, this.modulePath + '/MedicalResponsible', data).then(function (data) {\n return data;\n });\n };\n StammdatenService.prototype.putMedResponsibleIssuedThroughItem = function (parentObjectId, id, data) {\n return _super.prototype.put.call(this, this.modulePath + '/MedicalResponsible/' + parentObjectId + '/' + id, data).then(function (data) {\n return data;\n });\n };\n StammdatenService.prototype.deleteMedResponsibleIssuedThroughItem = function (parentObjectId, assignmentType, id) {\n return _super.prototype.delete.call(this, this.modulePath + '/MedicalResponsible/' + parentObjectId + '/' + assignmentType + '/' + id).then(function (data) {\n return data;\n });\n };\n /***** TempInstituteChange ****/\n StammdatenService.prototype.getTempInstituteChangeList = function (parentObjectId) {\n return _super.prototype.get.call(this, this.modulePath + '/TempInstituteChange/' + parentObjectId, {}, function (data) {\n return data;\n });\n };\n StammdatenService.prototype.getTempInstituteChange = function (parentObjectId, id) {\n return _super.prototype.getItem.call(this, this.modulePath + '/TempInstituteChange/' + parentObjectId + '/' + id, {}, function (data) {\n return data;\n });\n };\n StammdatenService.prototype.getTempInstituteChangeWvList = function () {\n return _super.prototype.getItem.call(this, this.modulePath + '/TempInstituteChange/WvModel', {}, function (data) {\n return data;\n });\n };\n StammdatenService.prototype.postTempInstituteChange = function (data) {\n return _super.prototype.post.call(this, this.modulePath + '/TempInstituteChange', data).then(function (data) {\n return data;\n });\n };\n StammdatenService.prototype.putTempInstituteChange = function (parentObjectId, id, data) {\n return _super.prototype.put.call(this, this.modulePath + '/TempInstituteChange/' + parentObjectId + '/' + id, data).then(function (data) {\n return data;\n });\n };\n StammdatenService.prototype.deleteTempInstituteChange = function (parentObjectId, id) {\n return _super.prototype.delete.call(this, this.modulePath + '/TempInstituteChange/' + parentObjectId + '/' + id).then(function (data) {\n return data;\n });\n };\n /***** Organisation *****/\n StammdatenService.prototype.getOrganisationList = function () {\n return _super.prototype.get.call(this, '/Person/Organisation').then(function (data) {\n return data;\n });\n };\n StammdatenService.prototype.getOrganisationForPerson = function (personId) {\n return _super.prototype.getItem.call(this, '/Person/Organisation/' + personId, {}, function (data) {\n return data;\n });\n };\n /***** ReweCommon *****/\n StammdatenService.prototype.getReweNumber = function (objectType, referenceId) {\n return _super.prototype.get.call(this, '/ReweCommon/ReweNumber', { objectType: objectType, referenceId: referenceId }, function (data) {\n return data;\n });\n };\n StammdatenService = __decorate([\n QMC.Service('QMC.Stammdaten', 'StammdatenService'),\n QMC.Inject('$http', '$q')\n ], StammdatenService);\n return StammdatenService;\n }(QMC.Common.BaseService));\n Stammdaten.StammdatenService = StammdatenService;\n })(Stammdaten = QMC.Stammdaten || (QMC.Stammdaten = {}));\n})(QMC || (QMC = {}));\nvar QMC;\n(function (QMC) {\n var Stammdaten;\n (function (Stammdaten) {\n var StammdatenClientListController = /** @class */ (function () {\n /**\n * Creates an instance of StammdatenClientListController.\n * @param {StammdatenService} stammdatenService\n * @param {any} $qui\n * @param {Klient.KlientService} clientService\n * @param {any} $stateParams\n * @param {any} $scope\n * @param {any} $state\n *\n * @memberOf StammdatenClientListController\n */\n function StammdatenClientListController($location, stammdatenService, $qui, clientService, $stateParams, $scope, $state, userService, permissionService) {\n var _this = this;\n this.$location = $location;\n this.stammdatenService = stammdatenService;\n this.$qui = $qui;\n this.clientService = clientService;\n this.$state = $state;\n this.userService = userService;\n this.permissionService = permissionService;\n this.ui = new QMC.Stammdaten.UserInterface();\n this.allowTableExport = false;\n this.page = 0;\n this.filter = {\n searchText: \"\",\n searchId: QMC.Common.Constants.DEFAULT_CLIENT_PREDEFINED_SEARCH_ID,\n showActiveOnly: false\n };\n this.clientListSchema = {\n \"config\": {\n \"tableRowLink\": \"#/stammdaten/detail/{{id}}/cover/{{id}}\",\n },\n \"table\": {\n \"Bild\": {\n \"label\": \"id\",\n \"dType\": \"Avatar\",\n \"name\": \"name\",\n \"href\": \"#/stammdaten/detail/{{id}}/cover/{{id}}\",\n \"forename\": \"forename\"\n },\n \"Name\": {\n \"label\": \"name\",\n \"dType\": \"string\",\n \"lngTag\": \"20000072\"\n },\n \"Vorname\": {\n \"label\": \"forename\",\n \"dType\": \"string\",\n \"lngTag\": \"20000057\"\n },\n \"Kürzel\": {\n \"label\": \"shortCaption\",\n \"dType\": \"string\",\n \"lngTag\": \"20000221\"\n },\n \"Nummer\": {\n \"label\": \"clientNumber\",\n \"dType\": \"string\",\n \"lngTag\": \"20000316\"\n },\n \"Stammhaus\": {\n \"label\": \"actualInstitution\",\n \"dType\": \"string\",\n \"lngTag\": \"20000031\"\n },\n \"Geburtsdatum\": {\n \"label\": \"birthday\",\n \"dType\": \"Date\",\n \"lngTag\": \"21002004\"\n },\n },\n \"card\": {\n \"avatar\": {\n \"name\": \"name\",\n \"forename\": \"forename\",\n \"label\": \"id\",\n \"href\": \"#/stammdaten/detail/{{id}}/cover/{{id}}\",\n },\n \"text\": {\n \"label\": [\"name\", \"forename\"],\n \"dType\": \"string\"\n },\n \"subtext\": [\n {\n \"label\": \"shortCaption\",\n \"dType\": \"string\"\n },\n {\n \"label\": \"clientNumber\",\n \"dType\": \"string\"\n },\n {\n \"label\": \"actualInstitution\",\n \"dType\": \"string\"\n },\n {\n \"label\": \"birthday\",\n \"dType\": \"Date\",\n }\n ],\n \"buttons\": []\n },\n \"data\": []\n };\n $qui.init($qui.getSectionColor($location.path()), function () {\n $qui.anonAvatar();\n $('.qm-card').unbind('click');\n _this.events();\n });\n if (document.getElementById(\"permissions\").getAttribute(\"client\").toLocaleLowerCase() !== \"true\") {\n console.log(\"No rights to see module client\");\n this.forbidden = true;\n return;\n }\n permissionService.getPermissionsByObjectTypes([140000]).then(function (data) {\n _this.allowTableExport = data[0].print;\n });\n $scope.Model = $scope.Model || { Name: 'xxx' };\n this.fullClientList = [];\n this.cards = QMC.Common.Constants.IS_MOBILE;\n this.mobile = QMC.Common.Constants.IS_MOBILE;\n this.getFilterFromStorage();\n if ($('#session').data('data-stammdaten-grid') === ('false' || false))\n this.cards = true;\n this.$qui.getTableAutoload(this.userService).then(function (ltd) {\n _this.shouldLoadTableData = ltd;\n if (_this.shouldLoadTableData) {\n _this.getClients(_this.filter.searchId, _this.page);\n }\n });\n var isFirstLoad = true;\n $scope.$watch('vm.filter.searchId', function (newValue, oldValue) {\n if (newValue != oldValue) {\n if (isFirstLoad) {\n setTimeout(function () {\n isFirstLoad = false;\n }, 5);\n }\n else if (_this.shouldLoadTableData) {\n _this.page = 0;\n _this.getData();\n }\n }\n });\n $scope.$watch('vm.filter.showActiveOnly', function (newValue, oldValue) {\n if (newValue != oldValue && _this.shouldLoadTableData) {\n _this.toggleShowActiveOnly();\n }\n });\n $scope.$watch('vm.filter.searchText', function (newValue, oldValue) {\n if (newValue != oldValue) {\n if (isFirstLoad) {\n setTimeout(function () {\n isFirstLoad = false;\n }, 5);\n }\n else if (_this.shouldLoadTableData) {\n var lastValue_1 = _this.filter.searchText;\n setTimeout(function () {\n if (_this.filter.searchText === lastValue_1 && (newValue.length < oldValue.length || _this.filter.searchText.length >= 3)) {\n _this.page = 0;\n _this.getData();\n }\n }, 1500);\n }\n }\n });\n $scope.$watch('vm.page', function (newValue, oldValue) {\n if (newValue != oldValue)\n if (isFirstLoad) {\n setTimeout(function () {\n isFirstLoad = false;\n }, 5);\n }\n else {\n _this.getData();\n }\n });\n // Get data\n this.getSearchValues();\n }\n /**\n * register view events\n *\n * @private\n *\n * @memberOf StammdatenClientListController\n */\n StammdatenClientListController.prototype.events = function () {\n };\n StammdatenClientListController.prototype.getClients = function (searchId, page) {\n var _this = this;\n if (searchId === (undefined || null))\n searchId = QMC.Common.Constants.DEFAULT_CLIENT_PREDEFINED_SEARCH_ID;\n this.page = page;\n this.loading = true;\n this.clientListSchema.data = [];\n this.setFilterToStorage();\n this.clientService.getClientListByPredefinedSearch(searchId, page, 30, this.filter.searchText, this.filter.showActiveOnly, ['name', 'forename', 'shortCaption', 'clientNumber', 'actualInstitution', 'birthday']).then(function (data) {\n _this.clientListSchema.data = data.items;\n _this.pagination = data.paginationInfo;\n $('.qm-card').unbind('click');\n _this.loading = false;\n _this.$qui.functionWaiter(\"createTable\", _this);\n });\n };\n /**\n * search clients by a search value\n *\n * @private\n *\n * @memberOf StammdatenClientListController\n */\n StammdatenClientListController.prototype.getSearchValues = function () {\n var _this = this;\n this.loading = true;\n this.clientService.getPredefinedSearches().then(function (data) {\n _this.searchValues = data;\n _this.searchValuesMap = _this.$qui.selectAutoMap(data, 'id', 'caption');\n _this.loading = false;\n });\n };\n StammdatenClientListController.prototype.toggleShowActiveOnly = function () {\n this.setFilterToStorage();\n if (this.shouldLoadTableData)\n this.getClients(this.filter.searchId, this.page);\n };\n /**\n * get a filtered list of clients\n *\n * @private\n *\n * @memberOf StammdatenClientListController\n */\n StammdatenClientListController.prototype.getData = function () {\n this.getClients(this.filter.searchId, this.page);\n };\n StammdatenClientListController.prototype.setFilterToStorage = function () {\n localStorage.setItem('client-list-settings', JSON.stringify(this.filter));\n };\n StammdatenClientListController.prototype.getFilterFromStorage = function () {\n var store = localStorage.getItem('client-list-settings');\n if (store == (null || undefined))\n return;\n this.filter = JSON.parse(store);\n };\n /**\n * toggle the between card and table view\n *\n * @private\n *\n * @memberOf StammdatenClientListController\n */\n StammdatenClientListController.prototype.changeTableView = function () {\n this.cards = !this.cards;\n $('#session').data('data-stammdaten-grid', this.cards.toString());\n };\n StammdatenClientListController = __decorate([\n QMC.Controller('QMC.Stammdaten', 'StammdatenClientListController'),\n QMC.Inject('$location', 'StammdatenService', '$qui', 'KlientService', '$stateParams', '$scope', '$state', 'UserService', 'QmcPermissionService')\n ], StammdatenClientListController);\n return StammdatenClientListController;\n }());\n })(Stammdaten = QMC.Stammdaten || (QMC.Stammdaten = {}));\n})(QMC || (QMC = {}));\nvar QMC;\n(function (QMC) {\n var Stammdaten;\n (function (Stammdaten) {\n var StammdatenClientDetailController = /** @class */ (function () {\n /**\n * Creates an instance of StammdatenClientDetailController.\n * @param {StammdatenService} stammdatenService\n * @param {any} $qui\n * @param {Klient.KlientService} clientService\n * @param {any} $stateParams\n * @param {any} $scope\n * @param {any} $location\n * @param {Common.QmcLanguageService} lng\n * @param {Common.QmcPermissionService} permissionService\n *\n * @memberOf StammdatenClientDetailController\n */\n function StammdatenClientDetailController(stammdatenService, $qui, clientService, $stateParams, $scope, $location, lng, permissionService, udfService) {\n var _this = this;\n this.stammdatenService = stammdatenService;\n this.$qui = $qui;\n this.clientService = clientService;\n this.$scope = $scope;\n this.$location = $location;\n this.lng = lng;\n this.permissionService = permissionService;\n this.ui = new Stammdaten.DetailUI();\n this.createForm = null;\n this.menuItems = [];\n this.loading = true;\n this.formState = 'new';\n this.udf = [];\n this.isConnectLicenseAvailable = false;\n this.isConnectRegistrationAvailable = false;\n $qui.init($qui.getSectionColor(\"/stammdaten\"), function () {\n $qui.bindEvents();\n _this.events();\n $('.qm-card').unbind('click');\n });\n if (document.getElementById(\"permissions\").getAttribute(\"client\").toLocaleLowerCase() !== \"true\") {\n console.log(\"No rights to see module client\");\n this.forbidden = true;\n return;\n }\n this.$scope.Model = this.$scope.Model || { Name: 'xxx' };\n this.id = $stateParams.client;\n this.section = $location.$$path.split('/')[4];\n if (!$('body').hasClass('hideNav')) {\n permissionService.getPermissionsByObjectTypes([140000, 140002, 140003, 140005, 140006, 140008, 140021, 140023, 140027, 140032, 140033, 140054, 140057, 140068, 140086, 143000, 820003]).then(function (data) {\n _this.permissionService.getPermissionsForDataset(_this.id, null).then(function (dData) {\n _this.permissions = data;\n _this.permissions[0] = dData[0];\n _this.permissions[0].objectType = 140000;\n _this.permissions = data;\n if (!window.license || window.license === 'loading')\n permissionService.getLicense().then(function (license) {\n window.license = license !== null && license !== void 0 ? license : []; //since we already got it, might as well set it in windowstore. might reduce waittime later\n _this.createMenuByPermissions();\n });\n else {\n _this.createMenuByPermissions();\n }\n });\n });\n udfService.getUserDefinedFields(140000).then(function (data) {\n _this.udf = data;\n _this.addUdfMenu();\n });\n }\n else {\n this.toggleInfoBox(false);\n }\n this.getClientWv().then(function () {\n _this.getClientData(_this.id);\n _this.getClientAvatar(_this.id);\n });\n $qui.init($qui.getSectionColor(\"/stammdaten\"), function () {\n $qui.bindEvents();\n _this.events();\n $('.qm-card').unbind('click');\n });\n permissionService.isLicenseAvailable('MYNEVA_CONNECT').then(function (data) { return _this.isConnectLicenseAvailable = data; });\n stammdatenService.isConnectRegistrationAvailable().then(function (data) { return _this.isConnectRegistrationAvailable = data; });\n }\n /////////////// DISPLAY LOGIC ///////////////\n /**\n * register view events\n *\n * @private\n *\n * @memberOf StammdatenClientDetailController\n */\n StammdatenClientDetailController.prototype.events = function () {\n var _this = this;\n this.$scope.$watch('vm.mobileSelect', function () {\n if (_this.mobileSelect !== (null || undefined)) {\n _this.changeSection(_this.mobileSelect);\n }\n });\n this.$scope.$on('$locationChangeStart', function (_event, next) {\n var activeItem = _this.menuItems.filter(function (x) { return next.includes(\"stammdaten/detail/\" + _this.id + \"/\" + x.section + \"/\" + _this.id); })[0];\n if (activeItem)\n _this.section = activeItem.section;\n });\n };\n /**\n * init form\n *\n * @private\n *\n * @memberOf StammdatenClientDetailController\n */\n StammdatenClientDetailController.prototype.initForm = function () {\n this.form = {\n id: null,\n objectId: null,\n name: \"\",\n forename: \"\",\n birthday: new Date(),\n birthplace: \"\",\n birthname: \"\",\n salutationId: null,\n titleId: null,\n secondTitleId: null,\n genderId: null,\n shortCaption: '',\n clientNumber: ''\n };\n };\n StammdatenClientDetailController.prototype.createConnectUser = function () {\n var _this = this;\n this.stammdatenService.getConnectRegistrationUrl(this.id, this.id)\n .then(function (url) { return window.open(url, '_blank'); })\n .catch(function (_) { return _this.$qui.notify({\n message: _this.lng.translate(20003527, \"Das Anlegen eines myneva.connect Benutzers ist nicht möglich. Die Konfiguration ist unvollständig.\"),\n title: _this.lng.translate(20002015, \"Fehler\"),\n icon: \"fa-cloud\",\n status: \"warning\",\n timer: 3500\n }); });\n };\n /**\n * create the stammdaten menue by given permissions\n *\n * @private\n *\n * @memberOf StammdatenClientDetailController\n */\n StammdatenClientDetailController.prototype.createMenuByPermissions = function () {\n this.menuItems = [];\n // Address\n if ($.grep(this.permissions, function (item) { return item.objectType === 140021; })[0].moduleAccess) {\n this.menuItems.push({ caption: this.lng.translate(20001511, \"Adressen\"), section: \"address\", icon: \"qm-icon-location_pin\" });\n }\n // Communication\n if ($.grep(this.permissions, function (item) { return item.objectType === 140023; })[0].moduleAccess) {\n this.menuItems.push({ caption: this.lng.translate(20001047, \"Kommunikation\"), section: \"communication\", icon: \"qm-icon-book_telephone\" });\n }\n // Contact Person\n if ($.grep(this.permissions, function (item) { return item.objectType === 140006; })[0].moduleAccess) {\n this.menuItems.push({ caption: this.lng.translate(20004000, \"Kontaktpersonen\"), section: \"contactperson\", icon: \"qm-icon-users\" });\n }\n // Doctors Visit\n if ($.grep(this.permissions, function (item) { return item.objectType === 140003; })[0].moduleAccess) {\n this.menuItems.push({ caption: this.lng.translate(20010000, \"Arztbesuche\"), section: \"doctorsvisit\", icon: \"qm-icon-doctor\" });\n }\n // Vaccination\n if ($.grep(this.permissions, function (item) { return item.objectType === 140005; })[0].moduleAccess) {\n this.menuItems.push({ caption: this.lng.translate(20009000, \"Impfungen\"), section: \"vaccination\", icon: \"qm-icon-injection\" });\n }\n // Education\n if ($.grep(this.permissions, function (item) { return item.objectType === 140068; })[0].moduleAccess) {\n this.menuItems.push({ caption: this.lng.translate(20012032, \"Lebenslauf / Ausbildungen\"), section: \"education\", icon: \"qm-icon-graduation_hat2\" });\n }\n // Disease\n if ($.grep(this.permissions, function (item) { return item.objectType === 140002; })[0].moduleAccess) {\n this.menuItems.push({ caption: this.lng.translate(20007504, \"Krankheiten\"), section: \"disease\", icon: \"qm-icon-virus\" });\n }\n // Note\n if ($.grep(this.permissions, function (item) { return item.objectType === 140000; })[0].moduleAccess) {\n this.menuItems.push({ caption: this.lng.translate(21007000, \"Notizen\"), section: \"note\", icon: \"qm-icon-note\" });\n }\n // Hobby\n if ($.grep(this.permissions, function (item) { return item.objectType === 140054; })[0].moduleAccess) {\n this.menuItems.push({ caption: this.lng.translate(20008004, \"Hobby\"), section: \"hobby\", icon: \"qm-icon-soccer_ball\" });\n }\n // Checklist\n if ($.grep(this.permissions, function (item) { return item.objectType === 140057; })[0].moduleAccess) {\n this.menuItems.push({ caption: this.lng.translate(20011505, \"Checklisten\"), section: \"checklist\", icon: \"qm-icon-check\" });\n }\n // Document\n if ($.grep(this.permissions, function (item) { return item.objectType === 140032; })[0].moduleAccess) {\n this.menuItems.push({ caption: this.lng.translate(21006000, \"Dokumente\"), section: \"documents\", icon: \"qm-icon-document_attachment\" });\n }\n // Absenteeism\n if ($.grep(this.permissions, function (item) { return item.objectType === 140033; })[0].moduleAccess) {\n this.menuItems.push({ caption: this.lng.translate(21008000, \"Abwesenheiten\"), section: \"absenteeism\", icon: \"qm-icon-calendar_7\" });\n }\n // AccountingBook\n if ($.grep(this.permissions, function (item) { return item.objectType === 140008; })[0].moduleAccess && window.license.some(function (x) { return x.license === 'KASSENBUCH' && x.granted; })) {\n this.menuItems.push({ caption: this.lng.translate(20001044, \"Kassenbuch\"), section: \"accountingBook\", icon: \"qm-icon-cashier\" });\n }\n // Legal\n if ($.grep(this.permissions, function (item) { return item.objectType === 140027; })[0].moduleAccess) {\n this.menuItems.push({ caption: this.lng.translate(20022000, \"Rechtliches\"), section: \"legal\", icon: \"qm-icon-codes_of_law\" });\n }\n // TempInstituteChange\n if ($.grep(this.permissions, function (item) { return item.objectType === 820003; })[0].moduleAccess) {\n this.menuItems.push({ caption: this.lng.translate(20032000, \"Temp. Organisationswechsel\"), section: \"tempInstituteChange\", icon: \"qm-icon-arrow_circle2\" });\n }\n // ClientInfo\n if ($.grep(this.permissions, function (item) { return item.objectType === 143000; })[0].moduleAccess) {\n this.menuItems.push({ caption: this.lng.translate(20001063, \"KlientInformation\"), section: \"clientInformation\", icon: \"qm-icon-print_layout_single\" });\n }\n this.addUdfMenu();\n this.menuItems = this.menuItems.sort(function (a, b) { return a.caption > b.caption ? 1 : a.caption < b.caption ? -1 : 0; });\n this.menuItems.unshift({ caption: this.lng.translate(21002031, \"Deckblatt\"), section: \"cover\", icon: \"qm-icon-form\" });\n // Erweiterte Stammdaten\n if ($.grep(this.permissions, function (item) { return item.objectType === 140086; })[0].moduleAccess) {\n this.menuItems.splice(1, 0, { caption: this.lng.translate(21002048, \"Erweiterte Stammdaten\"), section: \"extendedMainData\", icon: \"qm-icon-id_cards\" });\n }\n };\n StammdatenClientDetailController.prototype.addUdfMenu = function () {\n var _this = this;\n this.udf.sort(function (a, b) { return a.caption > b.caption ? 1 : a.caption < b.caption ? -1 : 0; }).forEach(function (udf) {\n _this.menuItems.push({\n caption: udf.caption,\n section: \"udf/\" + udf.type + \"/\" + udf.definitionId + \"/\" + udf.objectType,\n icon: \"qm-icon-window_explorer\"\n });\n });\n };\n /**\n * change the section given by the view\n *\n * @private\n * @param {string} section\n *\n * @memberOf StammdatenClientDetailController\n */\n StammdatenClientDetailController.prototype.changeSection = function (section) {\n this.section = section;\n console.log(\"SECTION\", section);\n this.$location.search('');\n this.$location.path(\"stammdaten/detail/\" + this.id + \"/\" + section + \"/\" + this.id);\n $('#mobile-data').css('display', 'none'); // Hide mobile menu after selecting a section\n this.toggleInfoBox(false);\n };\n StammdatenClientDetailController.prototype.toggleInfoBox = function (state) {\n if (state === void 0) { state = !this.showinfoBox; }\n var header = window.getComputedStyle(document.getElementById('largerClientDetailHeader'));\n if (header.display === 'none')\n return; // if we got no option to show details again, never hide them\n var element = document.getElementById('infoContent');\n this.showinfoBox = state;\n if (this.showinfoBox)\n element.style.display = 'unset';\n else\n element.style.display = 'none';\n };\n /////////////// SERVICE FUNCTIONS ///////////////\n /**\n * get the client avatar by id\n *\n * @private\n * @param {Guid} id\n *\n * @memberOf StammdatenClientDetailController\n */\n StammdatenClientDetailController.prototype.getClientAvatar = function (id) {\n var _this = this;\n this.stammdatenService.getClientImage(id, true).then(function (data) {\n if (data.imageData.length > 1) {\n _this.clientAvatar = data.imageData;\n }\n }).catch(function (data) {\n console.error(data);\n });\n };\n /**\n * get the client data by id\n *\n * @private\n * @param {Guid} id\n *\n * @memberOf StammdatenClientDetailController\n */\n StammdatenClientDetailController.prototype.getClientData = function (id) {\n var _this = this;\n console.time('answer time');\n return this.clientService.getClient(id).then(function (data) {\n _this.$qui.functionWaiter(\"createForm\", _this);\n _this.form = angular.copy(data);\n console.log('this.form', _this.form);\n _this.client = data;\n var birthday = moment(data.birthday);\n var prehistoric = moment('1900-01-01').endOf('day');\n _this.client.birthday = birthday <= prehistoric ? null : _this.form.birthday;\n _this.clientAge = birthday <= prehistoric ? '?' : moment().diff(birthday, 'years');\n _this.clientDaysToBirthday = moment(data.birthday).add(_this.clientAge, 'years').fromNow();\n if (_this.clientDaysToBirthday.includes('ago')) {\n _this.clientAge = Number(_this.clientAge);\n }\n setTimeout(function () {\n console.timeEnd('answer time');\n _this.$qui.anonAvatar();\n }, 500);\n });\n };\n /**\n * edit the client\n *\n * @private\n * @param {Guid} id\n *\n * @memberOf StammdatenClientDetailController\n */\n StammdatenClientDetailController.prototype.editClient = function () {\n this.formState = \"edit\";\n $('#edit-client').modal('toggle');\n this.loading = false;\n };\n /**\n * get the client wv list\n *\n * @private\n * @param {Guid} id\n *\n * @memberOf StammdatenClientDetailController\n */\n StammdatenClientDetailController.prototype.getClientWv = function () {\n var _this = this;\n return this.clientService.getClientWv().then(function (data) {\n console.log(\"wv list\", data);\n _this.wv = data;\n });\n };\n /**\n * get the client title list\n *\n * @private\n * @param {Guid} id\n *\n * @memberOf StammdatenClientDetailController\n */\n StammdatenClientDetailController.prototype.getTitleList = function () {\n return this.wv.titleWvList.map(function (obj) {\n return {\n value: obj.objectId,\n text: obj.name,\n isFix: obj.isFix\n };\n });\n };\n StammdatenClientDetailController.prototype.getSecondTitleList = function () {\n return this.wv.secondTitleWvList.map(function (obj) {\n return {\n value: obj.objectId,\n text: obj.name,\n isFix: obj.isFix\n };\n });\n };\n /**\n * get the client salutation list\n *\n * @private\n * @param {Guid} id\n *\n * @memberOf StammdatenClientDetailController\n */\n StammdatenClientDetailController.prototype.getSalutationList = function () {\n return this.wv.salutationWvList.map(function (obj) {\n return {\n value: obj.objectId,\n text: obj.name,\n isFix: obj.isFix\n };\n });\n };\n /**\n * get the client gender list\n *\n * @private\n * @param {Guid} id\n *\n * @memberOf StammdatenClientDetailController\n */\n StammdatenClientDetailController.prototype.getGenderList = function () {\n return this.wv.genderWvList.map(function (obj) {\n return {\n value: obj.objectId,\n text: obj.name,\n isFix: obj.isFix\n };\n });\n };\n /**\n * get the client wv list\n *\n * @private\n * @param {Guid} id\n *\n * @memberOf StammdatenClientDetailController\n */\n StammdatenClientDetailController.prototype.updateClient = function (data) {\n var _this = this;\n this.clientService.putClient(this.id, this.form).then(function (data) {\n _this.$qui.notify(_this.$qui.successNote);\n _this.getClientData(_this.id);\n });\n };\n /**\n * get the last admission date for client\n *\n * @private\n *\n * @memberOf StammdatenClientDetailController\n */\n StammdatenClientDetailController.prototype.getLastAdmissionDate = function () {\n if (this.client === (null || undefined) || this.client.admissions.length < 1) {\n return;\n }\n return this.client.admissions[this.client.admissions.length - 1].date;\n };\n /**\n * get the first admission date for client\n *\n * @private\n *\n * @memberOf StammdatenClientDetailController\n */\n StammdatenClientDetailController.prototype.getFirstAdmissionDate = function () {\n if (this.client === (null || undefined) || this.client.admissions.length < 1) {\n return;\n }\n return this.client.admissions[0].date;\n };\n /**\n * get the last dismissal date for client\n *\n * @private\n *\n * @memberOf StammdatenClientDetailController\n */\n StammdatenClientDetailController.prototype.getLastDismissalDate = function () {\n if (this.client === (null || undefined) || this.client.dismissals.length < 1) {\n return;\n }\n return this.client.dismissals[this.client.dismissals.length - 1].date;\n };\n StammdatenClientDetailController = __decorate([\n QMC.Controller('QMC.Stammdaten', 'StammdatenClientDetailController'),\n QMC.Inject('StammdatenService', '$qui', 'KlientService', '$stateParams', '$scope', '$location', 'QmcLanguageService', 'QmcPermissionService', 'QmcUdfService')\n ], StammdatenClientDetailController);\n return StammdatenClientDetailController;\n }());\n })(Stammdaten = QMC.Stammdaten || (QMC.Stammdaten = {}));\n})(QMC || (QMC = {}));\nvar QMC;\n(function (QMC) {\n var Stammdaten;\n (function (Stammdaten) {\n var GlobalDocumentsListController = /** @class */ (function () {\n /**\n * Creates an instance of GlobalDocumentsListController.\n * @param {StammdatenService} stammdatenService\n * @param {any} $qui\n * @param {Klient.KlientService} clientService\n * @param {any} $stateParams\n * @param {any} $scope\n * @param {any} $state\n * @param {Common.QmcLanguageService} lng\n * @param {Common.QmcPermissionService} permissionService\n *\n * @memberOf GlobalDocumentsListController\n */\n function GlobalDocumentsListController($location, stammdatenService, $qui, clientService, $stateParams, $scope, $state, lng, permissionService, userService) {\n var _this = this;\n var _a, _b;\n this.$location = $location;\n this.stammdatenService = stammdatenService;\n this.$qui = $qui;\n this.clientService = clientService;\n this.$scope = $scope;\n this.$state = $state;\n this.lng = lng;\n this.permissionService = permissionService;\n this.userService = userService;\n this.ui = new Stammdaten.UserInterface();\n this.allowTableExport = false;\n this.files = [];\n this.showPrivateCheckbox = true;\n this.showOnlyGlobalFiles = false;\n this.showMonthFilter = false;\n this.isFirstLoad = true;\n this.subCategoryList = [];\n this.dontAllowDownload = true;\n this.filterCacheName = \"GlobalDocumentFilterCache\";\n this.page = 0;\n this.pageWatcher = [];\n $qui.init($qui.getSectionColor($location.path()), function () {\n $qui.bindEvents();\n $('.qm-card').unbind('click');\n });\n if (document.getElementById(\"permissions\").getAttribute(\"globalDocuments\").toLocaleLowerCase() !== \"true\") {\n console.log(\"No rights to see module global documents\");\n this.forbidden = true;\n return;\n }\n if (!this.tableFilter) {\n this.tableFilter = '';\n }\n ;\n this.references = [{ text: \"- \" + this.lng.translate(20000162, 'Alle') + \" -\", value: 0 }];\n this.stammdatenService.getGlobalDocumentReferences().then(function (data) {\n data.sort(function (a, b) { return (a.caption > b.caption) ? 1 : -1; });\n _this.references = _this.references.concat(data.map(function (x) { return ({ value: x.objectType, text: x.caption }); }));\n });\n permissionService.getPermissionsByObjectTypes([905001, 920002, 905000]).then(function (data) {\n _this.delete = data[0].delete && data[0].moduleAccess;\n _this.new = data[0].new && data[0].moduleAccess;\n _this.modify = data[0].modify && data[0].moduleAccess;\n if (!_this.new) {\n _this.$qui.waitForEl('#newModalButton', function () {\n document.getElementsByName('newModalButton').forEach(function (x) { return x.style.visibility = 'hidden'; });\n });\n }\n _this.dontAllowDownload = !data[1].openFile;\n _this.allowTableExport = data[2].print;\n var isFirstLoad = true;\n _this.$qui.getTableAutoload(_this.userService).then(function (ltd) {\n _this.shouldLoadTableData = ltd;\n if (_this.shouldLoadTableData) {\n _this.getDocumentList();\n }\n });\n _this.userService.getGlobalSettings([\"MEDIEN.DOKUMENT.ALLOWPRIVATEDOCUMENTS\"], false).then(function (dataSettings) {\n _this.showPrivateCheckbox = dataSettings[0].value.toLowerCase() === 'true';\n });\n _this.getWv();\n _this.init();\n });\n this.promptOptions = {\n title: this.lng.translate(20001062, 'Dokumentverwaltung'),\n yesNo: true,\n icon: \"qm-icon-document_attachment\",\n text: this.lng.translate(20000290, 'Wollen Sie den Eintrag wirklich löschen?')\n };\n var cache = localStorage.getItem(this.filterCacheName);\n if (cache) {\n var jsonCache = JSON.parse(cache);\n this.filter = {\n dateFrom: this.$qui.createDateFromString((_a = jsonCache.dateFrom) !== null && _a !== void 0 ? _a : moment().startOf('month').toDate()),\n dateTo: this.$qui.createDateFromString((_b = jsonCache.dateTo) !== null && _b !== void 0 ? _b : moment().endOf('month').toDate()),\n parentObjectType: jsonCache.parentObjectType\n };\n this.showOnlyGlobalFiles = jsonCache.onlyGlobalFiles;\n }\n else {\n this.filter = {\n dateFrom: moment().startOf('month').toDate(),\n dateTo: moment().endOf('month').toDate(),\n parentObjectType: 0,\n onlyGlobalFiles: false\n };\n }\n this.events();\n }\n /////////////// DISPLAY LOGIC ///////////////\n GlobalDocumentsListController.prototype.init = function () {\n this.initForm();\n };\n GlobalDocumentsListController.prototype.initForm = function () {\n this.form = {\n title: '',\n subtitle: '',\n comment: '',\n documentTypeId: QMC.Common.Constants.GUID_EMPTY,\n mainCategoryId: QMC.Common.Constants.GUID_EMPTY,\n subCategoryId: QMC.Common.Constants.GUID_EMPTY,\n fileName: '',\n base64String: '',\n isPrivate: false\n };\n var fileSelector = angular.element('#fileselect');\n if (fileSelector[0] && fileSelector[0].files.length > 0) {\n $(\"#fileselect\").val('');\n }\n ;\n this.showError = \"\";\n this.files = [];\n this.listLoad = false;\n this.$qui.scopeApply(this.$scope);\n };\n /**\n * Register view events\n *\n * @private\n *\n * @memberOf FlsDocumentationListController\n */\n GlobalDocumentsListController.prototype.events = function () {\n var _this = this;\n this.$scope.$watch('vm.tableFilter', function (newValue, oldValue) {\n var _this = this;\n if (newValue !== oldValue) {\n if (this.isFirstLoad) {\n setTimeout(function () {\n _this.isFirstLoad = false;\n }, 5);\n }\n else {\n var lastValue_2 = this.tableFilter;\n setTimeout(function () {\n if (_this.tableFilter === lastValue_2) {\n _this.page = 0;\n _this.getData();\n }\n }, 500);\n }\n this.cacheFilter();\n }\n }.bind(this, this));\n this.$scope.$watch('vm.filter.dateFrom', function (newValue, oldValue) {\n var _this = this;\n if (newValue !== oldValue) {\n if (this.isFirstLoad) {\n setTimeout(function () {\n _this.isFirstLoad = false;\n }, 5);\n }\n else {\n var lastValue_3 = this.tableFilter;\n setTimeout(function () {\n if (_this.tableFilter === lastValue_3) {\n _this.page = 0;\n _this.getData();\n }\n }, 500);\n }\n this.cacheFilter();\n }\n }.bind(this, this));\n this.$scope.$watch('vm.filter.dateTo', function (newValue, oldValue) {\n var _this = this;\n if (newValue !== oldValue) {\n if (this.isFirstLoad) {\n setTimeout(function () {\n _this.isFirstLoad = false;\n }, 5);\n }\n else {\n var lastValue_4 = this.tableFilter;\n setTimeout(function () {\n if (_this.tableFilter === lastValue_4) {\n _this.page = 0;\n _this.getData();\n }\n }, 500);\n }\n this.cacheFilter();\n }\n }.bind(this, this));\n this.$scope.$watch('vm.filter.parentObjectType', function (newValue, oldValue) {\n var _this = this;\n if (newValue !== oldValue) {\n if (this.isFirstLoad) {\n setTimeout(function () {\n _this.isFirstLoad = false;\n }, 5);\n }\n else {\n var lastValue_5 = this.tableFilter;\n setTimeout(function () {\n if (_this.tableFilter === lastValue_5) {\n _this.page = 0;\n _this.getData();\n }\n }, 500);\n }\n this.cacheFilter();\n }\n }.bind(this, this));\n this.$scope.$watchCollection('vm.showOnlyGlobalFiles', function (newValue, oldValue) {\n if (newValue === oldValue)\n return;\n _this.getData();\n _this.cacheFilter();\n });\n this.$scope.$watchCollection('vm.tableFilter', function (newValue, oldValue) {\n if (newValue === oldValue)\n return;\n _this.getData();\n _this.cacheFilter();\n });\n this.$scope.$watch('vm.form.mainCategoryId', function () {\n if (_this.wv !== null && _this.wv !== undefined)\n _this.getSubCategoryList();\n });\n this.$scope.$watch('vm.parentObjectType', function (newVal, oldVal) {\n if (newVal !== oldVal) {\n _this.cacheFilter();\n _this.getData();\n }\n });\n };\n GlobalDocumentsListController.prototype.setPage = function (page) {\n this.page = page;\n };\n GlobalDocumentsListController.prototype.getData = function () {\n this.clearPageWatcher();\n this.getDocumentList();\n this.page = 0;\n };\n GlobalDocumentsListController.prototype.open = function (item) {\n var _this = this;\n $('#loadingScreen').modal('show');\n this.fileInfos = {\n base64: '',\n fileType: '',\n fileName: ''\n };\n this.stammdatenService.getGlobalDocumentFile(item.objectId).then(function (data) {\n $('#loadingScreen').modal('hide');\n try {\n var filename = item.fileName;\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 $('#previewModal').modal('show');\n }\n catch (e) {\n console.log(\"downloadDocument Fehler: \", e);\n }\n });\n };\n GlobalDocumentsListController.prototype.download = function (item) {\n var _this = this;\n $('#loadingScreen').modal('show');\n // get filename suffix and contenttype\n var temp = item.fileName.split('.');\n var ext = temp.length > 0 ? temp[temp.length - 1] : '';\n this.stammdatenService.getGlobalDocumentFile(item.objectId).then(function (data) {\n $('#loadingScreen').modal('hide');\n var blob = _this.$qui.base64ToBlob(data, _this.$qui.extToMime(ext));\n _this.$qui.downloadBlob(item.fileName, blob);\n });\n };\n GlobalDocumentsListController.prototype.getSubCategoryList = function () {\n var data = [];\n this.form.subCategoryId = null;\n for (var i = 0; i < this.wv.subCategoryWvList.length; i++) {\n if ((this.wv.subCategoryWvList[i].parentWvId === this.form.mainCategoryId) && !(/^\\s*$/).test(this.wv.subCategoryWvList[i].name)) {\n data.push(this.wv.subCategoryWvList[i]);\n }\n }\n this.subCategoryList = this.$qui.select(data, { value: 'objectId', text: 'name' });\n };\n GlobalDocumentsListController.prototype.cacheFilter = function () {\n var cacheObject = {\n dateFrom: this.filter.dateFrom,\n dateTo: this.filter.dateTo,\n parentObjectType: this.filter.parentObjectType,\n onlyGlobalFiles: this.showOnlyGlobalFiles\n };\n localStorage.setItem(this.filterCacheName, JSON.stringify(cacheObject));\n };\n GlobalDocumentsListController.prototype.shouldDisableTimeFilter = function (filterString) {\n if (!filterString)\n return false;\n return filterString.length > 0;\n };\n GlobalDocumentsListController.prototype.isFormInvalid = function () {\n return !this.new || this.files.length < 1 || !this.form.mainCategoryId || !this.form.documentTypeId || this.form.mainCategoryId === QMC.Common.Constants.GUID_EMPTY || this.form.documentTypeId === QMC.Common.Constants.GUID_EMPTY;\n };\n GlobalDocumentsListController.prototype.clearPageWatcher = function () {\n for (var _i = 0, _a = this.pageWatcher; _i < _a.length; _i++) {\n var watcher = _a[_i];\n if (watcher)\n watcher();\n }\n this.pageWatcher = [];\n };\n GlobalDocumentsListController.prototype.getDocumentList = function () {\n var _this = this;\n var currentRequest = {\n dateFrom: this.tableFilter.length > 0 || !this.filter || this.showOnlyGlobalFiles === true ? null : this.filter.dateFrom,\n dateTo: this.tableFilter.length > 0 || !this.filter || this.showOnlyGlobalFiles === true ? null : this.filter.dateTo,\n onlyGlobal: this.showOnlyGlobalFiles,\n parentTypeId: this.filter.parentObjectType !== 0 && this.showOnlyGlobalFiles === false ? this.filter.parentObjectType : null,\n page: this.page,\n text: this.tableFilter.length > 0 ? this.tableFilter : null,\n };\n if (JSON.stringify(currentRequest) === JSON.stringify(this.lastRequest))\n return;\n this.lastRequest = currentRequest;\n var rId = this.$qui.generateGuid();\n this.requestId = rId;\n this.listLoad = true;\n this.documentList = [];\n this.stammdatenService.getGlobalDocumentList(this.tableFilter.length > 0 || !this.filter || this.showOnlyGlobalFiles === true ? null : this.filter.dateFrom, this.tableFilter.length > 0 || !this.filter || this.showOnlyGlobalFiles === true ? null : this.filter.dateTo, this.showOnlyGlobalFiles, this.filter.parentObjectType !== 0 && this.showOnlyGlobalFiles === false ? this.filter.parentObjectType : null, this.page, QMC.Common.Constants.DEFAULT_PAGINATION_SIZE, this.tableFilter.length > 0 ? this.tableFilter : null, __spreadArrays(this.ui.getDisplayedPropertiesFromSchema(this.ui.documentTable), [\"fileName\"])).then(function (data) {\n if (_this.requestId !== rId)\n return;\n _this.clearPageWatcher();\n _this.paginationInfo = data.paginationInfo;\n for (var _i = 0, _a = data.items; _i < _a.length; _i++) {\n var element = _a[_i];\n element.truncatedFileName = element.fileName.substr(0, 27);\n if (element.fileName.length > 27)\n element.truncatedFileName += \"...\";\n }\n data.items.forEach(function (x) { return x.stateLink = _this.createStateLink(x); });\n _this.documentList = data.items;\n data.items.forEach(function (x) { return x.dontAllowDownload = _this.dontAllowDownload; });\n _this.ui.documentTable.data = data.items;\n _this.$qui.functionWaiter(\"ui.createTable\", _this);\n _this.listLoad = false;\n _this.pageWatcher.push(_this.$scope.$watch('vm.page', function (newValue, oldValue) {\n if (newValue !== oldValue)\n _this.getDocumentList();\n }));\n });\n };\n GlobalDocumentsListController.prototype.createStateLink = function (data) {\n if (!data.referenceObjectType || !data.referenceId || !data.parentReferenceId)\n return undefined;\n var state = '';\n switch (data.referenceObjectType) {\n case 120002:\n state = 'employee.address';\n break;\n case 120004:\n state = 'employee.communication';\n break;\n case 120012:\n state = 'employee.contactperson';\n break;\n case 120020:\n state = 'employee.checklist';\n break;\n case 120046:\n state = 'employee.vaccination';\n break;\n case 140002:\n state = 'detail.disease';\n break;\n case 140003:\n state = 'detail.doctorsvisit';\n break;\n case 140005:\n state = 'detail.vaccination';\n break;\n case 140006:\n state = 'detail.contactperson';\n break;\n case 140021:\n state = 'detail.address';\n break;\n case 140023:\n state = 'detail.communication';\n break;\n case 140027:\n state = 'detail.legal';\n break;\n case 140057:\n state = 'detail.checklist';\n break;\n case 140068:\n state = 'detail.education';\n break;\n default: return undefined;\n }\n return {\n state: state,\n parentId: data.parentReferenceId,\n referenceId: data.referenceId\n };\n };\n GlobalDocumentsListController.prototype.openReference = function (data) {\n if (!data.stateLink)\n return;\n this.$state.go(data.stateLink.state, { client: data.stateLink.parentId, id: data.stateLink.parentId, dataId: data.stateLink.referenceId });\n };\n GlobalDocumentsListController.prototype.newDocument = function () {\n var _this = this;\n if (this.form.title !== null && this.form.title !== undefined && this.form.title.length < 1) {\n this.showError = this.lng.translate(21003017, 'Bitte einen Titel eingeben.');\n return;\n }\n if (this.files.length < 1) {\n this.showError = this.lng.translate(21003018, 'Bitte eine Datei auswählen.');\n return;\n }\n this.form.fileName = this.files[this.files.length - 1].name;\n this.form.base64String = this.files[this.files.length - 1].base64;\n this.upload = true;\n this.stammdatenService.postGlobalDocument(this.form).then(function () {\n $('#newDocumentModal').modal('hide');\n _this.$qui.notify(_this.$qui.successNote);\n _this.initForm();\n _this.getDocumentList();\n _this.upload = false;\n });\n };\n ;\n GlobalDocumentsListController.prototype.deleteItem = function (item) {\n var _this = this;\n if (!this.delete)\n return;\n this.promptOptions.itemText = item.fileName;\n QMC.Common.Utilities.confirm(this.promptOptions, function (data) {\n if (data) {\n _this.stammdatenService.deleteGlobalDocument(item).then(function () {\n _this.$qui.notify(_this.$qui.deleteNote);\n _this.getDocumentList();\n });\n }\n });\n };\n GlobalDocumentsListController.prototype.getWv = function () {\n var _this = this;\n this.stammdatenService.getDocumentWV().then(function (data) {\n _this.wv = data;\n _this.documentTypeList = _this.$qui.select(data.documentTypeWvList, { value: 'objectId', text: 'name' });\n _this.categoryList = _this.$qui.select(data.mainCategoryWvList, { value: 'objectId', text: 'name' });\n });\n };\n GlobalDocumentsListController = __decorate([\n QMC.Controller('QMC.Stammdaten', 'GlobalDocumentsListController'),\n QMC.Inject('$location', 'StammdatenService', '$qui', 'KlientService', '$stateParams', '$scope', '$state', 'QmcLanguageService', 'QmcPermissionService', 'UserService')\n ], GlobalDocumentsListController);\n return GlobalDocumentsListController;\n }());\n Stammdaten.GlobalDocumentsListController = GlobalDocumentsListController;\n })(Stammdaten = QMC.Stammdaten || (QMC.Stammdaten = {}));\n})(QMC || (QMC = {}));\nvar QMC;\n(function (QMC) {\n var Stammdaten;\n (function (Stammdaten) {\n var OrgaAccountingBooksListController = /** @class */ (function () {\n function OrgaAccountingBooksListController($qui, $scope, $location, stammdatenService) {\n var _this = this;\n this.$qui = $qui;\n this.$scope = $scope;\n this.$location = $location;\n this.stammdatenService = stammdatenService;\n this.id = QMC.Common.Constants.GUID_EMPTY;\n this.organisations = [];\n $qui.init($qui.getSectionColor($location.path()), function () {\n $qui.anonAvatar();\n $('.qm-card').unbind('click');\n });\n this.getOrganisations();\n this.$scope.$watch('vm.selectedOrganisation', function (newVal, oldVal) {\n if (newVal !== oldVal && _this.selectedOrganisation && _this.selectedOrganisation !== QMC.Common.Constants.GUID_EMPTY) {\n _this.id = _this.selectedOrganisation;\n localStorage.setItem(QMC.Common.LocalStorageConstants.ORGANISATION_LAST_SELECTED_ID, _this.selectedOrganisation);\n _this.$qui.functionWaiter(\"createDirective\", _this);\n }\n });\n }\n OrgaAccountingBooksListController.prototype.getOrganisations = function () {\n var _this = this;\n this.stammdatenService.getOrganisationList().then(function (data) {\n _this.organisations = data.map(function (x) { return ({ value: x.id, text: x.displayTitle }); });\n if (localStorage.getItem(QMC.Common.LocalStorageConstants.ORGANISATION_LAST_SELECTED_ID) !== null) {\n var organisationId = localStorage.getItem(QMC.Common.LocalStorageConstants.ORGANISATION_LAST_SELECTED_ID);\n if (organisationId) {\n _this.selectedOrganisation = organisationId;\n }\n }\n else {\n _this.$qui.functionWaiter(\"createDirective\", _this);\n }\n });\n };\n OrgaAccountingBooksListController = __decorate([\n QMC.Controller('QMC.Stammdaten', 'OrgaAccountingBooksListController'),\n QMC.Inject('$qui', '$scope', '$location', 'StammdatenService')\n ], OrgaAccountingBooksListController);\n return OrgaAccountingBooksListController;\n }());\n })(Stammdaten = QMC.Stammdaten || (QMC.Stammdaten = {}));\n})(QMC || (QMC = {}));\nvar QMC;\n(function (QMC) {\n var Stammdaten;\n (function (Stammdaten) {\n /**\n * Stammdaten UserInterface class\n *\n * @export\n * @class UserInterface\n * @extends {Common.UserInterface}\n */\n var UserInterface = /** @class */ (function (_super) {\n __extends(UserInterface, _super);\n function UserInterface() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n /**\n * Client detail address table\n * @memberOf UserInterface\n */\n _this.documentTable = {\n \"config\": {\n \"defaultSort\": \"title\",\n \"sortReverse\": \"true\",\n },\n \"table\": {\n \"Kategorie\": {\n \"label\": \"category\",\n \"dType\": \"string\",\n \"lngTag\": \"20000137\"\n },\n \"Unterkategorie\": {\n \"label\": \"subCategory\",\n \"dType\": \"string\",\n \"lngTag\": \"21006003\"\n },\n \"Dokumentkategorie\": {\n \"label\": \"documentCategory\",\n \"dType\": \"string\",\n \"lngTag\": \"20021010\"\n },\n \"Ordnerstruktur\": {\n \"label\": \"folderStructure\",\n \"dType\": \"string\",\n \"lngTag\": \"21006025\"\n },\n \"Titel\": {\n \"label\": \"title\",\n \"dType\": \"string\",\n \"lngTag\": \"20000066\"\n },\n \"Angelegt am\": {\n \"label\": \"dateFrom\",\n \"dType\": \"Date\",\n \"withTime\": \"true\",\n \"lngTag\": \"20021002\"\n },\n \"Bezug\": {\n \"label\": \"parent\",\n \"dType\": \"string\",\n \"lngTag\": \"20000283\"\n },\n \"Dateiname\": {\n \"label\": \"truncatedFileName\",\n \"dType\": \"string\",\n \"lngTag\": \"21006017\"\n },\n \"Art\": {\n \"label\": \"type\",\n \"dType\": \"string\",\n \"lngTag\": \"20000138\"\n },\n \"Aktionen\": [{\n \"icon\": \"qm-icon-download grey\",\n \"click\": \"download\",\n \"dType\": \"Button\",\n \"tooltip\": \"Download\",\n \"lngTag\": \"21006014\",\n \"events\": {\n \"hide\": \"dontAllowDownload\",\n }\n }, {\n \"icon\": \"qm-icon-document_attachment green\",\n \"click\": \"open\",\n \"dType\": \"Button\",\n \"tooltip\": \"Vorschau\",\n \"lngTag\": \"20000091\",\n }, {\n \"icon\": \"qm-icon-garbage_can red\",\n \"click\": \"deleteItem\",\n \"dType\": \"Button\",\n \"tooltip\": \"Löschen\",\n \"lngTag\": \"20000002\",\n \"permission\": \"delete\"\n },\n {\n \"icon\": \"qm-icon-arrow_into orange\",\n \"click\": \"openReference\",\n \"label\": \"data\",\n \"dType\": \"Button\",\n \"tooltip\": \"Referenz-Datensatz öffnen\",\n \"lngTag\": \"21006030\",\n \"events\": {\n \"hide\": \"!stateLink\",\n }\n }],\n }, \"card\": {\n \"avatar\": {\n \"icon\": \"qm-icon-document_attachment\"\n },\n \"text\": {\n \"label\": \"title\",\n \"dType\": \"string\"\n },\n \"subtext\": [\n {\n \"label\": \"category\",\n \"dType\": \"string\",\n },\n {\n \"label\": \"truncatedFileName\",\n \"dType\": \"string\"\n },\n {\n \"label\": \"parent\",\n \"dType\": \"string\"\n },\n {\n \"label\": \"dateFrom\",\n \"withTime\": \"true\",\n \"dType\": \"Date\"\n }\n ],\n \"buttons\": [{\n \"icon\": \"qm-icon-download grey\",\n \"click\": \"download\",\n \"dType\": \"Button\",\n \"tooltip\": \"Download\",\n \"lngTag\": \"21006014\",\n \"events\": {\n \"hide\": \"dontAllowDownload\",\n }\n }, {\n \"icon\": \"qm-icon-document_attachment green\",\n \"click\": \"open\",\n \"dType\": \"Button\",\n \"tooltip\": \"Vorschau\",\n \"lngTag\": \"20000091\",\n }, {\n \"icon\": \"qm-icon-garbage_can red\",\n \"click\": \"deleteItem\",\n \"dType\": \"Button\",\n \"tooltip\": \"Löschen\",\n \"lngTag\": \"20000002\",\n \"permission\": \"delete\"\n },\n {\n \"icon\": \"qm-icon-arrow_into orange\",\n \"click\": \"openReference\",\n \"label\": \"data\",\n \"dType\": \"Button\",\n \"tooltip\": \"Referenz-Datensatz öffnen\",\n \"lngTag\": \"21006030\",\n \"events\": {\n \"hide\": \"!stateLink\",\n }\n }]\n },\n \"data\": null\n };\n return _this;\n }\n return UserInterface;\n }(QMC.Common.UserInterface));\n Stammdaten.UserInterface = UserInterface;\n })(Stammdaten = QMC.Stammdaten || (QMC.Stammdaten = {}));\n})(QMC || (QMC = {}));\n(function () {\n angular.module('QMC.Employee', []).config(routes);\n routes.$inject = ['$locationProvider', '$stateProvider', 'qmcBase'];\n function routes($locationProvider, $stateProvider, qmcBase) {\n $locationProvider.html5Mode({\n enabled: false,\n requireBase: false\n });\n var params = {\n dataId: {\n dynamic: true\n }\n };\n $stateProvider\n // employee\n .state('employeeList', {\n url: '/employee',\n templateUrl: qmcBase + '/stammdaten/employee',\n controller: 'EmployeeListController',\n controllerAs: 'vm',\n resolve: {\n data: [function () {\n console.log('Current State: Employee list');\n }]\n }\n })\n .state('employee', {\n url: '/employee/:id',\n templateUrl: qmcBase + '/stammdaten/employee/detail',\n controller: 'EmployeeDetailController',\n controllerAs: 'vm',\n resolve: {\n data: [function () {\n console.log('Current State: employee detail');\n }]\n }\n })\n // Detail\n .state('employee.cover', {\n url: '/cover/:id',\n templateUrl: qmcBase + '/stammdaten/detail/cover',\n controller: 'DetailCoverController',\n controllerAs: 'vm',\n resolve: {\n data: [function () {\n console.log('Current State: Stammdaten client detail cover');\n }]\n }\n })\n .state('employee.communication', {\n url: '/communication/:id?:dataId',\n templateUrl: qmcBase + '/stammdaten/detail/communication',\n controller: 'DetailCommunicationController',\n controllerAs: 'vm',\n resolve: {\n data: [function () {\n console.log('Current State: Stammdaten employee detail communication');\n }]\n },\n params: params\n })\n .state('employee.document', {\n url: '/documents/:id',\n templateUrl: qmcBase + '/stammdaten/detail/document',\n controller: 'DetailDocumentsController',\n controllerAs: 'vm',\n resolve: {\n data: [function () {\n console.log('Current State: Stammdaten employee detail document');\n }]\n },\n params: params\n })\n .state('employee.vaccination', {\n url: '/vaccination/:id?:dataId',\n templateUrl: qmcBase + '/stammdaten/detail/vaccination',\n controller: 'DetailVaccinationController',\n controllerAs: 'vm',\n resolve: {\n data: [function () {\n console.log('Current State: Stammdaten employee detail vaccination');\n }]\n },\n params: params\n })\n .state('employee.medicalEvidence', {\n url: '/medicalEvidence/:id',\n templateUrl: qmcBase + '/stammdaten/detail/medicalEvidence',\n controller: 'DetailMedicalEvidenceController',\n controllerAs: 'vm',\n resolve: {\n data: [function () {\n console.log('Current State: Stammdaten employee MedicalEvidence doctors visit');\n }]\n }\n })\n .state('employee.medicalResponsible', {\n url: '/medicalResponsible/:id',\n templateUrl: qmcBase + '/stammdaten/detail/medicalResponsible',\n controller: 'DetailMedicalResponsibleController',\n controllerAs: 'vm',\n resolve: {\n data: [function () {\n console.log('Current State: Stammdaten employee Medical Responsible / Medication is done by');\n }]\n }\n })\n .state('employee.contactperson', {\n url: '/contactperson/:id?:dataId',\n templateUrl: qmcBase + '/stammdaten/detail/contactperson',\n controller: 'DetailContactPersonController',\n controllerAs: 'vm',\n resolve: {\n data: [function () {\n console.log('Current State: Stammdaten employee detail contact person');\n }]\n },\n params: params\n })\n .state('employee.training', {\n url: '/training/:id',\n templateUrl: qmcBase + '/stammdaten/detail/training',\n controller: 'DetailTrainingController',\n controllerAs: 'vm',\n resolve: {\n data: [function () {\n console.log('Current State: Stammdaten employee trainings list');\n }]\n }\n })\n .state('employee.extendedMainData', {\n url: '/extendedMainData/:id',\n templateUrl: qmcBase + '/stammdaten/detail/extendedMainData',\n controller: 'DetailExtendedMainDataController',\n controllerAs: 'vm',\n resolve: {\n data: [function () {\n console.log('Current State: Stammdaten employee detail extended Main Data');\n }]\n }\n })\n .state('employee.address', {\n url: '/address/:id?:dataId',\n templateUrl: qmcBase + '/stammdaten/detail/address',\n controller: 'DetailAddressController',\n controllerAs: 'vm',\n resolve: {\n data: [function () {\n console.log('Current State: Stammdaten employee detail address');\n }]\n },\n params: params\n })\n .state('employee.checklist', {\n url: '/checklist/:id?:dataId',\n templateUrl: qmcBase + '/stammdaten/detail/checklist',\n controller: 'DetailChecklistController',\n controllerAs: 'vm',\n resolve: {\n data: [function () {\n console.log('Current State: Stammdaten employee detail address');\n }]\n },\n params: params\n })\n .state('employee.udf', {\n url: '/udf/:type/:definitionId/:definitionObjectType/:id',\n templateUrl: qmcBase + '/stammdaten/detail/udf',\n controller: 'DetailUdfController',\n controllerAs: 'vm',\n resolve: {\n data: [function () {\n console.log('Current State: Stammdaten employee udf');\n }]\n }\n });\n }\n})();\nvar QMC;\n(function (QMC) {\n var Employee;\n (function (Employee) {\n var EmployeeListController = /** @class */ (function () {\n function EmployeeListController($location, $qui, employeeService, $scope, userService, permissionService) {\n var _this = this;\n this.$location = $location;\n this.$qui = $qui;\n this.employeeService = employeeService;\n this.$scope = $scope;\n this.userService = userService;\n this.permissionService = permissionService;\n this.storageName = 'employee-list-settings';\n this.allowTableExport = false;\n this.page = 0;\n this.filter = {\n searchText: '',\n searchId: '1655659a-5e10-4a1f-b6c6-e69cb74b64c7'\n };\n this.schema = {\n \"config\": {\n \"tableRowLink\": \"#/employee/{{id}}/cover/{{id}}\",\n },\n \"table\": {\n \"Bild\": {\n \"label\": \"id\",\n \"dType\": \"Avatar\",\n \"name\": \"name\",\n \"href\": \"#/employee/{{id}}/cover/{{id}}\",\n \"forename\": \"forename\"\n },\n \"Name\": {\n \"label\": \"name\",\n \"dType\": \"string\",\n \"lngTag\": \"20000072\"\n },\n \"Vorname\": {\n \"label\": \"forename\",\n \"dType\": \"string\",\n \"lngTag\": \"20000057\"\n },\n \"Kürzel\": {\n \"label\": \"abbreviation\",\n \"dType\": \"string\",\n \"lngTag\": \"20000221\"\n },\n \"Nummer\": {\n \"label\": \"employeeNr\",\n \"dType\": \"string\",\n \"lngTag\": \"20000316\"\n },\n \"Stammhaus\": {\n \"label\": \"institute\",\n \"dType\": \"string\",\n \"lngTag\": \"20000031\"\n },\n \"Geburtsdatum\": {\n \"label\": \"birthday\",\n \"dType\": \"Date\",\n \"lngTag\": \"21002004\"\n },\n },\n \"card\": {\n \"avatar\": {\n \"name\": \"name\",\n \"forename\": \"forename\",\n \"label\": \"id\",\n \"href\": \"#/employee/{{id}}/cover/{{id}}\",\n },\n \"text\": {\n \"label\": [\"name\", \"forename\"],\n \"dType\": \"string\"\n },\n \"subtext\": [\n {\n \"label\": \"abbreviation\",\n \"dType\": \"string\"\n },\n {\n \"label\": \"employeeNr\",\n \"dType\": \"string\"\n },\n {\n \"label\": \"actualInstitution\",\n \"dType\": \"string\"\n },\n {\n \"label\": \"birthday\",\n \"dType\": \"Date\",\n }\n ],\n \"buttons\": []\n },\n \"data\": []\n };\n this.getFilterFromStorage();\n $qui.init($qui.getSectionColor(this.$location.path()), function () {\n $qui.anonAvatar();\n $('.qm-card').unbind('click');\n });\n // get base permissions\n this.permissionService.getPermissionsByObjectTypes([120000]).then(function (data) {\n _this.allowTableExport = data[0].print;\n // if we arent allowed to mess with employees stop here\n if (!data[0].moduleAccess)\n return;\n _this.employeeService.getPredefinedSearches().then(function (data) {\n _this.searchValues = data;\n _this.searchValuesMap = _this.$qui.selectAutoMap(data, 'id', 'caption');\n });\n _this.$qui.getTableAutoload(_this.userService).then(function (ltd) {\n _this.shouldLoadTableData = ltd;\n if (_this.shouldLoadTableData) {\n _this.getData();\n }\n });\n });\n this.events();\n }\n /**\n * register view events\n *\n * @private\n *\n * @memberOf StammdatenClientListController\n */\n EmployeeListController.prototype.events = function () {\n var _this = this;\n this.$scope.$watch('vm.filter.searchId', function (newValue, oldValue) {\n if (newValue !== oldValue) {\n if (_this.shouldLoadTableData) {\n _this.page = 0;\n _this.getData();\n }\n _this.setFilterToStorage();\n }\n });\n this.$scope.$watch('vm.filter.searchText', function (newValue, oldValue) {\n if (newValue !== oldValue) {\n if (_this.shouldLoadTableData) {\n var lastValue_6 = _this.filter.searchText;\n setTimeout(function () {\n if (_this.filter.searchText === lastValue_6 && ((newValue === null || newValue === void 0 ? void 0 : newValue.length) < (oldValue === null || oldValue === void 0 ? void 0 : oldValue.length) || _this.filter.searchText.length >= 3)) {\n _this.page = 0;\n _this.getData();\n }\n }, 1500);\n }\n _this.setFilterToStorage();\n }\n });\n this.$scope.$watch('vm.page', function (newValue, oldValue) {\n if (newValue !== oldValue)\n _this.getData();\n });\n };\n /**\n * get a filtered list of clients\n *\n * @private\n *\n * @memberOf StammdatenClientListController\n */\n EmployeeListController.prototype.getData = function () {\n var _this = this;\n this.loading = true;\n this.employeeService.getEmployeeListByPredfinedSearch(this.filter.searchId, this.page, 30, this.filter.searchText, ['name', 'forename', 'abbreviation', 'employeeNr', 'institute', 'birthday']).then(function (data) {\n _this.schema.data = data.items;\n _this.pagination = data.paginationInfo;\n _this.$qui.functionWaiter(\"createTable\", _this);\n }).catch(function (e) {\n _this.schema.data = [];\n console.error(e);\n }).finally(function () {\n _this.loading = false;\n });\n };\n EmployeeListController.prototype.setFilterToStorage = function () {\n localStorage.setItem(this.storageName, JSON.stringify(this.filter));\n };\n EmployeeListController.prototype.getFilterFromStorage = function () {\n var store = localStorage.getItem(this.storageName);\n if (!store)\n return;\n this.filter = JSON.parse(store);\n };\n EmployeeListController = __decorate([\n QMC.Controller('QMC.Employee', 'EmployeeListController'),\n QMC.Inject('$location', '$qui', 'EmployeeService', '$scope', 'UserService', 'QmcPermissionService')\n ], EmployeeListController);\n return EmployeeListController;\n }());\n })(Employee = QMC.Employee || (QMC.Employee = {}));\n})(QMC || (QMC = {}));\nvar QMC;\n(function (QMC) {\n var Employee;\n (function (Employee) {\n var EmployeeDetailController = /** @class */ (function () {\n function EmployeeDetailController($qui, $stateParams, $scope, $location, lng, employeeService, permissionService, udfService) {\n var _this = this;\n this.$qui = $qui;\n this.$scope = $scope;\n this.$location = $location;\n this.lng = lng;\n this.employeeService = employeeService;\n this.permissionService = permissionService;\n this.udfService = udfService;\n this.menuItems = [];\n this.loading = true;\n this.loadingWv = true;\n this.showInfoBox = true;\n this.section = 'cover';\n this.formState = 'edit';\n this.udf = [];\n this.formSchema = {\n form: [{\n label: \"Name\",\n type: \"String\",\n lngTag: 20000072,\n model: \"name\",\n required: true,\n validate: {\n message: \"Bitte den Namen angeben\",\n messageTag: 21002015\n },\n style: {\n icon: \"fa fa-font\",\n class: \"col-xs-12 col-md-6\"\n }\n }, {\n label: \"Vorname\",\n required: true,\n type: \"String\",\n lngTag: 20000057,\n model: \"forename\",\n validate: {\n message: \"Bitte den Vornamen angeben\",\n messageTag: 21003037\n },\n style: {\n icon: \"fa fa-font\",\n class: \"col-xs-12 col-md-6\"\n }\n }, {\n label: \"Kürzel\",\n type: \"String\",\n lngTag: 20000221,\n model: \"abbreviation\",\n style: {\n icon: \"fa fa-font\",\n class: \"col-xs-12 col-md-6\"\n }\n }, {\n label: \"Mitarbeiter Nr.\",\n type: \"String\",\n lngTag: 21002053,\n model: \"employeeNr\",\n style: {\n icon: \"fa fa-hashtag\",\n class: \"col-xs-12 col-md-6\"\n }\n }, {\n label: \"Geburtsdatum\",\n required: true,\n type: \"Date\",\n lngTag: 21002004,\n model: \"birthday\",\n validate: {\n message: \"Bitte das Geburtsdatum angeben\",\n messageTag: 21002018\n },\n style: {\n class: \"col-xs-12 col-md-6\"\n }\n }, {\n label: \"Anrede\",\n type: \"Select\",\n lngTag: 20004005,\n model: \"salutationId\",\n dataSource: \"getSalutationList\",\n style: {\n class: \"col-xs-12 col-md-6\"\n }\n }, {\n label: \"Titel\",\n type: \"Select\",\n lngTag: 21002024,\n model: \"titleId\",\n dataSource: \"getTitleList\",\n style: {\n class: \"col-xs-12 col-md-6\"\n }\n }, {\n label: \"Titel, nach\",\n type: \"Select\",\n lngTag: 21002054,\n model: \"secondTitleId\",\n dataSource: \"getSecondTitleList\",\n style: {\n class: \"col-xs-12 col-md-6\"\n }\n }, {\n label: \"Geschlecht\",\n type: \"Select\",\n lngTag: 21002025,\n model: \"genderId\",\n dataSource: \"getGenderList\",\n style: {\n class: \"col-xs-12 col-md-6\"\n },\n }, {\n label: \"Status\",\n type: \"Select\",\n lngTag: 20000164,\n model: \"personStatusId\",\n dataSource: \"getStatusList\",\n style: {\n class: \"col-xs-12 col-md-6\"\n },\n }],\n actions: {\n put: \"updateEmployee\",\n post: \"\"\n }\n };\n $qui.init($qui.getSectionColor(\"/employee\"), function () {\n $qui.bindEvents();\n _this.events();\n $('.qm-card').unbind('click');\n });\n this.id = $stateParams.id;\n this.section = $location.$$path.split('/')[3];\n this.initForm();\n this.getEmployee();\n this.getEmployeeImage();\n this.getEmployeeWv();\n this.permissionService.getPermissionsByObjectTypes([120000, 120002, 120004, 120007, 120012, 120020, 120023, 120033, 120034, 120044, 120046]).then(function (data) {\n _this.permissionService.getPermissionsForDataset(_this.id, null).then(function (dData) {\n _this.permissions = data;\n _this.permissions[0] = dData[0];\n _this.permissions[0].objectType = 120000;\n _this.createMenuByPermissions();\n });\n });\n udfService.getUserDefinedFields(120000).then(function (data) {\n _this.udf = data;\n _this.addUdfMenu();\n });\n }\n /////////////// DISPLAY LOGIC ///////////////\n /**\n * register view events\n *\n * @private\n *\n * @memberOf StammdatenClientDetailController\n */\n EmployeeDetailController.prototype.events = function () {\n var _this = this;\n this.$scope.$watch('vm.mobileSelect', function () {\n if (_this.mobileSelect !== (null || undefined)) {\n _this.changeSection(_this.mobileSelect);\n }\n });\n this.$scope.$on('$locationChangeStart', function (_event, next) {\n var activeItem = _this.menuItems.filter(function (x) { return next.includes(\"stammdaten/detail/\" + _this.id + \"/\" + x.section + \"/\" + _this.id); })[0];\n if (activeItem)\n _this.section = activeItem.section;\n });\n };\n EmployeeDetailController.prototype.initForm = function () {\n this.form = {\n id: null,\n objectId: null,\n name: '',\n forename: '',\n displayTitle: '',\n abbreviation: '',\n birthday: null,\n gender: null,\n institute: '',\n title: '',\n amountChildren: 0,\n birthName: '',\n birthplace: '',\n bloodType: '',\n bloodTypeId: null,\n comment: '',\n dateOfDeath: null,\n employeeNr: '',\n eyeColor: '',\n eyeColorId: null,\n familyStatus: '',\n familyStatusId: null,\n firstLanguage: '',\n firstLanguageId: null,\n firstNationality: '',\n firstNationalityId: null,\n genderId: null,\n hairColor: '',\n hairColorId: null,\n instituteId: null,\n isBaptized: false,\n originCountry: '',\n originCountryId: null,\n permissions: { view: false, new: false, modify: false, delete: false },\n personStatus: '',\n personStatusId: null,\n postalSalutation: '',\n postalSalutationId: null,\n religion: '',\n religionId: null,\n salutation: '',\n salutationId: null,\n secondLanguage: '',\n secondLanguageId: null,\n secondNationality: '',\n secondNationalityId: null,\n titleId: null,\n };\n };\n /**\n * create the stammdaten menue by given permissions\n *\n * @private\n *\n * @memberOf StammdatenClientDetailController\n */\n EmployeeDetailController.prototype.createMenuByPermissions = function () {\n this.menuItems = [];\n //medicalEvidence\n if ($.grep(this.permissions, function (item) { return item.objectType === 120044; })[0].moduleAccess) {\n this.menuItems.push({ caption: this.lng.translate(20031000, \"Med. Nachweis\"), section: \"medicalEvidence\", icon: \"qm-icon-stethoscope\" });\n }\n if ($.grep(this.permissions, function (item) { return item.objectType === 120034; })[0].moduleAccess) {\n this.menuItems.push({ caption: this.lng.translate(0, \"Med. Verantwortlich / Medikamentausgabe\"), section: \"medicalResponsible\", icon: \"qm-icon-stethoscope\" });\n }\n // Communication\n if ($.grep(this.permissions, function (item) { return item.objectType === 120004; })[0].moduleAccess) {\n this.menuItems.push({ caption: this.lng.translate(20001047, \"Kommunikation\"), section: \"communication\", icon: \"qm-icon-book_telephone\" });\n }\n // Contact Person\n if ($.grep(this.permissions, function (item) { return item.objectType === 120012; })[0].moduleAccess) {\n this.menuItems.push({ caption: this.lng.translate(20004000, \"Kontaktpersonen\"), section: \"contactperson\", icon: \"qm-icon-users\" });\n }\n // Document\n if ($.grep(this.permissions, function (item) { return item.objectType === 120007; })[0].moduleAccess) {\n this.menuItems.push({ caption: this.lng.translate(21006000, \"Dokumente\"), section: \"documents\", icon: \"qm-icon-document_attachment\" });\n }\n //Training\n if ($.grep(this.permissions, function (item) { return item.objectType === 120023; })[0].moduleAccess) {\n this.menuItems.push({ caption: this.lng.translate(20033000, \"Fähigkeit / Fortbildung\"), section: \"training\", icon: \"qm-icon-graduation_hat2\" });\n }\n // Vaccination\n if ($.grep(this.permissions, function (item) { return item.objectType === 120046; })[0].moduleAccess) {\n this.menuItems.push({ caption: this.lng.translate(20009000, \"Impfungen\"), section: \"vaccination\", icon: \"qm-icon-injection\" });\n }\n //Adress\n if ($.grep(this.permissions, function (item) { return item.objectType === 120002; })[0].moduleAccess) {\n this.menuItems.push({ caption: this.lng.translate(20001511, \"Adressen\"), section: \"address\", icon: \"qm-icon-location_pin\" });\n }\n // Checklist\n if ($.grep(this.permissions, function (item) { return item.objectType === 120020; })[0].moduleAccess) {\n this.menuItems.push({ caption: this.lng.translate(20011505, \"Checklisten\"), section: \"checklist\", icon: \"qm-icon-check\" });\n }\n this.addUdfMenu();\n this.menuItems = this.menuItems.sort(function (a, b) { return a.caption > b.caption ? 1 : a.caption < b.caption ? -1 : 0; });\n this.menuItems.unshift({ caption: this.lng.translate(21002031, \"Deckblatt\"), section: \"cover\", icon: \"qm-icon-form\" });\n // Extended main data\n if ($.grep(this.permissions, function (item) { return item.objectType === 120033; })[0].moduleAccess) {\n this.menuItems.splice(1, 0, { caption: this.lng.translate(21002048, \"Erweiterte Stammdaten\"), section: \"extendedMainData\", icon: \"qm-icon-id_cards\" });\n }\n };\n EmployeeDetailController.prototype.addUdfMenu = function () {\n var _this = this;\n this.udf.sort(function (a, b) { return a.caption > b.caption ? 1 : a.caption < b.caption ? -1 : 0; }).forEach(function (udf) {\n _this.menuItems.push({\n caption: udf.caption,\n section: \"udf/\" + udf.type + \"/\" + udf.definitionId + \"/\" + udf.objectType,\n icon: \"qm-icon-window_explorer\"\n });\n });\n };\n /**\n * change the section given by the view\n *\n * @private\n * @param {string} section\n *\n * @memberOf StammdatenClientDetailController\n */\n EmployeeDetailController.prototype.changeSection = function (section) {\n this.section = section;\n console.log(\"SECTION\", section);\n this.$location.search('');\n this.$location.path(\"employee/\" + this.id + \"/\" + section + \"/\" + this.id);\n $('#mobile-data').css('display', 'none'); // Hide mobile menu after selecting a section\n this.toggleInfoBox(false);\n };\n EmployeeDetailController.prototype.toggleInfoBox = function (state) {\n if (state === void 0) { state = !this.showInfoBox; }\n var header = window.getComputedStyle(document.getElementById('largerEmployeeDetailHeader'));\n if (header.display === 'none')\n return; // if we got no option to show details again, never hide them\n var element = document.getElementById('infoContent');\n this.showInfoBox = state;\n if (this.showInfoBox)\n element.style.display = 'unset';\n else\n element.style.display = 'none';\n };\n EmployeeDetailController.prototype.editEmployee = function () {\n this.formState = \"edit\";\n this.$qui.functionWaiter(\"createForm\", this);\n $('#edit-employee').modal('toggle');\n };\n /////////////// SERVICE FUNCTIONS ///////////////\n EmployeeDetailController.prototype.getEmployee = function () {\n var _this = this;\n this.loading = true;\n this.employeeService.getEmployee(this.id).then(function (data) {\n _this.employee = data;\n var birthday = moment(data.birthday);\n var prehistoric = moment('1900-01-01').endOf('day');\n _this.form.birthday = birthday <= prehistoric ? null : _this.form.birthday;\n _this.form = angular.copy(data);\n _this.age = birthday <= prehistoric ? '?' : moment().diff(birthday, 'years');\n }).finally(function () {\n _this.loading = false;\n });\n };\n EmployeeDetailController.prototype.getEmployeeImage = function () {\n var _this = this;\n this.employeeService.getEmployeeImage(this.id, true).then(function (data) {\n if (data.imageData.length > 1) {\n _this.avatar = data.imageData;\n }\n });\n };\n EmployeeDetailController.prototype.getEmployeeWv = function () {\n var _this = this;\n this.loadingWv = true;\n this.employeeService.getEmployeeWv().then(function (data) {\n _this.wv = data;\n }).finally(function () {\n _this.loadingWv = false;\n });\n };\n EmployeeDetailController.prototype.updateEmployee = function (form) {\n var _this = this;\n this.loading = true;\n this.employeeService.putEmployee(form.objectId, form).then(function () {\n _this.getEmployee();\n }).catch(function () {\n _this.loading = false;\n });\n };\n EmployeeDetailController.prototype.getSalutationList = function () {\n return this.wv.salutationWvList.map(function (x) { return ({ text: x.name, value: x.objectId }); });\n };\n EmployeeDetailController.prototype.getTitleList = function () {\n return this.wv.titleWvList.map(function (x) { return ({ text: x.name, value: x.objectId }); });\n };\n EmployeeDetailController.prototype.getSecondTitleList = function () {\n return this.wv.secondTitleWvList.map(function (x) { return ({ text: x.name, value: x.objectId }); });\n };\n EmployeeDetailController.prototype.getGenderList = function () {\n return this.wv.genderWvList.map(function (x) { return ({ text: x.name, value: x.objectId }); });\n };\n EmployeeDetailController.prototype.getStatusList = function () {\n return this.wv.personStatusWvList.map(function (x) { return ({ text: x.name, value: x.objectId }); });\n };\n EmployeeDetailController = __decorate([\n QMC.Controller('QMC.Employee', 'EmployeeDetailController'),\n QMC.Inject('$qui', '$stateParams', '$scope', '$location', 'QmcLanguageService', 'EmployeeService', 'QmcPermissionService', 'QmcUdfService')\n ], EmployeeDetailController);\n return EmployeeDetailController;\n }());\n })(Employee = QMC.Employee || (QMC.Employee = {}));\n})(QMC || (QMC = {}));\nvar QMC;\n(function (QMC) {\n var Employee;\n (function (Employee) {\n var EmployeeService = /** @class */ (function (_super) {\n __extends(EmployeeService, _super);\n function EmployeeService($http, $q) {\n var _this = _super.call(this, $http, $q) || this;\n _this.$http = $http;\n _this.$q = $q;\n _this.modulePath = '/Person/Employee';\n return _this;\n }\n EmployeeService.prototype.getEmployeeList = function () {\n return _super.prototype.get.call(this, this.modulePath, {}, function (data) {\n return data;\n });\n };\n EmployeeService.prototype.getEmployeeListByPredfinedSearch = function (id, page, pagesize, searchString, searchProperties) {\n if (pagesize === void 0) { pagesize = 30; }\n if (searchString === void 0) { searchString = ''; }\n if (searchProperties === void 0) { searchProperties = []; }\n return _super.prototype.getItem.call(this, this.modulePath + '/ByPredefinedSearch/' + id, { listSearch: searchString, page: page, pageSize: pagesize, searchProperties: searchProperties }, function (data) {\n return data;\n });\n };\n EmployeeService.prototype.getPredefinedSearches = function () {\n return _super.prototype.get.call(this, '/PredefinedSearch', { objecttype: 120000 }, function (data) {\n return data;\n });\n };\n EmployeeService.prototype.getEmployee = function (id) {\n return _super.prototype.getItem.call(this, this.modulePath + '/' + id, {}, function (data) {\n return data;\n });\n };\n EmployeeService.prototype.getEmployeeWv = function () {\n return _super.prototype.getItem.call(this, this.modulePath + '/WvModel', {}, function (data) {\n return data;\n });\n };\n EmployeeService.prototype.putEmployee = function (parentObjectId, data) {\n return _super.prototype.put.call(this, this.modulePath + '/' + parentObjectId, data).then(function (data) {\n console.log(data);\n return data;\n });\n };\n EmployeeService.prototype.getEmployeeImage = function (id, thumbnail, objectType) {\n if (objectType === void 0) { objectType = 120006; }\n if (id !== undefined) {\n var thumbnailString = thumbnail ? 'true' : 'false';\n return _super.prototype.cachedGetItem.call(this, '/Media/Image/MainImage', { parentObjectId: id, getThumbnail: thumbnailString, objectType: objectType }, function (data) {\n return data;\n });\n }\n return null;\n };\n EmployeeService = __decorate([\n QMC.Service('QMC.Employee', 'EmployeeService'),\n QMC.Inject('$http', '$q')\n ], EmployeeService);\n return EmployeeService;\n }(QMC.Common.BaseService));\n Employee.EmployeeService = EmployeeService;\n })(Employee = QMC.Employee || (QMC.Employee = {}));\n})(QMC || (QMC = {}));\nvar QMC;\n(function (QMC) {\n var Stammdaten;\n (function (Stammdaten) {\n var DetailAddressController = /** @class */ (function () {\n /**\n * QMC.Stammdaten.DetailAdressController\n * @constructor\n * @param stammdatenService\n * @param $qui\n * @param clientService\n * @param $stateParams\n * @param $scope\n * @param $state\n * @param lng\n */\n function DetailAddressController(stammdatenService, $qui, clientService, $stateParams, $scope, $state, lng, permissionService, userService, $timeout, $location, udfService) {\n var _this = this;\n this.stammdatenService = stammdatenService;\n this.$qui = $qui;\n this.clientService = clientService;\n this.$stateParams = $stateParams;\n this.$scope = $scope;\n this.$state = $state;\n this.lng = lng;\n this.permissionService = permissionService;\n this.userService = userService;\n this.$timeout = $timeout;\n this.$location = $location;\n //formModalId = 'edit-form';\n this.formModalId = 'edit-form';\n this.allowTableExport = false;\n this.ui = new Stammdaten.DetailUI(this.formModalId);\n this.udfs = [];\n $scope.Model = $scope.Model || { Name: \"xxx\" };\n this.id = $stateParams.id;\n switch (this.$location.$$path.split('/')[1]) {\n case 'employee':\n this.parentObjectType = 120000;\n this.objectType = 120002;\n this.documentObjectType = 120007;\n break;\n default:\n this.parentObjectType = 140000;\n this.objectType = 140021;\n this.documentObjectType = 140117;\n break;\n }\n permissionService.getPermissionsByObjectTypes([this.objectType, this.documentObjectType]).then(function (data) {\n _this.delete = data[0].delete;\n _this.new = data[0].new;\n _this.modify = data[0].modify;\n _this.moduleAccess = data[0].moduleAccess && data[0].view;\n _this.allowTableExport = data[0].print;\n _this.enableDocuments = data[1].moduleAccess;\n $timeout(function () {\n if (!_this.new)\n document.getElementsByName('newModalButton').forEach(function (x) { return x.style.visibility = 'hidden'; });\n else\n document.getElementsByName('newModalButton').forEach(function (x) { return x.style.visibility = 'unset'; });\n });\n _this.getWv();\n _this.$qui.getTableAutoload(_this.userService).then(function (ltd) {\n _this.shouldLoadTableData = ltd;\n if (_this.shouldLoadTableData) {\n _this.getData();\n }\n });\n });\n //$qui.init(\"stammdaten\", () => {\n $qui.init($qui.getSectionColor(\"/stammdaten\"), function () {\n $qui.bindEvents();\n $(\".qm-card\").unbind(\"click\");\n });\n this.lang = lng;\n this.promptOptions = {\n title: \"Adresse\",\n yesNo: true,\n icon: \"qm-icon-history2\",\n text: this.lang.translate(20000290, \"Wollen Sie den Eintrag wirklich löschen?\")\n };\n var vm = this;\n $timeout(function () { return $(\"#\" + _this.formModalId).on('hidden.bs.modal', function () {\n _this.$state.go('.', { dataId: undefined }, { reload: false });\n $timeout(function () { return vm.initForm(); });\n $(\"#edit-form\").find('.tab-content').children().removeClass('in').removeClass('active');\n $(\"#edit-form\").find('.tab-content').find('#baseDataTab').addClass('in active');\n }); });\n udfService.getUserDefinedFields(this.objectType).then(function (data) {\n _this.udfs = data.sort(function (a, b) { return a.caption.localeCompare(b.caption); });\n });\n }\n DetailAddressController.prototype.getData = function () {\n this.getAdress();\n };\n /////////////// DISPLAY LOGIC ///////////////\n /**\n * Init view events\n *\n * @private\n *\n * @memberOf DetailAddressController\n */\n DetailAddressController.prototype.events = function () {\n var vm = this;\n $(\"#city .typeahead\").typeahead({\n minLength: 3,\n source: function (query, process) {\n vm.stammdatenService.getPostCodeByCityList(vm.form.objectIdCountry, query).then(function (data) {\n process(data.map(function (obj) {\n return obj.postCodeAndCity;\n }));\n });\n },\n updater: function (item) {\n var data = item.split(\"...\");\n vm.form.postCode = data[0];\n $(\"#postCode input\").val(data[0]).trigger(\"change\");\n return data[1];\n }\n });\n $(\"#postCode .typeahead\").typeahead({\n minLength: 3,\n source: function (query, process) {\n vm.stammdatenService.getCityByPostCodeList(vm.form.objectIdCountry, query).then(function (data) {\n process(data.map(function (obj) {\n return obj.postCodeAndCity;\n }));\n });\n },\n updater: function (item) {\n var data = item.split(\"...\");\n vm.form.city = data[1];\n $(\"#city input\").val(data[1]).trigger(\"change\");\n return data[0];\n }\n });\n };\n /**\n * init form\n *\n * @private\n *\n * @memberOf DetailAddressController\n */\n DetailAddressController.prototype.initForm = function () {\n var _this = this;\n this.formState = \"new\";\n this.form = {\n id: null,\n objectId: null,\n objectType: this.objectType,\n parentObjectType: this.parentObjectType,\n parentObjectId: this.id,\n street: null,\n houseNumber: null,\n addressAddition: null,\n postCode: null,\n city: null,\n dateFrom: null,\n dateTo: null,\n objectIdCountry: QMC.Common.Constants.DEFAULT_COUNTRY_ID,\n objectIdState: null,\n objectIdAddressType: null,\n isMainRecord: true,\n isPostOfficeBox: false,\n isHouseless: false,\n comment: null,\n isDatatransferForbidden: false,\n isEmergency: false\n };\n this.userService.getUserSettings([\"GLOBAL.DEFAULTLAND\"], false).then(function (dataGlobal) {\n _this.form.objectIdCountry = dataGlobal[0].value;\n });\n this.userService.getUserSettings([\"GLOBAL.DEFAULTBUNDESLAND\"], false).then(function (dataGlobal) {\n _this.form.objectIdState = dataGlobal[0].value;\n });\n this.$qui.functionWaiter(\"ui.createForm\", this);\n };\n /////////////// SERVICE FUNCTIONS ///////////////\n /**\n * get the address type list\n *\n * @private\n * @returns {ng.IPromise}\n *\n * @memberOf DetailAddressController\n */\n DetailAddressController.prototype.getAdressTypeList = function () {\n return this.wv.addressTypeWvList.map(function (obj) { return ({\n value: obj.objectId,\n text: obj.name\n }); });\n };\n /**\n * get the country list\n *\n * @private\n * @returns {ng.IPromise}\n *\n * @memberOf DetailAddressController\n */\n DetailAddressController.prototype.getCountryList = function () {\n var _this = this;\n return this.stammdatenService.getAddressWv().then(function (data) {\n return _this.ui.select(data.countriesWvList, { value: \"objectId\", text: \"name\" });\n });\n };\n /**\n * get the state list\n *\n * @private\n * @param {Guid} id\n * @returns {ng.IPromise}\n *\n * @memberOf DetailAddressController\n */\n DetailAddressController.prototype.getStatesList = function (id) {\n var _this = this;\n if (this.form.objectIdCountry === null)\n return null;\n this.form.objectIdState = null;\n return this.stammdatenService.getStatesWv(this.form.objectIdCountry).then(function (data) {\n return _this.ui.select(data, { value: \"id\", text: \"caption\" });\n });\n };\n /**\n * get the wv list\n *\n * @private\n *\n * @memberOf DetailAddressController\n */\n DetailAddressController.prototype.getWv = function () {\n var _this = this;\n this.loading = true;\n this.stammdatenService.getAddressWv().then(function (data) {\n _this.wv = data;\n _this.initForm();\n _this.$qui.functionWaiter(\"ui.createForm\", _this);\n setTimeout(function () {\n _this.events();\n }, 200);\n _this.loading = false;\n });\n };\n /**\n * get all addresses\n *\n * @private\n *\n * @memberOf DetailAddressController\n */\n DetailAddressController.prototype.getAdress = function () {\n var _this = this;\n this.loading = true;\n this.stammdatenService.getAddressList(this.id).then(function (data) {\n data = data.map(function (obj) {\n if (obj.isDatatransferForbidden)\n obj.style = { 'background-color': 'orangered', 'color': 'white', 'font-weight': 'bold' };\n return obj;\n });\n _this.ui.addressTable.data = data;\n _this.$qui.functionWaiter(\"ui.createTable\", _this);\n _this.loading = false;\n if (_this.$stateParams.dataId) {\n var address = data.filter(function (x) { return x.objectId === _this.$stateParams.dataId; })[0];\n console.log('open', _this.$stateParams.dataId, _this.formModalId, address);\n if (address) {\n $(\"#\" + _this.formModalId).modal('show');\n _this.editAdress(address);\n }\n }\n });\n };\n /**\n * add an address\n *\n * @private\n * @param {IAddress} form\n *\n * @memberOf DetailAddressController\n */\n DetailAddressController.prototype.addAddress = function (form) {\n var _this = this;\n form.parentObjectId = this.id;\n this.loading = true;\n this.stammdatenService.postAddress(form).then(function (e) {\n _this.ui.notify(_this.ui.successNote);\n _this.getAdress();\n _this.formState = \"new\";\n $(\"#\" + _this.formModalId).modal('hide');\n });\n };\n /**\n * put an existing address\n *\n * @private\n * @param {IAddress} form\n *\n * @memberOf DetailAddressController\n */\n DetailAddressController.prototype.putAddress = function (form) {\n var _this = this;\n form.parentObjectId = this.id;\n this.loading = true;\n this.stammdatenService.putAddress(form.parentObjectId, form.objectId, form).then(function (data) {\n _this.ui.notify(_this.ui.successNote);\n _this.getAdress();\n _this.formState = \"new\";\n $(\"#\" + _this.formModalId).modal('hide');\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 /**\n * delete an existing address\n *\n * @private\n * @param {IAddress} data\n *\n * @memberOf DetailAddressController\n */\n DetailAddressController.prototype.deleteAdress = function (item) {\n var _this = this;\n this.promptOptions.itemText = item.streetAndHouseNumber + \", \" + item.postCode + \" \" + item.city;\n QMC.Common.Utilities.confirm(this.promptOptions, function (data) {\n if (data) {\n _this.loading = true;\n _this.stammdatenService.deleteAddress(_this.id, item.objectId).then(function (dataDelete) {\n _this.ui.notify(_this.ui.deleteNote);\n _this.getAdress();\n _this.formState = \"new\";\n $(\"#\" + _this.formModalId).modal('hide');\n });\n }\n });\n };\n /**\n * edit an existing address\n *\n * @private\n * @param {IAddress} data\n *\n * @memberOf DetailAddressController\n */\n DetailAddressController.prototype.editAdress = function (data) {\n this.formState = \"edit\";\n this.form = angular.copy(data);\n if (data.dateFrom != null) {\n this.form.dateFrom = moment(data.dateFrom).toDate();\n }\n if (this.form.dateTo !== null)\n this.form.dateTo = moment(data.dateTo).toDate();\n this.$qui.waitForEl('#standardTabButton', function () {\n $('#standardTabButton').click();\n });\n this.$state.go('.', { dataId: data.objectId });\n };\n DetailAddressController = __decorate([\n QMC.Controller(\"QMC.Stammdaten\", \"DetailAddressController\"),\n QMC.Inject(\"StammdatenService\", \"$qui\", \"KlientService\", \"$stateParams\", \"$scope\", \"$state\", \"QmcLanguageService\", \"QmcPermissionService\", 'UserService', '$timeout', '$location', 'QmcUdfService')\n ], DetailAddressController);\n return DetailAddressController;\n }());\n })(Stammdaten = QMC.Stammdaten || (QMC.Stammdaten = {}));\n})(QMC || (QMC = {}));\nvar QMC;\n(function (QMC) {\n var Stammdaten;\n (function (Stammdaten) {\n var DetailChecklistController = /** @class */ (function () {\n /**\n * Creates an instance of DetailChecklistController.\n *\n * @memberOf DetailChecklistController\n */\n function DetailChecklistController(stammdatenService, $qui, $stateParams, $scope, permissionService, userService, lng, $state, $location, $timeout, udfService) {\n var _this = this;\n this.stammdatenService = stammdatenService;\n this.$qui = $qui;\n this.$stateParams = $stateParams;\n this.$scope = $scope;\n this.permissionService = permissionService;\n this.userService = userService;\n this.lng = lng;\n this.$state = $state;\n this.ui = new QMC.Stammdaten.DetailUI();\n this.checkListItems = [];\n this.formState = 'new';\n this.cacheName = 'checklistCache';\n this.udfs = [];\n this.promptOptions = {\n title: this.lng.translate(20011510, 'Checklisteneinträge'),\n yesNo: true,\n icon: 'qm-icon-check',\n text: this.lng.translate(20000299, 'Wollen Sie wirklich alle Einträge löschen?'),\n itemText: ''\n };\n this.promptOptionsHistory = {\n title: this.lng.translate(20011511, 'Checklisteneintrag'),\n yesNo: true,\n icon: 'qm-icon-check',\n text: this.lng.translate(20000290, \"Wollen Sie den Eintrag wirklich löschen?\"),\n itemText: ''\n };\n this.historyFormState = 'new';\n this.id = this.$stateParams.id;\n switch ($location.$$path.split('/')[1]) {\n case 'employee':\n this.parentObjectType = 120000;\n this.objectType = 120020;\n this.documentObjectType = 120021;\n this.historyObjectType = 120022;\n break;\n default:\n this.parentObjectType = 140000;\n this.objectType = 140057;\n this.documentObjectType = 140059;\n this.historyObjectType = 140060;\n break;\n }\n this.maps = {\n list: []\n };\n this.loading = {\n items: false,\n list: false,\n save: false\n };\n this.initForm();\n this.permissionService.getPermissionsByObjectTypes([this.objectType, this.documentObjectType, this.historyObjectType]).then(function (data) {\n _this.delete = data[0].delete;\n _this.new = data[0].new;\n _this.modify = data[0].modify;\n _this.allowTableExport = data[0].print;\n _this.moduleAccess = data[0].moduleAccess && data[0].view;\n _this.documentPermissions = data[1];\n _this.historyDelete = data[2].delete && data[2].moduleAccess;\n _this.historyModify = data[2].modify && data[2].moduleAccess;\n _this.historyNew = data[2].new && data[2].moduleAccess;\n _this.historyModuleAccess = data[2].moduleAccess && data[2].view;\n });\n //$qui.init('stammdaten', () => {\n $qui.init($qui.getSectionColor(\"/stammdaten\"), function () {\n $qui.bindEvents();\n $('.qm-card').unbind('click');\n });\n this.$qui.waitForEl('#newModalButton', function () {\n document.getElementsByName('newModalButton').forEach(function (x) { return x.style.visibility = 'hidden'; });\n });\n this.$qui.getTableAutoload(this.userService).then(function (ltd) {\n _this.shouldLoadTableData = ltd;\n if (_this.shouldLoadTableData) {\n _this.events();\n }\n _this.getChecklists();\n });\n var vm = this;\n $timeout(function () { return $(\"#edit-form\").on('hidden.bs.modal', function () {\n _this.$state.go('.', { dataId: undefined }, { reload: false });\n $timeout(function () { return vm.initForm(); });\n $(\"#edit-form\").find('.tab-content').children().removeClass('in').removeClass('active');\n $(\"#edit-form\").find('.tab-content').find('#baseDataTab').addClass('in active');\n }); });\n udfService.getUserDefinedFields(this.objectType).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 *\n * @memberOf DetailChecklistController\n */\n DetailChecklistController.prototype.initForm = function () {\n this.form = {\n id: null,\n objectId: null,\n date: new Date(),\n dateShowAgain: null,\n dateFrom: null,\n dateTo: null,\n comment: null,\n caption: '',\n order: 0,\n checklistId: null,\n checklistItemId: null,\n history: [],\n reminder: 0,\n reminderActive: false\n };\n this.$qui.functionWaiter(\"ui.createForm\", this);\n };\n /////////////// DISPLAY LOGIC ///////////////\n /**\n * create events for the view\n *\n * @private\n *\n * @memberOf DetailChecklistController\n */\n DetailChecklistController.prototype.events = function () {\n var _this = this;\n this.$scope.$watch('vm.checkListId', function (newVal, oldVal) {\n if (newVal === oldVal)\n return;\n _this.checkListItems = [];\n if (!_this.checkListId || _this.checkListId.length === 0)\n return;\n _this.getCheckListItems();\n });\n };\n DetailChecklistController.prototype.getList = function () {\n return this.maps.list;\n };\n DetailChecklistController.prototype.getData = function () {\n this.getCheckListItems();\n };\n DetailChecklistController.prototype.formatItemForTable = function (item) {\n item.state = this.lng.translate(20011512, 'keiner');\n if (item.date) {\n item.isChecked = true;\n item.date = this.$qui.createDateFromString(item.date);\n item.state = this.lng.translate(20011513, 'gültig');\n }\n ;\n if (item.dateFrom)\n item.dateFrom = this.$qui.createDateFromString(item.dateFrom);\n if (item.dateTo)\n item.dateTo = this.$qui.createDateFromString(item.dateTo);\n if (item.dateShowAgain)\n item.dateShowAgain = this.$qui.createDateFromString(item.dateShowAgain);\n if (item.dateTo && item.dateTo < new Date()) {\n item.isChecked = 'invalid';\n item.state = this.lng.translate(20011514, 'abgelaufen');\n }\n else if (item.dateFrom && item.dateFrom > new Date()) {\n item.isChecked = 'invalid';\n item.state = this.lng.translate(20011515, 'zukünftig');\n }\n return item;\n };\n DetailChecklistController.prototype.toggleCommentModal = function (data) {\n this.commentModalData = data;\n $('#commentModal').modal('show');\n };\n /////////////// SERVICE FUNCTIONS ///////////////\n /**\n * get the list of checklists\n *\n * @private\n *\n * @memberOf DetailChecklistController\n */\n DetailChecklistController.prototype.getChecklists = function () {\n var _this = this;\n this.loading.list = true;\n this.stammdatenService.getChecklistList(this.parentObjectType).then(function (data) {\n _this.maps.list = data.map(function (x) { return ({ text: x.caption, value: x.objectId, group: x.category }); });\n if (data.length === 1) {\n _this.checkListId = data[0].objectId;\n _this.getCheckListItems();\n }\n else if (localStorage.getItem(_this.cacheName) && _this.maps.list.some(function (x) { return x.value === localStorage.getItem(_this.cacheName); })) {\n _this.checkListId = localStorage.getItem(_this.cacheName);\n }\n _this.loading.list = false;\n });\n };\n DetailChecklistController.prototype.getCheckListItems = function () {\n var _this = this;\n if (!this.checkListId || this.checkListId === QMC.Common.Constants.GUID_EMPTY)\n return;\n this.loading.items = true;\n localStorage.setItem(this.cacheName, this.checkListId);\n this.ui.checklistTable.data = [];\n this.stammdatenService.getChecklistItemList(this.id, this.checkListId).then(function (data) {\n for (var _i = 0, data_1 = data; _i < data_1.length; _i++) {\n var item = data_1[_i];\n item = _this.formatItemForTable(item);\n }\n _this.ui.checklistTable.data = data.sort(function (a, b) { return a.order - b.order; });\n _this.loading.items = false;\n _this.$qui.functionWaiter(\"ui.createTable\", _this);\n if (_this.$stateParams.dataId) {\n var item = data.filter(function (x) { return x.objectId === _this.$stateParams.dataId; })[0];\n if (item) {\n $(\"#edit-form\").modal('show');\n _this.editCheck(item);\n }\n }\n });\n };\n DetailChecklistController.prototype.newCheck = function (data) {\n this.formState = 'new';\n this.initForm();\n this.form.checklistItemId = data.checklistItemId;\n this.form.checklistId = data.checklistId;\n this.form.caption = data.caption;\n this.$qui.waitForEl('#standardTabButton', function () {\n $('#standardTabButton').click();\n });\n };\n DetailChecklistController.prototype.editCheck = function (data) {\n var _this = this;\n this.formState = 'edit';\n this.loading.save = true;\n this.stammdatenService.getChecklistItem(this.id, data.checklistId, data.checklistItemId).then(function (data) {\n if (data.date)\n data.date = _this.$qui.createDateFromString(data.date);\n if (data.dateFrom)\n data.dateFrom = _this.$qui.createDateFromString(data.dateFrom);\n if (data.dateTo)\n data.dateTo = _this.$qui.createDateFromString(data.dateTo);\n if (data.dateShowAgain)\n data.dateShowAgain = _this.$qui.createDateFromString(data.dateShowAgain);\n _this.form = data;\n for (var _i = 0, _a = data.history; _i < _a.length; _i++) {\n var item = _a[_i];\n item = _this.formatItemForTable(item);\n }\n _this.ui.checklistHistoryTable.data = data.history.sort(function (a, b) { return a.order - b.order; });\n _this.$qui.functionWaiter(\"createHistoryTable\", _this);\n }).finally(function () {\n _this.loading.save = false;\n });\n this.$qui.waitForEl('#standardTabButton', function () {\n $('#standardTabButton').click();\n });\n this.$state.go('.', { dataId: data.objectId });\n };\n DetailChecklistController.prototype.addChecklist = function (data) {\n var _this = this;\n this.loading.save = true;\n this.loading.items = true;\n this.stammdatenService.postCheckedItem(this.id, data).then(function () {\n _this.ui.notify(_this.ui.successNote);\n _this.getCheckListItems();\n $('#edit-form').modal('hide');\n }).finally(function () {\n _this.loading.save = false;\n });\n };\n DetailChecklistController.prototype.putChecklist = function (data) {\n var _this = this;\n this.loading.save = true;\n this.loading.items = true;\n this.stammdatenService.putCheckedItem(this.id, data.objectId, data).then(function () {\n _this.ui.notify(_this.ui.successNote);\n _this.getCheckListItems();\n $('#edit-form').modal('hide');\n $('#historyFormModal').modal('hide');\n }).finally(function () {\n _this.loading.save = false;\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 DetailChecklistController.prototype.deleteCheck = function (data) {\n var _this = this;\n this.promptOptions.itemText = data.caption;\n QMC.Common.Utilities.confirm(this.promptOptions, function (decission) {\n if (decission) {\n _this.loading.save = true;\n _this.stammdatenService.deleteCheckedItems(_this.$stateParams.client, data.checklistItemId).then(function () {\n _this.ui.notify(_this.ui.deleteNote);\n _this.getCheckListItems();\n _this.formState = \"new\";\n }).finally(function () {\n _this.loading.save = false;\n });\n }\n $('#edit-form').modal('hide');\n });\n };\n DetailChecklistController.prototype.editHistory = function (data) {\n this.historyFormState = 'edit';\n this.historyForm = angular.copy(data);\n this.createHistoryForm();\n this.$qui.functionWaiter(\"createHistoryDirective\", this);\n this.$qui.functionWaiter(\"createHistoryForm\", this);\n this.$qui.waitForEl('#standardHistoryTabButton', function () {\n $('#standardHistoryTabButton').click();\n });\n };\n DetailChecklistController.prototype.deleteHistory = function (data) {\n var _this = this;\n this.promptOptionsHistory.itemText = data.state + \" \" + this.lng.translate(20000218, 'vom') + \" \" + moment(data.date).format('DD.MM.yyyy');\n QMC.Common.Utilities.confirm(this.promptOptionsHistory, function (decission) {\n if (decission) {\n _this.loading.save = true;\n _this.stammdatenService.deleteCheckedItem(_this.$stateParams.client, data.checklistItemId, data.objectId).then(function () {\n _this.ui.notify(_this.ui.deleteNote);\n _this.getCheckListItems();\n _this.historyFormState = \"new\";\n }).finally(function () {\n _this.loading.save = false;\n });\n $('#edit-form').modal('hide');\n }\n }, '#historyDeletePrompt');\n };\n DetailChecklistController = __decorate([\n QMC.Controller('QMC.Stammdaten', 'DetailChecklistController'),\n QMC.Inject('StammdatenService', '$qui', '$stateParams', '$scope', 'QmcPermissionService', 'UserService', 'QmcLanguageService', '$state', '$location', '$timeout', 'QmcUdfService')\n ], DetailChecklistController);\n return DetailChecklistController;\n }());\n })(Stammdaten = QMC.Stammdaten || (QMC.Stammdaten = {}));\n})(QMC || (QMC = {}));\nvar QMC;\n(function (QMC) {\n var Stammdaten;\n (function (Stammdaten) {\n var DetailClientInfoController = /** @class */ (function () {\n /**\n * QMC.Stammdaten.DetailAbsenteeismController\n * @constructor\n * @param stammdatenService\n * @param clientService\n * @param $stateParams\n * @param $scope\n * @param $state\n * @param lng\n */\n function DetailClientInfoController($qui, $stateParams, userService, lngService) {\n this.$qui = $qui;\n this.userService = userService;\n this.lngService = lngService;\n this.selectedClients = [];\n this.isMobile = document.body.classList.contains('mobile');\n this.newView = true;\n this.selectedClients.push($stateParams.id);\n this.$qui.waitForEl('#newModalButton', function () {\n document.getElementsByName('newModalButton').forEach(function (x) { return x.style.visibility = 'hidden'; });\n });\n var ceBaseUrl = $('#session').data().ceUrl;\n this.allowExchange = (ceBaseUrl || ceBaseUrl.length > 0);\n this.newView = this.allowExchange;\n this.$qui.init($qui.getSectionColor(\"/stammdaten\"), function () {\n $qui.bindEvents();\n $('.qm-card').unbind('click');\n });\n }\n DetailClientInfoController.prototype.toggleView = function () {\n this.userService.postActionLogEntry({ type: this.newView ? 11 : 10, source: 1, area: 'ClientInformation', reference: 'toggle' });\n this.newView = !this.newView;\n };\n DetailClientInfoController.prototype.getTooltip = function () {\n return this.lngService.translate(this.newView ? 20000322 : 20000321, 'Ansicht wechseln');\n };\n DetailClientInfoController = __decorate([\n QMC.Controller('QMC.Stammdaten', 'DetailClientInfoController'),\n QMC.Inject('$qui', '$stateParams', 'UserService', 'QmcLanguageService')\n ], DetailClientInfoController);\n return DetailClientInfoController;\n }());\n })(Stammdaten = QMC.Stammdaten || (QMC.Stammdaten = {}));\n})(QMC || (QMC = {}));\nvar QMC;\n(function (QMC) {\n var Stammdaten;\n (function (Stammdaten) {\n var DetailCommunicationController = /** @class */ (function () {\n /**\n * Creates an instance of DetailCommunicationController.\n *\n * @memberOf DetailCommunicationController\n */\n function DetailCommunicationController(stammdatenService, $qui, $stateParams, $scope, $state, lng, permissionService, userService, $timeout, $location, udfService) {\n var _this = this;\n this.stammdatenService = stammdatenService;\n this.$qui = $qui;\n this.$stateParams = $stateParams;\n this.$state = $state;\n this.lng = lng;\n this.userService = userService;\n this.$location = $location;\n this.allowTableExport = false;\n this.ui = new QMC.Stammdaten.DetailUI();\n this.enableDocuments = false;\n this.udfs = [];\n $scope.Model = $scope.Model || { Name: 'xxx' };\n this.id = $stateParams.id;\n switch (this.$location.$$path.split('/')[1]) {\n case 'employee':\n this.parentObjectType = 120000;\n this.objectType = 120004;\n this.documentObjectType = 120050;\n break;\n default:\n this.parentObjectType = 140000;\n this.objectType = 140023;\n this.documentObjectType = 140118;\n break;\n }\n permissionService.getPermissionsByObjectTypes([this.objectType, this.documentObjectType]).then(function (data) {\n _this.delete = data[0].delete;\n _this.new = data[0].new;\n _this.modify = data[0].modify;\n _this.moduleAccess = data[0].moduleAccess && data[0].view;\n _this.allowTableExport = data[0].print;\n _this.enableDocuments = data[1].moduleAccess;\n $timeout(function () {\n if (!_this.new)\n document.getElementsByName('newModalButton').forEach(function (x) { return x.style.visibility = 'hidden'; });\n else\n document.getElementsByName('newModalButton').forEach(function (x) { return x.style.visibility = 'unset'; });\n });\n _this.getWv();\n _this.userService.getUserSettings([\"KOMMUNIKATION.ENABLE.EMAILSEND\", \"KOMMUNIKATION.ENABLE.TELCALL\", \"KOMMUNIKATION.ENABLE.URLOPEN\"], false).then(function (data) {\n _this.linkSetting = {\n mail: data[0].value.toLowerCase() === 'true',\n tele: data[1].value.toLowerCase() === 'true',\n href: data[2].value.toLowerCase() === 'true'\n };\n _this.$qui.getTableAutoload(_this.userService).then(function (ltd) {\n _this.shouldLoadTableData = ltd;\n if (_this.shouldLoadTableData) {\n _this.getData();\n }\n });\n });\n });\n //$qui.init('stammdaten', () => {\n $qui.init($qui.getSectionColor(\"/stammdaten\"), function () {\n $qui.bindEvents();\n $('.qm-card').unbind('click');\n });\n this.promptOptions = {\n title: \"Kommunikation\",\n yesNo: true,\n icon: \"qm-icon-history2\",\n text: this.lng.translate(20000290, 'Wollen Sie den Eintrag wirklich löschen?')\n };\n var vm = this;\n $(\"#edit-form\").on('hidden.bs.modal', function () {\n _this.$state.go('.', { dataId: undefined }, { reload: false });\n $timeout(function () { return vm.initForm(); });\n $(\"#edit-form\").find('.tab-content').children().removeClass('in').removeClass('active');\n $(\"#edit-form\").find('.tab-content').find('#baseDataTab').addClass('in active');\n });\n udfService.getUserDefinedFields(this.objectType).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 *\n * @memberOf DetailCommunicationController\n */\n DetailCommunicationController.prototype.initForm = function () {\n this.formState = 'new';\n this.form = {\n id: null,\n objectId: null,\n dateFrom: null,\n dateTo: null,\n targetAddress: null,\n isMainRecord: true,\n isTypeMain: true,\n communicationCategoryId: null,\n communicationTypeId: \"53fd55a0-9efe-41aa-9099-5c3b7b4e972f\",\n communicationTypeName: null,\n comment: null,\n countryCode: null,\n areaCode: null,\n isDatatransferForbidden: false,\n displayAddress: null,\n objectType: this.objectType,\n parentObjectType: this.parentObjectType\n };\n this.$qui.functionWaiter(\"ui.createForm\", this);\n };\n DetailCommunicationController.prototype.getData = function () {\n this.getCommunications();\n };\n /////////////// SERVICE FUNCTIONS ///////////////\n /**\n * get the communication type list\n *\n * @private\n * @returns {ng.IPromise}\n *\n * @memberOf DetailCommunicationController\n */\n DetailCommunicationController.prototype.getCommunicationTypeList = function () {\n return this.wvList.communicationTypeWvList.map(function (obj) {\n return {\n value: obj.objectId,\n text: obj.name,\n isFix: obj.isFix\n };\n });\n };\n /**\n * get the communication category list\n *\n * @private\n * @param {Guid} id\n * @returns {ng.IPromise}\n *\n * @memberOf DetailCommunicationController\n */\n DetailCommunicationController.prototype.getCommunicationCategoryList = function () {\n if (this.form.communicationCategoryName === \"\")\n this.form.communicationCategoryId = null;\n for (var i = 0; i < this.wvList.communicationTypeWvList.length; i++) {\n if (this.wvList.communicationTypeWvList[i].id === this.form.communicationTypeId) {\n this.form.communicationTypeName = this.wvList.communicationTypeWvList[i].name.charAt(0).toLowerCase() + this.wvList.communicationTypeWvList[i].name.slice(1);\n ;\n break;\n }\n }\n if (this.form.communicationTypeName !== (null || undefined || \"\") && this.wvList !== (null || undefined)) {\n return this.wvList.communicationCategoryWvList[this.form.communicationTypeName].map(function (obj) {\n return {\n value: obj.id,\n text: obj.name,\n isFix: obj.isFix\n };\n });\n }\n else {\n return null;\n }\n };\n /**\n * get the list of communications\n *\n * @private\n *\n * @memberOf DetailCommunicationController\n */\n DetailCommunicationController.prototype.getCommunications = function () {\n var _this = this;\n this.stammdatenService.getCommunicationList(this.id).then(function (data) {\n data = data.map(function (obj) {\n if (obj.isDatatransferForbidden)\n obj.style = { 'background-color': 'orangered', 'color': 'white', 'font-weight': 'bold' };\n switch (obj.communicationTypeId) {\n case '930511d9-aa40-4927-b8b0-bbfc2e040de6': // fax\n case '6729f858-ca6d-4efe-8397-376133a2d974': // telephon\n obj.type = this.linkSetting.tele ? 'tel' : undefined;\n break;\n case 'f25005b8-3a66-4b36-9395-60ce7896f7d6': // website\n obj.type = this.linkSetting.href ? 'site' : undefined;\n break;\n case '53fd55a0-9efe-41aa-9099-5c3b7b4e972f': // email\n obj.type = this.linkSetting.mail ? 'mail' : undefined;\n break;\n }\n return obj;\n }.bind(_this));\n _this.ui.communicationTable.data = data;\n _this.$qui.functionWaiter(\"ui.createTable\", _this);\n _this.loading = false;\n if (_this.$stateParams.dataId) {\n var item = data.filter(function (x) { return x.objectId === _this.$stateParams.dataId; })[0];\n if (item) {\n $(\"#edit-form\").modal('show');\n _this.editCommunication(item);\n }\n }\n });\n };\n /**\n * get the wv list\n *\n * @private\n *\n * @memberOf DetailCommunicationController\n */\n DetailCommunicationController.prototype.getWv = function () {\n var _this = this;\n this.stammdatenService.getCommunicationWv().then(function (data) {\n _this.wvList = data;\n _this.initForm();\n _this.$qui.functionWaiter(\"ui.createForm\", _this);\n });\n };\n /**\n * add a communication\n *\n * @private\n * @param {ICommunication} form\n *\n * @memberOf DetailCommunicationController\n */\n DetailCommunicationController.prototype.addCommunication = function (form) {\n var _this = this;\n this.loading = true;\n form.parentObjectId = this.id;\n this.stammdatenService.postCommunication(form).then(function () {\n _this.ui.notify(_this.ui.successNote);\n _this.formState = \"new\";\n _this.getCommunications();\n $('#edit-form').modal('hide');\n });\n };\n /**\n * put an existing communication\n *\n * @private\n * @param {ICommunication} form\n *\n * @memberOf DetailCommunicationController\n */\n DetailCommunicationController.prototype.putCommunication = function () {\n var _this = this;\n this.loading = true;\n this.stammdatenService.putCommunication(this.form.parentObjectId, this.form.objectId, this.form).then(function () {\n _this.ui.notify(_this.ui.successNote);\n _this.getCommunications();\n _this.formState = \"new\";\n $('#edit-form').modal('hide');\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 /**\n * delete an existing communication\n *\n * @private\n * @param {ICommunication} data\n *\n * @memberOf DetailCommunicationController\n */\n DetailCommunicationController.prototype.deleteCommunication = function (item) {\n var _this = this;\n this.promptOptions.itemText = item.communicationCategoryName.length > 0 ? item.communicationCategoryName + \": \" + item.targetAddress : item.targetAddress;\n QMC.Common.Utilities.confirm(this.promptOptions, function (data) {\n if (data)\n _this.stammdatenService.deleteCommunication(_this.id, item.objectId).then(function () {\n _this.ui.notify(_this.ui.deleteNote);\n _this.formState = \"new\";\n _this.getCommunications();\n });\n });\n };\n /**\n * edit an existing communication\n *\n * @private\n * @param {ICommunication} data\n *\n * @memberOf DetailCommunicationController\n */\n DetailCommunicationController.prototype.editCommunication = function (data) {\n if (data.communicationCategoryName === \"\")\n data.communicationCategoryId = null;\n this.formState = \"edit\";\n this.form = data;\n this.$qui.waitForEl('#standardTabButton', function () {\n $('#standardTabButton').click();\n });\n this.$state.go('.', { dataId: data.objectId });\n };\n DetailCommunicationController = __decorate([\n QMC.Controller('QMC.Stammdaten', 'DetailCommunicationController'),\n QMC.Inject('StammdatenService', '$qui', '$stateParams', '$scope', '$state', 'QmcLanguageService', 'QmcPermissionService', 'UserService', '$timeout', '$location', 'QmcUdfService')\n ], DetailCommunicationController);\n return DetailCommunicationController;\n }());\n })(Stammdaten = QMC.Stammdaten || (QMC.Stammdaten = {}));\n})(QMC || (QMC = {}));\nvar QMC;\n(function (QMC) {\n var Stammdaten;\n (function (Stammdaten) {\n var DetailContactPersonController = /** @class */ (function () {\n /**\n * Creates an instance of DetailContactPersonController.\n *\n * @memberOf DetailContactPersonController\n */\n function DetailContactPersonController(stammdatenService, $qui, $stateParams, $scope, $state, lng, permissionService, userService, $timeout, $location, udfService) {\n var _this = this;\n this.stammdatenService = stammdatenService;\n this.$qui = $qui;\n this.$stateParams = $stateParams;\n this.$scope = $scope;\n this.$state = $state;\n this.lng = lng;\n this.userService = userService;\n this.$location = $location;\n this.allowTableExport = false;\n this.ui = new Stammdaten.DetailUI();\n this.selectedCategoryId = QMC.Common.Constants.GUID_EMPTY;\n this.addressLoading = false;\n //communication\n this.communicationLoading = false;\n this.enableDocuments = false;\n this.udfs = [];\n this.isConnectRegistrationAvailable = false;\n this.id = $stateParams.id;\n switch (this.$location.$$path.split('/')[1]) {\n case 'employee':\n this.parentObjectType = 120000;\n this.objectType = 120012;\n this.documentObjectType = 0;\n break;\n default:\n this.parentObjectType = 140000;\n this.objectType = 140006;\n this.documentObjectType = 140119;\n break;\n }\n this.adrObjectType = this.objectType === 140006 ? 140017 : 120014;\n this.comObjectType = this.objectType === 140006 ? 140028 : 120013;\n permissionService.getPermissionsByObjectTypes([this.objectType, this.adrObjectType, this.comObjectType, this.documentObjectType]).then(function (data) {\n _this.delete = data[0].delete;\n _this.new = data[0].new;\n _this.modify = data[0].modify;\n _this.moduleAccess = data[0].moduleAccess && data[0].view;\n _this.allowTableExport = data[0].print;\n _this.enableDocuments = data[3].moduleAccess;\n $timeout(function () {\n if (!_this.new)\n document.getElementsByName('newModalButton').forEach(function (x) { return x.style.visibility = 'hidden'; });\n else\n document.getElementsByName('newModalButton').forEach(function (x) { return x.style.visibility = 'unset'; });\n });\n for (var _i = 0, data_2 = data; _i < data_2.length; _i++) {\n var permission = data_2[_i];\n if (permission.objectType === _this.adrObjectType) {\n _this.deleteAdr = permission.delete;\n _this.newAdr = permission.new;\n _this.modifyAdr = permission.modify;\n _this.moduleAccessAdr = permission.moduleAccess && permission.view;\n }\n if (permission.objectType === _this.comObjectType) {\n _this.deleteCom = permission.delete;\n _this.newCom = permission.new;\n _this.modifyCom = permission.modify;\n _this.moduleAccessCom = permission.moduleAccess && permission.view;\n }\n }\n _this.userService.getUserSettings([\"KOMMUNIKATION.ENABLE.EMAILSEND\", \"KOMMUNIKATION.ENABLE.TELCALL\", \"KOMMUNIKATION.ENABLE.URLOPEN\"], false).then(function (data) {\n _this.linkSetting = {\n mail: data[0].value.toLowerCase() === 'true',\n tele: data[1].value.toLowerCase() === 'true',\n href: data[2].value.toLowerCase() === 'true'\n };\n _this.getWvList();\n _this.getCategories();\n });\n });\n $qui.init($qui.getSectionColor(\"/stammdaten\"), function () {\n $qui.bindEvents();\n $('.qm-card').unbind('click');\n });\n this.lang = lng;\n this.promptOptions = {\n title: this.lang.translate(20004502, \"Kontaktpersonen löschen\"),\n yesNo: true,\n icon: \"qm-icon-history2\",\n text: this.lang.translate(20000290, \"Wollen Sie den Eintrag wirklich löschen?\")\n };\n var vm = this;\n $(\"#edit-form\").on('hidden.bs.modal', function () {\n _this.$state.go('.', { dataId: undefined }, { reload: false });\n $timeout(function () { return vm.initForm(); });\n $(\"#edit-form\").find('.tab-content').children().removeClass('in').removeClass('active');\n $(\"#edit-form\").find('.tab-content').find('#baseDataTab').addClass('in active');\n });\n udfService.getUserDefinedFields(this.objectType).then(function (data) {\n _this.udfs = data.sort(function (a, b) { return a.caption.localeCompare(b.caption); });\n });\n Promise.all([\n permissionService.isLicenseAvailable('MYNEVA_CONNECT'),\n stammdatenService.isConnectRegistrationAvailable()\n ]).then(function (data) { return _this.isConnectRegistrationAvailable = data.reduce(function (acc, val) { return acc && val; }, true); });\n }\n /////////////// DISPLAY LOGIC ///////////////\n /**\n * init the form with default values\n *\n * @private\n *\n * @memberOf DetailContactPersonController\n */\n DetailContactPersonController.prototype.initForm = function () {\n this.formState = \"new\";\n this.form = {\n id: null,\n objectId: null,\n objectType: this.objectType,\n name: null,\n forename: null,\n birthday: new Date(1990, 1, 1),\n birthplace: null,\n dateFrom: new Date(),\n dateTo: null,\n salutationId: null,\n titleId: null,\n secondTitleId: null,\n contactPersonTypeId: null,\n contactPersonType: '',\n comment: null,\n isContactBan: false,\n parentObjectType: this.parentObjectType,\n isContactBanText: 'Nein'\n };\n this.loading = false;\n this.$qui.functionWaiter(\"ui.createForm\", this);\n };\n DetailContactPersonController.prototype.getData = function () {\n this.getContacts();\n };\n DetailContactPersonController.prototype.createConnectUser = function (row) {\n var _this = this;\n this.stammdatenService.getConnectRegistrationUrl(this.id, row.objectId)\n .then(function (url) { return window.open(url, '_blank'); })\n .catch(function (_) { return _this.$qui.notify({\n message: _this.lng.translate(20003527, \"Das Anlegen eines myneva.connect Benutzers ist nicht möglich. Die Konfiguration ist unvollständig.\"),\n title: _this.lng.translate(20002015, \"Fehler\"),\n icon: \"fa-cloud\",\n status: \"warning\",\n timer: 3500\n }); });\n };\n /////////////// SERVICE FUNCTIONS ///////////////\n /**\n * get the wv list for communication and address\n *\n * @private\n *\n * @memberOf DetailContactPersonController\n */\n DetailContactPersonController.prototype.getWvList = function () {\n var _this = this;\n this.stammdatenService.getContactPersonWvList().then(function (data) {\n _this.wvList = data;\n _this.initForm();\n _this.$qui.functionWaiter(\"createForm\", _this);\n _this.selectedContactPersonStatusId = _this.wvList.contactPersonStatusWvList[0].objectId;\n _this.contactPersonStatusMap = _this.$qui.selectAutoMap(_this.wvList.contactPersonStatusWvList, 'id', 'name');\n _this.$qui.getTableAutoload(_this.userService).then(function (ltd) {\n _this.shouldLoadTableData = ltd;\n if (_this.shouldLoadTableData) {\n _this.getData();\n }\n });\n });\n this.stammdatenService.getCommunicationWv().then(function (data) {\n _this.communicationWv = data;\n });\n this.stammdatenService.getAddressWv().then(function (data) {\n _this.addressWv = data;\n });\n this.$scope.$watch('vm.selectedCategoryId', function (newVal, oldVal) {\n if (newVal === oldVal)\n return;\n _this.getContacts();\n });\n this.$scope.$watch('vm.selectedContactPersonStatusId', function (newVal, oldVal) {\n if (newVal === oldVal)\n return;\n _this.getContacts();\n });\n };\n /**\n * get the contact person type list\n *\n * @private\n * @returns {*}\n *\n * @memberOf DetailContactPersonController\n */\n DetailContactPersonController.prototype.getContactPersonTypeList = function () {\n return this.wvList.contactPersonTypeWvList.map(function (obj) {\n return {\n value: obj.id,\n text: obj.name,\n isFix: obj.isFix,\n };\n });\n };\n /**\n * get the gender wv list\n *\n * @private\n * @returns {ISelectListItem[]}\n *\n * @memberOf DetailContactPersonController\n */\n DetailContactPersonController.prototype.getGenderList = function () {\n return this.wvList.genderWvList.map(function (obj) {\n return {\n value: obj.id,\n text: obj.name,\n isFix: obj.isFix\n };\n });\n };\n /**\n * get the salutaion wv list\n *\n * @private\n * @returns {*}\n *\n * @memberOf DetailContactPersonController\n */\n DetailContactPersonController.prototype.getSalutationList = function () {\n var _this = this;\n if (this.wvList === undefined) {\n return this.stammdatenService.getContactPersonWvList().then(function (data) {\n _this.wvList = data;\n return _this.wvList.salutationWvList.map(function (obj) {\n return {\n value: obj.id,\n text: obj.name,\n isFix: obj.isFix\n };\n });\n });\n }\n else\n return this.wvList.salutationWvList.map(function (obj) {\n return {\n value: obj.id,\n text: obj.name,\n isFix: obj.isFix\n };\n });\n };\n /**\n * get the title wv list\n *\n * @private\n * @returns {*}\n *\n * @memberOf DetailContactPersonController\n */\n DetailContactPersonController.prototype.getTitleList = function () {\n var _this = this;\n if (this.wvList === undefined) {\n return this.stammdatenService.getContactPersonWvList().then(function (data) {\n _this.wvList = data;\n return _this.wvList.titleWvList.map(function (obj) {\n return {\n value: obj.id,\n text: obj.name,\n isFix: obj.isFix\n };\n });\n });\n }\n else\n return this.wvList.titleWvList.map(function (obj) { return ({\n value: obj.id,\n text: obj.name,\n isFix: obj.isFix\n }); });\n };\n DetailContactPersonController.prototype.getSecondTitleList = function () {\n if (!this.wvList)\n return [];\n return this.wvList.secondTitleWvList.map(function (x) { return ({ text: x.name, value: x.objectId }); });\n };\n DetailContactPersonController.prototype.getCategories = function () {\n var _this = this;\n this.stammdatenService.getContactPersonCategories().then(function (data) {\n _this.categoryList = data;\n _this.categoryListMap = _this.$qui.selectAutoMap(data, 'id', 'caption');\n _this.categoryListMap.unshift({ text: _this.lng.translate(20000212, '- Alle -'), value: QMC.Common.Constants.GUID_EMPTY });\n });\n };\n DetailContactPersonController.prototype.setCategoryFilter = function (categoryId) {\n };\n /**\n * get the list of contacts\n *\n * @private\n *\n * @memberOf DetailContactPersonController\n */\n DetailContactPersonController.prototype.getContacts = function () {\n var _this = this;\n this.loading = true;\n this.stammdatenService.getContactPersonList(this.id, this.selectedCategoryId, this.selectedContactPersonStatusId).then(function (data) {\n _this.loading = false;\n // ugly way to catch minDate from DB. this is done to decide if any birthday should be displayed at all\n for (var _i = 0, data_3 = data; _i < data_3.length; _i++) {\n var contact = data_3[_i];\n if (contact.isContactBan) {\n contact.style = { 'background-color': 'orangered', 'color': 'white', 'font-weight': 'bold' };\n }\n if (contact.birthday !== null)\n if (contact.birthday.toString().substr(0, 19) === \"1900-01-01T12:00:00\")\n contact.birthday = null;\n switch (contact.mainCommunicationTypeId) {\n case '930511d9-aa40-4927-b8b0-bbfc2e040de6': // fax\n case '6729f858-ca6d-4efe-8397-376133a2d974': // telephon\n contact.type = _this.linkSetting.tele ? 'tel' : undefined;\n break;\n case 'f25005b8-3a66-4b36-9395-60ce7896f7d6': // website\n contact.type = _this.linkSetting.href ? 'site' : undefined;\n break;\n case '53fd55a0-9efe-41aa-9099-5c3b7b4e972f': // email\n contact.type = _this.linkSetting.mail ? 'mail' : undefined;\n break;\n }\n }\n _this.ui.contactPersonTable.data = data;\n _this.$qui.functionWaiter(\"createTable\", _this);\n if (_this.$stateParams.dataId) {\n var item = data.filter(function (x) { return x.objectId === _this.$stateParams.dataId; })[0];\n if (item) {\n $(\"#edit-form\").modal('show');\n _this.editContact(item);\n }\n }\n });\n };\n /**\n * add a new contact person\n *\n * @private\n * @param {IContactPerson} form\n *\n * @memberOf DetailContactPersonController\n */\n DetailContactPersonController.prototype.addContact = function (form) {\n var _this = this;\n this.loading = true;\n form.parentObjectId = this.id;\n this.stammdatenService.postContactPerson(form).then(function (e) {\n _this.formState = \"new\";\n _this.ui.notify(_this.ui.successNote);\n _this.getContacts();\n $('#edit-form').modal('hide');\n });\n };\n /**\n * put a existing contact person\n *\n * @private\n * @param {IContactPerson} form\n *\n * @memberOf DetailContactPersonController\n */\n DetailContactPersonController.prototype.putContact = function (form) {\n var _this = this;\n this.loading = true;\n this.stammdatenService.putContactPerson(this.id, form.objectId, form).then(function (data) {\n _this.formState = \"new\";\n _this.ui.notify(_this.ui.successNote);\n _this.getContacts();\n $('#edit-form').modal('hide');\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 /**\n * delete a existing contact person\n *\n * @private\n * @param {IContactPerson} data\n *\n * @memberOf DetailContactPersonController\n */\n DetailContactPersonController.prototype.deleteContact = function (item) {\n var _this = this;\n this.promptOptions.title = this.lang.translate(20004502, \"Kontaktpersonen löschen\");\n this.promptOptions.itemText = item.contactPersonType.length > 0\n ? item.name + \", \" + item.forename + \" (\" + item.contactPersonType + \")\"\n : item.name + \", \" + item.forename;\n QMC.Common.Utilities.confirm(this.promptOptions, function (data) {\n if (data) {\n _this.validation = {\n loading: true,\n warnings: [],\n errors: [],\n reference: item\n };\n $('#validationModal').modal('show');\n _this.stammdatenService.validateContactPersonDeletion(item.id, item.objectId).then(function (data) {\n var _a;\n console.log(data);\n _this.validation.errors = data.errors;\n _this.validation.warnings = data.warnings;\n if (!((_a = data.errors) === null || _a === void 0 ? void 0 : _a.length) && !data.warnings.length) {\n _this.performDeletion();\n $('#validationModal').modal('hide');\n }\n }).catch(function () {\n _this.validation.errors = [_this.lng.translate(20000328, 'Die Validierung konnte nicht durchgeführt werden!')];\n }).finally(function () {\n _this.validation.loading = false;\n });\n }\n });\n };\n DetailContactPersonController.prototype.performDeletion = function () {\n var _this = this;\n this.stammdatenService.deleteContactPerson(this.id, this.validation.reference.objectId).then(function (data) {\n _this.ui.notify(_this.ui.deleteNote);\n _this.getContacts();\n });\n };\n /**\n * show the details of an contact person\n *\n * @private\n * @param {IContactPerson} data\n *\n * @memberOf DetailContactPersonController\n */\n DetailContactPersonController.prototype.showDetailContact = function (data) {\n this.currentPerson = data.forename + \" \" + data.name;\n this.formState = \"new\";\n this.showDetail = true;\n this.setupAddress(data.objectId);\n this.setupCommunication(data.objectId);\n };\n /**\n * edit a existing contact person\n *\n * @private\n * @param {IContactPerson} data\n *\n * @memberOf DetailContactPersonController\n */\n DetailContactPersonController.prototype.editContact = function (data) {\n this.formState = \"edit\";\n this.form = angular.copy(data);\n this.form.dateFrom = moment(data.dateFrom).toDate();\n if (this.form.birthday !== null)\n this.form.birthday = moment(data.birthday).toDate();\n if (data.dateTo !== null)\n this.form.dateTo = moment(data.dateTo).toDate();\n this.$qui.waitForEl('#standardTabButton', function () {\n $('#standardTabButton').click();\n });\n this.$state.go('.', { dataId: data.objectId });\n };\n /////////////// ADDRESS FUNCTIONS ///////////////\n /**\n * setup address for a contact person\n *\n * @private\n * @param {Guid} id\n *\n * @memberOf DetailContactPersonController\n */\n DetailContactPersonController.prototype.setupAddress = function (id) {\n this.addressLoading = true;\n this.getAddresses(id);\n this.getAddressWv(id);\n };\n /**\n * init the address form with default values\n *\n * @private\n * @param {Guid} id\n *\n * @memberOf DetailContactPersonController\n */\n DetailContactPersonController.prototype.initAddressForm = function (id) {\n var _this = this;\n this.addressForm = {\n id: null,\n objectId: null,\n objectType: this.adrObjectType,\n parentObjectId: id,\n parentObjectType: this.objectType,\n street: null,\n houseNumber: null,\n addressAddition: null,\n postCode: null,\n city: null,\n dateFrom: new Date(),\n dateTo: null,\n objectIdCountry: QMC.Common.Constants.DEFAULT_COUNTRY_ID,\n objectIdState: null,\n objectIdAddressType: null,\n isMainRecord: true,\n isPostOfficeBox: false,\n isHouseless: false,\n comment: null,\n isDatatransferForbidden: false,\n isEmergency: false\n };\n //this is for a pull request change\n this.createAddressForm();\n setTimeout(function () {\n _this.addressEvents();\n }, 200);\n };\n /**\n * view events for the address form\n *\n * @private\n *\n * @memberOf DetailContactPersonController\n */\n DetailContactPersonController.prototype.addressEvents = function () {\n /**\n * Address Autocomplete\n */\n var vm = this;\n $('#city .typeahead').typeahead({\n minLength: 3,\n source: function (query, process) {\n vm.stammdatenService.getPostCodeByCityList(vm.addressForm.objectIdCountry, query).then(function (data) {\n process(data.map(function (obj) {\n return obj.postCodeAndCity;\n }));\n });\n },\n updater: function (item) {\n var data = item.split('...');\n vm.addressForm.postCode = data[0];\n $('#postCode input').val(data[0]).trigger('change');\n return data[1];\n }\n });\n $('#postCode .typeahead').typeahead({\n minLength: 3,\n source: function (query, process) {\n vm.stammdatenService.getCityByPostCodeList(vm.addressForm.objectIdCountry, query).then(function (data) {\n process(data.map(function (obj) {\n return obj.postCodeAndCity;\n }));\n });\n },\n updater: function (item) {\n var data = item.split('...');\n vm.addressForm.city = data[1];\n $('#city input').val(data[1]).trigger('change');\n return data[0];\n }\n });\n };\n /**\n * get the address wv list\n * @description get the wv list of address.\n * @private\n * @param {any} id\n *\n * @memberOf DetailContactPersonController\n */\n DetailContactPersonController.prototype.getAddressWv = function (id) {\n var _this = this;\n this.stammdatenService.getAddressWv().then(function (data) {\n _this.addressWv = data;\n });\n // call init address form\n this.initAddressForm(id);\n };\n /**\n * Get the State list, by country id\n * @description get the state list\n * @private\n * @param {any} id\n *\n * @memberOf DetailContactPersonController\n */\n DetailContactPersonController.prototype.getStates = function () {\n var _this = this;\n this.stateList = null;\n this.stammdatenService.getStatesWv(this.addressForm.objectIdCountry).then(function (data) {\n _this.stateList = data.map(function (obj) {\n return {\n id: obj.id,\n text: obj.caption\n };\n });\n if (_this.stateList.length < 1) {\n _this.stateList = null;\n _this.addressForm.objectIdState = null;\n }\n });\n };\n /**\n * get the address type list\n * @description get the addres type list\n * @private\n * @returns {ng.IPromise}\n *\n * @memberOf DetailContactPersonController\n */\n DetailContactPersonController.prototype.getAdressTypeList = function () {\n return this.stammdatenService.getAddressWv().then(function (data) {\n return data.addressTypeWvList.map(function (obj) {\n return {\n value: obj.objectId,\n text: obj.name\n };\n });\n });\n };\n /**\n * get the country wv list\n *\n * @private\n * @returns {ng.IPromise}\n *\n * @memberOf DetailContactPersonController\n */\n DetailContactPersonController.prototype.getCountryList = function () {\n var _this = this;\n return this.stammdatenService.getAddressWv().then(function (data) {\n return _this.ui.select(data.countriesWvList, { value: \"objectId\", text: \"name\" });\n });\n };\n /**\n * get the state list by country id\n *\n * @private\n * @param {Guid} id\n * @returns {ng.IPromise}\n *\n * @memberOf DetailContactPersonController\n */\n DetailContactPersonController.prototype.getStatesList = function (id) {\n var _this = this;\n //Use the id from form as hotfix, since the provided id is always undefined\n //return this.stammdatenService.getStatesWv(id).then((data: IStatesWv[]) => {\n return this.stammdatenService.getStatesWv(this.addressForm.objectIdCountry).then(function (data) {\n return _this.ui.select(data, { value: \"id\", text: \"caption\" });\n });\n };\n /**\n * create a empty address form\n *\n * @private\n * @param {ICommunication} data\n *\n * @memberOf DetailContactPersonController\n */\n DetailContactPersonController.prototype.newAddress = function (data) {\n this.initAddressForm(data.objectId);\n };\n /**\n * add a new address\n *\n * @private\n * @param {IAddress} form\n *\n * @memberOf DetailContactPersonController\n */\n DetailContactPersonController.prototype.addAddress = function (form) {\n var _this = this;\n this.stammdatenService.postAddress(form).then(function (e) {\n _this.getAddresses(form.parentObjectId);\n _this.ui.notify(_this.ui.successNote, 'Ihre Adresse wurde gespeichert');\n _this.formState = \"new\";\n });\n };\n /**\n * delete an existing address\n *\n * @private\n * @param {IAddress} form\n *\n * @memberOf DetailContactPersonController\n */\n DetailContactPersonController.prototype.deleteAdress = function (form) {\n var _this = this;\n this.promptOptions.title = this.lang.translate(20003503, \"Addresse löschen\");\n QMC.Common.Utilities.confirm(this.promptOptions, function (data) {\n if (data)\n _this.stammdatenService.deleteAddress(form.parentObjectId, form.objectId).then(function (data) {\n _this.getAddresses(form.parentObjectId);\n _this.ui.notify(_this.ui.deleteNote);\n _this.formState = \"new\";\n });\n });\n };\n /**\n * edit an existing address\n *\n * @private\n * @param {IAddress} address\n *\n * @memberOf DetailContactPersonController\n */\n DetailContactPersonController.prototype.editAdress = function (address) {\n this.addressForm = angular.copy(address);\n this.formState = \"edit\";\n this.addressForm.dateFrom = moment(address.dateFrom).toDate();\n if (this.addressForm.dateTo !== null)\n this.addressForm.dateTo = moment(address.dateTo).toDate();\n };\n /**\n * put a existing address\n *\n * @private\n * @param {IAddress} form\n *\n * @memberOf DetailContactPersonController\n */\n DetailContactPersonController.prototype.putAddress = function (form) {\n var _this = this;\n this.stammdatenService.putAddress(form.parentObjectId, form.objectId, form).then(function (data) {\n _this.getAddresses(form.parentObjectId);\n _this.ui.notify(_this.ui.successNote);\n _this.formState = \"new\";\n });\n };\n /**\n * get the list of addresses for a contact person\n *\n * @private\n * @param {Guid} id\n *\n * @memberOf DetailContactPersonController\n */\n DetailContactPersonController.prototype.getAddresses = function (id) {\n var _this = this;\n this.stammdatenService.getAddressList(id).then(function (data) {\n data = data.map(function (obj) {\n if (obj.isDatatransferForbidden)\n obj.style = { 'background-color': 'orangered', 'color': 'white', 'font-weight': 'bold' };\n return obj;\n });\n _this.ui.contactPersonAddressTable.data = data;\n _this.createAddressTable();\n _this.getData(); //Daten (Kontakte) müssen auch geholt werden, auch wenn Adressen (noch) nicht in der Table angezeigt werden\n _this.addressLoading = false;\n });\n };\n /////////////// COMMUNICATION FUNCTIONS ///////////////\n /**\n * get the list of communications for a contact person\n *\n * @private\n * @param {Guid} id\n *\n * @memberOf DetailContactPersonController\n */\n DetailContactPersonController.prototype.getCommunications = function (id) {\n var _this = this;\n this.stammdatenService.getCommunicationList(id).then(function (data) {\n data = data.map(function (obj) {\n if (obj.isDatatransferForbidden)\n obj.style = { 'background-color': 'orangered', 'color': 'white', 'font-weight': 'bold' };\n switch (obj.communicationTypeId) {\n case '930511d9-aa40-4927-b8b0-bbfc2e040de6': // fax\n case '6729f858-ca6d-4efe-8397-376133a2d974': // telephon\n obj.type = _this.linkSetting.tele ? 'tel' : undefined;\n break;\n case 'f25005b8-3a66-4b36-9395-60ce7896f7d6': // website\n obj.type = _this.linkSetting.href ? 'site' : undefined;\n break;\n case '53fd55a0-9efe-41aa-9099-5c3b7b4e972f': // email\n obj.type = _this.linkSetting.mail ? 'mail' : undefined;\n break;\n }\n return obj;\n });\n _this.ui.contactpersonCommunicationTable.data = data;\n _this.createCommunicationTable();\n _this.getData(); //Daten (Kontakte) müssen neu geladen werden\n _this.communicationLoading = false;\n });\n };\n /**\n * get the communication type list\n *\n * @private\n * @returns {ng.IPromise}\n *\n * @memberOf DetailContactPersonController\n */\n DetailContactPersonController.prototype.getCommunicationTypeList = function () {\n var _this = this;\n return this.stammdatenService.getCommunicationWv().then(function (data) {\n _this.communicationWv = data;\n return _this.communicationWv.communicationTypeWvList.map(function (obj) {\n return {\n value: obj.objectId,\n text: obj.name,\n isFix: obj.isFix\n };\n });\n });\n };\n /**\n * get the communication category wv list\n *\n * @private\n * @param {Guid} id\n * @returns {QMC.Common.ISelectItem[]}\n *\n * @memberOf DetailContactPersonController\n */\n DetailContactPersonController.prototype.getCommunicationCategoryList = function (id) {\n var _a, _b;\n if (this.communicationWv === undefined)\n return null;\n for (var _i = 0, _c = this.communicationWv.communicationTypeWvList; _i < _c.length; _i++) {\n var wv = _c[_i];\n if (wv.id === this.communicationForm.communicationTypeId) {\n console.log(\"id\", wv.id);\n this.communicationForm.communicationTypeName = wv.name.charAt(0).toLowerCase() + wv.name.slice(1);\n break;\n }\n }\n if (((_a = this.communicationForm.communicationTypeName) === null || _a === void 0 ? void 0 : _a.length) && this.communicationWv) {\n return (_b = this.communicationWv.communicationCategoryWvList[this.communicationForm.communicationTypeName]) === null || _b === void 0 ? void 0 : _b.map(function (obj) {\n return {\n value: obj.id,\n text: obj.name,\n isFix: obj.isFix\n };\n });\n }\n };\n /**\n * set up a new communication form\n *\n * @private\n * @param {Guid} id\n *\n * @memberOf DetailContactPersonController\n */\n DetailContactPersonController.prototype.setupCommunication = function (id) {\n this.getCommunications(id);\n this.getCommunicationWv(id);\n };\n /**\n * get the communication wv list\n *\n * @private\n * @param {Guid} id\n *\n * @memberOf DetailContactPersonController\n */\n DetailContactPersonController.prototype.getCommunicationWv = function (id) {\n var _this = this;\n this.stammdatenService.getCommunicationWv().then(function (data) {\n //window.scrollTo(0, document.body.scrollHeight);\n var element = $(\"#scrollTarget\");\n $(\"html, body\").animate({ scrollTop: $(\"#scrollTarget\").last().offset().top }, 1000);\n _this.communicationWv = data;\n _this.initCommunicationForm(id);\n });\n };\n /**\n * init the communication form with default values\n *\n * @private\n * @param {Guid} id\n *\n * @memberOf DetailContactPersonController\n */\n DetailContactPersonController.prototype.initCommunicationForm = function (id) {\n this.communicationForm = {\n id: null,\n objectId: null,\n objectType: this.comObjectType,\n parentObjectId: id,\n parentObjectType: this.objectType,\n dateFrom: null,\n dateTo: null,\n targetAddress: null,\n isMainRecord: true,\n isTypeMain: true,\n communicationCategoryId: null,\n communicationTypeId: \"53fd55a0-9efe-41aa-9099-5c3b7b4e972f\",\n communicationTypeName: null,\n comment: null,\n countryCode: null,\n areaCode: null,\n displayAddress: '',\n isDatatransferForbidden: false\n };\n this.createCommunicationForm();\n };\n /**\n * init a new communication form\n *\n * @private\n * @param {ICommunicationWv} data\n *\n * @memberOf DetailContactPersonController\n */\n DetailContactPersonController.prototype.newCommunication = function (data) {\n this.initCommunicationForm(data.objectId);\n };\n /**\n * add a new communication\n *\n * @private\n * @param {ICommunication} form\n *\n * @memberOf DetailContactPersonController\n */\n DetailContactPersonController.prototype.addCommunication = function (form) {\n var _this = this;\n this.stammdatenService.postCommunication(this.communicationForm).then(function (data) {\n _this.getCommunications(form.parentObjectId);\n _this.ui.notify(_this.ui.successNote, _this.lng.translate(20000291, 'Der Eintrag wurde gespeichert.'));\n _this.formState = \"new\";\n });\n };\n /**\n * delete a existing communication\n *\n * @private\n * @param {ICommunication} data\n *\n * @memberOf DetailContactPersonController\n */\n DetailContactPersonController.prototype.deleteCommunication = function (datas) {\n var _this = this;\n this.promptOptions.title = this.lang.translate(20005503, \"Kommunikation löschen\");\n QMC.Common.Utilities.confirm(this.promptOptions, function (data) {\n if (data)\n _this.stammdatenService.deleteCommunication(datas.parentObjectId, datas.objectId).then(function (data) {\n _this.getCommunications(datas.parentObjectId);\n _this.ui.notify(_this.ui.deleteNote);\n _this.formState = \"new\";\n });\n });\n };\n /**\n * edit a existing communication\n *\n * @private\n * @param {ICommunication} data\n *\n * @memberOf DetailContactPersonController\n */\n DetailContactPersonController.prototype.editCommunication = function (data) {\n this.formState = \"edit\";\n this.communicationForm = angular.copy(data);\n };\n /**\n * put a existing communication\n *\n * @private\n * @param {ICommunication} form\n *\n * @memberOf DetailContactPersonController\n */\n DetailContactPersonController.prototype.putCommunication = function (form) {\n var _this = this;\n this.stammdatenService.putCommunication(form.parentObjectId, form.objectId, form).then(function (data) {\n _this.getCommunications(form.parentObjectId);\n _this.ui.notify(_this.ui.successNote);\n _this.formState = \"new\";\n });\n };\n DetailContactPersonController = __decorate([\n QMC.Controller('QMC.Stammdaten', 'DetailContactPersonController'),\n QMC.Inject('StammdatenService', '$qui', '$stateParams', '$scope', '$state', 'QmcLanguageService', 'QmcPermissionService', 'UserService', '$timeout', '$location', 'QmcUdfService')\n ], DetailContactPersonController);\n return DetailContactPersonController;\n }());\n })(Stammdaten = QMC.Stammdaten || (QMC.Stammdaten = {}));\n})(QMC || (QMC = {}));\nvar QMC;\n(function (QMC) {\n var Stammdaten;\n (function (Stammdaten) {\n var DetailCoverController = /** @class */ (function () {\n /**\n * Creates an instance of DetailNoteController.\n * @param {StammdatenService} stammdatenService\n * @param {any} $qui\n * @param {any} $state\n * @param {any} $stateParams\n * @param {any} $scope\n *\n * @memberOf DetailCoverController\n */\n function DetailCoverController($qui, $stateParams, $scope, lng, reportingService, userService, $location) {\n var _this = this;\n this.$qui = $qui;\n this.$scope = $scope;\n this.lng = lng;\n this.reportingService = reportingService;\n this.userService = userService;\n this.$location = $location;\n this.loading = {\n report: false\n };\n this.coverCacheName = QMC.Common.LocalStorageConstants.CLIENT_COVER + $('#session').data().userId;\n this.invalidCover = false;\n this.clientCoverReportTemplates = [];\n this.clientCoverReportTemplatesMap = [];\n this.clientCoverTemplate = QMC.Common.Constants.GUID_EMPTY;\n this.id = $stateParams.id;\n this.$qui.waitForEl('#newModalButton', function () {\n document.getElementsByName('newModalButton').forEach(function (x) { return x.style.visibility = 'hidden'; });\n });\n switch (this.$location.$$path.split('/')[1]) {\n case 'employee':\n this.objectType = 120000;\n this.coverCacheName = 'EmployeeCover';\n break;\n default:\n this.objectType = 140000;\n this.coverCacheName = QMC.Common.LocalStorageConstants.CLIENT_COVER;\n break;\n }\n this.userService.getCoverReportTemplates(this.objectType).then(function (list) {\n for (var _i = 0, list_1 = list; _i < list_1.length; _i++) {\n var item = list_1[_i];\n var reportItem = {\n id: item.id,\n objectId: item.objectId,\n name: item.name,\n reportType: item.reportType,\n reportTypeName: _this.getReportTypeCaption(item.reportType)\n };\n _this.clientCoverReportTemplates.push(reportItem);\n }\n _this.clientCoverReportTemplatesMap = _this.clientCoverReportTemplates.map(function (x) { return { text: x.name, value: x.objectId, group: _this.getReportTypeCaption(x.reportType) }; });\n if (_this.clientCoverReportTemplatesMap.length === 1)\n _this.clientCoverTemplate = _this.clientCoverReportTemplatesMap[0].value;\n var cache = localStorage.getItem(_this.coverCacheName);\n if (cache && cache !== null && cache !== undefined) {\n var parsedCache = JSON.parse(cache);\n if (parsedCache.reference === _this.id && moment(parsedCache.timestamp).isAfter(moment().subtract(5, 'minutes'))) {\n _this.setReportFromResult(parsedCache, parsedCache.reportType);\n }\n _this.clientCoverTemplate = parsedCache.reportTemplateId;\n if (!_this.clientCoverReportTemplatesMap.some(function (x) { return x.value === _this.clientCoverTemplate; }))\n _this.getReportIdAndExecute();\n else\n _this.generateReport(_this.clientCoverTemplate);\n }\n else {\n _this.getReportIdAndExecute();\n }\n _this.$scope.$watch('vm.clientCoverTemplate', function (newVal, oldVal) {\n if (newVal !== oldVal && newVal && newVal !== QMC.Common.Constants.GUID_EMPTY) {\n _this.generateReport(_this.clientCoverTemplate);\n }\n });\n });\n $qui.init(undefined, function () {\n $qui.bindEvents();\n $('.qm-card').unbind('click');\n });\n this.pdfCallbackButton = {\n icon: 'qm-icon-arrow_circle',\n label: this.lng.translate(20000241, 'Aktualisieren')\n };\n }\n DetailCoverController.prototype.getReportTypeCaption = function (reportType) {\n switch (reportType) {\n case 7000:\n return this.lng.translate(20015036, 'Vorlage');\n case 3000:\n return this.lng.translate(20015038, 'Tabellenkalkulation');\n default:\n return '';\n }\n };\n DetailCoverController.prototype.getReportIdAndExecute = function () {\n var _this = this;\n this.userService.getUserSettings([\"FRADECKBLATT.\" + this.objectType + \".REPORTID\"], false).then(function (data) {\n _this.clientCoverTemplate = (data[0].value && data[0].value.length > 0 && data[0].value !== QMC.Common.Constants.GUID_EMPTY) ? data[0].value : _this.clientCoverTemplate;\n var report = _this.GetReportDataFromList(_this.clientCoverTemplate, _this.clientCoverReportTemplates);\n if (!report) {\n if (_this.clientCoverReportTemplatesMap.length)\n _this.clientCoverTemplate = _this.clientCoverReportTemplatesMap[0].value;\n else\n _this.invalidCover = _this.clientCoverTemplate !== QMC.Common.Constants.GUID_EMPTY;\n return;\n }\n _this.invalidCover = false;\n _this.generateReport(_this.clientCoverTemplate, report.reportType);\n });\n };\n DetailCoverController.prototype.GetReportDataFromList = function (id, list) {\n for (var _i = 0, list_2 = list; _i < list_2.length; _i++) {\n var item = list_2[_i];\n if (item.id === id || item.objectId === id)\n return item;\n }\n return null;\n };\n DetailCoverController.prototype.reload = function () {\n this.generateReport(this.clientCoverTemplate);\n this.base64Data = undefined;\n };\n DetailCoverController.prototype.disableReload = function () {\n return !this.clientCoverTemplate || this.clientCoverTemplate === QMC.Common.Constants.GUID_EMPTY;\n };\n DetailCoverController.prototype.generateReport = function (reportTemplateId, reportType) {\n var _this = this;\n if (reportType === void 0) { reportType = -1; }\n if (!this.clientCoverReportTemplates || this.clientCoverReportTemplates.length === 0 || !reportTemplateId || reportTemplateId === QMC.Common.Constants.GUID_EMPTY)\n return;\n this.invalidCover = false;\n this.loading.report = true;\n var reportForId = this.clientCoverReportTemplates.filter(function (reportItem) { return reportItem.objectId === reportTemplateId; });\n var postItem = {\n reportObjectId: reportTemplateId,\n serverJobObjectId: this.$qui.generateGuid(),\n reportType: reportType === -1 ? reportForId[0].reportType : reportType,\n parameters: [],\n isCancelled: false,\n detailParentId: this.id\n };\n this.reportingService.postReportJob(postItem).then(function (id) {\n _this.getFinishedReportFile(id, postItem.reportType, reportTemplateId);\n }).catch(function () {\n _this.invalidCover = true;\n _this.loading.report = false;\n _this.base64Data = undefined;\n });\n };\n DetailCoverController.prototype.getFinishedReportFile = function (id, reportType, templateId) {\n var _this = this;\n this.fileName = this.lng.translate(21002031, 'Deckblatt');\n this.reportId = id;\n this.reportingService.getFinishedReportBase64(id, reportType, this.fileName).then(function (data) {\n _this.setReportFromResult(data, reportType);\n data.reference = _this.id;\n data.reportType = reportType;\n data.reportTemplateId = templateId;\n data.timestamp = moment();\n localStorage.setItem(_this.coverCacheName, JSON.stringify(data));\n }).catch(function () {\n _this.invalidCover = true;\n _this.base64Data = undefined;\n }).finally(function () {\n _this.loading.report = false;\n _this.$qui.scopeApply();\n });\n };\n DetailCoverController.prototype.setReportFromResult = function (data, reportType) {\n var _this = this;\n this.loading.report = false;\n this.reportType = reportType;\n this.base64Data = data.base64;\n if (reportType === 7000) {\n this.fileType = 'pdf';\n }\n if (reportType === 3000) {\n this.fileType = 'excel';\n }\n this.$qui.waitForEl('#infoContent', function () {\n _this.$qui.waitForEl('#infoToggler', function () {\n if (document.getElementById('infoContent').style.display !== 'none')\n document.getElementById('infoToggler').click();\n });\n });\n };\n DetailCoverController = __decorate([\n QMC.Controller('QMC.Stammdaten', 'DetailCoverController'),\n QMC.Inject('$qui', '$stateParams', '$scope', \"QmcLanguageService\", 'ReportingService', 'UserService', '$location')\n ], DetailCoverController);\n return DetailCoverController;\n }());\n })(Stammdaten = QMC.Stammdaten || (QMC.Stammdaten = {}));\n})(QMC || (QMC = {}));\nvar QMC;\n(function (QMC) {\n var Stammdaten;\n (function (Stammdaten) {\n var DetailNoteController = /** @class */ (function () {\n /**\n * Creates an instance of DetailNoteController.\n * @param {StammdatenService} stammdatenService\n * @param {any} $qui\n * @param {Klient.KlientService} clientService\n * @param {any} $state\n * @param {any} $stateParams\n * @param {any} $scope\n * @param {Common.QmcPermissionService} permissionService\n *\n * @memberOf DetailNoteController\n */\n function DetailNoteController(stammdatenService, $qui, clientService, $state, $stateParams, permissionService) {\n var _this = this;\n this.stammdatenService = stammdatenService;\n this.$qui = $qui;\n this.clientService = clientService;\n this.$state = $state;\n // Permissions\n this.ui = new QMC.Stammdaten.DetailUI();\n this.loading = true;\n this.parentObjectId = $stateParams.id;\n this.$qui.waitForEl('#newModalButton', function () {\n document.getElementsByName('newModalButton').forEach(function (x) { return x.style.visibility = 'hidden'; });\n });\n this.stammdatenService.getNote(this.parentObjectId).then(function (data) {\n permissionService.getPermissionsForDataset(_this.parentObjectId, null).then(function (data) {\n _this.delete = data[0].delete;\n _this.new = data[0].new;\n _this.modify = data[0].modify;\n _this.moduleAccess = data[0].moduleAccess;\n });\n _this.text = data.text;\n _this.loading = false;\n });\n }\n /**\n * update the client node\n *\n * @private\n *\n * @memberOf DetailNoteController\n */\n DetailNoteController.prototype.updateNote = function () {\n var _this = this;\n var data = {\n parentObjectId: this.parentObjectId,\n text: this.text,\n permission: null\n };\n this.stammdatenService.putNote(this.parentObjectId, data).then(function (data) {\n _this.ui.notify(_this.ui.successNote);\n });\n };\n DetailNoteController = __decorate([\n QMC.Controller('QMC.Stammdaten', 'DetailNoteController'),\n QMC.Inject('StammdatenService', '$qui', 'KlientService', '$state', '$stateParams', 'QmcPermissionService')\n ], DetailNoteController);\n return DetailNoteController;\n }());\n })(Stammdaten = QMC.Stammdaten || (QMC.Stammdaten = {}));\n})(QMC || (QMC = {}));\nvar QMC;\n(function (QMC) {\n var Stammdaten;\n (function (Stammdaten) {\n var DetailVaccinationController = /** @class */ (function () {\n /**\n * Creates an instance of DetailVaccinationController.\n *\n * @memberOf DetailVaccinationController\n */\n function DetailVaccinationController(stammdatenService, $qui, $stateParams, $scope, $state, lng, permissionService, userService, $timeout, $location, udfService) {\n var _this = this;\n this.stammdatenService = stammdatenService;\n this.$qui = $qui;\n this.$stateParams = $stateParams;\n this.$scope = $scope;\n this.$state = $state;\n this.lng = lng;\n this.userService = userService;\n this.$location = $location;\n this.allowTableExport = false;\n this.ui = new QMC.Stammdaten.DetailUI();\n this.formState = \"new\";\n this.enableDocuments = false;\n this.udfs = [];\n $scope.Model = $scope.Model || { Name: 'xxx' };\n this.id = $stateParams.id;\n switch (this.$location.$$path.split('/')[1]) {\n case 'employee':\n this.parentobjectType = 120000;\n this.objectType = 120046;\n this.documentObjectType = 0; // not impl., no objectType\n break;\n default:\n this.parentobjectType = 140000;\n this.objectType = 140005;\n this.documentObjectType = 140114;\n break;\n }\n this.permissionLoading = true;\n this.doctorsAndMedicalOrganisations = [];\n permissionService.getPermissionsByObjectTypes([this.objectType, this.documentObjectType]).then(function (data) {\n _this.delete = data[0].delete;\n _this.new = data[0].new;\n _this.modify = data[0].modify;\n _this.moduleAccess = data[0].moduleAccess && data[0].view;\n _this.allowTableExport = data[0].print;\n _this.enableDocuments = data[1].moduleAccess;\n $timeout(function () {\n if (!_this.new)\n document.getElementsByName('newModalButton').forEach(function (x) { return x.style.visibility = 'hidden'; });\n else\n document.getElementsByName('newModalButton').forEach(function (x) { return x.style.visibility = 'unset'; });\n });\n _this.initForm();\n _this.$qui.getTableAutoload(_this.userService).then(function (ltd) {\n _this.shouldLoadTableData = ltd;\n if (_this.shouldLoadTableData) {\n _this.getData();\n }\n });\n _this.permissionLoading = false;\n });\n //$qui.init('stammdaten', () => {\n $qui.init($qui.getSectionColor(\"/stammdaten\"), function () {\n $qui.bindEvents();\n $('.qm-card').unbind('click');\n });\n this.lang = lng;\n this.promptOptions = {\n title: \"Impfung\",\n yesNo: true,\n icon: \"qm-icon-history2\",\n text: this.lang.translate(20000290, \"Wollen Sie den Eintrag wirklich löschen?\")\n };\n var vm = this;\n $(\"#edit-form\").on('hidden.bs.modal', function () {\n _this.$state.go('.', { dataId: undefined }, { reload: false });\n $timeout(function () { return vm.initForm(); });\n $(\"#edit-form\").find('.tab-content').children().removeClass('in').removeClass('active');\n $(\"#edit-form\").find('.tab-content').find('#baseDataTab').addClass('in active');\n });\n udfService.getUserDefinedFields(this.objectType).then(function (data) {\n _this.udfs = data.sort(function (a, b) { return a.caption.localeCompare(b.caption); });\n });\n }\n DetailVaccinationController.prototype.getData = function () {\n this.getVaccinations();\n };\n /////////////// DISPLAY LOGIC ///////////////\n /**\n * init a new form with default values\n *\n * @private\n *\n * @memberOf DetailVaccinationController\n */\n DetailVaccinationController.prototype.initForm = function () {\n this.formState = \"new\";\n this.form = {\n id: null,\n objectId: null,\n parentObjectId: this.id,\n date: new Date(),\n dateFollowupAppointment: null,\n caption: null,\n comment: null,\n batchNumber: null,\n diseaseId: null,\n doctorId: null,\n parentObjectType: this.parentobjectType,\n objectType: this.objectType\n };\n this.$qui.functionWaiter(\"ui.createForm\", this);\n };\n /////////////// SERVICE FUNCTIONS ///////////////\n /**\n * get a list of vaccinations\n *\n * @private\n *\n * @memberOf DetailVaccinationController\n */\n DetailVaccinationController.prototype.getVaccinations = function () {\n var _this = this;\n this.loading = true;\n this.stammdatenService.getVaccinationList(this.id).then(function (data) {\n _this.ui.vaccinationTable.data = data;\n _this.$qui.functionWaiter(\"ui.createTable\", _this);\n _this.loading = false;\n if (_this.$stateParams.dataId) {\n var item = data.filter(function (x) { return x.objectId === _this.$stateParams.dataId; })[0];\n if (item) {\n _this.$qui.waitForEl('#edit-form', function () {\n $(\"#edit-form\").modal('show');\n });\n _this.editVaccination(item);\n }\n }\n });\n };\n DetailVaccinationController.prototype.getDoctorsAndMedicalOrg = function () {\n var _this = this;\n return this.stammdatenService.getDoctorList().then(function (dataDoctors) {\n dataDoctors.forEach(function (doctor) {\n _this.doctorsAndMedicalOrganisations.push(doctor);\n });\n return _this.stammdatenService.getMedicalOrganisationList().then(function (dataMedicalOrg) {\n var result = _this.doctorsAndMedicalOrganisations.map(function (x) { return { text: x.displayTitle, value: x.id, group: _this.lng.translate(20010508, 'Arzt') }; });\n result = result.concat(dataMedicalOrg.map(function (x) { return { text: x.displayTitle, value: x.id, group: _this.lng.translate(20023005, 'Medizinische Organisation') }; }));\n return result;\n });\n });\n };\n DetailVaccinationController.prototype.getDiseases = function () {\n var _this = this;\n return this.stammdatenService.getVaccinationWv().then(function (data) {\n _this.dieseasesWv = data.diseaseVaccinationWvList;\n return _this.ui.select(data.diseaseVaccinationWvList, { value: 'id', text: 'name' });\n });\n };\n /**\n * add a new vaccination\n *\n * @private\n *\n * @memberOf DetailVaccinationController\n */\n DetailVaccinationController.prototype.addVaccination = function (form) {\n var _this = this;\n form.parentObjectId = this.id;\n this.stammdatenService.postVaccination(form).then(function (e) {\n _this.formState = \"new\";\n _this.ui.notify(_this.ui.successNote);\n _this.getVaccinations();\n $('#edit-form').modal('hide');\n });\n };\n /**\n * delete a existing vaccination\n *\n * @private\n * @param {IVaccination} data\n *\n * @memberOf DetailVaccinationController\n */\n DetailVaccinationController.prototype.deleteVaccination = function (item) {\n var _this = this;\n this.loading = true;\n this.promptOptions.itemText = moment(item.date).format(\"DD.MM.YYYY\") + \" \" + item.diseaseName;\n QMC.Common.Utilities.confirm(this.promptOptions, function (data) {\n if (data)\n _this.stammdatenService.deleteVaccination(_this.id, item.objectId).then(function (data) {\n _this.ui.notify(_this.ui.deleteNote);\n _this.formState = \"new\";\n _this.getVaccinations();\n $('#edit-form').modal('hide');\n });\n });\n };\n /**\n * edit a existing vaccination\n *\n * @private\n * @param {IVaccination} data\n *\n * @memberOf DetailVaccinationController\n */\n DetailVaccinationController.prototype.editVaccination = function (data) {\n this.form = angular.copy(data);\n this.formState = \"edit\";\n this.form.date = moment(data.date).toDate();\n if (this.form.dateFollowupAppointment !== null) {\n this.form.dateFollowupAppointment = moment(data.dateFollowupAppointment).toDate();\n }\n this.$qui.waitForEl('#standardTabButton', function () {\n $('#standardTabButton').click();\n });\n this.$state.go('.', { dataId: data.objectId });\n };\n DetailVaccinationController.prototype.putVaccination = function (form) {\n var _this = this;\n this.loading = true;\n this.stammdatenService.putVaccination(this.form.parentObjectId, this.form.objectId, form).then(function (data) {\n _this.ui.notify(_this.ui.successNote);\n _this.formState = \"new\";\n $('#edit-form').modal('hide');\n }).finally(function () { return _this.getVaccinations(); });\n this.udfs.forEach(function (x) { var _a; return (_a = x.save) === null || _a === void 0 ? void 0 : _a.call(x, false); });\n };\n DetailVaccinationController = __decorate([\n QMC.Controller('QMC.Stammdaten', 'DetailVaccinationController'),\n QMC.Inject('StammdatenService', '$qui', '$stateParams', '$scope', '$state', 'QmcLanguageService', 'QmcPermissionService', 'UserService', '$timeout', '$location', 'QmcUdfService')\n ], DetailVaccinationController);\n return DetailVaccinationController;\n }());\n })(Stammdaten = QMC.Stammdaten || (QMC.Stammdaten = {}));\n})(QMC || (QMC = {}));\nvar QMC;\n(function (QMC) {\n var Stammdaten;\n (function (Stammdaten) {\n var DetailHobbyController = /** @class */ (function () {\n /**\n * Creates an instance of DetailHobbyController.\n *\n * @memberOf DetailHobbyController\n */\n function DetailHobbyController(stammdatenService, $qui, clientService, $stateParams, $scope, lng, permissionService, userService, $timeout, udfService) {\n var _this = this;\n this.stammdatenService = stammdatenService;\n this.$qui = $qui;\n this.clientService = clientService;\n this.$scope = $scope;\n this.lng = lng;\n this.userService = userService;\n this.allowTableExport = false;\n this.ui = new QMC.Stammdaten.DetailUI();\n this.formState = \"new\";\n this.objectType = 140054;\n this.udfs = [];\n $scope.Model = $scope.Model || { Name: 'xxx' };\n this.id = $stateParams.id;\n this.permissionLoading = true;\n permissionService.getPermissionsByObjectType(this.objectType).then(function (data) {\n _this.delete = data[0].delete;\n _this.new = data[0].new;\n _this.modify = data[0].modify;\n _this.moduleAccess = data[0].moduleAccess && data[0].view;\n _this.allowTableExport = data[0].print;\n _this.$qui.waitForEl('#newModalButton', function () {\n if (!_this.new)\n document.getElementsByName('newModalButton').forEach(function (x) { return x.style.visibility = 'hidden'; });\n else\n document.getElementsByName('newModalButton').forEach(function (x) { return x.style.visibility = 'unset'; });\n });\n _this.societyList = null;\n _this.contactPersonList = null;\n _this.getWvList();\n _this.$qui.getTableAutoload(_this.userService).then(function (ltd) {\n _this.shouldLoadTableData = ltd;\n if (_this.shouldLoadTableData) {\n _this.getData();\n }\n });\n _this.permissionLoading = false;\n });\n //$qui.init('stammdaten', () => {\n $qui.init($qui.getSectionColor(\"/stammdaten\"), function () {\n $qui.bindEvents();\n $('.qm-card').unbind('click');\n });\n this.promptOptions = {\n title: \"Hobby\",\n yesNo: true,\n icon: \"qm-icon-soccer_ball\",\n text: this.lng.translate(20000290, \"Wollen Sie den Eintrag wirklich löschen?\")\n };\n this.$scope.$watch('vm.form.typeId', function (newVal, oldVal) {\n if (newVal === oldVal)\n return;\n _this.form.isHobbyDisabled = !newVal || newVal === QMC.Common.Constants.GUID_EMPTY;\n });\n $(\"#edit-form\").on('hidden.bs.modal', function () {\n $timeout(function () { return $scope.vm.initForm(); });\n $(\"#edit-form\").find('.tab-content').children().removeClass('in').removeClass('active');\n $(\"#edit-form\").find('.tab-content').find('#baseDataTab').addClass('in active');\n });\n udfService.getUserDefinedFields(this.objectType).then(function (data) {\n _this.udfs = data.sort(function (a, b) { return a.caption.localeCompare(b.caption); });\n });\n }\n DetailHobbyController.prototype.getData = function () {\n this.getHobbies();\n };\n /////////////// DISPLAY LOGIC ///////////////\n /**\n * init a new form with default values\n *\n * @private\n *\n * @memberOf DetailHobbyController\n */\n DetailHobbyController.prototype.initForm = function () {\n this.formState = \"new\";\n this.form = {\n id: null,\n objectId: null,\n validFrom: new Date(),\n validTo: null,\n typeId: QMC.Common.Constants.GUID_EMPTY,\n subTypeId: QMC.Common.Constants.GUID_EMPTY,\n societyId: QMC.Common.Constants.GUID_EMPTY,\n caption: '',\n comment: '',\n contactPersonId: QMC.Common.Constants.GUID_EMPTY,\n parentObjectId: this.id,\n membershipNo: ''\n };\n };\n /////////////// SERVICE FUNCTIONS ///////////////\n /**\n * get a list of hobbies\n *\n * @private\n *\n * @memberOf DetailHobbyController\n */\n DetailHobbyController.prototype.getHobbies = function () {\n var _this = this;\n this.loading = true;\n this.stammdatenService.getHobbyList(this.id).then(function (data) {\n _this.ui.hobbyTable.data = data;\n _this.$qui.functionWaiter(\"ui.createTable\", _this);\n _this.loading = false;\n });\n };\n DetailHobbyController.prototype.getAdditionalInfos = function () {\n var _this = this;\n this.stammdatenService.getSocietyListItem().then(function (dataSociety) {\n _this.societyList = dataSociety;\n return _this.clientService.getContactPersonListOfPerson(_this.form.societyId, \"\", true, false, true).then(function (dataContactPerson) {\n var values = dataContactPerson.map(function (x) { return ({ value: x.objectId, text: x.displayTitle }); });\n values.sort(function (a, b) { return (a.text.toLocaleLowerCase() > b.text.toLocaleLowerCase()) ? 1 : ((b.text.toLocaleLowerCase() > a.text.toLocaleLowerCase()) ? -1 : 0); });\n _this.contactPersonList = values;\n _this.$qui.functionWaiter(\"ui.createForm\", _this);\n });\n });\n };\n DetailHobbyController.prototype.getSocietyListItems = function () {\n if (this.societyList != (null || undefined)) {\n return this.ui.select(this.societyList, { value: 'id', text: 'displayTitle' });\n }\n else {\n return null;\n }\n };\n DetailHobbyController.prototype.getContactPersonItems = function () {\n var _this = this;\n if (this.form.societyId != (null || undefined || \"\") && this.contactPersonList != (null || undefined)) {\n return this.clientService.getContactPersonListOfPerson(this.form.societyId, \"\", true, false, true).then(function (data) {\n var values = data.map(function (x) { return ({ value: x.objectId, text: x.displayTitle }); });\n values.sort(function (a, b) { return (a.text.toLocaleLowerCase() > b.text.toLocaleLowerCase()) ? 1 : ((b.text.toLocaleLowerCase() > a.text.toLocaleLowerCase()) ? -1 : 0); });\n _this.contactPersonList = values;\n if (_this.contactPersonList.length === 0) {\n _this.form.contactPersonId = null;\n }\n return _this.ui.select(values, { value: 'value', text: 'text' });\n });\n }\n else {\n return null;\n }\n };\n /**\n * get the wv list\n *\n * @private\n *\n * @memberOf DetailHobbyController\n */\n DetailHobbyController.prototype.getWvList = function () {\n var _this = this;\n this.loading = true;\n this.stammdatenService.getHobbyWv().then(function (wvData) {\n _this.wvList = wvData;\n _this.getAdditionalInfos();\n _this.getHobbyRequiredFields();\n _this.initForm();\n _this.loading = false;\n });\n };\n DetailHobbyController.prototype.getHobbyRequiredFields = function () {\n var _this = this;\n this.stammdatenService.getHobbyRequiredFields().then(function (data) {\n _this.hobbyRequiredFields = data;\n });\n };\n DetailHobbyController.prototype.getTypeWv = function () {\n return this.wvList.typeWvList.map(function (obj) {\n return {\n value: obj.id,\n text: obj.name\n };\n });\n };\n DetailHobbyController.prototype.getSubTypeWv = function () {\n var data = [];\n if (!this.form.typeId || this.form.typeId === QMC.Common.Constants.GUID_EMPTY)\n return [];\n var hobbyTypeName = this.getHobyTypeName(this.form.typeId);\n data = this.wvList.subTypeWvList[hobbyTypeName];\n return data.map(function (obj) {\n return {\n value: obj.id,\n text: obj.name\n };\n });\n };\n DetailHobbyController.prototype.getHobyTypeName = function (hobbyTypeId) {\n var hobbyTypeConst = this.wvList.typeWvList.filter(function (hobbyType) { return hobbyType.objectId === hobbyTypeId; });\n return hobbyTypeConst ? (hobbyTypeConst[0].name.substring(0, 1).toLowerCase() + hobbyTypeConst[0].name.substring(1)).trim() : '';\n };\n /**\n * add a new hobby\n *\n * @private\n *\n * @memberOf DetailHobbyController\n */\n DetailHobbyController.prototype.addHobby = function (form) {\n var _this = this;\n form.parentObjectId = this.id;\n this.stammdatenService.postHobby(form).then(function (e) {\n _this.formState = \"new\";\n _this.ui.notify(_this.ui.successNote);\n _this.getHobbies();\n $('#edit-form').modal('hide');\n });\n };\n /**\n * delete an existing hobby\n *\n * @private\n * @param {IHobby} data\n *\n * @memberOf DetailHobbyController\n */\n DetailHobbyController.prototype.deleteHobby = function (item) {\n var _this = this;\n this.promptOptions.itemText = item.validFrom != null ? moment(item.validFrom).format(\"DD.MM.YYYY\") + \" \" + item.caption : item.caption;\n QMC.Common.Utilities.confirm(this.promptOptions, function (data) {\n if (data)\n _this.stammdatenService.deleteHobby(_this.id, item.objectId).then(function (data) {\n _this.ui.notify(_this.ui.deleteNote);\n _this.formState = \"new\";\n _this.getHobbies();\n });\n });\n };\n /**\n * edit a existing hobby\n *\n * @private\n * @param {IHobby} data\n *\n * @memberOf DetailHobbyController\n */\n DetailHobbyController.prototype.editHobby = function (data) {\n this.form = angular.copy(data);\n this.formState = \"edit\";\n this.form.validFrom = moment(data.validFrom).toDate();\n if (data.validTo != null) {\n this.form.validTo = moment(data.validTo).toDate();\n }\n this.$qui.waitForEl('#standardTabButton', function () {\n $('#standardTabButton').click();\n });\n };\n DetailHobbyController.prototype.putHobby = function (form) {\n var _this = this;\n this.loading = true;\n this.stammdatenService.putHobby(this.id, this.form.objectId, form).then(function (data) {\n _this.ui.notify(_this.ui.successNote);\n _this.formState = \"new\";\n $('#edit-form').modal('hide');\n }).finally(function () { return _this.getHobbies(); });\n this.udfs.forEach(function (x) { var _a; return (_a = x.save) === null || _a === void 0 ? void 0 : _a.call(x, false); });\n };\n DetailHobbyController = __decorate([\n QMC.Controller('QMC.Stammdaten', 'DetailHobbyController'),\n QMC.Inject('StammdatenService', '$qui', 'KlientService', '$stateParams', '$scope', 'QmcLanguageService', 'QmcPermissionService', 'UserService', '$timeout', 'QmcUdfService')\n ], DetailHobbyController);\n return DetailHobbyController;\n }());\n })(Stammdaten = QMC.Stammdaten || (QMC.Stammdaten = {}));\n})(QMC || (QMC = {}));\nvar QMC;\n(function (QMC) {\n var Stammdaten;\n (function (Stammdaten) {\n var DetailDocumentsController = /** @class */ (function () {\n function DetailDocumentsController($qui, $stateParams, $location) {\n this.$qui = $qui;\n this.$stateParams = $stateParams;\n this.$location = $location;\n this.id = this.$stateParams.id;\n switch (this.$location.$$path.split('/')[1]) {\n case 'employee':\n this.parentObjectType = 120000;\n this.objectType = 120007;\n break;\n default:\n this.parentObjectType = 140000;\n this.objectType = 140032;\n break;\n }\n this.$qui.waitForEl('#newModalButton', function () {\n document.getElementsByName('newModalButton').forEach(function (x) { return x.style.visibility = 'hidden'; });\n });\n $qui.init(this.$qui.getSectionColor(\"/stammdaten\"), function () {\n $qui.bindEvents();\n $('.qm-card').unbind('click');\n });\n this.$qui.functionWaiter(\"createDirective\", this);\n }\n DetailDocumentsController = __decorate([\n QMC.Controller('QMC.Stammdaten', 'DetailDocumentsController'),\n QMC.Inject('$qui', '$stateParams', '$location')\n ], DetailDocumentsController);\n return DetailDocumentsController;\n }());\n })(Stammdaten = QMC.Stammdaten || (QMC.Stammdaten = {}));\n})(QMC || (QMC = {}));\nvar QMC;\n(function (QMC) {\n var Stammdaten;\n (function (Stammdaten) {\n var DetailDiseaseController = /** @class */ (function () {\n /**\n * Creates an instance of DetailDiseaseController.\n *\n * @memberOf DetailDiseaseController\n */\n function DetailDiseaseController(stammdatenService, $qui, $stateParams, $scope, $state, lng, permissionService, userService, $timeout, udfService) {\n var _this = this;\n this.stammdatenService = stammdatenService;\n this.$qui = $qui;\n this.$stateParams = $stateParams;\n this.$state = $state;\n this.lng = lng;\n this.userService = userService;\n this.allowTableExport = false;\n this.ui = new QMC.Stammdaten.DetailUI();\n this.diseases = [];\n this.formState = \"new\";\n this.objectType = 140002;\n this.documentObjectType = 140110;\n this.enableDocuments = false;\n this.udfs = [];\n $scope.Model = $scope.Model || { Name: 'xxx' };\n this.id = $stateParams.id;\n permissionService.getPermissionsByObjectTypes([this.objectType, this.documentObjectType]).then(function (data) {\n _this.delete = data[0].delete;\n _this.new = data[0].new;\n _this.modify = data[0].modify;\n _this.moduleAccess = data[0].moduleAccess && data[0].view;\n _this.allowTableExport = data[0].print;\n _this.enableDocuments = data[1].moduleAccess;\n $timeout(function () {\n if (!_this.new)\n document.getElementsByName('newModalButton').forEach(function (x) { return x.style.visibility = 'hidden'; });\n else\n document.getElementsByName('newModalButton').forEach(function (x) { return x.style.visibility = 'unset'; });\n });\n _this.diseaseWvList = [];\n _this.getDiseaseWvList();\n _this.$qui.getTableAutoload(_this.userService).then(function (ltd) {\n _this.shouldLoadTableData = ltd;\n if (_this.shouldLoadTableData) {\n _this.getData();\n }\n });\n });\n //$qui.init('stammdaten', () => {\n $qui.init($qui.getSectionColor(\"/stammdaten\"), function () {\n $qui.bindEvents();\n $('.qm-card').unbind('click');\n });\n this.promptOptions = {\n title: \"Krankheit\",\n yesNo: true,\n icon: \"qm-icon-history2\",\n text: this.lng.translate(20000290, \"Wollen Sie den Eintrag wirklich löschen?\")\n };\n var vm = this;\n $(\"#edit-form\").on('hidden.bs.modal', function () {\n _this.$state.go('.', { dataId: undefined }, { reload: false });\n $timeout(function () { return vm.initForm(); });\n $(\"#edit-form\").find('.tab-content').children().removeClass('in').removeClass('active');\n $(\"#edit-form\").find('.tab-content').find('#baseDataTab').addClass('in active');\n });\n udfService.getUserDefinedFields(this.objectType).then(function (data) {\n _this.udfs = data.sort(function (a, b) { return a.caption.localeCompare(b.caption); });\n });\n }\n DetailDiseaseController.prototype.getData = function () {\n this.getDiseases();\n };\n DetailDiseaseController.prototype.events = function () {\n var _this = this;\n $('#liveDiseases .typeahead').typeahead({\n source: function (query, process) {\n _this.stammdatenService.getDiseasesBySearchText(_this.form.diseaseCodeSchemaId, query).then(function (data) {\n _this.diseases = data.items;\n process(data.items.map(function (obj) {\n return obj.name;\n }));\n });\n _this.form.diseaseId = null;\n if (_this.invalidateForm)\n _this.invalidateForm('diseaseName');\n },\n items: -1,\n menu: '
    ',\n fitToElement: true,\n updater: function (item) {\n /* Find the id to the selected text */\n for (var _i = 0, _a = _this.diseases; _i < _a.length; _i++) {\n var disease = _a[_i];\n if (disease.name === item) {\n _this.form.diseaseId = disease.id;\n break;\n }\n else {\n _this.form.diseaseId = null;\n if (_this.invalidateForm)\n _this.invalidateForm('diseaseName');\n }\n }\n return item;\n },\n //no default sorting from the component, use the sorting used in API for loading the data, BEZEICHNUNG\n sorter: function (items) {\n return items;\n },\n matcher: function (_item) {\n return true;\n }\n });\n };\n /**\n * init a new form with default values\n *\n * @private\n *\n * @memberOf DetailDiseaseController\n */\n DetailDiseaseController.prototype.initForm = function () {\n var _this = this;\n this.formState = 'new';\n this.form = {\n id: null,\n objectId: null,\n comment: null,\n dateFrom: new Date(),\n dateTo: null,\n diseaseCodeSchemaId: QMC.Common.Constants.DEFAULT_DISEASE_CODE_SCHEMA,\n diseaseId: null,\n diseaseTypeId: null,\n parentObjectId: this.id,\n parentObjectType: QMC.Common.Constants.OBJECTTYPE_CLIENT\n };\n this.$qui.functionWaiter(\"ui.createForm\", this);\n setTimeout(function () {\n _this.events();\n }, 500);\n };\n /////////////// SERVICE FUNCTIONS ///////////////\n /**\n * get the disease wv list\n *\n * @private\n * @returns }\n *\n * @memberOf DetailDiseaseController\n */\n DetailDiseaseController.prototype.getDiseaseWvList = function () {\n var _this = this;\n return this.stammdatenService.getDiseaseWvList().then(function (data) {\n _this.diseaseWvList.push(data);\n _this.initForm();\n });\n };\n DetailDiseaseController.prototype.getDiseaseCodeSchemaWvList = function () {\n return this.ui.select(this.diseaseWvList[0].diseaseCodeSchemaWvList, { value: 'id', text: 'name' });\n };\n DetailDiseaseController.prototype.getDiseaseTypeWvList = function () {\n return this.ui.select(this.diseaseWvList[0].diseaseTypeWvList, { value: 'id', text: 'name' });\n };\n /**\n * get a list of diseases\n *\n * @private\n *\n * @memberOf DetailDiseaseController\n */\n DetailDiseaseController.prototype.getDiseases = function () {\n var _this = this;\n this.loading = true;\n this.stammdatenService.getDiseaseList(this.id).then(function (data) {\n _this.ui.diseaseTable.data = data;\n _this.$qui.functionWaiter(\"ui.createTable\", _this);\n _this.loading = false;\n if (_this.$stateParams.dataId) {\n var item = data.filter(function (x) { return x.objectId === _this.$stateParams.dataId; })[0];\n if (item) {\n $(\"#edit-form\").modal('show');\n _this.editDisease(item);\n }\n }\n });\n };\n /**\n * add a new disease\n *\n * @private\n * @param {IDisease} form\n *\n * @memberOf DetailDiseaseController\n */\n DetailDiseaseController.prototype.addDisease = function (form) {\n var _this = this;\n if (!this.form.diseaseId) {\n console.warn('No disease code supplied (post)', this.form);\n return;\n }\n this.loading = true;\n this.stammdatenService.postDisease(form).then(function () {\n _this.ui.notify(_this.ui.successNote);\n _this.formState = \"new\";\n _this.getDiseases();\n $('#edit-form').modal('hide');\n });\n };\n /**\n * put a existing disease\n *\n * @private\n * @param {IDisease} form\n *\n * @memberOf DetailDiseaseController\n */\n DetailDiseaseController.prototype.putDisease = function (form) {\n var _this = this;\n if (!this.form.diseaseId) {\n console.warn('No disease code supplied (put)', this.form);\n return;\n }\n this.loading = true;\n this.stammdatenService.putDisease(form.parentObjectId, form.objectId, form).then(function () {\n _this.ui.notify(_this.ui.successNote);\n _this.formState = \"new\";\n _this.getDiseases();\n $('#edit-form').modal('hide');\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 /**\n * edit a existing disease\n *\n * @private\n * @param {IDisease} data\n *\n * @memberOf DetailDiseaseController\n */\n DetailDiseaseController.prototype.editDisease = function (data) {\n this.formState = \"edit\";\n this.form = data;\n this.form.dateFrom = moment(data.dateFrom).toDate();\n if (this.form.dateTo !== null)\n this.form.dateTo = moment(data.dateTo).toDate();\n this.$qui.waitForEl('#standardTabButton', function () {\n $('#standardTabButton').click();\n });\n this.$state.go('.', { dataId: data.objectId });\n };\n /**\n * delete a existing disease\n *\n * @private\n * @param {IDisease} data\n *\n * @memberOf DetailDiseaseController\n */\n DetailDiseaseController.prototype.deleteDisease = function (item) {\n var _this = this;\n this.promptOptions.itemText = item.diseaseName;\n QMC.Common.Utilities.confirm(this.promptOptions, function (data) {\n if (data)\n _this.stammdatenService.deleteDisease(_this.id, item.objectId).then(function () {\n _this.ui.notify(_this.ui.deleteNote);\n _this.formState = \"new\";\n _this.getDiseases();\n });\n });\n };\n DetailDiseaseController = __decorate([\n QMC.Controller('QMC.Stammdaten', 'DetailDiseaseController'),\n QMC.Inject('StammdatenService', '$qui', '$stateParams', '$scope', '$state', 'QmcLanguageService', 'QmcPermissionService', 'UserService', '$timeout', 'QmcUdfService')\n ], DetailDiseaseController);\n return DetailDiseaseController;\n }());\n })(Stammdaten = QMC.Stammdaten || (QMC.Stammdaten = {}));\n})(QMC || (QMC = {}));\nvar QMC;\n(function (QMC) {\n var Stammdaten;\n (function (Stammdaten) {\n var DetailDoctorsVisitController = /** @class */ (function () {\n /**\n * Creates an instance of DetailDoctorsVisitController.\n *\n * @memberOf DetailDoctorsVisitController\n */\n function DetailDoctorsVisitController(stammdatenService, $qui, $stateParams, $scope, $state, lng, permissionService, userService, $timeout, udfService) {\n var _this = this;\n this.stammdatenService = stammdatenService;\n this.$qui = $qui;\n this.$stateParams = $stateParams;\n this.$state = $state;\n this.lng = lng;\n this.userService = userService;\n this.allowTableExport = false;\n this.ui = new QMC.Stammdaten.DetailUI();\n this.medOrgas = [];\n this.doctors = [];\n this.objectType = 140003;\n this.documentObjectType = 140111;\n this.enableDocuments = false;\n this.udfs = [];\n $scope.Model = $scope.Model || { Name: 'xxx' };\n this.id = $stateParams.id;\n this.permissionLoading = true;\n permissionService.getPermissionsByObjectTypes([this.objectType, this.documentObjectType]).then(function (data) {\n _this.delete = data[0].delete;\n _this.new = data[0].new;\n _this.modify = data[0].modify;\n _this.moduleAccess = data[0].moduleAccess && data[0].view;\n _this.allowTableExport = data[0].print;\n _this.enableDocuments = data[1].moduleAccess;\n $timeout(function () {\n if (!_this.new)\n document.getElementsByName('newModalButton').forEach(function (x) { return x.style.visibility = 'hidden'; });\n else\n document.getElementsByName('newModalButton').forEach(function (x) { return x.style.visibility = 'unset'; });\n });\n _this.stammdatenService.getDoctorList().then(function (data) {\n _this.doctors = _this.ui.select(data, { value: 'id', text: 'displayTitle' });\n _this.stammdatenService.getMedicalOrganisationList().then(function (data) {\n _this.medOrgas = _this.ui.select(data, { value: 'id', text: 'name' });\n _this.initForm();\n _this.$qui.getTableAutoload(_this.userService).then(function (ltd) {\n _this.shouldLoadTableData = ltd;\n if (_this.shouldLoadTableData) {\n _this.getData();\n }\n });\n _this.permissionLoading = false;\n });\n });\n });\n //$qui.init('stammdaten', () => {\n $qui.init($qui.getSectionColor(\"/stammdaten\"), function () {\n $qui.bindEvents();\n $('.qm-card').unbind('click');\n });\n this.lang = lng;\n this.promptOptions = {\n title: \"Arztbesuch\",\n yesNo: true,\n icon: \"qm-icon-history2\",\n text: this.lang.translate(20000290, \"Wollen Sie den Eintrag wirklich löschen?\")\n };\n var vm = this;\n $(\"#edit-form\").on('hidden.bs.modal', function () {\n _this.$state.go('.', { dataId: undefined }, { reload: false });\n $timeout(function () { return vm.initForm(); });\n $(\"#edit-form\").find('.tab-content').children().removeClass('in').removeClass('active');\n $(\"#edit-form\").find('.tab-content').find('#baseDataTab').addClass('in active');\n });\n udfService.getUserDefinedFields(this.objectType).then(function (data) {\n _this.udfs = data.sort(function (a, b) { return a.caption.localeCompare(b.caption); });\n });\n }\n DetailDoctorsVisitController.prototype.getData = function () {\n this.getDocVisits();\n };\n /////////////// DISPLAY LOGIC ///////////////\n /**\n * init the form with default values\n *\n * @private\n *\n * @memberOf DetailDoctorsVisitController\n */\n DetailDoctorsVisitController.prototype.initForm = function () {\n this.formState = \"new\";\n this.form = {\n id: null,\n objectId: null,\n date: new Date(),\n time: new Date(),\n treaterId: null,\n treaterObjectType: 0,\n diagnose: null,\n discipline: null,\n parentObjectId: null\n };\n this.$qui.functionWaiter(\"ui.createForm\", this);\n };\n /////////////// SERVICE FUNCTIONS ///////////////\n /**\n * get the list of doc visits\n *\n * @private\n *\n * @memberOf DetailDoctorsVisitController\n */\n DetailDoctorsVisitController.prototype.getDocVisits = function () {\n var _this = this;\n this.loading = true;\n this.stammdatenService.getDoctorsVisitList(this.id).then(function (data) {\n _this.ui.docVisitTable.data = data;\n _this.$qui.functionWaiter(\"ui.createTable\", _this);\n _this.loading = false;\n if (_this.$stateParams.dataId) {\n var item = data.filter(function (x) { return x.objectId === _this.$stateParams.dataId; })[0];\n if (item) {\n $(\"#edit-form\").modal('show');\n _this.editDocVisit(item);\n }\n }\n });\n };\n /**\n * get the list of doctors\n *\n * @private\n * @returns {ng.IPromise}\n *\n * @memberOf DetailDoctorsVisitController\n */\n DetailDoctorsVisitController.prototype.getDoctors = function () {\n var _this = this;\n var result = this.doctors.map(function (x) { return { text: x.text, value: x.value, group: _this.lng.translate(20010508, 'Arzt') }; });\n result = result.concat(this.medOrgas.map(function (x) { return { text: x.text, value: x.value, group: _this.lng.translate(20023005, 'Medizinische Organisation') }; }));\n return result;\n };\n /**\n * add a new doc visit\n *\n * @private\n * @param {IDoctorsVisit} form\n *\n * @memberOf DetailDoctorsVisitController\n */\n DetailDoctorsVisitController.prototype.addDocVisit = function (form) {\n var _this = this;\n form.parentObjectId = this.id;\n form.date = this.ui.addTimeToDate(form.date, form.time);\n form.time = form.date;\n form.treaterObjectType = this.getTreaterObjectType(form.treaterId);\n this.loading = true;\n this.stammdatenService.postDoctorsVisit(form).then(function () {\n _this.ui.notify(_this.ui.successNote);\n _this.formState = \"new\";\n _this.getDocVisits();\n $('#edit-form').modal('hide');\n });\n };\n /**\n * put a existing doc visit\n *\n * @private\n * @param {IDoctorsVisit} form\n *\n * @memberOf DetailDoctorsVisitController\n */\n DetailDoctorsVisitController.prototype.putDocVisit = function (form) {\n var _this = this;\n form.date = this.ui.addTimeToDate(form.date, form.time);\n form.time = form.date;\n form.treaterObjectType = this.getTreaterObjectType(form.treaterId);\n this.loading = true;\n this.stammdatenService.putDoctorsVisit(form.parentObjectId, form.objectId, form).then(function () {\n _this.$qui.notify(_this.$qui.successNote);\n _this.formState = \"new\";\n $('#edit-form').modal('hide');\n _this.getDocVisits();\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 DetailDoctorsVisitController.prototype.getTreaterObjectType = function (treaterId) {\n if (this.doctors.some(function (x) { return x.value === treaterId; }))\n return 110000;\n if (this.medOrgas.some(function (x) { return x.value === treaterId; }))\n return 310000;\n return 0;\n };\n /**\n * delete a existing doc visit\n *\n * @private\n * @param {IDoctorsVisit} item\n *\n * @memberOf DetailDoctorsVisitController\n */\n DetailDoctorsVisitController.prototype.deleteDocVisit = function (item) {\n var _this = this;\n this.loading = true;\n this.promptOptions.itemText = item.treaterName + \" (\" + moment(item.date).format(\"DD.MM.YYYY HH:mm\") + \")\";\n QMC.Common.Utilities.confirm(this.promptOptions, function (data) {\n if (data)\n _this.stammdatenService.deleteDoctorsVisit(_this.id, item.objectId).then(function () {\n _this.ui.notify(_this.ui.deleteNote);\n _this.formState = \"new\";\n $('#edit-form').modal('hide');\n _this.getDocVisits();\n });\n });\n };\n /**\n * edit a existing doc visit\n *\n * @private\n * @param {IDoctorsVisit} data\n *\n * @memberOf DetailDoctorsVisitController\n */\n DetailDoctorsVisitController.prototype.editDocVisit = function (data) {\n var _this = this;\n console.log('edit', data);\n this.formState = \"edit\";\n this.stammdatenService.getDoctorsVisit(this.id, data.objectId).then(function (docVisit) {\n _this.form = docVisit;\n _this.form.date = moment(docVisit.date).toDate();\n _this.form.time = moment(docVisit.time).toDate();\n _this.$qui.waitForEl('#standardTabButton', function () {\n $('#standardTabButton').click();\n });\n });\n this.$state.go('.', { dataId: data.objectId });\n };\n DetailDoctorsVisitController = __decorate([\n QMC.Controller('QMC.Stammdaten', 'DetailDoctorsVisitController'),\n QMC.Inject('StammdatenService', '$qui', '$stateParams', '$scope', '$state', 'QmcLanguageService', 'QmcPermissionService', 'UserService', '$timeout', 'QmcUdfService')\n ], DetailDoctorsVisitController);\n return DetailDoctorsVisitController;\n }());\n })(Stammdaten = QMC.Stammdaten || (QMC.Stammdaten = {}));\n})(QMC || (QMC = {}));\nvar QMC;\n(function (QMC) {\n var Stammdaten;\n (function (Stammdaten) {\n var DetailAbsenteeismController = /** @class */ (function () {\n /**\n * QMC.Stammdaten.DetailAbsenteeismController\n * @constructor\n * @param stammdatenService\n * @param clientService\n * @param $stateParams\n * @param $scope\n * @param $state\n * @param lng\n */\n function DetailAbsenteeismController(stammdatenService, $qui, clientService, $stateParams, $scope, $state, lng, permissionService, userService, $timeout) {\n var _this = this;\n this.stammdatenService = stammdatenService;\n this.$qui = $qui;\n this.clientService = clientService;\n this.$scope = $scope;\n this.$state = $state;\n this.lng = lng;\n this.permissionService = permissionService;\n this.userService = userService;\n this.$timeout = $timeout;\n this.allowTableExport = false;\n this.ui = new Stammdaten.DetailUI();\n this.formState = \"new\";\n this.overlapCheck = false;\n this.overlapCheckType = 'warnings';\n this.overlapCheckOnlyForSameType = false;\n this.validation = {\n errors: [],\n warnings: [],\n };\n this.validationSuccessfulMessage = '';\n $scope.Model = $scope.Model || { Name: 'xxx' };\n this.id = $stateParams.id;\n permissionService.getPermissionsByObjectType(140033).then(function (data) {\n _this.delete = data[0].delete;\n _this.new = data[0].new;\n _this.modify = data[0].modify;\n _this.moduleAccess = data[0].moduleAccess && data[0].view;\n _this.allowTableExport = data[0].print;\n $timeout(function () {\n if (!_this.new)\n document.getElementsByName('newModalButton').forEach(function (x) { return x.style.visibility = 'hidden'; });\n else\n document.getElementsByName('newModalButton').forEach(function (x) { return x.style.visibility = 'unset'; });\n });\n _this.getAbsenteeismBans();\n _this.initForm();\n _this.userService.getUserSettings(['ABWESENHEIT.CHECK.OVERLAP', 'ABWESENHEIT.CHECK.OVERLAP.TYPEONLY'], false).then(function (data) {\n if (data[0].value) {\n _this.overlapCheck = data[0].value !== 'fe55229f-b052-4d3a-b2d1-e127b0d08879';\n _this.overlapCheckType = data[0].value === '042e92e2-09b4-48b6-b3ee-7b0dc077d42b' ? 'errors' : 'warnings';\n }\n _this.overlapCheckOnlyForSameType = data[1].value.toLowerCase() === 'true';\n });\n _this.$qui.getTableAutoload(_this.userService).then(function (ltd) {\n _this.shouldLoadTableData = ltd;\n if (_this.shouldLoadTableData) {\n _this.getData();\n }\n });\n });\n //$qui.init('stammdaten', () => {\n $qui.init($qui.getSectionColor(\"/stammdaten\"), function () {\n $qui.bindEvents();\n $('.qm-card').unbind('click');\n });\n this.$scope.$watch('vm.form.absenteeismReasonId', function (newVal, oldVal) {\n if (newVal === oldVal && !_this.loading)\n return;\n setTimeout(function () {\n _this.validate();\n }, 1000);\n }, true);\n this.$scope.$watch('vm.form.dateFrom', function (newVal, oldVal) {\n if (newVal === oldVal && !_this.loading)\n return;\n setTimeout(function () {\n _this.validate();\n }, 1000);\n }, true);\n this.$scope.$watch('vm.form.dateTo', function (newVal, oldVal) {\n if (newVal === oldVal && !_this.loading)\n return;\n setTimeout(function () {\n _this.validate();\n }, 1000);\n }, true);\n this.promptOptions = {\n title: \"Abwesenheit\",\n yesNo: true,\n icon: \"qm-icon-history2\",\n text: this.lng.translate(20000290, \"Wollen Sie den Eintrag wirklich löschen?\")\n };\n }\n DetailAbsenteeismController.prototype.getData = function () {\n this.getAbsenteeisms();\n };\n /////////////// DISPLAY LOGIC ///////////////\n /**\n * init the form with default values\n *\n * @private\n *\n * @memberOf DetailAbsenteeismController\n */\n DetailAbsenteeismController.prototype.initForm = function () {\n this.validation.errors = [];\n this.validation.warnings = [];\n this.validationSuccessfulMessage = this.lng.translate(21008009, 'Zeitraumsvalidierung erfolgreich');\n this.form = {\n id: null,\n objectId: null,\n dateTo: null,\n dateFrom: moment().startOf('day').toDate(),\n absenteeismReasonId: null,\n parentObjectId: null,\n parentObjectType: QMC.Common.Constants.OBJECTTYPE_CLIENT,\n comment: null,\n contactPersonId: null\n };\n this.$qui.functionWaiter(\"ui.createForm\", this);\n };\n DetailAbsenteeismController.prototype.getWvList = function () {\n var _this = this;\n return this.stammdatenService.getAbsenteeismWv().then(function (data) {\n _this.wvList = data;\n return _this.ui.select(data.absenteeismReasonWvList, { value: 'objectId', text: 'name' });\n });\n };\n DetailAbsenteeismController.prototype.getContactPersonList = function () {\n var _this = this;\n return this.stammdatenService.getParticipantsSelectionAssignment('ABWESENHEIT_AUFENTHALT_BEI', true).then(function (data) {\n return _this.ui.select(data, { value: 'objectId', text: 'displayTitle', group: 'objectTypeCaption' });\n });\n };\n /**\n * Get all absenteeisms in array from WebAPI\n *\n * @private\n *\n * @memberOf DetailAbsenteeismController\n */\n DetailAbsenteeismController.prototype.getAbsenteeisms = function () {\n var _this = this;\n this.loading = true;\n this.stammdatenService.getAbsenteeismList(this.id).then(function (data) {\n _this.absenteeisms = data;\n _this.ui.absenteeismTable.data = data.map(function (x) { return ({\n id: x.id,\n objectId: x.objectId,\n absenteeismReasonId: x.absenteeismReasonId,\n absenteeismReason: x.absenteeismReason,\n comment: x.comment,\n dateFrom: x.dateFrom,\n dateTo: x.dateTo,\n contactPersonName: x.contactPersonName,\n contactPersonId: x.contactPersonId,\n style: _this.isAbsenteeismBanned(x) ? { 'background-color': 'orangered', 'color': 'white', 'font-weight': 'bold' } : {}\n }); });\n _this.$qui.functionWaiter(\"ui.createTable\", _this);\n _this.loading = false;\n });\n };\n /**\n * Get all absenteeism bans in array from WebAPI\n *\n * @private\n *\n * @memberOf DetailAbsenteeismController\n */\n DetailAbsenteeismController.prototype.getAbsenteeismBans = function () {\n var _this = this;\n this.stammdatenService.getAbsenteeismBanList(this.id).then(function (data) {\n _this.absenteeismBansList = data;\n });\n };\n /**\n * Add a new absenteeism\n *\n * @private\n * @param {IAbsenteeism} form\n *\n * @memberOf DetailAbsenteeismController\n */\n DetailAbsenteeismController.prototype.addAbsenteeism = function (form) {\n var _this = this;\n form.parentObjectId = this.id;\n if (this.checkIsBanned(this.form)) {\n $('#absenteeismBan').modal('show');\n return;\n }\n this.stammdatenService.postAbsenteeism(form).then(function () {\n _this.ui.notify(_this.ui.successNote);\n _this.formState = \"new\";\n _this.getAbsenteeisms();\n });\n };\n /**\n * Edit an existing absenteeism\n *\n * @private\n * @param {IAbsenteeism} data\n *\n * @memberOf DetailAbsenteeismController\n */\n DetailAbsenteeismController.prototype.editAbsenteeism = function (data) {\n this.form = angular.copy(data);\n this.formState = \"edit\";\n this.form.dateFrom = moment(data.dateFrom).toDate();\n this.form.dateTo = data.dateTo ? moment(data.dateTo).toDate() : null;\n };\n /**\n * Update an existing absenteeism by id\n *\n * @private\n *\n * @memberOf DetailAbsenteeismController\n */\n DetailAbsenteeismController.prototype.putAbsenteeism = function () {\n var _this = this;\n if (this.checkIsBanned(this.form)) {\n $('#absenteeismBan').modal('show');\n return;\n }\n this.stammdatenService.putAbsenteeism(this.id, this.form.objectId, this.form).then(function () {\n _this.ui.notify(_this.ui.successNote);\n _this.formState = \"new\";\n _this.getAbsenteeisms();\n });\n };\n /**\n * Delete an existing absenteeism by id\n *\n * @private\n * @param {any} data\n *\n * @memberOf DetailAbsenteeismController\n */\n DetailAbsenteeismController.prototype.deleteAbsenteeism = function (item) {\n var _this = this;\n if (!this.isAbsenteeismBanned(item, true)) {\n this.promptOptions.itemText = item.absenteeismReason;\n QMC.Common.Utilities.confirm(this.promptOptions, function (data) {\n if (data)\n _this.stammdatenService.deleteAbsenteeism(_this.id, item.objectId).then(function () {\n _this.ui.notify(_this.ui.deleteNote);\n _this.formState = \"new\";\n _this.getAbsenteeisms();\n });\n });\n }\n };\n DetailAbsenteeismController.prototype.isAbsenteeismBanned = function (item, showWarning) {\n if (showWarning === void 0) { showWarning = false; }\n var isBanned = false;\n if (item && this.absenteeismBansList && item.id) {\n isBanned = this.checkIsBanned(item);\n }\n if (isBanned && showWarning) {\n this.$qui.notify({\n message: this.lng.translate(21008006, \"Abwesenheitsperre vorhanden\"),\n title: \"Fehler\",\n icon: \"qm-icon-error\",\n status: \"warning\",\n timer: 3500\n });\n }\n return isBanned;\n };\n DetailAbsenteeismController.prototype.checkIsBanned = function (item) {\n if (!this.absenteeismBansList || !item)\n return;\n for (var _i = 0, _a = this.absenteeismBansList; _i < _a.length; _i++) {\n var listItem = _a[_i];\n if (moment(listItem.banDate).endOf('day').toDate() >= this.$qui.createDateFromString(item.dateFrom)) {\n return true;\n }\n }\n return false;\n };\n DetailAbsenteeismController.prototype.shouldDisableForm = function (form) {\n if (this.formState !== 'edit')\n return false;\n var item = this.ui.absenteeismTable.data.filter(function (x) { return x.objectId === form.objectId; })[0];\n if (item)\n return this.checkIsBanned(item);\n return false;\n };\n DetailAbsenteeismController.prototype.validate = function () {\n var _this = this;\n var _a;\n this.validation.errors = [];\n this.validation.warnings = [];\n if (this.overlapCheck) {\n var absenteeismRequestValidation = {\n dateFrom: this.form.dateFrom,\n objectId: this.form.objectId,\n parentObjectId: (_a = this.form.parentObjectId) !== null && _a !== void 0 ? _a : this.id,\n dateTo: this.form.dateTo,\n reasonId: this.form.absenteeismReasonId\n };\n this.stammdatenService.checkAbsenteeismValidation(absenteeismRequestValidation).then(function (data) {\n _this.validation.errors = data.errors;\n _this.validation.warnings = data.warnings;\n if (_this.checkIsBanned(_this.form)) {\n _this.validation.errors.push(_this.lng.translate(21008007, 'Der Zeitraum ist für Abwesenheiten gesperrt.'));\n }\n });\n }\n };\n DetailAbsenteeismController = __decorate([\n QMC.Controller('QMC.Stammdaten', 'DetailAbsenteeismController'),\n QMC.Inject('StammdatenService', '$qui', 'KlientService', '$stateParams', '$scope', '$state', 'QmcLanguageService', 'QmcPermissionService', 'UserService', '$timeout')\n ], DetailAbsenteeismController);\n return DetailAbsenteeismController;\n }());\n })(Stammdaten = QMC.Stammdaten || (QMC.Stammdaten = {}));\n})(QMC || (QMC = {}));\nvar QMC;\n(function (QMC) {\n var Stammdaten;\n (function (Stammdaten) {\n var DetailEducationController = /** @class */ (function () {\n /**\n * Creates an instance of DetailEducationController.\n * @param {StammdatenService} stammdatenService\n * @param {any} $qui\n * @param {Klient.KlientService} clientService\n * @param {any} $stateParams\n * @param {any} $scope\n * @param {any} $state\n * @param {Common.QmcLanguageService} lng\n * @param {Common.QmcPermissionService} permissionService\n *\n * @memberOf DetailEducationController\n */\n function DetailEducationController(stammdatenService, $qui, clientService, $stateParams, $scope, $state, lng, permissionService, userService, $timeout) {\n var _this = this;\n this.stammdatenService = stammdatenService;\n this.$qui = $qui;\n this.clientService = clientService;\n this.$stateParams = $stateParams;\n this.$scope = $scope;\n this.$state = $state;\n this.lng = lng;\n this.permissionService = permissionService;\n this.userService = userService;\n this.$timeout = $timeout;\n this.allowTableExport = false;\n this.ui = new QMC.Stammdaten.DetailUI();\n this.formState = \"new\";\n this.educationKind = [];\n this.objectType = 140068;\n this.documentObjectType = 140102;\n this.enableDocuments = false;\n $scope.Model = $scope.Model || { Name: 'xxx' };\n this.id = $stateParams.id;\n permissionService.getPermissionsByObjectTypes([this.objectType, this.documentObjectType]).then(function (data) {\n _this.delete = data[0].delete;\n _this.new = data[0].new;\n _this.modify = data[0].modify;\n _this.moduleAccess = data[0].moduleAccess && data[0].view;\n _this.allowTableExport = data[0].print;\n _this.enableDocuments = data[1].moduleAccess;\n $timeout(function () {\n if (!_this.new)\n document.getElementsByName('newModalButton').forEach(function (x) { return x.style.visibility = 'hidden'; });\n else\n document.getElementsByName('newModalButton').forEach(function (x) { return x.style.visibility = 'unset'; });\n });\n var schoolEducationKind = {\n id: \"0\",\n objectId: \"0\",\n caption: _this.lang.translate(20012000, \"Schulausbildung\")\n };\n var professEducationKind = {\n id: \"1\",\n objectId: \"1\",\n caption: _this.lang.translate(20012001, \"Berufliche Ausbildung\")\n };\n var professCareerEducationKind = {\n id: \"2\",\n objectId: \"2\",\n caption: _this.lang.translate(20012002, \"Beruflicher Werdegang\")\n };\n _this.educationKind.push(schoolEducationKind);\n _this.educationKind.push(professEducationKind);\n _this.educationKind.push(professCareerEducationKind);\n _this.educationSchemaWvList = [];\n _this.schoolsList = null;\n _this.gradeLevelList = null;\n _this.companiesList = null;\n _this.$qui.getTableAutoload(_this.userService).then(function (ltd) {\n _this.shouldLoadTableData = ltd;\n if (_this.shouldLoadTableData) {\n _this.getData();\n }\n });\n _this.getEducationWvList();\n });\n //$qui.init('stammdaten', () => {\n $qui.init($qui.getSectionColor(\"/stammdaten\"), function () {\n $qui.bindEvents();\n $('.qm-card').unbind('click');\n });\n this.lang = lng;\n this.promptOptions = {\n title: \"Lebenslauf / Ausbildung\",\n yesNo: true,\n icon: \"qm-icon-history2\",\n text: this.lang.translate(20000290, \"Wollen Sie den Eintrag wirklich löschen?\")\n };\n var vm = this;\n $(\"#edit-form\").on('hidden.bs.modal', function () {\n _this.$state.go('.', { dataId: undefined }, { reload: false });\n $timeout(function () { return vm.initForm(); });\n });\n }\n DetailEducationController.prototype.getData = function () {\n this.getEducations();\n };\n /**\n * init a new form with default values\n *\n * @private\n *\n * @memberOf DetailEducationController\n */\n DetailEducationController.prototype.initForm = function () {\n this.formState = \"new\";\n this.form = {\n id: null,\n educationKind: null,\n objectId: null,\n comment: null,\n validFrom: new Date(),\n validTo: null,\n caption: null,\n classId: null,\n contactPersonId: null,\n educationType: null,\n schoolCompanyId: QMC.Common.Constants.GUID_EMPTY,\n statusId: null,\n parentObjectId: this.id,\n parentObjectType: QMC.Common.Constants.OBJECTTYPE_CLIENT\n };\n this.$qui.functionWaiter(\"ui.createForm\", this);\n };\n /////////////// SERVICE FUNCTIONS ///////////////\n /**\n * get the education wv list\n *\n * @private\n * @returns }\n *\n * @memberOf DetailEducationController\n */\n DetailEducationController.prototype.getEducationWvList = function () {\n var _this = this;\n this.loading = true;\n return this.stammdatenService.getEducationWvList().then(function (dataEducation) {\n _this.educationSchemaWvList.push(dataEducation);\n _this.initForm();\n var counter = 0;\n var createForm = function () {\n counter++;\n if (counter > 2)\n _this.$qui.functionWaiter(\"ui.createForm\", _this);\n };\n _this.stammdatenService.getSchoolsList().then(function (data) {\n _this.schoolsList = data;\n createForm();\n });\n _this.stammdatenService.getCompaniesList().then(function (data) {\n _this.companiesList = data;\n createForm();\n });\n _this.clientService.getContactPersonListOfPerson(_this.form.schoolCompanyId, \"\", true, false, true).then(function (dataContactPerson) {\n var values = dataContactPerson.map(function (x) { return ({ value: x.objectId, text: x.displayTitle }); });\n values.sort(function (a, b) { return (a.text.toLocaleLowerCase() > b.text.toLocaleLowerCase()) ? 1 : ((b.text.toLocaleLowerCase() > a.text.toLocaleLowerCase()) ? -1 : 0); });\n _this.contactPersonsList = values;\n _this.stammdatenService.getGradeLevelList(_this.form.schoolCompanyId).then(function (dataGradeLvel) {\n _this.gradeLevelList = dataGradeLvel;\n createForm();\n });\n });\n _this.loading = false;\n });\n };\n DetailEducationController.prototype.getCompaniesItemList = function () {\n var _a;\n return this.ui.select((_a = this.companiesList) !== null && _a !== void 0 ? _a : [], { value: 'id', text: 'displayTitle' });\n };\n DetailEducationController.prototype.getSchoolsItemList = function () {\n var _a;\n return this.ui.select((_a = this.schoolsList) !== null && _a !== void 0 ? _a : [], { value: 'id', text: 'displayTitle' });\n };\n DetailEducationController.prototype.getContactPersonsItemList = function () {\n var _this = this;\n if (this.form.schoolCompanyId) {\n return this.clientService.getContactPersonListOfPerson(this.form.schoolCompanyId, \"\", true, false, true).then(function (dataContactPerson) {\n var _a;\n var values = dataContactPerson.map(function (x) { return ({ value: x.objectId, text: x.displayTitle }); });\n values.sort(function (a, b) { return (a.text.toLocaleLowerCase() > b.text.toLocaleLowerCase()) ? 1 : ((b.text.toLocaleLowerCase() > a.text.toLocaleLowerCase()) ? -1 : 0); });\n _this.contactPersonsList = values;\n //prevent illegal values in contactPersonId\n if (!_this.contactPersonsList.some(function (x) { return x.value === _this.form.contactPersonId; }))\n _this.form.contactPersonId = undefined;\n return _this.ui.select((_a = _this.contactPersonsList) !== null && _a !== void 0 ? _a : [], { value: 'value', text: 'text' });\n });\n }\n else {\n return [];\n }\n };\n DetailEducationController.prototype.getGradeLevelList = function () {\n var _this = this;\n if (this.form.schoolCompanyId != (null || undefined || \"\") && this.gradeLevelList != (null || undefined)) {\n return this.stammdatenService.getGradeLevelList(this.form.schoolCompanyId).then(function (dataGradeLvel) {\n _this.gradeLevelList = dataGradeLvel;\n return _this.ui.select(_this.gradeLevelList, { value: 'id', text: 'className' });\n });\n }\n else {\n return [];\n }\n };\n DetailEducationController.prototype.getEducationKindWv = function () {\n var _a;\n return this.ui.select((_a = this.educationKind) !== null && _a !== void 0 ? _a : [], { value: 'id', text: 'caption' });\n };\n DetailEducationController.prototype.getSchoolTypeWv = function () {\n var _a, _b;\n return this.ui.select((_b = (_a = this.educationSchemaWvList[0]) === null || _a === void 0 ? void 0 : _a.schoolTypeWvList) !== null && _b !== void 0 ? _b : [], { value: 'id', text: 'name' });\n };\n DetailEducationController.prototype.getSchoolGraduationWv = function () {\n var _a, _b;\n return this.ui.select((_b = (_a = this.educationSchemaWvList[0]) === null || _a === void 0 ? void 0 : _a.schoolGraduationWvList) !== null && _b !== void 0 ? _b : [], { value: 'id', text: 'name' });\n };\n DetailEducationController.prototype.getSchoolStatusWv = function () {\n var _a, _b;\n return this.ui.select((_b = (_a = this.educationSchemaWvList[0]) === null || _a === void 0 ? void 0 : _a.schoolStatusWvList) !== null && _b !== void 0 ? _b : [], { value: 'id', text: 'name' });\n };\n DetailEducationController.prototype.getProfessionalTypeWv = function () {\n var _a, _b;\n return this.ui.select((_b = (_a = this.educationSchemaWvList[0]) === null || _a === void 0 ? void 0 : _a.professionalTypeWvList) !== null && _b !== void 0 ? _b : [], { value: 'id', text: 'name' });\n };\n DetailEducationController.prototype.getProfessionalGraduationWv = function () {\n var _a, _b;\n return this.ui.select((_b = (_a = this.educationSchemaWvList[0]) === null || _a === void 0 ? void 0 : _a.professionalGraduationWvList) !== null && _b !== void 0 ? _b : [], { value: 'id', text: 'name' });\n };\n DetailEducationController.prototype.getProfessionalStatusWv = function () {\n var _a, _b;\n return this.ui.select((_b = (_a = this.educationSchemaWvList[0]) === null || _a === void 0 ? void 0 : _a.professionalStatusWvList) !== null && _b !== void 0 ? _b : [], { value: 'id', text: 'name' });\n };\n DetailEducationController.prototype.getProfessionalCareerTypeWv = function () {\n var _a, _b;\n return this.ui.select((_b = (_a = this.educationSchemaWvList[0]) === null || _a === void 0 ? void 0 : _a.professionalCareerTypeWvList) !== null && _b !== void 0 ? _b : [], { value: 'id', text: 'name' });\n };\n DetailEducationController.prototype.getProfessionalCareerStatusWv = function () {\n var _a, _b;\n return this.ui.select((_b = (_a = this.educationSchemaWvList[0]) === null || _a === void 0 ? void 0 : _a.professionalCareerStatusWvList) !== null && _b !== void 0 ? _b : [], { value: 'id', text: 'name' });\n };\n DetailEducationController.prototype.getProfessionalTrainingTypeWv = function () {\n var _a, _b;\n return this.ui.select((_b = (_a = this.educationSchemaWvList[0]) === null || _a === void 0 ? void 0 : _a.professionalTrainingTypeWvList) !== null && _b !== void 0 ? _b : [], { value: 'id', text: 'name' });\n };\n /**\n * get a list of education\n *\n * @private\n *\n * @memberOf DetailEducationController\n */\n DetailEducationController.prototype.getEducations = function () {\n var _this = this;\n this.loading = true;\n this.stammdatenService.getEducationList(this.id).then(function (data) {\n _this.ui.educationTable.data = data;\n _this.$qui.functionWaiter(\"ui.createTable\", _this);\n _this.loading = false;\n if (_this.$stateParams.dataId) {\n var item = data.filter(function (x) { return x.objectId === _this.$stateParams.dataId; })[0];\n if (item) {\n $(\"#edit-form\").modal('show');\n _this.editEducation(item);\n }\n }\n });\n };\n /**\n * add a new education\n *\n * @private\n * @param {IEducation} form\n *\n * @memberOf DetailEducationController\n */\n DetailEducationController.prototype.addEducation = function (form) {\n var _this = this;\n this.loading = true;\n this.stammdatenService.postEducation(form).then(function () {\n _this.ui.notify(_this.ui.successNote);\n _this.formState = \"new\";\n _this.getEducations();\n $('#edit-form').modal('hide');\n });\n };\n /**\n * put a existing education\n *\n * @private\n * @param {IEducation} form\n *\n * @memberOf DetailEducationController\n */\n DetailEducationController.prototype.putEducation = function (form) {\n var _this = this;\n this.loading = true;\n this.stammdatenService.putEducation(this.id, form.objectId, form).then(function () {\n _this.ui.notify(_this.ui.successNote);\n _this.formState = \"new\";\n _this.getEducations();\n $('#edit-form').modal('hide');\n });\n };\n /**\n * edit a existing education\n *\n * @private\n * @param {IEducation} data\n *\n * @memberOf DetailEducationController\n */\n DetailEducationController.prototype.editEducation = function (data) {\n this.formState = \"edit\";\n this.form = angular.copy(data);\n this.form.validFrom = moment(data.validFrom).toDate();\n if (this.form.validTo !== null)\n this.form.validTo = moment(data.validTo).toDate();\n this.$qui.functionWaiter(\"ui.createForm\", this);\n this.$qui.waitForEl('#standardTabButton', function () {\n $('#standardTabButton').click();\n });\n this.$state.go('.', { dataId: data.objectId });\n };\n /**\n * delete a existing education\n *\n * @private\n * @param {IEducation} data\n *\n * @memberOf DetailEducationController\n */\n DetailEducationController.prototype.deleteEducation = function (item) {\n var _this = this;\n this.promptOptions.itemText = item.caption;\n QMC.Common.Utilities.confirm(this.promptOptions, function (data) {\n if (data)\n _this.stammdatenService.deleteEducation(_this.id, item.objectId, item.educationKind).then(function () {\n _this.ui.notify(_this.ui.deleteNote);\n _this.formState = \"new\";\n _this.getEducations();\n });\n });\n };\n DetailEducationController = __decorate([\n QMC.Controller('QMC.Stammdaten', 'DetailEducationController'),\n QMC.Inject('StammdatenService', '$qui', 'KlientService', '$stateParams', '$scope', '$state', 'QmcLanguageService', 'QmcPermissionService', 'UserService', '$timeout')\n ], DetailEducationController);\n return DetailEducationController;\n }());\n })(Stammdaten = QMC.Stammdaten || (QMC.Stammdaten = {}));\n})(QMC || (QMC = {}));\nvar QMC;\n(function (QMC) {\n var Stammdaten;\n (function (Stammdaten) {\n var DetailTrainingController = /** @class */ (function () {\n /**\n * Creates an instance of DetailTrainingController.\n * @param {StammdatenService} stammdatenService\n * @param {any} $qui\n * @param {Klient.KlientService} clientService\n * @param {any} $stateParams\n * @param {any} $scope\n * @param {any} $state\n * @param {Common.QmcLanguageService} lng\n * @param {Common.QmcPermissionService} permissionService\n *\n * @memberOf DetailTrainingController\n */\n function DetailTrainingController(stammdatenService, $qui, clientService, $stateParams, $scope, $state, lng, permissionService, userService, $timeout) {\n var _this = this;\n this.stammdatenService = stammdatenService;\n this.$qui = $qui;\n this.clientService = clientService;\n this.$scope = $scope;\n this.$state = $state;\n this.lng = lng;\n this.permissionService = permissionService;\n this.userService = userService;\n this.$timeout = $timeout;\n this.allowTableExport = false;\n this.ui = new QMC.Stammdaten.DetailUI();\n this.formState = \"new\";\n $scope.Model = $scope.Model || { Name: 'xxx' };\n this.id = $stateParams.id;\n permissionService.getPermissionsByObjectType(120023).then(function (data) {\n _this.delete = data[0].delete;\n _this.new = data[0].new;\n _this.modify = data[0].modify;\n _this.moduleAccess = data[0].moduleAccess && data[0].view;\n _this.allowTableExport = data[0].print;\n $timeout(function () {\n if (!_this.new)\n document.getElementsByName('newModalButton').forEach(function (x) { return x.style.visibility = 'hidden'; });\n else\n document.getElementsByName('newModalButton').forEach(function (x) { return x.style.visibility = 'unset'; });\n });\n _this.$qui.getTableAutoload(_this.userService).then(function (ltd) {\n _this.shouldLoadTableData = ltd;\n _this.trainingSchemaWvList = [];\n if (_this.shouldLoadTableData) {\n _this.getData();\n }\n });\n });\n //$qui.init('stammdaten', () => {\n $qui.init($qui.getSectionColor(\"/stammdaten\"), function () {\n $qui.bindEvents();\n $('.qm-card').unbind('click');\n });\n this.lang = lng;\n this.promptOptions = {\n title: \"Fähigkeit / Fortbildung\",\n yesNo: true,\n icon: \"qm-icon-history2\",\n text: this.lang.translate(20000290, \"Wollen Sie den Eintrag wirklich löschen?\")\n };\n }\n DetailTrainingController.prototype.getData = function () {\n this.getTrainingWvList();\n this.getTrainingList();\n };\n /**\n * init a new form with default values\n *\n * @private\n *\n * @memberOf DetailTrainingController\n */\n DetailTrainingController.prototype.initForm = function () {\n this.form = {\n id: null,\n objectId: null,\n parentObjectId: this.id,\n parentObjectType: QMC.Common.Constants.OBJECTTYPE_EMPLOYEE,\n validFrom: null,\n validTo: null,\n assignmentType: null,\n childObjectType: null,\n acquiredById: null,\n description: null,\n trainingId: null,\n trainingTypeId: null\n };\n this.$qui.functionWaiter(\"ui.createForm\", this);\n };\n /////////////// SERVICE FUNCTIONS ///////////////\n /**\n * get the training wv list\n *\n * @private\n * @returns }\n *\n * @memberOf DetailTrainingController\n */\n DetailTrainingController.prototype.getTrainingWvList = function () {\n var _this = this;\n this.loading = true;\n return this.stammdatenService.getTrainingWvList().then(function (dataTrainingWv) {\n _this.trainingSchemaWvList.push(dataTrainingWv);\n _this.initForm();\n _this.loading = false;\n });\n };\n DetailTrainingController.prototype.getAquiredByWv = function () {\n return this.ui.select(this.trainingSchemaWvList[0].acquiredByWvList, { value: 'id', text: 'name' });\n };\n DetailTrainingController.prototype.getTrainingTypeWv = function () {\n return this.ui.select(this.trainingSchemaWvList[0].trainingTypeWvList, { value: 'id', text: 'name' });\n };\n DetailTrainingController.prototype.getTrainingWv = function () {\n return this.ui.select(this.trainingSchemaWvList[0].trainingWvList, { value: 'id', text: 'name' });\n };\n /**\n * get a list of training\n *\n * @private\n *\n * @memberOf DetailTrainingController\n */\n DetailTrainingController.prototype.getTrainingList = function () {\n var _this = this;\n this.loading = true;\n this.stammdatenService.getTrainingList(this.id, QMC.Common.Constants.OBJECTTYPE_EMPLOYEE).then(function (data) {\n _this.ui.trainingTable.data = data;\n _this.$qui.functionWaiter(\"ui.createTable\", _this);\n _this.loading = false;\n });\n };\n /**\n * add a new training\n *\n * @private\n * @param {ITraining} form\n *\n * @memberOf DetailTrainingController\n */\n DetailTrainingController.prototype.addTraining = function (form) {\n var _this = this;\n this.stammdatenService.postTraining(form).then(function () {\n _this.ui.notify(_this.ui.successNote);\n _this.formState = \"new\";\n _this.getTrainingList();\n });\n };\n /**\n * put an existing training\n *\n * @private\n * @param {ITraining} form\n *\n * @memberOf DetailTrainingController\n */\n DetailTrainingController.prototype.putTraining = function (form) {\n var _this = this;\n this.stammdatenService.putTraining(this.id, form.objectId, form).then(function () {\n _this.ui.notify(_this.ui.successNote);\n _this.formState = \"new\";\n _this.getTrainingList();\n });\n };\n /**\n * edit an existing training\n *\n * @private\n * @param {ITraining} data\n *\n * @memberOf DetailTrainingController\n */\n DetailTrainingController.prototype.editTraining = function (data) {\n this.formState = \"edit\";\n this.form = angular.copy(data);\n this.form.validFrom = moment(data.validFrom).toDate();\n if (this.form.validTo !== null)\n this.form.validTo = moment(data.validTo).toDate();\n };\n /**\n * delete a existing training\n *\n * @private\n * @param {ITraining} data\n *\n * @memberOf DetailTrainingController\n */\n DetailTrainingController.prototype.deleteTraining = function (item) {\n var _this = this;\n this.promptOptions.itemText = item.description;\n QMC.Common.Utilities.confirm(this.promptOptions, function (data) {\n if (data)\n _this.stammdatenService.deleteTraining(_this.id, item.objectId).then(function () {\n _this.ui.notify(_this.ui.deleteNote);\n _this.formState = \"new\";\n _this.getTrainingList();\n });\n });\n };\n DetailTrainingController = __decorate([\n QMC.Controller('QMC.Stammdaten', 'DetailTrainingController'),\n QMC.Inject('StammdatenService', '$qui', 'KlientService', '$stateParams', '$scope', '$state', 'QmcLanguageService', 'QmcPermissionService', 'UserService', '$timeout')\n ], DetailTrainingController);\n return DetailTrainingController;\n }());\n })(Stammdaten = QMC.Stammdaten || (QMC.Stammdaten = {}));\n})(QMC || (QMC = {}));\nvar QMC;\n(function (QMC) {\n var Stammdaten;\n (function (Stammdaten) {\n var DetailAccountingBookController = /** @class */ (function () {\n function DetailAccountingBookController($qui, $stateParams) {\n this.$qui = $qui;\n this.reference = {\n id: $stateParams.id,\n objectType: QMC.Common.Constants.OBJECTTYPE_CLIENT\n };\n this.$qui.functionWaiter(\"createDirective\", this);\n $qui.init($qui.getSectionColor(\"/stammdaten\"), function () {\n $qui.bindEvents();\n $('.qm-card').unbind('click');\n });\n }\n DetailAccountingBookController = __decorate([\n QMC.Controller('QMC.Stammdaten', 'DetailAccountingBookController'),\n QMC.Inject('$qui', '$stateParams')\n ], DetailAccountingBookController);\n return DetailAccountingBookController;\n }());\n })(Stammdaten = QMC.Stammdaten || (QMC.Stammdaten = {}));\n})(QMC || (QMC = {}));\nvar QMC;\n(function (QMC) {\n var Stammdaten;\n (function (Stammdaten) {\n var DetailLegalController = /** @class */ (function () {\n /**\n * QMC.Stammdaten.DetailLegalController\n * @constructor\n * @param stammdatenService\n * @param $qui\n * @param clientService\n * @param $stateParams\n * @param $scope\n * @param $state\n * @param lng\n */\n function DetailLegalController(stammdatenService, $qui, clientService, $stateParams, $scope, $state, lng, permissionService, userService, $timeout, udfService) {\n var _this = this;\n this.stammdatenService = stammdatenService;\n this.$qui = $qui;\n this.clientService = clientService;\n this.$stateParams = $stateParams;\n this.$scope = $scope;\n this.$state = $state;\n this.lng = lng;\n this.permissionService = permissionService;\n this.userService = userService;\n this.$timeout = $timeout;\n this.allowTableExport = false;\n this.ui = new Stammdaten.DetailUI();\n this.lawOwnerPersons = [];\n this.objectType = 140027;\n this.documentObjectType = 140116;\n this.enableDocuments = false;\n this.udfs = [];\n $scope.Model = $scope.Model || { Name: \"xxx\" };\n this.id = $stateParams.id;\n this.permissionLoad = true;\n permissionService.getPermissionsByObjectTypes([this.objectType, this.documentObjectType]).then(function (data) {\n _this.delete = data[0].delete;\n _this.new = data[0].new;\n _this.modify = data[0].modify;\n _this.moduleAccess = data[0].moduleAccess && data[0].view;\n _this.allowTableExport = data[0].print;\n _this.enableDocuments = data[0].moduleAccess;\n $timeout(function () {\n if (!_this.new)\n document.getElementsByName('newModalButton').forEach(function (x) { return x.style.visibility = 'hidden'; });\n else\n document.getElementsByName('newModalButton').forEach(function (x) { return x.style.visibility = 'unset'; });\n });\n _this.$qui.getTableAutoload(_this.userService).then(function (ltd) {\n _this.shouldLoadTableData = ltd;\n if (_this.shouldLoadTableData) {\n _this.getData();\n }\n });\n _this.permissionLoad = false;\n // get possible lawOwners, by generic method (only legal Carer)\n _this.clientService.getPersonsByKeyAssignment('RECHTLICHES_RECHTEINHABER', false).then(function (data) {\n _this.lawOwnerPersons = data;\n _this.getWvList();\n });\n });\n this.lang = lng;\n this.promptOptions = {\n title: \"Rechtliches löschen\",\n yesNo: true,\n icon: \"qm-icon-history2\",\n text: this.lang.translate(20000290, \"Wollen Sie den Eintrag wirklich löschen?\")\n };\n $qui.init($qui.getSectionColor(\"/stammdaten\"), function () {\n $qui.bindEvents();\n $(\".qm-card\").unbind(\"click\");\n });\n this.initForm();\n var vm = this;\n $(\"#edit-form\").on('hidden.bs.modal', function () {\n _this.$state.go('.', { dataId: undefined }, { reload: false });\n $timeout(function () { return vm.initForm(); });\n $(\"#edit-form\").find('.tab-content').children().removeClass('in').removeClass('active');\n $(\"#edit-form\").find('.tab-content').find('#baseDataTab').addClass('in active');\n });\n udfService.getUserDefinedFields(this.objectType).then(function (data) {\n _this.udfs = data.sort(function (a, b) { return a.caption.localeCompare(b.caption); });\n });\n }\n DetailLegalController.prototype.getData = function () {\n this.getLegalList();\n };\n /**\n * init form\n *\n * @private\n *\n * @memberOf DetailLegalController\n */\n DetailLegalController.prototype.initForm = function () {\n this.formState = \"new\";\n this.form = {\n id: null,\n objectId: null,\n parentObjectId: this.id,\n dateFrom: new Date(),\n dateTo: null,\n lawTypeId: null,\n lawTypeName: '',\n firstLawOwnerId: null,\n firstLawOwnerName: '',\n secondLawOwnerId: null,\n secondLawOwnerName: '',\n lawBookId: null,\n lawBookName: '',\n lawBookShortName: '',\n legalScaleId: null,\n legalScaleName: '',\n legalBasisId: null,\n legalBasisName: '',\n comment: '',\n hasNoLawAdditions: false,\n hasNoParagraphs: false,\n personTypeFirst: null,\n personTypeSecond: null,\n };\n };\n /**\n * get the wv list\n *\n * @private\n *\n * @memberOf DetailAddressController\n */\n DetailLegalController.prototype.getWvList = function () {\n var _this = this;\n this.loading = true;\n this.stammdatenService.getLegalWvList().then(function (wvData) {\n _this.wvList = wvData;\n _this.loading = false;\n _this.$qui.functionWaiter(\"ui.createForm\", _this);\n });\n };\n /**\n * get all legal data of a client\n *\n * @private\n *\n * @memberOf DetailLegalController\n */\n DetailLegalController.prototype.getLegalList = function () {\n var _this = this;\n this.loading = true;\n this.stammdatenService.getLegalList(this.$stateParams.client).then(function (data) {\n _this.ui.legalTable.data = data;\n _this.$qui.functionWaiter(\"ui.createTable\", _this);\n _this.loading = false;\n if (_this.$stateParams.dataId) {\n var item = data.filter(function (x) { return x.objectId === _this.$stateParams.dataId; })[0];\n if (item) {\n $(\"#edit-form\").modal('show');\n _this.editLegal(item);\n }\n }\n });\n };\n /**\n * add a new legal\n *\n * @private\n * @param {ILegalCreate} form\n *\n * @memberOf DetailAddressController\n */\n DetailLegalController.prototype.addLegal = function (form) {\n var _this = this;\n if (this.form.lawBookId === null) {\n this.form.legalBasisId = null;\n }\n this.loading = true;\n form.parentObjectId = this.id;\n this.stammdatenService.postLegal(form).then(function (e) {\n _this.ui.notify(_this.ui.successNote);\n _this.getLegalList();\n _this.formState = \"new\";\n $('#edit-form').modal('hide');\n });\n };\n /**\n * Edit an existing legal\n *\n * @private\n * @param {ILegalUpdate} data\n *\n * @memberOf DetailLegalController\n */\n DetailLegalController.prototype.editLegal = function (data) {\n var _this = this;\n this.formState = \"edit\";\n this.$qui.waitForEl('#standardTabButton', function () {\n $('#standardTabButton').click();\n });\n this.$state.go('.', { dataId: data.objectId });\n setTimeout(function () {\n _this.stammdatenService.getLegal(_this.id, data.id).then(function (data) {\n _this.form = data;\n _this.$qui.scopeApply(_this.$scope);\n });\n });\n };\n /**\n * Updates an existing legal by id\n *\n * @private\n *\n * @memberOf DetailLegalController\n */\n DetailLegalController.prototype.putLegal = function () {\n var _this = this;\n if (this.form.lawBookId === null) {\n this.form.legalBasisId = null;\n }\n this.loading = true;\n this.stammdatenService.putLegal(this.form.parentObjectId, this.form.objectId, this.form).then(function (data) {\n _this.ui.notify(_this.ui.successNote);\n _this.formState = \"new\";\n _this.getLegalList();\n $('#edit-form').modal('hide');\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 /**\n * Delete an existing legal by id\n *\n * @private\n * @param {any} data\n *\n * @memberOf DetailLegalController\n */\n DetailLegalController.prototype.deleteLegal = function (item) {\n var _this = this;\n QMC.Common.Utilities.confirm(this.promptOptions, function (data) {\n if (data) {\n _this.stammdatenService.deleteLegal(_this.id, item.objectId).then(function (e) {\n _this.ui.notify(_this.ui.deleteNote);\n _this.formState = \"new\";\n _this.getLegalList();\n });\n }\n });\n };\n /**\n * get the law type list\n *\n * @returns {ng.IPromise}\n *\n * @memberOf DetailLegalController\n */\n DetailLegalController.prototype.getLawTypeList = function () {\n return this.wvList.lawWvList.map(function (obj) {\n return {\n value: obj.objectId,\n text: obj.name\n };\n });\n };\n /**\n * get the law addition list\n *\n * @private\n * @returns {ng.IPromise}\n *\n * @memberOf DetailLegalController\n */\n DetailLegalController.prototype.getLawAdditionList = function () {\n var data = [];\n if (this.form.hasNoLawAdditions) {\n this.form.legalScaleId = null;\n }\n if (this.form.lawTypeId == null)\n return [];\n var lawTypeName = this.getLawTypeName(this.form.lawTypeId);\n data = this.wvList.lawAdditionWvList[lawTypeName];\n this.form.hasNoLawAdditions = (data.length <= 0);\n return data.map(function (obj) {\n return {\n value: obj.objectId,\n text: obj.name\n };\n });\n };\n DetailLegalController.prototype.getLawTypeName = function (lawTypeId) {\n var lawType = this.wvList.lawWvList.filter(function (lawType) { return lawType.objectId === lawTypeId; });\n var lawTypeName = lawType[0].name;\n return lawTypeName.substring(0, 1).toLowerCase() + lawTypeName.substring(1);\n };\n DetailLegalController.prototype.getLawOwnerList = function () {\n var _this = this;\n var list = this.lawOwnerPersons.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 list.unshift({ text: '', value: '', group: '', subText: '' });\n return list;\n };\n DetailLegalController.prototype.getLawBooks = function () {\n return this.wvList.lawBookCategoryWvList.map(function (obj) {\n return {\n value: obj.objectId,\n text: obj.name\n };\n });\n };\n /**\n * get the paragraph (law Basis) list\n *\n * @private\n * @returns {ng.IPromise}\n *\n * @memberOf DetailLegalController\n */\n DetailLegalController.prototype.getParagraphList = function () {\n var _this = this;\n if (this.form.lawBookId === null || this.form.lawBookId === QMC.Common.Constants.GUID_EMPTY) {\n this.form.hasNoParagraphs = true;\n return [];\n }\n var lawBookName = this.getLawBookName(this.form.lawBookId);\n var data = this.wvList.legalBasisWvList[lawBookName];\n if (!data) {\n return [];\n }\n this.form.hasNoParagraphs = (data.length <= 0);\n if (this.form.hasNoParagraphs || this.form.lawBookId === null || this.form.lawBookId === QMC.Common.Constants.GUID_EMPTY) {\n return [];\n }\n var lawBookId = data.find(function (lawBookId) { return lawBookId.objectId === _this.form.legalBasisId; });\n this.form.legalBasisId = lawBookId != null ? lawBookId.objectId : data[0].objectId;\n return data.map(function (obj) {\n return {\n value: obj.objectId,\n text: obj.name\n };\n });\n };\n DetailLegalController.prototype.getLawBookName = function (lawBookId) {\n if (!lawBookId || lawBookId === QMC.Common.Constants.GUID_EMPTY)\n return \"\";\n var lawBook = this.wvList.lawBookCategoryWvList.filter(function (lawBook) { return lawBook.objectId === lawBookId; });\n var lawBookName = lawBook[0].name;\n return lawBookName.substring(0, 1).toLowerCase() + lawBookName.substring(1);\n };\n DetailLegalController = __decorate([\n QMC.Controller(\"QMC.Stammdaten\", \"DetailLegalController\"),\n QMC.Inject(\"StammdatenService\", \"$qui\", \"KlientService\", \"$stateParams\", \"$scope\", \"$state\", \"QmcLanguageService\", \"QmcPermissionService\", 'UserService', '$timeout', 'QmcUdfService')\n ], DetailLegalController);\n return DetailLegalController;\n }());\n })(Stammdaten = QMC.Stammdaten || (QMC.Stammdaten = {}));\n})(QMC || (QMC = {}));\nvar QMC;\n(function (QMC) {\n var Stammdaten;\n (function (Stammdaten) {\n var DetailExtendedMainDataController = /** @class */ (function () {\n /**\n * Creates an instance of DetailExtendedMainDataController.\n * @param {StammdatenService} stammdatenService\n * @param {any} $qui\n * @param {Klient.KlientService} clientService\n * @param {any} $state\n * @param {any} $stateParams\n * @param {any} $scope\n * @param {Common.QmcPermissionService} permissionService\n *\n * @memberOf ExtendedMainDataController\n */\n function DetailExtendedMainDataController(stammdatenService, $qui, clientService, $state, $stateParams, $scope, permissionService, $timeout, employeeService, $location) {\n var _this = this;\n this.stammdatenService = stammdatenService;\n this.$qui = $qui;\n this.clientService = clientService;\n this.$state = $state;\n this.permissionService = permissionService;\n this.$timeout = $timeout;\n this.employeeService = employeeService;\n this.$location = $location;\n // Permissions\n this.ui = new QMC.Stammdaten.DetailUI();\n this.validation = {\n errors: [],\n warnings: []\n };\n this.loading = true;\n this.id = $stateParams.id;\n switch (this.$location.$$path.split('/')[1]) {\n case 'employee':\n this.parentObjectType = 120000;\n this.objectType = 120033; //Mitarbeiter: Erweiterte Stammdaten\n break;\n default:\n this.parentObjectType = 140000;\n this.objectType = 140086; //Kliente: Erweiterte Stammdaten\n break;\n }\n permissionService.getPermissionsByObjectType(this.objectType).then(function (data) {\n _this.delete = data[0].delete;\n _this.new = data[0].new;\n _this.modify = data[0].modify;\n _this.moduleAccess = data[0].moduleAccess;\n });\n this.$qui.waitForEl('#newModalButton', function () {\n document.getElementsByName('newModalButton').forEach(function (x) { return x.style.visibility = 'hidden'; });\n });\n this.initForm();\n this.getWv().then(function () {\n _this.languageWvList = _this.wv.languageWvList.map(function (x) { return ({ text: x.name, value: x.objectId }); });\n _this.familyStatusWvList = _this.wv.familyStatusWvList.map(function (x) { return ({ text: x.name, value: x.objectId }); });\n _this.nationalityWvList = _this.wv.nationalityWvList.map(function (x) { return ({ text: x.name, value: x.objectId }); });\n _this.hairColorWvList = _this.wv.hairColorWvList.map(function (x) { return ({ text: x.name, value: x.objectId }); });\n if (_this.parentObjectType === 140000) {\n _this.languageLevelWvList = _this.wv.languageLevelWvlist.map(function (x) { return ({ text: x.name, value: x.objectId }); });\n _this.bloodCategoryWvList = _this.wv.bloodCategoryWvList.map(function (x) { return ({ text: x.name, value: x.objectId }); });\n _this.eyesColorWvList = _this.wv.eyesColorWvList.map(function (x) { return ({ text: x.name, value: x.objectId }); });\n _this.migrationBackgroundWvList = _this.wv.migrationBackgroundWvList.map(function (x) { return ({ text: x.name, value: x.objectId }); });\n _this.birthCountryWvList = _this.wv.birthCountryWvList.map(function (x) { return ({ text: x.name, value: x.objectId }); });\n }\n else {\n _this.bloodCategoryWvList = _this.wv.bloodTypeWvList.map(function (x) { return ({ text: x.name, value: x.objectId }); });\n _this.eyesColorWvList = _this.wv.eyeColorWvList.map(function (x) { return ({ text: x.name, value: x.objectId }); });\n _this.birthCountryWvList = _this.wv.countryWvList.map(function (x) { return ({ text: x.name, value: x.objectId }); });\n }\n _this.getData(_this.id);\n });\n this.saveEventChange = false;\n }\n /**\n * init form\n *\n * @private\n *\n * @memberOf StammdatenClientDetailController\n */\n DetailExtendedMainDataController.prototype.initForm = function () {\n if (this.parentObjectType === 140000) {\n this.form = {\n id: null,\n objectId: null,\n languageId: null,\n languageLevelId: null,\n secondLanguageId: null,\n secondLanguageLevelId: null,\n thirdLanguageId: null,\n thirdLanguageLevelId: null,\n bloodCategoryId: null,\n hairColorId: null,\n eyesColorId: null,\n familyStatusId: null,\n migrationBackgroundId: null,\n nationalityId: null,\n secondNationalityId: null,\n socialInsuranceNumber: '',\n dateOfDeath: null,\n birthcountryId: null\n };\n }\n else {\n this.form = {\n id: null,\n objectId: null,\n name: '',\n forename: '',\n displayTitle: '',\n abbreviation: '',\n birthday: null,\n gender: null,\n institute: '',\n title: '',\n amountChildren: 0,\n birthName: '',\n birthplace: '',\n bloodType: '',\n bloodTypeId: null,\n comment: '',\n dateOfDeath: null,\n employeeNr: '',\n eyeColor: '',\n eyeColorId: null,\n familyStatus: '',\n familyStatusId: null,\n firstLanguage: '',\n firstLanguageId: null,\n firstNationality: '',\n firstNationalityId: null,\n genderId: null,\n hairColor: '',\n hairColorId: null,\n instituteId: null,\n isBaptized: false,\n originCountry: '',\n originCountryId: null,\n permissions: { view: false, new: false, modify: false, delete: false },\n personStatus: '',\n personStatusId: null,\n postalSalutation: '',\n postalSalutationId: null,\n religion: '',\n religionId: null,\n salutation: '',\n salutationId: null,\n secondLanguage: '',\n secondLanguageId: null,\n secondNationality: '',\n secondNationalityId: null,\n socialInsuranceNumber: '',\n titleId: null,\n };\n }\n };\n /**\n * get the client wv list\n *\n * @private\n * @param {Guid} id\n *\n * @memberOf StammdatenClientDetailController\n */\n DetailExtendedMainDataController.prototype.getWv = function () {\n var _this = this;\n if (this.parentObjectType === 140000) {\n return this.clientService.getClientWv().then(function (data) {\n _this.wv = data;\n });\n }\n else {\n return this.employeeService.getEmployeeWv().then(function (data) {\n _this.wv = data;\n });\n }\n };\n DetailExtendedMainDataController.prototype.getData = function (id) {\n var _this = this;\n if (this.parentObjectType === 140000) {\n return this.clientService.getClientExtendedMainData(id).then(function (data) {\n _this.form = angular.copy(data);\n }).finally(function () {\n _this.loading = false;\n });\n }\n else {\n return this.employeeService.getEmployee(id).then(function (data) {\n _this.form = angular.copy(data);\n }).finally(function () {\n _this.loading = false;\n });\n }\n };\n /**\n * update the extended main data of a client\n *\n * @private\n * @param {Guid} id\n *\n * @memberOf StammdatenClientDetailController\n */\n DetailExtendedMainDataController.prototype.updateData = function (data) {\n var _this = this;\n this.validation.errors.length = 0;\n this.validation.warnings.length = 0;\n var validationRequest = {\n socialInsuranceNumber: this.form.socialInsuranceNumber,\n personObjectId: this.id\n };\n this.stammdatenService.getPersonValidation(validationRequest).then(function (dataValidationResult) {\n _this.validation.errors = dataValidationResult.errors;\n _this.validation.warnings = dataValidationResult.warnings;\n if (_this.validation.errors.length === 0 && _this.validation.warnings.length === 0) {\n _this.saveData();\n }\n else {\n $('#validationModal').modal('toggle');\n }\n });\n };\n DetailExtendedMainDataController.prototype.saveData = function () {\n var _this = this;\n this.saving = true;\n if (this.parentObjectType === 140000) {\n this.clientService.putClientExtendedMainData(this.id, this.form).then(function (dataClient) {\n _this.$qui.notify(_this.$qui.successNote);\n }).finally(function () {\n _this.saving = false;\n });\n ;\n }\n else {\n this.employeeService.putEmployee(this.id, this.form).then(function (dataEmployee) {\n _this.$qui.notify(_this.$qui.successNote);\n }).finally(function () {\n _this.saving = false;\n });\n }\n };\n DetailExtendedMainDataController = __decorate([\n QMC.Controller('QMC.Stammdaten', 'DetailExtendedMainDataController'),\n QMC.Inject('StammdatenService', '$qui', 'KlientService', '$state', '$stateParams', '$scope', 'QmcPermissionService', '$timeout', 'EmployeeService', '$location')\n ], DetailExtendedMainDataController);\n return DetailExtendedMainDataController;\n }());\n })(Stammdaten = QMC.Stammdaten || (QMC.Stammdaten = {}));\n})(QMC || (QMC = {}));\nvar QMC;\n(function (QMC) {\n var Stammdaten;\n (function (Stammdaten) {\n var DetailMedicalEvidenceController = /** @class */ (function () {\n /**\n * QMC.Stammdaten.DetailAdressController\n */\n function DetailMedicalEvidenceController(stammdatenService, $qui, $stateParams, lng, permissionService, userService, $location, $timeout, $scope, udfService) {\n var _this = this;\n this.stammdatenService = stammdatenService;\n this.$qui = $qui;\n this.lng = lng;\n this.userService = userService;\n this.$location = $location;\n this.allowTableExport = false;\n this.ui = new Stammdaten.DetailUI();\n this.udfs = [];\n this.id = $stateParams.id;\n switch (this.$location.$$path.split('/')[1]) {\n case 'employee':\n this.parentObjectType = 120000;\n this.objectType = 120044;\n break;\n default:\n this.parentObjectType = 140000;\n this.objectType = 140044;\n break;\n }\n permissionService.getPermissionsByObjectType(this.objectType).then(function (data) {\n _this.delete = data[0].delete;\n _this.new = data[0].new;\n _this.modify = data[0].modify;\n _this.moduleAccess = data[0].moduleAccess && data[0].view;\n _this.allowTableExport = data[0].print;\n _this.$qui.waitForEl('#newModalButton', function () {\n if (!_this.new)\n document.getElementsByName('newModalButton').forEach(function (x) { return x.style.visibility = 'hidden'; });\n else\n document.getElementsByName('newModalButton').forEach(function (x) { return x.style.visibility = 'unset'; });\n });\n _this.getWv();\n _this.$qui.getTableAutoload(_this.userService).then(function (ltd) {\n _this.shouldLoadTableData = ltd;\n if (_this.shouldLoadTableData) {\n _this.getData();\n }\n });\n });\n $qui.init(undefined, function () {\n $qui.bindEvents();\n $(\".qm-card\").unbind(\"click\");\n });\n this.promptOptions = {\n title: this.lng.translate(20031000, \"Med. Nachweis\"),\n yesNo: true,\n icon: \"qm-icon-history2\",\n text: this.lng.translate(20000290, \"Wollen Sie den Eintrag wirklich löschen?\")\n };\n $(\"#edit-form\").on('hidden.bs.modal', function () {\n $timeout(function () { return $scope.vm.initForm(); });\n $(\"#edit-form\").find('.tab-content').children().removeClass('in').removeClass('active');\n $(\"#edit-form\").find('.tab-content').find('#baseDataTab').addClass('in active');\n });\n udfService.getUserDefinedFields(this.objectType).then(function (data) {\n _this.udfs = data.sort(function (a, b) { return a.caption.localeCompare(b.caption); });\n });\n }\n DetailMedicalEvidenceController.prototype.getData = function () {\n this.getList();\n };\n /////////////// DISPLAY LOGIC ///////////////\n DetailMedicalEvidenceController.prototype.initForm = function () {\n this.formState = \"new\";\n this.form = {\n id: null,\n objectId: null,\n date: new Date(),\n validToDate: null,\n additionalText: '',\n executor: '',\n executorId: null,\n evidenceType: '',\n evidenceTypeId: null,\n evidenceKind: '',\n evidenceKindId: null,\n initiative: '',\n initiativeId: null,\n result: '',\n resultId: null,\n comment: '',\n parentObjectId: this.id\n };\n };\n DetailMedicalEvidenceController.prototype.getEvidenceKind = function () {\n return this.wv.evidenceKindWvList.map(function (x) { return ({ text: x.name, value: x.objectId }); });\n };\n DetailMedicalEvidenceController.prototype.getEvidenceType = function () {\n return this.wv.evidenceTypeWvList.map(function (x) { return ({ text: x.name, value: x.objectId }); });\n };\n DetailMedicalEvidenceController.prototype.getInitiative = function () {\n var list = this.wv.initiativeWvList.map(function (x) { return ({ text: x.name, value: x.objectId }); });\n list.unshift({ text: '', value: '' });\n return list;\n };\n DetailMedicalEvidenceController.prototype.getExecutioner = function () {\n var list = this.executioners.map(function (x) { return ({ text: x.displayTitle, value: x.objectId, group: x.objectTypeCaption }); });\n list.unshift({ text: '', value: '', group: '' });\n return list;\n };\n DetailMedicalEvidenceController.prototype.getResult = function () {\n return this.wv.resultWvList.map(function (x) { return ({ text: x.name, value: x.objectId }); });\n };\n /////////////// SERVICE FUNCTIONS ///////////////\n DetailMedicalEvidenceController.prototype.getWv = function () {\n var _this = this;\n this.stammdatenService.getMedicalEvidenceWvList().then(function (data) {\n _this.wv = data;\n _this.stammdatenService.getMedicalEvidenceExecutioners().then(function (data) {\n _this.executioners = data;\n _this.initForm();\n _this.$qui.functionWaiter(\"ui.createForm\", _this);\n });\n });\n };\n DetailMedicalEvidenceController.prototype.getList = function () {\n var _this = this;\n this.loading = true;\n this.stammdatenService.getMedicalEvidenceList(this.id).then(function (data) {\n _this.ui.medicalEvidenceTable.data = data;\n _this.$qui.functionWaiter(\"ui.createTable\", _this);\n _this.loading = false;\n });\n };\n DetailMedicalEvidenceController.prototype.addMedicalEvidence = function (form) {\n var _this = this;\n this.stammdatenService.postMedicalEvidence(form).then(function () {\n _this.ui.notify(_this.ui.successNote);\n _this.formState = \"new\";\n _this.getList();\n $('#edit-form').modal('hide');\n });\n };\n DetailMedicalEvidenceController.prototype.editMedicalEvidence = function (data) {\n this.formState = \"edit\";\n this.form = data;\n if (data.date)\n this.form.date = this.$qui.createDateFromString(this.form.date);\n if (data.validToDate)\n this.form.validToDate = this.$qui.createDateFromString(this.form.validToDate);\n this.$qui.waitForEl('#standardTabButton', function () {\n $('#standardTabButton').click();\n });\n };\n DetailMedicalEvidenceController.prototype.putMedicalEvidence = function (form) {\n var _this = this;\n this.stammdatenService.putMedicalEvidence(this.id, form.objectId, form).then(function () {\n _this.ui.notify(_this.ui.successNote);\n _this.formState = \"new\";\n _this.getList();\n $('#edit-form').modal('hide');\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 DetailMedicalEvidenceController.prototype.deleteMedicalEvidence = function (item) {\n var _this = this;\n QMC.Common.Utilities.confirm(this.promptOptions, function (data) {\n if (data)\n _this.stammdatenService.deleteMedicalEvidence(_this.id, item.objectId).then(function () {\n _this.ui.notify(_this.ui.deleteNote);\n _this.formState = \"new\";\n _this.getList();\n });\n });\n };\n DetailMedicalEvidenceController = __decorate([\n QMC.Controller(\"QMC.Stammdaten\", \"DetailMedicalEvidenceController\"),\n QMC.Inject(\"StammdatenService\", \"$qui\", \"$stateParams\", \"QmcLanguageService\", \"QmcPermissionService\", 'UserService', '$location', '$timeout', '$scope', 'QmcUdfService')\n ], DetailMedicalEvidenceController);\n return DetailMedicalEvidenceController;\n }());\n })(Stammdaten = QMC.Stammdaten || (QMC.Stammdaten = {}));\n})(QMC || (QMC = {}));\nvar QMC;\n(function (QMC) {\n var Stammdaten;\n (function (Stammdaten) {\n var DetailMedicalResponsibleController = /** @class */ (function () {\n /**\n * QMC.Stammdaten.DetailMedicalResponsibleController\n * @constructor\n * @param stammdatenService\n * @param $qui\n * @param clientService\n * @param $stateParams\n * @param $scope\n * @param $state\n * @param lng\n */\n function DetailMedicalResponsibleController(stammdatenService, $qui, $stateParams, lng, permissionService, userService) {\n var _this = this;\n this.stammdatenService = stammdatenService;\n this.$qui = $qui;\n this.$stateParams = $stateParams;\n this.lng = lng;\n this.permissionService = permissionService;\n this.userService = userService;\n this.allowTableExport = false;\n this.ui = new Stammdaten.DetailUI();\n this.institutes = [];\n this.id = this.$stateParams.id;\n this.medicationIssuedThroughData = null;\n this.medicalResponsibleData = null;\n this.permissionService.getPermissionsByObjectTypes([120028, 120034]).then(function (data) {\n _this.deleteMedicalResponsiblePerm = data[0].delete;\n _this.newMedicalResponsiblePerm = data[0].new;\n _this.modifyMedicalResponsiblePerm = data[0].modify;\n _this.moduleMedicalResponsiblePerm = data[0].moduleAccess && data[0].view;\n _this.deleteMedicationIssuedThrough = data[1].delete;\n _this.newMedicationIssuedThrough = data[1].new;\n _this.modifyMedicationIssuedThrough = data[1].modify;\n _this.moduleAccessMedicationIssuedThrough = data[1].moduleAccess && data[0].view;\n _this.allowTableExport = data[0].print;\n _this.$qui.waitForEl('#newModalButton', function () {\n document.getElementsByName('newModalButton').forEach(function (x) { return x.style.visibility = 'hidden'; });\n });\n _this.getWv();\n _this.$qui.getTableAutoload(_this.userService).then(function (ltd) {\n _this.shouldLoadTableData = ltd;\n if (_this.shouldLoadTableData) {\n _this.getData();\n }\n });\n });\n $qui.init(undefined, function () {\n $qui.bindEvents();\n $(\".qm-card\").unbind(\"click\");\n });\n this.promptOptions = {\n title: this.lng.translate(20034005, \"Med. Verantwortlich / Medikamentausgabe\"),\n yesNo: true,\n icon: \"qm-icon-history2\",\n text: this.lng.translate(20000290, \"Wollen Sie den Eintrag wirklich löschen?\")\n };\n }\n DetailMedicalResponsibleController.prototype.getData = function () {\n this.getList();\n };\n /////////////// DISPLAY LOGIC ///////////////\n DetailMedicalResponsibleController.prototype.initForm = function () {\n this.formState = \"new\";\n this.form = {\n id: null,\n organisationId: null,\n objectId: null,\n assignmentType: this.assignmentType,\n displayTitle: null,\n organisation: null,\n organisationIds: [],\n parentObjectId: null,\n parentObjectType: 130000,\n childObjectId: this.id,\n childObjectType: QMC.Common.Constants.OBJECTTYPE_EMPLOYEE\n };\n };\n DetailMedicalResponsibleController.prototype.getInstitute = function () {\n return this.institutes.map(function (x) { return ({ text: x.caption, value: x.objectId }); });\n ;\n };\n /////////////// SERVICE FUNCTIONS ///////////////\n DetailMedicalResponsibleController.prototype.getWv = function () {\n var _this = this;\n this.stammdatenService.getInstituteList().then(function (data) {\n _this.institutes = data;\n _this.initForm();\n _this.$qui.functionWaiter(\"ui.createForm\", _this);\n });\n };\n DetailMedicalResponsibleController.prototype.getList = function () {\n this.getMedicalResponsibleList();\n this.getMedicationIssuedThroughList();\n };\n DetailMedicalResponsibleController.prototype.getMedicalResponsibleList = function () {\n var _this = this;\n this.loading = true;\n this.stammdatenService.getMedicationResponsibleMedicatioThroughList(this.id, 160).then(function (data) {\n _this.medicalResponsibleData = data;\n _this.ui.medicalResponsibleTable.data = data;\n _this.$qui.functionWaiter(\"ui.createTable\", _this);\n _this.loading = false;\n });\n };\n DetailMedicalResponsibleController.prototype.getMedicationIssuedThroughList = function () {\n var _this = this;\n this.loading = true;\n this.stammdatenService.getMedicationResponsibleMedicatioThroughList(this.id, 150).then(function (data) {\n _this.medicationIssuedThroughData = data;\n _this.ui.medicationIssuedThroughTable.data = data;\n _this.createMedicationIssuedThroughTable();\n _this.loading = false;\n });\n };\n DetailMedicalResponsibleController.prototype.addOrRemoveOrganisationFrom = function (form) {\n var _this = this;\n //first remove from the dataset the removed items\n if (this.form.organisationIds.length > 0) {\n var _loop_1 = function (i) {\n var itemToCheck = form.assignmentType === 160 ? this_1.medicalResponsibleData[i] : this_1.medicationIssuedThroughData[i];\n var itemFound = this_1.form.organisationIds.filter(function (item) { return item === itemToCheck.parentObjectId; });\n if (itemFound.length === 0) {\n this_1.stammdatenService.deleteMedResponsibleIssuedThroughItem(this_1.id, itemToCheck.assignmentType, itemToCheck.objectId);\n }\n };\n var this_1 = this;\n for (var i = 0; i < (form.assignmentType === 160 ? this.medicalResponsibleData.length : this.medicationIssuedThroughData.length); i++) {\n _loop_1(i);\n }\n this.stammdatenService.postMedResponsibleIssuedThroughItem(form).then(function () {\n _this.ui.notify(_this.ui.successNote);\n _this.formState = \"new\";\n setTimeout(function () { _this.getList(); }, 250);\n });\n }\n };\n DetailMedicalResponsibleController.prototype.editMedicalResponsible = function (data) {\n this.formState = \"edit\";\n this.form = data;\n };\n DetailMedicalResponsibleController.prototype.putMedicalResponsible = function (form) {\n var _this = this;\n this.stammdatenService.putMedResponsibleIssuedThroughItem(this.id, form.objectId, form).then(function () {\n _this.ui.notify(_this.ui.successNote);\n _this.formState = \"new\";\n _this.getList();\n });\n };\n DetailMedicalResponsibleController.prototype.deleteMedicalResponsible = function (item) {\n var _this = this;\n QMC.Common.Utilities.confirm(this.promptOptions, function (data) {\n if (data)\n _this.stammdatenService.deleteMedResponsibleIssuedThroughItem(_this.id, item.assignmentType, item.objectId).then(function () {\n _this.ui.notify(_this.ui.deleteNote);\n _this.formState = \"new\";\n _this.getList();\n });\n });\n };\n DetailMedicalResponsibleController.prototype.newEntry = function (assignmentType) {\n this.assignmentType = assignmentType;\n this.initForm();\n for (var i = 0; i < (assignmentType === 160 ? this.medicalResponsibleData.length : this.medicationIssuedThroughData.length); i++) {\n this.form.organisationIds.push(assignmentType === 160 ? this.medicalResponsibleData[i].parentObjectId : this.medicationIssuedThroughData[i].parentObjectId);\n }\n $('#edit-form').modal('show');\n };\n DetailMedicalResponsibleController = __decorate([\n QMC.Controller(\"QMC.Stammdaten\", \"DetailMedicalResponsibleController\"),\n QMC.Inject(\"StammdatenService\", \"$qui\", \"$stateParams\", \"QmcLanguageService\", \"QmcPermissionService\", 'UserService')\n ], DetailMedicalResponsibleController);\n return DetailMedicalResponsibleController;\n }());\n })(Stammdaten = QMC.Stammdaten || (QMC.Stammdaten = {}));\n})(QMC || (QMC = {}));\nvar QMC;\n(function (QMC) {\n var Stammdaten;\n (function (Stammdaten) {\n var DetailTempInstituteChangeController = /** @class */ (function () {\n /**\n * QMC.Stammdaten.DetailAdressController\n * @constructor\n * @param stammdatenService\n * @param $qui\n * @param clientService\n * @param $stateParams\n * @param $scope\n * @param $state\n * @param lng\n */\n function DetailTempInstituteChangeController(stammdatenService, $qui, $stateParams, lng, permissionService, userService) {\n var _this = this;\n this.stammdatenService = stammdatenService;\n this.$qui = $qui;\n this.$stateParams = $stateParams;\n this.lng = lng;\n this.permissionService = permissionService;\n this.userService = userService;\n this.allowTableExport = false;\n this.ui = new Stammdaten.DetailUI();\n this.institutes = [];\n this.id = this.$stateParams.id;\n this.permissionService.getPermissionsByObjectType(820003).then(function (data) {\n _this.delete = data[0].delete;\n _this.new = data[0].new;\n _this.modify = data[0].modify;\n _this.moduleAccess = data[0].moduleAccess && data[0].view;\n _this.allowTableExport = data[0].print;\n _this.$qui.waitForEl('#newModalButton', function () {\n if (!_this.new)\n document.getElementsByName('newModalButton').forEach(function (x) { return x.style.visibility = 'hidden'; });\n else\n document.getElementsByName('newModalButton').forEach(function (x) { return x.style.visibility = 'unset'; });\n });\n _this.getWv();\n _this.$qui.getTableAutoload(_this.userService).then(function (ltd) {\n _this.shouldLoadTableData = ltd;\n if (_this.shouldLoadTableData) {\n _this.getData();\n }\n });\n });\n $qui.init(undefined, function () {\n $qui.bindEvents();\n $(\".qm-card\").unbind(\"click\");\n });\n this.promptOptions = {\n title: this.lng.translate(20032000, \"Temp. Organisationszuordnung\"),\n yesNo: true,\n icon: \"qm-icon-history2\",\n text: this.lng.translate(20000290, \"Wollen Sie den Eintrag wirklich löschen?\")\n };\n }\n DetailTempInstituteChangeController.prototype.getData = function () {\n this.getList();\n };\n /////////////// DISPLAY LOGIC ///////////////\n DetailTempInstituteChangeController.prototype.initForm = function () {\n this.formState = \"new\";\n this.form = {\n id: null,\n objectId: null,\n dateFrom: null,\n dateTo: null,\n institute: '',\n instituteId: null,\n reason: '',\n reasonId: null,\n comment: '',\n parentObjectId: this.id\n };\n };\n DetailTempInstituteChangeController.prototype.getReason = function () {\n return this.wv.reasonWvList.map(function (x) { return ({ text: x.name, value: x.objectId }); });\n };\n DetailTempInstituteChangeController.prototype.getInstitute = function () {\n return this.institutes.map(function (x) { return ({ text: x.caption, value: x.objectId }); });\n ;\n };\n /////////////// SERVICE FUNCTIONS ///////////////\n DetailTempInstituteChangeController.prototype.getWv = function () {\n var _this = this;\n this.stammdatenService.getTempInstituteChangeWvList().then(function (data) {\n _this.wv = data;\n _this.stammdatenService.getInstituteList().then(function (data) {\n _this.institutes = data;\n _this.initForm();\n _this.$qui.functionWaiter(\"ui.createForm\", _this);\n });\n });\n };\n DetailTempInstituteChangeController.prototype.getList = function () {\n var _this = this;\n this.loading = true;\n this.stammdatenService.getTempInstituteChangeList(this.id).then(function (data) {\n _this.ui.tempInstituteChangeTable.data = data;\n _this.$qui.functionWaiter(\"ui.createTable\", _this);\n _this.loading = false;\n });\n };\n DetailTempInstituteChangeController.prototype.addTempInstituteChange = function (form) {\n var _this = this;\n this.stammdatenService.postTempInstituteChange(form).then(function () {\n _this.ui.notify(_this.ui.successNote);\n _this.formState = \"new\";\n _this.getList();\n });\n };\n DetailTempInstituteChangeController.prototype.editTempInstituteChange = function (data) {\n this.formState = \"edit\";\n this.form = data;\n if (data.dateFrom)\n this.form.dateFrom = this.$qui.createDateFromString(this.form.dateFrom);\n if (data.dateTo)\n this.form.dateTo = this.$qui.createDateFromString(this.form.dateTo);\n };\n DetailTempInstituteChangeController.prototype.putTempInstituteChange = function (form) {\n var _this = this;\n this.stammdatenService.putTempInstituteChange(this.id, form.objectId, form).then(function () {\n _this.ui.notify(_this.ui.successNote);\n _this.formState = \"new\";\n _this.getList();\n });\n };\n DetailTempInstituteChangeController.prototype.deleteTempInstituteChange = function (item) {\n var _this = this;\n QMC.Common.Utilities.confirm(this.promptOptions, function (data) {\n if (data)\n _this.stammdatenService.deleteTempInstituteChange(_this.id, item.objectId).then(function () {\n _this.ui.notify(_this.ui.deleteNote);\n _this.formState = \"new\";\n _this.getList();\n });\n });\n };\n DetailTempInstituteChangeController = __decorate([\n QMC.Controller(\"QMC.Stammdaten\", \"DetailTempInstituteChangeController\"),\n QMC.Inject(\"StammdatenService\", \"$qui\", \"$stateParams\", \"QmcLanguageService\", \"QmcPermissionService\", 'UserService')\n ], DetailTempInstituteChangeController);\n return DetailTempInstituteChangeController;\n }());\n })(Stammdaten = QMC.Stammdaten || (QMC.Stammdaten = {}));\n})(QMC || (QMC = {}));\nvar QMC;\n(function (QMC) {\n var Stammdaten;\n (function (Stammdaten) {\n var DetailUdfController = /** @class */ (function () {\n function DetailUdfController($qui, $stateParams, $location) {\n this.$qui = $qui;\n this.$stateParams = $stateParams;\n this.$location = $location;\n this.show = true;\n this.objectType = 140000;\n switch (this.$location.$$path.split('/')[1]) {\n case 'employee':\n this.objectType = 120000;\n break;\n default:\n this.objectType = 140000;\n break;\n }\n this.id = this.$stateParams.id;\n this.type = this.$stateParams.type;\n this.definitionObjectType = this.$stateParams.definitionObjectType;\n this.definitionId = this.$stateParams.definitionId;\n $qui.init($qui.getSectionColor(\"/stammdaten\"), function () {\n $qui.bindEvents();\n $('.qm-card').unbind('click');\n });\n this.$qui.waitForEl('#newModalButton', function () {\n document.getElementsByName('newModalButton').forEach(function (x) { return x.style.visibility = 'hidden'; });\n });\n }\n DetailUdfController = __decorate([\n QMC.Controller('QMC.Stammdaten', 'DetailUdfController'),\n QMC.Inject('$qui', '$stateParams', '$location')\n ], DetailUdfController);\n return DetailUdfController;\n }());\n })(Stammdaten = QMC.Stammdaten || (QMC.Stammdaten = {}));\n})(QMC || (QMC = {}));\nvar QMC;\n(function (QMC) {\n var Stammdaten;\n (function (Stammdaten) {\n /**\n * Stammdaten Detail UserInterface class\n *\n * @export\n * @class UserInterface\n * @extends {Common.UserInterface}\n */\n var DetailUI = /** @class */ (function (_super) {\n __extends(DetailUI, _super);\n function DetailUI(modalId) {\n var _this = _super.call(this) || this;\n _this.modalId = 'edit-form';\n /**\n * Client detail info form\n * @memberOf UserInterface\n */\n _this.infoForm = {\n form: [{\n label: \"Name\",\n type: \"String\",\n lngTag: 20000072,\n model: \"name\",\n required: true,\n validate: {\n message: \"Bitte den Namen angeben\",\n messageTag: 21002015\n },\n style: {\n icon: \"fa fa-font\",\n class: \"col-xs-12 col-md-6\"\n }\n }, {\n label: \"Vorname\",\n required: true,\n type: \"String\",\n lngTag: 20000057,\n model: \"forename\",\n validate: {\n message: \"Bitte den Vornamen angeben\",\n messageTag: 21003037\n },\n style: {\n icon: \"fa fa-font\",\n class: \"col-xs-12 col-md-6\"\n }\n }, {\n label: \"Kürzel\",\n type: \"String\",\n lngTag: 20000221,\n model: \"shortCaption\",\n validate: {\n message: \"Bitte ein Kürzel angeben\",\n messageTag: 21003008\n },\n style: {\n icon: \"fa fa-font\",\n class: \"col-xs-12 col-md-6\"\n }\n }, {\n label: \"Nummer\",\n type: \"String\",\n lngTag: 20000316,\n model: \"clientNumber\",\n validate: {\n message: \"Bitte eine Nummer angeben\",\n messageTag: 21003008\n },\n style: {\n icon: \"fa fa-font\",\n class: \"col-xs-12 col-md-6\"\n }\n }, {\n placeholder: \"Geburtsname\",\n label: \"Geburtsname\",\n type: \"String\",\n lngTag: 21002021,\n model: \"birthname\",\n validate: {\n message: \"Bitte den Geburtsnamen angeben\",\n messageTag: 21002022\n },\n style: {\n icon: \"fa fa-font\",\n class: \"col-xs-12 col-md-6\"\n }\n }, {\n placeholder: \"Geburtsort\",\n label: \"Geburtsort\",\n type: \"String\",\n lngTag: 21002019,\n model: \"birthplace\",\n validate: {\n message: \"Bitte den Geburtsort angeben\",\n messageTag: 21002020\n },\n style: {\n icon: \"fa fa-globe\",\n class: \"col-xs-12 col-md-6\"\n }\n }, {\n placeholder: \"Geburtsdatum\",\n label: \"Geburtsdatum\",\n required: true,\n type: \"Date\",\n lngTag: 21002004,\n model: \"birthday\",\n validate: {\n message: \"Bitte das Geburtsdatum angeben\",\n messageTag: 21002018\n },\n style: {\n class: \"col-xs-12 col-md-6\"\n }\n }, {\n placeholder: \"Anrede angeben ...\",\n label: \"Anrede\",\n type: \"Select\",\n lngTag: 20004005,\n model: \"salutationId\",\n dataSource: \"getSalutationList\",\n style: {\n class: \"col-xs-12 col-md-6\"\n }\n }, {\n placeholder: \"Titel angeben ...\",\n label: \"Titel\",\n type: \"Select\",\n lngTag: 21002024,\n model: \"titleId\",\n dataSource: \"getTitleList\",\n style: {\n class: \"col-xs-12 col-md-6\"\n }\n }, {\n placeholder: \"Titel, nach angeben ...\",\n label: \"Titel, nach\",\n type: \"Select\",\n lngTag: 21002054,\n model: \"secondTitleId\",\n dataSource: \"getSecondTitleList\",\n style: {\n class: \"col-xs-12 col-md-6\"\n }\n }, {\n placeholder: \"Geschlecht angeben ...\",\n label: \"Geschlecht\",\n type: \"Select\",\n lngTag: 21002025,\n model: \"genderId\",\n dataSource: \"getGenderList\",\n style: {\n class: \"col-xs-12 col-md-6\"\n },\n }],\n actions: {\n put: \"updateClient\",\n post: \"\"\n }\n };\n /**\n * Client detail address table\n * @memberOf UserInterface\n */\n _this.addressTable = {\n \"table\": {\n \"Typ\": {\n \"label\": \"addressTypeName\",\n \"dType\": \"string\",\n \"lngTag\": \"20000025\",\n \"style\": \"style\"\n },\n \"Straße\": {\n \"label\": \"street\",\n \"dType\": \"string\",\n \"lngTag\": \"20003001\",\n \"style\": \"style\"\n },\n \"Hausnummer\": {\n \"label\": \"houseNumber\",\n \"dType\": \"string\",\n \"lngTag\": \"20003002\",\n \"style\": \"style\"\n },\n \"PLZ\": {\n \"label\": \"postCode\",\n \"dType\": \"string\",\n \"lngTag\": \"20003005\",\n \"style\": \"style\"\n },\n \"Ort\": {\n \"label\": \"city\",\n \"dType\": \"string\",\n \"lngTag\": \"20003004\",\n \"style\": \"style\"\n },\n \"Land\": {\n \"label\": \"countryName\",\n \"dType\": \"string\",\n \"lngTag\": \"20003521\",\n \"style\": \"style\"\n },\n \"Bundesland\": {\n \"label\": \"stateName\",\n \"dType\": \"string\",\n \"lngTag\": \"20000284\",\n \"style\": \"style\"\n },\n \"Datum von\": {\n \"label\": \"dateFrom\",\n \"dType\": \"Date\",\n \"lngTag\": \"20000047\",\n \"style\": \"style\"\n },\n \"Datum bis\": {\n \"label\": \"dateTo\",\n \"dType\": \"Date\",\n \"lngTag\": \"20000054\",\n \"style\": \"style\"\n },\n \"Aktionen\": [{\n \"icon\": \"qm-icon-pencil blue\",\n \"click\": \"editAdress\",\n \"label\": \"data\",\n \"dType\": \"Button\",\n \"openModal\": \"true\",\n \"targetModal\": \"#\" + _this.modalId,\n \"tooltip\": \"Bearbeiten\",\n \"lngTag\": \"20000044\",\n \"permission\": \"modify\",\n }, {\n \"icon\": \"qm-icon-garbage_can red\",\n \"click\": \"deleteAdress\",\n \"label\": \"data\",\n \"dType\": \"Button\",\n \"tooltip\": \"Löschen\",\n \"lngTag\": \"20000002\",\n \"permission\": \"delete\"\n }]\n },\n \"card\": {\n \"avatar\": {\n \"icon\": \"qm-icon-location_pin\"\n },\n \"text\": {\n \"label\": [\"street\", \"houseNumber\"],\n \"dType\": \"string\",\n \"lngTag\": \"\"\n },\n \"subtext\": [{\n \"label\": \"city\",\n \"dType\": \"string\"\n }, {\n \"label\": \"stateName\",\n \"dType\": \"string\",\n }, {\n \"label\": \"type\",\n \"dType\": \"string\",\n }],\n \"buttons\": [{\n \"icon\": \"qm-icon-pencil blue\",\n \"click\": \"editAdress\",\n \"label\": \"data\",\n \"dType\": \"Button\",\n \"tooltip\": \"Bearbeiten\",\n \"openModal\": \"true\",\n \"targetModal\": \"#\" + _this.modalId,\n \"lngTag\": \"20000044\",\n \"permission\": \"modify\"\n }, {\n \"icon\": \"qm-icon-garbage_can red\",\n \"click\": \"deleteAdress\",\n \"label\": \"data\",\n \"dType\": \"Button\",\n \"tooltip\": \"Löschen\",\n \"lngTag\": \"20000002\",\n \"permission\": \"delete\"\n }]\n },\n \"data\": null,\n };\n /**\n * Client detail address form\n * @memberOf UserInterface\n */\n _this.addressForm = {\n form: [{\n label: \"Land\",\n type: \"Select2\",\n placeholder: \"Land\",\n lngTag: 20003521,\n model: \"objectIdCountry\",\n dataSource: \"getCountryList\",\n events: {\n updateDataSource: \"objectIdState\",\n },\n style: {\n class: \"col-md-6 col-xs-12\",\n },\n wvId: '4969d506-cd05-427f-9cda-afd003cfc8e0',\n wvListData: 'wvList.countriesWvList'\n }, {\n placeholder: \"Bundesland\",\n label: \"Bundesland\",\n type: \"Select2\",\n lngTag: 20000284,\n model: \"objectIdState\",\n dataSource: \"getStatesList\",\n style: {\n class: \"col-md-6 col-xs-12\",\n }\n }, {\n placeholder: \"Adressart wählen ...\",\n label: \"Adressart\",\n type: \"Select2\",\n lngTag: 20003516,\n model: \"objectIdAddressType\",\n dataSource: \"getAdressTypeList\",\n required: true,\n style: {\n class: \"col-xs-12 col-md-6\"\n },\n events: {\n hideExpression: \"(qmForm.isHouseless)\"\n },\n wvId: 'da631a1c-5ace-4f33-8f4a-1aed8a3ade5e',\n wvListData: 'wvList.addressTypeWvList'\n }, {\n placeholder: \"Adressart wählen ...\",\n label: \"Adressart\",\n type: \"Select2\",\n lngTag: 20003516,\n model: \"objectIdAddressType\",\n dataSource: \"getAdressTypeList\",\n required: false,\n style: {\n class: \"col-xs-12 col-md-6\"\n },\n events: {\n hideExpression: \"!(qmForm.isHouseless)\"\n },\n wvId: 'da631a1c-5ace-4f33-8f4a-1aed8a3ade5e',\n wvListData: 'wvList.addressTypeWvList'\n }, {\n type: \"hr\",\n }, {\n label: {\n dateFrom: \"Datum von\",\n dateTo: \"Datum bis\"\n },\n type: \"DateRange\",\n model: {\n dateFrom: \"dateFrom\",\n dateTo: \"dateTo\"\n },\n lngTag: {\n dateFrom: 20000047,\n dateTo: 20000054\n },\n style: {\n class: \"col-xs-12\"\n },\n config: {\n displayDateTo: true,\n dateFromNotRequired: true\n }\n }, {\n label: \"Wohnungslos\",\n type: \"CheckboxInline\",\n lngTag: 20003008,\n model: \"isHouseless\",\n id: \"isHouseless\",\n style: {\n class: \"col-xs-6\"\n }\n }, {\n label: \"Postfach\",\n type: \"CheckboxInline\",\n lngTag: 20003009,\n model: \"isPostOfficeBox\",\n id: \"isPostOfficeBox\",\n style: {\n class: \"col-xs-6\"\n }\n }, {\n placeholder: \"Postfach\",\n placeholderTag: '20003009',\n label: \"Postfach\",\n type: \"String\",\n lngTag: 20003009,\n required: true,\n model: \"street\",\n validate: {\n message: \"Bitte das Postfach angeben\",\n messageTag: 20003524\n },\n events: {\n hideExpression: \"(!(qmForm.isPostOfficeBox)||(qmForm.isHouseless))\"\n },\n style: {\n icon: \"fa fa-road\",\n class: \"col-xs-12\"\n }\n }, {\n placeholder: \"Postfach\",\n placeholderTag: '20003009',\n label: \"Postfach\",\n type: \"String\",\n lngTag: 20003009,\n model: \"street\",\n validate: {\n message: \"Bitte das Postfach angeben\",\n messageTag: 20003524\n },\n events: {\n hideExpression: \"(!(qmForm.isPostOfficeBox)||!(qmForm.isHouseless))\"\n },\n style: {\n icon: \"fa fa-road\",\n class: \"col-xs-12\"\n }\n }, {\n placeholder: \"Straße\",\n placeholderTag: '20003001',\n label: \"Straße\",\n type: \"String\",\n lngTag: 20003001,\n required: true,\n model: \"street\",\n validate: {\n message: \"Bitte den Straßennamen angeben\",\n messageTag: 20003510\n },\n events: {\n hideExpression: \"(qmForm.isHouseless || qmForm.isPostOfficeBox)\"\n },\n style: {\n icon: \"fa fa-road\",\n class: \"col-md-8 col-xs-12\"\n }\n }, {\n placeholder: \"Straße\",\n placeholderTag: '20003001',\n label: \"Straße\",\n type: \"String\",\n lngTag: 20003001,\n model: \"street\",\n validate: {\n message: \"Bitte den Straßennamen angeben\",\n messageTag: 20003510\n },\n events: {\n hideExpression: \"(!qmForm.isHouseless || qmForm.isPostOfficeBox)\"\n },\n style: {\n icon: \"fa fa-road\",\n class: \"col-md-8 col-xs-12\"\n }\n }, {\n placeholder: \"Hausnummer\",\n label: \"Hausnummer\",\n type: \"String\",\n lngTag: 20003006,\n placeholderTag: '20003006',\n maxLength: 10,\n model: \"houseNumber\",\n required: true,\n validate: {\n message: \"Bitte die Hausnummer angeben ( 10 Zeichen Maximal )\"\n },\n events: {\n hideExpression: \"(qmForm.isHouseless || qmForm.isPostOfficeBox)\"\n },\n style: {\n class: \"col-xs-12 col-md-4\",\n icon: \"fa fa-home\",\n }\n }, {\n placeholder: \"Hausnummer\",\n label: \"Hausnummer\",\n type: \"String\",\n lngTag: 20003006,\n placeholderTag: '20003006',\n maxLength: 10,\n model: \"houseNumber\",\n validate: {\n message: \"Bitte die Hausnummer angeben ( 10 Zeichen Maximal )\"\n },\n events: {\n hideExpression: \"(!qmForm.isHouseless || qmForm.isPostOfficeBox)\"\n },\n style: {\n class: \"col-xs-12 col-md-4\",\n icon: \"fa fa-home\",\n }\n }, {\n placeholder: \"PLZ\",\n label: \"PLZ\",\n type: \"Autocomplete\",\n lngTag: 20003005,\n placeholderTag: '20003005',\n required: true,\n maxLength: 10,\n id: \"postCode\",\n model: \"postCode\",\n events: {\n hide: \"isHouseless\"\n },\n validate: {\n message: \"Bitte den PLZ angeben.\"\n },\n style: {\n class: \"col-xs-12 col-md-4\",\n icon: \"fa fa-hashtag\"\n }\n }, {\n placeholder: \"PLZ\",\n label: \"PLZ\",\n type: \"Autocomplete\",\n lngTag: 20003005,\n placeholderTag: '20003005',\n required: false,\n maxLength: 10,\n id: \"postCode\",\n model: \"postCode\",\n events: {\n hideExpression: \"!(qmForm.isHouseless)\"\n },\n validate: {\n message: \"Bitte den PLZ angeben.\"\n },\n style: {\n class: \"col-xs-12 col-md-4\",\n icon: \"fa fa-hashtag\"\n }\n }, {\n label: \"Ort\",\n placeholder: \"Ort eintragen...\",\n type: \"Autocomplete\",\n lngTag: 20003004,\n placeholderTag: '20003004',\n model: \"city\",\n required: true,\n id: \"city\",\n events: {\n hide: \"isHouseless\"\n },\n validate: {\n message: \"Bitte den Ort angeben.\"\n },\n style: {\n class: \"col-md-8 col-xs-12\",\n icon: \"fa fa-globe\"\n }\n }, {\n label: \"Ort\",\n placeholder: \"Ort eintragen...\",\n type: \"Autocomplete\",\n lngTag: 20003004,\n placeholderTag: '20003004',\n model: \"city\",\n required: false,\n id: \"city\",\n events: {\n hideExpression: \"!(qmForm.isHouseless)\"\n },\n validate: {\n message: \"Bitte den Ort angeben.\"\n },\n style: {\n class: \"col-md-8 col-xs-12\",\n icon: \"fa fa-globe\"\n }\n }, {\n placeholder: \"Bemerkung eintragen ...\",\n label: \"Bemerkung\",\n type: \"Textarea\",\n lngTag: 20000049,\n placeholderTag: '20000049',\n model: \"comment\",\n maxLength: 255,\n style: {\n icon: \"qm-icon-note_text\",\n class: \"col-xs-12\",\n }\n }, {\n label: \"Als Standard\",\n type: \"CheckboxInline\",\n lngTag: 20000070,\n model: \"isMainRecord\",\n id: \"isMainRecord\",\n style: {\n class: \"col-xs-6 col-sm-4\"\n }\n }, {\n label: \"Keine Datenweitergabe\",\n type: \"CheckboxInline\",\n lngTag: 20023021,\n model: \"isDatatransferForbidden\",\n id: \"isDatatransferForbidden\",\n style: {\n class: \"col-xs-6 col-sm-4\"\n }\n }, {\n label: \"Notfalldaten\",\n type: \"CheckboxInline\",\n lngTag: 20003525,\n model: \"isEmergency\",\n id: \"isEmergency\",\n style: {\n class: \"col-xs-6 col-sm-4\"\n }\n }],\n actions: {\n put: \"putAddress\",\n post: \"addAddress\"\n }\n };\n /**\n * Client detail communication table\n * @memberOf UserInterface\n */\n _this.checklistTable = {\n \"config\": {\n \"defaultSort\": \"order\",\n \"sortReverse\": \"false\",\n },\n \"table\": {\n \"StatusIcon\": {\n \"label\": \"isChecked\",\n \"dType\": \"Bool\",\n \"noHeader\": true\n },\n \"Status\": {\n \"label\": \"state\",\n \"dType\": \"string\",\n \"lngTag\": \"20000164\"\n },\n \"Bezeichnung\": {\n \"label\": \"caption\",\n \"dType\": \"string\",\n \"lngTag\": \"20000053\"\n },\n \"Erhalten am\": {\n \"label\": \"date\",\n \"dType\": \"Date\",\n \"lngTag\": \"20011508\",\n },\n \"Gültig von\": {\n \"label\": \"dateFrom\",\n \"dType\": \"Date\",\n \"lngTag\": \"20000277\"\n },\n \"Gültig bis\": {\n \"label\": \"dateTo\",\n \"dType\": \"Date\",\n \"lngTag\": \"20000278\"\n },\n \"Wiedervorlage am\": {\n \"label\": \"dateShowAgain\",\n \"dType\": \"Date\",\n \"lngTag\": \"20011509\"\n },\n \"Aktionen\": [{\n \"icon\": \"qm-icon-checkbox green\",\n \"click\": \"newCheck\",\n \"label\": \"data\",\n \"dType\": \"Button\",\n \"tooltip\": \"Abhaken\",\n \"lngTag\": \"20011517\",\n \"permission\": \"new\",\n \"openModal\": \"true\",\n \"targetModal\": \"#\" + _this.modalId\n }, {\n \"icon\": \"qm-icon-eye blue\",\n \"click\": \"editCheck\",\n \"label\": \"data\",\n \"dType\": \"Button\",\n \"tooltip\": \"Ansehen\",\n \"lngTag\": \"20000141\",\n \"openModal\": \"true\",\n \"targetModal\": \"#\" + _this.modalId,\n \"events\": {\n \"hide\": \"!isChecked\"\n }\n }, {\n \"icon\": \"qm-icon-garbage_can red\",\n \"click\": \"deleteCheck\",\n \"label\": \"data\",\n \"dType\": \"Button\",\n \"tooltip\": \"Löschen\",\n \"lngTag\": \"20000002\",\n \"permission\": \"delete\",\n \"events\": {\n \"hide\": \"!isChecked\"\n }\n }]\n },\n \"card\": {\n \"avatar\": {\n \"icon\": \"qm-icon-check\"\n },\n \"text\": {\n \"label\": \"caption\",\n \"dType\": \"string\"\n },\n \"subtext\": [{\n \"label\": \"state\",\n \"dType\": \"string\",\n \"type\": \"type\"\n }, {\n \"label\": \"date\",\n \"dType\": \"Date\",\n \"type\": \"type\"\n }],\n \"buttons\": [{\n \"icon\": \"qm-icon-plus green\",\n \"click\": \"newCheck\",\n \"label\": \"data\",\n \"dType\": \"Button\",\n \"tooltip\": \"Neu\",\n \"lngTag\": \"20000298\",\n \"permission\": \"new\",\n \"openModal\": \"true\",\n \"targetModal\": \"#\" + _this.modalId\n }, {\n \"icon\": \"qm-icon-eye blue\",\n \"click\": \"editCheck\",\n \"label\": \"data\",\n \"dType\": \"Button\",\n \"tooltip\": \"Ansehen\",\n \"lngTag\": \"20000141\",\n \"openModal\": \"true\",\n \"targetModal\": \"#\" + _this.modalId,\n \"events\": {\n \"hide\": \"!isChecked\"\n }\n }, {\n \"icon\": \"qm-icon-garbage_can red\",\n \"click\": \"deleteCheck\",\n \"label\": \"data\",\n \"dType\": \"Button\",\n \"tooltip\": \"Löschen\",\n \"lngTag\": \"20000002\",\n \"permission\": \"delete\",\n \"events\": {\n \"hide\": \"!isChecked\"\n }\n }]\n },\n \"data\": null,\n };\n _this.checklistHistoryTable = {\n \"config\": {\n \"defaultSort\": \"date\",\n \"sortReverse\": \"true\",\n },\n \"table\": {\n \"StatusIcon\": {\n \"label\": \"isChecked\",\n \"dType\": \"Bool\",\n \"noHeader\": true\n },\n \"Status\": {\n \"label\": \"state\",\n \"dType\": \"string\",\n \"lngTag\": \"20000164\"\n },\n \"Erhalten am\": {\n \"label\": \"date\",\n \"dType\": \"Date\",\n \"lngTag\": \"20011508\",\n },\n \"Gültig von\": {\n \"label\": \"dateFrom\",\n \"dType\": \"Date\",\n \"lngTag\": \"20000277\"\n },\n \"Gültig bis\": {\n \"label\": \"dateTo\",\n \"dType\": \"Date\",\n \"lngTag\": \"20000278\"\n },\n \"Aktionen\": [{\n \"icon\": \"qm-icon-eye blue\",\n \"click\": \"editHistory\",\n \"label\": \"data\",\n \"dType\": \"Button\",\n \"tooltip\": \"Ansehen\",\n \"lngTag\": \"20000141\",\n \"openModal\": \"true\",\n \"targetModal\": \"#historyFormModal\",\n \"permission\": \"historyModuleAccess\"\n }, {\n \"icon\": \"qm-icon-garbage_can red\",\n \"click\": \"deleteHistory\",\n \"label\": \"data\",\n \"dType\": \"Button\",\n \"tooltip\": \"Löschen\",\n \"lngTag\": \"20000002\",\n \"permission\": \"historyDelete\"\n }, {\n \"icon\": \"qm-icon-note_text darkslategray\",\n \"click\": \"toggleCommentModal\",\n \"label\": \"Comment\",\n \"dType\": \"Button\",\n \"events\": {\n \"hide\": \"!comment\",\n },\n \"tooltip\": \"Bemerkung\",\n \"lngTag\": \"20000049\",\n }]\n },\n \"card\": {\n \"avatar\": {\n \"icon\": \"qm-icon-check\"\n },\n \"text\": {\n \"label\": \"state\",\n \"dType\": \"string\"\n },\n \"subtext\": [{\n \"label\": \"date\",\n \"dType\": \"Date\",\n \"type\": \"type\"\n }],\n \"buttons\": [{\n \"icon\": \"qm-icon-eye blue\",\n \"click\": \"editHistory\",\n \"label\": \"data\",\n \"dType\": \"Button\",\n \"tooltip\": \"Ansehen\",\n \"lngTag\": \"20000141\",\n \"openModal\": \"true\",\n \"targetModal\": \"#historyFormModal\",\n \"permission\": \"historyModuleAccess\"\n }, {\n \"icon\": \"qm-icon-note_text darkslategray\",\n \"click\": \"toggleCommentModal\",\n \"label\": \"Comment\",\n \"dType\": \"Button\",\n \"events\": {\n \"hide\": \"!comment\",\n },\n \"tooltip\": \"Bemerkung\",\n \"lngTag\": \"20000049\",\n }]\n },\n \"data\": null,\n };\n _this.checklistForm = {\n form: [\n {\n label: \"Erhalten am\",\n type: \"Date\",\n lngTag: 20011508,\n model: \"date\",\n required: true,\n validate: {\n message: \"Bitte das Datum angeben\",\n messageTag: 0,\n },\n style: {\n icon: \"fa fa-calendar\",\n class: \"col-md-6 col-xs-12\"\n }\n }, {\n label: \"Wiedervorlage am\",\n type: \"Date\",\n lngTag: 20011509,\n model: \"dateShowAgain\",\n style: {\n icon: \"fa fa-calendar-o\",\n class: \"col-md-6 col-xs-12\"\n }\n }, {\n label: {\n dateFrom: \"Gültig von\",\n dateTo: \"Gültig bis\"\n },\n type: \"DateRange\",\n model: {\n dateFrom: \"dateFrom\",\n dateTo: \"dateTo\"\n },\n lngTag: {\n dateFrom: 20000277,\n dateTo: 20000278\n },\n style: {\n class: \"col-xs-12\"\n },\n config: {\n displayDateTo: true,\n dateFromNotRequired: true\n }\n }, {\n // commented since this is only applicable if workflow license is granted which is actually newver the case\n // label: \"Erinnerung\",\n // type: \"Checkbox\",\n // lngTag: 20011507,\n // model: \"reminderActive\",\n // style: {\n // class: \"col-xs-12 col-md-4\"\n // }\n //},\n //{\n // lngTag: \"20011506\",\n // label: \"Tage vorher\",\n // type: \"Number\",\n // model: \"reminder\",\n // style: {\n // class: \"col-md-6 col-xs-12\",\n // icon: \"qm-icon-calendar_5\"\n // },\n // events: {\n // hideExpression: \"!qmForm.reminderActive\"\n // }\n //}, {\n label: \"Bemerkung\",\n type: \"Summernote\",\n lngTag: \"20000049\",\n model: \"comment\",\n style: {\n class: \"col-xs-12\",\n }\n }\n ],\n actions: {\n post: \"addChecklist\",\n put: \"putChecklist\"\n }\n };\n /**\n * Client detail communication table\n * @memberOf UserInterface\n */\n _this.communicationTable = {\n \"table\": {\n \"Typ\": {\n \"label\": \"communicationTypeName\",\n \"dType\": \"string\",\n \"lngTag\": \"20005504\",\n \"style\": \"style\"\n },\n \"Kommunikationsart\": {\n \"label\": \"communicationCategoryName\",\n \"dType\": \"string\",\n \"lngTag\": \"20005511\",\n \"style\": \"style\"\n },\n \"Adresse\": {\n \"label\": \"displayAddress\",\n \"dType\": \"string\",\n \"lngTag\": \"20001045\",\n \"style\": \"style\",\n \"type\": \"type\"\n },\n \"Datum von\": {\n \"label\": \"dateFrom\",\n \"dType\": \"Date\",\n \"lngTag\": \"20000047\"\n },\n \"Datum bis\": {\n \"label\": \"dateTo\",\n \"dType\": \"Date\",\n \"lngTag\": \"20000054\"\n },\n \"Aktionen\": [{\n \"icon\": \"qm-icon-pencil blue\",\n \"click\": \"editCommunication\",\n \"label\": \"data\",\n \"dType\": \"Button\",\n \"openModal\": \"true\",\n \"targetModal\": \"#\" + _this.modalId,\n \"tooltip\": \"Bearbeiten\",\n \"lngTag\": \"20000044\",\n \"permission\": \"modify\"\n }, {\n \"icon\": \"qm-icon-garbage_can red\",\n \"click\": \"deleteCommunication\",\n \"label\": \"data\",\n \"dType\": \"Button\",\n \"tooltip\": \"Löschen\",\n \"lngTag\": \"20000002\",\n \"permission\": \"delete\"\n }]\n },\n \"card\": {\n \"avatar\": {\n \"icon\": \"qm-icon-book_telephone\"\n },\n \"text\": {\n \"label\": \"communicationCategoryName\",\n \"dType\": \"string\"\n },\n \"subtext\": [{\n \"label\": \"displayAddress\",\n \"dType\": \"string\",\n \"type\": \"type\"\n }, {\n \"label\": \"communicationTypeName\",\n \"dType\": \"string\",\n }],\n \"buttons\": [{\n \"icon\": \"qm-icon-pencil blue\",\n \"click\": \"editCommunication\",\n \"label\": \"data\",\n \"dType\": \"Button\",\n \"openModal\": \"true\",\n \"targetModal\": \"#\" + _this.modalId,\n \"tooltip\": \"Bearbeiten\",\n \"lngTag\": \"20000044\",\n \"permission\": \"modify\"\n }, {\n \"icon\": \"qm-icon-garbage_can red\",\n \"click\": \"deleteCommunication\",\n \"label\": \"data\",\n \"dType\": \"Button\",\n \"tooltip\": \"Löschen\",\n \"lngTag\": \"20000002\",\n \"permission\": \"delete\"\n }]\n },\n \"data\": null,\n };\n /**\n * Client detail communication form\n * @memberOf UserInterface\n */\n _this.communicationForm = {\n form: [\n {\n label: \"Datum von\",\n type: \"Date\",\n lngTag: 20000047,\n model: \"dateFrom\",\n style: {\n icon: \"fa qm-icon-calendar_7\",\n class: \"col-md-6 col-xs-12\"\n }\n },\n {\n label: \"Datum bis\",\n type: \"Date\",\n lngTag: 20000054,\n model: \"dateTo\",\n style: {\n icon: \"fa qm-icon-calendar_7\",\n class: \"col-md-6 col-xs-12\"\n }\n }, {\n placeholder: \"Kommunikationstyp\",\n placeholderTag: \"20005504\",\n label: \"Kommunikationstyp\",\n type: \"Select\",\n lngTag: 20005504,\n id: \"typeId\",\n model: \"communicationTypeId\",\n required: true,\n dataSource: \"getCommunicationTypeList\",\n //events: {\n // updateDataSource: \"communicationCategoryId\"\n //},\n style: {\n class: \"col-xs-12 col-md-6\"\n }\n }, {\n placeholder: \"Kommunikationsart wählen...\",\n placeholderTag: \"20005511\",\n label: \"Kommunikationsart\",\n type: \"Select2\",\n lngTag: 20005511,\n model: \"communicationCategoryId\",\n dataSource: \"getCommunicationCategoryList\",\n style: {\n class: \"col-xs-12 col-md-6\"\n },\n validate: {\n message: \"Bitte eine Art auswählen!\"\n },\n wvId: '05dd15e1-4db2-4b55-b92c-e150ed00e300',\n wvSubParent: 'communicationTypeId'\n }, {\n placeholder: \"E-Mail-Adresse\",\n placeholderTag: \"20000069\",\n label: \"E-Mail-Adresse\",\n type: \"String\",\n lngTag: 20000069,\n required: true,\n model: \"targetAddress\",\n style: {\n class: \"col-xs-12 col-md-6\",\n icon: \"fa fa-at\"\n },\n events: {\n hideExpression: \"!(qmForm.communicationTypeId == '53fd55a0-9efe-41aa-9099-5c3b7b4e972f')\"\n },\n validate: {\n message: \"Bitte eine E-Mail Adresse angeben.\",\n },\n }, {\n placeholder: \"Landesvorwahl\",\n placeholderTag: \"20005505\",\n label: \"Landesvorwahl\",\n type: \"String\",\n lngTag: 20005505,\n model: \"countryCode\",\n style: {\n class: \"col-xs-12 col-md-6\",\n icon: \"fa fa-fax\"\n },\n events: {\n hideExpression: \"!(qmForm.communicationTypeId == '930511d9-aa40-4927-b8b0-bbfc2e040de6' || qmForm.communicationTypeId == '6729f858-ca6d-4efe-8397-376133a2d974')\"\n },\n validate: {\n message: \"Bitte die Landesvorwahl angeben.\",\n },\n }, {\n placeholder: \"Ortsvorwahl\",\n placeholderTag: \"20005506\",\n label: \"Ortsvorwahl\",\n type: \"String\",\n lngTag: 20005506,\n model: \"areaCode\",\n style: {\n class: \"col-xs-12 col-md-6\",\n icon: \"fa fa-fax\"\n },\n events: {\n hideExpression: \"!(qmForm.communicationTypeId == '930511d9-aa40-4927-b8b0-bbfc2e040de6' || qmForm.communicationTypeId == '6729f858-ca6d-4efe-8397-376133a2d974')\"\n },\n validate: {\n message: \"Bitte die Ortsvorwahl angeben.\",\n },\n }, {\n placeholder: \"Rufnummer\",\n placeholderTag: \"20005507\",\n label: \"Rufnummer\",\n type: \"String\",\n lngTag: 20005507,\n required: true,\n model: \"targetAddress\",\n style: {\n class: \"col-xs-12 col-md-6\",\n icon: \"fa fa-fax\"\n },\n events: {\n hideExpression: \"!(qmForm.communicationTypeId == '930511d9-aa40-4927-b8b0-bbfc2e040de6' || qmForm.communicationTypeId == '6729f858-ca6d-4efe-8397-376133a2d974')\"\n },\n validate: {\n message: \"Bitte die Rufnummer angeben.\",\n },\n }, {\n placeholder: \"Messenger\",\n placeholderTag: \"20005512\",\n label: \"Messenger\",\n type: \"String\",\n lngTag: 20005512,\n required: true,\n model: \"targetAddress\",\n style: {\n class: \"col-xs-12 col-md-6\",\n icon: \"fa fa-comments-o\"\n },\n events: {\n hideExpression: \"!(qmForm.communicationTypeId == '968deb9e-9e7a-417b-b096-a20dac7e61b8')\"\n },\n validate: {\n message: \"Bitte die Messenger ID angeben.\",\n },\n }, {\n placeholder: \"Website\",\n placeholderTag: \"20000014\",\n label: \"Website\",\n type: \"String\",\n lngTag: 20000014,\n model: \"targetAddress\",\n required: true,\n style: {\n class: \"col-xs-12 col-md-6\",\n icon: \"fa fa-share-square-o\"\n },\n events: {\n hideExpression: \"!(qmForm.communicationTypeId == 'f25005b8-3a66-4b36-9395-60ce7896f7d6')\"\n },\n validate: {\n message: \"Bitte die Website angeben.\",\n },\n }, {\n placeholder: \"Sonstige\",\n placeholderTag: \"20000238\",\n label: \"Sonstige\",\n type: \"String\",\n lngTag: 20000238,\n required: true,\n model: \"targetAddress\",\n style: {\n class: \"col-xs-12 col-md-6\",\n icon: \"qm-icon-note_text\"\n },\n events: {\n hideExpression: \"!(qmForm.communicationTypeId == '9088ac4c-8ff8-4d6b-939a-19e9ad252cc9')\"\n },\n validate: {\n message: \"Bitte angeben.\",\n },\n }, {\n type: \"hr\"\n }, {\n placeholder: \"Bemerkung eintragen ...\",\n placeholderTag: \"20000049\",\n label: \"Bemerkung\",\n type: \"Textarea\",\n maxLength: 255,\n lngTag: 20000049,\n model: \"comment\",\n style: {\n class: \"col-xs-12 col-md-12\",\n icon: \"qm-icon-note_text\"\n }\n }, {\n label: \"Standard\",\n type: \"Checkbox\",\n lngTag: 20000070,\n model: \"isMainRecord\",\n id: \"com_isMainRecord\",\n style: {\n class: \"col-xs-12 col-md-4\"\n }\n }, {\n label: \"Standard pro Typ\",\n type: \"Checkbox\",\n lngTag: 20005521,\n model: \"isTypeMain\",\n id: \"com_isTypeMain\",\n style: {\n class: \"col-xs-12 col-md-4\"\n }\n }, {\n label: \"Keine Datenweitergabe\",\n type: \"Checkbox\",\n lngTag: 20023021,\n model: \"isDatatransferForbidden\",\n id: \"isDatatransferForbidden\",\n style: {\n class: \"col-xs-12 col-md-4\"\n }\n }\n ],\n actions: {\n post: \"addCommunication\",\n put: \"putCommunication\"\n }\n };\n /**\n * Client detail contact person table\n * @memberOf UserInterface\n */\n _this.contactPersonTable = {\n \"config\": {\n \"defaultSort\": \"category\"\n },\n \"table\": {\n \"Kategorie\": {\n \"label\": \"category\",\n \"dType\": \"string\",\n \"lngTag\": \"20000137\",\n \"style\": \"style\"\n },\n \"Vorname\": {\n \"label\": \"forename\",\n \"dType\": \"string\",\n \"lngTag\": \"20000057\",\n \"style\": \"style\"\n },\n \"Nachname\": {\n \"label\": \"name\",\n \"dType\": \"string\",\n \"lngTag\": \"20000058\",\n \"style\": \"style\"\n },\n \"Kontaktpersonart\": {\n \"label\": \"contactPersonType\",\n \"dType\": \"string\",\n \"lngTag\": \"20004003\",\n \"style\": \"style\"\n },\n \"Kommunikation\": {\n \"label\": \"mainCommunication\",\n \"dType\": \"string\",\n \"lngTag\": \"20001047\",\n \"style\": \"style\",\n \"type\": \"type\"\n },\n \"Bemerkung\": {\n \"lngTag\": \"20000049\",\n \"label\": \"comment\",\n \"dType\": \"string\",\n \"style\": \"style\"\n },\n \"Aktionen\": [{\n \"icon\": \"qm-button blue qm-icon-eye green\",\n \"click\": \"showDetailContact\",\n \"label\": \"data\",\n \"dType\": \"Button\",\n \"tooltip\": \"Ansehen\",\n \"lngTag\": \"20000141\",\n \"permission\": \"modify\",\n \"events\": {\n //\"hide\": \"showActions\"\n }\n }, {\n \"icon\": \"qm-icon-pencil blue\",\n \"click\": \"editContact\",\n \"openModal\": \"true\",\n \"targetModal\": \"#\" + _this.modalId,\n \"label\": \"data\",\n \"dType\": \"Button\",\n \"tooltip\": \"Bearbeiten\",\n \"lngTag\": \"20000044\",\n \"permission\": \"modify\",\n \"events\": {\n \"hide\": \"!showActions\"\n }\n }, {\n \"icon\": \"qm-icon-garbage_can red\",\n \"click\": \"deleteContact\",\n \"label\": \"data\",\n \"dType\": \"Button\",\n \"tooltip\": \"Löschen\",\n \"lngTag\": \"20000002\",\n \"permission\": \"delete\",\n \"events\": {\n \"hide\": \"!showActions\"\n }\n }, {\n \"icon\": \"qm-icon-location_pin grey\",\n \"click\": \"newAddress\",\n \"openModal\": \"true\",\n \"targetModal\": \"#edit-adress\",\n \"dType\": \"Button\",\n \"tooltip\": \"Adresse hinzufügen\",\n \"lngTag\": \"20000142\",\n \"permission\": \"newAdr\",\n \"events\": {\n \"hide\": \"!showActions\"\n }\n }, {\n \"icon\": \"qm-icon-book_telephone\",\n \"click\": \"newCommunication\",\n \"openModal\": \"true\",\n \"targetModal\": \"#edit-communication\",\n \"dType\": \"Button\",\n \"tooltip\": \"Kommunikation hinzufügen\",\n \"lngTag\": \"20000143\",\n \"permission\": \"newCom\",\n \"events\": {\n \"hide\": \"!showActions\"\n }\n }, {\n \"icon\": \"qm-icon-cloud\",\n \"click\": \"createConnectUser\",\n \"dType\": \"Button\",\n \"tooltip\": \"myneva.connect Benutzer anlegen\",\n \"lngTag\": \"20003526\",\n \"permission\": \"isConnectRegistrationAvailable\",\n \"events\": {\n \"hide\": \"!showActions\"\n }\n }]\n },\n \"card\": {\n \"avatar\": {\n \"icon\": \"qm-icon-users\"\n },\n \"text\": {\n \"label\": [\"name\", \"forename\"],\n \"dType\": \"string\",\n \"style\": \"style\"\n },\n \"subtext\": [{\n \"label\": \"contactPersonType\",\n \"dType\": \"string\",\n \"style\": \"style\"\n }, {\n \"label\": \"mainCommunication\",\n \"dType\": \"string\",\n \"style\": \"style\"\n }, {\n \"label\": \"stateName\",\n \"dType\": \"string\",\n \"style\": \"style\"\n }, {\n \"label\": \"type\",\n \"dType\": \"string\",\n \"style\": \"style\"\n }],\n \"buttons\": [{\n \"icon\": \"qm-button blue qm-icon-eye green\",\n \"click\": \"showDetailContact\",\n \"label\": \"data\",\n \"dType\": \"Button\",\n \"tooltip\": \"Ansehen\",\n \"lngTag\": \"20000141\",\n \"permission\": \"modify\",\n \"events\": {\n //\"hide\": \"hideActions\"\n }\n }, {\n \"icon\": \"qm-icon-pencil blue\",\n \"click\": \"editContact\",\n \"openModal\": \"true\",\n \"targetModal\": \"#\" + _this.modalId,\n \"label\": \"data\",\n \"dType\": \"Button\",\n \"tooltip\": \"Bearbeiten\",\n \"lngTag\": \"20000044\",\n \"permission\": \"modify\",\n \"events\": {\n \"hide\": \"!showActions\"\n }\n }, {\n \"icon\": \"qm-icon-garbage_can red\",\n \"click\": \"deleteContact\",\n \"label\": \"data\",\n \"dType\": \"Button\",\n \"tooltip\": \"Löschen\",\n \"lngTag\": \"20000002\",\n \"permission\": \"delete\",\n \"events\": {\n \"hide\": \"!showActions\"\n }\n }, {\n \"icon\": \"qm-icon-location_pin grey\",\n \"click\": \"newAddress\",\n \"openModal\": \"true\",\n \"targetModal\": \"#edit-adress\",\n \"dType\": \"Button\",\n \"tooltip\": \"Adresse hinzufügen\",\n \"lngTag\": \"20000142\",\n \"permission\": \"newAdr\",\n \"events\": {\n \"hide\": \"!showActions\"\n }\n }, {\n \"icon\": \"qm-icon-book_telephone\",\n \"click\": \"newCommunication\",\n \"openModal\": \"true\",\n \"targetModal\": \"#edit-communication\",\n \"dType\": \"Button\",\n \"tooltip\": \"Kommunikation hinzufügen\",\n \"lngTag\": \"20000143\",\n \"permission\": \"newCom\",\n \"events\": {\n \"hide\": \"!showActions\"\n }\n }, {\n \"icon\": \"qm-icon-cloud\",\n \"click\": \"createConnectUser\",\n \"dType\": \"Button\",\n \"tooltip\": \"myneva.connect Benutzer anlegen\",\n \"lngTag\": \"20003526\",\n \"permission\": \"isConnectRegistrationAvailable\",\n \"events\": {\n \"hide\": \"!showActions\"\n }\n }]\n },\n \"data\": null,\n };\n /**\n * Client detail contact person form\n * @memberOf UserInterface\n */\n _this.contactPersonForm = {\n form: [{\n placeholder: \"Kontaktpersonart auswählen\",\n placeholderTag: \"20004003\",\n label: \"Kontaktpersonart\",\n type: \"Select2\",\n model: \"contactPersonTypeId\",\n lngTag: 20004003,\n required: true,\n dataSource: \"getContactPersonTypeList\",\n style: {\n class: \"col-md-6 col-xs-12\",\n },\n validate: {\n message: \"Bitte die Art auswählen!\"\n },\n wvId: '3829213d-7823-4c31-b478-ac818b62c3a4',\n wvListData: 'wvList.contactPersonTypeWvList'\n }, {\n placeholder: \"Anrede auswählen\",\n placeholderTag: \"20004005\",\n label: \"Anrede\",\n type: \"Select2\",\n model: \"salutationId\",\n lngTag: 20004005,\n dataSource: \"getSalutationList\",\n style: {\n class: \"col-md-6 col-xs-12\",\n },\n validate: {\n message: \"Bitte die Anrede auswählen!\"\n },\n wvId: 'a1aaf203-f1ee-4147-abb1-1e2426303f6c',\n wvListData: 'wvList.salutationWvList'\n }, {\n placeholder: \"Titel auswählen\",\n placeholderTag: \"21002024\",\n label: \"Titel\",\n type: \"Select2\",\n model: \"titleId\",\n lngTag: 21002024,\n dataSource: \"getTitleList\",\n style: {\n class: \"col-md-6 col-xs-12\"\n },\n wvId: '9fb4b9b9-33ad-4e7c-ac26-df3eacca2eba',\n wvListData: 'wvList.titleWvList'\n }, {\n label: \"Titel, nach\",\n type: \"Select2\",\n model: \"secondTitleId\",\n lngTag: 21002054,\n dataSource: \"getSecondTitleList\",\n style: {\n class: \"col-md-6 col-xs-12\"\n },\n wvId: 'd0b392c7-3f9f-48d0-9c1b-6d6bf19f7352',\n wvListData: 'wvList.secondTitleWvList'\n }, {\n type: \"hr\"\n }, {\n placeholder: \"Vorname\",\n placeholderTag: \"20000057\",\n label: \"Vorname\",\n type: \"String\",\n lngTag: 20000057,\n model: \"forename\",\n validate: {\n message: \"Bitte den Vornamen angeben\",\n messageTag: 20003510,\n },\n style: {\n icon: \"fa fa-font\",\n class: \"col-md-6 col-xs-12\"\n }\n }, {\n placeholder: \"Nachname\",\n placeholderTag: \"20000058\",\n label: \"Nachname\",\n type: \"String\",\n lngTag: 20000058,\n required: true,\n model: \"name\",\n validate: {\n message: \"Bitte den Nachnamen angeben\",\n messageTag: 20003510,\n },\n style: {\n icon: \"fa fa-font\",\n class: \"col-md-6 col-xs-12\"\n }\n }, {\n placeholder: \"Geburtsdatum\",\n placeholderTag: \"21002004\",\n label: \"Geburtsdatum\",\n type: \"Date\",\n lngTag: 21002004,\n model: \"birthday\",\n validate: {\n message: \"Bitte das Geburtsdatum angeben\",\n messageTag: 21003020,\n },\n style: {\n icon: \"fa fa-font\",\n class: \"col-md-6 col-xs-12\"\n }\n }, {\n lngTag: {\n dateFrom: \"20000277\",\n dateTo: \"20000278\"\n },\n label: {\n dateFrom: \"Gültig von\",\n dateTo: \"Gültig bis\"\n },\n type: \"DateRange\",\n model: {\n dateFrom: \"dateFrom\",\n dateTo: \"dateTo\"\n },\n style: {\n class: \"col-xs-12\"\n },\n config: {\n displayDateTo: true\n }\n }, {\n placeholder: \"Bemerkung eintragen ...\",\n placeholderTag: \"20000049\",\n label: \"Bemerkung\",\n type: \"Textarea\",\n maxLength: -1,\n model: \"comment\",\n lngTag: 20000049,\n style: {\n icon: \"qm-icon-note_text\",\n class: \"col-xs-12 col-md-12\"\n }\n }, {\n label: \"Kontaktsperre\",\n type: \"Checkbox\",\n model: \"isContactBan\",\n lngTag: 20004512,\n id: \"isContactBan\",\n style: {\n class: \"medium\"\n }\n }],\n actions: {\n post: \"addContact\",\n put: \"putContact\"\n }\n };\n /**\n * Client detail contact person address table\n * @memberOf UserInterface\n */\n _this.contactPersonAddressTable = {\n \"table\": {\n \"Straße\": {\n \"label\": \"street\",\n \"dType\": \"string\",\n \"lngTag\": \"20003001\",\n \"style\": \"style\",\n },\n \"Hausnummer\": {\n \"label\": \"houseNumber\",\n \"dType\": \"string\",\n \"lngTag\": \"20003002\",\n \"style\": \"style\",\n },\n \"PLZ\": {\n \"label\": \"postCode\",\n \"dType\": \"string\",\n \"lngTag\": \"20003005\",\n \"style\": \"style\",\n },\n \"Ort\": {\n \"label\": \"city\",\n \"dType\": \"string\",\n \"lngTag\": \"20003005\",\n \"style\": \"style\",\n },\n \"Land\": {\n \"label\": \"countryName\",\n \"dType\": \"string\",\n \"lngTag\": \"20003521\",\n \"style\": \"style\",\n },\n \"Bundesland\": {\n \"label\": \"stateName\",\n \"dType\": \"string\",\n \"lngTag\": \"20000284\",\n \"style\": \"style\",\n },\n \"Typ\": {\n \"label\": \"addressTypeName\",\n \"dType\": \"string\",\n \"lngTag\": \"20000025\",\n \"style\": \"style\",\n },\n \"Aktionen\": [{\n \"icon\": \"qm-icon-pencil blue\",\n \"click\": \"editAdress\",\n \"label\": \"data\",\n \"dType\": \"Button\",\n \"openModal\": \"true\",\n \"targetModal\": \"#edit-adress\",\n \"tooltip\": \"Bearbeiten\",\n \"lngTag\": \"20000044\",\n \"permission\": \"modify\",\n \"permissionByDataSet\": true\n }, {\n \"icon\": \"qm-icon-garbage_can red\",\n \"click\": \"deleteAdress\",\n \"label\": \"data\",\n \"dType\": \"Button\",\n \"tooltip\": \"Löschen\",\n \"lngTag\": \"20000002\",\n \"permission\": \"delete\",\n \"permissionByDataSet\": true\n }]\n },\n \"card\": {\n \"avatar\": {\n \"icon\": \"qm-icon-location_pin\"\n },\n \"text\": {\n \"label\": [\"street\", \"houseNumber\"],\n \"dType\": \"string\"\n },\n \"subtext\": [{\n \"label\": \"city\",\n \"dType\": \"string\"\n }, {\n \"label\": \"stateName\",\n \"dType\": \"string\",\n }, {\n \"label\": \"type\",\n \"dType\": \"string\",\n }],\n \"buttons\": [{\n \"icon\": \"qm-icon-pencil blue\",\n \"click\": \"editAdress\",\n \"label\": \"data\",\n \"dType\": \"Button\",\n \"tooltip\": \"Bearbeiten\",\n \"openModal\": \"true\",\n \"targetModal\": \"#edit-adress\",\n \"lngTag\": \"20000044\",\n \"permission\": \"modify\",\n \"permissionByDataSet\": true\n }, {\n \"icon\": \"qm-icon-garbage_can red\",\n \"click\": \"deleteAdress\",\n \"label\": \"data\",\n \"dType\": \"Button\",\n \"tooltip\": \"Löschen\",\n \"lngTag\": \"20000002\",\n \"permission\": \"delete\",\n \"permissionByDataSet\": true\n }]\n },\n \"data\": null,\n };\n /**\n * Client detail contact person communication table\n * @memberOf UserInterface\n */\n _this.contactpersonCommunicationTable = {\n \"table\": {\n \"Kommunikationsart\": {\n \"label\": \"communicationCategoryName\",\n \"dType\": \"string\",\n \"lngTag\": \"20005511\",\n \"style\": \"style\",\n },\n \"Landesvorwahl\": {\n \"label\": \"countryCode\",\n \"dType\": \"string\",\n \"lngTag\": \"20005505\",\n \"style\": \"style\",\n },\n \"Ortsvorwahl\": {\n \"label\": \"areaCode\",\n \"dType\": \"string\",\n \"lngTag\": \"20005506\",\n \"style\": \"style\",\n },\n \"Adresse\": {\n \"label\": \"targetAddress\",\n \"dType\": \"string\",\n \"lngTag\": \"20001045\",\n \"style\": \"style\",\n \"type\": \"type\"\n },\n \"Typ\": {\n \"label\": \"communicationTypeName\",\n \"dType\": \"string\",\n \"lngTag\": \"20005504\",\n \"style\": \"style\",\n },\n \"Standard\": {\n \"label\": \"isMainRecord\",\n \"dType\": \"Bool\",\n \"lngTag\": \"20000070\",\n \"style\": \"style\",\n },\n \"Aktionen\": [{\n \"icon\": \"qm-icon-pencil blue\",\n \"click\": \"editCommunication\",\n \"label\": \"data\",\n \"dType\": \"Button\",\n \"openModal\": \"true\",\n \"targetModal\": \"#edit-communication\",\n \"tooltip\": \"Bearbeiten\",\n \"lngTag\": \"20000044\",\n \"permission\": \"modify\",\n \"permissionByDataSet\": true\n }, {\n \"icon\": \"qm-icon-garbage_can red\",\n \"click\": \"deleteCommunication\",\n \"label\": \"data\",\n \"dType\": \"Button\",\n \"tooltip\": \"Löschen\",\n \"lngTag\": \"20000002\",\n \"permission\": \"delete\",\n \"permissionByDataSet\": true\n }]\n },\n \"card\": {\n \"avatar\": {\n \"icon\": \"qm-icon-book_telephone\"\n },\n \"text\": {\n \"label\": \"communicationCategoryName\",\n \"dType\": \"string\"\n },\n \"subtext\": [{\n \"label\": \"targetAddress\",\n \"dType\": \"string\"\n }, {\n \"label\": \"communicationTypeName\",\n \"dType\": \"string\",\n }],\n \"buttons\": [{\n \"icon\": \"qm-icon-pencil blue\",\n \"click\": \"editCommunication\",\n \"label\": \"data\",\n \"dType\": \"Button\",\n \"openModal\": \"true\",\n \"targetModal\": \"#edit-communication\",\n \"tooltip\": \"Bearbeiten\",\n \"lngTag\": \"20000044\",\n \"permission\": \"modifyCom\",\n \"permissionByDataSet\": true\n }, {\n \"icon\": \"qm-icon-garbage_can red\",\n \"click\": \"deleteCommunication\",\n \"label\": \"data\",\n \"dType\": \"Button\",\n \"tooltip\": \"Löschen\",\n \"lngTag\": \"20000002\",\n \"permission\": \"deleteCom\",\n \"permissionByDataSet\": true\n }]\n },\n \"data\": null,\n };\n /**\n * Client detail doctor visit table\n * @memberOf UserInterface\n */\n _this.docVisitTable = {\n \"table\": {\n \"Datum\": {\n \"label\": \"date\",\n \"dType\": \"Date\",\n \"withTime\": \"true\",\n \"lngTag\": \"20000045\"\n },\n \"Diagnose\": {\n \"label\": \"diagnose\",\n \"dType\": \"string\",\n \"lngTag\": \"20010503\"\n },\n \"Arzt/Med. Organisation\": {\n \"label\": \"treaterName\",\n \"dType\": \"string\",\n \"lngTag\": \"20010502\"\n },\n //\"Vorname\": {\n // \"label\": \"forename\",\n // \"dType\": \"string\",\n // \"lngTag\": \"20000057\"\n //},\n \"Fachrichtung\": {\n \"label\": \"discipline\",\n \"dType\": \"string\",\n \"lngTag\": \"20023004\"\n },\n \"Aktionen\": [{\n \"icon\": \"qm-icon-pencil blue\",\n \"click\": \"editDocVisit\",\n \"openModal\": \"true\",\n \"targetModal\": \"#\" + _this.modalId,\n \"label\": \"data\",\n \"dType\": \"Button\",\n \"tooltip\": \"Bearbeiten\",\n \"lngTag\": \"20000044\",\n \"permission\": \"modify\"\n }, {\n \"icon\": \"qm-icon-garbage_can red\",\n \"click\": \"deleteDocVisit\",\n \"label\": \"data\",\n \"dType\": \"Button\",\n \"tooltip\": \"Löschen\",\n \"lngTag\": \"20000002\",\n \"permission\": \"delete\"\n }]\n },\n \"card\": {\n \"avatar\": {\n \"icon\": \"qm-icon-doctor\"\n },\n \"text\": {\n \"label\": \"treaterName\",\n \"dType\": \"string\"\n },\n \"subtext\": [{\n \"label\": \"discipline\",\n \"dType\": \"string\"\n }],\n \"buttons\": [{\n \"icon\": \"qm-icon-pencil blue\",\n \"click\": \"editDocVisit\",\n \"openModal\": \"true\",\n \"targetModal\": \"#\" + _this.modalId,\n \"label\": \"data\",\n \"dType\": \"Button\",\n \"tooltip\": \"Bearbeiten\",\n \"lngTag\": \"20000044\",\n \"permission\": \"modify\"\n }, {\n \"icon\": \"qm-icon-garbage_can red\",\n \"click\": \"deleteDocVisit\",\n \"label\": \"data\",\n \"dType\": \"Button\",\n \"tooltip\": \"Löschen\",\n \"lngTag\": \"20000002\",\n \"permission\": \"delete\"\n }]\n },\n \"data\": null,\n };\n /**\n * Client detail doctor visit form\n * @memberOf UserInterface\n */\n _this.docVisitForm = {\n form: [{\n placeholder: \"Datum\",\n label: \"Datum\",\n type: \"Date\",\n model: \"date\",\n lngTag: 20000045,\n required: true,\n style: {\n class: \"col-md-6 col-xs-12\",\n }\n }, {\n placeholder: \"Uhrzeit\",\n label: \"Uhrzeit\",\n type: \"Time\",\n lngTag: 20000046,\n model: \"time\",\n style: {\n class: \"col-md-6 col-xs-12\",\n },\n }, {\n placeholder: \"Arzt/Med. Organisation\",\n label: \"Arzt/Med. Organisation\",\n type: \"Select2\",\n model: \"treaterId\",\n lngTag: 20010502,\n required: true,\n dataSource: \"getDoctors\",\n style: {\n class: \"col-md-12 col-xs-12\",\n },\n }, {\n label: \"Diagnose\",\n placeholder: \"Diagnose ...\",\n placeholderTag: \"20010503\",\n type: \"Summernote\",\n lngTag: \"20010503\",\n model: \"diagnose\",\n style: {\n class: \"col-xs-12\",\n }\n }],\n actions: {\n put: \"putDocVisit\",\n post: \"addDocVisit\"\n }\n };\n /**\n * Client detail document table\n * @memberOf UserInterface\n */\n _this.clientAttachedFilesTable = {\n \"table\": {\n \"Datum\": {\n \"label\": \"date\",\n \"dType\": \"Date\",\n \"lngTag\": \"20000045\"\n },\n \"Dateiname\": {\n \"label\": \"fileName\",\n \"dType\": \"string\",\n \"lngTag\": \"21006017\"\n },\n \"Dateigröße\": {\n \"label\": \"fileSize\",\n \"dType\": \"string\",\n \"lngTag\": \"21006018\"\n },\n \"Aktionen\": [{\n \"icon\": \"qm-icon-download grey\",\n \"click\": \"downloadFile\",\n \"openModal\": \"false\",\n \"label\": \"data\",\n \"dType\": \"Button\",\n \"tooltip\": \"Herunterladen\",\n \"lngTag\": \"21006014\",\n \"permission\": \"allowDownload\"\n }, {\n \"icon\": \"qm-icon-document_attachment green\",\n \"click\": \"previewDocument\",\n \"openModal\": \"false\",\n \"label\": \"data\",\n \"dType\": \"Button\",\n \"tooltip\": \"Vorschau\",\n \"lngTag\": \"20000091\",\n \"permission\": \"allowPreview\"\n }, {\n \"icon\": \"qm-icon-garbage_can red\",\n \"click\": \"deleteFileFromFolder\",\n \"label\": \"data\",\n \"dType\": \"Button\",\n \"tooltip\": \"Löschen\",\n \"lngTag\": \"20000002\",\n \"permission\": \"deleteFile\"\n }]\n },\n \"card\": {\n \"avatar\": {\n \"icon\": \"qm-icon-document_attachment\"\n },\n \"text\": {\n \"label\": \"fileName\",\n \"dType\": \"string\"\n },\n \"subtext\": [\n {\n \"label\": \"date\",\n \"dType\": \"Date\"\n }\n ],\n \"buttons\": [\n {\n \"icon\": \"qm-icon-download grey\",\n \"click\": \"downloadFile\",\n \"openModal\": \"false\",\n \"label\": \"data\",\n \"dType\": \"Button\",\n \"tooltip\": \"Herunterladen\",\n \"lngTag\": \"21006014\",\n \"permission\": \"allowDownload\"\n }, {\n \"icon\": \"qm-icon-document_attachment green\",\n \"click\": \"previewDocument\",\n \"openModal\": \"false\",\n \"label\": \"data\",\n \"dType\": \"Button\",\n \"tooltip\": \"Vorschau\",\n \"lngTag\": \"20000091\",\n \"permission\": \"view\"\n }, {\n \"icon\": \"qm-icon-garbage_can red\",\n \"click\": \"deleteFileFromFolder\",\n \"label\": \"data\",\n \"dType\": \"Button\",\n \"tooltip\": \"Löschen\",\n \"lngTag\": \"20000002\",\n \"permission\": \"delete\"\n }\n ]\n },\n \"data\": null,\n };\n /**\n * Client detail vaccination table\n * @memberOf UserInterface\n */\n _this.vaccinationTable = {\n \"table\": {\n \"Datum\": {\n \"label\": \"date\",\n \"dType\": \"Date\",\n \"lngTag\": \"20000045\",\n },\n \"Folgetermin\": {\n \"label\": \"dateFollowupAppointment\",\n \"dType\": \"Date\",\n \"lngTag\": \"20009504\",\n },\n \"Arzt\": {\n \"label\": \"doctorName\",\n \"dType\": \"string\",\n \"lngTag\": \"20010508\",\n },\n \"Impfung\": {\n \"label\": \"diseaseName\",\n \"dType\": \"string\",\n \"lngTag\": \"20009514\",\n },\n \"Impfstoff\": {\n \"label\": \"caption\",\n \"dType\": \"string\",\n \"lngTag\": \"20009506\",\n },\n \"Chargen-Nr\": {\n \"label\": \"batchNumber\",\n \"dType\": \"string\",\n \"lngTag\": \"20009507\",\n },\n \"Bemerkung\": {\n \"label\": \"commentPlain\",\n \"dType\": \"string\",\n \"lngTag\": \"20000049\",\n },\n \"Aktionen\": [{\n \"icon\": \"qm-icon-pencil blue\",\n \"click\": \"editVaccination\",\n \"label\": \"data\",\n \"openModal\": \"true\",\n \"targetModal\": \"#\" + _this.modalId,\n \"dType\": \"Button\",\n \"tooltip\": \"Bearbeiten\",\n \"lngTag\": \"20000044\",\n \"permission\": \"modify\"\n }, {\n \"icon\": \"qm-icon-garbage_can red\",\n \"click\": \"deleteVaccination\",\n \"label\": \"data\",\n \"dType\": \"Button\",\n \"tooltip\": \"Löschen\",\n \"lngTag\": \"20000002\",\n \"permission\": \"delete\"\n }]\n },\n \"card\": {\n \"avatar\": {\n \"icon\": \"qm-icon-injection\"\n },\n \"text\": {\n \"label\": \"caption\",\n \"dType\": \"string\"\n },\n \"subtext\": [{\n \"label\": \"diseaseName\",\n \"dType\": \"string\"\n }, {\n \"label\": \"doctorName\",\n \"dType\": \"string\",\n }, {\n \"label\": \"type\",\n \"dType\": \"string\",\n }],\n \"buttons\": [{\n \"icon\": \"qm-icon-pencil blue\",\n \"click\": \"editVaccination\",\n \"label\": \"data\",\n \"openModal\": \"true\",\n \"targetModal\": \"#\" + _this.modalId,\n \"dType\": \"Button\",\n \"tooltip\": \"Bearbeiten\",\n \"lngTag\": \"20000044\",\n \"permission\": \"modify\"\n }, {\n \"icon\": \"qm-icon-garbage_can red\",\n \"click\": \"deleteVaccination\",\n \"label\": \"data\",\n \"dType\": \"Button\",\n \"tooltip\": \"Löschen\",\n \"lngTag\": \"20000002\",\n \"permission\": \"delete\"\n }]\n },\n \"data\": null,\n };\n /**\n * Client detail vaccination form\n * @memberOf UserInterface\n */\n _this.vaccinationForm = {\n form: [{\n lngTag: {\n dateFrom: \"20000045\",\n dateTo: \"20009504\"\n },\n label: {\n dateFrom: \"Datum\",\n dateTo: \"Folgetermin\"\n },\n type: \"DateRange\",\n model: {\n dateFrom: \"date\",\n dateTo: \"dateFollowupAppointment\"\n },\n style: {\n class: \"col-xs-12\"\n },\n config: {\n displayDateTo: true\n }\n }, {\n type: \"hr\"\n }, {\n placeholder: \"Arzt auswählen\",\n label: \"Arzt\",\n type: \"Select2\",\n model: \"doctorId\",\n lngTag: 20010502,\n dataSource: \"getDoctorsAndMedicalOrg\",\n required: true,\n validate: {\n message: \"Bitte den Arzt angeben.\",\n messageTag: 21003014\n },\n style: {\n class: \"col-md-6 col-xs-12\",\n }\n }, {\n placeholder: \"Impfung auswählen\",\n placeholderTag: \"20009515\",\n label: \"Impfung\",\n type: \"Select2\",\n model: \"diseaseId\",\n dataSource: \"getDiseases\",\n lngTag: 20009514,\n required: true,\n id: \"disease\",\n validate: {\n message: \"Bitte eine Krankheit angeben\",\n messageTag: 21003006\n },\n style: {\n class: \"col-md-6 col-xs-12\",\n },\n wvId: '5485878a-6f2f-43fa-9d83-450732ff39b7',\n wvListData: 'wvList.dieseasesWv'\n }, {\n placeholder: \"Impfstoff Handelsname\",\n placeholderTag: \"20009512\",\n label: \"Impfstoff\",\n type: \"String\",\n lngTag: 20009512,\n model: \"caption\",\n style: {\n class: \"col-md-6 col-xs-12\",\n icon: \"fa fa-stethoscope\"\n },\n }, {\n placeholder: \"Chargen-Nr\",\n placeholderTag: \"20009507\",\n label: \"Chargen-Nr\",\n type: \"String\",\n model: \"batchNumber\",\n lngTag: 20009507,\n style: {\n class: \"col-md-6 col-xs-12\",\n icon: \"fa fa-hashtag\"\n },\n }, {\n placeholder: \"Bemerkung eintragen\",\n placeholderTag: \"20000049\",\n label: \"Bemerkung\",\n type: \"Summernote\",\n maxLength: -1,\n lngTag: 20000049,\n model: \"comment\",\n style: {\n icon: \"qm-icon-note_text\",\n class: \"colm-md-6 col-xs-12\",\n }\n },],\n actions: {\n put: \"putVaccination\",\n post: \"addVaccination\"\n }\n };\n /**\n * Client detail hobby table\n * @memberOf UserInterface\n */\n _this.hobbyTable = {\n \"table\": {\n \"Gültig von\": {\n \"label\": \"validFrom\",\n \"dType\": \"Date\",\n \"lngTag\": \"20008013\",\n },\n \"Gültig bis\": {\n \"label\": \"validTo\",\n \"dType\": \"Date\",\n \"lngTag\": \"20008014\",\n },\n \"Bezeichnung\": {\n \"label\": \"caption\",\n \"dType\": \"string\",\n \"lngTag\": \"20008006\",\n },\n \"Verein\": {\n \"label\": \"societyName\",\n \"dType\": \"string\",\n \"lngTag\": \"20008008\",\n },\n \"Ansprechpartner/in\": {\n \"label\": \"contactPerson\",\n \"dType\": \"string\",\n \"lngTag\": \"20008015\",\n },\n \"Hobbyart\": {\n \"label\": \"type\",\n \"dType\": \"string\",\n \"lngTag\": \"20008002\",\n },\n \"Hobby\": {\n \"label\": \"subType\",\n \"dType\": \"string\",\n \"lngTag\": \"20008004\",\n },\n \"Aktionen\": [{\n \"icon\": \"qm-icon-pencil blue\",\n \"click\": \"editHobby\",\n \"label\": \"data\",\n \"openModal\": \"true\",\n \"targetModal\": \"#\" + _this.modalId,\n \"dType\": \"Button\",\n \"tooltip\": \"Bearbeiten\",\n \"lngTag\": \"20008016\",\n \"permission\": \"modify\"\n }, {\n \"icon\": \"qm-icon-garbage_can red\",\n \"click\": \"deleteHobby\",\n \"label\": \"data\",\n \"dType\": \"Button\",\n \"tooltip\": \"Löschen\",\n \"lngTag\": \"20008017\",\n \"permission\": \"delete\"\n }]\n },\n \"card\": {\n \"avatar\": {\n \"icon\": \"qm-icon-soccer_ball\"\n },\n \"text\": {\n \"label\": \"caption\",\n \"dType\": \"string\"\n },\n \"subtext\": [{\n \"label\": \"type\",\n \"dType\": \"string\"\n }, {\n \"label\": \"subType\",\n \"dType\": \"string\",\n }, {\n \"label\": \"societyName\",\n \"dType\": \"string\",\n }],\n \"buttons\": [{\n \"icon\": \"qm-icon-pencil blue\",\n \"click\": \"editHobby\",\n \"label\": \"data\",\n \"openModal\": \"true\",\n \"targetModal\": \"#\" + _this.modalId,\n \"dType\": \"Button\",\n \"tooltip\": \"Bearbeiten\",\n \"lngTag\": \"20000044\",\n \"permission\": \"modify\"\n }, {\n \"icon\": \"qm-icon-garbage_can red\",\n \"click\": \"deleteHobby\",\n \"label\": \"data\",\n \"dType\": \"Button\",\n \"tooltip\": \"Löschen\",\n \"lngTag\": \"20000002\",\n \"permission\": \"delete\"\n }]\n },\n \"data\": null,\n };\n /**\n * Client detail hobby form\n * @memberOf UserInterface\n */\n _this.hobbyForm = {\n form: [{\n lngTag: {\n dateFrom: \"20008000\",\n dateTo: \"20008001\"\n },\n label: {\n dateFrom: \"Mitgliedschaft von\",\n dateTo: \"bis\"\n },\n type: \"DateRange\",\n model: {\n dateFrom: \"validFrom\",\n dateTo: \"validTo\"\n },\n style: {\n class: \"col-xs-12\"\n },\n config: {\n displayDateTo: true\n }\n }, {\n type: \"hr\"\n }, {\n placeholder: \"Hobbyart auswählen\",\n label: \"Hobbyart\",\n type: \"Select2\",\n model: \"typeId\",\n lngTag: 20008002,\n dataSource: \"getTypeWv\",\n required: true,\n //events: {\n // updateDataSource: \"subTypeId\"\n //},\n validate: {\n message: \"Bitte den Hobbyart auswählen.\",\n messageTag: 20008003\n },\n style: {\n class: \"col-md-6 col-xs-12\"\n },\n wvId: 'ebba5d70-a416-4d46-82cd-a12ddd906ff8',\n wvListData: 'wvList.typeWvList'\n }, {\n placeholder: \"Hobby auswählen\",\n label: \"Hobby\",\n type: \"Select2\",\n model: \"subTypeId\",\n dataSource: \"getSubTypeWv\",\n lngTag: 20008004,\n required: true,\n validate: {\n message: \"Bitte einen Hobby auswählen\",\n messageTag: 20008005\n },\n style: {\n class: \"col-md-6 col-xs-12\"\n },\n wvId: 'af561b60-6040-41bb-96f7-a4a59cdce563',\n wvSubParent: 'typeId',\n events: {\n hideExpression: \"qmForm.isHobbyDisabled\"\n }\n }, {\n placeholder: \"Hobby auswählen\",\n label: \"Hobby\",\n type: \"Select2\",\n model: \"subTypeId\",\n dataSource: \"getSubTypeWv\",\n lngTag: 20008004,\n required: true,\n disabled: true,\n validate: {\n message: \"Bitte einen Hobby auswählen\",\n messageTag: 20008005\n },\n style: {\n class: \"col-md-6 col-xs-12\"\n },\n events: {\n hideExpression: \"!qmForm.isHobbyDisabled\"\n }\n }, {\n placeholder: \"Bezeichnung\",\n placeholderTag: \"20008006\",\n label: \"Bezeichnung\",\n type: \"String\",\n lngTag: 20008006,\n model: \"caption\",\n style: {\n class: \"col-md-6 col-xs-12\",\n icon: \"qm-icon-ballpen\"\n },\n }, {\n placeholder: \"Verein auswählen\",\n placeholderTag: \"20008007\",\n label: \"Verein\",\n type: \"Select2\",\n model: \"societyId\",\n dataSource: \"getSocietyListItems\",\n id: \"society\",\n lngTag: 20008008,\n events: {\n updateDataSource: \"contactPersonId\"\n },\n style: {\n class: \"col-md-6 col-xs-12\",\n },\n }, {\n placeholder: \"Ansprechpartner/in auswählen\",\n placeholderTag: \"20008018\",\n label: \"Ansprechpartner/in\",\n type: \"Select2\",\n model: \"contactPersonId\",\n dataSource: \"getContactPersonItems\",\n id: \"contactPerson\",\n lngTag: 20008015,\n style: {\n class: \"col-md-6 col-xs-12\",\n },\n }, {\n placeholder: \"Mitgliedsnummer\",\n placeholderTag: \"20008010\",\n label: \"Mitgliedsnummer\",\n type: \"String\",\n model: \"membershipNo\",\n lngTag: 20008010,\n style: {\n class: \"col-md-6 col-xs-12\",\n icon: \"fa fa-hashtag\"\n },\n }, {\n placeholder: \"Bemerkung eintragen\",\n placeholderTag: \"20008011\",\n label: \"Bemerkung\",\n type: \"Summernote\",\n maxLength: -1,\n lngTag: 20008012,\n model: \"comment\",\n style: {\n icon: \"qm-icon-note_text\",\n class: \"colm-md-6 col-xs-12\",\n }\n },],\n actions: {\n put: \"putHobby\",\n post: \"addHobby\"\n }\n };\n /**\n * Client detail education table\n * @memberOf UserInterface\n */\n _this.educationTable = {\n \"table\": {\n \"Gültig von\": {\n \"label\": \"validFrom\",\n \"dType\": \"Date\",\n \"lngTag\": \"20012004\",\n },\n \"Gültig bis\": {\n \"label\": \"validTo\",\n \"dType\": \"Date\",\n \"lngTag\": \"20012005\",\n },\n \"Ausbildungstyp\": {\n \"label\": \"educationKindDescr\",\n \"dType\": \"string\",\n \"lngTag\": \"20012014\",\n },\n \"Schule/Firma\": {\n \"label\": \"schoolCompanyName\",\n \"dType\": \"string\",\n \"lngTag\": \"20012006\",\n },\n \"Hauptansprechpartner\": {\n \"label\": \"contactPerson\",\n \"dType\": \"string\",\n \"lngTag\": \"20012007\",\n },\n \"Abschluss\": {\n \"label\": \"graduation\",\n \"dType\": \"string\",\n \"lngTag\": \"20012008\",\n },\n \"Art der Ausbildung\": {\n \"label\": \"educationType\",\n \"dType\": \"string\",\n \"lngTag\": \"20012010\",\n },\n \"Aktionen\": [{\n \"icon\": \"qm-icon-pencil blue\",\n \"click\": \"editEducation\",\n \"label\": \"data\",\n \"openModal\": \"true\",\n \"targetModal\": \"#\" + _this.modalId,\n \"dType\": \"Button\",\n \"tooltip\": \"Bearbeiten\",\n \"lngTag\": \"20000044\",\n \"permission\": \"modify\"\n }, {\n \"icon\": \"qm-icon-garbage_can red\",\n \"click\": \"deleteEducation\",\n \"label\": \"data\",\n \"dType\": \"Button\",\n \"tooltip\": \"Löschen\",\n \"lngTag\": \"20000002\",\n \"permission\": \"delete\"\n }]\n },\n \"card\": {\n \"avatar\": {\n \"icon\": \"qm-icon-graduation_hat2\"\n },\n \"text\": {\n \"label\": \"educationKindDescr\",\n \"dType\": \"string\"\n },\n \"subtext\": [{\n \"label\": \"caption\",\n \"dType\": \"string\"\n }, {\n \"label\": \"contactPerson\",\n \"dType\": \"string\",\n }, {\n \"label\": \"educationType\",\n \"dType\": \"string\",\n }],\n \"buttons\": [{\n \"icon\": \"qm-icon-pencil blue\",\n \"click\": \"editEducation\",\n \"label\": \"data\",\n \"openModal\": \"true\",\n \"targetModal\": \"#\" + _this.modalId,\n \"dType\": \"Button\",\n \"tooltip\": \"Bearbeiten\",\n \"lngTag\": \"20000044\",\n \"permission\": \"modify\"\n }, {\n \"icon\": \"qm-icon-garbage_can red\",\n \"click\": \"deleteEducation\",\n \"label\": \"data\",\n \"dType\": \"Button\",\n \"tooltip\": \"Löschen\",\n \"lngTag\": \"20000002\",\n \"permission\": \"delete\"\n }]\n },\n \"data\": null,\n };\n _this.educationForm = {\n form: [{\n placeholder: \"Ausbildungstyp auswählen\",\n placeholderTag: \"20012026\",\n label: \"Ausbildungstyp\",\n type: \"Select2\",\n model: \"educationKind\",\n lngTag: 20012003,\n dataSource: \"getEducationKindWv\",\n required: true,\n validate: {\n message: \"Bitte den Ausbildungstyp auswählen.\",\n messageTag: 20012016\n },\n events: {\n hideExpression: \"(qmForm.educationKind != null && qmState == 'edit')\"\n },\n style: {\n class: \"col-md-12 col-xs-12\",\n }\n }, {\n lngTag: {\n dateFrom: \"20012004\",\n dateTo: \"20012005\"\n },\n label: {\n dateFrom: \"Gültig von\",\n dateTo: \"Gültig bis\"\n },\n type: \"DateRange\",\n model: {\n dateFrom: \"validFrom\",\n dateTo: \"validTo\"\n },\n events: {\n hideExpression: \"(qmForm.educationKind == null)\"\n },\n style: {\n class: \"col-xs-12\"\n },\n config: {\n displayDateTo: true\n }\n }, {\n type: \"hr\"\n }, {\n placeholder: \"Art der Ausbildung auswählen\",\n placeholderTag: \"20012030\",\n label: \"Art der Ausbildung\",\n type: \"Select2\",\n model: \"educationTypeId\",\n dataSource: \"getProfessionalTypeWv\",\n lngTag: 20012010,\n id: \"educationaType\",\n required: true,\n validate: {\n message: \"Bitte das art der Ausbildung auswählen\",\n messageTag: 20012031\n },\n events: {\n hideExpression: \"(qmForm.educationKind != 1) || (qmForm.educationKind == null)\"\n },\n style: {\n class: \"col-md-6 col-xs-12\",\n },\n wvId: '5c177c51-a3a8-4516-99ef-54ba88e946d2',\n wvListData: 'educationSchemaWvList.professionalTypeWvList'\n },\n {\n placeholder: \"Art der Ausbildung auswählen\",\n placeholderTag: \"20012030\",\n label: \"Art der Ausbildung\",\n type: \"Select2\",\n model: \"educationTypeId\",\n dataSource: \"getSchoolTypeWv\",\n lngTag: 20012010,\n id: \"educationaType\",\n required: true,\n validate: {\n message: \"Bitte das art der Ausbildung auswählen\",\n messageTag: 20012031\n },\n events: {\n hideExpression: \"(qmForm.educationKind != 0) || (qmForm.educationKind == null)\"\n },\n style: {\n class: \"col-md-6 col-xs-12\",\n },\n wvId: '7bc3ef03-862e-442c-a925-7edf8a2e1cd3',\n wvListData: 'educationSchemaWvList.schoolTypeWvList'\n }, {\n placeholder: \"Eintragsart auswählen\",\n placeholderTag: \"20012029\",\n label: \"Eintragsart\",\n type: \"Select2\",\n model: \"educationTypeId\",\n dataSource: \"getProfessionalCareerTypeWv\",\n lngTag: 20012022,\n id: \"professionalCareer\",\n events: {\n hideExpression: \"(qmForm.educationKind != 2) || (qmForm.educationKind == null)\"\n },\n style: {\n class: \"col-md-6 col-xs-12\",\n },\n wvId: 'e709e81f-b8ec-47c8-a72c-8f5d982dbc41',\n wvListData: 'educationSchemaWvList.professionalCareerTypeWvList'\n }, {\n placeholder: \"Schule auswählen\",\n placeholderTag: \"20012018\",\n label: \"Schule\",\n type: \"Select2\",\n model: \"schoolCompanyId\",\n dataSource: \"getSchoolsItemList\",\n lngTag: 20012019,\n id: \"school\",\n events: {\n hideExpression: \"(qmForm.educationKind != 0 ) || (qmForm.educationKind == null)\",\n updateDataSource: \"classId\"\n },\n style: {\n class: \"col-md-6 col-xs-12\"\n },\n },\n {\n placeholder: \"Firma auswählen\",\n placeholderTag: \"20012017\",\n label: \"Firma\",\n type: \"Select2\",\n model: \"schoolCompanyId\",\n dataSource: \"getCompaniesItemList\",\n lngTag: 20012011,\n id: \"company\",\n events: {\n hideExpression: \"(qmForm.educationKind == 0) || (qmForm.educationKind == null)\",\n updateDataSource: \"contactPersonId\"\n },\n style: {\n class: \"col-md-6 col-xs-12\"\n },\n }, {\n placeholder: \"Manueller Text\",\n placeholderTag: \"20012012\",\n label: \"Manueller Text\",\n type: \"String\",\n lngTag: 20012012,\n model: \"caption\",\n events: {\n hideExpression: \"(qmForm.educationKind == null)\"\n },\n style: {\n class: \"col-md-6 col-xs-12\"\n },\n }, {\n placeholder: \"Status auswählen\",\n placeholderTag: \"20012028\",\n label: \"Status\",\n type: \"Select2\",\n model: \"statusId\",\n dataSource: \"getSchoolStatusWv\",\n lngTag: 20012013,\n id: \"statusSchool\",\n events: {\n hideExpression: \"(qmForm.educationKind != 0) || (qmForm.educationKind == null)\"\n },\n style: {\n class: \"col-md-6 col-xs-12\"\n },\n wvId: 'fd81f106-4773-493d-a04f-223e4ebfd195',\n wvListData: 'educationSchemaWvList.schoolStatusWvList'\n }, {\n placeholder: \"Status auswählen\",\n placeholderTag: \"20012028\",\n label: \"Status\",\n type: \"Select2\",\n model: \"statusId\",\n dataSource: \"getProfessionalStatusWv\",\n lngTag: 20012013,\n id: \"statusProfessional\",\n events: {\n hideExpression: \"(qmForm.educationKind != 1) || (qmForm.educationKind == null)\"\n },\n style: {\n class: \"col-md-6 col-xs-12\"\n },\n wvId: 'fd81f106-4773-493d-a04f-223e4ebfd195',\n wvListData: 'educationSchemaWvList.professionalStatusWvList'\n }, {\n placeholder: \"Status auswählen\",\n placeholderTag: \"20012028\",\n label: \"Status\",\n type: \"Select2\",\n model: \"statusId\",\n dataSource: \"getProfessionalCareerStatusWv\",\n lngTag: 20012013,\n id: \"statusProfessionalCareer\",\n events: {\n hideExpression: \"(qmForm.educationKind != 2) || (qmForm.educationKind == null)\"\n },\n style: {\n class: \"col-md-6 col-xs-12\"\n },\n wvId: 'ddcde80d-3634-4ccc-9434-03bd09f36014',\n wvListData: 'educationSchemaWvList.professionalCareerStatusWvList'\n }, {\n placeholder: \"Klasse auswählen\",\n placeholderTag: \"20012027\",\n label: \"Klasse\",\n type: \"Select2\",\n model: \"classId\",\n dataSource: \"getGradeLevelList\",\n lngTag: 20012021,\n id: \"class\",\n events: {\n hideExpression: \"(qmForm.educationKind != 0) || (qmForm.educationKind == null)\"\n },\n style: {\n class: \"col-md-6 col-xs-12\"\n },\n },\n {\n placeholder: \"Ausbildungstyp auswählen\",\n placeholderTag: \"20012026\",\n label: \"Ausbildungstyp\",\n type: \"Select2\",\n model: \"professionalTrainingTypeId\",\n dataSource: \"getProfessionalTrainingTypeWv\",\n lngTag: 20012014,\n id: \"professionTrainingType\",\n events: {\n hideExpression: \"(qmForm.educationKind != 1) || (qmForm.educationKind == null)\"\n },\n style: {\n class: \"col-md-6 col-xs-12\"\n },\n wvId: '92528000-789f-4eb5-8f1c-4bcd24a3aeea',\n wvListData: 'educationSchemaWvList.professionalTrainingTypeWvList'\n }, {\n placeholder: \"Ansprechpartner auswählen\",\n placeholderTag: \"20012025\",\n label: \"Ansprechpartner\",\n type: \"Select2\",\n model: \"contactPersonId\",\n dataSource: \"getContactPersonsItemList\",\n lngTag: 20012015,\n id: \"contactPerson\",\n events: {\n hideExpression: \"(qmForm.educationKind == null)\"\n },\n style: {\n class: \"col-md-6 col-xs-12\"\n },\n }, {\n placeholder: \"Abschluss auswählen\",\n placeholderTag: \"20012023\",\n label: \"Abschluss\",\n type: \"Select2\",\n model: \"graduationId\",\n dataSource: \"getSchoolGraduationWv\",\n lngTag: 20012008,\n id: \"schoolGraduation\",\n events: {\n hideExpression: \"(qmForm.educationKind != 0) || (qmForm.educationKind == null)\"\n },\n style: {\n class: \"col-md-6 col-xs-12\"\n },\n wvId: '6fe5a13e-45f2-4c77-b784-b3130c796d72',\n wvListData: 'educationSchemaWvList.schoolGraduationWvList'\n }, {\n placeholder: \"Abschluss auswählen\",\n placeholderTag: \"20012023\",\n label: \"Abschluss\",\n type: \"Select2\",\n model: \"graduationId\",\n dataSource: \"getProfessionalGraduationWv\",\n lngTag: 20012008,\n id: \"professionalGraduation\",\n events: {\n hideExpression: \"(qmForm.educationKind != 1) || (qmForm.educationKind == null)\"\n },\n style: {\n class: \"col-md-6 col-xs-12\"\n },\n wvId: '770a34b0-2839-4732-84f7-06715703810d',\n wvListData: 'educationSchemaWvList.professionalGraduationWvList'\n }, {\n placeholder: \"Bemerkung eintragen\",\n placeholderTag: \"20012024\",\n label: \"Bemerkung\",\n type: \"Summernote\",\n maxLength: -1,\n lngTag: 20000049,\n model: \"comment\",\n events: {\n hideExpression: \"(qmForm.educationKind == null)\"\n },\n style: {\n icon: \"qm-icon-note_text\",\n class: \"colm-md-6 col-xs-12\",\n }\n },],\n actions: {\n put: \"putEducation\",\n post: \"addEducation\"\n }\n };\n /**\n * Client detail training table\n * @memberOf UserInterface\n */\n _this.trainingTable = {\n \"table\": {\n \"Gueltig von\": {\n \"label\": \"validFrom\",\n \"dType\": \"Date\",\n \"lngTag\": \"20033001\"\n },\n \"Gueltig bis\": {\n \"label\": \"validTo\",\n \"dType\": \"Date\",\n \"lngTag\": \"20033002\"\n },\n \"Typ\": {\n \"label\": \"trainingTypeDescr\",\n \"dType\": \"string\",\n \"lngTag\": \"20033003\"\n },\n \"Faehigkeit\": {\n \"label\": \"trainingDescr\",\n \"dType\": \"string\",\n \"lngTag\": \"20033000\"\n },\n \"Erworben durch\": {\n \"label\": \"acquiredByDescr\",\n \"dType\": \"string\",\n \"lngTag\": \"20033005\"\n },\n \"Bemerkung\": {\n \"label\": \"description\",\n \"dType\": \"string\",\n \"lngTag\": \"20033006\"\n },\n \"Aktionen\": [{\n \"icon\": \"qm-icon-pencil blue\",\n \"click\": \"editTraining\",\n \"label\": \"data\",\n \"dType\": \"Button\",\n \"openModal\": \"true\",\n \"targetModal\": \"#\" + _this.modalId,\n \"tooltip\": \"Bearbeiten\",\n \"lngTag\": \"20000044\",\n \"permission\": \"modify\"\n }, {\n \"icon\": \"qm-icon-garbage_can red\",\n \"click\": \"deleteTraining\",\n \"label\": \"data\",\n \"dType\": \"Button\",\n \"tooltip\": \"Löschen\",\n \"lngTag\": \"20000002\",\n \"permission\": \"delete\"\n }]\n },\n \"card\": {\n \"avatar\": {\n \"icon\": \"qm-icon-injection\"\n },\n \"text\": {\n \"label\": \"trainingTypeDescr\",\n \"dType\": \"string\"\n },\n \"subtext\": [{\n \"label\": \"trainingDescr\",\n \"dType\": \"string\"\n }, {\n \"label\": \"validFrom\",\n \"dType\": \"Date\",\n },],\n \"buttons\": [{\n \"icon\": \"qm-icon-pencil blue\",\n \"click\": \"editTraining\",\n \"label\": \"data\",\n \"openModal\": \"true\",\n \"targetModal\": \"#\" + _this.modalId,\n \"dType\": \"Button\",\n \"tooltip\": \"Bearbeiten\",\n \"lngTag\": \"20000044\",\n \"permission\": \"modify\"\n }, {\n \"icon\": \"qm-icon-garbage_can red\",\n \"click\": \"deleteTraining\",\n \"label\": \"data\",\n \"dType\": \"Button\",\n \"tooltip\": \"Löschen\",\n \"lngTag\": \"20000002\",\n \"permission\": \"delete\"\n }]\n },\n \"data\": null,\n };\n /**\n * Client detail training form\n * @memberOf UserInterface\n */\n _this.trainingForm = {\n form: [{\n lngTag: {\n dateFrom: \"20033001\",\n dateTo: \"20033002\",\n },\n label: {\n dateFrom: \"Gültig von\",\n dateTo: \"Gültig bis\",\n },\n type: \"DateRange\",\n model: {\n dateFrom: \"validFrom\",\n dateTo: \"validTo\"\n },\n style: {\n class: \"col-xs-12\"\n },\n config: {\n displayDateTo: true\n }\n }, {\n placeholder: \"Typ\",\n label: \"Typ\",\n type: \"Select2\",\n model: \"trainingTypeId\",\n dataSource: \"getTrainingTypeWv\",\n lngTag: 20033003,\n required: true,\n validate: {\n message: \"Wählen Sie den Typ aus\",\n messageTag: 20033007\n },\n style: {\n class: \"col-md-12 col-xs-12\",\n },\n wvId: '9837b948-2099-4544-947c-eadbfd5908e2',\n wvListData: 'trainingSchemaWvList.trainingTypeWvList'\n }, {\n placeholder: \"Fähigkeit / Fortbildung\",\n label: \"Fähigkeit / Fortbildung\",\n type: \"Select2\",\n model: \"trainingId\",\n dataSource: \"getTrainingWv\",\n lngTag: 20033000,\n required: true,\n validate: {\n message: \"Wählen Sie die Fähigkeit aus\",\n messageTag: 20033008\n },\n style: {\n class: \"col-md-12 col-xs-12\"\n },\n wvId: '6dfcbb34-3d58-401e-bf1f-29a5da6bde88',\n wvListData: 'trainingSchemaWvList.trainingWvList'\n },\n {\n placeholder: \"Erworben durch\",\n label: \"Erworben durch\",\n type: \"Select2\",\n model: \"acquiredById\",\n dataSource: \"getAquiredByWv\",\n lngTag: 20033005,\n style: {\n class: \"col-md-12 col-xs-12\"\n },\n wvId: '95dcc367-adf8-4f3d-98fd-bf167221172e',\n wvListData: 'trainingSchemaWvList.acquiredByWvList'\n },\n {\n placeholder: \"Bemerkung eintragen ...\",\n placeholderTag: \"20000049\",\n label: \"Bemerkung\",\n type: \"Textarea\",\n maxLength: -1,\n model: \"description\",\n lngTag: 20033006,\n style: {\n icon: \"qm-icon-note_text\",\n class: \"col-xs-12 col-md-12\",\n }\n },],\n actions: {\n put: \"putTraining\",\n post: \"addTraining\",\n }\n };\n /**\n * Client detail disease table\n * @memberOf UserInterface\n */\n _this.diseaseTable = {\n \"table\": {\n \"Datum von\": {\n \"label\": \"dateFrom\",\n \"dType\": \"Date\",\n \"lngTag\": \"20000047\"\n },\n \"Datum bis\": {\n \"label\": \"dateTo\",\n \"dType\": \"Date\",\n \"lngTag\": \"20000054\"\n },\n \"Codeschema\": {\n \"label\": \"diseaseCodeSchema\",\n \"dType\": \"string\",\n \"lngTag\": \"20007002\"\n },\n \"Krankheit\": {\n \"label\": \"diseaseName\",\n \"dType\": \"string\",\n \"lngTag\": \"20001049\"\n },\n \"Bemerkung\": {\n \"label\": \"comment\",\n \"dType\": \"string\",\n \"lngTag\": \"20000049\"\n },\n \"Aktionen\": [{\n \"icon\": \"qm-icon-pencil blue\",\n \"click\": \"editDisease\",\n \"label\": \"data\",\n \"dType\": \"Button\",\n \"openModal\": \"true\",\n \"targetModal\": \"#\" + _this.modalId,\n \"tooltip\": \"Bearbeiten\",\n \"lngTag\": \"20000044\",\n \"permission\": \"modify\"\n }, {\n \"icon\": \"qm-icon-garbage_can red\",\n \"click\": \"deleteDisease\",\n \"label\": \"data\",\n \"dType\": \"Button\",\n \"tooltip\": \"Löschen\",\n \"lngTag\": \"20000002\",\n \"permission\": \"delete\"\n }]\n },\n \"card\": {\n \"avatar\": {\n \"icon\": \"qm-icon-injection\"\n },\n \"text\": {\n \"label\": \"diseaseName\",\n \"dType\": \"string\"\n },\n \"subtext\": [{\n \"label\": \"diseaseCodeSchema\",\n \"dType\": \"string\"\n }, {\n \"label\": \"dateFrom\",\n \"dType\": \"Date\",\n },],\n \"buttons\": [{\n \"icon\": \"qm-icon-pencil blue\",\n \"click\": \"editDisease\",\n \"label\": \"data\",\n \"openModal\": \"true\",\n \"targetModal\": \"#\" + _this.modalId,\n \"dType\": \"Button\",\n \"tooltip\": \"Bearbeiten\",\n \"lngTag\": \"20000044\",\n \"permission\": \"modify\"\n }, {\n \"icon\": \"qm-icon-garbage_can red\",\n \"click\": \"deleteDisease\",\n \"label\": \"data\",\n \"dType\": \"Button\",\n \"tooltip\": \"Löschen\",\n \"lngTag\": \"20000002\",\n \"permission\": \"delete\"\n }]\n },\n \"data\": null,\n };\n /**\n * Client detail disease form\n * @memberOf UserInterface\n */\n _this.diseaseForm = {\n form: [{\n lngTag: {\n dateFrom: \"20000047\",\n dateTo: \"20000054\",\n },\n label: {\n dateFrom: \"Datum von\",\n dateTo: \"Datum bis\",\n },\n type: \"DateRange\",\n model: {\n dateFrom: \"dateFrom\",\n dateTo: \"dateTo\"\n },\n style: {\n class: \"col-xs-12\"\n },\n config: {\n displayDateTo: true\n }\n }, {\n placeholder: \"Codeschema\",\n label: \"Codeschema\",\n type: \"Select2\",\n model: \"diseaseCodeSchemaId\",\n dataSource: \"getDiseaseCodeSchemaWvList\",\n lngTag: 20007002,\n required: true,\n validate: {\n message: \"Bitte das Codeschema angeben.\",\n messageTag: 21003005\n },\n style: {\n class: \"col-md-12 col-xs-12\",\n }\n }, {\n placeholder: \"Krankheit\",\n label: \"Krankheit\",\n type: \"Autocomplete\",\n model: \"diseaseName\",\n lngTag: 20001049,\n required: true,\n id: \"liveDiseases\",\n validate: {\n message: \"Bitte die Krankheit angeben.\"\n },\n style: {\n class: \"col-md-12 col-xs-12\",\n icon: \"fa fa-globe\"\n }\n },\n {\n placeholder: \"Krankheitsart\",\n label: \"Krankheitsart\",\n type: \"Select2\",\n model: \"diseaseTypeId\",\n dataSource: \"getDiseaseTypeWvList\",\n lngTag: 20007513,\n style: {\n class: \"col-md-12 col-xs-12\",\n }\n },\n {\n placeholder: \"Bemerkung eintragen ...\",\n placeholderTag: \"20000049\",\n label: \"Bemerkung\",\n type: \"Summernote\",\n maxLength: -1,\n model: \"formattedComment\",\n lngTag: 20000049,\n style: {\n icon: \"qm-icon-note_text\",\n class: \"col-xs-12 col-md-12\",\n }\n },],\n actions: {\n put: \"putDisease\",\n post: \"addDiseased\",\n }\n };\n /**\n * Client detail absenteeism table\n * @memberOf UserInterface\n */\n _this.absenteeismTable = {\n \"table\": {\n \"Datum von\": {\n \"label\": \"dateFrom\",\n \"dType\": \"Date\",\n \"withTime\": \"true\",\n \"lngTag\": \"20000047\",\n \"style\": \"style\"\n },\n \"Datum bis\": {\n \"label\": \"dateTo\",\n \"dType\": \"Date\",\n \"withTime\": \"true\",\n \"lngTag\": \"20000054\",\n \"style\": \"style\"\n },\n \"Abwesenheitsgrund\": {\n \"label\": \"absenteeismReason\",\n \"dType\": \"string\",\n \"lngTag\": \"21008001\",\n \"style\": \"style\"\n },\n \"Kontaktperson\": {\n \"label\": \"contactPersonName\",\n \"dType\": \"string\",\n \"lngTag\": \"20001048\",\n \"style\": \"style\"\n },\n \"Bemerkung\": {\n \"label\": \"comment\",\n \"dType\": \"string\",\n \"lngTag\": \"20000049\",\n \"style\": \"style\"\n },\n \"Aktionen\": [{\n \"icon\": \"qm-icon-pencil blue\",\n \"click\": \"editAbsenteeism\",\n \"label\": \"data\",\n \"openModal\": \"true\",\n \"targetModal\": \"#\" + _this.modalId,\n \"dType\": \"Button\",\n \"tooltip\": \"Bearbeiten\",\n \"lngTag\": \"20000044\",\n \"permission\": \"modify\"\n }, {\n \"icon\": \"qm-icon-garbage_can red\",\n \"click\": \"deleteAbsenteeism\",\n \"label\": \"data\",\n \"dType\": \"Button\",\n \"tooltip\": \"Löschen\",\n \"lngTag\": \"20000002\",\n \"permission\": \"delete\"\n }]\n },\n \"card\": {\n \"avatar\": {\n \"icon\": \"qm-icon-calendar_7\"\n },\n \"text\": {\n \"label\": \"absenteeismReason\",\n \"dType\": \"string\"\n },\n \"text\": {\n \"label\": \"contactPersonName\",\n \"dType\": \"string\"\n },\n \"subtext\": [{\n \"label\": \"dateFrom\",\n \"dType\": \"Date\"\n }],\n \"buttons\": [{\n \"icon\": \"qm-icon-pencil blue\",\n \"click\": \"editAbsenteeism\",\n \"label\": \"data\",\n \"dType\": \"Button\",\n \"openModal\": \"true\",\n \"targetModal\": \"#\" + _this.modalId,\n \"tooltip\": \"Bearbeiten\",\n \"lngTag\": \"20000044\",\n \"permission\": \"modify\"\n }, {\n \"icon\": \"qm-icon-garbage_can red\",\n \"click\": \"deleteAbsenteeism\",\n \"label\": \"data\",\n \"dType\": \"Button\",\n \"tooltip\": \"Löschen\",\n \"lngTag\": \"20000002\",\n \"permission\": \"delete\"\n }]\n },\n \"data\": null\n };\n /**\n * Client detail absenteeism form\n * @memberOf UserInterface\n */\n _this.absenteeismForm = {\n form: [{\n placeholder: \"Abwesenheitsgrund\",\n label: \"Abwesenheitsgrund\",\n type: \"Select2\",\n lngTag: 21008001,\n model: \"absenteeismReasonId\",\n dataSource: \"getWvList\",\n required: true,\n validate: {\n message: \"Bitte einen Grund auswählen.\",\n messageTag: 21008002\n },\n style: {\n class: \"col-md-6 col-xs-12\",\n },\n wvId: '18ad8c93-5212-4736-b9bb-a00ae7a0d95f',\n wvListData: 'wvList.absenteeismReasonWvList'\n }, {\n placeholder: \"Aufenthalt bei\",\n label: \"Aufenthalt bei\",\n type: \"Select2\",\n lngTag: 21008010,\n model: \"contactPersonId\",\n dataSource: \"getContactPersonList\",\n style: {\n class: \"col-md-6 col-xs-12\",\n }\n }, {\n type: \"hr\"\n }, {\n lngTag: {\n dateFrom: \"20000047\",\n dateTo: \"20000054\"\n },\n label: {\n dateFrom: \"Datum von\",\n dateTo: \"Datum bis\",\n },\n type: \"DateRange\",\n model: {\n dateFrom: \"dateFrom\",\n dateTo: \"dateTo\"\n },\n style: {\n class: \"col-xs-12\"\n },\n config: {\n displayTime: true,\n disableTime: false,\n displayDateTo: true,\n disableDate: false,\n }\n }, {\n placeholder: \"Bemerkung eintragen ...\",\n label: \"Bemerkung\",\n type: \"Textarea\",\n maxLength: -1,\n model: \"comment\",\n lngTag: 20000049,\n style: {\n icon: \"qm-icon-note_text\",\n class: \"col-xs-12\",\n }\n }],\n actions: {\n put: \"putAbsenteeism\",\n post: \"addAbsenteeism\"\n }\n };\n /**\n * Client detail accountingBook table\n * @memberOf UserInterface\n */\n _this.accountingBookTable = {\n \"table\": {\n \"Kassenbuchart\": {\n \"label\": \"accountingBookType\",\n \"dType\": \"string\",\n \"lngTag\": \"20019002\",\n },\n \"Bezeichnung\": {\n \"label\": \"caption\",\n \"dType\": \"string\",\n \"lngTag\": \"20000053\",\n },\n \"Kontonummer\": {\n \"label\": \"accountNumber\",\n \"dType\": \"string\",\n \"lngTag\": \"20019004\",\n },\n \"Währung\": {\n \"label\": \"currency\",\n \"dType\": \"string\",\n \"lngTag\": \"20019003\",\n },\n \"MwSt.\": {\n \"label\": \"standardVat\",\n \"dType\": \"string\",\n \"lngTag\": \"20000279\"\n },\n \"Negativen Saldo zulassen\": {\n \"label\": \"onlyPositive\",\n \"dType\": \"Bool\",\n \"lngTag\": \"20019025\"\n },\n \"Aktionen\": [{\n \"icon\": \"qm-icon-magnifying_glass green\",\n \"click\": \"getAccountingBook\",\n \"label\": \"data\",\n \"dType\": \"Button\",\n \"lngTag\": \"21006000\",\n \"tooltip\": \"Einträge anzeigen\",\n \"events\": {\n \"hide\": \"!view\"\n }\n }, {\n \"icon\": \"qm-icon-pencil blue\",\n \"click\": \"editAccountingBook\",\n \"openModal\": \"true\",\n \"targetModal\": \"#\" + _this.modalId,\n \"label\": \"data\",\n \"dType\": \"Button\",\n \"tooltip\": \"Bearbeiten\",\n \"lngTag\": \"20000044\",\n \"events\": {\n \"hide\": \"!modify\"\n }\n }, {\n \"icon\": \"qm-icon-garbage_can red\",\n \"click\": \"deleteAccountingBook\",\n \"label\": \"data\",\n \"dType\": \"Button\",\n \"tooltip\": \"Löschen\",\n \"lngTag\": \"20000002\",\n \"permission\": \"special\",\n \"permissionByDataSet\": true\n }, {\n \"icon\": \"qm-icon-plus green\",\n \"openModal\": \"true\",\n \"targetModal\": \"#edit-entryForm\",\n \"click\": \"initEntryForm\",\n \"label\": \"data\",\n \"dType\": \"Button\",\n \"tooltip\": \"Eintrag hinzufügen\",\n \"lngTag\": \"20000044\",\n \"permission\": \"entryNew\"\n }]\n },\n \"card\": {\n \"avatar\": {\n \"icon\": \"qm-icon-cashier\"\n },\n \"text\": {\n \"label\": \"caption\",\n \"dType\": \"string\"\n },\n \"subtext\": [{\n \"label\": \"accountingBookType\",\n \"dType\": \"string\"\n }, {\n \"label\": \"currency\",\n \"dType\": \"string\"\n }],\n \"buttons\": [{\n \"icon\": \"qm-icon-magnifying_glass green\",\n \"click\": \"getAccountingBook\",\n \"label\": \"data\",\n \"dType\": \"Button\",\n \"tooltip\": \"Einträge anzeigen\",\n \"lngTag\": \"21006000\",\n \"permission\": \"view\",\n \"events\": {\n \"hide\": \"!view\"\n }\n }, {\n \"icon\": \"qm-icon-pencil blue\",\n \"click\": \"editAccountingBook\",\n \"openModal\": \"true\",\n \"targetModal\": \"#\" + _this.modalId,\n \"label\": \"data\",\n \"dType\": \"Button\",\n \"tooltip\": \"Bearbeiten\",\n \"lngTag\": \"20000044\",\n \"permission\": \"modify\",\n \"events\": {\n \"hide\": \"!modify\"\n }\n }, {\n \"icon\": \"qm-icon-garbage_can red\",\n \"click\": \"deleteAccountingBook\",\n \"label\": \"data\",\n \"dType\": \"Button\",\n \"tooltip\": \"Löschen\",\n \"lngTag\": \"20000002\",\n \"permission\": \"special\",\n \"permissionByDataSet\": true\n }, {\n \"icon\": \"qm-icon-plus_selected green\",\n \"openModal\": \"true\",\n \"targetModal\": \"#edit-entryForm\",\n \"click\": \"initEntryForm\",\n \"label\": \"data\",\n \"dType\": \"Button\",\n \"tooltip\": \"Eintrag hinzufügen\",\n \"lngTag\": \"20000044\",\n \"permission\": \"entryNew\"\n }]\n },\n \"data\": null,\n };\n /**\n * client detail accounting book form\n * @memberOf UserInterface\n */\n _this.accountingBookForm = {\n form: [{\n label: \"Kassenbuchname\",\n type: \"String\",\n model: \"caption\",\n lngTag: 20019019,\n required: true,\n style: {\n icon: \"qm-icon-note_text\",\n class: \"col-md-6 col-xs-12\",\n },\n validate: {\n message: \"Bitte die Bezeichnung angeben.\"\n }\n }, {\n label: \"Kassenbuchart\",\n type: \"Select2\",\n lngTag: \"20019002\",\n model: \"accountingBookTypeId\",\n dataSource: \"getTypeList\",\n id: \"accountingBookTypeId\",\n required: true,\n style: {\n class: \"col-md-6 col-xs-12\",\n },\n validate: {\n message: \"Bitte die Kassenbuchart angeben.\"\n },\n wvId: '3a2e140f-9e22-414f-bd7c-518085cd0012',\n wvListData: 'wvList.accountingBookTypeWvList'\n }, {\n label: \"Konto-Nr.\",\n lngTag: \"20019027\",\n type: \"String\",\n model: \"accountNumber\",\n style: {\n class: \"col-xs-12 col-md-6\",\n icon: \"fa fa-hashtag\"\n }\n }, {\n type: \"hr\"\n }, {\n placeholder: \"Land\",\n label: \"Land\",\n type: \"Select2\",\n lngTag: 20003521,\n model: \"countryId\",\n dataSource: \"getCountryList\",\n required: true,\n events: {\n updateDataSource: \"currencyId\",\n },\n style: {\n class: \"col-xs-12\",\n }\n }, {\n placeholder: \"Währung\",\n label: \"Währung\",\n type: \"Select\",\n lngTag: 20019003,\n model: \"currencyId\",\n dataSource: \"getCurrencyList\",\n required: true,\n id: \"currencyId\",\n validate: {\n message: \"Bitte eine Währung auswählen\",\n messageTag: 20019005\n },\n style: {\n class: \"col-md-6 col-xs-12\",\n },\n }, {\n placeholder: \"Standard Mehrwertsteuer\",\n label: \"Standard Mehrwertsteuer\",\n type: \"Select\",\n lngTag: 20019006,\n model: \"standardVatId\",\n dataSource: \"getVatList\",\n id: \"standardVatId\",\n events: {\n hideExpression: \"(d.dataSource.value.length < 1)\"\n },\n style: {\n class: \"col-md-6 col-xs-12\",\n },\n }, {\n label: \"Negativen Saldo zulassen\",\n type: \"Checkbox\",\n model: \"onlyPositive\",\n id: \"onlyPositive\",\n lngTag: \"20019025\",\n style: {\n class: \"col-xs-6\"\n }\n }, {\n label: \"abgeschlossen bis\",\n type: \"Date\",\n model: \"endingDate\",\n lngTag: \"20019026\",\n //required: true,\n //events: {\n // hide: \"onlyPositive\"\n //},\n style: {\n class: \"col-xs-6\"\n }\n }, {\n label: \"Als Standard\",\n lngTag: \"20000070\",\n type: \"Checkbox\",\n model: \"isStandard\",\n id: \"isStandard\",\n disabled: true,\n style: {\n class: \"col-xs-6\"\n },\n events: {\n hideExpression: \"!qmForm.wasStandard\"\n }\n }, {\n label: \"Als Standard\",\n lngTag: \"20000070\",\n type: \"Checkbox\",\n model: \"isStandard\",\n id: \"isStandard2\",\n disabled: false,\n style: {\n class: \"col-xs-6\"\n },\n events: {\n hideExpression: \"qmForm.wasStandard\"\n }\n },],\n actions: {\n put: \"putAccountingBook\",\n post: \"addAccountingBook\"\n }\n };\n /**\n * client detail accounting book entry table\n * @memberOf UserInterface\n */\n _this.accountingBookEntryTableIn = {\n \"config\": {\n \"showTitle\": \"true\",\n \"defaultSort\": \"date\",\n \"sortReverse\": \"true\",\n },\n \"table\": {\n \"Datum\": {\n \"label\": \"date\",\n \"dType\": \"Date\",\n \"lngTag\": \"20000045\"\n },\n \"Belegtyp\": {\n \"label\": \"voucherType\",\n \"dType\": \"string\",\n \"lngTag\": \"20019014\"\n },\n // \"Belegtext\": {\n // \"label\": \"voucherText\",\n // \"dType\": \"string\",\n // \"lngTag\": \"20019003\"\n // },\n \"Betrag\": {\n \"label\": \"amountSigned\",\n \"dType\": \"Number\",\n \"calculate\": \"true\",\n \"lngTag\": \"20000122\"\n },\n \"Währung\": {\n \"label\": \"currency\",\n \"dType\": \"string\",\n \"lngTag\": \"20019003\"\n },\n // \"MwSt.\": {\n // \"label\": \"vatText\",\n // \"dType\": \"string\"\n // },\n \"Beleg Nr.\": {\n \"label\": \"voucherNr\",\n \"dType\": \"string\",\n \"lngTag\": \"20019015\"\n },\n \"Gegenb.\": {\n \"label\": \"isCounterBooking\",\n \"dType\": \"Bool\",\n \"lngTag\": \"0\"\n },\n \"Aktionen\": [{\n \"icon\": \"qm-icon-pencil blue\",\n \"click\": \"editAccountingBookEntry\",\n \"openModal\": \"true\",\n \"targetModal\": \"#edit-entryForm\",\n \"label\": \"data\",\n \"dType\": \"Button\",\n \"lngTag\": \"20000144\",\n \"tooltip\": \"Anzeigen und Bearbeiten\",\n \"permission\": \"entryModify\",\n \"events\": {\n \"hide\": \"!allowEdit\"\n }\n }, {\n \"icon\": \"qm-icon-garbage_can red\",\n \"click\": \"deleteAccountingBookEntry\",\n \"label\": \"data\",\n \"dType\": \"Button\",\n \"tooltip\": \"Löschen\",\n \"lngTag\": \"20000002\",\n \"permission\": \"entryDelete\",\n \"events\": {\n \"hide\": \"!allowDelete\"\n }\n }]\n },\n \"card\": {\n \"avatar\": {\n \"icon\": \"fa fa-plus-circle fa-green\"\n },\n \"text\": {\n \"label\": \"voucherType\",\n \"dType\": \"string\"\n },\n \"subtext\": [{\n \"dType\": \"string\"\n }, {\n \"label\": \"amountSigned\",\n \"dType\": \"Number\"\n }],\n \"buttons\": [{\n \"icon\": \"qm-icon-pencil blue\",\n \"click\": \"editAccountingBookEntry\",\n \"openModal\": \"true\",\n \"targetModal\": \"#edit-entryForm\",\n \"label\": \"data\",\n \"dType\": \"Button\",\n \"lngTag\": \"20000144\",\n \"tooltip\": \"Bearbeiten\",\n \"permission\": \"entryModify\",\n \"events\": {\n \"hide\": \"!allowEdit\"\n }\n }]\n },\n \"data\": null,\n };\n _this.accountingBookEntryTableOut = {\n \"config\": {\n \"showTitle\": \"true\",\n \"defaultSort\": \"date\",\n \"sortReverse\": \"true\"\n },\n \"table\": {\n \"Datum\": {\n \"label\": \"date\",\n \"dType\": \"Date\",\n \"lngTag\": \"20000045\"\n },\n \"Belegtyp\": {\n \"label\": \"voucherType\",\n \"dType\": \"string\",\n \"lngTag\": \"20019014\"\n },\n // \"Belegtext\": {\n // \"label\": \"voucherText\",\n // \"dType\": \"string\",\n // \"lngTag\": \"20019003\"\n // },\n \"Betrag\": {\n \"label\": \"amountSigned\",\n \"dType\": \"Number\",\n \"calculate\": \"true\",\n \"lngTag\": \"20000122\"\n },\n \"Währung\": {\n \"label\": \"currency\",\n \"dType\": \"string\",\n \"lngTag\": \"20019003\"\n },\n // \"MwSt.\": {\n // \"label\": \"vatText\",\n // \"dType\": \"string\"\n // },\n \"Beleg Nr.\": {\n \"label\": \"voucherNr\",\n \"dType\": \"string\",\n \"lngTag\": \"20019015\"\n },\n \"Gegenb.\": {\n \"label\": \"isCounterBooking\",\n \"dType\": \"Bool\",\n \"lngTag\": \"0\"\n },\n \"Aktionen\": [{\n \"icon\": \"qm-icon-pencil blue\",\n \"click\": \"editAccountingBookEntry\",\n \"openModal\": \"true\",\n \"targetModal\": \"#edit-entryForm\",\n \"label\": \"data\",\n \"dType\": \"Button\",\n \"lngTag\": \"20000144\",\n \"tooltip\": \"Anzeigen und Bearbeiten\",\n \"permission\": \"entryModify\",\n \"events\": {\n \"hide\": \"!allowEdit\"\n }\n }, {\n \"icon\": \"qm-icon-garbage_can red\",\n \"click\": \"deleteAccountingBookEntry\",\n \"label\": \"data\",\n \"dType\": \"Button\",\n \"tooltip\": \"Löschen\",\n \"lngTag\": \"20000002\",\n \"permission\": \"entryDelete\",\n \"events\": {\n \"hide\": \"!allowDelete\"\n }\n }]\n },\n \"card\": {\n \"avatar\": {\n \"icon\": \"fa fa-minus-circle fa-red\"\n },\n \"text\": {\n \"label\": \"voucherType\",\n \"dType\": \"string\"\n },\n \"subtext\": [{\n \"dType\": \"string\"\n }, {\n \"label\": \"amountSigned\",\n \"dType\": \"Number\"\n }],\n \"buttons\": [{\n \"icon\": \"qm-icon-pencil blue\",\n \"click\": \"editAccountingBookEntry\",\n \"openModal\": \"true\",\n \"targetModal\": \"#edit-entryForm\",\n \"label\": \"data\",\n \"dType\": \"Button\",\n \"lngTag\": \"20000144\",\n \"tooltip\": \"Bearbeiten\",\n \"permission\": \"entryModify\",\n \"events\": {\n \"hide\": \"!allowEdit\"\n }\n }]\n },\n \"data\": null,\n };\n /**\n * client detail accounting book entry form\n * @memberOf UserInterface\n */\n _this.accountingBookEntryForm = {\n form: [{\n lngTag: \"20000025\",\n label: \"Typ\",\n type: \"Select\",\n model: \"isDeposit\",\n required: true,\n dataSource: \"getDepositList\",\n style: {\n class: \"col-xs-12- col-md-6\"\n }\n }, {\n lngTag: \"20019014\",\n label: \"Belegtyp\",\n type: \"Select2\",\n model: \"voucherTypeId\",\n required: true,\n dataSource: \"getVoucherTypeList\",\n style: {\n class: \"col-xs-12 col-md-6\",\n icon: \"fa fa-hashtag\"\n },\n events: {\n hideExpression: \"qmForm.isDeposit == true\"\n },\n wvId: 'c102cb74-6152-45bb-adf1-9e6a53c5b71b',\n wvListData: 'wvList.paymentVoucherTypeWvList'\n }, {\n lngTag: \"20019028\",\n label: \"Einnahmetyp\",\n type: \"Select2\",\n model: \"voucherTypeId\",\n required: true,\n dataSource: \"getDepositTypeList\",\n style: {\n class: \"col-xs-12 col-md-6\"\n },\n events: {\n hideExpression: \"qmForm.isDeposit == false\"\n },\n wvId: '7b1c5c67-0606-4613-bac0-97dea9ee78e8',\n wvListData: 'wvList.depositVoucherTypeWvList'\n }, {\n label: \"Generiere Belegnummer\",\n type: \"Checkbox\",\n model: \"createVoucherNr\",\n id: \"createVoucherNr\",\n lngTag: \"20019021\",\n style: {\n class: \"col-xs-12 col-md-6 col-lg-3\",\n },\n events: {\n hideExpression: \"(qmForm.generateVoucherNrPossible == false || qmForm.isVoucherNumberFix == true)\"\n }\n }, {\n lngTag: \"20019015\",\n label: \"Beleg Nr.\",\n type: \"String\",\n model: \"voucherNr\",\n disabled: true,\n style: {\n class: \"col-xs-12 col-md-6 col-lg-3\",\n icon: \"fa fa-hashtag\",\n },\n events: {\n hideExpression: \"qmForm.createVoucherNr != true\"\n }\n }, {\n lngTag: \"20019015\",\n label: \"Beleg Nr.\",\n type: \"String\",\n model: \"voucherNr\",\n style: {\n class: \"col-xs-12 col-md-6 col-lg-3\",\n icon: \"fa fa-hashtag\",\n },\n events: {\n hideExpression: \"qmForm.createVoucherNr == true\"\n }\n }, {\n lngTag: \"20000045\",\n label: \"Datum\",\n type: \"Date\",\n model: \"date\",\n required: true,\n style: {\n class: \"col-xs-12 col-md-6\"\n }\n }, {\n type: \"hr\"\n }, {\n lngTag: \"20019029\",\n label: \"Belegtext\",\n type: \"String\",\n model: \"voucherText\",\n required: true,\n style: {\n class: \"col-xs-12 col-md-12\",\n icon: \"qm-icon-note_text\"\n }\n },\n {\n lngTag: \"20019024\",\n label: \"Personenbezug\",\n type: \"Select2\",\n model: \"referenceId\",\n dataSource: \"getReferences\",\n style: {\n class: \"col-xs-12\"\n }\n },\n {\n lngTag: \"20000122\",\n label: \"Betrag\",\n type: \"Number\",\n model: \"amount\",\n minValue: -1000000,\n //id: \"amount\",\n required: true,\n validate: {\n message: \"Bitte den Betrag ausfüllen\",\n messageTag: 20019005\n },\n style: {\n class: \"col-md-6 col-xs-12\",\n icon: \"fa fa-eur\"\n },\n }, {\n placeholder: \"Währung\",\n label: \"Währung\",\n type: \"String\",\n lngTag: 20019003,\n model: \"currency\",\n disabled: true,\n style: {\n class: \"col-md-6 col-xs-12\",\n icon: \"fa fa-info\"\n },\n }, {\n lngTag: \"20000049\",\n label: \"Bemerkung\",\n type: \"Textarea\",\n maxLength: 255,\n model: \"comment\",\n style: {\n class: \"col-xs-12\",\n icon: \"qm-icon-note_text\",\n },\n },],\n actions: {\n put: \"putAccountingBookEntry\",\n post: \"addAccountingBookEntry\"\n }\n };\n _this.accountingBookCounterBookingTable = {\n \"table\": {\n \"Typ\": {\n \"label\": \"referenceType\",\n \"dType\": \"string\",\n \"lngTag\": \"20000025\",\n },\n \"Bezug\": {\n \"label\": \"reference\",\n \"dType\": \"string\",\n \"lngTag\": \"20000283\",\n },\n \"Kassenbuch\": {\n \"label\": \"name\",\n \"dType\": \"string\",\n \"lngTag\": \"20001044\",\n },\n \"Kassenbuchart\": {\n \"label\": \"type\",\n \"dType\": \"string\",\n \"lngTag\": \"20019002\",\n },\n \"Hauptkassenbuch\": {\n \"label\": \"isStandard\",\n \"dType\": \"Bool\",\n \"lngTag\": \"20000279\"\n },\n \"Aktionen\": [{\n \"icon\": \"qm-icon-cashier blue\",\n \"click\": \"selectCounterAccountingBook\",\n \"dType\": \"Button\",\n \"lngTag\": \"20019033\",\n \"tooltip\": \"Gegenbuchung für dieses Kassenbuch erstellen\",\n }]\n },\n \"card\": {\n \"avatar\": {\n \"icon\": \"qm-icon-cashier\"\n },\n \"text\": {\n \"label\": \"name\",\n \"dType\": \"string\"\n },\n \"subtext\": [{\n \"label\": \"referenceType\",\n \"dType\": \"string\"\n }, {\n \"label\": \"reference\",\n \"dType\": \"string\"\n }, {\n \"label\": \"type\",\n \"dType\": \"string\"\n }],\n \"buttons\": [{\n \"icon\": \"qm-icon-cashier blue\",\n \"click\": \"selectCounterAccountingBook\",\n \"dType\": \"Button\",\n \"lngTag\": \"0\",\n \"tooltip\": \"Gegenbuchung für dieses Kassenbuch erstellen\",\n }]\n },\n \"data\": null,\n };\n _this.smartAufgabeForm = {\n form: [\n {\n label: \"Aufgabe\",\n placeholder: \"\",\n type: \"String\",\n lngTag: \"20014007\",\n required: true,\n model: \"taskName\",\n validate: {\n message: \"Bitte die Aufgabe angeben.\",\n messageTag: 20014008\n },\n style: {\n icon: \"qm-icon-check\",\n class: \"col-xs-12\"\n }\n },\n {\n label: \"Kategorie\",\n placeholder: \"Kategorie auswählen\",\n type: \"Select\",\n lngTag: \"20000137\",\n model: \"categoryId\",\n dataSource: \"getCategoryList\",\n style: {\n class: \"col-md-6 col-xs-12\"\n }\n },\n {\n label: \"Priorität\",\n placeholder: \"Priorität auswählen\",\n type: \"Select\",\n lngTag: \"20014013\",\n model: \"priorityId\",\n dataSource: \"getPriorityList\",\n id: \"priorityList\",\n style: {\n class: \"col-md-6 col-xs-12\"\n }\n },\n {\n placeholder: \"Erledigungstyp auswählen ...\",\n label: \"Erledigungstyp\",\n type: \"Select\",\n lngTag: \"20014014\",\n model: \"executionTypeId\",\n dataSource: \"getExecutionTypeList\",\n id: \"executionTypeList\",\n required: true,\n validate: {\n message: \"Bitte Erledigungstyp angeben.\",\n messageTag: 20014021\n },\n style: {\n class: \"col-md-6 col-xs-12\"\n }\n },\n {\n label: \"Erledigungsfrist\",\n placeholder: \"zu erledigen bis\",\n type: \"Date\",\n model: \"dateToFinishTill\",\n startDate: new Date(),\n lngTag: \"20014005\",\n style: {\n icon: \"fa fa-font\",\n class: \"col-md-6 col-xs-12\"\n }\n },\n {\n label: \"Termin(e) verwenden\",\n type: \"Checkbox\",\n model: \"isAppointment\",\n id: \"isAppointment\",\n lngTag: \"20014030\",\n style: {\n class: \"col-md-6 col-xs-12\"\n }\n },\n {\n label: \"Teilnehmer (Mitarbeiter)\",\n type: \"Select2\",\n lngTag: \"20014010\",\n model: \"participants\",\n dataSource: \"getParticipantsList\",\n multiple: true,\n id: \"participantsTypeList\",\n style: {\n class: \"col-xs-12\"\n }\n },\n {\n label: \"Beschreibung\",\n placeholder: \"Beschreibung eingeben ...\",\n type: \"Summernote\",\n maxLength: -1,\n lngTag: \"20014019\",\n model: \"taskDescription\",\n style: {\n icon: \"qm-icon-note_text\",\n class: \"colm-md-6 col-xs-12\"\n }\n }\n ],\n actions: {\n put: \"putAufgabe\",\n post: \"addAufgabe\",\n }\n };\n _this.smartContactpersonForm = {\n form: [\n {\n placeholder: \"Klient auswählen\",\n label: \"Klient\",\n type: \"Select\",\n model: \"participants\",\n lngTag: 20017049,\n required: true,\n id: \"selectedClientIds\",\n dataSource: \"getClientList\",\n style: {\n class: \"col- xs - 12\",\n },\n validate: {\n message: \"Bitte einen Klienten angeben.\",\n messageTag: 21003000\n }\n },\n {\n placeholder: \"Kontaktpersonart auswählen\",\n label: \"Kontaktpersonart\",\n type: \"Select\",\n model: \"contactPersonTypeId\",\n lngTag: 20004003,\n required: true,\n dataSource: \"getContactPersonTypeList\",\n style: {\n class: \"col-md-6 col-xs-12\",\n },\n validate: {\n message: \"Bitte die Art auswählen!\"\n }\n }, {\n placeholder: \"Anrede auswählen\",\n label: \"Anrede\",\n type: \"Select\",\n model: \"salutationId\",\n lngTag: 20004005,\n dataSource: \"getSalutationList\",\n style: {\n class: \"col-md-6 col-xs-12\",\n },\n validate: {\n message: \"Bitte die Anrede auswählen!\"\n }\n }, {\n placeholder: \"Titel auswählen\",\n label: \"Titel\",\n type: \"Select\",\n model: \"titleId\",\n lngTag: 21002024,\n dataSource: \"getTitleList\",\n style: {\n class: \"col-md-6 col-xs-12\"\n },\n }, {\n type: \"hr\"\n }, {\n placeholder: \"Vorname\",\n label: \"Vorname\",\n type: \"String\",\n lngTag: 20000057,\n model: \"forename\",\n validate: {\n message: \"Bitte den Vornamen angeben\",\n messageTag: 20003510,\n },\n style: {\n icon: \"fa fa-font\",\n class: \"col-md-6 col-xs-12\"\n }\n }, {\n placeholder: \"Nachname\",\n label: \"Nachname\",\n type: \"String\",\n lngTag: 20000058,\n required: true,\n model: \"name\",\n validate: {\n message: \"Bitte den Nachnamen angeben\",\n messageTag: 20003510,\n },\n style: {\n icon: \"fa fa-font\",\n class: \"col-md-6 col-xs-12\"\n }\n }, {\n placeholder: \"Geburtsdatum\",\n label: \"Geburtsdatum\",\n type: \"Date\",\n lngTag: 21002004,\n model: \"birthday\",\n validate: {\n message: \"Bitte das Geburtsdatum angeben\",\n messageTag: 21003020,\n },\n style: {\n icon: \"fa fa-font\",\n class: \"col-md-6 col-xs-12\"\n }\n }, {\n placeholder: {\n dateFrom: \"Gültig von\",\n dateTo: \"Gültig bis\"\n },\n label: {\n dateFrom: \"Gültig von\",\n dateTo: \"Gültig bis\"\n },\n type: \"DateRange\",\n model: {\n dateFrom: \"dateFrom\",\n dateTo: \"dateTo\"\n },\n style: {\n class: \"col-xs-12\"\n },\n config: {\n displayDateTo: true\n }\n }, {\n placeholder: \"Bemerkung eintragen ...\",\n label: \"Bemerkung\",\n type: \"Textarea\",\n maxLength: -1,\n model: \"comment\",\n lngTag: 20000049,\n style: {\n icon: \"qm-icon-note_text\",\n class: \"col-xs-12 col-md-12\"\n }\n }, {\n label: \"Kontaktsperre\",\n type: \"Checkbox\",\n model: \"isContactBan\",\n lngTag: 20004512,\n id: \"isContactBan\",\n style: {\n class: \"medium\"\n }\n }\n ],\n actions: {\n post: \"addContactperson\",\n put: \"putContactperson\"\n }\n };\n _this.smartAppointmentForm = {\n form: [{\n label: \"Betreff\",\n placeholder: \"Betreff\",\n type: \"String\",\n model: \"title\",\n required: true,\n validate: {\n message: \"Bitte den Betreff angeben.\",\n messageTag: 20018024\n },\n style: {\n class: \"col-xs-12\",\n icon: \"fa fa-font\"\n }\n },\n {\n label: \"Teilnehmer (Klienten)\",\n type: \"Select2\",\n model: \"participants\",\n id: \"selectedClientIds\",\n dataSource: \"getClientList\",\n multiple: true,\n style: {\n class: \"col-xs-12\"\n }\n },\n {\n label: \"Teilnehmer (Mitarbeiter)\",\n type: \"Select2\",\n model: \"selectedEmployeeIds\",\n id: \"selectedEmployeeIds\",\n dataSource: \"getEmployeeList\",\n multiple: true,\n style: {\n class: \"col-xs-12\"\n }\n },\n {\n type: \"hr\"\n }, {\n placeholder: {\n dateFrom: \"Datum von\",\n dateTo: \"Datum bis\",\n },\n type: \"DateRange\",\n lngTag: \"20000130\",\n model: {\n dateFrom: \"dateFrom\",\n dateTo: \"dateTo\"\n },\n label: {\n dateFrom: \"Datum von\",\n dateTo: \"Datum bis\"\n },\n style: {\n class: \"col-xs-12\"\n },\n config: {\n displayTime: true,\n displayDateTo: true,\n disableTime: \"isAllDay\"\n }\n },\n {\n placeholder: \"Ort\",\n label: \"Ort\",\n type: \"String\",\n model: \"location\",\n style: {\n class: \"col-xs-12\",\n icon: \"qm-icon-fa fa-map-marker\"\n }\n },\n {\n label: \"Bemerkung\",\n placeholder: \"Bemerkung eingeben ...\",\n type: \"Textarea\",\n maxLength: -1,\n lngTag: \"20000049\",\n model: \"description\",\n style: {\n icon: \"qm-icon-note_text\",\n class: \"colm-md-6 col-xs-12\"\n }\n },\n {\n label: \"Privat\",\n type: \"Checkbox\",\n lngTag: 20018014,\n model: \"isPrivate\",\n id: \"isPrivate\",\n style: {\n class: \"col-md-4 col-xs-6\"\n }\n },\n {\n label: \"Erledigt\",\n type: \"Checkbox\",\n lngTag: 20000120,\n model: \"isFinished\",\n id: \"isFinished\",\n style: {\n class: \"col-md-4 col-xs-6\"\n }\n },\n {\n label: \"Ganztägig\",\n type: \"Checkbox\",\n lngTag: 20018016,\n model: \"isAllDay\",\n id: \"isAllDay\",\n style: {\n class: \"col-md-4 col-xs-6\"\n }\n },],\n actions: {\n put: \"putAppointment\",\n post: \"addAppointment\"\n }\n };\n _this.smartAbsenteeismForm = {\n form: [{\n label: \"Teilnehmer (Klienten)\",\n type: \"Select2\",\n model: \"participants\",\n id: \"selectedClientIds\",\n dataSource: \"getClientList\",\n multiple: true,\n style: {\n class: \"col-xs-12\"\n }\n }, {\n placeholder: \"Abwesenheitsgrund\",\n label: \"Abwesenheitsgrund\",\n type: \"Select\",\n lngTag: 21008001,\n model: \"absenteeismReasonId\",\n dataSource: \"getWvList\",\n required: true,\n validate: {\n message: \"Bitte einen Grund auswählen.\",\n messageTag: 21008002\n },\n style: {\n class: \"col-md-6 col-xs-12\",\n }\n }, {\n type: \"hr\"\n }, {\n placeholder: {\n dateFrom: \"Datum von\",\n dateTo: \"Datum bis\"\n },\n label: {\n dateFrom: \"Datum von\",\n dateTo: \"Datum bis\"\n },\n type: \"DateRange\",\n model: {\n dateFrom: \"dateFrom\",\n dateTo: \"dateTo\"\n },\n style: {\n class: \"col-xs-12\"\n },\n config: {\n displayTime: true,\n disableTime: false,\n displayDateTo: true\n }\n }, {\n placeholder: \"Bemerkung eintragen ...\",\n label: \"Bemerkung\",\n type: \"Textarea\",\n maxLength: -1,\n model: \"comment\",\n lngTag: 20000049,\n style: {\n icon: \"qm-icon-note_text\",\n class: \"col-xs-12\",\n }\n },],\n actions: {\n put: \"putAbsenteeism\",\n post: \"addAbsenteeism\"\n }\n };\n _this.smartDiseaseForm = {\n form: [{\n label: \"Teilnehmer (Klienten)\",\n type: \"Select2\",\n model: \"participants\",\n id: \"selectedClientIds\",\n dataSource: \"getClientList\",\n multiple: true,\n style: {\n class: \"col-xs-12\"\n }\n }, {\n placeholder: {\n dateFrom: \"Datum von\",\n dateTo: \"Datum bis\",\n },\n label: {\n dateFrom: \"Datum von\",\n dateTo: \"Datum bis\",\n },\n type: \"DateRange\",\n lngTag: 20000130,\n model: {\n dateFrom: \"dateFrom\",\n dateTo: \"dateTo\"\n },\n style: {\n class: \"col-xs-12\"\n },\n config: {\n displayDateTo: true\n }\n }, {\n placeholder: \"Codeschema\",\n label: \"Codeschema\",\n type: \"Select2\",\n model: \"diseaseCodeSchemaId\",\n dataSource: \"getDiseaseWvList\",\n lngTag: 20007002,\n required: true,\n validate: {\n message: \"Bitte das Codeschema angeben.\",\n messageTag: 21003005\n },\n style: {\n class: \"col-md-6 col-xs-12\",\n }\n }, {\n placeholder: \"Krankheit\",\n label: \"Krankheit\",\n type: \"Autocomplete\",\n model: \"diseaseName\",\n lngTag: 20001049,\n required: true,\n id: \"liveDiseases\",\n validate: {\n message: \"Bitte die Krankheit angeben.\"\n },\n style: {\n class: \"col-md-6 col-xs-12\",\n icon: \"fa fa-globe\"\n }\n }, {\n placeholder: \"Bemerkung eintragen ...\",\n label: \"Bemerkung\",\n type: \"Textarea\",\n maxLength: -1,\n model: \"comment\",\n lngTag: 20000049,\n style: {\n icon: \"qm-icon-note_text\",\n class: \"col-xs-12 col-md-12\",\n }\n },],\n actions: {\n put: \"putDisease\",\n post: \"addDisease\",\n }\n };\n _this.smartDocVisitForm = {\n form: [{\n label: \"Teilnehmer (Klienten)\",\n type: \"Select2\",\n model: \"participants\",\n id: \"selectedClientIds\",\n dataSource: \"getClientList\",\n multiple: true,\n style: {\n class: \"col-xs-12\"\n }\n }, {\n placeholder: \"Datum\",\n label: \"Datum\",\n type: \"Date\",\n model: \"date\",\n lngTag: 20000045,\n required: true,\n style: {\n class: \"col-md-6 col-xs-12\",\n }\n }, {\n placeholder: \"Uhrzeit\",\n label: \"Uhrzeit\",\n type: \"Time\",\n lngTag: 20000046,\n model: \"time\",\n style: {\n class: \"col-md-6 col-xs-12\",\n },\n }, {\n type: \"hr\"\n }, {\n placeholder: \"Arzt\",\n label: \"Arzt\",\n type: \"Select2\",\n model: \"doctorId\",\n lngTag: 20010502,\n dataSource: \"getDoctors\",\n style: {\n class: \"col-md-12 col-xs-12\",\n },\n }, {\n placeholder: \"Diagnose\",\n label: \"Diagnose\",\n type: \"Textarea\",\n maxLength: -1,\n lngTag: 20010503,\n model: \"diagnose\",\n style: {\n class: \"col-md-12 col-xs-12\",\n icon: \"fa fa-user-md\"\n },\n },],\n actions: {\n put: \"putDocVisit\",\n post: \"addDocVisit\"\n }\n };\n _this.smartVaccinationForm = {\n form: [{\n label: \"Teilnehmer (Klienten)\",\n type: \"Select2\",\n model: \"participants\",\n id: \"selectedClientIds\",\n dataSource: \"getClientList\",\n multiple: true,\n style: {\n class: \"col-xs-12\"\n }\n }, {\n lngTag: {\n dateFrom: \"20000045\",\n dateTo: \"20009504\"\n },\n label: {\n dateFrom: \"Datum\",\n dateTo: \"Folgetermin\"\n },\n type: \"DateRange\",\n model: {\n dateFrom: \"date\",\n dateTo: \"dateFollowupAppointment\"\n },\n style: {\n class: \"col-xs-12\"\n },\n config: {\n displayDateTo: true\n }\n }, {\n type: \"hr\"\n }, {\n placeholder: \"Arzt auswählen\",\n label: \"Arzt\",\n type: \"Select2\",\n model: \"doctorId\",\n lngTag: 20010502,\n dataSource: \"getDoctors\",\n required: true,\n validate: {\n message: \"Bitte den Arzt angeben.\",\n messageTag: 21003014\n },\n style: {\n class: \"col-md-6 col-xs-12\",\n }\n }, {\n placeholder: \"Krankheit auswählen\",\n label: \"Krankheit\",\n type: \"Select2\",\n model: \"diseaseId\",\n dataSource: \"getDiseases\",\n lngTag: 20001049,\n required: true,\n id: \"disease\",\n validate: {\n message: \"Bitte eine Krankheit angeben\",\n messageTag: 21003006\n },\n style: {\n class: \"col-md-6 col-xs-12\",\n },\n }, {\n placeholder: \"Impfstoff Handelsname\",\n label: \"Impfstoff\",\n type: \"String\",\n lngTag: 20009512,\n model: \"caption\",\n style: {\n class: \"col-md-6 col-xs-12\",\n icon: \"fa fa-stethoscope\"\n },\n }, {\n placeholder: \"Chargen-Nr\",\n label: \"Chargen-Nr\",\n type: \"String\",\n model: \"batchNumber\",\n lngTag: 20009507,\n style: {\n class: \"col-md-6 col-xs-12\",\n icon: \"fa fa-hashtag\"\n },\n }, {\n placeholder: \"Bemerkung eintragen\",\n label: \"Bemerkung\",\n type: \"Textarea\",\n maxLength: -1,\n lngTag: 20000049,\n model: \"comment\",\n style: {\n icon: \"qm-icon-note_text\",\n class: \"colm-md-6 col-xs-12\",\n }\n },],\n actions: {\n put: \"putVaccination\",\n post: \"addVaccination\"\n }\n };\n /**\n * Client detail legal table\n * @memberOf UserInterface\n */\n _this.legalTable = {\n \"table\": {\n \"Gültig von\": {\n \"label\": \"dateFrom\",\n \"dType\": \"Date\",\n \"lngTag\": \"20000277\"\n },\n \"Gültig bis\": {\n \"label\": \"dateTo\",\n \"dType\": \"Date\",\n \"lngTag\": \"20000278\"\n },\n \"Rechtsbezeichnung\": {\n \"label\": \"lawType\",\n \"dType\": \"string\",\n \"lngTag\": \"20022004\"\n },\n \"Rechteinhaber\": {\n \"label\": \"firstLawOwner\",\n \"dType\": \"string\",\n \"lngTag\": \"20022005\"\n },\n \"Gesetzbuch\": {\n \"label\": \"lawBook\",\n \"dType\": \"string\",\n \"lngTag\": \"20022006\"\n },\n \"Zusatz zum Recht\": {\n \"label\": \"legalScale\",\n \"dType\": \"string\",\n \"lngTag\": \"20022010\"\n },\n \"Rechtsgrundlage\": {\n \"label\": \"legalBasis\",\n \"dType\": \"string\",\n \"lngTag\": \"20022008\"\n },\n \"Aktionen\": [{\n \"icon\": \"qm-icon-pencil blue\",\n \"click\": \"editLegal\",\n \"label\": \"data\",\n \"openModal\": \"true\",\n \"targetModal\": \"#\" + _this.modalId,\n \"dType\": \"Button\",\n \"tooltip\": \"Bearbeiten\",\n \"lngTag\": \"20000044\",\n \"permission\": \"modify\"\n }, {\n \"icon\": \"qm-icon-garbage_can red\",\n \"click\": \"deleteLegal\",\n \"label\": \"data\",\n \"dType\": \"Button\",\n \"tooltip\": \"Löschen\",\n \"lngTag\": \"20000002\",\n \"permission\": \"delete\"\n }]\n },\n \"card\": {\n \"avatar\": {\n \"icon\": \"qm-icon-calendar_7\"\n },\n \"text\": {\n \"label\": \"lawType\",\n \"dType\": \"string\"\n },\n \"subtext\": [{\n \"label\": \"lawBook\",\n \"dType\": \"string\"\n }],\n \"buttons\": [{\n \"icon\": \"qm-icon-pencil blue\",\n \"click\": \"editLegal\",\n \"label\": \"data\",\n \"dType\": \"Button\",\n \"openModal\": \"true\",\n \"targetModal\": \"#\" + _this.modalId,\n \"tooltip\": \"Bearbeiten\",\n \"lngTag\": \"20000044\",\n \"permission\": \"modify\"\n }, {\n \"icon\": \"qm-icon-garbage_can red\",\n \"click\": \"deleteLegal\",\n \"label\": \"data\",\n \"dType\": \"Button\",\n \"tooltip\": \"Löschen\",\n \"lngTag\": \"20000002\",\n \"permission\": \"delete\"\n }]\n },\n \"data\": null\n };\n /**\n * Client detail legal form\n * @memberOf UserInterface\n */\n _this.legalForm = {\n form: [{\n lngTag: {\n dateFrom: \"20000277\",\n dateTo: \"20000278\"\n },\n label: {\n dateFrom: \"Gültig von\",\n dateTo: \"Gültig bis\"\n },\n type: \"DateRange\",\n model: {\n dateFrom: \"dateFrom\",\n dateTo: \"dateTo\"\n },\n style: {\n class: \"col-xs-12\"\n },\n config: {\n displayDateTo: true\n }\n },\n {\n label: \"Recht\",\n type: \"Select2\",\n model: \"lawTypeId\",\n lngTag: 20022009,\n dataSource: \"getLawTypeList\",\n required: true,\n //events: {\n // updateDataSource: \"legalScaleId\"\n //},\n style: {\n class: \"col-xs-12\"\n },\n id: \"lawTypeId\",\n wvId: '550b1b03-57b9-4329-b7cb-9e9dffb378d1',\n wvListData: 'wvList.lawWvList'\n },\n {\n label: \"Zusatz zum Recht\",\n type: \"Select2\",\n model: \"legalScaleId\",\n lngTag: 20022010,\n dataSource: \"getLawAdditionList\",\n events: {\n hideExpression: \"qmForm.hasNoLawAdditions || qmForm.lawTypeId == null\"\n },\n style: {\n class: \"col-xs-12\"\n },\n id: \"legalScaleId\",\n wvId: '3e0d8030-1421-41b1-aed9-053d2d01a344',\n wvSubParent: 'lawTypeId'\n },\n {\n label: \"1. Rechteinhaber\",\n type: \"Select2\",\n model: \"firstLawOwnerId\",\n lngTag: 20022013,\n dataSource: \"getLawOwnerList\",\n style: {\n class: \"col-xs-6\"\n },\n id: \"firstLawOwnerId\"\n },\n {\n label: \"2. Rechteinhaber\",\n type: \"Select2\",\n model: \"secondLawOwnerId\",\n lngTag: 20022014,\n dataSource: \"getLawOwnerList\",\n style: {\n class: \"col-xs-6\"\n },\n id: \"secondLawOwnerId\"\n },\n {\n label: \"Gesetztesbuch\",\n type: \"Select2\",\n model: \"lawBookId\",\n lngTag: 20022006,\n dataSource: \"getLawBooks\",\n events: {\n updateDataSource: \"legalBasisId\"\n },\n style: {\n class: \"col-xs-6\"\n },\n id: \"lawBookId\"\n },\n {\n label: \"Paragraph\",\n type: \"Select2\",\n model: \"legalBasisId\",\n dataSource: \"getParagraphList\",\n lngTag: 20022015,\n events: {\n hideExpression: \"qmForm.hasNoParagraphs || qmForm.lawBookId == null\"\n },\n style: {\n class: \"col-xs-6\"\n },\n id: \"legalBasisId\"\n },\n {\n placeholder: \"Bemerkung\",\n placeholderTag: \"20000049\",\n label: \"Notizen\",\n type: \"Summernote\",\n lngTag: 20000049,\n model: \"comment\",\n style: {\n icon: \"qm-icon-note_text\",\n class: \"col-xs-12\"\n }\n },\n ],\n actions: {\n put: \"putLegal\",\n post: \"addLegal\"\n }\n };\n /**\n * detail medicalEvidence table\n * @memberOf UserInterface\n */\n _this.medicalEvidenceTable = {\n \"table\": {\n \"Datum\": {\n \"label\": \"date\",\n \"dType\": \"Date\",\n \"lngTag\": \"20000045\",\n },\n \"Ablaufdatum\": {\n \"label\": \"validToDate\",\n \"dType\": \"Date\",\n \"lngTag\": \"20031007\",\n },\n \"Nachweisart\": {\n \"label\": \"evidenceKind\",\n \"dType\": \"string\",\n \"lngTag\": \"20031006\",\n },\n \"Nachweistyp\": {\n \"label\": \"evidenceType\",\n \"dType\": \"string\",\n \"lngTag\": \"20031005\",\n },\n \"Initiative\": {\n \"label\": \"initiative\",\n \"dType\": \"string\",\n \"lngTag\": \"20031004\",\n },\n \"Ergebnis\": {\n \"label\": \"result\",\n \"dType\": \"string\",\n \"lngTag\": \"20031001\",\n },\n \"Aktionen\": [{\n \"icon\": \"qm-icon-pencil blue\",\n \"click\": \"editMedicalEvidence\",\n \"label\": \"data\",\n \"openModal\": \"true\",\n \"targetModal\": \"#\" + _this.modalId,\n \"dType\": \"Button\",\n \"tooltip\": \"Bearbeiten\",\n \"lngTag\": \"20000044\",\n \"permission\": \"modify\"\n }, {\n \"icon\": \"qm-icon-garbage_can red\",\n \"click\": \"deleteMedicalEvidence\",\n \"label\": \"data\",\n \"dType\": \"Button\",\n \"tooltip\": \"Löschen\",\n \"lngTag\": \"20000002\",\n \"permission\": \"delete\"\n }]\n },\n \"card\": {\n \"avatar\": {\n \"icon\": \"qm-icon-injection\"\n },\n \"text\": {\n \"label\": \"evidenceKind\",\n \"dType\": \"string\"\n },\n \"subtext\": [{\n \"label\": \"evidenceType\",\n \"dType\": \"string\"\n }, {\n \"label\": \"date\",\n \"dType\": \"Date\",\n }, {\n \"label\": \"validToDate\",\n \"dType\": \"Date\",\n }],\n \"buttons\": [{\n \"icon\": \"qm-icon-pencil blue\",\n \"click\": \"editMedicalEvidence\",\n \"label\": \"data\",\n \"openModal\": \"true\",\n \"targetModal\": \"#\" + _this.modalId,\n \"dType\": \"Button\",\n \"tooltip\": \"Bearbeiten\",\n \"lngTag\": \"20000044\",\n \"permission\": \"modify\"\n }, {\n \"icon\": \"qm-icon-garbage_can red\",\n \"click\": \"deleteMedicalEvidence\",\n \"label\": \"data\",\n \"dType\": \"Button\",\n \"tooltip\": \"Löschen\",\n \"lngTag\": \"20000002\",\n \"permission\": \"delete\"\n }]\n },\n \"data\": null,\n };\n /**\n * detail medicalEvidence form\n * @memberOf UserInterface\n */\n _this.medicalEvidenceForm = {\n form: [{\n label: \"Datum\",\n type: \"Date\",\n lngTag: 20000045,\n model: \"date\",\n required: true,\n validate: {\n message: \"Bitte das Datum angeben\",\n messageTag: 21003001\n },\n style: {\n icon: \"fa fa-calendar\",\n class: \"col-md-6 col-xs-12\"\n }\n },\n {\n label: \"Ablaufdatum\",\n type: \"Date\",\n lngTag: 20031007,\n model: \"validToDate\",\n style: {\n icon: \"fa fa-calendar-o\",\n class: \"col-md-6 col-xs-12\"\n }\n },\n {\n label: \"Nachweisart\",\n type: \"Select2\",\n model: \"evidenceKindId\",\n lngTag: 20031006,\n dataSource: \"getEvidenceKind\",\n required: true,\n validate: {\n message: \"Bitte eine Nachweisart auswählen\",\n messageTag: 21003042\n },\n style: {\n class: \"col-md-6 col-xs-12\"\n },\n wvId: 'a1f7e0af-f2ab-4b54-beea-82d0aa4c28f7',\n wvListData: 'wv.evidenceKindWvList'\n },\n {\n label: \"Nachweistyp\",\n type: \"Select2\",\n model: \"evidenceTypeId\",\n lngTag: 20031005,\n dataSource: \"getEvidenceType\",\n style: {\n class: \"col-md-6 col-xs-12\"\n },\n wvId: '15ba6762-32da-40ae-94c5-ce176776d4a4',\n wvListData: 'wv.evidenceTypeWvList'\n },\n {\n label: \"Initiative\",\n type: \"Select2\",\n model: \"initiativeId\",\n lngTag: 20031004,\n dataSource: \"getInitiative\",\n style: {\n class: \"col-md-6 col-xs-12\"\n },\n wvId: '79906dfe-0730-44a8-9e46-00cd79d4451f',\n wvListData: 'wv.initiativeWvList'\n },\n {\n label: \"Zusatztext\",\n type: \"String\",\n model: \"additionalText\",\n lngTag: 20031003,\n style: {\n icon: \"fa fa-font\",\n class: \"col-xs-12\"\n },\n },\n {\n label: \"Durchgeführt von\",\n type: \"Select2\",\n model: \"executorId\",\n lngTag: 20031002,\n dataSource: \"getExecutioner\",\n style: {\n class: \"col-md-6 col-xs-12\"\n },\n },\n {\n label: \"Ergebnis\",\n type: \"Select2\",\n model: \"resultId\",\n lngTag: 20031001,\n dataSource: \"getResult\",\n required: true,\n validate: {\n message: \"Bitte ein Ergebnis auswählen.\",\n messageTag: 21003043\n },\n style: {\n class: \"col-md-6 col-xs-12\"\n },\n wvId: 'fa480b40-f518-4abd-a14a-836f543cb68a',\n wvListData: 'wv.resultWvList'\n },\n {\n placeholder: \"Bemerkung\",\n placeholderTag: 20000049,\n label: \"Bemerkung\",\n type: \"Summernote\",\n lngTag: 20000049,\n model: \"comment\",\n style: {\n icon: \"qm-icon-note_text\",\n class: \"col-xs-12\"\n }\n }],\n actions: {\n put: \"putMedicalEvidence\",\n post: \"addMedicalEvidence\",\n }\n };\n /**\n * detail tempInstituteChange table\n * @memberOf UserInterface\n */\n _this.tempInstituteChangeTable = {\n \"table\": {\n \"Datum von\": {\n \"label\": \"dateFrom\",\n \"dType\": \"Date\",\n \"lngTag\": \"20000047\",\n },\n \"Datum bis\": {\n \"label\": \"dateTo\",\n \"dType\": \"Date\",\n \"lngTag\": \"20000054\",\n },\n \"Organisation\": {\n \"label\": \"institute\",\n \"dType\": \"string\",\n \"lngTag\": \"20000279\",\n },\n \"Grund\": {\n \"label\": \"reason\",\n \"dType\": \"string\",\n \"lngTag\": \"20032001\",\n },\n \"Aktionen\": [{\n \"icon\": \"qm-icon-pencil blue\",\n \"click\": \"editTempInstituteChange\",\n \"label\": \"data\",\n \"openModal\": \"true\",\n \"targetModal\": \"#\" + _this.modalId,\n \"dType\": \"Button\",\n \"tooltip\": \"Bearbeiten\",\n \"lngTag\": \"20000044\",\n \"permission\": \"modify\"\n }, {\n \"icon\": \"qm-icon-garbage_can red\",\n \"click\": \"deleteTempInstituteChange\",\n \"label\": \"data\",\n \"dType\": \"Button\",\n \"tooltip\": \"Löschen\",\n \"lngTag\": \"20000002\",\n \"permission\": \"delete\"\n }]\n },\n \"card\": {\n \"avatar\": {\n \"icon\": \"qm-icon-injection\"\n },\n \"text\": {\n \"label\": \"institute\",\n \"dType\": \"string\"\n },\n \"subtext\": [{\n \"label\": \"dateFrom\",\n \"dType\": \"Date\"\n }, {\n \"label\": \"dateTo\",\n \"dType\": \"Date\",\n }, {\n \"label\": \"reason\",\n \"dType\": \"string\",\n }],\n \"buttons\": [{\n \"icon\": \"qm-icon-pencil blue\",\n \"click\": \"editTempInstituteChange\",\n \"label\": \"data\",\n \"openModal\": \"true\",\n \"targetModal\": \"#\" + _this.modalId,\n \"dType\": \"Button\",\n \"tooltip\": \"Bearbeiten\",\n \"lngTag\": \"20000044\",\n \"permission\": \"modify\"\n }, {\n \"icon\": \"qm-icon-garbage_can red\",\n \"click\": \"deleteTempInstituteChange\",\n \"label\": \"data\",\n \"dType\": \"Button\",\n \"tooltip\": \"Löschen\",\n \"lngTag\": \"20000002\",\n \"permission\": \"delete\"\n }]\n },\n \"data\": null,\n };\n /**\n * detail medicationIssuedThrough table\n * @memberOf UserInterface\n */\n _this.medicationIssuedThroughTable = {\n \"table\": {\n \"Organisation\": {\n \"label\": \"displayTitle\",\n \"dType\": \"string\",\n \"lngTag\": \"20034003\",\n },\n \"Aktionen\": [{\n \"icon\": \"qm-icon-garbage_can red\",\n \"click\": \"deleteMedicalResponsible\",\n \"label\": \"data\",\n \"dType\": \"Button\",\n \"tooltip\": \"Löschen\",\n \"lngTag\": \"20000002\",\n \"permission\": \"deleteMedicationIssuedThrough\"\n }]\n },\n \"card\": {\n \"avatar\": {\n \"icon\": \"qm-icon-injection\"\n },\n \"text\": {\n \"label\": \"displayTitle\",\n \"dType\": \"string\"\n },\n \"subtext\": [{\n \"label\": \"organisation\",\n \"dType\": \"string\",\n }],\n \"buttons\": [{\n \"icon\": \"qm-icon-garbage_can red\",\n \"click\": \"deleteMedicalResponsible\",\n \"label\": \"data\",\n \"dType\": \"Button\",\n \"tooltip\": \"Löschen\",\n \"lngTag\": \"20000002\",\n \"permission\": \"deleteMedicationIssuedThrough\"\n }]\n },\n \"data\": null,\n };\n /**\n * detail medicalResponsible table\n * @memberOf UserInterface\n */\n _this.medicalResponsibleTable = {\n \"table\": {\n \"Organisation\": {\n \"label\": \"displayTitle\",\n \"dType\": \"string\",\n \"lngTag\": \"20034003\",\n },\n \"Aktionen\": [{\n \"icon\": \"qm-icon-garbage_can red\",\n \"click\": \"deleteMedicalResponsible\",\n \"label\": \"data\",\n \"dType\": \"Button\",\n \"tooltip\": \"Löschen\",\n \"lngTag\": \"20000002\",\n \"permission\": \"deleteMedicalResponsiblePerm\"\n }]\n },\n \"card\": {\n \"avatar\": {\n \"icon\": \"qm-icon-injection\"\n },\n \"text\": {\n \"label\": \"organisation\",\n \"dType\": \"string\"\n },\n \"subtext\": [{\n \"label\": \"displayTitle\",\n \"dType\": \"string\",\n }],\n \"buttons\": [{\n \"icon\": \"qm-icon-garbage_can red\",\n \"click\": \"deleteMedicalResponsible\",\n \"label\": \"data\",\n \"dType\": \"Button\",\n \"tooltip\": \"Löschen\",\n \"lngTag\": \"20000002\",\n \"permission\": \"deleteMedicalResponsiblePerm\"\n }]\n },\n \"data\": null,\n };\n /**\n * detail medicalResponsible form\n * @memberOf UserInterface\n */\n _this.medicalResponsibleForm = {\n form: [{\n placeholder: \"Organisation auswählen\",\n placeholderTag: 20034008,\n label: \"Organisation\",\n type: \"Select2\",\n model: \"organisationIds\",\n multiple: true,\n validate: {\n message: \"Bitte die Organisation angeben\",\n messageTag: 20034006\n },\n lngTag: 20034003,\n dataSource: \"getInstitute\",\n style: {\n class: \"col-xs-12\"\n },\n }],\n actions: {\n put: \"putMedicalResponsible\",\n post: \"addOrRemoveOrganisationFrom\",\n }\n };\n /**\n * detail tempInstituteChange form\n * @memberOf UserInterface\n */\n _this.tempInstituteChangeForm = {\n form: [{\n label: \"Datum von\",\n type: \"Date\",\n lngTag: 20000047,\n model: \"dateFrom\",\n required: true,\n validate: {\n message: \"Bitte das Datum von angeben\",\n messageTag: 21003001\n },\n style: {\n icon: \"fa fa-calendar\",\n class: \"col-md-6 col-xs-12\"\n }\n },\n {\n label: \"Datum bis\",\n type: \"Date\",\n lngTag: 20000054,\n model: \"dateTo\",\n required: true,\n validate: {\n message: \"Bitte das Datum bis angeben\",\n messageTag: 21003001\n },\n style: {\n icon: \"fa fa-calendar\",\n class: \"col-md-6 col-xs-12\"\n }\n },\n {\n label: \"Organisation\",\n type: \"Select2\",\n model: \"instituteId\",\n required: true,\n validate: {\n message: \"Bitte die Organisation angeben\",\n messageTag: 21003041\n },\n lngTag: 20000279,\n dataSource: \"getInstitute\",\n style: {\n class: \"col-xs-12\"\n },\n },\n {\n label: \"Grund\",\n type: \"Select2\",\n model: \"reasonId\",\n required: true,\n validate: {\n message: \"Bitte den Grund angeben\",\n messageTag: 21003040\n },\n lngTag: 20032001,\n dataSource: \"getReason\",\n style: {\n class: \"col-md-6 col-xs-12\"\n },\n wvId: 'a493c156-d518-40dd-b1b2-c3185f2617a5',\n wvListData: 'wv.reasonWvList'\n },\n {\n placeholder: \"Bemerkung\",\n placeholderTag: 20000049,\n label: \"Bemerkung\",\n type: \"Textarea\",\n lngTag: 20000049,\n model: \"comment\",\n style: {\n icon: \"qm-icon-note_text\",\n class: \"col-xs-12\"\n }\n }],\n actions: {\n put: \"putTempInstituteChange\",\n post: \"addTempInstituteChange\",\n }\n };\n _this.modalId = modalId !== null && modalId !== void 0 ? modalId : _this.modalId;\n return _this;\n }\n return DetailUI;\n }(QMC.Common.UserInterface));\n Stammdaten.DetailUI = DetailUI;\n })(Stammdaten = QMC.Stammdaten || (QMC.Stammdaten = {}));\n})(QMC || (QMC = {}));\nvar QMC;\n(function (QMC) {\n var Stammdaten;\n (function (Stammdaten) {\n var _this = this;\n angular.module('QMC.Stammdaten').directive('qmAccountingBook', ['$qui', 'QmcLanguageService', 'QmcPermissionService', 'StammdatenService', 'UserService', function ($qui, lng, permissionService, stammdatenService, userService) {\n return {\n restrict: 'E',\n templateUrl: './stammdaten/Directives/AccountingBook',\n transclude: true,\n scope: {\n qmParent: '=',\n qmCreate: '='\n },\n link: function (scope) {\n scope.vm = scope;\n //Set defaults\n scope.allowTableExport = false;\n scope.ui = new Stammdaten.DetailUI();\n scope.calcIn = 0;\n scope.calcOut = 0;\n scope.isMobile = false;\n scope.formState = 'new';\n scope.entryFormState = 'new';\n scope.timeAmount = 0;\n scope.loading = true;\n scope.loadingDetail = false;\n scope.generateVoucherNrPossible = false;\n scope.generateVoucherNrPreselection = false;\n scope.reweNumberData = \"\";\n scope.filterWatcher = {\n dateFrom: null,\n dateTo: null\n };\n scope.validation = {\n errors: [],\n warnings: [],\n isLoading: false\n };\n scope.promptOptions = {\n title: lng.translate(20001044, \"Kassenbuch\"),\n yesNo: true,\n icon: \"qm-icon-history2\",\n text: lng.translate(20000290, \"Wollen Sie den Eintrag wirklich löschen?\")\n };\n scope.promptOptionsCounter = {\n title: lng.translate(20019030, \"Gegenbuchung\"),\n yesNo: true,\n icon: \"qm-icon-cashier\",\n text: lng.translate(20019031, \"Möchten Sie eine Gegenbuchung eintragen?\")\n };\n scope.promptOptionsCounterDismiss = {\n title: lng.translate(20019030, \"Gegenbuchung\"),\n yesNo: true,\n icon: \"qm-icon-cashier\",\n text: lng.translate(20019032, \"Sie haben kein Ziel für eine Gegenbuchung ausgewählt. Möchten Sie wirklich ohne fortfahren?\")\n };\n scope.isMobile = QMC.Common.Constants.IS_MOBILE;\n scope.qmCreate = function () {\n scope.created = true;\n scope.showDetail = false;\n permissionService.getPermissionsByObjectTypes([330003, 330000]).then(function (data) {\n //permissionService.getPermissionsByObjectTypes([330003, 140008]).then((data: Common.IPermission[]) => {\n scope.entryView = data[0].view;\n scope.entryDelete = data[0].delete;\n scope.entryNew = data[0].new;\n scope.entryModify = data[0].modify;\n scope.view = data[1].view;\n scope.delete = data[1].delete;\n scope.new = data[1].new;\n scope.modify = data[1].modify;\n scope.moduleAccess = data[1].moduleAccess;\n scope.allowTableExport = data[1].print;\n $qui.waitForEl('#newModalButton', function () {\n if (!scope.new)\n document.getElementById('newModalButton').style.visibility = 'hidden';\n else\n document.getElementById('newModalButton').style.visibility = 'unset';\n });\n scope.getWv();\n $qui.getTableAutoload(userService).then(function (ltd) {\n scope.shouldLoadTableData = ltd;\n if (scope.shouldLoadTableData) {\n scope.getData();\n }\n });\n userService.getUserSettings([\"KASSENBUCH.BELEGNUMMER_BUCHUNGSKREIS\", \"KLIENT.BELEGNUMMER_BUCHUNGSKREIS\", \"KASSENBUCH.BELEGNUMMERGENERIEREN.KLIENT\", \"KASSENBUCH.ShowFiBuDataInSearchDialog\", \"KASSENBUCH.GEGENBUCHUNG.CREATE\"], false).then(function (data) {\n scope.generateVoucherNrPossible = (data[0].value.toLowerCase() !== \"\" && data[0].value.toLowerCase() !== QMC.Common.Constants.GUID_EMPTY);\n scope.generateVoucherNrPossible = scope.generateVoucherNrPossible || (data[1].value.toLowerCase() !== \"\" && data[1].value.toLowerCase() !== QMC.Common.Constants.GUID_EMPTY);\n scope.generateVoucherNrPreselection = data[2].value.toLowerCase() === \"true\";\n if (data[3].value.toLowerCase() === \"true\")\n scope.getReweNumberData();\n if (scope.entryForm) {\n scope.entryForm.generateVoucherNrPossible = scope.generateVoucherNrPossible;\n scope.entryForm.createVoucherNr = scope.generateVoucherNrPreselection;\n }\n scope.counterBookingMode = data[4].value;\n if (!(!scope.counterBookingMode || scope.counterBookingMode === '' || scope.counterBookingMode === QMC.Common.Constants.GUID_EMPTY || scope.counterBookingMode === '13358c99-565d-4c56-b9d4-e213977ecfd2')) { //if counterbooking could be shown, load data\n stammdatenService.getAccountingBooks().then(function (data) {\n scope.ui.accountingBookCounterBookingTable.data = data;\n });\n }\n });\n scope.$watch('vm.entryForm.amount', function (newValue, oldValue) {\n if (newValue === oldValue)\n return;\n scope.validateKassenbuchEntry(false, scope.entryForm);\n }, true);\n scope.$watch('vm.entryForm.voucherNr', function (newValue, oldValue) {\n if (newValue === oldValue)\n return;\n scope.validateKassenbuchEntry(false, scope.entryForm);\n }, true);\n scope.$watch('vm.entryForm.isDeposit', function (newValue, oldValue) {\n if (newValue === oldValue)\n return;\n scope.validateKassenbuchEntry(false, scope.entryForm);\n }, true);\n scope.$watch('vm.entryForm.date', function (newValue, oldValue) {\n if (newValue === oldValue)\n return;\n scope.validateKassenbuchEntry(false, scope.entryForm);\n }, true);\n var sortItemListByDate = function () {\n scope.detailItems.sort(function (a, b) { return a.date.value > b.date.value ? 1 : a.date.value < b.date.value ? -1 : 0; });\n };\n scope.$watch('detailInItems', function (newValue, oldValue) {\n var _a, _b;\n if (newValue === oldValue)\n return;\n scope.detailItems = ((_a = scope.detailInItems) !== null && _a !== void 0 ? _a : []).concat((_b = scope.detailOutItems) !== null && _b !== void 0 ? _b : []);\n sortItemListByDate();\n }, true);\n scope.$watch('detailOutItems', function (newValue, oldValue) {\n var _a, _b;\n if (newValue === oldValue)\n return;\n scope.detailItems = ((_a = scope.detailInItems) !== null && _a !== void 0 ? _a : []).concat((_b = scope.detailOutItems) !== null && _b !== void 0 ? _b : []);\n sortItemListByDate();\n }, true);\n });\n scope.dateFrom = moment().startOf('month').subtract('months', 3).toDate();\n scope.dateTo = moment().toDate();\n scope.events();\n };\n scope.events = function () {\n scope.filterWatcher.dateTo = scope.$watch('vm.dateTo', function (newValue, oldValue) {\n if (newValue === oldValue || scope.form === (null || undefined))\n return;\n scope.getAccountingBook(scope.form);\n });\n scope.filterWatcher.dateFrom = scope.$watch('vm.dateFrom', function (newValue, oldValue) {\n if (newValue === oldValue || !scope.form)\n return;\n scope.getAccountingBook(scope.form);\n });\n };\n /****************** FORM ******************/\n scope.initForm = function () {\n var _a;\n scope.form = {\n id: null,\n objectId: null,\n caption: null,\n isStandard: false,\n standardVatId: scope.userConfig.defaultVat,\n currencyId: scope.userConfig.defaultCurrency,\n endingDate: null,\n onlyPositive: true,\n accountNumber: null,\n parentObjectId: scope.qmParent.id,\n parentObjectType: (_a = scope.qmParent.objectType) !== null && _a !== void 0 ? _a : QMC.Common.Constants.OBJECTTYPE_CLIENT,\n accountingBookTypeId: null,\n countryId: scope.userConfig.defaultCountry\n };\n scope.entryForm = {\n objectId: null,\n id: null,\n comment: null,\n voucherTypeId: null,\n vatId: null,\n isDeposit: false,\n amount: 0,\n date: new Date(),\n accountingBookId: null,\n currency: null,\n currencyShort: null,\n voucherText: \"\",\n voucherNr: \"\",\n voucherType: null,\n vat: null,\n vatText: null,\n clientId: scope.qmParent.id,\n generateVoucherNrPossible: scope.generateVoucherNrPossible,\n createVoucherNr: scope.generateVoucherNrPreselection,\n isVoucherNumberFix: false,\n isCounterBooking: false,\n counterBookingId: null\n };\n };\n scope.initEntryForm = function (form) {\n scope.initForm();\n scope.entryForm.vatId = form.standardVatId;\n scope.entryForm.accountingBookId = form.id;\n scope.entryForm.currency = form.currency;\n scope.entryForm.isVoucherNumberFix = false;\n };\n scope.editAccountingBook = function (form) {\n scope.formState = 'edit';\n scope.form = form;\n if (form.endingDate) {\n scope.form.endingDate = $qui.createDateFromString(form.endingDate);\n }\n };\n scope.editAccountingBookEntry = function (form) {\n scope.entryFormState = 'edit';\n scope.entryForm = form;\n if (form.isVoucherNumberFix)\n scope.entryForm.createVoucherNr = true;\n setTimeout(function () {\n // Parse to two decimal digits comma value (see mantis 0021255)\n //if (isNaN($(this).val()))\n // $(this).val(0);\n var withPoint = form.amount.toString().replace(',', '.');\n var twoDecimalDigits = parseFloat(withPoint).toFixed(2);\n var withComma = twoDecimalDigits.replace('.', ',');\n $('#amount').val(withComma);\n }, 300);\n if (form.date !== (null || undefined))\n scope.entryForm.date = $qui.createDateFromString(form.date);\n };\n /****************** DATA ******************/\n scope.getData = function () {\n scope.getAccountingBooks();\n };\n scope.getReferences = function () {\n return stammdatenService.getAccountingBookReferences().then(function (data) {\n var values = data.map(function (x) { return ({ value: x.objectId, text: x.displayTitle, 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 return values;\n });\n };\n scope.getTypeList = function () {\n return scope.wvList.accountingBookTypeWvList.map(function (obj) {\n return {\n value: obj.id,\n text: obj.name,\n isFix: obj.isFix\n };\n });\n };\n scope.getCountryList = function () {\n return scope.ui.select(scope.wvList.countryWvList, {\n value: 'objectId',\n text: 'name'\n });\n };\n scope.getDepositList = function () {\n return [{\n value: true,\n text: \"Einnahme\"\n }, {\n value: false,\n text: \"Ausgabe\"\n }];\n };\n scope.getCurrencyList = function () {\n return scope.wvListForCountry.currencyWvList.map(function (obj) {\n return {\n value: obj.id,\n text: obj.caption,\n isFix: obj.isFix,\n };\n });\n };\n scope.getVatList = function () {\n return scope.wvListForCountry.vatWvList.map(function (obj) {\n return {\n value: obj.id,\n text: obj.caption,\n isFix: obj.isFix,\n };\n });\n };\n scope.getDepositTypeList = function () {\n return scope.wvList.depositVoucherTypeWvList.map(function (obj) {\n return {\n value: obj.id,\n text: obj.name,\n isFix: obj.isFix\n };\n });\n };\n scope.getVoucherTypeList = function () {\n return scope.wvList.paymentVoucherTypeWvList.map(function (obj) {\n return {\n value: obj.id,\n text: obj.name,\n isFix: obj.isFix,\n };\n });\n };\n /****************** COUNTERBOOKING EXTRA ******************/\n scope.addAccountingBookEntry = function (form) {\n if (!scope.counterBookingMode || scope.counterBookingMode === '' || scope.counterBookingMode === QMC.Common.Constants.GUID_EMPTY || scope.counterBookingMode === '13358c99-565d-4c56-b9d4-e213977ecfd2') { //never\n scope.addAccountingBookEntryAction(form);\n }\n else { //always //ask\n QMC.Common.Utilities.confirm(scope.promptOptionsCounter, function (open) {\n if (open) {\n scope.counterBookingFilter = '';\n scope.entryForm = angular.copy(form);\n scope.entryFormState = 'new';\n $qui.functionWaiter(\"createCounterBookingTable\", scope);\n $('#counterBookingModal').modal('show');\n }\n else {\n scope.addAccountingBookEntryAction(form);\n }\n }, '#promptCounter', true);\n }\n };\n scope.putAccountingBookEntry = function (form) {\n if (!scope.counterBookingMode || scope.counterBookingMode === '' || scope.counterBookingMode === QMC.Common.Constants.GUID_EMPTY || scope.counterBookingMode === '13358c99-565d-4c56-b9d4-e213977ecfd2') { //never\n scope.putAccountingBookEntryAction(form);\n }\n else { //always //ask\n QMC.Common.Utilities.confirm(scope.promptOptionsCounter, function (open) {\n if (open) {\n scope.entryForm = angular.copy(form);\n scope.entryFormState = 'edit';\n $qui.functionWaiter(\"createCounterBookingTable\", scope);\n $('#counterBookingModal').modal('show');\n }\n else {\n scope.putAccountingBookEntryAction(form);\n }\n }, '#promptCounter', true);\n }\n };\n scope.selectCounterAccountingBook = function (item) {\n if (item === void 0) { item = undefined; }\n if (item) {\n scope.entryForm.counterBookingId = item.id;\n scope.validateKassenbuchEntryCounterBooking(scope.entryForm);\n return;\n }\n scope.performSaveAction();\n };\n scope.closeCounterBookingModal = function () {\n QMC.Common.Utilities.confirm(scope.promptOptionsCounterDismiss, function (dismiss) {\n if (dismiss) {\n scope.entryForm.counterBookingId = undefined;\n scope.selectCounterAccountingBook();\n }\n else {\n $('#counterBookingModal').modal('show');\n }\n }, '#promptCounterDismiss', true);\n };\n scope.validateKassenbuchEntryCounterBooking = function (form) {\n scope.validation.errors = null;\n scope.validation.warnings = null;\n var validationObject = {\n idCashJournal: form.counterBookingId,\n idObjectEntry: undefined,\n entryDate: form.date,\n isRevenue: !scope.entryForm.isDeposit,\n amount: form.amount ? form.amount : 0,\n voucherNumber: form.voucherNr,\n infoText: form.comment,\n isDeletionRequest: false,\n };\n stammdatenService.checkForWarningsAndErrors(validationObject).then(function (dataValidation) {\n if (dataValidation.errors.length > 0 || dataValidation.warnings.length > 0) {\n scope.validation.errors = dataValidation.errors;\n scope.validation.warnings = dataValidation.warnings;\n $('#validationCounterBookingModal').modal('show');\n }\n else {\n scope.performSaveAction();\n }\n });\n };\n scope.performSaveAction = function () {\n $('#counterBookingModal').modal('hide');\n if (scope.entryFormState === 'new') {\n scope.addAccountingBookEntryAction(scope.entryForm);\n }\n else {\n scope.putAccountingBookEntryAction(scope.entryForm);\n }\n };\n /****************** SERVICE ******************/\n scope.addAccountingBook = function (form) {\n stammdatenService.postAccountingBook(form).then(function () {\n scope.ui.notify(scope.ui.successNote);\n scope.formState = 'new';\n scope.getAccountingBooks();\n });\n };\n scope.putAccountingBook = function (form) {\n stammdatenService.putAccountingBook(scope.qmParent.id, form.id, form).then(function () {\n scope.ui.notify(scope.ui.successNote);\n scope.formState = 'new';\n scope.getAccountingBooks();\n });\n };\n scope.deleteAccountingBook = function (item) {\n scope.promptOptions.itemText = item.caption;\n QMC.Common.Utilities.confirm(scope.promptOptions, function (data) {\n if (data)\n stammdatenService.deleteAccountingBook(scope.qmParent.id, item.id).then(function () {\n scope.ui.notify(scope.ui.deleteNote);\n scope.formState = 'new';\n scope.getAccountingBooks();\n });\n });\n };\n scope.addAccountingBookEntryAction = function (form) {\n form.clientId = scope.qmParent.id;\n scope.loadingDetail = true;\n stammdatenService.postAccountingBookEntry(form).then(function () {\n scope.ui.notify(scope.ui.successNote);\n scope.getAccountingBook({ id: form.accountingBookId });\n }).catch(function () {\n scope.loadingDetail = false;\n }).finally(function () {\n scope.entryFormState = 'new';\n });\n };\n scope.putAccountingBookEntryAction = function (form) {\n form.clientId = scope.qmParent.id;\n scope.loadingDetail = true;\n stammdatenService.putAccountingBookEntry(form.id, form).then(function () {\n scope.ui.notify(scope.ui.successNote);\n scope.getAccountingBook({ id: form.accountingBookId });\n }).catch(function () {\n scope.loadingDetail = false;\n }).finally(function () {\n scope.entryFormState = 'new';\n });\n };\n scope.deleteAccountingBookEntry = function (form) {\n //I put the delete function in the validateKassenbuchEntry in order to better handle the validation result\n scope.validateKassenbuchEntry(true, form);\n };\n scope.getWv = function () {\n stammdatenService.getAccountingBookWv().then(function (data) {\n scope.wvList = data;\n stammdatenService.getAccountingBookUserConfig().then(function (data) {\n scope.userConfig = data;\n scope.initForm();\n scope.getWvForCountry();\n $qui.functionWaiter(\"createEntryForm\", scope);\n setTimeout(function () {\n $('#amount').on('change', function () {\n // Parse to two decimal digits comma value (see mantis 0021255)\n var input = $(this).val().toString().replace(',', '.');\n if (isNaN(input))\n $(this).val(0);\n var withPoint = $(this).val().toString().replace(',', '.');\n var twoDecimalDigits = parseFloat(withPoint).toFixed(2);\n var withComma = twoDecimalDigits.replace('.', ',');\n $('#amount').val(withComma);\n });\n }, 300);\n });\n });\n };\n scope.getWvForCountry = function () {\n stammdatenService.getAccountingBookWvForCountry(scope.form.countryId).then(function (data) {\n scope.loading = false;\n scope.wvListForCountry = data;\n $qui.functionWaiter(\"ui.createForm\", scope);\n });\n };\n scope.getAccountingBooks = function () {\n scope.loading = true;\n stammdatenService.getAccountingBookList(scope.qmParent.id).then(function (data) {\n data = data.map(function (obj) {\n obj.new = obj.permissions.new && this.entryNew;\n obj.modify = obj.permissions.modify;\n obj.delete = obj.permissions.delete;\n obj.view = obj.permissions.view;\n obj.permissions.special = obj.permissions.delete && !obj.isStandard;\n obj.wasStandard = obj.isStandard;\n return obj;\n }.bind(scope));\n scope.accountingBooks = data;\n scope.ui.accountingBookTable.data = data;\n $qui.functionWaiter(\"createAcountingbookTable\", scope);\n scope.loading = false;\n });\n };\n scope.getAccountingBook = function (form) {\n if (!form.id || form.id === QMC.Common.Constants.GUID_EMPTY)\n return;\n if (scope.filterWatcher.dateFrom) {\n scope.filterWatcher.dateFrom();\n scope.filterWatcher.dateTo();\n }\n scope.showDetail = true;\n scope.loadingDetail = true;\n scope.form = form;\n for (var acc in scope.accountingBooks)\n if (form.id === scope.accountingBooks[acc].id)\n scope.caption = scope.accountingBooks[acc].caption;\n stammdatenService.getAccountingBook(scope.qmParent.id, form.id, scope.dateFrom, scope.dateTo).then(function (data) {\n scope.totalAmount = data.sum;\n data.items = data.items.map(function (obj) {\n obj.allowEdit = (data.permissions.modify || _this.entryModify) && !obj.isCounterBooking;\n obj.allowDelete = (data.permissions.delete || _this.entryDelete);\n obj.amountSigned = obj.amount;\n if (!obj.isDeposit)\n obj.amountSigned = -Math.abs(obj.amount);\n return obj;\n });\n var input = [];\n var out = [];\n scope.timeAmount = 0;\n for (var _i = 0, _a = data.items; _i < _a.length; _i++) {\n var element = _a[_i];\n if (element.isDeposit) {\n input.push(element);\n scope.timeAmount = scope.timeAmount + element.amount;\n }\n else {\n out.push(element);\n scope.timeAmount = scope.timeAmount - element.amount;\n }\n }\n scope.ui.accountingBookEntryTableIn.data = input;\n scope.ui.accountingBookEntryTableOut.data = out;\n $qui.functionWaiter(\"createEntryTableOut\", scope);\n $qui.functionWaiter(\"createEntryTableIn\", scope);\n scope.loadingDetail = false;\n scope.events();\n });\n };\n scope.getReweNumberData = function () {\n scope.reweNumberData = '';\n stammdatenService.getReweNumber(140000, scope.qmParent.id).then(function (data) {\n if (data[scope.qmParent.id] && data[scope.qmParent.id].length > 0) {\n for (var _i = 0, _a = data[scope.qmParent.id]; _i < _a.length; _i++) {\n var number = _a[_i];\n if (scope.reweNumberData.length > 0)\n scope.reweNumberData += '; ';\n scope.reweNumberData += number.caption + ': ' + number.value;\n }\n }\n });\n };\n scope.validateKassenbuchEntry = function (isDeleteRequest, form) {\n if (!(moment(form.date).isValid()) || isNaN(form.amount))\n return;\n scope.validation.errors = null;\n scope.validation.warnings = null;\n var validationObject = {\n idCashJournal: form.accountingBookId,\n idObjectEntry: form.objectId,\n entryDate: form.date,\n isRevenue: scope.entryForm.isDeposit,\n amount: form.amount ? form.amount : 0,\n voucherNumber: form.voucherNr,\n infoText: form.comment,\n isDeletionRequest: isDeleteRequest,\n };\n stammdatenService.checkForWarningsAndErrors(validationObject).then(function (dataValidation) {\n if (dataValidation.errors.length > 0 || dataValidation.warnings.length > 0) {\n scope.validation.errors = dataValidation.errors;\n scope.validation.warnings = dataValidation.warnings;\n }\n if (isDeleteRequest && dataValidation.errors.length === 0 && dataValidation.warnings.length === 0) {\n QMC.Common.Utilities.confirm(scope.promptOptions, function (deleteOK) {\n if (deleteOK) {\n scope.deleteForm = {\n accountingBookId: form.accountingBookId,\n objectId: form.objectId\n };\n scope.deleteEntry();\n }\n });\n }\n else {\n if (isDeleteRequest) {\n scope.deleteForm = {\n accountingBookId: form.accountingBookId,\n objectId: form.objectId\n };\n $('#validationModal').modal('show');\n }\n }\n });\n };\n scope.deleteEntry = function () {\n stammdatenService.deleteAccountingBookEntry(scope.deleteForm.accountingBookId, scope.deleteForm.objectId).then(function () {\n $('#validationModal').modal('hide');\n scope.ui.notify(scope.ui.deleteNote);\n scope.entryFormState = 'new';\n scope.getAccountingBook({ id: scope.deleteForm.accountingBookId });\n });\n };\n }\n };\n }\n ]);\n })(Stammdaten = QMC.Stammdaten || (QMC.Stammdaten = {}));\n})(QMC || (QMC = {}));\n\n//# sourceMappingURL=../../maps/Stammdaten/qmc.stammdaten.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","__spreadArrays","s","il","k","a","j","jl","routes","$locationProvider","$stateProvider","$urlRouterProvider","qmcBase","html5Mode","enabled","requireBase","params","dataId","dynamic","state","url","templateUrl","controller","controllerAs","resolve","data","console","log","angular","module","config","$inject","HttpProvider","Stammdaten","configureHttpProvider","$httpProvider","defaults","headers","get","_super","StammdatenService","$http","$q","_this","call","modulePath","Common","BaseService","getPersonValidation","dataPersonValidation","post","then","dataResult","getParticipantsSelectionAssignment","addEmptyItem","getItem","getDoctorList","getMedicalOrganisationList","getAddressList","parentObjectId","getAddress","id","getAddressWv","getStatesWv","getCityByPostCodeList","countryId","searchPostCode","getPostCodeByCityList","searchCity","postAddress","putAddress","put","deleteAddress","delete","e","checkForWarningsAndErrors","getAccountingBooks","getAccountingBookList","parentId","getAccountingBook","parentObjectid","bookId","dateFrom","dateTo","postAccountingBook","postAccountingBookEntry","putAccountingBook","putAccountingBookEntry","deleteAccountingBook","deleteAccountingBookEntry","getAccountingBookWv","getAccountingBookWvForCountry","getAccountingBookUserConfig","getAccountingBookReferences","cacheName","cacheContent","sessionStorage","reject","JSON","parse","setItem","stringify","getAuthorityList","getAuthorityContactList","isConnectRegistrationAvailable","getConnectRegistrationUrl","careReceiverId","connectUserId","result","getChecklistList","referenceType","getChecklistItemList","checklistId","getChecklistItem","itemid","postCheckedItem","putCheckedItem","itemId","deleteCheckedItems","deleteCheckedItem","getCommunicationList","getCommunication","getCommunicationWv","postCommunication","putCommunication","deleteCommunication","getSocietyListItem","getContactPersonList","categoryId","contactPersonStatusId","additionalParams","getContactPersonWvList","getContactPersonCategories","getContactPerson","postContactPerson","putContactPerson","deleteContactPerson","validateContactPersonDeletion","referenceId","referenceObjectId","contactPersonId","contactPersonObjId","getTrainingList","parentObjectType","getTraining","getTrainingWvList","postTraining","putTraining","deleteTraining","getEducationList","getCompaniesList","getSchoolsList","getGradeLevelList","getEducation","educationKind","getEducationWvList","postEducation","putEducation","deleteEducation","getDiseaseRequiredFields","getDiseaseList","getDisease","getDiseaseWvList","getDiseasesBySearchText","codeSchemaWvId","searchText","pageSize","postDisease","putDisease","deleteDisease","getLegalList","getLegal","getLegalWvList","postLegal","putLegal","parentobjectId","deleteLegal","getDoctorsVisitList","getDoctorsVisit","postDoctorsVisit","putDoctorsVisit","deleteDoctorsVisit","getNote","putNote","getVaccinationList","getVaccination","getVaccinationWv","postVaccination","putVaccination","deleteVaccination","getHobbyRequiredFields","getHobbyList","getHobby","getHobbyWv","postHobby","putHobby","deleteHobby","getDocumentsUserConfig","getDocumentList","getDocument","downloadAttachment","documentId","attachmentId","postNewDocument","editDocument","addFileToDocument","deleteDocument","deleteFile","getDocumentWV","cachedGetItem","getDocumentMappingForObjecttype","type","getAbsenteeismList","getAbsenteeismBanList","clientId","getAbsenteeism","postAbsenteeism","putAbsenteeism","deleteAbsenteeism","getAbsenteeismWv","checkAbsenteeismValidation","dataAbsenteeismValidation","getClientImage","thumbnail","objectType","undefined","getThumbnail","getAvatarByName","foreName","name","getClientImageList","clientIds","objectIdList","getGlobalDocumentList","showOnlyGlobal","referenceObjectType","page","searchString","searchProperties","getPagination","listSearch","getGlobalDocumentReferences","getGlobalDocumentFile","base64","postGlobalDocument","deleteGlobalDocument","document","objectId","getMedicalEvidenceList","getMedicalEvidence","getMedicalEvidenceWvList","postMedicalEvidence","putMedicalEvidence","deleteMedicalEvidence","getMedicalEvidenceExecutioners","getMedicationResponsibleMedicatioThroughList","assignmentType","getMedResponsibleIssuedThroughItem","postMedResponsibleIssuedThroughItem","putMedResponsibleIssuedThroughItem","deleteMedResponsibleIssuedThroughItem","getTempInstituteChangeList","getTempInstituteChange","getTempInstituteChangeWvList","postTempInstituteChange","putTempInstituteChange","deleteTempInstituteChange","getOrganisationList","getOrganisationForPerson","personId","getReweNumber","Service","Inject","StammdatenClientListController","$location","stammdatenService","$qui","clientService","$stateParams","$scope","$state","userService","permissionService","isFirstLoad","ui","UserInterface","allowTableExport","filter","searchId","Constants","DEFAULT_CLIENT_PREDEFINED_SEARCH_ID","showActiveOnly","clientListSchema","tableRowLink","table","Bild","label","dType","href","forename","Name","lngTag","Vorname","Kürzel","Nummer","Stammhaus","Geburtsdatum","card","avatar","text","subtext","buttons","init","getSectionColor","path","anonAvatar","$","unbind","events","getElementById","getAttribute","toLocaleLowerCase","forbidden","getPermissionsByObjectTypes","print","Model","fullClientList","cards","IS_MOBILE","mobile","getFilterFromStorage","getTableAutoload","ltd","shouldLoadTableData","getClients","$watch","newValue","oldValue","setTimeout","getData","toggleShowActiveOnly","lastValue_1","getSearchValues","loading","setFilterToStorage","getClientListByPredefinedSearch","items","pagination","paginationInfo","functionWaiter","getPredefinedSearches","searchValues","searchValuesMap","selectAutoMap","localStorage","store","changeTableView","toString","Controller","StammdatenClientDetailController","lng","udfService","DetailUI","createForm","menuItems","formState","udf","isConnectLicenseAvailable","bindEvents","client","section","$$path","split","hasClass","toggleInfoBox","getPermissionsForDataset","dData","permissions","window","license","createMenuByPermissions","getLicense","getUserDefinedFields","addUdfMenu","getClientWv","getClientData","getClientAvatar","isLicenseAvailable","mobileSelect","changeSection","$on","_event","next","activeItem","x","includes","initForm","form","birthday","Date","birthplace","birthname","salutationId","titleId","secondTitleId","genderId","shortCaption","clientNumber","createConnectUser","open","catch","_","notify","message","translate","title","icon","status","timer","grep","item","moduleAccess","push","caption","some","granted","sort","unshift","splice","forEach","definitionId","search","css","element","showinfoBox","getComputedStyle","display","style","imageData","clientAvatar","error","time","getClient","copy","moment","prehistoric","endOf","clientAge","diff","clientDaysToBirthday","add","fromNow","Number","timeEnd","editClient","modal","wv","getTitleList","titleWvList","map","obj","value","isFix","getSecondTitleList","secondTitleWvList","getSalutationList","salutationWvList","getGenderList","genderWvList","updateClient","putClient","successNote","getLastAdmissionDate","admissions","date","getFirstAdmissionDate","getLastDismissalDate","dismissals","GlobalDocumentsListController","files","showPrivateCheckbox","showOnlyGlobalFiles","showMonthFilter","subCategoryList","dontAllowDownload","filterCacheName","pageWatcher","tableFilter","references","concat","new","modify","waitForEl","getElementsByName","visibility","openFile","getGlobalSettings","dataSettings","toLowerCase","getWv","promptOptions","yesNo","cache","jsonCache","createDateFromString","_a","startOf","toDate","_b","onlyGlobalFiles","subtitle","comment","documentTypeId","GUID_EMPTY","mainCategoryId","subCategoryId","fileName","base64String","isPrivate","fileSelector","val","showError","listLoad","scopeApply","lastValue_2","cacheFilter","bind","lastValue_3","lastValue_4","lastValue_5","$watchCollection","getSubCategoryList","newVal","oldVal","setPage","clearPageWatcher","fileInfos","fileType","filename","temp","ext","download","blob","base64ToBlob","extToMime","downloadBlob","subCategoryWvList","parentWvId","test","select","cacheObject","shouldDisableTimeFilter","filterString","isFormInvalid","_i","watcher","rId","currentRequest","onlyGlobal","parentTypeId","lastRequest","generateGuid","requestId","documentList","DEFAULT_PAGINATION_SIZE","getDisplayedPropertiesFromSchema","documentTable","truncatedFileName","substr","stateLink","createStateLink","parentReferenceId","openReference","go","newDocument","upload","deleteItem","itemText","Utilities","confirm","deleteNote","documentTypeList","documentTypeWvList","categoryList","mainCategoryWvList","OrgaAccountingBooksListController","organisations","getOrganisations","selectedOrganisation","LocalStorageConstants","ORGANISATION_LAST_SELECTED_ID","displayTitle","organisationId","apply","defaultSort","sortReverse","Kategorie","Unterkategorie","Dokumentkategorie","Ordnerstruktur","Titel","Angelegt am","withTime","Bezug","Dateiname","Art","Aktionen","click","tooltip","hide","permission","EmployeeListController","employeeService","storageName","schema","Employee","lastValue_6","getEmployeeListByPredfinedSearch","finally","EmployeeDetailController","loadingWv","showInfoBox","formSchema","model","required","validate","messageTag","class","dataSource","actions","getEmployee","getEmployeeImage","getEmployeeWv","abbreviation","gender","institute","amountChildren","birthName","bloodType","bloodTypeId","dateOfDeath","employeeNr","eyeColor","eyeColorId","familyStatus","familyStatusId","firstLanguage","firstLanguageId","firstNationality","firstNationalityId","hairColor","hairColorId","instituteId","isBaptized","originCountry","originCountryId","view","personStatus","personStatusId","postalSalutation","postalSalutationId","religion","religionId","salutation","secondLanguage","secondLanguageId","secondNationality","secondNationalityId","editEmployee","employee","age","updateEmployee","putEmployee","getStatusList","personStatusWvList","EmployeeService","getEmployeeList","pagesize","objecttype","DetailAddressController","$timeout","vm","formModalId","udfs","documentObjectType","enableDocuments","lang","on","reload","find","children","removeClass","addClass","localeCompare","getAdress","typeahead","minLength","source","query","process","objectIdCountry","postCodeAndCity","updater","postCode","trigger","city","street","houseNumber","addressAddition","DEFAULT_COUNTRY_ID","objectIdState","objectIdAddressType","isMainRecord","isPostOfficeBox","isHouseless","isDatatransferForbidden","isEmergency","getUserSettings","dataGlobal","getAdressTypeList","addressTypeWvList","getCountryList","countriesWvList","getStatesList","background-color","color","font-weight","addressTable","address","editAdress","addAddress","save","deleteAdress","streetAndHouseNumber","dataDelete","DetailChecklistController","checkListItems","promptOptionsHistory","historyFormState","historyObjectType","maps","list","documentPermissions","historyDelete","historyModify","historyNew","historyModuleAccess","getChecklists","dateShowAgain","order","checklistItemId","history","reminder","reminderActive","checkListId","getCheckListItems","getList","formatItemForTable","isChecked","toggleCommentModal","commentModalData","group","category","checklistTable","data_1","editCheck","newCheck","checklistHistoryTable","addChecklist","putChecklist","deleteCheck","decission","editHistory","historyForm","createHistoryForm","deleteHistory","format","DetailClientInfoController","lngService","selectedClients","isMobile","body","classList","contains","newView","ceBaseUrl","ceUrl","allowExchange","toggleView","postActionLogEntry","area","reference","getTooltip","DetailCommunicationController","linkSetting","mail","tele","targetAddress","isTypeMain","communicationCategoryId","communicationTypeId","communicationTypeName","countryCode","areaCode","displayAddress","getCommunications","getCommunicationTypeList","wvList","communicationTypeWvList","getCommunicationCategoryList","communicationCategoryName","charAt","slice","communicationCategoryWvList","communicationTable","editCommunication","addCommunication","DetailContactPersonController","selectedCategoryId","addressLoading","communicationLoading","adrObjectType","comObjectType","data_2","deleteAdr","newAdr","modifyAdr","moduleAccessAdr","deleteCom","newCom","modifyCom","moduleAccessCom","getWvList","getCategories","Promise","all","reduce","acc","contactPersonTypeId","contactPersonType","isContactBan","isContactBanText","getContacts","row","selectedContactPersonStatusId","contactPersonStatusWvList","contactPersonStatusMap","communicationWv","addressWv","getContactPersonTypeList","contactPersonTypeWvList","categoryListMap","setCategoryFilter","data_3","contact","mainCommunicationTypeId","contactPersonTable","editContact","addContact","putContact","deleteContact","validation","warnings","errors","performDeletion","showDetailContact","currentPerson","showDetail","setupAddress","setupCommunication","getAddresses","initAddressForm","addressForm","createAddressForm","addressEvents","getStates","stateList","newAddress","contactPersonAddressTable","createAddressTable","contactpersonCommunicationTable","createCommunicationTable","_c","communicationForm","animate","scrollTop","last","offset","top","initCommunicationForm","createCommunicationForm","newCommunication","datas","DetailCoverController","reportingService","report","coverCacheName","CLIENT_COVER","userId","invalidCover","clientCoverReportTemplates","clientCoverReportTemplatesMap","clientCoverTemplate","getCoverReportTemplates","list_1","reportItem","reportType","reportTypeName","getReportTypeCaption","parsedCache","timestamp","isAfter","subtract","setReportFromResult","reportTemplateId","generateReport","getReportIdAndExecute","pdfCallbackButton","GetReportDataFromList","list_2","base64Data","disableReload","reportForId","postItem","reportObjectId","serverJobObjectId","parameters","isCancelled","detailParentId","postReportJob","getFinishedReportFile","templateId","reportId","getFinishedReportBase64","DetailNoteController","updateNote","DetailVaccinationController","parentobjectType","permissionLoading","doctorsAndMedicalOrganisations","getVaccinations","dateFollowupAppointment","batchNumber","diseaseId","doctorId","vaccinationTable","editVaccination","getDoctorsAndMedicalOrg","dataDoctors","doctor","dataMedicalOrg","getDiseases","dieseasesWv","diseaseVaccinationWvList","addVaccination","diseaseName","DetailHobbyController","getPermissionsByObjectType","societyList","contactPersonList","isHobbyDisabled","getHobbies","validFrom","validTo","typeId","subTypeId","societyId","membershipNo","hobbyTable","getAdditionalInfos","dataSociety","getContactPersonListOfPerson","dataContactPerson","values","getSocietyListItems","getContactPersonItems","wvData","hobbyRequiredFields","getTypeWv","typeWvList","getSubTypeWv","hobbyTypeName","getHobyTypeName","subTypeWvList","hobbyTypeId","hobbyTypeConst","hobbyType","substring","trim","addHobby","editHobby","DetailDocumentsController","DetailDiseaseController","diseases","diseaseWvList","diseaseCodeSchemaId","invalidateForm","menu","fitToElement","disease","sorter","matcher","_item","DEFAULT_DISEASE_CODE_SCHEMA","diseaseTypeId","OBJECTTYPE_CLIENT","getDiseaseCodeSchemaWvList","diseaseCodeSchemaWvList","getDiseaseTypeWvList","diseaseTypeWvList","diseaseTable","editDisease","addDisease","warn","DetailDoctorsVisitController","medOrgas","doctors","getDocVisits","treaterId","treaterObjectType","diagnose","discipline","docVisitTable","editDocVisit","getDoctors","addDocVisit","addTimeToDate","getTreaterObjectType","putDocVisit","deleteDocVisit","treaterName","docVisit","DetailAbsenteeismController","overlapCheck","overlapCheckType","overlapCheckOnlyForSameType","validationSuccessfulMessage","getAbsenteeismBans","getAbsenteeisms","absenteeismReasonId","absenteeismReasonWvList","absenteeisms","absenteeismTable","absenteeismReason","contactPersonName","isAbsenteeismBanned","absenteeismBansList","addAbsenteeism","checkIsBanned","editAbsenteeism","showWarning","isBanned","listItem","banDate","shouldDisableForm","absenteeismRequestValidation","reasonId","DetailEducationController","schoolEducationKind","professEducationKind","professCareerEducationKind","educationSchemaWvList","schoolsList","gradeLevelList","companiesList","getEducations","classId","educationType","schoolCompanyId","statusId","dataEducation","counter","contactPersonsList","dataGradeLvel","getCompaniesItemList","getSchoolsItemList","getContactPersonsItemList","getEducationKindWv","getSchoolTypeWv","schoolTypeWvList","getSchoolGraduationWv","schoolGraduationWvList","getSchoolStatusWv","schoolStatusWvList","getProfessionalTypeWv","professionalTypeWvList","getProfessionalGraduationWv","professionalGraduationWvList","getProfessionalStatusWv","professionalStatusWvList","getProfessionalCareerTypeWv","professionalCareerTypeWvList","getProfessionalCareerStatusWv","professionalCareerStatusWvList","getProfessionalTrainingTypeWv","professionalTrainingTypeWvList","educationTable","editEducation","addEducation","DetailTrainingController","trainingSchemaWvList","OBJECTTYPE_EMPLOYEE","childObjectType","acquiredById","description","trainingId","trainingTypeId","dataTrainingWv","getAquiredByWv","acquiredByWvList","getTrainingTypeWv","trainingTypeWvList","getTrainingWv","trainingWvList","trainingTable","addTraining","editTraining","DetailAccountingBookController","DetailLegalController","lawOwnerPersons","permissionLoad","getPersonsByKeyAssignment","lawTypeId","lawTypeName","firstLawOwnerId","firstLawOwnerName","secondLawOwnerId","secondLawOwnerName","lawBookId","lawBookName","lawBookShortName","legalScaleId","legalScaleName","legalBasisId","legalBasisName","hasNoLawAdditions","hasNoParagraphs","personTypeFirst","personTypeSecond","legalTable","editLegal","addLegal","getLawTypeList","lawWvList","getLawAdditionList","getLawTypeName","lawAdditionWvList","lawType","getLawOwnerList","createPersonDisplay","personNumber","subText","objectTypeCaption","getLawBooks","lawBookCategoryWvList","getParagraphList","getLawBookName","legalBasisWvList","lawBook","DetailExtendedMainDataController","languageWvList","familyStatusWvList","nationalityWvList","hairColorWvList","languageLevelWvList","languageLevelWvlist","bloodCategoryWvList","eyesColorWvList","migrationBackgroundWvList","birthCountryWvList","bloodTypeWvList","eyeColorWvList","countryWvList","saveEventChange","languageId","languageLevelId","secondLanguageLevelId","thirdLanguageId","thirdLanguageLevelId","bloodCategoryId","eyesColorId","migrationBackgroundId","nationalityId","socialInsuranceNumber","birthcountryId","getClientExtendedMainData","updateData","validationRequest","personObjectId","dataValidationResult","saveData","saving","putClientExtendedMainData","dataClient","dataEmployee","DetailMedicalEvidenceController","validToDate","additionalText","executor","executorId","evidenceType","evidenceTypeId","evidenceKind","evidenceKindId","initiative","initiativeId","resultId","getEvidenceKind","evidenceKindWvList","getEvidenceType","evidenceTypeWvList","getInitiative","initiativeWvList","getExecutioner","executioners","getResult","resultWvList","medicalEvidenceTable","addMedicalEvidence","editMedicalEvidence","DetailMedicalResponsibleController","institutes","medicationIssuedThroughData","medicalResponsibleData","deleteMedicalResponsiblePerm","newMedicalResponsiblePerm","modifyMedicalResponsiblePerm","moduleMedicalResponsiblePerm","deleteMedicationIssuedThrough","newMedicationIssuedThrough","modifyMedicationIssuedThrough","moduleAccessMedicationIssuedThrough","organisation","organisationIds","childObjectId","getInstitute","getInstituteList","getMedicalResponsibleList","getMedicationIssuedThroughList","medicalResponsibleTable","medicationIssuedThroughTable","createMedicationIssuedThroughTable","addOrRemoveOrganisationFrom","this_1","_loop_1","itemToCheck","editMedicalResponsible","putMedicalResponsible","deleteMedicalResponsible","newEntry","DetailTempInstituteChangeController","reason","getReason","reasonWvList","tempInstituteChangeTable","addTempInstituteChange","editTempInstituteChange","DetailUdfController","show","definitionObjectType","modalId","infoForm","placeholder","Typ","Straße","Hausnummer","PLZ","Ort","Land","Bundesland","Datum von","Datum bis","openModal","targetModal","updateDataSource","wvId","wvListData","hideExpression","displayDateTo","dateFromNotRequired","placeholderTag","maxLength","StatusIcon","noHeader","Status","Bezeichnung","Erhalten am","Gültig von","Gültig bis","Wiedervorlage am","checklistForm","Kommunikationsart","Adresse","wvSubParent","Nachname","Kontaktpersonart","Kommunikation","Bemerkung","contactPersonForm","permissionByDataSet","Landesvorwahl","Ortsvorwahl","Standard","Datum","Diagnose","Arzt/Med. Organisation","Fachrichtung","docVisitForm","clientAttachedFilesTable","Dateigröße","Folgetermin","Arzt","Impfung","Impfstoff","Chargen-Nr","vaccinationForm","Verein","Ansprechpartner/in","Hobbyart","Hobby","hobbyForm","disabled","Ausbildungstyp","Schule/Firma","Hauptansprechpartner","Abschluss","Art der Ausbildung","educationForm","Gueltig von","Gueltig bis","Faehigkeit","Erworben durch","trainingForm","Codeschema","Krankheit","diseaseForm","Abwesenheitsgrund","Kontaktperson","absenteeismForm","displayTime","disableTime","disableDate","accountingBookTable","Kassenbuchart","Kontonummer","Währung","MwSt.","Negativen Saldo zulassen","accountingBookForm","accountingBookEntryTableIn","showTitle","Belegtyp","Betrag","calculate","Beleg Nr.","Gegenb.","accountingBookEntryTableOut","accountingBookEntryForm","minValue","accountingBookCounterBookingTable","Kassenbuch","Hauptkassenbuch","smartAufgabeForm","startDate","multiple","smartContactpersonForm","smartAppointmentForm","smartAbsenteeismForm","smartDiseaseForm","smartDocVisitForm","smartVaccinationForm","Rechtsbezeichnung","Rechteinhaber","Gesetzbuch","Zusatz zum Recht","Rechtsgrundlage","legalForm","Ablaufdatum","Nachweisart","Nachweistyp","Initiative","Ergebnis","medicalEvidenceForm","Organisation","Grund","medicalResponsibleForm","tempInstituteChangeForm","directive","restrict","transclude","scope","qmParent","qmCreate","link","calcIn","calcOut","entryFormState","timeAmount","loadingDetail","generateVoucherNrPossible","generateVoucherNrPreselection","reweNumberData","filterWatcher","isLoading","promptOptionsCounter","promptOptionsCounterDismiss","created","entryView","entryDelete","entryNew","entryModify","getReweNumberData","entryForm","createVoucherNr","counterBookingMode","validateKassenbuchEntry","sortItemListByDate","detailItems","detailInItems","detailOutItems","isStandard","standardVatId","userConfig","defaultVat","currencyId","defaultCurrency","endingDate","onlyPositive","accountNumber","accountingBookTypeId","defaultCountry","voucherTypeId","vatId","isDeposit","amount","accountingBookId","currency","currencyShort","voucherText","voucherNr","voucherType","vat","vatText","isVoucherNumberFix","isCounterBooking","counterBookingId","initEntryForm","editAccountingBook","editAccountingBookEntry","withPoint","replace","withComma","parseFloat","toFixed","getReferences","getTypeList","accountingBookTypeWvList","getDepositList","getCurrencyList","wvListForCountry","currencyWvList","getVatList","vatWvList","getDepositTypeList","depositVoucherTypeWvList","getVoucherTypeList","paymentVoucherTypeWvList","addAccountingBookEntry","counterBookingFilter","addAccountingBookEntryAction","putAccountingBookEntryAction","selectCounterAccountingBook","validateKassenbuchEntryCounterBooking","performSaveAction","closeCounterBookingModal","dismiss","validationObject","idCashJournal","idObjectEntry","entryDate","isRevenue","voucherNumber","infoText","isDeletionRequest","dataValidation","addAccountingBook","getWvForCountry","input","isNaN","special","wasStandard","accountingBooks","totalAmount","sum","allowEdit","allowDelete","amountSigned","Math","abs","out","number","isDeleteRequest","isValid","deleteOK","deleteForm","deleteEntry"],"mappings":"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"}