{"version":3,"sources":["./src/$_lazy_route_resource lazy","./src/app/admin/admin-module.component.css","./src/app/admin/admin-module.component.html","./src/app/admin/admin-module.component.ts","./src/app/admin/admin-routing.ts","./src/app/admin/admin.module.ts","./src/app/admin/components/user-list/user-list.component.css","./src/app/admin/components/user-list/user-list.component.html","./src/app/admin/components/user-list/user-list.component.ts","./src/app/admin/guards/admin-authorized.guard.ts","./src/app/admin/guards/estore-migration.guard.ts","./src/app/admin/services/e-store-migration.service.ts","./src/app/admin/views/e-store-migration-view/e-store-migration-view.component.css","./src/app/admin/views/e-store-migration-view/e-store-migration-view.component.html","./src/app/admin/views/e-store-migration-view/e-store-migration-view.component.ts","./src/app/admin/views/user-list-view/user-list-view.component.css","./src/app/admin/views/user-list-view/user-list-view.component.html","./src/app/admin/views/user-list-view/user-list-view.component.ts","./src/app/configuration.ts","./src/app/core/visbos-core/assets/form-error-messages.ts","./src/app/core/visbos-core/authorization/guards/can-edit.guard.ts","./src/app/core/visbos-core/authorization/guards/has-permission-to.guard.ts","./src/app/core/visbos-core/authorization/guards/touch-authorized.guard.ts","./src/app/core/visbos-core/authorization/guards/visbos.guard.ts","./src/app/core/visbos-core/components/abstract-visbos.component.ts","./src/app/core/visbos-core/components/log-out/log-out.component.css","./src/app/core/visbos-core/components/log-out/log-out.component.html","./src/app/core/visbos-core/components/log-out/log-out.component.ts","./src/app/core/visbos-core/components/password-change/password-change.component.css","./src/app/core/visbos-core/components/password-change/password-change.component.html","./src/app/core/visbos-core/components/password-change/password-change.component.ts","./src/app/core/visbos-core/components/password-change/password-change.validator.ts","./src/app/core/visbos-core/components/password-change/password-reset-form/password-reset-form.component.css","./src/app/core/visbos-core/components/password-change/password-reset-form/password-reset-form.component.html","./src/app/core/visbos-core/components/password-change/password-reset-form/password-reset-form.component.ts","./src/app/core/visbos-core/components/password-change/password-reset-link/password-reset-link.component.css","./src/app/core/visbos-core/components/password-change/password-reset-link/password-reset-link.component.html","./src/app/core/visbos-core/components/password-change/password-reset-link/password-reset-link.component.ts","./src/app/core/visbos-core/components/search-result-modal/search-result-modal.component.css","./src/app/core/visbos-core/components/search-result-modal/search-result-modal.component.html","./src/app/core/visbos-core/components/search-result-modal/search-result-modal.component.ts","./src/app/core/visbos-core/components/select-printed-sheet/select-printed-sheet.component.css","./src/app/core/visbos-core/components/select-printed-sheet/select-printed-sheet.component.html","./src/app/core/visbos-core/components/select-printed-sheet/select-printed-sheet.component.ts","./src/app/core/visbos-core/components/tax-calculator/tax-calculator.component.css","./src/app/core/visbos-core/components/tax-calculator/tax-calculator.component.html","./src/app/core/visbos-core/components/tax-calculator/tax-calculator.component.ts","./src/app/core/visbos-core/components/timer/timer.component.css","./src/app/core/visbos-core/components/timer/timer.component.html","./src/app/core/visbos-core/components/timer/timer.component.ts","./src/app/core/visbos-core/error-handling/debug-content/debug-content.component.css","./src/app/core/visbos-core/error-handling/debug-content/debug-content.component.html","./src/app/core/visbos-core/error-handling/debug-content/debug-content.component.ts","./src/app/core/visbos-core/error-handling/error-handler.service.ts","./src/app/core/visbos-core/error-handling/visbos-error-handler.service.ts","./src/app/core/visbos-core/exceptions/unauthorized-error.ts","./src/app/core/visbos-core/graphql/handleObservable.ts","./src/app/core/visbos-core/graphql/visbos.service.ts","./src/app/core/visbos-core/http/authorization-headers.interceptor.ts","./src/app/core/visbos-core/http/file.service.ts","./src/app/core/visbos-core/loading/loading-data/loading-data.component.css","./src/app/core/visbos-core/loading/loading-data/loading-data.component.html","./src/app/core/visbos-core/loading/loading-data/loading-data.component.ts","./src/app/core/visbos-core/loading/loading.component.css","./src/app/core/visbos-core/loading/loading.component.html","./src/app/core/visbos-core/loading/loading.component.ts","./src/app/core/visbos-core/maintenance/maintenance.interceptor.ts","./src/app/core/visbos-core/maintenance/maintenance.service.ts","./src/app/core/visbos-core/pipes/map-to-iterable.pipe.ts","./src/app/core/visbos-core/services/address.service.ts","./src/app/core/visbos-core/services/keyword.service.ts","./src/app/core/visbos-core/services/unit.service.ts","./src/app/core/visbos-core/subscriptions/pusher.service.ts","./src/app/core/visbos-core/ui/buttons/add-button.directive.ts","./src/app/core/visbos-core/ui/buttons/add-button/add-button.component.css","./src/app/core/visbos-core/ui/buttons/add-button/add-button.component.html","./src/app/core/visbos-core/ui/buttons/add-button/add-button.component.ts","./src/app/core/visbos-core/ui/buttons/delete-button/delete-button.component.css","./src/app/core/visbos-core/ui/buttons/delete-button/delete-button.component.html","./src/app/core/visbos-core/ui/buttons/delete-button/delete-button.component.ts","./src/app/core/visbos-core/ui/buttons/edit-button/edit-button.component.css","./src/app/core/visbos-core/ui/buttons/edit-button/edit-button.component.html","./src/app/core/visbos-core/ui/buttons/edit-button/edit-button.component.ts","./src/app/core/visbos-core/ui/buttons/generic-button/generic-button.component.css","./src/app/core/visbos-core/ui/buttons/generic-button/generic-button.component.html","./src/app/core/visbos-core/ui/buttons/generic-button/generic-button.component.ts","./src/app/core/visbos-core/ui/buttons/save-button/save-button.component.css","./src/app/core/visbos-core/ui/buttons/save-button/save-button.component.html","./src/app/core/visbos-core/ui/buttons/save-button/save-button.component.ts","./src/app/core/visbos-core/ui/components/abstract-list-view.ts","./src/app/core/visbos-core/ui/components/barcode-scanner/barcode-scanner.component.css","./src/app/core/visbos-core/ui/components/barcode-scanner/barcode-scanner.component.html","./src/app/core/visbos-core/ui/components/barcode-scanner/barcode-scanner.component.ts","./src/app/core/visbos-core/ui/components/content-page-view/content-page-view.component.css","./src/app/core/visbos-core/ui/components/content-page-view/content-page-view.component.html","./src/app/core/visbos-core/ui/components/content-page-view/content-page-view.component.ts","./src/app/core/visbos-core/ui/components/currency-input/currency-input.component.css","./src/app/core/visbos-core/ui/components/currency-input/currency-input.component.html","./src/app/core/visbos-core/ui/components/currency-input/currency-input.component.ts","./src/app/core/visbos-core/ui/components/datatable/datatable.component.css","./src/app/core/visbos-core/ui/components/datatable/datatable.component.html","./src/app/core/visbos-core/ui/components/datatable/datatable.component.ts","./src/app/core/visbos-core/ui/components/datepicker-input/datepicker-input.component.css","./src/app/core/visbos-core/ui/components/datepicker-input/datepicker-input.component.html","./src/app/core/visbos-core/ui/components/datepicker-input/datepicker-input.component.ts","./src/app/core/visbos-core/ui/components/mobile-barcode-scanner/mobile-barcode-scanner.component.css","./src/app/core/visbos-core/ui/components/mobile-barcode-scanner/mobile-barcode-scanner.component.html","./src/app/core/visbos-core/ui/components/mobile-barcode-scanner/mobile-barcode-scanner.component.ts","./src/app/core/visbos-core/ui/components/signature/signature.component.css","./src/app/core/visbos-core/ui/components/signature/signature.component.html","./src/app/core/visbos-core/ui/components/signature/signature.component.ts","./src/app/core/visbos-core/ui/components/use-by-date-picker/use-by-date-picker.component.css","./src/app/core/visbos-core/ui/components/use-by-date-picker/use-by-date-picker.component.html","./src/app/core/visbos-core/ui/components/use-by-date-picker/use-by-date-picker.component.ts","./src/app/core/visbos-core/ui/components/user-identification/user-identification.component.css","./src/app/core/visbos-core/ui/components/user-identification/user-identification.component.html","./src/app/core/visbos-core/ui/components/user-identification/user-identification.component.ts","./src/app/core/visbos-core/ui/dialogs/create-modal.directive.ts","./src/app/core/visbos-core/ui/dialogs/dialog/dialog.component.css","./src/app/core/visbos-core/ui/dialogs/dialog/dialog.component.html","./src/app/core/visbos-core/ui/dialogs/dialog/dialog.component.ts","./src/app/core/visbos-core/ui/dialogs/modal/modal.component.css","./src/app/core/visbos-core/ui/dialogs/modal/modal.component.html","./src/app/core/visbos-core/ui/dialogs/modal/modal.component.ts","./src/app/core/visbos-core/ui/dialogs/nested-items-list/nested-items-list.component.css","./src/app/core/visbos-core/ui/dialogs/nested-items-list/nested-items-list.component.html","./src/app/core/visbos-core/ui/dialogs/nested-items-list/nested-items-list.component.ts","./src/app/core/visbos-core/ui/dialogs/unit-selection/unit-selection.component.css","./src/app/core/visbos-core/ui/dialogs/unit-selection/unit-selection.component.html","./src/app/core/visbos-core/ui/dialogs/unit-selection/unit-selection.component.ts","./src/app/core/visbos-core/ui/directives/async-button.directive.ts","./src/app/core/visbos-core/ui/directives/autofocus.directive.ts","./src/app/core/visbos-core/ui/directives/clear-input.directive.ts","./src/app/core/visbos-core/ui/directives/fit-parent-size.directive.ts","./src/app/core/visbos-core/ui/directives/loading.directive.ts","./src/app/core/visbos-core/ui/directives/on-screen-keyboard.directive.ts","./src/app/core/visbos-core/ui/directives/private-image.directive.ts","./src/app/core/visbos-core/ui/directives/ratio-width.directive.ts","./src/app/core/visbos-core/ui/forms/abstract-visbos-control.ts","./src/app/core/visbos-core/ui/forms/address-form/address-form.component.css","./src/app/core/visbos-core/ui/forms/address-form/address-form.component.html","./src/app/core/visbos-core/ui/forms/address-form/address-form.component.ts","./src/app/core/visbos-core/ui/forms/autocomplete/autocomplete.component.css","./src/app/core/visbos-core/ui/forms/autocomplete/autocomplete.component.html","./src/app/core/visbos-core/ui/forms/autocomplete/autocomplete.component.ts","./src/app/core/visbos-core/ui/forms/country-selection/country-selection.component.css","./src/app/core/visbos-core/ui/forms/country-selection/country-selection.component.html","./src/app/core/visbos-core/ui/forms/country-selection/country-selection.component.ts","./src/app/core/visbos-core/ui/forms/directives/form-control-message/form-control-message.component.css","./src/app/core/visbos-core/ui/forms/directives/form-control-message/form-control-message.component.html","./src/app/core/visbos-core/ui/forms/directives/form-control-message/form-control-message.component.ts","./src/app/core/visbos-core/ui/forms/directives/validatable.directive.ts","./src/app/core/visbos-core/ui/forms/generic-form-array-group/generic-form-array-entry/generic-form-array-entry.component.css","./src/app/core/visbos-core/ui/forms/generic-form-array-group/generic-form-array-entry/generic-form-array-entry.component.html","./src/app/core/visbos-core/ui/forms/generic-form-array-group/generic-form-array-entry/generic-form-array-entry.component.ts","./src/app/core/visbos-core/ui/forms/generic-form-array-group/generic-form-array-group.component.css","./src/app/core/visbos-core/ui/forms/generic-form-array-group/generic-form-array-group.component.html","./src/app/core/visbos-core/ui/forms/generic-form-array-group/generic-form-array-group.component.ts","./src/app/core/visbos-core/ui/forms/generic-form-control/generic-form-control.component.css","./src/app/core/visbos-core/ui/forms/generic-form-control/generic-form-control.component.html","./src/app/core/visbos-core/ui/forms/generic-form-control/generic-form-control.component.ts","./src/app/core/visbos-core/ui/forms/generic-form-group/generic-form-group.component.css","./src/app/core/visbos-core/ui/forms/generic-form-group/generic-form-group.component.html","./src/app/core/visbos-core/ui/forms/generic-form-group/generic-form-group.component.ts","./src/app/core/visbos-core/ui/forms/generic-modal/generic-modal.component.css","./src/app/core/visbos-core/ui/forms/generic-modal/generic-modal.component.html","./src/app/core/visbos-core/ui/forms/generic-modal/generic-modal.component.ts","./src/app/core/visbos-core/ui/forms/generic-selection-input/generic-selection-input.component.css","./src/app/core/visbos-core/ui/forms/generic-selection-input/generic-selection-input.component.html","./src/app/core/visbos-core/ui/forms/generic-selection-input/generic-selection-input.component.ts","./src/app/core/visbos-core/ui/forms/inline-edit/inline-edit.component.css","./src/app/core/visbos-core/ui/forms/inline-edit/inline-edit.component.html","./src/app/core/visbos-core/ui/forms/inline-edit/inline-edit.component.ts","./src/app/core/visbos-core/ui/forms/multi-select-typeahead/multi-select-typeahead.component.css","./src/app/core/visbos-core/ui/forms/multi-select-typeahead/multi-select-typeahead.component.html","./src/app/core/visbos-core/ui/forms/multi-select-typeahead/multi-select-typeahead.component.ts","./src/app/core/visbos-core/ui/forms/validators/barcode.async.validator.ts","./src/app/core/visbos-core/ui/forms/validators/debounce-input.ts","./src/app/core/visbos-core/ui/forms/validators/validator-error-codes.ts","./src/app/core/visbos-core/ui/messages/messages.component.css","./src/app/core/visbos-core/ui/messages/messages.component.html","./src/app/core/visbos-core/ui/messages/messages.component.ts","./src/app/core/visbos-core/ui/navigation/action-bar/action-bar.component.css","./src/app/core/visbos-core/ui/navigation/action-bar/action-bar.component.html","./src/app/core/visbos-core/ui/navigation/action-bar/action-bar.component.ts","./src/app/core/visbos-core/ui/navigation/search-input/search-input.component.css","./src/app/core/visbos-core/ui/navigation/search-input/search-input.component.html","./src/app/core/visbos-core/ui/navigation/search-input/search-input.component.ts","./src/app/core/visbos-core/views/maintenance-view/maintenance-view.component.css","./src/app/core/visbos-core/views/maintenance-view/maintenance-view.component.html","./src/app/core/visbos-core/views/maintenance-view/maintenance-view.component.ts","./src/app/core/visbos-core/visbos-core.component.css","./src/app/core/visbos-core/visbos-core.component.html","./src/app/core/visbos-core/visbos-core.component.ts","./src/app/core/visbos-core/visbos-core.module.ts","./src/app/crm/accounting-units/accounting-unit-selection/accounting-unit-selection.component.css","./src/app/crm/accounting-units/accounting-unit-selection/accounting-unit-selection.component.html","./src/app/crm/accounting-units/accounting-unit-selection/accounting-unit-selection.component.ts","./src/app/crm/business-relations/business-relations-form/business-relations-form.component.css","./src/app/crm/business-relations/business-relations-form/business-relations-form.component.html","./src/app/crm/business-relations/business-relations-form/business-relations-form.component.ts","./src/app/crm/business-relations/supplier-business-relations-form/supplier-business-relations-form.component.css","./src/app/crm/business-relations/supplier-business-relations-form/supplier-business-relations-form.component.html","./src/app/crm/business-relations/supplier-business-relations-form/supplier-business-relations-form.component.ts","./src/app/crm/client/client-form/client-form.component.css","./src/app/crm/client/client-form/client-form.component.html","./src/app/crm/client/client-form/client-form.component.ts","./src/app/crm/client/client-list/client-list.component.css","./src/app/crm/client/client-list/client-list.component.html","./src/app/crm/client/client-list/client-list.component.ts","./src/app/crm/components/account-form/account-form.component.css","./src/app/crm/components/account-form/account-form.component.html","./src/app/crm/components/account-form/account-form.component.ts","./src/app/crm/components/account-numbers-list/account-numbers-list.component.css","./src/app/crm/components/account-numbers-list/account-numbers-list.component.html","./src/app/crm/components/account-numbers-list/account-numbers-list.component.ts","./src/app/crm/components/account-selection/account-selection.component.css","./src/app/crm/components/account-selection/account-selection.component.html","./src/app/crm/components/account-selection/account-selection.component.ts","./src/app/crm/components/admin-unit-multi-select/admin-unit-multi-select.component.css","./src/app/crm/components/admin-unit-multi-select/admin-unit-multi-select.component.html","./src/app/crm/components/admin-unit-multi-select/admin-unit-multi-select.component.ts","./src/app/crm/components/profile-form/profile-form.component.css","./src/app/crm/components/profile-form/profile-form.component.html","./src/app/crm/components/profile-form/profile-form.component.ts","./src/app/crm/components/profile-view/profile-view.component.css","./src/app/crm/components/profile-view/profile-view.component.html","./src/app/crm/components/profile-view/profile-view.component.ts","./src/app/crm/components/roles-list/roles-list.component.css","./src/app/crm/components/roles-list/roles-list.component.html","./src/app/crm/components/roles-list/roles-list.component.ts","./src/app/crm/components/user-form/user-form.component.css","./src/app/crm/components/user-form/user-form.component.html","./src/app/crm/components/user-form/user-form.component.ts","./src/app/crm/crm.component.css","./src/app/crm/crm.component.html","./src/app/crm/crm.component.ts","./src/app/crm/crm.module.ts","./src/app/crm/manufacturer/manufacturer-form/manufacturer-form.component.css","./src/app/crm/manufacturer/manufacturer-form/manufacturer-form.component.html","./src/app/crm/manufacturer/manufacturer-form/manufacturer-form.component.ts","./src/app/crm/manufacturer/manufacturer-input-field/manufacturer-input-field.component.css","./src/app/crm/manufacturer/manufacturer-input-field/manufacturer-input-field.component.html","./src/app/crm/manufacturer/manufacturer-input-field/manufacturer-input-field.component.ts","./src/app/crm/manufacturer/manufacturer-selection/manufacturer-selection.component.css","./src/app/crm/manufacturer/manufacturer-selection/manufacturer-selection.component.html","./src/app/crm/manufacturer/manufacturer-selection/manufacturer-selection.component.ts","./src/app/crm/services/accounting-unit.service.ts","./src/app/crm/services/client.service.ts","./src/app/crm/services/manufacturer.service.ts","./src/app/crm/services/supplier/supplier.service.ts","./src/app/crm/supplier/create-supplier/create-supplier.component.css","./src/app/crm/supplier/create-supplier/create-supplier.component.html","./src/app/crm/supplier/create-supplier/create-supplier.component.ts","./src/app/crm/supplier/supplier-form/supplier-form.component.css","./src/app/crm/supplier/supplier-form/supplier-form.component.html","./src/app/crm/supplier/supplier-form/supplier-form.component.ts","./src/app/crm/supplier/supplier-selection/supplier-selection.component.css","./src/app/crm/supplier/supplier-selection/supplier-selection.component.html","./src/app/crm/supplier/supplier-selection/supplier-selection.component.ts","./src/app/crm/supplier/suppliers-list/suppliers-list.component.css","./src/app/crm/supplier/suppliers-list/suppliers-list.component.html","./src/app/crm/supplier/suppliers-list/suppliers-list.component.ts","./src/app/crm/user/user.service.ts","./src/app/crm/views/account-numbers-list-view/account-numbers-list-view.component.css","./src/app/crm/views/account-numbers-list-view/account-numbers-list-view.component.html","./src/app/crm/views/account-numbers-list-view/account-numbers-list-view.component.ts","./src/app/crm/views/user-view/user-view.component.css","./src/app/crm/views/user-view/user-view.component.html","./src/app/crm/views/user-view/user-view.component.ts","./src/app/fleet/components/vehicle-form/vehicle-form.component.css","./src/app/fleet/components/vehicle-form/vehicle-form.component.html","./src/app/fleet/components/vehicle-form/vehicle-form.component.ts","./src/app/fleet/components/vehicles-list/vehicles-list.component.css","./src/app/fleet/components/vehicles-list/vehicles-list.component.html","./src/app/fleet/components/vehicles-list/vehicles-list.component.ts","./src/app/fleet/fleet.module.ts","./src/app/fleet/services/fleet.service.ts","./src/app/fleet/views/vehicles-list-view/vehicles-list-view.component.css","./src/app/fleet/views/vehicles-list-view/vehicles-list-view.component.html","./src/app/fleet/views/vehicles-list-view/vehicles-list-view.component.ts","./src/app/identity/barcode/barcode-list/barcode-list.component.css","./src/app/identity/barcode/barcode-list/barcode-list.component.html","./src/app/identity/barcode/barcode-list/barcode-list.component.ts","./src/app/identity/identities/identities.component.css","./src/app/identity/identities/identities.component.html","./src/app/identity/identities/identities.component.ts","./src/app/identity/identity.component.css","./src/app/identity/identity.component.html","./src/app/identity/identity.component.ts","./src/app/identity/identity.module.ts","./src/app/identity/new-barcode-form/new-barcode-form.component.css","./src/app/identity/new-barcode-form/new-barcode-form.component.html","./src/app/identity/new-barcode-form/new-barcode-form.component.ts","./src/app/identity/rfid/rfid-reader/rfid-reader.component.css","./src/app/identity/rfid/rfid-reader/rfid-reader.component.html","./src/app/identity/rfid/rfid-reader/rfid-reader.component.ts","./src/app/identity/services/barcode.service.ts","./src/app/identity/services/rfid.service.ts","./src/app/index.ts","./src/app/medicine-stickers/components/custom-sticker-page-layout/custom-sticker-page-layout.component.css","./src/app/medicine-stickers/components/custom-sticker-page-layout/custom-sticker-page-layout.component.html","./src/app/medicine-stickers/components/custom-sticker-page-layout/custom-sticker-page-layout.component.ts","./src/app/medicine-stickers/components/custom-sticker-page-layout/sticker-page/sticker-page.component.css","./src/app/medicine-stickers/components/custom-sticker-page-layout/sticker-page/sticker-page.component.html","./src/app/medicine-stickers/components/custom-sticker-page-layout/sticker-page/sticker-page.component.ts","./src/app/medicine-stickers/components/medicine-stickers-list/medicine-stickers-list.component.css","./src/app/medicine-stickers/components/medicine-stickers-list/medicine-stickers-list.component.html","./src/app/medicine-stickers/components/medicine-stickers-list/medicine-stickers-list.component.ts","./src/app/medicine-stickers/components/medicine-stickers-navigation/medicine-stickers-navigation.component.css","./src/app/medicine-stickers/components/medicine-stickers-navigation/medicine-stickers-navigation.component.html","./src/app/medicine-stickers/components/medicine-stickers-navigation/medicine-stickers-navigation.component.ts","./src/app/medicine-stickers/components/sticker-format-form/sticker-format-form.component.css","./src/app/medicine-stickers/components/sticker-format-form/sticker-format-form.component.html","./src/app/medicine-stickers/components/sticker-format-form/sticker-format-form.component.ts","./src/app/medicine-stickers/components/sticker-formats-table/sticker-formats-table.component.css","./src/app/medicine-stickers/components/sticker-formats-table/sticker-formats-table.component.html","./src/app/medicine-stickers/components/sticker-formats-table/sticker-formats-table.component.ts","./src/app/medicine-stickers/components/sticker-sheets-list/sticker-sheets-list.component.css","./src/app/medicine-stickers/components/sticker-sheets-list/sticker-sheets-list.component.html","./src/app/medicine-stickers/components/sticker-sheets-list/sticker-sheets-list.component.ts","./src/app/medicine-stickers/guards/stickers-authorized.guard.ts","./src/app/medicine-stickers/medicine-stickers-routing.ts","./src/app/medicine-stickers/medicine-stickers.module.ts","./src/app/medicine-stickers/model/printed-sheets.enum.ts","./src/app/medicine-stickers/services/medicine-stickers.service.ts","./src/app/medicine-stickers/view-components/create-sticker-sheet-view/create-sticker-sheet-view.component.css","./src/app/medicine-stickers/view-components/create-sticker-sheet-view/create-sticker-sheet-view.component.html","./src/app/medicine-stickers/view-components/create-sticker-sheet-view/create-sticker-sheet-view.component.ts","./src/app/medicine-stickers/view-components/medicines-stickers-view/medicines-stickers-view.component.css","./src/app/medicine-stickers/view-components/medicines-stickers-view/medicines-stickers-view.component.html","./src/app/medicine-stickers/view-components/medicines-stickers-view/medicines-stickers-view.component.ts","./src/app/medicine-stickers/view-components/medicines-view/medicines-view.component.css","./src/app/medicine-stickers/view-components/medicines-view/medicines-view.component.html","./src/app/medicine-stickers/view-components/medicines-view/medicines-view.component.ts","./src/app/medicine-stickers/view-components/sticker-formats-view/sticker-formats-view.component.css","./src/app/medicine-stickers/view-components/sticker-formats-view/sticker-formats-view.component.html","./src/app/medicine-stickers/view-components/sticker-formats-view/sticker-formats-view.component.ts","./src/app/medicine-stickers/view-components/sticker-sheets-view/sticker-sheets-view.component.css","./src/app/medicine-stickers/view-components/sticker-sheets-view/sticker-sheets-view.component.html","./src/app/medicine-stickers/view-components/sticker-sheets-view/sticker-sheets-view.component.ts","./src/app/mission/mission-form/mission-form.component.css","./src/app/mission/mission-form/mission-form.component.html","./src/app/mission/mission-form/mission-form.component.ts","./src/app/mission/mission.component.css","./src/app/mission/mission.component.html","./src/app/mission/mission.component.ts","./src/app/mission/mission.module.ts","./src/app/mission/services/mission.service.ts","./src/app/navigation/active-administration-unit/active-administration-unit.component.css","./src/app/navigation/active-administration-unit/active-administration-unit.component.html","./src/app/navigation/active-administration-unit/active-administration-unit.component.ts","./src/app/navigation/main-navigation/main-navigation.component.css","./src/app/navigation/main-navigation/main-navigation.component.html","./src/app/navigation/main-navigation/main-navigation.component.ts","./src/app/navigation/navigation.component.css","./src/app/navigation/navigation.component.html","./src/app/navigation/navigation.component.ts","./src/app/navigation/navigation.module.ts","./src/app/navigation/user-menu-item/user-menu-item.component.css","./src/app/navigation/user-menu-item/user-menu-item.component.html","./src/app/navigation/user-menu-item/user-menu-item.component.ts","./src/app/organization/administration_unit/administration-unit-selection/administration-unit-selection.component.css","./src/app/organization/administration_unit/administration-unit-selection/administration-unit-selection.component.html","./src/app/organization/administration_unit/administration-unit-selection/administration-unit-selection.component.ts","./src/app/organization/administration_unit/administration-units-list/administration-units-list.component.css","./src/app/organization/administration_unit/administration-units-list/administration-units-list.component.html","./src/app/organization/administration_unit/administration-units-list/administration-units-list.component.ts","./src/app/organization/organization.component.css","./src/app/organization/organization.component.html","./src/app/organization/organization.component.ts","./src/app/organization/organization.module.ts","./src/app/organization/services/administration_unit_service/administration-unit.service.ts","./src/app/sensors/components/sensor-form/sensor-form.component.css","./src/app/sensors/components/sensor-form/sensor-form.component.html","./src/app/sensors/components/sensor-form/sensor-form.component.ts","./src/app/sensors/components/sensor-list/sensor-list.component.css","./src/app/sensors/components/sensor-list/sensor-list.component.html","./src/app/sensors/components/sensor-list/sensor-list.component.ts","./src/app/sensors/components/temperature-log-chart/temperature-log-chart.component.css","./src/app/sensors/components/temperature-log-chart/temperature-log-chart.component.html","./src/app/sensors/components/temperature-log-chart/temperature-log-chart.component.ts","./src/app/sensors/components/temperature-log-entries-list/temperature-log-entries-list.component.css","./src/app/sensors/components/temperature-log-entries-list/temperature-log-entries-list.component.html","./src/app/sensors/components/temperature-log-entries-list/temperature-log-entries-list.component.ts","./src/app/sensors/guards/sensors-authorized.guard.ts","./src/app/sensors/sensors-module.component.css","./src/app/sensors/sensors-module.component.html","./src/app/sensors/sensors-module.component.ts","./src/app/sensors/sensors-routing.ts","./src/app/sensors/sensors.module.ts","./src/app/sensors/services/sensor.service.ts","./src/app/sensors/views/sensor-dashboard-view/sensor-dashboard-view.component.css","./src/app/sensors/views/sensor-dashboard-view/sensor-dashboard-view.component.html","./src/app/sensors/views/sensor-dashboard-view/sensor-dashboard-view.component.ts","./src/app/sensors/views/sensor-details/sensor-details.component.css","./src/app/sensors/views/sensor-details/sensor-details.component.html","./src/app/sensors/views/sensor-details/sensor-details.component.ts","./src/app/sensors/views/sensor-list-view/sensor-list-view.component.css","./src/app/sensors/views/sensor-list-view/sensor-list-view.component.html","./src/app/sensors/views/sensor-list-view/sensor-list-view.component.ts","./src/app/shared/actions/admin-unit.actions.ts","./src/app/shared/actions/depot.actions.ts","./src/app/shared/actions/index.ts","./src/app/shared/actions/session.actions.ts","./src/app/shared/auth/auth.module.ts","./src/app/shared/auth/guards/api-permission.ts","./src/app/shared/auth/guards/authorized-guard.ts","./src/app/shared/auth/login/login.component.css","./src/app/shared/auth/login/login.component.html","./src/app/shared/auth/login/login.component.ts","./src/app/shared/graphql/graphql.service.ts","./src/app/shared/redux-store/depot/depot.initial-state.ts","./src/app/shared/redux-store/depot/depot.reducer.ts","./src/app/shared/redux-store/depot/index.ts","./src/app/shared/redux-store/index.ts","./src/app/shared/redux-store/redux-route.service.ts","./src/app/shared/redux-store/session/index.ts","./src/app/shared/redux-store/session/session.initial-state.ts","./src/app/shared/redux-store/session/session.reducer.ts","./src/app/shared/redux-store/session/session.types.ts","./src/app/shared/redux-store/store-management/stock/index.ts","./src/app/shared/redux-store/store-management/stock/stock.actions.ts","./src/app/shared/redux-store/store-management/stock/stock.initial-state.ts","./src/app/shared/redux-store/store-management/stock/stock.reducer.ts","./src/app/shared/redux-store/store.ts","./src/app/shared/redux-store/typed-list.ts","./src/app/shared/view-model/core/page.model.ts","./src/app/shared/view-model/core/sort.model.ts","./src/app/store-management/accounting-unit-types.enum.ts","./src/app/store-management/accounting-units-view/accounting-units-view.component.css","./src/app/store-management/accounting-units-view/accounting-units-view.component.html","./src/app/store-management/accounting-units-view/accounting-units-view.component.ts","./src/app/store-management/asset-management/components/asset-marriage-wizard/asset-marriage-wizard.component.css","./src/app/store-management/asset-management/components/asset-marriage-wizard/asset-marriage-wizard.component.html","./src/app/store-management/asset-management/components/asset-marriage-wizard/asset-marriage-wizard.component.ts","./src/app/store-management/asset-management/components/asset-marriage-wizard/marriage-summary-page/marriage-summary-page.component.css","./src/app/store-management/asset-management/components/asset-marriage-wizard/marriage-summary-page/marriage-summary-page.component.html","./src/app/store-management/asset-management/components/asset-marriage-wizard/marriage-summary-page/marriage-summary-page.component.ts","./src/app/store-management/asset-management/components/asset-marriage-wizard/scan-items-page/scan-items-page.component.css","./src/app/store-management/asset-management/components/asset-marriage-wizard/scan-items-page/scan-items-page.component.html","./src/app/store-management/asset-management/components/asset-marriage-wizard/scan-items-page/scan-items-page.component.ts","./src/app/store-management/asset-management/components/asset-marriage-wizard/scan-packing-page/scan-packing-page.component.css","./src/app/store-management/asset-management/components/asset-marriage-wizard/scan-packing-page/scan-packing-page.component.html","./src/app/store-management/asset-management/components/asset-marriage-wizard/scan-packing-page/scan-packing-page.component.ts","./src/app/store-management/asset-management/components/asset-marriage-wizard/seal-packing-page/seal-packing-page.component.css","./src/app/store-management/asset-management/components/asset-marriage-wizard/seal-packing-page/seal-packing-page.component.html","./src/app/store-management/asset-management/components/asset-marriage-wizard/seal-packing-page/seal-packing-page.component.ts","./src/app/store-management/asset-management/components/asset-retrieval/asset-retrieval.component.css","./src/app/store-management/asset-management/components/asset-retrieval/asset-retrieval.component.html","./src/app/store-management/asset-management/components/asset-retrieval/asset-retrieval.component.ts","./src/app/store-management/asset-management/components/asset-status/asset-status.component.css","./src/app/store-management/asset-management/components/asset-status/asset-status.component.html","./src/app/store-management/asset-management/components/asset-status/asset-status.component.ts","./src/app/store-management/asset-management/components/assets-list/assets-list.component.css","./src/app/store-management/asset-management/components/assets-list/assets-list.component.html","./src/app/store-management/asset-management/components/assets-list/assets-list.component.ts","./src/app/store-management/asset-management/components/edit-asset/edit-asset.component.css","./src/app/store-management/asset-management/components/edit-asset/edit-asset.component.html","./src/app/store-management/asset-management/components/edit-asset/edit-asset.component.ts","./src/app/store-management/asset-management/components/location-marriage-wizard/location-marriage-wizard.component.css","./src/app/store-management/asset-management/components/location-marriage-wizard/location-marriage-wizard.component.html","./src/app/store-management/asset-management/components/location-marriage-wizard/location-marriage-wizard.component.ts","./src/app/store-management/asset-management/components/location-selection/location-selection.component.css","./src/app/store-management/asset-management/components/location-selection/location-selection.component.html","./src/app/store-management/asset-management/components/location-selection/location-selection.component.ts","./src/app/store-management/asset-management/new-assets-by-epc-list/new-assets-by-epc-list.component.css","./src/app/store-management/asset-management/new-assets-by-epc-list/new-assets-by-epc-list.component.html","./src/app/store-management/asset-management/new-assets-by-epc-list/new-assets-by-epc-list.component.ts","./src/app/store-management/asset-management/register-assets/register-assets.component.css","./src/app/store-management/asset-management/register-assets/register-assets.component.html","./src/app/store-management/asset-management/register-assets/register-assets.component.ts","./src/app/store-management/asset-management/services/asset.service.ts","./src/app/store-management/asset-management/services/location-marriage-wizard.service.ts","./src/app/store-management/asset-management/services/marriage.service.ts","./src/app/store-management/asset-management/views/asset-list-view/asset-list-view.component.css","./src/app/store-management/asset-management/views/asset-list-view/asset-list-view.component.html","./src/app/store-management/asset-management/views/asset-list-view/asset-list-view.component.ts","./src/app/store-management/asset-management/views/asset-marriage-view/asset-marriage-view.component.css","./src/app/store-management/asset-management/views/asset-marriage-view/asset-marriage-view.component.html","./src/app/store-management/asset-management/views/asset-marriage-view/asset-marriage-view.component.ts","./src/app/store-management/asset-management/views/location-marriage-wizzard-view/location-marriage-wizzard-view.component.css","./src/app/store-management/asset-management/views/location-marriage-wizzard-view/location-marriage-wizzard-view.component.html","./src/app/store-management/asset-management/views/location-marriage-wizzard-view/location-marriage-wizzard-view.component.ts","./src/app/store-management/asset-management/views/query-asset-status-view/query-asset-status-view.component.css","./src/app/store-management/asset-management/views/query-asset-status-view/query-asset-status-view.component.html","./src/app/store-management/asset-management/views/query-asset-status-view/query-asset-status-view.component.ts","./src/app/store-management/asset-management/views/register-assets-for-article-view/register-assets-for-article-view.component.css","./src/app/store-management/asset-management/views/register-assets-for-article-view/register-assets-for-article-view.component.html","./src/app/store-management/asset-management/views/register-assets-for-article-view/register-assets-for-article-view.component.ts","./src/app/store-management/depot/depot-form/depot-form.component.css","./src/app/store-management/depot/depot-form/depot-form.component.html","./src/app/store-management/depot/depot-form/depot-form.component.ts","./src/app/store-management/depot/depot-list-view/depot-list-view.component.css","./src/app/store-management/depot/depot-list-view/depot-list-view.component.html","./src/app/store-management/depot/depot-list-view/depot-list-view.component.ts","./src/app/store-management/depot/depot-selection/depot-selection.component.css","./src/app/store-management/depot/depot-selection/depot-selection.component.html","./src/app/store-management/depot/depot-selection/depot-selection.component.ts","./src/app/store-management/depot/depot-yard-form/depot-yard-form.component.css","./src/app/store-management/depot/depot-yard-form/depot-yard-form.component.html","./src/app/store-management/depot/depot-yard-form/depot-yard-form.component.ts","./src/app/store-management/depot/depot-yard-input/depot-yard-input.component.css","./src/app/store-management/depot/depot-yard-input/depot-yard-input.component.html","./src/app/store-management/depot/depot-yard-input/depot-yard-input.component.ts","./src/app/store-management/depot/depot-yard-selection/depot-yard-selection.component.css","./src/app/store-management/depot/depot-yard-selection/depot-yard-selection.component.html","./src/app/store-management/depot/depot-yard-selection/depot-yard-selection.component.ts","./src/app/store-management/guards/storemanagement-authorized.guard.ts","./src/app/store-management/helptexts.ts","./src/app/store-management/medicine/dosage-form-selection/dosage-form-selection.component.css","./src/app/store-management/medicine/dosage-form-selection/dosage-form-selection.component.html","./src/app/store-management/medicine/dosage-form-selection/dosage-form-selection.component.ts","./src/app/store-management/medicine/import-medicines-form/import-medicines-form.component.css","./src/app/store-management/medicine/import-medicines-form/import-medicines-form.component.html","./src/app/store-management/medicine/import-medicines-form/import-medicines-form.component.ts","./src/app/store-management/medicine/medicine-book-entries-table/medicine-book-entries-table.component.css","./src/app/store-management/medicine/medicine-book-entries-table/medicine-book-entries-table.component.html","./src/app/store-management/medicine/medicine-book-entries-table/medicine-book-entries-table.component.ts","./src/app/store-management/medicine/medicine-book-view/medicine-book-view.component.css","./src/app/store-management/medicine/medicine-book-view/medicine-book-view.component.html","./src/app/store-management/medicine/medicine-book-view/medicine-book-view.component.ts","./src/app/store-management/medicine/medicine-form/medicine-form.component.css","./src/app/store-management/medicine/medicine-form/medicine-form.component.html","./src/app/store-management/medicine/medicine-form/medicine-form.component.ts","./src/app/store-management/medicine/medicine-list/medicine-list.component.css","./src/app/store-management/medicine/medicine-list/medicine-list.component.html","./src/app/store-management/medicine/medicine-list/medicine-list.component.ts","./src/app/store-management/medicine/medicine-stocks-view/medicine-stocks-view.component.css","./src/app/store-management/medicine/medicine-stocks-view/medicine-stocks-view.component.html","./src/app/store-management/medicine/medicine-stocks-view/medicine-stocks-view.component.ts","./src/app/store-management/medicine/medicines-view/medicines-view.component.css","./src/app/store-management/medicine/medicines-view/medicines-view.component.html","./src/app/store-management/medicine/medicines-view/medicines-view.component.ts","./src/app/store-management/medicine/substance-group-selection/substance-group-selection.component.css","./src/app/store-management/medicine/substance-group-selection/substance-group-selection.component.html","./src/app/store-management/medicine/substance-group-selection/substance-group-selection.component.ts","./src/app/store-management/procurement/add-stock-to-cart/add-stock-to-cart.component.css","./src/app/store-management/procurement/add-stock-to-cart/add-stock-to-cart.component.html","./src/app/store-management/procurement/add-stock-to-cart/add-stock-to-cart.component.ts","./src/app/store-management/procurement/components/add-stocks-to-cart/add-stocks-to-cart.component.css","./src/app/store-management/procurement/components/add-stocks-to-cart/add-stocks-to-cart.component.html","./src/app/store-management/procurement/components/add-stocks-to-cart/add-stocks-to-cart.component.ts","./src/app/store-management/procurement/delivery-items-list/delivery-items-list.component.css","./src/app/store-management/procurement/delivery-items-list/delivery-items-list.component.html","./src/app/store-management/procurement/delivery-items-list/delivery-items-list.component.ts","./src/app/store-management/procurement/depot-needs/depot-needs.component.css","./src/app/store-management/procurement/depot-needs/depot-needs.component.html","./src/app/store-management/procurement/depot-needs/depot-needs.component.ts","./src/app/store-management/procurement/dispatch-items-table/dispatch-items-table.component.css","./src/app/store-management/procurement/dispatch-items-table/dispatch-items-table.component.html","./src/app/store-management/procurement/dispatch-items-table/dispatch-items-table.component.ts","./src/app/store-management/procurement/incoming-goods-view/incoming-goods-view.component.css","./src/app/store-management/procurement/incoming-goods-view/incoming-goods-view.component.html","./src/app/store-management/procurement/incoming-goods-view/incoming-goods-view.component.ts","./src/app/store-management/procurement/new-delivery/new-delivery.component.css","./src/app/store-management/procurement/new-delivery/new-delivery.component.html","./src/app/store-management/procurement/new-delivery/new-delivery.component.ts","./src/app/store-management/procurement/new-dispatch/new-dispatch.component.css","./src/app/store-management/procurement/new-dispatch/new-dispatch.component.html","./src/app/store-management/procurement/new-dispatch/new-dispatch.component.ts","./src/app/store-management/procurement/new-order/new-order.component.css","./src/app/store-management/procurement/new-order/new-order.component.html","./src/app/store-management/procurement/new-order/new-order.component.ts","./src/app/store-management/procurement/order-list-view/order-list-view.component.css","./src/app/store-management/procurement/order-list-view/order-list-view.component.html","./src/app/store-management/procurement/order-list-view/order-list-view.component.ts","./src/app/store-management/procurement/order-view/order-view.component.css","./src/app/store-management/procurement/order-view/order-view.component.html","./src/app/store-management/procurement/order-view/order-view.component.ts","./src/app/store-management/procurement/select-stock-for-storage/select-stock-for-storage.component.css","./src/app/store-management/procurement/select-stock-for-storage/select-stock-for-storage.component.html","./src/app/store-management/procurement/select-stock-for-storage/select-stock-for-storage.component.ts","./src/app/store-management/procurement/shopping-cart-items-table/shopping-cart-items-table.component.css","./src/app/store-management/procurement/shopping-cart-items-table/shopping-cart-items-table.component.html","./src/app/store-management/procurement/shopping-cart-items-table/shopping-cart-items-table.component.ts","./src/app/store-management/procurement/shopping-carts-view/shopping-carts-view.component.css","./src/app/store-management/procurement/shopping-carts-view/shopping-carts-view.component.html","./src/app/store-management/procurement/shopping-carts-view/shopping-carts-view.component.ts","./src/app/store-management/procurement/shopping-carts/shopping-carts.component.css","./src/app/store-management/procurement/shopping-carts/shopping-carts.component.html","./src/app/store-management/procurement/shopping-carts/shopping-carts.component.ts","./src/app/store-management/procurement/sub-admin-unit-needs-items/sub-admin-unit-needs-items.component.css","./src/app/store-management/procurement/sub-admin-unit-needs-items/sub-admin-unit-needs-items.component.html","./src/app/store-management/procurement/sub-admin-unit-needs-items/sub-admin-unit-needs-items.component.ts","./src/app/store-management/procurement/sub-admin-unit-needs/sub-admin-unit-needs.component.css","./src/app/store-management/procurement/sub-admin-unit-needs/sub-admin-unit-needs.component.html","./src/app/store-management/procurement/sub-admin-unit-needs/sub-admin-unit-needs.component.ts","./src/app/store-management/procurement/views/fill-up-depot-view/fill-up-depot-view.component.css","./src/app/store-management/procurement/views/fill-up-depot-view/fill-up-depot-view.component.html","./src/app/store-management/procurement/views/fill-up-depot-view/fill-up-depot-view.component.ts","./src/app/store-management/procurement/views/generate-invoice-view/generate-invoice-view.component.css","./src/app/store-management/procurement/views/generate-invoice-view/generate-invoice-view.component.html","./src/app/store-management/procurement/views/generate-invoice-view/generate-invoice-view.component.ts","./src/app/store-management/procurement/views/invoice-view/invoice-view.component.css","./src/app/store-management/procurement/views/invoice-view/invoice-view.component.html","./src/app/store-management/procurement/views/invoice-view/invoice-view.component.ts","./src/app/store-management/procurement/views/invoices-list-view/invoices-list-view.component.css","./src/app/store-management/procurement/views/invoices-list-view/invoices-list-view.component.html","./src/app/store-management/procurement/views/invoices-list-view/invoices-list-view.component.ts","./src/app/store-management/procurement/views/shopping-carts-overview-view/shopping-carts-overview-view.component.css","./src/app/store-management/procurement/views/shopping-carts-overview-view/shopping-carts-overview-view.component.html","./src/app/store-management/procurement/views/shopping-carts-overview-view/shopping-carts-overview-view.component.ts","./src/app/store-management/product/edit-product/edit-product.component.css","./src/app/store-management/product/edit-product/edit-product.component.html","./src/app/store-management/product/edit-product/edit-product.component.ts","./src/app/store-management/product/packing-form/packing-form.component.css","./src/app/store-management/product/packing-form/packing-form.component.html","./src/app/store-management/product/packing-form/packing-form.component.ts","./src/app/store-management/product/packing-unit-selection/packing-unit-selection.component.css","./src/app/store-management/product/packing-unit-selection/packing-unit-selection.component.html","./src/app/store-management/product/packing-unit-selection/packing-unit-selection.component.ts","./src/app/store-management/product/product-batch-form/product-batch-form.component.css","./src/app/store-management/product/product-batch-form/product-batch-form.component.html","./src/app/store-management/product/product-batch-form/product-batch-form.component.ts","./src/app/store-management/product/product-form/product-form.component.css","./src/app/store-management/product/product-form/product-form.component.html","./src/app/store-management/product/product-form/product-form.component.ts","./src/app/store-management/product/product-packing-selection/product-packing-selection.component.css","./src/app/store-management/product/product-packing-selection/product-packing-selection.component.html","./src/app/store-management/product/product-packing-selection/product-packing-selection.component.ts","./src/app/store-management/product/product-selection/product-selection.component.css","./src/app/store-management/product/product-selection/product-selection.component.html","./src/app/store-management/product/product-selection/product-selection.component.ts","./src/app/store-management/redux/index.ts","./src/app/store-management/redux/scans.actions.ts","./src/app/store-management/redux/scans.initial-state.ts","./src/app/store-management/redux/scans.reducer.ts","./src/app/store-management/services/depot-service/depot.service.ts","./src/app/store-management/services/invoice/invoice.service.ts","./src/app/store-management/services/medicine.service.ts","./src/app/store-management/services/packing-unit/packing-unit.service.ts","./src/app/store-management/services/procurement-service/procurement.service.ts","./src/app/store-management/services/product-services/product.service.ts","./src/app/store-management/services/property-service/property.service.ts","./src/app/store-management/services/resolvers/stock-resolver.service.ts","./src/app/store-management/services/resolvers/supplier-resolver.service.ts","./src/app/store-management/services/statistics-services/store-statistics.service.ts","./src/app/store-management/services/stock-item-category.service.ts","./src/app/store-management/services/stock-item-resolver.service.ts","./src/app/store-management/services/stock-item-service/stock-item.service.ts","./src/app/store-management/services/stock.service.ts","./src/app/store-management/services/stocktaking/stocktaking.service.ts","./src/app/store-management/services/warehousing-service/warehousing.service.ts","./src/app/store-management/services/withdrawal.service.ts","./src/app/store-management/statistics/consumption-statistics-view/consumption-statistics-view.component.css","./src/app/store-management/statistics/consumption-statistics-view/consumption-statistics-view.component.html","./src/app/store-management/statistics/consumption-statistics-view/consumption-statistics-view.component.ts","./src/app/store-management/statistics/order-statistics-view/order-statistics-view.component.css","./src/app/store-management/statistics/order-statistics-view/order-statistics-view.component.html","./src/app/store-management/statistics/order-statistics-view/order-statistics-view.component.ts","./src/app/store-management/stock-item-category/stock-item-category-selection/stock-item-category-selection.component.css","./src/app/store-management/stock-item-category/stock-item-category-selection/stock-item-category-selection.component.html","./src/app/store-management/stock-item-category/stock-item-category-selection/stock-item-category-selection.component.ts","./src/app/store-management/stock-item/add-stock-item/add-stock-item.component.css","./src/app/store-management/stock-item/add-stock-item/add-stock-item.component.html","./src/app/store-management/stock-item/add-stock-item/add-stock-item.component.ts","./src/app/store-management/stock-item/edit-stock-item/edit-stock-item.component.css","./src/app/store-management/stock-item/edit-stock-item/edit-stock-item.component.html","./src/app/store-management/stock-item/edit-stock-item/edit-stock-item.component.ts","./src/app/store-management/stock-item/stock-item-form/stock-item-form.component.css","./src/app/store-management/stock-item/stock-item-form/stock-item-form.component.html","./src/app/store-management/stock-item/stock-item-form/stock-item-form.component.ts","./src/app/store-management/stock-item/stock-item-input-field/stock-item-input-field.component.css","./src/app/store-management/stock-item/stock-item-input-field/stock-item-input-field.component.html","./src/app/store-management/stock-item/stock-item-input-field/stock-item-input-field.component.ts","./src/app/store-management/stock-item/stock-item-list-view/stock-item-list-view.component.css","./src/app/store-management/stock-item/stock-item-list-view/stock-item-list-view.component.html","./src/app/store-management/stock-item/stock-item-list-view/stock-item-list-view.component.ts","./src/app/store-management/stock-item/stock-item-list-view/stock-item-state.service.ts","./src/app/store-management/stock-item/stock-item-property/property-type-selection/property-type-selection.component.css","./src/app/store-management/stock-item/stock-item-property/property-type-selection/property-type-selection.component.html","./src/app/store-management/stock-item/stock-item-property/property-type-selection/property-type-selection.component.ts","./src/app/store-management/stock-item/stock-item-property/stock-item-property-form/stock-item-property-form.component.css","./src/app/store-management/stock-item/stock-item-property/stock-item-property-form/stock-item-property-form.component.html","./src/app/store-management/stock-item/stock-item-property/stock-item-property-form/stock-item-property-form.component.ts","./src/app/store-management/stock-item/stock-name.pipe.ts","./src/app/store-management/stock-item/stock-short-name.pipe.ts","./src/app/store-management/stock-rearrangement/stock-rearrangement-list/stock-rearrangement-list.component.css","./src/app/store-management/stock-rearrangement/stock-rearrangement-list/stock-rearrangement-list.component.html","./src/app/store-management/stock-rearrangement/stock-rearrangement-list/stock-rearrangement-list.component.ts","./src/app/store-management/stock-rearrangement/stock-rearrangement-view/stock-rearrangement-view.component.css","./src/app/store-management/stock-rearrangement/stock-rearrangement-view/stock-rearrangement-view.component.html","./src/app/store-management/stock-rearrangement/stock-rearrangement-view/stock-rearrangement-view.component.ts","./src/app/store-management/stock/actual-stock/actual-stock.component.css","./src/app/store-management/stock/actual-stock/actual-stock.component.html","./src/app/store-management/stock/actual-stock/actual-stock.component.ts","./src/app/store-management/stock/add-stocks-table-view/add-stocks-table-view.component.css","./src/app/store-management/stock/add-stocks-table-view/add-stocks-table-view.component.html","./src/app/store-management/stock/add-stocks-table-view/add-stocks-table-view.component.ts","./src/app/store-management/stock/add-stocks-table-view/validate-stock-item-not-exists.directive.ts","./src/app/store-management/stock/components/expiring-stocks-table/expiring-stocks-table.component.css","./src/app/store-management/stock/components/expiring-stocks-table/expiring-stocks-table.component.html","./src/app/store-management/stock/components/expiring-stocks-table/expiring-stocks-table.component.ts","./src/app/store-management/stock/components/move-stock/move-stock.component.css","./src/app/store-management/stock/components/move-stock/move-stock.component.html","./src/app/store-management/stock/components/move-stock/move-stock.component.ts","./src/app/store-management/stock/components/move-stocks-list/move-stocks-list.component.css","./src/app/store-management/stock/components/move-stocks-list/move-stocks-list.component.html","./src/app/store-management/stock/components/move-stocks-list/move-stocks-list.component.ts","./src/app/store-management/stock/components/product-batches-listing/product-batches-listing.component.css","./src/app/store-management/stock/components/product-batches-listing/product-batches-listing.component.html","./src/app/store-management/stock/components/product-batches-listing/product-batches-listing.component.ts","./src/app/store-management/stock/components/search-product-batches/search-product-batches.component.css","./src/app/store-management/stock/components/search-product-batches/search-product-batches.component.html","./src/app/store-management/stock/components/search-product-batches/search-product-batches.component.ts","./src/app/store-management/stock/edit-stock/edit-stock.component.css","./src/app/store-management/stock/edit-stock/edit-stock.component.html","./src/app/store-management/stock/edit-stock/edit-stock.component.ts","./src/app/store-management/stock/new-stock-view/new-stock-view.component.css","./src/app/store-management/stock/new-stock-view/new-stock-view.component.html","./src/app/store-management/stock/new-stock-view/new-stock-view.component.ts","./src/app/store-management/stock/stock-detail/stock-detail-list/stock-detail-list.component.css","./src/app/store-management/stock/stock-detail/stock-detail-list/stock-detail-list.component.html","./src/app/store-management/stock/stock-detail/stock-detail-list/stock-detail-list.component.ts","./src/app/store-management/stock/stock-detail/stock-detail.component.css","./src/app/store-management/stock/stock-detail/stock-detail.component.html","./src/app/store-management/stock/stock-detail/stock-detail.component.ts","./src/app/store-management/stock/stock-detail/stock-item-details/stock-item-details.component.css","./src/app/store-management/stock/stock-detail/stock-item-details/stock-item-details.component.html","./src/app/store-management/stock/stock-detail/stock-item-details/stock-item-details.component.ts","./src/app/store-management/stock/stock-detail/stock-variants-list/stock-variants-list.component.css","./src/app/store-management/stock/stock-detail/stock-variants-list/stock-variants-list.component.html","./src/app/store-management/stock/stock-detail/stock-variants-list/stock-variants-list.component.ts","./src/app/store-management/stock/stock-form-table/stock-form-table.component.css","./src/app/store-management/stock/stock-form-table/stock-form-table.component.html","./src/app/store-management/stock/stock-form-table/stock-form-table.component.ts","./src/app/store-management/stock/stock-limits/stock-limits.component.css","./src/app/store-management/stock/stock-limits/stock-limits.component.html","./src/app/store-management/stock/stock-limits/stock-limits.component.ts","./src/app/store-management/stock/stock-list/stock-list-state.service.ts","./src/app/store-management/stock/stock-list/stock-list.component.css","./src/app/store-management/stock/stock-list/stock-list.component.html","./src/app/store-management/stock/stock-list/stock-list.component.ts","./src/app/store-management/stock/stock-search/stock-search.component.css","./src/app/store-management/stock/stock-search/stock-search.component.html","./src/app/store-management/stock/stock-search/stock-search.component.ts","./src/app/store-management/stock/stock.component.css","./src/app/store-management/stock/stock.component.html","./src/app/store-management/stock/stock.component.ts","./src/app/store-management/stock/views/check-product-batches-view/check-product-batches-view.component.css","./src/app/store-management/stock/views/check-product-batches-view/check-product-batches-view.component.html","./src/app/store-management/stock/views/check-product-batches-view/check-product-batches-view.component.ts","./src/app/store-management/stock/views/move-stocks-view/move-stocks-view.component.css","./src/app/store-management/stock/views/move-stocks-view/move-stocks-view.component.html","./src/app/store-management/stock/views/move-stocks-view/move-stocks-view.component.ts","./src/app/store-management/stocktaking/components/depot-stocktaking-form/depot-stocktaking.component.css","./src/app/store-management/stocktaking/components/depot-stocktaking-form/depot-stocktaking.component.html","./src/app/store-management/stocktaking/components/depot-stocktaking-form/depot-stocktaking.component.ts","./src/app/store-management/stocktaking/components/stocktaking-entries/stocktaking-entries.component.css","./src/app/store-management/stocktaking/components/stocktaking-entries/stocktaking-entries.component.html","./src/app/store-management/stocktaking/components/stocktaking-entries/stocktaking-entries.component.ts","./src/app/store-management/stocktaking/components/stocktaking-form/stocktaking-form.component.css","./src/app/store-management/stocktaking/components/stocktaking-form/stocktaking-form.component.html","./src/app/store-management/stocktaking/components/stocktaking-form/stocktaking-form.component.ts","./src/app/store-management/stocktaking/components/stocktaking/stocktaking.component.css","./src/app/store-management/stocktaking/components/stocktaking/stocktaking.component.html","./src/app/store-management/stocktaking/components/stocktaking/stocktaking.component.ts","./src/app/store-management/stocktaking/stocktakings-list/stocktakings-list.component.css","./src/app/store-management/stocktaking/stocktakings-list/stocktakings-list.component.html","./src/app/store-management/stocktaking/stocktakings-list/stocktakings-list.component.ts","./src/app/store-management/stocktaking/views/init-stocktaking-view/init-stocktaking-view.component.css","./src/app/store-management/stocktaking/views/init-stocktaking-view/init-stocktaking-view.component.html","./src/app/store-management/stocktaking/views/init-stocktaking-view/init-stocktaking-view.component.ts","./src/app/store-management/stocktaking/views/rfid-auto-stocktaking-view/rfid-auto-stocktaking-view.component.css","./src/app/store-management/stocktaking/views/rfid-auto-stocktaking-view/rfid-auto-stocktaking-view.component.html","./src/app/store-management/stocktaking/views/rfid-auto-stocktaking-view/rfid-auto-stocktaking-view.component.ts","./src/app/store-management/stocktaking/views/stocktaking-view/stocktaking-view.component.css","./src/app/store-management/stocktaking/views/stocktaking-view/stocktaking-view.component.html","./src/app/store-management/stocktaking/views/stocktaking-view/stocktaking-view.component.ts","./src/app/store-management/stocktaking/views/stocktakings-list-view/stocktakings-list-view.component.css","./src/app/store-management/stocktaking/views/stocktakings-list-view/stocktakings-list-view.component.html","./src/app/store-management/stocktaking/views/stocktakings-list-view/stocktakings-list-view.component.ts","./src/app/store-management/store-dashboard/store-dashboard.component.css","./src/app/store-management/store-dashboard/store-dashboard.component.html","./src/app/store-management/store-dashboard/store-dashboard.component.ts","./src/app/store-management/store-management.component.css","./src/app/store-management/store-management.component.html","./src/app/store-management/store-management.component.ts","./src/app/store-management/store-management.module.ts","./src/app/store-management/store-management.routes.ts","./src/app/store-management/supplier-types.enum.ts","./src/app/store-management/warehousing-reasons.enum.ts","./src/app/store-management/warehousing/warehousing-data-form/warehousing-data-form.component.css","./src/app/store-management/warehousing/warehousing-data-form/warehousing-data-form.component.html","./src/app/store-management/warehousing/warehousing-data-form/warehousing-data-form.component.ts","./src/app/store-management/withdrawal-log/withdrawal-log.component.css","./src/app/store-management/withdrawal-log/withdrawal-log.component.html","./src/app/store-management/withdrawal-log/withdrawal-log.component.ts","./src/app/store-management/withdrawal-reasons.enum.ts","./src/app/store-management/withdrawal/medicine-auth-form/medicine-auth-form.component.css","./src/app/store-management/withdrawal/medicine-auth-form/medicine-auth-form.component.html","./src/app/store-management/withdrawal/medicine-auth-form/medicine-auth-form.component.ts","./src/app/store-management/withdrawal/medicine-withdrawal-auth-form/medicine-withdrawal-auth-form.component.css","./src/app/store-management/withdrawal/medicine-withdrawal-auth-form/medicine-withdrawal-auth-form.component.html","./src/app/store-management/withdrawal/medicine-withdrawal-auth-form/medicine-withdrawal-auth-form.component.ts","./src/app/store-management/withdrawal/withdrawal-consumer-selection/withdrawal-consumer-selection.component.css","./src/app/store-management/withdrawal/withdrawal-consumer-selection/withdrawal-consumer-selection.component.html","./src/app/store-management/withdrawal/withdrawal-consumer-selection/withdrawal-consumer-selection.component.ts","./src/app/store-management/withdrawal/withdrawal-data-form/withdrawal-data-form.component.css","./src/app/store-management/withdrawal/withdrawal-data-form/withdrawal-data-form.component.html","./src/app/store-management/withdrawal/withdrawal-data-form/withdrawal-data-form.component.ts","./src/app/store-management/withdrawal/withdrawal-log-view/withdrawal-log-view.component.css","./src/app/store-management/withdrawal/withdrawal-log-view/withdrawal-log-view.component.html","./src/app/store-management/withdrawal/withdrawal-log-view/withdrawal-log-view.component.ts","./src/app/store-management/withdrawal/withdrawal.component.css","./src/app/store-management/withdrawal/withdrawal.component.html","./src/app/store-management/withdrawal/withdrawal.component.ts","./src/app/visbos-client/visbos-client.component.css","./src/app/visbos-client/visbos-client.component.html","./src/app/visbos-client/visbos-client.component.ts","./src/app/visbos-client/visbos-client.module.ts","./src/app/visbos-client/visbos-client.routes.ts","./src/app/visbos-client/welcome-view/welcome-view.component.css","./src/app/visbos-client/welcome-view/welcome-view.component.html","./src/app/visbos-client/welcome-view/welcome-view.component.ts","./src/app/visbos-routing.module.ts","./src/app/visbos-touch-client/services/security-token-guard.service.ts","./src/app/visbos-touch-client/ui/navigation/touch-menu.service.ts","./src/app/visbos-touch-client/ui/navigation/touch-menu/touch-menu.component.css","./src/app/visbos-touch-client/ui/navigation/touch-menu/touch-menu.component.html","./src/app/visbos-touch-client/ui/navigation/touch-menu/touch-menu.component.ts","./src/app/visbos-touch-client/ui/navigation/touch-navbar/touch-navbar.component.css","./src/app/visbos-touch-client/ui/navigation/touch-navbar/touch-navbar.component.html","./src/app/visbos-touch-client/ui/navigation/touch-navbar/touch-navbar.component.ts","./src/app/visbos-touch-client/ui/navigation/touch-navigation-menu/touch-main.menu.ts","./src/app/visbos-touch-client/ui/navigation/touch-navigation-menu/touch-navigation-menu.component.css","./src/app/visbos-touch-client/ui/navigation/touch-navigation-menu/touch-navigation-menu.component.html","./src/app/visbos-touch-client/ui/navigation/touch-navigation-menu/touch-navigation-menu.component.ts","./src/app/visbos-touch-client/ui/touch-asset-status/touch-asset-status.component.css","./src/app/visbos-touch-client/ui/touch-asset-status/touch-asset-status.component.html","./src/app/visbos-touch-client/ui/touch-asset-status/touch-asset-status.component.ts","./src/app/visbos-touch-client/ui/touch-depot-needs/touch-depot-needs-depot-selection/touch-depot-needs-depot-selection.component.css","./src/app/visbos-touch-client/ui/touch-depot-needs/touch-depot-needs-depot-selection/touch-depot-needs-depot-selection.component.html","./src/app/visbos-touch-client/ui/touch-depot-needs/touch-depot-needs-depot-selection/touch-depot-needs-depot-selection.component.ts","./src/app/visbos-touch-client/ui/touch-depot-needs/touch-depot-needs-wizard/touch-depot-needs-wizard.component.css","./src/app/visbos-touch-client/ui/touch-depot-needs/touch-depot-needs-wizard/touch-depot-needs-wizard.component.html","./src/app/visbos-touch-client/ui/touch-depot-needs/touch-depot-needs-wizard/touch-depot-needs-wizard.component.ts","./src/app/visbos-touch-client/ui/touch-depot-yard-search/touch-depot-yard-search.component.css","./src/app/visbos-touch-client/ui/touch-depot-yard-search/touch-depot-yard-search.component.html","./src/app/visbos-touch-client/ui/touch-depot-yard-search/touch-depot-yard-search.component.ts","./src/app/visbos-touch-client/ui/touch-fill-up/touch-fill-up-depot-selection/touch-fill-up-depot-selection.component.css","./src/app/visbos-touch-client/ui/touch-fill-up/touch-fill-up-depot-selection/touch-fill-up-depot-selection.component.html","./src/app/visbos-touch-client/ui/touch-fill-up/touch-fill-up-depot-selection/touch-fill-up-depot-selection.component.ts","./src/app/visbos-touch-client/ui/touch-fill-up/touch-fill-up-wizard/touch-fill-up-wizard.component.css","./src/app/visbos-touch-client/ui/touch-fill-up/touch-fill-up-wizard/touch-fill-up-wizard.component.html","./src/app/visbos-touch-client/ui/touch-fill-up/touch-fill-up-wizard/touch-fill-up-wizard.component.ts","./src/app/visbos-touch-client/ui/touch-marriage/touch-marriage-wizzard/touch-marriage-wizzard.component.css","./src/app/visbos-touch-client/ui/touch-marriage/touch-marriage-wizzard/touch-marriage-wizzard.component.html","./src/app/visbos-touch-client/ui/touch-marriage/touch-marriage-wizzard/touch-marriage-wizzard.component.ts","./src/app/visbos-touch-client/ui/touch-scan/scan-consumer/scan-consumer.component.css","./src/app/visbos-touch-client/ui/touch-scan/scan-consumer/scan-consumer.component.html","./src/app/visbos-touch-client/ui/touch-scan/scan-consumer/scan-consumer.component.ts","./src/app/visbos-touch-client/ui/touch-scan/scan-stocks/scan-stocks.component.css","./src/app/visbos-touch-client/ui/touch-scan/scan-stocks/scan-stocks.component.html","./src/app/visbos-touch-client/ui/touch-scan/scan-stocks/scan-stocks.component.ts","./src/app/visbos-touch-client/ui/touch-scan/touch-scan-wizard/touch-scan-wizard.service.ts","./src/app/visbos-touch-client/ui/touch-scan/touch-scan.component.css","./src/app/visbos-touch-client/ui/touch-scan/touch-scan.component.html","./src/app/visbos-touch-client/ui/touch-scan/touch-scan.component.ts","./src/app/visbos-touch-client/ui/touch-stocktaking/stocktaking-wizard/stocktaking-wizard.component.css","./src/app/visbos-touch-client/ui/touch-stocktaking/stocktaking-wizard/stocktaking-wizard.component.html","./src/app/visbos-touch-client/ui/touch-stocktaking/stocktaking-wizard/stocktaking-wizard.component.ts","./src/app/visbos-touch-client/ui/touch-stocktaking/touch-init-medicine-stocktaking/touch-init-medicine-stocktaking.component.css","./src/app/visbos-touch-client/ui/touch-stocktaking/touch-init-medicine-stocktaking/touch-init-medicine-stocktaking.component.html","./src/app/visbos-touch-client/ui/touch-stocktaking/touch-init-medicine-stocktaking/touch-init-medicine-stocktaking.component.ts","./src/app/visbos-touch-client/ui/touch-stocktaking/touch-stocktaking-menu/touch-stocktaking-menu.component.css","./src/app/visbos-touch-client/ui/touch-stocktaking/touch-stocktaking-menu/touch-stocktaking-menu.component.html","./src/app/visbos-touch-client/ui/touch-stocktaking/touch-stocktaking-menu/touch-stocktaking-menu.component.ts","./src/app/visbos-touch-client/ui/touch-stocktaking/touch-stocktaking-menu/touch-stocktaking.menu.ts","./src/app/visbos-touch-client/ui/touch-stocktaking/touch-stocktaking.service.ts","./src/app/visbos-touch-client/ui/touch-warehousing/components/manual-warehousing-articles/manual-warehousing-articles.component.css","./src/app/visbos-touch-client/ui/touch-warehousing/components/manual-warehousing-articles/manual-warehousing-articles.component.html","./src/app/visbos-touch-client/ui/touch-warehousing/components/manual-warehousing-articles/manual-warehousing-articles.component.ts","./src/app/visbos-touch-client/ui/touch-warehousing/components/manual-warehousing-data/manual-warehousing-data.component.css","./src/app/visbos-touch-client/ui/touch-warehousing/components/manual-warehousing-data/manual-warehousing-data.component.html","./src/app/visbos-touch-client/ui/touch-warehousing/components/manual-warehousing-data/manual-warehousing-data.component.ts","./src/app/visbos-touch-client/ui/touch-warehousing/manual-warehousing.service.ts","./src/app/visbos-touch-client/ui/touch-warehousing/manual-warehousing/manual-warehousing.component.css","./src/app/visbos-touch-client/ui/touch-warehousing/manual-warehousing/manual-warehousing.component.html","./src/app/visbos-touch-client/ui/touch-warehousing/manual-warehousing/manual-warehousing.component.ts","./src/app/visbos-touch-client/ui/vtouch/redirect-to-vtouch/redirect-to-vtouch.component.css","./src/app/visbos-touch-client/ui/vtouch/redirect-to-vtouch/redirect-to-vtouch.component.html","./src/app/visbos-touch-client/ui/vtouch/redirect-to-vtouch/redirect-to-vtouch.component.ts","./src/app/visbos-touch-client/visbos-touch-client.component.css","./src/app/visbos-touch-client/visbos-touch-client.component.html","./src/app/visbos-touch-client/visbos-touch-client.component.ts","./src/app/visbos-touch-client/visbos-touch-client.module.ts","./src/app/visbos-touch-client/visbos-touch-client.routes.ts","./src/app/visbos.component.css","./src/app/visbos.component.html","./src/app/visbos.component.ts","./src/app/visbos.module.ts","./src/environments/environment.ts","./src/main.ts","./src/polyfills.ts","./locale-data/complete.js (ignored)"],"names":[],"mappings":"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;;;;;;;;;;;;;;;;;;;;;;;ACtBI;AACM;AACyB;AACN;AACoB;AACd;AACW;AAC1B;AACD;AACO;AACoB;AAC2B;AACpB;AAC0B;AACH;AACpC;AACM;AACA;AACA;AACrC;AACe;AACkB;AACG;AACM;AACI;AACtB;AACG;AACW;AAC0B;AACpC;AACsB;AACA;AAC4C;AACE;AACzD;AACA;AACuB;AACvB;AAC6B;AACrB;AACxC;AAC6B;AACgE;AACzD;AAC3B;AAC8D;AAC1C;AACL;AACyB;AACb;AACE;AACA;AACd;AAChB;AACH;AACQ;AACnB;AACW;AACwB;AACrB;AACW;AACoC;AACd;AACsB;AACtB;AAChB;AAC+C;AACnB;AAC7B;AACM;AACuD;AACD;AAC1C;AACc;AACrB;AACsC;AACxB;AACF;AACuB;AAC3C;AACb;AACgB;AACc;AACR;AACoB;AACA;AACc;AACZ;AACtB;AACuB;AACgB;AACjB;AACN;AACrD;AAC+D;AAC3B;AACyC;AAC1B;AACS;AACJ;AACnB;AACG;AACe;AACc;AACD;AAChB;AACb;AACyC;AACA;AAC7E;AAC6E;AACnC;AAClB;AACmC;AACO;AACzC;AACgC;AACd;AACW;AACrB;AACoC;AACnB;AACL;AACgB;AACyB;AACZ;AACT;AACM;AACH;AACZ;AACC;AAC1B;AACiB;AACA;AACD;AACuD;AACpC;AACc;AAC9D;AACgC;AAC0B;AACvB;AACT;AACsB;AACT;AACjB;AAC3B;AACb;AAC4E;AACU;AACN;AACkB;AACZ;AACrB;AACrB;AACf;AACoE;AACZ;AACjB;AACT;AACnC;AACW;AAiC1F;IAAA;IACA,CAAC;IADY,qBAAqB;QA/BjC,+DAAQ,CAAC;YACR,OAAO,EAAE;gBACP,6DAAY,EAAE,2DAAW,EAAE,mEAAmB,EAAE,8DAAY,EAAE,uGAAuB;gBACrF,mEAAS,EAAE,kFAAc,EAAE,8FAAkB,EAAE,+EAAa,EAAE,yEAAW;gBACzE,+FAAgB;gBAChB,mEAAW,CAAC,OAAO,EAAE;gBACrB,uEAAe,CAAC,OAAO,EAAE;gBACzB,oEAAa;gBACb,uEAA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","file":"main.bundle.js","sourcesContent":["function webpackEmptyAsyncContext(req) {\n\t// Here Promise.resolve().then() is used instead of new Promise() to prevent\n\t// uncatched exception popping up in devtools\n\treturn Promise.resolve().then(function() {\n\t\tthrow new Error(\"Cannot find module '\" + req + \"'.\");\n\t});\n}\nwebpackEmptyAsyncContext.keys = function() { return []; };\nwebpackEmptyAsyncContext.resolve = webpackEmptyAsyncContext;\nmodule.exports = webpackEmptyAsyncContext;\nwebpackEmptyAsyncContext.id = \"./src/$$_lazy_route_resource lazy recursive\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/$$_lazy_route_resource lazy\n// module id = ./src/$$_lazy_route_resource lazy recursive\n// module chunks = main","module.exports = \"\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/admin/admin-module.component.css\n// module id = ./src/app/admin/admin-module.component.css\n// module chunks = main","module.exports = \"\\r\\n
\\r\\n
\\r\\n

Administration

\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n \\r\\n\\r\\n
\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/admin/admin-module.component.html\n// module id = ./src/app/admin/admin-module.component.html\n// module chunks = main","import {Component, OnInit} from '@angular/core';\r\nimport {hasPermissionTo} from \"../core/visbos-core/authorization/guards/has-permission-to.guard\";\r\nimport {NgRedux} from \"@angular-redux/store\";\r\nimport {IAppState} from \"../shared/redux-store/store\";\r\n\r\n@Component({\r\n selector: 'vb-admin-module',\r\n templateUrl: './admin-module.component.html',\r\n styleUrls: ['./admin-module.component.css']\r\n})\r\nexport class AdminModuleComponent implements OnInit {\r\n\r\n constructor(private ngRx: NgRedux) {\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n hasPermissionToMigrate() {\r\n return hasPermissionTo(this.ngRx, 'migrate eStore');\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/admin/admin-module.component.ts","import {Routes} from \"@angular/router\";\r\nimport {AdminAuthorizedGuard} from \"./guards/admin-authorized.guard\";\r\nimport {UserListViewComponent} from \"./views/user-list-view/user-list-view.component\";\r\nimport {AdminModuleComponent} from \"./admin-module.component\";\r\nimport {EStoreMigrationViewComponent} from \"./views/e-store-migration-view/e-store-migration-view.component\";\r\nimport {EStoreMigrationGuard} from \"./guards/estore-migration.guard\";\r\n\r\nexport const adminRoutes: Routes = [\r\n {\r\n path: 'administration',\r\n component: AdminModuleComponent,\r\n canActivate: [AdminAuthorizedGuard],\r\n children: [\r\n {\r\n path: '',\r\n canActivateChild: [AdminAuthorizedGuard],\r\n children: [\r\n {\r\n path: 'benutzer',\r\n component: UserListViewComponent\r\n },\r\n {\r\n path: 'estore-migration',\r\n component: EStoreMigrationViewComponent,\r\n canActivate: [EStoreMigrationGuard]\r\n },\r\n {\r\n path: '',\r\n redirectTo: 'benutzer',\r\n pathMatch: 'full'\r\n },\r\n ]\r\n }\r\n ]\r\n }\r\n];\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/admin/admin-routing.ts","import {NgModule} from '@angular/core';\r\nimport {CommonModule} from '@angular/common';\r\nimport {AdminModuleComponent} from './admin-module.component';\r\nimport {AdminAuthorizedGuard} from \"./guards/admin-authorized.guard\";\r\nimport {UserListViewComponent} from \"./views/user-list-view/user-list-view.component\";\r\nimport {VisbosCoreModule} from \"../core/visbos-core/visbos-core.module\";\r\nimport {CRMModule} from \"../crm/crm.module\";\r\nimport {FormsModule, ReactiveFormsModule} from \"@angular/forms\";\r\nimport {RouterModule} from \"@angular/router\";\r\nimport {UserListComponent} from './components/user-list/user-list.component';\r\nimport {EStoreMigrationViewComponent} from './views/e-store-migration-view/e-store-migration-view.component';\r\nimport {AutoCompleteModule} from \"primeng/primeng\";\r\nimport {OrganizationModule} from \"../organization/organization.module\";\r\nimport {EStoreMigrationGuard} from \"./guards/estore-migration.guard\";\r\nimport {StoreManagementModule} from \"../store-management/store-management.module\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule, RouterModule, FormsModule, ReactiveFormsModule,\r\n AutoCompleteModule,\r\n VisbosCoreModule, CRMModule, OrganizationModule, StoreManagementModule\r\n ],\r\n providers: [AdminAuthorizedGuard, EStoreMigrationGuard],\r\n declarations: [AdminModuleComponent, UserListViewComponent, UserListComponent, EStoreMigrationViewComponent]\r\n})\r\nexport class AdminModule {\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/admin/admin.module.ts","module.exports = \"\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/admin/components/user-list/user-list.component.css\n// module id = ./src/app/admin/components/user-list/user-list.component.css\n// module chunks = main","module.exports = \"\\r\\n\\r\\n\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/admin/components/user-list/user-list.component.html\n// module id = ./src/app/admin/components/user-list/user-list.component.html\n// module chunks = main","import {ChangeDetectorRef, Component, Input, OnChanges, OnInit, SimpleChanges, ViewChild} from '@angular/core';\r\nimport {AbstractListView} from \"../../../core/visbos-core/ui/components/abstract-list-view\";\r\nimport {DatatableComponent} from \"../../../core/visbos-core/ui/components/datatable/datatable.component\";\r\nimport {SessionActions} from \"../../../shared/actions\";\r\nimport {IUser} from \"../../../shared/redux-store/session/session.types\";\r\nimport {FormBuilder, FormControl, FormGroup} from \"@angular/forms\";\r\nimport {GenericModalComponent} from \"../../../core/visbos-core/ui/forms/generic-modal/generic-modal.component\";\r\nimport {UserFormComponent} from \"../../../crm/components/user-form/user-form.component\";\r\nimport {UserService} from \"../../../crm/user/user.service\";\r\nimport {MessageType} from \"../../../shared/redux-store/session\";\r\nimport {debounceTime, distinctUntilChanged} from \"rxjs/operators\";\r\n\r\n@Component({\r\n selector: 'vb-user-list',\r\n templateUrl: './user-list.component.html',\r\n styleUrls: ['./user-list.component.css']\r\n})\r\nexport class UserListComponent extends AbstractListView implements OnInit, OnChanges {\r\n\r\n @ViewChild('usersTable')\r\n usersTable: DatatableComponent;\r\n\r\n @ViewChild('userModal')\r\n userModal: GenericModalComponent;\r\n\r\n @Input()\r\n userList: IUser[];\r\n\r\n currentUserItem: IUser;\r\n currentUserControl: FormGroup = UserFormComponent.initControl(this.fb);\r\n\r\n constructor(sessionActions: SessionActions, cd: ChangeDetectorRef,\r\n private fb: FormBuilder, private userService: UserService) {\r\n super(sessionActions, cd);\r\n }\r\n\r\n\r\n ngOnInit() {\r\n\r\n this.columns = [\r\n {prop: 'email', name: 'Benutzer', flexGrow: 2},\r\n {prop: 'name', name: 'Name', flexGrow: 2},\r\n {prop: 'pre_name', name: 'Vorname', flexGrow: 2},\r\n //{prop: 'administration_unit.label', name: 'Verwaltungseinheit', flexGrow: 2},\r\n ];\r\n\r\n this.searchTerm = new FormControl();\r\n\r\n this.dataSubscriptions.push(\r\n this.searchTerm.valueChanges.pipe(\r\n distinctUntilChanged(),\r\n debounceTime(500)\r\n ).subscribe((term: any) => this.filterItems(term))\r\n );\r\n\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n if (changes.userList && this.userList) {\r\n this.rows = this.userList;\r\n }\r\n }\r\n\r\n filterItems(searchTerm) {\r\n if (!searchTerm || searchTerm == \"\") {\r\n this.rows = this.userList;\r\n } else {\r\n if (this.userList) {\r\n this.rows = this.userList.filter((si: any) => this.findStringInTable(si, this.columns, searchTerm));\r\n }\r\n }\r\n }\r\n\r\n onCellUpdate(row, res, index) {\r\n\r\n }\r\n\r\n rowFormat(row) {\r\n\r\n let cls = {};\r\n\r\n cls['pinned-down'] = row.is_deactivated;\r\n cls['deactivated'] = row.is_deactivated;\r\n\r\n return cls;\r\n }\r\n\r\n onEditUserClicked(user: IUser) {\r\n this.currentUserItem = user;\r\n this.currentUserControl = UserFormComponent.initControl(this.fb);\r\n this.userModal.show();\r\n }\r\n\r\n saveUser() {\r\n this.dataSubscriptions.push(this.userService.updateUser(this.currentUserItem.cuid, this.currentUserControl.value)\r\n .subscribe(\r\n res => this.sessionActions.pushMessage(\"Benutzerdaten erfolgreich atkualisiert\", MessageType.SUCCESS),\r\n err => this.sessionActions.throwError(err, \"Fehler beim Aktualisieren des Benutzers!\")\r\n ));\r\n }\r\n\r\n deleteUser(user: IUser) {\r\n this.dataSubscriptions.push(this.userService.deleteUser(user.cuid).subscribe(\r\n res => this.sessionActions.pushMessage(\"Benutzerdaten erfolgreich gelöscht\", MessageType.SUCCESS),\r\n err => this.sessionActions.throwError(err, \"Fehler beim Löschen des Benutzers!\")\r\n ));\r\n }\r\n\r\n onResetPasswordClicked(user: IUser) {\r\n this.dataSubscriptions.push(this.userService.resetPasswordForUser(user.cuid).subscribe(\r\n res => this.sessionActions.pushMessage(\"Password zurückgesetzt. Der Benutzer wurde über sein neues Password per E-Mail informiert.\", MessageType.SUCCESS),\r\n err => this.sessionActions.throwError(err, \"Fehler beim Zurücksetzen des Passworts!\")\r\n ));\r\n }\r\n\r\n reactivateUserAccount(user: IUser) {\r\n this.dataSubscriptions.push(\r\n this.userService.reactivateUserAccount(user.cuid, user.email).subscribe(\r\n res => this.sessionActions.pushMessage(\"Benutzer-Account wurde erfolgreich reactiviert!\", MessageType.SUCCESS),\r\n err => this.sessionActions.throwError(err, \"Fehler beim Re-Aktivieren des Benutzer-Accounts!\")\r\n )\r\n );\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/admin/components/user-list/user-list.component.ts","import {Injectable} from \"@angular/core\";\r\nimport {ActivatedRouteSnapshot, CanActivate, CanActivateChild, Router, RouterStateSnapshot} from \"@angular/router\";\r\nimport {NgRedux} from \"@angular-redux/store\";\r\nimport {Observable} from \"rxjs/Observable\";\r\nimport {IUser} from \"../../shared/redux-store/session/session.types\";\r\nimport {IAppState} from \"../../shared/redux-store/store\";\r\nimport {VisBosGuard} from \"../../core/visbos-core/authorization/guards/visbos.guard\";\r\nimport {SessionActions} from \"../../shared/actions/session.actions\";\r\n\r\n@Injectable()\r\nexport class AdminAuthorizedGuard extends VisBosGuard implements CanActivate, CanActivateChild {\r\n\r\n constructor(router: Router, siActions: SessionActions, ngRx: NgRedux) {\r\n super(router, siActions, ngRx);\r\n }\r\n\r\n canActivate(childRoute: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable | Promise | boolean {\r\n let user: IUser = this.ngRx.getState().session.user;\r\n\r\n if (user.permissions.find(perm => perm === 'access admin module')) {\r\n return true;\r\n } else {\r\n this.onAccessError();\r\n return false;\r\n }\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/admin/guards/admin-authorized.guard.ts","import {Injectable} from \"@angular/core\";\r\nimport {ActivatedRouteSnapshot, CanActivate, CanActivateChild, Router, RouterStateSnapshot} from \"@angular/router\";\r\nimport {NgRedux} from \"@angular-redux/store\";\r\nimport {Observable} from \"rxjs/Observable\";\r\nimport {IUser} from \"../../shared/redux-store/session/session.types\";\r\nimport {IAppState} from \"../../shared/redux-store/store\";\r\nimport {VisBosGuard} from \"../../core/visbos-core/authorization/guards/visbos.guard\";\r\nimport {SessionActions} from \"../../shared/actions/session.actions\";\r\nimport {hasPermissionTo} from \"../../core/visbos-core/authorization/guards/has-permission-to.guard\";\r\n\r\n@Injectable()\r\nexport class EStoreMigrationGuard extends VisBosGuard implements CanActivate, CanActivateChild {\r\n\r\n constructor(router: Router, siActions: SessionActions, ngRx: NgRedux) {\r\n super(router, siActions, ngRx);\r\n }\r\n\r\n canActivate(childRoute: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable | Promise | boolean {\r\n return hasPermissionTo(this.ngRx, 'migrate eStore');\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/admin/guards/estore-migration.guard.ts","import { Injectable } from '@angular/core';\r\nimport gql from \"graphql-tag\";\r\nimport {stockFragments} from \"../../store-management/services/stock.service\";\r\n\r\nexport const fetchEStoreArticles = gql`\r\n query FetchEStoreArticles($locID:String!, $onlyUnprocessed:Boolean = true) {\r\n eStoreArticles(locationId:$locID, onlyUnprocessed:$onlyUnprocessed) {\r\n id, standort_id, ean, beschreibung\r\n migration_entry @skip(if: $onlyUnprocessed) {\r\n id, e_store_id, e_store_standort_id \r\n do_not_migrate\r\n administration_unit {cuid label}\r\n stock_item {cuid label administration_unit {cuid label}}\r\n depot {cuid label} \r\n depot_yard {cuid label}\r\n }\r\n }\r\n }\r\n`;\r\n\r\nexport const createMigrationEntry = gql`\r\n mutation CreateMigrationEntry($input:EStoreMigrationEntryInput!) {\r\n createMigrationEntry(input:$input) {\r\n id, e_store_id, e_store_standort_id\r\n do_not_migrate\r\n administration_unit {cuid label}\r\n stock_item {cuid label administration_unit {cuid label}}\r\n depot {cuid label}\r\n depot_yard {cuid label}\r\n }\r\n }\r\n`;\r\n\r\nexport const deleteMigrationEntry = gql`\r\n mutation DeleteMigrationEntry($id: Int!) {\r\n deleteMigrationEntry(id: $id)\r\n }\r\n`;\r\n\r\nexport const runEStoreMigration = gql`\r\n mutation RunEStoreMigration($eStoreLocationId:Int!, $visbosAdminUnitCuid:String!) {\r\n runEStoreMigration(eStoreLocationId:$eStoreLocationId, visbosAdminUnitCuid:$visbosAdminUnitCuid) {\r\n ...StockDetailFields\r\n }\r\n }\r\n ${stockFragments.stock}\r\n`;\r\n\r\nexport const autoAssignArticles = gql`\r\n mutation AutoAssignArticles($eStoreLocationId:Int!, $vbDepotCuid:String!) {\r\n autoAssignArticles(eStoreLocationId: $eStoreLocationId, vbDepotCuid: $vbDepotCuid) {\r\n id, e_store_id, e_store_standort_id\r\n stock_item {\r\n cuid label\r\n products {\r\n cuid label\r\n packings {\r\n cuid label article_number\r\n }\r\n }\r\n }\r\n }\r\n }\r\n`;\r\n\r\n@Injectable()\r\nexport class EStoreMigrationService {\r\n\r\n constructor() { }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/admin/services/e-store-migration.service.ts","module.exports = \"\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/admin/views/e-store-migration-view/e-store-migration-view.component.css\n// module id = ./src/app/admin/views/e-store-migration-view/e-store-migration-view.component.css\n// module chunks = main","module.exports = \"\\r\\n\\r\\n
eStore+ Migration nach VisBOS
\\r\\n\\r\\n
\\r\\n\\r\\n

Allgemeine Angaben

\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n

Artikelliste und Zuordnung zu VisBOS

\\r\\n\\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n\\r\\n\\r\\n\\r\\n \\r\\n\\r\\n \\r\\n {{stock?.label}} ({{stock?.administration_unit?.label}})\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n {{metaDataEntries?.get(row.id)?.migration_entry.stock_item?.administration_unit?.label}}
\\r\\n {{metaDataEntries?.get(row.id)?.migration_entry.stock_item?.label}}\\r\\n \\r\\n\\r\\n
\\r\\n\\r\\n\\r\\n \\r\\n\\r\\n\\r\\n\\r\\n\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n {{metaDataEntries?.get(row.id)?.migration_entry.depot?.label}}
\\r\\n {{metaDataEntries?.get(row.id)?.migration_entry.depot_yard?.label}}\\r\\n \\r\\n\\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n\\r\\n\\r\\n\\r\\n\\r\\n

Migration entries: {{getMigrationentriesAsArray() | json}}

\\r\\n
\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/admin/views/e-store-migration-view/e-store-migration-view.component.html\n// module id = ./src/app/admin/views/e-store-migration-view/e-store-migration-view.component.html\n// module chunks = main","import {ChangeDetectorRef, Component, OnInit, TemplateRef, ViewChild} from '@angular/core';\r\nimport {AbstractVisbosComponent} from \"../../../core/visbos-core/components/abstract-visbos.component\";\r\nimport {Apollo, ApolloQueryObservable} from \"apollo-angular\";\r\nimport {FormBuilder, FormGroup, Validators} from \"@angular/forms\";\r\nimport {GenericModalComponent} from \"../../../core/visbos-core/ui/forms/generic-modal/generic-modal.component\";\r\nimport {SessionActions} from \"../../../shared/actions/session.actions\";\r\nimport {\r\n autoAssignArticles, createMigrationEntry, deleteMigrationEntry, fetchEStoreArticles,\r\n runEStoreMigration\r\n} from \"../../services/e-store-migration.service\";\r\nimport {\r\n CreateMigrationEntryMutation, FetchEStoreArticlesQuery,\r\n FindStockItemsQuery\r\n} from \"../../../shared/graphql/graphql.types\";\r\nimport * as _ from \"lodash\";\r\nimport {Subject} from \"rxjs/Subject\";\r\nimport {StockItem} from \"../../../shared/view-model/store-management/stock-item.type\";\r\nimport {StockItemService} from \"../../../store-management/services/stock-item-service/stock-item.service\";\r\nimport {AdministrationUnit} from \"../../../shared/view-model/organization/administration-unit.type\";\r\nimport {Depot} from \"../../../shared/view-model/store-management/depot.type\";\r\nimport {DepotService} from \"../../../store-management/services/depot-service/depot.service\";\r\nimport {DepotYard} from \"../../../shared/view-model/store-management/depot-yard.type\";\r\nimport {MessageType} from \"../../../shared/redux-store/session/session.types\";\r\nimport {StockItemFormComponent} from \"../../../store-management/stock-item/stock-item-form/stock-item-form.component\";\r\n\r\n@Component({\r\n selector: 'vb-e-store-migration-view',\r\n templateUrl: './e-store-migration-view.component.html',\r\n styleUrls: ['./e-store-migration-view.component.css']\r\n})\r\nexport class EStoreMigrationViewComponent extends AbstractVisbosComponent implements OnInit {\r\n\r\n @ViewChild('selectArticleTmpl')\r\n private selectArticleTmpl: TemplateRef;\r\n\r\n @ViewChild('migrateTmpl')\r\n private migrateTmpl: TemplateRef;\r\n\r\n @ViewChild('selectDepotTmpl')\r\n private selectDepotTmpl: TemplateRef;\r\n\r\n private eStoreArticles$: ApolloQueryObservable;\r\n private _eStoreArticles: any[] = [];\r\n\r\n private depots$: ApolloQueryObservable;\r\n depots: Depot[] = [];\r\n\r\n private depotYards$: ApolloQueryObservable;\r\n depotYards: DepotYard[] = [];\r\n\r\n columns = [];\r\n\r\n migrationDataControl: FormGroup;\r\n\r\n newArticleControl: FormGroup;\r\n\r\n migrationEntries: Map = new Map();\r\n metaDataEntries: Map = new Map();\r\n\r\n runMigrationDisabledProxy = () => this.migrationDataControl.invalid;\r\n\r\n actions = [\r\n {\r\n icon: 'fa-plus',\r\n label: 'Neuer Artikel',\r\n action: () => this.showNewStockItemModal.apply(this),\r\n helpText: 'Einen neuen Artikel anlegen'\r\n },\r\n {\r\n icon: 'fa-arrow-right',\r\n label: 'VisBOS-Artikel automatisch zuweisen',\r\n action: () => this.onAutoAssignArticles.apply(this),\r\n helpText: 'Soweit möglich werden den eStore-Artikeln Artikel aus VisBOS automatisch zugewiesen (Abgleich über Artikelnummer)'\r\n },\r\n {\r\n icon: 'fa-forward',\r\n label: 'Migration durchführen',\r\n action: () => this.onRunMigration.apply(this),\r\n helpText: 'Alle zugeordneten Artikel aus eStore nach VisBOS migrieren',\r\n disabled: () => this.runMigrationDisabledProxy.apply(this)\r\n }\r\n ];\r\n\r\n @ViewChild('stockItemModal')\r\n stockItemModal: GenericModalComponent;\r\n\r\n constructor(sessionActions: SessionActions, cd: ChangeDetectorRef,\r\n private stockItemService: StockItemService,\r\n private depotService: DepotService,\r\n private apollo: Apollo,\r\n private fb: FormBuilder) {\r\n super(sessionActions, cd);\r\n }\r\n\r\n private searchToken$: Subject = new Subject();\r\n currentSuggestions = [];\r\n\r\n private stockItemSearch$: ApolloQueryObservable;\r\n\r\n ngOnInit() {\r\n super.ngOnInit();\r\n\r\n this.columns = [\r\n //{prop: 'ean', name: 'EAN', flexGrow: 1},\r\n {prop: 'beschreibung', name: 'eStore+ Artikel', flexGrow: 3, frozenLeft: true},\r\n {name: 'Ausschließen', cellTemplate: this.migrateTmpl, sortable: false, flexGrow: 1},\r\n {name: 'VisBOS Artikel', cellTemplate: this.selectArticleTmpl, sortable: false, flexGrow: 3},\r\n {name: 'Lager', cellTemplate: this.selectDepotTmpl, sortable: false, flexGrow: 3},\r\n ];\r\n\r\n this.migrationDataControl = this.fb.group({\r\n location_id: [null, Validators.required],\r\n administration_unit_id: [null, Validators.required],\r\n depot_id: [null, Validators.required],\r\n only_unprocessed: [null]\r\n });\r\n\r\n this.eStoreArticles$ = this.apollo.watchQuery({\r\n query: fetchEStoreArticles,\r\n variables: {\r\n locID: this.migrationDataControl.get('location_id').valueChanges,\r\n onlyUnprocessed: this.migrationDataControl.get('only_unprocessed').valueChanges\r\n }\r\n });\r\n\r\n this.addComponentData(this.eStoreArticles$);\r\n this.dataSubscriptions.push(this.eStoreArticles$.subscribe(res => this.eStoreArticles = res.data.eStoreArticles));\r\n\r\n this.migrationDataControl.patchValue({\r\n location_id: 1,\r\n only_unprocessed: true\r\n });\r\n\r\n this.stockItemSearch$ = this.stockItemService.findStockItems(this.searchToken$);\r\n this.addComponentData(this.stockItemSearch$);\r\n this.dataSubscriptions.push(this.stockItemSearch$.subscribe(res => this.currentSuggestions = res.data.findStockItems));\r\n\r\n this.depots$ = this.depotService.getDepotsList(this.migrationDataControl.get('administration_unit_id').valueChanges);\r\n this.addComponentData(this.depots$);\r\n this.dataSubscriptions.push(this.depots$.subscribe((depots: any) => this.depots = depots));\r\n\r\n this.depotYards$ = this.depotService.getDepotYards(this.migrationDataControl.get('depot_id').valueChanges);\r\n this.addComponentData(this.depotYards$);\r\n this.dataSubscriptions.push(this.depotYards$.subscribe((yards: any) => this.depotYards = yards));\r\n\r\n }\r\n\r\n public showNewStockItemModal() {\r\n this.newArticleControl = StockItemFormComponent.initControl(this.fb);\r\n this.stockItemModal.show();\r\n }\r\n\r\n public saveStockItem() {\r\n this.stockItemService.createStockItem(this.newArticleControl.value).toPromise()\r\n .then(res => this.sessionActions.pushMessage(\"Artikel angelegt!\", MessageType.SUCCESS))\r\n .catch(err => this.sessionActions.throwError(err, \"Fehler beim Anlegen des Artikels!\"));\r\n }\r\n\r\n getMigrationentriesAsArray() {\r\n return _.toArray(this.migrationEntries.values());\r\n }\r\n\r\n searchStockItem(event) {\r\n\r\n if (!event || !event.query || event.query == '') {\r\n return;\r\n }\r\n\r\n this.searchToken$.next(event.query);\r\n\r\n }\r\n\r\n onAdminUnitSelected(adminUnit: AdministrationUnit) {\r\n this.migrationEntries.forEach(e => e.administration_unit_cuid = adminUnit.cuid);\r\n this.migrationDataControl.get('depot_id').reset();\r\n }\r\n\r\n onDepotSelected(depot?: Depot) {\r\n this.migrationEntries.forEach(e => {\r\n e.depot_cuid = depot ? depot.cuid : null;\r\n e.depot_yard_cuid = null;\r\n });\r\n }\r\n\r\n onDepotYardSelected(row, depotYard?: DepotYard) {\r\n this.migrationEntries.get(row.id).depot_yard_cuid = depotYard ? depotYard.cuid : null;\r\n }\r\n\r\n onStockItemSelect(row, stockItem?: StockItem) {\r\n this.migrationEntries.get(row.id).stock_item_cuid = stockItem ? stockItem.cuid : null;\r\n }\r\n\r\n onStockItemClear(row) {\r\n this.migrationEntries.get(row.id).stock_item_cuid = null;\r\n }\r\n\r\n onEntrySave(row) {\r\n this.metaDataEntries.get(row.id).stored = true;\r\n this.apollo.mutate({\r\n mutation: createMigrationEntry,\r\n variables: {\r\n input: this.migrationEntries.get(row.id)\r\n }\r\n }).toPromise()\r\n .then(res => {\r\n console.info(\"Success!\");\r\n this.metaDataEntries.get(row.id).migration_entry = res.data.createMigrationEntry;\r\n })\r\n .catch(err => {\r\n this.sessionActions.throwError(err, \"Fehler beim Speichern der Migrations-Regel!\");\r\n this.metaDataEntries.get(row.id).stored = false;\r\n });\r\n }\r\n\r\n onEntryDelete(row) {\r\n this.metaDataEntries.get(row.id).stored = false;\r\n this.apollo.mutate({\r\n mutation: deleteMigrationEntry,\r\n variables: {\r\n id: this.metaDataEntries.get(row.id).migration_entry.id\r\n }\r\n }).toPromise()\r\n .then(res => {\r\n this.metaDataEntries.get(row.id).migration_entry = null;\r\n })\r\n .catch(err => {\r\n this.sessionActions.throwError(err, \"Fehler beim Löschen der Migrations-Regel!\");\r\n this.metaDataEntries.get(row.id).stored = true;\r\n });\r\n }\r\n\r\n onRunMigration() {\r\n\r\n this.sessionActions.pushMessage(\"Die Migration wird ausgeführt. Dieser Vorgang kann einige Minuten dauern. Sie werden nach dem Abschluss der Migration informiert!!\", MessageType.INFO, \"Migration eStore+ -> VisBOS\");\r\n\r\n this.apollo.mutate({\r\n mutation: runEStoreMigration,\r\n variables: {\r\n eStoreLocationId: this.migrationDataControl.get('location_id').value,\r\n visbosAdminUnitCuid: this.migrationDataControl.get('administration_unit_id').value\r\n }\r\n }).toPromise()\r\n .then(res => {\r\n this.sessionActions.pushMessage(\"Migration erfolgreich durchgeführt!\", MessageType.SUCCESS, \"Migration eStore+ -> VisBOS\");\r\n })\r\n .catch(err => {\r\n this.sessionActions.throwError(err, \"Fehler beim Speichern der Migrations-Regel!\");\r\n });\r\n }\r\n\r\n onAutoAssignArticles() {\r\n\r\n this.sessionActions.pushMessage(\"Die Artikel werden identifiziert und zugeordnet, dies kann einen Moment dauern!\", MessageType.INFO, \"Migration eStore+ -> VisBOS\");\r\n\r\n this.apollo.mutate({\r\n mutation: autoAssignArticles,\r\n variables: {\r\n eStoreLocationId: this.migrationDataControl.get('location_id').value,\r\n vbDepotCuid: this.migrationDataControl.get('depot_id').value\r\n }\r\n }).toPromise()\r\n .then(res => {\r\n this.sessionActions.pushMessage(\"Artikel wurden erfolgreich zugeordnet!\", MessageType.SUCCESS, \"Migration eStore+ -> VisBOS\");\r\n })\r\n .catch(err => {\r\n this.sessionActions.throwError(err, \"Fehler beim automatischen Zuweisen von Artikeln!\");\r\n });\r\n\r\n }\r\n\r\n set eStoreArticles(value: any[]) {\r\n this._eStoreArticles = value;\r\n this.initialized = false;\r\n this.migrationEntries = new Map();\r\n this.metaDataEntries = new Map();\r\n for (let article of value) {\r\n const newEntry = {\r\n e_store_id: article.id,\r\n e_store_standort_id: article.standort_id,\r\n do_not_migrate: article.migration_entry ? article.migration_entry.do_not_migrate : false,\r\n administration_unit_cuid: article.migration_entry && article.migration_entry.administration_unit ? article.migration_entry.administration_unit.cuid : this.migrationDataControl ? this.migrationDataControl.get('administration_unit_id').value : null,\r\n stock_item_cuid: (article.migration_entry && article.migration_entry.stock_item) ? article.migration_entry.stock_item.cuid : null,\r\n depot_cuid: (article.migration_entry && article.migration_entry.depot) ? article.migration_entry.depot.cuid : (this.migrationDataControl ? this.migrationDataControl.get('depot_id').value : null),\r\n depot_yard_cuid: (article.migration_entry && article.migration_entry.depot_yard) ? article.migration_entry.depot_yard.cuid : null,\r\n };\r\n const newSearchEntry = {\r\n stock_item_search: article.migration_entry ? article.migration_entry.stock_item : null,\r\n stored: article.migration_entry ? true : false,\r\n migration_entry: article.migration_entry ? article.migration_entry : null\r\n };\r\n this.migrationEntries.set(article.id, newEntry);\r\n this.metaDataEntries.set(article.id, newSearchEntry);\r\n }\r\n this.initialized = true;\r\n }\r\n\r\n get eStoreArticles(): any[] {\r\n return this._eStoreArticles;\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/admin/views/e-store-migration-view/e-store-migration-view.component.ts","module.exports = \"\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/admin/views/user-list-view/user-list-view.component.css\n// module id = ./src/app/admin/views/user-list-view/user-list-view.component.css\n// module chunks = main","module.exports = \"\\r\\n\\r\\n
Benutzerverwaltung
\\r\\n\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/admin/views/user-list-view/user-list-view.component.html\n// module id = ./src/app/admin/views/user-list-view/user-list-view.component.html\n// module chunks = main","import {ChangeDetectorRef, Component, OnInit, ViewChild} from '@angular/core';\r\nimport {SessionActions} from \"../../../shared/actions\";\r\nimport {AbstractVisbosComponent} from \"../../../core/visbos-core/components/abstract-visbos.component\";\r\nimport {UserService} from \"../../../crm/user/user.service\";\r\nimport {ApolloQueryObservable} from \"apollo-angular\";\r\nimport {IUser} from \"../../../shared/redux-store/session/session.types\";\r\nimport {GenericModalComponent} from \"../../../core/visbos-core/ui/forms/generic-modal/generic-modal.component\";\r\nimport {UserFormComponent} from \"../../../crm/components/user-form/user-form.component\";\r\nimport {FormBuilder, FormGroup} from \"@angular/forms\";\r\nimport {MessageType} from \"../../../shared/redux-store/session\";\r\n\r\n@Component({\r\n selector: 'vb-user-list-view',\r\n templateUrl: './user-list-view.component.html',\r\n styleUrls: ['./user-list-view.component.css']\r\n})\r\nexport class UserListViewComponent extends AbstractVisbosComponent implements OnInit {\r\n\r\n private users$: ApolloQueryObservable;\r\n public users: IUser[];\r\n\r\n currentUserControl: FormGroup;\r\n\r\n actions = [\r\n {\r\n icon: 'fa-plus',\r\n label: 'Neuer Benutzer',\r\n action: () => this.showAddUserModal.apply(this),\r\n helpText: 'Einen neuen Benutzer anlegen'\r\n }\r\n ];\r\n\r\n @ViewChild('userModal')\r\n userModal: GenericModalComponent;\r\n\r\n constructor(sessionActions: SessionActions, cd: ChangeDetectorRef,\r\n private userService: UserService, private fb: FormBuilder) {\r\n super(sessionActions, cd);\r\n }\r\n\r\n ngOnInit() {\r\n\r\n super.ngOnInit();\r\n\r\n this.users$ = this.userService.getUsers();\r\n this.addComponentData(this.users$);\r\n this.addSubscription(this.users$.subscribe(res => {\r\n this.users = res.data.fetchUsers;\r\n }));\r\n\r\n }\r\n\r\n public showAddUserModal() {\r\n this.currentUserControl = UserFormComponent.initControl(this.fb);\r\n this.userModal.show();\r\n }\r\n\r\n public saveUser() {\r\n this.userService.createUser(this.currentUserControl.value).toPromise()\r\n .then(res => {\r\n this.sessionActions.pushMessage(\"Benutzer erfolgreich angelegt!\", MessageType.SUCCESS, \"Benutzerverwaltung\");\r\n })\r\n .catch(err => this.sessionActions.throwError(err, \"Fehler beim Anlegen des Benutzers!\", \"Benutzerverwaltung\"));\r\n\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/admin/views/user-list-view/user-list-view.component.ts","export const SHOW_PARENTS_DEFAULT = true;\r\n\r\nexport const STORE_ORDER_LIMIT = 800.00;\r\n\r\nexport const vbConfig = {\r\n\r\n procurement: {\r\n autoSyncStocks: true,\r\n order: {\r\n default_title: 'Bestellung',\r\n default_opening: '

Sehr geehrte Damen und Herren,<\\/p>' +\r\n '

bitte bestellen Sie die aufgeführten Artikel auf die angegebene Kunden- und Kommissionsnummer.<\\/p>',\r\n default_ending: '

Mit freundlichen Grüßen

',\r\n }\r\n }\r\n\r\n};\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/configuration.ts","/**\r\n * Created by afuhr on 28.06.2017.\r\n */\r\n\r\n\r\nexport const FORM_ERROR_MESSAGES = {\r\n 'required': 'Eine Eingabe ist erforderlich!',\r\n 'matchPassword': 'Die Passwort-Wiederholung stimmt nicht mit dem neuen Passwort überein!',\r\n 'email': 'Bitte geben Sie eine gültige E-Mail-Adresse an!',\r\n 'decimal': 'Bitte geben Sie Zahlen als Dezimalzahl im Format \\'0,00\\' an'\r\n};\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/core/visbos-core/assets/form-error-messages.ts","import {Injectable} from \"@angular/core\";\r\nimport {Router} from \"@angular/router\";\r\nimport {NgRedux, select} from \"@angular-redux/store\";\r\nimport {AdministrationUnit} from \"../../../../shared/view-model/organization/administration-unit.type\";\r\nimport {IAppState} from \"../../../../shared/redux-store/store\";\r\nimport {isUndefined} from \"util\";\r\nimport {Observable} from \"rxjs/Observable\";\r\nimport {IUser} from \"../../../../shared/redux-store/session/session.types\";\r\nimport {IModel} from \"../../../../shared/view-model/imodel.interface\";\r\n\r\n@Injectable()\r\nexport class CanEditGuard {\r\n\r\n @select(['session', 'user'])\r\n private currentUser$: Observable;\r\n\r\n currentUser: IUser;\r\n\r\n constructor(private router: Router, private ngRx: NgRedux) {\r\n this.currentUser$.subscribe(user => this.currentUser = user);\r\n }\r\n\r\n public canEdit(model: IModel) {\r\n return model.is_editable;\r\n }\r\n\r\n private adminUnitAuthorized(adminUnitCuid: string, adminUnits?: AdministrationUnit[]): boolean {\r\n\r\n adminUnits = adminUnits ? adminUnits : (this.currentUser ? this.currentUser.administration_units : []);\r\n let au = adminUnits.find(au => au.cuid === adminUnitCuid);\r\n\r\n return !isUndefined(au);\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/core/visbos-core/authorization/guards/can-edit.guard.ts","import {Injectable} from \"@angular/core\";\r\nimport {NgRedux} from \"@angular-redux/store\";\r\nimport {IAppState} from \"../../../../shared/redux-store/store\";\r\nimport {isUndefined} from \"util\";\r\n\r\n@Injectable()\r\nexport class HasPermissionToGuard {\r\n\r\n constructor(private ngRx: NgRedux) {\r\n }\r\n\r\n hasPermissionTo(permission: string) {\r\n return hasPermissionTo(this.ngRx, permission);\r\n }\r\n\r\n}\r\n\r\nexport function hasPermissionTo(ngRx: NgRedux, permission: string): boolean {\r\n\r\n const user = ngRx.getState().session.user;\r\n\r\n if (!user) {\r\n return false;\r\n }\r\n\r\n return !isUndefined(user.permissions.find(p => p == permission));\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/core/visbos-core/authorization/guards/has-permission-to.guard.ts","import {Injectable} from \"@angular/core\";\r\nimport {ActivatedRouteSnapshot, CanActivate, CanActivateChild, Router, RouterStateSnapshot} from \"@angular/router\";\r\nimport {NgRedux} from \"@angular-redux/store\";\r\nimport {IAppState} from \"../../../../shared/redux-store/store\";\r\nimport {Observable} from \"rxjs/Observable\";\r\nimport {SessionActions} from \"../../../../shared/actions/session.actions\";\r\nimport {LOGIN_TO_TOUCH_CLIENT} from \"../../../../shared/auth/guards/api-permission\";\r\n\r\n@Injectable()\r\nexport class TouchAuthorizedGuard implements CanActivate, CanActivateChild {\r\n\r\n constructor(private router: Router, private siActions: SessionActions, private ngRx: NgRedux) {\r\n\r\n }\r\n\r\n canActivate(childRoute: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable | Promise | boolean {\r\n\r\n let loggedIn = false;\r\n\r\n try {\r\n loggedIn = this.ngRx.getState().session.loggedIn && this.ngRx.getState().session.user.permissions.indexOf(LOGIN_TO_TOUCH_CLIENT) >= 0;\r\n } catch (e) {\r\n console.error(e);\r\n }\r\n\r\n if (!loggedIn) {\r\n this.redirectToLogin(state);\r\n }\r\n\r\n return loggedIn;\r\n\r\n }\r\n\r\n canActivateChild(childRoute: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable | Promise | boolean {\r\n return this.canActivate(childRoute, state);\r\n }\r\n\r\n private redirectToLogin(state: RouterStateSnapshot): boolean {\r\n this.siActions.setRedirectUrl(null);\r\n this.router.navigate(['/login']);\r\n return false;\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/core/visbos-core/authorization/guards/touch-authorized.guard.ts","import {ActivatedRouteSnapshot, CanActivate, CanActivateChild, Router, RouterStateSnapshot} from \"@angular/router\";\r\nimport {NgRedux} from \"@angular-redux/store\";\r\nimport {IAppState} from \"../../../../shared/redux-store/store\";\r\nimport {SessionActions} from \"../../../../shared/actions/session.actions\";\r\nimport {Observable} from \"rxjs/Observable\";\r\nimport {MessageType} from \"../../../../shared/redux-store/session/session.types\";\r\n\r\nexport abstract class VisBosGuard implements CanActivate, CanActivateChild {\r\n\r\n constructor(protected router: Router, protected siActions: SessionActions, protected ngRx: NgRedux) {\r\n\r\n }\r\n\r\n public abstract canActivate(childRoute: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable | Promise | boolean;\r\n\r\n public canActivateChild(childRoute: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable | Promise | boolean {\r\n return this.canActivate(childRoute, state);\r\n }\r\n\r\n protected onAccessError() {\r\n this.siActions.pushMessage(\"Sie sind nicht berechtigt, die angeforderte Seite anzuzeigen!\", MessageType.ERROR, \"VisBOS\");\r\n //this.router.navigate(['']);\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/core/visbos-core/authorization/guards/visbos.guard.ts","import {\r\n AfterViewInit,\r\n ApplicationRef,\r\n ChangeDetectorRef,\r\n ComponentFactoryResolver,\r\n ComponentRef,\r\n Input,\r\n OnDestroy,\r\n OnInit,\r\n TemplateRef\r\n} from \"@angular/core\";\r\nimport {SessionActions} from \"../../../shared/actions/session.actions\";\r\nimport {ApolloQueryObservable} from \"apollo-angular\";\r\nimport {ApolloQueryResult} from \"apollo-client\";\r\nimport {select} from \"@angular-redux/store\";\r\nimport {Observable} from \"rxjs/Observable\";\r\nimport {IUser} from \"../../../shared/redux-store/session/session.types\";\r\nimport {GenericModalComponent} from \"../ui/forms/generic-modal/generic-modal.component\";\r\nimport {VisBosComponent} from \"../../../visbos.component\";\r\nimport {ActionBarAction} from \"../ui/navigation/action-bar/action-bar.component\";\r\nimport {AdministrationUnit} from \"../../../shared/view-model/organization/administration-unit.type\";\r\nimport {FormArray, FormGroup} from \"@angular/forms\";\r\nimport {Subscription} from \"rxjs/Subscription\";\r\n\r\n/**\r\n * Created by afuhr on 24.02.2017.\r\n */\r\n\r\nfunction isApolloQueryResult(object: any): object is ApolloQueryResult {\r\n return (>object) !== undefined;\r\n}\r\n\r\nexport abstract class AbstractVisbosComponent implements OnInit, AfterViewInit, OnDestroy {\r\n\r\n public initialized = false;\r\n\r\n actions: ActionBarAction[];\r\n\r\n @Input()\r\n isTouch: boolean = false;\r\n\r\n @select(['session', 'activeAdminUnit'])\r\n activeAdminUnitCuid$: Observable;\r\n activeAdminUnitCuid: string;\r\n\r\n @select(['session', 'activeAdminUnitData'])\r\n activeAdminUnit$: Observable;\r\n activeAdminUnit: AdministrationUnit;\r\n\r\n @select(['session', 'user'])\r\n currentUser$: Observable;\r\n currentUser: IUser;\r\n\r\n loadingIndicators: Map = new Map();\r\n isLoading: boolean = false;\r\n\r\n protected dataSubscriptions: Subscription[] = [];\r\n\r\n protected dataObservables: ApolloQueryObservable[] = [];\r\n\r\n constructor(protected sessionActions: SessionActions, protected cd: ChangeDetectorRef) {\r\n this.actions = [];\r\n\r\n this.dataSubscriptions.push(this.currentUser$.subscribe(user => {\r\n this.currentUser = user;\r\n if (this.cd && this.initialized) {\r\n //this.cd.detectChanges();\r\n }\r\n }));\r\n this.dataSubscriptions.push(this.activeAdminUnitCuid$.subscribe(au => {\r\n this.activeAdminUnitCuid = au;\r\n if (this.cd && this.initialized) {\r\n //this.cd.detectChanges();\r\n }\r\n }));\r\n this.dataSubscriptions.push(this.activeAdminUnit$.subscribe(au => {\r\n this.activeAdminUnit = au;\r\n if (this.cd && this.initialized) {\r\n //this.cd.detectChanges();\r\n }\r\n }));\r\n\r\n }\r\n\r\n ngOnInit(): void {\r\n\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.initialized = true;\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.initialized = false;\r\n //TODO: reactivate when apollo solves problem of failing refetches on unsubscribing from queries\r\n this.dataSubscriptions.forEach(sub => {\r\n //if (!(sub instanceof ApolloQueryObservable)) {\r\n if (sub && sub instanceof Subscription) {\r\n sub.unsubscribe();\r\n }\r\n //}\r\n });\r\n }\r\n\r\n addComponentData(data: ApolloQueryObservable) {\r\n this.dataObservables.push(data);\r\n\r\n if (!this.actions.find(a => a.label == 'Daten neu laden')) {\r\n this.actions = [{\r\n label: 'Daten neu laden',\r\n icon: 'fa-sync',\r\n action: () => this.reloadData.apply(this)\r\n }, ...this.actions];\r\n }\r\n\r\n }\r\n\r\n addSubscription(sub: Subscription) {\r\n this.dataSubscriptions.push(sub);\r\n }\r\n\r\n getComponentData(): ApolloQueryObservable[] {\r\n return this.dataObservables;\r\n }\r\n\r\n reloadData() {\r\n this.sessionActions.initAsyncAction();\r\n let id = 0;\r\n this.dataObservables.forEach(obs => {\r\n if (obs) {\r\n this.loadingIndicators.set('Q' + id, true);\r\n obs.refetch().then(res => {\r\n this.loadingIndicators.set('Q' + id, false);\r\n if (!this.isDataLoading()) {\r\n this.sessionActions.finishAsyncAction();\r\n }\r\n });\r\n }\r\n }, id);\r\n }\r\n\r\n isDataLoading(): boolean {\r\n let result = false;\r\n this.loadingIndicators.forEach((value, key) => {\r\n result = result || value;\r\n });\r\n return result;\r\n }\r\n\r\n resetComponent(): void {\r\n this.initialized = false;\r\n this.cd.detectChanges();\r\n this.initialized = true;\r\n this.cd.detectChanges();\r\n }\r\n\r\n /*protected createDynamicComponent(data: { component: any, inputs: any }, dynamicComponentContainer: ViewContainerRef, resolver: ComponentFactoryResolver) {\r\n\r\n if (!data) {\r\n return;\r\n }\r\n\r\n // Inputs need to be in the following format to be resolved properly\r\n let inputProviders = Object.keys(data.inputs).map((inputName) => {\r\n return {provide: inputName, useValue: data.inputs[inputName]};\r\n });\r\n let resolvedInputs = StaticInjector.create(inputProviders);\r\n\r\n // We create an injector out of the data we want to pass down and this components injector\r\n let injector = StaticInjector.fromResolvedProviders(resolvedInputs, dynamicComponentContainer.parentInjector);\r\n\r\n // We create a factory out of the component we want to create\r\n let factory = resolver.resolveComponentFactory(data.component);\r\n\r\n // We create the component using the factory and the injector\r\n let component = factory.create(injector);\r\n\r\n // We insert the component into the dom container\r\n dynamicComponentContainer.insert(component.hostView);\r\n\r\n console.info(\"Cmp\", [component]);\r\n\r\n return component;\r\n\r\n }*/\r\n\r\n protected destroyDynamicComponent(component) {\r\n if (component) {\r\n component.destroy();\r\n }\r\n }\r\n\r\n createModal(appRef: ApplicationRef, componentFactoryResolver: ComponentFactoryResolver, modalTemplate: TemplateRef, modalComponent: { new(cd?): GenericModalComponent }): ComponentRef {\r\n\r\n let rootViewRef = (appRef.components[0].instance as VisBosComponent).rootViewRef;\r\n let modal: GenericModalComponent;\r\n\r\n rootViewRef.clear();\r\n\r\n let dialogComponentFactory =\r\n componentFactoryResolver.resolveComponentFactory(modalComponent);\r\n let dialogComponentRef = rootViewRef.createComponent(dialogComponentFactory);\r\n\r\n modal = dialogComponentRef.instance;\r\n\r\n modal.mainContentTmpl = modalTemplate;\r\n modal.closed.subscribe(() => {\r\n dialogComponentRef.destroy();\r\n });\r\n\r\n dialogComponentRef.changeDetectorRef.detectChanges();\r\n\r\n return dialogComponentRef;\r\n }\r\n\r\n getFormGroupById(formArray: FormArray, id: string | number, idPath = 'cuid'): FormGroup {\r\n return AbstractVisbosComponent.getFormGroupById(formArray, id, idPath);\r\n }\r\n\r\n static getFormGroupById(formArray: FormArray, id: string | number, idPath = 'cuid'): FormGroup {\r\n if (!formArray) {\r\n return undefined;\r\n }\r\n for (let ctrl of formArray.controls) {\r\n if (ctrl instanceof FormGroup && ctrl.get(idPath) && ctrl.get(idPath).value === id) {\r\n return ctrl;\r\n }\r\n }\r\n return undefined;\r\n }\r\n\r\n static getFormGroupIndexById(formArray: FormArray, id: string | number, idPath = 'cuid'): number {\r\n let index = 0;\r\n for (let ctrl of formArray.controls) {\r\n if (ctrl instanceof FormGroup && ctrl.get(idPath) && ctrl.get(idPath).value === id) {\r\n return index;\r\n }\r\n index++;\r\n }\r\n return -1;\r\n }\r\n\r\n public static convertTypeName(typeName: string): string {\r\n switch (typeName) {\r\n case \"User\":\r\n return \"Benutzer\";\r\n case \"AdministrationUnit\":\r\n return \"Standort\";\r\n default:\r\n return typeName;\r\n }\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/core/visbos-core/components/abstract-visbos.component.ts","module.exports = \"\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/core/visbos-core/components/log-out/log-out.component.css\n// module id = ./src/app/core/visbos-core/components/log-out/log-out.component.css\n// module chunks = main","module.exports = \"
\\r\\n\\r\\n

Abmeldung

\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n

Sie werden bei VisBOS abgemeldet und anschließend zur Login-Seite weitergeleitet...!

\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/core/visbos-core/components/log-out/log-out.component.html\n// module id = ./src/app/core/visbos-core/components/log-out/log-out.component.html\n// module chunks = main","import {Component, OnInit} from '@angular/core';\r\nimport {Router} from \"@angular/router\";\r\nimport {Apollo} from \"apollo-angular\";\r\nimport {NgRedux} from \"@angular-redux/store\";\r\nimport {IAppState} from \"../../../../shared/redux-store/store\";\r\nimport {SessionActions} from \"../../../../shared/actions/session.actions\";\r\n\r\n@Component({\r\n selector: 'vb-log-out',\r\n templateUrl: './log-out.component.html',\r\n styleUrls: ['./log-out.component.css']\r\n})\r\nexport class LogOutComponent implements OnInit {\r\n\r\n constructor(private router: Router,\r\n private ngRedux: NgRedux,\r\n private sessionActions: SessionActions,\r\n private apollo: Apollo) {\r\n }\r\n\r\n ngOnInit() {\r\n\r\n try {\r\n const queryManager = this.apollo && this.apollo.getClient() ? this.apollo.getClient().queryManager : null;\r\n\r\n for (let id in queryManager.queryStore.getStore()) {\r\n queryManager.stopQuery(id);\r\n queryManager.stopQueryInStore(id);\r\n queryManager.removeObservableQuery(id);\r\n queryManager.removeQuery(id);\r\n }\r\n\r\n this.ngRedux.dispatch({type: SessionActions.LOGOUT_USER});\r\n\r\n this.apollo.getClient().resetStore()\r\n .then(res => {\r\n this.router.navigate(['login']);\r\n })\r\n .catch(err => {\r\n this.sessionActions.throwError(err, \"Fehler beim Ausloggen, bitte Laden Sie die Seite neu!\");\r\n this.router.navigate(['login']);\r\n });\r\n } catch (err) {\r\n console.error(\"Error during log-out...\", [err]);\r\n this.router.navigate(['login']);\r\n }\r\n\r\n\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/core/visbos-core/components/log-out/log-out.component.ts","module.exports = \"\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/core/visbos-core/components/password-change/password-change.component.css\n// module id = ./src/app/core/visbos-core/components/password-change/password-change.component.css\n// module chunks = main","module.exports = \"\\r\\n\\r\\n \\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n \\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n \\r\\n\\r\\n\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/core/visbos-core/components/password-change/password-change.component.html\n// module id = ./src/app/core/visbos-core/components/password-change/password-change.component.html\n// module chunks = main","import {ChangeDetectorRef, Component, forwardRef, OnInit} from \"@angular/core\";\r\nimport {AbstractVisbosControl} from \"../../ui/forms/abstract-visbos-control\";\r\nimport {IUser} from \"../../../../shared/redux-store/session/session.types\";\r\nimport {FormBuilder, FormGroup} from \"@angular/forms\";\r\nimport {SessionActions} from \"../../../../shared/actions/session.actions\";\r\nimport {appInjector} from \"../../../../index\";\r\nimport {PasswordChangeValidation} from \"./password-change.validator\";\r\nimport {FORM_ERROR_MESSAGES} from \"../../assets/form-error-messages\";\r\n\r\n@Component({\r\n selector: 'vb-password-change',\r\n templateUrl: './password-change.component.html',\r\n styleUrls: ['./password-change.component.css'],\r\n providers: [{provide: AbstractVisbosControl, useExisting: forwardRef(() => PasswordChangeComponent)}]\r\n})\r\nexport class PasswordChangeComponent extends AbstractVisbosControl implements OnInit {\r\n\r\n errorDefs = FORM_ERROR_MESSAGES;\r\n\r\n constructor(fb: FormBuilder, cd: ChangeDetectorRef, sessionActions: SessionActions) {\r\n super(fb, cd, sessionActions);\r\n }\r\n\r\n ngOnInit() {\r\n super.ngOnInit();\r\n }\r\n\r\n buildControlContent(values?: IUser, ...params): FormGroup {\r\n return PasswordChangeComponent.initControl(this.fb);\r\n }\r\n\r\n public static initControl(fb: FormBuilder = null): FormGroup {\r\n fb = fb ? fb : appInjector().get(FormBuilder);\r\n\r\n return fb.group({\r\n oldPassword: [null],\r\n password: [null],\r\n confirmPassword: [null]\r\n }, {\r\n validator: PasswordChangeValidation.passwordMatchValidation()\r\n });\r\n\r\n }\r\n\r\n public setDefaultValues(item?: IUser): { [controlKey: string]: any } | any {\r\n return undefined;\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/core/visbos-core/components/password-change/password-change.component.ts","/**\r\n * Created by afuhr on 27.06.2017.\r\n */\r\nimport {FormGroup} from \"@angular/forms\";\r\nexport class PasswordChangeValidation {\r\n\r\n static passwordMatchValidation(passwordFormControlName = 'password', passwordConfirmFormControlName = 'confirmPassword') {\r\n\r\n return (group: FormGroup) => {\r\n\r\n if (!group.get(passwordFormControlName) || !group.get(passwordConfirmFormControlName)) {\r\n throw new Error(\"The group for the password match does not contain a password and/or containPassword control!\");\r\n }\r\n\r\n let password = group.get(passwordFormControlName).value; // to get value in input tag\r\n let confirmPassword = group.get(passwordConfirmFormControlName).value; // to get value in input tag\r\n\r\n if (password != confirmPassword) {\r\n group.get(passwordConfirmFormControlName).setErrors({matchPassword: true})\r\n } else {\r\n return null\r\n }\r\n\r\n };\r\n\r\n }\r\n\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/core/visbos-core/components/password-change/password-change.validator.ts","module.exports = \"\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/core/visbos-core/components/password-change/password-reset-form/password-reset-form.component.css\n// module id = ./src/app/core/visbos-core/components/password-change/password-reset-form/password-reset-form.component.css\n// module chunks = main","module.exports = \"
\\r\\n\\r\\n\\r\\n

Passwort zurücksetzen

\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n

Wenn Sie Ihr Passwort vergessen haben, können Sie sich einen Link zum Zurücksetzen Ihres Passworts\\r\\n an Ihre E-Mail-Adresse senden lassen!

\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
Passwort zurücksetzen
\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n Passwort ändern\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n

{{form?.value | json}}

\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/core/visbos-core/components/password-change/password-reset-form/password-reset-form.component.html\n// module id = ./src/app/core/visbos-core/components/password-change/password-reset-form/password-reset-form.component.html\n// module chunks = main","import {ChangeDetectorRef, Component, OnInit} from \"@angular/core\";\r\nimport {AbstractVisbosComponent} from \"../../abstract-visbos.component\";\r\nimport {SessionActions} from \"../../../../../shared/actions/session.actions\";\r\nimport {UserService} from \"../../../../../crm/user/user.service\";\r\nimport {FormBuilder, FormGroup, Validators} from \"@angular/forms\";\r\nimport {ActivatedRoute, Router} from \"@angular/router\";\r\nimport {PasswordChangeValidation} from \"../password-change.validator\";\r\nimport {MessageType} from \"../../../../../shared/redux-store/session/session.types\";\r\n\r\n@Component({\r\n selector: 'vb-password-reset-form',\r\n templateUrl: './password-reset-form.component.html',\r\n styleUrls: ['./password-reset-form.component.css']\r\n})\r\nexport class PasswordResetFormComponent extends AbstractVisbosComponent implements OnInit {\r\n\r\n form: FormGroup;\r\n\r\n constructor(sessionActions: SessionActions, private fb: FormBuilder, private route: ActivatedRoute, private router: Router,\r\n private userService: UserService, cd: ChangeDetectorRef) {\r\n super(sessionActions, cd);\r\n\r\n this.form = this.fb.group({\r\n token: [null, Validators.required],\r\n email: [null, Validators.compose([Validators.required, Validators.email])],\r\n password: [null, Validators.required],\r\n password_confirmation: [null]\r\n }, {\r\n validator: PasswordChangeValidation.passwordMatchValidation('password', 'password_confirmation')\r\n });\r\n\r\n }\r\n\r\n ngOnInit() {\r\n super.ngOnInit();\r\n\r\n this.dataSubscriptions.push(\r\n this.route.params.subscribe(params => {\r\n if (params['token']) {\r\n this.form.get('token').setValue(params['token']);\r\n }\r\n })\r\n );\r\n\r\n }\r\n\r\n onPasswordChangeClicked() {\r\n this.userService.resetPasswordWithToken(this.form.value)\r\n .subscribe(res => {\r\n this.sessionActions.pushMessage(\"Das Passwort wurde erfolgreich zurückgesetzt, sie werden nun zur Anmeldeseite weitergeleitet!\", MessageType.SUCCESS, \"Password zurücksetzen\");\r\n setTimeout(() => this.router.navigate(['/login']), 5000);\r\n },\r\n error => {\r\n console.error(\"Fehler\", [error]);\r\n const body = error.json() || '';\r\n const err = body.error || JSON.stringify(body);\r\n this.sessionActions.pushMessage(\"Es ist ein Fehler aufgetreten: \" + err, MessageType.ERROR, \"Passwort zurücksetzen\");\r\n });\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/core/visbos-core/components/password-change/password-reset-form/password-reset-form.component.ts","module.exports = \"\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/core/visbos-core/components/password-change/password-reset-link/password-reset-link.component.css\n// module id = ./src/app/core/visbos-core/components/password-change/password-reset-link/password-reset-link.component.css\n// module chunks = main","module.exports = \"
\\r\\n\\r\\n\\r\\n

Link zum Zurücksetzen des Passworts anfordern

\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n

Wenn Sie Ihr Passwort vergessen haben, können Sie sich einen Link zum Zurücksetzen Ihres Passworts\\r\\n an Ihre E-Mail-Adresse senden lassen!

\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
Passwort zurücksetzen
\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n Absenden\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/core/visbos-core/components/password-change/password-reset-link/password-reset-link.component.html\n// module id = ./src/app/core/visbos-core/components/password-change/password-reset-link/password-reset-link.component.html\n// module chunks = main","import {ChangeDetectorRef, Component, OnInit} from \"@angular/core\";\r\nimport {AbstractVisbosComponent} from \"../../abstract-visbos.component\";\r\nimport {SessionActions} from \"../../../../../shared/actions/session.actions\";\r\nimport {FormBuilder, FormGroup, Validators} from \"@angular/forms\";\r\nimport {UserService} from \"../../../../../crm/user/user.service\";\r\nimport {Router} from \"@angular/router\";\r\nimport {MessageType} from \"../../../../../shared/redux-store/session/session.types\";\r\n\r\n@Component({\r\n selector: 'vb-password-reset-link',\r\n templateUrl: './password-reset-link.component.html',\r\n styleUrls: ['./password-reset-link.component.css']\r\n})\r\nexport class PasswordResetLinkComponent extends AbstractVisbosComponent implements OnInit {\r\n\r\n form: FormGroup;\r\n\r\n constructor(sessionActions: SessionActions, private fb: FormBuilder, private userService: UserService, private router: Router, cd: ChangeDetectorRef) {\r\n super(sessionActions, cd);\r\n }\r\n\r\n ngOnInit() {\r\n super.ngOnInit();\r\n\r\n this.form = this.fb.group({\r\n email: [null, Validators.compose([Validators.required, Validators.email])]\r\n });\r\n\r\n }\r\n\r\n onLinkSendClicked() {\r\n this.userService.sendResetPasswordLink(this.form.get('email').value)\r\n .subscribe(res => {\r\n this.sessionActions.pushMessage(\"Eine E-Mail mit weiteren Anweisungen zum Zurücksetzen des Passworts wurde an Ihre Adresse verschickt!\", MessageType.SUCCESS, \"Passwort zuurücksetzen\");\r\n setTimeout(() => this.router.navigate(['/login']), 5000);\r\n },\r\n error => {\r\n console.error(\"Fehler\", [error]);\r\n const body = error.json() || '';\r\n const err = body.error || JSON.stringify(body);\r\n this.sessionActions.pushMessage(\"Es ist ein Fehler aufgetreten: \" + err, MessageType.ERROR, \"Passwort zurücksetzen\");\r\n });\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/core/visbos-core/components/password-change/password-reset-link/password-reset-link.component.ts","module.exports = \"\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/core/visbos-core/components/search-result-modal/search-result-modal.component.css\n// module id = ./src/app/core/visbos-core/components/search-result-modal/search-result-modal.component.css\n// module chunks = main","module.exports = \"
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n

{{modalTitle}}

\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n Lade Suchergebnisse...\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n Keine Ergebnisse gefunden...\\r\\n
\\r\\n
\\r\\n\\r\\n 0\\\"\\r\\n class=\\\"datatable visbos\\\"\\r\\n [messages]=\\\"messages\\\"\\r\\n [headerHeight]=\\\"'auto'\\\"\\r\\n [footerHeight]=\\\"'auto'\\\"\\r\\n [columnMode]=\\\"'force'\\\"\\r\\n [columns]=\\\"columns\\\"\\r\\n [limit]=\\\"10\\\"\\r\\n [rowHeight]=\\\"'auto'\\\"\\r\\n [rows]=\\\"rows\\\"\\r\\n [selected]=\\\"selectedItem\\\"\\r\\n [selectionType]=\\\"'single'\\\">\\r\\n \\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/core/visbos-core/components/search-result-modal/search-result-modal.component.html\n// module id = ./src/app/core/visbos-core/components/search-result-modal/search-result-modal.component.html\n// module chunks = main","import {Component, EventEmitter, Input, OnDestroy, OnInit, Output, ViewChild} from '@angular/core';\r\nimport {ModalDirective} from \"ngx-bootstrap\";\r\nimport {ApolloQueryObservable} from \"apollo-angular\";\r\nimport {SearchInputComponent} from \"../../ui/navigation/search-input/search-input.component\";\r\nimport {KeyboardOptions} from \"virtual-keyboard\";\r\nimport {GERMAN_LAYOUT} from \"../../ui/directives/on-screen-keyboard.directive\";\r\n\r\n@Component({\r\n selector: 'vb-search-result-modal',\r\n templateUrl: './search-result-modal.component.html',\r\n styleUrls: ['./search-result-modal.component.css']\r\n})\r\nexport class SearchResultModalComponent implements OnInit, OnDestroy {\r\n\r\n kbOptions: KeyboardOptions = {\r\n type: 'input',\r\n layout: 'custom',\r\n customLayout: GERMAN_LAYOUT\r\n };\r\n\r\n @Input()\r\n touchMode: boolean = false;\r\n\r\n @ViewChild('searchResultsModal')\r\n modal: ModalDirective;\r\n\r\n @ViewChild('searchInput')\r\n searchInput: SearchInputComponent;\r\n\r\n @Input()\r\n modalTitle: string = \"Suche\";\r\n\r\n @Input()\r\n actionButtonTitle = \"\";\r\n\r\n @Input()\r\n searchQuery$: ApolloQueryObservable;\r\n\r\n selectedItem = [];\r\n\r\n rows;\r\n isLoading: boolean;\r\n\r\n @Input()\r\n columns = [\r\n {\r\n name: 'Bezeichner',\r\n prop: 'label',\r\n }\r\n ];\r\n\r\n @Input()\r\n messages = {\r\n emptyMessage: 'Keine Suchergebnisse gefunden',\r\n totalMessage: 'insgesamt',\r\n selectedMessage: 'ausgewählt'\r\n };\r\n\r\n @Output()\r\n itemSelected: EventEmitter = new EventEmitter();\r\n\r\n public isModalShown: boolean = false;\r\n\r\n constructor() {\r\n }\r\n\r\n ngOnInit() {\r\n this.selectedItem = [];\r\n }\r\n\r\n ngOnDestroy(): void {\r\n\r\n }\r\n\r\n public showModal(): void {\r\n this.isModalShown = true;\r\n }\r\n\r\n public hideModal(): void {\r\n this.selectedItem = [];\r\n this.searchInput.onClearClicked();\r\n this.modal.hide();\r\n }\r\n\r\n public onHidden(): void {\r\n this.isModalShown = false;\r\n }\r\n\r\n dataFound(result: any[]) {\r\n this.rows = result;\r\n }\r\n\r\n searchCleared() {\r\n this.rows = null;\r\n }\r\n\r\n onSelectedItemAction() {\r\n this.itemSelected.emit(this.selectedItem[0]);\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/core/visbos-core/components/search-result-modal/search-result-modal.component.ts","module.exports = \"\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/core/visbos-core/components/select-printed-sheet/select-printed-sheet.component.css\n// module id = ./src/app/core/visbos-core/components/select-printed-sheet/select-printed-sheet.component.css\n// module chunks = main","module.exports = \"\\r\\n\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n ({{r+1}} | {{c+1}})\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/core/visbos-core/components/select-printed-sheet/select-printed-sheet.component.html\n// module id = ./src/app/core/visbos-core/components/select-printed-sheet/select-printed-sheet.component.html\n// module chunks = main","import {\r\n AfterViewInit,\r\n ChangeDetectorRef,\r\n Component,\r\n EventEmitter,\r\n forwardRef,\r\n Input,\r\n OnInit,\r\n Output,\r\n ViewChild\r\n} from \"@angular/core\";\r\nimport {AbstractVisbosControl} from \"../../ui/forms/abstract-visbos-control\";\r\nimport {PrintedSheet} from \"../../../../shared/view-model/store-management/printed-sheet.type\";\r\nimport {FormBuilder, FormGroup, Validators} from \"@angular/forms\";\r\nimport {SessionActions} from \"../../../../shared/actions/session.actions\";\r\nimport {appInjector} from \"../../../../index\";\r\nimport {ApolloQueryObservable} from \"apollo-angular\";\r\nimport {GenericSelectionInputComponent} from \"../../ui/forms/generic-selection-input/generic-selection-input.component\";\r\nimport {\r\n MedicineStickersService,\r\n PrintedSheetsResult\r\n} from \"../../../../medicine-stickers/services/medicine-stickers.service\";\r\n\r\n@Component({\r\n selector: 'vb-select-printed-sheet',\r\n templateUrl: './select-printed-sheet.component.html',\r\n styleUrls: ['./select-printed-sheet.component.css'],\r\n providers: [{provide: AbstractVisbosControl, useExisting: forwardRef(() => SelectPrintedSheetComponent)}]\r\n})\r\nexport class SelectPrintedSheetComponent extends AbstractVisbosControl implements OnInit, AfterViewInit {\r\n\r\n Math;\r\n\r\n @Input()\r\n showStartingPoint: boolean = true;\r\n\r\n @Input()\r\n sheetTypeCuid: string;\r\n\r\n @Output()\r\n printedSheetSelected: EventEmitter = new EventEmitter();\r\n\r\n @Output()\r\n startingPointSelected: EventEmitter<{ startRow: number, startColumn: number }> = new EventEmitter();\r\n\r\n @ViewChild('itemSelection')\r\n itemSelection: GenericSelectionInputComponent;\r\n\r\n selectedPrintedSheet: PrintedSheet;\r\n startingPoints: boolean[][];\r\n\r\n private printedSheetsList$: ApolloQueryObservable;\r\n printedSheetsList: PrintedSheet[] = [];\r\n\r\n constructor(fb: FormBuilder, cd: ChangeDetectorRef, sessionActions: SessionActions,\r\n private medService: MedicineStickersService) {\r\n super(fb, cd, sessionActions);\r\n\r\n this.Math = Math;\r\n }\r\n\r\n ngOnInit() {\r\n super.ngOnInit();\r\n\r\n this.printedSheetsList$ = this.medService.getPrintedSheets(null, this.sheetTypeCuid);\r\n this.addComponentData(this.printedSheetsList$);\r\n\r\n this.dataSubscriptions.push(this.printedSheetsList$.subscribe(res => {\r\n this.printedSheetsList = res.data.printedSheets;\r\n }));\r\n\r\n }\r\n\r\n ngAfterViewInit() {\r\n super.ngAfterViewInit();\r\n //this.selectedPrintedSheet = this.itemSelection.selectedItem;\r\n this.initStartingPoints();\r\n }\r\n\r\n buildControlContent(): FormGroup {\r\n return SelectPrintedSheetComponent.initControl(this.fb);\r\n }\r\n\r\n public static initControl(fb?: FormBuilder) {\r\n fb = fb ? fb : appInjector().get(FormBuilder);\r\n return fb.group({\r\n sheetCuid: [null, Validators.required],\r\n startRow: [null],\r\n startColumn: [null],\r\n });\r\n }\r\n\r\n public setDefaultValues(item?: PrintedSheet): { [controlKey: string]: any } | any {\r\n return {\r\n sheetCuid: this.setValue(item, 'cuid'),\r\n startRow: 1,\r\n startColumn: 1\r\n };\r\n }\r\n\r\n onSelectedItemChanged(item: PrintedSheet) {\r\n this.selectedPrintedSheet = item;\r\n this.initStartingPoints();\r\n this.printedSheetSelected.emit(item);\r\n }\r\n\r\n private initStartingPoints() {\r\n let sp = [];\r\n let item = this.selectedPrintedSheet;\r\n\r\n if (item) {\r\n for (let r = 0; r < (item.rows); r++) {\r\n sp[r] = [];\r\n for (let c = 0; c < (item.columns); c++) {\r\n sp[r][c] = false;\r\n }\r\n }\r\n }\r\n\r\n this.startingPoints = sp;\r\n }\r\n\r\n onStartingPointClicked(row: number, column: number) {\r\n this.initStartingPoints();\r\n this.startingPoints[row][column] = true;\r\n\r\n let data = {\r\n startRow: row + 1,\r\n startColumn: column + 1\r\n };\r\n\r\n this.control.patchValue(data);\r\n\r\n this.startingPointSelected.emit(data);\r\n\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/core/visbos-core/components/select-printed-sheet/select-printed-sheet.component.ts","module.exports = \"\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/core/visbos-core/components/tax-calculator/tax-calculator.component.css\n// module id = ./src/app/core/visbos-core/components/tax-calculator/tax-calculator.component.css\n// module chunks = main","module.exports = \"
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n %\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/core/visbos-core/components/tax-calculator/tax-calculator.component.html\n// module id = ./src/app/core/visbos-core/components/tax-calculator/tax-calculator.component.html\n// module chunks = main","import {\r\n ChangeDetectorRef,\r\n Component,\r\n EventEmitter,\r\n Input,\r\n OnChanges,\r\n OnInit,\r\n Output,\r\n SimpleChanges\r\n} from \"@angular/core\";\r\nimport {AbstractVisbosComponent} from \"../abstract-visbos.component\";\r\nimport {SessionActions} from \"../../../../shared/actions/session.actions\";\r\nimport {FormBuilder, FormGroup, Validators} from \"@angular/forms\";\r\nimport {Subscription} from \"rxjs/Subscription\";\r\n\r\n@Component({\r\n selector: 'vb-tax-calculator',\r\n templateUrl: './tax-calculator.component.html',\r\n styleUrls: ['./tax-calculator.component.css']\r\n})\r\nexport class TaxCalculatorComponent extends AbstractVisbosComponent implements OnInit, OnChanges {\r\n\r\n @Input()\r\n tax: number = 19.0;\r\n\r\n @Input()\r\n initialValue: number;\r\n\r\n @Input()\r\n mode: 'BruttoToNetto' | 'NettoToBrutto' = 'NettoToBrutto';\r\n\r\n @Input()\r\n forceMode: boolean = false;\r\n\r\n private withoutTaxSub: Subscription;\r\n private withTaxSub: Subscription;\r\n\r\n @Output()\r\n compute: EventEmitter<{ type: 'Brutto' | 'Netto', value: number }> = new EventEmitter();\r\n\r\n control: FormGroup;\r\n\r\n constructor(sessionActions: SessionActions, private fb: FormBuilder, cd: ChangeDetectorRef) {\r\n super(sessionActions, cd);\r\n\r\n this.control = this.fb.group({\r\n tax: [this.tax, Validators.required],\r\n withTax: [null, Validators.required],\r\n withoutTax: [null, Validators.required]\r\n });\r\n\r\n }\r\n\r\n ngOnInit() {\r\n\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n\r\n if (changes.mode) {\r\n if (this.mode == 'NettoToBrutto') {\r\n this.setNettoToBruttoMode();\r\n }\r\n\r\n if (this.mode == 'BruttoToNetto') {\r\n this.setBruttoToNettoMode();\r\n }\r\n }\r\n\r\n if (changes.tax) {\r\n this.control.get('tax').setValue(this.tax);\r\n }\r\n\r\n if (changes.initialValue) {\r\n if (this.mode == 'NettoToBrutto') {\r\n this.control.get('withoutTax').setValue(this.initialValue);\r\n } else {\r\n this.control.get('withTax').setValue(this.initialValue);\r\n }\r\n }\r\n }\r\n\r\n onSelectMode() {\r\n\r\n this.control.reset({\r\n withTax: null,\r\n withoutTax: null,\r\n tax: this.tax\r\n });\r\n\r\n if (this.mode == 'BruttoToNetto') {\r\n this.setNettoToBruttoMode();\r\n } else {\r\n this.setBruttoToNettoMode();\r\n }\r\n }\r\n\r\n private setNettoToBruttoMode() {\r\n this.mode = 'NettoToBrutto';\r\n\r\n this.control.get('withTax').disable();\r\n this.control.get('withoutTax').enable();\r\n\r\n if (this.withTaxSub) {\r\n this.withTaxSub.unsubscribe();\r\n }\r\n\r\n this.withoutTaxSub = this.control.get('withoutTax').valueChanges.subscribe(netto => {\r\n let brutto = this.computeToBrutto(netto);\r\n this.control.get('withTax').setValue(brutto.toFixed(2));\r\n this.compute.next({type: 'Brutto', value: brutto});\r\n });\r\n }\r\n\r\n private setBruttoToNettoMode() {\r\n this.mode = 'BruttoToNetto';\r\n\r\n this.control.get('withoutTax').disable();\r\n this.control.get('withTax').enable();\r\n\r\n if (this.withoutTaxSub) {\r\n this.withoutTaxSub.unsubscribe();\r\n }\r\n\r\n this.withTaxSub = this.control.get('withTax').valueChanges.subscribe(brutto => {\r\n let netto = this.computeToNetto(brutto);\r\n this.control.get('withoutTax').setValue(netto.toFixed(2));\r\n this.compute.next({type: 'Netto', value: netto});\r\n });\r\n }\r\n\r\n computeToNetto(brutto: number): number {\r\n return +(brutto / (1 + this.control.get('tax').value / 100));\r\n }\r\n\r\n computeToBrutto(netto: number): number {\r\n return +(netto + (netto * this.control.get('tax').value / 100));\r\n }\r\n\r\n ngOnDestroy() {\r\n super.ngOnDestroy();\r\n\r\n if (this.withTaxSub) {\r\n this.withTaxSub.unsubscribe();\r\n }\r\n if (this.withoutTaxSub) {\r\n this.withoutTaxSub.unsubscribe();\r\n }\r\n\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/core/visbos-core/components/tax-calculator/tax-calculator.component.ts","module.exports = \"\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/core/visbos-core/components/timer/timer.component.css\n// module id = ./src/app/core/visbos-core/components/timer/timer.component.css\n// module chunks = main","module.exports = \"{{timer | async | date:'m:ss'}}\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/core/visbos-core/components/timer/timer.component.html\n// module id = ./src/app/core/visbos-core/components/timer/timer.component.html\n// module chunks = main","import {Component, EventEmitter, Input, OnDestroy, OnInit, Output} from \"@angular/core\";\r\nimport {environment} from \"../../../../../environments/environment\";\r\nimport {map, switchAll, take} from \"rxjs/operators\";\r\nimport {Observable} from \"rxjs/Observable\";\r\nimport {Subscription} from \"rxjs/Subscription\";\r\nimport {BehaviorSubject} from \"rxjs/BehaviorSubject\";\r\nimport {interval} from \"rxjs/observable/interval\";\r\n\r\n@Component({\r\n selector: 'vb-timer',\r\n templateUrl: './timer.component.html',\r\n styleUrls: ['./timer.component.css']\r\n})\r\nexport class TimerComponent implements OnInit, OnDestroy {\r\n\r\n @Output()\r\n timeout: EventEmitter = new EventEmitter();\r\n\r\n @Input()\r\n timeoutInterval: number = environment.touch && environment.touch.timeout ? environment.touch.timeout : 120;\r\n\r\n @Input()\r\n userEvent: Observable;\r\n\r\n private userEventSub: Subscription;\r\n\r\n timer: BehaviorSubject;\r\n\r\n constructor() {\r\n }\r\n\r\n ngOnInit() {\r\n this.timer = new BehaviorSubject(new Date(this.timeoutInterval * 1000));\r\n\r\n this.userEventSub = this.userEvent.pipe(\r\n map(() => {\r\n let str = new Date(this.timeoutInterval * 1000);\r\n this.timer.next(str);\r\n return interval(1000).pipe(\r\n take(this.timeoutInterval + 1)\r\n );\r\n }\r\n ),\r\n switchAll() // Forget all running timers and take the last, new timer\r\n )\r\n .subscribe(\r\n x => {\r\n if (x < this.timeoutInterval) {\r\n let str = new Date((this.timeoutInterval - x) * 1000);\r\n this.timer.next(str);\r\n } else {\r\n console.log(\"Inactivity interval expired! Dispatching timeout event\");\r\n this.timeout.next();\r\n }\r\n },\r\n e => {\r\n console.error(\"Timer-Error!\");\r\n },\r\n () => {\r\n console.log(\"User event stream completed!\");\r\n });\r\n }\r\n\r\n setColor() {\r\n let startTime = new Date(this.timeoutInterval * 1000).getSeconds();\r\n let time = this.timer.getValue().getSeconds();\r\n let rel = time / startTime;\r\n return {\r\n 'text-danger': rel <= 0.25,\r\n 'text-warning': rel <= 0.5 && rel > 2.5\r\n }\r\n }\r\n\r\n startTimer() {\r\n\r\n }\r\n\r\n resetTimer() {\r\n\r\n }\r\n\r\n stopTimer() {\r\n\r\n }\r\n\r\n ngOnDestroy(): void {\r\n if (this.userEventSub) {\r\n this.userEventSub.unsubscribe();\r\n }\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/core/visbos-core/components/timer/timer.component.ts","module.exports = \"\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/core/visbos-core/error-handling/debug-content/debug-content.component.css\n// module id = ./src/app/core/visbos-core/error-handling/debug-content/debug-content.component.css\n// module chunks = main","module.exports = \"\\r\\n \\r\\n\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/core/visbos-core/error-handling/debug-content/debug-content.component.html\n// module id = ./src/app/core/visbos-core/error-handling/debug-content/debug-content.component.html\n// module chunks = main","import {Component, Input} from \"@angular/core\";\r\nimport {environment} from \"../../../../../environments/environment\";\r\n\r\n@Component({\r\n selector: 'vb-debug-content',\r\n templateUrl: './debug-content.component.html',\r\n styleUrls: ['./debug-content.component.css']\r\n})\r\nexport class DebugContentComponent {\r\n\r\n @Input()\r\n enableDebug: boolean;\r\n\r\n constructor() {\r\n this.enableDebug = !environment.production;\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/core/visbos-core/error-handling/debug-content/debug-content.component.ts","import {Injectable} from \"@angular/core\";\r\nimport {SessionActions} from \"../../../shared/actions/session.actions\";\r\nimport {MessageType} from \"../../../shared/redux-store/session/session.types\";\r\nimport {isApolloError} from \"apollo-client/errors/ApolloError\";\r\n\r\n@Injectable()\r\nexport class ErrorHandlerService {\r\n\r\n\r\n constructor(private sessionActions: SessionActions) {\r\n\r\n }\r\n\r\n handleUserError(error: any, errorMsg ?: string, rethrow: boolean = false) {\r\n\r\n if (error) {\r\n console.error(error.message, [error]);\r\n }\r\n\r\n if (isApolloError(error)) {\r\n errorMsg = errorMsg ? errorMsg : \"Es sind Fehler Aufgetreten: \" + error.graphQLErrors.map(err => err.message).join(', ');\r\n }\r\n\r\n this.sessionActions.pushMessage(errorMsg ? errorMsg : 'Es ist ein Fehler aufgetreten, bitte versuchen Sie es erneut!', MessageType.ERROR);\r\n\r\n if (rethrow) {\r\n throw error;\r\n }\r\n\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/core/visbos-core/error-handling/error-handler.service.ts","import {ErrorHandler, Injectable, Injector, NgZone} from \"@angular/core\";\r\nimport {environment} from \"../../../../environments/environment\";\r\nimport {NgRedux} from \"@angular-redux/store\";\r\nimport {IAppState} from \"../../../shared/redux-store\";\r\nimport {Router} from \"@angular/router\";\r\nimport {HttpClient, HttpHeaders} from \"@angular/common/http\";\r\nimport {delay, retryWhen, scan, tap} from \"rxjs/operators\";\r\n\r\n@Injectable()\r\nexport class VisbosErrorHandlerService implements ErrorHandler {\r\n\r\n private router: Router;\r\n rethrowError = false;\r\n\r\n constructor(private http: HttpClient, private ngRx: NgRedux, private zone: NgZone, private injector: Injector) {\r\n this.rethrowError = false;\r\n\r\n }\r\n\r\n handleError(error: any, message?: string, successCallback?: (result: any) => any, errorCallback?: (err: Error) => any): void {\r\n\r\n if (this.router == null) {\r\n this.router = this.injector.get(Router);\r\n }\r\n\r\n if (!environment.production) {\r\n this.handleErrorWithDebug(error, message, successCallback, errorCallback);\r\n } else {\r\n this.handleErrorSilently(error, message, successCallback, errorCallback);\r\n }\r\n\r\n if (this.rethrowError) {\r\n throw error;\r\n }\r\n\r\n }\r\n\r\n private handleErrorSilently(error: any, message?: string, successCallback?: (result: any) => any, errorCallback?: (err: Error) => any) {\r\n this.logToApi(error, message ? message : error.message, 'error', successCallback, errorCallback);\r\n }\r\n\r\n private handleErrorWithDebug(error: any, message?: string, successCallback?: (result: any) => any, errorCallback?: (err: Error) => any) {\r\n\r\n console.group(\"Uncaught Error in VisBOS:\");\r\n console.error(message ? message : error.message, [error]);\r\n console.groupEnd();\r\n\r\n if (environment.logErrors) {\r\n this.logToApi(error, message ? message : error.message, 'error', successCallback, errorCallback);\r\n }\r\n\r\n if (successCallback) {\r\n successCallback.call(this, null);\r\n }\r\n\r\n }\r\n\r\n public logToApi(error?: Error, message?: string, severity: 'error' | 'critical' | 'warning' | 'notice' | 'info' | 'debug' = 'error', successCallback?: (result: any) => any, errorCallback?: (err: Error) => any) {\r\n\r\n this.zone.runOutsideAngular(() => {\r\n\r\n let headers = new HttpHeaders(\r\n {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n });\r\n let options = {'headers': headers};\r\n\r\n let data = {\r\n log_message: message,\r\n url: this.router.url,\r\n error_message: error ? error.message : null,\r\n error_stack: error ? error.stack : null,\r\n user: this.ngRx.getState().session && this.ngRx.getState().session.user ? this.ngRx.getState().session.user.cuid : null,\r\n admin_unit: this.ngRx.getState().session ? this.ngRx.getState().session.activeAdminUnit : null,\r\n session_state: this.ngRx.getState()\r\n };\r\n\r\n // Login user via REST\r\n return this.http\r\n .post(\r\n environment.logUrl + severity,\r\n JSON.stringify(data),\r\n options\r\n ).pipe(\r\n retryWhen(errors => errors.pipe(\r\n tap(e => {\r\n if (e.status == 404) {\r\n throw e;\r\n }\r\n }\r\n ),\r\n scan((errorCount, err) => {\r\n if (errorCount >= 5) {\r\n throw err;\r\n }\r\n return errorCount + 1;\r\n }, 0),\r\n delay(500)\r\n )\r\n )\r\n )\r\n .toPromise()\r\n .then(res => {\r\n if (successCallback) {\r\n successCallback.call(this, res)\r\n } else {\r\n console.info(\"Logging to API successful...\");\r\n }\r\n })\r\n .catch(err => {\r\n if (errorCallback) {\r\n errorCallback.call(this, err);\r\n } else {\r\n console.error(\"Error during logging to API...\", [err]);\r\n }\r\n });\r\n\r\n\r\n });\r\n\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/core/visbos-core/error-handling/visbos-error-handler.service.ts","/**\r\n * Created by afuhr on 06.04.2017.\r\n */\r\nexport function isUnauthorizedError(err: Error): err is UnauthorizedError {\r\n return err instanceof UnauthorizedError;\r\n}\r\nexport class UnauthorizedError extends Error {\r\n message: string;\r\n\r\n constructor(message: string, public response?: any) {\r\n super(message);\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/core/visbos-core/exceptions/unauthorized-error.ts","import {Observable} from \"rxjs/Observable\";\r\nimport {appInjector} from \"../../../index\";\r\nimport {SessionActions} from \"../../../shared/actions/session.actions\";\r\nimport {isApolloError} from \"apollo-client/errors/ApolloError\";\r\nimport {delay, finalize, retryWhen, scan, tap} from \"rxjs/operators\";\r\nimport {ApolloQueryResult} from \"apollo-client\";\r\n\r\n/**\r\n * Created by afuhr on 31.12.2016.\r\n */\r\n\r\nexport const handleObservable = (finalErrorMessage?: string) => (source: Observable) => {\r\n let sessionActions: SessionActions = appInjector().get(SessionActions);\r\n return source.pipe(\r\n retryWhen(errors => errors.pipe(\r\n tap(e => { // Don't retry when ApolloError occured!\r\n if (isApolloError(e) && e.graphQLErrors && e.graphQLErrors.length > 0) {\r\n throw e;\r\n }\r\n }\r\n ),\r\n scan((errorCount, err) => {\r\n console.warn(\"Retry fetching observable #\" + errorCount, [err]);\r\n if (errorCount >= 5) {\r\n throw err;\r\n }\r\n return errorCount + 1;\r\n }, 0),\r\n delay(500)\r\n )\r\n ),\r\n finalize(() => {\r\n if (sessionActions) {\r\n sessionActions.finishAsyncAction();\r\n }\r\n })\r\n );\r\n};\r\n\r\n/**\r\n * The interface is required for TypeScript to recognize the new operator\r\n */\r\n/*\r\nexport interface HandleObservableSignature {\r\n (finalErrorMessage?: string): Observable;\r\n}\r\n\r\ndeclare module 'rxjs/Observable' {\r\n interface Observable {\r\n handleObservable: HandleObservableSignature;\r\n }\r\n}\r\n*/\r\n\r\nexport function observableResult(): Observable {\r\n return this;\r\n}\r\n\r\nexport interface ObservableResultSignature {\r\n (): Observable;\r\n}\r\n\r\ndeclare module 'rxjs/Observable' {\r\n interface Observable {\r\n observableResult: ObservableResultSignature;\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/core/visbos-core/graphql/handleObservable.ts","import {IModel} from \"../../../shared/view-model/imodel.interface\";\r\nimport {Apollo, ApolloQueryObservable} from \"apollo-angular\";\r\nimport {\r\n ApolloQueryResult,\r\n MutationOptions,\r\n MutationQueryReducersMap,\r\n Subscription,\r\n WatchQueryOptions\r\n} from \"apollo-client\";\r\nimport {isNullOrUndefined, isUndefined} from \"util\";\r\nimport {NgRedux, select} from \"@angular-redux/store\";\r\nimport {IAppState} from \"../../../shared/redux-store/store\";\r\nimport {SessionActions} from \"../../../shared/actions/session.actions\";\r\nimport * as _ from \"lodash\";\r\nimport {Observable} from \"rxjs/Observable\";\r\nimport {environment} from \"../../../../environments/environment\";\r\nimport {IUser} from \"../../../shared/redux-store/session/session.types\";\r\nimport {filter, finalize, map} from \"rxjs/operators\";\r\nimport {handleObservable} from \"./handleObservable\";\r\n\r\nexport const visbosFragments = {};\r\n\r\nexport function pruneEmpty(obj) {\r\n return function prune(current) {\r\n _.forOwn(current, function (value, key) {\r\n if (_.isUndefined(value) || _.isNull(value) || _.isNaN(value) ||\r\n //(_.isString(value) && _.isEmpty(value)) ||\r\n (_.isObject(value) && _.isEmpty(prune(value)))) {\r\n\r\n delete current[key];\r\n }\r\n });\r\n // remove any leftover undefined values from the delete\r\n // operation on an array\r\n if (_.isArray(current)) _.pull(current, undefined);\r\n\r\n return current;\r\n\r\n }(_.cloneDeep(obj)); // Do not modify the original object, create a clone instead\r\n}\r\n\r\nexport function pruneTypename(obj) {\r\n return function prune(current) {\r\n _.forOwn(current, function (value, key) {\r\n if (_.isObject(value)) {\r\n prune(value);\r\n }\r\n if (_.isArray(current)) {\r\n _.forEach(current, prune)\r\n }\r\n if (key == '__typename') {\r\n delete current[key];\r\n }\r\n });\r\n // remove any leftover undefined values from the delete\r\n // operation on an array\r\n if (_.isArray(current)) _.pull(current, undefined);\r\n\r\n return current;\r\n\r\n }(_.cloneDeep(obj)); // Do not modify the original object, create a clone instead\r\n}\r\n\r\nexport abstract class VisbosService {\r\n\r\n @select(['session', 'activeAdminUnit'])\r\n protected activeAdminUnitCuid$: Observable;\r\n protected activeAdminUnitCuid: string;\r\n\r\n @select(['session', 'user', 'cuid'])\r\n protected currentUserCuid$: Observable;\r\n protected currentUserCuid: string;\r\n\r\n @select(['session', 'user'])\r\n protected currentUser$: Observable;\r\n protected currentUser: IUser;\r\n\r\n constructor(protected apollo: Apollo, protected ngRedux: NgRedux, protected sessionActions: SessionActions) {\r\n this.currentUserCuid$.subscribe(user => this.currentUserCuid = user);\r\n this.activeAdminUnitCuid$.subscribe(au => this.activeAdminUnitCuid = au);\r\n this.currentUser$.subscribe(user => this.currentUser = user);\r\n }\r\n\r\n public fetchItems(options: WatchQueryOptions, loadingVisible: boolean = false): ApolloQueryObservable {\r\n\r\n /*if (!this.ngRedux.getState().session.token || !this.ngRedux.getState().session.loggedIn) {\r\n console.warn(\"Not logged in, canceling query!\");\r\n return Observable.empty() as ApolloQueryObservable;\r\n }*/\r\n\r\n if (loadingVisible && this.sessionActions) {\r\n this.sessionActions.initAsyncAction();\r\n }\r\n\r\n let opt = Object.assign({}, options);\r\n\r\n if (environment.network.forceFetch) {\r\n opt.fetchPolicy = 'network-only';\r\n } else {\r\n opt.fetchPolicy = opt.fetchPolicy ? opt.fetchPolicy : 'cache-and-network';\r\n }\r\n\r\n let query = this.apollo.watchQuery(opt).pipe(\r\n handleObservable(),\r\n filter((res: any) => (res.data != undefined)),\r\n map((res: any) => {\r\n if (loadingVisible && this.sessionActions && res.loading === true) {\r\n this.sessionActions.initAsyncAction();\r\n }\r\n if (loadingVisible && this.sessionActions && res.loading === false) {\r\n this.sessionActions.finishAsyncAction();\r\n }\r\n return res;\r\n }),\r\n finalize(() => {\r\n if (loadingVisible && this.sessionActions) {\r\n this.sessionActions.finishAsyncAction();\r\n }\r\n }));\r\n /*\r\n .handleObservable()\r\n .filter((res: any) => (res.data != undefined))\r\n .map((res: any) => {\r\n if (loadingVisible && this.sessionActions && res.loading === true) {\r\n this.sessionActions.initAsyncAction();\r\n }\r\n if (loadingVisible && this.sessionActions && res.loading === false) {\r\n this.sessionActions.finishAsyncAction();\r\n }\r\n return res;\r\n })\r\n .finally(() => {\r\n if (loadingVisible && this.sessionActions) {\r\n this.sessionActions.finishAsyncAction();\r\n }\r\n });\r\n */\r\n\r\n return >query;\r\n }\r\n\r\n public fetchItemsOnce(options: WatchQueryOptions, loadingVisible: boolean = false): Observable> {\r\n\r\n if (loadingVisible && this.sessionActions) {\r\n this.sessionActions.initAsyncAction();\r\n }\r\n\r\n let opt = Object.assign({}, options);\r\n opt.fetchPolicy = 'network-only';\r\n\r\n let query = this.apollo.query(opt).pipe(\r\n handleObservable(),\r\n filter((res: any) => (res.data != undefined)),\r\n map((res: any) => {\r\n if (loadingVisible && this.sessionActions && res.loading === true) {\r\n this.sessionActions.initAsyncAction();\r\n }\r\n if (loadingVisible && this.sessionActions && res.loading === false) {\r\n this.sessionActions.finishAsyncAction();\r\n }\r\n return res;\r\n }),\r\n finalize(() => {\r\n if (loadingVisible && this.sessionActions) {\r\n this.sessionActions.finishAsyncAction();\r\n }\r\n }));\r\n\r\n return query;\r\n }\r\n\r\n public prefetchItems(options: WatchQueryOptions): Subscription {\r\n\r\n return this.apollo.query(options).pipe(\r\n handleObservable(),\r\n filter((res: any) => (res.data != undefined))\r\n ).subscribe();\r\n\r\n }\r\n\r\n public mutate(options: MutationOptions, loadingVisible: boolean = true): Observable> {\r\n\r\n if (loadingVisible && this.sessionActions) {\r\n this.sessionActions.initAsyncAction();\r\n }\r\n\r\n let mutation = this.apollo.mutate(options)\r\n .pipe(\r\n handleObservable(),\r\n filter((res: any) => (res.data != undefined)),\r\n map((res: any) => {\r\n if (loadingVisible && this.sessionActions && res.loading === true) {\r\n this.sessionActions.initAsyncAction();\r\n }\r\n if (loadingVisible && this.sessionActions && res.loading === false) {\r\n this.sessionActions.finishAsyncAction();\r\n }\r\n return res;\r\n }),\r\n finalize(() => {\r\n if (loadingVisible && this.sessionActions) {\r\n this.sessionActions.finishAsyncAction();\r\n }\r\n }));\r\n\r\n return mutation as Observable>;\r\n\r\n }\r\n\r\n public deleteItemsFromQueries(cuid: string, resultName: string, ...queryIds: string[]): MutationQueryReducersMap {\r\n\r\n let obj: MutationQueryReducersMap = {};\r\n\r\n for (let id of queryIds) {\r\n obj[id] = (prev: any, {mutationResult}) => {\r\n this.deleteFromQueryResult(prev[resultName], cuid);\r\n return prev;\r\n }\r\n }\r\n\r\n return obj;\r\n }\r\n\r\n public addItemsToQueries(prevResultName: string, mutationResultName: string, queryIds: string[]): MutationQueryReducersMap {\r\n\r\n let obj: MutationQueryReducersMap = {};\r\n\r\n for (let id of queryIds) {\r\n obj[id] = (prev: any, {mutationResult}: any) => {\r\n return this.addToQueryResult(prev, prevResultName, mutationResult.data[mutationResultName])\r\n }\r\n }\r\n\r\n return obj;\r\n }\r\n\r\n private addToQueryResult(prev: any, prevResultName, newItems: IModel[]) {\r\n\r\n const prevItems = prev[prevResultName];\r\n\r\n return Object.assign(prev, {\r\n [prevResultName]: [newItems, ...prevItems].sort(((n1: IModel, n2: IModel) => {\r\n if (n1.label < n2.label) {\r\n return 1;\r\n }\r\n if (n1.label > n2.label) {\r\n return -1;\r\n }\r\n return 0;\r\n }))\r\n });\r\n }\r\n\r\n\r\n private deleteFromQueryResult(queryItems: Array, deleteableCuid: string) {\r\n let index = queryItems.findIndex(e => e.cuid == deleteableCuid);\r\n if (!isNullOrUndefined(index) && index > -1) {\r\n queryItems.splice(index, 1);\r\n }\r\n\r\n //TODO: Remove item from datastore\r\n }\r\n\r\n protected processData(data): any {\r\n let processedData = Object.assign({}, data);\r\n\r\n if (isUndefined(processedData.administration_unit_id)) {\r\n let adminUnitId = this.ngRedux.getState().session.activeAdminUnit;\r\n processedData.administration_unit_id = adminUnitId;\r\n }\r\n\r\n return processedData;\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/core/visbos-core/graphql/visbos.service.ts","import {HttpEvent, HttpHandler, HttpInterceptor, HttpRequest} from \"@angular/common/http\";\r\nimport {Observable} from \"rxjs/Observable\";\r\nimport {NgRedux} from \"@angular-redux/store\";\r\nimport {IAppState} from \"../../../shared/redux-store\";\r\n\r\nexport class AuthorizationHeadersInterceptor implements HttpInterceptor {\r\n\r\n constructor(private ngRedux: NgRedux) {\r\n\r\n }\r\n\r\n intercept(request: HttpRequest, next: HttpHandler): Observable> {\r\n\r\n if (!this.ngRedux.getState().session || !this.ngRedux.getState().session.token) {\r\n return next.handle(request);\r\n }\r\n\r\n request = request.clone({\r\n setHeaders: {\r\n Authorization: `Bearer ${this.ngRedux.getState().session.token}`\r\n }\r\n });\r\n\r\n return next.handle(request);\r\n\r\n }\r\n\r\n}\n\n\n// WEBPACK FOOTER //\n// ./src/app/core/visbos-core/http/authorization-headers.interceptor.ts","import {Injectable} from \"@angular/core\";\r\nimport {environment} from \"../../../../environments/environment\";\r\nimport {Observable} from \"rxjs/Observable\";\r\nimport * as FileSaver from 'file-saver';\r\nimport {HttpClient, HttpResponse} from \"@angular/common/http\";\r\nimport {empty} from \"rxjs/observable/empty\";\r\n\r\nimport {SessionActions} from \"../../../shared/actions\";\r\nimport {MessageType} from \"../../../shared/redux-store/session\";\r\n// Necessary to import the global printJS function\r\nimport {Configuration} from \"print-js\";\r\n\r\ndeclare var printJS: (params: string | Configuration) => void;\r\n\r\n\r\n@Injectable()\r\nexport class FileService {\r\n\r\n isSup = false;\r\n\r\n constructor(private http: HttpClient, private sessionActions: SessionActions) {\r\n\r\n if (this.detectIE() === false || this.detectIE() > 11) {\r\n this.isSup = true;\r\n } else {\r\n this.isSup = false;\r\n }\r\n\r\n }\r\n\r\n getPrivateFile(path: string): Observable {\r\n\r\n if (!path || path == '') {\r\n return empty();\r\n }\r\n\r\n path = path.startsWith('http') ? path : environment.baseUrl + (path.startsWith('/') ? path : '/' + path);\r\n\r\n return this.http.get(path, {\r\n responseType: 'blob'\r\n });\r\n\r\n }\r\n\r\n base64toBlob(b64Data, contentType?: string, sliceSize?: number): Blob {\r\n\r\n contentType = contentType || '';\r\n sliceSize = sliceSize || 512;\r\n\r\n let byteCharacters = atob(b64Data);\r\n let byteArrays = [];\r\n\r\n for (let offset = 0; offset < byteCharacters.length; offset += sliceSize) {\r\n let slice = byteCharacters.slice(offset, offset + sliceSize);\r\n\r\n let byteNumbers = new Array(slice.length);\r\n for (let i = 0; i < slice.length; i++) {\r\n byteNumbers[i] = slice.charCodeAt(i);\r\n }\r\n\r\n let byteArray = new Uint8Array(byteNumbers);\r\n\r\n byteArrays.push(byteArray);\r\n }\r\n\r\n let blob = new Blob(byteArrays, {type: contentType});\r\n return blob;\r\n\r\n }\r\n\r\n saveAs(data, filename: string) {\r\n FileSaver.saveAs(data, filename);\r\n }\r\n\r\n printFile(blobData: Blob | string, fileType: 'pdf' | 'image' | 'html' | 'json' = 'pdf', base64 = false) {\r\n\r\n const blobUrl = base64 == false ? URL.createObjectURL(blobData) : blobData;\r\n\r\n if (this.isSup) {\r\n printJS({\r\n printable: blobUrl,\r\n type: fileType,\r\n base64: base64\r\n });\r\n } else {\r\n this.sessionActions.pushMessage(\"Das direkte Drucken von PDF-Dateien wird von Ihrem Browser nicht unterstützt! Bitte nutzen Sie einen modernen Browser wie Edge, Firefox oder Chrome.\", MessageType.WARNING, \"PDF-Druck\");\r\n }\r\n }\r\n\r\n /**\r\n * detect IE\r\n * returns version of IE or false, if browser is not Internet Explorer\r\n */\r\n detectIE() {\r\n let ua = window.navigator.userAgent;\r\n\r\n let msie = ua.indexOf('MSIE ');\r\n if (msie > 0) {\r\n // IE 10 or older => return version number\r\n return parseInt(ua.substring(msie + 5, ua.indexOf('.', msie)), 10);\r\n }\r\n\r\n let trident = ua.indexOf('Trident/');\r\n if (trident > 0) {\r\n // IE 11 => return version number\r\n let rv = ua.indexOf('rv:');\r\n return parseInt(ua.substring(rv + 3, ua.indexOf('.', rv)), 10);\r\n }\r\n\r\n let edge = ua.indexOf('Edge/');\r\n if (edge > 0) {\r\n // Edge (IE 12+) => return version number\r\n return parseInt(ua.substring(edge + 5, ua.indexOf('.', edge)), 10);\r\n }\r\n\r\n // other browser\r\n return false;\r\n }\r\n\r\n public saveToFileSystem(response: HttpResponse) {\r\n const contentDispositionHeader: string = response.headers.get('Content-Disposition');\r\n const parts: string[] = contentDispositionHeader.split(';');\r\n const filename = parts[1].split('=')[1];\r\n const blob = new Blob([response.body], {type: 'text/plain'});\r\n this.saveAs(blob, filename);\r\n }\r\n\r\n public saveResponseToFileSystem(response: HttpResponse) {\r\n const contentDispositionHeader: string = response.headers.get('Content-Disposition');\r\n let filename = 'export';\r\n if (contentDispositionHeader) {\r\n const parts: string[] = contentDispositionHeader.split(';');\r\n filename = parts[1].split('=')[1];\r\n }\r\n const blob = new Blob([response.body], {type: 'text/plain'});\r\n this.saveAs(blob, filename);\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/core/visbos-core/http/file.service.ts","module.exports = \"\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/core/visbos-core/loading/loading-data/loading-data.component.css\n// module id = ./src/app/core/visbos-core/loading/loading-data/loading-data.component.css\n// module chunks = main","module.exports = \"
\\r\\n \\r\\n

{{loadingText}}

\\r\\n
\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/core/visbos-core/loading/loading-data/loading-data.component.html\n// module id = ./src/app/core/visbos-core/loading/loading-data/loading-data.component.html\n// module chunks = main","import {Component, Input, OnInit} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'vb-loading-data',\r\n templateUrl: './loading-data.component.html',\r\n styleUrls: ['./loading-data.component.css']\r\n})\r\nexport class LoadingDataComponent implements OnInit {\r\n\r\n @Input()\r\n loadingText: string = 'Lade Daten...';\r\n\r\n constructor() {\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/core/visbos-core/loading/loading-data/loading-data.component.ts","module.exports = \"\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/core/visbos-core/loading/loading.component.css\n// module id = ./src/app/core/visbos-core/loading/loading.component.css\n// module chunks = main","module.exports = \"
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n

\\r\\n\\r\\n

Lade Daten...

\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/core/visbos-core/loading/loading.component.html\n// module id = ./src/app/core/visbos-core/loading/loading.component.html\n// module chunks = main","import {AfterViewInit, ChangeDetectionStrategy, Component, OnDestroy, OnInit, ViewChild} from \"@angular/core\";\r\nimport {ModalDirective} from \"ngx-bootstrap\";\r\nimport {select} from \"@angular-redux/store\";\r\nimport {Subscribable} from \"rxjs/Observable\";\r\nimport {Subscription} from \"rxjs/Subscription\";\r\n\r\n@Component({\r\n selector: 'vb-loading',\r\n templateUrl: './loading.component.html',\r\n styleUrls: ['./loading.component.css'],\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class LoadingComponent implements OnInit, AfterViewInit, OnDestroy {\r\n\r\n @select(['session', 'isLoading']) loading;\r\n\r\n @ViewChild('loadingModal') public loadingModal: ModalDirective;\r\n\r\n public showLoadingModal(): void {\r\n this.loadingModal.show();\r\n }\r\n\r\n public hideLoadingModal(): void {\r\n this.loadingModal.hide();\r\n }\r\n\r\n private loadingSub: Subscription;\r\n\r\n constructor() {\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.loadingSub = this.loading.subscribe((load: any) => {\r\n if (load) {\r\n this.showLoadingModal();\r\n } else {\r\n this.hideLoadingModal();\r\n }\r\n });\r\n\r\n }\r\n\r\n ngOnDestroy(): void {\r\n if (this.loadingSub) {\r\n this.loadingSub.unsubscribe();\r\n }\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/core/visbos-core/loading/loading.component.ts","import {\r\n HttpErrorResponse, HttpEvent, HttpHandler, HttpInterceptor, HttpRequest,\r\n HttpResponse\r\n} from \"@angular/common/http\";\r\nimport {Observable} from \"rxjs/Observable\";\r\nimport {tap} from \"rxjs/operators\";\r\nimport {Injector} from \"@angular/core\";\r\nimport {Router} from \"@angular/router\";\r\n\r\nexport class MaintenanceInterceptor implements HttpInterceptor {\r\n\r\n private get router(): Router {\r\n return this.injector.get(Router);\r\n }\r\n\r\n constructor(private injector: Injector) {\r\n }\r\n\r\n intercept(request: HttpRequest, next: HttpHandler): Observable> {\r\n\r\n return next.handle(request).pipe(\r\n tap((event: HttpEvent) => {\r\n if (event instanceof HttpResponse) {\r\n // do stuff with response if you want\r\n }\r\n }, (err: any) => {\r\n if (err instanceof HttpErrorResponse) {\r\n if (err.status === 503) {\r\n this.router.navigate(['maintenance']);\r\n }\r\n }\r\n })\r\n );\r\n }\r\n}\n\n\n// WEBPACK FOOTER //\n// ./src/app/core/visbos-core/maintenance/maintenance.interceptor.ts","import {Injectable} from '@angular/core';\r\nimport {Router} from \"@angular/router\";\r\nimport {HttpClient, HttpErrorResponse} from \"@angular/common/http\";\r\nimport {environment} from \"../../../../environments/environment\";\r\nimport {catchError, map} from \"rxjs/operators\";\r\nimport {empty} from \"rxjs/observable/empty\";\r\nimport {Observable} from \"rxjs/Observable\";\r\n\r\nexport interface MaintenanceData {\r\n maintenance: boolean;\r\n message?: string;\r\n start_time?: Date;\r\n approx_end_time?: Date;\r\n}\r\n\r\n@Injectable()\r\nexport class MaintenanceService {\r\n\r\n constructor(private router: Router, private http: HttpClient) {\r\n }\r\n\r\n public getMaintenanceStatus(): Observable {\r\n return this.http.get(environment.baseUrl + '/api/check-maintenance', {observe: 'response'}).pipe(\r\n map(res => res.body),\r\n catchError(err => {\r\n if (err instanceof HttpErrorResponse && err.status === 503) {\r\n console.warn(\"API is in maintenance mode...\");\r\n return empty();\r\n }\r\n throw err;\r\n })\r\n );\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/core/visbos-core/maintenance/maintenance.service.ts","import {Pipe, PipeTransform} from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'mapToIterable'\r\n})\r\nexport class MapToIterablePipe implements PipeTransform {\r\n transform(dict: Object) {\r\n let a = [];\r\n for (let key in dict) {\r\n if (dict.hasOwnProperty(key)) {\r\n a.push({key: key, value: dict[key]});\r\n }\r\n }\r\n return a;\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/core/visbos-core/pipes/map-to-iterable.pipe.ts","import {Injectable} from \"@angular/core\";\r\nimport gql from \"graphql-tag\";\r\nimport {VisbosService} from \"../graphql/visbos.service\";\r\nimport {Country} from \"../model/country.type\";\r\nimport {Apollo, ApolloQueryObservable} from \"apollo-angular\";\r\nimport {City} from \"../model/city.type\";\r\nimport {NgRedux} from \"@angular-redux/store\";\r\nimport {IAppState} from \"../../../shared/redux-store\";\r\nimport {SessionActions} from \"../../../shared/actions\";\r\nimport {map} from \"rxjs/operators\";\r\n\r\nexport const addressFragments = {\r\n country: gql`\r\n fragment CountryFields on Country {\r\n cuid, label, is_editable\r\n name, short_name\r\n }`,\r\n address: gql`\r\n fragment AddressFields on Address {\r\n cuid, address_name, is_editable\r\n street, number,\r\n city {\r\n cuid, zip, town,\r\n country { cuid, label, name, short_name }\r\n }\r\n }`,\r\n city: gql`\r\n fragment CityFields on City {\r\n cuid, zip, town, is_editable\r\n country { cuid, label, name, short_name }\r\n }`\r\n};\r\n\r\nexport const fetchCountriesQuery = gql`\r\n query FetchCountriesQuery($searchString: String) {\r\n countries(search_string: $searchString) {\r\n ...CountryFields\r\n }\r\n }\r\n\r\n ${addressFragments['country']}\r\n`;\r\n\r\n@Injectable()\r\nexport class AddressService extends VisbosService {\r\n\r\n\r\n constructor(apollo: Apollo, ngRedux: NgRedux, sessionActions: SessionActions) {\r\n super(apollo, ngRedux, sessionActions);\r\n }\r\n\r\n public getCities(searchString?: string): ApolloQueryObservable {\r\n\r\n let query = this.fetchItems({\r\n query: gql`query FetchCities($searchString: String) {\r\n cities(search_string: $searchString) {\r\n ...CityFields\r\n }\r\n }\r\n\r\n ${addressFragments['city']}\r\n `,\r\n variables: {\r\n searchString: searchString\r\n }\r\n });\r\n\r\n return >query.pipe(map(({data}: any) => data.cities));\r\n }\r\n\r\n public getCountries(searchString?: string): ApolloQueryObservable {\r\n\r\n let query = this.fetchItems({\r\n query: fetchCountriesQuery,\r\n variables: {\r\n searchString: searchString\r\n },\r\n });\r\n\r\n return >query.pipe(map(({data}: any) => data.countries));\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/core/visbos-core/services/address.service.ts","import {Injectable} from \"@angular/core\";\r\nimport gql from \"graphql-tag\";\r\nimport {VisbosService} from \"../graphql/visbos.service\";\r\nimport {Apollo, ApolloQueryObservable} from \"apollo-angular\";\r\nimport {NgRedux} from \"@angular-redux/store\";\r\nimport {IAppState} from \"../../../shared/redux-store\";\r\nimport {SessionActions} from \"../../../shared/actions\";\r\nimport {Observable} from \"rxjs/Observable\";\r\n\r\nexport const keywordFragments = {\r\n keyword: gql`\r\n fragment KeywordFields on Keyword {\r\n cuid label is_editable\r\n created_at updated_at\r\n keyword search_string\r\n }`\r\n};\r\n\r\nexport const FetchKeywordsQuery = gql`\r\n query Keywords($searchString: String) {\r\n keywords(search_string: $searchString) {\r\n ...KeywordFields\r\n }\r\n }\r\n ${keywordFragments.keyword}\r\n`;\r\n\r\n@Injectable()\r\nexport class KeywordService extends VisbosService {\r\n\r\n\r\n constructor(apollo: Apollo, ngRedux: NgRedux, sessionActions: SessionActions) {\r\n super(apollo, ngRedux, sessionActions);\r\n }\r\n\r\n public findKeywords(searchString?: string | Observable): ApolloQueryObservable<{ keywords }> {\r\n return this.fetchItems({\r\n query: FetchKeywordsQuery,\r\n variables: {\r\n searchString: searchString\r\n },\r\n fetchPolicy: \"network-only\"\r\n });\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/core/visbos-core/services/keyword.service.ts","import {Injectable} from \"@angular/core\";\r\nimport {VisbosService} from \"../graphql/visbos.service\";\r\nimport {Apollo, ApolloQueryObservable} from \"apollo-angular\";\r\nimport {Unit, UNIT_CATEGORY} from \"../model/unit.type\";\r\nimport gql from \"graphql-tag\";\r\nimport {NgRedux} from \"@angular-redux/store\";\r\nimport {IAppState} from \"../../../shared/redux-store\";\r\nimport {SessionActions} from \"../../../shared/actions\";\r\nimport {map} from \"rxjs/operators\";\r\n\r\n@Injectable()\r\nexport class UnitService extends VisbosService {\r\n\r\n constructor(apollo: Apollo, ngRedux: NgRedux, sessionActions: SessionActions) {\r\n super(apollo, ngRedux, sessionActions);\r\n }\r\n\r\n public getUnits(unitCategories?: UNIT_CATEGORY[]): ApolloQueryObservable {\r\n\r\n let query = this.fetchItems({\r\n query: gql`query FetchUnitsQuery($categories: [String]) {\r\n units(categories: $categories) {\r\n cuid, unit, label, unit_name, unit_category\r\n }\r\n }`,\r\n variables: {\r\n categories: unitCategories ? unitCategories : null\r\n }\r\n });\r\n\r\n return >query.pipe(map(({data}:any) => data.units));\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/core/visbos-core/services/unit.service.ts","import {Injectable} from '@angular/core';\r\nimport {environment} from \"../../../../environments/environment\";\r\nimport {Channel, Pusher} from \"pusher-js\";\r\nimport {VisbosService} from \"../graphql/visbos.service\";\r\nimport {Apollo} from \"apollo-angular\";\r\nimport {NgRedux, select} from \"@angular-redux/store\";\r\nimport {IAppState} from \"../../../shared/redux-store\";\r\nimport {SessionActions} from \"../../../shared/actions\";\r\nimport {Subject} from \"rxjs/Subject\";\r\nimport {BehaviorSubject} from \"rxjs/BehaviorSubject\";\r\n\r\ndeclare const Pusher: any;\r\n\r\n@Injectable()\r\nexport class PusherService extends VisbosService {\r\n\r\n @select(['session', 'loggedIn'])\r\n private loggedIn$;\r\n\r\n private privatePusher: Pusher;\r\n private publicPusher: Pusher;\r\n\r\n public userNotificationsChannel$: Subject = new BehaviorSubject(null);\r\n public maintenanceChannel$: Subject = new BehaviorSubject(null);\r\n\r\n\r\n constructor(apollo: Apollo, ngRedux: NgRedux, sessionActions: SessionActions) {\r\n super(apollo, ngRedux, sessionActions);\r\n\r\n this.initPublicPusher();\r\n\r\n this.loggedIn$.subscribe(loggedIn => {\r\n if (loggedIn) {\r\n this.authorizePusher(this.ngRedux.getState().session.token);\r\n } else {\r\n if (this.privatePusher) {\r\n this.privatePusher.disconnect();\r\n this.userNotificationsChannel$.next(null);\r\n }\r\n }\r\n });\r\n\r\n }\r\n\r\n private authorizePusher(token: string) {\r\n\r\n this.privatePusher = new Pusher(environment.pusher.key, {\r\n authEndpoint: environment.pusherAuthServer,\r\n auth: {\r\n headers: {\r\n 'Authorization': \"Bearer \" + token\r\n }\r\n },\r\n cluster: 'eu',\r\n disableStats: true,\r\n encrypted: environment.pusher.encrypted,\r\n wsHost: environment.pusher.host,\r\n wsPort: environment.pusher.wsPort,\r\n wssPort: environment.pusher.wssPort,\r\n httpHost: environment.pusher.host,\r\n wsPath: environment.pusher.wsPath,\r\n //enabledTransports: ['ws', 'wss'],\r\n forceTLS: true\r\n });\r\n this.userNotificationsChannel$.next(this.privatePusher.subscribe('private-vb.maintenance'));\r\n\r\n }\r\n\r\n private initPublicPusher() {\r\n\r\n this.publicPusher = new Pusher(environment.pusher.key, {\r\n cluster: 'eu',\r\n disableStats: true,\r\n encrypted: environment.pusher.encrypted,\r\n wsHost: environment.pusher.host,\r\n wsPort: environment.pusher.wsPort,\r\n wssPort: environment.pusher.wssPort,\r\n httpHost: environment.pusher.host,\r\n wsPath: environment.pusher.wsPath,\r\n //enabledTransports: ['ws', 'wss'],\r\n forceTLS: true\r\n });\r\n this.maintenanceChannel$.next(this.publicPusher.subscribe('vb.maintenance'));\r\n\r\n }\r\n\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/core/visbos-core/subscriptions/pusher.service.ts","import {Directive, ElementRef, HostBinding} from \"@angular/core\";\r\n\r\n@Directive({\r\n selector: '[vbAddButton]'\r\n})\r\nexport class AddButtonDirective {\r\n\r\n constructor(el: ElementRef) {\r\n el.nativeElement.appendChild(\"TTT\");\r\n }\r\n\r\n @HostBinding('class')\r\n buttonClass = \"btn btn-default btn-sm\";\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/core/visbos-core/ui/buttons/add-button.directive.ts","module.exports = \"\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/core/visbos-core/ui/buttons/add-button/add-button.component.css\n// module id = ./src/app/core/visbos-core/ui/buttons/add-button/add-button.component.css\n// module chunks = main","module.exports = \"\\r\\n \\r\\n \\r\\n\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/core/visbos-core/ui/buttons/add-button/add-button.component.html\n// module id = ./src/app/core/visbos-core/ui/buttons/add-button/add-button.component.html\n// module chunks = main","import {Component, EventEmitter, Input, OnInit, Output} from \"@angular/core\";\r\n\r\n@Component({\r\n selector: 'vb-add-button',\r\n templateUrl: './add-button.component.html',\r\n styleUrls: ['./add-button.component.css']\r\n})\r\nexport class AddButtonComponent implements OnInit {\r\n\r\n @Input()\r\n helpText: string = \"\";\r\n\r\n @Input()\r\n size: string;\r\n\r\n @Input('buttonClass')\r\n buttonClass: string = \"btn-default\";\r\n\r\n @Input()\r\n disabled: boolean = false;\r\n\r\n @Input()\r\n confirm: boolean = false;\r\n\r\n @Output()\r\n buttonClicked: EventEmitter = new EventEmitter();\r\n\r\n constructor() {\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n onButtonClick(event?) {\r\n this.buttonClicked.emit();\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/core/visbos-core/ui/buttons/add-button/add-button.component.ts","module.exports = \"\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/core/visbos-core/ui/buttons/delete-button/delete-button.component.css\n// module id = ./src/app/core/visbos-core/ui/buttons/delete-button/delete-button.component.css\n// module chunks = main","module.exports = \"\\r\\n \\r\\n \\r\\n\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/core/visbos-core/ui/buttons/delete-button/delete-button.component.html\n// module id = ./src/app/core/visbos-core/ui/buttons/delete-button/delete-button.component.html\n// module chunks = main","import {Component, EventEmitter, Input, OnInit, Output} from \"@angular/core\";\r\n\r\n@Component({\r\n selector: 'vb-delete-button',\r\n templateUrl: './delete-button.component.html',\r\n styleUrls: ['./delete-button.component.css']\r\n})\r\nexport class DeleteButtonComponent implements OnInit {\r\n\r\n @Input()\r\n confirmQuestion: string = \"Soll der Löschvorgang ausgeführt werden?\";\r\n\r\n @Input()\r\n confirmTitle: string;\r\n\r\n @Input()\r\n helpText: string = \"\";\r\n\r\n @Input()\r\n disabledText: string;\r\n\r\n @Input()\r\n size: string;\r\n\r\n @Input('buttonClass')\r\n buttonClass: string = \"btn-danger\";\r\n\r\n @Input()\r\n disabled: boolean = false;\r\n\r\n @Input()\r\n confirm: boolean = false;\r\n\r\n @Input()\r\n danger: boolean = false;\r\n\r\n @Output()\r\n buttonClicked: EventEmitter = new EventEmitter();\r\n\r\n\r\n constructor() {\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n onButtonClick(event?) {\r\n this.buttonClicked.emit();\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/core/visbos-core/ui/buttons/delete-button/delete-button.component.ts","module.exports = \"\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/core/visbos-core/ui/buttons/edit-button/edit-button.component.css\n// module id = ./src/app/core/visbos-core/ui/buttons/edit-button/edit-button.component.css\n// module chunks = main","module.exports = \"\\r\\n \\r\\n \\r\\n\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/core/visbos-core/ui/buttons/edit-button/edit-button.component.html\n// module id = ./src/app/core/visbos-core/ui/buttons/edit-button/edit-button.component.html\n// module chunks = main","import {Component, EventEmitter, Input, OnInit, Output} from \"@angular/core\";\r\n\r\n@Component({\r\n selector: 'vb-edit-button',\r\n templateUrl: './edit-button.component.html',\r\n styleUrls: ['./edit-button.component.css']\r\n})\r\nexport class EditButtonComponent implements OnInit {\r\n\r\n @Input()\r\n confirmQuestion: string = \"Sind Sie sicher?\";\r\n\r\n @Input()\r\n confirmTitle: string;\r\n\r\n @Input()\r\n helpText: string = \"\";\r\n\r\n @Input()\r\n disabledText: string;\r\n\r\n @Input()\r\n size: string;\r\n\r\n @Input('buttonClass')\r\n buttonClass: string = \"btn-default\";\r\n\r\n @Input()\r\n disabled: boolean;\r\n\r\n @Input()\r\n confirm: boolean = false;\r\n\r\n @Output()\r\n buttonClicked: EventEmitter = new EventEmitter();\r\n\r\n\r\n constructor() {\r\n }\r\n\r\n ngOnInit() {\r\n\r\n }\r\n\r\n onButtonClick(event?) {\r\n this.buttonClicked.emit();\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/core/visbos-core/ui/buttons/edit-button/edit-button.component.ts","module.exports = \"\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/core/visbos-core/ui/buttons/generic-button/generic-button.component.css\n// module id = ./src/app/core/visbos-core/ui/buttons/generic-button/generic-button.component.css\n// module chunks = main","module.exports = \"\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/core/visbos-core/ui/buttons/generic-button/generic-button.component.html\n// module id = ./src/app/core/visbos-core/ui/buttons/generic-button/generic-button.component.html\n// module chunks = main","import {\r\n ApplicationRef,\r\n Component,\r\n ComponentFactoryResolver,\r\n ComponentRef,\r\n EventEmitter,\r\n Input,\r\n OnInit,\r\n Output\r\n} from \"@angular/core\";\r\nimport {DialogComponent} from \"../../dialogs/dialog/dialog.component\";\r\nimport {VisBosComponent} from '../../../../../visbos.component';\r\n\r\n@Component({\r\n selector: 'vb-generic-button, [vb-generic-button]',\r\n templateUrl: './generic-button.component.html',\r\n styleUrls: ['./generic-button.component.css'],\r\n entryComponents: [DialogComponent]\r\n})\r\nexport class GenericButtonComponent implements OnInit {\r\n\r\n @Input()\r\n confirmQuestion: string = \"Sind Sie sicher?\";\r\n\r\n @Input()\r\n confirmTitle: string;\r\n\r\n @Input()\r\n helpText: string = \"\";\r\n\r\n @Input()\r\n disabledText: string;\r\n\r\n @Input()\r\n size: string = '';\r\n\r\n @Input()\r\n iconClass: string;\r\n\r\n @Input()\r\n buttonClass: string = \"btn-default\";\r\n\r\n @Input()\r\n type: 'button' | 'submit' | 'reset' = 'button';\r\n\r\n @Input()\r\n disabled: boolean = false;\r\n\r\n @Input()\r\n visible: boolean = true;\r\n\r\n @Input()\r\n confirm: boolean = false;\r\n\r\n @Input()\r\n danger: boolean = false;\r\n\r\n @Output()\r\n buttonClicked: EventEmitter = new EventEmitter();\r\n\r\n rootViewRef;\r\n\r\n @Input()\r\n id: string;\r\n\r\n private modal: DialogComponent;\r\n\r\n constructor(private appRef: ApplicationRef, private componentFactoryResolver: ComponentFactoryResolver) {\r\n this.rootViewRef = (appRef.components[0].instance as VisBosComponent).rootViewRef;\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n onButtonClick(event?) {\r\n this.buttonClicked.emit();\r\n }\r\n\r\n onModalShowClicked() {\r\n this.createDialog(DialogComponent);\r\n }\r\n\r\n createDialog(modalComponent: { new(): DialogComponent }): ComponentRef {\r\n this.rootViewRef.clear();\r\n\r\n let dialogComponentFactory =\r\n this.componentFactoryResolver.resolveComponentFactory(modalComponent);\r\n let dialogComponentRef = this.rootViewRef.createComponent(dialogComponentFactory);\r\n\r\n this.modal = dialogComponentRef.instance;\r\n\r\n this.modal.confirmQuestion = this.confirmQuestion;\r\n this.modal.confirmTitle = this.confirmTitle;\r\n this.modal.helpText = this.helpText;\r\n this.modal.danger = this.danger;\r\n\r\n dialogComponentRef.changeDetectorRef.detectChanges();\r\n\r\n let confSub = this.modal.confirmClicked.subscribe(() => {\r\n this.buttonClicked.next();\r\n this.modal.hide();\r\n });\r\n\r\n let cancSub = this.modal.cancelClicked.subscribe(() => {\r\n this.modal.hide();\r\n });\r\n\r\n this.modal.onClose().subscribe(() => {\r\n confSub.unsubscribe();\r\n cancSub.unsubscribe();\r\n dialogComponentRef.destroy();\r\n });\r\n\r\n return dialogComponentRef;\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/core/visbos-core/ui/buttons/generic-button/generic-button.component.ts","module.exports = \"\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/core/visbos-core/ui/buttons/save-button/save-button.component.css\n// module id = ./src/app/core/visbos-core/ui/buttons/save-button/save-button.component.css\n// module chunks = main","module.exports = \"\\r\\n \\r\\n \\r\\n\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/core/visbos-core/ui/buttons/save-button/save-button.component.html\n// module id = ./src/app/core/visbos-core/ui/buttons/save-button/save-button.component.html\n// module chunks = main","import {Component, EventEmitter, Input, OnInit, Output} from \"@angular/core\";\r\n\r\n@Component({\r\n selector: 'vb-save-button',\r\n templateUrl: './save-button.component.html',\r\n styleUrls: ['./save-button.component.css']\r\n})\r\nexport class SaveButtonComponent implements OnInit {\r\n\r\n @Input()\r\n helpText: string;\r\n\r\n @Input()\r\n size: string;\r\n\r\n @Input('buttonClass')\r\n buttonClass: string = \"btn-primary\";\r\n\r\n @Input()\r\n disabled: boolean = false;\r\n\r\n @Input()\r\n disabledText: string;\r\n\r\n @Input()\r\n confirm: boolean = false;\r\n\r\n @Output()\r\n buttonClicked: EventEmitter = new EventEmitter();\r\n\r\n constructor() {\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n onButtonClick(event?) {\r\n this.buttonClicked.emit();\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/core/visbos-core/ui/buttons/save-button/save-button.component.ts","/**\r\n * Created by afuhr on 23.01.2017.\r\n */\r\nimport * as _ from \"lodash\";\r\nimport {FormArray, FormControl} from \"@angular/forms\";\r\nimport {ChangeDetectorRef, EventEmitter, Input, Output} from \"@angular/core\";\r\nimport {AbstractVisbosComponent} from \"../../components/abstract-visbos.component\";\r\nimport {SessionActions} from \"../../../../shared/actions/session.actions\";\r\nimport {BehaviorSubject} from \"rxjs/BehaviorSubject\";\r\n\r\nexport abstract class AbstractListView extends AbstractVisbosComponent {\r\n\r\n @Input()\r\n immutable: boolean = true;\r\n\r\n editing: { [cuid: string]: boolean } = {};\r\n columns = [];\r\n\r\n private _rows: Array = [];\r\n\r\n set rows(data: Array) {\r\n this._rows = data;\r\n };\r\n\r\n get rows(): Array {\r\n return this._rows || [];\r\n }\r\n\r\n @Input()\r\n isLoading: boolean = false;\r\n\r\n messages = {\r\n emptyMessage: 'Keine Einträge vorhanden',\r\n totalMessage: 'Einträge insgesamt'\r\n };\r\n\r\n private _searchTerm: FormControl;\r\n\r\n get searchTerm(): FormControl {\r\n if (!this._searchTerm) {\r\n this.searchTerm = new FormControl();\r\n }\r\n return this._searchTerm;\r\n }\r\n\r\n @Input()\r\n set searchTerm(value: FormControl) {\r\n this._searchTerm = value;\r\n }\r\n\r\n private _selectedItems: any[] = [];\r\n\r\n @Input()\r\n set selectedItems(value: any[]) {\r\n this._selectedItems = value || [];\r\n this.selectedItemsChange.emit(this.selectedItems);\r\n }\r\n\r\n get selectedItems(): any[] {\r\n return this._selectedItems || [];\r\n }\r\n\r\n @Output()\r\n selectedItemsChange: EventEmitter = new EventEmitter();\r\n\r\n @Input()\r\n currentSearchTermValue: BehaviorSubject = new BehaviorSubject(null);\r\n\r\n\r\n constructor(sessionActions: SessionActions, cd: ChangeDetectorRef) {\r\n super(sessionActions, cd);\r\n }\r\n\r\n\r\n ngOnInit(): void {\r\n super.ngOnInit();\r\n }\r\n\r\n protected findStringInTable(item, columns, searchString): boolean {\r\n\r\n // Iterate over all columns of the data table and try to find the search string in each column\r\n for (let col of columns) {\r\n let obj: any = _.get(item, col.prop);\r\n\r\n if (col.comperator) {\r\n\r\n }\r\n\r\n if (obj) {\r\n let val = (obj instanceof Object) ? JSON.stringify(obj) : obj.toString();\r\n if (val.toLowerCase().includes(searchString.toLowerCase())) {\r\n return true;\r\n }\r\n }\r\n\r\n }\r\n\r\n return false;\r\n }\r\n\r\n updateValue(event, cell, cellValue, row, index): any {\r\n\r\n let newRows = JSON.parse(JSON.stringify(this.rows));\r\n newRows[index][cell] = event.target.value;\r\n\r\n this.editing[index + '-' + cell] = false;\r\n let res = {[cell]: event.target.value};\r\n\r\n this.onCellUpdate(row, res, index);\r\n\r\n return res;\r\n }\r\n\r\n isRowSelected(row, cuidPath: string = 'cuid'): boolean {\r\n return this.selectedItems.find(i => i === row[cuidPath]) !== null;\r\n }\r\n\r\n onCellUpdate(row, res, index) {\r\n\r\n };\r\n\r\n onSelectedChanged(selected: any[]) {\r\n this.selectedItems = selected;\r\n }\r\n\r\n findCuidInFormArray(cuid: string, formArray: FormArray) {\r\n const val: any[] = formArray.value;\r\n return val.findIndex((content) => {\r\n return content.cuid && content.cuid == cuid;\r\n });\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/core/visbos-core/ui/components/abstract-list-view.ts","module.exports = \"\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/core/visbos-core/ui/components/barcode-scanner/barcode-scanner.component.css\n// module id = ./src/app/core/visbos-core/ui/components/barcode-scanner/barcode-scanner.component.css\n// module chunks = main","module.exports = \"\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\nFrage Barcode ab...\\r\\n\\r\\n\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/core/visbos-core/ui/components/barcode-scanner/barcode-scanner.component.html\n// module id = ./src/app/core/visbos-core/ui/components/barcode-scanner/barcode-scanner.component.html\n// module chunks = main","import {Component, EventEmitter, HostBinding, HostListener, Input, OnDestroy, OnInit, Output} from \"@angular/core\";\r\nimport {IModel} from \"../../../../../shared/view-model/imodel.interface\";\r\nimport {BarcodeService} from \"../../../../../identity/services/barcode.service\";\r\nimport {Subject} from \"rxjs/Subject\";\r\nimport {ErrorHandlerService} from \"../../../error-handling/error-handler.service\";\r\nimport {ApolloError} from \"apollo-client\";\r\nimport {SessionActions} from \"../../../../../shared/actions/session.actions\";\r\nimport {MessageType} from \"../../../../../shared/redux-store/session/session.types\";\r\nimport {ApolloQueryObservable} from \"apollo-angular\";\r\nimport {Subscription} from \"rxjs/Subscription\";\r\nimport {HasPermissionToGuard} from '../../../authorization/guards/has-permission-to.guard';\r\nimport {ACCESS_MOBILE_SCANNER} from '../../../../../shared/auth/guards/api-permission';\r\n\r\n@Component({\r\n selector: 'vb-barcode-scanner',\r\n templateUrl: './barcode-scanner.component.html',\r\n styleUrls: ['./barcode-scanner.component.css']\r\n})\r\nexport class BarcodeScannerComponent implements OnInit, OnDestroy {\r\n\r\n @HostBinding('class')\r\n styleClass: string;\r\n\r\n @Input()\r\n iconClass: string;\r\n\r\n @Input()\r\n withTrashed = false;\r\n\r\n @Input()\r\n enabled: boolean = true;\r\n\r\n private enableRead: boolean = false;\r\n hasError: boolean = false;\r\n\r\n isLoading: boolean = false;\r\n\r\n @HostListener('document:keydown', ['$event'])\r\n handleStartEvent(event: KeyboardEvent) {\r\n\r\n if (!this.enabled && this.isStartKey(event)) {\r\n event.preventDefault();\r\n this.error(\"Die Code-Erfassung ist derzeit deaktiviert, bitte aktivieren Sie sie vor dem Scannen!\");\r\n return;\r\n }\r\n\r\n // Init barcode\r\n if (!this.enableRead && this.isStartKey(event)) {\r\n event.preventDefault();\r\n this.enableRead = true;\r\n this.ean = '';\r\n return;\r\n }\r\n\r\n if (this.enableRead && event.key != \"Enter\") {\r\n event.preventDefault();\r\n this.ean += event.key;\r\n return;\r\n }\r\n\r\n if (this.enableRead && event.key.startsWith('Shift')) {\r\n event.preventDefault();\r\n return;\r\n }\r\n\r\n // Start search\r\n if (this.enableRead && event.key == \"Enter\") {\r\n event.preventDefault();\r\n this.enableRead = false;\r\n this.ean$.next(this.ean);\r\n this.ean = '';\r\n return;\r\n }\r\n\r\n }\r\n\r\n @HostListener('document:keypress', ['$event'])\r\n handleKeyboardPressEvent(event: KeyboardEvent) {\r\n if (this.enableRead) {\r\n event.preventDefault();\r\n }\r\n\r\n }\r\n\r\n private ean: string = \"\";\r\n private ean$: Subject = new Subject();\r\n private eanSub: Subscription;\r\n\r\n @Input()\r\n allowedTypes: string[];\r\n\r\n @Input()\r\n forceSynchronousProcessing: boolean = false;\r\n\r\n @Output()\r\n searchFinished: EventEmitter = new EventEmitter();\r\n\r\n private barcodesQuery$: ApolloQueryObservable;\r\n private barcodesSubscription: Subscription;\r\n\r\n private errorSound = new Audio(\"assets/sounds/error-sound.wav\");\r\n private successSound = new Audio(\"assets/sounds/beep.mp3\");\r\n\r\n canAccessMobileScanner = false;\r\n\r\n constructor(private barcodeService: BarcodeService, private err: ErrorHandlerService, private sessionActions: SessionActions, private accessMobileScannerGuard: HasPermissionToGuard) {\r\n this.errorSound.load();\r\n this.successSound.load();\r\n }\r\n\r\n onMobileEanRecognized(ean) {\r\n this.ean$.next(ean);\r\n this.playSuccessSound();\r\n }\r\n\r\n ngOnInit() {\r\n\r\n this.canAccessMobileScanner = this.accessMobileScannerGuard.hasPermissionTo(ACCESS_MOBILE_SCANNER);\r\n\r\n this.barcodesQuery$ = this.barcodeService.cacheBarcodes(null, this.withTrashed);\r\n this.barcodesSubscription = this.barcodesQuery$.subscribe();\r\n\r\n this.eanSub = this.ean$.subscribe(ean => {\r\n if (this.forceSynchronousProcessing) {\r\n console.error(\"Synchronous execution not yet supported!\");\r\n } else {\r\n this.searchforItem(ean);\r\n }\r\n\r\n });\r\n }\r\n\r\n ngOnDestroy(): void {\r\n\r\n if (this.eanSub) {\r\n this.eanSub.unsubscribe();\r\n }\r\n\r\n if (this.barcodesSubscription) {\r\n this.barcodesSubscription.unsubscribe();\r\n }\r\n\r\n }\r\n\r\n private isStartKey(event: KeyboardEvent): boolean {\r\n return (event.keyCode == 45 || event.key == \"Insert\" || event.key == \"#\");\r\n }\r\n\r\n searchforItem(ean: string) {\r\n\r\n this.isLoading = true;\r\n\r\n this.barcodeService.resolveEAN(ean, this.withTrashed).toPromise()\r\n .then(res => {\r\n let bc = res.data.barcode;\r\n this.isLoading = false;\r\n\r\n if (!bc) {\r\n this.error(\"Es wurde kein zum Barcode \" + ean + \" passendes Objekt gefunden!\");\r\n } else if (bc && !bc.identifiable) {\r\n this.error(\"Dem Barcode \" + ean + \" ist kein Objekt zugeordnet!\");\r\n } else {\r\n if (this.allowedTypes) {\r\n if (this.allowedTypes.find(t => t.toLocaleLowerCase() == bc.identifiable.__typename.toLowerCase())) {\r\n this.success(bc);\r\n } else {\r\n this.error(\"Der Typ des durch den Barcode identifizierten Objekts ist an dieser Stelle nicht zulässig!\");\r\n }\r\n } else {\r\n this.success(bc);\r\n }\r\n }\r\n\r\n })\r\n .catch(error => {\r\n this.isLoading = false;\r\n\r\n if ((error instanceof ApolloError) && error.message.startsWith(\"GraphQL error: No query results\")) {\r\n this.error(\"Es wurde kein zum Barcode \" + ean + \" passendes Objekt gefunden!\");\r\n } else {\r\n this.error(\"Ein Fehler ist aufgetreten, bitte versuchen Sie es erneut!\", error)\r\n }\r\n\r\n });\r\n\r\n this.ean = '';\r\n\r\n }\r\n\r\n error(msg: string, err = null) {\r\n this.playErrorSound();\r\n this.hasError = true;\r\n if (err) {\r\n this.err.handleUserError(err, msg);\r\n } else {\r\n this.sessionActions.pushMessage(msg, MessageType.WARNING, \"Barcode-Eingabe\");\r\n }\r\n }\r\n\r\n success(bc) {\r\n this.hasError = false;\r\n this.searchFinished.emit(bc.identifiable);\r\n }\r\n\r\n private playErrorSound() {\r\n this.errorSound.play();\r\n }\r\n\r\n playSuccessSound() {\r\n this.successSound.play();\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/core/visbos-core/ui/components/barcode-scanner/barcode-scanner.component.ts","module.exports = \"\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/core/visbos-core/ui/components/content-page-view/content-page-view.component.css\n// module id = ./src/app/core/visbos-core/ui/components/content-page-view/content-page-view.component.css\n// module chunks = main","module.exports = \"

\\r\\n \\r\\n

\\r\\n\\r\\n\\r\\n \\r\\n \\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/core/visbos-core/ui/components/content-page-view/content-page-view.component.html\n// module id = ./src/app/core/visbos-core/ui/components/content-page-view/content-page-view.component.html\n// module chunks = main","import {ChangeDetectorRef, Component, Input, OnDestroy, OnInit} from \"@angular/core\";\r\nimport {ActionBarAction} from \"../../navigation/action-bar/action-bar.component\";\r\nimport {ActivatedRoute} from \"@angular/router\";\r\n\r\n@Component({\r\n selector: 'vb-content-page-view',\r\n templateUrl: './content-page-view.component.html',\r\n styleUrls: ['./content-page-view.component.css']\r\n})\r\nexport class ContentPageViewComponent implements OnInit, OnDestroy {\r\n\r\n @Input()\r\n touchMode: boolean = false;\r\n\r\n @Input()\r\n hideActions: boolean = false;\r\n\r\n @Input()\r\n actions: ActionBarAction[];\r\n\r\n @Input()\r\n isLoading: boolean;\r\n\r\n @Input()\r\n forceReInit: boolean = false;\r\n\r\n private initialized: boolean = true;\r\n\r\n constructor(private route: ActivatedRoute, private cd: ChangeDetectorRef) {\r\n }\r\n\r\n ngOnInit() {\r\n\r\n // Does not work:\r\n if (this.forceReInit) {\r\n this.initialized = false;\r\n this.cd.detectChanges();\r\n this.initialized = true;\r\n this.cd.detectChanges();\r\n }\r\n\r\n this.route.data.subscribe(d => {\r\n if (d.touchMode) {\r\n this.touchMode = d.touchMode;\r\n }\r\n });\r\n\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.initialized = false;\r\n }\r\n\r\n isContentVisible(): boolean {\r\n if (!this.forceReInit) {\r\n return true;\r\n } else {\r\n return this.initialized;\r\n }\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/core/visbos-core/ui/components/content-page-view/content-page-view.component.ts","module.exports = \"\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/core/visbos-core/ui/components/currency-input/currency-input.component.css\n// module id = ./src/app/core/visbos-core/ui/components/currency-input/currency-input.component.css\n// module chunks = main","module.exports = \"
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n \\r\\n \\r\\n\\r\\n\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/core/visbos-core/ui/components/currency-input/currency-input.component.html\n// module id = ./src/app/core/visbos-core/ui/components/currency-input/currency-input.component.html\n// module chunks = main","import {\r\n AfterContentChecked,\r\n ChangeDetectorRef,\r\n Component,\r\n ElementRef,\r\n forwardRef,\r\n Input,\r\n OnInit,\r\n ViewChild\r\n} from \"@angular/core\";\r\nimport {AbstractVisbosControl} from \"../../forms/abstract-visbos-control\";\r\nimport {FormBuilder, FormControl} from \"@angular/forms\";\r\nimport {GenericModalComponent} from \"../../forms/generic-modal/generic-modal.component\";\r\n\r\nexport const CURRENCY_ERRORS = {\r\n 'bruttoRequired': 'Der Preis muss brutto (inkl. MwSt.) angegeben werden!',\r\n 'nettoRequired': 'Der Preis muss netto (ohne MwSt.) angegeben werden!'\r\n};\r\n\r\n@Component({\r\n selector: 'vb-currency-input',\r\n templateUrl: './currency-input.component.html',\r\n styleUrls: ['./currency-input.component.css'],\r\n providers: [{provide: AbstractVisbosControl, useExisting: forwardRef(() => CurrencyInputComponent)}]\r\n})\r\nexport class CurrencyInputComponent extends AbstractVisbosControl implements OnInit, AfterContentChecked {\r\n\r\n @ViewChild('currencyInput') currencyInputEl: ElementRef;\r\n\r\n taxType: 'Netto' | 'Brutto' = 'Netto';\r\n\r\n buttonTitle: string = \"Netto/Brutto-Rechner\";\r\n\r\n @Input()\r\n enforce: 'Netto' | 'Brutto' | false = 'Netto';\r\n\r\n @Input()\r\n tax: number = 0.16;\r\n\r\n @Input()\r\n id: string = 'currencyInput';\r\n\r\n @Input()\r\n inputGroupClass: string = 'input-group-sm';\r\n\r\n @ViewChild('taxCalcModal')\r\n taxCalcModal: GenericModalComponent;\r\n\r\n\r\n constructor(fb: FormBuilder, cd: ChangeDetectorRef) {\r\n super(fb, cd, null);\r\n }\r\n\r\n ngOnInit() {\r\n super.ngOnInit();\r\n }\r\n\r\n ngAfterContentChecked(): void {\r\n if (this.enforce == 'Netto' && this.taxType == 'Brutto' && this.control.value != null) {\r\n this.control.setErrors({\r\n 'bruttoRequired': false,\r\n 'nettoRequired': true\r\n });\r\n } else if (this.enforce == 'Brutto' && this.taxType == 'Netto' && this.control.value != null) {\r\n this.control.setErrors({\r\n 'bruttoRequired': true,\r\n 'nettoRequired': false\r\n });\r\n } else {\r\n this.control.setErrors({\r\n 'bruttoRequired': false,\r\n 'nettoRequired': false\r\n });\r\n this.control.updateValueAndValidity();\r\n }\r\n\r\n let nEl = this.currencyInputEl.nativeElement;\r\n if (!nEl.validity.valid && nEl.validity.badInput) {\r\n this.control.setErrors({decimal: true});\r\n } else {\r\n this.control.updateValueAndValidity();\r\n }\r\n\r\n }\r\n\r\n public buildControlContent(values?: any, ...params: any[]): FormControl {\r\n return this.fb.control(null);\r\n };\r\n\r\n public setDefaultValues(currency?: number): { [p: string]: any } | any {\r\n return currency;\r\n }\r\n\r\n onOpenTaxCalculatorClicked() {\r\n this.taxCalcModal.show();\r\n }\r\n\r\n private computedCurrency;\r\n\r\n onTaxComputed(event) {\r\n this.computedCurrency = event;\r\n }\r\n\r\n saveComputedCurrency() {\r\n this.taxType = this.computedCurrency.type;\r\n this.control.setValue(this.computedCurrency.value.toFixed(2));\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/core/visbos-core/ui/components/currency-input/currency-input.component.ts","module.exports = \"\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/core/visbos-core/ui/components/datatable/datatable.component.css\n// module id = ./src/app/core/visbos-core/ui/components/datatable/datatable.component.css\n// module chunks = main","module.exports = \"\\r\\n\\r\\n \\r\\n \\r\\n\\r\\n\\r\\n\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n\\r\\n\\r\\n \\r\\n \\r\\n\\r\\n\\r\\n\\r\\n {{value ? (value | currency:'EUR':'symbol') : ''}}\\r\\n\\r\\n\\r\\n\\r\\n {{value ? (value | date:'shortDate') : ''}}\\r\\n\\r\\n\\r\\n\\r\\n {{value ? (value | date:'short') : ''}}\\r\\n\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/core/visbos-core/ui/components/datatable/datatable.component.html\n// module id = ./src/app/core/visbos-core/ui/components/datatable/datatable.component.html\n// module chunks = main","import {\r\n AfterViewInit,\r\n ChangeDetectorRef,\r\n Component,\r\n EventEmitter,\r\n Input,\r\n OnChanges,\r\n OnInit,\r\n Output,\r\n SimpleChanges,\r\n TemplateRef,\r\n ViewChild\r\n} from \"@angular/core\";\r\nimport {AbstractListView} from \"../abstract-list-view\";\r\nimport {IModel} from \"../../../../../shared/view-model/imodel.interface\";\r\nimport {FormControl} from \"@angular/forms\";\r\nimport {SessionActions} from \"../../../../../shared/actions/session.actions\";\r\nimport {isUndefined} from \"util\";\r\nimport {DatatableComponent as SwimlaneDatatableComponent} from \"@swimlane/ngx-datatable\";\r\nimport {ActivatedRoute, Router} from \"@angular/router\";\r\nimport {debounceTime} from \"rxjs/operators\";\r\nimport {Page} from '../../../../../shared/view-model/core/page.model';\r\nimport {SortInfo} from '../../../../../shared/view-model/core/sort.model';\r\n\r\n@Component({\r\n selector: 'vb-datatable',\r\n templateUrl: './datatable.component.html',\r\n styleUrls: ['./datatable.component.css'],\r\n inputs: ['messages', 'isLoading'],\r\n})\r\nexport class DatatableComponent extends AbstractListView implements OnInit, AfterViewInit, OnChanges {\r\n\r\n @ViewChild('formatCurrencyTmpl')\r\n public formatCurrencyTmpl: TemplateRef;\r\n\r\n @ViewChild('formatDateTmpl')\r\n public formatDateTmpl: TemplateRef;\r\n\r\n @ViewChild('formatDateTimeTmpl')\r\n public formatDateTimeTmpl: TemplateRef;\r\n\r\n @ViewChild('dataTable')\r\n public table: SwimlaneDatatableComponent;\r\n\r\n @Input()\r\n public rowIdentity = (row) => {\r\n return row.cuid;\r\n };\r\n\r\n // Table templates\r\n @Input()\r\n @ViewChild('actionsTmpl')\r\n actionsTmpl: TemplateRef;\r\n\r\n // Paging and sorting\r\n\r\n @Input()\r\n externalPaging = false;\r\n\r\n @Input()\r\n externalSorting = false;\r\n\r\n @Input()\r\n page = new Page();\r\n\r\n @Input()\r\n sort = new SortInfo();\r\n\r\n @Output()\r\n pageChange: EventEmitter = new EventEmitter();\r\n\r\n @Output()\r\n sortChange: EventEmitter = new EventEmitter();\r\n\r\n @ViewChild('detailToggleTmpl')\r\n detailToggleTmpl: TemplateRef;\r\n\r\n @Input()\r\n checkEditableFunction: (item: IModel) => boolean;\r\n\r\n @Input()\r\n dataLabel: string = \"Datensatz\";\r\n\r\n @Input()\r\n filterControl: FormControl;\r\n\r\n @Input()\r\n hasDetails: boolean = false;\r\n\r\n @Input()\r\n editable: boolean = true;\r\n\r\n @Input()\r\n selectable: boolean = false;\r\n\r\n @Input()\r\n addSelectableColumn: boolean = true;\r\n\r\n selectedItems: any[] = [];\r\n\r\n @Input()\r\n tableColumns = [{prop: 'label', name: 'Bezeichner'}];\r\n\r\n @Input()\r\n set data(data: IModel[]) {\r\n this.rows = data;\r\n if (this.filterControl) {\r\n const filterVal = this.filterControl.value;\r\n this.filterItems(filterVal);\r\n }\r\n }\r\n\r\n get data(): IModel[] {\r\n return this.rows;\r\n }\r\n\r\n\r\n @Input()\r\n rowDetailTmpl: TemplateRef;\r\n\r\n @Input()\r\n rowClass: (row) => any;\r\n\r\n @Input()\r\n rowDetailToggleClicked: (row, expanded, event: Event) => void = this.toggleExpandRow;\r\n\r\n @Output()\r\n detailToggleClicked: EventEmitter<{ event: Event, row: IModel, expanded: boolean }> = new EventEmitter();\r\n\r\n @Output()\r\n editClicked: EventEmitter = new EventEmitter();\r\n\r\n @Output()\r\n deleteClicked: EventEmitter = new EventEmitter();\r\n\r\n @Output()\r\n cellUpdated: EventEmitter<{ cuid: string, data: any }> = new EventEmitter();\r\n\r\n @Output()\r\n activate: EventEmitter = new EventEmitter();\r\n\r\n @Output()\r\n rowSelect: EventEmitter = new EventEmitter();\r\n\r\n @Output()\r\n itemSelect: EventEmitter = new EventEmitter();\r\n\r\n @Output()\r\n detailToggle: EventEmitter = new EventEmitter();\r\n\r\n constructor(sessionActions: SessionActions, private route: ActivatedRoute, private router: Router, cd: ChangeDetectorRef) {\r\n super(sessionActions, cd);\r\n }\r\n\r\n canEdit(item: IModel) {\r\n if (this.checkEditableFunction) {\r\n return this.checkEditableFunction(item);\r\n } else {\r\n return !item || isUndefined(item.is_editable) ? false : item.is_editable;\r\n }\r\n }\r\n\r\n ngOnInit() {\r\n this.columns = this.buildColumns();\r\n\r\n this.dataSubscriptions.push(this.route.queryParams.subscribe(param => {\r\n this.setPage({offset: param.page ? (+param.page - 1) : 0});\r\n }));\r\n }\r\n\r\n resetToFirstPage() {\r\n if (!this.externalPaging) {\r\n const page = this.route.snapshot.queryParams.page;\r\n this.page = new Page();\r\n this.page.totalElements = this.rows.length;\r\n this.table.bodyComponent.updateOffsetY(this.page.pageNumber);\r\n this.table.offset = 0;\r\n this.setPage({offset: 0});\r\n } else {\r\n this.table.bodyComponent.updateOffsetY(0);\r\n this.table.offset = 0;\r\n this.setPage({offset: 0});\r\n }\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n super.ngAfterViewInit();\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n\r\n let tblCol = changes['tableColumns'];\r\n\r\n if (tblCol) {\r\n this.columns = this.buildColumns();\r\n }\r\n\r\n if (changes['filterControl']) {\r\n if (changes['filterControl'].previousValue) {\r\n changes['filterControl'].previousValue.valueChanges.unsubscribe();\r\n }\r\n if (this.filterControl) {\r\n this.filterControl.valueChanges.pipe(\r\n debounceTime(500)\r\n ).subscribe((term: any) => {\r\n this.filterItems(term);\r\n this.resetToFirstPage();\r\n });\r\n }\r\n }\r\n\r\n }\r\n\r\n setPage(pageInfo) {\r\n this.page.pageNumber = pageInfo.offset;\r\n this.router.navigate(['./'], {\r\n relativeTo: this.route, queryParams: {page: pageInfo.offset + 1},\r\n replaceUrl: true\r\n });\r\n this.pageChange.emit(this.page);\r\n }\r\n\r\n onSort(event) {\r\n this.sort = new SortInfo(event.sorts[0].prop, event.sorts[0].dir);\r\n this.sortChange.emit(this.sort);\r\n }\r\n\r\n private buildColumns() {\r\n let col = [];\r\n\r\n if (this.selectable && this.addSelectableColumn) {\r\n col.push({\r\n name: '',\r\n width: 30,\r\n sortable: false,\r\n canAutoResize: false,\r\n draggable: false,\r\n resizeable: false,\r\n headerCheckboxable: true,\r\n checkboxable: true\r\n });\r\n }\r\n\r\n if (this.hasDetails) {\r\n col.push({\r\n name: '',\r\n cellTemplate: this.detailToggleTmpl,\r\n sortable: false,\r\n draggable: false,\r\n resizeable: false,\r\n canAutoResize: false,\r\n width: 50\r\n });\r\n }\r\n\r\n col.push(...this.tableColumns);\r\n\r\n if (this.editable) {\r\n col.push({\r\n name: '',\r\n cellTemplate: this.actionsTmpl,\r\n sortable: false,\r\n resizeable: false,\r\n draggable: false,\r\n canAutoResize: false,\r\n width: 150\r\n });\r\n }\r\n\r\n return col;\r\n }\r\n\r\n edit(item: IModel) {\r\n this.editClicked.emit(item);\r\n }\r\n\r\n delete(item: IModel) {\r\n this.deleteClicked.emit(item);\r\n }\r\n\r\n toggleExpandRow(row, expanded, event: Event) {\r\n this.table.rowDetail.toggleExpandRow(row);\r\n this.detailToggleClicked.emit({event: event, row: row, expanded: expanded});\r\n }\r\n\r\n filterItems(searchTerm) {\r\n if (!searchTerm || searchTerm == \"\") {\r\n this.rows = this.data;\r\n } else {\r\n if (this.data) {\r\n this.rows = this.data.filter((si: IModel) => this.findStringInTable(si, this.columns, searchTerm));\r\n }\r\n }\r\n }\r\n\r\n recalculate() {\r\n this.table.recalculate();\r\n this.cd.detectChanges();\r\n }\r\n\r\n onCellUpdate(row, res, index) {\r\n this.cellUpdated.emit({cuid: row.cuid, data: res});\r\n }\r\n\r\n onActivate(event) {\r\n this.activate.emit(event);\r\n }\r\n\r\n onSelect({selected}) {\r\n\r\n if (isUndefined(selected)) {\r\n return;\r\n }\r\n\r\n // Mutable version\r\n //this.selectedItems.splice(0, this.selectedItems.length);\r\n //this.selectedItems.push(...selected);\r\n\r\n this.selectedItems = [...selected];\r\n this.rowSelect.emit(this.selectedItems.map(item => item ? item.cuid : item));\r\n this.itemSelect.emit(this.selectedItems);\r\n\r\n }\r\n\r\n onDetailToggle() {\r\n this.detailToggle.emit();\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/core/visbos-core/ui/components/datatable/datatable.component.ts","module.exports = \"\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/core/visbos-core/ui/components/datepicker-input/datepicker-input.component.css\n// module id = ./src/app/core/visbos-core/ui/components/datepicker-input/datepicker-input.component.css\n// module chunks = main","module.exports = \"
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n\\r\\n \\r\\n \\r\\n\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/core/visbos-core/ui/components/datepicker-input/datepicker-input.component.html\n// module id = ./src/app/core/visbos-core/ui/components/datepicker-input/datepicker-input.component.html\n// module chunks = main","import {ChangeDetectorRef, Component, EventEmitter, forwardRef, Input, OnInit, Output} from '@angular/core';\r\nimport {AbstractVisbosControl} from \"../../forms/abstract-visbos-control\";\r\nimport {FormBuilder, FormControl} from \"@angular/forms\";\r\nimport {SessionActions} from \"../../../../../shared/actions\";\r\n\r\n@Component({\r\n selector: 'vb-datepicker-input',\r\n templateUrl: './datepicker-input.component.html',\r\n styleUrls: ['./datepicker-input.component.css'],\r\n providers: [{provide: AbstractVisbosControl, useExisting: forwardRef(() => DatepickerInputComponent)}]\r\n})\r\nexport class DatepickerInputComponent extends AbstractVisbosControl implements OnInit {\r\n\r\n @Input()\r\n id: string = 'datePickerInput';\r\n\r\n @Input()\r\n inputGroupClass: string = 'input-group-sm';\r\n\r\n @Output()\r\n dateSelect: EventEmitter = new EventEmitter();\r\n\r\n @Output()\r\n dateUnselect: EventEmitter = new EventEmitter();\r\n\r\n\r\n constructor(fb: FormBuilder, cd: ChangeDetectorRef, sessionActions: SessionActions) {\r\n super(fb, cd, sessionActions);\r\n }\r\n\r\n ngOnInit() {\r\n super.ngOnInit();\r\n }\r\n\r\n buildControlContent(): FormControl {\r\n return this.fb.control(null);\r\n }\r\n\r\n onDateSelected(event) {\r\n this.control.setValue(event);\r\n this.dateSelect.emit(event);\r\n }\r\n\r\n onDateDeselectClicked() {\r\n this.control.setValue(void 0);\r\n this.dateUnselect.emit();\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/core/visbos-core/ui/components/datepicker-input/datepicker-input.component.ts","module.exports = \".viewport {\\r\\n border-style: solid;\\r\\n border-color: #9f9f9f;\\r\\n height: 25vh;\\r\\n position: relative;\\r\\n}\\r\\n\\r\\n:host::ng-deep .viewport > canvas, :host::ng-deep.viewport > video {\\r\\n max-width: 100%;\\r\\n width: 100%;\\r\\n max-height: 25vh;\\r\\n height: 100%;\\r\\n -o-object-fit: cover;\\r\\n object-fit: cover;\\r\\n}\\r\\n\\r\\n.scanning {\\r\\n border-color: #ff6600;\\r\\n border-width: thick;\\r\\n}\\r\\n\\r\\n:host::ng-deep .viewport > canvas.drawing, :host::ng-deep .viewport > canvas.drawingBuffer {\\r\\n position: absolute;\\r\\n left: 0;\\r\\n top: 0;\\r\\n}\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/core/visbos-core/ui/components/mobile-barcode-scanner/mobile-barcode-scanner.component.css\n// module id = ./src/app/core/visbos-core/ui/components/mobile-barcode-scanner/mobile-barcode-scanner.component.css\n// module chunks = main","module.exports = \"\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n {{ errorMessage }}\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n {{lastScannedCode}}\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/core/visbos-core/ui/components/mobile-barcode-scanner/mobile-barcode-scanner.component.html\n// module id = ./src/app/core/visbos-core/ui/components/mobile-barcode-scanner/mobile-barcode-scanner.component.html\n// module chunks = main","import {ChangeDetectorRef, Component, EventEmitter, Input, OnDestroy, OnInit, Output, ViewChild} from '@angular/core';\r\nimport {BehaviorSubject} from 'rxjs';\r\nimport {GenericModalComponent} from '../../forms/generic-modal/generic-modal.component';\r\n\r\ndeclare var Quagga;\r\n\r\n@Component({\r\n selector: 'vb-mobile-barcode-scanner',\r\n templateUrl: './mobile-barcode-scanner.component.html',\r\n styleUrls: ['./mobile-barcode-scanner.component.css']\r\n})\r\nexport class MobileBarcodeScannerComponent implements OnInit, OnDestroy {\r\n\r\n @Input()\r\n formats = [\"ean_8_reader\"];\r\n\r\n showScanner = false;\r\n\r\n errorMessage: string;\r\n\r\n lastScannedCode: string;\r\n lastScannedCodeDate: number;\r\n\r\n @ViewChild('scannerModal')\r\n modal: GenericModalComponent;\r\n\r\n hasCameras = false;\r\n hasPermission: boolean;\r\n\r\n torchEnabled = false;\r\n torchAvailable$ = new BehaviorSubject(false);\r\n\r\n scannerEnabled: boolean = false;\r\n\r\n availableDevices: MediaDeviceInfo[];\r\n selectedDevice: MediaDeviceInfo = null;\r\n\r\n @Output()\r\n eanRecognized: EventEmitter = new EventEmitter();\r\n\r\n constructor(private cd: ChangeDetectorRef) {\r\n\r\n }\r\n\r\n ngOnInit(): void {\r\n\r\n }\r\n\r\n showModal() {\r\n this.showScanner = true;\r\n this.cd.detectChanges()\r\n this.initScanner();\r\n this.modal.show();\r\n }\r\n\r\n onModalHide() {\r\n this.destroyScanner();\r\n this.showScanner = false;\r\n }\r\n\r\n initScanner(): void {\r\n if (!navigator.mediaDevices || !(typeof navigator.mediaDevices.getUserMedia === 'function')) {\r\n this.errorMessage = 'Das Gerät oder der Browser unterstützt keinen Zugriff auf die Kamera...';\r\n return;\r\n }\r\n\r\n this.lastScannedCode = null;\r\n this.lastScannedCodeDate = null;\r\n\r\n Quagga.init({\r\n inputStream: {\r\n name: \"Live\",\r\n type: \"LiveStream\",\r\n target: document.querySelector('#mobileScanner'),\r\n constraints: {\r\n facingMode: 'environment' // restrict camera type\r\n },\r\n area: { // defines rectangle of the detection\r\n top: '40%', // top offset\r\n right: '0%', // right offset\r\n left: '0%', // left offset\r\n bottom: '40%' // bottom offset\r\n }\r\n },\r\n frequency: 10,\r\n debug: false,\r\n decoder: {\r\n readers: this.formats\r\n },\r\n locator: {\r\n patchSize: \"medium\",\r\n halfSample: true\r\n },\r\n numOfWorkers: 2\r\n }, (err) => {\r\n if (err) {\r\n this.onScanError(err);\r\n return;\r\n }\r\n Quagga.onDetected(this.onDetectedCallback);\r\n });\r\n\r\n }\r\n\r\n onDetectedCallback = (result) => {\r\n this.onBarcodeScanned(result.codeResult.code);\r\n }\r\n\r\n destroyScanner() {\r\n if (Quagga) {\r\n try {\r\n Quagga.stop();\r\n Quagga.offDetected(this.onDetectedCallback);\r\n } catch (e) {\r\n console.error(\"No mobile scanner to stop...\")\r\n }\r\n }\r\n }\r\n\r\n public enableScanner() {\r\n if (!this.scannerEnabled) {\r\n this.lastScannedCodeDate = null;\r\n this.scannerEnabled = true;\r\n Quagga.start();\r\n }\r\n }\r\n\r\n public disableScanner() {\r\n if (this.scannerEnabled) {\r\n this.scannerEnabled = false;\r\n Quagga.pause();\r\n }\r\n }\r\n\r\n onBarcodeScanned(code: string) {\r\n console.info(\"Scanned code \" + code);\r\n this.lastScannedCode = code;\r\n this.disableScanner();\r\n this.eanRecognized.next(this.lastScannedCode);\r\n }\r\n\r\n onScanError(err) {\r\n this.errorMessage = err;\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.destroyScanner();\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/core/visbos-core/ui/components/mobile-barcode-scanner/mobile-barcode-scanner.component.ts","module.exports = \"\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/core/visbos-core/ui/components/signature/signature.component.css\n// module id = ./src/app/core/visbos-core/ui/components/signature/signature.component.css\n// module chunks = main","module.exports = \"
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/core/visbos-core/ui/components/signature/signature.component.html\n// module id = ./src/app/core/visbos-core/ui/components/signature/signature.component.html\n// module chunks = main","import {\r\n AfterViewChecked,\r\n AfterViewInit,\r\n ChangeDetectionStrategy,\r\n ChangeDetectorRef,\r\n Component,\r\n ElementRef,\r\n EventEmitter,\r\n forwardRef,\r\n Input,\r\n NgZone,\r\n OnInit,\r\n Output,\r\n ViewChild\r\n} from \"@angular/core\";\r\nimport { SignaturePad } from 'angular2-signaturepad/signature-pad';\r\nimport {NG_VALUE_ACCESSOR} from \"@angular/forms\";\r\n\r\n@Component({\r\n selector: 'vb-signature',\r\n templateUrl: './signature.component.html',\r\n styleUrls: ['./signature.component.css'],\r\n providers: [\r\n {provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => SignatureComponent), multi: true},\r\n ],\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class SignatureComponent implements AfterViewInit, OnInit, AfterViewChecked {\r\n\r\n @Input()\r\n width: number;\r\n\r\n @Input()\r\n height: number;\r\n\r\n @ViewChild(SignaturePad) signaturePad: SignaturePad;\r\n @ViewChild('padContainer') container: ElementRef;\r\n\r\n private lastWidth;\r\n private lastHeight;\r\n\r\n signaturePadOptions = {};\r\n\r\n @Output()\r\n signatureChange: EventEmitter = new EventEmitter();\r\n\r\n public propagateChange: Function = null;\r\n public propagateTouched: Function = null;\r\n\r\n private _signature: any = null;\r\n\r\n get signature(): any {\r\n return this._signature;\r\n }\r\n\r\n set signature(value: any) {\r\n this._signature = value;\r\n this.signatureChange.emit(value);\r\n this.propagateChange(this._signature);\r\n }\r\n\r\n public writeValue(value: any): void {\r\n if (!value) {\r\n return;\r\n }\r\n this.signature = value;\r\n this.signaturePad.fromDataURL(this.signature);\r\n }\r\n\r\n public registerOnChange(fn: any): void {\r\n this.propagateChange = fn;\r\n }\r\n\r\n public registerOnTouched(fn: any): void {\r\n this.propagateTouched = fn;\r\n }\r\n\r\n constructor(private cd: ChangeDetectorRef, private ngZone: NgZone) {\r\n }\r\n\r\n\r\n ngOnInit(): void {\r\n this.signaturePadOptions = {\r\n backgroundColor: 'rgba(255,255,255,0.0)',\r\n canvasWidth: 100,\r\n canvasHeight: 100\r\n };\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.size();\r\n }\r\n\r\n ngAfterViewChecked(): void {\r\n this.size();\r\n }\r\n\r\n drawComplete() {\r\n this.signature = this.signaturePad.toDataURL();\r\n }\r\n\r\n drawStart() {\r\n\r\n }\r\n\r\n clearSignautre() {\r\n this.signature = null;\r\n this.signaturePad.clear();\r\n this.cd.markForCheck();\r\n }\r\n\r\n size() {\r\n\r\n if (!this.signaturePad) {\r\n return;\r\n }\r\n\r\n let w = this.width && this.width > 0 ? this.width : this.container.nativeElement.clientWidth;\r\n let h = this.height && this.height > 0 ? this.height : this.container.nativeElement.clientHeight;\r\n\r\n if (this.lastHeight == h && this.lastWidth == w) {\r\n return;\r\n }\r\n\r\n this.lastWidth = w;\r\n this.lastHeight = h;\r\n\r\n this.signaturePad.set('canvasWidth', w);\r\n this.signaturePad.set('canvasHeight', h);\r\n\r\n this.signaturePad.clear(); // invoke functions from szimek/signature_pad API\r\n\r\n this.cd.markForCheck();\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/core/visbos-core/ui/components/signature/signature.component.ts","module.exports = \"\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/core/visbos-core/ui/components/use-by-date-picker/use-by-date-picker.component.css\n// module id = ./src/app/core/visbos-core/ui/components/use-by-date-picker/use-by-date-picker.component.css\n// module chunks = main","module.exports = \"
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n\\r\\n \\r\\n \\r\\n\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/core/visbos-core/ui/components/use-by-date-picker/use-by-date-picker.component.html\n// module id = ./src/app/core/visbos-core/ui/components/use-by-date-picker/use-by-date-picker.component.html\n// module chunks = main","import {ChangeDetectorRef, Component, forwardRef, Input, OnInit} from '@angular/core';\r\nimport {FormBuilder, FormControl} from \"@angular/forms\";\r\nimport {AbstractVisbosControl} from \"../../forms/abstract-visbos-control\";\r\nimport {SessionActions} from \"../../../../../shared/actions/session.actions\";\r\n\r\n@Component({\r\n selector: 'vb-use-by-date-picker',\r\n templateUrl: './use-by-date-picker.component.html',\r\n styleUrls: ['./use-by-date-picker.component.css'],\r\n providers: [{provide: AbstractVisbosControl, useExisting: forwardRef(() => UseByDatePickerComponent)}]\r\n})\r\nexport class UseByDatePickerComponent extends AbstractVisbosControl implements OnInit {\r\n\r\n @Input()\r\n id: string = 'useByDatePickerInput';\r\n\r\n @Input()\r\n inputGroupClass: string = 'input-group-sm';\r\n\r\n constructor(fb: FormBuilder, cd: ChangeDetectorRef, sessionActions: SessionActions) {\r\n super(fb, cd, sessionActions);\r\n }\r\n\r\n ngOnInit() {\r\n super.ngOnInit();\r\n }\r\n\r\n buildControlContent(): FormControl {\r\n return this.fb.control(null);\r\n }\r\n\r\n public setDefaultValues(item?: any): { [p: string]: any } | any {\r\n return void 0;\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/core/visbos-core/ui/components/use-by-date-picker/use-by-date-picker.component.ts","module.exports = \"\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/core/visbos-core/ui/components/user-identification/user-identification.component.css\n// module id = ./src/app/core/visbos-core/ui/components/user-identification/user-identification.component.css\n// module chunks = main","module.exports = \"

\\r\\n user-identification works!\\r\\n

\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/core/visbos-core/ui/components/user-identification/user-identification.component.html\n// module id = ./src/app/core/visbos-core/ui/components/user-identification/user-identification.component.html\n// module chunks = main","import {ChangeDetectorRef, Component, EventEmitter, OnInit, Output} from \"@angular/core\";\r\nimport {IUser} from \"../../../../../shared/redux-store/session/session.types\";\r\nimport {AuthenticateUserResult, UserService} from \"../../../../../crm/user/user.service\";\r\nimport {SessionActions} from \"../../../../../shared/actions/session.actions\";\r\nimport {ApolloQueryObservable} from \"apollo-angular\";\r\nimport {AbstractVisbosComponent} from \"../../../components/abstract-visbos.component\";\r\n\r\n@Component({\r\n selector: 'vb-user-identification',\r\n templateUrl: './user-identification.component.html',\r\n styleUrls: ['./user-identification.component.css']\r\n})\r\nexport class UserIdentificationComponent extends AbstractVisbosComponent implements OnInit {\r\n\r\n private user$: ApolloQueryObservable;\r\n\r\n private user: IUser;\r\n private token: string;\r\n\r\n @Output()\r\n userIdentified: EventEmitter = new EventEmitter();\r\n\r\n //TODO: Implement\r\n\r\n constructor(sessionActions: SessionActions, private userService: UserService, cd: ChangeDetectorRef) {\r\n super(sessionActions, cd);\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n\r\n identifyUser(credentials) {\r\n\r\n }\r\n\r\n onUserIdentified(user: IUser) {\r\n this.userIdentified.next(user);\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/core/visbos-core/ui/components/user-identification/user-identification.component.ts","import {ApplicationRef, ComponentFactoryResolver, ComponentRef, Directive, Input, TemplateRef} from \"@angular/core\";\r\nimport {VisBosComponent} from \"../../../../visbos.component\";\r\nimport {GenericModalComponent} from \"../forms/generic-modal/generic-modal.component\";\r\n\r\nexport interface GenericModalParameters {\r\n modalSize?: string;\r\n title?: string;\r\n isStatic?: boolean;\r\n}\r\n\r\n@Directive({\r\n selector: '[vbCreateModal]',\r\n})\r\nexport class CreateModalDirective {\r\n\r\n @Input('vbCreateModal')\r\n modalTemplate: TemplateRef;\r\n\r\n private rootViewRef;\r\n private modal: GenericModalComponent;\r\n\r\n constructor(private appRef: ApplicationRef, private componentFactoryResolver: ComponentFactoryResolver) {\r\n this.rootViewRef = (appRef.components[0].instance as VisBosComponent).rootViewRef;\r\n }\r\n\r\n createDialog(modalComponent: { new(): GenericModalComponent }): ComponentRef {\r\n this.rootViewRef.clear();\r\n\r\n let dialogComponentFactory =\r\n this.componentFactoryResolver.resolveComponentFactory(modalComponent);\r\n let dialogComponentRef = this.rootViewRef.createComponent(dialogComponentFactory);\r\n\r\n this.modal = dialogComponentRef.instance;\r\n\r\n this.modal.mainContentTmpl = this.modalTemplate;\r\n this.modal.closed.toPromise().then(() => {\r\n console.info(\"Destroy\");\r\n dialogComponentRef.destroy();\r\n });\r\n\r\n dialogComponentRef.changeDetectorRef.detectChanges();\r\n\r\n return dialogComponentRef;\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/core/visbos-core/ui/dialogs/create-modal.directive.ts","module.exports = \"\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/core/visbos-core/ui/dialogs/dialog/dialog.component.css\n// module id = ./src/app/core/visbos-core/ui/dialogs/dialog/dialog.component.css\n// module chunks = main","module.exports = \"
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
{{confirmTitle}}
\\r\\n\\r\\n
\\r\\n {{confirmQuestion}}\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/core/visbos-core/ui/dialogs/dialog/dialog.component.html\n// module id = ./src/app/core/visbos-core/ui/dialogs/dialog/dialog.component.html\n// module chunks = main","import {AfterViewInit, Component, EventEmitter, Input, OnDestroy, OnInit, Output, ViewChild} from \"@angular/core\";\r\nimport {ModalDirective} from \"ngx-bootstrap\";\r\n\r\n@Component({\r\n selector: 'vb-dialog',\r\n templateUrl: './dialog.component.html',\r\n styleUrls: ['./dialog.component.css']\r\n})\r\nexport class DialogComponent implements OnInit, AfterViewInit, OnDestroy {\r\n\r\n @ViewChild('modal')\r\n modal: ModalDirective;\r\n\r\n @Input()\r\n confirmQuestion: string = \"Sind Sie sicher?\";\r\n\r\n @Input()\r\n confirmTitle: string;\r\n\r\n @Input()\r\n helpText: string;\r\n\r\n @Input()\r\n danger: boolean = false;\r\n\r\n @Output()\r\n confirmClicked: EventEmitter = new EventEmitter();\r\n\r\n @Output()\r\n cancelClicked: EventEmitter = new EventEmitter();\r\n\r\n constructor() {\r\n }\r\n\r\n ngOnInit() {\r\n\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.show();\r\n }\r\n\r\n ngOnDestroy() {\r\n\r\n }\r\n\r\n show() {\r\n this.modal.show();\r\n }\r\n\r\n hide() {\r\n this.modal.hide();\r\n }\r\n\r\n onClose() {\r\n return this.modal.onHidden;\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/core/visbos-core/ui/dialogs/dialog/dialog.component.ts","module.exports = \"\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/core/visbos-core/ui/dialogs/modal/modal.component.css\n// module id = ./src/app/core/visbos-core/ui/dialogs/modal/modal.component.css\n// module chunks = main","module.exports = \"
\\r\\n
\\r\\n
\\r\\n \\r\\n

{{title}}

\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/core/visbos-core/ui/dialogs/modal/modal.component.html\n// module id = ./src/app/core/visbos-core/ui/dialogs/modal/modal.component.html\n// module chunks = main","import {Component, HostBinding, Input, OnInit} from \"@angular/core\";\r\n\r\n@Component({\r\n selector: 'vb-modal',\r\n templateUrl: './modal.component.html',\r\n styleUrls: ['./modal.component.css']\r\n})\r\nexport class ModalComponent implements OnInit {\r\n\r\n @HostBinding('attr.role') roleAtribute = \"dialog\";\r\n @HostBinding('attr.tabindex') tabindexAttribute = \"-1\";\r\n @HostBinding('attr.aria-labelledby') aria_labelledbyAttribute = \"modelLabel\";\r\n @HostBinding('attr.aria-hidden') aria_hiddenAttribute = \"true\";\r\n\r\n //@HostBinding('config') configProperty = \"{backdrop: (isStatic ? 'static' : true), show: true}\";\r\n\r\n @HostBinding('class') classAttribute = \"modal fade\";\r\n\r\n @Input()\r\n title: string = \"\";\r\n\r\n @Input()\r\n isStatic: boolean = false;\r\n\r\n constructor() {\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/core/visbos-core/ui/dialogs/modal/modal.component.ts","module.exports = \"\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/core/visbos-core/ui/dialogs/nested-items-list/nested-items-list.component.css\n// module id = ./src/app/core/visbos-core/ui/dialogs/nested-items-list/nested-items-list.component.css\n// module chunks = main","module.exports = \"\\r\\n
\\r\\n \\r\\n
\\r\\n {{label ? label : name + ' #' + (i+1)}}\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/core/visbos-core/ui/dialogs/nested-items-list/nested-items-list.component.html\n// module id = ./src/app/core/visbos-core/ui/dialogs/nested-items-list/nested-items-list.component.html\n// module chunks = main","import {\r\n AfterViewChecked,\r\n ChangeDetectorRef,\r\n Component,\r\n ContentChild,\r\n EventEmitter,\r\n forwardRef,\r\n Input,\r\n Output,\r\n QueryList,\r\n SimpleChanges,\r\n TemplateRef,\r\n ViewChildren\r\n} from \"@angular/core\";\r\nimport {AbstractVisbosControl} from \"../../forms/abstract-visbos-control\";\r\nimport {FormArray, FormBuilder} from \"@angular/forms\";\r\nimport {AccordionPanelComponent} from \"ngx-bootstrap\";\r\nimport {IModel} from \"../../../../../shared/view-model/imodel.interface\";\r\nimport {appInjector} from \"../../../../../index\";\r\n\r\n\r\n@Component({\r\n selector: 'vb-nested-items-list',\r\n templateUrl: './nested-items-list.component.html',\r\n styleUrls: ['./nested-items-list.component.css'],\r\n providers: [{provide: AbstractVisbosControl, useExisting: forwardRef(() => NestedItemsListComponent)}]\r\n})\r\nexport class NestedItemsListComponent extends AbstractVisbosControl implements AfterViewChecked {\r\n\r\n @ViewChildren(AccordionPanelComponent)\r\n accordionGroups: QueryList;\r\n\r\n @ContentChild(TemplateRef) template;\r\n\r\n private _itemList: T[] = [];\r\n\r\n @Input()\r\n set itemList(value: T[]) {\r\n this._itemList = JSON.parse(JSON.stringify(value)) || [];\r\n }\r\n\r\n get itemList(): T[] {\r\n return this._itemList || [];\r\n }\r\n\r\n numberOfNestedItems: number = 0;\r\n\r\n @Input()\r\n label: string;\r\n\r\n @Input()\r\n name: string = \"\";\r\n\r\n @Input()\r\n editable: boolean = true;\r\n\r\n @Input()\r\n deletable: boolean = true;\r\n\r\n @Input()\r\n required: boolean = false;\r\n\r\n @Input()\r\n openFirst: boolean = false;\r\n\r\n @Input()\r\n defaultIdentifier: string = \"default\";\r\n\r\n @Output()\r\n itemDeleteClicked: EventEmitter = new EventEmitter();\r\n\r\n @Output()\r\n itemAddClicked: EventEmitter = new EventEmitter();\r\n\r\n constructor(fb: FormBuilder, cd: ChangeDetectorRef) {\r\n super(fb, cd, null);\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n\r\n super.ngOnChanges(changes);\r\n\r\n if (changes.itemList) {\r\n this.reset();\r\n if (this.itemList) {\r\n this.itemList.forEach(i => this.onAdd());\r\n }\r\n }\r\n\r\n }\r\n\r\n ngAfterViewChecked() {\r\n if (this.required && this.accordionGroups.length == 0) {\r\n this.onAdd();\r\n }\r\n }\r\n\r\n buildControlContent(): FormArray {\r\n return NestedItemsListComponent.initControl(this.fb);\r\n }\r\n\r\n public static initControl(fb?: FormBuilder): FormArray {\r\n fb = fb ? fb : appInjector().get(FormBuilder);\r\n return fb.array([]);\r\n }\r\n\r\n onAdd(openLast: boolean = true) {\r\n this.itemAddClicked.emit();\r\n this.itemList.push(null);\r\n this.cd.detectChanges();\r\n this.numberOfNestedItems++;\r\n if (openLast) {\r\n if (this.accordionGroups && this.accordionGroups.length > 0) {\r\n this.accordionGroups.last.isOpen = true;\r\n }\r\n\r\n }\r\n this.cd.detectChanges();\r\n }\r\n\r\n onDelete(index: number, event?: Event) {\r\n if (event) {\r\n event.preventDefault(); // Prevent edit event from accordion\r\n }\r\n this.itemList.splice(index);\r\n this.itemDeleteClicked.emit(index);\r\n this.cd.detectChanges();\r\n this.numberOfNestedItems--;\r\n this.cd.detectChanges();\r\n }\r\n\r\n reset(fullReset: boolean = false) {\r\n this.control.controls = [];\r\n super.reset();\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/core/visbos-core/ui/dialogs/nested-items-list/nested-items-list.component.ts","module.exports = \"\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/core/visbos-core/ui/dialogs/unit-selection/unit-selection.component.css\n// module id = ./src/app/core/visbos-core/ui/dialogs/unit-selection/unit-selection.component.css\n// module chunks = main","module.exports = \"\\r\\n\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/core/visbos-core/ui/dialogs/unit-selection/unit-selection.component.html\n// module id = ./src/app/core/visbos-core/ui/dialogs/unit-selection/unit-selection.component.html\n// module chunks = main","import {ChangeDetectorRef, Component, forwardRef, Input, OnInit} from \"@angular/core\";\r\nimport {AbstractVisbosControl} from \"../../forms/abstract-visbos-control\";\r\nimport {FormBuilder, FormControl} from \"@angular/forms\";\r\nimport {appInjector} from \"../../../../../index\";\r\nimport {Unit, UNIT_CATEGORY} from \"../../../model/unit.type\";\r\nimport {UnitService} from \"../../../services/unit.service\";\r\n\r\n@Component({\r\n selector: 'vb-unit-selection',\r\n templateUrl: './unit-selection.component.html',\r\n styleUrls: ['./unit-selection.component.css'],\r\n providers: [{provide: AbstractVisbosControl, useExisting: forwardRef(() => UnitSelectionComponent)}]\r\n})\r\nexport class UnitSelectionComponent extends AbstractVisbosControl implements OnInit {\r\n\r\n @Input()\r\n unitCategories: UNIT_CATEGORY[];\r\n\r\n private unitList$;\r\n unitList: Unit[] = [];\r\n\r\n constructor(private unitService: UnitService,\r\n fb: FormBuilder, cd: ChangeDetectorRef) {\r\n super(fb, cd, null);\r\n }\r\n\r\n ngOnInit() {\r\n super.ngOnInit();\r\n\r\n this.unitList$ = this.unitService.getUnits(this.unitCategories);\r\n this.addComponentData(this.unitList$);\r\n this.dataSubscriptions.push(this.unitList$.subscribe((categories: any) => {\r\n this.unitList = categories;\r\n }));\r\n\r\n }\r\n\r\n buildControlContent(): FormControl {\r\n return UnitSelectionComponent.initControl(this.fb);\r\n }\r\n\r\n public static initControl(fb?: FormBuilder) {\r\n fb = fb ? fb : appInjector().get(FormBuilder);\r\n return fb.control(null);\r\n }\r\n\r\n public setDefaultValues(item?: Unit): { [controlKey: string]: any } | any {\r\n return this.setValue(item, 'cuid');\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/core/visbos-core/ui/dialogs/unit-selection/unit-selection.component.ts","import {\r\n ChangeDetectorRef,\r\n Directive,\r\n ElementRef,\r\n HostListener,\r\n Input,\r\n OnChanges,\r\n OnDestroy,\r\n Renderer2,\r\n SimpleChanges\r\n} from '@angular/core';\r\nimport {Observable} from \"rxjs/Observable\";\r\nimport {Subscription} from \"rxjs/Subscription\";\r\n\r\n@Directive({\r\n selector: '[vbAsyncButton]',\r\n exportAs: 'vbAsyncButton'\r\n})\r\nexport class AsyncButtonDirective implements OnChanges, OnDestroy {\r\n\r\n @Input('vbAsyncButton')\r\n private observable: Observable;\r\n\r\n private sub: Subscription;\r\n\r\n private _isLoading: boolean = false;\r\n\r\n private nativeElement: HTMLElement;\r\n private wrapperElement: HTMLElement;\r\n private loadingElement: HTMLElement;\r\n\r\n private get isLoading(): boolean {\r\n return this._isLoading;\r\n }\r\n\r\n private set isLoading(value: boolean) {\r\n this._isLoading = value;\r\n\r\n this.setDisabledState(value);\r\n\r\n if (value == true) {\r\n this.wrapInDiv();\r\n this.addLoadingIcon();\r\n } else {\r\n this.removeLoadingElement();\r\n this.unwrapFromDiv();\r\n }\r\n\r\n }\r\n\r\n @HostListener('click', ['$event'])\r\n onClick() {\r\n\r\n this.cd.detectChanges();\r\n\r\n if (!this.observable) {\r\n console.info(\"No obs\");\r\n return;\r\n }\r\n\r\n if (this.isLoading || this.isDisabled()) {\r\n event.preventDefault();\r\n event.stopPropagation();\r\n event.stopImmediatePropagation();\r\n } else {\r\n this.startAsyncOperation();\r\n }\r\n\r\n }\r\n\r\n constructor(private el: ElementRef, private renderer: Renderer2, private cd: ChangeDetectorRef) {\r\n this.nativeElement = el.nativeElement;\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n if (changes.observable) {\r\n this.setObservable();\r\n }\r\n }\r\n\r\n startAsyncOperation() {\r\n this.isLoading = true;\r\n }\r\n\r\n finishAsyncOperation() {\r\n this.isLoading = false;\r\n }\r\n\r\n failAsyncOperation() {\r\n this.isLoading = false;\r\n }\r\n\r\n private setObservable(): void {\r\n if (this.sub) {\r\n this.sub.unsubscribe();\r\n }\r\n if (this.observable) {\r\n this.sub = this.observable.subscribe(\r\n res => this.finishAsyncOperation(),\r\n err => this.failAsyncOperation()\r\n );\r\n }\r\n }\r\n\r\n private setDisabledState(state: boolean) {\r\n if (state == true) {\r\n if (this.nativeElement instanceof HTMLButtonElement) {\r\n this.renderer.setProperty(this.nativeElement, 'disabled', true);\r\n } else {\r\n this.renderer.addClass(this.nativeElement, 'disabled');\r\n }\r\n } else {\r\n if (this.nativeElement instanceof HTMLButtonElement) {\r\n this.renderer.setProperty(this.nativeElement, 'disabled', false);\r\n } else {\r\n this.renderer.removeClass(this.nativeElement, 'disabled');\r\n }\r\n }\r\n }\r\n\r\n private isDisabled(): boolean {\r\n return this.nativeElement.classList.contains('disabled') || this.nativeElement.hasAttribute('disabled');\r\n }\r\n\r\n private wrapInDiv() {\r\n\r\n if (this.wrapperElement) {\r\n return;\r\n }\r\n\r\n // Get parent of the original input element\r\n let parent = this.nativeElement.parentNode;\r\n\r\n // Create a div\r\n let divElement = this.renderer.createElement(\"span\");\r\n\r\n // Add class to div\r\n this.renderer.addClass(divElement, \"inner-addon\");\r\n this.renderer.addClass(divElement, \"right-addon\");\r\n\r\n // Add the div, just before the input\r\n this.renderer.insertBefore(parent, divElement, this.nativeElement);\r\n\r\n // Remove the input\r\n this.renderer.removeChild(parent, this.nativeElement);\r\n\r\n // Remove the directive attribute (not really necessary, but just to be clean)\r\n //this.renderer.removeAttribute(this.el.nativeElement, \"inputWrapper\");\r\n\r\n // Re-add it inside the div\r\n this.renderer.appendChild(divElement, this.nativeElement);\r\n\r\n this.wrapperElement = divElement;\r\n\r\n }\r\n\r\n private addLoadingIcon() {\r\n\r\n if (this.loadingElement) {\r\n return;\r\n }\r\n\r\n // Add loading icon\r\n let span = this.renderer.createElement('span');\r\n this.renderer.addClass(span, 'icon');\r\n this.renderer.addClass(span, 'fas');\r\n this.renderer.addClass(span, 'fa-spinner');\r\n this.renderer.addClass(span, 'fa-spin');\r\n this.renderer.insertBefore(this.nativeElement.parentNode, span, this.nativeElement);\r\n\r\n this.loadingElement = span;\r\n\r\n }\r\n\r\n private unwrapFromDiv() {\r\n\r\n if (!this.wrapperElement) {\r\n return;\r\n }\r\n\r\n let parent = this.wrapperElement.parentNode;\r\n this.renderer.removeChild(this.wrapperElement, this.nativeElement);\r\n this.renderer.insertBefore(parent, this.nativeElement, this.wrapperElement);\r\n this.renderer.removeChild(parent, this.wrapperElement);\r\n this.wrapperElement = null;\r\n\r\n }\r\n\r\n private removeLoadingElement() {\r\n\r\n if (!this.wrapperElement || !this.loadingElement) {\r\n return;\r\n }\r\n\r\n this.renderer.removeChild(this.wrapperElement, this.loadingElement);\r\n this.loadingElement = null;\r\n\r\n }\r\n\r\n ngOnDestroy(): void {\r\n if (this.sub) {\r\n this.sub.unsubscribe();\r\n }\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/core/visbos-core/ui/directives/async-button.directive.ts","import {AfterViewInit, Directive, ElementRef, Input} from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[vbAutofocus]',\r\n exportAs: 'vbAutofocus',\r\n})\r\nexport class AutofocusDirective implements AfterViewInit {\r\n\r\n private _focus = true;\r\n\r\n @Input() set autofocus(condition: boolean) {\r\n this._focus = condition !== false;\r\n }\r\n\r\n constructor(private el: ElementRef) {\r\n\r\n }\r\n\r\n ngAfterViewInit() {\r\n if (this._focus) {\r\n this.placeFocus();\r\n }\r\n }\r\n\r\n public placeFocus() {\r\n // Use setTiemout so the focus is set after the next CD run\r\n setTimeout(() => {\r\n /* For SSR (server side rendering) this is not safe.\r\n Use: https://github.com/angular/angular/issues/15008#issuecomment-285141070)\r\n */\r\n this.el.nativeElement.focus();\r\n });\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/core/visbos-core/ui/directives/autofocus.directive.ts","import {Directive, ElementRef, HostBinding, OnInit, Renderer2} from '@angular/core';\r\nimport {NgControl} from \"@angular/forms\";\r\n\r\n@Directive({\r\n selector: '[vbClearInput]'\r\n})\r\nexport class ClearInputDirective implements OnInit {\r\n\r\n @HostBinding('style.padding-right')\r\n padding: string = '25px';\r\n\r\n constructor(private el: ElementRef, private renderer: Renderer2, private control?: NgControl) {\r\n }\r\n\r\n clearValueProxy = () => this.clearValue.apply(this);\r\n\r\n ngOnInit(): void {\r\n\r\n let me = this.el.nativeElement as HTMLInputElement;\r\n\r\n if (me.nodeName.toUpperCase() !== 'INPUT') {\r\n throw new Error('Invalid input type for clearableInput:' + me);\r\n }\r\n\r\n let wrapper = this.renderer.createElement('span') as HTMLSpanElement;\r\n let clearIcon = this.renderer.createElement('i') as HTMLElement;\r\n clearIcon.id = 'clearIcon';\r\n\r\n // // calls the clearvalue function\r\n clearIcon.addEventListener('click', this.clearValueProxy);\r\n wrapper.setAttribute('style', 'margin-left: -20px;position: relative; margin-right:20px;');\r\n\r\n clearIcon.className = 'close';\r\n clearIcon.setAttribute('role', 'button');\r\n clearIcon.className = 'fa fa-times fa-1x';\r\n wrapper.appendChild(clearIcon);\r\n wrapper.id = 'clearSpan';\r\n\r\n me.insertAdjacentElement('afterend', wrapper);\r\n\r\n }\r\n\r\n clearValue() {\r\n if (this.control) {\r\n this.control.control.reset();\r\n } else {\r\n this.el.nativeElement.value = null;\r\n }\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/core/visbos-core/ui/directives/clear-input.directive.ts","import {Directive, ElementRef, Input} from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[vbFitParentSize]',\r\n exportAs: 'vbFitParentSize'\r\n})\r\nexport class FitParentSizeDirective {\r\n\r\n @Input('vbFitParentSize')\r\n parent: HTMLElement;\r\n\r\n _view = [0, 0];\r\n\r\n get view(): any[] {\r\n\r\n let parentEl: HTMLElement = this.parent ? this.parent : this.el.nativeElement.parentElement;\r\n\r\n let width = parentEl.offsetWidth;\r\n this._view[0] = width;\r\n\r\n let height = parentEl.offsetHeight;\r\n this._view[1] = height;\r\n\r\n if (!width || !height || !this._view) {\r\n console.warn(\"View undefined\", [this._view, parentEl]);\r\n }\r\n\r\n return this._view;\r\n\r\n }\r\n\r\n constructor(private el: ElementRef) {\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/core/visbos-core/ui/directives/fit-parent-size.directive.ts","import {\r\n ComponentFactory,\r\n ComponentFactoryResolver,\r\n ComponentRef,\r\n Directive,\r\n Input,\r\n OnDestroy,\r\n TemplateRef,\r\n ViewContainerRef\r\n} from '@angular/core';\r\nimport {Observable} from \"rxjs/Observable\";\r\nimport {isBoolean} from \"util\";\r\nimport {Subscription} from \"rxjs/Subscription\";\r\nimport {LoadingDataComponent} from \"../../loading/loading-data/loading-data.component\";\r\n\r\n@Directive({\r\n selector: '[vbLoading]'\r\n})\r\nexport class LoadingDirective implements OnDestroy {\r\n\r\n loadingFactory: ComponentFactory;\r\n loadingComponent: ComponentRef;\r\n\r\n private asyncSub: Subscription;\r\n\r\n @Input('vbLoading')\r\n set apploading(loading: boolean | Observable) {\r\n\r\n if (isBoolean(loading)) {\r\n this.loadComponents(loading);\r\n }\r\n\r\n if (loading instanceof Observable) {\r\n this.asyncSub = loading.subscribe(res => {\r\n this.loadComponents(res);\r\n });\r\n }\r\n\r\n }\r\n\r\n @Input()\r\n loadingText;\r\n\r\n private loadComponents(loading: boolean) {\r\n console.info(\"Loading: \" + loading);\r\n this.vcRef.clear();\r\n\r\n if (loading) {\r\n // create and embed an instance of the loading component\r\n this.loadingComponent = this.vcRef.createComponent(this.loadingFactory);\r\n if (this.loadingText) {\r\n this.loadingComponent.instance.loadingText = this.loadingText;\r\n }\r\n }\r\n else {\r\n // embed the contents of the host template\r\n this.vcRef.createEmbeddedView(this.templateRef);\r\n }\r\n }\r\n\r\n constructor(private templateRef: TemplateRef, private vcRef: ViewContainerRef, private componentFactoryResolver: ComponentFactoryResolver) {\r\n // Create resolver for loading component\r\n this.loadingFactory = this.componentFactoryResolver.resolveComponentFactory(LoadingDataComponent);\r\n }\r\n\r\n ngOnDestroy(): void {\r\n if (this.asyncSub) {\r\n this.asyncSub.unsubscribe();\r\n }\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/core/visbos-core/ui/directives/loading.directive.ts","import {AfterViewInit, Directive, ElementRef, Input, OnDestroy, OnInit} from '@angular/core';\r\n\r\nimport * as $ from 'jquery';\r\nimport {KeyboardOptions} from 'virtual-keyboard';\r\nimport * as _ from 'lodash';\r\nimport {HasPermissionToGuard} from '../../authorization/guards/has-permission-to.guard';\r\nimport {HIDE_KEYBOARD} from '../../../../shared/auth/guards/api-permission';\r\n\r\nrequire('virtual-keyboard');\r\n\r\nexport const GERMAN_LAYOUT = {\r\n normal: [\"̂ 1 2 3 4 5 6 7 8 9 0 ß ́ {bksp}\",\r\n \"{tab} q w e r t z u i o p ü +\",\r\n \"a s d f g h j k l ö ä # {enter}\",\r\n \"{shift} < y x c v b n m , . - {shift}\",\r\n \"{a} {alt} {space} {alt} {c}\"],\r\n shift: ['° ! \" § $ % & / ( ) = ? ̀ {bksp}',\r\n \"{tab} Q W E R T Z U I O P Ü *\",\r\n \"A S D F G H J K L Ö Ä ' {enter}\",\r\n \"{shift} > Y X C V B N M ; : _ {shift}\",\r\n \"{a} {alt} {space} {alt} {c}\"],\r\n alt: [\"̂ 1 ² ³ 4 5 6 { [ ] } \\\\ ́ {bksp}\",\r\n \"{tab} @ w € r t z u i o p ü ̃\",\r\n \"a s d f g h j k l ö ä # {enter}\",\r\n \"{shift} | y x c v b n µ , . - {shift}\",\r\n \"{a} {alt} {space} {alt} {c}\"]\r\n};\r\n\r\n@Directive({\r\n selector: '[vbOnScreenKeyboard]'\r\n})\r\nexport class OnScreenKeyboardDirective implements OnInit, AfterViewInit, OnDestroy {\r\n\r\n @Input('vbOnScreenKeyboardTouchMode')\r\n touchMode: boolean = true;\r\n\r\n private hideKeyboard = false;\r\n\r\n private keyboard;\r\n\r\n private _kbOptions: KeyboardOptions = {\r\n accepted: (e, keyboard, el) => {\r\n // Dispatch input event to notify angular about changes\r\n const inputEvent: any = document.createEvent('CustomEvent');\r\n inputEvent.initEvent('input', true, true);\r\n el.dispatchEvent(inputEvent);\r\n },\r\n //acceptValid: true,\r\n type: \"input\",\r\n layout: 'custom',\r\n customLayout: {'normal': ['{b} {clear}', '7 8 9', '4 5 6', '1 2 3', '0', '{sp:3}', '{a} {c}']},\r\n language: 'de',\r\n stickyShift: false,\r\n //lockInput: true,\r\n color: \"light\",\r\n updateOnChange: true,\r\n usePreview: true,\r\n autoAccept: true,\r\n caretToEnd: true,\r\n //tabNavigation: false,\r\n css: {\r\n // input & preview styles\r\n input: 'form-control',\r\n // keyboard container - this wraps the preview area (if `usePreview` is true)\r\n // and all keys\r\n container: 'ui-widget-content ui-widget ui-corner-all ui-helper-clearfix',\r\n // default keyboard button state, these are applied to all keys, the remaining\r\n // css options are toggled as needed\r\n buttonDefault: 'ui-state-default ui-corner-all',\r\n // hovered button\r\n buttonHover: 'ui-state-hover',\r\n // Action keys (e.g. Accept, Cancel, Tab, etc); this replaces the \"actionClass\" option\r\n buttonAction: 'ui-state-active',\r\n // used when disabling the decimal button {dec} when a decimal exists in the input area\r\n buttonDisabled: 'ui-state-disabled'\r\n },\r\n };\r\n\r\n @Input('vbOnScreenKeyboardOptions')\r\n set kbOptions(value: KeyboardOptions) {\r\n this._kbOptions = _.merge({}, this._kbOptions, value);\r\n if (value.customLayout) {\r\n // If value has custom layout, override layout instead of merging it\r\n this._kbOptions.customLayout = value.customLayout;\r\n }\r\n }\r\n\r\n get kbOptions(): KeyboardOptions {\r\n return this._kbOptions;\r\n }\r\n\r\n constructor(private el: ElementRef, private hideKeyboardGuard: HasPermissionToGuard) {\r\n }\r\n\r\n ngOnInit(): void {\r\n this.hideKeyboard = this.hideKeyboardGuard.hasPermissionTo(HIDE_KEYBOARD);\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n if (this.touchMode && !this.hideKeyboard) {\r\n this.keyboard = $(this.el.nativeElement)\r\n .keyboard(this._kbOptions);\r\n }\r\n }\r\n\r\n ngOnDestroy(): void {\r\n if (this.keyboard) {\r\n this.keyboard.getkeyboard().destroy();\r\n }\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/core/visbos-core/ui/directives/on-screen-keyboard.directive.ts","import {\r\n ChangeDetectorRef, Directive, HostBinding, Input, OnChanges, OnDestroy, OnInit,\r\n SimpleChanges\r\n} from \"@angular/core\";\r\nimport {FileService} from \"../../http/file.service\";\r\nimport {Subscription} from \"rxjs/Subscription\";\r\nimport {DomSanitizer} from \"@angular/platform-browser\";\r\nimport {HttpClient} from \"@angular/common/http\";\r\n\r\n@Directive({\r\n selector: '[vbPrivateImage]'\r\n})\r\nexport class PrivateImageDirective implements OnInit, OnDestroy, OnChanges {\r\n\r\n private imageData: any;\r\n @Input('vbPrivateImage') path: string;\r\n\r\n private _src;\r\n\r\n set src(value) {\r\n this._src = value;\r\n };\r\n\r\n @HostBinding('src')\r\n get src() {\r\n if (this._src) {\r\n return this._src;\r\n } else {\r\n return '';\r\n }\r\n }\r\n\r\n @HostBinding('style.visibility')\r\n get visible(): string {\r\n if (this.src) {\r\n return 'visible';\r\n } else {\r\n return 'hidden';\r\n }\r\n }\r\n\r\n constructor(private fileService: FileService, private sanitizer: DomSanitizer, private cd: ChangeDetectorRef) {\r\n }\r\n\r\n private sub: Subscription;\r\n\r\n ngOnInit() {\r\n this.loadFile();\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n if (changes.path) {\r\n this.loadFile();\r\n }\r\n }\r\n\r\n ngOnDestroy(): void {\r\n if (this.sub) {\r\n this.sub.unsubscribe();\r\n }\r\n }\r\n\r\n loadFile() {\r\n this.src = null;\r\n this.cd.detectChanges();\r\n if (this.sub) {\r\n this.sub.unsubscribe();\r\n }\r\n this.sub = this.fileService.getPrivateFile(this.path)\r\n .subscribe(data => {\r\n let urlCreator = window.URL;\r\n this.imageData = urlCreator.createObjectURL(data);\r\n this.src = this.sanitizer.bypassSecurityTrustUrl(this.imageData);\r\n });\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/core/visbos-core/ui/directives/private-image.directive.ts","import {AfterViewChecked, AfterViewInit, Directive, ElementRef, HostListener, Input} from \"@angular/core\";\r\n\r\n@Directive({\r\n selector: '[vbRatioWidth]'\r\n})\r\nexport class RatioWidthDirective implements AfterViewInit, AfterViewChecked {\r\n\r\n @Input('vbRatioWidth')\r\n ratio: number = 1.0;\r\n\r\n private height: number;\r\n\r\n @HostListener('window:resize')\r\n onResize() {\r\n this.setHeight();\r\n }\r\n\r\n constructor(private el: ElementRef) {\r\n }\r\n\r\n ngAfterViewInit() {\r\n setTimeout(() => {\r\n this.setHeight();\r\n });\r\n }\r\n\r\n ngAfterViewChecked() {\r\n this.setHeight();\r\n }\r\n\r\n computeHeight(): number {\r\n if (this.el.nativeElement.clientWidth) {\r\n return (this.el.nativeElement.clientWidth * this.ratio);\r\n } else {\r\n return this.el.nativeElement.clientHeight;\r\n }\r\n }\r\n\r\n setHeight() {\r\n let h = this.computeHeight();\r\n this.applyHeightToElement(h);\r\n }\r\n\r\n private applyHeightToElement(height: number) {\r\n if (this.el.nativeElement.clientWidth && this.el.nativeElement.clientWidth > 0) {\r\n if (this.height !== height) {\r\n this.height = height;\r\n this.el.nativeElement.style.height = this.height + \"px\";\r\n }\r\n }\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/core/visbos-core/ui/directives/ratio-width.directive.ts","import {\r\n AfterViewInit,\r\n ChangeDetectorRef,\r\n EventEmitter,\r\n forwardRef,\r\n Input,\r\n OnChanges,\r\n OnInit,\r\n Output,\r\n QueryList,\r\n SimpleChanges,\r\n ViewChildren\r\n} from \"@angular/core\";\r\nimport {AbstractControl, FormArray, FormBuilder, FormGroup} from \"@angular/forms\";\r\nimport {IModel} from \"../../../../shared/view-model/imodel.interface\";\r\nimport {GenericFormGroupComponent} from \"./generic-form-group/generic-form-group.component\";\r\nimport * as _ from \"lodash\";\r\nimport {AbstractVisbosComponent} from \"../../components/abstract-visbos.component\";\r\nimport {SessionActions} from \"../../../../shared/actions/session.actions\";\r\nimport * as util from \"util\";\r\nimport {isUndefined} from \"util\";\r\n\r\nexport function getControlName(control: AbstractControl): string {\r\n let controlName = null;\r\n let parent = control.parent;\r\n\r\n if (parent instanceof FormGroup || parent instanceof FormArray) {\r\n for (let key in parent.controls) {\r\n if (control === parent.controls[key]) {\r\n controlName = key;\r\n }\r\n }\r\n }\r\n\r\n // we either found a name or simply return null\r\n return controlName;\r\n}\r\n\r\nexport function mergeFormGroups(target: FormGroup, source: FormGroup, override: boolean = false) {\r\n for (let ctrlName in source.controls) {\r\n if (!target.contains(ctrlName)) {\r\n target.addControl(ctrlName, source.get(ctrlName));\r\n } else {\r\n if (override) {\r\n target.setControl(ctrlName, source.get(ctrlName));\r\n }\r\n }\r\n }\r\n}\r\n\r\nexport function diffFormGroups(target: FormGroup, source: FormGroup) {\r\n for (let ctrlName in target.controls) {\r\n if (source.contains(ctrlName)) {\r\n target.removeControl(ctrlName);\r\n }\r\n }\r\n}\r\n\r\nexport function intersectFormGroups(target: FormGroup, source: FormGroup) {\r\n for (let ctrlName in target.controls) {\r\n if (!source.contains(ctrlName)) {\r\n target.removeControl(ctrlName);\r\n }\r\n }\r\n}\r\n\r\n/**\r\n * Created by afuhr on 29.11.2016.\r\n */\r\nexport abstract class AbstractVisbosControl extends AbstractVisbosComponent implements OnInit, OnChanges, AfterViewInit {\r\n\r\n private static _cuid = require(\"cuid\");\r\n\r\n private _control: C;\r\n\r\n private _item: T;\r\n\r\n @Input()\r\n set item(value: T) {\r\n this._item = value;\r\n this.itemChange.emit(value);\r\n }\r\n\r\n get item(): T {\r\n return this._item;\r\n }\r\n\r\n @Input()\r\n set control(value: C) {\r\n this._control = value;\r\n this.controlChange.emit(value);\r\n }\r\n\r\n get control(): C {\r\n return this._control;\r\n }\r\n\r\n @ViewChildren(forwardRef(() => GenericFormGroupComponent))\r\n genericFormGroupChildren: QueryList = new QueryList();\r\n\r\n @ViewChildren(forwardRef(() => AbstractVisbosControl))\r\n childForms: QueryList> = new QueryList>();\r\n\r\n @Input()\r\n touchMode: boolean = false;\r\n\r\n @Input()\r\n storedControls: string[] = [];\r\n\r\n @Input()\r\n disabled: (i?: T) => boolean = () => !this._item || (this._item && this._item.is_editable);\r\n\r\n @Input()\r\n storeable: boolean = false;\r\n\r\n @Input()\r\n autosync: boolean = true;\r\n\r\n @Input()\r\n formHorizontal: boolean = true;\r\n\r\n\r\n @Output()\r\n controlChange: EventEmitter = new EventEmitter();\r\n\r\n @Output()\r\n itemChange: EventEmitter = new EventEmitter();\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n\r\n // Stored controls\r\n if (changes.storedControls) {\r\n if (this.genericFormGroupChildren) {\r\n this.genericFormGroupChildren.forEach(ch => {\r\n // Check if the control of each generic form group is in the stored controls array and if yes, enable the checkbox. Disable it otherwise\r\n if (this.storedControls.find(ctrl => ch.ctrl instanceof AbstractControl && ctrl === this.getControlPath(ch.ctrl))) {\r\n ch.storeControlEnabled = true;\r\n } else {\r\n ch.storeControlEnabled = false;\r\n }\r\n });\r\n }\r\n }\r\n\r\n if (changes.item) {\r\n this.onItemChanged();\r\n this.onItemChanges(changes.item.currentValue);\r\n }\r\n\r\n if (changes.control) {\r\n this.onControlChanged();\r\n }\r\n\r\n }\r\n\r\n onItemChanged() {\r\n if (this.autosync && this.control && this.control.pristine) {\r\n this.patchItemValues();\r\n } else {\r\n console.warn(\"Skipped item patching...\", [this]);\r\n }\r\n }\r\n\r\n onControlChanged() {\r\n if (this.autosync && this.control && this.control.pristine) {\r\n this.patchDefaultValues();\r\n this.patchItemValues();\r\n } else {\r\n console.warn(\"Skipped control patching...\", [this]);\r\n }\r\n }\r\n\r\n public patchItemValues() {\r\n if (!this.control) {\r\n console.error(\"Control not set, cannot patch item values!\", [this]);\r\n return;\r\n }\r\n\r\n if (!this.item) {\r\n return;\r\n }\r\n\r\n let val = this.setDefaultValues(this.item);\r\n\r\n if (!isUndefined(val)) {\r\n this.control.patchValue(val);\r\n }\r\n\r\n }\r\n\r\n public patchDefaultValues() {\r\n if (!this.control) {\r\n console.error(\"Control not set, cannot patch default values!\", [this]);\r\n return;\r\n }\r\n\r\n let val = this.setDefaultValues();\r\n\r\n if (!isUndefined(val)) {\r\n this.control.patchValue(val);\r\n }\r\n\r\n }\r\n\r\n public setDefaultValues(item?: T): { [controlKey: string]: any } | any {\r\n return undefined;\r\n }\r\n\r\n public setItemOrDefaultValues(item?: T, forceOverride: boolean = false) {\r\n\r\n console.warn(\"Deprecated function!\", [this]);\r\n return;\r\n\r\n }\r\n\r\n\r\n constructor(protected fb: FormBuilder,\r\n cd: ChangeDetectorRef,\r\n sessionActions: SessionActions) {\r\n\r\n super(sessionActions, cd);\r\n\r\n }\r\n\r\n protected onItemChanges(item: T) {\r\n\r\n }\r\n\r\n focus() {\r\n\r\n }\r\n\r\n reset(fullReset: boolean = false) {\r\n\r\n // First, clear recursively all child elements\r\n this.control.reset();\r\n\r\n this.childForms.forEach(child => {\r\n child.reset();\r\n });\r\n\r\n this.genericFormGroupChildren.forEach(child => {\r\n child.reset();\r\n });\r\n\r\n // Then, set default values\r\n this.patchDefaultValues();\r\n this.patchItemValues();\r\n\r\n }\r\n\r\n clear() {\r\n this.item = undefined;\r\n this.reset();\r\n }\r\n\r\n ngOnInit(): void {\r\n super.ngOnInit();\r\n\r\n if (!this.control) {\r\n this.control = this.buildControlContent();\r\n this.onControlChanged();\r\n console.warn(\"No control provided, creating own control...\", [this]);\r\n }\r\n\r\n }\r\n\r\n ngAfterViewInit() {\r\n super.ngAfterViewInit();\r\n }\r\n\r\n protected setValue(item, path, defaultValue = null, addFunction?: () => void) {\r\n let value = _.get(item, path, defaultValue);\r\n if (util.isArray(value) && addFunction) {\r\n for (let v of value) {\r\n addFunction.call(this);\r\n }\r\n }\r\n return value;\r\n }\r\n\r\n protected isValueSet(item, path): boolean {\r\n return _.has(item, path);\r\n }\r\n\r\n public static cuid(): string {\r\n return AbstractVisbosControl._cuid();\r\n }\r\n\r\n public abstract buildControlContent(values?: T): C;\r\n\r\n getControlName(control: AbstractControl): string {\r\n return getControlName(control);\r\n }\r\n\r\n getControlPath(control: AbstractControl): string {\r\n let path: string[] = [];\r\n let ctrl = control;\r\n\r\n // Get name of all parents up to the root of the form\r\n while (ctrl) {\r\n let name = this.getControlName(ctrl);\r\n if (name) {\r\n path.push(name);\r\n }\r\n ctrl = ctrl.parent;\r\n }\r\n\r\n // Reverse the name array\r\n path = path.reverse();\r\n\r\n // Convert array into path string\r\n let pathString = path.join(\".\");\r\n\r\n return pathString;\r\n }\r\n\r\n storeControlValue(controls: AbstractControl | AbstractControl[], storeState: boolean) {\r\n if (util.isArray(controls)) {\r\n for (let ctrl of controls) {\r\n this.storeControl(ctrl, storeState);\r\n }\r\n } else {\r\n this.storeControl(controls, storeState);\r\n }\r\n }\r\n\r\n private storeControl(control: AbstractControl, storeState: boolean) {\r\n let pathKey = this.getControlPath(control);\r\n if (storeState) {\r\n this.storedControls.push(pathKey);\r\n } else {\r\n let i = this.storedControls.indexOf(pathKey);\r\n this.storedControls.splice(i, 1);\r\n }\r\n }\r\n\r\n public mergeFormGroups(target: FormGroup, source: FormGroup) {\r\n mergeFormGroups(target, source);\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/core/visbos-core/ui/forms/abstract-visbos-control.ts","module.exports = \"\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/core/visbos-core/ui/forms/address-form/address-form.component.css\n// module id = ./src/app/core/visbos-core/ui/forms/address-form/address-form.component.css\n// module chunks = main","module.exports = \"\\r\\n\\r\\n \\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n \\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n \\r\\n\\r\\n\\r\\n\\r\\n
\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n\\r\\n\\r\\n

{{selectedCity | json}}

\\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n \\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n \\r\\n \\r\\n\\r\\n\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/core/visbos-core/ui/forms/address-form/address-form.component.html\n// module id = ./src/app/core/visbos-core/ui/forms/address-form/address-form.component.html\n// module chunks = main","import {ChangeDetectorRef, Component, forwardRef, Input, OnInit} from \"@angular/core\";\r\nimport {AbstractVisbosControl} from \"../abstract-visbos-control\";\r\nimport {FormBuilder, FormGroup, Validators} from \"@angular/forms\";\r\nimport {appInjector} from \"../../../../../index\";\r\nimport {Address} from \"../../../model/address.type\";\r\nimport {City} from \"../../../model/city.type\";\r\nimport {AddressService} from \"../../../services/address.service\";\r\nimport {TypeaheadMatch} from \"ngx-bootstrap\";\r\nimport {ApolloQueryObservable} from \"apollo-angular\";\r\n\r\n@Component({\r\n selector: 'vb-address-form',\r\n templateUrl: './address-form.component.html',\r\n styleUrls: ['./address-form.component.css'],\r\n providers: [{provide: AbstractVisbosControl, useExisting: forwardRef(() => AddressFormComponent)}]\r\n})\r\nexport class AddressFormComponent extends AbstractVisbosControl implements OnInit {\r\n\r\n @Input()\r\n withAddressNameField: boolean = false;\r\n\r\n public asyncSelected: string;\r\n public typeaheadLoading: boolean;\r\n public typeaheadNoResults: boolean;\r\n\r\n cities$: ApolloQueryObservable;\r\n selectedCity: City;\r\n\r\n constructor(private cityService: AddressService, fb?: FormBuilder, cd?: ChangeDetectorRef) {\r\n super(fb, cd, null);\r\n }\r\n\r\n ngOnInit() {\r\n super.ngOnInit();\r\n this.cities$ = this.cityService.getCities();\r\n }\r\n\r\n buildControlContent(): FormGroup {\r\n return AddressFormComponent.initControl(this.fb);\r\n }\r\n\r\n public static initControl(fb: FormBuilder = null): FormGroup {\r\n fb = fb ? fb : appInjector().get(FormBuilder);\r\n\r\n return fb.group({\r\n cuid: [null],\r\n address_name: [null],\r\n street: [null, Validators.required],\r\n number: [null],\r\n city: fb.group({\r\n cuid: [null],\r\n zip: [null, Validators.required],\r\n town: [null, Validators.required],\r\n country_id: [null]\r\n }),\r\n });\r\n\r\n }\r\n\r\n public setDefaultValues(item?: Address): { [controlKey: string]: any } | any {\r\n return {\r\n cuid: this.setValue(item, 'cuid', AbstractVisbosControl.cuid()),\r\n address_name: this.setValue(item, 'address_name'),\r\n street: this.setValue(item, 'street'),\r\n number: this.setValue(item, 'number'),\r\n city: {\r\n cuid: this.setValue(item, 'city.cuid', AbstractVisbosControl.cuid()),\r\n zip: this.setValue(item, 'city.zip'),\r\n town: this.setValue(item, 'city.town')\r\n }\r\n };\r\n }\r\n\r\n public changeTypeaheadLoading(e: boolean): void {\r\n this.typeaheadLoading = e;\r\n }\r\n\r\n public changeTypeaheadNoResults(e: boolean): void {\r\n this.typeaheadNoResults = e;\r\n }\r\n\r\n public typeaheadOnSelect(e: TypeaheadMatch): void {\r\n this.control.get('city.town').setValue(e.item.town);\r\n this.control.get('city.town').markAsTouched();\r\n\r\n this.control.get('city.country_id').setValue(e.item.country.cuid);\r\n this.control.get('city.country_id').markAsTouched();\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/core/visbos-core/ui/forms/address-form/address-form.component.ts","module.exports = \"\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/core/visbos-core/ui/forms/autocomplete/autocomplete.component.css\n// module id = ./src/app/core/visbos-core/ui/forms/autocomplete/autocomplete.component.css\n// module chunks = main","module.exports = \"
\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/core/visbos-core/ui/forms/autocomplete/autocomplete.component.html\n// module id = ./src/app/core/visbos-core/ui/forms/autocomplete/autocomplete.component.html\n// module chunks = main","import {\r\n ChangeDetectorRef,\r\n Component,\r\n ContentChild,\r\n forwardRef,\r\n Input,\r\n OnInit,\r\n TemplateRef,\r\n ViewChild\r\n} from \"@angular/core\";\r\nimport {AbstractVisbosControl} from \"../abstract-visbos-control\";\r\nimport {FormBuilder, FormControl} from \"@angular/forms\";\r\nimport {IModel} from \"../../../../../shared/view-model/imodel.interface\";\r\nimport {AutoComplete} from \"primeng/components/autocomplete/autocomplete\";\r\nimport {appInjector} from \"../../../../../index\";\r\n\r\n\r\n@Component({\r\n selector: 'vb-autocomplete',\r\n templateUrl: './autocomplete.component.html',\r\n styleUrls: ['./autocomplete.component.css'],\r\n providers: [{provide: AbstractVisbosControl, useExisting: forwardRef(() => AutocompleteComponent)}]\r\n})\r\nexport class AutocompleteComponent extends AbstractVisbosControl implements OnInit {\r\n\r\n @ViewChild('inputField')\r\n inputField: AutoComplete;\r\n\r\n @Input()\r\n searchFunction: (searchString: string, itemList: T[]) => T[];\r\n\r\n @ContentChild(TemplateRef) vbTemplate: TemplateRef;\r\n\r\n private _items: T[];\r\n\r\n @Input()\r\n placeholder: string = \"Tippen für Autovervollständigung...\";\r\n\r\n @Input()\r\n dropdown: boolean = false;\r\n\r\n @Input()\r\n set items(items: T[]) {\r\n this._items = items;\r\n\r\n if (items) {\r\n this.itemList = JSON.parse(JSON.stringify(items));\r\n } else {\r\n this.itemList = [];\r\n }\r\n\r\n this.removeItemOnListChange();\r\n }\r\n\r\n get items(): T[] {\r\n return this._items;\r\n }\r\n\r\n @Input()\r\n itemList: T[] = [];\r\n\r\n private _loading: boolean = false;\r\n\r\n\r\n @Input()\r\n set loading(value: boolean) {\r\n this._loading = value;\r\n }\r\n\r\n get loading(): boolean {\r\n return this._loading;\r\n }\r\n\r\n suggestions: T[] = [];\r\n\r\n constructor(fb: FormBuilder, cd: ChangeDetectorRef) {\r\n super(fb, cd, null)\r\n }\r\n\r\n ngOnInit() {\r\n super.ngOnInit();\r\n }\r\n\r\n protected onItemChanges(item: T) {\r\n if (item) {\r\n this.onSelect(item);\r\n this.cd.detectChanges();\r\n }\r\n }\r\n\r\n\r\n removeItemOnListChange() {\r\n\r\n if (!this.itemList || !this.item) {\r\n return;\r\n }\r\n\r\n if (!this.itemList.find(i => i.cuid == this.item.cuid)) {\r\n this.item = null;\r\n this.control.reset();\r\n }\r\n }\r\n\r\n onSelect(selectedItem: T) {\r\n this.control.setValue(selectedItem.cuid);\r\n }\r\n\r\n buildControlContent(): FormControl {\r\n return AutocompleteComponent.initControl(this.fb);\r\n }\r\n\r\n public static initControl(fb: FormBuilder = null): FormControl {\r\n fb = fb ? fb : appInjector().get(FormBuilder);\r\n return fb.control(null);\r\n }\r\n\r\n search(event) {\r\n\r\n if (!this.itemList) {\r\n return;\r\n }\r\n\r\n this.control.reset();\r\n\r\n if (this.searchFunction) {\r\n this.suggestions = this.searchFunction(event.query, this.itemList);\r\n } else {\r\n this.suggestions = this.itemList\r\n .filter(((i: T) => {\r\n let l = i.label.toLowerCase();\r\n return l.includes(event.query.toLowerCase());\r\n }));\r\n }\r\n\r\n }\r\n\r\n focus() {\r\n this.inputField.el.nativeElement.children[0].children[0].focus();\r\n }\r\n\r\n handleDropdown(event) {\r\n this.suggestions = [];\r\n this.suggestions = this.itemList;\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/core/visbos-core/ui/forms/autocomplete/autocomplete.component.ts","module.exports = \"\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/core/visbos-core/ui/forms/country-selection/country-selection.component.css\n// module id = ./src/app/core/visbos-core/ui/forms/country-selection/country-selection.component.css\n// module chunks = main","module.exports = \"\\r\\n\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/core/visbos-core/ui/forms/country-selection/country-selection.component.html\n// module id = ./src/app/core/visbos-core/ui/forms/country-selection/country-selection.component.html\n// module chunks = main","import {ChangeDetectorRef, Component, forwardRef, OnInit} from \"@angular/core\";\r\nimport {Country} from \"../../../model/country.type\";\r\nimport {AbstractVisbosControl} from \"../abstract-visbos-control\";\r\nimport {FormBuilder, FormControl} from \"@angular/forms\";\r\nimport {appInjector} from \"../../../../../index\";\r\nimport {AddressService} from \"../../../services/address.service\";\r\nimport {environment} from \"../../../../../../environments/environment\";\r\n\r\n@Component({\r\n selector: 'vb-country-selection',\r\n templateUrl: './country-selection.component.html',\r\n styleUrls: ['./country-selection.component.css'],\r\n providers: [{provide: AbstractVisbosControl, useExisting: forwardRef(() => CountrySelectionComponent)}]\r\n})\r\nexport class CountrySelectionComponent extends AbstractVisbosControl implements OnInit {\r\n countryList: Country[] = [];\r\n\r\n defaultCountrySelection: Country;\r\n\r\n constructor(private countryService: AddressService,\r\n fb: FormBuilder, cd: ChangeDetectorRef) {\r\n super(fb, cd, null);\r\n }\r\n\r\n ngOnInit() {\r\n super.ngOnInit();\r\n\r\n this.countryService.getCountries().subscribe((countries: any) =>{\r\n this.countryList = countries;\r\n this.defaultCountrySelection = this.countryList.find(country => country.cuid == environment.selection.country_id);\r\n });\r\n\r\n }\r\n\r\n buildControlContent(values?: Country, ...params): FormControl {\r\n return CountrySelectionComponent.initControl(this.fb, values);\r\n }\r\n\r\n public static initControl(fb?: FormBuilder, country?: Country) {\r\n fb = fb ? fb : appInjector().get(FormBuilder);\r\n return fb.control(null);\r\n }\r\n\r\n public setDefaultValues(): {[controlKey: string]: any} | any {\r\n return environment.selection.country_id;\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/core/visbos-core/ui/forms/country-selection/country-selection.component.ts","module.exports = \"\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/core/visbos-core/ui/forms/directives/form-control-message/form-control-message.component.css\n// module id = ./src/app/core/visbos-core/ui/forms/directives/form-control-message/form-control-message.component.css\n// module chunks = main","module.exports = \"\\r\\n\\r\\n {{errorMessage}}\\r\\n\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/core/visbos-core/ui/forms/directives/form-control-message/form-control-message.component.html\n// module id = ./src/app/core/visbos-core/ui/forms/directives/form-control-message/form-control-message.component.html\n// module chunks = main","import {Component, Input, OnChanges} from \"@angular/core\";\r\n\r\nexport const STANARD_ERRORS = {\r\n 'required': 'Eine Eingabe ist erforderlich!'\r\n};\r\n\r\n@Component({\r\n selector: 'vb-form-control-message',\r\n templateUrl: './form-control-message.component.html',\r\n styleUrls: ['./form-control-message.component.css']\r\n})\r\nexport class FormControlMessageComponent implements OnChanges {\r\n\r\n @Input()\r\n inputErrors: {[errorId: string]: any};\r\n\r\n private _errorDefs: {[errorId: string]: string} = STANARD_ERRORS;\r\n\r\n @Input()\r\n set errorDefs(value: {[errorId: string]: string}) {\r\n this._errorDefs = Object.assign(STANARD_ERRORS, value);\r\n }\r\n\r\n get errorDefs(): {[errorId: string]: string} {\r\n return this._errorDefs;\r\n }\r\n\r\n errorMessage: string = '';\r\n\r\n ngOnChanges(changes: any): void {\r\n let errors: any = changes.inputErrors.currentValue;\r\n this.errorMessage = '';\r\n if (errors) {\r\n Object.keys(this._errorDefs).some(key => {\r\n if (errors[key]) {\r\n this.errorMessage = this._errorDefs[key];\r\n return true;\r\n }\r\n });\r\n }\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/core/visbos-core/ui/forms/directives/form-control-message/form-control-message.component.ts","import {Directive, HostBinding, Input} from \"@angular/core\";\r\nimport {AbstractControl} from \"@angular/forms\";\r\n\r\n@Directive({\r\n selector: '[vbValidatable]',\r\n})\r\nexport class ValidatableDirective {\r\n\r\n @Input('vbValidatable')\r\n control: AbstractControl;\r\n\r\n @HostBinding('class.has-success')\r\n public get hasSuccess(): boolean {\r\n return (this.control && this.control.dirty && this.control.valid);\r\n }\r\n\r\n @HostBinding('class.has-error')\r\n public get hasError(): boolean {\r\n return (this.control && this.control.dirty && this.control.invalid);\r\n }\r\n\r\n @HostBinding('class.has-warning')\r\n public get hasWarning(): boolean {\r\n return (this.control && this.control.pristine && this.control.invalid);\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/core/visbos-core/ui/forms/directives/validatable.directive.ts","module.exports = \"\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/core/visbos-core/ui/forms/generic-form-array-group/generic-form-array-entry/generic-form-array-entry.component.css\n// module id = ./src/app/core/visbos-core/ui/forms/generic-form-array-group/generic-form-array-entry/generic-form-array-entry.component.css\n// module chunks = main","module.exports = \"\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/core/visbos-core/ui/forms/generic-form-array-group/generic-form-array-entry/generic-form-array-entry.component.html\n// module id = ./src/app/core/visbos-core/ui/forms/generic-form-array-group/generic-form-array-entry/generic-form-array-entry.component.html\n// module chunks = main","import {Component, OnInit} from \"@angular/core\";\r\n\r\n@Component({\r\n selector: 'vb-generic-form-array-entry',\r\n templateUrl: './generic-form-array-entry.component.html',\r\n styleUrls: ['./generic-form-array-entry.component.css']\r\n})\r\nexport class GenericFormArrayEntryComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/core/visbos-core/ui/forms/generic-form-array-group/generic-form-array-entry/generic-form-array-entry.component.ts","module.exports = \"\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/core/visbos-core/ui/forms/generic-form-array-group/generic-form-array-group.component.css\n// module id = ./src/app/core/visbos-core/ui/forms/generic-form-array-group/generic-form-array-group.component.css\n// module chunks = main","module.exports = \"\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/core/visbos-core/ui/forms/generic-form-array-group/generic-form-array-group.component.html\n// module id = ./src/app/core/visbos-core/ui/forms/generic-form-array-group/generic-form-array-group.component.html\n// module chunks = main","import {\r\n AfterViewInit,\r\n ChangeDetectorRef,\r\n Component,\r\n ContentChild,\r\n EventEmitter,\r\n forwardRef,\r\n HostBinding,\r\n Input,\r\n OnChanges,\r\n OnInit,\r\n Output,\r\n SimpleChanges,\r\n TemplateRef\r\n} from \"@angular/core\";\r\nimport {IModel} from \"../../../../../shared/view-model/imodel.interface\";\r\nimport {AbstractVisbosControl} from \"../abstract-visbos-control\";\r\nimport {FormArray, FormBuilder} from \"@angular/forms\";\r\nimport {appInjector} from \"../../../../../index\";\r\n\r\n@Component({\r\n selector: 'vb-generic-form-array-group',\r\n templateUrl: './generic-form-array-group.component.html',\r\n styleUrls: ['./generic-form-array-group.component.css'],\r\n providers: [{provide: AbstractVisbosControl, useExisting: forwardRef(() => GenericFormArrayGroupComponent)}]\r\n})\r\nexport class GenericFormArrayGroupComponent extends AbstractVisbosControl implements OnInit, AfterViewInit, OnChanges {\r\n\r\n @HostBinding('class')\r\n private classBinding = 'form-group form-group-sm';\r\n\r\n @ContentChild(TemplateRef)\r\n public template: TemplateRef;\r\n\r\n @Input()\r\n addFunction: (fb?: FormBuilder) => {};\r\n\r\n private _itemList: T[] = [];\r\n\r\n @Input()\r\n set itemList(value: T[]) {\r\n this._itemList = JSON.parse(JSON.stringify(value)) || [];\r\n }\r\n\r\n get itemList(): T[] {\r\n return this._itemList || [];\r\n }\r\n\r\n @Input()\r\n label: string;\r\n\r\n @Input()\r\n helpText: string;\r\n\r\n @Input()\r\n name: string = \"\";\r\n\r\n @Input()\r\n deletable: boolean = true;\r\n\r\n @Input()\r\n required: boolean = false;\r\n\r\n\r\n @Output()\r\n itemDeleteClicked: EventEmitter = new EventEmitter();\r\n\r\n @Output()\r\n itemAddClicked: EventEmitter = new EventEmitter();\r\n\r\n constructor(cd: ChangeDetectorRef,\r\n fb: FormBuilder) {\r\n super(fb, cd, null);\r\n }\r\n\r\n buildControlContent(): FormArray {\r\n return GenericFormArrayGroupComponent.initControl(this.fb);\r\n }\r\n\r\n public static initControl(fb?: FormBuilder): FormArray {\r\n fb = fb ? fb : appInjector().get(FormBuilder);\r\n return fb.array([]);\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n\r\n super.ngOnChanges(changes);\r\n\r\n if (changes.itemList) {\r\n this.reset();\r\n if (this.itemList) {\r\n this.itemList.forEach(i => this.onAdd());\r\n }\r\n }\r\n\r\n }\r\n\r\n onAdd() {\r\n if (this.addFunction) {\r\n let it = this.addFunction.call(this, this.fb);\r\n this.control.push(it);\r\n }\r\n this.itemList.push(null);\r\n this.cd.detectChanges();\r\n this.itemAddClicked.emit();\r\n }\r\n\r\n onDelete(index: number, event?: Event) {\r\n if (event) {\r\n event.preventDefault(); // Prevent edit event from accordion\r\n }\r\n this.itemList.splice(index);\r\n this.control.removeAt(index);\r\n //this.cd.detectChanges();\r\n //this.itemDeleteClicked.emit(index);\r\n }\r\n\r\n reset(fullReset: boolean = false) {\r\n this.control.controls = [];\r\n super.reset();\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/core/visbos-core/ui/forms/generic-form-array-group/generic-form-array-group.component.ts","module.exports = \"\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/core/visbos-core/ui/forms/generic-form-control/generic-form-control.component.css\n// module id = ./src/app/core/visbos-core/ui/forms/generic-form-control/generic-form-control.component.css\n// module chunks = main","module.exports = \"

\\r\\n generic-form-control works!\\r\\n

\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/core/visbos-core/ui/forms/generic-form-control/generic-form-control.component.html\n// module id = ./src/app/core/visbos-core/ui/forms/generic-form-control/generic-form-control.component.html\n// module chunks = main","import {Component, OnInit} from \"@angular/core\";\r\n\r\n@Component({\r\n selector: 'vb-generic-form-control',\r\n templateUrl: './generic-form-control.component.html',\r\n styleUrls: ['./generic-form-control.component.css']\r\n})\r\nexport class GenericFormControlComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/core/visbos-core/ui/forms/generic-form-control/generic-form-control.component.ts","module.exports = \"\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/core/visbos-core/ui/forms/generic-form-group/generic-form-group.component.css\n// module id = ./src/app/core/visbos-core/ui/forms/generic-form-group/generic-form-group.component.css\n// module chunks = main","module.exports = \"
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n {{errorMessage}}\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/core/visbos-core/ui/forms/generic-form-group/generic-form-group.component.html\n// module id = ./src/app/core/visbos-core/ui/forms/generic-form-group/generic-form-group.component.html\n// module chunks = main","import {\r\n AfterContentChecked, Component, ContentChildren, EventEmitter, forwardRef, HostBinding, Input, OnChanges,\r\n OnDestroy, OnInit, Output, QueryList, SimpleChanges, ViewChildren\r\n} from \"@angular/core\";\r\nimport {AbstractControl, FormBuilder, FormControl, Validators} from \"@angular/forms\";\r\nimport {isArray} from \"util\";\r\nimport {AbstractVisbosControl} from \"../abstract-visbos-control\";\r\nimport {Subscription} from \"rxjs/Subscription\";\r\nimport {FORM_ERROR_MESSAGES} from \"../../../assets/form-error-messages\";\r\n\r\nconst STANARD_ERRORS = FORM_ERROR_MESSAGES;\r\n\r\n@Component({\r\n selector: 'vb-generic-form-group',\r\n templateUrl: './generic-form-group.component.html',\r\n styleUrls: ['./generic-form-group.component.css']\r\n})\r\nexport class GenericFormGroupComponent implements OnInit, OnChanges, AfterContentChecked, OnDestroy {\r\n\r\n @HostBinding('class')\r\n private get classBinding() {\r\n return 'form-group ' + this.styleClasses;\r\n };\r\n\r\n @HostBinding('style.display')\r\n displayStyle: string = \"block\";\r\n\r\n @ContentChildren(FormControl)\r\n private controlContents: QueryList;\r\n\r\n @Input()\r\n inputErrors: { [errorId: string]: any };\r\n\r\n private _errorDefs: { [errorId: string]: string } = STANARD_ERRORS;\r\n\r\n @Input()\r\n set errorDefs(value: { [errorId: string]: string }) {\r\n this._errorDefs = Object.assign({}, this._errorDefs, value);\r\n }\r\n\r\n get errorDefs(): { [errorId: string]: string } {\r\n return this._errorDefs;\r\n }\r\n\r\n errorMessage: string = '';\r\n\r\n private sub: Subscription;\r\n\r\n private _control: AbstractControl | AbstractControl[];\r\n\r\n @Input()\r\n set ctrl(value: AbstractControl | AbstractControl[]) {\r\n this._control = value;\r\n }\r\n\r\n @Input()\r\n set control(value: AbstractControl | AbstractControl[]) {\r\n this._control = value;\r\n }\r\n\r\n get control(): AbstractControl | AbstractControl[] {\r\n return this._control;\r\n }\r\n\r\n get ctrl(): AbstractControl | AbstractControl[] {\r\n return this._control;\r\n }\r\n\r\n @Input()\r\n label: string = \"\";\r\n\r\n @Input()\r\n storeable: boolean = false;\r\n\r\n @Input()\r\n storeControlEnabled: boolean = false;\r\n\r\n @Output()\r\n storeStateChanged: EventEmitter = new EventEmitter();\r\n\r\n @Input()\r\n inputId: string;\r\n\r\n @Input()\r\n helpText: string;\r\n\r\n @Input()\r\n formHorizontal: boolean = true;\r\n\r\n @Input()\r\n styleClasses = 'form-group-sm';\r\n\r\n @ViewChildren(forwardRef(() => AbstractVisbosControl))\r\n childForms: QueryList> = new QueryList>();\r\n\r\n constructor(protected fb: FormBuilder) {\r\n\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n // Handle error check in ever check run, as touched event of form control cannot be observed, an status change event does not fire on touched\r\n ngAfterContentChecked(): void {\r\n if (this.ctrl && !this.inputErrors && !isArray(this.ctrl)) {\r\n this.processErrors((this.ctrl).errors);\r\n }\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n\r\n let errors: any;\r\n\r\n if (changes.inputErrors) {\r\n errors = changes.inputErrors.currentValue;\r\n this.processErrors(errors);\r\n }\r\n\r\n if (changes.helpText || changes.ctrl) {\r\n\r\n let ctrl: AbstractControl = (this.ctrl instanceof AbstractControl) ? this.ctrl : null;\r\n\r\n if (!ctrl || !this.helpText) {\r\n return;\r\n }\r\n\r\n if (ctrl.validator != Validators.required) {\r\n if (!this.helpText.endsWith('(optional)')) {\r\n this.helpText += ' (optional)';\r\n }\r\n }\r\n }\r\n\r\n }\r\n\r\n ngOnDestroy(): void {\r\n if (this.sub) {\r\n this.sub.unsubscribe();\r\n }\r\n }\r\n\r\n reset() {\r\n // First, clear recursively all child elements\r\n this.childForms.forEach(child => {\r\n child.reset();\r\n });\r\n }\r\n\r\n setItemOrDefaultValues(item?) {\r\n this.childForms.forEach(child => {\r\n child.setItemOrDefaultValues(item);\r\n });\r\n }\r\n\r\n processErrors(errors) {\r\n if (errors) {\r\n Object.keys(this.errorDefs).some(key => {\r\n if (errors[key]) {\r\n this.errorMessage = this.errorDefs[key];\r\n return true;\r\n }\r\n });\r\n } else {\r\n this.errorMessage = '';\r\n }\r\n }\r\n\r\n setValidationClasses(ctrl: AbstractControl | AbstractControl[]) {\r\n let cssClasses = {};\r\n\r\n // Control not set\r\n if (!ctrl) {\r\n return cssClasses;\r\n }\r\n\r\n // Single control\r\n if (ctrl instanceof AbstractControl) {\r\n cssClasses = {\r\n 'has-success': ctrl.touched && ctrl.valid,\r\n 'has-error': ctrl.touched && !ctrl.valid,\r\n 'has-warning': !ctrl.touched && !ctrl.valid,\r\n };\r\n }\r\n\r\n // Array of controls\r\n if (isArray(ctrl)) {\r\n\r\n let valid: boolean = true;\r\n let touched: boolean = false;\r\n\r\n for (let c of ctrl) {\r\n if (c && c.invalid) {\r\n valid = false;\r\n break;\r\n }\r\n }\r\n\r\n for (let c of ctrl) {\r\n if (c && c.touched) {\r\n touched = true;\r\n break;\r\n }\r\n }\r\n\r\n cssClasses = {\r\n 'has-success': touched && valid,\r\n 'has-error': touched && !valid,\r\n 'has-warning': !touched && !valid,\r\n };\r\n\r\n }\r\n\r\n return cssClasses;\r\n }\r\n\r\n storeStateClicked(state: boolean) {\r\n this.storeControlEnabled = state;\r\n this.storeStateChanged.emit(state);\r\n }\r\n\r\n toId(label: string): string {\r\n return label + \"-input\";\r\n }\r\n\r\n hasError() {\r\n return this.ctrl && this.ctrl instanceof AbstractControl && this.ctrl.touched && this.errorMessage;\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/core/visbos-core/ui/forms/generic-form-group/generic-form-group.component.ts","module.exports = \"\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/core/visbos-core/ui/forms/generic-modal/generic-modal.component.css\n// module id = ./src/app/core/visbos-core/ui/forms/generic-modal/generic-modal.component.css\n// module chunks = main","module.exports = \"
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n

{{modalTitle}}

\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n   {{cancelLabel}}\\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/core/visbos-core/ui/forms/generic-modal/generic-modal.component.html\n// module id = ./src/app/core/visbos-core/ui/forms/generic-modal/generic-modal.component.html\n// module chunks = main","import {\r\n ChangeDetectorRef,\r\n Component,\r\n ContentChildren,\r\n EventEmitter,\r\n Input,\r\n OnInit,\r\n Output,\r\n QueryList,\r\n TemplateRef,\r\n ViewChild,\r\n ViewChildren\r\n} from \"@angular/core\";\r\nimport {ModalDirective} from \"ngx-bootstrap\";\r\nimport {WithdrawalDataFormComponent} from \"../../../../../store-management/withdrawal/withdrawal-data-form/withdrawal-data-form.component\";\r\n\r\n@Component({\r\n selector: 'vb-generic-modal',\r\n templateUrl: './generic-modal.component.html',\r\n styleUrls: ['./generic-modal.component.css']\r\n})\r\nexport class GenericModalComponent implements OnInit {\r\n\r\n @Input()\r\n modalSize: 'sm' | 'lg' | null = null;\r\n\r\n @Input()\r\n mainContentTmpl: TemplateRef;\r\n\r\n @Input()\r\n modalTitle: string = \"\";\r\n\r\n @Output()\r\n closed: EventEmitter = new EventEmitter();\r\n\r\n @Output()\r\n okClicked: EventEmitter = new EventEmitter();\r\n\r\n @Output()\r\n cancelClicked: EventEmitter = new EventEmitter();\r\n\r\n @Input()\r\n isStatic: boolean = false;\r\n\r\n @Input()\r\n showFooter: boolean = true;\r\n\r\n @Input()\r\n successLabel: string = \"Ok\";\r\n\r\n @Input()\r\n cancelLabel: string = \"Abbrechen\";\r\n\r\n @Input()\r\n okEnabled: boolean = true;\r\n\r\n @Input()\r\n cancelEnabled: boolean = true;\r\n\r\n @Input()\r\n showCancel: boolean = true;\r\n\r\n @Input()\r\n showSuccess: boolean = true;\r\n\r\n @Input()\r\n enableEnterKeyPress: boolean = false;\r\n\r\n @Input()\r\n enableEscKeyPress: boolean = true;\r\n\r\n @Input()\r\n state: any = {};\r\n\r\n @ViewChild('modal')\r\n modal: ModalDirective;\r\n\r\n @ContentChildren(WithdrawalDataFormComponent)\r\n childComponents: QueryList;\r\n\r\n @ViewChildren(Component)\r\n components: QueryList;\r\n\r\n ModalCloseActions;\r\n\r\n constructor(private cd: ChangeDetectorRef) {\r\n this.ModalCloseActions = ModalCloseActions;\r\n }\r\n\r\n ngOnInit(): void {\r\n\r\n }\r\n\r\n /* ngAfterViewInit() {\r\n this.modal.show();\r\n this.modal.onHide.subscribe((hide: any) =>{\r\n this.closed.emit(ModalCloseActions.CANCEL);\r\n });\r\n }*/\r\n\r\n show() {\r\n this.cd.detectChanges();\r\n this.modal.show();\r\n }\r\n\r\n onEnterKeyPress() {\r\n if (this.enableEnterKeyPress) {\r\n this.ok();\r\n }\r\n }\r\n\r\n onEscKeyPress() {\r\n if (this.enableEscKeyPress) {\r\n this.cancel();\r\n }\r\n }\r\n\r\n ok() {\r\n\r\n if (!this.okEnabled) {\r\n return;\r\n }\r\n\r\n this.okClicked.emit();\r\n setTimeout(() => {\r\n this.hide(ModalCloseActions.SUCCESS);\r\n });\r\n\r\n }\r\n\r\n cancel() {\r\n if (!this.cancelEnabled) {\r\n return;\r\n }\r\n\r\n this.cancelClicked.emit();\r\n setTimeout(() => {\r\n this.hide(ModalCloseActions.SUCCESS);\r\n });\r\n }\r\n\r\n hide(closeAction?: ModalCloseActions) {\r\n this.modal.hide();\r\n this.closed.emit(closeAction);\r\n }\r\n\r\n public isVisible(): boolean {\r\n return this.modal ? this.modal.isShown : false;\r\n }\r\n\r\n}\r\n\r\nexport enum ModalCloseActions {\r\n CANCEL, SUCCESS\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/core/visbos-core/ui/forms/generic-modal/generic-modal.component.ts","module.exports = \"\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/core/visbos-core/ui/forms/generic-selection-input/generic-selection-input.component.css\n// module id = ./src/app/core/visbos-core/ui/forms/generic-selection-input/generic-selection-input.component.css\n// module chunks = main","module.exports = \"
\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n\\r\\n \\r\\n\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/core/visbos-core/ui/forms/generic-selection-input/generic-selection-input.component.html\n// module id = ./src/app/core/visbos-core/ui/forms/generic-selection-input/generic-selection-input.component.html\n// module chunks = main","import {\r\n ChangeDetectorRef,\r\n Component,\r\n EventEmitter,\r\n forwardRef,\r\n HostBinding,\r\n Input,\r\n OnChanges,\r\n OnInit,\r\n Output,\r\n SimpleChanges\r\n} from \"@angular/core\";\r\nimport {AbstractControl, FormBuilder, FormControl, Validators} from \"@angular/forms\";\r\nimport {IModel} from \"../../../../../shared/view-model/imodel.interface\";\r\nimport {isUndefined} from \"util\";\r\nimport {SessionActions} from \"../../../../../shared/actions/session.actions\";\r\nimport {AbstractVisbosControl} from \"../abstract-visbos-control\";\r\nimport {Subscription} from \"rxjs/Subscription\";\r\n\r\n@Component({\r\n selector: 'vb-generic-selection-input',\r\n templateUrl: './generic-selection-input.component.html',\r\n styleUrls: ['./generic-selection-input.component.css'],\r\n providers: [{provide: AbstractVisbosControl, useExisting: forwardRef(() => GenericSelectionInputComponent)}]\r\n})\r\nexport class GenericSelectionInputComponent extends AbstractVisbosControl implements OnInit, OnChanges {\r\n\r\n @HostBinding('class.input-group-sm')\r\n get inputGroupSmBinding() {\r\n return this.addable;\r\n }\r\n\r\n @HostBinding('class.input-group')\r\n get inputGroupBinding() {\r\n return this.addable;\r\n }\r\n\r\n @Input()\r\n styleClass: string = 'input-sm'; //TODO: Remove\r\n\r\n @Input()\r\n sort = true;\r\n\r\n @Input()\r\n sortFunction = (a: IModel, b: IModel) => {\r\n const aLabel = a.label ? a.label : '';\r\n return aLabel.localeCompare(b.label);\r\n }\r\n\r\n private _isDisabled: boolean = false;\r\n\r\n get isDisabled(): boolean {\r\n return this._isDisabled;\r\n }\r\n\r\n @Input()\r\n set isDisabled(value: boolean) {\r\n this._isDisabled = value;\r\n if (this.control) {\r\n if (value === true) {\r\n this.control.disable();\r\n } else {\r\n this.control.enable();\r\n }\r\n }\r\n }\r\n\r\n @Input()\r\n itemLabel: (item: IModel) => string = (item: IModel) => item.label;\r\n\r\n @Input()\r\n itemId: (item: IModel) => string = (item: IModel) => item.cuid;\r\n\r\n @Input()\r\n label: string;\r\n\r\n @Input()\r\n inputId: string;\r\n\r\n @Input()\r\n addable: boolean = false;\r\n\r\n @Input()\r\n optional: boolean;\r\n\r\n @Input()\r\n items: IModel[] = [];\r\n\r\n get selectedItem(): IModel {\r\n return this.item;\r\n }\r\n\r\n @Input()\r\n set selectedItem(value: IModel) {\r\n this.item = value;\r\n }\r\n\r\n @Input()\r\n set ctrl(ctrl: FormControl) {\r\n this.control = ctrl;\r\n }\r\n\r\n get ctrl(): FormControl {\r\n return this.control;\r\n }\r\n\r\n private controlSub: Subscription;\r\n\r\n @Output()\r\n itemSelected: EventEmitter = new EventEmitter(); // User selection\r\n\r\n @Output()\r\n itemDeselected: EventEmitter = new EventEmitter();\r\n\r\n @Output()\r\n itemChanged: EventEmitter = new EventEmitter(); // Automatic changes, too\r\n\r\n @Output()\r\n addClicked: EventEmitter = new EventEmitter();\r\n\r\n constructor(fb: FormBuilder, cd: ChangeDetectorRef, sessionActions: SessionActions) {\r\n super(fb, cd, sessionActions);\r\n }\r\n\r\n ngOnInit() {\r\n super.ngOnInit();\r\n\r\n // Subscription to watch for control changes\r\n this.watchOptionalControl();\r\n let ct = this.controlChange.subscribe((ctrl: AbstractControl) => {\r\n this.watchOptionalControl();\r\n });\r\n\r\n this.dataSubscriptions.push(ct);\r\n }\r\n\r\n\r\n buildControlContent(values ?: IModel, ...params): FormControl {\r\n return this.fb.control(null);\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n super.ngOnChanges(changes);\r\n\r\n if (changes.items) {\r\n if (this.sort && this.items && this.items.length) {\r\n const it = [...this.items];\r\n this.items = it.sort(this.sortFunction);\r\n }\r\n this.watchItemsChange();\r\n }\r\n\r\n }\r\n\r\n ngOnDestroy(): void {\r\n super.ngOnDestroy();\r\n if (this.controlSub) {\r\n this.controlSub.unsubscribe();\r\n }\r\n }\r\n\r\n private watchItemsChange() {\r\n if (this.items && this.items.length == 1 && !this.optional) {\r\n this.control.setValue(this.items[0].cuid);\r\n this.onItemSelected(this.items[0]);\r\n }\r\n }\r\n\r\n private watchOptionalControl() {\r\n // Set optional to false, if control validator is required\r\n if (isUndefined(this.optional) && this.control && this.control.validator == Validators.required) {\r\n this.optional = false;\r\n }\r\n\r\n if (isUndefined(this.optional) && this.control && !this.control.validator) {\r\n //TODO: Buggy implementation as it is not clear, if the control is required or not...\r\n this.optional = true;\r\n }\r\n\r\n if (this.control.validator == Validators.compose) {\r\n console.warn(\"Cannot automatically determine required state for form control with composed validators, please set optional argument manually!\", [this]);\r\n }\r\n\r\n if (this.controlSub) {\r\n this.controlSub.unsubscribe();\r\n }\r\n\r\n this.controlSub = this.control.valueChanges.subscribe((val: any) => {\r\n if (this.items && val) {\r\n let i = val ? this.items.find(it => it.cuid === val) : null;\r\n this.onItemSelected(i);\r\n }\r\n if (!val) {\r\n this.onItemDeselected();\r\n }\r\n });\r\n }\r\n\r\n onAddClicked() {\r\n this.addClicked.emit();\r\n }\r\n\r\n onItemSelected(item: IModel) {\r\n this.selectedItem = item;\r\n setTimeout(() => {\r\n this.itemChanged.emit(item);\r\n if (this.control.dirty) {\r\n this.itemSelected.emit(item);\r\n }\r\n });\r\n\r\n }\r\n\r\n onItemDeselectClicked() {\r\n this.control.setValue(null);\r\n this.control.markAsDirty();\r\n this.onItemDeselected();\r\n }\r\n\r\n onItemDeselected() {\r\n let oldItem = this.selectedItem;\r\n this.selectedItem = null;\r\n setTimeout(() => {\r\n this.itemChanged.emit(null);\r\n if (this.control.dirty) {\r\n this.itemDeselected.emit(oldItem);\r\n }\r\n });\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/core/visbos-core/ui/forms/generic-selection-input/generic-selection-input.component.ts","module.exports = \"\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/core/visbos-core/ui/forms/inline-edit/inline-edit.component.css\n// module id = ./src/app/core/visbos-core/ui/forms/inline-edit/inline-edit.component.css\n// module chunks = main","module.exports = \"
\\r\\n {{label}}:\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n {{label}}:\\r\\n \\r\\n {{value | date:'shortDate'}} \\r\\n {{placeholder ? placeholder : '...eintragen...'}}\\r\\n \\r\\n \\r\\n \\r\\n {{placeholder ? placeholder : '...eintragen...'}}\\r\\n \\r\\n \\r\\n {{value}} \\r\\n {{placeholder ? placeholder : '...eintragen...'}}\\r\\n \\r\\n
\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/core/visbos-core/ui/forms/inline-edit/inline-edit.component.html\n// module id = ./src/app/core/visbos-core/ui/forms/inline-edit/inline-edit.component.html\n// module chunks = main","import {Component, ElementRef, forwardRef, Input, OnInit, Renderer2, ViewChild} from \"@angular/core\";\r\nimport {NG_VALUE_ACCESSOR} from \"@angular/forms\";\r\n\r\nconst INLINE_EDIT_CONTROL_VALUE_ACCESSOR = {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => InlineEditComponent),\r\n multi: true\r\n};\r\n\r\n@Component({\r\n selector: 'vb-inline-edit',\r\n templateUrl: './inline-edit.component.html',\r\n styleUrls: ['./inline-edit.component.css'],\r\n providers: [INLINE_EDIT_CONTROL_VALUE_ACCESSOR],\r\n})\r\nexport class InlineEditComponent implements OnInit {\r\n\r\n @ViewChild('inlineEditControl') inlineEditControl: ElementRef; // input DOM element\r\n @Input() label: string = ''; // Label value for input element\r\n @Input() type: string = 'text'; // The type of input element\r\n @Input() placeholder: string = ''; // Placeholder value for input element\r\n\r\n @Input() required: boolean = false; // Is input requried?\r\n @Input() disabled: boolean = false; // Is input disabled?\r\n\r\n private _value: string = ''; // Private variable for input value\r\n\r\n preValue: string = ''; // The value before clicking to edit\r\n editing: boolean = false; // Is Component in edit mode?\r\n\r\n onChange: any = Function.prototype; // Trascend the onChange event\r\n onTouched: any = Function.prototype; // Trascend the onTouch event\r\n\r\n // Control Value Accessors for ngModel\r\n get value(): any {\r\n return this._value;\r\n }\r\n\r\n set value(v: any) {\r\n if (v !== this._value) {\r\n this._value = v;\r\n this.onChange(v);\r\n }\r\n }\r\n\r\n constructor(element: ElementRef, private _renderer: Renderer2) {\r\n }\r\n\r\n // Required for ControlValueAccessor interface\r\n writeValue(value: any) {\r\n this._value = value;\r\n }\r\n\r\n // Required forControlValueAccessor interface\r\n public registerOnChange(fn: (_: any) => {}): void {\r\n this.onChange = fn;\r\n }\r\n\r\n // Required forControlValueAccessor interface\r\n public registerOnTouched(fn: () => {}): void {\r\n this.onTouched = fn;\r\n }\r\n\r\n // Do stuff when the input element loses focus\r\n onBlur($event: Event) {\r\n this.editing = false;\r\n }\r\n\r\n // Start the editting process for the input element\r\n edit(value) {\r\n if (this.disabled) {\r\n return;\r\n }\r\n\r\n this.preValue = value;\r\n this.editing = true;\r\n\r\n // Focus on the input element just as the editing begins\r\n setTimeout(() => {\r\n this.inlineEditControl.nativeElement.focus();\r\n }, 0);\r\n\r\n }\r\n\r\n cancel() {\r\n this.value = this.preValue;\r\n this.editing = false;\r\n }\r\n\r\n save() {\r\n this.editing = false;\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/core/visbos-core/ui/forms/inline-edit/inline-edit.component.ts","module.exports = \"\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/core/visbos-core/ui/forms/multi-select-typeahead/multi-select-typeahead.component.css\n// module id = ./src/app/core/visbos-core/ui/forms/multi-select-typeahead/multi-select-typeahead.component.css\n// module chunks = main","module.exports = \"\\r\\n\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n\\r\\n\\r\\n\\r\\n
\\r\\n
    \\r\\n
  • \\r\\n \\r\\n {{item.value}} \\r\\n \\r\\n \\r\\n
  • \\r\\n
\\r\\n
\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/core/visbos-core/ui/forms/multi-select-typeahead/multi-select-typeahead.component.html\n// module id = ./src/app/core/visbos-core/ui/forms/multi-select-typeahead/multi-select-typeahead.component.html\n// module chunks = main","import {ChangeDetectorRef, Component, ContentChild, Input, OnInit, TemplateRef, ViewChild} from '@angular/core';\r\nimport {AbstractVisbosControl} from \"../abstract-visbos-control\";\r\nimport {FormArray, FormBuilder} from \"@angular/forms\";\r\nimport {IModel} from \"../../../../../shared/view-model/imodel.interface\";\r\nimport {AutoComplete} from \"primeng/primeng\";\r\nimport {SessionActions} from \"../../../../../shared/actions\";\r\nimport {KeywordService} from \"../../../services/keyword.service\";\r\nimport {Subject} from \"rxjs/Subject\";\r\nimport {Observable} from \"rxjs/Observable\";\r\n\r\n@Component({\r\n selector: 'vb-multi-select-typeahead',\r\n templateUrl: './multi-select-typeahead.component.html',\r\n styleUrls: ['./multi-select-typeahead.component.css']\r\n})\r\nexport class MultiSelectTypeaheadComponent extends AbstractVisbosControl implements OnInit {\r\n\r\n @ViewChild('inputField')\r\n inputField: AutoComplete;\r\n\r\n @Input()\r\n searchFunction: (searchString: string, itemList: T[]) => T[];\r\n\r\n @ContentChild(TemplateRef) vbTemplate: TemplateRef;\r\n\r\n @Input()\r\n placeholder: string = \"Tippen für Autovervollständigung...\";\r\n\r\n @Input()\r\n dropdown: boolean = false;\r\n\r\n @Input()\r\n valueField: string = 'label';\r\n\r\n private _items: T[];\r\n\r\n @Input()\r\n set items(items: T[]) {\r\n this._items = items;\r\n this.patchItemsValues();\r\n }\r\n\r\n get items(): T[] {\r\n return this._items;\r\n }\r\n\r\n @Input()\r\n data: Observable;\r\n\r\n searchLoading: boolean = false;\r\n\r\n searchText: string;\r\n private searchToken$: Subject = new Subject();\r\n\r\n suggestions: T[] = [];\r\n\r\n\r\n constructor(fb: FormBuilder, cd: ChangeDetectorRef, sessionActions: SessionActions,\r\n private keywordService: KeywordService) {\r\n super(fb, cd, sessionActions);\r\n }\r\n\r\n patchItemsValues() {\r\n\r\n if (!this.control) {\r\n return;\r\n }\r\n\r\n this.control.controls = [];\r\n this.control.reset();\r\n\r\n if (!this.items) {\r\n return;\r\n }\r\n\r\n for (let item of this.items) {\r\n this.control.push(this.fb.control(item[this.valueField]));\r\n }\r\n\r\n }\r\n\r\n ngOnInit() {\r\n super.ngOnInit();\r\n\r\n this.data = this.keywordService.findKeywords(this.searchToken$);\r\n this.dataSubscriptions.push(this.data.subscribe(res => {\r\n this.searchLoading = res.loading;\r\n this.suggestions = res.data.keywords;\r\n }));\r\n\r\n }\r\n\r\n onSelect(selectedItem: T) {\r\n this.addItemToList(selectedItem[this.valueField]);\r\n }\r\n\r\n onNew(event: KeyboardEvent) {\r\n if (event.key == 'Enter') {\r\n this.addItemToList(this.searchText);\r\n }\r\n }\r\n\r\n buildControlContent(): FormArray {\r\n return MultiSelectTypeaheadComponent.initControl(this.fb);\r\n }\r\n\r\n public static initControl(fb: FormBuilder): FormArray {\r\n return fb.array([]);\r\n }\r\n\r\n search(event) {\r\n\r\n if (!event || !event.query || event.query == '') {\r\n this.searchLoading = false;\r\n return;\r\n }\r\n\r\n this.searchToken$.next(event.query);\r\n\r\n }\r\n\r\n addItemToList(value: string) {\r\n if (value) {\r\n this.control.push(this.fb.control(value));\r\n }\r\n this.searchText = null;\r\n }\r\n\r\n deleteItemFromList(index: number) {\r\n this.control.removeAt(index);\r\n }\r\n\r\n focus() {\r\n this.inputField.el.nativeElement.children[0].children[0].focus();\r\n }\r\n\r\n handleDropdown(event) {\r\n console.error(\"Not yet implemented!\");\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/core/visbos-core/ui/forms/multi-select-typeahead/multi-select-typeahead.component.ts","import {AbstractControl, AsyncValidatorFn} from \"@angular/forms\";\r\nimport {Observable} from \"rxjs/Observable\";\r\nimport {BarcodeService} from \"../../../../../identity/services/barcode.service\";\r\nimport {appInjector} from \"../../../../../index\";\r\nimport {ERRCODE_BARCODE_IN_USE, ERRCODE_MISC} from \"./validator-error-codes\";\r\nimport {distinctUntilChanged} from \"rxjs/operators\";\r\n\r\n/**\r\n * Created by afuhr on 04.01.2017.\r\n */\r\n\r\ninterface IAsynchronousBarcodeValidator {\r\n\r\n}\r\n\r\nfunction validateBarcode(cuid?: string | Observable) {\r\n return (control: AbstractControl): Observable => {\r\n // Get application injector and dirty-inject the barcode service\r\n let injector = appInjector();\r\n let bcService = injector.get(BarcodeService);\r\n\r\n // If no value is given, return valid\r\n if (!control.value) {\r\n return new Observable((obs: any) => {\r\n obs.next(null);\r\n obs.complete();\r\n });\r\n }\r\n\r\n return new Observable((obs: any) => {\r\n bcService.checkBarcode(control.value, cuid).pipe(\r\n distinctUntilChanged()\r\n ).subscribe(\r\n res => {\r\n obs.next(null);\r\n obs.complete();\r\n },\r\n error => {\r\n console.warn(\"Barcode already in use!\", [cuid, control.value, error]);\r\n let errorCode = ERRCODE_MISC;\r\n\r\n if (error.graphQLErrors && error.graphQLErrors.find(e => e.message == \"EAN already in use!\")) {\r\n errorCode = ERRCODE_BARCODE_IN_USE;\r\n }\r\n obs.next({[errorCode]: true});\r\n obs.complete();\r\n }\r\n );\r\n });\r\n }\r\n}\r\n\r\nexport class AsynchronousBarcodeValidator {\r\n\r\n static checkBarcode(stockCuid?: string | Observable): AsyncValidatorFn {\r\n return validateBarcode(stockCuid);\r\n }\r\n\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/core/visbos-core/ui/forms/validators/barcode.async.validator.ts","import {AfterViewInit, Directive, ElementRef, forwardRef, Input, Renderer2} from \"@angular/core\";\r\nimport {ControlValueAccessor, NG_VALUE_ACCESSOR} from \"@angular/forms\";\r\nimport {isNullOrUndefined} from \"util\";\r\nimport {debounceTime} from \"rxjs/operators\";\r\nimport {fromEvent} from \"rxjs/observable/fromEvent\";\r\n\r\n/**\r\n * Created by afuhr on 05.01.2017.\r\n */\r\n\r\n\r\n@Directive({\r\n selector: '[debounceTime]',\r\n //host: {'(change)': 'doOnChange($event.target)', '(blur)': 'onTouched()'},\r\n providers: [{\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => DebounceInputControlValueAccessor), multi: true\r\n }]\r\n})\r\nexport class DebounceInputControlValueAccessor implements ControlValueAccessor, AfterViewInit {\r\n\r\n onChange = (_) => {\r\n };\r\n onTouched = () => {\r\n };\r\n\r\n @Input()\r\n debounceTime: number;\r\n\r\n constructor(private _elementRef: ElementRef, private _renderer: Renderer2) {\r\n\r\n }\r\n\r\n ngAfterViewInit() {\r\n fromEvent(this._elementRef.nativeElement, 'keyup')\r\n .pipe(\r\n debounceTime(this.debounceTime)\r\n ).subscribe((event: any) => {\r\n this.onChange(event.target.value);\r\n });\r\n }\r\n\r\n writeValue(value: any): void {\r\n var normalizedValue = isNullOrUndefined(value) ? '' : value;\r\n this._renderer.setProperty(this._elementRef.nativeElement, 'value', normalizedValue);\r\n }\r\n\r\n registerOnChange(fn: () => any): void {\r\n this.onChange = fn;\r\n }\r\n\r\n registerOnTouched(fn: () => any): void {\r\n this.onTouched = fn;\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/core/visbos-core/ui/forms/validators/debounce-input.ts","/**\r\n * Created by afuhr on 05.01.2017.\r\n */\r\n\r\nexport const ERRCODE_MISC = \"miscError\";\r\n\r\nexport const ERRCODE_BARCODE_IN_USE = \"barcodeInUse\";\r\nexport const HELPTEXT_BARCODE_IN_USE = \"Der Barcode ist bereits in Benutzung und kann nicht verwendet werden\";\r\n\r\nexport class ValidatorErrorCodes {\r\n\r\n public static ERRCODE_MISC = ERRCODE_MISC;\r\n public static ERRCODE_BARCODE_IN_USE = ERRCODE_BARCODE_IN_USE;\r\n\r\n}\r\n\r\nexport class ValidatorErrorHelpTexts {\r\n public static HELPTEXT_BARCODE_IN_USE = HELPTEXT_BARCODE_IN_USE;\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/core/visbos-core/ui/forms/validators/validator-error-codes.ts","module.exports = \"\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/core/visbos-core/ui/messages/messages.component.css\n// module id = ./src/app/core/visbos-core/ui/messages/messages.component.css\n// module chunks = main","module.exports = \"\\r\\n
\\r\\n
\\r\\n Nachrichten \\r\\n \\r\\n
\\r\\n
    \\r\\n
  • Keine Nachrichten...
  • \\r\\n
  • \\r\\n {{msg?.message}} \\r\\n \\r\\n
  • \\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/core/visbos-core/ui/messages/messages.component.html\n// module id = ./src/app/core/visbos-core/ui/messages/messages.component.html\n// module chunks = main","import {Component, OnDestroy, OnInit, ViewChild} from \"@angular/core\";\r\nimport {NgRedux, select} from \"@angular-redux/store\";\r\nimport {Message, MessageType} from \"../../../../shared/redux-store/session/session.types\";\r\nimport {List} from \"immutable\";\r\nimport {SessionActions} from \"../../../../shared/actions/session.actions\";\r\nimport {IAppState} from \"../../../../shared/redux-store/store\";\r\nimport {OverlayPanel} from \"primeng/components/overlaypanel/overlaypanel\";\r\nimport {Observable} from \"rxjs/Observable\";\r\nimport {Subscription} from \"rxjs/Subscription\";\r\nimport {VisBOSMessage} from \"./VisBOSMessage.interface\";\r\n\r\n@Component({\r\n selector: 'vb-messages',\r\n templateUrl: './messages.component.html',\r\n styleUrls: ['./messages.component.css']\r\n})\r\nexport class MessagesComponent implements OnInit, OnDestroy {\r\n\r\n @select(['session', 'messages'])\r\n messages$: Observable>;\r\n\r\n lastMessages: Message[] = [];\r\n allMessages: List;\r\n messagesSub: Subscription;\r\n\r\n @ViewChild('msgPanel')\r\n msgPanel: OverlayPanel;\r\n\r\n growlMessages$: Observable;\r\n growlMessages: VisBOSMessage[] = [];\r\n\r\n\r\n constructor(private sessionActions: SessionActions, private ngRx: NgRedux) {\r\n }\r\n\r\n ngOnInit() {\r\n this.growlMessages$ = this.sessionActions.growlMsgs;\r\n this.growlMessages$.subscribe(msgs => {\r\n this.growlMessages = msgs;\r\n });\r\n\r\n this.messagesSub = this.messages$.subscribe(msgs => {\r\n this.allMessages = msgs;\r\n this.lastMessages = JSON.parse(JSON.stringify(this.allMessages));\r\n this.lastMessages = this.lastMessages.reverse().slice(0, 10);\r\n });\r\n\r\n }\r\n\r\n togglePanel(e: Event) {\r\n this.msgPanel.toggle(e);\r\n }\r\n\r\n removeMessage(index) {\r\n let realIndex: number = this.allMessages.size - 1 - index;\r\n this.sessionActions.removeMessage(realIndex);\r\n }\r\n\r\n clearMessages() {\r\n this.sessionActions.clearAllMessages();\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.clearMessages();\r\n\r\n if (this.messagesSub) {\r\n this.messagesSub.unsubscribe();\r\n }\r\n }\r\n\r\n setMessageClass(msg: Message) {\r\n return {\r\n 'list-group-item-success': msg.type == MessageType.SUCCESS,\r\n 'list-group-item-info': msg.type == MessageType.INFO,\r\n 'list-group-item-warning': msg.type == MessageType.WARNING,\r\n 'list-group-item-danger': msg.type == MessageType.ERROR\r\n }\r\n }\r\n\r\n setIconClass() {\r\n return {\r\n 'text-danger': this.ngRx.getState().session.hasError,\r\n 'text-success': !this.ngRx.getState().session.hasError\r\n }\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/core/visbos-core/ui/messages/messages.component.ts","module.exports = \"\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/core/visbos-core/ui/navigation/action-bar/action-bar.component.css\n// module id = ./src/app/core/visbos-core/ui/navigation/action-bar/action-bar.component.css\n// module chunks = main","module.exports = \"\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/core/visbos-core/ui/navigation/action-bar/action-bar.component.html\n// module id = ./src/app/core/visbos-core/ui/navigation/action-bar/action-bar.component.html\n// module chunks = main","import {\r\n AfterViewInit,\r\n ChangeDetectorRef,\r\n Component,\r\n ElementRef,\r\n Input,\r\n OnInit,\r\n TemplateRef,\r\n ViewChild\r\n} from \"@angular/core\";\r\n\r\nexport interface ActionBarAction {\r\n icon?: string,\r\n label: string,\r\n action?: Function,\r\n disabled?: Function,\r\n helpText?: string,\r\n disabledText?: string,\r\n templateRef?: TemplateRef\r\n}\r\n\r\n@Component({\r\n selector: 'vb-action-bar',\r\n templateUrl: './action-bar.component.html',\r\n styleUrls: ['./action-bar.component.css']\r\n})\r\nexport class ActionBarComponent implements OnInit, AfterViewInit {\r\n\r\n @ViewChild('contentContainer')\r\n contentContainer: ElementRef;\r\n\r\n @ViewChild('filterMenu')\r\n filterMenuRef: ElementRef;\r\n\r\n @Input()\r\n actions: ActionBarAction[];\r\n\r\n @Input()\r\n showFilters: boolean = true;\r\n\r\n filterOpen = false;\r\n\r\n constructor(private cd: ChangeDetectorRef) {\r\n }\r\n\r\n ngOnInit() {\r\n\r\n }\r\n\r\n toggleFilterMenu() {\r\n if (this.filterOpen) {\r\n this.closeFilterMenu();\r\n } else {\r\n this.openFilterMenu()\r\n }\r\n }\r\n\r\n closeFilterMenu() {\r\n this.filterOpen = false;\r\n this.filterMenuRef.nativeElement.classList.remove('open');\r\n }\r\n\r\n openFilterMenu() {\r\n this.filterOpen = true;\r\n this.filterMenuRef.nativeElement.classList.add('open');\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n this.showFilters = (this.showFilters && this.contentContainer.nativeElement.children.length > 0);\r\n this.cd.detectChanges();\r\n }\r\n\r\n onActionClicked(action: ActionBarAction) {\r\n if (action.disabled && action.disabled()) {\r\n return;\r\n }\r\n\r\n if (!action.action) {\r\n return;\r\n }\r\n\r\n action.action();\r\n }\r\n\r\n getActionHelpText(action: ActionBarAction) {\r\n\r\n if (action.disabled && action.disabled() && action.disabledText) {\r\n return action.disabledText;\r\n }\r\n\r\n return action.helpText ? action.helpText : '';\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/core/visbos-core/ui/navigation/action-bar/action-bar.component.ts","module.exports = \"\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/core/visbos-core/ui/navigation/search-input/search-input.component.css\n// module id = ./src/app/core/visbos-core/ui/navigation/search-input/search-input.component.css\n// module chunks = main","module.exports = \"
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/core/visbos-core/ui/navigation/search-input/search-input.component.html\n// module id = ./src/app/core/visbos-core/ui/navigation/search-input/search-input.component.html\n// module chunks = main","import {Component, EventEmitter, HostBinding, Input, OnDestroy, OnInit, Output} from \"@angular/core\";\r\nimport {FormControl} from \"@angular/forms\";\r\nimport {Observable} from \"rxjs/Observable\";\r\nimport {Subscription} from \"rxjs/Subscription\";\r\nimport {debounceTime, distinctUntilChanged, finalize} from \"rxjs/operators\";\r\nimport {KeyboardOptions} from \"virtual-keyboard\";\r\nimport {GERMAN_LAYOUT} from \"../../directives/on-screen-keyboard.directive\";\r\n\r\n@Component({\r\n selector: 'vb-search-input',\r\n templateUrl: './search-input.component.html',\r\n styleUrls: ['./search-input.component.css']\r\n})\r\nexport class SearchInputComponent implements OnInit, OnDestroy {\r\n\r\n kbOptions: KeyboardOptions = {\r\n type: 'input',\r\n layout: 'custom',\r\n customLayout: GERMAN_LAYOUT\r\n };\r\n\r\n @Input()\r\n touchMode: boolean = false;\r\n\r\n //@HostBinding('class')\r\n //private classAttr = \"has-deselect-icon\";\r\n\r\n @HostBinding('style')\r\n private width = \"100%\";\r\n\r\n @Input()\r\n formGroupStyle: string;\r\n\r\n @Input()\r\n placeholder: string = \"Suche...\";\r\n\r\n @Input()\r\n searchTermControl: FormControl = new FormControl(null);\r\n\r\n @Input()\r\n observableSearchFunction: (term: string) => Observable;\r\n\r\n @Input()\r\n searchFunction: (term: string) => any[];\r\n\r\n @Output()\r\n searchStarted: EventEmitter = new EventEmitter();\r\n\r\n @Output()\r\n searchFinished: EventEmitter = new EventEmitter();\r\n\r\n @Output()\r\n searchCleared: EventEmitter = new EventEmitter();\r\n\r\n @Output()\r\n loadingStateChanged: EventEmitter = new EventEmitter();\r\n\r\n private _loading: boolean = false;\r\n\r\n get loading(): boolean {\r\n return this._loading;\r\n }\r\n\r\n set loading(value: boolean) {\r\n this._loading = value;\r\n this.loadingStateChanged.emit(value);\r\n }\r\n\r\n private searchSub: Subscription;\r\n private ctrlSub: Subscription;\r\n\r\n constructor() {\r\n }\r\n\r\n ngOnInit() {\r\n\r\n this.ctrlSub = this.searchTermControl.valueChanges.subscribe(val => {\r\n if (!val) {\r\n this.onClearClicked();\r\n }\r\n });\r\n\r\n if (this.searchFunction && this.observableSearchFunction) {\r\n console.warn(\"Both, a search function and an observable search function have been provided: both will be execuded during search which may result in unexpected behaviour!\");\r\n }\r\n\r\n this.searchSub = this.searchTermControl.valueChanges.pipe(\r\n debounceTime(500),\r\n distinctUntilChanged()\r\n )\r\n .subscribe(term => {\r\n if (!term || !term.length) {\r\n this.searchCleared.emit();\r\n return;\r\n }\r\n\r\n this.loading = true;\r\n this.searchStarted.emit();\r\n\r\n if (this.searchFunction) {\r\n this.loading = false;\r\n this.searchFinished.emit(this.searchFunction(term));\r\n }\r\n\r\n if (this.observableSearchFunction) {\r\n this.observableSearchFunction(term)\r\n .pipe(\r\n finalize(() => {\r\n this.loading = false;\r\n })\r\n )\r\n .subscribe(result => {\r\n this.loading = result.loading ? result.loading : false;\r\n this.searchFinished.emit(result);\r\n });\r\n }\r\n\r\n }, err => {\r\n this.loading = false;\r\n }\r\n );\r\n\r\n }\r\n\r\n runSearch(term) {\r\n this.searchTermControl.setValue(term);\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.loading = false;\r\n if (this.searchSub\r\n ) {\r\n this.searchSub.unsubscribe();\r\n }\r\n if (this.ctrlSub) {\r\n this.ctrlSub.unsubscribe();\r\n }\r\n }\r\n\r\n resetFilter() {\r\n this.loading = false;\r\n this.searchTermControl.reset();\r\n }\r\n\r\n onClearClicked() {\r\n this.loading = false;\r\n this.searchCleared.emit();\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/core/visbos-core/ui/navigation/search-input/search-input.component.ts","module.exports = \"\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/core/visbos-core/views/maintenance-view/maintenance-view.component.css\n// module id = ./src/app/core/visbos-core/views/maintenance-view/maintenance-view.component.css\n// module chunks = main","module.exports = \"
\\r\\n
\\r\\n
\\r\\n
\\r\\n

 Wartungsarbeiten

\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n

Derzeit werden Wartungsarbeiten an VisBOS durchgeführt...

\\r\\n\\r\\n
\\r\\n
Wartungsgrund:
\\r\\n
{{maintenanceData?.message}}
\\r\\n
Wartungsbeginn:
\\r\\n
{{maintenanceData?.start_time | date:'medium'}}
\\r\\n
Voraussichtliches Ende der Maßnahmen:
\\r\\n
{{maintenanceData?.approx_end_time | date:'medium'}}
\\r\\n
\\r\\n\\r\\n

Für die Dauer der Arbeiten ist das System nicht erreichbar. Sie werden automatisch zur Hauptseite\\r\\n weitergeleitet, sobald die Wartungsarbeiten abgeschlossen sind...

\\r\\n\\r\\n\\r\\n

Ihr witcotech-Team

\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n witcotech Support
\\r\\n \\r\\n 06128 / 860 016 - 1
\\r\\n \\r\\n 06128 / 860 016 - 2
\\r\\n \\r\\n support@witcotech.de\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n
\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/core/visbos-core/views/maintenance-view/maintenance-view.component.html\n// module id = ./src/app/core/visbos-core/views/maintenance-view/maintenance-view.component.html\n// module chunks = main","import {Component, OnDestroy, OnInit} from '@angular/core';\r\nimport {Router} from \"@angular/router\";\r\nimport {IAppState} from \"../../../../shared/redux-store/store\";\r\nimport {Apollo} from \"apollo-angular\";\r\nimport {NgRedux} from \"@angular-redux/store\";\r\nimport {SessionActions} from \"../../../../shared/actions/session.actions\";\r\nimport {MaintenanceData, MaintenanceService} from \"../../maintenance/maintenance.service\";\r\nimport {Subscription} from \"rxjs/Subscription\";\r\nimport {Observable} from \"rxjs/Observable\";\r\n\r\n@Component({\r\n selector: 'vb-maintenance-view',\r\n templateUrl: './maintenance-view.component.html',\r\n styleUrls: ['./maintenance-view.component.css']\r\n})\r\nexport class MaintenanceViewComponent implements OnInit, OnDestroy {\r\n\r\n private maintenanceStatusQuery$: Observable;\r\n\r\n public maintenanceData: MaintenanceData;\r\n private sub: Subscription;\r\n\r\n constructor(private router: Router,\r\n private ngRedux: NgRedux,\r\n private sessionActions: SessionActions,\r\n private apollo: Apollo,\r\n private maintenanceService: MaintenanceService) {\r\n\r\n try {\r\n const queryManager = this.apollo && this.apollo.getClient() ? this.apollo.getClient().queryManager : null;\r\n\r\n for (let id in queryManager.queryStore.getStore()) {\r\n queryManager.stopQuery(id);\r\n queryManager.stopQueryInStore(id);\r\n queryManager.removeObservableQuery(id);\r\n queryManager.removeQuery(id);\r\n }\r\n\r\n } catch (err) {\r\n console.warn(\"Error during stopping queries\", [err]);\r\n }\r\n\r\n }\r\n\r\n ngOnInit() {\r\n\r\n this.maintenanceStatusQuery$ = this.maintenanceService.getMaintenanceStatus();\r\n this.sub = this.maintenanceStatusQuery$.subscribe(res => {\r\n this.maintenanceData = res;\r\n if (this.maintenanceData && this.maintenanceData.maintenance === false) {\r\n this.router.navigate(['/']);\r\n }\r\n });\r\n\r\n }\r\n\r\n ngOnDestroy(): void {\r\n if (this.sub) {\r\n this.sub.unsubscribe();\r\n }\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/core/visbos-core/views/maintenance-view/maintenance-view.component.ts","module.exports = \"\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/core/visbos-core/visbos-core.component.css\n// module id = ./src/app/core/visbos-core/visbos-core.component.css\n// module chunks = main","module.exports = \"

\\r\\n visbos-core works!\\r\\n

\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/core/visbos-core/visbos-core.component.html\n// module id = ./src/app/core/visbos-core/visbos-core.component.html\n// module chunks = main","import {Component, OnInit} from \"@angular/core\";\r\n\r\n@Component({\r\n selector: 'vb-visbos-core',\r\n templateUrl: './visbos-core.component.html',\r\n styleUrls: ['./visbos-core.component.css']\r\n})\r\nexport class VisbosCoreComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/core/visbos-core/visbos-core.component.ts","import {NgModule} from \"@angular/core\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport {VisbosCoreComponent} from \"./visbos-core.component\";\r\nimport {LoadingComponent} from \"./loading/loading.component\";\r\nimport {AccordionModule, ModalModule, TooltipModule} from \"ngx-bootstrap\";\r\nimport {AddButtonComponent} from \"./ui/buttons/add-button/add-button.component\";\r\nimport {GenericFormGroupComponent} from \"./ui/forms/generic-form-group/generic-form-group.component\";\r\nimport {GenericSelectionInputComponent} from \"./ui/forms/generic-selection-input/generic-selection-input.component\";\r\nimport {FormsModule, ReactiveFormsModule} from \"@angular/forms\";\r\nimport {GenericFormControlComponent} from \"./ui/forms/generic-form-control/generic-form-control.component\";\r\nimport {GenericModalComponent} from \"./ui/forms/generic-modal/generic-modal.component\";\r\nimport {ModalComponent} from \"./ui/dialogs/modal/modal.component\";\r\nimport {NestedItemsListComponent} from \"./ui/dialogs/nested-items-list/nested-items-list.component\";\r\nimport {AsynchronousBarcodeValidator} from \"./ui/forms/validators/barcode.async.validator\";\r\nimport {DebounceInputControlValueAccessor} from \"./ui/forms/validators/debounce-input\";\r\nimport {DeleteButtonComponent} from \"./ui/buttons/delete-button/delete-button.component\";\r\nimport {EditButtonComponent} from \"./ui/buttons/edit-button/edit-button.component\";\r\nimport {GenericButtonComponent} from \"./ui/buttons/generic-button/generic-button.component\";\r\nimport {UnitSelectionComponent} from \"./ui/dialogs/unit-selection/unit-selection.component\";\r\nimport {UnitService} from \"./services/unit.service\";\r\nimport {ErrorHandlerService} from \"./error-handling/error-handler.service\";\r\nimport {GenericFormArrayGroupComponent} from \"./ui/forms/generic-form-array-group/generic-form-array-group.component\";\r\nimport {AddressFormComponent} from \"./ui/forms/address-form/address-form.component\";\r\nimport {CountrySelectionComponent} from \"./ui/forms/country-selection/country-selection.component\";\r\nimport {AddressService} from \"./services/address.service\";\r\nimport {AddButtonDirective} from \"./ui/buttons/add-button.directive\";\r\nimport {ActionBarComponent} from \"./ui/navigation/action-bar/action-bar.component\";\r\nimport {SearchInputComponent} from \"./ui/navigation/search-input/search-input.component\";\r\nimport {ContentPageViewComponent} from \"./ui/components/content-page-view/content-page-view.component\";\r\nimport {DatatableComponent} from \"./ui/components/datatable/datatable.component\";\r\nimport {NgxDatatableModule} from \"@swimlane/ngx-datatable\";\r\nimport {MessagesComponent} from \"./ui/messages/messages.component\";\r\nimport {GrowlModule} from \"primeng/components/growl/growl\";\r\nimport {CanEditGuard} from \"./authorization/guards/can-edit.guard\";\r\nimport {ValidatableDirective} from \"./ui/forms/directives/validatable.directive\";\r\nimport {AutocompleteComponent} from \"./ui/forms/autocomplete/autocomplete.component\";\r\nimport {AutoCompleteModule} from \"primeng/components/autocomplete/autocomplete\";\r\nimport {SaveButtonComponent} from \"./ui/buttons/save-button/save-button.component\";\r\nimport {BarcodeScannerComponent} from \"./ui/components/barcode-scanner/barcode-scanner.component\";\r\nimport {GenericFormArrayEntryComponent} from \"./ui/forms/generic-form-array-group/generic-form-array-entry/generic-form-array-entry.component\";\r\nimport {DialogComponent} from \"./ui/dialogs/dialog/dialog.component\";\r\nimport {FormControlMessageComponent} from \"./ui/forms/directives/form-control-message/form-control-message.component\";\r\nimport {UserIdentificationComponent} from \"./ui/components/user-identification/user-identification.component\";\r\nimport {TimerComponent} from \"./components/timer/timer.component\";\r\nimport {TouchAuthorizedGuard} from \"./authorization/guards/touch-authorized.guard\";\r\nimport {OverlayPanelModule} from \"primeng/components/overlaypanel/overlaypanel\";\r\nimport {InlineEditComponent} from \"./ui/forms/inline-edit/inline-edit.component\";\r\nimport {VisbosErrorHandlerService} from \"./error-handling/visbos-error-handler.service\";\r\nimport {CurrencyInputComponent} from \"./ui/components/currency-input/currency-input.component\";\r\nimport {SignatureComponent} from \"./ui/components/signature/signature.component\";\r\nimport {SignaturePadModule} from \"angular2-signaturepad\";\r\nimport {CreateModalDirective} from \"./ui/dialogs/create-modal.directive\";\r\nimport {FileService} from \"./http/file.service\";\r\nimport {PrivateImageDirective} from \"./ui/directives/private-image.directive\";\r\nimport {DebugContentComponent} from \"./error-handling/debug-content/debug-content.component\";\r\nimport {TaxCalculatorComponent} from \"./components/tax-calculator/tax-calculator.component\";\r\nimport {RatioWidthDirective} from \"./ui/directives/ratio-width.directive\";\r\nimport {SelectPrintedSheetComponent} from \"./components/select-printed-sheet/select-printed-sheet.component\";\r\nimport {UseByDatePickerComponent} from \"./ui/components/use-by-date-picker/use-by-date-picker.component\";\r\nimport {DatepickerModule} from \"ngx-bootstrap/datepicker\";\r\nimport {PopoverModule} from \"ngx-bootstrap/popover\";\r\nimport {PasswordChangeComponent} from \"./components/password-change/password-change.component\";\r\nimport {PasswordChangeValidation} from \"./components/password-change/password-change.validator\";\r\nimport {PasswordResetLinkComponent} from \"./components/password-change/password-reset-link/password-reset-link.component\";\r\nimport {PasswordResetFormComponent} from \"./components/password-change/password-reset-form/password-reset-form.component\";\r\nimport {DatepickerInputComponent} from \"./ui/components/datepicker-input/datepicker-input.component\";\r\nimport {FitParentSizeDirective} from './ui/directives/fit-parent-size.directive';\r\nimport {SearchResultModalComponent} from './components/search-result-modal/search-result-modal.component';\r\nimport {MultiSelectTypeaheadComponent} from './ui/forms/multi-select-typeahead/multi-select-typeahead.component';\r\nimport {TypeaheadModule} from 'ngx-bootstrap/typeahead';\r\nimport {KeywordService} from \"./services/keyword.service\";\r\nimport {LogOutComponent} from './components/log-out/log-out.component';\r\nimport {HasPermissionToGuard} from \"./authorization/guards/has-permission-to.guard\";\r\nimport {PusherService} from \"./subscriptions/pusher.service\";\r\nimport {MaintenanceViewComponent} from './views/maintenance-view/maintenance-view.component';\r\nimport {MaintenanceService} from \"./maintenance/maintenance.service\";\r\nimport {ClearInputDirective} from './ui/directives/clear-input.directive';\r\nimport {AutofocusDirective} from './ui/directives/autofocus.directive';\r\nimport {LoadingDirective} from './ui/directives/loading.directive';\r\nimport {AsyncButtonDirective} from './ui/directives/async-button.directive';\r\nimport {LoadingDataComponent} from './loading/loading-data/loading-data.component';\r\nimport {MapToIterablePipe} from './pipes/map-to-iterable.pipe';\r\nimport {OnScreenKeyboardDirective} from './ui/directives/on-screen-keyboard.directive';\r\nimport {MobileBarcodeScannerComponent} from './ui/components/mobile-barcode-scanner/mobile-barcode-scanner.component';\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n TooltipModule.forRoot(),\r\n ModalModule.forRoot(),\r\n AccordionModule.forRoot(),\r\n TypeaheadModule.forRoot(),\r\n DatepickerModule.forRoot(),\r\n PopoverModule.forRoot(),\r\n AutoCompleteModule,\r\n GrowlModule,\r\n NgxDatatableModule,\r\n OverlayPanelModule,\r\n SignaturePadModule\r\n ],\r\n providers: [AsynchronousBarcodeValidator, UnitService, ErrorHandlerService, VisbosErrorHandlerService, AddressService, CanEditGuard, TouchAuthorizedGuard, FileService, PasswordChangeValidation, KeywordService, HasPermissionToGuard, PusherService, MaintenanceService],\r\n declarations: [VisbosCoreComponent, LoadingComponent, AddButtonComponent, GenericFormGroupComponent, GenericSelectionInputComponent, GenericFormControlComponent,\r\n GenericModalComponent, ModalComponent, NestedItemsListComponent, DebounceInputControlValueAccessor, DeleteButtonComponent, EditButtonComponent, GenericButtonComponent, UnitSelectionComponent, GenericFormArrayGroupComponent,\r\n AddressFormComponent, CountrySelectionComponent, AddButtonDirective, ActionBarComponent, SearchInputComponent, ContentPageViewComponent, DatatableComponent, MessagesComponent, ValidatableDirective, AutocompleteComponent, SaveButtonComponent, BarcodeScannerComponent, GenericFormArrayEntryComponent, DialogComponent, FormControlMessageComponent, UserIdentificationComponent, TimerComponent, InlineEditComponent, CurrencyInputComponent, SignatureComponent, CreateModalDirective, PrivateImageDirective, DebugContentComponent, TaxCalculatorComponent, RatioWidthDirective, SelectPrintedSheetComponent, UseByDatePickerComponent, PasswordChangeComponent, PasswordResetLinkComponent, PasswordResetFormComponent, DatepickerInputComponent, FitParentSizeDirective, SearchResultModalComponent, MultiSelectTypeaheadComponent, LogOutComponent, MaintenanceViewComponent, ClearInputDirective, AutofocusDirective, LoadingDirective, AsyncButtonDirective, LoadingDataComponent, MapToIterablePipe, OnScreenKeyboardDirective, MobileBarcodeScannerComponent],\r\n exports: [LoadingComponent, AddButtonComponent, GenericFormGroupComponent, GenericSelectionInputComponent, GenericModalComponent, ModalComponent, NestedItemsListComponent, DebounceInputControlValueAccessor, DeleteButtonComponent, EditButtonComponent, GenericButtonComponent, UnitSelectionComponent, GenericFormArrayGroupComponent, AddressFormComponent, CountrySelectionComponent, ActionBarComponent, SearchInputComponent, ContentPageViewComponent, DatatableComponent, MessagesComponent, ValidatableDirective, AutocompleteComponent, SaveButtonComponent, BarcodeScannerComponent, DialogComponent, FormControlMessageComponent, UserIdentificationComponent, TimerComponent, InlineEditComponent, CurrencyInputComponent, SignatureComponent, CreateModalDirective, PrivateImageDirective, DebugContentComponent, TaxCalculatorComponent, RatioWidthDirective, SelectPrintedSheetComponent, UseByDatePickerComponent, PasswordChangeComponent, DatepickerInputComponent, FitParentSizeDirective, SearchResultModalComponent, MultiSelectTypeaheadComponent, AutofocusDirective, LoadingDirective, AsyncButtonDirective, MapToIterablePipe, OnScreenKeyboardDirective, MobileBarcodeScannerComponent, MobileBarcodeScannerComponent],\r\n entryComponents: [LoadingDataComponent]\r\n})\r\nexport class VisbosCoreModule {\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/core/visbos-core/visbos-core.module.ts","module.exports = \"\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/crm/accounting-units/accounting-unit-selection/accounting-unit-selection.component.css\n// module id = ./src/app/crm/accounting-units/accounting-unit-selection/accounting-unit-selection.component.css\n// module chunks = main","module.exports = \"\\r\\n\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/crm/accounting-units/accounting-unit-selection/accounting-unit-selection.component.html\n// module id = ./src/app/crm/accounting-units/accounting-unit-selection/accounting-unit-selection.component.html\n// module chunks = main","import {ChangeDetectorRef, Component, OnInit, Output} from '@angular/core';\r\nimport {SessionActions} from '../../../shared/actions';\r\nimport {AccountingUnitService} from '../../services/accounting-unit.service';\r\nimport {map} from 'rxjs/operators';\r\nimport {BehaviorSubject, Observable} from 'rxjs';\r\nimport {AbstractVisbosControl} from '../../../core/visbos-core/ui/forms/abstract-visbos-control';\r\nimport {FormBuilder, FormControl} from '@angular/forms';\r\nimport {AccountingUnit} from '../../../shared/view-model/crm/accounting-unit.type';\r\nimport {IModel} from '../../../shared/view-model/imodel.interface';\r\n\r\n@Component({\r\n selector: 'vb-accounting-unit-selection',\r\n templateUrl: './accounting-unit-selection.component.html',\r\n styleUrls: ['./accounting-unit-selection.component.css']\r\n})\r\nexport class AccountingUnitSelectionComponent extends AbstractVisbosControl implements OnInit {\r\n\r\n accountingUnits$: Observable;\r\n\r\n accountingUnitLabel: (item: AccountingUnit) => string = (item: AccountingUnit) => {\r\n let typename = item.__typename;\r\n if(typename === 'Vehicle') {\r\n typename = 'Fahrzeug';\r\n }\r\n if(typename === 'AdministrationUnit') {\r\n typename = 'Standort';\r\n }\r\n if(typename === 'Client') {\r\n typename = 'Kunde';\r\n }\r\n return item.label + ' (' + typename + ')';\r\n };\r\n\r\n @Output()\r\n itemChanged = new BehaviorSubject(null);\r\n\r\n constructor(fb: FormBuilder, cd: ChangeDetectorRef, sessionActions: SessionActions, private accUnitService: AccountingUnitService) {\r\n super(fb, cd, sessionActions);\r\n }\r\n\r\n ngOnInit() {\r\n this.accountingUnits$ = this.accUnitService.getAccountingUnits().pipe(\r\n map(res => [...res.data.clients, ...res.data.fetchAdminUnits, ...res.data.vehicles])\r\n );\r\n }\r\n\r\n buildControlContent(values?: AccountingUnit): FormControl {\r\n return AccountingUnitSelectionComponent.initControl(this.fb);\r\n }\r\n\r\n public static initControl(fb: FormBuilder): FormControl {\r\n return fb.control(null);\r\n }\r\n\r\n public setDefaultValues(item?: AccountingUnit): { [controlKey: string]: any } | any {\r\n return this.setValue(item, 'cuid', null);\r\n }\r\n\r\n public onItemChangedEvent(accountingUnit: AccountingUnit) {\r\n this.itemChanged.next(accountingUnit);\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/crm/accounting-units/accounting-unit-selection/accounting-unit-selection.component.ts","module.exports = \"\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/crm/business-relations/business-relations-form/business-relations-form.component.css\n// module id = ./src/app/crm/business-relations/business-relations-form/business-relations-form.component.css\n// module chunks = main","module.exports = \"\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/crm/business-relations/business-relations-form/business-relations-form.component.html\n// module id = ./src/app/crm/business-relations/business-relations-form/business-relations-form.component.html\n// module chunks = main","import {ChangeDetectorRef, Component, forwardRef} from \"@angular/core\";\r\nimport {AbstractVisbosControl} from \"../../../core/visbos-core/ui/forms/abstract-visbos-control\";\r\nimport {SupplierFormComponent} from \"../../supplier/supplier-form/supplier-form.component\";\r\nimport {FormBuilder, FormGroup, Validators} from \"@angular/forms\";\r\nimport {appInjector} from \"../../../index\";\r\nimport {BusinessRelation} from \"../../../shared/view-model/crm/business-relation\";\r\n\r\n@Component({\r\n selector: 'vb-business-relations-form',\r\n templateUrl: './business-relations-form.component.html',\r\n styleUrls: ['./business-relations-form.component.css'],\r\n providers: [{provide: AbstractVisbosControl, useExisting: forwardRef(() => BusinessRelationsFormComponent)}]\r\n})\r\nexport class BusinessRelationsFormComponent extends AbstractVisbosControl {\r\n\r\n constructor(fb?: FormBuilder, cd?: ChangeDetectorRef) {\r\n super(fb, cd, null);\r\n }\r\n\r\n buildControlContent(): FormGroup {\r\n return SupplierFormComponent.initControl(this.fb);\r\n }\r\n\r\n public static initControl(fb: FormBuilder = null): FormGroup {\r\n fb = fb ? fb : appInjector().get(FormBuilder);\r\n\r\n return fb.group({\r\n cuid: [null],\r\n relation_source_id: [null, Validators.required],\r\n relation_source_type: [null, Validators.required],\r\n relation_target_id: [null, Validators.required],\r\n relation_target_type: [null, Validators.required],\r\n relation_type_id: [null],\r\n relation_type_type: [null]\r\n });\r\n\r\n }\r\n\r\n public setDefaultValues(item?: BusinessRelation): { [controlKey: string]: any } | any {\r\n return {\r\n cuid: this.setValue(item, 'cuid', AbstractVisbosControl.cuid()),\r\n relation_source_id: this.setValue(item, 'relation_source_id'),\r\n relation_source_type: this.setValue(item, 'relation_source_type'),\r\n relation_target_id: this.setValue(item, 'relation_target_id'),\r\n relation_target_type: this.setValue(item, 'relation_target_type'),\r\n relation_type_id: this.setValue(item, 'relation_type_id'),\r\n relation_type_type: this.setValue(item, 'relation_type_type')\r\n };\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/crm/business-relations/business-relations-form/business-relations-form.component.ts","module.exports = \"\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/crm/business-relations/supplier-business-relations-form/supplier-business-relations-form.component.css\n// module id = ./src/app/crm/business-relations/supplier-business-relations-form/supplier-business-relations-form.component.css\n// module chunks = main","module.exports = \"\\r\\n\\r\\n \\r\\n\\r\\n\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/crm/business-relations/supplier-business-relations-form/supplier-business-relations-form.component.html\n// module id = ./src/app/crm/business-relations/supplier-business-relations-form/supplier-business-relations-form.component.html\n// module chunks = main","import {ChangeDetectorRef, Component, forwardRef, Input, OnChanges, OnInit, SimpleChanges} from \"@angular/core\";\r\nimport {AbstractVisbosControl} from \"../../../core/visbos-core/ui/forms/abstract-visbos-control\";\r\nimport {BusinessRelation} from \"../../../shared/view-model/crm/business-relation\";\r\nimport {FormBuilder, FormGroup, Validators} from \"@angular/forms\";\r\nimport {appInjector} from \"../../../index\";\r\nimport {BusinessRelationsFormComponent} from \"../business-relations-form/business-relations-form.component\";\r\nimport {SessionActions} from \"../../../shared/actions/session.actions\";\r\n\r\n@Component({\r\n selector: 'vb-supplier-business-relations-form',\r\n templateUrl: './supplier-business-relations-form.component.html',\r\n styleUrls: ['./supplier-business-relations-form.component.css'],\r\n providers: [{provide: AbstractVisbosControl, useExisting: forwardRef(() => SupplierBusinessRelationsFormComponent)}]\r\n})\r\nexport class SupplierBusinessRelationsFormComponent extends AbstractVisbosControl implements OnChanges, OnInit {\r\n\r\n @Input()\r\n adminUnitCuid: string;\r\n\r\n @Input()\r\n supplierCuid: string;\r\n\r\n constructor(fb: FormBuilder, cd: ChangeDetectorRef, sessionActions: SessionActions) {\r\n super(fb, cd, sessionActions);\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n super.ngOnChanges(changes);\r\n\r\n if (changes.adminUnitCuid && !changes.adminUnitCuid.firstChange) {\r\n this.control.patchValue({\r\n relation: {\r\n relation_source_id: changes.adminUnitCuid.currentValue\r\n }\r\n })\r\n }\r\n\r\n if (changes.supplierCuid && !changes.supplierCuid.firstChange) {\r\n this.control.patchValue({\r\n relation: {\r\n relation_target_id: changes.supplierCuid.currentValue\r\n }\r\n })\r\n }\r\n }\r\n\r\n buildControlContent(): FormGroup {\r\n return SupplierBusinessRelationsFormComponent.initControl(this.fb);\r\n }\r\n\r\n public static initControl(fb: FormBuilder = null): FormGroup {\r\n fb = fb ? fb : appInjector().get(FormBuilder);\r\n\r\n return fb.group({\r\n relation: BusinessRelationsFormComponent.initControl(fb),\r\n relation_data: fb.group({\r\n cuid: [null, Validators.required],\r\n customer_number: [null],\r\n order_kind_id: [null]\r\n })\r\n });\r\n\r\n }\r\n\r\n public setDefaultValues(item?: BusinessRelation): { [controlKey: string]: any } | any {\r\n let relDataCuid = this.setValue(item, 'relation_type.cuid', AbstractVisbosControl.cuid());\r\n return {\r\n relation: {\r\n cuid: this.setValue(item, 'cuid', AbstractVisbosControl.cuid()),\r\n relation_source_id: this.setValue(item, 'relation_source.cuid', this.adminUnitCuid),\r\n relation_source_type: this.setValue(item, 'relation_source_type', 'Standort'),\r\n relation_target_id: this.setValue(item, 'relation_target.cuid', this.supplierCuid),\r\n relation_target_type: this.setValue(item, 'relation_target_type', 'Lieferant'),\r\n relation_type_id: this.setValue(item, 'relation_type.cuid', relDataCuid),\r\n relation_type_type: this.setValue(item, 'relation_type_type', 'Lieferantenbeziehung')\r\n },\r\n relation_data: {\r\n cuid: relDataCuid,\r\n customer_number: this.setValue(item, 'relation_type.customer_number'),\r\n order_kind_id: this.setValue(item, 'relation_type.order_kind.cuid'),\r\n }\r\n };\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/crm/business-relations/supplier-business-relations-form/supplier-business-relations-form.component.ts","module.exports = \"\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/crm/client/client-form/client-form.component.css\n// module id = ./src/app/crm/client/client-form/client-form.component.css\n// module chunks = main","module.exports = \"\\r\\n\\r\\n \\r\\n \\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n \\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n \\r\\n \\r\\n\\r\\n\\r\\n\\r\\n\\r\\n

Anschrift

\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n

Form: {{control?.value | json}}

\\r\\n

Item: {{item | json}}

\\r\\n
\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/crm/client/client-form/client-form.component.html\n// module id = ./src/app/crm/client/client-form/client-form.component.html\n// module chunks = main","import {ChangeDetectorRef, Component, forwardRef} from '@angular/core';\r\nimport {FormArray, FormBuilder, FormGroup, Validators} from \"@angular/forms\";\r\nimport {appInjector} from \"../../../index\";\r\nimport {AddressFormComponent} from \"../../../core/visbos-core/ui/forms/address-form/address-form.component\";\r\nimport {Supplier} from \"../../../shared/view-model/crm/supplier.type\";\r\nimport {AbstractVisbosControl} from \"../../../core/visbos-core/ui/forms/abstract-visbos-control\";\r\nimport {SessionActions} from \"../../../shared/actions\";\r\nimport {Client} from \"../../../shared/view-model/crm/client.type\";\r\nimport {ClientService} from \"../../services/client.service\";\r\nimport {MessageType} from \"../../../shared/redux-store/session\";\r\n\r\n@Component({\r\n selector: 'vb-client-form',\r\n templateUrl: './client-form.component.html',\r\n styleUrls: ['./client-form.component.css'],\r\n providers: [{provide: AbstractVisbosControl, useExisting: forwardRef(() => ClientFormComponent)}]\r\n})\r\nexport class ClientFormComponent extends AbstractVisbosControl {\r\n\r\n\r\n constructor(fb: FormBuilder, cd: ChangeDetectorRef, sessionActions: SessionActions,\r\n private clientService: ClientService) {\r\n super(fb, cd, sessionActions);\r\n }\r\n\r\n buildControlContent(): FormGroup {\r\n return ClientFormComponent.initControl(this.fb);\r\n }\r\n\r\n public static initControl(fb: FormBuilder = null): FormGroup {\r\n fb = fb ? fb : appInjector().get(FormBuilder);\r\n\r\n return fb.group({\r\n cuid: [null],\r\n name: [null, Validators.required],\r\n administration_unit_id: [null, Validators.required],\r\n account_id: [null],\r\n address: AddressFormComponent.initControl(fb),\r\n //billing_address: AddressFormComponent.initControl(fb),\r\n business_relations: fb.array([])\r\n });\r\n\r\n }\r\n\r\n public setDefaultValues(item?: Client): { [controlKey: string]: any } | any {\r\n return {\r\n cuid: this.setValue(item, 'cuid', AbstractVisbosControl.cuid()),\r\n name: this.setValue(item, 'name')\r\n };\r\n }\r\n\r\n reset(fullReset: boolean = false): any {\r\n let br = (this.control.get('business_relations'));\r\n\r\n br.controls = [];\r\n //br.push(BusinessRelationsFormComponent.initControl(this.fb));\r\n\r\n super.reset(fullReset);\r\n }\r\n\r\n private initBusinessRelation(item?) {\r\n //TODO: Implement\r\n /*return {\r\n cuid: this.setValue(item, 'cuid', AbstractVisbosControl.cuid()),\r\n relation_source_id: this.setValue(item, 'relation_source_id'),\r\n relation_source_type: this.setValue(item, 'relation_source_type'),\r\n relation_target_id: this.setValue(item, 'relation_target_id'),\r\n relation_target_type: this.setValue(item, 'relation_target_type'),\r\n relation_type_id: this.setValue(item, 'relation_type_id'),\r\n relation_type_type: this.setValue(item, 'relation_type_type')\r\n };*/\r\n }\r\n\r\n private transformToOutput(formData): { supplierInput, relationsData } {\r\n\r\n let clientInput = Object.assign({}, formData);\r\n delete clientInput.business_relations;\r\n let relationsData = null;\r\n\r\n if (formData.business_relations) {\r\n clientInput.business_relations = [...formData.business_relations.map(rel => rel.relation)];\r\n relationsData = [...formData.business_relations.map(rel => rel.relation_data)];\r\n }\r\n\r\n let result = {\r\n supplierInput: clientInput,\r\n relationsData: relationsData\r\n };\r\n\r\n return result;\r\n }\r\n\r\n createOrUpdateClient(data?) {\r\n let clientData = this.transformToOutput(data ? data : this.control.value);\r\n\r\n if (this.item) {\r\n this.clientService.updateClient(this.item.cuid, clientData.supplierInput, clientData.relationsData)\r\n .toPromise()\r\n .then((res: any) => {\r\n this.sessionActions.pushMessage('Klient erfolgreich geändert.', MessageType.SUCCESS, 'Klientenverwaltung');\r\n this.reset(true);\r\n },\r\n err => this.sessionActions.throwError(err, 'Fehler beim Ändern des Klienten!'));\r\n } else {\r\n this.clientService.addClient(clientData.supplierInput, clientData.relationsData)\r\n .toPromise()\r\n .then((res: any) => {\r\n this.sessionActions.pushMessage('Klient erfolgreich angelegt.', MessageType.SUCCESS, 'Klientenverwaltung');\r\n this.reset(true);\r\n },\r\n err => this.sessionActions.throwError(err, 'Fehler beim Anlegen des Klienten!'));\r\n }\r\n\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/crm/client/client-form/client-form.component.ts","module.exports = \"\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/crm/client/client-list/client-list.component.css\n// module id = ./src/app/crm/client/client-list/client-list.component.css\n// module chunks = main","module.exports = \"\\r\\n\\r\\n\\r\\n\\r\\n
\\r\\n {{row.address?.address_name}}
\\r\\n {{row.address?.street}} {{row.address?.number}}
\\r\\n {{row.address?.city?.zip}} {{row.address?.city?.town}}
\\r\\n {{row.address?.city?.country?.name}}
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/crm/client/client-list/client-list.component.html\n// module id = ./src/app/crm/client/client-list/client-list.component.html\n// module chunks = main","import {\r\n ChangeDetectorRef,\r\n Component,\r\n EventEmitter,\r\n Input,\r\n OnChanges,\r\n OnInit,\r\n Output,\r\n SimpleChanges,\r\n TemplateRef,\r\n ViewChild\r\n} from '@angular/core';\r\nimport {AbstractListView} from \"../../../core/visbos-core/ui/components/abstract-list-view\";\r\nimport {DatatableComponent} from \"../../../core/visbos-core/ui/components/datatable/datatable.component\";\r\nimport {GenericModalComponent} from \"../../../core/visbos-core/ui/forms/generic-modal/generic-modal.component\";\r\nimport {FormBuilder, FormControl, FormGroup} from \"@angular/forms\";\r\nimport {SessionActions} from \"../../../shared/actions\";\r\nimport {debounceTime, distinctUntilChanged} from \"rxjs/operators\";\r\nimport {MessageType} from \"../../../shared/redux-store/session\";\r\nimport {Client} from \"../../../shared/view-model/crm/client.type\";\r\nimport {ClientFormComponent} from \"../client-form/client-form.component\";\r\nimport {ClientService} from \"../../services/client.service\";\r\n\r\n@Component({\r\n selector: 'vb-client-list',\r\n templateUrl: './client-list.component.html',\r\n styleUrls: ['./client-list.component.css']\r\n})\r\nexport class ClientListComponent extends AbstractListView implements OnInit, OnChanges {\r\n\r\n @ViewChild('clientsTable')\r\n clientsTable: DatatableComponent;\r\n\r\n @ViewChild('clientModal')\r\n clientModal: GenericModalComponent;\r\n\r\n @ViewChild('addressTemplate')\r\n addressTemplate: TemplateRef;\r\n\r\n @Input()\r\n clientList: Client[] = [];\r\n\r\n currentClientItem: Client;\r\n currentClientControl: FormGroup;\r\n\r\n selected: string[] = [];\r\n\r\n @Output()\r\n selectedChange: EventEmitter = new EventEmitter();\r\n\r\n @ViewChild('clientForm')\r\n clientForm: ClientFormComponent;\r\n\r\n constructor(sessionActions: SessionActions, cd: ChangeDetectorRef,\r\n private fb: FormBuilder,\r\n private clientService: ClientService) {\r\n super(sessionActions, cd);\r\n }\r\n\r\n ngOnInit() {\r\n\r\n super.ngOnInit();\r\n\r\n //TODO: Add columns\r\n this.columns = [\r\n {prop: 'name', name: 'Name', flexGrow: 2},\r\n {prop: 'administration_unit.label', name: 'Verwaltungseinheit'},\r\n {prop: 'address', name: 'Anschrift', cellTemplate: this.addressTemplate, sortable: false},\r\n {prop: 'identities.0.ean', name: 'EAN'},\r\n ];\r\n\r\n this.searchTerm = new FormControl();\r\n\r\n this.dataSubscriptions.push(\r\n this.searchTerm.valueChanges.pipe(\r\n distinctUntilChanged(),\r\n debounceTime(500)\r\n ).subscribe((term: any) => this.filterItems(term))\r\n );\r\n\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n if (changes.clientList) {\r\n this.rows = this.clientList;\r\n }\r\n }\r\n\r\n onEditClientClicked(client: Client) {\r\n this.currentClientItem = client;\r\n this.currentClientControl = ClientFormComponent.initControl(this.fb);\r\n this.clientModal.show();\r\n this.cd.detectChanges();\r\n }\r\n\r\n onSaveClientClicked() {\r\n this.clientForm.createOrUpdateClient(this.currentClientControl.value);\r\n }\r\n\r\n onDeleteClientClicked(client: Client) {\r\n this.clientService.deleteClient(client.cuid).toPromise()\r\n .then(res => this.sessionActions.pushMessage(\"Klient gelöscht!\", MessageType.SUCCESS))\r\n .catch(err => this.sessionActions.throwError(err, \"Fehler beim Löschen des Klienten!\"));\r\n }\r\n\r\n filterItems(searchTerm) {\r\n if (!searchTerm || searchTerm == \"\") {\r\n this.rows = this.clientList;\r\n } else {\r\n if (this.clientList) {\r\n this.rows = this.clientList.filter((si: any) => this.findStringInTable(si, this.columns, searchTerm));\r\n }\r\n }\r\n }\r\n\r\n onCellUpdate(row, res, index) {\r\n }\r\n\r\n onSelectedChanged(selected: string[]) {\r\n this.selected = [...selected];\r\n this.selectedChange.emit(this.selected);\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/crm/client/client-list/client-list.component.ts","module.exports = \"\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/crm/components/account-form/account-form.component.css\n// module id = ./src/app/crm/components/account-form/account-form.component.css\n// module chunks = main","module.exports = \"\\r\\n\\r\\n \\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n \\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n \\r\\n\\r\\n\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/crm/components/account-form/account-form.component.html\n// module id = ./src/app/crm/components/account-form/account-form.component.html\n// module chunks = main","import {ChangeDetectorRef, Component, OnInit} from '@angular/core';\r\nimport {AbstractVisbosControl} from '../../../core/visbos-core/ui/forms/abstract-visbos-control';\r\nimport {FormBuilder, FormGroup, Validators} from '@angular/forms';\r\nimport {FORM_ERROR_MESSAGES} from '../../../core/visbos-core/assets/form-error-messages';\r\nimport {SessionActions} from '../../../shared/actions';\r\nimport {ErrorHandlerService} from '../../../core/visbos-core/error-handling/error-handler.service';\r\nimport {appInjector} from '../../../index';\r\nimport {Account} from '../../../shared/view-model/crm/account.type';\r\nimport {AccountingUnitService} from '../../services/accounting-unit.service';\r\n\r\n@Component({\r\n selector: 'vb-account-form',\r\n templateUrl: './account-form.component.html',\r\n styleUrls: ['./account-form.component.css']\r\n})\r\nexport class AccountFormComponent extends AbstractVisbosControl implements OnInit {\r\n\r\n errorDefs = FORM_ERROR_MESSAGES;\r\n\r\n constructor(fb: FormBuilder, cd: ChangeDetectorRef, sessionActions: SessionActions, private errorHandler: ErrorHandlerService,\r\n private accountService: AccountingUnitService) {\r\n super(fb, cd, sessionActions);\r\n }\r\n\r\n ngOnInit() {\r\n super.ngOnInit();\r\n }\r\n\r\n buildControlContent(values?: Account, ...params): FormGroup {\r\n return AccountFormComponent.initControl(this.fb);\r\n }\r\n\r\n public static initControl(fb: FormBuilder = null): FormGroup {\r\n fb = fb ? fb : appInjector().get(FormBuilder);\r\n\r\n return fb.group({\r\n cuid: [AccountFormComponent.cuid()],\r\n account_number: [null, Validators.required],\r\n clearing_account_number: [null],\r\n account_name: [null]\r\n });\r\n\r\n }\r\n\r\n public setDefaultValues(item?: Account): { [controlKey: string]: any } | any {\r\n return {\r\n cuid: this.setValue(item, 'cuid', AccountFormComponent.cuid()),\r\n account_number: this.setValue(item, 'account_number'),\r\n clearing_account_number: this.setValue(item, 'clearing_account_number'),\r\n account_name: this.setValue(item, 'account_name')\r\n };\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/crm/components/account-form/account-form.component.ts","module.exports = \"\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/crm/components/account-numbers-list/account-numbers-list.component.css\n// module id = ./src/app/crm/components/account-numbers-list/account-numbers-list.component.css\n// module chunks = main","module.exports = \"\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n\\r\\n\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/crm/components/account-numbers-list/account-numbers-list.component.html\n// module id = ./src/app/crm/components/account-numbers-list/account-numbers-list.component.html\n// module chunks = main","import {\r\n ChangeDetectorRef,\r\n Component,\r\n EventEmitter,\r\n Input,\r\n OnChanges,\r\n OnInit,\r\n Output,\r\n SimpleChanges,\r\n ViewChild\r\n} from '@angular/core';\r\nimport {AbstractListView} from '../../../core/visbos-core/ui/components/abstract-list-view';\r\nimport {DatatableComponent} from '../../../core/visbos-core/ui/components/datatable/datatable.component';\r\nimport {GenericModalComponent} from '../../../core/visbos-core/ui/forms/generic-modal/generic-modal.component';\r\nimport {FormBuilder, FormControl, FormGroup} from '@angular/forms';\r\nimport {SessionActions} from '../../../shared/actions';\r\nimport {debounceTime, distinctUntilChanged} from 'rxjs/operators';\r\nimport {MessageType} from '../../../shared/redux-store/session';\r\nimport {Account} from '../../../shared/view-model/crm/account.type';\r\nimport {AccountingUnitService} from '../../services/accounting-unit.service';\r\nimport {AccountFormComponent} from '../account-form/account-form.component';\r\n\r\n@Component({\r\n selector: 'vb-account-numbers-list',\r\n templateUrl: './account-numbers-list.component.html',\r\n styleUrls: ['./account-numbers-list.component.css']\r\n})\r\nexport class AccountNumbersListComponent extends AbstractListView implements OnInit, OnChanges {\r\n\r\n @ViewChild('accountNumbersTable')\r\n accountNumbersTable: DatatableComponent;\r\n\r\n @ViewChild('accountNumbersModal')\r\n accountNumbersModal: GenericModalComponent;\r\n\r\n @Input()\r\n accountNumbersList: Account[] = [];\r\n\r\n currentAccountNumberItem: Account;\r\n currentAccountNumberControl: FormGroup;\r\n\r\n selected: string[] = [];\r\n\r\n @Output()\r\n selectedChange: EventEmitter = new EventEmitter();\r\n\r\n constructor(sessionActions: SessionActions, cd: ChangeDetectorRef,\r\n private fb: FormBuilder,\r\n private accountingService: AccountingUnitService) {\r\n super(sessionActions, cd);\r\n }\r\n\r\n ngOnInit() {\r\n\r\n super.ngOnInit();\r\n\r\n this.columns = [\r\n {prop: 'account_number', name: 'Buchungskontonr.', flexGrow: 1},\r\n {prop: 'account_name', name: 'Kontobezeichner', flexGrow: 2},\r\n {prop: 'clearing_account_number', name: 'Umbuchungskontonr.', flexGrow: 1},\r\n ];\r\n\r\n this.searchTerm = new FormControl();\r\n\r\n this.dataSubscriptions.push(\r\n this.searchTerm.valueChanges.pipe(\r\n distinctUntilChanged(),\r\n debounceTime(500)\r\n ).subscribe((term: any) => this.filterItems(term))\r\n );\r\n\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n if (changes.accountNumbersList) {\r\n this.rows = this.accountNumbersList;\r\n }\r\n }\r\n\r\n onEditAccountNumberClicked(account: Account) {\r\n this.currentAccountNumberItem = account;\r\n this.currentAccountNumberControl = AccountFormComponent.initControl(this.fb);\r\n this.accountNumbersModal.show();\r\n }\r\n\r\n onSaveAccountNumberClicked() {\r\n const accountData = this.currentAccountNumberControl.value;\r\n this.accountingService.updateAccount(accountData.cuid, accountData).toPromise()\r\n .then(res => this.sessionActions.pushMessage(\"Buchungskonto erfolgreich geändert!\", MessageType.SUCCESS))\r\n .catch(err => this.sessionActions.throwError(err, \"Fehler beim Ändern der Kontodaten!\"));\r\n }\r\n\r\n onDeleteAccountClicked(account: Account) {\r\n this.accountingService.deleteAccount(account.cuid).toPromise()\r\n .then(res => this.sessionActions.pushMessage(\"Buchungskonto gelöscht!\", MessageType.SUCCESS))\r\n .catch(err => this.sessionActions.throwError(err, \"Fehler beim Löschen des Buchungskontos!\"));\r\n }\r\n\r\n filterItems(searchTerm) {\r\n if (!searchTerm || searchTerm == \"\") {\r\n this.rows = this.accountNumbersList;\r\n } else {\r\n if (this.accountNumbersList) {\r\n this.rows = this.accountNumbersList.filter((si: any) => this.findStringInTable(si, this.columns, searchTerm));\r\n }\r\n }\r\n }\r\n\r\n onCellUpdate(row, res, index) {\r\n }\r\n\r\n onSelectedChanged(selected: string[]) {\r\n this.selected = [...selected];\r\n this.selectedChange.emit(this.selected);\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/crm/components/account-numbers-list/account-numbers-list.component.ts","module.exports = \"\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/crm/components/account-selection/account-selection.component.css\n// module id = ./src/app/crm/components/account-selection/account-selection.component.css\n// module chunks = main","module.exports = \"\\r\\n\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/crm/components/account-selection/account-selection.component.html\n// module id = ./src/app/crm/components/account-selection/account-selection.component.html\n// module chunks = main","import {ChangeDetectorRef, Component, OnInit, Output} from '@angular/core';\r\nimport {AbstractVisbosControl} from '../../../core/visbos-core/ui/forms/abstract-visbos-control';\r\nimport {FormBuilder, FormControl} from '@angular/forms';\r\nimport {BehaviorSubject, Observable} from 'rxjs';\r\nimport {SessionActions} from '../../../shared/actions';\r\nimport {AccountingUnitService} from '../../services/accounting-unit.service';\r\nimport {map} from 'rxjs/operators';\r\nimport {Account} from '../../../shared/view-model/crm/account.type';\r\n\r\n@Component({\r\n selector: 'vb-account-selection',\r\n templateUrl: './account-selection.component.html',\r\n styleUrls: ['./account-selection.component.css']\r\n})\r\nexport class AccountSelectionComponent extends AbstractVisbosControl implements OnInit {\r\n\r\n accounts$: Observable;\r\n\r\n @Output()\r\n itemChanged = new BehaviorSubject(null);\r\n\r\n constructor(fb: FormBuilder, cd: ChangeDetectorRef, sessionActions: SessionActions, private accountService: AccountingUnitService) {\r\n super(fb, cd, sessionActions);\r\n }\r\n\r\n ngOnInit() {\r\n this.accounts$ = this.accountService.getAccounts().pipe(\r\n map(res => res.data.accounts)\r\n );\r\n }\r\n\r\n buildControlContent(values?: Account): FormControl {\r\n return AccountSelectionComponent.initControl(this.fb);\r\n }\r\n\r\n public static initControl(fb: FormBuilder): FormControl {\r\n return fb.control(null);\r\n }\r\n\r\n public setDefaultValues(item?: Account): { [controlKey: string]: any } | any {\r\n return this.setValue(item, 'cuid', null);\r\n }\r\n\r\n public onItemChangedEvent(account: Account) {\r\n this.itemChanged.next(account);\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/crm/components/account-selection/account-selection.component.ts","module.exports = \"\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/crm/components/admin-unit-multi-select/admin-unit-multi-select.component.css\n// module id = ./src/app/crm/components/admin-unit-multi-select/admin-unit-multi-select.component.css\n// module chunks = main","module.exports = \"\\r\\n\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/crm/components/admin-unit-multi-select/admin-unit-multi-select.component.html\n// module id = ./src/app/crm/components/admin-unit-multi-select/admin-unit-multi-select.component.html\n// module chunks = main","import {AfterViewInit, ChangeDetectorRef, Component, EventEmitter, Input, OnInit, Output} from '@angular/core';\r\nimport {AbstractVisbosComponent} from \"../../../core/visbos-core/components/abstract-visbos.component\";\r\nimport {SessionActions} from \"../../../shared/actions\";\r\nimport {IMultiSelectOption, IMultiSelectSettings, IMultiSelectTexts} from \"angular-2-dropdown-multiselect\";\r\nimport {AdministrationUnitService} from \"../../../organization/services/administration_unit_service/administration-unit.service\";\r\n\r\n@Component({\r\n selector: 'vb-admin-unit-multi-select',\r\n templateUrl: './admin-unit-multi-select.component.html',\r\n styleUrls: ['./admin-unit-multi-select.component.css']\r\n})\r\nexport class AdminUnitMultiSelectComponent extends AbstractVisbosComponent implements OnInit, AfterViewInit {\r\n\r\n @Input()\r\n selectedAdminUnits;\r\n\r\n adminUnits: IMultiSelectOption[];\r\n\r\n @Output()\r\n selectionChange: EventEmitter = new EventEmitter();\r\n\r\n mySettings: IMultiSelectSettings = {\r\n enableSearch: true,\r\n //checkedStyle: 'fontawesome',\r\n buttonClasses: 'btn btn-sm btn-default btn-block',\r\n dynamicTitleMaxItems: 3,\r\n displayAllSelectedText: true\r\n };\r\n\r\n // Text configuration\r\n myTexts: IMultiSelectTexts = {\r\n checkAll: 'Alle auswählen',\r\n uncheckAll: 'Alle abwählen',\r\n checked: 'Eintrag ausgewählt',\r\n checkedPlural: 'Einträge ausgewählt',\r\n searchPlaceholder: 'Suche',\r\n searchEmptyResult: 'Nichts gefunden...',\r\n searchNoRenderText: 'Tippen, um nach Namen zu filtern...',\r\n defaultTitle: 'Auswahl',\r\n allSelected: 'Alle ausgewählt',\r\n };\r\n\r\n constructor(sessionActions: SessionActions, cd: ChangeDetectorRef,\r\n private adminUnitService: AdministrationUnitService) {\r\n super(sessionActions, cd);\r\n }\r\n\r\n ngOnInit() {\r\n super.ngOnInit();\r\n\r\n this.dataSubscriptions.push(this.adminUnitService.getAdminUnits().subscribe(res => {\r\n this.adminUnits = res.data.fetchAdminUnits.map(adminUnit => {\r\n return {\r\n id: adminUnit.cuid,\r\n name: adminUnit.label\r\n }\r\n });\r\n }));\r\n\r\n }\r\n\r\n\r\n ngAfterViewInit(): any {\r\n super.ngAfterViewInit();\r\n this.onChange();\r\n }\r\n\r\n onChange(event?) {\r\n this.selectionChange.emit(this.selectedAdminUnits || []);\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/crm/components/admin-unit-multi-select/admin-unit-multi-select.component.ts","module.exports = \"\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/crm/components/profile-form/profile-form.component.css\n// module id = ./src/app/crm/components/profile-form/profile-form.component.css\n// module chunks = main","module.exports = \"

Allgemeine Angaben

\\r\\n\\r\\n\\r\\n\\r\\n \\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n \\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n \\r\\n\\r\\n\\r\\n\\r\\n\\r\\n Änderungen speichern\\r\\n\\r\\n\\r\\n

Passwort ändern

\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n Passwort ändern\\r\\n\\r\\n\\r\\n\\r\\n

\\r\\n {{currentUser | json}}\\r\\n

\\r\\n

\\r\\n {{control?.value | json}}\\r\\n

\\r\\n
\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/crm/components/profile-form/profile-form.component.html\n// module id = ./src/app/crm/components/profile-form/profile-form.component.html\n// module chunks = main","import {ChangeDetectorRef, Component, forwardRef, OnInit} from \"@angular/core\";\r\nimport {AbstractVisbosControl} from \"../../../core/visbos-core/ui/forms/abstract-visbos-control\";\r\nimport {IUser, MessageType} from \"../../../shared/redux-store/session/session.types\";\r\nimport {FormBuilder, FormGroup, Validators} from \"@angular/forms\";\r\nimport {SessionActions} from \"../../../shared/actions/session.actions\";\r\nimport {appInjector} from \"../../../index\";\r\nimport {PasswordChangeComponent} from \"../../../core/visbos-core/components/password-change/password-change.component\";\r\nimport {FORM_ERROR_MESSAGES} from \"../../../core/visbos-core/assets/form-error-messages\";\r\nimport {UserService} from \"../../user/user.service\";\r\nimport {ErrorHandlerService} from \"../../../core/visbos-core/error-handling/error-handler.service\";\r\n\r\n@Component({\r\n selector: 'vb-profile-form',\r\n templateUrl: './profile-form.component.html',\r\n styleUrls: ['./profile-form.component.css'],\r\n providers: [{provide: AbstractVisbosControl, useExisting: forwardRef(() => ProfileFormComponent)}]\r\n})\r\nexport class ProfileFormComponent extends AbstractVisbosControl implements OnInit {\r\n\r\n errorDefs = FORM_ERROR_MESSAGES;\r\n\r\n constructor(fb: FormBuilder, cd: ChangeDetectorRef, sessionActions: SessionActions, private errorHandler: ErrorHandlerService,\r\n private userService: UserService) {\r\n super(fb, cd, sessionActions);\r\n }\r\n\r\n ngOnInit() {\r\n super.ngOnInit();\r\n }\r\n\r\n buildControlContent(values?: IUser, ...params): FormGroup {\r\n return ProfileFormComponent.initControl(this.fb);\r\n }\r\n\r\n public static initControl(fb: FormBuilder = null): FormGroup {\r\n fb = fb ? fb : appInjector().get(FormBuilder);\r\n\r\n return fb.group({\r\n form_of_address: [null],\r\n academic_title: [null],\r\n pre_name: [null],\r\n name: [null, Validators.required],\r\n email: [null, Validators.email],\r\n password: PasswordChangeComponent.initControl(fb)\r\n });\r\n\r\n }\r\n\r\n public setDefaultValues(item?: IUser): { [controlKey: string]: any } | any {\r\n return {\r\n form_of_address: this.setValue(item, 'form_of_address'),\r\n academic_title: this.setValue(item, 'academic_title'),\r\n pre_name: this.setValue(item, 'pre_name'),\r\n name: this.setValue(item, 'name'),\r\n email: this.setValue(item, 'email'),\r\n };\r\n }\r\n\r\n updatePassword() {\r\n let pwForm = this.control.get('password').value;\r\n this.userService.updateUserPassword(pwForm.oldPassword, pwForm.password).subscribe(\r\n res => {\r\n this.sessionActions.pushMessage(\"Das Passwort wurde erfolgreich geändert!\", MessageType.SUCCESS, \"Passwortänderung\");\r\n this.control.get('password').reset();\r\n },\r\n err => {\r\n this.errorHandler.handleUserError(err)\r\n }\r\n );\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/crm/components/profile-form/profile-form.component.ts","module.exports = \"\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/crm/components/profile-view/profile-view.component.css\n// module id = ./src/app/crm/components/profile-view/profile-view.component.css\n// module chunks = main","module.exports = \"
\\r\\n\\r\\n \\r\\n\\r\\n

Profil

\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n\\r\\n \\r\\n\\r\\n\\r\\n
\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/crm/components/profile-view/profile-view.component.html\n// module id = ./src/app/crm/components/profile-view/profile-view.component.html\n// module chunks = main","import {ChangeDetectorRef, Component, OnInit} from \"@angular/core\";\r\nimport {AbstractVisbosComponent} from \"../../../core/visbos-core/components/abstract-visbos.component\";\r\nimport {SessionActions} from \"../../../shared/actions/session.actions\";\r\n\r\n@Component({\r\n selector: 'vb-profile-view',\r\n templateUrl: './profile-view.component.html',\r\n styleUrls: ['./profile-view.component.css']\r\n})\r\nexport class ProfileViewComponent extends AbstractVisbosComponent implements OnInit {\r\n\r\n\r\n constructor(sessionActions: SessionActions, cd: ChangeDetectorRef) {\r\n super(sessionActions, cd);\r\n }\r\n\r\n ngOnInit() {\r\n super.ngOnInit();\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/crm/components/profile-view/profile-view.component.ts","module.exports = \"\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/crm/components/roles-list/roles-list.component.css\n// module id = ./src/app/crm/components/roles-list/roles-list.component.css\n// module chunks = main","module.exports = \"\\r\\n\\r\\n\\r\\n

R: {{rolesForm.value | json}}

\\r\\n
\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/crm/components/roles-list/roles-list.component.html\n// module id = ./src/app/crm/components/roles-list/roles-list.component.html\n// module chunks = main","import {\r\n AfterViewInit,\r\n ChangeDetectorRef,\r\n Component,\r\n EventEmitter,\r\n Input,\r\n OnChanges,\r\n OnInit,\r\n Output,\r\n SimpleChanges\r\n} from '@angular/core';\r\nimport {FormBuilder, FormGroup} from \"@angular/forms\";\r\nimport {Role} from \"../../model/role.type\";\r\nimport {AbstractVisbosComponent} from \"../../../core/visbos-core/components/abstract-visbos.component\";\r\nimport {SessionActions} from \"../../../shared/actions\";\r\nimport {ApolloQueryObservable} from \"apollo-angular\";\r\nimport {UserService} from \"../../user/user.service\";\r\nimport {isUndefined} from \"util\";\r\n\r\n@Component({\r\n selector: 'vb-roles-list',\r\n templateUrl: './roles-list.component.html',\r\n styleUrls: ['./roles-list.component.css']\r\n})\r\nexport class RolesListComponent extends AbstractVisbosComponent implements OnInit, AfterViewInit, OnChanges {\r\n\r\n @Input()\r\n rolesForm: FormGroup;\r\n\r\n @Input()\r\n activeRoles: Role[] | string[];\r\n\r\n private roles$: ApolloQueryObservable;\r\n public roles: Role[];\r\n\r\n @Output()\r\n selectedRolesChange: EventEmitter = new EventEmitter();\r\n\r\n constructor(sessionActions: SessionActions, cd: ChangeDetectorRef,\r\n private fb: FormBuilder, private userService: UserService) {\r\n super(sessionActions, cd);\r\n this.rolesForm = this.fb.group({});\r\n }\r\n\r\n ngOnInit(): void {\r\n super.ngOnInit();\r\n\r\n this.roles$ = this.userService.getRoles();\r\n this.addComponentData(this.roles$);\r\n this.addSubscription(this.roles$.subscribe(res => {\r\n this.roles = res.data.roles;\r\n this.onRolesChange();\r\n }));\r\n\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n\r\n if (changes.activeRoles) {\r\n this.onActiveRolesChange();\r\n }\r\n\r\n }\r\n\r\n\r\n ngAfterViewInit(): any {\r\n super.ngAfterViewInit();\r\n this.onSelectedChanged();\r\n }\r\n\r\n private onActiveRolesChange() {\r\n\r\n if (!this.rolesForm) {\r\n return;\r\n }\r\n\r\n if (!this.roles) {\r\n return;\r\n }\r\n\r\n if (!this.activeRoles || !this.activeRoles.length) {\r\n return;\r\n }\r\n\r\n let roles = [];\r\n\r\n if ((this.activeRoles[0]).name !== undefined) {\r\n roles = (this.activeRoles).map(role => role.name);\r\n } else {\r\n roles = this.activeRoles;\r\n }\r\n\r\n roles = roles ? roles : [];\r\n\r\n for (let roleKey in this.rolesForm.controls) {\r\n let exists = isUndefined(roles.find(r => r == roleKey)) === false;\r\n if (this.rolesForm.get(roleKey)) {\r\n this.rolesForm.get(roleKey).setValue(exists);\r\n } else {\r\n console.warn(\"Trying to set role '\" + roleKey + \"' to active, but role does not exist!\");\r\n }\r\n }\r\n\r\n this.onSelectedChanged();\r\n\r\n }\r\n\r\n private onRolesChange() {\r\n\r\n let oldValues = this.rolesForm.value;\r\n\r\n this.rolesForm.controls = {};\r\n\r\n for (let r of this.roles) {\r\n this.rolesForm.addControl(r.name, this.fb.control(false))\r\n }\r\n\r\n this.rolesForm.patchValue(oldValues);\r\n this.onActiveRolesChange();\r\n\r\n }\r\n\r\n onSelectedChanged() {\r\n let active = [];\r\n\r\n for (let key in this.rolesForm.value) {\r\n if (this.rolesForm.value[key]) {\r\n active.push(key);\r\n }\r\n }\r\n\r\n this.selectedRolesChange.emit(active || []);\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/crm/components/roles-list/roles-list.component.ts","module.exports = \"\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/crm/components/user-form/user-form.component.css\n// module id = ./src/app/crm/components/user-form/user-form.component.css\n// module chunks = main","module.exports = \"\\r\\n\\r\\n \\r\\n \\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n \\r\\n \\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n \\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n \\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n \\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n \\r\\n \\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n \\r\\n \\r\\n\\r\\n\\r\\n\\r\\n\\r\\n

Form: {{control?.value | json}}

\\r\\n

Item: {{item | json}}

\\r\\n
\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/crm/components/user-form/user-form.component.html\n// module id = ./src/app/crm/components/user-form/user-form.component.html\n// module chunks = main","import {ChangeDetectorRef, Component, forwardRef, OnInit} from '@angular/core';\r\nimport {AbstractVisbosControl} from \"../../../core/visbos-core/ui/forms/abstract-visbos-control\";\r\nimport {SessionActions} from \"../../../shared/actions\";\r\nimport {FormArray, FormBuilder, FormGroup, Validators} from \"@angular/forms\";\r\nimport {UserService} from \"../../user/user.service\";\r\nimport {IUser} from \"../../../shared/redux-store/session/session.types\";\r\nimport {appInjector} from \"../../../\";\r\nimport {FORM_ERROR_MESSAGES} from \"../../../core/visbos-core/assets/form-error-messages\";\r\nimport {ApolloQueryObservable} from \"apollo-angular\";\r\n\r\n@Component({\r\n selector: 'vb-user-form',\r\n templateUrl: './user-form.component.html',\r\n styleUrls: ['./user-form.component.css'],\r\n providers: [{provide: AbstractVisbosControl, useExisting: forwardRef(() => UserFormComponent)}]\r\n})\r\nexport class UserFormComponent extends AbstractVisbosControl implements OnInit {\r\n\r\n enumLabel = (item) => item;\r\n enumId = (item) => item;\r\n\r\n private formsOfAddresses$: ApolloQueryObservable;\r\n public formsOfAddresses: string[];\r\n\r\n private academicTitles$: ApolloQueryObservable;\r\n public academicTitles: string[];\r\n\r\n errorDefs = FORM_ERROR_MESSAGES;\r\n\r\n selectedAdminUnitCuids: string[];\r\n\r\n constructor(fb: FormBuilder, cd: ChangeDetectorRef, sessionActions: SessionActions,\r\n private userService: UserService) {\r\n super(fb, cd, sessionActions);\r\n }\r\n\r\n ngOnInit() {\r\n super.ngOnInit();\r\n\r\n this.formsOfAddresses$ = this.userService.getFormsOfAddresses();\r\n this.addComponentData(this.formsOfAddresses$);\r\n this.addSubscription(this.formsOfAddresses$.subscribe(res => {\r\n this.formsOfAddresses = res.data.forms_of_addresses;\r\n }));\r\n\r\n this.academicTitles$ = this.userService.getAcademicTitles();\r\n this.addComponentData(this.academicTitles$);\r\n this.addSubscription(this.academicTitles$.subscribe(res => {\r\n this.academicTitles = res.data.academic_titles;\r\n }));\r\n }\r\n\r\n buildControlContent(values?: IUser, ...params): FormGroup {\r\n return UserFormComponent.initControl(this.fb);\r\n }\r\n\r\n public static initControl(fb: FormBuilder = null): FormGroup {\r\n fb = fb ? fb : appInjector().get(FormBuilder);\r\n\r\n return fb.group({\r\n cuid: [null],\r\n form_of_address: [null],\r\n academic_title: [null],\r\n pre_name: [null],\r\n name: [null, Validators.required],\r\n email: [null, Validators.email],\r\n roles: fb.array([], Validators.required),\r\n administration_unit_cuids: fb.array([], Validators.required)\r\n });\r\n\r\n }\r\n\r\n public setDefaultValues(item?: IUser): { [controlKey: string]: any } | any {\r\n\r\n this.selectedAdminUnitCuids = item && item.administration_units ? item.administration_units.map(a => a.cuid) : [];\r\n\r\n return {\r\n cuid: this.setValue(item, 'cuid', AbstractVisbosControl.cuid()),\r\n form_of_address: this.setValue(item, 'form_of_address'),\r\n academic_title: this.setValue(item, 'academic_title'),\r\n pre_name: this.setValue(item, 'pre_name'),\r\n name: this.setValue(item, 'name'),\r\n email: this.setValue(item, 'email'),\r\n };\r\n }\r\n\r\n onSelectedAdminUnitsChanged(selectedAdminUnitCuids?: string[]) {\r\n let auCtrl = this.control.get('administration_unit_cuids') as FormArray;\r\n auCtrl.controls = [];\r\n auCtrl.reset();\r\n\r\n for (let cuid of selectedAdminUnitCuids) {\r\n auCtrl.push(this.fb.control(cuid));\r\n }\r\n\r\n if (selectedAdminUnitCuids) {\r\n auCtrl.markAsTouched();\r\n }\r\n\r\n this.cd.detectChanges();\r\n }\r\n\r\n onSelectedRolesChanged(selectedRoles?: string[]) {\r\n let roleCtrl = this.control.get('roles') as FormArray;\r\n roleCtrl.controls = [];\r\n roleCtrl.reset();\r\n\r\n for (let name of selectedRoles) {\r\n roleCtrl.push(this.fb.control(name));\r\n }\r\n\r\n if (selectedRoles) {\r\n roleCtrl.markAsTouched();\r\n }\r\n\r\n this.cd.detectChanges();\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/crm/components/user-form/user-form.component.ts","module.exports = \"\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/crm/crm.component.css\n// module id = ./src/app/crm/crm.component.css\n// module chunks = main","module.exports = \"

\\r\\n crm works!\\r\\n

\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/crm/crm.component.html\n// module id = ./src/app/crm/crm.component.html\n// module chunks = main","import {Component, OnInit} from \"@angular/core\";\r\n\r\n@Component({\r\n selector: 'vb-crm',\r\n templateUrl: './crm.component.html',\r\n styleUrls: ['./crm.component.css']\r\n})\r\nexport class CrmComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/crm/crm.component.ts","import {NgModule} from \"@angular/core\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport {CrmComponent} from \"./crm.component\";\r\nimport {UserService} from \"./user/user.service\";\r\nimport {ManufacturerService} from \"./services/manufacturer.service\";\r\nimport {ManufacturerSelectionComponent} from \"./manufacturer/manufacturer-selection/manufacturer-selection.component\";\r\nimport {SupplierSelectionComponent} from \"./supplier/supplier-selection/supplier-selection.component\";\r\nimport {SupplierService} from \"./services/supplier/supplier.service\";\r\nimport {FormsModule, ReactiveFormsModule} from \"@angular/forms\";\r\nimport {VisbosCoreModule} from \"../core/visbos-core/visbos-core.module\";\r\nimport {SupplierFormComponent} from \"./supplier/supplier-form/supplier-form.component\";\r\nimport {ManufacturerFormComponent} from \"./manufacturer/manufacturer-form/manufacturer-form.component\";\r\nimport {OrganizationModule} from \"../organization/organization.module\";\r\nimport {AutoCompleteModule} from \"primeng/components/autocomplete/autocomplete\";\r\nimport {CreateSupplierComponent} from \"./supplier/create-supplier/create-supplier.component\";\r\nimport {SuppliersListComponent} from \"./supplier/suppliers-list/suppliers-list.component\";\r\nimport {ManufacturerInputFieldComponent} from \"./manufacturer/manufacturer-input-field/manufacturer-input-field.component\";\r\nimport {BusinessRelationsFormComponent} from \"./business-relations/business-relations-form/business-relations-form.component\";\r\nimport {SupplierBusinessRelationsFormComponent} from \"./business-relations/supplier-business-relations-form/supplier-business-relations-form.component\";\r\nimport {ProfileFormComponent} from \"./components/profile-form/profile-form.component\";\r\nimport {ProfileViewComponent} from \"./components/profile-view/profile-view.component\";\r\nimport {UserViewComponent} from './views/user-view/user-view.component';\r\nimport {UserFormComponent} from './components/user-form/user-form.component';\r\nimport {RolesListComponent} from './components/roles-list/roles-list.component';\r\nimport {AdminUnitMultiSelectComponent} from './components/admin-unit-multi-select/admin-unit-multi-select.component';\r\nimport {MultiselectDropdownModule} from 'angular-2-dropdown-multiselect';\r\nimport {HttpClientModule} from \"@angular/common/http\";\r\nimport {ClientService} from \"./services/client.service\";\r\nimport {ClientListComponent} from './client/client-list/client-list.component';\r\nimport {ClientFormComponent} from './client/client-form/client-form.component';\r\nimport {AccountingUnitSelectionComponent} from './accounting-units/accounting-unit-selection/accounting-unit-selection.component';\r\nimport {AccountingUnitService} from './services/accounting-unit.service';\r\nimport {AccountSelectionComponent} from './components/account-selection/account-selection.component';\r\nimport {AccountFormComponent} from './components/account-form/account-form.component';\r\nimport {AccountNumbersListViewComponent} from './views/account-numbers-list-view/account-numbers-list-view.component';\r\nimport {AccountNumbersListComponent} from './components/account-numbers-list/account-numbers-list.component';\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule, FormsModule, ReactiveFormsModule, VisbosCoreModule, HttpClientModule,\r\n OrganizationModule,\r\n AutoCompleteModule, MultiselectDropdownModule,\r\n ],\r\n providers: [UserService, ManufacturerService, SupplierService, AccountingUnitService, ClientService],\r\n declarations: [CrmComponent, ManufacturerSelectionComponent, SupplierSelectionComponent, SupplierFormComponent, ManufacturerFormComponent, CreateSupplierComponent, SuppliersListComponent, ManufacturerInputFieldComponent, BusinessRelationsFormComponent, SupplierBusinessRelationsFormComponent, ProfileFormComponent, ProfileViewComponent, UserViewComponent, UserFormComponent, RolesListComponent, AdminUnitMultiSelectComponent, ClientListComponent, ClientFormComponent, AccountingUnitSelectionComponent, AccountSelectionComponent, AccountFormComponent, AccountNumbersListViewComponent, AccountNumbersListComponent],\r\n exports: [ManufacturerSelectionComponent, SupplierSelectionComponent, SupplierFormComponent, ManufacturerFormComponent, CreateSupplierComponent, SuppliersListComponent, ManufacturerInputFieldComponent, UserViewComponent, UserFormComponent, RolesListComponent, ClientListComponent, ClientFormComponent, AccountingUnitSelectionComponent, AccountSelectionComponent, AccountNumbersListViewComponent],\r\n})\r\nexport class CRMModule {\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/crm/crm.module.ts","module.exports = \"\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/crm/manufacturer/manufacturer-form/manufacturer-form.component.css\n// module id = ./src/app/crm/manufacturer/manufacturer-form/manufacturer-form.component.css\n// module chunks = main","module.exports = \"\\r\\n\\r\\n \\r\\n \\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n \\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n \\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n \\r\\n \\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/crm/manufacturer/manufacturer-form/manufacturer-form.component.html\n// module id = ./src/app/crm/manufacturer/manufacturer-form/manufacturer-form.component.html\n// module chunks = main","import {ChangeDetectorRef, Component, forwardRef} from \"@angular/core\";\r\nimport {AbstractVisbosControl} from \"../../../core/visbos-core/ui/forms/abstract-visbos-control\";\r\nimport {Manufacturer} from \"../../../shared/view-model/crm/manufacturer\";\r\nimport {FormBuilder, FormGroup, Validators} from \"@angular/forms\";\r\nimport {appInjector} from \"../../../index\";\r\nimport {AddressFormComponent} from \"../../../core/visbos-core/ui/forms/address-form/address-form.component\";\r\n\r\n@Component({\r\n selector: 'vb-manufacturer-form',\r\n templateUrl: './manufacturer-form.component.html',\r\n styleUrls: ['./manufacturer-form.component.css'],\r\n providers: [{provide: AbstractVisbosControl, useExisting: forwardRef(() => ManufacturerFormComponent)}]\r\n})\r\nexport class ManufacturerFormComponent extends AbstractVisbosControl {\r\n\r\n constructor(fb?: FormBuilder, cd?: ChangeDetectorRef) {\r\n super(fb, cd, null);\r\n }\r\n\r\n buildControlContent(): FormGroup {\r\n return ManufacturerFormComponent.initControl(this.fb);\r\n }\r\n\r\n public static initControl(fb: FormBuilder = null): FormGroup {\r\n fb = fb ? fb : appInjector().get(FormBuilder);\r\n\r\n return fb.group({\r\n cuid: [null],\r\n name: [null, Validators.required],\r\n administration_unit_id: [null, Validators.required],\r\n address_name: [null],\r\n address: AddressFormComponent.initControl(fb)\r\n });\r\n\r\n }\r\n\r\n setDefaultValues(item?: Manufacturer): {[p: string]: any}|any {\r\n return {\r\n cuid: this.setValue(item, 'cuid', AbstractVisbosControl.cuid()),\r\n name: this.setValue(item, 'name'),\r\n address_name: this.setValue(item, 'address_name'),\r\n };\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/crm/manufacturer/manufacturer-form/manufacturer-form.component.ts","module.exports = \"\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/crm/manufacturer/manufacturer-input-field/manufacturer-input-field.component.css\n// module id = ./src/app/crm/manufacturer/manufacturer-input-field/manufacturer-input-field.component.css\n// module chunks = main","module.exports = \"\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/crm/manufacturer/manufacturer-input-field/manufacturer-input-field.component.html\n// module id = ./src/app/crm/manufacturer/manufacturer-input-field/manufacturer-input-field.component.html\n// module chunks = main","import {ChangeDetectorRef, Component, forwardRef, OnInit} from \"@angular/core\";\r\nimport {FormBuilder, FormGroup} from \"@angular/forms\";\r\nimport {Manufacturer} from \"../../../shared/view-model/crm/manufacturer\";\r\nimport {AbstractVisbosControl} from \"../../../core/visbos-core/ui/forms/abstract-visbos-control\";\r\nimport {appInjector} from \"../../../index\";\r\nimport {FetchManufacturersResponse, ManufacturerService} from \"../../services/manufacturer.service\";\r\nimport {SessionActions} from \"../../../shared/actions\";\r\nimport {ApolloQueryObservable} from \"apollo-angular\";\r\nimport {Subject} from \"rxjs/Subject\";\r\n\r\n@Component({\r\n selector: 'vb-manufacturer-input-field',\r\n templateUrl: './manufacturer-input-field.component.html',\r\n styleUrls: ['./manufacturer-input-field.component.css'],\r\n providers: [{provide: AbstractVisbosControl, useExisting: forwardRef(() => ManufacturerInputFieldComponent)}]\r\n})\r\nexport class ManufacturerInputFieldComponent extends AbstractVisbosControl implements OnInit {\r\n\r\n private manuList$: ApolloQueryObservable;\r\n manufacturerList: Manufacturer[] = [];\r\n\r\n searchLoading: boolean = false;\r\n\r\n searchText: string | Manufacturer;\r\n private searchToken$: Subject = new Subject();\r\n\r\n constructor(fb: FormBuilder, private manufacturerService: ManufacturerService, cd: ChangeDetectorRef, sessionActions: SessionActions) {\r\n super(fb, cd, sessionActions);\r\n }\r\n\r\n ngOnInit() {\r\n super.ngOnInit();\r\n\r\n this.manuList$ = this.manufacturerService.getManufacturerList(null, this.searchToken$);\r\n this.addComponentData(this.manuList$);\r\n this.dataSubscriptions.push(this.manuList$.subscribe(res => {\r\n this.searchLoading = res.loading;\r\n this.manufacturerList = res.data.fetchManufacturers;\r\n }));\r\n\r\n }\r\n\r\n buildControlContent(): FormGroup {\r\n return ManufacturerInputFieldComponent.initControl(this.fb);\r\n }\r\n\r\n public static initControl(fb: FormBuilder = null): FormGroup {\r\n fb = fb ? fb : appInjector().get(FormBuilder);\r\n return fb.group({\r\n cuid: [],\r\n name: []\r\n });\r\n }\r\n\r\n public setDefaultValues(item?: Manufacturer): { [controlKey: string]: any } | any {\r\n this.searchText = item;\r\n return {\r\n cuid: this.setValue(item, 'cuid'),\r\n name: this.setValue(item, 'name')\r\n };\r\n }\r\n\r\n\r\n ngAfterViewInit() {\r\n super.ngAfterViewInit();\r\n this.searchText = this.item;\r\n }\r\n\r\n search(event) {\r\n this.item = null;\r\n this.control.reset();\r\n this.control.get('name').setValue(event.query ? event.query : null);\r\n\r\n this.searchToken$.next(event.query);\r\n\r\n }\r\n\r\n onSelect(selectedItem) {\r\n this.item = selectedItem;\r\n this.control.patchValue(selectedItem);\r\n }\r\n\r\n onClear(event) {\r\n this.searchText = null;\r\n this.item = null;\r\n this.control.reset();\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/crm/manufacturer/manufacturer-input-field/manufacturer-input-field.component.ts","module.exports = \"\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/crm/manufacturer/manufacturer-selection/manufacturer-selection.component.css\n// module id = ./src/app/crm/manufacturer/manufacturer-selection/manufacturer-selection.component.css\n// module chunks = main","module.exports = \"\\r\\n\\r\\n\\r\\n\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/crm/manufacturer/manufacturer-selection/manufacturer-selection.component.html\n// module id = ./src/app/crm/manufacturer/manufacturer-selection/manufacturer-selection.component.html\n// module chunks = main","import {ChangeDetectorRef, Component, forwardRef, OnInit, ViewChild} from \"@angular/core\";\r\nimport {Manufacturer} from \"../../../shared/view-model/crm/manufacturer\";\r\nimport {FetchManufacturersResponse, ManufacturerService} from \"../../services/manufacturer.service\";\r\nimport {FormBuilder, FormControl} from \"@angular/forms\";\r\nimport {AbstractVisbosControl} from \"../../../core/visbos-core/ui/forms/abstract-visbos-control\";\r\nimport {appInjector} from \"../../../index\";\r\nimport {ManufacturerFormComponent} from \"../manufacturer-form/manufacturer-form.component\";\r\nimport {ApolloQueryObservable} from \"apollo-angular\";\r\n\r\n@Component({\r\n selector: 'vb-manufacturer-selection',\r\n templateUrl: './manufacturer-selection.component.html',\r\n styleUrls: ['./manufacturer-selection.component.css'],\r\n providers: [{provide: AbstractVisbosControl, useExisting: forwardRef(() => ManufacturerSelectionComponent)}]\r\n})\r\nexport class ManufacturerSelectionComponent extends AbstractVisbosControl implements OnInit {\r\n\r\n @ViewChild(ManufacturerFormComponent)\r\n private manufacturerForm: ManufacturerFormComponent;\r\n\r\n private manufacturerList$: ApolloQueryObservable;\r\n manufacturerList: Manufacturer[] = [];\r\n\r\n constructor(fb: FormBuilder, cd: ChangeDetectorRef,\r\n private manufacturerService: ManufacturerService) {\r\n super(fb, cd, null);\r\n }\r\n\r\n ngOnInit() {\r\n super.ngOnInit();\r\n\r\n this.manufacturerList$ = this.manufacturerService.getManufacturerList();\r\n this.addComponentData(this.manufacturerList$);\r\n this.dataSubscriptions.push(this.manufacturerList$.subscribe(res => this.manufacturerList = res.data.fetchManufacturers));\r\n\r\n }\r\n\r\n buildControlContent(): FormControl {\r\n return ManufacturerSelectionComponent.initControl(this.fb);\r\n }\r\n\r\n public static initControl(fb: FormBuilder = null): FormControl {\r\n fb = fb ? fb : appInjector().get(FormBuilder);\r\n return fb.control(null);\r\n }\r\n\r\n createManufacturer(data) {\r\n this.manufacturerForm.control.reset();\r\n this.manufacturerForm.reset(true);\r\n this.manufacturerService.createManufacturer(data);\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/crm/manufacturer/manufacturer-selection/manufacturer-selection.component.ts","import {Injectable} from '@angular/core';\r\nimport {VisbosService} from '../../core/visbos-core/graphql/visbos.service';\r\nimport {Apollo, ApolloQueryObservable} from 'apollo-angular';\r\nimport {NgRedux} from '@angular-redux/store';\r\nimport {IAppState} from '../../shared/redux-store';\r\nimport {SessionActions} from '../../shared/actions';\r\nimport {\r\n CreateAccountMutation,\r\n DeleteAccountMutation,\r\n FetchAccountingUnitsQuery,\r\n FetchAccountsQueryQuery,\r\n UpdateAccountMutation\r\n} from '../../shared/graphql/graphql.types';\r\nimport gql from 'graphql-tag';\r\nimport {Observable} from 'rxjs';\r\nimport {ApolloQueryResult} from 'apollo-client';\r\n\r\nexport const accountFragments = {\r\n account: gql`\r\n fragment AccountFields on Account {\r\n cuid created_at updated_at label is_editable\r\n account_name account_number clearing_account_number\r\n }`\r\n};\r\n\r\nexport const getAccountsQuery = gql`\r\n query FetchAccountsQuery {\r\n accounts {\r\n ...AccountFields\r\n }\r\n }\r\n ${accountFragments.account}\r\n`;\r\n\r\nexport const createAccountMutation = gql`\r\n mutation CreateAccount($data: AccountInput!) {\r\n createAccount(data: $data) {\r\n ...AccountFields\r\n }\r\n }\r\n ${accountFragments.account}\r\n`;\r\n\r\nexport const updateAccountMutation = gql`\r\n mutation UpdateAccount($cuid: String!, $data: AccountInput!) {\r\n updateAccount(cuid: $cuid, data: $data) {\r\n ...AccountFields\r\n }\r\n }\r\n ${accountFragments.account}\r\n`;\r\n\r\nexport const deleteAccountMutation = gql`\r\n mutation DeleteAccount($cuid: String!) {\r\n deleteAccount(cuid: $cuid)\r\n }\r\n`;\r\n\r\nexport const fetchAccountingUnitsQuery = gql`\r\n query FetchAccountingUnits($adminUnitCuid: String) {\r\n clients(adminUnitCuid: $adminUnitCuid) {cuid label __typename}\r\n fetchAdminUnits {cuid label __typename}\r\n vehicles(administration_unit_cuid: $adminUnitCuid) {cuid label __typename}\r\n }\r\n`;\r\n\r\n@Injectable()\r\nexport class AccountingUnitService extends VisbosService {\r\n\r\n constructor(apollo: Apollo, ngRedux: NgRedux, sessionActions: SessionActions) {\r\n super(apollo, ngRedux, sessionActions);\r\n }\r\n\r\n getAccountingUnits(adminUnitCuid?): ApolloQueryObservable {\r\n return this.fetchItems({\r\n query: fetchAccountingUnitsQuery,\r\n variables: {\r\n adminUnitCuid: adminUnitCuid || this.activeAdminUnitCuid$\r\n }\r\n });\r\n }\r\n\r\n getAccounts(): ApolloQueryObservable {\r\n return this.fetchItems({\r\n query: getAccountsQuery\r\n });\r\n }\r\n\r\n createAccount(accountData): Observable> {\r\n return this.mutate({\r\n mutation: createAccountMutation,\r\n variables: {\r\n data: accountData\r\n },\r\n refetchQueries: ['FetchAccountsQuery']\r\n });\r\n }\r\n\r\n updateAccount(cuid: string, accountData): Observable> {\r\n return this.mutate({\r\n mutation: updateAccountMutation,\r\n variables: {\r\n cuid: cuid,\r\n data: accountData\r\n }\r\n });\r\n }\r\n\r\n deleteAccount(cuid: string): Observable> {\r\n return this.mutate({\r\n mutation: deleteAccountMutation,\r\n variables: {\r\n cuid: cuid\r\n },\r\n refetchQueries: ['FetchAccountsQuery']\r\n });\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/crm/services/accounting-unit.service.ts","import {Injectable} from '@angular/core';\r\nimport {VisbosService} from \"../../core/visbos-core/graphql/visbos.service\";\r\nimport {Apollo, ApolloQueryObservable} from \"apollo-angular\";\r\nimport {NgRedux} from \"@angular-redux/store\";\r\nimport {IAppState} from \"../../shared/redux-store\";\r\nimport {SessionActions} from \"../../shared/actions\";\r\nimport gql from \"graphql-tag\";\r\nimport {addressFragments} from \"../../core/visbos-core/services/address.service\";\r\nimport {ApolloQueryResult} from \"apollo-client\";\r\nimport {Observable} from \"rxjs\";\r\nimport {\r\n AddClientMutation,\r\n DeleteClientMutation,\r\n FetchClientsQuery,\r\n UpdateClientMutation\r\n} from \"../../shared/graphql/graphql.types\";\r\n\r\nexport const clientFragments = {\r\n client: gql`\r\n fragment ClientFields on Client {\r\n cuid created_at updated_at is_editable\r\n label name\r\n administration_unit {cuid label}\r\n address {...AddressFields}\r\n billing_address {...AddressFields}\r\n identities {cuid label ean}\r\n business_relations {cuid label}\r\n account {cuid label account_name account_number clearing_account_number}\r\n }\r\n ${addressFragments.address}\r\n `\r\n};\r\n\r\nexport const fetchClientsQuery = gql`\r\n query FetchClients($adminUnitCuid: String, $cuid: String) {\r\n clients(adminUnitCuid: $adminUnitCuid, cuid: $cuid) {\r\n ...ClientFields\r\n }\r\n }\r\n ${clientFragments.client}\r\n`;\r\n\r\nexport const addClientMutation = gql`\r\n mutation AddClient($clientData: ClientInput!, $relationsData: [ClientBusinessRelationInput]) {\r\n addClient(clientData: $clientData, businessRelationsDataInput: $relationsData) {\r\n ...ClientFields\r\n }\r\n }\r\n ${clientFragments.client}\r\n`;\r\n\r\nexport const updateClientMutation = gql`\r\n mutation UpdateClient($cuid: String!, $clientData: ClientInput!, $relationsData: [ClientBusinessRelationInput]) {\r\n updateClient(cuid: $cuid, clientData: $clientData, businessRelationsDataInput: $relationsData) {\r\n ...ClientFields\r\n }\r\n }\r\n ${clientFragments.client}\r\n`;\r\n\r\nexport const deleteClientMutation = gql`\r\n mutation DeleteClient($cuid: String!) {\r\n deleteClient(cuid: $cuid)\r\n }\r\n`;\r\n\r\n@Injectable()\r\nexport class ClientService extends VisbosService {\r\n\r\n constructor(apollo: Apollo, ngRedux: NgRedux, sessionActions: SessionActions) {\r\n super(apollo, ngRedux, sessionActions);\r\n }\r\n\r\n //TODO: Migrate Apollo\r\n getClients(adminUnitCuid?: string): ApolloQueryObservable {\r\n return this.fetchItems({\r\n query: fetchClientsQuery,\r\n variables: {\r\n adminUnitCuid: adminUnitCuid || this.activeAdminUnitCuid$\r\n }\r\n });\r\n }\r\n\r\n //TODO: Migrate Apollo\r\n addClient(clientData, relationsData?): Observable> {\r\n return this.mutate({\r\n mutation: addClientMutation,\r\n variables: {\r\n clientData: clientData,\r\n relationsData: relationsData\r\n },\r\n refetchQueries: ['FetchClients']\r\n })\r\n }\r\n\r\n //TODO: Migrate Apollo\r\n updateClient(cuid: string, clientData, relationsData?): Observable> {\r\n return this.mutate({\r\n mutation: updateClientMutation,\r\n variables: {\r\n cuid: cuid,\r\n clientData: clientData,\r\n relationsData: relationsData\r\n }\r\n })\r\n }\r\n\r\n //TODO: Migrate Apollo\r\n deleteClient(cuid: string): Observable> {\r\n return this.mutate({\r\n mutation: deleteClientMutation,\r\n variables: {\r\n cuid: cuid\r\n },\r\n refetchQueries: ['FetchClients']\r\n })\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/crm/services/client.service.ts","import {Injectable} from \"@angular/core\";\r\nimport {Apollo, ApolloQueryObservable} from \"apollo-angular\";\r\nimport gql from \"graphql-tag\";\r\nimport {Observable} from \"rxjs/Observable\";\r\nimport {VisbosService} from \"../../core/visbos-core/graphql/visbos.service\";\r\nimport {Manufacturer} from \"../../shared/view-model/crm/manufacturer\";\r\nimport {NgRedux} from \"@angular-redux/store\";\r\nimport {IAppState} from \"../../shared/redux-store\";\r\nimport {SessionActions} from \"../../shared/actions\";\r\nimport {map} from \"rxjs/operators\";\r\n\r\nexport const manufacturerFragments = {\r\n manufacturer: gql`\r\n fragment ManufacturerFields on Manufacturer {\r\n cuid, name, label,\r\n address { cuid, label },\r\n administration_unit{ cuid, name, label }\r\n }`\r\n};\r\n\r\nexport const fetchManufacturersQuery = gql`\r\n query FetchManufacturersQuery($AU: String, $cuid: String, $searchTerm: String) {\r\n fetchManufacturers(administration_unit_cuid: $AU, cuid: $cuid, search_string: $searchTerm){\r\n ...ManufacturerFields\r\n }\r\n }\r\n\r\n ${manufacturerFragments['manufacturer']}\r\n`;\r\n\r\nexport interface FetchManufacturersResponse {\r\n fetchManufacturers: Manufacturer[];\r\n}\r\n\r\n@Injectable()\r\nexport class ManufacturerService extends VisbosService {\r\n\r\n constructor(apollo: Apollo, ngRedux: NgRedux, sessionActions: SessionActions) {\r\n super(apollo, ngRedux, sessionActions);\r\n }\r\n\r\n public getManufacturerList(administration_unit_cuid?: string | Observable, searchTerm?: string | Observable): ApolloQueryObservable {\r\n\r\n let data$ = this.fetchItems({\r\n query: fetchManufacturersQuery,\r\n variables: {\r\n AU: administration_unit_cuid,\r\n cuid: null,\r\n searchTerm: searchTerm\r\n }\r\n });\r\n\r\n return data$;\r\n }\r\n\r\n\r\n public getManufacturer(cuid: string): ApolloQueryObservable {\r\n\r\n let data$ = this.fetchItems({\r\n query: fetchManufacturersQuery,\r\n variables: {\r\n AU: null,\r\n cuid: cuid\r\n },\r\n });\r\n\r\n return >data$.pipe(map(({data}: any) => data.fetchManufacturers[0]));\r\n }\r\n\r\n public createManufacturer(manufacturerInput): Observable {\r\n return this.mutate({\r\n mutation: gql`\r\n mutation CreateManufacturer($manufacturer: ManufacturerInput!) {\r\n addManufacturer(manufacturer: $manufacturer) {\r\n ...ManufacturerFields\r\n }\r\n }\r\n\r\n ${manufacturerFragments['manufacturer']}\r\n `,\r\n variables: {\r\n manufacturer: manufacturerInput\r\n },\r\n updateQueries: this.addItemsToQueries('fetchManufacturers', 'addManufacturer', ['FetchManufacturersQuery'])\r\n\r\n }).pipe(\r\n map(({data}: any) => {\r\n console.info(\"Added manufacturer #\" + data.addManufacturer.cuid);\r\n return data.addManufacturer;\r\n })\r\n );\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/crm/services/manufacturer.service.ts","import {Injectable} from \"@angular/core\";\r\nimport {Observable} from \"rxjs/Observable\";\r\nimport gql from \"graphql-tag\";\r\nimport {Apollo, ApolloQueryObservable} from \"apollo-angular\";\r\nimport {VisbosService} from \"../../../core/visbos-core/graphql/visbos.service\";\r\nimport {Supplier} from \"../../../shared/view-model/crm/supplier.type\";\r\nimport {addressFragments} from \"../../../core/visbos-core/services/address.service\";\r\nimport {NgRedux} from \"@angular-redux/store\";\r\nimport {ApolloQueryResult} from \"apollo-client\";\r\nimport {MessageType} from \"../../../shared/redux-store/session/session.types\";\r\nimport {businessRelationFragments} from \"../../../organization/services/administration_unit_service/administration-unit.service\";\r\nimport {isApolloError} from \"apollo-client/errors/ApolloError\";\r\nimport {IAppState} from \"../../../shared/redux-store\";\r\nimport {SessionActions} from \"../../../shared/actions\";\r\nimport {catchError, map} from \"rxjs/operators\";\r\nimport {empty} from \"rxjs/observable/empty\";\r\n\r\nexport const supplierFragments = {\r\n supplier: gql`\r\n fragment SupplierFields on Supplier {\r\n cuid, label, is_editable,\r\n name, address_name,\r\n address {...AddressFields}\r\n administration_unit {cuid, label}\r\n }\r\n ${addressFragments['address']}\r\n `\r\n};\r\n\r\nexport const fetchSuppliersQuery = gql`\r\n query FetchSuppliers($AU: String) {\r\n fetchSuppliers(administration_unit_cuid: $AU){\r\n ...SupplierFields\r\n business_relations(adminUnitCuid: $AU) {\r\n ...BusinessRelationFields\r\n }\r\n }\r\n }\r\n ${businessRelationFragments.businessRelation}\r\n ${supplierFragments['supplier']}\r\n`;\r\n\r\nexport const createOrUpdateSupplierBusinessRelationMutation = gql`\r\n mutation CreateOrUpdateSupplierBusinessRelation($businessRelCuid: String, $adminUnitCuid: String, $supplierCuid: String, $businessRelationDataInput: SupplierBusinessRelationInput) {\r\n createOrUpdateSupplierBusinessRelations(businessRelCuid: $businessRelCuid, adminUnitCuid: $adminUnitCuid, supplierCuid: $supplierCuid, businessRelationDataInput: $businessRelationDataInput) {\r\n ...SupplierFields\r\n business_relations(adminUnitCuid: $adminUnitCuid) {\r\n ...BusinessRelationFields\r\n }\r\n }\r\n }\r\n ${businessRelationFragments.businessRelation}\r\n ${supplierFragments['supplier']}\r\n`;\r\n\r\nexport interface CreateOrUpdateSupplierBusinessRelationMutationResult {\r\n createOrUpdateSupplierBusinessRelationMutation: Supplier;\r\n}\r\n\r\n@Injectable()\r\nexport class SupplierService extends VisbosService {\r\n\r\n constructor(apollo: Apollo, ngRedux: NgRedux, sessionActions: SessionActions) {\r\n super(apollo, ngRedux, sessionActions);\r\n }\r\n\r\n public getSupplierList(administration_unit_cuid?: string | Observable): ApolloQueryObservable {\r\n\r\n\r\n let data$ = this.fetchItems({\r\n query: fetchSuppliersQuery,\r\n variables: {\r\n AU: administration_unit_cuid ? administration_unit_cuid : this.activeAdminUnitCuid$\r\n },\r\n });\r\n\r\n let model$ = data$.pipe(map(({data}: any) => data.fetchSuppliers));\r\n\r\n return >model$;\r\n }\r\n\r\n\r\n public getSupplier(cuid: string): ApolloQueryObservable {\r\n\r\n let data$ = this.fetchItems({\r\n query: gql`\r\n query FetchSupplier($cuid: String) {\r\n fetchSuppliers(cuid: $cuid){\r\n ...SupplierFields\r\n }\r\n }\r\n\r\n ${supplierFragments['supplier']}\r\n `,\r\n variables: {\r\n cuid: cuid\r\n },\r\n });\r\n\r\n let model$ = data$.pipe(map(({data}: any) => data.fetchSuppliers[0]));\r\n\r\n return >model$;\r\n }\r\n\r\n public createSupplier(supplierInput, relationsDataInput?: any[]): Observable> {\r\n\r\n let q$ = this.mutate({\r\n mutation: gql`\r\n mutation CreateSupplier($supplier: SupplierInput!, $relDataInput: [SupplierBusinessRelationInput], $AU: String) {\r\n addSupplier(supplier: $supplier, businessRelationsDataInput: $relDataInput) {\r\n ...SupplierFields\r\n business_relations(adminUnitCuid: $AU) {\r\n ...BusinessRelationFields\r\n }\r\n }\r\n }\r\n ${businessRelationFragments.businessRelation}\r\n ${supplierFragments['supplier']}\r\n `,\r\n variables: {\r\n supplier: supplierInput,\r\n relDataInput: relationsDataInput\r\n },\r\n refetchQueries: ['FetchSuppliers']\r\n });\r\n\r\n return q$;\r\n }\r\n\r\n\r\n public deleteSupplier(cuid: string): Observable<{} | ApolloQueryResult> {\r\n return this.mutate({\r\n mutation: gql`\r\n mutation DeleteSupplier($cuid: String!) {\r\n deleteSupplier(cuid: $cuid)\r\n }\r\n `,\r\n variables: {\r\n cuid: cuid\r\n },\r\n refetchQueries: ['FetchSuppliers']\r\n\r\n }).pipe(\r\n catchError(err => {\r\n console.info(\"ERR\", [err]);\r\n if (isApolloError(err) && err.graphQLErrors && err.graphQLErrors.length > 0) {\r\n if (err.graphQLErrors.find(e => e.message.includes('SQLSTATE[23000]'))) {\r\n this.sessionActions.pushMessage('Der Lieferant kann nicht gelöscht werden, da Artikel existieren, die diesem Lieferanten zugeordnet sind!', MessageType.WARNING);\r\n return empty();\r\n }\r\n }\r\n throw err;\r\n })\r\n );\r\n }\r\n\r\n public updateSupplier(cuid: string, data, relationsDataInput?: any[]): Observable> {\r\n return this.mutate({\r\n mutation: gql`\r\n mutation UpdateSupplier($cuid: String!, $supplier: SupplierInput!, $relDataInput: [SupplierBusinessRelationInput], $adminUnitCuid: String) {\r\n updateSupplier(cuid: $cuid, supplier: $supplier, businessRelationsDataInput: $relDataInput) {\r\n ...SupplierFields\r\n business_relations(adminUnitCuid: $adminUnitCuid) {\r\n ...BusinessRelationFields\r\n }\r\n }\r\n }\r\n ${supplierFragments['supplier']}\r\n ${businessRelationFragments.businessRelation}\r\n `,\r\n variables: {\r\n cuid: cuid,\r\n supplier: data,\r\n relDataInput: relationsDataInput,\r\n adminUnitCuid: this.ngRedux.getState().session.activeAdminUnit\r\n }\r\n }).pipe(map(({data}: any) => data.updateSupplier));\r\n }\r\n\r\n public setSupplierBusinessRelations(supplierCuid: string, adminUnitCuid: string, relationDataInput: any, relationCuid?: string): Observable> {\r\n return this.mutate({\r\n mutation: createOrUpdateSupplierBusinessRelationMutation,\r\n variables: {\r\n businessRelCuid: relationCuid,\r\n adminUnitCuid: adminUnitCuid,\r\n supplierCuid: supplierCuid,\r\n businessRelationDataInput: relationDataInput\r\n }\r\n });\r\n }\r\n\r\n}\r\n\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/crm/services/supplier/supplier.service.ts","module.exports = \"\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/crm/supplier/create-supplier/create-supplier.component.css\n// module id = ./src/app/crm/supplier/create-supplier/create-supplier.component.css\n// module chunks = main","module.exports = \"

\\r\\n create-supplier works!\\r\\n

\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/crm/supplier/create-supplier/create-supplier.component.html\n// module id = ./src/app/crm/supplier/create-supplier/create-supplier.component.html\n// module chunks = main","import {Component, OnInit} from \"@angular/core\";\r\n\r\n@Component({\r\n selector: 'vb-create-supplier',\r\n templateUrl: './create-supplier.component.html',\r\n styleUrls: ['./create-supplier.component.css']\r\n})\r\nexport class CreateSupplierComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/crm/supplier/create-supplier/create-supplier.component.ts","module.exports = \"\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/crm/supplier/supplier-form/supplier-form.component.css\n// module id = ./src/app/crm/supplier/supplier-form/supplier-form.component.css\n// module chunks = main","module.exports = \"\\r\\n\\r\\n \\r\\n \\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n \\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n \\r\\n\\r\\n\\r\\n\\r\\n

Anschrift

\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n

Kundendaten

\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n

Form: {{control?.value | json}}

\\r\\n

Item: {{item | json}}

\\r\\n
\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/crm/supplier/supplier-form/supplier-form.component.html\n// module id = ./src/app/crm/supplier/supplier-form/supplier-form.component.html\n// module chunks = main","import {ChangeDetectorRef, Component, forwardRef} from \"@angular/core\";\r\nimport {AbstractVisbosControl} from \"../../../core/visbos-core/ui/forms/abstract-visbos-control\";\r\nimport {FormArray, FormBuilder, FormGroup, Validators} from \"@angular/forms\";\r\nimport {Supplier} from \"../../../shared/view-model/crm/supplier.type\";\r\nimport {appInjector} from \"../../../index\";\r\nimport {AddressFormComponent} from \"../../../core/visbos-core/ui/forms/address-form/address-form.component\";\r\nimport {SupplierBusinessRelationsFormComponent} from \"../../business-relations/supplier-business-relations-form/supplier-business-relations-form.component\";\r\nimport {SessionActions} from \"../../../shared/actions/session.actions\";\r\nimport {MessageType} from \"../../../shared/redux-store/session/session.types\";\r\nimport {SupplierService} from \"../../services/supplier/supplier.service\";\r\n\r\n@Component({\r\n selector: 'vb-supplier-form',\r\n templateUrl: './supplier-form.component.html',\r\n styleUrls: ['./supplier-form.component.css'],\r\n providers: [{provide: AbstractVisbosControl, useExisting: forwardRef(() => SupplierFormComponent)}]\r\n})\r\nexport class SupplierFormComponent extends AbstractVisbosControl {\r\n\r\n\r\n constructor(fb: FormBuilder, cd: ChangeDetectorRef, sessionActions: SessionActions,\r\n private supplierService: SupplierService) {\r\n super(fb, cd, sessionActions);\r\n }\r\n\r\n buildControlContent(): FormGroup {\r\n return SupplierFormComponent.initControl(this.fb);\r\n }\r\n\r\n public static initControl(fb: FormBuilder = null): FormGroup {\r\n fb = fb ? fb : appInjector().get(FormBuilder);\r\n\r\n return fb.group({\r\n cuid: [null],\r\n name: [null, Validators.required],\r\n administration_unit_id: [null, Validators.required],\r\n address_name: [null],\r\n address: AddressFormComponent.initControl(fb),\r\n business_relations: fb.array([SupplierBusinessRelationsFormComponent.initControl(fb)])\r\n });\r\n\r\n }\r\n\r\n public setDefaultValues(item?: Supplier): { [controlKey: string]: any } | any {\r\n return {\r\n cuid: this.setValue(item, 'cuid', AbstractVisbosControl.cuid()),\r\n name: this.setValue(item, 'name'),\r\n address_name: this.setValue(item, 'address_name')\r\n };\r\n }\r\n\r\n reset(fullReset: boolean = false): any {\r\n let br = (this.control.get('business_relations'));\r\n\r\n br.controls = [];\r\n br.push(SupplierBusinessRelationsFormComponent.initControl(this.fb));\r\n\r\n super.reset(fullReset);\r\n }\r\n\r\n private transformToOutput(formData): { supplierInput, relationsData } {\r\n\r\n let supplierInput = Object.assign({}, formData);\r\n delete supplierInput.business_relations;\r\n let relationsData = null;\r\n\r\n if (formData.business_relations) {\r\n supplierInput.business_relations = [...formData.business_relations.map(rel => rel.relation)];\r\n relationsData = [...formData.business_relations.map(rel => rel.relation_data)];\r\n }\r\n\r\n let result = {\r\n supplierInput: supplierInput,\r\n relationsData: relationsData\r\n };\r\n\r\n return result;\r\n }\r\n\r\n createOrUpdateSupplier() {\r\n let supplierData = this.transformToOutput(this.control.value);\r\n\r\n if (this.item) {\r\n this.supplierService.updateSupplier(this.item.cuid, supplierData.supplierInput, supplierData.relationsData)\r\n .toPromise()\r\n .then((res: any) => {\r\n this.sessionActions.pushMessage('Lieferant erfolgreich geändert.', MessageType.SUCCESS, 'Lieferantenverwaltung');\r\n this.reset(true);\r\n },\r\n err => this.sessionActions.throwError(err, 'Fehler beim Ändern des Lieferanten!'));\r\n } else {\r\n this.supplierService.createSupplier(supplierData.supplierInput, supplierData.relationsData)\r\n .toPromise()\r\n .then((res: any) => {\r\n this.sessionActions.pushMessage('Lieferant erfolgreich angelegt.', MessageType.SUCCESS, 'Lieferantenverwaltung');\r\n this.reset(true);\r\n },\r\n err => this.sessionActions.throwError(err, 'Fehler beim Anlegen des Lieferanten!'));\r\n }\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/crm/supplier/supplier-form/supplier-form.component.ts","module.exports = \"\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/crm/supplier/supplier-selection/supplier-selection.component.css\n// module id = ./src/app/crm/supplier/supplier-selection/supplier-selection.component.css\n// module chunks = main","module.exports = \"\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n
\\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n\\r\\n\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/crm/supplier/supplier-selection/supplier-selection.component.html\n// module id = ./src/app/crm/supplier/supplier-selection/supplier-selection.component.html\n// module chunks = main","import {ChangeDetectorRef, Component, forwardRef, OnInit, ViewChild} from \"@angular/core\";\r\nimport {Supplier} from \"../../../shared/view-model/crm/supplier.type\";\r\nimport {SupplierService} from \"../../services/supplier/supplier.service\";\r\nimport {FormBuilder, FormControl} from \"@angular/forms\";\r\nimport {AbstractVisbosControl} from \"../../../core/visbos-core/ui/forms/abstract-visbos-control\";\r\nimport {appInjector} from \"../../../index\";\r\nimport {GenericModalComponent} from \"../../../core/visbos-core/ui/forms/generic-modal/generic-modal.component\";\r\nimport {SupplierFormComponent} from \"../supplier-form/supplier-form.component\";\r\n\r\n@Component({\r\n selector: 'vb-supplier-selection',\r\n templateUrl: './supplier-selection.component.html',\r\n styleUrls: ['./supplier-selection.component.css'],\r\n providers: [{provide: AbstractVisbosControl, useExisting: forwardRef(() => SupplierSelectionComponent)}]\r\n})\r\nexport class SupplierSelectionComponent extends AbstractVisbosControl implements OnInit {\r\n\r\n supplierList: Supplier[] = [];\r\n\r\n constructor(fb: FormBuilder, cd: ChangeDetectorRef,\r\n private supplierService?: SupplierService) {\r\n super(fb, cd, null);\r\n }\r\n\r\n @ViewChild(GenericModalComponent)\r\n modal: GenericModalComponent;\r\n\r\n @ViewChild('form')\r\n form: SupplierFormComponent;\r\n\r\n ngOnInit() {\r\n super.ngOnInit();\r\n\r\n this.dataSubscriptions.push(this.supplierService.getSupplierList(this.activeAdminUnitCuid$)\r\n .subscribe((res: any) => {\r\n this.supplierList = res;\r\n }));\r\n\r\n }\r\n\r\n buildControlContent(): FormControl {\r\n return SupplierSelectionComponent.initControl(this.fb);\r\n }\r\n\r\n public static initControl(fb: FormBuilder = null): FormControl {\r\n fb = fb ? fb : appInjector().get(FormBuilder);\r\n return fb.control(null);\r\n }\r\n\r\n public setDefaultValues(item?: Supplier): { [controlKey: string]: any } | any {\r\n return this.setValue(item, 'cuid');\r\n }\r\n\r\n createSupplier() {\r\n this.form.createOrUpdateSupplier();\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/crm/supplier/supplier-selection/supplier-selection.component.ts","module.exports = \"\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/crm/supplier/suppliers-list/suppliers-list.component.css\n// module id = ./src/app/crm/supplier/suppliers-list/suppliers-list.component.css\n// module chunks = main","module.exports = \"\\r\\n\\r\\n

Lieferanten verwalten

\\r\\n\\r\\n
\\r\\n\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n
\\r\\n {{row.address_name}}
\\r\\n {{row.address?.street}} {{row.address?.number}}
\\r\\n {{row.address?.city?.zip}} {{row.address?.city?.town}}
\\r\\n {{row.address?.city?.country?.name}}
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n\\r\\n\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/crm/supplier/suppliers-list/suppliers-list.component.html\n// module id = ./src/app/crm/supplier/suppliers-list/suppliers-list.component.html\n// module chunks = main","import {ChangeDetectorRef, Component, OnInit, TemplateRef, ViewChild} from \"@angular/core\";\r\nimport {AbstractListView} from \"../../../core/visbos-core/ui/components/abstract-list-view\";\r\nimport {SupplierService} from \"../../services/supplier/supplier.service\";\r\nimport {Supplier} from \"../../../shared/view-model/crm/supplier.type\";\r\nimport {SessionActions} from \"../../../shared/actions/session.actions\";\r\nimport {MessageType} from \"../../../shared/redux-store/session/session.types\";\r\nimport {ErrorHandlerService} from \"../../../core/visbos-core/error-handling/error-handler.service\";\r\nimport {SupplierFormComponent} from \"../supplier-form/supplier-form.component\";\r\nimport {GenericModalComponent} from \"../../../core/visbos-core/ui/forms/generic-modal/generic-modal.component\";\r\nimport {ApolloQueryObservable} from \"apollo-angular\";\r\nimport {SupplierBusinessRelationsFormComponent} from \"../../business-relations/supplier-business-relations-form/supplier-business-relations-form.component\";\r\n\r\n@Component({\r\n selector: 'vb-suppliers-list',\r\n templateUrl: './suppliers-list.component.html',\r\n styleUrls: ['./suppliers-list.component.css']\r\n})\r\nexport class SuppliersListComponent extends AbstractListView implements OnInit {\r\n\r\n currentSupplier: Supplier;\r\n\r\n onCellUpdate(row, res, index) {\r\n }\r\n\r\n @ViewChild('addressTemplate')\r\n addressTemplate: TemplateRef;\r\n\r\n @ViewChild('supplierForm')\r\n supplierForm: SupplierFormComponent;\r\n\r\n @ViewChild('businessRelationsForm')\r\n businessRelationsForm: SupplierBusinessRelationsFormComponent;\r\n\r\n @ViewChild('modal')\r\n supplierModal: GenericModalComponent;\r\n\r\n @ViewChild('businessRelationsModal')\r\n businessRelationsModal: GenericModalComponent;\r\n\r\n private suppliers$: ApolloQueryObservable;\r\n\r\n messages = {\r\n emptyMessage: 'Keine Lieferanten vorhanden',\r\n totalMessage: 'Lieferanten insgesamt'\r\n };\r\n\r\n\r\n constructor(private supplierService: SupplierService,\r\n private err: ErrorHandlerService,\r\n sessionActions: SessionActions, cd: ChangeDetectorRef) {\r\n super(sessionActions, cd);\r\n\r\n this.actions = [\r\n {\r\n label: 'Lieferanten hinzufügen',\r\n helpText: 'Einen neuen Lieferanten hinzufügen',\r\n icon: 'fa-plus',\r\n action: () => this.addSupplierClicked.apply(this),\r\n }\r\n ]\r\n\r\n }\r\n\r\n ngOnInit() {\r\n this.suppliers$ = this.supplierService.getSupplierList();\r\n this.addComponentData(this.suppliers$);\r\n\r\n this.dataSubscriptions.push(this.suppliers$.subscribe((res: any) => this.rows = res));\r\n\r\n this.columns = [\r\n {prop: 'name', name: 'Name'},\r\n {prop: 'administration_unit.label', name: 'Verwaltungseinheit'},\r\n {prop: 'address', name: 'Anschrift', cellTemplate: this.addressTemplate, sortable: false}\r\n ];\r\n }\r\n\r\n createOrUpdateSupplier() {\r\n this.supplierForm.createOrUpdateSupplier();\r\n }\r\n\r\n addSupplierClicked() {\r\n this.currentSupplier = undefined;\r\n this.cd.detectChanges();\r\n this.supplierForm.reset();\r\n this.supplierModal.show();\r\n this.cd.detectChanges();\r\n }\r\n\r\n editSupplierClicked(supplier: Supplier) {\r\n this.currentSupplier = supplier;\r\n this.cd.detectChanges();\r\n this.supplierForm.reset();\r\n this.supplierForm.control.enable();\r\n this.supplierModal.show();\r\n this.cd.detectChanges();\r\n }\r\n\r\n deleteSupplier(supplier: Supplier) {\r\n this.supplierService.deleteSupplier(supplier.cuid)\r\n .toPromise()\r\n .then((success: any) => {\r\n console.info(\"Success\");\r\n });\r\n }\r\n\r\n editBusinessRelationClicked(supplier: Supplier) {\r\n this.currentSupplier = supplier;\r\n this.cd.detectChanges();\r\n this.businessRelationsForm.reset();\r\n this.businessRelationsModal.show();\r\n this.cd.detectChanges();\r\n }\r\n\r\n onAddCustomerDataClicked(supplier: Supplier) {\r\n this.currentSupplier = supplier;\r\n\r\n this.supplierForm.control.disable();\r\n this.supplierForm.control.get('business_relations').enable();\r\n\r\n this.supplierModal.show();\r\n this.cd.detectChanges();\r\n }\r\n\r\n createOrUpdateBusinessRelation() {\r\n let data = this.businessRelationsForm.control.value;\r\n\r\n this.supplierService.setSupplierBusinessRelations(\r\n data.relation.relation_target_id,\r\n data.relation.relation_source_id,\r\n data.relation_data,\r\n data.relation.cuid\r\n ).subscribe(res => {\r\n this.sessionActions.pushMessage(\"Geschäftsbeziehung erfolgreich gespeichert!\", MessageType.SUCCESS, \"Lieferantenverwaltung\");\r\n },\r\n err => {\r\n this.sessionActions.throwError(err, \"Fehler beim Speichern der Geschäftsbeziehung!\");\r\n }\r\n );\r\n\r\n\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/crm/supplier/suppliers-list/suppliers-list.component.ts","import {Injectable} from \"@angular/core\";\r\nimport {Apollo, ApolloQueryObservable} from \"apollo-angular\";\r\nimport gql from \"graphql-tag\";\r\nimport {IAppState} from \"../../shared/redux-store/store\";\r\nimport {NgRedux} from \"@angular-redux/store\";\r\nimport {IUser} from \"../../shared/redux-store/session/session.types\";\r\nimport {ApolloQueryResult, MutationOptions, WatchQueryOptions} from \"apollo-client\";\r\nimport {environment} from \"../../../environments/environment\";\r\nimport {Observable} from \"rxjs/Observable\";\r\nimport {HttpClient, HttpHeaders} from \"@angular/common/http\";\r\nimport {UserQueryQuery} from \"../../shared/graphql/graphql.types\";\r\nimport {handleObservable} from \"../../core/visbos-core/graphql/handleObservable\";\r\nimport {filter, map} from \"rxjs/operators\";\r\n\r\nexport interface FetchUserResponse extends UserQueryQuery {\r\n}\r\n\r\nexport const userFragments = {\r\n user: gql`\r\n fragment UserFields on User {\r\n cuid, label, is_editable\r\n name, pre_name, email, form_of_address, academic_title,\r\n is_deactivated customer_id\r\n administration_units {\r\n cuid, label\r\n }\r\n permissions,\r\n roles\r\n }`\r\n};\r\n\r\nexport const updateUserPasswordMutation = gql`\r\n mutation UpdateUserPasswordMutation($cuid: String!, $credentials: UserCredentialsInput!) {\r\n updateUserCredentials(cuid: $cuid, userCredentials: $credentials) {\r\n ...UserFields\r\n }\r\n }\r\n ${userFragments.user}\r\n`;\r\n\r\nexport const sendPasswordResetLinkQuery = gql`\r\n query SendPasswordResetLinkQuery($email: String!) {\r\n sendPasswordLink(email: $email)\r\n }\r\n`;\r\n\r\nexport const FetchUsersQuery = gql`\r\n query UserQuery($token: String) {\r\n fetchUsers(token: $token) {\r\n ...UserFields\r\n }\r\n }\r\n\r\n ${userFragments['user']}\r\n`;\r\n\r\nexport const GetRolesQuery = gql`\r\n query GetRoles {\r\n roles {\r\n id name label\r\n created_at updated_at\r\n permissions {\r\n id name\r\n created_at updated_at\r\n }\r\n }\r\n }\r\n`;\r\n\r\nexport const GetFormsOfAddressesQuery = gql`\r\n query GetFormsOfAddresses {\r\n forms_of_addresses\r\n }\r\n`;\r\n\r\nexport const GetAcademicTitlesQuery = gql`\r\n query GetAcademicTitles {\r\n academic_titles\r\n }\r\n`;\r\n\r\nexport const CreateUserMutation = gql`\r\n mutation CreateUser($userInput:UserInput!) {\r\n createUser(userInput: $userInput) {\r\n ...UserFields\r\n }\r\n }\r\n ${userFragments['user']}\r\n`;\r\n\r\nexport const UpdateUserMutation = gql`\r\n mutation UpdateUser($cuid: String!, $userInput:UserInput!, $userCredentials:UserCredentialsInput) {\r\n updateUser(cuid: $cuid, userData: $userInput, userCredentials: $userCredentials) {\r\n ...UserFields\r\n }\r\n }\r\n ${userFragments['user']}\r\n`;\r\n\r\nexport const ResetPasswordMutation = gql`\r\n mutation ResetPassword($cuid: String!) {\r\n resetPassword(cuid: $cuid) {\r\n ...UserFields\r\n }\r\n }\r\n ${userFragments['user']}\r\n`;\r\n\r\nexport const ReactivateUserAccountMutation = gql`\r\n mutation ReactivateUserAccountMutation($cuid: String, $email: String) {\r\n reactivateUserAccount(cuid: $cuid, email: $email) {\r\n ...UserFields\r\n }\r\n }\r\n ${userFragments.user}\r\n`;\r\n\r\nexport interface UpdateUserCredentialsResult {\r\n updateUserCredentials: IUser;\r\n}\r\n\r\nexport interface AuthenticateUserResult {\r\n token: string;\r\n authenticatedUser: IUser;\r\n}\r\n\r\n@Injectable()\r\nexport class UserService {\r\n\r\n constructor(private apollo: Apollo, private ngRedux: NgRedux, private http: HttpClient) {\r\n\r\n }\r\n\r\n public fetchItems(options: WatchQueryOptions): ApolloQueryObservable {\r\n\r\n let opt = Object.assign({}, options);\r\n\r\n if (environment.network.forceFetch) {\r\n opt.fetchPolicy = 'network-only';\r\n } else {\r\n opt.fetchPolicy = opt.fetchPolicy ? opt.fetchPolicy : 'cache-and-network';\r\n }\r\n\r\n let query = this.apollo.watchQuery(opt).pipe(\r\n handleObservable(),\r\n filter((res: any) => (res.data != undefined))\r\n );\r\n\r\n return >query;\r\n }\r\n\r\n public mutate(options: MutationOptions): Observable> {\r\n\r\n let mutation = this.apollo.mutate(options).pipe(\r\n handleObservable(),\r\n filter((res: any) => (res.data != undefined))\r\n );\r\n\r\n return mutation;\r\n\r\n }\r\n\r\n public getUser(token: string): Observable {\r\n\r\n // Get all stocks from Server\r\n let data$: any = this.fetchItems({\r\n query: FetchUsersQuery,\r\n variables: {\r\n token: token\r\n },\r\n fetchPolicy: \"cache-and-network\"\r\n });\r\n\r\n let model$ = data$\r\n .pipe(map(({data}: any) => {\r\n return {\r\n user: data.fetchUsers[0],\r\n isLoading: data.loading,\r\n };\r\n }\r\n ));\r\n\r\n return model$;\r\n }\r\n\r\n public updateUserPassword(oldPassword: string, newPassword: string, cuid?: string): Observable> {\r\n return this.mutate({\r\n mutation: updateUserPasswordMutation,\r\n variables: {\r\n cuid: cuid || this.ngRedux.getState().session.user.cuid,\r\n credentials: {oldPassword, password: newPassword}\r\n }\r\n });\r\n }\r\n\r\n public sendResetPasswordLink(email: string): Observable {\r\n\r\n let headers = new HttpHeaders(\r\n {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n });\r\n let options = {'headers': headers};\r\n\r\n let body = JSON.stringify({email});\r\n return this.http.post(environment.passwordEMailUrl, body, options)\r\n }\r\n\r\n public resetPasswordWithToken(credentials): Observable {\r\n\r\n let headers = new HttpHeaders(\r\n {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n });\r\n let options = {'headers': headers};\r\n\r\n return this.http.post(environment.passwordResetUrl, JSON.stringify(credentials), options);\r\n }\r\n\r\n resetPasswordForUser(userCuid: string) {\r\n return this.mutate({\r\n mutation: ResetPasswordMutation,\r\n variables: {\r\n cuid: userCuid\r\n }\r\n });\r\n }\r\n\r\n public getRoles(): ApolloQueryObservable {\r\n return this.fetchItems({\r\n query: GetRolesQuery\r\n });\r\n }\r\n\r\n public getUsers(): ApolloQueryObservable {\r\n return this.fetchItems({\r\n query: FetchUsersQuery\r\n });\r\n }\r\n\r\n public getFormsOfAddresses(): ApolloQueryObservable {\r\n return this.fetchItems({\r\n query: GetFormsOfAddressesQuery\r\n });\r\n }\r\n\r\n public getAcademicTitles(): ApolloQueryObservable {\r\n return this.fetchItems({\r\n query: GetAcademicTitlesQuery\r\n });\r\n }\r\n\r\n public createUser(userInput): Observable {\r\n return this.mutate({\r\n mutation: CreateUserMutation,\r\n variables: {\r\n userInput: userInput\r\n },\r\n refetchQueries: ['UserQuery']\r\n })\r\n }\r\n\r\n public updateUser(cuid: string, userInput, userCredentials?): Observable {\r\n return this.mutate({\r\n mutation: UpdateUserMutation,\r\n variables: {\r\n cuid: cuid,\r\n userInput: userInput,\r\n userCredentials: userCredentials\r\n },\r\n refetchQueries: ['UserQuery']\r\n })\r\n }\r\n\r\n public deleteUser(cuid: string): Observable {\r\n return this.mutate({\r\n mutation: gql`\r\n mutation DeleteUser($cuid: String!) {\r\n deleteUser(cuid: $cuid)\r\n }\r\n `,\r\n variables: {\r\n cuid: cuid\r\n },\r\n refetchQueries: ['UserQuery']\r\n })\r\n }\r\n\r\n public reactivateUserAccount(cuid?: string, email?: string): Observable {\r\n return this.mutate({\r\n mutation: ReactivateUserAccountMutation,\r\n variables: {\r\n cuid, email\r\n }\r\n });\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/crm/user/user.service.ts","module.exports = \"\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/crm/views/account-numbers-list-view/account-numbers-list-view.component.css\n// module id = ./src/app/crm/views/account-numbers-list-view/account-numbers-list-view.component.css\n// module chunks = main","module.exports = \"\\r\\n\\r\\n
Buchungskonten
\\r\\n\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n\\r\\n\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/crm/views/account-numbers-list-view/account-numbers-list-view.component.html\n// module id = ./src/app/crm/views/account-numbers-list-view/account-numbers-list-view.component.html\n// module chunks = main","import {ChangeDetectorRef, Component, OnInit, ViewChild} from '@angular/core';\r\nimport {AbstractVisbosComponent} from '../../../core/visbos-core/components/abstract-visbos.component';\r\nimport {ApolloQueryObservable} from 'apollo-angular';\r\nimport {FormBuilder, FormGroup} from '@angular/forms';\r\nimport {ActionBarAction} from '../../../core/visbos-core/ui/navigation/action-bar/action-bar.component';\r\nimport {GenericModalComponent} from '../../../core/visbos-core/ui/forms/generic-modal/generic-modal.component';\r\nimport {SessionActions} from '../../../shared/actions';\r\nimport {MessageType} from '../../../shared/redux-store/session';\r\nimport {Account} from '../../../shared/view-model/crm/account.type';\r\nimport {AccountingUnitService} from '../../services/accounting-unit.service';\r\nimport {FetchAccountsQueryQuery} from '../../../shared/graphql/graphql.types';\r\nimport {AccountFormComponent} from '../../components/account-form/account-form.component';\r\n\r\n@Component({\r\n selector: 'vb-account-numbers-list-view',\r\n templateUrl: './account-numbers-list-view.component.html',\r\n styleUrls: ['./account-numbers-list-view.component.css']\r\n})\r\nexport class AccountNumbersListViewComponent extends AbstractVisbosComponent implements OnInit {\r\n\r\n private accounts$: ApolloQueryObservable;\r\n public accounts: Account[] = [];\r\n\r\n currentAccountNumberControl: FormGroup;\r\n selected: string[] = [];\r\n\r\n actions: ActionBarAction[] = [\r\n {\r\n icon: 'fa-plus',\r\n label: 'Neues Buchungskonto',\r\n action: () => this.showAddAccountModal.apply(this),\r\n helpText: 'Ein neues Buchungskonto anlegen'\r\n }\r\n ];\r\n\r\n @ViewChild('accountModal')\r\n accountModal: GenericModalComponent;\r\n\r\n constructor(sessionActions: SessionActions, cd: ChangeDetectorRef,\r\n private fb: FormBuilder, private accountService: AccountingUnitService) {\r\n super(sessionActions, cd);\r\n }\r\n\r\n\r\n ngOnInit(): void {\r\n super.ngOnInit();\r\n\r\n this.accounts$ = this.accountService.getAccounts();\r\n this.addComponentData(this.accounts$);\r\n\r\n this.dataSubscriptions.push(this.accounts$.subscribe(res => this.accounts = res.data.accounts));\r\n\r\n }\r\n\r\n showAddAccountModal() {\r\n this.currentAccountNumberControl = AccountFormComponent.initControl(this.fb);\r\n this.accountModal.show();\r\n }\r\n\r\n public saveAccountClicked() {\r\n const accountData = this.currentAccountNumberControl.value;\r\n this.accountService.createAccount(accountData).toPromise()\r\n .then(res => this.sessionActions.pushMessage(\"Buchungskonto erfolgreich hinzugefügt!\", MessageType.SUCCESS))\r\n .catch(err => this.sessionActions.throwError(err, \"Fehler beim Hinzufügen des Buchungskontos!\"));\r\n }\r\n\r\n selectedChanged(selected: string[]) {\r\n this.selected = selected;\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/crm/views/account-numbers-list-view/account-numbers-list-view.component.ts","module.exports = \"\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/crm/views/user-view/user-view.component.css\n// module id = ./src/app/crm/views/user-view/user-view.component.css\n// module chunks = main","module.exports = \"\\r\\n\\r\\n
Benutzerverwaltung
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/crm/views/user-view/user-view.component.html\n// module id = ./src/app/crm/views/user-view/user-view.component.html\n// module chunks = main","import {ChangeDetectorRef, Component, OnInit} from '@angular/core';\r\nimport {AbstractVisbosComponent} from \"../../../core/visbos-core/components/abstract-visbos.component\";\r\nimport {SessionActions} from \"../../../shared/actions\";\r\n\r\n@Component({\r\n selector: 'vb-user-view',\r\n templateUrl: './user-view.component.html',\r\n styleUrls: ['./user-view.component.css']\r\n})\r\nexport class UserViewComponent extends AbstractVisbosComponent implements OnInit {\r\n\r\n constructor(sessionActions: SessionActions, cd: ChangeDetectorRef) {\r\n super(sessionActions, cd);\r\n }\r\n\r\n ngOnInit() {\r\n super.ngOnInit();\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/crm/views/user-view/user-view.component.ts","module.exports = \"\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/fleet/components/vehicle-form/vehicle-form.component.css\n// module id = ./src/app/fleet/components/vehicle-form/vehicle-form.component.css\n// module chunks = main","module.exports = \"\\r\\n\\r\\n \\r\\n \\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n \\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n \\r\\n \\r\\n\\r\\n\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/fleet/components/vehicle-form/vehicle-form.component.html\n// module id = ./src/app/fleet/components/vehicle-form/vehicle-form.component.html\n// module chunks = main","import {ChangeDetectorRef, Component, forwardRef, OnInit} from '@angular/core';\r\nimport {AbstractVisbosControl} from \"../../../core/visbos-core/ui/forms/abstract-visbos-control\";\r\nimport {Vehicle} from \"../../model/vehicle.type\";\r\nimport {FormBuilder, FormGroup, Validators} from \"@angular/forms\";\r\nimport {SessionActions} from \"../../../shared/actions/session.actions\";\r\n\r\n@Component({\r\n selector: 'vb-vehicle-form',\r\n templateUrl: './vehicle-form.component.html',\r\n styleUrls: ['./vehicle-form.component.css'],\r\n providers: [{provide: AbstractVisbosControl, useExisting: forwardRef(() => VehicleFormComponent)}]\r\n})\r\nexport class VehicleFormComponent extends AbstractVisbosControl implements OnInit {\r\n\r\n constructor(fb: FormBuilder, cd: ChangeDetectorRef, sessionActions: SessionActions) {\r\n super(fb, cd, sessionActions);\r\n }\r\n\r\n ngOnInit() {\r\n super.ngOnInit();\r\n }\r\n\r\n buildControlContent(values?: Vehicle): FormGroup {\r\n return VehicleFormComponent.initControl(this.fb);\r\n }\r\n\r\n public static initControl(fb: FormBuilder): FormGroup {\r\n return fb.group({\r\n cuid: [null],\r\n license_plate: [null, Validators.required],\r\n administration_unit_id: [null, Validators.required],\r\n account_id: [null]\r\n });\r\n }\r\n\r\n public setDefaultValues(item?: Vehicle): { [controlKey: string]: any } | any {\r\n return {\r\n cuid: this.setValue(item, 'cuid', AbstractVisbosControl.cuid()),\r\n license_plate: this.setValue(item, 'license_plate')\r\n };\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/fleet/components/vehicle-form/vehicle-form.component.ts","module.exports = \"\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/fleet/components/vehicles-list/vehicles-list.component.css\n// module id = ./src/app/fleet/components/vehicles-list/vehicles-list.component.css\n// module chunks = main","module.exports = \"\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/fleet/components/vehicles-list/vehicles-list.component.html\n// module id = ./src/app/fleet/components/vehicles-list/vehicles-list.component.html\n// module chunks = main","import {\r\n ChangeDetectorRef,\r\n Component,\r\n EventEmitter,\r\n Input,\r\n OnChanges,\r\n OnInit,\r\n Output,\r\n SimpleChanges,\r\n ViewChild\r\n} from '@angular/core';\r\nimport {AbstractListView} from \"../../../core/visbos-core/ui/components/abstract-list-view\";\r\nimport {SessionActions} from \"../../../shared/actions/session.actions\";\r\nimport {DatatableComponent} from \"../../../core/visbos-core/ui/components/datatable/datatable.component\";\r\nimport {GenericModalComponent} from \"../../../core/visbos-core/ui/forms/generic-modal/generic-modal.component\";\r\nimport {Vehicle} from \"../../model/vehicle.type\";\r\nimport {FormBuilder, FormControl, FormGroup} from \"@angular/forms\";\r\nimport {VehicleFormComponent} from \"../vehicle-form/vehicle-form.component\";\r\nimport {FleetService} from \"../../services/fleet.service\";\r\nimport {MessageType} from \"../../../shared/redux-store/session/session.types\";\r\nimport {debounceTime, distinctUntilChanged} from \"rxjs/operators\";\r\n\r\n@Component({\r\n selector: 'vb-vehicles-list',\r\n templateUrl: './vehicles-list.component.html',\r\n styleUrls: ['./vehicles-list.component.css']\r\n})\r\nexport class VehiclesListComponent extends AbstractListView implements OnInit, OnChanges {\r\n\r\n @ViewChild('vehiclesTable')\r\n vehiclesTable: DatatableComponent;\r\n\r\n @ViewChild('vehicleModal')\r\n vehicleModal: GenericModalComponent;\r\n\r\n @Input()\r\n vehicleList: Vehicle[] = [];\r\n\r\n currentVehicleItem: Vehicle;\r\n currentVehicleControl: FormGroup;\r\n\r\n selected: string[] = [];\r\n\r\n @Output()\r\n selectedChange: EventEmitter = new EventEmitter();\r\n\r\n constructor(sessionActions: SessionActions, cd: ChangeDetectorRef,\r\n private fb: FormBuilder,\r\n private fleetService: FleetService) {\r\n super(sessionActions, cd);\r\n }\r\n\r\n ngOnInit() {\r\n\r\n super.ngOnInit();\r\n\r\n this.columns = [\r\n {prop: 'license_plate', name: 'Kennzeichen', flexGrow: 2},\r\n {prop: 'administration_unit.label', name: 'Standort', flexGrow: 2},\r\n {prop: 'identities.0.ean', name: 'EAN', flexGrow: 1},\r\n ];\r\n\r\n this.searchTerm = new FormControl();\r\n\r\n this.dataSubscriptions.push(\r\n this.searchTerm.valueChanges.pipe(\r\n distinctUntilChanged(),\r\n debounceTime(500)\r\n ).subscribe((term: any) => this.filterItems(term))\r\n );\r\n\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n if (changes.vehicleList) {\r\n this.rows = this.vehicleList;\r\n }\r\n }\r\n\r\n onEditVehicleClicked(vehicle: Vehicle) {\r\n this.currentVehicleItem = vehicle;\r\n this.currentVehicleControl = VehicleFormComponent.initControl(this.fb);\r\n this.vehicleModal.show();\r\n }\r\n\r\n onSaveVehicleClicked() {\r\n const vehicleData = this.currentVehicleControl.value;\r\n this.fleetService.updateVehicle(vehicleData.cuid, vehicleData).toPromise()\r\n .then(res => this.sessionActions.pushMessage(\"Fahrzeugdaten erfolgreich geändert!\", MessageType.SUCCESS))\r\n .catch(err => this.sessionActions.throwError(err, \"Fehler beim Ändern der Fahrzeugdaten!\"));\r\n }\r\n\r\n onDeleteVehicleClicked(vehicle: Vehicle) {\r\n this.fleetService.deleteVehicle(vehicle.cuid).toPromise()\r\n .then(res => this.sessionActions.pushMessage(\"Fahrzeug gelöscht!\", MessageType.SUCCESS))\r\n .catch(err => this.sessionActions.throwError(err, \"Fehler beim Löschen des Fahrzeugs!\"));\r\n }\r\n\r\n filterItems(searchTerm) {\r\n if (!searchTerm || searchTerm == \"\") {\r\n this.rows = this.vehicleList;\r\n } else {\r\n if (this.vehicleList) {\r\n this.rows = this.vehicleList.filter((si: any) => this.findStringInTable(si, this.columns, searchTerm));\r\n }\r\n }\r\n }\r\n\r\n onCellUpdate(row, res, index) {\r\n }\r\n\r\n onSelectedChanged(selected: string[]) {\r\n this.selected = [...selected];\r\n this.selectedChange.emit(this.selected);\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/fleet/components/vehicles-list/vehicles-list.component.ts","import {NgModule} from \"@angular/core\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport {FleetService} from \"./services/fleet.service\";\r\nimport {VehiclesListViewComponent} from './views/vehicles-list-view/vehicles-list-view.component';\r\nimport {VehiclesListComponent} from './components/vehicles-list/vehicles-list.component';\r\nimport {VisbosCoreModule} from \"../core/visbos-core/visbos-core.module\";\r\nimport {VehicleFormComponent} from './components/vehicle-form/vehicle-form.component';\r\nimport {OrganizationModule} from \"../organization/organization.module\";\r\nimport {FormsModule, ReactiveFormsModule} from \"@angular/forms\";\r\nimport {CRMModule} from '../crm/crm.module';\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule, ReactiveFormsModule, FormsModule,\r\n VisbosCoreModule, OrganizationModule, CRMModule\r\n ],\r\n declarations: [VehiclesListViewComponent, VehiclesListComponent, VehicleFormComponent],\r\n providers: [FleetService],\r\n exports: [VehiclesListViewComponent, VehiclesListComponent, VehicleFormComponent]\r\n})\r\nexport class FleetModule {\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/fleet/fleet.module.ts","/**\r\n * Created by afuhr on 30.08.2016.\r\n */\r\n/**\r\n * Created by afuhr on 27.05.2016.\r\n */\r\nimport {Injectable} from \"@angular/core\";\r\nimport {VisbosService} from \"../../core/visbos-core/graphql/visbos.service\";\r\nimport gql from \"graphql-tag\";\r\nimport {Observable} from \"rxjs/Observable\";\r\nimport {Vehicle} from \"../model/vehicle.type\";\r\nimport {Apollo, ApolloQueryObservable} from \"apollo-angular\";\r\nimport {NgRedux} from \"@angular-redux/store\";\r\nimport {IAppState} from \"../../shared/redux-store\";\r\nimport {SessionActions} from \"../../shared/actions\";\r\nimport {accountFragments} from '../../crm/services/accounting-unit.service';\r\n\r\nexport const fleetFragments = {\r\n vehicle: gql`\r\n fragment VehicleFields on Vehicle {\r\n cuid, label, is_editable\r\n license_plate\r\n identities {\r\n cuid label is_editable\r\n ean ean_type\r\n }\r\n administration_unit {\r\n cuid label\r\n }\r\n account {...AccountFields}\r\n }\r\n ${accountFragments.account}\r\n `\r\n};\r\n\r\nexport const fetchVehiclesQuery = gql`\r\n query FetchVehiclesQuery($adminUnitCuid: String) {\r\n vehicles(administration_unit_cuid: $adminUnitCuid) {\r\n ...VehicleFields\r\n }\r\n }\r\n ${fleetFragments.vehicle}\r\n`;\r\n\r\nexport const UpdateVehicleMutation = gql`\r\n mutation UpdateVehicle($cuid: String!, $data: VehicleInput!) {\r\n updateVehicle(cuid:$cuid, data: $data) {\r\n ...VehicleFields\r\n }\r\n }\r\n ${fleetFragments.vehicle}\r\n`;\r\n\r\nexport const CreateVehicleMutation = gql`\r\n mutation CreateVehicle($data: VehicleInput!) {\r\n createVehicle(data: $data) {\r\n ...VehicleFields\r\n }\r\n }\r\n ${fleetFragments.vehicle}\r\n`;\r\n\r\nexport const DeleteVehicleMutation = gql`\r\n mutation DeleteVehicle($cuid: String!) {\r\n deleteVehicle(cuid: $cuid)\r\n }\r\n`;\r\n\r\nexport interface FetchVehiclesResult {\r\n vehicles: Vehicle[]\r\n}\r\n\r\n@Injectable()\r\nexport class FleetService extends VisbosService {\r\n\r\n\r\n constructor(apollo: Apollo, ngRedux: NgRedux, sessionActions: SessionActions) {\r\n super(apollo, ngRedux, sessionActions);\r\n }\r\n\r\n fetchVehicles(adminUnitCuid?: string | Observable): ApolloQueryObservable {\r\n return this.fetchItems({\r\n query: fetchVehiclesQuery,\r\n variables: {\r\n adminUnitCuid: adminUnitCuid || this.activeAdminUnitCuid$\r\n }\r\n });\r\n }\r\n\r\n createVehicle(vehicleData): Observable {\r\n return this.mutate({\r\n mutation: CreateVehicleMutation,\r\n variables: {\r\n data: vehicleData\r\n },\r\n refetchQueries: ['FetchVehiclesQuery']\r\n });\r\n }\r\n\r\n updateVehicle(cuid: string, vehicleData): Observable {\r\n return this.mutate({\r\n mutation: UpdateVehicleMutation,\r\n variables: {\r\n cuid: cuid,\r\n data: vehicleData\r\n }\r\n });\r\n }\r\n\r\n deleteVehicle(cuid: string): Observable {\r\n return this.mutate({\r\n mutation: DeleteVehicleMutation,\r\n variables: {\r\n cuid: cuid\r\n },\r\n refetchQueries: ['FetchVehiclesQuery']\r\n });\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/fleet/services/fleet.service.ts","module.exports = \"\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/fleet/views/vehicles-list-view/vehicles-list-view.component.css\n// module id = ./src/app/fleet/views/vehicles-list-view/vehicles-list-view.component.css\n// module chunks = main","module.exports = \"\\r\\n\\r\\n
Kostenstellen
\\r\\n\\r\\n
\\r\\n\\r\\n

Fahrzeuge

\\r\\n\\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n

Selected: {{selected | json}}

\\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n\\r\\n\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/fleet/views/vehicles-list-view/vehicles-list-view.component.html\n// module id = ./src/app/fleet/views/vehicles-list-view/vehicles-list-view.component.html\n// module chunks = main","import {ChangeDetectorRef, Component, OnInit, ViewChild} from '@angular/core';\r\nimport {AbstractVisbosComponent} from \"../../../core/visbos-core/components/abstract-visbos.component\";\r\nimport {SessionActions} from \"../../../shared/actions/session.actions\";\r\nimport {FormBuilder, FormGroup} from \"@angular/forms\";\r\nimport {GenericModalComponent} from \"../../../core/visbos-core/ui/forms/generic-modal/generic-modal.component\";\r\nimport {Vehicle} from \"../../model/vehicle.type\";\r\nimport {ApolloQueryObservable} from \"apollo-angular\";\r\nimport {FleetService} from \"../../services/fleet.service\";\r\nimport {VehicleFormComponent} from \"../../components/vehicle-form/vehicle-form.component\";\r\nimport {MessageType} from \"../../../shared/redux-store/session/session.types\";\r\nimport {ActionBarAction} from \"../../../core/visbos-core/ui/navigation/action-bar/action-bar.component\";\r\nimport {BarcodeService} from \"../../../identity/services/barcode.service\";\r\nimport {FileService} from \"../../../core/visbos-core/http/file.service\";\r\n\r\n@Component({\r\n selector: 'vb-vehicles-list-view',\r\n templateUrl: './vehicles-list-view.component.html',\r\n styleUrls: ['./vehicles-list-view.component.css']\r\n})\r\nexport class VehiclesListViewComponent extends AbstractVisbosComponent implements OnInit {\r\n\r\n private vehicles$: ApolloQueryObservable;\r\n public vehicles: Vehicle[] = [];\r\n\r\n currentVehicleControl: FormGroup;\r\n selected: string[] = [];\r\n\r\n actions: ActionBarAction[] = [\r\n {\r\n icon: 'fa-plus',\r\n label: 'Neues Fahrzeug',\r\n action: () => this.showAddVehicleModal.apply(this),\r\n helpText: 'Ein neues Fahrzeug anlegen'\r\n },\r\n {\r\n icon: 'fa-barcode',\r\n label: 'Fahrzeug-Barcodes erzeugen',\r\n action: () => this.generateVehicleBarcodesClicked.apply(this),\r\n disabled: () => this.selected.length < 1,\r\n helpText: 'Barcode-Schilder für die ausgewählten Fahrzeuge als PDF generieren'\r\n }\r\n ];\r\n\r\n @ViewChild('vehicleModal')\r\n vehicleModal: GenericModalComponent;\r\n\r\n constructor(sessionActions: SessionActions, cd: ChangeDetectorRef,\r\n private fb: FormBuilder,\r\n private fleetService: FleetService, private bcService: BarcodeService, private fileService: FileService) {\r\n super(sessionActions, cd);\r\n }\r\n\r\n\r\n ngOnInit(): void {\r\n super.ngOnInit();\r\n\r\n this.vehicles$ = this.fleetService.fetchVehicles();\r\n this.addComponentData(this.vehicles$);\r\n\r\n this.dataSubscriptions.push(this.vehicles$.subscribe(res => this.vehicles = res.data.vehicles));\r\n\r\n }\r\n\r\n showAddVehicleModal() {\r\n this.currentVehicleControl = VehicleFormComponent.initControl(this.fb);\r\n this.vehicleModal.show();\r\n }\r\n\r\n public saveVehicleClicked() {\r\n const vehicleData = this.currentVehicleControl.value;\r\n this.fleetService.createVehicle(vehicleData).toPromise()\r\n .then(res => this.sessionActions.pushMessage(\"Fahrzeug erfolgreich hinzugefügt!\", MessageType.SUCCESS))\r\n .catch(err => this.sessionActions.throwError(err, \"Fehler beim Hinzufügen des Fahrzeugs!\"));\r\n }\r\n\r\n generateVehicleBarcodesClicked() {\r\n\r\n let res = this.bcService.generateAccountingUnitBarcodesPdf(this.selected);\r\n this.sessionActions.pushMessage(\"Die Barcode-PDF wird generiert, dies kann einen Moment dauern...\", MessageType.INFO, \"PDF erzeugen\");\r\n\r\n res.toPromise()\r\n .then(res => {\r\n let pdfString = res.data.generateAccountingUnitBarcodesPDF;\r\n let blob = this.fileService.base64toBlob(pdfString, 'application/pdf', 512);\r\n this.fileService.saveAs(blob, 'kostenstellen-barcodes.pdf');\r\n })\r\n .catch(err => {\r\n this.sessionActions.throwError(err, \"Fehler bei der Generierung der Barcodes!\")\r\n });\r\n\r\n }\r\n\r\n\r\n selectedChanged(selected: string[]) {\r\n this.selected = selected;\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/fleet/views/vehicles-list-view/vehicles-list-view.component.ts","module.exports = \"\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/identity/barcode/barcode-list/barcode-list.component.css\n// module id = ./src/app/identity/barcode/barcode-list/barcode-list.component.css\n// module chunks = main","module.exports = \"
    \\r\\n
  • \\r\\n {{bc.ean}} ({{bc.ean_type}})\\r\\n
  • \\r\\n
\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/identity/barcode/barcode-list/barcode-list.component.html\n// module id = ./src/app/identity/barcode/barcode-list/barcode-list.component.html\n// module chunks = main","import {Component, Input, OnInit} from \"@angular/core\";\r\nimport {Barcode} from \"../../model/barcode.interface\";\r\n\r\n@Component({\r\n selector: 'vb-barcode-list',\r\n templateUrl: './barcode-list.component.html',\r\n styleUrls: ['./barcode-list.component.css']\r\n})\r\nexport class BarcodeListComponent implements OnInit {\r\n\r\n @Input() barcodes: Barcode[];\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/identity/barcode/barcode-list/barcode-list.component.ts","module.exports = \"\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/identity/identities/identities.component.css\n// module id = ./src/app/identity/identities/identities.component.css\n// module chunks = main","module.exports = \"{{id.ean}}\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/identity/identities/identities.component.html\n// module id = ./src/app/identity/identities/identities.component.html\n// module chunks = main","import {Component, Input, OnInit} from '@angular/core';\r\nimport {IModel} from '../../shared/view-model/imodel.interface';\r\nimport {Barcode} from '../model/barcode.interface';\r\nimport {DepotService} from '../../store-management/services/depot-service/depot.service';\r\n\r\n@Component({\r\n selector: 'vb-identities',\r\n templateUrl: './identities.component.html',\r\n styleUrls: ['./identities.component.css']\r\n})\r\nexport class IdentitiesComponent implements OnInit {\r\n\r\n @Input()\r\n model: IModel;\r\n\r\n @Input()\r\n identities: Barcode[];\r\n\r\n constructor(private depotService: DepotService) {\r\n\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/identity/identities/identities.component.ts","module.exports = \"\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/identity/identity.component.css\n// module id = ./src/app/identity/identity.component.css\n// module chunks = main","module.exports = \"

\\r\\n identity works!\\r\\n

\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/identity/identity.component.html\n// module id = ./src/app/identity/identity.component.html\n// module chunks = main","import {Component, OnInit} from \"@angular/core\";\r\n\r\n@Component({\r\n selector: 'vb-identity',\r\n templateUrl: './identity.component.html',\r\n styleUrls: ['./identity.component.css']\r\n})\r\nexport class IdentityComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/identity/identity.component.ts","import {NgModule} from \"@angular/core\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport {IdentityComponent} from \"./identity.component\";\r\nimport {BarcodeListComponent} from \"./barcode/barcode-list/barcode-list.component\";\r\nimport {NewBarcodeFormComponent} from \"./new-barcode-form/new-barcode-form.component\";\r\nimport {BarcodeService} from \"./services/barcode.service\";\r\nimport {VisbosCoreModule} from \"../core/visbos-core/visbos-core.module\";\r\nimport {ReactiveFormsModule} from \"@angular/forms\";\r\nimport {RfidReaderComponent} from './rfid/rfid-reader/rfid-reader.component';\r\nimport {RfidService} from './services/rfid.service';\r\nimport {IdentitiesComponent} from './identities/identities.component';\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule, ReactiveFormsModule, VisbosCoreModule\r\n ],\r\n declarations: [IdentityComponent, BarcodeListComponent, NewBarcodeFormComponent, RfidReaderComponent, IdentitiesComponent],\r\n providers: [BarcodeService, RfidService],\r\n exports: [BarcodeListComponent, IdentityComponent, NewBarcodeFormComponent, RfidReaderComponent, IdentitiesComponent]\r\n})\r\nexport class IdentityModule {\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/identity/identity.module.ts","module.exports = \".form-group {\\r\\n margin-left: 0;\\r\\n}\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/identity/new-barcode-form/new-barcode-form.component.css\n// module id = ./src/app/identity/new-barcode-form/new-barcode-form.component.css\n// module chunks = main","module.exports = \"
\\r\\n\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n {{control?.valid ? 'Barcode verfügbar' : 'Barcode nicht verfügbar'}}\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n {{HELPTEXT_BARCODE_IN_USE}}.\\r\\n
\\r\\n\\r\\n
\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/identity/new-barcode-form/new-barcode-form.component.html\n// module id = ./src/app/identity/new-barcode-form/new-barcode-form.component.html\n// module chunks = main","import {ChangeDetectorRef, Component, forwardRef, Input, SimpleChanges} from \"@angular/core\";\r\nimport {BarcodeService} from \"../services/barcode.service\";\r\nimport {Barcode} from \"../model/barcode.interface\";\r\nimport {AbstractVisbosControl} from \"../../core/visbos-core/ui/forms/abstract-visbos-control\";\r\nimport {FormBuilder, FormControl} from \"@angular/forms\";\r\nimport {AsynchronousBarcodeValidator} from \"../../core/visbos-core/ui/forms/validators/barcode.async.validator\";\r\nimport {\r\n ValidatorErrorCodes,\r\n ValidatorErrorHelpTexts\r\n} from \"../../core/visbos-core/ui/forms/validators/validator-error-codes\";\r\nimport {appInjector} from \"../../index\";\r\nimport {Observable} from \"rxjs/Observable\";\r\n\r\n\r\n@Component({\r\n selector: 'vb-new-barcode-form',\r\n templateUrl: './new-barcode-form.component.html',\r\n styleUrls: ['./new-barcode-form.component.css'],\r\n providers: [{provide: AbstractVisbosControl, useExisting: forwardRef(() => NewBarcodeFormComponent)}]\r\n})\r\nexport class NewBarcodeFormComponent extends AbstractVisbosControl {\r\n\r\n @Input()\r\n showGenerateButton: boolean = true;\r\n\r\n @Input()\r\n stockItemCuid: Observable;\r\n\r\n public GENERATE_BARCODE_HELP_TEXT = \"Generiert automatisch den nächsten im System verfügbaren Barcode\";\r\n\r\n ERRCODE_BARCODE_IN_USE;\r\n HELPTEXT_BARCODE_IN_USE;\r\n\r\n constructor(fb: FormBuilder, cd: ChangeDetectorRef, private bcService?: BarcodeService) {\r\n super(fb, cd, null);\r\n this.ERRCODE_BARCODE_IN_USE = ValidatorErrorCodes.ERRCODE_BARCODE_IN_USE;\r\n this.HELPTEXT_BARCODE_IN_USE = ValidatorErrorHelpTexts.HELPTEXT_BARCODE_IN_USE;\r\n }\r\n\r\n public setDefaultValues(item?: Barcode): { [controlKey: string]: any } | any {\r\n return this.setValue(item, 'ean');\r\n }\r\n\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n super.ngOnChanges(changes);\r\n\r\n if ((changes.control || changes.stockItemCuid) && this.control) {\r\n this.control.setAsyncValidators(AsynchronousBarcodeValidator.checkBarcode(this.stockItemCuid));\r\n }\r\n\r\n }\r\n\r\n ngOnInit() {\r\n\r\n super.ngOnInit();\r\n\r\n this.control.setAsyncValidators(AsynchronousBarcodeValidator.checkBarcode(this.stockItemCuid));\r\n\r\n /*if (this.stockItemCuid instanceof Observable) {\r\n this.stockItemCuid.subscribe((cuid: any) => {\r\n console.info(\"StockItemCuid changed\", [this.stockItemCuid]);\r\n if (cuid) {\r\n this.control.setAsyncValidators(AsynchronousBarcodeValidator.checkBarcode(cuid));\r\n }\r\n })\r\n } else {\r\n if (this.stockItemCuid) {\r\n this.control.setAsyncValidators(AsynchronousBarcodeValidator.checkBarcode(this.stockItemCuid));\r\n }\r\n }*/\r\n\r\n }\r\n\r\n buildControlContent(values?: Barcode, ...params): FormControl {\r\n return NewBarcodeFormComponent.initControl(this.fb);\r\n }\r\n\r\n public static initControl(fb: FormBuilder = null): FormControl {\r\n fb = fb ? fb : appInjector().get(FormBuilder);\r\n\r\n let ctrl = fb.control(null);\r\n\r\n return ctrl;\r\n }\r\n\r\n generateBarcode() {\r\n this.dataSubscriptions.push(this.bcService.getGeneratedBarcode().subscribe((bc: Barcode) => {\r\n this.control.setValue(bc.ean);\r\n this.control.markAsTouched();\r\n }));\r\n\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/identity/new-barcode-form/new-barcode-form.component.ts","module.exports = \"\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/identity/rfid/rfid-reader/rfid-reader.component.css\n// module id = ./src/app/identity/rfid/rfid-reader/rfid-reader.component.css\n// module chunks = main","module.exports = \"\\r\\n \\r\\n \\r\\n\\r\\n\\r\\n\\r\\n \\r\\n {{title}}\\r\\n \\r\\n\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/identity/rfid/rfid-reader/rfid-reader.component.html\n// module id = ./src/app/identity/rfid/rfid-reader/rfid-reader.component.html\n// module chunks = main","import {ChangeDetectorRef, Component, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\r\nimport {AbstractVisbosComponent} from '../../../core/visbos-core/components/abstract-visbos.component';\r\nimport {SessionActions} from '../../../shared/actions';\r\nimport {RfidService} from '../../services/rfid.service';\r\nimport {RetrieveEPCsByReaderQuery} from '../../../shared/graphql/graphql.types';\r\nimport {Observable} from 'rxjs';\r\nimport {ApolloQueryResult} from 'apollo-client';\r\nimport {finalize} from 'rxjs/operators';\r\n\r\n@Component({\r\n selector: 'vb-rfid-reader',\r\n templateUrl: './rfid-reader.component.html',\r\n styleUrls: ['./rfid-reader.component.css']\r\n})\r\nexport class RfidReaderComponent extends AbstractVisbosComponent implements OnInit, OnDestroy {\r\n\r\n @Input()\r\n title = 'Lesevorgang starten';\r\n\r\n @Input()\r\n readerId: string;\r\n\r\n @Input()\r\n style: 'icon' | 'button' | 'block' = 'button';\r\n\r\n @Input()\r\n onlyOnce = true;\r\n\r\n @Output()\r\n read: EventEmitter = new EventEmitter();\r\n\r\n private readerQuery$: Observable>;\r\n public epcs: string[];\r\n\r\n\r\n constructor(sessionActions: SessionActions, cd: ChangeDetectorRef,\r\n private rfidService: RfidService) {\r\n super(sessionActions, cd);\r\n }\r\n\r\n onReadClicked() {\r\n if (this.onlyOnce && this.isLoading) {\r\n return;\r\n }\r\n\r\n this.isLoading = true;\r\n this.readerQuery$ = this.rfidService\r\n .retrieveEPCsFromReaderOnce({readerCuid: this.rfidService.getReaderForMarriage()})\r\n .pipe(finalize(() => {\r\n this.isLoading = false;\r\n }));\r\n\r\n this.addSubscription(this.readerQuery$.subscribe(res => {\r\n this.isLoading = res.loading;\r\n this.handleReadResult(res.data.epcsByReader);\r\n }, err => {\r\n this.sessionActions.throwError(err, \"Fehler beim Lesen der RFID-Tags!\");\r\n this.isLoading = false;\r\n }));\r\n }\r\n\r\n private handleReadResult(epcs: string[]) {\r\n this.epcs = epcs;\r\n this.read.emit(epcs);\r\n }\r\n\r\n\r\n ngOnDestroy() {\r\n super.ngOnDestroy();\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/identity/rfid/rfid-reader/rfid-reader.component.ts","import {Injectable} from \"@angular/core\";\r\nimport {Apollo, ApolloQueryObservable} from \"apollo-angular\";\r\nimport gql from \"graphql-tag\";\r\nimport {Barcode} from \"../model/barcode.interface\";\r\nimport {Observable} from \"rxjs/Observable\";\r\nimport {VisbosService} from \"../../core/visbos-core/graphql/visbos.service\";\r\nimport {NgRedux, select} from \"@angular-redux/store\";\r\nimport {IAppState} from \"../../shared/redux-store\";\r\nimport {SessionActions} from \"../../shared/actions\";\r\nimport {ApolloQueryResult} from \"apollo-client\";\r\nimport {map} from \"rxjs/operators\";\r\n\r\nexport const fragments = {\r\n barcode: gql`\r\n fragment BarcodeFields on Barcode {\r\n cuid, label, ean, ean_type,\r\n identifiable {\r\n cuid, __typename,\r\n ...on Stock {\r\n act_stock extraction_amount registration_required\r\n }\r\n ...on Asset {\r\n created_at, updated_at, deleted_at\r\n }\r\n }\r\n }\r\n `\r\n};\r\n\r\nexport const resolveBarcodeQuery = gql`\r\n query ResolveBarcodeQuery($cuid: String, $ean: String, $withTrashed: Boolean) {\r\n barcode(cuid: $cuid, ean: $ean, withTrashed: $withTrashed) {\r\n ...BarcodeFields\r\n }\r\n }\r\n\r\n ${fragments.barcode}\r\n`;\r\n\r\nexport const fetchBarcodesQuery = gql`\r\n query FetchBarcodesForAdminUnitQuery($AU: String!, $withTrashed: Boolean) {\r\n barcodes(administration_unit_cuid: $AU, withTrashed: $withTrashed) {\r\n ...BarcodeFields\r\n }\r\n }\r\n\r\n ${fragments.barcode}\r\n`;\r\n\r\nexport const generateBarcodesPdfQuery = gql`\r\n query GenerateBarcodeStickersPdf($barcodeCuids: [String], $identifiableCuids: [String], $printedSheetCuid: String,\r\n $startRow: Int, $startColumn: Int) {\r\n generateBarcodeStickersPDF(barcodeCuids: $barcodeCuids, identifiableCuids: $identifiableCuids, printedSheetCuid: $printedSheetCuid,\r\n startRow: $startRow, startColumn: $startColumn)\r\n }\r\n`;\r\n\r\nexport const GenerateAccountUnitBarcodesPdfMutation = gql`\r\n mutation GenerateAccountUnitBarcodesPdf($cuids: [String]) {\r\n generateAccountingUnitBarcodesPDF(identifiable_cuids: $cuids)\r\n }\r\n`;\r\n\r\nexport interface GenerateBarcodeStickersPdfResponse {\r\n generateBarcodeStickersPDF: string;\r\n}\r\n\r\nexport interface FetchBarcodeResponse {\r\n barcode: Barcode;\r\n}\r\n\r\nexport interface FetchBarcodesResponse {\r\n barcodes: Barcode[];\r\n}\r\n\r\n@Injectable()\r\nexport class BarcodeService extends VisbosService {\r\n\r\n @select(['session', 'activeAdminUnit'])\r\n activeAdminUnit$: Observable;\r\n\r\n\r\n constructor(apollo: Apollo, ngRedux: NgRedux, sessionActions: SessionActions) {\r\n super(apollo, ngRedux, sessionActions);\r\n }\r\n\r\n public getGeneratedBarcode(): Observable {\r\n\r\n let query = this.mutate({\r\n mutation: gql`\r\n mutation Barcode {\r\n generateBarcode {\r\n cuid, ean, ean_type\r\n }\r\n }`\r\n });\r\n\r\n return query.pipe(\r\n map(({data}: any) => data.generateBarcode)\r\n );\r\n\r\n }\r\n\r\n public fetchBarcodes(adminUnitCuid?: string | Observable, withTrashed?: boolean) {\r\n\r\n let query = this.fetchItems({\r\n query: fetchBarcodesQuery,\r\n variables: {\r\n AU: adminUnitCuid ? adminUnitCuid : this.activeAdminUnit$,\r\n withTrashed: withTrashed\r\n }\r\n });\r\n\r\n return query;\r\n\r\n }\r\n\r\n public cacheBarcodes(adminUnitCuid?: string | Observable, withTrashed?: boolean) {\r\n\r\n let query = this.fetchItems({\r\n query: fetchBarcodesQuery,\r\n variables: {\r\n AU: adminUnitCuid ? adminUnitCuid : this.activeAdminUnit$,\r\n withTrashed: withTrashed\r\n },\r\n pollInterval: 60000, // Re-cache every 60 seconds\r\n });\r\n\r\n return query;\r\n\r\n }\r\n\r\n public checkBarcode(ean: string, stockCuid?: string | Observable): ApolloQueryObservable {\r\n\r\n let query = this.fetchItems({\r\n query: gql`\r\n query CheckEAN($ean: String!, $cuid: String) {\r\n checkAndReserveBarcode(ean: $ean, cuid: $cuid)\r\n }\r\n `,\r\n variables: {\r\n ean: ean,\r\n cuid: stockCuid\r\n }\r\n });\r\n\r\n return query.pipe(\r\n map(({data}: any) => data.checkAndReserveBarcode)\r\n ) as ApolloQueryObservable;\r\n\r\n }\r\n\r\n public resolveEAN(ean: string, withTrashed?: boolean): Observable> {\r\n\r\n return this.apollo.query({\r\n query: resolveBarcodeQuery,\r\n variables: {\r\n ean: ean,\r\n cuid: null,\r\n withTrashed: withTrashed\r\n },\r\n fetchPolicy: \"cache-first\"\r\n });\r\n\r\n }\r\n\r\n public generateBarcodeStickersPdf(barcodeCuids: string[] = null, identifiableCuids: string[] = null, printedSheetCuid: string, startRow: number = 1, startColumn: number = 1): ApolloQueryObservable {\r\n return this.fetchItems({\r\n query: generateBarcodesPdfQuery,\r\n variables: {\r\n barcodeCuids: barcodeCuids,\r\n identifiableCuids: identifiableCuids,\r\n printedSheetCuid: printedSheetCuid,\r\n startRow: startRow,\r\n startColumn: startColumn\r\n },\r\n fetchPolicy: \"cache-first\"\r\n })\r\n }\r\n\r\n public generateAccountingUnitBarcodesPdf(accountingUnitCuids: string[]): Observable {\r\n return this.mutate({\r\n mutation: GenerateAccountUnitBarcodesPdfMutation,\r\n variables: {\r\n cuids: accountingUnitCuids\r\n }\r\n });\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/identity/services/barcode.service.ts","import {Injectable} from '@angular/core';\r\nimport gql from 'graphql-tag';\r\nimport {VisbosService} from '../../core/visbos-core/graphql/visbos.service';\r\nimport {NgRedux, select} from '@angular-redux/store';\r\nimport {Observable} from 'rxjs';\r\nimport {Apollo, ApolloQueryObservable} from 'apollo-angular';\r\nimport {IAppState} from '../../shared/redux-store';\r\nimport {SessionActions} from '../../shared/actions';\r\nimport {\r\n RegisterAssetForArticleMutation,\r\n RegisterAssetForArticleMutationVariables,\r\n ResolveAssetTreeByEPCsQuery,\r\n ResolveAssetTreeByEPCsQueryVariables,\r\n ResolveItemsByEPCsQuery,\r\n ResolveItemsByEPCsQueryVariables,\r\n RetrieveEPCsByReaderQuery,\r\n RetrieveEPCsByReaderQueryVariables,\r\n RetrievePackingEPCsByReaderQuery,\r\n RetrievePackingEPCsByReaderQueryVariables\r\n} from '../../shared/graphql/graphql.types';\r\nimport {environment} from '../../../environments/environment';\r\nimport {ApolloQueryResult, FetchPolicy, WatchQueryOptions} from 'apollo-client';\r\n\r\nexport const retrieveEPCsFromReader = gql`\r\n query RetrieveEPCsByReader($readerCuid:ID) {\r\n epcsByReader(readerCuid:$readerCuid)\r\n }\r\n`;\r\n\r\nexport const retrievePackingEPCsFromReader = gql`\r\n query RetrievePackingEPCsByReader($readerCuid:ID) {\r\n packingEpcsFromReader(readerCuid:$readerCuid)\r\n }\r\n`;\r\n\r\nexport const resolveItemsByEPCs = gql`\r\n query ResolveItemsByEPCs($epcs: [String]!, $includeChildren: Boolean) {\r\n itemsByEPCs(epcs: $epcs, includeChildren: $includeChildren) {\r\n cuid, label\r\n ... on Asset {\r\n cuid label\r\n article {cuid label}\r\n }\r\n }\r\n }\r\n`;\r\n\r\nexport const resolveAssetTreeByEPCs = gql`\r\n query ResolveAssetTreeByEPCs($epcs: [String]!) {\r\n assetTreeByEPCs(epcs: $epcs) {\r\n cuid, label,\r\n children {\r\n cuid label\r\n children {\r\n cuid label\r\n children {\r\n cuid label\r\n children {\r\n cuid label\r\n children {\r\n cuid label\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n`;\r\n\r\nexport const registerAssetsForArticle = gql`\r\n mutation RegisterAssetForArticle($articleCuid:String!, $assetsData: [AssetInput]!) {\r\n registerAssetsForArticle(articleCuid: $articleCuid, assetsData:$assetsData) {\r\n cuid, label, created_at, updated_at\r\n administration_unit {cuid label}\r\n article {cuid label}\r\n identities {cuid ean is_seal}\r\n }\r\n }\r\n`;\r\n\r\n@Injectable()\r\nexport class RfidService extends VisbosService {\r\n\r\n @select(['session', 'activeAdminUnit'])\r\n activeAdminUnit$: Observable;\r\n\r\n constructor(apollo: Apollo, ngRedux: NgRedux, sessionActions: SessionActions) {\r\n super(apollo, ngRedux, sessionActions);\r\n }\r\n\r\n public getReaderForMarriage() {\r\n return environment.rfid.marry_reader_cuid;\r\n }\r\n\r\n public retrieveEPCsFromReader(variables: RetrieveEPCsByReaderQueryVariables, fetchPolicy?: FetchPolicy): ApolloQueryObservable {\r\n const opt: WatchQueryOptions = {\r\n query: retrieveEPCsFromReader,\r\n variables: variables,\r\n };\r\n if (fetchPolicy) {\r\n opt.fetchPolicy = fetchPolicy;\r\n }\r\n return this.fetchItems(opt);\r\n }\r\n\r\n public retrievePackingEpcsFromReader(variables: RetrievePackingEPCsByReaderQueryVariables, fetchPolicy?: FetchPolicy): ApolloQueryObservable {\r\n const opt: WatchQueryOptions = {\r\n query: retrievePackingEPCsFromReader,\r\n variables: variables,\r\n };\r\n if (fetchPolicy) {\r\n opt.fetchPolicy = fetchPolicy;\r\n }\r\n return this.fetchItems(opt);\r\n }\r\n\r\n public retrieveEPCsFromReaderOnce(variables: RetrieveEPCsByReaderQueryVariables): Observable> {\r\n\r\n const opt: WatchQueryOptions = {\r\n query: retrieveEPCsFromReader,\r\n variables: variables,\r\n };\r\n\r\n return this.fetchItemsOnce(opt);\r\n }\r\n\r\n public resolveEPCs(variables: ResolveItemsByEPCsQueryVariables, fetchPolicy?: FetchPolicy): ApolloQueryObservable {\r\n const opt: WatchQueryOptions = {\r\n query: resolveItemsByEPCs,\r\n variables: variables,\r\n };\r\n if (fetchPolicy) {\r\n opt.fetchPolicy = fetchPolicy;\r\n }\r\n return this.fetchItems(opt);\r\n }\r\n\r\n public resolveEPCsOnce(variables: ResolveItemsByEPCsQueryVariables): Observable> {\r\n const opt: WatchQueryOptions = {\r\n query: resolveItemsByEPCs,\r\n variables: variables,\r\n };\r\n return this.fetchItemsOnce(opt);\r\n }\r\n\r\n public resolveAssetTreeFromEPCs(variables: ResolveAssetTreeByEPCsQueryVariables, fetchPolicy?: FetchPolicy): ApolloQueryObservable {\r\n const opt: WatchQueryOptions = {\r\n query: resolveAssetTreeByEPCs,\r\n variables: variables,\r\n };\r\n if (fetchPolicy) {\r\n opt.fetchPolicy = fetchPolicy;\r\n }\r\n return this.fetchItems(opt);\r\n }\r\n\r\n public resolveAssetTreeFromEPCsOnce(variables: ResolveAssetTreeByEPCsQueryVariables): Observable> {\r\n const opt: WatchQueryOptions = {\r\n query: resolveAssetTreeByEPCs,\r\n variables: variables,\r\n };\r\n return this.fetchItemsOnce(opt);\r\n }\r\n\r\n public registerAssetsForArticle(variables: RegisterAssetForArticleMutationVariables): Observable> {\r\n return this.mutate({\r\n mutation: registerAssetsForArticle,\r\n variables: variables\r\n });\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/identity/services/rfid.service.ts","import {Injector, NgModuleRef} from \"@angular/core\";\r\nimport ApolloClient from \"apollo-client/ApolloClient\";\r\nimport {Router} from \"@angular/router\";\r\nimport {HttpErrorResponse} from \"@angular/common/http\";\r\nimport {environment} from \"../environments/environment\";\r\n\r\nexport * from './visbos.component';\r\nexport * from './visbos.module';\r\n\r\n// Declare type definition for JS cuid libraray\r\ndeclare function cuid(): string;\r\n\r\nconst cuidConst = require(\"cuid\");\r\nexport {cuid};\r\n\r\n\r\nlet appInjectorRef: Injector;\r\nexport const appInjector = (injector?: Injector): Injector => {\r\n if (injector) {\r\n appInjectorRef = injector;\r\n }\r\n\r\n return appInjectorRef;\r\n};\r\n\r\nlet apolloClientRef: ApolloClient;\r\nexport const apolloClient = (client?: ApolloClient): ApolloClient => {\r\n if (client) {\r\n apolloClientRef = client;\r\n }\r\n\r\n return apolloClientRef;\r\n};\r\n\r\nlet _appRef: NgModuleRef;\r\nexport const appRef = (app?: NgModuleRef): NgModuleRef => {\r\n if (app) {\r\n _appRef = app;\r\n }\r\n return _appRef;\r\n};\n\n\n// WEBPACK FOOTER //\n// ./src/app/index.ts","module.exports = \"\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/medicine-stickers/components/custom-sticker-page-layout/custom-sticker-page-layout.component.css\n// module id = ./src/app/medicine-stickers/components/custom-sticker-page-layout/custom-sticker-page-layout.component.css\n// module chunks = main","module.exports = \"
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n

Layouteinstellungen

\\r\\n\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n

\\r\\n Bitte wählen Sie ein Papierformat und eine Beschriftungsvorlage aus...\\r\\n

\\r\\n\\r\\n
\\r\\n \\r\\n
Medikamente
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
    \\r\\n
  • {{med?.label}}
  • \\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n

Anordnung der Spritzenetiketten auf dem DIN-A6 Etikettenblatt

\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/medicine-stickers/components/custom-sticker-page-layout/custom-sticker-page-layout.component.html\n// module id = ./src/app/medicine-stickers/components/custom-sticker-page-layout/custom-sticker-page-layout.component.html\n// module chunks = main","import {ChangeDetectorRef, Component, forwardRef, OnDestroy, OnInit, ViewChild} from \"@angular/core\";\r\nimport {SessionActions} from \"../../../shared/actions/session.actions\";\r\nimport {Medicine} from \"../../../store-management/model/medicine.type\";\r\nimport {ApolloQueryObservable} from \"apollo-angular\";\r\nimport {DragulaService} from \"ng2-dragula\";\r\nimport {FormBuilder, FormControl, FormGroup, Validators} from \"@angular/forms\";\r\nimport {AbstractVisbosControl} from \"../../../core/visbos-core/ui/forms/abstract-visbos-control\";\r\nimport {PrintedSheet} from \"../../../shared/view-model/store-management/printed-sheet.type\";\r\nimport {StickerPageComponent} from \"./sticker-page/sticker-page.component\";\r\nimport {MessageType} from \"../../../shared/redux-store/session/session.types\";\r\nimport {BehaviorSubject} from \"rxjs/BehaviorSubject\";\r\nimport {StickerSheet} from \"../../../shared/view-model/store-management/sticker-sheet.type\";\r\nimport {appInjector} from \"../../../index\";\r\nimport {StickerFormat} from \"../../../shared/view-model/store-management/sticker-format.type\";\r\nimport {\r\n MedicineStickersService,\r\n PrintedSheetsResult,\r\n StickerFormatsResult\r\n} from \"../../services/medicine-stickers.service\";\r\nimport {MedicineService} from \"../../../store-management/services/medicine.service\";\r\n\r\nimport {PrintedSheetCategory} from \"../../model/printed-sheets.enum\";\r\nimport {ActivatedRoute, Router} from \"@angular/router\";\r\n\r\n@Component({\r\n selector: 'vb-custom-sticker-page-layout',\r\n templateUrl: './custom-sticker-page-layout.component.html',\r\n styleUrls: ['./custom-sticker-page-layout.component.css'],\r\n providers: [{provide: AbstractVisbosControl, useExisting: forwardRef(() => CustomStickerPageLayoutComponent)}]\r\n})\r\nexport class CustomStickerPageLayoutComponent extends AbstractVisbosControl implements OnInit, OnDestroy {\r\n\r\n private medDrake: any;\r\n\r\n private medicineList$: ApolloQueryObservable;\r\n medicineList: Medicine[] = [];\r\n origMedicineList: Medicine[] = [];\r\n\r\n private printedSheetsList$: ApolloQueryObservable;\r\n printedSheetsList: PrintedSheet[] = [];\r\n\r\n private stickerFormatList$: ApolloQueryObservable;\r\n stickerFormatList: StickerFormat[] = [];\r\n\r\n searchTerm: FormControl = new FormControl();\r\n\r\n stickerSheetCompleted: boolean = false;\r\n\r\n @ViewChild('stickerPage')\r\n stickerPage: StickerPageComponent;\r\n\r\n previewImages: { [medicineCuid: string]: string } = {};\r\n\r\n private printedSheetCuid$: BehaviorSubject;\r\n private stickerFormatCuid$: BehaviorSubject;\r\n\r\n PrintedSheetCategory;\r\n\r\n filterItemProxy = (searchTerm: string) => this.filterItems.apply(this, [searchTerm]);\r\n\r\n constructor(fb: FormBuilder, cd: ChangeDetectorRef, sessionActions: SessionActions,\r\n private router: Router, private route: ActivatedRoute,\r\n private medStickerService: MedicineStickersService, private medService: MedicineService, private dragulaService: DragulaService) {\r\n super(fb, cd, sessionActions);\r\n\r\n this.PrintedSheetCategory = PrintedSheetCategory;\r\n\r\n this.dragulaService.setOptions('medicines', {\r\n copy: (el, source) => { // Only copy, when moving from source container\r\n return source.id == 'medicineListContainer'\r\n },\r\n accepts: (el, target) => { // Prevent moving/re-ordering in source container\r\n return target.id != 'medicineListContainer'\r\n },\r\n //removeOnSpill: true, // Delete items when dropped outside of target bag\r\n revertOnSpill: true,\r\n });\r\n\r\n }\r\n\r\n buildControlContent(values?: StickerSheet, ...params): FormGroup {\r\n return CustomStickerPageLayoutComponent.initControl(this.fb);\r\n }\r\n\r\n public static initControl(fb: FormBuilder = null): FormGroup {\r\n fb = fb ? fb : appInjector().get(FormBuilder);\r\n\r\n return fb.group({\r\n cuid: [null],\r\n label: [null],\r\n administration_unit_id: [null, Validators.required],\r\n printed_sheet_id: [null, Validators.required],\r\n sticker_format_id: [null, Validators.required]\r\n });\r\n\r\n }\r\n\r\n public setDefaultValues(item?: StickerSheet): { [controlKey: string]: any } | any {\r\n return {\r\n cuid: this.setValue(item, 'cuid', AbstractVisbosControl.cuid()),\r\n label: this.setValue(item, 'label'),\r\n administration_unit_id: this.setValue(item, 'administration_unit.cuid', this.activeAdminUnitCuid),\r\n printed_sheet_id: this.setValue(item, 'printed_sheet.cuid'),\r\n sticker_format_id: this.setValue(item, 'sticker_format.cuid')\r\n };\r\n }\r\n\r\n ngOnInit() {\r\n super.ngOnInit();\r\n\r\n // Form changes\r\n let ps = this.control.get('printed_sheet_id');\r\n let sf = this.control.get('sticker_format_id');\r\n\r\n this.printedSheetCuid$ = new BehaviorSubject(ps.value);\r\n this.stickerFormatCuid$ = new BehaviorSubject(sf.value);\r\n\r\n this.dataSubscriptions.push(ps.valueChanges.subscribe(val => this.printedSheetCuid$.next(val)));\r\n this.dataSubscriptions.push(sf.valueChanges.subscribe(val => this.stickerFormatCuid$.next(val)));\r\n\r\n this.medDrake = this.dragulaService.find('medicines').drake;\r\n\r\n this.printedSheetsList$ = this.medStickerService.getPrintedSheets();\r\n this.addComponentData(this.printedSheetsList$);\r\n\r\n this.dataSubscriptions.push(this.printedSheetsList$.subscribe(res => {\r\n this.printedSheetsList = res.data.printedSheets;\r\n }));\r\n\r\n this.stickerFormatList$ = this.medStickerService.getStickerFormats();\r\n this.addComponentData(this.stickerFormatList$);\r\n\r\n this.dataSubscriptions.push(this.stickerFormatList$.subscribe(res => {\r\n this.stickerFormatList = res.data.stickerFormats;\r\n }));\r\n\r\n this.medicineList$ = this.medService.getMedicines(this.activeAdminUnitCuid$);\r\n this.addComponentData(this.medicineList$);\r\n\r\n this.dataSubscriptions.push(\r\n this.medicineList$.subscribe(res => {\r\n let med = [...res.data.medicines];\r\n this.medicineList = med.sort((m1: Medicine, m2: Medicine) => m1.label.localeCompare(m2.label));\r\n this.origMedicineList = this.medicineList;\r\n })\r\n );\r\n\r\n this.dragulaService.drag.subscribe(event => {\r\n let medCuid = event[1].id;\r\n this.loadPreviewImage(medCuid);\r\n });\r\n\r\n }\r\n\r\n ngOnDestroy(): void {\r\n super.ngOnDestroy();\r\n this.dragulaService.destroy('medicines');\r\n }\r\n\r\n loadPreviewImage(medicineId) {\r\n\r\n if (!medicineId) {\r\n return;\r\n }\r\n\r\n this.dataSubscriptions.push(this.medStickerService.generateStickerPreview(medicineId, this.printedSheetCuid$, this.stickerFormatCuid$)\r\n .subscribe((res: any) => {\r\n let newPreview: { [medicineCuid: string]: string } = {};\r\n this.previewImages = Object.assign(newPreview, this.previewImages, {[medicineId]: res.data.generateMedicineStickerPreview + \"?\" + AbstractVisbosControl.cuid()});\r\n }));\r\n }\r\n\r\n onPrintedSheetSelected(printedSheet: PrintedSheet) {\r\n this.control.get('printed_sheet_id').setValue(printedSheet.cuid);\r\n this.updatePageLayout(printedSheet);\r\n }\r\n\r\n updatePageLayout(printedSheet: PrintedSheet) {\r\n this.stickerPage.rows = printedSheet.rows;\r\n this.stickerPage.cols = printedSheet.columns;\r\n this.stickerPage.stickerWidth = printedSheet.sticker_width;\r\n this.stickerPage.stickerHeight = printedSheet.sticker_height;\r\n\r\n this.stickerPage.initLayout();\r\n }\r\n\r\n filterItems(searchTerm: string): Medicine[] {\r\n let result = this.origMedicineList;\r\n\r\n if (searchTerm && !(searchTerm == \"\") && this.origMedicineList) {\r\n result = this.origMedicineList.filter(med => {\r\n return (med.name ? med.name.toLocaleLowerCase().includes(searchTerm.toLocaleLowerCase()) : false)\r\n || med.substances[0].substance.name.toLocaleLowerCase().includes(searchTerm.toLocaleLowerCase());\r\n });\r\n }\r\n\r\n return result;\r\n }\r\n\r\n searchFinished(result: Medicine[]) {\r\n this.medicineList = result;\r\n }\r\n\r\n searchCleared() {\r\n this.medicineList = this.origMedicineList;\r\n }\r\n\r\n createStickerSheet() {\r\n let data = Object.assign({}, this.control.value);\r\n\r\n let stickers = [];\r\n for (let r in this.stickerPage.cellContentContainer) {\r\n for (let c in this.stickerPage.cellContentContainer[r]) {\r\n let cell = this.stickerPage.cellContentContainer[r][c];\r\n if (cell) {\r\n let row: number = +r;\r\n let col: number = +c;\r\n stickers.push({medicine_id: cell.cuid, sheet_row: (row + 1), sheet_column: (col + 1)})\r\n }\r\n }\r\n }\r\n\r\n data.stickers = stickers;\r\n\r\n this.medStickerService.saveCustomStickersSheet(data).subscribe(\r\n res => {\r\n this.sessionActions.pushMessage(\"Druckbogen erfolgreich gespeichert!\", MessageType.SUCCESS, \"Druckbogen\");\r\n this.router.navigate(['../'], {relativeTo: this.route});\r\n },\r\n err => this.sessionActions.throwError(err, \"Fehler beim Speichern des Druckbogens!\")\r\n );\r\n }\r\n\r\n resetContent() {\r\n this.stickerPage.resetContent();\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/medicine-stickers/components/custom-sticker-page-layout/custom-sticker-page-layout.component.ts","module.exports = \"\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/medicine-stickers/components/custom-sticker-page-layout/sticker-page/sticker-page.component.css\n// module id = ./src/app/medicine-stickers/components/custom-sticker-page-layout/sticker-page/sticker-page.component.css\n// module chunks = main","module.exports = \"
\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n \\r\\n\\r\\n
\\r\\n {{cellContentContainer[r][c] ? cellContentContainer[r][c].name : ''}}
\\r\\n {{cellContentContainer[r][c] ? cellContentContainer[r][c].dosage_per_capacity_string : ''}}\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n\\r\\n Cells: {{getDebugContent() | json}}\\r\\n\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/medicine-stickers/components/custom-sticker-page-layout/sticker-page/sticker-page.component.html\n// module id = ./src/app/medicine-stickers/components/custom-sticker-page-layout/sticker-page/sticker-page.component.html\n// module chunks = main","import {ChangeDetectorRef, Component, EventEmitter, Input, OnInit, Output} from \"@angular/core\";\r\nimport {Medicine} from \"../../../../store-management/model/medicine.type\";\r\nimport {AbstractVisbosComponent} from \"../../../../core/visbos-core/components/abstract-visbos.component\";\r\nimport {SessionActions} from \"../../../../shared/actions/session.actions\";\r\nimport {DragulaService} from \"ng2-dragula\";\r\n\r\n@Component({\r\n selector: 'vb-sticker-page',\r\n templateUrl: './sticker-page.component.html',\r\n styleUrls: ['./sticker-page.component.css']\r\n})\r\nexport class StickerPageComponent extends AbstractVisbosComponent implements OnInit {\r\n\r\n Math;\r\n\r\n @Input()\r\n rows: number = 5;\r\n\r\n @Input()\r\n cols: number = 5;\r\n\r\n @Input()\r\n stickerWidth: number = 20;\r\n\r\n @Input()\r\n stickerHeight: number = 10;\r\n\r\n @Input()\r\n medicineList: Medicine[] = [];\r\n\r\n @Output()\r\n stickerSheetCompleted: EventEmitter = new EventEmitter();\r\n\r\n private _previewImages: { [medicineCuid: string]: string } = {};\r\n get previewImages(): { [p: string]: string } {\r\n return this._previewImages;\r\n }\r\n\r\n @Input()\r\n set previewImages(value: { [p: string]: string }) {\r\n this._previewImages = value;\r\n this.cd.detectChanges();\r\n }\r\n\r\n private ratio: number;\r\n\r\n cellContentContainer: Medicine[][] = [];\r\n\r\n private medDrake: any;\r\n\r\n constructor(sessionActions: SessionActions, private dragulaService: DragulaService, cd: ChangeDetectorRef) {\r\n super(sessionActions, cd);\r\n this.Math = Math;\r\n }\r\n\r\n initLayout() {\r\n for (let r = 0; r < (this.rows); r++) {\r\n this.cellContentContainer[r] = [];\r\n for (let c = 0; c < (this.cols); c++) {\r\n this.cellContentContainer[r][c] = null;\r\n }\r\n }\r\n\r\n this.ratio = this.stickerHeight / this.stickerWidth;\r\n\r\n }\r\n\r\n resetContent() {\r\n this.initLayout();\r\n }\r\n\r\n hasImage(cuid): boolean {\r\n\r\n if (!cuid) {\r\n return false;\r\n }\r\n\r\n return this.previewImages[cuid] != null && this.previewImages[cuid] != '';\r\n }\r\n\r\n ngOnInit() {\r\n super.ngOnInit();\r\n\r\n this.initLayout();\r\n\r\n this.medDrake = this.dragulaService.find('medicines').drake;\r\n\r\n this.dataSubscriptions.push(this.dragulaService.drop.subscribe(event => {\r\n\r\n this.medDrake.cancel(true);\r\n\r\n let medicineCuid = event[1].id;\r\n let medicine = this.medicineList.find(med => med.cuid === medicineCuid);\r\n\r\n let source: HTMLElement = event[3];\r\n let target: HTMLElement = event[2];\r\n\r\n if (source.classList.contains('sticker')) {\r\n this.removeFromCell(source);\r\n }\r\n\r\n if (source.classList.contains('row-drop-area')) {\r\n this.removeFromRow(source);\r\n }\r\n\r\n if (target.classList.contains('sticker')) {\r\n this.dropOnCell(medicine, target);\r\n }\r\n\r\n if (target.classList.contains('row-drop-area')) {\r\n this.dropOnRow(medicine, target);\r\n }\r\n\r\n this.stickerSheetCompleted.emit(!this.hasEmptyCells());\r\n\r\n }));\r\n\r\n this.dataSubscriptions.push(this.dragulaService.cancel.subscribe(event => {\r\n let source: HTMLElement = event[3];\r\n if (source.classList.contains('sticker')) {\r\n this.removeFromCell(source);\r\n this.stickerSheetCompleted.emit(!this.hasEmptyCells());\r\n }\r\n\r\n }));\r\n\r\n }\r\n\r\n private dropOnCell(medicine: Medicine, target: HTMLElement) {\r\n let [targetRow, targetCol] = target.id.replace('cell-', '').split(\"-\");\r\n this.cellContentContainer[targetRow][targetCol] = medicine;\r\n }\r\n\r\n private dropOnRow(medicine: Medicine, target: HTMLElement) {\r\n let targetRow: number = +target.id.replace('row-', '');\r\n for (let colIndex in this.cellContentContainer[targetRow]) {\r\n this.cellContentContainer[targetRow][colIndex] = medicine;\r\n }\r\n }\r\n\r\n private removeFromCell(source: HTMLElement) {\r\n let [sourceRow, sourceCol] = source.id.replace('cell-', '').split(\"-\");\r\n this.cellContentContainer[sourceRow][sourceCol] = null;\r\n }\r\n\r\n private removeFromRow(source: HTMLElement) {\r\n let sourceRow: number = +source.id.replace('row-', '');\r\n for (let colIndex in this.cellContentContainer[sourceRow]) {\r\n this.cellContentContainer[sourceRow][colIndex] = null;\r\n }\r\n }\r\n\r\n hasEmptyCells() {\r\n let hasNull = false;\r\n\r\n for (let r of this.cellContentContainer) {\r\n for (let c of r) {\r\n if (!c) {\r\n return true;\r\n }\r\n }\r\n }\r\n\r\n return false;\r\n }\r\n\r\n computeHeight(width: number): string {\r\n return (width * this.ratio) + \"px\";\r\n }\r\n\r\n getDebugContent() {\r\n return this.cellContentContainer.map(row => row.map(med => med ? med.cuid : med));\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/medicine-stickers/components/custom-sticker-page-layout/sticker-page/sticker-page.component.ts","module.exports = \"\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/medicine-stickers/components/medicine-stickers-list/medicine-stickers-list.component.css\n// module id = ./src/app/medicine-stickers/components/medicine-stickers-list/medicine-stickers-list.component.css\n// module chunks = main","module.exports = \"\\r\\n\\r\\n\\r\\n\\r\\n \\r\\n\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/medicine-stickers/components/medicine-stickers-list/medicine-stickers-list.component.html\n// module id = ./src/app/medicine-stickers/components/medicine-stickers-list/medicine-stickers-list.component.html\n// module chunks = main","import {AfterViewInit, ChangeDetectorRef, Component, OnInit, TemplateRef, ViewChild} from \"@angular/core\";\r\nimport {AbstractListView} from \"../../../core/visbos-core/ui/components/abstract-list-view\";\r\nimport {FormBuilder} from \"@angular/forms\";\r\nimport {DatatableComponent} from \"../../../core/visbos-core/ui/components/datatable/datatable.component\";\r\nimport {SessionActions} from \"../../../shared/actions/session.actions\";\r\nimport {Medicine} from \"../../../store-management/model/medicine.type\";\r\nimport {ApolloQueryObservable} from \"apollo-angular\";\r\nimport {MedicineService} from \"../../../store-management/services/medicine.service\";\r\nimport {debounceTime, distinctUntilChanged} from \"rxjs/operators\";\r\n\r\n@Component({\r\n selector: 'vb-medicine-stickers-list',\r\n templateUrl: './medicine-stickers-list.component.html',\r\n styleUrls: ['./medicine-stickers-list.component.css']\r\n})\r\nexport class MedicineStickersListComponent extends AbstractListView implements OnInit, AfterViewInit {\r\n\r\n printList: { [medicineCuid: string]: number } = {};\r\n\r\n @ViewChild('editAmountTmpl')\r\n editAmountTmpl: TemplateRef;\r\n\r\n @ViewChild('medicinesTable')\r\n table: DatatableComponent;\r\n\r\n editable: { [cuid: string]: boolean };\r\n\r\n messages = {\r\n emptyMessage: 'Keine Medikamente auf der Liste',\r\n totalMessage: 'Medikamente auf der Liste'\r\n };\r\n\r\n private medicineList$: ApolloQueryObservable;\r\n medicineList: Medicine[];\r\n\r\n constructor(private fb: FormBuilder, sessionActions: SessionActions,\r\n private medService: MedicineService, cd: ChangeDetectorRef) {\r\n\r\n super(sessionActions, cd);\r\n\r\n }\r\n\r\n ngOnInit() {\r\n\r\n this.isLoading = true;\r\n\r\n this.medicineList$ = this.medService.getMedicines(this.activeAdminUnitCuid$);\r\n this.addComponentData(this.medicineList$);\r\n\r\n this.dataSubscriptions.push(\r\n this.medicineList$.subscribe(res => {\r\n this.medicineList = res.data.medicines;\r\n this.isLoading = res.loading;\r\n this.rows = this.medicineList;\r\n })\r\n );\r\n\r\n this.dataSubscriptions.push(\r\n this.searchTerm.valueChanges.pipe(\r\n distinctUntilChanged(),\r\n debounceTime(500)\r\n ).subscribe((term: any) => this.filterItems(term))\r\n );\r\n\r\n this.columns = [\r\n {prop: 'administration_unit.label', name: 'Verwaltungseinheit', minWidth: 100, flexGrow: 2},\r\n {prop: 'name', name: 'Handelsname', minWidth: 100, flexGrow: 2},\r\n {prop: 'substances.0.substance.name', name: 'Wirkstoff', minWidth: 100, flexGrow: 2},\r\n {prop: 'dosage_per_capacity_string', name: 'Dosierung', minWidth: 50, flexGrow: 1, sortable: false},\r\n {prop: 'notes', name: 'Bemerkungen', flexGrow: 2},\r\n {name: 'Anzahl', cellTemplate: this.editAmountTmpl, minWidth: 50, flexGrow: 1, sortable: false}, //TODO: Enable sorting\r\n ];\r\n\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n super.ngAfterViewInit();\r\n /*this.cd.detectChanges();\r\n // Hack for ordering\r\n let col = this.table.table._columns[0];\r\n this.table.table.onColumnResize({column: col, newValue: 50});\r\n this.cd.detectChanges();*/\r\n\r\n }\r\n\r\n filterItems(searchTerm) {\r\n if (!searchTerm || searchTerm == \"\") {\r\n this.rows = this.medicineList;\r\n } else {\r\n if (this.medicineList) {\r\n this.rows = this.medicineList.filter((si: any) => this.findStringInTable(si, this.columns, searchTerm));\r\n }\r\n }\r\n }\r\n\r\n onCellUpdate(row, res, index) {\r\n\r\n }\r\n\r\n onAmountChanged(medicineCuid: string, amount: number) {\r\n\r\n if (amount && amount > 0) {\r\n this.printList[medicineCuid] = +amount;\r\n } else {\r\n delete this.printList[medicineCuid];\r\n }\r\n\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/medicine-stickers/components/medicine-stickers-list/medicine-stickers-list.component.ts","module.exports = \"\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/medicine-stickers/components/medicine-stickers-navigation/medicine-stickers-navigation.component.css\n// module id = ./src/app/medicine-stickers/components/medicine-stickers-navigation/medicine-stickers-navigation.component.css\n// module chunks = main","module.exports = \"\\r\\n
\\r\\n
\\r\\n

Spritzenaufkleber

\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n \\r\\n\\r\\n
\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/medicine-stickers/components/medicine-stickers-navigation/medicine-stickers-navigation.component.html\n// module id = ./src/app/medicine-stickers/components/medicine-stickers-navigation/medicine-stickers-navigation.component.html\n// module chunks = main","import {Component, OnInit} from \"@angular/core\";\r\n\r\n@Component({\r\n selector: 'vb-medicine-stickers-navigation',\r\n templateUrl: './medicine-stickers-navigation.component.html',\r\n styleUrls: ['./medicine-stickers-navigation.component.css']\r\n})\r\nexport class MedicineStickersNavigationComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/medicine-stickers/components/medicine-stickers-navigation/medicine-stickers-navigation.component.ts","module.exports = \"\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/medicine-stickers/components/sticker-format-form/sticker-format-form.component.css\n// module id = ./src/app/medicine-stickers/components/sticker-format-form/sticker-format-form.component.css\n// module chunks = main","module.exports = \"

Allgemeine Angaben

\\r\\n\\r\\n\\r\\n\\r\\n \\r\\n \\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n \\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n \\r\\n\\r\\n\\r\\n\\r\\n\\r\\n

Beschriftung

\\r\\n\\r\\n\\r\\n\\r\\n \\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n \\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n \\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n \\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n
\\r\\n
Beschriftungsinhalt
\\r\\n
\\r\\n

In den Beschrifuntgsfeldern kann beliebiger Text mit Platzhaltern kombiniert werden, um die gewünschte\\r\\n Beschriftung der Etiketten zu erzielen. Die Platzhalter werden bei der Generierung der PDF-Dateien mit den jeweiligen Angaben des Medikaments ersetzt.
\\r\\n Folgende Platzhalter können in den Beschriftungsfeldern verwendet werden (am Beispiel: Cordarex Ampullen, 150mg Amiodaron in 3ml Lösung):

\\r\\n
\\r\\n \\r\\n
{{def.key}}
\\r\\n
{{def.value}}
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n\\r\\n
\\r\\n\\r\\n\\r\\n

Form: {{control?.value | json}}

\\r\\n
\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/medicine-stickers/components/sticker-format-form/sticker-format-form.component.html\n// module id = ./src/app/medicine-stickers/components/sticker-format-form/sticker-format-form.component.html\n// module chunks = main","import {ChangeDetectorRef, Component, forwardRef, OnInit} from '@angular/core';\r\nimport {AbstractVisbosControl} from \"../../../core/visbos-core/ui/forms/abstract-visbos-control\";\r\nimport {FormBuilder, FormGroup, Validators} from \"@angular/forms\";\r\nimport {StickerFormat} from \"../../../shared/view-model/store-management/sticker-format.type\";\r\nimport {SessionActions} from \"../../../shared/actions\";\r\n\r\nexport const STICKER_PLACEHOLDERS: { [placeholder: string]: string } = {\r\n '%N': 'Handelsname des Medikaments (z.B. Cordarex)',\r\n '%S': 'Wirkstoffname des Medikaments (z.B. Amiodaron)',\r\n '%W': 'Die gesamte Wirkstoffmenge in dem Medikament (z.B. 150)',\r\n '%w': 'Die Wirkstoffmenge umgerechnet auf 1 Inhalts-Einheit (z.B. 50)',\r\n '%EW': 'Die Einheit der Wirkstoffangabe (z.B. mg)',\r\n '%I': 'Die gesamte Inhaltsmenge des Medikaments (inkl. Wirkstoff, Trägersubstanzen und sonstiger Substanzen, z.B. 3)',\r\n '%EI': 'Die Einheit der Inhaltsmengenangabe (z.B. ml)',\r\n};\r\n\r\n@Component({\r\n selector: 'vb-sticker-format-form',\r\n templateUrl: './sticker-format-form.component.html',\r\n styleUrls: ['./sticker-format-form.component.css'],\r\n providers: [{provide: AbstractVisbosControl, useExisting: forwardRef(() => StickerFormatFormComponent)}]\r\n})\r\nexport class StickerFormatFormComponent extends AbstractVisbosControl implements OnInit {\r\n\r\n placeholderDefinitions;\r\n showHelp: boolean = false;\r\n\r\n constructor(fb: FormBuilder, cd: ChangeDetectorRef, sessionActions: SessionActions) {\r\n super(fb, cd, sessionActions);\r\n this.placeholderDefinitions = STICKER_PLACEHOLDERS;\r\n }\r\n\r\n\r\n ngOnInit(): void {\r\n super.ngOnInit();\r\n }\r\n\r\n buildControlContent(values?: StickerFormat): FormGroup {\r\n return StickerFormatFormComponent.initControl(this.fb);\r\n }\r\n\r\n public static initControl(fb: FormBuilder): FormGroup {\r\n return fb.group({\r\n cuid: [null],\r\n administration_unit_id: [null, Validators.required],\r\n label: [null, Validators.required],\r\n substance_string: [null, Validators.required],\r\n dosage_string: [null, Validators.required],\r\n dosage_only_string: [null, Validators.required],\r\n no_dosage_string: [null, Validators.required],\r\n color_mode: [null, Validators.required],\r\n });\r\n }\r\n\r\n public setDefaultValues(item?: StickerFormat): { [controlKey: string]: any } | any {\r\n return {\r\n cuid: this.setValue(item, 'cuid', AbstractVisbosControl.cuid()),\r\n administration_unit_id: this.setValue(item, 'administration_unit_id', this.activeAdminUnitCuid),\r\n label: this.setValue(item, 'label'),\r\n substance_string: this.setValue(item, 'substance_string'),\r\n dosage_string: this.setValue(item, 'dosage_string'),\r\n dosage_only_string: this.setValue(item, 'dosage_only_string'),\r\n no_dosage_string: this.setValue(item, 'no_dosage_string'),\r\n color_mode: this.setValue(item, 'color_mode', 'CMYK'),\r\n };\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/medicine-stickers/components/sticker-format-form/sticker-format-form.component.ts","module.exports = \"\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/medicine-stickers/components/sticker-formats-table/sticker-formats-table.component.css\n// module id = ./src/app/medicine-stickers/components/sticker-formats-table/sticker-formats-table.component.css\n// module chunks = main","module.exports = \"\\r\\n\\r\\n\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n\\r\\n\\r\\n\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/medicine-stickers/components/sticker-formats-table/sticker-formats-table.component.html\n// module id = ./src/app/medicine-stickers/components/sticker-formats-table/sticker-formats-table.component.html\n// module chunks = main","import {ChangeDetectorRef, Component, OnInit, ViewChild} from '@angular/core';\r\nimport {SessionActions} from \"../../../shared/actions/session.actions\";\r\nimport {MedicineStickersService, StickerFormatsResult} from \"../../services/medicine-stickers.service\";\r\nimport {debounceTime, distinctUntilChanged} from \"rxjs/operators\";\r\nimport {DatatableComponent} from \"../../../core/visbos-core/ui/components/datatable/datatable.component\";\r\nimport {StickerSheet} from \"../../../shared/view-model/store-management/sticker-sheet.type\";\r\nimport {ApolloQueryObservable} from \"apollo-angular\";\r\nimport {AbstractListView} from \"../../../core/visbos-core/ui/components/abstract-list-view\";\r\nimport {StickerFormat} from \"../../../shared/view-model/store-management/sticker-format.type\";\r\nimport {FormBuilder, FormGroup} from \"@angular/forms\";\r\nimport {StickerFormatFormComponent} from \"../sticker-format-form/sticker-format-form.component\";\r\nimport {GenericModalComponent} from \"../../../core/visbos-core/ui/forms/generic-modal/generic-modal.component\";\r\nimport {MessageType} from \"../../../shared/redux-store/session\";\r\n\r\n@Component({\r\n selector: 'vb-sticker-formats-table',\r\n templateUrl: './sticker-formats-table.component.html',\r\n styleUrls: ['./sticker-formats-table.component.css']\r\n})\r\nexport class StickerFormatsTableComponent extends AbstractListView implements OnInit {\r\n\r\n @ViewChild('stickerFormatsTable')\r\n table: DatatableComponent;\r\n\r\n @ViewChild('editStickerFormatModal')\r\n editStickerFormatModal: GenericModalComponent;\r\n\r\n messages = {\r\n emptyMessage: 'Keine Beschriftungsformate vorhanden',\r\n totalMessage: 'Beschriftungsformate auf der Liste'\r\n };\r\n\r\n private stickerFormats$: ApolloQueryObservable;\r\n stickerFormats: StickerSheet[];\r\n\r\n currentStickerFormat: StickerFormat;\r\n currentStickerFormatControl: FormGroup;\r\n\r\n constructor(sessionActions: SessionActions, cd: ChangeDetectorRef,\r\n private fb: FormBuilder,\r\n private medStickersService: MedicineStickersService) {\r\n super(sessionActions, cd);\r\n }\r\n\r\n ngOnInit() {\r\n super.ngOnInit();\r\n\r\n this.isLoading = true;\r\n\r\n this.stickerFormats$ = this.medStickersService.getStickerFormats();\r\n this.addComponentData(this.stickerFormats$);\r\n\r\n this.dataSubscriptions.push(\r\n this.stickerFormats$.subscribe(res => {\r\n this.stickerFormats = res.data.stickerFormats;\r\n this.isLoading = res.loading;\r\n this.rows = this.stickerFormats;\r\n })\r\n );\r\n\r\n this.dataSubscriptions.push(\r\n this.searchTerm.valueChanges.pipe(\r\n distinctUntilChanged(),\r\n debounceTime(500)\r\n ).subscribe((term: any) => this.filterItems(term))\r\n );\r\n\r\n this.columns = [\r\n {prop: 'label', name: 'Bezeichner', minWidth: 100, flexGrow: 2},\r\n {prop: 'created_at', name: 'Erstelldatum', cellTemplate: this.table.formatDateTmpl},\r\n {prop: 'administration_unit.label', name: 'Verwaltungseinheit', minWidth: 100, flexGrow: 2},\r\n ];\r\n\r\n }\r\n\r\n filterItems(searchTerm) {\r\n if (!searchTerm || searchTerm == \"\") {\r\n this.rows = this.stickerFormats;\r\n } else {\r\n if (this.stickerFormats) {\r\n this.rows = this.stickerFormats.filter((si: any) => this.findStringInTable(si, this.columns, searchTerm));\r\n }\r\n }\r\n }\r\n\r\n onDeleteStickerFormatClicked(stickerFormatCuid: string) {\r\n this.medStickersService.deleteStickerFormat(stickerFormatCuid).subscribe(\r\n res => this.sessionActions.pushMessage(\"Beschriftungsformat erfolgreich gelöscht!\", MessageType.SUCCESS, \"Beschriftungsformat\"),\r\n err => this.sessionActions.throwError(err, \"Fehler beim Löschen des Beschriftungsformats!\")\r\n );\r\n }\r\n\r\n onEditStickerFormatClicked(stickerFormat: StickerFormat) {\r\n this.currentStickerFormatControl = StickerFormatFormComponent.initControl(this.fb);\r\n this.currentStickerFormat = stickerFormat;\r\n this.editStickerFormatModal.show();\r\n }\r\n\r\n updateStickerFormatClicked() {\r\n let obs = this.medStickersService.updateStickerFormat(this.currentStickerFormat.cuid, this.currentStickerFormatControl.value);\r\n obs.subscribe(\r\n res => {\r\n this.sessionActions.pushMessage(\"Änderungen erfolgreich gespeichert!\", MessageType.SUCCESS, \"Beschriftungsformat\");\r\n this.cancelUpdate();\r\n },\r\n err => this.sessionActions.throwError(err, \"Fehler beim Speichern der Änderungen!\")\r\n );\r\n }\r\n\r\n cancelUpdate() {\r\n this.currentStickerFormat = null;\r\n this.currentStickerFormatControl = null;\r\n }\r\n\r\n}\n\n\n// WEBPACK FOOTER //\n// ./src/app/medicine-stickers/components/sticker-formats-table/sticker-formats-table.component.ts","module.exports = \"\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/medicine-stickers/components/sticker-sheets-list/sticker-sheets-list.component.css\n// module id = ./src/app/medicine-stickers/components/sticker-sheets-list/sticker-sheets-list.component.css\n// module chunks = main","module.exports = \"\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/medicine-stickers/components/sticker-sheets-list/sticker-sheets-list.component.html\n// module id = ./src/app/medicine-stickers/components/sticker-sheets-list/sticker-sheets-list.component.html\n// module chunks = main","import {ChangeDetectorRef, Component, Input, OnInit, ViewChild} from \"@angular/core\";\r\nimport {AbstractListView} from \"../../../core/visbos-core/ui/components/abstract-list-view\";\r\nimport {DatatableComponent} from \"../../../core/visbos-core/ui/components/datatable/datatable.component\";\r\nimport {ApolloQueryObservable} from \"apollo-angular\";\r\nimport {SessionActions} from \"../../../shared/actions/session.actions\";\r\nimport {StickerSheet} from \"../../../shared/view-model/store-management/sticker-sheet.type\";\r\nimport {MessageType} from \"../../../shared/redux-store/session/session.types\";\r\nimport {MedicineStickersService} from \"../../services/medicine-stickers.service\";\r\nimport {FileService} from \"../../../core/visbos-core/http/file.service\";\r\nimport {debounceTime, distinctUntilChanged} from \"rxjs/operators\";\r\n\r\n@Component({\r\n selector: 'vb-sticker-sheets-list',\r\n templateUrl: './sticker-sheets-list.component.html',\r\n styleUrls: ['./sticker-sheets-list.component.css']\r\n})\r\nexport class StickerSheetsListComponent extends AbstractListView implements OnInit {\r\n\r\n @ViewChild('stickerSheetsTable')\r\n table: DatatableComponent;\r\n\r\n messages = {\r\n emptyMessage: 'Keine individuellen Druckbögen vorhanden',\r\n totalMessage: 'individuelle Druckbögen auf der Liste'\r\n };\r\n\r\n private sheetsList$: ApolloQueryObservable;\r\n sheetsList: StickerSheet[];\r\n\r\n @Input()\r\n trainingMode: boolean = false;\r\n\r\n constructor(sessionActions: SessionActions,\r\n private medStickersService: MedicineStickersService,\r\n private fileService: FileService, cd: ChangeDetectorRef) {\r\n super(sessionActions, cd);\r\n }\r\n\r\n ngOnInit() {\r\n super.ngOnInit();\r\n\r\n this.isLoading = true;\r\n\r\n this.sheetsList$ = this.medStickersService.getStickerSheets();\r\n this.addComponentData(this.sheetsList$);\r\n\r\n this.dataSubscriptions.push(\r\n this.sheetsList$.subscribe(res => {\r\n this.sheetsList = res.data.stickerSheets;\r\n this.isLoading = res.loading;\r\n this.rows = this.sheetsList;\r\n })\r\n );\r\n\r\n this.dataSubscriptions.push(\r\n this.searchTerm.valueChanges.pipe(\r\n distinctUntilChanged(),\r\n debounceTime(500)\r\n ).subscribe((term: any) => this.filterItems(term))\r\n );\r\n\r\n this.columns = [\r\n {prop: 'label', name: 'Bezeichner', minWidth: 100, flexGrow: 2},\r\n {prop: 'created_at', name: 'Erstelldatum', cellTemplate: this.table.formatDateTmpl},\r\n {prop: 'administration_unit.label', name: 'Verwaltungseinheit', minWidth: 100, flexGrow: 2},\r\n ];\r\n\r\n }\r\n\r\n filterItems(searchTerm) {\r\n if (!searchTerm || searchTerm == \"\") {\r\n this.rows = this.sheetsList;\r\n } else {\r\n if (this.sheetsList) {\r\n this.rows = this.sheetsList.filter((si: any) => this.findStringInTable(si, this.columns, searchTerm));\r\n }\r\n }\r\n }\r\n\r\n onGeneratePdfClicked(sheetCuid: string) {\r\n this.sessionActions.pushMessage('Druckbogen wird erzeugt, Sie werden benachrichtigt, sobald die PDF-Datei verfügbar ist. Dies kann einige Sekunden dauern.', MessageType.INFO, 'Spritzenetiketten');\r\n\r\n this.dataSubscriptions.push(this.medStickersService.createMedicineStickersPdf(null, [sheetCuid], null, null, this.trainingMode).subscribe(\r\n res => {\r\n this.sessionActions.pushMessage('Der Druckbogen wurde erfolgreich generiert!', MessageType.SUCCESS, 'Spritzenetiketten');\r\n let base64Data = res.data.generateMedicineStickersPDF;\r\n let blob = this.fileService.base64toBlob(base64Data, 'application/pdf', 512);\r\n this.fileService.saveAs(blob, 'druckbogen-spritzenetiketten.pdf');\r\n },\r\n err => {\r\n this.sessionActions.throwError(err, 'Fehler bei der Erstellung des Druckbogens, bitte wenden Sie sich an den Support!');\r\n }));\r\n\r\n }\r\n\r\n onDeletePrintedSheetClicked(printedSheetCuid: string) {\r\n this.medStickersService.deleteCustomStickersSheet(printedSheetCuid).toPromise()\r\n .catch(err => this.sessionActions.throwError(err, \"Fehler beim Löschen des Druckbogens!\"));\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/medicine-stickers/components/sticker-sheets-list/sticker-sheets-list.component.ts","import {Injectable} from \"@angular/core\";\r\nimport {ActivatedRouteSnapshot, CanActivate, CanActivateChild, Router, RouterStateSnapshot} from \"@angular/router\";\r\nimport {NgRedux} from \"@angular-redux/store\";\r\nimport {Observable} from \"rxjs/Observable\";\r\nimport {IUser} from \"../../shared/redux-store/session/session.types\";\r\nimport {IAppState} from \"../../shared/redux-store/store\";\r\nimport {VisBosGuard} from \"../../core/visbos-core/authorization/guards/visbos.guard\";\r\nimport {SessionActions} from \"../../shared/actions/session.actions\";\r\n\r\n@Injectable()\r\nexport class StickersAuthorizedGuard extends VisBosGuard implements CanActivate, CanActivateChild {\r\n\r\n constructor(router: Router, siActions: SessionActions, ngRx: NgRedux) {\r\n super(router, siActions, ngRx);\r\n }\r\n\r\n canActivate(childRoute: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable | Promise | boolean {\r\n let user: IUser = this.ngRx.getState().session.user;\r\n\r\n if (user.permissions.find(perm => perm === 'access medicine-stickers module')) {\r\n return true;\r\n } else {\r\n this.onAccessError();\r\n return false;\r\n }\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/medicine-stickers/guards/stickers-authorized.guard.ts","import {Routes} from \"@angular/router\";\r\nimport {MedicineStickersViewComponent} from \"./view-components/medicines-stickers-view/medicines-stickers-view.component\";\r\nimport {CreateStickerSheetViewComponent} from \"./view-components/create-sticker-sheet-view/create-sticker-sheet-view.component\";\r\nimport {StickerSheetsViewComponent} from \"./view-components/sticker-sheets-view/sticker-sheets-view.component\";\r\nimport {MedicineStickersNavigationComponent} from \"./components/medicine-stickers-navigation/medicine-stickers-navigation.component\";\r\nimport {StickersAuthorizedGuard} from \"./guards/stickers-authorized.guard\";\r\nimport {MedicinesViewComponent} from \"./view-components/medicines-view/medicines-view.component\";\r\nimport {StickerFormatsViewComponent} from \"./view-components/sticker-formats-view/sticker-formats-view.component\";\r\n\r\nexport const medicineStickersRoutes: Routes = [\r\n {\r\n path: 'spritzenetiketten',\r\n component: MedicineStickersNavigationComponent,\r\n canActivate: [StickersAuthorizedGuard],\r\n children: [\r\n {\r\n path: '',\r\n canActivateChild: [StickersAuthorizedGuard],\r\n children: [\r\n {\r\n path: 'dashboard',\r\n component: MedicinesViewComponent\r\n },\r\n {\r\n path: 'medikamente',\r\n component: MedicinesViewComponent\r\n },\r\n {\r\n path: 'beschriftungsformate',\r\n component: StickerFormatsViewComponent\r\n },\r\n {\r\n path: 'standard',\r\n children: [\r\n {\r\n path: 'druckboegen/neu',\r\n component: MedicineStickersViewComponent\r\n },\r\n ]\r\n },\r\n {\r\n path: 'individuell',\r\n children: [\r\n {\r\n path: 'druckboegen/neu',\r\n component: CreateStickerSheetViewComponent\r\n },\r\n {\r\n path: 'druckboegen',\r\n component: StickerSheetsViewComponent\r\n },\r\n ]\r\n },\r\n {\r\n path: '',\r\n redirectTo: 'dashboard',\r\n pathMatch: 'full'\r\n },\r\n ]\r\n }\r\n ]\r\n },\r\n];\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/medicine-stickers/medicine-stickers-routing.ts","import {NgModule} from \"@angular/core\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport {MedicineStickersListComponent} from \"./components/medicine-stickers-list/medicine-stickers-list.component\";\r\nimport {MedicineStickersViewComponent} from \"./view-components/medicines-stickers-view/medicines-stickers-view.component\";\r\nimport {CreateStickerSheetViewComponent} from \"./view-components/create-sticker-sheet-view/create-sticker-sheet-view.component\";\r\nimport {StickerSheetsViewComponent} from \"./view-components/sticker-sheets-view/sticker-sheets-view.component\";\r\nimport {StickerSheetsListComponent} from \"./components/sticker-sheets-list/sticker-sheets-list.component\";\r\nimport {FormsModule, ReactiveFormsModule} from \"@angular/forms\";\r\nimport {RouterModule} from \"@angular/router\";\r\nimport {VisbosCoreModule} from \"../core/visbos-core/visbos-core.module\";\r\nimport {DragulaModule} from \"ng2-dragula\";\r\nimport {MedicineStickersNavigationComponent} from \"./components/medicine-stickers-navigation/medicine-stickers-navigation.component\";\r\nimport {CustomStickerPageLayoutComponent} from \"./components/custom-sticker-page-layout/custom-sticker-page-layout.component\";\r\nimport {StickerPageComponent} from \"./components/custom-sticker-page-layout/sticker-page/sticker-page.component\";\r\nimport {StickersAuthorizedGuard} from \"./guards/stickers-authorized.guard\";\r\nimport {StoreManagementModule} from \"../store-management/store-management.module\";\r\nimport {MedicinesViewComponent} from \"./view-components/medicines-view/medicines-view.component\";\r\nimport {MedicineStickersService} from \"./services/medicine-stickers.service\";\r\nimport {StickyModule} from \"ng2-sticky-kit\";\r\nimport { StickerFormatFormComponent } from './components/sticker-format-form/sticker-format-form.component';\r\nimport {OrganizationModule} from \"../organization/organization.module\";\r\nimport { StickerFormatsViewComponent } from './view-components/sticker-formats-view/sticker-formats-view.component';\r\nimport { StickerFormatsTableComponent } from './components/sticker-formats-table/sticker-formats-table.component';\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule, FormsModule, ReactiveFormsModule, RouterModule,\r\n VisbosCoreModule, StoreManagementModule, OrganizationModule,\r\n DragulaModule, StickyModule\r\n ],\r\n providers: [StickersAuthorizedGuard, MedicineStickersService],\r\n declarations: [MedicineStickersNavigationComponent,\r\n MedicineStickersListComponent, MedicineStickersViewComponent, CreateStickerSheetViewComponent, StickerSheetsListComponent, StickerSheetsViewComponent, CustomStickerPageLayoutComponent, StickerPageComponent, MedicinesViewComponent, StickerFormatFormComponent, StickerFormatsViewComponent, StickerFormatsTableComponent]\r\n})\r\nexport class MedicineStickersModule {\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/medicine-stickers/medicine-stickers.module.ts","/**\r\n * Created by afuhr on 31.05.2017.\r\n */\r\n\r\nfunction strEnum(o: Array): {[K in T]: K} {\r\n return o.reduce((res, key) => {\r\n res[key] = key;\r\n return res;\r\n }, Object.create(null));\r\n}\r\n\r\nexport const PrintedSheetCategory = {\r\n Spritzenetiketten: 'cj2r9ixbe00023kt9l0e39el8',\r\n Allgemein: 'cj2r9ixbe00013kt9ktm7ivp0'\r\n};\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/medicine-stickers/model/printed-sheets.enum.ts","import {Injectable} from \"@angular/core\";\r\nimport {pruneEmpty, VisbosService} from \"../../core/visbos-core/graphql/visbos.service\";\r\nimport {Apollo, ApolloQueryObservable} from \"apollo-angular\";\r\nimport {NgRedux} from \"@angular-redux/store\";\r\nimport {IAppState} from \"../../shared/redux-store/store\";\r\nimport {SessionActions} from \"../../shared/actions/session.actions\";\r\nimport gql from \"graphql-tag\";\r\nimport {Observable} from \"rxjs/Observable\";\r\nimport {ApolloQueryResult} from \"apollo-client\";\r\nimport {PrintedSheet} from \"../../shared/view-model/store-management/printed-sheet.type\";\r\nimport {StickerSheet} from \"../../shared/view-model/store-management/sticker-sheet.type\";\r\nimport {StickerFormat} from \"../../shared/view-model/store-management/sticker-format.type\";\r\nimport {\r\n CreateStickerFormatMutation,\r\n DeleteStickerFormatMutation,\r\n PrintCustomStickerSheetsOnOnePageMutation,\r\n StickerFormatInput,\r\n UpdateStickerFormatMutation\r\n} from \"../../shared/graphql/graphql.types\";\r\n\r\nexport const medicineFragments = {\r\n stickerFormat: gql`\r\n fragment StickerFormatFields on StickerFormat {\r\n cuid label is_editable\r\n created_at updated_at\r\n substance_string\r\n dosage_string dosage_only_string no_dosage_string\r\n color_mode\r\n administration_unit {cuid label}\r\n }\r\n `\r\n};\r\n\r\nexport const createMedicineStickersPdf = gql`\r\n query CreateMedicineStickersPdf($medicineCuids: [String], $sheetCuids: [String],\r\n $stickerFormatCuid: String, $printedSheetCuid:String, $trainingMode: Boolean) {\r\n generateMedicineStickersPDF(medicine_cuids: $medicineCuids, customStickerSheetCuids: $sheetCuids,\r\n stickerFormatCuid: $stickerFormatCuid, printedSheetCuid: $printedSheetCuid, trainingMode: $trainingMode)\r\n }\r\n`;\r\n\r\nexport const printCustomStickerSheetsOnOnePage = gql`\r\n mutation PrintCustomStickerSheetsOnOnePage($customSheetsCuids:[String], $printOnOnePage: Boolean, $trainingMode: Boolean) {\r\n customStickerSheetsPdf(customSheetsCuids: $customSheetsCuids, printOnOnePage: $printOnOnePage, trainingMode: $trainingMode)\r\n }\r\n`;\r\n\r\nexport const fetchStickerSheetsQuery = gql`\r\n query FetchStickerSheetsQuery($adminUnitCuid: String) {\r\n stickerSheets(adminUnitCuid: $adminUnitCuid) {\r\n cuid label is_editable\r\n created_at updated_at\r\n administration_unit {cuid label}\r\n stickers {\r\n cuid label is_editable\r\n sheet_row sheet_column\r\n }\r\n creator {cuid label}\r\n }\r\n }\r\n`;\r\n\r\nexport const fetchPrintedSheetsQuery = gql`\r\n query FetchPrintedSheetsQuery($adminUnitCuid: String, $sheetTypeCuid: String) {\r\n printedSheets(adminUnitCuid: $adminUnitCuid, sheetTypeCuid: $sheetTypeCuid) {\r\n cuid label is_editable\r\n created_at updated_at\r\n page_width page_height\r\n sticker_width sticker_height\r\n rows columns\r\n }\r\n }\r\n`;\r\n\r\nexport const getStickerFormatsQuery = gql`\r\n query GetStickerFormatsQuery($adminUnitCuid: String) {\r\n stickerFormats(adminUnitCuid: $adminUnitCuid) {\r\n ...StickerFormatFields\r\n }\r\n }\r\n ${medicineFragments.stickerFormat}\r\n`;\r\n\r\nexport const createCustomStickersSheetMutation = gql`\r\n mutation CreateCustomStickersSheetMutation($sheetData: StickerSheetInput!) {\r\n createCustomStickersSheet(sheetData: $sheetData) {\r\n cuid label is_editable\r\n created_at updated_at\r\n stickers {\r\n cuid label\r\n is_editable created_at updated_at\r\n sheet_row sheet_column\r\n }\r\n }\r\n }\r\n`;\r\n\r\nexport const deleteCustomStickersSheetMutation = gql`\r\n mutation DeleteCustomStickersSheetMutation($sheetCuid: String!) {\r\n deleteCustomStickersSheet(sheetCuid: $sheetCuid)\r\n }\r\n`;\r\n\r\nexport const generateStickerPreviewQuery = gql`\r\n query GenerateStickerPreviewQuery($medicineCuid: String!, $stickerFormatCuid: String!, $printedSheetCuid: String!) {\r\n generateMedicineStickerPreview(medicine_cuid: $medicineCuid, stickerFormatCuid: $stickerFormatCuid, printedSheetCuid: $printedSheetCuid)\r\n }\r\n`;\r\n\r\nexport const createStickerFormatMutation = gql`\r\n mutation CreateStickerFormat($formatData: StickerFormatInput!) {\r\n createStickerFormat(formatData: $formatData) {\r\n ...StickerFormatFields\r\n }\r\n }\r\n ${medicineFragments.stickerFormat}\r\n`;\r\n\r\nexport const updateStickerFormatMutation = gql`\r\n mutation UpdateStickerFormat($cuid: String!, $formatData: StickerFormatInput!) {\r\n updateStickerFormat(cuid: $cuid, formatData: $formatData) {\r\n ...StickerFormatFields\r\n }\r\n }\r\n ${medicineFragments.stickerFormat}\r\n`;\r\n\r\nexport const deleteStickerFormatMutation = gql`\r\n mutation DeleteStickerFormat($cuid: String!) {\r\n deleteStickerFormat(cuid: $cuid)\r\n }\r\n`;\r\n\r\nexport interface GenerateStickerPreviewResult {\r\n generateMedicineStickerPreview: string;\r\n}\r\n\r\nexport interface PrintedSheetsResult {\r\n printedSheets: PrintedSheet[];\r\n}\r\n\r\nexport interface StickerSheetsResult {\r\n stickerSheets: StickerSheet[];\r\n}\r\n\r\nexport interface StickerFormatsResult {\r\n stickerFormats: StickerFormat[];\r\n}\r\n\r\n@Injectable()\r\nexport class MedicineStickersService extends VisbosService {\r\n\r\n constructor(apollo: Apollo, ngRedux: NgRedux, sessionActions: SessionActions) {\r\n super(apollo, ngRedux, sessionActions);\r\n }\r\n\r\n\r\n public createMedicineStickersPdf(medicineCuids?: Array, stickerSheetCuids?: Array,\r\n printedSheetCuid?: string, stickerFormatCuid?: string, trainingMode?: boolean): ApolloQueryObservable<{ generateMedicineStickersPDF: string }> {\r\n return this.fetchItems({\r\n query: createMedicineStickersPdf,\r\n variables: {\r\n medicineCuids: medicineCuids,\r\n sheetCuids: stickerSheetCuids,\r\n stickerFormatCuid: stickerFormatCuid,\r\n printedSheetCuid: printedSheetCuid,\r\n trainingMode: trainingMode\r\n },\r\n fetchPolicy: \"cache-first\"\r\n })\r\n }\r\n\r\n public generateCustomStickersSheetPdf(sheetsCuids: string[], printOnOnePage: boolean = false, trainingMode?: boolean): Observable> {\r\n return this.mutate({\r\n mutation: printCustomStickerSheetsOnOnePage,\r\n variables: {\r\n customSheetsCuids: sheetsCuids,\r\n printOnOnePage: printOnOnePage,\r\n trainingMode: trainingMode\r\n }\r\n });\r\n }\r\n\r\n public getPrintedSheets(adminUnitCuid?: string | Observable, type?: string): ApolloQueryObservable {\r\n return this.fetchItems({\r\n query: fetchPrintedSheetsQuery,\r\n variables: {\r\n adminUnitCuid: adminUnitCuid,\r\n sheetTypeCuid: type\r\n }\r\n });\r\n }\r\n\r\n public getStickerFormats(adminUnitCuid?: string | Observable): ApolloQueryObservable {\r\n return this.fetchItems({\r\n query: getStickerFormatsQuery,\r\n variables: {\r\n adminUnitCuid: adminUnitCuid\r\n }\r\n });\r\n }\r\n\r\n public createStickerFormat(formatData: StickerFormatInput): Observable> {\r\n return this.mutate({\r\n mutation: createStickerFormatMutation,\r\n variables: {\r\n formatData: formatData\r\n },\r\n refetchQueries: ['GetStickerFormatsQuery']\r\n });\r\n }\r\n\r\n public updateStickerFormat(cuid: string, formatData: StickerFormatInput): Observable> {\r\n return this.mutate({\r\n mutation: updateStickerFormatMutation,\r\n variables: {\r\n cuid: cuid,\r\n formatData: formatData\r\n }\r\n });\r\n }\r\n\r\n public deleteStickerFormat(cuid: string): Observable> {\r\n return this.mutate({\r\n mutation: deleteStickerFormatMutation,\r\n variables: {\r\n cuid: cuid\r\n },\r\n refetchQueries: ['GetStickerFormatsQuery']\r\n });\r\n }\r\n\r\n public getStickerSheets(adminUnitCuid?: string | Observable): ApolloQueryObservable {\r\n return this.fetchItems({\r\n query: fetchStickerSheetsQuery,\r\n variables: {\r\n adminUnitCuid: adminUnitCuid\r\n }\r\n });\r\n }\r\n\r\n public saveCustomStickersSheet(sheetInput): Observable> {\r\n\r\n let processedInput = pruneEmpty(sheetInput);\r\n\r\n return this.mutate({\r\n mutation: createCustomStickersSheetMutation,\r\n variables: {\r\n sheetData: processedInput\r\n },\r\n refetchQueries: ['FetchStickerSheetsQuery']\r\n });\r\n }\r\n\r\n public deleteCustomStickersSheet(sheetCuid: string): Observable> {\r\n return this.mutate({\r\n mutation: deleteCustomStickersSheetMutation,\r\n variables: {\r\n sheetCuid: sheetCuid\r\n },\r\n refetchQueries: ['FetchStickerSheetsQuery']\r\n });\r\n }\r\n\r\n public generateStickerPreview(medicineCuid: string | Observable,\r\n printedSheetCuid: string | Observable,\r\n stickerFormatCuid: string | Observable): ApolloQueryObservable {\r\n return this.fetchItems({\r\n query: generateStickerPreviewQuery,\r\n variables: {\r\n medicineCuid: medicineCuid,\r\n printedSheetCuid: printedSheetCuid,\r\n stickerFormatCuid: stickerFormatCuid\r\n },\r\n fetchPolicy: \"network-only\"\r\n })\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/medicine-stickers/services/medicine-stickers.service.ts","module.exports = \"\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/medicine-stickers/view-components/create-sticker-sheet-view/create-sticker-sheet-view.component.css\n// module id = ./src/app/medicine-stickers/view-components/create-sticker-sheet-view/create-sticker-sheet-view.component.css\n// module chunks = main","module.exports = \"\\r\\n\\r\\n

Individuellen Druckbogen anlegen

\\r\\n\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n\\r\\n\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/medicine-stickers/view-components/create-sticker-sheet-view/create-sticker-sheet-view.component.html\n// module id = ./src/app/medicine-stickers/view-components/create-sticker-sheet-view/create-sticker-sheet-view.component.html\n// module chunks = main","import {ChangeDetectorRef, Component, OnInit, ViewChild} from \"@angular/core\";\r\nimport {AbstractVisbosComponent} from \"../../../core/visbos-core/components/abstract-visbos.component\";\r\nimport {SessionActions} from \"../../../shared/actions/session.actions\";\r\nimport {CustomStickerPageLayoutComponent} from \"../../components/custom-sticker-page-layout/custom-sticker-page-layout.component\";\r\n\r\n@Component({\r\n selector: 'vb-create-sticker-sheet-view',\r\n templateUrl: './create-sticker-sheet-view.component.html',\r\n styleUrls: ['./create-sticker-sheet-view.component.css']\r\n})\r\nexport class CreateStickerSheetViewComponent extends AbstractVisbosComponent implements OnInit {\r\n\r\n @ViewChild('customPageLayout')\r\n customPageLayout: CustomStickerPageLayoutComponent;\r\n\r\n constructor(sessionActions: SessionActions, cd: ChangeDetectorRef) {\r\n super(sessionActions, cd);\r\n\r\n this.actions = [\r\n {\r\n label: 'Druckbogen speichern',\r\n icon: 'fa-save',\r\n helpText: 'Speichert den Druckbogen ab',\r\n action: () => this.onSaveClicked.apply(this),\r\n disabled: () => this.customPageLayout.control.invalid\r\n },\r\n {\r\n label: 'Druckbogen zurücksetzen',\r\n icon: 'fa-undo',\r\n helpText: 'Entfernt alle Spritzenetiketten vom aktuellen Druckbogen',\r\n action: () => this.onResetContentClicked.apply(this)\r\n }\r\n ]\r\n\r\n }\r\n\r\n ngOnInit() {\r\n super.ngOnInit();\r\n }\r\n\r\n onSaveClicked() {\r\n this.customPageLayout.createStickerSheet();\r\n }\r\n\r\n onResetContentClicked() {\r\n this.customPageLayout.resetContent();\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/medicine-stickers/view-components/create-sticker-sheet-view/create-sticker-sheet-view.component.ts","module.exports = \"\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/medicine-stickers/view-components/medicines-stickers-view/medicines-stickers-view.component.css\n// module id = ./src/app/medicine-stickers/view-components/medicines-stickers-view/medicines-stickers-view.component.css\n// module chunks = main","module.exports = \"\\r\\n\\r\\n

Erzeugung von Standard-Druckbögen für Spritzenetiketten

\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n

Form: {{control.value | json}}

\\r\\n

Valid: {{control.valid}}

\\r\\n
\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/medicine-stickers/view-components/medicines-stickers-view/medicines-stickers-view.component.html\n// module id = ./src/app/medicine-stickers/view-components/medicines-stickers-view/medicines-stickers-view.component.html\n// module chunks = main","import {ChangeDetectorRef, Component, OnInit, ViewChild} from \"@angular/core\";\r\nimport {FormBuilder, FormControl, FormGroup, Validators} from \"@angular/forms\";\r\nimport {AbstractVisbosComponent} from \"../../../core/visbos-core/components/abstract-visbos.component\";\r\nimport {SessionActions} from \"../../../shared/actions/session.actions\";\r\nimport {MedicineStickersListComponent} from \"../../components/medicine-stickers-list/medicine-stickers-list.component\";\r\nimport {MessageType} from \"../../../shared/redux-store/session/session.types\";\r\nimport {ApolloQueryObservable} from \"apollo-angular\";\r\nimport {PrintedSheet} from \"../../../shared/view-model/store-management/printed-sheet.type\";\r\nimport {StickerFormat} from \"../../../shared/view-model/store-management/sticker-format.type\";\r\nimport {\r\n MedicineStickersService,\r\n PrintedSheetsResult,\r\n StickerFormatsResult\r\n} from \"../../services/medicine-stickers.service\";\r\nimport {PrintedSheetCategory} from \"../../model/printed-sheets.enum\";\r\nimport {FileService} from \"../../../core/visbos-core/http/file.service\";\r\n\r\n@Component({\r\n selector: 'vb-medicine-stickers-view',\r\n templateUrl: './medicines-stickers-view.component.html',\r\n styleUrls: ['./medicines-stickers-view.component.css']\r\n})\r\nexport class MedicineStickersViewComponent extends AbstractVisbosComponent implements OnInit {\r\n\r\n private printedSheetsList$: ApolloQueryObservable;\r\n printedSheetsList: PrintedSheet[] = [];\r\n\r\n private stickerFormatList$: ApolloQueryObservable;\r\n stickerFormatList: StickerFormat[] = [];\r\n\r\n searchTerm: FormControl = new FormControl();\r\n\r\n control: FormGroup;\r\n\r\n PrintedSheetCategory;\r\n\r\n @ViewChild('medicineList')\r\n medicineList: MedicineStickersListComponent;\r\n\r\n constructor(sessionActions: SessionActions, private medService: MedicineStickersService,\r\n private fb: FormBuilder, private fileService: FileService, cd: ChangeDetectorRef) {\r\n super(sessionActions, cd);\r\n\r\n this.PrintedSheetCategory = PrintedSheetCategory;\r\n\r\n this.actions = [\r\n {\r\n label: 'Druckbogen erzeugen',\r\n icon: 'fa-file-pdf',\r\n action: () => this.onCreatePdfClicked.apply(this),\r\n disabled: () => this.isDisabled.apply(this)\r\n }\r\n ];\r\n\r\n this.control = this.fb.group({\r\n printed_sheet_id: [null, Validators.required],\r\n sticker_format_id: [null, Validators.required],\r\n training_mode: [false],\r\n });\r\n\r\n }\r\n\r\n isDisabled(): boolean {\r\n return !this.control || this.control.invalid;\r\n }\r\n\r\n ngOnInit() {\r\n super.ngOnInit();\r\n\r\n this.printedSheetsList$ = this.medService.getPrintedSheets(null, PrintedSheetCategory.Spritzenetiketten);\r\n this.addComponentData(this.printedSheetsList$);\r\n\r\n this.dataSubscriptions.push(this.printedSheetsList$.subscribe(res => {\r\n this.printedSheetsList = res.data.printedSheets;\r\n }));\r\n\r\n this.stickerFormatList$ = this.medService.getStickerFormats();\r\n this.addComponentData(this.stickerFormatList$);\r\n\r\n this.dataSubscriptions.push(this.stickerFormatList$.subscribe(res => {\r\n this.stickerFormatList = res.data.stickerFormats;\r\n }));\r\n }\r\n\r\n onPrintedSheetSelected(printedSheet: PrintedSheet) {\r\n this.control.patchValue({\r\n printed_sheet_id: printedSheet.cuid\r\n });\r\n //this.cd.detectChanges();\r\n }\r\n\r\n onCreatePdfClicked() {\r\n let data = this.medicineList.printList;\r\n\r\n let cuids = [];\r\n let printedSheetCuid = this.control.get('printed_sheet_id').value;\r\n let stickerFormatCuid = this.control.get('sticker_format_id').value;\r\n let trainingMode = this.control.get('training_mode').value;\r\n\r\n for (let key in data) {\r\n for (let i = 1; i <= data[key]; i++) {\r\n cuids.push(key);\r\n }\r\n }\r\n\r\n if (!cuids || cuids.length == 0) {\r\n this.sessionActions.pushMessage(\"Bitte geben Sie für mindestens ein Medikament eine Anzahl an Druckseiten an!\", MessageType.ERROR, 'Fehlende Angaben');\r\n return;\r\n }\r\n\r\n this.sessionActions.pushMessage('Druckbögen werden erzeugt, Sie werden benachrichtigt, sobald die PDF-Datei verfügbar ist. Dies kann einige Sekunden dauern.', MessageType.INFO, 'Spritzenetiketten');\r\n\r\n this.dataSubscriptions.push(\r\n this.medService.createMedicineStickersPdf(cuids, null, printedSheetCuid, stickerFormatCuid, trainingMode).subscribe(\r\n res => {\r\n this.sessionActions.pushMessage('Der Druckbogen wurde erfolgreich generiert!', MessageType.SUCCESS, 'Spritzenetiketten');\r\n let base64Data = res.data.generateMedicineStickersPDF;\r\n let blob = this.fileService.base64toBlob(base64Data, 'application/pdf', 512);\r\n this.fileService.saveAs(blob, 'druckbogen-spritzenetiketten.pdf');\r\n },\r\n err => {\r\n this.sessionActions.throwError(err, 'Fehler bei der Erstellung der Druckbögen, bitte wenden Sie sich an den Support!');\r\n }));\r\n\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/medicine-stickers/view-components/medicines-stickers-view/medicines-stickers-view.component.ts","module.exports = \"\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/medicine-stickers/view-components/medicines-view/medicines-view.component.css\n// module id = ./src/app/medicine-stickers/view-components/medicines-view/medicines-view.component.css\n// module chunks = main","module.exports = \"\\r\\n\\r\\n

Medikamentenliste für Spritzenetiketten

\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n

Selected: {{selectedItems | json }}

\\r\\n
\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/medicine-stickers/view-components/medicines-view/medicines-view.component.html\n// module id = ./src/app/medicine-stickers/view-components/medicines-view/medicines-view.component.html\n// module chunks = main","import {AfterViewInit, ChangeDetectorRef, Component, OnInit, ViewChild} from \"@angular/core\";\r\nimport {AbstractVisbosComponent} from \"../../../core/visbos-core/components/abstract-visbos.component\";\r\nimport {FormBuilder, FormControl, FormGroup} from \"@angular/forms\";\r\nimport {SessionActions} from \"../../../shared/actions/session.actions\";\r\nimport {MedicineListComponent} from \"../../../store-management/medicine/medicine-list/medicine-list.component\";\r\nimport {MedicineService} from \"../../../store-management/services/medicine.service\";\r\nimport {GenericModalComponent} from \"../../../core/visbos-core/ui/forms/generic-modal/generic-modal.component\";\r\nimport {ImportMedicinesFormComponent} from \"../../../store-management/medicine/import-medicines-form/import-medicines-form.component\";\r\nimport {MessageType} from \"../../../shared/redux-store/session\";\r\n\r\n@Component({\r\n selector: 'vb-medicines-view',\r\n templateUrl: './medicines-view.component.html',\r\n styleUrls: ['./medicines-view.component.css']\r\n})\r\nexport class MedicinesViewComponent extends AbstractVisbosComponent implements OnInit, AfterViewInit {\r\n\r\n searchTerm: FormControl = new FormControl();\r\n\r\n @ViewChild('medicineList')\r\n medicineList: MedicineListComponent;\r\n\r\n @ViewChild('importMedicinesModal')\r\n importMedicinesModal: GenericModalComponent;\r\n\r\n @ViewChild('importForm')\r\n importForm: ImportMedicinesFormComponent\r\n\r\n importMedicinesData: FormGroup;\r\n\r\n selectedItems = [];\r\n\r\n constructor(sessionActions: SessionActions, private medService: MedicineService, private fb: FormBuilder, cd: ChangeDetectorRef) {\r\n super(sessionActions, cd);\r\n\r\n this.actions = [\r\n {\r\n label: 'Neues Medikament hinzufügen',\r\n icon: 'fa-plus',\r\n helpText: 'Ein neues Medikament manuell zur Medikamentenliste hinzufügen (dies legt keinen Artikel und/oder Bestand in der Lagerverwaltung an)',\r\n action: () => this.onAddMedicineClicked.apply(this)\r\n },\r\n {\r\n label: 'Medikamente in Lagerverwaltung importieren',\r\n icon: 'fa-upload',\r\n helpText: 'Legt für die ausgewählten Medikamente verknüpfte Artikel in der Lagerverwaltung an',\r\n action: () => this.onImportMedicinesClicked.apply(this)\r\n }\r\n ]\r\n\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n super.ngAfterViewInit();\r\n this.medicineList.getComponentData().forEach(d => this.addComponentData(d));\r\n }\r\n\r\n ngOnInit() {\r\n super.ngOnInit();\r\n }\r\n\r\n onAddMedicineClicked() {\r\n this.medicineList.onAddMedicineClicked();\r\n }\r\n\r\n onImportMedicinesClicked() {\r\n this.importForm.ngOnInit();\r\n this.importForm.control = ImportMedicinesFormComponent.initControl(this.fb);\r\n this.importForm.medicines = this.medicineList.rows.filter(i => this.selectedItems.find(s => s == i.cuid) != null);\r\n this.importMedicinesModal.show();\r\n }\r\n\r\n onExecuteImportClicked() {\r\n let data = this.importForm.control.value;\r\n this.medService.importMedicines(data.supplier_id, data.medicine_data, data.administration_unit_id).toPromise()\r\n .then(res => this.sessionActions.pushMessage('Medikamente wurden erfolgreich importiert!', MessageType.SUCCESS, 'Medikamenten-Import'));\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/medicine-stickers/view-components/medicines-view/medicines-view.component.ts","module.exports = \"\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/medicine-stickers/view-components/sticker-formats-view/sticker-formats-view.component.css\n// module id = ./src/app/medicine-stickers/view-components/sticker-formats-view/sticker-formats-view.component.css\n// module chunks = main","module.exports = \"\\r\\n\\r\\n
\\r\\n\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/medicine-stickers/view-components/sticker-formats-view/sticker-formats-view.component.html\n// module id = ./src/app/medicine-stickers/view-components/sticker-formats-view/sticker-formats-view.component.html\n// module chunks = main","import {ChangeDetectorRef, Component, OnInit, ViewChild} from '@angular/core';\r\nimport {AbstractVisbosComponent} from \"../../../core/visbos-core/components/abstract-visbos.component\";\r\nimport {SessionActions} from \"../../../shared/actions\";\r\nimport {GenericModalComponent} from \"../../../core/visbos-core/ui/forms/generic-modal/generic-modal.component\";\r\nimport {FormBuilder, FormGroup} from \"@angular/forms\";\r\nimport {StickerFormatFormComponent} from \"../../components/sticker-format-form/sticker-format-form.component\";\r\nimport {MedicineStickersService} from \"../../services/medicine-stickers.service\";\r\nimport {MessageType} from \"../../../shared/redux-store/session\";\r\n\r\n@Component({\r\n selector: 'vb-sticker-formats-view',\r\n templateUrl: './sticker-formats-view.component.html',\r\n styleUrls: ['./sticker-formats-view.component.css']\r\n})\r\nexport class StickerFormatsViewComponent extends AbstractVisbosComponent implements OnInit {\r\n\r\n @ViewChild('addStickerFormatModal')\r\n addStickerFormatModal: GenericModalComponent;\r\n\r\n currentStickerFormatControl: FormGroup;\r\n\r\n constructor(sessionActions: SessionActions, cd: ChangeDetectorRef,\r\n private fb: FormBuilder,\r\n private medStickersService: MedicineStickersService,) {\r\n super(sessionActions, cd);\r\n\r\n this.actions = [\r\n {\r\n label: 'Beschriftungsformat hinzufügen',\r\n icon: 'fa-plus',\r\n action: () => this.showAddStickerFormatModal.apply(this)\r\n }\r\n ]\r\n\r\n }\r\n\r\n showAddStickerFormatModal() {\r\n this.currentStickerFormatControl = StickerFormatFormComponent.initControl(this.fb);\r\n this.addStickerFormatModal.show();\r\n }\r\n\r\n saveStickerFormatClicked() {\r\n this.medStickersService.createStickerFormat(this.currentStickerFormatControl.value).subscribe(\r\n res => this.sessionActions.pushMessage(\"Beschriftungsformat erfolgreich angelegt!\", MessageType.SUCCESS, \"Beschriftungsformat\"),\r\n err => this.sessionActions.throwError(err, \"Fehler beim Anlegen des Beschriftungsformats!\"));\r\n\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/medicine-stickers/view-components/sticker-formats-view/sticker-formats-view.component.ts","module.exports = \"\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/medicine-stickers/view-components/sticker-sheets-view/sticker-sheets-view.component.css\n// module id = ./src/app/medicine-stickers/view-components/sticker-sheets-view/sticker-sheets-view.component.css\n// module chunks = main","module.exports = \"\\r\\n\\r\\n

Individuelle Druckbögen

\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/medicine-stickers/view-components/sticker-sheets-view/sticker-sheets-view.component.html\n// module id = ./src/app/medicine-stickers/view-components/sticker-sheets-view/sticker-sheets-view.component.html\n// module chunks = main","import {AfterViewInit, ChangeDetectorRef, Component, OnInit, ViewChild} from \"@angular/core\";\r\nimport {AbstractVisbosComponent} from \"../../../core/visbos-core/components/abstract-visbos.component\";\r\nimport {FormControl} from \"@angular/forms\";\r\nimport {StickerSheetsListComponent} from \"../../components/sticker-sheets-list/sticker-sheets-list.component\";\r\nimport {SessionActions} from \"../../../shared/actions/session.actions\";\r\nimport {ActivatedRoute, Router} from \"@angular/router\";\r\nimport {MedicineStickersService} from \"../../services/medicine-stickers.service\";\r\nimport {MessageType} from \"../../../shared/redux-store/session\";\r\nimport {FileService} from \"../../../core/visbos-core/http/file.service\";\r\n\r\n@Component({\r\n selector: 'vb-sticker-sheets-view',\r\n templateUrl: './sticker-sheets-view.component.html',\r\n styleUrls: ['./sticker-sheets-view.component.css']\r\n})\r\nexport class StickerSheetsViewComponent extends AbstractVisbosComponent implements OnInit, AfterViewInit {\r\n\r\n searchTerm: FormControl = new FormControl();\r\n\r\n @ViewChild('stickerSheetsList')\r\n stickerSheetsList: StickerSheetsListComponent;\r\n\r\n selectedSheets = [];\r\n\r\n trainingMode: boolean = false;\r\n\r\n constructor(sessionActions: SessionActions, cd: ChangeDetectorRef,\r\n private router: Router, private route: ActivatedRoute,\r\n private medService: MedicineStickersService, private fileService: FileService) {\r\n super(sessionActions, cd);\r\n\r\n this.actions = [\r\n {label: 'Neuen Druckbogen anlegen', icon: 'fa-plus', action: () => this.onAddClicked.apply(this)},\r\n {\r\n label: 'Mehrere auf eine Seite',\r\n helpText: 'Generiert aus den ausgewählten individuellen Druckbögen eine PDF-Datei, die bis zu 4 Druckbögen auf einer einzelnen Eteikettenbogen-Seite darstellt.',\r\n icon: 'fa-print',\r\n disabled: () => !this.canPrintMultiple.apply(this),\r\n action: () => this.onPrintMultipleClicked.apply(this)\r\n }\r\n ];\r\n\r\n }\r\n\r\n ngOnInit() {\r\n super.ngOnInit();\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n super.ngAfterViewInit();\r\n this.actions.concat(this.stickerSheetsList.actions);\r\n this.dataObservables.concat(this.stickerSheetsList.getComponentData());\r\n }\r\n\r\n onAddClicked() {\r\n this.router.navigate(['./neu'], {relativeTo: this.route});\r\n }\r\n\r\n onPrintMultipleClicked() {\r\n this.sessionActions.pushMessage(\"Druckbogen wird erzeugt, Sie werden benachrichtigt, sobald die PDF-Datei verfügbar ist. Dies kann einige Sekunden dauern...\", MessageType.INFO, \"Spritzenetiketten\");\r\n\r\n this.medService.generateCustomStickersSheetPdf(this.selectedSheets.map(s => s.cuid), true, this.trainingMode).subscribe(\r\n res => {\r\n let data = this.fileService.base64toBlob(res.data.customStickerSheetsPdf, 'application/pdf', 512);\r\n this.fileService.saveAs(data, 'spritzenetiketten.pdf');\r\n }, err => this.sessionActions.throwError(err)\r\n );\r\n }\r\n\r\n canPrintMultiple() {\r\n return this.selectedSheets && this.selectedSheets.length > 1;\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/medicine-stickers/view-components/sticker-sheets-view/sticker-sheets-view.component.ts","module.exports = \"\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/mission/mission-form/mission-form.component.css\n// module id = ./src/app/mission/mission-form/mission-form.component.css\n// module chunks = main","module.exports = \"\\r\\n\\r\\n \\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n \\r\\n\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/mission/mission-form/mission-form.component.html\n// module id = ./src/app/mission/mission-form/mission-form.component.html\n// module chunks = main","import {ChangeDetectorRef, Component, forwardRef, OnInit} from \"@angular/core\";\r\nimport {AbstractVisbosControl} from \"../../core/visbos-core/ui/forms/abstract-visbos-control\";\r\nimport {FormBuilder, FormGroup, Validators} from \"@angular/forms\";\r\nimport {Mission} from \"../model/mission.type\";\r\nimport {appInjector} from \"../../index\";\r\nimport {DatePipe} from \"@angular/common\";\r\nimport {KeyboardOptions} from \"virtual-keyboard\";\r\nimport {GERMAN_LAYOUT} from \"../../core/visbos-core/ui/directives/on-screen-keyboard.directive\";\r\n\r\n@Component({\r\n selector: 'vb-mission-form',\r\n templateUrl: './mission-form.component.html',\r\n styleUrls: ['./mission-form.component.css'],\r\n providers: [{provide: AbstractVisbosControl, useExisting: forwardRef(() => MissionFormComponent)}]\r\n})\r\nexport class MissionFormComponent extends AbstractVisbosControl implements OnInit {\r\n\r\n kbOptions: KeyboardOptions = {\r\n type: 'input',\r\n layout: 'custom',\r\n customLayout: GERMAN_LAYOUT\r\n };\r\n\r\n constructor(fb?: FormBuilder, cd?: ChangeDetectorRef) {\r\n super(fb, cd, null);\r\n }\r\n\r\n buildControlContent(): FormGroup {\r\n return MissionFormComponent.initControl(this.fb);\r\n }\r\n\r\n ngOnInit() {\r\n super.ngOnInit();\r\n }\r\n\r\n public static initControl(fb: FormBuilder = null): FormGroup {\r\n fb = fb ? fb : appInjector().get(FormBuilder);\r\n\r\n return fb.group({\r\n cuid: [null],\r\n mission_number: [null, Validators.required],\r\n mission_date: [null, Validators.required],\r\n });\r\n\r\n }\r\n\r\n setDefaultValues(item?: Mission): { [controlKey: string]: any } | any {\r\n return {\r\n cuid: this.setValue(item, 'cuid', AbstractVisbosControl.cuid()),\r\n mission_number: this.setValue(item, 'mission_number'),\r\n mission_date: this.setValue(item, 'mission_date', new DatePipe('de').transform(new Date(), 'yyyy-MM-dd')),\r\n };\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/mission/mission-form/mission-form.component.ts","module.exports = \"\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/mission/mission.component.css\n// module id = ./src/app/mission/mission.component.css\n// module chunks = main","module.exports = \"
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/mission/mission.component.html\n// module id = ./src/app/mission/mission.component.html\n// module chunks = main","import {AfterViewInit, Component, ElementRef, EventEmitter, Input, OnInit, Output, ViewChild} from \"@angular/core\";\r\nimport {Mission} from \"./model/mission.type\";\r\nimport {Observable} from \"rxjs/Observable\";\r\nimport {AbstractControl, FormBuilder, FormGroup, Validators} from \"@angular/forms\";\r\nimport {ActivatedRoute} from \"@angular/router\";\r\nimport {MissionService} from \"./services/mission.service\";\r\n\r\n@Component({\r\n selector: 'vb-mission',\r\n templateUrl: './mission.component.html',\r\n styleUrls: ['./mission.component.css']\r\n})\r\nexport class MissionComponent implements OnInit, AfterViewInit {\r\n\r\n title = 'Einsatz';\r\n\r\n @Input()\r\n showCtrls: boolean = true;\r\n\r\n @Input()\r\n readOnly: boolean = false;\r\n\r\n @Input()\r\n missionData: Mission = {};\r\n\r\n @Output()\r\n onMissionDataChanged: EventEmitter = new EventEmitter();\r\n\r\n @ViewChild('focusField') private focusField: ElementRef;\r\n\r\n missionDataObserver: Observable;\r\n\r\n missions$: Observable;\r\n\r\n missionForm: FormGroup;\r\n missionNrCtrl: AbstractControl;\r\n missionDateCtrl: AbstractControl;\r\n\r\n constructor(private route: ActivatedRoute,\r\n private missionService: MissionService,\r\n private fb: FormBuilder) {\r\n\r\n }\r\n\r\n ngOnInit() {\r\n\r\n /*\r\n this.missionService.setActivatedRoute(this.route);\r\n this.missionDataObserver = Observable.of(this.missionData);\r\n */\r\n\r\n //this.missions$ = this.missionService.getModels();\r\n\r\n this.missionForm = this.fb.group({\r\n 'missionNumber': [null, Validators.required],\r\n 'missionDate': [null, Validators.required]\r\n });\r\n\r\n this.missionNrCtrl = this.missionForm.controls['missionNumber'];\r\n this.missionDateCtrl = this.missionForm.controls['missionDate'];\r\n\r\n //TODO: Observe the local variable instead of the form input controls\r\n this.missionForm.valueChanges.subscribe(\r\n c => this.onMissionDataChanged.emit(this.missionData)\r\n );\r\n }\r\n\r\n ngAfterViewInit() {\r\n if (this.focusField.nativeElement) {\r\n (this.focusField.nativeElement).focus();\r\n }\r\n }\r\n\r\n onSubmit() {\r\n //this.missionService.createModel(this.missionData);\r\n }\r\n\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/mission/mission.component.ts","import {NgModule} from \"@angular/core\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport {MissionComponent} from \"./mission.component\";\r\nimport {MissionService} from \"./services/mission.service\";\r\nimport {ReactiveFormsModule} from \"@angular/forms\";\r\nimport {VisbosCoreModule} from \"../core/visbos-core/visbos-core.module\";\r\nimport {MissionFormComponent} from \"./mission-form/mission-form.component\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule, ReactiveFormsModule, VisbosCoreModule,\r\n ],\r\n providers: [MissionService],\r\n declarations: [MissionComponent, MissionFormComponent],\r\n exports: [MissionFormComponent, MissionComponent]\r\n})\r\nexport class MissionModule {\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/mission/mission.module.ts","/**\r\n * Created by afuhr on 30.08.2016.\r\n */\r\n/**\r\n * Created by afuhr on 27.05.2016.\r\n */\r\nimport {Injectable} from \"@angular/core\";\r\nimport {Mission} from \"../model/mission.type\";\r\nimport {Apollo, ApolloQueryObservable} from \"apollo-angular\";\r\nimport {VisbosService} from \"../../core/visbos-core/graphql/visbos.service\";\r\nimport {MissionInput} from \"../model/mission-input.type\";\r\nimport gql from \"graphql-tag\";\r\nimport {Observable} from \"rxjs/Observable\";\r\nimport {NgRedux} from \"@angular-redux/store\";\r\nimport {IAppState} from \"../../shared/redux-store\";\r\nimport {SessionActions} from \"../../shared/actions\";\r\nimport {map} from \"rxjs/operators\";\r\n\r\nexport const fragments = {\r\n mission: gql`\r\n fragment MissionFields on Mission {\r\n cuid, label, mission_number, mission_date,\r\n administration_unit {\r\n cuid, label\r\n }\r\n }\r\n `\r\n};\r\n\r\nexport const fetchMissionsQuery = gql`\r\n query FetchMissionsQuery {\r\n missions {\r\n ...MissionFields\r\n }\r\n }\r\n \r\n ${fragments.mission}\r\n`;\r\n\r\n@Injectable()\r\nexport class MissionService extends VisbosService {\r\n\r\n\r\n constructor(apollo: Apollo, ngRedux: NgRedux, sessionActions: SessionActions) {\r\n super(apollo, ngRedux, sessionActions);\r\n }\r\n\r\n public createMission(missionData: MissionInput): Observable {\r\n let processedMissionData = this.processData(missionData);\r\n\r\n return >this.apollo.mutate({\r\n mutation: gql`\r\n mutation CreateMissionMutation($missionData: MissionInput!) {\r\n createMission(mission: $missionData){\r\n ...MissionFields \r\n }\r\n }\r\n \r\n ${fragments.mission}\r\n `,\r\n variables: {\r\n missionData: processedMissionData\r\n }\r\n }).pipe(map(({data}: any) => data.createMission));\r\n }\r\n\r\n public updateMission(cuid: string, missionData): ApolloQueryObservable {\r\n return undefined;\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/mission/services/mission.service.ts","module.exports = \"\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/navigation/active-administration-unit/active-administration-unit.component.css\n// module id = ./src/app/navigation/active-administration-unit/active-administration-unit.component.css\n// module chunks = main","module.exports = \"

\\r\\n active-administration-unit works!\\r\\n

\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/navigation/active-administration-unit/active-administration-unit.component.html\n// module id = ./src/app/navigation/active-administration-unit/active-administration-unit.component.html\n// module chunks = main","import {Component, OnInit} from \"@angular/core\";\r\n\r\n@Component({\r\n selector: 'vb-active-administration-unit',\r\n templateUrl: './active-administration-unit.component.html',\r\n styleUrls: ['./active-administration-unit.component.css']\r\n})\r\nexport class ActiveAdministrationUnitComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/navigation/active-administration-unit/active-administration-unit.component.ts","module.exports = \"\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/navigation/main-navigation/main-navigation.component.css\n// module id = ./src/app/navigation/main-navigation/main-navigation.component.css\n// module chunks = main","module.exports = \"\\r\\n\\r\\n\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/navigation/main-navigation/main-navigation.component.html\n// module id = ./src/app/navigation/main-navigation/main-navigation.component.html\n// module chunks = main","import {Component, OnInit} from \"@angular/core\";\r\nimport {SessionActions} from \"../../shared/actions/session.actions\";\r\n\r\n@Component({\r\n selector: 'vb-main-navigation',\r\n templateUrl: './main-navigation.component.html',\r\n styleUrls: ['./main-navigation.component.css']\r\n})\r\nexport class MainNavigationComponent implements OnInit {\r\n\r\n constructor(public sessionActions: SessionActions) {\r\n }\r\n\r\n ngOnInit() {\r\n\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/navigation/main-navigation/main-navigation.component.ts","module.exports = \"\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/navigation/navigation.component.css\n// module id = ./src/app/navigation/navigation.component.css\n// module chunks = main","module.exports = \"\\r\\n\\r\\nLager\\r\\n\\r\\n\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/navigation/navigation.component.html\n// module id = ./src/app/navigation/navigation.component.html\n// module chunks = main","import {Component, OnInit} from \"@angular/core\";\r\n\r\n@Component({\r\n selector: 'vb-navigation',\r\n templateUrl: './navigation.component.html',\r\n styleUrls: ['./navigation.component.css']\r\n})\r\nexport class NavigationComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/navigation/navigation.component.ts","import {NgModule} from \"@angular/core\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport {NavigationComponent} from \"./navigation.component\";\r\nimport {MainNavigationComponent} from \"./main-navigation/main-navigation.component\";\r\nimport {UserMenuItemComponent} from \"./user-menu-item/user-menu-item.component\";\r\nimport {RouterModule} from \"@angular/router\";\r\nimport {FormsModule, ReactiveFormsModule} from \"@angular/forms\";\r\nimport {CRMModule} from \"../crm/crm.module\";\r\nimport {ActiveAdministrationUnitComponent} from \"./active-administration-unit/active-administration-unit.component\";\r\nimport {OrganizationModule} from \"../organization/organization.module\";\r\nimport {VisbosCoreModule} from \"../core/visbos-core/visbos-core.module\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule, RouterModule, FormsModule, ReactiveFormsModule, CRMModule, OrganizationModule, VisbosCoreModule\r\n ],\r\n declarations: [NavigationComponent, MainNavigationComponent, UserMenuItemComponent, ActiveAdministrationUnitComponent],\r\n exports: [MainNavigationComponent]\r\n})\r\nexport class NavigationModule {\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/navigation/navigation.module.ts","module.exports = \"\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/navigation/user-menu-item/user-menu-item.component.css\n// module id = ./src/app/navigation/user-menu-item/user-menu-item.component.css\n// module chunks = main","module.exports = \"
    \\r\\n
  • \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
      \\r\\n
    • Aktive Verwaltungseinheit:
    • \\r\\n
    • \\r\\n
      \\r\\n \\r\\n
      \\r\\n
    • \\r\\n\\r\\n
    • \\r\\n\\r\\n
    • Angemeldet als:
    • \\r\\n\\r\\n
    • \\r\\n {{(currentUser$ | async)?.pre_name}} {{(currentUser$ | async)?.name}}\\r\\n
    • \\r\\n
    • Profil
    • \\r\\n\\r\\n
    • \\r\\n\\r\\n
    • Anmelden
    • \\r\\n
    • Abmelden
    • \\r\\n\\r\\n\\r\\n
    \\r\\n
  • \\r\\n
\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/navigation/user-menu-item/user-menu-item.component.html\n// module id = ./src/app/navigation/user-menu-item/user-menu-item.component.html\n// module chunks = main","import {Component, OnDestroy, OnInit} from \"@angular/core\";\r\nimport {SessionActions} from \"../../shared/actions/session.actions\";\r\nimport {select} from \"@angular-redux/store\";\r\nimport {FormControl, Validators} from \"@angular/forms\";\r\nimport {Subscription} from \"rxjs/Subscription\";\r\nimport {AdminUnitActions} from \"../../shared/actions/admin-unit.actions\";\r\n\r\n@Component({\r\n selector: 'vb-user-menu-item',\r\n templateUrl: './user-menu-item.component.html',\r\n styleUrls: ['./user-menu-item.component.css']\r\n})\r\nexport class UserMenuItemComponent implements OnInit, OnDestroy {\r\n\r\n @select(['session', 'loggedIn']) loggedIn$;\r\n @select(['session', 'user']) currentUser$;\r\n\r\n adminUnitCtrl: FormControl = new FormControl(null, Validators.required);\r\n adminUnitCtrlSub: Subscription;\r\n\r\n constructor(private sessionActions: SessionActions, private adminUnitActions: AdminUnitActions) {\r\n }\r\n\r\n ngOnInit() {\r\n this.adminUnitCtrlSub = this.adminUnitCtrl.valueChanges.subscribe((adminUnit: any) => {\r\n if (adminUnit) {\r\n this.adminUnitActions.selectAdminUnit(adminUnit);\r\n }\r\n });\r\n }\r\n\r\n ngOnDestroy(): void {\r\n if (this.adminUnitCtrlSub) {\r\n this.adminUnitCtrlSub.unsubscribe();\r\n }\r\n }\r\n\r\n onLogout() {\r\n this.sessionActions.logoutUser();\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/navigation/user-menu-item/user-menu-item.component.ts","module.exports = \"\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/organization/administration_unit/administration-unit-selection/administration-unit-selection.component.css\n// module id = ./src/app/organization/administration_unit/administration-unit-selection/administration-unit-selection.component.css\n// module chunks = main","module.exports = \"\\r\\n\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/organization/administration_unit/administration-unit-selection/administration-unit-selection.component.html\n// module id = ./src/app/organization/administration_unit/administration-unit-selection/administration-unit-selection.component.html\n// module chunks = main","import {ChangeDetectorRef, Component, forwardRef, Input, OnInit, Output} from \"@angular/core\";\r\nimport {AdministrationUnit} from \"../../../shared/view-model/organization/administration-unit.type\";\r\nimport {FormBuilder, FormControl} from \"@angular/forms\";\r\nimport {AdministrationUnitService} from \"../../services/administration_unit_service/administration-unit.service\";\r\nimport {AbstractVisbosControl} from \"../../../core/visbos-core/ui/forms/abstract-visbos-control\";\r\nimport {NgRedux} from \"@angular-redux/store\";\r\nimport {IAppState} from \"../../../shared/redux-store/store\";\r\nimport {SessionActions} from \"../../../shared/actions/session.actions\";\r\nimport {BehaviorSubject} from \"rxjs/BehaviorSubject\";\r\n\r\n@Component({\r\n selector: 'vb-administration-unit-selection',\r\n templateUrl: './administration-unit-selection.component.html',\r\n styleUrls: ['./administration-unit-selection.component.css'],\r\n providers: [{provide: AbstractVisbosControl, useExisting: forwardRef(() => AdministrationUnitSelectionComponent)}]\r\n})\r\nexport class AdministrationUnitSelectionComponent extends AbstractVisbosControl implements OnInit {\r\n\r\n @Input()\r\n adminUnits: AdministrationUnit[] = [];\r\n\r\n @Input()\r\n styleClass: string;\r\n\r\n @Input()\r\n optional: boolean;\r\n\r\n @Output()\r\n itemChanged = new BehaviorSubject(null);\r\n\r\n constructor(fb: FormBuilder, cd: ChangeDetectorRef, sessionActions: SessionActions,\r\n private adminUnitService: AdministrationUnitService,\r\n private ngRx: NgRedux) {\r\n super(fb, cd, sessionActions);\r\n }\r\n\r\n ngOnInit() {\r\n super.ngOnInit();\r\n\r\n if (!this.adminUnits || this.adminUnits.length == 0) {\r\n // Change control value when Redux store changes, but only when no item is set\r\n this.addSubscription(this.activeAdminUnitCuid$.subscribe(cuid => {\r\n if (!this.item && this.control && this.control.pristine) {\r\n this.control.patchValue(cuid);\r\n }\r\n }));\r\n\r\n this.dataSubscriptions.push(\r\n this.adminUnitService.getAdminUnitsForCurrentUser().subscribe((units: any) => this.adminUnits = units)\r\n );\r\n }\r\n\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n super.ngAfterViewInit();\r\n if (this.control.pristine && !this.item && this.control.value == this.ngRx.getState().session.activeAdminUnit) {\r\n this.onItemChangedEvent(this.ngRx.getState().session.activeAdminUnitData);\r\n }\r\n }\r\n\r\n buildControlContent(values?: AdministrationUnit): FormControl {\r\n return AdministrationUnitSelectionComponent.initControl(this.fb);\r\n }\r\n\r\n public static initControl(fb: FormBuilder): FormControl {\r\n return fb.control(null);\r\n }\r\n\r\n public setDefaultValues(item?: AdministrationUnit): { [controlKey: string]: any } | any {\r\n return this.setValue(item, 'cuid', this.ngRx.getState().session.activeAdminUnit);\r\n }\r\n\r\n public onItemChangedEvent(adminUnit: AdministrationUnit) {\r\n this.itemChanged.next(adminUnit);\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/organization/administration_unit/administration-unit-selection/administration-unit-selection.component.ts","module.exports = \"\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/organization/administration_unit/administration-units-list/administration-units-list.component.css\n// module id = ./src/app/organization/administration_unit/administration-units-list/administration-units-list.component.css\n// module chunks = main","module.exports = \"\\r\\n\\r\\n\\r\\n\\r\\n
\\r\\n {{row.address?.address_name}}
\\r\\n {{row.address?.street}} {{row.address?.number}}
\\r\\n {{row.address?.city?.zip}} {{row.address?.city?.town}}
\\r\\n {{row.address?.city?.country?.name}}
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n \\r\\n\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/organization/administration_unit/administration-units-list/administration-units-list.component.html\n// module id = ./src/app/organization/administration_unit/administration-units-list/administration-units-list.component.html\n// module chunks = main","import {\r\n ChangeDetectorRef,\r\n Component,\r\n EventEmitter,\r\n Input,\r\n OnChanges,\r\n OnInit,\r\n Output,\r\n SimpleChanges,\r\n TemplateRef,\r\n ViewChild\r\n} from '@angular/core';\r\nimport {AbstractListView} from \"../../../core/visbos-core/ui/components/abstract-list-view\";\r\nimport {DatatableComponent} from \"../../../core/visbos-core/ui/components/datatable/datatable.component\";\r\nimport {GenericModalComponent} from \"../../../core/visbos-core/ui/forms/generic-modal/generic-modal.component\";\r\nimport {FormBuilder, FormControl, FormGroup} from \"@angular/forms\";\r\nimport {SessionActions} from \"../../../shared/actions\";\r\nimport {debounceTime, distinctUntilChanged} from \"rxjs/operators\";\r\nimport {AdministrationUnit} from \"../../../shared/view-model/organization/administration-unit.type\";\r\nimport {AdministrationUnitService} from \"../../services/administration_unit_service/administration-unit.service\";\r\n\r\n@Component({\r\n selector: 'vb-administration-units-list',\r\n templateUrl: './administration-units-list.component.html',\r\n styleUrls: ['./administration-units-list.component.css']\r\n})\r\nexport class AdministrationUnitsListComponent extends AbstractListView implements OnInit, OnChanges {\r\n\r\n @ViewChild('adminUnitsTable')\r\n adminUnitsTable: DatatableComponent;\r\n\r\n @ViewChild('adminUnitModal')\r\n adminUnitModal: GenericModalComponent;\r\n\r\n @ViewChild('addressTemplate')\r\n addressTemplate: TemplateRef;\r\n\r\n @Input()\r\n adminUnitsList: AdministrationUnit[] = [];\r\n\r\n currentAdminUnitItem: AdministrationUnit;\r\n currentAdminUnitControl: FormGroup;\r\n\r\n selected: string[] = [];\r\n\r\n @Output()\r\n selectedChange: EventEmitter = new EventEmitter();\r\n\r\n @ViewChild('adminUnitForm')\r\n adminUnitForm; //TODO: Add Type\r\n\r\n constructor(sessionActions: SessionActions, cd: ChangeDetectorRef,\r\n private fb: FormBuilder,\r\n private adminUnitService: AdministrationUnitService) {\r\n super(sessionActions, cd);\r\n }\r\n\r\n ngOnInit() {\r\n\r\n super.ngOnInit();\r\n\r\n //TODO: Add columns\r\n this.columns = [\r\n {prop: 'label', name: 'Name', flexGrow: 2},\r\n {prop: 'identities.0.ean', name: 'EAN', flexGrow: 1},\r\n ];\r\n\r\n this.searchTerm = new FormControl();\r\n\r\n this.dataSubscriptions.push(\r\n this.searchTerm.valueChanges.pipe(\r\n distinctUntilChanged(),\r\n debounceTime(500)\r\n ).subscribe((term: any) => this.filterItems(term))\r\n );\r\n\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n if (changes.adminUnitsList) {\r\n this.rows = this.adminUnitsList;\r\n }\r\n }\r\n\r\n onEditAdminUnitClicked(adminUnit: AdministrationUnit) {\r\n //TODO: Add Admin Unit Form\r\n //this.currentadminUnitControl = ClientFormComponent.initControl(this.fb);\r\n this.adminUnitModal.show();\r\n this.cd.detectChanges();\r\n }\r\n\r\n onSaveAdminUnitClicked() {\r\n //TODO: Implement\r\n }\r\n\r\n filterItems(searchTerm) {\r\n if (!searchTerm || searchTerm == \"\") {\r\n this.rows = this.adminUnitsList;\r\n } else {\r\n if (this.adminUnitsList) {\r\n this.rows = this.adminUnitsList.filter((si: any) => this.findStringInTable(si, this.columns, searchTerm));\r\n }\r\n }\r\n }\r\n\r\n onCellUpdate(row, res, index) {\r\n }\r\n\r\n onSelectedChanged(selected: string[]) {\r\n this.selected = [...selected];\r\n this.selectedChange.emit(this.selected);\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/organization/administration_unit/administration-units-list/administration-units-list.component.ts","module.exports = \"\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/organization/organization.component.css\n// module id = ./src/app/organization/organization.component.css\n// module chunks = main","module.exports = \"

\\r\\n organization works!\\r\\n

\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/organization/organization.component.html\n// module id = ./src/app/organization/organization.component.html\n// module chunks = main","import {Component, OnInit} from \"@angular/core\";\r\n\r\n@Component({\r\n selector: 'vb-organization',\r\n templateUrl: './organization.component.html',\r\n styleUrls: ['./organization.component.css']\r\n})\r\nexport class OrganizationComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/organization/organization.component.ts","import {NgModule} from \"@angular/core\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport {OrganizationComponent} from \"./organization.component\";\r\nimport {AdministrationUnitSelectionComponent} from \"./administration_unit/administration-unit-selection/administration-unit-selection.component\";\r\nimport {AdministrationUnitService} from \"./services/administration_unit_service/administration-unit.service\";\r\nimport {ReactiveFormsModule} from \"@angular/forms\";\r\nimport {VisbosCoreModule} from \"../core/visbos-core/visbos-core.module\";\r\nimport { AdministrationUnitsListComponent } from './administration_unit/administration-units-list/administration-units-list.component';\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule, ReactiveFormsModule, VisbosCoreModule\r\n ],\r\n providers: [AdministrationUnitService],\r\n declarations: [OrganizationComponent, AdministrationUnitSelectionComponent, AdministrationUnitsListComponent],\r\n exports: [AdministrationUnitSelectionComponent, AdministrationUnitsListComponent]\r\n})\r\nexport class OrganizationModule {\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/organization/organization.module.ts","import {Injectable} from \"@angular/core\";\r\nimport {Apollo, ApolloQueryObservable} from \"apollo-angular\";\r\nimport gql from \"graphql-tag\";\r\nimport {NgRedux, select} from \"@angular-redux/store\";\r\nimport {IAppState} from \"../../../shared/redux-store/store\";\r\nimport {userFragments} from \"../../../crm/user/user.service\";\r\nimport {AdministrationUnit} from \"../../../shared/view-model/organization/administration-unit.type\";\r\nimport {addressFragments} from \"../../../core/visbos-core/services/address.service\";\r\nimport {Observable} from \"rxjs/Observable\";\r\nimport {VisbosService} from \"../../../core/visbos-core/graphql/visbos.service\";\r\nimport {stockFragments} from \"../../../store-management/services/stock.service\";\r\nimport {SessionActions} from \"../../../shared/actions\";\r\nimport {map} from \"rxjs/operators\";\r\nimport {FetchAdminUnitsEANOverviewQueryQuery} from '../../../shared/graphql/graphql.types';\r\n\r\nexport const businessRelationFragments = {\r\n businessRelation: gql`\r\n fragment BusinessRelationFields on BusinessRelation {\r\n cuid, label, is_editable\r\n relation_source {\r\n cuid, label\r\n }\r\n relation_target {\r\n cuid, label\r\n }\r\n relation_type {\r\n cuid, label\r\n ...on SupplierBusinessRelation {\r\n order_kind_label,\r\n customer_number,\r\n order_data {\r\n cuid, label, is_editable\r\n email, phone, fax\r\n }\r\n }\r\n }\r\n }\r\n `\r\n};\r\n\r\nexport const adminUnitFragments = {\r\n adminUnit: gql`\r\n fragment AdminUnitDetailFields on AdministrationUnit {\r\n cuid, label, is_editable\r\n name, address_name\r\n address {\r\n ...AddressFields\r\n }\r\n billing_address {\r\n ...AddressFields\r\n }\r\n business_relations {\r\n ...BusinessRelationFields\r\n }\r\n is_supplier { cuid label }\r\n forced_supplier {cuid label }\r\n is_manager_of_external_depots\r\n is_central_depot\r\n manages_external_depots {\r\n cuid label\r\n administration_unit {cuid label}\r\n }\r\n is_managed_by_external_admin_units\r\n depots_managed_by_external_admin_unit {\r\n cuid label\r\n administration_unit {cuid label}\r\n }\r\n }\r\n\r\n ${addressFragments.address}\r\n ${businessRelationFragments.businessRelation}\r\n `,\r\n adminUnitOverview: gql`\r\n fragment AdminUnitFields on AdministrationUnit {\r\n cuid, label, is_editable\r\n name, is_central_depot\r\n }\r\n `\r\n};\r\n\r\nexport const fetchUserQuery = gql`\r\n query FetchUserQuery($cuid: String) {\r\n fetchUsers(cuid: $cuid) {\r\n ...UserFields\r\n }\r\n }\r\n\r\n ${userFragments['user']}\r\n`;\r\n\r\nexport const fetchAdminUnitQuery = gql`\r\n query FetchAdminUnitQuery($cuid: String) {\r\n fetchAdminUnits(cuid: $cuid) {\r\n ...AdminUnitDetailFields\r\n }\r\n }\r\n ${adminUnitFragments.adminUnit}\r\n`;\r\n\r\nexport const FetchAdminUnitsOverviewQuery = gql`\r\n query FetchAdminUnitsOverviewQuery($cuid: String) {\r\n fetchAdminUnits(cuid: $cuid) {\r\n ...AdminUnitFields\r\n }\r\n }\r\n ${adminUnitFragments.adminUnitOverview}\r\n`;\r\n\r\nexport const fetchAdminUnitsEANOverviewQuery = gql`\r\n query FetchAdminUnitsEANOverviewQuery($cuid: String) {\r\n fetchAdminUnits(cuid: $cuid) {\r\n ...AdminUnitFields\r\n identities {cuid label created_at ean ean_type}\r\n }\r\n }\r\n ${adminUnitFragments.adminUnitOverview}\r\n`;\r\n\r\nexport const fetchAdminUnitWithStocksQuery = gql`\r\n query FetchAdminUnitWithStocksQuery($cuid: String) {\r\n fetchAdminUnits(cuid: $cuid) {\r\n ...AdminUnitDetailFields\r\n stocks(only_critical: true) {\r\n ...StockDetailFields\r\n }\r\n }\r\n }\r\n ${adminUnitFragments.adminUnit}\r\n ${stockFragments.stock}\r\n`;\r\n\r\nexport const fetchSubAdminUnitsQuery = gql`\r\n query FetchSubAdminUnitsQuery($parentAdminUnitCuid: String!) {\r\n subAdminUnits(parent_admin_unit_cuid: $parentAdminUnitCuid) {\r\n ...AdminUnitDetailFields\r\n }\r\n }\r\n ${adminUnitFragments.adminUnit}\r\n`;\r\n\r\nexport const fetchSubAdminUnitsWithStocksQuery = gql`\r\n query FetchSubAdminUnitsWithStocksQuery($parentAdminUnitCuid: String!, $onlyCritical: Boolean = false) {\r\n subAdminUnits(parent_admin_unit_cuid: $parentAdminUnitCuid) {\r\n ...AdminUnitDetailFields\r\n stocks(only_critical: $onlyCritical) {\r\n ...StockDetailFields\r\n }\r\n }\r\n }\r\n ${adminUnitFragments.adminUnit}\r\n ${stockFragments.stock}\r\n`;\r\n\r\n\r\nexport interface FetchAdminUnitsResult {\r\n fetchAdminUnits: AdministrationUnit[]\r\n}\r\n\r\nexport interface FetchAdminUnitResult {\r\n fetchAdminUnit: AdministrationUnit\r\n}\r\n\r\nexport interface FetchSubAdminUnitsResult {\r\n subAdminUnits: AdministrationUnit[]\r\n}\r\n\r\n@Injectable()\r\nexport class AdministrationUnitService extends VisbosService {\r\n\r\n @select(['session', 'user', 'cuid'])\r\n userCuid$: Observable;\r\n\r\n\r\n constructor(apollo: Apollo, ngRedux: NgRedux, sessionActions: SessionActions) {\r\n super(apollo, ngRedux, sessionActions);\r\n }\r\n\r\n public getAdminUnitsForCurrentUser(): ApolloQueryObservable {\r\n\r\n let data$ = this.fetchItems({\r\n query: fetchUserQuery,\r\n variables: {\r\n cuid: this.userCuid$\r\n }\r\n });\r\n\r\n return >data$.pipe(map(({data}: any) => data.fetchUsers[0].administration_units));\r\n }\r\n\r\n public getAdminUnitDetails(cuid?: string | Observable): ApolloQueryObservable {\r\n\r\n let result = this.fetchItems({\r\n query: fetchAdminUnitQuery,\r\n variables: {\r\n cuid: cuid || this.activeAdminUnitCuid$\r\n }\r\n });\r\n return result;\r\n\r\n }\r\n\r\n public getAdminUnits(): ApolloQueryObservable {\r\n return this.fetchItems({\r\n query: FetchAdminUnitsOverviewQuery\r\n });\r\n }\r\n\r\n public getAdminUnitsWithEAN(): ApolloQueryObservable {\r\n return this.fetchItems({\r\n query: fetchAdminUnitsEANOverviewQuery\r\n });\r\n }\r\n\r\n public getAdminUnitWithCriticalStocks(cuid?: string | Observable): ApolloQueryObservable {\r\n let result = this.fetchItems({\r\n query: fetchAdminUnitWithStocksQuery,\r\n variables: {\r\n cuid: cuid || this.activeAdminUnitCuid$\r\n }\r\n });\r\n return result;\r\n }\r\n\r\n public getSubAdminUnits(parentAdminUnitCuid?: string): ApolloQueryObservable {\r\n return this.fetchItems({\r\n query: fetchSubAdminUnitsQuery,\r\n variables: {\r\n parentAdminUnitCuid: parentAdminUnitCuid || this.activeAdminUnitCuid$\r\n }\r\n });\r\n }\r\n\r\n public getSubAdminUnitsWithStocks(parentAdminUnitCuid?: string, onlyCritical: boolean = false): ApolloQueryObservable {\r\n return this.fetchItems({\r\n query: fetchSubAdminUnitsWithStocksQuery,\r\n variables: {\r\n parentAdminUnitCuid: parentAdminUnitCuid || this.activeAdminUnitCuid$,\r\n onlyCritical: onlyCritical\r\n }\r\n });\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/organization/services/administration_unit_service/administration-unit.service.ts","module.exports = \"\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/sensors/components/sensor-form/sensor-form.component.css\n// module id = ./src/app/sensors/components/sensor-form/sensor-form.component.css\n// module chunks = main","module.exports = \"\\r\\n\\r\\n \\r\\n \\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n \\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n \\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n \\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n \\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n \\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n \\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n \\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n \\r\\n\\r\\n\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/sensors/components/sensor-form/sensor-form.component.html\n// module id = ./src/app/sensors/components/sensor-form/sensor-form.component.html\n// module chunks = main","import {ChangeDetectorRef, Component, forwardRef, OnInit} from '@angular/core';\r\nimport {AbstractVisbosControl} from \"../../../core/visbos-core/ui/forms/abstract-visbos-control\";\r\nimport {FormBuilder, FormGroup, Validators} from \"@angular/forms\";\r\nimport {IModel} from \"../../../shared/view-model/imodel.interface\";\r\nimport {SessionActions} from \"../../../shared/actions\";\r\nimport {appInjector} from \"../../../\";\r\n\r\n@Component({\r\n selector: 'vb-sensor-form',\r\n templateUrl: './sensor-form.component.html',\r\n styleUrls: ['./sensor-form.component.css'],\r\n providers: [{provide: AbstractVisbosControl, useExisting: forwardRef(() => SensorFormComponent)}]\r\n})\r\nexport class SensorFormComponent extends AbstractVisbosControl implements OnInit {\r\n\r\n\r\n constructor(fb: FormBuilder, cd: ChangeDetectorRef, sessionActions: SessionActions) {\r\n super(fb, cd, sessionActions);\r\n }\r\n\r\n ngOnInit() {\r\n super.ngOnInit();\r\n }\r\n\r\n public buildControlContent(values?: IModel): FormGroup {\r\n return SensorFormComponent.initControl(this.fb);\r\n }\r\n\r\n public static initControl(fb: FormBuilder = null): FormGroup {\r\n fb = fb ? fb : appInjector().get(FormBuilder);\r\n\r\n return fb.group({\r\n cuid: [null],\r\n administration_unit_id: [null, Validators.required],\r\n internal_sensor_id: [null, Validators.required],\r\n sensor_model: [null],\r\n label: [null],\r\n description: [null],\r\n is_active: [null],\r\n min_limit: [null, Validators.required],\r\n max_limit: [null, Validators.required],\r\n temperature_unit: [null]\r\n });\r\n }\r\n\r\n public setDefaultValues(item?: any): { [controlKey: string]: any } | any {\r\n return {\r\n cuid: this.setValue(item, 'cuid', AbstractVisbosControl.cuid()),\r\n administration_unit_id: this.setValue(item, 'administration_unit.cuid'),\r\n internal_sensor_id: this.setValue(item, 'internal_sensor_id'),\r\n sensor_model: this.setValue(item, 'sensor_model'),\r\n label: this.setValue(item, 'label'),\r\n description: this.setValue(item, 'description'),\r\n is_active: this.setValue(item, 'is_active'),\r\n min_limit: this.setValue(item, 'min_limit'),\r\n max_limit: this.setValue(item, 'max_limit'),\r\n temperature_unit: this.setValue(item, 'temperature_unit', '°C'),\r\n }\r\n };\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/sensors/components/sensor-form/sensor-form.component.ts","module.exports = \"\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/sensors/components/sensor-list/sensor-list.component.css\n// module id = ./src/app/sensors/components/sensor-list/sensor-list.component.css\n// module chunks = main","module.exports = \"\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/sensors/components/sensor-list/sensor-list.component.html\n// module id = ./src/app/sensors/components/sensor-list/sensor-list.component.html\n// module chunks = main","import {Component} from \"@angular/core\";\r\n\r\n@Component({\r\n selector: 'vb-sensor-list',\r\n templateUrl: './sensor-list.component.html',\r\n styleUrls: ['./sensor-list.component.css']\r\n})\r\nexport class SensorListComponent {\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/sensors/components/sensor-list/sensor-list.component.ts","module.exports = \"\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/sensors/components/temperature-log-chart/temperature-log-chart.component.css\n// module id = ./src/app/sensors/components/temperature-log-chart/temperature-log-chart.component.css\n// module chunks = main","module.exports = \"
\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n {{getToolTipText(tooltipItem)}}\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n {{model.series}}
{{model.name | date:'short'}} Uhr\\r\\n
\\r\\n
\\r\\n {{model.value | number:'1.2-2'}} °C\\r\\n
\\r\\n
\\r\\n
\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/sensors/components/temperature-log-chart/temperature-log-chart.component.html\n// module id = ./src/app/sensors/components/temperature-log-chart/temperature-log-chart.component.html\n// module chunks = main","import {\r\n AfterViewInit,\r\n ChangeDetectorRef, Component, Input, OnChanges, OnInit, SimpleChanges, TemplateRef,\r\n ViewChild\r\n} from '@angular/core';\r\nimport {AbstractVisbosComponent} from \"../../../core/visbos-core/components/abstract-visbos.component\";\r\nimport {SessionActions} from \"../../../shared/actions\";\r\nimport {DatePipe, DecimalPipe} from \"@angular/common\";\r\n\r\nimport * as d3 from 'd3-shape';\r\nimport * as _ from 'lodash';\r\nimport {LineChartComponent} from \"@swimlane/ngx-charts\";\r\n\r\n@Component({\r\n selector: 'vb-temperature-log-chart',\r\n templateUrl: './temperature-log-chart.component.html',\r\n styleUrls: ['./temperature-log-chart.component.css']\r\n})\r\nexport class TemperatureLogChartComponent extends AbstractVisbosComponent implements OnInit, AfterViewInit, OnChanges {\r\n\r\n @Input()\r\n logEntries = [];\r\n\r\n criticalEntries = [];\r\n\r\n @Input()\r\n sensor;\r\n\r\n tempChartVisible: boolean = true;\r\n\r\n @ViewChild('tempChart')\r\n private tempChart: LineChartComponent;\r\n\r\n @ViewChild('tempSeriesTooltipTemplate')\r\n tempSeriesTooltipTemplate: TemplateRef;\r\n\r\n @ViewChild('tempTooltipTemplate')\r\n tempTooltipTemplate: TemplateRef;\r\n\r\n // options\r\n showXAxis = true;\r\n showYAxis = true;\r\n gradient = false;\r\n label = \"Insgesamt\";\r\n legendTitle = \"Legende\";\r\n showLegend = true;\r\n showXAxisLabel = true;\r\n xAxisLabel = 'Zeitpunkt';\r\n showYAxisLabel = true;\r\n yAxisLabel = '° C';\r\n timeline = true;\r\n autoScale = false;\r\n round = true;\r\n curve = d3.curveNatural;\r\n referenceLines = [];\r\n showRefLines = true;\r\n showRefLabels = true;\r\n\r\n xAxisTickFormatting = (label) => {\r\n return this.datePipe.transform(label, 'short');\r\n };\r\n\r\n yAxisTickFormatting = (label) => {\r\n return this.numberPipe.transform(label, '1.1-1');\r\n };\r\n\r\n colorScheme = {\r\n domain: ['#5AA454', '#A10A28', '#C7B42C', '#AAAAAA']\r\n };\r\n\r\n constructor(sessionActions: SessionActions, cd: ChangeDetectorRef,\r\n private datePipe: DatePipe, private numberPipe: DecimalPipe) {\r\n super(sessionActions, cd);\r\n }\r\n\r\n ngOnInit() {\r\n super.ngOnInit();\r\n }\r\n\r\n\r\n ngAfterViewInit() {\r\n super.ngAfterViewInit();\r\n\r\n if (this.tempSeriesTooltipTemplate) {\r\n this.tempChart.seriesTooltipTemplate = this.tempSeriesTooltipTemplate;\r\n }\r\n\r\n if(this.tempTooltipTemplate) {\r\n this.tempChart.tooltipTemplate = this.tempTooltipTemplate;\r\n }\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n\r\n if (changes.sensor) {\r\n this.yAxisLabel = this.sensor.temperature_unit;\r\n this.referenceLines = [\r\n {\r\n name: 'MAX',\r\n value: this.sensor.max_limit\r\n },\r\n {\r\n name: 'MIN',\r\n value: this.sensor.min_limit\r\n }\r\n ];\r\n }\r\n\r\n if (changes.logEntries) {\r\n\r\n // Filter critical entries for highlighting\r\n this.criticalEntries = _.cloneDeep(this.logEntries)\r\n .map(e => {\r\n return {\r\n 'name': e.name,\r\n 'series': e.series.filter(s => s.highlight && s.highlight == true)\r\n }\r\n });\r\n }\r\n }\r\n\r\n getToolTipText(tooltipItem) {\r\n var result = '';\r\n if (tooltipItem.series !== undefined) {\r\n result += tooltipItem.series;\r\n }\r\n else {\r\n result += '???';\r\n }\r\n result += ': ';\r\n if (tooltipItem.value !== undefined) {\r\n result += this.numberPipe.transform(tooltipItem.value) + ' °C';\r\n }\r\n if (tooltipItem.min !== undefined || tooltipItem.max !== undefined) {\r\n result += ' (';\r\n if (tooltipItem.min !== undefined) {\r\n if (tooltipItem.max === undefined) {\r\n result += '≥';\r\n }\r\n result += tooltipItem.min.toLocaleString();\r\n if (tooltipItem.max !== undefined) {\r\n result += ' - ';\r\n }\r\n }\r\n else if (tooltipItem.max !== undefined) {\r\n result += '≤';\r\n }\r\n if (tooltipItem.max !== undefined) {\r\n result += tooltipItem.max.toLocaleString();\r\n }\r\n result += ')';\r\n }\r\n return result;\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/sensors/components/temperature-log-chart/temperature-log-chart.component.ts","module.exports = \"\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/sensors/components/temperature-log-entries-list/temperature-log-entries-list.component.css\n// module id = ./src/app/sensors/components/temperature-log-entries-list/temperature-log-entries-list.component.css\n// module chunks = main","module.exports = \"\\r\\n\\r\\n\\r\\n\\r\\n {{row.temperature_value ? (row.temperature_value | number:'1.1-1') : '-'}} {{row.temperature_unit}}\\r\\n\\r\\n\\r\\n\\r\\n \\r\\n \\r\\n\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/sensors/components/temperature-log-entries-list/temperature-log-entries-list.component.html\n// module id = ./src/app/sensors/components/temperature-log-entries-list/temperature-log-entries-list.component.html\n// module chunks = main","import {ChangeDetectorRef, Component, Input, OnInit, TemplateRef, ViewChild} from '@angular/core';\r\nimport {AbstractListView} from \"../../../core/visbos-core/ui/components/abstract-list-view\";\r\nimport {SessionActions} from \"../../../shared/actions\";\r\nimport {DatatableComponent} from \"../../../core/visbos-core/ui/components/datatable/datatable.component\";\r\n\r\n@Component({\r\n selector: 'vb-temperature-log-entries-list',\r\n templateUrl: './temperature-log-entries-list.component.html',\r\n styleUrls: ['./temperature-log-entries-list.component.css']\r\n})\r\nexport class TemperatureLogEntriesListComponent extends AbstractListView implements OnInit {\r\n\r\n @Input()\r\n tempLogEntries = [];\r\n\r\n @ViewChild('table')\r\n datatable: DatatableComponent;\r\n\r\n @ViewChild('formatTemperatureTmpl')\r\n formatTemperatureTmpl: TemplateRef;\r\n\r\n @ViewChild('notificationsTmpl')\r\n notificationsTmpl: TemplateRef;\r\n\r\n constructor(sessionActions: SessionActions, cd: ChangeDetectorRef) {\r\n super(sessionActions, cd);\r\n }\r\n\r\n ngOnInit() {\r\n super.ngOnInit();\r\n\r\n this.columns = [\r\n {prop: 'created_at', name: 'Zeitstempel', cellTemplate: this.datatable.formatDateTimeTmpl, flexGrow: 2},\r\n {name: 'Temperatur', cellTemplate: this.formatTemperatureTmpl, flexGrow: 2},\r\n {name: 'Status', cellTemplate: this.notificationsTmpl, sortable: false, maxWidth: '100px', flexGrow: 1}\r\n ];\r\n\r\n }\r\n\r\n onCellUpdate(row, res, index) {\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/sensors/components/temperature-log-entries-list/temperature-log-entries-list.component.ts","import {Injectable} from \"@angular/core\";\r\nimport {ActivatedRouteSnapshot, CanActivate, CanActivateChild, Router, RouterStateSnapshot} from \"@angular/router\";\r\nimport {NgRedux} from \"@angular-redux/store\";\r\nimport {Observable} from \"rxjs/Observable\";\r\nimport {IUser} from \"../../shared/redux-store/session/session.types\";\r\nimport {IAppState} from \"../../shared/redux-store/store\";\r\nimport {VisBosGuard} from \"../../core/visbos-core/authorization/guards/visbos.guard\";\r\nimport {SessionActions} from \"../../shared/actions/session.actions\";\r\n\r\n@Injectable()\r\nexport class SensorsAuthorizedGuard extends VisBosGuard implements CanActivate, CanActivateChild {\r\n\r\n constructor(router: Router, siActions: SessionActions, ngRx: NgRedux) {\r\n super(router, siActions, ngRx);\r\n }\r\n\r\n canActivate(childRoute: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable | Promise | boolean {\r\n let user: IUser = this.ngRx.getState().session.user;\r\n\r\n if (user.permissions.find(perm => perm === 'access sensor module')) {\r\n return true;\r\n } else {\r\n this.onAccessError();\r\n return false;\r\n }\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/sensors/guards/sensors-authorized.guard.ts","module.exports = \"\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/sensors/sensors-module.component.css\n// module id = ./src/app/sensors/sensors-module.component.css\n// module chunks = main","module.exports = \"\\r\\n
\\r\\n
\\r\\n

{{title}}

\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
    \\r\\n\\r\\n
  • Übersicht
  • \\r\\n\\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n \\r\\n\\r\\n
\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/sensors/sensors-module.component.html\n// module id = ./src/app/sensors/sensors-module.component.html\n// module chunks = main","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'vb-sensors-module',\r\n templateUrl: './sensors-module.component.html',\r\n styleUrls: ['./sensors-module.component.css']\r\n})\r\nexport class SensorsModuleComponent implements OnInit {\r\n\r\n title = 'Sensoren';\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/sensors/sensors-module.component.ts","import {Routes} from \"@angular/router\";\r\nimport {SensorsModuleComponent} from \"./sensors-module.component\";\r\nimport {SensorsAuthorizedGuard} from \"./guards/sensors-authorized.guard\";\r\nimport {SensorDashboardViewComponent} from \"./views/sensor-dashboard-view/sensor-dashboard-view.component\";\r\nimport {SensorListViewComponent} from \"./views/sensor-list-view/sensor-list-view.component\";\r\nimport {SensorDetailsComponent} from \"./views/sensor-details/sensor-details.component\";\r\n\r\nexport const sensorsRoutes: Routes = [\r\n {\r\n path: 'sensoren',\r\n component: SensorsModuleComponent,\r\n canActivate: [SensorsAuthorizedGuard],\r\n children: [\r\n {\r\n path: '',\r\n canActivateChild: [SensorsAuthorizedGuard],\r\n children: [\r\n {\r\n path: 'dashboard',\r\n component: SensorDashboardViewComponent\r\n },\r\n {\r\n path: 'auswertung/:sensorCuid',\r\n component: SensorDetailsComponent\r\n },\r\n {\r\n path: 'liste',\r\n component: SensorListViewComponent\r\n },\r\n {\r\n path: '',\r\n redirectTo: 'dashboard',\r\n pathMatch: 'full'\r\n },\r\n ]\r\n }\r\n ]\r\n }\r\n];\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/sensors/sensors-routing.ts","import {NgModule} from '@angular/core';\r\nimport {CommonModule} from '@angular/common';\r\nimport {SensorsModuleComponent} from './sensors-module.component';\r\nimport {SensorDashboardViewComponent} from './views/sensor-dashboard-view/sensor-dashboard-view.component';\r\nimport {SensorListViewComponent} from './views/sensor-list-view/sensor-list-view.component';\r\nimport {SensorsAuthorizedGuard} from \"./guards/sensors-authorized.guard\";\r\nimport {VisbosCoreModule} from \"../core/visbos-core/visbos-core.module\";\r\nimport {RouterModule} from \"@angular/router\";\r\nimport {FormsModule, ReactiveFormsModule} from \"@angular/forms\";\r\nimport {SensorListComponent} from './components/sensor-list/sensor-list.component';\r\nimport {SensorService} from \"./services/sensor.service\";\r\nimport {SensorDetailsComponent} from './views/sensor-details/sensor-details.component';\r\nimport {TemperatureLogEntriesListComponent} from './components/temperature-log-entries-list/temperature-log-entries-list.component';\r\nimport {TemperatureLogChartComponent} from './components/temperature-log-chart/temperature-log-chart.component';\r\nimport {NgxChartsModule} from \"@swimlane/ngx-charts\";\r\nimport {BrowserAnimationsModule} from \"@angular/platform-browser/animations\";\r\nimport {SensorFormComponent} from './components/sensor-form/sensor-form.component';\r\nimport {OrganizationModule} from \"../organization/organization.module\";\r\nimport {CollapseModule} from 'ngx-bootstrap/collapse';\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule, BrowserAnimationsModule, FormsModule, ReactiveFormsModule, RouterModule,\r\n CollapseModule.forRoot(),\r\n NgxChartsModule,\r\n VisbosCoreModule, OrganizationModule\r\n ],\r\n providers: [SensorsAuthorizedGuard, SensorService],\r\n declarations: [SensorsModuleComponent, SensorDashboardViewComponent, SensorListViewComponent, SensorListComponent, SensorDetailsComponent, TemperatureLogEntriesListComponent, TemperatureLogChartComponent, SensorFormComponent]\r\n})\r\nexport class SensorsModule {\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/sensors/sensors.module.ts","import {Injectable} from '@angular/core';\r\nimport {VisbosService} from \"../../core/visbos-core/graphql/visbos.service\";\r\nimport {Apollo} from \"apollo-angular\";\r\nimport {NgRedux} from \"@angular-redux/store\";\r\nimport {IAppState} from \"../../shared/redux-store\";\r\nimport {SessionActions} from \"../../shared/actions\";\r\nimport gql from \"graphql-tag\";\r\nimport {Observable} from \"rxjs/Observable\";\r\nimport {variable} from \"@angular/compiler/src/output/output_ast\";\r\nimport {ApolloQueryResult} from \"apollo-client\";\r\n\r\nexport const sensorFragments = {\r\n sensorFields: gql`\r\n fragment SensorFields on TemperatureSensor {\r\n cuid label is_editable\r\n administration_unit {cuid label}\r\n created_at updated_at\r\n internal_sensor_id sensor_model\r\n description\r\n is_active\r\n min_limit max_limit\r\n temperature_unit\r\n }`,\r\n logEntryFields: gql`\r\n fragment LogEntryFields on TemperatureLogEntry {\r\n cuid label\r\n is_editable\r\n created_at updated_at\r\n temperature_value\r\n min_limit max_limit\r\n temperature_unit\r\n is_critical\r\n has_triggered_notifications\r\n }\r\n `\r\n};\r\n\r\nexport const GetSensorsOverviewQuery = gql`\r\n query GetTemperatureSensors(\r\n $adminUnitCuid:String, $sensorCuid:String) {\r\n sensors(adminUnitCuid:$adminUnitCuid, sensorCuid:$sensorCuid) {\r\n ...SensorFields\r\n latest_value {\r\n ...LogEntryFields\r\n }\r\n }\r\n }\r\n ${sensorFragments.sensorFields}\r\n ${sensorFragments.logEntryFields}\r\n`;\r\n\r\nexport const UpdateTemperatureSensorMutation = gql`\r\n mutation UpdateTemperatureSensorMutation($cuid: String!, $input: TemperatureSensorInput!) {\r\n updateTemperatureSensor(cuid: $cuid, sensorInput: $input) {\r\n ...SensorFields\r\n }\r\n }\r\n ${sensorFragments.sensorFields}\r\n`;\r\n\r\nexport const GetSensorDetailQuery = gql`\r\n query GetTemperatureSensorDetails(\r\n $adminUnitCuid:String, $sensorCuid:String,\r\n $critical: Boolean, $start:String, $end:String) {\r\n sensors(adminUnitCuid:$adminUnitCuid, sensorCuid:$sensorCuid) {\r\n ...SensorFields\r\n log_entries(only_critical:$critical, start_time:$start, end_time:$end) {\r\n ...LogEntryFields\r\n }\r\n }\r\n }\r\n ${sensorFragments.sensorFields}\r\n ${sensorFragments.logEntryFields}\r\n`;\r\n\r\n@Injectable()\r\nexport class SensorService extends VisbosService {\r\n\r\n constructor(apollo: Apollo, ngRedux: NgRedux, sessionActions: SessionActions) {\r\n super(apollo, ngRedux, sessionActions);\r\n }\r\n\r\n public getSensors(adminUnitCuid?: string | Observable) {\r\n return this.fetchItems({\r\n query: GetSensorsOverviewQuery,\r\n variables: {\r\n adminUnitCuid: adminUnitCuid || this.activeAdminUnitCuid$\r\n }\r\n });\r\n }\r\n\r\n public getSensorDetails(sensorCuid: string | Observable,\r\n onlyCritical?: boolean | Observable,\r\n startDate?: Date | Observable,\r\n endDate?: Date | Observable) {\r\n return this.fetchItems({\r\n query: GetSensorDetailQuery,\r\n variables: {\r\n sensorCuid: sensorCuid,\r\n critical: onlyCritical,\r\n start: startDate,\r\n end: endDate\r\n }\r\n });\r\n }\r\n\r\n public updateTempratureSensor(sensorCuid: string, sensorData: any): Observable> {\r\n return this.mutate({\r\n mutation: UpdateTemperatureSensorMutation,\r\n variables: {\r\n cuid: sensorCuid,\r\n input: sensorData\r\n }\r\n });\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/sensors/services/sensor.service.ts","module.exports = \"\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/sensors/views/sensor-dashboard-view/sensor-dashboard-view.component.css\n// module id = ./src/app/sensors/views/sensor-dashboard-view/sensor-dashboard-view.component.css\n// module chunks = main","module.exports = \"\\r\\n\\r\\n
Sensor-Übersicht
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

{{sens.administration_unit.label}}

\\r\\n

{{sens.label}}

\\r\\n
\\r\\n
\\r\\n
Letzer Wert:
\\r\\n
{{sens.latest_value?.temperature_value | number:'1.1-1'}} {{sens.latest_value?.temperature_unit}}
\\r\\n
({{sens.latest_value?.created_at | date:'short'}})
\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/sensors/views/sensor-dashboard-view/sensor-dashboard-view.component.html\n// module id = ./src/app/sensors/views/sensor-dashboard-view/sensor-dashboard-view.component.html\n// module chunks = main","import {ChangeDetectorRef, Component, OnInit} from '@angular/core';\r\nimport {AbstractVisbosComponent} from \"../../../core/visbos-core/components/abstract-visbos.component\";\r\nimport {SessionActions} from \"../../../shared/actions\";\r\nimport {ApolloQueryObservable} from \"apollo-angular\";\r\nimport {SensorService} from \"../../services/sensor.service\";\r\nimport {ActivatedRoute, Router} from \"@angular/router\";\r\n\r\n@Component({\r\n selector: 'vb-sensor-dashboard-view',\r\n templateUrl: './sensor-dashboard-view.component.html',\r\n styleUrls: ['./sensor-dashboard-view.component.css']\r\n})\r\nexport class SensorDashboardViewComponent extends AbstractVisbosComponent implements OnInit {\r\n\r\n private sensors$: ApolloQueryObservable;\r\n public sensors: any;\r\n\r\n loadingIndicator: boolean = true;\r\n\r\n constructor(sessionActions: SessionActions, cd: ChangeDetectorRef,\r\n private sensorService: SensorService,\r\n private router: Router, private route: ActivatedRoute) {\r\n super(sessionActions, cd);\r\n }\r\n\r\n ngOnInit() {\r\n super.ngOnInit();\r\n\r\n this.sensors$ = this.sensorService.getSensors();\r\n this.addComponentData(this.sensors$);\r\n this.addSubscription(this.sensors$.subscribe(res => {\r\n this.loadingIndicator = res.loading;\r\n this.sensors = res.data.sensors;\r\n }));\r\n\r\n }\r\n\r\n getSensorColorClass(sensor) {\r\n return {\r\n 'panel-success': sensor.latest_value && !sensor.latest_value.is_critical,\r\n 'panel-danger': sensor.latest_value && sensor.latest_value.is_critical\r\n }\r\n }\r\n\r\n onSensorDetailsClicked(sensor) {\r\n this.router.navigate(['../auswertung', sensor.cuid], {relativeTo: this.route});\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/sensors/views/sensor-dashboard-view/sensor-dashboard-view.component.ts","module.exports = \"\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/sensors/views/sensor-details/sensor-details.component.css\n// module id = ./src/app/sensors/views/sensor-details/sensor-details.component.css\n// module chunks = main","module.exports = \"\\r\\n\\r\\n
Sensor-Auswertung
\\r\\n {{sensor?.administration_unit?.label}} {{sensor?.label}}\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
Sensor-Daten\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n Speichern\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
Temperaturverlauf
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
Tabellarische Temperaturwerte
\\r\\n\\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n\\r\\n\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/sensors/views/sensor-details/sensor-details.component.html\n// module id = ./src/app/sensors/views/sensor-details/sensor-details.component.html\n// module chunks = main","import {ChangeDetectorRef, Component, OnInit} from '@angular/core';\r\nimport {AbstractVisbosComponent} from \"../../../core/visbos-core/components/abstract-visbos.component\";\r\nimport {SessionActions} from \"../../../shared/actions\";\r\nimport {ActivatedRoute} from \"@angular/router\";\r\nimport {ApolloQueryObservable} from \"apollo-angular\";\r\nimport {SensorService} from \"../../services/sensor.service\";\r\nimport {Observable} from \"rxjs/Observable\";\r\nimport {FormBuilder, FormGroup} from \"@angular/forms\";\r\nimport {SensorFormComponent} from \"../../components/sensor-form/sensor-form.component\";\r\nimport {MessageType} from \"../../../shared/redux-store/session\";\r\nimport {map} from \"rxjs/operators\";\r\n\r\n@Component({\r\n selector: 'vb-sensor-details',\r\n templateUrl: './sensor-details.component.html',\r\n styleUrls: ['./sensor-details.component.css']\r\n})\r\nexport class SensorDetailsComponent extends AbstractVisbosComponent implements OnInit {\r\n\r\n private sensor$: ApolloQueryObservable;\r\n public sensor: any;\r\n public logEntriesSeriesData = [];\r\n\r\n filterControl: FormGroup;\r\n sensorControl: FormGroup;\r\n\r\n isSensorDataCollapsed: boolean = true;\r\n\r\n constructor(sessionActions: SessionActions, cd: ChangeDetectorRef,\r\n private fb: FormBuilder,\r\n private route: ActivatedRoute,\r\n private sensorService: SensorService) {\r\n super(sessionActions, cd);\r\n }\r\n\r\n ngOnInit() {\r\n super.ngOnInit();\r\n\r\n this.sensorControl = SensorFormComponent.initControl(this.fb);\r\n\r\n this.filterControl = this.fb.group({\r\n start_date: [],\r\n end_date: []\r\n });\r\n\r\n let sensorCuid$: Observable = this.route.params.pipe(map(params => params.sensorCuid));\r\n this.sensor$ = this.sensorService.getSensorDetails(sensorCuid$, false, this.filterControl.get('start_date').valueChanges, this.filterControl.get('end_date').valueChanges);\r\n this.addComponentData(this.sensor$);\r\n this.addSubscription(this.sensor$.subscribe(res => {\r\n this.sensor = res.data.sensors[0];\r\n this.logEntriesSeriesData = this.getLogEntriesAsSeriesData();\r\n }));\r\n\r\n this.filterControl.patchValue({start_date: null, end_date: null}); // REquired to trigger initial loading of sensor details\r\n\r\n }\r\n\r\n public getLogEntriesAsSeriesData() {\r\n let entries = this.sensor.log_entries;\r\n\r\n let seriesData = [];\r\n\r\n for (let entry of entries) {\r\n seriesData.push({\r\n 'name': new Date(entry.created_at),\r\n 'value': entry.temperature_value,\r\n 'highlight': entry.is_critical\r\n })\r\n }\r\n\r\n return [{\r\n 'name': this.sensor.label,\r\n 'series': seriesData\r\n }];\r\n }\r\n\r\n onUpdateSensorClicked() {\r\n let cuid = this.sensorControl.get('cuid').value;\r\n let input = this.sensorControl.getRawValue();\r\n\r\n this.sensorService.updateTempratureSensor(cuid, input).toPromise()\r\n .then(res => this.sessionActions.pushMessage(\"Sensor-Daten erfolgreich gespeichert!\", MessageType.SUCCESS, \"Sensoren\"))\r\n .catch(err => this.sessionActions.throwError(err, \"Fehler beim Speichern der Sensor-Daten, bitte wenden Sie sich an den Support!\", \"Sensoren\"));\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/sensors/views/sensor-details/sensor-details.component.ts","module.exports = \"\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/sensors/views/sensor-list-view/sensor-list-view.component.css\n// module id = ./src/app/sensors/views/sensor-list-view/sensor-list-view.component.css\n// module chunks = main","module.exports = \"

\\r\\n sensor-list-view works!\\r\\n

\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/sensors/views/sensor-list-view/sensor-list-view.component.html\n// module id = ./src/app/sensors/views/sensor-list-view/sensor-list-view.component.html\n// module chunks = main","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'vb-sensor-list-view',\r\n templateUrl: './sensor-list-view.component.html',\r\n styleUrls: ['./sensor-list-view.component.css']\r\n})\r\nexport class SensorListViewComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/sensors/views/sensor-list-view/sensor-list-view.component.ts","import {Injectable} from \"@angular/core\";\r\nimport {NgRedux} from \"@angular-redux/store\";\r\nimport {IAppState} from \"../redux-store\";\r\nimport {AdministrationUnit} from \"../view-model/organization/administration-unit.type\";\r\nimport {AdministrationUnitService} from \"../../organization/services/administration_unit_service/administration-unit.service\";\r\nimport {Observable} from \"rxjs/Observable\";\r\nimport {tap} from \"rxjs/operators\";\r\n\r\n@Injectable()\r\nexport class AdminUnitActions {\r\n\r\n static SELECT_ADMIN_UNIT = 'SELECT_ADMIN_UNIT';\r\n static RETRIEVE_ADMIN_UNIT_DATA = 'RETRIEVE_ADMIN_UNIT_DATA';\r\n static RETRIEVE_ADMIN_UNIT_DATA_SUCCESS = 'RETRIEVE_ADMIN_UNIT_DATA_SUCCESS';\r\n static RETRIEVE_ADMIN_UNIT_DATA_ERROR = 'RETRIEVE_ADMIN_UNIT_DATA_ERROR';\r\n\r\n constructor(private adminUnitService: AdministrationUnitService, private ngRedux: NgRedux) {\r\n }\r\n\r\n public selectAdminUnit(adminUnitCuid: string, adminUnits?: AdministrationUnit[]): AdministrationUnit {\r\n let adminUnit = adminUnits ? adminUnits.find(unit => unit.cuid == adminUnitCuid) : null;\r\n\r\n this.ngRedux.dispatch({\r\n type: AdminUnitActions.SELECT_ADMIN_UNIT,\r\n payload: {cuid: adminUnitCuid}\r\n });\r\n\r\n this.retrieveAdminUnitData(adminUnitCuid);\r\n\r\n return adminUnit;\r\n }\r\n\r\n public retrieveAdminUnitData(adminUnitCuid: string | Observable): Observable {\r\n\r\n this.ngRedux.dispatch({\r\n type: AdminUnitActions.RETRIEVE_ADMIN_UNIT_DATA\r\n });\r\n\r\n return this.adminUnitService.getAdminUnitDetails(adminUnitCuid).pipe(\r\n tap(res => {\r\n this.ngRedux.dispatch({\r\n type: AdminUnitActions.RETRIEVE_ADMIN_UNIT_DATA_SUCCESS,\r\n payload: res.data.fetchAdminUnits ? res.data.fetchAdminUnits[0] : null\r\n });\r\n }, err => {\r\n this.ngRedux.dispatch({\r\n type: AdminUnitActions.RETRIEVE_ADMIN_UNIT_DATA_ERROR\r\n });\r\n })\r\n );\r\n\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/shared/actions/admin-unit.actions.ts","import {Injectable} from \"@angular/core\";\r\nimport {NgRedux} from \"@angular-redux/store\";\r\nimport {IAppState} from \"../redux-store\";\r\n\r\n@Injectable()\r\nexport class DepotActions {\r\n static SELECT_DEPOT = 'SELECT_DEPOT';\r\n\r\n constructor(private ngRedux: NgRedux) {\r\n }\r\n\r\n selectDepot(id) {\r\n this.ngRedux.dispatch({\r\n type: DepotActions.SELECT_DEPOT,\r\n payload: id,\r\n });\r\n };\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/shared/actions/depot.actions.ts","import {Action} from \"redux\";\r\nimport {SessionActions} from \"./session.actions\";\r\nimport {DepotActions} from \"./depot.actions\";\r\n\r\nexport interface IPayloadAction extends Action {\r\n payload?: any;\r\n}\r\n\r\nexport const ACTION_PROVIDERS = [SessionActions, DepotActions];\r\nexport {SessionActions, DepotActions};\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/shared/actions/index.ts","import {Injectable} from \"@angular/core\";\r\nimport {NgRedux} from \"@angular-redux/store\";\r\nimport {IAppState} from \"../redux-store\";\r\nimport {Router} from \"@angular/router\";\r\nimport {UserService} from \"../../crm/user/user.service\";\r\nimport {Observable} from \"rxjs/Observable\";\r\nimport {IUser, MessageType} from \"../redux-store/session/session.types\";\r\nimport {Apollo} from \"apollo-angular\";\r\nimport {environment} from \"../../../environments/environment\";\r\nimport {isUndefined} from \"util\";\r\nimport {BehaviorSubject} from \"rxjs/BehaviorSubject\";\r\nimport {HttpClient, HttpHeaders} from \"@angular/common/http\";\r\nimport {catchError, delay, map, mergeMap, retryWhen, scan, tap} from \"rxjs/operators\";\r\nimport {empty} from \"rxjs/observable/empty\";\r\nimport {VisBOSMessage} from \"../../core/visbos-core/ui/messages/VisBOSMessage.interface\";\r\n\r\n@Injectable()\r\nexport class SessionActions {\r\n static LOGIN_USER = 'LOGIN_USER';\r\n static LOGIN_USER_SUCCESS = 'LOGIN_USER_SUCCESS';\r\n static LOGIN_USER_ERROR = 'LOGIN_USER_ERROR';\r\n static LOGOUT_USER = 'LOGOUT_USER';\r\n static REFRESH_TOKEN = 'REFRESH_TOKEN';\r\n\r\n static INIT_ASYNC_ACTION = 'INIT_ASYNC_ACTION';\r\n static FINISH_ASYNC_ACTION = 'FINISH_ASYNC_ACTION';\r\n static SET_REDIRECT_URL = 'SET_REDIRECT_URL';\r\n\r\n static PUSH_MESSAGE = 'PUSH_MESSAGE';\r\n static REMOVE_MESSAGE = 'REMOVE_MESSAGE';\r\n static CLEAR_ALL_MESSAGES = 'CLEAR_ALL_MESSAGES';\r\n\r\n static THROW_ERROR = 'THROW_ERROR';\r\n\r\n growlMsgs: BehaviorSubject = new BehaviorSubject([]);\r\n private growlTimeout: any;\r\n\r\n constructor(private ngRedux: NgRedux,\r\n private apollo: Apollo,\r\n private userService: UserService,\r\n private http: HttpClient,\r\n private router: Router) {\r\n }\r\n\r\n public throwError(err, userMessage?: string, issuer?: string, hideErrMessage: boolean = false) {\r\n\r\n let msg = userMessage ? userMessage : 'Es ist ein unerwarteter Fehler aufgetreten!';\r\n\r\n if (err && err.message && !hideErrMessage) {\r\n msg = `
${msg}
${err.message}`;\r\n }\r\n\r\n this.pushMessage(msg, MessageType.ERROR, issuer || 'VisBOS');\r\n this.finishAsyncAction();\r\n throw err;\r\n }\r\n\r\n public initAsyncAction(actionLabel?) {\r\n this.ngRedux.dispatch({\r\n type: SessionActions.INIT_ASYNC_ACTION,\r\n payload: actionLabel\r\n })\r\n }\r\n\r\n public finishAsyncAction(actionLabel?) {\r\n this.ngRedux.dispatch({\r\n type: SessionActions.FINISH_ASYNC_ACTION,\r\n payload: actionLabel\r\n })\r\n }\r\n\r\n public refreshToken(newToken: string) {\r\n if (!newToken) {\r\n console.warn(\"Refreshing token to null!\", [newToken]);\r\n }\r\n\r\n this.ngRedux.dispatch({\r\n type: SessionActions.REFRESH_TOKEN,\r\n payload: newToken\r\n });\r\n }\r\n\r\n public loginUser(email: string, password: string): Observable {\r\n\r\n // Dispatch login action\r\n this.ngRedux.dispatch({\r\n type: SessionActions.LOGIN_USER,\r\n payload: {email: email, password: password},\r\n });\r\n\r\n let headers = new HttpHeaders(\r\n {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n });\r\n let options = {'headers': headers};\r\n\r\n // Login user via REST\r\n return this.http\r\n .post(\r\n environment.authServer,\r\n JSON.stringify({email, password}),\r\n options\r\n ).pipe(\r\n retryWhen(errors => errors.pipe(\r\n tap(e => {\r\n if (e.status == 404) {\r\n throw e;\r\n }\r\n }\r\n ),\r\n scan((errorCount, err) => {\r\n if (errorCount >= 5) {\r\n throw err;\r\n }\r\n return errorCount + 1;\r\n }, 0),\r\n delay(500)\r\n )\r\n ),\r\n catchError(error => {\r\n this.ngRedux.dispatch({\r\n type: SessionActions.LOGIN_USER_ERROR,\r\n });\r\n\r\n this.pushMessage(\"Benutzername oder Passwort falsch!\", MessageType.ERROR, \"Log-In\");\r\n\r\n return empty();\r\n }),\r\n mergeMap((res: any) => {\r\n let token = res.token || null;\r\n this.refreshToken(token);\r\n return this.fetchAuthorizedUser();\r\n }),\r\n map(userRes => {\r\n this.ngRedux.dispatch({\r\n type: SessionActions.LOGIN_USER_SUCCESS,\r\n payload: {profile: userRes.user},\r\n });\r\n\r\n return userRes;\r\n })\r\n );\r\n\r\n\r\n };\r\n\r\n public fetchAuthorizedUser(token?: string): Observable {\r\n\r\n // Get token from parameter or from store. If both fails, logout user\r\n if (!(token = !token ? this.ngRedux.getState().session.token : token)) {\r\n this.logoutUser();\r\n return empty();\r\n }\r\n\r\n const obs = this.userService.getUser(token)\r\n .pipe(tap(userRes => {\r\n this.ngRedux.dispatch({\r\n type: SessionActions.LOGIN_USER_SUCCESS,\r\n payload: {profile: userRes.user},\r\n });\r\n }));\r\n\r\n return obs;\r\n }\r\n\r\n\r\n public logoutUser() {\r\n this.router.navigate(['logout']);\r\n }\r\n\r\n public setRedirectUrl(url: string) {\r\n this.ngRedux.dispatch({\r\n type: SessionActions.SET_REDIRECT_URL,\r\n payload: url,\r\n });\r\n }\r\n\r\n private getGrowlSeverity(type: MessageType): string {\r\n switch (type) {\r\n case MessageType.INFO:\r\n return 'info';\r\n case MessageType.SUCCESS:\r\n return 'success';\r\n case MessageType.WARNING:\r\n return 'warn';\r\n case MessageType.ERROR:\r\n return 'error';\r\n default:\r\n return 'info';\r\n }\r\n }\r\n\r\n public pushMessage(message: string, type: MessageType = MessageType.INFO, issuer?: string, persist?: boolean, sticky?: boolean) {\r\n\r\n let newMsg: VisBOSMessage = {\r\n severity: this.getGrowlSeverity(type),\r\n summary: issuer ? issuer : null,\r\n detail: message,\r\n sticky: sticky || false\r\n };\r\n\r\n this.growlMsgs.next([...this.growlMsgs.value, newMsg]);\r\n\r\n this.handleGrowlChange();\r\n\r\n if ((type == MessageType.ERROR && isUndefined(persist)) || persist == true) {\r\n this.ngRedux.dispatch({\r\n type: SessionActions.PUSH_MESSAGE,\r\n payload: {\r\n message: message,\r\n type: type\r\n }\r\n });\r\n }\r\n }\r\n\r\n public clearAllMessages() {\r\n\r\n this.growlMsgs.next([]);\r\n\r\n this.ngRedux.dispatch({type: SessionActions.CLEAR_ALL_MESSAGES})\r\n }\r\n\r\n public removeMessage(index: number) {\r\n\r\n let newMsgs = [...this.growlMsgs.value];\r\n newMsgs.splice(index, 1);\r\n this.growlMsgs.next(newMsgs);\r\n\r\n this.ngRedux.dispatch({\r\n type: SessionActions.REMOVE_MESSAGE,\r\n payload: index\r\n })\r\n }\r\n\r\n handleGrowlChange() {\r\n if (this.growlTimeout) {\r\n clearTimeout(this.growlTimeout);\r\n }\r\n\r\n this.growlTimeout = setTimeout(() => {\r\n let newMsgs = [...this.growlMsgs.value];\r\n newMsgs = newMsgs.filter(m => m.sticky);\r\n this.growlMsgs.next(newMsgs);\r\n }, 5000);\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/shared/actions/session.actions.ts","import {NgModule} from \"@angular/core\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport {LoginComponent} from \"./login/login.component\";\r\nimport {FormsModule, ReactiveFormsModule} from \"@angular/forms\";\r\nimport {AuthorizedGuard} from \"./guards/authorized-guard\";\r\nimport {VisbosCoreModule} from \"../../core/visbos-core/visbos-core.module\";\r\nimport {RouterModule} from \"@angular/router\";\r\nimport {HttpClientModule} from \"@angular/common/http\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule, HttpClientModule, ReactiveFormsModule, FormsModule, VisbosCoreModule, RouterModule\r\n ],\r\n declarations: [LoginComponent],\r\n providers: [AuthorizedGuard]\r\n})\r\nexport class AuthModule {\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/shared/auth/auth.module.ts","/**\r\n * Created by afuhr on 11.03.2017.\r\n */\r\n\r\nexport const LOGIN_TO_TOUCH_CLIENT = 'login touch-client';\r\nexport const LOGIN_TO_CLIENT = 'login client';\r\nexport const ACCESS_MOBILE_SCANNER = 'access mobile scanner';\r\nexport const HIDE_KEYBOARD = 'hide keyboard'\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/shared/auth/guards/api-permission.ts","import {Injectable} from \"@angular/core\";\r\nimport {ActivatedRouteSnapshot, CanActivate, CanActivateChild, Router, RouterStateSnapshot} from \"@angular/router\";\r\nimport {NgRedux, select} from \"@angular-redux/store\";\r\nimport {Observable} from \"rxjs/Observable\";\r\nimport {LOGIN_TO_TOUCH_CLIENT} from \"./api-permission\";\r\nimport {IUser} from \"../../redux-store/session/session.types\";\r\nimport {combineLatest} from \"rxjs/observable/combineLatest\";\r\nimport {map} from \"rxjs/operators\";\r\nimport {SessionActions} from \"../../actions\";\r\nimport {IAppState} from \"../../redux-store\";\r\n\r\n@Injectable()\r\nexport class AuthorizedGuard implements CanActivate, CanActivateChild {\r\n\r\n @select(['session', 'user'])\r\n private user$: Observable;\r\n\r\n @select(['session', 'loggedIn'])\r\n private loggedIn$: Observable;\r\n\r\n private canActivate$: Observable;\r\n\r\n constructor(private router: Router, private siActions: SessionActions, private ngRx: NgRedux) {\r\n this.canActivate$ = combineLatest(this.user$, this.loggedIn$).pipe(\r\n map(([user, loggedIn]) => {\r\n\r\n if (!user || !loggedIn) {\r\n this.redirectToLogin();\r\n return false;\r\n }\r\n\r\n const isTouchUser = user.permissions && user.permissions.indexOf(LOGIN_TO_TOUCH_CLIENT) >= 0;\r\n if (isTouchUser) {\r\n this.redirectToTouch();\r\n return false;\r\n }\r\n\r\n return loggedIn && !isTouchUser;\r\n\r\n })\r\n );\r\n }\r\n\r\n canActivate(childRoute: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable | Promise | boolean {\r\n return this.canActivate$;\r\n }\r\n\r\n canActivateChild(childRoute: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable | Promise | boolean {\r\n return this.canActivate(childRoute, state);\r\n }\r\n\r\n private redirectToLogin(state?: RouterStateSnapshot) {\r\n this.siActions.setRedirectUrl(state ? state.url : null);\r\n this.router.navigate(['/login']);\r\n }\r\n\r\n private redirectToTouch() {\r\n this.siActions.setRedirectUrl(null);\r\n this.router.navigate(['/touch']);\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/shared/auth/guards/authorized-guard.ts","module.exports = \"\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/shared/auth/login/login.component.css\n// module id = ./src/app/shared/auth/login/login.component.css\n// module chunks = main","module.exports = \"
\\r\\n\\r\\n

Login

\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n

Bitte melden Sie sich bei VisBOS an!

\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n
\\r\\n \\r\\n Anmelden\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n Passwort vergessen\\r\\n
\\r\\n\\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/shared/auth/login/login.component.html\n// module id = ./src/app/shared/auth/login/login.component.html\n// module chunks = main","import {ChangeDetectorRef, Component, OnDestroy, OnInit} from \"@angular/core\";\r\nimport {SessionActions} from \"../../actions/session.actions\";\r\nimport {NgRedux} from \"@angular-redux/store\";\r\nimport {Router} from \"@angular/router\";\r\nimport {FormBuilder, FormGroup, Validators} from \"@angular/forms\";\r\nimport {IAppState} from \"../../redux-store/store\";\r\nimport {AbstractVisbosComponent} from \"../../../core/visbos-core/components/abstract-visbos.component\";\r\n\r\n@Component({\r\n selector: 'vb-login',\r\n templateUrl: './login.component.html',\r\n styleUrls: ['./login.component.css']\r\n})\r\nexport class LoginComponent extends AbstractVisbosComponent implements OnInit, OnDestroy {\r\n\r\n loginForm: FormGroup;\r\n\r\n\r\n constructor(sessionActions: SessionActions,\r\n private router: Router,\r\n private fb: FormBuilder,\r\n private ngRedux: NgRedux, cd: ChangeDetectorRef) {\r\n super(sessionActions, cd);\r\n }\r\n\r\n ngOnInit() {\r\n super.ngOnInit();\r\n\r\n this.loginForm = this.fb.group({\r\n 'email': [null, Validators.compose([Validators.required, Validators.email])],\r\n 'password': [null, Validators.required],\r\n });\r\n\r\n }\r\n\r\n onSubmit(credentials) {\r\n this.dataSubscriptions.push(this.sessionActions.loginUser(credentials.email, credentials.password)\r\n .subscribe((user: any) => this.redirectToHome()));\r\n }\r\n\r\n redirectToHome() {\r\n\r\n let url = '';\r\n\r\n if (this.currentUser.roles.find(str => str == \"touch-client\")) {\r\n url = '/touch';\r\n } else {\r\n let redirectUrl = this.ngRedux.getState().session.redirectUrl;\r\n url = redirectUrl && redirectUrl != \"/login\" ? redirectUrl : '';\r\n }\r\n\r\n // Navigate by URL not possible, because store is not loaded fast enough\r\n this.router.navigate([url]);\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/shared/auth/login/login.component.ts","import {Injectable} from \"@angular/core\";\r\nimport {createNetworkInterface, IntrospectionFragmentMatcher, NetworkInterface} from \"apollo-client\";\r\n// Polyfill fetch\r\nimport {SessionActions} from \"../actions/session.actions\";\r\nimport {environment} from \"../../../environments/environment\";\r\nimport {NgRedux} from \"@angular-redux/store\";\r\nimport {IAppState} from \"../redux-store/store\";\r\nimport {UnauthorizedError} from \"../../core/visbos-core/exceptions/unauthorized-error\";\r\n\r\n\r\n@Injectable()\r\nexport class GraphqlService {\r\n\r\n constructor() {\r\n }\r\n\r\n /*\r\n Midlerware for adding a params field, containing all variables.\r\n Required by laravel graphql framework, as this expects 'params' instead of 'variables'.\r\n */\r\n private phpParams = {\r\n applyMiddleware(req, next) {\r\n req.request.params = req.request.variables;\r\n next();\r\n }\r\n };\r\n\r\n public static initFragmentMatcher() {\r\n let fm = new IntrospectionFragmentMatcher(\r\n {\r\n introspectionQueryResultData: {\r\n __schema: {\r\n types: [{\r\n kind: 'INTERFACE',\r\n name: 'IdentifiableInterface',\r\n possibleTypes: [{name: 'StockItem'}, {name: 'Stock'}, {name: 'AdministrationUnit'}, {name: 'Vehicle'}]\r\n }]\r\n }\r\n }\r\n }\r\n );\r\n\r\n return fm;\r\n }\r\n\r\n // DI does not work correctly, when trying to inject the GraphQL service dynamically.\r\n public static initNetworkInterface(ngRedux: NgRedux, sessionActions: SessionActions): NetworkInterface {\r\n\r\n let networkInterface = createNetworkInterface({\r\n uri: environment.graphqlUrl,\r\n opts: {\r\n // Additional fetch options like `credentials` or `headers`\r\n //credentials: 'same-origin',\r\n headers: new Headers({'Access-Control-Request-Headers': 'Authorization'})\r\n }\r\n });\r\n\r\n // Set global loading variable when sending a query\r\n let initLoading = {\r\n applyMiddleware(req, next) {\r\n if (!ngRedux.getState().session.token) {\r\n console.warn(\"No token provided, cancelling request!\", [req]);\r\n } else {\r\n //sessionActions.initAsyncAction(req);\r\n next();\r\n }\r\n\r\n }\r\n };\r\n\r\n let\r\n debugHeader = {\r\n applyMiddleware(req, next) {\r\n if (!req.options.headers) {\r\n req.options.headers = {}; // Create the header object if needed.\r\n }\r\n req.options.headers.XDEBUG_SESSION = 10269;\r\n next();\r\n }\r\n };\r\n\r\n /*\r\n Middleware for adding JWT auth token to requests. Token is retrieved from localStorage.\r\n */\r\n let\r\n httpCredentials = {\r\n applyMiddleware(req, next) {\r\n if (!req.options.headers) {\r\n req.options.headers = {}; // Create the header object if needed.\r\n }\r\n req.options.headers.authorization = \"Bearer \" + ngRedux.getState().session.token || null;\r\n next();\r\n }\r\n };\r\n\r\n // Refresh the JWT token for single token requests\r\n let\r\n refreshToken = {\r\n applyAfterware({response}, next) {\r\n let resp = response;\r\n let authHeader: string = resp.headers.has('Authorization') ? resp.headers.get('Authorization') : null;\r\n if (authHeader) {\r\n let authToken = authHeader.replace(\"Bearer\", \"\").trim();\r\n sessionActions.refreshToken(authToken);\r\n }\r\n next();\r\n }\r\n };\r\n\r\n // End loading when query returns result\r\n let\r\n finishLoading = {\r\n applyAfterware({response}, next) {\r\n sessionActions.finishAsyncAction(response);\r\n next();\r\n }\r\n };\r\n\r\n let\r\n unauthorizedQuery = {\r\n applyAfterware({response}, next) {\r\n if (response.status === 400 || response.status === 401) {\r\n if (response.status === 400) {\r\n sessionActions.logoutUser();\r\n throw new UnauthorizedError('Unauthorized GraphQL query!', response);\r\n }\r\n if (response.status === 401) {\r\n throw new UnauthorizedError('Authorization token has expired!', response);\r\n }\r\n }\r\n next(); // If not authorized, response is not passed upward\r\n\r\n }\r\n };\r\n\r\n let\r\n serverError = {\r\n applyAfterware({response}, next) {\r\n if (response.status === 500) {\r\n console.error('Server returned an error 500!', [response]);\r\n throw new Error('Server Error');\r\n }\r\n next();\r\n }\r\n };\r\n\r\n // Add middleware\r\n let middleware = [httpCredentials];\r\n /*if (!environment.production) {\r\n middleware.push(debugHeader);\r\n }*/\r\n\r\n networkInterface.use(middleware);\r\n\r\n // Add afterware\r\n networkInterface.useAfter([refreshToken, serverError, unauthorizedQuery]);\r\n\r\n return networkInterface;\r\n\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/shared/graphql/graphql.service.ts","/**\r\n * Created by afuhr on 20.09.2016.\r\n */\r\nimport {IDepot, IDepotRecord} from \"./depot.types\";\r\nimport {makeTypedFactory} from \"typed-immutable-record\";\r\n\r\n\r\nexport const DepotFactory = makeTypedFactory({\r\n selectedDepot: undefined\r\n});\r\n\r\nexport const INITIAL_STATE = DepotFactory();\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/shared/redux-store/depot/depot.initial-state.ts","/**\r\n * Created by afuhr on 20.09.2016.\r\n */\r\nimport {IPayloadAction} from \"../../actions\";\r\nimport {DepotActions} from \"../../actions/depot.actions\";\r\nimport {IDepotRecord} from \"./depot.types\";\r\nimport {INITIAL_STATE} from \"./depot.initial-state\";\r\n\r\n\r\nexport function depotReducer(state: IDepotRecord = INITIAL_STATE,\r\n action: IPayloadAction): IDepotRecord {\r\n\r\n switch (action.type) {\r\n case DepotActions.SELECT_DEPOT:\r\n console.info(\"Select depot\", [action]);\r\n return state.merge({\r\n selectedDepot: action.payload\r\n });\r\n\r\n default:\r\n return state;\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/shared/redux-store/depot/depot.reducer.ts","import {IDepot} from \"./depot.types\";\r\nimport {depotReducer} from \"./depot.reducer\";\r\nimport {DepotFactory} from \"./depot.initial-state\";\r\n\r\nexport {\r\n IDepot,\r\n depotReducer,\r\n DepotFactory,\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/shared/redux-store/depot/index.ts","import {deimmutify, IAppState, reimmutify, rootReducer} from \"./store\";\r\nimport {ISession} from \"./session\";\r\nimport {environment} from \"../../../environments/environment\";\r\n\r\nconst persistState = require('redux-localstorage');\r\n\r\nexport {\r\n IAppState,\r\n ISession,\r\n rootReducer,\r\n reimmutify,\r\n};\r\n\r\nexport let middleware = [];\r\nexport let enhancers = [\r\n persistState(\r\n '',\r\n {\r\n key: 'visbos-redux-store',\r\n serialize: store => JSON.stringify(deimmutify(store)),\r\n deserialize: state => reimmutify(JSON.parse(state)),\r\n })\r\n];\r\n\r\nif (!environment.production) {\r\n const env: any = window || this;\r\n if (env.devToolsExtension) {\r\n enhancers.push(env.devToolsExtension());\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/shared/redux-store/index.ts","import {Injectable} from \"@angular/core\";\r\nimport {DepotActions} from \"../actions/depot.actions\";\r\nimport {ActivatedRoute, Params} from \"@angular/router\";\r\nimport {StockActions} from \"./store-management/stock/stock.actions\";\r\n\r\n@Injectable()\r\nexport class ReduxRouteService {\r\n\r\n constructor(private depotActions: DepotActions,\r\n private stockActions: StockActions) {\r\n\r\n\r\n }\r\n\r\n public processRoute(route: ActivatedRoute): void {\r\n route.params.subscribe((params: Params) => {\r\n\r\n if (params['l_id']) {\r\n let depotId = params['l_id'];\r\n this.depotActions.selectDepot(depotId);\r\n console.info('Set depot parameter: ' + depotId);\r\n }\r\n\r\n if (params['b_id']) {\r\n let stockId = params['b_id'];\r\n this.stockActions.selectStock(stockId);\r\n console.info('Set stock parameter: ' + stockId);\r\n }\r\n\r\n });\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/shared/redux-store/redux-route.service.ts","import {ISession, MessageType} from \"./session.types\";\r\nimport {sessionReducer} from \"./session.reducer\";\r\nimport {SessionFactory} from \"./session.initial-state\";\r\n\r\nexport {\r\n ISession,\r\n MessageType,\r\n sessionReducer,\r\n SessionFactory,\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/shared/redux-store/session/index.ts","/**\r\n * Created by afuhr on 20.09.2016.\r\n */\r\nimport {\r\n IAdminUnitRecord,\r\n ISession,\r\n ISessionRecord,\r\n IUser,\r\n IUserRecord,\r\n Message,\r\n MessageList,\r\n MessageRecord,\r\n MessageType\r\n} from \"./session.types\";\r\nimport {makeTypedFactory} from \"typed-immutable-record\";\r\nimport {makeTypedFactoryList} from \"../typed-list\";\r\nimport {AdministrationUnit} from \"../../view-model/organization/administration-unit.type\";\r\n\r\n\r\nexport const UserFactory = makeTypedFactory({\r\n cuid: null,\r\n label: null,\r\n name: null,\r\n pre_name: null,\r\n email: null,\r\n form_of_address: null,\r\n academic_title: null,\r\n customer_id: null,\r\n administration_units: [],\r\n permissions: [],\r\n roles: []\r\n});\r\n\r\nexport const INITIAL_USER_STATE = UserFactory();\r\n\r\nexport const MessageFactory = makeTypedFactory({\r\n message: null,\r\n type: MessageType.INFO\r\n});\r\n\r\nexport const MessageListFactory = makeTypedFactoryList();\r\n\r\nexport const INITIAL_MESSAGE_LIST_STATE = MessageListFactory();\r\n\r\nexport const AdminUnitFactory = makeTypedFactory({\r\n cuid: null,\r\n label: null,\r\n name: null,\r\n address_name: null,\r\n address: null,\r\n billing_address: null,\r\n business_relations: [],\r\n is_supplier: null,\r\n is_central_depot: false,\r\n forced_supplier: null,\r\n manages_external_depots: [],\r\n depots_managed_by_external_admin_unit: [],\r\n is_manager_of_external_depots: false,\r\n is_managed_by_external_admin_units: false,\r\n\r\n stocks: []\r\n});\r\n\r\nexport const INITIAL_ADMIN_UNIT_STATE = AdminUnitFactory();\r\n\r\nexport const SessionFactory = makeTypedFactory({\r\n token: null,\r\n loggedIn: false,\r\n user: INITIAL_USER_STATE,\r\n activeAdminUnit: null,\r\n activeAdminUnitData: INITIAL_ADMIN_UNIT_STATE,\r\n hasError: false,\r\n isLoading: false,\r\n redirectUrl: \"\",\r\n messages: INITIAL_MESSAGE_LIST_STATE\r\n});\r\n\r\n\r\nexport const INITIAL_STATE = SessionFactory();\r\n\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/shared/redux-store/session/session.initial-state.ts","/**\r\n * Created by afuhr on 20.09.2016.\r\n */\r\nimport {IPayloadAction} from \"../../actions\";\r\nimport {SessionActions} from \"../../actions/session.actions\";\r\nimport {ISessionRecord, Message} from \"./session.types\";\r\nimport {\r\n AdminUnitFactory,\r\n INITIAL_ADMIN_UNIT_STATE,\r\n INITIAL_STATE,\r\n INITIAL_USER_STATE,\r\n MessageFactory,\r\n UserFactory\r\n} from \"./session.initial-state\";\r\nimport {List} from \"immutable\";\r\nimport {AdminUnitActions} from \"../../actions/admin-unit.actions\";\r\n\r\n\r\nexport function sessionReducer(state: ISessionRecord = INITIAL_STATE,\r\n action: IPayloadAction): ISessionRecord {\r\n\r\n let messages: List = List(state.messages);\r\n\r\n switch (action.type) {\r\n case SessionActions.LOGIN_USER:\r\n return state.merge({\r\n token: null,\r\n loggedIn: false,\r\n user: INITIAL_USER_STATE,\r\n hasError: false,\r\n isLoading: true,\r\n });\r\n\r\n case SessionActions.LOGIN_USER_SUCCESS:\r\n return state.merge({\r\n loggedIn: true,\r\n user: UserFactory(action.payload.profile),\r\n activeAdminUnit: action.payload.profile.administration_units[0].cuid,\r\n hasError: false,\r\n isLoading: false,\r\n });\r\n\r\n case SessionActions.LOGIN_USER_ERROR:\r\n return state.merge({\r\n token: null,\r\n loggedIn: false,\r\n user: INITIAL_USER_STATE,\r\n hasError: true,\r\n isLoading: false,\r\n });\r\n\r\n case SessionActions.LOGOUT_USER:\r\n return INITIAL_STATE;\r\n\r\n case AdminUnitActions.SELECT_ADMIN_UNIT:\r\n return state.merge({\r\n activeAdminUnit: action.payload.cuid\r\n });\r\n\r\n case AdminUnitActions.RETRIEVE_ADMIN_UNIT_DATA:\r\n return state;\r\n // Don't remove existing data in redux store, when loading the active admin unit data\r\n /*.merge({\r\n activeAdminUnitData: INITIAL_ADMIN_UNIT_STATE\r\n });*/\r\n\r\n case AdminUnitActions.RETRIEVE_ADMIN_UNIT_DATA_SUCCESS:\r\n return state.merge({\r\n activeAdminUnitData: AdminUnitFactory(action.payload)\r\n });\r\n\r\n case AdminUnitActions.RETRIEVE_ADMIN_UNIT_DATA_ERROR:\r\n return state.merge({\r\n activeAdminUnitData: INITIAL_ADMIN_UNIT_STATE\r\n });\r\n\r\n\r\n case SessionActions.INIT_ASYNC_ACTION:\r\n return state.merge({\r\n isLoading: true\r\n });\r\n\r\n case SessionActions.FINISH_ASYNC_ACTION:\r\n return state.merge({\r\n isLoading: false\r\n });\r\n\r\n case SessionActions.REFRESH_TOKEN:\r\n return state.merge({\r\n token: action.payload\r\n });\r\n\r\n case SessionActions.SET_REDIRECT_URL:\r\n return state.merge({\r\n redirectUrl: action.payload\r\n });\r\n\r\n // Messages\r\n case SessionActions.PUSH_MESSAGE:\r\n let newState = messages.push(MessageFactory(action.payload));\r\n return state.merge({\r\n messages: newState\r\n });\r\n\r\n case SessionActions.CLEAR_ALL_MESSAGES:\r\n return state.merge({\r\n messages: List()\r\n });\r\n\r\n case SessionActions.REMOVE_MESSAGE:\r\n return state.merge({\r\n messages: messages.remove(action.payload)\r\n });\r\n\r\n default:\r\n return state;\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/shared/redux-store/session/session.reducer.ts","/**\r\n * Created by afuhr on 20.09.2016.\r\n */\r\nimport {TypedRecord} from \"typed-immutable-record\";\r\nimport {IModel} from \"../../view-model/imodel.interface\";\r\nimport {AdministrationUnit} from \"../../view-model/organization/administration-unit.type\";\r\nimport {List} from \"immutable\";\r\nimport {TypedList} from \"../typed-list\";\r\n\r\nexport interface IUser extends IModel {\r\n name?: string;\r\n pre_name?: string;\r\n email?: string;\r\n form_of_address?: string;\r\n academic_title?: string;\r\n is_deactivated?: boolean;\r\n customer_id?: null;\r\n administration_units?: AdministrationUnit[];\r\n permissions?: string[];\r\n roles?: string[];\r\n}\r\n\r\nexport interface IUserRecord extends TypedRecord, IUser {\r\n}\r\n\r\nexport interface ISession {\r\n token: string;\r\n loggedIn: boolean;\r\n hasError: boolean;\r\n isLoading: boolean;\r\n redirectUrl: string;\r\n user: IUser;\r\n activeAdminUnit: string;\r\n activeAdminUnitData: AdministrationUnit;\r\n messages: List;\r\n}\r\n\r\nexport interface ISessionRecord extends TypedRecord, ISession {\r\n}\r\n\r\nexport interface IAdminUnitRecord extends TypedRecord, AdministrationUnit {\r\n}\r\n\r\nexport interface Message {\r\n type: MessageType;\r\n message: string;\r\n}\r\n\r\nexport interface MessageRecord extends TypedRecord, Message {\r\n}\r\n\r\nexport interface MessageList extends TypedList, Message {\r\n}\r\n\r\n\r\nexport enum MessageType {\r\n WARNING, INFO, ERROR, SUCCESS\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/shared/redux-store/session/session.types.ts","import {ISelectedStock} from \"./stock.types\";\r\nimport {stockReducer} from \"./stock.reducer\";\r\nimport {StockFactory} from \"./stock.initial-state\";\r\n\r\nexport {\r\n ISelectedStock,\r\n stockReducer,\r\n StockFactory,\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/shared/redux-store/store-management/stock/index.ts","import {Injectable} from \"@angular/core\";\r\nimport {NgRedux} from \"@angular-redux/store\";\r\nimport {IAppState} from \"../../store\";\r\n\r\n@Injectable()\r\nexport class StockActions {\r\n static SELECT_STOCK = 'SELECT_STOCK';\r\n\r\n constructor(private ngRedux: NgRedux) {\r\n }\r\n\r\n public selectStock(cuid: string) {\r\n this.ngRedux.dispatch({\r\n type: StockActions.SELECT_STOCK,\r\n payload: cuid,\r\n });\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/shared/redux-store/store-management/stock/stock.actions.ts","/**\r\n * Created by afuhr on 20.09.2016.\r\n */\r\nimport {makeTypedFactory} from \"typed-immutable-record\";\r\nimport {ISelectedStock, ISelectedStockRecord} from \"./stock.types\";\r\n\r\nexport const StockFactory = makeTypedFactory({\r\n selectedStock: null\r\n});\r\n\r\nexport const INITIAL_STATE = StockFactory();\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/shared/redux-store/store-management/stock/stock.initial-state.ts","import {ISelectedStockRecord} from \"./stock.types\";\r\nimport {IPayloadAction} from \"../../../actions/index\";\r\nimport {StockActions} from \"./stock.actions\";\r\nimport {INITIAL_STATE} from \"./stock.initial-state\";\r\n/**\r\n * Created by afuhr on 20.09.2016.\r\n */\r\n\r\n\r\nexport function stockReducer(state: ISelectedStockRecord = INITIAL_STATE,\r\n action: IPayloadAction): ISelectedStockRecord {\r\n\r\n switch (action.type) {\r\n case StockActions.SELECT_STOCK:\r\n let st = state.merge({\r\n selectedStock: action.payload\r\n });\r\n\r\n return st;\r\n\r\n default:\r\n return state;\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/shared/redux-store/store-management/stock/stock.reducer.ts","import {combineReducers} from \"redux\";\r\n\r\nimport * as session from \"./session\";\r\nimport * as depot from \"./depot\";\r\nimport * as stock from \"./store-management/stock\";\r\nimport * as withdrawal from \"../../store-management/redux\";\r\nimport {routerReducer} from \"@angular-redux/router\";\r\nimport {MessageListFactory, UserFactory} from \"./session/session.initial-state\";\r\nimport {Record} from \"immutable\";\r\n\r\nexport interface IAppState {\r\n session?: session.ISession;\r\n depot?: depot.IDepot;\r\n stock?: stock.ISelectedStock;\r\n router?: any;\r\n withdrawals?: withdrawal.TempWithdrawalCache;\r\n}\r\n\r\nexport const rootReducer = combineReducers({\r\n session: session.sessionReducer,\r\n depot: depot.depotReducer,\r\n stock: stock.stockReducer,\r\n router: routerReducer,\r\n withdrawals: withdrawal.withdrawalReducer\r\n});\r\n\r\nexport function deimmutify(store) {\r\n let serial = {\r\n session: store.session.toJS(),\r\n depot: store.depot.toJS(),\r\n stock: store.stock.toJS(),\r\n router: store.router,\r\n withdrawals: store.withdrawals.toJS()\r\n };\r\n\r\n serial.session.isLoading = null;\r\n serial.session.hasError = null;\r\n //serial.withdrawals.activeWithdrawalCuid = null;\r\n\r\n return serial;\r\n}\r\n\r\nexport function reimmutify(plain) {\r\n let obj = {\r\n session: session.SessionFactory(plain.session),\r\n depot: depot.DepotFactory(plain.depot),\r\n stock: stock.StockFactory(plain.stock),\r\n router: plain.router,\r\n withdrawals: withdrawal.TempWithdrawalCacheFactory(plain.withdrawals)\r\n };\r\n\r\n // Create immutable objects from local storage\r\n let sess: Record = obj.session;\r\n let newSess = sess.set('messages', MessageListFactory());\r\n newSess = newSess.set('user', UserFactory(newSess.user));\r\n\r\n //TODO: Migrate withdrawals also to immutable\r\n\r\n\r\n obj.session = newSess;\r\n\r\n return obj;\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/shared/redux-store/store.ts","import {Iterable, List} from \"immutable\";\r\n\r\nexport interface TypedList> extends List {\r\n set(index: number, value: T): List;\r\n delete(index: number): List;\r\n remove(index: number): List;\r\n insert(index: number, value: T): List;\r\n clear(): List;\r\n push(...values: T[]): List;\r\n pop(): List;\r\n unshift(...values: T[]): List;\r\n shift(): List;\r\n update(updater: (value: List) => List): List;\r\n update(index: number, updater: (value: T) => T): List;\r\n update(index: number, notSetValue: T, updater: (value: T) => T): List;\r\n merge(...iterables: Iterable.Indexed[]): List;\r\n merge(...iterables: Array[]): List;\r\n mergeWith(merger: (previous?: T, next?: T, key?: number) => T,\r\n ...iterables: Iterable.Indexed[]): List;\r\n mergeWith(merger: (previous?: T, next?: T, key?: number) => T,\r\n ...iterables: Array[]): List;\r\n mergeDeep(...iterables: Iterable.Indexed[]): List;\r\n mergeDeep(...iterables: Array[]): List;\r\n mergeDeepWith(merger: (previous?: T, next?: T, key?: number) => T,\r\n ...iterables: Iterable.Indexed[]): List;\r\n mergeDeepWith(merger: (previous?: T, next?: T, key?: number) => T,\r\n ...iterables: Array[]): List;\r\n setSize(size: number): List;\r\n setIn(keyPath: Array, value: any): List;\r\n setIn(keyPath: Iterable, value: any): List;\r\n deleteIn(keyPath: Array): List;\r\n deleteIn(keyPath: Iterable): List;\r\n removeIn(keyPath: Array): List;\r\n removeIn(keyPath: Iterable): List;\r\n updateIn(keyPath: Array,\r\n updater: (value: any) => any): List;\r\n updateIn(keyPath: Array,\r\n notSetValue: any,\r\n updater: (value: any) => any): List;\r\n updateIn(keyPath: Iterable,\r\n updater: (value: any) => any): List;\r\n updateIn(keyPath: Iterable,\r\n notSetValue: any,\r\n updater: (value: any) => any): List;\r\n mergeIn(keyPath: Iterable,\r\n ...iterables: Iterable.Indexed[]): List;\r\n mergeIn(keyPath: Array,\r\n ...iterables: Iterable.Indexed[]): List;\r\n mergeIn(keyPath: Array,\r\n ...iterables: Array[]): List;\r\n mergeDeepIn(keyPath: Iterable,\r\n ...iterables: Iterable.Indexed[]): List;\r\n mergeDeepIn(keyPath: Array,\r\n ...iterables: Iterable.Indexed[]): List;\r\n mergeDeepIn(keyPath: Array,\r\n ...iterables: Array[]): List;\r\n withMutations(mutator: (mutable: List) => any): List;\r\n asMutable(): List;\r\n asImmutable(): List;\r\n}\r\n\r\n\r\nexport function makeTypedFactoryList & E>(obj?: E, name?: string): (val?: E[]) => TypedList {\r\n const immutableList = List();\r\n return function TypedFactory(val: E[] = []): TypedList {\r\n return val ? immutableList.concat(val) as TypedList : immutableList as TypedList;\r\n };\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/shared/redux-store/typed-list.ts","export class Page {\r\n //The number of elements in the page\r\n size: number = 0;\r\n //The total number of elements\r\n totalElements: number = 0;\r\n //The total number of pages\r\n totalPages: number = 0;\r\n //The current page number\r\n pageNumber: number = 0;\r\n\r\n\r\n constructor(metaData?) {\r\n this.totalElements = metaData && metaData.total ? metaData.total : 0;\r\n this.size = metaData && metaData.per_page ? metaData.per_page : 25;\r\n this.pageNumber = metaData && metaData.current_page ? metaData.current_page - 1 : 0;\r\n this.totalPages = metaData && metaData.last_page ? metaData.last_page - 1 : 0;\r\n }\r\n}\n\n\n// WEBPACK FOOTER //\n// ./src/app/shared/view-model/core/page.model.ts","export class SortInfo {\r\n column: string;\r\n dir: 'asc' | 'desc' = 'asc';\r\n\r\n\r\n constructor(column?: string, dir?: \"asc\" | \"desc\") {\r\n this.column = column ? column : null;\r\n this.dir = dir ? dir : 'asc';\r\n }\r\n}\n\n\n// WEBPACK FOOTER //\n// ./src/app/shared/view-model/core/sort.model.ts","export const ACCOUNTING_UNIT_TYPES = [\r\n {name: '', label: 'Ohne Kostenstelle', default: false},\r\n {name: 'Standort', label: 'Standort', default: true},\r\n {name: 'Fahrzeug', label: 'Fahrzeug', default: false},\r\n {name: 'Klient', label: 'Klient', default: false},\r\n];\n\n\n// WEBPACK FOOTER //\n// ./src/app/store-management/accounting-unit-types.enum.ts","module.exports = \"\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/store-management/accounting-units-view/accounting-units-view.component.css\n// module id = ./src/app/store-management/accounting-units-view/accounting-units-view.component.css\n// module chunks = main","module.exports = \"\\r\\n\\r\\n
Kostenstellen
\\r\\n\\r\\n
\\r\\n\\r\\n

Standorte

\\r\\n\\r\\n \\r\\n \\r\\n\\r\\n

Fahrzeuge

\\r\\n\\r\\n \\r\\n \\r\\n\\r\\n\\r\\n

Klienten

\\r\\n\\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n

Selected: {{selected | json}}

\\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n\\r\\n\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/store-management/accounting-units-view/accounting-units-view.component.html\n// module id = ./src/app/store-management/accounting-units-view/accounting-units-view.component.html\n// module chunks = main","import {ChangeDetectorRef, Component, OnInit, ViewChild} from '@angular/core';\r\nimport {AbstractVisbosComponent} from \"../../core/visbos-core/components/abstract-visbos.component\";\r\nimport {ApolloQueryObservable} from \"apollo-angular\";\r\nimport {Vehicle} from \"../../fleet/model/vehicle.type\";\r\nimport {FormBuilder, FormGroup} from \"@angular/forms\";\r\nimport {ActionBarAction} from \"../../core/visbos-core/ui/navigation/action-bar/action-bar.component\";\r\nimport {GenericModalComponent} from \"../../core/visbos-core/ui/forms/generic-modal/generic-modal.component\";\r\nimport {SessionActions} from \"../../shared/actions\";\r\nimport {FleetService} from \"../../fleet/services/fleet.service\";\r\nimport {BarcodeService} from \"../../identity/services/barcode.service\";\r\nimport {FileService} from \"../../core/visbos-core/http/file.service\";\r\nimport {VehicleFormComponent} from \"../../fleet/components/vehicle-form/vehicle-form.component\";\r\nimport {MessageType} from \"../../shared/redux-store/session\";\r\nimport {ClientService} from \"../../crm/services/client.service\";\r\nimport {Client} from \"../../shared/view-model/crm/client.type\";\r\nimport {ClientFormComponent} from \"../../crm/client/client-form/client-form.component\";\r\nimport {AdministrationUnit} from \"../../shared/view-model/organization/administration-unit.type\";\r\nimport {\r\n AdministrationUnitService,\r\n FetchAdminUnitsResult\r\n} from \"../../organization/services/administration_unit_service/administration-unit.service\";\r\n\r\n@Component({\r\n selector: 'vb-accounting-units-view',\r\n templateUrl: './accounting-units-view.component.html',\r\n styleUrls: ['./accounting-units-view.component.css']\r\n})\r\nexport class AccountingUnitsViewComponent extends AbstractVisbosComponent implements OnInit {\r\n\r\n private vehicles$: ApolloQueryObservable;\r\n public vehicles: Vehicle[] = [];\r\n\r\n //TODO: Migrate Apollo\r\n private clients$: ApolloQueryObservable;\r\n public clients: Client[] = [];\r\n\r\n private adminUnits$: ApolloQueryObservable;\r\n public adminUnits: AdministrationUnit[] = [];\r\n\r\n currentVehicleControl: FormGroup;\r\n currentClientControl: FormGroup;\r\n\r\n selectedClients: string[] = [];\r\n selectedVehicles: string[] = [];\r\n selectedAdminUnits: string[] = [];\r\n selected: string[] = [];\r\n\r\n actions: ActionBarAction[] = [\r\n {\r\n icon: 'fa-plus',\r\n label: 'Neues Fahrzeug',\r\n action: () => this.showAddVehicleModal.apply(this),\r\n helpText: 'Ein neues Fahrzeug anlegen'\r\n },\r\n {\r\n icon: 'fa-plus',\r\n label: 'Neuer Klient',\r\n action: () => this.showAddClientModal.apply(this),\r\n helpText: 'Einen neuen Klienten anlegen'\r\n },\r\n {\r\n icon: 'fa-barcode',\r\n label: 'Kostenstellen-Barcodes erzeugen',\r\n action: () => this.generateBarcodesClicked.apply(this),\r\n disabled: () => this.selected.length < 1,\r\n helpText: 'Barcode-Schilder für die ausgewählten Kostenstellen als PDF generieren'\r\n }\r\n ];\r\n\r\n @ViewChild('vehicleModal')\r\n vehicleModal: GenericModalComponent;\r\n\r\n @ViewChild('clientModal')\r\n clientModal: GenericModalComponent;\r\n\r\n @ViewChild('clientForm')\r\n clientForm: ClientFormComponent;\r\n\r\n constructor(sessionActions: SessionActions, cd: ChangeDetectorRef,\r\n private fb: FormBuilder,\r\n private fleetService: FleetService, private clientService: ClientService, private adminUnitService: AdministrationUnitService,\r\n private bcService: BarcodeService, private fileService: FileService) {\r\n super(sessionActions, cd);\r\n }\r\n\r\n\r\n ngOnInit(): void {\r\n super.ngOnInit();\r\n\r\n this.vehicles$ = this.fleetService.fetchVehicles();\r\n this.addComponentData(this.vehicles$);\r\n this.dataSubscriptions.push(this.vehicles$.subscribe(res => this.vehicles = res.data.vehicles));\r\n\r\n this.clients$ = this.clientService.getClients();\r\n this.addComponentData(this.clients$);\r\n this.dataSubscriptions.push(this.clients$.subscribe(res => this.clients = res.data.clients));\r\n\r\n this.adminUnits$ = this.adminUnitService.getAdminUnitsWithEAN();\r\n this.addComponentData(this.adminUnits$);\r\n this.addSubscription(this.adminUnits$.subscribe(res => this.adminUnits = res.data.fetchAdminUnits));\r\n\r\n }\r\n\r\n showAddVehicleModal() {\r\n this.currentVehicleControl = VehicleFormComponent.initControl(this.fb);\r\n this.vehicleModal.show();\r\n }\r\n\r\n public saveVehicleClicked() {\r\n const vehicleData = this.currentVehicleControl.value;\r\n this.fleetService.createVehicle(vehicleData).toPromise()\r\n .then(res => this.sessionActions.pushMessage(\"Fahrzeug erfolgreich hinzugefügt!\", MessageType.SUCCESS))\r\n .catch(err => this.sessionActions.throwError(err, \"Fehler beim Hinzufügen des Fahrzeugs!\"));\r\n }\r\n\r\n showAddClientModal() {\r\n this.currentClientControl = ClientFormComponent.initControl(this.fb);\r\n this.clientModal.show();\r\n }\r\n\r\n public saveClientClicked() {\r\n this.clientForm.createOrUpdateClient(this.currentClientControl.value);\r\n }\r\n\r\n generateBarcodesClicked() {\r\n\r\n let res = this.bcService.generateAccountingUnitBarcodesPdf(this.selected);\r\n this.sessionActions.pushMessage(\"Die Barcode-PDF wird generiert, dies kann einen Moment dauern...\", MessageType.INFO, \"PDF erzeugen\");\r\n\r\n res.toPromise()\r\n .then(res => {\r\n let pdfString = res.data.generateAccountingUnitBarcodesPDF;\r\n let blob = this.fileService.base64toBlob(pdfString, 'application/pdf', 512);\r\n this.fileService.saveAs(blob, 'kostenstellen-barcodes.pdf');\r\n })\r\n .catch(err => {\r\n this.sessionActions.throwError(err, \"Fehler bei der Generierung der Barcodes!\")\r\n });\r\n\r\n }\r\n\r\n selectedVehiclesChanged(selected: string[]) {\r\n this.selectedVehicles = selected;\r\n this.selectedChanged();\r\n }\r\n\r\n selectedClientsChanged(selected: string[]) {\r\n this.selectedClients = selected;\r\n this.selectedChanged();\r\n }\r\n\r\n selectedAdminUnitsChanged(selected: string[]) {\r\n this.selectedAdminUnits = selected;\r\n this.selectedChanged();\r\n }\r\n\r\n selectedChanged() {\r\n this.selected = [...this.selectedAdminUnits, ...this.selectedVehicles, ...this.selectedClients];\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/store-management/accounting-units-view/accounting-units-view.component.ts","module.exports = \"\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/store-management/asset-management/components/asset-marriage-wizard/asset-marriage-wizard.component.css\n// module id = ./src/app/store-management/asset-management/components/asset-marriage-wizard/asset-marriage-wizard.component.css\n// module chunks = main","module.exports = \"\\r\\n\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n\\r\\n \\r\\n\\r\\n Die Verpackungshierarchie wird gespeichert...\\r\\n\\r\\n \\r\\n\\r\\n\\r\\n \\r\\n\\r\\n\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/store-management/asset-management/components/asset-marriage-wizard/asset-marriage-wizard.component.html\n// module id = ./src/app/store-management/asset-management/components/asset-marriage-wizard/asset-marriage-wizard.component.html\n// module chunks = main","import {AfterViewInit, ChangeDetectorRef, Component, Input, OnDestroy, OnInit, ViewChild} from '@angular/core';\r\nimport {AbstractVisbosComponent} from '../../../../core/visbos-core/components/abstract-visbos.component';\r\nimport {MovingDirection, WizardComponent} from \"ng2-archwizard/dist\";\r\nimport {SessionActions} from '../../../../shared/actions';\r\nimport {ActivatedRoute, Router} from '@angular/router';\r\nimport {MarriageService} from '../../services/marriage.service';\r\nimport {MessageType} from '../../../../shared/redux-store/session';\r\n\r\n@Component({\r\n selector: 'vb-asset-marriage-wizard',\r\n templateUrl: './asset-marriage-wizard.component.html',\r\n styleUrls: ['./asset-marriage-wizard.component.css']\r\n})\r\nexport class AssetMarriageWizardComponent extends AbstractVisbosComponent implements OnInit, AfterViewInit, OnDestroy {\r\n\r\n MovingDirection;\r\n\r\n @ViewChild(WizardComponent)\r\n wizard: WizardComponent;\r\n\r\n currentStep: number;\r\n\r\n @Input()\r\n readerId = '';\r\n\r\n canExitPackingPageProxy = (direction: MovingDirection) => this.canExitPackingPage.apply(this, [direction]);\r\n canExitItemsPageProxy = (direction: MovingDirection) => this.canExitItemsPage.apply(this, [direction]);\r\n\r\n private isSaved: boolean = false;\r\n\r\n constructor(sessionActions: SessionActions, cd: ChangeDetectorRef,\r\n private router: Router, private activatedRoute: ActivatedRoute,\r\n private marriageService: MarriageService) {\r\n super(sessionActions, cd);\r\n\r\n this.MovingDirection = MovingDirection;\r\n\r\n }\r\n\r\n onStepChanged() {\r\n let step = this.wizard.model.getIndexOfStep(this.wizard.model.currentStep);\r\n this.currentStep = step;\r\n this.cd.detectChanges();\r\n }\r\n\r\n onFinalStepEntered() {\r\n this.onStepChanged();\r\n this.marriageService.saveCurrentMarriage()\r\n .subscribe(\r\n res => {\r\n this.sessionActions.pushMessage(\"Verpackungshierarchie erfolgreich gespeichert\", MessageType.SUCCESS, 'Verpackungshierarchie');\r\n this.gotoStart();\r\n },\r\n err => this.sessionActions.throwError(err, 'Fehler beim Speichern der Verpackungshierarchie')\r\n )\r\n }\r\n\r\n canExitPackingPage(direction: MovingDirection): boolean {\r\n\r\n if (direction == MovingDirection.Forwards) {\r\n if (this.marriageService.getCurrentParentAsset().getValue()) {\r\n return true;\r\n }\r\n }\r\n\r\n return false;\r\n\r\n }\r\n\r\n canExitItemsPage(direction: MovingDirection): boolean {\r\n\r\n if (direction == MovingDirection.Forwards) {\r\n\r\n const l = this.marriageService.getCurrentChildrenCuids().length;\r\n if (l > 0) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n\r\n } else {\r\n return true;\r\n }\r\n\r\n }\r\n\r\n forwardSealPageLabel() {\r\n if (this.marriageService.getCurrentSeal().getValue()) {\r\n return 'Weiter mit Plombe';\r\n } else {\r\n return 'Verplombung überspringen';\r\n }\r\n }\r\n\r\n gotoStart() {\r\n this.marriageService.reset();\r\n this.wizard.navigation.reset();\r\n }\r\n\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/store-management/asset-management/components/asset-marriage-wizard/asset-marriage-wizard.component.ts","module.exports = \"\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/store-management/asset-management/components/asset-marriage-wizard/marriage-summary-page/marriage-summary-page.component.css\n// module id = ./src/app/store-management/asset-management/components/asset-marriage-wizard/marriage-summary-page/marriage-summary-page.component.css\n// module chunks = main","module.exports = \"\\r\\n\\r\\n

\\r\\n Folgende Eingaben wurden erfasst:\\r\\n

\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
Verpackung
\\r\\n
{{data.packing?.label}}
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
Verplombung
\\r\\n
{{data.seal?.ean}}
\\r\\n
Ohne Plombe
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
Direkt zugeordnete Gegenstände
\\r\\n
    \\r\\n
  • \\r\\n {{asset.label}}\\r\\n
  • \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/store-management/asset-management/components/asset-marriage-wizard/marriage-summary-page/marriage-summary-page.component.html\n// module id = ./src/app/store-management/asset-management/components/asset-marriage-wizard/marriage-summary-page/marriage-summary-page.component.html\n// module chunks = main","import {Component, OnInit} from '@angular/core';\r\nimport {MarriageService} from '../../../services/marriage.service';\r\n\r\n@Component({\r\n selector: 'vb-marriage-summary-page',\r\n templateUrl: './marriage-summary-page.component.html',\r\n styleUrls: ['./marriage-summary-page.component.css']\r\n})\r\nexport class MarriageSummaryPageComponent implements OnInit {\r\n\r\n objectKeys = Object.keys;\r\n\r\n constructor(public marriageService: MarriageService) {\r\n\r\n }\r\n\r\n ngOnInit() {\r\n\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/store-management/asset-management/components/asset-marriage-wizard/marriage-summary-page/marriage-summary-page.component.ts","module.exports = \"\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/store-management/asset-management/components/asset-marriage-wizard/scan-items-page/scan-items-page.component.css\n// module id = ./src/app/store-management/asset-management/components/asset-marriage-wizard/scan-items-page/scan-items-page.component.css\n// module chunks = main","module.exports = \"

\\r\\n Erfassen Sie alle Gegenstände, die Sie der Verpackung zuordnen möchten.\\r\\n

\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n Lesevorgang starten\\r\\n\\r\\n
\\r\\n
\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/store-management/asset-management/components/asset-marriage-wizard/scan-items-page/scan-items-page.component.html\n// module id = ./src/app/store-management/asset-management/components/asset-marriage-wizard/scan-items-page/scan-items-page.component.html\n// module chunks = main","import {ChangeDetectorRef, Component, OnInit} from '@angular/core';\r\nimport {MarriageService} from '../../../services/marriage.service';\r\nimport {AbstractVisbosComponent} from '../../../../../core/visbos-core/components/abstract-visbos.component';\r\nimport {SessionActions} from '../../../../../shared/actions';\r\nimport {ActivatedRoute} from '@angular/router';\r\nimport {FormBuilder} from '@angular/forms';\r\nimport {RfidService} from '../../../../../identity/services/rfid.service';\r\nimport {ApolloQueryObservable} from 'apollo-angular';\r\nimport {ResolveAssetTreeByEPCsQuery, RetrieveEPCsByReaderQuery} from '../../../../../shared/graphql/graphql.types';\r\nimport * as _ from 'lodash';\r\n\r\n@Component({\r\n selector: 'vb-scan-items-page',\r\n templateUrl: './scan-items-page.component.html',\r\n styleUrls: ['./scan-items-page.component.css']\r\n})\r\nexport class ScanItemsPageComponent extends AbstractVisbosComponent implements OnInit {\r\n\r\n objectKeys = Object.keys;\r\n\r\n private readerQuery$: ApolloQueryObservable;\r\n private resolverQuery$: ApolloQueryObservable;\r\n\r\n lastItem;\r\n lastEpc = '';\r\n\r\n epcs: string[] = [];\r\n\r\n errorText;\r\n\r\n infoNewArticleText;\r\n\r\n constructor(sessionActions: SessionActions, cd: ChangeDetectorRef,\r\n private route: ActivatedRoute, private fb: FormBuilder,\r\n private rfidService: RfidService, public marriageService: MarriageService) {\r\n super(sessionActions, cd);\r\n }\r\n\r\n ngOnInit() {\r\n super.ngOnInit();\r\n }\r\n\r\n readRFID() {\r\n this.sessionActions.initAsyncAction();\r\n if (!this.readerQuery$) {\r\n this.readerQuery$ = this.rfidService.retrieveEPCsFromReader({readerCuid: this.rfidService.getReaderForMarriage()}, 'network-only');\r\n this.addComponentData(this.readerQuery$);\r\n this.addSubscription(this.readerQuery$.subscribe(res => this.handleEpcRequestResultSuccess(res), err => this.handleEpcRequestResultError(err)));\r\n } else {\r\n this.readerQuery$.refetch()\r\n .then(res => this.handleEpcRequestResultSuccess(res), err => this.handleEpcRequestResultError(err));\r\n }\r\n }\r\n\r\n private handleEpcRequestResultSuccess(res) {\r\n this.resolveEPCs(res.data.epcsByReader);\r\n }\r\n\r\n private handleEpcRequestResultError(err) {\r\n this.sessionActions.finishAsyncAction();\r\n this.sessionActions.throwError(err, 'Fehler beim Abrufen der RFID-Daten!', 'RFID-Lesevorgang');\r\n }\r\n\r\n resolveEPCs(epcs: string[]) {\r\n if (!epcs || !epcs.length) {\r\n this.errorText = \"Es wurden kein RFID-Tags im Lesefeld erkannt!\";\r\n this.sessionActions.finishAsyncAction();\r\n return;\r\n }\r\n\r\n // Merge all EPCs into a unique global list\r\n this.epcs = _.uniq(_.concat(this.epcs, epcs));\r\n\r\n // Allways resolve the global EPC list to support incremental reads\r\n this.resolverQuery$ = this.rfidService.resolveAssetTreeFromEPCs({epcs: this.epcs}, 'network-only');\r\n this.addComponentData(this.resolverQuery$);\r\n this.addSubscription(this.resolverQuery$.subscribe(res => {\r\n if (!res.loading) {\r\n this.sessionActions.finishAsyncAction();\r\n }\r\n this.processResolveResult(res.data);\r\n }));\r\n }\r\n\r\n getChildrenAssets() {\r\n return this.marriageService.getChildrenAssetsList();\r\n }\r\n\r\n processResolveResult(data: ResolveAssetTreeByEPCsQuery) {\r\n\r\n if (!data.assetTreeByEPCs || !data.assetTreeByEPCs.length) {\r\n this.errorText = \"Es wurde keine Gegenstand für den Code '\" + this.lastEpc + \"' im System gefunden!\";\r\n this.sessionActions.finishAsyncAction();\r\n return;\r\n }\r\n\r\n this.errorText = null;\r\n\r\n this.marriageService.updateAssetTree(data.assetTreeByEPCs);\r\n this.marriageService.lastEpcs = [...this.marriageService.lastEpcs, ...this.epcs];\r\n\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/store-management/asset-management/components/asset-marriage-wizard/scan-items-page/scan-items-page.component.ts","module.exports = \"\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/store-management/asset-management/components/asset-marriage-wizard/scan-packing-page/scan-packing-page.component.css\n// module id = ./src/app/store-management/asset-management/components/asset-marriage-wizard/scan-packing-page/scan-packing-page.component.css\n// module chunks = main","module.exports = \"

\\r\\n Legen Sie zuerst die Verpackung, der Sie Einzelteile zuordnen möchten, in das Lesefeld und starten Sie den Lesevorgang\\r\\n durch Klicken auf den untenstehenden Knopf.\\r\\n

\\r\\n\\r\\n
\\r\\n \\r\\n {{errorText}}\\r\\n
\\r\\n\\r\\n
\\r\\n

Folgende Verpackungseinheit wurde erkannt:

\\r\\n

{{lastItem.label}} ({{lastEpc}})

\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n Lesevorgang starten\\r\\n\\r\\n
\\r\\n
\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/store-management/asset-management/components/asset-marriage-wizard/scan-packing-page/scan-packing-page.component.html\n// module id = ./src/app/store-management/asset-management/components/asset-marriage-wizard/scan-packing-page/scan-packing-page.component.html\n// module chunks = main","import {ChangeDetectorRef, Component, EventEmitter, OnInit, Output} from '@angular/core';\r\nimport {AbstractVisbosComponent} from '../../../../../core/visbos-core/components/abstract-visbos.component';\r\nimport {SessionActions} from '../../../../../shared/actions';\r\nimport {ActivatedRoute} from '@angular/router';\r\nimport {FormBuilder} from '@angular/forms';\r\nimport {RfidService} from '../../../../../identity/services/rfid.service';\r\nimport {ApolloQueryObservable} from 'apollo-angular';\r\nimport {ResolveItemsByEPCsQuery, RetrieveEPCsByReaderQuery, RetrievePackingEPCsByReaderQuery} from '../../../../../shared/graphql/graphql.types';\r\nimport {MarriageService} from '../../../services/marriage.service';\r\n\r\n@Component({\r\n selector: 'vb-scan-packing-page',\r\n templateUrl: './scan-packing-page.component.html',\r\n styleUrls: ['./scan-packing-page.component.css']\r\n})\r\nexport class ScanPackingPageComponent extends AbstractVisbosComponent implements OnInit {\r\n\r\n private readerQuery$: ApolloQueryObservable;\r\n private resolverQuery$: ApolloQueryObservable;\r\n\r\n lastItem;\r\n lastEpc = '';\r\n\r\n errorText;\r\n\r\n @Output()\r\n itemIdentified: EventEmitter = new EventEmitter();\r\n\r\n constructor(sessionActions: SessionActions, cd: ChangeDetectorRef,\r\n private route: ActivatedRoute, private fb: FormBuilder,\r\n private rfidService: RfidService, private marriageService: MarriageService) {\r\n super(sessionActions, cd);\r\n\r\n }\r\n\r\n ngOnInit() {\r\n super.ngOnInit();\r\n }\r\n\r\n readRFID() {\r\n this.sessionActions.initAsyncAction();\r\n if (!this.readerQuery$) {\r\n this.readerQuery$ = this.rfidService.retrievePackingEpcsFromReader({readerCuid: this.rfidService.getReaderForMarriage()}, 'network-only');\r\n this.addComponentData(this.readerQuery$);\r\n this.addSubscription(this.readerQuery$.subscribe(res => {\r\n if (!res.loading) {\r\n this.sessionActions.finishAsyncAction();\r\n }\r\n this.resolveEPC(res.data.packingEpcsFromReader);\r\n }, err => {\r\n this.sessionActions.finishAsyncAction();\r\n this.sessionActions.throwError(err, 'Fehler beim Abrufen der RFID-Daten!', 'RFID-Lesevorgang');\r\n }));\r\n } else {\r\n this.readerQuery$.refetch().then(\r\n res => {\r\n if (!res.loading) {\r\n this.sessionActions.finishAsyncAction();\r\n }\r\n this.resolveEPC(res.data.packingEpcsFromReader);\r\n }, err => {\r\n this.sessionActions.finishAsyncAction();\r\n this.sessionActions.throwError(err, 'Fehler beim Abrufen der RFID-Daten!', 'RFID-Lesevorgang');\r\n }\r\n );\r\n }\r\n }\r\n\r\n resolveEPC(epcs: string[]) {\r\n if (!epcs || !epcs.length) {\r\n this.errorText = \"Es wurde kein RFID-Tag im Lesefeld erkannt!\";\r\n return;\r\n }\r\n\r\n if (epcs.length > 1) {\r\n this.errorText = \"Es wurden mehrere RFID-Tags im Lesefeld erkannt, bitte stellen Sie sicher, dass nur exakt ein Tag gelesen wird!\";\r\n return;\r\n }\r\n\r\n this.lastEpc = epcs[0];\r\n this.resolverQuery$ = this.rfidService.resolveEPCs({epcs: [epcs[0]], includeChildren: false}, 'network-only');\r\n this.addComponentData(this.resolverQuery$);\r\n this.addSubscription(this.resolverQuery$.subscribe(res => {\r\n this.processResolveResult(res.data);\r\n }));\r\n }\r\n\r\n processResolveResult(data) {\r\n\r\n if (!data.itemsByEPCs || !data.itemsByEPCs.length) {\r\n this.errorText = \"Es wurde keine Verpackungseinheit für den Code '\" + this.lastEpc + \"' im System gefunden!\";\r\n return;\r\n }\r\n\r\n this.errorText = null;\r\n this.lastItem = data.itemsByEPCs[0];\r\n this.itemIdentified.emit(this.lastItem);\r\n this.marriageService.setCurrentParentAsset(this.lastItem);\r\n this.marriageService.lastEpcs = [...this.marriageService.lastEpcs, this.lastEpc];\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/store-management/asset-management/components/asset-marriage-wizard/scan-packing-page/scan-packing-page.component.ts","module.exports = \"\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/store-management/asset-management/components/asset-marriage-wizard/seal-packing-page/seal-packing-page.component.css\n// module id = ./src/app/store-management/asset-management/components/asset-marriage-wizard/seal-packing-page/seal-packing-page.component.css\n// module chunks = main","module.exports = \"

\\r\\n Möchten Sie die Verpackung mit einer Plombe versehen? Falls ja, erfassen Sie bitte den Plomben-Tag. Als Plomben-Tag kann entweder der RFID-Tag der Verpackung selbst genutzt werden, oder alternativ ein separater Plomben-Tag.\\r\\n

\\r\\n\\r\\n
\\r\\n \\r\\n {{errorText}}\\r\\n
\\r\\n\\r\\n
\\r\\n

Folgender Plomben-Tag wurde erkannt:

\\r\\n

{{lastEpc}}\\r\\n (Verpackungs-Tag von '{{lastItem.label}}')\\r\\n (separater Plomben-Tag)\\r\\n

\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n Lesevorgang starten\\r\\n\\r\\n
\\r\\n
\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/store-management/asset-management/components/asset-marriage-wizard/seal-packing-page/seal-packing-page.component.html\n// module id = ./src/app/store-management/asset-management/components/asset-marriage-wizard/seal-packing-page/seal-packing-page.component.html\n// module chunks = main","import {ChangeDetectorRef, Component, EventEmitter, OnInit, Output} from '@angular/core';\r\nimport {ApolloQueryObservable} from 'apollo-angular';\r\nimport {ResolveItemsByEPCsQuery, RetrieveEPCsByReaderQuery} from '../../../../../shared/graphql/graphql.types';\r\nimport {SessionActions} from '../../../../../shared/actions';\r\nimport {ActivatedRoute} from '@angular/router';\r\nimport {FormBuilder} from '@angular/forms';\r\nimport {RfidService} from '../../../../../identity/services/rfid.service';\r\nimport {MarriageService} from '../../../services/marriage.service';\r\nimport {AbstractVisbosComponent} from '../../../../../core/visbos-core/components/abstract-visbos.component';\r\nimport {Barcode} from '../../../../../identity/model/barcode.interface';\r\nimport {AbstractVisbosControl} from '../../../../../core/visbos-core/ui/forms/abstract-visbos-control';\r\n\r\n@Component({\r\n selector: 'vb-seal-packing-page',\r\n templateUrl: './seal-packing-page.component.html',\r\n styleUrls: ['./seal-packing-page.component.css']\r\n})\r\nexport class SealPackingPageComponent extends AbstractVisbosComponent implements OnInit {\r\n\r\n private readerQuery$: ApolloQueryObservable;\r\n private resolverQuery$: ApolloQueryObservable;\r\n\r\n lastItem;\r\n lastEpc = '';\r\n\r\n errorText;\r\n\r\n @Output()\r\n itemIdentified: EventEmitter = new EventEmitter();\r\n\r\n constructor(sessionActions: SessionActions, cd: ChangeDetectorRef,\r\n private route: ActivatedRoute, private fb: FormBuilder,\r\n private rfidService: RfidService, private marriageService: MarriageService) {\r\n super(sessionActions, cd);\r\n\r\n }\r\n\r\n ngOnInit() {\r\n super.ngOnInit();\r\n }\r\n\r\n readRFID() {\r\n this.sessionActions.initAsyncAction();\r\n if (!this.readerQuery$) {\r\n this.readerQuery$ = this.rfidService.retrieveEPCsFromReader({readerCuid: this.rfidService.getReaderForMarriage()}, 'network-only');\r\n this.addComponentData(this.readerQuery$);\r\n this.addSubscription(this.readerQuery$.subscribe(res => {\r\n if (!res.loading) {\r\n this.sessionActions.finishAsyncAction();\r\n }\r\n this.resolveEPC(res.data.epcsByReader);\r\n }, err => {\r\n this.sessionActions.finishAsyncAction();\r\n this.sessionActions.throwError(err, 'Fehler beim Abrufen der RFID-Daten!', 'RFID-Lesevorgang');\r\n }));\r\n } else {\r\n this.readerQuery$.refetch().then(\r\n res => {\r\n if (!res.loading) {\r\n this.sessionActions.finishAsyncAction();\r\n }\r\n this.resolveEPC(res.data.epcsByReader);\r\n }, err => {\r\n this.sessionActions.finishAsyncAction();\r\n this.sessionActions.throwError(err, 'Fehler beim Abrufen der RFID-Daten!', 'RFID-Lesevorgang');\r\n }\r\n );\r\n }\r\n }\r\n\r\n resolveEPC(epcs: string[]) {\r\n\r\n const sealEpcs = epcs.filter(e => !this.marriageService.lastEpcs.includes(e));\r\n\r\n if (!sealEpcs || !sealEpcs.length) {\r\n this.handleError(\"Es wurde kein RFID-Tag im Lesefeld erkannt!\");\r\n return;\r\n }\r\n\r\n if (sealEpcs.length > 1) {\r\n this.handleError(\"Es wurden mehrere RFID-Tags im Lesefeld erkannt, bitte stellen Sie sicher, dass nur exakt ein Tag gelesen wird!\");\r\n return;\r\n }\r\n\r\n this.lastEpc = sealEpcs[0];\r\n\r\n this.resolverQuery$ = this.rfidService.resolveEPCs({epcs: [sealEpcs[0]], includeChildren: false}, 'network-only');\r\n this.addComponentData(this.resolverQuery$);\r\n this.addSubscription(this.resolverQuery$.subscribe(res => {\r\n this.processResolveResult(res.data);\r\n }));\r\n }\r\n\r\n processResolveResult(data) {\r\n this.errorText = null;\r\n\r\n if (data.itemsByEPCs && data.itemsByEPCs.length > 0) {\r\n const item = data.itemsByEPCs[0];\r\n if (item.cuid === this.marriageService.getCurrentParentAsset().getValue().cuid) {\r\n this.lastItem = item;\r\n } else {\r\n this.handleError('Als Plomben-Tag darf nur ein separater Plomben-Tag oder der Tag der Verpackungseinheit verwendet werden! Es wurde der Tag des Gegenstands \\'' + item.label + '\\' erfasst...');\r\n return;\r\n }\r\n\r\n } else {\r\n this.lastItem = null;\r\n }\r\n\r\n const barcode: Barcode = {\r\n cuid: AbstractVisbosControl.cuid(),\r\n ean: this.lastEpc,\r\n ean_type: 'EPC'\r\n };\r\n this.marriageService.setCurrentSeal(barcode);\r\n }\r\n\r\n private handleError(errorText) {\r\n this.errorText = errorText;\r\n this.lastItem = null;\r\n this.marriageService.setCurrentSeal(null);\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/store-management/asset-management/components/asset-marriage-wizard/seal-packing-page/seal-packing-page.component.ts","module.exports = \"\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/store-management/asset-management/components/asset-retrieval/asset-retrieval.component.css\n// module id = ./src/app/store-management/asset-management/components/asset-retrieval/asset-retrieval.component.css\n// module chunks = main","module.exports = \"
\\r\\n
\\r\\n\\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n Liste zurücksetzen\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/store-management/asset-management/components/asset-retrieval/asset-retrieval.component.html\n// module id = ./src/app/store-management/asset-management/components/asset-retrieval/asset-retrieval.component.html\n// module chunks = main","import {ChangeDetectorRef, Component, EventEmitter, Input, OnInit, Output} from '@angular/core';\r\nimport {AbstractVisbosComponent} from '../../../../core/visbos-core/components/abstract-visbos.component';\r\nimport {SessionActions} from '../../../../shared/actions';\r\nimport {MessageType} from '../../../../shared/redux-store/session';\r\nimport {RfidService} from '../../../../identity/services/rfid.service';\r\nimport {AssetTree} from '../../../../shared/view-model/store-management/asset-tree.type';\r\nimport * as _ from 'lodash';\r\n\r\n@Component({\r\n selector: 'vb-asset-retrieval',\r\n templateUrl: './asset-retrieval.component.html',\r\n styleUrls: ['./asset-retrieval.component.css']\r\n})\r\nexport class AssetRetrievalComponent extends AbstractVisbosComponent implements OnInit {\r\n\r\n\r\n private _assetTree: AssetTree[];\r\n\r\n get assetTree(): AssetTree[] {\r\n return this._assetTree;\r\n }\r\n\r\n @Input()\r\n set assetTree(value: AssetTree[]) {\r\n this._assetTree = value;\r\n }\r\n\r\n @Output()\r\n assetTreeChange: EventEmitter = new EventEmitter();\r\n\r\n\r\n private _activeEpcs: string[] = [];\r\n\r\n get activeEpcs(): string[] {\r\n return this._activeEpcs;\r\n }\r\n\r\n @Input()\r\n set activeEpcs(value: string[]) {\r\n this._activeEpcs = value;\r\n }\r\n\r\n @Output()\r\n activeEpcsChange: EventEmitter = new EventEmitter();\r\n\r\n constructor(sessionActions: SessionActions, cd: ChangeDetectorRef,\r\n private rfidService: RfidService) {\r\n super(sessionActions, cd);\r\n }\r\n\r\n ngOnInit() {\r\n super.ngOnInit();\r\n }\r\n\r\n public resolveEPCs(epcs: string[]) {\r\n\r\n if (!epcs || !epcs.length) {\r\n this.sessionActions.pushMessage(\"Es wurden keine RFID-Tags erkannt, bitte versuchen Sie es noch einmal!\", MessageType.WARNING, \"Gegenstands-Erfassung\");\r\n return;\r\n }\r\n\r\n this.activeEpcs = _.uniq(_.concat(this.activeEpcs, epcs));\r\n this.activeEpcsChange.emit(this.activeEpcs);\r\n\r\n const locationQuery$ = this.rfidService.resolveAssetTreeFromEPCsOnce({epcs: this.activeEpcs});\r\n locationQuery$.subscribe(res => {\r\n this.processResult(res.data.assetTreeByEPCs);\r\n }, err => {\r\n this.sessionActions.throwError(err, \"Fehler beim Auflösen der EPCs!\");\r\n });\r\n }\r\n\r\n private processResult(assetTrees: AssetTree[]) {\r\n\r\n if (!assetTrees || !assetTrees.length) {\r\n this.sessionActions.pushMessage(\"Die gefundenen EPCs konnten nicht zu Gegenständen aufgelöst werden, bitte versuchen Sie es noch einmal!\", MessageType.WARNING, \"Gegenstands-Erfassung\");\r\n return;\r\n }\r\n\r\n this.updateAssetTree(assetTrees);\r\n }\r\n\r\n updateAssetTree(assetTree: AssetTree[]) {\r\n this.assetTree = assetTree ? _.cloneDeep(assetTree) : null;\r\n this.assetTreeChange.emit(this.assetTree);\r\n }\r\n\r\n getCurrentAssetCuids() {\r\n return this.assetTree.map((treeNode: AssetTree) => treeNode.cuid);\r\n }\r\n\r\n reset() {\r\n this.activeEpcs = [];\r\n this.activeEpcsChange.emit(this.activeEpcs);\r\n this.updateAssetTree(null);\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/store-management/asset-management/components/asset-retrieval/asset-retrieval.component.ts","module.exports = \"\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/store-management/asset-management/components/asset-status/asset-status.component.css\n// module id = ./src/app/store-management/asset-management/components/asset-status/asset-status.component.css\n// module chunks = main","module.exports = \"

\\r\\n asset-status works!\\r\\n

\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/store-management/asset-management/components/asset-status/asset-status.component.html\n// module id = ./src/app/store-management/asset-management/components/asset-status/asset-status.component.html\n// module chunks = main","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'vb-asset-status',\r\n templateUrl: './asset-status.component.html',\r\n styleUrls: ['./asset-status.component.css']\r\n})\r\nexport class AssetStatusComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/store-management/asset-management/components/asset-status/asset-status.component.ts","module.exports = \"\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/store-management/asset-management/components/assets-list/assets-list.component.css\n// module id = ./src/app/store-management/asset-management/components/assets-list/assets-list.component.css\n// module chunks = main","module.exports = \"\\r\\n\\r\\n\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n\\r\\n\\r\\n Assets: {{assets | json}}\\r\\n\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/store-management/asset-management/components/assets-list/assets-list.component.html\n// module id = ./src/app/store-management/asset-management/components/assets-list/assets-list.component.html\n// module chunks = main","import {ChangeDetectorRef, Component, EventEmitter, Input, OnInit, Output, ViewChild} from '@angular/core';\r\nimport {SessionActions} from '../../../../shared/actions';\r\nimport {AbstractListView} from '../../../../core/visbos-core/ui/components/abstract-list-view';\r\nimport {DatatableComponent} from '../../../../core/visbos-core/ui/components/datatable/datatable.component';\r\nimport {Asset} from '../../../../shared/view-model/store-management/asset.type';\r\n\r\n@Component({\r\n selector: 'vb-assets-list',\r\n templateUrl: './assets-list.component.html',\r\n styleUrls: ['./assets-list.component.css']\r\n})\r\nexport class AssetsListComponent extends AbstractListView implements OnInit {\r\n\r\n @Input()\r\n assets = [];\r\n\r\n @ViewChild('assetTable')\r\n table: DatatableComponent;\r\n\r\n @Output()\r\n onEditAsset: EventEmitter = new EventEmitter();\r\n\r\n messages = {\r\n emptyMessage: 'Keine Gegenstände vorhanden',\r\n totalMessage: 'Gegenstände insgesamt'\r\n };\r\n\r\n constructor(sessionActions: SessionActions, cd: ChangeDetectorRef) {\r\n super(sessionActions, cd);\r\n }\r\n\r\n ngOnInit(): void {\r\n super.ngOnInit();\r\n\r\n this.columns = [\r\n {prop: 'identities.0.ean', name: 'EPC'},\r\n {prop: 'label', name: 'Bezeichner'},\r\n //{prop: 'product_batch', name: 'Charge / MHD', cellTemplate: this.batchCellTmpl},\r\n {name: 'Seriennr.', prop: 'serial_no'},\r\n {name: 'Inventarnr.', prop: 'inventory_no'},\r\n {name: 'Bestandszähler', prop: 'stock_count'},\r\n {name: 'Standort', prop: 'location.label'},\r\n {prop: 'updated_at', name: 'Letzte Änderung', cellTemplate: this.table.formatDateTimeTmpl},\r\n ];\r\n\r\n }\r\n\r\n editAssetClicked(asset) {\r\n this.onEditAsset.emit(asset);\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/store-management/asset-management/components/assets-list/assets-list.component.ts","module.exports = \"\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/store-management/asset-management/components/edit-asset/edit-asset.component.css\n// module id = ./src/app/store-management/asset-management/components/edit-asset/edit-asset.component.css\n// module chunks = main","module.exports = \"\\r\\n \\r\\n\\r\\n\\r\\n\\r\\n \\r\\n\\r\\n\\r\\n\\r\\n

Form: {{control.value | json}}

\\r\\n

Asset: {{item | json}}

\\r\\n
\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/store-management/asset-management/components/edit-asset/edit-asset.component.html\n// module id = ./src/app/store-management/asset-management/components/edit-asset/edit-asset.component.html\n// module chunks = main","import {ChangeDetectorRef, Component, OnInit} from '@angular/core';\r\nimport {Asset} from '../../../../shared/view-model/store-management/asset.type';\r\nimport {AbstractVisbosControl} from '../../../../core/visbos-core/ui/forms/abstract-visbos-control';\r\nimport {FormBuilder, FormGroup, Validators} from '@angular/forms';\r\nimport {SessionActions} from '../../../../shared/actions';\r\n\r\n@Component({\r\n selector: 'vb-edit-asset',\r\n templateUrl: './edit-asset.component.html',\r\n styleUrls: ['./edit-asset.component.css']\r\n})\r\nexport class EditAssetComponent extends AbstractVisbosControl implements OnInit {\r\n\r\n constructor(fb: FormBuilder, cd: ChangeDetectorRef, sessionActions: SessionActions) {\r\n super(fb, cd, sessionActions);\r\n }\r\n\r\n ngOnInit() {\r\n super.ngOnInit();\r\n }\r\n\r\n buildControlContent(values?: Asset): FormGroup {\r\n return EditAssetComponent.initControl(this.fb);\r\n }\r\n\r\n public static initControl(fb: FormBuilder = null): FormGroup {\r\n return fb.group({\r\n cuid: [null, Validators.required],\r\n inventory_no: [null],\r\n serial_no: [null]\r\n });\r\n }\r\n\r\n\r\n setDefaultValues(item?: Asset): { [p: string]: any } | any {\r\n return {\r\n cuid: this.setValue(item, 'cuid', AbstractVisbosControl.cuid()),\r\n inventory_no: this.setValue(item, 'inventory_no', null),\r\n serial_no: this.setValue(item, 'serial_no', null),\r\n }\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/store-management/asset-management/components/edit-asset/edit-asset.component.ts","module.exports = \"\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/store-management/asset-management/components/location-marriage-wizard/location-marriage-wizard.component.css\n// module id = ./src/app/store-management/asset-management/components/location-marriage-wizard/location-marriage-wizard.component.css\n// module chunks = main","module.exports = \"\\r\\n\\r\\n \\r\\n\\r\\n

Wählen Sie den Standort aus, dem Sie Gegenstände zuordnen möchten.

\\r\\n\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n\\r\\n \\r\\n\\r\\n

Scannen Sie alle Gegenstände, die dem neuen Standort zugeordnet werden sollen.

\\r\\n\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n Die Gegenstände werden dem neuen Standort zugeordnet...\\r\\n\\r\\n \\r\\n\\r\\n\\r\\n \\r\\n\\r\\n\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/store-management/asset-management/components/location-marriage-wizard/location-marriage-wizard.component.html\n// module id = ./src/app/store-management/asset-management/components/location-marriage-wizard/location-marriage-wizard.component.html\n// module chunks = main","import {AfterViewInit, ChangeDetectorRef, Component, OnDestroy, OnInit, ViewChild} from '@angular/core';\r\nimport {AbstractVisbosComponent} from '../../../../core/visbos-core/components/abstract-visbos.component';\r\nimport {MovingDirection, WizardComponent} from 'ng2-archwizard/dist';\r\nimport {SessionActions} from '../../../../shared/actions';\r\nimport {ActivatedRoute, Router} from '@angular/router';\r\nimport {LocationMarriageWizardService} from '../../services/location-marriage-wizard.service';\r\nimport {ILocation} from '../../../../shared/view-model/ilocation.interface';\r\n\r\n@Component({\r\n selector: 'vb-location-marriage-wizard',\r\n templateUrl: './location-marriage-wizard.component.html',\r\n styleUrls: ['./location-marriage-wizard.component.css'],\r\n providers: [LocationMarriageWizardService]\r\n})\r\nexport class LocationMarriageWizardComponent extends AbstractVisbosComponent implements OnInit, AfterViewInit, OnDestroy {\r\n\r\n MovingDirection;\r\n\r\n @ViewChild(WizardComponent)\r\n wizard: WizardComponent;\r\n\r\n currentStep: number;\r\n\r\n canExitLocationPageProxy = (direction: MovingDirection) => this.canExitPackingPage.apply(this, [direction]);\r\n canExitItemsPageProxy = (direction: MovingDirection) => this.canExitItemsPage.apply(this, [direction]);\r\n\r\n private isSaved: boolean = false;\r\n\r\n\r\n constructor(sessionActions: SessionActions, cd: ChangeDetectorRef,\r\n private router: Router, private activatedRoute: ActivatedRoute,\r\n public wizardService: LocationMarriageWizardService) {\r\n super(sessionActions, cd);\r\n\r\n this.MovingDirection = MovingDirection;\r\n\r\n }\r\n\r\n onStepChanged() {\r\n let step = this.wizard.model.getIndexOfStep(this.wizard.model.currentStep);\r\n this.currentStep = step;\r\n this.cd.detectChanges();\r\n }\r\n\r\n onFinalStepEntered() {\r\n this.onStepChanged();\r\n this.wizardService.assignLocationToAssets().subscribe(\r\n res => {\r\n this.sessionActions.pushMessage(\"Der neue Standort wurde erfolgreich zugewiesen.\");\r\n this.gotoStart();\r\n }, err => {\r\n this.sessionActions.throwError(err, \"Fehler beim Zuweisen des Standorts!\");\r\n }\r\n );\r\n }\r\n\r\n canExitPackingPage(direction: MovingDirection): boolean {\r\n\r\n if (direction == MovingDirection.Forwards) {\r\n if (this.wizardService.currentLocation) {\r\n return true;\r\n }\r\n }\r\n\r\n return false;\r\n }\r\n\r\n canExitItemsPage(direction: MovingDirection): boolean {\r\n\r\n if (direction == MovingDirection.Forwards) {\r\n if (this.wizardService.currentAssetTree && this.wizardService.currentAssetTree.length) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n } else {\r\n return true;\r\n }\r\n\r\n }\r\n\r\n gotoStart() {\r\n this.wizardService.resetWizard();\r\n this.wizard.navigation.reset();\r\n }\r\n\r\n onLocationChange(location: ILocation) {\r\n this.wizardService.currentLocation = location;\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/store-management/asset-management/components/location-marriage-wizard/location-marriage-wizard.component.ts","module.exports = \"\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/store-management/asset-management/components/location-selection/location-selection.component.css\n// module id = ./src/app/store-management/asset-management/components/location-selection/location-selection.component.css\n// module chunks = main","module.exports = \"
\\r\\n
\\r\\n
\\r\\n
\\r\\n

\\r\\n {{location ? location.label : 'Wählen Sie einen Standort aus...'}}\\r\\n \\r\\n

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Ausgewählter Standort\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n Standort:\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/store-management/asset-management/components/location-selection/location-selection.component.html\n// module id = ./src/app/store-management/asset-management/components/location-selection/location-selection.component.html\n// module chunks = main","import {ChangeDetectorRef, Component, EventEmitter, Input, OnInit, Output} from '@angular/core';\r\nimport {ILocation} from '../../../../shared/view-model/ilocation.interface';\r\nimport {AbstractVisbosComponent} from '../../../../core/visbos-core/components/abstract-visbos.component';\r\nimport {SessionActions} from '../../../../shared/actions';\r\nimport {MessageType} from '../../../../shared/redux-store/session';\r\nimport {AssetService} from '../../services/asset.service';\r\nimport {RfidService} from '../../../../identity/services/rfid.service';\r\nimport {Identifiable} from '../../../../identity/model/identifiable.interface';\r\nimport {Depot} from '../../../../shared/view-model/store-management/depot.type';\r\nimport {Observable, Observer} from 'rxjs';\r\nimport {map, switchMap, tap} from 'rxjs/operators';\r\nimport {of} from 'rxjs/observable/of';\r\n\r\n@Component({\r\n selector: 'vb-location-selection',\r\n templateUrl: './location-selection.component.html',\r\n styleUrls: ['./location-selection.component.css']\r\n})\r\nexport class LocationSelectionComponent extends AbstractVisbosComponent implements OnInit {\r\n\r\n\r\n selectedLocationLabel: string;\r\n\r\n suggestions$: Observable;\r\n locationsLoading: boolean;\r\n\r\n private _location: ILocation;\r\n\r\n @Output()\r\n locationChange: EventEmitter = new EventEmitter();\r\n\r\n get location(): ILocation {\r\n return this._location;\r\n }\r\n\r\n @Input()\r\n set location(value: ILocation) {\r\n this._location = value;\r\n }\r\n\r\n constructor(sessionActions: SessionActions, cd: ChangeDetectorRef,\r\n private assetService: AssetService, private rfidService: RfidService) {\r\n super(sessionActions, cd);\r\n }\r\n\r\n ngOnInit() {\r\n super.ngOnInit();\r\n this.suggestions$ = new Observable((observer: Observer) => {\r\n observer.next(this.selectedLocationLabel);\r\n }).pipe(\r\n switchMap((query: string) => {\r\n if (query) {\r\n this.locationsLoading = true;\r\n return this.assetService.fetchLocationsOnce({\r\n query: query\r\n }).pipe(\r\n tap(res => {\r\n this.locationsLoading = res.loading;\r\n }, err => {\r\n // in case of http error\r\n this.sessionActions.throwError(err, \"Fehler beim Abrufen der Standorte\");\r\n this.locationsLoading = false;\r\n }),\r\n map(res => res && res.data.locations || [])\r\n );\r\n } else {\r\n return of([]);\r\n }\r\n })\r\n );\r\n }\r\n\r\n public resolveEPCs(epcs: string[]) {\r\n\r\n if (!epcs || !epcs.length) {\r\n this.sessionActions.pushMessage(\"Es wurden keine EPC-Tags erkannt, bitte versuchen Sie es noch einmal!\", MessageType.WARNING, \"Standort-Auswahl\");\r\n return;\r\n }\r\n\r\n if (epcs.length > 1) {\r\n this.sessionActions.pushMessage(\"Es wurden mehrere EPC-Tags im Lesefeld erkannt, bitte entfernen Sie überzählige RFID-Tags aus dem Lesefeld und versuchen Sie es noch einmal!\", MessageType.WARNING, \"Standort-Auswahl\");\r\n return;\r\n }\r\n\r\n const locationQuery$ = this.rfidService.resolveEPCsOnce({\r\n epcs: epcs,\r\n includeChildren: false\r\n });\r\n\r\n locationQuery$.subscribe(res => {\r\n this.processResult(res.data.itemsByEPCs[0]);\r\n }, err => {\r\n this.sessionActions.throwError(err, \"Fehler beim Auflösen des EPC-Codes!\");\r\n }, () => {\r\n console.info(\"Completed query\");\r\n });\r\n }\r\n\r\n private processResult(item: Identifiable) {\r\n if (item.__typename != 'Depot' && item.__typename != 'DepotYard') {\r\n this.sessionActions.pushMessage(\"Der erfasste RFID-Tag referenziert keinen gültigen Standort!\", MessageType.WARNING, \"Standort-Auswahl\");\r\n return;\r\n }\r\n\r\n this.onLocationSelected(item);\r\n }\r\n\r\n public onLocationSelected(location: ILocation) {\r\n this.location = location;\r\n this.selectedLocationLabel = null;\r\n this.locationChange.emit(location);\r\n }\r\n\r\n public deselectLocation() {\r\n this.onLocationSelected(null);\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/store-management/asset-management/components/location-selection/location-selection.component.ts","module.exports = \"\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/store-management/asset-management/new-assets-by-epc-list/new-assets-by-epc-list.component.css\n// module id = ./src/app/store-management/asset-management/new-assets-by-epc-list/new-assets-by-epc-list.component.css\n// module chunks = main","module.exports = \"\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n \\r\\n \\r\\n\\r\\n\\r\\n\\r\\n LOT: {{batch.batch_number}}, \\r\\n MHD: {{batch.use_before_date | date:'MM/yyyy'}}\\r\\n\\r\\n\\r\\n\\r\\n Index: {{findCuidInFormArray(asset.cuid, control)}}\\r\\n \\r\\n\\r\\n\\r\\n\\r\\n \\r\\n\\r\\n\\r\\n\\r\\n \\r\\n\\r\\n\\r\\n\\r\\n

Form: {{control?.value | json}}

\\r\\n
\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/store-management/asset-management/new-assets-by-epc-list/new-assets-by-epc-list.component.html\n// module id = ./src/app/store-management/asset-management/new-assets-by-epc-list/new-assets-by-epc-list.component.html\n// module chunks = main","import {\r\n ChangeDetectorRef,\r\n Component,\r\n EventEmitter,\r\n Input,\r\n OnChanges,\r\n OnInit,\r\n Output,\r\n SimpleChanges,\r\n TemplateRef,\r\n ViewChild\r\n} from '@angular/core';\r\nimport {SessionActions} from '../../../shared/actions';\r\nimport {AbstractListView} from '../../../core/visbos-core/ui/components/abstract-list-view';\r\nimport {AbstractControl, FormArray, FormBuilder, FormGroup} from '@angular/forms';\r\nimport {AbstractVisbosControl} from '../../../core/visbos-core/ui/forms/abstract-visbos-control';\r\nimport {StockItem} from '../../../shared/view-model/store-management/stock-item.type';\r\n\r\n@Component({\r\n selector: 'vb-new-assets-by-epc-list',\r\n templateUrl: './new-assets-by-epc-list.component.html',\r\n styleUrls: ['./new-assets-by-epc-list.component.css']\r\n})\r\nexport class NewAssetsByEpcListComponent extends AbstractListView implements OnInit, OnChanges {\r\n\r\n @Input()\r\n epcs = [];\r\n\r\n @Input()\r\n article: StockItem;\r\n\r\n @Output()\r\n assetsDataChange: EventEmitter = new EventEmitter();\r\n\r\n @ViewChild('batchCellTmpl')\r\n batchCellTmpl: TemplateRef;\r\n\r\n @ViewChild('stockAmountTmpl')\r\n stockAmountTmpl: TemplateRef;\r\n\r\n @ViewChild('invNoTmpl')\r\n invNoTmpl: TemplateRef;\r\n\r\n @ViewChild('serialNoTmpl')\r\n serialNoTmpl: TemplateRef;\r\n\r\n messages = {\r\n emptyMessage: 'Keine EPCs vorhanden',\r\n totalMessage: 'EPCs insgesamt'\r\n };\r\n\r\n control: FormArray;\r\n\r\n constructor(sessionActions: SessionActions, cd: ChangeDetectorRef,\r\n private fb: FormBuilder) {\r\n super(sessionActions, cd);\r\n\r\n this.control = this.fb.array([]);\r\n\r\n }\r\n\r\n ngOnInit(): void {\r\n super.ngOnInit();\r\n\r\n this.columns = [\r\n {prop: 'identities.0.ean', name: 'EPC'},\r\n {prop: 'name', name: 'Bezeichner'},\r\n {prop: 'product_batch', name: 'Charge / MHD', cellTemplate: this.batchCellTmpl},\r\n {name: 'Seriennr.', cellTemplate: this.serialNoTmpl},\r\n {name: 'Inventarnr.', cellTemplate: this.invNoTmpl},\r\n {name: 'Bestandszähler', cellTemplate: this.stockAmountTmpl},\r\n ];\r\n\r\n }\r\n\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n if (changes.epcs || changes.article) {\r\n if (this.epcs && this.article) {\r\n this.control = this.initControlForEPCs(this.epcs, this.article, this.fb);\r\n this.assetsDataChange.emit(this.control.value);\r\n this.addSubscription(this.control.valueChanges.subscribe(data => {\r\n this.assetsDataChange.emit(data)\r\n }));\r\n }\r\n }\r\n }\r\n\r\n deleteAsset(cuid) {\r\n let index = this.findCuidInFormArray(cuid, this.control);\r\n\r\n if (index > -1) {\r\n let asset = this.control.at(index).value;\r\n const arrayIndex = this.epcs.findIndex(e => e === asset.identities[0].ean)\r\n this.epcs = this.epcs.splice(arrayIndex, 1);\r\n\r\n this.control.removeAt(index);\r\n console.info(\"Removing item \" + cuid + \" from index \" + index);\r\n }\r\n }\r\n\r\n private initControlForEPCs(epcs: string[], article: StockItem, fb: FormBuilder): FormArray {\r\n let formArray = fb.array([]);\r\n for (let epc of (epcs || [])) {\r\n formArray.push(this.initAssetControl(epc, article, fb));\r\n }\r\n return formArray;\r\n }\r\n\r\n applyProductBatchToAssets(productBatchControl: FormGroup) {\r\n if (!this.control) {\r\n return;\r\n }\r\n\r\n for (let c of this.control.controls) {\r\n if (c instanceof FormGroup) {\r\n c.setControl('product_batch', productBatchControl);\r\n }\r\n }\r\n\r\n }\r\n\r\n removeProductBatchFromAssets() {\r\n if (!this.control) {\r\n return;\r\n }\r\n for (let c of this.control.controls) {\r\n if (c instanceof FormGroup) {\r\n c.removeControl('product_batch');\r\n }\r\n }\r\n }\r\n\r\n private initAssetControl(epc: string, article: StockItem, fb: FormBuilder): FormGroup {\r\n\r\n const oldControl: AbstractControl = this.control ? this.control.at(this.findEpcInFormArray(epc, this.control)) : null;\r\n\r\n return fb.group({\r\n 'cuid': AbstractVisbosControl.cuid(),\r\n 'name': article.label,\r\n 'article_id': article.cuid,\r\n 'stock_count': oldControl ? oldControl.get('stock_count') : 1,\r\n 'administration_unit_id': article.administration_unit ? article.administration_unit.cuid : null,\r\n 'identities': fb.array([fb.group({\r\n 'ean': epc,\r\n 'is_seal': false\r\n })]),\r\n 'inventory_no': oldControl ? oldControl.get('inventory_no') : null,\r\n 'serial_no': oldControl ? oldControl.get('serial_no') : null\r\n });\r\n }\r\n\r\n findEpcInFormArray(epc: string, formArray: FormArray) {\r\n const val: any[] = formArray.value;\r\n return val.findIndex((content) => {\r\n return content.identities.length && content.identities[0].ean == epc;\r\n });\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/store-management/asset-management/new-assets-by-epc-list/new-assets-by-epc-list.component.ts","module.exports = \"\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/store-management/asset-management/register-assets/register-assets.component.css\n// module id = ./src/app/store-management/asset-management/register-assets/register-assets.component.css\n// module chunks = main","module.exports = \"

Stücke registrieren\\r\\n \\r\\n

\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/store-management/asset-management/register-assets/register-assets.component.html\n// module id = ./src/app/store-management/asset-management/register-assets/register-assets.component.html\n// module chunks = main","import {ChangeDetectorRef, Component, Input, OnInit} from '@angular/core';\r\nimport {AbstractVisbosComponent} from '../../../core/visbos-core/components/abstract-visbos.component';\r\nimport {SessionActions} from '../../../shared/actions';\r\n\r\n@Component({\r\n selector: 'vb-register-assets',\r\n templateUrl: './register-assets.component.html',\r\n styleUrls: ['./register-assets.component.css']\r\n})\r\nexport class RegisterAssetsComponent extends AbstractVisbosComponent implements OnInit {\r\n\r\n @Input()\r\n stockCuid: string;\r\n\r\n @Input()\r\n articleCuid: string;\r\n\r\n assets;\r\n\r\n constructor(sessionActions: SessionActions, cd: ChangeDetectorRef) {\r\n super(sessionActions, cd);\r\n }\r\n\r\n\r\n ngOnInit(): void {\r\n super.ngOnInit();\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/store-management/asset-management/register-assets/register-assets.component.ts","import {Injectable} from '@angular/core';\r\nimport {VisbosService} from '../../../core/visbos-core/graphql/visbos.service';\r\nimport {NgRedux, select} from '@angular-redux/store';\r\nimport {Observable} from 'rxjs';\r\nimport {Apollo, ApolloQueryObservable} from 'apollo-angular';\r\nimport {IAppState} from '../../../shared/redux-store';\r\nimport {SessionActions} from '../../../shared/actions';\r\nimport gql from 'graphql-tag';\r\nimport {\r\n AssignLocationToAssetsMutation,\r\n AssignLocationToAssetsMutationVariables,\r\n FetchAssetsQuery,\r\n FetchLocationsListQuery,\r\n FetchLocationsListQueryVariables,\r\n GetAssetQuery,\r\n UpdateAssetMutation\r\n} from '../../../shared/graphql/graphql.types';\r\nimport {HttpClient, HttpHeaders} from '@angular/common/http';\r\nimport {environment} from '../../../../environments/environment';\r\nimport {ApolloQueryResult} from 'apollo-client';\r\n\r\nexport const assetFragments = {\r\n asset: gql`\r\n fragment AssetFields on Asset {\r\n cuid created_at updated_at deleted_at\r\n label serial_no, inventory_no stock_count\r\n article {cuid label}\r\n location {cuid label}\r\n identities {cuid ean is_seal}\r\n product_batch {cuid label use_before_date_formatted batch_number}\r\n }\r\n `,\r\n assetTree: gql`\r\n fragment AssetData on AssetTree {\r\n cuid created_at updated_at deleted_at\r\n name, label\r\n stock_count\r\n article {cuid label}\r\n location {cuid label}\r\n product_batch {cuid label use_before_date_formatted batch_number}\r\n identities {cuid ean is_seal}\r\n seals {cuid ean is_seal}\r\n }\r\n `,\r\n assetTreeNesting: null\r\n};\r\n\r\nassetFragments.assetTreeNesting = gql`\r\n fragment TreeData on AssetTree {\r\n ...AssetData\r\n children {\r\n ...AssetData\r\n children {\r\n ...AssetData\r\n children {\r\n ...AssetData\r\n children {\r\n ...AssetData\r\n children {\r\n ...AssetData\r\n children {\r\n ...AssetData\r\n children {\r\n ...AssetData\r\n children {\r\n ...AssetData\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n ${assetFragments.assetTree}\r\n`;\r\n\r\nexport const getAssetQuery = gql`\r\n query GetAsset($cuid: String!) {\r\n asset(cuid: $cuid) {\r\n ...TreeData\r\n }\r\n }\r\n ${assetFragments.assetTreeNesting}\r\n`;\r\n\r\nexport const fetchAssetsQuery = gql`\r\n query FetchAssets {\r\n assetList {\r\n ...AssetFields\r\n }\r\n }\r\n ${assetFragments.asset}\r\n`;\r\n\r\nexport const updateAssetMutation = gql`\r\n mutation UpdateAsset($cuid: String!, $assetData: AssetInput!) {\r\n updateAsset(cuid: $cuid, assetData: $assetData) {\r\n ...AssetFields\r\n }\r\n }\r\n ${assetFragments.asset}\r\n`;\r\n\r\nexport const fetchLocationsList = gql`\r\n query FetchLocationsList($adminUnitCuid: String, $query: String) {\r\n locations(adminUnitCuid: $adminUnitCuid, query: $query) {\r\n cuid label\r\n }\r\n }\r\n`;\r\n\r\nexport const assignLocationToAssets = gql`\r\n mutation AssignLocationToAssets($locationCuid: ID!, $locationType: String!, $assetCuids: [ID]) {\r\n assignAssetsToLocation(locationCuid: $locationCuid, locationType: $locationType, assetCuids: $assetCuids) {\r\n ...AssetFields\r\n }\r\n }\r\n ${assetFragments.asset}\r\n`;\r\n\r\n@Injectable()\r\nexport class AssetService extends VisbosService {\r\n\r\n @select(['session', 'activeAdminUnit'])\r\n activeAdminUnit$: Observable;\r\n\r\n constructor(apollo: Apollo, ngRedux: NgRedux, sessionActions: SessionActions, private http: HttpClient) {\r\n super(apollo, ngRedux, sessionActions);\r\n }\r\n\r\n public getAsset(cuid: string): ApolloQueryObservable {\r\n return this.fetchItems({\r\n query: getAssetQuery,\r\n variables: {\r\n cuid: cuid\r\n }\r\n });\r\n }\r\n\r\n public fetchAssets(): ApolloQueryObservable {\r\n return this.fetchItems({\r\n query: fetchAssetsQuery\r\n });\r\n }\r\n\r\n public updateAsset(cuid: string, assetData): Observable> {\r\n return this.mutate({\r\n mutation: updateAssetMutation,\r\n variables: {\r\n cuid: cuid,\r\n assetData: assetData\r\n }\r\n })\r\n }\r\n\r\n public exportAssetList() {\r\n const headers = new HttpHeaders();\r\n headers.set('Accept', 'text/plain');\r\n return this.http.get(`${environment.baseUrl}/api/export/gegenstaende`, {\r\n headers: headers,\r\n responseType: \"arraybuffer\",\r\n observe: 'response'\r\n });\r\n }\r\n\r\n public fetchLocationsOnce(variables?: FetchLocationsListQueryVariables): Observable> {\r\n return this.fetchItemsOnce({\r\n query: fetchLocationsList,\r\n variables: variables\r\n });\r\n }\r\n\r\n public assignLocationToAssets(variables: AssignLocationToAssetsMutationVariables): Observable> {\r\n return this.mutate({\r\n mutation: assignLocationToAssets,\r\n variables: variables\r\n });\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/store-management/asset-management/services/asset.service.ts","import {Injectable} from '@angular/core';\r\nimport {VisbosService} from '../../../core/visbos-core/graphql/visbos.service';\r\nimport {Apollo} from 'apollo-angular';\r\nimport {NgRedux} from '@angular-redux/store';\r\nimport {IAppState} from '../../../shared/redux-store';\r\nimport {SessionActions} from '../../../shared/actions';\r\nimport {BehaviorSubject} from 'rxjs';\r\nimport {ILocation} from '../../../shared/view-model/ilocation.interface';\r\nimport {AssetTree} from '../../../shared/view-model/store-management/asset-tree.type';\r\nimport {AssetService} from './asset.service';\r\n\r\n@Injectable()\r\nexport class LocationMarriageWizardService extends VisbosService {\r\n\r\n private _currentLocation: BehaviorSubject = new BehaviorSubject(null);\r\n private _currentAssetTree: BehaviorSubject = new BehaviorSubject([]);\r\n private _activeEpcs: BehaviorSubject = new BehaviorSubject([]);\r\n\r\n constructor(apollo: Apollo, ngRedux: NgRedux, sessionActions: SessionActions,\r\n private assetService: AssetService) {\r\n super(apollo, ngRedux, sessionActions);\r\n }\r\n\r\n get currentLocation(): ILocation {\r\n return this._currentLocation.value;\r\n }\r\n\r\n get currentLocation$(): BehaviorSubject {\r\n return this._currentLocation;\r\n }\r\n\r\n set currentLocation(value: ILocation) {\r\n this._currentLocation.next(value);\r\n }\r\n\r\n get currentAssetTree(): AssetTree[] {\r\n return this._currentAssetTree.value;\r\n }\r\n\r\n get currentAssetTree$(): BehaviorSubject {\r\n return this._currentAssetTree;\r\n }\r\n\r\n set currentAssetTree(value: AssetTree[]) {\r\n this._currentAssetTree.next(value);\r\n }\r\n\r\n get activeEpcs(): string[] {\r\n return this._activeEpcs.value;\r\n }\r\n\r\n get activeEpcs$(): BehaviorSubject {\r\n return this._activeEpcs;\r\n }\r\n\r\n set activeEpcs(value: string[]) {\r\n this._activeEpcs.next(value);\r\n }\r\n\r\n assignLocationToAssets() {\r\n return this.assetService.assignLocationToAssets({\r\n locationCuid: this.currentLocation.cuid,\r\n locationType: this.currentLocation.__typename,\r\n assetCuids: this.getCurrentChildrenCuids()\r\n });\r\n }\r\n\r\n getCurrentChildrenCuids() {\r\n const deepMap = (array: AssetTree[], result: string[]) => {\r\n array.forEach(function (el) {\r\n result.push(el.cuid);\r\n if (el.children && el.children.length) {\r\n deepMap(el.children, result);\r\n }\r\n });\r\n }\r\n\r\n const result: string[] = [];\r\n deepMap(this.currentAssetTree, result);\r\n\r\n return result;\r\n }\r\n\r\n\r\n resetWizard() {\r\n this.activeEpcs = [];\r\n this.currentAssetTree = [];\r\n this.currentLocation = null;\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/store-management/asset-management/services/location-marriage-wizard.service.ts","import {Injectable} from '@angular/core';\r\nimport {BehaviorSubject} from 'rxjs';\r\nimport {Asset} from '../../../shared/view-model/store-management/asset.type';\r\nimport {Barcode} from '../../../identity/model/barcode.interface';\r\nimport {StockItem} from '../../../shared/view-model/store-management/stock-item.type';\r\nimport {VisbosService} from '../../../core/visbos-core/graphql/visbos.service';\r\nimport gql from 'graphql-tag';\r\nimport {Apollo} from 'apollo-angular';\r\nimport {IAppState} from '../../../shared/redux-store';\r\nimport {SessionActions} from '../../../shared/actions';\r\nimport {NgRedux} from '@angular-redux/store';\r\nimport {AssetTree} from '../../../shared/view-model/store-management/asset-tree.type';\r\nimport {TreeNode} from 'primeng/api';\r\nimport * as _ from 'lodash';\r\n\r\nexport type Data = {\r\n article: StockItem,\r\n assets: Asset[]\r\n}\r\n\r\nconst itemMarriageMutation = gql`\r\n mutation ItemMarriage(\r\n $parentAssetCuid: ID!\r\n $childrenAssetCuids: [ID]!\r\n $sealEpc: String\r\n ) {\r\n marryAssets(\r\n parentAssetCuid: $parentAssetCuid\r\n childrenAssetCuids: $childrenAssetCuids\r\n sealEpc: $sealEpc\r\n ) {\r\n cuid\r\n label\r\n identities {\r\n cuid\r\n ean\r\n label\r\n }\r\n seals {\r\n cuid\r\n ean\r\n is_seal\r\n label\r\n }\r\n descendants {\r\n cuid\r\n label\r\n }\r\n }\r\n }\r\n`\r\n\r\n@Injectable()\r\nexport class MarriageService extends VisbosService {\r\n\r\n private _currentParentAsset: BehaviorSubject = new BehaviorSubject(null);\r\n private _currentSeal: BehaviorSubject = new BehaviorSubject(null);\r\n\r\n public lastEpcs: string[] = [];\r\n public childrenAssetTree: BehaviorSubject = new BehaviorSubject([]);\r\n\r\n\r\n constructor(apollo: Apollo, ngRedux: NgRedux, sessionActions: SessionActions) {\r\n super(apollo, ngRedux, sessionActions);\r\n }\r\n\r\n getCurrentParentAsset(): BehaviorSubject {\r\n return this._currentParentAsset;\r\n }\r\n\r\n setCurrentParentAsset(asset: Asset) {\r\n this._currentParentAsset.next(asset);\r\n }\r\n\r\n getCurrentSeal(): BehaviorSubject {\r\n return this._currentSeal;\r\n }\r\n\r\n setCurrentSeal(value: Barcode) {\r\n this._currentSeal.next(value);\r\n }\r\n\r\n reset() {\r\n this.setCurrentParentAsset(null);\r\n this.setCurrentSeal(null);\r\n this.updateAssetTree([]);\r\n }\r\n\r\n updateAssetTree(assetTree: AssetTree[]) {\r\n this.childrenAssetTree.next(_.cloneDeep(assetTree));\r\n }\r\n\r\n getChildrenAssetsList() {\r\n return this.childrenAssetTree.value;\r\n }\r\n\r\n getCurrentChildrenCuids() {\r\n return this.childrenAssetTree.value.map((treeNode: AssetTree) => treeNode.cuid);\r\n }\r\n\r\n saveCurrentMarriage() {\r\n return this.mutate({\r\n mutation: itemMarriageMutation,\r\n variables: {\r\n parentAssetCuid: this.getCurrentParentAsset().getValue().cuid,\r\n childrenAssetCuids: this.getCurrentChildrenCuids(),\r\n sealEpc: this.getCurrentSeal().getValue() ? this.getCurrentSeal().getValue().ean : null\r\n },\r\n //refetchQueries: ['LoadVehicleStock']\r\n });\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/store-management/asset-management/services/marriage.service.ts","module.exports = \"\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/store-management/asset-management/views/asset-list-view/asset-list-view.component.css\n// module id = ./src/app/store-management/asset-management/views/asset-list-view/asset-list-view.component.css\n// module chunks = main","module.exports = \"\\r\\n\\r\\n

Gegenstände-Übersicht

\\r\\n\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/store-management/asset-management/views/asset-list-view/asset-list-view.component.html\n// module id = ./src/app/store-management/asset-management/views/asset-list-view/asset-list-view.component.html\n// module chunks = main","import {ChangeDetectorRef, Component, OnInit, ViewChild} from '@angular/core';\r\nimport {AbstractVisbosComponent} from '../../../../core/visbos-core/components/abstract-visbos.component';\r\nimport {SessionActions} from '../../../../shared/actions';\r\nimport {AssetsListComponent} from '../../components/assets-list/assets-list.component';\r\nimport {ApolloQueryObservable} from 'apollo-angular';\r\nimport {FetchAssetsQuery} from '../../../../shared/graphql/graphql.types';\r\nimport {AssetService} from '../../services/asset.service';\r\nimport {FileService} from '../../../../core/visbos-core/http/file.service';\r\nimport {GenericModalComponent} from '../../../../core/visbos-core/ui/forms/generic-modal/generic-modal.component';\r\nimport {EditAssetComponent} from '../../components/edit-asset/edit-asset.component';\r\nimport {Asset} from '../../../../shared/view-model/store-management/asset.type';\r\nimport {MessageType} from '../../../../shared/redux-store/session';\r\n\r\n@Component({\r\n selector: 'vb-asset-list-view',\r\n templateUrl: './asset-list-view.component.html',\r\n styleUrls: ['./asset-list-view.component.css']\r\n})\r\nexport class AssetListViewComponent extends AbstractVisbosComponent implements OnInit {\r\n\r\n /**\r\n * TODO: Migrate Apollo\r\n */\r\n private assets$: ApolloQueryObservable;\r\n public assets;\r\n assetsLoading = false;\r\n exportLoading = false;\r\n\r\n assetToEdit: Asset;\r\n\r\n @ViewChild('assetsList')\r\n assetsList: AssetsListComponent;\r\n\r\n @ViewChild('editAssetModal')\r\n editAssetModal: GenericModalComponent;\r\n\r\n @ViewChild('assetForm')\r\n assetForm: EditAssetComponent;\r\n\r\n constructor(sessionActions: SessionActions, cd: ChangeDetectorRef, private assetService: AssetService, private fileService: FileService) {\r\n super(sessionActions, cd);\r\n\r\n this.actions = [\r\n {\r\n label: 'Liste exportieren',\r\n icon: 'fa-file',\r\n action: () => this.onDownloadAssetList.apply(this),\r\n helpText: 'Exportiert die Gegenstände-Liste in eine Excel-Datei'\r\n }\r\n ];\r\n\r\n }\r\n\r\n ngOnInit(): void {\r\n super.ngOnInit();\r\n this.assets$ = this.assetService.fetchAssets();\r\n this.addComponentData(this.assets$);\r\n this.assetsLoading = true;\r\n this.addSubscription(this.assets$.subscribe(res => {\r\n this.assetsLoading = res.loading;\r\n this.assets = res.data.assetList;\r\n }, err => {\r\n this.sessionActions.throwError(err, \"Fehler beim Abrufen von Gegenständen!\", \"Gegenstände\");\r\n this.assetsLoading = false;\r\n }));\r\n }\r\n\r\n onDownloadAssetList() {\r\n this.exportLoading = true;\r\n this.assetService.exportAssetList()\r\n .subscribe(response => {\r\n this.exportLoading = false;\r\n this.fileService.saveToFileSystem(response);\r\n }, err => {\r\n this.exportLoading = false;\r\n });\r\n }\r\n\r\n editAssetClicked(asset) {\r\n this.assetToEdit = asset;\r\n this.editAssetModal.show();\r\n this.cd.detectChanges();\r\n }\r\n\r\n saveAsset(assetData) {\r\n this.assetService.updateAsset(assetData.cuid, assetData).subscribe(\r\n res => {\r\n this.sessionActions.pushMessage(\"Gegenstand erfolgreich gespeichert\", MessageType.SUCCESS);\r\n },\r\n err => {\r\n this.sessionActions.throwError(err, \"Fehler beim Speichern des Gegenstands!\");\r\n }\r\n );\r\n this.assetToEdit = null;\r\n this.cd.detectChanges();\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/store-management/asset-management/views/asset-list-view/asset-list-view.component.ts","module.exports = \"\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/store-management/asset-management/views/asset-marriage-view/asset-marriage-view.component.css\n// module id = ./src/app/store-management/asset-management/views/asset-marriage-view/asset-marriage-view.component.css\n// module chunks = main","module.exports = \"\\r\\n\\r\\n

Neue Einzelteilehierarchie bilden

\\r\\n\\r\\n
\\r\\n\\r\\n \\r\\n\\r\\n
\\r\\n\\r\\n\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/store-management/asset-management/views/asset-marriage-view/asset-marriage-view.component.html\n// module id = ./src/app/store-management/asset-management/views/asset-marriage-view/asset-marriage-view.component.html\n// module chunks = main","import {ChangeDetectorRef, Component, OnInit} from '@angular/core';\r\nimport {AbstractVisbosComponent} from '../../../../core/visbos-core/components/abstract-visbos.component';\r\nimport {SessionActions} from '../../../../shared/actions';\r\nimport {MarriageService} from '../../services/marriage.service';\r\n\r\n@Component({\r\n selector: 'vb-asset-marriage-view',\r\n templateUrl: './asset-marriage-view.component.html',\r\n styleUrls: ['./asset-marriage-view.component.css'],\r\n providers: [MarriageService]\r\n})\r\nexport class AssetMarriageViewComponent extends AbstractVisbosComponent implements OnInit {\r\n\r\n constructor(sessionActions: SessionActions, cd: ChangeDetectorRef) {\r\n super(sessionActions, cd);\r\n\r\n this.actions = [];\r\n\r\n }\r\n\r\n ngOnInit() {\r\n super.ngOnInit();\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/store-management/asset-management/views/asset-marriage-view/asset-marriage-view.component.ts","module.exports = \"\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/store-management/asset-management/views/location-marriage-wizzard-view/location-marriage-wizzard-view.component.css\n// module id = ./src/app/store-management/asset-management/views/location-marriage-wizzard-view/location-marriage-wizzard-view.component.css\n// module chunks = main","module.exports = \"\\r\\n\\r\\n

Standort zuweisen

\\r\\n\\r\\n
\\r\\n\\r\\n \\r\\n\\r\\n
\\r\\n\\r\\n\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/store-management/asset-management/views/location-marriage-wizzard-view/location-marriage-wizzard-view.component.html\n// module id = ./src/app/store-management/asset-management/views/location-marriage-wizzard-view/location-marriage-wizzard-view.component.html\n// module chunks = main","import {ChangeDetectorRef, Component, OnInit} from '@angular/core';\r\nimport {AbstractVisbosComponent} from '../../../../core/visbos-core/components/abstract-visbos.component';\r\nimport {SessionActions} from '../../../../shared/actions';\r\n\r\n@Component({\r\n selector: 'vb-location-marriage-wizzard-view',\r\n templateUrl: './location-marriage-wizzard-view.component.html',\r\n styleUrls: ['./location-marriage-wizzard-view.component.css']\r\n})\r\nexport class LocationMarriageWizzardViewComponent extends AbstractVisbosComponent implements OnInit {\r\n\r\n constructor(sessionActions: SessionActions, cd: ChangeDetectorRef) {\r\n super(sessionActions, cd);\r\n\r\n this.actions = [];\r\n\r\n }\r\n\r\n ngOnInit() {\r\n super.ngOnInit();\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/store-management/asset-management/views/location-marriage-wizzard-view/location-marriage-wizzard-view.component.ts","module.exports = \"\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/store-management/asset-management/views/query-asset-status-view/query-asset-status-view.component.css\n// module id = ./src/app/store-management/asset-management/views/query-asset-status-view/query-asset-status-view.component.css\n// module chunks = main","module.exports = \"

\\r\\n query-asset-status-view works!\\r\\n

\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/store-management/asset-management/views/query-asset-status-view/query-asset-status-view.component.html\n// module id = ./src/app/store-management/asset-management/views/query-asset-status-view/query-asset-status-view.component.html\n// module chunks = main","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'vb-query-asset-status-view',\r\n templateUrl: './query-asset-status-view.component.html',\r\n styleUrls: ['./query-asset-status-view.component.css']\r\n})\r\nexport class QueryAssetStatusViewComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/store-management/asset-management/views/query-asset-status-view/query-asset-status-view.component.ts","module.exports = \"\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/store-management/asset-management/views/register-assets-for-article-view/register-assets-for-article-view.component.css\n// module id = ./src/app/store-management/asset-management/views/register-assets-for-article-view/register-assets-for-article-view.component.css\n// module chunks = main","module.exports = \"\\r\\n\\r\\n

Gegenstände für Artikel registrieren

\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
Artikel-Daten
\\r\\n
    \\r\\n
  • \\r\\n
    \\r\\n
    Artikelbezeichner:
    \\r\\n
    {{activeArticle?.label}}
    \\r\\n
    \\r\\n
  • \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
Stammdaten für neue Gegenstände
\\r\\n
    \\r\\n
  • \\r\\n
    \\r\\n
    Verwaltungseinheit:
    \\r\\n
    {{activeArticle?.administration_unit?.label}}
    \\r\\n
    \\r\\n
  • \\r\\n
  • \\r\\n
    \\r\\n
    Charge/MHD:
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
  • \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n

Liste neu anzulegender Gegenstände

\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n

Active article: {{activeArticle | json}}

\\r\\n

EPCs: {{epcs | json}}

\\r\\n

Asset data: {{assetData | json}}

\\r\\n
\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/store-management/asset-management/views/register-assets-for-article-view/register-assets-for-article-view.component.html\n// module id = ./src/app/store-management/asset-management/views/register-assets-for-article-view/register-assets-for-article-view.component.html\n// module chunks = main","import {ChangeDetectorRef, Component, OnInit, ViewChild} from '@angular/core';\r\nimport {AbstractVisbosComponent} from '../../../../core/visbos-core/components/abstract-visbos.component';\r\nimport {SessionActions} from '../../../../shared/actions';\r\nimport {ActivatedRoute} from '@angular/router';\r\nimport {ApolloQueryObservable} from 'apollo-angular';\r\nimport {RetrieveEPCsByReaderQuery} from '../../../../shared/graphql/graphql.types';\r\nimport {RfidService} from '../../../../identity/services/rfid.service';\r\nimport {StockItem} from '../../../../shared/view-model/store-management/stock-item.type';\r\nimport {ProductBatchFormComponent} from '../../../product/product-batch-form/product-batch-form.component';\r\nimport {FormBuilder, FormGroup} from '@angular/forms';\r\nimport {NewAssetsByEpcListComponent} from '../../new-assets-by-epc-list/new-assets-by-epc-list.component';\r\nimport {MessageType} from '../../../../shared/redux-store/session';\r\nimport * as _ from 'lodash';\r\n\r\n@Component({\r\n selector: 'vb-register-assets-for-article-view',\r\n templateUrl: './register-assets-for-article-view.component.html',\r\n styleUrls: ['./register-assets-for-article-view.component.css']\r\n})\r\nexport class RegisterAssetsForArticleViewComponent extends AbstractVisbosComponent implements OnInit {\r\n\r\n @ViewChild('assetsList')\r\n assetsList: NewAssetsByEpcListComponent;\r\n\r\n private readerQuery$: ApolloQueryObservable;\r\n\r\n public epcs: string[] = [];\r\n public activeArticle: StockItem;\r\n public assetData;\r\n\r\n productBatchForm: FormGroup;\r\n productBatch;\r\n\r\n lastManaulEpc;\r\n\r\n constructor(sessionActions: SessionActions, cd: ChangeDetectorRef,\r\n private route: ActivatedRoute, private fb: FormBuilder,\r\n private rfidService: RfidService) {\r\n super(sessionActions, cd);\r\n\r\n this.actions = [\r\n {\r\n label: 'Gegenstände via RFID einlesen',\r\n icon: 'fa-scanner',\r\n action: () => this.readRFID.apply(this),\r\n helpText: 'Löst einen RFID-Lesevorgang aus und fügt alle gelesenen RFID-Tags in die Liste der neu anzulegenden Gegenstände hinzu'\r\n },\r\n {\r\n label: 'Gegenstände registrieren',\r\n icon: 'fa-save',\r\n action: () => this.registerAssets.apply(this),\r\n disabled: () => !this.canRegisterAssets.apply(this),\r\n helpText: 'Registriert alle neu anzulegenden Gegenstände mit den vorgegebenen Stammdaten und EPCs im System',\r\n disabledText: 'Fügen Sie zuerst neu anzulegende Gegestände in die Liste hinzu'\r\n }\r\n ];\r\n\r\n }\r\n\r\n ngOnInit(): void {\r\n super.ngOnInit();\r\n this.addSubscription(this.route.data.subscribe(data => {\r\n this.activeArticle = data.stockItem;\r\n }));\r\n }\r\n\r\n addProductBatch() {\r\n this.productBatchForm = ProductBatchFormComponent.initControl(this.fb);\r\n }\r\n\r\n removeProductBatch() {\r\n this.assetsList.removeProductBatchFromAssets();\r\n this.productBatchForm = null;\r\n }\r\n\r\n applyProductBatch() {\r\n this.assetsList.applyProductBatchToAssets(this.productBatchForm);\r\n }\r\n\r\n onAssetDataChanged(data) {\r\n this.assetData = data;\r\n }\r\n\r\n readRFID() {\r\n this.sessionActions.initAsyncAction();\r\n if (!this.readerQuery$) {\r\n this.readerQuery$ = this.rfidService.retrieveEPCsFromReader({readerCuid: this.rfidService.getReaderForMarriage()}, 'network-only');\r\n this.addComponentData(this.readerQuery$);\r\n this.addSubscription(this.readerQuery$.subscribe(res => {\r\n if (!res.loading) {\r\n this.sessionActions.finishAsyncAction();\r\n }\r\n this.addEpcs(res.data.epcsByReader);\r\n }, err => {\r\n this.sessionActions.finishAsyncAction();\r\n this.sessionActions.throwError(err, 'Fehler beim Abrufen der RFID-Daten!', 'RFID-Lesevorgang');\r\n }));\r\n } else {\r\n this.readerQuery$.refetch().then(\r\n res => {\r\n if (!res.loading) {\r\n this.sessionActions.finishAsyncAction();\r\n }\r\n this.addEpcs(res.data.epcsByReader);\r\n }, err => {\r\n this.sessionActions.finishAsyncAction();\r\n this.sessionActions.throwError(err, 'Fehler beim Abrufen der RFID-Daten!', 'RFID-Lesevorgang');\r\n }\r\n );\r\n }\r\n }\r\n\r\n addEpc(epc: string) {\r\n if (!epc) {\r\n return;\r\n }\r\n this.addEpcs([epc]);\r\n this.lastManaulEpc = null;\r\n }\r\n\r\n addEpcs(epcs: string[]) {\r\n if (!epcs || !epcs.length) {\r\n return;\r\n }\r\n this.epcs = _.uniq([...this.epcs, ...epcs]);\r\n this.lastManaulEpc = null;\r\n }\r\n\r\n canRegisterAssets() {\r\n return this.assetData && this.assetData.length;\r\n }\r\n\r\n registerAssets() {\r\n\r\n const query$ = this.rfidService.registerAssetsForArticle({\r\n articleCuid: this.activeArticle.cuid,\r\n assetsData: this.assetData\r\n });\r\n\r\n this.addSubscription(query$.subscribe(res => {\r\n this.sessionActions.pushMessage('Gegenstände wurden erfolgreich registriert!', MessageType.SUCCESS, 'Gegenstandsverwaltung');\r\n this.epcs = [];\r\n this.assetData = null;\r\n this.productBatchForm = null;\r\n }, err => {\r\n this.sessionActions.throwError(err, 'Fehler beim Registrieren der Gegenstände! Bitte wenden Sie sich an den Support!', 'Gegenstandsverwaltung');\r\n }))\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/store-management/asset-management/views/register-assets-for-article-view/register-assets-for-article-view.component.ts","module.exports = \"\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/store-management/depot/depot-form/depot-form.component.css\n// module id = ./src/app/store-management/depot/depot-form/depot-form.component.css\n// module chunks = main","module.exports = \"\\r\\n\\r\\n \\r\\n \\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n \\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n \\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n \\r\\n\\r\\n\\r\\n\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/store-management/depot/depot-form/depot-form.component.html\n// module id = ./src/app/store-management/depot/depot-form/depot-form.component.html\n// module chunks = main","import {ChangeDetectorRef, Component, forwardRef, OnInit} from \"@angular/core\";\r\nimport {AbstractVisbosControl} from \"../../../core/visbos-core/ui/forms/abstract-visbos-control\";\r\nimport {Depot} from \"../../../shared/view-model/store-management/depot.type\";\r\nimport {FormBuilder, FormGroup, Validators} from \"@angular/forms\";\r\nimport {DepotService} from \"../../services/depot-service/depot.service\";\r\nimport {appInjector} from \"../../../index\";\r\nimport {NgRedux} from \"@angular-redux/store\";\r\nimport {IAppState} from \"../../../shared/redux-store\";\r\n\r\n@Component({\r\n selector: 'vb-depot-form',\r\n templateUrl: './depot-form.component.html',\r\n styleUrls: ['./depot-form.component.css'],\r\n providers: [{provide: AbstractVisbosControl, useExisting: forwardRef(() => DepotFormComponent)}]\r\n})\r\nexport class DepotFormComponent extends AbstractVisbosControl implements OnInit {\r\n\r\n public setDefaultValues(item?: Depot): { [controlKey: string]: any } | any {\r\n return {\r\n cuid: this.setValue(item, 'cuid', AbstractVisbosControl.cuid()),\r\n administration_unit_id: this.setValue(item, 'administration_unit.cuid', this.ngRx.getState().session.activeAdminUnit),\r\n auto_order_proposals_enabled: this.setValue(item, 'auto_order_proposals_enabled', false),\r\n };\r\n }\r\n\r\n constructor(fb: FormBuilder, cd: ChangeDetectorRef, private depotService: DepotService, private ngRx: NgRedux) {\r\n super(fb, cd, null);\r\n }\r\n\r\n ngOnInit() {\r\n super.ngOnInit();\r\n }\r\n\r\n buildControlContent(values?: Depot): FormGroup {\r\n return DepotFormComponent.initControl(this.fb);\r\n }\r\n\r\n public static initControl(fb: FormBuilder = null): FormGroup {\r\n fb = fb ? fb : appInjector().get(FormBuilder);\r\n\r\n return fb.group({\r\n cuid: [null, Validators.required],\r\n administration_unit_id: [null, Validators.required],\r\n name: [null, Validators.required],\r\n description: [null],\r\n auto_order_proposals_enabled: [false],\r\n ean: [null]\r\n });\r\n\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/store-management/depot/depot-form/depot-form.component.ts","module.exports = \"\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/store-management/depot/depot-list-view/depot-list-view.component.css\n// module id = ./src/app/store-management/depot/depot-list-view/depot-list-view.component.css\n// module chunks = main","module.exports = \"\\r\\n\\r\\n

Lager- und Lagerplatzübersicht

\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n Lager #{{i + 1}}: {{depot.label}}\\r\\n \\r\\n\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n

{{depot.description}}.

\\r\\n
\\r\\n\\r\\n \\r\\n
    \\r\\n
  • {{yard.label}}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n
  • \\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n \\r\\n \\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n \\r\\n \\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n \\r\\n \\r\\n\\r\\n\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/store-management/depot/depot-list-view/depot-list-view.component.html\n// module id = ./src/app/store-management/depot/depot-list-view/depot-list-view.component.html\n// module chunks = main","import {AfterViewChecked, ChangeDetectorRef, Component, OnInit, ViewChild} from \"@angular/core\";\r\nimport {DepotService} from \"../../services/depot-service/depot.service\";\r\nimport {Depot} from \"../../../shared/view-model/store-management/depot.type\";\r\nimport {ApolloQueryObservable} from \"apollo-angular\";\r\nimport {AbstractVisbosComponent} from \"../../../core/visbos-core/components/abstract-visbos.component\";\r\nimport {SessionActions} from \"../../../shared/actions/session.actions\";\r\nimport {GenericModalComponent} from \"../../../core/visbos-core/ui/forms/generic-modal/generic-modal.component\";\r\nimport {AbstractControl} from '@angular/forms';\r\nimport {DepotYard} from '../../../shared/view-model/store-management/depot-yard.type';\r\n\r\n@Component({\r\n selector: 'vb-depot-list-view',\r\n templateUrl: './depot-list-view.component.html',\r\n styleUrls: ['./depot-list-view.component.css']\r\n})\r\nexport class DepotListViewComponent extends AbstractVisbosComponent implements OnInit, AfterViewChecked {\r\n\r\n\r\n depots$: ApolloQueryObservable;\r\n depots: Depot[];\r\n\r\n @ViewChild('addDepotModal')\r\n addDepotModal: GenericModalComponent;\r\n\r\n @ViewChild('editDepotModal')\r\n editDepotModal: GenericModalComponent;\r\n\r\n @ViewChild('editDepotYardModal')\r\n editDepotYardModal: GenericModalComponent;\r\n\r\n showDepotInfo: boolean = false;\r\n\r\n currentDepot: Depot;\r\n currentDepotForm: AbstractControl;\r\n\r\n currentDepotYard: DepotYard;\r\n currentDepotYardForm: AbstractControl;\r\n\r\n constructor(sessionActions: SessionActions, private depotService: DepotService, cd: ChangeDetectorRef) {\r\n super(sessionActions, cd);\r\n\r\n this.actions = [\r\n {\r\n label: 'Neues Lager anlegen', icon: 'fa-plus', action: () => {\r\n this.showAddDepotModal.apply(this)\r\n }\r\n }\r\n ];\r\n\r\n }\r\n\r\n showAddDepotModal() {\r\n this.addDepotModal.show();\r\n }\r\n\r\n ngOnInit() {\r\n this.depots$ = this.depotService.getDepotsList(this.activeAdminUnitCuid$);\r\n this.addComponentData(this.depots$);\r\n this.dataSubscriptions.push(this.depots$.subscribe((res: any) => {\r\n this.depots = res;\r\n }));\r\n }\r\n\r\n ngAfterViewChecked(): void {\r\n this.cd.detectChanges();\r\n }\r\n\r\n addDepot(depotData) {\r\n this.depotService.addDepot(depotData).toPromise()\r\n .then((res: any) => {\r\n this.depots$.refetch();\r\n })\r\n .catch(err => this.sessionActions.throwError(err, \"Fehler beim Anlegen des Lagers: \" + err.message));\r\n this.currentDepotForm = null;\r\n this.currentDepot = null;\r\n }\r\n\r\n deleteDepot(cuid: string) {\r\n this.depotService.deleteDepot(cuid).toPromise()\r\n .catch(err => this.sessionActions.throwError(err, \"Fehler beim Löschen des Lagers: \" + err.message));\r\n }\r\n\r\n onEditDepotClicked(depot: Depot) {\r\n this.currentDepot = depot;\r\n this.editDepotModal.show();\r\n this.cd.detectChanges();\r\n }\r\n\r\n editDepot(cuid: string, depotData) {\r\n this.depotService.editDepot(cuid, depotData).toPromise()\r\n .then(res => {\r\n this.currentDepot = null;\r\n this.currentDepotForm = null;\r\n })\r\n .catch(err => this.sessionActions.throwError(err, \"Fehler beim Bearbeiten des Lagers: \" + err.message));\r\n }\r\n\r\n addDepotYard(depotCuid: string, depotYardData) {\r\n this.depotService.addDepotYard(depotYardData, depotCuid).toPromise()\r\n .then((res: any) => {\r\n this.currentDepotYard = null;\r\n this.currentDepotYardForm = null;\r\n this.depots$.refetch();\r\n })\r\n .catch(err => this.sessionActions.throwError(err, \"Fehler beim Anlegen des Lagerplatzes: \" + err.message));\r\n }\r\n\r\n onEditDepotYardClicked(depotYard: DepotYard) {\r\n this.currentDepotYard = depotYard;\r\n this.currentDepotYardForm = null;\r\n this.editDepotYardModal.show();\r\n this.cd.detectChanges();\r\n }\r\n\r\n editDepotYard(cuid: string, depotYardData) {\r\n this.depotService.editDepotYard(cuid, depotYardData).toPromise()\r\n .then(res => {\r\n this.currentDepotYard = null;\r\n this.currentDepotYardForm = null;\r\n })\r\n .catch(err => this.sessionActions.throwError(err, \"Fehler beim Bearbeiten des Lagerplatzes: \" + err.message));\r\n }\r\n\r\n deleteDepotYard(cuid: string) {\r\n this.depotService.deleteDepotYard(cuid).toPromise()\r\n .catch(err => this.sessionActions.throwError(err, \"Fehler beim Löschen des Lagerplatzes: \" + err.message));\r\n this.depots$.refetch();\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/store-management/depot/depot-list-view/depot-list-view.component.ts","module.exports = \"\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/store-management/depot/depot-selection/depot-selection.component.css\n// module id = ./src/app/store-management/depot/depot-selection/depot-selection.component.css\n// module chunks = main","module.exports = \"\\r\\n\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/store-management/depot/depot-selection/depot-selection.component.html\n// module id = ./src/app/store-management/depot/depot-selection/depot-selection.component.html\n// module chunks = main","import {ChangeDetectorRef, Component, EventEmitter, forwardRef, Input, OnInit, Output} from \"@angular/core\";\r\nimport {Depot} from \"../../../shared/view-model/store-management/depot.type\";\r\nimport {FormBuilder, FormControl} from \"@angular/forms\";\r\nimport {DepotService} from \"../../services/depot-service/depot.service\";\r\nimport {AbstractVisbosControl} from \"../../../core/visbos-core/ui/forms/abstract-visbos-control\";\r\nimport {appInjector} from \"../../../index\";\r\nimport {ApolloQueryObservable} from \"apollo-angular\";\r\nimport {Observable} from \"rxjs/Observable\";\r\nimport {Subscription} from \"rxjs/Subscription\";\r\nimport {filter} from \"rxjs/operators\";\r\n\r\n@Component({\r\n selector: 'vb-depot-selection',\r\n templateUrl: './depot-selection.component.html',\r\n styleUrls: ['./depot-selection.component.css'],\r\n providers: [{provide: AbstractVisbosControl, useExisting: forwardRef(() => DepotSelectionComponent)}]\r\n})\r\nexport class DepotSelectionComponent extends AbstractVisbosControl implements OnInit {\r\n\r\n private _selectedDepotCuid: string;\r\n\r\n get selectedDepotCuid(): string {\r\n return this._selectedDepotCuid;\r\n }\r\n\r\n @Input()\r\n set selectedDepotCuid(value: string) {\r\n this._selectedDepotCuid = value;\r\n if (this.depotList && this.control) {\r\n this.item = this.depotList.find(dl => dl.cuid == this.selectedDepotCuid);\r\n this.control.setValue(this.item ? this.item.cuid : undefined);\r\n }\r\n }\r\n\r\n private _adminUnitCuid$: Observable;\r\n\r\n @Input('adminUnitCuid')\r\n set adminUnitCuid$(value: Observable) {\r\n this._adminUnitCuid$ = value;\r\n }\r\n\r\n get adminUnitCuid$(): Observable {\r\n if (this._adminUnitCuid$) {\r\n return this._adminUnitCuid$;\r\n } else {\r\n return this.activeAdminUnitCuid$;\r\n }\r\n }\r\n\r\n @Output()\r\n depotSelected: EventEmitter = new EventEmitter();\r\n\r\n @Output()\r\n depotChanged: EventEmitter = new EventEmitter();\r\n\r\n @Output()\r\n depotUnSelected: EventEmitter = new EventEmitter();\r\n\r\n private depotList$: ApolloQueryObservable;\r\n private depotListSub: Subscription;\r\n depotList: Depot[] = [];\r\n\r\n constructor(fb: FormBuilder, cd: ChangeDetectorRef,\r\n private depotService: DepotService) {\r\n super(fb, cd, null);\r\n }\r\n\r\n ngOnInit() {\r\n super.ngOnInit();\r\n\r\n this.depotList$ = this.depotService.getDepotsList(this.adminUnitCuid$);\r\n this.depotListSub = this.depotList$.subscribe((depots: any) => {\r\n this.depotList = depots;\r\n if (this.selectedDepotCuid) {\r\n this.item = this.depotList.find(dl => dl.cuid == this.selectedDepotCuid);\r\n this.control.setValue(this.item ? this.item.cuid : undefined);\r\n }\r\n });\r\n\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.depotListSub.unsubscribe();\r\n }\r\n\r\n buildControlContent(values?: Depot): FormControl {\r\n return DepotSelectionComponent.initControl(this.fb, values);\r\n }\r\n\r\n public static initControl(fb: FormBuilder = null, value?: Depot): FormControl {\r\n fb = fb ? fb : appInjector().get(FormBuilder);\r\n return fb.control(null);\r\n }\r\n\r\n onDepotSelected(depot: Depot) {\r\n this.depotSelected.emit(depot);\r\n }\r\n\r\n onDepotChanged(depot: Depot) {\r\n this.depotChanged.emit(depot);\r\n }\r\n\r\n onDepotUnselected() {\r\n this.depotUnSelected.emit();\r\n }\r\n\r\n public setDefaultValues(item?: Depot): { [controlKey: string]: any } | any {\r\n return this.setValue(item, 'cuid');\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/store-management/depot/depot-selection/depot-selection.component.ts","module.exports = \"\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/store-management/depot/depot-yard-form/depot-yard-form.component.css\n// module id = ./src/app/store-management/depot/depot-yard-form/depot-yard-form.component.css\n// module chunks = main","module.exports = \"\\r\\n\\r\\n \\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n \\r\\n\\r\\n\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/store-management/depot/depot-yard-form/depot-yard-form.component.html\n// module id = ./src/app/store-management/depot/depot-yard-form/depot-yard-form.component.html\n// module chunks = main","import {ChangeDetectorRef, Component, forwardRef, OnInit} from \"@angular/core\";\r\nimport {AbstractVisbosControl} from \"../../../core/visbos-core/ui/forms/abstract-visbos-control\";\r\nimport {DepotYard} from \"../../../shared/view-model/store-management/depot-yard.type\";\r\nimport {FormBuilder, FormGroup, Validators} from \"@angular/forms\";\r\nimport {appInjector} from \"../../../index\";\r\nimport {DepotService} from \"../../services/depot-service/depot.service\";\r\n\r\n@Component({\r\n selector: 'vb-depot-yard-form',\r\n templateUrl: './depot-yard-form.component.html',\r\n styleUrls: ['./depot-yard-form.component.css'],\r\n providers: [{provide: AbstractVisbosControl, useExisting: forwardRef(() => DepotYardFormComponent)}]\r\n})\r\nexport class DepotYardFormComponent extends AbstractVisbosControl implements OnInit {\r\n\r\n constructor(fb: FormBuilder, cd: ChangeDetectorRef, private depotService: DepotService) {\r\n super(fb, cd, null);\r\n }\r\n\r\n ngOnInit() {\r\n super.ngOnInit();\r\n }\r\n\r\n buildControlContent(values?: DepotYard): FormGroup {\r\n return DepotYardFormComponent.initControl(this.fb);\r\n }\r\n\r\n public static initControl(fb: FormBuilder = null): FormGroup {\r\n fb = fb ? fb : appInjector().get(FormBuilder);\r\n\r\n return fb.group({\r\n cuid: [null, Validators.required],\r\n name: [null, Validators.required],\r\n description: [null]\r\n });\r\n\r\n }\r\n\r\n public setDefaultValues(item?: DepotYard): {[controlKey: string]: any} | any {\r\n return {\r\n cuid: this.setValue(item, 'cuid', AbstractVisbosControl.cuid())\r\n };\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/store-management/depot/depot-yard-form/depot-yard-form.component.ts","module.exports = \"\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/store-management/depot/depot-yard-input/depot-yard-input.component.css\n// module id = ./src/app/store-management/depot/depot-yard-input/depot-yard-input.component.css\n// module chunks = main","module.exports = \"\\r\\n\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/store-management/depot/depot-yard-input/depot-yard-input.component.html\n// module id = ./src/app/store-management/depot/depot-yard-input/depot-yard-input.component.html\n// module chunks = main","import {ChangeDetectionStrategy, ChangeDetectorRef, Component, forwardRef, Input, OnInit} from \"@angular/core\";\r\nimport {DepotYard} from \"../../../shared/view-model/store-management/depot-yard.type\";\r\nimport {AbstractVisbosControl} from \"../../../core/visbos-core/ui/forms/abstract-visbos-control\";\r\nimport {FormBuilder, FormControl} from \"@angular/forms\";\r\nimport {appInjector} from \"../../../index\";\r\nimport {SessionActions} from \"../../../shared/actions\";\r\n\r\n@Component({\r\n selector: 'vb-depot-yard-input',\r\n templateUrl: './depot-yard-input.component.html',\r\n styleUrls: ['./depot-yard-input.component.css'],\r\n providers: [{provide: AbstractVisbosControl, useExisting: forwardRef(() => DepotYardInputComponent)}],\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class DepotYardInputComponent extends AbstractVisbosControl implements OnInit {\r\n\r\n @Input()\r\n depotYards: DepotYard[];\r\n\r\n @Input()\r\n loading: boolean;\r\n\r\n constructor(fb: FormBuilder, cd: ChangeDetectorRef, sessionActions: SessionActions) {\r\n super(fb, cd, sessionActions);\r\n }\r\n\r\n ngOnInit() {\r\n super.ngOnInit();\r\n\r\n }\r\n\r\n buildControlContent(): FormControl {\r\n return DepotYardInputComponent.initControl(this.fb);\r\n }\r\n\r\n public static initControl(fb: FormBuilder = null): FormControl {\r\n fb = fb ? fb : appInjector().get(FormBuilder);\r\n return fb.control(null);\r\n }\r\n\r\n public setDefaultValues(item?: DepotYard): { [controlKey: string]: any } | any {\r\n return this.setValue(item, 'cuid');\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/store-management/depot/depot-yard-input/depot-yard-input.component.ts","module.exports = \"\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/store-management/depot/depot-yard-selection/depot-yard-selection.component.css\n// module id = ./src/app/store-management/depot/depot-yard-selection/depot-yard-selection.component.css\n// module chunks = main","module.exports = \"\\r\\n\\r\\n\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/store-management/depot/depot-yard-selection/depot-yard-selection.component.html\n// module id = ./src/app/store-management/depot/depot-yard-selection/depot-yard-selection.component.html\n// module chunks = main","import {ChangeDetectorRef, Component, EventEmitter, forwardRef, Input, OnDestroy, OnInit, Output} from \"@angular/core\";\r\nimport {AbstractVisbosControl} from \"../../../core/visbos-core/ui/forms/abstract-visbos-control\";\r\nimport {DepotYard} from \"../../../shared/view-model/store-management/depot-yard.type\";\r\nimport {FormBuilder, FormControl} from \"@angular/forms\";\r\nimport {DepotService} from \"../../services/depot-service/depot.service\";\r\nimport {ApolloQueryObservable} from \"apollo-angular\";\r\nimport {appInjector} from \"../../../index\";\r\nimport {Subscription} from \"rxjs/Subscription\";\r\nimport {Observable} from \"rxjs/Observable\";\r\n\r\nexport const ERR_DEPOT_YARD_DOES_NOT_EXIST = 'ERR_DEPOT_YARD_DOES_NOT_EXIST';\r\n\r\nexport const DEPOT_YARD_ERRORS = {\r\n ERR_DEPOT_YARD_DOES_NOT_EXIST: 'Der Lagerplatz ist in dem derzeit ausgewählten Lager nicht vorhanden! Bitte wählen Sie einen anderen Lagerplatz aus.'\r\n};\r\n\r\n@Component({\r\n selector: 'vb-depot-yard-selection',\r\n templateUrl: './depot-yard-selection.component.html',\r\n styleUrls: ['./depot-yard-selection.component.css'],\r\n providers: [{provide: AbstractVisbosControl, useExisting: forwardRef(() => DepotYardSelectionComponent)}]\r\n})\r\nexport class DepotYardSelectionComponent extends AbstractVisbosControl implements OnInit, OnDestroy {\r\n\r\n private depotYards$: ApolloQueryObservable;\r\n depotYards: DepotYard[];\r\n private depotYardsSub: Subscription;\r\n\r\n private _depotId: string | Observable;\r\n\r\n @Input()\r\n set depotId(value: string | Observable) {\r\n\r\n this._depotId = value;\r\n\r\n this.depotYards$ = this.depotService.getDepotYards(value);\r\n\r\n this.depotYardsSub = this.depotYards$.subscribe((dY: any) => {\r\n this.depotYards = dY;\r\n\r\n if (this.control.value) {\r\n if (!this.depotYards.find(yard => yard.cuid == this.control.value)) {\r\n this.control.setErrors({ERR_DEPOT_YARD_DOES_NOT_EXIST: true});\r\n } else {\r\n this.control.setErrors({ERR_DEPOT_YARD_DOES_NOT_EXIST: false});\r\n this.control.updateValueAndValidity();\r\n }\r\n }\r\n\r\n });\r\n\r\n }\r\n\r\n\r\n ngAfterViewInit(): any {\r\n super.ngAfterViewInit();\r\n }\r\n\r\n @Output()\r\n depotYardSelected: EventEmitter = new EventEmitter();\r\n\r\n get depotId(): string | Observable {\r\n return this._depotId;\r\n }\r\n\r\n constructor(fb: FormBuilder, cd: ChangeDetectorRef, private depotService: DepotService) {\r\n super(fb, cd, null);\r\n }\r\n\r\n ngOnInit() {\r\n super.ngOnInit();\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.depotYardsSub.unsubscribe();\r\n }\r\n\r\n buildControlContent(values?: DepotYard): FormControl {\r\n return DepotYardSelectionComponent.initControl(this.fb, values);\r\n }\r\n\r\n public static initControl(fb: FormBuilder = null, value?: DepotYard): FormControl {\r\n fb = fb ? fb : appInjector().get(FormBuilder);\r\n return fb.control(null);\r\n }\r\n\r\n public setDefaultValues(item?: DepotYard): { [controlKey: string]: any } | any {\r\n return this.setValue(item, 'cuid');\r\n }\r\n\r\n onDepotYardSelected(item: DepotYard) {\r\n this.depotYardSelected.emit(item);\r\n }\r\n\r\n onDepotDeselected(event?) {\r\n console.info(\"Depot yard unselected\");\r\n this.depotYardSelected.emit(null);\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/store-management/depot/depot-yard-selection/depot-yard-selection.component.ts","import {Injectable} from \"@angular/core\";\r\nimport {ActivatedRouteSnapshot, CanActivate, CanActivateChild, Router, RouterStateSnapshot} from \"@angular/router\";\r\nimport {NgRedux} from \"@angular-redux/store\";\r\nimport {Observable} from \"rxjs/Observable\";\r\nimport {IUser} from \"../../shared/redux-store/session/session.types\";\r\nimport {IAppState} from \"../../shared/redux-store/store\";\r\nimport {VisBosGuard} from \"../../core/visbos-core/authorization/guards/visbos.guard\";\r\nimport {SessionActions} from \"../../shared/actions/session.actions\";\r\n\r\n@Injectable()\r\nexport class StoremanagementAuthorizedGuard extends VisBosGuard implements CanActivate, CanActivateChild {\r\n\r\n constructor(router: Router, siActions: SessionActions, ngRx: NgRedux) {\r\n super(router, siActions, ngRx);\r\n }\r\n\r\n canActivate(childRoute: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable | Promise | boolean {\r\n let user: IUser = this.ngRx.getState().session.user;\r\n\r\n if (user.permissions.find(perm => perm === 'access storemanagement module')) {\r\n return true;\r\n } else {\r\n this.onAccessError();\r\n return false;\r\n }\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/store-management/guards/storemanagement-authorized.guard.ts","/**\r\n * Created by afuhr on 27.03.2017.\r\n */\r\n\r\nexport const helpTexts = {\r\n products: \"Produkte\"\r\n};\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/store-management/helptexts.ts","module.exports = \"\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/store-management/medicine/dosage-form-selection/dosage-form-selection.component.css\n// module id = ./src/app/store-management/medicine/dosage-form-selection/dosage-form-selection.component.css\n// module chunks = main","module.exports = \"\\r\\n\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/store-management/medicine/dosage-form-selection/dosage-form-selection.component.html\n// module id = ./src/app/store-management/medicine/dosage-form-selection/dosage-form-selection.component.html\n// module chunks = main","import {ChangeDetectorRef, Component, forwardRef, OnInit} from \"@angular/core\";\r\nimport {AbstractVisbosControl} from \"../../../core/visbos-core/ui/forms/abstract-visbos-control\";\r\nimport {DosageForm} from \"../../model/medicine.type\";\r\nimport {FormBuilder, FormControl} from \"@angular/forms\";\r\nimport {DosageFormsResult, MedicineService} from \"../../services/medicine.service\";\r\nimport {appInjector} from \"../../../index\";\r\nimport {ApolloQueryObservable} from \"apollo-angular\";\r\n\r\n@Component({\r\n selector: 'vb-dosage-form-selection',\r\n templateUrl: './dosage-form-selection.component.html',\r\n styleUrls: ['./dosage-form-selection.component.css'],\r\n providers: [{provide: AbstractVisbosControl, useExisting: forwardRef(() => DosageFormSelectionComponent)}]\r\n})\r\nexport class DosageFormSelectionComponent extends AbstractVisbosControl implements OnInit {\r\n\r\n private dosageFormList$: ApolloQueryObservable;\r\n dosageFormList: DosageForm[] = [];\r\n\r\n constructor(private medicineService: MedicineService,\r\n fb: FormBuilder, cd: ChangeDetectorRef) {\r\n super(fb, cd, null);\r\n }\r\n\r\n ngOnInit() {\r\n super.ngOnInit();\r\n\r\n this.dosageFormList$ = this.medicineService.getDosageForms();\r\n this.addComponentData(this.dosageFormList$);\r\n\r\n this.dataSubscriptions.push(this.dosageFormList$.subscribe(res => this.dosageFormList = res.data.dosageForms));\r\n\r\n }\r\n\r\n buildControlContent(): FormControl {\r\n return DosageFormSelectionComponent.initControl(this.fb);\r\n }\r\n\r\n public static initControl(fb?: FormBuilder) {\r\n fb = fb ? fb : appInjector().get(FormBuilder);\r\n return fb.control(null);\r\n }\r\n\r\n public setDefaultValues(item?: DosageForm): { [controlKey: string]: any } | any {\r\n return this.setValue(item, 'cuid');\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/store-management/medicine/dosage-form-selection/dosage-form-selection.component.ts","module.exports = \"\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/store-management/medicine/import-medicines-form/import-medicines-form.component.css\n// module id = ./src/app/store-management/medicine/import-medicines-form/import-medicines-form.component.css\n// module chunks = main","module.exports = \"
\\r\\n\\r\\n

Globale Angaben

\\r\\n\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n\\r\\n

Individuelle Artikel-Angaben

\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
Importiertes MedikamentVerpackungsartArtikelnr.
{{med.label}}\\r\\n Medikament ist bereits mit einem Artikel verknüpft und wird nicht erneut importiert!\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n

Selected PUs: {{selectedPackingUnit | json}}

\\r\\n

Medicines: {{medicines | json}}

\\r\\n

Form: {{control?.value | json}}

\\r\\n
\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/store-management/medicine/import-medicines-form/import-medicines-form.component.html\n// module id = ./src/app/store-management/medicine/import-medicines-form/import-medicines-form.component.html\n// module chunks = main","import {ChangeDetectorRef, Component, Input} from '@angular/core';\r\nimport {AbstractVisbosControl} from \"../../../core/visbos-core/ui/forms/abstract-visbos-control\";\r\nimport {FormArray, FormBuilder, FormGroup, Validators} from \"@angular/forms\";\r\nimport {IModel} from \"../../../shared/view-model/imodel.interface\";\r\nimport {SessionActions} from \"../../../shared/actions\";\r\nimport {Medicine} from \"../../model/medicine.type\";\r\nimport {PackingUnit} from \"../../../shared/view-model/store-management/packing-unit.type\";\r\n\r\n@Component({\r\n selector: 'vb-import-medicines-form',\r\n templateUrl: './import-medicines-form.component.html',\r\n styleUrls: ['./import-medicines-form.component.css']\r\n})\r\nexport class ImportMedicinesFormComponent extends AbstractVisbosControl {\r\n\r\n get medicines(): Medicine[] {\r\n return this._medicines;\r\n }\r\n\r\n @Input()\r\n set medicines(value: Medicine[]) {\r\n this._medicines = value;\r\n if (!this.control) {\r\n this.control = this.buildControlContent();\r\n }\r\n this.initMedicineData(this._medicines);\r\n }\r\n\r\n private _medicines: Medicine[] = [];\r\n\r\n selectedPackingUnit: { [p: string]: PackingUnit } = {};\r\n\r\n constructor(fb: FormBuilder, cd: ChangeDetectorRef, sessionActions: SessionActions) {\r\n super(fb, cd, sessionActions);\r\n }\r\n\r\n ngOnInit(): void {\r\n super.ngOnInit();\r\n this.selectedPackingUnit = {};\r\n }\r\n\r\n buildControlContent(values?: IModel): FormGroup {\r\n return ImportMedicinesFormComponent.initControl(this.fb);\r\n }\r\n\r\n public static initControl(fb: FormBuilder): FormGroup {\r\n\r\n let ctrl = fb.group({\r\n administration_unit_id: [null],\r\n supplier_id: [null, Validators.required],\r\n medicine_data: fb.array([])\r\n });\r\n\r\n return ctrl;\r\n }\r\n\r\n public initMedicineData(medicines: Medicine[]): void {\r\n\r\n let ctrl: FormArray = this.control.get('medicine_data') as FormArray;\r\n ctrl.controls = [];\r\n\r\n for (let med of medicines) {\r\n ctrl.push(this.fb.group({\r\n medicine_id: [this.setValue(med, 'cuid'), Validators.required],\r\n packing_unit_id: [null],\r\n packing_amount: [null],\r\n article_number: [null]\r\n }))\r\n }\r\n\r\n }\r\n\r\n onPackingUnitSelected(id: number, pu?: PackingUnit) {\r\n this.selectedPackingUnit[id] = pu;\r\n }\r\n\r\n setDefaultValues(item?: IModel): { [p: string]: any } | any {\r\n let ctrl = {\r\n administration_unit_id: this.activeAdminUnitCuid,\r\n supplier_id: null\r\n };\r\n\r\n return ctrl;\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/store-management/medicine/import-medicines-form/import-medicines-form.component.ts","module.exports = \"\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/store-management/medicine/medicine-book-entries-table/medicine-book-entries-table.component.css\n// module id = ./src/app/store-management/medicine/medicine-book-entries-table/medicine-book-entries-table.component.css\n// module chunks = main","module.exports = \"\\r\\n\\r\\n\\r\\n\\r\\n {{entry.stock_change_reason_type}} {{entry.stock_change_reason}}\\r\\n\\r\\n\\r\\n\\r\\n {{entry.sign_name}}\\r\\n \\r\\n\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/store-management/medicine/medicine-book-entries-table/medicine-book-entries-table.component.html\n// module id = ./src/app/store-management/medicine/medicine-book-entries-table/medicine-book-entries-table.component.html\n// module chunks = main","import {AfterViewInit, ChangeDetectorRef, Component, Input, OnInit, TemplateRef, ViewChild} from \"@angular/core\";\r\nimport {AbstractListView} from \"../../../core/visbos-core/ui/components/abstract-list-view\";\r\nimport {DatatableComponent} from \"../../../core/visbos-core/ui/components/datatable/datatable.component\";\r\nimport {FormBuilder} from \"@angular/forms\";\r\nimport {SessionActions} from \"../../../shared/actions/session.actions\";\r\nimport {MedicineBookEntry} from \"../../model/medicine-book-entry\";\r\nimport {debounceTime, distinctUntilChanged} from \"rxjs/operators\";\r\n\r\n@Component({\r\n selector: 'vb-medicine-book-entries-table',\r\n templateUrl: './medicine-book-entries-table.component.html',\r\n styleUrls: ['./medicine-book-entries-table.component.css']\r\n})\r\nexport class MedicineBookEntriesTableComponent extends AbstractListView implements OnInit, AfterViewInit {\r\n\r\n private _medicineBookEntries: MedicineBookEntry[] = [];\r\n\r\n get medicineBookEntries(): MedicineBookEntry[] {\r\n return this._medicineBookEntries;\r\n }\r\n\r\n @Input()\r\n set medicineBookEntries(value: MedicineBookEntry[]) {\r\n this._medicineBookEntries = value;\r\n this.rows = value ? value : [];\r\n }\r\n\r\n onCellUpdate(row, res, index) {\r\n }\r\n\r\n @ViewChild('reasonTmpl')\r\n reasonTmpl: TemplateRef;\r\n\r\n @ViewChild('userTmpl')\r\n userTmpl: TemplateRef;\r\n\r\n @ViewChild('entries')\r\n table: DatatableComponent;\r\n\r\n messages = {\r\n emptyMessage: 'Keine Einträge im Verbrauchsbuch',\r\n totalMessage: 'Einträge im Verbrauchsbuch insgesamt'\r\n };\r\n\r\n constructor(private fb: FormBuilder, sessionActions: SessionActions, cd: ChangeDetectorRef) {\r\n super(sessionActions, cd);\r\n }\r\n\r\n ngOnInit() {\r\n\r\n this.searchTerm = this.fb.control(null);\r\n this.dataSubscriptions.push(\r\n this.searchTerm.valueChanges.pipe(\r\n distinctUntilChanged(),\r\n debounceTime(500)\r\n ).subscribe((term: any) => this.filterItems(term))\r\n );\r\n\r\n this.columns = [\r\n {prop: 'entry_date', name: 'Datum', cellTemplate: this.table.formatDateTmpl, sortable: false, flexGrow: 1},\r\n {prop: 'type', name: 'Art', sortable: false, flexGrow: 1},\r\n {prop: 'old_stock', name: 'Bestand', sortable: false, flexGrow: 1},\r\n {prop: 'stock_change', name: 'Zu-/Abgang', sortable: false, flexGrow: 1},\r\n {prop: 'new_stock', name: 'Neuer Bestand', sortable: false, flexGrow: 1},\r\n {name: 'Änderungsgrund', cellTemplate: this.reasonTmpl, sortable: false, flexGrow: 3},\r\n {name: 'Name', cellTemplate: this.userTmpl, sortable: false, flexGrow: 3},\r\n ];\r\n\r\n }\r\n\r\n\r\n filterItems(searchTerm) {\r\n if (!searchTerm || searchTerm == \"\") {\r\n this.rows = this._medicineBookEntries;\r\n } else {\r\n if (this._medicineBookEntries) {\r\n this.rows = this._medicineBookEntries.filter((si: any) => this.findStringInTable(si, this.columns, searchTerm));\r\n }\r\n }\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/store-management/medicine/medicine-book-entries-table/medicine-book-entries-table.component.ts","module.exports = \"\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/store-management/medicine/medicine-book-view/medicine-book-view.component.css\n// module id = ./src/app/store-management/medicine/medicine-book-view/medicine-book-view.component.css\n// module chunks = main","module.exports = \"\\r\\n\\r\\n
\\r\\n
Verbrauchsbuch
\\r\\n {{medicine?.name}} {{medicine?.dosage_form?.label}} {{medicine?.dosage_per_capacity_string}}\\r\\n ({{medicineStock?.depot?.label}})\\r\\n {{medicineStock?.label}} ({{medicineStock?.depot?.label}})\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n\\r\\n\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/store-management/medicine/medicine-book-view/medicine-book-view.component.html\n// module id = ./src/app/store-management/medicine/medicine-book-view/medicine-book-view.component.html\n// module chunks = main","import {ChangeDetectorRef, Component, OnInit} from \"@angular/core\";\r\nimport {ActivatedRoute} from \"@angular/router\";\r\nimport {AbstractVisbosComponent} from \"../../../core/visbos-core/components/abstract-visbos.component\";\r\nimport {SessionActions} from \"../../../shared/actions/session.actions\";\r\nimport {Medicine} from \"../../model/medicine.type\";\r\nimport {MedicineBookEntriesResult, MedicineService} from \"../../services/medicine.service\";\r\nimport {ApolloQueryObservable} from \"apollo-angular\";\r\nimport {MedicineBookEntry} from \"../../model/medicine-book-entry\";\r\nimport {StockService} from \"../../services/stock.service\";\r\nimport {Stock} from \"../../../shared/view-model/stock\";\r\nimport {map} from \"rxjs/operators\";\r\nimport {MessageType} from \"../../../shared/redux-store/session/session.types\";\r\nimport {FileService} from \"../../../core/visbos-core/http/file.service\";\r\nimport {StockItem} from '../../../shared/view-model/store-management/stock-item.type';\r\n\r\n@Component({\r\n selector: 'vb-medicine-book-view',\r\n templateUrl: './medicine-book-view.component.html',\r\n styleUrls: ['./medicine-book-view.component.css']\r\n})\r\nexport class MedicineBookViewComponent extends AbstractVisbosComponent implements OnInit {\r\n\r\n private medicineStock$: ApolloQueryObservable;\r\n private medicineCuid: string[] = null;\r\n\r\n medicine: Medicine | StockItem;\r\n medicineStock: Stock;\r\n\r\n private medicineBookEntries$: ApolloQueryObservable;\r\n medicineBookEntries: MedicineBookEntry[];\r\n\r\n isLoading: boolean = true;\r\n\r\n constructor(sessionActions: SessionActions, cd: ChangeDetectorRef,\r\n private route: ActivatedRoute,\r\n private medicineService: MedicineService,\r\n private stockService: StockService,\r\n private fileService: FileService) {\r\n super(sessionActions, cd);\r\n\r\n this.actions = [\r\n {\r\n label: 'PDF generieren',\r\n icon: 'fa-file-pdf',\r\n action: () => this.generateMedBook.apply(this),\r\n helpText: \"Verbrauchsnachweis als PDF exportieren\",\r\n }\r\n ];\r\n\r\n }\r\n\r\n ngOnInit() {\r\n\r\n let medicineStockCuid$ = this.route.params.pipe(map(p => p.medicineStockCuid));\r\n\r\n this.medicineStock$ = this.stockService.getMedicineStock(medicineStockCuid$);\r\n this.addComponentData(this.medicineStock$);\r\n this.dataSubscriptions.push(this.medicineStock$.subscribe((res: any) => {\r\n this.medicineStock = res.data.fetchStockDetails;\r\n this.medicine = this.medicineStock.stock_item.medicine ? this.medicineStock.stock_item.medicine : null;\r\n })\r\n );\r\n\r\n this.dataSubscriptions.push(medicineStockCuid$.subscribe(cuid => {\r\n this.medicineCuid = cuid;\r\n this.medicineStock$.setVariables({\r\n cuid: cuid\r\n });\r\n }));\r\n\r\n\r\n this.medicineBookEntries$ = this.medicineService.fetchMedicineBookEntries(medicineStockCuid$);\r\n this.addComponentData(this.medicineBookEntries$);\r\n this.dataSubscriptions.push(this.medicineBookEntries$.subscribe(res => {\r\n this.medicineBookEntries = res.data.medicineBookEntries;\r\n this.isLoading = res.loading;\r\n }))\r\n\r\n }\r\n\r\n generateMedBook() {\r\n\r\n this.dataSubscriptions.push(\r\n this.medicineService.generateMedicineBookPdf([this.medicineStock.cuid]).subscribe(\r\n res => {\r\n //this.orderPdfLink = res.data.generateOrderPDF;\r\n let data = this.fileService.base64toBlob(res.data.medicineBookPdf, 'application/pdf', 512);\r\n this.fileService.saveAs(data, 'verbrauchsbuch.pdf');\r\n }, err => {\r\n this.sessionActions.pushMessage(\"Fehler beim Generieren der PDF-Datei\", MessageType.ERROR, \"PDF-Erzeugung\");\r\n })\r\n );\r\n\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/store-management/medicine/medicine-book-view/medicine-book-view.component.ts","module.exports = \"\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/store-management/medicine/medicine-form/medicine-form.component.css\n// module id = ./src/app/store-management/medicine/medicine-form/medicine-form.component.css\n// module chunks = main","module.exports = \"\\r\\n\\r\\n \\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n \\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n \\r\\n \\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n \\r\\n \\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n
\\r\\n\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n
\\r\\n\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n \\r\\n\\r\\n\\r\\n\\r\\n\\r\\n

Form: {{control?.value | json}}

\\r\\n

Item: {{item | json}}

\\r\\n
\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/store-management/medicine/medicine-form/medicine-form.component.html\n// module id = ./src/app/store-management/medicine/medicine-form/medicine-form.component.html\n// module chunks = main","import {ChangeDetectorRef, Component, forwardRef, OnInit} from \"@angular/core\";\r\nimport {AbstractVisbosControl} from \"../../../core/visbos-core/ui/forms/abstract-visbos-control\";\r\nimport {FormBuilder, FormGroup, Validators} from \"@angular/forms\";\r\nimport {appInjector} from \"../../../index\";\r\nimport {Medicine} from \"../../model/medicine.type\";\r\nimport {Substance} from \"../../model/substance.type\";\r\nimport {CreateMedicineResult, MedicineService, UpdateMedicineResult} from \"../../services/medicine.service\";\r\nimport {TypeaheadMatch} from \"ngx-bootstrap\";\r\nimport {ApolloQueryObservable} from \"apollo-angular\";\r\nimport {Observable} from \"rxjs/Observable\";\r\nimport {ApolloQueryResult} from \"apollo-client\";\r\n\r\n@Component({\r\n selector: 'vb-medicine-form',\r\n templateUrl: './medicine-form.component.html',\r\n styleUrls: ['./medicine-form.component.css'],\r\n providers: [{provide: AbstractVisbosControl, useExisting: forwardRef(() => MedicineFormComponent)}]\r\n})\r\nexport class MedicineFormComponent extends AbstractVisbosControl implements OnInit {\r\n\r\n private substances$: ApolloQueryObservable<{ substances: Substance[] }>;\r\n substances: Substance[] = [];\r\n\r\n constructor(fb: FormBuilder, cd: ChangeDetectorRef, private medService: MedicineService) {\r\n super(fb, cd, null);\r\n }\r\n\r\n ngOnInit() {\r\n super.ngOnInit();\r\n\r\n this.substances$ = this.medService.getSubstances();\r\n this.addComponentData(this.substances$);\r\n this.dataSubscriptions.push(this.substances$.subscribe(res => {\r\n this.substances = res.data.substances;\r\n }))\r\n }\r\n\r\n buildControlContent(): FormGroup {\r\n return MedicineFormComponent.initControl(this.fb);\r\n }\r\n\r\n\r\n onControlChanged() {\r\n super.onControlChanged();\r\n\r\n // Watch changes on custom capacity\r\n let capSub = this.control.get('custom_capacity').valueChanges.subscribe(val => {\r\n if (val) {\r\n this.control.get('capacity').setValue(null);\r\n this.control.get('capacity').disable();\r\n } else {\r\n this.control.get('capacity').enable();\r\n this.control.get('capacity').setValue(this.setValue(this.item, 'capacity', null));\r\n }\r\n });\r\n\r\n let dosSub = this.control.get('substances.0.custom_dosage').valueChanges.subscribe(val => {\r\n if (val) {\r\n this.control.get('substances.0.dosage').setValue(null);\r\n this.control.get('substances.0.dosage').disable();\r\n } else {\r\n this.control.get('substances.0.dosage').enable();\r\n this.control.get('substances.0.dosage').setValue(this.setValue(this.item, 'substances.0.dosage', null));\r\n }\r\n });\r\n\r\n this.dataSubscriptions.push(capSub, dosSub);\r\n\r\n\r\n }\r\n\r\n public static initControl(fb: FormBuilder = null): FormGroup {\r\n fb = fb ? fb : appInjector().get(FormBuilder);\r\n\r\n return fb.group({\r\n cuid: [null, Validators.required],\r\n name: [null],\r\n notes: [null],\r\n dosage_form_id: [null, Validators.required],\r\n administration_unit_id: [null, Validators.required],\r\n custom_capacity: [null],\r\n capacity: [null],\r\n capacity_unit_id: [null],\r\n substances: fb.array([fb.group({\r\n cuid: [null, Validators.required],\r\n name: [null, Validators.required],\r\n administration_unit_id: [null, Validators.required],\r\n substance_group_id: [null, Validators.required],\r\n custom_dosage: [null],\r\n dosage: [null],\r\n dosage_unit_id: [null]\r\n })])\r\n });\r\n }\r\n\r\n public setDefaultValues(item?: Medicine): { [controlKey: string]: any } | any {\r\n return {\r\n cuid: this.setValue(item, 'cuid', AbstractVisbosControl.cuid()),\r\n name: this.setValue(item, 'name'),\r\n notes: this.setValue(item, 'notes'),\r\n dosage_form_id: this.setValue(item, 'dosage_form.cuid'),\r\n administration_unit_id: this.setValue(item, 'administration_unit.cuid', this.activeAdminUnitCuid),\r\n capacity: this.setValue(item, 'capacity'),\r\n custom_capacity: this.setValue(item, 'custom_capacity', false),\r\n substances: [{\r\n cuid: this.setValue(item, 'substances.0.substance.cuid', AbstractVisbosControl.cuid()),\r\n administration_unit_id: this.setValue(item, 'administration_unit.cuid', this.activeAdminUnitCuid),\r\n name: this.setValue(item, 'substances.0.substance.name'),\r\n dosage: this.setValue(item, 'substances.0.dosage'),\r\n custom_dosage: this.setValue(item, 'substances.0.custom_dosage', false),\r\n }],\r\n }\r\n };\r\n\r\n public typeaheadOnSelect(e: TypeaheadMatch): void {\r\n let substance: Substance = e.item;\r\n\r\n this.control.get('substances.0.substance_group_id').setValue(substance.substance_group.cuid);\r\n this.control.get('substances.0.substance_group_id').markAsTouched();\r\n\r\n }\r\n\r\n public createNewMedicine(medicineInput?): Observable> {\r\n medicineInput = medicineInput ? medicineInput : this.control.getRawValue();\r\n return this.medService.createMedicine(medicineInput);\r\n }\r\n\r\n public updateMedicine(medicineCuid?, medicineInput?): Observable> {\r\n medicineCuid = medicineCuid ? medicineCuid : this.control.get('cuid').value;\r\n medicineInput = medicineInput ? medicineInput : this.control.getRawValue();\r\n return this.medService.updateMedicine(medicineCuid, medicineInput);\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/store-management/medicine/medicine-form/medicine-form.component.ts","module.exports = \"\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/store-management/medicine/medicine-list/medicine-list.component.css\n// module id = ./src/app/store-management/medicine/medicine-list/medicine-list.component.css\n// module chunks = main","module.exports = \"\\r\\n\\r\\n\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/store-management/medicine/medicine-list/medicine-list.component.html\n// module id = ./src/app/store-management/medicine/medicine-list/medicine-list.component.html\n// module chunks = main","import {ChangeDetectorRef, Component, Input, OnInit, ViewChild} from \"@angular/core\";\r\nimport {AbstractListView} from \"../../../core/visbos-core/ui/components/abstract-list-view\";\r\nimport {DatatableComponent} from \"../../../core/visbos-core/ui/components/datatable/datatable.component\";\r\nimport {SessionActions} from \"../../../shared/actions/session.actions\";\r\nimport {Medicine} from \"../../model/medicine.type\";\r\nimport {ApolloQueryObservable} from \"apollo-angular\";\r\nimport {MedicineService} from \"../../services/medicine.service\";\r\nimport {ActivatedRoute, Router} from \"@angular/router\";\r\nimport {GenericModalComponent} from \"../../../core/visbos-core/ui/forms/generic-modal/generic-modal.component\";\r\nimport {MedicineFormComponent} from \"../medicine-form/medicine-form.component\";\r\nimport {MessageType} from \"../../../shared/redux-store/session/session.types\";\r\nimport {debounceTime, distinctUntilChanged} from \"rxjs/operators\";\r\n\r\n@Component({\r\n selector: 'vb-medicine-list',\r\n templateUrl: './medicine-list.component.html',\r\n styleUrls: ['./medicine-list.component.css']\r\n})\r\nexport class MedicineListComponent extends AbstractListView implements OnInit {\r\n\r\n @ViewChild('medicinesTable')\r\n table: DatatableComponent;\r\n\r\n @Input()\r\n showMedicineBookButton: boolean = true;\r\n\r\n @ViewChild('editMedicineModal')\r\n editMedicineModal: GenericModalComponent;\r\n\r\n @ViewChild('editMedicineForm')\r\n editMedicineForm: MedicineFormComponent;\r\n\r\n messages = {\r\n emptyMessage: 'Keine Medikamente auf der Liste',\r\n totalMessage: 'Medikamente'\r\n };\r\n\r\n currentItem: Medicine;\r\n\r\n private medicineList$: ApolloQueryObservable;\r\n medicineList: Medicine[];\r\n\r\n constructor(sessionActions: SessionActions,\r\n private medService: MedicineService,\r\n private router: Router, private route: ActivatedRoute,\r\n cd: ChangeDetectorRef) {\r\n\r\n super(sessionActions, cd);\r\n\r\n }\r\n\r\n ngOnInit() {\r\n\r\n this.isLoading = true;\r\n\r\n this.medicineList$ = this.medService.getMedicines(this.activeAdminUnitCuid$);\r\n this.addComponentData(this.medicineList$);\r\n\r\n this.dataSubscriptions.push(\r\n this.medicineList$.subscribe(res => {\r\n this.medicineList = res.data.medicines;\r\n this.isLoading = res.loading;\r\n this.rows = this.medicineList;\r\n })\r\n );\r\n\r\n this.dataSubscriptions.push(\r\n this.searchTerm.valueChanges.pipe(\r\n distinctUntilChanged(),\r\n debounceTime(500)\r\n ).subscribe((term: any) => this.filterItems(term))\r\n );\r\n\r\n this.columns = [\r\n {prop: 'administration_unit.label', name: 'Verwaltungseinheit', minWidth: 100, flexGrow: 2},\r\n {prop: 'name', name: 'Handelsname', minWidth: 100, flexGrow: 2},\r\n {prop: 'substances.0.substance.name', name: 'Wirkstoff', minWidth: 100, flexGrow: 2},\r\n {prop: 'dosage_per_capacity_string', name: 'Dosierung', minWidth: 50, flexGrow: 1, sortable: false},\r\n {prop: 'notes', name: 'Bemerkungen', flexGrow: 2, sortable: true},\r\n ];\r\n\r\n }\r\n\r\n filterItems(searchTerm) {\r\n if (!searchTerm || searchTerm == \"\") {\r\n this.rows = this.medicineList;\r\n } else {\r\n if (this.medicineList) {\r\n this.rows = this.medicineList.filter((si: any) => this.findStringInTable(si, this.columns, searchTerm));\r\n }\r\n }\r\n }\r\n\r\n onCellUpdate(row, res, index) {\r\n\r\n }\r\n\r\n showMedicineBookClicked(cuid: string) {\r\n this.router.navigate(['verbrauch', cuid], {relativeTo: this.route});\r\n }\r\n\r\n onAddMedicineClicked() {\r\n this.currentItem = null;\r\n this.cd.detectChanges();\r\n this.editMedicineForm.reset();\r\n this.editMedicineModal.show();\r\n this.cd.detectChanges();\r\n }\r\n\r\n onEditMedicineClicked(medicineCuid: string) {\r\n this.currentItem = this.medicineList.find(med => med.cuid === medicineCuid);\r\n this.cd.detectChanges();\r\n this.editMedicineForm.reset();\r\n this.editMedicineModal.show();\r\n this.cd.detectChanges();\r\n }\r\n\r\n onDeleteMedicineClicked(medicineCuid: string) {\r\n this.medService.deleteMedicine(medicineCuid).subscribe(res => {\r\n this.sessionActions.pushMessage(\"Medikament erfolgreich gelöscht!\", MessageType.SUCCESS, \"Medikamentenliste\");\r\n }, err => {\r\n this.sessionActions.throwError(err, \"Fehler beim Löschen des Medikaments!\");\r\n });\r\n }\r\n\r\n createMedicine() {\r\n this.editMedicineForm.createNewMedicine().subscribe(res => {\r\n this.sessionActions.pushMessage(\"Medikament erfolgreich hinzugefügt!\", MessageType.SUCCESS, \"Medikamentenliste\");\r\n },\r\n err => {\r\n this.sessionActions.throwError(err, \"Fehler beim manuellen Anlegen des Medikaments!\");\r\n });\r\n }\r\n\r\n updateMedicine() {\r\n this.editMedicineForm.updateMedicine().subscribe(res => {\r\n\r\n }, err => {\r\n this.sessionActions.throwError(err, \"Fehler beim Ändern des Medikaments!\");\r\n });\r\n\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/store-management/medicine/medicine-list/medicine-list.component.ts","module.exports = \"\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/store-management/medicine/medicine-stocks-view/medicine-stocks-view.component.css\n// module id = ./src/app/store-management/medicine/medicine-stocks-view/medicine-stocks-view.component.css\n// module chunks = main","module.exports = \"\\r\\n\\r\\n

Bestandsliste Sonderartikel

\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n \\r\\n \\r\\n\\r\\n\\r\\n\\r\\n \\r\\n {{value}}\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n\\r\\n\\r\\n {{value ? (value | date:'short') : ''}}\\r\\n\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/store-management/medicine/medicine-stocks-view/medicine-stocks-view.component.html\n// module id = ./src/app/store-management/medicine/medicine-stocks-view/medicine-stocks-view.component.html\n// module chunks = main","import {ChangeDetectorRef, Component, Input, OnInit, TemplateRef, ViewChild} from '@angular/core';\r\nimport {AbstractListView} from \"../../../core/visbos-core/ui/components/abstract-list-view\";\r\nimport {DatatableComponent} from \"../../../core/visbos-core/ui/components/datatable/datatable.component\";\r\nimport {FormControl, Validators} from \"@angular/forms\";\r\nimport {ApolloQueryObservable} from \"apollo-angular\";\r\nimport {SessionActions} from \"../../../shared/actions\";\r\nimport {MedicineService} from \"../../services/medicine.service\";\r\nimport {ActivatedRoute, Router} from \"@angular/router\";\r\nimport {Stock} from \"../../../shared/view-model/stock\";\r\nimport {Subject} from \"rxjs/Subject\";\r\nimport {Depot} from \"../../../shared/view-model/store-management/depot.type\";\r\nimport {debounceTime, distinctUntilChanged} from \"rxjs/operators\";\r\n\r\n@Component({\r\n selector: 'vb-medicine-stocks-view',\r\n templateUrl: './medicine-stocks-view.component.html',\r\n styleUrls: ['./medicine-stocks-view.component.css']\r\n})\r\nexport class MedicineStocksViewComponent extends AbstractListView implements OnInit {\r\n\r\n @ViewChild('medicinesTable')\r\n table: DatatableComponent;\r\n\r\n @ViewChild('actStockTmpl')\r\n actStockTmpl: TemplateRef;\r\n\r\n @ViewChild('formatDateTimeTmpl')\r\n formatDateTimeTmpl: TemplateRef;\r\n\r\n @Input()\r\n showMedicineBookButton: boolean = true;\r\n\r\n messages = {\r\n emptyMessage: 'Keine Sonderbestände auf der Liste',\r\n totalMessage: 'Sonderbestände'\r\n };\r\n\r\n searchTerm: FormControl = new FormControl();\r\n depotCuid: FormControl = new FormControl(null, Validators.required);\r\n selectedDepotCuid: Subject = new Subject();\r\n\r\n private medStockList$: ApolloQueryObservable;\r\n medStockList: Stock[];\r\n\r\n constructor(sessionActions: SessionActions,\r\n private medService: MedicineService,\r\n private router: Router, private route: ActivatedRoute,\r\n cd: ChangeDetectorRef) {\r\n\r\n super(sessionActions, cd);\r\n\r\n }\r\n\r\n ngOnInit() {\r\n\r\n this.isLoading = true;\r\n\r\n this.medStockList$ = this.medService.getMedicineStocks(this.selectedDepotCuid);\r\n this.addComponentData(this.medStockList$);\r\n\r\n this.dataSubscriptions.push(\r\n this.medStockList$.subscribe(res => {\r\n this.medStockList = res.data.medicineStocks;\r\n this.isLoading = res.loading;\r\n this.rows = this.medStockList;\r\n })\r\n );\r\n\r\n this.dataSubscriptions.push(\r\n this.searchTerm.valueChanges.pipe(\r\n distinctUntilChanged(),\r\n debounceTime(500)\r\n ).subscribe((term: any) => this.filterItems(term))\r\n );\r\n\r\n this.columns = [\r\n {prop: 'stock_item.label', name: 'Name', minWidth: 150, flexGrow: 2},\r\n {\r\n prop: 'act_stock',\r\n name: 'Ist-Bestand',\r\n cellTemplate: this.actStockTmpl,\r\n minWidth: 60,\r\n maxWidth: 100,\r\n flexGrow: 1\r\n },\r\n {\r\n prop: 'updated_at',\r\n name: 'Zuletzt geändert',\r\n cellTemplate: this.formatDateTimeTmpl,\r\n minWidth: 100,\r\n maxWidth: 150,\r\n flexGrow: 1\r\n }\r\n ];\r\n\r\n }\r\n\r\n onDepotSelected(depot: Depot) {\r\n this.selectedDepotCuid.next(depot.cuid);\r\n }\r\n\r\n filterItems(searchTerm) {\r\n if (!searchTerm || searchTerm == \"\") {\r\n this.rows = this.medStockList;\r\n } else {\r\n if (this.medStockList) {\r\n this.rows = this.medStockList.filter((si: any) => this.findStringInTable(si, this.columns, searchTerm));\r\n }\r\n }\r\n }\r\n\r\n onCellUpdate(row, res, index) {\r\n\r\n }\r\n\r\n showMedicineBookClicked(cuid: string) {\r\n this.router.navigate(['verbrauch', cuid], {relativeTo: this.route});\r\n }\r\n\r\n setClasses(stock: Stock) {\r\n if (!stock) {\r\n return {};\r\n }\r\n\r\n let cssClasses = {\r\n 'text-warning': stock.act_stock > stock.min_stock && stock.act_stock <= stock.report_stock,\r\n 'text-danger': stock.act_stock <= stock.min_stock,\r\n 'text-success': stock.act_stock > stock.report_stock,\r\n };\r\n return cssClasses;\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/store-management/medicine/medicine-stocks-view/medicine-stocks-view.component.ts","module.exports = \"\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/store-management/medicine/medicines-view/medicines-view.component.css\n// module id = ./src/app/store-management/medicine/medicines-view/medicines-view.component.css\n// module chunks = main","module.exports = \"\\r\\n\\r\\n

Medikamentenliste

\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/store-management/medicine/medicines-view/medicines-view.component.html\n// module id = ./src/app/store-management/medicine/medicines-view/medicines-view.component.html\n// module chunks = main","import {ChangeDetectorRef, Component, OnInit, ViewChild} from \"@angular/core\";\r\nimport {AbstractVisbosComponent} from \"../../../core/visbos-core/components/abstract-visbos.component\";\r\nimport {FormBuilder, FormControl} from \"@angular/forms\";\r\nimport {MedicineListComponent} from \"../medicine-list/medicine-list.component\";\r\nimport {SessionActions} from \"../../../shared/actions/session.actions\";\r\nimport {MedicineService} from \"../../services/medicine.service\";\r\n\r\n@Component({\r\n selector: 'vb-medicines-view',\r\n templateUrl: './medicines-view.component.html',\r\n styleUrls: ['./medicines-view.component.css']\r\n})\r\nexport class MedicinesViewComponent extends AbstractVisbosComponent implements OnInit {\r\n\r\n searchTerm: FormControl = new FormControl();\r\n\r\n @ViewChild('medicineList')\r\n medicineList: MedicineListComponent;\r\n\r\n constructor(sessionActions: SessionActions, private medService: MedicineService, private fb: FormBuilder, cd: ChangeDetectorRef) {\r\n super(sessionActions, cd);\r\n\r\n }\r\n\r\n ngOnInit() {\r\n super.ngOnInit();\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/store-management/medicine/medicines-view/medicines-view.component.ts","module.exports = \"\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/store-management/medicine/substance-group-selection/substance-group-selection.component.css\n// module id = ./src/app/store-management/medicine/substance-group-selection/substance-group-selection.component.css\n// module chunks = main","module.exports = \"\\r\\n\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/store-management/medicine/substance-group-selection/substance-group-selection.component.html\n// module id = ./src/app/store-management/medicine/substance-group-selection/substance-group-selection.component.html\n// module chunks = main","import {ChangeDetectorRef, Component, forwardRef, OnInit} from \"@angular/core\";\r\nimport {AbstractVisbosControl} from \"../../../core/visbos-core/ui/forms/abstract-visbos-control\";\r\nimport {SubstanceGroup} from \"../../model/substance-group.type\";\r\nimport {FormBuilder, FormControl} from \"@angular/forms\";\r\nimport {MedicineService} from \"../../services/medicine.service\";\r\nimport {appInjector} from \"../../../index\";\r\n\r\n@Component({\r\n selector: 'vb-substance-group-selection',\r\n templateUrl: './substance-group-selection.component.html',\r\n styleUrls: ['./substance-group-selection.component.css'],\r\n providers: [{provide: AbstractVisbosControl, useExisting: forwardRef(() => SubstanceGroupSelectionComponent)}]\r\n})\r\nexport class SubstanceGroupSelectionComponent extends AbstractVisbosControl implements OnInit {\r\n\r\n private substanceGroupList$;\r\n substanceGroupList: SubstanceGroup[] = [];\r\n\r\n constructor(private medicineService: MedicineService,\r\n fb: FormBuilder, cd: ChangeDetectorRef) {\r\n super(fb, cd, null);\r\n }\r\n\r\n ngOnInit() {\r\n super.ngOnInit();\r\n\r\n this.substanceGroupList$ = this.medicineService.getSubstanceGroups();\r\n this.addComponentData(this.substanceGroupList$);\r\n this.dataSubscriptions.push(\r\n this.substanceGroupList$.subscribe((groups: any) => {\r\n this.substanceGroupList = groups;\r\n }));\r\n\r\n }\r\n\r\n buildControlContent(): FormControl {\r\n return SubstanceGroupSelectionComponent.initControl(this.fb);\r\n }\r\n\r\n public static initControl(fb?: FormBuilder) {\r\n fb = fb ? fb : appInjector().get(FormBuilder);\r\n return fb.control(null);\r\n }\r\n\r\n public setDefaultValues(item?: SubstanceGroup): { [controlKey: string]: any } | any {\r\n return this.setValue(item, 'cuid');\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/store-management/medicine/substance-group-selection/substance-group-selection.component.ts","module.exports = \"\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/store-management/procurement/add-stock-to-cart/add-stock-to-cart.component.css\n// module id = ./src/app/store-management/procurement/add-stock-to-cart/add-stock-to-cart.component.css\n// module chunks = main","module.exports = \"\\r\\n \\r\\n \\r\\n\\r\\n\\r\\n\\r\\n \\r\\n \\r\\n\\r\\n\\r\\n\\r\\n

\\r\\n {{stockCartForm.value | json}}\\r\\n

\\r\\n
\\r\\n\\r\\n\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/store-management/procurement/add-stock-to-cart/add-stock-to-cart.component.html\n// module id = ./src/app/store-management/procurement/add-stock-to-cart/add-stock-to-cart.component.html\n// module chunks = main","import {ChangeDetectorRef, Component, Input, OnInit} from \"@angular/core\";\r\nimport {Stock} from \"../../../shared/view-model/stock\";\r\nimport {StockItemService} from \"../../services/stock-item-service/stock-item.service\";\r\nimport {StockItem} from \"../../../shared/view-model/store-management/stock-item.type\";\r\nimport {ApolloQueryObservable} from \"apollo-angular\";\r\nimport {AbstractVisbosComponent} from \"../../../core/visbos-core/components/abstract-visbos.component\";\r\nimport {SessionActions} from \"../../../shared/actions/session.actions\";\r\nimport {FormBuilder, FormGroup, Validators} from \"@angular/forms\";\r\nimport {Product} from \"../../../shared/view-model/store-management/product.type\";\r\nimport {Packing} from \"../../../shared/view-model/store-management/packing.type\";\r\n\r\n@Component({\r\n selector: 'vb-add-stock-to-cart',\r\n templateUrl: './add-stock-to-cart.component.html',\r\n styleUrls: ['./add-stock-to-cart.component.css']\r\n})\r\nexport class AddStockToCartComponent extends AbstractVisbosComponent implements OnInit {\r\n\r\n private _stock: Stock;\r\n\r\n stockItem$: ApolloQueryObservable;\r\n stockItem: StockItem;\r\n\r\n selectedProduct: Product;\r\n selectedPacking: Packing;\r\n\r\n stockCartForm: FormGroup;\r\n\r\n @Input()\r\n set stock(value: Stock) {\r\n this._stock = value;\r\n\r\n if (value) {\r\n this.stockItem$ = this.stockItemService.getStockItem(this._stock.stock_item.cuid);\r\n\r\n this.dataSubscriptions.push(this.stockItem$.subscribe((res: any) => {\r\n this.stockItem = res;\r\n })\r\n );\r\n }\r\n\r\n this.selectedProduct = undefined;\r\n\r\n this.initForm();\r\n }\r\n\r\n get stock(): Stock {\r\n return this._stock;\r\n }\r\n\r\n constructor(sessionActions: SessionActions, private stockItemService: StockItemService, private fb: FormBuilder, cd: ChangeDetectorRef) {\r\n super(sessionActions, cd);\r\n }\r\n\r\n ngOnInit() {\r\n this.initForm();\r\n }\r\n\r\n initForm() {\r\n this.stockCartForm = this.fb.group({\r\n stock_cuid: [this.stock ? this.stock.cuid : null, Validators.required],\r\n product_cuid: [null, Validators.required],\r\n product_packing_cuid: [null, Validators.required]\r\n });\r\n this.stockCartForm.get('product_packing_cuid').disable();\r\n }\r\n\r\n onProductSelected(product: Product) {\r\n this.selectedProduct = product;\r\n this.stockCartForm.get('product_packing_cuid').enable();\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/store-management/procurement/add-stock-to-cart/add-stock-to-cart.component.ts","module.exports = \"\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/store-management/procurement/components/add-stocks-to-cart/add-stocks-to-cart.component.css\n// module id = ./src/app/store-management/procurement/components/add-stocks-to-cart/add-stocks-to-cart.component.css\n// module chunks = main","module.exports = \"\\r\\n\\r\\n\\r\\n\\r\\n
{{stock.label}} aus Lager {{stock.depot?.label}}
\\r\\n
\\r\\n
Lagerplatz:
\\r\\n
{{stock.depot_yard?.label}}
\\r\\n
Aktueller Bestand:
\\r\\n
{{stock.act_stock}} Stk.
\\r\\n
Mindest-Bestand:
\\r\\n
{{stock.min_stock}} Stk.
\\r\\n
Melde-Bestand:
\\r\\n
{{stock.report_stock}} Stk.
\\r\\n
Soll-Bestand:
\\r\\n
{{stock.shall_stock}} Stk.
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n
    \\r\\n
  • \\r\\n {{pb.use_before_date_formatted}}{{pb.batch_number ? ' (LOT: ' + pb.batch_number + ')' : ''}}\\r\\n
  • \\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n

Selected: {{selectedItems | json}}

\\r\\n

Form: {{control?.value | json}}

\\r\\n

Packings: {{packingsForStocks | json}}

\\r\\n
\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/store-management/procurement/components/add-stocks-to-cart/add-stocks-to-cart.component.html\n// module id = ./src/app/store-management/procurement/components/add-stocks-to-cart/add-stocks-to-cart.component.html\n// module chunks = main","import {ChangeDetectorRef, Component, EventEmitter, Input, OnInit, Output, TemplateRef, ViewChild} from '@angular/core';\r\nimport {SessionActions} from \"../../../../shared/actions\";\r\nimport {ShoppingCart} from \"../../../../shared/view-model/store-management/shopping-cart.type\";\r\nimport {Stock} from \"../../../../shared/view-model/stock\";\r\nimport {AbstractListView} from \"../../../../core/visbos-core/ui/components/abstract-list-view\";\r\nimport {DatatableComponent} from \"../../../../core/visbos-core/ui/components/datatable/datatable.component\";\r\nimport {AbstractControl, FormArray, FormBuilder, FormGroup, Validators} from \"@angular/forms\";\r\nimport {AbstractVisbosControl} from \"../../../../core/visbos-core/ui/forms/abstract-visbos-control\";\r\n\r\nimport * as _ from 'lodash';\r\nimport {Packing} from \"../../../../shared/view-model/store-management/packing.type\";\r\nimport {Apollo} from \"apollo-angular\";\r\nimport {getProductPackingsForStockItem} from \"../../../services/stock-item-service/stock-item.service\";\r\nimport {GetProductPackingsForStockItemQuery} from \"../../../../shared/graphql/graphql.types\";\r\nimport {isArray} from \"util\";\r\n\r\n@Component({\r\n selector: 'vb-add-stocks-to-cart',\r\n templateUrl: './add-stocks-to-cart.component.html',\r\n styleUrls: ['./add-stocks-to-cart.component.css']\r\n})\r\nexport class AddStocksToCartComponent extends AbstractListView implements OnInit {\r\n\r\n @Input()\r\n cart: ShoppingCart;\r\n\r\n private _stocks: Stock[] = [];\r\n\r\n get stocks(): Stock[] {\r\n return this._stocks;\r\n }\r\n\r\n @Output()\r\n stocksChange: EventEmitter = new EventEmitter();\r\n\r\n @Input()\r\n set stocks(value: Stock[]) {\r\n this._stocks = value;\r\n this.stocksChange.emit(this.stocks);\r\n this.rows = this.stocks;\r\n }\r\n\r\n @ViewChild('batchesTmpl')\r\n batchesTmpl: TemplateRef;\r\n\r\n @ViewChild('orderTmpl')\r\n orderTmpl: TemplateRef;\r\n\r\n @ViewChild('addStocksTable')\r\n table: DatatableComponent;\r\n\r\n @Input()\r\n control: FormGroup;\r\n\r\n packingsForStocks: { [stockCuid: string]: Packing[] } = {};\r\n\r\n constructor(sessionActions: SessionActions, cd: ChangeDetectorRef,\r\n private fb: FormBuilder, private apollo: Apollo) {\r\n super(sessionActions, cd);\r\n }\r\n\r\n ngOnInit(): void {\r\n super.ngOnInit();\r\n\r\n if (!this.control) {\r\n this.control = AddStocksToCartComponent.initAddStockFormGroup(this.fb, this.cart);\r\n }\r\n\r\n this.columns = [\r\n {prop: 'label', name: 'Bezeichner', minWidth: 100, flexGrow: 4},\r\n {name: 'Kritische Chargen', cellTemplate: this.batchesTmpl, minWidth: 50, flexGrow: 2, sortable: false},\r\n {name: 'Bestellmenge', cellTemplate: this.orderTmpl, minWidth: 50, flexGrow: 2, sortable: false},\r\n ];\r\n\r\n }\r\n\r\n public static initAddStockFormGroup(fb: FormBuilder, shoppingCart: ShoppingCart): FormGroup {\r\n\r\n const ctrl = fb.group({\r\n shopping_cart_cuid: [shoppingCart.cuid, Validators.required],\r\n shopping_cart_item_input: fb.array([], Validators.required)\r\n });\r\n\r\n return ctrl;\r\n }\r\n\r\n public static initCartItemFormGroup(fb: FormBuilder): FormGroup {\r\n return fb.group({\r\n stock_ids: fb.array([fb.control(null, Validators.required)]),\r\n product_packing_id: [null, Validators.required],\r\n amount: [null, Validators.required]\r\n });\r\n }\r\n\r\n public setDefaultValues(group: FormGroup) {\r\n\r\n const val = {\r\n shopping_cart_cuid: this.cart ? this.cart.cuid : null\r\n };\r\n\r\n group.patchValue(val);\r\n\r\n }\r\n\r\n getShoppingCartItemInputGroup(stockCuid: string) {\r\n return AbstractVisbosControl.getFormGroupById(this.control.get('shopping_cart_item_input') as FormArray, stockCuid, 'stock_ids.0');\r\n }\r\n\r\n getShoppingCartItemInputGroupIndex(stockCuid: string) {\r\n return AbstractVisbosControl.getFormGroupIndexById(this.control.get('shopping_cart_item_input') as FormArray, stockCuid, 'stock_ids.0');\r\n }\r\n\r\n addSelectedStock(stockCuid) {\r\n const stock = this.stocks.find(st => st.cuid === stockCuid);\r\n\r\n if (!this.packingsForStocks[stockCuid]) {\r\n this.apollo.query({\r\n query: getProductPackingsForStockItem,\r\n variables: {\r\n stockItemCuid: stock.stock_item.cuid\r\n }\r\n }).toPromise().then(res => {\r\n this.packingsForStocks[stockCuid] = res.data.productPackings\r\n });\r\n }\r\n\r\n const ctrl = AddStocksToCartComponent.initCartItemFormGroup(this.fb);\r\n ctrl.get('stock_ids.0').setValue(stockCuid);\r\n (this.control.get('shopping_cart_item_input')).push(ctrl);\r\n }\r\n\r\n removeSelectedStock(stockCuid) {\r\n const index = this.getShoppingCartItemInputGroupIndex(stockCuid);\r\n if (index > -1) {\r\n (this.control.get('shopping_cart_item_input')).removeAt(index);\r\n }\r\n }\r\n\r\n onSelectedChanged(selectedStocks) {\r\n\r\n const old = this.selectedItems;\r\n\r\n const added = _.difference(selectedStocks, old);\r\n const removed = _.difference(old, selectedStocks);\r\n\r\n for (let st of added) {\r\n this.addSelectedStock(st);\r\n }\r\n\r\n for (let st of removed) {\r\n this.removeSelectedStock(st);\r\n }\r\n\r\n this.selectedItems = selectedStocks;\r\n }\r\n\r\n setValidationClasses(ctrl: AbstractControl | AbstractControl[]) {\r\n let cssClasses = {};\r\n\r\n // Control not set\r\n if (!ctrl) {\r\n return cssClasses;\r\n }\r\n\r\n // Single control\r\n if (ctrl instanceof AbstractControl) {\r\n cssClasses = {\r\n 'has-success': ctrl.touched && ctrl.valid,\r\n 'has-error': ctrl.touched && !ctrl.valid,\r\n 'has-warning': !ctrl.touched && !ctrl.valid,\r\n };\r\n }\r\n\r\n // Array of controls\r\n if (isArray(ctrl)) {\r\n\r\n let valid: boolean = true;\r\n let touched: boolean = false;\r\n\r\n for (let c of ctrl) {\r\n if (c && c.invalid) {\r\n valid = false;\r\n break;\r\n }\r\n }\r\n\r\n for (let c of ctrl) {\r\n if (c && c.touched) {\r\n touched = true;\r\n break;\r\n }\r\n }\r\n\r\n cssClasses = {\r\n 'has-success': touched && valid,\r\n 'has-error': touched && !valid,\r\n 'has-warning': !touched && !valid,\r\n };\r\n\r\n }\r\n\r\n return cssClasses;\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/store-management/procurement/components/add-stocks-to-cart/add-stocks-to-cart.component.ts","module.exports = \"\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/store-management/procurement/delivery-items-list/delivery-items-list.component.css\n// module id = ./src/app/store-management/procurement/delivery-items-list/delivery-items-list.component.css\n// module chunks = main","module.exports = \"\\r\\n\\r\\n\\r\\n\\r\\n \\r\\n\\r\\n\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n {{that.getOrderItem(row).amount}}\\r\\n\\r\\n\\r\\n\\r\\n {{that.getOrderItem(row).packing_unit}}\\r\\n\\r\\n\\r\\n\\r\\n
\\r\\n {{row.packing_content > 1 ? row.packing_unit + ' a ' + row.packing_content + ' Stk.': row.packing_unit}}\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n
    \\r\\n
  • {{pb.batch_number ? '#' + pb.batch_number + ' ': ''}}\\r\\n {{pb.use_before_date ? 'MHD: ' + (pb.use_before_date | date:'shortDate') : ''}}\\r\\n \\r\\n
  • \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n

Für folgende Bestände bestellt:

\\r\\n
\\r\\n
{{stock.label}} aus Lager {{stock.depot?.label}}
\\r\\n
\\r\\n
Aktueller Bestand:
\\r\\n
{{stock.act_stock}} Stk.
\\r\\n
Mindest-Bestand:
\\r\\n
{{stock.min_stock}} Stk.
\\r\\n
Melde-Bestand:
\\r\\n
{{stock.report_stock}} Stk.
\\r\\n
Soll-Bestand:
\\r\\n
{{stock.shall_stock}} Stk.
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n

Bisherige Lieferungen:

\\r\\n
\\r\\n
Noch offene Artikel:
\\r\\n
\\r\\n {{that.getOrderItem(deliveryItem).amount_in_pieces_open}} Einzel-Stück,
\\r\\n entspricht {{that.getOrderItem(deliveryItem).amount_in_orig_packing_open}} {{that.getOrderItem(deliveryItem).packing_unit}}\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n\\r\\n\\r\\n\\r\\n

Selected items: {{selectedItems | json}}

\\r\\n
\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/store-management/procurement/delivery-items-list/delivery-items-list.component.html\n// module id = ./src/app/store-management/procurement/delivery-items-list/delivery-items-list.component.html\n// module chunks = main","import {\r\n AfterViewInit,\r\n ChangeDetectorRef,\r\n Component,\r\n EventEmitter,\r\n Input,\r\n OnInit,\r\n Output,\r\n TemplateRef,\r\n ViewChild\r\n} from \"@angular/core\";\r\nimport {AbstractListView} from \"../../../core/visbos-core/ui/components/abstract-list-view\";\r\nimport {DatatableComponent} from \"../../../core/visbos-core/ui/components/datatable/datatable.component\";\r\nimport {FormArray, FormBuilder, FormControl, FormGroup, Validators} from \"@angular/forms\";\r\nimport {SessionActions} from \"../../../shared/actions/session.actions\";\r\nimport {Order} from \"../../../shared/view-model/store-management/order.type\";\r\nimport {OrderItem} from \"../../../shared/view-model/store-management/order-item.type\";\r\nimport {debounceTime, distinctUntilChanged} from \"rxjs/operators\";\r\nimport {AbstractVisbosComponent} from \"../../../core/visbos-core/components/abstract-visbos.component\";\r\nimport {StockItemService} from \"../../services/stock-item-service/stock-item.service\";\r\nimport {Packing} from \"../../../shared/view-model/store-management/packing.type\";\r\nimport {GenericModalComponent} from \"../../../core/visbos-core/ui/forms/generic-modal/generic-modal.component\";\r\nimport {ProductBatchFormComponent} from \"../../product/product-batch-form/product-batch-form.component\";\r\nimport {ProductBatch} from \"../../model/product-batch.type\";\r\nimport {AbstractVisbosControl} from \"../../../core/visbos-core/ui/forms/abstract-visbos-control\";\r\n\r\n@Component({\r\n selector: 'vb-delivery-items-list',\r\n templateUrl: './delivery-items-list.component.html',\r\n styleUrls: ['./delivery-items-list.component.css']\r\n})\r\nexport class DeliveryItemsListComponent extends AbstractListView implements OnInit, AfterViewInit {\r\n\r\n that;\r\n\r\n @Input()\r\n control: FormArray;\r\n\r\n @Input()\r\n order: Order;\r\n\r\n @ViewChild('stockDetails')\r\n orderItemDetails: TemplateRef;\r\n\r\n @ViewChild('editAmountTmpl')\r\n editAmountTmpl: TemplateRef;\r\n\r\n @ViewChild('orderAmountTmpl')\r\n orderAmountTmpl: TemplateRef;\r\n\r\n @ViewChild('orderPackingTmpl')\r\n orderPackingTmpl: TemplateRef;\r\n\r\n @ViewChild('targetStockTmpl')\r\n targetStockTmpl: TemplateRef;\r\n\r\n @ViewChild('packingUnitTmpl')\r\n packingUnitTmpl: TemplateRef;\r\n\r\n @ViewChild('productBatchesTmpl')\r\n productBatchesTmpl: TemplateRef;\r\n\r\n @ViewChild('deliveryItemsTable')\r\n table: DatatableComponent;\r\n\r\n showDeliveredItems: boolean = false;\r\n\r\n editable: { [cuid: string]: boolean };\r\n\r\n messages = {\r\n emptyMessage: 'Keine Artikel im Wareneingang vorhanden',\r\n totalMessage: 'Artikel im Wareneingang insgesamt'\r\n };\r\n\r\n @ViewChild('packingModal')\r\n packingModal: GenericModalComponent;\r\n\r\n packings: Packing[] = [];\r\n packingForm: FormControl;\r\n editedItemCuid: string;\r\n\r\n @ViewChild('pbModal')\r\n pbModal: GenericModalComponent;\r\n pbForm: FormGroup;\r\n\r\n\r\n get deliveryItems(): any[] {\r\n return this.control ? this.control.value : [];\r\n }\r\n\r\n selectedItems = [];\r\n\r\n @Output()\r\n selectedChange: EventEmitter = new EventEmitter();\r\n\r\n\r\n constructor(private fb: FormBuilder, sessionActions: SessionActions, cd: ChangeDetectorRef,\r\n private stockItemService: StockItemService) {\r\n\r\n super(sessionActions, cd);\r\n\r\n this.that = this;\r\n\r\n this.control = this.fb.array([]);\r\n\r\n }\r\n\r\n ngOnInit() {\r\n\r\n super.ngOnInit();\r\n\r\n this.addSubscription(this.control.valueChanges.subscribe(\r\n val => {\r\n this.rows = val;\r\n this.filterItems();\r\n }));\r\n\r\n this.dataSubscriptions.push(\r\n this.searchTerm.valueChanges.pipe(\r\n distinctUntilChanged(),\r\n debounceTime(500)\r\n ).subscribe((term: any) => {\r\n this.currentSearchTermValue.next(term);\r\n this.filterItems(term);\r\n })\r\n );\r\n\r\n this.columns = [\r\n {prop: 'article_number', name: 'Art.-Nr.', minWidth: 50, maxWidth: 100, flexGrow: 2},\r\n {prop: 'article_label', name: 'Bezeichner', minWidth: 250, flexGrow: 4},\r\n {\r\n name: 'Bestellmenge',\r\n cellTemplate: this.orderAmountTmpl,\r\n minWidth: 50,\r\n maxWidth: 100,\r\n flexGrow: 1,\r\n sortable: false\r\n },\r\n {\r\n name: 'Bestelleinheit',\r\n cellTemplate: this.orderPackingTmpl,\r\n minWidth: 50,\r\n maxWidth: 100,\r\n flexGrow: 1,\r\n sortable: false\r\n },\r\n {\r\n name: 'Geliefert?',\r\n minWidth: 50,\r\n maxWidth: 100,\r\n flexGrow: 1,\r\n sortable: false,\r\n draggable: false,\r\n headerCheckboxable: true,\r\n checkboxable: true\r\n },\r\n {\r\n name: 'Liefermenge',\r\n cellTemplate: this.editAmountTmpl,\r\n minWidth: 50,\r\n maxWidth: 100,\r\n flexGrow: 1,\r\n sortable: false\r\n },\r\n {\r\n name: 'Liefereinheit',\r\n cellTemplate: this.packingUnitTmpl,\r\n minWidth: 100,\r\n maxWidth: 150,\r\n flexGrow: 2,\r\n sortable: false\r\n },\r\n {name: 'Einlagern', cellTemplate: this.targetStockTmpl, minWidth: 150, flexGrow: 3, sortable: false},\r\n {name: 'Chargen', cellTemplate: this.productBatchesTmpl, minWidth: 100, flexGrow: 2, sortable: false}\r\n ];\r\n\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n super.ngAfterViewInit();\r\n this.cd.detectChanges();\r\n }\r\n\r\n getOrderItem(deliveryItem): OrderItem {\r\n return this.order.order_items.find(item => item.cuid === deliveryItem.referenced_order_item_id);\r\n }\r\n\r\n getFormGroupByCuid(cuid: string): FormGroup {\r\n return AbstractVisbosComponent.getFormGroupById(this.control, cuid, 'cuid');\r\n }\r\n\r\n filterItems(searchTerm?) {\r\n\r\n if (!searchTerm) {\r\n searchTerm = this.currentSearchTermValue.value;\r\n }\r\n\r\n if (!searchTerm || searchTerm == \"\") {\r\n this.rows = this.deliveryItems;\r\n } else {\r\n if (this.deliveryItems) {\r\n this.rows = this.deliveryItems.filter((si: any) => this.findStringInTable(si, this.columns, searchTerm));\r\n }\r\n }\r\n\r\n }\r\n\r\n editProductPacking(deliverItem) {\r\n\r\n const stockItem = this.getOrderItem(deliverItem).stock_item;\r\n\r\n this.packingForm = this.fb.control(deliverItem.product_packing_id);\r\n this.editedItemCuid = deliverItem.cuid;\r\n\r\n this.addSubscription(this.stockItemService.getProductPackingsForStockItem(stockItem.cuid).subscribe(res => {\r\n this.packings = res.data.productPackings;\r\n }));\r\n\r\n this.packingModal.show();\r\n\r\n }\r\n\r\n saveProductPacking() {\r\n\r\n const packing: Packing = this.packingForm.value ? this.packings.find(p => p.cuid == this.packingForm.value) : null;\r\n\r\n const data = {\r\n product_packing_id: packing ? packing.cuid : null,\r\n packing_unit: packing ? packing.packing_unit.packing_unit_name : null,\r\n packing_content: packing ? packing.packing_amount : null,\r\n price: packing ? packing.packing_price : null\r\n };\r\n\r\n this.getFormGroupByCuid(this.editedItemCuid).patchValue(data);\r\n this.cd.detectChanges();\r\n\r\n this.editedItemCuid = null;\r\n this.packingForm = null;\r\n this.packings = [];\r\n\r\n }\r\n\r\n addProductPackingClicked(deliveryItem) {\r\n\r\n }\r\n\r\n addProductPacking() {\r\n\r\n }\r\n\r\n addProductBatchClicked(deliveryItem) {\r\n this.pbModal.state = {deliveryItemCuid: deliveryItem.cuid};\r\n this.pbForm = ProductBatchFormComponent.initControl(this.fb);\r\n this.pbModal.show();\r\n }\r\n\r\n addProductBatch() {\r\n let productBatch = this.pbForm.value;\r\n this.pbForm = null;\r\n let deliveryItemCuid = this.pbModal.state.deliveryItemCuid;\r\n let pb = this.initProductBatchFormGroup(productBatch);\r\n let pbArray = this.getFormGroupByCuid(deliveryItemCuid).get('product_batches') as FormArray;\r\n pbArray.push(pb);\r\n }\r\n\r\n removeProductBatch(deliveryItemCuid: string, productBatchCuid: string) {\r\n let st = this.getFormGroupByCuid(deliveryItemCuid).get('product_batches') as FormArray;\r\n let index = st.controls.findIndex(i => i.get('cuid').value == productBatchCuid);\r\n if (index > -1) {\r\n st.removeAt(index);\r\n }\r\n }\r\n\r\n initProductBatchFormGroup(productBatch?: ProductBatch): FormGroup {\r\n let f = this.fb.group({\r\n cuid: [AbstractVisbosControl.cuid(), Validators.required],\r\n batch_number: [null],\r\n use_before_date: [null]\r\n });\r\n\r\n if (productBatch) {\r\n f.patchValue(productBatch);\r\n }\r\n\r\n return f;\r\n }\r\n\r\n onSelectedChanged(selected: any[]) {\r\n this.selectedItems = selected;\r\n this.selectedChange.emit(this.selectedItems);\r\n }\r\n\r\n rowIsSelected(row): boolean {\r\n return this.selectedItems.findIndex(cuid => cuid == row.cuid) > -1;\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/store-management/procurement/delivery-items-list/delivery-items-list.component.ts","module.exports = \"\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/store-management/procurement/depot-needs/depot-needs.component.css\n// module id = ./src/app/store-management/procurement/depot-needs/depot-needs.component.css\n// module chunks = main","module.exports = \"
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n

Allgemeine Angaben zum Bedarf

\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n \\r\\n\\r\\n 0\\\"\\r\\n [adminUnits]=\\\"sourceAdminUnits\\\"\\r\\n [optional]=\\\"false\\\"\\r\\n (itemChanged)=\\\"srcAdminUnitSelected($event)\\\">\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n

\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/store-management/procurement/depot-needs/depot-needs.component.html\n// module id = ./src/app/store-management/procurement/depot-needs/depot-needs.component.html\n// module chunks = main","import {ChangeDetectorRef, Component, forwardRef, Input, OnInit, SimpleChanges, ViewChild} from '@angular/core';\r\nimport {FormArray, FormBuilder, FormControl, FormGroup, Validators} from \"@angular/forms\";\r\nimport {Subject} from \"rxjs/Subject\";\r\nimport {DispatchListItem} from \"../../../shared/view-model/store-management/dispatch-list-item.type\";\r\nimport {DepotService, FetchDepotsResult} from \"../../services/depot-service/depot.service\";\r\nimport {ApolloQueryResult} from \"apollo-client\";\r\nimport {BehaviorSubject} from \"rxjs/BehaviorSubject\";\r\nimport {SubAdminUnitNeedsItemsComponent} from \"../sub-admin-unit-needs-items/sub-admin-unit-needs-items.component\";\r\nimport {NgRedux} from \"@angular-redux/store\";\r\nimport {IAppState} from \"../../../shared/redux-store/store\";\r\nimport {Depot} from \"../../../shared/view-model/store-management/depot.type\";\r\nimport {Location} from \"@angular/common\";\r\nimport {isUndefined} from \"util\";\r\nimport {ActivatedRoute} from \"@angular/router\";\r\nimport {filter} from \"rxjs/operators\";\r\nimport {appInjector} from \"../../../index\";\r\nimport {DispatchList} from \"../../../shared/view-model/store-management/dispatch-list.type\";\r\nimport {ProcurementService} from \"../../services/procurement-service/procurement.service\";\r\nimport {ApolloQueryObservable} from \"apollo-angular\";\r\nimport {AbstractVisbosControl} from \"../../../core/visbos-core/ui/forms/abstract-visbos-control\";\r\nimport {SessionActions} from \"../../../shared/actions/session.actions\";\r\nimport {SubAdminUnitNeedsComponent} from \"../sub-admin-unit-needs/sub-admin-unit-needs.component\";\r\nimport {FillUpDepotMutation} from \"../../../shared/graphql/graphql.types\";\r\nimport {FileService} from \"../../../core/visbos-core/http/file.service\";\r\nimport {MedicineAuthFormComponent} from \"../../withdrawal/medicine-auth-form/medicine-auth-form.component\";\r\nimport {AdministrationUnit} from \"../../../shared/view-model/organization/administration-unit.type\";\r\n\r\n@Component({\r\n selector: 'vb-depot-needs',\r\n templateUrl: './depot-needs.component.html',\r\n styleUrls: ['./depot-needs.component.css'],\r\n providers: [{provide: AbstractVisbosControl, useExisting: forwardRef(() => DepotNeedsComponent)}]\r\n})\r\nexport class DepotNeedsComponent extends AbstractVisbosControl implements OnInit {\r\n\r\n @ViewChild(SubAdminUnitNeedsItemsComponent)\r\n dispatchItemsCmp: SubAdminUnitNeedsItemsComponent;\r\n\r\n @Input()\r\n activeDepotCuid: string;\r\n\r\n @Input()\r\n showDepotSelection: boolean = true;\r\n\r\n @Input()\r\n showPrintVouchersCheckBox: boolean = true;\r\n\r\n @Input()\r\n showSrcSelection: boolean = true;\r\n\r\n private dispatchList$: ApolloQueryObservable;\r\n dispatchList: DispatchList;\r\n\r\n private activeDepotCuid$: Subject = new BehaviorSubject(null);\r\n private activeDepot$: ApolloQueryObservable;\r\n activeDepot: Depot;\r\n\r\n selectedItems = [];\r\n\r\n medicineAuthForm: FormGroup;\r\n generateVouchersCtrl: FormControl;\r\n\r\n sourceAdminUnits: AdministrationUnit[] = [];\r\n srcAdminUnitCuid$: BehaviorSubject = new BehaviorSubject(null);\r\n\r\n constructor(fb: FormBuilder, cd: ChangeDetectorRef, sessionActions: SessionActions,\r\n private fileService: FileService,\r\n private route: ActivatedRoute,\r\n private loc: Location,\r\n private depotService: DepotService,\r\n private procurementService: ProcurementService,\r\n private ngRx: NgRedux) {\r\n super(fb, cd, sessionActions);\r\n\r\n }\r\n\r\n ngOnInit() {\r\n super.ngOnInit();\r\n\r\n this.generateVouchersCtrl = this.fb.control(false);\r\n\r\n this.activeDepot$ = this.depotService.getDepot(this.activeDepotCuid$);\r\n this.addComponentData(this.activeDepot$);\r\n this.addSubscription(this.activeDepot$.subscribe(res => {\r\n this.activeDepot = res.data.fetchDepots[0];\r\n this.sourceAdminUnits = this.activeDepot.managed_by_admin_units;\r\n }));\r\n\r\n this.dispatchList$ = this.procurementService.getDispatchListForDepot(\r\n this.activeDepotCuid$,\r\n this.srcAdminUnitCuid$.pipe(filter(i => i !== null))\r\n );\r\n this.addComponentData(this.dispatchList$);\r\n this.dataSubscriptions.push(\r\n this.dispatchList$.subscribe(res => {\r\n this.dispatchList = res.data.dispatchListForDepot;\r\n this.setDefaultValues(this.dispatchList);\r\n })\r\n );\r\n\r\n this.addSubscription(this.route.params.subscribe(params => {\r\n if (params.depotCuid) {\r\n this.activeDepotCuid$.next(params.depotCuid);\r\n this.showDepotSelection = false;\r\n }\r\n })\r\n );\r\n\r\n }\r\n\r\n\r\n ngOnDestroy(): void {\r\n super.ngOnDestroy();\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n super.ngOnChanges(changes);\r\n\r\n if (changes.activeDepotCuid) {\r\n this.activeDepotCuid$.next(this.activeDepotCuid);\r\n if (this.activeDepotCuid) {\r\n this.showDepotSelection = false;\r\n }\r\n }\r\n }\r\n\r\n onDepotSelected(depot: Depot) {\r\n this.activeDepotCuid$.next(depot.cuid);\r\n }\r\n\r\n get depotLabel(): string {\r\n\r\n if (!this.activeDepot || !this.activeAdminUnit) {\r\n return \"\";\r\n }\r\n\r\n if (this.activeDepot.administration_unit.cuid == this.activeAdminUnit.cuid) {\r\n return '\"' + this.activeDepot.label + '\"';\r\n } else {\r\n return '\"' + this.activeDepot.label + ' (' + this.activeDepot.administration_unit.label + ')\"'\r\n }\r\n\r\n }\r\n\r\n buildControlContent(values?: DispatchList): FormGroup {\r\n return SubAdminUnitNeedsComponent.initControl(this.fb);\r\n }\r\n\r\n public static initControl(fb: FormBuilder = null): FormGroup {\r\n fb = fb ? fb : appInjector().get(FormBuilder);\r\n\r\n return fb.group({\r\n cuid: [null],\r\n fill_up_date: [null, Validators.required],\r\n user_id: [null],\r\n supplier_administration_unit_id: [null, Validators.required],\r\n recipient_administration_unit_id: [null, Validators.required],\r\n fill_up_items: fb.array([], Validators.required)\r\n });\r\n }\r\n\r\n public setDefaultValues(item?: DispatchList): { [controlKey: string]: any } | any {\r\n\r\n if (!item) {\r\n return undefined;\r\n }\r\n\r\n let val = {\r\n cuid: AbstractVisbosControl.cuid(),\r\n fill_up_date: new Date().toISOString().slice(0, 10),\r\n supplier_administration_unit_id: this.ngRx.getState().session.activeAdminUnit,\r\n recipient_administration_unit_id: this.activeDepot.administration_unit.cuid,\r\n user_id: this.ngRx.getState().session.user.cuid\r\n };\r\n\r\n if (!isUndefined(val)) {\r\n this.control.patchValue(val);\r\n }\r\n\r\n this.addDispatchItems(item, this.control.get('fill_up_items'));\r\n\r\n return val;\r\n\r\n }\r\n\r\n addDispatchItems(dispatchList: DispatchList, formArray: FormArray) {\r\n formArray.controls = [];\r\n let orderItems: DispatchListItem[] = dispatchList.dispatch_list_items;\r\n\r\n orderItems.forEach(item => {\r\n formArray.push(this.initDispatchItemControl(dispatchList, item))\r\n })\r\n }\r\n\r\n initDispatchItemControl(dispatchList?: DispatchList, values?: DispatchListItem): FormGroup {\r\n\r\n return this.fb.group({\r\n cuid: [this.setValue(values, 'cuid')],\r\n stock_item_id: [this.setValue(values, 'stock_item.cuid')],\r\n amount: [this.setValue(values, 'amount'), Validators.required],\r\n product_packing_id: [this.setValue(values, 'product_packing.cuid')],\r\n packing_unit: [this.setValue(values, 'product_packing.packing_unit.packing_unit_name')],\r\n packing_content: [this.setValue(values, 'product_packing.packing_amount')],\r\n price: [this.setValue(values, 'product_packing.packing_price')],\r\n source_stock_id: [this.setValue(values, 'source_stocks.0.cuid')],\r\n target_stock_id: [this.setValue(values, 'target_stocks.0.cuid'), Validators.required],\r\n product_batches: this.fb.array([])\r\n });\r\n\r\n }\r\n\r\n onGenerateDispatchListPdfClick() {\r\n return this.procurementService.generateDispatchListPDF(this.dispatchList).toPromise();\r\n }\r\n\r\n onDispatchItemsClick(): Promise> {\r\n\r\n let input = Object.assign({}, this.control.value);\r\n input.fill_up_items = input.fill_up_items.filter(item => this.selectedItems.find(sel => sel === item.cuid));\r\n\r\n const authData = this.medicineAuthForm ? this.medicineAuthForm.value : null;\r\n const generateVouchers: boolean = this.generateVouchersCtrl ? this.generateVouchersCtrl.value : false;\r\n\r\n return this.procurementService.fillUpDepot(input, authData, generateVouchers).toPromise();\r\n\r\n }\r\n\r\n onSelectedChanged(selected: any[]) {\r\n this.selectedItems = selected;\r\n\r\n let authItem: boolean = this.selectedItems && this.selectedItems.length > 0 && this.dispatchList.dispatch_list_items.findIndex(item => {\r\n return (this.selectedItems.findIndex(id => id === item.cuid) > -1) &&\r\n (item.source_stocks.findIndex(s => s.registration_required === true) > -1 ||\r\n item.target_stocks.findIndex(s => s.registration_required === true) > -1);\r\n }) > -1;\r\n\r\n if (!this.medicineAuthForm && authItem) {\r\n this.createMedicineAuthComponent();\r\n } else if (this.medicineAuthForm && !authItem) {\r\n this.removeMedicineAuthForm();\r\n }\r\n\r\n }\r\n\r\n canSend(): boolean {\r\n let items = this.selectedItems && this.selectedItems.length > 0;\r\n let auth = this.medicineAuthForm ? this.medicineAuthForm.valid : true;\r\n return items && auth;\r\n }\r\n\r\n canGenerateDispatchListPdf() {\r\n return this.dispatchList != null;\r\n }\r\n\r\n createMedicineAuthComponent() {\r\n this.medicineAuthForm = MedicineAuthFormComponent.initControl(this.fb);\r\n this.cd.detectChanges();\r\n }\r\n\r\n removeMedicineAuthForm() {\r\n this.medicineAuthForm = null;\r\n this.cd.detectChanges();\r\n }\r\n\r\n srcAdminUnitSelected(adminUnit) {\r\n this.srcAdminUnitCuid$.next(adminUnit ? adminUnit.cuid : null);\r\n }\r\n\r\n}\n\n\n// WEBPACK FOOTER //\n// ./src/app/store-management/procurement/depot-needs/depot-needs.component.ts","module.exports = \"\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/store-management/procurement/dispatch-items-table/dispatch-items-table.component.css\n// module id = ./src/app/store-management/procurement/dispatch-items-table/dispatch-items-table.component.css\n// module chunks = main","module.exports = \"\\r\\n\\r\\n\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n\\r\\n\\r\\n \\r\\n\\r\\n\\r\\n\\r\\n {{row?.product_packing ? row.product_packing : 'Stk.'}}\\r\\n\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n {{deliveryItem.stock_id}}\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n

Form: {{control?.value | json}}

\\r\\n
\\r\\n\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/store-management/procurement/dispatch-items-table/dispatch-items-table.component.html\n// module id = ./src/app/store-management/procurement/dispatch-items-table/dispatch-items-table.component.html\n// module chunks = main","///\r\nimport {\r\n AfterViewInit,\r\n ChangeDetectorRef,\r\n Component,\r\n Input,\r\n OnChanges,\r\n OnInit,\r\n SimpleChanges,\r\n TemplateRef,\r\n ViewChild\r\n} from \"@angular/core\";\r\nimport {AbstractListView} from \"../../../core/visbos-core/ui/components/abstract-list-view\";\r\nimport {FormArray, FormBuilder} from \"@angular/forms\";\r\nimport {DatatableComponent} from \"../../../core/visbos-core/ui/components/datatable/datatable.component\";\r\nimport {ProcurementService} from \"../../services/procurement-service/procurement.service\";\r\nimport {SessionActions} from \"../../../shared/actions/session.actions\";\r\nimport {AdministrationUnit} from \"../../../shared/view-model/organization/administration-unit.type\";\r\nimport {DispatchListItem} from \"../../../shared/view-model/store-management/dispatch-list-item.type\";\r\nimport {debounceTime, distinctUntilChanged} from \"rxjs/operators\";\r\n\r\n@Component({\r\n selector: 'vb-dispatch-items-table',\r\n templateUrl: './dispatch-items-table.component.html',\r\n styleUrls: ['./dispatch-items-table.component.css']\r\n})\r\nexport class DispatchItemsTableComponent extends AbstractListView implements OnInit, AfterViewInit, OnChanges {\r\n\r\n that;\r\n\r\n console;\r\n\r\n @Input()\r\n targetAdminUnit: AdministrationUnit;\r\n\r\n @Input()\r\n control: FormArray;\r\n\r\n @Input()\r\n dispatchItems: DispatchListItem[];\r\n\r\n\r\n @ViewChild('dispatchItemDetails')\r\n dispatchItemDetails: TemplateRef;\r\n\r\n @ViewChild('editAmountTmpl')\r\n editAmountTmpl: TemplateRef;\r\n\r\n @ViewChild('sourceStockTmpl')\r\n sourceStockTmpl: TemplateRef;\r\n\r\n @ViewChild('packingUnitTmpl')\r\n packingUnitTmpl: TemplateRef;\r\n\r\n @ViewChild('dispatchItemsTable')\r\n dispatchItemsTable: DatatableComponent;\r\n\r\n messages = {\r\n emptyMessage: 'Keine Artikel im Wareneingang vorhanden',\r\n totalMessage: 'Artikel im Wareneingang insgesamt'\r\n };\r\n\r\n constructor(private fb: FormBuilder,\r\n private procurementService: ProcurementService,\r\n sessionActions: SessionActions, cd: ChangeDetectorRef) {\r\n\r\n super(sessionActions, cd);\r\n\r\n this.that = this;\r\n\r\n }\r\n\r\n ngOnInit() {\r\n\r\n this.searchTerm = this.fb.control(null);\r\n\r\n this.dataSubscriptions.push(\r\n this.searchTerm.valueChanges.pipe(\r\n distinctUntilChanged(),\r\n debounceTime(500)\r\n ).subscribe((term: any) => this.filterItems(term))\r\n );\r\n\r\n this.columns = [\r\n {prop: 'article_label', name: 'Artikel', minWidth: 250, flexGrow: 4},\r\n {name: 'Benötigt', minWidth: 50, maxWidth: 100, flexGrow: 1, sortable: false},\r\n {name: 'Bereits in Auslieferung', minWidth: 50, maxWidth: 100, flexGrow: 1},\r\n {name: 'Packmenge', cellTemplate: this.editAmountTmpl, minWidth: 50, maxWidth: 100, flexGrow: 1, sortable: false},\r\n {name: 'Einheit', cellTemplate: this.packingUnitTmpl, minWidth: 100, maxWidth: 150, flexGrow: 2, sortable: false},\r\n {name: 'Entnehmen aus', cellTemplate: this.sourceStockTmpl, minWidth: 100, maxWidth: 150, flexGrow: 2}\r\n ];\r\n\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n\r\n super.ngAfterViewInit();\r\n this.cd.detectChanges();\r\n\r\n // Hack for ordering\r\n let col = this.dispatchItemsTable.table._columns[0];\r\n this.dispatchItemsTable.table.onColumnResize({column: col, newValue: 50});\r\n\r\n this.cd.detectChanges();\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n\r\n if (changes.dispatchList) {\r\n this.rows = this.dispatchItems;\r\n }\r\n\r\n }\r\n\r\n filterItems(searchTerm) {\r\n if (!searchTerm || searchTerm == \"\") {\r\n this.rows = this.dispatchItems;\r\n } else {\r\n if (this.dispatchItems) {\r\n this.rows = this.dispatchItems.filter((si: any) => this.findStringInTable(si, this.columns, searchTerm));\r\n }\r\n }\r\n }\r\n\r\n onCellUpdate(row: any, res: any) {\r\n throw new Error(\"Method not implemented.\");\r\n }\r\n\r\n onItemRemove(item) {\r\n\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/store-management/procurement/dispatch-items-table/dispatch-items-table.component.ts","module.exports = \"\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/store-management/procurement/incoming-goods-view/incoming-goods-view.component.css\n// module id = ./src/app/store-management/procurement/incoming-goods-view/incoming-goods-view.component.css\n// module chunks = main","module.exports = \"\\r\\n\\r\\n

Offene Bestellungen

\\r\\n\\r\\n
\\r\\n\\r\\n \\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n

Bestellverlauf

\\r\\n
\\r\\n
{{order.order_date | date:'shortDate'}}
\\r\\n
Bestellung angelegt
\\r\\n \\r\\n
{{del.delivery_date | date:'shortDate'}}
\\r\\n
Lieferung #{{i + 1}} {{del.packing_slip_number ? ' (Lieferscheinnr.: ' + del.packing_slip_number + ')' : ''}}
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/store-management/procurement/incoming-goods-view/incoming-goods-view.component.html\n// module id = ./src/app/store-management/procurement/incoming-goods-view/incoming-goods-view.component.html\n// module chunks = main","import {ChangeDetectorRef, Component, OnDestroy, OnInit, ViewChild} from \"@angular/core\";\r\nimport {Order} from \"../../../shared/view-model/store-management/order.type\";\r\nimport {AbstractListView} from \"../../../core/visbos-core/ui/components/abstract-list-view\";\r\nimport {DatatableComponent} from \"../../../core/visbos-core/ui/components/datatable/datatable.component\";\r\nimport {ApolloQueryObservable} from \"apollo-angular\";\r\nimport {OrdersResult, ProcurementService} from \"../../services/procurement-service/procurement.service\";\r\nimport {FormBuilder} from \"@angular/forms\";\r\nimport {ActivatedRoute, Router} from \"@angular/router\";\r\nimport {SessionActions} from \"../../../shared/actions/session.actions\";\r\nimport {debounceTime, distinctUntilChanged} from \"rxjs/operators\";\r\nimport {UpdateOrderMutationVariables} from '../../../shared/graphql/graphql.types';\r\nimport {MessageType} from '../../../shared/redux-store/session';\r\n\r\n@Component({\r\n selector: 'vb-incoming-goods-view',\r\n templateUrl: './incoming-goods-view.component.html',\r\n styleUrls: ['./incoming-goods-view.component.css']\r\n})\r\nexport class IncomingGoodsViewComponent extends AbstractListView implements OnInit, OnDestroy {\r\n\r\n @ViewChild('datatable')\r\n datatable: DatatableComponent;\r\n\r\n messages = {\r\n emptyMessage: 'Keine offenen Bestellungen vorhanden',\r\n totalMessage: 'offene Bestellung(en) insgesamt'\r\n };\r\n\r\n orders$: ApolloQueryObservable;\r\n orders: Order[];\r\n\r\n constructor(private fb: FormBuilder, private router: Router, private route: ActivatedRoute,\r\n private procurementService: ProcurementService,\r\n sessionActions: SessionActions, cd: ChangeDetectorRef) {\r\n\r\n super(sessionActions, cd);\r\n }\r\n\r\n ngOnInit() {\r\n\r\n this.isLoading = true;\r\n this.searchTerm = this.fb.control(null);\r\n\r\n this.dataSubscriptions.push(\r\n this.searchTerm.valueChanges.pipe(\r\n distinctUntilChanged(),\r\n debounceTime(500)\r\n ).subscribe((term: any) => this.filterItems(term))\r\n );\r\n\r\n this.columns = [\r\n {prop: 'order_date', name: 'Datum', cellTemplate: this.datatable.formatDateTmpl, minWidth: 50, flexGrow: 1},\r\n {prop: 'commission_number', name: 'Kommissionsnr.', minWidth: 100, flexGrow: 2},\r\n {prop: 'supplier.label', name: 'Lieferant', minWidth: 100, flexGrow: 2},\r\n {prop: 'contact_person', name: 'Bestellt durch', minWidth: 100, flexGrow: 2},\r\n ];\r\n\r\n this.orders$ = this.procurementService.fetchOrders(null, true);\r\n this.dataSubscriptions.push(this.orders$.subscribe(res => {\r\n this.isLoading = res.loading;\r\n this.orders = res.data.orders;\r\n this.rows = this.orders;\r\n })\r\n );\r\n\r\n }\r\n\r\n onCellUpdate(row, res, index) {\r\n }\r\n\r\n onShowDetailsClicked(order: Order) {\r\n this.router.navigate(['../', order.cuid], {relativeTo: this.route});\r\n }\r\n\r\n onDeliveryClicked(order: Order) {\r\n this.router.navigate([order.cuid, 'wareneingang'], {relativeTo: this.route});\r\n }\r\n\r\n onOrderCloseClicked(order: Order) {\r\n const queryVars: UpdateOrderMutationVariables = {\r\n orderCuid: order.cuid,\r\n order: {is_completed: true}\r\n };\r\n this.procurementService.updateOrderStatus(queryVars.orderCuid, queryVars.order).toPromise()\r\n .then(res => this.sessionActions.pushMessage(\"Bestellung erfolgreich abgeschlossen\", MessageType.SUCCESS))\r\n .catch(err => this.sessionActions.throwError(err, \"Fehler beim Abschließen der Bestellung!\"));\r\n }\r\n\r\n onMouseOverDetail(order: Order) {\r\n this.procurementService.prefetchOrder(order.cuid);\r\n }\r\n\r\n filterItems(searchTerm) {\r\n if (!searchTerm || searchTerm == \"\") {\r\n this.rows = this.orders;\r\n } else {\r\n if (this.orders) {\r\n this.rows = this.orders.filter((si: Order) => this.findStringInTable(si, this.columns, searchTerm));\r\n }\r\n }\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/store-management/procurement/incoming-goods-view/incoming-goods-view.component.ts","module.exports = \"\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/store-management/procurement/new-delivery/new-delivery.component.css\n// module id = ./src/app/store-management/procurement/new-delivery/new-delivery.component.css\n// module chunks = main","module.exports = \"\\r\\n\\r\\n

Wareneingang\\r\\n {{order?.label}}\\r\\n

\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n

Angaben zur Warenlieferung

\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n

From: {{control.value | json}}

\\r\\n
\\r\\n\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/store-management/procurement/new-delivery/new-delivery.component.html\n// module id = ./src/app/store-management/procurement/new-delivery/new-delivery.component.html\n// module chunks = main","import {AfterContentChecked, ChangeDetectorRef, Component, forwardRef, Input, OnInit, ViewChild} from \"@angular/core\";\r\nimport {AbstractVisbosControl} from \"../../../core/visbos-core/ui/forms/abstract-visbos-control\";\r\nimport {ProcurementService} from \"../../services/procurement-service/procurement.service\";\r\nimport {Order} from \"../../../shared/view-model/store-management/order.type\";\r\nimport {FormArray, FormBuilder, FormControl, FormGroup, Validators} from \"@angular/forms\";\r\nimport {appInjector} from \"../../../index\";\r\nimport {OrderItem} from \"../../../shared/view-model/store-management/order-item.type\";\r\nimport {ProductBatchInput} from \"../../model/product-batch-input.type\";\r\nimport {ProductBatchFormComponent} from \"../../product/product-batch-form/product-batch-form.component\";\r\nimport {SessionActions} from \"../../../shared/actions/session.actions\";\r\nimport {NgRedux} from \"@angular-redux/store\";\r\nimport {IAppState} from \"../../../shared/redux-store/store\";\r\nimport {ApolloQueryObservable} from \"apollo-angular\";\r\nimport {Observable} from \"rxjs/Observable\";\r\nimport {ErrorHandlerService} from \"../../../core/visbos-core/error-handling/error-handler.service\";\r\nimport {ActivatedRoute, Router} from \"@angular/router\";\r\nimport {DeliveryItemsListComponent} from \"../delivery-items-list/delivery-items-list.component\";\r\nimport {MessageType} from \"../../../shared/redux-store/session/session.types\";\r\nimport {Location} from \"@angular/common\";\r\nimport {MedicineAuthFormComponent} from \"../../withdrawal/medicine-auth-form/medicine-auth-form.component\";\r\nimport {map} from \"rxjs/operators\";\r\nimport {LoadOrderQueryQuery} from '../../../shared/graphql/graphql.types';\r\n\r\n@Component({\r\n selector: 'vb-new-delivery',\r\n templateUrl: './new-delivery.component.html',\r\n styleUrls: ['./new-delivery.component.css'],\r\n providers: [{provide: AbstractVisbosControl, useExisting: forwardRef(() => NewDeliveryComponent)}]\r\n})\r\nexport class NewDeliveryComponent extends AbstractVisbosControl implements OnInit, AfterContentChecked {\r\n\r\n @Input()\r\n orderCuid: string | Observable;\r\n\r\n @ViewChild(DeliveryItemsListComponent)\r\n deliverItemsCmp: DeliveryItemsListComponent;\r\n\r\n hasItems: boolean = false;\r\n selectedDeliveryItems = [];\r\n\r\n searchTerm: FormControl = new FormControl();\r\n\r\n private order$: ApolloQueryObservable;\r\n\r\n get order(): Order {\r\n return this.item;\r\n }\r\n\r\n set order(value: Order) {\r\n this.item = value;\r\n }\r\n\r\n medicineAuthForm: FormGroup;\r\n\r\n constructor(fb: FormBuilder, cd: ChangeDetectorRef,\r\n private router: Router, private route: ActivatedRoute, private loc: Location,\r\n sessionActions: SessionActions, private ngRx: NgRedux, private err: ErrorHandlerService,\r\n private procurementService: ProcurementService) {\r\n super(fb, cd, sessionActions);\r\n\r\n this.actions = [\r\n {\r\n label: \"Ware einlagern\",\r\n icon: \"fa-paper-plane\",\r\n action: () => this.sendDelivery.apply(this),\r\n disabled: () => !this.canSend.apply(this)\r\n }\r\n ]\r\n\r\n }\r\n\r\n ngOnInit() {\r\n super.ngOnInit();\r\n\r\n if (!this.orderCuid) {\r\n this.orderCuid = this.route.params.pipe(\r\n map(params => params.orderCuid)\r\n );\r\n }\r\n\r\n this.order$ = this.procurementService.loadOrder(this.orderCuid);\r\n this.addComponentData(this.order$);\r\n\r\n this.dataSubscriptions.push(\r\n this.order$.subscribe(res => {\r\n this.order = res.data.order;\r\n this.patchItemValues();\r\n },\r\n err => {\r\n this.err.handleUserError(err, \"Fehler beim Laden der Bestellung!\");\r\n }));\r\n }\r\n\r\n ngAfterContentChecked(): void {\r\n this.cd.detectChanges();\r\n }\r\n\r\n buildControlContent(values?: Order): FormGroup {\r\n return NewDeliveryComponent.initControl(this.fb);\r\n }\r\n\r\n public static initControl(fb: FormBuilder = null): FormGroup {\r\n fb = fb ? fb : appInjector().get(FormBuilder);\r\n\r\n return fb.group({\r\n cuid: [null],\r\n delivery_date: [null, Validators.required],\r\n packing_slip_number: [null],\r\n recipient_name: [null],\r\n supplier_id: [null, Validators.required],\r\n order_id: [null, Validators.required],\r\n administration_unit_id: [null, Validators.required],\r\n user_id: [null],\r\n delivery_items: fb.array([], Validators.required)\r\n });\r\n }\r\n\r\n public setDefaultValues(item?: Order): { [controlKey: string]: any } | any {\r\n\r\n if (!item) {\r\n return undefined;\r\n }\r\n\r\n let val = {\r\n cuid: AbstractVisbosControl.cuid(),\r\n delivery_date: new Date().toISOString().slice(0, 10),\r\n packing_slip_number: null,\r\n recipient_name: this.ngRx.getState().session.user.label,\r\n supplier_id: this.setValue(item, 'supplier.cuid'),\r\n order_id: this.setValue(item, 'cuid'),\r\n administration_unit_id: this.setValue(item, 'administration_unit.cuid'),\r\n user_id: this.ngRx.getState().session.user.cuid\r\n };\r\n\r\n this.addDeliveryItems(item, this.control.get('delivery_items'));\r\n\r\n return val;\r\n\r\n }\r\n\r\n private canSend(): boolean {\r\n let authOk = !this.medicineAuthForm || (this.medicineAuthForm && this.medicineAuthForm.valid);\r\n return this.hasItems && authOk;\r\n }\r\n\r\n createMedicineAuthComponent() {\r\n this.medicineAuthForm = MedicineAuthFormComponent.initControl(this.fb);\r\n this.cd.detectChanges();\r\n }\r\n\r\n addDeliveryItems(order: Order, formArray: FormArray) {\r\n formArray.controls = [];\r\n let orderItems: OrderItem[] = order.order_items;\r\n\r\n orderItems.forEach(item => {\r\n if (item.amount_in_pieces_open > 0) {\r\n formArray.push(this.initDeliveryItemControl(order, item));\r\n if (!this.medicineAuthForm && item.available_stocks.find(st => st.registration_required === true)) {\r\n this.createMedicineAuthComponent();\r\n }\r\n }\r\n\r\n });\r\n\r\n }\r\n\r\n initDeliveryItemControl(order?: Order, values?: OrderItem): FormGroup {\r\n\r\n return this.fb.group({\r\n cuid: AbstractVisbosControl.cuid(),\r\n article_number: [this.setValue(values, 'article_number')],\r\n article_label: [this.setValue(values, 'article_label')],\r\n packing_unit: [this.setValue(values, 'packing_unit')],\r\n packing_content: [this.setValue(values, 'packing_content'), Validators.required],\r\n amount: [this.setValue(values, 'amount_in_orig_packing_open'), Validators.required],\r\n price: [this.setValue(values, 'price')],\r\n product_packing_id: [this.setValue(values, 'product_packing.cuid'), Validators.required],\r\n referenced_order_item_id: [this.setValue(values, 'cuid')],\r\n stock_id: [null, Validators.required],\r\n product_batches: this.fb.array([])\r\n });\r\n\r\n }\r\n\r\n getOrderItem(deliveryItem): OrderItem {\r\n return this.order.order_items.find(item => item.cuid === deliveryItem.referenced_order_item_id);\r\n }\r\n\r\n\r\n addProductBatch(itemIndex: number, productBatchInput?: ProductBatchInput) {\r\n let batchArrayCtrl: FormArray = this.control.get(`product_batches.${itemIndex}.product_batches`) as FormArray;\r\n\r\n let batchCtrl = ProductBatchFormComponent.initControl(this.fb);\r\n batchCtrl.patchValue(productBatchInput);\r\n\r\n batchArrayCtrl.push(batchCtrl)\r\n }\r\n\r\n removeProductBatch(itemIndex: number, productBatchIndex: number) {\r\n let batchArrayCtrl: FormArray = this.control.get(`product_batches.${itemIndex}.product_batches`) as FormArray;\r\n batchArrayCtrl.removeAt(productBatchIndex);\r\n }\r\n\r\n onSelectedChanged(selected: any[]) {\r\n this.hasItems = (selected && selected.length > 0);\r\n this.selectedDeliveryItems = selected;\r\n }\r\n\r\n\r\n sendDelivery() {\r\n let input = Object.assign({}, this.control.value);\r\n let medAuthData = this.medicineAuthForm ? this.medicineAuthForm.value : null;\r\n\r\n input.delivery_items = input.delivery_items.filter(item => this.selectedDeliveryItems.find(sel => sel === item.cuid));\r\n\r\n this.procurementService.createDelivery(this.order.cuid, input, medAuthData).toPromise()\r\n .then(res => {\r\n this.sessionActions.pushMessage(\"Lieferung erfolgreich angelegt und Waren eingelagert!\", MessageType.SUCCESS, \"Warenlieferung\");\r\n this.router.navigate(['/client/lagerverwaltung/bestellungen/offen']);\r\n })\r\n .catch(err => {\r\n this.err.handleUserError(err, \"Fehler beim Anlegen der Lieferung und Einlagern der Waren!\")\r\n });\r\n\r\n }\r\n\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/store-management/procurement/new-delivery/new-delivery.component.ts","module.exports = \"\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/store-management/procurement/new-dispatch/new-dispatch.component.css\n// module id = ./src/app/store-management/procurement/new-dispatch/new-dispatch.component.css\n// module chunks = main","module.exports = \"\\r\\n\\r\\n

Warensendung erstellen

\\r\\n\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n

Angaben zur Warensendung

\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n\\r\\n\\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n

From: {{control.value | json}}

\\r\\n
\\r\\n\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/store-management/procurement/new-dispatch/new-dispatch.component.html\n// module id = ./src/app/store-management/procurement/new-dispatch/new-dispatch.component.html\n// module chunks = main","import {ChangeDetectorRef, Component, forwardRef, OnInit, ViewChild} from \"@angular/core\";\r\nimport {DispatchItemsTableComponent} from \"../dispatch-items-table/dispatch-items-table.component\";\r\nimport {DispatchListItem} from \"../../../shared/view-model/store-management/dispatch-list-item.type\";\r\nimport {FormArray, FormBuilder, FormGroup, Validators} from \"@angular/forms\";\r\nimport {SessionActions} from \"../../../shared/actions/session.actions\";\r\nimport {AbstractVisbosControl} from \"../../../core/visbos-core/ui/forms/abstract-visbos-control\";\r\nimport {DispatchList} from \"../../../shared/view-model/store-management/dispatch-list.type\";\r\nimport {appInjector} from \"../../../index\";\r\nimport {MedicineAuthFormComponent} from \"../../withdrawal/medicine-auth-form/medicine-auth-form.component\";\r\n\r\n@Component({\r\n selector: 'vb-new-dispatch',\r\n templateUrl: './new-dispatch.component.html',\r\n styleUrls: ['./new-dispatch.component.css'],\r\n providers: [{provide: AbstractVisbosControl, useExisting: forwardRef(() => NewDispatchComponent)}]\r\n})\r\nexport class NewDispatchComponent extends AbstractVisbosControl implements OnInit {\r\n\r\n @ViewChild(DispatchItemsTableComponent)\r\n dispatchItemsTblCmp: DispatchItemsTableComponent;\r\n\r\n hasItems: boolean = false;\r\n selectedDeliveryItems = [];\r\n\r\n dispatchItems: DispatchListItem[] = [];\r\n\r\n\r\n medicineAuthForm: FormGroup;\r\n\r\n constructor(fb: FormBuilder, cd: ChangeDetectorRef, sessionActions: SessionActions) {\r\n\r\n super(fb, cd, sessionActions);\r\n\r\n this.actions = [\r\n {\r\n label: \"Ware einlagern\",\r\n icon: \"fa-paper-plane\",\r\n action: () => this.sendDispatch.apply(this),\r\n disabled: () => !this.canSend.apply(this)\r\n }\r\n ]\r\n\r\n }\r\n\r\n ngOnInit() {\r\n super.ngOnInit();\r\n }\r\n\r\n buildControlContent(values?: DispatchList): FormGroup {\r\n return NewDispatchComponent.initControl(this.fb);\r\n }\r\n\r\n public static initControl(fb: FormBuilder = null): FormGroup {\r\n fb = fb ? fb : appInjector().get(FormBuilder);\r\n\r\n return fb.group({\r\n cuid: [null],\r\n source_administration_unit_id: [null, Validators.required],\r\n target_administration_unit_id: [null, Validators.required],\r\n dispatch_date: [null, Validators.required],\r\n packing_slip_number: [null],\r\n packer_name: [null],\r\n user_id: [null, Validators.required],\r\n dispatch_items: fb.array([], Validators.required)\r\n });\r\n }\r\n\r\n public setDefaultValues(item?: DispatchList): { [controlKey: string]: any } | any {\r\n\r\n let val = {\r\n cuid: this.setValue(item, 'cuid', AbstractVisbosControl.cuid()),\r\n source_administration_unit_id: this.setValue(item, 'source_administration_unit_id', this.activeAdminUnitCuid),\r\n target_administration_unit_id: this.setValue(item, 'target_administration_unit_id'),\r\n dispatch_date: this.setValue(item, 'dispatch_date', new Date().toISOString().slice(0, 10)),\r\n packing_slip_number: this.setValue(item, 'packing_slip_number'),\r\n packer_name: this.setValue(item, 'packer_name'),\r\n user_id: this.setValue(item, 'user.cuid', this.currentUser.cuid),\r\n };\r\n\r\n this.addDispatchItems(item, this.control.get('dispatch_items'));\r\n\r\n return val;\r\n\r\n }\r\n\r\n private canSend(): boolean {\r\n let authOk = !this.medicineAuthForm || (this.medicineAuthForm && this.medicineAuthForm.valid);\r\n return this.hasItems && authOk;\r\n }\r\n\r\n createMedicineAuthComponent() {\r\n this.medicineAuthForm = MedicineAuthFormComponent.initControl(this.fb);\r\n this.cd.detectChanges();\r\n }\r\n\r\n addDispatchItems(dispatchList: DispatchList, formArray: FormArray) {\r\n formArray.controls = [];\r\n let dispatchItems: DispatchListItem[] = dispatchList.dispatch_list_items;\r\n\r\n dispatchItems.forEach(item => {\r\n\r\n formArray.push(this.initDispatchItemControl(dispatchList, item));\r\n if (!this.medicineAuthForm && item.source_stocks && item.source_stocks.find(s => s.registration_required === true)) {\r\n this.createMedicineAuthComponent();\r\n }\r\n\r\n });\r\n\r\n this.dispatchItems = [...this.control.get('dispatch_items').value]\r\n\r\n }\r\n\r\n initDispatchItemControl(dispatchList?: DispatchList, dispatchItem?: DispatchListItem): FormGroup {\r\n\r\n return this.fb.group({\r\n cuid: [this.setValue(dispatchItem, 'cuid', AbstractVisbosControl.cuid())],\r\n article_number: [this.setValue(dispatchItem, 'article_number')],\r\n article_label: [this.setValue(dispatchItem, 'article_label'), Validators.required],\r\n packing_unit: [this.setValue(dispatchItem, 'packing_unit')],\r\n packing_content: [this.setValue(dispatchItem, 'packing_content'), Validators.required],\r\n amount: [this.setValue(dispatchItem, 'amount_in_pieces_open'), Validators.required],\r\n price: [this.setValue(dispatchItem, 'price')],\r\n product_packing_id: [this.setValue(dispatchItem, 'product_packing.cuid')],\r\n referenced_order_item_id: [this.setValue(dispatchItem, 'cuid')],\r\n stock_id: [null, Validators.required],\r\n product_batches_ids: this.fb.array([])\r\n });\r\n\r\n }\r\n\r\n sendDispatch() {\r\n let input = Object.assign({}, this.control.value);\r\n let medAuthData = this.medicineAuthForm ? this.medicineAuthForm.value : null;\r\n\r\n input.delivery_items = input.delivery_items.filter(item => this.selectedDeliveryItems.find(sel => sel === item.cuid));\r\n /*\r\n this.procurementService.createDelivery(this.order.cuid, input, medAuthData).toPromise()\r\n .then(res => {\r\n this.sessionActions.pushMessage(\"Lieferung erfolgreich angelegt und Waren eingelagert!\", MessageType.SUCCESS, \"Warenlieferung\");\r\n this.loc.back();\r\n })\r\n .catch(err => {\r\n this.err.handleUserError(err, \"Fehler beim Anlegen der Lieferung und Einlagern der Waren!\")\r\n });\r\n\r\n */\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/store-management/procurement/new-dispatch/new-dispatch.component.ts","module.exports = \"\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/store-management/procurement/new-order/new-order.component.css\n// module id = ./src/app/store-management/procurement/new-order/new-order.component.css\n// module chunks = main","module.exports = \"\\r\\n

Bestellung abschließen

\\r\\n\\r\\n \\r\\n \\r\\n  \\r\\n Bestellung absenden\\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n {{control.get('delivery_address_name').value}}  \\r\\n {{control.get('delivery_address_street').value}}  \\r\\n {{control.get('delivery_address_city').value}}  \\r\\n
\\r\\n\\r\\n
\\r\\n {{control.get('recipient_name').value}}
\\r\\n {{control.get('recipient_street').value}}
\\r\\n {{control.get('recipient_city').value}}
\\r\\n {{control.get('recipient_country').value}}\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n
Rechnungsadresse:
\\r\\n
\\r\\n {{control.get('billing_address_name').value}}
\\r\\n {{control.get('billing_address_street').value}}
\\r\\n {{control.get('billing_address_city').value}}
\\r\\n {{control.get('billing_address_country').value}}\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
Lieferadresse:
\\r\\n
\\r\\n {{control.get('delivery_address_name').value}}
\\r\\n {{control.get('delivery_address_street').value}}
\\r\\n {{control.get('delivery_address_city').value}}
\\r\\n {{control.get('delivery_address_country').value}}\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n

\\r\\n \\r\\n \\r\\n

\\r\\n\\r\\n

\\r\\n \\r\\n \\r\\n

\\r\\n\\r\\n

\\r\\n \\r\\n \\r\\n

\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n {{control?.get('order_title').value}}\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
#ArtNr.BezeichnerAnzahlEinheitEinzelpreisGesamtpreis
{{i+1}}{{ctrl.get('article_number').value}}{{ctrl.get('article_label').value}}{{ctrl.get('amount').value}}{{ctrl.get('packing_unit').value}}{{ctrl.get('price').value | currency:'EUR':true}}{{(ctrl.get('price').value * ctrl.get('amount').value) | currency:'EUR':true}}\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n Summe: {{total | currency:'EUR':true}}\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/store-management/procurement/new-order/new-order.component.html\n// module id = ./src/app/store-management/procurement/new-order/new-order.component.html\n// module chunks = main","import {\r\n ChangeDetectorRef,\r\n Component,\r\n ElementRef,\r\n forwardRef,\r\n OnDestroy,\r\n OnInit,\r\n TemplateRef,\r\n ViewChild\r\n} from \"@angular/core\";\r\nimport {AbstractVisbosControl} from \"../../../core/visbos-core/ui/forms/abstract-visbos-control\";\r\nimport {AbstractControl, FormArray, FormBuilder, FormGroup, Validators} from \"@angular/forms\";\r\nimport {ShoppingCart} from \"../../../shared/view-model/store-management/shopping-cart.type\";\r\nimport {appInjector} from \"../../../index\";\r\nimport {ActivatedRoute, Router} from \"@angular/router\";\r\nimport {ProcurementService, ShoppingCartResult} from \"../../services/procurement-service/procurement.service\";\r\nimport {ApolloQueryObservable} from \"apollo-angular\";\r\nimport {NgRedux} from \"@angular-redux/store\";\r\nimport {IAppState} from \"../../../shared/redux-store/store\";\r\nimport {ShoppingCartItem} from \"../../../shared/view-model/store-management/shopping-cart-item.type\";\r\nimport {GenericModalComponent} from \"../../../core/visbos-core/ui/forms/generic-modal/generic-modal.component\";\r\nimport {AddressFormComponent} from \"../../../core/visbos-core/ui/forms/address-form/address-form.component\";\r\n\r\nimport {vbConfig} from \"../../../configuration\";\r\nimport {SessionActions} from \"../../../shared/actions/session.actions\";\r\nimport {MessageType} from \"../../../shared/redux-store/session/session.types\";\r\nimport {Order} from \"../../../shared/view-model/store-management/order.type\";\r\nimport {Location} from \"@angular/common\";\r\nimport {map} from \"rxjs/operators\";\r\nimport {Observable} from \"rxjs/Observable\";\r\nimport {Subscription} from \"rxjs/Subscription\";\r\n\r\n@Component({\r\n selector: 'vb-new-order',\r\n templateUrl: './new-order.component.html',\r\n styleUrls: ['./new-order.component.css'],\r\n providers: [{provide: AbstractVisbosControl, useExisting: forwardRef(() => NewOrderComponent)}]\r\n})\r\nexport class NewOrderComponent extends AbstractVisbosControl implements OnInit, OnDestroy {\r\n\r\n @ViewChild('page')\r\n page: ElementRef;\r\n\r\n @ViewChild('buyButtonTmpl')\r\n buyButtonTmpl: TemplateRef;\r\n\r\n @ViewChild('addressModal')\r\n addressModal: GenericModalComponent;\r\n\r\n @ViewChild('addressForm')\r\n addressForm: AddressFormComponent;\r\n\r\n private cartCuid$: Observable;\r\n\r\n private shoppingCart$: ApolloQueryObservable;\r\n shoppingCart: ShoppingCart;\r\n private shoppingCartSub: Subscription;\r\n\r\n orderItemsCtrl: AbstractControl[];\r\n\r\n orderResult: Order;\r\n\r\n total: number = 0.0;\r\n\r\n constructor(fb: FormBuilder, cd: ChangeDetectorRef,\r\n private location: Location,\r\n private route: ActivatedRoute,\r\n private router: Router,\r\n private procurementService: ProcurementService,\r\n private ngRx: NgRedux,\r\n sessionActions: SessionActions) {\r\n super(fb, cd, sessionActions);\r\n\r\n }\r\n\r\n ngOnInit() {\r\n super.ngOnInit();\r\n\r\n this.actions = [\r\n {\r\n label: 'Bestellung abschließen',\r\n icon: 'fa-money-bill',\r\n action: () => this.placeOrder.apply(this),\r\n helpText: \"Bestellung abschließen und im System verbuchen\",\r\n //templateRef: this.buyButtonTmpl\r\n }\r\n ];\r\n\r\n this.orderItemsCtrl = (this.control.get('order_items') as FormArray).controls;\r\n this.total = 0.0;\r\n\r\n this.cartCuid$ = this.route.params.pipe(map(params => params.shoppingCartCuid));\r\n this.shoppingCart$ = this.procurementService.loadShoppingCart(null, null, this.cartCuid$);\r\n this.shoppingCartSub = this.shoppingCart$.subscribe(res => {\r\n this.shoppingCart = res.data.shoppingCart;\r\n this.item = this.shoppingCart;\r\n this.patchItemValues();\r\n });\r\n\r\n }\r\n\r\n\r\n placeOrder() {\r\n this.procurementService.placeNewOrder(this.shoppingCart.cuid, this.control.value).toPromise()\r\n .then((res: any) => {\r\n this.orderResult = res.data.placeOrder;\r\n this.sessionActions.pushMessage(\"Die Bestellung wurde im System gespeichert!\", MessageType.SUCCESS, \"Bestellvorgang\");\r\n this.router.navigate(['../../../bestellungen', this.orderResult.cuid], {relativeTo: this.route});\r\n })\r\n .catch(err => {\r\n this.sessionActions.pushMessage(\"Fehler beim Anlegen der Bestellung!\", MessageType.ERROR, \"Bestellvorgang\");\r\n });\r\n }\r\n\r\n buildControlContent(): FormGroup {\r\n return NewOrderComponent.initControl(this.fb);\r\n }\r\n\r\n public static initControl(fb: FormBuilder = null): FormGroup {\r\n fb = fb ? fb : appInjector().get(FormBuilder);\r\n\r\n return fb.group({\r\n cuid: [null],\r\n recipient_name: [null, Validators.required],\r\n recipient_street: [null],\r\n recipient_city: [null],\r\n recipient_country: [null],\r\n\r\n billing_address_name: [null, Validators.required],\r\n billing_address_street: [null, Validators.required],\r\n billing_address_city: [null, Validators.required],\r\n billing_address_country: [null],\r\n\r\n delivery_address_name: [null],\r\n delivery_address_street: [null],\r\n delivery_address_city: [null],\r\n delivery_address_country: [null],\r\n\r\n customer_number: [null],\r\n commission_number: [null],\r\n ordered_via: [null],\r\n order_data: [null],\r\n order_date: [null],\r\n\r\n contact_person: [null],\r\n contact_data: [null],\r\n\r\n order_title: [null],\r\n order_opening_text: [null],\r\n order_ending_text: [null],\r\n\r\n supplier_id: [null, Validators.required],\r\n administration_unit_id: [null, Validators.required],\r\n\r\n order_items: fb.array([], Validators.required),\r\n\r\n });\r\n }\r\n\r\n addressChangeType = 'billing_address';\r\n addressChangeTitle = \"Rechnungsadresse ändern\";\r\n\r\n changeAddress(type) {\r\n this.addressChangeType = type;\r\n\r\n if (type == 'billing_address') {\r\n this.addressChangeTitle = \"Rechnungsadresse ändern\";\r\n } else if (type == 'delivery_address') {\r\n this.addressChangeTitle = \"Lieferadresse ändern\";\r\n } else if (type == 'recipient') {\r\n this.addressChangeTitle = \"Empfängeradresse ändern\";\r\n }\r\n\r\n this.addressModal.show();\r\n\r\n }\r\n\r\n public setDefaultValues(item?: ShoppingCart): { [controlKey: string]: any } | any {\r\n\r\n if (!item) {\r\n return undefined;\r\n }\r\n\r\n let recipientCountry = this.setValue(item, 'supplier.address.city.country.name');\r\n let senderCountry = this.setValue(item, 'administration_unit.address.city.country.name');\r\n let billingCountry = this.setValue(item, 'administration_unit.billing_address.city.country.name');\r\n\r\n let contactUser = this.ngRx.getState().session.user;\r\n\r\n let relation = this.setValue(item, 'administration_unit.business_relations', []).find(rel => {\r\n return rel.relation_target.cuid == item.supplier.cuid;\r\n });\r\n\r\n this.addOrderItems(item.shopping_cart_items, this.control.get('order_items'));\r\n\r\n // Retrieve supplier address line, or let empty if no address if provided\r\n let recAddressLine = this.isValueSet(item, 'supplier.address.street') || this.isValueSet(item, 'supplier.address.number') ? this.setValue(item, 'supplier.address.street') + \" \" + this.setValue(item, 'supplier.address.number') : null;\r\n\r\n // Retrieve supplier city line, or let empty if no address if provided\r\n let recCityLine = this.isValueSet(item, 'supplier.address.city.zip') || this.isValueSet(item, 'supplier.address.city.town') ? this.setValue(item, 'supplier.address.city.zip') + \" \" + this.setValue(item, 'supplier.address.city.town') : null;\r\n\r\n let ret = {\r\n cuid: AbstractVisbosControl.cuid(),\r\n\r\n recipient_name: this.setValue(item, 'supplier.address_name'),\r\n recipient_street: recAddressLine,\r\n recipient_city: recCityLine,\r\n recipient_country: recipientCountry != senderCountry ? recipientCountry : null,\r\n\r\n billing_address_name: this.setValue(item, 'administration_unit.billing_address.address_name'),\r\n billing_address_street: this.setValue(item, 'administration_unit.billing_address.street') + \" \" + this.setValue(item, 'administration_unit.billing_address.number'),\r\n billing_address_city: this.setValue(item, 'administration_unit.billing_address.city.zip') + \" \" + this.setValue(item, 'administration_unit.billing_address.city.town'),\r\n billing_address_country: recipientCountry != billingCountry ? billingCountry : null,\r\n\r\n delivery_address_name: this.setValue(item, 'administration_unit.address_name'),\r\n delivery_address_street: this.setValue(item, 'administration_unit.address.street') + \" \" + this.setValue(item, 'administration_unit.address.number'),\r\n delivery_address_city: this.setValue(item, 'administration_unit.address.city.zip') + \" \" + this.setValue(item, 'administration_unit.address.city.town'),\r\n delivery_address_country: recipientCountry != senderCountry ? senderCountry : null,\r\n\r\n customer_number: this.setValue(relation, 'relation_type.customer_number'),\r\n commission_number: null,\r\n\r\n ordered_via: this.setValue(relation, 'relation_type.order_kind_label'),\r\n order_data: relation && relation.relation_type && relation.relation_type.order_kind_label == 'E-Mail' ? relation.relation_type.order_data.email : null,\r\n order_date: new Date().toISOString().slice(0, 10),\r\n\r\n contact_person: contactUser ? contactUser.form_of_address + \" \" + contactUser.pre_name + \" \" + contactUser.name : null,\r\n contact_data: contactUser ? contactUser.email : null,\r\n\r\n order_title: vbConfig.procurement.order.default_title + \" \" + this.setValue(item, 'administration_unit.address_name'),\r\n order_opening_text: vbConfig.procurement.order.default_opening,\r\n order_ending_text: vbConfig.procurement.order.default_ending,\r\n\r\n supplier_id: this.setValue(item, 'supplier.cuid'),\r\n administration_unit_id: this.setValue(item, 'administration_unit.cuid'),\r\n };\r\n\r\n if (ret.contact_person) {\r\n ret.order_ending_text = vbConfig.procurement.order.default_ending + \"

\" + ret.contact_person + \"

\"\r\n }\r\n\r\n return ret;\r\n };\r\n\r\n addOrderItems(items: ShoppingCartItem[], formArray: FormArray) {\r\n formArray.controls = [];\r\n items.forEach(item => {\r\n this.total += item.total_price;\r\n formArray.push(this.initOrderItemControl(item))\r\n })\r\n }\r\n\r\n initOrderItemControl(values?: ShoppingCartItem): FormGroup {\r\n\r\n let stockIDs = values && values.referenced_stocks ? values.referenced_stocks.map(st => st.cuid) : [];\r\n\r\n return this.fb.group({\r\n cuid: AbstractVisbosControl.cuid(),\r\n article_number: [this.setValue(values, 'article_number')],\r\n article_label: [this.setValue(values, 'article_label'), Validators.required],\r\n packing_unit: [this.setValue(values, 'packing_unit')],\r\n packing_content: [this.setValue(values, 'packing_content')],\r\n amount: [this.setValue(values, 'amount'), Validators.required],\r\n price: [this.setValue(values, 'price')],\r\n product_packing_id: [this.setValue(values, 'product_packing.cuid')],\r\n stock_item_id: [this.setValue(values, 'stock_item.cuid')],\r\n stock_ids: [stockIDs, Validators.required]\r\n });\r\n }\r\n\r\n ngOnDestroy(): void {\r\n if (this.shoppingCartSub) {\r\n this.shoppingCartSub.unsubscribe();\r\n }\r\n }\r\n\r\n orderPdfLink: string;\r\n\r\n generatePDF() {\r\n if (!this.orderResult) {\r\n return;\r\n }\r\n\r\n this.procurementService.generateOrderPDF(this.orderResult.cuid).toPromise()\r\n .then(res => {\r\n this.orderPdfLink = res.data.generateOrderPDF;\r\n window.open(this.orderPdfLink, '_blank', 'location=yes'); //TODO: Check mobile compatibility!\r\n });\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/store-management/procurement/new-order/new-order.component.ts","module.exports = \"\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/store-management/procurement/order-list-view/order-list-view.component.css\n// module id = ./src/app/store-management/procurement/order-list-view/order-list-view.component.css\n// module chunks = main","module.exports = \"\\r\\n\\r\\n

Bestellungen

\\r\\n\\r\\n
\\r\\n\\r\\n \\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n

Details

\\r\\n
\\r\\n
\\r\\n
\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/store-management/procurement/order-list-view/order-list-view.component.html\n// module id = ./src/app/store-management/procurement/order-list-view/order-list-view.component.html\n// module chunks = main","import {ChangeDetectorRef, Component, OnDestroy, OnInit, ViewChild} from \"@angular/core\";\r\nimport {AbstractListView} from \"../../../core/visbos-core/ui/components/abstract-list-view\";\r\nimport {FormBuilder} from \"@angular/forms\";\r\nimport {Order} from \"../../../shared/view-model/store-management/order.type\";\r\nimport {ApolloQueryObservable} from \"apollo-angular\";\r\nimport {OrdersResult, ProcurementService} from \"../../services/procurement-service/procurement.service\";\r\nimport {DatatableComponent} from \"../../../core/visbos-core/ui/components/datatable/datatable.component\";\r\nimport {ActivatedRoute, Router} from \"@angular/router\";\r\nimport {SessionActions} from \"../../../shared/actions/session.actions\";\r\nimport {MessageType} from \"../../../shared/redux-store/session\";\r\nimport {debounceTime, distinctUntilChanged} from \"rxjs/operators\";\r\nimport {UpdateOrderMutationVariables} from '../../../shared/graphql/graphql.types';\r\n\r\n@Component({\r\n selector: 'vb-order-list-view',\r\n templateUrl: './order-list-view.component.html',\r\n styleUrls: ['./order-list-view.component.css']\r\n})\r\nexport class OrderListViewComponent extends AbstractListView implements OnInit, OnDestroy {\r\n\r\n @ViewChild('datatable')\r\n datatable: DatatableComponent;\r\n\r\n messages = {\r\n emptyMessage: 'Keine Bestellungen vorhanden',\r\n totalMessage: 'Bestellungen insgesamt'\r\n };\r\n\r\n orders$: ApolloQueryObservable;\r\n orders: Order[];\r\n\r\n constructor(private fb: FormBuilder, private router: Router, private route: ActivatedRoute,\r\n private procurementService: ProcurementService,\r\n sessionActions: SessionActions, cd: ChangeDetectorRef) {\r\n\r\n super(sessionActions, cd);\r\n }\r\n\r\n onOrderRemoveClicked(order: Order) {\r\n this.procurementService.deleteOrder(order.cuid).toPromise()\r\n .then(res => this.sessionActions.pushMessage(\"Bestellung erfolgreich gelöscht\", MessageType.SUCCESS))\r\n .catch(err => this.sessionActions.throwError(err, \"Fehler beim Löschen der Bestellung!\"));\r\n }\r\n\r\n ngOnInit() {\r\n\r\n this.isLoading = true;\r\n this.searchTerm = this.fb.control(null);\r\n\r\n this.dataSubscriptions.push(\r\n this.searchTerm.valueChanges.pipe(\r\n distinctUntilChanged(),\r\n debounceTime(500)\r\n ).subscribe((term: any) => this.filterItems(term))\r\n );\r\n\r\n this.columns = [\r\n {prop: 'order_date', name: 'Datum', cellTemplate: this.datatable.formatDateTmpl, minWidth: 50, flexGrow: 1},\r\n {prop: 'commission_number', name: 'Kommissionsnr.', minWidth: 100, flexGrow: 2},\r\n {prop: 'supplier.label', name: 'Lieferant', minWidth: 100, flexGrow: 2},\r\n {prop: 'contact_person', name: 'Bestellt durch', minWidth: 100, flexGrow: 2},\r\n ];\r\n\r\n this.orders$ = this.procurementService.fetchOrders();\r\n this.dataSubscriptions.push(this.orders$.subscribe(res => {\r\n this.isLoading = res.loading;\r\n this.orders = res.data.orders;\r\n this.rows = this.orders;\r\n })\r\n );\r\n\r\n }\r\n\r\n onCellUpdate(row, res, index) {\r\n }\r\n\r\n onShowDetailsClicked(order: Order) {\r\n this.router.navigate([order.cuid], {relativeTo: this.route});\r\n }\r\n\r\n onMouseOverDetail(order: Order) {\r\n this.procurementService.prefetchOrder(order.cuid);\r\n }\r\n\r\n filterItems(searchTerm) {\r\n if (!searchTerm || searchTerm == \"\") {\r\n this.rows = this.orders;\r\n } else {\r\n if (this.orders) {\r\n this.rows = this.orders.filter((si: Order) => this.findStringInTable(si, this.columns, searchTerm));\r\n }\r\n }\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/store-management/procurement/order-list-view/order-list-view.component.ts","module.exports = \"\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/store-management/procurement/order-view/order-view.component.css\n// module id = ./src/app/store-management/procurement/order-view/order-view.component.css\n// module chunks = main","module.exports = \"\\r\\n\\r\\n

Bestellungs-Details

\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n {{order?.delivery_address_name}}  \\r\\n {{order?.delivery_address_street}}  \\r\\n {{order?.delivery_address_city}}  \\r\\n
\\r\\n\\r\\n
\\r\\n {{order?.recipient_name}}
\\r\\n {{order?.recipient_street}}
\\r\\n {{order?.recipient_city}}
\\r\\n {{order?.recipient_country}}\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n
Rechnungsadresse:
\\r\\n
\\r\\n {{order?.billing_address_name}}
\\r\\n {{order?.billing_address_street}}
\\r\\n {{order?.billing_address_city}}
\\r\\n {{order?.billing_address_country}}\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
Lieferadresse:
\\r\\n
\\r\\n {{order?.delivery_address_name}}
\\r\\n {{order?.delivery_address_street}}
\\r\\n {{order?.delivery_address_city}}
\\r\\n {{order?.delivery_address_country}}\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n

\\r\\n Ansprechpartner: {{order?.contact_person}}
\\r\\n E-Mail: {{order?.contact_data}}\\r\\n

\\r\\n\\r\\n

\\r\\n Kundennummer: {{order?.customer_number}}
\\r\\n Kommissionsnr.: {{order?.commission_number}}\\r\\n

\\r\\n\\r\\n

\\r\\n Bestellt per: {{order?.ordered_via}}
\\r\\n Bestelldatum: {{order?.order_date | date:'shortDate'}}\\r\\n

\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n {{order?.order_title}}\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
#ArtNr.BezeichnerAnzahlEinheitEinzelpreisGesamtpreis
{{i+1}}{{item.article_number}}{{item.article_label}}{{item.amount}}{{item.packing_unit}}{{item.price | currency:'EUR':true}}{{(item.total_price) | currency:'EUR':true}}\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n Summe: {{order?.total | currency:'EUR':true}}\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/store-management/procurement/order-view/order-view.component.html\n// module id = ./src/app/store-management/procurement/order-view/order-view.component.html\n// module chunks = main","import {ChangeDetectorRef, Component, Input, OnInit} from \"@angular/core\";\r\nimport {Order} from \"../../../shared/view-model/store-management/order.type\";\r\nimport {ActivatedRoute} from \"@angular/router\";\r\nimport {ProcurementService} from \"../../services/procurement-service/procurement.service\";\r\nimport {AbstractVisbosComponent} from \"../../../core/visbos-core/components/abstract-visbos.component\";\r\nimport {SessionActions} from \"../../../shared/actions/session.actions\";\r\nimport {ApolloQueryObservable} from \"apollo-angular\";\r\nimport {MessageType} from \"../../../shared/redux-store/session/session.types\";\r\nimport {FileService} from \"../../../core/visbos-core/http/file.service\";\r\n\r\n@Component({\r\n selector: 'vb-order-view',\r\n templateUrl: './order-view.component.html',\r\n styleUrls: ['./order-view.component.css']\r\n})\r\nexport class OrderViewComponent extends AbstractVisbosComponent implements OnInit {\r\n\r\n @Input()\r\n order: Order;\r\n\r\n orderPdfLink: string;\r\n\r\n private order$: ApolloQueryObservable;\r\n\r\n constructor(sessionActions: SessionActions, private route: ActivatedRoute,\r\n private procurementService: ProcurementService, private fileService: FileService, cd: ChangeDetectorRef) {\r\n super(sessionActions, cd);\r\n\r\n this.actions = [\r\n {\r\n label: 'PDF generieren',\r\n icon: 'fa-file-pdf',\r\n action: () => this.generatePDF.apply(this),\r\n helpText: \"PDF für den Bestellschein generieren\",\r\n }\r\n ];\r\n\r\n }\r\n\r\n ngOnInit() {\r\n\r\n this.orderPdfLink = null;\r\n\r\n this.dataSubscriptions.push(this.route.params.subscribe(params => {\r\n if (params.orderCuid) {\r\n this.loadOrder(params.orderCuid);\r\n }\r\n })\r\n );\r\n }\r\n\r\n private loadOrder(cuid: string) {\r\n\r\n if (!this.order$) {\r\n this.order$ = this.procurementService.loadOrder(cuid);\r\n } else {\r\n this.order$.setVariables({orderCuid: cuid});\r\n }\r\n\r\n this.dataSubscriptions.push(this.order$.subscribe(res => {\r\n this.order = res.data.order;\r\n }));\r\n }\r\n\r\n generatePDF() {\r\n\r\n if (!this.order) {\r\n return;\r\n }\r\n\r\n this.orderPdfLink = undefined;\r\n\r\n this.dataSubscriptions.push(\r\n this.procurementService.generateOrderPDF(this.order.cuid).subscribe(\r\n res => {\r\n //this.orderPdfLink = res.data.generateOrderPDF;\r\n let data = this.fileService.base64toBlob(res.data.generateOrderPDF, 'application/pdf', 512);\r\n this.fileService.saveAs(data, 'bestellung.pdf');\r\n }, err => {\r\n this.sessionActions.pushMessage(\"Fehler beim Generieren der PDF-Datei\", MessageType.ERROR, \"PDF-Erzeugung\");\r\n })\r\n );\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/store-management/procurement/order-view/order-view.component.ts","module.exports = \"\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/store-management/procurement/select-stock-for-storage/select-stock-for-storage.component.css\n// module id = ./src/app/store-management/procurement/select-stock-for-storage/select-stock-for-storage.component.css\n// module chunks = main","module.exports = \"\\r\\n\\r\\n\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/store-management/procurement/select-stock-for-storage/select-stock-for-storage.component.html\n// module id = ./src/app/store-management/procurement/select-stock-for-storage/select-stock-for-storage.component.html\n// module chunks = main","import {ChangeDetectorRef, Component, EventEmitter, Input, OnInit, Output} from \"@angular/core\";\r\nimport {SessionActions} from \"../../../shared/actions/session.actions\";\r\nimport {Stock} from \"../../../shared/view-model/stock\";\r\nimport {FormBuilder, FormControl, Validators} from \"@angular/forms\";\r\nimport {AbstractVisbosControl} from \"../../../core/visbos-core/ui/forms/abstract-visbos-control\";\r\n\r\n@Component({\r\n selector: 'vb-select-stock-for-storage',\r\n templateUrl: './select-stock-for-storage.component.html',\r\n styleUrls: ['./select-stock-for-storage.component.css']\r\n})\r\nexport class SelectStockForStorageComponent extends AbstractVisbosControl implements OnInit {\r\n\r\n @Input()\r\n itemLabelFunction: (item: Stock) => string = (item: Stock) => {\r\n return item.depot.label + (item.depot_yard ? \", \" + item.depot_yard.label : '') + (item.identities && item.identities[0] ? ' (EAN: ' + item.identities[0].ean + ')' : '');\r\n };\r\n\r\n @Input()\r\n stocks: Stock[];\r\n\r\n @Output()\r\n stockSelect: EventEmitter = new EventEmitter();\r\n\r\n\r\n constructor(fb: FormBuilder, cd: ChangeDetectorRef, sessionActions: SessionActions) {\r\n super(fb, cd, sessionActions);\r\n }\r\n\r\n ngOnInit() {\r\n super.ngOnInit();\r\n }\r\n\r\n public buildControlContent(values?: Stock, ...params: any[]): FormControl {\r\n return this.fb.control(null, Validators.required);\r\n }\r\n\r\n public setDefaultValues(item?: Stock): { [controlKey: string]: any } | any {\r\n return this.setValue(item, 'cuid');\r\n }\r\n\r\n onStockSelected(stock: Stock) {\r\n this.stockSelect.emit(stock);\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/store-management/procurement/select-stock-for-storage/select-stock-for-storage.component.ts","module.exports = \"\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/store-management/procurement/shopping-cart-items-table/shopping-cart-items-table.component.css\n// module id = ./src/app/store-management/procurement/shopping-cart-items-table/shopping-cart-items-table.component.css\n// module chunks = main","module.exports = \"\\r\\n\\r\\n\\r\\n\\r\\n \\r\\n \\r\\n\\r\\n\\r\\n\\r\\n \\r\\n {{value}}\\r\\n \\r\\n \\r\\n\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n

Warenkorbposition setzt sich zusammen für die folgenden Bestände:

\\r\\n
\\r\\n
{{stock.label}} aus Lager {{stock.depot.label}}
\\r\\n
\\r\\n
Aktueller Bestand:
\\r\\n
{{stock.act_stock}} Stk.
\\r\\n
Mindest-Bestand:
\\r\\n
{{stock.min_stock}} Stk.
\\r\\n
Melde-Bestand:
\\r\\n
{{stock.report_stock}} Stk.
\\r\\n
Soll-Bestand:
\\r\\n
{{stock.shall_stock}} Stk.
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/store-management/procurement/shopping-cart-items-table/shopping-cart-items-table.component.html\n// module id = ./src/app/store-management/procurement/shopping-cart-items-table/shopping-cart-items-table.component.html\n// module chunks = main","import {AfterViewInit, ChangeDetectorRef, Component, Input, OnInit, TemplateRef, ViewChild} from \"@angular/core\";\r\nimport {AbstractListView} from \"../../../core/visbos-core/ui/components/abstract-list-view\";\r\nimport {FormBuilder} from \"@angular/forms\";\r\nimport {DatatableComponent} from \"../../../core/visbos-core/ui/components/datatable/datatable.component\";\r\nimport {ProcurementService} from \"../../services/procurement-service/procurement.service\";\r\nimport {SessionActions} from \"../../../shared/actions/session.actions\";\r\nimport {MessageType} from \"../../../shared/redux-store/session/session.types\";\r\nimport {debounceTime, distinctUntilChanged} from \"rxjs/operators\";\r\n\r\n@Component({\r\n selector: 'vb-shopping-cart-items-table',\r\n templateUrl: './shopping-cart-items-table.component.html',\r\n styleUrls: ['./shopping-cart-items-table.component.css']\r\n})\r\nexport class ShoppingCartItemsTableComponent extends AbstractListView implements OnInit, AfterViewInit {\r\n\r\n @ViewChild('stockDetails')\r\n articleDetailsTmpl: TemplateRef;\r\n\r\n @ViewChild('editAmountTmpl')\r\n editAmountTmpl: TemplateRef;\r\n\r\n @ViewChild('stockCartItemsTable')\r\n table: DatatableComponent;\r\n\r\n editable: { [cuid: string]: boolean };\r\n\r\n messages = {\r\n emptyMessage: 'Keine Artikel im Warenkorb vorhanden',\r\n totalMessage: 'Artikel im Warenkorb insgesamt'\r\n };\r\n\r\n private _shoppingCartItems: any[] = [];\r\n\r\n get shoppingCartItems(): any[] {\r\n return this._shoppingCartItems;\r\n }\r\n\r\n @Input()\r\n set shoppingCartItems(value: any[]) {\r\n this._shoppingCartItems = value;\r\n this.rows = value;\r\n }\r\n\r\n constructor(private fb: FormBuilder, private procurementService: ProcurementService,\r\n sessionActions: SessionActions, cd: ChangeDetectorRef) {\r\n\r\n super(sessionActions, cd);\r\n\r\n }\r\n\r\n ngOnInit() {\r\n\r\n this.searchTerm = this.fb.control(null);\r\n\r\n this.dataSubscriptions.push(\r\n this.searchTerm.valueChanges.pipe(\r\n distinctUntilChanged(),\r\n debounceTime(500)\r\n ).subscribe((term: any) => this.filterItems(term))\r\n );\r\n\r\n this.columns = [\r\n {prop: 'article_number', name: 'Art.-Nr.', minWidth: 100, maxWidth: 150, flexGrow: 2},\r\n {prop: 'article_label', name: 'Bezeichner', minWidth: 250, flexGrow: 3},\r\n {prop: 'amount', name: 'Anzahl', cellTemplate: this.editAmountTmpl, minWidth: 60, maxWidth: 100, flexGrow: 1},\r\n {prop: 'packing_unit', name: 'Einheit', minWidth: 100, maxWidth: 150, flexGrow: 2},\r\n {\r\n prop: 'price',\r\n name: 'Einzelpreis',\r\n cellTemplate: this.table.formatCurrencyTmpl,\r\n minWidth: 60,\r\n maxWidth: 100,\r\n flexGrow: 1\r\n },\r\n {\r\n prop: 'total_price',\r\n name: 'Gesamtpreis',\r\n cellTemplate: this.table.formatCurrencyTmpl,\r\n minWidth: 60,\r\n maxWidth: 100,\r\n flexGrow: 1\r\n },\r\n /*\r\n {name: 'Bestände in Lagern', cellTemplate: this.stocksCell},*/\r\n ];\r\n\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n super.ngAfterViewInit();\r\n this.cd.detectChanges();\r\n\r\n // Hack for ordering\r\n let col = this.table.table._columns[0];\r\n this.table.table.onColumnResize({column: col, newValue: 50});\r\n\r\n this.cd.detectChanges();\r\n }\r\n\r\n filterItems(searchTerm) {\r\n if (!searchTerm || searchTerm == \"\") {\r\n this.rows = this.shoppingCartItems;\r\n } else {\r\n if (this.shoppingCartItems) {\r\n this.rows = this.shoppingCartItems.filter((si: any) => this.findStringInTable(si, this.columns, searchTerm));\r\n }\r\n }\r\n }\r\n\r\n onCellUpdate(row, res, index) {\r\n this.procurementService.updateShoppingCartItem(row.cuid, res, false).toPromise()\r\n .then(res => {\r\n\r\n })\r\n .catch(err => {\r\n this.sessionActions.pushMessage(\"Es ist ein Fehler beim Ändern des Warenkorbs aufgetreten!\", MessageType.ERROR, \"Warenkorb\", true);\r\n });\r\n }\r\n\r\n onItemRemove(item) {\r\n this.procurementService.removeShoppingCartItem(item.cuid).toPromise()\r\n .then(res => {\r\n console.info(\"Gelöscht\");\r\n })\r\n .catch(err => {\r\n console.error(\"Fehler beim Löschen\");\r\n });\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/store-management/procurement/shopping-cart-items-table/shopping-cart-items-table.component.ts","module.exports = \"\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/store-management/procurement/shopping-carts-view/shopping-carts-view.component.css\n// module id = ./src/app/store-management/procurement/shopping-carts-view/shopping-carts-view.component.css\n// module chunks = main","module.exports = \"\\r\\n\\r\\n

Warenkörbe\\r\\n (gruppiert nach Lieferanten)\\r\\n

\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n

{{cart.label}}

\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n {{cart.created_at | date:'short'}}\\r\\n
\\r\\n
\\r\\n {{cart.updated_at | date:'short'}}\\r\\n
\\r\\n
\\r\\n {{cart.total | currency:'EUR':'symbol'}}\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Warenkorb angelegt\\r\\n
\\r\\n
\\r\\n Warenkorb zuletzt bearbeitet\\r\\n
\\r\\n
\\r\\n Warenkorb Gesamtsumme\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n \\r\\n  Ablaufende Artikel hinzufügen\\r\\n \\r\\n\\r\\n 0\\\"\\r\\n buttonClass=\\\"btn-primary\\\"\\r\\n [confirm]=\\\"false\\\"\\r\\n [disabled]=\\\"cart.supplier?.is_administration_unit != null\\\"\\r\\n disabledText=\\\"Warenkörbe für ein Zentrallager werden automatisch in der Bedarfsanzeige des Zentrallagers aufgelistet und können nicht aktiv bestellt werden.\\\"\\r\\n size=\\\"btn-sm\\\"\\r\\n confirmTitle=\\\"Warenkorb bestellen?\\\"\\r\\n confirmQuestion=\\\"Soll eine Bestellung für den Warenkorb angelegt werden?\\\"\\r\\n (buttonClicked)=\\\"onPlaceOrderClicked(cart.cuid)\\\">\\r\\n  Warenkorb bestellen\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n Keine ablaufenden Artikel...\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/store-management/procurement/shopping-carts-view/shopping-carts-view.component.html\n// module id = ./src/app/store-management/procurement/shopping-carts-view/shopping-carts-view.component.html\n// module chunks = main","import {ChangeDetectorRef, Component, OnInit, ViewChild} from \"@angular/core\";\r\nimport {ProcurementService, ShoppingCartListResult} from \"../../services/procurement-service/procurement.service\";\r\nimport {ApolloQueryObservable} from \"apollo-angular\";\r\nimport {AbstractVisbosComponent} from \"../../../core/visbos-core/components/abstract-visbos.component\";\r\nimport {SessionActions} from \"../../../shared/actions/session.actions\";\r\nimport {STORE_ORDER_LIMIT} from \"../../../configuration\";\r\nimport {ActivatedRoute, Router} from \"@angular/router\";\r\nimport {StockService} from \"../../services/stock.service\";\r\nimport {ShoppingCart} from \"../../../shared/view-model/store-management/shopping-cart.type\";\r\nimport {Stock} from \"../../../shared/view-model/stock\";\r\nimport {GenericModalComponent} from \"../../../core/visbos-core/ui/forms/generic-modal/generic-modal.component\";\r\nimport {FetchExpiringStocksQuery} from \"../../../shared/graphql/graphql.types\";\r\nimport {FormBuilder, FormGroup} from \"@angular/forms\";\r\nimport {AddStocksToCartComponent} from \"../components/add-stocks-to-cart/add-stocks-to-cart.component\";\r\nimport {tap} from 'rxjs/operators';\r\n\r\n@Component({\r\n selector: 'vb-shopping-carts-view',\r\n templateUrl: './shopping-carts-view.component.html',\r\n styleUrls: ['./shopping-carts-view.component.css']\r\n})\r\nexport class ShoppingCartsViewComponent extends AbstractVisbosComponent implements OnInit {\r\n\r\n private shoppingCarts$: ApolloQueryObservable;\r\n shoppingCarts = [];\r\n\r\n private expiringStocks$: ApolloQueryObservable;\r\n currentExpiringStocks: Stock[];\r\n currentShoppingCart: ShoppingCart;\r\n newShoppingCartItems: FormGroup;\r\n\r\n @ViewChild('addStocksModal')\r\n addStocksModal: GenericModalComponent;\r\n\r\n\r\n constructor(sessionActions: SessionActions, private procurementService: ProcurementService, private fb: FormBuilder,\r\n private stockService: StockService,\r\n private router: Router, private route: ActivatedRoute, cd: ChangeDetectorRef) {\r\n super(sessionActions, cd);\r\n\r\n this.actions = [\r\n {\r\n label: 'Warenkörbe auf Auto-Werte zurücksetzen',\r\n icon: 'fa-undo',\r\n action: () => this.resetShoppingCarts.apply(this)\r\n }\r\n ];\r\n\r\n }\r\n\r\n ngOnInit() {\r\n super.ngOnInit();\r\n this.sessionActions.initAsyncAction('Erzeuge Bestellvorschläge...')\r\n this.shoppingCarts$ = this.procurementService.loadShoppingCarts();\r\n this.addComponentData(this.shoppingCarts$);\r\n\r\n this.dataSubscriptions.push(\r\n this.shoppingCarts$\r\n .pipe(\r\n tap(res => {\r\n if (res.loading) {\r\n this.sessionActions.initAsyncAction('Erzeuge Bestellvorschläge...');\r\n } else {\r\n this.sessionActions.finishAsyncAction('Erzeuge Bestellvorschläge...');\r\n }\r\n })\r\n ).subscribe(res => {\r\n this.shoppingCarts = res.data.shoppingCarts;\r\n })\r\n );\r\n\r\n }\r\n\r\n formatSumWarning(sum: number) {\r\n if (!STORE_ORDER_LIMIT) {\r\n return {};\r\n }\r\n\r\n return {\r\n 'text-warning': sum >= STORE_ORDER_LIMIT\r\n };\r\n\r\n }\r\n\r\n resetShoppingCarts(shoppingCartCuid?: string) {\r\n this.procurementService.resetShoppingCart().toPromise()\r\n .catch(err => this.sessionActions.throwError(err, \"Fehler beim Zurücksetzen!\"));\r\n }\r\n\r\n onPlaceOrderClicked(cuid: string) {\r\n this.router.navigate([cuid, 'bestellung'], {relativeTo: this.route});\r\n }\r\n\r\n onAddExpiringStocksClicked(shoppingCartCuid: string) {\r\n\r\n const shoppingCart = this.shoppingCarts.find(c => c.cuid === shoppingCartCuid);\r\n this.newShoppingCartItems = AddStocksToCartComponent.initAddStockFormGroup(this.fb, shoppingCart);\r\n this.currentExpiringStocks = null;\r\n this.currentShoppingCart = null;\r\n\r\n if (!this.expiringStocks$) {\r\n this.expiringStocks$ = this.stockService.fetchExpiringStocks(null, null, null, shoppingCart.supplier.cuid);\r\n this.addSubscription(this.expiringStocks$.subscribe(\r\n res => {\r\n const shoppingCart = this.shoppingCarts.find(c => c.cuid === shoppingCartCuid);\r\n this.currentExpiringStocks = res.data.expiringStocks;\r\n this.currentShoppingCart = shoppingCart;\r\n\r\n // Filter out items thar allready are in the shopping cart\r\n this.currentExpiringStocks = this.currentExpiringStocks.filter(ex => {\r\n const f = this.currentShoppingCart.shopping_cart_items.find(i => i.stock_item.cuid === ex.stock_item.cuid);\r\n return f == null;\r\n });\r\n\r\n }\r\n ));\r\n } else {\r\n this.expiringStocks$.refetch({\r\n supplierCuid: shoppingCart.supplier.cuid\r\n });\r\n }\r\n\r\n this.addStocksModal.show();\r\n }\r\n\r\n isAddCartItemsFormValid(): boolean {\r\n return this.newShoppingCartItems && this.newShoppingCartItems.valid;\r\n }\r\n\r\n addExpiringStocks() {\r\n\r\n const input = this.newShoppingCartItems.value;\r\n this.procurementService.createShoppingCartItems(input.shopping_cart_cuid, input.shopping_cart_item_input).toPromise()\r\n .then(res => {\r\n this.newShoppingCartItems = null;\r\n this.currentExpiringStocks = null;\r\n this.currentShoppingCart = null;\r\n })\r\n .catch(err => {\r\n this.sessionActions.throwError(err, 'Fehler beim Hinzufügen ablaufender Bestände...', 'Warenkorb');\r\n });\r\n\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/store-management/procurement/shopping-carts-view/shopping-carts-view.component.ts","module.exports = \"\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/store-management/procurement/shopping-carts/shopping-carts.component.css\n// module id = ./src/app/store-management/procurement/shopping-carts/shopping-carts.component.css\n// module chunks = main","module.exports = \"

\\r\\n shopping-carts works!\\r\\n

\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/store-management/procurement/shopping-carts/shopping-carts.component.html\n// module id = ./src/app/store-management/procurement/shopping-carts/shopping-carts.component.html\n// module chunks = main","import {Component, OnInit} from \"@angular/core\";\r\n\r\n@Component({\r\n selector: 'vb-shopping-carts',\r\n templateUrl: './shopping-carts.component.html',\r\n styleUrls: ['./shopping-carts.component.css']\r\n})\r\nexport class ShoppingCartsComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/store-management/procurement/shopping-carts/shopping-carts.component.ts","module.exports = \"\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/store-management/procurement/sub-admin-unit-needs-items/sub-admin-unit-needs-items.component.css\n// module id = ./src/app/store-management/procurement/sub-admin-unit-needs-items/sub-admin-unit-needs-items.component.css\n// module chunks = main","module.exports = \"\\r\\n\\r\\n\\r\\n\\r\\n \\r\\n\\r\\n\\r\\n\\r\\n {{dispatchListItem.amount}} Stk.\\r\\n\\r\\n\\r\\n\\r\\n
\\r\\n {{getDispatchItemGroup(dispatchListItem)?.get('packing_content')?.value > 1 ? getDispatchItemGroup(dispatchListItem)?.get('packing_unit')?.value + ' a ' + getDispatchItemGroup(dispatchListItem)?.get('packing_content')?.value + ' Stk.' : 'Stk.'}}\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n

Details aufzufüllender Bestand

\\r\\n
\\r\\n
Bestand \\\"{{trgt.label}}\\\"
\\r\\n
\\r\\n
Verwaltungseinheit
\\r\\n
{{trgt.depot?.administration_unit?.label}}
\\r\\n
Lager
\\r\\n
{{trgt.depot?.label}}
\\r\\n
Lagerplatz
\\r\\n
{{trgt.depot_yard?.label}}
\\r\\n
Mindestbestand
\\r\\n
{{trgt.min_stock}}
\\r\\n
Meldebestand
\\r\\n
{{trgt.report_stock}}
\\r\\n
Sollbestand
\\r\\n
{{trgt.shall_stock}}
\\r\\n
Aktueller Bestand
\\r\\n
{{trgt.act_stock}}
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n

Details Quell-Bestände

\\r\\n
\\r\\n
{{src.label}}
\\r\\n
\\r\\n
Verwaltungseinheit
\\r\\n
{{src.depot?.administration_unit?.label}}
\\r\\n
Lager
\\r\\n
{{src.depot?.label}}
\\r\\n
Lagerplatz
\\r\\n
{{src.depot_yard?.label}}
\\r\\n
Mindestbestand
\\r\\n
{{src.min_stock}}
\\r\\n
Meldebestand
\\r\\n
{{src.report_stock}}
\\r\\n
Sollbestand
\\r\\n
{{src.shall_stock}}
\\r\\n
Aktueller Bestand
\\r\\n
{{src.act_stock}}
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n {{dispatchListItem.target_stocks[0]?.depot?.label}}
\\r\\n {{dispatchListItem.target_stocks[0]?.depot_yard?.label}}\\r\\n
\\r\\n
1\\\" class=\\\"form-group-sm\\\">\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n Kein Bestand vorhanden\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n {{dispatchListItem.source_stocks[0]?.depot?.label}}
\\r\\n {{dispatchListItem.source_stocks[0]?.depot_yard?.label}}\\r\\n
\\r\\n
1\\\" class=\\\"form-group-sm\\\">\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n Kein Bestand vorhanden\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n\\r\\n\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/store-management/procurement/sub-admin-unit-needs-items/sub-admin-unit-needs-items.component.html\n// module id = ./src/app/store-management/procurement/sub-admin-unit-needs-items/sub-admin-unit-needs-items.component.html\n// module chunks = main","import {AfterViewInit, ChangeDetectorRef, Component, Input, OnInit, TemplateRef, ViewChild} from \"@angular/core\";\r\nimport {AbstractListView} from \"../../../core/visbos-core/ui/components/abstract-list-view\";\r\nimport {FormArray, FormBuilder, FormControl, FormGroup} from \"@angular/forms\";\r\nimport {DatatableComponent} from \"../../../core/visbos-core/ui/components/datatable/datatable.component\";\r\nimport {ProcurementService} from \"../../services/procurement-service/procurement.service\";\r\nimport {SessionActions} from \"../../../shared/actions/session.actions\";\r\nimport {DispatchListItem} from \"../../../shared/view-model/store-management/dispatch-list-item.type\";\r\nimport {Stock} from \"../../../shared/view-model/stock\";\r\nimport {debounceTime, distinctUntilChanged} from \"rxjs/operators\";\r\nimport {AbstractVisbosControl} from \"../../../core/visbos-core/ui/forms/abstract-visbos-control\";\r\nimport {Packing} from \"../../../shared/view-model/store-management/packing.type\";\r\nimport {GenericModalComponent} from \"../../../core/visbos-core/ui/forms/generic-modal/generic-modal.component\";\r\nimport {StockItemService} from \"../../services/stock-item-service/stock-item.service\";\r\nimport {Subscription} from \"rxjs/Subscription\";\r\n\r\n@Component({\r\n selector: 'vb-sub-admin-unit-needs-items',\r\n templateUrl: './sub-admin-unit-needs-items.component.html',\r\n styleUrls: ['./sub-admin-unit-needs-items.component.css']\r\n})\r\nexport class SubAdminUnitNeedsItemsComponent extends AbstractListView implements OnInit, AfterViewInit {\r\n\r\n stockLabelFunction: (item: Stock) => string = (item: Stock) => {\r\n\r\n if (!item) {\r\n return \"\";\r\n }\r\n\r\n let depotYard = item.depot_yard ? \" (\" + item.depot_yard.label + \")\" : \"\";\r\n return item.depot.label + depotYard + \", \" + item.depot.administration_unit.label;\r\n };\r\n\r\n @Input()\r\n control: FormArray;\r\n\r\n @Input()\r\n touchMode: boolean = false;\r\n\r\n @ViewChild('details')\r\n details: TemplateRef;\r\n\r\n @ViewChild('editAmountTmpl')\r\n editAmountTmpl: TemplateRef;\r\n\r\n @ViewChild('orderAmountTmpl')\r\n orderAmountTmpl: TemplateRef;\r\n\r\n @ViewChild('targetStockTmpl')\r\n targetStockTmpl: TemplateRef;\r\n\r\n @ViewChild('sourceStockTmpl')\r\n sourceStockTmpl: TemplateRef;\r\n\r\n @ViewChild('packingUnitTmpl')\r\n packingUnitTmpl: TemplateRef;\r\n\r\n @ViewChild('dispatchItemsTable')\r\n table: DatatableComponent;\r\n\r\n showDeliveredItems: boolean = false;\r\n\r\n messages = {\r\n emptyMessage: 'Keine Artikel benötigt',\r\n totalMessage: 'Artikel insgesamt benötigt'\r\n };\r\n\r\n private _dispatchItems: DispatchListItem[] = [];\r\n\r\n get dispatchItems(): any[] {\r\n return this._dispatchItems || [];\r\n }\r\n\r\n @Input()\r\n set dispatchItems(value: any[]) {\r\n this._dispatchItems = value;\r\n this.rows = value;\r\n }\r\n\r\n constructor(private fb: FormBuilder,\r\n private procurementService: ProcurementService,\r\n private stockItemService: StockItemService,\r\n sessionActions: SessionActions, cd: ChangeDetectorRef) {\r\n\r\n super(sessionActions, cd);\r\n this.control = this.fb.array([]);\r\n\r\n }\r\n\r\n ngOnInit() {\r\n super.ngOnInit();\r\n\r\n this.searchTerm = this.fb.control(null);\r\n\r\n this.dataSubscriptions.push(\r\n this.searchTerm.valueChanges.pipe(\r\n distinctUntilChanged(),\r\n debounceTime(500)\r\n ).subscribe((term: any) => this.filterItems(term))\r\n );\r\n\r\n this.columns = [\r\n {prop: 'label', name: 'Bezeichner', minWidth: 250, flexGrow: 4},\r\n {name: 'Benötigt', cellTemplate: this.orderAmountTmpl, minWidth: 50, maxWidth: 100, flexGrow: 1, sortable: false},\r\n {\r\n name: 'Liefermenge',\r\n cellTemplate: this.editAmountTmpl,\r\n minWidth: 50,\r\n maxWidth: 100,\r\n flexGrow: 1,\r\n sortable: false\r\n },\r\n {name: 'Einheit', cellTemplate: this.packingUnitTmpl, minWidth: 100, maxWidth: 150, flexGrow: 2, sortable: false},\r\n {name: 'Entnehmen aus', cellTemplate: this.sourceStockTmpl, minWidth: 100, maxWidth: 200, flexGrow: 2},\r\n {name: 'Einlagern in', cellTemplate: this.targetStockTmpl, minWidth: 100, maxWidth: 200, flexGrow: 2}\r\n ];\r\n\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n super.ngAfterViewInit();\r\n }\r\n\r\n filterItems(searchTerm) {\r\n if (!searchTerm || searchTerm == \"\") {\r\n this.rows = this.dispatchItems;\r\n } else {\r\n if (this.dispatchItems) {\r\n this.rows = this.dispatchItems.filter((si: any) => this.findStringInTable(si, this.columns, searchTerm));\r\n }\r\n }\r\n }\r\n\r\n getDispatchItemGroup(dispatchListItem: DispatchListItem): FormGroup {\r\n return AbstractVisbosControl.getFormGroupById(this.control, dispatchListItem.stock_item.cuid, 'stock_item_id');\r\n }\r\n\r\n\r\n @ViewChild('packingModal')\r\n packingModal: GenericModalComponent;\r\n\r\n packings: Packing[] = [];\r\n packingForm: FormControl;\r\n editedItem: DispatchListItem;\r\n packingsSub: Subscription;\r\n\r\n editProductPacking(dispatchListItem: DispatchListItem) {\r\n\r\n const stockItem = dispatchListItem.stock_item;\r\n\r\n this.packingForm = this.fb.control(dispatchListItem.product_packing ? dispatchListItem.product_packing.cuid : null);\r\n this.editedItem = dispatchListItem;\r\n\r\n this.packingsSub = this.stockItemService.getProductPackingsForStockItem(stockItem.cuid).subscribe(res => {\r\n this.packings = res.data.productPackings;\r\n });\r\n this.addSubscription(this.packingsSub);\r\n\r\n this.packingModal.show();\r\n\r\n }\r\n\r\n saveProductPacking() {\r\n\r\n const packing: Packing = this.packingForm.value ? this.packings.find(p => p.cuid == this.packingForm.value) : null;\r\n\r\n if (packing) {\r\n const amount = Math.ceil(this.editedItem.amount / packing.packing_amount);\r\n const data = {\r\n amount: amount,\r\n product_packing_id: packing.cuid,\r\n packing_unit: packing.packing_unit ? packing.packing_unit.packing_unit_name : null,\r\n packing_content: packing.packing_amount ? packing.packing_amount : 1,\r\n price: packing.packing_price\r\n };\r\n\r\n this.getDispatchItemGroup(this.editedItem).patchValue(data);\r\n }\r\n\r\n this.editedItem = null;\r\n this.packingForm = null;\r\n this.packings = [];\r\n this.packingsSub = null;\r\n this.cd.detectChanges();\r\n\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/store-management/procurement/sub-admin-unit-needs-items/sub-admin-unit-needs-items.component.ts","module.exports = \"\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/store-management/procurement/sub-admin-unit-needs/sub-admin-unit-needs.component.css\n// module id = ./src/app/store-management/procurement/sub-admin-unit-needs/sub-admin-unit-needs.component.css\n// module chunks = main","module.exports = \"
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n

Allgemeine Angaben zum Auffüllen

\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n

Bedarf des Lagers\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{activeDepot.label}}\\r\\n {{activeDepot.label + ' (' + activeDepot.administration_unit.label + ')'}}\\r\\n \\r\\n \\r\\n

\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/store-management/procurement/sub-admin-unit-needs/sub-admin-unit-needs.component.html\n// module id = ./src/app/store-management/procurement/sub-admin-unit-needs/sub-admin-unit-needs.component.html\n// module chunks = main","import {ChangeDetectorRef, Component, forwardRef, Input, OnInit, ViewChild} from \"@angular/core\";\r\nimport {SessionActions} from \"../../../shared/actions/session.actions\";\r\nimport {ApolloQueryObservable} from \"apollo-angular\";\r\nimport {ProcurementService} from \"../../services/procurement-service/procurement.service\";\r\nimport {DispatchList} from \"../../../shared/view-model/store-management/dispatch-list.type\";\r\nimport {FormArray, FormBuilder, FormControl, FormGroup, Validators} from \"@angular/forms\";\r\nimport {appInjector} from \"../../../index\";\r\nimport {AbstractVisbosControl} from \"../../../core/visbos-core/ui/forms/abstract-visbos-control\";\r\nimport {DispatchListItem} from \"../../../shared/view-model/store-management/dispatch-list-item.type\";\r\nimport {NgRedux} from \"@angular-redux/store\";\r\nimport {IAppState} from \"../../../shared/redux-store/store\";\r\nimport {SubAdminUnitNeedsItemsComponent} from \"../sub-admin-unit-needs-items/sub-admin-unit-needs-items.component\";\r\nimport {ActivatedRoute} from \"@angular/router\";\r\nimport {Subject} from \"rxjs/Subject\";\r\nimport {Depot} from \"../../../shared/view-model/store-management/depot.type\";\r\nimport {DepotService, FetchDepotsResult} from \"../../services/depot-service/depot.service\";\r\nimport {isUndefined} from \"util\";\r\nimport {MedicineAuthFormComponent} from \"../../withdrawal/medicine-auth-form/medicine-auth-form.component\";\r\nimport {FileService} from \"../../../core/visbos-core/http/file.service\";\r\nimport {Location} from \"@angular/common\";\r\nimport {ApolloQueryResult} from \"apollo-client\";\r\nimport {FillUpDepotMutation} from \"../../../shared/graphql/graphql.types\";\r\nimport {BehaviorSubject} from \"rxjs/BehaviorSubject\";\r\nimport {filter, map} from \"rxjs/operators\";\r\nimport {Stock} from '../../../shared/view-model/stock';\r\nimport {StockService} from '../../services/stock.service';\r\nimport * as _ from 'lodash';\r\n\r\n@Component({\r\n selector: 'vb-sub-admin-unit-needs',\r\n templateUrl: './sub-admin-unit-needs.component.html',\r\n styleUrls: ['./sub-admin-unit-needs.component.css'],\r\n providers: [{provide: AbstractVisbosControl, useExisting: forwardRef(() => SubAdminUnitNeedsComponent)}]\r\n})\r\nexport class SubAdminUnitNeedsComponent extends AbstractVisbosControl implements OnInit {\r\n\r\n @ViewChild(SubAdminUnitNeedsItemsComponent)\r\n dispatchItemsCmp: SubAdminUnitNeedsItemsComponent;\r\n\r\n @Input()\r\n activeDepotCuid: string;\r\n\r\n @Input()\r\n showDepotSelection: boolean = true;\r\n\r\n @Input()\r\n showPrintVouchersCheckBox: boolean = true;\r\n\r\n @Input()\r\n showSrcSelection: boolean = true;\r\n\r\n private dispatchList$: ApolloQueryObservable;\r\n dispatchList: DispatchList;\r\n\r\n private activeDepotCuid$: Subject = new Subject();\r\n private activeDepot$: ApolloQueryObservable;\r\n activeDepot: Depot;\r\n\r\n managedDepots: Depot[];\r\n\r\n selectedItems = [];\r\n\r\n medicineAuthForm: FormGroup;\r\n generateVouchersCtrl: FormControl;\r\n\r\n srcAdminUnitCuid$: BehaviorSubject = new BehaviorSubject(null);\r\n\r\n searchResultColumns = [\r\n {name: 'Bezeichner', prop: 'label'},\r\n {name: 'Lager', prop: 'depot.label'},\r\n {name: 'Lagerplatz', prop: 'depot_yard.label'},\r\n ];\r\n\r\n searchFunction = (term) => this.stockService.searchStocksWithRelated(term, this.activeDepot ? this.activeDepot.cuid : null)\r\n .pipe(map(({stocks}) => {\r\n let st = [...stocks];\r\n return st.sort((st1: Stock, st2: Stock) => st1.label.localeCompare(st2.label));\r\n }));\r\n\r\n constructor(fb: FormBuilder, cd: ChangeDetectorRef, sessionActions: SessionActions,\r\n private fileService: FileService,\r\n private route: ActivatedRoute,\r\n private loc: Location,\r\n private depotService: DepotService,\r\n private procurementService: ProcurementService,\r\n private stockService: StockService,\r\n private ngRx: NgRedux) {\r\n super(fb, cd, sessionActions);\r\n\r\n }\r\n\r\n ngOnInit() {\r\n super.ngOnInit();\r\n\r\n this.generateVouchersCtrl = this.fb.control(false);\r\n\r\n if (!this.showSrcSelection) {\r\n this.srcAdminUnitCuid$.next(this.activeAdminUnitCuid);\r\n }\r\n\r\n this.activeDepot$ = this.depotService.getDepot(this.activeDepotCuid$);\r\n this.addComponentData(this.activeDepot$);\r\n this.addSubscription(this.activeDepot$.subscribe(res => {\r\n this.activeDepot = res.data.fetchDepots[0];\r\n }));\r\n\r\n this.dispatchList$ = this.procurementService.getDispatchListForDepot(\r\n this.activeDepotCuid$,\r\n this.srcAdminUnitCuid$.pipe(filter(i => i !== null))\r\n );\r\n this.addComponentData(this.dispatchList$);\r\n this.dataSubscriptions.push(\r\n this.dispatchList$.subscribe(res => {\r\n this.dispatchList = _.cloneDeep(res.data.dispatchListForDepot);\r\n this.setDefaultValues(this.dispatchList);\r\n })\r\n );\r\n\r\n this.addSubscription(this.route.params.subscribe(params => {\r\n if (params.depotCuid) {\r\n this.activeDepotCuid$.next(params.depotCuid);\r\n this.showDepotSelection = false;\r\n }\r\n })\r\n );\r\n\r\n if (this.activeDepotCuid) {\r\n this.activeDepotCuid$.next(this.activeDepotCuid);\r\n this.showDepotSelection = false;\r\n }\r\n\r\n }\r\n\r\n onDepotSelected(depot: Depot) {\r\n this.activeDepotCuid$.next(depot.cuid);\r\n }\r\n\r\n buildControlContent(values?: DispatchList): FormGroup {\r\n return SubAdminUnitNeedsComponent.initControl(this.fb);\r\n }\r\n\r\n public static initControl(fb: FormBuilder = null): FormGroup {\r\n fb = fb ? fb : appInjector().get(FormBuilder);\r\n\r\n return fb.group({\r\n cuid: [null],\r\n fill_up_date: [null, Validators.required],\r\n user_id: [null],\r\n supplier_administration_unit_id: [null, Validators.required],\r\n recipient_administration_unit_id: [null, Validators.required],\r\n fill_up_items: fb.array([], Validators.required)\r\n });\r\n }\r\n\r\n public setDefaultValues(item?: DispatchList): { [controlKey: string]: any } | any {\r\n\r\n if (!item) {\r\n return undefined;\r\n }\r\n\r\n let val = {\r\n cuid: AbstractVisbosControl.cuid(),\r\n fill_up_date: new Date().toISOString().slice(0, 10),\r\n supplier_administration_unit_id: this.srcAdminUnitCuid$.getValue() || this.ngRx.getState().session.activeAdminUnit,\r\n recipient_administration_unit_id: this.activeDepot ? this.activeDepot.administration_unit.cuid : null,\r\n user_id: this.ngRx.getState().session.user.cuid\r\n };\r\n\r\n if (!isUndefined(val)) {\r\n this.control.patchValue(val);\r\n }\r\n\r\n this.addDispatchItems(item, this.control.get('fill_up_items'));\r\n\r\n return val;\r\n\r\n }\r\n\r\n addDispatchItems(dispatchList: DispatchList, formArray: FormArray) {\r\n formArray.controls = [];\r\n let orderItems: DispatchListItem[] = dispatchList.dispatch_list_items;\r\n\r\n orderItems.forEach(item => {\r\n formArray.push(this.initDispatchItemControl(dispatchList, item))\r\n });\r\n }\r\n\r\n addDispatchItemForStock(stock: Stock, formArray: FormArray) {\r\n // Create displatch list item from stock\r\n const item: DispatchListItem = {\r\n cuid: AbstractVisbosControl.cuid(),\r\n label: stock.label,\r\n article_number: this.setValue(stock, 'stock_item.default_packing.article_number'),\r\n article_label: this.setValue(stock, 'stock_item.label'),\r\n product_packing: this.setValue(stock, 'stock_item.default_product.piece_packing'),\r\n amount: stock.required_amount ? stock.required_amount : 0,\r\n stock_item: stock.stock_item,\r\n source_stocks: stock.related_stocks,\r\n target_stocks: [stock],\r\n product_batches: []\r\n };\r\n\r\n // Add new item to existing dispatch list\r\n const newList = _.cloneDeep(this.dispatchList);\r\n newList.dispatch_list_items.push(item);\r\n this.dispatchList = newList;\r\n\r\n // Add dispatch list item to form array\r\n formArray.push(this.initDispatchItemControl(this.dispatchList, item));\r\n }\r\n\r\n initDispatchItemControl(dispatchList?: DispatchList, values?: DispatchListItem): FormGroup {\r\n\r\n return this.fb.group({\r\n cuid: [this.setValue(values, 'cuid')],\r\n stock_item_id: [this.setValue(values, 'stock_item.cuid')],\r\n amount: [this.setValue(values, 'amount'), Validators.required],\r\n product_packing_id: [this.setValue(values, 'product_packing.cuid')],\r\n packing_unit: [this.setValue(values, 'product_packing.packing_unit.packing_unit_name')],\r\n packing_content: [this.setValue(values, 'product_packing.packing_amount')],\r\n price: [this.setValue(values, 'product_packing.packing_price')],\r\n source_stock_id: [this.setValue(values, 'source_stocks.0.cuid')],\r\n target_stock_id: [this.setValue(values, 'target_stocks.0.cuid'), Validators.required],\r\n product_batches: this.fb.array([])\r\n });\r\n\r\n }\r\n\r\n onGenerateDispatchListPdfClick() {\r\n return this.procurementService.generateDispatchListPDF(this.dispatchList).toPromise();\r\n }\r\n\r\n onDispatchItemsClick(): Promise> {\r\n\r\n let input = Object.assign({}, this.control.value);\r\n input.fill_up_items = input.fill_up_items.filter(item => this.selectedItems.find(sel => sel === item.cuid));\r\n\r\n const authData = this.medicineAuthForm ? this.medicineAuthForm.value : null;\r\n const generateVouchers: boolean = this.generateVouchersCtrl ? this.generateVouchersCtrl.value : false;\r\n\r\n return this.procurementService.fillUpDepot(input, authData, generateVouchers).toPromise();\r\n\r\n }\r\n\r\n onSelectedChanged(selected: any[]) {\r\n this.selectedItems = selected;\r\n\r\n let authItem: boolean = this.selectedItems && this.selectedItems.length > 0 && this.dispatchList.dispatch_list_items.findIndex(item => {\r\n return (this.selectedItems.findIndex(id => id === item.cuid) > -1) &&\r\n (item.source_stocks.findIndex(s => s.registration_required === true) > -1 ||\r\n item.target_stocks.findIndex(s => s.registration_required === true) > -1);\r\n }) > -1;\r\n\r\n if (!this.medicineAuthForm && authItem) {\r\n this.createMedicineAuthComponent();\r\n } else if (this.medicineAuthForm && !authItem) {\r\n this.removeMedicineAuthForm();\r\n }\r\n\r\n }\r\n\r\n canSend(): boolean {\r\n let items = this.selectedItems && this.selectedItems.length > 0;\r\n let auth = this.medicineAuthForm ? this.medicineAuthForm.valid : true;\r\n return items && auth;\r\n }\r\n\r\n canGenerateDispatchListPdf() {\r\n return this.dispatchList != null;\r\n }\r\n\r\n createMedicineAuthComponent() {\r\n this.medicineAuthForm = MedicineAuthFormComponent.initControl(this.fb);\r\n this.cd.detectChanges();\r\n }\r\n\r\n removeMedicineAuthForm() {\r\n this.medicineAuthForm = null;\r\n this.cd.detectChanges();\r\n }\r\n\r\n srcAdminUnitSelected(adminUnit) {\r\n this.srcAdminUnitCuid$.next(adminUnit ? adminUnit.cuid : null);\r\n }\r\n\r\n stockManuallyAdded(stock: Stock) {\r\n this.addDispatchItemForStock(stock, this.control.get('fill_up_items'))\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/store-management/procurement/sub-admin-unit-needs/sub-admin-unit-needs.component.ts","module.exports = \"\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/store-management/procurement/views/fill-up-depot-view/fill-up-depot-view.component.css\n// module id = ./src/app/store-management/procurement/views/fill-up-depot-view/fill-up-depot-view.component.css\n// module chunks = main","module.exports = \"\\r\\n\\r\\n

Lager bestücken

\\r\\n\\r\\n
\\r\\n\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n
\\r\\n\\r\\n\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/store-management/procurement/views/fill-up-depot-view/fill-up-depot-view.component.html\n// module id = ./src/app/store-management/procurement/views/fill-up-depot-view/fill-up-depot-view.component.html\n// module chunks = main","import {ChangeDetectorRef, Component, OnInit, ViewChild} from '@angular/core';\r\nimport {AbstractVisbosComponent} from \"../../../../core/visbos-core/components/abstract-visbos.component\";\r\nimport {SessionActions} from \"../../../../shared/actions\";\r\nimport {SubAdminUnitNeedsComponent} from \"../../sub-admin-unit-needs/sub-admin-unit-needs.component\";\r\nimport {MessageType} from \"../../../../shared/redux-store/session/session.types\";\r\nimport {FileService} from \"../../../../core/visbos-core/http/file.service\";\r\nimport {Location} from \"@angular/common\";\r\n\r\n@Component({\r\n selector: 'vb-fill-up-depot-view',\r\n templateUrl: './fill-up-depot-view.component.html',\r\n styleUrls: ['./fill-up-depot-view.component.css']\r\n})\r\nexport class FillUpDepotViewComponent extends AbstractVisbosComponent implements OnInit {\r\n\r\n @ViewChild(SubAdminUnitNeedsComponent)\r\n component: SubAdminUnitNeedsComponent;\r\n\r\n constructor(sessionActions: SessionActions, cd: ChangeDetectorRef,\r\n private fileService: FileService,\r\n private loc: Location) {\r\n super(sessionActions, cd);\r\n\r\n this.actions = [\r\n {\r\n label: \"Packliste generieren\",\r\n action: () => this.onGenerateDispatchListPdfClick.apply(this),\r\n icon: 'fa-file-pdf',\r\n helpText: 'Packliste als PDF generieren',\r\n disabled: () => !this.component.canGenerateDispatchListPdf.apply(this.component)\r\n },\r\n {\r\n label: \"Bestände verschieben\",\r\n action: () => this.onDispatchItemsClick.apply(this),\r\n icon: 'fa-cart-arrow-down',\r\n helpText: 'Bestände im Ziellager auffüllen',\r\n disabled: () => !this.component.canSend.apply(this.component)\r\n }\r\n ]\r\n\r\n }\r\n\r\n onGenerateDispatchListPdfClick() {\r\n this.component.onGenerateDispatchListPdfClick()\r\n .then(res => {\r\n let data = this.fileService.base64toBlob(res.data.dispatchListPdf, 'application/pdf', 512);\r\n this.fileService.saveAs(data, \"packliste.pdf\");\r\n })\r\n .catch(err => this.sessionActions.throwError(err));\r\n }\r\n\r\n onDispatchItemsClick() {\r\n\r\n this.component.onDispatchItemsClick()\r\n .then(res => {\r\n this.sessionActions.pushMessage(\"Lager erfolgreich aufgefüllt!\", MessageType.SUCCESS, \"Lager auffüllen\");\r\n\r\n const pdfWithdrawal = res.data.fillUpDepot.voucher_withdrawal;\r\n const pdfWarehousing = res.data.fillUpDepot.voucher_warehousing;\r\n\r\n if (pdfWithdrawal) {\r\n let data = this.fileService.base64toBlob(pdfWithdrawal, 'application/pdf', 512);\r\n this.fileService.saveAs(data, 'warenausgangsbeleg.pdf');\r\n }\r\n\r\n if (pdfWarehousing) {\r\n let data = this.fileService.base64toBlob(pdfWarehousing, 'application/pdf', 512);\r\n this.fileService.saveAs(data, 'wareneingangsbeleg.pdf');\r\n }\r\n\r\n this.loc.back();\r\n\r\n })\r\n .catch(err => {\r\n this.sessionActions.throwError(err, \"Fehler beim Auffüllen, Bestände wurden nicht geändert!\", \"Lager auffüllen\");\r\n });\r\n\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/store-management/procurement/views/fill-up-depot-view/fill-up-depot-view.component.ts","module.exports = \"\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/store-management/procurement/views/generate-invoice-view/generate-invoice-view.component.css\n// module id = ./src/app/store-management/procurement/views/generate-invoice-view/generate-invoice-view.component.css\n// module chunks = main","module.exports = \"\\r\\n\\r\\n

Automatische Sammelrechnung erzeugen

\\r\\n\\r\\n
\\r\\n\\r\\n

Kostenstelle und Zeitraum auswählen

\\r\\n\\r\\n

Wählen Sie die Kostenstelle, für die eine Sammelrechnung erzeugt werden soll, sowie optional den Beginn und das\\r\\n Ende des Rechnungszeitraums.

\\r\\n\\r\\n
\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n \\r\\n\\r\\n \\r\\n Rechnung erzeugen\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n

Form: {{invoiceDataControl?.value | json}}

\\r\\n
\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/store-management/procurement/views/generate-invoice-view/generate-invoice-view.component.html\n// module id = ./src/app/store-management/procurement/views/generate-invoice-view/generate-invoice-view.component.html\n// module chunks = main","import {ChangeDetectorRef, Component, OnInit} from '@angular/core';\r\nimport {AbstractVisbosComponent} from '../../../../core/visbos-core/components/abstract-visbos.component';\r\nimport {SessionActions} from '../../../../shared/actions';\r\nimport {FormBuilder, FormGroup, Validators} from '@angular/forms';\r\nimport {InvoiceService} from '../../../services/invoice/invoice.service';\r\nimport {AccountingUnit} from '../../../../shared/view-model/crm/accounting-unit.type';\r\nimport {MessageType} from '../../../../shared/redux-store/session';\r\nimport {ActivatedRoute, Router} from '@angular/router';\r\n\r\n@Component({\r\n selector: 'vb-generate-invoice-view',\r\n templateUrl: './generate-invoice-view.component.html',\r\n styleUrls: ['./generate-invoice-view.component.css']\r\n})\r\nexport class GenerateInvoiceViewComponent extends AbstractVisbosComponent implements OnInit {\r\n\r\n invoiceDataControl: FormGroup;\r\n\r\n constructor(sessionActions: SessionActions, cd: ChangeDetectorRef, private fb: FormBuilder,\r\n private router: Router, private route: ActivatedRoute,\r\n private invoiceService: InvoiceService) {\r\n super(sessionActions, cd);\r\n }\r\n\r\n ngOnInit() {\r\n this.invoiceDataControl = this.fb.group({\r\n accountingUnitId: [null, Validators.required],\r\n accountingUnitType: [null, Validators.required],\r\n start: [null],\r\n end: [null],\r\n invoiceData: this.fb.group({\r\n administration_unit_id: [null]\r\n }),\r\n aggregateData: [null]\r\n });\r\n }\r\n\r\n onAccountingUnitSelected(accountingUnit: AccountingUnit) {\r\n if (this.invoiceDataControl) {\r\n this.invoiceDataControl.patchValue({\r\n accountingUnitType: accountingUnit ? accountingUnit.__typename : null\r\n });\r\n }\r\n }\r\n\r\n onGenerateInvoiceClicked() {\r\n this.invoiceDataControl.patchValue({invoiceData: {administration_unit_id: this.activeAdminUnitCuid}});\r\n this.invoiceService.generateInvoice(this.invoiceDataControl.value).subscribe(\r\n (res) => {\r\n this.sessionActions.pushMessage(\"Die Rechnung wurde erfolgreich erzeugt!\", MessageType.SUCCESS, \"Rechnungsstellung\");\r\n this.router.navigate(['../', res.data.createInvoice.cuid], {relativeTo: this.route});\r\n }, err => {\r\n this.sessionActions.pushMessage(\"Fehler beim Erzeugen der Rechnung!\", MessageType.ERROR, \"Rechnungsstellung\");\r\n }\r\n );\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/store-management/procurement/views/generate-invoice-view/generate-invoice-view.component.ts","module.exports = \"\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/store-management/procurement/views/invoice-view/invoice-view.component.css\n// module id = ./src/app/store-management/procurement/views/invoice-view/invoice-view.component.css\n// module chunks = main","module.exports = \"\\r\\n\\r\\n

Rechnungsansicht

\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n {{invoice.invoice_address_name}}  \\r\\n {{invoice.invoice_address_street}}  \\r\\n {{invoice.invoice_address_city}}  \\r\\n
\\r\\n\\r\\n
\\r\\n {{control.get('billing_address_name').value}}
\\r\\n {{control.get('billing_address_street').value}}
\\r\\n {{control.get('billing_address_city').value}}
\\r\\n {{control.get('billing_address_country').value}}\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n {{control.get('invoice_address_name').value}}
\\r\\n {{control.get('invoice_address_street').value}}
\\r\\n {{control.get('invoice_address_city').value}}
\\r\\n {{control.get('invoice_address_country').value}}\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n

\\r\\n \\r\\n \\r\\n

\\r\\n\\r\\n

\\r\\n \\r\\n \\r\\n

\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
#ArtNr.BezeichnerAnzahlEinheitEinzelpreisGesamtpreis
{{item.text}}{{item.pos_no}}{{item.article_number}}{{item.article_label}}{{item.amount}}{{item.packing_unit}}{{item.price_netto | currency:'EUR':'symbol'}}{{(item.total_price) | currency:'EUR':'symbol'}}\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n Summe, Netto: {{invoice?.total_netto | currency:'EUR':'symbol'}}\\r\\n
\\r\\n Mehrwertsteuer, 19%: {{invoice?.total_taxes | currency:'EUR':'symbol'}}\\r\\n
\\r\\n Rechnungsbetrag: {{invoice?.total_brutto | currency:'EUR':'symbol'}}\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n

Invoice: {{invoice | json}}

\\r\\n

Form: {{control?.value | json}}

\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/store-management/procurement/views/invoice-view/invoice-view.component.html\n// module id = ./src/app/store-management/procurement/views/invoice-view/invoice-view.component.html\n// module chunks = main","import {ChangeDetectorRef, Component, Input, OnInit, ViewChild} from '@angular/core';\r\nimport {ApolloQueryObservable} from 'apollo-angular';\r\nimport {SessionActions} from '../../../../shared/actions';\r\nimport {ActivatedRoute} from '@angular/router';\r\nimport {FileService} from '../../../../core/visbos-core/http/file.service';\r\nimport {GetInvoiceQuery} from '../../../../shared/graphql/graphql.types';\r\nimport {InvoiceService} from '../../../services/invoice/invoice.service';\r\nimport {GenericModalComponent} from '../../../../core/visbos-core/ui/forms/generic-modal/generic-modal.component';\r\nimport {AddressFormComponent} from '../../../../core/visbos-core/ui/forms/address-form/address-form.component';\r\nimport {FormBuilder, FormGroup, Validators} from '@angular/forms';\r\nimport {Invoice} from '../../../../shared/view-model/store-management/invoice.type';\r\nimport {appInjector} from '../../../../index';\r\nimport {AbstractVisbosControl} from '../../../../core/visbos-core/ui/forms/abstract-visbos-control';\r\nimport {MessageType} from '../../../../shared/redux-store/session';\r\n\r\n@Component({\r\n selector: 'vb-invoice-view',\r\n templateUrl: './invoice-view.component.html',\r\n styleUrls: ['./invoice-view.component.css']\r\n})\r\nexport class InvoiceViewComponent extends AbstractVisbosControl implements OnInit {\r\n\r\n @Input()\r\n invoice: Invoice;\r\n\r\n @ViewChild('addressModal')\r\n addressModal: GenericModalComponent;\r\n\r\n @ViewChild('addressForm')\r\n addressForm: AddressFormComponent;\r\n\r\n invoicePdfLink: string;\r\n\r\n private invoice$: ApolloQueryObservable;\r\n\r\n addressChangeType = 'billing_address';\r\n addressChangeTitle = \"Rechnungsadresse ändern\";\r\n\r\n\r\n constructor(sessionActions: SessionActions, private route: ActivatedRoute, fb: FormBuilder,\r\n private invoiceService: InvoiceService, private fileService: FileService, cd: ChangeDetectorRef) {\r\n\r\n super(fb, cd, sessionActions);\r\n\r\n this.actions = [\r\n {\r\n label: 'Änderungen speichern',\r\n icon: 'fa-save',\r\n action: () => this.saveChanges.apply(this),\r\n helpText: \"Änderungen an der REchnung speichern\",\r\n },\r\n {\r\n label: 'PDF generieren',\r\n icon: 'fa-file-pdf',\r\n action: () => this.generatePDF.apply(this),\r\n helpText: \"PDF für die Rechnung generieren\",\r\n }\r\n ];\r\n\r\n }\r\n\r\n ngOnInit() {\r\n\r\n super.ngOnInit();\r\n\r\n this.invoicePdfLink = null;\r\n\r\n this.dataSubscriptions.push(this.route.params.subscribe(params => {\r\n if (params.invoiceCuid) {\r\n this.loadInvoice(params.invoiceCuid);\r\n }\r\n })\r\n );\r\n }\r\n\r\n private loadInvoice(cuid: string) {\r\n\r\n if (!this.invoice$) {\r\n this.invoice$ = this.invoiceService.getInvoice(cuid);\r\n } else {\r\n this.invoice$.setVariables({cuid: cuid});\r\n }\r\n\r\n this.dataSubscriptions.push(this.invoice$.subscribe(res => {\r\n this.invoice = res.data.invoice;\r\n this.item = this.invoice;\r\n this.patchItemValues();\r\n }));\r\n\r\n }\r\n\r\n generatePDF() {\r\n\r\n if (!this.invoice) {\r\n return;\r\n }\r\n\r\n this.invoicePdfLink = undefined;\r\n\r\n this.dataSubscriptions.push(\r\n this.invoiceService.generateInvoicePdf(this.invoice.cuid).subscribe(\r\n res => {\r\n let data = this.fileService.base64toBlob(res.data.generateInvoicePdf, 'application/pdf', 512);\r\n this.fileService.saveAs(data, 'rechnung-' + this.invoice.invoice_no + '.pdf');\r\n }, err => {\r\n this.sessionActions.pushMessage(\"Fehler beim Generieren der PDF-Datei\", MessageType.ERROR, \"PDF-Erzeugung\");\r\n })\r\n );\r\n }\r\n\r\n saveChanges() {\r\n this.invoiceService.updateInvoice({invoiceCuid: this.invoice.cuid, invoiceData: this.control.value})\r\n .subscribe(\r\n res => {\r\n this.sessionActions.pushMessage(`Rechnung ${res.data.updateInvoice.cuid} gespeichert`, MessageType.SUCCESS, 'Rechnung speichern');\r\n }, err => {\r\n this.sessionActions.pushMessage(\"Fehler beim Speichern der Rechnung\", MessageType.ERROR, \"Rechnung speichern\");\r\n });\r\n }\r\n\r\n buildControlContent(): FormGroup {\r\n return InvoiceViewComponent.initControl(this.fb);\r\n }\r\n\r\n public static initControl(fb: FormBuilder = null): FormGroup {\r\n fb = fb ? fb : appInjector().get(FormBuilder);\r\n\r\n return fb.group({\r\n cuid: [null],\r\n\r\n invoice_address_name: [null, Validators.required],\r\n invoice_address_street: [null],\r\n invoice_address_city: [null],\r\n invoice_address_country: [null],\r\n\r\n billing_address_name: [null, Validators.required],\r\n billing_address_street: [null],\r\n billing_address_city: [null],\r\n billing_address_country: [null],\r\n\r\n invoice_no: [null],\r\n invoice_date: [null],\r\n delivery_date: [null],\r\n\r\n customer_number: [null],\r\n commission_number: [null],\r\n\r\n invoice_opening_text: [null],\r\n invoice_remarks: [null],\r\n invoice_payment_terms_text: [null],\r\n\r\n invoice_taxes_text: [null],\r\n invoice_ending_text: [null],\r\n\r\n administration_unit_id: [null, Validators.required]\r\n\r\n });\r\n }\r\n\r\n public setDefaultValues(item?: Invoice): { [controlKey: string]: any } | any {\r\n\r\n if (!item) {\r\n return undefined;\r\n }\r\n\r\n let ret = {\r\n cuid: this.setValue(item, 'cuid', AbstractVisbosControl.cuid()),\r\n\r\n invoice_address_name: this.setValue(item, 'invoice_address_name'),\r\n invoice_address_street: this.setValue(item, 'invoice_address_street'),\r\n invoice_address_city: this.setValue(item, 'invoice_address_city'),\r\n invoice_address_country: this.setValue(item, 'invoice_address_country'),\r\n\r\n billing_address_name: this.setValue(item, 'billing_address_name'),\r\n billing_address_street: this.setValue(item, 'billing_address_street'),\r\n billing_address_city: this.setValue(item, 'billing_address_city'),\r\n billing_address_country: this.setValue(item, 'billing_address_country'),\r\n\r\n invoice_no: this.setValue(item, 'invoice_no'),\r\n invoice_date: this.setValue(item, 'invoice_date'),\r\n delivery_date: this.setValue(item, 'delivery_date'),\r\n\r\n customer_number: this.setValue(item, 'customer_number'),\r\n commission_number: this.setValue(item, 'commission_number'),\r\n\r\n invoice_opening_text: this.setValue(item, 'invoice_opening_text'),\r\n invoice_remarks: this.setValue(item, 'invoice_remarks'),\r\n invoice_payment_terms_text: this.setValue(item, 'invoice_payment_terms_text'),\r\n\r\n invoice_taxes_text: this.setValue(item, 'invoice_taxes_text'),\r\n invoice_ending_text: this.setValue(item, 'invoice_ending_text'),\r\n\r\n administration_unit_id: this.setValue(item, 'administration_unit.cuid'),\r\n };\r\n\r\n return ret;\r\n };\r\n\r\n changeAddress(type) {\r\n this.addressChangeType = type;\r\n\r\n if (type == 'invoice_address') {\r\n this.addressChangeTitle = \"Rechnungsaussteller-Adresse ändern\";\r\n } else if (type == 'billing_address') {\r\n this.addressChangeTitle = \"Rechnungsempfänger-Adresse ändern\";\r\n }\r\n\r\n this.addressModal.show();\r\n\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/store-management/procurement/views/invoice-view/invoice-view.component.ts","module.exports = \"\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/store-management/procurement/views/invoices-list-view/invoices-list-view.component.css\n// module id = ./src/app/store-management/procurement/views/invoices-list-view/invoices-list-view.component.css\n// module chunks = main","module.exports = \"\\r\\n\\r\\n

Rechnungen (Archiv)

\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/store-management/procurement/views/invoices-list-view/invoices-list-view.component.html\n// module id = ./src/app/store-management/procurement/views/invoices-list-view/invoices-list-view.component.html\n// module chunks = main","import {ChangeDetectorRef, Component, OnDestroy, OnInit, ViewChild} from '@angular/core';\r\nimport {AbstractListView} from '../../../../core/visbos-core/ui/components/abstract-list-view';\r\nimport {DatatableComponent} from '../../../../core/visbos-core/ui/components/datatable/datatable.component';\r\nimport {ApolloQueryObservable} from 'apollo-angular';\r\nimport {Order} from '../../../../shared/view-model/store-management/order.type';\r\nimport {FormBuilder} from '@angular/forms';\r\nimport {ActivatedRoute, Router} from '@angular/router';\r\nimport {SessionActions} from '../../../../shared/actions';\r\nimport {MessageType} from '../../../../shared/redux-store/session';\r\nimport {debounceTime, distinctUntilChanged} from 'rxjs/operators';\r\nimport {Invoice} from '../../../../shared/view-model/store-management/invoice.type';\r\nimport {InvoiceService} from '../../../services/invoice/invoice.service';\r\nimport {GetInvoicesQuery} from '../../../../shared/graphql/graphql.types';\r\n\r\n@Component({\r\n selector: 'vb-invoices-list-view',\r\n templateUrl: './invoices-list-view.component.html',\r\n styleUrls: ['./invoices-list-view.component.css']\r\n})\r\nexport class InvoicesListViewComponent extends AbstractListView implements OnInit, OnDestroy {\r\n\r\n @ViewChild('datatable')\r\n datatable: DatatableComponent;\r\n\r\n messages = {\r\n emptyMessage: 'Keine Rechnungen vorhanden',\r\n totalMessage: 'Rechnungen insgesamt'\r\n };\r\n\r\n private invoices$: ApolloQueryObservable;\r\n invoices: Invoice[];\r\n\r\n constructor(private fb: FormBuilder, private router: Router, private route: ActivatedRoute,\r\n private invoiceService: InvoiceService,\r\n sessionActions: SessionActions, cd: ChangeDetectorRef) {\r\n\r\n super(sessionActions, cd);\r\n }\r\n\r\n onOrderRemoveClicked(invoice: Invoice) {\r\n this.invoiceService.deleteInvoice(invoice.cuid).toPromise()\r\n .then(res => this.sessionActions.pushMessage(\"Rechnung gelöscht\", MessageType.SUCCESS))\r\n .catch(err => this.sessionActions.throwError(err, \"Fehler beim Löschen der Rechnung!\"));\r\n }\r\n\r\n ngOnInit() {\r\n\r\n this.isLoading = true;\r\n this.searchTerm = this.fb.control(null);\r\n\r\n this.dataSubscriptions.push(\r\n this.searchTerm.valueChanges.pipe(\r\n distinctUntilChanged(),\r\n debounceTime(500)\r\n ).subscribe((term: any) => this.filterItems(term))\r\n );\r\n\r\n this.columns = [\r\n {\r\n prop: 'invoice_date',\r\n name: 'Rechnungsdatum',\r\n cellTemplate: this.datatable.formatDateTmpl,\r\n minWidth: 50,\r\n flexGrow: 1\r\n },\r\n {prop: 'invoice_no', name: 'Rechnungsnr.', minWidth: 100, flexGrow: 2},\r\n {prop: 'billing_address_name', name: 'Empfänger', minWidth: 100, flexGrow: 2},\r\n ];\r\n\r\n this.invoices$ = this.invoiceService.getInvoices();\r\n this.dataSubscriptions.push(this.invoices$.subscribe(res => {\r\n this.isLoading = res.loading;\r\n this.invoices = res.data.invoices;\r\n this.rows = this.invoices;\r\n })\r\n );\r\n\r\n }\r\n\r\n onCellUpdate(row, res, index) {\r\n }\r\n\r\n onShowDetailsClicked(invoice: Invoice) {\r\n this.router.navigate([invoice.cuid], {relativeTo: this.route});\r\n }\r\n\r\n\r\n filterItems(searchTerm) {\r\n if (!searchTerm || searchTerm == \"\") {\r\n this.rows = this.invoices;\r\n } else {\r\n if (this.invoices) {\r\n this.rows = this.invoices.filter((si: Order) => this.findStringInTable(si, this.columns, searchTerm));\r\n }\r\n }\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/store-management/procurement/views/invoices-list-view/invoices-list-view.component.ts","module.exports = \"\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/store-management/procurement/views/shopping-carts-overview-view/shopping-carts-overview-view.component.css\n// module id = ./src/app/store-management/procurement/views/shopping-carts-overview-view/shopping-carts-overview-view.component.css\n// module chunks = main","module.exports = \"\\r\\n\\r\\n

Warenkörbe

\\r\\n\\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n
\\r\\n\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/store-management/procurement/views/shopping-carts-overview-view/shopping-carts-overview-view.component.html\n// module id = ./src/app/store-management/procurement/views/shopping-carts-overview-view/shopping-carts-overview-view.component.html\n// module chunks = main","import {ChangeDetectorRef, Component, OnInit} from '@angular/core';\r\nimport {AbstractVisbosComponent} from \"../../../../core/visbos-core/components/abstract-visbos.component\";\r\nimport {SessionActions} from \"../../../../shared/actions\";\r\nimport {ProcurementService} from \"../../../services/procurement-service/procurement.service\";\r\nimport {map} from \"rxjs/operators\";\r\nimport {ShoppingCart} from \"../../../../shared/view-model/store-management/shopping-cart.type\";\r\nimport {Observable} from \"rxjs/Observable\";\r\n\r\n@Component({\r\n selector: 'vb-shopping-carts-overview-view',\r\n templateUrl: './shopping-carts-overview-view.component.html',\r\n styleUrls: ['./shopping-carts-overview-view.component.css']\r\n})\r\nexport class ShoppingCartsOverviewViewComponent extends AbstractVisbosComponent implements OnInit {\r\n\r\n //TODO: Apollo\r\n private shoppingCartsPreview$: Observable;\r\n\r\n constructor(sessionActions: SessionActions, cd: ChangeDetectorRef,\r\n private procurementService: ProcurementService) {\r\n super(sessionActions, cd);\r\n }\r\n\r\n\r\n ngOnInit(): void {\r\n super.ngOnInit();\r\n this.shoppingCartsPreview$ = this.procurementService.prefetchShoppingCarts().pipe(\r\n map(res => res.data.shoppingCartsOverview)\r\n );\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/store-management/procurement/views/shopping-carts-overview-view/shopping-carts-overview-view.component.ts","module.exports = \"\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/store-management/product/edit-product/edit-product.component.css\n// module id = ./src/app/store-management/product/edit-product/edit-product.component.css\n// module chunks = main","module.exports = \"\\r\\n\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/store-management/product/edit-product/edit-product.component.html\n// module id = ./src/app/store-management/product/edit-product/edit-product.component.html\n// module chunks = main","import {Component, Input, OnInit} from \"@angular/core\";\r\nimport {Product} from \"../../../shared/view-model/store-management/product.type\";\r\nimport {ProductFormComponent} from \"../product-form/product-form.component\";\r\nimport {FormBuilder, FormGroup} from \"@angular/forms\";\r\n\r\n@Component({\r\n selector: 'vb-edit-product',\r\n templateUrl: './edit-product.component.html',\r\n styleUrls: ['./edit-product.component.css']\r\n})\r\nexport class EditProductComponent implements OnInit {\r\n\r\n @Input()\r\n product: Product;\r\n\r\n productForm: FormGroup;\r\n\r\n constructor(private fb: FormBuilder,) {\r\n }\r\n\r\n ngOnInit() {\r\n let values = Object.assign({}, this.product);\r\n this.initProductForm(values);\r\n }\r\n\r\n initProductForm(values?) {\r\n this.productForm = ProductFormComponent.initControl(this.fb);\r\n }\r\n\r\n save() {\r\n let itemCuid = \"\";\r\n let productData = this.productForm ? this.productForm.value : {};\r\n\r\n console.info(\"Save: \" + JSON.stringify(this.productForm.value));\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/store-management/product/edit-product/edit-product.component.ts","module.exports = \"\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/store-management/product/packing-form/packing-form.component.css\n// module id = ./src/app/store-management/product/packing-form/packing-form.component.css\n// module chunks = main","module.exports = \"\\r\\n \\r\\n\\r\\n\\r\\n\\r\\n\\r\\n \\r\\n \\r\\n\\r\\n\\r\\n\\r\\n\\r\\n
\\r\\n \\r\\n
Stk.
\\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n \\r\\n \\r\\n\\r\\n\\r\\n\\r\\n \\r\\n\\r\\n\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/store-management/product/packing-form/packing-form.component.html\n// module id = ./src/app/store-management/product/packing-form/packing-form.component.html\n// module chunks = main","import {AfterViewChecked, ChangeDetectorRef, Component, forwardRef, HostBinding} from \"@angular/core\";\r\nimport {FormBuilder, FormGroup, Validators} from \"@angular/forms\";\r\nimport {AbstractVisbosControl} from \"../../../core/visbos-core/ui/forms/abstract-visbos-control\";\r\nimport {PackingUnit} from \"../../../shared/view-model/store-management/packing-unit.type\";\r\nimport {appInjector} from \"../../../index\";\r\nimport {Packing} from \"../../../shared/view-model/store-management/packing.type\";\r\nimport {PackingUnitService} from \"../../services/packing-unit/packing-unit.service\";\r\nimport {CURRENCY_ERRORS} from \"../../../core/visbos-core/ui/components/currency-input/currency-input.component\";\r\n\r\n@Component({\r\n selector: 'vb-packing-form',\r\n templateUrl: './packing-form.component.html',\r\n styleUrls: ['./packing-form.component.css'],\r\n providers: [{provide: AbstractVisbosControl, useExisting: forwardRef(() => PackingFormComponent)}]\r\n})\r\nexport class PackingFormComponent extends AbstractVisbosControl implements AfterViewChecked {\r\n\r\n @HostBinding('class')\r\n classBinding = 'form';\r\n\r\n CURRENCY_ERRORS;\r\n\r\n priceLabel = \"Stückpreis\";\r\n\r\n public setDefaultValues(item?: Packing): { [controlKey: string]: any } | any {\r\n\r\n if (item && item.packing_amount && item.packing_amount > 1) {\r\n this.control.addControl('packing_amount', this.fb.control(null, Validators.required))\r\n }\r\n\r\n return {\r\n cuid: this.setValue(item, 'cuid', AbstractVisbosControl.cuid()),\r\n article_number: this.setValue(item, 'article_number'),\r\n packing_amount: this.setValue(item, 'packing_amount'),\r\n packing_price: this.setValue(item, 'packing_price'),\r\n default_packing: this.setValue(item, 'default_packing'),\r\n }\r\n };\r\n\r\n packingUnitList = [];\r\n hasContent = false;\r\n\r\n constructor(fb: FormBuilder, cd: ChangeDetectorRef, private puService: PackingUnitService) {\r\n super(fb, cd, null);\r\n this.CURRENCY_ERRORS = CURRENCY_ERRORS;\r\n }\r\n\r\n ngOnInit() {\r\n super.ngOnInit();\r\n this.puService.getPackingUnitList().subscribe((pus: any) => {\r\n this.packingUnitList = pus;\r\n });\r\n }\r\n\r\n ngAfterViewChecked(): void {\r\n let puId = this.control.get('packing_unit_id').value;\r\n let pu = this.packingUnitList.find(pu => pu.cuid === puId);\r\n if (puId && pu) {\r\n this.hasContent = pu ? pu.has_content : false;\r\n }\r\n if (this.hasContent) {\r\n this.control.addControl('packing_amount', this.fb.control(this.setValue(this.item, 'packing_amount'), Validators.required))\r\n } else {\r\n this.control.removeControl('packing_amount');\r\n }\r\n this.priceLabel = (pu && pu.packing_unit_name) ? \"Preis pro \" + pu.packing_unit_name : \"Preis\";\r\n\r\n this.cd.detectChanges();\r\n }\r\n\r\n buildControlContent(values?: Packing): FormGroup {\r\n return PackingFormComponent.initControl(this.fb);\r\n }\r\n\r\n public static initControl(fb: FormBuilder = null, values?: Packing): FormGroup {\r\n fb = fb ? fb : appInjector().get(FormBuilder);\r\n\r\n return fb.group({\r\n cuid: [null, Validators.required],\r\n article_number: [null],\r\n default_packing: [null],\r\n packing_unit_id: [null, Validators.required],\r\n packing_price: [null],\r\n });\r\n }\r\n\r\n onPackingUnitChanged(pu: PackingUnit) {\r\n\r\n }\r\n\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/store-management/product/packing-form/packing-form.component.ts","module.exports = \"\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/store-management/product/packing-unit-selection/packing-unit-selection.component.css\n// module id = ./src/app/store-management/product/packing-unit-selection/packing-unit-selection.component.css\n// module chunks = main","module.exports = \"\\r\\n\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/store-management/product/packing-unit-selection/packing-unit-selection.component.html\n// module id = ./src/app/store-management/product/packing-unit-selection/packing-unit-selection.component.html\n// module chunks = main","import {ChangeDetectorRef, Component, EventEmitter, forwardRef, OnInit, Output} from \"@angular/core\";\r\nimport {FormBuilder, FormControl} from \"@angular/forms\";\r\nimport {AbstractVisbosControl} from \"../../../core/visbos-core/ui/forms/abstract-visbos-control\";\r\nimport {PackingUnitService} from \"../../services/packing-unit/packing-unit.service\";\r\nimport {PackingUnit} from \"../../../shared/view-model/store-management/packing-unit.type\";\r\nimport {appInjector} from \"../../../index\";\r\nimport {environment} from \"../../../../environments/environment\";\r\nimport {SessionActions} from \"../../../shared/actions\";\r\n\r\n@Component({\r\n selector: 'vb-packing-unit-selection',\r\n templateUrl: './packing-unit-selection.component.html',\r\n styleUrls: ['./packing-unit-selection.component.css'],\r\n providers: [{provide: AbstractVisbosControl, useExisting: forwardRef(() => PackingUnitSelectionComponent)}]\r\n})\r\nexport class PackingUnitSelectionComponent extends AbstractVisbosControl implements OnInit {\r\n\r\n packingUnitList: PackingUnit[] = [];\r\n\r\n @Output()\r\n selectedItemChanged: EventEmitter = new EventEmitter();\r\n\r\n constructor(fb: FormBuilder, cd: ChangeDetectorRef, sessionActions: SessionActions,\r\n private puService: PackingUnitService) {\r\n super(fb, cd, sessionActions);\r\n }\r\n\r\n ngOnInit() {\r\n super.ngOnInit();\r\n\r\n this.puService.getPackingUnitList().subscribe((pus: any) =>{\r\n this.packingUnitList = pus;\r\n });\r\n\r\n }\r\n\r\n buildControlContent(): FormControl {\r\n return PackingUnitSelectionComponent.initControl(this.fb);\r\n }\r\n\r\n public static initControl(fb: FormBuilder = null,): FormControl {\r\n fb = fb ? fb : appInjector().get(FormBuilder);\r\n return fb.control(null);\r\n }\r\n\r\n packingUnitSelected(pu: PackingUnit) {\r\n this.selectedItemChanged.emit(pu);\r\n }\r\n\r\n public setDefaultValues(item?: PackingUnit): {[controlKey: string]: any} | any {\r\n return this.setValue(item, 'cuid', environment.selection.packing_unit_id);\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/store-management/product/packing-unit-selection/packing-unit-selection.component.ts","module.exports = \"\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/store-management/product/product-batch-form/product-batch-form.component.css\n// module id = ./src/app/store-management/product/product-batch-form/product-batch-form.component.css\n// module chunks = main","module.exports = \"\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/store-management/product/product-batch-form/product-batch-form.component.html\n// module id = ./src/app/store-management/product/product-batch-form/product-batch-form.component.html\n// module chunks = main","import {ChangeDetectorRef, Component, forwardRef} from \"@angular/core\";\r\nimport {AbstractVisbosControl} from \"../../../core/visbos-core/ui/forms/abstract-visbos-control\";\r\nimport {ProductBatch} from \"../../model/product-batch.type\";\r\nimport {FormBuilder, FormGroup, Validators} from \"@angular/forms\";\r\nimport {appInjector} from \"../../../index\";\r\n\r\n@Component({\r\n selector: 'vb-product-batch-form',\r\n templateUrl: './product-batch-form.component.html',\r\n styleUrls: ['./product-batch-form.component.css'],\r\n providers: [{provide: AbstractVisbosControl, useExisting: forwardRef(() => ProductBatchFormComponent)}]\r\n})\r\nexport class ProductBatchFormComponent extends AbstractVisbosControl {\r\n\r\n public setDefaultValues(item?: ProductBatch): {[controlKey: string]: any} | any {\r\n return {\r\n cuid: this.setValue(item, 'cuid', AbstractVisbosControl.cuid()),\r\n batch_number: this.setValue(item, 'batch_number'),\r\n use_before_date: this.setValue(item, 'use_before_date', null),\r\n }\r\n };\r\n\r\n constructor(fb: FormBuilder, cd: ChangeDetectorRef) {\r\n super(fb, cd, null);\r\n }\r\n\r\n public buildControlContent(): FormGroup {\r\n return ProductBatchFormComponent.initControl(this.fb);\r\n }\r\n\r\n public static initControl(fb: FormBuilder = null): FormGroup {\r\n fb = fb ? fb : appInjector().get(FormBuilder);\r\n\r\n return fb.group({\r\n cuid: [null, Validators.required],\r\n batch_number: [null],\r\n use_before_date: [null],\r\n });\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/store-management/product/product-batch-form/product-batch-form.component.ts","module.exports = \"\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/store-management/product/product-form/product-form.component.css\n// module id = ./src/app/store-management/product/product-form/product-form.component.css\n// module chunks = main","module.exports = \"\\r\\n \\r\\n \\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n \\r\\n \\r\\n\\r\\n\\r\\n\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/store-management/product/product-form/product-form.component.html\n// module id = ./src/app/store-management/product/product-form/product-form.component.html\n// module chunks = main","import {ChangeDetectorRef, Component, forwardRef, OnInit} from \"@angular/core\";\r\nimport {AbstractVisbosControl} from \"../../../core/visbos-core/ui/forms/abstract-visbos-control\";\r\nimport {FormArray, FormBuilder, FormGroup, Validators} from \"@angular/forms\";\r\nimport {PackingFormComponent} from \"../packing-form/packing-form.component\";\r\nimport {appInjector} from \"../../../index\";\r\nimport {Product} from \"../../../shared/view-model/store-management/product.type\";\r\nimport {ManufacturerInputFieldComponent} from \"../../../crm/manufacturer/manufacturer-input-field/manufacturer-input-field.component\";\r\nimport {ManufacturerService} from \"../../../crm/services/manufacturer.service\";\r\n\r\n\r\n@Component({\r\n selector: 'vb-product-form',\r\n templateUrl: './product-form.component.html',\r\n styleUrls: ['./product-form.component.css'],\r\n providers: [{provide: AbstractVisbosControl, useExisting: forwardRef(() => ProductFormComponent)}]\r\n})\r\nexport class ProductFormComponent extends AbstractVisbosControl implements OnInit {\r\n\r\n //@HostBinding('class')\r\n //private classBinding = 'form';\r\n\r\n public setDefaultValues(item?: Product): { [controlKey: string]: any } | any {\r\n return {\r\n cuid: this.setValue(item, 'cuid', AbstractVisbosControl.cuid()),\r\n name: this.setValue(item, 'name'),\r\n default_product: this.setValue(item, 'default_product')\r\n }\r\n };\r\n\r\n constructor(fb: FormBuilder, cd: ChangeDetectorRef, private manufacturerService: ManufacturerService) {\r\n super(fb, cd, null);\r\n }\r\n\r\n ngOnInit() {\r\n super.ngOnInit();\r\n }\r\n\r\n buildControlContent(values?: Product, ...params): FormGroup {\r\n return ProductFormComponent.initControl(this.fb);\r\n }\r\n\r\n public static initControl(fb: FormBuilder = null): FormGroup {\r\n fb = fb ? fb : appInjector().get(FormBuilder);\r\n\r\n let ctrl = fb.group({\r\n cuid: [null, Validators.required],\r\n name: [null],\r\n default_product: [null],\r\n packings: fb.array([], Validators.required),\r\n manufacturer: ManufacturerInputFieldComponent.initControl(fb),\r\n supplier_id: [null, Validators.required],\r\n });\r\n\r\n return ctrl;\r\n }\r\n\r\n\r\n addPacking() {\r\n let pkgCtrl: FormArray = this.control.get('packings');\r\n pkgCtrl.push(PackingFormComponent.initControl(this.fb));\r\n }\r\n\r\n deletePacking(id: number) {\r\n let pkgCtrl: FormArray = this.control.get('packings');\r\n pkgCtrl.removeAt(id);\r\n }\r\n\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/store-management/product/product-form/product-form.component.ts","module.exports = \"\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/store-management/product/product-packing-selection/product-packing-selection.component.css\n// module id = ./src/app/store-management/product/product-packing-selection/product-packing-selection.component.css\n// module chunks = main","module.exports = \"\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/store-management/product/product-packing-selection/product-packing-selection.component.html\n// module id = ./src/app/store-management/product/product-packing-selection/product-packing-selection.component.html\n// module chunks = main","import {ChangeDetectorRef, Component, EventEmitter, forwardRef, Input, OnDestroy, OnInit, Output} from \"@angular/core\";\r\nimport {AbstractVisbosControl} from \"../../../core/visbos-core/ui/forms/abstract-visbos-control\";\r\nimport {FormBuilder, FormControl} from \"@angular/forms\";\r\nimport {Packing} from \"../../../shared/view-model/store-management/packing.type\";\r\nimport {Product} from \"../../../shared/view-model/store-management/product.type\";\r\nimport {appInjector} from \"../../../index\";\r\n\r\n@Component({\r\n selector: 'vb-product-packing-selection',\r\n templateUrl: './product-packing-selection.component.html',\r\n styleUrls: ['./product-packing-selection.component.css'],\r\n providers: [{provide: AbstractVisbosControl, useExisting: forwardRef(() => ProductPackingSelectionComponent)}]\r\n})\r\nexport class ProductPackingSelectionComponent extends AbstractVisbosControl implements OnInit, OnDestroy {\r\n\r\n private _productPackings: Packing[] = [];\r\n get productPackings(): Packing[] {\r\n return this._productPackings;\r\n }\r\n\r\n @Input()\r\n set productPackings(value: Packing[]) {\r\n this._productPackings = value || [];\r\n this.defaultPacking = this.productPackings.find(pr => pr.default_packing);\r\n this.item = this.defaultPacking;\r\n }\r\n\r\n defaultPacking: Packing;\r\n\r\n private _product: Product;\r\n\r\n get product(): Product {\r\n return this._product;\r\n }\r\n\r\n @Input()\r\n set product(value: Product) {\r\n this._product = value;\r\n\r\n this.productPackings = value ? value.packings : [];\r\n\r\n if (!this.productPackings) {\r\n return;\r\n }\r\n\r\n }\r\n\r\n @Output()\r\n productPackingSelected: EventEmitter = new EventEmitter();\r\n\r\n constructor(fb: FormBuilder, cd: ChangeDetectorRef) {\r\n super(fb, cd, null);\r\n }\r\n\r\n ngOnInit() {\r\n super.ngOnInit();\r\n }\r\n\r\n ngOnDestroy(): void {\r\n super.ngOnDestroy();\r\n }\r\n\r\n buildControlContent(): FormControl {\r\n return ProductPackingSelectionComponent.initControl(this.fb);\r\n }\r\n\r\n public static initControl(fb: FormBuilder = null,): FormControl {\r\n fb = fb ? fb : appInjector().get(FormBuilder);\r\n return fb.control(null);\r\n }\r\n\r\n public setDefaultValues(item?: Packing): { [controlKey: string]: any } | any {\r\n return this.setValue(item, 'cuid');\r\n }\r\n\r\n onProductPackingSelected(packing: Packing) {\r\n this.productPackingSelected.emit(packing);\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/store-management/product/product-packing-selection/product-packing-selection.component.ts","module.exports = \"\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/store-management/product/product-selection/product-selection.component.css\n// module id = ./src/app/store-management/product/product-selection/product-selection.component.css\n// module chunks = main","module.exports = \"\\r\\n\\r\\n\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/store-management/product/product-selection/product-selection.component.html\n// module id = ./src/app/store-management/product/product-selection/product-selection.component.html\n// module chunks = main","import {ChangeDetectorRef, Component, EventEmitter, forwardRef, Input, OnDestroy, OnInit, Output} from \"@angular/core\";\r\nimport {AbstractVisbosControl} from \"../../../core/visbos-core/ui/forms/abstract-visbos-control\";\r\nimport {Product} from \"../../../shared/view-model/store-management/product.type\";\r\nimport {FormBuilder, FormControl} from \"@angular/forms\";\r\nimport {appInjector} from \"../../../index\";\r\nimport {StockItem} from \"../../../shared/view-model/store-management/stock-item.type\";\r\n\r\n@Component({\r\n selector: 'vb-product-selection',\r\n templateUrl: './product-selection.component.html',\r\n styleUrls: ['./product-selection.component.css'],\r\n providers: [{provide: AbstractVisbosControl, useExisting: forwardRef(() => ProductSelectionComponent)}]\r\n})\r\nexport class ProductSelectionComponent extends AbstractVisbosControl implements OnInit, OnDestroy {\r\n\r\n products: Product[] = [];\r\n defaultProduct: Product;\r\n\r\n private _stockItem: StockItem;\r\n\r\n get stockItem(): StockItem {\r\n return this._stockItem;\r\n }\r\n\r\n @Input()\r\n set stockItem(value: StockItem) {\r\n this._stockItem = value;\r\n\r\n this.products = value ? value.products : [];\r\n\r\n if (!this.products) {\r\n return;\r\n }\r\n\r\n this.defaultProduct = this.products.find(pr => pr.default_product);\r\n this.item = this.defaultProduct;\r\n\r\n }\r\n\r\n @Output()\r\n productSelected: EventEmitter = new EventEmitter();\r\n\r\n constructor(fb: FormBuilder, cd: ChangeDetectorRef) {\r\n super(fb, cd, null);\r\n }\r\n\r\n ngOnInit() {\r\n super.ngOnInit();\r\n }\r\n\r\n ngOnDestroy(): void {\r\n\r\n }\r\n\r\n buildControlContent(): FormControl {\r\n return ProductSelectionComponent.initControl(this.fb,);\r\n }\r\n\r\n public static initControl(fb: FormBuilder = null,): FormControl {\r\n fb = fb ? fb : appInjector().get(FormBuilder);\r\n return fb.control(null);\r\n }\r\n\r\n public setDefaultValues(item?: Product): {[controlKey: string]: any} | any {\r\n return this.setValue(item, 'cuid');\r\n }\r\n\r\n onProductSelected(product: Product) {\r\n this.productSelected.emit(product);\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/store-management/product/product-selection/product-selection.component.ts","import {withdrawalReducer} from \"./scans.reducer\";\r\nimport {TempWithdrawalCache} from \"./scans.types\";\r\nimport {TempWithdrawalCacheFactory} from \"./scans.initial-state\";\r\n\r\nexport {\r\n TempWithdrawalCache,\r\n TempWithdrawalCacheFactory,\r\n withdrawalReducer,\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/store-management/redux/index.ts","import {Injectable, NgZone} from \"@angular/core\";\r\nimport {NgRedux} from \"@angular-redux/store\";\r\nimport {IAppState} from \"../../shared/redux-store/store\";\r\nimport {AbstractVisbosControl} from \"../../core/visbos-core/ui/forms/abstract-visbos-control\";\r\nimport {WithdrawalConsumerInterface} from \"../model/withdrawal-consumer-interface.type\";\r\nimport {Stock} from \"../../shared/view-model/stock\";\r\nimport {WithdrawalReasonInterface} from \"../model/withdrawal-reason-interface.type\";\r\nimport {WithdrawalService} from \"../services/withdrawal.service\";\r\nimport {SessionActions} from \"../../shared/actions/session.actions\";\r\nimport {MessageType} from \"../../shared/redux-store/session/session.types\";\r\nimport {UserService} from \"../../crm/user/user.service\";\r\nimport {Observable} from \"rxjs/Observable\";\r\nimport {Withdrawal} from \"../model/withdrawal\";\r\nimport {VisbosErrorHandlerService} from \"../../core/visbos-core/error-handling/visbos-error-handler.service\";\r\nimport {catchError, finalize, tap} from \"rxjs/operators\";\r\nimport {forkJoin} from \"rxjs/observable/forkJoin\";\r\nimport {of} from \"rxjs/observable/of\";\r\nimport {empty} from 'rxjs/observable/empty';\r\nimport * as _ from 'lodash';\r\n\r\n@Injectable()\r\nexport class WithdrawalActions {\r\n\r\n static CREATE_WITHDRAWAL = 'CREATE_WITHDRAWAL';\r\n static SET_ACTIVE_WITHDRAWAL = 'SET_ACTIVE_WITHDRAWAL';\r\n\r\n static SET_NOTE = 'SET_NOTE';\r\n\r\n static SELECT_CONSUMER = 'SELECT_CONSUMER';\r\n static SELECT_REASON = 'SELECT_REASON';\r\n\r\n static SELECT_USER_INIT = 'SELECT_USER_INIT';\r\n static SELECT_USER_SUCCESS = 'SELECT_USER_SUCCESS';\r\n static SELECT_USER_ERROR = 'SELECT_USER_ERROR';\r\n\r\n static WITHDRAW_STOCK = 'WITHDRAW_STOCK';\r\n static CHANGE_STOCK_AMOUNT = 'CHANGE_STOCK_AMOUNT';\r\n static REMOVE_STOCK_FROM_WITHDRAWAL = 'REMOVE_STOCK_FROM_WITHDRAWAL';\r\n\r\n static COMMIT_WITHDRAWAL_SUCCESS = 'COMMIT_WITHDRAWAL_SUCCESS';\r\n static COMMIT_WITHDRAWAL_ERROR = 'COMMIT_WITHDRAWAL_ERROR';\r\n\r\n static COMMIT_WITHDRAWALS_INIT = 'COMMIT_WITHDRAWALS_INIT';\r\n static COMMIT_WITHDRAWALS_SUCCESS = 'COMMIT_WITHDRAWALS_SUCCESS';\r\n static COMMIT_WITHDRAWALS_ERROR = 'COMMIT_WITHDRAWALS_ERROR';\r\n\r\n static CANCEL_WITHDRAWAL = 'CANCEL_WITHDRAWAL';\r\n\r\n constructor(private ngRedux: NgRedux, private wdService: WithdrawalService, private sessionActions: SessionActions, private userService: UserService, private err: VisbosErrorHandlerService) {\r\n }\r\n\r\n createNewWithdrawal(): string {\r\n let cuid = AbstractVisbosControl.cuid();\r\n\r\n this.ngRedux.dispatch({\r\n type: WithdrawalActions.CREATE_WITHDRAWAL,\r\n payload: {\r\n cuid: cuid,\r\n withdrawal_timestamp: new Date(),\r\n administration_unit_id: this.ngRedux.getState().session.activeAdminUnit,\r\n authenticated_user_id: this.ngRedux.getState().session.user.cuid\r\n }\r\n });\r\n\r\n this.selectWithdrawal(cuid);\r\n\r\n return cuid;\r\n }\r\n\r\n selectWithdrawal(withdrawalCuid: string) {\r\n this.ngRedux.dispatch({\r\n type: WithdrawalActions.SET_ACTIVE_WITHDRAWAL,\r\n payload: withdrawalCuid\r\n });\r\n }\r\n\r\n selectConsumer(withdrawalCuid: string, consumer_type: string, consumer: WithdrawalConsumerInterface) {\r\n this.ngRedux.dispatch({\r\n type: WithdrawalActions.SELECT_CONSUMER,\r\n payload: {\r\n withdrawal_id: withdrawalCuid,\r\n consumer: {\r\n consumer_id: consumer.cuid,\r\n consumer_type: consumer_type,\r\n consumer: consumer\r\n }\r\n }\r\n });\r\n }\r\n\r\n selectUserByPersonalNumber(personalNumber: any, signature: string) {\r\n\r\n this.ngRedux.dispatch({\r\n type: WithdrawalActions.SELECT_USER_INIT,\r\n payload: {\r\n personal_number: personalNumber,\r\n signature: signature\r\n }\r\n });\r\n\r\n this.ngRedux.dispatch({\r\n type: WithdrawalActions.SELECT_USER_SUCCESS,\r\n payload: {\r\n user: this.ngRedux.getState().session.user\r\n }\r\n });\r\n\r\n //TODO: Change to real authentication mechanism!!\r\n\r\n /*\r\n this.userService.getUserByPersonalNumber(personalNumber).toPromise()\r\n .then(res => {\r\n let user = res.data.user;\r\n\r\n this.ngRedux.dispatch({\r\n type: WithdrawalActions.SELECT_USER_SUCCESS,\r\n payload: {\r\n user: user\r\n }\r\n });\r\n })\r\n .catch(err => {\r\n this.ngRedux.dispatch({\r\n type: WithdrawalActions.SELECT_USER_ERROR\r\n });\r\n });\r\n */\r\n }\r\n\r\n selectWithdrawalReason(withdrawalCuid: string, reason_type: string, reason?: WithdrawalReasonInterface) {\r\n this.ngRedux.dispatch({\r\n type: WithdrawalActions.SELECT_REASON,\r\n payload: {\r\n withdrawal_id: withdrawalCuid,\r\n reason: {\r\n withdrawal_reason_id: reason ? reason.cuid : null,\r\n withdrawal_reason_type: reason_type,\r\n withdrawal_reason: reason ? reason : null\r\n }\r\n }\r\n });\r\n }\r\n\r\n setNote(withdrawalCuid: string, note: string) {\r\n this.ngRedux.dispatch({\r\n type: WithdrawalActions.SET_NOTE,\r\n payload: {\r\n withdrawal_id: withdrawalCuid,\r\n note: note\r\n }\r\n });\r\n }\r\n\r\n addStockToWithdrawal(withdrawalCuid: string, stock: Stock, amount?: number) {\r\n let compAmount = stock.extraction_amount ? stock.extraction_amount : 1;\r\n this.ngRedux.dispatch({\r\n type: WithdrawalActions.WITHDRAW_STOCK,\r\n payload: {\r\n cuid: AbstractVisbosControl.cuid(),\r\n withdrawal_id: withdrawalCuid,\r\n stock: _.cloneDeep(stock),\r\n amount: amount ? amount : (compAmount)\r\n }\r\n });\r\n }\r\n\r\n removeStockFromWithdrawal(withdrawalCuid: string, stock: Stock) {\r\n this.ngRedux.dispatch({\r\n type: WithdrawalActions.REMOVE_STOCK_FROM_WITHDRAWAL,\r\n payload: {\r\n withdrawal_id: withdrawalCuid,\r\n stock: stock,\r\n }\r\n });\r\n }\r\n\r\n setStockAmountForWithdrawal(withdrawalCuid: string, stock: Stock, amount: number) {\r\n this.ngRedux.dispatch({\r\n type: WithdrawalActions.CHANGE_STOCK_AMOUNT,\r\n payload: {\r\n withdrawal_id: withdrawalCuid,\r\n stock: stock,\r\n amount: amount\r\n }\r\n });\r\n }\r\n\r\n commitWithdrawals(): Observable {\r\n\r\n if (this.ngRedux.getState().withdrawals.is_committing) {\r\n console.warn(\"Already committing withdrawals...\");\r\n return empty();\r\n }\r\n\r\n this.ngRedux.dispatch({\r\n type: WithdrawalActions.COMMIT_WITHDRAWALS_INIT\r\n });\r\n\r\n\r\n\r\n let wds = this.ngRedux.getState().withdrawals.withdrawalList;\r\n\r\n let noWds = 0;\r\n let noErrors = 0;\r\n let noSuccess = 0;\r\n\r\n let queries: Observable[] = [];\r\n\r\n for (let wd of wds) {\r\n\r\n if (wd.consumer && wd.withdrawn_stocks && wd.withdrawn_stocks.length > 0) {\r\n\r\n let wdInput = {\r\n cuid: wd.cuid,\r\n administration_unit_id: wd.administration_unit_id,\r\n withdrawal_timestamp: wd.withdrawal_timestamp,\r\n withdrawal_reason_id: wd.withdrawal_reason_id,\r\n withdrawal_reason_type: wd.withdrawal_reason_type,\r\n consumer_id: wd.consumer_id,\r\n consumer_type: wd.consumer_type,\r\n withdrawn_stocks: wd.withdrawn_stocks\r\n };\r\n\r\n let medAuthData = {\r\n authenticated_user_token: this.ngRedux.getState().session.token,\r\n authenticated_user_cuid: wd.authenticated_user ? wd.authenticated_user.cuid : this.ngRedux.getState().session.user.cuid,\r\n personal_number: wd.personal_number,\r\n signature: wd.signature\r\n };\r\n\r\n noWds++;\r\n queries.push(\r\n this.wdService.createWithdrawal(wdInput, medAuthData).pipe(\r\n tap(wdRes => {\r\n noSuccess++;\r\n this.ngRedux.dispatch({\r\n type: WithdrawalActions.COMMIT_WITHDRAWAL_SUCCESS,\r\n payload: {\r\n withdrawal_id: wdRes.cuid\r\n }\r\n });\r\n }),\r\n catchError(err => {\r\n\r\n if (err.networkError) {\r\n console.warn(\"Network error during committing withdrawals\", [err]);\r\n } else {\r\n noErrors++;\r\n this.err.handleError(err, \"Error creating withdrawal: #\" + wdInput.cuid, () => {\r\n this.ngRedux.dispatch({\r\n type: WithdrawalActions.COMMIT_WITHDRAWAL_ERROR,\r\n payload: {\r\n withdrawal_id: wd.cuid,\r\n error: err\r\n }\r\n });\r\n });\r\n }\r\n\r\n return of({});\r\n })\r\n )\r\n );\r\n\r\n } else {\r\n this.cancelWithdrawal(wd.cuid);\r\n }\r\n\r\n }\r\n\r\n // Watch all queries\r\n let res = forkJoin(queries).pipe(\r\n tap(\r\n res => {\r\n if (noErrors == 0 && noSuccess > 0) {\r\n this.sessionActions.pushMessage(\"Die Artikelentnahme wurde erfolgreich abgeschlossen! \" + noSuccess + \" Entnahmen wurden übertragen.\", MessageType.SUCCESS, \"Artikelentnahme\");\r\n this.finishWithdrawalsTransaction();\r\n } else if (noErrors > 0) {\r\n this.sessionActions.pushMessage(\"Während der Artikelentnahme ist ein Fehler aufgetreten (Erfolgreich übertragen: \" + noSuccess + \", Fehler: \" + noErrors + \"), bitte wenden Sie sich an den Support!\", MessageType.ERROR, \"Artikelentnahme\");\r\n this.finishWithdrawalsTransactionWithErrors();\r\n } else if (noSuccess == 0) {\r\n this.finishWithdrawalsTransactionWithErrors();\r\n } else {\r\n this.finishWithdrawalsTransaction();\r\n }\r\n }\r\n ),\r\n finalize(() => {\r\n if (noErrors > 0 || noSuccess == 0) {\r\n this.finishWithdrawalsTransactionWithErrors();\r\n } else {\r\n this.finishWithdrawalsTransaction();\r\n }\r\n })\r\n );\r\n\r\n return res;\r\n\r\n }\r\n\r\n finishWithdrawalsTransaction() {\r\n this.ngRedux.dispatch({\r\n type: WithdrawalActions.COMMIT_WITHDRAWALS_SUCCESS\r\n });\r\n }\r\n\r\n finishWithdrawalsTransactionWithErrors() {\r\n this.ngRedux.dispatch({\r\n type: WithdrawalActions.COMMIT_WITHDRAWALS_ERROR\r\n });\r\n }\r\n\r\n cancelWithdrawal(withdrawalId: string) {\r\n this.ngRedux.dispatch({\r\n type: WithdrawalActions.CANCEL_WITHDRAWAL,\r\n payload: {\r\n withdrawal_id: withdrawalId\r\n }\r\n });\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/store-management/redux/scans.actions.ts","/**\r\n * Created by afuhr on 20.09.2016.\r\n */\r\nimport {makeTypedFactory} from \"typed-immutable-record\";\r\n\r\nimport {\r\n TempWithdrawal,\r\n TempWithdrawalCache,\r\n TempWithdrawalCacheRecord,\r\n TempWithdrawalRecord,\r\n TempWithdrawnStock,\r\n TempWithdrawnStockRecord\r\n} from \"./scans.types\";\r\n\r\n\r\nexport const TempWithdrawnStockFactory = makeTypedFactory({\r\n cuid: null,\r\n stock: null,\r\n amount: 0\r\n});\r\n\r\nexport const TempWithdrawalFactory = makeTypedFactory({\r\n cuid: null,\r\n administration_unit_id: null,\r\n withdrawal_note: null,\r\n withdrawal_timestamp: null,\r\n withdrawal_reason_id: null,\r\n withdrawal_reason_type: 'Einsatz',\r\n withdrawal_reason: null,\r\n consumer_type: null,\r\n consumer_id: null,\r\n consumer: null,\r\n personal_number: null,\r\n signature: null,\r\n authenticated_user: null,\r\n withdrawn_stocks: [],\r\n is_complete: false\r\n});\r\n\r\nexport const TempWithdrawalCacheFactory = makeTypedFactory({\r\n withdrawalList: [],\r\n activeWithdrawalCuid: null,\r\n is_committing: false,\r\n has_errored: false\r\n});\r\n\r\nexport const INITIAL_STATE = TempWithdrawalCacheFactory();\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/store-management/redux/scans.initial-state.ts","/**\r\n * Created by afuhr on 20.09.2016.\r\n */\r\nimport {\r\n INITIAL_STATE,\r\n TempWithdrawalCacheFactory,\r\n TempWithdrawalFactory,\r\n TempWithdrawnStockFactory\r\n} from \"./scans.initial-state\";\r\nimport {IPayloadAction} from \"../../shared/actions/index\";\r\nimport {WithdrawalActions} from \"./scans.actions\";\r\nimport {TempWithdrawal, TempWithdrawalCacheRecord} from \"./scans.types\";\r\nimport {INITIAL_USER_STATE} from \"../../shared/redux-store/session/session.initial-state\";\r\n\r\nexport function withdrawalReducer(state: TempWithdrawalCacheRecord = INITIAL_STATE,\r\n action: IPayloadAction): TempWithdrawalCacheRecord {\r\n\r\n let newState: TempWithdrawalCacheRecord = JSON.parse(JSON.stringify(state));\r\n let activeWithdrawal: TempWithdrawal = newState.withdrawalList.find(wd => wd.cuid === (action.payload && action.payload.withdrawal_id ? action.payload.withdrawal_id : state.activeWithdrawalCuid));\r\n\r\n switch (action.type) {\r\n case WithdrawalActions.CREATE_WITHDRAWAL:\r\n let newWd: TempWithdrawal = TempWithdrawalFactory(action.payload).toJS();\r\n newState.withdrawalList.push(newWd);\r\n\r\n return TempWithdrawalCacheFactory(newState);\r\n\r\n case WithdrawalActions.SET_ACTIVE_WITHDRAWAL:\r\n return state.merge({\r\n activeWithdrawalCuid: action.payload\r\n });\r\n\r\n case WithdrawalActions.SET_NOTE:\r\n activeWithdrawal.withdrawal_note = action.payload.note;\r\n return TempWithdrawalCacheFactory(newState);\r\n\r\n case WithdrawalActions.SELECT_CONSUMER:\r\n newState.withdrawalList.map(wd => {\r\n if (wd.cuid == action.payload.withdrawal_id) {\r\n wd.consumer_id = action.payload.consumer.consumer_id;\r\n wd.consumer_type = action.payload.consumer.consumer_type;\r\n wd.consumer = action.payload.consumer.consumer;\r\n }\r\n return wd;\r\n });\r\n\r\n return TempWithdrawalCacheFactory(newState);\r\n\r\n case WithdrawalActions.SELECT_USER_INIT:\r\n activeWithdrawal.authenticated_user = INITIAL_USER_STATE;\r\n activeWithdrawal.personal_number = action.payload.personal_number;\r\n activeWithdrawal.signature = action.payload.signature;\r\n\r\n return TempWithdrawalCacheFactory(newState);\r\n\r\n case WithdrawalActions.SELECT_USER_SUCCESS:\r\n activeWithdrawal.authenticated_user = action.payload.user;\r\n\r\n return TempWithdrawalCacheFactory(newState);\r\n\r\n case WithdrawalActions.SELECT_USER_ERROR:\r\n activeWithdrawal.authenticated_user = null;\r\n\r\n return TempWithdrawalCacheFactory(newState);\r\n\r\n case WithdrawalActions.SELECT_REASON:\r\n newState.withdrawalList.map(wd => {\r\n if (wd.cuid == action.payload.withdrawal_id) {\r\n wd.withdrawal_reason = action.payload.reason.withdrawal_reason;\r\n wd.withdrawal_reason_type = action.payload.reason.withdrawal_reason_type;\r\n wd.withdrawal_reason_id = action.payload.reason.withdrawal_reason_id;\r\n }\r\n return wd;\r\n });\r\n\r\n return TempWithdrawalCacheFactory(newState);\r\n\r\n case WithdrawalActions.WITHDRAW_STOCK:\r\n\r\n if (!activeWithdrawal) {\r\n return state;\r\n }\r\n\r\n let stock = activeWithdrawal.withdrawn_stocks.find(st => st.stock.cuid === action.payload.stock.cuid);\r\n\r\n if (stock) {\r\n stock.amount += parseInt((action.payload.amount ? action.payload.amount : 1));\r\n } else {\r\n activeWithdrawal.withdrawn_stocks.push(TempWithdrawnStockFactory(action.payload).toJS());\r\n }\r\n\r\n return TempWithdrawalCacheFactory(newState);\r\n\r\n\r\n case WithdrawalActions.CHANGE_STOCK_AMOUNT:\r\n\r\n if (!activeWithdrawal) {\r\n return state;\r\n }\r\n\r\n stock = activeWithdrawal.withdrawn_stocks.find(st => st.cuid === action.payload.stock.cuid);\r\n\r\n if (stock) {\r\n stock.amount = parseInt(action.payload.amount);\r\n }\r\n\r\n return TempWithdrawalCacheFactory(newState);\r\n\r\n case WithdrawalActions.REMOVE_STOCK_FROM_WITHDRAWAL:\r\n\r\n if (!activeWithdrawal) {\r\n return state;\r\n }\r\n\r\n let stockId = activeWithdrawal.withdrawn_stocks.findIndex(st => st.cuid === action.payload.stock.cuid);\r\n\r\n if (stockId >= 0) {\r\n activeWithdrawal.withdrawn_stocks.splice(stockId, 1);\r\n }\r\n\r\n return TempWithdrawalCacheFactory(newState);\r\n\r\n case WithdrawalActions.COMMIT_WITHDRAWALS_INIT:\r\n return state.merge({\r\n is_committing: true,\r\n has_errored: false\r\n });\r\n\r\n case WithdrawalActions.COMMIT_WITHDRAWALS_SUCCESS:\r\n return state.merge({\r\n is_committing: false,\r\n has_errored: false\r\n });\r\n\r\n case WithdrawalActions.COMMIT_WITHDRAWALS_ERROR:\r\n return state.merge({\r\n is_committing: false,\r\n has_errored: true\r\n });\r\n\r\n case WithdrawalActions.COMMIT_WITHDRAWAL_SUCCESS:\r\n\r\n let index = newState.withdrawalList.findIndex(wd => wd.cuid == action.payload.withdrawal_id);\r\n\r\n if (newState.withdrawalList[index] && newState.withdrawalList[index].cuid == newState.activeWithdrawalCuid) {\r\n newState.activeWithdrawalCuid = null;\r\n }\r\n\r\n if (index > -1) {\r\n newState.withdrawalList.splice(index, 1);\r\n }\r\n\r\n return TempWithdrawalCacheFactory(newState);\r\n\r\n case WithdrawalActions.COMMIT_WITHDRAWAL_ERROR:\r\n\r\n if(action.payload.error && !action.payload.error.networkError) { // When its a critical error, remove it from the commit list\r\n index = newState.withdrawalList.findIndex(wd => wd.cuid == action.payload.withdrawal_id);\r\n\r\n if (newState.withdrawalList[index] && newState.withdrawalList[index].cuid == newState.activeWithdrawalCuid) {\r\n newState.activeWithdrawalCuid = null;\r\n }\r\n\r\n if (index > -1) {\r\n newState.withdrawalList.splice(index, 1);\r\n }\r\n }\r\n\r\n newState.has_errored = true;\r\n\r\n return TempWithdrawalCacheFactory(newState);\r\n\r\n case WithdrawalActions.CANCEL_WITHDRAWAL:\r\n\r\n index = newState.withdrawalList.findIndex(wd => wd.cuid == action.payload.withdrawal_id);\r\n\r\n if (newState.withdrawalList[index] && newState.withdrawalList[index].cuid == newState.activeWithdrawalCuid) {\r\n newState.activeWithdrawalCuid = null;\r\n }\r\n\r\n if (index > -1) {\r\n newState.withdrawalList.splice(index, 1);\r\n }\r\n\r\n return TempWithdrawalCacheFactory(newState);\r\n\r\n\r\n default:\r\n return state;\r\n }\r\n}\r\n\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/store-management/redux/scans.reducer.ts","import {Injectable} from \"@angular/core\";\r\nimport gql from \"graphql-tag\";\r\nimport {Observable} from \"rxjs/Observable\";\r\nimport {Apollo, ApolloQueryObservable} from \"apollo-angular\";\r\nimport {Depot} from \"../../../shared/view-model/store-management/depot.type\";\r\nimport {VisbosService} from \"../../../core/visbos-core/graphql/visbos.service\";\r\nimport {DepotYard} from \"../../../shared/view-model/store-management/depot-yard.type\";\r\nimport {stockFragments} from \"../stock.service\";\r\nimport {NgRedux} from \"@angular-redux/store\";\r\nimport {IAppState} from \"../../../shared/redux-store\";\r\nimport {SessionActions} from \"../../../shared/actions\";\r\nimport {map} from \"rxjs/operators\";\r\nimport {ApolloQueryResult} from \"apollo-client\";\r\n\r\nexport const depotYardFragments = {\r\n depotYard: gql`\r\n fragment DepotYardFields on DepotYard {\r\n cuid, label, name, description\r\n }`\r\n};\r\n\r\nexport const depotFragments = {\r\n depot: gql`\r\n fragment DepotFields on Depot {\r\n cuid, label, name, description,\r\n administration_unit {cuid, label},\r\n centralDepot {cuid, label},\r\n auto_order_proposals_enabled,\r\n depot_yards {\r\n ...DepotYardFields\r\n }\r\n managed_by_admin_units {\r\n cuid label\r\n }\r\n identities {cuid created_at label ean ean_type is_seal}\r\n }\r\n\r\n ${depotYardFragments.depotYard}\r\n `\r\n};\r\n\r\nexport const fetchDepotsQuery = gql`\r\n query FetchDepotsQuery($AU: String $cuid: String){\r\n fetchDepots(cuid: $cuid, administration_unit_cuid: $AU) {\r\n ...DepotFields\r\n }\r\n }\r\n\r\n ${depotFragments['depot']}\r\n`;\r\n\r\nexport const fetchDepotDetailsQuery = gql`\r\n query FetchDepotDetailsQuery($AU: String! $cuid: String){\r\n fetchDepots(cuid: $cuid, administration_unit_cuid: $AU) {\r\n ...DepotFields\r\n stocks {\r\n ...StockDetailFields\r\n }\r\n }\r\n }\r\n ${stockFragments.stock}\r\n ${depotFragments['depot']}\r\n`;\r\n\r\nexport const fetchDepotYardsQuery = gql`\r\n query FetchDepotYardsForDepot($depot_id: String) {\r\n depotYards(depot_cuid: $depot_id) {\r\n ...DepotYardFields\r\n }\r\n }\r\n\r\n ${depotYardFragments.depotYard}\r\n`;\r\n\r\nexport interface FetchDepotsResult {\r\n fetchDepots: Depot[]\r\n}\r\n\r\n@Injectable()\r\nexport class DepotService extends VisbosService {\r\n\r\n\r\n constructor(apollo: Apollo, ngRedux: NgRedux, sessionActions: SessionActions) {\r\n super(apollo, ngRedux, sessionActions);\r\n }\r\n\r\n public getDepotsList(administration_unit_cuid?: string | Observable): ApolloQueryObservable {\r\n\r\n let data$ = this.fetchItems({\r\n query: fetchDepotsQuery,\r\n variables: {\r\n AU: administration_unit_cuid || this.activeAdminUnitCuid$\r\n }\r\n });\r\n\r\n let model$ = data$.pipe(map(({data}: any) => data.fetchDepots));\r\n\r\n return >model$;\r\n }\r\n\r\n public getDepot(depotCuid: string | Observable, administration_unit_cuid?: string | Observable): ApolloQueryObservable {\r\n return this.fetchItems({\r\n query: fetchDepotsQuery,\r\n variables: {\r\n AU: administration_unit_cuid || this.activeAdminUnitCuid$,\r\n cuid: depotCuid\r\n }\r\n });\r\n }\r\n\r\n public getDepotWithStocks(depotCuid: string | Observable, administration_unit_cuid?: string | Observable): ApolloQueryObservable {\r\n return this.fetchItems({\r\n query: fetchDepotDetailsQuery,\r\n variables: {\r\n AU: administration_unit_cuid || this.activeAdminUnitCuid$,\r\n cuid: depotCuid\r\n }\r\n });\r\n }\r\n\r\n public getDepotsWithStocks(onlyCriticalStocks: boolean = false, administrationUnitCuid?: string | Observable): ApolloQueryObservable {\r\n\r\n let data$ = this.fetchItems({\r\n query: gql`\r\n query DepotsWithCriticalStocks($adminUnitCuid: String!, $onlyCriticalStocks: Boolean = false) {\r\n fetchDepots(administration_unit_cuid: $adminUnitCuid) {\r\n ...DepotFields\r\n stocks(only_critical: $onlyCriticalStocks) {\r\n cuid, label, act_stock, shall_stock, report_stock, has_open_orders\r\n }\r\n }\r\n }\r\n\r\n ${depotFragments['depot']}\r\n `,\r\n variables: {\r\n adminUnitCuid: administrationUnitCuid || this.activeAdminUnitCuid$,\r\n onlyCriticalStocks: onlyCriticalStocks\r\n }\r\n });\r\n\r\n return >data$.pipe(map(({data}: any) => data.fetchDepots));\r\n }\r\n\r\n public addDepot(depotData): Observable {\r\n return this.mutate({\r\n mutation: gql`\r\n mutation AddDepotMutation($depot_input: DepotInput!) {\r\n addDepot(depot: $depot_input) {\r\n ...DepotFields\r\n }\r\n }\r\n\r\n ${depotFragments.depot}\r\n `,\r\n variables: {\r\n depot_input: depotData\r\n },\r\n refetchQueries: ['FetchDepotsQuery']\r\n }).pipe(\r\n map((res: any) => res.addDepot)\r\n );\r\n }\r\n\r\n public editDepot(depotCuid: string, depotData): Observable {\r\n return this.mutate({\r\n mutation: gql`\r\n mutation UpdateDepotMutation($depot_input: DepotInput!) {\r\n updateDepot(depot: $depot_input) {\r\n ...DepotFields\r\n }\r\n }\r\n\r\n ${depotFragments.depot}\r\n `,\r\n variables: {\r\n depot_input: depotCuid ? Object.assign(depotData, {cuid: depotCuid}) : depotData\r\n }\r\n }).pipe(\r\n map((res: any) => res.updateDepot)\r\n );\r\n }\r\n\r\n public deleteDepot(depotCuid: string) {\r\n return this.mutate({\r\n mutation: gql`\r\n mutation DeleteDepotMutation($cuid: String!) {\r\n deleteDepot(cuid: $cuid)\r\n }`,\r\n variables: {\r\n cuid: depotCuid\r\n },\r\n updateQueries: this.deleteItemsFromQueries(depotCuid, 'fetchDepots', 'FetchDepotsQuery'),\r\n refetchQueries: ['FetchDepotsQuery']\r\n });\r\n }\r\n\r\n\r\n public getDepotYards(depot_cuid: string | Observable): ApolloQueryObservable {\r\n\r\n let data$ = this.fetchItems({\r\n query: fetchDepotYardsQuery,\r\n variables: {\r\n depot_id: depot_cuid\r\n }\r\n });\r\n\r\n let model$ = data$.pipe(\r\n map(({data}: any) => data.depotYards)\r\n );\r\n\r\n return >model$;\r\n }\r\n\r\n\r\n public addDepotYard(depotYardData, depotCuid?: string): Observable {\r\n return this.mutate({\r\n mutation: gql`\r\n mutation AddDepotYardMutation($depot_yard_input: DepotYardInput!) {\r\n addDepotYard(depot_yard: $depot_yard_input) {\r\n ...DepotYardFields\r\n }\r\n }\r\n\r\n ${depotYardFragments.depotYard}\r\n `,\r\n variables: {\r\n depot_yard_input: depotCuid ? Object.assign(depotYardData, {depot_id: depotCuid}) : depotYardData\r\n },\r\n refetchQueries: ['FetchDepotYardsForDepot']\r\n }).pipe(\r\n map((res: any) => res.addDepotYard)\r\n );\r\n }\r\n\r\n public editDepotYard(depotYardCuid: string, depotYardData): Observable> {\r\n return this.mutate({\r\n mutation: gql`\r\n mutation UpdateDepotYardMutation($depot_yard_input: DepotYardInput!) {\r\n updateDepotYard(depot_yard: $depot_yard_input) {\r\n ...DepotYardFields\r\n }\r\n }\r\n\r\n ${depotYardFragments.depotYard}\r\n `,\r\n variables: {\r\n depot_yard_input: depotYardCuid ? Object.assign(depotYardData, {cuid: depotYardCuid}) : depotYardData\r\n }\r\n });\r\n }\r\n\r\n public deleteDepotYard(depotYardCuid: string) {\r\n return this.mutate({\r\n mutation: gql`\r\n mutation DeleteDepotYardMutation($cuid: String!) {\r\n deleteDepotYard(cuid: $cuid)\r\n }`,\r\n variables: {\r\n cuid: depotYardCuid\r\n },\r\n refetchQueries: ['FetchDepotYardsForDepot']\r\n });\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/store-management/services/depot-service/depot.service.ts","import {Injectable} from '@angular/core';\r\nimport {VisbosService} from '../../../core/visbos-core/graphql/visbos.service';\r\nimport {Apollo, ApolloQueryObservable} from 'apollo-angular';\r\nimport {NgRedux} from '@angular-redux/store';\r\nimport {IAppState} from '../../../shared/redux-store';\r\nimport {SessionActions} from '../../../shared/actions';\r\nimport gql from 'graphql-tag';\r\nimport {Observable} from 'rxjs';\r\nimport {ApolloQueryResult} from 'apollo-client';\r\nimport {\r\n DeleteInvoiceMutation,\r\n GenerateInvoiceMutation,\r\n GenerateInvoiceMutationVariables,\r\n GenerateInvoicePdfMutation,\r\n GetInvoiceQuery,\r\n GetInvoicesQuery,\r\n UpdateInvoiceMutation,\r\n UpdateInvoiceMutationVariables\r\n} from '../../../shared/graphql/graphql.types';\r\n\r\nexport const invoiceFragments = {\r\n invoices: gql`\r\n fragment InvoiceFields on Invoice {\r\n cuid label created_at updated_at\r\n\r\n invoice_no invoice_date delivery_date\r\n\r\n billing_address_name billing_address_street billing_address_city billing_address_country\r\n invoice_address_name invoice_address_street invoice_address_city invoice_address_country\r\n\r\n invoice_opening_text invoice_payment_terms_text invoice_taxes_text invoice_ending_text\r\n\r\n invoice_items {\r\n cuid pos_no text\r\n article_number article_label amount packing_unit tax price_netto total_price\r\n }\r\n\r\n total_netto total_taxes total_brutto\r\n\r\n administration_unit {cuid label}\r\n }\r\n `,\r\n invoicesOverview: gql`\r\n fragment InvoiceOverviewFields on Invoice {\r\n cuid label created_at updated_at is_editable\r\n\r\n invoice_no invoice_date delivery_date\r\n\r\n billing_address_name invoice_address_name\r\n\r\n administration_unit {cuid label}\r\n }\r\n `\r\n};\r\n\r\nexport const generateInvoiceMutation = gql`\r\n mutation GenerateInvoice($accountingUnitId: String!, $accountingUnitType: String!, $invoiceData: InvoiceInput!, $aggregateData: Boolean, $start: String, $end: String) {\r\n createInvoice(accounting_unit_id:$accountingUnitId,\r\n accounting_unit_type: $accountingUnitType,\r\n invoice_data: $invoiceData,\r\n aggregate_data: $aggregateData,\r\n start: $start,\r\n end: $end) {\r\n ...InvoiceFields\r\n }\r\n }\r\n ${invoiceFragments.invoices}\r\n`;\r\n\r\nexport const updateInvoiceMutation = gql`\r\n mutation UpdateInvoice($invoiceCuid: ID!, $invoiceData: InvoiceInput!) {\r\n updateInvoice(invoice_cuid: $invoiceCuid, invoice_data: $invoiceData) {\r\n ...InvoiceFields\r\n }\r\n }\r\n ${invoiceFragments.invoices}\r\n`;\r\n\r\nexport const generateInvoicePdfMutation = gql`\r\n mutation GenerateInvoicePdf($invoiceCuid: String!) {\r\n generateInvoicePdf(cuid: $invoiceCuid)\r\n }\r\n`;\r\n\r\nexport const getInvoiceQuery = gql`\r\n query GetInvoice($cuid:String!) {\r\n invoice (cuid: $cuid) {\r\n ...InvoiceFields\r\n }\r\n }\r\n ${invoiceFragments.invoices}\r\n`;\r\n\r\nexport const getInvoicesQuery = gql`\r\n query GetInvoices($adminUnitCuid:String) {\r\n invoices(admin_unit_cuid: $adminUnitCuid) {\r\n ...InvoiceOverviewFields\r\n }\r\n }\r\n ${invoiceFragments.invoicesOverview}\r\n`;\r\n\r\nexport const deleteInvoiceMutation = gql`\r\n mutation DeleteInvoice($invoiceCuid: String!) {\r\n deleteInvoice(cuid: $invoiceCuid)\r\n }\r\n`;\r\n\r\n@Injectable()\r\nexport class InvoiceService extends VisbosService {\r\n\r\n constructor(apollo: Apollo, ngRedux: NgRedux, sessionActions: SessionActions) {\r\n super(apollo, ngRedux, sessionActions);\r\n }\r\n\r\n generateInvoice(data: GenerateInvoiceMutationVariables): Observable> {\r\n return this.mutate({\r\n mutation: generateInvoiceMutation,\r\n variables: data,\r\n refetchQueries: ['GetInvoices']\r\n });\r\n }\r\n\r\n getInvoice(cuid): ApolloQueryObservable {\r\n return this.fetchItems({\r\n query: getInvoiceQuery,\r\n variables: {\r\n cuid\r\n }\r\n });\r\n }\r\n\r\n getInvoices(variables?): ApolloQueryObservable {\r\n return this.fetchItems({\r\n query: getInvoicesQuery,\r\n variables\r\n });\r\n }\r\n\r\n updateInvoice(variables: UpdateInvoiceMutationVariables): Observable> {\r\n return this.mutate({\r\n mutation: updateInvoiceMutation,\r\n variables\r\n });\r\n }\r\n\r\n generateInvoicePdf(cuid: string): Observable> {\r\n return this.mutate({\r\n mutation: generateInvoicePdfMutation,\r\n variables: {\r\n invoiceCuid: cuid\r\n }\r\n });\r\n }\r\n\r\n deleteInvoice(cuid: string): Observable> {\r\n return this.mutate({\r\n mutation: deleteInvoiceMutation,\r\n variables: {\r\n invoiceCuid: cuid\r\n },\r\n refetchQueries: ['GetInvoices']\r\n });\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/store-management/services/invoice/invoice.service.ts","import {Injectable} from \"@angular/core\";\r\nimport {VisbosService} from \"../../core/visbos-core/graphql/visbos.service\";\r\nimport {Apollo, ApolloQueryObservable} from \"apollo-angular\";\r\nimport {DosageForm, Medicine} from \"../model/medicine.type\";\r\nimport gql from \"graphql-tag\";\r\nimport {SubstanceGroup} from \"../model/substance-group.type\";\r\nimport {Substance} from \"../model/substance.type\";\r\nimport {MedicineBookEntry} from \"../model/medicine-book-entry\";\r\nimport {Observable} from \"rxjs/Observable\";\r\nimport {ApolloQueryResult} from \"apollo-client\";\r\nimport {Stock} from \"../../shared/view-model/stock\";\r\nimport {NgRedux} from \"@angular-redux/store\";\r\nimport {IAppState} from \"../../shared/redux-store\";\r\nimport {SessionActions} from \"../../shared/actions\";\r\nimport {map} from \"rxjs/operators\";\r\nimport {GenerateMedicineBookMutation, ImportMedicineMutation} from \"../../shared/graphql/graphql.types\";\r\nimport {productFragments} from \"./product-services/product.service\";\r\n\r\nexport const substanceFragments = {\r\n substances: gql`\r\n fragment SubstanceFields on Substance {\r\n cuid, label, name,\r\n substance_group {cuid, label, name}\r\n }`\r\n};\r\n\r\nexport const dosageFormFragments = {\r\n dosageForms: gql`\r\n fragment DosageFormFields on DosageForm {\r\n cuid, label\r\n }`\r\n};\r\n\r\nexport const medicineFragments = {\r\n medicine: gql`\r\n fragment MedicineFields on Medicine {\r\n cuid, label, is_editable,\r\n created_at, updated_at,\r\n name, notes,\r\n stock_item {cuid, label},\r\n administration_unit {cuid label},\r\n dosage_form { ...DosageFormFields },\r\n capacity, capacity_unit {cuid, label, unit, unit_name}, capacity_string, custom_capacity\r\n main_substance_dosage_string,\r\n dosage_per_capacity_string,\r\n substances {\r\n cuid,\r\n dosage,\r\n dosage_unit {cuid, label, unit, unit_name}\r\n custom_dosage,\r\n substance {...SubstanceFields}\r\n }\r\n }\r\n\r\n ${substanceFragments.substances}\r\n ${dosageFormFragments.dosageForms}\r\n `\r\n};\r\n\r\nexport const medicineBookFragments = {\r\n medicineBookEntry: gql`\r\n fragment MedicineBookEntryFields on MedicineBookEntry {\r\n cuid label is_editable\r\n medicine_name type entry_date\r\n old_stock stock_change new_stock\r\n consumer_type consumer\r\n supplier_type supplier\r\n stock_change_reason_type stock_change_reason\r\n stock_withdrawal {cuid label}\r\n stock_increase {cuid label}\r\n sign_name sign_url is_valid\r\n }`\r\n};\r\n\r\nexport const fetchSubstanceGroupsQuery = gql`\r\n query FetchSubstanceGroups {\r\n substanceGroups {\r\n cuid, label, name, label_color, dosage_color\r\n }\r\n }`;\r\n\r\nexport const fetchSubstancesQuery = gql`\r\n query FetchSubstancesQuery {\r\n substances {\r\n ...SubstanceFields\r\n }\r\n }\r\n ${substanceFragments.substances}\r\n`;\r\n\r\nexport const fetchDosageFormsQuery = gql`\r\n query FetchDosageFormsQuery {\r\n dosageForms {\r\n ...DosageFormFields\r\n }\r\n }\r\n ${dosageFormFragments.dosageForms}\r\n`;\r\n\r\nexport const fetchMedicineBookEntries = gql`\r\n query FetchMedicineBookEntries($medicineStockCuid: String!) {\r\n medicineBookEntries(medicineStockCuid: $medicineStockCuid) {\r\n ...MedicineBookEntryFields\r\n }\r\n }\r\n ${medicineBookFragments.medicineBookEntry}\r\n`;\r\n\r\nexport const fetchMedicinesQuery = gql`\r\n query FetchMedicinesQuery($adminUnitCuid: String, $medicineCuids: [String]) {\r\n medicines(adminUnitCuid: $adminUnitCuid, medicineCuids: $medicineCuids) {\r\n ...MedicineFields\r\n }\r\n }\r\n\r\n ${medicineFragments['medicine']}\r\n`;\r\n\r\nexport const fetchMedicineStocksQuery = gql`\r\n query FetchMedicineStocksQuery($depotCuid: String!) {\r\n medicineStocks(depotCuid: $depotCuid) {\r\n cuid label updated_at\r\n min_stock report_stock shall_stock act_stock\r\n registration_required\r\n stock_item {\r\n category {cuid label}\r\n cuid label\r\n medicine {\r\n ...MedicineFields\r\n }\r\n }\r\n }\r\n }\r\n ${medicineFragments.medicine}\r\n`;\r\n\r\nexport const createMedicineMutation = gql`\r\n mutation CreateMedicineMutation($medicineInput: MedicineInput!) {\r\n createMedicine(medicine: $medicineInput) {\r\n ...MedicineFields\r\n }\r\n }\r\n ${medicineFragments.medicine}\r\n`;\r\n\r\nexport const updateMedicineMutation = gql`\r\n mutation UpdateMedicineMutation($medicineCuid: String!, $medicineInput: MedicineInput!) {\r\n updateMedicine(medicineCuid: $medicineCuid, medicine: $medicineInput) {\r\n ...MedicineFields\r\n }\r\n }\r\n ${medicineFragments.medicine}\r\n`;\r\n\r\nexport const deleteMedicineMutation = gql`\r\n mutation DeleteMedicineMutation($medicineCuid: String!) {\r\n deleteMedicine(medicineCuid: $medicineCuid)\r\n }\r\n`;\r\n\r\nexport const generateMedicineBookPdf = gql`\r\n mutation GenerateMedicineBook($medicineStocksCuids: [String]) {\r\n medicineBookPdf(medicineStocksCuids: $medicineStocksCuids)\r\n }\r\n`;\r\n\r\nexport const importMedicineMutation = gql`\r\n mutation ImportMedicine($adminUnitCuid: String, $supplierId: String!, $medicineData: [MedicineImportInput]) {\r\n importMedicines(administration_unit_id: $adminUnitCuid, supplier_id: $supplierId, medicine_data: $medicineData) {\r\n cuid, label, name, short_name,\r\n properties { cuid, name, short_name, value, property { cuid } },\r\n is_editable,\r\n category {cuid, label, name},\r\n administration_unit { cuid, label }\r\n products { ... ProductFields },\r\n default_product { ... ProductFields },\r\n manufacturer { cuid label },\r\n supplier { cuid label },\r\n packings { ...ProductPackingFields },\r\n medicine { ...MedicineFields },\r\n }\r\n }\r\n ${productFragments.product}\r\n ${productFragments.productPacking}\r\n ${medicineFragments.medicine}\r\n`;\r\n\r\nexport interface MedicinesResult {\r\n medicines: Medicine[];\r\n}\r\n\r\nexport interface MedicineStocksResult {\r\n medicineStocks: Stock[];\r\n}\r\n\r\nexport interface CreateMedicineResult {\r\n createMedicine: Medicine;\r\n}\r\n\r\nexport interface UpdateMedicineResult {\r\n updateMedicine: Medicine;\r\n}\r\n\r\nexport interface DeleteMedicineResult {\r\n deleteMedicine: boolean;\r\n}\r\n\r\nexport interface MedicineBookEntriesResult {\r\n medicineBookEntries: MedicineBookEntry[]\r\n}\r\n\r\nexport interface DosageFormsResult {\r\n dosageForms: DosageForm[];\r\n}\r\n\r\n@Injectable()\r\nexport class MedicineService extends VisbosService {\r\n\r\n\r\n constructor(apollo: Apollo, ngRedux: NgRedux, sessionActions: SessionActions) {\r\n super(apollo, ngRedux, sessionActions);\r\n }\r\n\r\n public getMedicines(adminUnitCuid?: string | Observable, medicineCuids?: string[]): ApolloQueryObservable {\r\n\r\n let query = this.fetchItems({\r\n query: fetchMedicinesQuery,\r\n variables: {\r\n adminUnitCuid: adminUnitCuid,\r\n medicineCuids: medicineCuids\r\n }\r\n });\r\n\r\n return query;\r\n }\r\n\r\n public getMedicineStocks(depotCuid: string | Observable): ApolloQueryObservable {\r\n\r\n let query = this.fetchItems({\r\n query: fetchMedicineStocksQuery,\r\n variables: {\r\n depotCuid: depotCuid\r\n }\r\n });\r\n\r\n return query;\r\n }\r\n\r\n public createMedicine(medicineInput): Observable> {\r\n return this.mutate({\r\n mutation: createMedicineMutation,\r\n variables: {\r\n medicineInput: medicineInput\r\n },\r\n refetchQueries: ['FetchMedicinesQuery']\r\n })\r\n }\r\n\r\n public updateMedicine(medicineCuid: string, medicineInput): Observable> {\r\n return this.mutate({\r\n mutation: updateMedicineMutation,\r\n variables: {\r\n medicineCuid: medicineCuid,\r\n medicineInput: medicineInput\r\n }\r\n })\r\n }\r\n\r\n public deleteMedicine(medicineCuid: string): Observable> {\r\n return this.mutate({\r\n mutation: deleteMedicineMutation,\r\n variables: {\r\n medicineCuid: medicineCuid\r\n },\r\n update: (proxy, result: ApolloQueryResult) => {\r\n if (result.data.deleteMedicine === true) {\r\n const vars = {\r\n adminUnitCuid: this.ngRedux.getState().session.activeAdminUnit,\r\n medicineCuids: null\r\n };\r\n\r\n const data: any = proxy.readQuery({\r\n query: fetchMedicinesQuery,\r\n variables: vars\r\n });\r\n data.medicines.splice(data.medicines.findIndex(med => med.cuid === medicineCuid), 1);\r\n\r\n proxy.writeQuery({\r\n query: fetchMedicinesQuery,\r\n data: data,\r\n variables: vars\r\n });\r\n }\r\n }\r\n })\r\n }\r\n\r\n public fetchMedicineBookEntries(medicineStockCuid: string | Observable): ApolloQueryObservable {\r\n\r\n let query = this.fetchItems({\r\n query: fetchMedicineBookEntries,\r\n variables: {\r\n medicineStockCuid: medicineStockCuid\r\n }\r\n });\r\n\r\n return query;\r\n }\r\n\r\n public getSubstanceGroups(): ApolloQueryObservable {\r\n let query = this.fetchItems({\r\n query: fetchSubstanceGroupsQuery\r\n });\r\n\r\n return >query.pipe(map(({data}: any) => data.substanceGroups));\r\n }\r\n\r\n public getSubstances(): ApolloQueryObservable<{ substances: Substance[] }> {\r\n let query = this.fetchItems<{ substances: Substance[] }>({\r\n query: fetchSubstancesQuery\r\n });\r\n\r\n return query;\r\n }\r\n\r\n public getDosageForms(): ApolloQueryObservable {\r\n let query = this.fetchItems({\r\n query: fetchDosageFormsQuery\r\n });\r\n return query;\r\n }\r\n\r\n public generateMedicineBookPdf(medicineStocksCuids: string[]): Observable> {\r\n return this.mutate({\r\n mutation: generateMedicineBookPdf,\r\n variables: {\r\n medicineStocksCuids: medicineStocksCuids\r\n }\r\n })\r\n }\r\n\r\n public importMedicines(supplierId: string, medicineData, adminUnitCuid?: string): Observable> {\r\n return this.mutate({\r\n mutation: importMedicineMutation,\r\n variables: {\r\n adminUnitCuid: adminUnitCuid,\r\n supplierId: supplierId,\r\n medicineData: medicineData\r\n },\r\n refetchQueries: ['FetchStockItemsQuery', 'FetchStockItemsWithParentsQuery']\r\n })\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/store-management/services/medicine.service.ts","import {Injectable} from \"@angular/core\";\r\nimport gql from \"graphql-tag\";\r\nimport {Observable} from \"rxjs/Observable\";\r\nimport {Apollo, ApolloQueryObservable} from \"apollo-angular\";\r\nimport {VisbosService} from \"../../../core/visbos-core/graphql/visbos.service\";\r\nimport {NgRedux} from \"@angular-redux/store\";\r\nimport {IAppState} from \"../../../shared/redux-store/store\";\r\nimport {SessionActions} from \"../../../shared/actions/session.actions\";\r\nimport {map} from \"rxjs/operators\";\r\nimport {FetchPackingUnitsQueryQuery} from \"../../../shared/graphql/graphql.types\";\r\n\r\nexport const fetchPackingUnitsQuery = gql`\r\n #Fetch Packing Units\r\n query FetchPackingUnitsQuery($AU: String) {\r\n fetchPackingUnits(administration_unit_cuid: $AU){\r\n cuid, label, packing_unit_name, packing_unit_short, packing_unit_plural, has_content\r\n administration_unit {\r\n cuid, label\r\n }\r\n }\r\n }`;\r\n\r\n@Injectable()\r\nexport class PackingUnitService extends VisbosService {\r\n\r\n constructor(apollo: Apollo, ngRedux: NgRedux, sessionActions: SessionActions) {\r\n super(apollo, ngRedux, sessionActions);\r\n }\r\n\r\n public getPackingUnitList(administration_unit_cuid?: string | Observable): Observable {\r\n\r\n let data$ = this.getPackingUnitListQuery(administration_unit_cuid);\r\n return data$.pipe(\r\n map(({data}: any) => data.fetchPackingUnits)\r\n );\r\n }\r\n\r\n public getPackingUnitListQuery(administration_unit_cuid?: string | Observable): ApolloQueryObservable {\r\n return this.fetchItems({\r\n query: fetchPackingUnitsQuery,\r\n variables: {\r\n AU: administration_unit_cuid\r\n }\r\n });\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/store-management/services/packing-unit/packing-unit.service.ts","import {Injectable} from \"@angular/core\";\r\nimport {productFragments} from \"../product-services/product.service\";\r\nimport {VisbosService} from \"../../../core/visbos-core/graphql/visbos.service\";\r\nimport {Apollo, ApolloQueryObservable} from \"apollo-angular\";\r\nimport {NgRedux} from \"@angular-redux/store\";\r\nimport {IAppState} from \"../../../shared/redux-store/store\";\r\nimport {SessionActions} from \"../../../shared/actions/session.actions\";\r\nimport {Observable} from \"rxjs/Observable\";\r\nimport {ShoppingCart} from \"../../../shared/view-model/store-management/shopping-cart.type\";\r\nimport {supplierFragments} from \"../../../crm/services/supplier/supplier.service\";\r\nimport {adminUnitFragments} from \"../../../organization/services/administration_unit_service/administration-unit.service\";\r\nimport {Order} from \"../../../shared/view-model/store-management/order.type\";\r\nimport {ApolloQueryResult} from \"apollo-client\";\r\nimport gql from \"graphql-tag\";\r\nimport {\r\n FillUpDepotMutation,\r\n GenerateDispatchListPdfMutation,\r\n LoadOrderQueryQuery,\r\n PrefetchShoppingCartsQuery\r\n} from \"../../../shared/graphql/graphql.types\";\r\nimport {warehousingFragments} from \"../warehousing-service/warehousing.service\";\r\nimport {storeManagementFragments} from \"../withdrawal.service\";\r\nimport {DispatchList} from \"../../../shared/view-model/store-management/dispatch-list.type\";\r\nimport {filter} from \"graphql-anywhere\";\r\n\r\nexport const procurementFragments = {\r\n shoppingCartItem: gql`\r\n fragment ShoppingCartItemFields on ShoppingCartItem {\r\n cuid,\r\n label,\r\n is_editable,\r\n article_number,\r\n article_label,\r\n packing_unit,\r\n packing_content,\r\n amount,\r\n price,\r\n total_price,\r\n edited,\r\n removed,\r\n referenced_stocks {\r\n cuid, label,\r\n min_stock, report_stock, shall_stock, act_stock,\r\n order_amount,\r\n depot { cuid, label }\r\n }\r\n stock_item { cuid, label }\r\n product_packing {\r\n ...ProductPackingFields\r\n }\r\n }\r\n\r\n ${productFragments.productPacking}\r\n `\r\n};\r\n\r\nexport const fragments = {\r\n shoppingCart: gql`\r\n fragment ShoppingCartFields on ShoppingCart {\r\n supplier{cuid label is_administration_unit {cuid label}}\r\n cuid,\r\n label,\r\n is_editable,\r\n created_at,\r\n updated_at,\r\n total,\r\n shopping_cart_items{\r\n ...ShoppingCartItemFields\r\n }\r\n }\r\n\r\n ${procurementFragments.shoppingCartItem}\r\n `\r\n};\r\n\r\nfragments['orderItem'] = gql`\r\n fragment OrderItemFields on OrderItem {\r\n cuid, label, is_editable\r\n article_number, article_label\r\n packing_unit, packing_content,\r\n amount, amount_in_orig_packing_open,\r\n amount_in_pieces, amount_in_pieces_delivered, amount_in_pieces_open\r\n price, total_price\r\n referenced_stocks {\r\n cuid, label,\r\n min_stock, report_stock, shall_stock, act_stock,\r\n order_amount,\r\n depot { cuid, label }\r\n depot_yard { cuid, label }\r\n identities { cuid, label, ean, ean_type }\r\n registration_required\r\n }\r\n available_stocks {\r\n cuid, label,\r\n min_stock, report_stock, shall_stock, act_stock,\r\n order_amount,\r\n depot { cuid, label }\r\n depot_yard { cuid, label }\r\n identities { cuid, label, ean, ean_type }\r\n registration_required\r\n }\r\n stock_item {cuid, label}\r\n product_packing {cuid, label}\r\n }\r\n`;\r\n\r\nfragments['orderItem'] = gql`\r\n fragment DeliveryItemFields on DeliveryItem {\r\n cuid, label, is_editable\r\n article_number, article_label\r\n packing_unit, packing_content,\r\n amount, amount_in_pieces\r\n price, total_price\r\n referenced_order_item {\r\n ...OrderItemFields\r\n }\r\n stock_item {cuid, label}\r\n product_packing {cuid, label}\r\n }\r\n ${fragments['orderItem']}\r\n`;\r\n\r\nfragments['delivery'] = gql`\r\n fragment DeliveryFields on Delivery {\r\n cuid, label, is_editable\r\n created_at, updated_at\r\n delivery_date, recipient_name, packing_slip_number, commission_number\r\n total\r\n administration_unit {cuid, label}\r\n supplier {cuid, label}\r\n order {cuid, label}\r\n delivery_items {\r\n ...DeliveryItemFields\r\n }\r\n }\r\n ${fragments['orderItem']}\r\n`;\r\n\r\nfragments['order_overview'] = gql`\r\n fragment OrderOverviewFields on Order {\r\n cuid, label, is_editable\r\n created_at, updated_at, is_completed\r\n recipient_name, recipient_street, recipient_city, recipient_country\r\n billing_address_name, billing_address_street, billing_address_city, billing_address_country\r\n delivery_address_name, delivery_address_street, delivery_address_city, delivery_address_country\r\n order_date, customer_number, commission_number\r\n ordered_via, order_data\r\n contact_person, contact_data\r\n administration_unit {cuid, label}\r\n supplier {cuid, label}\r\n }\r\n`;\r\n\r\nfragments['order'] = gql`\r\n fragment OrderFields on Order {\r\n cuid, label, is_editable\r\n created_at, updated_at, is_completed\r\n recipient_name, recipient_street, recipient_city, recipient_country\r\n billing_address_name, billing_address_street, billing_address_city, billing_address_country\r\n delivery_address_name, delivery_address_street, delivery_address_city, delivery_address_country\r\n order_date, customer_number, commission_number\r\n ordered_via, order_data\r\n contact_person, contact_data\r\n total\r\n administration_unit {cuid, label}\r\n supplier {cuid, label}\r\n deliveries {\r\n ...DeliveryFields\r\n }\r\n order_items {\r\n ...OrderItemFields\r\n }\r\n }\r\n ${fragments['orderItem']}\r\n ${fragments['delivery']}\r\n`;\r\n\r\n\r\nexport const loadShoppingCartQuery = gql`\r\n query LoadShoppingCart($AU: String, $SU: String, $cuid: String) {\r\n shoppingCart(administration_unit_cuid: $AU, supplier_cuid: $SU, cuid: $cuid) {\r\n ...ShoppingCartFields,\r\n administration_unit {\r\n ...AdminUnitDetailFields\r\n },\r\n supplier {\r\n ...SupplierFields\r\n }\r\n }\r\n }\r\n\r\n ${fragments.shoppingCart}\r\n ${supplierFragments.supplier}\r\n ${adminUnitFragments.adminUnit}\r\n`;\r\n\r\nexport const loadShoppingCartsForAdminUnitQuery = gql`\r\n query LoadShoppingCartsForAdminUnit($AU: String!) {\r\n shoppingCarts(administration_unit_cuid: $AU) {\r\n ...ShoppingCartFields\r\n }\r\n }\r\n\r\n ${fragments.shoppingCart}\r\n`;\r\n\r\nexport const prefetchShoppingCartsQuery = gql`\r\n query PrefetchShoppingCarts($adminUnitCuid: String!) {\r\n shoppingCartsOverview(administration_unit_cuid:$adminUnitCuid) {\r\n cuid label\r\n supplier {cuid label}\r\n no_of_items\r\n is_generated_temporarily\r\n }\r\n }\r\n`;\r\n\r\nexport const autoFillShoppingCartMutation = gql`\r\n mutation AutoFillShoppingCarts($shoppingCartCuid: String!) {\r\n autoFillShoppingCart(shoppingCartCuid: $shoppingCartCuid) {\r\n ...ShoppingCartFields\r\n }\r\n }\r\n\r\n ${fragments.shoppingCart}\r\n`;\r\n\r\nexport const createShoppingCartItemMutation = gql`\r\n mutation CreateShoppingCartItemMutation($sCartCuid: String, $stockCuid: String, $packingCuid: String, $data: ShoppingCartItemInput) {\r\n createShoppingCartItem(shopping_cart_cuid: $sCartCuid, stock_cuid: $stockCuid, product_packing_cuid: $packingCuid, shopping_cart_item_input: $data) {\r\n ...ShoppingCartItemFields\r\n }\r\n }\r\n ${procurementFragments.shoppingCartItem}\r\n`;\r\n\r\nexport const createShoppingCartItemsMutation = gql`\r\n mutation CreateShoppingCartItemsMutation($shoppingCartCuid: String, $itemInput: [ShoppingCartItemInput]!) {\r\n createShoppingCartItems(shopping_cart_cuid: $shoppingCartCuid, shopping_cart_item_input: $itemInput) {\r\n ...ShoppingCartItemFields\r\n }\r\n }\r\n ${procurementFragments.shoppingCartItem}\r\n`;\r\n\r\nexport const updateShoppingCartItemMutation = gql`\r\n mutation UpdateShoppingCartItemMutation($cuid: String!, $data: ShoppingCartItemInput!) {\r\n updateShoppingCartItem(shopping_cart_item_cuid: $cuid, shopping_cart_item_input: $data) {\r\n ...ShoppingCartItemFields\r\n }\r\n }\r\n ${procurementFragments.shoppingCartItem}\r\n`;\r\n\r\nexport const removeShoppingCartItemMutation = gql`\r\n mutation RemoveShoppingCartItemMutation($cuid: String!) {\r\n removeShoppingCartItem(shopping_cart_item_cuid: $cuid)\r\n }\r\n`;\r\n\r\nexport const resetShoppingCartsMutation = gql`\r\n mutation ResetShoppingCarts($adminUnitCuid: String!, $shoppingCartCuids: [String]) {\r\n resetShoppingCarts(administration_unit_id: $adminUnitCuid, shopping_cart_cuids: $shoppingCartCuids) {\r\n ...ShoppingCartFields\r\n }\r\n }\r\n ${fragments.shoppingCart}\r\n`;\r\n\r\nexport const placeNewOrderMutation = gql`\r\n mutation PlaceNewOrder($cartCuid: String!, $order: OrderInput!) {\r\n placeOrder(shopping_cart_cuid: $cartCuid, order_input: $order) {\r\n ...OrderFields\r\n }\r\n }\r\n ${fragments['order']}\r\n`;\r\n\r\nexport const updateOrderStatusMutation = gql`\r\n mutation UpdateOrder($orderCuid: String!, $order: OrderInput!) {\r\n updateOrder(orderCuid: $orderCuid, orderInput: $order) {\r\n cuid created_at updated_at\r\n is_completed\r\n }\r\n }\r\n`;\r\n\r\nexport const loadOrderQuery = gql`\r\n query LoadOrderQuery($orderCuid: String!) {\r\n order(cuid: $orderCuid) {\r\n ...OrderFields\r\n }\r\n }\r\n ${fragments['order']}\r\n`;\r\n\r\nexport const loadOrderForDeliveryQuery = gql`\r\n query LoadOrderForDeliveryQuery($orderCuid: String!) {\r\n order(cuid: $orderCuid) {\r\n ...OrderFields\r\n }\r\n }\r\n ${fragments['order']}\r\n`;\r\n\r\nexport const fetchOrdersQuery = gql`\r\n query FetchOrdersQuery($adminUnitCuid: String!, $onlyOpen: Boolean, $supplierCuid:String, $year: Int) {\r\n orders(adminUnitCuid: $adminUnitCuid, onlyOpenOrders: $onlyOpen, supplierCuid: $supplierCuid, year: $year) {\r\n ...OrderOverviewFields\r\n }\r\n }\r\n ${fragments['order_overview']}\r\n`;\r\n\r\nexport const createDeliveryMutation = gql`\r\n mutation CreateDelivery($orderCuid: String!, $deliveryInput: DeliveryInput!, $medicineAuthData: MedicineStockChangeInput) {\r\n createDelivery(order_cuid: $orderCuid, delivery_input: $deliveryInput, medicineAuthData: $medicineAuthData) {\r\n ...DeliveryFields\r\n }\r\n }\r\n ${fragments['delivery']}\r\n`;\r\n\r\nexport const getDispatchListForDepot = gql`\r\n query GetDispatchListForDepot($targetDepotCuid:String!, $sourceAdminUnitCuid: String!, $sourceDepotsCuids: [String]) {\r\n dispatchListForDepot(targetDepotCuid: $targetDepotCuid, sourceDepotsCuids:$sourceDepotsCuids, sourceAdminUnitCuid: $sourceAdminUnitCuid) {\r\n cuid, label, created_at\r\n dispatch_list_items {\r\n cuid, label\r\n stock_item {\r\n cuid label\r\n products {\r\n cuid label\r\n packings {\r\n cuid label\r\n packing_unit {cuid label}\r\n }\r\n }\r\n }\r\n amount packing_unit packing_unit_content\r\n product_packing {cuid label packing_amount}\r\n source_stocks {\r\n cuid label\r\n min_stock report_stock shall_stock act_stock\r\n depot {\r\n cuid label\r\n administration_unit { cuid label }\r\n }\r\n depot_yard { cuid label }\r\n registration_required\r\n }\r\n target_stocks {\r\n cuid label\r\n min_stock report_stock shall_stock act_stock\r\n depot {\r\n cuid label\r\n administration_unit { cuid label }\r\n }\r\n depot_yard { cuid label }\r\n registration_required\r\n }\r\n }\r\n }\r\n }\r\n`;\r\n\r\nexport const generateDispatchListPdf = gql`\r\n mutation GenerateDispatchListPdf($dispatchListData: DispatchListInput!) {\r\n dispatchListPdf(dispatchList: $dispatchListData)\r\n }\r\n`;\r\n\r\nexport const fillUpDepotMutation = gql`\r\n mutation FillUpDepot($fillUpDepotInput: FillUpDepotInput!, $authData: MedicineStockChangeInput, $generateVouchers: Boolean) {\r\n fillUpDepot(fillUpData: $fillUpDepotInput, authData:$authData, generateVouchers: $generateVouchers) {\r\n withdrawal {\r\n ...WithdrawalFields\r\n }\r\n warehousing {\r\n ...WarehousingFields\r\n }\r\n voucher_withdrawal,\r\n voucher_warehousing\r\n }\r\n }\r\n ${warehousingFragments.warehousing}\r\n ${storeManagementFragments.withdrawal}\r\n`;\r\n\r\nexport const DeleteOrderMutation = gql`\r\n mutation DeleteOrder($cuid: String!) {\r\n deleteOrder(cuid: $cuid)\r\n }\r\n`;\r\n\r\nexport interface ShoppingCartResult {\r\n shoppingCart: ShoppingCart;\r\n}\r\n\r\nexport interface ShoppingCartListResult {\r\n shoppingCarts: ShoppingCart[];\r\n}\r\n\r\nexport interface OrderResult {\r\n order: Order\r\n}\r\n\r\nexport interface OrdersResult {\r\n orders: Order[]\r\n}\r\n\r\nexport const DispatchListInputFragment = gql`\r\n fragment DispatchListInputFragment on DispatchList {\r\n user {cuid}\r\n dispatch_list_items {\r\n cuid, amount,\r\n stock_item {cuid}\r\n target_stocks {cuid}\r\n source_stocks {cuid}\r\n }\r\n }\r\n`;\r\n\r\n@Injectable()\r\nexport class ProcurementService extends VisbosService {\r\n\r\n constructor(apollo: Apollo, ngRedux: NgRedux, sessionActions: SessionActions) {\r\n super(apollo, ngRedux, sessionActions);\r\n }\r\n\r\n public loadShoppingCart(supplierCuid?: Observable | string, adminUnitCuid?: Observable\r\n | string, shoppingCartCuid?: string\r\n | Observable): ApolloQueryObservable {\r\n\r\n return this.fetchItems({\r\n query: loadShoppingCartQuery,\r\n variables: {\r\n cuid: shoppingCartCuid,\r\n AU: adminUnitCuid || this.activeAdminUnitCuid$,\r\n SU: supplierCuid\r\n }\r\n });\r\n\r\n }\r\n\r\n public prefetchShoppingCarts(adminUnitCuid?): ApolloQueryObservable {\r\n return this.fetchItems({\r\n query: prefetchShoppingCartsQuery,\r\n variables: {\r\n adminUnitCuid: adminUnitCuid || this.activeAdminUnitCuid$\r\n }\r\n })\r\n }\r\n\r\n public loadShoppingCarts(adminUnitCuid?: Observable | string): ApolloQueryObservable {\r\n\r\n return this.fetchItems({\r\n query: loadShoppingCartsForAdminUnitQuery,\r\n variables: {\r\n AU: adminUnitCuid || this.activeAdminUnitCuid$\r\n }\r\n });\r\n\r\n }\r\n\r\n public createShoppingCartItems(shoppingCartCuid: string, cartItemData: any[]) {\r\n return this.mutate({\r\n mutation: createShoppingCartItemsMutation,\r\n variables: {\r\n shoppingCartCuid: shoppingCartCuid,\r\n itemInput: cartItemData\r\n },\r\n refetchQueries: ['LoadShoppingCart', 'LoadShoppingCartsForAdminUnit', 'FetchStocksForDepotQuery', 'LoadShoppingCartsForSubAdminUnitQuery']\r\n });\r\n }\r\n\r\n public createShoppingCartItem(shoppingCartCuid?: string, stockCuid?: string, productPackingCuid?: string, cartItemData?: any) {\r\n return this.mutate({\r\n mutation: createShoppingCartItemMutation,\r\n variables: {\r\n sCartCuid: shoppingCartCuid,\r\n stockCuid: stockCuid,\r\n packingCuid: productPackingCuid,\r\n data: cartItemData\r\n },\r\n updateQueries: {\r\n FetchStocksForDepotQuery: (prev, {mutationResult}) => {\r\n if (!mutationResult.data) {\r\n return prev;\r\n }\r\n const newStockCartItem = mutationResult.data.createShoppingCartItem;\r\n\r\n const newResult = {\r\n fetchStocks: prev.fetchStocks.pipe(st => {\r\n if (newStockCartItem.referenced_stocks.find(refSt => refSt.cuid == st.cuid)) {\r\n return Object.assign(st, {\r\n in_shopping_cart: true\r\n });\r\n } else {\r\n return st;\r\n }\r\n })\r\n };\r\n\r\n return newResult;\r\n\r\n }\r\n },\r\n refetchQueries: ['LoadShoppingCart', 'LoadShoppingCartsForAdminUnit', 'FetchStocksForDepotQuery', 'LoadShoppingCartsForSubAdminUnitQuery']\r\n })\r\n }\r\n\r\n public updateShoppingCartItem(cuid: string, data, visible = true) {\r\n return this.mutate({\r\n mutation: updateShoppingCartItemMutation,\r\n variables: {\r\n cuid: cuid,\r\n data: data\r\n },\r\n refetchQueries: ['LoadShoppingCart', 'LoadShoppingCartsForAdminUnit', 'LoadShoppingCartsForSubAdminUnitQuery']\r\n }, visible);\r\n }\r\n\r\n public removeShoppingCartItem(cuid: string, visible = true) {\r\n return this.mutate({\r\n mutation: removeShoppingCartItemMutation,\r\n variables: {\r\n cuid: cuid\r\n },\r\n refetchQueries: ['LoadShoppingCart', 'LoadShoppingCartsForAdminUnit', 'FetchStocksForDepotQuery', 'LoadShoppingCartsForSubAdminUnitQuery']\r\n }, visible);\r\n }\r\n\r\n public resetShoppingCart(adminUnitCuid?: string, shoppingCartCuids?: string[], visible = true) {\r\n return this.mutate({\r\n mutation: resetShoppingCartsMutation,\r\n variables: {\r\n adminUnitCuid: adminUnitCuid || this.ngRedux.getState().session.activeAdminUnit,\r\n shoppingCartCuids: shoppingCartCuids\r\n },\r\n refetchQueries: ['LoadShoppingCart', 'LoadShoppingCartsForAdminUnit', 'FetchStocksForDepotQuery', 'LoadShoppingCartsForSubAdminUnitQuery']\r\n }, visible);\r\n }\r\n\r\n public placeNewOrder(cartCuid: string, orderData: any, visible = true) {\r\n return this.mutate({\r\n mutation: placeNewOrderMutation,\r\n variables: {\r\n cartCuid: cartCuid,\r\n order: orderData\r\n },\r\n refetchQueries: ['FetchOrdersQuery', 'LoadShoppingCartsForAdminUnit', 'FetchStocksForDepotQuery', 'LoadShoppingCartsForSubAdminUnitQuery']\r\n }, visible);\r\n }\r\n\r\n public updateOrderStatus(orderCuid: string, orderData: any) {\r\n return this.mutate({\r\n mutation: updateOrderStatusMutation,\r\n variables: {\r\n orderCuid: orderCuid,\r\n order: orderData\r\n },\r\n refetchQueries: ['FetchOrdersQuery']\r\n });\r\n }\r\n\r\n public generateOrderPDF(orderCuid: string | Observable): Observable> {\r\n return this.fetchItems<{ generateOrderPDF: string }>({\r\n query: gql`\r\n query GenerateOrderPDF($orderCuid: String!) {\r\n generateOrderPDF(order_cuid: $orderCuid)\r\n }\r\n `,\r\n variables: {\r\n orderCuid: orderCuid\r\n },\r\n fetchPolicy: 'cache-first'\r\n });\r\n }\r\n\r\n public loadOrder(orderCuid: string | Observable): ApolloQueryObservable {\r\n return this.fetchItems({\r\n query: loadOrderQuery,\r\n variables: {\r\n orderCuid: orderCuid\r\n }\r\n });\r\n }\r\n\r\n public prefetchOrder(orderCuid: string | Observable) {\r\n return this.prefetchItems({\r\n query: loadOrderQuery,\r\n variables: {\r\n orderCuid: orderCuid\r\n }\r\n });\r\n }\r\n\r\n public fetchOrders(adminUnitCuid?: string | Observable,\r\n onlyOpen: boolean | Observable = false,\r\n supplierCuid?: string\r\n | Observable, year?: number): ApolloQueryObservable {\r\n return this.fetchItems({\r\n query: fetchOrdersQuery,\r\n variables: {\r\n adminUnitCuid: adminUnitCuid || this.activeAdminUnitCuid$,\r\n onlyOpen: onlyOpen,\r\n supplierCuid: supplierCuid,\r\n year: year\r\n }\r\n })\r\n }\r\n\r\n public deleteOrder(cuid: string) {\r\n return this.mutate({\r\n mutation: DeleteOrderMutation,\r\n variables: {\r\n cuid: cuid\r\n },\r\n refetchQueries: ['FetchOrdersQuery', 'LoadOrderQuery', 'DepotsWithCriticalStocks', 'FetchStocksForDepotQuery', 'FetchCriticalStocksQuery']\r\n });\r\n }\r\n\r\n public getDispatchListForDepot(targetDepotCuid: string | Observable,\r\n sourceAdminUnitCuid?: string | Observable,\r\n sourceDepotsCuids?: string[]\r\n | Observable): ApolloQueryObservable {\r\n\r\n return this.fetchItems({\r\n query: getDispatchListForDepot,\r\n variables: {\r\n targetDepotCuid: targetDepotCuid,\r\n sourceAdminUnitCuid: sourceAdminUnitCuid || this.activeAdminUnitCuid$,\r\n sourceDepotsCuids: sourceDepotsCuids\r\n }\r\n });\r\n\r\n }\r\n\r\n public fillUpDepot(fillUpDepotInput: any, authData?: any, generateVouchers: boolean = false, visible = true) {\r\n return this.mutate({\r\n mutation: fillUpDepotMutation,\r\n variables: {\r\n fillUpDepotInput: fillUpDepotInput,\r\n authData: authData,\r\n generateVouchers: generateVouchers\r\n },\r\n refetchQueries: ['DepotsWithCriticalStocks', 'FetchStocksForDepotQuery', 'FetchCriticalStocksQuery']\r\n }, visible);\r\n }\r\n\r\n public generateDispatchListPDF(dispatchList: DispatchList): Observable> {\r\n\r\n const clearedData = filter(DispatchListInputFragment, dispatchList);\r\n\r\n return this.mutate({\r\n mutation: generateDispatchListPdf,\r\n variables: {\r\n dispatchListData: clearedData\r\n }\r\n })\r\n }\r\n\r\n public createDelivery(orderCuid: string | Observable, deliveryInput: any, medicineAuthData: any, visible = true) {\r\n return this.mutate({\r\n mutation: createDeliveryMutation,\r\n variables: {\r\n orderCuid: orderCuid,\r\n deliveryInput: deliveryInput,\r\n medicineAuthData: medicineAuthData\r\n },\r\n refetchQueries: ['FetchOrdersQuery', 'LoadOrderQuery', 'DepotsWithCriticalStocks', 'FetchStocksForDepotQuery', 'FetchCriticalStocksQuery']\r\n }, visible);\r\n }\r\n\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/store-management/services/procurement-service/procurement.service.ts","import {Injectable} from \"@angular/core\";\r\nimport {VisbosService} from \"../../../core/visbos-core/graphql/visbos.service\";\r\nimport {Apollo, ApolloQueryObservable} from \"apollo-angular\";\r\nimport gql from \"graphql-tag\";\r\nimport {ProductBatch} from \"../../model/product-batch.type\";\r\nimport {ProductBatchInput} from \"../../model/product-batch-input.type\";\r\nimport {Observable} from \"rxjs/Observable\";\r\nimport {NgRedux} from \"@angular-redux/store\";\r\nimport {IAppState} from \"../../../shared/redux-store\";\r\nimport {SessionActions} from \"../../../shared/actions\";\r\nimport {map} from \"rxjs/operators\";\r\n\r\nexport const productBatchFragments = {\r\n productBatch: gql`\r\n fragment ProductBatchFields on ProductBatch {\r\n cuid, label, batch_number, use_before_date, use_before_date_formatted\r\n }`\r\n};\r\n\r\nexport const productFragments = {\r\n productPacking: gql`\r\n fragment ProductPackingFields on ProductPacking {\r\n cuid, label, article_number, default_packing, packing_amount,\r\n packing_unit { cuid, label, packing_unit_name, has_content },\r\n packing_price\r\n }\r\n `,\r\n product: gql`\r\n fragment ProductFields on Product {\r\n cuid, label, name, default_product,\r\n manufacturer {cuid, label, name},\r\n supplier {cuid, label, name},\r\n packings {cuid, label, article_number, default_packing, packing_amount,\r\n packing_unit { cuid, label, packing_unit_name, has_content },\r\n packing_price\r\n },\r\n }\r\n `\r\n};\r\n\r\n@Injectable()\r\nexport class ProductService extends VisbosService {\r\n\r\n\r\n constructor(apollo: Apollo, ngRedux: NgRedux, sessionActions: SessionActions) {\r\n super(apollo, ngRedux, sessionActions);\r\n }\r\n\r\n public getProductBatches(searchString?: string, withDeleted?: boolean): ApolloQueryObservable {\r\n\r\n let query = this.fetchItems({\r\n query: gql`\r\n query FetchProductBatches($searchString: String, $withDeleted: Boolean) {\r\n productBatches(search_string: $searchString, with_deleted: $withDeleted) {\r\n ...ProductBatchFields\r\n }\r\n }\r\n ${productBatchFragments['productBatch']}\r\n `,\r\n variables: {\r\n searchString: searchString,\r\n withDeleted: withDeleted\r\n }\r\n });\r\n\r\n return >query.pipe(map(({data}: any) => data.expiringStocks));\r\n }\r\n\r\n public addProductBatch(stockCuid: string, productBatch: ProductBatchInput): Observable {\r\n\r\n return this.mutate({\r\n mutation: gql`\r\n mutation AddProductBatch($stockCuid: String!, $productBatch: ProductBatchInput!) {\r\n addProductBatch(stock_cuid: $stockCuid, product_batch: $productBatch) {\r\n ...ProductBatchFields\r\n }\r\n }\r\n\r\n ${productBatchFragments['productBatch']}\r\n `,\r\n variables: {\r\n stockCuid: stockCuid,\r\n productBatch: productBatch\r\n }\r\n }).pipe(\r\n map(({data}: any) => {\r\n console.info(\"Added batch to stock.\");\r\n return data.addProductBatch;\r\n }));\r\n\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/store-management/services/product-services/product.service.ts","import {Injectable} from \"@angular/core\";\r\nimport {Observable} from \"rxjs/Observable\";\r\nimport {IPropertyService} from \"./property.service-interface\";\r\nimport gql from \"graphql-tag\";\r\nimport {Apollo} from \"apollo-angular\";\r\nimport {VisbosService} from \"../../../core/visbos-core/graphql/visbos.service\";\r\nimport {NgRedux} from \"@angular-redux/store\";\r\nimport {IAppState} from \"../../../shared/redux-store/store\";\r\nimport {SessionActions} from \"../../../shared/actions/session.actions\";\r\nimport {map} from \"rxjs/operators\";\r\n\r\nexport const fetchPropertiesQuery = gql`\r\n query FetchPropertiesQuery($cuid: String) {\r\n fetchProperties(cuid: $cuid) {\r\n cuid, label, name, short_name\r\n }\r\n }`;\r\n\r\n@Injectable()\r\nexport class PropertyService extends VisbosService implements IPropertyService {\r\n\r\n\r\n constructor(apollo: Apollo, ngRedux: NgRedux, sessionActions: SessionActions) {\r\n super(apollo, ngRedux, sessionActions);\r\n }\r\n\r\n public getPropertiesList(): Observable {\r\n\r\n //TODO: Implement stub\r\n\r\n let data$ = this.fetchItems({\r\n query: fetchPropertiesQuery,\r\n variables: {\r\n cuid: null\r\n }\r\n });\r\n\r\n let model$ = data$.pipe(map(({data}:any) => data.fetchProperties));\r\n\r\n return model$;\r\n }\r\n\r\n public getProperty(cuid: string): Observable {\r\n\r\n //TODO: Implement stub\r\n\r\n let data$ = this.fetchItems({\r\n query: fetchPropertiesQuery,\r\n variables: {\r\n cuid: cuid\r\n }\r\n });\r\n\r\n let model$ = data$.pipe(map(({data}:any) => {\r\n return {\r\n property: data.fetchProperties[0],\r\n isLoading: data.loading\r\n };\r\n }\r\n ));\r\n\r\n\r\n return model$;\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/store-management/services/property-service/property.service.ts","import {Injectable} from \"@angular/core\";\r\nimport {ActivatedRouteSnapshot, Resolve, RouterStateSnapshot} from \"@angular/router\";\r\nimport {Observable} from \"rxjs/Observable\";\r\nimport {Stock} from \"../../../shared/view-model/stock\";\r\nimport {StockService} from \"../stock.service\";\r\nimport {Observer} from \"rxjs/Observer\";\r\n\r\n@Injectable()\r\nexport class StockResolverService implements Resolve {\r\n\r\n\r\n constructor(private stockService: StockService) {\r\n }\r\n\r\n resolve(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable|Promise|Stock {\r\n\r\n return new Observable((obs: Observer) => {\r\n this.stockService.getStock(route.params['cuid']).subscribe((st: any) => {\r\n obs.next(st);\r\n obs.complete();\r\n });\r\n });\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/store-management/services/resolvers/stock-resolver.service.ts","import {Injectable} from \"@angular/core\";\r\nimport {Supplier} from \"../../../shared/view-model/crm/supplier.type\";\r\nimport {ActivatedRouteSnapshot, Resolve, RouterStateSnapshot} from \"@angular/router\";\r\nimport {fetchSuppliersQuery, SupplierService} from \"../../../crm/services/supplier/supplier.service\";\r\nimport {Observable} from \"rxjs/Observable\";\r\nimport {NgRedux} from \"@angular-redux/store\";\r\nimport {Apollo} from \"apollo-angular\";\r\nimport {IAppState} from \"../../../shared/redux-store/store\";\r\nimport {map} from \"rxjs/operators\";\r\n\r\n@Injectable()\r\nexport class SupplierResolverService implements Resolve {\r\n\r\n constructor(private supplierService: SupplierService, private apollo: Apollo, private ngRx: NgRedux) {\r\n }\r\n\r\n resolve(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable | Promise | Supplier[] | Supplier {\r\n return new Observable((obs: any) => {\r\n this.apollo.query({\r\n query: fetchSuppliersQuery,\r\n variables: {\r\n AU: this.ngRx.getState().session.activeAdminUnit //this.adminUnitCuid$\r\n }\r\n })\r\n .pipe(map((res: any) => {\r\n return res.data.fetchSuppliers;\r\n }))\r\n .subscribe((suppliers: any) => {\r\n obs.next(suppliers);\r\n obs.complete();\r\n });\r\n });\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/store-management/services/resolvers/supplier-resolver.service.ts","import {Injectable} from '@angular/core';\r\nimport {VisbosService} from \"../../../core/visbos-core/graphql/visbos.service\";\r\nimport {Apollo, ApolloQueryObservable} from \"apollo-angular\";\r\nimport {NgRedux} from \"@angular-redux/store\";\r\nimport {IAppState} from \"../../../shared/redux-store/store\";\r\nimport {SessionActions} from \"../../../shared/actions/session.actions\";\r\nimport gql from \"graphql-tag\";\r\nimport {Observable} from \"rxjs/Observable\";\r\nimport {MultiDateSeries} from \"../../../shared/view-model/core/multi-date-series.type\";\r\nimport {MultiSeries} from \"../../../shared/view-model/core/multi-series.type\";\r\nimport {\r\n ConsumptionByConsumerByTimeStatisticsQuery,\r\n ConsumptionByConsumerStatisticsQuery,\r\n ConsumptionByTypeByTimeStatisticsQuery,\r\n ConsumptionByTypeStatisticsQuery,\r\n CostsBySupplierByTimeStatisticsQuery,\r\n CostsBySupplierStatisticsQuery,\r\n OrdersBySupplierStatisticsQuery\r\n} from \"../../../shared/graphql/graphql.types\";\r\nimport {environment} from '../../../../environments/environment';\r\nimport {HttpClient, HttpHeaders} from '@angular/common/http';\r\n\r\nexport const exportAccountStatisticsEndpoint = environment.exportUrl + 'accounting-statistics/:adminUnitCuid';\r\n\r\nexport const consumptionByConsumerStatisticsQuery = gql`\r\n query ConsumptionByConsumerStatistics($adminUnitCuid: String!, $depotCuid: String, $startDate: String, $endDate: String) {\r\n consumptionByConsumerStatistics(adminUnitCuid: $adminUnitCuid, depotCuid: $depotCuid, startDate: $startDate, endDate: $endDate) { name, value }\r\n }\r\n`;\r\n\r\nexport const consumptionByConsumerByTimeStatisticsQuery = gql`\r\n query ConsumptionByConsumerByTimeStatistics($adminUnitCuid: String!, $depotCuid: String, $startDate: String, $endDate: String, $groupingByTime: String!) {\r\n consumptionByConsumerByTimeStatistics(adminUnitCuid: $adminUnitCuid, depotCuid: $depotCuid, startDate: $startDate, endDate: $endDate, groupingByTime: $groupingByTime) { name, series {name, value} }\r\n }\r\n`;\r\n\r\nexport const consumptionByTypeStatisticsQuery = gql`\r\n query ConsumptionByTypeStatistics($adminUnitCuid: String!, $depotCuid: String, $startDate: String, $endDate: String) {\r\n consumptionByTypeStatistics(adminUnitCuid: $adminUnitCuid, depotCuid: $depotCuid, startDate: $startDate, endDate: $endDate) { name, value }\r\n }\r\n`;\r\n\r\nexport const consumptionByTypeByTimeStatisticsQuery = gql`\r\n query ConsumptionByTypeByTimeStatistics($adminUnitCuid: String!, $depotCuid: String, $startDate: String, $endDate: String, $groupingByTime: String!) {\r\n consumptionByTypeByTimeStatistics(adminUnitCuid: $adminUnitCuid, depotCuid: $depotCuid, startDate: $startDate, endDate: $endDate, groupingByTime: $groupingByTime) { name, series {name, value} }\r\n }\r\n`;\r\n\r\nexport const ordersBySupplierStatisticsQuery = gql`\r\n query OrdersBySupplierStatistics($adminUnitCuid: String!, $supplierCuid: String, $startDate: String, $endDate: String) {\r\n ordersBySupplierStatistics(adminUnitCuid: $adminUnitCuid, supplierCuid: $supplierCuid, startDate: $startDate, endDate: $endDate, ) { name, value }\r\n }\r\n`;\r\n\r\nexport const costsBySupplierStatisticsQuery = gql`\r\n query CostsBySupplierStatistics($adminUnitCuid: String!, $supplierCuid: String, $startDate: String, $endDate: String) {\r\n costsBySupplierStatistics(adminUnitCuid: $adminUnitCuid, supplierCuid: $supplierCuid, startDate: $startDate, endDate: $endDate, ) { name, value }\r\n }\r\n`;\r\n\r\nexport const costsBySupplierByTimeStatisticsQuery = gql`\r\n query CostsBySupplierByTimeStatistics($adminUnitCuid: String!, $supplierCuid: String, $startDate: String, $endDate: String, $groupingByTime: String!) {\r\n costsBySupplierByTimeStatistics(adminUnitCuid: $adminUnitCuid, supplierCuid: $supplierCuid, startDate: $startDate, endDate: $endDate, groupingByTime: $groupingByTime) { name, series {name, value} }\r\n }\r\n`;\r\n\r\n\r\n@Injectable()\r\nexport class StoreStatisticsService extends VisbosService {\r\n\r\n\r\n constructor(apollo: Apollo, ngRedux: NgRedux, sessionActions: SessionActions, private http: HttpClient) {\r\n super(apollo, ngRedux, sessionActions);\r\n }\r\n\r\n getConsumptionByConsumerStatistics(adminUnitCuid?: string | Observable, depotCuid?: string | Observable, startDate?: string | Observable, endDate?: string | Observable): ApolloQueryObservable {\r\n return this.fetchItems({\r\n query: consumptionByConsumerStatisticsQuery,\r\n variables: {\r\n adminUnitCuid: adminUnitCuid || this.activeAdminUnitCuid$,\r\n depotCuid: depotCuid,\r\n startDate: startDate,\r\n endDate: endDate\r\n }\r\n });\r\n }\r\n\r\n getConsumptionByConsumerByTimeStatistics(groupingByTime: string | Observable = 'Y-d', adminUnitCuid?: string | Observable, depotCuid?: string | Observable, startDate?: string | Observable,\r\n endDate?: string | Observable): ApolloQueryObservable {\r\n return this.fetchItems({\r\n query: consumptionByConsumerByTimeStatisticsQuery,\r\n variables: {\r\n adminUnitCuid: adminUnitCuid || this.activeAdminUnitCuid$,\r\n depotCuid: depotCuid,\r\n startDate: startDate,\r\n endDate: endDate,\r\n groupingByTime: groupingByTime\r\n }\r\n });\r\n }\r\n\r\n getConsumptionByTypeStatistics(adminUnitCuid?: string | Observable, depotCuid?: string | Observable, startDate?: string | Observable, endDate?: string | Observable): ApolloQueryObservable {\r\n return this.fetchItems({\r\n query: consumptionByTypeStatisticsQuery,\r\n variables: {\r\n adminUnitCuid: adminUnitCuid || this.activeAdminUnitCuid$,\r\n depotCuid: depotCuid,\r\n startDate: startDate,\r\n endDate: endDate\r\n }\r\n });\r\n }\r\n\r\n getConsumptionByTypeByTimeStatistics(groupingByTime: string | Observable = 'Y-d', adminUnitCuid?: string | Observable, depotCuid?: string | Observable, startDate?: string | Observable,\r\n endDate?: string | Observable): ApolloQueryObservable {\r\n return this.fetchItems({\r\n query: consumptionByTypeByTimeStatisticsQuery,\r\n variables: {\r\n adminUnitCuid: adminUnitCuid || this.activeAdminUnitCuid$,\r\n depotCuid: depotCuid,\r\n startDate: startDate,\r\n endDate: endDate,\r\n groupingByTime: groupingByTime\r\n }\r\n });\r\n }\r\n\r\n getOrdersBySuppliersStatistics(adminUnitCuid?: string | Observable, supplierCuid?: string | Observable, startDate?: string | Observable, endDate?: string | Observable): ApolloQueryObservable {\r\n return this.fetchItems({\r\n query: ordersBySupplierStatisticsQuery,\r\n variables: {\r\n adminUnitCuid: adminUnitCuid || this.activeAdminUnitCuid$,\r\n supplierCuid: supplierCuid,\r\n startDate: startDate,\r\n endDate: endDate\r\n }\r\n });\r\n }\r\n\r\n getCostsBySupplierStatistics(adminUnitCuid?: string | Observable, supplierCuid?: string | Observable, startDate?: string | Observable, endDate?: string | Observable): ApolloQueryObservable {\r\n return this.fetchItems({\r\n query: costsBySupplierStatisticsQuery,\r\n variables: {\r\n adminUnitCuid: adminUnitCuid || this.activeAdminUnitCuid$,\r\n supplierCuid: supplierCuid,\r\n startDate: startDate,\r\n endDate: endDate\r\n }\r\n });\r\n }\r\n\r\n getCostsBySupplierByTimeStatistics(groupingByTime: string | Observable = 'Y-d', adminUnitCuid?: string | Observable, supplierCuid?: string | Observable, startDate?: string | Observable,\r\n endDate?: string | Observable): ApolloQueryObservable {\r\n return this.fetchItems({\r\n query: costsBySupplierByTimeStatisticsQuery,\r\n variables: {\r\n adminUnitCuid: adminUnitCuid || this.activeAdminUnitCuid$,\r\n supplierCuid: supplierCuid,\r\n startDate: startDate,\r\n endDate: endDate,\r\n groupingByTime: groupingByTime\r\n }\r\n });\r\n }\r\n\r\n generateAccountStatisticsExport(adminUnitCuid) {\r\n const headers = new HttpHeaders();\r\n headers.set('Accept', 'text/plain');\r\n return this.http.get(exportAccountStatisticsEndpoint.replace(':adminUnitCuid', adminUnitCuid), {\r\n headers,\r\n responseType: 'arraybuffer',\r\n observe: 'response'\r\n });\r\n }\r\n\r\n transformMultiSeriesToDateSeries(input: MultiSeries[]): MultiDateSeries[] {\r\n let multi = JSON.parse(JSON.stringify(input));\r\n return multi.map(group => {\r\n group.series = group.series.map(dataItem => {\r\n dataItem.name = new Date(dataItem.name);\r\n return dataItem;\r\n });\r\n return group;\r\n });\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/store-management/services/statistics-services/store-statistics.service.ts","import {Injectable} from \"@angular/core\";\r\nimport {VisbosService} from \"../../core/visbos-core/graphql/visbos.service\";\r\nimport {Apollo, ApolloQueryObservable} from \"apollo-angular\";\r\nimport {StockItemCategory} from \"../model/stock-item-catgegory.type\";\r\nimport gql from \"graphql-tag\";\r\nimport {NgRedux} from \"@angular-redux/store\";\r\nimport {IAppState} from \"../../shared/redux-store\";\r\nimport {SessionActions} from \"../../shared/actions\";\r\nimport {map} from \"rxjs/operators\";\r\n\r\nexport const fetchStockItemCategoriesQuery = gql`\r\n query FetchStockItemCategories {\r\n stockItemCategories {cuid, label, name}\r\n }`;\r\n\r\n@Injectable()\r\nexport class StockItemCategoryService extends VisbosService {\r\n\r\n\r\n constructor(apollo: Apollo, ngRedux: NgRedux, sessionActions: SessionActions) {\r\n super(apollo, ngRedux, sessionActions);\r\n }\r\n\r\n public getStockItemCategories(): ApolloQueryObservable {\r\n\r\n let query = this.fetchItems({\r\n query: fetchStockItemCategoriesQuery\r\n });\r\n\r\n return >query.pipe(map(({data}:any) => data.stockItemCategories));\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/store-management/services/stock-item-category.service.ts","import {Injectable} from \"@angular/core\";\r\nimport {StockItem} from \"../../shared/view-model/store-management/stock-item.type\";\r\nimport {ActivatedRouteSnapshot, Resolve, RouterStateSnapshot} from \"@angular/router\";\r\nimport {Observable} from \"rxjs/Observable\";\r\nimport {StockItemService} from \"./stock-item-service/stock-item.service\";\r\n\r\n@Injectable()\r\nexport class StockItemResolverService implements Resolve {\r\n\r\n\r\n constructor(private siService: StockItemService) {\r\n }\r\n\r\n resolve(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable|Promise|StockItem {\r\n return new Observable((obs: any) => {\r\n this.siService.getStockItem(route.params['cuid']).subscribe((si: any) =>{\r\n obs.next(si);\r\n obs.complete();\r\n });\r\n });\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/store-management/services/stock-item-resolver.service.ts","import {Injectable} from \"@angular/core\";\r\nimport gql from \"graphql-tag\";\r\nimport {Apollo, ApolloQueryObservable} from \"apollo-angular\";\r\nimport {StockItem} from \"../../../shared/view-model/store-management/stock-item.type\";\r\nimport {pruneEmpty, VisbosService} from \"../../../core/visbos-core/graphql/visbos.service\";\r\nimport {exportStockListEndpoint, stockFragments} from \"../stock.service\";\r\nimport {StockItemInput} from \"../stock-item-input.type\";\r\nimport {Observable} from \"rxjs/Observable\";\r\nimport {ApolloQueryResult, Subscription} from \"apollo-client\";\r\nimport {medicineFragments} from \"../medicine.service\";\r\nimport {productFragments} from \"../product-services/product.service\";\r\nimport {StockInput} from \"../stock-input.type\";\r\nimport {environment} from \"../../../../environments/environment\";\r\nimport {NgRedux} from \"@angular-redux/store\";\r\nimport {SessionActions} from \"../../../shared/actions/session.actions\";\r\nimport {IAppState} from \"../../../shared/redux-store/store\";\r\nimport {keywordFragments} from \"../../../core/visbos-core/services/keyword.service\";\r\nimport {FindStockItemsQuery, GetProductPackingsForStockItemQuery} from \"../../../shared/graphql/graphql.types\";\r\nimport {map} from \"rxjs/operators\";\r\nimport {accountFragments} from '../../../crm/services/accounting-unit.service';\r\nimport {HttpClient, HttpHeaders} from '@angular/common/http';\r\n\r\nexport const exportStockItemListEndpoint = environment.exportUrl + 'stock-item-list/:adminUnitCuid';\r\n\r\nexport const stockItemFragments = {\r\n stockItem: gql`\r\n fragment StockItemFields on StockItem {\r\n cuid, label, name, short_name,\r\n properties { cuid, name, short_name, value, property { cuid } },\r\n is_editable,\r\n visbos_article_number,\r\n is_asset_packing,\r\n category {cuid, label, name},\r\n administration_unit { cuid, label }\r\n products { ... ProductFields },\r\n default_product { ... ProductFields },\r\n manufacturer { cuid label },\r\n supplier { cuid label },\r\n packings { ...ProductPackingFields },\r\n medicine { ...MedicineFields },\r\n stocks(adminUnitCuid: $adminUnitCuid) { ...StockDetailFields },\r\n keywords { ...KeywordFields }\r\n account {...AccountFields}\r\n }\r\n ${productFragments.product}\r\n ${productFragments.productPacking}\r\n ${stockFragments.stock}\r\n ${medicineFragments.medicine}\r\n ${keywordFragments.keyword}\r\n ${accountFragments.account}\r\n `,\r\n stockItemOverview: gql`\r\n fragment StockItemOverviewFields on StockItem {\r\n cuid label name short_name is_editable,\r\n visbos_article_number,\r\n category {cuid, label, name},\r\n administration_unit { cuid label },\r\n manufacturer { cuid label },\r\n supplier { cuid label },\r\n keywords { ...KeywordFields }\r\n }\r\n ${keywordFragments.keyword}\r\n `\r\n};\r\n\r\nexport interface FetchStockItemsResult {\r\n fetchStockItems: StockItem[]\r\n}\r\n\r\nexport const fetchStockItemsQuery = gql`\r\n query FetchStockItemsQuery($AU: String!, $with_parents: Boolean = true) {\r\n fetchStockItems(administration_unit_cuid: $AU, with_parents: $with_parents){\r\n ...StockItemOverviewFields\r\n }\r\n }\r\n\r\n ${stockItemFragments['stockItemOverview']}\r\n`;\r\n\r\nexport const fetchStockItemsWithDetailsQuery = gql`\r\n query FetchStockItemsWithDetailsQuery($AU: String!, $with_parents: Boolean = true, $adminUnitCuid: String) {\r\n fetchStockItems(administration_unit_cuid: $AU, with_parents: $with_parents){\r\n ...StockItemFields\r\n }\r\n }\r\n\r\n ${stockItemFragments.stockItem}\r\n`;\r\n\r\nexport const FindStockItems = gql`\r\n query FindStockItems($searchString:String!) {\r\n findStockItems(searchString:$searchString) {\r\n ...StockItemOverviewFields\r\n }\r\n }\r\n ${stockItemFragments.stockItemOverview}\r\n`;\r\n\r\nexport const getProductPackingsForStockItem = gql`\r\n query GetProductPackingsForStockItem($stockItemCuid:String!) {\r\n productPackings(stockItemCuid: $stockItemCuid) {\r\n ...ProductPackingFields\r\n }\r\n }\r\n ${productFragments.productPacking}\r\n`;\r\n\r\n@Injectable()\r\nexport class StockItemService extends VisbosService {\r\n\r\n\r\n constructor(apollo: Apollo, ngRedux: NgRedux, sessionActions: SessionActions, private http: HttpClient) {\r\n super(apollo, ngRedux, sessionActions);\r\n }\r\n\r\n public getStockItem(cuid: string | Observable, loadingVisible: boolean = false, adminUnitCuid?): ApolloQueryObservable {\r\n\r\n let data$ = this.fetchItems({\r\n query: gql`\r\n query FetchStockItemDetailQuery($cuid: String!, $adminUnitCuid: String) {\r\n fetchStockItemDetails(cuid: $cuid) {\r\n ...StockItemFields\r\n }\r\n }\r\n\r\n ${stockItemFragments['stockItem']}\r\n `,\r\n variables: {\r\n cuid: cuid,\r\n adminUnitCuid: adminUnitCuid || this.activeAdminUnitCuid$\r\n }\r\n }, loadingVisible);\r\n\r\n return >data$.pipe(map(({data}: any) => data.fetchStockItemDetails));\r\n }\r\n\r\n public prefetchStockItem(cuid: string, adminUnitCuid?): Subscription {\r\n\r\n return this.prefetchItems({\r\n query: gql`\r\n query PrefetchStockItemDetailQuery($cuid: String!, $adminUnitCuid: String) {\r\n fetchStockItemDetails(cuid: $cuid) {\r\n ...StockItemFields\r\n }\r\n }\r\n\r\n ${stockItemFragments['stockItem']}\r\n `,\r\n variables: {\r\n cuid: cuid,\r\n adminUnitCuid: adminUnitCuid || this.activeAdminUnitCuid$\r\n }\r\n });\r\n\r\n }\r\n\r\n public prefetchStockItems(): Subscription {\r\n return this.prefetchItems({\r\n query: fetchStockItemsQuery,\r\n variables: {\r\n AU: this.ngRedux.getState().session.activeAdminUnit,\r\n with_parents: environment.view.show_parents,\r\n adminUnitCuid: this.activeAdminUnitCuid$\r\n }\r\n });\r\n }\r\n\r\n public fetchStockItems(variables: { adminUnitCuid?: string | Observable, withParents?: boolean | Observable } = {}, prefetch: boolean = false): ApolloQueryObservable {\r\n\r\n let options = {\r\n query: fetchStockItemsQuery,\r\n variables: {\r\n AU: variables.adminUnitCuid ? variables.adminUnitCuid : this.activeAdminUnitCuid$,\r\n with_parents: true, //variables.withParents ? variables.withParents : environment.view.show_parents\r\n adminUnitCuid: variables.adminUnitCuid ? variables.adminUnitCuid : this.activeAdminUnitCuid$\r\n }\r\n };\r\n\r\n if (prefetch) {\r\n this.prefetchItems(options);\r\n return null;\r\n } else {\r\n return this.fetchItems(options);\r\n }\r\n\r\n }\r\n\r\n public fetchStockItemsWithDetails(adminUnitCuid?: string | Observable, withParents: boolean = true): ApolloQueryObservable {\r\n\r\n let data$ = this.fetchItems({\r\n query: fetchStockItemsWithDetailsQuery,\r\n variables: {\r\n AU: adminUnitCuid || this.activeAdminUnitCuid$,\r\n with_parents: withParents,\r\n adminUnitCuid: adminUnitCuid || this.activeAdminUnitCuid$\r\n }\r\n });\r\n\r\n return data$;\r\n }\r\n\r\n public findStockItems(searchString: string | Observable): ApolloQueryObservable {\r\n return this.fetchItems({\r\n query: FindStockItems,\r\n variables: {\r\n searchString: searchString\r\n },\r\n fetchPolicy: \"network-only\"\r\n })\r\n }\r\n\r\n //TODO: Migrate Apollo\r\n public getProductPackingsForStockItem(stockItemCuid: string | Observable): ApolloQueryObservable {\r\n\r\n return this.fetchItems({\r\n query: getProductPackingsForStockItem,\r\n variables: {\r\n stockItemCuid: stockItemCuid\r\n }\r\n });\r\n\r\n }\r\n\r\n //TODO: Refetch stocks as they are removed, too\r\n public deleteStockItem(cuid: string) {\r\n let data$ = this.mutate({\r\n mutation: gql`\r\n mutation DeleteStockItemMutation($cuid: String!) {\r\n deleteStockItem(cuid: $cuid)\r\n }`,\r\n variables: {\r\n cuid: cuid\r\n },\r\n updateQueries: this.deleteItemsFromQueries(cuid, 'fetchStockItems', 'FetchStockItemsQuery', 'FetchStockItemsWithParentsQuery'),\r\n refetchQueries: ['FetchStockItemsQuery', 'FetchStockItemsWithParentsQuery', 'FetchStocksQuery']\r\n })\r\n .subscribe(({data}: any) => {\r\n return data;\r\n });\r\n //TODO: REFACTOR\r\n }\r\n\r\n\r\n public createStockItem(stockItemData: StockItemInput, stocksData?: StockInput): Observable {\r\n\r\n return this.mutate({\r\n mutation: gql`\r\n mutation AddNewStockItemMutation($stock_item: CreateStockItemInput!,\r\n $stocks:[CreateStockInput], $adminUnitCuid: String) {\r\n addNewStockItem(stock_item:$stock_item, stocks: $stocks){\r\n ...StockItemFields\r\n }\r\n }\r\n\r\n ${stockItemFragments['stockItem']}\r\n `,\r\n variables: {\r\n stock_item: pruneEmpty(stockItemData),\r\n stocks: pruneEmpty(stocksData),\r\n adminUnitCuid: this.activeAdminUnitCuid\r\n },\r\n refetchQueries: ['FetchStockItemsQuery', 'FetchStockItemsWithParentsQuery', 'FetchManufacturersQuery']\r\n }).pipe(\r\n map(({data}: any) => {\r\n return data.addNewStockItem;\r\n }));\r\n\r\n }\r\n\r\n public updateStockItem(data: StockItemInput, cuid?: string, sync?: boolean): Observable> {\r\n\r\n data = pruneEmpty(data);\r\n\r\n return this.mutate({\r\n mutation: gql`\r\n mutation UpdateStockItemMutation($cuid: String, $stock_item: UpdateStockItemInput!, $sync: Boolean, $adminUnitCuid: String) {\r\n updateStockItem(cuid: $cuid, stock_item: $stock_item, sync: $sync) {\r\n ...StockItemFields\r\n }\r\n }\r\n\r\n ${stockItemFragments['stockItem']}\r\n `,\r\n variables: {\r\n cuid: cuid,\r\n stock_item: data,\r\n sync: sync,\r\n adminUnitCuid: this.activeAdminUnitCuid\r\n },\r\n refetchQueries: ['FetchManufacturersQuery']\r\n }).pipe(\r\n map((res: any) => {\r\n return res;\r\n }));\r\n }\r\n\r\n generateStockItemListExport(adminUnitCuid) {\r\n const headers = new HttpHeaders();\r\n headers.set('Accept', 'text/plain');\r\n return this.http.get(exportStockItemListEndpoint.replace(':adminUnitCuid', adminUnitCuid), {\r\n headers,\r\n responseType: 'arraybuffer',\r\n observe: 'response'\r\n });\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/store-management/services/stock-item-service/stock-item.service.ts","import {Injectable} from \"@angular/core\";\r\nimport {Apollo, ApolloQueryObservable} from \"apollo-angular\";\r\nimport {Observable} from \"rxjs/Observable\";\r\nimport gql from \"graphql-tag\";\r\nimport {IDepot} from \"../../shared/redux-store/depot/depot.types\";\r\nimport {NgRedux, select} from \"@angular-redux/store\";\r\nimport {StockInput} from \"./stock-input.type\";\r\nimport {Stock} from \"../../shared/view-model/stock\";\r\nimport {ApolloQueryResult} from \"apollo-client\";\r\nimport {VisbosService} from \"../../core/visbos-core/graphql/visbos.service\";\r\nimport {productBatchFragments} from \"./product-services/product.service\";\r\nimport {MessageType} from \"../../shared/redux-store/session/session.types\";\r\nimport {medicineFragments} from \"./medicine.service\";\r\nimport {IAppState} from \"../../shared/redux-store\";\r\nimport {SessionActions} from \"../../shared/actions\";\r\nimport {keywordFragments} from \"../../core/visbos-core/services/keyword.service\";\r\nimport {warehousingFragments} from \"./warehousing-service/warehousing.service\";\r\nimport {storeManagementFragments} from \"./withdrawal.service\";\r\nimport {\r\n FetchExpiringStocksQuery,\r\n FetchRelatedStocksQuery,\r\n FetchStocksInDepotsQuery,\r\n FindProductBatchesQuery,\r\n MedicineStockChangeInput,\r\n MoveStocksInput,\r\n MoveStocksMutation,\r\n RearrangementInput,\r\n RemoveProductBatchFromStockMutation\r\n} from \"../../shared/graphql/graphql.types\";\r\nimport {catchError, map} from \"rxjs/operators\";\r\nimport {forkJoin} from \"rxjs/observable/forkJoin\";\r\nimport {empty} from \"rxjs/observable/empty\";\r\nimport {of} from \"rxjs/observable/of\";\r\nimport {environment} from '../../../environments/environment';\r\nimport {HttpClient, HttpHeaders} from '@angular/common/http';\r\n\r\nexport const exportStockListEndpoint = environment.exportUrl + 'stock-list/:adminUnitCuid';\r\n\r\nexport const stockFragments = {\r\n stock: gql`\r\n fragment StockDetailFields on Stock {\r\n cuid, label, name,\r\n stock_item {\r\n cuid, label\r\n category {cuid label}\r\n administration_unit {cuid label}\r\n visbos_article_number\r\n default_product {\r\n cuid label\r\n supplier {cuid label}\r\n }\r\n keywords { ...KeywordFields }\r\n },\r\n depot {\r\n cuid, label administration_unit {cuid label}\r\n },\r\n depot_yard { cuid, label, name },\r\n min_stock, report_stock, shall_stock, act_stock,\r\n order_amount, extraction_amount,\r\n registration_required,\r\n identities { cuid, label, ean, ean_type },\r\n product_batches { ...ProductBatchFields },\r\n keywords { ...KeywordFields },\r\n in_shopping_cart, has_open_orders\r\n }\r\n\r\n ${productBatchFragments.productBatch}\r\n ${keywordFragments.keyword}\r\n `\r\n};\r\n\r\nexport const fetchStocksForDepotQuery = gql`\r\n query FetchStocksForDepotQuery($adminUnitCuid: String!, $depotId: String) {\r\n fetchStocks(administration_unit_cuid: $adminUnitCuid, depotId: $depotId) {\r\n ...StockDetailFields\r\n }\r\n }\r\n ${stockFragments.stock}\r\n`;\r\n\r\nexport const fetchStocksForSubAdminUnits = gql`\r\n query StocksForSubAdminUnits($adminUnitCuid: String!, $onlyCritical: Boolean = true) {\r\n stocksForSubAdminUnits(parent_administration_unit_cuid: $adminUnitCuid, only_critical: $onlyCritical) {\r\n ...StockDetailFields\r\n depot {\r\n administration_unit { cuid, label }\r\n }\r\n }\r\n }\r\n ${stockFragments.stock}\r\n`;\r\n\r\nexport const fetchRelatedStocks = gql`\r\n query FetchRelatedStocks($cuid: String!) {\r\n relatedStocks(cuid: $cuid) {\r\n ...StockDetailFields\r\n }\r\n }\r\n ${stockFragments.stock}\r\n`;\r\n\r\nexport const fetchStocksInDepots = gql`\r\n query FetchStocksInDepots($src:String!, $target:String!, $critical: Boolean) {\r\n stocksInDepots(source_depot_cuid: $src, target_depot_cuid: $target,\r\n only_critical: $critical) {\r\n cuid label\r\n depot {cuid label}\r\n depot_yard {cuid label}\r\n identities {cuid label ean}\r\n min_stock report_stock act_stock shall_stock\r\n related_stocks(depotCuid:$target) {\r\n cuid label\r\n min_stock report_stock act_stock shall_stock\r\n depot {cuid label}\r\n depot_yard {cuid label}\r\n identities {cuid label ean}\r\n }\r\n }\r\n }\r\n`;\r\n\r\nexport const moveStocks = gql`\r\n mutation MoveStocks($data:[MoveStocksInput], $auth_data: MedicineStockChangeInput, $generateVouchers: Boolean, $rearrangementData: RearrangementInput) {\r\n moveStocks(data: $data, auth_data: $auth_data, generate_vouchers: $generateVouchers, rearrangement_data: $rearrangementData) {\r\n withdrawal {\r\n ...WithdrawalFields\r\n }\r\n warehousing {\r\n ...WarehousingFields\r\n }\r\n voucher_withdrawal,\r\n voucher_warehousing\r\n }\r\n }\r\n ${warehousingFragments.warehousing}\r\n ${storeManagementFragments.withdrawal}\r\n`;\r\n\r\nexport const fetchExpiringStocks = gql`\r\n query FetchExpiringStocks($adminUnitCuid: String, $depotCuid: String,\r\n $categoryCuid:String, $supplierCuid: String, $expiringRangeDays: Int) {\r\n expiringStocks(adminUnitCuid: $adminUnitCuid, depotCuid: $depotCuid,\r\n categoryCuid: $categoryCuid, supplierCuid: $supplierCuid, expiringRangeDays: $expiringRangeDays) {\r\n cuid label\r\n min_stock report_stock shall_stock act_stock\r\n stock_item {cuid}\r\n depot {\r\n cuid label\r\n administration_unit {cuid label}\r\n }\r\n depot_yard {cuid label}\r\n product_batches {\r\n cuid label\r\n batch_number\r\n use_before_date use_before_date_formatted\r\n }\r\n }\r\n }\r\n`;\r\n\r\nexport const removeProductBatchFromStock = gql`\r\n mutation RemoveProductBatchFromStock($stockCuid:String!, $productBatchCuid:String!) {\r\n removeProductBatchFromStock(stockCuid: $stockCuid, productBatchCuid: $productBatchCuid)\r\n }\r\n`;\r\n\r\nexport const findProductBatches = gql`\r\n query FindProductBatches($searchString: String!, $adminUnitCuid: String, $includeDeleted: Boolean) {\r\n findProductBatches(searchString: $searchString, adminUnitCuid: $adminUnitCuid, includeDeleted: $includeDeleted) {\r\n cuid label\r\n created_at, deleted_at\r\n batch_number use_before_date use_before_date_formatted\r\n stocks {\r\n cuid label\r\n depot {\r\n cuid label\r\n administration_unit {cuid label}\r\n }\r\n depot_yard {cuid label}\r\n }\r\n }\r\n }\r\n`;\r\n\r\n@Injectable()\r\nexport class StockService extends VisbosService {\r\n\r\n @select() depot$: Observable;\r\n\r\n\r\n constructor(apollo: Apollo, ngRedux: NgRedux, sessionActions: SessionActions, private http: HttpClient) {\r\n super(apollo, ngRedux, sessionActions);\r\n }\r\n\r\n public getStocksForDepot(depotId: string | Observable, adminUnitCuid?: string\r\n | Observable): ApolloQueryObservable {\r\n\r\n // Get all stocks from Server\r\n let data$ = this.fetchItems({\r\n query: fetchStocksForDepotQuery,\r\n variables: {\r\n adminUnitCuid: adminUnitCuid ? adminUnitCuid : this.activeAdminUnitCuid$,\r\n depotId: depotId\r\n }\r\n }).pipe(map(({data}: any) => data.fetchStocks));\r\n\r\n return >data$;\r\n }\r\n\r\n public getMedicineStock(cuid: string | Observable): ApolloQueryObservable {\r\n\r\n let data$ = this.fetchItems({\r\n query: gql`\r\n query FetchMedicineStockDetailsQuery($stockId: String!) {\r\n fetchStockDetails(cuid: $stockId) {\r\n cuid, label, name,\r\n stock_item {\r\n cuid, label, name, short_name,\r\n medicine { ...MedicineFields },\r\n },\r\n depot { cuid, label },\r\n depot_yard { cuid, label, name },\r\n min_stock, report_stock, shall_stock, act_stock,\r\n order_amount, extraction_amount,\r\n registration_required,\r\n identities { cuid, label, ean, ean_type },\r\n product_batches { ...ProductBatchFields },\r\n in_shopping_cart, has_open_orders\r\n }\r\n }\r\n ${medicineFragments.medicine}\r\n ${productBatchFragments.productBatch}\r\n `,\r\n variables: {\r\n stockId: cuid\r\n }\r\n });\r\n\r\n return data$;\r\n\r\n }\r\n\r\n public getStock(cuid: string | Observable): ApolloQueryObservable {\r\n\r\n let data$ = this.fetchItems({\r\n query: gql`\r\n query FetchStockDetailsQuery($stockId: String!) {\r\n fetchStockDetails(cuid: $stockId) {\r\n ...StockDetailFields\r\n }\r\n }\r\n\r\n ${stockFragments['stock']}\r\n `,\r\n variables: {\r\n stockId: cuid\r\n }\r\n }).pipe(map(({data}: any) => data.fetchStockDetails));\r\n\r\n return >data$;\r\n\r\n }\r\n\r\n public getStockWithVariants(stockId: string, depotId: string): Observable {\r\n\r\n let data$ = this.fetchItems({\r\n query: gql`\r\n query FetchStockVariantsQuery($stockId: String!, $depotId: String) {\r\n fetchStockVariants(stockId: $stockId, depotId: $depotId) {\r\n cuid, label,\r\n stock_item {cuid, label,\r\n properties {cuid, name, short_name, value}\r\n }\r\n }\r\n }`,\r\n variables: {\r\n stockId: stockId,\r\n depotId: depotId\r\n },\r\n });\r\n\r\n let model$ = data$.pipe(map(({data}: any) => {\r\n return {\r\n variants: data.fetchStockVariants,\r\n isLoading: data.loading\r\n };\r\n }\r\n ));\r\n\r\n return model$;\r\n }\r\n\r\n public getStocksForSubAdminUnits(adminUnitCuid?: string | Observable, onlyCritical?: boolean) {\r\n return this.fetchItems({\r\n query: fetchStocksForSubAdminUnits,\r\n variables: {\r\n adminUnitCuid: adminUnitCuid || this.activeAdminUnitCuid$,\r\n onlyCritical: onlyCritical\r\n }\r\n });\r\n }\r\n\r\n public getRelatedStocks(sourceStockCuid: string | Observable): ApolloQueryObservable {\r\n return this.fetchItems({\r\n query: fetchRelatedStocks,\r\n variables: {\r\n cuid: sourceStockCuid\r\n }\r\n });\r\n }\r\n\r\n //TODO: Refactor Apollo 2.0\r\n public getStocksInDepots(sourceDepotCuid, targetDepotCuid, onlyCritical?): ApolloQueryObservable {\r\n return this.fetchItems({\r\n query: fetchStocksInDepots,\r\n variables: {\r\n src: sourceDepotCuid,\r\n target: targetDepotCuid,\r\n critical: onlyCritical\r\n }\r\n })\r\n }\r\n\r\n public createStock(stockInput: StockInput): Observable> {\r\n return this.mutate({\r\n mutation: gql`\r\n mutation CreateStockMutation($SI: CreateStockInput!) {\r\n createStock(stock_input: $SI) {\r\n ...StockDetailFields\r\n }\r\n }\r\n\r\n ${stockFragments.stock}\r\n `,\r\n variables: {\r\n SI: stockInput\r\n },\r\n refetchQueries: ['FetchStocksForDepotQuery', 'FetchStockVariantsQuery', 'FetchCriticalStocksQuery', 'LoadShoppingCart', 'LoadShoppingCartsForAdminUnit', 'FetchStockItemsQuery']\r\n }).pipe(\r\n catchError(err => {\r\n if (err.graphQLErrors && err.graphQLErrors.find(e => e.message.includes('Integrity constraint violation: 1062 Duplicate entry'))) {\r\n this.sessionActions.pushMessage('Bestand kann nicht angelegt werden, da bereits ein Bestand für den Artikel im Lager angelegt ist!', MessageType.WARNING, 'Bestandsverwaltung');\r\n return empty();\r\n }\r\n throw err;\r\n }),\r\n map((res: any) => res.data.createStock)\r\n );\r\n }\r\n\r\n public createStocksForDepot(depot_id: string, stockInput: StockInput[]): Observable> {\r\n\r\n return this.mutate({\r\n mutation: gql`\r\n mutation AddStocksToDepotMutation($depot_id: String!, $stocks: [CreateStockInput]!) {\r\n createStocksForDepot(depot_id: $depot_id, stocks: $stocks) {\r\n ...StockDetailFields\r\n }\r\n }\r\n\r\n ${stockFragments.stock}\r\n `,\r\n variables: {\r\n depot_id: depot_id,\r\n stocks: stockInput\r\n },\r\n refetchQueries: ['FetchStocksForDepotQuery', 'FetchStockVariantsQuery', 'FetchCriticalStocksQuery', 'FetchStockItemsQuery', 'DepotsWithCriticalStocks', 'LoadShoppingCart', 'LoadShoppingCartsForAdminUnit']\r\n }).pipe(\r\n map((res: any) => res.data.createStock)\r\n );\r\n\r\n }\r\n\r\n public updateStocks(stocks: StockInput[], sync?: boolean): Observable {\r\n\r\n if (!stocks || stocks.length == 0) {\r\n return of({});\r\n }\r\n\r\n let obs = [];\r\n for (let st of stocks) {\r\n obs.push(this.updateStock(st, st.cuid, sync));\r\n }\r\n\r\n return forkJoin(obs);\r\n }\r\n\r\n public updateStock(data: StockInput, cuid?: string, sync?: boolean): Observable> {\r\n\r\n return this.mutate({\r\n mutation: gql`\r\n mutation UpdateStockMutation($cuid: String, $stock: CreateStockInput!, $sync: Boolean) {\r\n updateStock(cuid: $cuid, stock: $stock, sync: $sync){\r\n ...StockDetailFields\r\n }\r\n }\r\n\r\n ${stockFragments['stock']}\r\n `,\r\n variables: {\r\n cuid: cuid,\r\n stock: data,\r\n sync: sync\r\n },\r\n refetchQueries: ['FetchStocksForDepotQuery', 'FetchStockVariantsQuery', 'FetchCriticalStocksQuery', 'DepotsWithCriticalStocks', 'LoadShoppingCart', 'LoadShoppingCartsForAdminUnit']\r\n });\r\n\r\n }\r\n\r\n public deleteStock(cuid: string): Observable> {\r\n\r\n let data$ = this.mutate({\r\n mutation: gql`\r\n mutation DeleteStockMutation($cuid: String!) {\r\n deleteStock(cuid: $cuid)\r\n }`,\r\n variables: {\r\n cuid: cuid\r\n },\r\n refetchQueries: ['FetchStocksForDepotQuery', 'FetchStockVariantsQuery', 'FetchCriticalStocksQuery', 'FetchStockItemsQuery', 'DepotsWithCriticalStocks', 'LoadShoppingCart', 'LoadShoppingCartsForAdminUnit'],\r\n updateQueries: this.deleteItemsFromQueries(cuid, 'fetchStocks', 'FetchStocksForDepotQuery', 'FetchCriticalStocksQuery')\r\n //TODO: Remove from all queries!!\r\n });\r\n\r\n return data$;\r\n }\r\n\r\n public searchStocks(searchTerm: string, depotId?: string): Observable {\r\n let data$ = this.fetchItems({\r\n query: gql`\r\n query FindStocks($searchString: String!, $depotId: String){\r\n findStocks(searchString: $searchString, depotId: $depotId){\r\n ...StockDetailFields\r\n }\r\n }\r\n ${stockFragments.stock}\r\n `,\r\n variables: {\r\n searchString: searchTerm,\r\n depotId: depotId\r\n }\r\n });\r\n\r\n let model$ = data$.pipe(map(({data}: any) => {\r\n return {\r\n stocks: data.findStocks,\r\n isLoading: data.loading,\r\n loading: data.loading\r\n };\r\n }\r\n ));\r\n\r\n return model$;\r\n }\r\n\r\n public searchStocksWithRelated(searchTerm: string, targetDepotId?: string, sourceDepotId?: string): Observable {\r\n let data$ = this.fetchItems({\r\n query: gql`\r\n query FindStocksWithRelated($searchString: String!, $depotId: String, $sourceDepotId: String){\r\n findStocks(searchString: $searchString, depotId: $depotId, withAdditionalDepots: true){\r\n ...StockDetailFields\r\n required_amount\r\n related_stocks(depotCuid: $sourceDepotId) {\r\n ...StockDetailFields\r\n }\r\n }\r\n }\r\n ${stockFragments.stock}\r\n `,\r\n variables: {\r\n searchString: searchTerm,\r\n depotId: targetDepotId,\r\n sourceDepotId: sourceDepotId\r\n }\r\n });\r\n\r\n let model$ = data$.pipe(map(({data}: any) => {\r\n return {\r\n stocks: data.findStocks,\r\n isLoading: data.loading,\r\n loading: data.loading\r\n };\r\n }\r\n ));\r\n\r\n return model$;\r\n }\r\n\r\n public moveStocks(data: MoveStocksInput[], authData?: MedicineStockChangeInput, generateVouchers?: boolean, rearrangementData?: RearrangementInput): Observable> {\r\n return this.mutate({\r\n mutation: moveStocks,\r\n variables: {\r\n data: data,\r\n auth_data: authData,\r\n generateVouchers: generateVouchers,\r\n rearrangementData: rearrangementData\r\n }\r\n });\r\n }\r\n\r\n //TODO: Apollo-Migration\r\n public fetchExpiringStocks(adminUnitCuid?, depotCuid?, categoryCuid?, supplierCuid?, expiringRangeDays?): ApolloQueryObservable {\r\n return this.fetchItems({\r\n query: fetchExpiringStocks,\r\n variables: {\r\n adminUnitCuid: adminUnitCuid || this.activeAdminUnitCuid$,\r\n depotCuid, categoryCuid, supplierCuid, expiringRangeDays\r\n }\r\n })\r\n }\r\n\r\n public removeProductBatchFromStock(stockCuid: string, productBatchCuid: string): Observable> {\r\n return this.mutate({\r\n mutation: removeProductBatchFromStock,\r\n variables: {\r\n stockCuid, productBatchCuid\r\n },\r\n refetchQueries: ['FetchExpiringStocks']\r\n })\r\n }\r\n\r\n //TODO: Apollo Migration\r\n public findProductBatches(searchString, adminUnitCuid?, includeDeleted?, depotCuid?): ApolloQueryObservable {\r\n return this.fetchItems({\r\n query: findProductBatches,\r\n variables: {\r\n searchString: searchString,\r\n adminUnitCuid: adminUnitCuid || this.activeAdminUnitCuid$,\r\n includeDeleted: includeDeleted\r\n }\r\n });\r\n }\r\n\r\n generateStocklistExport(adminUnitCuid) {\r\n const headers = new HttpHeaders();\r\n headers.set('Accept', 'text/plain');\r\n return this.http.get(exportStockListEndpoint.replace(':adminUnitCuid', adminUnitCuid), {\r\n headers,\r\n responseType: 'arraybuffer',\r\n observe: 'response'\r\n });\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/store-management/services/stock.service.ts","import {Injectable} from '@angular/core';\r\nimport {VisbosService} from \"../../../core/visbos-core/graphql/visbos.service\";\r\nimport {Apollo, ApolloQueryObservable} from \"apollo-angular\";\r\nimport {NgRedux} from \"@angular-redux/store\";\r\nimport {IAppState} from \"../../../shared/redux-store\";\r\nimport {SessionActions} from \"../../../shared/actions\";\r\nimport gql from \"graphql-tag\";\r\nimport {Observable} from \"rxjs/Observable\";\r\nimport {ApolloQueryResult} from \"apollo-client\";\r\nimport {\r\n AutoStocktakingDepotMutation,\r\n AutoStocktakingDepotMutationVariables,\r\n DeleteStocktakingMutation,\r\n FetchStocktakingsQuery,\r\n GenerateStocktakingChecklistPDFMutation,\r\n GenerateStocktakingReportPDFMutation,\r\n GetLatestStocktakingQuery,\r\n GetStocktakingQuery,\r\n GetStocktakingTypesQuery,\r\n InitDepotStocktakingMutation,\r\n InitMedicineStocktakingMutation,\r\n SaveStocktakingEntriesMutation,\r\n SaveStocktakingEntryMutation,\r\n SealStocktakingMutationMutation\r\n} from \"../../../shared/graphql/graphql.types\";\r\n\r\nexport const stocktakingFragments = {\r\n stocktaking: gql`\r\n fragment StocktakingFields on Stocktaking {\r\n cuid label is_editable\r\n created_at updated_at reporting_date\r\n stocktaking_type {cuid label}\r\n is_sealed\r\n description notes\r\n administration_unit {cuid label }\r\n depot {cuid label}\r\n responsible_user {cuid label}\r\n involved_persons_names\r\n }\r\n `,\r\n stocktakingEntries: gql`\r\n fragment StocktakingEntryFields on StocktakingEntry {\r\n cuid label is_editable\r\n created_at updated_at stocktaking_timestamp\r\n pinned_down\r\n shall_amount is_amount\r\n product_batches {cuid label use_before_date batch_number}\r\n stock {\r\n cuid label\r\n depot_yard {cuid label}\r\n product_batches {cuid label use_before_date batch_number}\r\n }\r\n }\r\n `\r\n};\r\n\r\nexport const getSotcktakingTypes = gql`\r\n query GetStocktakingTypes($label: String) {\r\n stocktakingTypes(label: $label) {\r\n cuid label is_editable\r\n }\r\n }\r\n`;\r\n\r\nexport const initDepotStocktakingMutation = gql`\r\n mutation InitDepotStocktaking($depotCuid:String!, $stocktakingInput:StocktakingInput!) {\r\n createDepotStocktaking(depotCuid: $depotCuid, stocktakingInput:$stocktakingInput) {\r\n ...StocktakingFields\r\n stocktaking_entries {\r\n ...StocktakingEntryFields\r\n }\r\n }\r\n }\r\n ${stocktakingFragments.stocktaking}\r\n ${stocktakingFragments.stocktakingEntries}\r\n`;\r\n\r\nexport const initMedicineStocktakingMutation = gql`\r\n mutation InitMedicineStocktaking($depotCuid:String!, $stocktakingInput:StocktakingInput!) {\r\n createMedicineStocktaking(depotCuid: $depotCuid, stocktakingInput:$stocktakingInput) {\r\n ...StocktakingFields\r\n stocktaking_entries {\r\n ...StocktakingEntryFields\r\n }\r\n }\r\n }\r\n ${stocktakingFragments.stocktaking}\r\n ${stocktakingFragments.stocktakingEntries}\r\n`;\r\n\r\nexport const saveStocktakingEntryMutation = gql`\r\n mutation SaveStocktakingEntry($cuid:String!, $data:StocktakingEntryInput!) {\r\n saveStocktakingEntry(cuid:$cuid, data:$data) {\r\n ...StocktakingEntryFields\r\n }\r\n }\r\n ${stocktakingFragments.stocktakingEntries}\r\n`;\r\n\r\nexport const saveStocktakingEntriesMutation = gql`\r\n mutation SaveStocktakingEntries($data:[StocktakingEntryInput]!) {\r\n saveStocktakingEntries(data:$data) {\r\n ...StocktakingEntryFields\r\n }\r\n }\r\n ${stocktakingFragments.stocktakingEntries}\r\n`;\r\n\r\nexport const getStocktakingQuery = gql`\r\n query GetStocktaking($stocktakingCuid:String!, $onlyPinnedDown: Boolean, $notPinnedDown: Boolean) {\r\n stocktaking(cuid: $stocktakingCuid) {\r\n ...StocktakingFields\r\n stocktaking_entries(onlyPinnedDown: $onlyPinnedDown, notPinnedDown: $notPinnedDown) {\r\n ...StocktakingEntryFields\r\n }\r\n }\r\n }\r\n ${stocktakingFragments.stocktaking}\r\n ${stocktakingFragments.stocktakingEntries}\r\n`;\r\n\r\nexport const getLatestStocktakingQuery = gql`\r\n query GetLatestStocktaking($adminUnitCuid:String!, $currentUserOnly:Boolean, $period:Int) {\r\n latestStocktaking(adminUnitCuid: $adminUnitCuid,\r\n currentUserOnly: $currentUserOnly, period:$period) {\r\n ...StocktakingFields\r\n stocktaking_entries {\r\n ...StocktakingEntryFields\r\n }\r\n }\r\n }\r\n ${stocktakingFragments.stocktaking}\r\n ${stocktakingFragments.stocktakingEntries}\r\n`;\r\n\r\nexport const FetchStocktakings = gql`\r\n query FetchStocktakings($adminUnitCuid: String, $depotCuid: String, $onlyUnsealed: Boolean) {\r\n stocktakings(adminUnitCuid: $adminUnitCuid, depotCuid: $depotCuid, onlyUnsealed: $onlyUnsealed) {\r\n ...StocktakingFields\r\n }\r\n }\r\n ${stocktakingFragments.stocktaking}\r\n`;\r\n\r\nexport const sealStocktakingMutation = gql`\r\n mutation SealStocktakingMutation($cuid: String!) {\r\n sealStocktaking(cuid: $cuid) {\r\n ...StocktakingFields\r\n stocktaking_entries {\r\n ...StocktakingEntryFields\r\n }\r\n }\r\n }\r\n ${stocktakingFragments.stocktaking}\r\n ${stocktakingFragments.stocktakingEntries}\r\n`;\r\n\r\nexport const DeleteStocktaking = gql`\r\n mutation DeleteStocktaking($cuid: String!) {\r\n deleteStocktaking(cuid: $cuid)\r\n }\r\n`;\r\n\r\nexport const generateStocktakingChecklistPDF = gql`\r\n mutation GenerateStocktakingChecklistPDF($cuid: String!) {\r\n stocktakingChecklistPdf(cuid: $cuid)\r\n }\r\n`;\r\n\r\nexport const generateStocktakingReportPDF = gql`\r\n mutation GenerateStocktakingReportPDF($cuid: String!) {\r\n stocktakingReportPdf(cuid: $cuid)\r\n }\r\n`;\r\n\r\nexport const startRfidStocktakingMutation = gql`\r\n mutation AutoStocktakingDepot($depotCuid: String!) {\r\n checkDepotByRfid(depotCuid: $depotCuid, autoSeal: false) {\r\n ...StocktakingFields\r\n }\r\n }\r\n ${stocktakingFragments.stocktaking}\r\n`;\r\n\r\nexport interface StocktakingTypesResult extends GetStocktakingTypesQuery {\r\n}\r\n\r\nexport interface CreateDepotStocktakingResult extends InitDepotStocktakingMutation {\r\n}\r\n\r\nexport interface SaveStocktakingEntryResult extends SaveStocktakingEntryMutation {\r\n}\r\n\r\nexport interface StocktakingResult extends GetStocktakingQuery {\r\n}\r\n\r\nexport interface SealStocktakingMutationResult extends SealStocktakingMutationMutation {\r\n}\r\n\r\n@Injectable()\r\nexport class StocktakingService extends VisbosService {\r\n\r\n constructor(apollo: Apollo, ngRedux: NgRedux, sessionActions: SessionActions) {\r\n super(apollo, ngRedux, sessionActions);\r\n }\r\n\r\n public getStocktakingTypes(label?: string): ApolloQueryObservable {\r\n return this.fetchItems({\r\n query: getSotcktakingTypes,\r\n variables: {\r\n label\r\n }\r\n });\r\n }\r\n\r\n public initDepotStocktaking(depotCuid: string, stocktakingInput): Observable> {\r\n return this.mutate({\r\n mutation: initDepotStocktakingMutation,\r\n variables: {\r\n depotCuid,\r\n stocktakingInput\r\n },\r\n refetchQueries: ['FetchStocktakings', 'GetLatestStocktaking']\r\n })\r\n }\r\n\r\n public initMedicineStocktaking(depotCuid: string, stocktakingInput): Observable> {\r\n return this.mutate({\r\n mutation: initMedicineStocktakingMutation,\r\n variables: {\r\n depotCuid,\r\n stocktakingInput\r\n },\r\n refetchQueries: ['FetchStocktakings', 'GetLatestStocktaking']\r\n })\r\n }\r\n\r\n public saveStocktakingEntry(cuid: string, stocktakingEntryInput): Observable> {\r\n return this.mutate({\r\n mutation: saveStocktakingEntryMutation,\r\n variables: {\r\n cuid: cuid,\r\n data: this.processStocktakingEntryData(stocktakingEntryInput)\r\n }\r\n }, false)\r\n }\r\n\r\n public saveStocktakingEntries(stocktakingEntryInput: any[]): Observable> {\r\n\r\n let data = stocktakingEntryInput.map(e => this.processStocktakingEntryData(e));\r\n\r\n return this.mutate({\r\n mutation: saveStocktakingEntriesMutation,\r\n variables: {\r\n data: data\r\n }\r\n });\r\n }\r\n\r\n public sealStocktaking(cuid: string): Observable> {\r\n return this.mutate({\r\n mutation: sealStocktakingMutation,\r\n variables: {\r\n cuid: cuid,\r\n },\r\n refetchQueries: ['GetLatestStocktaking']\r\n })\r\n }\r\n\r\n public getStocktaking(stocktakingCuid: string | Observable): ApolloQueryObservable {\r\n return this.fetchItems({\r\n query: getStocktakingQuery,\r\n variables: {\r\n stocktakingCuid: stocktakingCuid\r\n }\r\n })\r\n }\r\n\r\n public getLatestStocktaking(adminUnitCuid?: string | Observable): ApolloQueryObservable {\r\n return this.fetchItems({\r\n query: getLatestStocktakingQuery,\r\n variables: {\r\n adminUnitCuid: adminUnitCuid || this.activeAdminUnitCuid$\r\n },\r\n fetchPolicy: 'network-only'\r\n })\r\n }\r\n\r\n public fetchStocktakings(adminUnitCuid?: string | Observable, depotCuid?: string | Observable, onlyUnsealed?: boolean | Observable): ApolloQueryObservable {\r\n return this.fetchItems({\r\n query: FetchStocktakings,\r\n variables: {\r\n adminUnitCuid: adminUnitCuid || this.activeAdminUnitCuid$,\r\n depotCuid: depotCuid,\r\n onlyUnsealed: onlyUnsealed\r\n }\r\n });\r\n }\r\n\r\n public processStocktakingEntryData(data) {\r\n let newData = JSON.parse(JSON.stringify(data));\r\n\r\n // remove deleted product batches and exclude delete marker from JSON output\r\n let clearedPbs = [];\r\n for (let pb of newData.product_batches || []) {\r\n if (!pb.deleted) {\r\n delete pb.deleted;\r\n clearedPbs.push(pb);\r\n }\r\n delete pb.deleted;\r\n }\r\n\r\n newData.product_batches = clearedPbs;\r\n\r\n return newData;\r\n }\r\n\r\n public deleteStocktaking(stocktakingCuid: string): Observable> {\r\n return this.mutate({\r\n mutation: DeleteStocktaking,\r\n variables: {\r\n cuid: stocktakingCuid\r\n },\r\n refetchQueries: ['FetchStocktakings', 'GetLatestStocktaking']\r\n })\r\n }\r\n\r\n public generateStocktakingReportPDF(stocktakingCuid: string): Observable> {\r\n return this.mutate({\r\n mutation: generateStocktakingReportPDF,\r\n variables: {\r\n cuid: stocktakingCuid\r\n }\r\n });\r\n }\r\n\r\n public generateStocktakingChecklistPDF(stocktakingCuid: string): Observable> {\r\n return this.mutate({\r\n mutation: generateStocktakingChecklistPDF,\r\n variables: {\r\n cuid: stocktakingCuid\r\n }\r\n });\r\n }\r\n\r\n public autoStocktakingForDepot(variables: AutoStocktakingDepotMutationVariables): Observable> {\r\n return this.mutate({\r\n mutation: startRfidStocktakingMutation,\r\n variables: variables,\r\n refetchQueries: ['FetchStocksForDepotQuery']\r\n })\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/store-management/services/stocktaking/stocktaking.service.ts","import {Injectable} from \"@angular/core\";\r\nimport {VisbosService} from \"../../../core/visbos-core/graphql/visbos.service\";\r\nimport {Apollo} from \"apollo-angular\";\r\nimport {NgRedux} from \"@angular-redux/store\";\r\nimport {IAppState} from \"../../../shared/redux-store/store\";\r\nimport {SessionActions} from \"../../../shared/actions/session.actions\";\r\nimport gql from \"graphql-tag\";\r\nimport {Warehousing} from \"../../model/warehousing\";\r\nimport {Observable} from \"rxjs/Observable\";\r\nimport {medicineBookFragments} from \"../medicine.service\";\r\nimport {map} from \"rxjs/operators\";\r\n\r\nexport const warehousingFragments = {\r\n warehousing: gql`\r\n fragment WarehousingFields on Warehousing {\r\n cuid, label, warehousing_timestamp,\r\n warehousing_reason_type,\r\n warehousing_note,\r\n warehousing_reason {\r\n cuid, label, __typename,\r\n ...on Delivery {\r\n delivery_date, packing_slip_number, recipient_name\r\n }\r\n }\r\n supplier {\r\n cuid, label, __typename,\r\n ... on AdministrationUnit {\r\n name\r\n }\r\n ... on Vehicle {\r\n license_plate\r\n }\r\n }\r\n total_amount,\r\n increased_stocks {\r\n cuid, label,\r\n stock {cuid, label, act_stock},\r\n amount,\r\n medicine_book_entry {\r\n ...MedicineBookEntryFields\r\n }\r\n }\r\n }\r\n ${medicineBookFragments.medicineBookEntry}\r\n `\r\n};\r\n\r\nexport const createWarehousingMutation = gql`\r\n mutation CreateWarehousingMutation($warehousingInput: WarehousingInput!, $medicineAuthData: MedicineStockChangeInput) {\r\n createWarehousing(warehousing_input: $warehousingInput, medicine_auth_data: $medicineAuthData) {\r\n ...WarehousingFields\r\n }\r\n }\r\n\r\n ${warehousingFragments.warehousing}\r\n`;\r\n\r\nexport interface CreateWarehousingResult {\r\n createWarehousing: Warehousing\r\n}\r\n\r\n@Injectable()\r\nexport class WarehousingService extends VisbosService {\r\n\r\n constructor(apollo: Apollo, ngRedux: NgRedux, sessionActions: SessionActions) {\r\n super(apollo, ngRedux, sessionActions);\r\n }\r\n\r\n public createWarehousing(warehousingInput, medicineAuthData?): Observable {\r\n\r\n return this.mutate({\r\n mutation: createWarehousingMutation,\r\n variables: {\r\n warehousingInput: warehousingInput,\r\n medicineAuthData: medicineAuthData\r\n },\r\n refetchQueries: [],\r\n }).pipe(map(res => res.data));\r\n\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/store-management/services/warehousing-service/warehousing.service.ts","import {Injectable} from \"@angular/core\";\r\nimport {Withdrawal} from \"../model/withdrawal\";\r\nimport {Apollo, ApolloQueryObservable} from \"apollo-angular\";\r\nimport gql from \"graphql-tag\";\r\nimport {Observable} from \"rxjs/Observable\";\r\nimport {VisbosService} from \"../../core/visbos-core/graphql/visbos.service\";\r\nimport {SessionActions} from \"../../shared/actions/session.actions\";\r\nimport {IAppState} from \"../../shared/redux-store/store\";\r\nimport {NgRedux} from \"@angular-redux/store\";\r\nimport {map} from \"rxjs/operators\";\r\nimport {FetchWithdrawlsQuery} from '../../shared/graphql/graphql.types';\r\n\r\nexport const storeManagementFragments = {\r\n withdrawal: gql`\r\n fragment WithdrawalFields on Withdrawal {\r\n cuid, label, withdrawal_timestamp,\r\n withdrawal_reason_type,\r\n withdrawal_note\r\n withdrawal_reason {\r\n cuid, label, __typename,\r\n ... on Mission {\r\n mission_number, mission_date\r\n }\r\n }\r\n consumer {\r\n cuid, label, __typename,\r\n ... on AdministrationUnit {\r\n name\r\n }\r\n ... on Vehicle {\r\n license_plate\r\n }\r\n }\r\n total_amount,\r\n withdrawn_stocks {\r\n cuid, label,\r\n stock {cuid, label, act_stock},\r\n amount,\r\n medicine_book_entry {\r\n cuid label sign_url\r\n }\r\n }\r\n\r\n }\r\n `\r\n};\r\n\r\nexport const fetchWithdrawalsQuery = gql`\r\n query FetchWithdrawls($depot_id: String, $adminUnitCuid: String, $limit: Int, $offset: Int, $queryString: String) {\r\n fetchWithdrawals(depot_id: $depot_id, adminUnitCuid: $adminUnitCuid, limit: $limit, offset: $offset, queryString: $queryString) {\r\n items {...WithdrawalFields}\r\n total_items, total_pages\r\n }\r\n }\r\n\r\n ${storeManagementFragments.withdrawal}\r\n`;\r\n\r\n@Injectable()\r\nexport class WithdrawalService extends VisbosService {\r\n\r\n constructor(apollo?: Apollo, ngRedux?: NgRedux, sessionActions?: SessionActions) {\r\n super(apollo, ngRedux, sessionActions);\r\n }\r\n\r\n public getWithdrawals(depotCuid?: string | Observable, adminUnitCuid?: string | Observable,\r\n limit?: number | Observable, offset?: number | Observable, queryString?: string | Observable): ApolloQueryObservable {\r\n return this.fetchItems({\r\n query: fetchWithdrawalsQuery,\r\n variables: {\r\n depot_id: depotCuid,\r\n adminUnitCuid: adminUnitCuid || this.activeAdminUnitCuid$,\r\n limit: limit,\r\n offset: offset,\r\n queryString: queryString\r\n }\r\n });\r\n }\r\n\r\n public createWithdrawal(withdrawalData, medicineAuthData?): Observable {\r\n\r\n return this.mutate({\r\n mutation: gql`\r\n mutation CreateWithdrawal($withdrawal_input: WithdrawalInput!, $medicineAuthData: MedicineStockChangeInput) {\r\n createWithdrawal(withdrawal_input: $withdrawal_input, medicine_withdrawal_data: $medicineAuthData) {\r\n ...WithdrawalFields\r\n }\r\n }\r\n\r\n ${storeManagementFragments.withdrawal}\r\n `,\r\n variables: {\r\n withdrawal_input: this.processData(withdrawalData),\r\n medicineAuthData: medicineAuthData\r\n },\r\n refetchQueries: ['FetchWithdrawls'],\r\n }).pipe(map((res: any) => res.data.createWithdrawal)) as Observable;\r\n\r\n }\r\n\r\n public updateWithdrawal(cuid: string, withdrawalData): ApolloQueryObservable {\r\n return undefined;\r\n }\r\n\r\n public addStockToWithdrawal(stockCuid, withdrawal) {\r\n\r\n }\r\n\r\n public deleteWithdrawnItem(wd, wds) {\r\n\r\n }\r\n\r\n protected processData(data): any {\r\n let processedData = JSON.parse(JSON.stringify(data));\r\n\r\n delete processedData.consumer;\r\n delete processedData.withdrawal_reason;\r\n delete processedData.is_complete;\r\n delete processedData.authenticated_user;\r\n\r\n //TODO: Provide token\r\n\r\n for (let wdSt of processedData.withdrawn_stocks) {\r\n wdSt.stock_id = wdSt.stock && !wdSt.stock_id ? wdSt.stock.cuid : wdSt.stock_id;\r\n delete wdSt.stock;\r\n }\r\n\r\n //return pruneEmpty(processedData);\r\n return processedData;\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/store-management/services/withdrawal.service.ts","module.exports = \"\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/store-management/statistics/consumption-statistics-view/consumption-statistics-view.component.css\n// module id = ./src/app/store-management/statistics/consumption-statistics-view/consumption-statistics-view.component.css\n// module chunks = main","module.exports = \"\\r\\n\\r\\n

Verbrauchsstatistiken

\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n\\r\\n

Statistiken für den Standort {{activeAdminUnit?.label}}

\\r\\n\\r\\n \\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n
Anzahl Entnahmen nach Kostenstellen
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n
Anzahl Entnahmen nach Entnahmegrund
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n
Anzahl Entnahmen nach Kostenstelle über die Zeit
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n
Anzahl Entnahmen nach Entnahmegrund über die Zeit
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n

Filter: {{filterControl?.value | json}}

\\r\\n
\\r\\n\\r\\n\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/store-management/statistics/consumption-statistics-view/consumption-statistics-view.component.html\n// module id = ./src/app/store-management/statistics/consumption-statistics-view/consumption-statistics-view.component.html\n// module chunks = main","import {ChangeDetectorRef, Component, OnInit} from '@angular/core';\r\nimport {AbstractVisbosComponent} from \"../../../core/visbos-core/components/abstract-visbos.component\";\r\nimport {SessionActions} from \"../../../shared/actions/session.actions\";\r\nimport {StoreStatisticsService} from \"../../services/statistics-services/store-statistics.service\";\r\nimport {FormBuilder, FormGroup} from \"@angular/forms\";\r\nimport {MultiDateSeries} from \"../../../shared/view-model/core/multi-date-series.type\";\r\nimport * as d3 from 'd3-shape';\r\nimport {DatePipe} from \"@angular/common\";\r\nimport {map} from \"rxjs/operators\";\r\nimport {FileService} from '../../../core/visbos-core/http/file.service';\r\n\r\n@Component({\r\n selector: 'vb-consumption-statistics-view',\r\n templateUrl: './consumption-statistics-view.component.html',\r\n styleUrls: ['./consumption-statistics-view.component.css']\r\n})\r\nexport class ConsumptionStatisticsViewComponent extends AbstractVisbosComponent implements OnInit {\r\n\r\n consumptionByConsumerData: any[] = [];\r\n consumptionByConsumerByTimeData: MultiDateSeries[] = [];\r\n\r\n consumptionByTypeData: any[] = [];\r\n consumptionByTypeByTimeData: MultiDateSeries[] = [];\r\n\r\n filterControl: FormGroup;\r\n\r\n view: any[] = [553, 300];\r\n\r\n // options\r\n showXAxis = true;\r\n showYAxis = true;\r\n gradient = false;\r\n label = \"Insgesamt\";\r\n legendTitle = \"Legende\";\r\n showLegend = true;\r\n showXAxisLabel = true;\r\n xAxisLabel = 'Zeit';\r\n showYAxisLabel = true;\r\n yAxisLabel = '%';\r\n\r\n xAxisTickFormatting = (label) => {\r\n return this.datePipe.transform(label, 'short');\r\n };\r\n\r\n curve = d3.curveStep;\r\n\r\n colorScheme = {\r\n domain: ['#5AA454', '#A10A28', '#C7B42C', '#AAAAAA']\r\n };\r\n\r\n // line, area\r\n autoScale = true;\r\n\r\n\r\n constructor(sessionActions: SessionActions, private fb: FormBuilder,\r\n private statisticsService: StoreStatisticsService, cd: ChangeDetectorRef,\r\n private datePipe: DatePipe, private fileService: FileService) {\r\n super(sessionActions, cd);\r\n\r\n this.actions = [{\r\n label: 'Kostenstellen-Report exportieren',\r\n icon: 'fa-download',\r\n action: () => this.onExportAccountStatistics.apply(this)\r\n }];\r\n\r\n }\r\n\r\n ngOnInit() {\r\n\r\n this.filterControl = this.fb.group({\r\n depot_cuid: [null],\r\n start_date: [null],\r\n end_date: [null]\r\n });\r\n\r\n let depotCuid$ = this.filterControl.valueChanges.pipe(map(form => form.depot_cuid));\r\n let startDate$ = this.filterControl.valueChanges.pipe(map(form => form.start_date));\r\n let endDate$ = this.filterControl.valueChanges.pipe(map(form => form.end_date));\r\n\r\n let data1$ = this.statisticsService.getConsumptionByConsumerStatistics(null, depotCuid$, startDate$, endDate$);\r\n this.addComponentData(data1$);\r\n\r\n this.dataSubscriptions.push(data1$.subscribe(res => {\r\n this.isLoading = res.loading;\r\n this.consumptionByConsumerData = res.data.consumptionByConsumerStatistics;\r\n this.cd.detectChanges();\r\n }));\r\n\r\n let data2$ = this.statisticsService.getConsumptionByTypeStatistics(null, depotCuid$, startDate$, endDate$);\r\n this.addComponentData(data2$);\r\n\r\n this.dataSubscriptions.push(data2$.subscribe(res => {\r\n this.isLoading = res.loading;\r\n this.consumptionByTypeData = res.data.consumptionByTypeStatistics;\r\n this.cd.detectChanges();\r\n }));\r\n\r\n\r\n let data3$ = this.statisticsService.getConsumptionByConsumerByTimeStatistics('Y-W', null, depotCuid$, startDate$, endDate$);\r\n this.addComponentData(data3$);\r\n\r\n this.dataSubscriptions.push(data3$.subscribe(res => {\r\n this.isLoading = res.loading;\r\n this.consumptionByConsumerByTimeData = this.statisticsService.transformMultiSeriesToDateSeries(res.data.consumptionByConsumerByTimeStatistics);\r\n this.cd.detectChanges();\r\n }));\r\n\r\n let data4$ = this.statisticsService.getConsumptionByTypeByTimeStatistics('Y-W', null, depotCuid$, startDate$, endDate$);\r\n this.addComponentData(data4$);\r\n\r\n this.dataSubscriptions.push(data4$.subscribe(res => {\r\n this.isLoading = res.loading;\r\n this.consumptionByTypeByTimeData = this.statisticsService.transformMultiSeriesToDateSeries(res.data.consumptionByTypeByTimeStatistics);\r\n this.cd.detectChanges();\r\n }));\r\n\r\n }\r\n\r\n onSelect(event) {\r\n console.log(event);\r\n }\r\n\r\n onExportAccountStatistics() {\r\n this.statisticsService.generateAccountStatisticsExport(this.activeAdminUnitCuid).subscribe(response => {\r\n this.fileService.saveResponseToFileSystem(response);\r\n }, err => {\r\n this.sessionActions.throwError(err, \"Fehler beim Erzeugen der Datei!\");\r\n });\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/store-management/statistics/consumption-statistics-view/consumption-statistics-view.component.ts","module.exports = \"\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/store-management/statistics/order-statistics-view/order-statistics-view.component.css\n// module id = ./src/app/store-management/statistics/order-statistics-view/order-statistics-view.component.css\n// module chunks = main","module.exports = \"\\r\\n\\r\\n

Beschaffungsstatistik

\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n\\r\\n

Statistiken für den Standort {{activeAdminUnit?.label}}

\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n
Anzahl Bestellungen nach Lieferant
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n
Kosten nach Lieferant
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n
Kosten nach Lieferant über die Zeit
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n\\r\\n\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/store-management/statistics/order-statistics-view/order-statistics-view.component.html\n// module id = ./src/app/store-management/statistics/order-statistics-view/order-statistics-view.component.html\n// module chunks = main","import {ChangeDetectorRef, Component, OnInit} from '@angular/core';\r\nimport {AbstractVisbosComponent} from \"../../../core/visbos-core/components/abstract-visbos.component\";\r\nimport {MultiDateSeries} from \"../../../shared/view-model/core/multi-date-series.type\";\r\nimport {FormBuilder, FormGroup} from \"@angular/forms\";\r\nimport {SessionActions} from \"../../../shared/actions\";\r\nimport {StoreStatisticsService} from \"../../services/statistics-services/store-statistics.service\";\r\nimport {DatePipe} from \"@angular/common\";\r\n\r\nimport * as d3 from 'd3-shape';\r\nimport {map} from \"rxjs/operators\";\r\n\r\n@Component({\r\n selector: 'vb-order-statistics-view',\r\n templateUrl: './order-statistics-view.component.html',\r\n styleUrls: ['./order-statistics-view.component.css']\r\n})\r\nexport class OrderStatisticsViewComponent extends AbstractVisbosComponent implements OnInit {\r\n\r\n\r\n ordersBySupplierData: any[] = [];\r\n costsBySupplierData: any[] = [];\r\n costsBySupplierByTimeData: MultiDateSeries[] = [];\r\n\r\n filterControl: FormGroup;\r\n\r\n // options\r\n showXAxis = true;\r\n showYAxis = true;\r\n gradient = false;\r\n label = \"Insgesamt\";\r\n legendTitle = \"Legende\";\r\n showLegend = true;\r\n showXAxisLabel = true;\r\n xAxisLabel = 'Zeit';\r\n showYAxisLabel = true;\r\n yAxisLabel = '%';\r\n\r\n xAxisTickFormatting = (label) => {\r\n return this.datePipe.transform(label, 'short');\r\n };\r\n\r\n curve = d3.curveStep;\r\n\r\n colorScheme = {\r\n domain: ['#5AA454', '#A10A28', '#C7B42C', '#AAAAAA']\r\n };\r\n\r\n // line, area\r\n autoScale = true;\r\n\r\n\r\n constructor(sessionActions: SessionActions, cd: ChangeDetectorRef,\r\n private fb: FormBuilder,\r\n private statisticsService: StoreStatisticsService,\r\n private datePipe: DatePipe) {\r\n super(sessionActions, cd);\r\n\r\n //this.actions = [];\r\n\r\n }\r\n\r\n ngOnInit() {\r\n\r\n this.filterControl = this.fb.group({\r\n supplier_cuid: [null],\r\n start_date: [null],\r\n end_date: [null]\r\n });\r\n\r\n let supplierCuid$ = this.filterControl.valueChanges.pipe(map(form => form.supplier_cuid));\r\n let startDate$ = this.filterControl.valueChanges.pipe(map(form => form.start_date));\r\n let endDate$ = this.filterControl.valueChanges.pipe(map(form => form.end_date));\r\n\r\n let data1$ = this.statisticsService.getCostsBySupplierByTimeStatistics('Y-m-d', null, supplierCuid$, startDate$, endDate$);\r\n this.addComponentData(data1$);\r\n\r\n this.dataSubscriptions.push(data1$.subscribe(res => {\r\n this.costsBySupplierByTimeData = this.statisticsService.transformMultiSeriesToDateSeries(res.data.costsBySupplierByTimeStatistics);\r\n this.cd.detectChanges();\r\n }));\r\n\r\n let data2$ = this.statisticsService.getCostsBySupplierStatistics(null, supplierCuid$, startDate$, endDate$);\r\n this.addComponentData(data2$);\r\n\r\n this.dataSubscriptions.push(data2$.subscribe(res => {\r\n this.costsBySupplierData = res.data.costsBySupplierStatistics;\r\n this.cd.detectChanges();\r\n }));\r\n\r\n let data3$ = this.statisticsService.getOrdersBySuppliersStatistics(null, supplierCuid$, startDate$, endDate$);\r\n this.addComponentData(data3$);\r\n\r\n this.dataSubscriptions.push(data3$.subscribe(res => {\r\n this.ordersBySupplierData = res.data.ordersBySupplierStatistics;\r\n this.cd.detectChanges();\r\n }));\r\n\r\n }\r\n\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/store-management/statistics/order-statistics-view/order-statistics-view.component.ts","module.exports = \"\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/store-management/stock-item-category/stock-item-category-selection/stock-item-category-selection.component.css\n// module id = ./src/app/store-management/stock-item-category/stock-item-category-selection/stock-item-category-selection.component.css\n// module chunks = main","module.exports = \"\\r\\n\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/store-management/stock-item-category/stock-item-category-selection/stock-item-category-selection.component.html\n// module id = ./src/app/store-management/stock-item-category/stock-item-category-selection/stock-item-category-selection.component.html\n// module chunks = main","import {ChangeDetectorRef, Component, forwardRef, OnInit} from \"@angular/core\";\r\nimport {FormBuilder, FormControl} from \"@angular/forms\";\r\nimport {AbstractVisbosControl} from \"../../../core/visbos-core/ui/forms/abstract-visbos-control\";\r\nimport {StockItemCategory} from \"../../model/stock-item-catgegory.type\";\r\nimport {appInjector} from \"../../../index\";\r\nimport {StockItemCategoryService} from \"../../services/stock-item-category.service\";\r\n\r\n@Component({\r\n selector: 'vb-stock-item-category-selection',\r\n templateUrl: './stock-item-category-selection.component.html',\r\n styleUrls: ['./stock-item-category-selection.component.css'],\r\n providers: [{provide: AbstractVisbosControl, useExisting: forwardRef(() => StockItemCategorySelectionComponent)}]\r\n})\r\nexport class StockItemCategorySelectionComponent extends AbstractVisbosControl implements OnInit {\r\n categoryList: StockItemCategory[] = [];\r\n\r\n constructor(private categoryService: StockItemCategoryService,\r\n fb: FormBuilder, cd: ChangeDetectorRef) {\r\n super(fb, cd, null);\r\n }\r\n\r\n ngOnInit() {\r\n super.ngOnInit();\r\n\r\n this.categoryService.getStockItemCategories().subscribe((categories: any) =>{\r\n this.categoryList = categories;\r\n });\r\n\r\n }\r\n\r\n buildControlContent(): FormControl {\r\n return StockItemCategorySelectionComponent.initControl(this.fb);\r\n }\r\n\r\n public static initControl(fb?: FormBuilder) {\r\n fb = fb ? fb : appInjector().get(FormBuilder);\r\n return fb.control(null);\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/store-management/stock-item-category/stock-item-category-selection/stock-item-category-selection.component.ts","module.exports = \"\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/store-management/stock-item/add-stock-item/add-stock-item.component.css\n// module id = ./src/app/store-management/stock-item/add-stock-item/add-stock-item.component.css\n// module chunks = main","module.exports = \"

Neuen Artikel anlegen

\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n

Angaben zum Artikel

\\r\\n\\r\\n \\r\\n \\r\\n\\r\\n\\r\\n

Bestände hinzufügen

\\r\\n\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n\\r\\n\\r\\n

Form

\\r\\n

{{JSON.stringify(form?.value)}}

\\r\\n
\\r\\n\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/store-management/stock-item/add-stock-item/add-stock-item.component.html\n// module id = ./src/app/store-management/stock-item/add-stock-item/add-stock-item.component.html\n// module chunks = main","import {AfterViewChecked, ChangeDetectorRef, Component, OnInit, QueryList, ViewChildren} from \"@angular/core\";\r\nimport {AbstractControl, FormArray, FormBuilder, FormGroup} from \"@angular/forms\";\r\nimport {StockItemService} from \"../../services/stock-item-service/stock-item.service\";\r\nimport {StockItemFormComponent} from \"../stock-item-form/stock-item-form.component\";\r\nimport {NewStockViewComponent} from \"../../stock/new-stock-view/new-stock-view.component\";\r\nimport {Stock} from \"../../../shared/view-model/stock\";\r\nimport {AbstractVisbosControl} from \"../../../core/visbos-core/ui/forms/abstract-visbos-control\";\r\nimport * as _ from \"lodash\";\r\nimport {SessionActions} from \"../../../shared/actions/session.actions\";\r\nimport {MessageType} from \"../../../shared/redux-store/session/session.types\";\r\nimport {ErrorHandlerService} from \"../../../core/visbos-core/error-handling/error-handler.service\";\r\nimport {ManufacturerService} from \"../../../crm/services/manufacturer.service\";\r\n\r\n@Component({\r\n selector: 'vb-add-stock-item',\r\n templateUrl: './add-stock-item.component.html',\r\n styleUrls: ['./add-stock-item.component.css']\r\n})\r\nexport class AddStockItemComponent implements OnInit, AfterViewChecked {\r\n\r\n form: FormGroup;\r\n\r\n storedControls: string[] = [];\r\n JSON;\r\n console;\r\n\r\n item;\r\n\r\n @ViewChildren(AbstractVisbosControl)\r\n childForms: QueryList>;\r\n\r\n constructor(private fb: FormBuilder, private cd: ChangeDetectorRef,\r\n private siService: StockItemService,\r\n private sessionActions: SessionActions,\r\n private err: ErrorHandlerService,\r\n private manuService: ManufacturerService) {\r\n this.JSON = JSON;\r\n this.console = console;\r\n }\r\n\r\n ngOnInit() {\r\n this.initForm();\r\n }\r\n\r\n ngAfterViewChecked(): void {\r\n this.cd.detectChanges();\r\n }\r\n\r\n private initForm() {\r\n this.form = this.fb.group({\r\n stock_item: StockItemFormComponent.initControl(this.fb),\r\n stocks: this.fb.array([])\r\n });\r\n }\r\n\r\n deleteStock(index: number) {\r\n let ctrl = this.form.get('stocks');\r\n ctrl.removeAt(index);\r\n }\r\n\r\n addStock(values?: Stock) {\r\n let ctrl = NewStockViewComponent.initControl(this.fb);\r\n (this.form.get('stocks')).push(ctrl);\r\n }\r\n\r\n save(formData) {\r\n let stockInput = this.completeFormData(formData);\r\n\r\n this.siService.createStockItem(stockInput.stock_item, stockInput.stocks).subscribe((result: any) => {\r\n this.reset();\r\n this.sessionActions.pushMessage('Artikel erfolgreich angelegt', MessageType.SUCCESS);\r\n },\r\n error => {\r\n this.err.handleUserError(error, \"Fehler beim Anlegen des Artikels!\");\r\n });\r\n\r\n }\r\n\r\n reset(fullReset: boolean = false) {\r\n\r\n if (fullReset) {\r\n this.storedControls = [];\r\n }\r\n\r\n let values: any[] = [];\r\n\r\n // Store values of marked controls\r\n\r\n for (let key of this.storedControls) {\r\n let ctrl: AbstractControl = this.form.get(key);\r\n if (ctrl) {\r\n values.push(ctrl.value);\r\n } else {\r\n let i = this.storedControls.indexOf(key);\r\n this.storedControls[i] = null; // Set to null, so array is not modified during iteration\r\n }\r\n }\r\n this.storedControls = this.storedControls.filter(n => n); // Filter out null values\r\n this.cd.detectChanges();\r\n\r\n // Reset values to default\r\n this.childForms.forEach(child => child.reset(fullReset));\r\n this.cd.detectChanges();\r\n\r\n // Restore values\r\n for (let index in this.storedControls) {\r\n let ctrl = this.form.get(this.storedControls[index]);\r\n if (ctrl) {\r\n ctrl.setValue(values[index]);\r\n ctrl.markAsTouched();\r\n }\r\n }\r\n\r\n }\r\n\r\n reloadData() {\r\n\r\n }\r\n\r\n completeFormData(item) {\r\n let data = Object.assign({}, item);\r\n\r\n if (_.has(data, 'stock_item.medicine')) {\r\n _.set(data, 'stock_item.medicine.administration_unit_id', _.get(item, 'stock_item.administration_unit_id'));\r\n _.set(data, 'stock_item.medicine.substances.0.administration_unit_id', _.get(item, 'stock_item.administration_unit_id'));\r\n _.set(data, 'stock_item.medicine.stock_item_id', _.get(item, 'stock_item.cuid'));\r\n }\r\n\r\n if (_.has(data, 'stock_item.products')) {\r\n data.stock_item.products.forEach(p => p.stock_item_id = _.get(item, 'stock_item.cuid'));\r\n }\r\n\r\n if (_.has(data, 'stocks')) {\r\n data.stocks.forEach(stock => stock.stock_item_id = _.get(item, 'stock_item.cuid'));\r\n }\r\n\r\n return data;\r\n }\r\n\r\n\r\n}\r\n\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/store-management/stock-item/add-stock-item/add-stock-item.component.ts","module.exports = \"\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/store-management/stock-item/edit-stock-item/edit-stock-item.component.css\n// module id = ./src/app/store-management/stock-item/edit-stock-item/edit-stock-item.component.css\n// module chunks = main","module.exports = \"

Artikel {{item?.label}} bearbeiten

\\r\\n\\r\\n
\\r\\n

Allgemeine Angaben zum Artikel

\\r\\n\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/store-management/stock-item/edit-stock-item/edit-stock-item.component.html\n// module id = ./src/app/store-management/stock-item/edit-stock-item/edit-stock-item.component.html\n// module chunks = main","import {AfterViewChecked, ChangeDetectorRef, Component, OnInit, ViewChild} from \"@angular/core\";\r\nimport {FormArray, FormBuilder, FormGroup} from \"@angular/forms\";\r\nimport {StockItem} from \"../../../shared/view-model/store-management/stock-item.type\";\r\nimport {StockItemService} from \"../../services/stock-item-service/stock-item.service\";\r\nimport {ActivatedRoute, Router} from \"@angular/router\";\r\nimport {StockItemFormComponent} from \"../stock-item-form/stock-item-form.component\";\r\nimport {Stock} from \"../../../shared/view-model/stock\";\r\nimport {appInjector} from \"../../../index\";\r\nimport {NewStockViewComponent} from \"../../stock/new-stock-view/new-stock-view.component\";\r\nimport {StockService} from \"../../services/stock.service\";\r\nimport {StockInput} from \"../../services/stock-input.type\";\r\nimport {StockItemInput} from \"../../services/stock-item-input.type\";\r\nimport * as _ from \"lodash\";\r\nimport {SessionActions} from \"../../../shared/actions/session.actions\";\r\nimport {MessageType} from \"../../../shared/redux-store/session/session.types\";\r\nimport {ErrorHandlerService} from \"../../../core/visbos-core/error-handling/error-handler.service\";\r\nimport {Location} from \"@angular/common\";\r\nimport {forkJoin} from \"rxjs/observable/forkJoin\";\r\nimport {BehaviorSubject} from \"rxjs/BehaviorSubject\";\r\n\r\n@Component({\r\n selector: 'vb-edit-stock-item',\r\n templateUrl: './edit-stock-item.component.html',\r\n styleUrls: ['./edit-stock-item.component.css']\r\n})\r\nexport class EditStockItemComponent implements OnInit, AfterViewChecked {\r\n\r\n @ViewChild(StockItemFormComponent)\r\n stockItemForm: StockItemFormComponent;\r\n\r\n item: StockItem;\r\n\r\n form: FormGroup;\r\n\r\n stockIdsToDelete: string[] = [];\r\n\r\n JSON;\r\n console;\r\n\r\n constructor(private fb: FormBuilder,\r\n private cd: ChangeDetectorRef,\r\n private siService: StockItemService,\r\n private stockService: StockService,\r\n private route: ActivatedRoute,\r\n private router: Router,\r\n private location: Location,\r\n private sessionActions: SessionActions,\r\n private err: ErrorHandlerService) {\r\n this.JSON = JSON;\r\n this.console = console;\r\n }\r\n\r\n stockItemCuid: BehaviorSubject;\r\n\r\n ngOnInit() {\r\n this.item = this.route.snapshot.data['stockItem'];\r\n this.init();\r\n }\r\n\r\n ngAfterViewChecked(): void {\r\n this.cd.detectChanges();\r\n //TODO: Very unperformant!!!\r\n }\r\n\r\n init() {\r\n this.form = this.fb.group({\r\n stock_item: StockItemFormComponent.initControl(this.fb),\r\n stocks: EditStockItemComponent.initStocks(this.fb)\r\n });\r\n }\r\n\r\n static initStocks(fb: FormBuilder = null, values?: Stock[]): FormArray {\r\n fb = fb ? fb : appInjector().get(FormBuilder);\r\n let ctrl = fb.array([]);\r\n\r\n if (values) {\r\n for (let stock of values) {\r\n ctrl.push(NewStockViewComponent.initControl(fb));\r\n }\r\n }\r\n\r\n return ctrl;\r\n }\r\n\r\n deleteStock(index: number) {\r\n let ctrl = this.form.get('stocks');\r\n let stockCuid = ctrl.controls[index].get('cuid').value;\r\n this.stockIdsToDelete.push(stockCuid);\r\n ctrl.removeAt(index);\r\n\r\n }\r\n\r\n addStock(values?: Stock) {\r\n let ctrl = this.form.get('stocks');\r\n let stockItemCuid = this.form.get('stock_item.cuid').value; // Retrieve actual CUID of stock item\r\n\r\n ctrl.push(NewStockViewComponent.initControl(this.fb));\r\n }\r\n\r\n save(item: { stock_item: StockItemInput, stocks: StockInput[] }) {\r\n\r\n item = this.completeFormData(item);\r\n\r\n let sti = this.siService.updateStockItem(item.stock_item);\r\n let st = this.stockService.updateStocks(item.stocks);\r\n\r\n //TODO: Does not work, when stock changes\r\n forkJoin(sti, st).subscribe(res => {\r\n this.sessionActions.pushMessage(\"Änderungen erfolgreich gespeichert!\", MessageType.SUCCESS, \"Artikelverwaltung\");\r\n this.location.back();\r\n },\r\n err => {\r\n this.err.handleUserError(err, \"Während der Änderung ist ein Fehler aufgetreten!\");\r\n });\r\n\r\n for (let cuid of this.stockIdsToDelete) {\r\n this.stockService.deleteStock(cuid);\r\n }\r\n\r\n }\r\n\r\n completeFormData(item) {\r\n let data = Object.assign({}, item);\r\n\r\n if (_.has(data, 'stock_item.medicine')) {\r\n _.set(data, 'stock_item.medicine.administration_unit_id', _.get(item, 'stock_item.administration_unit_id'));\r\n _.set(data, 'stock_item.medicine.substances.0.administration_unit_id', _.get(item, 'stock_item.administration_unit_id'));\r\n _.set(data, 'stock_item.medicine.stock_item_id', _.get(item, 'stock_item.cuid'));\r\n }\r\n\r\n if (_.has(data, 'stock_item.products')) {\r\n data.stock_item.products.forEach(p => p.stock_item_id = _.get(item, 'stock_item.cuid'));\r\n }\r\n\r\n if (_.has(data, 'stocks')) {\r\n data.stocks.forEach(stock => stock.stock_item_id = _.get(item, 'stock_item.cuid'));\r\n }\r\n\r\n return data;\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/store-management/stock-item/edit-stock-item/edit-stock-item.component.ts","module.exports = \"\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/store-management/stock-item/stock-item-form/stock-item-form.component.css\n// module id = ./src/app/store-management/stock-item/stock-item-form/stock-item-form.component.css\n// module chunks = main","module.exports = \"\\r\\n\\r\\n \\r\\n \\r\\n\\r\\n\\r\\n\\r\\n\\r\\n
\\r\\n \\r\\n {{propertyAppendix}}\\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n
\\r\\n \\r\\n {{propertyShortAppendix}}\\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n\\r\\n\\r\\n\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n \\r\\n \\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n \\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n \\r\\n \\r\\n\\r\\n\\r\\n\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n

Zusatzangaben für Medikamente

\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n

Form

\\r\\n

{{control?.value | json}}

\\r\\n

Item

\\r\\n

{{item | json}}

\\r\\n
\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/store-management/stock-item/stock-item-form/stock-item-form.component.html\n// module id = ./src/app/store-management/stock-item/stock-item-form/stock-item-form.component.html\n// module chunks = main","import {\r\n AfterViewChecked,\r\n AfterViewInit,\r\n ChangeDetectorRef,\r\n Component,\r\n forwardRef,\r\n OnInit,\r\n ViewChild\r\n} from \"@angular/core\";\r\nimport {FormArray, FormBuilder, FormGroup, Validators} from \"@angular/forms\";\r\nimport {AbstractVisbosControl} from \"../../../core/visbos-core/ui/forms/abstract-visbos-control\";\r\nimport {StockItemPropertyFormComponent} from \"../stock-item-property/stock-item-property-form/stock-item-property-form.component\";\r\nimport {Property} from \"../../../shared/view-model/core/property.type\";\r\nimport {StockItem} from \"../../../shared/view-model/store-management/stock-item.type\";\r\nimport {ProductFormComponent} from \"../../product/product-form/product-form.component\";\r\nimport {appInjector} from \"../../../index\";\r\nimport {PropertyService} from \"../../services/property-service/property.service\";\r\nimport {StockItemCategory} from \"../../model/stock-item-catgegory.type\";\r\nimport {MedicineFormComponent} from \"../../medicine/medicine-form/medicine-form.component\";\r\nimport {StockItemCategoryService} from \"../../services/stock-item-category.service\";\r\nimport {helpTexts} from \"../../helptexts\";\r\n\r\n@Component({\r\n selector: 'vb-stock-item-form',\r\n templateUrl: './stock-item-form.component.html',\r\n styleUrls: ['./stock-item-form.component.css'],\r\n providers: [{provide: AbstractVisbosControl, useExisting: forwardRef(() => StockItemFormComponent)}]\r\n})\r\nexport class StockItemFormComponent extends AbstractVisbosControl implements OnInit, AfterViewChecked, AfterViewInit {\r\n\r\n @ViewChild(MedicineFormComponent)\r\n medicineForm: MedicineFormComponent;\r\n\r\n helpText;\r\n\r\n propertyAppendix;\r\n\r\n propertyShortAppendix;\r\n properties: Property[] = [];\r\n\r\n categories: StockItemCategory[];\r\n propertyInit = StockItemPropertyFormComponent.initControl;\r\n\r\n constructor(fb: FormBuilder, private propertyService: PropertyService, private catService: StockItemCategoryService, cd: ChangeDetectorRef) {\r\n super(fb, cd, null);\r\n this.helpText = helpTexts;\r\n }\r\n\r\n ngOnInit() {\r\n super.ngOnInit();\r\n\r\n this.dataSubscriptions.push(this.propertyService.getPropertiesList().subscribe((props: any) => this.properties = props));\r\n this.dataSubscriptions.push(this.catService.getStockItemCategories().subscribe((cats: any) => this.categories = cats));\r\n\r\n this.buildLabels();\r\n }\r\n\r\n ngAfterViewChecked() {\r\n this.buildLabels();\r\n this.onSelectCategory(this.control.get('category_id').value);\r\n this.cd.detectChanges();\r\n }\r\n\r\n public buildControlContent(values?: StockItem): FormGroup {\r\n return StockItemFormComponent.initControl(this.fb, values);\r\n }\r\n\r\n public static initControl(fb: FormBuilder = null, values?: StockItem): FormGroup {\r\n fb = fb ? fb : appInjector().get(FormBuilder);\r\n\r\n let ProdCtrl = ProductFormComponent.initControl(fb);\r\n\r\n let ctrl = fb.group({\r\n cuid: [null, Validators.required],\r\n administration_unit_id: [null, Validators.required],\r\n name: [null, Validators.required],\r\n short_name: [null],\r\n category_id: [null],\r\n account_id: [null],\r\n is_asset_packing: [false],\r\n reference_stock_master_id: [null],\r\n stock_master_id: [null],\r\n visbos_article_number: [null],\r\n properties: fb.array([]),\r\n products: fb.array([ProdCtrl], Validators.required),\r\n keywords: fb.array([]),\r\n });\r\n\r\n return ctrl;\r\n }\r\n\r\n public setDefaultValues(item?: StockItem): { [controlKey: string]: any } | any {\r\n return {\r\n cuid: this.setValue(item, 'cuid', AbstractVisbosControl.cuid()),\r\n name: this.setValue(item, 'name'),\r\n short_name: this.setValue(item, 'short_name'),\r\n is_asset_packing: this.setValue(item, 'is_asset_packing'),\r\n visbos_article_number: this.setValue(item, 'visbos_article_number'),\r\n category_id: this.setValue(item, 'category.cuid'),\r\n reference_stock_master_id: this.setValue(item, 'reference_stock_master_id'),\r\n stock_master_id: this.setValue(item, 'stock_item_master.cuid'),\r\n }\r\n };\r\n\r\n buildLabels() {\r\n if (!(this.control && this.control.get('properties'))) {\r\n this.propertyAppendix = null;\r\n this.propertyShortAppendix = null;\r\n return;\r\n }\r\n\r\n if (this.control.get('properties').valid) {\r\n let string: string[] = [];\r\n let shortString: string[] = [];\r\n let properties = this.control.get('properties').value;\r\n\r\n for (let prop of properties) {\r\n let property = this.getPropertyByCuid(prop.property_id);\r\n if (property) {\r\n string.push(property.name + \" = \" + prop.value);\r\n shortString.push(property.short_name + \" \" + prop.value);\r\n }\r\n }\r\n\r\n this.propertyAppendix = string.join(\", \");\r\n this.propertyShortAppendix = shortString.join(\", \");\r\n\r\n this.cd.detectChanges();\r\n }\r\n\r\n }\r\n\r\n getPropertyByCuid(cuid: string): Property {\r\n if (this.properties) {\r\n return this.properties.find(p => p.cuid == cuid);\r\n } else {\r\n return null;\r\n }\r\n }\r\n\r\n onSelectCategory(categoryCuid: string) {\r\n\r\n let cat;\r\n\r\n if (this.categories) {\r\n cat = this.categories.find(c => c.cuid == categoryCuid);\r\n }\r\n\r\n if (cat && cat.name == 'Medikament') {\r\n this.addMedicineForm();\r\n } else {\r\n this.control.removeControl('medicine');\r\n }\r\n\r\n }\r\n\r\n addMedicineForm() {\r\n let ctrl = MedicineFormComponent.initControl(this.fb);\r\n ctrl.removeControl('name'); // Remove control, so it is not displayed\r\n this.control.addControl('medicine', ctrl);\r\n }\r\n\r\n addProduct() {\r\n let ctrl = ProductFormComponent.initControl(this.fb);\r\n (this.control.get('products')).push(ctrl);\r\n }\r\n\r\n deleteProduct(index) {\r\n (this.control.get('products')).removeAt(index);\r\n }\r\n\r\n reset(fullReset: boolean = false) {\r\n if (fullReset) {\r\n (this.control.get('properties')).controls = [];\r\n }\r\n\r\n this.propertyAppendix = null;\r\n this.propertyShortAppendix = null;\r\n\r\n super.reset(fullReset);\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/store-management/stock-item/stock-item-form/stock-item-form.component.ts","module.exports = \"\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/store-management/stock-item/stock-item-input-field/stock-item-input-field.component.css\n// module id = ./src/app/store-management/stock-item/stock-item-input-field/stock-item-input-field.component.css\n// module chunks = main","module.exports = \"\\r\\n\\r\\n \\r\\n {{stockItem?.label}} ({{stockItem?.administration_unit?.label}})\\r\\n \\r\\n\\r\\n\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/store-management/stock-item/stock-item-input-field/stock-item-input-field.component.html\n// module id = ./src/app/store-management/stock-item/stock-item-input-field/stock-item-input-field.component.html\n// module chunks = main","import {ChangeDetectorRef, Component, forwardRef, Input, OnInit, ViewChild} from \"@angular/core\";\r\nimport {AbstractVisbosControl} from \"../../../core/visbos-core/ui/forms/abstract-visbos-control\";\r\nimport {StockItem} from \"../../../shared/view-model/store-management/stock-item.type\";\r\nimport {FormBuilder, FormControl} from \"@angular/forms\";\r\nimport {appInjector} from \"../../../index\";\r\nimport {AutocompleteComponent} from \"../../../core/visbos-core/ui/forms/autocomplete/autocomplete.component\";\r\nimport {Product} from \"../../../shared/view-model/store-management/product.type\";\r\nimport {Packing} from \"../../../shared/view-model/store-management/packing.type\";\r\nimport {SessionActions} from \"../../../shared/actions\";\r\n\r\n@Component({\r\n selector: 'vb-stock-item-input-field',\r\n templateUrl: './stock-item-input-field.component.html',\r\n styleUrls: ['./stock-item-input-field.component.css'],\r\n providers: [{provide: AbstractVisbosControl, useExisting: forwardRef(() => StockItemInputFieldComponent)}]\r\n})\r\nexport class StockItemInputFieldComponent extends AbstractVisbosControl implements OnInit {\r\n\r\n @ViewChild('inputField')\r\n inputField: AutocompleteComponent;\r\n\r\n @Input()\r\n stockItemList: StockItem[] = [];\r\n\r\n @Input()\r\n loading: boolean;\r\n\r\n constructor(fb: FormBuilder, cd: ChangeDetectorRef, sessionActions: SessionActions) {\r\n super(fb, cd, sessionActions)\r\n }\r\n\r\n ngOnInit() {\r\n super.ngOnInit();\r\n }\r\n\r\n buildControlContent(): FormControl {\r\n return StockItemInputFieldComponent.initControl(this.fb);\r\n }\r\n\r\n public static initControl(fb: FormBuilder = null): FormControl {\r\n fb = fb ? fb : appInjector().get(FormBuilder);\r\n return fb.control(null);\r\n }\r\n\r\n focus() {\r\n this.inputField.focus();\r\n }\r\n\r\n searchLabelAndArticleNumber(searchString: string, items: StockItem[]): StockItem[] {\r\n\r\n if (!searchString || !items) {\r\n return items || [];\r\n }\r\n\r\n // Search for name\r\n return items.filter((item: StockItem) => {\r\n let label = item.label.toLowerCase();\r\n if (label.includes(searchString.toLowerCase())) {\r\n return true;\r\n }\r\n\r\n // Search for article no\r\n let artNos = [];\r\n item.products.forEach((prod: Product) => {\r\n prod.packings.forEach((pack: Packing) => {\r\n if (pack.article_number) {\r\n artNos.push(pack.article_number.toLowerCase());\r\n }\r\n })\r\n });\r\n if (artNos.find(no => no.includes(searchString.toLowerCase()))) {\r\n return true;\r\n }\r\n\r\n return false;\r\n });\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/store-management/stock-item/stock-item-input-field/stock-item-input-field.component.ts","module.exports = \"\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/store-management/stock-item/stock-item-list-view/stock-item-list-view.component.css\n// module id = ./src/app/store-management/stock-item/stock-item-list-view/stock-item-list-view.component.css\n// module chunks = main","module.exports = \"\\r\\n\\r\\n

Artikelliste

\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n\\r\\n\\r\\n
\\r\\n {{st.depot.label}}\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n

Produkte

\\r\\n
    \\r\\n
    \\r\\n
  • \\r\\n {{prod.label}} ({{prod.supplier?.label}}, ArtNr. {{pack.article_number}}):\\r\\n {{pack.packing_unit?.packing_unit_name}}\\r\\n {{pack.packing_unit?.has_content ? 'à ' + pack.packing_amount + ' Stk.' : ''}}\\r\\n
  • \\r\\n
    \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n

Bestände

\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
LagerMinMeldeSollAktuell
{{stock.depot.label}}{{stock.min_stock}}{{stock.report_stock}}{{stock.shall_stock}}{{stock.act_stock}}
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n

Chargen

\\r\\n
    \\r\\n
    \\r\\n
  • \\r\\n {{batch.batch_number ? 'LOT ' + batch.batch_number + ', ' : ''}}\\r\\n MHD:\\r\\n {{batch.use_before_date | date:'d.M.yy'}}\\r\\n
  • \\r\\n
    \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/store-management/stock-item/stock-item-list-view/stock-item-list-view.component.html\n// module id = ./src/app/store-management/stock-item/stock-item-list-view/stock-item-list-view.component.html\n// module chunks = main","import {ChangeDetectorRef, Component, OnDestroy, OnInit, TemplateRef, ViewChild} from \"@angular/core\";\r\nimport {StockItem} from \"../../../shared/view-model/store-management/stock-item.type\";\r\nimport {FetchStockItemsResult, StockItemService} from \"../../services/stock-item-service/stock-item.service\";\r\nimport {ActivatedRoute, Router} from \"@angular/router\";\r\nimport {BehaviorSubject} from \"rxjs/BehaviorSubject\";\r\nimport {FormBuilder} from \"@angular/forms\";\r\nimport {SHOW_PARENTS_DEFAULT} from \"../../../configuration\";\r\nimport {ApolloQueryObservable} from \"apollo-angular\";\r\nimport {AbstractListView} from \"../../../core/visbos-core/ui/components/abstract-list-view\";\r\nimport {GenericModalComponent} from \"../../../core/visbos-core/ui/forms/generic-modal/generic-modal.component\";\r\nimport {NewStockViewComponent} from \"../../stock/new-stock-view/new-stock-view.component\";\r\nimport {StockInput} from \"../../services/stock-input.type\";\r\nimport {StockService} from \"../../services/stock.service\";\r\nimport {SessionActions} from \"../../../shared/actions/session.actions\";\r\nimport {MessageType} from \"../../../shared/redux-store/session/session.types\";\r\nimport {Product} from \"../../../shared/view-model/store-management/product.type\";\r\nimport {Packing} from \"../../../shared/view-model/store-management/packing.type\";\r\nimport {DatatableComponent} from \"../../../core/visbos-core/ui/components/datatable/datatable.component\";\r\nimport {debounceTime, distinctUntilChanged} from \"rxjs/operators\";\r\nimport {FileService} from '../../../core/visbos-core/http/file.service';\r\nimport * as _ from 'lodash';\r\nimport {StockItemStateService} from './stock-item-state.service';\r\n\r\n@Component({\r\n selector: 'vb-stock-item-list-view',\r\n templateUrl: './stock-item-list-view.component.html',\r\n styleUrls: ['./stock-item-list-view.component.css']\r\n})\r\nexport class StockItemListViewComponent extends AbstractListView implements OnInit, OnDestroy {\r\n\r\n // Table templates\r\n\r\n @ViewChild('stocksCell')\r\n stocksCell: TemplateRef;\r\n\r\n @ViewChild('addStockModal')\r\n addStockModal: GenericModalComponent;\r\n\r\n @ViewChild('stockForm')\r\n stockForm: NewStockViewComponent;\r\n\r\n @ViewChild('orderItemDetails')\r\n articleDetails: TemplateRef;\r\n\r\n @ViewChild('stockItemsTable')\r\n table: DatatableComponent;\r\n\r\n editable: { [cuid: string]: boolean };\r\n\r\n messages = {\r\n emptyMessage: 'Keine Artikel vorhanden',\r\n totalMessage: 'Artikel insgesamt'\r\n };\r\n\r\n showStockItemDetailsProxy = (row, expanded, event) => this.showStockItemDetails.apply(this, [row, expanded, event]);\r\n\r\n private stockItems$: ApolloQueryObservable;\r\n stockItems: StockItem[] = [];\r\n\r\n showParent$: BehaviorSubject = new BehaviorSubject(SHOW_PARENTS_DEFAULT);\r\n\r\n currentStockItem: StockItem;\r\n\r\n constructor(private stockItemService: StockItemService,\r\n private stockService: StockService,\r\n private router: Router,\r\n private route: ActivatedRoute,\r\n private fb: FormBuilder,\r\n private fileService: FileService,\r\n private state: StockItemStateService,\r\n sessionActions: SessionActions, cd: ChangeDetectorRef) {\r\n\r\n super(sessionActions, cd);\r\n\r\n this.actions = [\r\n {label: 'Neuen Artikel anlegen', icon: 'fa-plus', action: () => this.addNewArticle.apply(this)},\r\n {\r\n label: 'Artikelliste exportieren',\r\n icon: 'fa-file-export',\r\n helpText: 'Liste aller Artikel des Standorts und der übergeordneten Standorte als Excel-Datei exportieren',\r\n action: () => this.exportStockItemList.apply(this)\r\n }\r\n ];\r\n\r\n }\r\n\r\n ngOnInit() {\r\n\r\n this.isLoading = true;\r\n\r\n this.searchTerm = this.fb.control(null);\r\n\r\n this.dataSubscriptions.push(\r\n this.searchTerm.valueChanges.pipe(\r\n distinctUntilChanged(),\r\n debounceTime(500)\r\n ).subscribe((term: any) => {\r\n this.state.searchTerm = term;\r\n this.filterItems(term, true); // if the user types a search term, reset the page to the first page as it is unknown, if the page setting still fits the filtered item list\r\n })\r\n );\r\n\r\n // If a search term is set in the state, patch the form control and filter the items without changing the page\r\n if (this.state.searchTerm) {\r\n this.searchTerm.patchValue(this.state.searchTerm, {emitEvent: false});\r\n this.filterItems(this.state.searchTerm, false);\r\n }\r\n\r\n this.stockItems$ = this.stockItemService.fetchStockItems({withParents: this.showParent$});\r\n this.addComponentData(this.stockItems$);\r\n this.addSubscription(this.stockItems$.subscribe(res => {\r\n this.stockItems = res.data.fetchStockItems;\r\n this.filterItems(this.searchTerm.value, false);\r\n this.isLoading = res.loading;\r\n }));\r\n\r\n this.columns = [\r\n {prop: 'label', name: 'Bezeichner'},\r\n {prop: 'category.label', name: 'Artikelkategorie'},\r\n {prop: 'administration_unit.label', name: 'Verwaltungseinheit'},\r\n {prop: 'manufacturer.label', name: 'Hersteller'},\r\n {prop: 'supplier.label', name: 'Lieferant'},\r\n //{name: 'Bestände in Lagern', cellTemplate: this.stocksCell},\r\n ];\r\n\r\n }\r\n\r\n registerItemsClicked(cuid: string): void {\r\n this.router.navigate([cuid, \"gegenstaende\", \"registrieren\"], {\r\n relativeTo: this.route\r\n });\r\n }\r\n\r\n addNewArticle(): void {\r\n this.router.navigate([\"./neu\"], {relativeTo: this.route})\r\n }\r\n\r\n deleteArticle(cuid: string) {\r\n this.stockItemService.deleteStockItem(cuid);\r\n }\r\n\r\n editArticle(cuid: string) {\r\n this.router.navigate([cuid, \"edit\"], {\r\n relativeTo: this.route\r\n });\r\n }\r\n\r\n addStock(stockItem) {\r\n this.addStockModal.show();\r\n this.cd.detectChanges();\r\n this.stockForm.control.get('stock_item_id').setValue(stockItem.cuid);\r\n }\r\n\r\n saveStock(stock: StockInput) {\r\n this.dataSubscriptions.push(this.stockService.createStock(stock).subscribe((res: any) => {\r\n this.sessionActions.pushMessage('Bestand erfolgreich hinzugefügt!', MessageType.SUCCESS, 'Bestandsverwaltung');\r\n },\r\n err => this.sessionActions.throwError(err, \"Fehler beim Anlegen des Bestands, bitte wenden Sie sich an den Support!\", \"Bestandsverwaltung\"))\r\n );\r\n }\r\n\r\n showStockItemDetails(row, expanded, event: Event) {\r\n\r\n if (!expanded) {\r\n let stockItemCuid = row.cuid;\r\n this.dataSubscriptions.push(this.stockItemService.getStockItem(stockItemCuid, true)\r\n .subscribe((res: any) => {\r\n this.currentStockItem = res;\r\n }, err => {\r\n this.currentStockItem = null;\r\n })\r\n );\r\n } else {\r\n this.currentStockItem = null;\r\n }\r\n this.table.table.rowDetail.toggleExpandRow(row);\r\n }\r\n\r\n isUbdOver(ubd: Date) {\r\n if (new Date(ubd) < new Date()) {\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n filterItems(searchTerm, resetPage = false) {\r\n\r\n if (resetPage) {\r\n this.table.resetToFirstPage();\r\n }\r\n\r\n if (!searchTerm || searchTerm == \"\") {\r\n this.rows = this.stockItems;\r\n } else {\r\n if (this.stockItems) {\r\n let st = searchTerm.trim().toLowerCase();\r\n this.rows = this.stockItems.filter((si: StockItem) => {\r\n let label = this.findStringInTable(si, this.columns, st);\r\n if (label) {\r\n return true;\r\n }\r\n\r\n let inKeyWords = si.keywords && si.keywords.find(k => _.get(k, 'label', '') ? _.get(k, 'label', '').toLowerCase().includes(st) : false);\r\n if (inKeyWords) {\r\n return true;\r\n }\r\n\r\n // Search for article no\r\n if (si.products) {\r\n let artNos = [];\r\n si.products.forEach((prod: Product) => {\r\n\r\n // Check supplier and manufacturer names\r\n if ((_.get(prod, 'manufacturer.label', '') ? _.get(prod, 'manufacturer.label', '').toLowerCase().includes(st) : false) ||\r\n (_.get(prod, 'supplier.label', '') ? _.get(prod, 'supplier.label', '').toLowerCase().includes(st) : false)) {\r\n return true;\r\n }\r\n\r\n // Check product packings\r\n prod.packings.forEach((pack: Packing) => {\r\n if (pack.article_number ? pack.article_number.toLowerCase().includes(st) : false) {\r\n return true;\r\n }\r\n })\r\n });\r\n }\r\n\r\n return (_.get(si, 'stock_item.visbos_article_number', '') ? _.get(si, 'stock_item.visbos_article_number', '').toLowerCase().includes(st) : false) ||\r\n (_.get(si, 'stock_item.category.label', '') ? _.get(si, 'stock_item.category.label', '').toLowerCase().includes(st) : false);\r\n\r\n });\r\n }\r\n }\r\n }\r\n\r\n private exportStockItemList() {\r\n\r\n this.sessionActions.pushMessage(\"Artikelliste wird generiert, dies kann einen Moment dauern...\", MessageType.INFO, \"Artikelliste erzeugen\");\r\n\r\n this.stockItemService.generateStockItemListExport(this.activeAdminUnitCuid).subscribe(response => {\r\n this.fileService.saveResponseToFileSystem(response);\r\n }, err => {\r\n this.sessionActions.throwError(err, \"Fehler beim Erzeugen der Datei!\");\r\n });\r\n\r\n }\r\n\r\n}\r\n\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/store-management/stock-item/stock-item-list-view/stock-item-list-view.component.ts","import {Injectable} from '@angular/core';\r\n\r\n@Injectable()\r\nexport class StockItemStateService {\r\n\r\n public page = 1;\r\n\r\n public searchTerm = null;\r\n\r\n constructor() {\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/store-management/stock-item/stock-item-list-view/stock-item-state.service.ts","module.exports = \"\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/store-management/stock-item/stock-item-property/property-type-selection/property-type-selection.component.css\n// module id = ./src/app/store-management/stock-item/stock-item-property/property-type-selection/property-type-selection.component.css\n// module chunks = main","module.exports = \"\\r\\n\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/store-management/stock-item/stock-item-property/property-type-selection/property-type-selection.component.html\n// module id = ./src/app/store-management/stock-item/stock-item-property/property-type-selection/property-type-selection.component.html\n// module chunks = main","import {ChangeDetectorRef, Component, EventEmitter, forwardRef, Output} from \"@angular/core\";\r\nimport {FormBuilder, FormControl} from \"@angular/forms\";\r\nimport {PropertyService} from \"../../../services/property-service/property.service\";\r\nimport {AbstractVisbosControl} from \"../../../../core/visbos-core/ui/forms/abstract-visbos-control\";\r\nimport {Property} from \"../../../../shared/view-model/core/property.type\";\r\n\r\n@Component({\r\n selector: 'vb-property-type-selection',\r\n templateUrl: './property-type-selection.component.html',\r\n styleUrls: ['./property-type-selection.component.css'],\r\n providers: [{provide: AbstractVisbosControl, useExisting: forwardRef(() => PropertyTypeSelectionComponent)}]\r\n})\r\nexport class PropertyTypeSelectionComponent extends AbstractVisbosControl {\r\n\r\n //@HostBinding('class.form-control')\r\n\r\n propertyTypes = [];\r\n\r\n @Output()\r\n propertySelected: EventEmitter = new EventEmitter();\r\n\r\n constructor(fb: FormBuilder, cd: ChangeDetectorRef,\r\n private propService?: PropertyService) {\r\n super(fb, cd, null);\r\n }\r\n\r\n ngOnInit() {\r\n super.ngOnInit();\r\n if (this.propService) {\r\n this.propService.getPropertiesList().subscribe((properties) => {\r\n this.propertyTypes = properties;\r\n })\r\n }\r\n }\r\n\r\n buildControlContent(values?: Property): FormControl {\r\n return PropertyTypeSelectionComponent.initControl(this.fb);\r\n }\r\n\r\n public static initControl(fb: FormBuilder = null): FormControl {\r\n return fb.control(null);\r\n }\r\n\r\n public setDefaultValues(item?: Property): {[controlKey: string]: any} | any {\r\n return this.setValue(item, 'cuid');\r\n }\r\n\r\n selectPropertyType(property: Property) {\r\n //this.item = !isUndefined(property) ? property : this.item;\r\n this.propertySelected.emit(property);\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/store-management/stock-item/stock-item-property/property-type-selection/property-type-selection.component.ts","module.exports = \"\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/store-management/stock-item/stock-item-property/stock-item-property-form/stock-item-property-form.component.css\n// module id = ./src/app/store-management/stock-item/stock-item-property/stock-item-property-form/stock-item-property-form.component.css\n// module chunks = main","module.exports = \"\\r\\n\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/store-management/stock-item/stock-item-property/stock-item-property-form/stock-item-property-form.component.html\n// module id = ./src/app/store-management/stock-item/stock-item-property/stock-item-property-form/stock-item-property-form.component.html\n// module chunks = main","import {ChangeDetectorRef, Component, EventEmitter, forwardRef, Output} from \"@angular/core\";\r\nimport {FormBuilder, FormGroup, Validators} from \"@angular/forms\";\r\nimport {AbstractVisbosControl} from \"../../../../core/visbos-core/ui/forms/abstract-visbos-control\";\r\nimport {appInjector} from \"../../../../index\";\r\nimport {StockProperty} from \"../../../../shared/view-model/store-management/stock-property.type\";\r\nimport {Property} from \"../../../../shared/view-model/core/property.type\";\r\nimport {SessionActions} from \"../../../../shared/actions/session.actions\";\r\n\r\n@Component({\r\n selector: 'vb-stock-item-property-form',\r\n templateUrl: './stock-item-property-form.component.html',\r\n styleUrls: ['./stock-item-property-form.component.css'],\r\n providers: [{provide: AbstractVisbosControl, useExisting: forwardRef(() => StockItemPropertyFormComponent)}]\r\n})\r\nexport class StockItemPropertyFormComponent extends AbstractVisbosControl {\r\n\r\n @Output()\r\n propertyTypeSelected: EventEmitter = new EventEmitter();\r\n\r\n\r\n constructor(fb: FormBuilder, cd: ChangeDetectorRef, sessionActions: SessionActions) {\r\n super(fb, cd, sessionActions);\r\n }\r\n\r\n public buildControlContent(values?: StockProperty): FormGroup {\r\n return StockItemPropertyFormComponent.initControl(this.fb);\r\n }\r\n\r\n public static initControl(fb: FormBuilder = null): FormGroup {\r\n fb = fb ? fb : appInjector().get(FormBuilder);\r\n\r\n return fb.group({\r\n cuid: [null, Validators.required],\r\n property_id: [null, Validators.required],\r\n value: [null, Validators.required]\r\n });\r\n }\r\n\r\n public setDefaultValues(item?: StockProperty): {[controlKey: string]: any} | any {\r\n return {\r\n cuid: this.setValue(item, 'cuid', AbstractVisbosControl.cuid()),\r\n property_id: this.setValue(item, 'property.cuid'),\r\n value: this.setValue(item, 'value')\r\n }\r\n };\r\n\r\n onPropertyTypeSelected(property: Property) {\r\n this.propertyTypeSelected.emit(property);\r\n }\r\n\r\n propertyStored(state: boolean) {\r\n this.storeControlValue(this.control.get('property_id'), state);\r\n }\r\n\r\n propertyValueStored(state: boolean) {\r\n this.storeControlValue(this.control.get('value'), state);\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/store-management/stock-item/stock-item-property/stock-item-property-form/stock-item-property-form.component.ts","/**\r\n * Created by afuhr on 20.06.2016.\r\n */\r\nimport {Pipe, PipeTransform} from \"@angular/core\";\r\nimport {StockItem} from \"../../shared/view-model/store-management/stock-item.type\";\r\nimport {StockProperty} from \"../../shared/view-model/store-management/stock-property.type\";\r\n\r\n@Pipe({name: 'stockName'})\r\nexport class StockNamePipe implements PipeTransform {\r\n\r\n transform(stockItem: StockItem): string {\r\n\r\n if (!stockItem) {\r\n return \"\";\r\n }\r\n\r\n if (!stockItem.properties) {\r\n return stockItem.name;\r\n }\r\n\r\n return stockItem.name + StockNamePipe.getPropertyLabelAppendix(stockItem);\r\n }\r\n\r\n public static getPropertyLabelAppendix(stockItem: StockItem): string {\r\n\r\n if (!stockItem) {\r\n return \"\";\r\n }\r\n\r\n if (!stockItem.properties) {\r\n return stockItem.name;\r\n }\r\n\r\n let app: string = \"\";\r\n stockItem.properties.forEach(p => {\r\n app += ', ' + p.name + ' ' + p.value\r\n });\r\n return app;\r\n }\r\n\r\n public static getPropertiesLabel(properties: StockProperty[]): string {\r\n if (!properties) {\r\n return \"\";\r\n }\r\n\r\n let app: string = \"\";\r\n properties.forEach((p: any) => {\r\n app += ', ' + (p.name ? p.name : p.property_name) + ' ' + p.value\r\n });\r\n\r\n return app;\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/store-management/stock-item/stock-name.pipe.ts","/**\r\n * Created by afuhr on 20.06.2016.\r\n */\r\nimport {Pipe, PipeTransform} from \"@angular/core\";\r\nimport {StockItem} from \"../../shared/view-model/store-management/stock-item.type\";\r\nimport {StockProperty} from \"../../shared/view-model/store-management/stock-property.type\";\r\n\r\n@Pipe({name: 'stockShortName'})\r\nexport class StockShortNamePipe implements PipeTransform {\r\n\r\n transform(stockItem: StockItem): string {\r\n\r\n if (!stockItem) {\r\n return \"\";\r\n }\r\n\r\n if (!stockItem.properties) {\r\n return !stockItem.label ? stockItem.name : stockItem.label;\r\n }\r\n\r\n return (!stockItem.label ? stockItem.name : stockItem.label) + StockShortNamePipe.getPropertyShortLabelAppendix(stockItem);\r\n }\r\n\r\n public static getPropertyShortLabelAppendix(stockItem: StockItem): string {\r\n\r\n if (!stockItem) {\r\n return \"\";\r\n }\r\n\r\n if (!stockItem.properties) {\r\n return !stockItem.label ? stockItem.name : stockItem.label;\r\n }\r\n\r\n let app: string = \"\";\r\n stockItem.properties.forEach(p => {\r\n app += ', ' + p.short_name + ' ' + p.value\r\n });\r\n return app;\r\n }\r\n\r\n public static getPropertiesLabel(properties: StockProperty[]): string {\r\n if (!properties) {\r\n return \"\";\r\n }\r\n\r\n let app: string = \"\";\r\n properties.forEach(p => {\r\n app += ', ' + p.short_name + ' ' + p.value\r\n });\r\n\r\n return app;\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/store-management/stock-item/stock-short-name.pipe.ts","module.exports = \"\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/store-management/stock-rearrangement/stock-rearrangement-list/stock-rearrangement-list.component.css\n// module id = ./src/app/store-management/stock-rearrangement/stock-rearrangement-list/stock-rearrangement-list.component.css\n// module chunks = main","module.exports = \"

\\r\\n stock-rearrangement-list works!\\r\\n

\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/store-management/stock-rearrangement/stock-rearrangement-list/stock-rearrangement-list.component.html\n// module id = ./src/app/store-management/stock-rearrangement/stock-rearrangement-list/stock-rearrangement-list.component.html\n// module chunks = main","import {ChangeDetectorRef, Component, Input, ViewChild} from '@angular/core';\r\nimport {AbstractListView} from \"../../../core/visbos-core/ui/components/abstract-list-view\";\r\nimport {SessionActions} from \"../../../shared/actions/session.actions\";\r\nimport {Depot} from \"../../../shared/view-model/store-management/depot.type\";\r\nimport {AdministrationUnit} from \"../../../shared/view-model/organization/administration-unit.type\";\r\nimport {FormArray} from \"@angular/forms\";\r\nimport {DatatableComponent} from \"../../../core/visbos-core/ui/components/datatable/datatable.component\";\r\n\r\n@Component({\r\n selector: 'vb-stock-rearrangement-list',\r\n templateUrl: './stock-rearrangement-list.component.html',\r\n styleUrls: ['./stock-rearrangement-list.component.css']\r\n})\r\nexport class StockRearrangementListComponent extends AbstractListView {\r\n\r\n @Input()\r\n targetDepot: Depot;\r\n\r\n @Input()\r\n sourceAdminUnit: AdministrationUnit;\r\n\r\n @Input()\r\n control: FormArray;\r\n\r\n messages = {\r\n emptyMessage: 'Keine Artikel',\r\n totalMessage: 'Artikel insgesamt'\r\n };\r\n\r\n @ViewChild('deliveryItemsTable')\r\n table: DatatableComponent;\r\n\r\n constructor(sessionActions: SessionActions, cd: ChangeDetectorRef) {\r\n super(sessionActions, cd);\r\n }\r\n\r\n\r\n ngOnInit(): void {\r\n super.ngOnInit();\r\n }\r\n\r\n onCellUpdate(row, res, index) {\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/store-management/stock-rearrangement/stock-rearrangement-list/stock-rearrangement-list.component.ts","module.exports = \"\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/store-management/stock-rearrangement/stock-rearrangement-view/stock-rearrangement-view.component.css\n// module id = ./src/app/store-management/stock-rearrangement/stock-rearrangement-view/stock-rearrangement-view.component.css\n// module chunks = main","module.exports = \"

\\r\\n stock-rearrangement-view works!\\r\\n

\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/store-management/stock-rearrangement/stock-rearrangement-view/stock-rearrangement-view.component.html\n// module id = ./src/app/store-management/stock-rearrangement/stock-rearrangement-view/stock-rearrangement-view.component.html\n// module chunks = main","import {Component, OnInit} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'vb-stock-rearrangement-view',\r\n templateUrl: './stock-rearrangement-view.component.html',\r\n styleUrls: ['./stock-rearrangement-view.component.css']\r\n})\r\nexport class StockRearrangementViewComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/store-management/stock-rearrangement/stock-rearrangement-view/stock-rearrangement-view.component.ts","module.exports = \"\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/store-management/stock/actual-stock/actual-stock.component.css\n// module id = ./src/app/store-management/stock/actual-stock/actual-stock.component.css\n// module chunks = main","module.exports = \"\\r\\n\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/store-management/stock/actual-stock/actual-stock.component.html\n// module id = ./src/app/store-management/stock/actual-stock/actual-stock.component.html\n// module chunks = main","import {\r\n ApplicationRef,\r\n ChangeDetectorRef,\r\n Component,\r\n ComponentFactoryResolver,\r\n ElementRef,\r\n EventEmitter,\r\n forwardRef,\r\n Input,\r\n OnInit,\r\n Output,\r\n TemplateRef,\r\n ViewChild\r\n} from \"@angular/core\";\r\nimport {Stock} from \"../../../shared/view-model/stock\";\r\nimport {AbstractVisbosControl} from \"../../../core/visbos-core/ui/forms/abstract-visbos-control\";\r\nimport {FormBuilder, FormControl, FormGroup} from \"@angular/forms\";\r\nimport {SessionActions} from \"../../../shared/actions/session.actions\";\r\nimport {WithdrawalService} from \"../../services/withdrawal.service\";\r\nimport {isNullOrUndefined} from \"util\";\r\nimport {GenericModalComponent} from \"../../../core/visbos-core/ui/forms/generic-modal/generic-modal.component\";\r\nimport {WithdrawalDataFormComponent} from \"../../withdrawal/withdrawal-data-form/withdrawal-data-form.component\";\r\nimport {MissionService} from \"../../../mission/services/mission.service\";\r\nimport {MessageType} from \"../../../shared/redux-store/session/session.types\";\r\nimport {WarehousingDataFormComponent} from \"../../warehousing/warehousing-data-form/warehousing-data-form.component\";\r\nimport {WarehousingService} from \"../../services/warehousing-service/warehousing.service\";\r\nimport {mergeMap} from \"rxjs/operators\";\r\n\r\n@Component({\r\n selector: 'vb-actual-stock',\r\n templateUrl: './actual-stock.component.html',\r\n styleUrls: ['./actual-stock.component.css'],\r\n providers: [{provide: AbstractVisbosControl, useExisting: forwardRef(() => ActualStockComponent)}],\r\n entryComponents: [GenericModalComponent]\r\n})\r\nexport class ActualStockComponent extends AbstractVisbosControl implements OnInit {\r\n\r\n @Input()\r\n styleClass: string;\r\n\r\n @Input()\r\n autofocus: boolean = false;\r\n\r\n @Output()\r\n actualStockChanged: EventEmitter = new EventEmitter();\r\n\r\n @Output()\r\n stockChangeCanceled: EventEmitter = new EventEmitter();\r\n\r\n @ViewChild('input')\r\n input: ElementRef;\r\n\r\n @ViewChild('wdTmpl')\r\n wdTmpl: TemplateRef;\r\n @ViewChild('wdDataForm')\r\n wdDataForm: WithdrawalDataFormComponent;\r\n withdrawalForm: FormGroup;\r\n stockWithdrawalInput: { stock: Stock, amount: number };\r\n\r\n @ViewChild('warehousingTmpl')\r\n warehousingTmpl: TemplateRef;\r\n @ViewChild('warehousingDataForm')\r\n warehousingDataForm: WarehousingDataFormComponent;\r\n warehousingForm: FormGroup;\r\n stockIncreaseInput: { stock: Stock, amount: number };\r\n\r\n constructor(fb: FormBuilder, cd: ChangeDetectorRef, sessionActions: SessionActions,\r\n private appRef: ApplicationRef, private componentFactoryResolver: ComponentFactoryResolver,\r\n private wdService: WithdrawalService, private missionService: MissionService, private warehousingService: WarehousingService) {\r\n super(fb, cd, sessionActions);\r\n }\r\n\r\n buildControlContent(): FormControl {\r\n return this.fb.control(null);\r\n }\r\n\r\n ngOnInit() {\r\n super.ngOnInit();\r\n if (this.autofocus) {\r\n let nEl: HTMLElement = this.input.nativeElement;\r\n setTimeout(() => {\r\n nEl.focus();\r\n }, 0);\r\n }\r\n this.cd.markForCheck();\r\n }\r\n\r\n public setDefaultValues(item?: Stock): { [controlKey: string]: any } | any {\r\n return this.setValue(item, 'act_stock');\r\n }\r\n\r\n onStockChange() {\r\n\r\n if (!this.item || isNullOrUndefined(this.item.act_stock)) {\r\n this.actualStockChanged.emit(this.control.value); // TODO: Change to mutation result!?\r\n return;\r\n }\r\n\r\n let newActStock = this.control.value;\r\n let actStock = this.item.act_stock;\r\n let diff = newActStock - actStock;\r\n\r\n if (newActStock == actStock) {\r\n console.info(\"No change in the actual stock\");\r\n }\r\n if (newActStock < actStock) {\r\n this.onStockDecrease(diff * -1);\r\n }\r\n if (newActStock > this.item.act_stock) {\r\n this.onStockIncrease(diff);\r\n }\r\n\r\n }\r\n\r\n onBlur() {\r\n // Don't cancel change on blur since the input blurs when one of the modals opens\r\n // this.cancelStockChange();\r\n }\r\n\r\n cancelStockChange() {\r\n console.info(\"Canceled stock change\");\r\n //this.reset();\r\n this.stockChangeCanceled.emit();\r\n this.cd.detectChanges();\r\n }\r\n\r\n onStockDecrease(amount: number) {\r\n this.withdrawalForm = WithdrawalDataFormComponent.initControl(this.fb);\r\n this.stockWithdrawalInput = {stock: this.item, amount: amount};\r\n this.showWithdrawalModal();\r\n this.cd.markForCheck();\r\n }\r\n\r\n onStockIncrease(amount: number) {\r\n this.warehousingForm = WarehousingDataFormComponent.initControl(this.fb);\r\n this.stockIncreaseInput = {stock: this.item, amount: amount};\r\n this.showWarehousingModal();\r\n this.cd.markForCheck();\r\n }\r\n\r\n setClasses() {\r\n let actStock = this.control.value;\r\n let cssClasses = {\r\n 'bg-warning': actStock > this.item.min_stock && this.item.act_stock <= this.item.report_stock,\r\n 'bg-danger': actStock <= this.item.min_stock,\r\n 'bg-success': actStock > this.item.report_stock,\r\n };\r\n return cssClasses;\r\n }\r\n\r\n showWithdrawalModal() {\r\n let modal = this.createModal(this.appRef, this.componentFactoryResolver, this.wdTmpl, GenericModalComponent).instance;\r\n\r\n modal.modalTitle = \"Angaben zum Artikelausgang\";\r\n modal.successLabel = \"Entnahme abschließen\";\r\n modal.cancelLabel = \"Entnahme abbrechen\";\r\n modal.okEnabled = this.withdrawalForm.valid;\r\n\r\n this.dataSubscriptions.push(this.withdrawalForm.statusChanges.subscribe(stat => {\r\n modal.okEnabled = this.withdrawalForm.valid;\r\n }));\r\n\r\n this.dataSubscriptions.push(modal.okClicked.subscribe(() => {\r\n let val = this.withdrawalForm.value;\r\n let query;\r\n\r\n if (val.missionData) {\r\n query = this.missionService.createMission(val.missionData)\r\n .pipe(mergeMap(res => {\r\n val.withdrawal['withdrawal_reason_id'] = res.cuid;\r\n return this.wdService.createWithdrawal(val.withdrawal, val.medicineWithdrawalData);\r\n })\r\n );\r\n } else {\r\n query = this.wdService.createWithdrawal(val.withdrawal, val.medicineWithdrawalData);\r\n }\r\n\r\n query.toPromise()\r\n .then(res => {\r\n this.sessionActions.pushMessage(\"Entnahme erfolgreich gespeichert!\", MessageType.SUCCESS, \"Artikelentnahme\");\r\n }).catch(err => {\r\n this.sessionActions.pushMessage(\"Fehler bei der Artikelentnahme!\", MessageType.ERROR, \"Artikelentnahme\");\r\n });\r\n\r\n let newActStock = this.control.value;\r\n this.actualStockChanged.emit(newActStock); // TODO: Change to mutation result!?\r\n this.cd.detectChanges();\r\n\r\n }));\r\n\r\n this.dataSubscriptions.push(modal.cancelClicked.subscribe(() => {\r\n this.cancelStockChange();\r\n }));\r\n\r\n modal.show();\r\n }\r\n\r\n\r\n showWarehousingModal() {\r\n let modal = this.createModal(this.appRef, this.componentFactoryResolver, this.warehousingTmpl, GenericModalComponent).instance;\r\n\r\n modal.modalTitle = \"Angaben zum Artikeleingang\";\r\n modal.successLabel = \"Einlagerung abschließen\";\r\n modal.cancelLabel = \"Einlagerung abbrechen\";\r\n modal.okEnabled = this.warehousingForm.valid;\r\n\r\n this.dataSubscriptions.push(this.warehousingForm.statusChanges.subscribe(stat => {\r\n modal.okEnabled = this.warehousingForm.valid;\r\n }));\r\n\r\n this.dataSubscriptions.push(modal.okClicked.subscribe(() => {\r\n let val = this.warehousingForm.value;\r\n let query;\r\n\r\n query = this.warehousingService.createWarehousing(val.warehousing, val.medicineAuthData);\r\n\r\n query.toPromise()\r\n .then(res => {\r\n this.sessionActions.pushMessage(\"Einlagerung erfolgreich gespeichert!\", MessageType.SUCCESS, \"Artikeleingang\");\r\n }).catch(err => {\r\n this.sessionActions.pushMessage(\"Fehler bei der Artikeleinlagerung!\", MessageType.ERROR, \"Artikeleingang\");\r\n });\r\n\r\n let newActStock = this.control.value;\r\n this.actualStockChanged.emit(newActStock); // TODO: Change to mutation result!?\r\n this.cd.markForCheck();\r\n\r\n }));\r\n\r\n this.dataSubscriptions.push(modal.cancelClicked.subscribe(() => {\r\n this.cancelStockChange();\r\n }));\r\n\r\n modal.show();\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/store-management/stock/actual-stock/actual-stock.component.ts","module.exports = \"\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/store-management/stock/add-stocks-table-view/add-stocks-table-view.component.css\n// module id = ./src/app/store-management/stock/add-stocks-table-view/add-stocks-table-view.component.css\n// module chunks = main","module.exports = \"

Bestände anlegen

\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n
Artikel\\r\\n Bestandsbezeichner\\r\\n LagerplatzMINMELDSOLLAKTENTNBESTMAUTEAN
\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n Der ausgewählte Artikel wird bereits als Bestand in dem gewählten Lager geführt und kann nicht ein zweites\\r\\n mal angelegt werden.\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n Speichern\\r\\n \\r\\n
\\r\\n
\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/store-management/stock/add-stocks-table-view/add-stocks-table-view.component.html\n// module id = ./src/app/store-management/stock/add-stocks-table-view/add-stocks-table-view.component.html\n// module chunks = main","import {ChangeDetectorRef, Component, OnInit} from \"@angular/core\";\r\nimport {FormArray, FormBuilder, FormGroup, Validators} from \"@angular/forms\";\r\nimport {appInjector} from \"../../../index\";\r\nimport {NewBarcodeFormComponent} from \"../../../identity/new-barcode-form/new-barcode-form.component\";\r\nimport {AbstractVisbosControl} from \"../../../core/visbos-core/ui/forms/abstract-visbos-control\";\r\nimport {StockService} from \"../../services/stock.service\";\r\nimport {Stock} from \"../../../shared/view-model/stock\";\r\nimport {STOCK_ITEM_EXISTS_IN_DEPOT_ERROR} from \"./validate-stock-item-not-exists.directive\";\r\nimport {SessionActions} from \"../../../shared/actions/session.actions\";\r\nimport {MessageType} from \"../../../shared/redux-store/session/session.types\";\r\nimport {ApolloQueryObservable} from \"apollo-angular\";\r\nimport {AbstractVisbosComponent} from \"../../../core/visbos-core/components/abstract-visbos.component\";\r\nimport {StockItem} from \"../../../shared/view-model/store-management/stock-item.type\";\r\nimport {FetchStockItemsResult, StockItemService} from \"../../services/stock-item-service/stock-item.service\";\r\nimport {DepotYard} from \"../../../shared/view-model/store-management/depot-yard.type\";\r\nimport {DepotService} from \"../../services/depot-service/depot.service\";\r\n\r\n@Component({\r\n selector: 'vb-add-stocks-table-view',\r\n templateUrl: './add-stocks-table-view.component.html',\r\n styleUrls: ['./add-stocks-table-view.component.css']\r\n})\r\nexport class AddStocksTableViewComponent extends AbstractVisbosComponent implements OnInit {\r\n\r\n STOCK_ITEM_EXISTS_IN_DEPOT_ERROR;\r\n\r\n control: FormGroup;\r\n stocksCtrl: FormArray;\r\n\r\n stockItemList$: ApolloQueryObservable;\r\n stockItemList: StockItem[];\r\n stockItemLoading: boolean = true;\r\n\r\n TrackByFunction = (index, item) => {\r\n return item.get('cuid').value;\r\n };\r\n\r\n private stocksInDepot$: ApolloQueryObservable;\r\n stocksInDepot: Stock[] = [];\r\n\r\n private depotYards$: ApolloQueryObservable;\r\n depotYards: DepotYard[];\r\n depotYardLoading: boolean = true;\r\n\r\n constructor(private fb: FormBuilder,\r\n private stockService: StockService, private stockItemService: StockItemService,\r\n private depotService: DepotService,\r\n sessionActions: SessionActions, cd: ChangeDetectorRef) {\r\n super(sessionActions, cd);\r\n this.STOCK_ITEM_EXISTS_IN_DEPOT_ERROR = STOCK_ITEM_EXISTS_IN_DEPOT_ERROR;\r\n }\r\n\r\n ngOnInit() {\r\n this.control = AddStocksTableViewComponent.initControl(this.fb);\r\n this.stocksCtrl = this.control.get('stocks');\r\n\r\n this.stocksInDepot$ = this.stockService.getStocksForDepot(this.control.get('depot_id').valueChanges);\r\n this.dataSubscriptions.push(this.stocksInDepot$.subscribe((st: any) => {\r\n this.stocksInDepot = st;\r\n })\r\n );\r\n\r\n this.depotYards$ = this.depotService.getDepotYards(this.control.get('depot_id').valueChanges);\r\n this.dataSubscriptions.push(this.depotYards$.subscribe((res: any) => {\r\n this.depotYards = res;\r\n this.depotYardLoading = false;\r\n }));\r\n\r\n this.stockItemList$ = this.stockItemService.fetchStockItemsWithDetails();\r\n this.dataSubscriptions.push(\r\n this.stockItemList$.subscribe(res => {\r\n this.stockItemList = res.data.fetchStockItems;\r\n this.stockItemLoading = false;\r\n })\r\n );\r\n\r\n this.addStock();\r\n }\r\n\r\n public static initControl(fb: FormBuilder = null): FormGroup {\r\n fb = fb ? fb : appInjector().get(FormBuilder);\r\n\r\n return fb.group({\r\n depot_id: [null, Validators.required],\r\n stocks: fb.array([])\r\n });\r\n\r\n }\r\n\r\n private static initStock(fb: FormBuilder) {\r\n let ctrl = fb.group({\r\n cuid: [AbstractVisbosControl.cuid(), Validators.required],\r\n stock_item_id: [null, Validators.required],\r\n depot_yard_id: [null],\r\n name: [null],\r\n min_stock: [null, Validators.required],\r\n report_stock: [null],\r\n shall_stock: [null, Validators.required],\r\n act_stock: [0, Validators.required],\r\n extraction_amount: [1, Validators.required],\r\n order_amount: [null],\r\n registration_required: [false, Validators.required],\r\n ean: NewBarcodeFormComponent.initControl(fb), // Necessary for async validator\r\n product_batches: fb.array([]),\r\n });\r\n\r\n return ctrl;\r\n }\r\n\r\n addStock() {\r\n let st = AddStocksTableViewComponent.initStock(this.fb);\r\n this.stocksCtrl.push(st);\r\n //this.cd.markForCheck();\r\n }\r\n\r\n deleteStock(index) {\r\n this.stocksCtrl.removeAt(index);\r\n //this.cd.markForCheck();\r\n }\r\n\r\n saveStocks() {\r\n this.stockService.createStocksForDepot(this.control.get('depot_id').value, this.control.get('stocks').value).toPromise()\r\n .then((res: any) => {\r\n this.sessionActions.pushMessage('Bestände wurden erfolgreich angelegt!', MessageType.SUCCESS, 'Bestandsverwaltung');\r\n this.reloadComponent();\r\n })\r\n .catch(err => {\r\n this.sessionActions.pushMessage(\"Fehler beim Speichern der Bestände!\", MessageType.ERROR, \"Bestandsverwaltung\");\r\n });\r\n }\r\n\r\n reloadComponent() {\r\n this.control = AddStocksTableViewComponent.initControl(this.fb);\r\n this.stocksCtrl = this.control.get('stocks');\r\n //this.cd.markForCheck();\r\n this.addStock();\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/store-management/stock/add-stocks-table-view/add-stocks-table-view.component.ts","import {Attribute, Directive, forwardRef} from \"@angular/core\";\r\nimport {AbstractControl, NG_VALIDATORS, Validator} from \"@angular/forms\";\r\nimport {Stock} from \"../../../shared/view-model/stock\";\r\n\r\nexport const STOCK_ITEM_EXISTS_IN_DEPOT_ERROR = 'stockItemAlreadyExists';\r\n\r\nexport function validateStockInDepotFactory(stocksInDepot: Stock[]) {\r\n return (c: AbstractControl) => {\r\n let stockItemCuid = c.value;\r\n\r\n // Stock item already exists\r\n if (stockItemCuid && stocksInDepot.find(s => s.stock_item.cuid == stockItemCuid)) {\r\n console.warn(\"Stock item #\" + c.value + \" already exists in depot\");\r\n\r\n let err = {};\r\n err[STOCK_ITEM_EXISTS_IN_DEPOT_ERROR] = true;\r\n return err;\r\n\r\n }\r\n\r\n return null;\r\n };\r\n}\r\n\r\n@Directive({\r\n selector: '[vbValidateStockItemNotExists][formControlName],[vbValidateStockItemNotExists][formControl],[vbValidateStockItemNotExists][ngModel]',\r\n providers: [\r\n {provide: NG_VALIDATORS, useExisting: forwardRef(() => ValidateStockItemNotExistsDirective), multi: true}\r\n ]\r\n})\r\nexport class ValidateStockItemNotExistsDirective implements Validator {\r\n\r\n validator: Function;\r\n\r\n constructor(@Attribute('vbValidateStockItemNotExists') public stocksInDepot: Stock[]) {\r\n this.validator = validateStockInDepotFactory(stocksInDepot);\r\n }\r\n\r\n validate(c: AbstractControl): {[key: string]: any} {\r\n return this.validator(c);\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/store-management/stock/add-stocks-table-view/validate-stock-item-not-exists.directive.ts","module.exports = \"\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/store-management/stock/components/expiring-stocks-table/expiring-stocks-table.component.css\n// module id = ./src/app/store-management/stock/components/expiring-stocks-table/expiring-stocks-table.component.css\n// module chunks = main","module.exports = \"\\r\\n\\r\\n\\r\\n\\r\\n \\r\\n \\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/store-management/stock/components/expiring-stocks-table/expiring-stocks-table.component.html\n// module id = ./src/app/store-management/stock/components/expiring-stocks-table/expiring-stocks-table.component.html\n// module chunks = main","import {ChangeDetectorRef, Component, Input, OnInit, TemplateRef, ViewChild} from '@angular/core';\r\nimport {AbstractListView} from \"../../../../core/visbos-core/ui/components/abstract-list-view\";\r\nimport {SessionActions} from \"../../../../shared/actions\";\r\nimport {debounceTime, distinctUntilChanged} from \"rxjs/operators\";\r\nimport {FormBuilder} from \"@angular/forms\";\r\nimport {Stock} from \"../../../../shared/view-model/stock\";\r\nimport {StockService} from \"../../../services/stock.service\";\r\n\r\n@Component({\r\n selector: 'vb-expiring-stocks-table',\r\n templateUrl: './expiring-stocks-table.component.html',\r\n styleUrls: ['./expiring-stocks-table.component.css']\r\n})\r\nexport class ExpiringStocksTableComponent extends AbstractListView implements OnInit {\r\n\r\n private _stocksList: Stock[];\r\n\r\n @Input()\r\n set stocksList(value: Stock[]) {\r\n this._stocksList = value;\r\n this.rows = this.stocksList;\r\n }\r\n\r\n get stocksList(): Stock[] {\r\n return this._stocksList || [];\r\n }\r\n\r\n messages = {\r\n emptyMessage: 'Keine Bestände mit ablaufenden Chargen',\r\n totalMessage: 'Bestände mit ablaufenden Chargen'\r\n };\r\n\r\n batchesComparator: (valueA, valueB, rowA: Stock, rowB: Stock, sortDirection) => number =\r\n (valueA, valueB, rowA: Stock, rowB: Stock, sortDirection) => {\r\n\r\n if (!rowA.product_batches || !rowA.product_batches.length) {\r\n return -1;\r\n }\r\n\r\n if (!rowB.product_batches || !rowB.product_batches.length) {\r\n return 1;\r\n }\r\n\r\n const a = rowA.product_batches.map(b => b.use_before_date).sort()[0];\r\n const b = rowB.product_batches.map(b => b.use_before_date).sort()[0];\r\n\r\n return a.localeCompare(b);\r\n };\r\n\r\n @ViewChild('batchesTmpl')\r\n batchesTmpl: TemplateRef;\r\n\r\n constructor(sessionActions: SessionActions, cd: ChangeDetectorRef,\r\n private fb: FormBuilder, private stockService: StockService) {\r\n super(sessionActions, cd);\r\n }\r\n\r\n ngOnInit(): void {\r\n super.ngOnInit();\r\n\r\n if (!this.searchTerm) {\r\n this.searchTerm = this.fb.control(null);\r\n }\r\n\r\n this.addSubscription(\r\n this.searchTerm.valueChanges.pipe(\r\n distinctUntilChanged(),\r\n debounceTime(500)\r\n ).subscribe((term: any) => this.filterItems(term))\r\n );\r\n\r\n this.columns = [\r\n {prop: 'label', name: 'Bestand'},\r\n {prop: 'depot.label', name: 'Lager'},\r\n {prop: 'depot_yard.label', name: 'Lagerplatz'},\r\n {name: 'MHD / Chargen', cellTemplate: this.batchesTmpl, comparator: this.batchesComparator},\r\n ];\r\n\r\n }\r\n\r\n\r\n filterItems(searchTerm) {\r\n if (!searchTerm || searchTerm == \"\") {\r\n this.rows = this.stocksList;\r\n } else {\r\n if (this.stocksList) {\r\n this.rows = this.stocksList.filter((si: Stock) => {\r\n\r\n const d = this.findStringInTable(si, this.columns, searchTerm);\r\n if (d) {\r\n return true;\r\n }\r\n\r\n return si.product_batches\r\n .map(pb => pb.label)\r\n .findIndex(pb => pb.includes(searchTerm)) != -1\r\n });\r\n }\r\n }\r\n }\r\n\r\n deleteProductBatchFromStock(productBatchCuid: string, stockCuid: string) {\r\n console.info(\"Delete batch \" + productBatchCuid + ' from stock ' + stockCuid);\r\n this.stockService.removeProductBatchFromStock(stockCuid, productBatchCuid).toPromise()\r\n .then(res => {\r\n console.info(\"Removed \" + res.data.removeProductBatchFromStock);\r\n })\r\n .catch(err => this.sessionActions.throwError(err, \"Fehler beim Löschen der Charge!\"));\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/store-management/stock/components/expiring-stocks-table/expiring-stocks-table.component.ts","module.exports = \"\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/store-management/stock/components/move-stock/move-stock.component.css\n// module id = ./src/app/store-management/stock/components/move-stock/move-stock.component.css\n// module chunks = main","module.exports = \"\\r\\n\\r\\n \\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n \\r\\n \\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n \\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n

Form: {{control?.value | json}}

\\r\\n

Related stocks: {{targetStocks | json}}

\\r\\n
\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/store-management/stock/components/move-stock/move-stock.component.html\n// module id = ./src/app/store-management/stock/components/move-stock/move-stock.component.html\n// module chunks = main","import {ChangeDetectorRef, Component, Input, OnChanges, OnInit, SimpleChanges} from '@angular/core';\r\nimport {FormBuilder, FormGroup, Validators} from \"@angular/forms\";\r\nimport {SessionActions} from \"../../../../shared/actions/session.actions\";\r\nimport {AbstractVisbosComponent} from \"../../../../core/visbos-core/components/abstract-visbos.component\";\r\nimport {Stock} from \"../../../../shared/view-model/stock\";\r\nimport {ApolloQueryObservable} from \"apollo-angular\";\r\nimport {StockService} from \"../../../services/stock.service\";\r\nimport {BehaviorSubject} from \"rxjs/BehaviorSubject\";\r\nimport {FetchRelatedStocksQuery} from \"../../../../shared/graphql/graphql.types\";\r\nimport {MedicineAuthFormComponent} from \"../../../withdrawal/medicine-auth-form/medicine-auth-form.component\";\r\n\r\n@Component({\r\n selector: 'vb-move-stock',\r\n templateUrl: './move-stock.component.html',\r\n styleUrls: ['./move-stock.component.css']\r\n})\r\nexport class MoveStockComponent extends AbstractVisbosComponent implements OnInit, OnChanges {\r\n\r\n enumLabel = (item: Stock) => (item.depot.administration_unit ? item.depot.administration_unit.label + ': ' : '') + item.depot.label + (item.depot_yard ? \": \" + item.depot_yard.label : '');\r\n enumId = (item: Stock) => item.cuid;\r\n\r\n @Input()\r\n formHorizontal: boolean = true;\r\n\r\n @Input()\r\n control: FormGroup;\r\n\r\n @Input()\r\n sourceStock: Stock;\r\n\r\n private sourceStockCuid$: BehaviorSubject;\r\n\r\n private targetStocks$: ApolloQueryObservable;\r\n public targetStocks: any[];\r\n\r\n constructor(cd: ChangeDetectorRef, sessionActions: SessionActions,\r\n private fb: FormBuilder, private stockService: StockService) {\r\n super(sessionActions, cd);\r\n\r\n this.sourceStockCuid$ = new BehaviorSubject(void 0);\r\n\r\n }\r\n\r\n ngOnInit(): void {\r\n super.ngOnInit();\r\n\r\n this.targetStocks$ = this.stockService.getRelatedStocks(this.sourceStockCuid$);\r\n this.addComponentData(this.targetStocks$);\r\n this.addSubscription(this.targetStocks$.subscribe(res => {\r\n this.targetStocks = res.data.relatedStocks;\r\n }));\r\n\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n\r\n if (!this.control) {\r\n this.control = this.buildControlContent();\r\n }\r\n\r\n if (changes.sourceStock && this.sourceStock) {\r\n this.control.get('data.source_stock_cuid').setValue(this.sourceStock.cuid);\r\n this.fetchRelatedStocks(this.sourceStock.cuid);\r\n }\r\n\r\n }\r\n\r\n public buildControlContent(): FormGroup {\r\n return MoveStockComponent.initControl(this.fb);\r\n }\r\n\r\n public static initControl(fb: FormBuilder): FormGroup {\r\n return fb.group({\r\n data: MoveStockComponent.initMoveStockData(fb),\r\n auth_data: MedicineAuthFormComponent.initControl(fb),\r\n generate_vouchers: fb.control(false)\r\n });\r\n }\r\n\r\n public static initMoveStockData(fb: FormBuilder): FormGroup {\r\n return fb.group({\r\n source_stock_cuid: [null, Validators.required],\r\n target_stock_cuid: [null, Validators.required],\r\n amount: [null, Validators.required],\r\n });\r\n }\r\n\r\n public fetchRelatedStocks(sourceStockCuid: string) {\r\n this.sourceStockCuid$.next(sourceStockCuid);\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/store-management/stock/components/move-stock/move-stock.component.ts","module.exports = \"\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/store-management/stock/components/move-stocks-list/move-stocks-list.component.css\n// module id = ./src/app/store-management/stock/components/move-stocks-list/move-stocks-list.component.css\n// module chunks = main","module.exports = \"
\\r\\n
Allgemeine Angaben
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
Artikelliste
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n
0 && amountInput.value > row.act_stock, 'has-error':getFormGroupById(control?.get('data'), row.cuid, 'source_stock_cuid')?.get('amount')?.invalid}\\\">\\r\\n \\r\\n
= 0 && amountInput.value > 0 && amountInput.value > row.act_stock\\\">\\r\\n Der zu verschiebende Bestand ist größer als der aktuelle IST-Bestand im Quell-Lager!\\r\\n
\\r\\n
0 && row.act_stock < 0\\\">\\r\\n Der zu verschiebende Artikel weist bereits einen negativen Bestand im Quell-Lager auf!\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n {{depotforStock(row.related_stocks[0])}}\\r\\n \\r\\n\\r\\n\\r\\n\\r\\n

Data: {{movedStocksList() | json}}

\\r\\n

Form: {{control.value | json}}

\\r\\n
\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/store-management/stock/components/move-stocks-list/move-stocks-list.component.html\n// module id = ./src/app/store-management/stock/components/move-stocks-list/move-stocks-list.component.html\n// module chunks = main","import {ChangeDetectorRef, Component, Input, OnInit, TemplateRef, ViewChild} from '@angular/core';\r\nimport {AbstractListView} from \"../../../../core/visbos-core/ui/components/abstract-list-view\";\r\nimport {SessionActions} from \"../../../../shared/actions/session.actions\";\r\nimport {AbstractControl, FormArray, FormBuilder, FormGroup, ValidatorFn, Validators} from \"@angular/forms\";\r\nimport {MedicineAuthFormComponent} from \"../../../withdrawal/medicine-auth-form/medicine-auth-form.component\";\r\nimport {Stock} from \"../../../../shared/view-model/stock\";\r\nimport {StockService} from \"../../../services/stock.service\";\r\nimport {FetchStocksInDepotsQuery} from \"../../../../shared/graphql/graphql.types\";\r\nimport {ApolloQueryObservable} from \"apollo-angular\";\r\nimport {combineLatest, debounceTime, distinctUntilChanged, switchMap} from \"rxjs/operators\";\r\nimport * as _ from \"lodash\";\r\nimport {AbstractVisbosComponent} from \"../../../../core/visbos-core/components/abstract-visbos.component\";\r\nimport {Observable} from \"rxjs/Observable\";\r\nimport {empty} from \"rxjs/observable/empty\";\r\nimport {BehaviorSubject} from \"rxjs/BehaviorSubject\";\r\n\r\nexport function unequalTo(targetCtrlPath: string): ValidatorFn {\r\n return (srcCtrl: AbstractControl): { [key: string]: any } => {\r\n\r\n const targetCtrl = srcCtrl.root.get(targetCtrlPath);\r\n if (!srcCtrl || !targetCtrl) {\r\n return null;\r\n }\r\n\r\n const sourceValue = srcCtrl.value;\r\n const targetValue = targetCtrl.value;\r\n\r\n if (sourceValue == targetValue) {\r\n return {'valuesNotUnequal': true};\r\n } else {\r\n return null;\r\n }\r\n };\r\n}\r\n\r\nexport function requiredIfOtherFieldNotNull(targetCtrlPath: string): ValidatorFn {\r\n return (srcCtrl: AbstractControl): { [key: string]: any } => {\r\n\r\n const targetCtrl = srcCtrl.parent ? srcCtrl.parent.get(targetCtrlPath) : null;\r\n\r\n if (!targetCtrl) {\r\n console.error(\"Did not find target control '\" + targetCtrlPath + \"'!\", [srcCtrl]);\r\n return null;\r\n }\r\n\r\n if (!targetCtrl.value) {\r\n return null;\r\n }\r\n\r\n const sourceValue = srcCtrl.value;\r\n\r\n if (!sourceValue) {\r\n return {'required': true};\r\n } else {\r\n return null;\r\n }\r\n };\r\n}\r\n\r\nexport function requiredIfOtherFieldNotNullReverse(srcCtrlPath: string): ValidatorFn {\r\n return (srcCtrl: AbstractControl): { [key: string]: any } => {\r\n\r\n const targetCtrl = srcCtrl.parent ? srcCtrl.parent.get(srcCtrlPath) : null;\r\n\r\n if (!targetCtrl) {\r\n console.error(\"Did not find target control '\" + srcCtrlPath + \"'!\", [srcCtrl]);\r\n return null;\r\n }\r\n\r\n targetCtrl.updateValueAndValidity();\r\n\r\n };\r\n}\r\n\r\n@Component({\r\n selector: 'vb-move-stocks-list',\r\n templateUrl: './move-stocks-list.component.html',\r\n styleUrls: ['./move-stocks-list.component.css']\r\n})\r\nexport class MoveStocksListComponent extends AbstractListView implements OnInit {\r\n\r\n public rowClassProxy = (row) => this.markRowAsDanger.apply(this, [row]);\r\n\r\n @ViewChild('amountTmpl')\r\n amountTmpl: TemplateRef;\r\n\r\n @ViewChild('targetStockTmpl')\r\n targetStockTmpl: TemplateRef;\r\n\r\n err = {\r\n valuesNotUnequal: 'Quell- und Ziel-Lager dürfen nicht identisch sein!'\r\n };\r\n\r\n public depotforStock = (item: Stock) => {\r\n if (!item) {\r\n return \"\";\r\n }\r\n\r\n return item.depot.label + (item.depot_yard ? \", \" + item.depot_yard.label : '') + (item.identities && item.identities[0] ? ' (EAN: ' + item.identities[0].ean + ')' : '');\r\n };\r\n\r\n @Input()\r\n control: FormGroup;\r\n\r\n formHorizontal: boolean = true;\r\n\r\n //TODO: Refactor Apollo 2.0\r\n private stocksList$: ApolloQueryObservable;\r\n private watchQuery: Observable;\r\n\r\n private _stocksList: Stock[];\r\n\r\n set stocksList(value: Stock[]) {\r\n this._stocksList = value || [];\r\n this.rows = this.stocksList;\r\n\r\n if (!this.control) {\r\n this.control = MoveStocksListComponent.initControl(this.fb);\r\n }\r\n this.control.setControl('data', MoveStocksListComponent.initStocksDataControl(this.fb, this.stocksList));\r\n\r\n }\r\n\r\n get stocksList(): Stock[] {\r\n return this._stocksList;\r\n }\r\n\r\n messages = {\r\n emptyMessage: this.getMessage.apply(this),\r\n totalMessage: 'Bestände insgesamt'\r\n };\r\n\r\n\r\n srcAdminUnitCuid$: BehaviorSubject = new BehaviorSubject(null);\r\n tgtAdminUnitCuid$: BehaviorSubject = new BehaviorSubject(null);\r\n\r\n constructor(sessionActions: SessionActions, cd: ChangeDetectorRef,\r\n private fb: FormBuilder, private stockService: StockService) {\r\n super(sessionActions, cd);\r\n }\r\n\r\n ngOnInit(): void {\r\n super.ngOnInit();\r\n\r\n if (!this.control) {\r\n this.control = MoveStocksListComponent.initControl(this.fb);\r\n }\r\n\r\n if (!this.searchTerm) {\r\n this.searchTerm = this.fb.control(null);\r\n }\r\n\r\n this.addSubscription(\r\n this.searchTerm.valueChanges.pipe(\r\n distinctUntilChanged(),\r\n debounceTime(500)\r\n ).subscribe((term: any) => this.filterItems(term))\r\n );\r\n\r\n this.columns = [\r\n {prop: 'label', name: 'Bezeichner'},\r\n {prop: 'depot_yard.label', name: 'Quell-Lagerplatz'},\r\n {prop: 'act_stock', name: 'Quell-Ist-Bestand'},\r\n {prop: 'related_stocks.0.act_stock', name: 'Ziel-Ist-Bestand'},\r\n {name: 'Anzahl', cellTemplate: this.amountTmpl},\r\n {name: 'Ziel-Lagerplatz', cellTemplate: this.targetStockTmpl},\r\n ];\r\n\r\n //TODO: Refactor Apollo 2.0\r\n this.watchQuery = this.control.get('source_depot_cuid').statusChanges\r\n .pipe(\r\n combineLatest(this.control.get('target_depot_cuid').statusChanges, (src, target) => [src, target]),\r\n switchMap(status => {\r\n if (status[0] == 'VALID' && status[1] == 'VALID') {\r\n this.stocksList$ = this.stockService.getStocksInDepots(this.control.get('source_depot_cuid').value, this.control.get('target_depot_cuid').value);\r\n this.isLoading = true;\r\n return this.stocksList$.observableResult();\r\n } else {\r\n this.stocksList = [];\r\n this.isLoading = false;\r\n return empty();\r\n }\r\n }));\r\n\r\n this.addComponentData(this.stocksList$);\r\n this.addSubscription(this.watchQuery.subscribe(res => {\r\n this.isLoading = res.loading ? res.loading : false;\r\n this.stocksList = res.data.stocksInDepots;\r\n }));\r\n\r\n }\r\n\r\n private markRowAsDanger(row: Stock) {\r\n\r\n const cls = {};\r\n\r\n if (!this.control || !this.control.get('data')) {\r\n return cls;\r\n }\r\n\r\n const amount = AbstractVisbosComponent.getFormGroupById(this.control.get('data') as FormArray, row.cuid, 'source_stock_cuid').get('amount').value;\r\n\r\n if (row.act_stock < amount) {\r\n cls['warning'] = true;\r\n } else {\r\n cls['warning'] = false;\r\n }\r\n\r\n return cls;\r\n }\r\n\r\n public static initControl(fb: FormBuilder): FormGroup {\r\n const group = fb.group({\r\n source_admin_unit_cuid: [null],\r\n target_admin_unit_cuid: [null],\r\n source_depot_cuid: [null, Validators.required],\r\n target_depot_cuid: [null, [Validators.required, unequalTo('source_depot_cuid')]],\r\n rearrangement_note: [null],\r\n data: fb.array([], Validators.required),\r\n auth_data: MedicineAuthFormComponent.initControl(fb),\r\n generate_vouchers: fb.control(false)\r\n });\r\n\r\n return group;\r\n }\r\n\r\n private static initStocksDataControl(fb: FormBuilder, stocks: Stock[]): FormArray {\r\n const ctrl = fb.array([]);\r\n\r\n for (let st of stocks) {\r\n const targetStock = st.related_stocks && st.related_stocks.length == 1 ? st.related_stocks[0].cuid : null;\r\n const stCtrl = fb.group({\r\n source_stock_cuid: [st.cuid],\r\n target_stock_cuid: [targetStock],\r\n amount: [null]\r\n });\r\n\r\n stCtrl.get('target_stock_cuid').setValidators(requiredIfOtherFieldNotNull('amount'));\r\n\r\n // Required, so target stock cuid field gets validated whenever the amount field is changed:\r\n stCtrl.get('amount').setValidators([Validators.min(0), requiredIfOtherFieldNotNullReverse('target_stock_cuid')]);\r\n\r\n ctrl.push(stCtrl);\r\n }\r\n\r\n return ctrl;\r\n }\r\n\r\n getMessage() {\r\n return this.selectedDepotsValid() ? 'Keine Bestände vorhanden, die vom Quell-Lager in das Ziel-Lager verschoben werden können!' :\r\n 'Bitte wählen Sie ein gültiges Quell- und Ziel-Lager aus!';\r\n }\r\n\r\n selectedDepotsValid(): boolean {\r\n return this.control && this.control.get('source_depot_cuid').valid && this.control.get('target_depot_cuid').valid;\r\n }\r\n\r\n movedStocksList() {\r\n const val = _.assign({}, this.control.value);\r\n val.data = val.data.filter(d => d.amount && d.amount > 0);\r\n return val;\r\n }\r\n\r\n filterItems(searchTerm) {\r\n if (!searchTerm || searchTerm == \"\") {\r\n this.rows = this.stocksList;\r\n } else {\r\n if (this.stocksList) {\r\n this.rows = this.stocksList.filter((si: any) => this.findStringInTable(si, this.columns, searchTerm));\r\n }\r\n }\r\n }\r\n\r\n srcAdminUnitSelected(adminUnit) {\r\n this.srcAdminUnitCuid$.next(adminUnit ? adminUnit.cuid : null);\r\n }\r\n\r\n tgtAdminUnitSelected(adminUnit) {\r\n this.tgtAdminUnitCuid$.next(adminUnit ? adminUnit.cuid : null);\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/store-management/stock/components/move-stocks-list/move-stocks-list.component.ts","module.exports = \"\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/store-management/stock/components/product-batches-listing/product-batches-listing.component.css\n// module id = ./src/app/store-management/stock/components/product-batches-listing/product-batches-listing.component.css\n// module chunks = main","module.exports = \"\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
{{pb.use_before_date_formatted}}{{pb.batch_number ? ' (LOT: ' + pb.batch_number + ')' : ''}}\\r\\n \\r\\n \\r\\n
\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/store-management/stock/components/product-batches-listing/product-batches-listing.component.html\n// module id = ./src/app/store-management/stock/components/product-batches-listing/product-batches-listing.component.html\n// module chunks = main","import {Component, EventEmitter, Input, OnInit, Output} from '@angular/core';\r\nimport {ProductBatch} from \"../../../model/product-batch.type\";\r\n\r\n@Component({\r\n selector: 'vb-product-batches-listing',\r\n templateUrl: './product-batches-listing.component.html',\r\n styleUrls: ['./product-batches-listing.component.css']\r\n})\r\nexport class ProductBatchesListingComponent implements OnInit {\r\n\r\n @Input()\r\n productBatches: ProductBatch[];\r\n\r\n @Output()\r\n deleteProductBatchClicked: EventEmitter = new EventEmitter();\r\n\r\n constructor() {\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n onDeleteProductBatchClicked(productBatchCuid: string) {\r\n this.deleteProductBatchClicked.emit(productBatchCuid);\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/store-management/stock/components/product-batches-listing/product-batches-listing.component.ts","module.exports = \"\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/store-management/stock/components/search-product-batches/search-product-batches.component.css\n// module id = ./src/app/store-management/stock/components/search-product-batches/search-product-batches.component.css\n// module chunks = main","module.exports = \"
\\r\\n
\\r\\n
\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n
\\r\\n \\r\\n Suche starten\\r\\n \\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n

Bestände mit der gesuchten Charge

\\r\\n
\\r\\n Diese Charge befindet sich aktuell in keinem Bestand des Standorts!\\r\\n
\\r\\n
\\r\\n
\\r\\n

{{stock.label}}

\\r\\n
\\r\\n
\\r\\n
\\r\\n
Verwaltungseinheit:
\\r\\n
{{stock.depot?.administration_unit?.label}}
\\r\\n
Lager:
\\r\\n
{{stock.depot?.label}}
\\r\\n
Lagerplatz:
\\r\\n
{{stock.depot_yard?.label}}
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n {{row.stocks ? row.stocks.length : 0}}\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/store-management/stock/components/search-product-batches/search-product-batches.component.html\n// module id = ./src/app/store-management/stock/components/search-product-batches/search-product-batches.component.html\n// module chunks = main","import {ChangeDetectorRef, Component, OnInit, TemplateRef, ViewChild} from '@angular/core';\r\nimport {SessionActions} from \"../../../../shared/actions\";\r\nimport {StockService} from \"../../../services/stock.service\";\r\nimport {FormBuilder, FormGroup, Validators} from \"@angular/forms\";\r\nimport {Subject} from \"rxjs/Subject\";\r\nimport {AbstractListView} from \"../../../../core/visbos-core/ui/components/abstract-list-view\";\r\nimport {ProductBatch} from \"../../../model/product-batch.type\";\r\nimport {ApolloQueryObservable} from \"apollo-angular\";\r\nimport {FindProductBatchesQuery} from \"../../../../shared/graphql/graphql.types\";\r\n\r\n@Component({\r\n selector: 'vb-search-product-batches',\r\n templateUrl: './search-product-batches.component.html',\r\n styleUrls: ['./search-product-batches.component.css']\r\n})\r\nexport class SearchProductBatchesComponent extends AbstractListView implements OnInit {\r\n\r\n private batches$: ApolloQueryObservable;\r\n batches: ProductBatch[];\r\n\r\n searchData: FormGroup;\r\n\r\n searchString: Subject = new Subject();\r\n\r\n @ViewChild('stocksTmpl')\r\n stocksTmpl: TemplateRef;\r\n\r\n noStocksComparator: (valueA, valueB, rowA: ProductBatch, rowB: ProductBatch, sortDirection) => number =\r\n (valueA, valueB, rowA: ProductBatch, rowB: ProductBatch, sortDirection) => {\r\n\r\n if (!rowA.stocks || !rowA.stocks.length) {\r\n return -1;\r\n }\r\n\r\n if (!rowB.stocks || !rowB.stocks.length) {\r\n return 1;\r\n }\r\n\r\n if (rowA.stocks.length == rowB.stocks.length) {\r\n return 0;\r\n }\r\n\r\n if (rowA.stocks.length < rowB.stocks.length) {\r\n return -1;\r\n }\r\n\r\n if (rowA.stocks.length > rowB.stocks.length) {\r\n return 1;\r\n }\r\n\r\n };\r\n\r\n constructor(sessionActions: SessionActions, cd: ChangeDetectorRef, private fb: FormBuilder,\r\n private stockService: StockService) {\r\n super(sessionActions, cd);\r\n\r\n this.searchData = this.fb.group({\r\n searchString: [null, Validators.required]\r\n });\r\n\r\n }\r\n\r\n\r\n ngOnInit(): void {\r\n super.ngOnInit();\r\n\r\n //TODO: Show deleted, rteformat stocks, show depots and yards and admin units\r\n this.columns = [\r\n {prop: 'batch_number', name: 'Chargennummer'},\r\n {prop: 'use_before_date_formatted', name: 'MHD'},\r\n {name: 'Anzahl Bestände', cellTemplate: this.stocksTmpl, comparator: this.noStocksComparator}\r\n ];\r\n\r\n this.addComponentData(this.batches$ = this.stockService.findProductBatches(this.searchString, null, true, null));\r\n this.addSubscription(this.batches$.subscribe(res => {\r\n this.batches = res.data.findProductBatches;\r\n this.rows = this.batches;\r\n }))\r\n }\r\n\r\n onStartSearchClicked() {\r\n this.searchString.next(this.searchData.get('searchString').value);\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/store-management/stock/components/search-product-batches/search-product-batches.component.ts","module.exports = \"\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/store-management/stock/edit-stock/edit-stock.component.css\n// module id = ./src/app/store-management/stock/edit-stock/edit-stock.component.css\n// module chunks = main","module.exports = \"\\r\\n\\r\\n
Bestand {{stock?.name ? stock.name : stock?.stock_item?.label}} bearbeiten
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n \\r\\n\\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n

Item

\\r\\n {{stock | json}}\\r\\n\\r\\n

Form

\\r\\n {{form.value | json}}\\r\\n
\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/store-management/stock/edit-stock/edit-stock.component.html\n// module id = ./src/app/store-management/stock/edit-stock/edit-stock.component.html\n// module chunks = main","import {ChangeDetectorRef, Component, OnInit, ViewChild} from \"@angular/core\";\r\nimport {FormBuilder, FormGroup} from \"@angular/forms\";\r\nimport {NewStockViewComponent} from \"../new-stock-view/new-stock-view.component\";\r\nimport {StockService} from \"../../services/stock.service\";\r\nimport {Stock} from \"../../../shared/view-model/stock\";\r\nimport {ActivatedRoute} from \"@angular/router\";\r\nimport {Subscription} from \"rxjs/Subscription\";\r\nimport {environment} from \"../../../../environments/environment\";\r\nimport {SessionActions} from \"../../../shared/actions/session.actions\";\r\nimport {MessageType} from \"../../../shared/redux-store/session/session.types\";\r\nimport {ErrorHandlerService} from \"../../../core/visbos-core/error-handling/error-handler.service\";\r\n\r\n@Component({\r\n selector: 'vb-edit-stock',\r\n templateUrl: './edit-stock.component.html',\r\n styleUrls: ['./edit-stock.component.css']\r\n})\r\nexport class EditStockComponent implements OnInit /*, AfterViewInit, AfterViewChecked*/ {\r\n\r\n environment = environment;\r\n\r\n form: FormGroup;\r\n\r\n @ViewChild(NewStockViewComponent)\r\n stockCmp: NewStockViewComponent;\r\n\r\n stock: Stock;\r\n\r\n constructor(private fb: FormBuilder,\r\n private cd: ChangeDetectorRef,\r\n private route: ActivatedRoute,\r\n private stockService: StockService,\r\n private sessionActions: SessionActions,\r\n private err: ErrorHandlerService) {\r\n }\r\n\r\n ngOnInit() {\r\n this.stock = this.route.snapshot.data['stock'];\r\n this.init();\r\n }\r\n\r\n /*\r\n ngAfterViewInit(): void {\r\n this.stockCmp.setItemOrDefaultValues();\r\n }\r\n\r\n /*\r\n ngAfterViewChecked(): void {\r\n this.cd.detectChanges();\r\n //TODO: Very unperformant!!!\r\n }*/\r\n\r\n init() {\r\n this.form = this.fb.group({\r\n stock: NewStockViewComponent.initControl(this.fb)\r\n });\r\n }\r\n\r\n onSaveClicked() {\r\n let data = this.form.value.stock;\r\n this.stockService.updateStock(data, data.cuid).toPromise()\r\n .then(() => {\r\n this.sessionActions.pushMessage(\"Änderungen gespeichert\", MessageType.SUCCESS, \"Bestandsverwaltung\");\r\n })\r\n .catch((err) => {\r\n this.err.handleUserError(err, \"Fehler beim Speichern der Änderung!\")\r\n });\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/store-management/stock/edit-stock/edit-stock.component.ts","module.exports = \"\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/store-management/stock/new-stock-view/new-stock-view.component.css\n// module id = ./src/app/store-management/stock/new-stock-view/new-stock-view.component.css\n// module chunks = main","module.exports = \"\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n \\r\\n\\r\\n \\r\\n {{item.label}} ({{item.administration_unit?.label}})\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n
\\r\\n\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n \\r\\n \\r\\n\\r\\n\\r\\n\\r\\n \\r\\n \\r\\n\\r\\n\\r\\n\\r\\n \\r\\n\\r\\n\\r\\n\\r\\n\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n\\r\\n\\r\\n\\r\\n \\r\\n\\r\\n\\r\\n\\r\\n \\r\\n\\r\\n\\r\\n\\r\\n \\r\\n\\r\\n\\r\\n\\r\\n \\r\\n\\r\\n\\r\\n\\r\\n
\\r\\n \\r\\n
Stk.
\\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n
\\r\\n \\r\\n
Stk.
\\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n\\r\\n\\r\\n

Form: {{control.value | json}}

\\r\\n

Item: {{stockItem | json}}

\\r\\n
\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/store-management/stock/new-stock-view/new-stock-view.component.html\n// module id = ./src/app/store-management/stock/new-stock-view/new-stock-view.component.html\n// module chunks = main","import {AfterViewInit, ChangeDetectorRef, Component, forwardRef, SimpleChanges} from \"@angular/core\";\r\nimport {FormBuilder, FormGroup, Validators} from \"@angular/forms\";\r\nimport {AbstractVisbosControl} from \"../../../core/visbos-core/ui/forms/abstract-visbos-control\";\r\nimport {NewBarcodeFormComponent} from \"../../../identity/new-barcode-form/new-barcode-form.component\";\r\nimport {Stock} from \"../../../shared/view-model/stock\";\r\nimport {appInjector} from \"../../../index\";\r\nimport {ProductBatchFormComponent} from \"../../product/product-batch-form/product-batch-form.component\";\r\nimport {DEPOT_YARD_ERRORS} from \"../../depot/depot-yard-selection/depot-yard-selection.component\";\r\nimport {BehaviorSubject} from \"rxjs/BehaviorSubject\";\r\nimport {StockItemService} from \"../../services/stock-item-service/stock-item.service\";\r\nimport {delay, distinctUntilChanged, filter} from \"rxjs/operators\";\r\nimport {Subject} from \"rxjs/Subject\";\r\nimport {StockItem} from \"../../../shared/view-model/store-management/stock-item.type\";\r\nimport {Observable} from \"rxjs/Observable\";\r\n\r\n@Component({\r\n selector: 'vb-new-stock-view',\r\n templateUrl: './new-stock-view.component.html',\r\n styleUrls: ['./new-stock-view.component.css'],\r\n providers: [{provide: AbstractVisbosControl, useExisting: forwardRef(() => NewStockViewComponent)}]\r\n})\r\nexport class NewStockViewComponent extends AbstractVisbosControl implements AfterViewInit {\r\n\r\n searchTerm: Subject = new Subject();\r\n stockItemsLoading: boolean = false;\r\n stockItems = [];\r\n\r\n DEPOT_YARD_ERRORS = DEPOT_YARD_ERRORS;\r\n\r\n currentDepotId$: BehaviorSubject = new BehaviorSubject(null);\r\n currentDepotIdObs$: Observable;\r\n currentStockItemId$: BehaviorSubject = new BehaviorSubject(null);\r\n currentCuid$: BehaviorSubject = new BehaviorSubject(null);\r\n\r\n showStockItemSearch: boolean = false;\r\n\r\n batchInit: (fb?: FormBuilder) => {} = ProductBatchFormComponent.initControl;\r\n\r\n\r\n private _stockItem: StockItem;\r\n\r\n get stockItem(): StockItem {\r\n return this._stockItem ? this._stockItem : (this.item ? this.item.stock_item : null);\r\n }\r\n\r\n set stockItem(value: StockItem) {\r\n this._stockItem = value;\r\n }\r\n\r\n constructor(fb: FormBuilder, cd: ChangeDetectorRef, private stockItemService: StockItemService) {\r\n super(fb, cd, null);\r\n this.currentDepotIdObs$ = this.currentDepotId$.pipe(filter(v => v != null));\r\n }\r\n\r\n\r\n ngOnInit(): void {\r\n super.ngOnInit();\r\n\r\n let t = this.searchTerm.pipe(\r\n delay(500),\r\n distinctUntilChanged(),\r\n filter(t => t != null && t != ''),\r\n );\r\n\r\n this.addSubscription(t.subscribe(t => this.stockItemsLoading = true));\r\n this.addSubscription(this.stockItemService.findStockItems(t)\r\n .subscribe(res => {\r\n this.stockItemsLoading = res.loading;\r\n this.stockItems = res.data.findStockItems;\r\n }, err => {\r\n this.sessionActions.throwError(err);\r\n this.stockItemsLoading = false;\r\n }));\r\n\r\n this.addSubscription(this.stockItemService.getStockItem(this.currentStockItemId$.pipe(filter(v => v != null))).subscribe((res: any) => this._stockItem = res));\r\n\r\n this.watchControl();\r\n\r\n }\r\n\r\n private loadStockItem(stockItemCuid) {\r\n this.currentStockItemId$.next(stockItemCuid);\r\n }\r\n\r\n onChangeStockItemClicked() {\r\n this.showStockItemSearch = true;\r\n }\r\n\r\n search(event) {\r\n this.searchTerm.next(event.query);\r\n }\r\n\r\n onSelect(selectedItem) {\r\n if (selectedItem instanceof Object) {\r\n this.control.get('stock_item_id').setValue(selectedItem.cuid);\r\n this.onCancel();\r\n }\r\n }\r\n\r\n onKeyUp(event: KeyboardEvent) {\r\n if (event.key == \"Escape\") {\r\n this.onCancel();\r\n }\r\n }\r\n\r\n onCancel() {\r\n this.searchTerm.next(null);\r\n this.stockItems = [];\r\n this.showStockItemSearch = false;\r\n }\r\n\r\n//TODO: Filter list of depots according to admin unit selected in item form!!\r\n\r\n buildControlContent(): FormGroup {\r\n return NewStockViewComponent.initControl(this.fb);\r\n }\r\n\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n super.ngOnChanges(changes);\r\n if (changes.control) {\r\n this.watchControl();\r\n }\r\n }\r\n\r\n\r\n /**\r\n * The method is called for changes and in ngOnInit because changes is not triggered, when the control is created internally...\r\n */\r\n private watchControl() {\r\n // Manual triggering is required because valueChanges of form is not a behaviour subject. Does not provide latest value when observers subscribe after a value change\r\n this.dataSubscriptions.push(this.control.get('depot_id').valueChanges.subscribe(val => this.currentDepotId$.next(val)));\r\n this.dataSubscriptions.push(this.control.get('cuid').valueChanges.subscribe(val => this.currentCuid$.next(val)));\r\n this.dataSubscriptions.push(this.control.get('stock_item_id').valueChanges.subscribe(val => this.loadStockItem(val)));\r\n\r\n this.currentCuid$.next(this.control.get('cuid').value);\r\n this.currentDepotId$.next(this.control.get('depot_id').value);\r\n this.currentStockItemId$.next(this.control.get('stock_item_id').value);\r\n }\r\n\r\n public static initControl(fb: FormBuilder = null): FormGroup {\r\n fb = fb ? fb : appInjector().get(FormBuilder);\r\n\r\n let ctrl = fb.group({\r\n cuid: [null, Validators.required],\r\n stock_item_id: [null, Validators.required],\r\n depot_id: [null, Validators.required],\r\n depot_yard_id: [null],\r\n name: [null],\r\n min_stock: [null, Validators.required],\r\n report_stock: [null],\r\n shall_stock: [null, Validators.required],\r\n act_stock: [null, Validators.required],\r\n extraction_amount: [null, Validators.required],\r\n order_amount: [null],\r\n registration_required: [false],\r\n ean: NewBarcodeFormComponent.initControl(fb), // Necessary for async validator\r\n product_batches: fb.array([]),\r\n keywords: fb.array([]),\r\n //TODO: Add packing for order amount\r\n });\r\n\r\n ctrl.get('ean').setValidators(Validators.required);\r\n\r\n return ctrl;\r\n\r\n }\r\n\r\n public setDefaultValues(item?: Stock): { [controlKey: string]: any } | any {\r\n return {\r\n cuid: this.setValue(item, 'cuid', AbstractVisbosControl.cuid()),\r\n stock_item_id: this.setValue(item, 'stock_item.cuid'),\r\n name: this.setValue(item, 'name'),\r\n min_stock: this.setValue(item, 'min_stock'),\r\n report_stock: this.setValue(item, 'report_stock'),\r\n shall_stock: this.setValue(item, 'shall_stock'),\r\n act_stock: this.setValue(item, 'act_stock', 0),\r\n extraction_amount: this.setValue(item, 'extraction_amount', 1),\r\n order_amount: this.setValue(item, 'order_amount'),\r\n registration_required: this.setValue(item, 'registration_required', false)\r\n };\r\n };\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/store-management/stock/new-stock-view/new-stock-view.component.ts","module.exports = \"\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/store-management/stock/stock-detail/stock-detail-list/stock-detail-list.component.css\n// module id = ./src/app/store-management/stock/stock-detail/stock-detail-list/stock-detail-list.component.css\n// module chunks = main","module.exports = \"

Zugeordnete Barcodes

\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n

Bestandsgrenzwerte

\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n

{{stock?.min_stock}}

\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n

{{stock?.report_stock}}

\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n

{{stock?.shall_stock}}

\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n

{{stock?.order_amount}}

\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n

{{stock?.extraction_amount}}

\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/store-management/stock/stock-detail/stock-detail-list/stock-detail-list.component.html\n// module id = ./src/app/store-management/stock/stock-detail/stock-detail-list/stock-detail-list.component.html\n// module chunks = main","import {Component, Input, OnInit} from \"@angular/core\";\r\nimport {Stock} from \"../../../../shared/view-model/stock\";\r\n\r\n\r\n@Component({\r\n selector: 'vb-stock-detail-list',\r\n templateUrl: './stock-detail-list.component.html',\r\n styleUrls: ['./stock-detail-list.component.css']\r\n})\r\nexport class StockDetailListComponent implements OnInit {\r\n\r\n @Input()\r\n stock: Stock;\r\n\r\n constructor() {\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/store-management/stock/stock-detail/stock-detail-list/stock-detail-list.component.ts","module.exports = \"\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/store-management/stock/stock-detail/stock-detail.component.css\n// module id = ./src/app/store-management/stock/stock-detail/stock-detail.component.css\n// module chunks = main","module.exports = \"

Bestands-Details für \\\"{{ (stock$|async)?.label }}\\\"

\\r\\n\\r\\n

Allgemeine Artikel-Eigenschaften

\\r\\n\\r\\n Lade Artikel-Details...\\r\\n\\r\\n\\r\\n

Bestand im aktuellen Lager

\\r\\n\\r\\n Lade Bestands-Details...\\r\\n\\r\\n\\r\\n

Artikel-Varianten im aktuellen Lager

\\r\\n\\r\\n\\r\\n Lade Varianten...\\r\\n\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/store-management/stock/stock-detail/stock-detail.component.html\n// module id = ./src/app/store-management/stock/stock-detail/stock-detail.component.html\n// module chunks = main","import {Component, OnInit} from \"@angular/core\";\r\nimport {select} from \"@angular-redux/store\";\r\nimport {ISelectedStock} from \"../../../shared/redux-store/store-management/stock/stock.types\";\r\nimport {Observable} from \"rxjs/Observable\";\r\nimport {ActivatedRoute, Router} from \"@angular/router\";\r\nimport {Stock} from \"../../../shared/view-model/stock\";\r\nimport {ReduxRouteService} from \"../../../shared/redux-store/redux-route.service\";\r\nimport {StockService} from \"../../services/stock.service\";\r\nimport {StockItem} from \"../../../shared/view-model/store-management/stock-item.type\";\r\nimport {ApolloQueryObservable} from \"apollo-angular\";\r\nimport {map, mergeMap} from \"rxjs/operators\";\r\n\r\n@Component({\r\n selector: 'vb-stock-detail',\r\n templateUrl: './stock-detail.component.html',\r\n styleUrls: ['./stock-detail.component.css']\r\n})\r\nexport class StockDetailComponent implements OnInit {\r\n\r\n @select('stock') state$: Observable;\r\n stock$: ApolloQueryObservable;\r\n variants$: ApolloQueryObservable;\r\n\r\n constructor(private router: Router,\r\n private route: ActivatedRoute,\r\n private reduxRouteService: ReduxRouteService,\r\n private stockService: StockService) {\r\n }\r\n\r\n ngOnInit() {\r\n\r\n this.reduxRouteService.processRoute(this.route);\r\n\r\n this.stock$ = >this.state$.pipe(\r\n mergeMap(state => this.stockService.getStock(state.selectedStock))\r\n );\r\n\r\n this.variants$ = >this.stock$.pipe(\r\n mergeMap((stock: any) => this.stockService.getStockWithVariants(stock.cuid, stock.depot.cuid)),\r\n map(res => res.variants)\r\n );\r\n\r\n\r\n }\r\n\r\n selectVariant(stockCuid: string) {\r\n this.router.navigate(['../', stockCuid], {relativeTo: this.route})\r\n }\r\n\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/store-management/stock/stock-detail/stock-detail.component.ts","module.exports = \"\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/store-management/stock/stock-detail/stock-item-details/stock-item-details.component.css\n// module id = ./src/app/store-management/stock/stock-detail/stock-item-details/stock-item-details.component.css\n// module chunks = main","module.exports = \"
\\r\\n
\\r\\n \\r\\n
\\r\\n

{{stock?.label}}

\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n

{{stock?.label}}

\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
    \\r\\n
  • {{p.name}} = {{p.value}}
  • \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n

{{stock?.cuid}}

\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/store-management/stock/stock-detail/stock-item-details/stock-item-details.component.html\n// module id = ./src/app/store-management/stock/stock-detail/stock-item-details/stock-item-details.component.html\n// module chunks = main","import {Component, Input, OnInit} from \"@angular/core\";\r\nimport {Stock} from \"../../../../shared/view-model/stock\";\r\n\r\n@Component({\r\n selector: 'vb-stock-item-details',\r\n templateUrl: './stock-item-details.component.html',\r\n styleUrls: ['./stock-item-details.component.css']\r\n})\r\nexport class StockItemDetailsComponent implements OnInit {\r\n\r\n @Input()\r\n stock: Stock;\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/store-management/stock/stock-detail/stock-item-details/stock-item-details.component.ts","module.exports = \"\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/store-management/stock/stock-detail/stock-variants-list/stock-variants-list.component.css\n// module id = ./src/app/store-management/stock/stock-detail/stock-variants-list/stock-variants-list.component.css\n// module chunks = main","module.exports = \"
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
Varianten-IDBezeichnerEigenschaften
{{v.cuid}}{{v.label}}\\r\\n
    \\r\\n
  • {{p.name}}: {{p.value}}
  • \\r\\n
\\r\\n
\\r\\n
\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/store-management/stock/stock-detail/stock-variants-list/stock-variants-list.component.html\n// module id = ./src/app/store-management/stock/stock-detail/stock-variants-list/stock-variants-list.component.html\n// module chunks = main","import {Component, EventEmitter, Input, OnInit, Output} from \"@angular/core\";\r\nimport {Stock} from \"../../../../shared/view-model/stock\";\r\n\r\n@Component({\r\n selector: 'vb-stock-variants-list',\r\n templateUrl: './stock-variants-list.component.html',\r\n styleUrls: ['./stock-variants-list.component.css']\r\n})\r\nexport class StockVariantsListComponent implements OnInit {\r\n\r\n @Input()\r\n variants: Stock[];\r\n\r\n @Output()\r\n selectVariant: EventEmitter = new EventEmitter();\r\n\r\n constructor() {\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n onSelectVariant(stockCuid: string) {\r\n this.selectVariant.emit(stockCuid);\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/store-management/stock/stock-detail/stock-variants-list/stock-variants-list.component.ts","module.exports = \"\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/store-management/stock/stock-form-table/stock-form-table.component.css\n// module id = ./src/app/store-management/stock/stock-form-table/stock-form-table.component.css\n// module chunks = main","module.exports = \"\\r\\n \\r\\n\\r\\n\\r\\n\\r\\n \\r\\n\\r\\n\\r\\n\\r\\n \\r\\n\\r\\n\\r\\n \\r\\n\\r\\n\\r\\n \\r\\n\\r\\n\\r\\n \\r\\n\\r\\n\\r\\n\\r\\n \\r\\n\\r\\n\\r\\n \\r\\n\\r\\n\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n \\r\\n\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/store-management/stock/stock-form-table/stock-form-table.component.html\n// module id = ./src/app/store-management/stock/stock-form-table/stock-form-table.component.html\n// module chunks = main","import {ChangeDetectorRef, Component, forwardRef, HostBinding, OnInit} from \"@angular/core\";\r\nimport {NewStockViewComponent} from \"../new-stock-view/new-stock-view.component\";\r\nimport {FormBuilder} from \"@angular/forms\";\r\nimport {StockItemService} from \"../../services/stock-item-service/stock-item.service\";\r\n\r\n@Component({\r\n selector: 'vb-stock-form-table',\r\n templateUrl: './stock-form-table.component.html',\r\n styleUrls: ['./stock-form-table.component.css'],\r\n providers: [{provide: NewStockViewComponent, useExisting: forwardRef(() => StockFormTableComponent)}]\r\n})\r\nexport class StockFormTableComponent extends NewStockViewComponent implements OnInit {\r\n\r\n @HostBinding('class.tr')\r\n trClass = true;\r\n\r\n constructor(fb: FormBuilder, cd: ChangeDetectorRef, stockItemService: StockItemService) {\r\n super(fb, cd, stockItemService);\r\n }\r\n\r\n ngOnInit() {\r\n super.ngOnInit();\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/store-management/stock/stock-form-table/stock-form-table.component.ts","module.exports = \"\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/store-management/stock/stock-limits/stock-limits.component.css\n// module id = ./src/app/store-management/stock/stock-limits/stock-limits.component.css\n// module chunks = main","module.exports = \"
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/store-management/stock/stock-limits/stock-limits.component.html\n// module id = ./src/app/store-management/stock/stock-limits/stock-limits.component.html\n// module chunks = main","import {Component, Input} from \"@angular/core\";\r\nimport {Stock} from \"../../../shared/view-model/stock\";\r\nimport {StockService} from \"../../services/stock.service\";\r\nimport {StockInput} from \"../../services/stock-input.type\";\r\n\r\n@Component({\r\n selector: 'vb-stock-limits',\r\n templateUrl: './stock-limits.component.html',\r\n styleUrls: ['./stock-limits.component.css']\r\n})\r\nexport class StockLimitsComponent {\r\n\r\n private _stock: Stock = {};\r\n private origMinStock: number;\r\n private origReportStock: number;\r\n private origShallStock: number;\r\n\r\n @Input()\r\n set stock(stock: Stock) {\r\n this._stock = stock;\r\n this.origMinStock = this._stock.min_stock;\r\n this.origReportStock = this._stock.report_stock;\r\n this.origShallStock = this._stock.shall_stock;\r\n }\r\n\r\n active = true;\r\n\r\n get stock(): Stock {\r\n return this._stock;\r\n }\r\n\r\n\r\n constructor(private stockService: StockService) {\r\n\r\n }\r\n\r\n onSubmit() {\r\n\r\n let stockInput: StockInput = {\r\n cuid: this.stock.cuid,\r\n min_stock: this.stock.min_stock,\r\n report_stock: this.stock.report_stock,\r\n shall_stock: this.stock.shall_stock\r\n };\r\n\r\n this.stockService.updateStock(stockInput);\r\n\r\n }\r\n\r\n resetLimits() {\r\n this.stock.min_stock = this.origMinStock;\r\n this.stock.report_stock = this.origReportStock;\r\n this.stock.shall_stock = this.origShallStock;\r\n this.active = false;\r\n setTimeout(() => this.active = true, 0);\r\n }\r\n\r\n /**\r\n * Defines the CSS styles for highlighting the stock\r\n * @param stock the stock to format\r\n * @returns {{bg-warning: boolean, bg-danger: boolean, bg-success: boolean}} a ngClass array with the styles\r\n */\r\n setClasses(stock: Stock) {\r\n let cssClasses = {};\r\n return cssClasses;\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/store-management/stock/stock-limits/stock-limits.component.ts","import { Injectable } from '@angular/core';\r\n\r\n@Injectable()\r\nexport class StockListStateService {\r\n\r\n public page = 1;\r\n\r\n public searchTerm = null;\r\n\r\n constructor() { }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/store-management/stock/stock-list/stock-list-state.service.ts","module.exports = \"\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/store-management/stock/stock-list/stock-list.component.css\n// module id = ./src/app/store-management/stock/stock-list/stock-list.component.css\n// module chunks = main","module.exports = \"\\r\\n\\r\\n

Bestandsliste

\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n

Details

\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n LOT: {{batch.batch_number}}, \\r\\n MHD: {{batch.use_before_date_formatted}}\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n \\r\\n {{value != null ? value : \\\" \\\"}}\\r\\n \\r\\n \\r\\n\\r\\n\\r\\n\\r\\n \\r\\n {{value != null ? value : \\\" \\\"}}\\r\\n \\r\\n \\r\\n\\r\\n\\r\\n\\r\\n \\r\\n {{value != null ? value : \\\" \\\"}}\\r\\n \\r\\n \\r\\n\\r\\n\\r\\n\\r\\n \\r\\n {{value != null ? value : \\\" \\\"}}\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n\\r\\n\\r\\n \\r\\n {{value ? value.label : \\\" \\\"}}\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n
\\r\\n

Geben Sie an, welches Produkt und welche Verpackung in den Warenkorb gelegt werden sollen.

\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/store-management/stock/stock-list/stock-list.component.html\n// module id = ./src/app/store-management/stock/stock-list/stock-list.component.html\n// module chunks = main","import {ChangeDetectorRef, Component, OnDestroy, OnInit, TemplateRef, ViewChild} from \"@angular/core\";\r\nimport {StockService} from \"../../services/stock.service\";\r\nimport {ActivatedRoute, Router} from \"@angular/router\";\r\nimport {Stock} from \"../../../shared/view-model/stock\";\r\nimport {Observable} from \"rxjs/Observable\";\r\nimport {ApolloQueryObservable} from \"apollo-angular\";\r\nimport {FormBuilder, FormControl, FormGroup} from \"@angular/forms\";\r\nimport {AbstractListView} from \"../../../core/visbos-core/ui/components/abstract-list-view\";\r\nimport {Depot} from \"../../../shared/view-model/store-management/depot.type\";\r\nimport {AddStockToCartComponent} from \"../../procurement/add-stock-to-cart/add-stock-to-cart.component\";\r\nimport {GenericModalComponent} from \"../../../core/visbos-core/ui/forms/generic-modal/generic-modal.component\";\r\nimport {ProcurementService} from \"../../services/procurement-service/procurement.service\";\r\nimport {SessionActions} from \"../../../shared/actions/session.actions\";\r\nimport {BarcodeService} from \"../../../identity/services/barcode.service\";\r\nimport {MessageType} from \"../../../shared/redux-store/session/session.types\";\r\nimport {PrintedSheetCategory} from \"../../../medicine-stickers/model/printed-sheets.enum\";\r\nimport {DepotYard} from \"../../../shared/view-model/store-management/depot-yard.type\";\r\nimport {FileService} from \"../../../core/visbos-core/http/file.service\";\r\nimport {MoveStockComponent} from \"../components/move-stock/move-stock.component\";\r\nimport {StockItemService} from \"../../services/stock-item-service/stock-item.service\";\r\nimport {debounceTime, distinctUntilChanged, map} from \"rxjs/operators\";\r\nimport {StocktakingService} from '../../services/stocktaking/stocktaking.service';\r\nimport * as _ from 'lodash';\r\nimport {DatatableComponent} from '../../../core/visbos-core/ui/components/datatable/datatable.component';\r\nimport {StockListStateService} from './stock-list-state.service';\r\n\r\n@Component({\r\n selector: 'vb-stock-list',\r\n templateUrl: './stock-list.component.html',\r\n styleUrls: ['./stock-list.component.css']\r\n})\r\nexport class StockListComponent extends AbstractListView implements OnInit, OnDestroy {\r\n\r\n @ViewChild('batchCellTmpl')\r\n batchCellTmpl: TemplateRef;\r\n\r\n // Stock editing templates\r\n @ViewChild('minStockTmpl')\r\n minStockTmpl: TemplateRef;\r\n\r\n @ViewChild('shallStockTmpl')\r\n shallStockTmpl: TemplateRef;\r\n\r\n @ViewChild('reportStockTmpl')\r\n reportStockTmpl: TemplateRef;\r\n\r\n @ViewChild('actStockTmpl')\r\n actStockTmpl: TemplateRef;\r\n\r\n @ViewChild('depotYardTmpl')\r\n depotYardTmpl: TemplateRef;\r\n\r\n @ViewChild('stockDetails')\r\n stockDetails: TemplateRef;\r\n\r\n @ViewChild('stockCartFormComp')\r\n stockCartFormComp: AddStockToCartComponent;\r\n\r\n @ViewChild('stockCartModal')\r\n stockCartModal: GenericModalComponent;\r\n\r\n @ViewChild('moveStocksModal')\r\n moveStocksModal: GenericModalComponent;\r\n\r\n currentStock: Stock;\r\n currentStockForm: FormGroup;\r\n\r\n @ViewChild('barcodeStickersModal')\r\n barcodeStickersModal: GenericModalComponent;\r\n\r\n @ViewChild('stocksTable')\r\n table: DatatableComponent;\r\n\r\n messages = {\r\n emptyMessage: 'Keine Bestandsposten vorhanden',\r\n totalMessage: 'Bestandsposten insgesamt'\r\n };\r\n\r\n private stocks$: ApolloQueryObservable;\r\n stocks: Stock[] = [];\r\n\r\n depotForm: FormControl;\r\n\r\n selectedDepotCuid$: Observable;\r\n\r\n private selectedStocks: string[] = [];\r\n\r\n PrintedSheetCategory;\r\n\r\n constructor(private stockService: StockService,\r\n private stockItemService: StockItemService,\r\n private procurementService: ProcurementService,\r\n private bcService: BarcodeService,\r\n private router: Router,\r\n private route: ActivatedRoute,\r\n private fb: FormBuilder,\r\n private fileService: FileService,\r\n private stocktakingService: StocktakingService,\r\n private state: StockListStateService,\r\n sessionActions: SessionActions, cd: ChangeDetectorRef) {\r\n\r\n super(sessionActions, cd);\r\n\r\n this.stockItemService = stockItemService;\r\n\r\n this.PrintedSheetCategory = PrintedSheetCategory;\r\n\r\n this.selectedDepotCuid$ = this.route.params.pipe(map(({depotCuid}) => depotCuid));\r\n\r\n this.actions = [\r\n {\r\n label: 'Neue Bestände anlegen',\r\n icon: 'fa-plus',\r\n helpText: 'Neue Bestände im Lager anlegen',\r\n action: () => this.showNewStockForm.apply(this)\r\n },\r\n {\r\n label: 'Bestandsliste exportieren',\r\n icon: 'fa-file-export',\r\n helpText: 'Liste aller Bestände des Standorts als Excel-Datei exportieren',\r\n action: () => this.exportStockList.apply(this)\r\n },\r\n {\r\n label: 'Barcodes drucken',\r\n icon: 'fa-barcode',\r\n helpText: 'Barcodes für die ausgewählten Bestände auf Etiketten drucken',\r\n action: () => this.onCreateBarcodesPageClicked.apply(this),\r\n disabled: () => !(this.selectedStocks && this.selectedStocks.length > 0)\r\n },\r\n { //TODO: RFID-Permission?\r\n label: 'Lager per RFID inventarisieren',\r\n icon: 'fa-broadcast-tower',\r\n helpText: 'Das über den Filter ausgewählte Lager per RFID-Scan inventarisieren',\r\n disabledText: 'Bitte wählen Sie zuerst im Filter ein Lager aus',\r\n action: () => this.startStocktakingClicked.apply(this),\r\n disabled: () => !(this.route.snapshot.params.depotCuid)\r\n }\r\n\r\n ]\r\n\r\n }\r\n\r\n ngOnInit() {\r\n\r\n this.isLoading = true;\r\n\r\n this.searchTerm = this.fb.control(null);\r\n\r\n this.dataSubscriptions.push(\r\n this.searchTerm.valueChanges.pipe(\r\n distinctUntilChanged(),\r\n debounceTime(500)\r\n ).subscribe((term: any) => {\r\n this.state.searchTerm = term;\r\n this.filterItems(term, true); // if the user types a search term, reset the page to the first page as it is unknown, if the page setting still fits the filtered item list\r\n })\r\n );\r\n\r\n // If a search term is set in the state, patch the form control and filter the items without changing the page\r\n if (this.state.searchTerm) {\r\n this.searchTerm.patchValue(this.state.searchTerm, {emitEvent: false});\r\n this.filterItems(this.state.searchTerm, false);\r\n }\r\n\r\n this.stocks$ = this.stockService.getStocksForDepot(this.selectedDepotCuid$);\r\n this.addComponentData(this.stocks$);\r\n this.dataSubscriptions.push(this.stocks$.subscribe((stocks: any) => {\r\n this.stocks = stocks;\r\n this.filterItems(this.searchTerm.value, false);\r\n this.isLoading = false;\r\n }, err => {\r\n console.warn(\"Fehler\", [err]);\r\n }));\r\n\r\n this.columns = [\r\n {prop: 'label', name: 'Bezeichner', minWidth: 250, flexGrow: 3},\r\n {prop: 'min_stock', name: 'Min', cellTemplate: this.minStockTmpl, minWidth: 60, maxWidth: 100, flexGrow: 1},\r\n {\r\n prop: 'report_stock',\r\n name: 'Melde',\r\n cellTemplate: this.reportStockTmpl,\r\n minWidth: 60,\r\n maxWidth: 100,\r\n flexGrow: 1\r\n },\r\n {\r\n prop: 'shall_stock',\r\n name: 'Soll',\r\n cellTemplate: this.shallStockTmpl,\r\n minWidth: 60,\r\n maxWidth: 100,\r\n flexGrow: 1\r\n },\r\n {\r\n prop: 'act_stock',\r\n name: 'Aktuell',\r\n cellTemplate: this.actStockTmpl,\r\n minWidth: 60,\r\n maxWidth: 100,\r\n flexGrow: 1\r\n },\r\n {\r\n prop: 'depot_yard',\r\n name: 'Lagerplatz',\r\n cellTemplate: this.depotYardTmpl,\r\n comparator: this.sortByDepotYard.bind(this),\r\n minWidth: 150,\r\n flexGrow: 2\r\n },\r\n {\r\n name: 'Chargen',\r\n prop: 'product_batches',\r\n cellTemplate: this.batchCellTmpl,\r\n minWidth: 200,\r\n flexGrow: 2,\r\n sortable: false\r\n },\r\n ];\r\n\r\n }\r\n\r\n showNewStockForm() {\r\n this.router.navigate(['neu'], {relativeTo: this.route});\r\n }\r\n\r\n setDepot(depot: Depot) {\r\n if (depot) {\r\n this.router.navigate(['client/lagerverwaltung/lager', depot.cuid, 'bestand']);\r\n }\r\n }\r\n\r\n unsetDepot() {\r\n this.router.navigate(['client/lagerverwaltung/bestand']);\r\n }\r\n\r\n sortByDepotYard(row1: DepotYard, row2: DepotYard) {\r\n if (!row1.label) {\r\n return -1;\r\n }\r\n if (!row2.label) {\r\n return 1;\r\n }\r\n return row1.label.localeCompare(row2.label);\r\n }\r\n\r\n onCellUpdate(row, res, index) {\r\n this.stockService.updateStock(res, row.cuid, false).toPromise()\r\n .then()\r\n .catch(err => this.sessionActions.throwError(err, \"Fehler beim Speichern!\"));\r\n }\r\n\r\n updateDepotYard(row, depotYard: DepotYard, rowIndex) {\r\n let data = {\r\n depot_yard_id: depotYard ? depotYard.cuid : null\r\n };\r\n this.stockService.updateStock(data, row.cuid, false).toPromise()\r\n .then()\r\n .catch(err => this.sessionActions.throwError(err, \"Fehler beim Speichern!\"));\r\n this.editing[rowIndex + '-depot_yard'] = false;\r\n }\r\n\r\n\r\n showStockDetail(stockCuid: string) {\r\n this.router.navigate([stockCuid], {relativeTo: this.route});\r\n }\r\n\r\n editStock(stock: Stock) {\r\n this.router.navigate([stock.cuid, 'edit'], {relativeTo: this.route});\r\n }\r\n\r\n deleteStock(stock: Stock) {\r\n this.stockService.deleteStock(stock.cuid).toPromise()\r\n .then()\r\n .catch(err => this.sessionActions.throwError(err, \"Fehler beim Löschen des Bestands!\"));\r\n }\r\n\r\n putStockIntoShoppingCart(stock: Stock) {\r\n this.currentStock = stock;\r\n this.cd.detectChanges();\r\n this.stockCartModal.show();\r\n }\r\n\r\n onStockToCartSave() {\r\n let input = this.stockCartFormComp.stockCartForm.value;\r\n\r\n this.procurementService.createShoppingCartItem(null, input.stock_cuid, input.product_packing_cuid, null).toPromise()\r\n .then(res => {\r\n this.currentStock = null;\r\n })\r\n .catch(err => {\r\n console.error(\"Error for saving\", [err]);\r\n this.currentStock = null;\r\n });\r\n }\r\n\r\n onStockCartCancel() {\r\n this.currentStock = null;\r\n }\r\n\r\n\r\n isUbdOver(ubd: Date) {\r\n if (new Date(ubd) < new Date()) {\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n filterItems(searchTerm, resetPage = false) {\r\n\r\n if (resetPage) {\r\n this.table.resetToFirstPage();\r\n }\r\n\r\n if (!searchTerm || searchTerm == \"\") {\r\n this.rows = this.stocks;\r\n } else {\r\n if (this.stocks) {\r\n let st = searchTerm.trim().toLowerCase();\r\n this.rows = this.stocks.filter((si: Stock) => {\r\n\r\n let inCols = this.findStringInTable(si, this.columns, st);\r\n if (inCols) {\r\n return true;\r\n }\r\n\r\n let inKeyWords = si.keywords && si.keywords.find(k => _.get(k, 'label', '') ? _.get(k, 'label', '').toLowerCase().includes(st) : false);\r\n if (inKeyWords) {\r\n return true;\r\n }\r\n\r\n let inStockItemKeyWords = si.stock_item && si.stock_item.keywords && si.stock_item.keywords.find(k => _.get(k, 'label', '') ? _.get(k, 'label', '').toLowerCase().includes(st) : false);\r\n if (inStockItemKeyWords) {\r\n return true;\r\n }\r\n\r\n return (_.get(si, 'stock_item.label', '') ? _.get(si, 'stock_item.label', '').toLowerCase().includes(st) : false) ||\r\n (_.get(si, 'stock_item.visbos_article_number', '') ? _.get(si, 'stock_item.visbos_article_number', '').toLowerCase().includes(st) : false) ||\r\n (_.get(si, 'stock_item.category.label', '') ? _.get(si, 'stock_item.category.label', '').toLowerCase().includes(st) : false) ||\r\n (_.get(si, 'stock_item.default_product.supplier.label', '') ? _.get(si, 'stock_item.default_product.supplier.label', '').toLowerCase().includes(st) : false);\r\n\r\n });\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * Defines the CSS styles for highlighting the stock\r\n * @param stock the stock to format\r\n * @returns {{bg-warning: boolean, bg-danger: boolean, bg-success: boolean}} a ngClass array with the styles\r\n */\r\n setClasses(stock: Stock) {\r\n if (!stock) {\r\n return {};\r\n }\r\n\r\n let cssClasses = {\r\n 'text-warning': stock.act_stock >= stock.min_stock && stock.act_stock < stock.report_stock,\r\n 'text-danger': stock.act_stock < stock.min_stock,\r\n 'text-success': stock.act_stock >= stock.report_stock,\r\n };\r\n return cssClasses;\r\n }\r\n\r\n onItemSelected(selected: Stock[]) {\r\n this.selectedStocks = selected.sort((stock1, stock2) => {\r\n const label1 = stock1.depot_yard ? stock1.depot_yard.label : \"\";\r\n const label2 = stock2.depot_yard ? stock2.depot_yard.label : \"\";\r\n return label1.localeCompare(label2)\r\n }).map((s) => s.cuid);\r\n }\r\n\r\n onCreateBarcodesPageClicked() {\r\n this.barcodeStickersModal.show();\r\n }\r\n\r\n onGenerateBarcodesClicked(formData) {\r\n\r\n let cuids = this.selectedStocks;\r\n let printedSheetId = formData.sheetCuid;\r\n let startRow = formData.startRow;\r\n let startColumn = formData.startColumn;\r\n\r\n this.generateBarcodesPdf(null, cuids, printedSheetId, startRow, startColumn);\r\n\r\n }\r\n\r\n private generateBarcodesPdf(barcodeCuids: string[] = null, identifiableCuids: string[] = null, printedSheetCuid: string, startRow: number, startColumn: number) {\r\n\r\n let res = this.bcService.generateBarcodeStickersPdf(barcodeCuids, identifiableCuids, printedSheetCuid, startRow, startColumn);\r\n\r\n this.sessionActions.pushMessage(\"Barcode-Etikettenbogen wird generiert, dies kann einen Moment dauern...\", MessageType.INFO, \"Druckbogen erzeugen\");\r\n\r\n res.subscribe(res => {\r\n let pdfString = res.data.generateBarcodeStickersPDF;\r\n let blob = this.fileService.base64toBlob(pdfString, 'application/pdf', 512);\r\n this.fileService.saveAs(blob, 'barcodes.pdf');\r\n },\r\n err => {\r\n this.sessionActions.throwError(err, \"Fehler bei der Generierung der Barcodes!\")\r\n })\r\n\r\n }\r\n\r\n public onMoveStocksClicked(stock: Stock) {\r\n this.currentStockForm = MoveStockComponent.initControl(this.fb);\r\n this.currentStock = stock;\r\n this.moveStocksModal.show();\r\n }\r\n\r\n public moveStocks() {\r\n const _data = [this.currentStockForm.get('data').value];\r\n const _auth_data = this.currentStockForm.get('auth_data').value;\r\n const _generate_vouchers = this.currentStockForm.get('generate_vouchers').value;\r\n\r\n this.stockService.moveStocks(_data, _auth_data, _generate_vouchers).toPromise()\r\n .then(res => {\r\n\r\n this.sessionActions.pushMessage(\"Bestand erfolgreich verschoben\", MessageType.SUCCESS);\r\n\r\n const pdfWithdrawal = res.data.moveStocks.voucher_withdrawal;\r\n const pdfWarehousing = res.data.moveStocks.voucher_warehousing;\r\n\r\n if (pdfWithdrawal) {\r\n let data = this.fileService.base64toBlob(pdfWithdrawal, 'application/pdf', 512);\r\n this.fileService.saveAs(data, 'warenausgangsbeleg.pdf');\r\n }\r\n\r\n if (pdfWarehousing) {\r\n let data = this.fileService.base64toBlob(pdfWarehousing, 'application/pdf', 512);\r\n this.fileService.saveAs(data, 'wareneingangsbeleg.pdf');\r\n }\r\n\r\n this.currentStockForm.reset();\r\n this.currentStock = null;\r\n })\r\n .catch(err => this.sessionActions.throwError(err));\r\n }\r\n\r\n startStocktakingClicked() {\r\n let depotCuid = this.route.snapshot.params.depotCuid;\r\n if (!depotCuid) {\r\n this.sessionActions.pushMessage(\"Kein Lager ausgewählt, RFID-Inventur wird nicht durchgeführt!\", MessageType.WARNING, \"RFID-Inventur\");\r\n return;\r\n }\r\n\r\n this.dataSubscriptions.push(this.stocktakingService.autoStocktakingForDepot({\r\n depotCuid: depotCuid\r\n }).subscribe(res => {\r\n this.sessionActions.pushMessage(\"Die automatische Lagerinventur wurde erfolgreich durchgeführt, der Lager-Bestand wird aktualisiert...!\", MessageType.SUCCESS, \"RFID-Inventur\");\r\n }, err => {\r\n this.sessionActions.throwError(err, \"Fehler bei der automatischen Lagerinventur\");\r\n }));\r\n }\r\n\r\n private exportStockList() {\r\n\r\n this.sessionActions.pushMessage(\"Bestandsliste wird generiert, dies kann einen Moment dauern...\", MessageType.INFO, \"Bestandsliste erzeugen\");\r\n\r\n this.stockService.generateStocklistExport(this.activeAdminUnitCuid).subscribe(response => {\r\n this.fileService.saveResponseToFileSystem(response);\r\n }, err => {\r\n this.sessionActions.throwError(err, \"Fehler beim Erzeugen der Datei!\");\r\n });\r\n\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/store-management/stock/stock-list/stock-list.component.ts","module.exports = \"\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/store-management/stock/stock-search/stock-search.component.css\n// module id = ./src/app/store-management/stock/stock-search/stock-search.component.css\n// module chunks = main","module.exports = \"
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/store-management/stock/stock-search/stock-search.component.html\n// module id = ./src/app/store-management/stock/stock-search/stock-search.component.html\n// module chunks = main","import {Component, EventEmitter, Input, OnInit, Output} from \"@angular/core\";\r\nimport {AbstractControl, FormBuilder, FormGroup} from \"@angular/forms\";\r\nimport {StockService} from \"../../services/stock.service\";\r\nimport {Stock} from \"../../../shared/view-model/stock\";\r\nimport {Depot} from \"../../../shared/view-model/store-management/depot.type\";\r\nimport {debounceTime, distinctUntilChanged, switchMap} from \"rxjs/operators\";\r\n\r\n@Component({\r\n selector: 'vb-stock-search',\r\n templateUrl: './stock-search.component.html',\r\n styleUrls: ['./stock-search.component.css']\r\n})\r\nexport class StockSearchComponent implements OnInit {\r\n\r\n @Input()\r\n depot?: Depot;\r\n\r\n searchForm: FormGroup;\r\n searchTerm: AbstractControl;\r\n\r\n @Output()\r\n foundStocks: EventEmitter = new EventEmitter();\r\n\r\n\r\n constructor(private fb: FormBuilder,\r\n private stockService: StockService) {\r\n\r\n this.searchForm = this.fb.group({\r\n 'searchTerm': [null]\r\n });\r\n this.searchTerm = this.searchForm.controls['searchTerm'];\r\n\r\n }\r\n\r\n ngOnInit() {\r\n\r\n this.searchTerm.valueChanges.pipe(\r\n debounceTime(400),\r\n distinctUntilChanged(),\r\n switchMap(term => {\r\n console.info('New term: ' + term);\r\n if (this.depot) {\r\n return this.stockService.searchStocks(term, this.depot.cuid);\r\n } else {\r\n return this.stockService.searchStocks(term);\r\n }\r\n })\r\n )\r\n .subscribe((res: any) => {\r\n console.info(\"Found stocks: \" + JSON.stringify(res.stocks));\r\n this.onStocksFound(res.stocks);\r\n });\r\n\r\n\r\n /*\r\n .subscribe((st: any) =>{\r\n console.info('Found stocks: ' + JSON.stringify(st));\r\n this.onStocksFound(st);\r\n });\r\n */\r\n }\r\n\r\n onStocksFound(stocks: Stock[]) {\r\n this.foundStocks.emit(stocks);\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/store-management/stock/stock-search/stock-search.component.ts","module.exports = \"\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/store-management/stock/stock.component.css\n// module id = ./src/app/store-management/stock/stock.component.css\n// module chunks = main","module.exports = \"

\\r\\n stock works!\\r\\n

\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/store-management/stock/stock.component.html\n// module id = ./src/app/store-management/stock/stock.component.html\n// module chunks = main","import {Component, OnInit} from \"@angular/core\";\r\n\r\n@Component({\r\n selector: 'vb-stock',\r\n templateUrl: './stock.component.html',\r\n styleUrls: ['./stock.component.css']\r\n})\r\nexport class StockComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/store-management/stock/stock.component.ts","module.exports = \"\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/store-management/stock/views/check-product-batches-view/check-product-batches-view.component.css\n// module id = ./src/app/store-management/stock/views/check-product-batches-view/check-product-batches-view.component.css\n// module chunks = main","module.exports = \"\\r\\n\\r\\n

Chargen- und Haltbarkeitskontrolle

\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n

Ablaufende Bestände

\\r\\n
\\r\\n
\\r\\n

Bestände, für die Chargen existieren oder existiert haben, die in den nächsten {{ubdDateFilter$ | async}}\\r\\n Tagen ablaufen werden.

\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n

Stocks: {{expiringStocks | json}}

\\r\\n
\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/store-management/stock/views/check-product-batches-view/check-product-batches-view.component.html\n// module id = ./src/app/store-management/stock/views/check-product-batches-view/check-product-batches-view.component.html\n// module chunks = main","import {ChangeDetectorRef, Component, OnInit, ViewChild} from '@angular/core';\r\nimport {AbstractVisbosComponent} from \"../../../../core/visbos-core/components/abstract-visbos.component\";\r\nimport {SessionActions} from \"../../../../shared/actions\";\r\nimport {ApolloQueryObservable} from \"apollo-angular\";\r\nimport {FetchExpiringStocksQuery} from \"../../../../shared/graphql/graphql.types\";\r\nimport {StockService} from \"../../../services/stock.service\";\r\nimport {BehaviorSubject} from \"rxjs/BehaviorSubject\";\r\nimport {Stock} from \"../../../../shared/view-model/stock\";\r\nimport {environment} from \"../../../../../environments/environment\";\r\nimport {debounceTime, distinctUntilChanged} from \"rxjs/operators\";\r\nimport {FormBuilder, FormControl} from \"@angular/forms\";\r\nimport {GenericModalComponent} from \"../../../../core/visbos-core/ui/forms/generic-modal/generic-modal.component\";\r\n\r\n@Component({\r\n selector: 'vb-check-product-batches-view',\r\n templateUrl: './check-product-batches-view.component.html',\r\n styleUrls: ['./check-product-batches-view.component.css']\r\n})\r\nexport class CheckProductBatchesViewComponent extends AbstractVisbosComponent implements OnInit {\r\n\r\n private expiringStocks$: ApolloQueryObservable;\r\n public expiringStocks: Stock[];\r\n\r\n searchTerm: FormControl;\r\n ubdDateFilter$: BehaviorSubject = new BehaviorSubject(environment.view.ubd_range_in_days);\r\n\r\n @ViewChild('searchBatchesModal')\r\n searchBatchesModal: GenericModalComponent;\r\n\r\n constructor(sessionActions: SessionActions, cd: ChangeDetectorRef, private fb: FormBuilder,\r\n private stockService: StockService) {\r\n\r\n super(sessionActions, cd);\r\n\r\n this.actions = [\r\n {\r\n label: 'Suche nach Chargen',\r\n icon: 'fa-search',\r\n action: () => this.searchForLOTClicked.apply(this),\r\n helpText: 'Suche nach Chargen am Standort'\r\n }\r\n ]\r\n\r\n }\r\n\r\n ngOnInit(): void {\r\n\r\n super.ngOnInit();\r\n\r\n this.searchTerm = this.fb.control(null);\r\n\r\n const days$ = this.ubdDateFilter$.pipe(\r\n debounceTime(1000),\r\n distinctUntilChanged()\r\n );\r\n\r\n this.expiringStocks$ = this.stockService.fetchExpiringStocks(null, null, null, null, days$);\r\n this.addComponentData(this.expiringStocks$);\r\n this.addSubscription(this.expiringStocks$.subscribe(res => {\r\n this.loadingIndicators.set('expiringStocks', res.loading);\r\n this.expiringStocks = res.data.expiringStocks;\r\n }));\r\n this.loadingIndicators.set('expiringStocks', true);\r\n }\r\n\r\n searchForLOTClicked() {\r\n this.searchBatchesModal.show();\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/store-management/stock/views/check-product-batches-view/check-product-batches-view.component.ts","module.exports = \"\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/store-management/stock/views/move-stocks-view/move-stocks-view.component.css\n// module id = ./src/app/store-management/stock/views/move-stocks-view/move-stocks-view.component.css\n// module chunks = main","module.exports = \"\\r\\n\\r\\n

Bestände verschieben

\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/store-management/stock/views/move-stocks-view/move-stocks-view.component.html\n// module id = ./src/app/store-management/stock/views/move-stocks-view/move-stocks-view.component.html\n// module chunks = main","import {ChangeDetectorRef, Component, OnInit, ViewChild} from '@angular/core';\r\nimport {AbstractVisbosComponent} from \"../../../../core/visbos-core/components/abstract-visbos.component\";\r\nimport {SessionActions} from \"../../../../shared/actions/session.actions\";\r\nimport {FormBuilder, FormControl} from \"@angular/forms\";\r\nimport {MessageType} from \"../../../../shared/redux-store/session/session.types\";\r\nimport {MoveStocksListComponent} from \"../../components/move-stocks-list/move-stocks-list.component\";\r\nimport {FileService} from \"../../../../core/visbos-core/http/file.service\";\r\nimport {StockService} from \"../../../services/stock.service\";\r\n\r\n@Component({\r\n selector: 'vb-move-stocks-view',\r\n templateUrl: './move-stocks-view.component.html',\r\n styleUrls: ['./move-stocks-view.component.css']\r\n})\r\nexport class MoveStocksViewComponent extends AbstractVisbosComponent implements OnInit {\r\n\r\n @ViewChild('moveStocksList')\r\n moveStocksList: MoveStocksListComponent;\r\n\r\n searchTerm: FormControl;\r\n\r\n constructor(sessionActions: SessionActions, cd: ChangeDetectorRef,\r\n private fb: FormBuilder,\r\n private stockService: StockService, private fileService: FileService) {\r\n\r\n super(sessionActions, cd);\r\n\r\n this.actions = [\r\n {\r\n label: 'Verschieben',\r\n icon: 'fa-clone',\r\n action: () => this.moveStocks.apply(this),\r\n disabled: () => !this.canMoveStocks.apply(this),\r\n helpText: 'Die ausgewählten Bestände vom Quell-Lager in das Ziel-Lager verschieben',\r\n disabledText: 'Bitte wählen Sie zuerst die Bestände aus, die verschoben werden sollen und füllen Sie alle Pflicht-Angaben aus!'\r\n }\r\n ]\r\n\r\n }\r\n\r\n ngOnInit(): void {\r\n super.ngOnInit();\r\n this.searchTerm = this.fb.control(null);\r\n }\r\n\r\n\r\n ngAfterViewInit(): void {\r\n super.ngAfterViewInit();\r\n this.cd.detectChanges();\r\n }\r\n\r\n public canMoveStocks(): boolean {\r\n return this.moveStocksList && this.moveStocksList.control.valid;\r\n }\r\n\r\n public moveStocks() {\r\n const form = this.moveStocksList.movedStocksList();\r\n const _data = form.data;\r\n const _auth_data = form.auth_data;\r\n const _generate_vouchers = form.generate_vouchers;\r\n const _rearrangement_data = {\r\n source_depot_cuid: form.source_depot_cuid,\r\n target_depot_cuid: form.target_depot_cuid,\r\n rearrangement_note: form.rearrangement_note\r\n };\r\n\r\n this.stockService.moveStocks(_data, _auth_data, _generate_vouchers, _rearrangement_data).toPromise()\r\n .then(res => {\r\n\r\n this.sessionActions.pushMessage(\"Bestände erfolgreich verschoben\", MessageType.SUCCESS);\r\n\r\n const pdfWithdrawal = res.data.moveStocks.voucher_withdrawal;\r\n const pdfWarehousing = res.data.moveStocks.voucher_warehousing;\r\n\r\n if (pdfWithdrawal) {\r\n let data = this.fileService.base64toBlob(pdfWithdrawal, 'application/pdf', 512);\r\n this.fileService.saveAs(data, 'warenausgangsbeleg.pdf');\r\n }\r\n\r\n if (pdfWarehousing) {\r\n let data = this.fileService.base64toBlob(pdfWarehousing, 'application/pdf', 512);\r\n this.fileService.saveAs(data, 'wareneingangsbeleg.pdf');\r\n }\r\n\r\n this.resetComponent();\r\n\r\n\r\n })\r\n .catch(err => this.sessionActions.throwError(err));\r\n }\r\n\r\n\r\n resetComponent(): void {\r\n super.resetComponent();\r\n this.searchTerm.reset();\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/store-management/stock/views/move-stocks-view/move-stocks-view.component.ts","module.exports = \"\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/store-management/stocktaking/components/depot-stocktaking-form/depot-stocktaking.component.css\n// module id = ./src/app/store-management/stocktaking/components/depot-stocktaking-form/depot-stocktaking.component.css\n// module chunks = main","module.exports = \"\\r\\n \\r\\n \\r\\n\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/store-management/stocktaking/components/depot-stocktaking-form/depot-stocktaking.component.html\n// module id = ./src/app/store-management/stocktaking/components/depot-stocktaking-form/depot-stocktaking.component.html\n// module chunks = main","import {ChangeDetectorRef, Component, forwardRef, Input, OnChanges, OnInit, SimpleChanges} from \"@angular/core\";\r\nimport {SessionActions} from \"../../../../shared/actions/session.actions\";\r\nimport {Depot} from \"../../../../shared/view-model/store-management/depot.type\";\r\nimport {DepotService, FetchDepotsResult} from \"../../../services/depot-service/depot.service\";\r\nimport {ApolloQueryObservable} from \"apollo-angular\";\r\nimport {FormBuilder, FormControl, FormGroup, Validators} from \"@angular/forms\";\r\nimport {AbstractVisbosControl} from \"../../../../core/visbos-core/ui/forms/abstract-visbos-control\";\r\nimport {IModel} from \"../../../../shared/view-model/imodel.interface\";\r\nimport {appInjector} from \"../../../../index\";\r\nimport {StockService} from \"../../../services/stock.service\";\r\nimport {Stocktaking} from \"../../../model/stocktaking\";\r\nimport {StocktakingFormComponent} from \"../stocktaking-form/stocktaking-form.component\";\r\nimport * as Util from \"util\";\r\n\r\n@Component({\r\n selector: 'vb-depot-stocktaking',\r\n templateUrl: './depot-stocktaking.component.html',\r\n styleUrls: ['./depot-stocktaking.component.css'],\r\n providers: [{provide: AbstractVisbosControl, useExisting: forwardRef(() => DepotStocktakingComponent)}]\r\n})\r\nexport class DepotStocktakingComponent extends AbstractVisbosControl implements OnInit, OnChanges {\r\n\r\n constructor(fb: FormBuilder, cd: ChangeDetectorRef, sessionActions: SessionActions) {\r\n super(fb, cd, sessionActions);\r\n }\r\n\r\n ngOnInit() {\r\n super.ngOnInit();\r\n }\r\n\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n super.ngOnChanges(changes);\r\n }\r\n\r\n public buildControlContent(values?: Stocktaking, ...params: any[]): FormGroup {\r\n return DepotStocktakingComponent.initControl(this.fb);\r\n }\r\n\r\n public static initControl(fb: FormBuilder = null): FormGroup {\r\n fb = fb ? fb : appInjector().get(FormBuilder);\r\n\r\n let controls = StocktakingFormComponent.initControl(fb);\r\n controls.addControl('depot_id', new FormControl(null, Validators.required));\r\n\r\n return controls;\r\n\r\n }\r\n\r\n public setDefaultValues(item?: Stocktaking): { [controlKey: string]: any } | any {\r\n return {\r\n depot_id: this.setValue(item, 'depot.cuid')\r\n }\r\n };\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/store-management/stocktaking/components/depot-stocktaking-form/depot-stocktaking.component.ts","module.exports = \"\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/store-management/stocktaking/components/stocktaking-entries/stocktaking-entries.component.css\n// module id = ./src/app/store-management/stocktaking/components/stocktaking-entries/stocktaking-entries.component.css\n// module chunks = main","module.exports = \"\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n\\r\\n \\r\\n\\r\\n\\r\\n\\r\\n\\r\\n
    \\r\\n
  • \\r\\n\\r\\n \\r\\n LOT: {{batch.batch_number}}, MHD: {{batch.use_before_date | date:'shortDate'}}\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n\\r\\n
  • \\r\\n
\\r\\n\\r\\n \\r\\n  Charge hinzufügen\\r\\n \\r\\n\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n

Form: {{control?.getRawValue() | json}}

\\r\\n

Rows: {{rows | json}}

\\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/store-management/stocktaking/components/stocktaking-entries/stocktaking-entries.component.html\n// module id = ./src/app/store-management/stocktaking/components/stocktaking-entries/stocktaking-entries.component.html\n// module chunks = main","import {\r\n ChangeDetectorRef,\r\n Component,\r\n EventEmitter,\r\n Input,\r\n OnChanges,\r\n OnInit,\r\n Output,\r\n SimpleChanges,\r\n TemplateRef,\r\n ViewChild\r\n} from \"@angular/core\";\r\nimport {AbstractListView} from \"../../../../core/visbos-core/ui/components/abstract-list-view\";\r\nimport {SessionActions} from \"../../../../shared/actions\";\r\nimport {DatatableComponent} from \"../../../../core/visbos-core/ui/components/datatable/datatable.component\";\r\nimport {FormArray, FormBuilder, FormGroup, Validators} from \"@angular/forms\";\r\nimport {StocktakingService} from \"../../../services/stocktaking/stocktaking.service\";\r\nimport {StocktakingEntry} from \"../../../model/stocktaking-entries\";\r\nimport {AbstractVisbosControl} from \"../../../../core/visbos-core/ui/forms/abstract-visbos-control\";\r\nimport {ProductBatchFormComponent} from \"../../../product/product-batch-form/product-batch-form.component\";\r\nimport {ProductBatch} from \"../../../model/product-batch.type\";\r\nimport {GenericModalComponent} from \"../../../../core/visbos-core/ui/forms/generic-modal/generic-modal.component\";\r\nimport {debounceTime, distinctUntilChanged} from \"rxjs/operators\";\r\nimport {AbstractVisbosComponent} from \"../../../../core/visbos-core/components/abstract-visbos.component\";\r\nimport {MessageType} from \"../../../../shared/redux-store/session\";\r\nimport {Observable} from \"rxjs/Observable\";\r\n\r\n\r\n@Component({\r\n selector: 'vb-stocktaking-entries',\r\n templateUrl: './stocktaking-entries.component.html',\r\n styleUrls: ['./stocktaking-entries.component.css']\r\n})\r\nexport class StocktakingEntriesComponent extends AbstractListView implements OnInit, OnChanges {\r\n\r\n\r\n @Input()\r\n autosave: boolean = true;\r\n\r\n @ViewChild('stockDetails')\r\n articleDetailsTmpl: TemplateRef;\r\n\r\n @ViewChild('editAmountTmpl')\r\n editAmountTmpl: TemplateRef;\r\n\r\n @ViewChild('batchTmpl')\r\n batchTmpl: TemplateRef;\r\n\r\n @ViewChild('stocktakingEntriesTable')\r\n stocktakingEntriesTable: DatatableComponent;\r\n\r\n @ViewChild('pbModal')\r\n pbModal: GenericModalComponent;\r\n\r\n editable: { [cuid: string]: boolean };\r\n\r\n savingStatusIndicators: Map = new Map();\r\n\r\n messages = {\r\n emptyMessage: 'Keine Posten in der Inventur vorhanden',\r\n totalMessage: 'Inventur-Posten insgesamt'\r\n };\r\n\r\n private _stocktakingEntries: StocktakingEntry[] = [];\r\n\r\n get stocktakingEntries(): StocktakingEntry[] {\r\n return this._stocktakingEntries || [];\r\n }\r\n\r\n @Input()\r\n set stocktakingEntries(value: StocktakingEntry[]) {\r\n this._stocktakingEntries = value;\r\n this.rows = value;\r\n }\r\n\r\n @Input()\r\n control: FormArray;\r\n\r\n pbForm: FormGroup = null;\r\n\r\n @Output()\r\n savingEntries: EventEmitter> = new EventEmitter();\r\n\r\n constructor(sessionActions: SessionActions, cd: ChangeDetectorRef,\r\n private fb: FormBuilder, private stocktakingService: StocktakingService) {\r\n\r\n super(sessionActions, cd);\r\n\r\n this.control = this.fb.array([]);\r\n\r\n }\r\n\r\n ngOnInit() {\r\n\r\n super.ngOnInit();\r\n\r\n this.searchTerm = this.fb.control(null);\r\n\r\n this.dataSubscriptions.push(\r\n this.searchTerm.valueChanges.pipe(\r\n distinctUntilChanged(),\r\n debounceTime(500)\r\n ).subscribe((term: any) => this.filterItems(term))\r\n );\r\n\r\n this.columns = [\r\n {prop: 'stock.depot_yard.label', name: 'Lagerplatz', minWidth: 100, maxWidth: 150, flexGrow: 2},\r\n {prop: 'label', name: 'Bezeichner', minWidth: 200, flexGrow: 3},\r\n {prop: 'shall_amount', name: 'Soll', minWidth: 60, maxWidth: 100, flexGrow: 1},\r\n {prop: 'is_amount', name: 'Ist', cellTemplate: this.editAmountTmpl, minWidth: 60, maxWidth: 100, flexGrow: 1},\r\n {prop: null, name: 'Chargen', cellTemplate: this.batchTmpl, minWidth: 150, maxWidth: 200, flexGrow: 2},\r\n ];\r\n\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n super.ngAfterViewInit();\r\n\r\n /*this.cd.detectChanges();\r\n\r\n // Hack for ordering\r\n let col = this.stocktakingEntriesTable.table._columns[0];\r\n this.stocktakingEntriesTable.table.onColumnResize({column: col, newValue: 50});\r\n\r\n this.cd.detectChanges();*/\r\n\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n if (changes.control || changes.stocktakingEntries) {\r\n\r\n if (changes.stocktakingEntries.firstChange) {\r\n this.resetEntryForms();\r\n }\r\n\r\n for (let entry of this.stocktakingEntries) {\r\n if (entry.pinned_down) {\r\n this.getFormGroupByCuid(entry.cuid).disable();\r\n } else {\r\n this.getFormGroupByCuid(entry.cuid).enable();\r\n }\r\n }\r\n\r\n }\r\n }\r\n\r\n private resetEntryForms() {\r\n this.control = this.fb.array([]);\r\n for (let entry of this.stocktakingEntries) {\r\n this.control.push(this.initStocktakingEntryFormGroup(entry));\r\n }\r\n }\r\n\r\n initStocktakingEntryFormGroup(stocktakingEntry: StocktakingEntry): FormGroup {\r\n\r\n let group = this.fb.group({\r\n cuid: [stocktakingEntry.cuid || AbstractVisbosControl.cuid()],\r\n shall_amount: [stocktakingEntry.shall_amount],\r\n is_amount: [stocktakingEntry.is_amount],\r\n product_batches: this.initProductBatchesFormArray(stocktakingEntry.pinned_down ? stocktakingEntry.product_batches : (stocktakingEntry.stock ? stocktakingEntry.stock.product_batches : []))\r\n });\r\n\r\n if (stocktakingEntry.pinned_down) {\r\n group.disable();\r\n } else {\r\n group.enable();\r\n }\r\n\r\n return group;\r\n }\r\n\r\n initProductBatchesFormArray(productBatches: ProductBatch[]): FormArray {\r\n let pbArray: FormArray = this.fb.array([]);\r\n for (let pb of productBatches) {\r\n pbArray.push(this.initProductBatchFormGroup(pb));\r\n }\r\n\r\n return pbArray;\r\n }\r\n\r\n initProductBatchFormGroup(productBatch?: ProductBatch): FormGroup {\r\n let f = this.fb.group({\r\n cuid: [AbstractVisbosControl.cuid(), Validators.required],\r\n batch_number: [null],\r\n use_before_date: [null],\r\n deleted: [false]\r\n });\r\n\r\n if (productBatch) {\r\n f.patchValue(productBatch);\r\n }\r\n\r\n return f;\r\n }\r\n\r\n getFormGroupByCuid(cuid: string): FormGroup {\r\n return AbstractVisbosComponent.getFormGroupById(this.control, cuid, 'cuid');\r\n }\r\n\r\n filterItems(searchTerm) {\r\n if (!searchTerm || searchTerm == \"\") {\r\n this.rows = this.stocktakingEntries;\r\n } else {\r\n if (this.stocktakingEntries) {\r\n this.rows = this.stocktakingEntries.filter((si: any) => this.findStringInTable(si, this.columns, searchTerm));\r\n }\r\n }\r\n }\r\n\r\n onCellUpdate(row, res, index) {\r\n console.info(\"Cell update\", [row, res, index]);\r\n }\r\n\r\n markProductBatchAsDeleted(stocktakingEntryCuid: string, productBatchCuid: string) {\r\n let st = this.getFormGroupByCuid(stocktakingEntryCuid);\r\n let pb = AbstractVisbosComponent.getFormGroupById(st.get('product_batches') as FormArray, productBatchCuid, 'cuid');\r\n let oldVal = pb.get('deleted').value;\r\n pb.patchValue({deleted: !oldVal});\r\n }\r\n\r\n addProductBatchClicked(stocktakingEntryCuid: string) {\r\n this.pbModal.state = {stocktakingEntryCuid};\r\n this.pbForm = ProductBatchFormComponent.initControl(this.fb);\r\n this.pbModal.show();\r\n }\r\n\r\n addProductBatch() {\r\n let productBatch = this.pbForm.value;\r\n this.pbForm = null;\r\n let stocktakingEntryCuid = this.pbModal.state.stocktakingEntryCuid;\r\n let pb = this.initProductBatchFormGroup(productBatch);\r\n let pbArray = this.getFormGroupByCuid(stocktakingEntryCuid).get('product_batches') as FormArray;\r\n pbArray.push(pb);\r\n }\r\n\r\n onItemRemove(item) {\r\n\r\n }\r\n\r\n getRowClass(row) {\r\n return {\r\n 'pinned-down': row.pinned_down\r\n };\r\n }\r\n\r\n pinDownStocktakingEntry(entryCuid: string, data) {\r\n this.savingStatusIndicators.set(entryCuid, 'saving');\r\n this.dataSubscriptions.push(this.stocktakingService.saveStocktakingEntry(entryCuid, data).subscribe(res => {\r\n this.savingStatusIndicators.set(entryCuid, 'success');\r\n }, err => {\r\n this.savingStatusIndicators.set(entryCuid, 'error');\r\n this.sessionActions.throwError(err, \"Fehler beim Festschreiben des Inventurpostens!\", \"Inventur\");\r\n }));\r\n\r\n }\r\n\r\n saveUnsavedEntries() {\r\n\r\n if (this.control.pristine) {\r\n return;\r\n }\r\n\r\n let data = [];\r\n for (let entry of this.rows) {\r\n\r\n let ctrl = this.getFormGroupByCuid(entry.cuid);\r\n if (!entry.pinned_down && ctrl && ctrl.dirty) {\r\n data.push(ctrl.value);\r\n }\r\n\r\n }\r\n\r\n if (!data.length) {\r\n return;\r\n }\r\n\r\n let op$ = this.stocktakingService.saveStocktakingEntries(data);\r\n this.savingEntries.emit(op$);\r\n op$.subscribe(res => {\r\n let no = res.data.saveStocktakingEntries.length;\r\n this.sessionActions.pushMessage(no + \" ungespeicherte Inventurposten wurden automatisch gesichert!\", MessageType.INFO, \"Inventur\");\r\n }, err => {\r\n this.sessionActions.throwError(err, \"Fehler beim automaitschen Speichern der Inventurposten!\", \"Inventur\");\r\n });\r\n\r\n }\r\n\r\n ngOnDestroy() {\r\n if (this.autosave) {\r\n this.saveUnsavedEntries();\r\n }\r\n super.ngOnDestroy();\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/store-management/stocktaking/components/stocktaking-entries/stocktaking-entries.component.ts","module.exports = \"\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/store-management/stocktaking/components/stocktaking-form/stocktaking-form.component.css\n// module id = ./src/app/store-management/stocktaking/components/stocktaking-form/stocktaking-form.component.css\n// module chunks = main","module.exports = \"\\r\\n\\r\\n \\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n
{{currentUser?.label}}
\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n \\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n \\r\\n \\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/store-management/stocktaking/components/stocktaking-form/stocktaking-form.component.html\n// module id = ./src/app/store-management/stocktaking/components/stocktaking-form/stocktaking-form.component.html\n// module chunks = main","import {ChangeDetectorRef, Component, forwardRef, Input, OnChanges, OnInit, SimpleChanges} from '@angular/core';\r\nimport {AbstractVisbosControl} from \"../../../../core/visbos-core/ui/forms/abstract-visbos-control\";\r\nimport {Stocktaking} from \"../../../model/stocktaking\";\r\nimport {FormBuilder, FormGroup, Validators} from \"@angular/forms\";\r\nimport {SessionActions} from \"../../../../shared/actions\";\r\nimport {DepotStocktakingComponent} from \"../depot-stocktaking-form/depot-stocktaking.component\";\r\nimport {appInjector} from \"../../../../\";\r\nimport {GERMAN_LAYOUT} from \"../../../../core/visbos-core/ui/directives/on-screen-keyboard.directive\";\r\nimport {KeyboardOptions} from \"virtual-keyboard\";\r\n\r\n@Component({\r\n selector: 'vb-stocktaking-form',\r\n templateUrl: './stocktaking-form.component.html',\r\n styleUrls: ['./stocktaking-form.component.css'],\r\n providers: [{provide: AbstractVisbosControl, useExisting: forwardRef(() => StocktakingFormComponent)}]\r\n})\r\nexport class StocktakingFormComponent extends AbstractVisbosControl implements OnInit {\r\n\r\n kbOptions: KeyboardOptions = {\r\n type: 'input',\r\n layout: 'custom',\r\n customLayout: GERMAN_LAYOUT\r\n };\r\n\r\n @Input()\r\n touchMode: boolean = false;\r\n\r\n constructor(fb: FormBuilder, cd: ChangeDetectorRef, sessionActions: SessionActions) {\r\n super(fb, cd, sessionActions);\r\n }\r\n\r\n ngOnInit() {\r\n super.ngOnInit();\r\n }\r\n\r\n public buildControlContent(values?: Stocktaking, ...params: any[]): FormGroup {\r\n return StocktakingFormComponent.initControl(this.fb);\r\n }\r\n\r\n public static initControl(fb: FormBuilder = null): FormGroup {\r\n fb = fb ? fb : appInjector().get(FormBuilder);\r\n\r\n return fb.group({\r\n cuid: [null],\r\n stocktaking_type_id: [null, Validators.required],\r\n administration_unit_id: [null, Validators.required],\r\n description: [null],\r\n notes: [null],\r\n involved_persons_names: [null]\r\n });\r\n\r\n }\r\n\r\n public setDefaultValues(item?: Stocktaking): { [controlKey: string]: any } | any {\r\n return {\r\n cuid: this.setValue(item, 'cuid', AbstractVisbosControl.cuid()),\r\n stocktaking_type_id: this.setValue(item, 'stocktaking_type.cuid'),\r\n administration_unit_id: this.setValue(item, 'administration_unit.cuid', this.activeAdminUnitCuid),\r\n description: this.setValue(item, 'description'),\r\n notes: this.setValue(item, 'notes'),\r\n involved_persons_names: this.setValue(item, 'persons'),\r\n }\r\n };\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/store-management/stocktaking/components/stocktaking-form/stocktaking-form.component.ts","module.exports = \"\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/store-management/stocktaking/components/stocktaking/stocktaking.component.css\n// module id = ./src/app/store-management/stocktaking/components/stocktaking/stocktaking.component.css\n// module chunks = main","module.exports = \"
\\r\\n\\r\\n
\\r\\n

Angaben zur Inventur

\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n {{entry.value}}
\\r\\n {{entry.label}}\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n

Inventurposten

\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/store-management/stocktaking/components/stocktaking/stocktaking.component.html\n// module id = ./src/app/store-management/stocktaking/components/stocktaking/stocktaking.component.html\n// module chunks = main","import {ChangeDetectorRef, Component, EventEmitter, Input, OnInit, Output} from '@angular/core';\r\nimport {AbstractVisbosComponent} from \"../../../../core/visbos-core/components/abstract-visbos.component\";\r\nimport {SessionActions} from \"../../../../shared/actions\";\r\nimport {Stocktaking} from \"../../../model/stocktaking\";\r\nimport {DatePipe} from \"@angular/common\";\r\nimport {Observable} from \"rxjs/Observable\";\r\n\r\n@Component({\r\n selector: 'vb-stocktaking',\r\n templateUrl: './stocktaking.component.html',\r\n styleUrls: ['./stocktaking.component.css']\r\n})\r\nexport class StocktakingComponent extends AbstractVisbosComponent implements OnInit {\r\n\r\n @Input()\r\n stocktaking: Stocktaking;\r\n\r\n @Output()\r\n savingEntries: EventEmitter> = new EventEmitter();\r\n\r\n\r\n\r\n data = (st: Stocktaking) => st ? [\r\n {\r\n label: 'Bezeichner',\r\n value: st.label\r\n },\r\n {\r\n label: 'Inventarisiertes Lager',\r\n value: st.depot ? st.depot.label : null\r\n },\r\n {\r\n label: 'Verantwortlicher',\r\n value: st.responsible_user.label\r\n },\r\n {\r\n label: 'Inventurhelfer',\r\n value: st.involved_persons_names\r\n },\r\n {\r\n label: 'Inventurbeginn',\r\n value: this.datePipe.transform(st.created_at, 'shortDate')\r\n },\r\n {\r\n label: 'Zuletzt gepspeichert',\r\n value: this.datePipe.transform(st.updated_at, 'shortDate')\r\n },\r\n {\r\n label: 'Inventurstichtag',\r\n value: this.datePipe.transform(st.reporting_date, 'shortDate')\r\n },\r\n {\r\n label: 'Notizen',\r\n value: st.notes,\r\n size: 'col-xs-12'\r\n }\r\n\r\n ].filter(e => e.value) : [];\r\n\r\n constructor(sessionActions: SessionActions, cd: ChangeDetectorRef,\r\n private datePipe: DatePipe) {\r\n super(sessionActions, cd);\r\n }\r\n\r\n ngOnInit() {\r\n super.ngOnInit();\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/store-management/stocktaking/components/stocktaking/stocktaking.component.ts","module.exports = \"\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/store-management/stocktaking/stocktakings-list/stocktakings-list.component.css\n// module id = ./src/app/store-management/stocktaking/stocktakings-list/stocktakings-list.component.css\n// module chunks = main","module.exports = \"\\r\\n\\r\\n\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n {{row.stocktaking_type.label}}\\r\\n
\\r\\n {{row.depot.label}}\\r\\n
\\r\\n
\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/store-management/stocktaking/stocktakings-list/stocktakings-list.component.html\n// module id = ./src/app/store-management/stocktaking/stocktakings-list/stocktakings-list.component.html\n// module chunks = main","import {\r\n ChangeDetectorRef,\r\n Component,\r\n Input,\r\n OnChanges,\r\n OnInit,\r\n SimpleChanges,\r\n TemplateRef,\r\n ViewChild\r\n} from \"@angular/core\";\r\nimport {AbstractListView} from \"../../../core/visbos-core/ui/components/abstract-list-view\";\r\nimport {SessionActions} from \"../../../shared/actions/session.actions\";\r\nimport {DatatableComponent} from \"../../../core/visbos-core/ui/components/datatable/datatable.component\";\r\nimport {Stocktaking} from \"../../model/stocktaking\";\r\nimport {FormControl} from \"@angular/forms\";\r\nimport {ActivatedRoute, Router} from \"@angular/router\";\r\nimport {StocktakingService} from \"../../services/stocktaking/stocktaking.service\";\r\nimport {MessageType} from \"../../../shared/redux-store/session/session.types\";\r\nimport {DatePipe} from \"@angular/common\";\r\nimport {debounceTime, distinctUntilChanged} from \"rxjs/operators\";\r\nimport {FileService} from \"../../../core/visbos-core/http/file.service\";\r\n\r\n@Component({\r\n selector: 'vb-stocktakings-list',\r\n templateUrl: './stocktakings-list.component.html',\r\n styleUrls: ['./stocktakings-list.component.css']\r\n})\r\nexport class StocktakingsListComponent extends AbstractListView implements OnInit, OnChanges {\r\n\r\n @ViewChild('stocktakingsTable')\r\n stocktakingsTable: DatatableComponent;\r\n\r\n @ViewChild('typeTmpl')\r\n typeTmpl: TemplateRef;\r\n\r\n @Input()\r\n stocktakingsList: Stocktaking[] = [];\r\n\r\n constructor(sessionActions: SessionActions, cd: ChangeDetectorRef,\r\n private stocktakingService: StocktakingService,\r\n private fileService: FileService,\r\n private datePipe: DatePipe,\r\n private router: Router, private route: ActivatedRoute) {\r\n super(sessionActions, cd);\r\n\r\n this.columns = [];\r\n\r\n }\r\n\r\n\r\n ngOnInit(): void {\r\n super.ngOnInit();\r\n\r\n this.columns = [\r\n {name: 'Inventurart', flexGrow: 2, cellTemplate: this.typeTmpl},\r\n {prop: 'created_at', name: 'Inventurbeginn', flexGrow: 1, cellTemplate: this.stocktakingsTable.formatDateTmpl},\r\n {\r\n prop: 'reporting_date',\r\n name: 'Inventurstichtag',\r\n flexGrow: 1,\r\n cellTemplate: this.stocktakingsTable.formatDateTmpl\r\n },\r\n {prop: 'description', name: 'Bezeichner', flexGrow: 3},\r\n {prop: 'responsible_user.label', name: 'Verantwortlich', flexGrow: 2},\r\n ];\r\n\r\n this.searchTerm = new FormControl();\r\n\r\n this.dataSubscriptions.push(\r\n this.searchTerm.valueChanges.pipe(\r\n distinctUntilChanged(),\r\n debounceTime(500)\r\n ).subscribe((term: any) => this.filterItems(term))\r\n );\r\n\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n if (changes.stocktakingsList) {\r\n this.rows = this.stocktakingsList || [];\r\n }\r\n }\r\n\r\n filterItems(searchTerm) {\r\n if (!searchTerm || searchTerm == \"\") {\r\n this.rows = this.stocktakingsList;\r\n } else {\r\n if (this.stocktakingsList) {\r\n this.rows = this.stocktakingsList.filter((si: any) => this.findStringInTable(si, this.columns, searchTerm));\r\n }\r\n }\r\n }\r\n\r\n onCellUpdate(row, res, index) {\r\n }\r\n\r\n rowFormat(row) {\r\n\r\n let cls = {};\r\n\r\n cls['pinned-down'] = row.is_sealed;\r\n cls['deactivated'] = row.is_sealed;\r\n\r\n return cls;\r\n }\r\n\r\n onEditStocktakingClicked(stocktaking: Stocktaking) {\r\n this.router.navigate(['./', stocktaking.cuid], {relativeTo: this.route});\r\n }\r\n\r\n onDeleteStocktakingClicked(stocktaking: Stocktaking) {\r\n this.stocktakingService.deleteStocktaking(stocktaking.cuid).toPromise()\r\n .then(res => this.sessionActions.pushMessage(\"Inventur erfolgreich gelöscht!\", MessageType.SUCCESS, \"Inventur\"))\r\n .catch(err => this.sessionActions.throwError(err, \"Fehler beim Löschen der Inventur!\"));\r\n }\r\n\r\n onGenerateStocktakingReportPDFClicked(stocktaking: Stocktaking) {\r\n this.sessionActions.pushMessage(\"Die PDF-Datei wird generiert, dies kann einen Moment dauern...\", MessageType.INFO, \"Inventur\");\r\n this.stocktakingService.generateStocktakingReportPDF(stocktaking.cuid).toPromise()\r\n .then(res => {\r\n let data = this.fileService.base64toBlob(res.data.stocktakingReportPdf, 'application/pdf', 512);\r\n this.fileService.saveAs(data, 'inventurbericht.pdf');\r\n })\r\n\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/store-management/stocktaking/stocktakings-list/stocktakings-list.component.ts","module.exports = \"\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/store-management/stocktaking/views/init-stocktaking-view/init-stocktaking-view.component.css\n// module id = ./src/app/store-management/stocktaking/views/init-stocktaking-view/init-stocktaking-view.component.css\n// module chunks = main","module.exports = \"\\r\\n\\r\\n

Neue Inventur anlegen

\\r\\n\\r\\n
\\r\\n\\r\\n

Angaben zur Inventur

\\r\\n\\r\\n
\\r\\n\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n Inventur initialisieren\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n

Form: {{control?.value | json}}

\\r\\n
\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/store-management/stocktaking/views/init-stocktaking-view/init-stocktaking-view.component.html\n// module id = ./src/app/store-management/stocktaking/views/init-stocktaking-view/init-stocktaking-view.component.html\n// module chunks = main","import {ChangeDetectorRef, Component, OnInit} from '@angular/core';\r\nimport {AbstractVisbosComponent} from \"../../../../core/visbos-core/components/abstract-visbos.component\";\r\nimport {SessionActions} from \"../../../../shared/actions\";\r\nimport {ApolloQueryObservable} from \"apollo-angular\";\r\nimport {StocktakingService} from \"../../../services/stocktaking/stocktaking.service\";\r\nimport {StocktakingType} from \"../../model/stocktaking-type.type\";\r\nimport {FormBuilder, FormGroup} from \"@angular/forms\";\r\nimport {DepotStocktakingComponent} from \"../../components/depot-stocktaking-form/depot-stocktaking.component\";\r\nimport {StocktakingFormComponent} from \"../../components/stocktaking-form/stocktaking-form.component\";\r\nimport {intersectFormGroups, mergeFormGroups} from \"../../../../core/visbos-core/ui/forms/abstract-visbos-control\";\r\nimport {ActivatedRoute, Router} from \"@angular/router\";\r\n\r\nexport const STOCKTAKING_TYPE_DEPOT = 'cj6p363l40001ugt9bipbcnkl';\r\nexport const STOCKTAKING_TYPE_MEDICINE = 'cj6p363l40003ugt9cuzfvayc';\r\n\r\n@Component({\r\n selector: 'vb-init-stocktaking-view',\r\n templateUrl: './init-stocktaking-view.component.html',\r\n styleUrls: ['./init-stocktaking-view.component.css']\r\n})\r\nexport class InitStocktakingViewComponent extends AbstractVisbosComponent implements OnInit {\r\n\r\n private stocktakingTypes$: ApolloQueryObservable;\r\n stockTakingTypes: StocktakingType[];\r\n\r\n selectedStocktakingType: StocktakingType;\r\n showDepotControl: boolean = false;\r\n\r\n formHorizontal = false;\r\n control: FormGroup;\r\n\r\n constructor(sessionActions: SessionActions, cd: ChangeDetectorRef,\r\n private fb: FormBuilder,\r\n private stocktakingService: StocktakingService,\r\n private router: Router, private route: ActivatedRoute) {\r\n super(sessionActions, cd);\r\n }\r\n\r\n ngOnInit() {\r\n super.ngOnInit();\r\n\r\n this.initGeneralStocktaking();\r\n\r\n this.stocktakingTypes$ = this.stocktakingService.getStocktakingTypes();\r\n this.addComponentData(this.stocktakingTypes$);\r\n this.addSubscription(this.stocktakingTypes$.subscribe(res => {\r\n this.stockTakingTypes = res.data.stocktakingTypes;\r\n }));\r\n\r\n }\r\n\r\n onStocktakingTypeSelected(type: StocktakingType) {\r\n\r\n if (type) {\r\n this.selectedStocktakingType = type;\r\n if (type.cuid == STOCKTAKING_TYPE_DEPOT) { // Lagerinventur ausgewählt\r\n this.initDepotStocktaking();\r\n this.showDepotControl = true;\r\n } else if (type.cuid == STOCKTAKING_TYPE_MEDICINE) {\r\n this.initMedicineStocktaking();\r\n this.showDepotControl = true;\r\n } else {\r\n this.initGeneralStocktaking();\r\n this.showDepotControl = false;\r\n }\r\n }\r\n\r\n }\r\n\r\n initDepotStocktaking() {\r\n mergeFormGroups(this.control, DepotStocktakingComponent.initControl(this.fb));\r\n }\r\n\r\n initMedicineStocktaking() {\r\n mergeFormGroups(this.control, DepotStocktakingComponent.initControl(this.fb));\r\n }\r\n\r\n initGeneralStocktaking() {\r\n if (!this.control) {\r\n this.control = StocktakingFormComponent.initControl(this.fb);\r\n } else {\r\n // Remove unused controls from group, keep only general ones\r\n intersectFormGroups(this.control, StocktakingFormComponent.initControl(this.fb));\r\n }\r\n }\r\n\r\n onInitStocktakingClicked() {\r\n if (this.selectedStocktakingType.cuid == STOCKTAKING_TYPE_DEPOT) {\r\n let depotCuid = this.control.get('depot_id').value;\r\n this.stocktakingService.initDepotStocktaking(depotCuid, this.control.value).subscribe(res => {\r\n this.router.navigate(['../', res.data.createDepotStocktaking.cuid], {relativeTo: this.route});\r\n },\r\n err => {\r\n this.sessionActions.throwError(err, \"Fehler beim Anlegen der Inventur, bitte wenden Sie sich an den Support!\", \"Inventur\");\r\n });\r\n }\r\n\r\n if (this.selectedStocktakingType.cuid == STOCKTAKING_TYPE_MEDICINE) {\r\n let depotCuid = this.control.get('depot_id').value;\r\n this.stocktakingService.initMedicineStocktaking(depotCuid, this.control.value).subscribe(res => {\r\n this.router.navigate(['../', res.data.createMedicineStocktaking.cuid], {relativeTo: this.route});\r\n },\r\n err => {\r\n this.sessionActions.throwError(err, \"Fehler beim Anlegen der Inventur, bitte wenden Sie sich an den Support!\", \"Inventur\");\r\n });\r\n }\r\n\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/store-management/stocktaking/views/init-stocktaking-view/init-stocktaking-view.component.ts","module.exports = \"\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/store-management/stocktaking/views/rfid-auto-stocktaking-view/rfid-auto-stocktaking-view.component.css\n// module id = ./src/app/store-management/stocktaking/views/rfid-auto-stocktaking-view/rfid-auto-stocktaking-view.component.css\n// module chunks = main","module.exports = \"\\r\\n\\r\\n

Automatische RFID-Inventur

\\r\\n\\r\\n
\\r\\n\\r\\n

RFID-Inventur

\\r\\n\\r\\n

Sie können das Lager automatisiert über einen RFID-Lesevorgang inventarisieren lassen.

\\r\\n\\r\\n

Stellen Sie sicher, dass alle Lager- und Schranktüren geschlossen sind, bevor Sie die automatische\\r\\n RFID-Inventur starten.

\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/store-management/stocktaking/views/rfid-auto-stocktaking-view/rfid-auto-stocktaking-view.component.html\n// module id = ./src/app/store-management/stocktaking/views/rfid-auto-stocktaking-view/rfid-auto-stocktaking-view.component.html\n// module chunks = main","import { ApplicationRef, ChangeDetectorRef, Component, ComponentFactoryResolver, ComponentRef, OnInit } from '@angular/core';\r\nimport { AbstractVisbosComponent } from '../../../../core/visbos-core/components/abstract-visbos.component';\r\nimport { SessionActions } from '../../../../shared/actions';\r\nimport { StocktakingService } from '../../../services/stocktaking/stocktaking.service';\r\nimport { Depot } from '../../../../shared/view-model/store-management/depot.type';\r\nimport { MessageType } from '../../../../shared/redux-store/session';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { DialogComponent } from 'app/core/visbos-core/ui/dialogs/dialog/dialog.component';\r\nimport { VisBosComponent } from 'app/visbos.component';\r\nimport { Stocktaking } from 'app/store-management/model/stocktaking';\r\n\r\n@Component({\r\n selector: 'vb-rfid-auto-stocktaking-view',\r\n templateUrl: './rfid-auto-stocktaking-view.component.html',\r\n styleUrls: ['./rfid-auto-stocktaking-view.component.css']\r\n})\r\nexport class RfidAutoStocktakingViewComponent extends AbstractVisbosComponent implements OnInit {\r\n\r\n //TODO: RFID-Permission?\r\n selectedDepot: Depot;\r\n stocktakingCuid: string;\r\n\r\n rootViewRef;\r\n private modal: DialogComponent;\r\n\r\n constructor(sessionActions: SessionActions, cd: ChangeDetectorRef,\r\n private stocktakingService: StocktakingService,\r\n private router: Router, private activatedRoute: ActivatedRoute,\r\n private appRef: ApplicationRef, private componentFactoryResolver: ComponentFactoryResolver) {\r\n super(sessionActions, cd);\r\n this.rootViewRef = (appRef.components[0].instance as VisBosComponent).rootViewRef;\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n depotSelected(depot: Depot) {\r\n this.selectedDepot = depot;\r\n }\r\n\r\n startStocktakingClicked() {\r\n this.stocktakingService.autoStocktakingForDepot({\r\n depotCuid: this.selectedDepot.cuid\r\n }).subscribe(res => {\r\n\r\n this.stocktakingCuid = res.data.checkDepotByRfid.cuid;\r\n if (this.stocktakingCuid) {\r\n this.createDialog(DialogComponent);\r\n }\r\n\r\n }, err => {\r\n this.sessionActions.throwError(err, \"Fehler bei der automatischen Lagerinventur\");\r\n });\r\n }\r\n\r\n createDialog(modalComponent: { new(): DialogComponent }): ComponentRef {\r\n this.rootViewRef.clear();\r\n\r\n let dialogComponentFactory =\r\n this.componentFactoryResolver.resolveComponentFactory(modalComponent);\r\n let dialogComponentRef = this.rootViewRef.createComponent(dialogComponentFactory);\r\n\r\n this.modal = dialogComponentRef.instance;\r\n\r\n this.modal.confirmQuestion = \"Soll die RFID-Inventur abgeschlossen und final versiegelt werden?\";\r\n this.modal.confirmTitle = \"RFID-Inventur versiegeln?\";\r\n this.modal.helpText = \"\";\r\n this.modal.danger = false;\r\n\r\n dialogComponentRef.changeDetectorRef.detectChanges();\r\n\r\n let confSub = this.modal.confirmClicked.subscribe(() => {\r\n\r\n this.stocktakingService.sealStocktaking(this.stocktakingCuid).subscribe(res => {\r\n this.sessionActions.pushMessage(\"Die automatische Lagerinventur wurde erfolgreich abgeschlossen und versiegelt!\", MessageType.SUCCESS, \"RFID-Inventur abgeschlossen\");\r\n this.router.navigate(['../'], { relativeTo: this.activatedRoute });\r\n }, err => {\r\n this.sessionActions.throwError(err, \"Fehler beim Abschließen der automatischen Lagerinventur\");\r\n });\r\n\r\n this.modal.hide();\r\n });\r\n\r\n let cancSub = this.modal.cancelClicked.subscribe(() => {\r\n this.modal.hide();\r\n });\r\n\r\n this.modal.onClose().subscribe(() => {\r\n confSub.unsubscribe();\r\n cancSub.unsubscribe();\r\n dialogComponentRef.destroy();\r\n });\r\n\r\n return dialogComponentRef;\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/store-management/stocktaking/views/rfid-auto-stocktaking-view/rfid-auto-stocktaking-view.component.ts","module.exports = \"\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/store-management/stocktaking/views/stocktaking-view/stocktaking-view.component.css\n// module id = ./src/app/store-management/stocktaking/views/stocktaking-view/stocktaking-view.component.css\n// module chunks = main","module.exports = \"\\r\\n\\r\\n

Inventur

\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/store-management/stocktaking/views/stocktaking-view/stocktaking-view.component.html\n// module id = ./src/app/store-management/stocktaking/views/stocktaking-view/stocktaking-view.component.html\n// module chunks = main","import {ChangeDetectorRef, Component, Input, OnInit} from \"@angular/core\";\r\nimport {SessionActions} from \"../../../../shared/actions/session.actions\";\r\nimport {ApolloQueryObservable} from \"apollo-angular\";\r\nimport {AbstractVisbosComponent} from \"../../../../core/visbos-core/components/abstract-visbos.component\";\r\nimport {StocktakingService} from \"../../../services/stocktaking/stocktaking.service\";\r\nimport {Stocktaking} from \"../../../model/stocktaking\";\r\nimport {ActivatedRoute, Router} from \"@angular/router\";\r\nimport {Observable} from \"rxjs/Observable\";\r\nimport {MessageType} from \"../../../../shared/redux-store/session\";\r\nimport * as _ from \"lodash\";\r\nimport {filter, map} from \"rxjs/operators\";\r\nimport {FileService} from \"../../../../core/visbos-core/http/file.service\";\r\n\r\n@Component({\r\n selector: 'vb-stocktaking-view',\r\n templateUrl: './stocktaking-view.component.html',\r\n styleUrls: ['./stocktaking-view.component.css']\r\n})\r\nexport class StocktakingViewComponent extends AbstractVisbosComponent implements OnInit {\r\n\r\n @Input()\r\n stocktakingCuid: Observable;\r\n\r\n genPDF$;\r\n\r\n private stocktaking$: ApolloQueryObservable;\r\n public stocktaking: Stocktaking;\r\n\r\n constructor(sessionActions: SessionActions, cd: ChangeDetectorRef,\r\n private stocktakingService: StocktakingService,\r\n private fileService: FileService,\r\n private router: Router,\r\n private route: ActivatedRoute) {\r\n super(sessionActions, cd);\r\n\r\n this.actions = [\r\n {\r\n label: 'Inventur abschließen',\r\n helpText: 'Schließt die Inventur ab und speichert alle Bestände. Änderungen sind anschließend nicht mehr möglich!',\r\n icon: 'fa-save',\r\n action: () => this.sealStocktaking.apply(this),\r\n disabled: () => (!this.stocktaking || this.stocktaking.is_sealed)\r\n },\r\n {\r\n label: 'Inventurliste ausdrucken',\r\n helpText: 'Generiert eine Inventurliste als PDF',\r\n icon: 'fa-print',\r\n action: () => this.onPrintChecklistClicked.apply(this),\r\n disabled: () => (!this.stocktaking)\r\n }\r\n ];\r\n\r\n }\r\n\r\n ngOnInit() {\r\n super.ngOnInit();\r\n\r\n if (!this.stocktakingCuid) {\r\n this.stocktakingCuid = this.route.params.pipe(\r\n filter(params => params && params.stocktakingCuid),\r\n map(params => params.stocktakingCuid)\r\n );\r\n }\r\n\r\n this.stocktaking$ = this.stocktakingService.getStocktaking(this.stocktakingCuid);\r\n this.addComponentData(this.stocktaking$);\r\n this.addSubscription(this.stocktaking$.subscribe(res => {\r\n this.stocktaking = _.assign({}, res.data.stocktaking);\r\n this.isLoading = res.loading;\r\n }));\r\n\r\n }\r\n\r\n sealStocktaking() {\r\n\r\n if (!this.stocktaking) {\r\n return;\r\n }\r\n\r\n let sub = this.stocktakingService.sealStocktaking(this.stocktaking.cuid).subscribe(res => {\r\n this.sessionActions.pushMessage(\"Inventur erfolgreich festgeschrieben\", MessageType.SUCCESS, \"Inventur\");\r\n this.router.navigate(['/client/lagerverwaltung']);\r\n }, err => {\r\n this.sessionActions.throwError(err, \"Fehler beim Festschreiben der Inventur!\", \"Inventur\");\r\n });\r\n\r\n this.dataSubscriptions.push(sub);\r\n\r\n }\r\n\r\n onPrintChecklistClicked() {\r\n if (!this.stocktaking) {\r\n return;\r\n }\r\n let now = new Date();\r\n this.genPDF$ = this.stocktakingService.generateStocktakingChecklistPDF(this.stocktaking.cuid);\r\n this.genPDF$.toPromise()\r\n .then(res => {\r\n let data = this.fileService.base64toBlob(res.data.stocktakingChecklistPdf, 'application/pdf', 512);\r\n this.fileService.saveAs(data, 'intenvurliste-' + now.toLocaleDateString());\r\n })\r\n .catch(err => this.sessionActions.throwError(err));\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/store-management/stocktaking/views/stocktaking-view/stocktaking-view.component.ts","module.exports = \"\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/store-management/stocktaking/views/stocktakings-list-view/stocktakings-list-view.component.css\n// module id = ./src/app/store-management/stocktaking/views/stocktakings-list-view/stocktakings-list-view.component.css\n// module chunks = main","module.exports = \"\\r\\n\\r\\n
Inventuren
\\r\\n\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/store-management/stocktaking/views/stocktakings-list-view/stocktakings-list-view.component.html\n// module id = ./src/app/store-management/stocktaking/views/stocktakings-list-view/stocktakings-list-view.component.html\n// module chunks = main","import {ChangeDetectorRef, Component, OnInit} from '@angular/core';\r\nimport {AbstractVisbosComponent} from \"../../../../core/visbos-core/components/abstract-visbos.component\";\r\nimport {SessionActions} from \"../../../../shared/actions/session.actions\";\r\nimport {Stocktaking} from \"../../../model/stocktaking\";\r\nimport {ApolloQueryObservable} from \"apollo-angular\";\r\nimport {FetchStocktakingsQuery} from \"../../../../shared/graphql/graphql.types\";\r\nimport {StocktakingService} from \"../../../services/stocktaking/stocktaking.service\";\r\nimport {ActivatedRoute, Router} from \"@angular/router\";\r\nimport {FileService} from \"../../../../core/visbos-core/http/file.service\";\r\n\r\n@Component({\r\n selector: 'vb-stocktakings-list-view',\r\n templateUrl: './stocktakings-list-view.component.html',\r\n styleUrls: ['./stocktakings-list-view.component.css']\r\n})\r\nexport class StocktakingsListViewComponent extends AbstractVisbosComponent implements OnInit {\r\n\r\n actions = [\r\n {\r\n icon: 'fa-plus',\r\n label: 'Neue Inventur',\r\n action: () => this.onAddStocktakingClicked.apply(this),\r\n helpText: 'Eine neue Inventur anlegen'\r\n }\r\n ];\r\n\r\n\r\n private stocktakings$: ApolloQueryObservable;\r\n public stocktakings: Stocktaking[];\r\n\r\n constructor(sessionActions: SessionActions, cd: ChangeDetectorRef,\r\n private router: Router, private route: ActivatedRoute,\r\n private stocktakingService: StocktakingService) {\r\n super(sessionActions, cd);\r\n }\r\n\r\n\r\n ngOnInit(): void {\r\n super.ngOnInit();\r\n\r\n this.stocktakings$ = this.stocktakingService.fetchStocktakings();\r\n this.addComponentData(this.stocktakings$);\r\n this.addSubscription(this.stocktakings$.subscribe(res => {\r\n this.stocktakings = res.data.stocktakings;\r\n }));\r\n\r\n }\r\n\r\n onAddStocktakingClicked() {\r\n this.router.navigate(['./neu'], {relativeTo: this.route});\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/store-management/stocktaking/views/stocktakings-list-view/stocktakings-list-view.component.ts","module.exports = \"\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/store-management/store-dashboard/store-dashboard.component.css\n// module id = ./src/app/store-management/store-dashboard/store-dashboard.component.css\n// module chunks = main","module.exports = \"

Lager-Dashboard

\\r\\n\\r\\n

Kritische Bestände

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

Kritische Bestände im Lager \\\"{{depot.label}}\\\"

\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n

Ablaufende Bestände

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

Ablaufende Bestände

\\r\\n
\\r\\n \\r\\n
\\r\\n Anzahl ablaufender Bestände: {{expiringStocks?.length}}\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n

Kritische Bestände in untergeordneten Verwaltungseinheiten

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

{{sau.label}}\\r\\n Kritische Bestände\\r\\n

\\r\\n
\\r\\n
    \\r\\n
  • \\r\\n \\r\\n {{stock?.act_stock}} ({{stock?.shall_stock}})\\r\\n \\r\\n \\r\\n {{stock.label}}\\r\\n
  • \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/store-management/store-dashboard/store-dashboard.component.html\n// module id = ./src/app/store-management/store-dashboard/store-dashboard.component.html\n// module chunks = main","import {ChangeDetectorRef, Component, OnInit} from \"@angular/core\";\r\nimport {ActivatedRoute, Router} from \"@angular/router\";\r\nimport {DepotService} from \"../services/depot-service/depot.service\";\r\nimport {Depot} from \"../../shared/view-model/store-management/depot.type\";\r\nimport {ApolloQueryObservable} from \"apollo-angular\";\r\nimport {\r\n AdministrationUnitService,\r\n FetchSubAdminUnitsResult\r\n} from \"../../organization/services/administration_unit_service/administration-unit.service\";\r\nimport {AdministrationUnit} from \"../../shared/view-model/organization/administration-unit.type\";\r\nimport {SessionActions} from \"../../shared/actions/session.actions\";\r\nimport {AbstractVisbosComponent} from \"../../core/visbos-core/components/abstract-visbos.component\";\r\nimport {AdminUnitActions} from \"../../shared/actions/admin-unit.actions\";\r\nimport {Stock} from \"../../shared/view-model/stock\";\r\nimport {StockService} from \"../services/stock.service\";\r\n\r\n@Component({\r\n selector: 'vb-store-dashboard',\r\n templateUrl: './store-dashboard.component.html',\r\n styleUrls: ['./store-dashboard.component.css']\r\n})\r\nexport class StoreDashboardComponent extends AbstractVisbosComponent implements OnInit {\r\n\r\n depots$: ApolloQueryObservable;\r\n\r\n private subAdminUnits$: ApolloQueryObservable;\r\n subAdminUnits: AdministrationUnit[];\r\n\r\n private expiringStocks$: ApolloQueryObservable;\r\n public expiringStocks: Stock[];\r\n\r\n\r\n constructor(sessionActions: SessionActions, cd: ChangeDetectorRef,\r\n private adminUnitActions: AdminUnitActions,\r\n private route: ActivatedRoute,\r\n private router: Router,\r\n private depotService: DepotService,\r\n private adminUnitService: AdministrationUnitService,\r\n private stockService: StockService) {\r\n super(sessionActions, cd);\r\n }\r\n\r\n ngOnInit() {\r\n\r\n super.ngOnInit();\r\n\r\n this.depots$ = this.depotService.getDepotsWithStocks(true, this.activeAdminUnitCuid$);\r\n this.addComponentData(this.depots$);\r\n\r\n this.subAdminUnits$ = this.adminUnitService.getSubAdminUnitsWithStocks(null, true);\r\n this.addComponentData(this.subAdminUnits$);\r\n this.dataSubscriptions.push(this.subAdminUnits$.subscribe(res => {\r\n this.subAdminUnits = res.data.subAdminUnits;\r\n }));\r\n\r\n this.expiringStocks$ = this.stockService.fetchExpiringStocks();\r\n this.addComponentData(this.expiringStocks$);\r\n this.addSubscription(this.expiringStocks$.subscribe(res => {\r\n this.expiringStocks = res.data.expiringStocks;\r\n }));\r\n\r\n }\r\n\r\n showStockDetail(stockId) {\r\n let link = ['bestand', stockId];\r\n this.router.navigate(link, {relativeTo: this.route});\r\n }\r\n\r\n gotoStockForDepot(depot: Depot) {\r\n let link = ['lager', depot.cuid, 'bestand'];\r\n this.router.navigate(link, {relativeTo: this.route});\r\n }\r\n\r\n gotoStockForSubAdminUnit(adminUnit: AdministrationUnit) {\r\n this.adminUnitActions.selectAdminUnit(adminUnit.cuid);\r\n let link = ['lager', 'bestand'];\r\n this.router.navigate(link, {relativeTo: this.route});\r\n }\r\n\r\n gotoWithdrawals() {\r\n let link = ['entnahmeprotokoll'];\r\n this.router.navigate(link, {relativeTo: this.route});\r\n }\r\n\r\n gotoDispatchForDepot(depotCuid) {\r\n let link = ['lager', depotCuid, 'bestand', 'bedarf'];\r\n this.router.navigate(link, {relativeTo: this.route});\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/store-management/store-dashboard/store-dashboard.component.ts","module.exports = \"\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/store-management/store-management.component.css\n// module id = ./src/app/store-management/store-management.component.css\n// module chunks = main","module.exports = \"\\r\\n
\\r\\n
\\r\\n

{{title}}

\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
    \\r\\n
  • Übersicht
  • \\r\\n\\r\\n
  • \\r\\n \\r\\n Standortverwaltung\\r\\n
      \\r\\n
    • Lager und Lagerplätze
    • \\r\\n \\r\\n
    \\r\\n
  • \\r\\n\\r\\n
  • \\r\\n \\r\\n Artikel\\r\\n
      \\r\\n
    • Artikelliste
    • \\r\\n
    • Neuen Artikel anlegen\\r\\n
    • \\r\\n
    \\r\\n
  • \\r\\n\\r\\n
  • \\r\\n \\r\\n Einzelteile\\r\\n
      \\r\\n
    • Einzelteile-Übersicht
    • \\r\\n
    • Einzelteilehierarchien bilden
    • \\r\\n
    • Standort zuordnen
    • \\r\\n
    \\r\\n
  • \\r\\n\\r\\n
  • \\r\\n \\r\\n Bestand\\r\\n
      \\r\\n
    • Bestandsliste
    • \\r\\n
    • Bestandsliste für Sonderartikel
    • \\r\\n \\r\\n
    • Neue Bestände anlegen\\r\\n
    • \\r\\n
    • Bestände verschieben\\r\\n
    • \\r\\n \\r\\n
    • Entnahmeprotokoll\\r\\n
    • \\r\\n
    • Chargen- / MHD-Kontrolle
    • \\r\\n
    \\r\\n
  • \\r\\n\\r\\n
  • \\r\\n \\r\\n Inventur\\r\\n
      \\r\\n
    • Inventurübersicht\\r\\n
    • \\r\\n
    • Neue Inventur anlegen\\r\\n
    • \\r\\n \\r\\n
    • Automatische RFID-Inventur durchführen\\r\\n
    • \\r\\n
    \\r\\n
  • \\r\\n\\r\\n
  • \\r\\n Beschaffung\\r\\n \\r\\n
  • \\r\\n\\r\\n
  • \\r\\n Zentrallager\\r\\n \\r\\n
  • \\r\\n\\r\\n
  • \\r\\n \\r\\n Stammdaten\\r\\n
      \\r\\n
    • Kostenstellen\\r\\n
    • \\r\\n
    • Buchungskonten\\r\\n
    • \\r\\n
    • Lieferanten\\r\\n
    • \\r\\n \\r\\n
    \\r\\n
  • \\r\\n\\r\\n
  • \\r\\n Statistik\\r\\n
      \\r\\n
    • Lagerverbrauch\\r\\n
    • \\r\\n
    • Warenbeschaffung\\r\\n
    • \\r\\n
    \\r\\n
  • \\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n \\r\\n\\r\\n
\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/store-management/store-management.component.html\n// module id = ./src/app/store-management/store-management.component.html\n// module chunks = main","import {AfterViewInit, ChangeDetectorRef, Component, OnDestroy} from \"@angular/core\";\r\nimport {Apollo} from \"apollo-angular\";\r\nimport {NgRedux} from \"@angular-redux/store\";\r\nimport {IAppState} from \"../shared/redux-store/store\";\r\nimport {fetchSuppliersQuery} from \"../crm/services/supplier/supplier.service\";\r\nimport {fetchPropertiesQuery} from \"./services/property-service/property.service\";\r\nimport {fetchPackingUnitsQuery} from \"./services/packing-unit/packing-unit.service\";\r\nimport {fetchStockItemCategoriesQuery} from \"./services/stock-item-category.service\";\r\nimport {fetchSubstanceGroupsQuery, fetchSubstancesQuery} from \"./services/medicine.service\";\r\nimport {fetchManufacturersQuery} from \"../crm/services/manufacturer.service\";\r\nimport {fetchUserQuery} from \"../organization/services/administration_unit_service/administration-unit.service\";\r\nimport {fetchCountriesQuery} from \"../core/visbos-core/services/address.service\";\r\nimport {Subscription} from \"apollo-client\";\r\nimport {StockItemService} from \"./services/stock-item-service/stock-item.service\";\r\nimport {AbstractVisbosComponent} from \"../core/visbos-core/components/abstract-visbos.component\";\r\nimport {SessionActions} from \"../shared/actions/session.actions\";\r\n\r\n@Component({\r\n selector: 'vb-store-management',\r\n templateUrl: './store-management.component.html',\r\n styleUrls: ['./store-management.component.css']\r\n})\r\nexport class StoreManagementComponent extends AbstractVisbosComponent implements AfterViewInit, OnDestroy {\r\n\r\n title = 'Lagerverwaltung';\r\n\r\n private queries: any[] = [fetchUserQuery, fetchSuppliersQuery, fetchManufacturersQuery, fetchPropertiesQuery, fetchPackingUnitsQuery, fetchStockItemCategoriesQuery, fetchSubstanceGroupsQuery, fetchCountriesQuery,\r\n fetchSubstancesQuery];\r\n\r\n private prefetchQueryFunctions: Function[] = [];\r\n\r\n private querySubs: Subscription[] = [];\r\n\r\n\r\n constructor(sessionActions: SessionActions, private ngRx: NgRedux, private apollo: Apollo, private stockItemService: StockItemService, cd: ChangeDetectorRef) {\r\n super(sessionActions, cd);\r\n }\r\n\r\n ngAfterViewInit() {\r\n super.ngAfterViewInit();\r\n /*this.queries.forEach(q => {\r\n let sub = this.apollo.query({\r\n query: q,\r\n variables: {\r\n AU: this.ngRx.getState().session.activeAdminUnit,\r\n cuid: null,\r\n searchString: null\r\n }\r\n }).subscribe();\r\n this.querySubs.push(sub);\r\n });\r\n\r\n this.querySubs.push(this.stockItemService.prefetchStockItems());*/\r\n\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.querySubs.forEach(sub => sub.unsubscribe());\r\n }\r\n\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/store-management/store-management.component.ts","import { NgModule } from \"@angular/core\";\r\nimport { CommonModule } from \"@angular/common\";\r\nimport { StoreManagementComponent } from \"./store-management.component\";\r\nimport { FormsModule, ReactiveFormsModule } from \"@angular/forms\";\r\nimport { StoreDashboardComponent } from \"./store-dashboard/store-dashboard.component\";\r\nimport { WithdrawalComponent } from \"./withdrawal/withdrawal.component\";\r\nimport { WithdrawalLogComponent } from \"./withdrawal-log/withdrawal-log.component\";\r\nimport { StockComponent } from \"./stock/stock.component\";\r\nimport { StockService } from \"./services/stock.service\";\r\nimport { DepotActions } from \"../shared/actions/depot.actions\";\r\nimport { StockDetailComponent } from \"./stock/stock-detail/stock-detail.component\";\r\nimport { StockDetailListComponent } from \"./stock/stock-detail/stock-detail-list/stock-detail-list.component\";\r\nimport { StockActions } from \"../shared/redux-store/store-management/stock/stock.actions\";\r\nimport { StockVariantsListComponent } from \"./stock/stock-detail/stock-variants-list/stock-variants-list.component\";\r\nimport { StockItemDetailsComponent } from \"./stock/stock-detail/stock-item-details/stock-item-details.component\";\r\nimport { StockListComponent } from \"./stock/stock-list/stock-list.component\";\r\nimport { StockLimitsComponent } from \"./stock/stock-limits/stock-limits.component\";\r\nimport { StockSearchComponent } from \"./stock/stock-search/stock-search.component\";\r\nimport { ActualStockComponent } from \"./stock/actual-stock/actual-stock.component\";\r\nimport { CRMModule } from \"../crm/crm.module\";\r\nimport { IdentityModule } from \"../identity/identity.module\";\r\nimport { PropertyService } from \"./services/property-service/property.service\";\r\nimport { PackingUnitService } from \"./services/packing-unit/packing-unit.service\";\r\nimport { NewStockViewComponent } from \"./stock/new-stock-view/new-stock-view.component\";\r\nimport { DepotSelectionComponent } from \"./depot/depot-selection/depot-selection.component\";\r\nimport { DepotService } from \"./services/depot-service/depot.service\";\r\nimport { OrganizationModule } from \"../organization/organization.module\";\r\nimport { StockItemService } from \"./services/stock-item-service/stock-item.service\";\r\nimport { StockItemListViewComponent } from \"./stock-item/stock-item-list-view/stock-item-list-view.component\";\r\nimport { VisbosCoreModule } from \"../core/visbos-core/visbos-core.module\";\r\nimport { StockItemFormComponent } from \"./stock-item/stock-item-form/stock-item-form.component\";\r\nimport { EditStockItemComponent } from \"./stock-item/edit-stock-item/edit-stock-item.component\";\r\nimport { PropertyTypeSelectionComponent } from \"./stock-item/stock-item-property/property-type-selection/property-type-selection.component\";\r\nimport { StockItemPropertyFormComponent } from \"./stock-item/stock-item-property/stock-item-property-form/stock-item-property-form.component\";\r\nimport { ProductFormComponent } from \"./product/product-form/product-form.component\";\r\nimport { EditProductComponent } from \"./product/edit-product/edit-product.component\";\r\nimport { AccordionModule, ButtonsModule, ModalModule, TooltipModule, TypeaheadModule } from \"ngx-bootstrap\";\r\nimport { PackingFormComponent } from \"./product/packing-form/packing-form.component\";\r\nimport { PackingUnitSelectionComponent } from \"./product/packing-unit-selection/packing-unit-selection.component\";\r\nimport { AddStockItemComponent } from \"./stock-item/add-stock-item/add-stock-item.component\";\r\nimport { NgReduxModule } from \"@angular-redux/store\";\r\nimport { StockItemCategoryService } from \"./services/stock-item-category.service\";\r\nimport { StockItemCategorySelectionComponent } from \"./stock-item-category/stock-item-category-selection/stock-item-category-selection.component\";\r\nimport { MedicineFormComponent } from \"./medicine/medicine-form/medicine-form.component\";\r\nimport { MedicineService } from \"./services/medicine.service\";\r\nimport { SubstanceGroupSelectionComponent } from \"./medicine/substance-group-selection/substance-group-selection.component\";\r\nimport { StockItemResolverService } from \"./services/stock-item-resolver.service\";\r\nimport { ProductService } from \"./services/product-services/product.service\";\r\nimport { ProductBatchFormComponent } from \"./product/product-batch-form/product-batch-form.component\";\r\nimport { SupplierResolverService } from \"./services/resolvers/supplier-resolver.service\";\r\nimport { DepotListViewComponent } from \"./depot/depot-list-view/depot-list-view.component\";\r\nimport { DepotYardFormComponent } from \"./depot/depot-yard-form/depot-yard-form.component\";\r\nimport { DepotFormComponent } from \"./depot/depot-form/depot-form.component\";\r\nimport { NgxDatatableModule } from \"@swimlane/ngx-datatable\";\r\nimport { MissionModule } from \"../mission/mission.module\";\r\nimport { WithdrawalService } from \"./services/withdrawal.service\";\r\nimport { RouterModule } from \"@angular/router\";\r\nimport { WithdrawalActions } from \"./redux/scans.actions\";\r\nimport { AutoCompleteModule } from \"primeng/components/autocomplete/autocomplete\";\r\nimport { StockNamePipe } from \"./stock-item/stock-name.pipe\";\r\nimport { StockShortNamePipe } from \"./stock-item/stock-short-name.pipe\";\r\nimport { AddStocksTableViewComponent } from \"./stock/add-stocks-table-view/add-stocks-table-view.component\";\r\nimport { StockFormTableComponent } from \"./stock/stock-form-table/stock-form-table.component\";\r\nimport { StockItemInputFieldComponent } from \"./stock-item/stock-item-input-field/stock-item-input-field.component\";\r\nimport { DepotYardInputComponent } from \"./depot/depot-yard-input/depot-yard-input.component\";\r\nimport { TooltipModule as PTooltipModule, TreeModule } from \"primeng/primeng\";\r\nimport { ValidateStockItemNotExistsDirective } from \"./stock/add-stocks-table-view/validate-stock-item-not-exists.directive\";\r\nimport { DepotYardSelectionComponent } from \"./depot/depot-yard-selection/depot-yard-selection.component\";\r\nimport { EditStockComponent } from \"./stock/edit-stock/edit-stock.component\";\r\nimport { StockResolverService } from \"./services/resolvers/stock-resolver.service\";\r\nimport { WithdrawalConsumerSelectionComponent } from \"./withdrawal/withdrawal-consumer-selection/withdrawal-consumer-selection.component\";\r\nimport { MedicineWithdrawalAuthFormComponent } from \"./withdrawal/medicine-withdrawal-auth-form/medicine-withdrawal-auth-form.component\";\r\nimport { ShoppingCartsComponent } from \"./procurement/shopping-carts/shopping-carts.component\";\r\nimport { ShoppingCartsViewComponent } from \"./procurement/shopping-carts-view/shopping-carts-view.component\";\r\nimport { ProcurementService } from \"./services/procurement-service/procurement.service\";\r\nimport { ShoppingCartItemsTableComponent } from \"./procurement/shopping-cart-items-table/shopping-cart-items-table.component\";\r\nimport { AddStockToCartComponent } from \"./procurement/add-stock-to-cart/add-stock-to-cart.component\";\r\nimport { ProductSelectionComponent } from \"./product/product-selection/product-selection.component\";\r\nimport { ProductPackingSelectionComponent } from \"./product/product-packing-selection/product-packing-selection.component\";\r\nimport { NewOrderComponent } from \"./procurement/new-order/new-order.component\";\r\nimport { InplaceModule } from \"primeng/components/inplace/inplace\";\r\nimport { OrderViewComponent } from \"./procurement/order-view/order-view.component\";\r\nimport { OrderListViewComponent } from \"./procurement/order-list-view/order-list-view.component\";\r\nimport { NewDeliveryComponent } from \"./procurement/new-delivery/new-delivery.component\";\r\nimport { DeliveryItemsListComponent } from \"./procurement/delivery-items-list/delivery-items-list.component\";\r\nimport { IncomingGoodsViewComponent } from \"./procurement/incoming-goods-view/incoming-goods-view.component\";\r\nimport { SelectStockForStorageComponent } from \"./procurement/select-stock-for-storage/select-stock-for-storage.component\";\r\nimport { SubAdminUnitNeedsComponent } from \"./procurement/sub-admin-unit-needs/sub-admin-unit-needs.component\";\r\nimport { NewDispatchComponent } from \"./procurement/new-dispatch/new-dispatch.component\";\r\nimport { DispatchItemsTableComponent } from \"./procurement/dispatch-items-table/dispatch-items-table.component\";\r\nimport { SubAdminUnitNeedsItemsComponent } from \"./procurement/sub-admin-unit-needs-items/sub-admin-unit-needs-items.component\";\r\nimport { WithdrawalDataFormComponent } from \"./withdrawal/withdrawal-data-form/withdrawal-data-form.component\";\r\nimport { MedicineAuthFormComponent } from \"./withdrawal/medicine-auth-form/medicine-auth-form.component\";\r\nimport { FleetModule } from \"../fleet/fleet.module\";\r\nimport { WarehousingDataFormComponent } from \"./warehousing/warehousing-data-form/warehousing-data-form.component\";\r\nimport { WarehousingService } from \"./services/warehousing-service/warehousing.service\";\r\nimport { MedicineBookEntriesTableComponent } from \"./medicine/medicine-book-entries-table/medicine-book-entries-table.component\";\r\nimport { MedicineBookViewComponent } from \"./medicine/medicine-book-view/medicine-book-view.component\";\r\nimport { DosageFormSelectionComponent } from \"./medicine/dosage-form-selection/dosage-form-selection.component\";\r\nimport { WithdrawalLogViewComponent } from \"./withdrawal/withdrawal-log-view/withdrawal-log-view.component\";\r\nimport { MedicineListComponent } from \"./medicine/medicine-list/medicine-list.component\";\r\nimport { MedicinesViewComponent } from \"./medicine/medicines-view/medicines-view.component\";\r\nimport { StocktakingViewComponent } from \"./stocktaking/views/stocktaking-view/stocktaking-view.component\";\r\nimport { StocktakingEntriesComponent } from \"./stocktaking/components/stocktaking-entries/stocktaking-entries.component\";\r\nimport { DepotStocktakingComponent } from \"./stocktaking/components/depot-stocktaking-form/depot-stocktaking.component\";\r\nimport { StocktakingsListComponent } from \"./stocktaking/stocktakings-list/stocktakings-list.component\";\r\nimport { StoremanagementAuthorizedGuard } from \"./guards/storemanagement-authorized.guard\";\r\nimport { StockRearrangementListComponent } from './stock-rearrangement/stock-rearrangement-list/stock-rearrangement-list.component';\r\nimport { StockRearrangementViewComponent } from './stock-rearrangement/stock-rearrangement-view/stock-rearrangement-view.component';\r\nimport { NgxChartsModule } from \"@swimlane/ngx-charts\";\r\nimport { ConsumptionStatisticsViewComponent } from \"./statistics/consumption-statistics-view/consumption-statistics-view.component\";\r\nimport { StoreStatisticsService } from \"./services/statistics-services/store-statistics.service\";\r\nimport { BrowserAnimationsModule } from \"@angular/platform-browser/animations\";\r\nimport { OrderStatisticsViewComponent } from './statistics/order-statistics-view/order-statistics-view.component';\r\nimport { InitStocktakingViewComponent } from './stocktaking/views/init-stocktaking-view/init-stocktaking-view.component';\r\nimport { StocktakingService } from \"./services/stocktaking/stocktaking.service\";\r\nimport { StocktakingFormComponent } from './stocktaking/components/stocktaking-form/stocktaking-form.component';\r\nimport { StocktakingComponent } from './stocktaking/components/stocktaking/stocktaking.component';\r\nimport { MedicineStocksViewComponent } from './medicine/medicine-stocks-view/medicine-stocks-view.component';\r\nimport { MoveStockComponent } from './stock/components/move-stock/move-stock.component';\r\nimport { StocktakingsListViewComponent } from './stocktaking/views/stocktakings-list-view/stocktakings-list-view.component';\r\nimport { MoveStocksListComponent } from './stock/components/move-stocks-list/move-stocks-list.component';\r\nimport { MoveStocksViewComponent } from './stock/views/move-stocks-view/move-stocks-view.component';\r\nimport { AddStocksToCartComponent } from './procurement/components/add-stocks-to-cart/add-stocks-to-cart.component';\r\nimport { ShoppingCartsOverviewViewComponent } from './procurement/views/shopping-carts-overview-view/shopping-carts-overview-view.component';\r\nimport { CheckProductBatchesViewComponent } from './stock/views/check-product-batches-view/check-product-batches-view.component';\r\nimport { ExpiringStocksTableComponent } from './stock/components/expiring-stocks-table/expiring-stocks-table.component';\r\nimport { ProductBatchesListingComponent } from './stock/components/product-batches-listing/product-batches-listing.component';\r\nimport { SearchProductBatchesComponent } from './stock/components/search-product-batches/search-product-batches.component';\r\nimport { FillUpDepotViewComponent } from './procurement/views/fill-up-depot-view/fill-up-depot-view.component';\r\nimport { ImportMedicinesFormComponent } from './medicine/import-medicines-form/import-medicines-form.component';\r\nimport { DepotNeedsComponent } from './procurement/depot-needs/depot-needs.component';\r\nimport { AccountingUnitsViewComponent } from './accounting-units-view/accounting-units-view.component';\r\nimport { RegisterAssetsComponent } from './asset-management/register-assets/register-assets.component';\r\nimport { AssetsListComponent } from './asset-management/components/assets-list/assets-list.component';\r\nimport { RegisterAssetsForArticleViewComponent } from './asset-management/views/register-assets-for-article-view/register-assets-for-article-view.component';\r\nimport { NewAssetsByEpcListComponent } from './asset-management/new-assets-by-epc-list/new-assets-by-epc-list.component';\r\nimport { RfidAutoStocktakingViewComponent } from './stocktaking/views/rfid-auto-stocktaking-view/rfid-auto-stocktaking-view.component';\r\nimport { AssetService } from './asset-management/services/asset.service';\r\nimport { AssetStatusComponent } from './asset-management/components/asset-status/asset-status.component';\r\nimport { QueryAssetStatusViewComponent } from './asset-management/views/query-asset-status-view/query-asset-status-view.component';\r\nimport { AssetListViewComponent } from './asset-management/views/asset-list-view/asset-list-view.component';\r\nimport { EditAssetComponent } from './asset-management/components/edit-asset/edit-asset.component';\r\nimport { GenerateInvoiceViewComponent } from './procurement/views/generate-invoice-view/generate-invoice-view.component';\r\nimport { InvoicesListViewComponent } from './procurement/views/invoices-list-view/invoices-list-view.component';\r\nimport { InvoiceViewComponent } from './procurement/views/invoice-view/invoice-view.component';\r\nimport { InvoiceService } from './services/invoice/invoice.service';\r\nimport { ArchwizardModule } from 'ng2-archwizard/dist';\r\nimport { AssetMarriageWizardComponent } from './asset-management/components/asset-marriage-wizard/asset-marriage-wizard.component';\r\nimport { ScanPackingPageComponent } from './asset-management/components/asset-marriage-wizard/scan-packing-page/scan-packing-page.component';\r\nimport { ScanItemsPageComponent } from './asset-management/components/asset-marriage-wizard/scan-items-page/scan-items-page.component';\r\nimport { MarriageSummaryPageComponent } from './asset-management/components/asset-marriage-wizard/marriage-summary-page/marriage-summary-page.component';\r\nimport { SealPackingPageComponent } from './asset-management/components/asset-marriage-wizard/seal-packing-page/seal-packing-page.component';\r\nimport { AssetMarriageViewComponent } from './asset-management/views/asset-marriage-view/asset-marriage-view.component';\r\nimport { StockItemStateService } from './stock-item/stock-item-list-view/stock-item-state.service';\r\nimport { StockListStateService } from './stock/stock-list/stock-list-state.service';\r\nimport { LocationMarriageWizzardViewComponent } from './asset-management/views/location-marriage-wizzard-view/location-marriage-wizzard-view.component';\r\nimport { LocationMarriageWizardComponent } from './asset-management/components/location-marriage-wizard/location-marriage-wizard.component';\r\nimport { LocationSelectionComponent } from './asset-management/components/location-selection/location-selection.component';\r\nimport { AssetRetrievalComponent } from './asset-management/components/asset-retrieval/asset-retrieval.component';\r\nimport { MarriageService } from \"./asset-management/services/marriage.service\";\r\nimport { DialogComponent } from \"app/core/visbos-core/ui/dialogs/dialog/dialog.component\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule, FormsModule, ReactiveFormsModule, RouterModule, BrowserAnimationsModule,\r\n CRMModule, IdentityModule, OrganizationModule, MissionModule, FleetModule,\r\n VisbosCoreModule,\r\n ModalModule.forRoot(),\r\n AccordionModule.forRoot(),\r\n NgReduxModule,\r\n TypeaheadModule.forRoot(),\r\n TooltipModule.forRoot(),\r\n ButtonsModule.forRoot(),\r\n NgxDatatableModule,\r\n AutoCompleteModule,\r\n ArchwizardModule,\r\n PTooltipModule,\r\n InplaceModule,\r\n NgxChartsModule,\r\n TreeModule\r\n ],\r\n providers: [StockService, DepotActions, StockActions, PropertyService, PackingUnitService, DepotService, StockItemService, StockItemCategoryService,\r\n MedicineService, StockItemResolverService, ProductService, SupplierResolverService, WithdrawalService, WithdrawalActions, StockResolverService,\r\n ProcurementService, WarehousingService, StoremanagementAuthorizedGuard, StoreStatisticsService, StocktakingService, AssetService, InvoiceService, StockItemStateService, StockListStateService, MarriageService],\r\n declarations: [\r\n StoreManagementComponent, StoreDashboardComponent, WithdrawalComponent, WithdrawalLogComponent, StockComponent, StockDetailComponent,\r\n StockDetailListComponent, StockVariantsListComponent, StockItemDetailsComponent, StockListComponent, StockLimitsComponent,\r\n StockSearchComponent, ActualStockComponent, NewStockViewComponent, DepotSelectionComponent, StockItemListViewComponent, StockItemFormComponent, EditStockItemComponent,\r\n StockItemPropertyFormComponent, PropertyTypeSelectionComponent, ProductFormComponent, EditProductComponent, PackingFormComponent, PackingUnitSelectionComponent,\r\n AddStockItemComponent, StockItemCategorySelectionComponent, MedicineFormComponent, SubstanceGroupSelectionComponent, ProductBatchFormComponent, DepotListViewComponent, DepotYardFormComponent, DepotFormComponent, StockNamePipe, StockShortNamePipe, AddStocksTableViewComponent, StockFormTableComponent, StockItemInputFieldComponent, DepotYardInputComponent, ValidateStockItemNotExistsDirective, DepotYardSelectionComponent, EditStockComponent, WithdrawalConsumerSelectionComponent, MedicineWithdrawalAuthFormComponent, ShoppingCartsComponent, ShoppingCartsViewComponent, ShoppingCartItemsTableComponent, AddStockToCartComponent, ProductSelectionComponent, ProductPackingSelectionComponent, NewOrderComponent, OrderViewComponent, OrderListViewComponent, NewDeliveryComponent, DeliveryItemsListComponent, IncomingGoodsViewComponent, SelectStockForStorageComponent, SubAdminUnitNeedsComponent, NewDispatchComponent, DispatchItemsTableComponent, SubAdminUnitNeedsItemsComponent, WithdrawalDataFormComponent, MedicineAuthFormComponent, WarehousingDataFormComponent, MedicineBookEntriesTableComponent, MedicineBookViewComponent, DosageFormSelectionComponent, WithdrawalLogViewComponent, MedicineListComponent, MedicinesViewComponent, StocktakingViewComponent, StocktakingEntriesComponent, DepotStocktakingComponent, StocktakingsListComponent, StockRearrangementListComponent, StockRearrangementViewComponent, ConsumptionStatisticsViewComponent, OrderStatisticsViewComponent, InitStocktakingViewComponent, StocktakingFormComponent, StocktakingComponent, MedicineStocksViewComponent, MoveStockComponent, StocktakingsListViewComponent, MoveStocksListComponent, MoveStocksViewComponent, AddStocksToCartComponent, ShoppingCartsOverviewViewComponent, CheckProductBatchesViewComponent, ExpiringStocksTableComponent, ProductBatchesListingComponent, SearchProductBatchesComponent, FillUpDepotViewComponent, ImportMedicinesFormComponent, DepotNeedsComponent, AccountingUnitsViewComponent, RegisterAssetsComponent, AssetsListComponent, RegisterAssetsForArticleViewComponent, NewAssetsByEpcListComponent, RfidAutoStocktakingViewComponent, AssetStatusComponent, QueryAssetStatusViewComponent, AssetListViewComponent, EditAssetComponent, GenerateInvoiceViewComponent, InvoicesListViewComponent, InvoiceViewComponent, AssetMarriageWizardComponent, ScanPackingPageComponent, ScanItemsPageComponent, MarriageSummaryPageComponent, SealPackingPageComponent, AssetMarriageViewComponent, LocationMarriageWizzardViewComponent, LocationMarriageWizardComponent, LocationSelectionComponent, AssetRetrievalComponent],\r\n exports: [RouterModule, MedicineWithdrawalAuthFormComponent, MedicineAuthFormComponent, WithdrawalLogViewComponent, MedicineListComponent, MedicineFormComponent, WarehousingDataFormComponent, StockItemFormComponent, SubAdminUnitNeedsComponent, DepotNeedsComponent, StocktakingFormComponent, DepotStocktakingComponent, StocktakingComponent, ImportMedicinesFormComponent, ActualStockComponent, AssetMarriageWizardComponent],\r\n entryComponents: [DialogComponent]\r\n})\r\nexport class StoreManagementModule {\r\n}\r\n\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/store-management/store-management.module.ts","/**\r\n * Created by afuhr on 07.07.2016.\r\n */\r\n/**\r\n * Created by afuhr on 07.07.2016.\r\n */\r\nimport {RouterModule, Routes} from \"@angular/router\";\r\nimport {StoreManagementComponent} from \"./store-management.component\";\r\nimport {StoreDashboardComponent} from \"./store-dashboard/store-dashboard.component\";\r\nimport {StockListComponent} from \"./stock/stock-list/stock-list.component\";\r\nimport {AuthorizedGuard} from \"../shared/auth/guards/authorized-guard\";\r\nimport {StockItemListViewComponent} from \"./stock-item/stock-item-list-view/stock-item-list-view.component\";\r\nimport {EditStockItemComponent} from \"./stock-item/edit-stock-item/edit-stock-item.component\";\r\nimport {AddStockItemComponent} from \"./stock-item/add-stock-item/add-stock-item.component\";\r\nimport {StockItemResolverService} from \"./services/stock-item-resolver.service\";\r\nimport {DepotListViewComponent} from \"./depot/depot-list-view/depot-list-view.component\";\r\nimport {WithdrawalComponent} from \"./withdrawal/withdrawal.component\";\r\nimport {SuppliersListComponent} from \"../crm/supplier/suppliers-list/suppliers-list.component\";\r\nimport {AddStocksTableViewComponent} from \"./stock/add-stocks-table-view/add-stocks-table-view.component\";\r\nimport {EditStockComponent} from \"./stock/edit-stock/edit-stock.component\";\r\nimport {StockResolverService} from \"./services/resolvers/stock-resolver.service\";\r\nimport {ShoppingCartsViewComponent} from \"./procurement/shopping-carts-view/shopping-carts-view.component\";\r\nimport {NewOrderComponent} from \"./procurement/new-order/new-order.component\";\r\nimport {OrderViewComponent} from \"./procurement/order-view/order-view.component\";\r\nimport {OrderListViewComponent} from \"./procurement/order-list-view/order-list-view.component\";\r\nimport {NewDeliveryComponent} from \"./procurement/new-delivery/new-delivery.component\";\r\nimport {IncomingGoodsViewComponent} from \"./procurement/incoming-goods-view/incoming-goods-view.component\";\r\nimport {MedicineBookViewComponent} from \"./medicine/medicine-book-view/medicine-book-view.component\";\r\nimport {WithdrawalLogViewComponent} from \"./withdrawal/withdrawal-log-view/withdrawal-log-view.component\";\r\nimport {ModuleWithProviders} from \"@angular/core\";\r\nimport {StoremanagementAuthorizedGuard} from \"./guards/storemanagement-authorized.guard\";\r\nimport {ConsumptionStatisticsViewComponent} from \"./statistics/consumption-statistics-view/consumption-statistics-view.component\";\r\nimport {OrderStatisticsViewComponent} from \"./statistics/order-statistics-view/order-statistics-view.component\";\r\nimport {InitStocktakingViewComponent} from \"./stocktaking/views/init-stocktaking-view/init-stocktaking-view.component\";\r\nimport {StocktakingViewComponent} from \"./stocktaking/views/stocktaking-view/stocktaking-view.component\";\r\nimport {MedicineStocksViewComponent} from \"./medicine/medicine-stocks-view/medicine-stocks-view.component\";\r\nimport {StocktakingsListViewComponent} from \"./stocktaking/views/stocktakings-list-view/stocktakings-list-view.component\";\r\nimport {MoveStocksViewComponent} from \"./stock/views/move-stocks-view/move-stocks-view.component\";\r\nimport {CheckProductBatchesViewComponent} from \"./stock/views/check-product-batches-view/check-product-batches-view.component\";\r\nimport {FillUpDepotViewComponent} from \"./procurement/views/fill-up-depot-view/fill-up-depot-view.component\";\r\nimport {AccountingUnitsViewComponent} from \"./accounting-units-view/accounting-units-view.component\";\r\nimport {RegisterAssetsForArticleViewComponent} from './asset-management/views/register-assets-for-article-view/register-assets-for-article-view.component';\r\nimport {RfidAutoStocktakingViewComponent} from './stocktaking/views/rfid-auto-stocktaking-view/rfid-auto-stocktaking-view.component';\r\nimport {AssetListViewComponent} from './asset-management/views/asset-list-view/asset-list-view.component';\r\nimport {GenerateInvoiceViewComponent} from './procurement/views/generate-invoice-view/generate-invoice-view.component';\r\nimport {InvoiceViewComponent} from './procurement/views/invoice-view/invoice-view.component';\r\nimport {InvoicesListViewComponent} from './procurement/views/invoices-list-view/invoices-list-view.component';\r\nimport {AssetMarriageViewComponent} from './asset-management/views/asset-marriage-view/asset-marriage-view.component';\r\nimport {AccountNumbersListViewComponent} from '../crm/views/account-numbers-list-view/account-numbers-list-view.component';\r\nimport {LocationMarriageWizzardViewComponent} from './asset-management/views/location-marriage-wizzard-view/location-marriage-wizzard-view.component';\r\n\r\nexport const storageRoutes: Routes = [\r\n\r\n {\r\n path: 'lagerverwaltung',\r\n component: StoreManagementComponent,\r\n canActivate: [AuthorizedGuard, StoremanagementAuthorizedGuard],\r\n children: [\r\n {\r\n path: '',\r\n canActivateChild: [AuthorizedGuard, StoremanagementAuthorizedGuard],\r\n children: [\r\n {\r\n path: 'dashboard',\r\n redirectTo: '',\r\n pathMatch: 'full'\r\n },\r\n\r\n {\r\n path: 'lager',\r\n children: [\r\n {\r\n path: '',\r\n component: DepotListViewComponent\r\n },\r\n {\r\n path: ':depotCuid/bestand',\r\n children: [\r\n {\r\n path: '',\r\n component: StockListComponent\r\n },\r\n {\r\n path: 'neu',\r\n component: AddStocksTableViewComponent\r\n },\r\n {\r\n path: 'bedarf',\r\n component: FillUpDepotViewComponent\r\n },\r\n {\r\n path: ':cuid/edit',\r\n component: EditStockComponent,\r\n resolve: {\r\n stock: StockResolverService\r\n }\r\n },\r\n ]\r\n },\r\n ]\r\n },\r\n\r\n {\r\n path: 'artikel',\r\n children: [\r\n {\r\n path: '',\r\n component: StockItemListViewComponent,\r\n },\r\n {\r\n path: 'neu',\r\n component: AddStockItemComponent\r\n },\r\n {\r\n path: ':cuid/edit',\r\n component: EditStockItemComponent,\r\n resolve: {\r\n stockItem: StockItemResolverService\r\n }\r\n },\r\n {\r\n path: ':cuid/gegenstaende/registrieren',\r\n component: RegisterAssetsForArticleViewComponent,\r\n resolve: {\r\n stockItem: StockItemResolverService\r\n }\r\n },\r\n ]\r\n },\r\n\r\n {\r\n path: 'teile',\r\n children: [\r\n {\r\n path: 'neue-hierarchie',\r\n component: AssetMarriageViewComponent,\r\n },\r\n {\r\n path: 'standort-zuordnen',\r\n component: LocationMarriageWizzardViewComponent,\r\n },\r\n {\r\n path: '',\r\n component: AssetListViewComponent,\r\n },\r\n ]\r\n },\r\n\r\n {\r\n path: 'bestand',\r\n children: [\r\n {\r\n path: '',\r\n component: StockListComponent\r\n },\r\n {\r\n path: 'neu',\r\n component: AddStocksTableViewComponent\r\n },\r\n // Storage-Mgmt\r\n {\r\n path: 'entnahme',\r\n component: WithdrawalComponent\r\n },\r\n {\r\n path: 'verschieben',\r\n component: MoveStocksViewComponent\r\n },\r\n {\r\n path: 'protokoll',\r\n component: WithdrawalLogViewComponent\r\n },\r\n {\r\n path: 'chargen',\r\n component: CheckProductBatchesViewComponent\r\n },\r\n {\r\n path: 'medikamente',\r\n children: [\r\n {\r\n path: '',\r\n component: MedicineStocksViewComponent\r\n },\r\n {\r\n path: 'verbrauch/:medicineStockCuid',\r\n component: MedicineBookViewComponent\r\n },\r\n ]\r\n },\r\n {\r\n path: ':cuid',\r\n component: EditStockComponent, //TODO: Add stock detail page\r\n resolve: {\r\n stock: StockResolverService\r\n }\r\n },\r\n {\r\n path: ':cuid/edit',\r\n component: EditStockComponent,\r\n resolve: {\r\n stock: StockResolverService\r\n }\r\n },\r\n ]\r\n },\r\n\r\n {\r\n path: 'inventur',\r\n children: [\r\n {\r\n path: '',\r\n component: StocktakingsListViewComponent\r\n },\r\n {\r\n path: 'neu',\r\n component: InitStocktakingViewComponent\r\n },\r\n {\r\n path: 'rfid',\r\n component: RfidAutoStocktakingViewComponent\r\n },\r\n {\r\n path: ':stocktakingCuid',\r\n component: StocktakingViewComponent\r\n }\r\n ]\r\n },\r\n\r\n {\r\n path: 'bestellungen',\r\n children: [\r\n {\r\n path: '',\r\n component: OrderListViewComponent\r\n },\r\n {\r\n path: 'offen',\r\n component: IncomingGoodsViewComponent,\r\n },\r\n {\r\n path: 'offen/:orderCuid/wareneingang',\r\n component: NewDeliveryComponent\r\n },\r\n {\r\n path: ':orderCuid',\r\n component: OrderViewComponent\r\n },\r\n ]\r\n },\r\n\r\n {\r\n path: 'warenkorb',\r\n children: [\r\n {\r\n path: '',\r\n component: ShoppingCartsViewComponent\r\n },\r\n {\r\n path: ':shoppingCartCuid/bestellung',\r\n component: NewOrderComponent\r\n },\r\n ]\r\n },\r\n\r\n {\r\n path: 'zentrallager',\r\n children: [\r\n {\r\n path: '',\r\n redirectTo: 'bedarf',\r\n pathMatch: 'full'\r\n },\r\n {\r\n path: 'bedarf',\r\n component: FillUpDepotViewComponent\r\n },\r\n {\r\n path: 'rechnungen',\r\n children: [\r\n {\r\n path: 'erzeugen',\r\n component: GenerateInvoiceViewComponent\r\n },\r\n {\r\n path: ':invoiceCuid',\r\n component: InvoiceViewComponent\r\n },\r\n {\r\n path: '',\r\n component: InvoicesListViewComponent\r\n },\r\n ]\r\n },\r\n ]\r\n },\r\n\r\n {\r\n path: 'lieferanten',\r\n children: [\r\n {\r\n path: '',\r\n component: SuppliersListComponent,\r\n pathMatch: 'full'\r\n },\r\n {\r\n path: 'neu',\r\n redirectTo: ''\r\n }\r\n ]\r\n },\r\n\r\n {\r\n path: 'kostenstellen',\r\n children: [\r\n {\r\n path: '',\r\n component: AccountingUnitsViewComponent,\r\n pathMatch: 'full'\r\n },\r\n {\r\n path: 'buchungskonten',\r\n component: AccountNumbersListViewComponent\r\n },\r\n {\r\n path: 'neu',\r\n redirectTo: ''\r\n }\r\n ]\r\n },\r\n\r\n {\r\n path: 'statistik',\r\n children: [\r\n {\r\n path: 'verbrauch',\r\n component: ConsumptionStatisticsViewComponent\r\n },\r\n {\r\n path: 'beschaffung',\r\n component: OrderStatisticsViewComponent\r\n },\r\n {\r\n path: '',\r\n redirectTo: 'verbrauch',\r\n pathMatch: 'full'\r\n }\r\n ]\r\n },\r\n\r\n {\r\n path: '',\r\n component: StoreDashboardComponent\r\n }\r\n ]\r\n }\r\n ]\r\n },\r\n];\r\n\r\nexport const storageRouting: ModuleWithProviders = RouterModule.forChild(storageRoutes);\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/store-management/store-management.routes.ts","export const SUPPLIER_TYPES = [\r\n {name: 'Lieferant', label: 'Lieferant', default: false},\r\n {name: 'Standort', label: 'Standort', default: true},\r\n {name: 'Fahrzeug', label: 'Fahrzeug', default: false},\r\n {name: 'Klient', label: 'Klient', default: false},\r\n];\n\n\n// WEBPACK FOOTER //\n// ./src/app/store-management/supplier-types.enum.ts","export const WAREHOUSING_REASONS = [\r\n {name: 'Lieferung', label: 'Lieferung', default: false},\r\n {name: 'Überbestand', label: 'Überbestand', default: false},\r\n {name: 'Bestandskorrektur', label: 'Bestandskorrektur', default: false},\r\n {name: 'Sonstiges', label: 'Sonstiges', default: true},\r\n];\n\n\n// WEBPACK FOOTER //\n// ./src/app/store-management/warehousing-reasons.enum.ts","module.exports = \"\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/store-management/warehousing/warehousing-data-form/warehousing-data-form.component.css\n// module id = ./src/app/store-management/warehousing/warehousing-data-form/warehousing-data-form.component.css\n// module chunks = main","module.exports = \"\\r\\n \\r\\n\\r\\n\\r\\n\\r\\n\\r\\n \\r\\n\\r\\n\\r\\n\\r\\n\\r\\n \\r\\n\\r\\n\\r\\n\\r\\n \\r\\n \\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/store-management/warehousing/warehousing-data-form/warehousing-data-form.component.html\n// module id = ./src/app/store-management/warehousing/warehousing-data-form/warehousing-data-form.component.html\n// module chunks = main","import {\r\n AfterViewInit,\r\n ChangeDetectorRef,\r\n Component,\r\n EventEmitter,\r\n forwardRef,\r\n Input,\r\n OnChanges,\r\n OnInit,\r\n Output,\r\n SimpleChanges\r\n} from \"@angular/core\";\r\nimport {AbstractVisbosControl} from \"../../../core/visbos-core/ui/forms/abstract-visbos-control\";\r\nimport {FormArray, FormBuilder, FormGroup, Validators} from \"@angular/forms\";\r\nimport {Warehousing} from \"../../model/warehousing\";\r\nimport {WarehousingReasonInterface} from \"../../model/warehousing-reason-interface.type\";\r\nimport {WarehousingSupplierInterface} from \"../../model/warehousing-supplier-interface.type\";\r\nimport {Stock} from \"../../../shared/view-model/stock\";\r\nimport {ApolloQueryObservable} from \"apollo-angular\";\r\nimport {SessionActions} from \"../../../shared/actions/session.actions\";\r\nimport {AdministrationUnitService} from \"../../../organization/services/administration_unit_service/administration-unit.service\";\r\nimport {FleetService} from \"../../../fleet/services/fleet.service\";\r\nimport {MedicineAuthFormComponent} from \"../../withdrawal/medicine-auth-form/medicine-auth-form.component\";\r\nimport {MissionFormComponent} from \"../../../mission/mission-form/mission-form.component\";\r\nimport {appInjector} from \"../../../index\";\r\nimport {SupplierService} from \"../../../crm/services/supplier/supplier.service\";\r\nimport {GERMAN_LAYOUT} from \"../../../core/visbos-core/ui/directives/on-screen-keyboard.directive\";\r\nimport {KeyboardOptions} from \"virtual-keyboard\";\r\nimport {WAREHOUSING_REASONS} from \"../../warehousing-reasons.enum\";\r\nimport {SUPPLIER_TYPES} from \"../../supplier-types.enum\";\r\nimport {ClientService} from \"../../../crm/services/client.service\";\r\n\r\n@Component({\r\n selector: 'vb-warehousing-data-form',\r\n templateUrl: './warehousing-data-form.component.html',\r\n styleUrls: ['./warehousing-data-form.component.css'],\r\n providers: [{provide: AbstractVisbosControl, useExisting: forwardRef(() => WarehousingDataFormComponent)}]\r\n})\r\nexport class WarehousingDataFormComponent extends AbstractVisbosControl implements OnInit, AfterViewInit, OnChanges {\r\n\r\n warehousingReasons = WAREHOUSING_REASONS;\r\n supplierTypes = SUPPLIER_TYPES;\r\n\r\n kbOptions: KeyboardOptions = {\r\n type: 'input',\r\n layout: 'custom',\r\n customLayout: GERMAN_LAYOUT\r\n };\r\n\r\n @Input()\r\n touchMode: boolean = false;\r\n\r\n @Input()\r\n warehousingReason: WarehousingReasonInterface;\r\n\r\n @Input()\r\n supplier: WarehousingSupplierInterface;\r\n\r\n @Input()\r\n increasedStocks = [];\r\n\r\n @Output()\r\n supplierChanged: EventEmitter = new EventEmitter();\r\n\r\n private _controlVisibility: { reason?: boolean, supplier?: boolean, increasedStocks?: boolean, medicineAuth?: boolean } = {\r\n reason: true,\r\n supplier: true,\r\n increasedStocks: true,\r\n medicineAuth: false\r\n };\r\n\r\n get controlVisibility(): { reason?: boolean; supplier?: boolean; increasedStocks?: boolean; medicineAuth?: boolean } {\r\n return this._controlVisibility;\r\n }\r\n\r\n @Input()\r\n set controlVisibility(value: { reason?: boolean; supplier?: boolean; increasedStocks?: boolean; medicineAuth?: boolean }) {\r\n this._controlVisibility = Object.assign(this.controlVisibility, value);\r\n }\r\n\r\n private supplierItemsQuery: ApolloQueryObservable;\r\n supplierItems: any[];\r\n\r\n constructor(fb: FormBuilder, cd: ChangeDetectorRef, sessionActions: SessionActions,\r\n private adminUnitService: AdministrationUnitService,\r\n private fleetService: FleetService,\r\n private supplierService: SupplierService, private clientService: ClientService) {\r\n super(fb, cd, sessionActions);\r\n }\r\n\r\n ngOnInit() {\r\n super.ngOnInit();\r\n\r\n if (this.controlVisibility.medicineAuth && this.control) {\r\n this.createMedicineAuthComponent();\r\n }\r\n }\r\n\r\n ngAfterViewInit() {\r\n super.ngAfterViewInit();\r\n this.loadSupplierData();\r\n this.setMissionForm();\r\n if (this.control.pristine) {\r\n this.onSupplierTypeChanged();\r\n this.onReasonTypeChanged();\r\n }\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n\r\n super.ngOnChanges(changes);\r\n\r\n if (changes.controlVisibility && this.control) {\r\n let vis = changes.controlVisibility.currentValue;\r\n if (vis.medicineAuth) {\r\n this.createMedicineAuthComponent();\r\n } else {\r\n this.removeMedicineAuthComponent();\r\n }\r\n }\r\n\r\n if (changes.warehousingReason && this.control) {\r\n let reason = changes.warehousingReason.currentValue;\r\n let ctrl = this.control.get('warehousing') as FormGroup;\r\n }\r\n\r\n if ((changes.increasedStocks || changes.control) && this.control) {\r\n this.patchIncreasedStocks();\r\n }\r\n\r\n }\r\n\r\n private patchIncreasedStocks() {\r\n let incStocks = this.increasedStocks;\r\n let ctrl = this.control.get('warehousing.increased_stocks') as FormArray;\r\n ctrl.controls = [];\r\n\r\n incStocks.forEach(incSt => {\r\n ctrl.push(this.fb.group({\r\n cuid: AbstractVisbosControl.cuid(),\r\n stock_id: incSt.stock.cuid,\r\n amount: incSt.amount\r\n }));\r\n\r\n // how medicine form data\r\n if (!this.controlVisibility.medicineAuth && incSt.stock.registration_required) {\r\n this.controlVisibility = {medicineAuth: true};\r\n }\r\n });\r\n }\r\n\r\n buildControlContent(): FormGroup {\r\n return WarehousingDataFormComponent.initControl(this.fb);\r\n }\r\n\r\n public static initControl(fb: FormBuilder = null): FormGroup {\r\n fb = fb ? fb : appInjector().get(FormBuilder);\r\n\r\n let ctrl = fb.group({\r\n warehousing: fb.group({\r\n cuid: [null],\r\n administration_unit_id: [null, Validators.required],\r\n warehousing_timestamp: [null, Validators.required],\r\n warehousing_reason_type: [null, Validators.required],\r\n warehousing_note: [null],\r\n warehousing_reason_id: [null],\r\n supplier_type: [null],\r\n increased_stocks: fb.array([]),\r\n })\r\n });\r\n\r\n return ctrl;\r\n }\r\n\r\n public setDefaultValues(item?: Warehousing): { [controlKey: string]: any } | any {\r\n return {\r\n warehousing: {\r\n cuid: this.setValue(item, 'cuid', AbstractVisbosControl.cuid()),\r\n administration_unit_id: this.setValue(item, 'administration_unit_id', this.activeAdminUnitCuid),\r\n warehousing_timestamp: this.setValue(item, 'warehousing_timestamp', new Date()),\r\n warehousing_note: this.setValue(item, 'warehousing_note'),\r\n warehousing_reason_type: this.setValue(item, 'warehousing_reason_type', 'Sonstiges'),\r\n warehousing_reason_id: this.setValue(item, 'warehousing_reason.cuid'),\r\n supplier_type: this.setValue(item, 'supplier_type', 'Standort'),\r\n }\r\n };\r\n }\r\n\r\n onReasonTypeChanged() {\r\n this.control.get('warehousing.warehousing_reason_id').reset();\r\n this.setMissionForm();\r\n }\r\n\r\n private setMissionForm() {\r\n if (this.control.get('warehousing.warehousing_reason_type').value == 'Einsatz') {\r\n this.createMissionFormComponent();\r\n } else {\r\n this.removeMissionFormComponent();\r\n }\r\n }\r\n\r\n onSupplierTypeChanged() {\r\n let ctrl = this.control.get('warehousing') as FormGroup;\r\n let cType = ctrl.get('supplier_type').value;\r\n\r\n if (cType == null || cType == '') {\r\n ctrl.removeControl('supplier_id');\r\n } else {\r\n ctrl.addControl('supplier_id', this.fb.control(null, Validators.required));\r\n this.control.get('warehousing.supplier_id').reset();\r\n this.loadSupplierData();\r\n }\r\n\r\n if (cType == 'Standort') {\r\n ctrl.get('supplier_id').setValue(this.activeAdminUnitCuid);\r\n }\r\n\r\n }\r\n\r\n createMissionFormComponent() {\r\n let ctrl = MissionFormComponent.initControl(this.fb);\r\n this.control.addControl('missionData', ctrl);\r\n this.cd.detectChanges();\r\n this.control.get('warehousing.warehousing_reason_id').setValue(this.control.get('missionData.cuid').value);\r\n }\r\n\r\n removeMissionFormComponent() {\r\n this.control.removeControl('missionData');\r\n }\r\n\r\n createMedicineAuthComponent() {\r\n let ctrl = this.control as FormGroup;\r\n ctrl.addControl('medicineAuthData', MedicineAuthFormComponent.initControl(this.fb));\r\n this.cd.detectChanges();\r\n }\r\n\r\n removeMedicineAuthComponent() {\r\n let ctrl = this.control as FormGroup;\r\n ctrl.removeControl('medicineAuthData');\r\n }\r\n\r\n loadSupplierData() {\r\n let cType = this.control.get('warehousing.supplier_type').value;\r\n\r\n this.supplierItems = [];\r\n\r\n if (cType == 'Standort') {\r\n this.supplierItemsQuery = this.adminUnitService.getAdminUnitsForCurrentUser();\r\n this.dataSubscriptions.push(this.supplierItemsQuery.subscribe((aus: any) => this.supplierItems = aus));\r\n }\r\n\r\n if (cType == 'Fahrzeug') {\r\n this.supplierItemsQuery = this.fleetService.fetchVehicles();\r\n this.dataSubscriptions.push(this.supplierItemsQuery.subscribe(res => this.supplierItems = res.data.vehicles));\r\n }\r\n\r\n if (cType == 'Lieferant') {\r\n this.supplierItemsQuery = this.supplierService.getSupplierList();\r\n this.dataSubscriptions.push(this.supplierItemsQuery.subscribe((aus: any) => this.supplierItems = aus));\r\n }\r\n\r\n if (cType == 'Klient') {\r\n this.supplierItemsQuery = this.clientService.getClients();\r\n this.dataSubscriptions.push(this.supplierItemsQuery.subscribe((res: any) => this.supplierItems = res.data.clients));\r\n }\r\n\r\n }\r\n\r\n onSupplierChanged(supplier: WarehousingSupplierInterface) {\r\n this.supplierChanged.emit(supplier);\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/store-management/warehousing/warehousing-data-form/warehousing-data-form.component.ts","module.exports = \"\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/store-management/withdrawal-log/withdrawal-log.component.css\n// module id = ./src/app/store-management/withdrawal-log/withdrawal-log.component.css\n// module chunks = main","module.exports = \"\\r\\n\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n
Liste entnommener Artikel
\\r\\n
    \\r\\n
  • \\r\\n {{item.stock.label}}\\r\\n {{item.amount}}\\r\\n
  • \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n {{value | date:'d.M.yy, H:mm:ss'}}\\r\\n\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/store-management/withdrawal-log/withdrawal-log.component.html\n// module id = ./src/app/store-management/withdrawal-log/withdrawal-log.component.html\n// module chunks = main","import {ChangeDetectorRef, Component, EventEmitter, Input, OnInit, Output, ViewChild} from \"@angular/core\";\r\nimport {Withdrawal} from \"../model/withdrawal\";\r\nimport {ActivatedRoute} from \"@angular/router\";\r\nimport {AbstractListView} from \"../../core/visbos-core/ui/components/abstract-list-view\";\r\nimport {SessionActions} from \"../../shared/actions/session.actions\";\r\nimport {Page} from '../../shared/view-model/core/page.model';\r\nimport {SortInfo} from '../../shared/view-model/core/sort.model';\r\nimport {DatatableComponent} from '../../core/visbos-core/ui/components/datatable/datatable.component';\r\n\r\n@Component({\r\n selector: 'vb-withdrawal-log',\r\n templateUrl: './withdrawal-log.component.html',\r\n styleUrls: ['./withdrawal-log.component.css']\r\n})\r\nexport class WithdrawalLogComponent extends AbstractListView implements OnInit {\r\n\r\n @Input()\r\n withdrawals: Withdrawal[] = [];\r\n\r\n @ViewChild('timestampTmpl')\r\n timestampTmpl;\r\n\r\n @ViewChild('table')\r\n table: DatatableComponent;\r\n\r\n @Input()\r\n page = new Page();\r\n\r\n @Input()\r\n sort = new SortInfo();\r\n\r\n @Output()\r\n pageChange: EventEmitter = new EventEmitter();\r\n\r\n @Output()\r\n sortChange: EventEmitter = new EventEmitter();\r\n\r\n\r\n constructor(sessionActions: SessionActions, private route: ActivatedRoute, cd: ChangeDetectorRef) {\r\n super(sessionActions, cd);\r\n }\r\n\r\n ngOnInit() {\r\n super.ngOnInit();\r\n\r\n this.columns = [\r\n {prop: 'withdrawal_timestamp', name: 'Entnahmezeitpunkt', cellTemplate: this.timestampTmpl, sortable: false},\r\n {prop: 'consumer.label', name: 'Entnommen von', sortable: false},\r\n {prop: 'withdrawal_reason_type', name: 'Entnahmegrund', sortable: false},\r\n {prop: 'withdrawal_reason.label', name: 'Entnahmegrund-Details', sortable: false},\r\n {prop: 'withdrawal_note', name: 'Bemerkung', sortable: false},\r\n {prop: 'total_amount', name: 'Anzahl Artikel', sortable: false},\r\n ];\r\n\r\n }\r\n\r\n onCellUpdate(row: any, res: any) {\r\n throw new Error(\"Method not implemented.\");\r\n }\r\n\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/store-management/withdrawal-log/withdrawal-log.component.ts","export const WITHDRAWAL_REASONS = [\r\n {name: 'Einsatz', label: 'Einsatz', default: true},\r\n {name: 'Verfall', label: 'Verfall', default: false},\r\n {name: 'Bruch', label: 'Bruch', default: false},\r\n {name: 'Fehlbestand', label: 'Fehlbestand', default: false},\r\n {name: 'Bestellung', label: 'Bestellung', default: false},\r\n {name: 'Bestandskorrektur', label: 'Bestandskorrektur', default: false},\r\n {name: 'Sonstiges', label: 'Sonstiges', default: false},\r\n];\r\n\r\nexport function getDefaultWithdrawalReason() {\r\n for (let r of WITHDRAWAL_REASONS) {\r\n if (r.default === true) {\r\n return r.name;\r\n }\r\n }\r\n}\n\n\n// WEBPACK FOOTER //\n// ./src/app/store-management/withdrawal-reasons.enum.ts","module.exports = \"\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/store-management/withdrawal/medicine-auth-form/medicine-auth-form.component.css\n// module id = ./src/app/store-management/withdrawal/medicine-auth-form/medicine-auth-form.component.css\n// module chunks = main","module.exports = \"\\r\\n\\r\\n \\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n \\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n \\r\\n \\r\\n\\r\\n\\r\\n\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/store-management/withdrawal/medicine-auth-form/medicine-auth-form.component.html\n// module id = ./src/app/store-management/withdrawal/medicine-auth-form/medicine-auth-form.component.html\n// module chunks = main","import {ChangeDetectorRef, Component, forwardRef, Input, OnInit} from \"@angular/core\";\r\nimport {Medicine} from \"../../model/medicine.type\";\r\nimport {FormBuilder, FormGroup, Validators} from \"@angular/forms\";\r\nimport {AbstractVisbosControl} from \"../../../core/visbos-core/ui/forms/abstract-visbos-control\";\r\nimport {SessionActions} from \"../../../shared/actions/session.actions\";\r\nimport {appInjector} from \"../../../index\";\r\nimport {GERMAN_LAYOUT} from \"../../../core/visbos-core/ui/directives/on-screen-keyboard.directive\";\r\nimport {KeyboardOptions} from \"virtual-keyboard\";\r\n\r\n@Component({\r\n selector: 'vb-medicine-auth-form',\r\n templateUrl: './medicine-auth-form.component.html',\r\n styleUrls: ['./medicine-auth-form.component.css'],\r\n providers: [{provide: AbstractVisbosControl, useExisting: forwardRef(() => MedicineAuthFormComponent)}],\r\n inputs: ['control', 'item']\r\n})\r\nexport class MedicineAuthFormComponent extends AbstractVisbosControl implements OnInit {\r\n\r\n kbOptions: KeyboardOptions = {\r\n type: 'input',\r\n layout: 'custom',\r\n customLayout: GERMAN_LAYOUT\r\n };\r\n\r\n @Input()\r\n touchMode: boolean = false;\r\n\r\n constructor(fb: FormBuilder, cd: ChangeDetectorRef, sessionActions: SessionActions) {\r\n super(fb, cd, sessionActions);\r\n }\r\n\r\n buildControlContent(): FormGroup {\r\n return MedicineAuthFormComponent.initControl(this.fb);\r\n }\r\n\r\n ngOnInit() {\r\n super.ngOnInit();\r\n\r\n this.dataSubscriptions.push(this.currentUser$.subscribe(usr => {\r\n\r\n if (this.control) {\r\n this.control.patchValue({user_id: usr.cuid});\r\n }\r\n\r\n if (!usr.permissions.find(perm => perm == 'withdraw medicine')) {\r\n this.addAuthControls();\r\n } else {\r\n this.removeAuthControls();\r\n }\r\n\r\n }));\r\n }\r\n\r\n ngAfterViewInit() {\r\n super.ngAfterViewInit();\r\n }\r\n\r\n public static initControl(fb: FormBuilder = null): FormGroup {\r\n fb = fb ? fb : appInjector().get(FormBuilder);\r\n\r\n return fb.group({\r\n cuid: [null],\r\n authenticated_user_cuid: [null, Validators.required],\r\n });\r\n\r\n }\r\n\r\n setDefaultValues(item?: Medicine): { [controlKey: string]: any } | any {\r\n return {\r\n cuid: AbstractVisbosControl.cuid(),\r\n authenticated_user_cuid: this.currentUser.cuid\r\n };\r\n }\r\n\r\n addAuthControls() {\r\n this.control.addControl('personal_number', this.fb.control(null, Validators.required));\r\n this.control.addControl('signature', this.fb.control(null, Validators.required));\r\n }\r\n\r\n removeAuthControls() {\r\n this.control.removeControl('personal_number');\r\n this.control.removeControl('signature');\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/store-management/withdrawal/medicine-auth-form/medicine-auth-form.component.ts","module.exports = \"\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/store-management/withdrawal/medicine-withdrawal-auth-form/medicine-withdrawal-auth-form.component.css\n// module id = ./src/app/store-management/withdrawal/medicine-withdrawal-auth-form/medicine-withdrawal-auth-form.component.css\n// module chunks = main","module.exports = \"
\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/store-management/withdrawal/medicine-withdrawal-auth-form/medicine-withdrawal-auth-form.component.html\n// module id = ./src/app/store-management/withdrawal/medicine-withdrawal-auth-form/medicine-withdrawal-auth-form.component.html\n// module chunks = main","import {AfterContentChecked, ChangeDetectorRef, Component, Input, OnInit} from \"@angular/core\";\r\nimport {FormBuilder, FormControl, FormGroup, Validators} from \"@angular/forms\";\r\nimport {MissionFormComponent} from \"../../../mission/mission-form/mission-form.component\";\r\nimport {GERMAN_LAYOUT} from \"../../../core/visbos-core/ui/directives/on-screen-keyboard.directive\";\r\nimport {KeyboardOptions} from \"virtual-keyboard\";\r\n\r\n@Component({\r\n selector: 'vb-medicine-withdrawal-auth-form',\r\n templateUrl: './medicine-withdrawal-auth-form.component.html',\r\n styleUrls: ['./medicine-withdrawal-auth-form.component.css']\r\n})\r\nexport class MedicineWithdrawalAuthFormComponent implements OnInit, AfterContentChecked {\r\n\r\n kbOptions: KeyboardOptions = {\r\n type: 'input',\r\n layout: 'custom',\r\n customLayout: GERMAN_LAYOUT\r\n };\r\n\r\n @Input()\r\n touchMode: boolean = false;\r\n\r\n @Input()\r\n form: FormGroup;\r\n\r\n @Input()\r\n missionForm: FormGroup;\r\n\r\n @Input()\r\n reasonFormControl: FormControl;\r\n\r\n @Input()\r\n formHorizontal: boolean = false;\r\n\r\n constructor(private fb: FormBuilder, private cd: ChangeDetectorRef) {\r\n }\r\n\r\n ngOnInit() {\r\n this.initControl();\r\n }\r\n\r\n ngAfterContentChecked(): void {\r\n this.cd.detectChanges();\r\n }\r\n\r\n showMedForm() {\r\n let check = this.form.get('withdrawal_reason_type').value == 'Einsatz';\r\n return check;\r\n }\r\n\r\n showReasonForm() {\r\n return true;\r\n }\r\n\r\n initControl() {\r\n\r\n if (!this.form) {\r\n this.form = this.fb.group({\r\n personal_number: [null, Validators.required],\r\n signature: [null, Validators.required],\r\n withdrawal_reason_type: (this.reasonFormControl ? this.reasonFormControl : [null, Validators.required]),\r\n });\r\n }\r\n\r\n if (!this.missionForm) {\r\n this.missionForm = MissionFormComponent.initControl(this.fb);\r\n }\r\n\r\n }\r\n\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/store-management/withdrawal/medicine-withdrawal-auth-form/medicine-withdrawal-auth-form.component.ts","module.exports = \"\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/store-management/withdrawal/withdrawal-consumer-selection/withdrawal-consumer-selection.component.css\n// module id = ./src/app/store-management/withdrawal/withdrawal-consumer-selection/withdrawal-consumer-selection.component.css\n// module chunks = main","module.exports = \"\\r\\n\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/store-management/withdrawal/withdrawal-consumer-selection/withdrawal-consumer-selection.component.html\n// module id = ./src/app/store-management/withdrawal/withdrawal-consumer-selection/withdrawal-consumer-selection.component.html\n// module chunks = main","import {ChangeDetectorRef, Component, EventEmitter, forwardRef, Input, OnInit, Output} from \"@angular/core\";\r\nimport {AbstractVisbosControl} from \"../../../core/visbos-core/ui/forms/abstract-visbos-control\";\r\nimport {FormBuilder, FormControl} from \"@angular/forms\";\r\nimport {select} from \"@angular-redux/store\";\r\nimport {WithdrawalConsumerInterface} from \"../../model/withdrawal-consumer-interface.type\";\r\nimport {ApolloQueryObservable} from \"apollo-angular\";\r\nimport {WithdrawalService} from \"../../services/withdrawal.service\";\r\nimport {appInjector} from \"../../../index\";\r\nimport {Observable} from \"rxjs/Observable\";\r\nimport {Subscription} from \"rxjs/Subscription\";\r\n\r\n@Component({\r\n selector: 'vb-withdrawal-consumer-selection',\r\n templateUrl: './withdrawal-consumer-selection.component.html',\r\n styleUrls: ['./withdrawal-consumer-selection.component.css'],\r\n providers: [{provide: AbstractVisbosControl, useExisting: forwardRef(() => WithdrawalConsumerSelectionComponent)}]\r\n})\r\nexport class WithdrawalConsumerSelectionComponent extends AbstractVisbosControl implements OnInit {\r\n\r\n @select(['session', 'activeAdminUnit']) adminUnitCuid$: Observable;\r\n\r\n private _selectedConsumerCuid: string;\r\n\r\n get selectedConsumerCuid(): string {\r\n return this._selectedConsumerCuid;\r\n }\r\n\r\n @Input()\r\n set selectedConsumerCuid(value: string) {\r\n this._selectedConsumerCuid = value;\r\n if(this.consumerList && this.control) {\r\n this.item = this.consumerList.find(consumer => consumer.cuid == this.selectedConsumerCuid);\r\n this.control.setValue(this.item ? this.item.cuid : undefined);\r\n }\r\n }\r\n\r\n @Output()\r\n consumerSelected: EventEmitter = new EventEmitter();\r\n\r\n private consumerList$: ApolloQueryObservable;\r\n consumerList: WithdrawalConsumerInterface[] = [];\r\n private consumerListSub: Subscription;\r\n\r\n constructor(fb: FormBuilder, cd: ChangeDetectorRef,\r\n private wdService: WithdrawalService) {\r\n super(fb, cd, null);\r\n }\r\n\r\n ngOnInit() {\r\n super.ngOnInit();\r\n\r\n this.consumerList$ = null;\r\n this.consumerListSub = this.consumerList$.subscribe((depots: any) => {\r\n this.consumerList = depots;\r\n if(this.selectedConsumerCuid) {\r\n this.item = this.consumerList.find(dl => dl.cuid == this.selectedConsumerCuid);\r\n this.control.setValue(this.item ? this.item.cuid : undefined);\r\n }\r\n });\r\n\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.consumerListSub.unsubscribe();\r\n }\r\n\r\n buildControlContent(): FormControl {\r\n return WithdrawalConsumerSelectionComponent.initControl(this.fb);\r\n }\r\n\r\n public static initControl(fb: FormBuilder = null): FormControl {\r\n fb = fb ? fb : appInjector().get(FormBuilder);\r\n return fb.control(null);\r\n }\r\n\r\n onConsumerSelected(consumer: WithdrawalConsumerInterface) {\r\n this.consumerSelected.emit(consumer);\r\n }\r\n\r\n public setDefaultValues(item?: WithdrawalConsumerInterface): {[controlKey: string]: any} | any {\r\n return this.setValue(item, 'cuid');\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/store-management/withdrawal/withdrawal-consumer-selection/withdrawal-consumer-selection.component.ts","module.exports = \"\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/store-management/withdrawal/withdrawal-data-form/withdrawal-data-form.component.css\n// module id = ./src/app/store-management/withdrawal/withdrawal-data-form/withdrawal-data-form.component.css\n// module chunks = main","module.exports = \"\\r\\n \\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n \\r\\n\\r\\n\\r\\n\\r\\n\\r\\n \\r\\n\\r\\n\\r\\n\\r\\n \\r\\n \\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/store-management/withdrawal/withdrawal-data-form/withdrawal-data-form.component.html\n// module id = ./src/app/store-management/withdrawal/withdrawal-data-form/withdrawal-data-form.component.html\n// module chunks = main","import {\r\n AfterViewInit,\r\n ChangeDetectorRef,\r\n Component,\r\n forwardRef,\r\n Input,\r\n OnChanges,\r\n OnInit,\r\n SimpleChanges\r\n} from \"@angular/core\";\r\nimport {FormArray, FormBuilder, FormGroup, Validators} from \"@angular/forms\";\r\nimport {SessionActions} from \"../../../shared/actions/session.actions\";\r\nimport {Withdrawal} from \"../../model/withdrawal\";\r\nimport {AbstractVisbosControl} from \"../../../core/visbos-core/ui/forms/abstract-visbos-control\";\r\nimport {appInjector} from \"../../../index\";\r\nimport {MissionFormComponent} from \"../../../mission/mission-form/mission-form.component\";\r\nimport {ApolloQueryObservable} from \"apollo-angular\";\r\nimport {AdministrationUnitService} from \"../../../organization/services/administration_unit_service/administration-unit.service\";\r\nimport {MedicineAuthFormComponent} from \"../medicine-auth-form/medicine-auth-form.component\";\r\nimport {WithdrawalReasonInterface} from \"../../model/withdrawal-reason-interface.type\";\r\nimport {WithdrawalConsumerInterface} from \"../../model/withdrawal-consumer-interface.type\";\r\nimport {Stock} from \"../../../shared/view-model/stock\";\r\nimport {FleetService} from \"../../../fleet/services/fleet.service\";\r\nimport {getDefaultWithdrawalReason, WITHDRAWAL_REASONS} from \"../../withdrawal-reasons.enum\";\r\nimport {ACCOUNTING_UNIT_TYPES} from \"../../accounting-unit-types.enum\";\r\nimport {ClientService} from \"../../../crm/services/client.service\";\r\n\r\n@Component({\r\n selector: 'vb-withdrawal-data-form',\r\n templateUrl: './withdrawal-data-form.component.html',\r\n styleUrls: ['./withdrawal-data-form.component.css'],\r\n providers: [{provide: AbstractVisbosControl, useExisting: forwardRef(() => WithdrawalDataFormComponent)}]\r\n})\r\nexport class WithdrawalDataFormComponent extends AbstractVisbosControl implements OnInit, AfterViewInit, OnChanges {\r\n\r\n withdrawalReasons = WITHDRAWAL_REASONS;\r\n accountingUnitTypes = ACCOUNTING_UNIT_TYPES;\r\n\r\n @Input()\r\n withdrawalReason: WithdrawalReasonInterface;\r\n\r\n @Input()\r\n consumer: WithdrawalConsumerInterface;\r\n\r\n @Input()\r\n withdrawnStocks: [{ stock: Stock, amount: number }];\r\n\r\n\r\n private _controlVisibility: { reason?: boolean, consumer?: boolean, withdrawnStocks?: boolean, medicineAuth?: boolean } = {\r\n reason: true,\r\n consumer: true,\r\n withdrawnStocks: true,\r\n medicineAuth: false\r\n };\r\n\r\n get controlVisibility(): { reason?: boolean; consumer?: boolean; withdrawnStocks?: boolean; medicineAuth?: boolean } {\r\n return this._controlVisibility;\r\n }\r\n\r\n @Input()\r\n set controlVisibility(value: { reason?: boolean; consumer?: boolean; withdrawnStocks?: boolean; medicineAuth?: boolean }) {\r\n this._controlVisibility = Object.assign(this.controlVisibility, value);\r\n }\r\n\r\n private consumerItemsQuery: ApolloQueryObservable;\r\n consumerItems: any[];\r\n\r\n constructor(fb: FormBuilder, cd: ChangeDetectorRef, sessionActions: SessionActions,\r\n private adminUnitService: AdministrationUnitService, private clientService: ClientService,\r\n private fleetService: FleetService) {\r\n super(fb, cd, sessionActions);\r\n }\r\n\r\n ngOnInit() {\r\n super.ngOnInit();\r\n\r\n if (this.controlVisibility.medicineAuth && this.control) {\r\n this.createMedicineAuthComponent();\r\n }\r\n }\r\n\r\n ngAfterViewInit() {\r\n super.ngAfterViewInit();\r\n this.onConsumerTypeChanged();\r\n this.onReasonTypeChanged();\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n\r\n super.ngOnChanges(changes);\r\n\r\n if (changes.controlVisibility && this.control) {\r\n let vis = changes.controlVisibility.currentValue;\r\n if (vis.medicineAuth) {\r\n this.createMedicineAuthComponent();\r\n } else {\r\n this.removeMedicineAuthComponent();\r\n }\r\n }\r\n\r\n if (changes.withdrawalReason && this.control) {\r\n let reason = changes.withdrawalReason.currentValue;\r\n let ctrl = this.control.get('withdrawal') as FormGroup;\r\n }\r\n\r\n if ((changes.withdrawnStocks || changes.control) && this.control) {\r\n this.patchWithdrawnStocks()\r\n }\r\n\r\n }\r\n\r\n private patchWithdrawnStocks() {\r\n let wdStocks = this.withdrawnStocks;\r\n let ctrl = this.control.get('withdrawal.withdrawn_stocks') as FormArray;\r\n ctrl.controls = [];\r\n\r\n wdStocks.forEach(wdSt => {\r\n ctrl.push(this.fb.group({\r\n cuid: AbstractVisbosControl.cuid(),\r\n stock_id: wdSt.stock.cuid,\r\n amount: wdSt.amount\r\n }));\r\n\r\n // how medicine form data\r\n if (!this.controlVisibility.medicineAuth && wdSt.stock.registration_required) {\r\n //setTimeout(() => {\r\n this.controlVisibility = {medicineAuth: true};\r\n //}, 0);\r\n }\r\n });\r\n }\r\n\r\n buildControlContent(): FormGroup {\r\n return WithdrawalDataFormComponent.initControl(this.fb);\r\n }\r\n\r\n public static initControl(fb: FormBuilder = null): FormGroup {\r\n fb = fb ? fb : appInjector().get(FormBuilder);\r\n\r\n let ctrl = fb.group({\r\n withdrawal: fb.group({\r\n cuid: [null],\r\n administration_unit_id: [null, Validators.required],\r\n withdrawal_timestamp: [null, Validators.required],\r\n withdrawal_reason_type: [null, Validators.required],\r\n withdrawal_reason_id: [null],\r\n withdrawal_note: [null],\r\n consumer_type: [null],\r\n withdrawn_stocks: fb.array([]),\r\n })\r\n });\r\n\r\n return ctrl;\r\n }\r\n\r\n public setDefaultValues(item?: Withdrawal): { [controlKey: string]: any } | any {\r\n return {\r\n withdrawal: {\r\n cuid: this.setValue(item, 'cuid', AbstractVisbosControl.cuid()),\r\n administration_unit_id: this.setValue(item, 'administration_unit_id', this.activeAdminUnitCuid),\r\n withdrawal_timestamp: this.setValue(item, 'withdrawal_timestamp', new Date()),\r\n withdrawal_reason_type: this.setValue(item, 'withdrawal_reason_type', getDefaultWithdrawalReason()),\r\n withdrawal_reason_id: this.setValue(item, 'withdrawal_reason.cuid'),\r\n withdrawal_note: this.setValue(item, 'withdrawal_note'),\r\n consumer_type: this.setValue(item, 'consumer_type', 'Standort'),\r\n consumer_id: this.setValue(item, 'consumer.cuid')\r\n }\r\n };\r\n }\r\n\r\n onReasonTypeChanged() {\r\n this.control.get('withdrawal.withdrawal_reason_id').reset();\r\n\r\n if (this.control.get('withdrawal.withdrawal_reason_type').value == 'Einsatz') {\r\n this.createMissionFormComponent();\r\n } else {\r\n this.removeMissionFormComponent();\r\n }\r\n }\r\n\r\n onConsumerTypeChanged() {\r\n let ctrl = this.control.get('withdrawal') as FormGroup;\r\n let cType = ctrl.get('consumer_type').value;\r\n\r\n if (cType == null || cType == '') {\r\n ctrl.removeControl('consumer_id');\r\n } else {\r\n ctrl.addControl('consumer_id', this.fb.control(null, Validators.required));\r\n this.control.get('withdrawal.consumer_id').reset();\r\n this.loadConsumerData();\r\n }\r\n\r\n if (cType == 'Standort') {\r\n ctrl.get('consumer_id').setValue(this.activeAdminUnitCuid);\r\n }\r\n\r\n }\r\n\r\n createMissionFormComponent() {\r\n let ctrl = MissionFormComponent.initControl(this.fb);\r\n this.control.addControl('missionData', ctrl);\r\n this.cd.detectChanges();\r\n this.control.get('withdrawal.withdrawal_reason_id').setValue(this.control.get('missionData.cuid').value);\r\n }\r\n\r\n removeMissionFormComponent() {\r\n this.control.removeControl('missionData');\r\n }\r\n\r\n createMedicineAuthComponent() {\r\n let ctrl = this.control as FormGroup;\r\n ctrl.addControl('medicineWithdrawalData', MedicineAuthFormComponent.initControl(this.fb));\r\n this.cd.detectChanges();\r\n }\r\n\r\n removeMedicineAuthComponent() {\r\n let ctrl = this.control as FormGroup;\r\n ctrl.removeControl('medicineWithdrawalData');\r\n }\r\n\r\n loadConsumerData() {\r\n let cType = this.control.get('withdrawal.consumer_type').value;\r\n\r\n this.consumerItems = [];\r\n\r\n if (cType == 'Standort') {\r\n this.consumerItemsQuery = this.adminUnitService.getAdminUnitsForCurrentUser();\r\n this.dataSubscriptions.push(this.consumerItemsQuery.subscribe((aus: any) => this.consumerItems = aus));\r\n }\r\n\r\n if (cType == 'Fahrzeug') {\r\n this.consumerItemsQuery = this.fleetService.fetchVehicles();\r\n this.dataSubscriptions.push(this.consumerItemsQuery.subscribe(res => this.consumerItems = res.data.vehicles));\r\n }\r\n\r\n if (cType == 'Klient') {\r\n //TODO: Implement Client Funcitonality\r\n this.consumerItemsQuery = this.clientService.getClients();\r\n this.dataSubscriptions.push(this.consumerItemsQuery.subscribe(res => this.consumerItems = res.data.clients));\r\n }\r\n\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/store-management/withdrawal/withdrawal-data-form/withdrawal-data-form.component.ts","module.exports = \"\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/store-management/withdrawal/withdrawal-log-view/withdrawal-log-view.component.css\n// module id = ./src/app/store-management/withdrawal/withdrawal-log-view/withdrawal-log-view.component.css\n// module chunks = main","module.exports = \"\\r\\n\\r\\n

Bestandsprotokoll

\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n\\r\\n\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/store-management/withdrawal/withdrawal-log-view/withdrawal-log-view.component.html\n// module id = ./src/app/store-management/withdrawal/withdrawal-log-view/withdrawal-log-view.component.html\n// module chunks = main","import {AfterViewInit, ChangeDetectorRef, Component, OnInit, ViewChild} from \"@angular/core\";\r\nimport {ApolloQueryObservable} from \"apollo-angular\";\r\nimport {WithdrawalService} from \"../../services/withdrawal.service\";\r\nimport {Withdrawal} from \"../../model/withdrawal\";\r\nimport {AbstractVisbosComponent} from \"../../../core/visbos-core/components/abstract-visbos.component\";\r\nimport {SessionActions} from \"../../../shared/actions/session.actions\";\r\nimport {Page} from '../../../shared/view-model/core/page.model';\r\nimport {SortInfo} from '../../../shared/view-model/core/sort.model';\r\nimport {FetchWithdrawlsQuery} from '../../../shared/graphql/graphql.types';\r\nimport {FormBuilder, FormControl} from '@angular/forms';\r\nimport {debounceTime, distinctUntilChanged} from 'rxjs/operators';\r\nimport {WithdrawalLogComponent} from '../../withdrawal-log/withdrawal-log.component';\r\n\r\n@Component({\r\n selector: 'vb-withdrawal-log-view',\r\n templateUrl: './withdrawal-log-view.component.html',\r\n styleUrls: ['./withdrawal-log-view.component.css']\r\n})\r\nexport class WithdrawalLogViewComponent extends AbstractVisbosComponent implements OnInit, AfterViewInit {\r\n\r\n @ViewChild('logView')\r\n logView: WithdrawalLogComponent;\r\n\r\n searchTerm: FormControl;\r\n\r\n page = new Page();\r\n sort = new SortInfo();\r\n\r\n private withdrawals$: ApolloQueryObservable;\r\n withdrawals: Withdrawal[] = [];\r\n\r\n constructor(sessionActions: SessionActions,\r\n private withdrawalService: WithdrawalService, cd: ChangeDetectorRef,\r\n private fb: FormBuilder) {\r\n super(sessionActions, cd);\r\n }\r\n\r\n ngOnInit() {\r\n super.ngOnInit();\r\n\r\n this.isLoading = true;\r\n\r\n this.searchTerm = this.fb.control(null);\r\n\r\n this.withdrawals$ = this.withdrawalService.getWithdrawals(null, null, this.page.size, this.page.pageNumber);\r\n this.addComponentData(this.withdrawals$);\r\n\r\n this.dataSubscriptions.push(this.withdrawals$.subscribe(res => {\r\n this.isLoading = res.loading;\r\n this.page.totalElements = res.data.fetchWithdrawals.total_items;\r\n this.page.totalPages = res.data.fetchWithdrawals.total_pages;\r\n this.withdrawals = res.data.fetchWithdrawals.items;\r\n }));\r\n\r\n }\r\n\r\n ngAfterViewInit() {\r\n super.ngAfterViewInit();\r\n this.addSubscription(this.searchTerm.valueChanges.pipe(\r\n distinctUntilChanged(),\r\n debounceTime(500)\r\n ).subscribe(searchString => {\r\n this.logView.table.resetToFirstPage(); // Resets table to first page and automatically triggers a reload of the data because of the onPageChanged event\r\n })\r\n );\r\n }\r\n\r\n onPageChanged(pageInfo: Page) {\r\n if (this.withdrawals$) {\r\n this.withdrawals$.setVariables({\r\n limit: pageInfo.size,\r\n offset: pageInfo.pageNumber,\r\n queryString: this.searchTerm.value,\r\n });\r\n }\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/store-management/withdrawal/withdrawal-log-view/withdrawal-log-view.component.ts","module.exports = \"\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/store-management/withdrawal/withdrawal.component.css\n// module id = ./src/app/store-management/withdrawal/withdrawal.component.css\n// module chunks = main","module.exports = \"\\r\\n\\r\\n

Artikelentnahme

\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n

Angaben zur Artikelentnahme

\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/store-management/withdrawal/withdrawal.component.html\n// module id = ./src/app/store-management/withdrawal/withdrawal.component.html\n// module chunks = main","import {Component, OnInit} from \"@angular/core\";\r\n\r\n@Component({\r\n selector: 'vb-withdrawal',\r\n templateUrl: './withdrawal.component.html',\r\n styleUrls: ['./withdrawal.component.css']\r\n})\r\nexport class WithdrawalComponent implements OnInit {\r\n ngOnInit(): void {\r\n }\r\n\r\n\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/store-management/withdrawal/withdrawal.component.ts","module.exports = \"\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/visbos-client/visbos-client.component.css\n// module id = ./src/app/visbos-client/visbos-client.component.css\n// module chunks = main","module.exports = \"\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n

© {{today | date:'yyyy'}} witcotech UG

\\r\\n
\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/visbos-client/visbos-client.component.html\n// module id = ./src/app/visbos-client/visbos-client.component.html\n// module chunks = main","import {ChangeDetectorRef, Component, OnInit} from \"@angular/core\";\r\nimport {SessionActions} from \"../shared/actions/session.actions\";\r\nimport {IAppState} from \"../shared/redux-store/store\";\r\nimport {NgRedux} from \"@angular-redux/store\";\r\nimport {AdminUnitActions} from \"../shared/actions/admin-unit.actions\";\r\nimport {AbstractVisbosComponent} from \"../core/visbos-core/components/abstract-visbos.component\";\r\n\r\n@Component({\r\n selector: 'vb-visbos-client',\r\n templateUrl: './visbos-client.component.html',\r\n styleUrls: ['./visbos-client.component.css']\r\n})\r\nexport class VisbosClientComponent extends AbstractVisbosComponent implements OnInit {\r\n\r\n today = new Date();\r\n\r\n\r\n constructor(sessionActions: SessionActions, cd: ChangeDetectorRef, private ngRedux: NgRedux,\r\n private adminUnitActions: AdminUnitActions) {\r\n super(sessionActions, cd);\r\n }\r\n\r\n ngOnInit() {\r\n this.addSubscription(this.sessionActions.fetchAuthorizedUser(this.ngRedux.getState().session.token).subscribe());\r\n this.addSubscription(this.adminUnitActions.retrieveAdminUnitData(this.activeAdminUnitCuid$).subscribe());\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/visbos-client/visbos-client.component.ts","import {NgModule} from \"@angular/core\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport {NavigationModule} from \"../navigation/navigation.module\";\r\nimport {AuthModule} from \"../shared/auth/auth.module\";\r\nimport {StoreManagementModule} from \"../store-management/store-management.module\";\r\nimport {VisbosCoreModule} from \"../core/visbos-core/visbos-core.module\";\r\nimport {VisbosClientComponent} from \"./visbos-client.component\";\r\nimport {CRMModule} from \"../crm/crm.module\";\r\nimport {visbosClientRouting, visbosClientRoutingProviders} from \"./visbos-client.routes\";\r\nimport {RouterModule} from \"@angular/router\";\r\nimport {MedicineStickersModule} from \"../medicine-stickers/medicine-stickers.module\";\r\nimport {WelcomeViewComponent} from './welcome-view/welcome-view.component';\r\nimport {SensorsModule} from \"../sensors/sensors.module\";\r\nimport {AdminModule} from \"../admin/admin.module\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n StoreManagementModule,\r\n AuthModule,\r\n NavigationModule,\r\n VisbosCoreModule,\r\n visbosClientRouting,\r\n CRMModule,\r\n StoreManagementModule,\r\n MedicineStickersModule,\r\n SensorsModule,\r\n AdminModule\r\n ],\r\n declarations: [VisbosClientComponent, visbosClientRoutingProviders, WelcomeViewComponent],\r\n exports: [RouterModule]\r\n})\r\nexport class VisbosClientModule {\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/visbos-client/visbos-client.module.ts","/**\r\n * Created by afuhr on 07.07.2016.\r\n */\r\nimport {RouterModule, Routes} from \"@angular/router\";\r\nimport {VisbosClientComponent} from \"./visbos-client.component\";\r\nimport {storageRoutes} from \"../store-management/store-management.routes\";\r\nimport {AuthorizedGuard} from \"../shared/auth/guards/authorized-guard\";\r\nimport {medicineStickersRoutes} from \"../medicine-stickers/medicine-stickers-routing\";\r\nimport {WelcomeViewComponent} from \"./welcome-view/welcome-view.component\";\r\nimport {ProfileViewComponent} from \"../crm/components/profile-view/profile-view.component\";\r\nimport {sensorsRoutes} from \"../sensors/sensors-routing\";\r\nimport {adminRoutes} from \"../admin/admin-routing\";\r\n\r\n\r\nconst visbosClientRoutes: Routes = [\r\n {\r\n path: 'client',\r\n component: VisbosClientComponent,\r\n canActivate: [AuthorizedGuard],\r\n canActivateChild: [AuthorizedGuard],\r\n children: [\r\n {\r\n path: '',\r\n component: WelcomeViewComponent\r\n },\r\n {\r\n path: 'profil',\r\n component: ProfileViewComponent\r\n },\r\n ...storageRoutes,\r\n ...medicineStickersRoutes,\r\n ...sensorsRoutes,\r\n ...adminRoutes\r\n ]\r\n },\r\n\r\n];\r\n\r\n//TODO: Adapt path to standard value of logged in user\r\n\r\nexport const visbosClientRoutingProviders: any[] = [];\r\n\r\nexport const visbosClientRouting = RouterModule.forChild(visbosClientRoutes);\r\n\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/visbos-client/visbos-client.routes.ts","module.exports = \"\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/visbos-client/welcome-view/welcome-view.component.css\n// module id = ./src/app/visbos-client/welcome-view/welcome-view.component.css\n// module chunks = main","module.exports = \"
\\r\\n
\\r\\n

VisBOS

\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n \\r\\n\\r\\n Verwaltungs- und Informationssystem für Behörden und Organisationen mit Sicherheitsaufgaben\\r\\n\\r\\n
\\r\\n

Hallo {{currentUser.form_of_address ? currentUser.form_of_address : currentUser.pre_name}} {{currentUser.name}},

\\r\\n

bitte wählen Sie in der Hauptnavigation ein Modul, um auf die entsprechende Funktionalität zuzugreifen!

\\r\\n
\\r\\n\\r\\n \\r\\n\\r\\n
\\r\\n\\r\\n\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/visbos-client/welcome-view/welcome-view.component.html\n// module id = ./src/app/visbos-client/welcome-view/welcome-view.component.html\n// module chunks = main","import {ChangeDetectorRef, Component, OnInit} from '@angular/core';\r\nimport {AbstractVisbosComponent} from \"../../core/visbos-core/components/abstract-visbos.component\";\r\nimport {SessionActions} from \"../../shared/actions/session.actions\";\r\n\r\n@Component({\r\n selector: 'vb-welcome-view',\r\n templateUrl: './welcome-view.component.html',\r\n styleUrls: ['./welcome-view.component.css']\r\n})\r\nexport class WelcomeViewComponent extends AbstractVisbosComponent implements OnInit {\r\n\r\n constructor(sessionActions: SessionActions, cd: ChangeDetectorRef) {\r\n super(sessionActions, cd);\r\n }\r\n\r\n ngOnInit() {\r\n super.ngOnInit();\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/visbos-client/welcome-view/welcome-view.component.ts","import {NgModule} from \"@angular/core\";\r\nimport {LoginComponent} from \"./shared/auth/login/login.component\";\r\nimport {RouterModule, Routes} from \"@angular/router\";\r\nimport {PasswordResetLinkComponent} from \"./core/visbos-core/components/password-change/password-reset-link/password-reset-link.component\";\r\nimport {PasswordResetFormComponent} from \"./core/visbos-core/components/password-change/password-reset-form/password-reset-form.component\";\r\nimport {LogOutComponent} from \"./core/visbos-core/components/log-out/log-out.component\";\r\nimport {MaintenanceViewComponent} from \"./core/visbos-core/views/maintenance-view/maintenance-view.component\";\r\n\r\nconst visbosRoutes: Routes = [\r\n {\r\n path: '',\r\n redirectTo: 'client',\r\n pathMatch: 'full'\r\n },\r\n {\r\n path: 'login',\r\n children: [\r\n {\r\n path: '',\r\n component: LoginComponent,\r\n },\r\n {\r\n path: 'passwort/link',\r\n component: PasswordResetLinkComponent\r\n },\r\n {\r\n path: 'passwort/reset/:token',\r\n component: PasswordResetFormComponent\r\n }\r\n ]\r\n },\r\n {\r\n path: 'logout',\r\n children: [\r\n {\r\n path: '',\r\n component: LogOutComponent,\r\n }\r\n ]\r\n },\r\n {\r\n path: 'maintenance',\r\n children: [\r\n {\r\n path: '',\r\n component: MaintenanceViewComponent,\r\n }\r\n ]\r\n },\r\n {\r\n path: '**',\r\n redirectTo: ''\r\n }\r\n];\r\n\r\n@NgModule({\r\n imports: [\r\n RouterModule.forRoot(visbosRoutes, {useHash: true})\r\n ],\r\n exports: [\r\n RouterModule\r\n ]\r\n})\r\nexport class VisBosRoutingModule {\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/visbos-routing.module.ts","import {Injectable} from \"@angular/core\";\r\nimport {ActivatedRouteSnapshot, CanActivate, CanActivateChild, RouterStateSnapshot} from \"@angular/router\";\r\nimport {Observable} from \"rxjs/Observable\";\r\n\r\n@Injectable()\r\nexport class SecurityTokenGuardService implements CanActivate, CanActivateChild {\r\n\r\n constructor() {\r\n }\r\n\r\n canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable|Promise|boolean {\r\n return this.fetchSecurityToken();\r\n }\r\n\r\n canActivateChild(childRoute: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable|Promise|boolean {\r\n return this.fetchSecurityToken();\r\n }\r\n\r\n fetchSecurityToken() {\r\n return true;\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/visbos-touch-client/services/security-token-guard.service.ts","import { Injectable } from '@angular/core';\r\nimport { select } from \"@angular-redux/store\";\r\nimport { Observable } from \"rxjs/Observable\";\r\nimport { combineLatest } from \"rxjs/observable/combineLatest\";\r\nimport { AdministrationUnit } from \"../../../shared/view-model/organization/administration-unit.type\";\r\nimport { touchMainMenu } from \"./touch-navigation-menu/touch-main.menu\";\r\nimport { VbMenuEntry } from \"./menu-item.interface\";\r\nimport { BehaviorSubject } from \"rxjs/BehaviorSubject\";\r\n\r\nimport * as _ from 'lodash';\r\nimport { IUser } from 'app/shared/redux-store/session/session.types';\r\n\r\n@Injectable()\r\nexport class TouchMenuService {\r\n\r\n @select(['session', 'activeAdminUnit'])\r\n activeAdminUnitCuid$: Observable;\r\n\r\n @select(['session', 'activeAdminUnitData'])\r\n activeAdminUnit$: Observable;\r\n\r\n @select(['session', 'user'])\r\n activeUser$: Observable;\r\n\r\n private _menuEntries: VbMenuEntry[] = [];\r\n get menuEntries(): VbMenuEntry[] {\r\n return this._menuEntries;\r\n }\r\n\r\n set menuEntries(value: VbMenuEntry[]) {\r\n this._menuEntries = _.cloneDeep(value);\r\n this.activeMenuEntries$.next(this.getActiveButtons());\r\n }\r\n\r\n public activeMenuEntries$: BehaviorSubject = new BehaviorSubject([]);\r\n\r\n constructor() {\r\n\r\n this.menuEntries = touchMainMenu;\r\n\r\n combineLatest(this.activeAdminUnit$, this.activeUser$).subscribe(([au, user]) => {\r\n\r\n // Enable fill-up menu entry\r\n if (au.is_manager_of_external_depots) {\r\n const newMenu = _.cloneDeep(this.menuEntries);\r\n let b = newMenu.find(i => i.id == 'fill-up');\r\n b.visible = true;\r\n this.menuEntries = newMenu;\r\n }\r\n\r\n if (au.is_managed_by_external_admin_units) {\r\n const newMenu = _.cloneDeep(this.menuEntries);\r\n let b = newMenu.find(i => i.id == 'depot-needs');\r\n b.visible = true;\r\n this.menuEntries = newMenu;\r\n }\r\n\r\n // Enable vTouch menu entry\r\n if (au.cuid == 'citwjif1c0001m4t9pcygmekt' || au.cuid == 'citwjiiiw0001m4t9icogygfo') {\r\n const newMenu = _.cloneDeep(this.menuEntries);\r\n let b = newMenu.find(i => i.id == 'vtouch');\r\n b.visible = true;\r\n this.menuEntries = newMenu;\r\n }\r\n\r\n // Enable scan box\r\n if (user.roles?.includes('scanbox')) {\r\n const newMenu = _.cloneDeep(this.menuEntries);\r\n let b = newMenu.find(i => i.id == 'marriage');\r\n b.visible = true;\r\n this.menuEntries = [b];\r\n }\r\n\r\n });\r\n\r\n }\r\n\r\n getActiveButtons(): VbMenuEntry[] {\r\n const ab = _.cloneDeep(this.menuEntries);\r\n return ab.filter(b => b.visible === undefined || b.visible === true);\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/visbos-touch-client/ui/navigation/touch-menu.service.ts","module.exports = \"\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/visbos-touch-client/ui/navigation/touch-menu/touch-menu.component.css\n// module id = ./src/app/visbos-touch-client/ui/navigation/touch-menu/touch-menu.component.css\n// module chunks = main","module.exports = \"
\\r\\n\\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
{{b.title}}
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/visbos-touch-client/ui/navigation/touch-menu/touch-menu.component.html\n// module id = ./src/app/visbos-touch-client/ui/navigation/touch-menu/touch-menu.component.html\n// module chunks = main","import {AfterViewInit, ChangeDetectorRef, Component, Input, ViewChild} from '@angular/core';\r\nimport {AbstractVisbosComponent} from \"../../../../core/visbos-core/components/abstract-visbos.component\";\r\nimport {SessionActions} from \"../../../../shared/actions\";\r\nimport {ActivatedRoute, Router} from \"@angular/router\";\r\nimport {VbMenuEntry} from \"../menu-item.interface\";\r\nimport {CarouselComponent} from \"ngx-bootstrap\";\r\n\r\n\r\n@Component({\r\n selector: 'vb-touch-menu',\r\n templateUrl: './touch-menu.component.html',\r\n styleUrls: ['./touch-menu.component.css']\r\n})\r\nexport class TouchMenuComponent extends AbstractVisbosComponent implements AfterViewInit {\r\n\r\n SWIPE_ACTION = {LEFT: 'swipeleft', RIGHT: 'swiperight'};\r\n\r\n @Input()\r\n noEntriesPerPage: number = 6;\r\n\r\n private _menuEntries: VbMenuEntry[] = [];\r\n\r\n @ViewChild(CarouselComponent)\r\n carouselCmp: CarouselComponent;\r\n\r\n get menuEntries(): VbMenuEntry[] {\r\n return this._menuEntries;\r\n }\r\n\r\n @Input()\r\n set menuEntries(value: VbMenuEntry[]) {\r\n this._menuEntries = value;\r\n this.pagedMenuEntries = this.getPagedMenuEntries(this.getActiveButtons(this.menuEntries), this.noEntriesPerPage);\r\n }\r\n\r\n pagedMenuEntries: VbMenuEntry[][] = [];\r\n activeSlide;\r\n\r\n constructor(sessionActions: SessionActions, cd: ChangeDetectorRef,\r\n private router: Router, private route: ActivatedRoute,) {\r\n super(sessionActions, cd);\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n this.cd.detectChanges();\r\n }\r\n\r\n getMenuEntriesForPage(page: number): VbMenuEntry[] {\r\n return this.pagedMenuEntries[page - 1];\r\n }\r\n\r\n getPagedMenuEntries(entries: VbMenuEntry[], noEntriesPerPage): VbMenuEntry[][] {\r\n\r\n const len = entries.length;\r\n let pages = Math.floor(len / this.noEntriesPerPage);\r\n if (len % this.noEntriesPerPage > 0) {\r\n pages += 1;\r\n }\r\n\r\n let result: VbMenuEntry[][] = [];\r\n for (let i = 0; i < entries.length; i += noEntriesPerPage) {\r\n if (result.length < pages - 1)\r\n result.push(entries.slice(i, i + noEntriesPerPage));\r\n else {\r\n let remaining = entries.slice(i);\r\n remaining.length = this.noEntriesPerPage;\r\n result.push(remaining);\r\n break;\r\n }\r\n }\r\n\r\n return result;\r\n }\r\n\r\n navigate(link) {\r\n this.router.navigate(link, {relativeTo: this.route});\r\n }\r\n\r\n setFaClass(icon: string) {\r\n let hasIcon: boolean = icon && icon != '';\r\n let c = {'fa fa-fw fa-3x': hasIcon};\r\n c['fa-' + icon] = hasIcon;\r\n\r\n return c;\r\n }\r\n\r\n getActiveButtons(entries?: VbMenuEntry[]): VbMenuEntry[] {\r\n entries = entries ? entries : this.menuEntries;\r\n return entries.filter(b => b.visible === undefined || b.visible === true);\r\n }\r\n\r\n getColClass() {\r\n let num = this.getActiveButtons() ? this.getActiveButtons().length : 0;\r\n if (num < this.noEntriesPerPage) {\r\n num = this.noEntriesPerPage;\r\n }\r\n if (num <= 4) {\r\n return \"col-md-6\"\r\n } else {\r\n return \"col-md-4\";\r\n }\r\n }\r\n\r\n swipe(currentIndex: number, action = this.SWIPE_ACTION.RIGHT) {\r\n if (action == this.SWIPE_ACTION.RIGHT) {\r\n this.carouselCmp.nextSlide();\r\n } else {\r\n this.carouselCmp.previousSlide();\r\n }\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/visbos-touch-client/ui/navigation/touch-menu/touch-menu.component.ts","module.exports = \"\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/visbos-touch-client/ui/navigation/touch-navbar/touch-navbar.component.css\n// module id = ./src/app/visbos-touch-client/ui/navigation/touch-navbar/touch-navbar.component.css\n// module chunks = main","module.exports = \"\\r\\n\\r\\n\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/visbos-touch-client/ui/navigation/touch-navbar/touch-navbar.component.html\n// module id = ./src/app/visbos-touch-client/ui/navigation/touch-navbar/touch-navbar.component.html\n// module chunks = main","import {Component, OnInit} from \"@angular/core\";\r\nimport {select} from \"@angular-redux/store\";\r\nimport {Observable} from \"rxjs/Observable\";\r\nimport {IUser} from \"../../../../shared/redux-store/session/session.types\";\r\nimport {TouchMenuService} from \"../touch-menu.service\";\r\nimport {VbMenuEntry} from \"../menu-item.interface\";\r\nimport {Router} from '@angular/router';\r\n\r\n@Component({\r\n selector: 'vb-touch-navbar',\r\n templateUrl: './touch-navbar.component.html',\r\n styleUrls: ['./touch-navbar.component.css']\r\n})\r\nexport class TouchNavbarComponent implements OnInit {\r\n\r\n @select(['session', 'user'])\r\n currentUser$: Observable;\r\n\r\n activeEntries$: Observable;\r\n\r\n constructor(private touchMenuService: TouchMenuService, private router: Router) {\r\n this.activeEntries$ = this.touchMenuService.activeMenuEntries$;\r\n }\r\n\r\n ngOnInit() {\r\n\r\n }\r\n\r\n onReloadClicked() {\r\n this.router.navigate(['/'])\r\n .then(res => window.location.reload(true))\r\n .catch(err => window.location.reload(true));\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/visbos-touch-client/ui/navigation/touch-navbar/touch-navbar.component.ts","import {VbMenuEntry} from \"../menu-item.interface\";\r\n\r\nexport const touchMainMenu: VbMenuEntry[] = [\r\n {\r\n id: \"withdrawal\",\r\n title: 'Artikelentnahme',\r\n icon: 'shopping-basket',\r\n link: ['./scannen'],\r\n disabled: false,\r\n visible: true\r\n },\r\n {\r\n id: \"warehousing\",\r\n title: 'Artikelrückbuchung',\r\n icon: 'truck',\r\n link: ['./wareneingang'],\r\n disabled: false,\r\n visible: true\r\n },\r\n {\r\n id: \"scanlog\",\r\n title: 'Scanlog',\r\n icon: 'barcode',\r\n link: ['./scanlog'],\r\n disabled: false,\r\n visible: true\r\n },\r\n {\r\n id: \"article-search\",\r\n title: 'Artikelsuche',\r\n icon: 'search',\r\n link: ['./artikelsuche'],\r\n disabled: false,\r\n visible: true\r\n },\r\n {\r\n id: \"asset-status\",\r\n title: 'Asset-Status',\r\n icon: 'question-square',\r\n link: ['./assetstatus'],\r\n disabled: false,\r\n visible: true\r\n },\r\n {\r\n id: \"fill-up\",\r\n title: 'Außen-Lager beliefern',\r\n icon: 'shopping-cart',\r\n link: ['./lager-auffuellen'],\r\n disabled: false,\r\n visible: false\r\n },\r\n {\r\n id: \"depot-needs\",\r\n title: 'Lager-Bedarf',\r\n icon: 'dolly-flatbed-alt',\r\n link: ['./lager-bedarf'],\r\n disabled: false,\r\n visible: false\r\n },\r\n {\r\n id: \"stocktaking\",\r\n title: 'Medikamentenkontrolle',\r\n link: ['./inventur'],\r\n icon: 'clipboard-check',\r\n disabled: false,\r\n visible: true\r\n },\r\n {\r\n id: \"vtouch\",\r\n title: 'Zu eStore+ wechseln',\r\n icon: 'external-link',\r\n link: ['./vtouch'],\r\n disabled: false,\r\n visible: false\r\n },\r\n {\r\n id: \"marriage\",\r\n title: 'Verheiraten',\r\n icon: 'link',\r\n link: ['./verheiraten'],\r\n disabled: false,\r\n visible: true\r\n },\r\n];\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/visbos-touch-client/ui/navigation/touch-navigation-menu/touch-main.menu.ts","module.exports = \"\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/visbos-touch-client/ui/navigation/touch-navigation-menu/touch-navigation-menu.component.css\n// module id = ./src/app/visbos-touch-client/ui/navigation/touch-navigation-menu/touch-navigation-menu.component.css\n// module chunks = main","module.exports = \"\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/visbos-touch-client/ui/navigation/touch-navigation-menu/touch-navigation-menu.component.html\n// module id = ./src/app/visbos-touch-client/ui/navigation/touch-navigation-menu/touch-navigation-menu.component.html\n// module chunks = main","import {ChangeDetectorRef, Component, OnDestroy, OnInit} from \"@angular/core\";\r\nimport {ActivatedRoute, Router} from \"@angular/router\";\r\nimport {Subscription} from \"rxjs/Subscription\";\r\nimport {WithdrawalActions} from \"../../../../store-management/redux/scans.actions\";\r\nimport {environment} from \"../../../../../environments/environment\";\r\nimport {interval} from \"rxjs/observable/interval\";\r\nimport {AbstractVisbosComponent} from \"../../../../core/visbos-core/components/abstract-visbos.component\";\r\nimport {SessionActions} from \"../../../../shared/actions\";\r\nimport {TouchMenuService} from \"../touch-menu.service\";\r\nimport {Observable} from \"rxjs/Observable\";\r\nimport {VbMenuEntry} from \"../menu-item.interface\";\r\n\r\n@Component({\r\n selector: 'vb-touch-navigation-menu',\r\n templateUrl: './touch-navigation-menu.component.html',\r\n styleUrls: ['./touch-navigation-menu.component.css']\r\n})\r\nexport class TouchNavigationMenuComponent extends AbstractVisbosComponent implements OnInit, OnDestroy {\r\n\r\n wdCommitSub: Subscription;\r\n activeEntries$: Observable;\r\n\r\n constructor(sessionActions: SessionActions, cd: ChangeDetectorRef,\r\n private router: Router, private route: ActivatedRoute, private wdActions: WithdrawalActions,\r\n private touchMenuService: TouchMenuService) {\r\n super(sessionActions, cd);\r\n this.activeEntries$ = this.touchMenuService.activeMenuEntries$;\r\n }\r\n\r\n ngOnInit() {\r\n super.ngOnInit();\r\n\r\n this.addSubscription(this.wdCommitSub = interval(environment.touch.commit_interval * 1000).subscribe(() => {\r\n this.wdActions.commitWithdrawals().subscribe();\r\n }));\r\n\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/visbos-touch-client/ui/navigation/touch-navigation-menu/touch-navigation-menu.component.ts","module.exports = \"\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/visbos-touch-client/ui/touch-asset-status/touch-asset-status.component.css\n// module id = ./src/app/visbos-touch-client/ui/touch-asset-status/touch-asset-status.component.css\n// module chunks = main","module.exports = \"\\r\\n\\r\\n

Asset-Status-Abfrage

\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n

EPC (Barcode/RFID) scannen...

\\r\\n\\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n

Asset-Hierarchie

\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
ArtikelStatusLagerplatzMHD
{{lastAsset.label}}{{lastAsset.deleted_at ? 'ENTSORGT' : 'An Lagerplatz'}}{{lastAsset.location?.label}}{{lastAsset.product_batch?.use_before_date_formatted}}
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/visbos-touch-client/ui/touch-asset-status/touch-asset-status.component.html\n// module id = ./src/app/visbos-touch-client/ui/touch-asset-status/touch-asset-status.component.html\n// module chunks = main","import {ChangeDetectorRef, Component, OnInit} from '@angular/core';\r\nimport {AbstractVisbosComponent} from '../../../core/visbos-core/components/abstract-visbos.component';\r\nimport {FormControl} from '@angular/forms';\r\nimport {SessionActions} from '../../../shared/actions';\r\nimport {Asset} from '../../../shared/view-model/store-management/asset.type';\r\nimport {AssetService} from '../../../store-management/asset-management/services/asset.service';\r\n\r\n@Component({\r\n selector: 'vb-touch-asset-status',\r\n templateUrl: './touch-asset-status.component.html',\r\n styleUrls: ['./touch-asset-status.component.css']\r\n})\r\nexport class TouchAssetStatusComponent extends AbstractVisbosComponent implements OnInit {\r\n\r\n allowedTypes = ['Asset', 'AssetTree'];\r\n searchForm: FormControl;\r\n\r\n lastAsset: Asset;\r\n\r\n constructor(sessionActions: SessionActions, private assetService: AssetService, cd: ChangeDetectorRef) {\r\n super(sessionActions, cd);\r\n }\r\n\r\n ngOnInit() {\r\n super.ngOnInit();\r\n this.searchForm = new FormControl();\r\n }\r\n\r\n barcodeFound(asset: Asset) {\r\n if (asset) {\r\n this.addSubscription(this.assetService.getAsset(asset.cuid)\r\n .subscribe((res) => {\r\n this.lastAsset = res.data.asset;\r\n }));\r\n }\r\n }\r\n\r\n assetFound(result: Asset) {\r\n this.lastAsset = result;\r\n }\r\n\r\n searchCleared() {\r\n this.lastAsset = null;\r\n }\r\n\r\n isUbdOver(ubd: Date) {\r\n if (new Date(ubd) < new Date()) {\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/visbos-touch-client/ui/touch-asset-status/touch-asset-status.component.ts","module.exports = \"\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/visbos-touch-client/ui/touch-depot-needs/touch-depot-needs-depot-selection/touch-depot-needs-depot-selection.component.css\n// module id = ./src/app/visbos-touch-client/ui/touch-depot-needs/touch-depot-needs-depot-selection/touch-depot-needs-depot-selection.component.css\n// module chunks = main","module.exports = \"
\\r\\n
\\r\\n\\r\\n

\\r\\n Bitte wählen Sie das Lager auf, für welches der Bedarf angezeigt werden soll.\\r\\n

\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/visbos-touch-client/ui/touch-depot-needs/touch-depot-needs-depot-selection/touch-depot-needs-depot-selection.component.html\n// module id = ./src/app/visbos-touch-client/ui/touch-depot-needs/touch-depot-needs-depot-selection/touch-depot-needs-depot-selection.component.html\n// module chunks = main","import {ChangeDetectorRef, Component, EventEmitter, OnInit, Output} from '@angular/core';\r\nimport {IModel} from \"../../../../shared/view-model/imodel.interface\";\r\nimport {map} from \"rxjs/operators\";\r\nimport {AbstractVisbosComponent} from \"../../../../core/visbos-core/components/abstract-visbos.component\";\r\nimport {AdministrationUnitService} from \"../../../../organization/services/administration_unit_service/administration-unit.service\";\r\nimport {Observable} from \"rxjs/Observable\";\r\nimport {SessionActions} from \"../../../../shared/actions\";\r\nimport {Depot} from \"../../../../shared/view-model/store-management/depot.type\";\r\n\r\n@Component({\r\n selector: 'vb-touch-depot-needs-depot-selection',\r\n templateUrl: './touch-depot-needs-depot-selection.component.html',\r\n styleUrls: ['./touch-depot-needs-depot-selection.component.css']\r\n})\r\nexport class TouchDepotNeedsDepotSelectionComponent extends AbstractVisbosComponent implements OnInit {\r\n\r\n managedDepots$: Observable;\r\n selectedDepot: Depot;\r\n\r\n @Output()\r\n depotSelected: EventEmitter = new EventEmitter();\r\n\r\n depotLabel: (item: IModel) => string = (depot: Depot) => {\r\n let label = \"\";\r\n if (depot.administration_unit) {\r\n label = depot.administration_unit.label + \", \";\r\n }\r\n label += depot.label;\r\n return label;\r\n };\r\n\r\n constructor(sessionActions: SessionActions, cd: ChangeDetectorRef,\r\n private adminUnitService: AdministrationUnitService) {\r\n super(sessionActions, cd);\r\n }\r\n\r\n\r\n ngOnInit(): void {\r\n super.ngOnInit();\r\n\r\n this.managedDepots$ = this.adminUnitService.getAdminUnitDetails().pipe(\r\n map(res => res.data.fetchAdminUnits[0].depots_managed_by_external_admin_unit)\r\n );\r\n\r\n }\r\n\r\n onDepotSelected(depot: Depot) {\r\n this.selectedDepot = depot;\r\n this.depotSelected.emit(depot);\r\n }\r\n\r\n}\n\n\n// WEBPACK FOOTER //\n// ./src/app/visbos-touch-client/ui/touch-depot-needs/touch-depot-needs-depot-selection/touch-depot-needs-depot-selection.component.ts","module.exports = \"\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/visbos-touch-client/ui/touch-depot-needs/touch-depot-needs-wizard/touch-depot-needs-wizard.component.css\n// module id = ./src/app/visbos-touch-client/ui/touch-depot-needs/touch-depot-needs-wizard/touch-depot-needs-wizard.component.css\n// module chunks = main","module.exports = \"\\r\\n\\r\\n

Lager-Bedarf

\\r\\n\\r\\n
\\r\\n\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n\\r\\n\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n

Lager wird aufgefüllt... Sie werden zum Hauptmenü weitergeleitet, sobald der Vorgang abgeschlossen\\r\\n wurde!

\\r\\n\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n
\\r\\n\\r\\n
\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/visbos-touch-client/ui/touch-depot-needs/touch-depot-needs-wizard/touch-depot-needs-wizard.component.html\n// module id = ./src/app/visbos-touch-client/ui/touch-depot-needs/touch-depot-needs-wizard/touch-depot-needs-wizard.component.html\n// module chunks = main","import {ChangeDetectorRef, Component, OnInit, ViewChild} from '@angular/core';\r\nimport {Location} from \"@angular/common\";\r\nimport {AbstractVisbosComponent} from \"../../../../core/visbos-core/components/abstract-visbos.component\";\r\nimport {Depot} from \"../../../../shared/view-model/store-management/depot.type\";\r\nimport {Router} from \"@angular/router\";\r\nimport {FileService} from \"../../../../core/visbos-core/http/file.service\";\r\nimport {MovingDirection, WizardComponent} from \"ng2-archwizard/dist\";\r\nimport {SessionActions} from \"../../../../shared/actions\";\r\nimport {DepotNeedsComponent} from \"../../../../store-management/procurement/depot-needs/depot-needs.component\";\r\n\r\n@Component({\r\n selector: 'vb-touch-depot-needs-wizard',\r\n templateUrl: './touch-depot-needs-wizard.component.html',\r\n styleUrls: ['./touch-depot-needs-wizard.component.css']\r\n})\r\nexport class TouchDepotNeedsWizardComponent extends AbstractVisbosComponent implements OnInit {\r\n\r\n MovingDirection;\r\n\r\n @ViewChild(WizardComponent)\r\n wizard: WizardComponent;\r\n\r\n @ViewChild(DepotNeedsComponent)\r\n itemsComponent: DepotNeedsComponent;\r\n\r\n currentStep: number;\r\n\r\n canExitDepotPageProxy = (direction: MovingDirection) => this.canExitDepotPage.apply(this, [direction]);\r\n canExitItemsPageProxy = (direction: MovingDirection) => this.canExitItemsPage.apply(this, [direction]);\r\n\r\n selectedDepot: Depot;\r\n\r\n constructor(sessionActions: SessionActions, cd: ChangeDetectorRef,\r\n private fileService: FileService,\r\n private loc: Location,\r\n private router: Router) {\r\n super(sessionActions, cd);\r\n this.MovingDirection = MovingDirection;\r\n }\r\n\r\n onStepChanged() {\r\n this.currentStep = this.wizard.model.getIndexOfStep(this.wizard.model.currentStep);\r\n this.cd.detectChanges();\r\n }\r\n\r\n onFinalStepEntered() {\r\n this.onStepChanged();\r\n }\r\n\r\n onExitDepotPage(direction: MovingDirection) {\r\n\r\n }\r\n\r\n onExitItemsPage(direction: MovingDirection) {\r\n if (direction == MovingDirection.Forwards) {\r\n this.onFillUpDepotClicked();\r\n }\r\n }\r\n\r\n onGoHomeClicked() {\r\n this.router.navigate(['/touch']);\r\n }\r\n\r\n onPrintDispatchListClicked() {\r\n this.itemsComponent.onGenerateDispatchListPdfClick()\r\n .then(res => {\r\n let data = this.fileService.base64toBlob(res.data.dispatchListPdf, 'application/pdf', 512);\r\n this.fileService.printFile(data);\r\n })\r\n .catch(err => this.sessionActions.throwError(err));\r\n }\r\n\r\n onFillUpDepotClicked() {\r\n this.onGoHomeClicked();\r\n }\r\n\r\n onDepotSelected(depot: Depot) {\r\n this.selectedDepot = depot;\r\n }\r\n\r\n canExitDepotPage(direction: MovingDirection): boolean {\r\n\r\n if (direction == MovingDirection.Forwards) {\r\n return this.selectedDepot != null;\r\n }\r\n\r\n return false;\r\n\r\n }\r\n\r\n canExitItemsPage(direction: MovingDirection): boolean {\r\n\r\n return true;\r\n /*if (direction == MovingDirection.Forwards) {\r\n return this.itemsComponent && this.itemsComponent.canSend();\r\n } else {\r\n return true;\r\n }*/\r\n\r\n }\r\n\r\n}\n\n\n// WEBPACK FOOTER //\n// ./src/app/visbos-touch-client/ui/touch-depot-needs/touch-depot-needs-wizard/touch-depot-needs-wizard.component.ts","module.exports = \"\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/visbos-touch-client/ui/touch-depot-yard-search/touch-depot-yard-search.component.css\n// module id = ./src/app/visbos-touch-client/ui/touch-depot-yard-search/touch-depot-yard-search.component.css\n// module chunks = main","module.exports = \"\\r\\n\\r\\n

Artikel- und Lagerplatzsuche

\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n

Artikelnamen eingeben:

\\r\\n\\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n

Oder Barcode des Artikels scannen:

\\r\\n\\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n

Artikelliste

\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
NameLagerLagerplatz
{{st.label}}{{st.depot?.label}}{{st.depot_yard?.label}}
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/visbos-touch-client/ui/touch-depot-yard-search/touch-depot-yard-search.component.html\n// module id = ./src/app/visbos-touch-client/ui/touch-depot-yard-search/touch-depot-yard-search.component.html\n// module chunks = main","import {ChangeDetectorRef, Component, OnInit, ViewChild} from \"@angular/core\";\r\nimport {AbstractVisbosComponent} from \"../../../core/visbos-core/components/abstract-visbos.component\";\r\nimport {SessionActions} from \"../../../shared/actions/session.actions\";\r\nimport {StockService} from \"../../../store-management/services/stock.service\";\r\nimport {Stock} from \"../../../shared/view-model/stock\";\r\nimport {FormControl} from \"@angular/forms\";\r\nimport {SearchInputComponent} from \"../../../core/visbos-core/ui/navigation/search-input/search-input.component\";\r\nimport {StockItemService} from \"../../../store-management/services/stock-item-service/stock-item.service\";\r\nimport {map, switchMap} from \"rxjs/operators\";\r\n\r\n@Component({\r\n selector: 'vb-touch-depot-yard-search',\r\n templateUrl: './touch-depot-yard-search.component.html',\r\n styleUrls: ['./touch-depot-yard-search.component.css']\r\n})\r\nexport class TouchDepotYardSearchComponent extends AbstractVisbosComponent implements OnInit {\r\n\r\n allowedTypes = ['Stock'];\r\n searchForm: FormControl;\r\n\r\n @ViewChild(SearchInputComponent)\r\n searchInput: SearchInputComponent;\r\n\r\n searchFunction = (term) => this.stockService.searchStocks(term)\r\n .pipe(map(({stocks}) => {\r\n let st = [...stocks];\r\n return st.sort((st1: Stock, st2: Stock) => st1.label.localeCompare(st2.label));\r\n }));\r\n\r\n stocks: Stock[] = [].sort();\r\n\r\n constructor(sessionActions: SessionActions, private stockService: StockService, private siService: StockItemService, cd: ChangeDetectorRef) {\r\n super(sessionActions, cd);\r\n }\r\n\r\n ngOnInit() {\r\n super.ngOnInit();\r\n this.searchForm = new FormControl();\r\n }\r\n\r\n barcodeFound(article: Stock) {\r\n if (article) {\r\n this.addSubscription(this.stockService.getStock(article.cuid).pipe(\r\n switchMap((st: any) => {\r\n return this.siService.getStockItem(st.stock_item.cuid);\r\n })\r\n )\r\n .subscribe((res: any) => {\r\n this.stocks = res.stocks;\r\n }));\r\n }\r\n }\r\n\r\n stocksFound(result: Stock[]) {\r\n this.stocks = result;\r\n }\r\n\r\n searchCleared() {\r\n this.stocks = [];\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/visbos-touch-client/ui/touch-depot-yard-search/touch-depot-yard-search.component.ts","module.exports = \"\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/visbos-touch-client/ui/touch-fill-up/touch-fill-up-depot-selection/touch-fill-up-depot-selection.component.css\n// module id = ./src/app/visbos-touch-client/ui/touch-fill-up/touch-fill-up-depot-selection/touch-fill-up-depot-selection.component.css\n// module chunks = main","module.exports = \"
\\r\\n
\\r\\n\\r\\n

\\r\\n Bitte wählen Sie das Lager auf, für welches der Bedarf angezeigt und welches aufgefüllt werden soll.\\r\\n

\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/visbos-touch-client/ui/touch-fill-up/touch-fill-up-depot-selection/touch-fill-up-depot-selection.component.html\n// module id = ./src/app/visbos-touch-client/ui/touch-fill-up/touch-fill-up-depot-selection/touch-fill-up-depot-selection.component.html\n// module chunks = main","import {ChangeDetectorRef, Component, EventEmitter, OnInit, Output} from '@angular/core';\r\nimport {AbstractVisbosComponent} from \"../../../../core/visbos-core/components/abstract-visbos.component\";\r\nimport {SessionActions} from \"../../../../shared/actions\";\r\nimport {Depot} from \"../../../../shared/view-model/store-management/depot.type\";\r\nimport {Observable} from \"rxjs/Observable\";\r\nimport {map} from \"rxjs/operators\";\r\nimport {AdministrationUnitService} from \"../../../../organization/services/administration_unit_service/administration-unit.service\";\r\nimport {IModel} from \"../../../../shared/view-model/imodel.interface\";\r\n\r\n@Component({\r\n selector: 'vb-touch-fill-up-depot-selection',\r\n templateUrl: './touch-fill-up-depot-selection.component.html',\r\n styleUrls: ['./touch-fill-up-depot-selection.component.css']\r\n})\r\nexport class TouchFillUpDepotSelectionComponent extends AbstractVisbosComponent implements OnInit {\r\n\r\n managedDepots$: Observable;\r\n selectedDepot: Depot;\r\n\r\n @Output()\r\n depotSelected: EventEmitter = new EventEmitter();\r\n\r\n depotLabel: (item: IModel) => string = (depot: Depot) => {\r\n let label = \"\";\r\n if (depot.administration_unit) {\r\n label = depot.administration_unit.label + \", \";\r\n }\r\n label += depot.label;\r\n return label;\r\n };\r\n\r\n constructor(sessionActions: SessionActions, cd: ChangeDetectorRef,\r\n private adminUnitService: AdministrationUnitService) {\r\n super(sessionActions, cd);\r\n }\r\n\r\n\r\n ngOnInit(): void {\r\n super.ngOnInit();\r\n\r\n this.managedDepots$ = this.adminUnitService.getAdminUnitDetails().pipe(\r\n map(res => res.data.fetchAdminUnits[0].manages_external_depots)\r\n );\r\n\r\n }\r\n\r\n onDepotSelected(depot: Depot) {\r\n this.selectedDepot = depot;\r\n this.depotSelected.emit(depot);\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/visbos-touch-client/ui/touch-fill-up/touch-fill-up-depot-selection/touch-fill-up-depot-selection.component.ts","module.exports = \"\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/visbos-touch-client/ui/touch-fill-up/touch-fill-up-wizard/touch-fill-up-wizard.component.css\n// module id = ./src/app/visbos-touch-client/ui/touch-fill-up/touch-fill-up-wizard/touch-fill-up-wizard.component.css\n// module chunks = main","module.exports = \"\\r\\n\\r\\n

Lager auffüllen

\\r\\n\\r\\n
\\r\\n\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n\\r\\n\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n

Lager wird aufgefüllt... Sie werden zum Hauptmenü weitergeleitet, sobald der Vorgang abgeschlossen\\r\\n wurde!

\\r\\n\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/visbos-touch-client/ui/touch-fill-up/touch-fill-up-wizard/touch-fill-up-wizard.component.html\n// module id = ./src/app/visbos-touch-client/ui/touch-fill-up/touch-fill-up-wizard/touch-fill-up-wizard.component.html\n// module chunks = main","import {ChangeDetectorRef, Component, OnInit, ViewChild} from '@angular/core';\r\nimport {MovingDirection, WizardComponent} from \"ng2-archwizard/dist\";\r\nimport {AbstractVisbosComponent} from \"../../../../core/visbos-core/components/abstract-visbos.component\";\r\nimport {SessionActions} from \"../../../../shared/actions\";\r\nimport {Router} from \"@angular/router\";\r\nimport {Depot} from \"../../../../shared/view-model/store-management/depot.type\";\r\nimport {SubAdminUnitNeedsComponent} from \"../../../../store-management/procurement/sub-admin-unit-needs/sub-admin-unit-needs.component\";\r\nimport {MessageType} from \"../../../../shared/redux-store/session/session.types\";\r\nimport {FileService} from \"../../../../core/visbos-core/http/file.service\";\r\nimport {Location} from \"@angular/common\";\r\nimport {Subject} from 'rxjs';\r\n\r\n@Component({\r\n selector: 'vb-touch-fill-up-wizard',\r\n templateUrl: './touch-fill-up-wizard.component.html',\r\n styleUrls: ['./touch-fill-up-wizard.component.css']\r\n})\r\nexport class TouchFillUpWizardComponent extends AbstractVisbosComponent implements OnInit {\r\n\r\n MovingDirection;\r\n\r\n @ViewChild(WizardComponent)\r\n wizard: WizardComponent;\r\n\r\n @ViewChild(SubAdminUnitNeedsComponent)\r\n itemsComponent: SubAdminUnitNeedsComponent;\r\n\r\n currentStep: number;\r\n\r\n canExitDepotPageProxy = (direction: MovingDirection) => this.canExitDepotPage.apply(this, [direction]);\r\n canExitItemsPageProxy = (direction: MovingDirection) => this.canExitItemsPage.apply(this, [direction]);\r\n\r\n selectedDepot: Depot;\r\n\r\n constructor(sessionActions: SessionActions, cd: ChangeDetectorRef,\r\n private fileService: FileService,\r\n private loc: Location,\r\n private router: Router) {\r\n super(sessionActions, cd);\r\n this.MovingDirection = MovingDirection;\r\n }\r\n\r\n onStepChanged() {\r\n this.currentStep = this.wizard.model.getIndexOfStep(this.wizard.model.currentStep);\r\n this.cd.detectChanges();\r\n }\r\n\r\n onFinalStepEntered() {\r\n this.onStepChanged();\r\n }\r\n\r\n onExitDepotPage(direction: MovingDirection) {\r\n\r\n }\r\n\r\n onExitItemsPage(direction: MovingDirection) {\r\n if (direction == MovingDirection.Forwards) {\r\n this.onFillUpDepotClicked();\r\n }\r\n }\r\n\r\n onGoHomeClicked() {\r\n this.router.navigate(['/touch']);\r\n }\r\n\r\n dispatchListLoading$: Subject = new Subject();\r\n\r\n onPrintDispatchListClicked() {\r\n this.dispatchListLoading$.next(true);\r\n this.itemsComponent.onGenerateDispatchListPdfClick()\r\n .then(res => {\r\n this.dispatchListLoading$.next(false);\r\n this.fileService.printFile(res.data.dispatchListPdf, 'pdf', true);\r\n })\r\n .catch(err => {\r\n this.dispatchListLoading$.next(false);\r\n this.sessionActions.throwError(err)\r\n });\r\n }\r\n\r\n onFillUpDepotClicked() {\r\n this.itemsComponent.onDispatchItemsClick()\r\n .then(res => {\r\n this.sessionActions.pushMessage(\"Lager erfolgreich aufgefüllt!\", MessageType.SUCCESS, \"Lager auffüllen\");\r\n\r\n const pdfWithdrawal = res.data.fillUpDepot.voucher_withdrawal;\r\n\r\n if (pdfWithdrawal) {\r\n let data = this.fileService.base64toBlob(pdfWithdrawal, 'application/pdf', 512);\r\n this.fileService.printFile(data);\r\n }\r\n\r\n this.onGoHomeClicked();\r\n\r\n })\r\n .catch(err => {\r\n this.sessionActions.throwError(err, \"Fehler beim Auffüllen, Bestände wurden nicht geändert!\", \"Lager auffüllen\");\r\n });\r\n }\r\n\r\n onDepotSelected(depot: Depot) {\r\n this.selectedDepot = depot;\r\n }\r\n\r\n canExitDepotPage(direction: MovingDirection): boolean {\r\n\r\n if (direction == MovingDirection.Forwards) {\r\n return this.selectedDepot != null;\r\n }\r\n\r\n return false;\r\n\r\n }\r\n\r\n canExitItemsPage(direction: MovingDirection): boolean {\r\n\r\n if (direction == MovingDirection.Forwards) {\r\n return this.itemsComponent && this.itemsComponent.canSend();\r\n } else {\r\n return true;\r\n }\r\n\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/visbos-touch-client/ui/touch-fill-up/touch-fill-up-wizard/touch-fill-up-wizard.component.ts","module.exports = \"\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/visbos-touch-client/ui/touch-marriage/touch-marriage-wizzard/touch-marriage-wizzard.component.css\n// module id = ./src/app/visbos-touch-client/ui/touch-marriage/touch-marriage-wizzard/touch-marriage-wizzard.component.css\n// module chunks = main","module.exports = \"\\r\\n\\r\\n

Material verheiraten

\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/visbos-touch-client/ui/touch-marriage/touch-marriage-wizzard/touch-marriage-wizzard.component.html\n// module id = ./src/app/visbos-touch-client/ui/touch-marriage/touch-marriage-wizzard/touch-marriage-wizzard.component.html\n// module chunks = main","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'vb-touch-marriage-wizzard',\r\n templateUrl: './touch-marriage-wizzard.component.html',\r\n styleUrls: ['./touch-marriage-wizzard.component.css']\r\n})\r\nexport class TouchMarriageWizzardComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/visbos-touch-client/ui/touch-marriage/touch-marriage-wizzard/touch-marriage-wizzard.component.ts","module.exports = \"\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/visbos-touch-client/ui/touch-scan/scan-consumer/scan-consumer.component.css\n// module id = ./src/app/visbos-touch-client/ui/touch-scan/scan-consumer/scan-consumer.component.css\n// module chunks = main","module.exports = \"
\\r\\n
\\r\\n

Wählen Sie einen Entnahmegrund aus

\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n

Zusatzangaben für Einsätze

\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n

Wählen Sie einen Verbraucher für die Artikelentnahme aus\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n

\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n

Verbraucher durch Scannen eines Verbraucher-Barcodes\\r\\n auswählen...

\\r\\n

Aktueller Verbraucher:\\r\\n {{scanWizardService?.currentWithdrawal?.consumer_type}}\\r\\n {{scanWizardService?.currentConsumer?.label}}

\\r\\n\\r\\n
\\r\\n
\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/visbos-touch-client/ui/touch-scan/scan-consumer/scan-consumer.component.html\n// module id = ./src/app/visbos-touch-client/ui/touch-scan/scan-consumer/scan-consumer.component.html\n// module chunks = main","import {ChangeDetectorRef, Component, EventEmitter, OnDestroy, OnInit, Output} from \"@angular/core\";\r\nimport {WithdrawalConsumerInterface} from \"../../../../store-management/model/withdrawal-consumer-interface.type\";\r\nimport {TouchScanWizardService} from \"../touch-scan-wizard/touch-scan-wizard.service\";\r\nimport {AbstractVisbosComponent} from \"../../../../core/visbos-core/components/abstract-visbos.component\";\r\nimport {SessionActions} from \"../../../../shared/actions\";\r\nimport {GERMAN_LAYOUT} from \"../../../../core/visbos-core/ui/directives/on-screen-keyboard.directive\";\r\nimport {KeyboardOptions} from \"virtual-keyboard\";\r\nimport {getDefaultWithdrawalReason, WITHDRAWAL_REASONS} from \"../../../../store-management/withdrawal-reasons.enum\";\r\n\r\n\r\n@Component({\r\n selector: 'vb-scan-consumer',\r\n templateUrl: './scan-consumer.component.html',\r\n styleUrls: ['./scan-consumer.component.css']\r\n})\r\nexport class ScanConsumerComponent extends AbstractVisbosComponent implements OnInit, OnDestroy {\r\n\r\n withdrawalReasons = WITHDRAWAL_REASONS;\r\n\r\n defaultReason() {\r\n return getDefaultWithdrawalReason();\r\n }\r\n\r\n kbOptions: KeyboardOptions = {\r\n type: 'input',\r\n layout: 'custom',\r\n customLayout: GERMAN_LAYOUT\r\n };\r\n\r\n @Output()\r\n consumerSelected: EventEmitter = new EventEmitter();\r\n\r\n allowedScanTypes = ['AdministrationUnit', 'Vehicle', 'Client'];\r\n\r\n constructor(sessionActions: SessionActions, cd: ChangeDetectorRef,\r\n public scanWizardService: TouchScanWizardService) {\r\n super(sessionActions, cd);\r\n }\r\n\r\n ngOnInit() {\r\n super.ngOnInit();\r\n }\r\n\r\n ngOnDestroy(): void {\r\n super.ngOnDestroy()\r\n }\r\n\r\n onSelectReason(reason: string) {\r\n this.scanWizardService.selectWithdrawalReason(reason);\r\n this.cd.detectChanges();\r\n }\r\n\r\n onSelectConsumer(consumer: WithdrawalConsumerInterface) {\r\n let consumerType = '';\r\n\r\n switch (consumer.__typename) {\r\n case 'AdministrationUnit':\r\n consumerType = 'Standort';\r\n break;\r\n case 'Vehicle':\r\n consumerType = 'Fahrzeug';\r\n break;\r\n case 'Client':\r\n consumerType = 'Klient';\r\n break;\r\n default:\r\n consumerType = '';\r\n break;\r\n }\r\n\r\n this.scanWizardService.selectConsumer(consumerType, consumer);\r\n\r\n this.consumerSelected.emit(consumer);\r\n\r\n }\r\n\r\n onNoteChanged(note) {\r\n this.scanWizardService.setWithdrawalNote(note);\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/visbos-touch-client/ui/touch-scan/scan-consumer/scan-consumer.component.ts","module.exports = \"\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/visbos-touch-client/ui/touch-scan/scan-stocks/scan-stocks.component.css\n// module id = ./src/app/visbos-touch-client/ui/touch-scan/scan-stocks/scan-stocks.component.css\n// module chunks = main","module.exports = \"
\\r\\n
\\r\\n

Entnahmedaten

\\r\\n
\\r\\n\\r\\n
\\r\\n

Entnahmegrund: {{scanWizardService?.currentWithdrawal?.withdrawal_reason_type}}\\r\\n {{scanWizardService?.currentWithdrawal?.withdrawal_reason_type == 'Einsatz' ?\\r\\n scanWizardService?.currentWithdrawalReason?.label : ''}}

\\r\\n

Aktueller Verbraucher: {{scanWizardService?.currentWithdrawal?.consumer_type}}\\r\\n {{scanWizardService?.currentConsumer?.label}}

\\r\\n

\\r\\n Authorisierte Person für Medikamentenentnahme: PersNr.: {{scanWizardService.currentPersonalNumber}}

\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n

Liste entnommener Artikel\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n

\\r\\n
\\r\\n\\r\\n
\\r\\n Keine Artikel gescannt...\\r\\n
\\r\\n\\r\\n 0\\\">\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
#ArtikelIst-BestandAnzahl
{{(withdrawnStocks$ | async).length - i}}{{stock.stock.label}}\\r\\n \\r\\n \\r\\n {{stock.stock?.act_stock}}\\r\\n \\r\\n \\r\\n Ist-Bestand korrigieren: Geben Sie den tatsächlichen Ist-Bestand des Artikels vor der Entnahme an und bestätigen Sie die Eingabe:\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n {{stock.amount}}\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/visbos-touch-client/ui/touch-scan/scan-stocks/scan-stocks.component.html\n// module id = ./src/app/visbos-touch-client/ui/touch-scan/scan-stocks/scan-stocks.component.html\n// module chunks = main","import {\r\n AfterViewInit,\r\n ChangeDetectorRef,\r\n Component,\r\n EventEmitter,\r\n OnDestroy,\r\n OnInit,\r\n Output,\r\n ViewChild\r\n} from \"@angular/core\";\r\nimport {Stock} from \"../../../../shared/view-model/stock\";\r\nimport {Observable} from \"rxjs/Observable\";\r\nimport {TempWithdrawnStock} from \"../../../../store-management/redux/scans.types\";\r\nimport {IModel} from \"../../../../shared/view-model/imodel.interface\";\r\nimport {SessionActions} from \"../../../../shared/actions/session.actions\";\r\nimport {TouchScanWizardService} from \"../touch-scan-wizard/touch-scan-wizard.service\";\r\nimport {GenericModalComponent} from \"../../../../core/visbos-core/ui/forms/generic-modal/generic-modal.component\";\r\nimport {MedicineWithdrawalAuthFormComponent} from \"../../../../store-management/withdrawal/medicine-withdrawal-auth-form/medicine-withdrawal-auth-form.component\";\r\nimport {BarcodeScannerComponent} from \"../../../../core/visbos-core/ui/components/barcode-scanner/barcode-scanner.component\";\r\nimport {AbstractVisbosComponent} from \"../../../../core/visbos-core/components/abstract-visbos.component\";\r\nimport {StockService} from \"../../../../store-management/services/stock.service\";\r\nimport {map} from \"rxjs/operators\";\r\nimport {WithdrawalService} from '../../../../store-management/services/withdrawal.service';\r\nimport {WarehousingService} from '../../../../store-management/services/warehousing-service/warehousing.service';\r\nimport {AbstractVisbosControl} from '../../../../core/visbos-core/ui/forms/abstract-visbos-control';\r\nimport {NgRedux} from '@angular-redux/store';\r\nimport {IAppState} from '../../../../shared/redux-store';\r\nimport {MessageType} from '../../../../shared/redux-store/session';\r\n\r\n@Component({\r\n selector: 'vb-scan-stocks',\r\n templateUrl: './scan-stocks.component.html',\r\n styleUrls: ['./scan-stocks.component.css']\r\n})\r\nexport class ScanStocksComponent extends AbstractVisbosComponent implements OnInit, OnDestroy, AfterViewInit {\r\n\r\n @ViewChild('addMedDataModal')\r\n addMedDataModal: GenericModalComponent;\r\n\r\n @ViewChild('medForm')\r\n medForm: MedicineWithdrawalAuthFormComponent;\r\n\r\n @ViewChild(BarcodeScannerComponent)\r\n barcodeComponent: BarcodeScannerComponent;\r\n\r\n withdrawnStocks$: Observable;\r\n\r\n allowedScanTypes = ['Stock', 'AdministrationUnit', 'Vehicle', 'Client'];\r\n\r\n searchResultColumns = [\r\n {name: 'Bezeichner', prop: 'label'},\r\n {name: 'Lager', prop: 'depot.label'},\r\n {name: 'Lagerplatz', prop: 'depot_yard.label'},\r\n ];\r\n\r\n searchFunction = (term) => this.stockService.searchStocks(term)\r\n .pipe(map(({stocks}) => {\r\n let st = [...stocks];\r\n return st.sort((st1: Stock, st2: Stock) => st1.label.localeCompare(st2.label));\r\n }));\r\n\r\n @Output()\r\n articleScanFinished: EventEmitter = new EventEmitter();\r\n\r\n editing: { [cuid: string]: boolean } = {};\r\n\r\n constructor(sessionActions: SessionActions, cd: ChangeDetectorRef,\r\n private ngRedux: NgRedux,\r\n public scanWizardService: TouchScanWizardService, private stockService: StockService,\r\n private wdService: WithdrawalService, private warehousingService: WarehousingService) {\r\n super(sessionActions, cd);\r\n }\r\n\r\n ngOnInit() {\r\n super.ngOnInit();\r\n }\r\n\r\n ngOnDestroy(): void {\r\n super.ngOnDestroy();\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n super.ngAfterViewInit();\r\n\r\n this.withdrawnStocks$ = this.scanWizardService.currentWithdrawal$.pipe(\r\n map(wd => {\r\n let revWd = Array.from(wd.withdrawn_stocks);\r\n revWd.reverse();\r\n return revWd;\r\n })\r\n );\r\n }\r\n\r\n onScanned(scannedItem: IModel) {\r\n\r\n if (!scannedItem || !this.scanWizardService.currentWithdrawal$ || !this.scanWizardService.currentConsumer) {\r\n return;\r\n }\r\n\r\n if (scannedItem.__typename == 'Stock') {\r\n this.onStockScanned(scannedItem);\r\n return;\r\n }\r\n\r\n if (scannedItem.cuid == this.scanWizardService.currentConsumer.cuid) {\r\n this.onScanFinished();\r\n return;\r\n }\r\n\r\n this.barcodeComponent.error(\"Der Barcode ist keinem Bestandsartikel zugeordnet!\");\r\n\r\n }\r\n\r\n onScanFinished() {\r\n this.articleScanFinished.emit();\r\n }\r\n\r\n onStockScanned(stock: Stock) {\r\n this.scanWizardService.addStock(stock);\r\n\r\n if (stock.registration_required) {\r\n this.provideMedicineWithdrawalData();\r\n }\r\n }\r\n\r\n stockManuallyAdded(stock: Stock) {\r\n this.onStockScanned(stock);\r\n }\r\n\r\n removeStock(stock: Stock) {\r\n this.scanWizardService.removeStock(stock);\r\n }\r\n\r\n updateAmount(stock: Stock, amount: number) {\r\n this.scanWizardService.updateAmount(stock, amount);\r\n }\r\n\r\n updateActStock(stock: Stock, newActStock: number) {\r\n let oldActStock = stock.act_stock;\r\n let diff = newActStock - oldActStock;\r\n\r\n if (newActStock == newActStock) {\r\n console.info(\"No change in the actual stock\");\r\n }\r\n if (newActStock < oldActStock) {\r\n this.onStockDecrease(stock, diff * -1);\r\n }\r\n if (newActStock > oldActStock) {\r\n this.onStockIncrease(stock, diff);\r\n }\r\n }\r\n\r\n onStockDecrease(stock: Stock, amount: number) {\r\n const withdrawalData = {\r\n cuid: AbstractVisbosControl.cuid(),\r\n administration_unit_id: this.activeAdminUnitCuid,\r\n withdrawal_timestamp: new Date(),\r\n withdrawal_reason_type: 'Bestandskorrektur',\r\n withdrawal_reason_id: null,\r\n withdrawal_note: 'Bestandskorrektur durch TouchBenutzer',\r\n consumer_type: 'Standort',\r\n consumer_id: this.activeAdminUnitCuid,\r\n withdrawn_stocks: [\r\n {\r\n cuid: AbstractVisbosControl.cuid(),\r\n stock_id: stock.cuid,\r\n amount: amount\r\n }\r\n ],\r\n }\r\n const medAuthData = {\r\n authenticated_user_token: this.ngRedux.getState().session.token,\r\n authenticated_user_cuid: this.scanWizardService.currentWithdrawal.authenticated_user ? this.scanWizardService.currentWithdrawal.authenticated_user.cuid : this.ngRedux.getState().session.user.cuid,\r\n personal_number: this.scanWizardService.currentPersonalNumber,\r\n signature: this.scanWizardService.currentSignature\r\n };\r\n\r\n this.wdService.createWithdrawal(withdrawalData, medAuthData).toPromise()\r\n .then(res => {\r\n stock.act_stock = res.withdrawn_stocks[0].stock.act_stock;\r\n this.sessionActions.pushMessage(\"Der Bestand wurde erfolgreich korrigiert!\", MessageType.SUCCESS, \"Bestandskorrektur\");\r\n }).catch(err => {\r\n this.sessionActions.pushMessage(\"Fehler beim Korrigieren des Bestands!\", MessageType.ERROR, \"Bestandskorrektur\");\r\n });\r\n }\r\n\r\n onStockIncrease(stock: Stock, amount: number) {\r\n const warehousingData = {\r\n cuid: AbstractVisbosControl.cuid(),\r\n administration_unit_id: this.activeAdminUnitCuid,\r\n warehousing_timestamp: new Date(),\r\n warehousing_reason_type: 'Bestandskorrektur',\r\n warehousing_reason_id: null,\r\n warehousing_note: 'Bestandskorrektur durch TouchBenutzer',\r\n supplier_type: 'Standort',\r\n supplier_id: this.activeAdminUnitCuid,\r\n increased_stocks: [\r\n {\r\n cuid: AbstractVisbosControl.cuid(),\r\n stock_id: stock.cuid,\r\n amount: amount\r\n }\r\n ],\r\n }\r\n const medAuthData = {\r\n authenticated_user_token: this.ngRedux.getState().session.token,\r\n authenticated_user_cuid: this.scanWizardService.currentWithdrawal.authenticated_user ? this.scanWizardService.currentWithdrawal.authenticated_user.cuid : this.ngRedux.getState().session.user.cuid,\r\n personal_number: this.scanWizardService.currentPersonalNumber,\r\n signature: this.scanWizardService.currentSignature\r\n };\r\n\r\n this.warehousingService.createWarehousing(warehousingData, medAuthData).toPromise()\r\n .then(res => {\r\n stock.act_stock = res.createWarehousing.increased_stocks[0].stock.act_stock;\r\n this.sessionActions.pushMessage(\"Der Bestand wurde erfolgreich korrigiert!\", MessageType.SUCCESS, \"Bestandskorrektur\");\r\n }).catch(err => {\r\n this.sessionActions.pushMessage(\"Fehler beim Korrigieren des Bestands!\", MessageType.ERROR, \"Bestandskorrektur\");\r\n });\r\n }\r\n\r\n provideMedicineWithdrawalData() {\r\n\r\n //TODO: Use new med auth component and make this one equal to the warehousing wizard.\r\n\r\n let userRequired = !this.scanWizardService.currentUser && !this.scanWizardService.currentPersonalNumber;\r\n let reasonRequired = !this.scanWizardService.canExitDataPage();\r\n\r\n if (userRequired || reasonRequired) {\r\n // Run CD so the form is loaded in the modal\r\n this.addMedDataModal.show();\r\n this.cd.detectChanges();\r\n\r\n this.medForm.form.get('personal_number').setValue(this.scanWizardService.currentPersonalNumber);\r\n this.medForm.form.get('signature').setValue(this.scanWizardService.currentSignature);\r\n this.barcodeComponent.enabled = false;\r\n }\r\n this.cd.detectChanges();\r\n }\r\n\r\n canSaveMedicineWithdrawalData(): boolean {\r\n let checkUser = this.medForm && this.medForm.form && this.medForm.form.valid;\r\n let missionCheck = this.medForm && this.medForm.form && this.medForm.missionForm && ((this.medForm.form.get('withdrawal_reason_type').value == 'Einsatz' && this.medForm.missionForm.valid) || this.medForm.form.get('withdrawal_reason_type').value != 'Einsatz');\r\n\r\n return checkUser && missionCheck;\r\n }\r\n\r\n canCancelMedicineWithdrawalData(): boolean {\r\n return ((this.scanWizardService.currentUser || this.scanWizardService.currentPersonalNumber) && (this.scanWizardService.currentWithdrawalReason != null));\r\n }\r\n\r\n saveMedicineWithdrawalData(data) {\r\n\r\n this.scanWizardService.selectWithdrawalReason(this.scanWizardService.withdrawalReasonCtrl.get('withdrawal_reason_type').value);\r\n this.scanWizardService.saveWithdrawalReason();\r\n\r\n this.scanWizardService.selectUserByPersonalNumber(data.personal_number, data.signature);\r\n\r\n this.barcodeComponent.enabled = true;\r\n this.cd.detectChanges();\r\n }\r\n\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/visbos-touch-client/ui/touch-scan/scan-stocks/scan-stocks.component.ts","import {Injectable} from \"@angular/core\";\r\nimport {TempWithdrawal, TempWithdrawnStock} from \"../../../../store-management/redux/scans.types\";\r\nimport {WithdrawalReasonInterface} from \"../../../../store-management/model/withdrawal-reason-interface.type\";\r\nimport {WithdrawalConsumerInterface} from \"../../../../store-management/model/withdrawal-consumer-interface.type\";\r\nimport {Observable} from \"rxjs/Observable\";\r\nimport {selectActiveWithdrawal} from \"../touch-scan.component\";\r\nimport {NgRedux} from \"@angular-redux/store\";\r\nimport {WithdrawalActions} from \"../../../../store-management/redux/scans.actions\";\r\nimport {SessionActions} from \"../../../../shared/actions/session.actions\";\r\nimport {Stock} from \"../../../../shared/view-model/stock\";\r\nimport {FormBuilder, FormGroup, Validators} from \"@angular/forms\";\r\nimport {MissionFormComponent} from \"../../../../mission/mission-form/mission-form.component\";\r\nimport {MissionInput} from \"../../../../mission/model/mission-input.type\";\r\nimport {AbstractVisbosControl} from \"../../../../core/visbos-core/ui/forms/abstract-visbos-control\";\r\nimport {IAppState} from \"../../../../shared/redux-store/store\";\r\nimport {MissionService} from \"../../../../mission/services/mission.service\";\r\nimport {IUser} from \"../../../../shared/redux-store/session/session.types\";\r\n\r\n@Injectable()\r\nexport class TouchScanWizardService {\r\n\r\n currentWithdrawal$: Observable;\r\n\r\n currentWithdrawal: TempWithdrawal;\r\n\r\n currentConsumer: WithdrawalConsumerInterface;\r\n currentPersonalNumber: any;\r\n currentSignature: any;\r\n currentUser: IUser;\r\n currentWithdrawalReason: WithdrawalReasonInterface;\r\n withdrawnStocks: TempWithdrawnStock[];\r\n\r\n missionForm: FormGroup;\r\n missionForm$: Observable;\r\n\r\n withdrawalReasonCtrl: FormGroup;\r\n withdrawalReasonCtrl$: Observable;\r\n\r\n constructor(private wdActions: WithdrawalActions,\r\n private sessionActions: SessionActions,\r\n private missionService: MissionService,\r\n private ngRx: NgRedux,\r\n private fb: FormBuilder) {\r\n\r\n this.init();\r\n\r\n }\r\n\r\n init() {\r\n\r\n this.withdrawalReasonCtrl = this.fb.group({\r\n withdrawal_reason_type: ['Einsatz', Validators.required]\r\n });\r\n\r\n this.withdrawalReasonCtrl$ = this.withdrawalReasonCtrl.get('withdrawal_reason_type').valueChanges;\r\n\r\n this.currentWithdrawal$ = this.ngRx.select(selectActiveWithdrawal);\r\n\r\n this.currentWithdrawal$.subscribe((wd: TempWithdrawal) => {\r\n if (wd) {\r\n this.currentWithdrawal = wd;\r\n this.currentConsumer = wd.consumer;\r\n this.currentPersonalNumber = wd.personal_number;\r\n this.currentSignature = wd.signature;\r\n this.currentUser = wd.authenticated_user;\r\n this.currentWithdrawalReason = wd.withdrawal_reason;\r\n this.withdrawnStocks = wd.withdrawn_stocks;\r\n\r\n this.canExitDataPage(); // Required, as missionForm$ only gets subscribed to when the form is shown in the view\r\n this.canExitArticlePage();\r\n\r\n }\r\n });\r\n\r\n this.missionForm = MissionFormComponent.initControl(this.fb);\r\n this.missionForm$ = this.missionForm.statusChanges;\r\n this.missionForm$.subscribe(mf => {\r\n this.canExitDataPage();\r\n });\r\n\r\n }\r\n\r\n createNewWithdrawal() {\r\n this.wdActions.createNewWithdrawal();\r\n }\r\n\r\n deselectActiveWithdrawal() {\r\n this.wdActions.selectWithdrawal(null);\r\n }\r\n\r\n selectWithdrawalReason(reason_type: string) {\r\n this.wdActions.selectWithdrawalReason(this.currentWithdrawal.cuid, reason_type);\r\n }\r\n\r\n addStock(stock: Stock) {\r\n this.wdActions.addStockToWithdrawal(this.currentWithdrawal.cuid, stock);\r\n }\r\n\r\n removeStock(stock: Stock) {\r\n this.wdActions.removeStockFromWithdrawal(this.currentWithdrawal.cuid, stock);\r\n }\r\n\r\n updateAmount(stock: Stock, amount: number) {\r\n this.wdActions.setStockAmountForWithdrawal(this.currentWithdrawal.cuid, stock, amount);\r\n }\r\n\r\n selectConsumer(consumerType: string, consumer: WithdrawalConsumerInterface) {\r\n this.wdActions.selectConsumer(this.currentWithdrawal.cuid, consumerType, consumer);\r\n }\r\n\r\n selectUserByPersonalNumber(personalNumber: any, signature: string) {\r\n this.wdActions.selectUserByPersonalNumber(personalNumber, signature);\r\n }\r\n\r\n setWithdrawalNote(note: string) {\r\n this.wdActions.setNote(this.currentWithdrawal.cuid, note);\r\n }\r\n\r\n saveWithdrawalReason() {\r\n\r\n if (this.currentWithdrawal.withdrawal_reason_type == 'Einsatz' && this.missionForm) {\r\n let missionInput: MissionInput = this.missionForm.value;\r\n\r\n // Only generate if none exists\r\n if (!missionInput.cuid) {\r\n missionInput.cuid = AbstractVisbosControl.cuid();\r\n }\r\n\r\n this.saveMissionData(missionInput);\r\n } else {\r\n this.wdActions.selectWithdrawalReason(this.currentWithdrawal.cuid, this.withdrawalReasonCtrl.get('withdrawal_reason_type').value, null);\r\n this.missionForm.reset();\r\n }\r\n\r\n }\r\n\r\n saveMissionData(mission: MissionInput) {\r\n this.missionService.createMission(mission).subscribe(ms => {\r\n this.wdActions.selectWithdrawalReason(this.currentWithdrawal.cuid, \"Einsatz\", ms);\r\n });\r\n }\r\n\r\n saveWithdrawal(): Observable {\r\n return this.wdActions.commitWithdrawals();\r\n }\r\n\r\n canExitDataPage(): boolean {\r\n return this.currentConsumer && ((this.currentWithdrawal.withdrawal_reason_type == 'Einsatz' && this.missionForm && this.missionForm.valid) || this.currentWithdrawal.withdrawal_reason_type != 'Einsatz');\r\n }\r\n\r\n canExitArticlePage(): boolean {\r\n return this.canExitDataPage() && this.withdrawnStocks && this.withdrawnStocks.length > 0;\r\n }\r\n\r\n cancelWithdrawal() {\r\n this.wdActions.cancelWithdrawal(this.currentWithdrawal.cuid);\r\n }\r\n\r\n hasErrored() {\r\n return this.ngRx.getState().withdrawals.has_errored ?? false;\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/visbos-touch-client/ui/touch-scan/touch-scan-wizard/touch-scan-wizard.service.ts","module.exports = \"\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/visbos-touch-client/ui/touch-scan/touch-scan.component.css\n// module id = ./src/app/visbos-touch-client/ui/touch-scan/touch-scan.component.css\n// module chunks = main","module.exports = \"

Artikelentnahme\\r\\n \\r\\n \\r\\n Zeit bis Auto-Logout:\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n

\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n

Warenentnahme wird gespeichert... Sie werden zum Hauptmenü weitergeleitet, sobald die Sicherung abgeschlossen\\r\\n wurde!

\\r\\n\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n

Form: {{scanWizardService?.currentWithdrawal| json}}

\\r\\n
\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/visbos-touch-client/ui/touch-scan/touch-scan.component.html\n// module id = ./src/app/visbos-touch-client/ui/touch-scan/touch-scan.component.html\n// module chunks = main","import {AfterViewInit, ChangeDetectorRef, Component, HostListener, OnDestroy, OnInit, ViewChild} from \"@angular/core\";\r\nimport {IAppState} from \"../../../shared/redux-store/store\";\r\nimport {Subject} from \"rxjs/Subject\";\r\nimport {TouchScanWizardService} from \"./touch-scan-wizard/touch-scan-wizard.service\";\r\nimport {MovingDirection, WizardComponent} from \"ng2-archwizard/dist\";\r\nimport {AbstractVisbosComponent} from \"../../../core/visbos-core/components/abstract-visbos.component\";\r\nimport {Router} from \"@angular/router\";\r\nimport {SessionActions} from \"../../../shared/actions\";\r\nimport {MessageType} from \"../../../shared/redux-store/session\";\r\nimport {WithdrawalConsumerInterface} from \"../../../store-management/model/withdrawal-consumer-interface.type\";\r\n\r\nexport function selectActiveWithdrawal(state: IAppState) {\r\n let wd = state.withdrawals.withdrawalList.find(wd => wd.cuid === state.withdrawals.activeWithdrawalCuid);\r\n\r\n if (wd) {\r\n return wd;\r\n } else {\r\n return null;\r\n }\r\n\r\n}\r\n\r\n@Component({\r\n selector: 'vb-touch-scan',\r\n templateUrl: './touch-scan.component.html',\r\n providers: [TouchScanWizardService],\r\n styleUrls: ['./touch-scan.component.css']\r\n})\r\nexport class TouchScanComponent extends AbstractVisbosComponent implements OnInit, AfterViewInit, OnDestroy {\r\n\r\n MovingDirection;\r\n\r\n @ViewChild(WizardComponent)\r\n wizard: WizardComponent;\r\n\r\n currentStep: number;\r\n\r\n canExitDataPageProxy = (direction: MovingDirection) => this.canExitDataPage.apply(this, [direction]);\r\n canExitArticlePageProxy = (direction: MovingDirection) => this.canExitArticlePage.apply(this, [direction]);\r\n\r\n private isSaved: boolean = false;\r\n\r\n userEvent: Subject = new Subject();\r\n\r\n @HostListener('document:keydown')\r\n handleUserKeyboardEvent() {\r\n this.userEvent.next();\r\n }\r\n\r\n @HostListener('document:click')\r\n handleUserClickEvent() {\r\n this.userEvent.next();\r\n }\r\n\r\n constructor(sessionActions: SessionActions, cd: ChangeDetectorRef,\r\n private router: Router, public scanWizardService: TouchScanWizardService) {\r\n super(sessionActions, cd);\r\n\r\n this.MovingDirection = MovingDirection;\r\n\r\n }\r\n\r\n ngOnInit() {\r\n super.ngOnInit();\r\n this.scanWizardService.createNewWithdrawal();\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n this.userEvent.next();\r\n }\r\n\r\n ngOnDestroy() {\r\n super.ngOnDestroy();\r\n\r\n if (this.scanWizardService.withdrawnStocks.length == 0) {\r\n this.sessionActions.pushMessage(\"Warenentnahme wurde abgebrochen und nicht gespeichert!\", MessageType.WARNING, \"Warenentnahme\");\r\n this.scanWizardService.cancelWithdrawal();\r\n } else {\r\n if (this.isSaved === false) {\r\n this.scanWizardService.saveWithdrawal().subscribe();\r\n }\r\n }\r\n\r\n this.scanWizardService.deselectActiveWithdrawal();\r\n\r\n }\r\n\r\n onStepChanged() {\r\n let step = this.wizard.model.getIndexOfStep(this.wizard.model.currentStep);\r\n this.currentStep = step;\r\n }\r\n\r\n onFinalStepEntered() {\r\n this.onStepChanged();\r\n this.saveWithdrawal();\r\n }\r\n\r\n onExitDataPage(direction: MovingDirection) {\r\n this.scanWizardService.saveWithdrawalReason();\r\n }\r\n\r\n onTimeout() {\r\n this.onGoHomeClicked();\r\n }\r\n\r\n onGoHomeClicked() {\r\n return this.router.navigate(['/touch']);\r\n }\r\n\r\n onConsumerSelected(consumer: WithdrawalConsumerInterface) {\r\n this.wizard.navigation.goToNextStep();\r\n }\r\n\r\n onArticleScanFinished() {\r\n this.wizard.navigation.goToNextStep();\r\n }\r\n\r\n canExitDataPage(direction: MovingDirection): boolean {\r\n\r\n if (direction == MovingDirection.Forwards) {\r\n return this.scanWizardService.canExitDataPage();\r\n }\r\n\r\n return false;\r\n\r\n }\r\n\r\n canExitArticlePage(direction: MovingDirection): boolean {\r\n\r\n if (direction == MovingDirection.Forwards) {\r\n return this.scanWizardService.canExitArticlePage();\r\n } else {\r\n return true;\r\n }\r\n\r\n }\r\n\r\n saveWithdrawal() {\r\n this.isSaved = true;\r\n this.addSubscription(this.scanWizardService.saveWithdrawal().subscribe(\r\n res => {\r\n if (!this.scanWizardService.hasErrored()) {\r\n // this.onGoHomeClicked().then(() => location.reload())\r\n this.onGoHomeClicked();\r\n } else {\r\n this.onGoHomeClicked();\r\n }\r\n },\r\n err => this.onGoHomeClicked()\r\n ));\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/visbos-touch-client/ui/touch-scan/touch-scan.component.ts","module.exports = \"\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/visbos-touch-client/ui/touch-stocktaking/stocktaking-wizard/stocktaking-wizard.component.css\n// module id = ./src/app/visbos-touch-client/ui/touch-stocktaking/stocktaking-wizard/stocktaking-wizard.component.css\n// module chunks = main","module.exports = \"\\r\\n\\r\\n

Medikamentenkontrolle

\\r\\n\\r\\n
\\r\\n\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n\\r\\n\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n
\\r\\n Derzeit werden offene Inventur-Posten gespeichert, bitte warten Sie einen Moment, bevor Sie fortfahren...\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n

Um die abgeschlossene Medikamentenkontrolle festzuschreiben, klicken Sie bitte unten auf den\\r\\n entsprechenden Knopf.

\\r\\n

Die Medikamentenkontrolle wird gespeichert und kann anschließend nicht mehr verändert werden!

\\r\\n
\\r\\n
\\r\\n

Die Medikamentenkontrolle kann nicht abgeschlossen werden, da noch nicht alle Medikamente\\r\\n kontrolliert worden sind!

\\r\\n

Bitte tragen Sie für alle Medikamenten auf der Kontrollliste den aktuellen IST-Bestand ein und speichern\\r\\n Sie Ihre Eingaben. Sobald alle Eingaben vorhanden sind, kann die Medikamentenkontrolle festgeschrieben\\r\\n werden.

\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n

CTRL: {{getStocktakingInitControl()?.value | json}}

\\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n
\\r\\n

Es wurde eine kürzlich begonnene und noch nicht abgeschlossene Medikamentenkontrolle gefunden:

\\r\\n
\\r\\n
Kontrolliertes Lager:
\\r\\n
{{getLatestStocktaking().depot?.label}}
\\r\\n
Begonnen am:
\\r\\n
{{getLatestStocktaking().created_at | date:'short'}}
\\r\\n
Erstellt von:
\\r\\n
{{getLatestStocktaking().responsible_user?.label}}
\\r\\n
Anzahl kontrollierter Medikamente:
\\r\\n
{{getNumberOfPinnedDownEntries()}}
\\r\\n
\\r\\n

Soll die bestehende Medikamentenkontrolle fortgeführt werden, oder soll eine neue Medikamentenkontrolle begonnen\\r\\n und die bestehende Kontrolle verworfen werden?

\\r\\n
\\r\\n\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/visbos-touch-client/ui/touch-stocktaking/stocktaking-wizard/stocktaking-wizard.component.html\n// module id = ./src/app/visbos-touch-client/ui/touch-stocktaking/stocktaking-wizard/stocktaking-wizard.component.html\n// module chunks = main","import {AfterViewInit, ChangeDetectorRef, Component, OnInit, ViewChild} from '@angular/core';\r\nimport {MovingDirection, WizardComponent} from \"ng2-archwizard/dist\";\r\nimport {FileService} from \"../../../../core/visbos-core/http/file.service\";\r\nimport {AbstractVisbosComponent} from \"../../../../core/visbos-core/components/abstract-visbos.component\";\r\nimport {SessionActions} from \"../../../../shared/actions\";\r\nimport {Location} from \"@angular/common\";\r\nimport {ActivatedRoute, Router} from \"@angular/router\";\r\nimport {TouchStocktakingService} from \"../touch-stocktaking.service\";\r\nimport {FormGroup} from \"@angular/forms\";\r\nimport {StocktakingService} from \"../../../../store-management/services/stocktaking/stocktaking.service\";\r\nimport {map} from \"rxjs/operators\";\r\nimport {GenericModalComponent} from \"../../../../core/visbos-core/ui/forms/generic-modal/generic-modal.component\";\r\nimport {Subscription} from \"rxjs/Subscription\";\r\nimport {Observable} from \"rxjs/Observable\";\r\nimport {MessageType} from \"../../../../shared/redux-store/session\";\r\n\r\n@Component({\r\n selector: 'vb-stocktaking-wizard',\r\n templateUrl: './stocktaking-wizard.component.html',\r\n styleUrls: ['./stocktaking-wizard.component.css']\r\n})\r\nexport class StocktakingWizardComponent extends AbstractVisbosComponent implements OnInit, AfterViewInit {\r\n\r\n MovingDirection;\r\n\r\n @ViewChild(WizardComponent)\r\n wizard: WizardComponent;\r\n\r\n @ViewChild('continueStocktakingModal')\r\n continueStocktakingModal: GenericModalComponent;\r\n\r\n currentStep: number;\r\n\r\n private param$;\r\n\r\n private latestStocktakingSub: Subscription;\r\n\r\n canExitDepotPageProxy = (direction: MovingDirection) => this.canExitDepotPage.apply(this, [direction]);\r\n canExitStocktakingPageProxy = (direction: MovingDirection) => this.canExitStocktakingPage.apply(this, [direction]);\r\n canExitFinalizePageProxy = (direction: MovingDirection) => this.canExitFinalizePage.apply(this, [direction]);\r\n\r\n genPDF$;\r\n sealStocktaking$;\r\n\r\n constructor(sessionActions: SessionActions, cd: ChangeDetectorRef,\r\n private tsService: TouchStocktakingService,\r\n private stocktakingService: StocktakingService,\r\n private fileService: FileService,\r\n private loc: Location,\r\n private router: Router,\r\n private route: ActivatedRoute) {\r\n super(sessionActions, cd);\r\n this.MovingDirection = MovingDirection;\r\n }\r\n\r\n ngOnInit(): void {\r\n super.ngOnInit();\r\n\r\n this.resetComponent();\r\n\r\n this.param$ = this.route.params.pipe(map(params => params.stocktakingCuid));\r\n this.addSubscription(this.tsService.loadStocktaking(this.param$).subscribe());\r\n\r\n this.addComponentData(this.tsService.latestStocktaking$);\r\n this.latestStocktakingSub = this.tsService.latestStocktaking$.subscribe(res => {\r\n if (!this.tsService.currentStocktaking && !this.tsService.currentStocktakingCuid$.value) {\r\n if (this.tsService.latestStocktaking) {\r\n this.continueStocktakingModal.show();\r\n }\r\n }\r\n });\r\n this.addSubscription(this.latestStocktakingSub);\r\n\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n super.ngAfterViewInit();\r\n\r\n setTimeout(() => {\r\n this.tsService.initStocktakingData();\r\n });\r\n this.addSubscription(this.param$.subscribe(p => {\r\n if (this.wizard && p) {\r\n this.tsService.currentStocktakingCuid$.next(p);\r\n this.wizard.navigation.goToStep(1);\r\n }\r\n }));\r\n }\r\n\r\n\r\n resetComponent(): void {\r\n this.tsService.reset();\r\n super.resetComponent();\r\n }\r\n\r\n onStepChanged() {\r\n if (!this.wizard) {\r\n return 0;\r\n }\r\n this.currentStep = this.wizard.model.getIndexOfStep(this.wizard.model.currentStep);\r\n }\r\n\r\n onFinalStepEntered() {\r\n this.onStepChanged();\r\n }\r\n\r\n onExitInitPage(direction: MovingDirection) {\r\n if (!this.tsService.currentStocktaking && !this.tsService.currentStocktakingCuid$.getValue() && direction == MovingDirection.Forwards) {\r\n this.addSubscription(this.tsService.initStocktaking(this.getStocktakingInitControl().value).subscribe());\r\n }\r\n\r\n if (this.latestStocktakingSub) {\r\n this.latestStocktakingSub.unsubscribe();\r\n }\r\n }\r\n\r\n onEnterStocktakingPage(direction: MovingDirection) {\r\n this.onStepChanged();\r\n if (!this.tsService.currentStocktaking) {\r\n this.addSubscription(this.tsService.loadStocktaking(this.tsService.currentStocktakingCuid$).subscribe());\r\n }\r\n }\r\n\r\n onExitStocktakingPage(direction: MovingDirection) {\r\n if (direction == MovingDirection.Forwards) {\r\n\r\n }\r\n }\r\n\r\n onSealStocktakingClicked() {\r\n if (this.canSealStocktaking()) {\r\n this.sealStocktaking$ = this.tsService.sealStocktaking();\r\n this.addSubscription(this.sealStocktaking$.subscribe(res => {\r\n this.sessionActions.pushMessage(\"Die Medikamentenkontrolle wurde erfolgreich gespeichert und festgeschrieben!\", MessageType.SUCCESS, \"Medikamentenkontrolle\")\r\n this.router.navigate(['/touch']);\r\n }, err => this.sessionActions.throwError(err, \"Fehler beim Festschfreiben der Inventur!\", \"Medikamentenkontrolle\")));\r\n }\r\n }\r\n\r\n onPrintChecklistClicked() {\r\n if (!this.canPrintChecklist()) {\r\n return;\r\n }\r\n this.genPDF$ = this.stocktakingService.generateStocktakingChecklistPDF(this.tsService.currentStocktaking.cuid);\r\n this.genPDF$.toPromise()\r\n .then(res => {\r\n let data = this.fileService.base64toBlob(res.data.stocktakingChecklistPdf, 'application/pdf', 512);\r\n this.fileService.printFile(data);\r\n })\r\n .catch(err => this.sessionActions.throwError(err));\r\n }\r\n\r\n onInitNewStocktakingClicked() {\r\n this.continueStocktakingModal.hide();\r\n }\r\n\r\n onContinueLastStocktakingClicked() {\r\n this.continueStocktakingModal.hide();\r\n this.tsService.currentStocktaking = this.tsService.latestStocktaking;\r\n this.tsService.currentStocktakingCuid$.next(this.tsService.latestStocktaking);\r\n this.wizard.navigation.goToStep(1);\r\n }\r\n\r\n isInitialized() {\r\n return this.tsService.isInitialized();\r\n }\r\n\r\n getCurrentStocktaking() {\r\n return this.tsService.currentStocktaking;\r\n }\r\n\r\n savingEntries: boolean = false;\r\n\r\n onSavingEntries(savingOp: Observable) {\r\n this.savingEntries = true;\r\n this.addSubscription(savingOp.subscribe(res => {\r\n this.savingEntries = false;\r\n }));\r\n }\r\n\r\n canExitDepotPage(direction: MovingDirection): boolean {\r\n\r\n if (direction == MovingDirection.Forwards) {\r\n\r\n if (this.tsService.currentStocktakingCuid$.getValue()) {\r\n return true;\r\n }\r\n\r\n return this.tsService.initStocktakingControl && this.tsService.initStocktakingControl.valid;\r\n }\r\n\r\n return false;\r\n\r\n }\r\n\r\n canExitStocktakingPage(direction: MovingDirection): boolean {\r\n\r\n if (direction == MovingDirection.Forwards) {\r\n return true;\r\n } else {\r\n return true;\r\n }\r\n\r\n }\r\n\r\n canExitFinalizePage(direction: MovingDirection): boolean {\r\n if (direction == MovingDirection.Forwards) {\r\n return this.canSealStocktaking();\r\n } else {\r\n return true;\r\n }\r\n }\r\n\r\n\r\n canSealStocktaking(): boolean {\r\n return this.tsService.canSealStocktaking();\r\n }\r\n\r\n canPrintChecklist() {\r\n return this.tsService.currentStocktaking != null;\r\n }\r\n\r\n getStocktakingInitControl(): FormGroup {\r\n return this.tsService.initStocktakingControl;\r\n }\r\n\r\n ngOnDestroy(): void {\r\n super.ngOnDestroy();\r\n }\r\n\r\n getLatestStocktaking() {\r\n return this.tsService.latestStocktaking;\r\n }\r\n\r\n getNumberOfPinnedDownEntries() {\r\n if (!this.tsService.latestStocktaking) {\r\n return 0;\r\n }\r\n\r\n let noPinnedDown = this.tsService.latestStocktaking.stocktaking_entries.filter(e => e.pinned_down).length;\r\n let noAll = this.tsService.latestStocktaking.stocktaking_entries.length;\r\n\r\n return noPinnedDown + \" / \" + noAll;\r\n\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/visbos-touch-client/ui/touch-stocktaking/stocktaking-wizard/stocktaking-wizard.component.ts","module.exports = \"\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/visbos-touch-client/ui/touch-stocktaking/touch-init-medicine-stocktaking/touch-init-medicine-stocktaking.component.css\n// module id = ./src/app/visbos-touch-client/ui/touch-stocktaking/touch-init-medicine-stocktaking/touch-init-medicine-stocktaking.component.css\n// module chunks = main","module.exports = \"\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/visbos-touch-client/ui/touch-stocktaking/touch-init-medicine-stocktaking/touch-init-medicine-stocktaking.component.html\n// module id = ./src/app/visbos-touch-client/ui/touch-stocktaking/touch-init-medicine-stocktaking/touch-init-medicine-stocktaking.component.html\n// module chunks = main","import {ChangeDetectorRef, Component, Input, OnInit} from '@angular/core';\r\nimport {SessionActions} from \"../../../../shared/actions\";\r\nimport {FormBuilder, FormGroup} from \"@angular/forms\";\r\nimport {TouchStocktakingService} from \"../touch-stocktaking.service\";\r\nimport {AbstractVisbosControl} from \"../../../../core/visbos-core/ui/forms/abstract-visbos-control\";\r\nimport {Stocktaking} from \"../../../../store-management/model/stocktaking\";\r\n\r\n@Component({\r\n selector: 'vb-touch-init-medicine-stocktaking',\r\n templateUrl: './touch-init-medicine-stocktaking.component.html',\r\n styleUrls: ['./touch-init-medicine-stocktaking.component.css']\r\n})\r\nexport class TouchInitMedicineStocktakingComponent extends AbstractVisbosControl implements OnInit {\r\n\r\n constructor(fb: FormBuilder, cd: ChangeDetectorRef, sessionActions: SessionActions,\r\n private tsService: TouchStocktakingService) {\r\n super(fb, cd, sessionActions);\r\n }\r\n\r\n ngOnInit(): void {\r\n super.ngOnInit();\r\n }\r\n\r\n buildControlContent(values?: Stocktaking): FormGroup {\r\n return TouchInitMedicineStocktakingComponent.initControl(this.fb);\r\n }\r\n\r\n public static initControl(fb: FormBuilder): FormGroup {\r\n return fb.group({});\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/visbos-touch-client/ui/touch-stocktaking/touch-init-medicine-stocktaking/touch-init-medicine-stocktaking.component.ts","module.exports = \"\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/visbos-touch-client/ui/touch-stocktaking/touch-stocktaking-menu/touch-stocktaking-menu.component.css\n// module id = ./src/app/visbos-touch-client/ui/touch-stocktaking/touch-stocktaking-menu/touch-stocktaking-menu.component.css\n// module chunks = main","module.exports = \"\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/visbos-touch-client/ui/touch-stocktaking/touch-stocktaking-menu/touch-stocktaking-menu.component.html\n// module id = ./src/app/visbos-touch-client/ui/touch-stocktaking/touch-stocktaking-menu/touch-stocktaking-menu.component.html\n// module chunks = main","import {ChangeDetectorRef, Component, OnInit} from '@angular/core';\r\nimport {VbMenuEntry} from \"../../navigation/menu-item.interface\";\r\nimport {touchStocktakingMenu} from \"./touch-stocktaking.menu\";\r\nimport {AbstractVisbosComponent} from \"../../../../core/visbos-core/components/abstract-visbos.component\";\r\nimport {SessionActions} from \"../../../../shared/actions\";\r\nimport {StocktakingService} from \"../../../../store-management/services/stocktaking/stocktaking.service\";\r\nimport * as _ from \"lodash\";\r\nimport {TouchStocktakingService} from \"../touch-stocktaking.service\";\r\n\r\n@Component({\r\n selector: 'vb-touch-stocktaking-menu',\r\n templateUrl: './touch-stocktaking-menu.component.html',\r\n styleUrls: ['./touch-stocktaking-menu.component.css']\r\n})\r\nexport class TouchStocktakingMenuComponent extends AbstractVisbosComponent implements OnInit {\r\n\r\n entries: VbMenuEntry[] = [];\r\n\r\n constructor(sessionActions: SessionActions, cd: ChangeDetectorRef,\r\n private stocktakingService: StocktakingService,\r\n private tsService: TouchStocktakingService) {\r\n super(sessionActions, cd);\r\n this.entries = touchStocktakingMenu;\r\n }\r\n\r\n ngOnInit(): void {\r\n super.ngOnInit();\r\n\r\n this.setContinueStocktaking(this.tsService.latestStocktaking);\r\n\r\n this.addComponentData(this.tsService.latestStocktaking$);\r\n this.addSubscription(this.tsService.latestStocktaking$.subscribe(res => {\r\n this.setContinueStocktaking(res.data.latestStocktaking);\r\n }));\r\n\r\n }\r\n\r\n private setContinueStocktaking(stocktaking?) {\r\n let enabled: boolean = stocktaking != null;\r\n let newMenu = _.cloneDeep(this.entries);\r\n let b = newMenu.find(i => i.id == 'continueStocktaking');\r\n b.link = stocktaking ? [stocktaking.cuid] : [''];\r\n b.visible = enabled;\r\n this.entries = newMenu;\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/visbos-touch-client/ui/touch-stocktaking/touch-stocktaking-menu/touch-stocktaking-menu.component.ts","import {VbMenuEntry} from \"../../navigation/menu-item.interface\";\r\n\r\nexport const touchStocktakingMenu: VbMenuEntry[] = [\r\n {\r\n id: 'stocktakingBack',\r\n title: 'Zurück zum Hauptmenü',\r\n icon: 'chevron-circle-left',\r\n link: ['/'],\r\n visible: true\r\n },\r\n {\r\n id: 'newStocktaking',\r\n title: 'Neue Medikamentenkontrolle',\r\n icon: 'box-check',\r\n link: ['neu'],\r\n visible: true\r\n },\r\n {\r\n id: 'continueStocktaking',\r\n title: 'Letzte Medikamentenkontrolle fortführen',\r\n icon: 'pen-square',\r\n link: [''],\r\n visible: false\r\n }\r\n];\n\n\n// WEBPACK FOOTER //\n// ./src/app/visbos-touch-client/ui/touch-stocktaking/touch-stocktaking-menu/touch-stocktaking.menu.ts","import {Injectable} from '@angular/core';\r\nimport {FormBuilder, FormGroup} from \"@angular/forms\";\r\nimport {VisbosService} from \"../../../core/visbos-core/graphql/visbos.service\";\r\nimport {Apollo, ApolloQueryObservable} from \"apollo-angular\";\r\nimport {NgRedux} from \"@angular-redux/store\";\r\nimport {IAppState} from \"../../../shared/redux-store\";\r\nimport {SessionActions} from \"../../../shared/actions\";\r\nimport {DepotStocktakingComponent} from \"../../../store-management/stocktaking/components/depot-stocktaking-form/depot-stocktaking.component\";\r\nimport {StocktakingFormComponent} from \"../../../store-management/stocktaking/components/stocktaking-form/stocktaking-form.component\";\r\nimport {intersectFormGroups, mergeFormGroups} from \"../../../core/visbos-core/ui/forms/abstract-visbos-control\";\r\nimport {STOCKTAKING_TYPE_MEDICINE} from \"../../../store-management/stocktaking/views/init-stocktaking-view/init-stocktaking-view.component\";\r\nimport {MessageType} from \"../../../shared/redux-store/session\";\r\nimport {StocktakingService} from \"../../../store-management/services/stocktaking/stocktaking.service\";\r\nimport {catchError, distinctUntilChanged, skipWhile, tap} from \"rxjs/operators\";\r\nimport {empty} from \"rxjs/observable/empty\";\r\nimport {Observable} from \"rxjs/Observable\";\r\nimport {BehaviorSubject} from \"rxjs/BehaviorSubject\";\r\n\r\n@Injectable()\r\nexport class TouchStocktakingService extends VisbosService {\r\n\r\n initStocktakingControl: FormGroup;\r\n\r\n latestStocktaking$: ApolloQueryObservable;\r\n latestStocktaking;\r\n\r\n currentStocktakingCuid$: BehaviorSubject = new BehaviorSubject(null);\r\n currentStocktaking;\r\n\r\n constructor(apollo: Apollo, ngRedux: NgRedux, sessionActions: SessionActions,\r\n private fb: FormBuilder, private stocktakingService: StocktakingService) {\r\n super(apollo, ngRedux, sessionActions);\r\n\r\n this.latestStocktaking$ = this.stocktakingService.getLatestStocktaking();\r\n this.latestStocktaking$.subscribe(res => {\r\n this.latestStocktaking = res.data.latestStocktaking;\r\n });\r\n this.initMedicineStocktaking();\r\n\r\n }\r\n\r\n initMedicineStocktaking() {\r\n this.initGeneralStocktaking();\r\n mergeFormGroups(this.initStocktakingControl, DepotStocktakingComponent.initControl(this.fb));\r\n this.initStocktakingData();\r\n }\r\n\r\n initGeneralStocktaking() {\r\n if (!this.initStocktakingControl) {\r\n this.initStocktakingControl = StocktakingFormComponent.initControl(this.fb);\r\n } else {\r\n // Remove unused controls from group, keep only general ones\r\n intersectFormGroups(this.initStocktakingControl, StocktakingFormComponent.initControl(this.fb));\r\n }\r\n }\r\n\r\n initStocktakingData() {\r\n const data = {\r\n stocktaking_type_id: STOCKTAKING_TYPE_MEDICINE\r\n };\r\n this.initStocktakingControl.patchValue(data);\r\n }\r\n\r\n isInitialized() {\r\n return this.currentStocktaking != null;\r\n }\r\n\r\n reset() {\r\n this.initStocktakingControl = null;\r\n this.initMedicineStocktaking();\r\n this.currentStocktakingCuid$ = new BehaviorSubject(null);\r\n this.currentStocktaking = null;\r\n }\r\n\r\n initStocktaking(data) {\r\n this.latestStocktaking = null;\r\n this.currentStocktaking = null;\r\n this.currentStocktakingCuid$.next(null);\r\n return this.stocktakingService.initMedicineStocktaking(data.depot_id, data).pipe(\r\n tap(res => {\r\n this.currentStocktakingCuid$.next(res.data.createMedicineStocktaking.cuid);\r\n }),\r\n catchError(err => {\r\n this.sessionActions.throwError(err);\r\n return err;\r\n })\r\n );\r\n }\r\n\r\n loadStocktaking(stocktakingCuid?: Observable) {\r\n\r\n if (!stocktakingCuid) {\r\n stocktakingCuid = this.currentStocktakingCuid$;\r\n }\r\n\r\n stocktakingCuid = stocktakingCuid.pipe(\r\n skipWhile(cuid => !cuid),\r\n distinctUntilChanged()\r\n );\r\n\r\n return this.stocktakingService.getStocktaking(stocktakingCuid)\r\n .pipe(\r\n tap(res => {\r\n this.currentStocktaking = res.data.stocktaking || null;\r\n this.currentStocktakingCuid$.next(res.data.stocktaking.cuid);\r\n this.initStocktakingControl.patchValue({\r\n depot_id: res.data.stocktaking.depot.cuid\r\n })\r\n }),\r\n catchError(err => {\r\n this.sessionActions.throwError(err);\r\n return err;\r\n })\r\n );\r\n }\r\n\r\n canSealStocktaking(): boolean {\r\n if (!this.currentStocktaking) {\r\n return false;\r\n }\r\n return this.currentStocktaking.stocktaking_entries.findIndex(e => !e.pinned_down) === -1;\r\n }\r\n\r\n sealStocktaking() {\r\n\r\n if (!this.currentStocktaking) {\r\n return empty();\r\n }\r\n\r\n this.latestStocktaking = null;\r\n return this.stocktakingService.sealStocktaking(this.currentStocktaking.cuid).pipe(\r\n tap(res => {\r\n this.sessionActions.pushMessage(\"Inventur erfolgreich festgeschrieben\", MessageType.SUCCESS, \"Inventur\");\r\n //this.router.navigate(['/client/lagerverwaltung']);\r\n }),\r\n catchError(err => {\r\n this.sessionActions.throwError(err, \"Fehler beim Festschreiben der Inventur!\", \"Inventur\");\r\n return err;\r\n })\r\n );\r\n\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/visbos-touch-client/ui/touch-stocktaking/touch-stocktaking.service.ts","module.exports = \"\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/visbos-touch-client/ui/touch-warehousing/components/manual-warehousing-articles/manual-warehousing-articles.component.css\n// module id = ./src/app/visbos-touch-client/ui/touch-warehousing/components/manual-warehousing-articles/manual-warehousing-articles.component.css\n// module chunks = main","module.exports = \"
\\r\\n
\\r\\n

Einlagerungsdaten

\\r\\n
\\r\\n\\r\\n
\\r\\n

Einlagerungsgrund: {{warehousingService.getWarehousingReasonType()}}

\\r\\n

Artikelquelle: {{warehousingService.supplier?.label}} ({{warehousingService.getSupplierType()}})

\\r\\n

\\r\\n Authorisierte Person für Wareneinlagerung: {{warehousingService.authorizedUser?.label}}:\\r\\n {{warehousingService.getAuthUserName()}}

\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n

Liste einzulagernder Artikel\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n

\\r\\n
\\r\\n\\r\\n
\\r\\n Keine Artikel gescannt...\\r\\n
\\r\\n\\r\\n\\r\\n 0\\\">\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
#ArtikelAnzahl
{{(warehousingService.increasedStocks$ | async).length - i}}{{incStock.stock.label}}\\r\\n \\r\\n \\r\\n {{incStock.amount}}\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n\\r\\n\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/visbos-touch-client/ui/touch-warehousing/components/manual-warehousing-articles/manual-warehousing-articles.component.html\n// module id = ./src/app/visbos-touch-client/ui/touch-warehousing/components/manual-warehousing-articles/manual-warehousing-articles.component.html\n// module chunks = main","import {ChangeDetectorRef, Component, Input, OnDestroy, OnInit, ViewChild} from '@angular/core';\r\nimport {ManualWarehousingService} from \"../../manual-warehousing.service\";\r\nimport {IModel} from \"../../../../../shared/view-model/imodel.interface\";\r\nimport {Stock} from \"../../../../../shared/view-model/stock\";\r\nimport {MedicineWithdrawalAuthFormComponent} from \"../../../../../store-management/withdrawal/medicine-withdrawal-auth-form/medicine-withdrawal-auth-form.component\";\r\nimport {BarcodeScannerComponent} from \"../../../../../core/visbos-core/ui/components/barcode-scanner/barcode-scanner.component\";\r\nimport {GenericModalComponent} from \"../../../../../core/visbos-core/ui/forms/generic-modal/generic-modal.component\";\r\nimport {AbstractVisbosComponent} from \"../../../../../core/visbos-core/components/abstract-visbos.component\";\r\nimport {SessionActions} from \"../../../../../shared/actions\";\r\nimport {MessageType} from \"../../../../../shared/redux-store/session\";\r\nimport {WarehousingSupplierInterface} from \"../../../../../store-management/model/warehousing-supplier-interface.type\";\r\nimport {StockService} from \"../../../../../store-management/services/stock.service\";\r\nimport {map} from \"rxjs/operators\";\r\nimport {GERMAN_LAYOUT} from \"../../../../../core/visbos-core/ui/directives/on-screen-keyboard.directive\";\r\nimport {KeyboardOptions} from \"virtual-keyboard\";\r\n\r\n@Component({\r\n selector: 'vb-manual-warehousing-articles',\r\n templateUrl: './manual-warehousing-articles.component.html',\r\n styleUrls: ['./manual-warehousing-articles.component.css']\r\n})\r\nexport class ManualWarehousingArticlesComponent extends AbstractVisbosComponent implements OnInit, OnDestroy {\r\n\r\n kbOptions: KeyboardOptions = {\r\n type: 'input',\r\n layout: 'custom',\r\n customLayout: GERMAN_LAYOUT\r\n };\r\n\r\n @Input()\r\n touchMode: boolean = false;\r\n\r\n @ViewChild('addMedDataModal')\r\n addMedDataModal: GenericModalComponent;\r\n\r\n @ViewChild('medForm')\r\n medForm: MedicineWithdrawalAuthFormComponent;\r\n\r\n @ViewChild(BarcodeScannerComponent)\r\n barcodeComponent: BarcodeScannerComponent;\r\n\r\n allowedScanTypes = ['Stock', 'AdministrationUnit', 'Vehicle'];\r\n\r\n searchResultColumns = [\r\n {name: 'Bezeichner', prop: 'label'},\r\n {name: 'Lager', prop: 'depot.label'},\r\n {name: 'Lagerplatz', prop: 'depot_yard.label'},\r\n ];\r\n\r\n searchFunction = (term) => this.stockService.searchStocks(term)\r\n .pipe(map(({stocks}) => {\r\n let st = [...stocks];\r\n return st.sort((st1: Stock, st2: Stock) => st1.label.localeCompare(st2.label));\r\n }));\r\n\r\n constructor(sessionActions: SessionActions, cd: ChangeDetectorRef,\r\n public warehousingService: ManualWarehousingService, private stockService: StockService) {\r\n super(sessionActions, cd);\r\n }\r\n\r\n ngOnInit() {\r\n super.ngOnInit();\r\n }\r\n\r\n ngOnDestroy(): void {\r\n super.ngOnDestroy();\r\n }\r\n\r\n onScanned(scannedItem: IModel) {\r\n\r\n if (!scannedItem) {\r\n return;\r\n }\r\n\r\n if (scannedItem.__typename == 'Stock') {\r\n this.onStockScanned(scannedItem);\r\n return;\r\n }\r\n\r\n this.barcodeComponent.error(\"Der Barcode ist keinem Bestandsartikel zugeordnet!\");\r\n\r\n }\r\n\r\n onStockScanned(stock: Stock) {\r\n this.warehousingService.addStock(stock);\r\n if (stock.registration_required) {\r\n this.provideMedicineWithdrawalData();\r\n }\r\n }\r\n\r\n stockManuallyAdded(stock: Stock) {\r\n this.onStockScanned(stock);\r\n }\r\n\r\n removeStock(stock: Stock) {\r\n this.warehousingService.removeStock(stock);\r\n }\r\n\r\n updateAmount(stock: Stock, amount: number) {\r\n this.warehousingService.updateStockAmount(stock, amount);\r\n }\r\n\r\n provideMedicineWithdrawalData() {\r\n if (this.warehousingService.needsAuthorization()) {\r\n this.addMedDataModal.show();\r\n this.barcodeComponent.enabled = false;\r\n }\r\n }\r\n\r\n medicineAuthDataProvided() {\r\n this.warehousingService.authorizeWarehousing();\r\n this.barcodeComponent.enabled = true;\r\n }\r\n\r\n medicineAuthCanceled() {\r\n this.sessionActions.pushMessage(\"Die Authorisierung wurde abgebrochen, der letzte gesannte Artikel wurde aus der List entfernt!\", MessageType.WARNING, \"Wareneingang\");\r\n this.warehousingService.undoAddingStock();\r\n this.barcodeComponent.enabled = true;\r\n }\r\n\r\n onSupplierChanged(supplier: WarehousingSupplierInterface) {\r\n this.warehousingService.supplier = supplier;\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/visbos-touch-client/ui/touch-warehousing/components/manual-warehousing-articles/manual-warehousing-articles.component.ts","module.exports = \"\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/visbos-touch-client/ui/touch-warehousing/components/manual-warehousing-data/manual-warehousing-data.component.css\n// module id = ./src/app/visbos-touch-client/ui/touch-warehousing/components/manual-warehousing-data/manual-warehousing-data.component.css\n// module chunks = main","module.exports = \"
\\r\\n
\\r\\n

Allgemeine Angaben zur Einlagerung

\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/visbos-touch-client/ui/touch-warehousing/components/manual-warehousing-data/manual-warehousing-data.component.html\n// module id = ./src/app/visbos-touch-client/ui/touch-warehousing/components/manual-warehousing-data/manual-warehousing-data.component.html\n// module chunks = main","import {ChangeDetectorRef, Component, OnDestroy, OnInit} from '@angular/core';\r\nimport {ManualWarehousingService} from \"../../manual-warehousing.service\";\r\nimport {WarehousingSupplierInterface} from \"../../../../../store-management/model/warehousing-supplier-interface.type\";\r\nimport {AbstractVisbosComponent} from \"../../../../../core/visbos-core/components/abstract-visbos.component\";\r\nimport {SessionActions} from \"../../../../../shared/actions\";\r\n\r\n@Component({\r\n selector: 'vb-manual-warehousing-data',\r\n templateUrl: './manual-warehousing-data.component.html',\r\n styleUrls: ['./manual-warehousing-data.component.css']\r\n})\r\nexport class ManualWarehousingDataComponent extends AbstractVisbosComponent implements OnInit, OnDestroy {\r\n\r\n constructor(sessionActions: SessionActions, cd: ChangeDetectorRef,\r\n public warehousingService: ManualWarehousingService) {\r\n super(sessionActions, cd);\r\n }\r\n\r\n ngOnInit() {\r\n super.ngOnInit()\r\n }\r\n\r\n ngOnDestroy(): void {\r\n super.ngOnDestroy()\r\n }\r\n\r\n onSupplierScanned(supplier: WarehousingSupplierInterface) {\r\n\r\n let consumerType = '';\r\n\r\n switch (supplier.__typename) {\r\n case 'AdministrationUnit':\r\n consumerType = 'Standort';\r\n break;\r\n case 'Vehicle':\r\n consumerType = 'Fahrzeug';\r\n break;\r\n case 'Supplier':\r\n consumerType = 'Lieferant';\r\n break;\r\n case 'Client':\r\n consumerType = 'Klient';\r\n break;\r\n default:\r\n consumerType = '';\r\n break;\r\n }\r\n\r\n }\r\n\r\n onSupplierChanged(supplier: WarehousingSupplierInterface) {\r\n this.warehousingService.supplier = supplier;\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/visbos-touch-client/ui/touch-warehousing/components/manual-warehousing-data/manual-warehousing-data.component.ts","import {Injectable} from '@angular/core';\r\nimport {FormArray, FormBuilder, FormGroup, Validators} from \"@angular/forms\";\r\nimport {WarehousingDataFormComponent} from \"../../../store-management/warehousing/warehousing-data-form/warehousing-data-form.component\";\r\nimport {Stock} from \"../../../shared/view-model/stock\";\r\nimport {StockIncrease} from \"../../../store-management/model/warehousing\";\r\nimport {BehaviorSubject} from \"rxjs/BehaviorSubject\";\r\nimport {IUser} from \"../../../shared/redux-store/session/session.types\";\r\nimport {Supplier} from \"../../../shared/view-model/crm/supplier.type\";\r\nimport {WarehousingReasonInterface} from \"../../../store-management/model/warehousing-reason-interface.type\";\r\nimport {VisbosService} from \"../../../core/visbos-core/graphql/visbos.service\";\r\nimport {Apollo} from \"apollo-angular\";\r\nimport {NgRedux} from \"@angular-redux/store\";\r\nimport {IAppState} from \"../../../shared/redux-store\";\r\nimport {SessionActions} from \"../../../shared/actions\";\r\nimport {AbstractVisbosControl} from \"../../../core/visbos-core/ui/forms/abstract-visbos-control\";\r\nimport {\r\n CreateWarehousingResult,\r\n WarehousingService\r\n} from \"../../../store-management/services/warehousing-service/warehousing.service\";\r\nimport {Observable} from \"rxjs/Observable\";\r\n\r\n@Injectable()\r\nexport class ManualWarehousingService extends VisbosService {\r\n\r\n private increasedStocks: Array = [];\r\n increasedStocks$: BehaviorSubject>;\r\n\r\n private hasAuthorizableArticles: boolean = false;\r\n private _isAuthorized: boolean = false;\r\n\r\n private _formControl: FormGroup;\r\n\r\n get formControl(): FormGroup {\r\n if (!this._formControl) {\r\n this._formControl = WarehousingDataFormComponent.initControl(this.fb);\r\n }\r\n\r\n return this._formControl;\r\n }\r\n\r\n getWarehousingReasonType(): string {\r\n return this.formControl.get('warehousing.warehousing_reason_type').value\r\n }\r\n\r\n getSupplierType(): string {\r\n let type = this.formControl.get('warehousing.supplier_type').value;\r\n\r\n return type;\r\n }\r\n\r\n getAuthUserName(): string {\r\n if (this.formControl.get('medicineAuthData.personal_number')) {\r\n return this.formControl.get('medicineAuthData.personal_number').value\r\n } else {\r\n return null;\r\n }\r\n }\r\n\r\n getWarehousingInputData() {\r\n return (this.formControl.get('warehousing')).getRawValue();\r\n }\r\n\r\n getWarehousingAuthData() {\r\n if (this.formControl.get('medicineAuthData')) {\r\n return (this.formControl.get('medicineAuthData')).getRawValue();\r\n } else {\r\n return null;\r\n }\r\n }\r\n\r\n getNoIncrreasedStocks(): number {\r\n return this.getIncreseadStocksFormArray().controls.length;\r\n }\r\n\r\n authorizedUser: IUser = null;\r\n warehousingRason: WarehousingReasonInterface = null;\r\n\r\n private _supplier: Supplier = null;\r\n\r\n set supplier(supplier: Supplier) {\r\n this._supplier = supplier;\r\n if (this.formControl.get('warehousing.supplier_cuid')) {\r\n this.formControl.get('warehousing.supplier_cuid').setValue(supplier.cuid);\r\n }\r\n }\r\n\r\n get supplier(): Supplier {\r\n return this._supplier;\r\n }\r\n\r\n authorizeWarehousing() {\r\n this._isAuthorized = this.formControl.get('medicineAuthData') && this.formControl.get('medicineAuthData').valid;\r\n this.authorizedUser = this.currentUser;\r\n }\r\n\r\n isAuthorized(): boolean {\r\n return this._isAuthorized && this.formControl.get('medicineAuthData') && this.formControl.get('medicineAuthData').valid;\r\n }\r\n\r\n needsAuthorization(): boolean {\r\n return this.hasAuthorizableArticles && !this.isAuthorized();\r\n }\r\n\r\n\r\n constructor(apollo: Apollo, ngRedux: NgRedux, sessionActions: SessionActions,\r\n private fb: FormBuilder, private whService: WarehousingService) {\r\n super(apollo, ngRedux, sessionActions);\r\n this.increasedStocks$ = new BehaviorSubject(this.increasedStocks);\r\n }\r\n\r\n private getIncreseadStocksFormArray(): FormArray {\r\n return this.formControl.get('warehousing.increased_stocks') as FormArray;\r\n }\r\n\r\n private initStockIncreaseForm(incSt?: StockIncrease): FormGroup {\r\n return this.fb.group({\r\n cuid: [AbstractVisbosControl.cuid()],\r\n stock_id: [incSt ? incSt.stock.cuid : null, Validators.required],\r\n amount: [incSt ? incSt.amount : null, Validators.required]\r\n })\r\n }\r\n\r\n private getStockIncreaseForm(stockCuid: string): FormGroup {\r\n for (let si of this.getIncreseadStocksFormArray().controls) {\r\n let val = si.get('stock_id').value;\r\n if (val == stockCuid) {\r\n return si as FormGroup;\r\n }\r\n }\r\n return null;\r\n }\r\n\r\n private getStockIncreaseFormIndex(stockCuid: string): number {\r\n for (let i = 0; i < this.getIncreseadStocksFormArray().length; i++) {\r\n let sf = this.getIncreseadStocksFormArray().at(i);\r\n let val = sf.get('stock_id').value;\r\n if (val == stockCuid) {\r\n return i;\r\n }\r\n }\r\n return -1;\r\n }\r\n\r\n addStock(stock: Stock) {\r\n let inc = this.increasedStocks.find((ic) => ic.stock.cuid == stock.cuid);\r\n\r\n if (inc) {\r\n this.updateStockAmount(stock, +inc.amount + 1);\r\n } else {\r\n let si: StockIncrease = {\r\n stock: stock,\r\n amount: 1\r\n };\r\n\r\n if (stock.registration_required) {\r\n this.hasAuthorizableArticles = true;\r\n }\r\n\r\n this.increasedStocks.unshift(si);\r\n this.getIncreseadStocksFormArray().push(this.initStockIncreaseForm(si));\r\n\r\n }\r\n this.onIncreaseStocksChanged();\r\n }\r\n\r\n updateStockAmount(stock: Stock, amount: number) {\r\n let st = this.increasedStocks.find((ic) => ic.stock.cuid == stock.cuid);\r\n let stForm = this.getStockIncreaseForm(stock.cuid);\r\n\r\n st.amount = +amount;\r\n stForm.get('amount').setValue(+amount);\r\n\r\n this.onIncreaseStocksChanged();\r\n }\r\n\r\n removeStock(stock: Stock) {\r\n let stIndex = this.increasedStocks.findIndex((ic) => ic.stock.cuid == stock.cuid);\r\n let stFormIndex = this.getStockIncreaseFormIndex(stock.cuid);\r\n\r\n if (stIndex >= 0) {\r\n this.increasedStocks.splice(stIndex,1);\r\n this.onIncreaseStocksChanged();\r\n }\r\n\r\n if (stFormIndex >= 0) {\r\n this.getIncreseadStocksFormArray().removeAt(stFormIndex);\r\n }\r\n\r\n // disable authorized if last auth stock is removed\r\n if (stock.registration_required) {\r\n if (!this.increasedStocks.find((st) => st.stock.registration_required)) {\r\n this.removeAuthData();\r\n }\r\n }\r\n\r\n }\r\n\r\n undoAddingStock(): Stock {\r\n let st = this.increasedStocks.pop().stock;\r\n this.onIncreaseStocksChanged();\r\n return st;\r\n }\r\n\r\n onIncreaseStocksChanged() {\r\n this.increasedStocks$.next(this.increasedStocks);\r\n }\r\n\r\n removeAuthData() {\r\n this.hasAuthorizableArticles = false;\r\n this._isAuthorized = false;\r\n this.authorizedUser = null;\r\n this.formControl.removeControl('medicineAuthData');\r\n }\r\n\r\n saveManualWarehhousing(): Observable {\r\n return this.whService.createWarehousing(this.getWarehousingInputData(), this.getWarehousingAuthData());\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/visbos-touch-client/ui/touch-warehousing/manual-warehousing.service.ts","module.exports = \"\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/visbos-touch-client/ui/touch-warehousing/manual-warehousing/manual-warehousing.component.css\n// module id = ./src/app/visbos-touch-client/ui/touch-warehousing/manual-warehousing/manual-warehousing.component.css\n// module chunks = main","module.exports = \"

Artikeleinlagerung\\r\\n \\r\\n \\r\\n Zeit bis Auto-Logout:\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n

\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n

Wareneinlagerung wird gespeichert... Sie werden zum Hauptmenü weitergeleitet, sobald die Sicherung abgeschlossen wurde!

\\r\\n\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n

Form: {{warehousingService.formControl.value | json}}

\\r\\n
\\r\\n\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/visbos-touch-client/ui/touch-warehousing/manual-warehousing/manual-warehousing.component.html\n// module id = ./src/app/visbos-touch-client/ui/touch-warehousing/manual-warehousing/manual-warehousing.component.html\n// module chunks = main","import {AfterViewInit, ChangeDetectorRef, Component, HostListener, OnDestroy, OnInit, ViewChild} from '@angular/core';\r\nimport {Subject} from \"rxjs/Subject\";\r\nimport {Router} from \"@angular/router\";\r\nimport {ManualWarehousingService} from \"../manual-warehousing.service\";\r\nimport {MovingDirection, WizardComponent} from \"ng2-archwizard/dist\";\r\nimport {AbstractVisbosComponent} from \"../../../../core/visbos-core/components/abstract-visbos.component\";\r\nimport {SessionActions} from \"../../../../shared/actions\";\r\nimport {MessageType} from \"../../../../shared/redux-store/session\";\r\n\r\n@Component({\r\n selector: 'vb-manual-warehousing',\r\n templateUrl: './manual-warehousing.component.html',\r\n styleUrls: ['./manual-warehousing.component.css'],\r\n providers: [ManualWarehousingService]\r\n})\r\nexport class ManualWarehousingComponent extends AbstractVisbosComponent implements OnInit, AfterViewInit, OnDestroy {\r\n\r\n @ViewChild(WizardComponent)\r\n wizard: WizardComponent;\r\n\r\n currentStep: number;\r\n\r\n canExitDataPageProxy = (direction: MovingDirection) => this.canExitDataPage.apply(this, [direction]);\r\n canExitArticlePageProxy = (direction: MovingDirection) => this.canExitArticlePage.apply(this, [direction]);\r\n\r\n private isSaved: boolean = false;\r\n\r\n userEvent: Subject = new Subject();\r\n\r\n @HostListener('document:keydown')\r\n handleUserKeyboardEvent() {\r\n this.userEvent.next();\r\n }\r\n\r\n @HostListener('document:click')\r\n handleUserClickEvent() {\r\n this.userEvent.next();\r\n }\r\n\r\n\r\n constructor(sessionActions: SessionActions, cd: ChangeDetectorRef,\r\n private router: Router, public warehousingService: ManualWarehousingService) {\r\n super(sessionActions, cd);\r\n }\r\n\r\n ngOnInit() {\r\n super.ngOnInit();\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n super.ngAfterViewInit();\r\n this.userEvent.next();\r\n }\r\n\r\n onTimeout() {\r\n this.router.navigate(['/touch']);\r\n }\r\n\r\n ngOnDestroy() {\r\n super.ngOnDestroy();\r\n if (this.canExitArticlePage(MovingDirection.Forwards)) {\r\n if (!this.isSaved) {\r\n this.saveWarehousing();\r\n }\r\n } else {\r\n this.sessionActions.pushMessage(\"Wareneinlagerung wurde abgebrochen und nicht gespeichert!\", MessageType.WARNING, \"Wareneinlagerung\");\r\n }\r\n }\r\n\r\n onStepChanged() {\r\n let step = this.wizard.model.getIndexOfStep(this.wizard.model.currentStep);\r\n this.currentStep = step;\r\n }\r\n\r\n onFinalStepEntered() {\r\n this.onStepChanged();\r\n this.saveWarehousing();\r\n }\r\n\r\n saveWarehousing() {\r\n this.dataSubscriptions.push(this.warehousingService.saveManualWarehhousing().subscribe(res => {\r\n this.sessionActions.pushMessage(\"Wareneinlagerung erfolgreich abgeschlossen!\", MessageType.SUCCESS, \"Wareneinlagerung\");\r\n this.isSaved = true;\r\n this.onGoHomeClicked();\r\n }, err => {\r\n this.sessionActions.throwError(err, \"Fehler bei der Wareneinlagerung, bitte wenden Sie sich an den Support!\", \"Wareneinlagerung\");\r\n }\r\n ));\r\n }\r\n\r\n onGoHomeClicked() {\r\n this.router.navigate(['/touch']);\r\n }\r\n\r\n private canExitDataPage(direction: MovingDirection): boolean {\r\n\r\n if (direction == MovingDirection.Forwards) {\r\n return this.warehousingService.formControl.valid;\r\n }\r\n\r\n return false;\r\n\r\n }\r\n\r\n private canExitArticlePage(direction: MovingDirection): boolean {\r\n\r\n if (direction == MovingDirection.Forwards) {\r\n return this.warehousingService.formControl.valid && this.warehousingService.getNoIncrreasedStocks() > 0;\r\n } else {\r\n return true;\r\n }\r\n\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/visbos-touch-client/ui/touch-warehousing/manual-warehousing/manual-warehousing.component.ts","module.exports = \"\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/visbos-touch-client/ui/vtouch/redirect-to-vtouch/redirect-to-vtouch.component.css\n// module id = ./src/app/visbos-touch-client/ui/vtouch/redirect-to-vtouch/redirect-to-vtouch.component.css\n// module chunks = main","module.exports = \"
\\r\\n\\r\\n
\\r\\n

Sie werden nun zu der Touch-Oberfläche von eStore+ weitergeleitet...

\\r\\n

\\r\\n Abbrechen und zurück zu VisBOS touch!\\r\\n

\\r\\n
\\r\\n\\r\\n
\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/visbos-touch-client/ui/vtouch/redirect-to-vtouch/redirect-to-vtouch.component.html\n// module id = ./src/app/visbos-touch-client/ui/vtouch/redirect-to-vtouch/redirect-to-vtouch.component.html\n// module chunks = main","import {Component, OnDestroy, OnInit} from '@angular/core';\r\nimport {Location} from \"@angular/common\";\r\n\r\n@Component({\r\n selector: 'vb-redirect-to-vtouch',\r\n templateUrl: './redirect-to-vtouch.component.html',\r\n styleUrls: ['./redirect-to-vtouch.component.css']\r\n})\r\nexport class RedirectToVtouchComponent implements OnInit, OnDestroy {\r\n\r\n private timeout;\r\n\r\n constructor(private loc: Location) {\r\n }\r\n\r\n ngOnInit() {\r\n this.timeout = setTimeout(() => {\r\n window.location.assign('http://vtouch.test');\r\n }, 5000);\r\n }\r\n\r\n onCancelClicked() {\r\n this.loc.back();\r\n }\r\n\r\n ngOnDestroy(): void {\r\n if (this.timeout) {\r\n clearTimeout(this.timeout);\r\n }\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/visbos-touch-client/ui/vtouch/redirect-to-vtouch/redirect-to-vtouch.component.ts","module.exports = \"header, footer {\\r\\n padding-top: 15px;\\r\\n padding-bottom: 15px;\\r\\n}\\r\\n\\r\\nbody {\\r\\n margin-top: 100px;\\r\\n margin-bottom: 100px;\\r\\n}\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/visbos-touch-client/visbos-touch-client.component.css\n// module id = ./src/app/visbos-touch-client/visbos-touch-client.component.css\n// module chunks = main","module.exports = \"\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/visbos-touch-client/visbos-touch-client.component.html\n// module id = ./src/app/visbos-touch-client/visbos-touch-client.component.html\n// module chunks = main","import {ChangeDetectorRef, Component, OnDestroy, OnInit} from \"@angular/core\";\r\nimport {NgRedux} from \"@angular-redux/store\";\r\nimport {IAppState} from \"../shared/redux-store/store\";\r\nimport {SessionActions} from \"../shared/actions/session.actions\";\r\nimport {BarcodeService} from \"../identity/services/barcode.service\";\r\nimport {AbstractVisbosComponent} from \"../core/visbos-core/components/abstract-visbos.component\";\r\nimport {AdminUnitActions} from \"../shared/actions/admin-unit.actions\";\r\nimport {WithdrawalActions} from '../store-management/redux/scans.actions';\r\n\r\n@Component({\r\n selector: 'vb-visbos-touch-client',\r\n templateUrl: './visbos-touch-client.component.html',\r\n styleUrls: ['./visbos-touch-client.component.css']\r\n})\r\nexport class VisbosTouchClientComponent extends AbstractVisbosComponent implements OnInit, OnDestroy {\r\n\r\n constructor(sessionActions: SessionActions, cd: ChangeDetectorRef,\r\n public ngRx: NgRedux, private bcService: BarcodeService,\r\n private adminUnitActions: AdminUnitActions, private withdrawalActions: WithdrawalActions) {\r\n super(sessionActions, cd);\r\n }\r\n\r\n ngOnInit() {\r\n this.withdrawalActions.finishWithdrawalsTransaction();\r\n this.addSubscription(this.bcService.cacheBarcodes().subscribe());\r\n this.addSubscription(this.sessionActions.fetchAuthorizedUser(this.ngRx.getState().session.token).subscribe());\r\n this.addSubscription(this.adminUnitActions.retrieveAdminUnitData(this.activeAdminUnitCuid$).subscribe());\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/visbos-touch-client/visbos-touch-client.component.ts","import {NgModule} from \"@angular/core\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport {visbosTouchClientRouting, visbosTouchClientRoutingProviders} from \"./visbos-touch-client.routes\";\r\nimport {VisbosTouchClientComponent} from \"./visbos-touch-client.component\";\r\nimport {TouchNavigationMenuComponent} from \"./ui/navigation/touch-navigation-menu/touch-navigation-menu.component\";\r\nimport {TouchScanComponent} from \"./ui/touch-scan/touch-scan.component\";\r\nimport {IdentityModule} from \"../identity/identity.module\";\r\nimport {TabsModule} from \"ngx-bootstrap\";\r\nimport {ScanConsumerComponent} from \"./ui/touch-scan/scan-consumer/scan-consumer.component\";\r\nimport {ScanStocksComponent} from \"./ui/touch-scan/scan-stocks/scan-stocks.component\";\r\nimport {FormsModule, ReactiveFormsModule} from \"@angular/forms\";\r\nimport {MissionModule} from \"../mission/mission.module\";\r\nimport {StoreManagementModule} from \"../store-management/store-management.module\";\r\nimport {VisbosCoreModule} from \"../core/visbos-core/visbos-core.module\";\r\nimport {TouchNavbarComponent} from \"./ui/navigation/touch-navbar/touch-navbar.component\";\r\nimport {TieredMenuModule} from \"primeng/components/tieredmenu/tieredmenu\";\r\nimport {InplaceModule} from \"primeng/primeng\";\r\nimport {TouchDepotYardSearchComponent} from \"./ui/touch-depot-yard-search/touch-depot-yard-search.component\";\r\nimport {ManualWarehousingComponent} from './ui/touch-warehousing/manual-warehousing/manual-warehousing.component';\r\nimport {ManualWarehousingDataComponent} from './ui/touch-warehousing/components/manual-warehousing-data/manual-warehousing-data.component';\r\nimport {ManualWarehousingArticlesComponent} from './ui/touch-warehousing/components/manual-warehousing-articles/manual-warehousing-articles.component';\r\nimport {ArchwizardModule} from \"ng2-archwizard/dist\";\r\nimport {TouchFillUpDepotSelectionComponent} from './ui/touch-fill-up/touch-fill-up-depot-selection/touch-fill-up-depot-selection.component';\r\nimport {TouchFillUpWizardComponent} from './ui/touch-fill-up/touch-fill-up-wizard/touch-fill-up-wizard.component';\r\nimport {RedirectToVtouchComponent} from './ui/vtouch/redirect-to-vtouch/redirect-to-vtouch.component';\r\nimport {TouchMenuService} from \"./ui/navigation/touch-menu.service\";\r\nimport {StocktakingWizardComponent} from './ui/touch-stocktaking/stocktaking-wizard/stocktaking-wizard.component';\r\nimport {TouchInitMedicineStocktakingComponent} from './ui/touch-stocktaking/touch-init-medicine-stocktaking/touch-init-medicine-stocktaking.component';\r\nimport {TouchStocktakingMenuComponent} from './ui/touch-stocktaking/touch-stocktaking-menu/touch-stocktaking-menu.component';\r\nimport {TouchMenuComponent} from './ui/navigation/touch-menu/touch-menu.component';\r\nimport {TouchStocktakingService} from \"./ui/touch-stocktaking/touch-stocktaking.service\";\r\nimport {CarouselModule} from 'ngx-bootstrap/carousel';\r\nimport { TouchDepotNeedsWizardComponent } from './ui/touch-depot-needs/touch-depot-needs-wizard/touch-depot-needs-wizard.component';\r\nimport { TouchDepotNeedsDepotSelectionComponent } from './ui/touch-depot-needs/touch-depot-needs-depot-selection/touch-depot-needs-depot-selection.component';\r\nimport { TouchAssetStatusComponent } from './ui/touch-asset-status/touch-asset-status.component';\r\nimport { TouchMarriageWizzardComponent } from './ui/touch-marriage/touch-marriage-wizzard/touch-marriage-wizzard.component';\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n visbosTouchClientRouting,\r\n IdentityModule,\r\n MissionModule,\r\n VisbosCoreModule,\r\n StoreManagementModule,\r\n TabsModule.forRoot(),\r\n TieredMenuModule,\r\n InplaceModule,\r\n ArchwizardModule,\r\n CarouselModule.forRoot()\r\n ],\r\n providers: [visbosTouchClientRoutingProviders, TouchMenuService, TouchStocktakingService],\r\n declarations: [VisbosTouchClientComponent, TouchNavigationMenuComponent, TouchScanComponent, ScanConsumerComponent, ScanStocksComponent, TouchNavbarComponent, TouchDepotYardSearchComponent, ManualWarehousingComponent, ManualWarehousingDataComponent, ManualWarehousingArticlesComponent, TouchFillUpDepotSelectionComponent, TouchFillUpWizardComponent, RedirectToVtouchComponent, StocktakingWizardComponent, TouchInitMedicineStocktakingComponent, TouchStocktakingMenuComponent, TouchMenuComponent, TouchDepotNeedsWizardComponent, TouchDepotNeedsDepotSelectionComponent, TouchAssetStatusComponent, TouchMarriageWizzardComponent]\r\n})\r\nexport class VisbosTouchClientModule {\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/visbos-touch-client/visbos-touch-client.module.ts","/**\r\n * Created by afuhr on 07.07.2016.\r\n */\r\nimport {RouterModule, Routes} from \"@angular/router\";\r\nimport {VisbosTouchClientComponent} from \"./visbos-touch-client.component\";\r\nimport {SecurityTokenGuardService} from \"./services/security-token-guard.service\";\r\nimport {TouchNavigationMenuComponent} from \"./ui/navigation/touch-navigation-menu/touch-navigation-menu.component\";\r\nimport {TouchScanComponent} from \"./ui/touch-scan/touch-scan.component\";\r\nimport {TouchAuthorizedGuard} from \"../core/visbos-core/authorization/guards/touch-authorized.guard\";\r\nimport {WithdrawalLogViewComponent} from \"../store-management/withdrawal/withdrawal-log-view/withdrawal-log-view.component\";\r\nimport {TouchDepotYardSearchComponent} from \"./ui/touch-depot-yard-search/touch-depot-yard-search.component\";\r\nimport {ManualWarehousingComponent} from \"./ui/touch-warehousing/manual-warehousing/manual-warehousing.component\";\r\nimport {TouchFillUpWizardComponent} from \"./ui/touch-fill-up/touch-fill-up-wizard/touch-fill-up-wizard.component\";\r\nimport {RedirectToVtouchComponent} from \"./ui/vtouch/redirect-to-vtouch/redirect-to-vtouch.component\";\r\nimport {TouchStocktakingMenuComponent} from \"./ui/touch-stocktaking/touch-stocktaking-menu/touch-stocktaking-menu.component\";\r\nimport {StocktakingWizardComponent} from \"./ui/touch-stocktaking/stocktaking-wizard/stocktaking-wizard.component\";\r\nimport {TouchDepotNeedsWizardComponent} from \"./ui/touch-depot-needs/touch-depot-needs-wizard/touch-depot-needs-wizard.component\";\r\nimport {TouchAssetStatusComponent} from './ui/touch-asset-status/touch-asset-status.component';\r\nimport { TouchMarriageWizzardComponent } from \"./ui/touch-marriage/touch-marriage-wizzard/touch-marriage-wizzard.component\";\r\n\r\n\r\nconst visbosTouchClientRoutes: Routes = [\r\n {\r\n path: 'touch',\r\n component: VisbosTouchClientComponent,\r\n canActivate: [SecurityTokenGuardService],\r\n data: {\r\n touchMode: true\r\n },\r\n children: [\r\n {\r\n path: '',\r\n canActivateChild: [TouchAuthorizedGuard],\r\n children: [\r\n {\r\n path: '',\r\n component: TouchNavigationMenuComponent\r\n },\r\n {\r\n path: 'scannen',\r\n component: TouchScanComponent,\r\n },\r\n {\r\n path: 'wareneingang',\r\n component: ManualWarehousingComponent,\r\n },\r\n {\r\n path: 'scanlog',\r\n component: WithdrawalLogViewComponent\r\n },\r\n {\r\n path: 'artikelsuche',\r\n component: TouchDepotYardSearchComponent\r\n },\r\n {\r\n path: 'assetstatus',\r\n component: TouchAssetStatusComponent\r\n },\r\n {\r\n path: 'lager-auffuellen',\r\n component: TouchFillUpWizardComponent\r\n },\r\n {\r\n path: 'lager-bedarf',\r\n component: TouchDepotNeedsWizardComponent\r\n },\r\n {\r\n path: 'vtouch',\r\n component: RedirectToVtouchComponent\r\n },\r\n {\r\n path: 'verheiraten',\r\n component: TouchMarriageWizzardComponent\r\n },\r\n {\r\n path: 'inventur',\r\n children: [\r\n {\r\n path: '',\r\n component: TouchStocktakingMenuComponent\r\n },\r\n {\r\n path: 'neu',\r\n component: StocktakingWizardComponent\r\n },\r\n {\r\n path: ':stocktakingCuid',\r\n component: StocktakingWizardComponent\r\n },\r\n ]\r\n }\r\n ]\r\n }\r\n ]\r\n },\r\n];\r\n\r\n//TODO: Adapt path to standard value of logged in user\r\n\r\nexport const visbosTouchClientRoutingProviders: any[] = [SecurityTokenGuardService];\r\n\r\nexport const visbosTouchClientRouting = RouterModule.forChild(visbosTouchClientRoutes);\r\n\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/visbos-touch-client/visbos-touch-client.routes.ts","module.exports = \"\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/visbos.component.css\n// module id = ./src/app/visbos.component.css\n// module chunks = main","module.exports = \"\\r\\n\\r\\n\\r\\n
\\r\\n

Anstehende Wartungsarbeiten!

\\r\\n \\r\\n
\\r\\n
\\r\\n

In Kürze stehen Wartungsarbeiten an VisBOS an!

\\r\\n

Bitte schließen Sie Ihre Arbeiten ab und speichern diese!

\\r\\n

Beginn der Wartungsmaßnahme: {{maintenanceStartTime | date:'medium'}}

\\r\\n
\\r\\n
\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/visbos.component.html\n// module id = ./src/app/visbos.component.html\n// module chunks = main","import {Component, OnDestroy, OnInit, TemplateRef, ViewChild, ViewContainerRef} from \"@angular/core\";\r\nimport {PusherService} from \"./core/visbos-core/subscriptions/pusher.service\";\r\nimport {Subscription} from \"rxjs/Subscription\";\r\nimport {Router} from \"@angular/router\";\r\nimport {BsModalRef, BsModalService} from \"ngx-bootstrap\";\r\nimport {UserService} from \"./crm/user/user.service\";\r\nimport {SessionActions} from \"./shared/actions\";\r\nimport {NgRedux, select} from \"@angular-redux/store\";\r\nimport {Observable} from \"rxjs/Observable\";\r\nimport {IAppState} from \"./shared/redux-store\";\r\n\r\n@Component({\r\n selector: 'visbos-root',\r\n templateUrl: './visbos.component.html',\r\n styleUrls: ['./visbos.component.css'],\r\n})\r\nexport class VisBosComponent implements OnInit, OnDestroy {\r\n\r\n @select(['session', 'loggedIn'])\r\n loggedIn$: Observable;\r\n\r\n private loggedInSub: Subscription;\r\n\r\n title = 'VisBOS by witcotech';\r\n\r\n private maintenanceChannelSub: Subscription;\r\n private modalRef: BsModalRef;\r\n\r\n maintenanceStartTime: Date;\r\n\r\n @ViewChild('maintenanceModalTmpl')\r\n maintenanceModalTmpl: TemplateRef;\r\n\r\n constructor(public rootViewRef: ViewContainerRef, private pusherService: PusherService,\r\n private router: Router, private modalService: BsModalService,\r\n private userService: UserService, private sessionActions: SessionActions,\r\n private ngRx: NgRedux) {\r\n this.bindMaintenanceChannel();\r\n }\r\n\r\n ngOnInit(): void {\r\n this.loggedInSub = this.loggedIn$.subscribe(loggedIn => {\r\n if (loggedIn) {\r\n this.sessionActions.fetchAuthorizedUser().toPromise();\r\n }\r\n })\r\n }\r\n\r\n openModal(template: TemplateRef) {\r\n const config = {\r\n animated: true,\r\n keyboard: true,\r\n backdrop: true,\r\n ignoreBackdropClick: true\r\n };\r\n this.modalRef = this.modalService.show(template, config);\r\n }\r\n\r\n private bindMaintenanceChannel() {\r\n this.maintenanceChannelSub = this.pusherService.maintenanceChannel$.subscribe(channel => {\r\n if (channel) {\r\n console.info(\"Binding to maintenance channel...\");\r\n\r\n channel.bind('maintenance.warning', (event) => {\r\n console.info(\"Received warning event on maintenance channel: \", event);\r\n this.openModal(this.maintenanceModalTmpl);\r\n this.maintenanceStartTime = new Date(event.maintenanceTime);\r\n });\r\n\r\n channel.bind('maintenance.start', (event) => {\r\n console.info(\"Received start event on maintenance channel: \", event);\r\n this.maintenanceStartTime = null;\r\n if (this.modalRef) {\r\n this.modalRef.hide();\r\n }\r\n this.router.navigate(['maintenance']);\r\n });\r\n\r\n channel.bind('maintenance.finished', (event) => {\r\n console.info(\"Received finish event on maintenance channel: \", event);\r\n this.maintenanceStartTime = null;\r\n if (this.modalRef) {\r\n this.modalRef.hide();\r\n }\r\n this.router.navigate(['/'])\r\n .then(res => window.location.reload(true))\r\n .catch(err => window.location.reload(true));\r\n\r\n });\r\n\r\n }\r\n });\r\n }\r\n\r\n ngOnDestroy(): void {\r\n if (this.loggedInSub) {\r\n this.loggedInSub.unsubscribe();\r\n }\r\n if (this.maintenanceChannelSub) {\r\n this.maintenanceChannelSub.unsubscribe();\r\n }\r\n }\r\n\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/visbos.component.ts","import {BrowserModule} from \"@angular/platform-browser\";\r\nimport {APP_INITIALIZER, ErrorHandler, Injector, LOCALE_ID, NgModule} from \"@angular/core\";\r\nimport {VisBosComponent} from \"./visbos.component\";\r\nimport {Apollo, ApolloModule} from \"apollo-angular\";\r\nimport {NgRedux, NgReduxModule} from \"@angular-redux/store\";\r\nimport {SessionActions} from \"./shared/actions/session.actions\";\r\nimport {ReduxRouteService} from \"./shared/redux-store/redux-route.service\";\r\nimport {GraphqlService} from \"./shared/graphql/graphql.service\";\r\nimport {VisbosCoreModule} from \"./core/visbos-core/visbos-core.module\";\r\nimport ApolloClient from \"apollo-client/ApolloClient\";\r\nimport {createNetworkInterface, IntrospectionFragmentMatcher, toIdValue} from \"apollo-client\";\r\nimport {CRMModule} from \"./crm/crm.module\";\r\nimport {VisbosClientModule} from \"./visbos-client/visbos-client.module\";\r\nimport {VisbosTouchClientModule} from \"./visbos-touch-client/visbos-touch-client.module\";\r\nimport {DatePipe, DecimalPipe, registerLocaleData} from \"@angular/common\";\r\nimport {VisBosRoutingModule} from \"./visbos-routing.module\";\r\nimport {IAppState, rootReducer} from \"./shared/redux-store/store\";\r\nimport {appInjector} from \"./index\";\r\nimport {enhancers, middleware} from \"./shared/redux-store/index\";\r\nimport {VisbosErrorHandlerService} from \"./core/visbos-core/error-handling/visbos-error-handler.service\";\r\nimport {AdminUnitActions} from \"./shared/actions/admin-unit.actions\";\r\nimport {Barcode} from \"./identity/model/barcode.interface\";\r\n\r\nimport localeDe from '@angular/common/locales/de'\r\nimport {observableResult} from \"./core/visbos-core/graphql/handleObservable\";\r\nimport {Observable} from \"rxjs/Observable\";\r\nimport {HTTP_INTERCEPTORS, HttpClient} from \"@angular/common/http\";\r\nimport {MaintenanceInterceptor} from \"./core/visbos-core/maintenance/maintenance.interceptor\";\r\nimport {Router} from \"@angular/router\";\r\nimport {AuthorizationHeadersInterceptor} from \"./core/visbos-core/http/authorization-headers.interceptor\";\r\n\r\nconst apolloNetworkInterface = createNetworkInterface({\r\n //uri: environment.graphqlUrl,\r\n uri: 'api/graphql',\r\n opts: {\r\n headers: new Headers({'Access-Control-Request-Headers': 'Authorization'})\r\n }\r\n});\r\n\r\nconst cuidFromObject = (o: any) => {\r\n if ((o).ean) { // For Barcodes, identify them by the EAN code.\r\n return o.__typename + ':' + o.ean;\r\n }\r\n // For all others, identify them by their cuid\r\n return o.cuid;\r\n};\r\n\r\nconst fm = new IntrospectionFragmentMatcher(\r\n {\r\n introspectionQueryResultData: {\r\n __schema: {\r\n types: [{\r\n kind: 'INTERFACE',\r\n name: 'IdentifiableInterface',\r\n possibleTypes: [{name: 'Stock'}, {name: 'AdministrationUnit'}, {name: 'Vehicle'}]\r\n }]\r\n }\r\n }\r\n }\r\n);\r\n\r\n/**\r\n * Custom resolvers, used for cache redirects\r\n */\r\nconst res = {\r\n Query: {\r\n barcode: (_, args) => toIdValue(client.dataIdFromObject({__typename: 'Barcode', ean: args.ean}))\r\n }\r\n};\r\n\r\nconst client = new ApolloClient({\r\n networkInterface: apolloNetworkInterface,\r\n fragmentMatcher: fm,\r\n customResolvers: res,\r\n queryDeduplication: true,\r\n dataIdFromObject: cuidFromObject\r\n});\r\n\r\nexport function provideClient(): ApolloClient {\r\n return client;\r\n}\r\n\r\n// Globally register DE local for i18n support\r\nregisterLocaleData(localeDe);\r\n\r\nexport function provideAppInitializer(): Function {\r\n return () => {\r\n\r\n }\r\n}\r\n\r\n@NgModule({\r\n declarations: [\r\n VisBosComponent\r\n ],\r\n imports: [\r\n NgReduxModule,\r\n ApolloModule.forRoot(provideClient),\r\n BrowserModule,\r\n CRMModule,\r\n VisbosCoreModule,\r\n VisbosClientModule,\r\n VisbosTouchClientModule,\r\n VisBosRoutingModule\r\n ],\r\n providers: [\r\n {\r\n provide: HTTP_INTERCEPTORS,\r\n useClass: MaintenanceInterceptor,\r\n deps: [Injector],\r\n multi: true\r\n },\r\n {\r\n provide: HTTP_INTERCEPTORS,\r\n useClass: AuthorizationHeadersInterceptor,\r\n deps: [NgRedux],\r\n multi: true\r\n },\r\n ReduxRouteService,\r\n SessionActions, GraphqlService, AdminUnitActions,//TODO Refactor to core\r\n //{provide: LocationStrategy, useClass: HashLocationStrategy},\r\n {\r\n provide: APP_INITIALIZER,\r\n useFactory: provideAppInitializer,\r\n //deps: [SessionActions, UserService, VisbosService],\r\n multi: true\r\n },\r\n DatePipe, DecimalPipe,\r\n {provide: ErrorHandler, useClass: VisbosErrorHandlerService}, // Use own error handler\r\n {provide: LOCALE_ID, useValue: \"de-DE\"}, // Set local to german\r\n ],\r\n bootstrap: [VisBosComponent]\r\n})\r\nexport class VisBosModule {\r\n\r\n constructor(private injector: Injector,\r\n private ngRedux: NgRedux,\r\n private apollo: Apollo,\r\n private router: Router,\r\n private http: HttpClient,\r\n private sessionActions: SessionActions) {\r\n\r\n\r\n\r\n // Add custom operator to Observables, to handle asynchronous calls ans observable feedback\r\n //Observable.prototype.handleObservable = handleObservable;\r\n Observable.prototype.observableResult = observableResult;\r\n\r\n // Store injector instance in globl variable for global access in VisBOS\r\n appInjector(injector);\r\n\r\n // Configure the Redux store and router (already configured in InitAppGuard, because component is bootstrapped after guard since Angular 2.4.8)\r\n try {\r\n this.ngRedux.configureStore(rootReducer, {}, middleware, enhancers);\r\n } catch (e) {\r\n console.warn(\"Redux store already configured!\");\r\n }\r\n\r\n apollo.getClient().networkInterface = GraphqlService.initNetworkInterface(this.ngRedux, this.sessionActions);\r\n\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/visbos.module.ts","export const environment = {\r\n production: true,\r\n logErrors: true,\r\n clientUrl: 'https://visbos.tech',\r\n baseUrl: 'https://visbos.tech:8081',\r\n logUrl: '',\r\n graphqlUrl: '',\r\n exportUrl: '',\r\n pusherAuthServer: '',\r\n authServer: '',\r\n storage: '',\r\n passwordEMailUrl: '',\r\n passwordResetUrl: '',\r\n\r\n network: {\r\n forceFetch: false\r\n },\r\n\r\n view: {\r\n show_parents: true,\r\n ubd_range_in_days: 30\r\n },\r\n\r\n selection: {\r\n country_id: \"citwjjcxk0001m4t9zq2xixun\",\r\n packing_unit_id: \"citwjn2nx0001m4t9sdvim6gc\"\r\n },\r\n\r\n rfid: {\r\n marry_reader_cuid: \"ck42unica00015xr92pg6j7yq\"\r\n },\r\n\r\n touch: {\r\n timeout: 1800,\r\n commit_interval: 300\r\n },\r\n\r\n pusher: {\r\n key: 'da14405f079e4cdf154f',\r\n host: 'pusher.visbos.com',\r\n wsPort: 443,\r\n wssPort: 443,\r\n encrypted: true,\r\n wsPath: ''\r\n }\r\n\r\n};\r\n\r\nenvironment.graphqlUrl = environment.baseUrl + '/api/graphql';\r\nenvironment.authServer = environment.baseUrl + '/api/authentication';\r\nenvironment.pusherAuthServer = environment.baseUrl + '/broadcasting/auth';\r\nenvironment.storage = environment.baseUrl + '/api/storage';\r\nenvironment.passwordEMailUrl = environment.baseUrl + '/api/password/email';\r\nenvironment.passwordResetUrl = environment.baseUrl + '/api/password/reset';\r\nenvironment.logUrl = environment.baseUrl + '/api/log/';\r\nenvironment.exportUrl = environment.baseUrl + '/api/exports/';\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/environments/environment.ts","import \"./polyfills\";\r\nimport {platformBrowserDynamic} from \"@angular/platform-browser-dynamic\";\r\nimport {appRef, VisBosModule} from \"./app/\";\r\nimport {environment} from \"./environments/environment\";\r\nimport {enableProdMode} from \"@angular/core\";\r\n\r\nif (environment.production) {\r\n enableProdMode();\r\n}\r\n\r\nplatformBrowserDynamic().bootstrapModule(VisBosModule)\r\n .then((_appRef) => {\r\n appRef(_appRef);\r\n });\r\n\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/main.ts","import \"core-js/es6/symbol\";\r\nimport \"core-js/es6/object\";\r\nimport \"core-js/es6/function\";\r\nimport \"core-js/es6/parse-int\";\r\nimport \"core-js/es6/parse-float\";\r\nimport \"core-js/es6/number\";\r\nimport \"core-js/es6/math\";\r\nimport \"core-js/es6/string\";\r\nimport \"core-js/es6/date\";\r\nimport \"core-js/es6/array\";\r\nimport \"core-js/es6/regexp\";\r\nimport \"core-js/es6/map\";\r\nimport \"core-js/es6/set\";\r\nimport \"core-js/es6/reflect\";\r\nimport \"core-js/es7/reflect\";\r\nimport \"zone.js/dist/zone\";\r\n// If you need to support the browsers/features below, uncomment the import\r\n// and run `npm install import-name-here';\r\n// Learn more in https://angular.io/docs/ts/latest/guide/browser-support.html\r\n// NgClass on SVG elements\r\n// Needed for: IE10, IE11\r\nimport 'classlist.js';\r\n// Animations\r\n// Needed for: All but Chrome and Firefox, Not supported in IE9\r\nimport 'web-animations-js';\r\n// Date, currency, decimal and percent pipes\r\n// Needed for: All but Chrome, Firefox, Edge, IE11 and Safari 10\r\nimport 'intl';\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/polyfills.ts","/* (ignored) */\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./locale-data/complete.js (ignored)\n// module id = 0\n// module chunks = main polyfills"],"sourceRoot":"webpack:///"}