{"version":3,"file":"../../js/Medikamente/qmc.medikamente.min.js","sources":["qmc.medikamente.min.js"],"sourcesContent":["var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\n(function () {\n angular.module('QMC.Medikamente', []).config(routes);\n // Medikamente\n routes.$inject = ['$locationProvider', '$stateProvider', '$urlRouterProvider', 'qmcBase'];\n function routes($locationProvider, $stateProvider, $urlRouterProvider, qmcBase) {\n $locationProvider.html5Mode({\n enabled: false,\n requireBase: false\n });\n $stateProvider\n .state('medicament', {\n url: '/medicament',\n templateUrl: qmcBase + '/Medikamente',\n controller: 'MedikamenteListController',\n controllerAs: 'vm',\n resolve: {\n data: [function () {\n console.log('Current State: Medicament');\n }]\n }\n }).state('medicamentList', {\n url: '/medicament/List',\n templateUrl: qmcBase + '/Medikamente/List',\n controller: 'MedikamenteListController',\n controllerAs: 'vm',\n resolve: {\n data: [function () {\n console.log('Current State: Medicament list');\n }]\n }\n }).state('medicamentDetail', {\n url: '/medicament/:id',\n templateUrl: qmcBase + '/Medikamente/Detail',\n controller: 'MedikamenteDetailController',\n controllerAs: 'vm',\n resolve: {\n data: [function () {\n console.log('Current State: Medicament detail');\n }]\n }\n }).state('medicamentPlannedDistribution', {\n url: '/medicament/plannedDistribution',\n templateUrl: qmcBase + '/Medikamente/PlannedDistribution',\n controller: 'MedikamenteDistributionController',\n controllerAs: 'vm',\n resolve: {\n data: [function () {\n console.log('Current State: Medicament distributed');\n }]\n }\n }).state('medicamentDemandDistribution', {\n url: '/medicament/demandDistribution',\n templateUrl: qmcBase + '/Medikamente/DemandDistribution',\n controller: 'MedikamenteDistributionController',\n controllerAs: 'vm',\n resolve: {\n data: [function () {\n console.log('Current State: Medicament distributed');\n }]\n }\n })\n .state('medicamentDistributionReference', {\n url: '/medicament/distribution/:reference',\n templateUrl: qmcBase + '/Medikamente/Distribution',\n controller: 'MedikamenteDistributionController',\n controllerAs: 'vm',\n resolve: {\n data: [function () {\n console.log('Current State: Medicament distributed Reference');\n }]\n }\n });\n }\n})();\nvar QMC;\n(function (QMC) {\n var Medikamente;\n (function (Medikamente) {\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 Medikamente.HttpProvider = HttpProvider;\n })(Medikamente = QMC.Medikamente || (QMC.Medikamente = {}));\n})(QMC || (QMC = {}));\n(function () {\n angular.module('QMC.Medikamente')\n .config(['$httpProvider', QMC.Medikamente.HttpProvider.configureHttpProvider]);\n})();\nvar QMC;\n(function (QMC) {\n var Medikamente;\n (function (Medikamente) {\n var MedikamenteService = /** @class */ (function (_super) {\n __extends(MedikamenteService, _super);\n function MedikamenteService($http, $q) {\n var _this = _super.call(this, $http, $q) || this;\n _this.$http = $http;\n _this.$q = $q;\n _this.modulePath = '/Medicament';\n return _this;\n }\n //////////////////////////// Medicament //////////////////////////\n MedikamenteService.prototype.getMedicamentWv = function () {\n return _super.prototype.getItem.call(this, this.modulePath + '/WvModel', {}, function (data) {\n return data;\n });\n };\n MedikamenteService.prototype.getMedicament = function (id) {\n return _super.prototype.getItem.call(this, this.modulePath + '/' + id, {}, function (data) {\n return data;\n });\n };\n MedikamenteService.prototype.getMedicamentList = function (page, pageSize, listSearch, searchProperties) {\n if (listSearch === void 0) { listSearch = ''; }\n if (searchProperties === void 0) { searchProperties = []; }\n return _super.prototype.getItem.call(this, this.modulePath + '', { page: page, pageSize: pageSize, listSearch: listSearch, searchProperties: searchProperties }, function (data) {\n return data;\n });\n };\n MedikamenteService.prototype.postMedicament = function (data) {\n return _super.prototype.post.call(this, this.modulePath + '', data).then(function (data) {\n return data;\n });\n };\n MedikamenteService.prototype.putMedicament = function (id, data) {\n return _super.prototype.put.call(this, this.modulePath + '/' + id, data).then(function (data) {\n return data;\n });\n };\n MedikamenteService.prototype.deleteMedicament = function (id) {\n return _super.prototype.delete.call(this, this.modulePath + '/' + id).then(function (data) {\n return data;\n });\n };\n //////////////////////// Medicament Package //////////////////////\n MedikamenteService.prototype.getMedicamentPackageWv = function () {\n return _super.prototype.getItem.call(this, this.modulePath + '/Package/WvModel', {}, function (data) {\n return data;\n });\n };\n MedikamenteService.prototype.postMedicamentPackage = function (data) {\n return _super.prototype.post.call(this, this.modulePath + '/Package', data).then(function (data) {\n return data;\n });\n };\n MedikamenteService.prototype.putMedicamentPackage = function (id, data) {\n return _super.prototype.put.call(this, this.modulePath + '/Package/' + id, data).then(function (data) {\n return data;\n });\n };\n MedikamenteService.prototype.getMedicamentPackage = function (id, parentId) {\n return _super.prototype.getItem.call(this, this.modulePath + '/Package/' + id + \"/\" + parentId, {}, function (data) {\n return data;\n });\n };\n MedikamenteService.prototype.deleteMedicamentPackage = function (id, parentId) {\n return _super.prototype.delete.call(this, this.modulePath + '/Package/' + id + '/' + parentId).then(function (data) {\n return data;\n });\n };\n MedikamenteService.prototype.getMedicamentPackageList = function (id) {\n return _super.prototype.get.call(this, this.modulePath + '/Package/' + id, {}, function (data) {\n return data;\n });\n };\n /////////////////////////// Distribution /////////////////////////\n MedikamenteService.prototype.getMedicationLists = function (dateFrom, dateTo, onlyUncompleted, onlyUndocumented) {\n return _super.prototype.getItem.call(this, this.modulePath + '/Medication', { dateFrom: dateFrom, dateTo: dateTo, onlyUncompleted: onlyUncompleted, onlyUndocumented: onlyUndocumented }, function (data) {\n return data;\n });\n };\n MedikamenteService.prototype.getDemandMedicationLists = function (dateFrom, dateTo, onlyUncompleted, onlyUndocumented) {\n return _super.prototype.get.call(this, this.modulePath + '/Medication/Demand', { dateFrom: dateFrom, dateTo: dateTo, onlyUncompleted: onlyUncompleted, onlyUndocumented: onlyUndocumented }, function (data) {\n return data;\n });\n };\n MedikamenteService.prototype.getPlannedMedicationLists = function (dateFrom, dateTo, onlyUncompleted, onlyUndocumented) {\n return _super.prototype.get.call(this, this.modulePath + '/Medication/Planned', {\n dateFrom: dateFrom, dateTo: dateTo, onlyUncompleted: onlyUncompleted, onlyUndocumented: onlyUndocumented\n }, function (data) {\n return data;\n });\n };\n MedikamenteService.prototype.getDistributionsForMedication = function (dateFrom, dateTo, medicationId) {\n return _super.prototype.get.call(this, this.modulePath + '/Medication/DistributionsForMedication', { dateFrom: dateFrom, dateTo: dateTo, medicationId: medicationId }, function (data) {\n return data;\n });\n };\n MedikamenteService.prototype.getMedicationWv = function () {\n return _super.prototype.getItem.call(this, this.modulePath + '/Medication/WvModel', {}, function (data) {\n return data;\n });\n };\n MedikamenteService.prototype.postMedication = function (reference, data) {\n return _super.prototype.post.call(this, this.modulePath + '/Medication/' + reference, data).then(function (data) {\n return data;\n });\n };\n MedikamenteService.prototype.postMedications = function (data) {\n return _super.prototype.post.call(this, this.modulePath + '/Medication/', data).then(function (data) {\n return data;\n });\n };\n MedikamenteService.prototype.postValidation = function (data) {\n return _super.prototype.post.call(this, this.modulePath + '/Medication/WarningsAndErrors', data).then(function (data) {\n return data;\n });\n };\n MedikamenteService = __decorate([\n QMC.Service('QMC.Medikamente', 'MedikamenteService'),\n QMC.Inject('$http', '$q')\n ], MedikamenteService);\n return MedikamenteService;\n }(QMC.Common.BaseService));\n Medikamente.MedikamenteService = MedikamenteService;\n })(Medikamente = QMC.Medikamente || (QMC.Medikamente = {}));\n})(QMC || (QMC = {}));\nvar QMC;\n(function (QMC) {\n var Medikamente;\n (function (Medikamente) {\n var MedikamenteListController = /** @class */ (function () {\n function MedikamenteListController($location, medicamentService, $qui, $stateParams, $state, $scope, lng, permissionService, userService) {\n var _this = this;\n this.$location = $location;\n this.medicamentService = medicamentService;\n this.$qui = $qui;\n this.$state = $state;\n this.$scope = $scope;\n this.lng = lng;\n this.permissionService = permissionService;\n this.userService = userService;\n //////////////////////////// Variables ///////////////////////////\n /************************* GUI Variables ************************/\n this.ui = new Medikamente.UserInterface();\n this.allowTableExport = false;\n this.page = 0;\n this.filter = '';\n this.modify = true;\n $qui.init($qui.getSectionColor($location.path()), function () {\n $qui.anonAvatar();\n $qui.bindEvents();\n $(\".help-block\").parent(\"div\").attr(\"style\", \"\");\n });\n if (document.getElementById(\"permissions\").getAttribute(\"medicament\").toLocaleLowerCase() !== \"true\") {\n console.log(\"No rights to see module medicament\");\n this.forbidden = true;\n return;\n }\n this.cards = QMC.Common.Constants.IS_MOBILE;\n this.$qui.getTableAutoload(this.userService).then(function (ltd) {\n _this.shouldLoadTableData = ltd;\n if (_this.shouldLoadTableData) {\n _this.$scope.$watch('vm.filter', function (newValue, oldValue) {\n var _this = this;\n if (newValue === oldValue)\n return;\n var lastValue = this.filter;\n setTimeout(function () {\n if (_this.filter === lastValue) {\n _this.getData();\n }\n }, 500);\n }.bind(_this, _this));\n }\n });\n this.getWvs();\n this.init();\n this.permissionLoad = true;\n permissionService.getPermissionsByObjectType(810000).then(function (data) {\n _this.delete = data[0].delete;\n _this.new = data[0].new;\n _this.modify = data[0].modify;\n _this.view = data[0].view;\n _this.allowTableExport = data[0].print;\n _this.permissionLoad = false;\n });\n }\n ////////////////////////// DISPLAYLOGIC //////////////////////////\n MedikamenteListController.prototype.init = function () {\n this.formState = \"new\";\n this.form = {\n id: null,\n objectId: null,\n title: null,\n presentationId: null,\n producerId: null,\n categoryId: null,\n isPrescriptionNeeded: false,\n isPharmacyOnly: false,\n isRestricted: false,\n isAnesthetic: false,\n activeComponent: null,\n comment: null,\n mediNr: null\n };\n };\n MedikamenteListController.prototype.setPage = function (page) {\n this.page = page;\n };\n MedikamenteListController.prototype.getData = function () {\n if (this.pageWatcher)\n this.pageWatcher();\n this.getMedicaments();\n this.page = 0;\n };\n ////////////////////////// SERVICECALLS //////////////////////////\n MedikamenteListController.prototype.getMedicaments = function () {\n var _this = this;\n this.medicamentLoad = true;\n if (this.pageWatcher)\n this.pageWatcher();\n this.medicamentService.getMedicamentList(this.page, QMC.Common.Constants.DEFAULT_PAGINATION_SIZE, this.filter, this.ui.getDisplayedPropertiesFromSchema(this.ui.medicamentTable)).then(function (data) {\n _this.medicaments = data.items;\n _this.paginationInfo = data.paginationInfo;\n _this.ui.medicamentTable.data = data.items;\n _this.$qui.functionWaiter(\"ui.createTable\", _this);\n _this.medicamentLoad = false;\n _this.pageWatcher = _this.$scope.$watch('vm.page', function (newValue, oldValue) {\n if (newValue !== oldValue)\n _this.getMedicaments();\n });\n });\n };\n MedikamenteListController.prototype.addMedicament = function () {\n var _this = this;\n if (this.form.title !== null && this.form.title !== undefined && this.form && this.form.presentationId !== null && this.form.presentationId !== undefined) {\n this.medicamentService.postMedicament(this.form).then(function () {\n _this.ui.notify(_this.ui.successNote);\n $('body').removeClass('modal-open');\n $('.modal-backdrop').remove();\n _this.formState = \"new\";\n _this.getData();\n });\n }\n };\n MedikamenteListController.prototype.getPresentationWvList = function () {\n return this.ui.select(this.wvLists.presentationWvList, { value: \"objectId\", text: \"name\" });\n };\n MedikamenteListController.prototype.getCategoryList = function () {\n return this.ui.select(this.wvLists.categoryWvList, { value: \"objectId\", text: \"name\" });\n };\n MedikamenteListController.prototype.getProducerWvList = function () {\n return this.ui.select(this.wvLists.producerWvList, { value: \"objectId\", text: \"name\" });\n };\n MedikamenteListController.prototype.getWvs = function () {\n var _this = this;\n this.medicamentLoad = true;\n this.medicamentService.getMedicamentWv().then(function (data) {\n _this.wvLists = data;\n _this.$qui.functionWaiter(\"ui.createForm\", _this);\n _this.medicamentLoad = false;\n });\n };\n MedikamenteListController = __decorate([\n QMC.Controller('QMC.Medikamente', 'MedikamenteListController'),\n QMC.Inject('$location', 'MedikamenteService', '$qui', '$stateParams', '$state', '$scope', 'QmcLanguageService', 'QmcPermissionService', 'UserService')\n ], MedikamenteListController);\n return MedikamenteListController;\n }());\n })(Medikamente = QMC.Medikamente || (QMC.Medikamente = {}));\n})(QMC || (QMC = {}));\nvar QMC;\n(function (QMC) {\n var Medikamente;\n (function (Medikamente) {\n var MedikamenteDetailController = /** @class */ (function () {\n /**\n * Creates an instance of MedikamenteDetailController.\n * @param {MedikamenteService} medicamentService\n * @param {any} $qui\n * @param {any} $stateParams\n * @param {any} $state\n * @param {any} $scope\n * @param {Common.QmcLanguageService} lng\n * @param {Common.QmcPermissionService} permissionService\n *\n * @memberOf MedikamenteDetailController\n */\n function MedikamenteDetailController($location, medicamentService, $qui, $stateParams, $state, $scope, lng, permissionService) {\n var _this = this;\n this.$location = $location;\n this.medicamentService = medicamentService;\n this.$qui = $qui;\n this.$state = $state;\n this.$scope = $scope;\n this.lng = lng;\n this.permissionService = permissionService;\n //////////////////////////// Variables ///////////////////////////\n /************************* GUI Variables ************************/\n this.ui = new Medikamente.UserInterface();\n $qui.init($qui.getSectionColor(\"/medicament\"), function () {\n $qui.anonAvatar();\n $qui.bindEvents();\n });\n if (document.getElementById(\"permissions\").getAttribute(\"medicament\").toLocaleLowerCase() !== \"true\") {\n console.log(\"No rights to see module medicament\");\n this.forbidden = true;\n return;\n }\n this.medicamentId = $stateParams.id;\n this.init();\n this.initPackageForm();\n this.getMedicament($stateParams.id);\n this.getWvs();\n $scope.$on('$locationChangeStart', function (event) {\n if ($scope.vm.medicationForm.$dirty) {\n // show warning, if answer negative stay on this side\n if (!confirm(_this.lng.translate(20000039, 'Wenn Sie diese Seite verlassen gehen alle Änderungen verloren. Fortfahren?'))) {\n event.preventDefault();\n }\n }\n });\n this.lang = lng;\n this.promptOptions = {\n title: \"Medikament\",\n yesNo: true,\n icon: \"qm-icon-history2\",\n text: this.lang.translate(20000290, 'Wollen Sie den Eintrag wirklich löschen?')\n };\n this.permissionLoad = true;\n permissionService.getPermissionsByObjectTypes([810000, 810003]).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 _this.view = data[0].view && data[0].moduleAccess;\n _this.pdelete = data[1].delete && data[1].moduleAccess;\n _this.pnew = data[1].new && data[1].moduleAccess;\n _this.pmodify = data[1].modify && data[1].moduleAccess;\n _this.pview = data[1].view && data[1].moduleAccess;\n _this.permissionLoad = false;\n _this.getMedicamentPackages(_this.medicamentId);\n });\n }\n ////////////////////////// DISPLAYLOGIC //////////////////////////\n /**\n * init mediactionform\n *\n * @private\n *\n * @memberOf MedikamenteDetailController\n */\n MedikamenteDetailController.prototype.init = function () {\n this.medicationForm = {\n id: null,\n objectId: null,\n title: null,\n application: null,\n sideEffect: null,\n contraindication: null,\n interaction: null,\n presentationId: null,\n producerId: null,\n categoryId: null,\n isPrescriptionNeeded: false,\n isPharmacyOnly: false,\n isRestricted: false,\n isAnesthetic: false,\n activeComponent: null,\n comment: null,\n restriction: null,\n mediNr: null,\n producer: null,\n packageTypes: []\n };\n this.filter = {\n 'searchText': \"\"\n };\n };\n /**\n * init Packageform\n *\n * @private\n *\n * @memberOf MedikamenteDetailController\n */\n MedikamenteDetailController.prototype.initPackageForm = function () {\n this.formState = \"new\";\n this.packageForm = {\n id: null,\n objectId: null,\n parentId: this.medicamentId,\n dateFrom: new Date(),\n dateTo: null,\n packageAmount: 0,\n packageUnitId: null,\n standardSizeId: null,\n pzn: null,\n ean: null,\n activeComponentAmount: null,\n activeComponentUnitId: null,\n comment: null\n };\n };\n /**\n * check if param is correct guid\n *\n * @private\n * @param {Guid} thing\n * @returns {boolean}\n *\n * @memberOf MedikamenteDetailController\n */\n MedikamenteDetailController.prototype.isSetGuid = function (thing) {\n if (thing !== null && thing !== undefined && thing !== QMC.Common.Constants.GUID_EMPTY)\n return true;\n else\n return false;\n };\n ////////////////////////// SERVICECALLS //////////////////////////\n /**\n * get Medication from API\n *\n * @private\n * @param {Guid} id\n *\n * @memberOf MedikamenteDetailController\n */\n MedikamenteDetailController.prototype.getMedicament = function (id) {\n var _this = this;\n this.medicamentLoad = true;\n this.medicamentService.getMedicament(id).then(function (data) {\n _this.medicationForm = angular.copy(data);\n _this.storedData = angular.copy(data);\n _this.displayTitle = data.title;\n _this.medicamentLoad = false;\n });\n };\n /**\n * get all Packages for Medication\n *\n * @private\n * @param {Guid} id\n *\n * @memberOf MedikamenteDetailController\n */\n MedikamenteDetailController.prototype.getMedicamentPackages = function (id) {\n var _this = this;\n this.packageLoad = true;\n this.medicamentService.getMedicamentPackageList(id).then(function (data) {\n _this.medicationForm = angular.copy(_this.storedData);\n _this.ui.mediPackagesTable.data = data;\n _this.$qui.functionWaiter(\"ui.createTable\", _this);\n _this.packageLoad = false;\n });\n };\n /**\n * put modified mediaction to API\n *\n * @private\n *\n * @memberOf MedikamenteDetailController\n */\n MedikamenteDetailController.prototype.putMedicament = function () {\n var _this = this;\n this.medicamentService.putMedicament(this.medicationForm.objectId, this.medicationForm).then(function (data) {\n _this.$qui.notify(_this.$qui.successNote, _this.lng.translate(20000291, 'Der Eintrag wurde gespeichert.'));\n _this.$state.go('medicamentList');\n });\n };\n /**\n * delete medioaction\n *\n * @private\n *\n * @memberOf MedikamenteDetailController\n */\n MedikamenteDetailController.prototype.deleteMedicament = function () {\n var _this = this;\n QMC.Common.Utilities.confirm(this.promptOptions, function (data) {\n if (data)\n _this.medicamentService.deleteMedicament(_this.medicationForm.objectId).then(function () {\n _this.$qui.notify(_this.$qui.deleteNote);\n _this.$state.go('medicamentList');\n });\n });\n };\n /**\n * get PackageTypeList from API\n *\n * @private\n * @returns {ng.IPromise}\n *\n * @memberOf MedikamenteDetailController\n */\n MedikamenteDetailController.prototype.getPackageTypeList = function () {\n var _this = this;\n return this.medicamentService.getMedicamentPackageWv().then(function (data) {\n return _this.ui.select(data.packageUnitWvList, {\n value: 'objectId',\n text: 'name'\n });\n });\n };\n /**\n * get StandardSizeWvList from API\n *\n * @private\n * @returns {ng.IPromise}\n *\n * @memberOf MedikamenteDetailController\n */\n MedikamenteDetailController.prototype.getStandardSizeWvList = function () {\n var _this = this;\n return this.medicamentService.getMedicamentPackageWv().then(function (data) {\n return _this.ui.select(data.standardSizeWvList, {\n value: \"objectId\",\n text: \"name\"\n });\n });\n };\n /**\n * get ActiveComponentUnitWvList from API\n *\n * @private\n * @returns {ng.IPromise}\n *\n * @memberOf MedikamenteDetailController\n */\n MedikamenteDetailController.prototype.getActiveComponentUnitWvList = function () {\n var _this = this;\n return this.medicamentService.getMedicamentPackageWv().then(function (data) {\n return _this.ui.select(data.activeComponentUnitWvList, {\n value: 'objectId',\n text: 'name'\n });\n });\n };\n /**\n * get all WV lists\n *\n * @private\n *\n * @memberOf MedikamenteDetailController\n */\n MedikamenteDetailController.prototype.getWvs = function () {\n var _this = this;\n this.medicamentService.getMedicamentWv().then(function (data) {\n _this.wvLists = data;\n _this.presentationList = _this.$qui.selectAutoMap(data.presentationWvList, 'objectId', 'name');\n _this.categoryMap = _this.$qui.selectAutoMap(data.categoryWvList, 'objectId', 'name');\n _this.producerMap = _this.$qui.selectAutoMap(data.producerWvList, 'objectId', 'name');\n _this.$qui.functionWaiter(\"ui.createForm\", _this);\n });\n };\n ////////////////////////// Medi Package //////////////////////////\n /**\n * get Medication Package from API for modification\n *\n * @private\n * @param {IMedicamentPackage} data\n *\n * @memberOf MedikamenteDetailController\n */\n MedikamenteDetailController.prototype.editPackage = function (data) {\n var _this = this;\n this.medicamentService.getMedicamentPackage(data.objectId, this.medicamentId).then(function (data) {\n _this.formState = \"edit\";\n _this.packageForm = angular.copy(data);\n _this.packageForm.dateFrom = _this.$qui.createDateFromString(data.dateFrom);\n if (data.dateTo !== null)\n _this.packageForm.dateTo = moment(data.dateTo).toDate();\n });\n };\n /**\n * Post new Medication Package to API\n *\n * @private\n * @param {IMedicamentPackage} form\n *\n * @memberOf MedikamenteDetailController\n */\n MedikamenteDetailController.prototype.postMedicamentPackage = function (form) {\n var _this = this;\n if (this.isSetGuid(form.parentId) && this.isSetGuid(form.packageUnitId)) {\n this.medicamentService.postMedicamentPackage(this.packageForm).then(function (data) {\n _this.ui.notify(_this.ui.successNote);\n _this.getMedicamentPackages(_this.medicamentId);\n _this.formState = \"new\";\n });\n }\n };\n /**\n * Put modified Medication Package to API\n *\n * @private\n * @param {IMedicamentPackage} form\n *\n * @memberOf MedikamenteDetailController\n */\n MedikamenteDetailController.prototype.putMedicamentPackage = function (form) {\n var _this = this;\n form.parentId = this.medicamentId;\n this.medicamentService.putMedicamentPackage(form.objectId, form).then(function (data) {\n _this.ui.notify(_this.ui.successNote);\n _this.getMedicamentPackages(_this.medicamentId);\n _this.formState = \"new\";\n });\n };\n /**\n * Deleting Medicament Package\n *\n * @private\n * @param {IMedicamentPackage} data\n *\n * @memberOf MedikamenteDetailController\n */\n MedikamenteDetailController.prototype.deleteMedicamentPackage = function (datas) {\n var _this = this;\n $('#medicamentPackageModal').modal('toggle');\n QMC.Common.Utilities.confirm(this.promptOptions, function (data) {\n if (data)\n _this.medicamentService.deleteMedicamentPackage(datas.objectId, _this.medicamentId).then(function () {\n _this.ui.notify(_this.ui.deleteNote);\n _this.formState = \"new\";\n _this.getMedicamentPackages(_this.medicamentId);\n });\n });\n };\n MedikamenteDetailController = __decorate([\n QMC.Controller('QMC.Medikamente', 'MedikamenteDetailController'),\n QMC.Inject('$location', 'MedikamenteService', '$qui', '$stateParams', '$state', '$scope', 'QmcLanguageService', 'QmcPermissionService')\n ], MedikamenteDetailController);\n return MedikamenteDetailController;\n }());\n })(Medikamente = QMC.Medikamente || (QMC.Medikamente = {}));\n})(QMC || (QMC = {}));\nvar QMC;\n(function (QMC) {\n var Medikamente;\n (function (Medikamente) {\n var MedikamenteDistributionController = /** @class */ (function () {\n function MedikamenteDistributionController($location, medicamentService, $qui, $stateParams, $state, $scope, lng, clientService, permissionService, userService) {\n var _this = this;\n this.$location = $location;\n this.medicamentService = medicamentService;\n this.$qui = $qui;\n this.$state = $state;\n this.$scope = $scope;\n this.lng = lng;\n this.clientService = clientService;\n this.permissionService = permissionService;\n this.userService = userService;\n //////////////////////////// Variables ///////////////////////////\n /************************* GUI Variables ************************/\n this.ui = new Medikamente.UserInterface();\n this.allowTableExport = false;\n this.loadingPlanned = false;\n this.loadingDemand = false;\n this.cards = false;\n this.isMobile = QMC.Common.Constants.IS_MOBILE;\n this.filterStorageKey = 'mediDistributionFilter_';\n this.isDemand = false;\n this.loadValidation = false;\n this.multiValidationWatcher = [];\n this.currentTimepoints = [];\n this.multiEnabled = false;\n // new multiselection\n this.selectedLines = [];\n this.recentlyDistributedPannedMedications = [];\n $qui.init($qui.getSectionColor($location.path()), function () {\n $qui.anonAvatar();\n $qui.bindEvents();\n setTimeout(function () {\n _this.events();\n }, 500);\n });\n this.isDemand = this.$state.current.name === \"medicamentDemandDistribution\";\n this.filterStorageKey += this.$state.current.name;\n if (document.getElementById(\"permissions\").getAttribute(\"medicamentDistribution\").toLocaleLowerCase() !== \"true\") {\n console.log(\"No rights to see module medicamentDistribution\");\n this.forbidden = true;\n return;\n }\n this.cards = false;\n if (QMC.Common.Constants.IS_MOBILE)\n this.cards = true;\n if (!this.isDemand)\n this.userService.getUserSettings([\"MEDAUSGABE.PA.ALLOWMULTIDOCUMENTATION\"], false).then(function (data) {\n _this.multiEnabled = data[0].value.toLowerCase() === 'true';\n });\n this.permissionLoad = true;\n permissionService.getPermissionsByObjectType(800003).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 _this.view = data[0].view && data[0].moduleAccess;\n _this.allowTableExport = data[0].print;\n _this.init();\n //Get medications is called here, so we can be sure if the user has the permission to see/get the data.\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 });\n this.$scope.$on('$destroy', function () { if (_this.refreshTimer)\n clearTimeout(_this.refreshTimer); });\n }\n MedikamenteDistributionController.prototype.getData = function () {\n var _this = this;\n clearTimeout(this.refreshTimer);\n if (!this.loadingPlanned || !this.loadingDemand)\n this.getMedications();\n // refresh List every 60secs\n if (!this.isDemand)\n this.refreshTimer = setTimeout(function () { _this.getData(); }, 60000);\n };\n ////////////////////////// DISPLAYLOGIC //////////////////////////\n MedikamenteDistributionController.prototype.init = function () {\n this.initForm();\n this.filterPeriodValue = '2';\n this.onlyUndocumented = false;\n this.onlyUncompleted = false;\n var mediFilterSettings = localStorage.getItem(this.filterStorageKey);\n if (mediFilterSettings) {\n var filterObj = JSON.parse(mediFilterSettings);\n this.filterPeriodValue = filterObj.filterPeriodValue;\n this.onlyUndocumented = filterObj.onlyUndocumented;\n this.onlyUncompleted = filterObj.onlyUncompleted;\n }\n this.setFilter();\n };\n MedikamenteDistributionController.prototype.initForm = function () {\n this.reference = QMC.Common.Constants.GUID_EMPTY;\n this.noReasonError = false;\n this.date = new Date();\n this.time = new Date();\n this.form = {\n amount: 0,\n date: new Date(),\n isDistributed: true,\n referenceTimeId: QMC.Common.Constants.GUID_EMPTY,\n reason: \"\"\n };\n };\n MedikamenteDistributionController.prototype.events = function () {\n var _this = this;\n var filterChange = function (oldVal, newVal) {\n if (oldVal !== newVal) {\n _this.setFilter();\n _this.getMedications();\n }\n };\n this.$scope.$watch('vm.onlyUndocumented', filterChange, true);\n this.$scope.$watch('vm.onlyUncompleted', filterChange, true);\n this.$scope.$watch('vm.filterPeriodValue', filterChange, true);\n this.validation = {\n errors: [\"Es wurde noch keine Validierung durchgeführt\"],\n warnings: []\n };\n this.$scope.$watch('vm.form.isDistributed', function (newVal, oldVal) {\n if (oldVal !== newVal) {\n if (newVal === false) {\n _this.form.amount = 0;\n }\n }\n }, true);\n this.$scope.$watch('vm.time', function (newVal, oldVal) {\n if (oldVal !== newVal) {\n _this.form.date = _this.$qui.addTimeToDate(_this.date, _this.time);\n }\n }, true);\n this.$scope.$watch('vm.filter.filterDistributionDateFrom', function (newVal, oldVal) {\n if (oldVal !== newVal) {\n _this.getDistributionsForMedication();\n }\n }, true);\n this.$scope.$watch('vm.filter.filterDistributionDateTo', function (newVal, oldVal) {\n if (oldVal !== newVal) {\n _this.getDistributionsForMedication();\n }\n }, true);\n this.$scope.$watch('vm.date', function (newVal, oldVal) {\n if (oldVal !== newVal) {\n _this.form.date = _this.$qui.addTimeToDate(_this.date, _this.time);\n }\n }, true);\n this.$scope.$watch('vm.form', function (newVal, oldVal) {\n if (oldVal !== newVal) {\n _this.validate();\n }\n }, true);\n this.$scope.$watch('vm.selectedTimepoint', function (newVal, oldVal) {\n if (oldVal !== newVal && _this.multiEnabled) {\n for (var _i = 0, _a = _this.currentTimepoints; _i < _a.length; _i++) {\n var item = _a[_i];\n item.isChecked = false;\n }\n _this.createCurrentTimepoints();\n }\n }, true);\n };\n MedikamenteDistributionController.prototype.createCurrentTimepoints = function () {\n var _this = this;\n // kill multi validation watcher\n for (var _i = 0, _a = this.multiValidationWatcher; _i < _a.length; _i++) {\n var item = _a[_i];\n item();\n }\n // create multi validation watcher\n this.multiValidationWatcher = [];\n this.currentTimepoints = this.timepoints[this.selectedTimepoint];\n if (!this.currentTimepoints || !this.selectedTimepoint)\n return;\n var _loop_1 = function (i) {\n this_1.multiValidationWatcher.push(this_1.$scope.$watch(\"vm.currentTimepoints[\" + i + \"].form\", function (newVal, oldVal) {\n if (!newVal || newVal === oldVal)\n return;\n _this.currentTimepoints[i].validation = _this.validatePlannedMedication(_this.currentTimepoints[i].form);\n }, true));\n };\n var this_1 = this;\n for (var i = 0; i < this.currentTimepoints.length; i++) {\n _loop_1(i);\n }\n };\n MedikamenteDistributionController.prototype.setFilter = function () {\n this.filter = {\n filterDateFrom: this.checkPeriod(this.filterPeriodValue),\n filterDateTo: new Date(),\n filterDistributionDateFrom: this.checkPeriod(this.filterPeriodValue),\n filterDistributionDateTo: new Date(),\n filterMedicationId: QMC.Common.Constants.GUID_EMPTY,\n filterMedicationDateFrom: new Date(),\n filterMedicationDateTo: new Date(),\n };\n var storageOb = {\n filterPeriodValue: this.filterPeriodValue,\n onlyUndocumented: this.onlyUndocumented,\n onlyUncompleted: this.onlyUncompleted\n };\n localStorage.setItem(this.filterStorageKey, JSON.stringify(storageOb));\n };\n MedikamenteDistributionController.prototype.checkPeriod = function (filter) {\n var dateFrom;\n switch (filter) {\n case '1':\n dateFrom = new Date();\n break;\n case '2':\n dateFrom = moment().startOf('week').toDate();\n break;\n case '3':\n dateFrom = moment().startOf('month').toDate();\n break;\n case '4':\n dateFrom = moment().subtract(30, 'days').toDate();\n break;\n default:\n dateFrom = moment().startOf('week').toDate();\n break;\n }\n return dateFrom;\n };\n MedikamenteDistributionController.prototype.showDistributionsModal = function (medication) {\n if ((this.filter.filterMedicationId != medication.id) ||\n (this.filter.filterDistributionDateFrom === this.filter.filterDateFrom && this.filter.filterDistributionDateTo === this.filter.filterDateTo) ||\n (this.filter.medicationId === null || this.filter.filterDistributionDateFrom === null || this.filter.filterDistributionDateFTo === null)) {\n this.showDistributions = {\n objectId: medication.objectId,\n client: medication.personForename + \" \" + medication.personName,\n medicament: medication.medicament,\n package: medication.medicamentPackage,\n medicationType: medication.medicationType,\n amount: medication.amount,\n amountDistributed: medication.amountDistributed,\n isDemand: medication.medicationTypeId === QMC.Common.Constants.DEMAND_MEDICATION,\n distributions: medication.distributions,\n timepoint: medication.timepoint\n };\n this.filter.filterMedicationId = this.isDemand ? medication.id : medication.medicationId;\n this.filter.filterDistributionDateFrom = this.filter.filterDateFrom;\n this.filter.filterDistributionDateTo = this.filter.filterDateTo;\n this.filter.filterMedicationDateFrom = medication.dateFrom;\n this.filter.filterMedicationDateTo = medication.dateTo;\n }\n else {\n this.getDistributionsForMedication();\n }\n $('#medicamentDistributionsModal').modal('show');\n };\n MedikamenteDistributionController.prototype.newDistributionModal = function (medication) {\n this.initForm();\n this.showDistributions = {\n objectId: medication.objectId,\n client: medication.personForename + \" \" + medication.personName,\n medicament: medication.medicament,\n package: medication.medicamentPackage,\n medicationType: medication.medicationType,\n amount: medication.amount,\n amountDistributed: medication.amountDistributed,\n isDemand: medication.medicationTypeId === QMC.Common.Constants.DEMAND_MEDICATION,\n //use the dateFrom to set the start date of the demanded medication, when is a demanded medication user can set the date\n //also in the past, but not smaller than the medication start date\n dateFrom: this.$qui.createDateFromString(medication.dateFrom),\n dateTo: medication.dateTo != null ? this.$qui.createDateFromString(medication.dateTo) : null,\n };\n this.reference = medication.referenceMedication;\n if (this.reference === undefined)\n this.reference = medication.objectId;\n this.form.amount = medication.amount;\n if (this.$state.current.name === \"medicamentPlannedDistribution\") {\n this.form.referenceTimeId = medication.referenceTimeId;\n this.date = moment(medication.date).toDate();\n this.time = moment(medication.date).toDate();\n }\n $('#medicamentNewDistributionModal').modal('show');\n };\n MedikamenteDistributionController.prototype.getTimeString = function (input) {\n var date = moment(input).toDate();\n var hours = date.getHours() < 10 ? \"0\" + date.getHours() : date.getHours();\n var minutes = date.getMinutes() < 10 ? \"0\" + date.getMinutes() : date.getMinutes();\n return hours + \":\" + minutes;\n };\n MedikamenteDistributionController.prototype.createTimepointModal = function () {\n this.lastList = undefined;\n this.selectedTimepoint = undefined;\n this.createMultiTimepoints();\n $('#multi-medication-modal').modal('show');\n };\n MedikamenteDistributionController.prototype.createMultiTimepoints = function () {\n var _this = this;\n if (!this.multiEnabled)\n return;\n // if nothing has changed dont update the modal\n if (this.lastList === JSON.stringify(this.ui.plannedMedicationTable.data))\n return;\n this.lastList = JSON.stringify(this.ui.plannedMedicationTable.data);\n this.timepoints = {};\n this.timepointsMap = [];\n this.currentTimepoints = [];\n this.multiState = \"select\";\n for (var _i = 0, _a = this.plannedDistributions; _i < _a.length; _i++) {\n var item = _a[_i];\n if (item.isDistributed)\n continue;\n var timepointName = moment(item.date).format('DD.MM.YYYY') + ' ' + item.timepoint;\n if (!this.timepoints[timepointName])\n this.timepoints[timepointName] = [];\n item.form = {\n amount: item.amount,\n date: moment(item.date).toDate(),\n time: moment(item.date).toDate(),\n isDistributed: true,\n reason: '',\n referenceTimeId: item.referenceTimeId\n };\n item.validation = { errors: [], warnings: [] };\n this.timepoints[timepointName].push(item);\n }\n for (var item in this.timepoints) {\n this.timepointsMap.push({ text: item, value: item, date: this.$qui.createDateFromString(this.timepoints[item][0].date) });\n }\n this.timepointsMap.sort(function (a, b) { return a.date.getTime() - b.date.getTime(); });\n if (!this.selectedTimepoint || !this.timepointsMap.some(function (x) { return x.value === _this.selectedTimepoint; })) {\n // preselect timepoint nearest to now\n var now = new Date().getTime();\n var minDist = void 0;\n for (var _b = 0, _c = this.timepointsMap; _b < _c.length; _b++) {\n var item = _c[_b];\n var dist = now - item.date.getTime();\n if (!minDist || minDist > dist) {\n this.selectedTimepoint = item.value;\n minDist = dist;\n }\n }\n }\n this.createCurrentTimepoints();\n this.$qui.scopeApply();\n };\n MedikamenteDistributionController.prototype.isMultiValid = function () {\n if (!this.selectedTimepoint || !this.currentTimepoints || this.currentTimepoints.length === 0)\n return false;\n var activeMedications = this.currentTimepoints.filter(function (x) { return x.isChecked; });\n if (activeMedications.length === 0 || activeMedications.filter(function (x) { return x.validation.errors.length > 0; }).length > 0)\n return false;\n return true;\n };\n MedikamenteDistributionController.prototype.getMultiMedicationHeaderString = function () {\n return this.$qui.formatString(this.lng.translate(21009062, 'Folgende Medikamente werden für den Zeitpunkt {0} ausgegeben.'), this.selectedTimepoint);\n };\n MedikamenteDistributionController.prototype.multiToggle = function (state) {\n for (var _i = 0, _a = this.currentTimepoints; _i < _a.length; _i++) {\n var item = _a[_i];\n item.isChecked = state;\n }\n };\n ////////////////////////// SERVICECALLS //////////////////////////\n MedikamenteDistributionController.prototype.getMedications = function () {\n if (this.isDemand)\n this.getDemandMedications();\n if (!this.isDemand)\n this.getPlannedMedications();\n };\n MedikamenteDistributionController.prototype.getPlannedMedications = function () {\n var _this = this;\n this.loadingPlanned = true;\n this.medicamentService.getPlannedMedicationLists(this.filter.filterDateFrom, this.filter.filterDateTo, this.onlyUncompleted, this.onlyUndocumented).then(function (data) {\n var _loop_2 = function (item) {\n item.distAmount = _this.$qui.qmcRounding(item.amountDistributed) + '/' + _this.$qui.qmcRounding(item.amount);\n item.timepointMobile = moment(item.date).format('DD.MM.YYYY') + \" \" + item.timepoint;\n item.isSelected = _this.selectedLines.some(function (x) { return x === item.objectId; });\n };\n for (var _i = 0, data_1 = data; _i < data_1.length; _i++) {\n var item = data_1[_i];\n _loop_2(item);\n }\n _this.plannedDistributions = data;\n _this.plannedDistributions.map(function (item) { item.client = _this.createClientDisplayTitle(item); });\n _this.ui.plannedMedicationTable.data = _this.plannedDistributions;\n _this.$qui.functionWaiter(\"createPlannedTable\", _this);\n _this.createMultiTimepoints();\n _this.loadingPlanned = false;\n _this.selectedLines = _this.selectedLines.filter(function (x) { return data.some(function (y) { return x === y.objectId; }); });\n });\n };\n MedikamenteDistributionController.prototype.createClientDisplayTitle = function (item) {\n var _a, _b;\n var persNrShortDescr = (((_a = item.personNr) !== null && _a !== void 0 ? _a : '') + '/' + ((_b = item.personShortCaption) !== null && _b !== void 0 ? _b : '')).replace(/^\\/|\\/$/g, '');\n return item.personForename + \" \" + item.personName + (persNrShortDescr ? \" (\" + persNrShortDescr + \")\" : '');\n };\n MedikamenteDistributionController.prototype.getDemandMedications = function () {\n var _this = this;\n this.loadingDemand = true;\n this.medicamentService.getDemandMedicationLists(this.filter.filterDateFrom, this.filter.filterDateTo, this.onlyUncompleted, this.onlyUndocumented).then(function (data) {\n _this.demandDistributions = data;\n _this.demandDistributions.map(function (item) {\n item.client = _this.$qui.createPersonDisplay(item.personName, item.personForename, item.personShortCaption, item.personNr);\n });\n _this.demandDistributions.map(function (obj, index) {\n obj.maxAmountString = obj.maxAmount + ' ' + obj.maxAmountInterval;\n obj.lastDistributionDateString = obj.lastDistribution && moment(obj.lastDistribution).toDate() >= new Date(1900, 1, 1) ? moment(obj.lastDistribution).format('DD.MM.YYYY') : \"\";\n });\n _this.ui.demandMedicationTable.data = _this.demandDistributions;\n _this.$qui.functionWaiter(\"createDemandTable\", _this);\n _this.loadingDemand = false;\n });\n };\n MedikamenteDistributionController.prototype.getDistributionsForMedication = function () {\n var _this = this;\n var _a, _b, _c;\n var dateFrom = (_a = this.filter.filterDistributionDateFrom) !== null && _a !== void 0 ? _a : this.filter.filterMedicationDateFrom;\n var dateTo = (_b = this.filter.filterDistributionDateTo) !== null && _b !== void 0 ? _b : this.filter.filterMedicationDateTo;\n if (!((_c = this.filter) === null || _c === void 0 ? void 0 : _c.filterMedicationId))\n return;\n this.medicamentService.getDistributionsForMedication(moment(dateFrom).startOf('day').format(), moment(dateTo).endOf('day').format(), this.filter.filterMedicationId).then(function (data) {\n if (_this.showDistributions)\n _this.showDistributions.distributions = data;\n });\n };\n MedikamenteDistributionController.prototype.addMedicamentDistribution = function () {\n var _this = this;\n this.form.date = this.$qui.addTimeToDate(this.date, this.time);\n if (this.form.reason === \"\" && !this.form.isDistributed) {\n this.noReasonError = true;\n }\n else {\n $('#medicamentNewDistributionModal').modal('hide');\n $('body').removeClass('modal-open');\n $('.modal-backdrop').remove();\n if (this.$scope.form.$valid) {\n this.medicamentService.postMedication(this.reference, this.form).then(function (data) {\n _this.clearTable();\n _this.$qui.notify(_this.$qui.successNote, _this.lng.translate(20000291, 'Der Eintrag wurde gespeichert.'));\n _this.getMedications();\n });\n }\n }\n };\n MedikamenteDistributionController.prototype.saveMulti = function () {\n var _this = this;\n if (!this.multiEnabled)\n return;\n this.multiState = 'loading';\n var medications = [];\n for (var _i = 0, _a = this.currentTimepoints; _i < _a.length; _i++) {\n var item = _a[_i];\n if (item.isChecked && item.validation.errors.length === 0) {\n medications.push({\n amount: item.form.amount,\n date: this.$qui.addTimeToDate(item.form.date, item.form.time),\n isDistributed: item.form.isDistributed,\n reason: item.form.reason,\n referenceTimeId: item.referenceTimeId,\n medicationId: item.referenceMedication\n });\n }\n }\n this.medicamentService.postMedications(medications).then(function () {\n _this.$qui.notify(_this.$qui.successNote, _this.lng.translate(20000291, 'Der Eintrag wurde gespeichert.'));\n }).finally(function () {\n _this.clearTable();\n $('#multi-medication-modal').modal('hide');\n _this.multiState = 'select';\n _this.getMedications();\n });\n };\n MedikamenteDistributionController.prototype.clearTable = function () {\n this.ui.plannedMedicationTable.data = [];\n this.createPlannedTable();\n };\n MedikamenteDistributionController.prototype.validate = function () {\n var _this = this;\n if (this.isDemand && this.form.amount >= 0) {\n if (!this.form || !this.showDistributions)\n return;\n if (!this.form.isDistributed) {\n this.lastValidation = null;\n this.validation = {\n errors: [],\n warnings: []\n };\n }\n var validationRequest_1 = {\n medicationId: this.showDistributions.objectId,\n amount: this.form.amount,\n date: this.form.date\n };\n if (this.lastValidation && JSON.stringify(this.lastValidation) === JSON.stringify(validationRequest_1))\n return;\n this.lastValidation = validationRequest_1;\n this.loadValidation = true;\n setTimeout(function () {\n if (_this.lastValidation && JSON.stringify(_this.lastValidation) === JSON.stringify(validationRequest_1)) {\n _this.medicamentService.postValidation(validationRequest_1).then(function (data) {\n _this.validation = data;\n _this.loadValidation = false;\n }).catch(function () {\n _this.validation = {\n errors: [\"Während der Validierung trat ein Fehler auf.\"],\n warnings: []\n };\n _this.loadValidation = false;\n });\n }\n }, 500);\n }\n else {\n this.validation = this.validatePlannedMedication(this.form);\n }\n };\n MedikamenteDistributionController.prototype.validatePlannedMedication = function (medicationForm) {\n var validation = { errors: [], warnings: [] };\n if (medicationForm.amount > 0) {\n if (!medicationForm || !this.ui.plannedMedicationTable.data)\n return validation;\n var amount = medicationForm.amount;\n var planning = this.ui.plannedMedicationTable.data.find(function (x) { return x.objectId === medicationForm.referenceTimeId; });\n if (planning) {\n amount = parseFloat(amount + '') + parseFloat(planning.amountDistributed);\n }\n if (amount !== planning.amount) {\n if (!medicationForm.reason || medicationForm.reason.length < 1) {\n validation.errors.push(this.lng.translate(21009058, \"Die Ausgabemenge ist abweichend. Bitte geben Sie einen Grund an.\"));\n }\n else {\n validation.warnings.push(this.lng.translate(21009059, \"Die Ausgabemenge ist abweichend.\"));\n }\n }\n }\n else if (medicationForm.isDistributed) {\n validation.errors.push(this.lng.translate(21009063, \"Bitte geben Sie eine Menge an.\"));\n }\n return validation;\n };\n MedikamenteDistributionController.prototype.selectLine = function (status, line) {\n if (status)\n this.selectedLines.push(line.objectId);\n else\n this.selectedLines = this.selectedLines.filter(function (x) { return x !== line.objectId; });\n };\n MedikamenteDistributionController.prototype.distributeSelectedLines = function () {\n var _this = this;\n if (!this.selectedLines.length)\n return;\n this.loadingPlanned = true;\n this.recentlyDistributedPannedMedications = [];\n this.selectedLines.forEach(function (line) {\n var planning = _this.plannedDistributions.find(function (x) { return x.objectId === line; });\n if (!planning || planning.isDistributed || planning.isDocumented)\n return;\n _this.recentlyDistributedPannedMedications.push({\n amount: planning.amount,\n date: planning.date,\n isDistributed: true,\n reason: '',\n referenceTimeId: planning.referenceTimeId,\n medicationId: planning.referenceMedication,\n timepoint: planning.timepoint,\n client: _this.createClientDisplayTitle(planning),\n medicament: planning.medicament\n });\n });\n this.medicamentService.postMedications(this.recentlyDistributedPannedMedications).then(function () {\n _this.$qui.notify(_this.$qui.successNote, _this.selectedLines.length + ' ' + _this.lng.translate(21009066, 'Medikationen ausgegeben.'));\n _this.selectedLines = [];\n $('#recently-distributed-medications-modal').modal('show');\n }).finally(function () {\n _this.clearTable();\n _this.getMedications();\n });\n };\n MedikamenteDistributionController = __decorate([\n QMC.Controller('QMC.Medikamente', 'MedikamenteDistributionController'),\n QMC.Inject('$location', 'MedikamenteService', '$qui', '$stateParams', '$state', '$scope', 'QmcLanguageService', 'KlientService', 'QmcPermissionService', 'UserService')\n ], MedikamenteDistributionController);\n return MedikamenteDistributionController;\n }());\n })(Medikamente = QMC.Medikamente || (QMC.Medikamente = {}));\n})(QMC || (QMC = {}));\nvar QMC;\n(function (QMC) {\n var Medikamente;\n (function (Medikamente) {\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 * Medicament table\n * @memberOf UserInterface\n */\n _this.medicamentTable = {\n \"config\": {\n \"defaultSort\": \"title\",\n \"sortReverse\": \"false\",\n },\n \"table\": {\n \"Name\": {\n \"label\": \"title\",\n \"dType\": \"string\",\n \"lngTag\": \"20000072\"\n },\n \"Darreichung\": {\n \"label\": \"presentation\",\n \"dType\": \"string\",\n \"lngTag\": \"21009002\"\n },\n \"Kategorie\": {\n \"label\": \"category\",\n \"dType\": \"string\",\n \"lngTag\": \"20000137\"\n },\n \"Wirkstoff\": {\n \"label\": \"activeComponent\",\n \"dType\": \"string\",\n \"lngTag\": \"21009004\"\n },\n \"Verschreibungspflichtig\": {\n \"label\": \"isPrescriptionNeeded\",\n \"dType\": \"Bool\",\n \"lngTag\": \"21009005\"\n },\n \"Apothekenpflichtig\": {\n \"label\": \"isPharmacyOnly\",\n \"dType\": \"Bool\",\n \"lngTag\": \"21009006\"\n },\n \"Aktionen\": {\n \"dType\": \"Button\",\n \"icon\": \"qm-icon-pencil blue\",\n \"href\": \"#/medicament/{{objectId}}\",\n \"tooltip\": \"Bearbeiten\",\n \"lngTag\": \"20000044\",\n \"permission\": \"modify\"\n },\n },\n \"card\": {\n \"avatar\": {\n \"icon\": \"qm-icon-pill\",\n },\n \"text\": {\n \"label\": \"title\",\n \"dType\": \"string\"\n },\n \"subtext\": [\n {\n \"label\": \"presentation\",\n \"dType\": \"string\"\n },\n {\n \"label\": \"activeComponent\",\n \"dType\": \"string\",\n },\n ],\n \"buttons\": [{\n \"icon\": \"qm-icon-pencil blue\",\n \"href\": \"#/medicament/{{objectId}}\",\n \"label\": \"data\",\n \"dType\": \"Button\",\n \"tooltip\": \"Medikament bearbeiten\",\n \"lngTag\": \"21009007\",\n \"permission\": \"view\",\n }]\n },\n \"data\": null,\n };\n _this.medicamentForm = {\n form: [\n {\n placeholder: \"Name\",\n label: \"Name\",\n type: \"String\",\n lngTag: \"20000072\",\n required: \"true\",\n model: \"title\",\n validate: {\n message: \"Bitte einen Namen eingeben.\",\n messageTag: \"20000079\",\n },\n style: {\n icon: \"qm-icon-check\",\n class: \"col-xs-12\"\n },\n },\n {\n placeholder: \"Darreichungsform auswählen...\",\n label: \"Darreichungsform\",\n type: \"Select\",\n lngTag: \"21009009\",\n model: \"presentationId\",\n required: \"true\",\n dataSource: \"getPresentationWvList\",\n validate: {\n message: \"Bitte Darreichungsform eintragen.\"\n },\n style: {\n class: \"col-md-6 col-xs-12\",\n },\n },\n {\n placeholder: \"Kategorie auswählen...\",\n label: \"Kategorie\",\n type: \"Select\",\n lngTag: \"20000137\",\n model: \"categoryId\",\n dataSource: \"getCategoryList\",\n style: {\n class: \"col-xs-12 col-md-6\"\n },\n },\n {\n placeholder: \"Hersteller auswählen...\",\n label: \"Hersteller\",\n type: \"Select\",\n lngTag: \"21009011\",\n model: \"producerId\",\n dataSource: \"getProducerWvList\",\n style: {\n class: \"col-xs-12 col-md-6\"\n },\n },\n {\n placeholder: \"Hauptwirkstoff\",\n label: \"Hauptwirkstoff\",\n type: \"String\",\n lngTag: \"21009012\",\n model: \"activeComponent\",\n style: {\n icon: \"qm-icon-injection\",\n class: \"col-xs-12 col-md-6\"\n }\n },\n {\n label: \"Zusatz\",\n type: \"String\",\n model: \"comment\",\n lngTag: \"21009016\",\n style: {\n icon: \"qm-icon-note_text\",\n class: \"col-xs-12\",\n }\n },\n {\n label: \"Apothekenpflichtig\",\n type: \"Checkbox\",\n lngTag: \"21009006\",\n model: \"isPharmacyOnly\",\n id: \"modPharmacy\",\n style: {\n class: \"col-xs-6\"\n }\n },\n {\n label: \"Verschreibungspflichtig\",\n type: \"Checkbox\",\n lngTag: \"21009005\",\n model: \"isPrescriptionNeeded\",\n id: \"modPrescrip\",\n style: {\n class: \"col-xs-6\"\n }\n },\n {\n label: \"Zugangsbeschränkt\",\n type: \"Checkbox\",\n lngTag: \"21009013\",\n model: \"isRestricted\",\n id: \"modRestrict\",\n style: {\n class: \"col-xs-6\"\n }\n },\n {\n label: \"Betäubungsmittel\",\n type: \"Checkbox\",\n lngTag: \"21009014\",\n model: \"isAnesthetic\",\n id: \"modAnesthetic\",\n style: {\n class: \"col-xs-6\"\n }\n }\n ],\n actions: {\n post: \"addMedicament\"\n }\n };\n _this.mediPackagesTable = {\n \"config\": {\n \"showTitle\": \"true\",\n \"defaultSort\": \"displayTitle\",\n \"sortReverse\": \"false\",\n },\n \"table\": {\n \"Menge\": {\n \"label\": \"packageAmount\",\n \"dType\": \"Number\",\n \"lngTag\": \"20000095\"\n },\n \"Einheit\": {\n \"label\": \"packageUnit\",\n \"dType\": \"string\",\n \"lngTag\": \"20000096\"\n },\n \"Normgröße\": {\n \"label\": \"standardsize\",\n \"dType\": \"string\",\n \"lngTag\": \"20000097\"\n },\n \"Gültigkeit\": {\n \"label\": \"dateFrom\",\n \"dType\": \"Date\",\n \"lngTag\": \"20000098\"\n },\n \"Aktionen\": [{\n \"icon\": \"qm-icon-pencil blue\",\n \"click\": \"editPackage\",\n \"label\": \"data\",\n \"dType\": \"Button\",\n \"tooltip\": \"Bearbeiten\",\n \"openModal\": \"true\",\n \"targetModal\": \"#medicamentPackageModal\",\n \"lngTag\": \"20000044\",\n \"permission\": \"pmodify\"\n }]\n },\n \"card\": {\n \"avatar\": {\n \"icon\": \"qm-icon-pill\"\n },\n \"text\": {\n \"label\": \"displayTitle\",\n \"dType\": \"string\"\n },\n \"subtext\": [\n {\n \"label\": [\"packageAmount\", \"packageUnit\"],\n \"dType\": \"string\"\n },\n ],\n \"buttons\": {\n \"icon\": \"qm-icon-pencil blue\",\n \"click\": \"editPackage\",\n \"label\": \"data\",\n \"dType\": \"Button\",\n \"tooltip\": \"Bearbeiten\",\n \"openModal\": \"true\",\n \"targetModal\": \"#medicamentPackageModal\",\n \"lngTag\": \"20000044\",\n }\n },\n \"data\": null,\n };\n _this.mediPackagesForm = {\n form: [\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 {\n label: \"Menge\",\n type: \"Number\",\n lngTag: \"20000095\",\n model: \"packageAmount\",\n maxLength: 10,\n style: {\n icon: \"qm-icon-symbol_hash\",\n class: \"col-md-3 col-xs-6 no-mobile-padding-left\",\n }\n },\n {\n placeholder: \"Darreichungsform auswählen ...\",\n label: \"Darreichungsform\",\n type: \"Select\",\n lngTag: \"21009009\",\n model: \"packageUnitId\",\n required: true,\n dataSource: \"getPackageTypeList\",\n validate: {\n message: \"Bitte auswählen\",\n messageTag: \"20000099\",\n },\n style: {\n class: \"col-md-9 col-xs-6 no-mobile-padding-right\"\n },\n },\n {\n label: \"Normgröße\",\n type: \"Select\",\n lngTag: \"20000097\",\n model: \"standardSizeId\",\n dataSource: \"getStandardSizeWvList\",\n style: {\n class: \"col-xs-12\"\n },\n },\n {\n placeholder: \"PZN\",\n placeholderTag: \"20000092\",\n label: \"PZN\",\n type: \"String\",\n lngTag: \"20000092\",\n model: \"pzn\",\n style: {\n icon: \"fa fa-barcode\",\n class: \"col-md-6 col-xs-12\"\n },\n },\n {\n placeholder: \"EAN\",\n placeholderTag: \"20000093\",\n label: \"EAN\",\n type: \"String\",\n lngTag: \"20000093\",\n model: \"ean\",\n style: {\n icon: \"fa fa-barcode\",\n class: \"col-md-6 col-xs-12\"\n },\n },\n {\n placeholder: \"Wirkstoffmenge\",\n placeholderTag: \"21009056\",\n label: \"Wirkstoffmenge\",\n type: \"Number\",\n lngTag: \"21009056\",\n model: \"activeComponentAmount\",\n maxLength: 10,\n style: {\n icon: \"qm-icon-symbol_hash\",\n class: \"col-md-9 col-xs-6 no-mobile-padding-left\"\n }\n },\n {\n label: \"Einheit\",\n type: \"Select\",\n model: \"activeComponentUnitId\",\n dataSource: \"getActiveComponentUnitWvList\",\n lngTag: \"20000096\",\n style: {\n class: \"col-md-3 col-xs-6 no-mobile-padding-right\"\n },\n },\n {\n placeholder: \"Bemerkung\",\n placeholderTag: \"20000049\",\n label: \"Bemerkung\",\n type: \"Textarea\",\n maxLength: 255,\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 post: \"postMedicamentPackage\",\n put: \"putMedicamentPackage\",\n delete: \"deleteMedicamentPackage\"\n }\n };\n _this.plannedMedicationTable = {\n \"config\": {\n \"defaultSort\": \"date\",\n \"sortReverse\": \"false\",\n },\n \"table\": {\n \"\": {\n \"id\": \"objectId\",\n \"selected\": \"isSelected\",\n \"dType\": \"Checkbox\",\n \"events\": {\n \"onChange\": \"selectLine\"\n },\n \"hide\": \"isDocumented\"\n },\n \"Datum\": {\n \"label\": \"date\",\n \"dType\": \"Date\",\n \"lngTag\": \"20000045\"\n },\n \"Zeitpunkt\": {\n \"label\": \"timepoint\",\n \"dType\": \"string\",\n \"lngTag\": \"21009027\"\n },\n \"Medikament\": {\n \"label\": \"medicament\",\n \"dType\": \"string\",\n \"lngTag\": \"21009028\"\n },\n \"Klient\": {\n \"label\": \"client\",\n \"dType\": \"string\",\n \"lngTag\": \"21002000\"\n },\n \"Menge\": {\n \"label\": \"distAmount\",\n \"dType\": \"string\",\n \"lngTag\": \"20000095\"\n },\n \"Ausgabe dokumentiert\": {\n \"label\": \"isDocumented\",\n \"dType\": \"Bool\",\n \"lngTag\": \"21009039\"\n },\n \"Aktionen\": [{\n \"icon\": \"qm-icon-eye blue\",\n \"click\": \"showDistributionsModal\",\n \"tooltip\": \"Ausgaben betrachten\",\n \"lngTag\": \"21009040\",\n \"dType\": \"Button\",\n \"targetModal\": \"#medicamentDistributionsModal\",\n \"permission\": \"modify\"\n }, {\n \"icon\": \"qm-icon-pill green\",\n \"click\": \"newDistributionModal\",\n \"tooltip\": \"Medikament ausgeben\",\n \"lngTag\": \"21009041\",\n \"dType\": \"Button\",\n \"events\": {\n \"hide\": \"isDistributed\"\n },\n \"targetModal\": \"#medicamentNewDistributionModal\",\n \"permission\": \"new\"\n }],\n }\n // Mobile Card View\n ,\n \"card\": {\n \"avatar\": {\n \"icon\": \"qm-icon-pill\"\n },\n \"text\": {\n \"label\": \"medicament\",\n \"dType\": \"string\"\n },\n \"subtext\": [\n {\n \"label\": \"client\",\n \"dType\": \"string\"\n },\n {\n \"label\": \"timepointMobile\",\n \"dType\": \"string\",\n },\n {\n \"label\": \"isDocumented\",\n \"text\": \"Ist ausgegeben\",\n \"lngTag\": \"21009033\",\n \"dType\": \"Bool\",\n },\n {\n \"label\": \"isDocumented\",\n \"text\": \"Ausgabe dokumentiert\",\n \"lngTag\": \"21009039\",\n \"dType\": \"Bool\",\n },\n ],\n \"buttons\": [\n {\n \"icon\": \"qm-icon-eye blue\",\n \"click\": \"showDistributionsModal\",\n \"tooltip\": \"Ausgaben betrachten\",\n \"lngTag\": \"21009040\",\n \"dType\": \"Button\",\n \"targetModal\": \"#medicamentDistributionsModal\",\n \"permission\": \"modify\"\n },\n {\n \"icon\": \"qm-icon-pill green\",\n \"click\": \"newDistributionModal\",\n \"tooltip\": \"Medikament ausgeben\",\n \"lngTag\": \"21009041\",\n \"dType\": \"Button\",\n \"hide\": \"isDistributed\",\n \"targetModal\": \"#medicamentNewDistributionModal\",\n \"permission\": \"new\",\n \"events\": {\n \"hide\": \"isDistributed\"\n },\n }\n ]\n },\n \"data\": null,\n };\n _this.demandMedicationTable = {\n \"table\": {\n \"Medikament\": {\n \"label\": \"medicament\",\n \"dType\": \"string\",\n \"lngTag\": \"21009028\"\n },\n \"Klient\": {\n \"label\": \"client\",\n \"dType\": \"string\",\n \"lngTag\": \"21002000\"\n },\n \"Letzte Ausgabe\": {\n \"label\": \"lastDistributionDateString\",\n \"dType\": \"Date\",\n \"lngTag\": \"21009044\"\n },\n \"Packung\": {\n \"label\": \"medicamentPackage\",\n \"dType\": \"string\",\n \"lngTag\": \"21009029\"\n },\n \"Max. Menge\": {\n \"label\": \"maxAmountString\",\n \"dType\": \"string\",\n \"lngTag\": \"21009045\"\n },\n \"Aktionen\": [\n {\n \"icon\": \"qm-icon-eye blue\",\n \"click\": \"showDistributionsModal\",\n \"tooltip\": \"Ausgaben betrachten\",\n \"lngTag\": \"21009040\",\n \"dType\": \"Button\",\n \"targetModal\": \"#medicamentDistributionsModal\",\n \"permission\": \"modify\"\n },\n {\n \"icon\": \"qm-icon-pill green\",\n \"click\": \"newDistributionModal\",\n \"tooltip\": \"Medikament ausgeben\",\n \"lngTag\": \"21009041\",\n \"dType\": \"Button\",\n \"events\": {\n \"hide\": \"isDistributed\"\n },\n \"targetModal\": \"#medicamentNewDistributionModal\",\n \"permission\": \"new\"\n }\n ],\n }\n // Mobile Card View\n ,\n \"card\": {\n \"avatar\": {\n \"icon\": \"qm-icon-pill\"\n },\n \"text\": {\n \"label\": \"medicament\",\n \"dType\": \"string\"\n },\n \"subtext\": [\n {\n \"label\": \"medicamentPackage\",\n \"dType\": \"string\"\n },\n {\n \"label\": \"client\",\n \"dType\": \"string\"\n },\n ],\n \"buttons\": [\n {\n \"icon\": \"qm-icon-eye blue\",\n \"click\": \"showDistributionsModal\",\n \"tooltip\": \"Ausgaben betrachten\",\n \"lngTag\": \"21009040\",\n \"dType\": \"Button\",\n \"targetModal\": \"#medicamentDistributionsModal\",\n \"permission\": \"modify\"\n },\n {\n \"icon\": \"qm-icon-pill green\",\n \"click\": \"newDistributionModal\",\n \"tooltip\": \"Medikament ausgeben\",\n \"lngTag\": \"21009041\",\n \"dType\": \"Button\",\n \"hide\": \"isDistributed\",\n \"targetModal\": \"#medicamentNewDistributionModal\",\n \"permission\": \"new\"\n }\n ]\n },\n \"data\": null,\n };\n return _this;\n }\n return UserInterface;\n }(QMC.Common.UserInterface));\n Medikamente.UserInterface = UserInterface;\n })(Medikamente = QMC.Medikamente || (QMC.Medikamente = {}));\n})(QMC || (QMC = {}));\n\n//# sourceMappingURL=../../maps/Medikamente/qmc.medikamente.js.map\n"],"names":["QMC","__extends","this","extendStatics","d","b","Object","setPrototypeOf","__proto__","Array","p","hasOwnProperty","__","constructor","prototype","create","__decorate","decorators","target","key","desc","c","arguments","length","r","getOwnPropertyDescriptor","Reflect","decorate","i","defineProperty","routes","$locationProvider","$stateProvider","$urlRouterProvider","qmcBase","html5Mode","enabled","requireBase","state","url","templateUrl","controller","controllerAs","resolve","data","console","log","angular","module","config","$inject","HttpProvider","Medikamente","configureHttpProvider","$httpProvider","defaults","headers","get","_super","MedikamenteService","$http","$q","_this","call","modulePath","Common","BaseService","getMedicamentWv","getItem","getMedicament","id","getMedicamentList","page","pageSize","listSearch","searchProperties","postMedicament","post","then","putMedicament","put","deleteMedicament","delete","getMedicamentPackageWv","postMedicamentPackage","putMedicamentPackage","getMedicamentPackage","parentId","deleteMedicamentPackage","getMedicamentPackageList","getMedicationLists","dateFrom","dateTo","onlyUncompleted","onlyUndocumented","getDemandMedicationLists","getPlannedMedicationLists","getDistributionsForMedication","medicationId","getMedicationWv","postMedication","reference","postMedications","postValidation","Service","Inject","MedikamenteListController","$location","medicamentService","$qui","$stateParams","$state","$scope","lng","permissionService","userService","ui","UserInterface","allowTableExport","filter","modify","init","getSectionColor","path","anonAvatar","bindEvents","$","parent","attr","document","getElementById","getAttribute","toLocaleLowerCase","forbidden","cards","Constants","IS_MOBILE","getTableAutoload","ltd","shouldLoadTableData","$watch","newValue","oldValue","lastValue","setTimeout","getData","bind","getWvs","permissionLoad","getPermissionsByObjectType","new","view","print","formState","form","objectId","title","presentationId","producerId","categoryId","isPrescriptionNeeded","isPharmacyOnly","isRestricted","isAnesthetic","activeComponent","comment","mediNr","setPage","pageWatcher","getMedicaments","medicamentLoad","DEFAULT_PAGINATION_SIZE","getDisplayedPropertiesFromSchema","medicamentTable","medicaments","items","paginationInfo","functionWaiter","addMedicament","undefined","notify","successNote","removeClass","remove","getPresentationWvList","select","wvLists","presentationWvList","value","text","getCategoryList","categoryWvList","getProducerWvList","producerWvList","Controller","MedikamenteDetailController","medicamentId","initPackageForm","$on","event","vm","medicationForm","$dirty","confirm","translate","preventDefault","lang","promptOptions","yesNo","icon","getPermissionsByObjectTypes","moduleAccess","pdelete","pnew","pmodify","pview","getMedicamentPackages","application","sideEffect","contraindication","interaction","restriction","producer","packageTypes","searchText","packageForm","Date","packageAmount","packageUnitId","standardSizeId","pzn","ean","activeComponentAmount","activeComponentUnitId","isSetGuid","thing","GUID_EMPTY","copy","storedData","displayTitle","packageLoad","mediPackagesTable","go","Utilities","deleteNote","getPackageTypeList","packageUnitWvList","getStandardSizeWvList","standardSizeWvList","getActiveComponentUnitWvList","activeComponentUnitWvList","presentationList","selectAutoMap","categoryMap","producerMap","editPackage","createDateFromString","moment","toDate","datas","modal","MedikamenteDistributionController","clientService","loadingPlanned","loadingDemand","isMobile","filterStorageKey","isDemand","loadValidation","multiValidationWatcher","currentTimepoints","multiEnabled","selectedLines","recentlyDistributedPannedMedications","events","current","name","getUserSettings","toLowerCase","refreshTimer","clearTimeout","getMedications","initForm","filterPeriodValue","mediFilterSettings","localStorage","filterObj","JSON","parse","setFilter","noReasonError","date","time","amount","isDistributed","referenceTimeId","reason","filterChange","oldVal","newVal","validation","errors","warnings","addTimeToDate","validate","_i","_a","isChecked","createCurrentTimepoints","item","timepoints","selectedTimepoint","this_1","_loop_1","push","validatePlannedMedication","filterDateFrom","checkPeriod","filterDateTo","filterDistributionDateFrom","filterDistributionDateTo","filterMedicationId","filterMedicationDateFrom","filterMedicationDateTo","storageOb","setItem","stringify","startOf","subtract","showDistributionsModal","medication","filterDistributionDateFTo","showDistributions","client","personForename","personName","medicament","package","medicamentPackage","medicationType","amountDistributed","medicationTypeId","DEMAND_MEDICATION","distributions","timepoint","newDistributionModal","referenceMedication","getTimeString","input","getHours","getMinutes","createTimepointModal","lastList","createMultiTimepoints","plannedMedicationTable","timepointsMap","multiState","timepointName","plannedDistributions","format","sort","a","getTime","some","x","now","minDist","_b","_c","dist","scopeApply","isMultiValid","activeMedications","getMultiMedicationHeaderString","formatString","multiToggle","getDemandMedications","getPlannedMedications","data_1","_loop_2","distAmount","qmcRounding","timepointMobile","isSelected","map","createClientDisplayTitle","y","persNrShortDescr","personNr","personShortCaption","replace","demandDistributions","createPersonDisplay","obj","index","maxAmountString","maxAmount","maxAmountInterval","lastDistributionDateString","lastDistribution","demandMedicationTable","endOf","addMedicamentDistribution","$valid","clearTable","saveMulti","medications","finally","createPlannedTable","validationRequest_1","lastValidation","catch","planning","find","parseFloat","selectLine","status","line","distributeSelectedLines","forEach","isDocumented","apply","defaultSort","sortReverse","table","Name","label","dType","lngTag","Darreichung","Kategorie","Wirkstoff","Verschreibungspflichtig","Apothekenpflichtig","Aktionen","href","tooltip","permission","card","avatar","subtext","buttons","medicamentForm","placeholder","type","required","model","message","messageTag","style","class","dataSource","actions","showTitle","Menge","Einheit","Normgröße","Gültigkeit","click","openModal","targetModal","mediPackagesForm","displayDateTo","maxLength","placeholderTag","","selected","onChange","hide","Datum","Zeitpunkt","Medikament","Klient","Ausgabe dokumentiert","Letzte Ausgabe","Packung","Max. Menge"],"mappings":"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"}