{"version":3,"sources":["webpack:///./src/framework/forms/services/global-command-service.ts","webpack:///./src/framework/forms/classes/functions.ts","webpack:///./src/framework/forms/widget-services/list-widget-creator-service.ts","webpack:///./src/zit/views/objekte/ansprechperson/ansprechperson-edit-utils.ts","webpack:///./src/zit/services/foto-popup-service.ts","webpack:///./src/zit/views/berechtigungen/benutzergruppe/objekte-zu-benutzergruppe-utils.ts","webpack:///./src/zit/views/objekte/ziel/ziel-edit-utils.ts","webpack:///./src/zit/views/objekte/stelleninserat/stelleninserat-gruppe-edit-utils.ts","webpack:///./src/zit/views/objekte/person/person-edit-utils.ts","webpack:///./src/zit/views/objekte/geschaeftspartner/geschaeftspartner-read-utils.ts","webpack:///./src/zit/enumerations/erklaerungsvideo-anzeige-enum.ts","webpack:///./src/framework/forms/services/toolbar-service.ts","webpack:///./src/framework/forms/export.ts","webpack:///./src/zit-ui/value-converters/export.ts","webpack:///./src/zit/templates/ansprechperson.xhtml","webpack:///./src/zit-ui/services/export.ts","webpack:///./src/zit/services/staat-service.ts","webpack:///./src/config.ts","webpack:///./src/zit-ui/services/layout-service.ts","webpack:///./src/zit/services/aufgabe-service.ts","webpack:///./src/zit-ui/views/login/views/password-reset/password-reset-form-funcs.ts","webpack:///./src/zit/services/form-select-item-service.ts","webpack:///./src/framework/forms/classes/command-server-data.ts","webpack:///./src/zit/services/event-zeitraum-service.ts","webpack:///./src/zit/services/codes-service.ts","webpack:///./src/zit-ui/views/login/views/login/login-form-funcs.ts","webpack:///./src/framework/base/services/shortcut-service.ts","webpack:///./src/framework/base/services/style-service.ts","webpack:///./src/zit-ui/elements/zit-card/export.ts","webpack:///./src/zit/enumerations/terminverteilungs-typ.ts","webpack:///./src/zit-ui/elements/zit-markers/export.ts","webpack:///./src/zit/views/objekte/stelleninserat/stelleninserat-lehre-kunde-package-edit-utils.ts","webpack:///./src/zit/services/container-view-width-service.ts","webpack:///./src/zit/services/datei-service.ts","webpack:///./src/framework/forms/form-export.ts","webpack:///./src/framework/base/services/async-service.ts","webpack:///./src/zit/views/objekte/dokument/dokument-edit-utils.ts","webpack:///./src/framework/default-ui/export.ts","webpack:///./src/zit/services/ansprechperson-service.ts","webpack:///./src/framework/forms/classes/models.ts","webpack:///./src/framework/forms/widget-services/widget-creator-service.ts","webpack:///./src/framework/images/user.jpg","webpack:///./src/framework/forms/services/enum-item-service.ts","webpack:///./src/framework/forms/services/dialog-confirm-service.ts","webpack:///./src/zit-ui/elements/zit-tag/zit-tag.xhtml","webpack:///./src/zit/services/zustand-service.ts","webpack:///./src/zit-ui/views/login/views/loginprofil/loginprofil-form-funcs.ts","webpack:///./src/zit/views/objekte/information/information-read-utils.ts","webpack:///./src/zit/services/export.ts","webpack:///./src/framework/forms/widget-services/simple-widget-creator-service.ts","webpack:///./src/framework/forms/services/popup-info-service.ts","webpack:///./src/zit/templates/person.xhtml","webpack:///./src/framework/login/views/login/login-form-funcs.ts","webpack:///./src/zit/enumerations/personzuordnung-moeglichkeit.ts","webpack:///./src/zit/views/objekte/event/event-zeitraum-read-utils.ts","webpack:///./src/zit/interfaces/export.ts","webpack:///./src/zit/views/objekte/event/event-list-utils.ts","webpack:///./src/zit/views/objekte/stelleninserat/stelleninserat-edit-utils.ts","webpack:///./src/zit/enumerations/export.ts","webpack:///./src/zit/services/adresse-service.ts","webpack:///./src/framework/dx/export.ts","webpack:///./src/framework/base/services/templating-ex-service.ts","webpack:///./src/zit-ui/views/login/services/login-service.ts","webpack:///./src/framework/images/logo_tip.png","webpack:///./src/zit/services/nachricht-service.ts","webpack:///./src/framework/forms/services/model-utils-service.ts","webpack:///./src/zit/views/objekte/geschaeftspartner/geschaeftspartner-entlohnungsschema.ts","webpack:///./src/framework/forms/widget-services/list-view-widget-creator-service.ts","webpack:///./src/zit/services/tooltip-service.ts","webpack:///./src/framework/base/classes/custom-event.ts","webpack:///./src/framework/forms/services/model-event-service.ts","webpack:///./src/zit/services/status-service.ts","webpack:///./src/framework/forms/services/form-utils-service.ts","webpack:///./src/framework/default-ui/services/export.ts","webpack:///./src/framework-data/modules.ts","webpack:///./src/framework/forms/enums/export.ts","webpack:///./src/zit/services/dispo-planstelle-service.ts","webpack:///./src/zit/services/farbe-service.ts","webpack:///./src/zit-ui/elements/zit-markers/zit-markers-options.ts","webpack:///./src/framework/base/services/json-service.ts","webpack:///./src/zit/services/loginprofil-einstellungen-service.ts","webpack:///./src/zit/views/objekte/person/person-read-utils.ts","webpack:///./src/zit/services/stelleninserat-service.ts","webpack:///./src/framework/base/services/localization-service.ts","webpack:///./src/zit/services/berechtigung-service.ts","webpack:///./src/framework/forms/classes/commands.ts","webpack:///./src/zit/views/dashboard/dashboard-utils.ts","webpack:///./src/zit/enumerations/erklaerungsvideo-inhalt-art-enum.ts","webpack:///./src/framework/forms/services/default-commands-service.ts","webpack:///./src/zit/views/objekte/dokument/dokument-unterfertigung-utils.ts","webpack:///./src/zit/services/information-service.ts","webpack:///./src/framework/forms/widget-services/base-widget-creator-service.ts","webpack:///./src/framework/forms/enums/list-type-enum.ts","webpack:///./src/zit/services/update-hinweis-service.ts","webpack:///./src/zit/services/objekt-info-service.ts","webpack:///./src/framework/forms/services/history-service.ts","webpack:///./src/zit/views/objekte/geschaeftspartner/geschaeftspartner-adresse-edit-utils.ts","webpack:///./src/framework/base/services/object-info-service.ts","webpack:///./src/zit/interfaces/layout-typ.ts","webpack:///./src/framework/base/classes/export.ts","webpack:///./src/zit/views/objekte/stelleninserat/stelleninserat-read-utils.ts","webpack:///./src/framework/forms/services/layout-service.ts","webpack:///./src/framework/forms/enums/selection-mode-enum.ts","webpack:///./src/framework/base/services/data-source-service.ts","webpack:///./src/zit/services/objekt-export-eigenschaft-service.ts","webpack:///./src/zit-ui/services/html-editor-extension-service.ts","webpack:///./src/zit/views/objekte/ansprechperson/ansprechperson-kontakt-utils.ts","webpack:///./src/zit/attributes/zit-dragging-service.ts","webpack:///./src/zit/views/entwicklungszone/entwicklungszone-list-utils.ts","webpack:///./src/framework/dx/services/export.ts","webpack:///./src/zit/services/iframe-popup-service.ts","webpack:///./src/zit/services/erklaervideo-service.ts","webpack:///./src/zit/enumerations/termin-typ.ts","webpack:///./src/zit-ui/views/login/views/password-confirm/password-confirm-form-funcs.ts","webpack:///./src/zit/views/objekte/termin/termin-zustand-aendern-utils.ts","webpack:///./node_modules/moment/locale sync ^\\.\\/.*$","webpack:///./src/framework/login/views/password-reset/password-reset-form-funcs.ts","webpack:///./src/zit-ui/services/zit-card-service.ts","webpack:///./src/framework/login/views/activate-account/activate-account-form-funcs.ts","webpack:///./src/zit/templates/dispo-planstelle.xhtml","webpack:///./src/zit/views/nachrichten/nachrichten-list-utils.ts","webpack:///./src/framework/forms/elements/list-view/list-view-paging-mode.ts","webpack:///./src/zit/views/objekte/event/event-teilnehmer-edit-utils.ts","webpack:///./src/zit-ui/services/zit-tag-service.ts","webpack:///./src/zit/views/objekte/person/person-adresse-utils.ts","webpack:///./src/framework/base/classes/scope-container.ts","webpack:///./src/zit/templates/geschaeftspartner.xhtml","webpack:///./src/zit/views/objekte/bewerbung/bewerbung-edit-utils.ts","webpack:///./src/framework/base/services/object-service.ts","webpack:///./src/zit/services/geschaeftspartner-service.ts","webpack:///./src/zit/services/form-popup-service.ts","webpack:///./src/zit/services/avatar-service.ts","webpack:///./src/zit/views/objekte/event/event-link-anmeldung-edit-utils.ts","webpack:///./src/zit/views/schnuppertermin/schnuppertermin-anlage-gp-utils.ts","webpack:///./src/framework/forms/services/router-service.ts","webpack:///./src/framework/base/services/authorization-service.ts","webpack:///./src/zit/services/person-service.ts","webpack:///./src/framework/base/services/location-service.ts","webpack:///./src/zit/views/objekte/person/person-ausbildung-erweitert-edit-utils.ts","webpack:///./src/zit/services/marker-service.ts","webpack:///./src/zit/enumerations/benachrichtigung-art.ts","webpack:///./src/zit-ui/export.ts","webpack:///./src/zit/views/objekte/stelleninserat/stelleninserat-kopf-element-channel-edit-utils.ts","webpack:///./src/framework/forms/classes/form-base-import.ts","webpack:///./src/framework/base/services/file-service.ts","webpack:///./src/zit/services/download-service.ts","webpack:///./src/app.ts","webpack:///./src/app.html","webpack:///./src/zit/views/berechtigungen/benutzer/benutzer-edit-form.ts?7ddc","webpack:///./src/zit/views/berechtigungen/benutzer/benutzer-list-form.ts?9369","webpack:///./src/zit/views/berechtigungen/benutzer/loginprofil-edit-form.ts?306d","webpack:///./src/zit/views/berechtigungen/benutzergruppe/benutzergruppe-edit-form.ts?36e9","webpack:///./src/zit/views/berechtigungen/benutzergruppe/benutzergruppe-list-form.ts?4154","webpack:///./src/zit/views/berechtigungen/benutzerrolle/benutzerrolle-edit-form.ts?85e0","webpack:///./src/zit/views/berechtigungen/benutzerrolle/benutzerrolle-layout-edit-form.ts?bfb6","webpack:///./src/zit/views/berechtigungen/benutzerrolle/benutzerrolle-list-form.ts?7d33","webpack:///./src/zit/views/berechtigungen/benutzerrolle/benutzerrolle-menu-edit-form.ts?0af9","webpack:///./src/zit/views/berechtigungen/benutzerrolle/benutzerrolle-zu-kommunikation-benutzerrolle-edit-form.ts?5cbb","webpack:///./src/zit/views/berechtigungen/benutzerrolle/benutzerrolle-zu-layout-edit-form.ts?2fd6","webpack:///./src/zit/views/berechtigungen/benutzerrolle/benutzerrolle-zu-objekt-status-edit-form.ts?2c69","webpack:///./src/zit/views/berechtigungen/benutzerrolle/benutzerrolle-zu-standardfilter-edit-form.ts?770a","webpack:///./src/zit/views/berechtigungen/benutzerrolle/kopfzeile-verknuepfung-edit-form.ts?b4ee","webpack:///./src/zit/views/berechtigungen/codes/codes-edit-form.ts?68d8","webpack:///./src/zit/views/berechtigungen/codes/codes-list-form.ts?cd9d","webpack:///./src/zit/views/berechtigungen/layout/layout-edit-form.ts?d286","webpack:///./src/zit/views/berechtigungen/layout/layout-list-form.ts?fc52","webpack:///./src/zit/views/berechtigungen/mandant/channel-edit-form.ts?491e","webpack:///./src/zit/views/berechtigungen/mandant/mandant-edit-form.ts?61ac","webpack:///./src/zit/views/berechtigungen/mandant/mandant-event-edit-form.ts?e0d0","webpack:///./src/zit/views/berechtigungen/mandant/mandant-list-form.ts?35a1","webpack:///./src/zit/views/berechtigungen/skin/skin-edit-form.ts?4d3e","webpack:///./src/zit/views/berechtigungen/skin/skin-list-form.ts?ac2c","webpack:///./src/zit/views/nachrichten-gruppe/nachrichten-gruppe-edit-form.ts?6b7f","webpack:///./src/zit/views/objekte/disposition/dispo-list-form.ts?4b31","webpack:///./src/zit/views/objekte/disposition/dispo-personenzuteilung-ansprechperson-bewertung-edit-form.ts?b9a8","webpack:///./src/zit/views/objekte/disposition/dispo-personenzuteilung-bestaetigung-edit-form.ts?48ed","webpack:///./src/zit/views/objekte/disposition/dispo-personenzuteilung-bestaetigung-lehre-edit-form.ts?e71d","webpack:///./src/zit/views/objekte/disposition/dispo-personenzuteilung-bestaetigung-lehre-read-form.ts?67ff","webpack:///./src/zit/views/objekte/disposition/dispo-personenzuteilung-bestaetigung-read-form.ts?8bb4","webpack:///./src/zit/views/objekte/disposition/dispo-personenzuteilung-check-in-edit-form.ts?7fc6","webpack:///./src/zit/views/objekte/disposition/dispo-personenzuteilung-edit-form.ts?a32a","webpack:///./src/zit/views/objekte/disposition/dispo-personenzuteilung-einsatzvorbereitung-edit-form.ts?c10e","webpack:///./src/zit/views/objekte/disposition/dispo-personenzuteilung-entlohnungsschema-edit-form.ts?8dad","webpack:///./src/zit/views/objekte/disposition/dispo-personenzuteilung-fragebogen-edit-form.ts?d995","webpack:///./src/zit/views/objekte/disposition/dispo-personenzuteilung-gruppierung-edit-form.ts?84e5","webpack:///./src/zit/views/objekte/disposition/dispo-personenzuteilung-person-edit-form.ts?5a59","webpack:///./src/zit/views/objekte/disposition/dispo-personenzuteilung-zustand-aendern-form.ts?4720","webpack:///./src/zit/views/objekte/disposition/dispo-planstelle-ansprechperson-edit-form.ts?1fd5","webpack:///./src/zit/views/objekte/disposition/dispo-planstelle-edit-form.ts?ffa3","webpack:///./src/zit/views/objekte/disposition/dispo-planstelle-gruppierung-edit-form.ts?af84","webpack:///./src/zit/views/objekte/disposition/dispo-planstelle-skill-edit-form.ts?b49f","webpack:///./src/zit/views/objekte/disposition/dispo-planstelle-stelleninserat-edit-form.ts?bf6d","webpack:///./src/zit/views/objekte/event/event-link-anmeldung-edit-form.ts?cc84","webpack:///./src/zit/views/objekte/event/event-zeitraum-edit-form.ts?0c15","webpack:///./src/zit/views/objekte/event/event-zeitraum-kontingent-edit-form.ts?ed37","webpack:///./src/zit/views/objekte/profilfirma/geschaeftspartner-auswaehlen-edit-form.ts?f2e8","webpack:///./src/zit/views/objekte/profilfirma/profil-firma-edit-form.ts?f1c8","webpack:///./src/zit/views/objekte/profilfirma/profil-firma-gallery-edit-form.ts?f084","webpack:///./src/zit/views/objekte/profilfirma/profil-firma-headerbild-edit-form.ts?db9f","webpack:///./src/zit/views/objekte/profilfirma/profil-firma-list-form.ts?6403","webpack:///./src/zit/views/stammdaten/adresstyp/adresstyp-edit-form.ts?96bf","webpack:///./src/zit/views/stammdaten/adresstyp/adresstyp-list-form.ts?70b2","webpack:///./src/zit/views/stammdaten/app-einstellung/app-einstellung-edit-form.ts?cd21","webpack:///./src/zit/views/stammdaten/app-einstellung/app-einstellung-list-form.ts?546b","webpack:///./src/zit/views/stammdaten/app-einstellung/app-menu-edit-form.ts?dfd3","webpack:///./src/zit/views/stammdaten/app-einstellung/app-upload-edit-form.ts?e66a","webpack:///./src/zit/views/stammdaten/aufgabe/aufgabe-edit-form.ts?5eb7","webpack:///./src/zit/views/stammdaten/aufgabe/aufgabe-list-form.ts?0704","webpack:///./src/zit/views/stammdaten/aufgabengruppe/aufgabengruppe-edit-form.ts?ef2a","webpack:///./src/zit/views/stammdaten/aufgabengruppe/aufgabengruppe-list-form.ts?89bc","webpack:///./src/zit/views/stammdaten/aufgabenset/aufgabenset-edit-form.ts?2177","webpack:///./src/zit/views/stammdaten/aufgabenset/aufgabenset-list-form.ts?975f","webpack:///./src/zit/views/stammdaten/ausbildung-abschluss/ausbildung-abschluss-edit-form.ts?7548","webpack:///./src/zit/views/stammdaten/ausbildung-abschluss/ausbildung-abschluss-list-form.ts?90a3","webpack:///./src/zit/views/stammdaten/ausbildung/ausbildung-edit-form.ts?81d4","webpack:///./src/zit/views/stammdaten/ausbildung/ausbildung-list-form.ts?fe78","webpack:///./src/zit/views/stammdaten/ausbildung/geschaeftspartner-edit-form.ts?51f4","webpack:///./src/zit/views/stammdaten/ausbildungsort/ausbildungsort-edit-form.ts?d19e","webpack:///./src/zit/views/stammdaten/ausbildungsort/ausbildungsort-list-form.ts?c096","webpack:///./src/zit/views/stammdaten/beruf-qualifikation/beruf-qualifikation-edit-form.ts?62b9","webpack:///./src/zit/views/stammdaten/beruf-qualifikation/beruf-qualifikation-list-form.ts?ab21","webpack:///./src/zit/views/stammdaten/beruf/beruf-edit-form.ts?3287","webpack:///./src/zit/views/stammdaten/beruf/beruf-list-form.ts?d982","webpack:///./src/zit/views/stammdaten/bewerbungsgrund/bewerbungsgrund-edit-form.ts?2e30","webpack:///./src/zit/views/stammdaten/bewerbungsgrund/bewerbungsgrund-list-form.ts?d016","webpack:///./src/zit/views/stammdaten/bewerbungskanal/bewerbungskanal-edit-form.ts?a75a","webpack:///./src/zit/views/stammdaten/bewerbungskanal/bewerbungskanal-list-form.ts?eafa","webpack:///./src/zit/views/stammdaten/branche/branche-edit-form.ts?ee4b","webpack:///./src/zit/views/stammdaten/branche/branche-list-form.ts?5039","webpack:///./src/zit/views/stammdaten/dokumente/dokumente-edit-form.ts?1a40","webpack:///./src/zit/views/stammdaten/dokumente/dokumente-list-form.ts?b824","webpack:///./src/zit/views/stammdaten/dokumenten-extension/dokumenten-extension-edit-form.ts?4163","webpack:///./src/zit/views/stammdaten/dokumenten-extension/dokumenten-extension-list-form.ts?9c7f","webpack:///./src/zit/views/stammdaten/domaene/domaene-edit-form.ts?399c","webpack:///./src/zit/views/stammdaten/domaene/domaene-list-form.ts?af7b","webpack:///./src/zit/views/stammdaten/druckvorlage-paket/druckvorlage-paket-edit-form.ts?49bc","webpack:///./src/zit/views/stammdaten/druckvorlage-paket/druckvorlage-paket-list-form.ts?fe4c","webpack:///./src/zit/views/stammdaten/druckvorlage/druckvorlage-edit-form.ts?4a3a","webpack:///./src/zit/views/stammdaten/druckvorlage/druckvorlage-list-form.ts?17d0","webpack:///./src/zit/views/stammdaten/druckvorlage/druckvorlage-zu-druckvorlage-paket-edit-form.ts?7649","webpack:///./src/zit/views/stammdaten/druckvorlage/druckvorlage-zuteilung-durch-edit-form.ts?17dc","webpack:///./src/zit/views/stammdaten/einsatzvorbereitung/einsatzvorbereitung-edit-form.ts?3a77","webpack:///./src/zit/views/stammdaten/einsatzvorbereitung/einsatzvorbereitung-list-form.ts?0d58","webpack:///./src/zit/views/stammdaten/entlohnungsschema/entlohnungsschema-edit-form.ts?37d2","webpack:///./src/zit/views/stammdaten/entlohnungsschema/entlohnungsschema-list-form.ts?b03f","webpack:///./src/zit/views/stammdaten/erklaerungsvideo/erklaerungsvideo-edit-form.ts?78ec","webpack:///./src/zit/views/stammdaten/erklaerungsvideo/erklaerungsvideo-list-form.ts?fdde","webpack:///./src/zit/views/stammdaten/event-anmeldungsgruppe/event-anmeldungsgruppe-edit-form.ts?64a9","webpack:///./src/zit/views/stammdaten/event-anmeldungsgruppe/event-anmeldungsgruppe-list-form.ts?0fea","webpack:///./src/zit/views/stammdaten/event-typ/event-typ-edit-form.ts?13ce","webpack:///./src/zit/views/stammdaten/event-typ/event-typ-list-form.ts?3419","webpack:///./src/zit/views/stammdaten/familienstand/familienstand-edit-form.ts?981c","webpack:///./src/zit/views/stammdaten/familienstand/familienstand-list-form.ts?417a","webpack:///./src/zit/views/stammdaten/fuehrerscheinklasse/fuehrerscheinklasse-edit-form.ts?4adb","webpack:///./src/zit/views/stammdaten/fuehrerscheinklasse/fuehrerscheinklasse-list-form.ts?cadd","webpack:///./src/zit/views/stammdaten/funktion/funktion-edit-form.ts?7811","webpack:///./src/zit/views/stammdaten/funktion/funktion-list-form.ts?1a79","webpack:///./src/zit/views/stammdaten/geschaeftspartner-gruppierung/geschaeftspartner-gruppierung-edit-form.ts?4c55","webpack:///./src/zit/views/stammdaten/geschaeftspartner-gruppierung/geschaeftspartner-gruppierung-list-form.ts?47ec","webpack:///./src/zit/views/stammdaten/geschaeftspartner-gruppierungstyp/geschaeftspartner-gruppierungstyp-edit-form.ts?6def","webpack:///./src/zit/views/stammdaten/geschaeftspartner-gruppierungstyp/geschaeftspartner-gruppierungstyp-list-form.ts?21d5","webpack:///./src/zit/views/stammdaten/geschaeftspartnertyp/geschaeftspartnertyp-edit-form.ts?15da","webpack:///./src/zit/views/stammdaten/geschaeftspartnertyp/geschaeftspartnertyp-list-form.ts?976f","webpack:///./src/zit/views/stammdaten/groesse/groesse-edit-form.ts?6bf3","webpack:///./src/zit/views/stammdaten/groesse/groesse-list-form.ts?93cc","webpack:///./src/zit/views/stammdaten/grund/grund-edit-form.ts?986e","webpack:///./src/zit/views/stammdaten/grund/grund-list-form.ts?fff4","webpack:///./src/zit/views/stammdaten/informationstyp/informationstyp-edit-form.ts?780d","webpack:///./src/zit/views/stammdaten/informationstyp/informationstyp-list-form.ts?6f39","webpack:///./src/zit/views/stammdaten/informationstyp/seiten-edit-form.ts?1cc8","webpack:///./src/zit/views/stammdaten/kollektivvertrag/kollektivvertrag-edit-form.ts?1da8","webpack:///./src/zit/views/stammdaten/kollektivvertrag/kollektivvertrag-list-form.ts?b404","webpack:///./src/zit/views/stammdaten/kommunikationseinstellung/kommunikationseinstellung-edit-form.ts?6a8d","webpack:///./src/zit/views/stammdaten/kommunikationseinstellung/kommunikationseinstellung-list-form.ts?ae7a","webpack:///./src/zit/views/stammdaten/kommunikationseinstellung/kommunikationseinstellungbild-edit-form.ts?966b","webpack:///./src/zit/views/stammdaten/kontakttyp/kontakttyp-edit-form.ts?82b2","webpack:///./src/zit/views/stammdaten/kontakttyp/kontakttyp-list-form.ts?ff10","webpack:///./src/zit/views/stammdaten/kostenstelle/kostenstelle-edit-form.ts?8520","webpack:///./src/zit/views/stammdaten/kostenstelle/kostenstelle-list-form.ts?24cb","webpack:///./src/zit/views/stammdaten/lehrberuf/lehrberuf-edit-form.ts?f86c","webpack:///./src/zit/views/stammdaten/lehrberuf/lehrberuf-list-form.ts?a66e","webpack:///./src/zit/views/stammdaten/objekt-export-eigenschaft/objekt-export-eigenschaft-csharp-edit-form.ts?7bb0","webpack:///./src/zit/views/stammdaten/objekt-export-eigenschaft/objekt-export-eigenschaft-expression-edit-form.ts?6457","webpack:///./src/zit/views/stammdaten/objekt-export-eigenschaft/objekt-export-eigenschaft-list-form.ts?77b6","webpack:///./src/zit/views/stammdaten/objekt-marker/objekt-marker-auswaehlen-form.ts?33b3","webpack:///./src/zit/views/stammdaten/objekt-marker/objekt-marker-edit-form.ts?2525","webpack:///./src/zit/views/stammdaten/objekt-marker/objekt-marker-list-form.ts?d4a9","webpack:///./src/zit/views/stammdaten/objekt-marker/objekt-marker-zus-loginprofil-edit-form.ts?9772","webpack:///./src/zit/views/stammdaten/objekt-status-sammlung/objekt-status-sammlung-edit-form.ts?fc1e","webpack:///./src/zit/views/stammdaten/objekt-status-sammlung/objekt-status-sammlung-list-form.ts?69e4","webpack:///./src/zit/views/stammdaten/objekt-status/benutzer-objekt-status-benutzerrolle-edit-form.ts?5baf","webpack:///./src/zit/views/stammdaten/objekt-status/benutzer-objekt-status-edit-form.ts?9c9f","webpack:///./src/zit/views/stammdaten/objekt-status/objekt-status-edit-form.ts?e168","webpack:///./src/zit/views/stammdaten/objekt-status/objekt-status-list-form.ts?2e0e","webpack:///./src/zit/views/stammdaten/objekt-status/schnittstellenbenutzer-edit-form.ts?5a06","webpack:///./src/zit/views/stammdaten/package/package-edit-form.ts?4871","webpack:///./src/zit/views/stammdaten/package/package-list-form.ts?41eb","webpack:///./src/zit/views/stammdaten/pfad/pfad-edit-form.ts?5223","webpack:///./src/zit/views/stammdaten/pfad/pfad-list-form.ts?ee22","webpack:///./src/zit/views/stammdaten/pvtext/pvtext-edit-form.ts?b499","webpack:///./src/zit/views/stammdaten/pvtext/pvtext-list-form.ts?a6d3","webpack:///./src/zit/views/stammdaten/regel/regel-aktion-csharp-edit-form.ts?65f9","webpack:///./src/zit/views/stammdaten/regel/regel-edit-form.ts?503c","webpack:///./src/zit/views/stammdaten/regel/regel-list-form.ts?e0d3","webpack:///./src/zit/views/stammdaten/schnittstellenbenutzer/schnittstellenbenutzer-edit-form.ts?38cc","webpack:///./src/zit/views/stammdaten/schnittstellenbenutzer/schnittstellenbenutzer-list-form.ts?4b79","webpack:///./src/zit/views/stammdaten/schnittstellenbenutzer/webhook-edit-form.ts?9fe4","webpack:///./src/zit/views/stammdaten/schnupperberuf-geschaeftspartner/schnupperberuf-geschaeftspartner-edit-form.ts?38ef","webpack:///./src/zit/views/stammdaten/schnupperberuf-geschaeftspartner/schnupperberuf-geschaeftspartner-list-form.ts?c9ca","webpack:///./src/zit/views/stammdaten/schnuppertermin-anfrageart/schnuppertermin-anfrageart-edit-form.ts?b295","webpack:///./src/zit/views/stammdaten/schnuppertermin-anfrageart/schnuppertermin-anfrageart-list-form.ts?aa79","webpack:///./src/zit/views/stammdaten/skill-gruppe/skill-gruppe-edit-form.ts?6a8a","webpack:///./src/zit/views/stammdaten/skill-gruppe/skill-gruppe-list-form.ts?7543","webpack:///./src/zit/views/stammdaten/skill/skill-edit-form.ts?e954","webpack:///./src/zit/views/stammdaten/skill/skill-list-form.ts?3709","webpack:///./src/zit/views/stammdaten/sprache/sprache-edit-form.ts?a376","webpack:///./src/zit/views/stammdaten/sprache/sprache-list-form.ts?9343","webpack:///./src/zit/views/stammdaten/sprachniveau/sprachniveau-edit-form.ts?e47e","webpack:///./src/zit/views/stammdaten/sprachniveau/sprachniveau-list-form.ts?0cb3","webpack:///./src/zit/views/stammdaten/staat/staat-edit-form.ts?b6cb","webpack:///./src/zit/views/stammdaten/staat/staat-list-form.ts?4ef0","webpack:///./src/zit/views/stammdaten/statistikdaten/statistikdaten-edit-form.ts?bd1f","webpack:///./src/zit/views/stammdaten/statistikdaten/statistikdaten-list-form.ts?4af1","webpack:///./src/zit/views/stammdaten/stelleninserat-bewerbungstyp/stelleninserat-bewerbungstyp-edit-form.ts?5249","webpack:///./src/zit/views/stammdaten/stelleninserat-bewerbungstyp/stelleninserat-bewerbungstyp-list-form.ts?2829","webpack:///./src/zit/views/stammdaten/stelleninserat-gruppentyp/stelleninserat-gruppentyp-edit-form.ts?3cb5","webpack:///./src/zit/views/stammdaten/stelleninserat-gruppentyp/stelleninserat-gruppentyp-list-form.ts?68f2","webpack:///./src/zit/views/stammdaten/survey-monkey-fragebogen/survey-monkey-fragebogen-list-form.ts?a0c1","webpack:///./src/zit/views/stammdaten/termintyp/termintyp-edit-form.ts?93d8","webpack:///./src/zit/views/stammdaten/termintyp/termintyp-list-form.ts?9fac","webpack:///./src/zit/views/stammdaten/unternehmen/unternehmen-edit-form.ts?0913","webpack:///./src/zit/views/stammdaten/unternehmen/unternehmen-list-form.ts?2514","webpack:///./src/zit/views/stammdaten/unternehmensbereich/unternehmensbereich-edit-form.ts?a3b7","webpack:///./src/zit/views/stammdaten/unternehmensbereich/unternehmensbereich-list-form.ts?12e0","webpack:///./src/zit/views/stammdaten/updatehinweis/updatehinweis-edit-form.ts?efb6","webpack:///./src/zit/views/stammdaten/updatehinweis/updatehinweis-list-form.ts?5f04","webpack:///./src/zit/views/stammdaten/verwandtschaftsverhaeltnis/verwandtschaftsverhaeltnis-edit-form.ts?c11f","webpack:///./src/zit/views/stammdaten/verwandtschaftsverhaeltnis/verwandtschaftsverhaeltnis-list-form.ts?a09c","webpack:///./src/zit/views/stammdaten/waehrung/waehrung-edit-form.ts?1a7f","webpack:///./src/zit/views/stammdaten/waehrung/waehrung-list-form.ts?afb0","webpack:///./src/zit/views/stammdaten/willkommensseite/willkommensseite-edit-form.ts?c2e5","webpack:///./src/zit/views/stammdaten/willkommensseite/willkommensseite-list-form.ts?9f49","webpack:///./src/zit/views/stammdaten/zustand/benutzer-zustand-edit-form.ts?549b","webpack:///./src/zit/views/stammdaten/zustand/zustand-edit-form.ts?2b02","webpack:///./src/zit/views/stammdaten/zustand/zustand-list-form.ts?47da","webpack:///./src/zit/views/tableau/tableau-list-form.ts?eeaa","webpack:///./src/zit/enumerations/geschlecht.ts","webpack:///./src/zit/views/objekte/aufgabe/aufgabe-edit-utils.ts","webpack:///./src/framework/forms/services/html-editor-service.ts","webpack:///./src/zit/views/objekte/geschaeftspartner/geschaeftspartner-edit-utils.ts","webpack:///./src/zit/services/ziel-service.ts","webpack:///./src/zit/enumerations/kontakt-typ.ts","webpack:///./src/framework/forms/classes/export.ts","webpack:///./src/framework/base/services/notification-service.ts","webpack:///./src/framework/forms/classes/nested-forms.ts","webpack:///./src/framework/default-ui/services/header-service.ts","webpack:///./src/framework/forms/classes/view-item.ts","webpack:///./src/environment.ts","webpack:///./src/framework/forms/classes/edit-popups.ts","webpack:///./src/zit/templates/landvorwahl-bezeichnung.xhtml","webpack:///./src/zit/views/objekte/termin/termin-edit-utils.ts","webpack:///./src/zit/services/erweiterte-suche-service.ts","webpack:///./src/framework/forms/services/validation-service.ts","webpack:///./src/zit/enumerations/kontaktperson-typ.ts","webpack:///./src/zit/enumerations/benutzer-typ.ts","webpack:///./src/zit/enumerations/objekt-export-eigenschaft-daten-typ.ts","webpack:///./src/zit/services/schnuppertermin-service.ts","webpack:///./src/framework/base/services/web-event-service.ts","webpack:///./src/framework/base/attributes/animation-tracker/animation-tracker-attribute.ts","webpack:///./src/framework/base/attributes/animation/animation-attribute.ts","webpack:///./src/framework/base/attributes/grid-size/grid-size-attribute.ts","webpack:///./src/framework/base/attributes/icon/fa-icon-attribute.ts","webpack:///./src/framework/base/attributes/translation/translation-attribute.ts","webpack:///./src/framework/base/index.ts","webpack:///./src/framework/base/value-converters/background-image/background-image-value-converter.ts","webpack:///./src/framework/base/value-converters/file-download/file-download-value-converter.ts","webpack:///./src/framework/base/value-converters/format/format-value-converter.ts","webpack:///./src/framework/base/value-converters/max-text-length/max-text-length-value-converter.ts","webpack:///./src/framework/base/value-converters/sort/sort-value-converter.ts","webpack:///./src/framework/base/value-converters/translation/translation-value-converter.ts","webpack:///./src/framework/default-ui/views/loading/loading.ts","webpack:///./src/framework/default-ui/views/loading/loading.html","webpack:///./src/framework/dx/elements/dx-widget.ts","webpack:///./src/framework/dx/elements/dx-widget.html","webpack:///./src/framework/dx/index.ts","webpack:///./src/framework/forms/attributes/stack-router-link/stack-router-link.ts","webpack:///./src/framework/forms/elements/code-editor/code-editor.ts","webpack:///./src/framework/forms/elements/code-editor/code-editor.html","webpack:///./src/framework/forms/elements/code-editor/code-editor.less","webpack:///./src/framework/forms/elements/custom-edit-popup/custom-edit-popup.ts","webpack:///./src/framework/forms/elements/custom-edit-popup/custom-edit-popup.html","webpack:///./src/framework/forms/elements/file-uploader-with-viewer/tip-file-uploader-with-viewer.ts","webpack:///./src/framework/forms/elements/file-uploader-with-viewer/tip-file-uploader-with-viewer.html","webpack:///./src/framework/forms/elements/file-uploader-with-viewer/tip-file-uploader-with-viewer.less","webpack:///./src/framework/forms/elements/html-editor/html-editor.ts","webpack:///./src/framework/forms/elements/html-editor/html-editor.html","webpack:///./src/framework/forms/elements/html-editor/html-editor.less","webpack:///./src/framework/forms/elements/list-view/list-view.ts","webpack:///./src/framework/forms/elements/list-view/list-view-item.ts","webpack:///./src/framework/forms/elements/list-view/list-view-item.html","webpack:///./src/framework/forms/elements/list-view/list-view-items.ts","webpack:///./src/framework/forms/elements/list-view/list-view-items.html","webpack:///./src/framework/forms/elements/list-view/list-view.html","webpack:///./src/framework/forms/elements/list-view/list-view.less","webpack:///./src/framework/forms/elements/loading-spinner/loading-spinner.ts","webpack:///./src/framework/forms/elements/loading-spinner/loading-spinner.html","webpack:///./src/framework/forms/elements/loading-spinner/loading-spinner.less","webpack:///./src/framework/forms/elements/ribbon-toolbar/ribbon-toolbar.ts","webpack:///./src/framework/forms/elements/ribbon-toolbar/ribbon-toolbar-category.ts","webpack:///./src/framework/forms/elements/ribbon-toolbar/ribbon-toolbar-category.html","webpack:///./src/framework/forms/elements/ribbon-toolbar/ribbon-toolbar-item.ts","webpack:///./src/framework/forms/elements/ribbon-toolbar/ribbon-toolbar-item-tmpl.ts","webpack:///./src/framework/forms/elements/ribbon-toolbar/ribbon-toolbar-item-tmpl.html","webpack:///./src/framework/forms/elements/ribbon-toolbar/ribbon-toolbar-item.html","webpack:///./src/framework/forms/elements/ribbon-toolbar/ribbon-toolbar.html","webpack:///./src/framework/forms/elements/ribbon-toolbar/ribbon-toolbar.less","webpack:///./src/framework/forms/elements/toolbar/toolbar.ts","webpack:///./src/framework/forms/elements/toolbar/toolbar.html","webpack:///./src/framework/forms/index.ts","webpack:///./src/framework/forms/views/stack-router/stack-router.ts","webpack:///./src/framework/forms/views/stack-router/stack-router.html","webpack:///./src/framework/forms/views/stack-router/stack-router.less","webpack:///./src/framework/forms/views/view/view.ts","webpack:///./src/framework/forms/views/view/view.html","webpack:///./src/framework/forms/views/view/view.less","webpack:///./src/framework/login/views/activate-account/activate-account-form.ts","webpack:///./src/framework/login/views/activate-account/activate-account-form.html","webpack:///./src/framework/login/views/login/login-form.ts","webpack:///./src/framework/login/views/login/login-form.html","webpack:///./src/framework/login/views/password-reset/password-reset-form.ts","webpack:///./src/framework/login/views/password-reset/password-reset-form.html","webpack:///./src/framework/security/index.ts","webpack:///./src/framework/forms/elements/list-view/export.ts","webpack:///./src/zit/services/nachricht-vorlage-service.ts","webpack:///./src/framework/base/services/deep-observer-service.ts","webpack:///./src/zit/enumerations/benutzeraccount-typ.ts","webpack:///./src/zit/views/objekte/event/event-edit-utils.ts","webpack:///./src/zit/views/schnuppertermin/schnuppertermin-list-utils.ts","webpack:///./src/framework/forms/services/form-info-service.ts","webpack:///./src/framework/base/services/alert-service.ts","webpack:///./src/framework/base/export.ts","webpack:///./src/zit/interfaces/startup-info.ts","webpack:///./src/framework/forms/services/export.ts","webpack:///./src/zit-ui/views/auto-login/auto-login-form-funcs.ts","webpack:///./src/framework/forms/widget-services/data-grid-widget-creator-service.ts","webpack:///./src/framework/base/services/markdown-service.ts","webpack:///./src/zit/services/dialog-service.ts","webpack:///./src/framework/base/services/error-service.ts","webpack:///./src/zit-ui/views/login/views/login-tan/login-tan-funcs.ts","webpack:///./src/framework/base/services/export.ts","webpack:///./src/zit/services/dashboard-service.ts","webpack:///./src/zit/views/suche/suche-utils.ts","webpack:///./src/zit/views/objekte/dokument/dokument-version-information-utils.ts","webpack:///./src/zit/views/objekte/event/event-teilnehmer-read-utils.ts","webpack:///./src/zit/services/validation-ex-service.ts","webpack:///./src/zit/views/objekte/bewerbung/bewerbung-read-utils.ts","webpack:///./src/main.ts","webpack:///./src/zit/services/benutzereinstellungen-service.ts","webpack:///./src/framework/forms/services/command-service.ts","webpack:///./src/zit/enumerations/person-dossier-typ.ts","webpack:///./src/zit/views/objekte/event/event-zeitraum-edit-utils.ts","webpack:///./src/zit/enumerations/grund-typ.ts","webpack:///./src/framework/base/services/window-service.ts","webpack:///./src/framework/dx/dx-loader.ts","webpack:///./src/framework/forms/services/setting-service.ts","webpack:///./src/framework/forms/classes/variables.ts","webpack:///./src/framework/default-ui/services/layout-service.ts","webpack:///./src/zit/views/objekte/dokument/dokument-read-utils.ts","webpack:///./src/zit/views/objekte/geschaeftspartner/geschaeftspartner-gruppierung.ts","webpack:///./src/zit-ui/elements/zit-card/zit-card-options.ts","webpack:///./src/framework/base/services/rest-service.ts","webpack:///./src/zit/enumerations/termin-reaktion.ts","webpack:///./src/zit/services/loginprofil-service.ts","webpack:///./src/zit/enumerations/suche-view-typ.ts","webpack:///./src/zit/services/startup-service.ts","webpack:///./src/zit-ui/views/login/views/activate-account/activate-account-form-funcs.ts","webpack:///./src/zit/views/objekte/termin/termin-empf-einschaetzung-edit-utils.ts","webpack:///./src/framework/forms/services/form-event-service.ts","webpack:///./src/zit/views/objekte/geschaeftspartner/geschaeftspartner-package-edit-utils.ts","webpack:///./src/zit-ui/elements/zit-tag/zit-tag-info.xhtml","webpack:///./src/framework/forms/classes/form-base.ts","webpack:///./src/zit-ui/services/widget-extender-service.ts","webpack:///./src/framework/base/services/permission-service.ts","webpack:///./src/zit/templates/landvorwahl-bezeichnung-lookup-field.xhtml","webpack:///./src/framework/forms/elements/export.ts","webpack:///./src/zit/services/template-register-service.ts","webpack:///./src/zit/views/objekte/ansprechperson/ansprechperson-read-utils.ts","webpack:///./src/zit/services/form-extender-service.ts","webpack:///./src/zit/enumerations/abholfiliale.ts","webpack:///./src/zit/templates/profil-firma.xhtml","webpack:///./src/framework/base/services/globalization-service.ts","webpack:///./src/framework/default-ui/services/loading-service.ts","webpack:///./src/zit/views/entwicklungsziele/entwicklungsziele-list-utils.ts","webpack:///./src/framework/dx/services/dx-template-service.ts","webpack:///./src/framework/base/services/binding-service.ts","webpack:///./src/zit/templates/stelleninserat.xhtml","webpack:///./src/framework/forms/services/select-item-service.ts","webpack:///./src/zit/views/objekte/termin/termin-read-utils.ts","webpack:///./src/zit-ui/views/app-login/app-login-form-funcs.ts","webpack:///./src/framework/forms/services/routes-creator-service.ts","webpack:///./src/framework/forms/widget-services/export.ts","webpack:///./src/zit/services/form-eval-service.ts","webpack:///./src/framework/base/services/browser-service.ts","webpack:///./src/zit/templates/landvorwahl-bezeichnung-field.xhtml","webpack:///./src/framework/forms/classes/context-menu.ts","webpack:///./src/zit/services/form-refresh-service.ts","webpack:///./src/zit-ui/services/loading-service.ts","webpack:///./src/zit-ui/services/domaene-service.ts","webpack:///./src/zit/services/dokument-service.ts","webpack:///./src/zit-ui/card-templates/ansprechperson-klein.html","webpack:///./src/zit-ui/card-templates/ansprechperson-kompakt.html","webpack:///./src/zit-ui/card-templates/aufgabe-kompakt.html","webpack:///./src/zit-ui/card-templates/bewerbung-kunde-gross.html","webpack:///./src/zit-ui/card-templates/bewerbung-kunde-klein.html","webpack:///./src/zit-ui/card-templates/bewerbung-kunde-kompakt.html","webpack:///./src/zit-ui/card-templates/bewerbung-person-gross.html","webpack:///./src/zit-ui/card-templates/bewerbung-person-kompakt.html","webpack:///./src/zit-ui/card-templates/dispo-person-gross.html","webpack:///./src/zit-ui/card-templates/dispo-personenzuteilung-klein.html","webpack:///./src/zit-ui/card-templates/dispo-personenzuteilung-kompakt.html","webpack:///./src/zit-ui/card-templates/dispo-planstelle-gross.html","webpack:///./src/zit-ui/card-templates/dispo-planstelle-kompakt.html","webpack:///./src/zit-ui/card-templates/event-kompakt.html","webpack:///./src/zit-ui/card-templates/event-teilnehmer-klein.html","webpack:///./src/zit-ui/card-templates/event-teilnehmer-kompakt.html","webpack:///./src/zit-ui/card-templates/event-zeitraum-kompakt.html","webpack:///./src/zit-ui/card-templates/geschaeftspartner-kompakt.html","webpack:///./src/zit-ui/card-templates/information-kompakt.html","webpack:///./src/zit-ui/card-templates/person-gross.html","webpack:///./src/zit-ui/card-templates/person-klein.html","webpack:///./src/zit-ui/card-templates/person-kompakt.html","webpack:///./src/zit-ui/card-templates/person-kunde-kompakt.html","webpack:///./src/zit-ui/card-templates/profil-firma-kunde-gross.html","webpack:///./src/zit-ui/card-templates/profil-firma-kunde-kompakt.html","webpack:///./src/zit-ui/card-templates/stelleninserat-kunde-gross.html","webpack:///./src/zit-ui/card-templates/stelleninserat-kunde-kompakt.html","webpack:///./src/zit-ui/card-templates/stelleninserat-person-gross.html","webpack:///./src/zit-ui/card-templates/stelleninserat-person-kompakt.html","webpack:///./src/zit-ui/card-templates/termin-heartbase-kompakt.html","webpack:///./src/zit-ui/card-templates/termin-kompakt.html","webpack:///./src/zit-ui/card-templates/ziel-klein.html","webpack:///./src/zit-ui/card-templates/ziel-kompakt.html","webpack:///./src/zit-ui/card-templates/zit-card-content-base.less","webpack:///./src/zit-ui/elements/zit-card/zit-card.ts","webpack:///./src/zit-ui/elements/zit-card/zit-card.html","webpack:///./src/zit-ui/elements/zit-card/zit-card.less","webpack:///./src/zit-ui/elements/zit-image/zit-image.ts","webpack:///./src/zit-ui/elements/zit-image/zit-image.html","webpack:///./src/zit-ui/elements/zit-image/zit-image.less","webpack:///./src/zit-ui/elements/zit-markers/zit-markers.ts","webpack:///./src/zit-ui/elements/zit-markers/zit-markers.html","webpack:///./src/zit-ui/elements/zit-markers/zit-markers.less","webpack:///./src/zit-ui/elements/zit-tag/zit-tag.ts","webpack:///./src/zit-ui/elements/zit-toolbar/zit-toolbar.ts","webpack:///./src/zit-ui/elements/zit-toolbar/zit-toolbar.html","webpack:///./src/zit-ui/elements/zit-toolbar/zit-toolbar.less","webpack:///./src/zit-ui/index.ts","webpack:///./src/zit-ui/value-converters/address-value-converter.ts","webpack:///./src/zit-ui/value-converters/ansprechperson-value-converter.ts","webpack:///./src/zit-ui/value-converters/bankverbindung-value-converter.ts","webpack:///./src/zit-ui/value-converters/default-short-objekttyp-bezeichnung-value-converter.ts","webpack:///./src/zit-ui/value-converters/enumeration-value-converter.ts","webpack:///./src/zit-ui/value-converters/format-date-ex-value-converter.ts","webpack:///./src/zit-ui/value-converters/geschlecht-value-converter.ts","webpack:///./src/zit-ui/value-converters/initialen-value-converter.ts","webpack:///./src/zit-ui/value-converters/minuten-text-value-converter.ts","webpack:///./src/zit-ui/value-converters/moment-value-converter.ts","webpack:///./src/zit-ui/value-converters/pattern-value-converter.ts","webpack:///./src/zit-ui/value-converters/person-name-value-converter.ts","webpack:///./src/zit-ui/value-converters/restrict-length-value-converter.ts","webpack:///./src/zit-ui/value-converters/sort-value-converter.ts","webpack:///./src/zit-ui/value-converters/title-value-converter.ts","webpack:///./src/zit-ui/views/app-login/app-login-form.ts","webpack:///./src/zit-ui/views/app-login/app-login-form.html","webpack:///./src/zit-ui/views/auto-login/auto-login-form.ts","webpack:///./src/zit-ui/views/auto-login/auto-login-form.html","webpack:///./src/zit-ui/views/container/container.ts","webpack:///./src/zit-ui/views/container/container.html","webpack:///./src/zit-ui/views/container/container.less","webpack:///./src/zit-ui/views/content/content.ts","webpack:///./src/zit-ui/views/content/content.html","webpack:///./src/zit-ui/views/content/content.less","webpack:///./src/zit-ui/views/header/header.ts","webpack:///./src/zit-ui/views/header/header.html","webpack:///./src/zit-ui/views/header/header.less","webpack:///./src/zit-ui/views/loading/loading.ts","webpack:///./src/zit-ui/views/loading/loading.html","webpack:///./src/zit-ui/views/login/login.ts","webpack:///./src/zit-ui/views/login/login.html","webpack:///./src/zit-ui/views/login/login.less","webpack:///./src/zit-ui/views/login/views/activate-account/activate-account-form.ts","webpack:///./src/zit-ui/views/login/views/activate-account/activate-account-form.html","webpack:///./src/zit-ui/views/login/views/login-tan/login-tan-form.ts","webpack:///./src/zit-ui/views/login/views/login-tan/login-tan-form.html","webpack:///./src/zit-ui/views/login/views/login/login-form.ts","webpack:///./src/zit-ui/views/login/views/login/login-form.html","webpack:///./src/zit-ui/views/login/views/loginprofil/loginprofil-form.ts","webpack:///./src/zit-ui/views/login/views/loginprofil/loginprofil-form.html","webpack:///./src/zit-ui/views/login/views/password-confirm/password-confirm-form.ts","webpack:///./src/zit-ui/views/login/views/password-confirm/password-confirm-form.html","webpack:///./src/zit-ui/views/login/views/password-reset/password-reset-form.ts","webpack:///./src/zit-ui/views/login/views/password-reset/password-reset-form.html","webpack:///./src/zit-ui/views/nav-bar/nav-bar.ts","webpack:///./src/zit-ui/views/nav-bar/nav-bar-item.ts","webpack:///./src/zit-ui/views/nav-bar/nav-bar-item.html","webpack:///./src/zit-ui/views/nav-bar/nav-bar.html","webpack:///./src/zit-ui/views/nav-bar/nav-bar.less","webpack:///./src/zit-ui/views/suche/suche.ts","webpack:///./src/zit-ui/views/suche/suche.html","webpack:///./src/zit-ui/views/suche/suche.less","webpack:///./src/zit/attributes/repeat-finished-attribute.ts","webpack:///./src/zit/attributes/zit-drag-and-drop.ts","webpack:///./src/zit/elements/aufgabe-zuweisen/aufgabe-zuweisen.ts","webpack:///./src/zit/elements/aufgabe-zuweisen/aufgabe-zuweisen-start.ts","webpack:///./src/zit/elements/aufgabe-zuweisen/aufgabe-zuweisen-start.html","webpack:///./src/zit/elements/aufgabe-zuweisen/aufgabe-zuweisen-start.less","webpack:///./src/zit/elements/aufgabe-zuweisen/aufgabe-zuweisen.html","webpack:///./src/zit/elements/benutzer-hilfe/benutzer-hilfe.ts","webpack:///./src/zit/elements/benutzer-hilfe/benutzer-hilfe.html","webpack:///./src/zit/elements/benutzer-loeschen/benutzer-loeschen.ts","webpack:///./src/zit/elements/benutzer-loeschen/benutzer-loeschen.html","webpack:///./src/zit/elements/benutzer-sperren/benutzer-sperren.ts","webpack:///./src/zit/elements/benutzer-sperren/benutzer-sperren.html","webpack:///./src/zit/elements/benutzer-wechseln/benutzer-wechseln.ts","webpack:///./src/zit/elements/benutzer-wechseln/benutzer-wechseln.html","webpack:///./src/zit/elements/benutzer-wechseln/benutzer-wechseln.less","webpack:///./src/zit/elements/benutzereinstellungen/benutzereinstellungen.ts","webpack:///./src/zit/elements/benutzereinstellungen/benutzereinstellungen.html","webpack:///./src/zit/elements/benutzereinstellungen/benutzereinstellungen.less","webpack:///./src/zit/elements/bewerbung-umbuchen/bewerbung-umbuchen.ts","webpack:///./src/zit/elements/bewerbung-umbuchen/bewerbung-umbuchen.html","webpack:///./src/zit/elements/bewerbungstyp-aendern/bewerbungstyp-aendern.ts","webpack:///./src/zit/elements/bewerbungstyp-aendern/bewerbungstyp-aendern.html","webpack:///./src/zit/elements/card-list/card-list.ts","webpack:///./src/zit/elements/card-list/card-list.html","webpack:///./src/zit/elements/card-list/card-list.less","webpack:///./src/zit/elements/check-benutzer/check-benutzer.ts","webpack:///./src/zit/elements/codes/codes.ts","webpack:///./src/zit/elements/codes/codes.html","webpack:///./src/zit/elements/codes/codes.less","webpack:///./src/zit/elements/custom-edit-popup-container/custom-edit-popup-container.ts","webpack:///./src/zit/elements/custom-edit-popup-container/custom-edit-popup-container.html","webpack:///./src/zit/elements/dashboard-box-aufgabe/dashboard-box-aufgabe.ts","webpack:///./src/zit/elements/dashboard-box-aufgabe/dashboard-box-aufgabe.html","webpack:///./src/zit/elements/dashboard-box-bewerbung/dashboard-box-bewerbung.ts","webpack:///./src/zit/elements/dashboard-box-bewerbung/dashboard-box-bewerbung.html","webpack:///./src/zit/elements/dashboard-box-einsatz/dashboard-box-einsatz.ts","webpack:///./src/zit/elements/dashboard-box-einsatz/dashboard-box-einsatz.html","webpack:///./src/zit/elements/dashboard-box-event-teilnehmer/dashboard-box-event-teilnehmer.ts","webpack:///./src/zit/elements/dashboard-box-event-teilnehmer/dashboard-box-event-teilnehmer.html","webpack:///./src/zit/elements/dashboard-box-event/dashboard-box-event.ts","webpack:///./src/zit/elements/dashboard-box-event/dashboard-box-event.html","webpack:///./src/zit/elements/dashboard-box-html/dashboard-box-html.ts","webpack:///./src/zit/elements/dashboard-box-html/dashboard-box-html.html","webpack:///./src/zit/elements/dashboard-box-information/dashboard-box-information.ts","webpack:///./src/zit/elements/dashboard-box-information/dashboard-box-information.html","webpack:///./src/zit/elements/dashboard-box-kennzahlen/dashboard-box-kennzahlen.ts","webpack:///./src/zit/elements/dashboard-box-kennzahlen/dashboard-box-kennzahlen.html","webpack:///./src/zit/elements/dashboard-box-kennzahlen/dashboard-box-kennzahlen.less","webpack:///./src/zit/elements/dashboard-box-stelleninserat/dashboard-box-stelleninserat.ts","webpack:///./src/zit/elements/dashboard-box-stelleninserat/dashboard-box-stelleninserat.html","webpack:///./src/zit/elements/dashboard-box-termin/dashboard-box-termin.ts","webpack:///./src/zit/elements/dashboard-box-termin/dashboard-box-termin.html","webpack:///./src/zit/elements/dashboard-button/dashboard-button.ts","webpack:///./src/zit/elements/dashboard-button/dashboard-button.html","webpack:///./src/zit/elements/dashboard-button/dashboard-button.less","webpack:///./src/zit/elements/dashboard-container/dashboard-container.ts","webpack:///./src/zit/elements/dashboard-container/dashboard-container.html","webpack:///./src/zit/elements/dashboard-container/dashboard-container.less","webpack:///./src/zit/elements/datei-auswaehlen/datei-auswaehlen.ts","webpack:///./src/zit/elements/datei-auswaehlen/datei-auswaehlen.html","webpack:///./src/zit/elements/datei-auswaehlen/datei-auswaehlen.less","webpack:///./src/zit/elements/datei-galerie-viewer/datei-galerie-viewer.ts","webpack:///./src/zit/elements/datei-galerie-viewer/datei-galerie-viewer.html","webpack:///./src/zit/elements/datei-galerie-viewer/datei-galerie-viewer.less","webpack:///./src/zit/elements/datei-galerie/datei-galerie.ts","webpack:///./src/zit/elements/datei-galerie/datei-galerie.html","webpack:///./src/zit/elements/datei/datei.ts","webpack:///./src/zit/elements/datei/datei.html","webpack:///./src/zit/elements/datei/datei.less","webpack:///./src/zit/elements/datenschutz/datenschutz.ts","webpack:///./src/zit/elements/datenschutz/datenschutz.html","webpack:///./src/zit/elements/datenschutz/datenschutz.less","webpack:///./src/zit/elements/dokument-laut-vorlage-erstellen/dokument-laut-vorlage-erstellen.ts","webpack:///./src/zit/elements/dokument-laut-vorlage-erstellen/dokument-laut-vorlage-erstellen.html","webpack:///./src/zit/elements/dokument-list-view/dokument-list-view.ts","webpack:///./src/zit/elements/dokument-list-view/dokument-list-view.html","webpack:///./src/zit/elements/dokument-list-view/dokument-list-view.less","webpack:///./src/zit/elements/einsatzvorbereitung-hinzufuegen/einsatzvorbereitung-hinzufuegen.ts","webpack:///./src/zit/elements/einsatzvorbereitung-hinzufuegen/einsatzvorbereitung-hinzufuegen.html","webpack:///./src/zit/elements/einsatzvorbereitung-hinzufuegen/einsatzvorbereitung-hinzufuegen.less","webpack:///./src/zit/elements/entwicklungsziele/entwicklungsziele.ts","webpack:///./src/zit/elements/entwicklungsziele/entwicklungsziele.html","webpack:///./src/zit/elements/entwicklungszone/entwicklungszone.ts","webpack:///./src/zit/elements/entwicklungszone/entwicklungszone.html","webpack:///./src/zit/elements/erklaerungsvideo/erklaerungsvideo.ts","webpack:///./src/zit/elements/erklaerungsvideo/erklaerungsvideo-element.ts","webpack:///./src/zit/elements/erklaerungsvideo/erklaerungsvideo-element.html","webpack:///./src/zit/elements/erklaerungsvideo/erklaerungsvideo.html","webpack:///./src/zit/elements/erklaerungsvideo/erklaerungsvideo.less","webpack:///./src/zit/elements/erklaervideo/erklaervideo.ts","webpack:///./src/zit/elements/erklaervideo/erklaervideo.html","webpack:///./src/zit/elements/erklaervideo/erklaervideo.less","webpack:///./src/zit/elements/erweiterte-suche-filter-list-view/erweiterte-suche-filter-list-view.ts","webpack:///./src/zit/elements/erweiterte-suche-filter-list-view/erweiterte-suche-filter-list-view.html","webpack:///./src/zit/elements/erweiterte-suche/erweiterte-suche.ts","webpack:///./src/zit/elements/erweiterte-suche/erweiterte-suche-auswahl.ts","webpack:///./src/zit/elements/erweiterte-suche/erweiterte-suche-auswahl.html","webpack:///./src/zit/elements/erweiterte-suche/erweiterte-suche-datum.ts","webpack:///./src/zit/elements/erweiterte-suche/erweiterte-suche-datum.html","webpack:///./src/zit/elements/erweiterte-suche/erweiterte-suche-marker.ts","webpack:///./src/zit/elements/erweiterte-suche/erweiterte-suche-marker.html","webpack:///./src/zit/elements/erweiterte-suche/erweiterte-suche-nummer.ts","webpack:///./src/zit/elements/erweiterte-suche/erweiterte-suche-nummer.html","webpack:///./src/zit/elements/erweiterte-suche/erweiterte-suche-objekt-status.ts","webpack:///./src/zit/elements/erweiterte-suche/erweiterte-suche-objekt-status.html","webpack:///./src/zit/elements/erweiterte-suche/erweiterte-suche-text.ts","webpack:///./src/zit/elements/erweiterte-suche/erweiterte-suche-text.html","webpack:///./src/zit/elements/erweiterte-suche/erweiterte-suche.html","webpack:///./src/zit/elements/erweiterte-suche/erweiterte-suche.less","webpack:///./src/zit/elements/event-kopieren-optionen/event-kopieren-optionen.ts","webpack:///./src/zit/elements/event-kopieren-optionen/event-kopieren-optionen.html","webpack:///./src/zit/elements/event-kopieren-zeitraum/event-kopieren-zeitraum.ts","webpack:///./src/zit/elements/event-kopieren-zeitraum/event-kopieren-zeitraum.html","webpack:///./src/zit/elements/event-teilnehmer-zuteilen/event-teilnehmer-zuteilen.ts","webpack:///./src/zit/elements/event-teilnehmer-zuteilen/event-teilnehmer-zuteilen.html","webpack:///./src/zit/elements/event/event.ts","webpack:///./src/zit/elements/event/event.html","webpack:///./src/zit/elements/event/event.less","webpack:///./src/zit/elements/form-popup/form-popup.ts","webpack:///./src/zit/elements/form-popup/form-popup.html","webpack:///./src/zit/elements/fortschritt/fortschritt.ts","webpack:///./src/zit/elements/fortschritt/fortschritt.html","webpack:///./src/zit/elements/fortschritt/fortschritt.less","webpack:///./src/zit/elements/foto-popup/foto-popup.ts","webpack:///./src/zit/elements/foto-popup/foto-popup.html","webpack:///./src/zit/elements/foto-popup/foto-popup.less","webpack:///./src/zit/elements/geschaeftspartner-erweiterte-optionen/geschaeftspartner-erweiterte-optionen.ts","webpack:///./src/zit/elements/geschaeftspartner-erweiterte-optionen/geschaeftspartner-erweiterte-optionen.html","webpack:///./src/zit/elements/html-editor-extension/html-editor-extension.ts","webpack:///./src/zit/elements/html-editor-extension/html-editor-extension.html","webpack:///./src/zit/elements/iframe-element/iframe-element.ts","webpack:///./src/zit/elements/iframe-element/iframe-element.html","webpack:///./src/zit/elements/iframe-element/iframe-element.less","webpack:///./src/zit/elements/iframe-popup/iframe-popup.ts","webpack:///./src/zit/elements/iframe-popup/iframe-popup.html","webpack:///./src/zit/elements/iframe-popup/iframe-popup.less","webpack:///./src/zit/elements/lehrling-auswaehlen/lehrling-auswaehlen.ts","webpack:///./src/zit/elements/lehrling-auswaehlen/lehrling-auswaehlen.html","webpack:///./src/zit/elements/marker-multi-objekt/marker-multi-objekt.ts","webpack:///./src/zit/elements/marker-multi-objekt/marker-multi-objekt.html","webpack:///./src/zit/elements/nachricht-benutzer/nachricht-benutzer.ts","webpack:///./src/zit/elements/nachricht-benutzer/nachricht-benutzer.html","webpack:///./src/zit/elements/nachricht-benutzer/nachricht-benutzer.less","webpack:///./src/zit/elements/nachricht-container/nachricht-container.ts","webpack:///./src/zit/elements/nachricht-container/nachricht-container.html","webpack:///./src/zit/elements/nachricht-container/nachricht-container.less","webpack:///./src/zit/elements/nachricht-erstellen/nachricht-erstellen.ts","webpack:///./src/zit/elements/nachricht-erstellen/nachricht-erstellen.html","webpack:///./src/zit/elements/nachricht-erstellen/nachricht-erstellen.less","webpack:///./src/zit/elements/nachricht-massennachricht/nachricht-massennachricht.ts","webpack:///./src/zit/elements/nachricht-massennachricht/nachricht-massennachricht.html","webpack:///./src/zit/elements/nachricht-nachrichten/nachricht-item.ts","webpack:///./src/zit/elements/nachricht-nachrichten/nachricht-item.html","webpack:///./src/zit/elements/nachricht-nachrichten/nachricht-nachrichten.ts","webpack:///./src/zit/elements/nachricht-nachrichten/nachricht-nachrichten.html","webpack:///./src/zit/elements/nachricht-nachrichten/nachricht-nachrichten.less","webpack:///./src/zit/elements/nachricht-protokoll/nachricht-protokoll.ts","webpack:///./src/zit/elements/nachricht-protokoll/nachricht-protokoll.html","webpack:///./src/zit/elements/nachricht-protokoll/nachricht-protokoll.less","webpack:///./src/zit/elements/nachricht-vorlage/nachricht-vorlage.ts","webpack:///./src/zit/elements/nachricht-vorlage/nachricht-vorlage.html","webpack:///./src/zit/elements/nachricht-vorlage/nachricht-vorlage.less","webpack:///./src/zit/elements/navigation-list/navigation-list.ts","webpack:///./src/zit/elements/navigation-list/navigation-list.html","webpack:///./src/zit/elements/navigation-list/navigation-list.less","webpack:///./src/zit/elements/notiz-list-view/notiz-list-view.ts","webpack:///./src/zit/elements/notiz-list-view/notiz-list-view.html","webpack:///./src/zit/elements/notiz-list-view/notiz-list-view.less","webpack:///./src/zit/elements/passwort-aendern/passwort-aendern.ts","webpack:///./src/zit/elements/passwort-aendern/passwort-aendern.html","webpack:///./src/zit/elements/person-dossier/person-dossier.ts","webpack:///./src/zit/elements/person-dossier/person-dossier.html","webpack:///./src/zit/elements/report-erstellen/report-erstellen.ts","webpack:///./src/zit/elements/report-erstellen/report-erstellen.html","webpack:///./src/zit/elements/schnuppertermin-auswahl/schnuppertermin-auswahl.ts","webpack:///./src/zit/elements/schnuppertermin-auswahl/schnuppertermin-auswahl.html","webpack:///./src/zit/elements/schnuppertermin-auswahl/schnuppertermin-auswahl.less","webpack:///./src/zit/elements/schnuppertermin-erstellen/schnuppertermin-erstellen.ts","webpack:///./src/zit/elements/schnuppertermin-erstellen/schnuppertermin-erstellen.html","webpack:///./src/zit/elements/schnuppertermin-erstellen/schnuppertermin-erstellen.less","webpack:///./src/zit/elements/schnuppertermin-list-view-item/schnuppertermin-list-view-item.ts","webpack:///./src/zit/elements/schnuppertermin-list-view-item/schnuppertermin-list-view-item.html","webpack:///./src/zit/elements/schnuppertermin-list-view-item/schnuppertermin-list-view-item.less","webpack:///./src/zit/elements/schnuppertermin-person-auswahl/schnuppertermin-person-auswahl.ts","webpack:///./src/zit/elements/schnuppertermin-person-auswahl/schnuppertermin-person-auswahl.html","webpack:///./src/zit/elements/schnuppertermin-person-auswahl/schnuppertermin-person-auswahl.less","webpack:///./src/zit/elements/schnuppertermin-stornieren/schnuppertermin-stornieren.ts","webpack:///./src/zit/elements/schnuppertermin-stornieren/schnuppertermin-stornieren.html","webpack:///./src/zit/elements/schnuppertermin-stornieren/schnuppertermin-stornieren.less","webpack:///./src/zit/elements/schnuppertermin-tag-list/schnuppertermin-tag-list.ts","webpack:///./src/zit/elements/schnuppertermin-tag-list/schnuppertermin-tag-list.html","webpack:///./src/zit/elements/schnuppertermin-tag-list/schnuppertermin-tag-list.less","webpack:///./src/zit/elements/schnuppertermin-tag/schnuppertermin-tag.ts","webpack:///./src/zit/elements/schnuppertermin-tag/schnuppertermin-tag.html","webpack:///./src/zit/elements/schnuppertermin-tag/schnuppertermin-tag.less","webpack:///./src/zit/elements/schnuppertermin/schnuppertermin.ts","webpack:///./src/zit/elements/schnuppertermin/schnuppertermin.html","webpack:///./src/zit/elements/schnuppertermin/schnuppertermin.less","webpack:///./src/zit/elements/share/share.ts","webpack:///./src/zit/elements/share/share.html","webpack:///./src/zit/elements/standard-stelleninserat/standard-stelleninserat-erstellen.ts","webpack:///./src/zit/elements/standard-stelleninserat/standard-stelleninserat-erstellen.html","webpack:///./src/zit/elements/status-aendern/status-aendern.ts","webpack:///./src/zit/elements/status-aendern/status-aendern.html","webpack:///./src/zit/elements/stelleninserat-auswahl/stelleninserat-auswahl.ts","webpack:///./src/zit/elements/stelleninserat-auswahl/stelleninserat-auswahl.html","webpack:///./src/zit/elements/stelleninserat-auswahl/stelleninserat-auswahl.less","webpack:///./src/zit/elements/stelleninserat-schnuppertermin-light/stelleninserat-schnuppertermin-light.ts","webpack:///./src/zit/elements/stelleninserat-schnuppertermin-light/stelleninserat-schnuppertermin-light.html","webpack:///./src/zit/elements/stelleninserat-schnuppertermin-light/stelleninserat-schnuppertermin-light.less","webpack:///./src/zit/elements/sub-headline/sub-headline.ts","webpack:///./src/zit/elements/sub-headline/sub-headline.html","webpack:///./src/zit/elements/sub-headline/sub-headline.less","webpack:///./src/zit/elements/suche-layout-auswahl/suche-layout-auswahl.ts","webpack:///./src/zit/elements/suche-layout-auswahl/suche-layout-auswahl.html","webpack:///./src/zit/elements/suche-spalten-auswahl/suche-spalten-auswahl.ts","webpack:///./src/zit/elements/suche-spalten-auswahl/suche-spalten-auswahl.html","webpack:///./src/zit/elements/tag-list/tag-list.ts","webpack:///./src/zit/elements/tag-list/tag-list.html","webpack:///./src/zit/elements/termin-empfaenger-umbuchen/termin-empfaenger-umbuchen.ts","webpack:///./src/zit/elements/termin-empfaenger-umbuchen/termin-empfaenger-umbuchen.html","webpack:///./src/zit/elements/termin-empfaenger/termin-empfaenger.ts","webpack:///./src/zit/elements/termin-empfaenger/termin-empfaenger.html","webpack:///./src/zit/elements/tooltip-config/tooltip-config.ts","webpack:///./src/zit/elements/tooltip-config/tooltip-config.html","webpack:///./src/zit/elements/tooltip-config/tooltip-config.less","webpack:///./src/zit/elements/whatsapp-aktivieren/whatsapp-aktivieren.ts","webpack:///./src/zit/elements/whatsapp-aktivieren/whatsapp-aktivieren.html","webpack:///./src/zit/elements/willkommensseite/willkommensseite.ts","webpack:///./src/zit/elements/willkommensseite/willkommensseite.html","webpack:///./src/zit/elements/willkommensseite/willkommensseite.less","webpack:///./src/zit/elements/z-button/z-button.ts","webpack:///./src/zit/elements/z-button/z-button.html","webpack:///./src/zit/index.ts","webpack:///./src/zit/views/berechtigungen/benutzergruppe/objekte-zu-benutzergruppe-edit-form.ts","webpack:///./src/zit/views/berechtigungen/benutzergruppe/objekte-zu-benutzergruppe-edit-form.html","webpack:///./src/zit/views/dashboard/dashboard-form-form.ts","webpack:///./src/zit/views/dashboard/dashboard-form-form.html","webpack:///./src/zit/views/entwicklungsziele/entwicklungsziele-list-form.ts","webpack:///./src/zit/views/entwicklungsziele/entwicklungsziele-list-form.html","webpack:///./src/zit/views/entwicklungszone/entwicklungszone-list-form.ts","webpack:///./src/zit/views/entwicklungszone/entwicklungszone-list-form.html","webpack:///./src/zit/views/erklaervideo/erklaervideo-list-form.ts","webpack:///./src/zit/views/erklaervideo/erklaervideo-list-form.html","webpack:///./src/zit/views/nachrichten/nachrichten-list-form.ts","webpack:///./src/zit/views/nachrichten/nachrichten-list-form.html","webpack:///./src/zit/views/navigation/navigation-form.ts","webpack:///./src/zit/views/navigation/navigation-form.html","webpack:///./src/zit/views/objekte/ansprechperson/ansprechperson-edit-form.ts","webpack:///./src/zit/views/objekte/ansprechperson/ansprechperson-edit-form.html","webpack:///./src/zit/views/objekte/ansprechperson/ansprechperson-geschaeftspartner-edit-form.ts","webpack:///./src/zit/views/objekte/ansprechperson/ansprechperson-geschaeftspartner-edit-form.html","webpack:///./src/zit/views/objekte/ansprechperson/ansprechperson-heartbase-edit-form.ts","webpack:///./src/zit/views/objekte/ansprechperson/ansprechperson-heartbase-edit-form.html","webpack:///./src/zit/views/objekte/ansprechperson/ansprechperson-kontakt-edit-form.ts","webpack:///./src/zit/views/objekte/ansprechperson/ansprechperson-kontakt-edit-form.html","webpack:///./src/zit/views/objekte/ansprechperson/ansprechperson-list-form.ts","webpack:///./src/zit/views/objekte/ansprechperson/ansprechperson-list-form.html","webpack:///./src/zit/views/objekte/ansprechperson/ansprechperson-read-form.ts","webpack:///./src/zit/views/objekte/ansprechperson/ansprechperson-read-form.html","webpack:///./src/zit/views/objekte/aufgabe/aufgabe-edit-form.ts","webpack:///./src/zit/views/objekte/aufgabe/aufgabe-edit-form.html","webpack:///./src/zit/views/objekte/aufgabe/aufgabe-edit-form.less","webpack:///./src/zit/views/objekte/aufgabe/aufgabe-list-form.ts","webpack:///./src/zit/views/objekte/aufgabe/aufgabe-list-form.html","webpack:///./src/zit/views/objekte/bewerbung/bewerbung-edit-form.ts","webpack:///./src/zit/views/objekte/bewerbung/bewerbung-edit-form.html","webpack:///./src/zit/views/objekte/bewerbung/bewerbung-einsatzbereich-edit-form.ts","webpack:///./src/zit/views/objekte/bewerbung/bewerbung-einsatzbereich-edit-form.html","webpack:///./src/zit/views/objekte/bewerbung/bewerbung-ferialer-ersteinstieg-edit-form.ts","webpack:///./src/zit/views/objekte/bewerbung/bewerbung-ferialer-ersteinstieg-edit-form.html","webpack:///./src/zit/views/objekte/bewerbung/bewerbung-ferialer-erweiterung-edit-form.ts","webpack:///./src/zit/views/objekte/bewerbung/bewerbung-ferialer-erweiterung-edit-form.html","webpack:///./src/zit/views/objekte/bewerbung/bewerbung-heartbase-erweiterung-edit-form.ts","webpack:///./src/zit/views/objekte/bewerbung/bewerbung-heartbase-erweiterung-edit-form.html","webpack:///./src/zit/views/objekte/bewerbung/bewerbung-lehre-edit-form.ts","webpack:///./src/zit/views/objekte/bewerbung/bewerbung-lehre-edit-form.html","webpack:///./src/zit/views/objekte/bewerbung/bewerbung-lehre-ersteinstieg-edit-form.ts","webpack:///./src/zit/views/objekte/bewerbung/bewerbung-lehre-ersteinstieg-edit-form.html","webpack:///./src/zit/views/objekte/bewerbung/bewerbung-lehre-erweiterung-edit-form.ts","webpack:///./src/zit/views/objekte/bewerbung/bewerbung-lehre-erweiterung-edit-form.html","webpack:///./src/zit/views/objekte/bewerbung/bewerbung-list-form.ts","webpack:///./src/zit/views/objekte/bewerbung/bewerbung-list-form.html","webpack:///./src/zit/views/objekte/bewerbung/bewerbung-read-form.ts","webpack:///./src/zit/views/objekte/bewerbung/bewerbung-read-form.html","webpack:///./src/zit/views/objekte/dokument/dokument-edit-form.ts","webpack:///./src/zit/views/objekte/dokument/dokument-edit-form.html","webpack:///./src/zit/views/objekte/dokument/dokument-read-form.ts","webpack:///./src/zit/views/objekte/dokument/dokument-read-form.html","webpack:///./src/zit/views/objekte/dokument/dokument-unterfertigung-form.ts","webpack:///./src/zit/views/objekte/dokument/dokument-unterfertigung-form.html","webpack:///./src/zit/views/objekte/dokument/dokument-version-information-form.ts","webpack:///./src/zit/views/objekte/dokument/dokument-version-information-form.html","webpack:///./src/zit/views/objekte/event/event-edit-form.ts","webpack:///./src/zit/views/objekte/event/event-edit-form.html","webpack:///./src/zit/views/objekte/event/event-edit-form.less","webpack:///./src/zit/views/objekte/event/event-link-anmeldung-edit-form.ts","webpack:///./src/zit/views/objekte/event/event-link-anmeldung-edit-form.html","webpack:///./src/zit/views/objekte/event/event-list-form.ts","webpack:///./src/zit/views/objekte/event/event-list-form.html","webpack:///./src/zit/views/objekte/event/event-teilnehmer-edit-form.ts","webpack:///./src/zit/views/objekte/event/event-teilnehmer-edit-form.html","webpack:///./src/zit/views/objekte/event/event-teilnehmer-read-form.ts","webpack:///./src/zit/views/objekte/event/event-teilnehmer-read-form.html","webpack:///./src/zit/views/objekte/event/event-zeitraum-edit-form.ts","webpack:///./src/zit/views/objekte/event/event-zeitraum-edit-form.html","webpack:///./src/zit/views/objekte/event/event-zeitraum-edit-form.less","webpack:///./src/zit/views/objekte/event/event-zeitraum-kontingent-edit-form.ts","webpack:///./src/zit/views/objekte/event/event-zeitraum-kontingent-edit-form.html","webpack:///./src/zit/views/objekte/event/event-zeitraum-read-form.ts","webpack:///./src/zit/views/objekte/event/event-zeitraum-read-form.html","webpack:///./src/zit/views/objekte/event/event-zeitraum-stelleninserat-edit-form.ts","webpack:///./src/zit/views/objekte/event/event-zeitraum-stelleninserat-edit-form.html","webpack:///./src/zit/views/objekte/geschaeftspartner/geschaeftspartner-adresse-edit-form.ts","webpack:///./src/zit/views/objekte/geschaeftspartner/geschaeftspartner-adresse-edit-form.html","webpack:///./src/zit/views/objekte/geschaeftspartner/geschaeftspartner-bankverbindung-edit-form.ts","webpack:///./src/zit/views/objekte/geschaeftspartner/geschaeftspartner-bankverbindung-edit-form.html","webpack:///./src/zit/views/objekte/geschaeftspartner/geschaeftspartner-dokument-edit-form.ts","webpack:///./src/zit/views/objekte/geschaeftspartner/geschaeftspartner-dokument-edit-form.html","webpack:///./src/zit/views/objekte/geschaeftspartner/geschaeftspartner-edit-form.ts","webpack:///./src/zit/views/objekte/geschaeftspartner/geschaeftspartner-edit-form.html","webpack:///./src/zit/views/objekte/geschaeftspartner/geschaeftspartner-entlohnungsschema-form.ts","webpack:///./src/zit/views/objekte/geschaeftspartner/geschaeftspartner-entlohnungsschema-form.html","webpack:///./src/zit/views/objekte/geschaeftspartner/geschaeftspartner-gruppierung-form.ts","webpack:///./src/zit/views/objekte/geschaeftspartner/geschaeftspartner-gruppierung-form.html","webpack:///./src/zit/views/objekte/geschaeftspartner/geschaeftspartner-heartbase-edit-form.ts","webpack:///./src/zit/views/objekte/geschaeftspartner/geschaeftspartner-heartbase-edit-form.html","webpack:///./src/zit/views/objekte/geschaeftspartner/geschaeftspartner-kontakt-edit-form.ts","webpack:///./src/zit/views/objekte/geschaeftspartner/geschaeftspartner-kontakt-edit-form.html","webpack:///./src/zit/views/objekte/geschaeftspartner/geschaeftspartner-list-form.ts","webpack:///./src/zit/views/objekte/geschaeftspartner/geschaeftspartner-list-form.html","webpack:///./src/zit/views/objekte/geschaeftspartner/geschaeftspartner-package-edit-form.ts","webpack:///./src/zit/views/objekte/geschaeftspartner/geschaeftspartner-package-edit-form.html","webpack:///./src/zit/views/objekte/geschaeftspartner/geschaeftspartner-read-form.ts","webpack:///./src/zit/views/objekte/geschaeftspartner/geschaeftspartner-read-form.html","webpack:///./src/zit/views/objekte/information/information-list-form.ts","webpack:///./src/zit/views/objekte/information/information-list-form.html","webpack:///./src/zit/views/objekte/information/information-read-form.ts","webpack:///./src/zit/views/objekte/information/information-read-form.html","webpack:///./src/zit/views/objekte/person/person-adresse-edit-form.ts","webpack:///./src/zit/views/objekte/person/person-adresse-edit-form.html","webpack:///./src/zit/views/objekte/person/person-ausbildung-edit-form.ts","webpack:///./src/zit/views/objekte/person/person-ausbildung-edit-form.html","webpack:///./src/zit/views/objekte/person/person-ausbildung-erweitert-edit-form.ts","webpack:///./src/zit/views/objekte/person/person-ausbildung-erweitert-edit-form.html","webpack:///./src/zit/views/objekte/person/person-bankverbindung-edit-form.ts","webpack:///./src/zit/views/objekte/person/person-bankverbindung-edit-form.html","webpack:///./src/zit/views/objekte/person/person-beruf-edit-form.ts","webpack:///./src/zit/views/objekte/person/person-beruf-edit-form.html","webpack:///./src/zit/views/objekte/person/person-berufserfahrung-edit-form.ts","webpack:///./src/zit/views/objekte/person/person-berufserfahrung-edit-form.html","webpack:///./src/zit/views/objekte/person/person-edit-form.ts","webpack:///./src/zit/views/objekte/person/person-edit-form.html","webpack:///./src/zit/views/objekte/person/person-ferial-read-form.ts","webpack:///./src/zit/views/objekte/person/person-ferial-read-form.html","webpack:///./src/zit/views/objekte/person/person-ferialer-ersteinstieg-edit-form.ts","webpack:///./src/zit/views/objekte/person/person-ferialer-ersteinstieg-edit-form.html","webpack:///./src/zit/views/objekte/person/person-fuehrerschein-edit-form.ts","webpack:///./src/zit/views/objekte/person/person-fuehrerschein-edit-form.html","webpack:///./src/zit/views/objekte/person/person-geschaeftspartner-einsatz-edit-form.ts","webpack:///./src/zit/views/objekte/person/person-geschaeftspartner-einsatz-edit-form.html","webpack:///./src/zit/views/objekte/person/person-heartbase-edit-form.ts","webpack:///./src/zit/views/objekte/person/person-heartbase-edit-form.html","webpack:///./src/zit/views/objekte/person/person-heartbase-read-form.ts","webpack:///./src/zit/views/objekte/person/person-heartbase-read-form.html","webpack:///./src/zit/views/objekte/person/person-kontakt-edit-form.ts","webpack:///./src/zit/views/objekte/person/person-kontakt-edit-form.html","webpack:///./src/zit/views/objekte/person/person-lehre-ersteinstieg-edit-form.ts","webpack:///./src/zit/views/objekte/person/person-lehre-ersteinstieg-edit-form.html","webpack:///./src/zit/views/objekte/person/person-list-form.ts","webpack:///./src/zit/views/objekte/person/person-list-form.html","webpack:///./src/zit/views/objekte/person/person-skill-edit-form.ts","webpack:///./src/zit/views/objekte/person/person-skill-edit-form.html","webpack:///./src/zit/views/objekte/person/person-sprache-edit-form.ts","webpack:///./src/zit/views/objekte/person/person-sprache-edit-form.html","webpack:///./src/zit/views/objekte/stelleninserat/stelleninserat-empleo-edit-form.ts","webpack:///./src/zit/views/objekte/stelleninserat/stelleninserat-empleo-edit-form.html","webpack:///./src/zit/views/objekte/stelleninserat/stelleninserat-ferial-edit-form.ts","webpack:///./src/zit/views/objekte/stelleninserat/stelleninserat-ferial-edit-form.html","webpack:///./src/zit/views/objekte/stelleninserat/stelleninserat-ferial-fragebogen-einsatzbereich-edit-form.ts","webpack:///./src/zit/views/objekte/stelleninserat/stelleninserat-ferial-fragebogen-einsatzbereich-edit-form.html","webpack:///./src/zit/views/objekte/stelleninserat/stelleninserat-gruppe-edit-form.ts","webpack:///./src/zit/views/objekte/stelleninserat/stelleninserat-gruppe-edit-form.html","webpack:///./src/zit/views/objekte/stelleninserat/stelleninserat-heartbase-edit-form.ts","webpack:///./src/zit/views/objekte/stelleninserat/stelleninserat-heartbase-edit-form.html","webpack:///./src/zit/views/objekte/stelleninserat/stelleninserat-kopf-element-channel-edit-form.ts","webpack:///./src/zit/views/objekte/stelleninserat/stelleninserat-kopf-element-channel-edit-form.html","webpack:///./src/zit/views/objekte/stelleninserat/stelleninserat-kumi-edit-form.ts","webpack:///./src/zit/views/objekte/stelleninserat/stelleninserat-kumi-edit-form.html","webpack:///./src/zit/views/objekte/stelleninserat/stelleninserat-lehre-edit-form.ts","webpack:///./src/zit/views/objekte/stelleninserat/stelleninserat-lehre-edit-form.html","webpack:///./src/zit/views/objekte/stelleninserat/stelleninserat-lehre-klasse-edit-form.ts","webpack:///./src/zit/views/objekte/stelleninserat/stelleninserat-lehre-klasse-edit-form.html","webpack:///./src/zit/views/objekte/stelleninserat/stelleninserat-lehre-kunde-package-edit-form.ts","webpack:///./src/zit/views/objekte/stelleninserat/stelleninserat-lehre-kunde-package-edit-form.html","webpack:///./src/zit/views/objekte/stelleninserat/stelleninserat-lehre-person-read-form.ts","webpack:///./src/zit/views/objekte/stelleninserat/stelleninserat-lehre-person-read-form.html","webpack:///./src/zit/views/objekte/stelleninserat/stelleninserat-lehre-standardinserat-edit-form.ts","webpack:///./src/zit/views/objekte/stelleninserat/stelleninserat-lehre-standardinserat-edit-form.html","webpack:///./src/zit/views/objekte/stelleninserat/stelleninserat-list-form.ts","webpack:///./src/zit/views/objekte/stelleninserat/stelleninserat-list-form.html","webpack:///./src/zit/views/objekte/stelleninserat/stelleninserat-read-form.ts","webpack:///./src/zit/views/objekte/stelleninserat/stelleninserat-read-form.html","webpack:///./src/zit/views/objekte/termin/termin-edit-form.ts","webpack:///./src/zit/views/objekte/termin/termin-edit-form.html","webpack:///./src/zit/views/objekte/termin/termin-empf-einschaetzung-akk.ts","webpack:///./src/zit/views/objekte/termin/termin-empf-einschaetzung-akk.html","webpack:///./src/zit/views/objekte/termin/termin-empf-einschaetzung-akk.less","webpack:///./src/zit/views/objekte/termin/termin-empf-einschaetzung-edit-form.ts","webpack:///./src/zit/views/objekte/termin/termin-empf-einschaetzung-edit-form.html","webpack:///./src/zit/views/objekte/termin/termin-heartbase-edit-form.ts","webpack:///./src/zit/views/objekte/termin/termin-heartbase-edit-form.html","webpack:///./src/zit/views/objekte/termin/termin-heartbase-read-form.ts","webpack:///./src/zit/views/objekte/termin/termin-heartbase-read-form.html","webpack:///./src/zit/views/objekte/termin/termin-heartbase-read-form.less","webpack:///./src/zit/views/objekte/termin/termin-list-form.ts","webpack:///./src/zit/views/objekte/termin/termin-list-form.html","webpack:///./src/zit/views/objekte/termin/termin-read-form.ts","webpack:///./src/zit/views/objekte/termin/termin-read-form.html","webpack:///./src/zit/views/objekte/termin/termin-zustand-aendern-edit-form.ts","webpack:///./src/zit/views/objekte/termin/termin-zustand-aendern-edit-form.html","webpack:///./src/zit/views/objekte/ziel/massnahmen.ts","webpack:///./src/zit/views/objekte/ziel/massnahmen.html","webpack:///./src/zit/views/objekte/ziel/massnahmen.less","webpack:///./src/zit/views/objekte/ziel/ziel-edit-form.ts","webpack:///./src/zit/views/objekte/ziel/ziel-edit-form.html","webpack:///./src/zit/views/objekte/ziel/ziel-edit-form.less","webpack:///./src/zit/views/objekte/ziel/ziel-list-form.ts","webpack:///./src/zit/views/objekte/ziel/ziel-list-form.html","webpack:///./src/zit/views/schnuppertermin/schnuppertermin-list-form.ts","webpack:///./src/zit/views/schnuppertermin/schnuppertermin-list-form.html","webpack:///./src/zit/views/schnuppertermin/schnuppertermin-list-form.less","webpack:///./src/zit/views/stammdaten/survey-monkey-fragebogen/survey-monkey-fragebogen-edit-form.ts","webpack:///./src/zit/views/stammdaten/survey-monkey-fragebogen/survey-monkey-fragebogen-edit-form.html","webpack:///./src/zit/views/suche/suche-form.ts","webpack:///./src/zit/views/suche/suche-form.html","webpack:///./src/zit/views/tableau/elements/tableau/tableau.ts","webpack:///./src/zit/views/tableau/elements/tableau/tableau.html","webpack:///./src/zit/views/tableau/elements/tableau/tableau.less","webpack:///./src/zit/services/custom-edit-popup-service.ts","webpack:///./src/zit/services/suche-service.ts"],"names":["onQueryGlobalCommand","GlobalCommandService","autoinject","CustomEvent","_functionInstances","add","id","functionInstance","namespace","customParameters","this","push","bind","form","registerForm","Error","dispose","unbindAll","splice","forEach","instance","unbind","Functions","singleton","baseWidgetCreator","addList","options","listOptions","createWidgetOptions","itemTemplate","dataModel","binding","bindTo","dataSource","createListDataSource","bindingOptions","bindToFQ","setListClickActions","customOptions","getCustomOptions","hasClickActions","onItemClick","e","data","itemData","clickActions","item","openClickActions","checkListToolbar","ListType","List","checkListRelationEdit","ListWidgetCreatorService","BaseWidgetCreatorService","defaultCommand","localization","startupService","restService","showKeinNewsletterErwuenscht","actionCommand","icon","tooltip","sortIndex","isVisibleExpression","execute","executeOptions","showCtxMenu","event","geschaeftspartnerTagOptions","isClickEnabled","hasDefaultInfo","text","textExpression","kontaktTagOptions","faIconExpression","infoList","faIcon","detailToolbarOptions","title","smallToolbar","items","showDetailCtxMenu","model","models","$m_Ansprechperson","anrede","vorname","Personendaten","Vorname","nachname","Nachname","Geschlecht","Maennlich","Weiblich","Team","onLoaded","register","args","isAdmin","startupInfo","Benutzer","Benutzertyp","BenutzerTyp","Administrator","isInternerBenutzer","InternerBenutzer","setGeschaeftspartnerValue","Promise","resolve","ctxMenu","ContextMenu","loadCtxMenuItems","show","target","translateOnce","showListEditPopup","SonstigeKontaktdatenVisible","editDataContext","idEditPopup","idListView","getListViewBaseOption","addCommand","getListAddCommand","MouseEvent","listEdits","get","url","getWebApiUrl","getOptions","columns","then","r","length","_IdGeschaeftspartner","Id","computedFrom","AnsprechpersonEditUtils","transient","DefaultCommandsService","LocalizationService","StartupService","RestService","FotoPopupService","dataSourceService","globalizationService","localizationService","historyGridOptions","columnAutoWidth","paging","pageSize","hoverStateEnabled","searchPanel","visible","dataField","caption","format","getFormatter","width","zugriffGridOptions","IdObjekt","getApiUrl","objektElementLogList","zugriffLogList","ObjekteZuBenutzergruppeUtils","DataSourceService","GlobalizationService","_restService","_locationService","_modelUtilsService","_objektInfoService","_startupService","_nachrichtService","_dialogConfirmService","_globalizationService","showAusbilderKommentarEdit","objektTagOptions","backgroundColorExpression","onClick","getObjektNavigationUrl","Kopf","ObjektTypeName","goTo","concat","currentViewModel","ursprungsobjektTagOptions","UrsprungsobjektTypeName","IdUrsprungsobjekt","einschaetzungOptions","min","max","step","label","value","onValueChangedByUser","ev","$m_Ziel","IsErfuellt","massnahmenToolbarOptions","addMassnahme","createNachrichtCommand","NatuerlichePerson","doNachrichtErstellenFromObjekt","IdAnsprechperson","IdObjektRef","Einschaetzung","checkObjekt","onDateiListChanged","setDirty","onErfuelltClick","save","hasUrsprungsobjekt","viewItemInfo","routeInfo","idUrsprungsobjekt","post","increaseLoadingCount","ObjektBezeichnung","_ShowObjektSelectBox","_ShowAnsprechpersonSelectBox","ZielEditUtils","LocationService","ModelUtilsService","ObjektInfoService","NachrichtService","DialogConfirmService","rest","taskqueue","vorhandeneAuswaehlen","neuErstellen","gruppeNeuAuswahlDatasource","aufzaehlungszeichen","requiredValidatorOptions","validationRules","type","message","stelleninseratGruppeNeuAuswahlRadioGroupOptions","layout","onValueChanged","gruppeNeuAuswahl","neuErfassungTextBoxOptions","neuErfassungNumberBoxOptions","aufzaehlungszeichenCheckBoxOptions","funcNamespace","onValidating","validationResult","isValid","parent","editPopups","onEditPopupShown","editPopup","setOption","queueMicroTask","idStelleninserat","variables","$v_idStelleninserat","SortNr","GetStelleninseratGruppeNeuAuswahlValue","option","gruppeNeuTextBoxGroup","gruppeNeuSortNrNumberBoxGroup","Bezeichnung","IdGeschaeftspartner","$v_idGeschaeftspartner","Aufzaehlung","where","existingGruppentyp","put","$m_StelleninseratGruppe","IdStelleninseratGruppentyp","StelleninseratGruppeEditUtils","TaskQueue","customEditPopup","location","file","globalization","requiredValidationRule","personSkillTagOptions","personGeschaeftspartnerEinsatzTagOptions","personSpracheTagOptions","personBerufTagOptions","personFuehrerscheinTagOptions","personBerufserfahrungTagOptions","personAbschliessenCommand","onPersonAbschliessen","svNummerValidationRule","reevaluate","validationCallback","$m_Person","svNr","SVNr","ahvNrSchweiz","AHVNrSchweiz","ahbNrLiechtenschein","AHVNrLiechtenstein","onSaved","popup","showBisherigeEinsaetze","dokumentEdit","mappings","setValuesOnModelWithKeyIdLoaded","closeCallback","dokumentListView","refresh","showPersonAusbildungNeuPopup","personAusbildungNeu","_ManuelleAusbildung","$m_Ausbildung","IdAusbildung","$m_AusbildungNeu","IdAusbildungAbschluss","functions","$f_PersonAusbildungErweitert","idAusbildungAbschluss","onEinstellungenSpeichernClicked","validationGroup","result","validate","hide","goToLatestBewerbung","orderBy","replace","titelVorne","TitelVorne","titelHinten","TitelHinten","Mandant","IdMandant","PersonenEditUtils","CustomEditPopupService","FileService","packageTagOptions","adresseTagOptions","subHeadlineOptions","getTitel","$m_Geschaeftspartner","CustomSubHeadline","GeschaeftspartnerReadUtils","ErklaerungsvideoAnzeigeEnum","command","dxTemplate","titleItemTemplate","_pages","_categories","toolbarModuleId","addPage","addCategory","idPage","createPageCategoryItemStructure","categories","idCategory","category","c","pages","key","page","p","sort","a","b","createFormToolbarOptions","createToolbarOptions","scopeContainer","commands","getCommands","observe","expression","callback","newValue","createToolbarItems","map","i","createToolbarItem","expressionScope","scope","ToolbarService","CommandService","BindingService","DxTemplateService","module","exports","loadStaaten","StaatService","appId","baseUrl","apiUrl","webApiUrl","webSocketUrl","loginApp","mainApp","eventAggregator","style","browserService","isSidebarCollapsed","themeColor","isIOS","subscribe","resizeContainer","activateTheme","registerStartupInfoLoaded","addStyles","name","properties","propertyName","isSidebarCollapsedChanged","setTimeout","publish","_resizeContainerTimeout","clearTimeout","container","document","querySelector","minHeight","window","innerHeight","scrollTo","Skin","Farbe","logoUrl","getInlineUrl","DMSLinkLogoKlein","hintergrundUrl","DMSLinkHintergrundbild","observable","LayoutService","EventAggregator","StyleService","BrowserService","nav","showZuweisen","aufgabeZuweisen","zuweisenEval","checkZuweisen","zuweisen","AufgabeService","NavTyp","NavResult","NavAufgabe","_authorizationService","_localizationService","_domaeneService","NOTIFY_TIMEOUT","resetPasswordCommand","$m_Password","Username","DevExpress","ui","notify","goBackToLogin","backToLoginCommand","randomKey","Date","getTime","toString","Math","floor","random","logoSrc","openImpressumClick","open","urlImpressum","focusFirstEnabledEditor","focus","farbeDomaene","setDomainColorsStyle","bezeichnungLoginMobil","bezeichnungMobilLogin","clearStack","PasswordResetFuncs","AuthorizationService","DomaeneService","selectItemId","onLandvorwahlLoaded","DMSLinkIconFQ","getDownloadUrl","DMSLinkIcon","FormSelectItemService","CommandServerData","_dataSourceService","createEventZeitraumDataSource","getCustomWhere","getCustomFilter","createDataSource","webApiAction","webApiOrderBy","webApiExpand","getCustomFilters","EventZeitraumService","getObjektCodes","getBenutzerCodes","saveObjektCodes","saveBenutzerCodes","CodesService","_loginprofilService","_eventAggregator","_fileService","_historyService","_loginService","loginCommand","getUsername","doLogin","tanAnfordernCommand","username","goToUrlAfterLogin","loginDokButtonOptions","loginDokButtonText","dmsLinkLoginDokButton","hasSms","showWartung","openPasswortVergessen","_form","lastRequestUrl","benutzer","callOnBind","$m_login","resetLoginModel","tryLoadBenutzername","_appChangedSubscription","subscribeOnce","isHandled","loginHeadline","loginSubHeadline","hasLoginDokButton","Password","getPassword","login","hasMultipleLoginprofil","pipelineUrl","isLoggedInChanged","StayLoggedOn","activationKey","ignoreErrors","CodeAktivierung","Benutzername","element","LoginFuncs","LoginprofilService","HistoryService","LoginService","windowService","bindShortcut","sequence","idCommand","bindGlobal","mousetrap","fire","blurCurrentElement","ShortcutService","WindowService","styleClasses","removeStyleTag","styleTag","createElement","appendChild","createTextNode","getCssClasses","head","getElementById","parentElement","removeChild","getCssClass","join","Terminverteilungstyp","showAdminEinstellungen","IsAktiv","adresseAndGoogleMapsAdresseVorbelegen","onEditorValueChanged","dataContext","geschaeftspartnerValueChanged","idGeschaeftspartner","$m_Stelleninserat","Standort","GoogleKartenAdresse","StelleninseratLehreKundePackageEditUtils","_taskQueue","onViewItemCreated","viewItem","queueTask","moduleId","customClassName","ContainerViewWidthService","isBild","dateiname","toLowerCase","endsWith","DateiService","FormBase","FormBaseImport","convertToPromise","reject","catch","AsyncService","_browserService","_popupInfoService","isMobil","isMobile","showExtended","informationtypFilter","showDokumentZustand","gueltigVonValidationRule","$m_InfoTyp","IsGueltigVonPflicht","gueltigBisValidationRule","IsGueltigBisPflicht","dokumentTagOptions","stopPropagation","download","DMSLinkDokument","CanViewDokumentDetails","inline","unterfertigungInformationTagOptions","cssClass","kameraCommand","getDateiAuswaehlen","onMakePhoto","videoCommand","onMakeVideo","gallerieCommand","onOpenGallery","dateiCommand","onOpenFiles","showExtendedCommand","current","getPopup","repaint","$m_Dokument","IdStelleninserat","$v_dmsLinkDokument","$v_dateiname","Dateiname","checkSchluesselbegriffe","checkInformationstypAllowTypes","messages","idObjekt","onDeleted","onEditPopupHidden","refreshDokumenteListView","_dokumentVersionChangedSubscription","$id","oldId","newId","onDateiAusgewaehlt","detail","files","upload","dmsLinkDokument","allowTypes","$v_allowTypes","isFiltered","split","t","getDataSource","filter","IdInformationstyp","ObjektTypeFullName","$v_objektTypeFullname","Codes","listView","DokumentEditUtils","PopupInfoService","loadAnsprechpersonByGeschaeftspartner","customs","AnsprechpersonService","modelEvent","modelUtils","objectService","permissionService","onLoadRequired","onLoadedInterceptor","waitTimeout","info","isBound","autoLoad","evaluate","loadModel","addInfo","keyProperty","addObservers","isModelWithKeyId","modelWithKeyId","allowNew","allowSave","modificationInfoEnabled","allowDelete","callOnLoaded","canNew","canWebApiNew","canSave","canWebApiModify","canDelete","canWebApiDelete","createNewModelData","getInfo","throwErrorIfMissing","getModels","arr","getModelWithKeyId","find","m","hasChangedData","postOnSave","isDirty","keyValue","createGetOptions","transferValuesFromRouteInfo","loadModelWithKeyId","reloadAll","loadInfo","loadDependent","prefix","next","startsWith","n","setDataChanged","promiseArr","method","all","nestedForms","getNestedForms","f","delete","clearDirty","addObserversDetail","checkKeyProperty","oldValue","setValues","setValue","Models","ModelEventService","ObjectService","PermissionService","simpleWidgetCreator","dataGridWidgetCreator","listWidgetCreator","listViewWidgetCreator","addAccordion","addCalendar","addCheckBox","addColorBox","addDateBox","addDataGrid","addFileUploaderWithViewer","addHtmlEditor","addInclude","addListView","addLookup","addNumberBox","addPopover","addPopup","addRadioGroup","addTab","addSelectBox","addTagBox","addTextBox","addTextArea","addValidationGroup","WidgetCreatorService","SimpleWidgetCreatorService","DataGridWidgetCreatorService","ListViewWidgetCreatorService","getDisplayText","typeName","enumItems","EnumItemService","taskQueue","returnTrueFalse","buttons","body","DxLoader","createInstance","showCancelButton","onOptionChanged","component","button","dialog","custom","messageHtml","getFolgezustandTerminEmpf","keys","getZustandList","bereich","status","columnName","sortOrder","ZustandService","ZustandBereich","ZustandStatus","loginprofilCommand","$m_Loginprofil","createValidationResult","setLoginProfil","zuerueckCommand","focusFirstEditor","resetLoginprofilModel","onReady","LoginprofilFuncs","_informationService","ueberschriftTagOptions","zeitraumTagOptions","personTagOptions","linkTagOptions","LinkUrl","datumTagString","ZeitraumVon","ZeitraumBis","toUpperCase","Zeitpunkt","InformationReadUtils","InformationService","AdresseService","DownloadService","ErweiterteSucheService","DispoPlanstelleService","LoginprofilEinstellungenService","MarkerService","ObjektExportEigenschaftService","PersonService","StatusService","StelleninseratService","SucheService","TemplateRegisterService","ValidationExService","GeschaeftspartnerService","BerechtigungService","DashboardService","DokumentService","UpdateHinweisService","FormRefreshService","toolbar","defaultCommands","validation","selectItem","popupInfo","setting","templatingEngine","htmlEditorService","createEditorOptions","editorOptions","IsLabelBeforeEditor","editAlphaChannel","displayFormat","getFormatterParser","commandServerData","buttonOptions","hint","optionsName","widgetOptions","acceptType","acceptTypeEnum","height","iconDownload","iconDownloadExpression","placeholderIcon","placeholderIconExpression","placeholderImage","placeholderImageExpression","placeholderImageText","showViewer","maxFileSizeMB","showToolbar","showClearButton","isDisabled","disabled","isDisabledExpression","isReadOnly","readOnly","isReadOnlyExpression","configureHtmlEditor","getSelectItem","idSelect","addDataExpressionOptions","closeOnOutsideClick","searchMode","titleTemplateName","titleTemplate","fieldTemplateName","fieldTemplate","itemTemplateName","getNumberFormat","showSpinButtons","contentTemplate","registerPopupInfo","idToolbar","showCloseButton","setAttribute","view","enhance","bindingContext","overrideContext","dxEventOn","events","on","detached","onInitialized","content","classList","onShowPopup","owner","onHidePopup","maxHeight","maxWidth","getClosePopupCommand","cmd","searchEnabled","searchExpr","displayMember","tabOptions","propSelected","index","pageOptions","__options","__index","if","firstVisible","onSelectionChanged","addedItems","onActivated","callOnActivate","getAttribute","children","Array","from","querySelectorAll","gr","getInstance","updateDimensions","checkGridInitialize","valueExpr","valueMember","displayExpr","itemValueExpr","itemDisplayExpr","itemDataContext","reload","batchSelectionEnabled","showSelectionControls","applyValueMode","tagTemplateName","tagTemplate","scArgs","removedItems","list","relationBinding","assign","indexOf1","findIndex","d","indexOf2","some","relationProperty","newObj","indexOf","maxLength","mode","useMaskedValue","mask","maskChar","inputAttr","widget","undefined","validationEngine","getGroupConfig","brokenRules","updatePopupOptions","updateablePopupOptions","executeCommand","readOnlyExpression","modExpression","placeholder","v","getValidator","parameters","createSelectDataSource","filters","dataSourceOptions","observers","getElementsToObserve","evcArgs","ValidationService","SelectItemService","SettingService","TemplatingEngine","HtmlEditorService","_popupStack","hasPopupWithUnchangedData","isOpen","isPopupOpen","lastPopupInfo","getCurrentPopup","off","popupInfoIndex","console","log","closeCurrentPopup","handleChangedData","closeAllPopups","_localization","showTwoFactorAuth","preventDefault","isLoggedIn","needsTwoFactorAuthKey","keyInput","forgotPasswordCommand","goBackToLoginCommand","PersonzuordnungMoeglichkeit","_zitMoment","vonDatumTagOptions","verfuegbarePlaetzeTagOptions","meldenBeiUmTagOptions","openGoogleMaps","textTagOptions","interesseButtonTagOptions","eventInteressieren","anmeldenButtonTagOptions","link","$m_EventZeitraum","_WebsiteEventAnmeldungLink","eventZeitraumDownloadTagOptions","downloadEventICSFile","datenschutzList","DatenschutzList","StartDatum","EndeDatum","moment","isSame","getZeit","StartUhrzeitValidated","EndeUhrzeitValidated","isInteresseButtonVisible","IsTeilnehmer","Event","TeilnehmerReaktion","isAnmeldenButtonVisible","isInteresseEinverstaendniserklaerungVisible","getICSFileDownloadUrl","TeilnehmerWebsiteKey","hasAlleBestaetigt","IdEventZeitraum","IdPerson","resultGoogleMaps","Adresse","EventZeitraumReadUtils","ZitMomentValueConverter","EventListUtils","_formPopupService","ID_MANDANT_HEARTBASE","hasPackage","bewerbungstypTextAreaOptions","stelleninseratGruppeTagOptions","ferialbewerbungEinsatzbereichTagOptions","stelleninseratSchnupperterminTagOptions","stelleninseratKlasseTagOptions","geschlechtM_W_D_Options","keinPackageRule","bewerbungVonValidationRule","gueltigVon","GueltigVon","gueltigBis","GueltigBis","bewerbungBisValidationRule","trainerTagOptions","color","trainerEdit","_","onDeleteClick","StelleninseratTrainer","pvTextModel","Kopfzeile1","Fusszeile1","_CanAddChannel","_reloadModelSubscription","onlyCurrentPage","textArea","changeKopfzeile1","IdTextKopfzeile1","changeFusszeile1","IdTextFusszeile1","bewerbungenListViewCaption","AnzahlBewerber","Geschaeftspartner","Geschaeftspartnerdaten","IsGeschaeftspartnerSchule","isGeschaeftspartnerSchule","WebsiteTextBewerbungsbutton","AusgabeWebsite","lehrberufValueChanged","textKopfzeile1ValueChanged","textFusszeile1ValueChanged","_reloadAfterStelleninseratKopfChannelEditHidden","_stelleninseratKopfElementChannelSaved","IdBewerbungstyp","packageMaxDatumResult","Data","Subheadline","geschaeftspartnerResult","Name1","StellenbezeichnungExtern","lehrberufResult","pvTextResult","Text","onTrainerAddClick","initialData","startOf","toDate","Ansprechperson","formPopup","titel","formDef","webApiFilters","webApiCustomKey","webApiCustomValue","onFormSubmit","u","Titel","FunktionTagText","IsGueltig","Object","StelleninseratEditUtils","FormPopupService","getOrtFromPLZ","idPlz","idLand","Postleitzahl","IdLand","waitForViewModel","counter","destroyView","TemplatingExService","NachrichtAnzeigeTyp","NachrichtErstellTyp","NachrichtTyp","_nachrichtStatusInterval","setInterval","checkNachrichtStatus","_nachrichtGelesenSubscription","_nachrichtUngelesenSubscription","canNachrichtErstellen","objektFullName","HasNachrichten","canNachrichtErstellenCheckFullName","canMassennachrichtErstellen","CanNachrichtMassennachricht","doNachrichtErstellen","benutzerInfo","typ","dateiList","Nachricht","nachricht","erstellTyp","NeuOderBearbeiten","nachrichtSignatur","NachrichtSignatur","empfContainer","NachrichtEmpfaengerList","idBenutzer","Name","IsGruppe","anzeigeTyp","Gruppe","Telefonat","anlagedatum","Notiz","showNachrichtErstellenPopup","objektList","fullName","getBenutzertyp","benutzertyp","ObjektList","FullName","doAntwortNachrichtErstellen","keyReferenzNachricht","idEmpfaengerBenutzer","empfaengerName","Antworten","doWeiterleitenNachrichtErstellen","Weiterleiten","nachrichtText","doUmleitenNachrichtErstellen","Umleiten","doNachrichtBearbeiten","KeyNachricht","TextOrg","Typ","telefonatTyp","TelefonatTyp","Anlagedatum","DateiList","dmsLink","DMSLink","dmsLinkDownload","DMSLinkDownload","exists","doNachrichtGelesenMarkieren","doNachrichtUngelesenMarkieren","idDateiLoeschList","doVollstaendigeNachrichtVersenden","nachrichtErstellen","popupTitel","showDeleteDialog","dialogConfirmOptions","getBenutzerFromObjekt","getEmpfaengerDataSource","DataSource","CustomStore","byKey","load","Take","take","Skip","skip","SearchValue","searchValue","getNachrichtGruppeBenutzerInfoForObjekt","ObjektFullName","AnzeigeTyp","IdBenutzer","isGruppeAdmin","IsGruppeAdmin","getStatus","getTextmarken","goToNachrichtList","anzUngelesen","anzUngelesenAbwesend","AnzUngelesenAbwesend","AnzUngelesen","Ungueltig","getBenutzertypFromFullName","JuristischePerson","benutzertypDefault","_isDirtyProperty","modelData","geschaeftspartner","dialogConfirmService","addNewEntlohnungsschemaCommand","grid","deselectAll","setEditEntlohnungsschemaData","saveEntlohungsschemaCommand","saveEntlohnungsschema","deleteEnlohnungsschemaCommand","isEnabled","$m_EntlohnungsschemaEdit","deleteEntlohnungsschema","onEntlohungsschemaClick","refreshEntlohnungsschemaGrid","dataToSave","onEntlohnungsschemaSaved","onEntlohungsschemaDeleted","GeschaeftspartnerEntlohnungsschemaUtils","enumItem","listViewOptions","cacheRawData","loadMode","requireTotalCount","newVal","groupProperty","selectionMode","pagingMode","ListViewPagingMode","loadNext","itemClass","getSelectionMode","showPagerInfo","showReloadButton","useDefaultListItemStyle","ListView","SelectionModeEnum","Multiple","Single","_isEnabled","_supportedWidgetList","_onElementClick","onElementClick","_tooltips","TooltipList","Key","Tooltip","getWidgetKey","createTooltip","enable","addEventListener","disable","removeEventListener","getWidget","tooltipWidget","el","tagName","contains","au","controller","viewModel","dxWidget","currentTooltip","getCurrentText","updateTooltip","newTooltip","showTooltip","htmlText","position","my","at","div","textAlign","innerHTML","onHidden","remove","parentViewUrl","TooltipService","objectInfo","delegates","argsQueue","action","anyRegistered","equal","timeoutCancel","fireQueue","slice","ObjectInfoService","json","allowUpdateObjektStatus","stringify","changeObjektStatus","loadBenutzerAvailableObjektStatus","loadStatusHistorie","IdObjektStatusElement","getObjektStatusSammlungTypList","idObjekttyp","IdObjekttyp","getObjektStatusByObjektStatusSammlung","objektStatusSammlungTyp","JsonService","ObjektStatusSammlungTyp","getMainForm","treatEditPopupAsMainForm","isEditPopup","isNestedForm","mainForm","FormUtilsService","HeaderService","LoadingService","ModuleLoader","deleteEigenschaftAnsprechperson","deleteEigenschaftGruppierung","deleteEigenschaftSkill","deletePersonenzuteilungEigenschaftAnsprechperson","deletePersonenzuteilungEigenschaftEntlohnungsschema","deletePersonenzuteilungEigenschafEinsatzvorbereitung","deletePersonenzuteilungEigenschaftGruppierung","updatePersonenzuteilungStatus","convertHexToRgb","hex","exec","parseInt","g","convertHexToCssRgba","opacity","FarbeService","ZitMarkerDisplayMode","regexDateISO","parse","JSON","obj","LoginprofilEinstellungTyp","_jsonService","deleteEinstellung","idEinstellung","loadLoginprofilEinstellung","Entitaet","Tableau","IdLoginprofil","IsStandard","wert","Wert","Columns","Custom","isArray","saveOrCreateEinstellung","PersonReadUtils","getStelleninserat","copyStelleninseratList","idList","addLocalizationNeutral","translation","localizationNeutral","getTranslationInfo","needsBinding","getLocalizationItem","expr","RegExp","translateItem","val","_routerService","registerCanNavigate","hasBerechtigung","getBerechtigung","hasBerechtigungNew","berecht","AllowNew","hasBerechtigungModul","HasStammdatenMaske","checkStammdatenBerechtigung","HasAlleStammdatenMasken","StammdatenPraefixList","hasBerechtigungRoute","hasBerechtigungTableau","ShowSchnupperterminMaske","route","getRoute","hasBerechtigungEvent","ObjektBerechtigungList","ber","cancel","RouterService","commandData","Commands","DashboardUtils","ErklaerungsvideoInhaltArtEnum","router","permission","shortcut","getFormAddCommand","isVisible","canAdd","getFormSaveCommand","canSaveNow","error","showAndLogError","getEditPopupSaveAndAddCommand","small","getEditPopupSaveAndCloseCommand","getFormDeleteCommand","canDeleteNow","translate","deleteResult","history","back","getEditPopupDeleteCommand","getFormGoBackCommand","goBack","showEditPopupAdd","editUrl","isEnabledExpression","getListEditCommand","getListExcelExportCommand","dataGrid","onlySelected","getSelectedRowKeys","exportToExcel","getListCommands","addEditCommand","listType","addCmd","editCmd","isMainList","DataGrid","getScrollDown","viewScrollInfo","maxCount","scroll","getScrollUp","getNextKey","loadById","lastLoadInfo","searchtext","count","rows","row","resultKeyResolver","_customEditPopupService","_dokumentService","showDokumentCode","showTAN","validierungData","IdDokumentElement","DokumentCode","unterfertigungData","TAN","codeKorrektTagOptions","codeStartTagOptions","codeFalschTagOptions","anfordernTANButtonOptions","elementAttr","class","isDokumentCodeValid","sendTan","dokumentenCodePruefenButtonOptions","validateDokumentCode","unterschreibenDokumentButtonOptions","unterschreibenDokument","dataSavedClosePopupCommand","unterfertigungDokumentTagOptions","isTANSend","setInitialData","repaintPopup","onDokumentUnterschrieben","dokumentUnterfertigung","codeTextBox","validateCode","IsValid","isXS","unterfertigenDokument","NeedsDokumentCode","DokumentUnterfertigungUtils","popupService","asyncService","edit","isRelation","onEditPopupModelLoaded","createToolbar","optionsToolbar","customizationOptions","whereParam","canLoad","every","pageIndex","getViewScrollInfo","customDataSource","pageStart","rowIndex","hasAllPages","totalCount","ds","ObjectTypeName","createOverrideContext","editUrlIdProperty","listInstance","clickArguments","onDisposing","callCustomDisposing","onUnbind","disposing","registerCustomDisposing","checkHinweis","updateHinweis","jetzt","updateGeplant","Symbol","getObjektByBezeichnung","bezeichnung","_entitaetInfoList","getObjektByFullname","fullname","Fullname","getObjektByName","getObjektByWebApiUrl","WebApiUrl","NavigationUrl","isObjektInfoLoaded","loadObjektInfoList","updateBezeichnung","objektInfo","menu","MenuList","Route","BezeichnungMobil","BezeichnungDesktop","isActive","checkHasChangedDataBeforeUnload","clearAndGoToFallback","currentViewItem","navigate","getUrl","hash","substr","getUrlWithHash","navigateCurrentOrInPipeline","guardedNavigate","setUrlWithoutNavigation","currentStateHistory","state","urlWithHash","updateCurrentUrl","replaceState","currentStateRouter","getCurrentHistoryState","pushState","hasRoute","isForward","hasRouteWithId","canDeactivateCurrentView","currentState","historyState","isPopState","returnValue","promise","navigateByLocation","navigationArgs","setCurrentHistory","didReplace","locationGoTo","viewStack","currentHistoryState","adresse","onPLZChanged","$m_GeschaeftspartnerAdresse","idPLZ","Ort","GeschaeftspartnerAdresseEditUtils","x","y","constructor","Function","valueOf","LayoutTyp","ScopeContainer","zitMoment","isNatuerlichePerson","bewerbungToolbarOptions","ansprechpersonReadTagOptions","backgroundColor","ansprechperson","ansprechpersonRead","zeitraumReadTagOptions","websiteAktivTagOptions","websiteInAktivTagOptions","websiteProfilFirmaInaktivTagOptions","unternehmenTagOptions","von","bis","getDispoVonBis","StelleninseratReadUtils","_layouts","initializeLayouts","AssignedType","getLayoutType","Type","getKey","Form","IdWidget","Layout","getLayout","idWidget","saveLayout","deleteLayout","_instance","loadRequiredAction","createDataStore","timeout","setLastLoadAction","lastAccessInfo","resultPromise","getModuleId","loadOptions","searchOperation","webApiSearchtextEnabled","searchWhere","totalSummary","selector","desc","loadOptionsDataField","expand","distinct","token","resultInterceptor","summary","ignoreWhere","webApiColumns","webApiWhere","input","customWhere","constructWhere","constructFilters","getSearchText","webApiMaxRecords","maxRecords","getDataSourceKeyValues","optionsPrepareCallback","getLastLoadInfo","mergeDeep","orderby","observer","evalElementsToObserveWhere","evalElementsToObserveDetail","property","allowLoad","customFilters","w","loadObjektExportEigenschaftList","getExportEigenschaftList","_objektExportEigenschaftList","getExportEigenschaftListByFullname","KeyParent","getExportEigenschaftFormat","found","Format","getExportGridColumns","gridInstance","col","columnOption","Number","substring","visibleIndex","getObjektFullNameByIdList","create","node","src","blotName","className","Quill","import","Video","changeQuillBlockModifier","registerHtmlEditorToolbarButtons","registerHtmlEditorHeaderName","Block","onContentReadyDone","onContentReady","widgetHeader","_quillInstance","getModule","_toolbarWidgets","_collection","htmlEditor","formId","owningView","includes","addImageButton","addVideoButton","toolbarItems","getHtmlEditor","stylingMode","selection","getSelection","pasteIndex","getLength","addImage","insertEmbed","setSelection","addVideo","HtmlEditorExtensionService","isTelefonOrDefault","Kontakttyp","Hyperlink","Email","AnsprechpersonKontaktUtils","draggingData","DraggingService","EntwicklungszoneFilterTyp","_sucheService","meineAufgabenCommand","CodeBenutzerrolle","classNameExpression","currentFilterTyp","MeineAufgaben","entwicklungszone","setFilterMeineAufgaben","Keine","setFilterZuBestaetigendeAufgaben","reloadDataSources","aufgabeBestaetigenCommand","ZuBestaetigendeAufgaben","activateTableView","activateSuche","SucheViewTyp","table","EntwicklungszoneListUtils","IframePopupService","formEvalService","init","ErklaerungsvideoLayoutList","convertIdFormular","attachedToolbarButton","getContextMenuItems","commanData","getErklaervideoCommandData","videoList","getVideoList","getErklaerungsvideoDatasource","datasource","IdErklaerungsvideo","datasourceElement","erklaerungsvideoElementBezeichnung","getErklaerungsvideo","code","erklaerungsvideo","erklaerungsvideoElementIcon","erklaerungsvideoAction","isDesktop","Anzeige","NurAufMobilgeraeten","NurAufDesktopGeraeten","ErklaervideoService","FormEvalService","TerminTyp","confirmPasswordCommand","Passwort1","Passwort2","CodePasswortBestaetigung","benutzername","onActivate","loadBenutzername","PasswordConfirmFuncs","popupInfoService","zustandAendernModel","IdTermin","IdZustandNeu","KeineWeitereAenderungen","zustandValidator","saveCommand","saveZustandAenderung","zustandSelectBoxOptions","keineAenderungenZulassenCheckBoxOptions","$v_idTermin","reset","TerminZustandAendernUtils","webpackContext","req","webpackContextResolve","__webpack_require__","o","authorization","locationService","resetPassword","registerCardButtonClickEvents","linkUrl","ZitCardService","activateCommand","$m_activateAccount","ConfirmPassword","ActivationKey","activateAccount","ActivateAccountFuncs","_berechtigungService","formTitel","vorlagenCommand","showContextMenu","gruppeInfoCommand","nachrichtGruppe","benutzerInfoValidated","tableauCommand","idPerson","fotoCommand","dokumentCommand","telefonatCommand","notizCommand","neueNachrichtErstellenCommand","nachrichtUngelesenCommand","benutzerInfoFix","hasBenutzerInfo","onBenutzerClick","HasNachrichtInterneNotiz","updateTableauCommand","onBenutzerCleared","codeBenutzerrolle","isPremium","NachrichtenListUtils","_ansprechpersonService","eventTeilnehmerValidator","statusAendernPopupCommand","statusAendern","selectedKeys","getSelectedKeys","showPopup","onStatusGeaendert","dokumentToolbarOptions","$m_EventTeilnehmer","onDokumentAddClicked","dokumentLautVorlageErstellen","onDokumentClick","onCameraClick","onVideoClick","saveIfDirty","onAddToGalerieClick","meldenBeiSelectBoxOptions","acceptCustomValue","CanStatusAendern","canChangeStatus","_CanChangeObjektStatus","onStartDatumChanged","isAnsichtDesktop","setDatumFromZeitraum","setMeldenBeiDataSource","IdGeschaeftspartnerSchule","isSameOrBefore","isSameOrAfter","dauer","diff","Maximaldauer","Mindestdauer","onDokumentChanged","dispatchOnSaved","StartUhrzeit","EndeUhrzeit","alert","Message","ansprechpersonList","meldenBeiDataSource","EventTeilnehmerEditUtils","_tagDic","getTagOptions","ausbildung","benutzergruppe","bankverbindung","benutzerrolleCode","berufserfahrung","einsatzbereich","email","href","website","match","kontakt","package","sprache","ZitTagService","setAdresse","Adressen","$m_PersonAdresse","PersonenAdresseUtils","parentScopeContainer","_disposables","addDisposable","disposable","disposeAll","disposeScope","startup","_personService","_stelleninseratService","isArbeitsbewilligungVorhanden","anzahlWunschWochenValidationRule","mindestWochen","$m_Bewerbung","Stelleninserat","FerialeinsatzEinstellungen","MindesteinsatzWochen","rule","einsatzzeitraum1VonCustomValidation","einstellungen","getFerialEinstellungen","BeschaeftigungVon","BeschaeftigungBis","Einsatzzeitraum1Bis","validateMindestAlter","Mindestalter","validateMindesteinsatz","mindesteinsatz","einsatzzeitraum1BisCustomValidation","Einsatzzeitraum1Von","einsatzzeitraum2VonCustomValidation","Einsatzzeitraum2Bis","einsatzzeitraum2BisCustomValidation","Einsatzzeitraum2Von","beschaeftigungTagOptions","einsatzbereichTagOptions","mindestDauerMessageTagOptions","beschaeftigungVonBisTagOptions","mindestalterTagOptions","mindesteinsatzTagOptions","maxeinsatzTagOptions","ausbildungsstartPerTagOptions","whatsappTagOptions","bewerbungSchnupperterminTagOptions","bewerbungPersonStatusTagOptions","bewerbungPersonFuehrerscheinTagOptions","bewerbungPersonGeschaeftspartnerEinsatzTagOptions","bewerbungPersonSkillTagOptions","bewerbungPersonKontaktTagOptions","bewerbungPersonBerufTagOptions","zugeteilteSchnupperterminTagOptions","IdEventTeilnehmer","abschliessenCommand","onBewerbungAbschliessen","bewerbungEinsatzbereichCommand","onBewerbungEinsatzbereichPrüfen","personToolbarOptions","Person","CanSave","updateTrainerTagDeleteClick","getArbeitsbewilligung","getSchnupperLehre","FerialbewerbungFragebogen","Einsatzbereich","Einsatzbereiche","loadStelleninseratData","loadPersonData","CanSchnuppertermin","IsBewerbungSchnuppertermin","IsBewerbungLehrstelle","onBenachrichtigungsartClick","goToDashboard","BewerbungTrainer","vonDate","bisDate","totalWunschTage","minTage","weekday","mindestAb","mindestAlter","geborenAm","Geburtsdatum","gebDatum","getPerson","canUpdateTrainer","BewerbungEditUtils","sources","source","shift","isObject","getValue","tokens","createObjectIfMissing","saveGruppierung","deleteGruppierung","_headerService","updateAvatarUrl","getAuthorizationKey","DMSLinkAvatar","avatarUrl","AvatarService","EventLinkAnmeldungEditUtils","isKundeSchule","aehnlicheGpList","anlageGpCommand","resetModel","Landvorwahl","Vorwahl","ApVorwahl","ApMobilVorwahl","saveGpCommand","checkAehnlicheGeschaeftspartner","onNachrichtErstellenTeamClick","Strasse","Plz","ItemList","ApTeam","SchnupperterminAnlageGpUtils","templatingExService","routes","routeInfoId","registerAppChanging","registerShortcuts","registerTitleChanged","constructUrl","parameter","deactivate","existsNavigationRoute","navigationRoutes","existsNavigationRouteEx","indexQuestionMark","searchRouteInfo","isRoute","fallbackRoute","getFallbackRoute","isFallback","routerInterceptorArgs","moduleIdPromise","getParameters","routerCanNavigateArgs","removeLastViewItem","newViewItem","ViewItem","addViewItem","registerRoutes","validateRoutes","getNavigationRoutes","setCurrentViewItem","reactivate","isAttached","childRoute","navigation","canActivate","navigationRoute","parts","part","isRoutePattern","routeParts","urlParts","routePart","indexOfBracket","lastIndexOfBrack","lastIndexOf","test","setFormTitle","newCurrentViewItem","isCurrent","aurelia","X_TIP_AUTH","X_TIP_AUTH_LOCAL_STORAGE","getAuthLocalStorageKey","getAuthorizationHeader","getAuthorizationHeaders","getAuthorizationToken","checkAlive","localStorage","getItem","openApp","showNotificationOnError","wasLoggedIn","AppId","AuthenticationToken","setItem","NeedsTwoFactorAuthKey","TwoFactorAuthKey","logout","removeItem","changePassword","app","setRoot","keyStr","origin","pathname","charCodeAt","headers","auth","Aurelia","openWindow","PersonAusbildungErweitertEditUtils","deleteObjektMarkerZuord","getObjektZugeordnetMarkers","saveObjektMarker","saveObjektMarkerZuord","saveObjektMultiMarker","getMarkersByObjektFullName","BenachrichtigungArt","$m_StelleninseratKopfElementZuChannel","StelleninseratKopfElementChannelEditUtils","bindingEngine","widgetCreator","formEvent","browser","dialogConfirm","formInfoService","onAttached","onDetached","onBind","onReactivated","onSaving","onDeleting","BindingEngine","ErrorService","NestedForms","Variables","EditPopups","FormEventService","FormInfoService","authKey","encodeURIComponent","downloadUrl","formData","FormData","append","downloadExcelFromGrid","defaultFileName","IdList","downloadExcelFromTableau","tableauQuery","downloadPersonDossier","downloadSchnuppertermine","filename","errorCallback","resultType","RestGetResultType","blob","includeResponseHeaders","openFile","contentDisposition","contentType","fileName","indexOfEnd","decodeURIComponent","Blob","navigator","msSaveBlob","URL","createObjectURL","click","revokeObjectURL","routesCreator","templateRegister","validationEx","loginprofil","formSelectItem","benutzereinstellungen","containerViewWidth","formExtender","formEval","widgetExtenderService","formRefreshService","htmlEditorExtensionService","_routes","loadRoutes","defaultHeaders","activate","allowAllPermission","loadStartupInfo","loadBenutzereinstellungen","attached","benutzereinstellungenData","IsWillkommensseiteDeaktiviert","willkommensseite","orderRoutes","createRoutes","routesStructure","routesForm","App","RoutesCreatorService","BenutzereinstellungenService","FormExtenderService","WidgetExtenderService","cb","require","_aufgabeService","TIMEOUT","navPrevCommand","IdAufgabe","$m_Aufgabe","Vorherige","AufgabeList","navNextCommand","Naechste","navHistoryCommand","Alle","ctx","infoAusbilderCommand","template","itemElement","StammAufgabeVersion","BemerkungAusbilder","addZielCommand","beantwToolbarOptions","indexAnzahlTagOptions","_ObjektTyp","_IdObjekt","dauerTagOptions","aufgabensetTagOptions","vorbereitetTagOptions","vorgaengerOffenTagOptions","bestaetigungOffenTagOptions","bestaetigungOffen2TagOptions","callOnCommandsLoaded","checkInfoAusbilderVisible","_CanErfuellen","_CanBestaetigen","IsBestaetigt","onBestaetigtClick","onRetourClick","AufgabeEditUtils","innerText","CustomTabBlot","commandService","bindingService","quill","getQuillInstance","configurePasteWithoutFont","rebindTabKey","mentionKey","mention","mentions","allowImages","allowHeaders","formatName","formatValues","allowColors","variableEscapeChars","escapeChar","addCommandDataToToolbar","clipboard","addMatcher","Node","ELEMENT_NODE","delta","ops","op","attributes","font","size","insert","tabBindings","keyboard","bindings","addBinding","editor","_imgUpload","accept","hidden","reader","FileReader","onload","readAsDataURL","_commandData","details","_codesService","_defaultCommandService","ansprechpersonTagOptions","idAnsprechperson","geschaeftspartnerErweiterteOptionenCommand","gpErweiterte","showPopover","isAdminOrInternerUser","canEditDokument","canEditPackage","isAdminOrInternerBenutzer","showSchnupperterminMaske","refreshListView","GeschaeftspartnerEditUtils","loadZieleDataSource","ZielService","_manualClose","_socket","WebSocket","getWebSocketUrl","onmessage","onclose","tryToReconnect","unsuscribe","close","NotificationService","createMappings","mapping","setVariable","nestedForm","to","checkPrimitiveType","logo","user","default","avatarCommands","avatarUrlChanged","image","avatarStyle","hideAvatarPopoper","popover","header","avatarPopover","viewModelItem","debug","testing","_editPopups","createOptions","showEx","_options","showInstance","isInitialized","initializeContent","idContent","onContentTemplateRendered","modelLoadedArgs","modelLoaded","savedCallback","toolbarOptions","showing","shown","dispatchOnReady","hiding","reloadIfServerHasNewVersion","hasDataReloaded","_dialogService","isEmpfaengergruppeReadOnly","hauptterminSelectBoxOptions","benutzerTagOptions","empfaengerTagOptions","_IdEinsch","$m_TerminEmpfEinschEdit","isHeartbase","showStatusPopup","$m_Termin","onEmpfaengerStatusGeaendert","askZuteilungLoeschen","deleteEmpfaenger","veroeffentlichenEmpfaengerTagOptions","veroeffentlichenEmpfaengerGelesenTagOptions","zustandTagOptions","$m_ZustandAendern","TerminBestaetigungZustand","veroeffentlichenToolbarOptions","getErweiterteSuche","showErweiterteSucheContextMenu","filterButtonOptions","filterErweitertButtonOptions","empfaengerZuteilenButtonOptions","terminEmpfaenger","Trainer","nachrichtengruppeToolbarOptions","_NachrichtGruppe","nachrichtengruppeTagOptions","Empfaenger","erweiterteSucheWertQuery","loadMeldenBeiDataSource","loadTermineDataSource","modifyEmpfaengerList","VeroeffentlichenFilter","loadFilter","selectBoxMeldenBei","_terminChangedSubscription","idTermin","idSelectedEmpfaengerChanged","selectedEmpfaenger","setEmpfaenger","onPersonAddClick","SelectionModeTyp","multipe","selectedPersons","onStelleninseratAddClick","Stelleninserate","Card","onStelleninseratDeleteClick","onTerminPersonAusStelleninseratHinz","onTerminEinschaetzungErstellenClick","onExecuteSucheErweitert","wertQueryList","TerminDateien","showVorlageContextMenu","terminDataSource","empfaenger","setPersonTitel","person","setEmpfaengerStatus","IdStatusZustand","zustand","StatusZustandFarbe","StatusZustandTagSymbol","TagSymbol","getEmpfaengerData","Bemerkung","StatusZustandCode","_StatusZustandCode","TerminEditUtils","DialogService","_loginprofilEinstellungenService","textFilterOperators","dateAndNumberFilterOperators","markerFilterOperators","statusFilterOperators","auswahllisteFilterOperators","loadEinstellungen","objekttypFullName","Suche","loadObjektFelder","extractFilterSpecial","ObjektExportEigenschaftDatenTyp","Marker","ObjektStatus","Datentyp","Auswahlliste","AuswahllisteDatenquelle","loadAuswahlliste","DataList","getOperatorDataSource","operatorTyp","Datum","Nummer","getFilterBezeichnung","operator","getOperatorBezeichnung","getWertBezeichnung","wert1","wert2","bez","getWertBezeichnungList","filterList","datentyp","extractList","newFilter","SucheErweitertVorbelegt","itemList","validators","registerRequired","registerConditionalRequired","registerEmail","registerEmailMultiple","registerStringLength","registerIBAN","registerBIC","registerDuration","registerAHVNr","registerSVNr","registerTelefonLandvorwahl","registerValidator","validator","condition","pattern","durationPeriodTypeParameter","durationPeriodType","trim","KontaktpersonTyp","SWITCH_MONTH","getSchnupperterminZeitraum","today","month","year","day","subtract","getEventZeitraumSchnupperterminList","Von","Bis","SchnupperterminService","eventInfo","showLoading","executeWithProgress","webSocket","onopen","send","Percent","onerror","WebEventService","_eventStart","getEventStart","_handlerStart","handleEnd","_eventEnd","getEventEnd","_handlerEnd","transitions","handleStart","sender","bubbles","dispatchEvent","bindable","AnimationTrackerAttribute","customAttribute","Element","valueChanged","oldVal","doAnimation","animatingElementsCount","getElementsByClassName","AnimationCustomAttribute","_detached","_setClassCounter","_checkClassSubscription","isParent","setClass","_windowResizeSubscription","child","start","widthElement","isInline","styles","clientWidth","newStyle","_currentStyle","getComputedStyle","display","GridSizeAttribute","iconChanged","currentIcon","FaIconAttribute","markdownService","_isBound","created","myView","destroyCreated","keyChanged","_createdSpan","_createdView","isHtml","getText","resources","markdown","TrCustomAttribute","MarkdownService","config","globalResources","fileService","toView","BackgroundImageValueConverter","valueConverter","FileDownloadValueConverter","FormatValueConverter","MaxTextLengthValueConverter","direction","factor","valA","valB","localeCompare","SortValueConverter","TranslationValueConverter","loading","Loading","deepObserver","_createdViews","_valueChangeByCodeCount","templates","viewUrl","checkMobile","extractTemplates","checkBindings","renderInline","initializeOptions","getInitializeOptions","_widgetElement","validatorInstance","registerBindings","mainElement","tooltipElement","tooltipInstance","textContent","showEvent","hideEvent","resetValidation","hasValueProperty","getOwnPropertyNames","fullScreen","modelByElement","render","renderData","onRenderedName","getPascalCase","getTemplates","onOptionChangedOld","integrationOptions","registerDeepObserver","checkBinding","deep","isChangeToPublish","previousValue","DxWidget","processContent","DeepObserverService","initialize","locale","language","getDefinition","defaultOptions","palette","animation","firstDayOfWeek","duration","easing","of","ctrlKey","altKey","shiftKey","metaKey","StackRouterLinkCustomAttribute","CodeEditor","createEditorOnMonacoLoaded","editorDidChangeModelContentEvent","getModel","getPosition","executeEdits","range","monaco","Range","lineNumber","column","mainModelChanged","createEditorOnMonacoLoaded2","_jsLoadedPromise","loaderScript","_vsLoadedPromise","createEditor","host","autoIndent","automaticLayout","fontSize","minimap","enabled","onDidChangeModelContent","mainModel","defaultBindingMode","bindingMode","twoWay","___CSS_LOADER_API_IMPORT___","_isInitialized","_idToolbar","popupOptions","_createdToolbarView","onShowing","onShown","onHiding","delayedInitialize","_showOptions","firstShownAction","currentController","CustomEditPopup","modelUtilsService","observables","dropEnabled","downloadButtonOptions","clearButtonOptions","observeValue","currentValue","showDownloadButton","imageContainerStyle","createToolbarTop","createToolbarBottom","uploadFile","getExpressionContext","getBindingContext","setValueCallback","parseExpression","context","expressionObserver","currentValueChanged","showImage","iconDownloadChanged","downloadButton","canUpload","onDragOver","isDropEnabled","onDragLeave","onDrop","dataTransfer","onFileKeyChanged","clearCurrentValueAfterUpload","toolbarTopOptions","showToolbarBottom","toolbarBottomOptions","types","isFileTypeValid","dispatchUploadedEvent","indexOfWildcard","fileKey","TipFileUploaderWithViewer","htmlEditorOptions","slots","hasBottomToolbar","bottomToolbar","updateVariables","HtmlEditor","itemsOptions","selectedItems","hasSelection","totalItems","totalPages","showLoadNextButton","itemAlias","itemOverrideContext","getKeyProperty","getItemKey","goToNextPage","selectByKey","selectByKeys","isSelectedByKey","reloadButtonOptions","goToPage","handleDataSourceChanged","handleDataSourceLoadingChanged","createViewClass","createItemClass","_pageIndex","scrollToTop","scrollView","update","searchByText","setTotalCount","ceil","calcPageInfo","pagerInfoText","clearSelection","set","replaceDataSource","__isGroup","viewClasses","viewStyle","viewClass","itemClasses","alias","insertItems","isLoading","itemCount","realItemCount","checkGroupProperty","last","getLastGroup","__groupValue","currentPage","arrIndex","lastIndex","isSelected","_itemNode","cloneNode","insertBefore","isListView","viewResources","_itemView","changeSelection","ListViewItem","loadNextButtonOptions","ListViewItems","LoadingSpinner","updateOptions","optionsChanged","constructPages","disposeOldSubscriber","onPageClick","checkPage","_itemSubscriptionDisposable","afterPages","afterPage","checkCategoryVisible","checkBadge","badges","Set","badgeText","badgeColor","badgesArr","k","right","countSmall","setSmallToBig","smallChecked","RibbonToolbar","RibbonToolbarCategory","RibbonToolbarItem","RibbonToolbarItemTmpl","_hasModifiedOptionsScopeContainer","toolbarModel","_scope","_scopeContainer","refreshToolbarModel","checkExpressions","getItemScope","Toolbar","onAnimationStart","onAnimationEnd","StackRouter","View","formBaseImport","$f","addModel","addFunction","onConstructionFinished","ActivateAccountForm","fwx","LoginForm","PasswordResetForm","getVorlagen","saveVorlage","vorlage","refreshVorlagen","deleteVorlage","NachrichtVorlageService","subscription","Subscription","__observe","__observeArray","__observeObject","newSubscription","createChildSubscription","collectionObserver","change","addedCount","removed","hasOwnProperty","propertyObserver","addObserver","Map","BenutzeraccountTyp","EventTypSichtbarEnumTyp","_eventZeitraumService","_linkAnmHiddenCols","kopierenOptionenCommand","eventKopieren","exportLinkAnmeldungCommand","showHideLinkAnmColumns","eventZeitraumFilterSelectBoxOptions","eventTeilnehmerTextBoxOptions","$m_Event","eventTeilnehmerToolbarOptions","IsGeschaeftspartnerSchuleBenutzer","headerCellTemplate","linkAnmGridOptions","onExported","websiteAnmeldungLinkOptions","writeText","setEventZeitraumFilterDataSource","setVisiblilyZeitraumGridColumns","IdEventTyp","setDefaultValuesFromEventTypToEvent","InSchnupperterminmaskeAnzeigen","$m_EventTyp","ShowZuteilungLehrberufe","Lehrberufe","onZeitraumKontingentCellPrepared","rowType","KontingentGesamt","cellElement","KontingentGesamtBelegt","onZeitraumKontingentSchuleCellPrepared","KontingentSchule","onSchnupperterminMaskeCellPrepared","InSchnupperterminmaskeAnzeigenValidated","cell","firstElementChild","getCheckboxElement","onWebserviceTerminabfrageCellPrepared","WebserviceTerminabfrageValidated","onBewerbungsformularSchnupperterminauswahlCellPrepared","BewerbungsformularSchnupperterminauswahlValidated","item2","item3","kopf","ShowVeranstaltungsmaske","ShowVeranstaltungsmaskeVorbelegung","ShowVeroeffentlichung","Veroeffentlichung","ShowTeilnehmerReaktion","ShowCheckBoxInSchnupperterminmaskeAnzeigen","NichtSichtbarAktiviert","NichtSichtbar","ShowCheckBoxWebserviceTerminabfrage","WebserviceTerminabfrage","ShowCheckBoxBewerbungformularSchnupperterminauswahl","BewerbungsformularSchnupperterminauswahl","ShowZuteilungGeschaeftspartner","ShowZuteilungGeschaeftspartnerSchule","_IdGeschaeftspartnerSchule","ShowZuteilungPerson","ShowDauer","Standarddauer","zeitraumDataGrid","zeitraumColumns","getVisibleColumns","Sichbar","idEvent","eventZeitraumFilterDataSource","beginUpdate","endUpdate","EventEditUtils","schnupperterminReportAuswahlCommand","reportErstellenPopup","natuerlicherBenutzer","isNatuerlicherBenutzer","SchnupperterminListUtils","formUtilsService","registerMainFormModuleId","getMainFormModuleId","displayTime","AlertService","AnredeformTyp","_Form","tryAutoLogin","getKeyFromQueryString","redirectToDefault","AutoLoginFormFuncs","dataGridOptions","registerOnCellPrepared","dataType","minWidth","enumTypeName","customizeText","cellInfo","onCustomizeText","onCalculateFilterExpression","calculateFilterExpression","showTotalAggSum","summaryType","onCellPrepared","allowColumnResizing","columnResizingMode","remoteOperations","filtering","sorting","showFilterRow","filterRow","headerFilter","allowSearch","isSelectionModeSingle","None","contentReadyActions","onRowClick","showCheckBoxesMode","pager","showInfo","_regexBold1","_regexBold2","_regexLink","showError","logError","hasCustomOptions","smsTan","hasMoreThanOne","LoginTanFuncs","getDashboardInfo","getAufgabeBox","suche","berechtigung","erklaervideoService","defaultColumns","additionalColumns","searchStandardFilter","createNewCommand","urlToNavigate","columnsCommand","viewTyp","activateListView","activateStandardfilter","loadSearchParamFromSearchService","sucheCardOptions","ZitCardTyp","Kompakt","isSuche","statusColorExpression","markersCardOptions","markersListExpression","markersAuswaehlen","reloadData","lastObjektFullName","_lastObjektBezeichnung","lastObjektBezeichnung","isInternOrAdmin","isStelleninseratOrProfilFirmaOrGeschaeftspartner","checkFilterListVorhanden","erklaervideoCommand","addGridColumnsToModel","_searchSubscription","setStandardfilter","_objektStatusChangedSubscription","reloadIfExists","idObjektList","isEqual","$v_searchText","lastSearchText","lastWertQueryList","objektTypeName","getObjektFullName","SucheStandardFilterList","onItemClicked","objekt","TypeName","check","changeHandler","SucheUtils","dokumentVersionTagOptions","tooltipExpression","$v_isReadOnly","DokumentVersionInformationUtils","_zitMomentValueConverter","eventZeitraumTagOptions","startDatumTagOptions","meldenTagOptions","ortTagOptions","geschaeftspartnerSchuleTagOptions","bewerbungTagOptions","stelleninseratTagOptions","terminDownloadTagOptions","WebsiteKey","EventTeilnehmerReadUtils","registerTelefon","BewerbungReadUtils","Bluebird","longStackTraces","warnings","wForgottenReturn","use","basicConfiguration","feature","developmentLogging","vorbereitetAccountList","idBenutzerList","IdBenutzerList","activateAccountList","dataList","ModelList","lockAccount","changePasswort","saveWillkommensseiteGelesen","isDeaktiviert","deleteBenutzer","saveBenutzereinstellungen","isCommandExecuting","isVisibleAndEnabled","PersonDossierTyp","startUhrzeitValidationRule","endeDatumValidationRule","endeUhrzeitValidationRule","anmeldeschlussDatumValidationRule","AnmeldeschlussDatum","AnmeldeschlussUhrzeit","anmeldeschlussUhrzeitValidationRule","kontingentValidationRule","zeitraum","nullableBoolRadioDataSource","veroeffentlichungRadioDataSource","veroeffentlichungRadioGroupOptions","checkBoxInSchnupperterminmaskeAnzeigenRadioGroupOptions","checkBoxWebserviceTerminabfrageRadioGroupOptions","checkBoxBewerbungformularSchnupperterminauswahlRadioGroupOptions","checkBoxOrtFuerSchnuppernNachVereinbarungRadioGroupOptions","onStelleninseratBezeichnungCellPrepared","StellenbezeichnungIntern","getRequiredValidationRule","eventTyp","Code","eventKopf","MeldenUm","EventZeitraumEditUtils","GrundTyp","registerEvents","activeElement","blur","getElement","jquery","themes","setTemplateEngine","integration","date","dxActionSheet","dxAutocomplete","dxBox","dxButton","dxCalendar","dxCheckBox","dxColorBox","dxDateBox","dxDeferRendering","dxDropDownMenu","dxFileUploader","dxFilterBuilder","dxForm","dxGallery","dxHtmlEditor","dxList","dxLoadIndicator","dxLoadPanel","dxLookup","dxMap","dxMultiView","dxNavBar","dxNumberBox","dxOverlay","dxPopover","dxPopup","dxProgressBar","dxRadioGroup","dxRangeSlider","dxResizable","dxResponsiveBox","dxScrollView","dxSelectBox","dxSlider","dxSwitch","dxTabPanel","dxTabs","dxTagBox","dxTextArea","dxTextBox","dxDropDownBox","dxTileView","dxToast","dxToolbar","dxTooltip","dxTrackBar","dxValidationSummary","dxValidationGroup","dxValidator","dxAccordion","dxContextMenu","dxDataGrid","dxMenu","dxPivotGrid","dxPivotGridFieldChooser","PivotGridDataSource","XmlaStore","dxScheduler","dxTreeView","dxTreeList","viz","currentTheme","registerTheme","exportFromMarkup","currentPalette","getPalette","registerPalette","dxChart","dxPieChart","dxPolarChart","dxLinearGauge","dxCircularGauge","dxFunnel","dxBarGauge","dxRangeSelector","dxVectorMap","projection","dxSparkline","dxBullet","variable","checkNestedFormMapping","isMapped","dokumentNeedsUnterfertigungTagMessageOptions","gueltigkeitTagOptions","DokumentReadUtils","addNewGruppierungCommand","setEditGruppierungData","saveGruppierungCommand","deleteGruppierungCommand","$m_GeschaeftspartnerGruppierungEdit","onGruppierungClick","refreshGruppierungGrid","onGruppierungSaved","onGruppierungDeleted","GeschaeftspartnerGruppierungUtils","jsonService","errorService","loadingCount","createHeaders","suffix","port","protocol","authToken","getViewUrl","changeLoadingCount","client","HttpClient","checkGetOptions","fetch","fetchResult","ok","get409Message","statusText","hasNonAscii","TerminReaktion","historyService","getLoginprofile","zurueckZuBenutzer","farbeService","styleService","getCardInfoByObjektFullName","CardList","Objekttyp","Farbe20Opacity","datenschutz","loadDatenschutzUndEinverstaendnis","hasBerechtEinschLoeschen","pdfGenerierenCommand","hasFelderFuerDruck","IdTerminEmpfEinschaetzung","$m_TerminEmpfEinsch","pdfLoeschenCommand","pdfAnzeigenCommand","DMSLinkPdf","personSelectBoxOptions","onPersonValueChanged","geschaeftspartnerSelectBoxOptions","onGeschaeftspartnerValueChanged","ansprechpersonSelectBoxOptions","updatePersonDataSource","_TerminEmpfList","HasEinschaetzung","selectBox","_GeschaeftspartnerList","IdTerminEmpfaengerElement","terminEmpf","EinschStaerken","EinschWeiterentw","EinschDafuerMachen","VerhaltenTrainingSE","VerhaltenArbeitenSE","VerhaltenUmgangKollegenSE","UmgangVerhaltensregelnSE","_AnsprechpersonList","VerhaltenTrainingFE","VerhaltenTrainingB","VerhaltenTrainingM","VerhaltenArbeitenFE","VerhaltenArbeitenB","VerhaltenArbeitenM","VerhaltenUmgangKollegenFE","VerhaltenUmgangKollegenB","VerhaltenUmgangKollegenM","UmgangVerhaltensregelnFE","UmgangVerhaltensregelnB","UmgangVerhaltensregelnM","GesamteintragAmLC","TippsFuerAusbildner","TerminEmpfEinschaetzungEditUtils","onCreated","onReactivating","onExecuteCommand","showLehrlingAnzahlProJahr","setCanEditAnzahlStelleninserate","IdPackage","idPackage","anzahlStelleninserateUeberschreibenNichtZulaessig","AnzahlStelleninserateUeberschreibenNichtZulaessig","GeschaeftspartnerPackageEditUtils","_callOnBind","_callOnCommandsLoaded","focusFirstEnabledEditorEx","canGoBack","isCurrentForm","dispatchOnActivate","registerHasChangedData","registerReloadEventAggregator","registerEditorValueChanged","registerRouterCurrentViewItemChanged","validateViewScrollInfo","dispatchOnBind","loadCommands","dispatchOnAttached","dispatchOnDetached","_beforeUnloadEventAggregatorSubscription","_reloadEventAggregatorSubscription","_routerCurrentViewItemChangedSubscription","dispatchOnUnbind","dispatchOnReactivated","getFileDownloadUrl","getFormsInclOwn","allowGlobalCommands","showErrorIfInvalid","dispatchOnValidating","focusFirstEnabledEditorGuarded","optimisticLockingEnabled","dispatchOnSaving","setCurrentUrl","dispatchOnDeleting","dispatchOnDeleted","dispatchOnCreated","forms","isTouch","addVariable","addCommandServerData","customParameter","addNestedForm","addEditPopup","addMapping","submitForm","commandExpression","currentUrl","currentRoute","newUrl","cancelCurrent","tabIndex","Action","_permissionInfo","loadPermissions","permissionInfo","WebApiAction","canWebApi","hasAccess","registerTemplate","landvorwahlBezeichnung","landvorwahlBezeichnungField","landvorwahlBezeichnungLookupField","dispoPlanstelle","profilFirma","stelleninserat","AnsprechpersonReadUtils","_formEventService","_templatingEngine","_formEvalService","_erklaervideoService","registerAendInfo","registerShowEditForm","registerShowBenutzergruppeEditForm","registerFileUploader","registerErklaervideo","registerNachrichtGruppe","modelPraefix","aendDiv","erstelltDiv","erstelltText","replaceIndex","geandertDiv","geaendertText","ltztVerwendungDiv","ltztVerwendungText","aktiviertDiv","aktiviertText","editCommand","getCurrent","checkRoute","Bearbeitung","formBearbeitung","objektZuBenutzergruppe","mle","goToAction","Abholfiliale","groupRegex","escapeRegex","formatters","parsers","setProvider","GermanGlobalizationProvider","provider","devExpress","getDevExpress","inject","getMonthNames","monthsShort","months","getDayNames","daysShort","days","formatter","momentFormat","culture","formatClass","valueInt","abs","toFixed","valueIntAsString","String","groupRest","groupSeparator","commaSeparator","getParser","parser","numberAsStr","numb","isNaN","groupFinder","makeComma","nk","repeat","pow","D","E","F","G","T","beginLoading","endLoading","zielErstellen","EntwicklungszieleListUtils","templateKey","newElement","itemBindingContext","isFieldTemplate","extendFieldTemplate","textbox","_bindingEngine","_aurelia","bindingBehaviors","getBindingBehavior","valueConverters","getValueConverter","object","call","parsedExpression","LiteralPrimitive","customScope","ov","parentOverrideContext","addSelectItem","selectItems","observerCallback","loadItemListDeferred","ArrayStore","searchtextEnabled","teilnehmerDataSource","_Einschaetzung","betreffTagOptions","zusageButtonTagOptions","terminZusagen","absagenButtonTagOptions","terminAbsagen","terminInteressieren","downloadTerminICSFile","doShowTerminAbsagenControlsTagOptions","ShowTerminAbsageControls","terminZusageAbsagenButtonTagOptions","terminZusageAbsagen","infotextTagOptions","einschaetzungTagOptions","isClickEnabledExpression","_DisableEdit","termin","CanTerminAbsagen","isZuAbsagenButtonVisible","EmpfaengerReaktion","Informationstext","IdHaupttermin","MaxTeilnehmerzahl","AnzahlTeilnehmer","isHauptterminVorhanden","ZusagedatumHaupttermin","IsInteresseEinverstaendniserklaerungVisible","hauptterminText","HauptterminBetreff","HauptterminDatumUhrzeit","zugesagteEmpfaenger","verfuegbarePlaetze","updateTeilnehmerDataSource","ICSDownloadKey","setTerminZuAbsagen","TerminCustomId","AbsageGrund","terminCustomId","statusZustandCode","showNachrichten","Beschreibung","TerminReadUtils","getTokenFromQueryString","redirectUrl","getRedirectUrlFromQueryString","AppLoginFormFuncs","structure","routeForms","parentDic","s","routeFormKey","routeForm","idParent","checkRouteEx","layoutTyp","createLog","getFormLayoutInfo","idFormular","throwErrorIfNotFound","hasBerechtigungBearbeitung","IdFormularBearbeitung","Lese","IdFormularLese","isIE","userAgent","isEdge","isFirefox","screen","isXL","isLG","isMD","isSM","iOS","webkit","isIOSSafari","getElementsByTagName","overlay","_overlay","overlayHeight","clientHeight","formEventService","routerService","registerFormSaved","refreshPrevForm","prevIndex","prevController","prevForm","prevModel","loadLoginInformation","UrlImpressum","BezeichnungMobilLogin","HasSms","LoginHeadline","LoginSubHeadline","LoginDokButtonText","DMSLinkLoginDokButton","attachDropDokument","getObjekt","cache","getObjektInfo","currentTypeName","objInfo","saveDokument","idInformationsTyp","dmslink","dokumentToSave","getDokumentToSave","_zitCardService","_element","_bindingService","_formUtilsService","_fotoPopupService","_defaultCardTyp","ID_HEARTBASE","objektInfoData","getObjektInfoData","cardTemplateName","cardInfo","getCardInfo","optionsInstance","getCardTemplate","hasMarkers","useDefaultBindings","Klein","buttonRight","setRibbonOptions","evaluateAndObserve","statusColor","dmsLinkExpression","markersList","markerList","markersOptions","dataChanged","getObjektUrl","currentForm","onButtonClick","eventName","onFotoClick","DMSLinkFoto","templateName","translateCardName","cardTyp","showRibbon","ribbon","ribbonColor","ribbonIcon","cardName","ZitCard","ZitImage","containerless","marker","loadMarkers","_refreshMarkerSubscription","getIdObjekt","ObjektMarkerZuordnungen","ZitMarkers","zitTag","tagOptionName","tagHtml","parseHtml","j","useWhiteSpacePre","whiteSpace","addStyleExpr","colorExpression","addIcon","tagInfoList","getDefaultInfo","infoHtml","templateInfo","ij","ina","deleteEl","isDeleteClickEnabled","isDeleteClickEnabledExpression","_m","onInfoClick","attr","span","dmsLinkIconExpression","imgKey","imgSrc","imgContainer","isBefore","isAfter","IsInaktiv","html","DOMParser","parseFromString","ZitTag","noView","objektInfoService","leftItems","rightItems","updateItems","removeSubscriptions","isObjektReadOrEdit","optimizeMobile","_subscriptionArr","saveItem","closeItem","kameraItem","videoItem","gallerieItem","nachrichtSendenItem","showNachrichtenCommand","otherItems","sortedItems","moreItem","moreItems","ZitToolbar","AddressFormat","short","shortFormat","shortWithStreet","shortWithStrasse","einsatzort","gp","needsLand","Land","KFZ","shortAdd","getStringValueOrEmpty","StrasseZusatz","str","suffixValue","ZitAddressValueConverter","funcName","getAktiv","Ansprechpersonen","numberOf","totalAktv","ZitAnsprechpersonValueConverter","getIban","IBAN","ibanFormatted","Waehrung","ZitBankverbindungValueConverter","objektTypShort","DefaultShortObjekttypBezeichnungValueConverter","defaultResult","pop","ZitEnumerationValueConverter","mDate","FormatDateExValueConverter","ZitGeschlechtValueConverter","ZitInitializenValueConverter","minuten","std","ZitMinutenTextValueConverter","getAlter","getZustand","getFragebogenZustand","getVonBis","getVon","getBis","getWochenUndTag","getWochenUndTagUndZeit","getPersonzuteilungVonBis","getPersonzuteilungMelden","dataPrefix","prefixSeparator","separator","vonPrefix","bisPrefix","showDay","getWochenTag","isDateVisible","Zustand","ZustandDatum","ShowProzentRichtig","ProzentRichtig","vonText","getDatumZeitWochenTag","vonZeit","bisText","bisZeit","ZeitraumVonDatum","DispoPlanstelle","Eigenschaften","ZeitraumBisDatum","ZeitraumVonZeit","ZeitraumBisZeit","am","MeldenAm","um","meldenBei","MeldenBei","zeit","zeitString","arguments","ZitPatternValueConverter","NameFormat","shortName","mitGeschlecht","shortMitGeschlecht","long","longName","getGeschlect","isPrefix","ZitPersonNameValueConverter","ZitRestrictLengthValueConverter","array","textA","textB","ZitSortValueConverter","defaultTitle","TitleValueConverter","AppLoginForm","AutoLoginForm","layoutService","classes","IsApp","Container","contentStyle","refreshHeight","_routerViewItemCreatedSubscription","publishWindowResize","_routerViewItemRemovedSubscription","htmlElement","top","offsetTop","Content","headerService","updateHinweisService","nachrichtService","_toolbarService","_tooltipService","showHilfe","showErklaervideos","benutzerPopoverOptions","deferRendering","updateHinweisInfoTagOptions","initializeCommands","benutzerCommandsToolbarOptions","benutzerCommands","HtmlTextHilfe","UrlVerlinkungWebsite","userLogoUrl","_benutzereinstellungShowSubscription","navigateTo","onKopfzeileVerknuepfungClick","kf","Url","openUrlVerlinkungWebsite","urlVerlinkung","showUserPopover","benutzerPopover","userCommandElement","showHilfePopup","benutzerHilfe","toggleTooltipConfig","toogleSideNavigation","HasUrsprBenutzer","CanChangeLoginprofil","CanChangeUser","benutzerWechseln","Header","loginImageStyle","checkBenutzerParam","customTitle","customSubtitle","indexOfQuestion","params","Login","LoginTanForm","LoginprofilForm","PasswordConfirmForm","_layoutService","_isContextMenuOpen","buildItems","onWindowClick","onContextMenuClick","contextMenu","onNavBarItemClick","getClosest","getMenuItemData","onCloseNavBar","shortcutItems","menuItem","ShowInMobil","ShowInDesktop","sortNr","SortNrMobil","SortNrDesktop","IsShortcutDesktop","entitaet","classString","NavBar","sucheService","NavBarItem","MAX_HISTORIE_LAENGE","sucheHistoryPopoverOptions","sucheTextBoxOptions","lastSearchValue","onKeyUp","onFocusIn","sucheHistoryPopover","loadVolltextSuchHistorie","erweiterteSuche","_sucheChangeValueSubscription","sucheTextBox","executeSuche","_sucheClearSubscription","clearSuche","newSearchValue","newObjektFullName","newSearchText","_onValueChangedTimeout","updateHistorySuche","onErweiterteSucheClicked","isErweiterteSucheEnabled","onSucheFilterClicked","onSucheHistorySelected","sucheText","sucheHistory","sucheValue","Suchtext","$last","RepeatFinishedCustomAttribute","dragging","draggableElement","onDragStart","onDragEnter","onDragEnd","hasSelected","listViewContent","allowDropFrom","objektTypeFullName","isAllow","selected","srcElement","dropHandler","drops","drags","primaryProperty","ZitDragAndDropCustomAttribute","_simpleWidgetCreatorService","aufgabeArtZuweisen","aufgabeArtRadioGroupOptions","aufgabeSelectBoxOptions","aufgabeZuweisenCommand","codeAufgabe","aufgabeDataSource","IdObjektList","loadedData","AufgabeGruppeList","aufgabenSetList","getAufgabenSetByGruppeCode","aufgabenset","CodeAufgabenSet","AufgabensetBezeichnung","getAufgabenSetBezeichnungByCode","aufgabeZuweisenStartpopup","AufgabensetList","aufgabeCodeList","AufgabeCode","AufgabeCodeList","checkResult","Exists","evalBestaetigung","aufgabenGruppeCode","IdAufgabengruppe","aufgabensetCode","AufgabeBestList","aufgabe","evalBestaetigungAufgabe","editorType","isRequired","AnsprechpersonList","onFormCancel","AufgabeZuweisen","resultAufgabensetList","dateBoxOptions","aufgabeStartZuweisenCommand","saveZuweisung","returnList","Start","AufgabeZuweisenStart","benutzerHilfePopupOptions","htmlContent","benutzerHilfePopup","BenutzerHilfe","popupCommands","onBenutzerLoeschenClicked","benutzerLoeschenPopupOptions","validationGroupOptions","loeschenGrundOptions","loeschenBemerkungOptions","BenutzerprofilLoeschen","benutzerLoeschenPopup","confirmed","loeschenBenutzerData","BenutzerLoeschen","checkAndDoBenutzerSperren","benutzerSperrenPopupOptions","grundSelectBoxOptions","grundBemerkungTextAreaOptions","resetInputData","setGrundDataSource","benutzerSperrenPopup","grundBemerkungTextArea","stichtag","grundSelectBox","IdGrund","canBenutzerSperren","doBenutzerSperren","BenutzerSperren","benutzerWechselnPopupOptions","loginprofilOptions","loginprofilWechselnButtonOptions","onLoginprofilWechselnClicked","benutzerWechselnGridOptions","onBenutzerRowClicked","benutzerWechselnGridDataSource","onExportLoginprofil","benutzerWechselnGrid","setLoginprofilDataSource","idCurrentLoginprofil","benutzerWechselnPopup","idProfil","BenutzerWechseln","_benutzereinstellungenService","_staatService","_avatarService","isJuristischePerson","benutzereinstellungenCommands","passwortAendern","benutzereinstellungenPopupOptions","benutzereinstellungenPopup","contentHeight","windowHeight","scrollViewOptions","landvorwahlValidatorOptions","Mobil","MobilLandvorwahl","emailValidatorOptions","mobilValidatorOptions","telefonValidationCallback","telefonValidatorOptions","benutzernameOptions","kontaktpersonTypOptions","geschlechtOptions","vornameOptions","nachnameOptions","emailOptions","mobilLandvorwahlOptions","mobilOptions","nachrichtSignaturOptions","unternehmensbezeichnungOptions","telefonLandvorwahlOptions","telefonOptions","abwesendVonOptions","abwesendBisOptions","keineNachrichtenErhaltenOptions","benachrichtigungsartOptions","willkommenseiteOptions","keineExterneInformationVersendenOptions","keineExterneInformationVersendenBeiAntwortOptions","whatsappChannelTagOptions","IsWhatsAppChannelAktiviert","showWhatsappAktivierenPopup","isAdminJuristischIntern","benachrArtArr","Value","IsSmsAktiv","IsWhatsappAktiv","initializeLandvorwahlDataSource","onBenutzerImageClicked","userImageEditFileInput","onBenutzerImageChanged","onImpressumClick","onDatenschutzClick","UrlDatenschutz","onAgbClick","UrlAgb","benutzerLoeschen","staatList","availableLandvorwahl","LandesVorwahl","einstellungPropertyName","mobil","whatsappAktivieren","Benutzereinstellungen","simpleWidgetCreatorService","selectedHelper","bewerbungUmbuchenStelleninseratSelectBox","IdStelleninseratAlt","bewerbungUmbuchenPopupOptions","bewerbungUmbuchenStelleninseratSelectBoxOptions","setStelleninseratDataSource","bewerbungUmbuchenPopup","BewerbungUmbuchen","keyList","changeBewerbungstyp","bewerbungstypAendernPopupOptions","bewerbungstypSelectBoxOptions","bewerbungstypAendernPopup","loadBewerbungstypDataSource","bewerbungstypDataSource","bewerbungstypSelectBox","idBewerbungstyp","IdStelleninseratList","BewerbungstypAendern","_objectService","_dataSource","supportsAdd","supportsDelete","cardOptions","getToolbarItems","store","updateDataSourceObserver","itemOrg","dataSourceChanged","updateDataSource","dataSourceChecked","card","cardDataPath","onlyDispose","_collectionSubscription","_windowActivatedSubscription","checkBenutzer","_timeout","CheckBenutzer","CodesTyp","showHeader","Objekt","codeList","tagOptions","saveCode","loadCodes","idChanged","codeData","dokumentRead","geschaeftspartnerAnsprechperson","geschaeftspartnerAuswaehlen","geschaeftspartnerGruppierung","geschaeftspartnerEntlohnungsschema","CustomEditPopupContainer","_dashboardService","aufgabeCardOptions","_onSavedEvent","refreshData","onBoxHeaderClicked","box","Anzahl","AnzahlGesamt","DashboardBoxAufgabe","bewerbungCardOptions","DashboardBoxBewerbung","startupSerive","einsatzCardOptions","natuerlichePerson","DashboardBoxEinsatz","eventTeilnehmerCardOptions","DashboardBoxEventTeilnehmer","eventCardOptions","DashboardBoxEvent","DashboardBoxHtml","informationCardOptions","DashboardBoxInformation","kennzahlenBarGaugeOptions","values","Aufruf5Wochen","Aufruf1Woche","Mobil5Wochen","endValue","startValue","customizeTooltip","DashboardBoxKennzahlen","stelleninseratCardOptions","DashboardBoxStelleninserat","terminCardOptions","DashboardBoxTermin","onDashboardButtonClicked","AktionTyp","Aktion","DashboardButton","browsermobile","isBrowserMobile","dashboardInfoContainer","Anredeform","Du","loadDashboardInfo","subHeadline","SubHeadline","DashboardContainer","multiple","asGallery","onSelect","onFileChange","removeAttribute","DateiAuswaehlen","gallery","galleryItemInfo","galleryOptions","showIndicator","showNavButtons","selectedItem","checkRender","onItemRendered","rendered","scrollOptions","animationEnabled","selectedIndex","onBildClick","bild","goToItem","datei","galleryItem","DateiGalerieViewer","dateiAuswaehlen","galerieTextBoxOptions","tagItem","dateiTagOptions","_dateiList","DateiGalerie","_dateiService","_iframePopupService","dateiGalerieViewer","VideoUrl","allow","allowFullScreen","deleteDatei","dispatchDateiDelete","dispatchDateiListChanged","dokumentReadOnlyTagOptions","dateiListChanged","showBild","showDokument","bildList","dokumentList","gruppeArr","gruppeKey","gruppe","dummyDatei","dateiGalerie","dd","onDeleteBild","Datei","datenschutzCheckBoxOptions","Html","PflichtfeldText","Datenschutz","checkAndDoDokumentLautVorlageErstellen","dokumentLautVorlageErstellenPopupOptions","dokumenteLautVorlageRadioGroupOptions","onDokumenteLautVorlageRadioGroupValueChanged","vorlageSelectBoxOptions","druckerAuswahlSelectBoxOptions","createOnlyIfNotExistsCheckBoxOptions","setDruckerDataSource","dokumentLautVorlageErstellenPopup","dokumenteLautVorlageRadioGroup","vorlageSelectBox","druckerAuswahlSelectBox","createOnlyIfNotExistsCheckBox","IdVorlage","DokumenteLautVorlageTyp","CreateOnlyIfNotExists","Druckername","canDokumentLautVorlageErstellen","res","doDokumentLautVorlageErstellen","DokumentLautVorlageErstellen","showGallerie","dokumentListViewOptions","showDokumentEditPopup","downloadDokument","dokumentTagReadOptions","showDokumentReadPopup","_dokumentUpdatedSubscription","loadData","dispatchDokumentChanged","idObjektChanged","idStelleninseratChanged","onBildInfoClick","onBildDownloadClick","Informationstyp","onModelLoaded","objektTypeFullname","DokumentListView","idEinsatzvorbereitung","einsatzvorbereitungSelectBox","IdEinsatzvorbereitung","IdEinsatzplanungList","idEinsatzplanungList","einsatzvorbereitungHinzufuegenPopup","einsatzvorbereitungHinzufuegenPopupOptions","einsatzvorbereitungSelectBoxOptions","prepareSelectBox","einsatzvorbereitungList","selectBoxOptions","EinsatzvorbereitungHinzufuegen","_zieleService","lehrlingList","filterData","indexLehrlingList","indexZugeteiltList","IdPersonZugeteiltList","lehrlingToolbarOptions","lehrlingAuswaehlenPopup","setLehrling","zieleCardOptions","begonneneZieleListViewOptions","gesetzteZieleListViewOptions","erfuellteZieleListViewOptions","loadDataSources","_onFormSavedDispose","begonneneZieleListView","gesetzteZieleListView","erfuellteZieleListView","lehrling","loadBegonneneZieleDataSource","loadGesetzteZieleDataSource","loadErfuellteZieleDataSource","tempIdPersonZugeteiltListWhere","Entwicklungsziele","begonneneAufgabenListViewOptions","aktuelleAufgabenListViewOptions","kommendeAufgabenListViewOptions","fertigeAufgabenListViewOptions","idObject","loadAufgabenDataSources","resetFilter","IdPersonBestaetigung","begonneneAufgabenListView","aktuelleAufgabenListView","kommendeAufgabenListView","fertigeAufgabenListView","loadBegonneneAufgaben","loadAktuelleAufgaben","loadKommendeAufgaben","loadFertigeAufgaben","Entwicklungszone","erklaervideo","erklaerungsvideoPopupOptions","erklaervideoList","menuItemList","InhaltArt","File","VimeoEinbettungslink","downloadFile","openUrl","vimeoHtml","erklaerungsvideoPopup","Erklaerungsvideo","ErklaerungsvideoElement","erklaervideoGridOptions","cellTemplate","Erklaervideo","erweiterteSucheService","queryTagOptions","queryItem","selectedFilterList","queryListViewOptions","_itemList","onSucheChanged","feld","newItem","_bezeichnung","Operator","ErweiterteSuche","ErweiterteSucheFilterListView","loginprofilEinstellungenService","sucheTitel","vorlageList","erweiterteSuchePopupOptions","vorlageSpeichernPopupOptions","vorlageValidationGroupOptions","vorlageSpeichernTextBoxOptions","vorlageErsetzenSelectBoxOptions","clearData","erweiterteSuchePopup","vorlagePopupCommands","vorlageValidationGroup","doSaveVorlage","vorlageSpeichernPopup","idVorlage","setTitel","setWertQueryList","_onLoadDataPromise","loadFelder","loadVorlagen","addFeld","executeSucheAfterSelect","useVorlage","getZButton","onSaveVorlageClicked","getCheckSelectedFilterList","idVorlageErsetzen","vorlageBezNeu","onDeleteVorlageClicked","doDeleteVorlage","onAddFeldClicked","onRemoveFeldClicked","objektFullNameChanged","getEditor","getDefaultOperator","einstellung","getLoginprofilEinstellungData","_dataList","operatorSelectBoxOptions","checkIsValid","tagBoxOptions","wertList","ErweiterteSucheAuswahl","_prevOperator","between1DateBoxOptions","between2DateBoxOptions","dateBox","ErweiterteSucheDatum","ErweiterteSucheMarker","numberBoxOptions","between1NumberBoxOptions","between2NumberBoxOptions","numberBox","ErweiterteSucheNummer","ErweiterteSucheObjektStatus","textBoxOptions","textBox","ErweiterteSucheText","kopierenContextMenuOptions","itemIndex","kopieren","eventKopierenZeitraumPopup","IdEvent","anzahlTage","kopierenContextMenu","tage","TageVerschieben","EventKopierenOptionen","kopierenMitZeitraumCommand","verschiebeDatMoment","verschiebeDate","lastZeitraumDateMoment","lastZeitraumDate","difference","getLastEventZeitraumDatum","EventKopierenZeitraum","showStelleninserat","saveTeilnehmer","teilnehmerAuswaehlenLookupOptions","idEventZeitraum","zeitraumSelectBoxOptions","stelleninseratEventFilter","stelleninseratSelectBoxOptions","setTeilnehmerDataSource","setEventZeitraumDataSource","isStelleninseratPflicht","idEventChanged","EventTyp","IsStelleninseratPflichtBeiAnlageEventTeilnehmer","zeitraumSelectBox","stelleninseratSelectBox","teilnehmerAuswaehlenLookup","EventTeilnehmerZuteilen","EventAnsichtTyp","eventAnsichtToolbarOptions","ansichtTyp","reloadDataSource","Kalender","eventZeitraumCardOptions","eventZeitraumListViewOptions","eventTypFilterTagOptions","tag","idEventTypList","updateEventTypTagList","schedulerOptions","views","currentView","currentDate","textExpr","descriptionExpr","startDateExpr","endDateExpr","editing","appointmentTooltipTemplate","appointmentData","Betreff","GeschaeftspartnerName","GeschaeftspartnerSchuleName","Ende","ort","onAppointmentFormOpening","onAppointmentClick","onAppointmentDblClick","defaultFilter","_formSavedSubscription","_routerViewAnimationEndSubscription","scheduler","setEventTypList","setDefaultFilter","setEventZeitraumDataSources","schedulerDataSource","createEventDataSource","tempIdEventTypListWhere","currentEventTypFilterList","_isSubmit","uebernehmenCommand","validationEnabled","formOptions","showColonAfterLabel","showRequiredMark","onFormInitialized","onFieldDataChanged","onFormDataChanged","updateFormOptions","getFormItems","colCount","reduce","colSpan","ap","createSelectBox","FormPopup","Fortschritt","popupTitle","imgSource","getImgSource","FotoPopup","erweiterteContextMenuOptions","showEntlohnungschemaPopup","showGruppierungPopup","erweiterteContextMenu","GeschaeftspartnerErweiterteOptionen","_htmlEditorExtensionService","_simpleWidgetCreator","_callback","srcOptions","widthOptions","heightOptions","createDefaultModel","HtmlEditorExtension","IframeElement","videoVisible","IframePopup","personSelected","loadPersonDataSource","loadStelleninseratDataSource","personListOptions","keyExpr","resetData","loadGeschaeftspartnerDataSource","personList","unselectAll","LehrlingAuswaehlen","newMarker","IdObjektMarker","Assign","Delete","onSaveMarkersClicked","markerMultiObjektPopupOptions","multiMarkerGridOptions","allowSorting","showColumnLines","allowUpdating","onRowPrepared","rowElement","onRowUpdating","newData","newMarkerCommands","onAddMarkerClicked","newMarkerBezeichnungOptions","newMarkerFarbeOptions","savedCallBack","_savedCallBack","markerMultiObjektPopup","newMarkerToolbarOptions","multiMarkerGridDataSource","saveData","multiMarkerGrid","ObjektMarkerHelperList","MarkerMultiObjekt","_setFirstBenutzer","isStellvertreter","nurUngeleseneNachrichten","idBenutzerStartup","isNatuerlicheBenutzer","backgroundColorAktiv","benutzerListViewOptions","benutzerTextBoxOptions","_nachrichtErstelltSubscription","benutzerListView","IsStellvertreter","NurUngeleseneNachrichten","restResult","BenutzerList","clickAfterSelect","setFirstBenutzer","onStellvertreterClick","onUngeleseneNachrichtenClick","_lastSelectedItem","_isAktiv","NachrichtBenutzer","VisiblityContext","visibilityContext","isSmallDevice","isNachrichtenVisible","Nachrichten","changeVisibilityContext","benutzerChanged","reloadBenutzer","isStellvertreterChanged","nurUngeleseneNachrichtenChanged","dispatchBenutzerCleared","nachrichtBenutzer","keyNachricht","onNachrichtClick","onNachrichtProtokollClick","nachrichtProtokoll","onNachrichtMassennachrichtClick","nachrichtMassennachricht","NachrichtContainer","_nachrichtVorlageService","isEmpfGruppe","nachrichtErstellenPopupOptions","textTextArea","empfScrollView","nachrichtVorlage","nachrichtErstellenCommand","deleteCommand","nachrichtErstellenPopup","empfScrollViewOptions","empfaengerReadOnlyTagOptions","massennachrichtTagOptions","telefonatTypOptions","textTextAreaOptions","signaturTextAreaOptions","vorlagen","vorlagenSelectBoxOptions","copyFromVorlage","textmarkenSelectBoxOptions","insertTextMarken","empfaengerSelectBoxOptions","vollstaendigNachrichtentextCheckboxOptions","anlagedatumOptions","isNatPerson","isBenutzerAdmin","isBenutzerNatPerson","isEmpfaengerSelectBoxVisible","isEmpfaengerReadOnlyListVisible","loadTextmarken","_reloadVorlagenSubscription","vorlagenSelectBox","onNachrichtDetailRefreshed","onEmpfRepeatFinished","scrollHeight","offsetHeight","onDateiDeleted","doAntworten","doWeiterleiten","doUmleiten","textmarkenSelectBox","NachrichtObjektBenutzerContainerHelper","Signatur","DoVollstaendigeNachrichtVersenden","IdDateiLoeschList","fehlerText","idEmpfaengerList","idEmpfaenger","IdEmpfaenger","empfaengerSelectBox","IdEmpfaengerAlt","ref","insertAtCursor","doc","createRange","selectionStart","startPos","endPos","selectionEnd","textmarken","Dateien","NachrichtErstellen","nachrichtMassennachrichtPopupOptions","massennachrichtDataSource","massennachrichtGridOptions","nachrichtMassennachrichtPopup","NachrichtMassennachricht","NACHRICHT_TYP_TELEFONAT","NACHRICHT_TYP_NOTIZ","NACHRICHT_STATUS_VERSENDET","NACHRICHT_STATUS_GELESEN","IsMassennachricht","Status","overruleClass","doUrlValidation","onNachrichtContextMenuClick","isAbsender","IdAbsender","isBenutzerNatuerlichePerson","isNotiz","Absender","IdNachrichtGruppe","IsEmpfaengerDirekt","IsEmpfaenger","onNachrichtMassenClick","cardText","NachrichtItem","nachrichtListViewOptions","nachrichtListView","_nachrichtGeloeschtSubscription","_nachrichtSetUngelesenSubscription","NachrichtList","HasChangedGelesen","benutzerInfoChanged","_timeoutReload","sv","NachrichtNachrichten","nachrichtProtokollPopupOptions","protokollDataSource","protokollGridOptions","nachrichtentypTagOptions","nachrichtProtokollPopup","NachrichtProtokoll","bezeichnungTextBox","bezeichnungOptions","textmarkenOptions","insertTextmarke","textOptions","signaturOptions","updateCommandVisibility","beginGroup","textmarkeList","NachrichtVorlage","initializeRoutes","onNavigationItemClick","hideNavigation","NavigationList","notizList","notiz","notizListViewOptions","notizTagOptions","notizPopover","currentTarget","isPopoverVisible","notizPopoverOptions","idPersonChanged","loadDataInt","notizListView","NurNotizen","replaceAll","TextHtml","HasDateien","NotizListView","passwortAendernData","newPass1","newPass2","onPasswortAendernClicked","passwortAendernPopupOptions","neuesPasswort1Options","neuesPasswort2Options","newpasswortValidatorOptions","passwortAendernPopup","OldPassword","NewPassword","getRequiredMessage","charAt","PasswortAendern","downLoadPersonDossierDokumentList","personDossierPopupOptions","personenstammblattOptions","bewerbungsstammblattOptions","dokumenteOptions","_objektFullName","Bewerber","DispoPlanstellePersonenzuteilung","_keyList","personDossierPopup","dossiertTyp","Personenstammblatt","personenstammblatt","Bewerbungsstammblatt","bewerbungsstammblatt","Dokumente","dokumente","downloadPersonDossierList","dataToSend","PersonDossier","ReportTyp","_downloadService","_schnupperterminService","hasSchnupperterminMaske","reportEigenschaften","DatumVon","DatumBis","IdGeschaeftspartnerList","OrtPlzList","NurBestaetigteTermine","IdKlasse","datumVonOptions","updateDatumBis","setGeschaeftspartnerDataSource","setKlasseDataSource","datumBisOptions","reportErstellenPopupOptions","setEventZeitraumList","reportAuswaehlenSelectBoxOptions","listGp","selectedGeschaeftspartner","listOrte","geschaeftspartnerSelectBox","StatusSchnuppertermin","NachGeschaeftspartner","BesuchslisteSchuelerKurz","BesuchslisteSchuelerNachOrt","UebersichtGrossbetriebe","KontingenteGrossbetriebe","Schnupperer","Schulschnuppertermine","bestaetigteTermineCheckBoxOptions","reportOrtTextBoxOptions","onEnterKey","reportOrtTextBox","klasseSelectBoxOptions","deleteOrte","eventZeitraumList","idSelectedGeschaeftspartnerChanged","idSelectedStelleninseratChanged","geschaeftspartnerDataSource","toISOString","setKlasseDataSourceEx","klasseSelectBox","vorb","IsVorbelegung","idSelectedStelleninserat","ReportErstellen","gridOptions","_evalOptions","neuCommand","onNeuClick","evalIdEventTeilnehmer","loadAuswahlList","auswahlList","SchnupperterminAuswahl","KalenderInfoTyp","MAX_PERSONLIST_LENGTH","DEFAULT_TAGE","DAYS_OF_WEEK","kalenderInfo","canPersonDelete","wunschterminOptions","onWunschterminChanged","anzahlTageRadioOptions","checkCanUseSelectedDate","anzahlTageBoxOptions","kalenderOptions","isBetween","startDatum","ende","border","Zugesagt","NichtZugesagt","NichtZugesagtGleicheGp","Kontingent","kalendar","einverstaendnisOptions","refreshWunschterminList","datumTagOptions","termineUnternehmenTagOptions","schnupperterminAnfrageTagOptions","speichernCommand","validateAndSave","stornierenCommand","schnupperterminStornieren","showOptions","idEventTeilnehmer","stelleninseratStornierenCommand","createRequiredRule","setPerson","PersonName","loadBestehend","loadErstellen","WunschList","idWunschtermin","prepareAnzahlTage","prepareCalendar","onPersonAuswahl","schnupperterminPersonAuswahl","wunsch","minTageNumberBox","Minimaldauer","maxTageNumberBox","loadKalenderInfo","repaintCalendar","onSpeichernClick","checkCanUseDate","startCheck","endeCheck","maxDateDiff","maxDatum","isoDate","standard","anzahlTageList","anzahlTageRadio","minDatum","IdLehrberuf","validationGroupConfig","IdPersonList","AnzahlTage","Fehler","HasDokument","SchnupperterminErstellen","_ANZAHLTERMINE","isSchuleOrAdmin","showKundenLogo","fileDownloadBaseUrl","_schnupperterminErstelltSubscription","IsTerminBestaetigt","downloadDokBestaetigung","openStelleninserat","VeroeffentlichungTyp","UrlStelleninserat","openGeschaeftspartnerWebsite","UrlGeschaeftspartner","GeschaeftspartnerHasGebuchtesPackage","openLehrberuf","LehrberufUrl","getSchnupperterminMerken","IsMerkerAktiv","showTerminErstellenPopup","ErstellungSchnupperterminVerhindern","isBig","lines","SchnupperterminAnfrageart","sendCreateEvent","AnzTermine","KeineDirekteKontaktaufnahmeErforderlich","callTelefonnummer","TelefonnummerClickToCall","SchnupperterminListViewItem","nameOptions","loadPerson","klasseOptions","personenGridOptions","scrolling","uebernehmenCommandData","personenGrid","getSelectedRowsData","loadKlasse","klasseList","idKlasse","SchnupperterminPersonAuswahl","grundOptions","stornierenSpeichernCommand","validateAndStornieren","createStornierenGrundDataSource","IdStornoGrund","idGrund","SchnupperterminStornieren","schuleOptions","tagGrid","geschaeftspartnerOptions","personOptions","vonOptions","bisOptions","tagGridOptions","schnupperterminTag","idSchnupperterminTag","callbackOnChanges","schnupperterminTagNeuCommand","createSchuleDataSource","createGeschaeftspartnerDataSource","createPersonDataSource","createSchnupperterminTagDataSource","isKunde","isGeschaeftspartnerReadOnly","isSchuleReadOnly","idSchule","SchnupperterminTagList","SchnupperterminTagTyp","typOptions","Schule","Individuell","standarddauerOptions","mindestdauerOptions","maximaldauerOptions","kontingentOptions","lehrberufOptions","MaxAnzahlTeilnehmer","createTerminDataSource","createLehrberufDataSource","IdGeschaeftspartnerTermin","privateModel","idLehrberufList","terminOptions","startOptions","endeOptions","nichtZurAuswahlOptions","saveSchnupperterminTag","loeschenCommand","deleteSchnupperterminTag","_callbackOnChanges","loadSchnupperterminTag","idSchuleList","_IsVerwendet","hasChangedSomething","lehrberufDataSource","SchnupperterminTagZuSchulen","SchnupperterminTagZuLehrberufe","convertTagBoxToObject","deleteIndex","NichtMehrZurAuswahl","SchnupperterminTag","_DATASOURCEPAGESIZE","geschaeftspartnerTextBoxOptions","lehrberufSelectBoxOptions","onCustomItemCreating","customItem","ortTextBoxOptions","umkreisNumberBoxOptions","merklisteCheckBoxOptions","meineSchnuppertermineCheckBoxOptions","isAdminOrJuristischePerson","Umkreis","createSchnupperterminDataSource","loadLehrberufe","_executeSucheSubscription","onShowErstellen","openSchnuppertermin","schnupperterminErstellen","schnupperterminAuswahl","onHilfeClick","TotalElementCount","SchnupperterminHelperList","lehrberufe","lehrberufSelectBox","Schnuppertermin","_objektExportEigenschaftService","_formRefreshService","CanUsePersonenDossier","isTableau","currentViewType","TerminEmpfaenger","EventTeilnehmer","EventSchnuppertermin","CanBenutzeraccountAktivieren","currentObjekt","CanBenutzeraccountVorbereitet","CanBenutzeraccountAktivierenMail","CanUseMarkers","_HasLoginprofilNatuerlichePerson","CanBenutzeraccountSperren","DruckvorlageObjektFullNameList","StelleninseratVorschauUrl","CanStandardStelleninseratErstellen","CanTerminErstellen","_UrlBewerbung","College","CanAufgabenZuweisen","IsAusbilder","refreshCanShare","reloadSuche","hasViewTyp","selectAll","exportExcel","canStelleninseratVorschauAnzeigen","stelleninseratVorschauAnzeigen","canBenutzeraccountAktivierenMail","benutzeraccountAktivierenMail","canBenutzerOeffnen","canMassennachrichtenErstellen","canCreatePersonenDossier","showPersonDossierPopup","canMarkerSetzen","showMarkers","canBenutzeraccountVorbereitet","vorbereitetBenutzeraccountList","canBenutzeraccountAktivieren","activateBenutzeraccountList","canBenutzeraccountSperren","showBenutzerSperrenPopup","canBenutzerZusammenfuehren","isStatusAendernHidden","showStatusAendernPopup","canCopyStelleninserat","copyStelleninserate","canDokumentErstellen","showCreateDokumentLautVorlagePopup","canCreateStandardStelleninserat","showCreateStandardStelleninseratPopup","canBewerbungstypStelleninseratAendern","showBewerbungstypAendernPopup","canTerminErstellen","terminErstellen","canBewerbungUmbuchen","bewerbungUmbuchen","canBewerbungsseiteOeffnen","canEinsatzvorbereitungHinzufuegen","einsatzvorbereitungHinzufuegen","canPlanstelleKopieren","onPlanstelleKopieren","canAusbilderErsetzen","IdAnsprechpersonAlt","IdAnsprechpersonNeu","canShowSchnupperterminTagList","schnupperterminTagList","canAufgabeZuweisen","canCreateZiel","canTerminEmpfEinschaetzungErstellen","canTerminPersonAusStelleninseratHinzu","canCreateSchueler","stelleninseratAuswahl","evalIdStelleninserat","onlySchule","_BewerbungUrl","canshowLoginprotokoll","viewTypChanged","currentObjektChanged","markerMultiObjekt","onMultiMarkerGesetzt","benutzeraccountTyp","getBenutzerTyp","ZuAbsage","tableau","personDossier","benutzerSperren","bewerbungstypAendern","standardStelleninseratErstellen","prepareOptionsForSelection","selectRows","cancelable","ColumnList","getExcelExportedColumns","Bewerbung","selectedRowKeys","canShare","Share","doStandardStelleninseratErstellen","standardStelleninseratErstellenPopupOptions","kontaktpersonOptions","setGeschaeftspartnerValueAndDataSource","setLehrberufDataSource","setKontaktpersonDataSource","standardStelleninseratErstellenPopup","lehrberuf","kontaktperson","IdGeschaeftspartnerZuAnsprechperson","canStandardStelleninseratErstellen","HasError","StandardStelleninseratErstellen","_statusService","_taskqueue","changeStatus","statusAendernPopupOptions","grundAenderungValidatorOptions","bemerkungValidatorOptions","isBemerkungPflicht","benutzerStatusOptions","isGrundPflicht","IsGrundPflicht","grundAenderungOptions","IsBemerkungPflicht","bemerkungOptions","verlaufOptions","resetMainModel","verlaufDataSource","statusAendernPopup","loadAvailableObjektStatus","loadVerlauf","ObjektstatusSetzen","confirm","idObjektStatusElementList","IdObjektStatus","IdObjektStatusElementList","benutzerStatusDataSource","StatusAendern","stelleninseratGridOptions","checkStelleninserat","stelleninseratDataSource","StelleninseratAuswahl","getMinDate","getMaxDate","addOptions","datumVon","datumBis","IdStelleninseratKopfElement","idStelleninseratKopfElement","onclick","StelleninseratKopfElement","endDate","StelleninseratSchnupperterminLight","showUploader","titelData","titelTagOptions","displayMode","kreis","prepare","onUploadClick","objektTyp","loadDataTitel","symbol","ObjektStatusSymbol","farbe","ObjektStatusSymbolFarbe","eltern","BezeichnungEltern","updateTitel","CardKompaktHintergrundfarbe","CardKompaktSymbol","SaveMode","_savedLayout","Suchlayout","canSetStandard","canSaveAlways","showResetLayout","activeGridLayoutDic","speichernPopupCommands","saveCurrentLayout","deleteCurrentLayout","speichernPopupOptions","bezeichnungTextBoxOptions","isStandardCheckBoxOptions","allowColumnReordering","assignLayoutToGrid","resetCurrentLayout","updateGridColumns","updateColumns","idCurrentLayout","dispatchLayoutLoadedEvent","dispatchLayoutChangedEvent","getCurrentGridColumns","getStandardLayout","loadSavedLayouts","showSucheSpaltenAuswahl","resetLayout","showSpeichernPopup","showSpeichernUnterPopup","firstGroupIndex","onSpaltenChanged","currentLayout","getCurrentLayout","_saveMode","Save","canLoeschen","isStandard","speichernPopup","Create","sucheSpaltenAuswahl","dispatchLayoutSavingEvent","dispatchLayoutDeletedEvent","layoutColumns","getGridColumns","SucheLayoutAuswahl","isTreeViewClearEnabled","spaltenauswahlTreeView","onSpaltenAuswahlDone","spaltenAuswahlPopupOptions","spaltenauswahlTreeViewOptions","dataStructure","parentIdExpr","expandedExpr","selectedExpr","selectNodesRecursive","treeViewDataSource","Selected","loadSpalten","spaltenAuswahlPopup","selectedSpalten","getSelectedSpalten","selectedColumns","getSelectedColumns","setLayout","eigenshaftList","currentColumns","visibleColumns","spalte","AllowSorting","newLayout","dispatchSpaltenChangedEvent","SucheSpaltenAuswahl","TagList","IdTerminQuelle","IdTerminEmpfaenger","idTerminEmpfaenger","IdTerminZiel","idTerminZiel","doneCallback","isQuelle","isZiel","terminSelectOptions","TerminEmpfaengerUmbuchen","EditMode","_repaintVerlaufGrid","isPersonSelectBoxVisible","isPersonTextBoxVisible","showVerlauf","notizValidationGroupOptions","terminEmpfaengerStatusPopupOptions","editMode","setPersonDataSource","zustandDataSource","idTerminEmpfaengerList","_terminEmpfMultiList","getTerminEmpfaenger","statusVerlaufGrid","statusVerlaufDataSource","terminEmpfaengerStatusPopup","terminEmpfaengerNotizPopupOptions","personAuswaehlenLookupOptions","personTextBoxOptions","bemerkungTextAreaOptions","bemerkungSchuleTextAreaOptions","notizTextAreaOptions","statusAuswaehlenSelectBoxOptions","statusVerlaufGridOptions","statusPopupCommands","terminEmpfaengerUmbuchen","showNotizErstellen","notizPopupCommands","notizValidationGroup","IsSchnuppertermin","getTermin","_terminEmpfaenger","selectedEmpfaengerName","EmpfaengerName","showStatusPopupMulti","terminEmpfMultiList","Multi","personAuswaehlenLookup","_IdStatusZustand","terminEmpfaengerNotizPopup","tooltipService","saveOptions","currentWidget","_tooltipWidgetChangedSubscription","TooltipConfig","whatsappAktivierenPopupOptions","WhatsAppTelefonnummer","DMSLinkVisitenkarte","whatsappAktivierenPopup","WhatsappAktivieren","isWillkommensseiteDeaktiviert","willkommensseitePopup","willkommenGalleryOptions","animationDuration","slideshowDelay","loop","onGallerySeiteChanged","willkommensseitePopupOptions","handleDeaktiviertChanged","loadWillkommensseiteList","willkommensseiteList","neuSeite","_inlineLinkBild","DMSLinkBild","myTitel","Ueberschrift","setHours","Willkommensseite","orientation","selectedBackgroundColor","selectedColor","isRound","buttonCss","udpateButtonCss","selectedChanged","ZButton","$f_ObjekteZuBenutzergruppe","ObjekteZuBenutzergruppeEditForm","$f_DashboardUtils","DashboardFormForm","$f_EntwicklungszieleListUtils","EntwicklungszieleListForm","$f_EntwicklungszoneListUtils","EntwicklungszoneListForm","ErklaervideoListForm","$f_NachrichtenListUtils","NachrichtenListForm","NavigationForm","$f_AnsprechpersonEditUtils","AnsprechpersonEditForm","AnsprechpersonGeschaeftspartnerEditForm","AnsprechpersonHeartbaseEditForm","$f_AnsprechpersonKontaktUtils","AnsprechpersonKontaktEditForm","AnsprechpersonListForm","$f_AnsprechpersonReadUtils","AnsprechpersonReadForm","$f_AufgabeEditUtils","AufgabeEditForm","AufgabeListForm","$f_BewerbungEditUtils","BewerbungEditForm","BewerbungEinsatzbereichEditForm","BewerbungFerialerErsteinstiegEditForm","BewerbungFerialerErweiterungEditForm","BewerbungHeartbaseErweiterungEditForm","BewerbungLehreEditForm","BewerbungLehreErsteinstiegEditForm","BewerbungLehreErweiterungEditForm","BewerbungListForm","$f_BewerbungReadUtils","BewerbungReadForm","$f_DokumentUtils","DokumentEditForm","DokumentReadForm","DokumentUnterfertigungForm","DokumentVersionInformationForm","$f_EventEditUtils","EventEditForm","$f_EventLinkAnmeldungEditUtils","EventLinkAnmeldungEditForm","$f_EventListUtils","EventListForm","$f_EventTeilnehmerEditUtils","EventTeilnehmerEditForm","$f_EventTeilnehmerReadUtils","EventTeilnehmerReadForm","$f_EventZeitraumEditUtils","EventZeitraumEditForm","EventZeitraumKontingentEditForm","$f_EventZeitraumReadUtils","EventZeitraumReadForm","EventZeitraumStelleninseratEditForm","$f_Adresse","GeschaeftspartnerAdresseEditForm","GeschaeftspartnerBankverbindungEditForm","GeschaeftspartnerDokumentEditForm","$f_GeschaeftspartnerEditUtils","GeschaeftspartnerEditForm","$f_EntlohungsschemaUtils","GeschaeftspartnerEntlohnungsschemaForm","$f_GeschaeftsparnterGruppierungUtils","GeschaeftspartnerGruppierungstyp","GeschaeftspartnerGruppierungForm","GeschaeftspartnerHeartbaseEditForm","GeschaeftspartnerKontaktEditForm","GeschaeftspartnerListForm","$f_Package","GeschaeftspartnerPackageEditForm","$f_GeschaeftspartnerReadUtils","GeschaeftspartnerReadForm","InformationListForm","$f_InformationReadUtils","InformationReadForm","PersonAdresseEditForm","$f_PersonenEditUtils","PersonAusbildungEditForm","PersonAusbildungErweitertEditForm","PersonBankverbindungEditForm","PersonBerufEditForm","PersonBerufserfahrungEditForm","PersonEditForm","$f_PersonReadUtils","PersonFerialReadForm","$f_PersonenAdresseUtils","PersonFerialerErsteinstiegEditForm","PersonFuehrerscheinEditForm","PersonGeschaeftspartnerEinsatzEditForm","PersonHeartbaseEditForm","PersonHeartbaseReadForm","PersonKontaktEditForm","PersonLehreErsteinstiegEditForm","PersonListForm","PersonSkillEditForm","PersonSpracheEditForm","$f_Stelleninserat","StelleninseratEmpleoEditForm","StelleninseratFerialEditForm","StelleninseratFerialFragebogenEinsatzbereichEditForm","$f_StelleninseratGruppe","StelleninseratGruppeEditForm","$f_StelleninseratLehreKundePackage","StelleninseratHeartbaseEditForm","$f_StelleninseratKopfElementZuChannel","StelleninseratKopfElementChannelEditForm","StelleninseratKumiEditForm","StelleninseratLehreEditForm","StelleninseratLehreKlasseEditForm","StelleninseratLehreKundePackageEditForm","$f_StelleninseratReadUtils","StelleninseratLehrePersonReadForm","$f_StelleninseratLehreKundePackageEditUtils","StelleninseratLehreStandardinseratEditForm","StelleninseratListForm","StelleninseratReadForm","$f_TerminEditUtils","TerminEditForm","TerminEmpfEinschaetzungAkk","$f_TerminEmpfEinschaetzungEditUtils","TerminEmpfEinschaetzungEditForm","TerminHeartbaseEditForm","$f_TerminReadUtils","TerminHeartbaseReadForm","TerminListForm","TerminReadForm","$f_TerminZustandAendernUtils","TerminZustandAendernEditForm","massnahmeVisible","isErfuelltOptions","kommentarOptions","ZielMassnahmen","onHeaderClick","massnahme","massnahmen","Massnahmen","$f_ZielEditUtils","ZielEditForm","ZielListForm","$f_SchnupperterminListUtils","$f_SchnupperterminAnlageGpUtils","SchnupperterminListForm","SurveyMonkeyFragebogenEditForm","$f_SucheUtils","SucheForm","ViewType","KalenderViewType","_zustandService","hasSchnuppertermin","selectionCount","columnFixing","groupPanel","allowSelectAll","columnRenderingMode","rowRenderingMode","showScrollbar","onCellClick","parentForm","reloadById","urlDokBest","share","hasTerminEmpfView","Termin","filterTermin","zustandStatus","Offen","ErledigtPositiv","ErledigtNegativ","hasEventTeilnehmerView","filterEventZeitraum","EventTeilnehmerOffen","zeitraumVon","zeitraumBis","EventTeilnehmerZugesagt","EventTeilnehmerAbgesagt","searchOptions","doSearch","objektStatusFilterPopoverOptions","createPopoverToolbarItems","idObjektStatusList","objektStatusFilterList","updateObjektStatusFilterTagList","objektStatusFilterPopover","objektStatusFilterListOptions","objektStatusFilterTagOptions","indexFilter","indexCurrent","currentObjektStatusFilterList","geschaeftspartnerFilterPopoverOptions","idGeschaeftspartnerList","geschaeftspartnerFilterList","updateGeschaeftspartnerFilterTagList","geschaeftspartnerFilterPopover","geschaeftspartnerFilterListOptions","geschaeftspartnerFilterTagOptions","currentGeschaeftspartnerFilterList","geschaeftspartnerSchuleFilterPopoverOptions","idGeschaeftspartnerSchuleList","geschaeftspartnerSchuleFilterList","geschaeftspartnerSchuleFilterPopover","geschaeftspartnerSchuleFilterListOptions","terminEmpfZustandFilterPopoverOptions","idTerminEmpfZustandList","terminEmpfZustandFilterList","terminEmpfZustandFilterPopover","terminEmpfZustandFilterListOptions","selectAllMode","eventZeitraumTagTagOptions","idEventZeitraumList","updateEventZeitraumList","zeitraumOptions","zeitraumPopupOptions","zeitraumGueltigVonOptions","zeitraumGueltigBisOptions","zeitraumKalenderOptions","Tag","Woche","Monat","zeitraumUngebuchteAusblendenOptions","DispoPersonenzuteilung","EventLinkAnmeldung","Aufgabe","currentEventZeitraumList","isEventZeitraumListVisible","anzahl","previousResult","prepareZeitraumPopup","reloadTermin","_terminEmpfChangedSubscription","reloadTerminEmpf","reloadEventZeitraum","reloadEventTeilnehmer","initializeQuery","resetCustomFilter","showReportAuswahlPopup","reportErstellen","showNachrichtSendenPopup","objektModelList","showTerminEmpfStatusAenderPopup","currentViewTypeChanged","filterIdPerson","onFilterClick","onShowErweiterteSucheClick","onObjektStatusFilterClick","getObjektStatusList","selectedItemKeys","onAktiveAufgabeFilterClick","shouldLoadOnlyAktiveAufgabe","onGeschaeftspartnerFilterClick","getGeschaeftspartnerList","onGeschaeftspartnerSchuleFilterClick","getGeschaeftspartnerSchuleList","onTerminEmpfZustandFilterClick","getTerminEmpfZustandList","shouldLoadInfo","onKalenderClick","shouldLoadKalender","onZeitraumClick","zeitraumEdit","kalenderViewType","shouldUngebuchteAusblenden","zeitraumPopup","searchExtended","onLayoutChanged","onLayoutLoaded","onLayoutSaving","onExportExcel","query","getQuery","okCallback","cancelCallback","_defaultFilter","LoadKalender","LoadDetail","UngebuchteZeitraumAusblenden","IdObjektStatusList","IdTerminEmpfZustandStatusList","IdEventZeitraumList","dataSourceIdObjektStatusFilterDic","DataSourceIdObjektStatusFilterDic","isNewDataType","layoutAuswahl","currentObjektFullName","updateTerminEmpfZustand","updateObjektStatus","setGridData","objektStatusFilterCurrentViewType","TerminEmpfaengerStatus","zustandList","z","objektStatusList","DataSourceType","NurAktiveAufgaben","SearchText","searchText","SearchExtendedValue","IdGeschaeftspartnerSchuleList","updateGroupIndexes","calcColumnsWidth","_headerIcon","iconElement","_headerFarbe","_tooltip","isKalender","isDetail","groups","groupIndex","_autoWidth","calcColumnWidth","curr","calcTextWidth","_canvas","getContext","metrics","measureText","IdTerminReload","IdPersonReload","IdEventZeitraumReload","IdEventTeilnehmerReload","findItem","reloadParams","keyOf","getRowIndexByKey","IsReload","repaintRows","setObjektBezeichnung","isSucheAktiv","objektName"],"mappings":"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mC,cADtC,EAAKm4C,kBAAoB,SAIzBx/C,KAAKw/C,kBAAkB/+C,SAAQ,SAAC2B,GAG9B,OAFA,EAAK89C,kBAAkB99C,GAEfA,EAAKu9C,UACX,IAAK,oEACHv9C,EAAK29C,cAAgB,0BACrB39C,EAAK09C,UAAY,6BACjB,MAEF,IAAK,0DACH19C,EAAK29C,cAAgB,qBACrB39C,EAAK09C,UAAY,wBACjB,MAEF,IAAK,gEACH19C,EAAK29C,cAAgB,2BACrB39C,EAAK09C,UAAY,8BACjB,MAEF,IAAK,iFACH19C,EAAK29C,cAAgB,4CACrB39C,EAAK09C,UAAY,+CACjB,MAEF,IAAK,wEACH19C,EAAK29C,cAAgB,6BACrB39C,EAAK09C,UAAY,gCACjB,MAEF,IAAK,oDACH19C,EAAK29C,cAAgB,kBACrB39C,EAAK09C,UAAY,qBACjB,MAEF,IAAK,mEACH19C,EAAK29C,cAAgB,0BACrB39C,EAAK09C,UAAY,6BACjB,MAEF,IAAK,6DACH19C,EAAK29C,cAAgB,uBACrB39C,EAAK09C,UAAY,0BACjB,MAEF,IAAK,mDACH19C,EAAK29C,cAAgB,kBACrB39C,EAAK09C,UAAY,qBACjB,MAEF,IAAK,qDACH19C,EAAK29C,cAAgB,mBACrB39C,EAAK09C,UAAY,sBACjB,MAEF,IAAK,+CACH19C,EAAK29C,cAAgB,gBACrB39C,EAAK09C,UAAY,mBACjB,MAEF,IAAK,iDACH19C,EAAK29C,cAAgB,iBACrB39C,EAAK09C,UAAY,oBACjB,MAEF,IAAK,yDACH19C,EAAK29C,cAAgB,yBACrB39C,EAAK09C,UAAY,4BACjB,MAEF,IAAK,2DACH19C,EAAK29C,cAAgB,2BACrB39C,EAAK09C,UAAY,8BACjB,MAEF,IAAK,8DACH19C,EAAK29C,cAAgB,uBACrB39C,EAAK09C,UAAY,8BASvB9/C,KAAKme,iBAAiBxF,QACpB,qBAAsB,I,YAElB,YAAAunC,kBAAR,SAA0BC,GACxB,IAAM/4C,EAAM,wBAAwBwD,OAAOu1C,EAAWR,UAEhDS,EAAOpgD,KAAKgK,gBAAgBvE,YAAY46C,SAASv1B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CX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,aAAc,OACd,UAAW,OACX,aAAc,OACd,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,UAAW,OACX,aAAc,OACd,UAAW,OACX,aAAc,OACd,UAAW,OACX,aAAc,OACd,UAAW,OACX,aAAc,OACd,UAAW,OACX,aAAc,OACd,UAAW,OACX,aAAc,OACd,UAAW,OACX,aAAc,OACd,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,aAAc,OACd,UAAW,OACX,aAAc,OACd,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,aAAc,OACd,UAAW,OACX,aAAc,OACd,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,aAAc,OACd,gBAAiB,OACjB,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,UAAW,OACX,aAAc,OACd,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,aAAc,OACd,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW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","file":"app.5205b4c37fe5c5155b29.chunk.js","sourcesContent":["import {\n autoinject\n} from \"aurelia-framework\";\nimport {\n CustomEvent\n} from \"../../base/export\";\nimport {\n IQueryGlobalCommandEventArgs\n} from \"../event-args/export\";\n\n@autoinject\nexport class GlobalCommandService {\n constructor(\n public onQueryGlobalCommand: CustomEvent\n ) {}\n}","import {\n autoinject,\n singleton\n} from \"aurelia-framework\";\nimport {\n FormBase\n} from \"../classes/form-base\";\n\n@autoinject\n@singleton(true)\nexport class Functions {\n private form: FormBase;\n private _functionInstances: any[] = [];\n\n constructor() {}\n\n add(id: string, functionInstance: any, namespace: string, customParameters?: any) {\n this[id] = functionInstance;\n this._functionInstances.push(functionInstance);\n\n if (functionInstance.bind) {\n functionInstance.bind(this.form, namespace, customParameters);\n }\n }\n \n registerForm(form: FormBase) {\n if (this.form) {\n throw new Error(\"Form was already registered\");\n }\n\n this.form = form;\n }\n\n dispose() {\n this.unbindAll();\n this._functionInstances.splice(0);\n }\n \n private unbindAll() {\n this._functionInstances.forEach(instance => {\n if (!instance.unbind) {\n return;\n }\n\n instance.unbind(this.form);\n });\n }\n}\n","import {\n autoinject\n} from \"aurelia-framework\";\nimport {\n FormBase\n} from \"../classes/form-base\";\nimport {\n BaseWidgetCreatorService\n} from \"./base-widget-creator-service\";\nimport * as WidgetOptions from \"../widget-options/export\";\nimport { ListType } from '../enums/list-type-enum';\n\n@autoinject\nexport class ListWidgetCreatorService {\n constructor(\n private baseWidgetCreator: BaseWidgetCreatorService\n ) { }\n\n addList(form: FormBase, options: WidgetOptions.IListOptions) {\n const listOptions: DevExpress.ui.dxListOptions = this.baseWidgetCreator.createWidgetOptions(form, options);\n\n listOptions.itemTemplate = \"itemTemplate\";\n\n if (options.dataModel && !options.binding.bindTo) {\n const dataSource = this.baseWidgetCreator.createListDataSource(form, options, listOptions);\n listOptions.dataSource = dataSource;\n }\n else if (options.binding.bindTo) {\n listOptions.bindingOptions[\"dataSource\"] = options.binding.bindToFQ;\n }\n\n this.baseWidgetCreator.setListClickActions(form, options);\n const customOptions = this.baseWidgetCreator.getCustomOptions(form, options);\n\n if (customOptions.hasClickActions > 0) {\n listOptions.onItemClick = (e) => {\n (e).data = e.itemData;\n\n customOptions.clickActions.forEach(item => {\n item(e, listOptions.dataSource);\n });\n customOptions.openClickActions.forEach(item => {\n item(e, listOptions.dataSource);\n });\n };\n }\n\n this.baseWidgetCreator.checkListToolbar(form, options, null, ListType.List);\n this.baseWidgetCreator.checkListRelationEdit(form, options);\n }\n}\n","import { IdxLookupComponent } from './../../../interfaces/dx-components';\nimport { RestService } from './../../../../framework/base/services/rest-service';\nimport { BenutzerTyp } from './../../../enumerations/benutzer-typ';\nimport { StartupService } from './../../../services/startup-service';\nimport { autoinject, transient, computedFrom } from 'aurelia-framework';\nimport { FormBase, ContextMenu, IListOptionsBase, ICommandData } from '../../../../framework/forms/export';\nimport { IZitToolbarOptions } from '../../../../zit-ui/elements/zit-toolbar/zit-toolbar-options';\nimport { DefaultCommandsService } from './../../../../framework/forms/services/export';\nimport { LocalizationService } from '../../../../framework/base/services/export';\nimport { IZitTagOptions } from '../../../../zit-ui/elements/zit-tag/export';\nimport { ListView } from '../../../../framework/forms/elements/list-view/export';\nimport { Geschlecht } from '../../../enumerations/export';\nimport { Share } from '../../../elements/share/share';\n\n@autoinject\n@transient()\nexport class AnsprechpersonEditUtils {\n constructor(\n private defaultCommand: DefaultCommandsService,\n private localization: LocalizationService,\n private startupService: StartupService,\n private restService: RestService\n ) { }\n\n form: FormBase;\n showKeinNewsletterErwuenscht: boolean = false;\n\n @computedFrom(\"form.models.data.$m_Ansprechperson.Personendaten.Geschlecht\",\n \"form.models.data.$m_Ansprechperson.Personendaten.Vorname\",\n \"form.models.data.$m_Ansprechperson.Personendaten.Nachname\")\n get ansprechpersonPersonalienHeader(): string {\n const model = this.form.models.data.$m_Ansprechperson;\n if (!model) {\n return null;\n }\n\n let anrede = \"\";\n const vorname = model.Personendaten.Vorname ? model.Personendaten.Vorname : \"\";\n const nachname = model.Personendaten.Nachname ? model.Personendaten.Nachname : \"\";\n\n switch (model.Personendaten.Geschlecht) {\n case Geschlecht.Maennlich: {\n anrede = \"Herr\";\n break;\n }\n case Geschlecht.Weiblich: {\n anrede = \"Frau\";\n break;\n }\n }\n\n return `${anrede} ${vorname} ${nachname}`\n }\n\n @computedFrom(\"form.models.data.$m_Ansprechperson.Personendaten.Team\")\n get ansprechpersonPersonalienTeamHeader(): string {\n const model = this.form.models.data.$m_Ansprechperson;\n if (!model) {\n return null;\n }\n\n return model.Personendaten.Team;\n }\n\n actionCommand: ICommandData = {\n id: \"actionCommand\",\n icon: \"fas fa-share-alt\",\n tooltip: \"zit.aktionen\",\n sortIndex: 99,\n isVisibleExpression: \"r_share.canShare\",\n execute: (executeOptions) => {\n const share: Share = this.form[\"r_share\"];\n share.showCtxMenu(executeOptions.event);\n }\n };\n geschaeftspartnerTagOptions: IZitTagOptions = {\n isClickEnabled: true,\n hasDefaultInfo: true,\n icon: {\n text: \"GP\"\n },\n textExpression: `item.Geschaeftspartner.Name1 \n ? item.Geschaeftspartner.Adressen.Adressen[0] \n ? item.Geschaeftspartner.Name1 + \", \" + item.Geschaeftspartner.Adressen.Adressen[0].Ort\n : item.Geschaeftspartner.Name1\n : \"\"`\n };\n kontaktTagOptions: IZitTagOptions = {\n isClickEnabled: true,\n hasDefaultInfo: true,\n icon: {\n faIconExpression: \"item.Kontakttyp.TagSymbol ? item.Kontakttyp.TagSymbol : null\",\n textExpression: `item.Kontakttyp \n ? item.Kontakttyp.TagText\n ? item.Kontakttyp.TagText \n : item.Kontakttyp.Bezeichnung\n ? item.Kontakttyp.Bezeichnung[0] \n : \"K\"\n : \"K\"`\n },\n textExpression: `item.Wert1 \n ? item.Wert2\n ? item.Wert1 + \", \" + item.Wert2\n : item.Wert1\n : \"\"`,\n infoList: [{\n isVisibleExpression: \"item.Wichting\",\n icon: {\n faIcon: \"fas fa-exclamation\"\n }\n }]\n };\n\n detailToolbarOptions: IZitToolbarOptions = {\n title: \"ansprechperson.details-toolbar-title\",\n smallToolbar: true,\n items: [{\n id: \"ansprechpersonEditUtilsDetailCommand\",\n icon: \"fas fa-plus\",\n execute: (e) => {\n this.showDetailCtxMenu(e.event);\n }\n }]\n };\n\n bind(form: FormBase) {\n this.form = form;\n\n this.form.models.onLoaded.register((args) => {\n if (args.model.id == \"$m_Ansprechperson\") {\n const isAdmin = this.startupService.startupInfo.Benutzer.Benutzertyp == BenutzerTyp.Administrator;\n const isInternerBenutzer = this.startupService.startupInfo.Benutzer.Benutzertyp == BenutzerTyp.InternerBenutzer;\n\n this.setGeschaeftspartnerValue();\n\n this.showKeinNewsletterErwuenscht = isAdmin || isInternerBenutzer;\n }\n\n return Promise.resolve();\n });\n }\n\n private showDetailCtxMenu(event: Event) {\n const ctxMenu = new ContextMenu();\n\n this.loadCtxMenuItems(ctxMenu);\n\n ctxMenu.show(event.target);\n }\n\n private loadCtxMenuItems(ctxMenu: ContextMenu) {\n if (!ctxMenu) {\n return;\n }\n ctxMenu.items = [{\n text: this.localization.translateOnce(\"ansprechperson.details-toolbar-geschaeftspartner\"),\n execute: () => {\n this.showListEditPopup(\"$m_AnsprechpersonZuGeschaeftspartnerEdit\", \"ansprechpersonGeschaeftspartnerEditPopup\", \"r_ansprechpersonGeschaeftspartnerListView\");\n }\n }];\n\n if (this.form.models.data.$m_Ansprechperson.SonstigeKontaktdatenVisible) {\n ctxMenu.items.push({\n text: this.localization.translateOnce(\"ansprechperson.details-toolbar-kontaktdaten\"),\n\n execute: () => {\n this.showListEditPopup(\"$m_AnsprechpersonKontaktEdit\", \"ansprechpersonKontaktEditPopup\", \"r_ansprechpersonKontaktdatenListView\");\n }\n });\n }\n }\n\n private showListEditPopup(editDataContext: string, idEditPopup: string, idListView: string) {\n const options = this.getListViewBaseOption(editDataContext, idEditPopup, this.form[idListView]);\n\n const addCommand = this.defaultCommand.getListAddCommand(this.form, options);\n const event = new MouseEvent(\"click\");\n addCommand.execute({ event: event });\n }\n\n private getListViewBaseOption(editDataContext: string, idEditPopup: string, options: IListOptionsBase): IListOptionsBase {\n options.editDataContext = editDataContext;\n options.idEditPopup = idEditPopup\n options.listEdits = options.listEdits || [];\n return options;\n }\n\n private setGeschaeftspartnerValue(): void {\n this.restService.get({\n url: `${this.restService.getWebApiUrl(\"ZIT/Objekte/Geschaeftspartner/\")}`,\n getOptions: {\n columns: ['Id']\n }\n }).then(r => {\n if (r.length > 1) {\n return;\n }\n if (r && r.length && r.length === 1) {\n this.form.models.data.$m_Ansprechperson._IdGeschaeftspartner = r[0].Id;\n }\n });\n }\n}\n","import { autoinject } from \"aurelia-framework\";\nimport { FotoPopup } from \"./../elements/foto-popup/foto-popup\";\n\n@autoinject\nexport class FotoPopupService {\n popup: FotoPopup;\n}\n\nexport interface IFotoPopupShowOptions {\n dmsLink?: string;\n name?: string;\n}\n","import { GlobalizationService } from \"./../../../../framework/base/services/globalization-service\";\nimport { transient } from \"aurelia-framework\";\nimport { autoinject } from \"aurelia-framework\";\nimport { RestService } from \"./../../../../framework/base/services/rest-service\";\nimport { DataSourceService, LocalizationService } from \"./../../../../framework/base/services/export\";\nimport { FormBase } from \"../../../../framework/forms/export\";\n\n@autoinject\n@transient()\nexport class ObjekteZuBenutzergruppeUtils {\n constructor(\n private dataSourceService: DataSourceService,\n private restService: RestService,\n private globalizationService: GlobalizationService,\n private localizationService: LocalizationService\n ) { }\n\n form: FormBase;\n objektElementLogList: any[];\n zugriffLogList: any[];\n\n historyGridOptions: DevExpress.ui.dxDataGridOptions = {\n columnAutoWidth: true,\n paging: {\n pageSize: 5\n },\n hoverStateEnabled: true,\n searchPanel: {\n visible: true\n },\n columns: [\n { dataField: \"Benutzer\", caption: this.localizationService.translateOnce(\"objekte-zu-benutzergruppe.history-benutzer\") },\n { dataField: \"Aenderungstyp\", caption: this.localizationService.translateOnce(\"objekte-zu-benutzergruppe.history-typ\") },\n { dataField: \"Datum\", caption: this.localizationService.translateOnce(\"objekte-zu-benutzergruppe.history-datum\"), format: this.globalizationService.getFormatter(\"g\"), width: \"125px\" }\n ],\n bindingOptions: {\n dataSource: \"functions.$f_ObjekteZuBenutzergruppe.objektElementLogList\"\n }\n };\n\n zugriffGridOptions: DevExpress.ui.dxDataGridOptions = {\n columnAutoWidth: true,\n paging: {\n pageSize: 5\n },\n hoverStateEnabled: true,\n searchPanel: {\n visible: true\n },\n columns: [\n { dataField: \"Benutzer\", caption: this.localizationService.translateOnce(\"objekte-zu-benutzergruppe.zugriff-benutzer\") },\n { dataField: \"Benutzerrolle\", caption: this.localizationService.translateOnce(\"objekte-zu-benutzergruppe.zugriff-benutzerrolle\") },\n { dataField: \"Loginprofil\", caption: this.localizationService.translateOnce(\"objekte-zu-benutzergruppe.zugriff-loginprofil\") },\n { dataField: \"Datum\", caption: this.localizationService.translateOnce(\"objekte-zu-benutzergruppe.zugriff-datum\"), format: this.globalizationService.getFormatter(\"g\"), width: \"125px\" }\n ],\n bindingOptions: {\n dataSource: \"functions.$f_ObjekteZuBenutzergruppe.zugriffLogList\"\n }\n };\n\n bind(form: FormBase) {\n\n this.form = form;\n\n form.models.onLoaded.register(async (args) => {\n if (args.model.id == \"$m_ObjZuBen\" && args.data) {\n const data = args.data.data;\n if (data && data[0].IdObjekt && data[0].IdObjekt > 0) {\n this.restService.get({\n url: `${this.restService.getApiUrl(\"ZIT/Objekt/ObjektElementLogList\")}?idObjekt=${data[0].IdObjekt}`\n }).then(r => {\n this.objektElementLogList = r;\n }).then(() => {\n this.restService.get({\n url: `${this.restService.getApiUrl(\"ZIT/Objekt/ObjektZugriffLogList\")}?idObjekt=${data[0].IdObjekt}`\n })\n .then(r => {\n this.zugriffLogList = r;\n });\n });\n }\n }\n\n return Promise.resolve();\n });\n }\n}\n","import { transient, autoinject, computedFrom } from \"aurelia-framework\";\nimport { IZitToolbarOptions } from '../../../../zit-ui/elements/zit-toolbar/zit-toolbar-options';\nimport { FormBase, ModelUtilsService, ICommandData, DialogConfirmService } from '../../../../framework/forms/export';\nimport { Massnahmen } from './massnahmen';\nimport { RestService, LocationService, GlobalizationService } from '../../../../framework/base/export';\nimport { IZitTagOptions } from '../../../../zit-ui/elements/zit-tag/zit-tag-options';\nimport { ObjektInfoService, StartupService } from '../../../services/export';\nimport { NachrichtService } from '../../../services/nachricht-service';\nimport { BenutzerTyp } from '../../../enumerations/export';\n\n@transient()\n@autoinject\nexport class ZielEditUtils {\n constructor(\n private _restService: RestService,\n private _locationService: LocationService,\n private _modelUtilsService: ModelUtilsService,\n private _objektInfoService: ObjektInfoService,\n private _startupService: StartupService,\n private _nachrichtService: NachrichtService,\n private _dialogConfirmService: DialogConfirmService,\n private _globalizationService: GlobalizationService\n ) {\n this.showAusbilderKommentarEdit = this._startupService.startupInfo.Benutzer.Benutzertyp != BenutzerTyp.NatuerlichePerson;\n }\n\n form: FormBase;\n showAusbilderKommentarEdit: boolean = false;\n\n objektTagOptions: IZitTagOptions = {\n icon: {\n faIconExpression: `item._ObjSymbol || 'fas fa-user'`,\n backgroundColorExpression: `item._ObjHintergrundfarbe`\n },\n textExpression: \"item.Kopf.ObjektBezeichnung\",\n onClick: (e, data) => {\n const url = this._objektInfoService.getObjektNavigationUrl(data.Kopf.ObjektTypeName);\n if (!url) {\n return;\n }\n\n this._locationService.goTo({\n url: url.concat(\"/\").concat(data.Kopf.IdObjekt),\n currentViewModel: this.form\n });\n }\n };\n ursprungsobjektTagOptions: IZitTagOptions = {\n icon: {\n faIconExpression: `item._UrsprSymbol || 'fas fa-cog'`,\n backgroundColorExpression: `item._UrsprHintergrundfarbe`\n },\n textExpression: \"item.Kopf.UrsprungsobjektBezeichnung\",\n onClick: (e, data) => {\n const url = this._objektInfoService.getObjektNavigationUrl(data.Kopf.UrsprungsobjektTypeName);\n if (!url) {\n return;\n }\n\n this._locationService.goTo({\n url: url.concat(\"/\").concat(data.Kopf.IdUrsprungsobjekt),\n currentViewModel: this.form\n });\n }\n };\n einschaetzungOptions: DevExpress.ui.dxSliderOptions = {\n min: 0,\n max: 10,\n step: 1,\n label: {\n visible: true,\n format: (value: number) => {\n return `${this._globalizationService.format(value, \"n0\")}`;\n }\n },\n onValueChangedByUser: (ev) => {\n this.form.models.data.$m_Ziel.Kopf.IsErfuellt = (ev.value == 10);\n },\n bindingOptions: {\n value: \"models.data.$m_Ziel.Kopf.Einschaetzung\"\n }\n };\n massnahmenToolbarOptions: IZitToolbarOptions = {\n title: \"ziele.massnahmen\",\n smallToolbar: true,\n items: [{\n id: \"addMassnahme\",\n icon: \"fas fa-plus\",\n execute: async (e) => {\n const massnahme: Massnahmen = this.form[\"r_massnahmen\"];\n massnahme.addMassnahme();\n }\n }]\n };\n createNachrichtCommand: ICommandData = {\n id: \"createNachrichtCommand\",\n icon: \"far fa-comment-dots\",\n sortIndex: 295,\n isVisibleExpression: \"models.data.$m_Ziel.Id\",\n execute: async (ev) => {\n if (this._startupService.startupInfo.Benutzer.Benutzertyp == BenutzerTyp.NatuerlichePerson) {\n this._nachrichtService.doNachrichtErstellenFromObjekt([{\n IdObjekt: this.form.models.data.$m_Ziel.Kopf.IdAnsprechperson,\n IdObjektRef: this.form.models.data.$m_Ziel.Id\n }], \"TIP.ZIT.Business.Entities.Objekte.Ansprechpersonen.Ansprechperson\");\n } else {\n this._nachrichtService.doNachrichtErstellenFromObjekt([{\n IdObjekt: this.form.models.data.$m_Ziel.Kopf.IdObjekt,\n IdObjektRef: this.form.models.data.$m_Ziel.Id\n }], this.form.models.data.$m_Ziel.Kopf.ObjektTypeName);\n }\n }\n };\n\n @computedFrom(\"form.models.data.$m_Ziel.Kopf.Einschaetzung\")\n get einschaetzungWert() {\n if (!this.form.models.data.$m_Ziel) {\n return \"\";\n }\n\n return `
${this.form.models.data.$m_Ziel.Kopf.Einschaetzung}
`\n }\n\n bind(form: FormBase) {\n this.form = form;\n\n this.form.models.onLoaded.register(async ev => {\n if (ev.model.id == \"$m_Ziel\" && !ev.data.Id) {\n this.checkObjekt(ev.data);\n }\n });\n }\n\n onDateiListChanged() {\n this._modelUtilsService.setDirty(this.form.models.data.$m_Ziel);\n }\n async onErfuelltClick() {\n this.form.models.data.$m_Ziel.Kopf.IsErfuellt = true;\n this.form.models.data.$m_Ziel.Kopf.Einschaetzung = 10;\n await this.form.save();\n }\n\n private async checkObjekt(data: any) {\n const hasUrsprungsobjekt = this.form.viewItemInfo\n && this.form.viewItemInfo.routeInfo\n && this.form.viewItemInfo.routeInfo.customOptions\n && this.form.viewItemInfo.routeInfo.customOptions.idUrsprungsobjekt;\n\n const idUrsprungsobjekt = hasUrsprungsobjekt\n ? this.form.viewItemInfo.routeInfo.customOptions.idUrsprungsobjekt\n : null;\n \n data.Kopf.IdUrsprungsobjekt = idUrsprungsobjekt;\n\n const r = await this._restService.post({\n url: this._restService.getApiUrl(\"ZIT/Ziel/EvalObjekt\"),\n data: {\n IdUrsprungsobjekt: idUrsprungsobjekt\n },\n increaseLoadingCount: true\n });\n\n if (r && r.IdObjekt) {\n data.Kopf.IdObjekt = r.IdObjekt;\n data.Kopf.ObjektBezeichnung = r.ObjektBezeichnung;\n } else {\n data._ShowObjektSelectBox = true;\n }\n\n if (r && r.IdAnsprechperson) {\n data.Kopf.IdAnsprechperson = r.IdAnsprechperson;\n } else {\n data._ShowAnsprechpersonSelectBox = true;\n }\n }\n}","import { RestService } from './../../../../framework/base/services/rest-service';\nimport { DxWidget } from './../../../../framework/dx/elements/dx-widget';\nimport { ValidationExService } from './../../../services/validation-ex-service';\nimport { Models } from './../../../../framework/forms/classes/models';\nimport { autoinject, computedFrom, transient, TaskQueue } from \"aurelia-framework\";\nimport { FormBase } from './../../../../framework/forms/classes/form-base';\n\n@autoinject\n@transient()\nexport class StelleninseratGruppeEditUtils {\n constructor(private rest: RestService, private taskqueue: TaskQueue, private restService: RestService) {\n }\n\n form: FormBase;\n vorhandeneAuswaehlen: string = \"Vorhandenen Typ auswählen\";\n neuErstellen: string = \"Neuen Typ erstellen\";\n gruppeNeuAuswahl: string;\n gruppeNeuAuswahlDatasource: string[] = [this.vorhandeneAuswaehlen, this.neuErstellen];\n aufzaehlungszeichen: boolean = false;\n\n bind(form: FormBase, funcNamespace: string): void {\n this.form = form;\n\n this.form.onValidating.register(r => {\n if (!r.validationResult.isValid) {\n return;\n }\n\n return this.onValidating();\n });\n\n this.form.parent.editPopups.onEditPopupShown.register(r => {\n if (r.editPopup.id === \"stelleninseratGruppeEditPopup\") {\n this.aufzaehlungszeichen = false;\n\n const gruppeNeuAuswahlRadioGroup: DxWidget = this.form[\"r_guppeNeuAuswahl\"];\n gruppeNeuAuswahlRadioGroup.setOption({ \"value\": this.gruppeNeuAuswahlDatasource[0] });\n\n if (this.gruppeNeuAuswahl === this.gruppeNeuAuswahlDatasource[1]) {\n const gruppeNeuSortNrNumberBoxGroup: DxWidget = this.form[\"r_gruppeNeuSortNrNumberBox\"];\n gruppeNeuSortNrNumberBoxGroup.setOption({ \"value\": 0 });\n\n const gruppeNeuAufzaehlung: DxWidget = this.form[\"r_gruppeNeuAufzaehlung\"];\n gruppeNeuAufzaehlung.setOption({ \"value\": this.aufzaehlungszeichen });\n }\n }\n\n return Promise.resolve();\n })\n\n form.models.onLoaded.register((args) => {\n if (args.model.id == \"$m_StelleninseratGruppe\" && args.data) {\n if (!args.data.Id) {\n this.taskqueue.queueMicroTask(() => {\n const idStelleninserat = this.form.variables.data.$v_idStelleninserat;\n\n this.restService.get({\n url: `${this.restService.getApiUrl(\"ZIT/Objekt/StelleninseratGruppeNextSortNr\")}?idStelleninserat=${idStelleninserat}`\n }).then(r => {\n args.data.SortNr = r;\n });\n });\n }\n }\n\n return Promise.resolve();\n });\n }\n\n requiredValidatorOptions = {\n validationRules: [{ type: \"required\", message: \"\" }]\n };\n\n stelleninseratGruppeNeuAuswahlRadioGroupOptions: DevExpress.ui.dxRadioGroupOptions = {\n dataSource: this.gruppeNeuAuswahlDatasource,\n layout: \"horizontal\",\n onValueChanged: (r) => {\n this.gruppeNeuAuswahl = r.value;\n }\n };\n\n neuErfassungTextBoxOptions: DevExpress.ui.dxTextBoxOptions = {};\n neuErfassungNumberBoxOptions: DevExpress.ui.dxNumberBoxOptions = {};\n\n aufzaehlungszeichenCheckBoxOptions: DevExpress.ui.dxCheckBoxOptions = {\n text: \"in der Anzeige als Aufzählung darstellen\",\n };\n\n @computedFrom(\"gruppeNeuAuswahl\") //Todo: Property prüfen\n get isGruppeAuswahlVisible(): boolean {\n let value = this.GetStelleninseratGruppeNeuAuswahlValue();\n\n if (value == this.vorhandeneAuswaehlen) {\n return true;\n } else {\n return false;\n }\n }\n\n private GetStelleninseratGruppeNeuAuswahlValue(): string {\n const gruppeNeuAuswahl: DevExpress.ui.dxRadioGroup = this.form[\"r_guppeNeuAuswahl\"].instance;\n\n if (gruppeNeuAuswahl) {\n return gruppeNeuAuswahl.option(\"value\")\n }\n else {\n null;\n }\n }\n\n private onValidating(): Promise {\n let value = this.GetStelleninseratGruppeNeuAuswahlValue();\n if (value == this.neuErstellen) {\n const gruppeNeuTextBoxGroup: DevExpress.ui.dxTextBox = this.form[\"r_gruppeNeuTextBox\"].instance;\n const gruppeNeuSortNrNumberBoxGroup: DevExpress.ui.dxNumberBox = this.form[\"r_gruppeNeuSortNrNumberBox\"].instance;\n\n const bezeichnung: string = gruppeNeuTextBoxGroup.option(\"text\");\n const sortNr: number = gruppeNeuSortNrNumberBoxGroup.option(\"value\");\n\n let gruppentyp = {\n Bezeichnung: bezeichnung,\n SortNr: sortNr,\n IdGeschaeftspartner: this.form.variables.data.$v_idGeschaeftspartner,\n Aufzaehlung: this.aufzaehlungszeichen\n };\n\n return this.rest.get({\n url: this.rest.getWebApiUrl(\"ZIT/Stammdaten/StelleninseratGruppentyp\"),\n getOptions: {\n where: [[\"Bezeichnung\", gruppentyp.Bezeichnung], \"and\", [\"IdGeschaeftspartner\", gruppentyp.IdGeschaeftspartner]]\n }\n })\n .then((existingGruppentyp) => {\n if (existingGruppentyp && existingGruppentyp.length > 0) {\n this.form.models.data.$m_StelleninseratGruppe.IdStelleninseratGruppentyp = existingGruppentyp[0].Id;\n } else {\n return this.rest.put({\n url: this.rest.getWebApiUrl(\"ZIT/Stammdaten/StelleninseratGruppentyp\"),\n data: gruppentyp,\n increaseLoadingCount: true\n }).then(r => {\n this.form.models.data.$m_StelleninseratGruppe.IdStelleninseratGruppentyp = r.Id;\n });\n }\n });\n }\n };\n}\n","import { StartupService } from './../../../services/startup-service';\nimport { DxWidget } from './../../../../framework/dx/elements/dx-widget';\nimport { Share } from './../../../elements/share/share';\nimport { ICommandData } from './../../../../framework/forms/interfaces/command-data';\nimport { IBenutzerrolleCodeData } from './../../../interfaces/benutzerrolle-code-data';\nimport { IZitTagOptions } from './../../../../zit-ui/elements/zit-tag/zit-tag-options';\nimport { autoinject, transient, computedFrom } from 'aurelia-framework';\nimport { FormBase } from './../../../../framework/forms/classes/form-base';\nimport { IZitToolbarOptions } from '../../../../zit-ui/elements/zit-toolbar/zit-toolbar-options';\nimport { LocalizationService, FileService, GlobalizationService, LocationService } from './../../../../framework/base/services/export';\nimport { DefaultCommandsService } from './../../../../framework/forms/services/export';\nimport { ContextMenu, IListOptionsBase } from '../../../../framework/forms/export';\nimport { CustomEditPopupService } from '../../../services/export';\nimport { ListView } from '../../../../framework/forms/elements/list-view/export';\nimport { DokumentListView } from '../../../elements/dokument-list-view/dokument-list-view';\nimport { IdxValidationGroupComponent } from '../../../interfaces/export';\nimport { RestService } from '../../../../framework/base/services/export';\nimport { Geschlecht } from '../../../enumerations/export';\nimport { IdxPopupComponent } from './../../../interfaces/export';\n\n@autoinject\n@transient()\nexport class PersonenEditUtils {\n constructor(\n private customEditPopup: CustomEditPopupService,\n private defaultCommand: DefaultCommandsService,\n private localization: LocalizationService,\n private location: LocationService,\n private file: FileService,\n private globalization: GlobalizationService,\n private rest: RestService,\n private startupService: StartupService\n ) { }\n\n form: FormBase;\n requiredValidationRule = { type: \"required\" };\n\n detailToolbarOptions: IZitToolbarOptions = {\n title: \"person.details-toolbar-title\",\n smallToolbar: true,\n items: [{\n id: \"personEditUtilsDetailCommand\",\n icon: \"fas fa-plus\",\n execute: (e) => {\n this.showDetailCtxMenu(e.event);\n }\n }]\n };\n\n actionCommand: ICommandData = {\n id: \"actionCommand\",\n icon: \"fas fa-share-alt\",\n tooltip: \"zit.aktionen\",\n sortIndex: 99,\n isVisibleExpression: \"r_share.canShare\",\n execute: (executeOptions) => {\n const share: Share = this.form[\"r_share\"];\n share.showCtxMenu(executeOptions.event);\n }\n };\n\n personSkillTagOptions: IZitTagOptions = {\n isClickEnabled: true,\n hasDefaultInfo: true,\n textExpression: `item.Text \n ? item.Skill.Bezeichnung + ': ' + item.Text \n : item.Skill.Bezeichnung | zitRestrictLength:50`,\n icon: {\n textExpression: \"!item.Skill.TagSymbol ? 'S/H':''\",\n faIconExpression: \"item.Skill.TagSymbol\"\n }\n };\n\n personGeschaeftspartnerEinsatzTagOptions: IZitTagOptions = {\n isClickEnabled: true,\n hasDefaultInfo: true,\n textExpression: `item.Jahr \n ? item.Geschaeftspartner.Name1 + ': ' + item.TaetigkeitAbteilung + ' (' + item.Jahr + ')'\n : item.Geschaeftspartner.Name1 + ': ' + item.TaetigkeitAbteilung`,\n icon: {\n text: \"BE\"\n }\n };\n\n personSpracheTagOptions: IZitTagOptions = {\n isClickEnabled: true,\n hasDefaultInfo: true,\n textExpression: `item.Sprache.Bezeichnung + \" | \" + item.Sprachniveau.Bezeichnung`,\n icon: {\n text: \"S\"\n },\n infoList: [{\n isVisibleExpression: \"item.Sprachniveau && item.Sprachniveau.TagSymbol\",\n icon: {\n textExpression: \"item.Sprachniveau.TagSymbol\"\n }\n }]\n };\n\n personBerufTagOptions: IZitTagOptions = {\n isClickEnabled: true,\n hasDefaultInfo: true,\n textExpression: `item.Beruf.Bezeichnung && item.Erfahrungsjahre && item.ZuletztTaetig\n ? item.Beruf.Bezeichnung + ' | EJ: ' + item.Erfahrungsjahre + ' | ZT: ' + item.ZuletztTaetig\n : item.Erfahrungsjahre\n ? item.Beruf.Bezeichnung + ' | EJ: ' + item.Erfahrungsjahre\n : item.ZuletztTaetig\n ? item.Beruf.Bezeichnung + ' | ZT: ' + item.ZuletztTaetig\n : item.Beruf.Bezeichnung`,\n icon: {\n text: \"B\"\n },\n infoList: [{\n isVisibleExpression: \"item.IdBerufQualifikation\",\n icon: {\n textExpression: \"item.BerufQualifikation.TagText ? item.BerufQualifikation.TagText : null\",\n faIconExpression: \"item.BerufQualifikation.TagSymbol ? item.BerufQualifikation.TagSymbol : null\"\n }\n },\n {\n isVisibleExpression: \"item.IdAusbildungAbschluss\",\n icon: {\n faIconExpression: \"item.AusbildungAbschluss.TagSymbol ? item.AusbildungAbschluss.TagSymbol : null\"\n }\n }]\n };\n\n personFuehrerscheinTagOptions: IZitTagOptions = {\n isClickEnabled: true,\n hasDefaultInfo: true,\n textExpression: `item.Fuehrerscheinklasse.Bezeichnung \n ? item.Fuehrerscheinklasse.Bezeichnung \n : ' ' | zitRestrictLength:50`,\n icon: {\n textExpression: `item.Fuehrerscheinklasse.Tagtext \n ? item.Fuehrerscheinklasse.Tagtext : 'F'`,\n faIconExpression: \"item.Fuehrerscheinklasse.TagSymbol ? item.Fuehrerscheinklasse.TagSymbol : null\"\n }\n };\n\n personBerufserfahrungTagOptions: IZitTagOptions = {\n isClickEnabled: true,\n hasDefaultInfo: true,\n textExpression: `item.Bis \n ? item.Unternehmen + \": \" + globalization.format(item.Von, \"d\") + \" - \" + globalization.format(item.Bis, \"d\") \n : item.Unternehmen + \": \" + \"seit \" + globalization.format(item.Von, \"d\")`,\n icon: {\n text: \"E\"\n }\n };\n\n personAbschliessenCommand: ICommandData = {\n id: \"personAbschliessenCommand\",\n icon: \"fas fa-check\",\n sortIndex: 1600,\n execute: () => {\n this.onPersonAbschliessen();\n }\n };\n\n svNummerValidationRule = {\n type: \"custom\",\n reevaluate: true,\n isValid: true,\n message: \"\",\n validationCallback: (e) => {\n let model = this.form.models.data.$m_Person;\n \n const svNr = model.Personendaten.SVNr;\n const ahvNrSchweiz = model.Personendaten.AHVNrSchweiz;\n const ahbNrLiechtenschein = model.Personendaten.AHVNrLiechtenstein;\n\n if ((svNr && svNr.length > 0) || (ahvNrSchweiz && ahvNrSchweiz.length > 0) || (ahbNrLiechtenschein && ahbNrLiechtenschein.length > 0)) {\n return true;\n }\n\n this.svNummerValidationRule.message = \" Es muss mindestens eine SV- oder AHV Nummer ausgefüllt sein.\";\n return false;\n }\n };\n\n bind(form: FormBase) {\n this.form = form;\n form.models.onSaved.register((args) => {\n if (args && args.model && args.model.id === \"$m_Person\") {\n const popup = this.form[\"r_personAbgeschlossenPopup\"];\n if (!popup || !popup.instance) {\n return;\n }\n popup.instance.show()\n }\n return Promise.resolve();\n });\n }\n\n private showDetailCtxMenu(event: Event) {\n const ctxMenu = new ContextMenu();\n\n this.loadCtxMenuItems(ctxMenu);\n\n ctxMenu.show(event.target);\n }\n private loadCtxMenuItems(ctxMenu: ContextMenu) {\n if (!ctxMenu) {\n return;\n }\n ctxMenu.items = [{\n text: this.localization.translateOnce(\"person.details-toolbar-adressen\"),\n execute: () => {\n this.showListEditPopup(\"$m_PersonAdresseEdit\", \"personAdresseEditPopup\", \"r_personAdresseListView\");\n }\n }, {\n text: this.localization.translateOnce(\"person.details-toolbar-ausbildungen\"),\n execute: () => {\n this.showListEditPopup(\"$m_PersonAusbildungEdit\", \"personAusbildungEditPopup\", \"r_personAusbildungListView\");\n }\n }, {\n text: this.localization.translateOnce(\"person.details-toolbar-bankverbindungen\"),\n execute: () => {\n this.showListEditPopup(\"$m_PersonBankverbindungEdit\", \"personBankverbindungEditPopup\", \"r_personBankverbindungListView\");\n }\n }, {\n text: this.localization.translateOnce(\"person.details-toolbar-berufserfahrung\"),\n execute: () => {\n this.showListEditPopup(\"$m_PersonBerufserfahrungEdit\", \"personBerufserfahrungEditPopup\", \"r_personBerufserfahrungListView\");\n }\n }];\n\n if (this.showBisherigeEinsaetze()) {\n ctxMenu.items.push({\n text: this.localization.translateOnce(\"person.details-toolbar-bisherige-einsaetze\"),\n execute: () => {\n this.showListEditPopup(\"$m_PersonGeschaeftspartnerEinsatzEdit\", \"personGeschaeftspartnerEinsatzEditPopup\", \"r_personGeschaeftspartnerEinsatzListView\");\n }\n });\n }\n\n ctxMenu.items.push({\n text: this.localization.translateOnce(\"person.details-toolbar-berufe\"),\n execute: () => {\n this.showListEditPopup(\"$m_PersonBerufEdit\", \"personBerufEditPopup\", \"r_personBerufListView\");\n }\n }, {\n text: this.localization.translateOnce(\"person.details-toolbar-dokumente\"),\n execute: () => {\n this.customEditPopup.dokumentEdit.show(\n {\n mappings: { \"$id\": 0 , \"$v_objektTypeFullname\": \"TIP.ZIT.Business.Entities.Objekte.Personen.Person\"},\n setValuesOnModelWithKeyIdLoaded: { IdObjekt: this.form.models.data.$m_Person.Id },\n closeCallback: () => {\n const listView: DokumentListView = this.form[\"r_dokumentElement\"];\n\n listView.dokumentListView.refresh();\n }\n });\n }\n }, {\n text: this.localization.translateOnce(\"person.details-toolbar-fuehrerscheine\"),\n execute: () => {\n this.showListEditPopup(\"$m_PersonFuehrerscheinEdit\", \"personFuehrerscheinEditPopup\", \"r_personFuehrerscheinListView\");\n }\n }, {\n text: this.localization.translateOnce(\"person.details-toolbar-sprachkenntnisse\"),\n execute: () => {\n this.showListEditPopup(\"$m_PersonSpracheEdit\", \"personSpracheEditPopup\", \"r_personSpracheListView\");\n }\n }, {\n text: this.localization.translateOnce(\"person.details-toolbar-skills\"),\n execute: () => {\n this.showListEditPopup(\"$m_PersonSkillEdit\", \"personSkillEditPopup\", \"r_personSkillListView\");\n }\n });\n\n if (this.form.models.data.$m_Person.SonstigeKontaktdatenVisible) {\n ctxMenu.items.push(\n {\n text: this.localization.translateOnce(\"person.details-toolbar-kontaktdaten\"),\n execute: () => {\n this.showListEditPopup(\"$m_PersonKontaktEdit\", \"personKontaktEditPopup\", \"r_personKontaktdatenListView\");\n }\n }\n );\n }\n }\n private showListEditPopup(editDataContext: string, idEditPopup: string, idListView: string) {\n const options = this.getListViewBaseOption(editDataContext, idEditPopup, this.form[idListView]);\n\n const addCommand = this.defaultCommand.getListAddCommand(this.form, options);\n const event = new MouseEvent(\"click\");\n addCommand.execute({ event: event });\n }\n private getListViewBaseOption(editDataContext: string, idEditPopup: string, options: IListOptionsBase): IListOptionsBase {\n options.editDataContext = editDataContext;\n options.idEditPopup = idEditPopup\n options.listEdits = options.listEdits || [];\n return options;\n }\n private showPersonAusbildungNeuPopup() {\n this.customEditPopup.personAusbildungNeu.show({\n mappings: {\n \"$id\": 0\n },\n setValuesOnModelWithKeyIdLoaded: {\n _ManuelleAusbildung: true\n },\n closeCallback: (form) => {\n this.form.models.data.$m_Ausbildung.IdAusbildung = form.models.data.$m_AusbildungNeu.Id;\n this.form.models.data.$m_Ausbildung.IdAusbildungAbschluss = form.models.data.$m_AusbildungNeu.IdAusbildungAbschluss;\n form.models.data.$m_AusbildungNeu.IdAusbildungAbschluss = null;\n (form).functions.$f_PersonAusbildungErweitert.idAusbildungAbschluss = null;\n }\n });\n }\n private async onEinstellungenSpeichernClicked() {\n const validationGroup: IdxValidationGroupComponent = this.form[\"r_personWeitereEinstellungenValidationGroup\"];\n const result = validationGroup.instance.validate();\n if (this.form.models.data.$m_Person.Id == null)\n return;\n\n if (!result.isValid)\n return;\n\n this.form[\"personWeitereEinstellungenPopup\"].instance.hide();\n }\n private onPersonAbschliessen() {\n const personAbgeschlossenPopup: IdxPopupComponent = this.form[\"r_personAbgeschlossenPopup\"];\n personAbgeschlossenPopup.instance.hide();\n this.goToLatestBewerbung();\n }\n private goToLatestBewerbung() {\n return this.rest.get({\n url: this.rest.getWebApiUrl(\"ZIT/Objekte/Bewerbung/\"),\n getOptions: {\n where: [\"Kopf.IdPerson\", this.form.models.data.$m_Person.Id],\n columns: [\"Id\"],\n orderBy: [{ \"columnName\": \"Id\", \"sortOrder\": 1 }]\n }\n }).then((r) => {\n if (!r || !r.length) {\n return;\n }\n this.location.goTo({\n url: `${\"Objekte/Bewerbung\"}/${r[0].Id}?mode=1`,\n replace: true\n });\n });\n }\n @computedFrom(\"form.models.data.$m_Person.Personendaten.Geschlecht\",\n \"form.models.data.$m_Person.Personendaten.TitelVorne\",\n \"form.models.data.$m_Person.Personendaten.Vorname\",\n \"form.models.data.$m_Person.Personendaten.Nachname\",\n \"form.models.data.$m_Person.Personendaten.TitelHinten\")\n get personPersonalienHeader(): string {\n const model = this.form.models.data.$m_Person;\n if (!model) {\n return null;\n }\n\n let anrede = \"\";\n const vorname = model.Personendaten.Vorname ? model.Personendaten.Vorname : \"\";\n const nachname = model.Personendaten.Nachname ? model.Personendaten.Nachname : \"\";\n const titelVorne = model.Personendaten.TitelVorne ? model.Personendaten.TitelVorne : \"\";\n const titelHinten = model.Personendaten.TitelHinten ? model.Personendaten.TitelHinten : \"\";\n\n switch (model.Personendaten.Geschlecht) {\n case Geschlecht.Maennlich: {\n anrede = \"Herr\";\n break;\n }\n case Geschlecht.Weiblich: {\n anrede = \"Frau\";\n break;\n }\n }\n return `${anrede} ${titelVorne} ${vorname} ${nachname} ${titelHinten}`\n }\n\n showBisherigeEinsaetze(): boolean {\n return this.startupService.startupInfo.Mandant.IdMandant === 2;\n }\n}\n","import { Share } from './../../../elements/share/share';\nimport { ICommandData } from './../../../../framework/forms/interfaces/command-data';\nimport { IZitTagOptions } from './../../../../zit-ui/elements/zit-tag/zit-tag-options';\nimport { autoinject, transient } from 'aurelia-framework';\nimport { FormBase } from './../../../../framework/forms/classes/form-base';\nimport { ISubheadlineOptions } from '../../../elements/sub-headline/sub-headline-options';\n\n@autoinject\n@transient()\nexport class GeschaeftspartnerReadUtils {\n constructor() { }\n\n form: FormBase\n\n packageTagOptions: IZitTagOptions = {\n icon: {\n text: \"P\"\n },\n textExpression: `item.Bezeichnung + \", gültig bis: \" + globalization.format(item.GueltigBis, \"d\")`\n };\n adresseTagOptions: IZitTagOptions = {\n icon: {\n text: \"A\"\n },\n textExpression: `item | zitAddress:\"short:street\"`\n };\n actionCommand: ICommandData = {\n id: \"actionCommand\",\n icon: \"fas fa-share-alt\",\n tooltip: \"zit.aktionen\",\n isVisibleExpression: \"r_share.canShare\",\n sortIndex: 99,\n execute: (executeOptions) => {\n const share: Share = this.form[\"r_share\"];\n share.showCtxMenu(executeOptions.event);\n }\n }\n\n subHeadlineOptions: ISubheadlineOptions = {\n getTitel: () => Promise.resolve(this.form.models.data.$m_Geschaeftspartner.CustomSubHeadline)\n }\n\n bind(form: FormBase) {\n this.form = form;\n }\n}\n","export enum ErklaerungsvideoAnzeigeEnum {\n NurAufMobilgeraeten = 0,\n NurAufDesktopGeraeten = 1\n}\n","import {\n autoinject,\n Scope\n} from \"aurelia-framework\";\nimport {\n FormBase\n} from \"../classes/form-base\";\nimport {\n BindingService,\n LocalizationService\n} from \"../../base/services/export\";\nimport {\n ScopeContainer\n} from \"../../base/classes/export\";\nimport {\n CommandService\n} from \"../services/command-service\";\nimport {\n DxTemplateService\n} from \"../../dx/services/dx-template-service\";\nimport * as Toolbar from \"../elements/toolbar/export\";\nimport * as Interfaces from \"../interfaces/export\";\nimport * as toolbarButtonTemplate from \"html-loader!../templates/toolbar-button-template.xhtml\";\n\n@autoinject\nexport class ToolbarService {\n private titleItemTemplate = \"TITEL_ITEM_TEMPLATE\";\n private _pages = {};\n private _categories = {};\n\n constructor(\n private command: CommandService,\n private localization: LocalizationService,\n private binding: BindingService,\n private dxTemplate: DxTemplateService\n ) {\n this.addPage(\"$start\", \"toolbar.page_start\", 0);\n this.addCategory(\"$datensatz\", \"$start\", \"toolbar.category_datensatz\", 10);\n this.addCategory(\"$export\", \"$start\", \"toolbar.category_export\", 20);\n this.addCategory(\"$nav\", \"$start\", \"toolbar.nav\", 0);\n this.addPage(\"$after\", \"\", 9999);\n this.addCategory(\"$close\", \"$after\", \"toolbar.close\", 9999);\n }\n\n toolbarModuleId: string = \"framework/forms/elements/ribbon-toolbar/ribbon-toolbar\";\n\n addPage(id: string, title: string, sortIndex: number) {\n this._pages[id] = {\n id,\n title,\n sortIndex\n };\n }\n addCategory(id: string, idPage: string, title: string, sortIndex: number) {\n this._categories[id] = {\n id,\n idPage,\n title,\n sortIndex\n }\n }\n createPageCategoryItemStructure(items: Toolbar.IItem[]): Toolbar.IPage[] {\n if (!items || items.length === 0) {\n return [];\n }\n\n const categories = {};\n\n for (let item of items) {\n let idCategory = item.idCategory || \"$datensatz\"\n let category: Toolbar.ICategory = categories[idCategory];\n\n if (!category) {\n const c = this._categories[idCategory];\n\n if (!c) {\n throw new Error(`No category ${idCategory}`);\n }\n\n category = {\n id: c.id,\n idPage: c.idPage,\n title: this.localization.translateOnce(c.title),\n sortIndex: c.sortIndex,\n location: c.location,\n items: []\n };\n categories[idCategory] = category;\n }\n\n category.items.push(item);\n }\n\n const result: Toolbar.IPage[] = [];\n const pages = {};\n for (let key in categories) {\n const category = categories[key];\n\n let page: Toolbar.IPage = pages[category.idPage];\n\n if (!page) {\n const p = this._pages[category.idPage];\n\n if (!p) {\n throw new Error(`No page ${category.idPage}`);\n }\n\n page = {\n id: p.id,\n title: this.localization.translateOnce(p.title),\n sortIndex: p.sortIndex,\n categories: []\n }\n pages[category.idPage] = page;\n result.push(page);\n }\n\n page.categories.push(category);\n }\n\n result.sort((a, b) => {\n return (a.sortIndex || 0) - (b.sortIndex || 0);\n })\n\n for (let page of result) {\n page.categories.sort((a, b) => {\n return (a.sortIndex || 0) - (b.sortIndex || 0);\n })\n\n for (let category of page.categories) {\n category.items.sort((a, b) => {\n return (a.sortIndex || 0) - (b.sortIndex || 0);\n })\n }\n }\n\n return result;\n }\n\n createFormToolbarOptions(form: FormBase): Toolbar.IToolbarOptions {\n const options = this.createToolbarOptions(\n form.scopeContainer,\n form.title,\n form.commands.getCommands());\n\n this.binding.observe({\n scopeContainer: form.scopeContainer,\n expression: \"title\", \n callback: (newValue) => {\n options.title = newValue;\n }\n });\n\n return options;\n }\n createToolbarOptions(scopeContainer: ScopeContainer, title: string, commands: Interfaces.ICommandData[], smallToolbar: boolean = false, icon: string = null): Toolbar.IToolbarOptions {\n const options: Toolbar.IToolbarOptions = {\n title: title,\n icon: icon,\n smallToolbar: smallToolbar,\n items: [],\n scopeContainer: scopeContainer\n };\n\n options.items = this.createToolbarItems(scopeContainer, commands);\n return options;\n }\n createToolbarItems(scopeContainer: ScopeContainer, commands: Interfaces.ICommandData[]): Toolbar.IItem[] {\n const items = commands\n .map(i => this.createToolbarItem(scopeContainer, i));\n\n return items;\n }\n createToolbarItem(scopeContainer: ScopeContainer, command: Interfaces.ICommandData): Toolbar.IItem {\n command.expressionScope = scopeContainer.scope;\n\n return command;\n }\n}\n","export * from \"./classes/export\";\nexport * from \"./enums/export\";\nexport * from \"./event-args/export\";\nexport * from \"./interfaces/export\";\nexport * from \"./services/export\";\nexport * from \"./widget-options/export\";\nexport * from \"./widget-services/export\";\nexport * from \"./elements/export\";","export * from \"./address-value-converter\";\nexport * from \"./ansprechperson-value-converter\";\nexport * from \"./bankverbindung-value-converter\";\nexport * from \"./enumeration-value-converter\";\nexport * from \"./moment-value-converter\";\nexport * from \"./pattern-value-converter\";\nexport * from \"./person-name-value-converter\";\nexport * from \"./restrict-length-value-converter\";\nexport * from \"./sort-value-converter\";","module.exports = \"
\";","export * from \"./layout-service\";\nexport * from \"./loading-service\";\nexport * from \"./zit-tag-service\";\nexport * from \"./widget-extender-service\";\n","import { autoinject } from 'aurelia-framework';\nimport { RestService } from '../../framework/base/export';\n@autoinject\nexport class StaatService {\n constructor(\n private rest: RestService\n ){}\n\n loadStaaten(getOptions?: any){\n return this.rest.get({\n url: this.rest.getWebApiUrl(\"ZIT/Stammdaten/Staat\"),\n getOptions: getOptions\n });\n }\n}","import {\n PLATFORM\n} from \"aurelia-framework\";\n\nexport default {\n appId: \"ZIT\",\n baseUrl: \"http://localhost:5214\",\n apiUrl: \"api\",\n webApiUrl: \"api/data\",\n webSocketUrl: \"api\",\n\n loginApp: PLATFORM.moduleName(\"zit-ui/views/login/login\"),\n mainApp: PLATFORM.moduleName(\"app\")\n}\n","import { FileService } from './../../framework/base/services/file-service';\nimport { EventAggregator } from 'aurelia-event-aggregator';\nimport {\n autoinject,\n observable\n} from \"aurelia-framework\";\nimport { StyleService, BrowserService } from '../../framework/base/export';\nimport { IStartupInfo } from '../../zit/interfaces/export';\n\n@autoinject\nexport class LayoutService {\n private _resizeContainerTimeout: any;\n\n constructor(\n private eventAggregator: EventAggregator,\n private file: FileService,\n private style: StyleService,\n private browserService: BrowserService\n ) { \n if (browserService.isIOS) {\n this.eventAggregator.subscribe(\"window:resize\", () => {\n this.resizeContainer();\n });\n }\n }\n\n @observable isSidebarCollapsed = true;\n themeColor = \"#396394\";\n logoUrl: string;\n hintergrundUrl: string;\n\n activateTheme() {\n this.registerStartupInfoLoaded();\n\n this.style.addStyles(\"custom-container\", [{\n name: \".t--sidebar .t--sidebar-item:hover\",\n properties: [{\n propertyName: \"background-color\",\n value: this.themeColor\n }]\n }]);\n }\n isSidebarCollapsedChanged() {\n setTimeout(() => {\n this.eventAggregator.publish(\"window:resize\", {});\n }, 400);\n }\n resizeContainer() {\n if (!this.browserService.isIOS) {\n return;\n }\n\n if (this._resizeContainerTimeout) {\n clearTimeout(this._resizeContainerTimeout);\n this._resizeContainerTimeout = null;\n }\n\n this._resizeContainerTimeout = setTimeout(() => {\n const container: any = document.querySelector(\"container\");\n if (!container) {\n return;\n }\n\n container.style.minHeight = window.innerHeight + \"px\";\n window.scrollTo(0, 0);\n }, 100);\n }\n \n private registerStartupInfoLoaded() {\n this.eventAggregator.subscribe(\"startup-info:loaded\", (r) => {\n const startupInfo: IStartupInfo = r.startupInfo;\n\n this.themeColor = startupInfo.Skin.Farbe || this.themeColor;\n this.logoUrl = this.file.getInlineUrl(startupInfo.Skin.DMSLinkLogoKlein);\n this.hintergrundUrl = this.file.getInlineUrl(startupInfo.Skin.DMSLinkHintergrundbild);\n\n this.style.addStyles(\"zit--layout-theme-color\", [\n {\n name: \".z--nav-bar-item:hover .z--nav-bar-item-border-bottom, .z--nav-bar-item-selected .z--nav-bar-item-border-bottom\",\n properties: [{\n propertyName: \"background-color\",\n value: this.themeColor\n }]\n }, {\n name: \".z--button:not(.z--disabled):not(.z--button-active):hover\",\n properties: [{\n propertyName: \"border-color\",\n value: this.themeColor\n }, {\n propertyName: \"color\",\n value: this.themeColor\n }]\n }, {\n name: \"body h3, body .z--toolbar .z--toolbar-title, body .z--toolbar .z--toolbar-icon, .z--subheadline-titel, .z--theme-color\",\n properties: [{\n propertyName: \"color\",\n value: this.themeColor\n }]\n }, {\n name: \"body .z--timeline:before\",\n properties: [{\n propertyName: \"background-color\",\n value: this.themeColor\n }]\n }, {\n name: \"body .z--timeline li .z--timeline-item-icon\",\n properties: [{\n propertyName: \"border-color\",\n value: this.themeColor\n }]\n }, {\n name: \"body .z--timeline li .z--timeline-item-icon i\",\n properties: [{\n propertyName: \"color\",\n value: this.themeColor\n }]\n },\n {\n name: \"body .z--item-border-light > div\",\n properties: [\n {\n propertyName: \"border\",\n value: \"1px solid\" + this.themeColor\n }]\n },\n {\n name: \"body .dx-gallery .dx-gallery-nav-button-prev.dx-state-hover:after, body .dx-gallery .dx-gallery-nav-button-next.dx-state-hover:after, body .dx-gallery .dx-gallery-nav-button-prev.dx-state-active:after, body .dx-gallery .dx-gallery-nav-button-next.dx-state-active:after\",\n properties: [\n {\n propertyName: \"background-color\",\n value: this.themeColor\n }]\n },\n {\n name: \"body .dx-slider-range.dx-slider-range-visible\",\n properties: [\n {\n propertyName: \"background-color\",\n value: this.themeColor\n }, \n {\n propertyName: \"border-color\",\n value: this.themeColor\n }]\n },\n {\n name: \"body .dx-slider-handle, body .dx-slider .dx-state-active.dx-slider-handle, body .dx-slider .dx-state-hover.dx-slider-handle:not(.dx-state-active), body .dx-slider .dx-state-hover.dx-slider-handle:not(.dx-state-active), body .dx-slider .dx-state-focused.dx-slider-handle:not(.dx-state-active)\",\n properties: [\n {\n propertyName: \"background-color\",\n value: this.themeColor\n }]\n }\n ]);\n\n this.style.addStyles(\"zit-button-active\", [\n {\n name: \".z--button-active\",\n properties: [{\n propertyName: \"background-color\",\n value: this.themeColor\n }, {\n propertyName: \"border-color\",\n value: this.themeColor\n }],\n }, {\n name: \".z--button-active:hover\",\n properties: [{\n propertyName: \"border-color\",\n value: this.themeColor\n }]\n }\n ]);\n\n this.style.addStyles(\"zit-tag\", [\n {\n name: \".z--tag .z--tag-icon.z--clickable:hover, .z--clickable.z--tag-icon-delete:hover\",\n properties: [{\n propertyName: \"background-color\",\n value: this.themeColor + \"!important\" //zitTag InfoList auch onHover einfarben\n }]\n }\n ])\n });\n }\n}\n","import { autoinject } from \"aurelia-framework\";\nimport { RestService } from \"../../framework/base/export\";\nimport { AufgabeZuweisen } from \"../elements/aufgabe-zuweisen/aufgabe-zuweisen\";\nimport { ScopeContainer } from \"./../../framework/base/classes/scope-container\";\nimport { DataSourceService } from \"./../../framework/base/services/data-source-service\";\n\n@autoinject\nexport class AufgabeService {\n constructor(\n private _restService: RestService\n ) { }\n\n aufgabeZuweisen: AufgabeZuweisen;\n\n nav(options: INav): Promise {\n return this._restService.post({\n url: this._restService.getApiUrl(\"ZIT/Aufgabe/Nav\"),\n data: options,\n increaseLoadingCount: true\n });\n }\n\n showZuweisen(options: IAufgabeZuweisenOptions) {\n this.aufgabeZuweisen.show(options);\n }\n\n zuweisenEval(options: IZuweisenEval): Promise {\n return this._restService.post({\n url: this._restService.getApiUrl(\"ZIT/Aufgabe/ZuweisenEval\"),\n data: options,\n increaseLoadingCount: true\n });\n }\n checkZuweisen(options: ICheckZuweisen): Promise {\n return this._restService.post({\n url: this._restService.getApiUrl(\"ZIT/Aufgabe/CheckZuweisen\"),\n data: options,\n increaseLoadingCount: true\n });\n }\n zuweisen(options: IZuweisen): Promise {\n return this._restService.post({\n url: this._restService.getApiUrl(\"ZIT/Aufgabe/Zuweisen\"),\n data: options,\n increaseLoadingCount: true\n });\n }\n}\n\nexport interface IAufgabeZuweisenOptions {\n idObjektList: number[];\n}\n\nexport interface IZuweisenEval {\n IdObjektList: number[];\n}\nexport interface IZuweisenEvalResult {\n ObjektList: IZuweisenEvalObjektResult[];\n AufgabeList: [{ Code: string, Bezeichnung: string, IdAufgabengruppe: number }];\n AufgabeGruppeList: [{ Id: number, Bezeichnung: string }];\n}\nexport interface ICheckZuweisen {\n AufgabeCodeList: string[];\n ObjektList: IZuweisenEvalObjektResult[];\n}\nexport interface IZuweisen {\n AufgabeList: IZuweisenAufgabeModel[];\n ObjektList: IZuweisenEvalObjektResult[];\n}\nexport interface IZuweisenAufgabeModel {\n AufgabeCode: string;\n Start: Date;\n}\nexport interface IZuweisenEvalObjektResult {\n IdUrsprungsobjekt: number;\n IdObjekt: number;\n Typ: string;\n Bezeichnung: string;\n}\nexport interface INav {\n IdAufgabe: number;\n NavTyp: NavTyp;\n}\nexport enum NavTyp {\n Vorherige = 0,\n Naechste = 1,\n Alle = 2\n}\nexport class NavResult {\n AufgabeList: NavAufgabe[];\n}\nexport class NavAufgabe {\n Id: number;\n Bezeichnung: string;\n}\n","import { autoinject, transient } from \"aurelia-framework\";\nimport { AuthorizationService, LocalizationService, RestService } from \"../../../../../framework/base/export\";\nimport { LocationService } from \"../../../../../framework/base/services/location-service\";\nimport { FormBase } from \"../../../../../framework/forms/export\";\nimport { BrowserService } from \"./../../../../../framework/base/services/browser-service\";\nimport { ICommandData } from \"./../../../../../framework/forms/interfaces/command-data\";\nimport { DomaeneService } from \"./../../../../services/domaene-service\";\n\n@autoinject\n@transient()\nexport class PasswordResetFuncs {\n private form: FormBase;\n private NOTIFY_TIMEOUT: number = 3000;\n\n constructor(\n public browserService: BrowserService,\n private _authorizationService: AuthorizationService,\n private _localizationService: LocalizationService,\n private _restService: RestService,\n private _locationService: LocationService,\n private _domaeneService: DomaeneService) {\n const time = new Date()\n .getTime()\n .toString();\n const randomNumberString = Math.floor((Math.random() * 100))\n .toString();\n const randomKey = time + randomNumberString;\n this.logoSrc = this._restService.getApiUrl(`ZIT/Domaene/Logo?key=${randomKey}`);\n }\n\n urlImpressum: string;\n farbeDomaene: string;\n bezeichnungLoginMobil: string;\n logoSrc: string;\n isMobile: boolean;\n\n resetPasswordCommand: ICommandData = {\n id: \"$resetPassword\",\n title: \"password-reset-funcs.reset_caption\",\n execute: async () => {\n if (!this.form.models.data.$m_Password.Username) {\n DevExpress.ui.notify(this._localizationService.translateOnce(\"password-reset-funcs.enter_benutzer\"), \"error\", this.NOTIFY_TIMEOUT);\n return;\n }\n\n const r = await this._restService.post({\n url: this._restService.getApiUrl(\"ZIT/Security/PasswortVergessen\"),\n data: this.form.models.data.$m_Password,\n increaseLoadingCount: true\n });\n\n this.goBackToLogin();\n }\n };\n\n backToLoginCommand: ICommandData = {\n id: \"$backToLogin\",\n title: \"password-reset-funcs.back_to_login_caption\",\n execute: () => {\n this.goBackToLogin();\n }\n };\n\n openImpressumClick() {\n window.open(this.urlImpressum);\n }\n\n async bind(form: FormBase) {\n this.form = form;\n\n this.form.focusFirstEnabledEditor = () => {\n if (this.form[\"username\"].instance) {\n this.form[\"username\"].instance.focus();\n }\n };\n\n form.models.data.$m_Password = {\n };\n \n this.urlImpressum = this._domaeneService.urlImpressum;\n this.farbeDomaene = this._domaeneService.farbeDomaene;\n this._domaeneService.setDomainColorsStyle();\n this.bezeichnungLoginMobil = this._domaeneService.bezeichnungMobilLogin;\n }\n\n private goBackToLogin() {\n this._locationService.goTo({\n url: \"Login\",\n clearStack: true\n });\n }\n}\n","import { autoinject } from \"aurelia-framework\";\nimport { EventAggregator } from 'aurelia-event-aggregator';\nimport { FileService } from '../../framework/base/services/file-service';\n\n@autoinject\nexport class FormSelectItemService { \n constructor(\n private eventAggregator: EventAggregator,\n private file: FileService\n ) {\n this.eventAggregator.subscribe(\"form-select-item:data-loaded\", (e) => {\n this.onLoaded(e.selectItemId, e.data);\n });\n }\n\n private onLoaded(id: string, data: any[]) {\n switch (id) {\n case \"landvorwahl\": {\n this.onLandvorwahlLoaded(data);\n break;\n }\n default:\n break;\n }\n }\n private onLandvorwahlLoaded(data: any[]) {\n data.forEach(item => {\n item.DMSLinkIconFQ = this.file.getDownloadUrl(item.DMSLinkIcon);\n })\n }\n}\n","import {\n autoinject,\n singleton\n} from \"aurelia-framework\";\n\n@autoinject\n@singleton(true)\nexport class CommandServerData {\n constructor() {}\n\n add(id: string, data: any) {\n this[id] = data;\n }\n\n dispose() {\n }\n}\n","import { autoinject } from \"aurelia-framework\";\nimport { DataSourceService } from \"../../framework/base/services/data-source-service\";\nimport { ScopeContainer } from \"../../framework/base/classes/scope-container\";\n\n@autoinject\nexport class EventZeitraumService {\n constructor(\n private _dataSourceService: DataSourceService) { }\n\n createEventZeitraumDataSource(scopeContainer: ScopeContainer, getCustomWhere: { () }, getCustomFilter: {()}, orderBy?: any[]) {\n const data = this._dataSourceService.createDataSource(\n scopeContainer,\n {\n webApiAction: \"ZIT/Objekte/EventZeitraum\",\n webApiOrderBy: orderBy,\n webApiExpand: {\n Kopf: null\n }\n }, {\n getCustomWhere: getCustomWhere,\n getCustomFilters: getCustomFilter\n });\n return data;\n }\n}\n","import { autoinject } from \"aurelia-framework\";\nimport { RestService } from \"./../../framework/base/services/export\";\nimport { IBenutzerrolleCodeData } from \"../interfaces/export\";\n\n@autoinject\nexport class CodesService {\n constructor(\n private rest: RestService\n ) { }\n\n\n getObjektCodes(id: number): Promise {\n return this.rest.get({\n url: `${this.rest.getApiUrl(\"ZIT/Objekt/Codes\")}?idObjekt=${id}`\n });\n }\n getBenutzerCodes(id: number): Promise {\n return this.rest.get({\n url: `${this.rest.getApiUrl(\"ZIT/Berechtigung/Codes\")}?idBenutzer=${id}`\n });\n }\n saveObjektCodes(id: number, data: IBenutzerrolleCodeData[]) {\n return this.rest.post({\n url: `${this.rest.getApiUrl(\"ZIT/Objekt/SaveBenutzerrolleCode\")}?idObjekt=${id}`,\n data: data\n });\n }\n saveBenutzerCodes(id: number, data: IBenutzerrolleCodeData[]) {\n return this.rest.post({\n url: `${this.rest.getApiUrl(\"ZIT/Berechtigung/SaveBenutzerrolleCode\")}?idBenutzer=${id}`,\n data: data\n });\n }\n}","import { EventAggregator, Subscription } from \"aurelia-event-aggregator\";\nimport { autoinject, transient } from \"aurelia-framework\";\nimport { AuthorizationService, FileService, RestService } from \"../../../../../framework/base/export\";\nimport { LocationService } from \"../../../../../framework/base/services/location-service\";\nimport { FormBase, HistoryService } from \"../../../../../framework/forms/export\";\nimport { LoginprofilService } from \"../../../../../zit/services/loginprofil-service\";\nimport { LoginService } from \"../../services/login-service\";\nimport { BrowserService } from \"./../../../../../framework/base/services/browser-service\";\nimport { LocalizationService } from \"./../../../../../framework/base/services/localization-service\";\nimport { ICommandData } from \"./../../../../../framework/forms/interfaces/command-data\";\nimport { DomaeneService } from \"./../../../../services/domaene-service\";\n\n@autoinject\n@transient()\nexport class LoginFuncs {\n private _appChangedSubscription: Subscription;\n private _form: FormBase;\n private NOTIFY_TIMEOUT: number = 3000;\n\n constructor(\n public browserService: BrowserService,\n private _authorizationService: AuthorizationService,\n private _loginprofilService: LoginprofilService,\n private _eventAggregator: EventAggregator,\n private _fileService: FileService,\n private _restService: RestService,\n private _locationService: LocationService,\n private _historyService: HistoryService,\n private _loginService: LoginService,\n private _localizationService: LocalizationService,\n private _domaeneService: DomaeneService) {\n const time = new Date()\n .getTime()\n .toString();\n\n const randomNumberString = Math.floor((Math.random() * 100))\n .toString();\n\n const randomKey = time + randomNumberString;\n this.logoSrc = this._restService.getApiUrl(`ZIT/Domaene/Logo?key=${randomKey}`);\n this.hasSms = this._domaeneService.hasSms || false;\n\n //Kann umgestellt werden, um Wartungen anzuzeigen\n //this.showWartung = location.host == \"portal.mylehre.at\";\n this.showWartung = false;\n }\n\n urlImpressum: string;\n farbeDomaene: string;\n bezeichnungLoginMobil: string;\n logoSrc: string;\n goToUrlAfterLogin: string;\n isMobile: boolean;\n hasSms: boolean;\n hasLoginDokButton: boolean;\n showWartung: boolean;\n\n loginCommand: ICommandData = {\n id: \"$login\",\n title: \"login-form-funcs.anmelden_caption\",\n execute: () => {\n const username = this.getUsername();\n if (!username) {\n DevExpress.ui.notify(\"Bitte erfassen Sie E-Mail, Telefonnummer oder den Benutzernamen\", \"ERROR\", this.NOTIFY_TIMEOUT);\n return;\n }\n\n this.doLogin();\n }\n };\n tanAnfordernCommand: ICommandData = {\n id: \"$tan-anfordern\",\n title: \"login-form-funcs.anmeldung-sms-tan\",\n execute: async() => {\n const username = this.getUsername();\n if (!username) {\n DevExpress.ui.notify(\"Bitte erfassen Sie E-Mail, Telefonnummer oder den Benutzernamen\", \"ERROR\", this.NOTIFY_TIMEOUT);\n return;\n }\n\n await this._restService.post({\n url: this._restService.getApiUrl(\"ZIT/Security/SendTan\"),\n data: {\n Username: username\n },\n increaseLoadingCount: true\n });\n\n await this._locationService.goTo({\n url: \"Login-Tan\",\n clearStack: true,\n customOptions: {\n Username: username,\n goToUrlAfterLogin: this.goToUrlAfterLogin\n }\n });\n }\n };\n \n loginDokButtonOptions: DevExpress.ui.dxButtonOptions = {\n text: this._domaeneService.loginDokButtonText,\n width: \"100%\",\n onClick: () => {\n const url = this._fileService.getInlineUrl(this._domaeneService.dmsLinkLoginDokButton);\n window.open(url, \"_blank\");\n }\n };\n \n openPasswortVergessen() {\n this._locationService.goTo({\n url: \"Passwort-Zuruecksetzen\",\n clearStack: true\n });\n }\n\n openImpressumClick() {\n window.open(this.urlImpressum);\n }\n\n async bind(form: FormBase) {\n this._form = form;\n\n this.goToUrlAfterLogin = this._historyService.lastRequestUrl;\n\n if (this._loginService.benutzer) {\n this._form.callOnBind(() => {\n this._form.models.data.$m_login.Username = this._loginService.benutzer;\n });\n }\n\n this._form.focusFirstEnabledEditor = () => {\n if (this._form.models.data.$m_login.Username) {\n if (this._form[\"password\"].instance) {\n this._form[\"password\"].instance.focus();\n }\n } else {\n if (this._form[\"username\"].instance) {\n this._form[\"username\"].instance.focus();\n }\n }\n };\n\n this.resetLoginModel();\n this.tryLoadBenutzername();\n\n this._appChangedSubscription = this._eventAggregator.subscribeOnce(\"authorization:change-app\", (args) => {\n args.isHandled = true;\n });\n\n this.urlImpressum = this._domaeneService.urlImpressum;\n this.farbeDomaene = this._domaeneService.farbeDomaene;\n this._domaeneService.setDomainColorsStyle();\n \n this._form[\"customTitle\"] = this._domaeneService.loginHeadline || this._form.title;\n this._form[\"customSubtitle\"] = this._domaeneService.loginSubHeadline;\n this.bezeichnungLoginMobil = this._domaeneService.bezeichnungMobilLogin;\n \n this.hasLoginDokButton = !!this._domaeneService.loginDokButtonText\n && !!this._domaeneService.dmsLinkLoginDokButton;\n }\n\n unbind() {\n this._appChangedSubscription.dispose();\n }\n\n private async doLogin() {\n //TODO DXUPDATE\n const model = this._form.models.data.$m_login;\n model.Username = this.getUsername();\n model.Password = this.getPassword();\n\n const loginSuccess = await this._authorizationService.login(this._form.models.data.$m_login);\n if (!loginSuccess) {\n return;\n }\n\n const hasMoreThanOne = await this._loginprofilService.hasMultipleLoginprofil();\n\n if (hasMoreThanOne) {\n this._locationService.goTo({\n url: \"Loginprofil\",\n clearStack: true\n });\n\n if (this.goToUrlAfterLogin) {\n this._historyService.pipelineUrl = this.goToUrlAfterLogin;\n }\n } else {\n if (this.goToUrlAfterLogin) {\n this._historyService.pipelineUrl = this.goToUrlAfterLogin;\n }\n\n this._authorizationService.isLoggedInChanged(true);\n }\n }\n \n private resetLoginModel() {\n this._form.models.data.$m_login = {\n StayLoggedOn: false\n };\n }\n private async tryLoadBenutzername() {\n const activationKey = this._form?.viewItemInfo?.routeInfo?.customOptions?.activationKey;\n if (!activationKey) {\n return;\n }\n\n const result = await this._restService.post({\n url: this._restService.getApiUrl(\"ZIT/Security/AktivierungErledigtBenutzername\"),\n ignoreErrors: true,\n data: {\n CodeAktivierung: activationKey\n }\n });\n\n if (!result || !result.Benutzername) {\n return;\n }\n\n this._form.models.data.$m_login.Username = result.Benutzername;\n }\n\n private getUsername() {\n return this._form[\"username\"]\n .instance\n .element()\n .querySelector(\"input\")\n .value;\n }\n\n private getPassword() {\n return this._form[\"password\"]\n .instance\n .element()\n .querySelector(\"input\")\n .value;\n }\n}\n","import {\n autoinject,\n} from \"aurelia-framework\";\nimport {\n CustomEvent\n} from \"../classes/export\";\nimport * as mousetrap from \"mousetrap\";\nimport \"mousetrap/plugins/global-bind/mousetrap-global-bind\";\nimport { EventAggregator } from \"aurelia-event-aggregator\";\nimport { WindowService } from './window-service';\n\n@autoinject\nexport class ShortcutService {\n constructor(\n private eventAggregator: EventAggregator,\n private windowService: WindowService\n ) { }\n\n bindShortcut(sequence: string, idCommand: string | {(): void}, bindGlobal: boolean = true) {\n if (bindGlobal) {\n mousetrap.bindGlobal(sequence, e => this.fire(idCommand));\n } else {\n mousetrap.bind(sequence, e => this.fire(idCommand));\n }\n }\n\n private fire(idCommand: string | {(): void}): boolean {\n this.windowService.blurCurrentElement();\n\n if (typeof idCommand === \"function\") {\n idCommand();\n } else {\n this.eventAggregator.publish(\"shortcut:execute\", {\n idCommand: idCommand\n });\n }\n\n return false;\n }\n}\n","import {\n autoinject\n} from \"aurelia-framework\";\nimport {\n IStyleClass,\n IStyleProperty\n} from \"../interfaces/export\";\n\n@autoinject\nexport class StyleService {\n constructor() { }\n\n addStyles(key: string, styleClasses: IStyleClass[]) {\n this.removeStyleTag(key);\n\n const styleTag = document.createElement('style');\n styleTag.type = \"text/css\";\n styleTag.id = key;\n\n styleTag.appendChild(\n document.createTextNode(this.getCssClasses(styleClasses))\n );\n\n document.head.appendChild(styleTag);\n }\n removeStyleTag(key: string) {\n const styleTag = document.getElementById(key);\n\n if (styleTag){\n styleTag.parentElement.removeChild(styleTag);\n }\n }\n\n private getCssClasses(styleClasses: IStyleClass[]): string {\n return styleClasses\n .map(c => `\\n${c.name} {\\n ${this.getCssClass(c.properties)} }\\n`)\n .join(\"\");\n }\n private getCssClass(properties: IStyleProperty[]): string {\n return properties\n .map(c => `${c.propertyName}: ${c.value};\\n`)\n .join(\"\")\n }\n}","export * from \"./zit-card-options\";","export enum Terminverteilungstyp {\n Empfaenger = 0,\n Veroeffentlichen = 1\n}\n","export * from \"./zit-markers-options\";","import { StartupService } from './../../../services/startup-service';\nimport { IEditorValueChangedEventArgs } from './../../../../framework/forms/event-args/editor-value-changed';\nimport { autoinject, transient } from \"aurelia-framework\";\nimport { FormBase } from './../../../../framework/forms/classes/form-base';\nimport { RestService } from '../../../../framework/base/export';\nimport { BenutzerTyp } from '../../../enumerations/export';\n\n@autoinject\n@transient()\nexport class StelleninseratLehreKundePackageEditUtils {\n constructor(private restService: RestService, private startupService: StartupService) {\n }\n\n form: FormBase;\n\n showAdminEinstellungen = this.startupService.startupInfo.Benutzer.Benutzertyp === BenutzerTyp.Administrator;\n\n bind(form: FormBase) {\n this.form = form;\n\n form.models.onLoaded.register((args) => {\n if (args.model.id === \"$m_Stelleninserat\") {\n if (args.data.Id || args.data.Id > 0 || !args.data.Kopf) {\n return;\n }\n\n args.data.Kopf.IsAktiv = true;\n\n if (!args.data.Kopf.IdGeschaeftspartner || args.data.Kopf.IdGeschaeftspartner <= 0) {\n return;\n }\n\n this.adresseAndGoogleMapsAdresseVorbelegen(args.data.Kopf.IdGeschaeftspartner);\n }\n\n return Promise.resolve();\n });\n\n form.onEditorValueChanged.register(async (args) => {\n if (args.binding.dataContext === \"$m_Stelleninserat\") {\n if (args.binding.bindTo == \"Kopf.IdGeschaeftspartner\") {\n this.geschaeftspartnerValueChanged(args);\n }\n }\n\n return Promise.resolve();\n });\n };\n\n geschaeftspartnerValueChanged(args: IEditorValueChangedEventArgs): void {\n if (!args.value) {\n return;\n }\n\n this.adresseAndGoogleMapsAdresseVorbelegen(args.value);\n }\n\n private adresseAndGoogleMapsAdresseVorbelegen(idGeschaeftspartner: number): void {\n if (!idGeschaeftspartner) {\n return;\n }\n\n this.restService.get({\n url: `${this.restService.getApiUrl(\"ZIT/Objekt/GeschaeftspartnerStandardStandortAndGoogleMapsAdresse\")}?idGeschaeftspartner=${idGeschaeftspartner}`\n }).then(r => {\n if (!r) {\n return;\n }\n\n this.form.models.data.$m_Stelleninserat.Kopf.Standort = r.Standort;\n this.form.models.data.$m_Stelleninserat.Kopf.GoogleKartenAdresse = r.GoogleKartenAdresse;\n });\n }\n}\n","import { autoinject, TaskQueue } from \"aurelia-framework\";\nimport { EventAggregator } from \"aurelia-event-aggregator\";\nimport { ViewItem } from \"../../framework/forms/classes/view-item\";\n\n@autoinject\nexport class ContainerViewWidthService {\n constructor(\n private _eventAggregator: EventAggregator,\n private _taskQueue: TaskQueue\n ) {\n this._eventAggregator.subscribe(\"router:view-item-created\", (e) => {\n this.onViewItemCreated(e.viewItem);\n });\n this._eventAggregator.subscribe(\"router:view-animation-end\", (e) => {\n //bissele warten, damit wir nicht irgendwelche anderen Animation behindern\n this._taskQueue.queueTask(() => {\n this._eventAggregator.publish(\"grid:check-class\", {\n element: e.element\n });\n });\n });\n }\n\n private onViewItemCreated(viewItem: ViewItem) {\n switch (viewItem.moduleId) {\n case \"zit/views/dashboard/dashboard-kunde-form\":\n case \"zit/views/dashboard/dashboard-person-form\":\n case \"zit/views/suche/suche-form\":\n case \"zit/views/objekte/disposition/dispo-list-form\":\n case \"zit/views/tableau/tableau-list-form\":\n case \"zit/views/schnuppertermin/schnuppertermin-list-form\":\n case \"zit/views/entwicklungszone/entwicklungszone-list-form\":\n case \"zit/views/entwicklungsziele/entwicklungsziele-list-form\":\n case \"zit/views/objekte/event/event-list-form\":\n case \"zit/views/erklaervideo/erklaervideo-list-form\": {\n viewItem.customClassName = \"z--view-can-be-full-width\";\n break;\n }\n default: {\n break;\n }\n }\n }\n}\n","import { autoinject } from \"aurelia-framework\";\n\n@autoinject\nexport class DateiService {\n constructor() {}\n\n isBild(dateiname: string) {\n dateiname = (dateiname || \"\").toLowerCase();\n\n return dateiname.endsWith(\".jpg\")\n || dateiname.endsWith(\".jpeg\")\n || dateiname.endsWith(\".gif\")\n || dateiname.endsWith(\".png\")\n }\n}","export {\n autoinject\n} from \"aurelia-framework\";\nexport {\n FormBase\n} from \"./classes/form-base\";\nexport {\n FormBaseImport\n} from \"./classes/form-base-import\";","import { autoinject } from 'aurelia-framework';\n\n@autoinject\nexport class AsyncService {\n constructor() {}\n\n convertToPromise(p: Promise & JQueryPromise): Promise {\n return new Promise((resolve, reject) => {\n if (!p.then) {\n return resolve(p);\n }\n\n p.then(r => {\n resolve(r);\n }).catch(e => {\n reject(e);\n });\n });\n }\n}\n","import { BenutzerTyp } from './../../../enumerations/benutzer-typ';\nimport { autoinject, transient, TaskQueue } from 'aurelia-framework';\nimport { FormBase } from './../../../../framework/forms/classes/form-base';\nimport { IZitTagOptions } from '../../../../zit-ui/elements/zit-tag/export';\nimport { FileService, LocalizationService, BrowserService, RestService } from '../../../../framework/base/services/export';\nimport { ListView } from '../../../../framework/forms/elements/list-view/export';\nimport { StartupService } from './../../../services/export';\nimport { IdxSelectBoxComponent } from '../../../interfaces/export';\nimport { DateiAuswaehlen } from '../../../elements/datei-auswaehlen/datei-auswaehlen';\nimport { ICommandData, PopupInfoService } from '../../../../framework/forms/export';\nimport { Subscription, EventAggregator } from 'aurelia-event-aggregator';\n\n@autoinject\n@transient()\nexport class DokumentEditUtils {\n private _dokumentVersionChangedSubscription: Subscription;\n\n constructor(\n private _fileService: FileService,\n private _localizationService: LocalizationService,\n private _startupService: StartupService,\n private _browserService: BrowserService,\n private _taskQueue: TaskQueue,\n private _popupInfoService: PopupInfoService,\n private _eventAggregator: EventAggregator,\n private _restService: RestService\n ) { }\n\n form: FormBase;\n \n isMobil: boolean = this._browserService.isMobile;\n showExtended: boolean = false;\n informationtypFilter: any = [[\"NurBeiDokumentenuploadNutzbar\", true]];\n showDokumentZustand: boolean = this._startupService.startupInfo.Benutzer.Benutzertyp === BenutzerTyp.NatuerlichePerson;\n\n gueltigVonValidationRule: DevExpress.ui.CustomRule = {\n type: \"custom\",\n reevaluate: true,\n message: this._localizationService.translateOnce(\"forms.validator_required\", [this._localizationService.translateOnce(\"dokumente-edit.r_gueltigvon_caption\")]),\n validationCallback: (e) => {\n const isRequired = this.form.models.data.$m_InfoTyp != void 0\n && this.form.models.data.$m_InfoTyp.IsGueltigVonPflicht == true\n\n return isRequired\n ? e.value != void 0\n : true;\n }\n };\n gueltigBisValidationRule: DevExpress.ui.CustomRule = {\n type: \"custom\",\n reevaluate: true,\n message: this._localizationService.translateOnce(\"forms.validator_required\", [this._localizationService.translateOnce(\"dokumente-edit.r_gueltigbis_caption\")]),\n validationCallback: (e) => {\n const isRequired = this.form.models.data.$m_InfoTyp != void 0\n && this.form.models.data.$m_InfoTyp.IsGueltigBisPflicht == true\n\n return isRequired\n ? e.value != void 0\n : true;\n }\n };\n\n dokumentTagOptions: IZitTagOptions = {\n isClickEnabled: true,\n icon: {\n faIconExpression: `item.Zustand ? item.Zustand.TagSymbol : ''`,\n textExpression: `!item.Zustand || !item.Zustand.TagSymbol ? 'D':''`\n },\n textExpression: `(item.VorlageBezeichnung || item.Dateiname || item.Bezeichnung) | zitRestrictLength:50`,\n backgroundColorExpression: \"item.InformationsTyp.FarbeTagText\",\n infoList: [\n {\n isVisibleExpression: `item.DMSLinkDokument`,\n isClickEnabled: true,\n icon: {\n faIcon: \"fas fa-paperclip\",\n },\n onClick: (e, data) => {\n e.stopPropagation();\n this._fileService.download(data.DMSLinkDokument);\n }\n }, {\n isVisibleExpression: \"item.Id > 0 && \".concat(\n this._startupService.startupInfo.Benutzer.CanViewDokumentDetails ? \"true\" : \"false\" \n ),\n icon: {\n faIcon: \"far fa-clock\"\n },\n onClick: (e, data) => {\n e.stopPropagation();\n this.form.editPopups.show(\"dokumentVersionInformationEditPopup\", null);\n }\n }\n ],\n onClick: (e, data) => {\n e.stopPropagation();\n this._fileService.inline(data.DMSLinkDokument);\n }\n };\n unterfertigungInformationTagOptions: IZitTagOptions = {\n cssClass: \"z--tag-info-message z--tag-info-warning-message\",\n icon: {\n faIcon: \"fas fa-info-circle\",\n },\n textExpression: `\"dokument-utils.unterfertigung-info\" | tr`\n };\n\n kameraCommand: ICommandData = {\n id: \"kameraCommand\",\n icon: \"fas fa-camera\",\n tooltip: \"dokument-utils.kamera\",\n isVisibleExpression: \"functions.$f_DokumentUtils.isMobil && !models.data.$m_Dokument.Id\",\n execute: (args) => {\n this.getDateiAuswaehlen().onMakePhoto();\n }\n };\n videoCommand: ICommandData = {\n id: \"videoCommand\",\n icon: \"fas fa-video\",\n tooltip: \"dokument-utils.video\",\n isVisibleExpression: \"functions.$f_DokumentUtils.isMobil && !models.data.$m_Dokument.Id\",\n execute: (args) => {\n this.getDateiAuswaehlen().onMakeVideo();\n }\n };\n gallerieCommand: ICommandData = {\n id: \"gallerieCommand\",\n icon: \"far fa-image\",\n tooltip: \"dokument-utils.gallerie\",\n isVisibleExpression: \"functions.$f_DokumentUtils.isMobil && !models.data.$m_Dokument.Id\",\n execute: (args) => {\n this.getDateiAuswaehlen().onOpenGallery();\n }\n };\n dateiCommand: ICommandData = {\n id: \"dateiCommand\",\n icon: \"far fa-file-alt\",\n tooltip: \"dokument-utils.datei-auswaehlen\",\n isVisibleExpression: \"!functions.$f_DokumentUtils.isMobil && !models.data.$m_Dokument.Id\",\n execute: (args) => {\n this.getDateiAuswaehlen().onOpenFiles();\n }\n };\n showExtendedCommand: ICommandData = {\n id: \"showExtendedCommand\",\n icon: \"fas fa-ellipsis-v\",\n tooltip: \"dokument-utils.weitere-details\",\n isVisibleExpression: \"!functions.$f_DokumentUtils.isMobil\",\n execute: (args) => {\n this.showExtended = !this.showExtended;\n\n this._taskQueue.queueMicroTask(() => {\n const current = this._popupInfoService.getPopup(this.form);\n if (current && current.popup) {\n current.popup.repaint();\n }\n });\n }\n };\n\n bind(form: FormBase) {\n this.form = form;\n \n form.models.onLoaded.register((args) => {\n if (args.model.id == \"$m_Dokument\" && args.data) {\n if (this.form.variables.data.$v_idStelleninserat != void 0) {\n this.form.models.data.$m_Dokument.IdStelleninserat = this.form.variables.data.$v_idStelleninserat;\n }\n if (!args.data.Id) {\n if (form.variables.data.$v_dmsLinkDokument && form.variables.data.$v_dateiname) {\n args.data.DMSLinkDokument = form.variables.data.$v_dmsLinkDokument;\n args.data.Dateiname = form.variables.data.$v_dateiname;\n this.checkSchluesselbegriffe();\n } else {\n this._taskQueue.queueTask(() => {\n if (this.isMobil) {\n this.getDateiAuswaehlen().onOpenGallery();\n } else {\n this.getDateiAuswaehlen().onOpenFiles();\n }\n });\n }\n }\n\n this.checkInformationstypAllowTypes();\n }\n return Promise.resolve();\n });\n form.onValidating.register(args => {\n if (!form.models.data.$m_Dokument.DMSLinkDokument) {\n args.validationResult.isValid = false;\n args.validationResult.messages.push(\"Bitte ein Dokument auswählen\");\n }\n\n return Promise.resolve();\n });\n form.onSaved.register(args => {\n this._eventAggregator.publish(\"dokument:updated\", {\n idObjekt: form.models.data.$m_Dokument.IdObjekt\n });\n\n return Promise.resolve();\n });\n form.onDeleted.register(args => {\n this._eventAggregator.publish(\"dokument:updated\", {\n idObjekt: form.models.data.$m_Dokument.IdObjekt\n });\n\n return Promise.resolve();\n });\n form.editPopups.onEditPopupHidden.register((args) => {\n if (args.editPopup.id === \"dokumentVersionInformationEditPopup\") {\n this.refreshDokumenteListView();\n }\n return Promise.resolve();\n });\n\n this._dokumentVersionChangedSubscription = this._eventAggregator.subscribe(\"dokument:version-changed\", (e) => {\n if (this.form.variables.data.$id == e.oldId) {\n this.form.variables.data.$id = e.newId;\n }\n });\n }\n unbind() {\n this._dokumentVersionChangedSubscription.dispose();\n this._dokumentVersionChangedSubscription = null;\n }\n\n async onDateiAusgewaehlt(e: CustomEvent) {\n const file: File = e.detail.files[0];\n const model = this.form.models.data.$m_Dokument;\n\n const dmsLinkDokument = await this._fileService.upload(file);\n if (!dmsLinkDokument) {\n return;\n }\n\n model.Dateiname = file.name;\n model.DMSLinkDokument = dmsLinkDokument;\n this.checkSchluesselbegriffe();\n }\n\n private checkInformationstypAllowTypes() {\n const allowTypes: string = this.form.variables.data.$v_allowTypes;\n const isFiltered = this.informationtypFilter.length > 1;\n \n if (!allowTypes || isFiltered) {\n return;\n }\n\n const typeList = allowTypes.split(\",\");\n typeList.forEach(t =>\n this.informationtypFilter.push([\"Code\", t])\n );\n\n const selectbox: IdxSelectBoxComponent = this.form[\"r_dokumentInformationstyp\"];\n const dataSource = selectbox.instance.getDataSource();\n dataSource.filter(this.informationtypFilter);\n }\n private async checkSchluesselbegriffe() {\n const model = this.form.models.data.$m_Dokument;\n if (!model) {\n return;\n }\n if (!model.Dateiname) {\n return;\n }\n if (model.IdInformationstyp) {\n return;\n }\n\n const r = await this._restService.post({\n url: this._restService.getApiUrl(\"ZIT/Dokument/EvalDokumentInformationstyp\"),\n data: {\n ObjektTypeFullName: this.form.variables.data.$v_objektTypeFullname,\n Dateiname: model.Dateiname,\n Codes: this.form.variables.data.$v_allowTypes\n }\n });\n \n if (!r || !r.Id) {\n return;\n }\n\n model.IdInformationstyp = r.Id;\n }\n private refreshDokumenteListView() {\n const listView: ListView = this.form[\"dokumentListView\"];\n if (!listView) {\n return;\n }\n\n listView.refresh();\n }\n private getDateiAuswaehlen(): DateiAuswaehlen {\n return this.form[\"r_dateiAuswaehlen\"];\n }\n}\n","export * from \"./services/export\";","import { autoinject } from \"aurelia-framework\";\nimport { RestService } from \"./../../framework/base/services/export\";\n\n@autoinject\nexport class AnsprechpersonService {\n constructor(\n private _restService: RestService\n ) { }\n\n loadAnsprechpersonByGeschaeftspartner(idGeschaeftspartner: number, columns?: string[]): Promise {\n return this._restService.get({\n url: this._restService.getWebApiUrl(\"ZIT/Objekte/Ansprechperson\"),\n getOptions: {\n columns: columns,\n customs: [{\n key: \"IdGeschaeftspartner\",\n value: idGeschaeftspartner.toString()\n }]\n }\n });\n }\n}\n","import {\n autoinject,\n singleton\n} from \"aurelia-framework\";\nimport {\n EventAggregator\n} from \"aurelia-event-aggregator\";\nimport {\n BindingService,\n CustomEvent,\n RestService,\n ScopeContainer,\n PermissionService\n} from \"../../base/export\";\nimport {\n IModelLoadRequiredEventArgs,\n IModelLoadedEventArgs,\n IModelLoadedInterceptorEventArgs,\n IModelSavedEventArgs,\n IModelDeletedEventArgs\n} from \"../event-args/export\";\nimport {\n ModelEventService,\n ModelUtilsService\n} from \"../services/export\";\nimport {\n FormBase\n} from \"./form-base\";\nimport {\n DataSourceService\n} from \"../../base/services/data-source-service\";\nimport * as Interfaces from \"../interfaces/export\";\nimport { ObjectService } from '../../base/services/object-service';\n\n@autoinject\n@singleton(true)\nexport class Models {\n private form: FormBase;\n private info: any;\n\n constructor(\n private rest: RestService,\n private dataSource: DataSourceService,\n private binding: BindingService,\n private modelEvent: ModelEventService,\n private eventAggregator: EventAggregator,\n private modelUtils: ModelUtilsService,\n private objectService: ObjectService,\n private permissionService: PermissionService,\n public onLoadRequired: CustomEvent,\n public onLoadedInterceptor: CustomEvent,\n public onLoaded: CustomEvent,\n public onSaved: CustomEvent,\n public onDeleted: CustomEvent\n ) {\n this.onLoadRequired.waitTimeout = 10;\n\n this.data = {};\n this.info = {};\n\n this.onLoadRequired.register((args) => {\n if (!this.form.isBound) {\n return Promise.resolve();\n }\n\n if (args.model.key || args.model.autoLoad) {\n const key = this.form.binding.evaluate(this.form.scope, args.model.key);\n return this.loadModel(args.model, key);\n }\n\n return Promise.resolve();\n });\n }\n\n data: any;\n\n modelWithKeyId: Interfaces.IModel;\n\n addInfo(model: Interfaces.IModel) {\n model.keyProperty = model.keyProperty || \"Id\";\n\n this.info[model.id] = model;\n\n this.eventAggregator.publish(\"model:added\", {\n form: this.form,\n model: model\n });\n\n this.addObservers(model);\n\n if (this.isModelWithKeyId(model)) {\n this.modelWithKeyId = model;\n }\n }\n allowNew(scopeContainer: ScopeContainer, model: Interfaces.IModel): boolean {\n if (model.allowNew == void (0)) {\n return true;\n }\n\n return !!this.binding.evaluate(scopeContainer.scope, model.allowNew);\n }\n allowSave(scopeContainer: ScopeContainer, model: Interfaces.IModel): boolean {\n if (this.isModelWithKeyId(model) && model.modificationInfoEnabled) {\n const canSave = this.data[model.id]\n && this.data[model.id][\"CanSave\"];\n\n if (!canSave) {\n return false;\n }\n }\n\n if (model.allowSave == void (0)) {\n return true;\n }\n\n return !!this.binding.evaluate(scopeContainer.scope, model.allowSave);\n }\n allowDelete(scopeContainer: ScopeContainer, model: Interfaces.IModel): boolean {\n if (this.isModelWithKeyId(model) && model.modificationInfoEnabled) {\n const canDelete = this.data[model.id]\n && this.data[model.id][\"CanDelete\"];\n\n if (!canDelete) {\n return false;\n }\n }\n\n if (model.allowDelete == void (0)) {\n return true;\n }\n\n return !!this.binding.evaluate(scopeContainer.scope, model.allowDelete);\n }\n callOnLoaded(model: Interfaces.IModel, data: any) {\n this.onLoaded.fire({\n model: model,\n data: data\n });\n this.modelEvent.onLoaded.fire({\n model: model,\n data: data\n });\n }\n canNew(model: Interfaces.IModel) {\n if (!model.webApiAction) {\n return true;\n }\n\n return this.permissionService.canWebApiNew(model.webApiAction, this.form.moduleId);\n }\n canSave(model: Interfaces.IModel) {\n if (!model.webApiAction) {\n return true;\n }\n\n return this.permissionService.canWebApiModify(model.webApiAction, this.form.moduleId);\n }\n canDelete(model: Interfaces.IModel) {\n if (!model.webApiAction) {\n return true;\n }\n\n return this.permissionService.canWebApiDelete(model.webApiAction, this.form.moduleId);\n }\n createNewModelData(model: Interfaces.IModel): any {\n const data = {};\n\n data[model.keyProperty] = 0;\n\n return data;\n }\n getInfo(id: string, throwErrorIfMissing: boolean = true): Interfaces.IModel {\n const model = this.info[id];\n if (!model && throwErrorIfMissing) {\n throw new Error();\n }\n\n return model;\n }\n getModels(): Interfaces.IModel[] {\n const arr: Interfaces.IModel[] = [];\n\n for (let i in this.info) {\n arr.push(this.info[i]);\n }\n\n return arr;\n }\n getModelWithKeyId(): Interfaces.IModel {\n return this\n .getModels()\n .find(m => this.isModelWithKeyId(m));\n };\n hasChangedData(): boolean {\n for (let model of this.getModels()) {\n if (!model.postOnSave) {\n continue;\n }\n\n if (!this.data[model.id]) {\n continue;\n }\n\n if (!this.data[model.id][model.keyProperty]) {\n return true;\n }\n if (!this.modelUtils.isDirty(this.data[model.id])) {\n continue;\n }\n\n return true;\n }\n\n return false;\n }\n isModelWithKeyId(model: Interfaces.IModel): boolean {\n return model.key === \"variables.data.$id\";\n }\n loadModel(model: Interfaces.IModel, keyValue: any): Promise {\n const getOptions = this.dataSource.createGetOptions(this.form.scopeContainer, model);\n\n if (keyValue == void (0)) {\n this.data[model.id] = null;\n\n this.callOnLoaded(model, null);\n } else {\n return this.rest.get({\n url: this.rest.getWebApiUrl(`${model.webApiAction}/${keyValue}`),\n getOptions,\n moduleId: this.form.moduleId,\n increaseLoadingCount: true\n }).then(r => {\n if (this.modelWithKeyId == model) {\n this.transferValuesFromRouteInfo(r);\n }\n\n this.onLoadedInterceptor.fire({\n model: model,\n data: r\n });\n\n this.data[model.id] = r;\n\n this.callOnLoaded(model, r);\n });\n }\n }\n loadModelWithKeyId(): Promise {\n const model = this.modelWithKeyId;\n if (!model) {\n return Promise.resolve();\n }\n\n const key = this.form.variables.data.$id;\n return this.loadModel(model, key);\n }\n async reloadAll(): Promise {\n const loadInfo = {};\n\n for (let m of this.getModels()) {\n loadInfo[m.id] = false;\n }\n\n const loadDependent = async (model: Interfaces.IModel) => {\n const prefix = `models.data.${model.id}`;\n const next: Interfaces.IModel[] = [];\n\n for (let m of this.getModels()) {\n if (!m.key || !m.key.startsWith(prefix)) {\n continue;\n }\n if (loadInfo[m.id]) {\n continue;\n }\n\n await this.onLoadRequired.fire({\n model: m\n }, 0);\n\n loadInfo[m.id] = true;\n next.push(m);\n }\n\n for (let n of next) {\n await loadDependent(n);\n }\n }\n\n if (this.modelWithKeyId) {\n await this.onLoadRequired.fire({\n model: this.modelWithKeyId\n }, 0);\n\n loadInfo[this.modelWithKeyId.id] = true;\n loadDependent(this.modelWithKeyId);\n }\n\n for (let m of this.getModels()) {\n if (loadInfo[m.id]) {\n continue;\n }\n\n await this.onLoadRequired.fire({\n model: m\n }, 0);\n\n loadInfo[m.id] = true;\n }\n }\n registerForm(form: FormBase) {\n if (this.form) {\n throw new Error(\"Form was already registered\");\n }\n\n this.form = form;\n }\n setDataChanged(model: Interfaces.IModel) {\n if (!this.data[model.id]) {\n return;\n }\n\n this.modelUtils.setDirty(this.data[model.id]);\n }\n\n save(): Promise {\n const promiseArr = this.getModels()\n .filter(m => m.postOnSave && this.data[m.id])\n .map(m => {\n\n let method = \"post\";\n\n if (!this.data[m.id][m.keyProperty]) {\n method = \"put\";\n }\n\n const promise = this.rest[method]({\n url: this.rest.getWebApiUrl(m.webApiAction),\n moduleId: this.form.moduleId,\n data: this.data[m.id],\n increaseLoadingCount: true,\n getOptions: this.dataSource.createGetOptions(this.form.scopeContainer, m)\n }).then(r => {\n this.data[m.id] = r;\n\n if (m.key && m.key === \"variables.data.$id\") {\n this.form.variables.data.$id = r[m.keyProperty];\n }\n\n this.onSaved.fire({\n model: m,\n data: r\n });\n this.modelEvent.onSaved.fire({\n model: m,\n data: r\n });\n\n this.callOnLoaded(m, r);\n });\n\n return promise;\n });\n\n return Promise\n .all(promiseArr)\n .then(() => {\n return this.form.nestedForms.getNestedForms().map(f => f.models.save());\n });\n }\n delete(): Promise {\n const promiseArr = this.getModels()\n .filter(m => m.postOnSave && this.data[m.id] && this.data[m.id][m.keyProperty])\n .map(m => {\n const data = this.data[m.id];\n\n const promise = this.rest.delete({\n url: this.rest.getWebApiUrl(m.webApiAction),\n id: data[m.keyProperty],\n moduleId: this.form.moduleId,\n increaseLoadingCount: true\n }).then(() => {\n this.modelUtils.clearDirty(data);\n\n this.onDeleted.fire({\n model: m,\n data: data\n });\n this.modelEvent.onDeleted.fire({\n model: m,\n data: data\n });\n\n return Promise.resolve();\n });\n\n return promise;\n });\n\n return Promise.all(promiseArr)\n .then(() => {\n return this.form.nestedForms.getNestedForms().map(f => f.models.delete());\n });\n }\n\n dispose() {\n this.onDeleted.dispose();\n this.onLoaded.dispose();\n this.onLoadedInterceptor.dispose();\n this.onLoadRequired.dispose();\n this.onSaved.dispose();\n }\n\n private addObservers(model: Interfaces.IModel) {\n this.addObserversDetail(model, model.key, true);\n\n this.dataSource.addObservers(this.form.scopeContainer, model, () => {\n this.onLoadRequired.fire({\n model\n });\n });\n }\n private addObserversDetail(model: Interfaces.IModel, expression: string, checkKeyProperty: boolean) {\n if (expression == void (0)) {\n return;\n }\n\n this.form.binding.observe({\n scopeContainer: this.form.scopeContainer,\n expression: expression, \n callback: (newValue, oldValue) => {\n this.onLoadRequired.fire({\n model\n });\n }\n });\n }\n private transferValuesFromRouteInfo(data: any) {\n if (!this.form.viewItemInfo) {\n return;\n }\n if (!this.form.viewItemInfo.routeInfo) {\n return;\n }\n if (data[this.modelWithKeyId.keyProperty]) {\n return;\n }\n\n const setValues = this.form.viewItemInfo.routeInfo.setValuesOnModelWithKeyIdLoaded;\n if (!setValues) {\n return;\n }\n\n for (let key in setValues) {\n this.objectService.setValue(data, key, setValues[key]);\n }\n }\n}\n","import {\n autoinject\n} from \"aurelia-framework\";\nimport {\n FormBase\n} from \"../classes/form-base\";\nimport {\n SimpleWidgetCreatorService\n} from \"./simple-widget-creator-service\";\nimport {\n DataGridWidgetCreatorService\n} from \"./data-grid-widget-creator-service\";\nimport {\n ListViewWidgetCreatorService\n} from \"./list-view-widget-creator-service\";\nimport {\n ListWidgetCreatorService\n} from \"./list-widget-creator-service\";\nimport * as WidgetOptions from \"../widget-options/export\";\n\n@autoinject\nexport class WidgetCreatorService {\n constructor(\n private simpleWidgetCreator: SimpleWidgetCreatorService,\n private dataGridWidgetCreator: DataGridWidgetCreatorService,\n private listWidgetCreator: ListWidgetCreatorService,\n private listViewWidgetCreator: ListViewWidgetCreatorService\n ) { }\n\n addAccordion(form: FormBase, options: WidgetOptions.IAccordionOptions) {\n form.callOnBind(() => {\n this.simpleWidgetCreator.addAccordion(form, options);\n });\n }\n addCalendar(form: FormBase, options: WidgetOptions.ICalendarOptions) {\n form.callOnBind(() => {\n this.simpleWidgetCreator.addCalendar(form, options);\n });\n }\n addCheckBox(form: FormBase, options: WidgetOptions.ICheckBoxOptions) {\n form.callOnBind(() => {\n this.simpleWidgetCreator.addCheckBox(form, options);\n });\n }\n addColorBox(form: FormBase, options: WidgetOptions.IColorBoxOptions) {\n form.callOnBind(() => {\n this.simpleWidgetCreator.addColorBox(form, options);\n });\n }\n addCommand(form: FormBase, options: WidgetOptions.ICommandElementOptions) {\n form.callOnBind(() => {\n this.simpleWidgetCreator.addCommand(form, options);\n });\n }\n addDateBox(form: FormBase, options: WidgetOptions.IDateBoxOptions) {\n form.callOnBind(() => {\n this.simpleWidgetCreator.addDateBox(form, options)\n });\n }\n addDataGrid(form: FormBase, options: WidgetOptions.IDataGridOptions) {\n form.callOnBind(() => {\n this.dataGridWidgetCreator.addDataGrid(form, options);\n });\n }\n addFileUploaderWithViewer(form: FormBase, options: WidgetOptions.IFileUploaderWithViewerOptions) {\n form.callOnBind(() => {\n this.simpleWidgetCreator.addFileUploaderWithViewer(form, options);\n });\n }\n addHtmlEditor(form: FormBase, options: WidgetOptions.IHtmlEditorOptions) {\n form.callOnBind(() => {\n this.simpleWidgetCreator.addHtmlEditor(form, options);\n });\n }\n addInclude(form: FormBase, options: WidgetOptions.IIncludeOptions) {\n form.callOnBind(() => {\n this.simpleWidgetCreator.addInclude(form, options);\n });\n }\n addList(form: FormBase, options: WidgetOptions.IListOptions) {\n form.callOnBind(() => {\n this.listWidgetCreator.addList(form, options);\n });\n }\n addListView(form: FormBase, options: WidgetOptions.IListViewOptions) {\n form.callOnBind(() => {\n this.listViewWidgetCreator.addListView(form, options);\n });\n }\n addLookup(form: FormBase, options: WidgetOptions.ISelectOptions) {\n form.callOnBind(() => {\n this.simpleWidgetCreator.addLookup(form, options);\n });\n }\n addNumberBox(form: FormBase, options: WidgetOptions.INumberBoxOptions) {\n form.callOnBind(() => {\n this.simpleWidgetCreator.addNumberBox(form, options);\n });\n }\n addPopover(form: FormBase, options: WidgetOptions.IPopoverOptions) {\n form.callOnBind(() => {\n this.simpleWidgetCreator.addPopover(form, options);\n });\n }\n addPopup(form: FormBase, options: WidgetOptions.IPopupOptions) {\n form.callOnBind(() => {\n this.simpleWidgetCreator.addPopup(form, options);\n });\n }\n addRadioGroup(form: FormBase, options: WidgetOptions.ISelectOptions) {\n form.callOnBind(() => {\n this.simpleWidgetCreator.addRadioGroup(form, options);\n });\n }\n addTab(form: FormBase, options: WidgetOptions.ITabOptions) {\n form.callOnBind(() => {\n this.simpleWidgetCreator.addTab(form, options);\n });\n }\n addSelectBox(form: FormBase, options: WidgetOptions.ISelectOptions) {\n form.callOnBind(() => {\n this.simpleWidgetCreator.addSelectBox(form, options);\n });\n }\n addTagBox(form: FormBase, options: WidgetOptions.ITagBoxOptions) {\n form.callOnBind(() => {\n this.simpleWidgetCreator.addTagBox(form, options);\n });\n }\n addTextBox(form: FormBase, options: WidgetOptions.ITextBoxOptions) {\n form.callOnBind(() => {\n this.simpleWidgetCreator.addTextBox(form, options);\n });\n }\n addTextArea(form: FormBase, options: WidgetOptions.ITextAreaOptions) {\n form.callOnBind(() => {\n this.simpleWidgetCreator.addTextArea(form, options);\n });\n }\n addValidationGroup(form: FormBase, options: WidgetOptions.IValidationGroupOptions) {\n form.callOnBind(() => {\n this.simpleWidgetCreator.addValidationGroup(form, options);\n });\n }\n}\n","export default __webpack_public_path__ + \"eb43eb258dbdb6ebbc87d998b2f1ea94.jpg\";","import {\n autoinject\n} from \"aurelia-framework\";\n\nimport * as enumItems from \"../../../framework-data/enum-items.json\";\n\n@autoinject\nexport class EnumItemService {\n\n constructor() {}\n\n getDisplayText(typeName: string, key: string): string {\n const type = enumItems[typeName];\n if (!type) {\n return \"n/a\";\n }\n\n const item = type[key];\n if (item == void(0)) {\n return \"n/a\";\n }\n\n return item;\n }\n}","import { BrowserService, LocalizationService } from '../../base/export';\nimport { TaskQueue, autoinject } from 'aurelia-framework';\nimport * as DxLoader from \"../../dx/dx-loader\";\n\n@autoinject\nexport class DialogConfirmService {\n constructor(\n private browserService: BrowserService,\n private taskQueue: TaskQueue,\n private localizationService: LocalizationService\n ) { }\n\n show(options: IDialogConfirmOptions): Promise {\n let returnTrueFalse = false;\n \n if (!options.buttons || options.buttons.length == 0) {\n options.buttons = [{\n id: \"yes\",\n text: this.localizationService.translateOnce(\"base.yes\")\n }, {\n id: \"no\",\n text: this.localizationService.translateOnce(\"base.no\")\n }];\n\n returnTrueFalse = true;\n }\n\n return new Promise((resolve, reject) => {\n if (this.browserService.isMobile) {\n const actionSheet = document.createElement(\"div\");\n document.body.appendChild(actionSheet);\n\n const instance: DevExpress.ui.dxActionSheet = DxLoader.createInstance(\"dxActionSheet\", actionSheet, {\n title: options.message,\n showCancelButton: false,\n onOptionChanged: (e) => {\n if (e.name == \"visible\" && !e.value) {\n this.taskQueue.queueTask(() => {\n e.component.dispose();\n document.body.removeChild(actionSheet);\n });\n }\n },\n dataSource: options.buttons.map(button => {\n return {\n text: button.text,\n onClick: () => {\n if (button.onClick) {\n button.onClick();\n }\n\n if (returnTrueFalse && button.id == \"yes\") {\n resolve(true);\n } else if (returnTrueFalse && button.id == \"no\") {\n resolve(false);\n } else {\n resolve(button.id);\n }\n }\n };\n })\n }).show();\n } else {\n DevExpress.ui.dialog.custom({\n messageHtml: options.message,\n title: options.title,\n buttons: options.buttons.map(button => {\n return {\n text: button.text,\n onClick: () => {\n if (button.onClick) {\n button.onClick();\n }\n\n if (returnTrueFalse && button.id == \"yes\") {\n resolve(true);\n } else if (returnTrueFalse && button.id == \"no\") {\n resolve(false);\n } else {\n resolve(button.id);\n }\n }\n }\n })\n }).show();\n }\n });\n }\n}\n\nexport interface IDialogConfirmOptions {\n title: string;\n message: string;\n buttons?: IDialogConfirmButton[];\n}\nexport interface IDialogConfirmButton {\n id: string;\n text: string;\n onClick?: { (): void };\n}\n","module.exports = \"
\";","import { autoinject } from \"aurelia-framework\";\nimport { RestService } from \"./../../framework/base/services/export\";\n\n@autoinject\nexport class ZustandService {\n constructor(\n private _restService: RestService\n ) { }\n\n getFolgezustandTerminEmpf(keys: number[]): Promise {\n if (!keys || !keys.length) {\n return;\n }\n\n return this._restService.post({\n url: this._restService.getApiUrl(\"ZIT/Zustand/ZustandFolgeZustand\"),\n data: keys,\n increaseLoadingCount: true\n });\n }\n getZustandList(bereich: ZustandBereich, status?: ZustandStatus): Promise {\n const where: any[] = [[\"Bereich\", bereich]];\n\n if (status != void(0)) {\n where.push([\"Status\", status]);\n }\n\n return this._restService.get({\n url: this._restService.getWebApiUrl(\"ZIT/Stammdaten/Zustand\"),\n getOptions: {\n where: where,\n orderBy: [{columnName: \"SortNr\", sortOrder: 0}, {columnName: \"Bezeichnung\", sortOrder: 0}]\n }\n });\n }\n}\n\nexport interface IZustand {\n Id: number;\n Code: string;\n Bezeichnung: string;\n Bereich: ZustandBereich;\n Status: ZustandStatus;\n Farbe: string;\n TagSymbol: string;\n SortNr: number;\n}\nexport enum ZustandBereich {\n Information = 0,\n Fragebogen = 1,\n Dokument = 2,\n PersonenzuteilungCheckIn = 3,\n PersonenzuteilungFragebogenArbeitssicherheit = 4,\n PersonenzuteilungEinsatzpapiere = 5,\n TerminBestaetigungGeschaeftspartner = 6,\n TerminEmpfaengerStatus = 7\n}\nexport enum ZustandStatus {\n Offen = 0,\n ErledigtPositiv = 1,\n ErledigtNegativ = 2\n}","import { autoinject, transient } from \"aurelia-framework\";\nimport { RestService } from \"../../../../../framework/base/export\";\nimport { AuthorizationService } from \"../../../../../framework/base/services/authorization-service\";\nimport { LocationService } from \"../../../../../framework/base/services/location-service\";\nimport { FormBase } from \"../../../../../framework/forms/export\";\nimport { IdxSelectBoxComponent } from \"../../../../../zit/interfaces/export\";\nimport { LoginprofilService } from \"../../../../../zit/services/loginprofil-service\";\nimport { BrowserService } from \"./../../../../../framework/base/services/browser-service\";\nimport { LocalizationService } from \"./../../../../../framework/base/services/localization-service\";\nimport { ICommandData } from \"./../../../../../framework/forms/interfaces/command-data\";\nimport { DomaeneService } from \"./../../../../services/domaene-service\";\n\n@autoinject\n@transient()\nexport class LoginprofilFuncs {\n private form: FormBase;\n private NOTIFY_TIMEOUT: number = 3000;\n\n constructor(\n public browserService: BrowserService,\n private _authorizationService: AuthorizationService,\n private _localizationService: LocalizationService,\n private _loginprofilService: LoginprofilService,\n private _restService: RestService,\n private _locationService: LocationService,\n private _domaeneService: DomaeneService,\n private _browserService: BrowserService) {\n const time = new Date()\n .getTime()\n .toString();\n const randomNumberString = Math.floor((Math.random() * 100))\n .toString();\n const randomKey = time + randomNumberString;\n this.logoSrc = this._restService.getApiUrl(`ZIT/Domaene/Logo?key=${randomKey}`);\n }\n\n urlImpressum: string;\n farbeDomaene: string;\n bezeichnungLoginMobil: string;\n logoSrc: string;\n isMobile: boolean;\n\n requiredValidationRule = {\n type: \"required\",\n message: this._localizationService.translateOnce(\"zit-ui.login-loginprofil-pflicht\")\n };\n\n loginprofilCommand: ICommandData = {\n id: \"loginprofil\",\n title: \"zit-ui.login-loginprofil-uebernehmen\",\n execute: async () => {\n const id = this.form.models.data.$m_Loginprofil.Id;\n\n const validationResult = this.form.createValidationResult();\n await this.form.validate(validationResult);\n\n if (!validationResult.isValid) {\n return;\n }\n\n this._loginprofilService.setLoginProfil(id, false)\n .then((r) => {\n this._authorizationService.isLoggedInChanged(true);\n DevExpress.ui.notify(this._localizationService.translateOnce(\"zit-ui.login-anmeldung-erfolgreich\"), \"SUCCESS\", this.NOTIFY_TIMEOUT);\n })\n .catch((r) => {\n DevExpress.ui.notify(this._localizationService.translateOnce(\"zit-ui.login-anmeldung-nicht-erfolgreich\"), \"ERROR\", this.NOTIFY_TIMEOUT);\n });\n }\n };\n zuerueckCommand: ICommandData = {\n id: \"zuerueckZuLogin\",\n title: \"zit-ui.login-loginprofil-zuerueck\",\n execute: () => {\n this._locationService.goTo({\n url: \"Login\",\n clearStack: true\n });\n }\n };\n\n openImpressumClick() {\n window.open(this.urlImpressum);\n }\n\n async bind(form: FormBase) {\n this.form = form;\n\n this.focusFirstEditor();\n this.resetLoginprofilModel();\n\n this.urlImpressum = this._domaeneService.urlImpressum;\n this.farbeDomaene = this._domaeneService.farbeDomaene;\n this._domaeneService.setDomainColorsStyle();\n this.bezeichnungLoginMobil = this._domaeneService.bezeichnungMobilLogin;\n }\n\n private focusFirstEditor() {\n this.form.onReady.register((args) => {\n const selectBox: IdxSelectBoxComponent = this.form[\"r_loginprofil\"];\n\n selectBox.instance.focus();\n\n return Promise.resolve();\n });\n }\n private resetLoginprofilModel() {\n this.form.models.data.$m_Loginprofil = {\n Id: null\n };\n }\n}\n","import { autoinject, transient } from \"aurelia-framework\";\nimport { FormBase } from \"../../../../framework/forms/classes/form-base\";\nimport { GlobalizationService } from \"./../../../../framework/base/services/globalization-service\";\nimport { IZitTagOptions } from \"./../../../../zit-ui/elements/zit-tag/zit-tag-options\";\nimport { InformationService } from \"./../../../services/information-service\";\n\n@transient()\n@autoinject\nexport class InformationReadUtils {\n constructor(\n private _informationService: InformationService,\n private _globalizationService: GlobalizationService\n ) { }\n\n form: FormBase;\n\n ueberschriftTagOptions: IZitTagOptions = {\n icon: {\n text: \"Ü\"\n },\n textExpression: `item.Ueberschrift`\n };\n\n zeitraumTagOptions: IZitTagOptions = {\n isClickEnabled: false,\n textExpression: `functions.$f_InformationReadUtils.datumTagString(item)`,\n icon: {\n faIcon: \"far fa-calendar-alt\"\n }\n };\n\n geschaeftspartnerTagOptions: IZitTagOptions = {\n icon: {\n text: \"U\"\n },\n textExpression: `item.DetailGeschaeftspartner`\n };\n\n personTagOptions: IZitTagOptions = {\n icon: {\n text: \"P\"\n },\n textExpression: `item.DetailPerson`\n };\n\n linkTagOptions: IZitTagOptions = {\n icon: {\n faIcon: \"fas fa-external-link-square-alt\"\n },\n text: \"${item.Kopf.LinkUrl}\",\n onClick: (e, data) => {\n window.open(data.Kopf.LinkUrl, \"_blank\");\n }\n };\n\n bind(form: FormBase) {\n this.form = form;\n }\n\n datumTagString(item: any): string {\n if (!item) {\n return \"\";\n }\n\n if (!item.ZeitraumVon) {\n return this._globalizationService.format(item.Zeitpunkt, \"DT_DD.MM.YYYY (dd)\")\n .toUpperCase();\n }\n\n if (!item.ZeitraumBis || item.ZeitraumVon.getTime() == item.ZeitraumBis.getTime()) {\n return this._globalizationService.format(item.ZeitraumVon, \"DT_DD.MM.YYYY (dd)\")\n .toUpperCase();\n }\n\n return this._globalizationService.format(item.ZeitraumVon, \"DT_DD.MM.YYYY (dd)\")\n .toUpperCase()\n + \" - \"\n + this._globalizationService.format(item.ZeitraumBis, \"DT_DD.MM.YYYY (dd)\")\n .toUpperCase();\n }\n}\n","export { AdresseService } from './adresse-service';\nexport { CodesService } from './codes-service';\nexport { CustomEditPopupService } from './custom-edit-popup-service';\nexport { DownloadService } from \"./download-service\";\nexport { ErweiterteSucheService } from './erweiterte-suche-service';\nexport { DispoPlanstelleService } from './dispo-planstelle-service';\nexport { LoginprofilEinstellungenService } from './loginprofil-einstellungen-service';\nexport { LoginprofilService } from './loginprofil-service';\nexport { MarkerService } from './marker-service';\nexport { ObjektExportEigenschaftService } from './objekt-export-eigenschaft-service';\nexport { ObjektInfoService } from './objekt-info-service';\nexport { PersonService } from './person-service';\nexport { StaatService } from './staat-service';\nexport { StartupService } from './startup-service';\nexport { StatusService } from './status-service';\nexport { StelleninseratService } from './stelleninserat-service';\nexport { SucheService } from './suche-service';\nexport { TemplateRegisterService } from './template-register-service';\nexport { ValidationExService } from './validation-ex-service';\nexport { FormSelectItemService } from \"./form-select-item-service\";\nexport { GeschaeftspartnerService } from \"./geschaeftspartner-service\";\nexport { AnsprechpersonService } from \"./ansprechperson-service\";\nexport { ContainerViewWidthService } from \"./container-view-width-service\";\nexport { BerechtigungService } from \"./berechtigung-service\";\nexport { DashboardService } from \"./dashboard-service\";\nexport { DokumentService } from \"./dokument-service\";\nexport { UpdateHinweisService } from \"./update-hinweis-service\";\nexport { FormRefreshService } from \"./form-refresh-service\";\n","import {\n autoinject, TemplatingEngine, TaskQueue\n} from \"aurelia-framework\";\nimport {\n FormBase\n} from \"../classes/form-base\";\nimport {\n CommandService,\n DefaultCommandsService,\n PopupInfoService,\n SelectItemService,\n ToolbarService,\n ValidationService,\n SettingService\n} from \"../services/export\";\nimport {\n DataSourceService,\n GlobalizationService,\n LocalizationService,\n RestService\n} from \"../../base/services/export\";\nimport {\n BaseWidgetCreatorService\n} from \"./base-widget-creator-service\";\nimport {\n ICommandData,\n IUpdateablePopupOptions\n} from \"../interfaces/export\";\nimport * as WidgetOptions from \"../widget-options/export\";\nimport * as DxLoader from \"../../dx/dx-loader\";\nimport { HtmlEditorService } from '../services/html-editor-service';\n\n@autoinject\nexport class SimpleWidgetCreatorService {\n constructor(\n private baseWidgetCreator: BaseWidgetCreatorService,\n private dataSource: DataSourceService,\n private globalization: GlobalizationService,\n private localization: LocalizationService,\n private toolbar: ToolbarService,\n private defaultCommands: DefaultCommandsService,\n private validation: ValidationService,\n private selectItem: SelectItemService,\n private popupInfo: PopupInfoService,\n private command: CommandService,\n private setting: SettingService,\n private templatingEngine: TemplatingEngine,\n private taskQueue: TaskQueue,\n private htmlEditorService: HtmlEditorService\n ) { }\n\n addAccordion(form: FormBase, options: WidgetOptions.IAccordionOptions) {\n this.baseWidgetCreator.createWidgetOptions(form, options);\n }\n addCalendar(form: FormBase, options: WidgetOptions.ICalendarOptions) {\n this.createEditorOptions(form, options);\n }\n addCheckBox(form: FormBase, options: WidgetOptions.ICheckBoxOptions) {\n const editorOptions: DevExpress.ui.dxCheckBoxOptions = this.createEditorOptions(form, options);\n\n if (this.setting.instance.IsLabelBeforeEditor) {\n editorOptions.text = \" \";\n } else {\n editorOptions.text = this.localization.translateOnce(options.caption, form.scopeContainer);\n }\n\n editorOptions;\n }\n addColorBox(form: FormBase, options: WidgetOptions.IColorBoxOptions) {\n const editorOptions: DevExpress.ui.dxColorBoxOptions = this.createEditorOptions(form, options);\n\n if (options.editAlphaChannel) {\n editorOptions.editAlphaChannel = options.editAlphaChannel;\n }\n\n editorOptions;\n }\n addDateBox(form: FormBase, options: WidgetOptions.IDateBoxOptions) {\n const editorOptions: DevExpress.ui.dxDateBoxOptions = this.createEditorOptions(form, options);\n\n if (options.min) {\n editorOptions.min = options.min;\n } else {\n editorOptions.min = new Date(1800, 0, 1);\n }\n\n if (options.max) {\n editorOptions.max = options.max;\n }\n if (options.format) {\n editorOptions.displayFormat = this.globalization.getFormatterParser(options.format);\n\n switch (options.format.toLowerCase()) {\n case \"t\": {\n editorOptions.type = \"time\";\n break;\n }\n case \"g\": {\n editorOptions.type = \"datetime\";\n break;\n }\n default: {\n break;\n }\n }\n }\n }\n addCommand(form: FormBase, options: WidgetOptions.ICommandElementOptions) {\n let command: ICommandData;\n\n if (options.binding.dataContext) {\n command = form.commandServerData[`${options.binding.dataContext};${options.binding.bindTo}`];\n } else {\n command = form.binding.evaluate(form.scope, options.binding.bindToFQ);\n }\n\n const buttonOptions: DevExpress.ui.dxButtonOptions = {};\n buttonOptions.text = this.localization.translateOnce(command.title, form.scopeContainer);\n buttonOptions.hint = this.localization.translateOnce(command.tooltip, form.scopeContainer);\n buttonOptions.width = \"100%\";\n buttonOptions.onClick = (a: any) => {\n if (typeof command.execute === \"function\") {\n command.execute({\n event: a.event\n });\n } else if (typeof command.execute === \"string\") {\n form.binding.evaluate(form.scope, command.execute);\n } else {\n throw new Error();\n }\n };\n\n form[options.options.optionsName] = buttonOptions;\n }\n addFileUploaderWithViewer(form: FormBase, options: WidgetOptions.IFileUploaderWithViewerOptions) {\n const widgetOptions = this.createEditorOptions(form, options);\n\n widgetOptions.acceptType = options.acceptType;\n widgetOptions.acceptTypeEnum = options.acceptTypeEnum;\n widgetOptions.caption = options.caption;\n widgetOptions.height = options.height;\n widgetOptions.iconDownload = options.iconDownload;\n widgetOptions.iconDownloadExpression = options.iconDownloadExpression;\n widgetOptions.placeholderIcon = options.placeholderIcon;\n widgetOptions.placeholderIconExpression = options.placeholderIconExpression;\n widgetOptions.placeholderImage = options.placeholderImage;\n widgetOptions.placeholderImageExpression = options.placeholderImageExpression;\n widgetOptions.placeholderImageText = options.placeholderImageText;\n widgetOptions.showViewer = options.showViewer;\n widgetOptions.tooltip = options.tooltip;\n widgetOptions.maxFileSizeMB = options.maxFileSizeMB;\n widgetOptions.caption = options.caption;\n widgetOptions.showToolbar = options.showToolbar;\n widgetOptions.showClearButton = options.showClearButton;\n\n //Werte aus erstellten Options nehmen, da diese ggf. erweitert wurden\n widgetOptions.isDisabled = widgetOptions.disabled;\n if (widgetOptions.bindingOptions.disabled != void (0)) {\n widgetOptions.isDisabledExpression = widgetOptions.bindingOptions.disabled;\n }\n\n widgetOptions.isReadOnly = widgetOptions.readOnly;\n if (widgetOptions.bindingOptions.readOnly != void (0)) {\n widgetOptions.isReadOnlyExpression = widgetOptions.bindingOptions.readOnly;\n }\n }\n addHtmlEditor(form: FormBase, options: WidgetOptions.IHtmlEditorOptions) {\n const editorOptions: DevExpress.ui.dxHtmlEditorOptions = this.createEditorOptions(form, options);\n this.htmlEditorService.configureHtmlEditor(form.scopeContainer, options, editorOptions);\n }\n addInclude(form: FormBase, options: WidgetOptions.IIncludeOptions) {\n }\n addLookup(form: FormBase, options: WidgetOptions.ISelectOptions) {\n const editorOptions: DevExpress.ui.dxLookupOptions = this.createEditorOptions(form, options);\n const selectItem = this.selectItem.getSelectItem(options.idSelect);\n\n this.addDataExpressionOptions(form, options, editorOptions, selectItem);\n\n if (editorOptions.closeOnOutsideClick == void (0)) {\n editorOptions.closeOnOutsideClick = true;\n }\n\n editorOptions.title = this.localization.translateOnce(\"forms.lookup_selectItem\");\n\n if (selectItem.searchMode) {\n editorOptions.searchMode = selectItem.searchMode;\n }\n\n if (selectItem.titleTemplateName) {\n editorOptions.titleTemplate = selectItem.titleTemplateName;\n }\n if (selectItem.fieldTemplateName) {\n editorOptions.fieldTemplate = selectItem.fieldTemplateName;\n }\n if (selectItem.itemTemplateName) {\n editorOptions.itemTemplate = selectItem.itemTemplateName;\n }\n }\n addNumberBox(form: FormBase, options: WidgetOptions.INumberBoxOptions) {\n const editorOptions: DevExpress.ui.dxNumberBoxOptions = this.createEditorOptions(form, options);\n\n if (options.format) {\n editorOptions.format = this.globalization.getNumberFormat(options.format);\n }\n if (options.showClearButton) {\n editorOptions.showClearButton = true;\n }\n if (options.showSpinButtons) {\n editorOptions.showSpinButtons = true;\n }\n if (options.max != void (0)) {\n editorOptions.max = options.max;\n }\n if (options.min != void (0)) {\n editorOptions.min = options.min;\n }\n if (options.step) {\n editorOptions.step = options.step;\n }\n }\n addPopover(form: FormBase, options: WidgetOptions.IPopoverOptions) {\n const widgetOptions: DevExpress.ui.dxPopoverOptions = this.baseWidgetCreator.createWidgetOptions(form, options);\n\n widgetOptions.contentTemplate = \"contentTemplate\";\n\n if (options.caption) {\n widgetOptions.title = this.localization.translateOnce(options.caption);\n }\n }\n addPopup(form: FormBase, options: WidgetOptions.IPopupOptions, registerPopupInfo: boolean = true) {\n const widgetOptions: DevExpress.ui.dxPopupOptions = this.baseWidgetCreator.createWidgetOptions(form, options);\n const idToolbar = `${options.id}Toolbar`;\n\n widgetOptions.showCloseButton = false;\n widgetOptions.contentTemplate = \"contentTemplate\";\n widgetOptions.titleTemplate = (container: Element) => {\n\n const toolbar = document.createElement(\"toolbar\");\n toolbar.setAttribute(\"options.bind\", idToolbar);\n container.appendChild(toolbar);\n\n const view = this.templatingEngine.enhance({\n element: toolbar,\n bindingContext: form.scopeContainer.scope.bindingContext,\n overrideContext: form.scopeContainer.scope.overrideContext\n });\n\n const dxEventOn: any = DevExpress.events.on;\n dxEventOn(toolbar, \"dxremove\", () => {\n view.unbind();\n view.detached();\n });\n };\n\n let onInitialized = widgetOptions.onInitialized;\n\n widgetOptions.onInitialized = (e) => {\n if (onInitialized) {\n onInitialized(e);\n }\n onInitialized = null;\n\n const component = e.component;\n if (registerPopupInfo) {\n\n }\n component.on(\"showing\", c => {\n const content: Element = component.content();\n content.parentElement.classList.add(\"t--popup\");\n\n if (registerPopupInfo) {\n this.popupInfo.onShowPopup({\n owner: form,\n popup: c.component\n });\n }\n });\n component.on(\"hidden\", c => {\n if (registerPopupInfo) {\n this.popupInfo.onHidePopup(c.component);\n }\n });\n };\n\n if (options.height) {\n widgetOptions.height = options.height;\n }\n if (options.width) {\n widgetOptions.width = options.width;\n }\n widgetOptions.maxHeight = \"100%\";\n widgetOptions.maxWidth = \"100%\";\n\n const commands: ICommandData[] = [];\n if (options.showCloseButton == void (0) || options.showCloseButton == true) {\n commands.push(this.defaultCommands.getClosePopupCommand());\n }\n\n commands.push(...options.commands.map(c => {\n const cmd = form.binding.evaluate(form.scope, c.binding.bindToFQ);\n if (!cmd) {\n throw new Error(`No command for ${c.binding.bindToFQ} found`);\n }\n\n return cmd;\n }));\n\n form[idToolbar] = this.toolbar.createToolbarOptions(\n form.scopeContainer,\n options.caption,\n commands\n );\n }\n addRadioGroup(form: FormBase, options: WidgetOptions.ISelectOptions) {\n const editorOptions: DevExpress.ui.dxRadioGroupOptions = this.createEditorOptions(form, options);\n const selectItem = this.selectItem.getSelectItem(options.idSelect);\n\n this.addDataExpressionOptions(form, options, editorOptions, selectItem);\n\n if (selectItem.itemTemplateName) {\n editorOptions.itemTemplate = selectItem.itemTemplateName;\n }\n }\n addSelectBox(form: FormBase, options: WidgetOptions.ISelectOptions) {\n const editorOptions: DevExpress.ui.dxSelectBoxOptions = this.createEditorOptions(form, options);\n const selectItem = this.selectItem.getSelectItem(options.idSelect);\n\n editorOptions.searchEnabled = true;\n editorOptions.searchExpr = selectItem.displayMember;\n editorOptions.showClearButton = true;\n\n if (selectItem.searchMode) {\n editorOptions.searchMode = selectItem.searchMode;\n }\n\n this.addDataExpressionOptions(form, options, editorOptions, selectItem);\n\n if (selectItem.fieldTemplateName) {\n editorOptions.fieldTemplate = selectItem.fieldTemplateName;\n }\n if (selectItem.itemTemplateName) {\n editorOptions.itemTemplate = selectItem.itemTemplateName;\n }\n }\n addTab(form: FormBase, options: WidgetOptions.ITabOptions) {\n const tabOptions: DevExpress.ui.dxTabsOptions = this.baseWidgetCreator.createWidgetOptions(form, options);\n\n let component: DevExpress.ui.dxTabs;\n tabOptions.onInitialized = (e) => {\n component = e.component;\n }\n\n tabOptions.items = [];\n const propSelected = `${options.id}Selected`;\n tabOptions.bindingOptions[\"selectedIndex\"] = propSelected;\n\n options.pages.forEach((page, index) => {\n const pageOptions = {\n text: this.localization.translateOnce(page.caption, form.scopeContainer),\n visible: true,\n __options: page,\n __index: index\n };\n\n if (page.if) {\n form.binding.observe({\n scopeContainer: form.scopeContainer,\n expression: page.if,\n callback: (newValue) => {\n if (component) {\n component.option(`items[${index}].visible`, newValue);\n }\n\n pageOptions.visible = newValue;\n\n if ((!newValue && form[`${options.id}Selected`] == index)\n || (newValue && form[`${options.id}Selected`] == -1)) {\n this.taskQueue.queueMicroTask(() => {\n //Prüfen, welchen Tab wird jetzt anzeigen, da aktueller nicht mehr sichtbar ist ...\n for (let p of tabOptions.items) {\n if (!p.visible) {\n continue;\n }\n\n form[`${options.id}Selected`] = p.__index;\n break;\n }\n\n if (form[`${options.id}Selected`] == index) {\n form[`${options.id}Selected`] = -1;\n }\n });\n }\n }\n });\n\n pageOptions.visible = form.binding.evaluate(form.scope, page.if);\n }\n\n tabOptions.items.push(pageOptions);\n });\n\n const firstVisible = tabOptions.items.find(c => c.visible);\n if (firstVisible) {\n form[propSelected] = firstVisible.__index;\n } else {\n form[propSelected] = -1;\n }\n\n const callOnActivate = (e) => {\n if (!e.addedItems || e.addedItems.length === 0) {\n return;\n }\n\n const page = e.addedItems[0];\n if (!page || !page.__options || !page.__options.onActivated) {\n return;\n }\n\n form.binding.evaluate(form.scope, page.__options.onActivated);\n }\n const checkGridInitialize = (e) => {\n const index = e.component.option(\"selectedIndex\");\n const name = `${options.id}TabPage${index}`;\n\n if (!form[name]) {\n return;\n }\n\n const element: Element = form[name];\n const attr = element.getAttribute(\"data-tab-page-activated\");\n if (attr == \"true\") {\n return;\n }\n\n element.setAttribute(\"data-tab-page-activated\", \"true\");\n const children = Array.from(element.querySelectorAll(\".dx-widget > .dx-datagrid\"));\n for (let i = 0; i < children.length; i++) {\n const gr = children[i];\n let parent = gr.parentElement;\n\n while (parent != null && parent != element) {\n if (parent.getAttribute(\"data-tab-page-activated\") == \"false\") {\n return;\n }\n parent = parent.parentElement;\n }\n\n DxLoader.getInstance(\"dxDataGrid\", gr.parentElement)\n .updateDimensions();\n }\n }\n\n tabOptions.onSelectionChanged = (e) => {\n callOnActivate(e);\n\n this.taskQueue.queueMicroTask(() => {\n checkGridInitialize(e);\n });\n };\n }\n addTagBox(form: FormBase, options: WidgetOptions.ITagBoxOptions) {\n const widgetOptions: DevExpress.ui.dxTagBoxOptions = this.createEditorOptions(form, options);\n const selectItem = options.editorOptions && options.editorOptions.idSelect\n ? this.selectItem.getSelectItem(options.editorOptions.idSelect)\n : null;\n\n widgetOptions.searchEnabled = true;\n let keyProperty = \"\";\n\n if (selectItem) {\n widgetOptions.valueExpr = selectItem.valueMember;\n widgetOptions.displayExpr = selectItem.displayMember;\n\n if (selectItem.fieldTemplateName) {\n widgetOptions.fieldTemplate = selectItem.fieldTemplateName;\n }\n if (selectItem.itemTemplateName) {\n widgetOptions.itemTemplate = selectItem.itemTemplateName;\n }\n\n this.addDataExpressionOptions(form, options.editorOptions, widgetOptions, selectItem);\n keyProperty = selectItem.valueMember;\n } else {\n widgetOptions.valueExpr = options.itemValueExpr;\n widgetOptions.displayExpr = options.itemDisplayExpr;\n\n const model = form.models.getInfo(options.itemDataContext);\n const dataSource = this.dataSource.createDataSource(\n form.scopeContainer, \n model,\n null,\n () => dataSource.reload());\n widgetOptions.dataSource = dataSource;\n keyProperty = model.keyProperty;\n }\n\n if (options.batchSelectionEnabled) {\n widgetOptions.showSelectionControls = true;\n widgetOptions.applyValueMode = \"useButtons\";\n }\n\n if (options.fieldTemplateName) {\n widgetOptions.fieldTemplate = options.fieldTemplateName;\n }\n if (options.itemTemplateName) {\n widgetOptions.itemTemplate = options.itemTemplateName;\n }\n if (options.tagTemplateName) {\n widgetOptions.tagTemplate = options.tagTemplateName;\n }\n\n let onInitialized = widgetOptions.onInitialized;\n\n widgetOptions.onInitialized = (e) => {\n if (onInitialized) {\n onInitialized(e);\n }\n\n onInitialized = null;\n\n const component = e.component;\n component.on(\"selectionChanged\", scArgs => {\n const addedItems: any[] = scArgs.addedItems;\n const removedItems: any[] = scArgs.removedItems;\n\n let list: any[] = form.binding.evaluate(form.scope, options.relationBinding.bindToFQ);\n\n if (list == void (0)) {\n list = [];\n form.binding.assign(form.scope, options.relationBinding.bindToFQ, list);\n }\n\n addedItems.map(c => c).forEach(c => {\n const indexOf1 = removedItems.findIndex(d => c[keyProperty] == d[keyProperty]);\n if (indexOf1 < 0) {\n return;\n }\n\n const indexOf2 = addedItems.findIndex(d => c[keyProperty] == d[keyProperty]);\n addedItems.splice(indexOf2, 1);\n removedItems.splice(indexOf1, 1);\n });\n\n addedItems.forEach(c => {\n const exists = list.some(d => d[options.relationProperty] == c[keyProperty]);\n if (exists) {\n return;\n }\n\n const newObj = {};\n newObj[options.relationProperty] = c[keyProperty];\n list.push(newObj);\n });\n removedItems.forEach(c => {\n const existsList = list.filter(d => d[options.relationProperty] == c[keyProperty]);\n\n existsList.forEach(d => {\n const index = list.indexOf(d);\n list.splice(index, 1);\n })\n });\n });\n }\n\n form.models.onLoaded.register(a => {\n if (a.model.id !== options.dataContext) {\n return;\n }\n\n const list: any[] = form.binding.evaluate(form.scope, options.relationBinding.bindToFQ)\n || [];\n\n const data = list.map(c => c[options.relationProperty])\n .filter(c => c != void (0));\n\n if (form[options.id]) {\n form[options.id].setOption({\n value: data\n });\n } else {\n widgetOptions.value = data;\n }\n\n return Promise.resolve();\n });\n }\n addTextBox(form: FormBase, options: WidgetOptions.ITextBoxOptions) {\n const editorOptions: DevExpress.ui.dxTextBoxOptions = this.createEditorOptions(form, options);\n\n if (options.maxLength) {\n editorOptions.maxLength = options.maxLength;\n }\n if (options.mode) {\n editorOptions.mode = options.mode;\n }\n if (options.useMaskedValue != void (0)) {\n editorOptions.useMaskedValue = options.useMaskedValue;\n }\n if (options.mask) {\n editorOptions.mask = options.mask;\n }\n if (options.maskChar) {\n editorOptions.maskChar = options.maskChar;\n }\n if (editorOptions.mode == \"password\" && form.id.toLowerCase().indexOf(\"login\") < 0) {\n if (editorOptions.inputAttr == void(0)) {\n editorOptions.inputAttr = {};\n }\n editorOptions.inputAttr[\"autocomplete\"] = \"new-password\";\n }\n }\n addTextArea(form: FormBase, options: WidgetOptions.ITextAreaOptions) {\n const editorOptions: DevExpress.ui.dxTextAreaOptions = this.createEditorOptions(form, options);\n\n if (options.maxLength) {\n editorOptions.maxLength = options.maxLength;\n }\n\n if (options.height) {\n editorOptions.height = options.height;\n }\n }\n addValidationGroup(form: FormBase, options: WidgetOptions.IValidationGroupOptions) {\n const validationOptions: DevExpress.ui.dxValidationGroupOptions = {};\n\n form[options.options.optionsName] = validationOptions;\n\n form.onValidating.register(r => {\n const widget = form[options.id];\n if (!widget) {\n return Promise.resolve();\n }\n\n const groupConfig = DevExpress.validationEngine.getGroupConfig(widget.instance);\n if (groupConfig === undefined) {\n return Promise.resolve();\n }\n\n const instance: DevExpress.ui.dxValidationGroup = widget.instance;\n\n const result = instance.validate();\n\n if (result.isValid) {\n return Promise.resolve(r.validationResult);\n } else {\n r.validationResult.isValid = false;\n r.validationResult.messages.push(...result\n .brokenRules\n .map(c => c.message));\n\n return Promise.resolve();\n }\n });\n }\n\n updatePopupOptions(updateablePopupOptions: IUpdateablePopupOptions) {\n const options = updateablePopupOptions.options;\n\n var commands: ICommandData[] = [];\n commands.push(this.defaultCommands.getClosePopupCommand());\n commands.push(...updateablePopupOptions.commands);\n\n options.showCloseButton = false;\n options.titleTemplate = (container: Element) => {\n const toolbar = document.createElement(\"toolbar\");\n toolbar.setAttribute(\"options.bind\", updateablePopupOptions.idToolbar);\n\n container.appendChild(toolbar);\n\n const view = this.templatingEngine.enhance({\n element: toolbar,\n bindingContext: updateablePopupOptions.scopeContainer.scope.bindingContext,\n overrideContext: updateablePopupOptions.scopeContainer.scope.overrideContext\n });\n\n const dxEventOn: any = DevExpress.events.on;\n dxEventOn(toolbar, \"dxremove\", () => {\n view.unbind();\n view.detached();\n });\n };\n options.contentTemplate = \"contentTemplate\";\n\n let onInitialized = options.onInitialized;\n let component: DevExpress.ui.dxPopup;\n options.onInitialized = (e) => {\n if (onInitialized) {\n onInitialized(e);\n }\n\n onInitialized = null;\n\n component = e.component;\n component.on(\"showing\", c => {\n const content: Element = c.component.content();\n content.parentElement.classList.add(\"t--popup\");\n\n this.popupInfo.onShowPopup({\n owner: null,\n popup: c.component,\n executeCommand: (idCommand) => {\n const command = commands.find(c => c.id == idCommand);\n if (!command) {\n return;\n }\n\n this.command.execute(\n updateablePopupOptions.scopeContainer.scope,\n command, {\n event: null\n }\n );\n }\n });\n });\n component.on(\"hidden\", c => {\n this.popupInfo.onHidePopup(c.component);\n });\n }\n\n updateablePopupOptions.scopeContainer.scope.bindingContext[updateablePopupOptions.idToolbar] = this.toolbar.createToolbarOptions(\n updateablePopupOptions.scopeContainer,\n updateablePopupOptions.caption,\n commands\n );\n }\n\n private createEditorOptions(form: FormBase, options: WidgetOptions.IEditorOptions): any {\n const editorOptions: DevExpress.ui.EditorOptions = this.baseWidgetCreator.createWidgetOptions(form, options);\n\n editorOptions[\"onValueChangedByUser\"] = (e) => {\n form.onEditorValueChanged.fire({\n binding: options.binding,\n value: e.value\n });\n };\n\n let onInitialized = editorOptions.onInitialized;\n editorOptions.onInitialized = (e) => {\n if (onInitialized) {\n onInitialized(e);\n }\n\n onInitialized = null;\n\n const component = e.component;\n component.on(\"valueChanged\", (c) => {\n if (options.onValueChanged) {\n form.binding.execute(form.scope, options.onValueChanged, c);\n }\n });\n };\n\n if (options.binding && options.binding.bindToFQ) {\n editorOptions.bindingOptions[\"value\"] = options.binding.bindToFQ;\n }\n\n if (options.isReadOnly) {\n editorOptions.readOnly = true;\n } else if (options.binding && options.binding.dataContext) {\n const model = form.models.getInfo(options.binding.dataContext, false);\n let readOnlyExpression = options.isReadOnlyExpression;\n\n if (model && model.modificationInfoEnabled) {\n const modExpression = `!models.data.${model.id}.CanSave`;\n\n if (readOnlyExpression == void (0)) {\n readOnlyExpression = modExpression;\n } else {\n readOnlyExpression = `(${readOnlyExpression}) || (${modExpression})`;\n }\n }\n\n if (readOnlyExpression != void (0)) {\n editorOptions.bindingOptions[\"readOnly\"] = readOnlyExpression;\n }\n } else if (options.isReadOnlyExpression) {\n editorOptions.bindingOptions[\"readOnly\"] = options.isReadOnlyExpression;\n }\n\n if (options.placeholder) {\n (editorOptions).placeholder = this.localization.translateOnce(options.placeholder, form.scopeContainer);\n }\n\n editorOptions[\"validators\"] = options.validationRules.map(v => {\n if (v.binding) {\n return form.binding.evaluate(form.scope, v.binding.bindToFQ);\n } else if (v.item) {\n return this.validation.getValidator(\n form.scopeContainer,\n v.item.type,\n options.caption,\n v.item.parameters\n );\n } else {\n throw new Error(\"No binding/item specified\");\n }\n });\n\n return editorOptions;\n }\n private addDataExpressionOptions(form: FormBase, options: WidgetOptions.ISelectOptions, current: DevExpress.ui.DataExpressionMixinOptions, selectItem: WidgetOptions.ISelectItem): void {\n const observerCallback = (dataSourceOptions) => {\n const observers = this.dataSource.getElementsToObserve(dataSourceOptions);\n if (observers.length > 0) {\n const editorOptions: DevExpress.ui.EditorOptions = current;\n\n let onInitialized = editorOptions.onInitialized;\n editorOptions.onInitialized = (e) => {\n if (onInitialized) {\n onInitialized(e);\n }\n\n onInitialized = null;\n\n form.onEditorValueChanged.register(evcArgs => {\n if (evcArgs.binding) {\n if (observers.some(c => c === evcArgs.binding.bindToFQ)) {\n form.binding.assign(form.scope, options.binding.bindToFQ, null);\n\n //Event manuell auslösen (wurde ja nicht direkt durch Benutzer gemacht)\n form.onEditorValueChanged.fire({\n binding: options.binding,\n value: null\n });\n }\n }\n\n return Promise.resolve();\n });\n }\n }\n };\n \n const dataSource = this.selectItem.createSelectDataSource(\n form.scopeContainer,\n selectItem,\n options.filter,\n options.filters,\n options.customs,\n observerCallback);\n\n current.dataSource = dataSource;\n current.valueExpr = selectItem.valueMember;\n current.displayExpr = selectItem.displayMember;\n }\n}\n","import {\n autoinject,\n} from \"aurelia-framework\";\nimport {\n EventAggregator\n} from \"aurelia-event-aggregator\";\nimport {\n IPopupInfo\n} from \"../interfaces/popup-info\";\nimport { FormBase } from '../classes/form-base';\n\n@autoinject\nexport class PopupInfoService {\n private _popupStack: IPopupInfo[] = [];\n\n constructor(\n private _eventAggregator: EventAggregator\n ) {\n this._eventAggregator.subscribe(\"window:beforeunload\", e => {\n e.hasChangedData = e.hasChangedData || this.hasPopupWithUnchangedData();\n });\n this._eventAggregator.subscribe(\"popup-info:popup-open\", e => {\n e.isOpen = this.isPopupOpen();\n });\n this._eventAggregator.subscribe(\"shortcut:execute\", e => {\n if (this.isPopupOpen()) {\n const lastPopupInfo = this.getCurrentPopup();\n\n if (lastPopupInfo.executeCommand) {\n lastPopupInfo.executeCommand(e.idCommand);\n }\n }\n });\n }\n\n onShowPopup(info: IPopupInfo) {\n if (info.popup) {\n const content = info.popup.content();\n\n //Muss 2x ausgeführt werden ...\n //Das erste Mal wegen der Bestimmung der Höhe\n //Das zweite Mal, wenn danach die Breite des Popups von DX noch angepasst wurde\n this._eventAggregator.publish(\"grid:check-class\", {\n element: content\n });\n\n const handler = (() => {\n this._eventAggregator.publish(\"grid:check-class\", {\n element: content\n });\n\n info.popup.off(\"positioned\", handler);\n }).bind(this);\n info.popup.on(\"positioned\", handler);\n }\n\n this._popupStack.push(info);\n }\n onHidePopup(popup: DevExpress.ui.dxPopup) {\n const popupInfoIndex = this._popupStack.findIndex(c => c.popup == popup);\n\n if (popupInfoIndex < 0) {\n console.log(\"Popup not registered\");\n throw new Error(\"Popup not registered\");\n }\n\n this._popupStack.splice(popupInfoIndex, 1);\n }\n\n getCurrentPopup(): IPopupInfo {\n if (this._popupStack.length == 0) {\n return;\n }\n\n return this._popupStack[this._popupStack.length - 1];\n }\n getPopup(form: FormBase): IPopupInfo {\n return this._popupStack.find(p => p.form == form);\n }\n\n async closeCurrentPopup(): Promise {\n const popupInfo = this.getCurrentPopup();\n if (!popupInfo) {\n return;\n }\n\n if (popupInfo.handleChangedData) {\n const canDeactivate = await popupInfo.handleChangedData();\n if (!canDeactivate) {\n return false;\n }\n }\n\n popupInfo.popup.hide();\n return true;\n }\n async closeAllPopups(): Promise {\n while (this._popupStack.length > 0) {\n const result = await this.closeCurrentPopup();\n\n if (!result) {\n return false;\n }\n }\n\n return true;\n }\n\n isPopupOpen() {\n return this._popupStack.length > 0;\n }\n\n private hasPopupWithUnchangedData(): boolean {\n for (let item of this._popupStack) {\n if (!item.hasChangedData) {\n continue;\n }\n\n if (item.hasChangedData()) {\n return true;\n }\n }\n\n return false;\n }\n}\n","module.exports = \"
\";","import {\n autoinject,\n transient,\n TaskQueue\n} from \"aurelia-framework\";\nimport {\n AuthorizationService, LocalizationService\n} from \"../../../base/export\";\nimport { \n FormBase,\n ICommandData\n} from \"../../../forms/export\";\nimport { LocationService } from '../../../base/services/location-service';\nimport { HistoryService } from '../../../forms/services/history-service';\n\n@autoinject\n@transient()\nexport class LoginFuncs {\n private form: FormBase;\n \n constructor(\n private _authorizationService: AuthorizationService,\n private _historyService: HistoryService,\n private _locationService: LocationService,\n private _localization: LocalizationService,\n private _taskQueue: TaskQueue\n ) { }\n\n goToUrlAfterLogin: string;\n showTwoFactorAuth = false;\n\n loginCommand: ICommandData = {\n id: \"$login\",\n title: \"login-form-funcs.anmelden_caption\",\n execute: async (e: any) => {\n const event = e && e.event\n ? e.event\n : (e.preventDefault ? e : null);\n\n if (event) {\n event.preventDefault();\n event.stopPropagation();\n }\n\n if (!this.form.models.data.$m_login.Username || !this.form.models.data.$m_login.Password) {\n DevExpress.ui.notify(this._localization.translateOnce(\"login-form-funcs.benutzer_passwort_angeben\"), \"error\", 3000);\n return;\n }\n\n const r = await this._authorizationService.login(this.form.models.data.$m_login);\n\n if (r.isLoggedIn && this.goToUrlAfterLogin) {\n this._historyService.pipelineUrl = this.goToUrlAfterLogin;\n } else if (r.needsTwoFactorAuthKey) {\n this.showTwoFactorAuth = true;\n\n this._taskQueue.queueTask(() => {\n const keyInput = this.form[\"twoFactorKey\"];\n if (keyInput && keyInput.instance) {\n keyInput.instance.focus();\n }\n });\n }\n }\n };\n \n forgotPasswordCommand: ICommandData = {\n id: \"$reset\",\n title: \"login-form-funcs.vergessen_caption\",\n execute: () => {\n this._locationService.goTo({\n url: \"reset-password\",\n clearStack: true\n });\n }\n };\n\n goBackToLoginCommand: ICommandData = {\n id: \"$reset\",\n title: \"login-form-funcs.zurueck_zu_login\",\n execute: () => {\n this.showTwoFactorAuth = false;\n }\n};\n\n bind(form: FormBase) {\n this.form = form;\n\n this.goToUrlAfterLogin = this._historyService.lastRequestUrl;\n\n form.models.data.$m_login = {\n StayLoggedOn: false\n };\n }\n}\n","export enum PersonzuordnungMoeglichkeit {\n NichtMoeglich = 0,\n Moeglich = 1,\n Fraglich = 2\n}\n","import { LocalizationService } from \"./../../../../framework/base/services/localization-service\";\nimport { Datenschutz } from \"./../../../elements/datenschutz/datenschutz\";\nimport { StartupService } from \"./../../../services/startup-service\";\nimport { RestService } from \"./../../../../framework/base/services/rest-service\";\nimport { GlobalizationService } from \"./../../../../framework/base/services/globalization-service\";\nimport { ZitMomentValueConverter } from \"./../../../../zit-ui/value-converters/moment-value-converter\";\nimport { FormBase } from \"./../../../../framework/forms/classes/form-base\";\nimport { Share } from \"./../../../elements/share/share\";\nimport { ICommandData } from \"./../../../../framework/forms/interfaces/command-data\";\nimport { IZitTagOptions } from \"./../../../../zit-ui/elements/zit-tag/zit-tag-options\";\nimport { transient } from \"aurelia-framework\";\nimport { autoinject } from \"../../../../framework/forms/form-export\";\nimport * as moment from \"moment\";\n\n@transient()\n@autoinject\nexport class EventZeitraumReadUtils {\n private NOTIFY_TIMEOUT: number = 3000;\n\n constructor(\n private _zitMoment: ZitMomentValueConverter,\n private _localizationService: LocalizationService,\n private _startupService: StartupService,\n private _restService: RestService,\n private _globalizationService: GlobalizationService) {\n }\n\n form: FormBase;\n eventTeilnehmerData: any;\n datenschutzList: any[];\n\n actionCommand: ICommandData = {\n id: \"actionCommand\",\n icon: \"fas fa-share-alt\",\n tooltip: \"zit.aktionen\",\n sortIndex: 99,\n isVisibleExpression: \"r_share.canShare\",\n execute: (executeOptions) => {\n const share: Share = this.form[\"r_share\"];\n share.showCtxMenu(executeOptions.event);\n }\n };\n\n vonDatumTagOptions: IZitTagOptions = {\n isClickEnabled: false,\n textExpression: `functions.$f_EventZeitraumReadUtils.datumTagString(item)`,\n icon: {\n faIcon: \"far fa-calendar-alt\"\n }\n };\n\n verfuegbarePlaetzeTagOptions: IZitTagOptions = {\n isClickEnabled: false,\n icon: {\n text: \"P\"\n },\n textExpression: `item.KontingentGesamtFrei`\n };\n\n meldenBeiUmTagOptions: IZitTagOptions = {\n isClickEnabled: false,\n textExpression: `item.Treffpunkt`,\n icon: {\n text: \"T\"\n }\n };\n\n adresseTagOptions: IZitTagOptions = {\n textExpression: `item.Adresse`,\n icon: {\n faIcon: \"fas fa-map-marker-alt\"\n },\n onClick: () => {\n this.openGoogleMaps();\n }\n };\n\n textTagOptions: IZitTagOptions = {\n isClickEnabled: false,\n textExpression: `item.Text`,\n icon: {\n text: \"T\"\n }\n };\n\n interesseButtonTagOptions: IZitTagOptions = {\n isClickEnabled: true,\n cssClass: \"z--tag z--zusage-button\",\n icon: {\n faIcon: \"far fa-check-circle\"\n },\n text: \"Ja, ich interessiere mich für dieses Event\",\n onClick: () => {\n this.eventInteressieren();\n }\n };\n\n anmeldenButtonTagOptions: IZitTagOptions = {\n isClickEnabled: true,\n cssClass: \"z--tag z--zusage-button\",\n icon: {\n faIcon: \"far fa-check-circle\"\n },\n text: \"Anmeldelink\",\n onClick: () => {\n const link = this.form.models.data.$m_EventZeitraum._WebsiteEventAnmeldungLink;\n window.open(link, \"_blank\");\n }\n };\n\n eventZeitraumDownloadTagOptions: IZitTagOptions = {\n isClickEnabled: true,\n cssClass: \"z--tag z--download-button\",\n icon: {\n faIcon: \"far fa-calendar-alt\"\n },\n text: \"Event in Kalender eintragen\",\n onClick: () => {\n this.downloadEventICSFile();\n }\n };\n\n bind(form) {\n this.form = form;\n\n form.models.onLoaded.register(async (args) => {\n if (args.model.id == \"$m_EventZeitraum\" && args.data) {\n this.datenschutzList = args.data.DatenschutzList\n ? args.data.DatenschutzList\n : [];\n }\n return Promise.resolve();\n });\n\n }\n\n datumTagString(item: any): string {\n if (!item) {\n return \"\";\n }\n\n if (!item.StartDatum || !item.EndeDatum) {\n return \"\";\n }\n\n if (moment(item.StartDatum).isSame(moment(item.EndeDatum))) {\n return this._globalizationService.format(item.StartDatum, \"DT_DD.MM.YYYY (dd)\")\n .toUpperCase()\n + \" \"\n + this._zitMoment.getZeit(item.StartUhrzeitValidated, \"{0} Uhr\")\n + \" - \"\n + this._zitMoment.getZeit(item.EndeUhrzeitValidated, \"{0} Uhr\");\n } else {\n return this._globalizationService.format(item.StartDatum, \"DT_DD.MM.YYYY (dd)\")\n .toUpperCase()\n + \" \"\n + this._zitMoment.getZeit(item.StartUhrzeitValidated, \"{0} Uhr\")\n + \" - \"\n + this._globalizationService.format(item.EndeDatum, \"DT_DD.MM.YYYY (dd)\")\n .toUpperCase()\n + \" \"\n + this._zitMoment.getZeit(item.EndeUhrzeitValidated, \"{0} Uhr\");\n }\n }\n\n isInteresseButtonVisible(): boolean {\n const model = this.form.models.data.$m_EventZeitraum;\n if (!model) {\n return false;\n }\n\n if (this.form.models.data.$m_EventZeitraum.IsTeilnehmer == undefined) {\n return false;\n }\n if (this.form.models.data.$m_EventZeitraum._WebsiteEventAnmeldungLink) {\n return false;\n }\n\n if (model.Event && model.Event.Kopf.TeilnehmerReaktion == 2) {\n if (!this.form.models.data.$m_EventZeitraum.IsTeilnehmer) {\n return true;\n }\n }\n\n return false;\n }\n isAnmeldenButtonVisible(): boolean {\n const model = this.form.models.data.$m_EventZeitraum;\n if (!model) {\n return false;\n }\n\n if (this.form.models.data.$m_EventZeitraum.IsTeilnehmer == undefined) {\n return false;\n }\n if (!this.form.models.data.$m_EventZeitraum._WebsiteEventAnmeldungLink) {\n return false;\n }\n \n return true;\n }\n \n isInteresseEinverstaendniserklaerungVisible(): boolean {\n const isVisible = this.isInteresseButtonVisible();\n if (!isVisible) {\n return false;\n }\n\n return this.form.models.data.$m_EventZeitraum.IsTeilnehmer;\n }\n\n private async downloadEventICSFile() {\n window.open(this.getICSFileDownloadUrl(this.form.models.data.$m_EventZeitraum.TeilnehmerWebsiteKey), \"_self\");\n }\n\n private getICSFileDownloadUrl(key: string): string {\n return `${this._restService.getApiUrl(\"ZIT/WebsiteTermin/ICSFile\")}?key=${key}`;\n }\n\n private async eventInteressieren() {\n if (this.isInteresseEinverstaendniserklaerungVisible()) {\n const datenschutz: Datenschutz = this.form[\"r_datenschutz\"];\n if (!datenschutz.hasAlleBestaetigt()) {\n return;\n }\n }\n\n const r = await this._restService.post({\n url: this._restService.getApiUrl(\"ZIT/Event/CreateTeilnehmer\"),\n data: {\n IdEventZeitraum: this.form.models.data.$m_EventZeitraum.Id,\n IdPerson: this._startupService.startupInfo.Benutzer.IdPerson\n }\n });\n\n DevExpress.ui.notify(this._localizationService.translateOnce(\"base.save_success\"), \"success\", this.NOTIFY_TIMEOUT);\n this.form.models.reloadAll();\n }\n private openGoogleMaps() {\n const resultGoogleMaps = this.form.models.data.$m_EventZeitraum.Kopf.Adresse;\n if (!resultGoogleMaps) {\n return;\n }\n window.open(\"https://www.google.com/maps/place/\" + resultGoogleMaps.replace(\" \", \"+\"), \"_blank\");\n }\n}\n","export * from \"./benutzeraccount-aktivieren-data\";\nexport * from \"./benutzereinstellung-data\";\nexport * from \"./benutzerrolle-code-data\";\nexport * from \"./dx-components\";\nexport * from \"./erweiterte-suche-objekt-feld-data\";\nexport * from \"./loeschen-benutzer-data\";\nexport * from \"./multi-marker-data\";\nexport * from \"./objekt-export-eigenschaft-data\";\nexport * from \"./objekt-info-data\";\nexport * from \"./passwort-aendern-data\";\nexport * from \"./person-dossier-data\";\nexport * from \"./startup-info\";\nexport * from \"./status-benutzer-available-data\";\nexport * from \"./status-change-data\";\nexport * from \"./status-change-result-data\";\nexport * from \"./suche-query-item-data\";\nexport * from \"./text-value\";\nexport * from \"./validation-model-result-data\";\nexport * from \"./vorlage-einstellung-data\";\nexport * from \"./layout-typ\";\n","import { FormBase } from \"./../../../../framework/forms/classes/form-base\";\nimport { autoinject, transient } from \"aurelia-framework\";\n\n@autoinject\n@transient()\nexport class EventListUtils {\n\n form: FormBase;\n\n bind(form: FormBase) {\n this.form = form;\n }\n}\n","import { IdxTextAreaComponent } from \"./../../../interfaces/dx-components\";\nimport { StartupService } from \"./../../../services/startup-service\";\nimport { RestService } from \"./../../../../framework/base/services/rest-service\";\nimport { IEditorValueChangedEventArgs } from \"./../../../../framework/forms/event-args/editor-value-changed\";\nimport { EventAggregator, Subscription } from \"aurelia-event-aggregator\";\nimport { autoinject, computedFrom, transient, TaskQueue } from \"aurelia-framework\";\nimport { FormBase } from \"./../../../../framework/forms/classes/form-base\";\nimport { GlobalizationService } from \"../../../../framework/base/services/globalization-service\";\nimport { IZitTagOptions } from \"../../../../zit-ui/elements/zit-tag/export\";\nimport { ICommandData, ModelUtilsService } from \"../../../../framework/forms/export\";\nimport { Share } from \"../../../elements/share/share\";\nimport { FormPopupService } from \"../../../services/form-popup-service\";\nimport { LocalizationService, LocationService } from \"../../../../framework/base/export\";\n\nimport * as moment from \"moment\";\n\n@autoinject\n@transient()\nexport class StelleninseratEditUtils {\n private _reloadModelSubscription: Subscription;\n private _stelleninseratKopfElementChannelSaved: Subscription;\n private ID_MANDANT_HEARTBASE = 5;\n private _reloadAfterStelleninseratKopfChannelEditHidden: boolean;\n\n constructor(\n public startupService: StartupService,\n private _restService: RestService,\n private _globalizationService: GlobalizationService,\n private _taskQueue: TaskQueue,\n private _eventAggregator: EventAggregator,\n private _formPopupService: FormPopupService,\n private _localizationService: LocalizationService,\n private _modelUtilsService: ModelUtilsService,\n private _locationService: LocationService) {\n this.pvTextModel = {\n Kopfzeile1: \"\",\n Fusszeile1: \"\"\n };\n }\n\n form: FormBase;\n pvTextModel: any;\n hasPackage: boolean = true;\n bewerbungenListViewCaption: string;\n isGeschaeftspartnerSchule: boolean;\n\n actionCommand: ICommandData = {\n id: \"actionCommand\",\n icon: \"fas fa-share-alt\",\n tooltip: \"zit.aktionen\",\n sortIndex: 99,\n isVisibleExpression: \"r_share.canShare\",\n execute: (executeOptions) => {\n const share: Share = this.form[\"r_share\"];\n share.showCtxMenu(executeOptions.event);\n }\n };\n bewerbungstypTextAreaOptions: DevExpress.ui.dxTextAreaOptions = {\n height: \"75px\",\n readOnly: true\n };\n\n stelleninseratGruppeTagOptions: IZitTagOptions = {\n isClickEnabled: true,\n textExpression: \"item.Text | zitRestrictLength:50\",\n icon: {\n textExpression: \"item.Gruppentyp.Bezeichnung ? item.Gruppentyp.Bezeichnung[0] : 'G'\"\n }\n };\n\n ferialbewerbungEinsatzbereichTagOptions: IZitTagOptions = {\n isClickEnabled: true,\n textExpression: \"item.Einsatzbereich\",\n icon: {\n text: \"EB\"\n }\n };\n\n stelleninseratSchnupperterminTagOptions: IZitTagOptions = {\n isClickEnabled: true,\n textExpression: \"item.SchnupperterminDatum | zitMoment:'wochenTag'\",\n icon: {\n text: \"T\"\n }\n };\n \n stelleninseratKlasseTagOptions: IZitTagOptions = {\n isClickEnabled: true,\n textExpression: \"item.Bezeichnung\",\n icon: {\n text: \"K\"\n }\n };\n\n geschlechtM_W_D_Options: DevExpress.ui.dxTextBoxOptions = {\n readOnly: true,\n value: \"(m/w/d)\",\n width: 60\n };\n\n keinPackageRule = {\n type: \"custom\",\n message: \"Firmenwebsite hat kein gültiges Package\",\n reevaluate: true,\n validationCallback: () => {\n return false;\n }\n };\n\n bewerbungVonValidationRule = {\n type: \"custom\",\n reevaluate: true,\n isValid: true,\n message: \"\",\n validationCallback: (e) => {\n if (!e.value) {\n return true;\n }\n\n const model = this.form.models.data.$m_Stelleninserat;\n if (!model || !model.Kopf) {\n return true;\n }\n\n const gueltigVon = model.Kopf.GueltigVon;\n const gueltigBis = model.Kopf.GueltigBis;\n\n if (gueltigVon && e.value < gueltigVon) {\n this.bewerbungVonValidationRule.message = \"Datum muss größer gleich \" + this._globalizationService.format(gueltigVon, \"d\") + \" sein\";\n return false;\n }\n if (gueltigBis && e.value > gueltigBis) {\n this.bewerbungVonValidationRule.message = \"Datum muss kleiner gleich \" + this._globalizationService.format(gueltigBis, \"d\") + \" sein\";\n return false;\n }\n\n return true;\n }\n };\n bewerbungBisValidationRule = {\n type: \"custom\",\n reevaluate: true,\n isValid: true,\n message: \"\",\n validationCallback: (e) => {\n if (!e.value) {\n return true;\n }\n\n const model = this.form.models.data.$m_Stelleninserat;\n if (!model || !model.Kopf) {\n return true;\n }\n\n const gueltigVon = model.Kopf.GueltigVon;\n const gueltigBis = model.Kopf.GueltigBis;\n\n if (gueltigVon && e.value < gueltigVon) {\n this.bewerbungBisValidationRule.message = \"Datum muss größer gleich \" + this._globalizationService.format(gueltigVon, \"d\") + \" sein\";\n return false;\n }\n if (gueltigBis && e.value > gueltigBis) {\n this.bewerbungBisValidationRule.message = \"Datum muss kleiner gleich \" + this._globalizationService.format(gueltigBis, \"d\") + \" sein\";\n return false;\n }\n\n return true;\n }\n };\n\n trainerTagOptions: IZitTagOptions = {\n icon: {\n textExpression: \"item.Ansprechperson.FunktionTagText\"\n },\n textExpression: \"item.Ansprechperson.Titel\",\n infoList: [{\n backgroundColorExpression: \"item.IsGueltig ? 'green' : 'red'\",\n color: \"transparent\",\n icon: {\n faIcon: \"fas fa-circle\"\n }\n }, {\n icon: {\n faIcon: \"fas fa-pencil-alt\"\n },\n onClick: (ev, data) => {\n ev.preventDefault();\n ev.stopPropagation();\n\n this.trainerEdit(data);\n }\n }],\n onClick: (_, data) => {\n this._locationService.goTo({\n url: `Objekte/Ansprechperson/${data.IdAnsprechperson}`,\n currentViewModel: this.form\n });\n },\n onDeleteClick: (_, data) => {\n const index = this.form.models.data.$m_Stelleninserat.Kopf.StelleninseratTrainer.indexOf(data);\n if (index < 0) {\n return;\n }\n\n this.form.models.data.$m_Stelleninserat.Kopf.StelleninseratTrainer.splice(index, 1);\n this._modelUtilsService.setDirty(this.form.models.data.$m_Stelleninserat);\n }\n };\n\n @computedFrom(\"form.models.data.$m_Stelleninserat._CanAddChannel\")\n get canAddChannel() {\n return this.form?.models?.data?.$m_Stelleninserat?._CanAddChannel || false;\n }\n\n bind(form: FormBase) {\n this.form = form;\n\n this._reloadModelSubscription = this._eventAggregator.subscribe(\"bewerbung:umgebucht\", (e) => {\n if (!e.IdStelleninserat || e.IdStelleninserat <= 0) {\n return;\n }\n\n if (!this.form.models.data.$m_Stelleninserat || this.form.models.data.$m_Stelleninserat.Id != e.IdStelleninserat) {\n return;\n }\n\n const model = this.form.models.getInfo(\"$m_Bewerbung\");\n this.form.models.onLoadRequired.fire({\n model: model,\n onlyCurrentPage: true\n });\n });\n\n form.models.onLoaded.register((args) => {\n const textArea: IdxTextAreaComponent = this.form[\"r_bewerbungstypTextArea\"];\n\n if (args.model.id === \"$m_Stelleninserat\") {\n if (!args.data.Id && args.data.Kopf && args.data.Kopf._IdGeschaeftspartner) {\n args.data.Kopf.IdGeschaeftspartner = args.data.Kopf._IdGeschaeftspartner;\n }\n\n this.changeKopfzeile1(args.data.Kopf.IdTextKopfzeile1);\n this.changeFusszeile1(args.data.Kopf.IdTextFusszeile1);\n\n this.bewerbungenListViewCaption = \"Bewerbungen (\" + args.data.AnzahlBewerber + \")\";\n\n if (args.data.Id\n && args.data.Kopf\n && args.data.Kopf.Geschaeftspartner\n && args.data.Kopf.Geschaeftspartner.Geschaeftspartnerdaten\n && args.data.Kopf.Geschaeftspartner.Geschaeftspartnerdaten.IsGeschaeftspartnerSchule) {\n this.isGeschaeftspartnerSchule = true;\n }\n }\n\n if (textArea) {\n if (args.model.id === \"$m_Bewerbungstyp\") {\n if (args.data\n && !args.data.WebsiteTextBewerbungsbutton\n && !args.data.AusgabeWebsite) {\n textArea.setOption({ value: null });\n }\n\n if (args.data\n && args.data.WebsiteTextBewerbungsbutton) {\n textArea.setOption({ value: args.data.WebsiteTextBewerbungsbutton });\n }\n\n if (args.data\n && args.data.AusgabeWebsite\n && !args.data.WebsiteTextBewerbungsbutton) {\n textArea.setOption({ value: args.data.AusgabeWebsite });\n }\n }\n }\n\n return Promise.resolve();\n });\n\n form.models.onSaved.register(async(args) => {\n if (this.startupService.startupInfo.Mandant.IdMandant == this.ID_MANDANT_HEARTBASE) {\n if (args.data && args.data.Id && args.data.Kopf) {\n if (!args.data.Kopf.StelleninseratTrainer || args.data.Kopf.StelleninseratTrainer.length == 0) {\n setTimeout(() => {\n DevExpress.ui.notify(\n \"Achtung! Es wurde kein Ausbilder hinterlegt.\",\n \"info\",\n 3000\n );\n }, 0);\n }\n }\n }\n });\n\n form.onEditorValueChanged.register(async(args) => {\n if (args.binding.dataContext === \"$m_Stelleninserat\") {\n if (args.binding.bindTo == \"Kopf.IdGeschaeftspartner\") {\n this.geschaeftspartnerValueChanged(args);\n }\n\n if (args.binding.bindTo == \"Kopf.IdLehrberuf\") {\n this.lehrberufValueChanged(args);\n }\n\n if (args.binding.bindTo == \"Kopf.IdTextKopfzeile1\") {\n this.textKopfzeile1ValueChanged(args);\n }\n\n if (args.binding.bindTo == \"Kopf.IdTextFusszeile1\") {\n this.textFusszeile1ValueChanged(args);\n }\n }\n\n return Promise.resolve();\n });\n\n form.editPopups.onEditPopupHidden.register(async(args) => {\n if (args.editPopup.id == \"stelleninseratKopfElementChannelEditPopup\") {\n if (this._reloadAfterStelleninseratKopfChannelEditHidden) {\n this._reloadAfterStelleninseratKopfChannelEditHidden = false;\n this.form.models.reloadAll();\n }\n }\n });\n\n this._stelleninseratKopfElementChannelSaved = this._eventAggregator.subscribe(\"stelleninserat-kopf-element-channel:saved\", () => {\n this._reloadAfterStelleninseratKopfChannelEditHidden = true;\n });\n }\n unbind() {\n this._reloadModelSubscription.dispose();\n this._reloadModelSubscription = null;\n\n this._stelleninseratKopfElementChannelSaved.dispose();\n this._stelleninseratKopfElementChannelSaved = null;\n }\n\n async geschaeftspartnerValueChanged(args: IEditorValueChangedEventArgs) {\n if (!args.value) {\n return;\n }\n\n this._taskQueue.queueTask(async() => {\n const r = await this.form.rest.get({\n url: this.form.rest.getWebApiUrl(\"ZIT/Stammdaten/StelleninseratBewerbungstyp\"),\n getOptions: {\n columns: [\"Id\"],\n customs: [\n { key: \"CheckBenutzerrolle\", value: true },\n { key: \"IdGeschaeftspartner\", value: args.value },\n { key: \"OnlyVorbelegung\", value: true }\n ]\n }\n });\n \n if (r && r.length > 0) {\n this.form.models.data.$m_Stelleninserat.Kopf.IdBewerbungstyp = r[0].Id;\n }\n });\n\n if (!this.form.models.data.$m_Stelleninserat.Kopf.GueltigBis) {\n const packageMaxDatumResult = await this.form.rest.get({\n url: this.form.rest.getApiUrl(\"ZIT/Security/GetPackageMaxDatum/\" + args.value)\n });\n \n if (packageMaxDatumResult && packageMaxDatumResult.Data) {\n this.form.models.data.$m_Stelleninserat.Kopf.GueltigBis = packageMaxDatumResult.Data;\n this.hasPackage = true;\n } else {\n this.form.models.data.$m_Stelleninserat.Kopf.GueltigBis = null;\n this.hasPackage = false;\n }\n }\n\n if (!this.form.models.data.$m_Stelleninserat.Id && !this.form.models.data.$m_Stelleninserat.Kopf.Subheadline) {\n const geschaeftspartnerResult = await this.form.rest.get({\n url: this.form.rest.getApiUrl(\"data/ZIT/Objekte/Geschaeftspartner/\" + args.value)\n });\n \n this.form.models.data.$m_Stelleninserat.Kopf.Subheadline = geschaeftspartnerResult.Name1;\n }\n }\n\n async lehrberufValueChanged(args: IEditorValueChangedEventArgs) {\n if (!args.value) {\n return;\n }\n\n if (this.form.models.data.$m_Stelleninserat.Kopf.StellenbezeichnungExtern\n && this.form.models.data.$m_Stelleninserat.Kopf.StellenbezeichnungExtern.length > 0) {\n return;\n }\n\n const lehrberufResult = await this.form.rest.get({\n url: this.form.rest.getApiUrl(\"data/ZIT/Stammdaten/Lehrberuf/\" + args.value)\n });\n \n if (lehrberufResult && lehrberufResult.Bezeichnung && lehrberufResult.Bezeichnung.length > 0) {\n this.form.models.data.$m_Stelleninserat.Kopf.StellenbezeichnungExtern = lehrberufResult.Bezeichnung;\n }\n }\n\n textKopfzeile1ValueChanged(args: IEditorValueChangedEventArgs): void {\n this.changeKopfzeile1(args.value);\n }\n textFusszeile1ValueChanged(args: IEditorValueChangedEventArgs): void {\n this.changeFusszeile1(args.value);\n }\n\n async changeKopfzeile1(id: any) {\n if (id) {\n const pvTextResult = await this._restService.get({\n url: this._restService.getWebApiUrl(\"ZIT/Stammdaten/PVText/\") + id,\n getOptions: {\n columns: [\"Text\"]\n }\n });\n \n this.pvTextModel.Kopfzeile1 = pvTextResult\n ? pvTextResult.Text\n : \"\";\n } else {\n this.pvTextModel.Kopfzeile1 = \"\";\n }\n }\n async changeFusszeile1(id: any) {\n if (id) {\n const pvTextResult = await this._restService.get({\n url: this._restService.getWebApiUrl(\"ZIT/Stammdaten/PVText/\") + id,\n getOptions: {\n columns: [\"Text\"]\n }\n });\n \n this.pvTextModel.Fusszeile1 = pvTextResult\n ? pvTextResult.Text\n : \"\";\n } else {\n this.pvTextModel.Fusszeile1 = \"\";\n }\n }\n\n onTrainerAddClick() {\n this.trainerEdit();\n }\n\n private trainerEdit(d?: any) {\n const initialData: any = {\n gueltigVon: moment().startOf(\"day\").toDate(),\n gueltigBis: moment(new Date(2099, 11, 31)).startOf(\"day\").toDate()\n };\n\n if (d) {\n initialData.gueltigVon = d.GueltigVon;\n initialData.gueltigBis = d.GueltigBis;\n initialData.item = d.Ansprechperson;\n }\n\n this._formPopupService.formPopup.show({\n titel: this._localizationService.translateOnce(\"zit.trainer\"),\n data: initialData,\n formDef: \"ansprechpersonMitGueltigkeit\",\n webApiFilters: [{\n webApiCustomKey: \"IdGeschaeftspartner\",\n webApiCustomValue: this.form.models.data.$m_Stelleninserat.Kopf.IdGeschaeftspartner\n }],\n onFormSubmit: (data) => {\n if (!this.form.models.data.$m_Stelleninserat.Kopf.StelleninseratTrainer) {\n this.form.models.data.$m_Stelleninserat.Kopf.StelleninseratTrainer = [];\n }\n\n const u = {\n IdAnsprechperson: data.item.Id,\n Ansprechperson: {\n Id: data.item.Id,\n Titel: data.item.Titel,\n FunktionTagText: data.item.FunktionTagText\n },\n GueltigVon: data.gueltigVon,\n GueltigBis: data.gueltigBis,\n IsGueltig: data.gueltigVon.getTime() <= new Date().getTime() \n && data.gueltigBis.getTime() >= new Date().getTime()\n };\n\n if (d) {\n Object.assign(d, u);\n } else {\n const exists = this.form.models.data.$m_Stelleninserat.Kopf.StelleninseratTrainer\n .some((t) => t.IdAnsprechperson == data.item.Id);\n\n if (exists) {\n return;\n }\n \n this.form.models.data.$m_Stelleninserat.Kopf.StelleninseratTrainer.push(u);\n }\n this._modelUtilsService.setDirty(this.form.models.data.$m_Stelleninserat);\n }\n });\n }\n}\n","export * from \"./abholfiliale\";\nexport * from \"./benachrichtigung-art\";\nexport * from \"./benutzer-typ\";\nexport * from \"./benutzeraccount-typ\";\nexport * from \"./geschlecht\";\nexport * from \"./grund-typ\";\nexport * from \"./kontakt-typ\";\nexport * from \"./objekt-export-eigenschaft-daten-typ\";\nexport * from \"./person-dossier-typ\";\nexport * from \"./personzuordnung-moeglichkeit\";\nexport * from \"./suche-view-typ\";\nexport * from \"./kontaktperson-typ\";\nexport * from \"./termin-reaktion\";\nexport * from \"./terminverteilungs-typ\";\n","import { autoinject } from 'aurelia-framework';\nimport { RestService } from './../../framework/base/services/export';\n\n@autoinject\nexport class AdresseService {\n constructor(\n private rest: RestService\n ) { }\n\n getOrtFromPLZ(idPlz: number, idLand: number): Promise<{ Ort: string }> {\n return this.rest.post({\n url: this.rest.getApiUrl(\"ZIT/Adresse/Ort\"),\n data: {\n Postleitzahl: idPlz,\n IdLand: idLand\n }\n });\n }\n}","export * from \"./services/export\";\n","import { autoinject, TaskQueue, View } from \"aurelia-framework\";\n\n@autoinject\nexport class TemplatingExService {\n constructor(\n private taskQueue: TaskQueue\n ) {}\n\n waitForViewModel(item: any, counter: number = 1000): Promise {\n return new Promise((resolve, reject) => {\n let index = 0;\n\n if (item.currentViewModel) {\n resolve(item.currentViewModel);\n } else {\n const queue = () => {\n this.taskQueue.queueTask(() => {\n index++;\n \n if (item.currentViewModel) {\n resolve(item.currentViewModel);\n } else if (index >= counter) {\n console.log(\"currentViewModel not found\");\n reject();\n } else {\n queue();\n }\n });\n };\n \n queue();\n }\n });\n }\n destroyView(view: View) {\n view.detached();\n view.unbind();\n }\n}\n","import { autoinject } from \"../../../../framework/forms/form-export\";\n\n@autoinject\nexport class LoginService {\n constructor() {}\n\n benutzer: string;\n}\n","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAyMAAAFqCAYAAAAJG4VIAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAADAJJREFUeNrs3Vtu3EgSQFGT4CosaP/7aqHWwe76MGCjYYFkkpkRkecA8zHAjFWVT17JJS///Pi5/wBI5nN/LdXf49fy4Xy2fq1hoPQ5uBoKAABgBDECAACIEQAAQIwAAACIEQAAQIwAAACIEQAAQIwAAACIEQAAQIwAAACIEQAAQIwAAABiBAAAQIwAAABiBAAAQIwAAABiBAAAQIwAAABiBAAAQIwAAABiBAAAQIwAAABiBAAAECMAAABiBAAAECMAAABiBAAAECMAAABiBAAAECMAAABiBAAAECMAAABiBAAAECMAAIAYAQAAECMAAIAYAQAAECMAAIAYAQAAECMAAIAYAQAAECMAAIAYAQAAECMAAIAYAQAAxAgAAIAYAQAAxAgAAIAYAQAAxAgAAIAYAQAAxAgAAIAYAQAAxAgAAIAYAQAAxAgAACBGAAAAxAgAACBGAAAAxAgAACBGAAAAxAgAACBGAAAAxAgAACBGAAAAxAgAACBGAAAAMQIAACBGAAAAMQIAACBGAAAAMQIAACBGAAAAMQIAACBGAAAAMQIAACBGAAAAMQIAAIgRAAAAMQIAAJS0GQKAmD7312IUsIbJ5mv52I0CR/nJCAAAIEYAAAAxAgAAIEYAAAAxAgAAIEYAAAAxAgAAIEYAAAAxAgAAIEYAAAAxAgAAiBEAAAAxAgAAiBEAAAAxAgAAiBEAAAAxAgAAiBEAAAAxAgAAiBEAAAAxAgAAiBEAAECMAAAAiBEAAECMAAAAiBEAAECMAAAAiBEAAECMAAAAiBEAAECMAAAAiBEAAECMAAAAYgQAAECMAAAAYgQAAECMAAAAYgQAAECMAAAAYgQAAECMAAAAYgQAAOB32+f+WgxDH1/Lx24U6rKXAADO8ZMRAABAjAAAAGIEAABAjAAAAGIEAABAjAAAAGIEAABAjAAAAGIEAABAjAAAAGIEAAAQIwAAAGIEAAAQIwAAAM/ZDAFATF/Lx24UavrcX4s1DOAnIwAAgBgBAADECAAAgBgBAADECAAAgBgBAADECAAAgBgBAADECAAAgBgBAADECAAAIEYMAQAAIEYAAAAxAgAAIEYAAAAxAgAAIEYAAAAxAgAAIEYAAAAxAgAAIEYAAAAxAgAAiBEAAAAxAgAAiBEAAAAxAgAAiBEAAAAxAgAAiBEAAAAxAgAAiBEAAAAxAgAAiBEAAECMAAAAiBEAAECMAAAAiBEAAECMAAAAiBEAACChzRAAAHDG5/5ajAJ38JMRAABAjAAAAGIEAABAjAAAAGIEAABAjAAAAGIEAABAjAAAAGIEAABAjAAAAGIEAAAQIwAAAGIEAAAQIwAAAGIEAAAQIwAAAGIEAAAQIwAAAGIEAAAQIwAAAGIEAAAQIwAAgBgBAAAQIwAAgBgBAAAQIwAAgBgBAAAQIwAAgBgBAAAQIwAAgBgBAAAQIwAAgBgBAADECAAAgBgBAADECAAAgBgBAADECAAAgBgBAADECAAAgBgBAADECAAAgBgBAADECAAAIEYAAADECAAAIEYAAADECAAAIEYAAADECAAAIEYAAADECAAAIEYAAADECAAAIEYAAAAxAgAAIEYAAAAxAgAAIEYAAAAxAgAAIEYAAAAxAgAAIEYAAAAxAgAAIEYAAAAxAgAAiBEAAAAxAgAAiBEAAAAxAgAAiBEAAAAxAgAAiBEAAAAxAgAAiBEAAAAxAgAAiBEAAECMAAAAiBEAAECMAAAAiBEAACC1Zd93owAAAHTnJyMAAIAYAQAAxAgAAIAYAQAAxAgAAIAYAQAAxAgAAIAYAQAAxAgAAIAYAQAAxAgAACBGAAAAxAgAACBGAAAAxAgAACBGAAAAxAgAACBGAAAAxAgAACBGAAAAxAgAACBGAAAAMQIAACBGAAAAMQIAACBGAAAAMQIAACBGAAAAMQIAACBGAAAAMQIAACBGAAAAMQIAAIgRAAAAMQIAAIgRAAAAMQIAAIgRAAAAMQIAAIgRAAAAMQIAAIgRAAAAMQIAAIgRAABAjAAAAIgRAABAjAAAAIgRAABAjAAAAIgRAAAgl80Q0GJZlv3o/3bf98WIYS3C3HvQ/gP+ODv+OxS6XuyjHxie+Ppn/syeRo/f6AtpxLzc/Z6uvIcnxzXa62l5ba2vK+q+P/oeI5zxd62PlrmIuj6jv58I8175Hoh+vow4WzznnX/tWdZ/6J+MvAfRd1DizMWTf2aVeY7wnuwbnE2xH9yrn0HWpDlwX1n/Z9b/mulNMWb8e8xBxXnuNXb2onPCpSdEsp1Bs+zZaveAtcAT698H2AlzgFY9tEeNpcvCBci8IdLzDLKXjBG0rP/VJibaeFed7+xBYlypMO8z/5WQaHtltr3rrDI25jhxjFio842zIPGavTeESPw1bw8ZL2ND6xyvFipRx1eQjP9a0efAmeCcEiL2jfE3NuSeY58ZIfQB4GDCGkOI1N07s+4/5w7OjsQxYgPPN6Y+PD3ma9lrCBHjCdYmT1stVJve6zTP3hNCBHvZ+zY2jLBlXqhZL5oor/uuzd7rXwF9es7P/tk+2F3r/Z6d/5a1OPpfKBYiNe6JOz4TdnWcqp4RUe6BXvMSeZ94zov/mlvW/+/z6zMjNC3co4v3zP822/vPcpkf/XoZHjJ810yICLj2M8ie7nsPwszPgd9JHSMeSMaMXcvia124Uec8y2VkzxgbIVL3ocBeESXOATKeP6uFyogLr+Kh7buTIEScQThzjZHzZ7IYsVDzXvT+rnKs+ffLDKwt59N8DwRnx9v+sw4953G31ULFAYt1ixDhif1nbvCc586dJkbwsMj1Q73yT0WsMSGCB04grlIx4hDLGQweJuyXSOvKOQL2BtYgYsRCNT7m2Viac2vwkeCk7zcD/BtOuAvMzXe2qoMR/R/y6XEBRPzzcKj3fhD69d/PvNfM/9iWEDGeT4yjB8Cx44/nvMrrJfRPRmzSefi1uDnG0Z7EecGV+ZlhzgSbvSzEC8ZIy0J1KBB9EzqE++5n4419kuchO9sd7pnDc56z57rVQoXrm+/XfyrslyoP83e9TueHBz9jwtF7wEh4zrP+r8/5NsNA+Y4osx1qZz8jETlEXDY42/Psje/mJMNnt3qOqWcTZ4HzJFmM3P1wBVEvbJ4bVx9k9xDiweDcOeTexXMeT1uzLdRstQfZg8dPRYC7zgq/5nf8ueo5j2jzvFqoUPcSav1aFS9MD0O1mJ/n9oGxFSKe8+gxv9tMA2Ch4hKyx6k57/bW+HPI/sMdwJWzZ630ZsC6ve/rjt5nLhWsl3HnQaTxrDK377H3/OI5z5z+35b5Tbl8+lwCPQ6FynMZ4VA9u19cBGP2Ac52D3jGnvxngfk+Nx6bhWqR2uheZ8SHf6Mw776+eraLxrpnUda5tR7nDRKOr//VUFkYox8M/baUWK/H5SmQIqxPH2K9b1z90gZ3AERe/6vNjsvJ4RBpP1lr1qU1NCZC3EPOMs95jFj/W5WFatPPc7k8dTB99+f6KyOY0/4PGs72/ufi7OPtHvCcZ+33PxvWWQaR9rG6eyFmOlgq/ZWRv70Xewh7L9b7PvMfK8VzhvEnmqPn8GqhMuKC94sHYr2XKO/Nd74QJPZftTm1Dt3DzuGJYoQ+G/q9sK4eri3/36wHkYvIAxvmCw9kRg/rf5IYUc19L/mjB2xrhESZ22p/XSvSX/FwWeNsJ8NZYS06C7jXVnWherDpN06zjbX1VfNCOjOnPpSaa++Zr/vPcb8B7dp7tA7nuId7vbYR6+mJc3itvFBt1zrjVGE+BUzcByHqn1n2H9ahOSDm+veZEcJv6Iivz0WEuTRnvhkw7kyNMJcehuEepWPEQZF/rCLPoSCxBzBX4A5wFhj7tvW/GiyijpW5czFbF/hmwDz3xEw/HbEOPSs4hyeKEQs151hV/yyLi6jGfJpH+2+2bwZgHXp24e6x95kRwm3qbIeKi6jfg5ALB3COQq29O02MeIg5P169xyzSv3kBHoZ8M8Da7X+PZr0DrEPPecb++vpfDRYRLp/sc+MiqvEg5Jyw/8A69MxC37FfDRZHY+Husav2kxBrC3B39v9aHuZxF+f13r/vh0EjQdMickAAAHDFvwIMADQ3BGGlKQ/DAAAAAElFTkSuQmCC\"","import { AuthorizationService } from './../../framework/base/services/authorization-service';\nimport { EventAggregator } from 'aurelia-event-aggregator';\nimport { Subscription } from 'aurelia-event-aggregator';\nimport { IDialogConfirmOptions, DialogConfirmService } from './../../framework/forms/services/dialog-confirm-service';\nimport { BenutzerTyp } from './../enumerations/benutzer-typ';\nimport { autoinject } from 'aurelia-framework';\nimport { RestService, LocationService } from '../../framework/base/services/export';\nimport { StartupService } from './startup-service';\nimport { NachrichtErstellen } from '../elements/nachricht-erstellen/nachricht-erstellen';\n\nimport * as moment from \"moment\";\nimport { IDatei } from '../elements/datei/datei';\nimport { FormBase } from '../../framework/forms/export';\n\n@autoinject\nexport class NachrichtService {\n private _nachrichtStatusInterval: any;\n private _nachrichtGelesenSubscription: Subscription;\n private _nachrichtUngelesenSubscription: Subscription;\n\n constructor(\n private _restService: RestService,\n private _startupService: StartupService,\n private _dialogConfirmService: DialogConfirmService,\n private _eventAggregator: EventAggregator,\n private _authorizationService: AuthorizationService,\n private _locationService: LocationService\n ) { \n this._nachrichtStatusInterval = setInterval(() => {\n this.checkNachrichtStatus();\n }, 30000);\n\n this.checkNachrichtStatus();\n\n this._nachrichtGelesenSubscription = this._eventAggregator.subscribe(\"nachricht:gelesen\", () => {\n this.checkNachrichtStatus();\n });\n this._nachrichtUngelesenSubscription = this._eventAggregator.subscribe(\"nachricht:ungelesen\", () => {\n this.checkNachrichtStatus();\n });\n }\n\n nachrichtErstellen: NachrichtErstellen;\n\n anzUngelesen: number;\n anzUngelesenAbwesend: number; \n\n canNachrichtErstellen(objektFullName: string): boolean {\n if (!this._startupService.startupInfo.Benutzer.HasNachrichten) {\n return false;\n }\n if (!objektFullName) {\n return false;\n }\n\n const canNachrichtenErstellen = this._startupService.startupInfo.Benutzer.HasNachrichten;\n if (!canNachrichtenErstellen) {\n return false;\n }\n\n return this.canNachrichtErstellenCheckFullName(objektFullName);\n }\n canMassennachrichtErstellen(objektFullName: string): boolean {\n if (!this._startupService.startupInfo.Benutzer.HasNachrichten) {\n return false;\n }\n if (!this._startupService.startupInfo.Benutzer.CanNachrichtMassennachricht) {\n return false;\n }\n if (!objektFullName) {\n return false;\n }\n\n return this.canNachrichtErstellenCheckFullName(objektFullName);\n }\n\n async doNachrichtErstellen(benutzerInfo: INachrichtBenutzerInfo, typ: NachrichtTyp = NachrichtTyp.Nachricht, dateiList?: IDatei[]) {\n const nachricht: INachricht = {\n isReadOnly: false,\n dateiList: dateiList || [],\n erstellTyp: NachrichtErstellTyp.NeuOderBearbeiten,\n typ: typ,\n nachrichtSignatur: this._startupService.startupInfo.Benutzer.NachrichtSignatur\n };\n\n nachricht.empfContainer = {\n NachrichtEmpfaengerList: [{ \n Id: benutzerInfo.idBenutzer,\n Name: benutzerInfo.name, \n IsGruppe: benutzerInfo.anzeigeTyp == NachrichtAnzeigeTyp.Gruppe \n }]\n };\n\n let titel = \"Nachricht erstellen\";\n\n switch (typ) {\n case NachrichtTyp.Telefonat: {\n titel = \"Telefonat\";\n nachricht.nachrichtSignatur = null;\n nachricht.anlagedatum = moment().toDate();\n break;\n }\n case NachrichtTyp.Notiz: {\n titel = \"Notiz\";\n nachricht.nachrichtSignatur = null;\n nachricht.anlagedatum = moment().toDate();\n break;\n }\n default: {\n break;\n }\n }\n\n this.showNachrichtErstellenPopup(titel, nachricht);\n }\n async doNachrichtErstellenFromObjekt(objektList: (number | INachrichtEmpfObjektModel)[], fullName: string) {\n const benutzertyp = await this.getBenutzertyp(fullName);\n\n const nachricht: INachricht = {\n fullName: fullName,\n isReadOnly: false,\n dateiList: [],\n erstellTyp: NachrichtErstellTyp.NeuOderBearbeiten,\n typ: NachrichtTyp.Nachricht,\n nachrichtSignatur: this._startupService.startupInfo.Benutzer.NachrichtSignatur\n };\n\n //Konvertieren der Objekt-Liste, falls nur IDs kommen\n objektList = objektList.map(item => {\n if (typeof item == \"number\") {\n return {\n IdObjekt: item\n };\n } else {\n return item;\n }\n });\n\n nachricht.empfContainer = await this._restService.post({\n url: this._restService.getApiUrl(\"ZIT/Nachricht/GetBenutzerFromObjekt\"),\n increaseLoadingCount: true,\n data: {\n ObjektList: objektList,\n Benutzertyp: benutzertyp,\n FullName: fullName\n }\n });\n\n const hasNoBerechtigungMassennachricht = nachricht.empfContainer\n && nachricht.empfContainer.NachrichtEmpfaengerList\n && nachricht.empfContainer.NachrichtEmpfaengerList.length > 1\n && !this._startupService.startupInfo.Benutzer.CanNachrichtMassennachricht;\n\n if (hasNoBerechtigungMassennachricht) {\n DevExpress.ui.notify(\"Keine Berechtigung zum Versenden von Nachrichten an mehrere Personen.\", \"error\", 3000);\n return;\n }\n\n this.showNachrichtErstellenPopup(\"Nachricht erstellen\", nachricht);\n }\n async doAntwortNachrichtErstellen(keyReferenzNachricht: string, idEmpfaengerBenutzer: number, empfaengerName: string) {\n const nachricht: INachricht = {\n isReadOnly: false,\n erstellTyp: NachrichtErstellTyp.Antworten,\n keyReferenzNachricht: keyReferenzNachricht,\n dateiList: [],\n typ: NachrichtTyp.Nachricht,\n nachrichtSignatur: this._startupService.startupInfo.Benutzer.NachrichtSignatur\n };\n\n nachricht.empfContainer = {\n NachrichtEmpfaengerList: [\n { Id: idEmpfaengerBenutzer, Name: empfaengerName }]\n };\n\n this.showNachrichtErstellenPopup(\"Antworten\", nachricht);\n }\n async doWeiterleitenNachrichtErstellen(keyReferenzNachricht: string, text: string, dateiList?: IDatei[]) {\n const nachricht: INachricht = {\n isReadOnly: true,\n erstellTyp: NachrichtErstellTyp.Weiterleiten,\n keyReferenzNachricht: keyReferenzNachricht,\n nachrichtText: text,\n dateiList: dateiList || [],\n typ: NachrichtTyp.Nachricht\n };\n\n this.showNachrichtErstellenPopup(\"Nachricht weiterleiten\", nachricht);\n }\n async doUmleitenNachrichtErstellen(keyReferenzNachricht: string, text: string, dateiList?: IDatei[]) {\n const nachricht: INachricht = {\n isReadOnly: true,\n erstellTyp: NachrichtErstellTyp.Umleiten,\n keyReferenzNachricht: keyReferenzNachricht,\n nachrichtText: text,\n dateiList: dateiList || [],\n typ: NachrichtTyp.Nachricht\n };\n\n this.showNachrichtErstellenPopup(\"Nachricht umleiten\", nachricht);\n }\n async doNachrichtBearbeiten(item: any) {\n const nachricht: INachricht = {\n erstellTyp: NachrichtErstellTyp.NeuOderBearbeiten,\n key: item.KeyNachricht,\n nachrichtText: item.TextOrg,\n typ: item.Typ,\n telefonatTyp: item.TelefonatTyp,\n anlagedatum: item.Anlagedatum,\n dateiList: (item.DateiList || []).map(d => {\n return {\n id: d.Id,\n dmsLink: d.DMSLink,\n dmsLinkDownload: d.DMSLinkDownload,\n dateiname: d.Dateiname,\n exists: true\n };\n })\n };\n\n let titel = \"Nachricht bearbeiten\";\n\n switch (item.Typ) {\n case NachrichtTyp.Telefonat: {\n titel = \"Telefonat bearbeiten\";\n break;\n }\n case NachrichtTyp.Notiz: {\n titel = \"Notiz bearbeiten\";\n break;\n }\n default: {\n break;\n }\n }\n\n this.showNachrichtErstellenPopup(titel, nachricht);\n }\n async doNachrichtGelesenMarkieren(keyReferenzNachricht: string) {\n return this._restService.get({\n url: `${this._restService.getApiUrl(\"ZIT/Nachricht/NachrichtGelesen?keyNachricht=\")}${keyReferenzNachricht}`,\n increaseLoadingCount: true\n });\n }\n async doNachrichtUngelesenMarkieren(keyReferenzNachricht: string) {\n return this._restService.get({\n url: `${this._restService.getApiUrl(\"ZIT/Nachricht/NachrichtUngelesen?keyNachricht=\")}${keyReferenzNachricht}`,\n increaseLoadingCount: true\n });\n }\n async showNachrichtErstellenPopup(titel: string, nachricht: INachricht) {\n if (!nachricht.idDateiLoeschList) {\n nachricht.idDateiLoeschList = [];\n }\n if (nachricht.doVollstaendigeNachrichtVersenden == void(0)) {\n nachricht.doVollstaendigeNachrichtVersenden = false;\n }\n\n this.nachrichtErstellen.popupTitel = titel;\n this.nachrichtErstellen.show(nachricht);\n }\n\n showDeleteDialog(keyReferenzNachricht: string) {\n return new Promise((resolve, reject) => {\n const dialogConfirmOptions: IDialogConfirmOptions = {\n title: \"Löschen\",\n message: \"Sind Sie sicher, dass sie diese Nachricht löschen wollen?\",\n buttons: [{\n id: \"\",\n text: \"Ja\",\n onClick: async () => {\n await this._restService.get({\n url: `${this._restService.getApiUrl(\"ZIT/Nachricht/DeleteNachricht?keyNachricht=\")}${keyReferenzNachricht}`,\n increaseLoadingCount: true\n });\n\n resolve(true);\n }\n }, {\n id: \"\",\n text: \"Nein\",\n onClick: () => {\n resolve(false);\n }\n }]\n };\n \n this._dialogConfirmService.show(dialogConfirmOptions);\n });\n }\n\n async getBenutzerFromObjekt(fullName: string, idObjekt: number) {\n const benutzertyp = await this.getBenutzertyp(fullName);\n\n const result: INachrichtObjektBenutzerContainer = await this._restService.post({\n url: this._restService.getApiUrl(\"ZIT/Nachricht/GetBenutzerFromObjekt\"),\n increaseLoadingCount: true,\n data: {\n ObjektList: [{ IdObjekt: idObjekt }],\n Benutzertyp: benutzertyp,\n FullName: fullName\n }\n });\n\n if (result.NachrichtEmpfaengerList.length == 0) {\n return null;\n }\n\n return result.NachrichtEmpfaengerList[0];\n } \n getEmpfaengerDataSource(): DevExpress.data.DataSource {\n const result = new DevExpress.data.DataSource(\n new DevExpress.data.CustomStore({\n byKey: async (key) => {\n const r = await this._restService.post({\n url: this._restService.getApiUrl(\"ZIT/Nachricht/BenutzerAuswahlList\"),\n data: {\n Id: key\n },\n increaseLoadingCount: true\n });\n\n if (r && r.length > 0) {\n return r[0];\n } else {\n return null;\n }\n },\n load: async (e) => {\n const r = await this._restService.post({\n url: this._restService.getApiUrl(\"ZIT/Nachricht/BenutzerAuswahlList\"),\n data: {\n Take: e.take,\n Skip: e.skip,\n SearchValue: e.searchValue\n },\n increaseLoadingCount: true\n });\n\n return {\n data: r\n };\n }\n })\n );\n result.pageSize(20);\n\n return result;\n }\n async getNachrichtGruppeBenutzerInfoForObjekt(objektFullName: string, idObjekt: number): Promise {\n const r = await this._restService.post({\n url: this._restService.getApiUrl(\"ZIT/Nachricht/NachrichtGruppeBenutzerInfoForObjekt\"),\n data: {\n ObjektFullName: objektFullName,\n IdObjekt: idObjekt\n }\n });\n\n if (!r) {\n return null;\n }\n\n return {\n anzeigeTyp: r.AnzeigeTyp,\n idBenutzer: r.IdBenutzer,\n isGruppeAdmin: r.IsGruppeAdmin,\n name: r.Name\n }\n }\n async getStatus(): Promise {\n return this._restService.get({\n url: this._restService.getApiUrl(\"ZIT/Nachricht/Status\"),\n increaseLoadingCount: false\n });\n }\n async getTextmarken(): Promise {\n return await this._restService.get({\n url: this._restService.getApiUrl(\"ZIT/Nachricht/TextMarken\")\n });\n }\n\n goToNachrichtList(benutzerInfo: INachrichtBenutzerInfo | INachrichtBenutzerModel, form: FormBase) {\n const model = benutzerInfo;\n if (model.Id) {\n\n benutzerInfo = {\n idBenutzer: model.Id,\n anzeigeTyp: model.IsGruppe ? NachrichtAnzeigeTyp.Gruppe : NachrichtAnzeigeTyp.Benutzer,\n name: model.Name,\n isGruppeAdmin: false\n };\n }\n\n this._locationService.goTo({\n url: \"Nachrichten\",\n currentViewModel: form,\n customOptions: {\n benutzerInfo: benutzerInfo\n }\n });\n }\n\n private canNachrichtErstellenCheckFullName(objektFullName: string): boolean {\n switch (objektFullName) {\n case \"TIP.ZIT.Business.Entities.Objekte.Stelleninserate.Stelleninserat\":\n case \"TIP.ZIT.Business.Entities.Objekte.Bewerbungen.Bewerbung\":\n case \"TIP.ZIT.Business.Entities.Objekte.Disposition.DispoPlanstellePersonenzuteilung\":\n case \"TIP.ZIT.Business.Entities.Objekte.Ansprechpersonen.Ansprechperson\":\n case \"TIP.ZIT.Business.Entities.Objekte.Personen.Person\":\n case \"TIP.ZIT.Business.Entities.Objekte.Disposition.DispoPlanstelle\":\n case \"TIP.ZIT.Business.Entities.Objekte.Termine.Termin\":\n return true;\n default:\n return false;\n }\n }\n\n private async checkNachrichtStatus() {\n if (!this._authorizationService.isLoggedIn) {\n this.anzUngelesen = null;\n this.anzUngelesenAbwesend = null;\n\n return;\n }\n\n const r = await this.getStatus();\n\n if (!r) {\n this.anzUngelesenAbwesend = null;\n this.anzUngelesen = null;\n\n return;\n }\n\n this.anzUngelesenAbwesend = r.AnzUngelesenAbwesend;\n this.anzUngelesen = r.AnzUngelesen;\n }\n\n private async getBenutzertyp(fullName: string): Promise {\n let benutzertyp = this._startupService.startupInfo.Benutzer.Benutzertyp;\n\n if (benutzertyp == BenutzerTyp.Ungueltig) {\n return;\n }\n\n benutzertyp = this.getBenutzertypFromFullName(fullName, benutzertyp);\n\n if (benutzertyp == BenutzerTyp.Administrator || benutzertyp == BenutzerTyp.InternerBenutzer) {\n const dialogConfirmOptions: IDialogConfirmOptions = {\n title: \"Geschäftspartner/Person\",\n message: \"Soll die Nachricht an die Geschäftspartner oder die Personen gesendet werden?\",\n buttons: [{\n id: \"geschaeftspartner\",\n text: \"Geschäftspartner\",\n onClick: () => {\n benutzertyp = BenutzerTyp.NatuerlichePerson;\n }\n }, {\n id: \"personen\",\n text: \"Personen\",\n onClick: () => {\n benutzertyp = BenutzerTyp.JuristischePerson;\n }\n }]\n };\n\n await this._dialogConfirmService.show(dialogConfirmOptions);\n }\n\n return benutzertyp;\n }\n private getBenutzertypFromFullName(fullName: string, benutzertypDefault: BenutzerTyp): BenutzerTyp {\n switch (fullName) {\n case \"TIP.ZIT.Business.Entities.Objekte.Stelleninserate.Stelleninserat\":\n case \"TIP.ZIT.Business.Entities.Objekte.Bewerbungen.Bewerbung\":\n case \"TIP.ZIT.Business.Entities.Objekte.Disposition.DispoPlanstellePersonenzuteilung\":\n case \"TIP.ZIT.Business.Entities.Objekte.Disposition.DispoPlanstelle\":\n return benutzertypDefault;\n case \"TIP.ZIT.Business.Entities.Objekte.Ansprechpersonen.Ansprechperson\":\n return BenutzerTyp.JuristischePerson;\n case \"TIP.ZIT.Business.Entities.Objekte.Personen.Person\":\n case \"TIP.ZIT.Business.Entities.Objekte.Termine.Termin\":\n return BenutzerTyp.NatuerlichePerson;\n default:\n return benutzertypDefault;\n }\n }\n}\n\nexport interface INachrichtEmpfObjektModel {\n IdObjekt: number;\n IdObjektRef?: number;\n}\nexport interface INachrichtBenutzerInfo {\n idBenutzer: number;\n name: string;\n anzeigeTyp: NachrichtAnzeigeTyp;\n isGruppeAdmin: boolean;\n}\nexport interface INachrichtBenutzerModel {\n Id: number;\n Name: string;\n IsGruppe?: boolean;\n IdObjekt?: number;\n}\nexport interface INachrichtBenutzerFromObjekt {\n ObjektList: INachrichtEmpfObjektModel[],\n Benutzertyp: BenutzerTyp;\n FullName: string;\n}\nexport interface INachricht {\n key?: string;\n typ?: NachrichtTyp;\n erstellTyp?: NachrichtErstellTyp;\n empfContainer?: INachrichtObjektBenutzerContainer;\n dateiList?: IDatei[];\n idDateiLoeschList?: number[];\n isReadOnly?: boolean;\n keyReferenzNachricht?: string;\n nachrichtText?: string;\n nachrichtSignatur?: string;\n fullName?: string;\n telefonatTyp?: TelefonatTyp;\n anlagedatum?: Date;\n doVollstaendigeNachrichtVersenden?: boolean;\n}\nexport interface INachrichtObjektBenutzerContainer {\n NachrichtEmpfaengerList: INachrichtBenutzerModel[];\n}\nexport interface INachrichtTextmarke {\n Bezeichnung: string;\n Value: string;\n}\nexport enum NachrichtAnzeigeTyp {\n Benutzer = 0,\n Gruppe = 1\n}\nexport enum NachrichtErstellTyp {\n Antworten = 0,\n Weiterleiten = 1,\n Umleiten = 2,\n NeuOderBearbeiten = 3\n}\nexport enum NachrichtTyp {\n Nachricht = 0,\n Telefonat = 1,\n ExtEmail = 2,\n Notiz = 3\n}\nexport enum TelefonatTyp {\n Erreicht = 0,\n NichtErreicht = 1,\n EingehendesTelefonat = 2\n}\n","import { autoinject } from \"aurelia-framework\";\n\n@autoinject\nexport class ModelUtilsService {\n private _isDirtyProperty = \"_IsDirty\";\n\n constructor() {}\n\n clearDirty(modelData: any) {\n delete modelData[this._isDirtyProperty];\n }\n setDirty(modelData: any) {\n modelData[this._isDirtyProperty] = true;\n }\n isDirty(modelData: any): boolean {\n return !!modelData[this._isDirtyProperty];\n }\n}\n","import { autoinject, transient, TaskQueue, computedFrom } from 'aurelia-framework';\nimport { FormBase } from '../../../../framework/forms/classes/export';\nimport { LocalizationService } from '../../../../framework/base/services/export';\nimport { ICommandData, DialogConfirmService } from '../../../../framework/forms/export';\nimport { GeschaeftspartnerService } from '../../../services/export';\nimport { IdxValidationGroupComponent, IdxDataGridComponent } from '../../../interfaces/export';\n\n@autoinject\n@transient()\nexport class GeschaeftspartnerEntlohnungsschemaUtils {\n constructor(\n private geschaeftspartner: GeschaeftspartnerService,\n private localization: LocalizationService,\n private taskqueue: TaskQueue,\n private dialogConfirmService: DialogConfirmService\n ) { }\n\n form: FormBase;\n\n addNewEntlohnungsschemaCommand: ICommandData = {\n id: \"addNewEntlohnungsschemaCommand\",\n icon: \"fas fa-plus\",\n tooltip: \"geschaeftspartner.neues-entlohnungsschema\",\n execute: () => {\n const grid: IdxDataGridComponent = this.form[\"r_entlohungsschemaDataGrid\"];\n if (grid && grid.instance) {\n grid.instance.deselectAll();\n }\n\n this.setEditEntlohnungsschemaData(0);\n }\n };\n saveEntlohungsschemaCommand: ICommandData = {\n id: \"saveEntlohungsschemaCommand\",\n icon: \"fas fa-save\",\n tooltip: \"base.save\",\n execute: () => {\n this.saveEntlohnungsschema();\n }\n };\n deleteEnlohnungsschemaCommand: ICommandData = {\n id: \"deleteEnlohnungsschemaCommand\",\n icon: \"far fa-trash-alt\",\n tooltip: \"base.delete\",\n isEnabled: false,\n execute: () => {\n const id = this.form.models.data.$m_EntlohnungsschemaEdit.Id;\n this.deleteEntlohnungsschema(id);\n }\n };\n\n onEntlohungsschemaClick(e) {\n this.setEditEntlohnungsschemaData(e.data.Id);\n }\n\n bind(form: FormBase) {\n this.form = form;\n this.setEditEntlohnungsschemaData(0);\n }\n\n private refreshEntlohnungsschemaGrid() {\n const grid: IdxDataGridComponent = this.form[\"r_entlohungsschemaDataGrid\"];\n if (grid && grid.instance) {\n grid.instance.refresh();\n }\n }\n private setEditEntlohnungsschemaData(id: number) {\n if (id == void 0) {\n return;\n }\n this.deleteEnlohnungsschemaCommand.isEnabled = id && id != 0;\n\n const model = this.form.models.getInfo(\"$m_EntlohnungsschemaEdit\");\n this.form.models.loadModel(model, id);\n }\n\n private async saveEntlohnungsschema() {\n const validationGroup: IdxValidationGroupComponent = this.form[\"r_entlohungsschemaValidationGroup\"];\n const result = validationGroup.instance.validate();\n if (result.isValid) {\n const dataToSave = this.form.models.data.$m_EntlohnungsschemaEdit;\n dataToSave.IdGeschaeftspartner = dataToSave.IdGeschaeftspartner || this.form.variables.data.$v_idGeschaeftspartner;\n\n this.form.models.data.$m_EntlohnungsschemaEdit = await this.geschaeftspartner.saveEntlohnungsschema(dataToSave);\n\n this.onEntlohnungsschemaSaved();\n }\n }\n private deleteEntlohnungsschema(id: number) {\n if (id == void 0) {\n return;\n }\n\n const title = this.localization.translateOnce(\"zit.loeschen-confirm-title\");\n const message = this.localization.translateOnce(\"zit.loeschen-confirm-message\", [\"das Entlohnungsschema\"]);\n\n this.dialogConfirmService.show({\n title: title,\n message: message\n }).then(async r => {\n if (!r) {\n return;\n }\n\n await this.geschaeftspartner.deleteEntlohnungsschema(id);\n\n this.onEntlohungsschemaDeleted();\n });\n }\n\n private onEntlohungsschemaDeleted() {\n DevExpress.ui.notify(this.localization.translateOnce(\"zit.geloescht-message\", [\"Entlohungsschema\"]), \"info\", 3000);\n\n this.setEditEntlohnungsschemaData(0);\n this.refreshEntlohnungsschemaGrid();\n }\n private onEntlohnungsschemaSaved() {\n this.refreshEntlohnungsschemaGrid();\n\n DevExpress.ui.notify(this.localization.translateOnce(\"base.save_success\"), \"success\", 3000);\n }\n}\n","import {\n autoinject\n} from \"aurelia-framework\";\nimport {\n FormBase\n} from \"../classes/form-base\";\nimport {\n BaseWidgetCreatorService\n} from \"./base-widget-creator-service\";\nimport {\n GlobalizationService,\n LocalizationService\n} from \"../../base/services/export\";\nimport {\n SelectionModeEnum\n} from \"../enums/selection-mode-enum\";\nimport {\n EnumItemService\n} from \"../services/export\";\nimport {\n IListViewOptions\n} from \"../elements/list-view/list-view-options\";\nimport * as WidgetOptions from \"../widget-options/export\";\nimport { ListViewPagingMode } from '../elements/list-view/list-view-paging-mode';\nimport { ListType } from '../enums/list-type-enum';\n\n@autoinject\nexport class ListViewWidgetCreatorService {\n constructor(\n private baseWidgetCreator: BaseWidgetCreatorService,\n private globalization: GlobalizationService,\n private localization: LocalizationService,\n private enumItem: EnumItemService\n ) { }\n\n addListView(form: FormBase, options: WidgetOptions.IListViewOptions) {\n const listViewOptions: IListViewOptions = this.baseWidgetCreator.createWidgetOptions(form, options);\n\n if (options.dataModel && !options.binding.bindTo) {\n const dataSource = this.baseWidgetCreator.createListDataSource(form, options, listViewOptions);\n listViewOptions.dataSource = dataSource;\n }\n else if (options.binding.bindToFQ) {\n const dataSource = new DevExpress.data.DataSource(new DevExpress.data.CustomStore({\n cacheRawData: false,\n loadMode: \"raw\",\n load: () => {\n return form.binding.evaluate(\n form.scope,\n options.binding.bindToFQ\n ) || [];\n }\n }));\n \n dataSource.requireTotalCount(true);\n listViewOptions.dataSource = dataSource;\n\n form.binding.observe({\n scopeContainer: form.scopeContainer,\n expression: options.binding.bindToFQ,\n callback: (newVal) => {\n dataSource.load();\n }\n });\n }\n\n listViewOptions.groupProperty = options.groupProperty;\n\n this.baseWidgetCreator.setListClickActions(form, options);\n const customOptions = this.baseWidgetCreator.getCustomOptions(form, options);\n\n if (customOptions.hasClickActions > 0) {\n listViewOptions.hoverStateEnabled = true;\n\n listViewOptions.onItemClick = (e) => {\n customOptions.clickActions.forEach(item => {\n item(e, listViewOptions.dataSource);\n });\n\n if ((options.selectionMode || \"none\") === \"none\") {\n customOptions.openClickActions.forEach(item => {\n item(e, listViewOptions.dataSource);\n });\n }\n };\n }\n\n if (options.pagingMode) {\n switch (options.pagingMode) {\n case \"loadNext\": {\n listViewOptions.pagingMode = ListViewPagingMode.loadNext;\n break;\n }\n case \"paging\": {\n listViewOptions.pagingMode = ListViewPagingMode.paging;\n break;\n }\n default: {\n break;\n }\n }\n }\n\n if (options.height) {\n listViewOptions.height = options.height;\n }\n\n if (options.itemClass) {\n listViewOptions.itemClass = options.itemClass;\n }\n\n if (options.selectionMode) {\n listViewOptions.selectionMode = this.getSelectionMode(options.selectionMode);\n }\n\n if (options.showPagerInfo) {\n listViewOptions.showPagerInfo = options.showPagerInfo;\n }\n if (options.showReloadButton) {\n listViewOptions.showReloadButton = options.showReloadButton;\n }\n if (options.useDefaultListItemStyle != void (0)) {\n listViewOptions.useDefaultListItemStyle = options.useDefaultListItemStyle;\n }\n\n if (options.pageSize) {\n if (listViewOptions.dataSource) {\n listViewOptions.dataSource.pageSize(options.pageSize);\n }\n\n listViewOptions.pageSize = options.pageSize\n }\n\n this.baseWidgetCreator.checkListToolbar(form, options, null, ListType.ListView);\n this.baseWidgetCreator.checkListRelationEdit(form, options);\n }\n\n private getSelectionMode(selectionMode: SelectionModeEnum): string {\n switch (selectionMode) {\n case SelectionModeEnum.Multiple:\n return \"multiple\";\n case SelectionModeEnum.Single:\n return \"single\";\n default:\n return \"none\";\n }\n }\n} \n","import { autoinject } from \"aurelia-framework\";\nimport { DxWidget } from '../../framework/dx/elements/dx-widget';\nimport { EventAggregator } from 'aurelia-event-aggregator';\nimport { RestService } from '../../framework/base/services/rest-service';\nimport { StartupService } from './startup-service';\nimport * as DxLoader from \"../../framework/dx/dx-loader\";\n\n@autoinject\nexport class TooltipService {\n private _isEnabled: boolean = false;\n private _onElementClick: any;\n private _supportedWidgetList: string[] = [\"dxTextBox\", \"dxDateBox\", \"dxNumberBox\", \"dxRadioGroup\", \"dxSelectBox\", \"dxLookup\", \"dxCheckBox\", \"dxTextArea\"];\n private _tooltips: any;\n\n constructor(\n private eventAggregator: EventAggregator,\n private rest: RestService,\n private startupService: StartupService\n ) {\n this._onElementClick = this.onElementClick.bind(this); \n \n this._tooltips = {};\n\n this.startupService.startupInfo.TooltipList.forEach(tooltip => {\n this._tooltips[tooltip.Key] = tooltip.Tooltip;\n });\n\n this.eventAggregator.subscribe(\"dx-widget:attached\", e => {\n const key = this.getWidgetKey(e.widget, e.widget.element);\n if (!key) {\n return;\n }\n\n const tooltip = this._tooltips[key];\n if (!tooltip) {\n return;\n }\n\n e.widget.createTooltip(tooltip);\n });\n }\n\n get isEnabled(): boolean {\n return this._isEnabled;\n }\n\n enable() {\n if (this.isEnabled) {\n return;\n }\n\n document.addEventListener(\"click\", this._onElementClick);\n this._isEnabled = true;\n }\n disable() {\n if (!this.isEnabled) {\n return;\n }\n\n document.removeEventListener(\"click\", this._onElementClick);\n this._isEnabled = false;\n }\n\n onElementClick(e) {\n const widget = this.getWidget(e.target);\n if (!widget) {\n return;\n }\n\n this.eventAggregator.publish(\"tooltip:widget-changed\", {\n tooltipWidget: widget\n });\n }\n getWidget(element: HTMLElement): ITooltipWidget {\n let el = element;\n while (el) {\n if (el.tagName == \"DX-WIDGET\") {\n break;\n }\n\n el = el.parentElement;\n }\n\n if (!el) {\n return null;\n }\n\n if (el.classList.contains(\"z--no-tooltip\")) {\n return null;\n }\n\n const widget: any = el;\n\n const isSupported = widget.au \n && widget.au.controller \n && widget.au.controller.viewModel;\n\n if (!isSupported) {\n return null;\n }\n const dxWidget: DxWidget = widget.au.controller.viewModel;\n \n const key = this.getWidgetKey(dxWidget, el);\n if (!key) {\n return null;\n }\n\n return {\n widget: dxWidget,\n key: key,\n currentTooltip: this.getCurrentText(key)\n };\n }\n updateTooltip(widget: ITooltipWidget, newTooltip: string) {\n if (!widget || !widget.key) {\n return;\n }\n\n this.rest.post({\n url: this.rest.getApiUrl(\"ZIT/Tooltip/Post\"),\n data: {\n Key: widget.key,\n Tooltip: newTooltip\n },\n increaseLoadingCount: true\n });\n\n this._tooltips[widget.key] = newTooltip;\n widget.widget.createTooltip(newTooltip);\n }\n\n showTooltip(target: Element, htmlText: string) {\n const options: DevExpress.ui.dxTooltipOptions = {\n target: target,\n position: {\n my: \"top\",\n at: \"bottom\"\n },\n contentTemplate: (container) => {\n const div = document.createElement(\"div\");\n div.style.textAlign = \"left\";\n div.innerHTML = htmlText;\n container.appendChild(div);\n },\n onHidden: (e) => {\n element.remove();\n\n if (instance) {\n instance.dispose();\n }\n }\n };\n\n const element = document.createElement(\"div\");\n \n document.body.appendChild(element);\n\n const instance: DevExpress.ui.dxTooltip = DxLoader.createInstance(\"dxTooltip\", element, options);\n instance.show();\n }\n\n private getWidgetKey(dxWidget: DxWidget, element: any): string {\n if (!dxWidget.parentViewUrl) {\n return null;\n }\n if (!dxWidget.id) {\n return null;\n }\n\n return dxWidget.parentViewUrl.concat(\";\", dxWidget.id);\n }\n private getCurrentText(key: string): string {\n return this._tooltips[key] || \"\";\n }\n}\n\nexport interface ITooltipWidget {\n widget: DxWidget;\n key: string;\n currentTooltip: string;\n}\n","import {\n autoinject,\n transient,\n TaskQueue\n} from \"aurelia-framework\";\nimport {\n ICustomEventArgs\n} from \"../event-args/custom-event-args\";\nimport {\n ObjectInfoService\n} from \"../services/object-info-service\";\n\n@autoinject\n@transient()\nexport class CustomEvent {\n private delegates: { (args: T): Promise }[] = [];\n private argsQueue = [];\n private timeoutCancel: any;\n\n constructor(\n private objectInfo: ObjectInfoService,\n private taskQueue: TaskQueue) {}\n\n waitTimeout = 0;\n anyRegistered: boolean; \n\n register(action: { (args: T): Promise }): { (): void } {\n this.delegates.push(action);\n this.anyRegistered = this.delegates.length > 0;\n\n return () => {\n const indexOf = this.delegates.indexOf(action);\n if (indexOf < 0) {\n return;\n }\n\n this.delegates.splice(indexOf, 1);\n this.anyRegistered = this.delegates.length > 0;\n }\n }\n fire(args: T, waitTimeout: number = null): Promise {\n waitTimeout = waitTimeout == void(0) ? this.waitTimeout : waitTimeout;\n\n if (waitTimeout === 0) {\n return Promise.all(this.delegates.map(item => item(args)));\n } else {\n for (let item of this.argsQueue) {\n if (this.objectInfo.equal(item, args)) {\n return;\n }\n }\n\n if (this.timeoutCancel) {\n clearTimeout(this.timeoutCancel);\n this.timeoutCancel = null;\n }\n\n this.argsQueue.push(args);\n this.timeoutCancel = setTimeout(this.fireQueue.bind(this), waitTimeout);\n }\n }\n dispose() {\n this.delegates.splice(0);\n this.argsQueue.splice(0);\n }\n\n private async fireQueue() {\n const argsQueue = this.argsQueue.slice(0);\n this.argsQueue.splice(0, this.argsQueue.length);\n\n argsQueue.forEach(args => {\n this.taskQueue.queueTask(() => {\n this.delegates.map(item => item(args));\n });\n });\n }\n}\n","import {\n autoinject\n} from \"aurelia-framework\";\nimport {\n CustomEvent\n} from \"../../base/export\";\nimport {\n IModelLoadedEventArgs,\n IModelSavedEventArgs,\n IModelDeletedEventArgs\n} from \"../event-args/export\";\n\n@autoinject\nexport class ModelEventService {\n constructor(\n public onLoaded: CustomEvent,\n public onSaved: CustomEvent,\n public onDeleted: CustomEvent\n ) {}\n}","import { autoinject } from 'aurelia-framework';\nimport { RestService } from './../../framework/base/services/export';\nimport { IStatusChangeData,IStatusChangeResultData } from '../interfaces/export';\nimport { JsonService } from '../../framework/base/services/export';\n\n@autoinject\nexport class StatusService {\n constructor(\n private json: JsonService,\n private rest: RestService\n ) { }\n\n allowUpdateObjektStatus(keys: number[]): Promise {\n if (!keys || !keys.length) {\n return;\n }\n\n return this.rest.post({\n url: this.rest.getApiUrl(\"ZIT/Objekt/CanUpdateObjektStatus\"),\n data: this.json.stringify(keys),\n increaseLoadingCount: true\n });\n }\n\n changeObjektStatus(data: IStatusChangeData): Promise {\n if(!data){\n return;\n }\n return this.rest.post({\n url: this.rest.getApiUrl(\"ZIT/Objekt/ChangeObjektStatus\"),\n data: this.json.stringify(data),\n increaseLoadingCount: true\n });\n }\n\n loadBenutzerAvailableObjektStatus(keys: number[]): Promise {\n if (!keys || !keys.length) {\n return;\n }\n\n return this.rest.post({\n url: this.rest.getApiUrl(\"ZIT/Objekt/ObjektStatusFolgeStatus\"),\n data: keys,\n increaseLoadingCount: true\n });\n }\n\n async loadStatusHistorie(keys: number[]): Promise {\n if (!keys || keys.length != 1) {\n return [];\n }\n\n return await this.rest.post({\n url: this.rest.getApiUrl(\"ZIT/Objekt/ObjektStatusHistorie\"),\n data: {\n IdObjektStatusElement: keys[0]\n },\n increaseLoadingCount: true\n });\n }\n\n async getObjektStatusSammlungTypList(idObjekttyp: number): Promise {\n return await this.rest.post({\n url: this.rest.getApiUrl(\"ZIT/Objekt/ObjektStatusSammlungTyp\"),\n data: {\n IdObjekttyp: idObjekttyp\n },\n increaseLoadingCount: true\n });\n }\n async getObjektStatusByObjektStatusSammlung(objektFullName: string, objektStatusSammlungTyp: ObjektStatusSammlungTyp) {\n return await this.rest.get({\n url: this.rest.getWebApiUrl(\"ZIT/Stammdaten/ObjektStatus\"),\n getOptions: {\n where: [\n [\"Objekttyp.Fullname\", objektFullName],\n [\"ObjektStatusSammlungen\", [\"ObjektStatusSammlung.Typ\", objektStatusSammlungTyp]]\n ]\n }\n });\n }\n}\n\nexport interface IObjektStatusSammlungTyp {\n Id: number;\n Bezeichnung: string;\n}\nexport enum ObjektStatusSammlungTyp {\n EventTeilnehmerZugesagt = 7,\n EventTeilnehmerAbgesagt = 8,\n EventTeilnehmerOffen = 9\n}","import { autoinject, Scope, OverrideContext } from \"aurelia-framework\";\nimport { FormBase } from '../classes/form-base';\n\n@autoinject\nexport class FormUtilsService {\n constructor() {}\n\n getMainForm(scope: Scope | OverrideContext, treatEditPopupAsMainForm: boolean = false): FormBase {\n if (scope.bindingContext == null) {\n return null;\n }\n\n if (scope.bindingContext instanceof FormBase) {\n const form: FormBase = scope.bindingContext;\n if ((!form.isEditPopup || treatEditPopupAsMainForm) && !form.isNestedForm) {\n return form;\n }\n }\n if (scope.bindingContext.mainForm instanceof FormBase) {\n return scope.bindingContext.mainForm;\n }\n\n if (scope[\"overrideContext\"]) {\n return this.getMainForm(scope[\"overrideContext\"]);\n } else if (scope[\"parentOverrideContext\"]) {\n return this.getMainForm(scope[\"parentOverrideContext\"]);\n }\n\n return null;\n }\n}\n","export {LayoutService} from \"./layout-service\";\nexport {HeaderService} from \"./header-service\";\nexport {LoadingService} from \"./loading-service\";","import {PLATFORM} from \"aurelia-framework\";\nexport class ModuleLoader {\nconstructor() {\nPLATFORM.moduleName(\"../framework/login/views/activate-account/activate-account-form\");\nPLATFORM.moduleName(\"../framework/login/views/login/login-form\");\nPLATFORM.moduleName(\"../framework/login/views/password-reset/password-reset-form\");\nPLATFORM.moduleName(\"../zit/views/berechtigungen/benutzer/benutzer-edit-form\",\"stammdaten\");\nPLATFORM.moduleName(\"../zit/views/berechtigungen/benutzer/benutzer-list-form\",\"stammdaten\");\nPLATFORM.moduleName(\"../zit/views/berechtigungen/benutzer/loginprofil-edit-form\",\"stammdaten\");\nPLATFORM.moduleName(\"../zit/views/berechtigungen/benutzergruppe/benutzergruppe-edit-form\",\"stammdaten\");\nPLATFORM.moduleName(\"../zit/views/berechtigungen/benutzergruppe/benutzergruppe-list-form\",\"stammdaten\");\nPLATFORM.moduleName(\"../zit/views/berechtigungen/benutzergruppe/objekte-zu-benutzergruppe-edit-form\");\nPLATFORM.moduleName(\"../zit/views/berechtigungen/benutzerrolle/benutzerrolle-edit-form\",\"stammdaten\");\nPLATFORM.moduleName(\"../zit/views/berechtigungen/benutzerrolle/benutzerrolle-layout-edit-form\",\"stammdaten\");\nPLATFORM.moduleName(\"../zit/views/berechtigungen/benutzerrolle/benutzerrolle-list-form\",\"stammdaten\");\nPLATFORM.moduleName(\"../zit/views/berechtigungen/benutzerrolle/benutzerrolle-menu-edit-form\",\"stammdaten\");\nPLATFORM.moduleName(\"../zit/views/berechtigungen/benutzerrolle/benutzerrolle-zu-kommunikation-benutzerrolle-edit-form\",\"stammdaten\");\nPLATFORM.moduleName(\"../zit/views/berechtigungen/benutzerrolle/benutzerrolle-zu-layout-edit-form\",\"stammdaten\");\nPLATFORM.moduleName(\"../zit/views/berechtigungen/benutzerrolle/benutzerrolle-zu-objekt-status-edit-form\",\"stammdaten\");\nPLATFORM.moduleName(\"../zit/views/berechtigungen/benutzerrolle/benutzerrolle-zu-standardfilter-edit-form\",\"stammdaten\");\nPLATFORM.moduleName(\"../zit/views/berechtigungen/benutzerrolle/kopfzeile-verknuepfung-edit-form\",\"stammdaten\");\nPLATFORM.moduleName(\"../zit/views/berechtigungen/codes/codes-edit-form\",\"stammdaten\");\nPLATFORM.moduleName(\"../zit/views/berechtigungen/codes/codes-list-form\",\"stammdaten\");\nPLATFORM.moduleName(\"../zit/views/berechtigungen/layout/layout-edit-form\",\"stammdaten\");\nPLATFORM.moduleName(\"../zit/views/berechtigungen/layout/layout-list-form\",\"stammdaten\");\nPLATFORM.moduleName(\"../zit/views/berechtigungen/mandant/channel-edit-form\",\"stammdaten\");\nPLATFORM.moduleName(\"../zit/views/berechtigungen/mandant/mandant-edit-form\",\"stammdaten\");\nPLATFORM.moduleName(\"../zit/views/berechtigungen/mandant/mandant-event-edit-form\",\"stammdaten\");\nPLATFORM.moduleName(\"../zit/views/berechtigungen/mandant/mandant-list-form\",\"stammdaten\");\nPLATFORM.moduleName(\"../zit/views/berechtigungen/skin/skin-edit-form\",\"stammdaten\");\nPLATFORM.moduleName(\"../zit/views/berechtigungen/skin/skin-list-form\",\"stammdaten\");\nPLATFORM.moduleName(\"../zit/views/dashboard/dashboard-form-form\");\nPLATFORM.moduleName(\"../zit/views/entwicklungsziele/entwicklungsziele-list-form\");\nPLATFORM.moduleName(\"../zit/views/entwicklungszone/entwicklungszone-list-form\");\nPLATFORM.moduleName(\"../zit/views/erklaervideo/erklaervideo-list-form\");\nPLATFORM.moduleName(\"../zit/views/nachrichten/nachrichten-list-form\");\nPLATFORM.moduleName(\"../zit/views/nachrichten-gruppe/nachrichten-gruppe-edit-form\",\"stammdaten\");\nPLATFORM.moduleName(\"../zit/views/navigation/navigation-form\");\nPLATFORM.moduleName(\"../zit/views/objekte/ansprechperson/ansprechperson-edit-form\");\nPLATFORM.moduleName(\"../zit/views/objekte/ansprechperson/ansprechperson-geschaeftspartner-edit-form\");\nPLATFORM.moduleName(\"../zit/views/objekte/ansprechperson/ansprechperson-heartbase-edit-form\");\nPLATFORM.moduleName(\"../zit/views/objekte/ansprechperson/ansprechperson-kontakt-edit-form\");\nPLATFORM.moduleName(\"../zit/views/objekte/ansprechperson/ansprechperson-list-form\");\nPLATFORM.moduleName(\"../zit/views/objekte/ansprechperson/ansprechperson-read-form\");\nPLATFORM.moduleName(\"../zit/views/objekte/aufgabe/aufgabe-edit-form\");\nPLATFORM.moduleName(\"../zit/views/objekte/aufgabe/aufgabe-list-form\");\nPLATFORM.moduleName(\"../zit/views/objekte/bewerbung/bewerbung-edit-form\");\nPLATFORM.moduleName(\"../zit/views/objekte/bewerbung/bewerbung-einsatzbereich-edit-form\");\nPLATFORM.moduleName(\"../zit/views/objekte/bewerbung/bewerbung-ferialer-ersteinstieg-edit-form\");\nPLATFORM.moduleName(\"../zit/views/objekte/bewerbung/bewerbung-ferialer-erweiterung-edit-form\");\nPLATFORM.moduleName(\"../zit/views/objekte/bewerbung/bewerbung-heartbase-erweiterung-edit-form\");\nPLATFORM.moduleName(\"../zit/views/objekte/bewerbung/bewerbung-lehre-edit-form\");\nPLATFORM.moduleName(\"../zit/views/objekte/bewerbung/bewerbung-lehre-ersteinstieg-edit-form\");\nPLATFORM.moduleName(\"../zit/views/objekte/bewerbung/bewerbung-lehre-erweiterung-edit-form\");\nPLATFORM.moduleName(\"../zit/views/objekte/bewerbung/bewerbung-list-form\");\nPLATFORM.moduleName(\"../zit/views/objekte/bewerbung/bewerbung-read-form\");\nPLATFORM.moduleName(\"../zit/views/objekte/disposition/dispo-list-form\",\"dispo\");\nPLATFORM.moduleName(\"../zit/views/objekte/disposition/dispo-personenzuteilung-ansprechperson-bewertung-edit-form\",\"dispo\");\nPLATFORM.moduleName(\"../zit/views/objekte/disposition/dispo-personenzuteilung-bestaetigung-edit-form\",\"dispo\");\nPLATFORM.moduleName(\"../zit/views/objekte/disposition/dispo-personenzuteilung-bestaetigung-lehre-edit-form\",\"dispo\");\nPLATFORM.moduleName(\"../zit/views/objekte/disposition/dispo-personenzuteilung-bestaetigung-lehre-read-form\",\"dispo\");\nPLATFORM.moduleName(\"../zit/views/objekte/disposition/dispo-personenzuteilung-bestaetigung-read-form\",\"dispo\");\nPLATFORM.moduleName(\"../zit/views/objekte/disposition/dispo-personenzuteilung-check-in-edit-form\",\"dispo\");\nPLATFORM.moduleName(\"../zit/views/objekte/disposition/dispo-personenzuteilung-edit-form\",\"dispo\");\nPLATFORM.moduleName(\"../zit/views/objekte/disposition/dispo-personenzuteilung-einsatzvorbereitung-edit-form\",\"dispo\");\nPLATFORM.moduleName(\"../zit/views/objekte/disposition/dispo-personenzuteilung-entlohnungsschema-edit-form\",\"dispo\");\nPLATFORM.moduleName(\"../zit/views/objekte/disposition/dispo-personenzuteilung-fragebogen-edit-form\",\"dispo\");\nPLATFORM.moduleName(\"../zit/views/objekte/disposition/dispo-personenzuteilung-gruppierung-edit-form\",\"dispo\");\nPLATFORM.moduleName(\"../zit/views/objekte/disposition/dispo-personenzuteilung-person-edit-form\",\"dispo\");\nPLATFORM.moduleName(\"../zit/views/objekte/disposition/dispo-personenzuteilung-zustand-aendern-form\",\"dispo\");\nPLATFORM.moduleName(\"../zit/views/objekte/disposition/dispo-planstelle-ansprechperson-edit-form\",\"dispo\");\nPLATFORM.moduleName(\"../zit/views/objekte/disposition/dispo-planstelle-edit-form\",\"dispo\");\nPLATFORM.moduleName(\"../zit/views/objekte/disposition/dispo-planstelle-gruppierung-edit-form\",\"dispo\");\nPLATFORM.moduleName(\"../zit/views/objekte/disposition/dispo-planstelle-skill-edit-form\",\"dispo\");\nPLATFORM.moduleName(\"../zit/views/objekte/disposition/dispo-planstelle-stelleninserat-edit-form\",\"dispo\");\nPLATFORM.moduleName(\"../zit/views/objekte/dokument/dokument-edit-form\");\nPLATFORM.moduleName(\"../zit/views/objekte/dokument/dokument-read-form\");\nPLATFORM.moduleName(\"../zit/views/objekte/dokument/dokument-unterfertigung-form\");\nPLATFORM.moduleName(\"../zit/views/objekte/dokument/dokument-version-information-form\");\nPLATFORM.moduleName(\"../zit/views/objekte/event/event-edit-form\");\nPLATFORM.moduleName(\"../zit/views/objekte/event/event-link-anmeldung-edit-form\",\"event\");\nPLATFORM.moduleName(\"../zit/views/objekte/event/event-list-form\");\nPLATFORM.moduleName(\"../zit/views/objekte/event/event-teilnehmer-edit-form\");\nPLATFORM.moduleName(\"../zit/views/objekte/event/event-teilnehmer-read-form\");\nPLATFORM.moduleName(\"../zit/views/objekte/event/event-zeitraum-edit-form\",\"stammdaten\");\nPLATFORM.moduleName(\"../zit/views/objekte/event/event-zeitraum-kontingent-edit-form\",\"event\");\nPLATFORM.moduleName(\"../zit/views/objekte/event/event-zeitraum-read-form\");\nPLATFORM.moduleName(\"../zit/views/objekte/event/event-zeitraum-stelleninserat-edit-form\");\nPLATFORM.moduleName(\"../zit/views/objekte/geschaeftspartner/geschaeftspartner-adresse-edit-form\");\nPLATFORM.moduleName(\"../zit/views/objekte/geschaeftspartner/geschaeftspartner-bankverbindung-edit-form\");\nPLATFORM.moduleName(\"../zit/views/objekte/geschaeftspartner/geschaeftspartner-dokument-edit-form\");\nPLATFORM.moduleName(\"../zit/views/objekte/geschaeftspartner/geschaeftspartner-edit-form\");\nPLATFORM.moduleName(\"../zit/views/objekte/geschaeftspartner/geschaeftspartner-entlohnungsschema-form\");\nPLATFORM.moduleName(\"../zit/views/objekte/geschaeftspartner/geschaeftspartner-gruppierung-form\");\nPLATFORM.moduleName(\"../zit/views/objekte/geschaeftspartner/geschaeftspartner-heartbase-edit-form\");\nPLATFORM.moduleName(\"../zit/views/objekte/geschaeftspartner/geschaeftspartner-kontakt-edit-form\");\nPLATFORM.moduleName(\"../zit/views/objekte/geschaeftspartner/geschaeftspartner-list-form\");\nPLATFORM.moduleName(\"../zit/views/objekte/geschaeftspartner/geschaeftspartner-package-edit-form\");\nPLATFORM.moduleName(\"../zit/views/objekte/geschaeftspartner/geschaeftspartner-read-form\");\nPLATFORM.moduleName(\"../zit/views/objekte/information/information-list-form\");\nPLATFORM.moduleName(\"../zit/views/objekte/information/information-read-form\");\nPLATFORM.moduleName(\"../zit/views/objekte/person/person-adresse-edit-form\");\nPLATFORM.moduleName(\"../zit/views/objekte/person/person-ausbildung-edit-form\");\nPLATFORM.moduleName(\"../zit/views/objekte/person/person-ausbildung-erweitert-edit-form\");\nPLATFORM.moduleName(\"../zit/views/objekte/person/person-bankverbindung-edit-form\");\nPLATFORM.moduleName(\"../zit/views/objekte/person/person-beruf-edit-form\");\nPLATFORM.moduleName(\"../zit/views/objekte/person/person-berufserfahrung-edit-form\");\nPLATFORM.moduleName(\"../zit/views/objekte/person/person-edit-form\");\nPLATFORM.moduleName(\"../zit/views/objekte/person/person-ferialer-ersteinstieg-edit-form\");\nPLATFORM.moduleName(\"../zit/views/objekte/person/person-ferial-read-form\");\nPLATFORM.moduleName(\"../zit/views/objekte/person/person-fuehrerschein-edit-form\");\nPLATFORM.moduleName(\"../zit/views/objekte/person/person-geschaeftspartner-einsatz-edit-form\");\nPLATFORM.moduleName(\"../zit/views/objekte/person/person-heartbase-edit-form\");\nPLATFORM.moduleName(\"../zit/views/objekte/person/person-heartbase-read-form\");\nPLATFORM.moduleName(\"../zit/views/objekte/person/person-kontakt-edit-form\");\nPLATFORM.moduleName(\"../zit/views/objekte/person/person-lehre-ersteinstieg-edit-form\");\nPLATFORM.moduleName(\"../zit/views/objekte/person/person-list-form\");\nPLATFORM.moduleName(\"../zit/views/objekte/person/person-skill-edit-form\");\nPLATFORM.moduleName(\"../zit/views/objekte/person/person-sprache-edit-form\");\nPLATFORM.moduleName(\"../zit/views/objekte/profilfirma/geschaeftspartner-auswaehlen-edit-form\",\"profil-firma\");\nPLATFORM.moduleName(\"../zit/views/objekte/profilfirma/profil-firma-edit-form\",\"profil-firma\");\nPLATFORM.moduleName(\"../zit/views/objekte/profilfirma/profil-firma-gallery-edit-form\",\"profil-firma\");\nPLATFORM.moduleName(\"../zit/views/objekte/profilfirma/profil-firma-headerbild-edit-form\",\"profil-firma\");\nPLATFORM.moduleName(\"../zit/views/objekte/profilfirma/profil-firma-list-form\",\"profil-firma\");\nPLATFORM.moduleName(\"../zit/views/objekte/stelleninserat/stelleninserat-empleo-edit-form\");\nPLATFORM.moduleName(\"../zit/views/objekte/stelleninserat/stelleninserat-ferial-edit-form\");\nPLATFORM.moduleName(\"../zit/views/objekte/stelleninserat/stelleninserat-ferial-fragebogen-einsatzbereich-edit-form\");\nPLATFORM.moduleName(\"../zit/views/objekte/stelleninserat/stelleninserat-gruppe-edit-form\");\nPLATFORM.moduleName(\"../zit/views/objekte/stelleninserat/stelleninserat-heartbase-edit-form\");\nPLATFORM.moduleName(\"../zit/views/objekte/stelleninserat/stelleninserat-kopf-element-channel-edit-form\");\nPLATFORM.moduleName(\"../zit/views/objekte/stelleninserat/stelleninserat-kumi-edit-form\");\nPLATFORM.moduleName(\"../zit/views/objekte/stelleninserat/stelleninserat-lehre-edit-form\");\nPLATFORM.moduleName(\"../zit/views/objekte/stelleninserat/stelleninserat-lehre-klasse-edit-form\");\nPLATFORM.moduleName(\"../zit/views/objekte/stelleninserat/stelleninserat-lehre-kunde-package-edit-form\");\nPLATFORM.moduleName(\"../zit/views/objekte/stelleninserat/stelleninserat-lehre-person-read-form\");\nPLATFORM.moduleName(\"../zit/views/objekte/stelleninserat/stelleninserat-lehre-standardinserat-edit-form\");\nPLATFORM.moduleName(\"../zit/views/objekte/stelleninserat/stelleninserat-list-form\");\nPLATFORM.moduleName(\"../zit/views/objekte/stelleninserat/stelleninserat-read-form\");\nPLATFORM.moduleName(\"../zit/views/objekte/termin/termin-edit-form\");\nPLATFORM.moduleName(\"../zit/views/objekte/termin/termin-empf-einschaetzung-edit-form\");\nPLATFORM.moduleName(\"../zit/views/objekte/termin/termin-heartbase-edit-form\");\nPLATFORM.moduleName(\"../zit/views/objekte/termin/termin-heartbase-read-form\");\nPLATFORM.moduleName(\"../zit/views/objekte/termin/termin-list-form\");\nPLATFORM.moduleName(\"../zit/views/objekte/termin/termin-read-form\");\nPLATFORM.moduleName(\"../zit/views/objekte/termin/termin-zustand-aendern-edit-form\");\nPLATFORM.moduleName(\"../zit/views/objekte/ziel/ziel-edit-form\");\nPLATFORM.moduleName(\"../zit/views/objekte/ziel/ziel-list-form\");\nPLATFORM.moduleName(\"../zit/views/schnuppertermin/schnuppertermin-list-form\");\nPLATFORM.moduleName(\"../zit/views/stammdaten/adresstyp/adresstyp-edit-form\",\"stammdaten\");\nPLATFORM.moduleName(\"../zit/views/stammdaten/adresstyp/adresstyp-list-form\",\"stammdaten\");\nPLATFORM.moduleName(\"../zit/views/stammdaten/app-einstellung/app-einstellung-edit-form\",\"stammdaten\");\nPLATFORM.moduleName(\"../zit/views/stammdaten/app-einstellung/app-einstellung-list-form\",\"stammdaten\");\nPLATFORM.moduleName(\"../zit/views/stammdaten/app-einstellung/app-menu-edit-form\",\"stammdaten\");\nPLATFORM.moduleName(\"../zit/views/stammdaten/app-einstellung/app-upload-edit-form\",\"stammdaten\");\nPLATFORM.moduleName(\"../zit/views/stammdaten/aufgabe/aufgabe-edit-form\",\"stammdaten\");\nPLATFORM.moduleName(\"../zit/views/stammdaten/aufgabe/aufgabe-list-form\",\"stammdaten\");\nPLATFORM.moduleName(\"../zit/views/stammdaten/aufgabengruppe/aufgabengruppe-edit-form\",\"stammdaten\");\nPLATFORM.moduleName(\"../zit/views/stammdaten/aufgabengruppe/aufgabengruppe-list-form\",\"stammdaten\");\nPLATFORM.moduleName(\"../zit/views/stammdaten/aufgabenset/aufgabenset-edit-form\",\"stammdaten\");\nPLATFORM.moduleName(\"../zit/views/stammdaten/aufgabenset/aufgabenset-list-form\",\"stammdaten\");\nPLATFORM.moduleName(\"../zit/views/stammdaten/ausbildung/ausbildung-edit-form\",\"stammdaten\");\nPLATFORM.moduleName(\"../zit/views/stammdaten/ausbildung/ausbildung-list-form\",\"stammdaten\");\nPLATFORM.moduleName(\"../zit/views/stammdaten/ausbildung/geschaeftspartner-edit-form\",\"stammdaten\");\nPLATFORM.moduleName(\"../zit/views/stammdaten/ausbildung-abschluss/ausbildung-abschluss-edit-form\",\"stammdaten\");\nPLATFORM.moduleName(\"../zit/views/stammdaten/ausbildung-abschluss/ausbildung-abschluss-list-form\",\"stammdaten\");\nPLATFORM.moduleName(\"../zit/views/stammdaten/ausbildungsort/ausbildungsort-edit-form\",\"stammdaten\");\nPLATFORM.moduleName(\"../zit/views/stammdaten/ausbildungsort/ausbildungsort-list-form\",\"stammdaten\");\nPLATFORM.moduleName(\"../zit/views/stammdaten/beruf/beruf-edit-form\",\"stammdaten\");\nPLATFORM.moduleName(\"../zit/views/stammdaten/beruf/beruf-list-form\",\"stammdaten\");\nPLATFORM.moduleName(\"../zit/views/stammdaten/beruf-qualifikation/beruf-qualifikation-edit-form\",\"stammdaten\");\nPLATFORM.moduleName(\"../zit/views/stammdaten/beruf-qualifikation/beruf-qualifikation-list-form\",\"stammdaten\");\nPLATFORM.moduleName(\"../zit/views/stammdaten/bewerbungsgrund/bewerbungsgrund-edit-form\",\"stammdaten\");\nPLATFORM.moduleName(\"../zit/views/stammdaten/bewerbungsgrund/bewerbungsgrund-list-form\",\"stammdaten\");\nPLATFORM.moduleName(\"../zit/views/stammdaten/bewerbungskanal/bewerbungskanal-edit-form\",\"stammdaten\");\nPLATFORM.moduleName(\"../zit/views/stammdaten/bewerbungskanal/bewerbungskanal-list-form\",\"stammdaten\");\nPLATFORM.moduleName(\"../zit/views/stammdaten/branche/branche-edit-form\",\"stammdaten\");\nPLATFORM.moduleName(\"../zit/views/stammdaten/branche/branche-list-form\",\"stammdaten\");\nPLATFORM.moduleName(\"../zit/views/stammdaten/dokumente/dokumente-edit-form\",\"stammdaten\");\nPLATFORM.moduleName(\"../zit/views/stammdaten/dokumente/dokumente-list-form\",\"stammdaten\");\nPLATFORM.moduleName(\"../zit/views/stammdaten/dokumenten-extension/dokumenten-extension-edit-form\",\"stammdaten\");\nPLATFORM.moduleName(\"../zit/views/stammdaten/dokumenten-extension/dokumenten-extension-list-form\",\"stammdaten\");\nPLATFORM.moduleName(\"../zit/views/stammdaten/domaene/domaene-edit-form\",\"stammdaten\");\nPLATFORM.moduleName(\"../zit/views/stammdaten/domaene/domaene-list-form\",\"stammdaten\");\nPLATFORM.moduleName(\"../zit/views/stammdaten/druckvorlage/druckvorlage-edit-form\",\"stammdaten\");\nPLATFORM.moduleName(\"../zit/views/stammdaten/druckvorlage/druckvorlage-list-form\",\"stammdaten\");\nPLATFORM.moduleName(\"../zit/views/stammdaten/druckvorlage/druckvorlage-zu-druckvorlage-paket-edit-form\",\"stammdaten\");\nPLATFORM.moduleName(\"../zit/views/stammdaten/druckvorlage/druckvorlage-zuteilung-durch-edit-form\",\"stammdaten\");\nPLATFORM.moduleName(\"../zit/views/stammdaten/druckvorlage-paket/druckvorlage-paket-edit-form\",\"stammdaten\");\nPLATFORM.moduleName(\"../zit/views/stammdaten/druckvorlage-paket/druckvorlage-paket-list-form\",\"stammdaten\");\nPLATFORM.moduleName(\"../zit/views/stammdaten/einsatzvorbereitung/einsatzvorbereitung-edit-form\",\"stammdaten\");\nPLATFORM.moduleName(\"../zit/views/stammdaten/einsatzvorbereitung/einsatzvorbereitung-list-form\",\"stammdaten\");\nPLATFORM.moduleName(\"../zit/views/stammdaten/entlohnungsschema/entlohnungsschema-edit-form\",\"stammdaten\");\nPLATFORM.moduleName(\"../zit/views/stammdaten/entlohnungsschema/entlohnungsschema-list-form\",\"stammdaten\");\nPLATFORM.moduleName(\"../zit/views/stammdaten/erklaerungsvideo/erklaerungsvideo-edit-form\",\"stammdaten\");\nPLATFORM.moduleName(\"../zit/views/stammdaten/erklaerungsvideo/erklaerungsvideo-list-form\",\"stammdaten\");\nPLATFORM.moduleName(\"../zit/views/stammdaten/event-anmeldungsgruppe/event-anmeldungsgruppe-edit-form\",\"stammdaten\");\nPLATFORM.moduleName(\"../zit/views/stammdaten/event-anmeldungsgruppe/event-anmeldungsgruppe-list-form\",\"stammdaten\");\nPLATFORM.moduleName(\"../zit/views/stammdaten/event-typ/event-typ-edit-form\",\"stammdaten\");\nPLATFORM.moduleName(\"../zit/views/stammdaten/event-typ/event-typ-list-form\",\"stammdaten\");\nPLATFORM.moduleName(\"../zit/views/stammdaten/familienstand/familienstand-edit-form\",\"stammdaten\");\nPLATFORM.moduleName(\"../zit/views/stammdaten/familienstand/familienstand-list-form\",\"stammdaten\");\nPLATFORM.moduleName(\"../zit/views/stammdaten/fuehrerscheinklasse/fuehrerscheinklasse-edit-form\",\"stammdaten\");\nPLATFORM.moduleName(\"../zit/views/stammdaten/fuehrerscheinklasse/fuehrerscheinklasse-list-form\",\"stammdaten\");\nPLATFORM.moduleName(\"../zit/views/stammdaten/funktion/funktion-edit-form\",\"stammdaten\");\nPLATFORM.moduleName(\"../zit/views/stammdaten/funktion/funktion-list-form\",\"stammdaten\");\nPLATFORM.moduleName(\"../zit/views/stammdaten/geschaeftspartner-gruppierung/geschaeftspartner-gruppierung-edit-form\",\"stammdaten\");\nPLATFORM.moduleName(\"../zit/views/stammdaten/geschaeftspartner-gruppierung/geschaeftspartner-gruppierung-list-form\",\"stammdaten\");\nPLATFORM.moduleName(\"../zit/views/stammdaten/geschaeftspartner-gruppierungstyp/geschaeftspartner-gruppierungstyp-edit-form\",\"stammdaten\");\nPLATFORM.moduleName(\"../zit/views/stammdaten/geschaeftspartner-gruppierungstyp/geschaeftspartner-gruppierungstyp-list-form\",\"stammdaten\");\nPLATFORM.moduleName(\"../zit/views/stammdaten/geschaeftspartnertyp/geschaeftspartnertyp-edit-form\",\"stammdaten\");\nPLATFORM.moduleName(\"../zit/views/stammdaten/geschaeftspartnertyp/geschaeftspartnertyp-list-form\",\"stammdaten\");\nPLATFORM.moduleName(\"../zit/views/stammdaten/groesse/groesse-edit-form\",\"stammdaten\");\nPLATFORM.moduleName(\"../zit/views/stammdaten/groesse/groesse-list-form\",\"stammdaten\");\nPLATFORM.moduleName(\"../zit/views/stammdaten/grund/grund-edit-form\",\"stammdaten\");\nPLATFORM.moduleName(\"../zit/views/stammdaten/grund/grund-list-form\",\"stammdaten\");\nPLATFORM.moduleName(\"../zit/views/stammdaten/informationstyp/informationstyp-edit-form\",\"stammdaten\");\nPLATFORM.moduleName(\"../zit/views/stammdaten/informationstyp/informationstyp-list-form\",\"stammdaten\");\nPLATFORM.moduleName(\"../zit/views/stammdaten/informationstyp/seiten-edit-form\",\"stammdaten\");\nPLATFORM.moduleName(\"../zit/views/stammdaten/kollektivvertrag/kollektivvertrag-edit-form\",\"stammdaten\");\nPLATFORM.moduleName(\"../zit/views/stammdaten/kollektivvertrag/kollektivvertrag-list-form\",\"stammdaten\");\nPLATFORM.moduleName(\"../zit/views/stammdaten/kommunikationseinstellung/kommunikationseinstellungbild-edit-form\",\"stammdaten\");\nPLATFORM.moduleName(\"../zit/views/stammdaten/kommunikationseinstellung/kommunikationseinstellung-edit-form\",\"stammdaten\");\nPLATFORM.moduleName(\"../zit/views/stammdaten/kommunikationseinstellung/kommunikationseinstellung-list-form\",\"stammdaten\");\nPLATFORM.moduleName(\"../zit/views/stammdaten/kontakttyp/kontakttyp-edit-form\",\"stammdaten\");\nPLATFORM.moduleName(\"../zit/views/stammdaten/kontakttyp/kontakttyp-list-form\",\"stammdaten\");\nPLATFORM.moduleName(\"../zit/views/stammdaten/kostenstelle/kostenstelle-edit-form\",\"stammdaten\");\nPLATFORM.moduleName(\"../zit/views/stammdaten/kostenstelle/kostenstelle-list-form\",\"stammdaten\");\nPLATFORM.moduleName(\"../zit/views/stammdaten/lehrberuf/lehrberuf-edit-form\",\"stammdaten\");\nPLATFORM.moduleName(\"../zit/views/stammdaten/lehrberuf/lehrberuf-list-form\",\"stammdaten\");\nPLATFORM.moduleName(\"../zit/views/stammdaten/objekt-export-eigenschaft/objekt-export-eigenschaft-csharp-edit-form\",\"stammdaten\");\nPLATFORM.moduleName(\"../zit/views/stammdaten/objekt-export-eigenschaft/objekt-export-eigenschaft-expression-edit-form\",\"stammdaten\");\nPLATFORM.moduleName(\"../zit/views/stammdaten/objekt-export-eigenschaft/objekt-export-eigenschaft-list-form\",\"stammdaten\");\nPLATFORM.moduleName(\"../zit/views/stammdaten/objekt-marker/objekt-marker-auswaehlen-form\",\"stammdaten\");\nPLATFORM.moduleName(\"../zit/views/stammdaten/objekt-marker/objekt-marker-edit-form\",\"stammdaten\");\nPLATFORM.moduleName(\"../zit/views/stammdaten/objekt-marker/objekt-marker-list-form\",\"stammdaten\");\nPLATFORM.moduleName(\"../zit/views/stammdaten/objekt-marker/objekt-marker-zus-loginprofil-edit-form\",\"stammdaten\");\nPLATFORM.moduleName(\"../zit/views/stammdaten/objekt-status/benutzer-objekt-status-benutzerrolle-edit-form\",\"stammdaten\");\nPLATFORM.moduleName(\"../zit/views/stammdaten/objekt-status/benutzer-objekt-status-edit-form\",\"stammdaten\");\nPLATFORM.moduleName(\"../zit/views/stammdaten/objekt-status/objekt-status-edit-form\",\"stammdaten\");\nPLATFORM.moduleName(\"../zit/views/stammdaten/objekt-status/objekt-status-list-form\",\"stammdaten\");\nPLATFORM.moduleName(\"../zit/views/stammdaten/objekt-status/schnittstellenbenutzer-edit-form\",\"stammdaten\");\nPLATFORM.moduleName(\"../zit/views/stammdaten/objekt-status-sammlung/objekt-status-sammlung-edit-form\",\"stammdaten\");\nPLATFORM.moduleName(\"../zit/views/stammdaten/objekt-status-sammlung/objekt-status-sammlung-list-form\",\"stammdaten\");\nPLATFORM.moduleName(\"../zit/views/stammdaten/package/package-edit-form\",\"stammdaten\");\nPLATFORM.moduleName(\"../zit/views/stammdaten/package/package-list-form\",\"stammdaten\");\nPLATFORM.moduleName(\"../zit/views/stammdaten/pfad/pfad-edit-form\",\"stammdaten\");\nPLATFORM.moduleName(\"../zit/views/stammdaten/pfad/pfad-list-form\",\"stammdaten\");\nPLATFORM.moduleName(\"../zit/views/stammdaten/pvtext/pvtext-edit-form\",\"stammdaten\");\nPLATFORM.moduleName(\"../zit/views/stammdaten/pvtext/pvtext-list-form\",\"stammdaten\");\nPLATFORM.moduleName(\"../zit/views/stammdaten/regel/regel-aktion-csharp-edit-form\",\"stammdaten\");\nPLATFORM.moduleName(\"../zit/views/stammdaten/regel/regel-edit-form\",\"stammdaten\");\nPLATFORM.moduleName(\"../zit/views/stammdaten/regel/regel-list-form\",\"stammdaten\");\nPLATFORM.moduleName(\"../zit/views/stammdaten/schnittstellenbenutzer/schnittstellenbenutzer-edit-form\",\"stammdaten\");\nPLATFORM.moduleName(\"../zit/views/stammdaten/schnittstellenbenutzer/schnittstellenbenutzer-list-form\",\"stammdaten\");\nPLATFORM.moduleName(\"../zit/views/stammdaten/schnittstellenbenutzer/webhook-edit-form\",\"stammdaten\");\nPLATFORM.moduleName(\"../zit/views/stammdaten/schnupperberuf-geschaeftspartner/schnupperberuf-geschaeftspartner-edit-form\",\"stammdaten\");\nPLATFORM.moduleName(\"../zit/views/stammdaten/schnupperberuf-geschaeftspartner/schnupperberuf-geschaeftspartner-list-form\",\"stammdaten\");\nPLATFORM.moduleName(\"../zit/views/stammdaten/schnuppertermin-anfrageart/schnuppertermin-anfrageart-edit-form\",\"stammdaten\");\nPLATFORM.moduleName(\"../zit/views/stammdaten/schnuppertermin-anfrageart/schnuppertermin-anfrageart-list-form\",\"stammdaten\");\nPLATFORM.moduleName(\"../zit/views/stammdaten/skill/skill-edit-form\",\"stammdaten\");\nPLATFORM.moduleName(\"../zit/views/stammdaten/skill/skill-list-form\",\"stammdaten\");\nPLATFORM.moduleName(\"../zit/views/stammdaten/skill-gruppe/skill-gruppe-edit-form\",\"stammdaten\");\nPLATFORM.moduleName(\"../zit/views/stammdaten/skill-gruppe/skill-gruppe-list-form\",\"stammdaten\");\nPLATFORM.moduleName(\"../zit/views/stammdaten/sprache/sprache-edit-form\",\"stammdaten\");\nPLATFORM.moduleName(\"../zit/views/stammdaten/sprache/sprache-list-form\",\"stammdaten\");\nPLATFORM.moduleName(\"../zit/views/stammdaten/sprachniveau/sprachniveau-edit-form\",\"stammdaten\");\nPLATFORM.moduleName(\"../zit/views/stammdaten/sprachniveau/sprachniveau-list-form\",\"stammdaten\");\nPLATFORM.moduleName(\"../zit/views/stammdaten/staat/staat-edit-form\",\"stammdaten\");\nPLATFORM.moduleName(\"../zit/views/stammdaten/staat/staat-list-form\",\"stammdaten\");\nPLATFORM.moduleName(\"../zit/views/stammdaten/statistikdaten/statistikdaten-edit-form\",\"stammdaten\");\nPLATFORM.moduleName(\"../zit/views/stammdaten/statistikdaten/statistikdaten-list-form\",\"stammdaten\");\nPLATFORM.moduleName(\"../zit/views/stammdaten/stelleninserat-bewerbungstyp/stelleninserat-bewerbungstyp-edit-form\",\"stammdaten\");\nPLATFORM.moduleName(\"../zit/views/stammdaten/stelleninserat-bewerbungstyp/stelleninserat-bewerbungstyp-list-form\",\"stammdaten\");\nPLATFORM.moduleName(\"../zit/views/stammdaten/stelleninserat-gruppentyp/stelleninserat-gruppentyp-edit-form\",\"stammdaten\");\nPLATFORM.moduleName(\"../zit/views/stammdaten/stelleninserat-gruppentyp/stelleninserat-gruppentyp-list-form\",\"stammdaten\");\nPLATFORM.moduleName(\"../zit/views/stammdaten/survey-monkey-fragebogen/survey-monkey-fragebogen-edit-form\");\nPLATFORM.moduleName(\"../zit/views/stammdaten/survey-monkey-fragebogen/survey-monkey-fragebogen-list-form\",\"stammdaten\");\nPLATFORM.moduleName(\"../zit/views/stammdaten/termintyp/termintyp-edit-form\",\"stammdaten\");\nPLATFORM.moduleName(\"../zit/views/stammdaten/termintyp/termintyp-list-form\",\"stammdaten\");\nPLATFORM.moduleName(\"../zit/views/stammdaten/unternehmen/unternehmen-edit-form\",\"stammdaten\");\nPLATFORM.moduleName(\"../zit/views/stammdaten/unternehmen/unternehmen-list-form\",\"stammdaten\");\nPLATFORM.moduleName(\"../zit/views/stammdaten/unternehmensbereich/unternehmensbereich-edit-form\",\"stammdaten\");\nPLATFORM.moduleName(\"../zit/views/stammdaten/unternehmensbereich/unternehmensbereich-list-form\",\"stammdaten\");\nPLATFORM.moduleName(\"../zit/views/stammdaten/updatehinweis/updatehinweis-edit-form\",\"stammdaten\");\nPLATFORM.moduleName(\"../zit/views/stammdaten/updatehinweis/updatehinweis-list-form\",\"stammdaten\");\nPLATFORM.moduleName(\"../zit/views/stammdaten/verwandtschaftsverhaeltnis/verwandtschaftsverhaeltnis-edit-form\",\"stammdaten\");\nPLATFORM.moduleName(\"../zit/views/stammdaten/verwandtschaftsverhaeltnis/verwandtschaftsverhaeltnis-list-form\",\"stammdaten\");\nPLATFORM.moduleName(\"../zit/views/stammdaten/waehrung/waehrung-edit-form\",\"stammdaten\");\nPLATFORM.moduleName(\"../zit/views/stammdaten/waehrung/waehrung-list-form\",\"stammdaten\");\nPLATFORM.moduleName(\"../zit/views/stammdaten/willkommensseite/willkommensseite-edit-form\",\"stammdaten\");\nPLATFORM.moduleName(\"../zit/views/stammdaten/willkommensseite/willkommensseite-list-form\",\"stammdaten\");\nPLATFORM.moduleName(\"../zit/views/stammdaten/zustand/benutzer-zustand-edit-form\",\"stammdaten\");\nPLATFORM.moduleName(\"../zit/views/stammdaten/zustand/zustand-edit-form\",\"stammdaten\");\nPLATFORM.moduleName(\"../zit/views/stammdaten/zustand/zustand-list-form\",\"stammdaten\");\nPLATFORM.moduleName(\"../zit/views/suche/suche-form\");\nPLATFORM.moduleName(\"../zit/views/tableau/tableau-list-form\",\"tableau\");\nPLATFORM.moduleName(\"../zit-ui/views/app-login/app-login-form\");\nPLATFORM.moduleName(\"../zit-ui/views/auto-login/auto-login-form\");\nPLATFORM.moduleName(\"../zit-ui/views/login/views/activate-account/activate-account-form\");\nPLATFORM.moduleName(\"../zit-ui/views/login/views/login/login-form\");\nPLATFORM.moduleName(\"../zit-ui/views/login/views/loginprofil/loginprofil-form\");\nPLATFORM.moduleName(\"../zit-ui/views/login/views/login-tan/login-tan-form\");\nPLATFORM.moduleName(\"../zit-ui/views/login/views/password-confirm/password-confirm-form\");\nPLATFORM.moduleName(\"../zit-ui/views/login/views/password-reset/password-reset-form\");\n}\n}\n","export {SelectionModeEnum} from \"./selection-mode-enum\";\nexport {SortOrderColumnEnum} from \"./sort-order-column-enum\";","import { autoinject } from 'aurelia-framework';\nimport { RestService } from './../../framework/base/services/export';\n\n@autoinject\nexport class DispoPlanstelleService {\n constructor(\n private rest: RestService\n ) { }\n\n deleteEigenschaftAnsprechperson(id: number) {\n return this.rest.delete({\n url: this.rest.getWebApiUrl(\"ZIT/Objekte/DispoPlanstelleEigenschaftenElementZuAnsprechperson\"),\n id: id\n });\n }\n\n deleteEigenschaftGruppierung(id: number) {\n return this.rest.delete({\n url: this.rest.getWebApiUrl(\"ZIT/Objekte/DispoPlanstelleEigenschaftenElementZuGpGruppierung\"),\n id: id\n });\n }\n deleteEigenschaftSkill(id: number) {\n return this.rest.delete({\n url: this.rest.getWebApiUrl(\"ZIT/Objekte/DispoPlanstelleEigenschaftenElementZuSkill\"),\n id: id\n });\n }\n\n deletePersonenzuteilungEigenschaftAnsprechperson(id: number) {\n return this.rest.delete({\n url: this.rest.getWebApiUrl(\"ZIT/Objekte/DispoPlanstellePersonenzuteilungEigenschaftenElementZuAnsprechperson\"),\n id: id\n });\n }\n deletePersonenzuteilungEigenschaftEntlohnungsschema(id: number) {\n return this.rest.delete({\n url: this.rest.getWebApiUrl(\"ZIT/Objekte/DispoPlanstellePersonenzuteilungEigenschaftenElementZuEntlohnungsschema\"),\n id: id\n });\n }\n deletePersonenzuteilungEigenschafEinsatzvorbereitung(id: number) {\n return this.rest.delete({\n url: this.rest.getWebApiUrl(\"ZIT/Objekte/DispoPlanstellePersonenzuteilungEigenschaftenElementZuEinsatzvorbereitung\"),\n id: id\n });\n }\n deletePersonenzuteilungEigenschaftGruppierung(id: number) {\n return this.rest.delete({\n url: this.rest.getWebApiUrl(\"ZIT/Objekte/DispoPlanstellePersonenzuteilungEigenschaftenElementZuGpGruppierung\"),\n id: id\n });\n }\n\n updatePersonenzuteilungStatus(data: { IdObjekt: number, Code: string, IdGrund?: number, Bemerkung?: string, AnmerkungZusage?: string }) {\n return this.rest.post({\n url: this.rest.getApiUrl(\"ZIT/Dispo/UpdatePersonenzuteilungStatus\"),\n data: data,\n increaseLoadingCount: true\n });\n }\n}\n","import { autoinject } from \"../../framework/forms/form-export\";\n\n@autoinject\nexport class FarbeService {\n constructor() {}\n\n convertHexToRgb(hex: string) {\n const result = /^#?([a-f\\d]{2})([a-f\\d]{2})([a-f\\d]{2})$/i.exec(hex);\n return result ? {\n r: parseInt(result[1], 16),\n g: parseInt(result[2], 16),\n b: parseInt(result[3], 16)\n } : null;\n }\n convertHexToCssRgba(hex: string, opacity: number): string {\n const r = this.convertHexToRgb(hex);\n if (!r) {\n return \"\";\n }\n\n return `rgba(${r.r}, ${r.g}, ${r.b}, ${opacity})`\n }\n}\n","export interface IZitMarkersOptions {\n markerList?: IZitMarker[];\n displayMode?: ZitMarkerDisplayMode;\n idObjekt?: number;\n onClick?: { (event: Event, data: any) };\n}\ninterface IZitMarker {\n caption: string;\n backgroundColor: string;\n}\nexport enum ZitMarkerDisplayMode {\n balken = \"b\",\n kreis = \"k\"\n}\n","import {\n autoinject\n} from \"aurelia-framework\";\n\n@autoinject\nexport class JsonService {\n private regexDateISO = /(\\d{4}-[01]\\d-[0-3]\\dT[0-2]\\d:[0-5]\\d:[0-5]\\d\\.\\d+)|(\\d{4}-[01]\\d-[0-3]\\dT[0-2]\\d:[0-5]\\d:[0-5]\\d)|(\\d{4}-[01]\\d-[0-3]\\dT[0-2]\\d:[0-5]\\d)/;\n\n constructor() { }\n\n parse(json: string): any {\n if (!json) {\n return json;\n }\n\n if (!(typeof json === \"string\")) {\n json = JSON.stringify(json);\n }\n\n return JSON.parse(json, (key: string, value: string): any => {\n if (typeof value === \"string\" && value.indexOf(\"{\") < 0) {\n var a = this.regexDateISO.exec(value);\n\n if (a && a.index == 0) {\n return new Date(value);\n }\n\n return value;\n }\n return value;\n });\n }\n stringify(obj: any): string {\n return JSON.stringify(obj);\n }\n}\n","import { RestService } from \"./../../framework/base/services/rest-service\";\nimport { autoinject } from \"aurelia-framework\";\nimport { JsonService } from \"../../framework/base/export\";\nimport { StartupService } from \"./startup-service\";\n\n@autoinject\nexport class LoginprofilEinstellungenService {\n constructor(\n private _restService: RestService,\n private _jsonService: JsonService,\n private _startupService: StartupService\n ) { }\n\n deleteEinstellung(idEinstellung: number): Promise {\n return this._restService.delete({\n url: this._restService.getWebApiUrl(\"ZIT/Stammdaten/LoginprofilEinstellung\"),\n id: idEinstellung.toString(),\n increaseLoadingCount: true\n });\n }\n\n async loadLoginprofilEinstellung(data: ILoginprofilEinstellungLoadOptions): Promise {\n const where: any[] = [[\"Typ\", data.Typ]];\n\n if (data.Entitaet) {\n where.push([\"Entitaet\", data.Entitaet]);\n }\n\n if (data.Typ == LoginprofilEinstellungTyp.Tableau) {\n where.push([\"IdLoginprofil\", this._startupService.startupInfo.Benutzer.IdLoginprofil]);\n }\n\n if (data.IsStandard) {\n where.push([\"IsStandard\", true]);\n }\n\n const result: any[] = await this._restService.get({\n url: this._restService.getWebApiUrl(\"ZIT/Stammdaten/LoginprofilEinstellung\"),\n increaseLoadingCount: true,\n getOptions: {\n where: where\n }\n });\n\n return result.map((item) => {\n const wert = this._jsonService.parse(item.Wert || \"[]\");\n\n let columns = wert.Columns;\n const custom = wert.Custom;\n\n if (Array.isArray(wert)) {\n columns = wert;\n }\n\n return {\n Id: item.Id,\n Typ: item.Typ,\n Entitaet: item.Entitaet,\n Bezeichnung: item.Bezeichnung,\n IsStandard: item.IsStandard,\n Wert: {\n Columns: columns,\n Custom: custom\n }\n };\n });\n }\n saveOrCreateEinstellung(data: ILoginprofilEinstellung): Promise {\n if (!data.Wert) {\n data.Wert = {\n Columns: [],\n Custom: null\n };\n }\n\n return this._restService.post({\n url: this._restService.getWebApiUrl(\"ZIT/Stammdaten/LoginprofilEinstellung\"),\n increaseLoadingCount: true,\n data: {\n Id: data.Id,\n Bezeichnung: data.Bezeichnung,\n IsStandard: data.IsStandard,\n Typ: data.Typ,\n Entitaet: data.Entitaet,\n Wert: this._jsonService.stringify(data.Wert)\n }\n });\n }\n}\n\nexport interface ILoginprofilEinstellung {\n Typ: LoginprofilEinstellungTyp;\n Entitaet: string;\n Bezeichnung?: string;\n IsStandard?: boolean;\n Id?: number;\n Wert?: ILoginprofilEinstellungWert;\n}\nexport interface ILoginprofilEinstellungWert {\n Columns?: any[];\n Custom?: any;\n}\nexport enum LoginprofilEinstellungTyp {\n Suche = 0,\n Suchlayout = 1,\n Tableau = 2\n}\nexport interface ILoginprofilEinstellungLoadOptions {\n Typ: LoginprofilEinstellungTyp;\n Entitaet?: string;\n IsStandard?: boolean;\n}","import { autoinject, computedFrom, transient } from \"aurelia-framework\";\nimport { ICommandData } from \"../../../../framework/forms/export\";\nimport { FormBase } from \"../../../../framework/forms/form-export\";\nimport { Share } from \"../../../elements/share/share\";\nimport { BenutzerTyp } from \"../../../enumerations/benutzer-typ\";\nimport { StartupService } from \"../../../services/startup-service\";\n\n@autoinject\n@transient()\nexport class PersonReadUtils {\n constructor(\n public startupService: StartupService\n ) { }\n\n form: FormBase;\n \n actionCommand: ICommandData = {\n id: \"actionCommand\",\n icon: \"fas fa-share-alt\",\n tooltip: \"zit.aktionen\",\n sortIndex: 99,\n isVisibleExpression: \"r_share.canShare\",\n execute: (executeOptions) => {\n const share: Share = this.form[\"r_share\"];\n share.showCtxMenu(executeOptions.event);\n }\n };\n\n @computedFrom(\"startupService.startupInfo.Benutzer.Benutzertyp\")\n get showNotizen() {\n switch (this.startupService.startupInfo.Benutzer.Benutzertyp) {\n case BenutzerTyp.Administrator:\n case BenutzerTyp.InternerBenutzer:\n case BenutzerTyp.JuristischePerson:\n return true;\n default:\n return false;\n }\n }\n\n bind(form: FormBase) {\n this.form = form;\n }\n}\n","import { autoinject } from 'aurelia-framework';\nimport { RestService } from '../../framework/base/services/rest-service';\n@autoinject\nexport class StelleninseratService {\n constructor(\n private rest: RestService\n ) { }\n\n getStelleninserat(id: number, getOptions = {}) {\n return this.rest.get({\n url: `${this.rest.getWebApiUrl(\"ZIT/Objekte/Stelleninserat\")}/${id}`,\n getOptions: getOptions\n });\n }\n\n copyStelleninseratList(idList: number[]) {\n if (!idList || !idList.length) {\n DevExpress.ui.notify(\"Keine Stelleninserate ausgewählt\", \"error\", 3000);\n return;\n }\n\n return this.rest.post({\n url: this.rest.getApiUrl(\"ZIT/Objekt/CopyStelleninserate\"),\n data: idList,\n increaseLoadingCount: true\n }).then(r => {\n if (r) {\n DevExpress.ui.notify(r, \"success\", 3000);\n }\n });\n }\n}\n","import {\n autoinject, Scope\n} from \"aurelia-framework\";\nimport {\n RestService\n} from \"./rest-service\";\nimport {\n BindingService\n} from \"./binding-service\";\nimport {\n ScopeContainer\n} from \"../classes/scope-container\";\nimport {\n ILocalizationItem,\n ILocalizationTranslationInfo\n} from \"../interfaces/export\";\n\nimport * as localizationNeutral from \"../../../framework-data/localization-neutral.json\";\n\n@autoinject\nexport class LocalizationService {\n private isInitialized: boolean;\n\n constructor(\n private rest: RestService,\n private binding: BindingService\n ) { }\n\n addLocalizationNeutral(namespace: string, key: string, translation: string) {\n const n = localizationNeutral[namespace];\n if (!n) {\n localizationNeutral[namespace] = {};\n }\n\n localizationNeutral[namespace][key] = translation;\n }\n getTranslationInfo(key: string | ILocalizationItem): ILocalizationTranslationInfo {\n if (!key) {\n return {\n needsBinding: false,\n text: \"\"\n };\n }\n\n let item: ILocalizationItemInfo;\n\n try {\n item = typeof key === \"string\"\n ? this.getLocalizationItem(key)\n : this.getLocalizationItem(key.key);\n\n }\n catch (e) {\n throw new Error(`No localization found for ${key}`);\n }\n\n if (!item) {\n throw new Error(`No localization found for ${key}`);\n }\n\n let text = item.text;\n let needsBinding = false;\n let scope: Scope = null;\n\n if (typeof key === \"string\") {\n needsBinding = item.parameters\n && item.parameters.length > 0;\n\n item.parameters.forEach((expr, index) => {\n text = text.replace(new RegExp(\"\\\\{\" + index + \"\\\\}\", \"g\"), \"${\" + expr + \"}\");\n });\n } else if (key.parameters && key.parameters.length > 0) {\n needsBinding = true;\n scope = {\n bindingContext: key,\n overrideContext: null\n };\n key.parameters.forEach((expr, index) => {\n text = text.replace(new RegExp(\"\\\\{\" + index + \"\\\\}\", \"g\"), \"${parameters[\" + index + \"]}\");\n });\n }\n\n return {\n text: text,\n needsBinding: needsBinding,\n scope: scope\n };\n }\n translateOnce(key: string | ILocalizationItem, parameters?: string[] | ScopeContainer): string {\n if (!key) {\n return \"\";\n }\n\n let item: ILocalizationItemInfo;\n\n try {\n item = typeof key === \"string\"\n ? this.getLocalizationItem(key)\n : this.getLocalizationItem(key.key);\n\n }\n catch (e) {\n throw new Error(`No localization found for ${key}`);\n }\n\n if (!item) {\n throw new Error(`No localization found for ${key}`);\n }\n\n if (!(typeof key === \"string\")) {\n parameters = key.parameters;\n }\n\n if (!item) {\n throw new Error(`No localization found for ${key}`);\n }\n\n return this.translateItem(item, parameters);\n }\n private getLocalizationItem(key: string): ILocalizationItemInfo {\n const items = key.split(\".\");\n\n let item: any = localizationNeutral;\n items.forEach(i => {\n if (!item) {\n return;\n }\n\n item = item[i];\n });\n\n if (typeof item === \"string\") {\n return {\n key: key,\n text: item,\n parameters: []\n }\n } else {\n return {\n key: key,\n text: item.text,\n parameters: item.parameters\n }\n }\n }\n private translateItem(item: ILocalizationItemInfo, parameters?: string[] | ScopeContainer): string {\n let text = item.text;\n\n if (parameters != void (0)) {\n if (Array.isArray(parameters)) {\n parameters.forEach((val, index) => {\n text = text.replace(new RegExp(\"\\\\{\" + index + \"\\\\}\", \"g\"), val);\n });\n } else {\n item.parameters.forEach((expr, index) => {\n let val = this.binding.evaluate(parameters.scope, expr);\n\n if (val == void (0)) {\n val = \"\";\n }\n\n text = text.replace(new RegExp(\"\\\\{\" + index + \"\\\\}\", \"g\"), val);\n });\n }\n }\n\n return text;\n }\n}\n\ninterface ILocalizationItemInfo {\n key: string;\n text: string;\n parameters: string[];\n}\n","import { autoinject } from \"aurelia-framework\";\nimport { StartupService } from './startup-service';\nimport { IObjektBerechtigung } from '../interfaces/export';\nimport { EventAggregator } from 'aurelia-event-aggregator';\nimport { BenutzerTyp } from '../enumerations/export';\nimport { RouterService } from '../../framework/forms/export';\n\n@autoinject\nexport class BerechtigungService {\n constructor(\n private _eventAggregator: EventAggregator,\n private _startupService: StartupService,\n private _routerService: RouterService\n ) {\n this.registerCanNavigate();\n }\n\n hasBerechtigung(objektFullName: string): boolean {\n const berecht = this.getBerechtigung(objektFullName);\n return !!berecht;\n }\n hasBerechtigungNew(objektFullName: string): boolean {\n const berecht = this.getBerechtigung(objektFullName);\n\n return berecht\n && berecht.AllowNew;\n }\n hasBerechtigungModul(moduleId: string): boolean {\n const isAdmin = this._startupService.startupInfo.Benutzer.Benutzertyp == BenutzerTyp.Administrator;\n if (isAdmin) {\n return true;\n }\n\n if (moduleId.startsWith(\"zit/views/navigation\") && !this._startupService.startupInfo.HasStammdatenMaske) {\n return false;\n }\n else if (this.checkStammdatenBerechtigung(moduleId)) {\n if (!this._startupService.startupInfo.HasAlleStammdatenMasken) {\n if (!this._startupService.startupInfo.StammdatenPraefixList) {\n return false;\n }\n if (this._startupService.startupInfo.StammdatenPraefixList.length == 0) {\n return false;\n }\n\n return this._startupService.startupInfo.StammdatenPraefixList\n .some(c => moduleId.startsWith(c));\n }\n }\n\n return true;\n }\n hasBerechtigungRoute(url: string): boolean {\n if (url == \"Tableau\") {\n return this.hasBerechtigungTableau();\n } else if (url == \"Schnuppertermin\") {\n return this._startupService.startupInfo.ShowSchnupperterminMaske;\n } else if (url == \"Dispo\") {\n return this.hasBerechtigung(\"TIP.ZIT.Business.Entities.Objekte.Disposition.DispoPlanstelle\")\n && this.hasBerechtigung(\"TIP.ZIT.Business.Entities.Objekte.Disposition.DispoPlanstellePersonenzuteilung\");\n }\n\n const route = this._routerService.getRoute(url);\n if (!route) {\n return false;\n }\n\n return this.hasBerechtigungModul(route.route.moduleId);\n }\n hasBerechtigungTableau(): boolean {\n return this.hasBerechtigung(\"TIP.ZIT.Business.Entities.Objekte.Disposition.DispoPlanstelle\")\n || this.hasBerechtigung(\"TIP.ZIT.Business.Entities.Objekte.Disposition.DispoPlanstellePersonenzuteilung\")\n || this.hasBerechtigung(\"TIP.ZIT.Business.Entities.Objekte.Termine.Termin\")\n || this.hasBerechtigungEvent();\n }\n hasBerechtigungEvent(): boolean {\n return this.hasBerechtigung(\"TIP.ZIT.Business.Entities.Objekte.Events.Event\");\n }\n\n private getBerechtigung(objektFullName: string): IObjektBerechtigung {\n const berechtList = this._startupService.startupInfo.ObjektBerechtigungList;\n\n return berechtList\n .find(ber => ber.ObjektFullName == objektFullName);\n }\n private registerCanNavigate() {\n this._eventAggregator.subscribe(\"router:can-navigate\", e => {\n if (!this.hasBerechtigungModul(e.moduleId)) {\n e.cancel = true;\n return;\n }\n });\n }\n private checkStammdatenBerechtigung(moduleId: string) {\n return moduleId.startsWith(\"zit/views/stammdaten\") \n || moduleId.startsWith(\"zit/views/berechtigungen\");\n }\n}\n","import {\n autoinject,\n singleton\n} from \"aurelia-framework\";\nimport * as Interfaces from \"../interfaces/export\";\nimport {\n FormBase\n} from \"../classes/form-base\";\n\n@autoinject\n@singleton(true)\nexport class Commands {\n private form: FormBase;\n private commands: Interfaces.ICommand[] = [];\n private commandData: Interfaces.ICommandData[] = [];\n\n constructor() {}\n\n addCommand(commandData: Interfaces.ICommandData) {\n this.commandData.push(commandData);\n }\n addInfo(command: Interfaces.ICommand) {\n this.commands.push(command);\n }\n\n getCommands(): Interfaces.ICommandData[] {\n const result = this.commands.map(i => this.form.binding.evaluate(this.form.scope, i.binding.bindToFQ));\n\n result.push(...this.commandData);\n\n return result;\n }\n \n registerForm(form: FormBase) {\n if (this.form) {\n throw new Error(\"Form was already registered\");\n }\n\n this.form = form;\n }\n\n dispose() {\n }\n}\n","import { transient, autoinject } from \"aurelia-framework\";\nimport { FormBase } from '../../../framework/forms/export';\n\n@autoinject\n@transient()\nexport class DashboardUtils {\n constructor(\n ) {}\n\n form: FormBase;\n\n bind(form: FormBase) {\n this.form = form;\n }\n}\n","export enum ErklaerungsvideoInhaltArtEnum {\n Url = 0,\n File = 1,\n VimeoEinbettungslink = 2\n}\n","import {\n autoinject\n} from \"aurelia-framework\";\nimport {\n FormBase\n} from \"../classes/form-base\";\nimport {\n IListOptionsBase,\n IDataGridOptions\n} from \"../widget-options/export\";\nimport {\n LocationService,\n LocalizationService,\n PermissionService,\n RestService,\n ShortcutService\n} from \"../../base/services/export\";\nimport {\n PopupInfoService\n} from \"./popup-info-service\";\nimport {\n IModel,\n IValidationResult\n} from \"../interfaces/export\";\nimport * as Interfaces from \"../interfaces/export\";\nimport {\n ContextMenu\n} from \"../classes/context-menu\";\nimport { RouterService } from \"./router-service\";\nimport { DialogConfirmService } from './dialog-confirm-service';\nimport { ListType } from '../enums/list-type-enum';\n\n@autoinject\nexport class DefaultCommandsService {\n constructor(\n private router: RouterService,\n private location: LocationService,\n private localization: LocalizationService,\n private permission: PermissionService,\n private rest: RestService,\n private shortcut: ShortcutService,\n private popupInfo: PopupInfoService,\n private dialogConfirmService: DialogConfirmService\n ) {\n this.shortcut.bindShortcut(\"ctrl+shift+enter\", \"$command\", true);\n this.shortcut.bindShortcut(\"f10\", \"$save\");\n this.shortcut.bindShortcut(\"ctrl+f10\", \"$saveAndClose\");\n this.shortcut.bindShortcut(\"shift+f10\", \"$saveAndAdd\");\n this.shortcut.bindShortcut(\"f9\", \"$close\");\n this.shortcut.bindShortcut(\"f8\", \"$delete\");\n this.shortcut.bindShortcut(\"f7\", \"$add\");\n this.shortcut.bindShortcut(\"ctrl+f11\", \"$scrollUp\");\n this.shortcut.bindShortcut(\"ctrl+f12\", \"$scrollDown\");\n }\n\n getFormAddCommand(form: FormBase): Interfaces.ICommandData {\n const cmd: Interfaces.ICommandData = {\n id: \"$add\",\n icon: \"fas fa-plus\",\n title: \"base.add\",\n tooltip: \"base.add_tooltip\",\n sortIndex: 5,\n isVisible: form.canSave(),\n isEnabled: form.canAdd(),\n execute: () => {\n form.add();\n }\n };\n\n form.models.onLoaded.register(() => {\n cmd.isEnabled = form.canAdd();\n return Promise.resolve();\n });\n\n return cmd;\n }\n getFormSaveCommand(form: FormBase): Interfaces.ICommandData {\n const cmd: Interfaces.ICommandData = {\n id: \"$save\",\n icon: \"fas fa-save\",\n title: \"base.save\",\n tooltip: \"base.save_tooltip\",\n sortIndex: 10,\n isVisible: form.canSave(),\n isEnabled: form.canSaveNow(),\n execute: () => {\n form.save()\n .catch(r => {\n form.error.showAndLogError(r);\n });\n }\n };\n\n form.models.onLoaded.register(() => {\n cmd.isEnabled = form.canSaveNow();\n return Promise.resolve();\n });\n\n return cmd;\n }\n getEditPopupSaveAndAddCommand(form: FormBase): Interfaces.ICommandData {\n const cmd: Interfaces.ICommandData = {\n id: \"$saveAndAdd\",\n title: \"base.save_and_add\",\n tooltip: \"base.save_and_add_tooltip\",\n small: true,\n sortIndex: 11,\n isVisible: form.canSave(),\n isEnabled: form.canSaveNow() && form.canAdd(),\n execute: () => {\n form.save().then((r: IValidationResult) => {\n if (r.isValid) {\n form.add();\n }\n });\n }\n };\n\n form.models.onLoaded.register(() => {\n cmd.isEnabled = form.canSaveNow() && form.canAdd();\n return Promise.resolve();\n });\n\n return cmd;\n }\n getEditPopupSaveAndCloseCommand(form: FormBase): Interfaces.ICommandData {\n const cmd: Interfaces.ICommandData = {\n id: \"$saveAndClose\",\n title: \"base.save_and_close\",\n tooltip: \"base.save_and_close_tooltip\",\n small: true,\n sortIndex: 11,\n isVisible: form.canSave(),\n isEnabled: form.canSaveNow() && form.canAdd(),\n execute: () => {\n form.save().then((r: IValidationResult) => {\n if (r.isValid) {\n this.popupInfo.closeCurrentPopup();\n }\n });\n }\n };\n\n form.models.onLoaded.register(() => {\n cmd.isEnabled = form.canSaveNow();\n return Promise.resolve();\n });\n\n return cmd;\n }\n getFormDeleteCommand(form: FormBase): Interfaces.ICommandData {\n const cmd: Interfaces.ICommandData = {\n id: \"$delete\",\n icon: \"fas fa-times\",\n title: \"base.delete\",\n tooltip: \"base.delete_tooltip\",\n sortIndex: 20,\n isVisible: form.canSave(),\n isEnabled: form.canDeleteNow(),\n execute: () => {\n this.dialogConfirmService.show({\n title: form.translate(\"base.question\"),\n message: form.translate(\"base.sure_delete_question\")\n }).then(r => {\n if (r) {\n form.delete().then((deleteResult) => {\n if (!deleteResult) {\n return;\n }\n\n history.back();\n });\n }\n });\n }\n };\n\n form.models.onLoaded.register(() => {\n cmd.isVisible = form.canSave();\n cmd.isEnabled = form.canDeleteNow();\n return Promise.resolve();\n });\n\n return cmd;\n }\n getEditPopupDeleteCommand(form: FormBase): Interfaces.ICommandData {\n const cmd = this.getFormDeleteCommand(form);\n\n cmd.execute = () => {\n this.dialogConfirmService.show({\n title: form.translate(\"base.question\"),\n message: form.translate(\"base.sure_delete_question\")\n }).then(r => {\n if (r) {\n form.delete().then((deleteResult) => {\n if (!deleteResult) {\n return;\n }\n \n this.popupInfo.closeCurrentPopup();\n });\n }\n });\n };\n\n return cmd;\n }\n getFormGoBackCommand(form: FormBase): Interfaces.ICommandData {\n const cmd: Interfaces.ICommandData = {\n id: \"$goBack\",\n idCategory: \"$nav\",\n icon: \"fas fa-arrow-left\",\n tooltip: \"base.back\",\n sortIndex: 0,\n isEnabled: true,\n isVisibleExpression: \"canGoBack\",\n execute: () => {\n this.location.goBack();\n }\n }\n\n return cmd;\n }\n getListAddCommand(form: FormBase, options: IListOptionsBase): Interfaces.ICommandData {\n const cmd: Interfaces.ICommandData = {\n id: \"$add\",\n icon: \"fas fa-plus\",\n title: \"base.add\",\n tooltip: \"base.add_tooltip\",\n sortIndex: 5,\n isVisible: false,\n isEnabled: true,\n execute: (e) => {\n this.showEditPopupAdd(form, options, e.event ? e.event.target : null);\n }\n }\n\n if (options.dataModel) {\n const model = (options.relationBinding && options.relationBinding.dataContext)\n ? options.relationBinding.dataContext\n : options.dataModel;\n\n const info = form.models.getInfo(model);\n if (info) {\n cmd.isVisible = (info.webApiAction\n && info.keyProperty\n && this.permission.canWebApiNew(info.webApiAction, form.moduleId)\n && !!(options.editUrl || options.idEditPopup || options.listEdits.length > 0)) || false;\n\n if (info.allowNew) {\n cmd.isEnabledExpression = info.allowNew;\n delete cmd.isEnabled;\n }\n }\n }\n\n return cmd;\n }\n getListEditCommand(form: FormBase, options: IListOptionsBase): Interfaces.ICommandData {\n const cmd: Interfaces.ICommandData = {\n id: \"$listEdit\",\n icon: \"fas fa-pencil-alt\",\n title: \"base.edit\",\n tooltip: \"base.edit\",\n sortIndex: 6,\n isVisible: true,\n isEnabled: false,\n execute: () => {\n const customOptions = form[options.options.optionsName][\"__customOptions\"];\n\n const args = customOptions[\"clickArguments\"];\n const actions = customOptions[\"openClickActions\"];\n\n actions.forEach(c => c(args.event, args.dataSource));\n }\n }\n\n form.binding.observe({\n scopeContainer: form.scopeContainer,\n expression: `${options.options.optionsName}.__customOptions.clickArguments`,\n callback: (newValue, oldValue) => {\n cmd.isEnabled = !!newValue;\n }\n });\n\n return cmd;\n }\n getListExcelExportCommand(form: FormBase, options: IListOptionsBase): Interfaces.ICommandData {\n const cmd: Interfaces.ICommandData = {\n id: \"$listExcelExport\",\n idCategory: \"$export\",\n icon: \"far fa-file-excel\",\n title: \"base.excel-export\",\n tooltip: \"base.excel-export\",\n sortIndex: 7,\n isVisible: true,\n isEnabled: true,\n execute: () => {\n //TODO - es muss nicht unbedingt ein DataGrid sein?\n const dataGrid: DevExpress.ui.dxDataGrid = form[options.id].instance;\n dataGrid.option(\n \"export.fileName\",\n this.localization.translateOnce(form.title));\n\n let onlySelected = (dataGrid.getSelectedRowKeys().length > 0);\n\n dataGrid.exportToExcel(onlySelected);\n }\n }\n\n return cmd;\n }\n getListCommands(form: FormBase, options: IListOptionsBase, addEditCommand: boolean = false, listType: ListType = null): Interfaces.ICommandData[] {\n const result: Interfaces.ICommandData[] = [];\n\n const addCmd = this.getListAddCommand(form, options);\n if (addCmd) {\n result.push(addCmd);\n }\n\n if (addEditCommand) {\n const editCmd = this.getListEditCommand(form, options);\n if (editCmd)\n result.push(editCmd);\n }\n\n if (options.isMainList && listType == ListType.DataGrid) {\n result.push(this.getListExcelExportCommand(form, options));\n }\n\n return result;\n }\n getScrollDown(form: FormBase): Interfaces.ICommandData {\n const cmd: Interfaces.ICommandData = {\n id: \"$scrollDown\",\n idCategory: \"$nav\",\n icon: \"fas fa-chevron-down\",\n tooltip: \"base.scroll_down_tooltip\",\n small: true,\n sortIndex: 2,\n isEnabled: !!form.viewScrollInfo && form.viewScrollInfo.index < form.viewScrollInfo.maxCount - 1,\n isVisible: !!form.viewScrollInfo,\n execute: () => {\n const index = form.viewScrollInfo.index + 1;\n this.scroll(form, index);\n }\n }\n\n form.binding.observe({\n scopeContainer: form.scopeContainer,\n expression: \"viewScrollInfo.index\",\n callback: () => {\n cmd.isEnabled = !!form.viewScrollInfo && form.viewScrollInfo.index < form.viewScrollInfo.maxCount - 1\n }\n });\n form.binding.observe({\n scopeContainer: form.scopeContainer,\n expression: \"viewScrollInfo\",\n callback: () => {\n cmd.isVisible = !!form.viewScrollInfo;\n }\n });\n\n return cmd;\n }\n getScrollUp(form: FormBase): Interfaces.ICommandData {\n const cmd: Interfaces.ICommandData = {\n id: \"$scrollUp\",\n idCategory: \"$nav\",\n icon: \"fas fa-chevron-up\",\n tooltip: \"base.scroll_up_tooltip\",\n small: true,\n sortIndex: 1,\n isEnabled: !!form.viewScrollInfo && form.viewScrollInfo.index > 0,\n isVisible: !!form.viewScrollInfo,\n execute: () => {\n const index = form.viewScrollInfo.index - 1;\n this.scroll(form, index);\n }\n }\n\n form.binding.observe({\n scopeContainer: form.scopeContainer,\n expression: \"viewScrollInfo.index\",\n callback: () => {\n cmd.isEnabled = !!form.viewScrollInfo && form.viewScrollInfo.index > 0\n }\n });\n form.binding.observe({\n scopeContainer: form.scopeContainer,\n expression: \"viewScrollInfo\",\n callback: () => {\n cmd.isVisible = !!form.viewScrollInfo;\n }\n });\n\n return cmd;\n }\n getClosePopupCommand() {\n const cmd: Interfaces.ICommandData = {\n id: \"$close\",\n idCategory: \"$close\",\n icon: \"fas fa-times\",\n tooltip: \"base.close_tooltip\",\n sortIndex: 999,\n execute: () => {\n this.popupInfo.closeCurrentPopup();\n }\n }\n\n return cmd;\n }\n\n private showEditPopupAdd(form: FormBase, options: IListOptionsBase, target: any) {\n if (options.listEdits.length > 0) {\n const ctxMenu = new ContextMenu();\n\n options.listEdits.forEach(c => {\n ctxMenu.items.push({\n text: form.translate(c.caption),\n execute: () => {\n if (c.editDataContext) {\n const model = form.models.getInfo(c.editDataContext);\n form.models.data[c.editDataContext] = form.models.createNewModelData(model);\n }\n if (c.editUrl) {\n this.location.goTo({\n url: c.editUrl + \"/0\",\n currentViewModel: form\n });\n }\n if (c.idEditPopup) {\n form.editPopups.show(c.idEditPopup, null);\n }\n }\n });\n });\n\n ctxMenu.show(target);\n } else {\n if (options.editDataContext) {\n const model = form.models.getInfo(options.editDataContext);\n form.models.data[options.editDataContext] = form.models.createNewModelData(model);\n }\n if (options.editUrl) {\n this.location.goTo({\n url: options.editUrl + \"/0\",\n currentViewModel: form\n });\n }\n if (options.idEditPopup) {\n form.editPopups.show(options.idEditPopup, null);\n }\n }\n }\n private async scroll(form: FormBase, index: number): Promise {\n const hasHandled = await form.handleChangedData();\n if (!hasHandled) {\n return;\n }\n\n const viewScrollInfo = form.viewScrollInfo;\n\n if (viewScrollInfo.getNextKey) {\n const id = viewScrollInfo.getNextKey(index);\n if (!id) {\n return;\n }\n\n viewScrollInfo.index = index;\n form.loadById(id);\n } else {\n const lastLoadInfo = viewScrollInfo.lastLoadInfo;\n\n const model = form.models.modelWithKeyId;\n const columns = [model.keyProperty, ...(viewScrollInfo.columns || [])];\n\n const getOptions = {\n take: 1,\n skip: index,\n where: lastLoadInfo.getOptions.where,\n orderBy: lastLoadInfo.getOptions.orderBy,\n customs: lastLoadInfo.getOptions.customs,\n columns: columns,\n searchtext: lastLoadInfo.getOptions.searchtext,\n requireTotalCount: true\n }\n\n this.rest.get({\n url: lastLoadInfo.url,\n moduleId: form.moduleId,\n getOptions: getOptions,\n increaseLoadingCount: true,\n }).then(async r => {\n if (r && r.count != void (0)) {\n viewScrollInfo.maxCount = r.count;\n }\n\n if (r && r.rows && r.rows.length) {\n viewScrollInfo.index = index;\n\n const row = r.rows[0];\n let id = row[model.keyProperty];\n\n if (viewScrollInfo.resultKeyResolver) {\n id = await viewScrollInfo.resultKeyResolver(id, row);\n }\n\n form.loadById(id);\n }\n });\n }\n }\n}\n","import { autoinject, transient, TaskQueue, validateBehaviorName } from 'aurelia-framework';\nimport { IZitTagOptions } from '../../../../zit-ui/elements/zit-tag/export';\nimport { FileService, BrowserService } from '../../../../framework/base/export';\nimport { FormBase } from '../../../../framework/forms/form-export';\nimport { DokumentService, CustomEditPopupService } from '../../../services/export';\nimport { IdxTextBoxComponent, IdxPopupComponent } from '../../../interfaces/export';\nimport { ICommandData } from '../../../../framework/forms/export';\n@autoinject\n@transient()\nexport class DokumentUnterfertigungUtils {\n constructor(\n private _customEditPopupService: CustomEditPopupService,\n private _dokumentService: DokumentService,\n private _fileService: FileService,\n private _taskQueue: TaskQueue,\n private _browserService: BrowserService\n ) { }\n\n form: FormBase;\n\n showDokumentCode: boolean = true;\n showTAN: boolean = false\n isDokumentCodeValid: boolean;\n isTANSend: boolean;\n\n validierungData = { IdDokumentElement: null, DokumentCode: null };\n unterfertigungData = { IdDokumentElement: null, TAN: null };\n\n codeKorrektTagOptions: IZitTagOptions = {\n cssClass: \"z--tag-info-message z--tag-info-ok-message\",\n icon: {\n faIcon: \"fas fa-check-circle\",\n },\n textExpression: `\"dokument-utils.code-ok-info\" | tr`\n };\n codeStartTagOptions: IZitTagOptions = {\n cssClass: \"z--tag-info-message\",\n icon: {\n faIcon: \"fas fa-info-circle\",\n },\n textExpression: `\"dokument-utils.code-start-info\" | tr`\n };\n codeFalschTagOptions: IZitTagOptions = {\n cssClass: \"z--tag-info-message z--tag-info-falsch-message\",\n icon: {\n faIcon: \"fas fa-times-circle\",\n },\n textExpression: `\"dokument-utils.code-falsch-info\" | tr`\n };\n\n anfordernTANButtonOptions: DevExpress.ui.dxButtonOptions = {\n text: \"TAN anfordern\",\n icon: \"fas fa-pencil-alt\",\n elementAttr: {\n class: \"z--button z--button-round\"\n },\n onClick: () => {\n if (!this.isDokumentCodeValid) {\n return;\n }\n this.sendTan();\n },\n bindingOptions: {\n disabled: \"!functions.$f_DokumentUtils.isDokumentCodeValid\"\n }\n };\n dokumentenCodePruefenButtonOptions: DevExpress.ui.dxButtonOptions = {\n text: \"Dokumenten-Code prüfen\",\n icon: \"fas fa-redo-alt\",\n elementAttr: {\n class: \"z--button z--button-round\"\n },\n onClick: () => {\n this.validateDokumentCode();\n },\n bindingOptions: {\n disabled: \"!functions.$f_DokumentUtils.validierungData.DokumentCode\"\n }\n };\n unterschreibenDokumentButtonOptions: DevExpress.ui.dxButtonOptions = {\n text: \"Dokument unterschreiben\",\n icon: \"far fa-check-circle\",\n elementAttr: {\n class: \"z--button z--button-round\"\n },\n onClick: () => {\n this.unterschreibenDokument()\n },\n bindingOptions: {\n disabled: \"!functions.$f_DokumentUtils.isDokumentCodeValid\"\n }\n };\n\n dataSavedClosePopupCommand: ICommandData = {\n id: \"dataSavedClosePopupCommand\",\n icon: \"fas fa-check\",\n tooltip: \"base.save\",\n sortIndex: 1010,\n execute: () => {\n const popup: IdxPopupComponent = this.form[\"dataSavedPopup\"];\n popup.instance.hide();\n }\n }\n\n unterfertigungDokumentTagOptions: IZitTagOptions = {\n isClickEnabled: true,\n hasDefaultInfo: true,\n icon: {\n faIconExpression: `item.Zustand.TagSymbol`,\n textExpression: `item.Zustand.TagSymbol \n ? \"\"\n : \"D\"`\n },\n textExpression: `item.VorlageBezeichnung || item.Dateiname | zitRestrictLength:50`,\n backgroundColorExpression: \"item.Informationstyp.FarbeTagText\",\n infoList: [\n {\n icon: {\n faIcon: \"fas fa-paperclip\",\n },\n onClick: (e, data) => {\n e.stopPropagation();\n this._fileService.download(data.DMSLinkDokument);\n }\n }\n ],\n onClick: (e, data) => {\n e.stopPropagation();\n this._fileService.inline(data.DMSLinkDokument);\n }\n };\n\n bind(form: FormBase) {\n this.form = form;\n form.models.onLoaded.register((args) => {\n if (args.model.id == \"$m_Dokument\" && args.data) {\n this.isTANSend = false;\n this.showDokumentCode = true;\n this.showTAN = false;\n this.validierungData.DokumentCode = null;\n this.unterfertigungData.TAN = null;\n \n this.setInitialData(args.data);\n\n this._taskQueue.queueTask(() => {\n this.repaintPopup();\n });\n }\n return Promise.resolve();\n });\n }\n\n private onDokumentUnterschrieben() {\n const popup: IdxPopupComponent = this.form[\"dataSavedPopup\"];\n \n this._customEditPopupService.dokumentUnterfertigung.hide();\n popup.instance.show();\n }\n\n private async sendTan() {\n const codeTextBox: IdxTextBoxComponent = this.form[\"r_dokumentUnterfertigungDokumentenCode\"];\n this.validierungData.DokumentCode = codeTextBox.instance.option(\"value\");\n\n await this._dokumentService.sendTan(this.validierungData);\n\n this.isTANSend = true;\n codeTextBox.setOption({ \"readOnly\": true });\n\n this._taskQueue.queueTask(() => {\n this.repaintPopup();\n });\n }\n private async validateDokumentCode() {\n const validation = await this._dokumentService.validateCode(this.validierungData);\n\n this.isDokumentCodeValid = validation.IsValid;\n\n if (validation.IsValid) {\n this.showDokumentCode = !this._browserService.isXS;\n this.showTAN = true;\n }\n\n this._taskQueue.queueTask(() => {\n this.repaintPopup();\n });\n }\n private async unterschreibenDokument() {\n await this._dokumentService.unterfertigenDokument(this.unterfertigungData);\n\n this.onDokumentUnterschrieben();\n }\n\n private setInitialData(data) {\n this.isDokumentCodeValid = data.NeedsDokumentCode ? null : true;\n\n this.validierungData.IdDokumentElement = data.Id;\n this.unterfertigungData.IdDokumentElement = data.Id;\n }\n private repaintPopup() {\n const popup: DevExpress.ui.dxPopup = this._customEditPopupService.dokumentUnterfertigung.popup.instance;\n if (!popup) {\n return;\n }\n\n popup.repaint();\n }\n}\n","import { autoinject } from \"aurelia-framework\";\nimport { AuthorizationService } from \"../../framework/base/services/authorization-service\";\nimport { RestService } from \"../../framework/base/services/rest-service\";\n\n@autoinject\nexport class InformationService {\n constructor(\n private _restService: RestService,\n private _authorizationService: AuthorizationService) {}\n}","import {\n autoinject,\n createOverrideContext \n} from \"aurelia-framework\";\nimport {\n FormBase\n} from \"../classes/form-base\";\nimport {\n DataSourceService,\n LocationService\n} from \"../../base/services/export\";\nimport {\n DefaultCommandsService,\n ToolbarService,\n PopupInfoService\n} from \"../services/export\";\nimport {\n IDataSourceCustomizationOptions,\n IViewScrollInfo\n} from \"../../base/interfaces/export\";\nimport * as WidgetOptions from \"../widget-options/export\";\nimport { ListType } from '../enums/list-type-enum';\nimport { AsyncService } from '../../base/services/async-service';\n\n@autoinject\nexport class BaseWidgetCreatorService {\n constructor(\n private dataSource: DataSourceService,\n private location: LocationService,\n private toolbar: ToolbarService,\n private defaultCommands: DefaultCommandsService,\n private popupService: PopupInfoService,\n private asyncService: AsyncService\n ) { }\n\n checkListRelationEdit(form: FormBase, options: WidgetOptions.IListOptions) {\n const hasEditPopup = !!options.idEditPopup\n || (options.listEdits && options.listEdits.some(edit => !!edit.idEditPopup));\n\n if (!hasEditPopup || !options.isRelation) {\n return;\n }\n\n form.editPopups.onEditPopupModelLoaded.register(e => {\n const isMyEditPopup = options.idEditPopup == e.editPopup.id\n || (options.listEdits && options.listEdits.some(edit => edit.idEditPopup == e.editPopup.id));\n\n if (!isMyEditPopup) {\n return;\n }\n if (e.model.key !== \"variables.data.$id\") {\n return;\n }\n if (!e.data) {\n return;\n }\n if (e.data[e.model.keyProperty]) {\n return;\n }\n\n const info = form.models.getInfo(options.dataModel);\n e.data[options.relationBinding.bindTo] = form.models.data[info.id][info.keyProperty];\n\n return Promise.resolve();\n });\n }\n checkListToolbar(form: FormBase, options: WidgetOptions.IListOptions, addEditCommand: boolean = false, listType: ListType = null) {\n if (!options.createToolbar && !options.isMainList) {\n return;\n }\n\n const commands = this.defaultCommands.getListCommands(form, options, addEditCommand, listType);\n\n if (options.commands && options.commands.length) {\n commands.push(...options.commands.map(i => {\n return form.binding.evaluate(form.scope, i.binding.bindToFQ)\n }));\n }\n\n if (options.createToolbar) {\n form[options.optionsToolbar.optionsName] = this.toolbar.createToolbarOptions(\n form.scopeContainer,\n options.caption,\n commands,\n true,\n options.icon);\n } else if (options.isMainList) {\n commands.forEach(c => form.commands.addCommand(c));\n }\n }\n createListDataSource(form: FormBase, options: WidgetOptions.IListOptionsBase, widgetOptions: DevExpress.ui.WidgetOptions, customizationOptions?: IDataSourceCustomizationOptions): DevExpress.data.DataSource {\n if (options.dataModel) {\n const model = form.models.getInfo(options.dataModel);\n const relationModel = options.isRelation\n ? form.models.getInfo(options.relationBinding.dataContext)\n : null;\n\n const mainModel = relationModel || model;\n\n customizationOptions = customizationOptions || {};\n const canLoadList: { (): boolean }[] = [];\n\n let onInitialized = widgetOptions.onInitialized;\n let isInitialized = false;\n\n widgetOptions.onInitialized = (e) => {\n if (onInitialized) {\n onInitialized(e);\n }\n\n isInitialized = true;\n }\n\n if (options.isRelation) {\n const getCustomWhere = () => {\n let data = form.models.data && form.models.data[model.id]\n ? form.models.data[model.id][model.keyProperty]\n : \"0\";\n\n data = data || \"0\";\n\n return [options.relationBinding.bindTo, data];\n };\n const getCustomWhereParam = customizationOptions.getCustomWhere;\n\n customizationOptions.getCustomWhere = () => {\n const whereParam = getCustomWhereParam ? getCustomWhereParam() : null;\n const where = getCustomWhere();\n\n const result = [];\n if (whereParam) {\n result.push(whereParam);\n }\n if (where) {\n result.push(where);\n }\n\n return result;\n }\n\n canLoadList.push(() => {\n return !!(form.models.data && form.models.data[model.id]\n && form.models.data[model.id][model.keyProperty]);\n });\n form.binding.observe({\n scopeContainer: form.scopeContainer,\n expression: `models.data.${model.id}.${model.keyProperty}`,\n callback: () => {\n if (!isInitialized) {\n return;\n }\n\n dataSource.reload();\n }\n });\n }\n\n if (mainModel.canLoad != void(0)) {\n canLoadList.push(() => {\n return mainModel.canLoad(widgetOptions);\n });\n }\n\n if (canLoadList.length > 0) {\n const canLoad = () => {\n return canLoadList.every(c => c());\n };\n const canLoadParam = customizationOptions.canLoad;\n\n customizationOptions.canLoad = () => {\n if (!canLoad()) {\n return false;\n }\n if (canLoadParam && !canLoadParam()) {\n return false;\n }\n\n return true;\n };\n }\n\n form.models.onLoadRequired.register(r => {\n if (r.model != mainModel) {\n return Promise.resolve();\n }\n\n return new Promise((resolve, reject) => {\n if (!r.onlyCurrentPage) {\n if (dataSource.pageIndex() > 0) {\n dataSource.pageIndex(0);\n } \n }\n\n if (!isInitialized) {\n resolve();\n return;\n }\n \n this.asyncService.convertToPromise(dataSource.reload())\n .then(resolve)\n .catch(reject);\n });\n });\n\n const onLoaded = (data) => {\n form.models.callOnLoaded(mainModel, data);\n };\n const onLoadedParam = customizationOptions.onLoaded;\n customizationOptions.onLoaded = (data) => {\n onLoaded(data);\n\n if (onLoadedParam) {\n onLoadedParam(data);\n }\n };\n\n const dataSource = this.dataSource.createDataSource(form.scopeContainer, mainModel, customizationOptions);\n return dataSource;\n }\n }\n setListClickActions(form: FormBase, options: WidgetOptions.IListOptionsBase): void {\n const clickActions: { (e: any, dataSource?: DevExpress.data.DataSource): void }[] = [];\n const openClickActions: { (e: any, dataSource?: DevExpress.data.DataSource): void }[] = [];\n\n const getViewScrollInfo = (e: any, dataSource: DevExpress.data.DataSource): IViewScrollInfo => {\n const customDataSource: any = dataSource;\n if (!customDataSource.lastLoadInfo) {\n return null;\n }\n\n const pageSize = dataSource.pageSize();\n const pageIndex = dataSource.pageIndex();\n const pageStart = pageSize * pageIndex;\n\n let rowIndex = -1;\n if (e && e.rowIndex != void(0)) {\n rowIndex = e.rowIndex;\n\n if (!e.hasAllPages) {\n rowIndex = rowIndex + pageStart;\n }\n }\n\n return {\n lastLoadInfo: customDataSource.lastLoadInfo,\n index: rowIndex,\n maxCount: dataSource.totalCount()\n };\n };\n\n if (options.editDataContext || options.listEdits.length > 0) {\n if (options.listEdits.length > 0) {\n clickActions.push((e, ds) => {\n const edit = options.listEdits.find(c => c.typeName === e.data.ObjectTypeName);\n if (!edit) {\n return;\n }\n\n form.models.data[edit.editDataContext] = e.data;\n });\n } else {\n clickActions.push((e, ds) => {\n form.models.data[options.editDataContext] = e.data;\n });\n }\n }\n if (options.onItemClick) {\n clickActions.push((e, ds) => {\n form.binding.evaluate({\n bindingContext: form,\n overrideContext: createOverrideContext({\n \"$event\": e\n })\n }, options.onItemClick);\n });;\n }\n if ((options.editUrl || options.listEdits.length > 0) && options.dataModel) {\n const model = form.models.getInfo(options.dataModel);\n\n if (model) {\n if (options.listEdits.length > 0) {\n openClickActions.push(async (e, ds) => {\n const edit = options.listEdits.find(c => c.typeName === e.data.ObjectTypeName);\n if (!edit) {\n return;\n }\n if (!edit.editUrl) {\n return;\n }\n\n const popupClosed = await this.popupService.closeAllPopups();\n if (!popupClosed) {\n return;\n } \n\n this.location.goTo({\n url: `#${edit.editUrl}/${e.data[model.keyProperty]}`,\n currentViewModel: form,\n viewScrollInfo: getViewScrollInfo(e, ds)\n });\n });\n } else {\n openClickActions.push(async (e, ds) => {\n const key = options.editUrlIdProperty\n ? e.data[options.editUrlIdProperty]\n : e.data[model.keyProperty];\n\n const popupClosed = await this.popupService.closeAllPopups();\n if (!popupClosed) {\n return;\n }\n \n this.location.goTo({\n url: `#${options.editUrl}/${key}`, \n currentViewModel: form,\n viewScrollInfo: getViewScrollInfo(e, ds)\n });\n });\n }\n }\n }\n if ((options.idEditPopup || options.listEdits.length > 0)) {\n form.editPopups.onEditPopupHidden.register(a => {\n if (a.editPopup.id === options.idEditPopup || options.listEdits.some(c => c.idEditPopup === a.editPopup.id)) {\n const listInstance = form[options.id];\n if (!listInstance) {\n return;\n }\n\n if (listInstance.instance && listInstance.instance.refresh) {\n listInstance.instance.refresh();\n } else if (listInstance.refresh) {\n listInstance.refresh();\n }\n };\n\n return Promise.resolve();\n });\n\n if (options.listEdits.length > 0) {\n //TODO - Info aus DataSource.lastLoadOptions übergeben und verarbeiten\n openClickActions.push((e, ds) => {\n const edit = options.listEdits.find(c => c.typeName === e.data.ObjectTypeName);\n if (!edit) {\n return;\n }\n if (!edit.idEditPopup) {\n return;\n }\n\n form.editPopups.show(edit.idEditPopup, getViewScrollInfo(e, ds));\n });\n } else {\n openClickActions.push((e, ds) => {\n form.editPopups.show(options.idEditPopup, getViewScrollInfo(e, ds));\n });\n }\n }\n\n const customOptions = this.getCustomOptions(form, options);\n customOptions.clickActions = clickActions;\n customOptions.openClickActions = openClickActions;\n customOptions.hasClickActions = clickActions.length > 0 || openClickActions.length > 0;\n\n if (clickActions.length && openClickActions.length) {\n clickActions.push((e, ds) => {\n customOptions.clickArguments = {\n event: e,\n dataSource: ds\n }\n });\n }\n }\n\n createWidgetOptions(form: FormBase, options: WidgetOptions.IWidgetOptions): any {\n const widgetOptions: DevExpress.ui.WidgetOptions = {\n bindingOptions: {}\n };\n\n if (options.isDisabled) {\n widgetOptions.disabled = true;\n } else if (options.isDisabledExpression) {\n widgetOptions.bindingOptions[\"disabled\"] = options.isDisabledExpression;\n }\n\n if (options.tooltip) {\n widgetOptions.hint = options.tooltip;\n }\n\n const customWidgetOptions: any = widgetOptions;\n\n widgetOptions.onDisposing = () => {\n widgetOptions.onDisposing = null;\n\n this.callCustomDisposing(form, options);\n };\n\n form.onUnbind.register(() => {\n for (let key in widgetOptions) {\n if (key.startsWith(\"on\") && typeof widgetOptions[key] === \"function\") {\n delete widgetOptions[key];\n }\n };\n\n return Promise.resolve();\n });\n\n form[options.options.optionsName] = widgetOptions;\n\n return widgetOptions;\n }\n\n callCustomDisposing(form: FormBase, options: any): void {\n const customOptions = this.getCustomOptions(form, options);\n if (!customOptions.disposing) {\n return;\n }\n\n customOptions.disposing.forEach(c => c());\n delete customOptions.disposing;\n delete options[\"__customOptions\"];\n }\n registerCustomDisposing(form: FormBase, options: any, action: { (): void }) {\n const customOptions = this.getCustomOptions(form, options);\n customOptions.disposing = customOptions.disposing || [];\n\n customOptions.disposing.push(action);\n }\n\n getCustomOptions(form: FormBase, options: WidgetOptions.IWidgetOptions) {\n if (!form[options.options.optionsName][\"__customOptions\"]) {\n form[options.options.optionsName][\"__customOptions\"] = {};\n }\n\n return form[options.options.optionsName][\"__customOptions\"];\n }\n}\n","export enum ListType {\n DataGrid,\n ListView,\n List\n}\n","import { autoinject } from 'aurelia-framework';\nimport { RestService } from './../../framework/base/services/export';\n\n@autoinject\nexport class UpdateHinweisService {\n constructor(\n private rest: RestService\n ) {\n this.checkHinweis();\n }\n\n updateGeplant: IUpdateGeplant;\n\n private checkHinweis() {\n this.updateHinweis();\n\n setTimeout(() => {\n this.updateHinweis();\n }, 300000);\n }\n\n private async updateHinweis() {\n const jetzt = new Date();\n \n const result = await this.rest.get({\n url: this.rest.getWebApiUrl(\"ZIT/Stammdaten/UpdateHinweis\"),\n getOptions: {\n where: [[\"Bis\", \">=\", jetzt], \"and\", [\"Von\", \"<=\", jetzt]]\n }\n });\n\n this.updateGeplant = result && result.length\n ? { icon: result[0].Symbol, message: result[0].Bezeichnung }\n : null;\n }\n}\ninterface IUpdateGeplant {\n icon: string;\n message: string;\n}","import { EventAggregator } from \"aurelia-event-aggregator\";\nimport { autoinject } from \"aurelia-framework\";\nimport { BrowserService } from \"../../framework/base/export\";\nimport { RestService } from \"../../framework/base/services/rest-service\";\nimport { IObjektInfoData } from \"./../interfaces/export\";\nimport { StartupService } from \"./startup-service\";\n@autoinject\nexport class ObjektInfoService {\n private _entitaetInfoList: IObjektInfoData[];\n\n constructor(\n private _eventAggregator: EventAggregator,\n private _restService: RestService,\n private _startupService: StartupService,\n private _browserService: BrowserService\n ) {}\n\n getObjektByBezeichnung(bezeichnung: string): IObjektInfoData {\n return this._entitaetInfoList.find((e) => e.Bezeichnung === bezeichnung);\n }\n getObjektByFullname(fullname: string): IObjektInfoData {\n return this._entitaetInfoList.find((e) => e.Fullname === fullname);\n }\n getObjektByName(name: string): IObjektInfoData {\n return this._entitaetInfoList.find((e) => e.Fullname.endsWith(\".\" + name));\n }\n getObjektByWebApiUrl(webApiUrl: string): IObjektInfoData {\n return this._entitaetInfoList.find((e) => e.WebApiUrl === webApiUrl);\n }\n getObjektNavigationUrl(fullname: string): string {\n if (!fullname) {\n return null;\n }\n\n const info = this.getObjektByFullname(fullname);\n if (!info) {\n return null;\n }\n if (!info.NavigationUrl) {\n return null;\n }\n\n return info.NavigationUrl;\n }\n\n isObjektInfoLoaded(): boolean {\n return !!this._entitaetInfoList;\n }\n\n async loadObjektInfoList() {\n this._entitaetInfoList = await this._restService.get({\n url: this._restService.getWebApiUrl(\"ZIT/Berechtigungen/Objekttyp\")\n });\n\n this._entitaetInfoList.forEach((item) => {\n this.updateBezeichnung(item);\n\n switch (item.Fullname) {\n case \"TIP.ZIT.Business.Entities.Objekte.Ansprechpersonen.Ansprechperson\": {\n item.NavigationUrl = \"#Objekte/Ansprechperson\";\n item.WebApiUrl = \"ZIT/Objekte/Ansprechperson\";\n break;\n }\n case \"TIP.ZIT.Business.Entities.Objekte.Bewerbungen.Bewerbung\": {\n item.NavigationUrl = \"#Objekte/Bewerbung\";\n item.WebApiUrl = \"ZIT/Objekte/Bewerbung\";\n break;\n }\n case \"TIP.ZIT.Business.Entities.Objekte.Disposition.DispoPlanstelle\": {\n item.NavigationUrl = \"#Objekte/DispoPlanstelle\";\n item.WebApiUrl = \"ZIT/Objekte/DispoPlanstelle\";\n break;\n }\n case \"TIP.ZIT.Business.Entities.Objekte.Disposition.DispoPlanstellePersonenzuteilung\": {\n item.NavigationUrl = \"#Objekte/DispoPlanstellePersonenzuteilung\";\n item.WebApiUrl = \"ZIT/Objekte/DispoPlanstellePersonenzuteilung\";\n break;\n }\n case \"TIP.ZIT.Business.Entities.Objekte.Geschaeftspartner.Geschaeftspartner\": {\n item.NavigationUrl = \"#Objekte/Geschaeftspartner\";\n item.WebApiUrl = \"ZIT/Objekte/Geschaeftspartner\";\n break;\n }\n case \"TIP.ZIT.Business.Entities.Objekte.Personen.Person\": {\n item.NavigationUrl = \"#Objekte/Person\";\n item.WebApiUrl = \"ZIT/Objekte/Person\";\n break;\n }\n case \"TIP.ZIT.Business.Entities.Objekte.Stelleninserate.Stelleninserat\": {\n item.NavigationUrl = \"#Objekte/Stelleninserat\";\n item.WebApiUrl = \"ZIT/Objekte/Stelleninserat\";\n break;\n }\n case \"TIP.ZIT.Business.Entities.Objekte.ProfilFirmen.ProfilFirma\": {\n item.NavigationUrl = \"#Objekte/ProfilFirma\";\n item.WebApiUrl = \"ZIT/Objekte/ProfilFirma\";\n break;\n }\n case \"TIP.ZIT.Business.Entities.Objekte.Termine.Termin\": {\n item.NavigationUrl = \"#Objekte/Termin\";\n item.WebApiUrl = \"ZIT/Objekte/Termin\";\n break;\n }\n case \"TIP.ZIT.Business.Entities.Objekte.Aufgaben.Aufgabe\": {\n item.NavigationUrl = \"#Objekte/Aufgabe\";\n item.WebApiUrl = \"ZIT/Objekte/Aufgabe\";\n break;\n }\n case \"TIP.ZIT.Business.Entities.Objekte.Ziele.Ziel\": {\n item.NavigationUrl = \"#Objekte/Ziel\";\n item.WebApiUrl = \"ZIT/Objekte/Ziel\";\n break;\n }\n case \"TIP.ZIT.Business.Entities.Objekte.Events.Event\": {\n item.NavigationUrl = \"#Objekte/Event\";\n item.WebApiUrl = \"ZIT/Objekte/Event\";\n break;\n }\n case \"TIP.ZIT.Business.Entities.Objekte.Events.EventZeitraum\": {\n item.NavigationUrl = \"#Objekte/EventZeitraum\";\n item.WebApiUrl = \"ZIT/Objekte/EventZeitraum\";\n break;\n }\n case \"TIP.ZIT.Business.Entities.Objekte.Events.EventTeilnehmer\": {\n item.NavigationUrl = \"#Objekte/EventTeilnehmer\";\n item.WebApiUrl = \"ZIT/Objekte/EventTeilnehmer\";\n break;\n }\n case \"TIP.ZIT.Business.Entities.Objekte.Informationen.Information\": {\n item.NavigationUrl = \"#Objekte/Information\";\n item.WebApiUrl = \"ZIT/Objekte/Information\";\n break;\n }\n default: {\n break;\n }\n }\n });\n\n this._eventAggregator.publish(\n \"objekt-info:loaded\", {});\n }\n private updateBezeichnung(objektInfo: IObjektInfoData) {\n const url = \"route:Suche?TypeName=\".concat(objektInfo.Fullname);\n \n const menu = this._startupService.startupInfo.MenuList.find((m) => m.Route == url);\n if (!menu) {\n return;\n }\n\n objektInfo.Bezeichnung = this._browserService.isMobile\n ? menu.BezeichnungMobil\n : menu.BezeichnungDesktop;\n }\n}\n","import { IHistoryState } from \"./../interfaces/history-state\";\nimport {\n autoinject,\n TaskQueue\n} from \"aurelia-framework\";\nimport {\n EventAggregator\n} from \"aurelia-event-aggregator\";\nimport {\n LocationService,\n LocalizationService\n} from \"../../base/services/export\";\nimport {\n ILocationGoToEventArgs\n} from \"../../base/event-args/export\"\nimport {\n RouterService\n} from \"./router-service\";\nimport * as Interfaces from \"../interfaces/export\";\n\n@autoinject\nexport class HistoryService {\n private isActive = false;\n\n constructor(\n private eventAggregator: EventAggregator,\n private taskQueue: TaskQueue,\n private router: RouterService,\n private location: LocationService,\n private localization: LocalizationService\n ) {\n this.register();\n }\n\n pipelineUrl: string;\n lastRequestUrl: string;\n checkHasChangedDataBeforeUnload: boolean = true;\n\n clearAndGoToFallback() {\n //Damit keine Frage nach Änderungen speichern kommt\n this.router.currentViewItem = null;\n\n this.navigate({\n url: \"\",\n clearStack: true\n });\n }\n goBack(): Promise {\n history.back();\n return Promise.resolve();\n }\n getUrl(url?: string): string {\n let hash = url || location.hash;\n\n if (!hash) {\n return \"\";\n }\n\n if (hash.substr(0, 1) === \"#\") {\n return hash.substr(1);\n } else {\n return hash;\n }\n }\n getUrlWithHash(url?: string): string {\n return \"#\".concat(this.getUrl(url));\n }\n navigateCurrentOrInPipeline() {\n if (this.pipelineUrl) {\n this.guardedNavigate(() => {\n return this.navigate({\n url: this.pipelineUrl,\n clearStack: true\n }).then(() => {\n this.pipelineUrl = null;\n });\n });\n } else {\n this.guardedNavigate(() => {\n return this.navigate({\n url: this.getUrl()\n });\n });\n }\n }\n //TODO - ev. in LocationService übernehmen, da es dort besser passt\n setUrlWithoutNavigation(url: string, replace: boolean = false) {\n this.guardedNavigate(() => {\n let currentStateHistory: Interfaces.IHistoryState = history.state;\n\n const urlWithHash = this.getUrlWithHash(url);\n this.router.updateCurrentUrl(urlWithHash); \n\n if (currentStateHistory) {\n currentStateHistory.url = url;\n\n history.replaceState(\n currentStateHistory,\n currentStateHistory.caption,\n urlWithHash);\n } else { \n const currentStateRouter = this.router.getCurrentHistoryState();\n\n history.pushState(\n currentStateRouter,\n currentStateRouter.caption,\n urlWithHash);\n }\n return Promise.resolve();\n });\n }\n\n private register() {\n window.addEventListener(\"popstate\", (e: any) => {\n this.guardedNavigate(async () => {\n const state: IHistoryState = e.state;\n let hasRoute = false;\n let isForward = false;\n if (state && state.id != void (0)) {\n //Prüfen ob dieser State existiert\n //Wenn ja, dann wurde ein Back ausgeführt, ansonsten ein Forward\n hasRoute = this.router.hasRouteWithId(state.id);\n\n if (hasRoute) {\n const canDeactivate = await this.router.canDeactivateCurrentView();\n if (!canDeactivate) {\n //Wenn nicht deaktiviert werden kann, dann wird der History-State verwendet\n //und wieder neu hinzugefügt\n\n const currentState = this.router.getCurrentHistoryState();\n\n history.pushState(\n currentState,\n currentState.caption,\n this.getUrlWithHash(currentState.url));\n\n return;\n }\n } else {\n const currentState = this.router.getCurrentHistoryState();\n if (currentState && currentState.id < state.id) {\n isForward = true;\n }\n }\n }\n\n return this.navigate({\n historyState: e.state,\n clearStack: !e.state || e.state.id == void (0) || (!isForward && !hasRoute),\n url: this.getUrl(),\n isPopState: true\n });\n });\n });\n window.addEventListener(\"beforeunload\", (e: any) => {\n if (!this.checkHasChangedDataBeforeUnload) {\n return;\n }\n\n const args = {\n hasChangedData: false\n };\n this.eventAggregator.publish(\"window:beforeunload\", args);\n\n if (args.hasChangedData) {\n e.returnValue = this.localization.translateOnce(\"stack-router.changed-data-found\");\n return e.returnValue;\n }\n });\n\n this.eventAggregator.subscribe(\"location:go-back\", e => {\n this.goBack();\n });\n this.eventAggregator.subscribe(\"location:go-to\", e => {\n e.promise = this.guardedNavigate(async () => {\n const isHandled = await this.navigateByLocation(e.args);\n e.isHandled = isHandled;\n });\n });\n }\n private async guardedNavigate(action: { (): Promise }) {\n if (this.isActive) {\n return;\n }\n\n this.isActive = true;\n try {\n return await action();\n } finally {\n this.isActive = false;\n }\n }\n private async navigate(navigationArgs: Interfaces.INavigationArgs): Promise {\n this.lastRequestUrl = navigationArgs.url;\n\n const hasNavigated = await this.router.navigate(navigationArgs);\n\n if (hasNavigated) {\n this.setCurrentHistory(navigationArgs.didReplace || navigationArgs.isPopState);\n return true;\n } else {\n return false;\n }\n }\n private async navigateByLocation(locationGoTo: ILocationGoToEventArgs): Promise {\n let replace = locationGoTo.replace || false;\n\n if (this.router.viewStack.length > 1\n && this.router.viewStack[this.router.viewStack.length - 2].controller[\"currentViewModel\"] === locationGoTo.currentViewModel) {\n replace = true;\n }\n\n const args: Interfaces.INavigationArgs = {\n url: this.getUrl(locationGoTo.url),\n viewScrollInfo: locationGoTo.viewScrollInfo,\n replace: replace,\n clearStack: locationGoTo.clearStack,\n setValuesOnModelWithKeyIdLoaded: locationGoTo.setValuesOnModelWithKeyIdLoaded,\n customOptions: locationGoTo.customOptions\n };\n\n await this.navigate(args);\n return true;\n }\n private setCurrentHistory(replace: boolean) {\n const currentHistoryState = this.router.getCurrentHistoryState();\n\n if (replace) {\n history.replaceState(\n currentHistoryState,\n currentHistoryState.caption,\n this.getUrlWithHash(currentHistoryState.url));\n } else {\n history.pushState(\n currentHistoryState,\n currentHistoryState.caption,\n this.getUrlWithHash(currentHistoryState.url));\n }\n }\n}\n","import { autoinject, transient } from 'aurelia-framework';\nimport { AdresseService } from '../../../services/adresse-service';\n\n@autoinject\n@transient()\nexport class GeschaeftspartnerAdresseEditUtils {\n constructor(\n private adresse: AdresseService\n ) { }\n\n onPLZChanged(e) {\n const model = e.model.bindingContext.models.data.$m_GeschaeftspartnerAdresse;\n const idPLZ = e.value;\n\n if (!model || !model.IdLand) {\n return;\n }\n\n this.adresse.getOrtFromPLZ(idPLZ, model.IdLand)\n .then(r => {\n if (!r || !r.Ort) {\n return;\n }\n\n model.Ort = r.Ort;\n });\n }\n}\n","export class ObjectInfoService {\n equal(x: any, y: any): boolean {\n\n if (x === null || x === undefined || y === null || y === undefined) {\n return x === y;\n }\n if (x.constructor !== y.constructor) {\n return false;\n }\n if (x instanceof Function) {\n return x === y;\n }\n if (x instanceof RegExp) {\n return x === y;\n }\n if (x === y || x.valueOf() === y.valueOf()) {\n return true;\n }\n if (Array.isArray(x) && x.length !== y.length) {\n return false;\n }\n\n if (x instanceof Date) {\n return false;\n }\n\n if (!(x instanceof Object)) {\n return false;\n }\n if (!(y instanceof Object)) {\n return false;\n }\n\n var p = Object.keys(x);\n return Object.keys(y).every((i) => {\n return p.indexOf(i) !== -1;\n }) && p.every((i) => {\n return this.equal(x[i], y[i]);\n });\n }\n}","export enum LayoutTyp {\n Lese = 0,\n Bearbeitung = 1\n}\n","export {CustomEvent} from \"./custom-event\";\nexport {ScopeContainer} from \"./scope-container\";","import { autoinject, transient } from 'aurelia-framework';\nimport { IZitTagOptions } from '../../../../zit-ui/elements/zit-tag/export';\nimport { IZitToolbarOptions } from '../../../../zit-ui/elements/zit-toolbar/zit-toolbar-options';\nimport { ContextMenu, ICommandData } from '../../../../framework/forms/export';\nimport { CustomEditPopupService, StartupService } from '../../../services/export';\nimport { Share } from '../../../elements/share/share';\nimport { FormBase } from '../../../../framework/forms/classes/form-base';\nimport { LocationService } from '../../../../framework/base/services/location-service';\nimport { ZitMomentValueConverter } from '../../../../zit-ui/value-converters/export';\nimport { BenutzerTyp } from '../../../enumerations/export';\n\n@autoinject\n@transient()\nexport class StelleninseratReadUtils {\n constructor(\n private customEditPopup: CustomEditPopupService,\n private location: LocationService,\n private zitMoment: ZitMomentValueConverter,\n private startupService: StartupService\n ) { }\n\n form: FormBase;\n\n isNatuerlichePerson = this.startupService.startupInfo.Benutzer.Benutzertyp === BenutzerTyp.NatuerlichePerson;\n\n actionCommand: ICommandData = {\n id: \"actionCommand\",\n icon: \"fas fa-share-alt\",\n tooltip: \"zit.aktionen\",\n sortIndex: 99,\n isVisibleExpression: \"r_share.canShare\",\n execute: (executeOptions) => {\n const share: Share = this.form[\"r_share\"];\n share.showCtxMenu(executeOptions.event);\n }\n };\n bewerbungToolbarOptions: IZitToolbarOptions = {\n title: \"stelleninserat-utils.bewerbung-toolbar-titel\",\n smallToolbar: true,\n items: []\n };\n\n ansprechpersonReadTagOptions: IZitTagOptions = {\n isClickEnabled: !this.isNatuerlichePerson,\n icon: {\n text: \"K\"\n },\n textExpression: `item.GesamtNameMitTitel \n ? item.GesamtNameMitTitel\n : item.Titel + \" \" + item.Name`,\n infoList: [\n {\n isVisibleExpression: `item.IsInaktiv`,\n icon: {\n faIcon: \"far fa-trash-alt\",\n backgroundColor: \"lightgray\",\n }\n }\n ],\n onClick: (e, ansprechperson) => {\n if(this.isNatuerlichePerson) {\n return;\n }\n this.customEditPopup.ansprechpersonRead.show({\n mappings: {\n \"$id\": ansprechperson.Id\n }\n });\n }\n };\n\n zeitraumReadTagOptions: IZitTagOptions = {\n icon: {\n text: \"Z\"\n },\n textExpression: `item.zeitraum`\n };\n\n websiteAktivTagOptions: IZitTagOptions = {\n cssClass: 'z--tag-info-message z--tag-info-ok-message',\n icon: { faIcon: 'far fa-check-circle' },\n textExpression: `\"stelleninserat-utils.website-aktiviert-text\" | tr`\n };\n websiteInAktivTagOptions: IZitTagOptions = {\n cssClass: 'z--tag-info-message z--tag-info-falsch-message',\n icon: { faIcon: 'far fa-times-circle' },\n textExpression: `\"stelleninserat-utils.website-nicht-aktiviert-text\" | tr`\n };\n websiteProfilFirmaInaktivTagOptions: IZitTagOptions = {\n cssClass: 'z--tag-info-message z--tag-info-falsch-message',\n icon: { faIcon: 'far fa-times-circle' },\n textExpression: '\"stelleninserat-utils.website-profil-firma-inaktiv-text\" | tr'\n };\n stelleninseratGruppeTagOptions: IZitTagOptions = {\n textExpression: `item.Text | zitRestrictLength:50`,\n icon: {\n textExpression: `item && item.Gruppentyp && item.Gruppentyp.Bezeichnung\n ? item.Gruppentyp.Bezeichnung[0] : \"G\"`\n }\n };\n unternehmenTagOptions: IZitTagOptions = {\n icon: {\n text: \"U\"\n },\n textExpression: `item.Subheadline ? item.Subheadline \n : item.Geschaeftspartner.Geschaeftspartnerdaten.Name1`\n };\n adresseTagOptions: IZitTagOptions = {\n icon: {\n text: \"A\"\n },\n textExpression: `item | zitAddress:\"short:street\"`\n };\n\n bind(form: FormBase) {\n this.form = form;\n }\n\n get zeitraum(): string {\n const model = this.form.models.data.$m_Stelleninserat;\n if (!model || !model.Kopf)\n return \"\";\n\n let von = model.Kopf.GueltigVon\n let bis = model.Kopf.GueltigBis\n\n return this.zitMoment.getDispoVonBis(von, { bis: bis });\n }\n}\n","import { autoinject } from \"aurelia-framework\";\nimport { RestService } from '../../base/services/rest-service';\n\n@autoinject\nexport class LayoutService {\n private _layouts: any = {};\n\n constructor(\n private restService: RestService\n ) {}\n\n async initializeLayouts(): Promise {\n this._layouts = {};\n\n const result = await this.restService.get({\n url: this.restService.getApiUrl(\"base/Layout/Get\")\n });\n\n for (let item of result) {\n //TODO\n if (item.AssignedType != \"global\") {\n continue;\n }\n\n this.getLayoutType(item.Type)[this.getKey(item.Form, item.IdWidget)] = JSON.parse(item.Layout);\n }\n }\n getLayout(type: string, form: string, idWidget: string): any {\n const key = this.getKey(form, idWidget);\n return this.getLayoutType(type)[key] || null;\n }\n async saveLayout(type: string, form: string, idWidget: string, layout: any) {\n await this.restService.post({\n url: this.restService.getApiUrl(\"base/Layout/Post\"),\n data: {\n Form: form,\n IdWidget: idWidget,\n Type: type,\n AssignedType: \"global\",\n Layout: JSON.stringify(layout || {})\n },\n increaseLoadingCount: true\n });\n\n this.getLayoutType(type)[this.getKey(form, idWidget)] = layout;\n }\n async deleteLayout(type: string, form: string, idWidget: string) {\n await this.restService.post({\n url: this.restService.getApiUrl(\"base/Layout/Delete\"),\n data: {\n Form: form,\n IdWidget: idWidget,\n Type: type,\n AssignedType: \"global\"\n },\n increaseLoadingCount: true\n });\n\n delete this.getLayoutType(type)[this.getKey(form, idWidget)];\n }\n\n private getKey(form: string, idWidget: string): string {\n return form.concat(\";\").concat(idWidget);\n }\n private getLayoutType(type: string): any {\n if (!this._layouts[type]) {\n this._layouts[type] = {};\n }\n\n return this._layouts[type];\n }\n}\n","export enum SelectionModeEnum {\n None = 0,\n Single = 1,\n Multiple = 2\n}","import {\n autoinject, optional, Scope, OverrideContext\n} from \"aurelia-framework\";\nimport {\n IDataSourceOptions,\n IDataSourceOptionFilter,\n IDataSourceCustomizationOptions,\n IDataSourceLastLoadInfo\n} from \"../interfaces/export\";\nimport {\n RestService\n} from \"./rest-service\";\nimport {\n BindingService\n} from \"./binding-service\";\nimport {\n ScopeContainer\n} from \"../classes/scope-container\";\nimport { ObjectService } from './object-service';\nimport { EventAggregator } from 'aurelia-event-aggregator';\n\n@autoinject\nexport class DataSourceService {\n static _instance: DataSourceService;\n\n constructor(\n private rest: RestService,\n private binding: BindingService,\n private objectService: ObjectService,\n private eventAggregator: EventAggregator\n ) { \n DataSourceService._instance = this;\n }\n\n //TODO - ein bisschen Refactoren ;-)\n createDataSource(\n scopeContainer: ScopeContainer,\n options: IDataSourceOptions,\n customizationOptions?: IDataSourceCustomizationOptions,\n loadRequiredAction?: { (): void }): DevExpress.data.DataSource {\n\n const dataSource = new DevExpress.data.DataSource(this.createDataStore(\n scopeContainer,\n options,\n customizationOptions,\n loadRequiredAction,\n (lastLoadInfo) => {\n const currentDataSource: any = dataSource;\n currentDataSource.lastLoadInfo = lastLoadInfo;\n }\n ));\n\n dataSource.requireTotalCount(true);\n\n let timeout = null;\n this.addObservers(scopeContainer, options, () => {\n if (timeout) {\n clearTimeout(timeout);\n timeout = null;\n }\n\n timeout = setTimeout(() => {\n //nur machen, wenn die options keine id haben. Wenn doch, dann kümmern sich die Models selbst darum,\n //dass es zu einem Reload kommt\n if (options[\"id\"] == void (0)) {\n if (dataSource.pageIndex() === 0) {\n dataSource.reload();\n } else {\n dataSource.pageIndex(0);\n }\n }\n\n if (loadRequiredAction) {\n loadRequiredAction();\n }\n }, 10);\n });\n\n return dataSource;\n }\n createDataStore(\n scopeContainer: ScopeContainer,\n options: IDataSourceOptions,\n customizationOptions?: IDataSourceCustomizationOptions,\n loadRequiredAction?: { (): void },\n setLastLoadAction?: { (lastLoadInfo): void }): DevExpress.data.CustomStore {\n let lastAccessInfo = {\n lastLoadInfo: null,\n resultPromise: null\n };\n\n return new DevExpress.data.CustomStore({\n key: options.keyProperty,\n byKey: (key) => {\n if (!DataSourceService._instance.canLoad(scopeContainer, options, customizationOptions)) {\n return Promise.resolve(null);\n }\n \n const getOptions = DataSourceService._instance.createGetOptions(scopeContainer, options, customizationOptions, true);\n \n //Bei byKey wird kein Where übergeben, da wir bereits auf einen fixen Key einschränken\n if (getOptions) {\n delete getOptions.where;\n }\n\n return DataSourceService._instance.rest.get({\n url: DataSourceService._instance.rest.getWebApiUrl(`${options.webApiAction}/${key}`),\n moduleId: this.getModuleId(scopeContainer),\n getOptions\n });\n },\n load: (loadOptions) => {\n let canLoad = DataSourceService._instance.canLoad(scopeContainer, options, customizationOptions);\n \n let getOptions: any;\n if (canLoad) {\n getOptions = DataSourceService._instance.createGetOptions(scopeContainer, options, customizationOptions);\n canLoad = getOptions != null;\n }\n \n if (!canLoad) {\n if (loadOptions.requireTotalCount) {\n return Promise.resolve({\n data: [],\n totalCount: 0\n });\n } else {\n return Promise.resolve([]);\n }\n }\n \n if (loadOptions.filter) {\n if (getOptions.where) {\n getOptions.where = [getOptions.where, loadOptions.filter];\n } else {\n getOptions.where = loadOptions.filter;\n }\n }\n if (loadOptions.searchExpr && loadOptions.searchOperation && loadOptions.searchValue) {\n if (options.webApiSearchtextEnabled) {\n getOptions.searchtext = loadOptions.searchValue;\n } else {\n const searchWhere = [loadOptions.searchExpr, loadOptions.searchOperation, loadOptions.searchValue];\n \n if (getOptions.where) {\n getOptions.where = [getOptions.where, searchWhere];\n } else {\n getOptions.where = searchWhere;\n }\n }\n }\n if (options.webApiSearchtextEnabled && options.searchtext) {\n getOptions.searchtext = DataSourceService._instance.binding.evaluate(scopeContainer.scope, options.searchtext);\n }\n \n getOptions.skip = loadOptions.skip;\n getOptions.take = loadOptions.take;\n getOptions.requireTotalCount = loadOptions.requireTotalCount;\n \n if (loadOptions.totalSummary) {\n getOptions.totalSummary = loadOptions.totalSummary;\n }\n \n if (loadOptions.sort) {\n getOptions.orderBy = (loadOptions.sort).map((data) => {\n return {\n columnName: data.selector,\n sortOrder: (data.desc === true ? 1 : 0)\n }\n });\n };\n \n const loadOptionsDataField = (loadOptions).dataField;\n if (loadOptionsDataField) {\n delete getOptions.skip;\n delete getOptions.take;\n delete getOptions.expand;\n delete getOptions.requireTotalCount;\n delete getOptions.totalSummary;\n getOptions.columns = [loadOptionsDataField];\n getOptions.orderBy = [{ columnName: loadOptionsDataField, sortOrder: 0 }];\n getOptions.distinct = true;\n }\n \n const lastLoadInfo: IDataSourceLastLoadInfo = {\n getOptions: getOptions,\n url: DataSourceService._instance.rest.getWebApiUrl(options.webApiAction)\n };\n \n if (setLastLoadAction) {\n setLastLoadAction(lastLoadInfo);\n }\n \n //Wenn gerade erst ein gleiches Select abgestellt wurde, dann dieses zurückgeben ...\n if (lastAccessInfo.lastLoadInfo\n && JSON.stringify(lastAccessInfo.lastLoadInfo) === JSON.stringify(lastLoadInfo)) {\n return lastAccessInfo.resultPromise;\n } else {\n lastAccessInfo.lastLoadInfo = lastLoadInfo;\n \n const resultPromise = new Promise((resolve, reject) => {\n DataSourceService._instance.rest.get({\n url: lastLoadInfo.url,\n moduleId: this.getModuleId(scopeContainer),\n getOptions: lastLoadInfo.getOptions\n }).then(r => {\n if (loadOptionsDataField) {\n //Nested-Eigenschaften müssen in Objekte umgewandelt werden, damit HeaderFilter richtig funktioniert\n if (loadOptionsDataField.indexOf(\".\") > 0) {\n const tokens = loadOptionsDataField.split(\".\");\n \n r.forEach(i => {\n let value = i;\n tokens.forEach((token, index) => {\n if (index + 1 === tokens.length) {\n value[token] = i[loadOptionsDataField];\n } else {\n value[token] = {};\n value = value[token];\n }\n });\n });\n }\n } else {\n if (customizationOptions && customizationOptions.resultInterceptor) {\n r = customizationOptions.resultInterceptor(r);\n }\n }\n \n let result;\n if (getOptions.requireTotalCount || getOptions.totalSummary) {\n result = {\n data: r.rows\n };\n\n if (getOptions.requireTotalCount) {\n result.totalCount = r.count;\n }\n if (getOptions.totalSummary) {\n result.summary = r.summary;\n }\n } else {\n result = r;\n }\n \n resolve(result);\n }).catch(reject);\n });\n \n lastAccessInfo.resultPromise = resultPromise;\n\n if (customizationOptions && customizationOptions.onLoaded) {\n resultPromise.then((r) => {\n customizationOptions.onLoaded(r);\n });\n }\n \n setTimeout(() => {\n if (lastAccessInfo.lastLoadInfo == lastLoadInfo) {\n lastAccessInfo = {\n lastLoadInfo: null,\n resultPromise: null\n }\n }\n }, 500);\n \n return resultPromise;\n }\n }\n });\n }\n createGetOptions(\n scopeContainer: ScopeContainer, \n options: IDataSourceOptions, \n customizationOptions?: IDataSourceCustomizationOptions, \n ignoreWhere?: boolean): any {\n const getOptions: any = {};\n getOptions.columns = options.webApiColumns;\n getOptions.expand = options.webApiExpand;\n getOptions.orderBy = options.webApiOrderBy;\n\n if (!ignoreWhere && ((options.webApiWhere && options.webApiWhere.length) || (customizationOptions && customizationOptions.getCustomWhere))) {\n const where = [];\n const input = [];\n\n if (options.webApiWhere) {\n input.push(options.webApiWhere);\n }\n if (customizationOptions && customizationOptions.getCustomWhere) {\n const customWhere = customizationOptions.getCustomWhere();\n if (customWhere) {\n input.push(customWhere);\n }\n }\n\n if (!this.constructWhere(scopeContainer, input, where)) {\n return null;\n }\n\n if (where.length > 0) {\n getOptions.where = where;\n }\n }\n\n if ((options.filters && options.filters.length) || (customizationOptions && customizationOptions.getCustomFilters)) {\n const customs = [];\n const where = [];\n\n if (!this.constructFilters(scopeContainer, options, customizationOptions, customs, where)) {\n return null;\n }\n\n if (customs.length > 0) {\n getOptions.customs = customs;\n }\n if (!ignoreWhere && where.length > 0) {\n if (getOptions.where) {\n getOptions.where = [getOptions.where, where];\n } else {\n getOptions.where = where;\n }\n }\n }\n\n if (customizationOptions && customizationOptions.getSearchText) {\n getOptions.searchtext = customizationOptions.getSearchText();\n }\n\n if (options.webApiMaxRecords > 0) {\n getOptions.maxRecords = options.webApiMaxRecords;\n }\n\n return getOptions;\n }\n\n getDataSourceKeyValues(\n dataSource: DevExpress.data.DataSource, \n optionsPrepareCallback?: { (options): void },\n scopeContainer?: ScopeContainer): Promise {\n const lastLoadInfo = this.getLastLoadInfo(dataSource);\n if (lastLoadInfo == null) {\n return Promise.resolve([]);\n }\n\n const options = this.objectService.mergeDeep({}, lastLoadInfo.getOptions);\n const key = dataSource.key();\n\n options.columns = [key];\n delete options.take;\n delete options.skip;\n delete options.expand;\n delete options.orderby;\n delete options.requireTotalCount;\n\n if (optionsPrepareCallback) {\n optionsPrepareCallback(options);\n }\n\n return this.rest.get({\n url: lastLoadInfo.url,\n moduleId: this.getModuleId(scopeContainer),\n getOptions: options\n }).then(r => {\n return r.map(item => item[key]);\n });\n }\n\n addObservers(\n scopeContainer: ScopeContainer, \n options: IDataSourceOptions, \n action: { (): void }) {\n const observers = this.getElementsToObserve(options);\n\n for (let observer of observers) {\n this.binding.observe({\n scopeContainer: scopeContainer,\n expression: observer, \n callback: action\n });\n }\n }\n getElementsToObserve(options: IDataSourceOptions): string[] {\n const result = [];\n\n this.evalElementsToObserveWhere(options.webApiWhere, result);\n this.evalElementsToObserveDetail(options.searchtext, result);\n\n if (options.filters) {\n for (let item of options.filters) {\n if (typeof item.if === \"string\") {\n this.evalElementsToObserveDetail(item.if, result);\n }\n if (typeof item.webApiCustomValue === \"string\") {\n this.evalElementsToObserveDetail(item.webApiCustomValue, result);\n }\n\n this.evalElementsToObserveWhere(item.webApiWhere, result);\n }\n }\n\n return result;\n }\n\n getLastLoadInfo(dataSource: DevExpress.data.DataSource) {\n return dataSource[\"lastLoadInfo\"];\n }\n\n private evalElementsToObserveWhere(data: any, result: string[]): void {\n if (data == void (0)) {\n return;\n }\n\n if (Array.isArray(data)) {\n (data).forEach(item => this.evalElementsToObserveWhere(item, result));\n } else if (typeof data === \"object\") {\n if (data.isBound === true && data.expression != void (0)) {\n this.evalElementsToObserveDetail(data.expression, result);\n } else {\n for (let property in data) {\n this.evalElementsToObserveWhere(data[property], result);\n }\n }\n }\n }\n private evalElementsToObserveDetail(expression: string, result: string[]): void {\n if (expression == void (0)) {\n return;\n }\n\n result.push(expression);\n }\n\n private canLoad(\n scopeContainer: ScopeContainer, \n options: IDataSourceOptions, \n customizationOptions: IDataSourceCustomizationOptions) {\n if (!scopeContainer || !scopeContainer.scope) {\n return false;\n }\n\n if (options && options.allowLoad) {\n const allowLoad = this.binding.evaluate(\n scopeContainer.scope,\n options.allowLoad\n );\n\n if (!allowLoad) {\n return false;\n }\n }\n\n return !customizationOptions\n || !customizationOptions.canLoad\n || customizationOptions.canLoad();\n }\n private constructWhere(\n scopeContainer: ScopeContainer, \n data: any, \n where: any[]): boolean {\n if (data == void (0)) {\n return true;\n }\n\n if (Array.isArray(data)) {\n const newArr = [];\n where.push(newArr);\n\n let cancel = false;\n (data).forEach(item => {\n if (!this.constructWhere(scopeContainer, item, newArr)) {\n cancel = true;\n }\n });\n\n if (cancel) {\n return false;\n }\n } else if (typeof data === \"object\" && !(data instanceof Date)) {\n if (data.isBound === true && data.expression != void (0)) {\n const val = this.binding.evaluate(scopeContainer.scope, data.expression);\n if (val == void (0)) {\n return false;\n }\n\n where.push(val);\n } else {\n for (let property in data) {\n if (!this.constructWhere(scopeContainer, data[property], where)) {\n return false;\n }\n }\n }\n } else {\n where.push(data);\n }\n\n return true;\n }\n private constructFilters(\n scopeContainer: ScopeContainer, \n options: IDataSourceOptions, \n customizationOptions: IDataSourceCustomizationOptions, \n customs: any[], \n where: any[]): boolean {\n const filters: IDataSourceOptionFilter[] = [];\n\n if (options.filters) {\n filters.push(...options.filters);\n }\n if (customizationOptions && customizationOptions.getCustomFilters) {\n const customFilters = customizationOptions.getCustomFilters();\n if (customFilters) {\n filters.push(...customFilters);\n }\n }\n\n for (let item of filters) {\n if (item.if) {\n if (!this.binding.evaluate(scopeContainer.scope, item.if)) {\n continue;\n }\n }\n\n if (item.webApiCustomKey && item.webApiCustomValue) {\n const value = typeof item.webApiCustomValue === \"string\"\n ? this.binding.evaluate(scopeContainer.scope, item.webApiCustomValue)\n : item.webApiCustomValue;\n\n if (value == void (0)) {\n return false;\n }\n\n customs.push({\n key: item.webApiCustomKey,\n value: value\n });\n } else if (item.webApiWhere) {\n const w = [];\n if (!this.constructWhere(scopeContainer, item.webApiWhere, w)) {\n return false;\n }\n\n where.push(w);\n }\n }\n\n return true;\n }\n\n private getModuleId(scopeContainer: ScopeContainer) {\n if (!scopeContainer) {\n return null;\n }\n if (!scopeContainer.scope) {\n return;\n }\n \n const args = {\n scope: scopeContainer.scope,\n treatEditPopupAsMainForm: true,\n moduleId: null\n };\n \n this.eventAggregator.publish(\"form:get-main-form-module-id\", args);\n return args.moduleId;\n }\n}\n","import { autoinject } from 'aurelia-framework';\nimport { RestService } from '../../framework/base/services/rest-service';\nimport { IObjektExportEigenschaftData } from '../interfaces/export';\nimport { GlobalizationService } from '../../framework/base/services/globalization-service';\n@autoinject\nexport class ObjektExportEigenschaftService {\n private _objektExportEigenschaftList: IObjektExportEigenschaftData[];\n constructor(\n private rest: RestService\n ) {\n this.loadObjektExportEigenschaftList();\n }\n\n getExportEigenschaftList(): IObjektExportEigenschaftData[] {\n return this._objektExportEigenschaftList;\n }\n getExportEigenschaftListByFullname(fullname: string): IObjektExportEigenschaftData[] {\n if (!fullname) {\n return null;\n }\n\n return this._objektExportEigenschaftList\n .filter(c => c.KeyParent == fullname || c.Key == fullname);\n }\n getExportEigenschaftFormat(id: number): string {\n const found = this._objektExportEigenschaftList.find(c => c.Id == id);\n\n return found ? found.Format : null;\n }\n\n getExportGridColumns(gridInstance: DevExpress.ui.dxDataGrid): any[] {\n const columns: DevExpress.ui.dxDataGridColumn[] = gridInstance.option(\"columns\");\n\n return columns.map((col, index) => {\n let width = gridInstance.columnOption(index, \"width\");\n if (width && width.toString().indexOf(\"px\") < 0) {\n width = `${width}px`;\n }\n \n let format = null;\n if (col.format) {\n if (col.dataField === \"Anlagedatum\") {\n format = \"g\";\n } else {\n const id = Number(col.dataField.substring(4));\n format = this.getExportEigenschaftFormat(id);\n }\n }\n\n return {\n caption: col.caption,\n dataField: col.dataField,\n visibleIndex: gridInstance.columnOption(index, \"visibleIndex\"),\n sortIndex: gridInstance.columnOption(index, \"sortIndex\"),\n sortOrder: gridInstance.columnOption(index, \"sortOrder\"),\n width: width,\n format: format\n }\n });\n }\n\n getObjektFullNameByIdList(idList: number[]) {\n return this.rest.post({\n url: this.rest.getApiUrl(\"ZIT/Stammdaten/TypeNameFromObjectIdList\"),\n data: idList\n });\n }\n private async loadObjektExportEigenschaftList() {\n this._objektExportEigenschaftList = await this.rest.get({\n url: this.rest.getApiUrl(\"ZIT/Volltext/ObjektExportEigenschaft\")\n });\n }\n}\n","import { autoinject } from \"aurelia-framework\";\n\nimport * as Quill from \"quill\";\nimport { EventAggregator } from \"aurelia-event-aggregator\";\nimport { HtmlEditorExtension } from '../../zit/elements/html-editor-extension/html-editor-extension';\nimport { FormBase } from '../../framework/forms/export';\n\nvar BlockEmbed = Quill.import(\"blots/block/embed\");\n\nclass Video extends BlockEmbed {\n static create(value: IVideoOptions) {\n const node = super.create(value);\n\n node.setAttribute(\"src\", value.src);\n node.setAttribute(\"frameborder\", \"0\");\n node.setAttribute(\"allowfullscreen\", \"\");\n node.setAttribute(\"allow\", \"accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture\");\n node.setAttribute(\"width\", value.width);\n node.setAttribute(\"height\", value.height);\n return node;\n }\n\n static value(node): IVideoOptions {\n return {\n src: node.getAttribute(\"src\"),\n height: node.getAttribute(\"height\"),\n width: node.getAttribute(\"width\")\n };\n }\n\n static blotName = \"video\";\n static tagName = \"iframe\";\n static className = \"z--video\";\n}\n\nQuill.register(Video, true);\n\n@autoinject\nexport class HtmlEditorExtensionService {\n constructor(\n private _eventAggregator: EventAggregator\n ) {\n this.changeQuillBlockModifier();\n this.registerHtmlEditorToolbarButtons();\n this.registerHtmlEditorHeaderName();\n }\n\n element: HtmlEditorExtension;\n\n private changeQuillBlockModifier() {\n const Block = Quill.import(\"blots/block\");\n Block.tagName = \"DIV\";\n Quill.register(Block, true);\n }\n private registerHtmlEditorHeaderName() {\n this._eventAggregator.subscribe(\"dx-widget:attaching\", (e) => {\n if (e.name != \"dxHtmlEditor\") {\n return;\n }\n\n let onContentReadyDone = false;\n const onContentReady = e.options.onContentReady;\n e.options.onContentReady = (ev) => {\n if (onContentReady) {\n onContentReady(ev);\n }\n\n if (onContentReadyDone) {\n return;\n }\n onContentReadyDone = true;\n\n const toolbar = ev.component._quillInstance.getModule(\"toolbar\");\n\n const widgetHeader = toolbar._toolbarWidgets._collection.find(c => c.name === \"header\");\n if (!widgetHeader) {\n return;\n }\n\n const displayExpr = widgetHeader.instance.option(\"displayExpr\");\n widgetHeader.instance.option(\"displayExpr\", (item) => {\n if (item == 3) {\n return \"Überschrift\";\n } else {\n return displayExpr(item);\n }\n });\n }\n });\n }\n private registerHtmlEditorToolbarButtons() {\n this._eventAggregator.subscribe(\"dx-widget:attaching\", (e) => {\n if (e.name != \"dxHtmlEditor\") {\n return;\n }\n\n let htmlEditor: DevExpress.ui.dxHtmlEditor;\n const onInitialized = e.options.onInitialized;\n e.options.onInitialized = (ev) => {\n if (onInitialized) {\n onInitialized(ev);\n }\n\n htmlEditor = ev.component;\n };\n\n const formId = e.owningView?.container?.viewModel?.scope?.bindingContext?.id;\n\n const isStelleninseratLehre = [\n \"stelleninserat-lehre-edit\",\n \"stelleninserat-lehre-kunde-package-edit\"].includes(formId);\n\n const canAddImageAndView = !isStelleninseratLehre;\n\n if (canAddImageAndView) {\n this.addImageButton(e.options.toolbar.items, () => htmlEditor);\n }\n\n this.addVideoButton(e.options.toolbar.items, () => htmlEditor);\n });\n }\n\n private addImageButton(toolbarItems: any[], getHtmlEditor: { (): DevExpress.ui.dxHtmlEditor }) {\n //TODO DXUPDATE\n toolbarItems.push({\n widget: \"dxButton\",\n options: {\n icon: \"far fa-image\",\n hint: \"Bild einfügen\",\n stylingMode: \"text\",\n onClick: (e) => {\n e.event.stopPropagation();\n e.event.preventDefault();\n\n const htmlEditor = getHtmlEditor();\n if (!htmlEditor) {\n return;\n }\n\n const selection = htmlEditor.getSelection();\n const pasteIndex = selection ? selection.index : htmlEditor.getLength();\n\n this.element.addImage((src, width, height) => {\n\n if (!width && !height) {\n width = \"100%\";\n }\n\n htmlEditor.insertEmbed(pasteIndex, \"extendedImage\", { src, width, height });\n htmlEditor.setSelection(pasteIndex + 1, 0);\n });\n }\n }\n });\n }\n private addVideoButton(toolbarItems: any[], getHtmlEditor: { (): DevExpress.ui.dxHtmlEditor }) {\n //TODO DXUPDATE\n toolbarItems.push({\n widget: \"dxButton\",\n options: {\n icon: \"fas fa-video\",\n hint: \"Video einfügen\",\n stylingMode: \"text\",\n onClick: (e) => {\n e.event.stopPropagation();\n e.event.preventDefault();\n\n const htmlEditor = getHtmlEditor();\n if (!htmlEditor) {\n return;\n }\n\n const selection = htmlEditor.getSelection();\n const pasteIndex = selection ? selection.index : htmlEditor.getLength();\n\n this.element.addVideo((src, width, height) => {\n htmlEditor.insertEmbed(pasteIndex, \"video\", { src, width: width || \"100%\", height: height || \"315\" });\n htmlEditor.setSelection(pasteIndex + 1, 0);\n });\n }\n }\n });\n }\n}\n\n\ninterface IVideoOptions {\n src: string;\n width: string;\n height: string;\n}","import { autoinject, transient } from 'aurelia-framework';\nimport { FormBase } from '../../../../framework/forms/form-export';\nimport { Kontakttyp } from '../../../enumerations/export';\n\n@autoinject\n@transient()\nexport class AnsprechpersonKontaktUtils {\n constructor() { }\n\n form: FormBase;\n isTelefonOrDefault: boolean;\n\n bind(form: FormBase) {\n this.form = form;\n\n this.form.models.onLoaded.register((args) => {\n if (args.model.id == \"$m_Kontakttyp\" && args.data != void 0) {\n this.isTelefonOrDefault = (args.data.Typ != Kontakttyp.Hyperlink && args.data.Typ != Kontakttyp.Email); \n }\n\n return Promise.resolve();\n })\n }\n}","import { autoinject, computedFrom } from 'aurelia-framework';\n\n@autoinject\nexport class DraggingService {\n constructor() { }\n\n @computedFrom(\"dragginData.ObjektTypeFullName\")\n get objektTypeFullName() {\n return this.draggingData\n ? this.draggingData.ObjektTypeFullName\n : null;\n }\n\n draggingData: any;\n}","import { autoinject, transient } from \"aurelia-framework\";\nimport { FormBase } from \"../../../framework/forms/export\";\nimport { BenutzerTyp, SucheViewTyp } from \"../../enumerations/export\";\nimport { ICommandData } from \"./../../../framework/forms/interfaces/command-data\";\nimport { Entwicklungszone } from \"./../../elements/entwicklungszone/entwicklungszone\";\nimport { StartupService } from \"./../../services/startup-service\";\nimport { SucheService } from \"../../services/export\";\nimport { BrowserService } from \"../../../framework/base/services/browser-service\";\n\n@autoinject\n@transient()\nexport class EntwicklungszoneListUtils {\n\n constructor(\n private _startupService: StartupService,\n private _sucheService: SucheService,\n private _browserService: BrowserService) { }\n\n form: FormBase;\n currentFilterTyp: EntwicklungszoneFilterTyp;\n\n get entwicklungszone(): Entwicklungszone {\n return this.form[\"r_entwicklungszoneElement\"];\n }\n\n meineAufgabenCommand: ICommandData = {\n id: \"meineAufgabenShow\",\n title: this._browserService.isMobile\n ? null\n : \"entwicklungszone.meine-aufgaben\",\n icon: \"far fa-user-circle\",\n sortIndex: 100,\n isVisible: this._startupService.startupInfo.Benutzer.Benutzertyp != BenutzerTyp.Administrator && this._startupService.startupInfo.Benutzer.CodeBenutzerrolle != \"BEWERBER\",\n classNameExpression: \"$f_EntwicklungszoneListUtils.entwicklungszone.currentFilterTyp == 1 ? 'z--button-active' : ''\",\n execute: () => {\n if (this.currentFilterTyp == EntwicklungszoneFilterTyp.MeineAufgaben) {\n this.entwicklungszone.setFilterMeineAufgaben(true);\n this.currentFilterTyp = EntwicklungszoneFilterTyp.Keine;\n } else {\n this.entwicklungszone.setFilterMeineAufgaben(false);\n this.entwicklungszone.setFilterZuBestaetigendeAufgaben(true);\n this.currentFilterTyp = EntwicklungszoneFilterTyp.MeineAufgaben;\n }\n\n this.entwicklungszone.reloadDataSources();\n }\n };\n\n aufgabeBestaetigenCommand: ICommandData = {\n id: \"aufgabeBestaetigenCommand\",\n icon: \"far fa-check-square\",\n title: this._browserService.isMobile\n ? null\n : \"entwicklungszone.aufgabe-bestaetigen\",\n sortIndex: 102,\n isVisible: this._startupService.startupInfo.Benutzer.Benutzertyp != BenutzerTyp.Administrator\t&& this._startupService.startupInfo.Benutzer.CodeBenutzerrolle != \"BEWERBER\",\n classNameExpression: \"$f_EntwicklungszoneListUtils.entwicklungszone.currentFilterTyp == 2 ? 'z--button-active' : ''\",\n execute: () => {\n if (this.currentFilterTyp == EntwicklungszoneFilterTyp.ZuBestaetigendeAufgaben) {\n this.entwicklungszone.setFilterZuBestaetigendeAufgaben(true);\n this.currentFilterTyp = EntwicklungszoneFilterTyp.Keine;\n } else {\n this.entwicklungszone.setFilterZuBestaetigendeAufgaben(false);\n this.entwicklungszone.setFilterMeineAufgaben(true);\n this.currentFilterTyp = EntwicklungszoneFilterTyp.ZuBestaetigendeAufgaben;\n }\n\n this.entwicklungszone.reloadDataSources();\n }\n };\n\n activateTableView: ICommandData = {\n icon: \"fas fa-table\",\n id: \"sucheTableViewCommand\",\n tooltip: \"suche-form.show-table-view\",\n sortIndex: 1401,\n execute: (event: any) => {\n this._sucheService.activateSuche(\n \"TIP.ZIT.Business.Entities.Objekte.Aufgaben.Aufgabe\", \n SucheViewTyp.table);\n }\n };\n\n bind(form: FormBase) {\n this.form = form;\n }\n}\n\nexport enum EntwicklungszoneFilterTyp {\n Keine = 0,\n MeineAufgaben = 1,\n ZuBestaetigendeAufgaben = 2,\n}\n","export {DxTemplateService} from \"./dx-template-service\";","import { autoinject } from \"aurelia-framework\";\nimport { IframePopup } from '../elements/iframe-popup/iframe-popup';\n\n@autoinject\nexport class IframePopupService {\n constructor() {}\n\n popup: IframePopup;\n}\n\nexport interface IFramePopupShowOptions {\n titel?: string;\n src: string;\n width: number;\n height: number;\n allow?: string;\n allowFullScreen?: boolean;\n}","import { Erklaerungsvideo } from './../elements/erklaerungsvideo/erklaerungsvideo';\nimport { autoinject } from \"aurelia-framework\";\nimport { EventAggregator } from 'aurelia-event-aggregator';\nimport { ICommandData, ICommand } from '../../framework/forms/export';\nimport { StartupService } from './startup-service';\nimport { FormEvalService } from './form-eval-service';\nimport { IErklaerungsvideo } from '../interfaces/export';\nimport { BrowserService } from '../../framework/base/export';\nimport { ErklaerungsvideoAnzeigeEnum } from '../enumerations/erklaerungsvideo-anzeige-enum';\n\n@autoinject\nexport class ErklaervideoService {\n private info: any = {};\n\n constructor(\n private eventAggregator: EventAggregator,\n private startupService: StartupService,\n private formEvalService: FormEvalService,\n private browserService: BrowserService\n ) {\n this.eventAggregator.subscribe(\"startup-info:loaded\", () => {\n this.init();\n });\n }\n\n element: Erklaerungsvideo;\n\n init() {\n this.info = {};\n\n if (!this.startupService.startupInfo || !this.startupService.startupInfo.ErklaerungsvideoLayoutList) {\n return;\n }\n\n for (let item of this.startupService.startupInfo.ErklaerungsvideoLayoutList) {\n const key = this.formEvalService.convertIdFormular(item.Key, false) || item.Key;\n\n if (!this.info[key]) {\n this.info[key] = [];\n }\n\n this.info[key].push(item);\n }\n }\n attachedToolbarButton(moduleId: string, addCommand: { (commandData: ICommandData) }) {\n const videoList: IErklaerungsvideo[] = this.getContextMenuItems(moduleId);\n\n if (videoList.length == 0) {\n return;\n }\n\n const commanData = this.getErklaervideoCommandData();\n commanData.execute = e => {\n if (!this.element) {\n return;\n }\n\n this.element.show(moduleId, e.event.target);\n };\n\n addCommand(commanData);\n\n return;\n }\n\n getErklaervideoCommandData(): ICommandData {\n return {\n id: \"erklaervideo\",\n title: \"zit.erklaerung\",\n icon: \"fas fa-video\",\n className: \"z--button-active\",\n sortIndex: 1000\n };\n }\n getContextMenuItems(moduleId: string): IErklaerungsvideo[] {\n const videoList: IErklaerungsvideo[] = this.info[moduleId];\n if (!videoList) {\n return [];\n }\n\n return this.getVideoList(videoList);\n }\n\n getErklaerungsvideoDatasource(): any[] {\n const datasource: any[] = [];\n\n this.startupService.startupInfo.ErklaerungsvideoLayoutList.forEach(element => {\n const item = datasource.filter(c => c.IdErklaerungsvideo == element.IdErklaerungsvideo);\n if (!item || item.length == 0) {\n const datasourceElement = element;\n datasourceElement.Bezeichnung = this.erklaerungsvideoElementBezeichnung(datasourceElement);\n\n datasource.push(datasourceElement);\n }\n });\n\n return this.getVideoList(datasource);\n }\n\n getErklaerungsvideo(code: string): IErklaerungsvideo {\n if (!code || code.length == 0) {\n return;\n }\n\n const list = this.getContextMenuItems(code);\n if (!list || list.length == 0) {\n return;\n }\n\n return list[0];\n }\n\n erklaerungsvideoElementBezeichnung(erklaerungsvideo: IErklaerungsvideo): string {\n return this.element.erklaerungsvideoElementBezeichnung(erklaerungsvideo);\n }\n erklaerungsvideoElementIcon(erklaerungsvideo: IErklaerungsvideo): string {\n return this.element.erklaerungsvideoElementIcon(erklaerungsvideo);\n }\n erklaerungsvideoAction(erklaerungsvideo: IErklaerungsvideo): any {\n return this.element.erklaerungsvideoAction(erklaerungsvideo);\n }\n\n private getVideoList(videoList: IErklaerungsvideo[]): IErklaerungsvideo[] {\n const isMobile = this.browserService.isXS;\n const isDesktop = !isMobile;\n\n return videoList.filter(v => {\n return v.Anzeige == void (0)\n || (v.Anzeige === ErklaerungsvideoAnzeigeEnum.NurAufMobilgeraeten && isMobile)\n || (v.Anzeige === ErklaerungsvideoAnzeigeEnum.NurAufDesktopGeraeten && isDesktop);\n });\n }\n}\n","export enum TerminTyp {\n College = 0,\n AusbildnerSeite = 1,\n Veranstaltung = 2\n}","import { autoinject, transient } from \"aurelia-framework\";\nimport { AuthorizationService, LocalizationService, RestService } from \"../../../../../framework/base/export\";\nimport { LocationService } from \"../../../../../framework/base/services/location-service\";\nimport { FormBase } from \"../../../../../framework/forms/export\";\nimport { BrowserService } from \"./../../../../../framework/base/services/browser-service\";\nimport { ICommandData } from \"./../../../../../framework/forms/interfaces/command-data\";\nimport { DomaeneService } from \"./../../../../services/domaene-service\";\n\n@autoinject\n@transient()\nexport class PasswordConfirmFuncs {\n private form: FormBase;\n private NOTIFY_TIMEOUT: number = 3000;\n\n constructor(\n public browserService: BrowserService,\n private _authorizationService: AuthorizationService,\n private _localizationService: LocalizationService,\n private _restService: RestService,\n private _locationService: LocationService,\n private _domaeneService: DomaeneService) {\n const time = new Date()\n .getTime()\n .toString();\n const randomNumberString = Math.floor((Math.random() * 100))\n .toString();\n const randomKey = time + randomNumberString;\n this.logoSrc = this._restService.getApiUrl(`ZIT/Domaene/Logo?key=${randomKey}`);\n }\n\n urlImpressum: string;\n farbeDomaene: string;\n bezeichnungLoginMobil: string;\n activationKey: string;\n benutzername: string;\n logoSrc: string;\n isMobile: boolean;\n\n confirmPasswordCommand: ICommandData = {\n id: \"$confirmPassword\",\n title: \"password-confirm-funcs.confirm_caption\",\n execute: async () => {\n if (this.form.models.data.$m_Password.Passwort1 !== this.form.models.data.$m_Password.Passwort2) {\n DevExpress.ui.notify(this._localizationService.translateOnce(\"password-confirm-funcs.password_missmatch\"), \"error\", this.NOTIFY_TIMEOUT);\n return;\n }\n\n this.form.models.data.$m_Password.CodePasswortBestaetigung = this.activationKey;\n\n const r = await this._restService.post({\n url: this._restService.getApiUrl(\"ZIT/Security/PasswortBestaetigung\"),\n data: this.form.models.data.$m_Password,\n increaseLoadingCount: true\n });\n\n this._authorizationService.login({\n Username: this.benutzername,\n Password: this.form.models.data.$m_Password.Passwort1\n });\n }\n };\n\n backToLoginCommand: ICommandData = {\n id: \"$backToLogin\",\n title: \"password-reset-funcs.back_to_login_caption\",\n execute: () => {\n this.goBackToLogin();\n }\n };\n\n openImpressumClick() {\n window.open(this.urlImpressum);\n }\n\n registerForm(form: FormBase) {\n this.form = form;\n\n form.onActivate.register((r) => {\n if (r && r.parameters) {\n this.activationKey = r.parameters.key;\n }\n\n return Promise.resolve();\n });\n }\n\n async bind(form: FormBase) {\n this.form.focusFirstEnabledEditor = () => {\n if (this.form[\"password\"].instance) {\n this.form[\"password\"].instance.focus();\n }\n };\n\n if (!this.activationKey) {\n this.goBackToLogin();\n return;\n }\n\n this.form.callOnBind(() => {\n if (!this.form.models.data.$m_Password) {\n this.form.models.data.$m_Password = {};\n }\n\n this.loadBenutzername();\n });\n\n this.urlImpressum = this._domaeneService.urlImpressum;\n this.farbeDomaene = this._domaeneService.farbeDomaene;\n this._domaeneService.setDomainColorsStyle();\n this.bezeichnungLoginMobil = this._domaeneService.bezeichnungMobilLogin;\n }\n\n private async loadBenutzername() {\n if (!this.activationKey) {\n return;\n }\n\n const result = await this._restService.post({\n url: this._restService.getApiUrl(\"ZIT/Security/PasswortBestaetigungBenutzername\"),\n data: {\n CodeAktivierung: this.activationKey\n }\n });\n\n if (result && result.Benutzername) {\n this.benutzername = result.Benutzername;\n } else {\n this.goBackToLogin();\n }\n }\n\n private goBackToLogin() {\n this._locationService.goTo({\n url: \"Login\",\n clearStack: true\n });\n }\n}\n","import { PopupInfoService } from './../../../../framework/forms/services/popup-info-service';\nimport { autoinject, transient } from 'aurelia-framework';\nimport { FormBase } from '../../../../framework/forms/classes/export';\nimport { ICommandData } from './../../../../framework/forms/interfaces/export';\nimport { DataSourceService, LocalizationService, RestService } from '../../../../framework/base/services/export';\nimport { IdxValidationGroupComponent } from '../../../interfaces/export';\n\n@autoinject\n@transient()\nexport class TerminZustandAendernUtils {\n constructor(\n private dataSource: DataSourceService,\n private localization: LocalizationService,\n private rest: RestService,\n private popupInfoService: PopupInfoService\n ) { }\n \n form: FormBase;\n\n zustandAendernModel = { \n IdTermin: null, \n IdZustandNeu: null, \n KeineWeitereAenderungen: false \n };\n\n zustandValidator: DevExpress.ui.dxValidatorOptions = {\n validationRules: [{ type: \"required\" }]\n };\n\n saveCommand: ICommandData = {\n id: \"zustandSaveCommand\",\n icon: \"fas fa-check\",\n tooltip: \"base.save\",\n sortIndex: 1010,\n execute: () => {\n const validationGroup: IdxValidationGroupComponent = this.form[\"r_aenderungZustandValidationGroup\"];\n const result = validationGroup.instance.validate();\n if (!result.isValid) {\n return;\n }\n\n this.saveZustandAenderung();\n }\n };\n\n zustandSelectBoxOptions: DevExpress.ui.dxSelectBoxOptions = {\n displayExpr: \"Bezeichnung\",\n valueExpr: \"Id\",\n bindingOptions: {\n value: \"functions.$f_TerminZustandAendernUtils.zustandAendernModel.IdZustandNeu\"\n }\n };\n keineAenderungenZulassenCheckBoxOptions: DevExpress.ui.dxCheckBoxOptions = {\n text: \"keine weiteren autom. Änderungen zulassen\",\n bindingOptions: {\n value: \"functions.$f_TerminZustandAendernUtils.zustandAendernModel.KeineWeitereAenderungen\"\n }\n };\n\n bind(form: FormBase) {\n this.form = form;\n\n this.zustandSelectBoxOptions.dataSource = this.dataSource.createDataSource(\n this.form.scopeContainer,\n {\n webApiAction: \"ZIT/Stammdaten/Zustand\",\n webApiWhere: [[\"Bereich\", { expression: \"models.data.$m_Zustand.Bereich\", isBound: true }]]\n });\n }\n\n private async saveZustandAenderung() {\n this.zustandAendernModel.IdTermin = this.form.variables.data.$v_idTermin;\n await this.rest.post({\n url: this.rest.getApiUrl(\"ZIT/Termin/ZustandAendern\"),\n data: this.zustandAendernModel\n });\n\n DevExpress.ui.notify(this.localization.translateOnce(\"base.save_success\"), \"success\", 3000);\n\n const validationGroup: IdxValidationGroupComponent = this.form[\"r_aenderungZustandValidationGroup\"];\n validationGroup.instance.reset();\n\n this.popupInfoService.closeCurrentPopup();\n }\n}\n","var map = {\n\t\"./af\": \"K/tc\",\n\t\"./af.js\": \"K/tc\",\n\t\"./ar\": \"jnO4\",\n\t\"./ar-dz\": \"o1bE\",\n\t\"./ar-dz.js\": \"o1bE\",\n\t\"./ar-kw\": \"Qj4J\",\n\t\"./ar-kw.js\": \"Qj4J\",\n\t\"./ar-ly\": \"HP3h\",\n\t\"./ar-ly.js\": \"HP3h\",\n\t\"./ar-ma\": \"CoRJ\",\n\t\"./ar-ma.js\": \"CoRJ\",\n\t\"./ar-sa\": \"gjCT\",\n\t\"./ar-sa.js\": \"gjCT\",\n\t\"./ar-tn\": \"bYM6\",\n\t\"./ar-tn.js\": \"bYM6\",\n\t\"./ar.js\": \"jnO4\",\n\t\"./az\": \"SFxW\",\n\t\"./az.js\": \"SFxW\",\n\t\"./be\": \"H8ED\",\n\t\"./be.js\": \"H8ED\",\n\t\"./bg\": \"hKrs\",\n\t\"./bg.js\": \"hKrs\",\n\t\"./bm\": \"p/rL\",\n\t\"./bm.js\": \"p/rL\",\n\t\"./bn\": \"kEOa\",\n\t\"./bn.js\": \"kEOa\",\n\t\"./bo\": \"0mo+\",\n\t\"./bo.js\": \"0mo+\",\n\t\"./br\": \"aIdf\",\n\t\"./br.js\": \"aIdf\",\n\t\"./bs\": \"JVSJ\",\n\t\"./bs.js\": \"JVSJ\",\n\t\"./ca\": \"1xZ4\",\n\t\"./ca.js\": \"1xZ4\",\n\t\"./cs\": \"PA2r\",\n\t\"./cs.js\": \"PA2r\",\n\t\"./cv\": \"A+xa\",\n\t\"./cv.js\": \"A+xa\",\n\t\"./cy\": \"l5ep\",\n\t\"./cy.js\": \"l5ep\",\n\t\"./da\": \"DxQv\",\n\t\"./da.js\": \"DxQv\",\n\t\"./de\": \"tGlX\",\n\t\"./de-at\": \"s+uk\",\n\t\"./de-at.js\": \"s+uk\",\n\t\"./de-ch\": \"u3GI\",\n\t\"./de-ch.js\": \"u3GI\",\n\t\"./de.js\": \"tGlX\",\n\t\"./dv\": \"WYrj\",\n\t\"./dv.js\": \"WYrj\",\n\t\"./el\": \"jUeY\",\n\t\"./el.js\": \"jUeY\",\n\t\"./en-SG\": \"zavE\",\n\t\"./en-SG.js\": \"zavE\",\n\t\"./en-au\": \"Dmvi\",\n\t\"./en-au.js\": \"Dmvi\",\n\t\"./en-ca\": \"OIYi\",\n\t\"./en-ca.js\": \"OIYi\",\n\t\"./en-gb\": \"Oaa7\",\n\t\"./en-gb.js\": \"Oaa7\",\n\t\"./en-ie\": \"4dOw\",\n\t\"./en-ie.js\": \"4dOw\",\n\t\"./en-il\": \"czMo\",\n\t\"./en-il.js\": \"czMo\",\n\t\"./en-nz\": \"b1Dy\",\n\t\"./en-nz.js\": \"b1Dy\",\n\t\"./eo\": \"Zduo\",\n\t\"./eo.js\": \"Zduo\",\n\t\"./es\": \"iYuL\",\n\t\"./es-do\": \"CjzT\",\n\t\"./es-do.js\": \"CjzT\",\n\t\"./es-us\": \"Vclq\",\n\t\"./es-us.js\": \"Vclq\",\n\t\"./es.js\": \"iYuL\",\n\t\"./et\": \"7BjC\",\n\t\"./et.js\": \"7BjC\",\n\t\"./eu\": \"D/JM\",\n\t\"./eu.js\": \"D/JM\",\n\t\"./fa\": \"jfSC\",\n\t\"./fa.js\": \"jfSC\",\n\t\"./fi\": \"gekB\",\n\t\"./fi.js\": \"gekB\",\n\t\"./fo\": \"ByF4\",\n\t\"./fo.js\": \"ByF4\",\n\t\"./fr\": \"nyYc\",\n\t\"./fr-ca\": \"2fjn\",\n\t\"./fr-ca.js\": \"2fjn\",\n\t\"./fr-ch\": \"Dkky\",\n\t\"./fr-ch.js\": \"Dkky\",\n\t\"./fr.js\": \"nyYc\",\n\t\"./fy\": \"cRix\",\n\t\"./fy.js\": \"cRix\",\n\t\"./ga\": \"USCx\",\n\t\"./ga.js\": \"USCx\",\n\t\"./gd\": \"9rRi\",\n\t\"./gd.js\": \"9rRi\",\n\t\"./gl\": \"iEDd\",\n\t\"./gl.js\": \"iEDd\",\n\t\"./gom-latn\": \"DKr+\",\n\t\"./gom-latn.js\": \"DKr+\",\n\t\"./gu\": \"4MV3\",\n\t\"./gu.js\": \"4MV3\",\n\t\"./he\": \"x6pH\",\n\t\"./he.js\": \"x6pH\",\n\t\"./hi\": \"3E1r\",\n\t\"./hi.js\": \"3E1r\",\n\t\"./hr\": \"S6ln\",\n\t\"./hr.js\": \"S6ln\",\n\t\"./hu\": \"WxRl\",\n\t\"./hu.js\": \"WxRl\",\n\t\"./hy-am\": \"1rYy\",\n\t\"./hy-am.js\": \"1rYy\",\n\t\"./id\": \"UDhR\",\n\t\"./id.js\": \"UDhR\",\n\t\"./is\": \"BVg3\",\n\t\"./is.js\": \"BVg3\",\n\t\"./it\": \"bpih\",\n\t\"./it-ch\": \"bxKX\",\n\t\"./it-ch.js\": \"bxKX\",\n\t\"./it.js\": \"bpih\",\n\t\"./ja\": \"B55N\",\n\t\"./ja.js\": \"B55N\",\n\t\"./jv\": \"tUCv\",\n\t\"./jv.js\": \"tUCv\",\n\t\"./ka\": \"IBtZ\",\n\t\"./ka.js\": \"IBtZ\",\n\t\"./kk\": \"bXm7\",\n\t\"./kk.js\": \"bXm7\",\n\t\"./km\": \"6B0Y\",\n\t\"./km.js\": \"6B0Y\",\n\t\"./kn\": \"PpIw\",\n\t\"./kn.js\": \"PpIw\",\n\t\"./ko\": \"Ivi+\",\n\t\"./ko.js\": \"Ivi+\",\n\t\"./ku\": \"JCF/\",\n\t\"./ku.js\": \"JCF/\",\n\t\"./ky\": \"lgnt\",\n\t\"./ky.js\": \"lgnt\",\n\t\"./lb\": \"RAwQ\",\n\t\"./lb.js\": \"RAwQ\",\n\t\"./lo\": \"sp3z\",\n\t\"./lo.js\": \"sp3z\",\n\t\"./lt\": \"JvlW\",\n\t\"./lt.js\": \"JvlW\",\n\t\"./lv\": \"uXwI\",\n\t\"./lv.js\": \"uXwI\",\n\t\"./me\": \"KTz0\",\n\t\"./me.js\": \"KTz0\",\n\t\"./mi\": \"aIsn\",\n\t\"./mi.js\": \"aIsn\",\n\t\"./mk\": \"aQkU\",\n\t\"./mk.js\": \"aQkU\",\n\t\"./ml\": \"AvvY\",\n\t\"./ml.js\": \"AvvY\",\n\t\"./mn\": \"lYtQ\",\n\t\"./mn.js\": \"lYtQ\",\n\t\"./mr\": \"Ob0Z\",\n\t\"./mr.js\": \"Ob0Z\",\n\t\"./ms\": \"6+QB\",\n\t\"./ms-my\": \"ZAMP\",\n\t\"./ms-my.js\": \"ZAMP\",\n\t\"./ms.js\": \"6+QB\",\n\t\"./mt\": \"G0Uy\",\n\t\"./mt.js\": \"G0Uy\",\n\t\"./my\": \"honF\",\n\t\"./my.js\": \"honF\",\n\t\"./nb\": \"bOMt\",\n\t\"./nb.js\": \"bOMt\",\n\t\"./ne\": \"OjkT\",\n\t\"./ne.js\": \"OjkT\",\n\t\"./nl\": \"+s0g\",\n\t\"./nl-be\": \"2ykv\",\n\t\"./nl-be.js\": \"2ykv\",\n\t\"./nl.js\": \"+s0g\",\n\t\"./nn\": \"uEye\",\n\t\"./nn.js\": \"uEye\",\n\t\"./pa-in\": \"8/+R\",\n\t\"./pa-in.js\": \"8/+R\",\n\t\"./pl\": \"jVdC\",\n\t\"./pl.js\": \"jVdC\",\n\t\"./pt\": \"8mBD\",\n\t\"./pt-br\": \"0tRk\",\n\t\"./pt-br.js\": \"0tRk\",\n\t\"./pt.js\": \"8mBD\",\n\t\"./ro\": \"lyxo\",\n\t\"./ro.js\": \"lyxo\",\n\t\"./ru\": \"lXzo\",\n\t\"./ru.js\": \"lXzo\",\n\t\"./sd\": \"Z4QM\",\n\t\"./sd.js\": \"Z4QM\",\n\t\"./se\": \"//9w\",\n\t\"./se.js\": \"//9w\",\n\t\"./si\": \"7aV9\",\n\t\"./si.js\": \"7aV9\",\n\t\"./sk\": \"e+ae\",\n\t\"./sk.js\": \"e+ae\",\n\t\"./sl\": \"gVVK\",\n\t\"./sl.js\": \"gVVK\",\n\t\"./sq\": \"yPMs\",\n\t\"./sq.js\": \"yPMs\",\n\t\"./sr\": \"zx6S\",\n\t\"./sr-cyrl\": \"E+lV\",\n\t\"./sr-cyrl.js\": \"E+lV\",\n\t\"./sr.js\": \"zx6S\",\n\t\"./ss\": \"Ur1D\",\n\t\"./ss.js\": \"Ur1D\",\n\t\"./sv\": \"X709\",\n\t\"./sv.js\": \"X709\",\n\t\"./sw\": \"dNwA\",\n\t\"./sw.js\": \"dNwA\",\n\t\"./ta\": \"PeUW\",\n\t\"./ta.js\": \"PeUW\",\n\t\"./te\": \"XLvN\",\n\t\"./te.js\": \"XLvN\",\n\t\"./tet\": \"V2x9\",\n\t\"./tet.js\": \"V2x9\",\n\t\"./tg\": \"Oxv6\",\n\t\"./tg.js\": \"Oxv6\",\n\t\"./th\": \"EOgW\",\n\t\"./th.js\": \"EOgW\",\n\t\"./tl-ph\": \"Dzi0\",\n\t\"./tl-ph.js\": \"Dzi0\",\n\t\"./tlh\": \"z3Vd\",\n\t\"./tlh.js\": \"z3Vd\",\n\t\"./tr\": \"DoHr\",\n\t\"./tr.js\": \"DoHr\",\n\t\"./tzl\": \"z1FC\",\n\t\"./tzl.js\": \"z1FC\",\n\t\"./tzm\": \"wQk9\",\n\t\"./tzm-latn\": \"tT3J\",\n\t\"./tzm-latn.js\": \"tT3J\",\n\t\"./tzm.js\": \"wQk9\",\n\t\"./ug-cn\": \"YRex\",\n\t\"./ug-cn.js\": \"YRex\",\n\t\"./uk\": \"raLr\",\n\t\"./uk.js\": \"raLr\",\n\t\"./ur\": \"UpQW\",\n\t\"./ur.js\": \"UpQW\",\n\t\"./uz\": \"Loxo\",\n\t\"./uz-latn\": \"AQ68\",\n\t\"./uz-latn.js\": \"AQ68\",\n\t\"./uz.js\": \"Loxo\",\n\t\"./vi\": \"KSF8\",\n\t\"./vi.js\": \"KSF8\",\n\t\"./x-pseudo\": \"/X5v\",\n\t\"./x-pseudo.js\": \"/X5v\",\n\t\"./yo\": \"fzPg\",\n\t\"./yo.js\": \"fzPg\",\n\t\"./zh-cn\": \"XDpg\",\n\t\"./zh-cn.js\": \"XDpg\",\n\t\"./zh-hk\": \"SatO\",\n\t\"./zh-hk.js\": \"SatO\",\n\t\"./zh-tw\": \"kOpN\",\n\t\"./zh-tw.js\": \"kOpN\"\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = \"RnhZ\";","import {\n autoinject,\n transient\n} from \"aurelia-framework\";\nimport {\n AuthorizationService,\n LocalizationService\n} from \"../../../base/export\";\nimport { \n FormBase,\n ICommandData\n} from \"../../../forms/export\";\nimport { LocationService } from '../../../base/services/location-service';\n\n@autoinject\n@transient()\nexport class PasswordResetFuncs {\n private form: FormBase;\n \n constructor(\n private authorization: AuthorizationService,\n private locationService: LocationService,\n private localization: LocalizationService\n ) { }\n\n bind(form: FormBase) {\n this.form = form;\n\n form.models.data.$m_Password = {\n };\n }\n\n resetPasswordCommand: ICommandData = {\n id: \"$resetPassword\",\n title: \"password-reset-funcs.reset_caption\",\n execute: () => {\n if (!this.form.models.data.$m_Password.Username) {\n DevExpress.ui.notify(this.localization.translateOnce(\"password-reset-funcs.enter_username\"), \"error\", 3000);\n return;\n }\n\n this.authorization\n .resetPassword(this.form.models.data.$m_Password)\n .then(r => {\n if (r) {\n this.locationService.goTo({\n url: \"login\",\n clearStack: true\n });\n }\n });\n }\n };\n backToLoginCommand: ICommandData = {\n id: \"$backToLogin\",\n title: \"password-reset-funcs.back_to_login_caption\",\n execute: () => {\n this.locationService.goTo({\n url: \"login\",\n clearStack: true\n });\n }\n };\n}\n","import { autoinject, PLATFORM } from \"aurelia-framework\";\nimport { EventAggregator } from \"aurelia-event-aggregator\";\nimport { FileService } from \"../../framework/base/export\";\n\nPLATFORM.moduleName(\"../card-templates/ansprechperson-kompakt.html\");\nPLATFORM.moduleName(\"../card-templates/ansprechperson-klein.html\");\nPLATFORM.moduleName(\"../card-templates/bewerbung-kunde-klein.html\");\nPLATFORM.moduleName(\"../card-templates/bewerbung-kunde-kompakt.html\");\nPLATFORM.moduleName(\"../card-templates/bewerbung-kunde-gross.html\");\nPLATFORM.moduleName(\"../card-templates/bewerbung-person-kompakt.html\");\nPLATFORM.moduleName(\"../card-templates/bewerbung-person-gross.html\");\nPLATFORM.moduleName(\"../card-templates/dispo-person-gross.html\");\nPLATFORM.moduleName(\"../card-templates/dispo-personenzuteilung-klein.html\");\nPLATFORM.moduleName(\"../card-templates/dispo-personenzuteilung-kompakt.html\");\nPLATFORM.moduleName(\"../card-templates/dispo-planstelle-kompakt.html\");\nPLATFORM.moduleName(\"../card-templates/dispo-planstelle-gross.html\");\nPLATFORM.moduleName(\"../card-templates/geschaeftspartner-kompakt.html\");\nPLATFORM.moduleName(\"../card-templates/person-kompakt.html\");\nPLATFORM.moduleName(\"../card-templates/person-klein.html\");\nPLATFORM.moduleName(\"../card-templates/person-kunde-kompakt.html\");\nPLATFORM.moduleName(\"../card-templates/person-gross.html\");\nPLATFORM.moduleName(\"../card-templates/profil-firma-kunde-kompakt.html\");\nPLATFORM.moduleName(\"../card-templates/profil-firma-kunde-gross.html\");\nPLATFORM.moduleName(\"../card-templates/stelleninserat-kunde-kompakt.html\");\nPLATFORM.moduleName(\"../card-templates/stelleninserat-kunde-gross.html\");\nPLATFORM.moduleName(\"../card-templates/stelleninserat-person-kompakt.html\");\nPLATFORM.moduleName(\"../card-templates/stelleninserat-person-gross.html\");\nPLATFORM.moduleName(\"../card-templates/termin-kompakt.html\");\nPLATFORM.moduleName(\"../card-templates/termin-heartbase-kompakt.html\");\nPLATFORM.moduleName(\"../card-templates/aufgabe-kompakt.html\");\nPLATFORM.moduleName(\"../card-templates/ziel-kompakt.html\");\nPLATFORM.moduleName(\"../card-templates/ziel-klein.html\");\nPLATFORM.moduleName(\"../card-templates/information-kompakt.html\");\nPLATFORM.moduleName(\"../card-templates/event-kompakt.html\");\nPLATFORM.moduleName(\"../card-templates/event-zeitraum-kompakt.html\");\nPLATFORM.moduleName(\"../card-templates/event-teilnehmer-kompakt.html\");\nPLATFORM.moduleName(\"../card-templates/event-teilnehmer-klein.html\");\n\n@autoinject\nexport class ZitCardService {\n constructor(\n private _eventAggregator: EventAggregator,\n private _fileService: FileService\n ) {\n this.registerCardButtonClickEvents();\n }\n\n private registerCardButtonClickEvents() {\n this._eventAggregator.subscribe(\"information:datei-oeffnen\", (ev) => {\n const dmsLink = ev.data.DMSLink || ev.data.Data.DMSLink;\n if (!dmsLink) {\n return;\n }\n\n this._fileService.download(dmsLink); \n });\n this._eventAggregator.subscribe(\"information:link-oeffnen\", (ev) => {\n const linkUrl = ev.data.LinkUrl || ev.data.Data.LinkUrl;\n if (!linkUrl) {\n return;\n }\n\n window.open(linkUrl, \"_blank\");\n });\n }\n}\n","import {\n autoinject,\n transient\n} from \"aurelia-framework\";\nimport {\n AuthorizationService,\n LocalizationService\n} from \"../../../base/export\";\nimport { \n FormBase,\n ICommandData\n} from \"../../../forms/export\";\nimport { LocationService } from '../../../base/services/location-service';\n\n@autoinject\n@transient()\nexport class ActivateAccountFuncs {\n private form: FormBase;\n\n constructor(\n private authorization: AuthorizationService,\n private localization: LocalizationService,\n private locationService: LocationService\n ) { }\n\n activationKey: string;\n\n registerForm(form: FormBase) {\n this.form = form;\n\n form.onActivate.register(r => {\n if (r && r.parameters) {\n this.activationKey = r.parameters.key;\n }\n\n return Promise.resolve();\n });\n }\n\n activateCommand: ICommandData = {\n id: \"$login\",\n title: \"activate-account-form-funcs.account_aktivieren_caption\",\n execute: (e) => {\n if (this.form.models.data.$m_activateAccount.Password !== this.form.models.data.$m_activateAccount.ConfirmPassword) {\n DevExpress.ui.notify(this.localization.translateOnce(\"activate-account-form-funcs.password_missmatch\"), \"error\", 3000);\n return;\n }\n\n this.form.models.data.$m_activateAccount.ActivationKey = this.activationKey;\n\n this.authorization\n .activateAccount(this.form.models.data.$m_activateAccount)\n .then(r => {\n if (r) {\n this.locationService.goTo({\n url: \"login\",\n clearStack: true\n });\n }\n });\n }\n };\n\n backToLoginCommand: ICommandData = {\n id: \"$backToLogin\",\n title: \"activate-account-form-funcs.back_to_login_caption\",\n execute: () => {\n this.locationService.goTo({\n url: \"login\",\n clearStack: true\n });\n }\n };\n}\n","module.exports = \"
\";","import { EventAggregator } from \"aurelia-event-aggregator\";\nimport { autoinject, transient } from \"../../../../node_modules/aurelia-framework\";\nimport { BrowserService, FileService, LocationService, RestService } from \"../../../framework/base/export\";\nimport { FormBase } from \"../../../framework/forms/export\";\nimport { DateiAuswaehlen } from \"../../elements/datei-auswaehlen/datei-auswaehlen\";\nimport { IDatei } from \"../../elements/datei/datei\";\nimport { BenutzerTyp } from \"../../enumerations/export\";\nimport { BerechtigungService, CustomEditPopupService, StartupService } from \"../../services/export\";\nimport { INachrichtBenutzerInfo, NachrichtAnzeigeTyp, NachrichtService, NachrichtTyp } from \"../../services/nachricht-service\";\nimport { LocalizationService } from \"./../../../framework/base/services/localization-service\";\nimport { ICommandData } from \"./../../../framework/forms/interfaces/command-data\";\n\n@autoinject\n@transient()\nexport class NachrichtenListUtils {\n constructor(\n private _nachrichtService: NachrichtService,\n private _localizationService: LocalizationService,\n private _fileService: FileService,\n private _browserService: BrowserService,\n private _startupService: StartupService,\n private _customEditPopupService: CustomEditPopupService,\n private _eventAggregator: EventAggregator,\n private _berechtigungService: BerechtigungService,\n private _restService: RestService,\n private _locationService: LocationService\n ) {}\n\n form: FormBase;\n formTitel = \"Nachrichten\";\n benutzerInfo: INachrichtBenutzerInfo;\n benutzerInfoFix: INachrichtBenutzerInfo;\n \n idPerson: number;\n\n vorlagenCommand: ICommandData = {\n id: \"vorlagenCommand\",\n sortIndex: 1700,\n title: \"nachricht-erstellen.vorlagen\",\n tooltip: \"nachricht-erstellen.vorlagen\",\n isVisible: false,\n execute: (e) => {\n this.form[\"r_nachrichtVorlage\"].showContextMenu(e.event.target);\n }\n };\n gruppeInfoCommand: ICommandData = {\n id: \"gruppeInfoCommand\",\n icon: \"fas fa-info-circle\",\n sortIndex: 1800,\n tooltip: \"nachricht-list-utils.info_gruppe\",\n isVisible: false,\n execute: async () => {\n this._customEditPopupService.nachrichtGruppe.show({\n mappings: {\n \"$id\": this.benutzerInfoValidated.idBenutzer\n }\n });\n }\n };\n tableauCommand: ICommandData = {\n id: \"tableauCommand\",\n idCategory: \"$start\",\n icon: \"fas fa-exchange-alt\",\n sortIndex: 1900,\n isVisible: false,\n execute: () => {\n if (!this.idPerson) {\n return;\n }\n \n this._locationService.goTo({\n url: `Tableau?view=7&idPerson=${this.idPerson}`,\n currentViewModel: this.form,\n clearStack: true\n });\n }\n };\n fotoCommand: ICommandData = {\n id: \"kameraCommand\",\n idCategory: \"$start\",\n icon: \"fas fa-camera\",\n sortIndex: 2000,\n isVisible: false,\n execute: () => {\n (this.form[\"r_dateiAuswaehlen\"]).onMakePhoto(true, true);\n }\n };\n videoCommand: ICommandData = {\n id: \"videoCommand\",\n idCategory: \"$start\",\n icon: \"fas fa-video\",\n sortIndex: 2001,\n isVisible: false,\n execute: () => {\n (this.form[\"r_dateiAuswaehlen\"]).onMakeVideo(true, true);\n }\n };\n dokumentCommand: ICommandData = {\n id: \"dokumentCommand\",\n idCategory: \"$start\",\n icon: \"fas fa-paperclip\",\n sortIndex: 2002,\n isVisible: false,\n execute: () => {\n (this.form[\"r_dateiAuswaehlen\"]).onOpenFiles(true);\n }\n };\n telefonatCommand: ICommandData = {\n id: \"telefonatCommand\",\n idCategory: \"$start\",\n icon: \"fas fa-phone-alt\",\n tooltip: \"nachricht-list-utils.telefonat\",\n sortIndex: 2003,\n isVisible: false,\n execute: () => {\n this._nachrichtService.doNachrichtErstellen(this.benutzerInfoValidated, NachrichtTyp.Telefonat);\n }\n };\n notizCommand: ICommandData = {\n id: \"notizCommand\",\n idCategory: \"$start\",\n icon: \"far fa-sticky-note\",\n tooltip: \"nachricht-list-utils.notiz\",\n sortIndex: 2004,\n isVisible: false,\n execute: () => {\n this._nachrichtService.doNachrichtErstellen(this.benutzerInfoValidated, NachrichtTyp.Notiz);\n }\n };\n neueNachrichtErstellenCommand: ICommandData = {\n id: \"neueNachrichtErstellenCommand\",\n icon: \"far fa-comment-dots\",\n sortIndex: 9999,\n title: this._browserService.isMobile ? null : \"nachricht-list-utils.neue_nachricht\",\n tooltip: \"nachricht-list-utils.neue_nachricht\",\n isVisible: false,\n execute: async () => {\n if(!this.benutzerInfoValidated) {\n DevExpress.ui.notify(this._localizationService.translateOnce(\"nachricht-list-utils.kein-empfaenger-ausgewaehlt\"), \"ERROR\", 3000);\n return;\n }\n \n this._nachrichtService.doNachrichtErstellen(this.benutzerInfoValidated);\n }\n };\n nachrichtUngelesenCommand: ICommandData = {\n id: \"nachrichtUngelesenCommand\",\n icon: \"fas fa-low-vision\",\n sortIndex: 10000,\n title: this._browserService.isMobile ? null : \"nachricht-list-utils.nachricht_ungelesen\",\n tooltip: \"nachricht-list-utils.nachricht_ungelesen\",\n isVisible: false,\n execute: async () => {\n const args = {\n isHandled: false\n }\n \n this._eventAggregator.publish(\"nachricht:set-unglesen\", args);\n \n if (!args.isHandled) {\n DevExpress.ui.notify(\"Es wurde keine Nachricht gefunden, die auf ungelesen gesetzt werden konnte\", \"ERROR\", 3000);\n }\n }\n };\n\n get benutzerInfoValidated() {\n return this.benutzerInfoFix || this.benutzerInfo;\n }\n\n bind(form: FormBase) {\n this.form = form;\n\n const hasBenutzerInfo = this.form.viewItemInfo\n && this.form.viewItemInfo.routeInfo\n && this.form.viewItemInfo.routeInfo.customOptions\n && this.form.viewItemInfo.routeInfo.customOptions.benutzerInfo;\n\n if (hasBenutzerInfo) {\n this.benutzerInfoFix = this.form.viewItemInfo.routeInfo.customOptions.benutzerInfo;\n this.formTitel = this.benutzerInfoFix.name;\n }\n \n this.vorlagenCommand.isVisible = !hasBenutzerInfo\n && this._startupService.startupInfo.Benutzer.Benutzertyp != BenutzerTyp.NatuerlichePerson;\n }\n\n onBenutzerClick(e) {\n this.benutzerInfo = e.detail.benutzerInfo;\n\n this.neueNachrichtErstellenCommand.isVisible = !!this.benutzerInfo;\n this.nachrichtUngelesenCommand.isVisible = !!this.benutzerInfo;\n this.fotoCommand.isVisible = !!this.benutzerInfo;\n this.videoCommand.isVisible = !!this.benutzerInfo && this._browserService.isMobile;\n this.dokumentCommand.isVisible = !!this.benutzerInfo && !this._browserService.isMobile;\n \n this.gruppeInfoCommand.isVisible = !!this.benutzerInfo \n && this.benutzerInfo.anzeigeTyp == NachrichtAnzeigeTyp.Gruppe\n && (this._startupService.startupInfo.Benutzer.Benutzertyp == BenutzerTyp.Administrator || this.benutzerInfo.isGruppeAdmin);\n\n this.telefonatCommand.isVisible = !!this.benutzerInfo\n && this.benutzerInfo.anzeigeTyp == NachrichtAnzeigeTyp.Benutzer\n && this._startupService.startupInfo.Benutzer.HasNachrichtInterneNotiz\n && !this._browserService.isMobile;\n\n this.notizCommand.isVisible = !!this.benutzerInfo\n && this.benutzerInfo.anzeigeTyp == NachrichtAnzeigeTyp.Benutzer\n && this._startupService.startupInfo.Benutzer.HasNachrichtInterneNotiz\n && !this._browserService.isMobile;\n\n this.vorlagenCommand.isVisible = false;\n \n this.updateTableauCommand(this.benutzerInfo);\n }\n onBenutzerCleared(e) {\n this.benutzerInfo = null;\n this.neueNachrichtErstellenCommand.isVisible = false;\n this.fotoCommand.isVisible = false;\n this.videoCommand.isVisible = false;\n this.dokumentCommand.isVisible = false;\n this.gruppeInfoCommand.isVisible = false;\n this.telefonatCommand.isVisible = false;\n this.notizCommand.isVisible = false;\n this.tableauCommand.isVisible = false;\n }\n async onDateiAusgewaehlt(e: CustomEvent) {\n const dateiList: IDatei[] = [];\n\n for (let file of e.detail.files) {\n const dmsLink = await this._fileService.upload(file);\n if (!dmsLink) {\n return;\n }\n\n dateiList.push({ DMSLink: dmsLink, Dateiname: file.name });\n }\n\n this._nachrichtService.doNachrichtErstellen(\n this.benutzerInfo,\n NachrichtTyp.Nachricht,\n dateiList);\n }\n \n private async updateTableauCommand(benutzerInfo: INachrichtBenutzerInfo) {\n this.tableauCommand.isVisible = false;\n this.idPerson = null;\n \n const codeBenutzerrolle = this._startupService.startupInfo.Benutzer.CodeBenutzerrolle;\n const isPremium = [\n \"ADMIN\",\n \"KUNDE\",\n \"VERTRIEB\"\n ].indexOf(codeBenutzerrolle) >= 0;\n \n const isVisible = !!benutzerInfo\n && benutzerInfo.anzeigeTyp == NachrichtAnzeigeTyp.Benutzer\n && isPremium\n && !this._browserService.isMobile\n && this._berechtigungService.hasBerechtigungTableau()\n && this._berechtigungService.hasBerechtigungEvent();\n \n if (!isVisible) {\n return;\n }\n \n const r = await this._restService.get({\n url: this._restService.getApiUrl(`ZIT/Berechtigung/Person?idBenutzer=${this.benutzerInfo.idBenutzer}`)\n });\n \n if (!r || !r.IdPerson) {\n return;\n }\n \n this.idPerson = r.IdPerson;\n this.tableauCommand.isVisible = true;\n }\n}\n","export enum ListViewPagingMode {\n loadNext = 0,\n paging = 1\n}\n","import { computedFrom } from \"aurelia-binding\";\nimport { autoinject, transient } from \"aurelia-framework\";\nimport * as moment from \"moment\";\nimport { BrowserService } from \"./../../../../framework/base/services/browser-service\";\nimport { LocalizationService } from \"./../../../../framework/base/services/localization-service\";\nimport { RestService } from \"./../../../../framework/base/services/rest-service\";\nimport { ContextMenu } from \"./../../../../framework/forms/classes/context-menu\";\nimport { FormBase } from \"./../../../../framework/forms/classes/form-base\";\nimport { ICommandData } from \"./../../../../framework/forms/interfaces/command-data\";\nimport { IZitToolbarOptions } from \"./../../../../zit-ui/elements/zit-toolbar/zit-toolbar-options\";\nimport { Datei } from \"./../../../elements/datei/datei\";\nimport { DokumentListView } from \"./../../../elements/dokument-list-view/dokument-list-view\";\nimport { Share } from \"./../../../elements/share/share\";\nimport { StatusAendern } from \"./../../../elements/status-aendern/status-aendern\";\nimport { IStatusChangeResultData } from \"./../../../interfaces/status-change-result-data\";\nimport { StartupService } from \"./../../../services/startup-service\";\nimport { AnsprechpersonService } from \"../../../services/ansprechperson-service\";\n\n@autoinject\n@transient()\nexport class EventTeilnehmerEditUtils {\n\n constructor(\n public startupService: StartupService,\n private _ansprechpersonService: AnsprechpersonService,\n private _browserService: BrowserService,\n private _localizationService: LocalizationService,\n private _restService: RestService\n ) { }\n\n form: FormBase;\n selectedKeys: number[];\n eventTeilnehmerValidator: DevExpress.ui.dxValidatorOptions = {\n validationRules: [{ type: \"required\" }]\n };\n meldenBeiDataSource: string[];\n\n actionCommand: ICommandData = {\n id: \"actionCommand\",\n icon: \"fas fa-share-alt\",\n tooltip: \"zit.aktionen\",\n sortIndex: 99,\n isVisibleExpression: \"r_share.canShare\",\n execute: (executeOptions) => {\n const share: Share = this.form[\"r_share\"];\n share.showCtxMenu(executeOptions.event);\n }\n };\n\n statusAendernPopupCommand: ICommandData = {\n id: \"statusAenderPopupCommand\",\n icon: \"fas fa-pencil-alt\",\n title: \"event.status-aendern-popup\",\n isVisibleExpression: \"functions.$f_EventTeilnehmerEditUtils.isStatusAendernVisible\",\n sortIndex: 450,\n execute: () => {\n const statusAendern: StatusAendern = this.form[\"r_statusAendern\"];\n this.selectedKeys = this.getSelectedKeys();\n statusAendern.showPopup(this.onStatusGeaendert.bind(this));\n }\n };\n\n dokumentToolbarOptions: IZitToolbarOptions = {\n title: \"event.dokument-toolbar-titel\",\n smallToolbar: true,\n items: [{\n id: \"showDokumentToolbarOptionen\",\n icon: \"fas fa-plus\",\n execute: async (e) => {\n if (!this.form.models.data.$m_EventTeilnehmer.Id) {\n await this.form.save();\n }\n\n const ctxMenu = new ContextMenu();\n\n if (this.form[\"r_dokumentElement\"]) {\n ctxMenu.items = [{\n text: this._localizationService.translateOnce(\"event.dokument-toolbar-item-info-dokument\"),\n execute: () => {\n const dokumentListView: DokumentListView = this.form[\"r_dokumentElement\"];\n dokumentListView.onDokumentAddClicked();\n }\n }, {\n text: this._localizationService.translateOnce(\"event.dokument-toolbar-item-dokument-erstellen\"),\n execute: () => {\n const share: Share = this.form[\"r_share\"];\n share.dokumentLautVorlageErstellen.showPopup(\n [this.form.models.data.$m_EventZeitraum.Id],\n \"TIP.ZIT.Business.Entities.Objekte.Events.EventTeilnehmer\");\n }\n }];\n } else if (this.form[\"r_dateien\"]) {\n ctxMenu.items = [{\n text: this._localizationService.translateOnce(\"event.dokument-toolbar-item-info-dokumente\"),\n execute: () => {\n setTimeout(() => {\n const datei: Datei = this.form[\"r_dateien\"];\n datei.onDokumentClick();\n }, 0);\n }\n }, {\n text: this._localizationService.translateOnce(\"event.dokument-toolbar-item-info-bilder\"),\n execute: () => {\n setTimeout(() => {\n const datei: Datei = this.form[\"r_dateien\"];\n datei.onCameraClick();\n }, 0);\n }\n }, {\n text: this._localizationService.translateOnce(\"event.dokument-toolbar-item-info-videos\"),\n execute: () => {\n setTimeout(() => {\n const datei: Datei = this.form[\"r_dateien\"];\n datei.onVideoClick();\n }, 0);\n }\n }, {\n text: this._localizationService.translateOnce(\"event.dokument-toolbar-item-info-galerie\"),\n execute: async () => {\n const r = await this.form.saveIfDirty();\n if (!r.isValid) {\n return;\n }\n\n const datei: Datei = this.form[\"r_dateien\"];\n datei.onAddToGalerieClick(() => {\n this.form.save();\n });\n }\n }];\n }\n\n ctxMenu.show(event.target);\n }\n }]\n };\n\n meldenBeiSelectBoxOptions: DevExpress.ui.dxSelectBoxOptions = {\n acceptCustomValue: true,\n bindingOptions: {\n value: \"models.data.$m_EventTeilnehmer.Kopf.MeldenBei\",\n dataSource: \"functions.$f_EventTeilnehmerEditUtils.meldenBeiDataSource\",\n }\n };\n\n @computedFrom(\"canChangeStatus\")\n get isStatusAendernVisible() {\n return this.startupService.startupInfo.Benutzer.CanStatusAendern\n && this.canChangeStatus\n && !this._browserService.isMobile;\n }\n\n @computedFrom(\"form.models.data.$m_EventTeilnehmer\")\n get canChangeStatus(): boolean {\n if (!this.form.models.data.$m_EventTeilnehmer) {\n return true;\n }\n\n return !!this.form.models.data.$m_EventTeilnehmer._CanChangeObjektStatus;\n }\n\n onStartDatumChanged() {\n const model = this.form.models.data.$m_EventTeilnehmer;\n\n if (!model || !model.Kopf || model.Kopf.EndeDatum) {\n return;\n }\n\n model.Kopf.EndeDatum = model.Kopf.StartDatum;\n }\n\n isAnsichtDesktop() {\n return !this._browserService.isMobile;\n }\n\n bind(form) {\n this.form = form;\n\n form.onEditorValueChanged.register(async (args) => {\n if (args.binding.dataContext === \"$m_EventTeilnehmer\") {\n if (args.binding.bindTo == \"IdEventZeitraum\") {\n this.setDatumFromZeitraum(this.form.models.data.$m_EventTeilnehmer.IdEventZeitraum);\n }\n }\n });\n \n form.models.onLoaded.register((args) => {\n if (args.model.id == \"$m_Event\" && args.data) {\n if (args.data.Kopf) {\n if (args.data.Kopf.IdGeschaeftspartner) {\n this.setMeldenBeiDataSource(args.data.Kopf.IdGeschaeftspartner);\n } else if (args.data.Kopf.IdGeschaeftspartnerSchule) {\n this.setMeldenBeiDataSource(args.data.Kopf.IdGeschaeftspartnerSchule);\n }\n }\n }\n return Promise.resolve();\n });\n\n form.onValidating.register((r) => {\n if (this.form.models.data.$m_EventTeilnehmer.Kopf.StartDatum && this.form.models.data.$m_EventTeilnehmer.Kopf.EndeDatum) {\n if (moment(this.form.models.data.$m_EventZeitraum.Kopf.StartDatum)\n .isSameOrBefore(this.form.models.data.$m_EventTeilnehmer.Kopf.StartDatum)\n && moment(this.form.models.data.$m_EventZeitraum.Kopf.EndeDatum)\n .isSameOrAfter(this.form.models.data.$m_EventTeilnehmer.Kopf.StartDatum)\n && moment(this.form.models.data.$m_EventZeitraum.Kopf.StartDatum)\n .isSameOrBefore(this.form.models.data.$m_EventTeilnehmer.Kopf.EndeDatum)\n && moment(this.form.models.data.$m_EventZeitraum.Kopf.EndeDatum)\n .isSameOrAfter(this.form.models.data.$m_EventTeilnehmer.Kopf.EndeDatum)) {\n const dauer = moment(this.form.models.data.$m_EventTeilnehmer.Kopf.EndeDatum).diff(this.form.models.data.$m_EventTeilnehmer.Kopf.StartDatum, \"days\") + 1;\n\n if (this.form.models.data.$m_EventZeitraum.Kopf.Maximaldauer && this.form.models.data.$m_EventZeitraum.Kopf.Mindestdauer) {\n if (dauer > this.form.models.data.$m_EventZeitraum.Kopf.Maximaldauer) {\n r.validationResult.isValid = false;\n r.validationResult.messages.push(this._localizationService.translateOnce(\"event.event-teilnehmer-maximaldauer-ueberschritten\"));\n return;\n }\n if (dauer < this.form.models.data.$m_EventZeitraum.Kopf.Mindestdauer) {\n r.validationResult.isValid = false;\n r.validationResult.messages.push(this._localizationService.translateOnce(\"event.event-teilnehmer-mindestdauer-unterschreiten\"));\n return;\n }\n }\n } else {\n r.validationResult.isValid = false;\n r.validationResult.messages.push(\"Der ausgewählte Zeitraum muss sich innerhalb von \"\n + moment(this.form.models.data.$m_EventZeitraum.Kopf.StartDatum)\n .format(\"DD.MM.YYYY\")\n + \" - \"\n + moment(this.form.models.data.$m_EventZeitraum.Kopf.EndeDatum)\n .format(\"DD.MM.YYYY\")\n + \" befinden.\");\n return;\n }\n }\n return Promise.resolve();\n });\n }\n\n async onDokumentChanged() {\n await this.form.models.reloadAll();\n this.form.dispatchOnSaved();\n }\n\n private async setDatumFromZeitraum(id: number) {\n if (!id) {\n return;\n }\n\n const r = await this._restService.get({\n url: this._restService.getWebApiUrl(`ZIT/Objekte/EventZeitraum/${id}`),\n getOptions: {\n expand: { Kopf: null }\n }\n });\n\n if (!r) {\n return;\n }\n\n this.form.models.data.$m_EventTeilnehmer.Kopf.StartDatum = r.Kopf.StartDatum;\n this.form.models.data.$m_EventTeilnehmer.Kopf.StartUhrzeit = r.Kopf.StartUhrzeitValidated;\n this.form.models.data.$m_EventTeilnehmer.Kopf.EndeDatum = r.Kopf.EndeDatum;\n this.form.models.data.$m_EventTeilnehmer.Kopf.EndeUhrzeit = r.Kopf.EndeUhrzeitValidated;\n }\n\n private onStatusGeaendert(r: IStatusChangeResultData) {\n if (!r.IsValid) {\n DevExpress.ui.dialog.alert(r.Message, this._localizationService.translateOnce(\"event.fehler\"));\n } else {\n this.form.models.reloadAll();\n }\n }\n\n private getSelectedKeys(): number[] {\n if (this.form.models.data.$m_EventTeilnehmer) {\n return [this.form.models.data.$m_EventTeilnehmer.Id];\n } else {\n return [];\n }\n }\n\n private async setMeldenBeiDataSource(id: number) {\n const ansprechpersonList = await this._ansprechpersonService\n .loadAnsprechpersonByGeschaeftspartner(id, [\"Name\"]);\n\n this.meldenBeiDataSource = ansprechpersonList.map((c) => c.Name);\n }\n}\n","import { autoinject } from 'aurelia-framework';\nimport { IZitTagOptions } from '../elements/zit-tag/export';\n\n@autoinject\nexport class ZitTagService {\n private _tagDic: any = {};\n constructor() {\n this.load();\n }\n\n getTagOptions(optionsName: string): IZitTagOptions {\n return Object.assign({}, this._tagDic[optionsName]);\n }\n\n private load() {\n this._tagDic.adresse = {\n isClickEnabled: true,\n hasDefaultInfo: true,\n icon: {\n textExpression: 'item.Adresstyp.TagText ? item.Adresstyp.TagText : item.Adresstyp.Bezeichnung[0]'\n },\n textExpression: `item | zitAddress:\"short:street\"`\n };\n\n this._tagDic.ansprechperson = {\n icon: {\n text: \"K\"\n },\n textExpression: \"item.GesamtNameMitTitel\",\n infoList: [\n {\n isVisibleExpression: `item.IsInaktiv`,\n icon: {\n faIcon: \"far fa-trash-alt\",\n }\n }\n ]\n };\n\n this._tagDic.ausbildung = {\n hasDefaultInfo: true,\n textExpression: \"item.Ausbildung.Bezeichnung\",\n icon: {\n faIconExpression: \"item.Ausbildung.TagSymbol ? item.Ausbildung.TagSymbol : null\",\n textExpression: \"item.Ausbildung.TagText ? item.Ausbildung.Tagtext : 'A'\"\n },\n infoList: [{\n isVisibleExpression: \"item.AusbildungAbschluss.TagSymbol\",\n icon: {\n faIconExpression: \"item.AusbildungAbschluss.TagSymbol\"\n }\n }]\n };\n\n this._tagDic.benutzergruppe = {\n hasDefaultInfo: true,\n icon: {\n faIcon: \"fas fa-users\"\n },\n textExpression: `item.Bezeichnung`\n };\n this._tagDic.bankverbindung = {\n isClickEnabled: true,\n hasDefaultInfo: true,\n icon: {\n faIcon: \"far fa-money-bill-alt\"\n },\n textExpression: `item | zitBankverbindung:\"IBAN\"`\n };\n\n this._tagDic.benutzerrolleCode = {\n icon: {\n faIconExpression: \"item.TagSymbol ? item.TagSymbol : ''\",\n textExpression: \"item.tagText ? item.tagText : ''\"\n },\n textExpression: \"item.Bezeichnung\",\n onClick: (e, data) => {\n data.IsAktiv = !data.IsAktiv;\n },\n infoList: [{\n icon: {\n faIconExpression: \"item.IsAktiv ? 'fas fa-check' : 'fas fa-times'\",\n backgroundColorExpression: \"item.IsAktiv ? 'green':'red'\"\n }\n }]\n };\n\n this._tagDic.berufserfahrung = {\n hasDefaultInfo: true,\n icon: {\n text: \"E\"\n },\n textExpression: `item.Bis \n ? item.Unternehmen + \": \" + globalization.format(item.Von, \"d\") + \" - \" + globalization.format(item.Bis, \"d\") \n : item.Unternehmen + \": \" + \"seit \" + globalization.format(item.Von, \"d\")`,\n };\n\n this._tagDic.einsatzbereich = {\n icon: {\n text: \"EB\"\n },\n textExpression: `item.Einsatzbereich && item.Einsatzbereich.Einsatzbereich\n ? item.Einsatzbereich.Einsatzbereich\n : item.Wunschbereich`,\n };\n\n this._tagDic.email = {\n icon: {\n text: \"E\"\n },\n textExpression: `item`,\n onClick: (e, email) => {\n window.location.href = `mailto:${email}`;\n }\n };\n\n this._tagDic.website = {\n icon: {\n text: \"W\"\n },\n textExpression: `item | zitRestrictLength:75`,\n onClick: (e, website) => {\n if (!website.match(/^https?:\\/\\//i)) {\n website = `http://${website}`;\n }\n window.open(`${website}`, \"_blank\");\n }\n };\n\n this._tagDic.geschaeftspartner = {\n isClickEnabled: true,\n hasDefaultInfo: true,\n icon: {\n text: \"GP\"\n },\n textExpression: `item.Geschaeftspartner.Name1 \n ? item.Geschaeftspartner.Adressen.Adressen[0] \n ? item.Geschaeftspartner.Name1 + \", \" + item.Geschaeftspartner.Adressen.Adressen[0].Ort\n : item.Geschaeftspartner.Name1\n : \"\"`\n };\n\n this._tagDic.kontakt = {\n isClickEnabled: true,\n hasDefaultInfo: true,\n icon: {\n faIconExpression: \"item.Kontakttyp.TagSymbol ? item.Kontakttyp.TagSymbol : item.Kontakttyp.Bezeichnung\",\n textExpression: `item.Kontakttyp \n ? item.Kontakttyp.TagSymbol\n ? item.Kontakttyp.TagText \n : item.Kontakttyp.Bezeichnung\n ? item.Kontakttyp.Bezeichnung[0] \n : \"K\"\n : \"K\"`\n },\n textExpression: `item.Wert1 \n ? item.Wert2\n ? item.Wert1 + \" \" + item.Wert2\n : item.Wert1\n : \"\"`,\n infoList: [{\n isVisibleExpression: \"item.Wichtig\",\n icon: {\n faIcon: \"fas fa-exclamation\"\n }\n }]\n };\n\n this._tagDic.package = {\n isClickEnabled: true,\n icon: {\n text: \"P\"\n },\n textExpression: `item.Bezeichnung + \", gültig bis: \" + globalization.format(item.GueltigBis, \"d\")`\n };\n\n this._tagDic.sprache = {\n hasDefaultInfo: true,\n icon: {\n text: \"S\"\n },\n textExpression: `item.Sprachniveau \n ? item.Sprachniveau.Bezeichnung + \" | \" + item.Sprache.Bezeichnung\n : item.Sprache.Bezeichnung`,\n infoList: [{\n isVisibleExpression: \"item.Sprachniveau.TagSymbol\",\n icon: {\n faIconExpression: \"item.Sprachniveau.TagSymbol\"\n }\n }]\n };\n }\n}\n","import { autoinject, transient } from 'aurelia-framework';\nimport { FormBase } from './../../../../framework/forms/classes/form-base';\n\n@autoinject\n@transient()\nexport class PersonenAdresseUtils {\n constructor() { }\n\n form: FormBase;\n\n bind(form: FormBase) {\n this.form = form;\n form.models.onLoaded.register((args) => {\n if (args && args.model && args.model.id === \"$m_Person\") {\n this.setAdresse(args);\n }\n return Promise.resolve();\n });\n }\n\n setAdresse(args): void {\n if (args.data) {\n if (!args.data.Adressen) {\n args.data.Adressen = [];\n }\n if (args.data.Adressen.length === 0) {\n const adresse = {};\n args.data.Adressen.push(adresse);\n }\n this.form.models.data.$m_PersonAdresse = args.data.Adressen[0];\n }\n }\n}\n","import {\n Disposable,\n Scope\n} from \"aurelia-framework\";\n\nexport class ScopeContainer {\n private _disposables: Disposable[];\n\n constructor(\n public scope: Scope,\n private parentScopeContainer?: ScopeContainer\n ) {\n if (parentScopeContainer) {\n this._disposables = parentScopeContainer._disposables;\n } else {\n this._disposables = [];\n }\n }\n\n addDisposable(disposable: Disposable) {\n this._disposables.push(disposable);\n }\n disposeAll(disposeScope: boolean = true) {\n if (this.parentScopeContainer) {\n this._disposables = [];\n } else {\n this._disposables.forEach(c => {\n c.dispose();\n })\n this._disposables.length = 0;\n }\n\n if (disposeScope && this.scope) {\n for (let key in this.scope) {\n delete this.scope[key];\n }\n }\n\n this.scope = null;\n this.parentScopeContainer = null;\n }\n}","module.exports = \"
\";","import { BrowserService } from './../../../../framework/base/services/browser-service';\nimport { computedFrom } from 'aurelia-framework';\nimport { StartupService } from './../../../services/startup-service';\nimport { StatusAendern } from './../../../elements/status-aendern/status-aendern';\nimport { autoinject, transient } from 'aurelia-framework';\nimport { FormBase } from './../../../../framework/forms/classes/form-base';\nimport { GlobalizationService, LocalizationService, RestService, LocationService } from './../../../../framework/base/services/export';\nimport { PersonService, StelleninseratService } from './../../../services/export';\nimport { IZitTagOptions } from '../../../../zit-ui/elements/zit-tag/export';\nimport { WhatsappAktivieren } from '../../../elements/whatsapp-aktivieren/whatsapp-aktivieren';\nimport { IdxPopupComponent, IStatusChangeResultData } from './../../../interfaces/export';\nimport { ICommandData } from './../../../../framework/forms/interfaces/command-data';\nimport * as moment from \"moment\";\nimport { Share } from '../../../elements/share/share';\nimport { IZitToolbarOptions } from '../../../../zit-ui/elements/zit-toolbar/zit-toolbar-options';\nimport { BenutzerTyp } from '../../../enumerations/export';\nimport { ModelUtilsService } from '../../../../framework/forms/export';\nimport { FormPopupService } from '../../../services/form-popup-service';\nimport { NachrichtService } from \"../../../services/nachricht-service\";\n\n@autoinject\n@transient()\nexport class BewerbungEditUtils {\n constructor(\n public startup: StartupService,\n private _globalizationService: GlobalizationService,\n private _localizationService: LocalizationService,\n private _locationService: LocationService,\n private _nachrichtService: NachrichtService,\n private _personService: PersonService,\n private _stelleninseratService: StelleninseratService,\n private _restService: RestService,\n private _browserService: BrowserService,\n private _modelUtilsService: ModelUtilsService,\n private _formPopupService: FormPopupService\n ) { }\n\n form: FormBase;\n whatsappAktivieren: WhatsappAktivieren;\n isArbeitsbewilligungVorhanden: boolean = true;\n selectedKeys: number[];\n isGeschaeftspartnerSchule: boolean;\n\n requiredValidationRule = { type: \"required\" };\n\n anzahlWunschWochenValidationRule: DevExpress.ui.CustomRule = {\n type: \"custom\",\n validationCallback: (e) => {\n const mindestWochen = this.form.models.data.$m_Bewerbung.Kopf.Stelleninserat.FerialeinsatzEinstellungen.MindesteinsatzWochen;\n if (!mindestWochen) {\n return true;\n }\n e.rule.message = this._localizationService.translateOnce(\"bewerbung-edit-utils.validator-mindesteinsatz-wochen\",\n [mindestWochen]);\n return e.value >= mindestWochen;\n }\n };\n\n einsatzzeitraum1VonCustomValidation: DevExpress.ui.CustomRule = {\n type: \"custom\",\n validationCallback: (e) => {\n const einstellungen = this.getFerialEinstellungen();\n if (!einstellungen\n || !e.value\n || (!einstellungen.BeschaeftigungVon && !einstellungen.BeschaeftigungBis)) {\n return true;\n }\n\n const von = moment(e.value);\n const bis = this.form.models.data.$m_Bewerbung.Kopf.Einsatzzeitraum1Bis;\n const isAlterValid = this.validateMindestAlter(von, einstellungen.Mindestalter);\n\n if (!isAlterValid) {\n e.rule.message = this._localizationService.translateOnce(\"bewerbung-edit-utils.validator-mindestalter\", [einstellungen.Mindestalter])\n return false;\n }\n\n if (einstellungen.BeschaeftigungVon && !von.isSameOrAfter(einstellungen.BeschaeftigungVon, \"day\")) {\n e.rule.message = this._localizationService.translateOnce(\"bewerbung-edit-utils.validator-beschaeftigung-vor\",\n [this._globalizationService.format(einstellungen.BeschaeftigungVon, \"d\")]);\n\n return false;\n } else if (einstellungen.BeschaeftigungBis && von.isSameOrAfter(einstellungen.BeschaeftigungBis, \"day\")) {\n e.rule.message = this._localizationService.translateOnce(\"bewerbung-edit-utils.validator-beschaeftigung-nach\",\n [this._globalizationService.format(einstellungen.BeschaeftigungBis, \"d\")]);\n return false\n } else if (von && bis) {\n const isValid = this.validateMindesteinsatz(von.toDate(), bis);\n if (!isValid) {\n const mindesteinsatz = einstellungen.MindesteinsatzWochen;\n e.rule.message = this._localizationService.translateOnce(\"bewerbung-edit-utils.validator-mindesteinsatz\",\n [mindesteinsatz, mindesteinsatz == 1 ? \"\" : \"n\"]);\n\n return false;\n }\n }\n\n return true;\n }\n };\n einsatzzeitraum1BisCustomValidation: DevExpress.ui.CustomRule = {\n type: \"custom\",\n validationCallback: (e) => {\n const einstellungen = this.getFerialEinstellungen();\n if (!einstellungen\n || !e.value\n || (!einstellungen.BeschaeftigungVon && !einstellungen.BeschaeftigungBis)) {\n return true;\n }\n\n const bis = moment(e.value);\n const von = this.form.models.data.$m_Bewerbung.Kopf.Einsatzzeitraum1Von;\n\n if (einstellungen.BeschaeftigungBis && !bis.isSameOrBefore(einstellungen.BeschaeftigungBis, \"day\")) {\n e.rule.message = this._localizationService.translateOnce(\"bewerbung-edit-utils.validator-beschaeftigung-nach\",\n [this._globalizationService.format(einstellungen.BeschaeftigungBis, \"d\")]);\n\n return false;\n } else if (von && bis.isSameOrBefore(von, \"day\")) {\n e.rule.message = this._localizationService.translateOnce(\"bewerbung-edit-utils.validator-kleiner-als-von\");\n\n return false;\n } else if (von && bis) {\n const isValid = this.validateMindesteinsatz(von, bis.toDate());\n if (!isValid) {\n const mindesteinsatz = einstellungen.MindesteinsatzWochen;\n e.rule.message = this._localizationService.translateOnce(\"bewerbung-edit-utils.validator-mindesteinsatz\",\n [mindesteinsatz, mindesteinsatz == 1 ? \"\" : \"n\"]);\n\n return false;\n }\n }\n\n return true;\n }\n };\n einsatzzeitraum2VonCustomValidation: DevExpress.ui.CustomRule = {\n type: \"custom\",\n validationCallback: (e) => {\n const einstellungen = this.getFerialEinstellungen();\n if (!einstellungen\n || !e.value\n || (!einstellungen.BeschaeftigungVon && !einstellungen.BeschaeftigungBis)) {\n return true;\n }\n\n const von = moment(e.value);\n const bis = this.form.models.data.$m_Bewerbung.Kopf.Einsatzzeitraum2Bis;\n const isAlterValid = this.validateMindestAlter(von, einstellungen.Mindestalter);\n\n if (!isAlterValid) {\n e.rule.message = this._localizationService.translateOnce(\"bewerbung-edit-utils.validator-mindestalter\", [einstellungen.Mindestalter])\n return false;\n }\n\n if (einstellungen.BeschaeftigungVon && !von.isSameOrAfter(einstellungen.BeschaeftigungVon, \"day\")) {\n e.rule.message = this._localizationService.translateOnce(\"bewerbung-edit-utils.validator-beschaeftigung-vor\",\n [this._globalizationService.format(einstellungen.BeschaeftigungVon, \"d\")]);\n\n return false;\n } else if (einstellungen.BeschaeftigungBis && von.isSameOrAfter(einstellungen.BeschaeftigungBis, \"day\")) {\n e.rule.message = this._localizationService.translateOnce(\"bewerbung-edit-utils.validator-beschaeftigung-nach\",\n [this._globalizationService.format(einstellungen.BeschaeftigungBis, \"d\")]);\n return false\n } else if (von && bis) {\n const isValid = this.validateMindesteinsatz(von.toDate(), bis);\n if (!isValid) {\n const mindesteinsatz = einstellungen.MindesteinsatzWochen;\n e.rule.message = this._localizationService.translateOnce(\"bewerbung-edit-utils.validator-mindesteinsatz\",\n [mindesteinsatz, mindesteinsatz == 1 ? \"\" : \"n\"]);\n\n return false;\n }\n }\n\n\n return true;\n }\n };\n einsatzzeitraum2BisCustomValidation: DevExpress.ui.CustomRule = {\n type: \"custom\",\n validationCallback: (e) => {\n const einstellungen = this.getFerialEinstellungen();\n if (!einstellungen\n || !e.value\n || (!einstellungen.BeschaeftigungVon && !einstellungen.BeschaeftigungBis)) {\n return true;\n }\n\n const bis = moment(e.value);\n const von = this.form.models.data.$m_Bewerbung.Kopf.Einsatzzeitraum2Von;\n\n if (einstellungen.BeschaeftigungBis && !bis.isSameOrBefore(einstellungen.BeschaeftigungBis, \"day\")) {\n e.rule.message = this._localizationService.translateOnce(\"bewerbung-edit-utils.validator-beschaeftigung-nach\",\n [this._globalizationService.format(einstellungen.BeschaeftigungBis, \"d\")]);\n\n return false;\n } else if (von && bis.isSameOrBefore(von, \"day\")) {\n e.rule.message = this._localizationService.translateOnce(\"bewerbung-edit-utils.validator-kleiner-als-von\");\n\n return false;\n } else if (von && bis) {\n const isValid = this.validateMindesteinsatz(von, bis.toDate());\n if (!isValid) {\n const mindesteinsatz = einstellungen.MindesteinsatzWochen;\n e.rule.message = this._localizationService.translateOnce(\"bewerbung-edit-utils.validator-mindesteinsatz\",\n [mindesteinsatz, mindesteinsatz == 1 ? \"\" : \"n\"]);\n\n return false;\n }\n }\n\n return true;\n }\n };\n\n beschaeftigungTagOptions: IZitTagOptions = {\n cssClass: \"z--tag-info-message\",\n icon: {\n faIcon: \"fas fa-info-circle\"\n },\n textExpression: `\"bewerbung-edit-utils.einsatzzeitraum-info\" \n | tr:[globalization.format(item.BeschaeftigungVon, \"d\"), globalization.format(item.BeschaeftigungBis, \"d\")]`\n };\n einsatzbereichTagOptions: IZitTagOptions = {\n textExpression: \"item.Einsatzbereich.Einsatzbereich\",\n isClickEnabled: true,\n icon: {\n text: \"EB\"\n }\n };\n mindestDauerMessageTagOptions: IZitTagOptions = {\n cssClass: \"z--tag-info-message\",\n icon: {\n faIcon: \"fas fa-info-circle\"\n },\n textExpression: `\"bewerbung-edit-utils.mindestdauer-info\" \n | tr:[item.MindesteinsatzWochen, \n item.MindesteinsatzWochen == 1 ? '':'n',\n item.MaxEinsatzWochen \n ? localization.translateOnce(\"bewerbung-edit-utils.maximaldauer-info\", [item.MaxEinsatzWochen, item.MaxEinsatzWochen == 1 ? '':'n'])\n : '']`\n };\n beschaeftigungVonBisTagOptions: IZitTagOptions = {\n cssClass: \"z--tag-info-message\",\n icon: {\n faIcon: \"fas fa-info-circle\"\n },\n textExpression: `\"bewerbung-edit-utils.beschaeftigung-info\" \n | tr:[globalization.format(item.BeschaeftigungVon, \"d\"), globalization.format(item.BeschaeftigungBis, \"d\")]`\n };\n mindestalterTagOptions: IZitTagOptions = {\n cssClass: \"z--tag-info-message\",\n icon: {\n faIcon: \"fas fa-info-circle\"\n },\n textExpression: `localization.translateOnce(\"bewerbung-edit-utils.mindestalter-info\", [item.Mindestalter])`\n };\n mindesteinsatzTagOptions: IZitTagOptions = {\n cssClass: \"z--tag-info-message\",\n icon: {\n faIcon: \"fas fa-info-circle\"\n },\n textExpression: `localization.translateOnce(\"bewerbung-edit-utils.mindesteinsatzWochen-info\", [item.MindesteinsatzWochen])`\n };\n maxeinsatzTagOptions: IZitTagOptions = {\n cssClass: \"z--tag-info-message\",\n icon: {\n faIcon: \"fas fa-info-circle\"\n },\n textExpression: `localization.translateOnce(\"bewerbung-edit-utils.maxeinsatzwochen-info\", [item.MaxEinsatzWochen])`\n };\n adresseTagOptions: IZitTagOptions = {\n icon: {\n text: \"A\"\n },\n textExpression: `item | zitAddress:\"short:street\"`\n };\n ausbildungsstartPerTagOptions: IZitTagOptions = {\n icon: {\n text: \"AD\"\n },\n textExpression: `globalization.format(item.AusbildungsstartPer, \"d\")`\n };\n unternehmenTagOptions: IZitTagOptions = {\n icon: {\n text: \"U\"\n },\n textExpression: `item.Subheadline ? item.Subheadline : item.Geschaeftspartner.Geschaeftspartnerdaten.Name1`\n };\n whatsappTagOptions: IZitTagOptions = {\n cssClass: \"z--button z--button-round z--button-tag\",\n icon: {\n faIcon: \"fab fa-whatsapp\"\n },\n text: \"WhatsApp-Channel aktivieren\",\n onClick: (e, data) => {\n const w: WhatsappAktivieren = this.form[\"r_whatsappAktivieren\"];\n w.showPopup();\n }\n };\n bewerbungSchnupperterminTagOptions: IZitTagOptions = {\n isClickEnabled: true,\n textExpression: \"item.SchnupperterminDatum | zitMoment:'wochenTag'\",\n icon: {\n text: \"T\"\n }\n };\n bewerbungPersonStatusTagOptions: IZitTagOptions = {\n textExpression: \"item.ObjektStatus\",\n icon: {\n faIconExpression: \"item.ObjektStatusSymbol\",\n backgroundColorExpression: \"item.ObjektStatusSymbolFarbe\",\n },\n backgroundColorExpression: \"item.ObjektStatusSymbolFarbe\",\n cssClass: \"z--tag-objekt-status-custom\"\n };\n bewerbungPersonFuehrerscheinTagOptions: IZitTagOptions = {\n textExpression: `item.Fuehrerscheinklasse.Bezeichnung \n ? item.Fuehrerscheinklasse.Bezeichnung \n : ' ' | zitRestrictLength:50`,\n icon: {\n textExpression: `item.Fuehrerscheinklasse.Tagtext \n ? item.Fuehrerscheinklasse.Tagtext : 'F'`,\n faIconExpression: \"item.Fuehrerscheinklasse.TagSymbol ? item.Fuehrerscheinklasse.TagSymbol : null\"\n }\n };\n bewerbungPersonGeschaeftspartnerEinsatzTagOptions: IZitTagOptions = {\n textExpression: `item.Jahr \n ? item.Geschaeftspartner.Name1 + ': ' + item.TaetigkeitAbteilung + ' (' + item.Jahr + ')'\n : item.Geschaeftspartner.Name1 + ': ' + item.TaetigkeitAbteilung`,\n icon: {\n text: \"BE\"\n }\n };\n bewerbungPersonSkillTagOptions: IZitTagOptions = {\n textExpression: `item.Text \n ? item.Skill.Bezeichnung + ': ' + item.Text \n : item.Skill.Bezeichnung | zitRestrictLength:50`,\n icon: {\n textExpression: \"!item.Skill.TagSymbol ? 'S/H':''\",\n faIconExpression: \"item.Skill.TagSymbol\"\n }\n };\n bewerbungPersonKontaktTagOptions: IZitTagOptions = {\n icon: {\n faIconExpression: \"item.Kontakttyp.TagSymbol ? item.Kontakttyp.TagSymbol : item.Kontakttyp.Bezeichnung\",\n textExpression: `item.Kontakttyp \n ? item.Kontakttyp.TagSymbol\n ? item.Kontakttyp.TagText \n : item.Kontakttyp.Bezeichnung\n ? item.Kontakttyp.Bezeichnung[0] \n : \"K\"\n : \"K\"`\n },\n textExpression: `item.Wert1 \n ? item.Wert2\n ? item.Wert1 + \" \" + item.Wert2\n : item.Wert1\n : \"\"`,\n infoList: [{\n isVisibleExpression: \"item.Wichtig\",\n icon: {\n faIcon: \"fas fa-exclamation\"\n }\n }]\n };\n bewerbungPersonBerufTagOptions: IZitTagOptions = {\n textExpression: `item.Beruf.Bezeichnung && item.Erfahrungsjahre && item.ZuletztTaetig\n ? item.Beruf.Bezeichnung + ' | EJ: ' + item.Erfahrungsjahre + ' | ZT: ' + item.ZuletztTaetig\n : item.Erfahrungsjahre\n ? item.Beruf.Bezeichnung + ' | EJ: ' + item.Erfahrungsjahre\n : item.ZuletztTaetig\n ? item.Beruf.Bezeichnung + ' | ZT: ' + item.ZuletztTaetig\n : item.Beruf.Bezeichnung`,\n icon: {\n text: \"B\"\n },\n infoList: [{\n isVisibleExpression: \"item.IdBerufQualifikation\",\n icon: {\n textExpression: \"item.BerufQualifikation.TagText ? item.BerufQualifikation.TagText : null\",\n faIconExpression: \"item.BerufQualifikation.TagSymbol ? item.BerufQualifikation.TagSymbol : null\"\n }\n },\n {\n isVisibleExpression: \"item.IdAusbildungAbschluss\",\n icon: {\n faIconExpression: \"item.AusbildungAbschluss.TagSymbol ? item.AusbildungAbschluss.TagSymbol : null\"\n }\n }]\n };\n zugeteilteSchnupperterminTagOptions: IZitTagOptions = {\n isClickEnabled: true,\n textExpression: \"item.Bezeichnung\",\n icon: {\n text: \"E\"\n },\n onClick: (e, data) => {\n this._locationService.goTo({\n url: `#Objekte/EventTeilnehmer/${data.IdEventTeilnehmer}`\n });\n }\n };\n abschliessenCommand: ICommandData = {\n id: \"abschliessenCommand\",\n icon: \"fas fa-check\",\n tooltip: \"bewerbung-edit-utils.abschliessen\",\n sortIndex: 1600,\n execute: () => {\n this.onBewerbungAbschliessen();\n }\n };\n actionCommand: ICommandData = {\n id: \"actionCommand\",\n icon: \"fas fa-share-alt\",\n tooltip: \"zit.aktionen\",\n sortIndex: 99,\n isVisibleExpression: \"r_share.canShare\",\n execute: (executeOptions) => {\n const share: Share = this.form[\"r_share\"];\n share.showCtxMenu(executeOptions.event);\n }\n };\n bewerbungEinsatzbereichCommand: ICommandData = {\n id: \"bewerbungEinsatzbereichCommand\",\n tooltip: \"bewerbung-edit-utils.uebernehmen\",\n icon: \"fas fa-check\",\n sortIndex: 1600,\n execute: () => {\n this.onBewerbungEinsatzbereichPrüfen();\n }\n };\n statusAendernPopupCommand: ICommandData = {\n id: \"statusAenderPopupCommand\",\n icon: \"fas fa-pencil-alt\",\n title: \"bewerbung-edit-utils.status-aendern-popup\",\n isVisibleExpression: \"functions.$f_BewerbungEditUtils.isStatusAendernVisible\",\n sortIndex: 450,\n execute: () => {\n const statusAendern: StatusAendern = this.form[\"r_statusAendern\"];\n this.selectedKeys = this.getSelectedKeys();\n statusAendern.showPopup(this.onStatusGeaendert.bind(this));\n }\n };\n personToolbarOptions: IZitToolbarOptions = {\n title: \"bewerbung-edit-utils.person-toolbar-title\",\n smallToolbar: true,\n items: [{\n id: \"bewerbungPersonCommand\",\n icon: \"fas fa-pencil-alt\",\n execute: (e) => {\n this._locationService.goTo({\n url: `#Objekte/Person/${this.form.models.data.$m_Bewerbung.Kopf.Person.Id}?mode=1`\n });\n }\n }]\n }; \n\n trainerTagOptions: IZitTagOptions = {\n icon: {\n textExpression: \"item.Ansprechperson.FunktionTagText\"\n },\n textExpression: \"item.Ansprechperson.Titel\",\n infoList: [{\n backgroundColorExpression: \"item.IsGueltig ? 'green' : 'red'\",\n color: \"transparent\",\n icon: {\n faIcon: \"fas fa-circle\"\n }\n }, {\n icon: {\n faIcon: \"fas fa-pencil-alt\"\n },\n onClick: (ev, data) => {\n ev.preventDefault();\n ev.stopPropagation();\n\n this.trainerEdit(data);\n }\n }],\n onClick: (_, data) => {\n this._locationService.goTo({\n url: `Objekte/Ansprechperson/${data.IdAnsprechperson}`,\n currentViewModel: this.form\n })\n }\n }\n\n @computedFrom(\"canChangeStatus\")\n get isStatusAendernVisible() {\n return this.startup.startupInfo.Benutzer.CanStatusAendern\n && this.canChangeStatus\n && !this._browserService.isMobile;\n }\n\n @computedFrom(\"form.models.data.$m_Bewerbung\")\n get canChangeStatus(): boolean {\n if (!this.form.models.data.$m_Bewerbung) {\n return true;\n }\n\n return !!this.form.models.data.$m_Bewerbung._CanChangeObjektStatus;\n }\n\n @computedFrom(\"form.models.data.$m_Bewerbung.CanSave\")\n get canUpdateTrainer() {\n if (this.startup.startupInfo.Benutzer.Benutzertyp == BenutzerTyp.NatuerlichePerson) {\n return false;\n }\n\n if (!this.form.models.data.$m_Bewerbung) {\n return false;\n }\n if (!this.form.models.data.$m_Bewerbung.CanSave) {\n return false;\n }\n\n return true;\n }\n\n bind(form: FormBase) {\n this.form = form;\n form.models.onLoaded.register((args) => {\n if (args.model && args.model.id == \"$m_Bewerbung\" && args.data) {\n this.updateTrainerTagDeleteClick();\n this.getArbeitsbewilligung();\n args.data[\"_showSchnupperLehre\"] = this.getSchnupperLehre(args.data);\n\n this.isGeschaeftspartnerSchule = args.data.Id \n && args.data.Kopf \n && args.data.Kopf.Stelleninserat\n && args.data.Kopf.Stelleninserat.Kopf\n && args.data.Kopf.Stelleninserat.Kopf.Geschaeftspartner\n && args.data.Kopf.Stelleninserat.Kopf.Geschaeftspartner.Geschaeftspartnerdaten\n && args.data.Kopf.Stelleninserat.Kopf.Geschaeftspartner.Geschaeftspartnerdaten.IsGeschaeftspartnerSchule;\n }\n\n return Promise.resolve();\n });\n\n form.models.onSaved.register((args) => {\n if (args.model.id !== \"$m_Bewerbung\") {\n return;\n }\n const data = args.data;\n\n if (data.Kopf\n && data.Kopf.Stelleninserat\n && data.Kopf.Stelleninserat.FerialbewerbungFragebogen\n && data.Kopf.Stelleninserat.FerialbewerbungFragebogen.Einsatzbereich\n && data.Kopf.Einsatzbereiche\n && data.Kopf.Einsatzbereiche.length === 0) {\n this.form[\"r_bewerbungEinsatzbereichPopup\"].instance.show()\n } else if (data.Kopf\n && data.Kopf.Stelleninserat\n && (!data.Kopf.Stelleninserat.FerialbewerbungFragebogen\n || !data.Kopf.Stelleninserat.FerialbewerbungFragebogen.Einsatzbereich\n || !data.Kopf.Einsatzbereiche || data.Kopf.Einsatzbereiche.length > 0)) {\n const popup = this.form[\"r_bewerbungAbgeschlossenPopup\"];\n if (!popup || !popup.instance) {\n return;\n }\n\n popup.instance.show()\n }\n return Promise.resolve();\n });\n\n form.onEditorValueChanged.register(async (args) => {\n if (args.binding.dataContext === \"$m_Bewerbung\") {\n if (args.binding.bindTo === \"Kopf.IdStelleninserat\") {\n this.form.models.data.$m_Bewerbung.Kopf.Stelleninserat = await this.loadStelleninseratData(args.value);\n }\n if (args.binding.bindTo === \"Kopf.IdPerson\") {\n this.form.models.data.$m_Bewerbung.Kopf.Person = await this.loadPersonData(args.value);\n }\n }\n return Promise.resolve();\n });\n\n if (this.startup.startupInfo.Benutzer.Benutzertyp == BenutzerTyp.NatuerlichePerson) {\n this.form.callOnBind(() => {\n if (this.form[\"r_geschaeftspartnerPersonalNrOptions\"]) {\n this.form[\"r_geschaeftspartnerPersonalNrOptions\"].readOnly = true;\n }\n });\n }\n }\n\n getSchnupperLehre(data: any): boolean {\n if (data.Kopf.Stelleninserat && data.Kopf.Stelleninserat.Kopf.CanSchnuppertermin) {\n return true;\n }\n if (data.Kopf.IsBewerbungSchnuppertermin || data.Kopf.IsBewerbungLehrstelle) {\n return true;\n }\n\n return false;\n }\n\n getArbeitsbewilligung() {\n return this._restService.get({\n url: `${this._restService.getApiUrl(\"ZIT/Stammdaten/ArbeitsbewilligungVorhanden?idBewerbung\")}=${this.form.models.data.$m_Bewerbung.Id}`,\n }).then((r) => {\n this.isArbeitsbewilligungVorhanden = r;\n });\n }\n isAnsichtDesktop() {\n return !this._browserService.isMobile;\n }\n\n onTrainerAddClick() {\n if (!this.form.models.data.$m_Bewerbung.Kopf.Stelleninserat) {\n DevExpress.ui.notify(\"Bitte zuerst Stelleninserat auswählen und speichern\", \"error\", 3000);\n return;\n }\n\n this.trainerEdit();\n }\n async onBenachrichtigungsartClick() {\n const idPerson = this.form.models.data.$m_Bewerbung?.Kopf?.IdPerson;\n if (!idPerson) return;\n \n const info = await this._nachrichtService.getBenutzerFromObjekt(\n \"TIP.ZIT.Business.Entities.Objekte.Personen.Person\",\n idPerson\n );\n\n if (!info) return;\n\n this._nachrichtService.goToNachrichtList(info, this.form);\n }\n\n private getFerialEinstellungen() {\n const data = this.form.models.data.$m_Bewerbung;\n const einstellungen = data.Kopf.Stelleninserat && data.Kopf.Stelleninserat.FerialeinsatzEinstellungen\n ? data.Kopf.Stelleninserat.FerialeinsatzEinstellungen\n : undefined;\n\n return einstellungen;\n }\n private goToDashboard() {\n this._locationService.goTo({\n url: \"ZIT/Home/Index\",\n clearStack: true,\n replace: true\n });\n }\n private trainerEdit(d?: any) { \n const initialData: any = {\n gueltigVon: moment().startOf(\"day\").toDate(),\n gueltigBis: moment(new Date(2099, 11, 31)).startOf(\"day\").toDate()\n };\n\n if (d) {\n initialData.gueltigVon = d.GueltigVon;\n initialData.gueltigBis = d.GueltigBis;\n initialData.item = d.Ansprechperson;\n }\n\n this._formPopupService.formPopup.show({\n titel: this._localizationService.translateOnce(\"zit.trainer\"),\n data: initialData,\n formDef: \"ansprechpersonMitGueltigkeit\",\n webApiFilters: [{\n webApiCustomKey: \"IdGeschaeftspartner\",\n webApiCustomValue: this.form.models.data.$m_Bewerbung.Kopf.Stelleninserat.Kopf.IdGeschaeftspartner\n }],\n onFormSubmit: (data) => {\n if (!this.form.models.data.$m_Bewerbung.Kopf.BewerbungTrainer) {\n this.form.models.data.$m_Bewerbung.Kopf.BewerbungTrainer = [];\n }\n\n const u = {\n IdAnsprechperson: data.item.Id,\n Ansprechperson: {\n Id: data.item.Id,\n Titel: data.item.Titel,\n FunktionTagText: data.item.FunktionTagText\n },\n GueltigVon: data.gueltigVon,\n GueltigBis: data.gueltigBis,\n IsGueltig: data.gueltigVon.getTime() <= new Date().getTime() \n && data.gueltigBis.getTime() >= new Date().getTime()\n };\n\n if (d) {\n Object.assign(d, u);\n } else {\n const exists = this.form.models.data.$m_Bewerbung.Kopf.BewerbungTrainer.some(t => t.IdAnsprechperson == data.item.Id);\n if (exists) {\n return;\n }\n\n this.form.models.data.$m_Bewerbung.Kopf.BewerbungTrainer.push(u);\n }\n\n this._modelUtilsService.setDirty(this.form.models.data.$m_Bewerbung);\n }\n });\n }\n\n private onBewerbungEinsatzbereichPrüfen() {\n const bewerbungEinsatzbereichPopup: IdxPopupComponent = this.form[\"r_bewerbungEinsatzbereichPopup\"];\n bewerbungEinsatzbereichPopup.instance.hide();\n }\n private onBewerbungAbschliessen() {\n const bewerbungAbgeschlossenPopup: IdxPopupComponent = this.form[\"r_bewerbungAbgeschlossenPopup\"];\n bewerbungAbgeschlossenPopup.instance.hide();\n this.goToDashboard();\n }\n\n private validateMindesteinsatz(vonDate: Date, bisDate: Date): boolean {\n const einstellungen = this.getFerialEinstellungen();\n if (!einstellungen) {\n return true;\n }\n const von = moment(vonDate).startOf(\"day\");\n const bis = moment(bisDate).startOf(\"day\");\n const totalWunschTage = bis.diff(von, \"days\") + 1;\n\n let minTage = einstellungen.MindesteinsatzWochen * 5;\n\n minTage += 2 * einstellungen.MindesteinsatzWochen;\n\n if (von.weekday() == 1) {\n minTage -= 2\n }\n\n return totalWunschTage >= minTage;\n }\n private validateMindestAlter(mindestAb: moment.Moment, mindestAlter: number): boolean {\n if (!mindestAb) {\n return true;\n }\n\n const noPersonSelected = this.form.models.data.$m_Bewerbung.Kopf.IdPerson == void 0;\n if (noPersonSelected) {\n return true;\n }\n const geborenAm = this.form.models.data.$m_Bewerbung.Kopf.Person.Personendaten.Geburtsdatum;\n if (!geborenAm || !mindestAb || !mindestAlter) {\n return true;\n }\n\n const gebDatum = moment(geborenAm).startOf(\"day\");\n\n return mindestAb.diff(gebDatum, \"years\") >= mindestAlter;\n }\n\n private loadPersonData(idPerson: number): Promise {\n if (!idPerson) {\n return;\n }\n\n const getOptions = { expand: { Personendaten: null } };\n\n return this._personService.getPerson(idPerson, getOptions);\n }\n private loadStelleninseratData(idStelleninserat: number): Promise {\n if (!idStelleninserat) {\n return;\n }\n\n const getOptions = { expand: { FerialbewerbungFragebogen: null, Kopf: null, FerialeinsatzEinstellungen: null } };\n\n return this._stelleninseratService.getStelleninserat(idStelleninserat, getOptions);\n }\n private onStatusGeaendert(r: IStatusChangeResultData) {\n if (!r.IsValid) {\n DevExpress.ui.dialog.alert(r.Message, this._localizationService.translateOnce(\"bewerbung-edit-utils.fehler\"));\n } else {\n this.form.models.reloadAll();\n }\n }\n private getSelectedKeys(): number[] {\n let selectedRowKeys: any[];\n\n if (this.form.models.data.$m_Bewerbung) {\n return [this.form.models.data.$m_Bewerbung.Id];\n } else {\n return [];\n }\n }\n private updateTrainerTagDeleteClick() {\n if (this.canUpdateTrainer) {\n this.trainerTagOptions.onDeleteClick = (_, data) => {\n const index = this.form.models.data.$m_Bewerbung.Kopf.BewerbungTrainer.indexOf(data);\n if (index < 0) {\n return;\n }\n\n this.form.models.data.$m_Bewerbung.Kopf.BewerbungTrainer.splice(index, 1);\n this._modelUtilsService.setDirty(this.form.models.data.$m_Bewerbung);\n };\n } else {\n delete this.trainerTagOptions.onDeleteClick;\n }\n }\n}\n","import { autoinject } from \"aurelia-framework\";\n\n@autoinject\nexport class ObjectService {\n constructor() {}\n\n mergeDeep(target, ...sources) {\n if (!sources.length) {\n return target\n }\n\n const source = sources.shift();\n if (this.isObject(target) && this.isObject(source)) {\n for (const key in source) {\n if (this.isObject(source[key])) {\n if (!target[key]) {\n Object.assign(target, { [key]: {} });\n }\n\n this.mergeDeep(target[key], source[key]);\n } else {\n Object.assign(target, { [key]: source[key] });\n }\n }\n }\n \n return this.mergeDeep(target, ...sources);\n }\n isObject(item) {\n return (item \n && typeof item === \"object\"\n && !Array.isArray(item));\n }\n\n getValue(obj: any, propertyName: string): any {\n const tokens = propertyName.split(\".\");\n\n for (let i = 0; i < tokens.length; i++) {\n const token = tokens[i];\n\n if (i + 1 === tokens.length) {\n return obj[token];\n } \n\n obj = obj[token];\n if (!obj) {\n return;\n }\n }\n\n return null;\n }\n setValue(obj: any, propertyName: string, value: any, createObjectIfMissing: boolean = false) {\n const tokens = propertyName.split(\".\");\n\n for (let i = 0; i < tokens.length; i++) {\n const token = tokens[i];\n\n if (i + 1 === tokens.length) {\n obj[token] = value;\n } else {\n let newObj = obj[token];\n\n if (newObj == void(0)) {\n if (createObjectIfMissing) {\n newObj = {};\n obj[token] = newObj;\n } else {\n return;\n }\n }\n\n obj = newObj;\n }\n }\n }\n}\n","import { autoinject } from 'aurelia-framework';\nimport { RestService } from './../../framework/base/services/export';\n\n@autoinject\nexport class GeschaeftspartnerService {\n constructor(\n private rest: RestService\n ) { }\n\n saveGruppierung(data: any) {\n return this.rest.post({\n url: this.rest.getWebApiUrl(\"ZIT/Stammdaten/GeschaeftspartnerGruppierung\"),\n data: data,\n increaseLoadingCount: true\n });\n }\n saveEntlohnungsschema(data: any) {\n return this.rest.post({\n url: this.rest.getWebApiUrl(\"ZIT/Stammdaten/Entlohnungsschema\"),\n data: data,\n increaseLoadingCount: true\n });\n }\n deleteEntlohnungsschema(id: number) {\n return this.rest.delete({\n url: this.rest.getWebApiUrl(\"ZIT/Stammdaten/Entlohnungsschema\"),\n id: id,\n increaseLoadingCount: true\n });\n }\n deleteGruppierung(id: number) {\n return this.rest.delete({\n url: this.rest.getWebApiUrl(\"ZIT/Stammdaten/GeschaeftspartnerGruppierung\"),\n id: id,\n increaseLoadingCount: true\n });\n }\n}\n","import { autoinject } from \"aurelia-framework\";\nimport { FormPopup } from '../elements/form-popup/form-popup';\n\n@autoinject\nexport class FormPopupService {\n constructor() {}\n\n formPopup: FormPopup;\n}","\nimport { autoinject } from 'aurelia-framework';\nimport { RestService, FileService } from '../../framework/base/export';\nimport { HeaderService } from '../../framework/default-ui/services/header-service';\nimport { AuthorizationService } from '../../framework/base/services/authorization-service';\nimport { StartupService } from './startup-service';\nimport { EventAggregator } from 'aurelia-event-aggregator';\n\n@autoinject\nexport class AvatarService {\n constructor(\n private _restService: RestService,\n private _headerService: HeaderService,\n private _authorizationService: AuthorizationService,\n private _startupService: StartupService,\n private _fileService: FileService,\n private _eventAggregator: EventAggregator\n ) {\n this._eventAggregator.subscribe(\"avatar:update\", () => {\n this.updateAvatarUrl();\n });\n\n this.updateAvatarUrl();\n }\n\n private updateAvatarUrl() {\n let authKey = this._authorizationService.getAuthorizationKey();\n if (authKey && this._startupService.startupInfo.Benutzer.DMSLinkAvatar) {\n this._headerService.avatarUrl = this._fileService.getInlineUrl(this._startupService.startupInfo.Benutzer.DMSLinkAvatar);\n } else {\n this._headerService.avatarUrl = null;\n }\n }\n}\n","import { autoinject, transient } from \"aurelia-framework\";\nimport { FormBase } from \"../../../../framework/forms/classes/form-base\";\n\n@autoinject\n@transient()\nexport class EventLinkAnmeldungEditUtils {\n constructor() {\n }\n \n form: FormBase;\n \n bind(form: FormBase) {\n this.form = form;\n }\n}\n","import { autoinject, transient } from \"aurelia-framework\";\nimport { LocalizationService, RestService } from \"../../../framework/base/export\";\nimport { DialogConfirmService, FormBase, ICommandData } from \"../../../framework/forms/export\";\nimport { SchnupperterminErstellen } from \"../../elements/schnuppertermin-erstellen/schnuppertermin-erstellen\";\nimport { IdxPopupComponent, IdxValidationGroupComponent } from \"../../interfaces/export\";\nimport { StartupService } from \"../../services/export\";\nimport { NachrichtService } from \"./../../services/nachricht-service\";\n\n@autoinject\n@transient()\nexport class SchnupperterminAnlageGpUtils {\n private NOTIFY_TIMEOUT: number = 3000;\n\n constructor(\n public startupService: StartupService,\n private _restService: RestService,\n private _dialogConfirmService: DialogConfirmService,\n private _localizationService: LocalizationService,\n private _nachrichtService: NachrichtService\n ) {\n this.isKundeSchule = startupService.startupInfo.Benutzer.CodeBenutzerrolle == \"ADMIN\"\n || startupService.startupInfo.Benutzer.CodeBenutzerrolle == \"KUNDE-SCHULE\";\n }\n\n isKundeSchule: boolean = false;\n model: any;\n form: FormBase;\n\n aehnlicheGpList: any[] = [];\n\n anlageGpCommand: ICommandData = {\n id: \"anlageGpCommand\",\n icon: \"fas fa-plus\",\n sortIndex: 9000,\n isVisibleExpression: \"functions.$f_SchnupperterminAnlageGpUtils.isKundeSchule\",\n execute: async() => {\n this.resetModel();\n this.aehnlicheGpList = [];\n\n const r = await this._restService.get({\n url: this._restService.getApiUrl(\"ZIT/Stammdaten/AnlageGpStelleninseratRequest\"),\n increaseLoadingCount: true\n });\n\n if (r) {\n if (r.Landvorwahl) {\n this.model.Vorwahl = r.Landvorwahl;\n this.model.ApVorwahl = r.Landvorwahl;\n this.model.ApMobilVorwahl = r.Landvorwahl;\n }\n if (r.IdLand) {\n this.model.IdLand = r.IdLand;\n }\n }\n\n const popup: IdxPopupComponent = this.form[\"r_gpAnlage\"];\n popup.instance.show();\n }\n };\n saveGpCommand: ICommandData = {\n id: \"saveGpCommand\",\n icon: \"fas fa-save\",\n sortIndex: 9000,\n execute: async() => {\n const validationGroup: IdxValidationGroupComponent = this.form[\"r_gpValidationGroup\"];\n const validationResult = validationGroup.instance.validate();\n\n if (!validationResult || !validationResult.isValid) {\n DevExpress.ui.notify(\n validationResult.brokenRules[0].message,\n \"ERROR\",\n this.NOTIFY_TIMEOUT\n );\n\n return;\n }\n\n const r = await this._restService.post({\n url: this._restService.getApiUrl(\"ZIT/Stammdaten/AnlageGpStelleninserat\"),\n data: this.model,\n increaseLoadingCount: true\n });\n\n if (r.IdStelleninserat) {\n const dialogResult = await this._dialogConfirmService.show({\n title: this._localizationService.translateOnce(\"base.question\"),\n message: this._localizationService.translateOnce(\"schnuppertermin.frage-schnuppertermin-erstellen\")\n });\n\n if (dialogResult) {\n const schnupperterminErstellen: SchnupperterminErstellen = this.form[\"r_schnupperterminErstellenElement\"];\n schnupperterminErstellen.show({\n idStelleninserat: r.IdStelleninserat\n });\n }\n }\n\n const popup: IdxPopupComponent = this.form[\"r_gpAnlage\"];\n popup.instance.hide();\n }\n };\n\n bind(form: FormBase) {\n this.form = form;\n this.resetModel();\n\n form.callOnBind(() => {\n const strasseOptions: DevExpress.ui.dxTextBoxOptions = form[\"r_gpStrasseOptions\"];\n strasseOptions.onValueChangedByUser = () => this.checkAehnlicheGeschaeftspartner();\n\n const plzOptions: DevExpress.ui.dxTextBoxOptions = form[\"r_gpPlzOptions\"];\n plzOptions.onValueChangedByUser = () => this.checkAehnlicheGeschaeftspartner();\n });\n }\n\n onNachrichtErstellenTeamClick() {\n this._nachrichtService.doNachrichtErstellenFromObjekt([{\n IdObjekt: 0,\n IdObjektRef: 0\n }], \"TIP.ZIT.Business.Entities.Objekte.Ansprechpersonen.Ansprechperson\");\n }\n\n private async checkAehnlicheGeschaeftspartner() {\n this.aehnlicheGpList = [];\n\n if (!this.model.Strasse || !this.model.Plz) {\n return;\n }\n\n const r = await this._restService.post({\n url: this._restService.getApiUrl(\"ZIT/Stammdaten/GeschaeftspartnerAehnlich\"),\n data: {\n Strasse: this.model.Strasse,\n Plz: this.model.Plz\n }\n });\n\n if (r && r.ItemList) {\n this.aehnlicheGpList = r.ItemList;\n }\n }\n private resetModel() {\n this.model = {\n ApTeam: \"Personalabteilung\"\n };\n }\n}\n","import {\n autoinject\n} from \"aurelia-framework\";\nimport {\n EventAggregator\n} from \"aurelia-event-aggregator\";\nimport {\n ViewItem\n} from \"../classes/view-item\";\nimport {\n LocalizationService\n} from \"../../base/services/export\";\nimport * as Interfaces from \"../interfaces/export\";\nimport { FormBase } from '../classes/form-base';\nimport { IHistoryState } from '../export';\nimport { TemplatingExService } from '../../base/services/templating-ex-service';\nimport { INavigationRoute } from '../interfaces/export';\n\n@autoinject\nexport class RouterService {\n private routes: Interfaces.IRoute[] = [];\n private fallbackRoute: string;\n private routeInfoId = 0;\n\n constructor(\n private localization: LocalizationService,\n private eventAggregator: EventAggregator,\n private templatingExService: TemplatingExService\n ) {\n this.registerAppChanging();\n this.registerShortcuts();\n this.registerTitleChanged();\n }\n\n navigationRoutes: Interfaces.INavigationRoute[];\n viewStack: ViewItem[] = [];\n currentViewItem: ViewItem;\n\n constructUrl(route: Interfaces.IRoute, parameters: any): string {\n let url = Array.isArray(route.route)\n ? route.route[0]\n : route.route;\n\n for (let parameter in parameters) {\n url = url.replace(new RegExp(`/:${parameter}`), `/${parameters[parameter]}`)\n }\n\n return url;\n }\n async canDeactivateCurrentView(): Promise {\n if (!this.currentViewItem || !this.currentViewItem.controller) {\n return true;\n }\n\n const currentViewModel = this.currentViewItem.controller[\"currentViewModel\"];\n if (currentViewModel && typeof currentViewModel.handleChangedData === \"function\") {\n const result = await currentViewModel.handleChangedData();\n\n return result == void (0) || result;\n } else {\n return true;\n }\n }\n deactivate() {\n }\n existsNavigationRoute(url: string) {\n return this.navigationRoutes.some(r => {\n return this.existsNavigationRouteEx(url, r);\n })\n }\n getCurrentHistoryState(): IHistoryState {\n if (!this.currentViewItem) {\n return null;\n }\n\n return {\n id: this.currentViewItem.model.routeInfo.id,\n url: this.currentViewItem.model.routeInfo.url,\n caption: this.currentViewItem.title\n }\n }\n getRoute(url: string): Interfaces.IRouteInfo {\n const indexQuestionMark = url.indexOf(\"?\");\n const defaultParameters = {};\n if (indexQuestionMark >= 0) {\n url = url.substr(0, indexQuestionMark);\n }\n\n const searchRouteInfo = (routes: Interfaces.IRoute[]) => {\n for (const route of routes) {\n const routeInfo = this.isRoute(route, url)\n || searchRouteInfo(route.children);\n\n if (routeInfo == void (0)) {\n continue;\n }\n\n return routeInfo;\n }\n\n return null;\n }\n\n const routeInfo = searchRouteInfo(this.routes);\n if (routeInfo != void (0)) {\n return routeInfo;\n }\n\n const fallbackRoute = this.getFallbackRoute();\n const route = Array.isArray(fallbackRoute.route)\n ? fallbackRoute.route[0]\n : fallbackRoute.route;\n\n return {\n id: this.routeInfoId++,\n route: fallbackRoute,\n parameters: {},\n url: route,\n isFallback: true\n };\n }\n hasRouteWithId(id: number): boolean {\n return this.viewStack.some(v => {\n return v.model.routeInfo.id == id;\n });\n }\n async navigate(navigationArgs: Interfaces.INavigationArgs): Promise {\n if (navigationArgs.clearStack || navigationArgs.replace) {\n const canDeactivate = await this.canDeactivateCurrentView();\n\n if (!canDeactivate) {\n return false;\n }\n }\n\n const routeInfo = this.getRoute(navigationArgs.url);\n if (routeInfo == void (0)) {\n return false;\n }\n\n routeInfo.setValuesOnModelWithKeyIdLoaded = navigationArgs.setValuesOnModelWithKeyIdLoaded;\n routeInfo.customOptions = navigationArgs.customOptions;\n\n const routerInterceptorArgs = {\n routeInfo: routeInfo,\n moduleIdPromise: >null\n };\n\n Object.assign(routeInfo.parameters, this.getParameters(navigationArgs.url));\n \n if (navigationArgs.historyState) {\n routeInfo.id = navigationArgs.historyState.id;\n }\n \n this.eventAggregator.publish(\"router:intercept-route\", routerInterceptorArgs);\n\n let moduleId = routeInfo.route.moduleId;\n if (routerInterceptorArgs.moduleIdPromise) {\n moduleId = await routerInterceptorArgs.moduleIdPromise;\n if (!moduleId) {\n return false;\n }\n }\n\n const routerCanNavigateArgs = {\n routeInfo: routeInfo,\n moduleId: moduleId,\n cancel: false\n };\n\n this.eventAggregator.publish(\"router:can-navigate\", routerCanNavigateArgs);\n if (routerCanNavigateArgs.cancel) {\n return false;\n }\n\n navigationArgs.routeInfo = routeInfo;\n\n if (navigationArgs.clearStack) {\n this.viewStack.splice(0, this.viewStack.length);\n } else if (this.viewStack.length > 1 && this.viewStack[this.viewStack.length - 2].model.routeInfo.id === routeInfo.id) {\n this.removeLastViewItem();\n navigationArgs.didReplace = true;\n return true;\n } else if (this.viewStack.length > 0 && navigationArgs.replace) {\n this.viewStack.splice(this.viewStack.length - 1, 1);\n navigationArgs.didReplace = true;\n }\n\n const newViewItem = new ViewItem({\n routeInfo: routeInfo,\n moduleId: moduleId,\n viewScrollInfo: navigationArgs.viewScrollInfo\n });\n this.addViewItem(newViewItem);\n\n this.eventAggregator.publish(\"router:view-item-created\", {\n viewItem: newViewItem\n });\n\n return true;\n }\n registerRoutes(routes: Interfaces.IRoute[], fallbackRoute: string) {\n routes = routes || [];\n\n this.routes = this.validateRoutes(routes);\n this.fallbackRoute = fallbackRoute;\n\n this.navigationRoutes = this.getNavigationRoutes(routes);\n }\n reset() {\n this.viewStack.splice(0, this.viewStack.length);\n this.navigationRoutes = [];\n }\n removeLastViewItem() {\n const length = this.viewStack.length;\n const view = this.viewStack[length - 1];\n this.viewStack.splice(length - 1);\n \n this.setCurrentViewItem();\n\n if (this.currentViewItem) {\n const currentViewModel = this.currentViewItem.controller[\"currentViewModel\"];\n if (currentViewModel && typeof currentViewModel.reactivate === \"function\") {\n currentViewModel.reactivate();\n }\n }\n\n this.eventAggregator.publish(\"router:view-item-removed\", {\n viewItem: view\n });\n }\n updateCurrentUrl(url: string) {\n const canUpdateUrl = this.currentViewItem\n && this.currentViewItem.model\n && this.currentViewItem.model.routeInfo;\n\n if (!canUpdateUrl) {\n return;\n }\n\n this.currentViewItem.model.routeInfo.url = url;\n }\n\n private addViewItem(viewItem: ViewItem) {\n this.viewStack.push(viewItem);\n this.setCurrentViewItem();\n\n setTimeout(() => {\n viewItem.isAttached = true;\n }, 100);\n }\n private getFallbackRoute(): Interfaces.IRoute {\n if (!this.fallbackRoute) {\n return null;\n }\n\n const getRoute = (routes: Interfaces.IRoute[]): Interfaces.IRoute => {\n for (const route of routes) {\n if ((route.route).some(r => r === this.fallbackRoute)) {\n return route;\n }\n\n const childRoute = getRoute(route.children);\n if (childRoute) {\n return childRoute;\n }\n }\n };\n\n const fallbackRoute = getRoute(this.routes);\n if (!fallbackRoute) {\n throw new Error(\"Fallback route not found\");\n }\n\n return fallbackRoute;\n }\n private getNavigationRoutes(routes: Interfaces.IRoute[]): Interfaces.INavigationRoute[] {\n const result: Interfaces.INavigationRoute[] = [];\n\n for (const route of routes) {\n if (!route.navigation) {\n continue;\n }\n if (!route.canActivate()) {\n continue;\n }\n\n const navigationRoute: Interfaces.INavigationRoute = {\n caption: route.caption,\n route: route.route[0],\n navigation: route.navigation,\n children: this.getNavigationRoutes(route.children)\n };\n\n if (navigationRoute.route || (navigationRoute.children && navigationRoute.children.length > 0)) {\n result.push(navigationRoute);\n }\n }\n\n return result;\n }\n private getParameters(url: string): any {\n const result = {};\n\n const indexQuestionMark = url.indexOf(\"?\");\n if (indexQuestionMark < 0) {\n return result;\n }\n\n const parameterString = url.substr(indexQuestionMark + 1);\n const parameters = parameterString.split(\"&\");\n\n for (const parameter of parameters) {\n const parts = parameter.split(\"=\");\n\n if (parts.length == 1) {\n result[parts[0]] = true;\n } else {\n result[parts[0]] = parts[1];\n }\n }\n\n return result;\n }\n private isRoute(route: Interfaces.IRoute, url: string): Interfaces.IRouteInfo {\n if (route.route == void (0)) {\n return null;\n }\n\n if (Array.isArray(route.route)) {\n for (const part of route.route) {\n const result = this.isRoutePattern(part, url);\n\n if (result == void (0)) {\n continue;\n } else if (!route.canActivate()) {\n continue;\n } else {\n return {\n id: this.routeInfoId++,\n route: route,\n parameters: result,\n url: url\n };\n }\n }\n\n return null;\n } else {\n throw new Error()\n }\n }\n private isRoutePattern(route: string, url: string): any {\n if (!route) {\n return null;\n }\n\n const routeParts = route.split(\"/\");\n const urlParts = url.split(\"/\");\n const parameters: any = {};\n\n if (routeParts.length !== urlParts.length) {\n return null;\n }\n\n for (let i = 0; i < urlParts.length; i++) {\n if (routeParts[i].startsWith(\":\")) {\n let routePart = routeParts[i];\n const indexOfBracket = routePart.indexOf(\"{\");\n const lastIndexOfBrack = routePart.lastIndexOf(\"}\");\n\n if (indexOfBracket >= 0 && lastIndexOfBrack >= 0) {\n let r = routePart.substring(indexOfBracket + 1, lastIndexOfBrack);\n routePart = routePart.substr(0, indexOfBracket);\n\n if (!new RegExp(`^${r}$`).test(urlParts[i])) {\n return null;\n }\n }\n\n parameters[routePart.substr(1)] = urlParts[i];\n }\n else if (urlParts[i] !== routeParts[i]) {\n return null;\n }\n }\n\n return parameters;\n }\n private validateRoutes(routes: Interfaces.IRoute[]): Interfaces.IRoute[] {\n for (const route of routes) {\n if (route.route == void (0)) {\n route.route = \"\";\n }\n\n if (typeof route.route === \"string\") {\n route.route = [route.route];\n }\n\n if (route.canActivate == void (0)) {\n route.canActivate = () => {\n return true;\n };\n }\n\n route.children = route.children || [];\n this.validateRoutes(route.children);\n }\n\n return routes;\n }\n private registerAppChanging() {\n this.eventAggregator.subscribe(\"authorization:changing-app\", () => {\n this.viewStack.splice(0);\n });\n }\n private registerShortcuts() {\n this.eventAggregator.subscribe(\"shortcut:execute\", e => {\n if (!this.currentViewItem) {\n return Promise.resolve();\n }\n\n const args = {\n isOpen: false\n };\n\n //Muss so gemacht werden, da sonst Ringverweis\n this.eventAggregator.publish(\"popup-info:popup-open\", args);\n if (args.isOpen) {\n return Promise.resolve();\n }\n\n const currentViewModel = this.currentViewItem.controller[\"currentViewModel\"];\n if (!currentViewModel.executeCommand) {\n return;\n }\n\n currentViewModel.executeCommand(e.idCommand);\n return Promise.resolve();\n });\n }\n private registerTitleChanged() {\n this.eventAggregator.subscribe(\"form:title-changed\", (e) => {\n this.setFormTitle(e.form);\n });\n }\n private setCurrentViewItem() {\n let newCurrentViewItem;\n\n if (this.viewStack.length === 0) {\n newCurrentViewItem = null;\n } else {\n newCurrentViewItem = this.viewStack[this.viewStack.length - 1];\n newCurrentViewItem.isCurrent = true;\n\n if (this.viewStack.length > 1) {\n this.viewStack[this.viewStack.length - 2].isCurrent = false;\n }\n\n if (this.currentViewItem != newCurrentViewItem) {\n this.currentViewItem = newCurrentViewItem;\n\n this.eventAggregator.publish(\"router:current-view-item-changed\", {\n currentViewItem: newCurrentViewItem\n });\n }\n }\n }\n private async setFormTitle(form: FormBase) {\n if (!this.currentViewItem) {\n return;\n }\n\n const controller: any = this.currentViewItem.controller;\n if (!controller) {\n return;\n }\n\n const viewModel = await this.templatingExService.waitForViewModel(controller);\n if (!viewModel) {\n return;\n }\n\n if (viewModel != form) {\n return;\n }\n\n document.title = this.localization.translateOnce(form.title, form.scopeContainer);\n }\n private existsNavigationRouteEx(url: string, navigationRoute: INavigationRoute): boolean {\n if (navigationRoute.route == url) {\n return true;\n }\n if (!navigationRoute.children) {\n return false;\n }\n\n return navigationRoute.children.some(r => {\n return this.existsNavigationRouteEx(url, r);\n })\n }\n}\n","import {\n autoinject,\n Aurelia,\n observable,\n TaskQueue,\n} from \"aurelia-framework\";\nimport {\n RestService\n} from \"./rest-service\";\nimport config from \"../../../config\";\nimport { EventAggregator } from 'aurelia-event-aggregator';\n//TODO - Übersetzungen!\n@autoinject\nexport class AuthorizationService {\n private readonly X_TIP_AUTH = \"X-TIP-AUTH\";\n private X_TIP_AUTH_LOCAL_STORAGE = \"X-TIP-AUTH\";\n\n constructor(\n private rest: RestService,\n private aurelia: Aurelia,\n private eventAggregator: EventAggregator,\n private taskQueue: TaskQueue\n ) {\n this.X_TIP_AUTH_LOCAL_STORAGE = this.getAuthLocalStorageKey();\n\n this.rest.getAuthorizationHeader = this.getAuthorizationHeaders.bind(this);\n this.rest.getAuthorizationToken = this.getAuthorizationToken.bind(this);\n\n this.checkAlive();\n\n this.eventAggregator.subscribe(\"rest:unauthorized\", () => {\n this.isLoggedIn = false;\n });\n }\n\n @observable isLoggedIn: boolean = null;\n\n getAuthorizationKey(): string {\n return localStorage.getItem(this.X_TIP_AUTH_LOCAL_STORAGE);\n }\n\n openApp() {\n if (this.isLoggedIn) {\n return;\n }\n if (!localStorage.getItem(this.X_TIP_AUTH_LOCAL_STORAGE)) {\n this.isLoggedIn = false;\n return;\n }\n\n this.rest.get({\n url: this.rest.getApiUrl(\"base/Authorization/IsLoggedIn\"),\n increaseLoadingCount: true\n }).then(r => {\n this.isLoggedIn = r.IsValid;\n }).catch(r => {\n this.eventAggregator.publish(\"alert\", {\n message: \"Fehler bei Verbindung mit Datenserver. Bitte versuchen Sie es etwas später noch einmal\",\n title: \"Fehler\"\n });\n });\n }\n async login(data: any, showNotificationOnError: boolean = true): Promise {\n const wasLoggedIn = this.isLoggedIn;\n\n const r = await this.rest.post({\n url: this.rest.getApiUrl(\"base/Authorization/Login\"),\n data: Object.assign({ AppId: config.appId }, data),\n increaseLoadingCount: true\n });\n \n if (r.IsValid) {\n if (r.AuthenticationToken) {\n this.isLoggedIn = true;\n localStorage.setItem(this.X_TIP_AUTH_LOCAL_STORAGE, r.AuthenticationToken);\n\n if (wasLoggedIn) {\n this.taskQueue.queueMicroTask(() =>\n {\n this.isLoggedInChanged(true);\n })\n }\n }\n\n if (!this.isLoggedIn && r.NeedsTwoFactorAuthKey && data.TwoFactorAuthKey) {\n if (showNotificationOnError) {\n this.eventAggregator.publish(\"notify\", {\n message: \"Code ungültig\",\n type: \"error\"\n });\n }\n }\n\n return {\n isLoggedIn: this.isLoggedIn,\n isValid: r.isValid,\n needsTwoFactorAuthKey: r.NeedsTwoFactorAuthKey\n };\n }\n\n if (showNotificationOnError) {\n this.eventAggregator.publish(\"notify\", {\n message: \"Benutzer oder Passwort ungültig\",\n type: \"error\"\n });\n }\n\n return {\n isLoggedIn: false,\n isValid: false,\n needsTwoFactorAuthKey: false\n };\n }\n logout() {\n return this.rest.get({\n url: this.rest.getApiUrl(\"base/Authorization/Logout\"),\n increaseLoadingCount: true\n }).then(() => {\n this.isLoggedIn = false;\n localStorage.removeItem(this.X_TIP_AUTH_LOCAL_STORAGE);\n })\n }\n changePassword(data: any): Promise {\n return this.rest.post({\n url: this.rest.getApiUrl(\"base/Authorization/ChangePassword\"),\n data: data,\n increaseLoadingCount: true\n }).then(r => {\n this.eventAggregator.publish(\"notify\", {\n message: \"Passwort wurde erfolgreich geändert\",\n type: \"success\"\n });\n });\n }\n resetPassword(data: any): Promise {\n return this.rest.post({\n url: this.rest.getApiUrl(\"base/Authorization/ResetPassword\"),\n data: data,\n increaseLoadingCount: true\n }).then(r => {\n if (r.IsValid) {\n this.isLoggedIn = true;\n this.eventAggregator.publish(\"notify\", {\n message: \"Der Aktivierungslink wird in Kürze versendet\",\n type: \"success\"\n });\n return true;\n }\n\n this.eventAggregator.publish(\"notify\", {\n message: \"Für den angegeben Benutzernamen existiert kein Konto\",\n type: \"error\"\n });\n return false;\n });\n }\n activateAccount(data: any): Promise {\n return this.rest.post({\n url: this.rest.getApiUrl(\"base/Authorization/ActivateAccount\"),\n data: data,\n increaseLoadingCount: true\n }).then(r => {\n if (r.IsValid) {\n this.isLoggedIn = true;\n this.eventAggregator.publish(\"notify\", {\n message: \"Der Account wurde aktiviert\",\n type: \"success\"\n });\n return true;\n }\n\n this.eventAggregator.publish(\"notify\", {\n message: \"Ein Fehler ist aufgetreten\",\n type: \"success\"\n });\n return false;\n });\n }\n isLoggedInChanged(newValue) {\n if (newValue == void (0)) {\n return;\n }\n\n let app = \"/\";\n\n if (newValue && config[\"mainApp\"]) {\n app = config[\"mainApp\"]\n } else if (!newValue && config[\"loginApp\"]) {\n app = config[\"loginApp\"]\n }\n\n const args = {\n app: app,\n isHandled: false\n };\n this.eventAggregator.publish(\"authorization:change-app\", args);\n\n if (args.isHandled) {\n return;\n }\n\n this.eventAggregator.publish(\"authorization:changing-app\", args);\n\n this.taskQueue.queueMicroTask(() => {\n this.aurelia.setRoot(app);\n this.eventAggregator.publish(\"authorization:changed-app\", args);\n });\n }\n\n private getAuthLocalStorageKey(): string {\n const keyStr = location.origin.concat(location.pathname);\n\n let hash = 0;\n for (let i = 0; i < keyStr.length; i++) {\n const character = keyStr.charCodeAt(i);\n hash = ((hash << 5) - hash) + character;\n hash = hash & hash;\n }\n return \"TA\".concat(hash.toString());\n }\n private getAuthorizationHeaders(): any {\n const headers = {};\n\n const auth = this.getAuthorizationKey();\n if (auth) {\n headers[this.X_TIP_AUTH] = auth;\n }\n\n return headers;\n }\n private getAuthorizationToken(): string {\n return this.getAuthorizationKey();\n }\n private checkAlive() {\n setInterval(() => {\n if (!this.isLoggedIn) {\n return;\n }\n\n this.rest.get({\n url: this.rest.getApiUrl(\"base/Session/IAmAlive\"),\n ignoreErrors: true\n });\n }, 1000 * 60);\n }\n}\n\nexport interface ILoginResult {\n isValid: boolean;\n needsTwoFactorAuthKey: boolean;\n isLoggedIn: boolean;\n}","import { autoinject } from 'aurelia-framework';\nimport { RestService } from './../../framework/base/services/export';\n\n@autoinject\nexport class PersonService {\n constructor(\n private rest: RestService\n ) { }\n\n getPerson(id: number, getOptions = {}) {\n return this.rest.get({\n url: `${this.rest.getWebApiUrl(\"ZIT/Objekte/Person\")}/${id}`,\n getOptions: getOptions\n });\n }\n save(data: any) {\n return this.rest.post({\n url: this.rest.getWebApiUrl(\"ZIT/Objekte/Person\"),\n data: data,\n increaseLoadingCount: true\n })\n }\n}","import {\n autoinject, optional\n} from \"aurelia-framework\";\nimport {\n IViewScrollInfo\n} from \"../interfaces/export\";\nimport { EventAggregator } from 'aurelia-event-aggregator';\nimport { ILocationGoToEventArgs } from '../event-args/location-go-to';\n\n@autoinject\nexport class LocationService {\n constructor(\n private eventAggregator: EventAggregator\n ) {}\n\n goBack(): Promise {\n const args = {\n promise: null\n };\n\n this.eventAggregator.publish(\"location:go-back\", args);\n return args.promise || Promise.resolve();\n }\n async goTo(options?: ILocationGoToEventArgs): Promise {\n const url = options.url;\n if (!url.startsWith(\"#\")) {\n options.url = \"#\".concat(url);\n }\n\n const args = {\n promise: null,\n args: options,\n isHandled: false\n }\n\n this.eventAggregator.publish(\"location:go-to\", args);\n await args.promise || Promise.resolve();\n\n if (!args.isHandled) {\n location.assign(url);\n }\n }\n openWindow(url: string) {\n window.open(`${location.origin}${location.pathname}#${url}`, \"_blank\");\n }\n}\n","import { FormBase } from '../../../../framework/forms/classes/form-base';\nimport { autoinject, transient } from 'aurelia-framework';\n\n@autoinject\n@transient()\nexport class PersonAusbildungErweitertEditUtils {\n constructor(\n ) { }\n\n form: FormBase;\n requiredValidationRule = { type: \"required\" };\n idAusbildungAbschluss: number;\n\n bind(form: FormBase) {\n this.form = form;\n\n form.onValidating.register((args) => {\n if (args.form.models && args.form.models.data.$m_AusbildungNeu) {\n args.form.models.data.$m_AusbildungNeu.IdAusbildungAbschluss = this.idAusbildungAbschluss;\n }\n\n return Promise.resolve();\n });\n\n form.models.onSaved.register((args) => {\n if (args && args.model && args.model.id === \"$m_AusbildungNeu\") {\n this.form.models.data.$m_AusbildungNeu.IdAusbildungAbschluss = this.idAusbildungAbschluss;\n }\n\n return Promise.resolve();\n });\n }\n}\n","import { autoinject } from 'aurelia-framework';\nimport { RestService } from './../../framework/base/services/export';\nimport { IMultiMarkerData } from '../interfaces/export';\n\n@autoinject\nexport class MarkerService {\n constructor(\n private rest: RestService\n ) { }\n\n deleteObjektMarkerZuord(id: number) {\n return this.rest.delete({\n url: this.rest.getWebApiUrl(\"ZIT/Objekte/ObjektMarkerZuord\"),\n id: id,\n increaseLoadingCount: true\n });\n }\n getObjektZugeordnetMarkers(idObjekt: number): Promise {\n return this.rest.get({\n url: this.rest.getWebApiUrl(\"ZIT/Objekte/ObjektMarkerZuord\"),\n getOptions: {\n where: [[\"IdObjekt\", idObjekt]]\n }\n });\n }\n\n saveObjektMarker(data: { _IdObjekt: number, Bezeichnung: string, Farbe: string }) {\n return this.rest.put({\n url: this.rest.getWebApiUrl(\"ZIT/Stammdaten/ObjektMarker\"),\n data: data,\n increaseLoadingCount: true\n });\n }\n saveObjektMarkerZuord(data: { IdObjektMarker: number, IdObjekt: number }) {\n return this.rest.post({\n url: this.rest.getWebApiUrl(\"ZIT/Objekte/ObjektMarkerZuord\"),\n data: data\n });\n }\n saveObjektMultiMarker(data: { FullName: string, IdObjektList: number[], ObjektMarkerHelperList: any[] }) {\n return this.rest.post({\n url: this.rest.getApiUrl(\"ZIT/Stammdaten/SaveObjektMultiMarker\"),\n data: data\n })\n }\n getMarkersByObjektFullName(objektFullName: string): Promise {\n return this.rest.get({\n url: `${this.rest.getApiUrl(\"ZIT/Stammdaten/ObjektMultiMarkerDataSource\")}?fullName=${objektFullName}`\n })\n }\n}","export enum BenachrichtigungArt {\n Email = 0,\n SMS = 1,\n WhatsApp = 2,\n Facebook = 3,\n NurPortal = 4\n}\n","export * from \"./services/export\";\n","import { StartupService } from \"./../../../services/startup-service\";\nimport { autoinject, computedFrom, transient } from \"aurelia-framework\";\nimport { EventAggregator } from \"aurelia-event-aggregator\";\nimport { FormBase } from \"../../../../framework/forms/classes/form-base\";\n\n@autoinject\n@transient()\nexport class StelleninseratKopfElementChannelEditUtils {\n constructor(\n private _startupService: StartupService,\n private _eventAggregator: EventAggregator) { }\n\n form: FormBase;\n\n @computedFrom(\"form.models.data.$m_StelleninseratKopfElementZuChannel._CanAddChannel\")\n get canModifyChannel() {\n return this.form?.models?.data?.$m_StelleninseratKopfElementZuChannel?._CanAddChannel || false;\n }\n\n bind(form: FormBase) {\n this.form = form;\n\n this.form.models.onSaved.register(async(args) => {\n this._eventAggregator.publish(\"stelleninserat-kopf-element-channel:saved\", {});\n });\n }\n}\n","import {\n BindingEngine,\n Expression,\n Container,\n TaskQueue,\n transient\n} from \"aurelia-framework\";\nimport {\n EventAggregator\n} from \"aurelia-event-aggregator\";\nimport {\n Models\n} from \"./models\";\nimport {\n Functions\n} from \"./functions\";\nimport {\n Commands\n} from \"./commands\";\nimport {\n Variables\n} from \"./variables\";\nimport {\n EditPopups\n} from \"./edit-popups\";\nimport {\n NestedForms\n} from \"./nested-forms\";\nimport {\n CommandServerData\n} from \"./command-server-data\";\nimport {\n DefaultCommandsService,\n CommandService,\n FormEventService,\n PopupInfoService,\n ToolbarService,\n RouterService,\n HistoryService,\n DialogConfirmService\n} from \"../services/export\";\nimport {\n WidgetCreatorService\n} from \"../widget-services/widget-creator-service\";\nimport {\n BindingService,\n CustomEvent,\n GlobalizationService,\n LocalizationService,\n ErrorService,\n PermissionService,\n RestService,\n WindowService\n} from \"../../base/export\";\nimport {\n IFormAttachedEventArgs,\n IFormActivateEventArgs,\n IFormReadyEventArgs,\n IFormReactivatedEventArgs,\n IFormValidatingEventArgs,\n IFormDetachedEventArgs,\n IFormBindEventArgs,\n IFormUnbindEventArgs,\n IEditorValueChangedEventArgs,\n IFormSavingEventArgs,\n IFormSavedEventArgs,\n IFormDeletedEventArgs\n} from \"../event-args/export\";\nimport { FileService } from '../../base/services/file-service';\nimport { BrowserService } from '../../base/services/browser-service';\nimport { FormInfoService } from '../services/form-info-service';\nimport { IFormDeletingEventArgs } from '../event-args/form-deleting';\n\n@transient()\nexport class FormBaseImport {\n constructor(\n public bindingEngine: BindingEngine,\n public taskQueue: TaskQueue,\n public eventAggregator: EventAggregator,\n public rest: RestService,\n public widgetCreator: WidgetCreatorService,\n public command: CommandService,\n public toolbar: ToolbarService,\n public defaultCommands: DefaultCommandsService,\n public router: RouterService,\n public history: HistoryService,\n public permission: PermissionService,\n public error: ErrorService,\n public file: FileService,\n public models: Models,\n public nestedForms: NestedForms,\n public variables: Variables,\n public functions: Functions,\n public commands: Commands,\n public editPopups: EditPopups,\n public binding: BindingService,\n public globalization: GlobalizationService,\n public localization: LocalizationService,\n public commandServerData: CommandServerData,\n public popupInfo: PopupInfoService,\n public formEvent: FormEventService,\n public browser: BrowserService,\n public windowService: WindowService,\n public dialogConfirm: DialogConfirmService,\n public formInfoService: FormInfoService,\n public onAttached: CustomEvent,\n public onDetached: CustomEvent,\n public onActivate: CustomEvent,\n public onBind: CustomEvent,\n public onUnbind: CustomEvent,\n public onReady: CustomEvent,\n public onReactivated: CustomEvent,\n public onValidating: CustomEvent,\n public onEditorValueChanged: CustomEvent,\n public onSaving: CustomEvent,\n public onSaved: CustomEvent,\n public onDeleting: CustomEvent,\n public onDeleted: CustomEvent\n ) { }\n\n dispose() {\n this.onAttached.dispose();\n this.onDetached.dispose();\n this.onActivate.dispose();\n this.onBind.dispose();\n this.onUnbind.dispose();\n this.onReady.dispose();\n this.onReactivated.dispose();\n this.onValidating.dispose();\n this.onEditorValueChanged.dispose();\n this.onSaving.dispose();\n this.onSaved.dispose();\n this.onDeleting.dispose();\n this.onDeleted.dispose();\n\n this.commandServerData.dispose();\n this.commands.dispose();\n this.editPopups.dispose();\n this.functions.dispose();\n this.models.dispose();\n this.nestedForms.dispose();\n this.variables.dispose();\n }\n} \n","import {\n autoinject\n} from \"aurelia-framework\";\nimport {\n AuthorizationService\n} from \"./authorization-service\";\nimport {\n RestService\n} from \"./rest-service\";\n\n@autoinject\nexport class FileService {\n constructor(\n private _authorizationService: AuthorizationService,\n private _restService: RestService\n ) {}\n\n getDownloadUrl(key: string) {\n if (!key) {\n return null;\n }\n \n let authKey = this._authorizationService.getAuthorizationKey();\n if (authKey) {\n authKey = `&auth-token=${encodeURIComponent(authKey)}`;\n } else {\n authKey = \"\";\n }\n\n return this._restService.getApiUrl(`base/File/Download/${key}${authKey}`);\n }\n getInlineUrl(key: string) {\n if (!key) {\n return null;\n }\n \n let authKey = this._authorizationService.getAuthorizationKey();\n if (authKey) {\n authKey = `&auth-token=${encodeURIComponent(authKey)}`;\n } else {\n authKey = \"\";\n }\n\n return this._restService.getApiUrl(`base/File/Inline/${key}${authKey}`);\n }\n download(key: string) {\n const downloadUrl = this.getDownloadUrl(key);\n window.open(downloadUrl, \"_blank\");\n }\n inline(key: string) {\n const downloadUrl = this.getInlineUrl(key);\n window.open(downloadUrl, \"_blank\");\n }\n async upload(file: File, increaseLoadingCount: boolean = true): Promise {\n const formData = new FormData();\n formData.append(\"file\", file);\n\n const r = await this._restService.post({\n url: this._restService.getApiUrl(\"base/File/Upload\"),\n data: formData, \n increaseLoadingCount: increaseLoadingCount\n });\n\n if (!r || !r.length) {\n return null;\n }\n\n return r[0];\n }\n}\n","import { JsonService } from './../../framework/base/services/json-service';\nimport { autoinject } from 'aurelia-framework';\nimport { RestService } from './../../framework/base/services/export';\nimport { IPersonDossierData } from '../interfaces/export';\nimport { RestGetResultType } from '../../framework/base/services/rest-service';\n\n@autoinject\nexport class DownloadService {\n constructor(\n private json: JsonService,\n private rest: RestService\n ) { }\n\n downloadExcelFromGrid(data: { IdList: number[], ColumnList: DevExpress.ui.dxDataGridColumn[] }, defaultFileName: string = \"data.xlsx\"): Promise {\n if (!data || !data.IdList) {\n return Promise.resolve();\n }\n \n return this.download(\n this.rest.getApiUrl(\"ZIT/Export/Get\"),\n data,\n defaultFileName\n );\n }\n downloadExcelFromTableau(tableauQuery: any): Promise {\n return this.download(\n this.rest.getApiUrl(\"ZIT/Tableau/Export\"),\n tableauQuery,\n \"export.xlsx\"\n );\n }\n downloadPersonDossier(data: IPersonDossierData, defaultFileName: string = \"personen-dossier.pdf\"): Promise {\n return this.download(\n this.rest.getApiUrl(\"ZIT/PersonenDossier/PersonenDossier\"),\n data,\n defaultFileName\n );\n }\n downloadSchnuppertermine(data: any): Promise {\n return this.download(\n this.rest.getApiUrl(\"ZIT/Schnuppertermin/SchnupperterminReportGruppiert\"),\n data,\n \"schnuppertermine.pdf\"\n );\n }\n async download(url: string, data: any, filename: string, errorCallback?: {(): void}): Promise {\n if (!data) {\n return Promise.resolve(false);\n }\n\n try {\n const r = await this.rest.post({\n url: url,\n data: data,\n increaseLoadingCount: true,\n resultType: RestGetResultType.blob,\n includeResponseHeaders: true\n });\n\n const headers: Headers = r.headers;\n const content: Blob = r.data;\n this.openFile(headers, content, filename);\n } catch {\n if (errorCallback) {\n errorCallback();\n }\n }\n }\n\n private openFile(headers: Headers, data: Blob, defaultFileName: string) {\n const contentDisposition = headers.get(\"Content-Disposition\");\n const contentType = headers.get(\"Content-Type\");\n\n let fileName = defaultFileName;\n\n if (contentDisposition) {\n const indexOf = contentDisposition.indexOf(\"filename=\");\n if (indexOf >= 0) {\n fileName = contentDisposition.substr(indexOf + 9);\n \n if (fileName.includes(\";\")) {\n const indexOfEnd = fileName.indexOf(\";\");\n fileName = fileName.substr(0, indexOfEnd);\n }\n }\n }\n \n if (fileName.startsWith(\"\\\"\") && fileName.endsWith(\"\\\"\")) {\n fileName = fileName.substring(1, fileName.length - 1);\n }\n\n if (fileName.startsWith(\"'\") && fileName.endsWith(\"'\")) {\n fileName = fileName.substring(1, fileName.length - 1);\n }\n\n fileName = decodeURIComponent(fileName);\n\n const blob = new Blob([data], { type: contentType });\n\n if (navigator.msSaveBlob) {\n navigator.msSaveBlob(blob, fileName);\n } else {\n const link = document.createElement(\"a\");\n document.body.appendChild(link);\n link.href = window.URL.createObjectURL(blob);\n link.download = fileName;\n link.click();\n\n setTimeout(() => {\n window.URL.revokeObjectURL(link.href);\n document.body.removeChild(link);\n }, 1000);\n }\n }\n}\n","import {\n autoinject, PLATFORM\n} from \"aurelia-framework\";\nimport {\n EventAggregator,\n Subscription\n} from \"aurelia-event-aggregator\";\nimport {\n FileService,\n LocalizationService,\n ShortcutService,\n StyleService,\n PermissionService\n} from \"./framework/base/export\";\nimport {\n IRoute,\n RouterService,\n RoutesCreatorService,\n HistoryService\n} from \"./framework/forms/export\";\nimport {\n LoginprofilService\n} from './zit/services/export';\n\nimport * as routesForm from \"./framework-data/forms.json\";\nimport * as routesStructure from \"./route-info/structure.json\";\n\nimport {\n ValidationExService,\n TemplateRegisterService\n} from './zit/services/export';\nimport { ToolbarService } from './framework/forms/services/export';\nimport { StartupService, ObjektInfoService } from './zit/services/export';\nimport { LayoutService, WidgetExtenderService } from './zit-ui/export';\nimport { FormSelectItemService } from './zit/services/form-select-item-service';\nimport { ContainerViewWidthService } from './zit/services/container-view-width-service';\nimport { Willkommensseite } from './zit/elements/willkommensseite/willkommensseite';\nimport { FormExtenderService } from './zit/services/form-extender-service';\nimport { FormEvalService } from './zit/services/form-eval-service';\nimport { FormRefreshService } from './zit/services/form-refresh-service';\nimport { HtmlEditorService } from './framework/forms/services/html-editor-service';\nimport { HtmlEditorExtensionService } from './zit-ui/services/html-editor-extension-service';\nimport { BenutzereinstellungenService } from './zit/services/benutzereinstellungen-service';\n\nPLATFORM.moduleName(\"zit-ui/elements/zit-toolbar/zit-toolbar\");\n\n@autoinject\nexport class App {\n private _routes: IRoute[] = [];\n\n constructor(\n private router: RouterService,\n private routesCreator: RoutesCreatorService,\n private file: FileService,\n private history: HistoryService,\n private shortcut: ShortcutService,\n private startup: StartupService,\n private layout: LayoutService,\n private localization: LocalizationService,\n private style: StyleService,\n private eventAggregator: EventAggregator,\n private templateRegister: TemplateRegisterService,\n private validationEx: ValidationExService,\n private toolbar: ToolbarService,\n private objektInfo: ObjektInfoService,\n private loginprofil: LoginprofilService,\n private formSelectItem: FormSelectItemService,\n private benutzereinstellungen: BenutzereinstellungenService,\n private containerViewWidth: ContainerViewWidthService,\n private formExtender: FormExtenderService,\n private formEval: FormEvalService,\n private widgetExtenderService: WidgetExtenderService,\n private formRefreshService: FormRefreshService,\n private htmlEditorService: HtmlEditorService,\n private htmlEditorExtensionService: HtmlEditorExtensionService,\n private permissionService: PermissionService\n ) {\n this.loadRoutes();\n this.toolbar.toolbarModuleId = \"zit-ui/elements/zit-toolbar/zit-toolbar\";\n this.htmlEditorService.defaultHeaders = [3];\n\n templateRegister.register();\n }\n\n willkommensseite: Willkommensseite\n\n async activate() {\n this.layout.activateTheme();\n \n this.permissionService.allowAllPermission = true;\n await this.startup.loadStartupInfo();\n await this.objektInfo.loadObjektInfoList();\n await this.benutzereinstellungen.loadBenutzereinstellungen();\n \n this.registerRoutes();\n }\n attached() {\n const showWillkommen = this.benutzereinstellungen.benutzereinstellungenData.IsWillkommensseiteDeaktiviert != true;\n if (showWillkommen) {\n this.willkommensseite.showPopup();\n }\n\n window.scrollTo(0, 0);\n }\n\n private loadRoutes() {\n this._routes = this.orderRoutes(this.routesCreator.createRoutes(\n routesStructure,\n routesForm,\n (r) => {\n return true;\n }));\n }\n private registerRoutes() {\n this._routes.push({\n moduleId: \"zit-ui/views/auto-login/auto-login-form\",\n caption: \"zit-ui.auto-login\",\n route: \"AutoLogin\"\n }, {\n moduleId: \"zit-ui/views/app-login/app-login-form\",\n caption: \"zit-ui.app-login\",\n route: \"app-login\"\n });\n\n this.router.registerRoutes(this._routes, \"Dashboard\");\n }\n\n private orderRoutes(routes: IRoute[]): IRoute[] {\n return routes;\n }\n}\n","module.exports = \" \";","module.exports = function(cb) {\n\trequire.ensure([], function(require) {\n\t\tcb(require(\"!!../../../../../node_modules/awesome-typescript-loader/dist/entry.js!./benutzer-edit-form.ts\"));\n\t}, \"stammdaten\");\n}","module.exports = function(cb) {\n\trequire.ensure([], function(require) {\n\t\tcb(require(\"!!../../../../../node_modules/awesome-typescript-loader/dist/entry.js!./benutzer-list-form.ts\"));\n\t}, \"stammdaten\");\n}","module.exports = function(cb) {\n\trequire.ensure([], function(require) {\n\t\tcb(require(\"!!../../../../../node_modules/awesome-typescript-loader/dist/entry.js!./loginprofil-edit-form.ts\"));\n\t}, \"stammdaten\");\n}","module.exports = function(cb) {\n\trequire.ensure([], function(require) {\n\t\tcb(require(\"!!../../../../../node_modules/awesome-typescript-loader/dist/entry.js!./benutzergruppe-edit-form.ts\"));\n\t}, \"stammdaten\");\n}","module.exports = function(cb) {\n\trequire.ensure([], function(require) {\n\t\tcb(require(\"!!../../../../../node_modules/awesome-typescript-loader/dist/entry.js!./benutzergruppe-list-form.ts\"));\n\t}, \"stammdaten\");\n}","module.exports = function(cb) {\n\trequire.ensure([], function(require) {\n\t\tcb(require(\"!!../../../../../node_modules/awesome-typescript-loader/dist/entry.js!./benutzerrolle-edit-form.ts\"));\n\t}, \"stammdaten\");\n}","module.exports = function(cb) {\n\trequire.ensure([], function(require) {\n\t\tcb(require(\"!!../../../../../node_modules/awesome-typescript-loader/dist/entry.js!./benutzerrolle-layout-edit-form.ts\"));\n\t}, \"stammdaten\");\n}","module.exports = function(cb) {\n\trequire.ensure([], function(require) {\n\t\tcb(require(\"!!../../../../../node_modules/awesome-typescript-loader/dist/entry.js!./benutzerrolle-list-form.ts\"));\n\t}, \"stammdaten\");\n}","module.exports = function(cb) {\n\trequire.ensure([], function(require) {\n\t\tcb(require(\"!!../../../../../node_modules/awesome-typescript-loader/dist/entry.js!./benutzerrolle-menu-edit-form.ts\"));\n\t}, \"stammdaten\");\n}","module.exports = function(cb) {\n\trequire.ensure([], function(require) {\n\t\tcb(require(\"!!../../../../../node_modules/awesome-typescript-loader/dist/entry.js!./benutzerrolle-zu-kommunikation-benutzerrolle-edit-form.ts\"));\n\t}, \"stammdaten\");\n}","module.exports = function(cb) {\n\trequire.ensure([], function(require) {\n\t\tcb(require(\"!!../../../../../node_modules/awesome-typescript-loader/dist/entry.js!./benutzerrolle-zu-layout-edit-form.ts\"));\n\t}, \"stammdaten\");\n}","module.exports = function(cb) {\n\trequire.ensure([], function(require) {\n\t\tcb(require(\"!!../../../../../node_modules/awesome-typescript-loader/dist/entry.js!./benutzerrolle-zu-objekt-status-edit-form.ts\"));\n\t}, \"stammdaten\");\n}","module.exports = function(cb) {\n\trequire.ensure([], function(require) {\n\t\tcb(require(\"!!../../../../../node_modules/awesome-typescript-loader/dist/entry.js!./benutzerrolle-zu-standardfilter-edit-form.ts\"));\n\t}, \"stammdaten\");\n}","module.exports = function(cb) {\n\trequire.ensure([], function(require) {\n\t\tcb(require(\"!!../../../../../node_modules/awesome-typescript-loader/dist/entry.js!./kopfzeile-verknuepfung-edit-form.ts\"));\n\t}, \"stammdaten\");\n}","module.exports = function(cb) {\n\trequire.ensure([], function(require) {\n\t\tcb(require(\"!!../../../../../node_modules/awesome-typescript-loader/dist/entry.js!./codes-edit-form.ts\"));\n\t}, \"stammdaten\");\n}","module.exports = function(cb) {\n\trequire.ensure([], function(require) {\n\t\tcb(require(\"!!../../../../../node_modules/awesome-typescript-loader/dist/entry.js!./codes-list-form.ts\"));\n\t}, \"stammdaten\");\n}","module.exports = function(cb) {\n\trequire.ensure([], function(require) {\n\t\tcb(require(\"!!../../../../../node_modules/awesome-typescript-loader/dist/entry.js!./layout-edit-form.ts\"));\n\t}, \"stammdaten\");\n}","module.exports = function(cb) {\n\trequire.ensure([], function(require) {\n\t\tcb(require(\"!!../../../../../node_modules/awesome-typescript-loader/dist/entry.js!./layout-list-form.ts\"));\n\t}, \"stammdaten\");\n}","module.exports = function(cb) {\n\trequire.ensure([], function(require) {\n\t\tcb(require(\"!!../../../../../node_modules/awesome-typescript-loader/dist/entry.js!./channel-edit-form.ts\"));\n\t}, \"stammdaten\");\n}","module.exports = function(cb) {\n\trequire.ensure([], function(require) {\n\t\tcb(require(\"!!../../../../../node_modules/awesome-typescript-loader/dist/entry.js!./mandant-edit-form.ts\"));\n\t}, \"stammdaten\");\n}","module.exports = function(cb) {\n\trequire.ensure([], function(require) {\n\t\tcb(require(\"!!../../../../../node_modules/awesome-typescript-loader/dist/entry.js!./mandant-event-edit-form.ts\"));\n\t}, \"stammdaten\");\n}","module.exports = function(cb) {\n\trequire.ensure([], function(require) {\n\t\tcb(require(\"!!../../../../../node_modules/awesome-typescript-loader/dist/entry.js!./mandant-list-form.ts\"));\n\t}, \"stammdaten\");\n}","module.exports = function(cb) {\n\trequire.ensure([], function(require) {\n\t\tcb(require(\"!!../../../../../node_modules/awesome-typescript-loader/dist/entry.js!./skin-edit-form.ts\"));\n\t}, \"stammdaten\");\n}","module.exports = function(cb) {\n\trequire.ensure([], function(require) {\n\t\tcb(require(\"!!../../../../../node_modules/awesome-typescript-loader/dist/entry.js!./skin-list-form.ts\"));\n\t}, \"stammdaten\");\n}","module.exports = function(cb) {\n\trequire.ensure([], function(require) {\n\t\tcb(require(\"!!../../../../node_modules/awesome-typescript-loader/dist/entry.js!./nachrichten-gruppe-edit-form.ts\"));\n\t}, \"stammdaten\");\n}","module.exports = function(cb) {\n\trequire.ensure([], function(require) {\n\t\tcb(require(\"!!../../../../../node_modules/awesome-typescript-loader/dist/entry.js!./dispo-list-form.ts\"));\n\t}, \"dispo\");\n}","module.exports = function(cb) {\n\trequire.ensure([], function(require) {\n\t\tcb(require(\"!!../../../../../node_modules/awesome-typescript-loader/dist/entry.js!./dispo-personenzuteilung-ansprechperson-bewertung-edit-form.ts\"));\n\t}, \"dispo\");\n}","module.exports = function(cb) {\n\trequire.ensure([], function(require) {\n\t\tcb(require(\"!!../../../../../node_modules/awesome-typescript-loader/dist/entry.js!./dispo-personenzuteilung-bestaetigung-edit-form.ts\"));\n\t}, \"dispo\");\n}","module.exports = function(cb) {\n\trequire.ensure([], function(require) {\n\t\tcb(require(\"!!../../../../../node_modules/awesome-typescript-loader/dist/entry.js!./dispo-personenzuteilung-bestaetigung-lehre-edit-form.ts\"));\n\t}, \"dispo\");\n}","module.exports = function(cb) {\n\trequire.ensure([], function(require) {\n\t\tcb(require(\"!!../../../../../node_modules/awesome-typescript-loader/dist/entry.js!./dispo-personenzuteilung-bestaetigung-lehre-read-form.ts\"));\n\t}, \"dispo\");\n}","module.exports = function(cb) {\n\trequire.ensure([], function(require) {\n\t\tcb(require(\"!!../../../../../node_modules/awesome-typescript-loader/dist/entry.js!./dispo-personenzuteilung-bestaetigung-read-form.ts\"));\n\t}, \"dispo\");\n}","module.exports = function(cb) {\n\trequire.ensure([], function(require) {\n\t\tcb(require(\"!!../../../../../node_modules/awesome-typescript-loader/dist/entry.js!./dispo-personenzuteilung-check-in-edit-form.ts\"));\n\t}, \"dispo\");\n}","module.exports = function(cb) {\n\trequire.ensure([], function(require) {\n\t\tcb(require(\"!!../../../../../node_modules/awesome-typescript-loader/dist/entry.js!./dispo-personenzuteilung-edit-form.ts\"));\n\t}, \"dispo\");\n}","module.exports = function(cb) {\n\trequire.ensure([], function(require) {\n\t\tcb(require(\"!!../../../../../node_modules/awesome-typescript-loader/dist/entry.js!./dispo-personenzuteilung-einsatzvorbereitung-edit-form.ts\"));\n\t}, \"dispo\");\n}","module.exports = function(cb) {\n\trequire.ensure([], function(require) {\n\t\tcb(require(\"!!../../../../../node_modules/awesome-typescript-loader/dist/entry.js!./dispo-personenzuteilung-entlohnungsschema-edit-form.ts\"));\n\t}, \"dispo\");\n}","module.exports = function(cb) {\n\trequire.ensure([], function(require) {\n\t\tcb(require(\"!!../../../../../node_modules/awesome-typescript-loader/dist/entry.js!./dispo-personenzuteilung-fragebogen-edit-form.ts\"));\n\t}, \"dispo\");\n}","module.exports = function(cb) {\n\trequire.ensure([], function(require) {\n\t\tcb(require(\"!!../../../../../node_modules/awesome-typescript-loader/dist/entry.js!./dispo-personenzuteilung-gruppierung-edit-form.ts\"));\n\t}, \"dispo\");\n}","module.exports = function(cb) {\n\trequire.ensure([], function(require) {\n\t\tcb(require(\"!!../../../../../node_modules/awesome-typescript-loader/dist/entry.js!./dispo-personenzuteilung-person-edit-form.ts\"));\n\t}, \"dispo\");\n}","module.exports = function(cb) {\n\trequire.ensure([], function(require) {\n\t\tcb(require(\"!!../../../../../node_modules/awesome-typescript-loader/dist/entry.js!./dispo-personenzuteilung-zustand-aendern-form.ts\"));\n\t}, \"dispo\");\n}","module.exports = function(cb) {\n\trequire.ensure([], function(require) {\n\t\tcb(require(\"!!../../../../../node_modules/awesome-typescript-loader/dist/entry.js!./dispo-planstelle-ansprechperson-edit-form.ts\"));\n\t}, \"dispo\");\n}","module.exports = function(cb) {\n\trequire.ensure([], function(require) {\n\t\tcb(require(\"!!../../../../../node_modules/awesome-typescript-loader/dist/entry.js!./dispo-planstelle-edit-form.ts\"));\n\t}, \"dispo\");\n}","module.exports = function(cb) {\n\trequire.ensure([], function(require) {\n\t\tcb(require(\"!!../../../../../node_modules/awesome-typescript-loader/dist/entry.js!./dispo-planstelle-gruppierung-edit-form.ts\"));\n\t}, \"dispo\");\n}","module.exports = function(cb) {\n\trequire.ensure([], function(require) {\n\t\tcb(require(\"!!../../../../../node_modules/awesome-typescript-loader/dist/entry.js!./dispo-planstelle-skill-edit-form.ts\"));\n\t}, \"dispo\");\n}","module.exports = function(cb) {\n\trequire.ensure([], function(require) {\n\t\tcb(require(\"!!../../../../../node_modules/awesome-typescript-loader/dist/entry.js!./dispo-planstelle-stelleninserat-edit-form.ts\"));\n\t}, \"dispo\");\n}","module.exports = function(cb) {\n\trequire.ensure([], function(require) {\n\t\tcb(require(\"!!../../../../../node_modules/awesome-typescript-loader/dist/entry.js!./event-link-anmeldung-edit-form.ts\"));\n\t}, \"event\");\n}","module.exports = function(cb) {\n\trequire.ensure([], function(require) {\n\t\tcb(require(\"!!../../../../../node_modules/awesome-typescript-loader/dist/entry.js!./event-zeitraum-edit-form.ts\"));\n\t}, \"stammdaten\");\n}","module.exports = function(cb) {\n\trequire.ensure([], function(require) {\n\t\tcb(require(\"!!../../../../../node_modules/awesome-typescript-loader/dist/entry.js!./event-zeitraum-kontingent-edit-form.ts\"));\n\t}, \"event\");\n}","module.exports = function(cb) {\n\trequire.ensure([], function(require) {\n\t\tcb(require(\"!!../../../../../node_modules/awesome-typescript-loader/dist/entry.js!./geschaeftspartner-auswaehlen-edit-form.ts\"));\n\t}, \"profil-firma\");\n}","module.exports = function(cb) {\n\trequire.ensure([], function(require) {\n\t\tcb(require(\"!!../../../../../node_modules/awesome-typescript-loader/dist/entry.js!./profil-firma-edit-form.ts\"));\n\t}, \"profil-firma\");\n}","module.exports = function(cb) {\n\trequire.ensure([], function(require) {\n\t\tcb(require(\"!!../../../../../node_modules/awesome-typescript-loader/dist/entry.js!./profil-firma-gallery-edit-form.ts\"));\n\t}, \"profil-firma\");\n}","module.exports = function(cb) {\n\trequire.ensure([], function(require) {\n\t\tcb(require(\"!!../../../../../node_modules/awesome-typescript-loader/dist/entry.js!./profil-firma-headerbild-edit-form.ts\"));\n\t}, \"profil-firma\");\n}","module.exports = function(cb) {\n\trequire.ensure([], function(require) {\n\t\tcb(require(\"!!../../../../../node_modules/awesome-typescript-loader/dist/entry.js!./profil-firma-list-form.ts\"));\n\t}, \"profil-firma\");\n}","module.exports = function(cb) {\n\trequire.ensure([], function(require) {\n\t\tcb(require(\"!!../../../../../node_modules/awesome-typescript-loader/dist/entry.js!./adresstyp-edit-form.ts\"));\n\t}, \"stammdaten\");\n}","module.exports = function(cb) {\n\trequire.ensure([], function(require) {\n\t\tcb(require(\"!!../../../../../node_modules/awesome-typescript-loader/dist/entry.js!./adresstyp-list-form.ts\"));\n\t}, \"stammdaten\");\n}","module.exports = function(cb) {\n\trequire.ensure([], function(require) {\n\t\tcb(require(\"!!../../../../../node_modules/awesome-typescript-loader/dist/entry.js!./app-einstellung-edit-form.ts\"));\n\t}, \"stammdaten\");\n}","module.exports = function(cb) {\n\trequire.ensure([], function(require) {\n\t\tcb(require(\"!!../../../../../node_modules/awesome-typescript-loader/dist/entry.js!./app-einstellung-list-form.ts\"));\n\t}, \"stammdaten\");\n}","module.exports = function(cb) {\n\trequire.ensure([], function(require) {\n\t\tcb(require(\"!!../../../../../node_modules/awesome-typescript-loader/dist/entry.js!./app-menu-edit-form.ts\"));\n\t}, \"stammdaten\");\n}","module.exports = function(cb) {\n\trequire.ensure([], function(require) {\n\t\tcb(require(\"!!../../../../../node_modules/awesome-typescript-loader/dist/entry.js!./app-upload-edit-form.ts\"));\n\t}, \"stammdaten\");\n}","module.exports = function(cb) {\n\trequire.ensure([], function(require) {\n\t\tcb(require(\"!!../../../../../node_modules/awesome-typescript-loader/dist/entry.js!./aufgabe-edit-form.ts\"));\n\t}, \"stammdaten\");\n}","module.exports = function(cb) {\n\trequire.ensure([], function(require) {\n\t\tcb(require(\"!!../../../../../node_modules/awesome-typescript-loader/dist/entry.js!./aufgabe-list-form.ts\"));\n\t}, \"stammdaten\");\n}","module.exports = function(cb) {\n\trequire.ensure([], function(require) {\n\t\tcb(require(\"!!../../../../../node_modules/awesome-typescript-loader/dist/entry.js!./aufgabengruppe-edit-form.ts\"));\n\t}, \"stammdaten\");\n}","module.exports = function(cb) {\n\trequire.ensure([], function(require) {\n\t\tcb(require(\"!!../../../../../node_modules/awesome-typescript-loader/dist/entry.js!./aufgabengruppe-list-form.ts\"));\n\t}, \"stammdaten\");\n}","module.exports = function(cb) {\n\trequire.ensure([], function(require) {\n\t\tcb(require(\"!!../../../../../node_modules/awesome-typescript-loader/dist/entry.js!./aufgabenset-edit-form.ts\"));\n\t}, \"stammdaten\");\n}","module.exports = function(cb) {\n\trequire.ensure([], function(require) {\n\t\tcb(require(\"!!../../../../../node_modules/awesome-typescript-loader/dist/entry.js!./aufgabenset-list-form.ts\"));\n\t}, \"stammdaten\");\n}","module.exports = function(cb) {\n\trequire.ensure([], function(require) {\n\t\tcb(require(\"!!../../../../../node_modules/awesome-typescript-loader/dist/entry.js!./ausbildung-abschluss-edit-form.ts\"));\n\t}, \"stammdaten\");\n}","module.exports = function(cb) {\n\trequire.ensure([], function(require) {\n\t\tcb(require(\"!!../../../../../node_modules/awesome-typescript-loader/dist/entry.js!./ausbildung-abschluss-list-form.ts\"));\n\t}, \"stammdaten\");\n}","module.exports = function(cb) {\n\trequire.ensure([], function(require) {\n\t\tcb(require(\"!!../../../../../node_modules/awesome-typescript-loader/dist/entry.js!./ausbildung-edit-form.ts\"));\n\t}, \"stammdaten\");\n}","module.exports = function(cb) {\n\trequire.ensure([], function(require) {\n\t\tcb(require(\"!!../../../../../node_modules/awesome-typescript-loader/dist/entry.js!./ausbildung-list-form.ts\"));\n\t}, \"stammdaten\");\n}","module.exports = function(cb) {\n\trequire.ensure([], function(require) {\n\t\tcb(require(\"!!../../../../../node_modules/awesome-typescript-loader/dist/entry.js!./geschaeftspartner-edit-form.ts\"));\n\t}, \"stammdaten\");\n}","module.exports = function(cb) {\n\trequire.ensure([], function(require) {\n\t\tcb(require(\"!!../../../../../node_modules/awesome-typescript-loader/dist/entry.js!./ausbildungsort-edit-form.ts\"));\n\t}, \"stammdaten\");\n}","module.exports = function(cb) {\n\trequire.ensure([], function(require) {\n\t\tcb(require(\"!!../../../../../node_modules/awesome-typescript-loader/dist/entry.js!./ausbildungsort-list-form.ts\"));\n\t}, \"stammdaten\");\n}","module.exports = function(cb) {\n\trequire.ensure([], function(require) {\n\t\tcb(require(\"!!../../../../../node_modules/awesome-typescript-loader/dist/entry.js!./beruf-qualifikation-edit-form.ts\"));\n\t}, \"stammdaten\");\n}","module.exports = function(cb) {\n\trequire.ensure([], function(require) {\n\t\tcb(require(\"!!../../../../../node_modules/awesome-typescript-loader/dist/entry.js!./beruf-qualifikation-list-form.ts\"));\n\t}, \"stammdaten\");\n}","module.exports = function(cb) {\n\trequire.ensure([], function(require) {\n\t\tcb(require(\"!!../../../../../node_modules/awesome-typescript-loader/dist/entry.js!./beruf-edit-form.ts\"));\n\t}, \"stammdaten\");\n}","module.exports = function(cb) {\n\trequire.ensure([], function(require) {\n\t\tcb(require(\"!!../../../../../node_modules/awesome-typescript-loader/dist/entry.js!./beruf-list-form.ts\"));\n\t}, \"stammdaten\");\n}","module.exports = function(cb) {\n\trequire.ensure([], function(require) {\n\t\tcb(require(\"!!../../../../../node_modules/awesome-typescript-loader/dist/entry.js!./bewerbungsgrund-edit-form.ts\"));\n\t}, \"stammdaten\");\n}","module.exports = function(cb) {\n\trequire.ensure([], function(require) {\n\t\tcb(require(\"!!../../../../../node_modules/awesome-typescript-loader/dist/entry.js!./bewerbungsgrund-list-form.ts\"));\n\t}, \"stammdaten\");\n}","module.exports = function(cb) {\n\trequire.ensure([], function(require) {\n\t\tcb(require(\"!!../../../../../node_modules/awesome-typescript-loader/dist/entry.js!./bewerbungskanal-edit-form.ts\"));\n\t}, \"stammdaten\");\n}","module.exports = function(cb) {\n\trequire.ensure([], function(require) {\n\t\tcb(require(\"!!../../../../../node_modules/awesome-typescript-loader/dist/entry.js!./bewerbungskanal-list-form.ts\"));\n\t}, \"stammdaten\");\n}","module.exports = function(cb) {\n\trequire.ensure([], function(require) {\n\t\tcb(require(\"!!../../../../../node_modules/awesome-typescript-loader/dist/entry.js!./branche-edit-form.ts\"));\n\t}, \"stammdaten\");\n}","module.exports = function(cb) {\n\trequire.ensure([], function(require) {\n\t\tcb(require(\"!!../../../../../node_modules/awesome-typescript-loader/dist/entry.js!./branche-list-form.ts\"));\n\t}, \"stammdaten\");\n}","module.exports = function(cb) {\n\trequire.ensure([], function(require) {\n\t\tcb(require(\"!!../../../../../node_modules/awesome-typescript-loader/dist/entry.js!./dokumente-edit-form.ts\"));\n\t}, \"stammdaten\");\n}","module.exports = function(cb) {\n\trequire.ensure([], function(require) {\n\t\tcb(require(\"!!../../../../../node_modules/awesome-typescript-loader/dist/entry.js!./dokumente-list-form.ts\"));\n\t}, \"stammdaten\");\n}","module.exports = function(cb) {\n\trequire.ensure([], function(require) {\n\t\tcb(require(\"!!../../../../../node_modules/awesome-typescript-loader/dist/entry.js!./dokumenten-extension-edit-form.ts\"));\n\t}, \"stammdaten\");\n}","module.exports = function(cb) {\n\trequire.ensure([], function(require) {\n\t\tcb(require(\"!!../../../../../node_modules/awesome-typescript-loader/dist/entry.js!./dokumenten-extension-list-form.ts\"));\n\t}, \"stammdaten\");\n}","module.exports = function(cb) {\n\trequire.ensure([], function(require) {\n\t\tcb(require(\"!!../../../../../node_modules/awesome-typescript-loader/dist/entry.js!./domaene-edit-form.ts\"));\n\t}, \"stammdaten\");\n}","module.exports = function(cb) {\n\trequire.ensure([], function(require) {\n\t\tcb(require(\"!!../../../../../node_modules/awesome-typescript-loader/dist/entry.js!./domaene-list-form.ts\"));\n\t}, \"stammdaten\");\n}","module.exports = function(cb) {\n\trequire.ensure([], function(require) {\n\t\tcb(require(\"!!../../../../../node_modules/awesome-typescript-loader/dist/entry.js!./druckvorlage-paket-edit-form.ts\"));\n\t}, \"stammdaten\");\n}","module.exports = function(cb) {\n\trequire.ensure([], function(require) {\n\t\tcb(require(\"!!../../../../../node_modules/awesome-typescript-loader/dist/entry.js!./druckvorlage-paket-list-form.ts\"));\n\t}, \"stammdaten\");\n}","module.exports = function(cb) {\n\trequire.ensure([], function(require) {\n\t\tcb(require(\"!!../../../../../node_modules/awesome-typescript-loader/dist/entry.js!./druckvorlage-edit-form.ts\"));\n\t}, \"stammdaten\");\n}","module.exports = function(cb) {\n\trequire.ensure([], function(require) {\n\t\tcb(require(\"!!../../../../../node_modules/awesome-typescript-loader/dist/entry.js!./druckvorlage-list-form.ts\"));\n\t}, \"stammdaten\");\n}","module.exports = function(cb) {\n\trequire.ensure([], function(require) {\n\t\tcb(require(\"!!../../../../../node_modules/awesome-typescript-loader/dist/entry.js!./druckvorlage-zu-druckvorlage-paket-edit-form.ts\"));\n\t}, \"stammdaten\");\n}","module.exports = function(cb) {\n\trequire.ensure([], function(require) {\n\t\tcb(require(\"!!../../../../../node_modules/awesome-typescript-loader/dist/entry.js!./druckvorlage-zuteilung-durch-edit-form.ts\"));\n\t}, \"stammdaten\");\n}","module.exports = function(cb) {\n\trequire.ensure([], function(require) {\n\t\tcb(require(\"!!../../../../../node_modules/awesome-typescript-loader/dist/entry.js!./einsatzvorbereitung-edit-form.ts\"));\n\t}, \"stammdaten\");\n}","module.exports = function(cb) {\n\trequire.ensure([], function(require) {\n\t\tcb(require(\"!!../../../../../node_modules/awesome-typescript-loader/dist/entry.js!./einsatzvorbereitung-list-form.ts\"));\n\t}, \"stammdaten\");\n}","module.exports = function(cb) {\n\trequire.ensure([], function(require) {\n\t\tcb(require(\"!!../../../../../node_modules/awesome-typescript-loader/dist/entry.js!./entlohnungsschema-edit-form.ts\"));\n\t}, \"stammdaten\");\n}","module.exports = function(cb) {\n\trequire.ensure([], function(require) {\n\t\tcb(require(\"!!../../../../../node_modules/awesome-typescript-loader/dist/entry.js!./entlohnungsschema-list-form.ts\"));\n\t}, \"stammdaten\");\n}","module.exports = function(cb) {\n\trequire.ensure([], function(require) {\n\t\tcb(require(\"!!../../../../../node_modules/awesome-typescript-loader/dist/entry.js!./erklaerungsvideo-edit-form.ts\"));\n\t}, \"stammdaten\");\n}","module.exports = function(cb) {\n\trequire.ensure([], function(require) {\n\t\tcb(require(\"!!../../../../../node_modules/awesome-typescript-loader/dist/entry.js!./erklaerungsvideo-list-form.ts\"));\n\t}, \"stammdaten\");\n}","module.exports = function(cb) {\n\trequire.ensure([], function(require) {\n\t\tcb(require(\"!!../../../../../node_modules/awesome-typescript-loader/dist/entry.js!./event-anmeldungsgruppe-edit-form.ts\"));\n\t}, \"stammdaten\");\n}","module.exports = function(cb) {\n\trequire.ensure([], function(require) {\n\t\tcb(require(\"!!../../../../../node_modules/awesome-typescript-loader/dist/entry.js!./event-anmeldungsgruppe-list-form.ts\"));\n\t}, \"stammdaten\");\n}","module.exports = function(cb) {\n\trequire.ensure([], function(require) {\n\t\tcb(require(\"!!../../../../../node_modules/awesome-typescript-loader/dist/entry.js!./event-typ-edit-form.ts\"));\n\t}, \"stammdaten\");\n}","module.exports = function(cb) {\n\trequire.ensure([], function(require) {\n\t\tcb(require(\"!!../../../../../node_modules/awesome-typescript-loader/dist/entry.js!./event-typ-list-form.ts\"));\n\t}, \"stammdaten\");\n}","module.exports = function(cb) {\n\trequire.ensure([], function(require) {\n\t\tcb(require(\"!!../../../../../node_modules/awesome-typescript-loader/dist/entry.js!./familienstand-edit-form.ts\"));\n\t}, \"stammdaten\");\n}","module.exports = function(cb) {\n\trequire.ensure([], function(require) {\n\t\tcb(require(\"!!../../../../../node_modules/awesome-typescript-loader/dist/entry.js!./familienstand-list-form.ts\"));\n\t}, \"stammdaten\");\n}","module.exports = function(cb) {\n\trequire.ensure([], function(require) {\n\t\tcb(require(\"!!../../../../../node_modules/awesome-typescript-loader/dist/entry.js!./fuehrerscheinklasse-edit-form.ts\"));\n\t}, \"stammdaten\");\n}","module.exports = function(cb) {\n\trequire.ensure([], function(require) {\n\t\tcb(require(\"!!../../../../../node_modules/awesome-typescript-loader/dist/entry.js!./fuehrerscheinklasse-list-form.ts\"));\n\t}, \"stammdaten\");\n}","module.exports = function(cb) {\n\trequire.ensure([], function(require) {\n\t\tcb(require(\"!!../../../../../node_modules/awesome-typescript-loader/dist/entry.js!./funktion-edit-form.ts\"));\n\t}, \"stammdaten\");\n}","module.exports = function(cb) {\n\trequire.ensure([], function(require) {\n\t\tcb(require(\"!!../../../../../node_modules/awesome-typescript-loader/dist/entry.js!./funktion-list-form.ts\"));\n\t}, \"stammdaten\");\n}","module.exports = function(cb) {\n\trequire.ensure([], function(require) {\n\t\tcb(require(\"!!../../../../../node_modules/awesome-typescript-loader/dist/entry.js!./geschaeftspartner-gruppierung-edit-form.ts\"));\n\t}, \"stammdaten\");\n}","module.exports = function(cb) {\n\trequire.ensure([], function(require) {\n\t\tcb(require(\"!!../../../../../node_modules/awesome-typescript-loader/dist/entry.js!./geschaeftspartner-gruppierung-list-form.ts\"));\n\t}, \"stammdaten\");\n}","module.exports = function(cb) {\n\trequire.ensure([], function(require) {\n\t\tcb(require(\"!!../../../../../node_modules/awesome-typescript-loader/dist/entry.js!./geschaeftspartner-gruppierungstyp-edit-form.ts\"));\n\t}, \"stammdaten\");\n}","module.exports = function(cb) {\n\trequire.ensure([], function(require) {\n\t\tcb(require(\"!!../../../../../node_modules/awesome-typescript-loader/dist/entry.js!./geschaeftspartner-gruppierungstyp-list-form.ts\"));\n\t}, \"stammdaten\");\n}","module.exports = function(cb) {\n\trequire.ensure([], function(require) {\n\t\tcb(require(\"!!../../../../../node_modules/awesome-typescript-loader/dist/entry.js!./geschaeftspartnertyp-edit-form.ts\"));\n\t}, \"stammdaten\");\n}","module.exports = function(cb) {\n\trequire.ensure([], function(require) {\n\t\tcb(require(\"!!../../../../../node_modules/awesome-typescript-loader/dist/entry.js!./geschaeftspartnertyp-list-form.ts\"));\n\t}, \"stammdaten\");\n}","module.exports = function(cb) {\n\trequire.ensure([], function(require) {\n\t\tcb(require(\"!!../../../../../node_modules/awesome-typescript-loader/dist/entry.js!./groesse-edit-form.ts\"));\n\t}, \"stammdaten\");\n}","module.exports = function(cb) {\n\trequire.ensure([], function(require) {\n\t\tcb(require(\"!!../../../../../node_modules/awesome-typescript-loader/dist/entry.js!./groesse-list-form.ts\"));\n\t}, \"stammdaten\");\n}","module.exports = function(cb) {\n\trequire.ensure([], function(require) {\n\t\tcb(require(\"!!../../../../../node_modules/awesome-typescript-loader/dist/entry.js!./grund-edit-form.ts\"));\n\t}, \"stammdaten\");\n}","module.exports = function(cb) {\n\trequire.ensure([], function(require) {\n\t\tcb(require(\"!!../../../../../node_modules/awesome-typescript-loader/dist/entry.js!./grund-list-form.ts\"));\n\t}, \"stammdaten\");\n}","module.exports = function(cb) {\n\trequire.ensure([], function(require) {\n\t\tcb(require(\"!!../../../../../node_modules/awesome-typescript-loader/dist/entry.js!./informationstyp-edit-form.ts\"));\n\t}, \"stammdaten\");\n}","module.exports = function(cb) {\n\trequire.ensure([], function(require) {\n\t\tcb(require(\"!!../../../../../node_modules/awesome-typescript-loader/dist/entry.js!./informationstyp-list-form.ts\"));\n\t}, \"stammdaten\");\n}","module.exports = function(cb) {\n\trequire.ensure([], function(require) {\n\t\tcb(require(\"!!../../../../../node_modules/awesome-typescript-loader/dist/entry.js!./seiten-edit-form.ts\"));\n\t}, \"stammdaten\");\n}","module.exports = function(cb) {\n\trequire.ensure([], function(require) {\n\t\tcb(require(\"!!../../../../../node_modules/awesome-typescript-loader/dist/entry.js!./kollektivvertrag-edit-form.ts\"));\n\t}, \"stammdaten\");\n}","module.exports = function(cb) {\n\trequire.ensure([], function(require) {\n\t\tcb(require(\"!!../../../../../node_modules/awesome-typescript-loader/dist/entry.js!./kollektivvertrag-list-form.ts\"));\n\t}, \"stammdaten\");\n}","module.exports = function(cb) {\n\trequire.ensure([], function(require) {\n\t\tcb(require(\"!!../../../../../node_modules/awesome-typescript-loader/dist/entry.js!./kommunikationseinstellung-edit-form.ts\"));\n\t}, \"stammdaten\");\n}","module.exports = function(cb) {\n\trequire.ensure([], function(require) {\n\t\tcb(require(\"!!../../../../../node_modules/awesome-typescript-loader/dist/entry.js!./kommunikationseinstellung-list-form.ts\"));\n\t}, \"stammdaten\");\n}","module.exports = function(cb) {\n\trequire.ensure([], function(require) {\n\t\tcb(require(\"!!../../../../../node_modules/awesome-typescript-loader/dist/entry.js!./kommunikationseinstellungbild-edit-form.ts\"));\n\t}, \"stammdaten\");\n}","module.exports = function(cb) {\n\trequire.ensure([], function(require) {\n\t\tcb(require(\"!!../../../../../node_modules/awesome-typescript-loader/dist/entry.js!./kontakttyp-edit-form.ts\"));\n\t}, \"stammdaten\");\n}","module.exports = function(cb) {\n\trequire.ensure([], function(require) {\n\t\tcb(require(\"!!../../../../../node_modules/awesome-typescript-loader/dist/entry.js!./kontakttyp-list-form.ts\"));\n\t}, \"stammdaten\");\n}","module.exports = function(cb) {\n\trequire.ensure([], function(require) {\n\t\tcb(require(\"!!../../../../../node_modules/awesome-typescript-loader/dist/entry.js!./kostenstelle-edit-form.ts\"));\n\t}, \"stammdaten\");\n}","module.exports = function(cb) {\n\trequire.ensure([], function(require) {\n\t\tcb(require(\"!!../../../../../node_modules/awesome-typescript-loader/dist/entry.js!./kostenstelle-list-form.ts\"));\n\t}, \"stammdaten\");\n}","module.exports = function(cb) {\n\trequire.ensure([], function(require) {\n\t\tcb(require(\"!!../../../../../node_modules/awesome-typescript-loader/dist/entry.js!./lehrberuf-edit-form.ts\"));\n\t}, \"stammdaten\");\n}","module.exports = function(cb) {\n\trequire.ensure([], function(require) {\n\t\tcb(require(\"!!../../../../../node_modules/awesome-typescript-loader/dist/entry.js!./lehrberuf-list-form.ts\"));\n\t}, \"stammdaten\");\n}","module.exports = function(cb) {\n\trequire.ensure([], function(require) {\n\t\tcb(require(\"!!../../../../../node_modules/awesome-typescript-loader/dist/entry.js!./objekt-export-eigenschaft-csharp-edit-form.ts\"));\n\t}, \"stammdaten\");\n}","module.exports = function(cb) {\n\trequire.ensure([], function(require) {\n\t\tcb(require(\"!!../../../../../node_modules/awesome-typescript-loader/dist/entry.js!./objekt-export-eigenschaft-expression-edit-form.ts\"));\n\t}, \"stammdaten\");\n}","module.exports = function(cb) {\n\trequire.ensure([], function(require) {\n\t\tcb(require(\"!!../../../../../node_modules/awesome-typescript-loader/dist/entry.js!./objekt-export-eigenschaft-list-form.ts\"));\n\t}, \"stammdaten\");\n}","module.exports = function(cb) {\n\trequire.ensure([], function(require) {\n\t\tcb(require(\"!!../../../../../node_modules/awesome-typescript-loader/dist/entry.js!./objekt-marker-auswaehlen-form.ts\"));\n\t}, \"stammdaten\");\n}","module.exports = function(cb) {\n\trequire.ensure([], function(require) {\n\t\tcb(require(\"!!../../../../../node_modules/awesome-typescript-loader/dist/entry.js!./objekt-marker-edit-form.ts\"));\n\t}, \"stammdaten\");\n}","module.exports = function(cb) {\n\trequire.ensure([], function(require) {\n\t\tcb(require(\"!!../../../../../node_modules/awesome-typescript-loader/dist/entry.js!./objekt-marker-list-form.ts\"));\n\t}, \"stammdaten\");\n}","module.exports = function(cb) {\n\trequire.ensure([], function(require) {\n\t\tcb(require(\"!!../../../../../node_modules/awesome-typescript-loader/dist/entry.js!./objekt-marker-zus-loginprofil-edit-form.ts\"));\n\t}, \"stammdaten\");\n}","module.exports = function(cb) {\n\trequire.ensure([], function(require) {\n\t\tcb(require(\"!!../../../../../node_modules/awesome-typescript-loader/dist/entry.js!./objekt-status-sammlung-edit-form.ts\"));\n\t}, \"stammdaten\");\n}","module.exports = function(cb) {\n\trequire.ensure([], function(require) {\n\t\tcb(require(\"!!../../../../../node_modules/awesome-typescript-loader/dist/entry.js!./objekt-status-sammlung-list-form.ts\"));\n\t}, \"stammdaten\");\n}","module.exports = function(cb) {\n\trequire.ensure([], function(require) {\n\t\tcb(require(\"!!../../../../../node_modules/awesome-typescript-loader/dist/entry.js!./benutzer-objekt-status-benutzerrolle-edit-form.ts\"));\n\t}, \"stammdaten\");\n}","module.exports = function(cb) {\n\trequire.ensure([], function(require) {\n\t\tcb(require(\"!!../../../../../node_modules/awesome-typescript-loader/dist/entry.js!./benutzer-objekt-status-edit-form.ts\"));\n\t}, \"stammdaten\");\n}","module.exports = function(cb) {\n\trequire.ensure([], function(require) {\n\t\tcb(require(\"!!../../../../../node_modules/awesome-typescript-loader/dist/entry.js!./objekt-status-edit-form.ts\"));\n\t}, \"stammdaten\");\n}","module.exports = function(cb) {\n\trequire.ensure([], function(require) {\n\t\tcb(require(\"!!../../../../../node_modules/awesome-typescript-loader/dist/entry.js!./objekt-status-list-form.ts\"));\n\t}, \"stammdaten\");\n}","module.exports = function(cb) {\n\trequire.ensure([], function(require) {\n\t\tcb(require(\"!!../../../../../node_modules/awesome-typescript-loader/dist/entry.js!./schnittstellenbenutzer-edit-form.ts\"));\n\t}, \"stammdaten\");\n}","module.exports = function(cb) {\n\trequire.ensure([], function(require) {\n\t\tcb(require(\"!!../../../../../node_modules/awesome-typescript-loader/dist/entry.js!./package-edit-form.ts\"));\n\t}, \"stammdaten\");\n}","module.exports = function(cb) {\n\trequire.ensure([], function(require) {\n\t\tcb(require(\"!!../../../../../node_modules/awesome-typescript-loader/dist/entry.js!./package-list-form.ts\"));\n\t}, \"stammdaten\");\n}","module.exports = function(cb) {\n\trequire.ensure([], function(require) {\n\t\tcb(require(\"!!../../../../../node_modules/awesome-typescript-loader/dist/entry.js!./pfad-edit-form.ts\"));\n\t}, \"stammdaten\");\n}","module.exports = function(cb) {\n\trequire.ensure([], function(require) {\n\t\tcb(require(\"!!../../../../../node_modules/awesome-typescript-loader/dist/entry.js!./pfad-list-form.ts\"));\n\t}, \"stammdaten\");\n}","module.exports = function(cb) {\n\trequire.ensure([], function(require) {\n\t\tcb(require(\"!!../../../../../node_modules/awesome-typescript-loader/dist/entry.js!./pvtext-edit-form.ts\"));\n\t}, \"stammdaten\");\n}","module.exports = function(cb) {\n\trequire.ensure([], function(require) {\n\t\tcb(require(\"!!../../../../../node_modules/awesome-typescript-loader/dist/entry.js!./pvtext-list-form.ts\"));\n\t}, \"stammdaten\");\n}","module.exports = function(cb) {\n\trequire.ensure([], function(require) {\n\t\tcb(require(\"!!../../../../../node_modules/awesome-typescript-loader/dist/entry.js!./regel-aktion-csharp-edit-form.ts\"));\n\t}, \"stammdaten\");\n}","module.exports = function(cb) {\n\trequire.ensure([], function(require) {\n\t\tcb(require(\"!!../../../../../node_modules/awesome-typescript-loader/dist/entry.js!./regel-edit-form.ts\"));\n\t}, \"stammdaten\");\n}","module.exports = function(cb) {\n\trequire.ensure([], function(require) {\n\t\tcb(require(\"!!../../../../../node_modules/awesome-typescript-loader/dist/entry.js!./regel-list-form.ts\"));\n\t}, \"stammdaten\");\n}","module.exports = function(cb) {\n\trequire.ensure([], function(require) {\n\t\tcb(require(\"!!../../../../../node_modules/awesome-typescript-loader/dist/entry.js!./schnittstellenbenutzer-edit-form.ts\"));\n\t}, \"stammdaten\");\n}","module.exports = function(cb) {\n\trequire.ensure([], function(require) {\n\t\tcb(require(\"!!../../../../../node_modules/awesome-typescript-loader/dist/entry.js!./schnittstellenbenutzer-list-form.ts\"));\n\t}, \"stammdaten\");\n}","module.exports = function(cb) {\n\trequire.ensure([], function(require) {\n\t\tcb(require(\"!!../../../../../node_modules/awesome-typescript-loader/dist/entry.js!./webhook-edit-form.ts\"));\n\t}, \"stammdaten\");\n}","module.exports = function(cb) {\n\trequire.ensure([], function(require) {\n\t\tcb(require(\"!!../../../../../node_modules/awesome-typescript-loader/dist/entry.js!./schnupperberuf-geschaeftspartner-edit-form.ts\"));\n\t}, \"stammdaten\");\n}","module.exports = function(cb) {\n\trequire.ensure([], function(require) {\n\t\tcb(require(\"!!../../../../../node_modules/awesome-typescript-loader/dist/entry.js!./schnupperberuf-geschaeftspartner-list-form.ts\"));\n\t}, \"stammdaten\");\n}","module.exports = function(cb) {\n\trequire.ensure([], function(require) {\n\t\tcb(require(\"!!../../../../../node_modules/awesome-typescript-loader/dist/entry.js!./schnuppertermin-anfrageart-edit-form.ts\"));\n\t}, \"stammdaten\");\n}","module.exports = function(cb) {\n\trequire.ensure([], function(require) {\n\t\tcb(require(\"!!../../../../../node_modules/awesome-typescript-loader/dist/entry.js!./schnuppertermin-anfrageart-list-form.ts\"));\n\t}, \"stammdaten\");\n}","module.exports = function(cb) {\n\trequire.ensure([], function(require) {\n\t\tcb(require(\"!!../../../../../node_modules/awesome-typescript-loader/dist/entry.js!./skill-gruppe-edit-form.ts\"));\n\t}, \"stammdaten\");\n}","module.exports = function(cb) {\n\trequire.ensure([], function(require) {\n\t\tcb(require(\"!!../../../../../node_modules/awesome-typescript-loader/dist/entry.js!./skill-gruppe-list-form.ts\"));\n\t}, \"stammdaten\");\n}","module.exports = function(cb) {\n\trequire.ensure([], function(require) {\n\t\tcb(require(\"!!../../../../../node_modules/awesome-typescript-loader/dist/entry.js!./skill-edit-form.ts\"));\n\t}, \"stammdaten\");\n}","module.exports = function(cb) {\n\trequire.ensure([], function(require) {\n\t\tcb(require(\"!!../../../../../node_modules/awesome-typescript-loader/dist/entry.js!./skill-list-form.ts\"));\n\t}, \"stammdaten\");\n}","module.exports = function(cb) {\n\trequire.ensure([], function(require) {\n\t\tcb(require(\"!!../../../../../node_modules/awesome-typescript-loader/dist/entry.js!./sprache-edit-form.ts\"));\n\t}, \"stammdaten\");\n}","module.exports = function(cb) {\n\trequire.ensure([], function(require) {\n\t\tcb(require(\"!!../../../../../node_modules/awesome-typescript-loader/dist/entry.js!./sprache-list-form.ts\"));\n\t}, \"stammdaten\");\n}","module.exports = function(cb) {\n\trequire.ensure([], function(require) {\n\t\tcb(require(\"!!../../../../../node_modules/awesome-typescript-loader/dist/entry.js!./sprachniveau-edit-form.ts\"));\n\t}, \"stammdaten\");\n}","module.exports = function(cb) {\n\trequire.ensure([], function(require) {\n\t\tcb(require(\"!!../../../../../node_modules/awesome-typescript-loader/dist/entry.js!./sprachniveau-list-form.ts\"));\n\t}, \"stammdaten\");\n}","module.exports = function(cb) {\n\trequire.ensure([], function(require) {\n\t\tcb(require(\"!!../../../../../node_modules/awesome-typescript-loader/dist/entry.js!./staat-edit-form.ts\"));\n\t}, \"stammdaten\");\n}","module.exports = function(cb) {\n\trequire.ensure([], function(require) {\n\t\tcb(require(\"!!../../../../../node_modules/awesome-typescript-loader/dist/entry.js!./staat-list-form.ts\"));\n\t}, \"stammdaten\");\n}","module.exports = function(cb) {\n\trequire.ensure([], function(require) {\n\t\tcb(require(\"!!../../../../../node_modules/awesome-typescript-loader/dist/entry.js!./statistikdaten-edit-form.ts\"));\n\t}, \"stammdaten\");\n}","module.exports = function(cb) {\n\trequire.ensure([], function(require) {\n\t\tcb(require(\"!!../../../../../node_modules/awesome-typescript-loader/dist/entry.js!./statistikdaten-list-form.ts\"));\n\t}, \"stammdaten\");\n}","module.exports = function(cb) {\n\trequire.ensure([], function(require) {\n\t\tcb(require(\"!!../../../../../node_modules/awesome-typescript-loader/dist/entry.js!./stelleninserat-bewerbungstyp-edit-form.ts\"));\n\t}, \"stammdaten\");\n}","module.exports = function(cb) {\n\trequire.ensure([], function(require) {\n\t\tcb(require(\"!!../../../../../node_modules/awesome-typescript-loader/dist/entry.js!./stelleninserat-bewerbungstyp-list-form.ts\"));\n\t}, \"stammdaten\");\n}","module.exports = function(cb) {\n\trequire.ensure([], function(require) {\n\t\tcb(require(\"!!../../../../../node_modules/awesome-typescript-loader/dist/entry.js!./stelleninserat-gruppentyp-edit-form.ts\"));\n\t}, \"stammdaten\");\n}","module.exports = function(cb) {\n\trequire.ensure([], function(require) {\n\t\tcb(require(\"!!../../../../../node_modules/awesome-typescript-loader/dist/entry.js!./stelleninserat-gruppentyp-list-form.ts\"));\n\t}, \"stammdaten\");\n}","module.exports = function(cb) {\n\trequire.ensure([], function(require) {\n\t\tcb(require(\"!!../../../../../node_modules/awesome-typescript-loader/dist/entry.js!./survey-monkey-fragebogen-list-form.ts\"));\n\t}, \"stammdaten\");\n}","module.exports = function(cb) {\n\trequire.ensure([], function(require) {\n\t\tcb(require(\"!!../../../../../node_modules/awesome-typescript-loader/dist/entry.js!./termintyp-edit-form.ts\"));\n\t}, \"stammdaten\");\n}","module.exports = function(cb) {\n\trequire.ensure([], function(require) {\n\t\tcb(require(\"!!../../../../../node_modules/awesome-typescript-loader/dist/entry.js!./termintyp-list-form.ts\"));\n\t}, \"stammdaten\");\n}","module.exports = function(cb) {\n\trequire.ensure([], function(require) {\n\t\tcb(require(\"!!../../../../../node_modules/awesome-typescript-loader/dist/entry.js!./unternehmen-edit-form.ts\"));\n\t}, \"stammdaten\");\n}","module.exports = function(cb) {\n\trequire.ensure([], function(require) {\n\t\tcb(require(\"!!../../../../../node_modules/awesome-typescript-loader/dist/entry.js!./unternehmen-list-form.ts\"));\n\t}, \"stammdaten\");\n}","module.exports = function(cb) {\n\trequire.ensure([], function(require) {\n\t\tcb(require(\"!!../../../../../node_modules/awesome-typescript-loader/dist/entry.js!./unternehmensbereich-edit-form.ts\"));\n\t}, \"stammdaten\");\n}","module.exports = function(cb) {\n\trequire.ensure([], function(require) {\n\t\tcb(require(\"!!../../../../../node_modules/awesome-typescript-loader/dist/entry.js!./unternehmensbereich-list-form.ts\"));\n\t}, \"stammdaten\");\n}","module.exports = function(cb) {\n\trequire.ensure([], function(require) {\n\t\tcb(require(\"!!../../../../../node_modules/awesome-typescript-loader/dist/entry.js!./updatehinweis-edit-form.ts\"));\n\t}, \"stammdaten\");\n}","module.exports = function(cb) {\n\trequire.ensure([], function(require) {\n\t\tcb(require(\"!!../../../../../node_modules/awesome-typescript-loader/dist/entry.js!./updatehinweis-list-form.ts\"));\n\t}, \"stammdaten\");\n}","module.exports = function(cb) {\n\trequire.ensure([], function(require) {\n\t\tcb(require(\"!!../../../../../node_modules/awesome-typescript-loader/dist/entry.js!./verwandtschaftsverhaeltnis-edit-form.ts\"));\n\t}, \"stammdaten\");\n}","module.exports = function(cb) {\n\trequire.ensure([], function(require) {\n\t\tcb(require(\"!!../../../../../node_modules/awesome-typescript-loader/dist/entry.js!./verwandtschaftsverhaeltnis-list-form.ts\"));\n\t}, \"stammdaten\");\n}","module.exports = function(cb) {\n\trequire.ensure([], function(require) {\n\t\tcb(require(\"!!../../../../../node_modules/awesome-typescript-loader/dist/entry.js!./waehrung-edit-form.ts\"));\n\t}, \"stammdaten\");\n}","module.exports = function(cb) {\n\trequire.ensure([], function(require) {\n\t\tcb(require(\"!!../../../../../node_modules/awesome-typescript-loader/dist/entry.js!./waehrung-list-form.ts\"));\n\t}, \"stammdaten\");\n}","module.exports = function(cb) {\n\trequire.ensure([], function(require) {\n\t\tcb(require(\"!!../../../../../node_modules/awesome-typescript-loader/dist/entry.js!./willkommensseite-edit-form.ts\"));\n\t}, \"stammdaten\");\n}","module.exports = function(cb) {\n\trequire.ensure([], function(require) {\n\t\tcb(require(\"!!../../../../../node_modules/awesome-typescript-loader/dist/entry.js!./willkommensseite-list-form.ts\"));\n\t}, \"stammdaten\");\n}","module.exports = function(cb) {\n\trequire.ensure([], function(require) {\n\t\tcb(require(\"!!../../../../../node_modules/awesome-typescript-loader/dist/entry.js!./benutzer-zustand-edit-form.ts\"));\n\t}, \"stammdaten\");\n}","module.exports = function(cb) {\n\trequire.ensure([], function(require) {\n\t\tcb(require(\"!!../../../../../node_modules/awesome-typescript-loader/dist/entry.js!./zustand-edit-form.ts\"));\n\t}, \"stammdaten\");\n}","module.exports = function(cb) {\n\trequire.ensure([], function(require) {\n\t\tcb(require(\"!!../../../../../node_modules/awesome-typescript-loader/dist/entry.js!./zustand-list-form.ts\"));\n\t}, \"stammdaten\");\n}","module.exports = function(cb) {\n\trequire.ensure([], function(require) {\n\t\tcb(require(\"!!../../../../node_modules/awesome-typescript-loader/dist/entry.js!./tableau-list-form.ts\"));\n\t}, \"tableau\");\n}","export enum Geschlecht {\n Maennlich = 0,\n Weiblich = 1,\n Divers = 2\n}\n","import { autoinject, transient } from \"aurelia-framework\";\nimport { LocalizationService, LocationService } from \"../../../../framework/base/export\";\nimport { ContextMenu, FormBase } from \"../../../../framework/forms/classes/export\";\nimport { ICommandData } from \"../../../../framework/forms/interfaces/command-data\";\nimport { IZitTagOptions } from \"../../../../zit-ui/elements/zit-tag/zit-tag-options\";\nimport { IZitToolbarOptions } from \"../../../../zit-ui/elements/zit-toolbar/zit-toolbar-options\";\nimport { IdxPopupComponent } from \"../../../interfaces/export\";\nimport { AufgabeService, NavTyp } from \"../../../services/aufgabe-service\";\nimport { StartupService } from \"../../../services/export\";\nimport { FormPopupService } from \"../../../services/form-popup-service\";\n\n@autoinject\n@transient()\nexport class AufgabeEditUtils {\n private TIMEOUT: number = 3000;\n\n constructor(\n private _locationService: LocationService,\n private _aufgabeService: AufgabeService,\n private _localizationService: LocalizationService,\n private _startupService: StartupService,\n private _formPopupService: FormPopupService\n ) { }\n\n form: FormBase;\n\n navPrevCommand: ICommandData = {\n id: \"navPrevCommand\",\n icon: \"fas fa-arrow-left\",\n tooltip: \"aufgabe-read.vorherige\",\n sortIndex: 200,\n isVisibleExpression: \"models.data.$m_Aufgabe.Kopf.StammAufgabensetVersion.Typ === 1\",\n execute: async() => {\n const r = await this._aufgabeService.nav({\n IdAufgabe: this.form.models.data.$m_Aufgabe.Id,\n NavTyp: NavTyp.Vorherige\n });\n\n if (!r || r.AufgabeList.length == 0) {\n DevExpress.ui.notify(\n this._localizationService.translateOnce(\"aufgabe-read.kein-vorherige\"),\n \"info\",\n this.TIMEOUT);\n\n return;\n }\n\n this._locationService.goTo({\n url: `Objekte/Aufgabe/${r.AufgabeList[0].Id}`,\n currentViewModel: this.form,\n replace: true\n });\n }\n };\n navNextCommand: ICommandData = {\n id: \"navNextCommand\",\n icon: \"fas fa-arrow-right\",\n tooltip: \"aufgabe-read.naechste\",\n sortIndex: 201,\n isVisibleExpression: \"models.data.$m_Aufgabe.Kopf.StammAufgabensetVersion.Typ === 1\",\n execute: async() => {\n const r = await this._aufgabeService.nav({\n IdAufgabe: this.form.models.data.$m_Aufgabe.Id,\n NavTyp: NavTyp.Naechste\n });\n\n if (!r || r.AufgabeList.length == 0) {\n DevExpress.ui.notify(\n this._localizationService.translateOnce(\"aufgabe-read.kein-nachfolge\"),\n \"info\",\n this.TIMEOUT);\n\n return;\n }\n\n this._locationService.goTo({\n url: `Objekte/Aufgabe/${r.AufgabeList[0].Id}`,\n currentViewModel: this.form,\n replace: true\n });\n }\n };\n navHistoryCommand: ICommandData = {\n id: \"navHistoryCommand\",\n icon: \"fas fa-history\",\n tooltip: \"aufgabe-read.wechseln\",\n sortIndex: 202,\n isVisibleExpression: \"models.data.$m_Aufgabe.Kopf.StammAufgabensetVersion.Typ === 1\",\n execute: async(ev) => {\n const r = await this._aufgabeService.nav({\n IdAufgabe: this.form.models.data.$m_Aufgabe.Id,\n NavTyp: NavTyp.Alle\n });\n\n if (!r) {\n return;\n }\n\n const ctx = new ContextMenu();\n r.AufgabeList.forEach((a) => {\n ctx.items.push({\n text: a.Bezeichnung,\n execute: () => {\n this._locationService.goTo({\n url: `Objekte/Aufgabe/${a.Id}`,\n currentViewModel: this.form,\n replace: true\n });\n }\n });\n });\n\n ctx.show(ev.event.target);\n }\n };\n infoAusbilderCommand: ICommandData = {\n id: \"infoAusbilderCommand\",\n icon: \"fas fa-info-circle\",\n title: \"aufgabe-read.info-ausbilder\",\n sortIndex: 300,\n isVisible: false,\n execute: async(ev) => {\n this._formPopupService.formPopup.show({\n titel: \"Info für Ausbilder\",\n formDef: [{\n name: \"info\",\n template: (data: any, itemElement: HTMLElement) => {\n itemElement.style.maxWidth = \"400px\";\n itemElement.innerHTML = this.form.models.data.$m_Aufgabe.Kopf.StammAufgabeVersion.BemerkungAusbilder;\n }\n }]\n });\n }\n };\n addZielCommand: ICommandData = {\n id: \"addZielCommand\",\n icon: \"fas fa-tasks\",\n title: \"aufgabe-read.neues-ziel\",\n sortIndex: 290,\n isVisibleExpression: \"models.data.$m_Aufgabe.Id > 0\",\n execute: async(ev) => {\n this._locationService.goTo({\n url: \"Objekte/Ziel/0\",\n clearStack: false,\n currentViewModel: this.form,\n customOptions: {\n idUrsprungsobjekt: this.form.models.data.$m_Aufgabe.Id\n },\n });\n }\n };\n\n beantwToolbarOptions: IZitToolbarOptions = {\n title: \"aufgabe-read.deine-antwort\",\n smallToolbar: true,\n items: [{\n id: \"info\",\n icon: \"fas fa-info\",\n isVisible: [\"ADMIN\", \"ADMIN_HB\", \"TEAM\"].indexOf(this._startupService.startupInfo.Benutzer.CodeBenutzerrolle) >= 0,\n execute: async(e) => {\n await this.form.saveIfDirty();\n\n const popup: IdxPopupComponent = this.form[\"r_popupInf\"];\n popup.instance.show();\n }\n }]\n };\n\n indexAnzahlTagOptions: IZitTagOptions = {\n icon: {\n faIcon: \"fas fa-map-signs\"\n },\n textExpression: \"'Aufgabe ' + (item._Index + (item.Kopf.IsErfuellt ? 0 : 1)) + ' von ' + item._Anzahl\"\n };\n objektTagOptions: IZitTagOptions = {\n icon: {\n textExpression: \"item._ObjektTyp\"\n },\n textExpression: \"item._ObjektBezeichnung\",\n onClick: (e, data) => {\n if (data._ObjektTyp == \"P\") {\n this._locationService.goTo({\n url: `Objekte/Person/${data._IdObjekt}`,\n currentViewModel: this.form\n });\n } else if (data._ObjektTyp == \"A\") {\n this._locationService.goTo({\n url: `Objekte/Ansprechperson/${data._IdObjekt}`,\n currentViewModel: this.form\n });\n }\n }\n };\n dauerTagOptions: IZitTagOptions = {\n icon: {\n faIcon: \"far fa-clock\"\n },\n textExpression: \"item.DauerMinuten | zitMinutenText\"\n };\n aufgabensetTagOptions: IZitTagOptions = {\n icon: {\n text: \"AS\"\n },\n textExpression: \"item.Bezeichnung\"\n };\n vorbereitetTagOptions: IZitTagOptions = {\n icon: {\n faIcon: \"fas fa-info\",\n backgroundColor: \"#C24334\"\n },\n textExpression: \"'Startdatum noch nicht erreicht (' + globalization.format(item.StartDatum, 'd') + ')'\",\n backgroundColor: \"#E84C3D\",\n color: \"white\"\n };\n vorgaengerOffenTagOptions: IZitTagOptions = {\n icon: {\n faIcon: \"fas fa-info\",\n backgroundColor: \"#C24334\"\n },\n text: \"Vorgängeraufgabe noch nicht erfüllt\",\n backgroundColor: \"#E84C3D\",\n color: \"white\"\n };\n bestaetigungOffenTagOptions: IZitTagOptions = {\n icon: {\n faIcon: \"fas fa-info\",\n backgroundColor: \"#D35400\"\n },\n text: \"Bestätigung ausständig\",\n backgroundColor: \"#E67F22\",\n color: \"white\"\n };\n bestaetigungOffen2TagOptions: IZitTagOptions = {\n icon: {\n faIcon: \"fas fa-hourglass\",\n backgroundColor: \"#D25400\"\n },\n textExpression: \"'Die Aufgabe muss von ' + item.BestaetigungBenutzerName + ' bestätigt werden'\",\n backgroundColor: \"#E67F22\",\n color: \"white\"\n };\n\n bind(form: FormBase) {\n this.form = form;\n\n this.form.callOnCommandsLoaded(() => {\n const saveCommand = this.form.commands.getCommands()\n .find((c) => c.id == \"$save\");\n if (saveCommand) {\n saveCommand.isVisible = false;\n }\n });\n\n this.form.models.onLoaded.register(async(ev) => {\n if (ev.model.id == \"$m_Aufgabe\") {\n this.checkInfoAusbilderVisible(ev.data);\n }\n });\n this.form.onSaved.register(async(ev) => {\n const data = this.form.models.data.$m_Aufgabe;\n\n if (data && data.Id && !data._CanErfuellen && !data._CanBestaetigen && data.Kopf.IsBestaetigt) {\n const r = await this._aufgabeService.nav({\n IdAufgabe: data.Id,\n NavTyp: NavTyp.Naechste\n });\n\n if (r && r.AufgabeList.length > 0) {\n this._locationService.goTo({\n url: `Objekte/Aufgabe/${r.AufgabeList[0].Id}`,\n currentViewModel: this.form,\n replace: true\n });\n }\n }\n });\n }\n\n async onErfuelltClick() {\n let data = this.form.models.data.$m_Aufgabe;\n if (data.Kopf.IsErfuellt) {\n DevExpress.ui.notify(\n \"Aufgabe wurde bereits erfüllt\",\n \"info\",\n this.TIMEOUT\n );\n\n return;\n } else if (!data._CanErfuellen) {\n DevExpress.ui.notify(\n \"Aufgabe kann noch nicht erfüllt werden\",\n \"error\",\n this.TIMEOUT\n );\n\n return;\n }\n\n const r1 = await this.form.saveIfDirty();\n if (!r1.isValid) {\n return;\n }\n\n //Neu holen, da die Daten ev. geändert wurden\n data = this.form.models.data.$m_Aufgabe;\n data.Kopf.IsErfuellt = true;\n\n const r2 = await this.form.save();\n if (!r2.isValid) {\n data.Kopf.IsErfuellt = false;\n }\n }\n async onBestaetigtClick() {\n const r1 = await this.form.saveIfDirty();\n if (!r1.isValid) {\n return;\n }\n\n const data = this.form.models.data.$m_Aufgabe;\n data.Kopf.IsBestaetigt = true;\n\n const r2 = await this.form.save();\n if (!r2.isValid) {\n data.Kopf.IsBestaetigt = false;\n }\n }\n async onRetourClick() {\n const r1 = await this.form.saveIfDirty();\n if (!r1.isValid) {\n return;\n }\n\n const data = this.form.models.data.$m_Aufgabe;\n data.Kopf.IsErfuellt = false;\n await this.form.save();\n }\n\n private checkInfoAusbilderVisible(data) {\n const benutzergruppeList = [\"ADMIN\", \"ADMIN_HB\", \"TEAM\", \"KUNDE\"];\n\n this.infoAusbilderCommand.isVisible = data\n && data.Kopf\n && data.Kopf.StammAufgabeVersion\n && data.Kopf.StammAufgabeVersion.BemerkungAusbilder\n && benutzergruppeList.indexOf(this._startupService.startupInfo.Benutzer.CodeBenutzerrolle) >= 0;\n }\n}\n","import { autoinject } from \"aurelia-framework\";\nimport { IHtmlEditorOptions } from '../widget-options/html-editor-options';\n\nimport * as Quill from \"quill\";\nimport { ICommandData } from '../interfaces/export';\nimport { CommandService } from './command-service';\nimport { ScopeContainer, BindingService } from '../../base/export';\nimport { EventAggregator } from 'aurelia-event-aggregator';\nconst Embed = Quill.import(\"blots/embed\");\n\nexport class CustomTabBlot extends Embed {\n static create() {\n const node = super.create();\n node.innerText = \"\\t\";\n\n return node;\n }\n static value(node) {\n return {\n value: node.innerText || null,\n };\n }\n\n static blotName = \"custom-tab\";\n static tagName = \"span\";\n static className = \"t--html-custom-tab\";\n}\n\nQuill.register(\"formats/custom-tab\", CustomTabBlot);\n\n@autoinject\nexport class HtmlEditorService {\n constructor(\n private commandService: CommandService,\n private bindingService: BindingService,\n private eventAggregator: EventAggregator\n ) { }\n\n defaultHeaders = [1, 2];\n\n configureHtmlEditor(scopeContainer: ScopeContainer, options: IHtmlEditorOptions, editorOptions: DevExpress.ui.dxHtmlEditorOptions) {\n let onInitialized = editorOptions.onInitialized;\n let onContentReady = editorOptions.onContentReady;\n let onDisposing = editorOptions.onDisposing;\n let htmlEditor: DevExpress.ui.dxHtmlEditor;\n\n editorOptions.onInitialized = (e) => {\n if (onInitialized) {\n onInitialized(e);\n }\n\n htmlEditor = e.component;\n }\n editorOptions.onContentReady = (e) => {\n if (onContentReady) {\n onContentReady(e);\n }\n\n const quill = e.component.getQuillInstance();\n this.configurePasteWithoutFont(quill);\n this.rebindTabKey(quill);\n\n };\n editorOptions.onDisposing = (e) => {\n if (onDisposing) {\n onDisposing(e);\n onDisposing = null;\n }\n\n htmlEditor = null;\n }\n\n if (options.height) {\n editorOptions.height = options.height;\n } else {\n editorOptions.height = \"150px\";\n }\n\n if (options.showToolbar == void (0)) {\n options.showToolbar = true;\n }\n\n if (options.mentionKey) {\n const args = {\n mentionKey: options.mentionKey,\n mention: null\n };\n\n this.eventAggregator.publish(\"html-editor:mention\", args);\n\n if (args.mention) {\n editorOptions.mentions = [args.mention];\n }\n }\n\n if (options.showToolbar) {\n const toolbarItems: any[] = [\"bold\", \"italic\", \"underline\", \"orderedList\", \"bulletList\", \"link\"];\n\n if (options.allowImages) {\n this.addImageButton(toolbarItems, () => htmlEditor);\n }\n if (options.allowHeaders) {\n toolbarItems.push({\n formatName: \"header\",\n formatValues: ([false]).concat(...this.defaultHeaders)\n });\n }\n if (options.allowColors) {\n toolbarItems.push(\"color\", \"background\");\n }\n if (options.variables != void (0)) {\n editorOptions.variables = {\n dataSource: options.variables.split(\";\").filter(c => !!c)\n };\n\n if (options.variableEscapeChars) {\n editorOptions.variables.escapeChar = options.variableEscapeChars.split(\";\");\n } else {\n editorOptions.variables.escapeChar = [\"${\", \"}\"]\n }\n\n toolbarItems.push(\"variable\");\n }\n if (options.commandData && options.commandData.length > 0) {\n this.addCommandDataToToolbar(scopeContainer, toolbarItems, options.commandData, () => htmlEditor);\n }\n\n toolbarItems.push(\"clear\");\n\n editorOptions.toolbar = {\n items: toolbarItems\n };\n }\n }\n\n private configurePasteWithoutFont(quill: any) {\n quill.clipboard.addMatcher(Node.ELEMENT_NODE, (node, delta) => {\n delta.ops = delta.ops.map(op => {\n const attributes = Object.assign({}, op.attributes || {});\n delete attributes.font;\n delete attributes.size;\n\n return {\n insert: op.insert,\n attributes: attributes\n };\n });\n\n return delta;\n });\n }\n private rebindTabKey(quill) {\n const tabBindings = quill.keyboard.bindings[9];\n if (tabBindings) {\n for (let i = 0; i < tabBindings.length; i++) {\n const tabBinding = tabBindings[i];\n if (tabBinding.format) {\n continue;\n }\n\n tabBindings.splice(i, 1);\n i--;\n }\n }\n\n quill.keyboard.addBinding({\n key: 9,\n }, (r, e) => {\n quill.insertEmbed(r.index, \"custom-tab\", \"\");\n quill.setSelection(r.index + 1)\n });\n }\n private addImageButton(toolbarItems: any[], getHtmlEditor: { (): DevExpress.ui.dxHtmlEditor }) {\n //TODO DXUPDATE\n toolbarItems.push({\n widget: \"dxButton\",\n options: {\n icon: \"far fa-image\",\n hint: \"Bild einfügen\",\n stylingMode: \"text\",\n onClick: (e) => {\n e.event.stopPropagation();\n e.event.preventDefault();\n\n const htmlEditor = getHtmlEditor();\n if (!htmlEditor) {\n return;\n }\n\n const editor: any = htmlEditor;\n if (!editor._imgUpload) {\n const input = document.createElement(\"input\");\n input.type = \"file\";\n input.accept = \"image/png, image/gif, image/jpeg\";\n input.hidden = true;\n\n input.addEventListener(\"change\", (e: any) => {\n const files = e.target.files;\n if (!files || files.length == 0 || !files[0]) {\n return;\n }\n\n let reader = new FileReader();\n reader.onload = (x: any) => {\n const selection = htmlEditor.getSelection();\n const pasteIndex = selection ? selection.index : htmlEditor.getLength();\n htmlEditor.insertEmbed(pasteIndex, \"extendedImage\", { src: x.target.result });\n htmlEditor.setSelection(pasteIndex + 1, 0);\n e.target.value = \"\";\n };\n reader.readAsDataURL(e.target.files[0]);\n });\n\n editor._imgUpload = input;\n htmlEditor.element().append(input);\n }\n\n editor._imgUpload.click();\n }\n }\n });\n }\n private addCommandDataToToolbar(scopeContainer: ScopeContainer, toolbarItems: any[], commandData: ICommandData[], getHtmlEditor: { (): DevExpress.ui.dxHtmlEditor }) {\n for (let item of commandData) {\n\n toolbarItems.push({\n widget: \"dxButton\",\n options: {\n icon: item.icon,\n text: item.title,\n hint: item.tooltip,\n stylingMode: \"text\",\n disabled: !this.commandService.isEnabled(item),\n visible: this.commandService.isVisible(item),\n _commandData: item,\n onInitialized: (e) => {\n if (item.isEnabledExpression) {\n this.bindingService.observe({\n scopeContainer: scopeContainer,\n expression: item.isEnabledExpression,\n callback: (newValue) => {\n e.component.option(\"disabled\", !newValue);\n }\n });\n }\n if (item.isVisibleExpression) {\n this.bindingService.observe({\n scopeContainer: scopeContainer,\n expression: item.isVisibleExpression,\n callback: (newValue) => {\n e.component.option(\"visible\", newValue);\n }\n });\n }\n },\n onClick: (e) => {\n e.event.stopPropagation();\n e.event.preventDefault();\n\n this.commandService.execute(scopeContainer.scope, item, {\n event: e.event,\n details: {\n htmlEditor: getHtmlEditor()\n }\n });\n }\n }\n });\n }\n }\n}","import { autoinject, transient } from \"aurelia-framework\";\nimport { ContextMenu, IListOptionsBase } from \"../../../../framework/forms/export\";\nimport { IZitToolbarOptions } from \"../../../../zit-ui/elements/zit-toolbar/zit-toolbar-options\";\nimport { GeschaeftspartnerErweiterteOptionen } from \"../../../elements/geschaeftspartner-erweiterte-optionen/geschaeftspartner-erweiterte-optionen\";\nimport { ISubheadlineOptions } from \"../../../elements/sub-headline/sub-headline-options\";\nimport { BenutzerTyp } from \"../../../enumerations/benutzer-typ\";\nimport { CodesService } from \"../../../services/export\";\nimport { StartupService } from \"../../../services/startup-service\";\nimport { LocalizationService, LocationService } from \"./../../../../framework/base/services/export\";\nimport { FormBase } from \"./../../../../framework/forms/classes/form-base\";\nimport { ListView } from \"./../../../../framework/forms/elements/list-view/list-view\";\nimport { ICommandData } from \"./../../../../framework/forms/interfaces/command-data\";\nimport { DefaultCommandsService, PopupInfoService } from \"./../../../../framework/forms/services/export\";\nimport { IZitTagOptions } from \"./../../../../zit-ui/elements/zit-tag/zit-tag-options\";\nimport { Share } from \"./../../../elements/share/share\";\nimport { IBenutzerrolleCodeData } from \"./../../../interfaces/benutzerrolle-code-data\";\n\n@autoinject\n@transient()\nexport class GeschaeftspartnerEditUtils {\n constructor(\n private _codesService: CodesService,\n private _defaultCommandService: DefaultCommandsService,\n private _localizationService: LocalizationService,\n private _startupService: StartupService,\n private _locationService: LocationService,\n private _popupInfoService: PopupInfoService) {\n const benutzertyp = _startupService.startupInfo.Benutzer.Benutzertyp;\n\n const isAdminOrInternerUser = benutzertyp == BenutzerTyp.Administrator\n || benutzertyp == BenutzerTyp.InternerBenutzer;\n\n const isAdmin = benutzertyp == BenutzerTyp.Administrator;\n\n this.canEditDokument = isAdminOrInternerUser;\n this.canEditPackage = isAdminOrInternerUser;\n this.isAdminOrInternerBenutzer = isAdminOrInternerUser;\n this.showSchnupperterminMaske = _startupService.startupInfo.ShowSchnupperterminMaske;\n this.isAdmin = isAdmin;\n }\n\n form: FormBase;\n\n canEditPackage: boolean;\n canEditDokument: boolean;\n isAdminOrInternerBenutzer: boolean;\n showSchnupperterminMaske: boolean;\n isAdmin: boolean;\n jetzt: Date = new Date();\n\n subHeadlineOptions: ISubheadlineOptions = {\n getTitel: () => Promise.resolve(this.form.models.data.$m_Geschaeftspartner.CustomSubHeadline)\n };\n\n detailToolbarOptions: IZitToolbarOptions = {\n title: \"geschaeftspartner.details-toolbar-title\",\n smallToolbar: true,\n items: [{\n id: \"geschaeftspartnerEditUtilsDetailCommand\",\n icon: \"fas fa-plus\",\n execute: (e) => {\n this.showDetailCtxMenu(e.event);\n }\n }]\n };\n ansprechpersonTagOptions: IZitTagOptions = {\n hasDefaultInfo: true,\n isClickEnabled: true,\n icon: {\n text: \"AP\"\n },\n textExpression: \"item.AnsprechpersonNameGesamt\",\n onClick: (e: any, item: any) => {\n const idAnsprechperson = item.IdAnsprechperson;\n if (!idAnsprechperson) {\n return;\n }\n\n this._locationService.goTo({\n url: `Objekte/Ansprechperson/${idAnsprechperson}?mode=1`,\n currentViewModel: this.form\n });\n }\n };\n dokumentTagOptions: IZitTagOptions = {\n isClickEnabled: true,\n icon: {\n text: \"D\"\n },\n textExpression: \"item.DokumentBezeichnung\"\n };\n packageTagOptions: IZitTagOptions = {\n isClickEnabled: true,\n backgroundColorExpression: `item.GueltigVon <= functions.$f_GeschaeftspartnerEditUtils.jetzt \n && (!item.GueltigBis || item.GueltigBis >= functions.$f_GeschaeftspartnerEditUtils.jetzt) \n ? 'rgba(0, 128, 0, 0.3)' : ''`,\n icon: {\n text: \"P\",\n backgroundColorExpression: `item.GueltigVon <= functions.$f_GeschaeftspartnerEditUtils.jetzt \n && (!item.GueltigBis || item.GueltigBis >= functions.$f_GeschaeftspartnerEditUtils.jetzt) \n ? 'rgba(0, 128, 0, 1)' : ''`,\n },\n textExpression: `item.GueltigBis \n ? item.Bezeichnung + \", \" + globalization.format(item.GueltigVon, \"d\") + \" - \" + globalization.format(item.GueltigBis, \"d\")\n : item.Bezeichnung + \", \" + globalization.format(item.GueltigVon, \"d\")`\n };\n actionCommand: ICommandData = {\n id: \"actionCommand\",\n icon: \"fas fa-share-alt\",\n tooltip: \"zit.aktionen\",\n isVisibleExpression: \"r_share.canShare\",\n sortIndex: 99,\n execute: (executeOptions) => {\n const share: Share = this.form[\"r_share\"];\n share.showCtxMenu(executeOptions.event);\n }\n };\n geschaeftspartnerErweiterteOptionenCommand: ICommandData = {\n id: \"gpErweiterteOptioneneCommand\",\n icon: \"fas fa-cog\",\n tooltip: \"geschaeftspartner.erweiterte-optionen\",\n sortIndex: 995,\n execute: (e) => {\n const gpErweiterte: GeschaeftspartnerErweiterteOptionen = this.form[\"r_gpErweiterteOptionen\"];\n const target = e.event.target;\n\n gpErweiterte.showPopover(target);\n }\n };\n\n bind(form: FormBase) {\n this.form = form;\n\n this.form.editPopups.onEditPopupHidden.register((args) => {\n if (args.editPopup.id == \"geschaeftspartnerZuAnsprechpersonEditPopup\") {\n this.refreshListView(\"r_geschaeftspartnerAnsprechpersonListView\");\n }\n\n return Promise.resolve();\n });\n\n this.form.onReactivated.register((args) => {\n this.refreshListView(\"r_geschaeftspartnerAnsprechpersonListView\");\n return Promise.resolve();\n });\n }\n\n private showDetailCtxMenu(event: Event) {\n const ctxMenu = new ContextMenu();\n\n this.loadCtxMenuItems(ctxMenu);\n\n ctxMenu.show(event.target);\n }\n\n private loadCtxMenuItems(ctxMenu: ContextMenu) {\n if (!ctxMenu) {\n return;\n }\n ctxMenu.items = [{\n text: this._localizationService.translateOnce(\"geschaeftspartner.details-toolbar-adressen\"),\n execute: () => {\n this.showListEditPopup(\"$m_GeschaeftspartnerAdresseEdit\", \"geschaeftspartnerAdresseEditPopup\", \"r_geschaeftspartnerAdresseListView\");\n }\n }, {\n text: this._localizationService.translateOnce(\"geschaeftspartner.details-toolbar-ansprechpersonen\"),\n execute: () => {\n if (this.form.models.data.$m_Geschaeftspartner.Id === null) {\n return;\n }\n\n this._popupInfoService.closeAllPopups();\n\n this._locationService.goTo({\n url: `Objekte/Ansprechperson/0`,\n setValuesOnModelWithKeyIdLoaded: { _IdGeschaeftspartner: this.form.models.data.$m_Geschaeftspartner.Id },\n replace: false\n });\n }\n }, {\n text: this._localizationService.translateOnce(\"geschaeftspartner.details-toolbar-bankverbindungen\"),\n execute: () => {\n this.showListEditPopup(\"$m_GeschaeftspartnerBankverbindungEdit\", \"geschaeftspartnerBankverbindungEditPopup\", \"r_geschaeftspartnerBankverbindungListView\");\n }\n }];\n\n if (this.canEditDokument) {\n ctxMenu.items.push({\n text: this._localizationService.translateOnce(\"geschaeftspartner.details-toolbar-dokumente\"),\n execute: () => {\n this.showListEditPopup(\"$m_GeschaeftspartnerZuDokumentEdit\", \"geschaeftspartnerDokumentEditPopup\", \"r_geschaeftspartnerDokumentListView\");\n }\n });\n }\n\n if (this.form.models.data.$m_Geschaeftspartner.SonstigeKontaktdatenVisible) {\n ctxMenu.items.push(\n {\n text: this._localizationService.translateOnce(\"geschaeftspartner.details-toolbar-kontaktdaten\"),\n execute: () => {\n this.showListEditPopup(\"$m_GeschaeftspartnerKontaktEdit\", \"geschaeftspartnerKontaktdatenEditPopup\", \"r_geschaeftspartnerKontaktdatenListView\");\n }\n });\n }\n\n if (this.canEditPackage) {\n ctxMenu.items.push({\n text: this._localizationService.translateOnce(\"geschaeftspartner.details-toolbar-packages\"),\n execute: () => {\n this.showListEditPopup(\"$m_GeschaeftspartnerPackageEdit\", \"geschaeftspartnerPackageEditPopup\", \"r_geschaeftspartnerPackageListView\");\n }\n });\n }\n }\n\n private showListEditPopup(editDataContext: string, idEditPopup: string, idListView: string) {\n const options = this.getListViewBaseOption(editDataContext, idEditPopup, this.form[idListView]);\n\n const addCommand = this._defaultCommandService.getListAddCommand(this.form, options);\n const event = new MouseEvent(\"click\");\n addCommand.execute({ event: event });\n }\n\n private getListViewBaseOption(editDataContext: string, idEditPopup: string, options: IListOptionsBase): IListOptionsBase {\n options.editDataContext = editDataContext;\n options.idEditPopup = idEditPopup;\n options.listEdits = options.listEdits || [];\n return options;\n }\n\n private refreshListView(id: string) {\n const listView: ListView = this.form[id];\n\n listView.refresh();\n }\n}\n","import { autoinject } from \"aurelia-framework\";\nimport { DataSourceService } from \"../../framework/base/services/data-source-service\";\nimport { ScopeContainer } from \"../../framework/base/classes/scope-container\";\n\n@autoinject\nexport class ZielService {\n constructor(\n private _dataSourceService: DataSourceService) { }\n\n loadZieleDataSource(scopeContainer: ScopeContainer, getCustomWhere: { () }, getCustomFilter: {()}, orderBy?: any[]) {\n const data = this._dataSourceService.createDataSource(\n scopeContainer,\n {\n webApiAction: \"ZIT/Objekte/Ziel\",\n webApiOrderBy: orderBy\n }, {\n getCustomWhere: getCustomWhere,\n getCustomFilters: getCustomFilter\n });\n return data;\n }\n}\n","export enum Kontakttyp {\n Telefon = 0,\n Mobil = 1,\n Fax = 2,\n Email = 3,\n Hyperlink = 4\n}","export {CommandServerData} from \"./command-server-data\";\nexport {Commands} from \"./commands\";\nexport {ContextMenu} from \"./context-menu\";\nexport {EditPopups} from \"./edit-popups\";\nexport {FormBase} from \"./form-base\";\nexport {Functions} from \"./functions\";\nexport {Models} from \"./models\";\nexport {NestedForms} from \"./nested-forms\";\nexport {Variables} from \"./variables\";\nexport {ViewItem} from \"./view-item\";","import {\n autoinject\n} from \"aurelia-framework\";\nimport {\n EventAggregator\n} from \"aurelia-event-aggregator\";\nimport {\n JsonService\n} from \"./json-service\";\nimport {\n RestService\n} from \"./rest-service\";\n\n@autoinject\nexport class NotificationService {\n private _socket: WebSocket;\n private _manualClose: boolean;\n\n constructor(\n private eventAggregator: EventAggregator,\n private json: JsonService,\n private rest: RestService\n ) { }\n\n subscribe(): void {\n this._manualClose = false;\n this._socket = new WebSocket(this.rest.getWebSocketUrl(\"base/Notification/Socket\"));\n\n this._socket.onmessage = (e) => {\n const data = this.json.parse(e.data);\n\n this.eventAggregator.publish(data.Type, data.Data);\n }\n this._socket.onclose = (e) => {\n if (!this._manualClose) {\n setTimeout(this.tryToReconnect.bind(this), 6000);\n }\n\n this._socket = null;\n this._manualClose = false;\n };\n }\n\n unsuscribe(): void {\n if (this._socket) {\n this._manualClose = true;\n this._socket.close();\n }\n }\n\n private tryToReconnect(): void {\n if (this._socket == void 0) {\n this.subscribe();\n return;\n } \n \n this._socket.close();\n }\n}\n","import {\n autoinject,\n singleton,\n TaskQueue\n} from \"aurelia-framework\";\nimport {\n FormBase\n} from \"../classes/form-base\";\nimport * as Interfaces from \"../interfaces/export\";\nimport { NestedForm } from '../interfaces/nested-form-x';\n\n@autoinject\n@singleton(true)\nexport class NestedForms {\n private form: FormBase;\n private nestedForms = {};\n\n constructor(\n private taskQueue: TaskQueue\n ) {}\n\n addInfo(id: string, mappings: Interfaces.IMapping[]) {\n this.nestedForms[id] = {\n id: id,\n mappings: mappings\n };\n this.createMappings(id, mappings);\n } \n getInfo(id: string): NestedForm {\n return this.nestedForms[id];\n }\n getNestedForms(): FormBase[] {\n const arr: FormBase[] = [];\n\n for (let key in this.nestedForms) {\n const form: FormBase = this.form[key];\n \n if (!form) {\n continue;\n }\n \n arr.push(form);\n arr.push(...form.nestedForms.getNestedForms());\n }\n\n return arr;\n }\n createMappings(id: string, mappings: Interfaces.IMapping[]) {\n for (let mapping of mappings) {\n this.form.binding.observe({\n scopeContainer: this.form.scopeContainer,\n expression: mapping.binding.bindToFQ,\n callback: (newValue) => {\n const setVariable = () => {\n let nestedForm: FormBase = this.form[id];\n if (!nestedForm) {\n return false;\n }\n\n nestedForm.variables.data[mapping.to] = newValue;\n return true;\n }\n\n if (!setVariable()) {\n this.taskQueue.queueTask(() => {\n if (!setVariable()) {\n return;\n }\n })\n }\n },\n checkPrimitiveType: true\n });\n }\n }\n\n registerForm(form: FormBase) {\n if (this.form) {\n throw new Error(\"Form was already registered\");\n }\n\n this.form = form;\n }\n\n dispose() {\n }\n}\n","import {\n autoinject,\n observable\n} from \"aurelia-framework\";\nimport {\n CustomEvent,\n} from \"../../base/export\";\nimport {\n ICommandData\n} from \"../../forms/export\";\nimport { Header } from \"../views/header/header\";\n\ndeclare var require: any;\n\nconst logo = require(\"../../images/logo_tip.png\");\nconst user = require(\"../../images/user.jpg\");\n\n@autoinject\nexport class HeaderService {\n constructor() {\n this.avatarUrlChanged();\n }\n\n logoUrl: string = logo.default || logo;\n @observable avatarUrl: string;\n text: string = \"TIP Technik und Informatik Partner GmbH\";\n logoStyle: any;\n avatarStyle: any;\n header: Header;\n isSearchRegistered: boolean;\n\n commands: ICommandData[] = [];\n avatarCommands: ICommandData[] = [];\n\n avatarUrlChanged() {\n const image = this.avatarUrl || user.default || user;\n\n this.avatarStyle = {\n \"background-image\": `url(${image})`\n }\n }\n hideAvatarPopoper(){\n const popover = this.header.avatarPopover;\n if(!popover || !popover.instance){\n return;\n }\n \n this.header.avatarPopover.instance.hide();\n }\n}\n","import {\n computedFrom,\n Controller\n} from \"aurelia-framework\";\nimport {\n IViewItemModel\n} from \"../interfaces/view-item-model\";\n\nexport class ViewItem {\n constructor(viewModelItem: IViewItemModel) {\n this.title = viewModelItem.routeInfo.route.caption;\n this.moduleId = viewModelItem.moduleId;\n this.model = viewModelItem;\n this.isCurrent = true;\n }\n\n title: string;\n moduleId: any;\n model: IViewItemModel;\n isCurrent: boolean;\n controller?: Controller;\n customClassName?: string;\n isAttached: boolean;\n\n @computedFrom(\"isCurrent\", \"isAttached\", \"customClassName\")\n get className(): string {\n return (this.isCurrent \n ? \"t--view-current\"\n : \"t--view-history\") + (this.isAttached ? \" t--view-attached\" : \"\") + (this.customClassName ? ` ${this.customClassName}` : \"\");\n }\n}\n","export default {\n debug: true,\n testing: true\n};\n","import {\n autoinject,\n singleton,\n TaskQueue\n} from \"aurelia-framework\";\nimport {\n EventAggregator\n} from \"aurelia-event-aggregator\";\nimport {\n FormBase\n} from \"../classes/form-base\";\nimport {\n ToolbarService\n} from \"../services/toolbar-service\";\nimport {\n PopupInfoService\n} from \"../services/popup-info-service\";\nimport {\n SimpleWidgetCreatorService\n} from \"../widget-services/simple-widget-creator-service\";\nimport {\n IEditPopupHiddenEventArgs,\n IEditPopupShownEventArgs,\n IEditPopupModelLoadedEventArgs\n} from \"../event-args/export\";\nimport {\n CustomEvent\n} from \"../../base/classes/custom-event\";\nimport {\n IViewScrollInfo\n} from \"../../base/interfaces/export\";\nimport * as Interfaces from \"../interfaces/export\";\n\n@autoinject\n@singleton(true)\nexport class EditPopups {\n private _form: FormBase;\n private _editPopups: Interfaces.IEditPopup[] = [];\n private _options: IEditPopupShowOptions;\n\n constructor(\n private simpleWidgetCreator: SimpleWidgetCreatorService,\n private toolbar: ToolbarService,\n private popupInfo: PopupInfoService,\n private taskQueue: TaskQueue,\n private eventAggregator: EventAggregator,\n public onEditPopupShown: CustomEvent,\n public onEditPopupHidden: CustomEvent,\n public onEditPopupModelLoaded: CustomEvent\n ) {}\n\n addInfo(editPopup: Interfaces.IEditPopup) {\n this._editPopups.push(editPopup);\n this.createOptions(editPopup);\n }\n getInfo(id: string): Interfaces.IEditPopup {\n return this._editPopups.find(c => c.id === id);\n \n }\n async show(id: string, viewScrollInfo: IViewScrollInfo) {\n return this.showEx({\n idEditPopup: id,\n viewScrollInfo: viewScrollInfo\n });\n }\n async showEx(options: IEditPopupShowOptions) {\n this._options = options;\n\n const saveResult = await this._form.saveIfDirty();\n if (!saveResult.isValid) {\n return;\n }\n\n const editPopup = this._editPopups.find(c => c.id === options.idEditPopup);\n\n if (!editPopup) {\n throw new Error(`No edit popup with id ${options.idEditPopup} found`);\n }\n\n const instance: DevExpress.ui.dxPopup = this._form[editPopup.id].instance;\n\n let showInstance = true;\n if (!editPopup.isInitialized) {\n this.initializeContent(instance, editPopup);\n\n //wird durch onContentTemplateRendered ausgelöst\n showInstance = false;\n }\n\n const editPopupFormBase: FormBase = this._form[editPopup.idContent]\n editPopupFormBase.viewScrollInfo = options.viewScrollInfo;\n\n if (showInstance) {\n instance.show();\n }\n }\n\n registerForm(form: FormBase) {\n if (this._form) {\n throw new Error(\"Form was already registered\");\n }\n\n this._form = form;\n }\n\n dispose() {\n this.onEditPopupHidden.dispose();\n this.onEditPopupModelLoaded.dispose();\n this.onEditPopupShown.dispose();\n }\n\n private createOptions(editPopup: Interfaces.IEditPopup) {\n this.simpleWidgetCreator.addPopup(this._form, editPopup, false);\n }\n private initializeContent(instance: DevExpress.ui.dxPopup, editPopup: Interfaces.IEditPopup) {\n editPopup.isInitialized = true;\n\n this._form[editPopup.options.optionsName].onContentTemplateRendered = (e) => {\n this.taskQueue.queueTask(() => {\n e.instance.show();\n });\n };\n\n instance.option(\"deferRendering\", false);\n\n const popup: DevExpress.ui.dxPopup = this._form[editPopup.id].instance;\n const content: FormBase = this._form[editPopup.idContent];\n\n content.models.onLoaded.register(r => {\n const modelLoadedArgs = {\n editPopup: editPopup,\n model: r.model,\n data: r.data\n };\n\n if (this._options.modelLoaded) {\n this._options.modelLoaded(content, modelLoadedArgs);\n }\n\n return this.onEditPopupModelLoaded.fire(modelLoadedArgs);\n });\n\n content.models.onSaved.register(async e => {\n if (this._options.savedCallback) {\n this._options.savedCallback(content);\n }\n });\n\n content.callOnCommandsLoaded(() => {\n const toolbarOptions = this.toolbar.createToolbarOptions(\n content.scopeContainer,\n content.title, \n content.commands.getCommands());\n\n content.binding.observe({\n scopeContainer: content.scopeContainer,\n expression: \"title\",\n callback: (newVal) => {\n toolbarOptions.title = newVal;\n }\n });\n\n this._form[`${editPopup.id}Toolbar`] = toolbarOptions;\n });\n\n popup.on({\n showing: (e) => {\n this.popupInfo.onShowPopup({\n owner: this._form,\n popup: e.component,\n form: content,\n executeCommand: (idCommand) => {\n content.executeCommand(idCommand);\n },\n handleChangedData: () => {\n return content.handleChangedData();\n },\n hasChangedData: () => {\n return content.models.hasChangedData();\n }\n });\n },\n shown: () => {\n editPopup.mappings.forEach(m => {\n content.variables.data[m.to] = this._form.binding.evaluate(\n this._form.scope, \n m.binding.bindToFQ\n );\n });\n\n this.onEditPopupShown.fire({\n editPopup: editPopup\n });\n this.eventAggregator.publish(\"editpopup:shown\", {\n form: content\n });\n\n content.dispatchOnReady();\n },\n hiding: (e) => {\n this.popupInfo.onHidePopup(e.component);\n\n if (this._options.closeCallback) {\n this._options.closeCallback(content);\n }\n\n this.eventAggregator.publish(\"editpopup:hiding\", {\n form: content\n });\n },\n hidden: async () => {\n editPopup.mappings.forEach(m => {\n content.variables.data[m.to] = null;\n });\n\n const hasDataReloaded = await this._form.reloadIfServerHasNewVersion();\n\n this.onEditPopupHidden.fire({\n editPopup: editPopup,\n hasDataReloaded: hasDataReloaded\n });\n this.eventAggregator.publish(\"editpopup:hidden\", {\n form: content\n });\n }\n });\n }\n}\n\nexport interface IEditPopupShowOptions {\n idEditPopup: string;\n viewScrollInfo?: IViewScrollInfo;\n modelLoaded?: {(form: FormBase, ev: IEditPopupModelLoadedEventArgs): void};\n savedCallback?: {(form: FormBase): void};\n closeCallback?: {(form: FormBase): void};\n}","module.exports = \"
${data.Bezeichnung}
\";","import { observable } from \"aurelia-binding\";\nimport { EventAggregator, Subscription } from \"aurelia-event-aggregator\";\nimport { autoinject, computedFrom, transient } from \"aurelia-framework\";\nimport { DataSourceService, FileService } from \"../../../../framework/base/export\";\nimport { DialogConfirmService, ModelUtilsService } from \"../../../../framework/forms/export\";\nimport { IZitTagOptions } from \"../../../../zit-ui/elements/zit-tag/export\";\nimport { IZitToolbarOptions } from \"../../../../zit-ui/elements/zit-toolbar/zit-toolbar-options\";\nimport { Datei } from \"../../../elements/datei/datei\";\nimport { TerminEmpfaenger } from \"../../../elements/export\";\nimport { SelectionModeTyp } from \"../../../elements/lehrling-auswaehlen/lehrling-auswaehlen\";\nimport { DialogService } from \"../../../services/dialog-service\";\nimport { CustomEditPopupService, StartupService } from \"../../../services/export\";\nimport { FormPopupService } from \"../../../services/form-popup-service\";\nimport { NachrichtService } from \"../../../services/nachricht-service\";\nimport { JsonService } from \"./../../../../framework/base/services/json-service\";\nimport { LocalizationService } from \"./../../../../framework/base/services/localization-service\";\nimport { LocationService } from \"./../../../../framework/base/services/location-service\";\nimport { RestService } from \"./../../../../framework/base/services/rest-service\";\nimport { ContextMenu } from \"./../../../../framework/forms/classes/context-menu\";\nimport { FormBase } from \"./../../../../framework/forms/classes/form-base\";\nimport { ICommandData } from \"./../../../../framework/forms/interfaces/command-data\";\nimport { DokumentListView } from \"./../../../elements/dokument-list-view/dokument-list-view\";\nimport { ErweiterteSuche } from \"./../../../elements/erweiterte-suche/erweiterte-suche\";\nimport { LehrlingAuswaehlen } from \"./../../../elements/lehrling-auswaehlen/lehrling-auswaehlen\";\nimport { Share } from \"./../../../elements/share/share\";\nimport { IdxSelectBoxComponent } from \"./../../../interfaces/dx-components\";\nimport { AnsprechpersonService } from \"./../../../services/ansprechperson-service\";\n\n@transient()\n@autoinject\nexport class TerminEditUtils {\n private _terminChangedSubscription: Subscription;\n\n constructor(\n private _ansprechpersonService: AnsprechpersonService,\n private _restService: RestService,\n private _jsonService: JsonService,\n private _locationService: LocationService,\n private _localizationService: LocalizationService,\n private _formPopupService: FormPopupService,\n private _modelUtilsService: ModelUtilsService,\n private _dialogService: DialogService,\n private _nachrichtService: NachrichtService,\n private _dialogConfirmService: DialogConfirmService,\n private _startupService: StartupService,\n private _fileService: FileService,\n private _customEditPopupService: CustomEditPopupService,\n private _dataSourceService: DataSourceService,\n private _eventAggregator: EventAggregator\n ) { }\n\n @observable idSelectedEmpfaenger: number;\n\n form: FormBase;\n meldenBeiDataSource: string[];\n terminDataSource: string[];\n isEmpfaengergruppeReadOnly: boolean = false;\n selectedEmpfaenger: any;\n selectedEmpfaengerName: any;\n erweiterteSucheWertQuery: any;\n\n actionCommand: ICommandData = {\n id: \"actionCommand\",\n icon: \"fas fa-share-alt\",\n tooltip: \"zit.aktionen\",\n sortIndex: 99,\n isVisibleExpression: \"r_share.canShare\",\n execute: (executeOptions) => {\n const share: Share = this.form[\"r_share\"];\n share.showCtxMenu(executeOptions.event);\n }\n };\n\n meldenBeiSelectBoxOptions: DevExpress.ui.dxSelectBoxOptions = {\n acceptCustomValue: true,\n bindingOptions: {\n value: \"models.data.$m_Termin.Kopf.MeldenBei\",\n dataSource: \"functions.$f_TerminEditUtils.meldenBeiDataSource\"\n }\n };\n\n hauptterminSelectBoxOptions: DevExpress.ui.dxSelectBoxOptions = {\n acceptCustomValue: true,\n bindingOptions: {\n value: \"models.data.$m_Termin.Kopf.Haupttermin\",\n dataSource: \"functions.$f_TerminEditUtils.terminDataSource\"\n },\n placeholder: \"Auswählen oder neuen Wert erfassen...\"\n };\n\n benutzerTagOptions: IZitTagOptions = {\n isClickEnabled: false,\n textExpression: \"item.Kopf.Benutzer.NameGesamt ? item.Kopf.Benutzer.NameGesamt : item.Kopf.Benutzer.Nachname\",\n icon: {\n text: \"B\"\n }\n };\n\n empfaengerTagOptions: IZitTagOptions = {\n icon: {\n faIcon: \"far fa-address-book\"\n },\n textExpression: \"item.EmpfaengerName ? item.EmpfaengerName : item.Titel\",\n infoList: [\n {\n icon: {\n faIcon: \"fas fa-info-circle\"\n },\n onClick: (e, data) => {\n e.stopPropagation();\n e.preventDefault();\n\n this._locationService.goTo({\n url: `#Objekte/Person/${data.IdPerson}`,\n currentViewModel: this.form\n });\n }\n }, {\n icon: {\n faIcon: \"fas fa-beer\",\n backgroundColor: \"#E67F22\"\n },\n isVisibleExpression: \"item._HasEinsch\",\n tooltip: \"Einschätzungen des Lehrlings vorhanden\",\n onClick: (ev, data) => {\n ev.stopPropagation();\n ev.preventDefault();\n\n if (data._IdEinsch) {\n this.form.models.data.$m_TerminEmpfEinschEdit = {\n Id: data._IdEinsch\n };\n this.form.editPopups.show(\"terminEmpfEinschEditPopup\", null);\n } else {\n DevExpress.ui.notify(\n \"Es wurde noch keine Einschätzung erstellt\",\n \"info\",\n 3000\n );\n }\n }\n }, {\n icon: {\n faIconExpression: \"item.StatusZustandTagSymbol\"\n },\n isVisibleExpression: \"item.IdStatusZustand != null\",\n backgroundColorExpression: \"item.StatusZustandFarbe\"\n }],\n onClick: (e, data) => {\n if (this.isHeartbase) {\n e.stopPropagation();\n e.preventDefault();\n\n this._locationService.goTo({\n url: `#Objekte/Person/${data.IdPerson}`,\n currentViewModel: this.form\n });\n } else {\n const terminEmpfaenger: TerminEmpfaenger = this.form[\"r_terminEmpfaengerStatusElement\"];\n terminEmpfaenger.showStatusPopup(this.form.models.data.$m_Termin.Id, data, this.onEmpfaengerStatusGeaendert.bind(this));\n }\n },\n onDeleteClick: async(e, data) => {\n e.stopPropagation();\n\n const r = await this._dialogService.askZuteilungLoeschen();\n if (!r) {\n return;\n }\n\n this.deleteEmpfaenger(data);\n },\n };\n\n veroeffentlichenEmpfaengerTagOptions: IZitTagOptions = {\n icon: {\n faIcon: \"far fa-address-book\"\n },\n textExpression: \"item.EmpfaengerName ? item.EmpfaengerName : item.Titel\",\n infoList: [\n {\n icon: {\n faIcon: \"fas fa-info-circle\"\n },\n onClick: (e, data) => {\n e.stopPropagation();\n e.preventDefault();\n\n this._locationService.goTo({\n url: `#Objekte/Person/${data.IdPerson}`,\n });\n }\n }, {\n icon: {\n faIconExpression: \"item.StatusZustandTagSymbol\"\n },\n isVisibleExpression: \"item.IdStatusZustand != null\",\n backgroundColorExpression: \"item.StatusZustandFarbe\"\n }],\n onClick: (e, data) => {\n const terminEmpfaenger: TerminEmpfaenger = this.form[\"r_terminEmpfaengerStatusElement\"];\n terminEmpfaenger.showStatusPopup(this.form.models.data.$m_Termin.Id, data, this.onEmpfaengerStatusGeaendert.bind(this));\n }\n };\n\n veroeffentlichenEmpfaengerGelesenTagOptions: IZitTagOptions = {\n icon: {\n faIcon: \"fas fa-user\"\n },\n textExpression: `item`\n };\n\n zustandTagOptions: IZitTagOptions = {\n icon: {\n faIconExpression: \"item.Kopf.TerminBestaetigungZustand.TagSymbol\",\n backgroundColorExpression: \"item.Kopf.TerminBestaetigungZustand.Farbe\"\n },\n textExpression: `item.Kopf.TerminBestaetigungZustand.Bezeichnung | zitMoment:\"zustand\":item.Kopf.TerminBestaetigungZustandDatum`,\n onClick: (e, data) => {\n this.form.models.data.$m_ZustandAendern = data.Kopf.TerminBestaetigungZustand;\n this.form.editPopups.show(\"zustandAendernEditPopup\", null);\n }\n };\n\n veroeffentlichenToolbarOptions: IZitToolbarOptions = {\n title: \"termin.veroeffentlichen\",\n smallToolbar: true,\n items: [{\n id: \"terminEditUtilsFilterButtonCommand\",\n icon: \"fas fa-filter\",\n execute: (e) => {\n this.getErweiterteSuche()\n .showPopup();\n }\n }, {\n id: \"terminEditUtilsErweiterteSucheFilterButtonCommand\",\n icon: \"fas fa-caret-down\",\n className: \"z--button z--button-no-round\",\n execute: (e) => {\n this.showErweiterteSucheContextMenu(e.event);\n }\n }]\n };\n\n dokumentToolbarOptions: IZitToolbarOptions = {\n title: \"termin.dokument-toolbar-titel\",\n smallToolbar: true,\n items: [{\n id: \"showDokumentToolbarOptionen\",\n icon: \"fas fa-plus\",\n execute: async(e) => {\n if (!this.form.models.data.$m_Termin.Id) {\n await this.form.save();\n }\n\n const ctxMenu = new ContextMenu();\n\n if (this.form[\"r_dokumentElement\"]) {\n ctxMenu.items = [{\n text: this._localizationService.translateOnce(\"termin.dokument-toolbar-item-info-dokument\"),\n execute: () => {\n const dokumentListView: DokumentListView = this.form[\"r_dokumentElement\"];\n dokumentListView.onDokumentAddClicked();\n }\n }, {\n text: this._localizationService.translateOnce(\"termin.dokument-toolbar-item-dokument-erstellen\"),\n execute: () => {\n const share: Share = this.form[\"r_share\"];\n share.dokumentLautVorlageErstellen.showPopup(\n [this.form.models.data.$m_Termin.Id],\n \"TIP.ZIT.Business.Entities.Objekte.Termine.Termin\");\n }\n }];\n } else if (this.form[\"r_dateien\"]) {\n ctxMenu.items = [{\n text: this._localizationService.translateOnce(\"termin.dokument-toolbar-item-info-dokumente\"),\n execute: () => {\n setTimeout(() => {\n const datei: Datei = this.form[\"r_dateien\"];\n datei.onDokumentClick();\n }, 0);\n }\n }, {\n text: this._localizationService.translateOnce(\"termin.dokument-toolbar-item-info-bilder\"),\n execute: () => {\n setTimeout(() => {\n const datei: Datei = this.form[\"r_dateien\"];\n datei.onCameraClick();\n }, 0);\n }\n }, {\n text: this._localizationService.translateOnce(\"termin.dokument-toolbar-item-info-videos\"),\n execute: () => {\n setTimeout(() => {\n const datei: Datei = this.form[\"r_dateien\"];\n datei.onVideoClick();\n }, 0);\n }\n }, {\n text: this._localizationService.translateOnce(\"termin.dokument-toolbar-item-info-galerie\"),\n execute: async() => {\n const r = await this.form.saveIfDirty();\n if (!r.isValid) {\n return;\n }\n\n const datei: Datei = this.form[\"r_dateien\"];\n datei.onAddToGalerieClick(() => {\n this.form.save();\n });\n }\n }];\n }\n\n ctxMenu.show(event.target);\n }\n }]\n };\n\n filterButtonOptions: DevExpress.ui.dxButtonOptions = {\n icon: \"fas fa-filter\",\n elementAttr: {\n class: \"z--button z--button-round\"\n },\n onClick: () => {\n this.getErweiterteSuche()\n .showPopup();\n }\n };\n\n filterErweitertButtonOptions: DevExpress.ui.dxButtonOptions = {\n icon: \"fas fa-caret-down\",\n elementAttr: {\n class: \"z--button z--button-no-round\"\n },\n onClick: (e) => {\n this.showErweiterteSucheContextMenu(e.event);\n }\n };\n\n empfaengerZuteilenButtonOptions: DevExpress.ui.dxButtonOptions = {\n icon: \"fas fa-plus\",\n elementAttr: {\n class: \"z--button z--button-round\"\n },\n onClick: () => {\n const terminEmpfaenger: TerminEmpfaenger = this.form[\"r_terminEmpfaengerStatusElement\"];\n\n const data = {\n IdTermin: this.form.models.data.$m_Termin.Id\n };\n\n terminEmpfaenger.showStatusPopup(this.form.models.data.$m_Termin.Id, data, this.onEmpfaengerStatusGeaendert.bind(this));\n }\n };\n\n trainerTagOptions: IZitTagOptions = {\n icon: {\n textExpression: \"item.Ansprechperson.FunktionTagText\"\n },\n textExpression: \"item.Ansprechperson.Titel\",\n onClick: (_, data) => {\n this._locationService.goTo({\n url: `Objekte/Ansprechperson/${data.IdAnsprechperson}`,\n currentViewModel: this.form\n });\n },\n onDeleteClick: async(ev: Event, data) => {\n ev.preventDefault();\n ev.stopPropagation();\n\n const r = await this._dialogService.askZuteilungLoeschen();\n if (!r) {\n return;\n }\n\n const index = this.form.models.data.$m_Termin.Trainer.indexOf(data);\n if (index < 0) {\n return;\n }\n\n this.form.models.data.$m_Termin.Trainer.splice(index, 1);\n this._modelUtilsService.setDirty(this.form.models.data.$m_Termin);\n }\n };\n\n nachrichtengruppeToolbarOptions: IZitToolbarOptions = {\n title: \"termin.nachrichtengruppe\",\n smallToolbar: true,\n items: [{\n id: \"addGruppe\",\n icon: \"fas fa-plus\",\n isVisibleExpression: \"functions.$f_TerminEditUtils.canNachrichtengruppeErstellen\",\n execute: async(e) => {\n const r = await this.form.saveIfDirty();\n if (!r.isValid) {\n return;\n }\n\n const dialogResult = await this._dialogConfirmService.show({\n title: this._localizationService.translateOnce(\"base.question\"),\n message: this._localizationService.translateOnce(\"termin.frage-nachrichtengruppe-erstellen\")\n });\n\n if (!dialogResult) {\n return;\n }\n\n await this._restService.post({\n url: this._restService.getApiUrl(\"ZIT/Nachricht/GruppeErstellen\"),\n data: {\n IdObjekt: this.form.models.data.$m_Termin.Id\n },\n increaseLoadingCount: true\n });\n\n this.form.models.reloadAll();\n\n if (this.form.models.data.$m_Termin._NachrichtGruppe && this.form.models.data.$m_Termin._NachrichtGruppe.Id) {\n const info = await this._nachrichtService.getNachrichtGruppeBenutzerInfoForObjekt(\n \"TIP.ZIT.Business.Entities.Objekte.Termine.Termin\",\n this.form.models.data.$m_Termin.Id\n );\n\n if (info) {\n this._nachrichtService.goToNachrichtList(info, this.form);\n }\n }\n }\n }]\n };\n\n nachrichtengruppeTagOptions: IZitTagOptions = {\n icon: {\n faIcon: \"far fa-comment-dots\"\n },\n textExpression: \"item._NachrichtGruppe.Bezeichnung\",\n infoList: [{\n icon: {\n faIcon: \"fas fa-info-circle\"\n },\n onClick: (ev, data) => {\n this._customEditPopupService.nachrichtGruppe.show({\n mappings: {\n \"$id\": data._NachrichtGruppe.Id\n }\n });\n }\n }],\n onDeleteClick: async(ev: Event, data) => {\n ev.preventDefault();\n ev.stopPropagation();\n\n const r = await this.form.saveIfDirty();\n if (!r.isValid) {\n return;\n }\n\n const dialogResult = await this._dialogConfirmService.show({\n title: this._localizationService.translateOnce(\"base.question\"),\n message: this._localizationService.translateOnce(\"termin.frage-nachrichtengruppe-loeschen\")\n });\n\n if (!dialogResult) {\n return;\n }\n\n await this._restService.post({\n url: this._restService.getApiUrl(\"ZIT/Nachricht/GruppeLoeschen\"),\n data: {\n IdObjekt: this.form.models.data.$m_Termin.Id\n },\n increaseLoadingCount: true\n });\n\n this.form.models.reloadAll();\n }\n };\n\n @computedFrom(\"form.models.data.$m_Termin.Empfaenger\", \"erweiterteSucheWertQuery\")\n get isTypAuswahlEnabled(): boolean {\n return (this.form.models.data.$m_Termin\n && this.form.models.data.$m_Termin.Empfaenger\n && this.form.models.data.$m_Termin.Empfaenger.length > 0)\n || (this.erweiterteSucheWertQuery\n && this.erweiterteSucheWertQuery.length > 0);\n }\n\n @computedFrom(\"form.models.data.$m_Termin._NachrichtGruppe.Id\")\n get canNachrichtengruppeErstellen() {\n return !!this.form.models.data.$m_Termin\n && (!this.form.models.data.$m_Termin._NachrichtGruppe\n || !this.form.models.data.$m_Termin._NachrichtGruppe.Id);\n }\n\n get isHeartbase() {\n return this.form\n && this.form.id == \"termin-heartbase-edit\";\n }\n\n bind(form: FormBase) {\n this.form = form;\n\n this.nachrichtengruppeToolbarOptions.scopeContainer = form.scopeContainer;\n\n if (this.isHeartbase) {\n this.dokumentToolbarOptions.title = \"termin.dokument-bilder-video-toolbar-titel\";\n\n delete this.empfaengerTagOptions.icon.faIcon;\n this.empfaengerTagOptions.icon.text = \"L\";\n }\n\n form.models.onLoaded.register((args) => {\n if (args.model.id == \"$m_Termin\" && args.data) {\n if (args.data.Kopf) {\n if (!args.data.Id && args.data.Kopf && args.data.Kopf._IdGeschaeftspartner) {\n args.data.Kopf.IdGeschaeftspartner = args.data.Kopf._IdGeschaeftspartner;\n }\n\n if (args.data.Kopf.IdGeschaeftspartner) {\n this.loadMeldenBeiDataSource(args.data.Kopf.IdGeschaeftspartner);\n this.loadTermineDataSource(args.data.Kopf.IdGeschaeftspartner);\n }\n\n if (args.data.Empfaenger && args.data.Empfaenger.length > 0) {\n this.modifyEmpfaengerList(args.data.Empfaenger);\n }\n\n if (args.data.Kopf.VeroeffentlichenFilter && args.data.Kopf.VeroeffentlichenFilter.length > 0) {\n this.erweiterteSucheWertQuery = this._jsonService.parse(args.data.Kopf.VeroeffentlichenFilter);\n\n this.getErweiterteSuche()\n .loadFilter(this.erweiterteSucheWertQuery);\n }\n }\n }\n return Promise.resolve();\n });\n form.onSaving.register((args) => {\n args.form.models.data.$m_Termin.Kopf.VeroeffentlichenFilter = this.erweiterteSucheWertQuery\n ? this._jsonService.stringify(this.erweiterteSucheWertQuery)\n : null;\n\n return Promise.resolve();\n });\n form.editPopups.onEditPopupHidden.register((args) => {\n if (args.editPopup.id === \"zustandAendernEditPopup\") {\n this.form.models.loadModelWithKeyId();\n } else if (args.editPopup.id === \"terminEmpfEinschEditPopup\") {\n this.form.models.reloadAll();\n }\n\n return Promise.resolve();\n });\n form.onEditorValueChanged.register((args) => {\n if (args.binding.dataContext == \"$m_Termin\"\n && args.binding.bindTo == \"Kopf.IdGeschaeftspartner\") {\n const selectBoxMeldenBei: IdxSelectBoxComponent = this.form[\"r_terminMeldenBei\"];\n if (!selectBoxMeldenBei) {\n return;\n }\n\n this.loadMeldenBeiDataSource(args.value);\n this.loadTermineDataSource(args.value);\n\n selectBoxMeldenBei.setOption({ value: null });\n\n const selectBoxHaupttermin: IdxSelectBoxComponent = this.form[\"r_terminHaupttermin\"];\n selectBoxMeldenBei.setOption({ value: null });\n }\n\n return Promise.resolve();\n });\n\n this._terminChangedSubscription = this._eventAggregator.subscribe(\"termin:changed\", (ev) => {\n const data = this.form.models.data.$m_Termin;\n if (data && data.Id == ev.idTermin) {\n this.form.models.reloadAll();\n }\n });\n }\n unbind() {\n this._terminChangedSubscription.dispose();\n this._terminChangedSubscription = null;\n }\n\n async idSelectedEmpfaengerChanged(newVal) {\n if (!newVal) {\n return;\n }\n\n this.selectedEmpfaenger = {};\n\n await this.setEmpfaenger(newVal);\n }\n\n onPersonAddClick() {\n const lehrlingAuswaehlen: LehrlingAuswaehlen = this.form[\"r_lehrlingAuswaehlen\"];\n lehrlingAuswaehlen.show({\n selectionMode: SelectionModeTyp.multipe,\n callback: (selectedPersons) => {\n selectedPersons.forEach(async(idPerson)=> {\n await this.setEmpfaenger(idPerson);\n });\n }\n });\n }\n onTrainerAddClick() {\n this._formPopupService.formPopup.show({\n titel: this._localizationService.translateOnce(\"zit.trainer\"),\n data: {},\n formDef: \"ansprechperson\",\n onFormSubmit: (data) => {\n if (!this.form.models.data.$m_Termin.Trainer) {\n this.form.models.data.$m_Termin.Trainer = [];\n }\n\n const exists = this.form.models.data.$m_Termin.Trainer.some((t) => t.IdAnsprechperson == data.item.Id);\n if (exists) {\n return;\n }\n\n this.form.models.data.$m_Termin.Trainer.push({\n IdAnsprechperson: data.item.Id,\n Ansprechperson: {\n Titel: data.item.Titel,\n FunktionTagText: data.item.FunktionTagText\n }\n });\n this._modelUtilsService.setDirty(this.form.models.data.$m_Termin);\n }\n });\n }\n onStelleninseratAddClick() {\n this._formPopupService.formPopup.show({\n titel: this._localizationService.translateOnce(\"zit.stelleninserat\"),\n data: {},\n formDef: \"stelleninserat\",\n onFormSubmit: (data) => {\n if (!this.form.models.data.$m_Termin.Kopf.Stelleninserate) {\n this.form.models.data.$m_Termin.Kopf.Stelleninserate = [];\n }\n\n const exists = this.form.models.data.$m_Termin.Kopf.Stelleninserate.some((t) => t.IdStelleninserat == data.item.Id);\n if (exists) {\n return;\n }\n\n this.form.models.data.$m_Termin.Kopf.Stelleninserate.push({\n IdStelleninserat: data.item.Id,\n Stelleninserat: {\n Id: data.item.Id,\n Card: data.item.Card\n }\n });\n\n this._modelUtilsService.setDirty(this.form.models.data.$m_Termin);\n }\n });\n }\n async onStelleninseratDeleteClick(ev: CustomEvent) {\n const r = await this._dialogService.askZuteilungLoeschen();\n if (!r) {\n return;\n }\n\n const index = this.form.models.data.$m_Termin.Kopf.Stelleninserate.indexOf(ev.detail.item);\n if (index < 0) {\n return;\n }\n\n this.form.models.data.$m_Termin.Kopf.Stelleninserate.splice(index, 1);\n this._modelUtilsService.setDirty(this.form.models.data.$m_Termin);\n }\n async onTerminPersonAusStelleninseratHinz() {\n const q = await this._dialogConfirmService.show({\n title: this._localizationService.translateOnce(\"base.question\"),\n message: this._localizationService.translateOnce(\"termin.frage-person-aus-stelleninserat-hinzu\")\n });\n\n if (!q) {\n return;\n }\n\n const r = await this.form.saveIfDirty();\n if (!r.isValid) {\n return;\n }\n\n await this._restService.post({\n url: this._restService.getApiUrl(\"ZIT/Termin/EmpfAusStelleninseratHinzufuegen\"),\n data: {\n IdTermin: this.form.models.data.$m_Termin.Id\n },\n increaseLoadingCount: true\n });\n\n this.form.models.reloadAll();\n }\n async onTerminEinschaetzungErstellenClick() {\n const r = await this.form.saveIfDirty();\n if (!r.isValid) {\n return;\n }\n\n this.form.models.data.$m_TerminEmpfEinschEdit = {\n Id: 0\n };\n this.form.editPopups.show(\"terminEmpfEinschEditPopup\", null);\n }\n onStartDatumChanged() {\n const model = this.form.models.data.$m_Termin;\n\n if (!model || !model.Kopf || model.Kopf.EndeDatum) {\n return;\n }\n\n model.Kopf.EndeDatum = model.Kopf.StartDatum;\n }\n onExecuteSucheErweitert(event: any): void {\n this.erweiterteSucheWertQuery = event.detail.wertQueryList;\n }\n onDateiListChanged(ev: CustomEvent) {\n if (!ev.detail || !ev.detail.dateiList) {\n return;\n }\n\n const data = this.form.models.data.$m_Termin;\n this._modelUtilsService.setDirty(data);\n\n if (!data.Kopf.TerminDateien) {\n data.Kopf.TerminDateien = ev.detail.dateiList;\n }\n }\n\n private getErweiterteSuche(): ErweiterteSuche {\n return this.form[\"r_erweiterteSuche\"];\n }\n private showErweiterteSucheContextMenu(event): void {\n this.getErweiterteSuche()\n .showVorlageContextMenu(event, true);\n }\n\n private async loadMeldenBeiDataSource(id: number) {\n const ansprechpersonList = await this._ansprechpersonService\n .loadAnsprechpersonByGeschaeftspartner(id, [\"Name\"]);\n\n this.meldenBeiDataSource = ansprechpersonList.map((c) => c.Name);\n }\n\n private async loadTermineDataSource(id: number) {\n this.terminDataSource = await this._restService.get({\n url: `${this._restService.getApiUrl(\"ZIT/Termin/HauptterminList\")}?idGeschaeftspartner=${id}`\n });\n }\n\n private async modifyEmpfaengerList(empfaenger: any[]) {\n empfaenger.forEach((element) => {\n if (element.Person) {\n element.Titel = element.Person.Titel;\n }\n });\n }\n\n private deleteEmpfaenger(empfaenger: any) {\n const list: any[] = this.form.models.data.$m_Termin.Empfaenger;\n if (!list || !list.length) {\n return;\n }\n\n list.splice(list.indexOf(empfaenger), 1);\n this._modelUtilsService.setDirty(this.form.models.data.$m_Termin);\n }\n\n private async setPersonTitel(terminEmpfaenger: any) {\n if (!terminEmpfaenger.IdPerson) {\n return;\n }\n if (terminEmpfaenger.Titel && terminEmpfaenger.Titel.length > 0) {\n return;\n }\n\n const person = await this._restService.get({\n url: this._restService.getWebApiUrl(\"ZIT/Objekte/Person/\".concat(terminEmpfaenger.IdPerson)),\n getOptions: {\n columns: [\"Titel\"]\n }\n });\n\n if (!person) {\n return;\n }\n\n terminEmpfaenger.Titel = person.Titel;\n }\n private async setEmpfaengerStatus(terminEmpfaenger: any) {\n if (!terminEmpfaenger.IdStatusZustand) {\n return;\n }\n\n const zustand = await this._restService.get({\n url: this._restService.getWebApiUrl(\"ZIT/Stammdaten/Zustand/\".concat(terminEmpfaenger.IdStatusZustand)),\n getOptions: {\n columns: [\"Farbe\", \"TagSymbol\"]\n }\n });\n\n if (!zustand) {\n return;\n }\n\n terminEmpfaenger.StatusZustandFarbe = zustand.Farbe;\n terminEmpfaenger.StatusZustandTagSymbol = zustand.TagSymbol;\n }\n private async getEmpfaengerData(id: number): Promise {\n if (!id) {\n return;\n }\n\n const empfaenger: any = {\n IdTermin: this.form.models.data.$m_Termin.Id,\n IdPerson: id\n };\n\n await this.setPersonTitel(empfaenger);\n\n if (this.selectedEmpfaenger) {\n empfaenger.Bemerkung = this.selectedEmpfaenger.Bemerkung;\n empfaenger.StatusZustandCode = this.selectedEmpfaenger._StatusZustandCode;\n empfaenger._StatusZustandCode = this.selectedEmpfaenger._StatusZustandCode;\n }\n\n return empfaenger;\n }\n\n private async setEmpfaenger(idPerson: number) {\n const list: any[] = this.form.models.data.$m_Termin.Empfaenger || [];\n const alreadyExists = list.some((c) => c.IdPerson === idPerson);\n if (alreadyExists) {\n return;\n }\n\n const empfaenger = await this.getEmpfaengerData(idPerson);\n\n list.push(empfaenger);\n\n this.form.models.data.$m_Termin.Empfaenger = list;\n this._modelUtilsService.setDirty(this.form.models.data.$m_Termin);\n }\n\n private async onEmpfaengerStatusGeaendert(data) {\n await this.setPersonTitel(data);\n await this.setEmpfaengerStatus(data);\n\n if (!this.form.models.data.$m_Termin.Empfaenger) {\n this.form.models.data.$m_Termin.Empfaenger = [];\n }\n\n const list: any[] = this.form.models.data.$m_Termin.Empfaenger;\n const indexOf = list.indexOf(data);\n if (indexOf >= 0) {\n return;\n }\n\n list.push(data);\n }\n}\n","import { autoinject } from \"aurelia-framework\";\nimport { RestService, GlobalizationService } from \"../../framework/base/services/export\";\nimport { LoginprofilEinstellungenService, LoginprofilEinstellungTyp, ILoginprofilEinstellung } from \"./loginprofil-einstellungen-service\";\nimport { IErweiterteSucheObjektFeldData, ITextValue } from \"../interfaces/export\";\nimport { ObjektExportEigenschaftDatenTyp } from \"./../enumerations/export\";\n\n@autoinject\nexport class ErweiterteSucheService {\n constructor(\n private _loginprofilEinstellungenService: LoginprofilEinstellungenService,\n private _globalizationService: GlobalizationService,\n private _restService: RestService\n ) { }\n\n private textFilterOperators: ITextValue[] = [\n { text: \"enthält\", value: \"like\" },\n { text: \"enthält nicht\", value: \"notlike\" },\n { text: \"entspricht\", value: \"=\" },\n { text: \"entspricht nicht\", value: \"!=\" },\n { text: \"nicht definiert\", value: \"isnull\" },\n { text: \"definiert\", value: \"isnotnull\" }\n ];\n private dateAndNumberFilterOperators: ITextValue[] = [\n { text: \"entspricht\", value: \"=\" },\n { text: \"entspricht nicht\", value: \"!=\" },\n { text: \"zwischen\", value: \"between\" },\n { text: \"größer\", value: \">\" },\n { text: \"größer gleich\", value: \">=\" },\n { text: \"kleiner\", value: \"<\" },\n { text: \"kleiner gleich\", value: \"<=\" },\n { text: \"definiert\", value: \"isnotnull\" },\n { text: \"nicht definiert\", value: \"isnull\" }\n ];\n private markerFilterOperators: ITextValue[] = [\n { text: \"einer aus\", value: \"in\" },\n { text: \"alle\", value: \"all\" },\n { text: \"keiner aus\", value: \"notin\" },\n ];\n private statusFilterOperators: ITextValue[] = [\n { text: \"einer aus\", value: \"in\" },\n { text: \"keiner aus\", value: \"notin\" },\n ];\n private auswahllisteFilterOperators: ITextValue[] = [\n { text: \"einer aus\", value: \"in\" },\n { text: \"keiner aus\", value: \"notin\" },\n ];\n\n async loadEinstellungen(objekttypFullName: string): Promise {\n if (!objekttypFullName) {\n return [];\n }\n\n return this._loginprofilEinstellungenService.loadLoginprofilEinstellung({\n Typ: LoginprofilEinstellungTyp.Suche,\n Entitaet: objekttypFullName\n });\n }\n\n async loadObjektFelder(objekttypFullName: string): Promise {\n if (!objekttypFullName) {\n return;\n }\n\n const r = await this._restService.get({\n url: this._restService.getApiUrl(`ZIT/Volltext/ObjektExportEigenschaftSucheErweitert?typeName=${objekttypFullName}`)\n });\n\n this.extractFilterSpecial(r, ObjektExportEigenschaftDatenTyp.Marker, -1, \"Marker\");\n this.extractFilterSpecial(r, ObjektExportEigenschaftDatenTyp.ObjektStatus, -2, \"Status\");\n\n for (let i of r) {\n if (i.Datentyp != ObjektExportEigenschaftDatenTyp.Auswahlliste) {\n continue;\n }\n if (!i.AuswahllisteDatenquelle) {\n continue;\n }\n\n i.DataList = await this.loadAuswahlliste(i.AuswahllisteDatenquelle);\n }\n\n return r;\n }\n getOperatorDataSource(operatorTyp: ObjektExportEigenschaftDatenTyp) {\n switch (operatorTyp) {\n case ObjektExportEigenschaftDatenTyp.Text:\n return this.textFilterOperators;\n case ObjektExportEigenschaftDatenTyp.Datum:\n case ObjektExportEigenschaftDatenTyp.Nummer:\n return this.dateAndNumberFilterOperators;\n case ObjektExportEigenschaftDatenTyp.Marker:\n return this.markerFilterOperators;\n case ObjektExportEigenschaftDatenTyp.ObjektStatus:\n return this.statusFilterOperators;\n case ObjektExportEigenschaftDatenTyp.Auswahlliste:\n return this.auswahllisteFilterOperators;\n default:\n return [];\n }\n }\n getFilterBezeichnung(filter: IErweiterteSucheObjektFeldData, operator: string, wert: any) {\n switch (operator) {\n case \"=\":\n case \"!=\":\n case \">\":\n case \">=\":\n case \"<\":\n case \"like\":\n case \"notlike\":\n case \"<=\": {\n return `${filter.Bezeichnung} ${this.getOperatorBezeichnung(filter.Datentyp, operator)} ${this.getWertBezeichnung(filter, wert)}`;\n }\n case \"between\": {\n return `${filter.Bezeichnung} ${this.getOperatorBezeichnung(filter.Datentyp, operator)} ${this.getWertBezeichnung(filter, wert.wert1)} und ${this.getWertBezeichnung(filter, wert.wert2)}`;\n }\n case \"in\":\n case \"notin\":\n case \"all\": {\n const bez = this.getWertBezeichnungList(filter, wert);\n return `${filter.Bezeichnung} ${this.getOperatorBezeichnung(filter.Datentyp, operator)} ${bez}`;\n }\n case \"isnull\":\n case \"isnotnull\": {\n return `${filter.Bezeichnung} ${this.getOperatorBezeichnung(filter.Datentyp, operator)}`;\n }\n }\n\n return \"\";\n }\n\n private extractFilterSpecial(filterList: IErweiterteSucheObjektFeldData[], datentyp: ObjektExportEigenschaftDatenTyp, newId: number, bezeichnung: string) {\n const extractList = filterList.filter(i => i.Datentyp == datentyp);\n if (extractList.length > 0) {\n extractList.forEach(m => {\n const indexOf = filterList.indexOf(m);\n filterList.splice(indexOf, 1);\n });\n\n const newFilter: IErweiterteSucheObjektFeldData = {\n Id: newId,\n Bezeichnung: bezeichnung,\n Datentyp: datentyp,\n DataList: extractList.map(m => {\n m.Id = m.Id;\n return m;\n }),\n SucheErweitertVorbelegt: true\n };\n\n filterList.push(newFilter);\n\n return newFilter;\n }\n\n return null;\n }\n private getOperatorBezeichnung(datentyp: ObjektExportEigenschaftDatenTyp, operator: string) {\n const r = this.getOperatorDataSource(datentyp);\n const op = r.find(o => o.value == operator);\n\n if (!op) {\n return \"\";\n }\n\n return op.text;\n }\n private getWertBezeichnung(filter: IErweiterteSucheObjektFeldData, wert: any) {\n if (!wert) {\n return \"\";\n }\n\n if (filter.Datentyp == ObjektExportEigenschaftDatenTyp.Nummer) {\n return this._globalizationService.format(wert, filter.Format || \"d\");\n } else if (filter.Datentyp == ObjektExportEigenschaftDatenTyp.Datum) {\n return this._globalizationService.format(wert, filter.Format || \"n0\");\n } else {\n return wert;\n }\n }\n private getWertBezeichnungList(filter: IErweiterteSucheObjektFeldData, wert: any) {\n if (!Array.isArray(wert)) {\n return \"\";\n }\n\n if (!Array.isArray(filter.DataList)) {\n return \"\";\n }\n\n const itemList = [];\n\n for (let w of wert) {\n const i = filter.DataList.find(d => d.Id == w);\n const text = i ? i.Bezeichnung : \"n/a\";\n\n itemList.push(text);\n }\n\n return itemList.join(\", \");\n }\n private loadAuswahlliste(webApiAction: string): Promise {\n return this._restService.get({\n url: this._restService.getWebApiUrl(webApiAction),\n getOptions: {\n columns: [\"Id\", \"Bezeichnung\"]\n }\n });\n }\n}\n","import {\n autoinject\n} from \"aurelia-framework\";\nimport {\n BindingService,\n LocalizationService,\n ScopeContainer\n} from \"../../base/export\";\n\n@autoinject\nexport class ValidationService {\n private validators: any = {};\n\n constructor(\n private binding: BindingService,\n private localization: LocalizationService\n ) {\n this.registerRequired();\n this.registerConditionalRequired();\n this.registerEmail();\n this.registerEmailMultiple();\n this.registerStringLength();\n this.registerIBAN();\n this.registerBIC();\n this.registerDuration();\n this.registerAHVNr();\n this.registerSVNr();\n this.registerTelefonLandvorwahl();\n }\n\n registerValidator(type: string, callback: { (scopeContainer: ScopeContainer, caption: string, parameters: any): any }) {\n this.validators[type] = callback;\n }\n\n getValidator(scopeContainer: ScopeContainer, type: string, caption: string, parameters: any): any {\n const validator = this.validators[type];\n\n if (!validator) {\n throw new Error(`Validator ${type} not found`);\n }\n\n return validator(scopeContainer, caption, parameters);\n }\n\n private registerRequired() {\n this.registerValidator(\"required\", (scopeContainer, caption, parameters) => {\n return {\n type: \"required\",\n message: this.localization.translateOnce(\n \"forms.validator_required\",\n [this.localization.translateOnce(caption)])\n };\n });\n }\n private registerConditionalRequired() {\n this.registerValidator(\"conditionalRequired\", (scopeContainer, caption, parameters) => {\n return {\n type: \"custom\",\n reevaluate: true,\n message: this.localization.translateOnce(\n \"forms.validator_required\",\n [this.localization.translateOnce(caption)]),\n validationCallback: (e) => {\n if (e.value != void(0) && e.value.toString() != \"\") {\n return true;\n }\n\n const condition = parameters.find(p => p.name === \"condition\");\n if (!condition || !condition.value) {\n return false;\n }\n\n return !this.binding.evaluate(scopeContainer.scope, condition.value);\n }\n };\n });\n }\n private registerBIC(){\n this.registerValidator(\"bic\", (ScopeContainer, caption, parameters) => {\n return {\n type: \"pattern\",\n pattern: \"^([A-Z]){4}([A-Z]){2}([0-9A-Z]){2}([0-9A-Z]{3})?$\",\n message: this.localization.translateOnce(\n \"forms.validator_bic\",\n [this.localization.translateOnce(caption)])\n };\n });\n }\n private registerIBAN() {\n this.registerValidator(\"iban\", (ScopeContainer, caption, parameters) => {\n return {\n type: \"pattern\",\n pattern: \"[A-Z]{2}[0-9]{2}[A-Z0-9]{4}[0-9]{7}([A-Z0-9]?){0,16}\",\n message: this.localization.translateOnce(\n \"forms.validator_iban\",\n [this.localization.translateOnce(caption)])\n };\n });\n }\n private registerDuration() {\n this.registerValidator(\"duration\", (ScopeContainer, caption, parameters) => {\n const durationPeriodTypeParameter = parameters.find(p => p.name === \"durationPeriodType\");\n const durationPeriodType = durationPeriodTypeParameter\n ? parseInt(durationPeriodTypeParameter.value)\n : 0;\n\n let message = null;\n switch (durationPeriodType) {\n case 0: {\n message = this.localization.translateOnce(\"forms.validator_duration_seconds_and_more\");\n break;\n }\n case 1: {\n message = this.localization.translateOnce(\"forms.validator_duration_minutes_and_more\");\n break;\n }\n case 2: {\n message = this.localization.translateOnce(\"forms.validator_duration_days_and_more\");\n break;\n }\n default: {\n break;\n }\n }\n\n return {\n type: \"custom\",\n reevaluate: true,\n message: message,\n validationCallback: (e) => {\n if (e.value == void(0) || e.value == \"\") {\n return true;\n }\n\n let index = 0; \n for (let i of e.value) {\n const code = i.charCodeAt(0);\n if (code < 48 || code > 57) {\n break;\n }\n \n index++;\n }\n\n if (index == 0) {\n return false;\n }\n \n let period = e.value.substr(index); \n switch (period) {\n case \"J\":\n case \"H\":\n case \"Q\":\n case \"M\":\n case \"W\":\n case \"T\":\n case \"AT\": {\n return durationPeriodType <= 2;\n }\n case \"S\":\n case \"MI\": {\n return durationPeriodType <= 1;\n }\n case \"SE\": {\n return durationPeriodType <= 0;\n }\n default: {\n return false;\n }\n } \n }\n };\n });\n }\n private registerEmail() {\n this.registerValidator(\"email\", (scopeContainer, caption, parameters) => {\n return {\n type: \"custom\",\n reevaluate: true,\n message: this.localization.translateOnce(\n \"forms.validator_email\",\n [this.localization.translateOnce(caption)]),\n validationCallback: (e) => {\n if (e.value == void(0) || e.value == \"\") {\n return true;\n }\n\n const value: string = e.value;\n\n const isValid = /^[\\d\\w\\._\\-]+@([\\d\\w\\._\\-üäö]+\\.)+[\\w]+$/i.test(value);\n if (!isValid) {\n return false;\n }\n\n return true;\n }\n };\n });\n }\n private registerEmailMultiple() {\n this.registerValidator(\"email-multiple\", (scopeContainer, caption, parameters) => {\n return {\n type: \"custom\",\n reevaluate: true,\n message: this.localization.translateOnce(\n \"forms.validator_email\",\n [this.localization.translateOnce(caption)]),\n validationCallback: (e) => {\n if (e.value == void(0) || e.value == \"\") {\n return true;\n }\n\n const value: string = e.value;\n const tokens = value.split(\";\");\n\n for (let token of tokens) {\n token = token.trim();\n\n const isValid = /^[\\d\\w\\._\\-]+@([\\d\\w\\._\\-üäö]+\\.)+[\\w]+$/i.test(token);\n if (!isValid) {\n return false;\n }\n }\n\n return true;\n }\n };\n });\n }\n private registerStringLength() {\n this.registerValidator(\"stringLength\", (scopeContainer, caption, parameters) => {\n const min = parameters.find(p => p.name === \"min\");\n const max = parameters.find(p => p.name === \"max\");\n \n if (min && max) {\n return {\n type: \"stringLength\",\n min: min.value,\n max: max.value,\n message: this.localization.translateOnce(\n \"forms.validator_stringLengthMinMax\",\n [this.localization.translateOnce(caption), min.value, max.value])\n };\n } else if (min) {\n return {\n type: \"stringLength\",\n min: min.value,\n message: this.localization.translateOnce(\n \"forms.validator_stringLengthMin\",\n [this.localization.translateOnce(caption), min.value])\n };\n } else if (max) {\n return {\n type: \"stringLength\",\n max: max.value,\n message: this.localization.translateOnce(\n \"forms.validator_stringLengthMax\",\n [this.localization.translateOnce(caption), max.value])\n };\n } else {\n throw new Error(\"No min/max specified\");\n }\n });\n }\n private registerSVNr() {\n this.registerValidator(\"svnr\", (ScopeContainer, caption, parameters) => {\n return {\n type: \"pattern\",\n pattern: \"^[0-9]{4}$\",\n message: this.localization.translateOnce(\n \"forms.validator_svnr\",\n [this.localization.translateOnce(caption)])\n };\n });\n }\n private registerAHVNr() {\n this.registerValidator(\"ahvnr\", (ScopeContainer, caption, parameters) => {\n return {\n type: \"pattern\",\n pattern: \"^[0-9\\\\.]{5,20}$\",\n message: this.localization.translateOnce(\n \"forms.validator_ahvnr\",\n [this.localization.translateOnce(caption)])\n };\n });\n }\n private registerTelefonLandvorwahl() {\n this.registerValidator(\"telefonlandvorwahl\", (ScopeContainer, caption, parameters) => {\n return {\n type: \"pattern\",\n pattern: \"^\\\\+[0-9]{1,3}$\",\n message: this.localization.translateOnce(\n \"forms.validator_telefonlandvorwahl\",\n [this.localization.translateOnce(caption)])\n };\n });\n }\n}\n","export enum KontaktpersonTyp {\n NatuerlichePerson = 0,\n Team = 1\n}\n","export enum BenutzerTyp{\n InternerBenutzer = 0,\n NatuerlichePerson = 1,\n JuristischePerson = 2,\n Administrator = 3,\n Ungueltig = 4\n}\n","export enum ObjektExportEigenschaftDatenTyp {\n Text = 0,\n Nummer = 1,\n Datum = 2,\n Marker = 3,\n ObjektStatus = 4,\n Auswahlliste = 5\n}\n","import { autoinject } from \"../../framework/forms/form-export\";\nimport { RestService } from \"../../framework/base/services/rest-service\";\nimport { GlobalizationService } from \"../../framework/base/export\";\n\nimport * as moment from \"moment\";\n\n@autoinject\nexport class SchnupperterminService {\n private SWITCH_MONTH = 9;\n\n constructor(\n private _restService: RestService,\n private _globalizationService: GlobalizationService\n ) {}\n\n getSchnupperterminZeitraum(): ISchnupperterminZeitraum {\n const today = moment()\n .startOf(\"day\");\n\n const month = today.month() + 1;\n\n let von = moment({ year: today.year(), month: this.SWITCH_MONTH - 1, day: 1});\n\n if (month + 1 < this.SWITCH_MONTH) {\n von = von.subtract(1, \"year\");\n }\n\n return {\n von: von.toDate(),\n bis: von.add(1, \"year\")\n .subtract(1, \"day\")\n .toDate()\n };\n }\n async getEventZeitraumSchnupperterminList(von: Date, bis: Date): Promise {\n return await this._restService.post({\n url: this._restService.getApiUrl(\"ZIT/Schnuppertermin/SchnupperterminZeitraum\"),\n data: {\n Von: von,\n Bis: bis\n }\n });\n }\n}\n\nexport interface ISchnupperterminZeitraum {\n von: Date;\n bis: Date;\n}\nexport interface ISchnupperterminZeitraumResult {\n Id: number;\n Bezeichnung: string;\n Start: Date;\n Ende: Date;\n IsAktiv?: boolean;\n}","import {\n autoinject\n} from \"aurelia-framework\";\nimport {\n RestService\n} from \"./rest-service\";\nimport {\n JsonService\n} from \"./json-service\";\n\n@autoinject\nexport class WebEventService {\n constructor(\n private rest: RestService,\n private json: JsonService\n ) { }\n\n execute(eventInfo: IEventInfo, showLoading: boolean = false): Promise {\n return this.rest.post({\n url: this.rest.getApiUrl(\"base/Event/Post\"),\n increaseLoadingCount: showLoading,\n data: eventInfo\n });\n }\n executeWithProgress(eventInfo: IEventInfo, callback: {(text: string, percent: number): void}): Promise {\n const webSocket = new WebSocket(this.rest.getWebSocketUrl(\"base/Event/Socket\"));\n\n return new Promise((resolve, reject) => {\n webSocket.onopen = () => {\n webSocket.send(this.json.stringify(eventInfo));\n };\n webSocket.onmessage = (e) => {\n const data = this.json.parse(e.data);\n\n switch (data.Type) {\n case \"STATUS\": {\n if (callback) {\n callback(data.Data.Text, data.Data.Percent);\n }\n break;\n }\n case \"RESULT\": {\n webSocket.close();\n resolve(data.Data);\n break;\n }\n }\n };\n webSocket.onerror = (e) => {\n reject(e);\n };\n });\n }\n}\n\ninterface IEventInfo {\n EventName: string;\n data: any;\n}\n","import {\n autoinject,\n bindable,\n customAttribute\n} from \"aurelia-framework\";\n\n@autoinject\n@customAttribute(\"animation-tracker\")\nexport class AnimationTrackerAttribute {\n private _eventStart: any;\n private _eventEnd: any;\n private _handlerStart: any;\n private _handlerEnd: any;\n\n constructor(\n private element: Element\n ) { }\n\n @bindable propertyName: string;\n\n bind() {\n this._eventStart = this.getEventStart();\n if (this._eventStart) {\n this._handlerStart = this.handleEnd.bind(this);\n this.element.addEventListener(this._eventStart, this._handlerStart);\n }\n\n this._eventEnd = this.getEventEnd();\n if (this._eventEnd) {\n this._handlerEnd = this.handleEnd.bind(this);\n this.element.addEventListener(this._eventEnd, this._handlerEnd);\n }\n\n }\n unbind() {\n if (this._eventStart) {\n this.element.removeEventListener(this._eventStart, this._handlerStart);\n }\n if (this._eventEnd) {\n this.element.removeEventListener(this._eventEnd, this._handlerEnd);\n }\n }\n\n private getEventStart() {\n const transitions = {\n \"transition\": \"transitionstart\",\n \"OTransition\": \"oTransitionStart\",\n \"MozTransition\": \"transitionstart\",\n \"WebkitTransition\": \"webkitTransitionStart\"\n }\n\n const el: any = this.element;\n for (let t in transitions) {\n if (el.style[t] !== undefined) {\n return transitions[t];\n }\n }\n }\n private getEventEnd() {\n const transitions = {\n \"transition\": \"transitionend\",\n \"OTransition\": \"oTransitionEnd\",\n \"MozTransition\": \"transitionend\",\n \"WebkitTransition\": \"webkitTransitionEnd\"\n }\n\n const el: any = this.element;\n for (let t in transitions) {\n if (el.style[t] !== undefined) {\n return transitions[t];\n }\n }\n }\n private handleStart(e: any) {\n if (!e.propertyName) {\n return;\n }\n\n if (this.propertyName && this.propertyName != e.propertyName) {\n return;\n }\n\n const event = new CustomEvent(\"on-animation-start\", {\n detail: {\n sender: this,\n element: this.element,\n propertyName: e.propertyName\n },\n bubbles: true\n });\n\n this.element.dispatchEvent(event);\n }\n private handleEnd(e: any) {\n if (!e.propertyName) {\n return;\n }\n\n if (this.propertyName && this.propertyName != e.propertyName) {\n return;\n }\n\n const event = new CustomEvent(\"on-animation-end\", {\n detail: {\n sender: this,\n element: this.element,\n propertyName: e.propertyName\n },\n bubbles: true\n });\n\n this.element.dispatchEvent(event);\n }\n}\n","import {\n autoinject,\n bindable,\n customAttribute\n} from \"aurelia-framework\";\n\n@autoinject\n@customAttribute(\"animation\")\nexport class AnimationCustomAttribute {\n constructor(\n private element: Element\n ) { }\n\n valueChanged(newVal, oldVal) {\n if (newVal == oldVal){\n return;\n }\n this.doAnimation();\n }\n\n private doAnimation() {\n const isAnimating = this.element.classList.contains(\"animating\");\n if (isAnimating === false) {\n this.element.classList.add(\"animating\");\n }\n const animatingElementsCount = document.getElementsByClassName(\"animating\").length;\n const delay = 100 * animatingElementsCount;\n\n setTimeout(() => {\n this.element.classList.remove(\"animating\");\n }, 150 + delay)\n }\n}\n","import {\n autoinject,\n customAttribute,\n TaskQueue\n} from \"aurelia-framework\";\nimport { EventAggregator, Subscription } from 'aurelia-event-aggregator';\nimport { WindowService } from '../../export';\n\n@autoinject\n@customAttribute(\"gr-size\")\nexport class GridSizeAttribute {\n private _windowResizeSubscription: Subscription;\n private _checkClassSubscription: Subscription;\n private _currentStyle;\n private _detached = false;\n private _setClassCounter = 0;\n\n constructor(\n private element: Element,\n private taskQueue: TaskQueue,\n private eventAggregator: EventAggregator,\n private windowService: WindowService\n ) { }\n\n bind() {\n this._checkClassSubscription = this.eventAggregator.subscribe(\"grid:check-class\", (e) => {\n if (e.element) {\n if (!this.isParent(e.element)) {\n return;\n }\n }\n this.setClass();\n });\n this._windowResizeSubscription = this.eventAggregator.subscribe(\"window:resize\", () => {\n this.setClass();\n });\n }\n unbind() {\n this._checkClassSubscription.dispose();\n this._windowResizeSubscription.dispose();\n }\n attached() {\n this.element.classList.add(\"gr\");\n\n this._detached = false;\n this.setClass();\n }\n detached() {\n this._detached = true;\n }\n\n private isParent(parent): boolean {\n let child = this.element;\n\n while (child != null) {\n if (child == parent) {\n return true;\n }\n\n child = child.parentElement;\n }\n\n return false;\n }\n private setClass(start: boolean = true) {\n if (start) {\n this._setClassCounter = 0;\n }\n if (this._detached || this._setClassCounter > 60) {\n return;\n }\n\n const element = this.element;\n let widthElement = element;\n while (widthElement && this.isInline(widthElement)) {\n widthElement = widthElement.parentElement;\n }\n\n const styles = [\"xs\"];\n const width = widthElement\n ? widthElement.clientWidth\n : 0;\n\n if (!width) {\n setTimeout(() => {\n this._setClassCounter++;\n this.setClass(false)\n }, 50);\n }\n\n if (width >= 768) {\n styles.push(\"sm\");\n }\n if (width >= 992) {\n styles.push(\"md\");\n }\n if (width >= 1200) {\n styles.push(\"lg\");\n }\n\n const newStyle = styles.join(\" \");\n if (this._currentStyle == newStyle) {\n return;\n }\n\n this._currentStyle = newStyle;\n\n element.classList.add(\"gr-xs\");\n\n if (width >= 768) {\n element.classList.add(\"gr-sm\");\n } else {\n element.classList.remove(\"gr-sm\");\n }\n\n if (width >= 992) {\n element.classList.add(\"gr-md\");\n } else {\n element.classList.remove(\"gr-md\");\n }\n\n if (width >= 1200) {\n element.classList.add(\"gr-lg\");\n } else {\n element.classList.remove(\"gr-lg\");\n }\n\n if (width >= 1500) {\n element.classList.add(\"gr-xl\");\n } else {\n element.classList.remove(\"gr-xl\");\n }\n }\n\n private isInline(element: HTMLElement): boolean {\n return window.getComputedStyle(element).display == \"inline\";\n }\n}\n","import {\n autoinject,\n bindable,\n customAttribute\n} from \"aurelia-framework\";\n\n@autoinject\n@customAttribute(\"fa-icon\")\nexport class FaIconAttribute {\n private currentIcon: string;\n\n constructor(\n private element: Element\n ) {}\n\n @bindable icon: string;\n\n bind() {\n this.setClass();\n }\n\n iconChanged(newValue: string, oldValue: string): void {\n this.setClass();\n }\n\n private setClass() {\n var element = this.element;\n\n if (this.currentIcon) {\n element.classList.remove(this.currentIcon);\n this.currentIcon = null;\n }\n\n if (this.icon) {\n this.currentIcon = this.icon;\n element.classList.add(...this.currentIcon.split(\" \"));\n }\n }\n}\n","import {\n autoinject,\n bindable,\n customAttribute,\n observable,\n OverrideContext,\n Scope,\n TemplatingEngine,\n transient,\n View\n} from \"aurelia-framework\";\nimport {\n LocalizationService, TemplatingExService\n} from \"../../services/export\";\nimport {\n ScopeContainer\n} from \"../../classes/scope-container\"\nimport { MarkdownService } from '../../services/markdown-service';\n\n@autoinject\n@customAttribute(\"tr\")\nexport class TrCustomAttribute {\n private _createdSpan: Element;\n private _createdView: View;\n private _isBound: boolean = false;\n\n constructor(\n private element: Element,\n private localization: LocalizationService,\n private templatingEngine: TemplatingEngine,\n private templatingExService: TemplatingExService,\n private markdownService: MarkdownService\n ) { }\n\n owningView: any;\n\n @bindable mode: string;\n @bindable @observable key: any;\n @bindable scope: Scope;\n @bindable markdown: boolean;\n @bindable isHtml: boolean;\n\n created(owningView: any, myView: any) {\n this.owningView = owningView;\n }\n bind(bindingContext: any, overrideContext: OverrideContext) {\n this._isBound = true;\n\n if (!this.scope) {\n this.scope = {\n bindingContext,\n overrideContext\n };\n }\n\n this.translate();\n }\n unbind() {\n this._isBound = false;\n this.scope = null;\n\n this.destroyCreated();\n }\n\n keyChanged() {\n if (!this._isBound) {\n return;\n }\n\n this.destroyCreated();\n this.translate();\n }\n\n private destroyCreated() {\n if (this._createdSpan) {\n this._createdSpan.parentElement.removeChild(this._createdSpan);\n this._createdSpan = null;\n }\n\n if (this._createdView) {\n this.templatingExService.destroyView(this._createdView);\n this._createdView = null;\n }\n }\n private translate() {\n if (!this.key) {\n return;\n }\n\n const info = this.localization.getTranslationInfo(this.key);\n\n if (info.needsBinding) {\n this._createdSpan = document.createElement(\"span\");\n\n if (this.isHtml) {\n this._createdSpan.setAttribute(\"innerhtml\", this.getText(info.text));\n } else {\n this._createdSpan.innerHTML = this.getText(info.text);\n }\n this.element.appendChild(this._createdSpan);\n\n const scope = info.scope || this.scope;\n\n this._createdView = this.templatingEngine.enhance({\n element: this._createdSpan,\n resources: this.owningView.resources,\n bindingContext: scope.bindingContext,\n overrideContext: scope.overrideContext\n });\n } else {\n this.element.innerHTML = this.getText(info.text);\n }\n }\n\n private getText(text: string) {\n if (!this.markdown) {\n return text;\n }\n\n return this.markdownService.replace(text);\n }\n}\n","import { \n FrameworkConfiguration,\n PLATFORM\n} from \"aurelia-framework\";\nimport \"./styles/styles.less\";\n\nexport function configure(config: FrameworkConfiguration) {\n config\n .globalResources(PLATFORM.moduleName(\"./attributes/icon/fa-icon-attribute\"))\n .globalResources(PLATFORM.moduleName(\"./attributes/animation/animation-attribute\"))\n .globalResources(PLATFORM.moduleName(\"./attributes/translation/translation-attribute\"))\n .globalResources(PLATFORM.moduleName(\"./attributes/grid-size/grid-size-attribute\"))\n .globalResources(PLATFORM.moduleName(\"./attributes/animation-tracker/animation-tracker-attribute\"))\n .globalResources(PLATFORM.moduleName(\"./value-converters/translation/translation-value-converter\"))\n .globalResources(PLATFORM.moduleName(\"./value-converters/max-text-length/max-text-length-value-converter\"))\n .globalResources(PLATFORM.moduleName(\"./value-converters/sort/sort-value-converter\"))\n .globalResources(PLATFORM.moduleName(\"./value-converters/format/format-value-converter\"))\n .globalResources(PLATFORM.moduleName(\"./value-converters/file-download/file-download-value-converter\"))\n .globalResources(PLATFORM.moduleName(\"./value-converters/background-image/background-image-value-converter\"));\n}\n","import {\n autoinject,\n valueConverter\n} from \"aurelia-framework\";\nimport { FileService } from '../../services/file-service';\n\n@autoinject\n@valueConverter(\"backgroundImage\")\nexport class BackgroundImageValueConverter{\n constructor(\n private fileService: FileService\n ) {}\n\n toView(value: any) {\n if (!value) {\n return \"\";\n }\n\n const url = this.fileService.getDownloadUrl(value);\n return `background-image: url(${url})`;\n }\n}\n","import {\n autoinject,\n valueConverter\n} from \"aurelia-framework\";\nimport { FileService } from '../../services/file-service';\n\n@autoinject\n@valueConverter(\"fileDownload\")\nexport class FileDownloadValueConverter{\n constructor(\n private fileService: FileService\n ) {}\n\n toView(value: string) {\n if (!value) {\n return \"\";\n }\n\n if (value.startsWith(\"http:\") || value.startsWith(\"https:\")) {\n return value;\n }\n\n return this.fileService.getDownloadUrl(value);\n }\n}\n","import {\n autoinject,\n valueConverter\n} from \"aurelia-framework\";\nimport {\n GlobalizationService\n} from \"../../services/globalization-service\";\n\n@autoinject\n@valueConverter(\"format\")\nexport class FormatValueConverter{\n constructor(\n private globalization: GlobalizationService\n ) {}\n\n toView(value: any, format: string) {\n return this.globalization.format(value, format);\n }\n}","import {\n autoinject,\n valueConverter\n} from \"aurelia-framework\";\n\n@autoinject\n@valueConverter(\"maxTextLength\")\nexport class MaxTextLengthValueConverter{\n constructor(\n ) {}\n\n toView(value: string, maxLength: number = 50) {\n if (!value || value.length < maxLength) {\n return value;\n }\n\n return value.substr(0, maxLength).concat(\" ...\");\n }\n}\n","import {\n autoinject\n} from \"aurelia-framework\";\nimport {\n LocalizationService\n} from \"../../services/export\";\n\n@autoinject\nexport class SortValueConverter {\n constructor(\n private localization: LocalizationService\n ) {}\n\n toView(data: any[], propertyName: string, direction: string = \"asc\", translate: boolean = false) {\n var factor = direction === \"asc\" ? 1 : -1;\n\n return data\n .slice(0)\n .sort((a, b) => {\n let valA: string = a[propertyName];\n if (valA == void(0)) {\n valA = \"\";\n }\n\n let valB: string = b[propertyName];\n if (valB == void(0)) {\n valB = \"\";\n }\n\n if (translate) {\n if (valA) {\n valA = this.localization.translateOnce(valA) || \"\";\n }\n if (valB) {\n valB = this.localization.translateOnce(valB) || \"\";\n }\n }\n\n return valA.localeCompare(valB) * factor;\n });\n }\n}\n","import {\n autoinject,\n valueConverter\n} from \"aurelia-framework\";\nimport {\n LocalizationService\n} from \"../../services/localization-service\";\n\n@autoinject\n@valueConverter(\"tr\")\nexport class TranslationValueConverter{\n constructor(\n private localization: LocalizationService\n ) {}\n\n toView(value: any, parameters: string[] = null) {\n if (value == void(0)) {\n return \"\";\n }\n\n return this.localization.translateOnce(value, parameters);\n }\n}\n","import {\n autoinject,\n computedFrom\n} from \"aurelia-framework\";\nimport {\n LoadingService\n} from \"../../services/loading-service\";\n\n@autoinject\nexport class Loading {\n constructor(\n private loading: LoadingService\n ) { }\n}","module.exports = \" \";","import {\n autoinject,\n processContent,\n bindable,\n Scope,\n TemplatingEngine,\n OverrideContext,\n TaskQueue,\n View\n} from \"aurelia-framework\";\nimport {\n EventAggregator\n} from \"aurelia-event-aggregator\";\nimport {\n DxTemplateService\n} from \"../services/dx-template-service\";\nimport * as DxLoader from \"../dx-loader\";\nimport {\n BindingService,\n DeepObserverService,\n ScopeContainer\n} from \"../../base/export\";\nimport { BrowserService } from '../../base/services/browser-service';\n\n@autoinject\n@processContent(false)\nexport class DxWidget {\n private _createdViews: View[] = [];\n private _widgetElement: Element;\n private _valueChangeByCodeCount: number = 0;\n\n constructor(\n private element: Element,\n private templatingEngine: TemplatingEngine,\n private binding: BindingService,\n private deepObserver: DeepObserverService,\n private dxTemplate: DxTemplateService,\n private eventAggregator: EventAggregator,\n private taskQueue: TaskQueue,\n private browserService: BrowserService) {\n }\n\n @bindable name: string;\n @bindable options: any;\n @bindable validator: any;\n\n id: string;\n parentViewUrl: string;\n\n owningView: any;\n instance: any;\n validatorInstance: any;\n tooltipInstance: any;\n templates = {};\n scopeContainer: ScopeContainer;\n\n created(owningView: any, myView: any) {\n this.owningView = owningView;\n\n if (owningView\n && owningView.resources\n && owningView.resources.viewUrl) {\n this.parentViewUrl = owningView.resources.viewUrl;\n }\n\n this.id = this.element.getAttribute(\"view-model.ref\");\n }\n activate(e) {\n if (e && e.name && e.options) {\n this.name = e.name;\n this.options = e.options;\n }\n }\n bind(bindingContext: any, overrideContext: OverrideContext) {\n this.scopeContainer = new ScopeContainer({\n bindingContext: bindingContext,\n overrideContext: overrideContext\n });\n this.checkMobile();\n this.extractTemplates();\n this.checkBindings();\n }\n unbind() {\n this.scopeContainer.disposeAll();\n }\n attached() {\n this.renderInline();\n\n const initializeOptions = this.getInitializeOptions();\n this._widgetElement = document.createElement(\"div\");\n\n //TODO - vermutlich müssen die Kinder im Speicher gemerkt werden und dann von dor hierher geklont werden\n //=> Problem, dass im detached alles verworfen wird und dann nicht mehr da ist ...\n while (this.element.children.length > 0) {\n this._widgetElement.appendChild(this.element.children.item(0));\n }\n\n this.element.appendChild(this._widgetElement);\n\n if (!DxLoader.exists(this.name)) {\n throw new Error(`Widget ${this.name} does not exist`);\n }\n\n this.eventAggregator.publish(\"dx-widget:attaching\", {\n widget: this,\n owningView: this.owningView,\n name: this.name,\n options: initializeOptions\n });\n\n this.instance = DxLoader.createInstance(this.name, this._widgetElement, initializeOptions);\n\n let validatorElement;\n if (this.validator) {\n this.validatorInstance = DxLoader.createInstance(\"dxValidator\", this._widgetElement, this.validator);\n } else if (this.options[\"validators\"]) {\n this.validatorInstance = DxLoader.createInstance(\"dxValidator\", this._widgetElement, {\n validationRules: this.options[\"validators\"]\n });\n }\n\n this.registerBindings();\n\n this.eventAggregator.publish(\"dx-widget:attached\", {\n widget: this,\n owningView: this.owningView,\n name: this.name,\n options: initializeOptions,\n element: this._widgetElement,\n instance: this.instance\n })\n }\n detached() {\n let mainElement;\n let tooltipElement;\n\n if (this.instance) {\n mainElement = this.instance.element();\n this.instance.dispose();\n this.instance = null;\n }\n if (this.validatorInstance) {\n this.validatorInstance.dispose();\n this.validatorInstance = null;\n }\n if (this.tooltipInstance) {\n tooltipElement = this.tooltipInstance.element();\n this.tooltipInstance.dispose();\n this.tooltipInstance = null;\n }\n if (mainElement) {\n this.element.removeChild(mainElement);\n }\n if (tooltipElement) {\n this.element.removeChild(tooltipElement);\n }\n\n if (this.options && this.options.bindingOptions) {\n for (let binding of this.options.bindingOptions) {\n if (binding.deepObserver) {\n binding.deepObserver();\n binding.deepObserver = null;\n }\n }\n }\n\n this._createdViews.forEach(c => {\n c.detached();\n c.unbind();\n });\n this._createdViews.splice(0);\n }\n\n createTooltip(tooltip: string) {\n if (this.tooltipInstance) {\n const element: HTMLElement = this.tooltipInstance.element();\n element.querySelector(\".dx-popup-content\").textContent = tooltip;\n return;\n }\n\n const tooltipElement = document.createElement(\"div\");\n tooltipElement.innerText = tooltip;\n this.element.appendChild(tooltipElement);\n\n this.tooltipInstance = DxLoader.createInstance(\"dxTooltip\", tooltipElement, {\n target: this.instance.element(),\n showEvent: \"dxhoverstart\",\n hideEvent: \"dxhoverend\"\n });\n }\n\n resetValidation() {\n if (this.instance.option(\"isValid\") === false) {\n this.setOption({\n isValid: true\n });\n }\n }\n setOption(options: any) {\n let hasValueProperty = false;\n\n for (let key of Object.getOwnPropertyNames(options)) {\n if ((key === \"items\" || key === \"dataSource\") && options[key] == void (0)) {\n options[key] = [];\n }\n\n if (key != \"isValid\") {\n const currentValue = this.instance.option(key);\n if (currentValue === options[key]) {\n delete options[key];\n continue;\n }\n }\n\n if (key === \"value\") {\n hasValueProperty = true;\n }\n }\n\n if (Object.getOwnPropertyNames(options).length === 0) {\n return;\n }\n\n try {\n if (hasValueProperty) {\n this._valueChangeByCodeCount++;\n }\n\n this.instance.option(options);\n } finally {\n if (hasValueProperty) {\n this._valueChangeByCodeCount--;\n }\n }\n }\n\n private checkMobile() {\n if (!this.browserService.isMobile) {\n return;\n }\n\n if (this.name === \"dxSelectBox\") {\n this.name = \"dxLookup\";\n } else if (this.name == \"dxPopup\") {\n this.options.fullScreen = true;\n\n delete this.options.width;\n delete this.options.height;\n delete this.options.maxWidth;\n delete this.options.maxHeight;\n }\n }\n private modelByElement(element: any): any {\n return this.scopeContainer.scope;\n }\n private extractTemplates(): void {\n const children = Array.from(this.element.children)\n .filter((c) => c.tagName == \"DX-TEMPLATE\");\n\n for (let i = 0; i < children.length; i++) {\n const item = children[i];\n\n const name = item.getAttribute(\"name\");\n const alias = item.getAttribute(\"alias\") || \"data\";\n\n this.templates[name] = {\n render: (renderData) => {\n const result = this.dxTemplate.render(\n item,\n renderData.container,\n this.owningView.resources,\n this.scopeContainer.scope,\n renderData.model,\n name\n );\n\n const onRenderedName = `on${this.getPascalCase(name)}Rendered`;\n if (this.options && this.options[onRenderedName]) {\n this.options[onRenderedName](this);\n }\n\n this._createdViews.push(result.view);\n return result.element;\n }\n };\n\n item.parentElement.removeChild(item);\n }\n\n Object.assign(this.templates, this.dxTemplate.getTemplates(this.scopeContainer.scope, this.owningView.resources));\n }\n private getInitializeOptions(): any {\n this.options = this.options || {};\n\n const initializeOptions = Object.assign({}, this.options);\n\n const onOptionChangedOld = initializeOptions.onOptionChanged;\n initializeOptions.onOptionChanged = (e) => {\n if (onOptionChangedOld) {\n onOptionChangedOld(e);\n }\n\n this.onOptionChanged(e);\n };\n \n initializeOptions.modelByElement = this.modelByElement.bind(this);\n initializeOptions.integrationOptions = {\n templates: this.templates\n }\n\n if (this.options.bindingOptions) {\n for (let property in this.options.bindingOptions) {\n const binding = this.options.bindingOptions[property];\n const value = this.binding.evaluate(this.scopeContainer.scope, binding.expression);\n\n initializeOptions[property] = value;\n }\n }\n\n return initializeOptions;\n }\n private registerBindings(): void {\n if (!this.options.bindingOptions) {\n return;\n }\n\n for (let property in this.options.bindingOptions) {\n const binding = this.options.bindingOptions[property];\n\n this.binding.observe({\n scopeContainer: this.scopeContainer,\n expression: binding.expression,\n callback: (newValue, oldValue) => {\n const options = {};\n if (newValue === this.instance.option(property)) {\n return;\n }\n\n options[property] = newValue;\n options[\"isValid\"] = true;\n\n this.setOption(options);\n this.registerDeepObserver(binding, property, value);\n }\n });\n\n const value = this.binding.evaluate(this.scopeContainer.scope, binding.expression);\n\n this.registerDeepObserver(binding, property, value);\n }\n }\n private checkBindings(): void {\n if (!this.options) {\n throw new Error(`Invalid or no options for ${this.name}`);\n }\n\n if (!this.options.bindingOptions) {\n return;\n }\n\n for (let property in this.options.bindingOptions) {\n const binding = this.checkBinding(property);\n }\n }\n private checkBinding(property): void {\n const bindingOptions = this.options.bindingOptions;\n\n if (typeof bindingOptions[property] === \"string\") {\n bindingOptions[property] = {\n expression: bindingOptions[property]\n }\n }\n }\n private registerDeepObserver(binding, property, value): void {\n if (binding.deepObserver) {\n binding.deepObserver();\n binding.deepObserver = null;\n }\n\n if (!binding.deep) {\n return;\n }\n\n binding.deepObserver = this.deepObserver.observe(value, () => {\n const options = {};\n options[property] = value;\n options[\"isValid\"] = true;\n this.setOption(options);\n });\n }\n private onOptionChanged(e): void {\n if (e.name === \"value\" && !this.isChangeToPublish(e)) {\n return;\n }\n if (this.options.bindingOptions) {\n const binding = this.options.bindingOptions[e.name];\n if (binding && !binding.readOnly) {\n const currValue = this.binding.evaluate(this.scopeContainer.scope, binding.expression);\n\n if (currValue === e.value) {\n return;\n }\n\n this.binding.assign(this.scopeContainer.scope, binding.expression, e.value);\n }\n }\n if (e.name === \"value\" && this.options.onValueChangedByUser && this._valueChangeByCodeCount === 0) {\n this.options.onValueChangedByUser({\n sender: this,\n model: this.scopeContainer.scope,\n value: e.value,\n previousValue: e.previousValue\n })\n }\n }\n private renderInline(): void {\n Array.from(this.element.children)\n .forEach((child): void => {\n const result = this.templatingEngine.enhance({\n element: child,\n resources: this.owningView.resources,\n bindingContext: this.scopeContainer.scope.bindingContext,\n overrideContext: this.scopeContainer.scope.overrideContext\n });\n \n this._createdViews.push(result);\n });\n }\n private getPascalCase(text: string): string {\n return text.substr(0, 1).toUpperCase() + text.substr(1);\n }\n private isChangeToPublish(e): boolean {\n const isSelect = this.name === \"dxSelectBox\"\n || this.name == \"dxLookup\";\n\n if (!isSelect) {\n return true;\n }\n\n if (e.value != void (0) || e.previousValue != void (0)) {\n return true;\n }\n\n return false;\n }\n}\n","module.exports = \"\";","import { \n FrameworkConfiguration,\n PLATFORM\n} from \"aurelia-framework\";\nimport * as DxLoader from \"./dx-loader\";\n\nimport \"../../../resources/dx.common.css\";\nimport \"../../../resources/dx.custom.css\";\nimport \"../../../node_modules/devextreme/dist/js/localization/dx.messages.de.js\";\n\nexport function configure(config: FrameworkConfiguration) {\n const dxLoader = DxLoader.initialize();\n\n DevExpress.localization.locale(navigator.language || \"de\");\n \n DxLoader.getDefinition(\"dxChart\").defaultOptions({\n options: {\n palette: \"Office\"\n }\n });\n DxLoader.getDefinition(\"dxPieChart\").defaultOptions({\n options: {\n palette: \"Office\"\n }\n });\n DxLoader.getDefinition(\"dxPopover\").defaultOptions({\n options: {\n animation: { show: { type: 'fade', from: 0, to: 1 }, hide: { type: 'fade', to: 0 } },\n position: \"bottom\"\n }\n });\n DxLoader.getDefinition(\"dxCalendar\").defaultOptions({\n options: {\n firstDayOfWeek: 1\n }\n });\n DxLoader.getDefinition(\"dxPopup\").defaultOptions({\n options: {\n animation: {\n show: {\n //type: \"slide\",\n // from: { opacity: 0, left: \"+=15\" },\n // to: { opacity: 1 },\n type: \"fade\",\n from: 0.1,\n to: 1,\n duration: 300,\n easing: \"cubic-bezier(.62,.28,.23,.99)\"\n }\n },\n position: { my: \"center\", at: \"center\", of: window }\n }\n });\n\n config\n .globalResources(PLATFORM.moduleName(\"./elements/dx-widget\"));\n}\n","import {\n autoinject,\n bindable\n} from \"aurelia-framework\"\nimport { LocationService } from '../../../base/services/location-service';\n\n@autoinject\nexport class StackRouterLinkCustomAttribute {\n constructor(\n private element: Element,\n private locationService: LocationService\n ) { }\n\n @bindable clearStack: boolean;\n\n bind() {\n this.element.addEventListener(\"click\", (e) => {\n const event: any = e;\n if (!event.ctrlKey\n && !event.altKey\n && !event.shiftKey\n && !event.metaKey) {\n const href = this.element.getAttribute(\"href\");\n\n if (href) {\n this.locationService.goTo({\n url: this.element.getAttribute(\"href\"),\n clearStack: this.clearStack\n });\n }\n\n e.preventDefault();\n }\n });\n }\n}\n","import { ModelUtilsService } from \"./../../services/model-utils-service\";\nimport {\n autoinject,\n bindable,\n bindingMode,\n observable,\n TaskQueue,\n computedFrom\n} from \"aurelia-framework\";\n\ndeclare const monaco: any;\n\n@autoinject\nexport class CodeEditor {\n private static _jsLoadedPromise: Promise;\n private static _vsLoadedPromise: Promise;\n\n constructor(\n private element: Element,\n private taskQueue: TaskQueue,\n private modelUtils: ModelUtilsService\n ) { }\n\n @bindable caption: string;\n @bindable @observable mainModel: any;\n @bindable language: string;\n @bindable height: string;\n @bindable({ defaultBindingMode: bindingMode.twoWay }) @observable value: any;\n\n host: Element;\n editor: any;\n editorDidChangeModelContentEvent: any;\n\n @computedFrom(\"height\")\n get heightEx(): string {\n if (this.height) {\n return this.height;\n }\n\n return \"250px\";\n }\n\n bind() {\n this.createEditorOnMonacoLoaded();\n\n if (this.value) {\n this.valueChanged(this.value);\n }\n }\n unbind() {\n if (this.editorDidChangeModelContentEvent) {\n this.editorDidChangeModelContentEvent.dispose();\n this.editorDidChangeModelContentEvent = null;\n }\n\n if (this.editor) {\n this.editor.getModel().dispose();\n this.editor.dispose();\n this.editor = null;\n }\n }\n\n insert(text: string) {\n const position = this.editor.getPosition();\n this.editor.executeEdits(\"\", [{\n range: new monaco.Range(position.lineNumber,\n position.column,\n position.lineNumber,\n position.column),\n text: text\n }]);\n }\n\n mainModelChanged() {\n this.taskQueue.queueMicroTask(() => {\n this.valueChanged(this.value);\n })\n }\n valueChanged(newVal) {\n if (!this.editor) {\n return;\n }\n\n if (newVal == this.editor.getValue()) {\n return;\n }\n\n this.editor.setValue(newVal || \"\");\n }\n\n private createEditorOnMonacoLoaded() {\n if ((window).require) {\n this.createEditorOnMonacoLoaded2();\n } else if (CodeEditor._jsLoadedPromise) {\n CodeEditor._jsLoadedPromise.then(() => {\n this.createEditorOnMonacoLoaded2();\n });\n }\n else {\n CodeEditor._jsLoadedPromise = new Promise((resolve, reject) => {\n var loaderScript = document.createElement(\"script\");\n loaderScript.type = \"text/javascript\";\n loaderScript.src = \"vs/loader.js\";\n loaderScript.addEventListener(\"load\", () => {\n resolve();\n this.createEditorOnMonacoLoaded2();\n });\n document.body.appendChild(loaderScript);\n });\n }\n }\n private createEditorOnMonacoLoaded2() {\n if (!CodeEditor._vsLoadedPromise) {\n CodeEditor._vsLoadedPromise = new Promise((resolve, reject) => {\n (window).require([\"vs/editor/editor.main\"], () => {\n resolve();\n });\n });\n }\n\n CodeEditor._vsLoadedPromise.then(() => {\n this.createEditor();\n });\n }\n private createEditor() {\n this.editor = monaco.editor.create(\n this.host, {\n autoIndent: true,\n automaticLayout: true,\n fontSize: \"12px\",\n minimap: {\n enabled: false\n },\n language: this.language || \"csharp\",\n value: this.value\n });\n\n this.editorDidChangeModelContentEvent = this.editor.onDidChangeModelContent(() => {\n const newVal = this.editor.getValue();\n\n if ((newVal || \"\") == (this.value || \"\")) {\n return;\n }\n\n this.value = newVal;\n\n if (this.mainModel) {\n this.modelUtils.setDirty(this.mainModel);\n }\n });\n }\n}\n","module.exports = \" \";","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.id, \".code-editor-container {\\n display: block;\\n border: 1px solid #ddd;\\n}\\n\", \"\"]);\n// Exports\nmodule.exports = exports;\n","import {\n autoinject,\n bindable,\n createOverrideContext,\n OverrideContext,\n TemplatingEngine,\n TaskQueue,\n observable,\n View\n} from \"aurelia-framework\";\nimport {\n ScopeContainer\n} from \"../../../base/export\";\nimport {\n FormBase\n} from \"../../classes/form-base\";\nimport {\n ToolbarService\n} from \"../../services/toolbar-service\";\nimport {\n PopupInfoService\n} from \"../../services/popup-info-service\";\nimport {\n ICustomEditPopupShowOptions\n} from \"./custom-edit-popup-show-options\";\nimport { ObjectService } from '../../../base/services/object-service';\nimport { TemplatingExService } from '../../../base/services/templating-ex-service';\nimport { EventAggregator } from 'aurelia-event-aggregator';\n\n@autoinject\nexport class CustomEditPopup {\n private _isInitialized: boolean = false;\n private _showOptions: ICustomEditPopupShowOptions;\n private _idToolbar = \"popupToolbar\";\n private _createdToolbarView: View;\n\n constructor(\n private toolbar: ToolbarService,\n private popupInfo: PopupInfoService,\n private objectService: ObjectService,\n private templatingEngine: TemplatingEngine,\n private taskQueue: TaskQueue,\n private templatingExService: TemplatingExService,\n private eventAggregator: EventAggregator\n ) { }\n\n scope: any;\n scopeContainer: ScopeContainer;\n\n popup: any;\n popupOptions: DevExpress.ui.dxPopupOptions = {\n contentTemplate: \"contentTemplate\",\n titleTemplate: (container: Element) => {\n const toolbar = document.createElement(\"toolbar\");\n toolbar.setAttribute(\"options.bind\", this._idToolbar);\n\n container.appendChild(toolbar);\n\n this._createdToolbarView = this.templatingEngine.enhance({\n element: toolbar,\n bindingContext: this.scopeContainer.scope.bindingContext,\n overrideContext: this.scopeContainer.scope.overrideContext\n });\n },\n showCloseButton: false,\n onShowing: (e) => {\n this.popupInfo.onShowPopup({\n owner: this,\n popup: e.component,\n form: this.form.currentViewModel,\n executeCommand: (idCommand) => {\n this.form.currentViewModel.executeCommand(idCommand);\n },\n handleChangedData: () => {\n return this.form.currentViewModel.handleChangedData();\n },\n hasChangedData: () => {\n return this.form.currentViewModel.models.hasChangedData();\n }\n });\n },\n onShown: (e) => {\n e.component.repaint();\n },\n onHiding: (e) => {\n this.popupInfo.onHidePopup(e.component);\n },\n onDisposing: () => {\n if (this._createdToolbarView) {\n this.templatingExService.destroyView(this._createdToolbarView);\n this._createdToolbarView = null;\n }\n }\n };\n\n @bindable idForm: string;\n @bindable height: string;\n @bindable maxWidth: string;\n @bindable maxHeight: string;\n @bindable delayedInitialize: boolean;\n @observable form: any;\n\n get isVisible() {\n return this.popup\n && this.popup.instance\n && this.popup.instance.option(\"visible\");\n }\n\n bind(bindingContext: any, overrideContext: OverrideContext) {\n this.scope = {\n bindingContext: this,\n overrideContext: createOverrideContext(this)\n };\n this.scopeContainer = new ScopeContainer(this.scope);\n\n if (this.height != void (0)) {\n this.popupOptions.height = this.height;\n }\n if (this.maxWidth != void (0)) {\n this.popupOptions.maxWidth = this.maxWidth;\n }\n if (this.maxHeight != void(0)) {\n this.popupOptions.maxHeight = this.maxHeight;\n }\n\n (this.popupOptions).onContentTemplateRendered = (e) => {\n if (this.delayedInitialize === false) {\n return;\n }\n\n this.taskQueue.queueTask(() => {\n e.instance.show();\n })\n }\n\n if (this.delayedInitialize === false) {\n this.taskQueue.queueTask(() => {\n setTimeout(() => {\n this.initializeContent();\n }, 1500);\n });\n }\n }\n unbind() {\n this.scopeContainer.disposeAll();\n }\n\n show(options: ICustomEditPopupShowOptions) {\n this._showOptions = options;\n\n if (!this._isInitialized) {\n this.initializeContent();\n //in onContentTemplateRendered wird das show gemacht!\n\n return;\n }\n\n this.form.viewScrollInfo = this._showOptions.viewScrollInfo;\n this.popup.instance.show();\n }\n hide() {\n this.popup.instance.hide();\n }\n closeCurrentPopup() {\n this.hide();\n }\n\n private initializeContent() {\n this._isInitialized = true;\n\n const popup: DevExpress.ui.dxPopup = this.popup.instance;\n popup.option(\"deferRendering\", false);\n\n let firstShownAction = (content: FormBase) => {\n content.callOnCommandsLoaded(() => {\n const toolbarOptions = this.toolbar.createToolbarOptions(\n content.scopeContainer,\n content.title,\n content.commands.getCommands());\n\n content.binding.observe({\n scopeContainer: content.scopeContainer,\n expression: \"title\",\n callback: (newVal) => {\n toolbarOptions.title = newVal;\n }\n });\n\n this[this._idToolbar] = toolbarOptions;\n });\n\n content.models.onLoaded.register(e => {\n if (e.model !== content.models.modelWithKeyId) {\n return Promise.resolve();\n }\n if (!e.data) {\n return Promise.resolve();\n }\n\n if (!this._showOptions || !this._showOptions.setValuesOnModelWithKeyIdLoaded) {\n return Promise.resolve();\n }\n\n const setValues = this._showOptions.setValuesOnModelWithKeyIdLoaded;\n\n for (let key in setValues) {\n this.objectService.setValue(e.data, key, setValues[key]);\n e.data[key] = setValues[key];\n }\n\n return Promise.resolve();\n });\n\n content.models.onSaved.register(e => {\n if (this._showOptions && this._showOptions.savedCallback) {\n this._showOptions.savedCallback(content);\n }\n\n return Promise.resolve();\n });\n };\n\n popup.on({\n showing: e => {\n const content: Element = e.component.content();\n content.parentElement.classList.add(\"t--popup\");\n },\n shown: async () => {\n const content: FormBase = await this.templatingExService.waitForViewModel(this.form);\n\n content.viewScrollInfo = this._showOptions.viewScrollInfo;\n\n if (firstShownAction) {\n firstShownAction(content);\n firstShownAction = null;\n }\n\n if (this._showOptions && this._showOptions.mappings) {\n for (let key in this._showOptions.mappings) {\n content.variables.data[key] = this._showOptions.mappings[key];\n }\n }\n this.eventAggregator.publish(\"editpopup:shown\", {\n form: content\n });\n\n content.dispatchOnReady();\n },\n hiding: () => {\n if (!this._showOptions || !this._showOptions.closeCallback) {\n return;\n }\n\n this._showOptions.closeCallback(this.form.currentViewModel);\n },\n hidden: () => {\n if (this._showOptions && this._showOptions.mappings) {\n const content: FormBase = this.form.currentViewModel;\n for (let key in this._showOptions.mappings) {\n content.variables.data[key] = null;\n }\n }\n this.eventAggregator.publish(\"editpopup:hidden\", {\n form: this.form.currentController.viewModel\n });\n\n this._showOptions = null;\n }\n })\n }\n}\n","module.exports = \" \";","import {\n autoinject,\n bindable,\n computedFrom,\n observable,\n BindingEngine,\n Disposable,\n Expression,\n OverrideContext,\n TaskQueue,\n Scope\n} from \"aurelia-framework\";\nimport {\n IFileUploaderWithViewerOptions\n} from \"../../widget-options/export\";\nimport {\n BindingService,\n FileService,\n LocalizationService,\n ScopeContainer\n} from \"../../../base/export\";\n\nimport { IToolbarOptions } from '../toolbar/toolbar-options';\nimport { ModelUtilsService } from '../../services/model-utils-service';\nimport { EventAggregator } from 'aurelia-event-aggregator';\n\n@autoinject\nexport class TipFileUploaderWithViewer {\n private _isClickActive: boolean;\n\n constructor(\n private element: Element,\n private file: FileService,\n private localization: LocalizationService,\n private binding: BindingService,\n private bindingEngine: BindingEngine,\n private taskQueue: TaskQueue,\n private modelUtilsService: ModelUtilsService,\n private eventAggregator: EventAggregator\n ) { }\n\n @bindable options: IFileUploaderWithViewerOptions;\n @observable currentValue: any;\n\n scope: Scope;\n scopeContainer: ScopeContainer;\n\n input: HTMLInputElement;\n downloadUrl: string;\n showImage: boolean;\n\n bindingContext: any;\n overrideContext: OverrideContext;\n\n observables: Disposable[] = [];\n dropEnabled: boolean = false;\n\n isReadOnly: boolean;\n isDisabled: boolean;\n\n placeholderIcon?: string;\n placeholderImage?: string;\n placeholderImageText?: string;\n placeholder?: string;\n @observable iconDownload?: string;\n imageContainerStyle: any;\n\n toolbarTopOptions: IToolbarOptions;\n toolbarBottomOptions: IToolbarOptions;\n\n downloadButtonOptions: DevExpress.ui.dxButtonOptions = {\n text: \"Download\",\n onClick: () => {\n window.open(this.downloadUrl, \"_blank\");\n }\n }\n clearButtonOptions: DevExpress.ui.dxButtonOptions = {\n icon: \"far fa-trash-alt\",\n onClick: () => {\n this.setValue(null);\n }\n }\n\n @computedFrom(\"options.showViewer\", \"downloadUrl\")\n get showViewer(): boolean {\n return this.downloadUrl\n && (!this.options\n || this.options.showViewer == void (0)\n || this.options.showViewer == true);\n }\n @computedFrom(\"showViewer\", \"options.acceptType\")\n get showImageViewer(): boolean {\n return this.showViewer\n && this.options\n && this.options.acceptType == \"image/*\";\n }\n @computedFrom(\"dropEnabled\")\n get clickableClass(): string {\n if (this.dropEnabled) {\n return \"t--file-uploader-with-viewer-click-region-droppable\";\n } else {\n return \"\";\n }\n }\n @computedFrom(\"isReadOnly\", \"isDisabled\")\n get canUpload(): boolean {\n return !this.isReadOnly && !this.isDisabled;\n }\n\n bind(bindingContext: any, overrideContext: OverrideContext) {\n this.bindingContext = bindingContext;\n this.overrideContext = overrideContext;\n\n this.scope = {\n bindingContext: this,\n overrideContext: null\n };\n this.scopeContainer = new ScopeContainer(this.scope);\n\n const bindingOptions = this.options[\"bindingOptions\"];\n if (bindingOptions && bindingOptions.value) {\n this.observeValue(bindingOptions.value, (v) => this.currentValue = v);\n }\n\n if (this.options.iconDownloadExpression) {\n this.observeValue(this.options.iconDownloadExpression, (v) => this.iconDownload = v);\n } else if (this.options.iconDownload) {\n this.iconDownload = this.options.iconDownload;\n }\n\n if (this.options.placeholderImageExpression) {\n this.observeValue(this.options.placeholderImageExpression, (v) => this.placeholderImage = v);\n } else if (this.options.placeholderImage) {\n this.placeholderImage = this.options.placeholderImage;\n }\n\n if (this.options.placeholderIconExpression) {\n this.observeValue(this.options.placeholderIconExpression, (v) => this.placeholderIcon = v);\n } else if (this.options.placeholderIcon) {\n this.placeholderIcon = this.options.placeholderIcon;\n }\n\n if (this.options.isReadOnlyExpression) {\n this.observeValue(this.options.isReadOnlyExpression, (v) => this.isReadOnly = v);\n } else if (this.options.isReadOnly) {\n this.isReadOnly = this.options.isReadOnly;\n }\n\n if (this.options.isDisabledExpression) {\n this.observeValue(this.options.isDisabledExpression, (v) => this.isDisabled = v);\n } else if (this.options.isDisabled) {\n this.isDisabled = this.options.isDisabled;\n }\n\n if (this.options.showDownloadButton == void(0)) {\n this.options.showDownloadButton = true;\n }\n\n this.placeholderImageText = this.options.placeholderImageText;\n this.placeholder = this.localization.translateOnce(\"forms.file_uploadClickHere\");\n if (this.options.placeholder) {\n this.placeholder = this.options.placeholder;\n }\n\n this.imageContainerStyle = {\n height: this.options.height\n ? this.options.height\n : \"150px\"\n };\n\n this.eventAggregator.publish(\"file-uploader:bind\", {\n element: this.element,\n options: this.options\n });\n\n this.createToolbarTop();\n this.createToolbarBottom();\n }\n unbind() {\n if (this.observables) {\n this.observables.forEach(c => c.dispose());\n this.observables.length = 0;\n }\n this.scopeContainer.disposeAll();\n this.scope = null;\n }\n attached() {\n this.input.addEventListener(\"change\", (e) => {\n if (this.input.files.length !== 1) {\n return;\n }\n\n this.uploadFile(this.input.files[0]);\n });\n }\n\n getExpressionContext(propertyName: string) {\n return this.binding.getBindingContext({\n bindingContext: this.bindingContext,\n overrideContext: this.overrideContext\n }, propertyName);\n }\n observeValue(propertyName: string, setValueCallback: { (value): void }) {\n const expression = this.bindingEngine.parseExpression(propertyName);\n const context = this.getExpressionContext(propertyName);\n const observer = this.bindingEngine.expressionObserver(context, propertyName);\n\n this.observables.push(observer.subscribe((newValue, oldValue) => {\n setValueCallback(expression.evaluate({\n bindingContext: this.bindingContext,\n overrideContext: this.overrideContext\n }));\n }));\n\n setValueCallback(expression.evaluate({\n bindingContext: this.bindingContext,\n overrideContext: this.overrideContext\n }));\n }\n\n currentValueChanged(newValue: string) {\n if (newValue) {\n this.downloadUrl = this.file.getDownloadUrl(newValue);\n } else {\n this.downloadUrl = null;\n }\n\n this.taskQueue.queueTask(() => {\n //HACK notwendig, da Firefox das Bild ansonsten ev. außerhalb des Borders anzeigt\n this.showImage = !!this.downloadUrl;\n })\n }\n iconDownloadChanged(newValue: string) {\n let downloadButton: DevExpress.ui.dxButton = this[\"downloadButton\"];\n const icon = `fa fa-${this.iconDownload || \"cloud-download\"}`;\n\n if (downloadButton) {\n downloadButton.option(\"icon\", icon);\n } else {\n this.downloadButtonOptions.icon = icon;\n }\n }\n\n onClick() {\n if (!this.canUpload) {\n return;\n }\n\n this.input.click();\n \n event.stopPropagation();\n event.preventDefault();\n }\n onDragOver(event: Event) {\n event.preventDefault();\n this.dropEnabled = this.isDropEnabled(event);\n }\n onDragLeave(event: Event) {\n event.preventDefault();\n this.dropEnabled = false;\n }\n onDrop(event: any) {\n event.preventDefault();\n\n if (!this.isDropEnabled(event)) {\n return;\n }\n\n this.uploadFile(event.dataTransfer.files[0]);\n this.dropEnabled = false;\n }\n\n setValue(val: any) {\n const bindingOptions = this.options[\"bindingOptions\"];\n if (bindingOptions && bindingOptions.value) {\n const expression = this.bindingEngine.parseExpression(bindingOptions.value);\n expression.assign({\n bindingContext: this.bindingContext,\n overrideContext: this.overrideContext\n }, val, null);\n }\n\n if (this.options.onFileKeyChanged) {\n this.options.onFileKeyChanged(val);\n }\n\n if (this.options && this.options.clearCurrentValueAfterUpload) {\n this.currentValue = null;\n }\n }\n\n private createToolbarTop() {\n if (!this.options.showToolbar) {\n return;\n }\n\n this.toolbarTopOptions = {\n title: this.options.caption,\n items: [],\n smallToolbar: true\n };\n\n this.toolbarTopOptions.items.push({\n id: \"file-upload\",\n icon: \"fas fa-upload\",\n isEnabledExpression: \"canUpload\",\n execute: () => {\n this.onClick();\n }\n });\n this.toolbarTopOptions.items.push({\n id: \"file-delete\",\n icon: \"fas fa-times\",\n isEnabledExpression: \"canUpload\",\n execute: () => {\n this.setValue(null);\n }\n });\n\n this.eventAggregator.publish(\"file-uploader:create-toolbar-top\", {\n element: this.element,\n options: this.options,\n instance: this,\n toolbarOptions: this.toolbarTopOptions\n });\n }\n private createToolbarBottom() {\n if (!this.options.showToolbarBottom) {\n return;\n }\n\n this.toolbarBottomOptions = {\n title: null,\n items: [],\n smallToolbar: true\n };\n\n this.eventAggregator.publish(\"file-uploader:create-toolbar-bottom\", {\n element: this.element,\n options: this.options,\n instance: this,\n toolbarOptions: this.toolbarBottomOptions\n });\n }\n private isDropEnabled(event: any): boolean {\n if (!this.canUpload) {\n return false;\n }\n\n if (!event.dataTransfer || !event.dataTransfer.types || event.dataTransfer.types.length !== 1) {\n return false;\n }\n\n return true;\n }\n private uploadFile(file: File) {\n if (this.options && this.options.maxFileSizeMB && file.size > this.options.maxFileSizeMB * 1024 * 1024) {\n DevExpress.ui.notify(\n this.localization.translateOnce(\"forms.max_file_size_exceeded\", [this.options.maxFileSizeMB.toString()]),\n \"error\",\n 3000);\n\n this.input.value = null;\n return;\n }\n\n if (file.size > 50 * 1024 * 1024) {\n DevExpress.ui.notify(\n this.localization.translateOnce(\"forms.max_file_size_exceeded\", [\"50\"]),\n \"error\",\n 3000);\n\n this.input.value = null;\n return;\n }\n\n if (!this.isFileTypeValid(file)) {\n DevExpress.ui.notify(\n this.localization.translateOnce(\"forms.file_type_not_supported\", [this.options.acceptType]),\n \"error\",\n 3000);\n\n this.input.value = null;\n return;\n }\n\n this.taskQueue.queueTask(() => {\n this.file\n .upload(file)\n .then(r => {\n if (!r) {\n return;\n }\n\n const key = r;\n this.input.value = null\n this.currentValue = key;\n \n this.setValue(key);\n this.dispatchUploadedEvent(file, key);\n })\n .catch(() => {\n this.input.value = null\n });\n });\n }\n private isFileTypeValid(file: File): boolean {\n if (!this.options || !this.options.acceptType) {\n return true;\n }\n\n let isValid = false;\n if (this.options.acceptType.indexOf(\"/\") >= 0) {\n let acceptType = this.options.acceptType;\n\n const indexOfWildcard = acceptType.indexOf(\"/*\");\n if (indexOfWildcard >= 0) {\n acceptType = acceptType.substr(0, indexOfWildcard + 1)\n .concat(\".\")\n .concat(acceptType.substr(indexOfWildcard + 1));\n }\n\n isValid = new RegExp(\"^\".concat(acceptType).concat(\"$\")).test(file.type);\n } else {\n const tokens = this.options.acceptType.toLowerCase().split(\",\");\n isValid = tokens.some(c => file.name.toLowerCase().endsWith(c));\n }\n\n return isValid;\n }\n private dispatchUploadedEvent(file, key) {\n const event = new CustomEvent(\"file-uploaded\", {\n detail: {\n sender: this,\n value: {\n file: file,\n fileKey: key\n }\n },\n bubbles: true\n });\n\n this.element.dispatchEvent(event);\n }\n}\n","module.exports = \" \";","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.id, \".t--file-uploader-with-viewer input {\\n position: absolute;\\n height: 0;\\n width: 0;\\n overflow: hidden;\\n}\\n.t--file-uploader-with-viewer .t--file-uploader-with-viewer-click-region {\\n width: 100%;\\n border: 3px dotted gray;\\n display: flex;\\n flex-direction: column;\\n justify-content: center;\\n align-items: center;\\n padding: 12px;\\n position: relative;\\n}\\n.t--file-uploader-with-viewer .t--file-uploader-with-viewer-click-region-droppable {\\n border-color: #2DCC70;\\n}\\n.t--file-uploader-with-viewer .t--file-uploader-image {\\n width: 100%;\\n height: 100%;\\n position: relative;\\n display: flex;\\n justify-content: center;\\n align-content: center;\\n}\\n.t--file-uploader-with-viewer .t--file-uploader-placeholder-text {\\n display: flex;\\n align-items: center;\\n flex-grow: 1;\\n}\\n.t--file-uploader-with-viewer .t--file-uploader-placeholder-text span {\\n text-align: center;\\n}\\n.t--file-uploader-with-viewer .t--file-uploader-placeholder-image-text {\\n position: absolute;\\n bottom: 12px;\\n left: 12px;\\n right: 12px;\\n background-color: rgba(0, 0, 0, 0.4);\\n color: white;\\n display: flex;\\n padding: 12px;\\n justify-content: center;\\n}\\n.t--file-uploader-with-viewer .t--file-uploader-with-viewer-download {\\n margin-top: 12px;\\n}\\n.t--file-uploader-with-viewer .t--file-uploader-with-viewer-download > * + * {\\n margin-right: 6px;\\n}\\n.t--file-uploader-with-viewer img {\\n max-height: 100%;\\n max-width: 100%;\\n position: absolute;\\n}\\n.t--is-ie .t--file-uploader-with-viewer img {\\n margin-left: -50%;\\n}\\n\", \"\"]);\n// Exports\nmodule.exports = exports;\n","import {\n autoinject,\n bindable,\n bindingMode,\n computedFrom,\n Scope\n} from \"aurelia-framework\";\nimport { ModelUtilsService, IHtmlEditorOptions } from '../../export';\nimport { HtmlEditorService } from '../../services/html-editor-service';\nimport { ScopeContainer } from '../../../base/export';\n\n@autoinject\nexport class HtmlEditor {\n constructor(\n private element: Element,\n private htmlEditorService: HtmlEditorService,\n private modelUtils: ModelUtilsService\n ) {}\n\n hasBottomToolbar: boolean;\n\n @bindable options: IHtmlEditorOptions;\n @bindable mainModel: any;\n @bindable({ defaultBindingMode: bindingMode.twoWay }) value: any;\n\n @computedFrom(\"options.isReadOnly\", \"mainModel.CanSave\")\n get isReadOnlyChecked() {\n return !this.options\n || this.options.isReadOnly === true\n || (this.mainModel && this.mainModel.CanSave === false);\n }\n\n htmlEditor: any;\n htmlEditorOptions: DevExpress.ui.dxHtmlEditorOptions;\n scope: Scope;\n scopeContainer: ScopeContainer;\n\n bind(bindingContext, overrideContext) {\n this.scope = {\n bindingContext: bindingContext,\n overrideContext: overrideContext\n };\n this.scopeContainer = new ScopeContainer(this.scope);\n\n this.htmlEditorOptions = {};\n this.htmlEditorService.configureHtmlEditor(\n this.scopeContainer,\n this.options,\n this.htmlEditorOptions\n );\n\n if (!this.htmlEditorOptions.bindingOptions) {\n this.htmlEditorOptions.bindingOptions = {};\n }\n this.htmlEditorOptions.bindingOptions.value = \"value\";\n this.htmlEditorOptions.bindingOptions.readOnly = \"isReadOnlyChecked\";\n this.htmlEditorOptions.onValueChangedByUser = (e) => {\n if (this.mainModel) {\n this.modelUtils.setDirty(this.mainModel);\n }\n };\n }\n attached() {\n const element: any = this.element;\n\n const slots = element.au.controller.view.slots;\n this.hasBottomToolbar = slots\n && slots.bottomToolbar\n && slots.bottomToolbar.children\n && slots.bottomToolbar.children.length > 0;\n }\n detached() {\n }\n unbind() {\n this.scopeContainer.disposeAll();\n this.scopeContainer = null;\n this.scope = null;\n }\n\n updateVariables(variables: string) {\n if (variables == void(0)) {\n variables = \"\";\n }\n\n if (this.htmlEditor && this.htmlEditor.instance) {\n this.htmlEditor.instance.option(\"variables.dataSource\", variables.split(\";\").filter(c => !!c));\n } else {\n this.options.variables = variables;\n }\n }\n}\n","module.exports = \" \";","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.id, \".t--html-editor-container .t--html-editor-bottom-toolbar {\\n border: 1px solid #ddd;\\n padding: 10px;\\n border-top: none;\\n}\\n\", \"\"]);\n// Exports\nmodule.exports = exports;\n","import {\n autoinject,\n bindable,\n computedFrom,\n createOverrideContext,\n observable,\n OverrideContext,\n processContent\n} from \"aurelia-framework\";\nimport {\n LocalizationService\n} from \"../../../base/services/export\";\nimport {\n IListViewOptions\n} from \"./list-view-options\";\nimport { BindingService } from '../../../base/services/binding-service';\nimport { IListViewItemsOptions } from './list-view-items-options';\nimport { ListViewPagingMode } from './list-view-paging-mode';\n\n@autoinject\n@processContent(false)\nexport class ListView {\n private _pageIndex: number;\n\n constructor(\n private element: Element,\n private binding: BindingService,\n private localization: LocalizationService\n ) { }\n\n @bindable options: IListViewOptions;\n\n pagerInfoText: string;\n isLoading: boolean;\n\n viewClass: string;\n viewStyle: any;\n\n scrollView: any;\n\n pages: Pages;\n\n itemsOptions: IListViewItemsOptions = {\n selectedItems: {},\n hasSelection: false,\n items: [],\n totalItems: 0,\n totalPages: 0,\n showLoadNextButton: false,\n\n itemAlias: null,\n itemClass: null,\n itemTemplate: null,\n itemOverrideContext: null,\n\n getKeyProperty: this.getKeyProperty.bind(this),\n getItemKey: this.getItemKey.bind(this),\n\n goToNextPage: this.goToNextPage.bind(this),\n\n selectByKey: this.selectByKeys.bind(this),\n isSelectedByKey: this.isSelectedByKey.bind(this),\n\n onItemClick: this.onItemClick.bind(this)\n }\n\n reloadButtonOptions: DevExpress.ui.dxButtonOptions = {\n text: this.localization.translateOnce(\"list_view.reload\"),\n onClick: () => {\n this.goToPage(0, true);\n }\n }\n\n @computedFrom(\"options.showReloadButton\", \"options.pagingMode\")\n get showReloadButton(): boolean {\n return !!this.options.showReloadButton\n && this.options.pagingMode == ListViewPagingMode.loadNext;\n }\n @computedFrom(\"showReloadButton\", \"options.showPagerInfo\")\n get infoVisible(): boolean {\n return this.showReloadButton\n || this.options.showPagerInfo;\n }\n\n bind(bindingContext: any, overrideContext: OverrideContext): void {\n this.itemsOptions.itemOverrideContext = createOverrideContext(bindingContext, overrideContext);\n\n this.extractTemplates();\n\n if (this.options.pageSize) {\n this.options.dataSource.pageSize(this.options.pageSize);\n }\n\n if (this.options.pagingMode == void (0)) {\n this.options.pagingMode = ListViewPagingMode.loadNext;\n }\n\n if (this.options.onInitialized) {\n this.options.onInitialized({\n component: this,\n element: this.element\n });\n }\n \n this.options.dataSource.on(\"changed\", this.handleDataSourceChanged.bind(this));\n this.options.dataSource.on(\"loadingChanged\", this.handleDataSourceLoadingChanged.bind(this));\n\n this.createViewClass();\n this.createItemClass();\n\n this.goToPage(0);\n }\n unbind() {\n this.options.dataSource.off(\"changed\");\n this.options.dataSource.off(\"loadingChanged\");\n }\n\n goToNextPage(): void {\n this.goToPage(this._pageIndex + 1)\n }\n goToPage(pageIndex: number, scrollToTop: boolean = null): void {\n if (pageIndex == void (0)) {\n return;\n }\n\n if (scrollToTop == void (0)) {\n scrollToTop = this.options.pagingMode == ListViewPagingMode.paging;\n }\n\n this.options.dataSource.pageIndex(pageIndex);\n this._pageIndex = pageIndex;\n\n this.options.dataSource.load().then(() => {\n if (this.scrollView && this.scrollView.instance) {\n const scrollView: DevExpress.ui.dxScrollView = this.scrollView.instance;\n scrollView.update();\n }\n });\n\n if (scrollToTop) {\n this.scrollToTop();\n }\n }\n refresh(onlyCurrentPage?: boolean): void {\n if (!onlyCurrentPage) {\n if (this.options.dataSource.pageIndex() > 0) {\n this.goToPage(0, true);\n return;\n }\n }\n\n this.goToPage(this.options.dataSource.pageIndex(), !onlyCurrentPage);\n }\n scrollToTop(): void {\n if (!this.scrollView || !this.scrollView.instance) {\n return;\n }\n\n const scrollView: DevExpress.ui.dxScrollView = this.scrollView.instance;\n scrollView.scrollTo(0);\n }\n searchByText(text: string): void {\n this.options.dataSource.searchOperation(\"contains\");\n this.options.dataSource.searchValue(text);\n this.goToPage(0, true);\n }\n setTotalCount() {\n this.itemsOptions.totalItems = this.options.dataSource.totalCount();\n\n if (this.itemsOptions.totalItems < 0) {\n this.itemsOptions.totalItems = this.options.dataSource.items().length;\n }\n\n this.itemsOptions.totalPages = Math.ceil(this.itemsOptions.totalItems / this.options.dataSource.pageSize());\n\n this.itemsOptions.showLoadNextButton = this.options.pagingMode == ListViewPagingMode.loadNext\n && this.itemsOptions.totalItems > this.itemsOptions.items.length;\n\n if (this.options.pagingMode == ListViewPagingMode.paging) {\n this.calcPageInfo();\n\n this.pagerInfoText = this.localization.translateOnce(\n \"list_view.pager_info\",\n [this.itemsOptions.totalItems.toString()]\n );\n } else {\n this.pagerInfoText = this.localization.translateOnce(\n \"list_view.pager_info_with_load\",\n [this.itemsOptions.totalItems.toString(), this.itemsOptions.items.length.toString()]\n );\n }\n }\n\n getKeyProperty(): string {\n return this.options.dataSource.key() || \"Id\";\n }\n getItemKey(item): any {\n const key = this.getKeyProperty();\n\n if (key) {\n return this.binding.evaluate({\n bindingContext: item,\n overrideContext: null\n }, key);\n } else {\n return item;\n }\n }\n\n clearSelection(): void {\n this.itemsOptions.selectedItems = {};\n this.itemsOptions.hasSelection = false;\n }\n getSelectedKeys(): any[] {\n const result = [];\n\n for (let key in this.itemsOptions.selectedItems) {\n const val = this.itemsOptions.selectedItems[key];\n if (val == void(0)) {\n continue;\n }\n\n result.push(val);\n }\n\n return result;\n }\n isSelectedByKey(key: any): boolean {\n return !!this.itemsOptions.selectedItems[key];\n }\n selectByKeys(keys: any | any[], set: boolean): void {\n if (!Array.isArray(keys)) {\n keys = [keys];\n }\n\n if (set && this.options.selectionMode == \"single\") {\n this.clearSelection();\n\n if (keys.length > 1) {\n return;\n }\n }\n\n keys.forEach(key => {\n if (set) {\n this.itemsOptions.selectedItems[key] = key;\n } else {\n this.itemsOptions.selectedItems[key] = undefined;\n }\n });\n\n this.itemsOptions.hasSelection = this.getSelectedKeys().length > 0;\n }\n\n replaceDataSource(dataSource: DevExpress.data.DataSource) {\n if (this.options.dataSource) {\n this.options.dataSource.off(\"changed\");\n this.options.dataSource.off(\"loadingChanged\");\n }\n\n this.options.dataSource = dataSource;\n \n this.options.dataSource.on(\"changed\", this.handleDataSourceChanged.bind(this));\n this.options.dataSource.on(\"loadingChanged\", this.handleDataSourceLoadingChanged.bind(this));\n\n this.refresh(false);\n }\n\n onItemClick(item: any, event: Event, rowIndex: number): void {\n if (item.__isGroup) {\n return;\n }\n if (!this.options.onItemClick) {\n return;\n }\n\n this.options.onItemClick({\n item: item,\n data: item,\n event: event,\n rowIndex: rowIndex,\n hasAllPages: (this.options.pagingMode == ListViewPagingMode.loadNext)\n });\n }\n\n private createViewClass() {\n const viewClasses = [];\n const viewStyle = {};\n\n if (this.options.height) {\n viewStyle[\"height\"] = this.options.height;\n }\n if (this.options.useDefaultListItemStyle == void (0) || this.options.useDefaultListItemStyle) {\n viewClasses.push(\"list-view-item-style-default\");\n }\n if (this.options.hoverStateEnabled) {\n viewClasses.push(\"list-view-item-clickable\");\n }\n if (this.options.selectionMode == \"multiple\") {\n viewClasses.push(\"list-view-item-selectable\");\n }\n\n this.viewStyle = viewStyle;\n this.viewClass = viewClasses.join(\" \");\n }\n private createItemClass() {\n const itemClasses = [];\n itemClasses.push(this.options.itemClass ? this.options.itemClass : \"col-xs-12\");\n\n this.itemsOptions.itemClass = itemClasses.join(\" \");\n }\n private extractTemplates() {\n const children = Array.from(this.element.children)\n .filter((c) => c.tagName == \"CUSTOM-TEMPLATE\");;\n\n for (let i = 0; i < children.length; i++) {\n const item = children[i];\n const name = item.getAttribute(\"name\");\n const alias = item.getAttribute(\"alias\") || \"item\";\n\n switch (name) {\n case \"item\": {\n this.itemsOptions.itemTemplate = item;\n this.itemsOptions.itemAlias = alias;\n break;\n }\n default: {\n break;\n }\n }\n\n item.parentElement.removeChild(item);\n }\n }\n private handleDataSourceChanged() {\n const items = this.options.dataSource.items();\n\n this._pageIndex = this.options.dataSource.pageIndex();\n\n this.insertItems(items, this._pageIndex);\n this.setTotalCount();\n }\n private handleDataSourceLoadingChanged(isLoading) {\n this.isLoading = isLoading;\n }\n private insertItems(items: any[], pageIndex: number) {\n const pageSize = this.options.dataSource.pageSize();\n const itemCount = pageIndex * pageSize;\n\n if (this.options.pagingMode == ListViewPagingMode.paging) {\n this.itemsOptions.items.splice(0);\n }\n else if (this.itemsOptions.items.length > itemCount) {\n let c = itemCount;\n\n if (this.options.groupProperty && itemCount > 0) {\n let realItemCount = 0;\n\n for (let i = 0; i < this.itemsOptions.items.length; i++) {\n if (!this.itemsOptions.items[i].__isGroup) {\n realItemCount++;\n }\n\n c = i;\n\n if (realItemCount >= itemCount) {\n if (i > 0 && this.itemsOptions.items[i - 1].__isGroup) {\n c = i - 1;\n }\n break;\n }\n }\n }\n\n this.itemsOptions.items.splice(c);\n }\n\n this.checkGroupProperty(items);\n this.itemsOptions.items.push(...items);\n }\n private checkGroupProperty(items: any[]) {\n if (!this.options.groupProperty) {\n return;\n }\n\n let last = this.getLastGroup();\n for (let i = 0; i < items.length; i++) {\n const item = items[i];\n\n const val = this.binding.evaluate({\n bindingContext: item,\n overrideContext: null\n }, this.options.groupProperty);\n\n if (val != last) {\n items.splice(i, 0, {\n \"__isGroup\": true,\n \"__groupValue\": val\n });\n\n last = val;\n }\n }\n }\n private getLastGroup(): any {\n if (!this.itemsOptions.items) {\n return null;\n }\n\n for (let i = this.itemsOptions.items.length - 1; i >= 0; i--) {\n let item = this.itemsOptions.items[i];\n if (!item.__isGroup) {\n continue;\n }\n\n return item.__groupValue;\n }\n\n return null;\n }\n private calcPageInfo(): void {\n if (!this.pages) {\n this.pages = {\n currentPage: null,\n pages: [],\n totalPages: 0\n };\n }\n\n const totalPages = this.itemsOptions.totalPages;\n const currentPage = this._pageIndex;\n\n if (this.pages && this.pages.totalPages == totalPages && this.pages.currentPage == this._pageIndex) {\n return;\n }\n\n this.pages.totalPages = totalPages;\n this.pages.currentPage = currentPage;\n\n const arr: PageInfo[] = [];\n if (!totalPages) {\n this.pages.pages = arr;\n return;\n }\n\n let arrIndex = [0, currentPage, totalPages - 1];\n if (currentPage == 0) {\n arrIndex.push(1, 2);\n }\n if (currentPage == totalPages - 1) {\n arrIndex.push(totalPages - 3, totalPages - 2);\n }\n\n arrIndex.push(currentPage - 1, currentPage + 1);\n arrIndex = arrIndex.filter((v, i) => {\n return v >= 0\n && v < totalPages\n && arrIndex.indexOf(v) === i;\n });\n\n arrIndex.sort((a, b) => {\n return a - b;\n });\n\n let lastIndex = -1;\n for (let index of arrIndex) {\n if (lastIndex + 1 != index) {\n arr.push({ text: \"...\", index: null });\n }\n lastIndex = index;\n\n arr.push({ index: index, text: (index + 1).toString() });\n }\n\n this.pages.pages = arr;\n }\n}\n\ninterface PageInfo {\n index: number;\n text: string;\n}\ninterface Pages {\n pages: PageInfo[];\n totalPages: number;\n currentPage: number;\n}\n","import {\n autoinject,\n bindable,\n createOverrideContext,\n inlineView,\n OverrideContext,\n TemplatingEngine,\n resource,\n computedFrom,\n View\n} from \"aurelia-framework\";\nimport { BindingService } from '../../../base/services/binding-service';\nimport { ScopeContainer } from '../../../base/classes/scope-container';\nimport { IListViewItemsOptions } from './list-view-items-options';\nimport { TemplatingExService } from '../../../base/export';\n\n@autoinject\nexport class ListViewItem {\n private _itemNode: HTMLElement;\n private _itemView: View;\n\n constructor(\n private element: Element,\n private binding: BindingService,\n private templatingEngine: TemplatingEngine,\n private templatingExService: TemplatingExService\n ) { }\n\n @bindable data: any;\n @bindable options: IListViewItemsOptions;\n\n isSelected: boolean = false;\n\n scopeContainer: ScopeContainer;\n owningView: any;\n key: any;\n\n created(owningView: any, myView: any) {\n this.owningView = owningView;\n }\n bind() {\n this.scopeContainer = new ScopeContainer({\n bindingContext: this,\n overrideContext: null\n });\n\n this.key = this.options.getItemKey(this.data);\n this.isSelected = !!this.options.selectedItems[this.key];\n\n if (typeof this.key === \"string\" || typeof this.key === \"number\") {\n const key = typeof this.key === \"string\"\n ? `\"${this.key}\"`\n : this.key\n\n this.binding.observe({\n scopeContainer: this.scopeContainer,\n expression: `!!options.selectedItems[${key}]`, \n callback: (newValue) => {\n this.isSelected = newValue;\n }\n });\n }\n }\n unbind() {\n this.scopeContainer.disposeAll();\n }\n attached() {\n this._itemNode = this.options.itemTemplate.cloneNode(true)\n const container = this.element.children[0];\n const selection = container.children[0];\n container.insertBefore(this._itemNode, selection);\n\n const bindingContext = {};\n bindingContext[this.options.itemAlias] = this.data;\n\n //= Resourcen von dem Element, welches das list-view Element enthält ;-)\n let resources = null;\n let parent = this.owningView.container;\n let isListView = false;\n while (parent) {\n if (isListView && parent.viewResources && parent.viewResources.viewUrl != \"framework/forms/elements/list-view/list-view.html\") {\n resources = parent.viewResources;\n break;\n } else if (parent.viewResources && parent.viewResources.viewUrl == \"framework/forms/elements/list-view/list-view.html\") {\n isListView = true;\n }\n\n parent = parent.parent;\n }\n\n this._itemView = this.templatingEngine.enhance({\n element: this._itemNode,\n resources: resources || this.owningView.resources,\n bindingContext: bindingContext,\n overrideContext: this.options.itemOverrideContext\n });\n }\n detached() {\n if (this._itemNode) {\n this._itemNode.parentElement.removeChild(this._itemNode);\n this._itemNode = null;\n }\n\n if (this._itemView) {\n this.templatingExService.destroyView(this._itemView);\n this._itemView = null;\n }\n }\n\n changeSelection(event: Event) {\n const isSelected = this.options.isSelectedByKey(this.key);\n this.options.selectByKey(this.key, !isSelected);\n \n event.stopPropagation();\n }\n}\n","module.exports = \" \";","import { autoinject, bindable } from \"aurelia-framework\";\nimport { IListViewItemsOptions } from './list-view-items-options';\nimport { LocalizationService } from '../../../base/services/localization-service';\n\n@autoinject\nexport class ListViewItems {\n constructor(\n private localization: LocalizationService\n ) {}\n\n @bindable options: IListViewItemsOptions;\n\n loadNextButtonOptions: DevExpress.ui.dxButtonOptions = {\n text: this.localization.translateOnce(\"list_view.load_next\"),\n onClick: () => {\n this.options.goToNextPage();\n }\n }\n}\n","module.exports = \" \";","module.exports = \" \";","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.id, \"list-view {\\n display: block;\\n}\\nlist-view-item {\\n display: block;\\n}\\n.t--list-view-footer-buttons {\\n display: flex;\\n}\\n.t--list-view-footer-buttons > * {\\n margin-right: 6px;\\n}\\n.list-view-footer-paging {\\n display: inline-block;\\n}\\n.list-view-footer-paging + .list-view-footer-paging {\\n margin-left: 3px;\\n}\\n.list-view-footer-paging button {\\n min-width: 30px;\\n}\\n.list-view-footer-paging-button {\\n border: none;\\n font-size: 12px;\\n background-color: #ddd;\\n outline: none;\\n height: 25px;\\n cursor: pointer;\\n}\\n.list-view-footer-paging-button.list-view-footer-paging-button-disabled {\\n background-color: transparent;\\n cursor: default;\\n}\\n.list-view-footer-paging-button:hover:not(.list-view-footer-paging-button-disabled) {\\n background-color: #bbb;\\n}\\n.list-view-footer-paging-button-active {\\n background-color: #bbb;\\n}\\n.t--list-view-container {\\n width: 100%;\\n height: 100%;\\n display: flex;\\n flex-direction: column;\\n position: relative;\\n}\\n.t--list-view-container .list-view-loading {\\n position: absolute;\\n top: 0;\\n right: 0;\\n bottom: 0;\\n left: 0;\\n background-color: white;\\n}\\n.t--list-view-container .list-view-item-container {\\n position: relative;\\n overflow: hidden;\\n}\\n.t--list-view-container .list-view-item-container:hover:not(.list-view-item-is-selected) .list-view-item-selection {\\n left: 0;\\n}\\n.t--list-view-container .list-view-item-group {\\n font-weight: bold;\\n margin: 6px 0;\\n}\\n.t--list-view-container .list-view-item-selection {\\n display: none;\\n}\\n.t--list-view-container.list-view-item-selectable .list-view-item-selection {\\n display: flex;\\n justify-content: center;\\n align-items: center;\\n position: absolute;\\n top: 0;\\n left: -50px;\\n bottom: 0;\\n width: 50px;\\n background-color: rgba(0, 0, 0, 0.3);\\n color: white;\\n transition: left 300ms ease-in-out;\\n}\\n.t--list-view-container.list-view-item-selectable .list-view-item-is-selected .list-view-item-selection {\\n left: 0;\\n width: 100%;\\n}\\n.t--list-view-container.list-view-item-clickable .list-view-item {\\n cursor: pointer;\\n}\\n.t--list-view-container.list-view-item-style-default .list-view-item {\\n position: relative;\\n}\\n.t--list-view-container.list-view-item-style-default .list-view-item:hover {\\n background-color: #ddd;\\n}\\n.t--list-view-container.list-view-item-style-default .list-view-item:after {\\n content: \\\"\\\";\\n position: absolute;\\n padding-top: 6px;\\n left: 0;\\n right: 0;\\n border-bottom: 1px dotted lightgray;\\n}\\n.t--list-view-container > .list-view-content {\\n flex-grow: 1;\\n flex-shrink: 1;\\n position: relative;\\n padding: 0 6px;\\n}\\n.t--list-view-container > .list-view-content .list-view-content-abs {\\n position: absolute;\\n top: 0;\\n bottom: 0;\\n left: 0;\\n right: 0;\\n}\\n.t--list-view-container > .list-view-content .list-view-item-wrapper {\\n margin-top: 0;\\n margin-bottom: 6px;\\n}\\n.t--list-view-container > .list-view-content .dx-scrollview .list-view-item {\\n padding: 6px 12px;\\n}\\n.t--list-view-container > .list-view-info {\\n margin-top: 6px;\\n display: flex;\\n}\\n.t--list-view-container > .list-view-info .list-view-pager-info {\\n flex-grow: 1;\\n text-align: right;\\n align-self: center;\\n}\\n\", \"\"]);\n// Exports\nmodule.exports = exports;\n","import {\n autoinject, bindable\n} from \"aurelia-framework\";\n\n@autoinject\nexport class LoadingSpinner {\n constructor(\n private element: Element\n ) { }\n\n @bindable fullScreen: boolean;\n\n bind() {\n this.element.classList.remove(\"t--loading-active\");\n }\n attached() {\n setTimeout(() => {\n this.element.classList.add(\"t--loading-active\");\n }, 500);\n }\n}\n","module.exports = \" \";","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.id, \"@keyframes leftFadeIn {\\n from {\\n opacity: 0;\\n transform: translateX(-10px);\\n }\\n to {\\n opacity: 1;\\n transform: translateX(0);\\n }\\n}\\n.t--loading {\\n position: absolute;\\n top: 0;\\n bottom: 0;\\n left: 0;\\n right: 0;\\n font-family: \\\"Helvetica Neue\\\", \\\"Segoe UI\\\", Helvetica, Verdana, sans-serif;\\n font-size: 60px;\\n display: flex;\\n flex-direction: column;\\n justify-content: center;\\n align-items: center;\\n background-color: rgba(255, 255, 255, 0.8);\\n z-index: 9999;\\n opacity: 0;\\n transition-delay: 500ms;\\n transition: all 0.3s cubic-bezier(0.62, 0.28, 0.23, 0.99);\\n transition-property: opacity;\\n}\\n.t--loading.t--loading-fullscreen {\\n position: fixed;\\n}\\n.t--loading.t--loading-active {\\n opacity: 1;\\n}\\n.t--loading-spinner {\\n margin: 100px auto;\\n width: 50px;\\n height: 40px;\\n text-align: center;\\n font-size: 10px;\\n}\\n.t--loading-spinner > div {\\n background-color: #333;\\n height: 100%;\\n width: 6px;\\n display: inline-block;\\n -webkit-animation: animationLoadingSpinner 1.2s infinite ease-in-out;\\n animation: animationLoadingSpinner 1.2s infinite ease-in-out;\\n}\\n.t--loading-spinner > .t--loading-rect2 {\\n -webkit-animation-delay: -1.1s;\\n animation-delay: -1.1s;\\n}\\n.t--loading-spinner > .t--loading-rect3 {\\n -webkit-animation-delay: -1s;\\n animation-delay: -1s;\\n}\\n.t--loading-spinner > .t--loading-rect4 {\\n -webkit-animation-delay: -0.9s;\\n animation-delay: -0.9s;\\n}\\n.t--loading-spinner > .t--loading-rect5 {\\n -webkit-animation-delay: -0.8s;\\n animation-delay: -0.8s;\\n}\\n@-webkit-keyframes animationLoading {\\n 0% {\\n opacity: 0;\\n }\\n 100% {\\n opacity: 1;\\n }\\n}\\n@keyframes animationLoading {\\n 0% {\\n opacity: 0;\\n }\\n 100% {\\n opacity: 1;\\n }\\n}\\n@-webkit-keyframes animationLoadingSpinner {\\n 0%,\\n 40%,\\n 100% {\\n -webkit-transform: scaleY(0.4);\\n }\\n 20% {\\n -webkit-transform: scaleY(1);\\n }\\n}\\n@keyframes animationLoadingSpinner {\\n 0%,\\n 40%,\\n 100% {\\n transform: scaleY(0.4);\\n -webkit-transform: scaleY(0.4);\\n }\\n 20% {\\n transform: scaleY(1);\\n -webkit-transform: scaleY(1);\\n }\\n}\\n\", \"\"]);\n// Exports\nmodule.exports = exports;\n","/** in stack-router angesiedelt, da dieser den view enthält und die toolbar dort benötigt wird */\n\nimport { IPage } from \"../toolbar/page\";\nimport { autoinject, computedFrom, bindable, TaskQueue, observable, BindingEngine, Disposable } from \"aurelia-framework\";\nimport { IToolbarOptions } from \"../toolbar/toolbar-options\";\nimport { ToolbarService } from \"../../services/toolbar-service\";\nimport { IItem } from \"../toolbar/item\";\nimport { ICategory } from \"../toolbar/category\";\nimport { BindingService } from \"../../../base/export\";\nimport { IBadge } from \"../toolbar/badge\";\nimport { updateLocale } from 'moment';\nimport { IToolbarModel } from '../toolbar/toolbar-model';\n\n@autoinject\nexport class RibbonToolbar {\n private _itemSubscriptionDisposable: Disposable[];\n\n constructor(\n private toolbar: ToolbarService,\n private taskQueue: TaskQueue,\n private bindingEngine: BindingEngine,\n private binding: BindingService\n ) {\n }\n\n @bindable @observable options: IToolbarOptions;\n\n @computedFrom(\"options.smallToolbar\")\n get heightToolbar() {\n if (this.options && this.options.smallToolbar) {\n return \"35px\";\n } else {\n return \"90px\";\n }\n }\n get classToolbar() {\n if (this.options && this.options.smallToolbar) {\n return \"t--ribbon-toolbar-small\";\n }\n\n return \"\";\n }\n\n pages: IPage[];\n afterPage: IPage;\n currentPage: IPage;\n model: IToolbarModel;\n\n activate(model: IToolbarModel) {\n this.model = model;\n \n const updateOptions = () => {\n this.options = this.model.options;\n }\n model.optionsChanged = () => {\n updateOptions();\n }\n updateOptions();\n }\n bind() {\n if (this.options) {\n this.constructPages();\n }\n }\n unbind() {\n this.disposeOldSubscriber();\n }\n\n optionsChanged(newVal) {\n this.constructPages();\n }\n\n onPageClick(page: IPage) {\n if (this.currentPage) {\n this.currentPage.isActive = false;\n }\n\n this.checkPage(page);\n page.isActive = true;\n\n this.currentPage = page;\n }\n\n private constructPages() {\n this.disposeOldSubscriber();\n this._itemSubscriptionDisposable = [];\n\n const pages = this.toolbar.createPageCategoryItemStructure(this.options.items);\n this.pages = pages.filter(p => p.id !== \"$after\");\n\n const afterPages = pages.filter(p => p.id === \"$after\");\n if (afterPages.length === 1) {\n this.afterPage = afterPages[0];\n }\n\n for (let page of pages) {\n for (let category of page.categories) {\n for (let item of category.items) {\n if (item.isVisible == void(0)) {\n item.isVisible = true;\n }\n if (item.isEnabled == void(0)) {\n item.isEnabled = true;\n }\n\n this.observe(item, \"isVisible\", (newVal) => {\n this.checkCategoryVisible(page, category);\n });\n\n this.observe(item, \"badgeText\", (newVal) => {\n this.checkBadge(page);\n });\n this.observe(item, \"badgeColor\", (newVal) => {\n this.checkBadge(page);\n }); \n this.observe(item, \"badgeBorderColor\", (newVal) => {\n this.checkBadge(page);\n });\n }\n\n this.checkCategoryVisible(page, category);\n }\n\n this.checkBadge(page);\n }\n\n if (this.pages && this.pages.length > 0) {\n this.onPageClick(this.pages[0]);\n }\n if (this.afterPage) {\n this.checkPage(this.afterPage);\n }\n }\n private checkCategoryVisible(page: IPage, category: ICategory) {\n category.isVisible = category.items.some(c => c.isVisible);\n page.isVisible = page.categories.some(c => c.isVisible);\n }\n private checkBadge(page: IPage) {\n const badges = new Set();\n\n page.categories.forEach(c => {\n c.items\n .filter(i => !!i.badgeText)\n .forEach(i => badges.add(i.badgeColor || \"#C1392D\"));\n });\n\n const badgesArr: IBadge[] = [];\n let i = 0;\n badges.forEach((v: any, k: any) => {\n badgesArr.push({\n color: k,\n right: i * 6 + 4\n });\n\n i++;\n });\n\n page.badges = badgesArr;\n }\n private checkPage(page: IPage) {\n page.categories.forEach(c => {\n let countSmall = 0;\n\n let setSmallToBig = (index) => {\n if (index < 0) {\n return;\n }\n if (countSmall % 2 == 0) {\n return;\n }\n\n c.items[index].smallChecked = false;\n }\n\n c.items.forEach((i, index) => {\n i.smallChecked = i.small;\n\n if (!i.small) {\n setSmallToBig(index - 1);\n countSmall = 0;\n return;\n }\n\n countSmall++;\n });\n\n setSmallToBig(c.items.length - 1);\n\n c.items.forEach(i => {\n if (this.options.smallToolbar) {\n i.class = \"t--ribbon-toolbar-item-big\";\n\n if (i.title == void (0)) {\n i.class += \" t--ribbon-toolbar-item-icon-only\";\n }\n } else {\n i.class = i.smallChecked\n ? \"t--ribbon-toolbar-item-small\"\n : \"t--ribbon-toolbar-item-big\";\n\n if (i.title == void (0)) {\n i.class += \" t--ribbon-toolbar-item-icon-only\";\n }\n }\n });\n });\n }\n private observe(item: IItem, propertyName: string, action: {(newVal): void}) {\n const disposable = this.bindingEngine\n .expressionObserver(item, propertyName)\n .subscribe((newVal) => action(newVal));\n\n this._itemSubscriptionDisposable.push(disposable);\n }\n private disposeOldSubscriber() {\n if (!this._itemSubscriptionDisposable) {\n return;\n }\n\n this._itemSubscriptionDisposable.forEach(c => c.dispose());\n this._itemSubscriptionDisposable = [];\n }\n}\n","import { autoinject, bindable, TaskQueue } from \"aurelia-framework\";\nimport { ICategory } from \"../toolbar/category\";\nimport { IPage } from \"../toolbar/page\";\n\n@autoinject\nexport class RibbonToolbarCategory {\n \n constructor(\n ) {}\n\n @bindable category: ICategory;\n @bindable showCategoryTitle: boolean;\n}\n","module.exports = \" \";","import { FaIconAttribute } from \"./../../../base/attributes/icon/fa-icon-attribute\";\nimport { autoinject, bindable } from \"aurelia-framework\";\nimport { IItem } from \"../toolbar/item\";\n\n@autoinject\nexport class RibbonToolbarItem {\n constructor(\n private element: Element\n ) {}\n\n @bindable item: IItem;\n\n onItemClick(item: IItem, event: Event) {\n const args = {\n event: event\n };\n\n if (!item.isVisible) {\n return;\n }\n if (!item.isEnabled) {\n return;\n }\n\n if (!item.execute) {\n return;\n }\n\n item.execute(args);\n }\n}\n","import { autoinject, bindable } from \"aurelia-framework\";\nimport { IItem } from '../toolbar/item';\n\n@autoinject\nexport class RibbonToolbarItemTmpl {\n constructor(\n private element: Element\n ) {}\n\n @bindable item: IItem;\n}\n","module.exports = \" \";","module.exports = \" \";","module.exports = \" \";","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.id, \".t--ribbon-toolbar {\\n display: flex;\\n background-color: #808080;\\n color: white;\\n}\\n.t--ribbon-toolbar-small .t--ribbon-toolbar-category {\\n grid-template-rows: 1fr;\\n}\\n.t--ribbon-toolbar-small .t--ribbon-toolbar-item-big {\\n min-width: 75px;\\n}\\n.t--ribbon-toolbar-small .t--ribbon-toolbar-item-big i {\\n margin-bottom: 1px;\\n}\\n.t--ribbon-toolbar-title {\\n display: flex;\\n align-items: center;\\n font-size: 2em;\\n font-weight: 100;\\n padding: 12px;\\n min-width: 200px;\\n flex-shrink: 0;\\n border-right: 1px dotted #a2a2a2;\\n}\\n.t--ribbon-toolbar-content {\\n display: flex;\\n flex-direction: column;\\n flex-grow: 1;\\n}\\n.t--ribbon-toolbar-pages {\\n display: flex;\\n position: relative;\\n background-color: #4F4F4F;\\n color: white;\\n padding-left: 12px;\\n height: 25px;\\n}\\n.t--ribbon-toolbar-pages:after {\\n content: \\\"\\\";\\n position: absolute;\\n bottom: 0;\\n left: 0;\\n right: 0;\\n border-bottom: 1px dotted #a2a2a2;\\n}\\n.t--ribbon-toolbar-page {\\n padding: 6px 12px;\\n cursor: default;\\n user-select: none;\\n position: relative;\\n}\\n.t--ribbon-toolbar-page.t--ribbon-toolbar-page-active {\\n background-color: #808080;\\n}\\n.t--ribbon-toolbar-page:hover:not(.t--ribbon-toolbar-page-active) {\\n cursor: pointer;\\n background-color: #636363;\\n}\\n.t--ribbon-toolbar-page-badge {\\n position: absolute;\\n top: 4px;\\n right: 4px;\\n border-radius: 4px;\\n width: 4px;\\n height: 4px;\\n background-color: #e80000;\\n}\\n.t--ribbon-toolbar-categories {\\n display: flex;\\n flex-grow: 1;\\n}\\n.t--ribbon-toolbar-categories-before {\\n display: flex;\\n}\\n.t--ribbon-toolbar-categories-before > div {\\n border-right: 1px dotted #a2a2a2;\\n}\\n.t--ribbon-toolbar-category-splitter {\\n flex-grow: 1;\\n}\\n.t--ribbon-toolbar-categories-after {\\n display: flex;\\n}\\n.t--ribbon-toolbar-categories-after > div {\\n border-left: 1px dotted #a2a2a2;\\n}\\n.t--ribbon-toolbar-category {\\n display: grid;\\n grid-template-rows: 1fr 12px;\\n height: 100%;\\n}\\n.t--ribbon-toolbar-category:not(:first-child) {\\n border-left: 1px dotted #a2a2a2;\\n}\\n.t--ribbon-toolbar-category-title {\\n display: flex;\\n height: 100%;\\n justify-content: center;\\n align-items: center;\\n text-align: center;\\n font-size: 0.85em;\\n border-top: 1px dotted #a2a2a2;\\n border-bottom: 1px solid transparent;\\n color: #ccc;\\n user-select: none;\\n}\\n.t--ribbon-toolbar-items {\\n display: grid;\\n height: 100%;\\n grid-auto-flow: column;\\n grid-auto-columns: max-content;\\n grid-template-rows: 1fr 1fr;\\n}\\n.t--ribbon-toolbar-item {\\n display: flex;\\n align-items: center;\\n padding: 0 6px;\\n box-sizing: border-box;\\n position: relative;\\n user-select: none;\\n cursor: default;\\n}\\n.t--ribbon-toolbar-item:hover:not(.t--ribbon-toolbar-item-disabled):not(.t--ribbon-toolbar-item-tmpl) {\\n cursor: pointer;\\n background-color: #4F4F4F;\\n}\\n.t--ribbon-toolbar-item.t--ribbon-toolbar-item-disabled {\\n color: #ccc;\\n}\\n.t--ribbon-toolbar-item-tmpl > compose {\\n height: 100%;\\n}\\n.t--ribbon-toolbar-item-small {\\n display: flex;\\n}\\n.t--ribbon-toolbar-item-small i {\\n margin-right: 6px;\\n}\\n.t--ribbon-toolbar-item-small.t--ribbon-toolbar-item-icon-only {\\n width: 50px;\\n display: flex;\\n justify-content: center;\\n}\\n.t--ribbon-toolbar-item-small.t--ribbon-toolbar-item-icon-only i {\\n margin-right: initial;\\n}\\n.t--ribbon-toolbar-item-big {\\n height: 100%;\\n flex-direction: column;\\n justify-content: center;\\n min-width: 50px;\\n grid-row-end: span 2;\\n}\\n.t--ribbon-toolbar-item-big i {\\n margin-bottom: 4px;\\n}\\n.t--ribbon-toolbar-item-big.t--ribbon-toolbar-item-icon-only {\\n width: 50px;\\n}\\n.t--ribbon-toolbar-item-big.t--ribbon-toolbar-item-icon-only i {\\n margin-bottom: initial;\\n}\\n.t--ribbon-toolbar-badge {\\n display: flex;\\n justify-content: center;\\n align-items: center;\\n position: absolute;\\n top: 4px;\\n right: 4px;\\n padding: 0 4px;\\n min-width: 16px;\\n height: 16px;\\n border-radius: 16px;\\n background-color: #e80000;\\n}\\n.t--ribbon-toolbar-inline .t--ribbon-toolbar {\\n background-color: #ccc;\\n color: black;\\n}\\n.t--ribbon-toolbar-inline .t--ribbon-toolbar-title {\\n font-size: 1.2em;\\n font-weight: normal;\\n}\\n.t--ribbon-toolbar-inline .t--ribbon-toolbar-category-title {\\n color: #808080;\\n}\\n.t--ribbon-toolbar-inline .t--ribbon-toolbar-item:hover:not(.t--ribbon-toolbar-item-disabled) {\\n background-color: #808080;\\n}\\n.t--ribbon-toolbar-inline .t--ribbon-toolbar-item.t--ribbon-toolbar-item-disabled {\\n color: #888;\\n}\\n.t--ribbon-toolbar-item-title-container {\\n display: flex;\\n}\\n.t--ribbon-toolbar-item-title {\\n flex-grow: 0;\\n flex-shrink: 0;\\n white-space: pre-wrap;\\n text-align: center;\\n}\\n\", \"\"]);\n// Exports\nmodule.exports = exports;\n","import { autoinject, bindable, observable, PLATFORM, Disposable, BindingEngine, Scope } from 'aurelia-framework';\nimport { IToolbarOptions } from './toolbar-options';\nimport { ToolbarService } from '../../services/toolbar-service';\nimport { IToolbarModel } from './toolbar-model';\nimport { IItem } from './item';\nimport { BindingService } from '../../../base/export';\nimport { ScopeContainer } from '../../../base/classes/scope-container';\n\nPLATFORM.moduleName(\"../ribbon-toolbar/ribbon-toolbar\");\n\n@autoinject\nexport class Toolbar {\n private _itemSubscriptionDisposable: Disposable[];\n private _scope: Scope;\n private _scopeContainer: ScopeContainer;\n private _hasModifiedOptionsScopeContainer: boolean = false;\n\n constructor(\n public toolbar: ToolbarService,\n private bindingEngine: BindingEngine,\n private binding: BindingService\n ) { }\n\n @bindable @observable options: IToolbarOptions;\n\n toolbarModel: IToolbarModel = {\n options: null,\n optionsChanged: () => { }\n }\n\n bind(bindingContext, overrideContext) {\n this._scope = {\n bindingContext: bindingContext,\n overrideContext: overrideContext\n };\n this._scopeContainer = new ScopeContainer(this._scope);\n\n if (this.options && !this.options.scopeContainer) {\n this.options.scopeContainer = this._scopeContainer;\n this._hasModifiedOptionsScopeContainer = true;\n }\n\n this.refreshToolbarModel();\n }\n unbind() {\n this.disposeOldSubscriber();\n this._scopeContainer.disposeAll();\n this._scope = null;\n\n if (this._hasModifiedOptionsScopeContainer) {\n this.options.scopeContainer = null;\n this._hasModifiedOptionsScopeContainer = false;\n }\n }\n\n optionsChanged(newVal) {\n this.refreshToolbarModel();\n }\n\n private refreshToolbarModel() {\n if (this.options && this.options.items) {\n this.checkExpressions(this.options.items);\n }\n\n this.toolbarModel.options = this.options;\n this.toolbarModel.optionsChanged();\n }\n private checkExpressions(items: IItem[]) {\n this.disposeOldSubscriber();\n this._itemSubscriptionDisposable = [];\n\n items.forEach(item => {\n const scope = this.getItemScope(item);\n\n if (item.isEnabledExpression) {\n this.observe(this.binding.getBindingContext(scope, item.isEnabledExpression), item.isEnabledExpression, (newVal) => {\n item.isEnabled = newVal;\n });\n\n item.isEnabled = this.bindingEngine.parseExpression(item.isEnabledExpression).evaluate(scope);\n }\n if (item.isVisibleExpression) {\n this.observe(this.binding.getBindingContext(scope, item.isVisibleExpression), item.isVisibleExpression, (newVal) => {\n item.isVisible = newVal;\n });\n\n item.isVisible = this.bindingEngine.parseExpression(item.isVisibleExpression).evaluate(scope);\n }\n if (item.classNameExpression) {\n this.observe(this.binding.getBindingContext(scope, item.classNameExpression), item.classNameExpression, (newVal) => {\n item.className = newVal;\n });\n\n item.className = this.bindingEngine.parseExpression(item.classNameExpression).evaluate(scope);\n }\n\n if (item.isEnabled == void (0)) {\n item.isEnabled = true;\n }\n if (item.isVisible == void (0)) {\n item.isVisible = true;\n }\n });\n }\n private getItemScope(item: IItem): Scope {\n if (item.expressionScope) {\n return item.expressionScope;\n }\n if (this.options.scopeContainer) {\n return this.options.scopeContainer.scope;\n }\n\n return this._scope;\n }\n private observe(item: IItem, propertyName: string, action: { (newVal): void }) {\n const disposable = this.bindingEngine\n .expressionObserver(item, propertyName)\n .subscribe((newVal) => action(newVal));\n\n this._itemSubscriptionDisposable.push(disposable);\n }\n private disposeOldSubscriber() {\n if (!this._itemSubscriptionDisposable) {\n return;\n }\n\n this._itemSubscriptionDisposable.forEach(c => c.dispose());\n this._itemSubscriptionDisposable = [];\n }\n}\n","module.exports = \" \";","import { \n FrameworkConfiguration,\n PLATFORM\n} from \"aurelia-framework\";\nimport {\n DxTemplateService\n} from \"../dx/services/dx-template-service\";\nimport * as DxLoader from \"../dx/dx-loader\";\nimport \"./styles/styles.less\";\n\nexport function configure(config: FrameworkConfiguration) {\n config\n .globalResources(PLATFORM.moduleName(\"./elements/code-editor/code-editor\"))\n .globalResources(PLATFORM.moduleName(\"./elements/file-uploader-with-viewer/tip-file-uploader-with-viewer\"))\n .globalResources(PLATFORM.moduleName(\"./elements/list-view/list-view\"))\n .globalResources(PLATFORM.moduleName(\"./elements/custom-edit-popup/custom-edit-popup\"))\n .globalResources(PLATFORM.moduleName(\"./elements/toolbar/toolbar\"))\n .globalResources(PLATFORM.moduleName(\"./elements/html-editor/html-editor\"))\n .globalResources(PLATFORM.moduleName(\"./views/stack-router/stack-router\"))\n .globalResources(PLATFORM.moduleName(\"./attributes/stack-router-link/stack-router-link\"));\n\n const dxTemplate: DxTemplateService = config.container.get(DxTemplateService);\n}\n","import {\n autoinject,\n bindable,\n customElement,\n computedFrom\n} from \"aurelia-framework\";\nimport {\n EventAggregator\n} from \"aurelia-event-aggregator\";\nimport {\n RouterService\n} from \"../../services/router-service\";\nimport {\n HistoryService\n} from \"../../services/history-service\";\nimport * as Interfaces from \"../../interfaces/export\";\nimport {\n ViewItem\n} from \"../../classes/view-item\";\n\n@autoinject\nexport class StackRouter {\n private owningView: any;\n\n constructor(\n private history: HistoryService,\n private router: RouterService,\n private eventAggregator: EventAggregator\n ) { }\n\n @bindable createToolbar: boolean = true;\n\n created(owningView) {\n this.owningView = owningView;\n }\n\n attached() {\n this.history.navigateCurrentOrInPipeline();\n }\n\n onAnimationStart(event: any) {\n this.eventAggregator.publish(\"router:view-animation-start\", {\n element: event.detail.element\n });\n }\n onAnimationEnd(event: any) {\n this.eventAggregator.publish(\"router:view-animation-end\", {\n element: event.detail.element\n });\n }\n}\n","module.exports = \" \";","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.id, \".t--stack-router,\\n.t--stack-router-item {\\n display: block;\\n height: 100%;\\n width: 100%;\\n}\\n\", \"\"]);\n// Exports\nmodule.exports = exports;\n","import {\n autoinject,\n bindable,\n computedFrom,\n BindingEngine,\n TaskQueue\n} from \"aurelia-framework\";\n\nimport { IToolbarOptions } from \"../../elements/toolbar/toolbar-options\";\n\n@autoinject\nexport class View {\n constructor(\n private element: Element,\n private bindingEngine: BindingEngine,\n private taskQueue: TaskQueue\n ) { }\n\n @bindable createToolbar: boolean = true;\n @bindable view;\n\n @computedFrom(\"createToolbar\")\n get className(): string {\n if (this.createToolbar) {\n return \"t--view-with-toolbar\";\n }\n }\n\n @computedFrom(\"view.controller.currentViewModel.toolbarOptions\")\n get toolbarOptions(): IToolbarOptions {\n if (!this.view || !this.view.controller || !this.view.controller.currentViewModel) {\n return null;\n }\n\n return this.view.controller.currentViewModel.toolbarOptions;\n }\n\n bind() {\n this.element.classList.remove(\"t--view-attached\");\n this.element.querySelector(\".t--view-content\").classList.remove(\"t--view-content-attached\");\n\n }\n attached() {\n setTimeout(() => {\n this.element.classList.add(\"t--view-attached\")\n this.element.querySelector(\".t--view-content\").classList.add(\"t--view-content-attached\");\n }, 100);\n }\n}","module.exports = \"\";","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.id, \"@keyframes leftFadeIn {\\n from {\\n opacity: 0;\\n transform: translateX(-10px);\\n }\\n to {\\n opacity: 1;\\n transform: translateX(0);\\n }\\n}\\n.t--view {\\n display: block;\\n position: relative;\\n height: 100%;\\n overflow-x: hidden;\\n}\\n.t--view-content-wrapper {\\n display: block;\\n height: 100%;\\n overflow-x: hidden;\\n overflow-y: hidden;\\n}\\n.t--view-content {\\n display: block;\\n width: 100%;\\n height: 100%;\\n -webkit-overflow-scrolling: touch;\\n}\\n.t--is-nested-form .parent-container {\\n padding: 0;\\n}\\n\", \"\"]);\n// Exports\nmodule.exports = exports;\n","import * as fwx from \"../../../forms/form-export\";\nimport {\n ActivateAccountFuncs\n} from \"./activate-account-form-funcs\";\n\n@fwx.autoinject\nexport class ActivateAccountForm extends fwx.FormBase {\n constructor(\n element: Element,\n formBaseImport: fwx.FormBaseImport,\n private $f: ActivateAccountFuncs) {\n super(element, formBaseImport);\n this.id = \"activate-account-form\";\n this.title = \"activate-account-form.activate-account-form_caption\";\n this.addModel({\n \"id\": \"$m_activateAccount\",\n \"filters\": []\n });\n this.addFunction(\"$f\", $f, \"functions.$f\");\n this.widgetCreator.addValidationGroup(this, {\n \"id\": \"wd1\",\n \"options\": {\n \"optionsName\": \"wd1Options\",\n \"optionsNameFQ\": \"wd1Options\"\n }\n });\n this.widgetCreator.addTextBox(this, {\n \"mode\": \"password\",\n \"caption\": \"activate-account-form.password_caption\",\n \"binding\": {\n \"dataContext\": \"$m_activateAccount\",\n \"bindTo\": \"Password\",\n \"bindToFQ\": \"models.data.$m_activateAccount.Password\"\n },\n \"validationRules\": [],\n \"id\": \"password\",\n \"options\": {\n \"optionsName\": \"passwordOptions\",\n \"optionsNameFQ\": \"passwordOptions\"\n }\n });\n this.widgetCreator.addTextBox(this, {\n \"mode\": \"password\",\n \"caption\": \"activate-account-form.confirmpassword_caption\",\n \"binding\": {\n \"dataContext\": \"$m_activateAccount\",\n \"bindTo\": \"ConfirmPassword\",\n \"bindToFQ\": \"models.data.$m_activateAccount.ConfirmPassword\"\n },\n \"validationRules\": [],\n \"id\": \"confirmPassword\",\n \"options\": {\n \"optionsName\": \"confirmPasswordOptions\",\n \"optionsNameFQ\": \"confirmPasswordOptions\"\n }\n });\n this.widgetCreator.addCommand(this, {\n \"id\": \"wd2\",\n \"options\": {\n \"optionsName\": \"wd2Options\",\n \"optionsNameFQ\": \"wd2Options\"\n },\n \"binding\": {\n \"bindTo\": \"$f.activateCommand\",\n \"bindToFQ\": \"functions.$f.activateCommand\"\n }\n });\n this.widgetCreator.addCommand(this, {\n \"id\": \"wd3\",\n \"options\": {\n \"optionsName\": \"wd3Options\",\n \"optionsNameFQ\": \"wd3Options\"\n },\n \"binding\": {\n \"bindTo\": \"$f.backToLoginCommand\",\n \"bindToFQ\": \"functions.$f.backToLoginCommand\"\n }\n });\n super.onConstructionFinished();\n }\n}","module.exports = \"\";","import * as fwx from \"../../../forms/form-export\";\nimport {\n LoginFuncs\n} from \"./login-form-funcs\";\n\n@fwx.autoinject\nexport class LoginForm extends fwx.FormBase {\n constructor(\n element: Element,\n formBaseImport: fwx.FormBaseImport,\n private $f: LoginFuncs) {\n super(element, formBaseImport);\n this.id = \"login-form\";\n this.title = \"login-form.login-form_caption\";\n this.addModel({\n \"id\": \"$m_login\",\n \"filters\": []\n });\n this.addFunction(\"$f\", $f, \"functions.$f\");\n this.widgetCreator.addValidationGroup(this, {\n \"id\": \"wd1\",\n \"options\": {\n \"optionsName\": \"wd1Options\",\n \"optionsNameFQ\": \"wd1Options\"\n }\n });\n this.widgetCreator.addTextBox(this, {\n \"caption\": \"login-form.username_caption\",\n \"binding\": {\n \"dataContext\": \"$m_login\",\n \"bindTo\": \"Username\",\n \"bindToFQ\": \"models.data.$m_login.Username\"\n },\n \"validationRules\": [],\n \"id\": \"username\",\n \"options\": {\n \"optionsName\": \"usernameOptions\",\n \"optionsNameFQ\": \"usernameOptions\"\n }\n });\n this.widgetCreator.addTextBox(this, {\n \"mode\": \"password\",\n \"caption\": \"login-form.password_caption\",\n \"binding\": {\n \"dataContext\": \"$m_login\",\n \"bindTo\": \"Password\",\n \"bindToFQ\": \"models.data.$m_login.Password\"\n },\n \"validationRules\": [],\n \"id\": \"password\",\n \"options\": {\n \"optionsName\": \"passwordOptions\",\n \"optionsNameFQ\": \"passwordOptions\"\n }\n });\n this.widgetCreator.addCheckBox(this, {\n \"caption\": \"login-form.stayloggodon_caption\",\n \"binding\": {\n \"dataContext\": \"$m_login\",\n \"bindTo\": \"StayLoggedOn\",\n \"bindToFQ\": \"models.data.$m_login.StayLoggedOn\"\n },\n \"validationRules\": [],\n \"id\": \"stayLoggodOn\",\n \"options\": {\n \"optionsName\": \"stayLoggodOnOptions\",\n \"optionsNameFQ\": \"stayLoggodOnOptions\"\n }\n });\n this.widgetCreator.addTextBox(this, {\n \"caption\": \"login-form.twofactorkey_caption\",\n \"binding\": {\n \"dataContext\": \"$m_login\",\n \"bindTo\": \"TwoFactorAuthKey\",\n \"bindToFQ\": \"models.data.$m_login.TwoFactorAuthKey\"\n },\n \"validationRules\": [],\n \"id\": \"twoFactorKey\",\n \"options\": {\n \"optionsName\": \"twoFactorKeyOptions\",\n \"optionsNameFQ\": \"twoFactorKeyOptions\"\n }\n });\n this.widgetCreator.addCommand(this, {\n \"id\": \"wd2\",\n \"options\": {\n \"optionsName\": \"wd2Options\",\n \"optionsNameFQ\": \"wd2Options\"\n },\n \"binding\": {\n \"bindTo\": \"$f.loginCommand\",\n \"bindToFQ\": \"functions.$f.loginCommand\"\n }\n });\n this.widgetCreator.addCommand(this, {\n \"id\": \"wd3\",\n \"options\": {\n \"optionsName\": \"wd3Options\",\n \"optionsNameFQ\": \"wd3Options\"\n },\n \"binding\": {\n \"bindTo\": \"$f.forgotPasswordCommand\",\n \"bindToFQ\": \"functions.$f.forgotPasswordCommand\"\n }\n });\n this.widgetCreator.addCommand(this, {\n \"id\": \"wd4\",\n \"options\": {\n \"optionsName\": \"wd4Options\",\n \"optionsNameFQ\": \"wd4Options\"\n },\n \"binding\": {\n \"bindTo\": \"$f.goBackToLoginCommand\",\n \"bindToFQ\": \"functions.$f.goBackToLoginCommand\"\n }\n });\n super.onConstructionFinished();\n }\n}","module.exports = \"\";","import * as fwx from \"../../../forms/form-export\";\nimport {\n PasswordResetFuncs\n} from \"./password-reset-form-funcs\";\n\n@fwx.autoinject\nexport class PasswordResetForm extends fwx.FormBase {\n constructor(\n element: Element,\n formBaseImport: fwx.FormBaseImport,\n private $f: PasswordResetFuncs) {\n super(element, formBaseImport);\n this.id = \"password-recovery-form\";\n this.title = \"password-recovery-form.password-recovery-form_caption\";\n this.addModel({\n \"id\": \"$m_Password\",\n \"filters\": []\n });\n this.addFunction(\"$f\", $f, \"functions.$f\");\n this.widgetCreator.addValidationGroup(this, {\n \"id\": \"wd1\",\n \"options\": {\n \"optionsName\": \"wd1Options\",\n \"optionsNameFQ\": \"wd1Options\"\n }\n });\n this.widgetCreator.addTextBox(this, {\n \"caption\": \"password-recovery-form.username_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Password\",\n \"bindTo\": \"Username\",\n \"bindToFQ\": \"models.data.$m_Password.Username\"\n },\n \"validationRules\": [],\n \"id\": \"username\",\n \"options\": {\n \"optionsName\": \"usernameOptions\",\n \"optionsNameFQ\": \"usernameOptions\"\n }\n });\n this.widgetCreator.addCommand(this, {\n \"id\": \"wd2\",\n \"options\": {\n \"optionsName\": \"wd2Options\",\n \"optionsNameFQ\": \"wd2Options\"\n },\n \"binding\": {\n \"bindTo\": \"$f.resetPasswordCommand\",\n \"bindToFQ\": \"functions.$f.resetPasswordCommand\"\n }\n });\n this.widgetCreator.addCommand(this, {\n \"id\": \"wd3\",\n \"options\": {\n \"optionsName\": \"wd3Options\",\n \"optionsNameFQ\": \"wd3Options\"\n },\n \"binding\": {\n \"bindTo\": \"$f.backToLoginCommand\",\n \"bindToFQ\": \"functions.$f.backToLoginCommand\"\n }\n });\n super.onConstructionFinished();\n }\n}","module.exports = \"\";","import {FrameworkConfiguration} from \"aurelia-framework\";\n\nexport function configure(config: FrameworkConfiguration) {\n\n}\n","export * from \"./list-view-options\";\nexport * from \"./list-view\";","import { EventAggregator } from \"aurelia-event-aggregator\";\nimport { autoinject } from \"aurelia-framework\";\nimport { RestService } from \"../../framework/base/services/rest-service\";\n\n@autoinject\nexport class NachrichtVorlageService {\n private readonly URL = \"ZIT/Stammdaten/NachrichtVorlage\";\n \n constructor(\n private _eventAggregator: EventAggregator,\n private _restService: RestService\n ) {\n }\n \n getVorlagen(): Promise {\n return this._restService.get({\n url: this._restService.getWebApiUrl(this.URL),\n getOptions: {\n expand: {\n \"Dateien\": null\n }\n }\n });\n }\n \n async saveVorlage(vorlage: INachrichtVorlage): Promise {\n const r = await this._restService.post({\n url: this._restService.getWebApiUrl(this.URL),\n data: vorlage,\n getOptions: {\n expand: {\n \"Dateien\": null\n }\n },\n increaseLoadingCount: true\n });\n \n this.refreshVorlagen();\n return r;\n }\n \n async deleteVorlage(vorlage: INachrichtVorlage): Promise {\n const r = await this._restService.delete({\n url: this._restService.getWebApiUrl(this.URL),\n id: vorlage.Id,\n increaseLoadingCount: true\n });\n\n this.refreshVorlagen();\n return r;\n }\n \n private refreshVorlagen() {\n this._eventAggregator.publish(\"nachricht:vorlagen-changed\", {});\n }\n}\n\nexport interface INachrichtVorlage {\n Id?: number;\n Bezeichnung?: string;\n Text?: string;\n Signatur?: string;\n\n Dateien: INachrichtVorlageDatei[];\n}\nexport interface INachrichtVorlageDatei {\n Dateiname: string;\n DMSLink: string;\n}\n","import {\n autoinject,\n BindingEngine,\n PropertyObserver,\n CollectionObserver,\n Disposable\n} from \"aurelia-framework\";\n\n@autoinject\nexport class DeepObserverService {\n constructor(private bindingEngine: BindingEngine) {\n }\n\n observe(target: any, callback: {(): void}): {(): void} {\n const subscription = new Subscription();\n\n this.__observe(subscription, target, callback);\n\n return () => {\n subscription.dispose();\n }\n }\n\n private __observe(subscription: Subscription, target: any, callback: {(): void}): void {\n if (target == null) {\n return;\n } else if (target instanceof Date) {\n return;\n } else if (Array.isArray(target)) {\n this.__observeArray(subscription, target, callback);\n } else if (typeof target === \"object\") {\n this.__observeObject(subscription, target, callback);\n }\n }\n private __observeArray(subscription: Subscription, target: any, callback: {(): void}): void {\n const newSubscription = subscription.createChildSubscription(target);\n\n const observer = this.bindingEngine.collectionObserver(\n target\n ).subscribe((e) => {\n for (const change of e) {\n if (change.addedCount > 0) {\n for (let i = change.index; i < change.addedCount; i++) {\n this.__observe(newSubscription, target[i], callback);\n }\n }\n if (change.removed.length > 0) {\n for (const item of change.removed) {\n newSubscription.remove(item);\n }\n }\n }\n\n callback();\n });\n\n for (const item of target) {\n this.__observe(newSubscription, item, callback);\n }\n }\n private __observeObject(subscription: Subscription, target: any, callback: {(): void}): void {\n const newSubscription = subscription.createChildSubscription(target);\n\n for (const property in target) {\n if (target.hasOwnProperty(property)) {\n const observer = this.bindingEngine.propertyObserver(\n target,\n property\n ).subscribe((newValue, oldValue) => {\n newSubscription.remove(oldValue);\n this.__observe(newSubscription, newValue, callback);\n\n callback();\n });\n\n newSubscription.addObserver(observer);\n\n this.__observe(newSubscription, target[property], callback);\n }\n }\n }\n}\n\nclass Subscription {\n constructor() {\n }\n\n observers: Disposable[] = [];\n children = new Map();\n\n createChildSubscription(child: any) {\n const newSubscription = new Subscription();\n this.children.set(child, newSubscription);\n\n return newSubscription;\n }\n addObserver(observer: Disposable) {\n this.observers.push(observer);\n }\n remove(child: any) {\n const subscription = this.children.get(child);\n\n if (!subscription) {\n return;\n }\n\n subscription.dispose();\n this.children.delete(child);\n }\n dispose() {\n this.observers.forEach(item => {\n item.dispose();\n });\n this.children.forEach(item => {\n item.dispose();\n })\n\n this.observers = [];\n }\n}\n","export enum BenutzeraccountTyp {\n Person = 0,\n Ansprechperson = 1,\n Benutzer = 2,\n Bewerbung = 3\n}\n","import { autoinject, computedFrom, transient } from \"aurelia-framework\";\nimport { IZitToolbarOptions } from \"../../../../zit-ui/elements/zit-toolbar/zit-toolbar-options\";\nimport { Datei } from \"../../../elements/datei/datei\";\nimport { EventKopierenOptionen } from \"../../../elements/event-kopieren-optionen/event-kopieren-optionen\";\nimport { IdxDataGridComponent } from \"../../../interfaces/dx-components\";\nimport { BrowserService } from \"./../../../../framework/base/services/browser-service\";\nimport { JsonService } from \"./../../../../framework/base/services/json-service\";\nimport { LocalizationService } from \"./../../../../framework/base/services/localization-service\";\nimport { RestService } from \"./../../../../framework/base/services/rest-service\";\nimport { ContextMenu } from \"./../../../../framework/forms/classes/context-menu\";\nimport { FormBase } from \"./../../../../framework/forms/classes/form-base\";\nimport { ICommandData } from \"./../../../../framework/forms/interfaces/command-data\";\nimport { DokumentListView } from \"./../../../elements/dokument-list-view/dokument-list-view\";\nimport { ErweiterteSuche } from \"./../../../elements/erweiterte-suche/erweiterte-suche\";\nimport { EventTeilnehmerZuteilen } from \"./../../../elements/event-teilnehmer-zuteilen/event-teilnehmer-zuteilen\";\nimport { Share } from \"./../../../elements/share/share\";\nimport { StatusAendern } from \"./../../../elements/status-aendern/status-aendern\";\nimport { IStatusChangeResultData } from \"./../../../interfaces/status-change-result-data\";\nimport { AnsprechpersonService } from \"./../../../services/ansprechperson-service\";\nimport { EventZeitraumService } from \"./../../../services/event-zeitraum-service\";\nimport { StartupService } from \"./../../../services/startup-service\";\n\n@transient()\n@autoinject\nexport class EventEditUtils {\n private _linkAnmHiddenCols = [\n \"Element.Alter\",\n \"Element.Email\",\n \"Element.EventAnmeldungsgruppe.Bezeichnung\",\n \"Element.Ausbildung.Bezeichnung\",\n \"Element.Klasse\",\n \"Element.EventErfahrenDurch\"\n ]\n \n constructor(\n private _startupService: StartupService,\n private _browserService: BrowserService,\n private _jsonService: JsonService,\n private _localizationService: LocalizationService,\n private _restService: RestService,\n private _ansprechpersonService: AnsprechpersonService,\n private _eventZeitraumService: EventZeitraumService) {\n this.isGeschaeftspartnerSchule = this._startupService.startupInfo.Benutzer.IsGeschaeftspartnerSchuleBenutzer;\n }\n\n form: FormBase;\n isGeschaeftspartnerSchule: boolean;\n erweiterteSucheWertQuery: any;\n meldenBeiDataSource: string[];\n selectedKeys: number[];\n idEventZeitraumFilter: number;\n eventZeitraumFilterDataSource: any;\n eventTeilnehmerFilter: string;\n\n actionCommand: ICommandData = {\n id: \"actionCommand\",\n icon: \"fas fa-share-alt\",\n tooltip: \"zit.aktionen\",\n sortIndex: 99,\n isVisibleExpression: \"r_share.canShare\",\n execute: (executeOptions) => {\n const share: Share = this.form[\"r_share\"];\n share.showCtxMenu(executeOptions.event);\n }\n };\n statusAendernPopupCommand: ICommandData = {\n id: \"statusAenderPopupCommand\",\n icon: \"fas fa-pencil-alt\",\n title: \"event.status-aendern-popup\",\n isVisibleExpression: \"functions.$f_EventEditUtils.isStatusAendernVisible\",\n sortIndex: 450,\n execute: () => {\n const statusAendern: StatusAendern = this.form[\"r_statusAendern\"];\n this.selectedKeys = this.getSelectedKeys();\n statusAendern.showPopup(this.onStatusGeaendert.bind(this));\n }\n };\n\n kopierenOptionenCommand: ICommandData = {\n id: \"kopierenCommand\",\n icon: \"fas fa-copy\",\n tooltip: \"event.event-kopieren\",\n isVisibleExpression: \"models.data.$m_Event.Id\",\n sortIndex: 995,\n execute: (e) => {\n const eventKopieren: EventKopierenOptionen = this.form[\"r_kopierenOptionen\"];\n const target = e.event.target;\n eventKopieren.showPopover(target);\n }\n };\n\n exportLinkAnmeldungCommand: ICommandData = {\n id: \"exportLinkAnmeldungen\",\n icon: \"far fa-file-excel\",\n tooltip: \"base.excel-export\",\n sortIndex: 7,\n isVisible: true,\n isEnabled: true,\n execute: async() => {\n this.showHideLinkAnmColumns(true);\n \n const dataGrid: DevExpress.ui.dxDataGrid = this.form[\"r_eventLinkAnmeldungGrid\"].instance;\n dataGrid.exportToExcel(false);\n \n //Das Ausblenden der Spalten wird im \"exported\"-Event des Grids gemacht, da dies hier sonst zu früh ist.\n }\n }\n\n filterButtonOptions: DevExpress.ui.dxButtonOptions = {\n icon: \"fas fa-filter\",\n elementAttr: {\n class: \"z--button z--button-round\"\n },\n onClick: () => {\n this.getErweiterteSuche()\n .showPopup();\n }\n };\n\n filterErweitertButtonOptions: DevExpress.ui.dxButtonOptions = {\n icon: \"fas fa-caret-down\",\n elementAttr: {\n class: \"z--button z--button-no-round\"\n },\n onClick: (e) => {\n this.showErweiterteSucheContextMenu(e.event);\n }\n };\n\n meldenBeiSelectBoxOptions: DevExpress.ui.dxSelectBoxOptions = {\n acceptCustomValue: true,\n bindingOptions: {\n value: \"models.data.$m_Event.Kopf.MeldenBei\",\n dataSource: \"functions.$f_EventEditUtils.meldenBeiDataSource\"\n }\n };\n\n eventZeitraumFilterSelectBoxOptions: DevExpress.ui.dxSelectBoxOptions = {\n showClearButton: true,\n displayExpr: \"DisplayText\",\n valueExpr: \"Id\",\n bindingOptions: {\n value: \"functions.$f_EventEditUtils.idEventZeitraumFilter\",\n dataSource: \"functions.$f_EventEditUtils.eventZeitraumFilterDataSource\"\n }\n };\n\n eventTeilnehmerTextBoxOptions: DevExpress.ui.dxTextBoxOptions = {\n bindingOptions: {\n value: \"functions.$f_EventEditUtils.eventTeilnehmerFilter\"\n }\n };\n\n dokumentToolbarOptions: IZitToolbarOptions = {\n title: \"event.dokument-toolbar-titel\",\n smallToolbar: true,\n items: [{\n id: \"showDokumentToolbarOptionen\",\n icon: \"fas fa-plus\",\n execute: async (e) => {\n if (!this.form.models.data.$m_Event.Id) {\n await this.form.save();\n }\n\n const ctxMenu = new ContextMenu();\n\n if (this.form[\"r_dokumentElement\"]) {\n ctxMenu.items = [{\n text: this._localizationService.translateOnce(\"event.dokument-toolbar-item-info-dokument\"),\n execute: () => {\n const dokumentListView: DokumentListView = this.form[\"r_dokumentElement\"];\n dokumentListView.onDokumentAddClicked();\n }\n }, {\n text: this._localizationService.translateOnce(\"event.dokument-toolbar-item-dokument-erstellen\"),\n execute: () => {\n const share: Share = this.form[\"r_share\"];\n share.dokumentLautVorlageErstellen.showPopup(\n [this.form.models.data.$m_Event.Id],\n \"TIP.ZIT.Business.Entities.Objekte.Events.Event\");\n }\n }];\n } else if (this.form[\"r_dateien\"]) {\n ctxMenu.items = [{\n text: this._localizationService.translateOnce(\"event.dokument-toolbar-item-info-dokumente\"),\n execute: () => {\n setTimeout(() => {\n const datei: Datei = this.form[\"r_dateien\"];\n datei.onDokumentClick();\n }, 0);\n }\n }, {\n text: this._localizationService.translateOnce(\"event.dokument-toolbar-item-info-bilder\"),\n execute: () => {\n setTimeout(() => {\n const datei: Datei = this.form[\"r_dateien\"];\n datei.onCameraClick();\n }, 0);\n }\n }, {\n text: this._localizationService.translateOnce(\"event.dokument-toolbar-item-info-videos\"),\n execute: () => {\n setTimeout(() => {\n const datei: Datei = this.form[\"r_dateien\"];\n datei.onVideoClick();\n }, 0);\n }\n }, {\n text: this._localizationService.translateOnce(\"event.dokument-toolbar-item-info-galerie\"),\n execute: async () => {\n const r = await this.form.saveIfDirty();\n if (!r.isValid) {\n return;\n }\n\n const datei: Datei = this.form[\"r_dateien\"];\n datei.onAddToGalerieClick(() => {\n this.form.save();\n });\n }\n }];\n }\n\n ctxMenu.show(event.target);\n }\n }]\n };\n\n eventTeilnehmerToolbarOptions: IZitToolbarOptions = {\n title: \"event.event-teilnehmer-toolbar-title\",\n smallToolbar: true,\n items: [{\n id: \"eventTeilnehmerCommand\",\n icon: \"fas fa-plus\",\n execute: (e) => {\n const teilnehmerZuteilenPopup: EventTeilnehmerZuteilen = this.form[\"r_teilnehmerZuteilenOptionen\"];\n teilnehmerZuteilenPopup.show({\n callback: () => {\n this.form.models.reloadAll();\n }\n });\n }\n }]\n };\n\n @computedFrom(\"erweiterteSucheWertQuery\")\n get isTypAuswahlEnabled(): boolean {\n return this.erweiterteSucheWertQuery\n && this.erweiterteSucheWertQuery.length > 0;\n }\n\n @computedFrom(\"canChangeStatus\")\n get isStatusAendernVisible() {\n return this._startupService.startupInfo.Benutzer.CanStatusAendern\n && this.canChangeStatus\n && !this._browserService.isMobile;\n }\n \n @computedFrom(\"form.models.data.$m_Event\")\n get canChangeStatus(): boolean {\n if (!this.form.models.data.$m_Event) {\n return true;\n }\n\n return !!this.form.models.data.$m_Event._CanChangeObjektStatus;\n }\n\n onExecuteSucheErweitert(event: any): void {\n this.erweiterteSucheWertQuery = event.detail.wertQueryList;\n }\n\n bind(form: FormBase) {\n this.form = form;\n this.form.callOnBind(() => {\n const zeitraumGridOptions = form[\"r_eventZeitraumGridOptions\"];\n const zeitraumColumns = zeitraumGridOptions.columns;\n\n zeitraumColumns.forEach((column) => {\n let item = null;\n switch (column.dataField) {\n case (\"Kopf.KontingentGesamt\"): {\n item = document.createElement(\"i\");\n item.title = \"Kontingent gebucht/gesamt\";\n item.classList.add(\"far\");\n item.classList.add(\"fa-check-square\");\n break;\n }\n case (\"Kopf.InSchnupperterminmaskeAnzeigenValidated\"): {\n item = document.createElement(\"i\");\n item.title = \"sichtbar in Schnupperterminmaske der PTS SchülerInnen\";\n item.classList.add(\"fas\");\n item.classList.add(\"fa-users\");\n break;\n }\n case (\"Kopf.WebserviceTerminabfrageValidated\"): {\n item = document.createElement(\"i\");\n item.title = \"Übertragung Webservice\";\n item.classList.add(\"fas\");\n item.classList.add(\"fa-globe-europe\");\n break;\n }\n case (\"Kopf.BewerbungsformularSchnupperterminauswahlValidated\"): {\n item = document.createElement(\"i\");\n item.title = \"im Bewerbungformular anzeigen\";\n item.classList.add(\"far\");\n item.classList.add(\"fa-edit\");\n break;\n }\n default: {\n if (column.caption == \"KontingentSchule\") {\n item = document.createElement(\"i\");\n item.title = \"Kontingent Schule\";\n item.classList.add(\"fas\");\n item.classList.add(\"fa-graduation-cap\");\n }\n break;\n }\n }\n if (!item) {\n return;\n }\n\n column.headerCellTemplate = (data, index, element) => {\n data.append(item);\n };\n });\n\n const linkAnmGridOptions = form[\"r_eventLinkAnmeldungGridOptions\"];\n if (linkAnmGridOptions) {\n linkAnmGridOptions.onExported = () => {\n this.showHideLinkAnmColumns(false);\n }\n\n const linkAnmColumns = linkAnmGridOptions.columns;\n\n linkAnmColumns.forEach((column) => {\n if (this._linkAnmHiddenCols.indexOf(column.dataField) >= 0) {\n column.visible = false;\n }\n });\n }\n\n const websiteAnmeldungLinkOptions: DevExpress.ui.dxTextBoxOptions = form[\"r_websiteEventAnmeldungLinkOptions\"];\n if (websiteAnmeldungLinkOptions) {\n websiteAnmeldungLinkOptions.buttons = [{\n location: \"after\",\n name: \"copy\",\n options: {\n icon: \"fa far fa-copy\",\n disabled: false,\n onClick: () => {\n const link = this.form.models.data.$m_Event._WebsiteEventAnmeldungLink;\n navigator.clipboard.writeText(link);\n }\n }\n }, {\n location: \"after\",\n name: \"open\",\n options: {\n icon: \"fa fas fa-external-link-alt\",\n disabled: false,\n onClick: () => {\n const link = this.form.models.data.$m_Event._WebsiteEventAnmeldungLink;\n window.open(link, \"_blank\");\n }\n }\n }]\n }\n });\n\n form.models.onLoaded.register((args) => {\n if (args.model.id == \"$m_Event\" && args.data) {\n if (args.data.Kopf) {\n if (args.data.Kopf.VeroeffentlichenFilter && args.data.Kopf.VeroeffentlichenFilter.length > 0) {\n this.erweiterteSucheWertQuery = this._jsonService.parse(args.data.Kopf.VeroeffentlichenFilter);\n\n this.getErweiterteSuche()\n .loadFilter(this.erweiterteSucheWertQuery);\n }\n }\n this.setEventZeitraumFilterDataSource(args.data.Id);\n }\n if (args.model.id == \"$m_EventTyp\" && args.data) {\n this.setVisiblilyZeitraumGridColumns();\n }\n return Promise.resolve();\n });\n form.onEditorValueChanged.register(async (args) => {\n if (args.binding.dataContext === \"$m_Event\") {\n if (args.binding.bindTo == \"Kopf.IdGeschaeftspartner\") {\n this.setMeldenBeiDataSource(this.form.models.data.$m_Event.Kopf.IdGeschaeftspartner);\n if (!this.form.models.data.$m_Event.Kopf.Ort) {\n this.geschaeftspartnerValueChanged(this.form.models.data.$m_Event.Kopf.IdGeschaeftspartner);\n }\n }\n\n if (args.binding.bindTo == \"Kopf.IdGeschaeftspartnerSchule\") {\n this.setMeldenBeiDataSource(this.form.models.data.$m_Event.Kopf.IdGeschaeftspartnerSchule);\n }\n\n if (args.binding.bindTo == \"Kopf.IdEventTyp\" && !this.form.models.data.$m_Event.Id && this.form.models.data.$m_Event.Kopf.IdEventTyp) {\n this.setDefaultValuesFromEventTypToEvent(this.form.models.data.$m_Event.Kopf.IdEventTyp);\n }\n }\n });\n form.onValidating.register((r) => {\n const hasLehrberufPflichtError = this.form.models.data.$m_Event.Kopf.InSchnupperterminmaskeAnzeigen\n && this.form.models.data.$m_EventTyp\n && this.form.models.data.$m_EventTyp.ShowZuteilungLehrberufe\n && !this.form.models.data.$m_Event.Kopf.Lehrberufe?.length;\n\n if (hasLehrberufPflichtError) {\n r.validationResult.isValid = false;\n r.validationResult.messages.push(this._localizationService.translateOnce(\"event.lehrberuf-validation-error\"));\n return;\n }\n return Promise.resolve();\n });\n form.onSaving.register((args) => {\n args.form.models.data.$m_Event.Kopf.VeroeffentlichenFilter = this.erweiterteSucheWertQuery\n ? this._jsonService.stringify(this.erweiterteSucheWertQuery)\n : null;\n\n return Promise.resolve();\n });\n }\n\n onZeitraumKontingentCellPrepared(e) {\n if (e.rowType != \"data\") {\n return;\n }\n\n if (!e.data.Kopf.KontingentGesamt) {\n return;\n }\n\n const cell = e.cellElement;\n cell.textContent = (e.data.Kopf.KontingentGesamtBelegt || 0) + \"/\" + (e.data.Kopf.KontingentGesamt);\n }\n\n onZeitraumKontingentSchuleCellPrepared(e) {\n if (e.rowType != \"data\") {\n return;\n }\n\n if (!e.data.KontingentSchule) {\n return;\n }\n\n const cell = e.cellElement;\n cell.textContent = e.data.KontingentSchule;\n }\n\n onSchnupperterminMaskeCellPrepared(e) {\n if (e.rowType != \"data\") {\n return;\n }\n\n if (e.data.Kopf.InSchnupperterminmaskeAnzeigenValidated == null) {\n const cell = e.cellElement;\n if (!cell.firstElementChild) {\n cell.append(this.getCheckboxElement());\n }\n cell.firstElementChild.classList.add(\"dx-checkbox-checked\");\n cell.firstElementChild.classList.remove(\"dx-checkbox-indeterminate\");\n }\n }\n\n onWebserviceTerminabfrageCellPrepared(e) {\n if (e.rowType != \"data\") {\n return;\n }\n\n if (e.data.Kopf.WebserviceTerminabfrageValidated == null) {\n const cell = e.cellElement;\n if (!cell.firstElementChild) {\n cell.append(this.getCheckboxElement());\n }\n cell.firstElementChild.classList.add(\"dx-checkbox-checked\");\n cell.firstElementChild.classList.remove(\"dx-checkbox-indeterminate\");\n }\n }\n\n onBewerbungsformularSchnupperterminauswahlCellPrepared(e) {\n if (e.rowType != \"data\") {\n return;\n }\n\n if (e.data.Kopf.BewerbungsformularSchnupperterminauswahlValidated == null) {\n const cell = e.cellElement;\n if (!cell.firstElementChild) {\n cell.append(this.getCheckboxElement());\n }\n cell.firstElementChild.classList.add(\"dx-checkbox-checked\");\n cell.firstElementChild.classList.remove(\"dx-checkbox-indeterminate\");\n }\n }\n\n isAnsichtDesktop() {\n return !this._browserService.isMobile;\n }\n\n private getErweiterteSuche(): ErweiterteSuche {\n return this.form[\"r_erweiterteSuche\"];\n }\n private showErweiterteSucheContextMenu(event): void {\n this.getErweiterteSuche()\n .showVorlageContextMenu(event, true);\n }\n\n private getCheckboxElement() {\n const item = document.createElement(\"div\");\n item.classList.add(\"dx-datagrid-checkbox-size\");\n item.classList.add(\"dx-show-invalid-badge\");\n item.classList.add(\"dx-checkbox\");\n item.classList.add(\"dx-checkbox-indeterminate\");\n item.classList.add(\"dx-state-readonly\");\n item.classList.add(\"dx-widget\");\n\n const item2 = document.createElement(\"div\");\n item2.classList.add(\"dx-checkbox-container\");\n\n const item3 = document.createElement(\"span\");\n item3.classList.add(\"dx-checkbox-icon\");\n\n item2.append(item3);\n item.append(item2);\n return item;\n }\n\n private async geschaeftspartnerValueChanged(idGeschaeftspartner: number) {\n if (!idGeschaeftspartner) {\n return;\n }\n\n const r = await this._restService.get({\n url: `${this._restService.getApiUrl(\"ZIT/Objekt/GeschaeftspartnerStandardStandortAndGoogleMapsAdresse\")}?idGeschaeftspartner=${idGeschaeftspartner}`\n });\n\n if (!r) {\n return;\n }\n\n this.form.models.data.$m_Event.Kopf.Ort = r.GoogleKartenAdresse;\n }\n\n private async setDefaultValuesFromEventTypToEvent(id: number) {\n const r = await this._restService.get({\n url: this._restService.getWebApiUrl(\"ZIT/Stammdaten/EventTyp/\") + id\n });\n\n if (!r) {\n return;\n }\n\n const kopf = this.form.models.data.$m_Event.Kopf;\n kopf.ShowVeranstaltungsmaske = r.ShowVeranstaltungsmaskeVorbelegung;\n \n if (!r.ShowVeroeffentlichung) {\n kopf.Veroeffentlichung = r.Veroeffentlichung;\n }\n \n if (!r.ShowTeilnehmerReaktion) {\n kopf.TeilnehmerReaktion = r.TeilnehmerReaktion;\n }\n \n if (r.ShowCheckBoxInSchnupperterminmaskeAnzeigen == EventTypSichtbarEnumTyp.NichtSichtbarAktiviert) {\n kopf.InSchnupperterminmaskeAnzeigen = true;\n } else if (r.ShowCheckBoxInSchnupperterminmaskeAnzeigen == EventTypSichtbarEnumTyp.NichtSichtbar) {\n kopf.InSchnupperterminmaskeAnzeigen = false;\n }\n \n if (r.ShowCheckBoxWebserviceTerminabfrage == EventTypSichtbarEnumTyp.NichtSichtbarAktiviert) {\n kopf.WebserviceTerminabfrage = true;\n } else if (r.ShowCheckBoxWebserviceTerminabfrage == EventTypSichtbarEnumTyp.NichtSichtbar) {\n kopf.WebserviceTerminabfrage = false;\n }\n \n if (r.ShowCheckBoxBewerbungformularSchnupperterminauswahl == EventTypSichtbarEnumTyp.NichtSichtbarAktiviert) {\n kopf.BewerbungsformularSchnupperterminauswahl = true;\n } else if (r.ShowCheckBoxBewerbungformularSchnupperterminauswahl == EventTypSichtbarEnumTyp.NichtSichtbar) {\n kopf.BewerbungsformularSchnupperterminauswahl = false;\n }\n \n if (!r.ShowZuteilungGeschaeftspartner) {\n kopf.IdGeschaeftspartner = null;\n } else {\n if (!kopf.IdGeschaeftspartner && kopf._IdGeschaeftspartner && !this.isGeschaeftspartnerSchule) {\n kopf.IdGeschaeftspartner = kopf._IdGeschaeftspartner;\n this.geschaeftspartnerValueChanged(kopf.IdGeschaeftspartner);\n this.setMeldenBeiDataSource(kopf.IdGeschaeftspartner);\n }\n }\n \n if (!r.ShowZuteilungGeschaeftspartnerSchule) {\n kopf.IdGeschaeftspartnerSchule = null;\n } else {\n if (!kopf.IdGeschaeftspartnerSchule && kopf._IdGeschaeftspartnerSchule) {\n kopf.IdGeschaeftspartnerSchule = kopf._IdGeschaeftspartnerSchule;\n this.setMeldenBeiDataSource(kopf.IdGeschaeftspartnerSchule);\n }\n }\n \n if (!r.ShowZuteilungPerson) {\n kopf.IdPerson = null;\n }\n \n if (!r.ShowDauer) {\n kopf.Standarddauer = null;\n kopf.Mindestdauer = null;\n kopf.Maximaldauer = null;\n }\n \n if (!r.ShowZuteilungLehrberufe) {\n kopf.Lehrberufe = [];\n }\n }\n\n private setVisiblilyZeitraumGridColumns() {\n const zeitraumDataGrid = this.form[\"r_eventZeitraumGrid\"];\n const zeitraumColumns = zeitraumDataGrid.instance.getVisibleColumns();\n\n zeitraumColumns.forEach((column) => {\n switch (column.dataField) {\n case (\"Kopf.InSchnupperterminmaskeAnzeigenValidated\"): {\n if (this.form.models.data.$m_EventTyp.ShowCheckBoxInSchnupperterminmaskeAnzeigen != EventTypSichtbarEnumTyp.Sichbar) {\n column.visible = false;\n }\n break;\n }\n case (\"Kopf.WebserviceTerminabfrageValidated\"): {\n if (this.form.models.data.$m_EventTyp.ShowCheckBoxWebserviceTerminabfrage != EventTypSichtbarEnumTyp.Sichbar) {\n column.visible = false;\n }\n break;\n }\n case (\"Kopf.BewerbungsformularSchnupperterminauswahlValidated\"): {\n if (this.form.models.data.$m_EventTyp.ShowCheckBoxBewerbungformularSchnupperterminauswahl != EventTypSichtbarEnumTyp.Sichbar) {\n column.visible = false;\n }\n break;\n }\n default: {\n break;\n }\n }\n });\n zeitraumDataGrid.instance.option(\"columns\", zeitraumColumns);\n }\n\n private onStatusGeaendert(r: IStatusChangeResultData) {\n if (!r.IsValid) {\n DevExpress.ui.dialog.alert(r.Message, this._localizationService.translateOnce(\"event.fehler\"));\n } else {\n this.form.models.reloadAll();\n }\n }\n\n private getSelectedKeys(): number[] {\n if (this.form.models.data.$m_Event) {\n return [this.form.models.data.$m_Event.Id];\n } else {\n return [];\n }\n }\n\n private async setMeldenBeiDataSource(id: number) {\n const ansprechpersonList = await this._ansprechpersonService\n .loadAnsprechpersonByGeschaeftspartner(id, [\"Name\"]);\n\n this.meldenBeiDataSource = ansprechpersonList.map((c) => c.Name);\n }\n\n private setEventZeitraumFilterDataSource(idEvent: number) {\n this.eventZeitraumFilterDataSource = this._eventZeitraumService.createEventZeitraumDataSource(this.form.scopeContainer,\n () => {\n return [\"IdEvent\", idEvent];\n },\n () => { },\n [{ columnName: \"Id\", sortOrder: 0 }]\n );\n }\n \n private showHideLinkAnmColumns(show: boolean) {\n const grid: IdxDataGridComponent = this.form[\"r_eventLinkAnmeldungGrid\"];\n if (!grid || !grid.instance) {\n return;\n }\n \n grid.instance.beginUpdate();\n \n this._linkAnmHiddenCols.forEach(c => {\n grid.instance.columnOption(c, \"visible\", show);\n });\n \n grid.instance.endUpdate();\n }\n}\n\nexport enum EventTypSichtbarEnumTyp {\n NichtSichtbar = 0,\n Sichbar = 1,\n NichtSichtbarAktiviert = 2\n}\n","import { ReportErstellen } from './../../elements/report-erstellen/report-erstellen';\nimport { ICommandData } from './../../../framework/forms/interfaces/command-data';\nimport { transient, autoinject } from \"../../../../node_modules/aurelia-framework\";\nimport { FormBase } from '../../../framework/forms/export';\nimport { StartupService } from '../../services/export';\nimport { BenutzerTyp } from '../../enumerations/export';\n\n@autoinject\n@transient()\nexport class SchnupperterminListUtils {\n constructor(\n private startupService: StartupService\n ) {\n const natuerlicherBenutzer = this.startupService.startupInfo.Benutzer.Benutzertyp == BenutzerTyp.NatuerlichePerson;\n this.isNatuerlicherBenutzer = natuerlicherBenutzer;\n }\n\n form: FormBase;\n isNatuerlicherBenutzer: boolean;\n\n schnupperterminReportAuswahlCommand: ICommandData = {\n id: \"schnupperterminReportAuswahlCommand\",\n icon: \"fas fa-print\",\n sortIndex: 9999,\n isVisibleExpression: \"!functions.$f_SchnupperterminListUtils.isNatuerlicherBenutzer\",\n tooltip: \"schnuppertermin-utils.report_erstellen\",\n execute: () => {\n const report: ReportErstellen = this.form[\"r_reportErstellenElement\"];\n report.reportErstellenPopup.instance.show();\n }\n };\n\n bind(form: FormBase) {\n this.form = form;\n }\n}\n","import { autoinject, Scope } from \"aurelia-framework\";\nimport { EventAggregator } from 'aurelia-event-aggregator';\nimport { FormUtilsService } from './form-utils-service';\n\n@autoinject\nexport class FormInfoService {\n constructor(\n private eventAggregator: EventAggregator,\n private formUtilsService: FormUtilsService\n ) {\n this.registerMainFormModuleId();\n }\n\n getMainFormModuleId(scope: Scope, treatEditPopupAsMainForm?: boolean): string {\n const mainForm = this.formUtilsService.getMainForm(scope, treatEditPopupAsMainForm);\n if (!mainForm) {\n return null;\n }\n\n return mainForm.moduleId;\n }\n\n private registerMainFormModuleId() {\n this.eventAggregator.subscribe(\"form:get-main-form-module-id\", (e) => {\n if (!e) {\n return;\n }\n if (!e.scope) {\n return;\n }\n\n e.moduleId = this.getMainFormModuleId(e.scope, e.treatEditPopupAsMainForm);\n });\n }\n}","import { autoinject } from \"aurelia-framework\";\nimport { EventAggregator } from 'aurelia-event-aggregator';\n\n@autoinject\nexport class AlertService {\n constructor(\n private eventAggregator: EventAggregator\n ) {\n this.eventAggregator.subscribe(\"notify\", (e) => {\n DevExpress.ui.notify(e.message, e.type || \"success\", e.displayTime || 3000);\n });\n this.eventAggregator.subscribe(\"alert\", (e) => {\n DevExpress.ui.dialog.alert(e.message, e.title || \"Information\");\n });\n }\n}\n","export * from \"./classes/export\";\nexport * from \"./event-args/export\";\nexport * from \"./interfaces/export\";\nexport * from \"./services/export\";","import { ErklaerungsvideoInhaltArtEnum } from './../enumerations/erklaerungsvideo-inhalt-art-enum';\nimport { KontaktpersonTyp } from './../enumerations/kontaktperson-typ';\nimport { Geschlecht } from './../enumerations/geschlecht';\nimport { BenutzerTyp } from './../enumerations/export';\nimport { ErklaerungsvideoAnzeigeEnum } from '../enumerations/erklaerungsvideo-anzeige-enum';\n\nexport interface IStartupInfo {\n Benutzer: {\n IdBenutzer: number;\n CodeBenutzerrolle: string;\n IdBenutzerrolle: number;\n IdLoginprofil: number;\n Benutzername: string;\n Benutzertyp: BenutzerTyp;\n KontaktpersonTyp: KontaktpersonTyp;\n Email: string;\n HtmlTextHilfe: string;\n Nachname: string;\n Vorname: string;\n CanBenutzeraccountAktivieren: boolean;\n CanBenutzeraccountSperren: boolean;\n CanStandardStelleninseratErstellen: boolean;\n CanPost: boolean;\n CanStatusAendern: boolean;\n CanTerminErstellen: boolean;\n CanUseMarkers: boolean;\n CanUsePersonenDossier: boolean;\n CanViewDokumentDetails: boolean;\n HasNachrichten: boolean;\n CanNachrichtMassennachricht: boolean;\n HasNachrichtStellvertreter: boolean;\n HasNachrichtInterneNotiz: boolean;\n NachrichtSignatur: string;\n IsWhatsappAktiv: boolean;\n IsGeschaeftspartnerSchuleBenutzer: boolean;\n DruckvorlageObjektFullNameList: string[];\n Geschlecht: Geschlecht;\n IdPerson?: number;\n IdAnsprechperson?: number;\n IdGeschaeftspartner?: number;\n DMSLinkAvatar?: string;\n UrlAgb: string;\n };\n Layout: {\n IdBenutzerrolle: number;\n CardList: ICardStartupInfo[];\n };\n Mandant: {\n IdMandant: number;\n Bezeichnung: string;\n ImpressumHtmlText: string;\n WhatsAppTelefonnummer: string;\n DMSLinkVisitenkarte: string;\n IsWhatsappAktiv: boolean;\n IsSmsAktiv: boolean;\n ShowSchnupperterminMaske: boolean;\n UrlDatenschutz: string;\n UrlImpressum: string;\n };\n Skin: {\n IdBenutzerrolle: number;\n DMSLinkHintergrundbild: string;\n DMSLinkLogoKlein: string;\n Farbe: string;\n Farbe20Opacity?: string;\n };\n KopfzeileVerknuepfungList: IKopfzeileVerknuepfung[];\n ObjektBerechtigungList: IObjektBerechtigung[];\n TooltipList: ITooltip[];\n SucheStandardFilterList: string[];\n ErklaerungsvideoLayoutList: IErklaerungsvideo[];\n MenuList: IBenutzerrolleMenu[];\n CanChangeLoginprofil: boolean;\n CanChangeUser: boolean;\n CanAufgabenZuweisen: boolean;\n HasUrsprBenutzer: boolean;\n UrlVerlinkungWebsite: string;\n ShowSchnupperterminMaske: boolean;\n HasStammdatenMaske?: boolean;\n HasAlleStammdatenMasken?: boolean;\n IsApp: boolean;\n StammdatenPraefixList?: string[];\n}\n\nexport interface ICardStartupInfo {\n CardGross: string;\n CardGrossHintergrundfarbe: string;\n CardGrossSymbol: string;\n CardKlein: string;\n CardKleinHintergrundfarbe: string;\n CardKleinSymbol: string;\n CardKompakt: string;\n CardKompaktHintergrundfarbe: string;\n CardKompaktSymbol: string;\n Objekttyp: string;\n}\nexport interface IObjektBerechtigung {\n ObjektFullName: string;\n AllowNew: boolean;\n}\nexport interface ITooltip {\n Key: string;\n Tooltip: string;\n}\nexport interface IErklaerungsvideo {\n Key: string;\n Bezeichnung: string;\n InhaltArt: ErklaerungsvideoInhaltArtEnum;\n IsCodeHinterlegt: boolean;\n IdErklaerungsvideo: number;\n Content: string;\n Anzeige?: ErklaerungsvideoAnzeigeEnum;\n}\nexport interface IKopfzeileVerknuepfung {\n Bezeichnung: string;\n Url: string;\n IdMandant: number;\n IdLoginprofil: number;\n DMSLinkLogo: string;\n}\nexport interface IBenutzerrolleMenu {\n Route: string;\n BezeichnungDesktop: string;\n SortNrDesktop: number;\n BezeichnungMobil: string;\n SortNrMobil: number;\n IsShortcutDesktop: boolean;\n ShowInDesktop: boolean;\n ShowInMobil: boolean;\n}\n\nexport enum AnredeformTyp {\n Sie = 0,\n Du = 1\n}\n","export {CommandService} from \"./command-service\";\nexport {DefaultCommandsService} from \"./default-commands-service\";\nexport {EnumItemService} from \"./enum-item-service\";\nexport {GlobalCommandService} from \"./global-command-service\";\nexport {PopupInfoService} from \"./popup-info-service\";\nexport {FormEventService} from \"./form-event-service\";\nexport {ModelEventService} from \"./model-event-service\";\nexport {ToolbarService} from \"./toolbar-service\";\nexport {ValidationService} from \"./validation-service\";\nexport {SelectItemService} from \"./select-item-service\";\nexport {HistoryService} from \"./history-service\";\nexport {RouterService} from \"./router-service\";\nexport {RoutesCreatorService} from \"./routes-creator-service\";\nexport {ModelUtilsService} from \"./model-utils-service\";\nexport {SettingService} from \"./setting-service\";\nexport {FormUtilsService} from \"./form-utils-service\";\nexport {LayoutService} from \"./layout-service\";\nexport {DialogConfirmService} from \"./dialog-confirm-service\";\n","import { autoinject, transient } from \"aurelia-framework\";\nimport { FormBase } from \"../../../framework/forms/export\";\nimport { AuthorizationService, LocationService } from \"../../../framework/base/export\";\n\n@autoinject\n@transient()\nexport class AutoLoginFormFuncs {\n private _Form: FormBase;\n\n constructor(\n private _authorizationService: AuthorizationService,\n private _locationService: LocationService\n ) {}\n\n bind(form: FormBase) {\n this._Form = form;\n this.tryAutoLogin();\n }\n\n private async tryAutoLogin() { \n const key = this.getKeyFromQueryString();\n if (!key) {\n this.redirectToDefault();\n return;\n }\n\n const r = await this._authorizationService.login({\n Username: \"$directlogin$\",\n Password: key\n }, false);\n\n if (!r.isLoggedIn) {\n this.redirectToDefault();\n }\n\n location.reload();\n }\n\n private getKeyFromQueryString(): string {\n return this._Form.viewItemInfo?.routeInfo?.parameters?.key;\n }\n private redirectToDefault() {\n if (this._authorizationService.isLoggedIn) {\n this._locationService.goTo({\n url: \"Dashboard\",\n clearStack: true\n });\n } else {\n this._locationService.goTo({\n url: \"Login\",\n clearStack: true\n });\n }\n }\n}","import {\n autoinject\n} from \"aurelia-framework\";\nimport {\n FormBase\n} from \"../classes/form-base\";\nimport {\n BaseWidgetCreatorService\n} from \"./base-widget-creator-service\";\nimport {\n GlobalizationService,\n LocalizationService\n} from \"../../base/services/export\";\nimport {\n SelectionModeEnum\n} from \"../enums/selection-mode-enum\";\nimport {\n EnumItemService\n} from \"../services/export\";\nimport * as WidgetOptions from \"../widget-options/export\";\nimport { EventAggregator } from 'aurelia-event-aggregator';\nimport { IDataSourceCustomizationOptions } from '../../base/export';\nimport { ListType } from '../enums/list-type-enum';\n\n@autoinject\nexport class DataGridWidgetCreatorService {\n constructor(\n private baseWidgetCreator: BaseWidgetCreatorService,\n private globalization: GlobalizationService,\n private localization: LocalizationService,\n private enumItem: EnumItemService,\n private eventAggregator: EventAggregator\n ) {}\n\n addDataGrid(form: FormBase, options: WidgetOptions.IDataGridOptions) {\n const dataGridOptions: DevExpress.ui.dxDataGridOptions = this.baseWidgetCreator.createWidgetOptions(form, options);\n\n let registerOnCellPrepared = false;\n if (options.columns) {\n const totalItems = [];\n\n dataGridOptions.columns = options.columns.map(col => {\n const column: DevExpress.ui.dxDataGridColumn = {};\n\n if (col.caption) {\n column.caption = this.localization.translateOnce(col.caption, form.scopeContainer);\n }\n if (col.bindTo) {\n column.dataField = col.bindTo;\n }\n if (col.dataType) {\n column.dataType = col.dataType;\n }\n if (col.sortIndex != void (0) && col.sortOrder != void (0)) {\n column.sortIndex = col.sortIndex;\n column.sortOrder = col.sortOrder;\n }\n if (col.width) {\n column.width = col.width;\n }\n if (col.minWidth) {\n column.minWidth = col.minWidth;\n }\n if (col.format) {\n column.format = this.globalization.getFormatterParser(col.format);\n }\n if (col.enumTypeName) {\n column.dataType = \"string\";\n column.customizeText = (cellInfo) => {\n if (cellInfo.value == void (0)) {\n return \"\";\n }\n\n return this.enumItem.getDisplayText(col.enumTypeName, cellInfo.value.toString());\n };\n }\n if (col.onCustomizeText) {\n column.customizeText = (e: any) => { \n return form.binding.execute(form.scope, col.onCustomizeText, e);\n };\n }\n if (col.onCalculateFilterExpression) {\n column.calculateFilterExpression = (value: any, operator: any, target: any) => { \n return form.binding.execute(form.scope, col.onCalculateFilterExpression, {\n value: value,\n operator: operator,\n target: target\n });\n };\n }\n\n if (col.showTotalAggSum) {\n totalItems.push({\n column: col.bindTo,\n summaryType: \"sum\",\n customizeText: (e) => {\n if (e.value == void(0)) {\n return null;\n }\n\n return this.globalization.format(e.value, col.format);\n }\n });\n }\n\n if (col.onCellPrepared) {\n registerOnCellPrepared = true;\n }\n\n return column;\n });\n\n if (totalItems.length > 0) {\n dataGridOptions.summary = {\n totalItems: totalItems\n };\n }\n }\n\n if (options.dataModel && !options.binding.bindTo) {\n const customizationOptions: IDataSourceCustomizationOptions = {};\n\n this.eventAggregator.publish(\"data-grid:customize-data-source\", {\n form: form,\n options: options,\n dataGridOptions: dataGridOptions,\n customizationOptions: customizationOptions\n });\n\n const dataSource = this.baseWidgetCreator.createListDataSource(form, options, dataGridOptions, customizationOptions);\n dataGridOptions.dataSource = dataSource;\n\n dataGridOptions.allowColumnResizing = true;\n dataGridOptions.columnResizingMode = \"widget\";\n\n dataGridOptions.remoteOperations = {\n filtering: true,\n paging: true,\n sorting: true,\n summary: true\n };\n\n if (options.isMainList) {\n form.onReactivated.register(e => {\n dataSource.reload();\n return Promise.resolve();\n });\n }\n }\n else if (options.binding.bindTo) {\n dataGridOptions.bindingOptions[\"dataSource\"] = options.binding.bindToFQ;\n }\n\n //MainLists erhalten immer eine Filter-Zeile, \n //da hier die Suche immer sinnvoll ist\n if (options.showFilterRow || (options.showFilterRow == void(0) && options.isMainList)) {\n dataGridOptions.filterRow = {\n visible: true\n };\n dataGridOptions.headerFilter = {\n visible: true,\n allowSearch: true\n };\n }\n\n this.baseWidgetCreator.setListClickActions(form, options);\n const customOptions = this.baseWidgetCreator.getCustomOptions(form, options);\n const isSelectionModeSingle = (options.selectionMode || SelectionModeEnum.None) == SelectionModeEnum.Single;\n const contentReadyActions: {(e): void}[] = [];\n\n if (customOptions.hasClickActions > 0) {\n dataGridOptions.hoverStateEnabled = true;\n\n dataGridOptions.onRowClick = (e) => {\n customOptions.clickActions.forEach(item => {\n item(e, dataGridOptions.dataSource);\n });\n\n if (!isSelectionModeSingle) {\n customOptions.openClickActions.forEach(item => {\n item(e, dataGridOptions.dataSource);\n });\n }\n };\n }\n\n if (options.selectionMode) {\n dataGridOptions.selection = {\n mode: this.getSelectionMode(options.selectionMode)\n };\n\n if (options.selectionMode == SelectionModeEnum.Multiple) {\n dataGridOptions.selection.showCheckBoxesMode = \"always\";\n }\n }\n\n if (options.showPagerInfo) {\n dataGridOptions.pager = {\n visible: true,\n showInfo: true\n }\n }\n\n if (options.pageSize) {\n dataGridOptions.paging = {\n pageSize: options.pageSize,\n enabled: true\n }\n }\n\n dataGridOptions.sorting = {\n mode: \"multiple\"\n };\n\n if (options.height) {\n dataGridOptions.height = options.height;\n }\n\n if (options.editDataContext) {\n contentReadyActions.push(e => {\n const model = form.models.getInfo(options.editDataContext);\n\n if (!form.models.data[model.id]) {\n return;\n }\n if (!form.models.data[model.id][model.keyProperty]) {\n return;\n }\n\n const key = form.models.data[model.id][model.keyProperty];\n\n const grid: DevExpress.ui.dxDataGrid = e.component;\n const dataSource = grid.getDataSource();\n\n const exists = dataSource\n .items()\n .some(c => c[model.keyProperty] == key);\n\n if (exists) {\n return;\n }\n\n form.models.data[model.id] = null;\n })\n }\n\n if (registerOnCellPrepared) { \n dataGridOptions.onCellPrepared = (e: any) => {\n const col = options.columns.find((c) => {\n return c.bindTo == e.column.dataField\n && !!c.onCellPrepared;\n });\n\n if (!col) {\n return;\n }\n\n form.binding.execute(form.scope, col.onCellPrepared, e);\n };\n }\n\n if (contentReadyActions.length > 0) {\n dataGridOptions.onContentReady = (e) => {\n contentReadyActions.forEach(c => c(e));\n }\n }\n\n this.baseWidgetCreator.checkListToolbar(form, options, isSelectionModeSingle, ListType.DataGrid);\n this.baseWidgetCreator.checkListRelationEdit(form, options);\n }\n\n private getSelectionMode(selectionMode: SelectionModeEnum): string {\n switch (selectionMode) {\n case SelectionModeEnum.Multiple:\n return \"multiple\";\n case SelectionModeEnum.Single:\n return \"single\";\n default:\n return \"none\";\n }\n }\n} \n","import { autoinject } from \"aurelia-framework\";\n\n@autoinject\nexport class MarkdownService {\n private _regexBold1 = /\\*\\*(.*?\\S)\\*\\*/gm;\n private _regexBold2 = /\\_\\_(.*?\\S)\\_\\_/gm;\n private _regexLink = /\\[(.*?\\S)\\]\\((.+?\\S)\\)/gm;\n\n constructor() {}\n\n replace(text: string): string {\n if (!text) {\n return text;\n }\n\n return text\n .replace(this._regexBold1, \"$1\")\n .replace(this._regexBold2, \"$1\")\n .replace(this._regexLink, \"$1\");\n }\n}\n","import { autoinject } from \"aurelia-framework\";\nimport { LocalizationService } from '../../framework/base/export';\nimport { DialogConfirmService } from '../../framework/forms/export';\n\n@autoinject\nexport class DialogService {\n constructor(\n private _localizationService: LocalizationService,\n private _dialogConfirmService: DialogConfirmService\n ) {}\n\n askZuteilungLoeschen() {\n return this._dialogConfirmService.show({\n message: this._localizationService.translateOnce(\"zit.zuteilung-loeschen\"),\n title: this._localizationService.translateOnce(\"base.question\")\n });\n }\n}","import {\n autoinject\n} from \"aurelia-framework\";\nimport { EventAggregator } from 'aurelia-event-aggregator';\n\n@autoinject\nexport class ErrorService {\n constructor(\n private eventAggregator: EventAggregator\n ) {}\n\n showError(error: any) {\n let message = error;\n\n if (error instanceof Error || error.message) {\n message = error.message;\n }\n\n this.eventAggregator.publish(\"alert\", {\n message: message,\n title: \"Fehler\"\n });\n }\n logError(error: any) {\n\n }\n showAndLogError(error: any) {\n if (!error) {\n return;\n }\n if (error.isHandled === true) {\n return;\n }\n\n this.logError(error);\n this.showError(error);\n } \n}\n","import { EventAggregator, Subscription } from \"aurelia-event-aggregator\";\nimport { transient } from \"aurelia-framework\";\nimport { AuthorizationService } from \"../../../../../framework/base/export\";\nimport { autoinject, FormBase } from \"../../../../../framework/forms/form-export\";\nimport { LoginprofilService } from \"../../../../../zit/services/export\";\nimport { BrowserService } from \"./../../../../../framework/base/services/browser-service\";\nimport { LocalizationService } from \"./../../../../../framework/base/services/localization-service\";\nimport { LocationService } from \"./../../../../../framework/base/services/location-service\";\nimport { RestService } from \"./../../../../../framework/base/services/rest-service\";\nimport { ICommandData } from \"./../../../../../framework/forms/interfaces/command-data\";\nimport { HistoryService } from \"./../../../../../framework/forms/services/history-service\";\nimport { DomaeneService } from \"./../../../../services/domaene-service\";\n\n@autoinject\n@transient()\nexport class LoginTanFuncs {\n private _form: FormBase;\n private _appChangedSubscription: Subscription;\n\n constructor(\n public browserService: BrowserService,\n private _locationService: LocationService,\n private _localizationService: LocalizationService,\n private _loginprofilService: LoginprofilService,\n private _authorizationService: AuthorizationService,\n private _restService: RestService,\n private _historyService: HistoryService,\n private _eventAggregator: EventAggregator,\n private _domaeneService: DomaeneService) {\n const time = new Date()\n .getTime()\n .toString();\n const randomNumberString = Math.floor((Math.random() * 100))\n .toString();\n const randomKey = time + randomNumberString;\n this.logoSrc = this._restService.getApiUrl(`ZIT/Domaene/Logo?key=${randomKey}`);\n }\n\n urlImpressum: string;\n farbeDomaene: string;\n bezeichnungLoginMobil: string;\n logoSrc: string;\n goToUrlAfterLogin: string;\n username: string;\n isMobile: boolean;\n\n loginCommand: ICommandData = {\n id: \"$login\",\n title: \"login-form-funcs.anmelden_caption\",\n execute:() => {\n this.doLogin();\n }\n };\n\n zuerueckCommand: ICommandData = {\n id: \"zuerueckZuLogin\",\n title: \"zit-ui.login-loginprofil-zuerueck\",\n execute: () => {\n this.goBackToLogin();\n }\n };\n\n openImpressumClick() {\n window.open(this.urlImpressum);\n }\n\n async bind(form: FormBase) {\n this._form = form;\n\n const hasCustomOptions = this._form.viewItemInfo\n && this._form.viewItemInfo.routeInfo\n && this._form.viewItemInfo.routeInfo.customOptions;\n\n const hasUsernameInfo = hasCustomOptions\n && this._form.viewItemInfo.routeInfo.customOptions.Username;\n\n if (hasUsernameInfo) {\n this.username = this._form.viewItemInfo.routeInfo.customOptions.Username;\n } else {\n this.goBackToLogin();\n }\n\n const hasGoToUrlAfterLogin = hasCustomOptions\n && this._form.viewItemInfo.routeInfo.customOptions.goToUrlAfterLogin;\n\n if (hasGoToUrlAfterLogin) {\n this.goToUrlAfterLogin = this._form.viewItemInfo.routeInfo.customOptions.goToUrlAfterLogin;\n }\n\n this._appChangedSubscription = this._eventAggregator.subscribeOnce(\"authorization:change-app\", (args) => {\n args.isHandled = true;\n });\n\n this.urlImpressum = this._domaeneService.urlImpressum;\n this.farbeDomaene = this._domaeneService.farbeDomaene;\n this._domaeneService.setDomainColorsStyle();\n this.bezeichnungLoginMobil = this._domaeneService.bezeichnungMobilLogin;\n }\n\n unbind() {\n this._appChangedSubscription.dispose();\n this._appChangedSubscription = null;\n }\n\n private async doLogin() {\n const smsTan = this._form[\"tan\"]\n .instance\n .element()\n .querySelector(\"input\")\n .value;\n\n const loginSuccess = await this._authorizationService.login({\n Username: this.username,\n Password: smsTan\n });\n if (!loginSuccess) {\n return;\n }\n\n const hasMoreThanOne = await this._loginprofilService.hasMultipleLoginprofil();\n\n this._historyService.pipelineUrl = null;\n\n if (hasMoreThanOne) {\n this._locationService.goTo({\n url: \"Loginprofil\",\n clearStack: true\n });\n\n if (this.goToUrlAfterLogin) {\n this._historyService.pipelineUrl = this.goToUrlAfterLogin;\n }\n } else {\n if (this.goToUrlAfterLogin) {\n this._historyService.pipelineUrl = this.goToUrlAfterLogin;\n }\n\n this._authorizationService.isLoggedInChanged(true);\n }\n }\n\n private goBackToLogin() {\n this._locationService.goTo({\n url: \"Login\",\n clearStack: true\n });\n }\n}\n","export { AuthorizationService } from \"./authorization-service\";\nexport { BindingService } from \"./binding-service\";\nexport { DataSourceService } from \"./data-source-service\";\nexport { DeepObserverService } from \"./deep-observer-service\";\nexport { ErrorService } from \"./error-service\";\nexport { GlobalizationService } from \"./globalization-service\";\nexport { LocalizationService } from \"./localization-service\";\nexport { LocationService } from \"./location-service\";\nexport { JsonService } from \"./json-service\";\nexport { NotificationService } from \"./notification-service\";\nexport { ObjectInfoService } from \"./object-info-service\";\nexport { PermissionService } from \"./permission-service\";\nexport { RestService } from \"./rest-service\";\nexport { ShortcutService } from \"./shortcut-service\";\nexport { StyleService } from \"./style-service\";\nexport { WebEventService } from \"./web-event-service\";\nexport { WindowService } from \"./window-service\";\nexport { FileService } from \"./file-service\";\nexport { ObjectService } from \"./object-service\";\nexport { MarkdownService } from \"./markdown-service\";\nexport { BrowserService } from \"./browser-service\";\nexport { TemplatingExService } from \"./templating-ex-service\";\n","import { autoinject } from \"aurelia-framework\";\nimport { RestService } from '../../framework/base/services/rest-service';\n\n@autoinject\nexport class DashboardService {\n constructor(\n private _restService: RestService\n ) {}\n\n getDashboardInfo() {\n return this._restService.get({\n url: this._restService.getApiUrl(`ZIT/Dashboard/Info`),\n increaseLoadingCount: true\n })\n }\n getAufgabeBox() {\n return this._restService.get({\n url: this._restService.getApiUrl(`ZIT/Dashboard/AufgabeBox`),\n increaseLoadingCount: true\n })\n }\n}\n","import { autoinject, computedFrom, observable, transient, TaskQueue } from \"aurelia-framework\";\nimport { EventAggregator, Subscription } from \"aurelia-event-aggregator\";\nimport { GlobalizationService, LocationService } from \"../../../framework/base/export\";\nimport { FormBase } from \"../../../framework/forms/classes/form-base\";\nimport { ListView } from \"../../../framework/forms/elements/list-view/export\";\nimport { ICommandData, IListViewOptions, SelectionModeEnum } from \"../../../framework/forms/export\";\nimport { SucheLayoutAuswahl } from \"./../../elements/suche-layout-auswahl/suche-layout-auswahl\";\nimport { CustomEditPopupService, SucheService, ObjektInfoService } from \"../../services/export\";\nimport { SucheViewTyp, BenutzerTyp } from \"../../enumerations/export\";\nimport { IdxDataGridComponent } from \"../../interfaces/export\";\nimport { IZitCardOptions, ZitCardTyp } from \"../../../zit-ui/elements/zit-card/export\";\nimport { IItemExecuteOptions } from \"../../../framework/forms/elements/toolbar/export\";\nimport { Share } from \"../../elements/share/share\";\nimport { BerechtigungService } from \"../../services/berechtigung-service\";\nimport { StartupService } from \"../../services/startup-service\";\nimport { BrowserService } from \"../../../framework/base/services/browser-service\";\nimport { ErklaervideoService } from \"../../services/erklaervideo-service\";\n\n@autoinject\n@transient()\nexport class SucheUtils {\n private _searchSubscription: Subscription;\n private _objektStatusChangedSubscription: Subscription;\n private _lastObjektBezeichnung: string;\n\n constructor(\n private customEditPopup: CustomEditPopupService,\n private eventAggregator: EventAggregator,\n private location: LocationService,\n private objektInfo: ObjektInfoService,\n private suche: SucheService,\n private berechtigung: BerechtigungService,\n private startup: StartupService,\n private taskQueue: TaskQueue,\n private browser: BrowserService,\n private erklaervideoService: ErklaervideoService,\n private globalizationService: GlobalizationService,\n private browserService: BrowserService\n ) { }\n\n form: FormBase;\n\n defaultColumns: DevExpress.ui.dxDataGridColumn[] = [{\n dataField: \"ObjektBezeichnung\",\n name: \"r_sucheObjekttyp\",\n minWidth: 100,\n caption: \"Objekttyp\"\n }, {\n dataField: \"Bezeichnung\",\n name: \"r_sucheBezeichnung\",\n minWidth: 100,\n caption: \"Bezeichnung\"\n }, {\n dataField: \"Anlagedatum\",\n name: \"r_sucheAnlagedatum\",\n width: \"120px\",\n caption: \"erstellt am\",\n format: this.globalizationService.getFormatterParser(\"g\")\n }];\n additionalColumns: string[] = [];\n searchText: string;\n wertQueryList: any[];\n searchStandardFilter: string = \"true\";\n erklaervideoCommand: ICommandData;\n\n createNewCommand: ICommandData = {\n icon: \"fas fa-plus\",\n id: \"sucheCreateNew\",\n tooltip: \"base.add\",\n sortIndex: 1100,\n isVisibleExpression: \"functions.$f_SucheUtils.canCreateNew\",\n execute: (event: any) => {\n const urlToNavigate = this.objektInfo.getObjektNavigationUrl(this.objektFullName);\n if (!urlToNavigate) {\n return;\n }\n\n this.location.goTo({\n url: `${urlToNavigate}/0`,\n currentViewModel: this.form\n });\n }\n };\n actionCommand: ICommandData = {\n icon: \"fas fa-share-alt\",\n id: \"sucheExportSelectedItems\",\n tooltip: \"zit.aktionen\",\n isVisibleExpression: \"r_share.canShare\",\n sortIndex: 1200,\n execute: (args: IItemExecuteOptions) => {\n const share: Share = this.form[\"r_share\"];\n share.showCtxMenu(args.event);\n }\n };\n columnsCommand: ICommandData = {\n icon: \"fas fa-columns\",\n id: \"sucheColumns\",\n tooltip: \"suche-form.spaltenauswahl\",\n sortIndex: 1300,\n isEnabledExpression: \"functions.$f_SucheUtils.viewTyp == 'table' && functions.$f_SucheUtils.objektFullName\",\n execute: (args: IItemExecuteOptions) => {\n if (!this.objektFullName || this.viewTyp != SucheViewTyp.table) {\n return;\n }\n const layoutAuswahl: SucheLayoutAuswahl = this.form[\"r_layout_auswahl\"];\n layoutAuswahl.showCtxMenu(args.event);\n },\n isVisibleExpression: \"functions.$f_SucheUtils.isTableViewVisible\"\n };\n activateListView: ICommandData = {\n icon: \"fas fa-th-list\",\n id: \"sucheListViewCommand\",\n tooltip: \"suche-form.show-list-view\",\n sortIndex: 1400,\n isEnabledExpression: \"functions.$f_SucheUtils.viewTyp == 'table'\",\n execute: (event: any) => {\n this.viewTyp = SucheViewTyp.list;\n },\n isVisibleExpression: \"functions.$f_SucheUtils.isTableViewVisible\"\n };\n activateTableView: ICommandData = {\n icon: \"fas fa-table\",\n id: \"sucheTableViewCommand\",\n tooltip: \"suche-form.show-table-view\",\n sortIndex: 1401,\n isEnabledExpression: \"functions.$f_SucheUtils.viewTyp == 'list'\",\n execute: (event: any) => {\n this.viewTyp = SucheViewTyp.table;\n },\n isVisibleExpression: \"functions.$f_SucheUtils.isTableViewVisible\"\n };\n activateStandardfilter: ICommandData = {\n id: \"sucheStandardfilterCommand\",\n title: \"suche-form.show-standardfilter\",\n classNameExpression: \"functions.$f_SucheUtils.searchStandardFilter == 'true' ? 'z--button-active' : ''\",\n isVisible: false,\n sortIndex: 1001,\n execute: () => {\n this.searchStandardFilter = this.searchStandardFilter == \"true\" ? \"false\" : \"true\";\n this.loadSearchParamFromSearchService();\n }\n };\n\n sucheCardOptions: IZitCardOptions = {\n typ: ZitCardTyp.Kompakt,\n isSuche: true,\n statusColorExpression: \"item.Data.ObjektStatusSymbolFarbe\",\n markersCardOptions: {\n markersListExpression: \"item.Data.ObjektMarkerZuordnungen\",\n onClick: (e, data) => {\n this.customEditPopup.markersAuswaehlen.show(\n {\n mappings: {\n \"$v_idObjekt\": data.Id\n },\n closeCallback: () => {\n this.form[\"r_share\"].reloadData();\n }\n }\n );\n }\n }\n };\n\n @observable({ changeHandler: \"addGridColumnsToModel\" }) viewTyp: SucheViewTyp = SucheViewTyp.list;\n\n @computedFrom(\"suche.lastObjektFullName\")\n get objektFullName() {\n return this.suche.lastObjektFullName;\n }\n @computedFrom(\"suche.lastObjektBezeichnung\")\n get sucheTitelSuffix() {\n if (this.form\n && this.form.scopeContainer\n && this.form.scopeContainer.scope\n && this._lastObjektBezeichnung != this.suche.lastObjektBezeichnung) {\n this._lastObjektBezeichnung = this.suche.lastObjektBezeichnung;\n\n this.eventAggregator.publish(\"form:title-changed\", {\n form: this.form\n });\n }\n\n if (this.suche.lastObjektBezeichnung) {\n return `: ${this.suche.lastObjektBezeichnung}`;\n } else {\n return \"\";\n }\n }\n @computedFrom(\"objektFullName\")\n get canCreateNew() {\n //ohne Objekttyp kann keine Neuanlage gemacht werden\n if (!this.objektFullName == void 0) return false;\n \n //Aufgaben dürfen nie so angelegt werden (sind aktuell auch nicht im Einsatz)\n if (this.objektFullName === \"TIP.ZIT.Business.Entities.Objekte.Aufgaben.Aufgabe\") return false;\n\n //natürliche Personen dürfen keine Ziele anlegen\n const benutzertyp = this.startup.startupInfo.Benutzer.Benutzertyp;\n if (benutzertyp === BenutzerTyp.NatuerlichePerson && this.objektFullName === \"TIP.ZIT.Business.Entities.Objekte.Ziele.Ziel\") return false;\n \n //bei myLehre dürfen nur Intern und Admin neue Stelleninserate/Firmenprofile/Geschäftspartner anlegen\n const isInternOrAdmin = [BenutzerTyp.NatuerlichePerson, BenutzerTyp.Administrator].includes(benutzertyp);\n const isStelleninseratOrProfilFirmaOrGeschaeftspartner = [\n \"TIP.ZIT.Business.Entities.Objekte.Stelleninserate.Stelleninserat\",\n \"TIP.ZIT.Business.Entities.Objekte.ProfilFirmen.ProfilFirma\",\n \"TIP.ZIT.Business.Entities.Objekte.Geschaeftspartner.Geschaeftspartner\"\n ].includes(this.objektFullName);\n \n if (this.startup.startupInfo.Mandant.IdMandant === 4 && !isInternOrAdmin && isStelleninseratOrProfilFirmaOrGeschaeftspartner) return false;\n \n //wenn keine Neu-(Speichern)-Berechtigung vorhanden, dann auch keine Neuanlage\n if (!this.berechtigung.hasBerechtigungNew(this.objektFullName)) return false;\n \n //ansonsten alles gut\n return true;\n }\n\n get isTableViewVisible() {\n return !this.browser.isMobile;\n }\n\n bind(form: FormBase) {\n this.form = form;\n\n const viewTyp = form.viewItemInfo?.routeInfo?.customOptions?.viewTyp;\n if (viewTyp != void 0) {\n this.viewTyp = viewTyp;\n }\n\n form.callOnBind(() => {\n if (this.browserService.isMobile) {\n const listViewOptions = form[\"r_sucheListViewOptions\"];\n listViewOptions.selectionMode = SelectionModeEnum.None;\n }\n });\n\n this.form.models.getInfo(\"$m_Suche\").canLoad = (options) => {\n switch (this.viewTyp) {\n case SucheViewTyp.list: {\n return this.form[\"r_sucheListViewOptions\"] == options;\n }\n case SucheViewTyp.table: {\n return this.form[\"r_sucheGridOptions\"] == options;\n }\n default: {\n return true;\n }\n }\n };\n\n form.models.onLoaded.register((args) => {\n if (args.model.id === \"$m_Suche\" && args.data) {\n if (this.browser.isMobile && this.searchStandardFilter === \"true\") {\n this.searchStandardFilter = \"false\";\n }\n\n this.checkFilterListVorhanden();\n }\n return Promise.resolve();\n });\n\n this.erklaervideoCommand = this.erklaervideoService.getErklaervideoCommandData();\n this.erklaervideoCommand.isVisible = false;\n this.erklaervideoCommand.execute = (e) => {\n this.erklaervideoService.element.show(\n \"suche;\".concat(this.objektFullName),\n e.event.target\n );\n };\n form.commands.addCommand(this.erklaervideoCommand);\n\n this.loadSearchParamFromSearchService();\n this.addGridColumnsToModel();\n\n this._searchSubscription = this.eventAggregator.subscribe(\n \"suche:request\", \n () => {\n this.checkFilterListVorhanden();\n this.setStandardfilter();\n this.loadSearchParamFromSearchService();\n\n this.erklaervideoCommand.isVisible = this.erklaervideoService.getContextMenuItems(\n \"suche;\".concat(this.objektFullName)\n ).length > 0;\n });\n\n this._objektStatusChangedSubscription = this.eventAggregator.subscribe(\n \"objekt-status:changed\",\n (e) => {\n this.reloadIfExists(e.idObjektList);\n }\n );\n }\n unbind() {\n this._searchSubscription.dispose();\n this._objektStatusChangedSubscription.dispose();\n }\n\n loadSearchParamFromSearchService() {\n const isEqual = this.form.variables.data.$v_searchText == this.suche.lastSearchText\n && JSON.stringify(this.wertQueryList || []) == JSON.stringify(this.suche.lastWertQueryList || []);\n\n if (!isEqual) {\n this.form.variables.data.$v_searchText = this.suche.lastSearchText;\n this.wertQueryList = this.suche.lastWertQueryList;\n }\n\n this.taskQueue.queueTask(() => {\n const listView: ListView = this.form[\"r_sucheListView\"];\n if (listView) {\n listView.clearSelection();\n\n if (isEqual) {\n listView.refresh(false);\n }\n }\n\n const grid: IdxDataGridComponent = this.form[\"r_sucheGrid\"];\n if (grid && grid.instance) {\n grid.instance.clearSelection();\n\n if (isEqual) {\n grid.instance.refresh();\n }\n }\n });\n }\n setStandardfilter() {\n const objektTypeName = this.suche.getObjektFullName(this.suche.lastObjektFullName);\n this.searchStandardFilter = !!objektTypeName ? \"true\" : \"\";\n }\n checkFilterListVorhanden() {\n if (this.browser.isMobile) {\n return;\n }\n\n if (this.startup.startupInfo.SucheStandardFilterList && this.startup.startupInfo.SucheStandardFilterList.length > 0) {\n const filterList = this.startup.startupInfo.SucheStandardFilterList.filter((c) => c == this.objektFullName);\n if (filterList && filterList.length > 0) {\n this.activateStandardfilter.isVisible = true;\n return;\n }\n }\n\n this.activateStandardfilter.isVisible = false;\n }\n onItemClicked(e: any) {\n const objekt = this.objektInfo.getObjektByFullname(e.data.TypeName);\n if (!objekt) {\n return;\n }\n const url = this.objektInfo.getObjektNavigationUrl(objekt.Fullname);\n if (!url) {\n return;\n }\n\n this.location.goTo({\n url: `${url}/${e.data.Id}`,\n currentViewModel: this.form\n });\n }\n\n private addGridColumnsToModel() {\n if (!this.form || !this.form.models) {\n return;\n }\n const model = this.form.models.getInfo(\"$m_Suche\");\n\n if (!model) {\n return;\n }\n\n model.webApiColumns = this.viewTyp == SucheViewTyp.table\n ? [\"Id\", \"ObjektBezeichnung\", \"Bezeichnung\", \"Url\", \"Anlagedatum\", \"TypeName\"]\n : null;\n }\n private reloadIfExists(idObjektList: number[]) {\n if (!idObjektList) {\n return;\n }\n\n const check = (i) => {\n if (!i) {\n return;\n }\n if (!Array.isArray(i)) {\n return;\n }\n\n const exists = i.some(e => idObjektList.indexOf(e[\"Id\"]) >= 0);\n if (!exists) {\n return;\n }\n\n this.form[\"r_share\"].reloadData();\n };\n\n switch (this.viewTyp) {\n case SucheViewTyp.list: {\n const listView: ListView = this.form[\"r_sucheListView\"];\n const items = listView.itemsOptions.items;\n check(items);\n break;\n }\n case SucheViewTyp.table: {\n const grid: IdxDataGridComponent = this.form[\"r_sucheGrid\"];\n const items = grid.instance.getDataSource().items();\n check(items);\n break;\n }\n default: {\n break;\n }\n }\n }\n}\n","import { autoinject, transient, computedFrom } from 'aurelia-framework';\nimport { FormBase } from './../../../../framework/forms/classes/export';\nimport { FileService, BrowserService } from '../../../../framework/base/services/export';\nimport { IZitTagOptions } from '../../../../zit-ui/elements/zit-tag/export';\nimport { ICommandData, PopupInfoService } from '../../../../framework/forms/export';\nimport { EventAggregator } from 'aurelia-event-aggregator';\nimport { DateiAuswaehlen } from '../../../elements/datei-auswaehlen/datei-auswaehlen';\n\n@autoinject\n@transient()\nexport class DokumentVersionInformationUtils {\n constructor(\n private _fileService: FileService,\n private _eventAggregator: EventAggregator,\n private _popupInfoService: PopupInfoService,\n private _browserService: BrowserService,\n ) { }\n\n form: FormBase;\n isMobil: boolean = this._browserService.isMobile;\n\n dokumentVersionTagOptions: IZitTagOptions = {\n icon: {\n faIconExpression: `item.Zustand && item.Zustand.TagSymbol ? item.Zustand.TagSymbol: \"\"`,\n textExpression: `(!item.Zustand || !item.Zustand.TagSymbol)? \"D\": \"\"`\n },\n textExpression: `item.Dateiname \n ? globalization.format(item.Anlagedatum, \"g\") + \" \" + item.Dateiname\n : globalization.format(item.Anlagedatum, \"g\")`,\n tooltipExpression: `item.Zustand && item.Zustand.Bezeichnung ? item.Zustand.Bezeichnung : \"\"`,\n infoList: [\n {\n isVisibleExpression: `item.IsAktuelleVersion`,\n icon: {\n faIcon: \"fas fa-chevron-circle-right\"\n },\n backgroundColor: \"green\"\n }\n ],\n onClick: (e, data) => {\n if (!data.DMSLinkDokument) {\n return;\n }\n\n this._fileService.inline(data.DMSLinkDokument);\n }\n }; \n\n kameraCommand: ICommandData = {\n id: \"kameraCommand\",\n icon: \"fas fa-camera\",\n tooltip: \"dokument-utils.kamera\",\n isVisibleExpression: \"functions.$f_DokumentUtils.isMobil && functions.$f_DokumentUtils.isAddVersionVisible\",\n execute: (args) => {\n this.getDateiAuswaehlen().onMakePhoto();\n }\n };\n videoCommand: ICommandData = {\n id: \"videoCommand\",\n icon: \"fas fa-video\",\n tooltip: \"dokument-utils.video\",\n isVisibleExpression: \"functions.$f_DokumentUtils.isMobil && !models.data.$m_Dokument.Id\",\n execute: (args) => {\n this.getDateiAuswaehlen().onMakeVideo();\n }\n };\n gallerieCommand: ICommandData = {\n id: \"gallerieCommand\",\n icon: \"far fa-image\",\n tooltip: \"dokument-utils.gallerie\",\n isVisibleExpression: \"functions.$f_DokumentUtils.isMobil && functions.$f_DokumentUtils.isAddVersionVisible\",\n execute: (args) => {\n this.getDateiAuswaehlen().onOpenGallery();\n }\n };\n dateiCommand: ICommandData = {\n id: \"dateiCommand\",\n icon: \"far fa-file-alt\",\n tooltip: \"dokument-utils.datei-auswaehlen\",\n isVisibleExpression: \"!functions.$f_DokumentUtils.isMobil && functions.$f_DokumentUtils.isAddVersionVisible\",\n execute: (args) => {\n this.getDateiAuswaehlen().onOpenFiles();\n }\n };\n\n @computedFrom(\"form.variables.data.$v_isReadOnly\", \"form.models.data.$m_Dokument.CanSave\")\n get isAddVersionVisible() {\n if (!this.form) {\n return false;\n }\n\n return this.form.variables.data.$v_isReadOnly === false \n && this.form.models.data.$m_Dokument\n && this.form.models.data.$m_Dokument.Id;\n }\n\n bind(form: FormBase) {\n this.form = form;\n }\n\n async onDateiAusgewaehlt(e: CustomEvent) {\n const file: File = e.detail.files[0];\n const model = this.form.models.data.$m_Dokument;\n\n const dmsLinkDokument = await this._fileService.upload(file);\n if (!dmsLinkDokument) {\n return;\n }\n\n const oldId = model.Id;\n model.Id = 0;\n model.Dateiname = file.name;\n model.DMSLinkDokument = dmsLinkDokument;\n\n const r = await this.form.rest.put({\n url: this.form.rest.getWebApiUrl(\"ZIT/Objekte/DokumentElement\"),\n data: model,\n increaseLoadingCount: true\n });\n\n if (!r || !r.Id) {\n return;\n }\n\n this._eventAggregator.publish(\"dokument:version-changed\", {\n oldId: oldId,\n newId: r.Id\n });\n\n this._popupInfoService.closeCurrentPopup();\n }\n private getDateiAuswaehlen(): DateiAuswaehlen {\n return this.form[\"r_dateiAuswaehlen\"];\n }\n}\n","import { autoinject, transient } from \"aurelia-framework\";\nimport { GlobalizationService } from \"./../../../../framework/base/services/globalization-service\";\nimport { RestService } from \"./../../../../framework/base/services/rest-service\";\nimport { FormBase } from \"./../../../../framework/forms/classes/form-base\";\nimport { ICommandData } from \"./../../../../framework/forms/interfaces/command-data\";\nimport { IZitTagOptions } from \"./../../../../zit-ui/elements/zit-tag/zit-tag-options\";\nimport { ZitMomentValueConverter } from \"./../../../../zit-ui/value-converters/moment-value-converter\";\nimport { Share } from \"./../../../elements/share/share\";\n\n@autoinject\n@transient()\nexport class EventTeilnehmerReadUtils {\n\n constructor(\n private _globalizationService: GlobalizationService,\n private _zitMomentValueConverter: ZitMomentValueConverter,\n private _restService: RestService\n ) { }\n\n form: FormBase;\n\n actionCommand: ICommandData = {\n id: \"actionCommand\",\n icon: \"fas fa-share-alt\",\n tooltip: \"zit.aktionen\",\n sortIndex: 99,\n isVisibleExpression: \"r_share.canShare\",\n execute: (executeOptions) => {\n const share: Share = this.form[\"r_share\"];\n share.showCtxMenu(executeOptions.event);\n }\n };\n\n eventZeitraumTagOptions: IZitTagOptions = {\n isClickEnabled: false,\n textExpression: `item.EventZeitraumBezeichnung`,\n icon: {\n text: \"E\"\n }\n };\n\n startDatumTagOptions: IZitTagOptions = {\n isClickEnabled: false,\n textExpression: \"item._Zeitraum\",\n icon: {\n faIcon: \"far fa-calendar-alt\"\n }\n };\n\n ansprechpersonTagOptions: IZitTagOptions = {\n isClickEnabled: false,\n textExpression: `item.Ansprechperson`,\n icon: {\n faIcon: \"fas fa-user\"\n }\n };\n\n meldenTagOptions: IZitTagOptions = {\n isClickEnabled: false,\n textExpression: `item._Melden`,\n icon: {\n text: \"M\"\n }\n };\n\n ortTagOptions: IZitTagOptions = {\n isClickEnabled: false,\n textExpression: `item._MeldenOrt`,\n icon: {\n faIcon: \"fas fa-map-marker-alt\"\n }\n };\n\n geschaeftspartnerTagOptions: IZitTagOptions = {\n isClickEnabled: false,\n textExpression: `item.GeschaeftspartnerName1`,\n icon: {\n text: \"G\"\n }\n };\n\n geschaeftspartnerSchuleTagOptions: IZitTagOptions = {\n isClickEnabled: false,\n textExpression: `item.GeschaeftspartnerSchuleName1`,\n icon: {\n text: \"G\"\n }\n };\n\n bewerbungTagOptions: IZitTagOptions = {\n isClickEnabled: false,\n textExpression: `item.BewerbungBezeichnung`,\n icon: {\n text: \"B\"\n }\n };\n\n stelleninseratTagOptions: IZitTagOptions = {\n isClickEnabled: false,\n textExpression: `item.StelleninseratBezeichnung`,\n icon: {\n text: \"S\"\n }\n };\n\n terminDownloadTagOptions: IZitTagOptions = {\n isClickEnabled: true,\n cssClass: \"z--tag z--download-button\",\n icon: {\n faIcon: \"far fa-calendar-alt\"\n },\n text: \"Event in Kalender eintragen\",\n onClick: () => {\n this.downloadEventICSFile();\n }\n };\n\n bind(form) {\n this.form = form;\n }\n\n private async downloadEventICSFile() {\n window.open(this.getICSFileDownloadUrl(this.form.models.data.$m_EventTeilnehmer.WebsiteKey), \"_self\");\n }\n\n private getICSFileDownloadUrl(key: string): string {\n return `${this._restService.getApiUrl(\"ZIT/WebsiteTermin/ICSFile\")}?key=${key}`;\n }\n}\n","import { LocalizationService } from \"./../../framework/base/services/localization-service\";\nimport { ValidationService } from \"./../../framework/forms/services/validation-service\";\nimport { autoinject } from \"aurelia-framework\";\n\n@autoinject\nexport class ValidationExService {\n constructor(\n private localization: LocalizationService,\n private validation: ValidationService\n ) {\n this.registerTelefon();\n }\n\n private registerTelefon() {\n this.validation.registerValidator(\"telefon\", (scopeContainer, caption, parameters) => {\n return {\n type: \"custom\",\n message: this.localization.translateOnce(\n \"forms.validator_telefon\",\n [this.localization.translateOnce(caption)]),\n validationCallback: (e) => {\n if(!e.value){\n return true;\n }\n \n const val: string = e.value;\n const isValid = /^[0-9 ]{4,}$/.test(val);\n \n return isValid;\n }\n };\n });\n }\n}\n","import { autoinject, transient } from 'aurelia-framework';\nimport { FormBase } from '../../../../framework/forms/form-export';\nimport { Share } from '../../../elements/share/share';\nimport { ICommandData } from '../../../../framework/forms/export';\n\n@autoinject\n@transient()\nexport class BewerbungReadUtils {\n constructor(\n ) { }\n\n form: FormBase;\n \n actionCommand: ICommandData = {\n id: \"actionCommand\",\n icon: \"fas fa-share-alt\",\n tooltip: \"zit.aktionen\",\n sortIndex: 99,\n isVisibleExpression: \"r_share.canShare\",\n execute: (executeOptions) => {\n const share: Share = this.form[\"r_share\"];\n share.showCtxMenu(executeOptions.event);\n }\n };\n\n bind(form: FormBase) {\n this.form = form;\n }\n}\n","import { \n Aurelia,\n PLATFORM\n} from \"aurelia-framework\"\nimport { \n AuthorizationService \n} from \"./framework/base/services/authorization-service\";\nimport {\n ModuleLoader\n} from \"./framework-data/modules\";\nimport environment from \"./environment\";\nimport \"whatwg-fetch\";\nimport \"../resources/grid.less\";\nimport \"../node_modules/@fortawesome/fontawesome-free/css/all.min.css\";\nimport * as Bluebird from \"bluebird\";\nimport { AlertService } from './framework/base/services/alert-service';\nimport { SettingService } from './framework/forms/export';\n\nBluebird.config({ \n longStackTraces: false,\n warnings: { wForgottenReturn: false }\n});\n\nexport function configure(aurelia: Aurelia) {\n aurelia.use\n .basicConfiguration()\n .feature(PLATFORM.moduleName(\"framework/base/index\"))\n .feature(PLATFORM.moduleName(\"framework/dx/index\"))\n .feature(PLATFORM.moduleName(\"framework/forms/index\"))\n .feature(PLATFORM.moduleName(\"framework/security/index\"))\n .feature(PLATFORM.moduleName(\"zit-ui/index\"))\n .feature(PLATFORM.moduleName(\"zit/index\"));\n\n if (environment.debug) {\n aurelia.use.developmentLogging();\n }\n\n const moduleLoader = new ModuleLoader();\n\n return aurelia.start().then(() => {\n\n const alertService: AlertService = aurelia.container.get(AlertService);\n \n const settingService: SettingService = aurelia.container.get(SettingService);\n settingService.instance.IsLabelBeforeEditor = false;\n\n const authorization: AuthorizationService = aurelia.container.get(AuthorizationService);\n authorization.openApp();\n\n return Promise.resolve();\n });\n}\n","import { IBenutzerAccountSperrenData } from './../interfaces/benutzeraccount-sperren-data';\nimport { autoinject } from 'aurelia-framework';\nimport { RestService } from '../../framework/base/export';\nimport {\n IBenutzereinstellungData,\n ILoeschenBenutzerData,\n IPasswortAendernData,\n IBenutzerAccountAktivierenData\n} from '../interfaces/export';\nimport { StartupService } from './startup-service';\nimport { EventAggregator } from 'aurelia-event-aggregator';\n\n@autoinject\nexport class BenutzereinstellungenService {\n constructor(\n private _restService: RestService,\n private _startupService: StartupService,\n private _eventAggregator: EventAggregator\n ) { }\n\n benutzereinstellungenData: IBenutzereinstellungData\n\n vorbereitetAccountList(idBenutzerList: number[]): Promise {\n if (!idBenutzerList || !idBenutzerList.length) {\n return;\n }\n\n return this._restService.post({\n url: this._restService.getApiUrl(\"ZIT/Security/BenutzeraccountListVorbereitet\"),\n data: { IdBenutzerList: idBenutzerList },\n increaseLoadingCount: true\n });\n }\n activateAccountList(dataList: IBenutzerAccountAktivierenData[]): Promise {\n if (!dataList || !dataList.length) {\n return;\n }\n\n return this._restService.post({\n url: this._restService.getApiUrl(\"ZIT/Security/BenutzeraccountListAktivieren\"),\n data: { ModelList: dataList },\n increaseLoadingCount: true\n });\n }\n\n lockAccount(data: IBenutzerAccountSperrenData): Promise {\n if (!data) {\n return;\n }\n\n return this._restService.post({\n url: this._restService.getApiUrl(\"ZIT/Security/BenutzerSperren\"),\n data: data,\n increaseLoadingCount: true\n });\n }\n\n changePasswort(data: IPasswortAendernData): Promise {\n return this._restService.post({\n url: this._restService.getApiUrl(\"base/Authorization/ChangePassword\"),\n data: data,\n increaseLoadingCount: true\n });\n }\n\n saveWillkommensseiteGelesen(isDeaktiviert: boolean): Promise {\n return this._restService.post({\n url: this._restService.getApiUrl(\"ZIT/Security/WillkommensseiteGelesen\"),\n data: {\n IsWillkommensseiteDeaktiviert: isDeaktiviert\n }\n }).then(r => {\n this.loadBenutzereinstellungen();\n });\n }\n deleteBenutzer(data: ILoeschenBenutzerData): Promise {\n return this._restService.post({\n url: this._restService.getApiUrl(\"ZIT/Security/BenutzerLoeschen\"),\n data: data,\n increaseLoadingCount: true\n });\n }\n\n loadBenutzereinstellungen(): Promise {\n return this._restService.get({\n url: this._restService.getApiUrl(\"ZIT/Security/Benutzereinstellungen\")\n }).then((r): IBenutzereinstellungData => {\n this.benutzereinstellungenData = r;\n return r;\n });\n }\n async saveBenutzereinstellungen(data: IBenutzereinstellungData): Promise {\n const r = await this._restService.post({\n url: this._restService.getApiUrl(\"ZIT/Security/Benutzereinstellungen\"),\n data: data,\n increaseLoadingCount: true\n });\n \n if (!r) {\n return;\n }\n\n this.benutzereinstellungenData = data;\n \n this._startupService.startupInfo.Benutzer.DMSLinkAvatar = data.DMSLinkAvatar;\n this._eventAggregator.publish(\"avatar:update\", {});\n\n return this.benutzereinstellungenData;\n }\n}\n","import {\n autoinject,\n Scope\n} from \"aurelia-framework\";\nimport {\n ICommandData\n} from \"../interfaces/export\";\nimport {\n BindingService\n} from \"../../base/services/export\";\nimport { IItemExecuteOptions } from \"../elements/toolbar/item-execute-options\";\n\n@autoinject\nexport class CommandService {\n private isCommandExecuting = false;\n\n constructor(\n private binding: BindingService\n ) { }\n\n isVisible(command: ICommandData): boolean {\n if (command.isVisible != undefined) {\n return command.isVisible;\n } else if (command.isVisibleExpression) {\n return this.binding.evaluate(command.expressionScope, command.isVisibleExpression);\n }\n\n return true;\n }\n isEnabled(command: ICommandData): boolean {\n if (command.isEnabled != undefined) {\n return command.isEnabled;\n } else if (command.isEnabledExpression) {\n return this.binding.evaluate(command.expressionScope, command.isEnabledExpression);\n }\n\n return true;\n }\n isVisibleAndEnabled(command: ICommandData): boolean {\n return this.isVisible(command)\n && this.isEnabled(command);\n }\n\n execute(scope: Scope, command: ICommandData, options: IItemExecuteOptions): boolean {\n if (this.isCommandExecuting) {\n return;\n }\n\n if (!this.isVisibleAndEnabled(command)) {\n return false;\n }\n if (!command.execute) {\n return false;\n }\n\n this.isCommandExecuting = true;\n const result = command.execute.bind(scope.bindingContext)(options);\n\n if (result && result.then && result.catch) {\n result\n .catch(() => {\n })\n .then(() => {\n this.isCommandExecuting = false;\n });\n } else {\n this.isCommandExecuting = false;\n }\n return true;\n }\n}\n","export enum PersonDossierTyp {\n Person = 0,\n Bewerber = 1,\n DispoPlanstellePersonenzuteilung = 2,\n DispoPlanstelle = 3\n}\n","import { GlobalizationService } from \"./../../../../framework/base/services/globalization-service\";\nimport { computedFrom, transient } from \"aurelia-framework\";\nimport { autoinject } from \"../../../../framework/forms/form-export\";\nimport { JsonService } from \"./../../../../framework/base/services/json-service\";\nimport { LocalizationService } from \"./../../../../framework/base/services/localization-service\";\nimport { ContextMenu } from \"./../../../../framework/forms/classes/context-menu\";\nimport { FormBase } from \"./../../../../framework/forms/classes/form-base\";\nimport { ICommandData } from \"./../../../../framework/forms/interfaces/command-data\";\nimport { IZitToolbarOptions } from \"./../../../../zit-ui/elements/zit-toolbar/zit-toolbar-options\";\nimport { Datei } from \"./../../../elements/datei/datei\";\nimport { DokumentListView } from \"./../../../elements/dokument-list-view/dokument-list-view\";\nimport { ErweiterteSuche } from \"./../../../elements/erweiterte-suche/erweiterte-suche\";\nimport { Share } from \"./../../../elements/share/share\";\nimport { AnsprechpersonService } from \"./../../../services/ansprechperson-service\";\n\n@autoinject\n@transient()\nexport class EventZeitraumEditUtils {\n private NOTIFY_TIMEOUT: number = 3000;\n\n constructor(\n private _jsonService: JsonService,\n private _localizationService: LocalizationService,\n private _ansprechpersonService: AnsprechpersonService,\n private _globalizationService: GlobalizationService) {\n }\n\n form: FormBase;\n erweiterteSucheWertQuery: any;\n meldenBeiDataSource: string[];\n\n startUhrzeitValidationRule: DevExpress.ui.CustomRule = {\n type: \"custom\",\n reevaluate: true,\n validationCallback: (e) => {\n if (!this.form.models.data.$m_EventZeitraum || !this.form.models.data.$m_Event) {\n return true;\n }\n if (!this.form.models.data.$m_EventZeitraum.Kopf.StartUhrzeit && !this.form.models.data.$m_Event.Kopf.StartUhrzeit) {\n return false;\n }\n return true;\n }\n };\n endeDatumValidationRule: DevExpress.ui.CustomRule = {\n type: \"custom\",\n reevaluate: true,\n validationCallback: (e) => {\n if (!this.form.models.data.$m_EventZeitraum ) {\n return true;\n }\n if (!this.form.models.data.$m_EventZeitraum.Kopf.StartDatum || !this.form.models.data.$m_EventZeitraum.Kopf.EndeDatum) {\n return true;\n }\n \n const start = this.form.models.data.$m_EventZeitraum.Kopf.StartDatum.getTime(); \n const ende = this.form.models.data.$m_EventZeitraum.Kopf.EndeDatum.getTime();\n \n if (start > ende) {\n e.rule.message = \"Ende-Datum darf nicht vor Start-Datum liegen\";\n return false;\n }\n \n return true;\n }\n };\n endeUhrzeitValidationRule: DevExpress.ui.CustomRule = {\n type: \"custom\",\n reevaluate: true,\n validationCallback: (e) => {\n if (!this.form.models.data.$m_EventZeitraum || !this.form.models.data.$m_Event) {\n return true;\n }\n if (!this.form.models.data.$m_EventZeitraum.Kopf.EndeUhrzeit && !this.form.models.data.$m_Event.Kopf.EndeUhrzeit) {\n return false;\n }\n return true;\n }\n };\n anmeldeschlussDatumValidationRule: DevExpress.ui.CustomRule = {\n type: \"custom\",\n reevaluate: true,\n message: \"Datum und Uhrzeit müssen entweder beide befüllt oder leer sein\",\n validationCallback: (e) => {\n if (!this.form.models.data.$m_EventZeitraum) {\n return true;\n }\n \n const isInvalid = !this.form.models.data.$m_EventZeitraum.Kopf.AnmeldeschlussDatum \n && this.form.models.data.$m_EventZeitraum.Kopf.AnmeldeschlussUhrzeit\n\n return !isInvalid;\n }\n };\n anmeldeschlussUhrzeitValidationRule: DevExpress.ui.CustomRule = {\n type: \"custom\",\n reevaluate: true,\n message: \"Datum und Uhrzeit müssen entweder beide befüllt oder leer sein\",\n validationCallback: (e) => {\n if (!this.form.models.data.$m_EventZeitraum) {\n return true;\n }\n \n const isInvalid = !this.form.models.data.$m_EventZeitraum.Kopf.AnmeldeschlussUhrzeit \n && this.form.models.data.$m_EventZeitraum.Kopf.AnmeldeschlussDatum;\n \n return !isInvalid;\n }\n };\n kontingentValidationRule: DevExpress.ui.CustomRule = {\n type: \"custom\",\n reevaluate: true,\n message: \"Bei Zeiträumen, die länger als eine Woche dauern, darf kein Kontingent angegeben werden\",\n validationCallback: (e) => {\n const zeitraum = this.form.models.data.$m_EventZeitraum?.Kopf;\n if (!zeitraum) return true;\n if (zeitraum.KontingentGesamt == void 0) return true;\n if (!zeitraum.StartDatum || !zeitraum.EndeDatum) return true;\n\n const days = (zeitraum.EndeDatum.getTime() - zeitraum.StartDatum.getTime()) / (1000 * 60 * 60 * 24);\n if (days <= 7) return true;\n \n return false;\n }\n }\n\n nullableBoolRadioDataSource = [\n {\n text: \"lt. Event\",\n value: null\n }, {\n text: \"anzeigen\",\n value: true\n }, {\n text: \"nicht anzeigen\",\n value: false\n }];\n\n veroeffentlichungRadioDataSource = [\n {\n text: \"lt. Event\",\n value: null\n }, {\n text: \"direkte Teilnehmerzuteilung\",\n value: 0\n }, {\n text: \"Veröffentlichung\",\n value: 1\n }];\n\n veroeffentlichungRadioGroupOptions: DevExpress.ui.dxRadioGroupOptions = {\n layout: \"horizontal\",\n valueExpr: \"value\",\n displayExpr: \"text\",\n dataSource: this.veroeffentlichungRadioDataSource,\n bindingOptions: {\n value: \"models.data.$m_EventZeitraum.Kopf.Veroeffentlichung\",\n readOnly: \"$f_EventZeitraumEditUtils.isTypAuswahlEnabled\"\n }\n };\n checkBoxInSchnupperterminmaskeAnzeigenRadioGroupOptions: DevExpress.ui.dxRadioGroupOptions = {\n layout: \"horizontal\",\n valueExpr: \"value\",\n displayExpr: \"text\",\n dataSource: this.nullableBoolRadioDataSource,\n bindingOptions: {\n value: \"models.data.$m_EventZeitraum.Kopf.InSchnupperterminmaskeAnzeigen\"\n }\n };\n checkBoxWebserviceTerminabfrageRadioGroupOptions: DevExpress.ui.dxRadioGroupOptions = {\n layout: \"horizontal\",\n valueExpr: \"value\",\n displayExpr: \"text\",\n dataSource: this.nullableBoolRadioDataSource,\n bindingOptions: {\n value: \"models.data.$m_EventZeitraum.Kopf.WebserviceTerminabfrage\"\n }\n };\n checkBoxBewerbungformularSchnupperterminauswahlRadioGroupOptions: DevExpress.ui.dxRadioGroupOptions = {\n layout: \"horizontal\",\n valueExpr: \"value\",\n displayExpr: \"text\",\n dataSource: this.nullableBoolRadioDataSource,\n bindingOptions: {\n value: \"models.data.$m_EventZeitraum.Kopf.BewerbungsformularSchnupperterminauswahl\"\n }\n };\n checkBoxOrtFuerSchnuppernNachVereinbarungRadioGroupOptions: DevExpress.ui.dxRadioGroupOptions = {\n layout: \"horizontal\",\n valueExpr: \"value\",\n displayExpr: \"text\",\n dataSource: this.nullableBoolRadioDataSource,\n bindingOptions: {\n value: \"models.data.$m_EventZeitraum.Kopf.OrtFuerSchnuppernNachVereinbarung\"\n }\n };\n\n actionCommand: ICommandData = {\n id: \"actionCommand\",\n icon: \"fas fa-share-alt\",\n tooltip: \"zit.aktionen\",\n sortIndex: 99,\n isVisibleExpression: \"r_share.canShare\",\n execute: (executeOptions) => {\n const share: Share = this.form[\"r_share\"];\n share.showCtxMenu(executeOptions.event);\n }\n };\n\n filterButtonOptions: DevExpress.ui.dxButtonOptions = {\n icon: \"fas fa-filter\",\n elementAttr: {\n class: \"z--button z--button-round\"\n },\n onClick: () => {\n this.getErweiterteSuche()\n .showPopup();\n }\n };\n\n filterErweitertButtonOptions: DevExpress.ui.dxButtonOptions = {\n icon: \"fas fa-caret-down\",\n elementAttr: {\n class: \"z--button z--button-no-round\"\n },\n onClick: (e) => {\n this.showErweiterteSucheContextMenu(e.event);\n }\n };\n\n meldenBeiSelectBoxOptions: DevExpress.ui.dxSelectBoxOptions = {\n acceptCustomValue: true,\n bindingOptions: {\n value: \"models.data.$m_EventZeitraum.Kopf.MeldenBei\",\n dataSource: \"functions.$f_EventZeitraumEditUtils.meldenBeiDataSource\",\n placeholder: \"models.data.$m_Event.Kopf.MeldenBei\"\n }\n };\n\n dokumentToolbarOptions: IZitToolbarOptions = {\n title: \"event.dokument-toolbar-titel\",\n smallToolbar: true,\n items: [{\n id: \"showDokumentToolbarOptionen\",\n icon: \"fas fa-plus\",\n execute: async (e) => {\n if (!this.form.models.data.$m_Event.Id) {\n await this.form.save();\n }\n\n const ctxMenu = new ContextMenu();\n\n if (this.form[\"r_dokumentElement\"]) {\n ctxMenu.items = [{\n text: this._localizationService.translateOnce(\"event.dokument-toolbar-item-info-dokument\"),\n execute: () => {\n const dokumentListView: DokumentListView = this.form[\"r_dokumentElement\"];\n dokumentListView.onDokumentAddClicked();\n }\n }, {\n text: this._localizationService.translateOnce(\"event.dokument-toolbar-item-dokument-erstellen\"),\n execute: () => {\n const share: Share = this.form[\"r_share\"];\n share.dokumentLautVorlageErstellen.showPopup(\n [this.form.models.data.$m_EventZeitraum.Id],\n \"TIP.ZIT.Business.Entities.Objekte.Events.EventZeitraum\");\n }\n }];\n } else if (this.form[\"r_dateien\"]) {\n ctxMenu.items = [{\n text: this._localizationService.translateOnce(\"event.dokument-toolbar-item-info-dokumente\"),\n execute: () => {\n setTimeout(() => {\n const datei: Datei = this.form[\"r_dateien\"];\n datei.onDokumentClick();\n }, 0);\n }\n }, {\n text: this._localizationService.translateOnce(\"event.dokument-toolbar-item-info-bilder\"),\n execute: () => {\n setTimeout(() => {\n const datei: Datei = this.form[\"r_dateien\"];\n datei.onCameraClick();\n }, 0);\n }\n }, {\n text: this._localizationService.translateOnce(\"event.dokument-toolbar-item-info-videos\"),\n execute: () => {\n setTimeout(() => {\n const datei: Datei = this.form[\"r_dateien\"];\n datei.onVideoClick();\n }, 0);\n }\n }, {\n text: this._localizationService.translateOnce(\"event.dokument-toolbar-item-info-galerie\"),\n execute: async () => {\n const r = await this.form.saveIfDirty();\n if (!r.isValid) {\n return;\n }\n\n const datei: Datei = this.form[\"r_dateien\"];\n datei.onAddToGalerieClick(() => {\n this.form.save();\n });\n }\n }];\n }\n\n ctxMenu.show(event.target);\n }\n }]\n };\n\n @computedFrom(\"erweiterteSucheWertQuery\")\n get isTypAuswahlEnabled(): boolean {\n return this.erweiterteSucheWertQuery\n && this.erweiterteSucheWertQuery.length > 0;\n }\n\n onExecuteSucheErweitert(event: any): void {\n this.erweiterteSucheWertQuery = event.detail.wertQueryList;\n }\n\n onStartDatumChanged() {\n const model = this.form.models.data.$m_EventZeitraum;\n\n if (!model || !model.Kopf || model.Kopf.EndeDatum) {\n return;\n }\n\n model.Kopf.EndeDatum = model.Kopf.StartDatum;\n }\n\n onStelleninseratBezeichnungCellPrepared(e) {\n if (e.rowType != \"data\") {\n return;\n }\n\n const cell = e.cellElement;\n cell.textContent = e.data.Stelleninserat.StellenbezeichnungIntern || e.data.Stelleninserat.StellenbezeichnungExtern;\n }\n\n getRequiredValidationRule(bindTo: string, name: string) {\n return {\n type: \"custom\",\n message: `${name} ist ein Pflichtfeld`,\n reevaluate: true,\n validationCallback: (ev) => {\n if (ev.value) return true;\n\n const eventTyp = this.form.models.data.$m_EventTyp;\n if (eventTyp?.Code != \"SCHNUPPERTERMIN_DETAILS\") return true;\n \n const eventKopf = this.form.models.data.$m_Event.Kopf;\n if (!eventKopf) return true;\n \n const eventValue = eventKopf[bindTo];\n if (eventValue) return true;\n\n return false;\n }\n }\n };\n\n bind(form: FormBase): void {\n this.form = form;\n form.models.onLoaded.register((args) => {\n if (args.model.id == \"$m_EventZeitraum\" && args.data) {\n if (args.data.Kopf) {\n if (args.data.Kopf.VeroeffentlichenFilter && args.data.Kopf.VeroeffentlichenFilter.length > 0) {\n this.erweiterteSucheWertQuery = this._jsonService.parse(args.data.Kopf.VeroeffentlichenFilter);\n\n this.getErweiterteSuche()\n .loadFilter(this.erweiterteSucheWertQuery);\n }\n }\n }\n if (args.model.id == \"$m_Event\" && args.data) {\n if (args.data.Kopf) {\n form[\"r_meldenUm\"].instance.option(\n \"placeholder\",\n this._globalizationService.format(args.data.Kopf.MeldenUm, \"t\"));\n \n form[\"r_startUhrzeit\"].instance.option(\n \"placeholder\",\n this._globalizationService.format(args.data.Kopf.StartUhrzeit, \"t\"));\n \n form[\"r_endeUhrzeit\"].instance.option(\n \"placeholder\",\n this._globalizationService.format(args.data.Kopf.EndeUhrzeit, \"t\"));\n\n if (args.data.Kopf.IdGeschaeftspartner) {\n this.setMeldenBeiDataSource(args.data.Kopf.IdGeschaeftspartner);\n } else if (args.data.Kopf.IdGeschaeftspartnerSchule) {\n this.setMeldenBeiDataSource(args.data.Kopf.IdGeschaeftspartnerSchule);\n }\n }\n }\n return Promise.resolve();\n });\n form.callOnBind(() => {\n form[\"r_betreffOptions\"].bindingOptions.placeholder = \"models.data.$m_Event.Kopf.Betreff\";\n form[\"r_ortOptions\"].bindingOptions.placeholder = \"models.data.$m_Event.Kopf.Ort\";\n form[\"r_standardDauerOptions\"].bindingOptions.placeholder = \"models.data.$m_Event.Kopf.Standarddauer\";\n form[\"r_minimalDauerOptions\"].bindingOptions.placeholder = \"models.data.$m_Event.Kopf.Mindestdauer\";\n form[\"r_maximalDauerOptions\"].bindingOptions.placeholder = \"models.data.$m_Event.Kopf.Maximaldauer\";\n form[\"r_bezeichnungInternOptions\"].bindingOptions.placeholder = \"models.data.$m_Event.Kopf.BezeichnungIntern\";\n });\n form.onSaving.register((args) => {\n args.form.models.data.$m_EventZeitraum.Kopf.VeroeffentlichenFilter = this.erweiterteSucheWertQuery\n ? this._jsonService.stringify(this.erweiterteSucheWertQuery)\n : null;\n\n return Promise.resolve();\n });\n }\n\n private getErweiterteSuche(): ErweiterteSuche {\n return this.form[\"r_erweiterteSuche\"];\n }\n private showErweiterteSucheContextMenu(event): void {\n this.getErweiterteSuche()\n .showVorlageContextMenu(event, true);\n }\n\n private async setMeldenBeiDataSource(id: number) {\n const ansprechpersonList = await this._ansprechpersonService\n .loadAnsprechpersonByGeschaeftspartner(id, [\"Name\"]);\n\n this.meldenBeiDataSource = ansprechpersonList.map((c) => c.Name);\n }\n}\n","export enum GrundTyp {\n BenutzerprofilLoeschen = 0,\n ObjektstatusSetzen = 1\n}\n","import { autoinject } from \"aurelia-framework\";\nimport { CustomEvent } from \"../classes/custom-event\";\nimport { EventAggregator } from 'aurelia-event-aggregator';\n\n@autoinject\nexport class WindowService {\n constructor(\n private eventAggregator: EventAggregator\n ) {\n this.registerEvents();\n }\n\n blurCurrentElement() {\n if (!document.activeElement) {\n return;\n }\n\n const activeElement = (document.activeElement);\n if (!activeElement.blur) {\n return;\n }\n\n activeElement.blur();\n }\n\n private registerEvents() {\n window.addEventListener(\"resize\", () => {\n this.eventAggregator.publish(\"window:resize\", {});\n });\n window.addEventListener(\"visibilitychange\", () => {\n if (!document.hidden) {\n this.eventAggregator.publish(\"window:activated\", {});\n }\n })\n }\n}\n","declare var require: any;\n\nvar DevExpress = require(\"devextreme/bundles/modules/core\");\n\nrequire(\"devextreme/events/click\");\nrequire(\"devextreme/events/contextmenu\");\nrequire(\"devextreme/events/double_click\");\nrequire(\"devextreme/events/drag\");\nrequire(\"devextreme/events/hold\");\nrequire(\"devextreme/events/hover\");\nrequire(\"devextreme/events/pointer\");\nrequire(\"devextreme/events/swipe\");\nrequire(\"devextreme/events/transform\");\n\nconst result: any = {};\n\nresult.data = DevExpress.data = require(\"devextreme/bundles/modules/data\");\nresult.ui = DevExpress.ui = require(\"devextreme/bundles/modules/ui\");\nresult.themes = require(\"devextreme/ui/themes\");\nresult.setTemplateEngine = require(\"devextreme/ui/set_template_engine\");\nresult.dialog = require(\"devextreme/ui/dialog\");\nresult.notify = require(\"devextreme/ui/notify\");\n\nDevExpress.ui.dialog = result.dialog;\nDevExpress.ui.notify = result.notify;\n\nDevExpress.integration = {\n date: require(\"devextreme/localization/date\")\n};\n\n\n/* Base widgets (dx.module-widgets-base.js) */\nresult.dxActionSheet = require(\"devextreme/ui/action_sheet\");\nresult.dxAutocomplete = require(\"devextreme/ui/autocomplete\");\nresult.dxBox = require(\"devextreme/ui/box\");\nresult.dxButton = require(\"devextreme/ui/button\");\nresult.dxCalendar = require(\"devextreme/ui/calendar\");\nresult.dxCheckBox = require(\"devextreme/ui/check_box\");\nresult.dxColorBox = require(\"devextreme/ui/color_box\");\nresult.dxDateBox = require(\"devextreme/ui/date_box\");\nresult.dxDeferRendering = require(\"devextreme/ui/defer_rendering\");\nresult.dxDropDownMenu = require(\"devextreme/ui/drop_down_menu\");\nresult.dxFileUploader = require(\"devextreme/ui/file_uploader\");\nresult.dxFilterBuilder = require(\"devextreme/ui/filter_builder\");\nresult.dxForm = require(\"devextreme/ui/form\");\nresult.dxGallery = require(\"devextreme/ui/gallery\");\nresult.dxHtmlEditor = require(\"devextreme/ui/html_editor\");\nresult.dxList = require(\"devextreme/ui/list\");\nresult.dxLoadIndicator = require(\"devextreme/ui/load_indicator\");\nresult.dxLoadPanel = require(\"devextreme/ui/load_panel\");\nresult.dxLookup = require(\"devextreme/ui/lookup\");\nresult.dxMap = require(\"devextreme/ui/map\");\nresult.dxMultiView = require(\"devextreme/ui/multi_view\");\nresult.dxNavBar = require(\"devextreme/ui/nav_bar\");\nresult.dxNumberBox = require(\"devextreme/ui/number_box\");\nresult.dxOverlay = require(\"devextreme/ui/overlay\");\nresult.dxPopover = require(\"devextreme/ui/popover\");\nresult.dxPopup = require(\"devextreme/ui/popup\");\nresult.dxProgressBar = require(\"devextreme/ui/progress_bar\");\nresult.dxRadioGroup = require(\"devextreme/ui/radio_group\");\nresult.dxRangeSlider = require(\"devextreme/ui/range_slider\");\nresult.dxResizable = require(\"devextreme/ui/resizable\");\nresult.dxResponsiveBox = require(\"devextreme/ui/responsive_box\");\nresult.dxScrollView = require(\"devextreme/ui/scroll_view\");\nresult.dxSelectBox = require(\"devextreme/ui/select_box\");\nresult.dxSlider = require(\"devextreme/ui/slider\");\nresult.dxSwitch = require(\"devextreme/ui/switch\");\nresult.dxTabPanel = require(\"devextreme/ui/tab_panel\");\nresult.dxTabs = require(\"devextreme/ui/tabs\");\nresult.dxTagBox = require(\"devextreme/ui/tag_box\");\nresult.dxTextArea = require(\"devextreme/ui/text_area\");\nresult.dxTextBox = require(\"devextreme/ui/text_box\");\nresult.dxDropDownBox = require(\"devextreme/ui/drop_down_box\");\nresult.dxTileView = require(\"devextreme/ui/tile_view\");\nresult.dxToast = require(\"devextreme/ui/toast\");\nresult.dxToolbar = require(\"devextreme/ui/toolbar\");\nresult.dxTooltip = require(\"devextreme/ui/tooltip\");\nresult.dxTrackBar = require(\"devextreme/ui/track_bar\");\n\n/* Validation (dx.module-widgets-base.js) */\nDevExpress.validationEngine = require(\"devextreme/ui/validation_engine\");\nresult.dxValidationSummary = require(\"devextreme/ui/validation_summary\");\nresult.dxValidationGroup = require(\"devextreme/ui/validation_group\");\nresult.dxValidator = require(\"devextreme/ui/validator\");\n\n/* Web widgets (dx.module-widgets-web.js) */\nresult.dxAccordion = require(\"devextreme/ui/accordion\");\nresult.dxContextMenu = require(\"devextreme/ui/context_menu\");\nresult.dxDataGrid = require(\"devextreme/ui/data_grid\");\nresult.dxMenu = require(\"devextreme/ui/menu\");\nresult.dxPivotGrid = require(\"devextreme/ui/pivot_grid\");\nresult.dxPivotGridFieldChooser = require(\"devextreme/ui/pivot_grid_field_chooser\");\nresult.PivotGridDataSource = require(\"devextreme/ui/pivot_grid/data_source\");\nresult.XmlaStore = require(\"devextreme/ui/pivot_grid/xmla_store\");\nresult.dxScheduler = require(\"devextreme/ui/scheduler\");\nresult.dxTreeView = require(\"devextreme/ui/tree_view\");\nresult.dxTreeList = require(\"devextreme/ui/tree_list\");\n\n/* Viz core (dx.module-viz-core.js) */\nresult.viz = DevExpress.viz = require(\"devextreme/bundles/modules/viz\");\nresult.currentTheme = require(\"devextreme/viz/themes\").currentTheme;\nresult.registerTheme = require(\"devextreme/viz/themes\").registerTheme;\nresult.exportFromMarkup = require(\"devextreme/viz/export\").exportFromMarkup;\nresult.currentPalette = require(\"devextreme/viz/palette\").currentPalette;\nresult.getPalette = require(\"devextreme/viz/palette\").getPalette;\nresult.registerPalette = require(\"devextreme/viz/palette\").registerPalette;\n\n/* Charts (dx.module-viz-charts.js) */\nresult.dxChart = require(\"devextreme/viz/chart\");\nresult.dxPieChart = require(\"devextreme/viz/pie_chart\");\nresult.dxPolarChart = require(\"devextreme/viz/polar_chart\");\nresult.dxLinearGauge = require(\"devextreme/viz/linear_gauge\");\nresult.dxCircularGauge = require(\"devextreme/viz/circular_gauge\");\nresult.dxFunnel = require(\"devextreme/viz/funnel\");\nresult.dxBarGauge = require(\"devextreme/viz/bar_gauge\");\n\n/* Range selector (dx.module-viz-rangeselector.js) */\nresult.dxRangeSelector = require(\"devextreme/viz/range_selector\");\n\n/* Vector map (dx.module-viz-vectormap.js) */\nresult.dxVectorMap = require(\"devextreme/viz/vector_map\");\nresult.map = {};\nresult.map.sources = {};\nresult.map.projection = require(\"devextreme/viz/vector_map/projection\").projection;\n\n/* Sparklines (dx.module-viz-sparklines.js) */\nresult.dxSparkline = require(\"devextreme/viz/sparkline\");\nresult.dxBullet = require(\"devextreme/viz/bullet\");\n\nexport function initialize() {\n const r = result;\n}\nexport function createInstance(widget, element, options): any {\n element = getElement(element);\n if (!element) {\n throw new Error(\"No element specified\");\n }\n\n return new result[widget](element, options);\n}\nexport function exists(widget): boolean {\n return !!result[widget];\n}\nexport function getInstance(widget, element): any {\n element = getElement(element);\n if (element == null) {\n return null;\n }\n\n return result[widget].getInstance(element);\n}\nexport function getDefinition(widget): any {\n return result[widget];\n}\n\nfunction getElement(element): Element {\n if (element.jquery) {\n if (element.length === 0) {\n return null;\n }\n\n element = element.get(0);\n }\n\n return element;\n}\n","import { autoinject } from 'aurelia-framework';\nimport { Setting } from '../interfaces/setting';\n\n@autoinject\nexport class SettingService {\n constructor() {\n this.instance = {\n IsLabelBeforeEditor: true\n };\n }\n\n instance: Setting;\n}\n","import {\n autoinject,\n singleton\n} from \"aurelia-framework\";\nimport {\n FormBase\n} from \"../classes/form-base\";\nimport * as Interfaces from \"../interfaces/export\";\n\n@autoinject\n@singleton(true)\nexport class Variables {\n private form: FormBase;\n private info: any;\n\n constructor() {\n this.data = {};\n this.info = {};\n }\n\n data: any;\n\n addInfo(variable: Interfaces.IVariable) {\n this.info[variable.id] = variable;\n this.checkNestedFormMapping(variable);\n }\n getInfo(id: string): Interfaces.IVariable {\n return this.info[id];\n }\n registerForm(form: FormBase) {\n if (this.form) {\n throw new Error(\"Form was already registered\");\n }\n\n this.form = form;\n }\n reset() {\n for (let key in this.data) {\n this.data[key] = null;\n }\n }\n\n dispose() {\n }\n\n private checkNestedFormMapping(variable: Interfaces.IVariable) {\n if (!this.form.isNestedForm) {\n return;\n }\n\n const id = this.form.element.getAttribute(\"view-model.ref\");\n if (!id) {\n return;\n }\n\n const info = this.form.parent.nestedForms.getInfo(id);\n if (!info) {\n return;\n }\n\n variable.isMapped = info.mappings.some(mapping => mapping.to === variable.id);\n }\n}\n","import {\n autoinject,\n observable\n} from \"aurelia-framework\";\nimport {\n StyleService\n} from \"../../base/services/export\";\nimport { EventAggregator, Subscription } from 'aurelia-event-aggregator';\n\n@autoinject\nexport class LayoutService {\n constructor(\n private style: StyleService,\n private eventAggregator: EventAggregator\n ) {}\n\n @observable isSidebarCollapsed = false;\n themeColor = \"#396394\";\n\n activateTheme() {\n this.style.addStyles(\"custom-container\", [{\n name: \".t--sidebar .t--sidebar-item:hover\",\n properties: [{\n propertyName: \"background-color\",\n value: this.themeColor\n }]\n }]);\n }\n isSidebarCollapsedChanged() {\n setTimeout(() => {\n this.eventAggregator.publish(\"window:resize\", () => {});\n }, 400);\n }\n}\n","import { autoinject, transient, TaskQueue } from 'aurelia-framework';\nimport { IZitTagOptions } from '../../../../zit-ui/elements/zit-tag/export';\nimport { FileService } from '../../../../framework/base/services/export';\nimport { StartupService } from '../../../services/export';\nimport { FormBase, PopupInfoService } from '../../../../framework/forms/export';\n\n@autoinject\n@transient()\nexport class DokumentReadUtils {\n constructor(\n private _fileService: FileService,\n private _startupService: StartupService,\n private _popupInfoService: PopupInfoService,\n private _taskQueue: TaskQueue\n ) { }\n\n form: FormBase;\n \n dokumentTagOptions: IZitTagOptions = {\n isClickEnabled: true,\n icon: {\n faIconExpression: `item.Zustand ? item.Zustand.TagSymbol : ''`,\n textExpression: `!item.Zustand || !item.Zustand.TagSymbol ? 'D':''`\n },\n textExpression: `(item.VorlageBezeichnung || item.Dateiname || item.Bezeichnung) | zitRestrictLength:50`,\n backgroundColorExpression: \"item.InformationsTyp.FarbeTagText\",\n infoList: [\n {\n isVisibleExpression: `item.DMSLinkDokument`,\n isClickEnabled: true,\n icon: {\n faIcon: \"fas fa-paperclip\",\n },\n onClick: (e, data) => {\n e.stopPropagation();\n this._fileService.download(data.DMSLinkDokument);\n }\n }, {\n isVisibleExpression: \"item.Id > 0 && \".concat(\n this._startupService.startupInfo.Benutzer.CanViewDokumentDetails ? \"true\" : \"false\" \n ),\n icon: {\n faIcon: \"far fa-clock\"\n },\n onClick: (e, data) => {\n e.stopPropagation();\n this.form.editPopups.show(\"dokumentVersionInformationEditPopup\", null);\n }\n }\n ],\n onClick: (e, data) => {\n e.stopPropagation();\n this._fileService.inline(data.DMSLinkDokument);\n }\n };\n dokumentNeedsUnterfertigungTagMessageOptions: IZitTagOptions = {\n cssClass: \"z--tag-info-message z--tag-info-warning-message\",\n icon: {\n faIcon: \"far fa-check-circle\",\n },\n textExpression: `\"dokument-utils.needs-unterfertigung-text\" | tr`\n };\n gueltigkeitTagOptions: IZitTagOptions = {\n hasDefaultInfo: true, \n textExpression: \"item.GueltigVon | zitMoment:'dispoVonBis':{ bis: item.GueltigBis }\"\n }\n\n bind(form: FormBase) {\n this.form = form;\n\n if (form.isEditPopup) {\n form.models.onLoaded.register(args => {\n if (args.model.id == \"$m_Dokument\" && args.data && args.data.Id) {\n this._taskQueue.queueMicroTask(() => {\n const current = this._popupInfoService.getPopup(form);\n if (current && current.popup) {\n current.popup.repaint();\n }\n });\n }\n \n return Promise.resolve();\n });\n }\n }\n}\n","import { autoinject, transient, TaskQueue, computedFrom } from 'aurelia-framework';\nimport { FormBase } from '../../../../framework/forms/classes/export';\nimport { LocalizationService } from '../../../../framework/base/services/export';\nimport { ICommandData, DialogConfirmService } from '../../../../framework/forms/export';\nimport { GeschaeftspartnerService } from '../../../services/export';\nimport { IdxValidationGroupComponent, IdxDataGridComponent } from '../../../interfaces/export';\n\n@autoinject\n@transient()\nexport class GeschaeftspartnerGruppierungUtils {\n constructor(\n private geschaeftspartner: GeschaeftspartnerService,\n private localization: LocalizationService,\n private taskqueue: TaskQueue,\n private dialogConfirmService: DialogConfirmService\n ) { }\n\n form: FormBase;\n\n addNewGruppierungCommand: ICommandData = {\n id: \"addNewGruppierungCommand\",\n icon: \"fas fa-plus\",\n tooltip: \"geschaeftspartner.neue-gruppierung\",\n execute: () => {\n const grid: IdxDataGridComponent = this.form[\"r_GeschaeftspartnerGruppierungDataGrid\"];\n if (grid && grid.instance) {\n grid.instance.deselectAll();\n }\n\n this.setEditGruppierungData(0);\n }\n };\n saveGruppierungCommand: ICommandData = {\n id: \"addNewGruppierungCommand\",\n icon: \"fas fa-save\",\n tooltip: \"base.save\",\n execute: () => {\n this.saveGruppierung();\n }\n };\n deleteGruppierungCommand: ICommandData = {\n id: \"addNewGruppierungCommand\",\n icon: \"far fa-trash-alt\",\n tooltip: \"base.delete\",\n isEnabled: false,\n execute: () => {\n const id = this.form.models.data.$m_GeschaeftspartnerGruppierungEdit.Id;\n this.deleteGruppierung(id);\n }\n };\n\n onGruppierungClick(e) {\n this.setEditGruppierungData(e.data.Id);\n }\n\n bind(form: FormBase) {\n this.form = form;\n this.setEditGruppierungData(0);\n }\n\n private refreshGruppierungGrid() {\n const grid: IdxDataGridComponent = this.form[\"r_GeschaeftspartnerGruppierungDataGrid\"];\n if (grid && grid.instance) {\n grid.instance.refresh();\n }\n }\n private setEditGruppierungData(id: number) {\n if (id == void 0) {\n return;\n }\n this.deleteGruppierungCommand.isEnabled = id && id != 0;\n\n const model = this.form.models.getInfo(\"$m_GeschaeftspartnerGruppierungEdit\");\n this.form.models.loadModel(model, id);\n }\n\n private async saveGruppierung() {\n const validationGroup: IdxValidationGroupComponent = this.form[\"r_geschaeftspartnerGruppierungValidationGroup\"];\n const result = validationGroup.instance.validate();\n if (result.isValid) {\n const dataToSave = this.form.models.data.$m_GeschaeftspartnerGruppierungEdit;\n dataToSave.IdGeschaeftspartner = dataToSave.IdGeschaeftspartner || this.form.variables.data.$v_idGeschaeftspartner;\n\n this.form.models.data.$m_GeschaeftspartnerGruppierungEdit = await this.geschaeftspartner.saveGruppierung(dataToSave);\n\n this.onGruppierungSaved();\n }\n }\n private deleteGruppierung(id: number) {\n if (id == void 0) {\n return;\n }\n\n const title = this.localization.translateOnce(\"zit.loeschen-confirm-title\");\n const message = this.localization.translateOnce(\"zit.loeschen-confirm-message\", [\"die Gruppierung\"]);\n\n this.dialogConfirmService.show({\n title: title,\n message: message\n }).then(async r => {\n if (!r) {\n return;\n }\n\n await this.geschaeftspartner.deleteGruppierung(id);\n\n this.onGruppierungDeleted();\n });\n }\n\n private onGruppierungDeleted() {\n DevExpress.ui.notify(this.localization.translateOnce(\"zit.geloescht-message\", [\"Gruppierung\"]), \"info\", 3000);\n\n this.setEditGruppierungData(0);\n this.refreshGruppierungGrid();\n }\n private onGruppierungSaved() {\n this.refreshGruppierungGrid();\n\n DevExpress.ui.notify(this.localization.translateOnce(\"base.save_success\"), \"success\", 3000);\n }\n}\n","export interface IZitCardOptions {\n statusColor?: string;\n statusColorExpression?: string;\n onClick?: { (event: MouseEvent, data: any): void };\n isClickEnabled?: boolean;\n isClickEnabledExpression?: string;\n dmsLinkExpression?: string;\n dmsLink?: string;\n cardTemplateName?: string;\n markersCardOptions?: {\n markersList?: any;\n markersListExpression?: string;\n onClick?: { (event: MouseEvent, data: any): void };\n }\n showRibbon?: boolean;\n ribbon?: IZitCardRibbon;\n typ?: ZitCardTyp;\n useDefaultBindings?: boolean;\n isSuche?: boolean;\n showNachrichten?: boolean;\n}\n\ninterface IZitCardRibbon {\n backgroundColor: string;\n icon: string;\n}\nexport enum ZitCardTyp {\n Auto = \"Auto\",\n Gross = \"Gross\",\n Kompakt = \"Kompakt\",\n Klein = \"Klein\"\n}\n","import {\n autoinject,\n computedFrom\n} from \"aurelia-framework\";\nimport {\n HttpClient\n} from \"aurelia-fetch-client\";\nimport {\n JsonService\n} from \"./json-service\";\nimport Config from \"../../../config\";\nimport { ErrorService } from './error-service';\nimport { EventAggregator } from 'aurelia-event-aggregator';\n\n@autoinject\nexport class RestService {\n constructor(\n private jsonService: JsonService,\n private errorService: ErrorService,\n private eventAggregator: EventAggregator\n ) { }\n\n loadingCount = 0;\n getAuthorizationHeader: { (): any };\n getAuthorizationToken: { (): string };\n\n @computedFrom(\"loadingCount\")\n get isLoading(): boolean {\n return this.loadingCount > 0;\n }\n\n delete(options: IRestDeleteOptions): Promise {\n if (!options.id) {\n throw new Error(\"Id is missing\");\n }\n\n return this.execute(\n \"DELETE\",\n `${options.url}/${options.id}`,\n this.createHeaders(options),\n options.increaseLoadingCount,\n RestGetResultType.json,\n false,\n !!options.ignoreErrors);\n }\n get(options: IRestGetOptions): Promise {\n return this.execute(\n \"GET\",\n options.url,\n this.createHeaders(options),\n options.increaseLoadingCount,\n options.resultType || RestGetResultType.json,\n !!options.includeResponseHeaders,\n !!options.ignoreErrors);\n }\n post(options: IRestPostOptions): Promise {\n return this.execute(\n \"POST\",\n options.url,\n this.createHeaders(options),\n options.increaseLoadingCount,\n options.resultType || RestGetResultType.json,\n !!options.includeResponseHeaders,\n !!options.ignoreErrors,\n options.data);\n }\n put(options: IRestPostOptions): Promise {\n return this.execute(\n \"PUT\",\n options.url,\n this.createHeaders(options),\n options.increaseLoadingCount,\n options.resultType || RestGetResultType.json,\n !!options.includeResponseHeaders,\n !!options.ignoreErrors,\n options.data);\n }\n\n getUrl(suffix: string): string {\n if (typeof Config.baseUrl == \"function\") {\n return (Config).baseUrl().concat(\"/\").concat(suffix);\n } else if (location.port) {\n return `${Config.baseUrl}/${suffix}`;\n } else {\n let url = `${location.protocol}//${location.host}${location.pathname}`;\n\n if (url.endsWith(\"/\")) {\n url = url.substr(0, url.length - 1);\n }\n if (suffix) {\n url += \"/\" + suffix;\n }\n\n return url;\n }\n }\n getApiUrl(suffix: string): string {\n return `${this.getUrl(Config.apiUrl)}/${suffix}`;\n }\n getWebApiUrl(suffix: string): string {\n return `${this.getUrl(Config.webApiUrl)}/${suffix}`;\n }\n getWebSocketUrl(suffix: string): string {\n let authToken = \"\";\n if (this.getAuthorizationToken()) {\n authToken = this.getAuthorizationToken();\n authToken = encodeURIComponent(authToken);\n }\n\n let url = this.getUrl(Config.webSocketUrl);\n\n const indexOf = url.indexOf(\"://\");\n const prefix = url.startsWith(\"https\") ? \"wss\" : \"ws\";\n url = prefix + url.substring(indexOf);\n\n return `${url}/${suffix}?auth-token=${authToken}`;\n }\n getViewUrl(suffix: string): string {\n let url = `${location.protocol}//${location.host}${location.pathname}`;\n\n if (url.endsWith(\"/\")) {\n url = url.substr(0, url.length - 1);\n }\n if (suffix) {\n url += \"/\" + suffix;\n }\n\n return url;\n }\n\n private createHeaders(options?: IRestGetOptions | IRestDeleteOptions) {\n const headers: any = {};\n\n if (options && options[\"getOptions\"]) {\n headers[\"X-GET-OPTIONS\"] = this.jsonService.stringify(options[\"getOptions\"]);\n }\n\n if (options && options.moduleId) {\n headers[\"X-MODULE-ID\"] = options.moduleId;\n }\n\n headers[\"Content-Type\"] = \"application/json\";\n headers[\"Accept\"] = \"application/json\";\n\n if (this.getAuthorizationHeader) {\n Object.assign(headers, this.getAuthorizationHeader());\n }\n\n return headers;\n }\n private async execute(\n method: string,\n url: string,\n headers: any,\n changeLoadingCount: boolean,\n resultType: RestGetResultType,\n includeResponseHeaders: boolean,\n ignoreErrors: boolean,\n body?: any): Promise {\n const client = new HttpClient();\n\n if (body) {\n if (typeof body !== \"string\" && !(body instanceof FormData)) {\n body = this.jsonService.stringify(body);\n }\n\n if (body instanceof FormData) {\n delete headers[\"Accept\"];\n delete headers[\"Content-Type\"];\n }\n }\n\n if (changeLoadingCount) {\n this.loadingCount++;\n }\n\n let result: any;\n try {\n await this.checkGetOptions(headers);\n\n const fetchResult = await client.fetch(url, {\n method: method,\n headers: headers,\n body: body,\n });\n\n if (!fetchResult.ok) {\n if (ignoreErrors) {\n return null;\n }\n\n if (fetchResult.status == 401) {\n this.eventAggregator.publish(\"rest:unauthorized\", {\n url: url\n });\n\n throw {\n isHandled: true,\n message: \"401\"\n };\n } else if (fetchResult.status == 403) {\n throw {\n isHandled: true,\n message: \"403\"\n };\n } else if (fetchResult.status == 409) {\n const text = await fetchResult.text();\n\n this.eventAggregator.publish(\"notify\", {\n message: this.get409Message(text),\n type: \"error\"\n });\n\n throw {\n isHandled: true,\n message: \"409\"\n };\n } else {\n const text = await fetchResult.text();\n throw new Error(text || fetchResult.statusText);\n }\n }\n\n switch (resultType) {\n case RestGetResultType.blob: {\n result = await fetchResult.blob();\n break;\n }\n default: {\n result = await fetchResult.text();\n result = this.jsonService.parse(result);\n break;\n }\n }\n\n if (includeResponseHeaders) {\n result = {\n headers: fetchResult.headers,\n data: result\n }\n }\n } catch (error) {\n if (ignoreErrors) {\n return null;\n }\n\n this.errorService.showAndLogError(error);\n throw error;\n } finally {\n if (changeLoadingCount) {\n this.loadingCount--;\n }\n }\n\n return result;\n }\n private async checkGetOptions(headers: string[]): Promise {\n if (!headers[\"X-GET-OPTIONS\"]) {\n return;\n }\n\n const getOptions = headers[\"X-GET-OPTIONS\"];\n if (getOptions.length < 4000 && !this.hasNonAscii(getOptions)) {\n return;\n }\n\n const client = new HttpClient();\n delete headers[\"X-GET-OPTIONS\"];\n\n const result = await client\n .fetch(this.getApiUrl(\"Data/Options\"), {\n method: \"POST\",\n headers: headers,\n body: getOptions\n });\n\n headers[\"X-GET-OPTIONS\"] = await result.text();\n }\n private hasNonAscii(text: string): boolean {\n return !/^[\\u0000-\\u007f]*$/.test(text);\n }\n private get409Message(text: string): string {\n if (text.substr(0, 1) == \"{\" && text.substr(text.length - 1, 1) == \"}\") {\n const json = JSON.parse(text);\n if (json.Message) {\n return json.Message;\n }\n }\n\n return text;\n }\n}\n\ninterface IRestDeleteOptions {\n url: string;\n id: any;\n moduleId?: string;\n increaseLoadingCount?: boolean;\n ignoreErrors?: boolean;\n}\ninterface IRestGetOptions {\n url: string;\n moduleId?: string;\n getOptions?: IGetOptions;\n increaseLoadingCount?: boolean;\n resultType?: RestGetResultType;\n includeResponseHeaders?: boolean;\n ignoreErrors?: boolean;\n}\ninterface IRestPostOptions extends IRestGetOptions {\n data: any;\n increaseLoadingCount?: boolean;\n}\ninterface IGetOptions {\n columns?: string[];\n where?: any[];\n totalSummary?: { selector: string; summaryType: string }[];\n orderBy?: { columnName: string; sortOrder: number }[];\n skip?: number;\n take?: number;\n selectDeleted?: boolean;\n requireTotalCount?: boolean;\n distinct?: boolean;\n changedSince?: Date;\n customs?: { key: string; value: any; }[];\n searchText?: string;\n maxRecords?: number;\n expand?: { [key: string]: IGetOptions };\n}\nexport enum RestGetResultType {\n json = 0,\n blob = 1\n}\n","export enum TerminReaktion {\n ZuAbsage = 0,\n Information = 1,\n InteresseBekunden = 2\n}\n","import { autoinject } from 'aurelia-framework';\nimport { RestService } from './../../framework/base/services/export';\nimport { HistoryService } from '../../framework/forms/export';\n@autoinject\nexport class LoginprofilService {\n\n constructor(\n private rest: RestService,\n private historyService: HistoryService\n ) {\n }\n \n getLoginprofile(): Promise {\n return this.rest.get({\n url: this.rest.getWebApiUrl(\"ZIT/Berechtigungen/Loginprofil\"),\n getOptions: {\n customs: [{\n key: \"IgnoreMandant\",\n value: true\n }]\n }\n });\n }\n async hasMultipleLoginprofil() {\n const result = await this.rest.get({\n url: this.rest.getWebApiUrl(\"ZIT/Berechtigungen/Loginprofil\"),\n getOptions: {\n customs: [\n {key: \"IgnoreMandant\", value: \"true\"}, \n {key: \"CheckDomain\", value: \"true\"}\n ]\n }\n });\n\n return result.length > 1;\n }\n async setLoginProfil(id: number, reload: boolean): Promise {\n if (!id) {\n return;\n }\n\n this.historyService.checkHasChangedDataBeforeUnload = false;\n\n await this.rest.post({\n url: this.rest.getApiUrl(`ZIT/Security/SetLoginprofil/${id}`),\n data: null\n });\n\n if (reload) {\n window.location.reload();\n }\n }\n zurueckZuBenutzer() {\n return this.rest.post({\n url: this.rest.getApiUrl(\"ZIT/Security/ZurueckZuBenutzer\"),\n data: null\n });\n }\n}\n","export enum SucheViewTyp{\n table = \"table\",\n list = \"list\"\n}","\nimport {\n autoinject\n} from \"aurelia-framework\";\nimport {\n EventAggregator\n} from \"aurelia-event-aggregator\";\nimport {\n RestService, StyleService\n} from \"../../framework/base/export\";\nimport {\n IStartupInfo, ICardStartupInfo\n} from \"../interfaces/export\";\nimport { FarbeService } from './farbe-service';\n\n@autoinject\nexport class StartupService {\n\n constructor(\n private rest: RestService,\n private eventAggregator: EventAggregator,\n private farbeService: FarbeService,\n private styleService: StyleService\n ) { }\n \n startupInfo: IStartupInfo;\n\n getCardInfoByObjektFullName(objektFullName: string): ICardStartupInfo {\n if (!objektFullName) {\n return null;\n }\n\n const found = this.startupInfo.Layout.CardList.find(c => c.Objekttyp == objektFullName);\n\n return found || null;\n }\n\n loadStartupInfo(): Promise {\n return this.rest.get({\n url: this.rest.getApiUrl(\"ZIT/Startup/Get\")\n }).then(r => {\n this.startupInfo = r;\n\n if (this.startupInfo && this.startupInfo.Skin && this.startupInfo.Skin.Farbe) {\n this.startupInfo.Skin.Farbe20Opacity = this.farbeService.convertHexToCssRgba(this.startupInfo.Skin.Farbe, .2);\n }\n\n this.eventAggregator.publish(\n \"startup-info:loaded\", {\n startupInfo: r\n });\n\n return r;\n });\n }\n}\n","import { autoinject, transient } from \"aurelia-framework\";\nimport { AuthorizationService, LocalizationService } from \"../../../../../framework/base/export\";\nimport { LocationService } from \"../../../../../framework/base/services/location-service\";\nimport { FormBase } from \"../../../../../framework/forms/export\";\nimport { Datenschutz } from \"../../../../../zit/elements/datenschutz/datenschutz\";\nimport { BrowserService } from \"./../../../../../framework/base/services/browser-service\";\nimport { RestService } from \"./../../../../../framework/base/services/rest-service\";\nimport { ICommandData } from \"./../../../../../framework/forms/interfaces/command-data\";\nimport { DomaeneService } from \"./../../../../services/domaene-service\";\n\n@autoinject\n@transient()\nexport class ActivateAccountFuncs {\n private form: FormBase;\n private NOTIFY_TIMEOUT: number = 3000;\n\n constructor(\n public browserService: BrowserService,\n private _authorizationService: AuthorizationService,\n private _localizationService: LocalizationService,\n private _restService: RestService,\n private _locationService: LocationService,\n private _domaeneService: DomaeneService) {\n const time = new Date()\n .getTime()\n .toString();\n const randomNumberString = Math.floor((Math.random() * 100))\n .toString();\n const randomKey = time + randomNumberString;\n this.logoSrc = this._restService.getApiUrl(`ZIT/Domaene/Logo?key=${randomKey}`);\n }\n\n urlImpressum: string;\n farbeDomaene: string;\n bezeichnungLoginMobil: string;\n activationKey: string;\n logoSrc: string;\n isMobile: boolean;\n\n datenschutzList: any[];\n\n activateCommand: ICommandData = {\n id: \"$login\",\n title: \"activate-account-form-funcs.account_aktivieren_caption\",\n execute: async (e) => {\n if (this.form.models.data.$m_activateAccount.Passwort1 !== this.form.models.data.$m_activateAccount.Passwort2) {\n DevExpress.ui.notify(this._localizationService.translateOnce(\"activate-account-form-funcs.password_missmatch\"), \"error\", this.NOTIFY_TIMEOUT);\n return;\n }\n\n const datenschutz: Datenschutz = this.form[\"r_datenschutz\"];\n if (datenschutz && !datenschutz.hasAlleBestaetigt()) {\n return;\n }\n\n this.form.models.data.$m_activateAccount.CodeAktivierung = this.activationKey;\n this.form.models.data.$m_activateAccount.DatenschutzList = this.datenschutzList;\n\n const r = await this._restService.post({\n url: this._restService.getApiUrl(\"ZIT/Security/Aktivierung\"),\n data: this.form.models.data.$m_activateAccount,\n increaseLoadingCount: true\n });\n\n this._authorizationService.login({\n Username: this.form.models.data.$m_activateAccount.Benutzername,\n Password: this.form.models.data.$m_activateAccount.Passwort1\n });\n }\n };\n\n backToLoginCommand: ICommandData = {\n id: \"$backToLogin\",\n title: \"activate-account-form-funcs.back_to_login_caption\",\n execute: () => {\n this.goBackToLogin();\n }\n };\n\n openImpressumClick() {\n window.open(this.urlImpressum);\n }\n\n registerForm(form: FormBase) {\n this.form = form;\n\n form.onActivate.register((r) => {\n if (r && r.parameters) {\n this.activationKey = r.parameters.key;\n }\n\n return Promise.resolve();\n });\n }\n\n async bind() {\n this.form.focusFirstEnabledEditor = () => {\n if (this.form[\"password\"].instance) {\n this.form[\"password\"].instance.focus();\n }\n };\n\n if (!this.activationKey) {\n this.goBackToLogin();\n return;\n }\n\n this.form.callOnBind(() => {\n if (!this.form.models.data.$m_activateAccount) {\n this.form.models.data.$m_activateAccount = {};\n }\n\n this.loadBenutzername();\n this.loadDatenschutzUndEinverstaendnis();\n });\n\n this.urlImpressum = this._domaeneService.urlImpressum;\n this.farbeDomaene = this._domaeneService.farbeDomaene;\n this._domaeneService.setDomainColorsStyle();\n this.bezeichnungLoginMobil = this._domaeneService.bezeichnungMobilLogin;\n }\n\n private goBackToLogin() {\n this._locationService.goTo({\n url: \"Login\",\n clearStack: true\n });\n }\n\n private async loadBenutzername() {\n if (!this.activationKey) {\n return;\n }\n\n const result = await this._restService.post({\n url: this._restService.getApiUrl(\"ZIT/Security/AktivierungBenutzername\"),\n ignoreErrors: true,\n data: {\n CodeAktivierung: this.activationKey\n }\n });\n\n if (result && result.Benutzername) {\n this.form.models.data.$m_activateAccount.Benutzername = result.Benutzername;\n } else {\n this._locationService.goTo({\n url: \"Login\",\n clearStack: true,\n customOptions: {\n activationKey: this.activationKey\n }\n });\n }\n }\n\n private async loadDatenschutzUndEinverstaendnis() {\n const result = await this._restService.get({\n url: this._restService.getApiUrl(\"ZIT/Security/DatenschutzUndEinverstaendnis\")\n .concat(\"?codeAktivierung=\")\n .concat(this.activationKey)\n });\n\n if (!result) {\n return;\n }\n\n this.datenschutzList = result;\n }\n}\n","import { FormBase } from './../../../../framework/forms/classes/form-base';\nimport { transient, TaskQueue } from 'aurelia-framework';\nimport { autoinject } from 'aurelia-framework';\nimport { IdxSelectBoxComponent } from '../../../interfaces/export';\nimport { ICommandData } from '../../../../framework/forms/interfaces/command-data';\nimport { RestService, LocalizationService, FileService } from '../../../../framework/base/export';\nimport { DialogConfirmService } from '../../../../framework/forms/export';\nimport { StartupService } from \"../../../services/export\";\n\n@transient()\n@autoinject\nexport class TerminEmpfEinschaetzungEditUtils {\n constructor(\n private _taskQueue: TaskQueue,\n private _restService: RestService,\n private _dialogConfirmService: DialogConfirmService,\n private _localizationService: LocalizationService,\n private _fileService: FileService,\n private _startupService: StartupService\n ) { \n this.hasBerechtEinschLoeschen = [\"ADMIN\", \"ADMIN_HB\"]\n .indexOf(_startupService.startupInfo.Benutzer.CodeBenutzerrolle) >= 0;\n }\n\n form: FormBase;\n\n akkEl: string;\n hasBerechtEinschLoeschen = false;\n\n pdfGenerierenCommand: ICommandData = {\n id: \"pdfGenerierenCommand\",\n icon: \"far fa-file-pdf\",\n title: \"termin.einschaetzung-abschicken\",\n isVisibleExpression: \"!models.data.$m_TerminEmpfEinsch.IsFreigegeben\",\n sortIndex: 600,\n execute: async () => {\n if (!this.hasFelderFuerDruck()) {\n DevExpress.ui.notify(\n \"PDF-Dokument kann erst erzeugt werden, wenn alle Felder ausgefüllt sind\",\n \"error\",\n 3000\n );\n return;\n }\n\n const okResult = await this._dialogConfirmService.show({\n title: this._localizationService.translateOnce(\"base.question\"),\n message: \"Soll die Einschätzung wirklich gedruckt werden? Somit wird das PDF Dokument generiert und verteilt. Änderungen sind ab diesem Zeitpunkt nicht mehr möglich!\"\n });\n\n if (!okResult) {\n return;\n }\n\n const r = await this.form.saveIfDirty();\n if (!r.isValid) {\n return;\n }\n\n await this._restService.post({\n url: this._restService.getApiUrl(\"ZIT/Termin/CreateEinschaetzungPdf\"),\n data: {\n IdTerminEmpfEinschaetzung: this.form.models.data.$m_TerminEmpfEinsch.Id\n },\n increaseLoadingCount: true\n });\n\n this.form.models.reloadAll();\n DevExpress.ui.notify(\"PDF wird in Kürze erstellt\", \"success\", 3000);\n }\n };\n pdfLoeschenCommand: ICommandData = {\n id: \"pdfGenerierenCommand\",\n icon: \"far fa-trash-alt\",\n title: \"termin.dokument-loeschen\",\n isVisibleExpression: \"models.data.$m_TerminEmpfEinsch.IsFreigegeben && functions.$f_TerminEmpfEinschaetzungEditUtils.hasBerechtEinschLoeschen\",\n sortIndex: 600,\n execute: async () => {\n const okResult = await this._dialogConfirmService.show({\n title: this._localizationService.translateOnce(\"base.question\"),\n message: \"Soll das Einschätzungsdokument wirklich gelöscht werden?\"\n });\n\n if (!okResult) {\n return;\n }\n\n const r = await this.form.saveIfDirty();\n if (!r.isValid) {\n return;\n }\n\n await this._restService.post({\n url: this._restService.getApiUrl(\"ZIT/Termin/DeleteEinschaetzungPdf\"),\n data: {\n IdTerminEmpfEinschaetzung: this.form.models.data.$m_TerminEmpfEinsch.Id\n },\n increaseLoadingCount: true\n });\n\n this.form.models.reloadAll();\n }\n };\n pdfAnzeigenCommand: ICommandData = {\n id: \"pdfAnzeigenCommand\",\n icon: \"far fa-file-pdf\",\n title: \"termin.einschaetzung-oeffnen\",\n isVisibleExpression: \"models.data.$m_TerminEmpfEinsch.IsFreigegeben && models.data.$m_TerminEmpfEinsch.DMSLinkPdf\",\n sortIndex: 600,\n execute: async () => {\n this._fileService.inline(this.form.models.data.$m_TerminEmpfEinsch.DMSLinkPdf);\n }\n };\n\n personSelectBoxOptions: DevExpress.ui.dxSelectBoxOptions = {\n valueExpr: \"Id\",\n displayExpr: \"Titel\",\n searchEnabled: true,\n searchExpr: \"Titel\",\n bindingOptions: {\n readOnly: \"models.data.$m_TerminEmpfEinsch.Id\",\n value: \"models.data.$m_TerminEmpfEinsch.IdTerminEmpfaengerElement\"\n },\n onValueChanged: () => {\n this._taskQueue.queueMicroTask(() => {\n this.onPersonValueChanged();\n });\n }\n };\n geschaeftspartnerSelectBoxOptions: DevExpress.ui.dxSelectBoxOptions = {\n valueExpr: \"IdGeschaeftspartner\",\n displayExpr: \"Name1\",\n searchEnabled: true,\n searchExpr: \"Name1\",\n bindingOptions: {\n readOnly: \"models.data.$m_TerminEmpfEinsch.Id\",\n value: \"models.data.$m_TerminEmpfEinsch.IdGeschaeftspartner\"\n },\n onValueChanged: () => {\n this._taskQueue.queueMicroTask(() => {\n this.onGeschaeftspartnerValueChanged();\n });\n }\n };\n ansprechpersonSelectBoxOptions: DevExpress.ui.dxSelectBoxOptions = {\n valueExpr: \"IdAnsprechperson\",\n displayExpr: \"Titel\",\n searchEnabled: true,\n searchExpr: \"Titel\",\n bindingOptions: {\n readOnly: \"models.data.$m_TerminEmpfEinsch.IsFreigegeben\",\n value: \"models.data.$m_TerminEmpfEinsch.IdAnsprechperson\"\n },\n }; \n\n requiredValidatorOptions = {\n validationRules: [{ type: \"required\", message: \"Pflichtfeld\" }]\n };\n\n bind(form: FormBase) {\n this.form = form;\n\n form.models.onLoaded.register(async (ev) => {\n if (ev.model.id == \"$m_TerminEmpfEinsch\") {\n if (ev.data) {\n if (!ev.data.IdTermin) {\n ev.data.IdTermin = form.variables.data.$v_idTermin;\n }\n }\n\n this.updatePersonDataSource();\n }\n });\n }\n\n private updatePersonDataSource() {\n const data = this.form.models.data.$m_TerminEmpfEinsch;\n\n let dataSource: any[] = data\n ? data._TerminEmpfList || []\n : [];\n\n if (dataSource.length > 0 && !data.Id) {\n dataSource = dataSource.filter(i => !i.HasEinschaetzung);\n }\n\n this.personSelectBoxOptions.dataSource = dataSource;\n\n const selectBox: IdxSelectBoxComponent = this.form[\"r_person\"];\n if (selectBox && selectBox.instance) {\n selectBox.setOption({\n dataSource: dataSource\n });\n }\n }\n private onPersonValueChanged() {\n const data = this.form.models.data.$m_TerminEmpfEinsch;\n\n let dataSource: any[] = data\n ? data._GeschaeftspartnerList || []\n : [];\n\n if (dataSource.length > 0) {\n if (data.IdTerminEmpfaengerElement) {\n const terminEmpf = (data._TerminEmpfList || []).find((i) => i.Id == data.IdTerminEmpfaengerElement);\n const idPerson = terminEmpf\n ? terminEmpf.IdPerson\n : -1;\n\n dataSource = dataSource.filter(i => i.IdPerson == idPerson);\n\n if (terminEmpf && !data.Id) {\n data.EinschStaerken = terminEmpf.EinschStaerken;\n data.EinschWeiterentw = terminEmpf.EinschWeiterentw;\n data.EinschDafuerMachen = terminEmpf.EinschDafuerMachen;\n data.VerhaltenTrainingSE = terminEmpf.VerhaltenTrainingSE;\n data.VerhaltenArbeitenSE = terminEmpf.VerhaltenArbeitenSE;\n data.VerhaltenUmgangKollegenSE = terminEmpf.VerhaltenUmgangKollegenSE;\n data.UmgangVerhaltensregelnSE = terminEmpf.UmgangVerhaltensregelnSE;\n }\n } else {\n dataSource = [];\n }\n }\n\n this.geschaeftspartnerSelectBoxOptions.dataSource = dataSource;\n\n const selectBox: IdxSelectBoxComponent = this.form[\"r_geschaeftspartner\"];\n if (selectBox && selectBox.instance) {\n selectBox.setOption({\n dataSource: dataSource\n });\n }\n\n if (data && !data.Id) {\n const newVal = dataSource.length == 1\n ? dataSource[0].IdGeschaeftspartner\n : null;\n\n if (newVal != data.IdGeschaeftspartner) {\n data.IdGeschaeftspartner = newVal;\n } else {\n this.onGeschaeftspartnerValueChanged();\n }\n }\n }\n private onGeschaeftspartnerValueChanged() {\n const data = this.form.models.data.$m_TerminEmpfEinsch || {};\n\n const terminEmpf = (data._TerminEmpfList || []).find((i) => i.Id == data.IdTerminEmpfaengerElement);\n const idPerson = terminEmpf\n ? terminEmpf.IdPerson\n : -1;\n\n let dataSource: any[] = data._AnsprechpersonList || [];\n\n dataSource = dataSource.filter((i) => {\n return i.IdPerson == idPerson\n && i.IdGeschaeftspartner == data.IdGeschaeftspartner;\n });\n\n this.geschaeftspartnerSelectBoxOptions.dataSource = dataSource;\n\n const selectBox: IdxSelectBoxComponent = this.form[\"r_ansprechperson\"];\n if (selectBox && selectBox.instance) {\n selectBox.setOption({\n dataSource: dataSource\n });\n }\n\n if (data && !data.Id) {\n if (dataSource.length == 1) {\n data.IdAnsprechperson = dataSource[0].IdAnsprechperson;\n } else if (data) {\n data.IdAnsprechperson = null;\n }\n }\n }\n\n private hasFelderFuerDruck() {\n const data = this.form.models.data.$m_TerminEmpfEinsch;\n\n const hasAll = !!data.VerhaltenTrainingSE\n && !!data.VerhaltenTrainingFE\n && !!data.VerhaltenTrainingB\n && !!data.VerhaltenTrainingM\n && !!data.VerhaltenArbeitenSE\n && !!data.VerhaltenArbeitenFE\n && !!data.VerhaltenArbeitenB\n && !!data.VerhaltenArbeitenM\n && !!data.VerhaltenUmgangKollegenSE\n && !!data.VerhaltenUmgangKollegenFE\n && !!data.VerhaltenUmgangKollegenB\n && !!data.VerhaltenUmgangKollegenM\n && !!data.UmgangVerhaltensregelnSE\n && !!data.UmgangVerhaltensregelnFE\n && !!data.UmgangVerhaltensregelnB\n && !!data.UmgangVerhaltensregelnM\n && !!data.GesamteintragAmLC\n && !!data.TippsFuerAusbildner\n && !!data.EinschStaerken\n && !!data.EinschWeiterentw\n && !!data.EinschDafuerMachen;\n\n return hasAll;\n }\n}\n","import {\n autoinject\n} from \"aurelia-framework\";\nimport {\n CustomEvent\n} from \"../../base/export\";\nimport {\n IFormAttachedEventArgs,\n IFormCreatedEventArgs,\n IFormBindEventArgs,\n IFormUnbindEventArgs,\n IFormReadyEventArgs,\n IFormReactivatedEventArgs,\n IFormDetachedEventArgs,\n IFormValidatingEventArgs,\n IFormExecuteCommandEventArgs,\n IFormSavedEventArgs,\n IFormSavingEventArgs,\n IFormDeletedEventArgs\n} from \"../event-args/export\";\nimport { IFormDeletingEventArgs } from '../event-args/form-deleting';\n\n@autoinject\nexport class FormEventService {\n constructor(\n public onCreated: CustomEvent,\n public onBind: CustomEvent,\n public onUnbind: CustomEvent,\n public onAttached: CustomEvent,\n public onReady: CustomEvent,\n public onReactivating: CustomEvent,\n public onDetached: CustomEvent,\n public onValidating: CustomEvent,\n public onSaving: CustomEvent,\n public onSaved: CustomEvent,\n public onDeleting: CustomEvent,\n public onDeleted: CustomEvent,\n public onExecuteCommand: CustomEvent\n ) {}\n}\n","import { RestService } from './../../../../framework/base/services/rest-service';\nimport { FormBase } from './../../../../framework/forms/classes/form-base';\nimport { autoinject, transient } from 'aurelia-framework';\nimport { StartupService } from '../../../services/startup-service';\nimport { BenutzerTyp } from '../../../enumerations/export';\n\n@autoinject\n@transient()\nexport class GeschaeftspartnerPackageEditUtils {\n constructor(\n private startupService: StartupService,\n private restService: RestService\n ) {\n const benutzertyp = startupService.startupInfo.Benutzer.Benutzertyp;\n\n this.canEditPackage = benutzertyp == BenutzerTyp.Administrator\n || benutzertyp == BenutzerTyp.InternerBenutzer;\n \n this.showLehrlingAnzahlProJahr = this.startupService.startupInfo.Mandant.IdMandant == 4;\n }\n\n form: FormBase;\n canEditPackage: boolean;\n anzahlStelleninserateUeberschreibenNichtZulaessig: boolean;\n showLehrlingAnzahlProJahr = false;\n\n bind(form: FormBase) {\n this.form = form;\n\n form.models.onLoaded.register((args) => {\n if (args.model.id == \"$m_GeschaeftspartnerPackage\" && args.data) {\n this.setCanEditAnzahlStelleninserate(args.data.IdPackage);\n }\n return Promise.resolve();\n });\n\n form.onEditorValueChanged.register((args) => {\n if (args.binding.dataContext == \"$m_GeschaeftspartnerPackage\"\n && args.binding.bindTo == \"IdPackage\") {\n this.setCanEditAnzahlStelleninserate(args.value);\n\n return Promise.resolve();\n }\n });\n }\n\n private setCanEditAnzahlStelleninserate(idPackage: number): void {\n if (!idPackage || idPackage == 0) {\n this.anzahlStelleninserateUeberschreibenNichtZulaessig = false;\n return;\n }\n\n this.restService.get({\n url: this.restService.getWebApiUrl(\"ZIT/Stammdaten/Package/\" + idPackage),\n getOptions: {\n columns: [\"AnzahlStelleninserateUeberschreibenNichtZulaessig\"]\n }\n }).then(r => {\n if (r) {\n this.anzahlStelleninserateUeberschreibenNichtZulaessig = r.AnzahlStelleninserateUeberschreibenNichtZulaessig;\n } else {\n this.anzahlStelleninserateUeberschreibenNichtZulaessig = false;\n }\n });\n }\n}\n","module.exports = \"
\";","import * as Interfaces from \"../interfaces/export\";\nimport {\n createOverrideContext,\n OverrideContext,\n Scope\n} from \"aurelia-framework\";\nimport {\n Subscription\n} from \"aurelia-event-aggregator\";\nimport {\n Models\n} from \"./models\";\nimport {\n Functions\n} from \"./functions\";\nimport {\n Commands\n} from \"./commands\";\nimport {\n Variables\n} from \"./variables\";\nimport {\n NestedForms\n} from \"./nested-forms\";\nimport {\n EditPopups\n} from \"./edit-popups\";\nimport {\n CommandServerData\n} from \"./command-server-data\";\nimport {\n ToolbarService\n} from \"../services/toolbar-service\";\nimport {\n CommandService\n} from \"../services/command-service\";\nimport {\n WidgetCreatorService\n} from \"../widget-services/widget-creator-service\";\nimport {\n BindingService,\n CustomEvent,\n ErrorService,\n GlobalizationService,\n LocalizationService,\n RestService,\n ScopeContainer\n} from \"../../base/export\";\nimport {\n IFormAttachedEventArgs,\n IFormActivateEventArgs,\n IFormReadyEventArgs,\n IFormReactivatedEventArgs,\n IFormDetachedEventArgs,\n IFormValidatingEventArgs,\n IFormBindEventArgs,\n IFormUnbindEventArgs,\n IEditorValueChangedEventArgs,\n IFormSavingEventArgs,\n IFormSavedEventArgs,\n IFormDeletedEventArgs\n} from \"../event-args/export\";\nimport {\n FormBaseImport\n} from \"./form-base-import\";\nimport {\n IValidationResult\n} from \"../interfaces/export\";\nimport {\n IViewScrollInfo\n} from \"../../base/interfaces/export\";\nimport * as Toolbar from \"../elements/toolbar/export\";\nimport * as DxLoader from \"../../dx/dx-loader\";\nimport { IFormDeletingEventArgs } from '../event-args/form-deleting';\n\nexport class FormBase {\n private _callOnBind: { (): void }[];\n private _callOnCommandsLoaded: { (): void }[];\n private _reloadEventAggregatorSubscription: Subscription;\n private _beforeUnloadEventAggregatorSubscription: Subscription;\n private _routerCurrentViewItemChangedSubscription: Subscription;\n\n constructor(\n public element: Element,\n private formBaseImport: FormBaseImport\n ) {\n this._callOnBind = [];\n this._callOnCommandsLoaded = [];\n\n this.isEditPopup = element.getAttribute(\"is-edit-popup\") === \"true\";\n this.isNestedForm = element.getAttribute(\"is-nested-form\") === \"true\";\n\n this.rest = formBaseImport.rest;\n this.widgetCreator = formBaseImport.widgetCreator;\n this.command = formBaseImport.command;\n this.toolbar = formBaseImport.toolbar;\n this.models = formBaseImport.models;\n this.variables = formBaseImport.variables;\n this.nestedForms = formBaseImport.nestedForms;\n this.editPopups = formBaseImport.editPopups;\n this.functions = formBaseImport.functions;\n this.commands = formBaseImport.commands;\n this.binding = formBaseImport.binding;\n this.globalization = formBaseImport.globalization;\n this.localization = formBaseImport.localization;\n this.commandServerData = formBaseImport.commandServerData;\n this.error = formBaseImport.error;\n\n this.onAttached = formBaseImport.onAttached;\n this.onDetached = formBaseImport.onDetached;\n this.onBind = formBaseImport.onBind;\n this.onUnbind = formBaseImport.onUnbind;\n this.onActivate = formBaseImport.onActivate;\n this.onReady = formBaseImport.onReady;\n this.onReactivated = formBaseImport.onReactivated;\n this.onValidating = formBaseImport.onValidating;\n this.onEditorValueChanged = formBaseImport.onEditorValueChanged;\n this.onSaving = formBaseImport.onSaving;\n this.onSaved = formBaseImport.onSaved;\n this.onDeleting = formBaseImport.onDeleting;\n this.onDeleted = formBaseImport.onDeleted;\n\n this.models.registerForm(this);\n this.variables.registerForm(this);\n this.functions.registerForm(this);\n this.commands.registerForm(this);\n this.nestedForms.registerForm(this);\n this.editPopups.registerForm(this);\n\n this.focusFirstEnabledEditor = this.focusFirstEnabledEditorEx;\n this.canGoBack = !this.isEditPopup\n && !this.isNestedForm\n && this.formBaseImport.router.viewStack.length > 1;\n\n this.isCurrentForm = !this.isEditPopup\n && !this.isNestedForm;\n }\n\n toolbarOptions: Toolbar.IToolbarOptions;\n id: string;\n moduleId: string;\n title: string;\n viewItemInfo: Interfaces.IViewItemModel;\n viewScrollInfo: IViewScrollInfo;\n viewUrl: string;\n\n isEditPopup: boolean;\n isNestedForm: boolean;\n\n rest: RestService;\n widgetCreator: WidgetCreatorService;\n command: CommandService;\n toolbar: ToolbarService;\n binding: BindingService;\n globalization: GlobalizationService;\n localization: LocalizationService;\n error: ErrorService;\n\n models: Models;\n variables: Variables;\n nestedForms: NestedForms;\n editPopups: EditPopups;\n functions: Functions;\n commands: Commands;\n commandServerData: CommandServerData;\n\n onAttached: CustomEvent;\n onDetached: CustomEvent;\n onActivate: CustomEvent;\n onBind: CustomEvent;\n onUnbind: CustomEvent;\n onReady: CustomEvent;\n onReactivated: CustomEvent;\n onValidating: CustomEvent;\n onEditorValueChanged: CustomEvent;\n onSaving: CustomEvent;\n onSaved: CustomEvent;\n onDeleting: CustomEvent;\n onDeleted: CustomEvent;\n\n scope: Scope;\n scopeContainer: ScopeContainer;\n\n owningView: any;\n parent: FormBase;\n\n canGoBack: boolean;\n focusFirstEnabledEditor: { (): void };\n isCurrentForm: boolean;\n\n isBound: boolean;\n\n callOnBind(callback: { (): void }) {\n if (this._callOnBind) {\n this._callOnBind.push(callback);\n } else {\n callback();\n }\n }\n callOnCommandsLoaded(callback: { (): void }) {\n if (this._callOnCommandsLoaded) {\n this._callOnCommandsLoaded.push(callback);\n } else {\n callback();\n }\n }\n\n async activate(viewItemInfo: Interfaces.IViewItemModel) {\n this.viewItemInfo = viewItemInfo;\n\n this.viewScrollInfo = viewItemInfo && viewItemInfo.viewScrollInfo\n ? viewItemInfo.viewScrollInfo\n : null;\n\n let parameters = null;\n if (viewItemInfo && viewItemInfo.routeInfo && viewItemInfo.routeInfo.parameters) {\n parameters = viewItemInfo.routeInfo.parameters;\n\n if (parameters.id) {\n this.variables.data.$id = viewItemInfo.routeInfo.parameters.id;\n }\n }\n\n return this.dispatchOnActivate(parameters);\n }\n created(owningView: any, myView: any) {\n this.owningView = owningView;\n\n if (myView\n && myView.resources\n && myView.resources.viewUrl) {\n this.viewUrl = myView.resources.viewUrl;\n this.moduleId = this.viewUrl\n ? this.viewUrl.substr(0, this.viewUrl.lastIndexOf(\".\"))\n : null;\n }\n }\n async bind(bindingContext: any, overrideContext: OverrideContext) {\n this.isBound = true;\n this.parent = this.owningView.bindingContext;\n\n this.scope = {\n bindingContext: this,\n overrideContext: createOverrideContext(this)\n };\n this.scopeContainer = new ScopeContainer(this.scope);\n\n this.registerHasChangedData();\n this.registerReloadEventAggregator();\n this.registerEditorValueChanged();\n this.registerRouterCurrentViewItemChanged();\n\n this.formBaseImport.eventAggregator.publish(\"form:bind\", {\n form: this\n });\n\n for (let i = 0; i < this._callOnBind.length; i++) {\n this._callOnBind[i]();\n }\n this._callOnBind = null;\n\n this.validateViewScrollInfo();\n\n await this.dispatchOnBind();\n\n this.loadCommands();\n\n for (let i = 0; i < this._callOnCommandsLoaded.length; i++) {\n this._callOnCommandsLoaded[i]();\n }\n this._callOnCommandsLoaded = null;\n\n this.toolbarOptions = this.toolbar.createFormToolbarOptions(this);\n\n return this.models.loadModelWithKeyId();\n }\n async attached() {\n await this.dispatchOnAttached();\n\n if (!this.isEditPopup) {\n await this.dispatchOnReady();\n }\n \n this.formBaseImport.taskQueue.queueTask(() => {\n this.formBaseImport.eventAggregator.publish(\"form:title-changed\", {\n form: this\n });\n });\n }\n async detached() {\n await this.dispatchOnDetached();\n }\n async unbind() {\n this.isBound = false;\n\n if (this._beforeUnloadEventAggregatorSubscription) {\n this._beforeUnloadEventAggregatorSubscription.dispose();\n this._beforeUnloadEventAggregatorSubscription = null;\n }\n if (this._reloadEventAggregatorSubscription) {\n this._reloadEventAggregatorSubscription.dispose();\n this._reloadEventAggregatorSubscription = null;\n }\n if (this._routerCurrentViewItemChangedSubscription) {\n this._routerCurrentViewItemChangedSubscription.dispose();\n this._routerCurrentViewItemChangedSubscription = null;\n }\n\n const args = {\n form: this\n };\n\n await this.dispatchOnUnbind();\n this.dispose();\n }\n handleChangedData(): Promise {\n if (this.models.hasChangedData()) {\n return new Promise((resolve, reject) => {\n this.formBaseImport.dialogConfirm.show({\n message: this.localization.translateOnce(\"forms.confirm_unchanged_data\"),\n title: this.localization.translateOnce(\"base.question\"),\n buttons: [{\n id: \"yes\",\n text: this.localization.translateOnce(\"base.yes\"),\n onClick: () => {\n if (!this.canSave()) {\n resolve(false);\n } else if (!this.canSaveNow()) {\n resolve(false);\n } else {\n this.save().then(r => {\n resolve(r.isValid);\n });\n }\n }\n }, {\n id: \"no\",\n text: this.localization.translateOnce(\"base.no\"),\n onClick: () => {\n resolve(true);\n }\n }, {\n id: \"cancel\",\n text: this.localization.translateOnce(\"base.cancel\"),\n onClick: () => {\n resolve(false);\n }\n }]\n });\n });\n } else {\n return Promise.resolve(true);\n }\n }\n async reactivate(): Promise {\n await this.reloadIfServerHasNewVersion();\n\n this.formBaseImport.eventAggregator.publish(\"form:title-changed\", {\n form: this\n });\n\n await this.dispatchOnReactivated();\n }\n\n getFileDownloadUrl(key: string): string {\n const url = this.binding.evaluate(this.scope, key);\n if (!url) {\n return \"\";\n }\n\n return this.formBaseImport.file.getDownloadUrl(url);\n }\n getFormsInclOwn(): FormBase[] {\n return [this, ...this.nestedForms.getNestedForms()];\n }\n\n executeCommand(id: string, options?: Toolbar.IItemExecuteOptions) {\n options = options || {\n event: null\n };\n\n if (id === \"$command\") {\n const commands = this.commands\n .getCommands()\n .filter(c =>\n this.formBaseImport.command.isVisibleAndEnabled(c));\n\n this.formBaseImport.formEvent.onExecuteCommand.fire({\n form: this,\n commands: commands,\n allowGlobalCommands: !this.isEditPopup\n });\n } else {\n const command = this.commands\n .getCommands()\n .find(i => i.id == id);\n\n if (!command) {\n return;\n }\n\n this.command.execute(this.scope, command, options);\n }\n }\n\n createValidationResult(): IValidationResult {\n return {\n isValid: true,\n messages: []\n };\n }\n async validate(validationResult: IValidationResult, showErrorIfInvalid: boolean = true): Promise {\n const args: IFormValidatingEventArgs = {\n form: this,\n validationResult: validationResult\n }\n\n await this.dispatchOnValidating(args);\n\n if (showErrorIfInvalid && validationResult.isValid == false) {\n DevExpress.ui.notify(\n validationResult.messages.length > 0\n ? validationResult.messages[0]\n : this.translate(\"base.validation_error\"),\n \"ERROR\",\n 3000);\n }\n\n return validationResult;\n }\n\n canAdd(): boolean {\n const mainModel = this.models.modelWithKeyId;\n if (!mainModel) {\n return false;\n }\n\n if (!this.formBaseImport.permission.canWebApiNew(mainModel.webApiAction, this.moduleId)) {\n return false;\n }\n\n if (!this.models.allowNew(this.scopeContainer, mainModel)) {\n return false;\n }\n\n return true;\n }\n async add(): Promise {\n if (!this.canAdd()) {\n return;\n }\n\n const hasHandled = await this.handleChangedData();\n if (!hasHandled) {\n return;\n }\n\n this.loadById(\"0\");\n\n this.formBaseImport.taskQueue.queueTask(() => {\n this.focusFirstEnabledEditorGuarded();\n });\n }\n\n canSave(): boolean {\n return this\n .getFormsInclOwn()\n .some(i => i.models.getModels().some(m => {\n if (!m.postOnSave) {\n return false;\n }\n if (!this.models.canSave(m)) {\n return false;\n }\n\n return true;\n }));\n }\n canSaveNow(): boolean {\n return this\n .getFormsInclOwn()\n .some(i => i.models.getModels().some(m => {\n if (!m.postOnSave) {\n return false;\n }\n if (!this.models.data[m.id] || this.models.data[m.id][m.keyProperty] === undefined) {\n return false;\n }\n if (!this.models.allowSave(this.scopeContainer, m)) {\n return false;\n }\n\n return true;\n }));\n }\n async reloadIfServerHasNewVersion(): Promise {\n const m = this.models.modelWithKeyId;\n if (!m\n || !m.optimisticLockingEnabled\n || !this.models.data[m.id]\n || !this.models.data[m.id][m.keyProperty]\n || this.models.data[m.id][\"OLV\"] == void (0)) {\n return false;\n }\n\n const r = await this.rest.get({\n url: `${this.rest.getWebApiUrl(m.webApiAction)}/${this.models.data[m.id][m.keyProperty]}`,\n getOptions: {\n columns: [\"OLV\"]\n },\n moduleId: this.moduleId\n });\n\n if (!r) {\n return false;\n }\n\n const olv = r[\"OLV\"];\n if (olv == this.models.data[m.id][\"OLV\"]) {\n return false;\n }\n\n await this.models.reloadAll();\n return true;\n }\n async saveIfDirty(): Promise {\n this.formBaseImport.windowService.blurCurrentElement();\n\n if (this.isNestedForm && this.parent instanceof FormBase) {\n const r = await this.parent.saveIfDirty();\n if (!r.isValid) {\n return r;\n }\n }\n\n if (!this.models.hasChangedData()) {\n const validationResult = this.createValidationResult();\n\n if (this.canSave() && this.canSaveNow()) {\n await this.validate(validationResult, true);\n }\n\n return validationResult;\n }\n\n return this.save();\n }\n async save(): Promise {\n this.formBaseImport.windowService.blurCurrentElement();\n const validationResult = this.createValidationResult();\n\n if (!this.canSave() || !this.canSaveNow()) {\n validationResult.isValid = false;\n return Promise.resolve(validationResult);\n }\n\n await this.validate(validationResult, true);\n\n if (validationResult.isValid) {\n try {\n await this.dispatchOnSaving();\n await this.models.save();\n\n DevExpress.ui.notify(\n this.translate(\"base.save_success\"),\n \"SUCCESS\",\n 3000);\n\n this.setCurrentUrl();\n this.dispatchOnSaved();\n } catch (ex) {\n validationResult.isValid = false;\n return validationResult;\n }\n }\n\n return validationResult;\n }\n\n canDeleteNow(): boolean {\n return this\n .getFormsInclOwn()\n .some(i => i.models.getModels().some(m => {\n if (!m.postOnSave) {\n return false;\n }\n if (!this.models.data[m.id] || !this.models.data[m.id][m.keyProperty]) {\n return false;\n }\n if (!this.models.allowDelete(this.scopeContainer, m)) {\n return false;\n }\n if (!this.models.canDelete(m)) {\n return false;\n }\n\n return true;\n }));\n }\n async delete(): Promise {\n if (!this.canSave() || !this.canDeleteNow()) {\n return false;\n }\n\n const deletingResult = await this.dispatchOnDeleting();\n if (!deletingResult) {\n return false;\n }\n\n await this.models.delete();\n await this.dispatchOnDeleted();\n \n return true;\n }\n\n translate(key: string): string {\n return this.localization.translateOnce(key, this.scopeContainer);\n }\n\n loadById(id: string): void {\n this.setCurrentUrl(id);\n\n if (this.variables.data.$id == id) {\n this.models\n .loadModelWithKeyId();\n }\n else {\n this.variables.data.$id = id;\n }\n }\n\n async dispatchOnCreated() {\n const args = {\n form: this\n };\n\n this.formBaseImport.formEvent.onCreated.fire(args);\n }\n async dispatchOnActivate(parameters: any) {\n await this.onActivate.fire({\n form: this,\n parameters: parameters\n });\n }\n async dispatchOnBind() {\n const args = {\n form: this\n };\n\n await this.onBind.fire(args);\n await this.formBaseImport.formEvent.onBind.fire(args);\n }\n async dispatchOnAttached() {\n const args = {\n form: this\n };\n\n await this.onAttached.fire(args);\n await this.formBaseImport.formEvent.onAttached.fire(args);\n }\n async dispatchOnReady() {\n const args = {\n form: this\n };\n\n this.formBaseImport.taskQueue.queueMicroTask(async () => {\n await this.onReady.fire(args);\n await this.formBaseImport.formEvent.onReady.fire(args);\n\n if (!this.isNestedForm) {\n this.focusFirstEnabledEditorGuarded();\n }\n });\n }\n async dispatchOnReactivated() {\n const args = {\n form: this\n };\n\n await this.onReactivated.fire(args);\n await this.formBaseImport.formEvent.onReactivating.fire(args);\n }\n async dispatchOnValidating(args: IFormValidatingEventArgs) {\n await this.onValidating.fire(args);\n await this.formBaseImport.formEvent.onValidating.fire(args);\n\n const forms = this.nestedForms.getNestedForms();\n\n for (let form of forms) {\n await form.validate(args.validationResult, false);\n }\n }\n async dispatchOnSaving() {\n const args = {\n form: this\n };\n\n await this.onSaving.fire(args);\n await this.formBaseImport.formEvent.onSaving.fire(args);\n }\n async dispatchOnSaved() {\n const args = {\n form: this\n };\n\n await this.onSaved.fire(args);\n await this.formBaseImport.formEvent.onSaved.fire(args);\n }\n async dispatchOnDeleting() {\n const args = {\n form: this,\n cancel: false\n };\n\n await this.onDeleting.fire(args);\n\n if (args.cancel) {\n return false;\n }\n\n await this.formBaseImport.formEvent.onDeleting.fire(args);\n\n if (args.cancel) {\n return false;\n }\n\n return true;\n }\n async dispatchOnDeleted() {\n const args = {\n form: this\n };\n\n await this.onDeleted.fire(args);\n await this.formBaseImport.formEvent.onDeleted.fire(args);\n }\n async dispatchOnDetached() { \n const args = {\n form: this\n };\n\n await this.onDetached.fire(args);\n await this.formBaseImport.formEvent.onDetached.fire(args);\n }\n async dispatchOnUnbind() {\n const args = {\n form: this\n };\n\n await this.onUnbind.fire(args);\n await this.formBaseImport.formEvent.onUnbind.fire(args);\n }\n\n focusFirstEnabledEditorGuarded() {\n if (this.formBaseImport.browser.isTouch) {\n return;\n }\n\n if (!this.focusFirstEnabledEditor) {\n return;\n }\n\n this.focusFirstEnabledEditor();\n }\n\n protected addModel(model: Interfaces.IModel): void {\n this.callOnBind(() => {\n this.models.addInfo(model);\n });\n }\n protected addVariable(variable: Interfaces.IVariable): void {\n this.callOnBind(() => {\n this.variables.addInfo(variable);\n });\n }\n protected addCommandServerData(id: string, commandServerData: Interfaces.ICommandData): void {\n this.callOnBind(() => {\n this.commandServerData.add(id, commandServerData);\n });\n }\n protected addCommand(command: Interfaces.ICommand): void {\n this.callOnBind(() => {\n this.commands.addInfo(command);\n });\n }\n protected addFunction(id: string, functionInstance: any, namespace: string, customParameter?: any): void {\n if (functionInstance.registerForm) {\n functionInstance.registerForm(this);\n }\n\n this.callOnBind(() => {\n this.functions.add(id, functionInstance, namespace, customParameter);\n });\n }\n protected addNestedForm(id: string, mappings: Interfaces.IMapping[]): void {\n this.callOnBind(() => {\n this.nestedForms.addInfo(id, mappings);\n });\n }\n protected addEditPopup(editPopup: Interfaces.IEditPopup): void {\n this.callOnBind(() => {\n this.editPopups.addInfo(editPopup);\n });\n }\n protected addMapping(mapping: Interfaces.IMapping): void {\n }\n protected submitForm(commandExpression: string, options?: Toolbar.IItemExecuteOptions): void {\n const command: Interfaces.ICommandData = this.binding.evaluate(this.scope, commandExpression);\n if (!command || !command.execute) {\n return;\n }\n\n this.command.execute(this.scope, command, options);\n }\n protected onConstructionFinished(): void {\n this.dispatchOnCreated();\n }\n\n private loadCommands() {\n if (!this.isNestedForm) {\n this.commands.addCommand(this.formBaseImport.defaultCommands.getFormGoBackCommand(this));\n\n if (this.isEditPopup) {\n this.commands.addCommand(this.formBaseImport.defaultCommands.getFormAddCommand(this));\n this.commands.addCommand(this.formBaseImport.defaultCommands.getFormSaveCommand(this));\n this.commands.addCommand(this.formBaseImport.defaultCommands.getEditPopupSaveAndCloseCommand(this));\n this.commands.addCommand(this.formBaseImport.defaultCommands.getEditPopupSaveAndAddCommand(this));\n this.commands.addCommand(this.formBaseImport.defaultCommands.getEditPopupDeleteCommand(this));\n\n this.commands.addCommand(this.formBaseImport.defaultCommands.getScrollDown(this));\n this.commands.addCommand(this.formBaseImport.defaultCommands.getScrollUp(this));\n } else {\n this.commands.addCommand(this.formBaseImport.defaultCommands.getFormAddCommand(this));\n this.commands.addCommand(this.formBaseImport.defaultCommands.getFormSaveCommand(this));\n this.commands.addCommand(this.formBaseImport.defaultCommands.getFormDeleteCommand(this));\n\n if (this.viewScrollInfo) {\n this.commands.addCommand(this.formBaseImport.defaultCommands.getScrollDown(this));\n this.commands.addCommand(this.formBaseImport.defaultCommands.getScrollUp(this));\n }\n }\n }\n\n if (this.isEditPopup) {\n this.commands.addCommand(this.formBaseImport.defaultCommands.getClosePopupCommand());\n }\n }\n private setCurrentUrl(id: string = null): void {\n if (this.isEditPopup || this.isNestedForm) {\n return;\n }\n\n if (id == void (0)) {\n const mainModel = this.models.modelWithKeyId;\n if (!mainModel) {\n return;\n }\n\n const data = this.models.data[mainModel.id];\n if (!data) {\n return;\n }\n\n const key = data[mainModel.keyProperty];\n if (key == void (0)) {\n return;\n }\n\n id = key;\n }\n\n const currentUrl = this.formBaseImport.history.getUrl();\n const currentRoute = this.formBaseImport.router.getRoute(currentUrl);\n\n if (!currentRoute) {\n return;\n }\n\n const newUrl = this.formBaseImport.router.constructUrl(currentRoute.route, {\n id: id\n });\n\n this.formBaseImport.history.setUrlWithoutNavigation(newUrl, true);\n }\n private focusFirstEnabledEditorEx() {\n const elements = Array.from(this.element.querySelectorAll(\".dx-texteditor\"));\n\n for (let element of elements) {\n let cancelCurrent = false;\n let parent = element.parentElement;\n while (parent && parent != this.element) {\n if (parent.classList.contains(\"dx-popup\")) {\n cancelCurrent = true;\n break;\n }\n parent = parent.parentElement;\n }\n\n if (cancelCurrent) {\n continue;\n }\n\n const name = element.parentElement.getAttribute(\"name\");\n if (!name) {\n continue;\n }\n\n const instance = DxLoader.getInstance(name, element);\n if (!instance || !instance.focus) {\n continue;\n }\n\n const tabIndex = instance.option(\"tabIndex\");\n const isDisabled = instance.option(\"disabled\");\n\n if ((tabIndex && tabIndex < 0) || isDisabled) {\n continue;\n }\n\n instance.focus();\n return;\n }\n }\n\n private registerHasChangedData() {\n this._beforeUnloadEventAggregatorSubscription = this.formBaseImport.eventAggregator.subscribe(\"window:beforeunload\", e => {\n e.hasChangedData = e.hasChangedData || this.models.hasChangedData();\n });\n }\n private registerReloadEventAggregator() {\n this._reloadEventAggregatorSubscription = this.formBaseImport.eventAggregator.subscribe(\n \"data:reload\",\n (data) => {\n if (!data) {\n return;\n }\n\n const id = data.Id;\n const action = data.Action;\n\n if (!id || !action) {\n return;\n }\n\n const modelWithKeyId = this.models.modelWithKeyId;\n\n //Wenn ein Model mit Key-ID existiert, dann wird nur spezifisch darauf geprüft\n if (modelWithKeyId) {\n if (!modelWithKeyId || modelWithKeyId.webApiAction != action) {\n return;\n }\n\n const modelData = this.models.data[modelWithKeyId.id];\n if (modelData == null || modelData[modelWithKeyId.keyProperty] != id) {\n return;\n }\n\n this.models.reloadAll();\n } else {\n this.models\n .getModels()\n .filter(model => !model.key && model.webApiAction == action)\n .forEach(model => this.models.onLoadRequired.fire({\n model: model\n }));\n }\n }\n );\n }\n private registerEditorValueChanged() {\n this.onEditorValueChanged.register((e) => {\n if (!e.binding || !e.binding.dataContext) {\n return Promise.resolve();\n }\n\n const model = this.models.getInfo(e.binding.dataContext, false);\n if (model) {\n this.models.setDataChanged(model);\n }\n\n return Promise.resolve();\n });\n }\n private registerRouterCurrentViewItemChanged() {\n if (this.isEditPopup || this.isNestedForm) {\n return;\n }\n\n this._routerCurrentViewItemChangedSubscription = this.formBaseImport.eventAggregator.subscribe(\"router:current-view-item-changed\", e => {\n this.canGoBack = e.currentViewItem.model == this.viewItemInfo\n && this.formBaseImport.router.viewStack.length > 1;\n\n this.isCurrentForm = e.currentViewItem.model == this.viewItemInfo;\n });\n }\n private validateViewScrollInfo() {\n if (!this.viewScrollInfo) {\n return;\n }\n if (this.viewScrollInfo.resultKeyResolver) {\n return;\n }\n if (this.viewScrollInfo.getNextKey) {\n return;\n }\n\n const model = this.models.modelWithKeyId;\n const isSameUrl = model\n && model.webApiAction\n && this.rest.getWebApiUrl(model.webApiAction) == this.viewScrollInfo.lastLoadInfo.url\n\n if (!isSameUrl) {\n this.viewScrollInfo = null;\n }\n }\n\n private dispose() {\n this.scopeContainer.disposeAll();\n this.scope = null;\n\n this.formBaseImport.dispose();\n }\n}\n","import { autoinject } from \"aurelia-framework\";\nimport { EventAggregator } from 'aurelia-event-aggregator';\n\n@autoinject\nexport class WidgetExtenderService {\n constructor(\n private eventAggregator: EventAggregator\n ) {\n eventAggregator.subscribe(\"dx-widget:attaching\", e => {\n if (e.name == \"dxRadioGroup\") {\n if (e.options.layout == void(0)) {\n e.options.layout = \"horizontal\";\n }\n } else if (e.name == \"dxDataGrid\") {\n if (!e.options.paging || !e.options.paging.pageSize) {\n e.options.paging = e.options.paging || {};\n e.options.paging.pageSize = 30;\n }\n if (!e.options.pager || e.options.pager.showInfo == void(0)) {\n e.options.pager = e.options.pager || {};\n e.options.pager.showInfo = true;\n e.options.pager.visible = true;\n }\n } else if (e.name == \"dxLookup\") {\n if (e.options.fieldTemplate === \"zit-landvorwahl-bezeichnung-field-template\") {\n e.options.fieldTemplate = \"zit-landvorwahl-bezeichnung-lookup-field-template\"\n }\n } else if (e.name == \"dxDateBox\") {\n if (e.options.width == void(0)) {\n e.options.width = \"100%\";\n }\n }\n });\n }\n}\n","import {\n autoinject\n} from \"aurelia-framework\";\nimport { RestService } from './rest-service';\nimport { EventAggregator } from 'aurelia-event-aggregator';\n\n@autoinject\nexport class PermissionService {\n private _permissionInfo: any = {};\n\n constructor(\n private restService: RestService,\n private eventAggregator: EventAggregator\n ) {}\n\n allowAllPermission: boolean = false;\n\n async loadPermissions() {\n const result = await this.restService.get({\n url: this.restService.getApiUrl(\"base/Data/Permission\")\n });\n\n const permissionInfo = {};\n for (let item of result) {\n permissionInfo[item.WebApiAction] = item;\n }\n\n this._permissionInfo = permissionInfo;\n }\n\n canWebApiNew(webApiAction: string, moduleId?: string): boolean {\n return this.canWebApi(webApiAction, \"CanNew\", moduleId);\n }\n canWebApiModify(webApiAction: string, moduleId?: string): boolean {\n return this.canWebApi(webApiAction, \"CanModify\", moduleId);\n }\n canWebApiDelete(webApiAction: string, moduleId?: string): boolean {\n return this.canWebApi(webApiAction, \"CanDelete\", moduleId);\n }\n\n private canWebApi(webApiAction: string, property: string, moduleId?: string): boolean {\n if (this.allowAllPermission) {\n return true;\n }\n\n const args = {\n webApiAction,\n property,\n moduleId,\n hasAccess: null\n }\n\n this.eventAggregator.publish(\"permission:has-access\", args);\n\n if (args.hasAccess != void(0)) {\n return args.hasAccess;\n }\n\n if (!this._permissionInfo[webApiAction]) {\n return false;\n }\n\n return this._permissionInfo[webApiAction][property];\n }\n}\n","module.exports = \"
${data.Key}
\";","export * from \"./file-uploader-with-viewer/tip-file-uploader-with-viewer\";\nexport * from \"./list-view/list-view\";\nexport * from \"./toolbar/toolbar\";\nexport * from \"./code-editor/code-editor\";\nexport * from \"./custom-edit-popup/custom-edit-popup\";\n","import {\n autoinject\n} from \"aurelia-framework\";\nimport {\n DxTemplateService\n} from \"../../framework/dx/export\";\n\nimport * as landvorwahlBezeichnung from \"html-loader!../templates/landvorwahl-bezeichnung.xhtml\";\nimport * as landvorwahlBezeichnungField from \"html-loader!../templates/landvorwahl-bezeichnung-field.xhtml\";\nimport * as landvorwahlBezeichnungLookupField from \"html-loader!../templates/landvorwahl-bezeichnung-lookup-field.xhtml\";\nimport * as geschaeftspartner from \"html-loader!../templates/geschaeftspartner.xhtml\";\nimport * as ansprechperson from \"html-loader!../templates/ansprechperson.xhtml\";\nimport * as dispoPlanstelle from \"html-loader!../templates/dispo-planstelle.xhtml\";\nimport * as person from \"html-loader!../templates/person.xhtml\";\nimport * as profilFirma from \"html-loader!../templates/profil-firma.xhtml\";\nimport * as stelleninserat from \"html-loader!../templates/stelleninserat.xhtml\";\n\n@autoinject\nexport class TemplateRegisterService {\n constructor(\n private dxTemplate: DxTemplateService\n ) { }\n\n register() {\n this.dxTemplate.registerTemplate(\n \"zit-landvorwahl-bezeichnung-template\",\n landvorwahlBezeichnung);\n\n this.dxTemplate.registerTemplate(\n \"zit-landvorwahl-bezeichnung-field-template\",\n landvorwahlBezeichnungField);\n\n this.dxTemplate.registerTemplate(\n \"zit-landvorwahl-bezeichnung-lookup-field-template\",\n landvorwahlBezeichnungLookupField);\n\n this.dxTemplate.registerTemplate(\n \"zit-geschaeftspartner-template\",\n geschaeftspartner);\n\n this.dxTemplate.registerTemplate(\n \"zit-ansprechperson-template\",\n ansprechperson);\n\n this.dxTemplate.registerTemplate(\n \"zit-dispoplanstelle-template\",\n dispoPlanstelle);\n\n this.dxTemplate.registerTemplate(\n \"zit-person-template\",\n person);\n\n this.dxTemplate.registerTemplate(\n \"zit-profilfirma-template\",\n profilFirma);\n\n this.dxTemplate.registerTemplate(\n \"zit-stelleninserat-template\",\n stelleninserat);\n }\n}\n","import { autoinject, transient, computedFrom } from 'aurelia-framework';\nimport { Share } from '../../../elements/share/share';\nimport { FormBase } from '../../../../framework/forms/form-export';\nimport { ICommandData } from '../../../../framework/forms/export';\n\n@autoinject\n@transient()\nexport class AnsprechpersonReadUtils {\n constructor(\n ) { }\n\n form: FormBase;\n\n actionCommand: ICommandData = {\n id: \"actionCommand\",\n icon: \"fas fa-share-alt\",\n tooltip: \"zit.aktionen\",\n sortIndex: 99,\n isVisibleExpression: \"r_share.canShare\",\n execute: (executeOptions) => {\n const share: Share = this.form[\"r_share\"];\n share.showCtxMenu(executeOptions.event);\n }\n };\n\n bind(form: FormBase) {\n this.form = form;\n }\n}\n","import {\n autoinject,\n TemplatingEngine\n} from \"aurelia-framework\";\nimport {\n LocalizationService, BrowserService\n} from \"../../framework/base/export\";\nimport {\n FormEventService, ICommandData, IFileUploaderWithViewerOptions, TipFileUploaderWithViewer, FormBase\n} from \"../../framework/forms/export\";\nimport { ObjektInfoService } from '../../zit/services/objekt-info-service';\nimport { CustomEditPopupService } from '../../zit/services/custom-edit-popup-service';\nimport { FormEvalService } from '../../zit/services/form-eval-service';\nimport { RouterService } from '../../framework/forms/services/router-service';\nimport { LayoutTyp } from '../../zit/interfaces/layout-typ';\nimport { LocationService } from '../../framework/base/services/location-service';\nimport { StartupService } from './startup-service';\nimport { BenutzerTyp } from '../enumerations/export';\nimport { EventAggregator } from 'aurelia-event-aggregator';\nimport { IToolbarOptions } from '../../framework/forms/elements/toolbar/toolbar-options';\nimport { ErklaervideoService } from './erklaervideo-service';\nimport { NachrichtService } from './nachricht-service';\n\n@autoinject\nexport class FormExtenderService {\n constructor(\n private _formEventService: FormEventService,\n private _localizationService: LocalizationService,\n private _templatingEngine: TemplatingEngine,\n private _objektInfoService: ObjektInfoService,\n private _customEditPopupService: CustomEditPopupService,\n private _formEvalService: FormEvalService,\n private _routerService: RouterService,\n private _locationService: LocationService,\n private _startupService: StartupService,\n private _eventAggregator: EventAggregator,\n private _erklaervideoService: ErklaervideoService,\n private _browserService: BrowserService,\n private _nachrichtService: NachrichtService\n ) {\n this.registerAendInfo();\n this.registerShowEditForm();\n this.registerShowBenutzergruppeEditForm();\n this.registerFileUploader();\n this.registerErklaervideo();\n this.registerNachrichtGruppe();\n }\n\n private registerAendInfo() {\n this._formEventService.onAttached.register(e => {\n if (!e.form.models.modelWithKeyId) {\n return;\n }\n if (e.form.isNestedForm) {\n return;\n }\n if (e.form.isEditPopup && e.form.id != \"nachrichten-gruppe-edit\") {\n return;\n }\n if (e.form.id == \"event-zeitraum-read\") {\n return;\n }\n\n const model = e.form.models.modelWithKeyId;\n\n let parentElement = e.form.element.querySelector(\".t--form-content .dx-scrollview-content > .parent-container > .container\");\n if (!parentElement) {\n parentElement = e.form.element.querySelector(\".t--form-validation-group > div > .parent-container > .container\");\n\n if (!parentElement) {\n return;\n }\n }\n\n const modelPraefix = \"models.data.\".concat(model.id).concat(\".\");\n\n const aendDiv = document.createElement(\"div\");\n aendDiv.className = \"col-xs-12 z--aenderung-info\";\n\n const erstelltDiv = document.createElement(\"div\");\n erstelltDiv.setAttribute(\"if.bind\", modelPraefix.concat(\"Anlagedatum\"));\n\n let erstelltText = this._localizationService.translateOnce(\"zit-ui.erstellt_am\");\n erstelltText = this.replaceIndex(erstelltText, 0, modelPraefix.concat(\"Anlagedatum | format:'g'\"));\n erstelltDiv.innerText = erstelltText;\n aendDiv.appendChild(erstelltDiv);\n\n const geandertDiv = document.createElement(\"div\");\n geandertDiv.setAttribute(\"if.bind\", modelPraefix.concat(\"Aenderungsdatum\"));\n\n let geaendertText = this._localizationService.translateOnce(\"zit-ui.geaendert_am\");\n geaendertText = this.replaceIndex(geaendertText, 0, modelPraefix.concat(\"Aenderungsdatum | format:'g'\"));\n geandertDiv.innerText = geaendertText;\n aendDiv.appendChild(geandertDiv);\n \n if (modelPraefix === \"models.data.$m_Person.\") {\n const ltztVerwendungDiv = document.createElement(\"div\");\n ltztVerwendungDiv.setAttribute(\"if.bind\", modelPraefix.concat(\"_LetzteVerwendung\"));\n\n let ltztVerwendungText = this._localizationService.translateOnce(\"zit-ui.ltzt_verwendung_am\");\n ltztVerwendungText = this.replaceIndex(ltztVerwendungText, 0, modelPraefix.concat(\"_LetzteVerwendung | format:'g'\"));\n ltztVerwendungDiv.innerText = ltztVerwendungText;\n aendDiv.appendChild(ltztVerwendungDiv);\n }\n\n if (modelPraefix === \"models.data.$m_Benutzer.\") {\n const aktiviertDiv = document.createElement(\"div\");\n aktiviertDiv.setAttribute(\"if.bind\", modelPraefix.concat(\"Aktivierungsdatum\"));\n\n let aktiviertText = this._localizationService.translateOnce(\"zit-ui.aktiviert_am\");\n aktiviertText = this.replaceIndex(aktiviertText, 0, modelPraefix.concat(\"Aktivierungsdatum | format:'g'\"));\n aktiviertDiv.innerText = aktiviertText;\n aendDiv.appendChild(aktiviertDiv);\n }\n\n parentElement.appendChild(aendDiv);\n\n this._templatingEngine.enhance({\n element: aendDiv,\n bindingContext: e.form.scope.bindingContext,\n overrideContext: e.form.scope.overrideContext\n });\n\n return Promise.resolve();\n });\n }\n private replaceIndex(input: string, index: number, value: string): string {\n const find = \"{\" + index + \"}\";\n const replace = \"${\" + value + \"}\";\n\n return input.replace(find, replace)\n }\n\n private registerShowEditForm() {\n this._formEventService.onBind.register(e => {\n e.form.callOnBind(async () => {\n const addCommand = e.form.viewItemInfo\n && e.form.viewItemInfo.routeInfo\n && e.form.viewItemInfo.routeInfo.route\n && e.form.viewItemInfo.routeInfo.route.route\n && e.form.viewItemInfo.routeInfo.parameters.id\n && e.form.viewItemInfo.moduleId\n && e.form.viewItemInfo.moduleId.endsWith(\"read-form\");\n\n if (!addCommand) {\n return;\n }\n\n const editCommand = {\n id: \"$showEditForm\",\n icon: \"fas fa-pencil-alt\",\n tooltip: \"zit.show-edit\",\n isVisible: false,\n sortIndex: 50,\n execute: () => {\n const url = e.form.viewItemInfo.routeInfo.url + \"?mode=1\";\n\n const getCurrent = (): FormBase => {\n return this._routerService.currentViewItem\n && this._routerService.currentViewItem.controller\n && (this._routerService.currentViewItem.controller).currentViewModel\n ? (this._routerService.currentViewItem.controller).currentViewModel\n : null;\n }\n let current = getCurrent();\n if (current && current.id == \"nachrichtenList\") {\n this._routerService.removeLastViewItem();\n\n current = getCurrent();\n }\n\n this._locationService.goTo({\n url: url,\n currentViewModel: e.form,\n replace: (current == e.form)\n });\n }\n };\n\n e.form.commands.addCommand(editCommand);\n\n let route = e.form.viewItemInfo.routeInfo.route.route;\n if (Array.isArray(route)) {\n route = route[0];\n }\n\n const formBearbeitung = await this._formEvalService.checkRoute(\n route,\n LayoutTyp.Bearbeitung,\n e.form.viewItemInfo.routeInfo.parameters.id,\n false\n );\n\n if (formBearbeitung && formBearbeitung != e.form.viewItemInfo.moduleId) {\n editCommand.isVisible = true;\n }\n });\n\n return Promise.resolve();\n });\n }\n\n private registerShowBenutzergruppeEditForm() {\n this._formEventService.onBind.register(e => {\n e.form.callOnBind(async () => {\n const isAdmin = this._startupService.startupInfo.Benutzer.Benutzertyp == BenutzerTyp.Administrator;\n\n if (!isAdmin) {\n return;\n }\n\n const model = e.form.models.modelWithKeyId;\n if (!model) {\n return;\n }\n\n const objektInfo = this._objektInfoService.getObjektByWebApiUrl(model.webApiAction);\n if (!objektInfo) {\n return;\n }\n\n const editCommand: ICommandData = {\n id: \"$showBenutzergruppen\",\n icon: \"fas fa-users\",\n tooltip: \"zit.show-benutzergruppe\",\n sortIndex: 500,\n isVisibleExpression: `models.data.${model.id}.Id`,\n expressionScope: e.form.scope,\n execute: () => {\n const data = e.form.models.data[model.id];\n const id = data.Id;\n if (!id) {\n return;\n }\n\n this._customEditPopupService.objektZuBenutzergruppe.show({\n mappings: {\n \"$v_idObjekt\": id,\n \"$v_titel\": data.Titel\n }\n });\n }\n };\n\n e.form.commands.addCommand(editCommand);\n });\n\n return Promise.resolve();\n });\n }\n\n private registerNachrichtGruppe() {\n this._formEventService.onBind.register(e => {\n if (e.form.isEditPopup) {\n return;\n }\n if (e.form.isNestedForm) {\n return;\n }\n if (!this._startupService.startupInfo.Benutzer.HasNachrichten) {\n return;\n }\n\n e.form.callOnBind(async () => {\n const model = e.form.models.modelWithKeyId;\n if (!model) {\n return;\n }\n\n const objektInfo = this._objektInfoService.getObjektByWebApiUrl(model.webApiAction);\n if (!objektInfo) {\n return;\n }\n\n const editCommand = {\n id: \"showNachrichten\",\n icon: \"far fa-comment-dots\",\n tooltip: \"zit.nachrichten\",\n sortIndex: 95,\n isVisible: false,\n expressionScope: e.form.scope,\n execute: () => {}\n };\n e.form.commands.addCommand(editCommand);\n \n e.form.models.onLoaded.register(async (mle) => {\n if (!mle.data || !mle.data.Id) {\n return;\n }\n\n const info = await this._nachrichtService.getNachrichtGruppeBenutzerInfoForObjekt(\n objektInfo.Fullname,\n mle.data.Id\n );\n\n if (!info) {\n return;\n }\n\n const goToAction = () => {\n this._locationService.goTo({\n url: \"Nachrichten\",\n currentViewModel: e.form,\n customOptions: {\n benutzerInfo: info\n }\n });\n };\n\n editCommand.isVisible = true;\n editCommand.execute = goToAction;\n\n if (!this._browserService.isMobile) {\n goToAction();\n }\n })\n });\n\n return Promise.resolve();\n });\n }\n\n private registerFileUploader() {\n this._eventAggregator.subscribe(\"file-uploader:bind\", e => {\n const options: IFileUploaderWithViewerOptions = e.options;\n\n options.showDownloadButton = false;\n options.showToolbar = false;\n options.showToolbarBottom = true;\n });\n\n this._eventAggregator.subscribe(\"file-uploader:create-toolbar-bottom\", e => {\n const toolbarOptions: IToolbarOptions = e.toolbarOptions;\n const instance: TipFileUploaderWithViewer = e.instance;\n\n toolbarOptions.items.push({\n id: \"file-download\",\n icon: \"fas fa-download\",\n sortIndex: 1050,\n isVisibleExpression: \"showViewer\",\n execute: (e: any) => {\n if (e && e.event && e.event.stopPropagation) {\n e.event.stopPropagation();\n }\n\n window.open(instance.downloadUrl, \"_blank\");\n }\n });\n toolbarOptions.items.push({\n id: \"file-upload\",\n icon: \"fas fa-upload\",\n sortIndex: 1051,\n isEnabledExpression: \"canUpload\",\n execute: (e: any) => {\n if (e && e.event && e.event.stopPropagation) {\n e.event.stopPropagation();\n }\n\n instance.onClick();\n }\n });\n toolbarOptions.items.push({\n id: \"file-delete\",\n icon: \"fas fa-times\",\n sortIndex: 1052,\n isEnabledExpression: \"canUpload\",\n execute: (e: any) => {\n if (e && e.event && e.event.stopPropagation) {\n e.event.stopPropagation();\n }\n\n instance.setValue(null);\n }\n });\n });\n }\n\n private registerErklaervideo() {\n this._erklaervideoService.init();\n \n this._formEventService.onBind.register(e => {\n if (e.form && e.form.viewItemInfo && e.form.viewItemInfo.moduleId) {\n const moduleId = e.form.viewItemInfo.moduleId;\n this._erklaervideoService.attachedToolbarButton(moduleId, i => e.form.commands.addCommand(i));\n }\n\n return Promise.resolve();\n });\n }\n}\n","export enum Abholfiliale {\n Dornbirn = 0,\n Bludenz = 1,\n Schaanwald = 2\n}\n","module.exports = \"
\";","import * as moment from \"moment\";\nimport {\n autoinject\n} from \"aurelia-framework\";\n\ndeclare const DevExpress: any;\n\n@autoinject\nexport class GlobalizationService {\n private groupRegex = /\\B(?=(\\d{3})+(?!\\d))/g;\n private escapeRegex = /[\\-\\[\\]\\/\\{\\}\\(\\)\\*\\+\\?\\.\\\\\\^\\$\\|]/g;\n private current: IGlobalizationProvider;\n private formatters = {};\n private parsers = {};\n\n constructor() {\n this.setProvider(new GermanGlobalizationProvider());\n }\n\n setProvider(provider: IGlobalizationProvider) {\n this.current = provider;\n this.formatters = {};\n this.parsers = {};\n\n const devExpress = this.getDevExpress();\n if (devExpress) {\n devExpress.integration.date.inject({\n getMonthNames: (format) => {\n if (format == \"abbreviated\") {\n return provider.monthsShort;\n } else {\n return provider.months;\n }\n },\n getDayNames: (format) => {\n if (format == \"abbreviated\") {\n return provider.daysShort;\n } else {\n return provider.days;\n }\n }\n })\n }\n }\n\n format(value: any, format: string) {\n return this.getFormatter(format)(value);\n }\n getFormatter(format: string) {\n let formatter = this.formatters[format];\n\n if (formatter == void (0)) {\n formatter = (value: any) => {\n if (value == void (0)) {\n return null;\n }\n\n if (format.length === 1 || format.startsWith(\"DT_\")) {\n const momentFormat = format.startsWith(\"DT_\")\n ? format.substr(3)\n : this.current[format];\n\n return moment(value).locale(this.current.culture).format(momentFormat);\n } else {\n const count = parseInt(format.substr(1)) || 0;\n const formatClass = format.substr(0, 1);\n\n if (formatClass === \"p\") {\n value = value * 100;\n }\n\n const prefix = value < 0 \n ? \"-\" \n : \"\";\n\n const valueInt = parseInt(value = Math.abs(Number(value) || 0).toFixed(count));\n const valueIntAsString = String(valueInt);\n \n let groupRest;\n groupRest = (groupRest = valueIntAsString.length) > 3 ? groupRest % 3 : 0;\n\n return prefix \n + (groupRest ? valueIntAsString.substr(0, groupRest) + this.current.groupSeparator : \"\") \n + valueIntAsString.substr(groupRest).replace(/(\\d{3})(?=\\d)/g, \"$1\" + this.current.groupSeparator)\n + (count ? this.current.commaSeparator + Math.abs(value - valueInt).toFixed(count).slice(2) : \"\")\n + (formatClass === \"p\" ? \" %\" : \"\");\n }\n };\n\n this.formatters[format] = formatter;\n }\n\n return formatter;\n }\n getParser(format: string) {\n let parser = this.parsers[format];\n\n if (parser == void (0)) {\n parser = (value: string) => {\n if (value == void (0)) {\n return null;\n }\n\n if (format.length === 1 || format.startsWith(\"DT_\")) {\n const momentFormat = format.startsWith(\"DT_\")\n ? format.substr(3)\n : this.current[format];\n\n let result: moment.Moment = null;\n\n if (value === \" \") {\n result = moment().startOf(\"day\");\n } else if (value.startsWith(\"+\") || value.startsWith(\"-\")) {\n const numberAsStr = value.substr(1);\n const numb = parseInt(numberAsStr);\n if (isNaN(numb)) {\n return null;\n }\n\n const isSubstract = value.startsWith(\"-\");\n if (isSubstract) {\n result = moment().startOf(\"day\").subtract(numb, \"days\");\n } else {\n result = moment().startOf(\"day\").add(numb, \"days\");\n }\n } else {\n result = moment(value, momentFormat);\n }\n\n if (result.isValid()) {\n return result.toDate();\n } else {\n return null;\n }\n } else {\n const groupFinder = this.current.groupSeparator.replace(this.escapeRegex, \"\\\\$&\");\n value = value\n .replace(new RegExp(groupFinder, \"g\"), \"\")\n .replace(new RegExp(\"%\", \"g\"), \"\")\n .replace(new RegExp(\" \", \"g\"), \"\");\n\n const indexOf = value.indexOf(this.current.commaSeparator);\n\n let b = value;\n let a = \"\";\n if (indexOf >= 0) {\n b = value.substr(0, indexOf);\n a = value.substr(indexOf + 1);\n }\n\n const count = parseInt(format.substr(1));\n const formatClass = format.substr(0, 1);\n\n switch (formatClass) {\n case \"f\":\n case \"n\": {\n return parseInt(b) + this.makeComma(a);\n }\n case \"p\": {\n return (parseInt(b) + this.makeComma(a)) / 100;\n }\n default: {\n throw new Error(`Not implemented format ${format}`);\n }\n }\n }\n };\n\n this.parsers[format] = parser;\n }\n\n return parser;\n }\n getFormatterParser(format: string): any {\n return {\n formatter: this.getFormatter(format),\n parser: this.getParser(format)\n };\n }\n getNumberFormat(format: string): string {\n if (format.length < 2) {\n throw new Error(`Invalid number format ${format}`);\n }\n\n const f = format.substr(0, 1);\n const n = parseInt(format.substr(1));\n\n let nk = \"\";\n if (n > 0) {\n nk = \".\" + \"0\".repeat(n);\n }\n\n switch (f) {\n case \"f\":\n case \"F\": {\n return `#0${nk}`;\n }\n case \"n\":\n case \"N\": {\n return `#,##0${nk}`;\n }\n case \"p\":\n case \"P\": {\n return `#,##0${nk} %`;\n }\n default: {\n throw new Error(`Invalid number format ${format}`);\n }\n }\n }\n\n private getDevExpress(): any {\n const w: any = window;\n return w.DevExpress;\n }\n private makeComma(value: string) {\n return parseInt(value) / Math.pow(10, value.length);\n }\n}\n\nexport interface IGlobalizationProvider {\n culture: string;\n\n d: string;\n D: string;\n e: string;\n E: string;\n f: string;\n F: string;\n g: string;\n G: string;\n t: string;\n T: string;\n\n commaSeparator: string;\n groupSeparator: string;\n\n months: string[];\n monthsShort: string[];\n days: string[];\n daysShort: string[];\n}\n\nexport class GermanGlobalizationProvider implements IGlobalizationProvider {\n culture = \"de\";\n\n d = \"DD.MM.YYYY\";\n D = \"dddd, DD. MMM YYYY\";\n e = \"dd., DD.MM.YYYY\";\n E = \"dd., DD.MM.YYYY HH:mm\";\n f = \"dddd, DD. MMM YYYY, HH:mm\";\n F = \"dddd, DD. MMM yyyy, HH:mm:ss\";\n g = \"DD.MM.YYYY HH:mm\";\n G = \"DD.MM.YYYY HH:mm:ss\";\n t = \"HH:mm\";\n T = \"HH:mm:ss\";\n\n commaSeparator = \",\";\n groupSeparator = \".\";\n\n months = [\"Januar\", \"Februar\", \"März\", \"April\", \"Mai\", \"Juni\", \"Juli\", \"August\", \"September\", \"Oktober\", \"November\", \"Dezember\"];\n monthsShort = [\"Jan.\", \"Feb.\", \"März\", \"Apr.\", \"Mai\", \"Juni\", \"Juli\", \"Aug.\", \"Sep.\", \"Okt.\", \"Nov.\", \"Dez.\"];\n days = [\"Sonntag\", \"Montag\", \"Dienstag\", \"Mittwoch\", \"Donnerstag\", \"Freitag\", \"Samstag\"];\n daysShort = [\"SO\", \"MO\", \"DI\", \"MI\", \"DO\", \"FR\", \"SA\"]\n}\n","import {\n autoinject,\n computedFrom\n} from \"aurelia-framework\";\nimport {\n RestService\n} from \"../../base/export\";\n\n@autoinject\nexport class LoadingService {\n constructor(\n private rest: RestService\n ) { }\n\n loadingCount: number = 0;\n\n @computedFrom(\"loadingCount\", \"rest.isLoading\")\n get isLoading() {\n return this.loadingCount > 0\n || this.rest.isLoading;\n }\n\n beginLoading() {\n this.loadingCount++;\n }\n endLoading() {\n if (this.loadingCount === 0) {\n return;\n }\n\n this.loadingCount--;\n }\n}","import { BerechtigungService } from \"./../../services/berechtigung-service\";\nimport { StartupService } from \"./../../services/startup-service\";\nimport { autoinject, transient } from \"aurelia-framework\";\nimport { SucheViewTyp } from \"../../enumerations/export\";\nimport { SucheService } from \"../../services/suche-service\";\nimport { LocationService } from \"./../../../framework/base/services/location-service\";\nimport { FormBase } from \"./../../../framework/forms/classes/form-base\";\nimport { ICommandData } from \"./../../../framework/forms/interfaces/command-data\";\n\n@autoinject\n@transient()\nexport class EntwicklungszieleListUtils {\n\n constructor(\n private _sucheService: SucheService,\n private _locationService: LocationService,\n private _berechtigungService: BerechtigungService\n ) { }\n\n form: FormBase;\n\n activateTableView: ICommandData = {\n icon: \"fas fa-table\",\n id: \"sucheTableViewCommand\",\n tooltip: \"suche-form.show-table-view\",\n sortIndex: 1401,\n execute: (event: any) => {\n this._sucheService.activateSuche(\n \"TIP.ZIT.Business.Entities.Objekte.Ziele.Ziel\",\n SucheViewTyp.table\n );\n }\n };\n zielErstellen: ICommandData = {\n icon: \"fas fa-plus\",\n id: \"zielErstellenCommand\",\n tooltip: \"base.add\",\n sortIndex: 1100,\n isVisible: this._berechtigungService.hasBerechtigungNew(\"TIP.ZIT.Business.Entities.Objekte.Ziele.Ziel\"),\n execute: (event: any) => {\n this._locationService.goTo({\n url: \"#Objekte/Ziel/0\",\n currentViewModel: this.form \n });\n }\n };\n\n bind(form: FormBase) {\n this.form = form;\n }\n}\n","import {\n autoinject,\n createOverrideContext,\n Scope,\n TemplatingEngine,\n newInstance,\n View\n} from \"aurelia-framework\";\nimport * as DxLoader from \"../dx-loader\";\n\n@autoinject\nexport class DxTemplateService {\n private templates = {};\n\n constructor(\n private templatingEngine: TemplatingEngine\n ) { }\n\n registerTemplate(key: string, template: string) {\n this.templates[key] = template;\n }\n\n getTemplates(scope: Scope, resources: any): any {\n const result = {};\n\n for (let templateKey in this.templates) {\n result[templateKey] = {\n render: (renderData) => {\n return this.render(\n this.templates[templateKey],\n renderData.container,\n resources,\n scope,\n renderData.model,\n templateKey\n ).element;\n }\n };\n }\n\n return result;\n }\n\n render(template: string | Element, container: Element, resources: any, scope: Scope, model?: any, templateKey?: string): IDxWidgetRenderInfo {\n let newElement: Element;\n\n if (typeof template === \"string\") {\n newElement = document.createElement(\"div\");\n newElement.innerHTML = template;\n } else {\n newElement = template.cloneNode(true)\n }\n\n container.appendChild(newElement);\n\n let itemBindingContext: any;\n let itemOverrideContext: any;\n\n //per Konvention muss ein Field-Template mit \"-field-template\" enden\n const isFieldTemplate = (templateKey || \"\").endsWith(\"-field-template\");\n\n if (model || isFieldTemplate) {\n itemBindingContext = {\n data: model\n };\n\n itemOverrideContext = createOverrideContext(scope.bindingContext, scope.overrideContext);\n } else {\n itemBindingContext = scope.bindingContext;\n itemOverrideContext = scope.overrideContext;\n }\n\n const view = this.templatingEngine.enhance({\n element: newElement,\n bindingContext: itemBindingContext,\n overrideContext: itemOverrideContext,\n resources: resources\n });\n\n if (isFieldTemplate) {\n this.extendFieldTemplate(newElement);\n }\n\n const dxEventOn: any = DevExpress.events.on;\n dxEventOn(newElement, \"dxremove\", () => {\n view.unbind();\n view.detached();\n });\n\n return {\n element: newElement,\n view: view\n };\n }\n private extendFieldTemplate(element: Element) {\n const textbox = element.querySelector(\".dx-textbox\");\n if (!textbox) {\n return;\n }\n\n let instance = DxLoader.getInstance(\"dxTextBox\", textbox);\n\n instance.on(\"focusIn\", () => {\n element.classList.add(\"t--field-template-editor-focused\");\n });\n instance.on(\"focusOut\", () => {\n element.classList.remove(\"t--field-template-editor-focused\");\n });\n instance.on(\"disposing\", () => {\n element = null;\n instance = null;\n });\n }\n}\n\nexport interface IDxWidgetRenderInfo {\n element: Element;\n view: View;\n}\n","import {\n autoinject,\n BindingEngine,\n Disposable,\n Scope,\n LiteralPrimitive,\n TaskQueue,\n Aurelia\n} from \"aurelia-framework\";\nimport { IBindingObserveArguments } from '../export';\n\n\n@autoinject\nexport class BindingService {\n constructor(\n private _bindingEngine: BindingEngine,\n private _taskQueue: TaskQueue,\n private _aurelia: Aurelia\n ) {}\n\n assign(scope: Scope, expression: string, value: any) {\n this._bindingEngine\n .parseExpression(expression)\n .assign(scope, value, null);\n }\n evaluate(scope: Scope, expression: string): any {\n if (!scope.bindingContext) {\n return null;\n }\n \n return this._bindingEngine\n .parseExpression(expression)\n .evaluate(scope, {\n bindingBehaviors: (name) => this._aurelia.resources.getBindingBehavior(name),\n valueConverters: (name) => this._aurelia.resources.getValueConverter(name)\n });\n }\n execute(scope: Scope, expression: string, ...parameters: any[]): any {\n let context = this.getBindingContext(scope, expression);\n let obj: any = this._bindingEngine.parseExpression(expression);\n\n if (obj.object) {\n context = obj.object.evaluate({\n bindingContext: context\n });\n }\n \n return obj.evaluate(scope).call(context, ...parameters);\n }\n observe(args: IBindingObserveArguments): Disposable {\n //Prüfen ob es sich um einen Pfad handelt oder einfach nur um einen primitiven Typ\n const parsedExpression = this._bindingEngine.parseExpression(args.expression);\n \n if (args.checkPrimitiveType && parsedExpression instanceof LiteralPrimitive) {\n //Nicht sofort ausführen, sondern so, wie es auch das Binding machen würde - leicht verzögert\n this._taskQueue.queueTask(() => {\n args.callback(parsedExpression.value, null);\n });\n\n return {\n dispose: () => {} \n };\n }\n \n const disposable = this._bindingEngine\n .expressionObserver(\n this.getBindingContext(args.customScope || args.scopeContainer.scope, args.expression),\n args.expression\n ).subscribe(args.callback);\n\n args.scopeContainer.addDisposable(disposable);\n return disposable;\n }\n getBindingContext(scope: Scope, expression: string) {\n let obj: any = this._bindingEngine\n .parseExpression(expression);\n \n while (obj.object) {\n obj = obj.object;\n }\n\n if (obj.name in scope.bindingContext) {\n return scope.bindingContext;\n } else {\n let ov = scope.overrideContext;\n\n while (ov) {\n if (obj.name in ov.bindingContext) {\n return ov.bindingContext;\n }\n\n ov = ov.parentOverrideContext;\n }\n }\n\n return scope.bindingContext || scope.overrideContext;\n }\n}\n","module.exports = \"
\";","import {\n autoinject\n} from \"aurelia-framework\";\nimport {\n ISelectItem\n} from \"../widget-options/select-item\";\nimport {\n DxTemplateService\n} from \"../../dx/services/export\";\n\nimport * as selectItems from \"../../../framework-data/select-items.json\";\nimport { ScopeContainer } from '../../base/classes/scope-container';\nimport { IDataSourceOptionFilter } from '../../base/interfaces/data-source-option-filter';\nimport { IDataSourceOptionCustom } from '../../base/interfaces/data-source-option-custom';\nimport { RestService, DataSourceService } from '../../base/export';\nimport { EventAggregator } from 'aurelia-event-aggregator';\n\n@autoinject\nexport class SelectItemService {\n\n constructor(\n private dxTemplate: DxTemplateService,\n private restService: RestService,\n private eventAggregator: EventAggregator,\n private dataSourceService: DataSourceService\n ) {}\n\n addSelectItem(id: string, data: any) {\n selectItems[id] = data;\n }\n getSelectItem(id: string): ISelectItem {\n if (!selectItems) {\n throw new Error(\"No select-items defined\");\n }\n if (!selectItems[id]) {\n throw new Error(`Select-item ${id} is not defined`);\n }\n\n return selectItems[id];\n } \n\n createSelectDataSource(\n scopeContainer: ScopeContainer, \n selectItem: ISelectItem, \n filter: any, \n filters: IDataSourceOptionFilter[], \n customs: IDataSourceOptionCustom[],\n observerCallback?: {(dataSourceOptions: any): void}): DevExpress.data.DataSource {\n if (selectItem.loadItemListDeferred) {\n return new DevExpress.data.DataSource(new DevExpress.data.CustomStore({\n cacheRawData: true,\n loadMode: \"raw\",\n load: async () => {\n const result = await this.restService.get({\n url: this.restService.getApiUrl(`base/FormSelectItem/Items/${selectItem.id}`)\n });\n\n const args = {\n selectItemId: selectItem.id,\n data: result\n };\n\n this.eventAggregator.publish(\"form-select-item:data-loaded\", args);\n return args.data;\n }\n }));\n } else if (selectItem.items && selectItem.items.length > 0) {\n return new DevExpress.data.DataSource(new DevExpress.data.ArrayStore({\n data: selectItem.items\n }));\n } else if (selectItem.action) {\n const where = [];\n if (filter) {\n where.push(filter);\n }\n if (selectItem.where) {\n where.push(selectItem.where);\n }\n\n const dataSourcefilters: IDataSourceOptionFilter[] = [];\n if (selectItem.customs) {\n dataSourcefilters.push(...selectItem.customs);\n }\n if (customs) {\n customs.forEach(custom => {\n dataSourcefilters.push({\n webApiCustomKey: custom.key,\n webApiCustomValue: custom.value\n })\n });\n }\n if (filters) {\n dataSourcefilters.push(...filters);\n }\n\n const dataSourceOptions = {\n keyProperty: selectItem.valueMember,\n webApiAction: selectItem.action,\n webApiColumns: selectItem.columns,\n webApiExpand: selectItem.expand,\n webApiOrderBy: selectItem.orderBy,\n webApiWhere: where,\n webApiSearchtextEnabled: selectItem.searchtextEnabled,\n filters: dataSourcefilters\n };\n\n const dataSource = this.dataSourceService.createDataSource(scopeContainer, dataSourceOptions);\n\n if (observerCallback) {\n observerCallback(dataSourceOptions);\n }\n\n return dataSource;\n }\n }\n}","import { GlobalizationService } from \"./../../../../framework/base/services/globalization-service\";\nimport { ZitMomentValueConverter } from \"./../../../../zit-ui/value-converters/moment-value-converter\";\nimport { LocalizationService } from \"./../../../../framework/base/services/localization-service\";\nimport { RestService } from \"./../../../../framework/base/services/rest-service\";\nimport { IZitTagOptions } from \"./../../../../zit-ui/elements/zit-tag/zit-tag-options\";\nimport { ICommandData } from \"./../../../../framework/forms/interfaces/command-data\";\nimport { Share } from \"./../../../elements/share/share\";\nimport { FormBase } from \"./../../../../framework/forms/classes/form-base\";\nimport { transient } from \"aurelia-framework\";\nimport { autoinject } from \"aurelia-framework\";\nimport { Datenschutz } from \"../../../elements/datenschutz/datenschutz\";\nimport { FileService } from \"../../../../framework/base/export\";\nimport { StartupService } from \"../../../services/export\";\nimport { IZitCardButtonOptions } from \"../../../../zit-ui/elements/zit-card/zit-card-button-options\";\nimport { IZitToolbarOptions } from \"../../../../zit-ui/elements/zit-toolbar/zit-toolbar-options\";\nimport { ContextMenu } from \"../../../../framework/forms/classes/context-menu\";\nimport { Datei } from \"../../../elements/datei/datei\";\nimport { FormPopupService } from \"../../../services/form-popup-service\";\nimport { EventAggregator, Subscription } from \"aurelia-event-aggregator\";\n\n@transient()\n@autoinject\nexport class TerminReadUtils {\n private _terminChangedSubscription: Subscription;\n\n constructor(\n private _zitMoment: ZitMomentValueConverter,\n private _restService: RestService,\n private _localizationService: LocalizationService,\n private _globalizationService: GlobalizationService,\n private _fileService: FileService,\n private _startupService: StartupService,\n private _formPopupService: FormPopupService,\n private _eventAggregator: EventAggregator\n ) { }\n\n form: FormBase;\n hauptterminText: any;\n verfuegbarePlaetze: number;\n datenschutzList: any[];\n teilnehmerDataSource: any[] = [];\n\n saveCommand: ICommandData = {\n id: \"save\",\n icon: \"fas fa-save\",\n tooltip: \"base.save_tooltip\",\n sortIndex: 90,\n isVisible: false,\n execute: async() => {\n const einschEigen = this.form.models.data.$m_Termin._Einschaetzung;\n if (einschEigen) {\n await this._restService.post({\n url: this._restService.getApiUrl(\"ZIT/Termin/UpdateEinschaetzungEigen\"),\n data: Object.assign({\n IdTermin: this.form.models.data.$m_Termin.Id,\n }, this.form.models.data.$m_Termin._Einschaetzung),\n increaseLoadingCount: true\n });\n\n DevExpress.ui.notify(\n this._localizationService.translateOnce(\"base.save_success\"), \n \"success\", \n 3000);\n }\n }\n };\n\n actionCommand: ICommandData = {\n id: \"actionCommand\",\n icon: \"fas fa-share-alt\",\n tooltip: \"zit.aktionen\",\n sortIndex: 99,\n isVisibleExpression: \"r_share.canShare\",\n execute: (executeOptions) => {\n const share: Share = this.form[\"r_share\"];\n share.showCtxMenu(executeOptions.event);\n }\n };\n\n betreffTagOptions: IZitTagOptions = {\n isClickEnabled: false,\n textExpression: `item.Betreff`,\n icon: {\n text: \"B\"\n }\n };\n\n ortTagOptions: IZitTagOptions = {\n isClickEnabled: false,\n textExpression: `item.Ort`,\n icon: {\n text: \"B\"\n }\n };\n\n geschaeftspartnerTagOptions: IZitTagOptions = {\n isClickEnabled: false,\n textExpression: `item.Geschaeftspartner.Name1`,\n icon: {\n text: \"G\"\n }\n };\n\n startDatumTagOptions: IZitTagOptions = {\n isClickEnabled: false,\n textExpression: `functions.$f_TerminReadUtils.datumTagString(item)`,\n icon: {\n faIcon: \"far fa-calendar-alt\"\n }\n };\n\n ansprechpersonTagOptions: IZitTagOptions = {\n isClickEnabled: false,\n textExpression: `item.Ansprechperson`,\n icon: {\n faIcon: \"fas fa-user\"\n }\n };\n\n meldenBeiUmTagOptions: IZitTagOptions = {\n isClickEnabled: false,\n textExpression: `item.Treffpunkt`,\n icon: {\n text: \"T\"\n }\n };\n\n adresseTagOptions: IZitTagOptions = {\n textExpression: `item.Adresse`,\n icon: {\n faIcon: \"fas fa-map-marker-alt\"\n },\n onClick: () => {\n this.openGoogleMaps();\n }\n };\n\n zusageButtonTagOptions: IZitTagOptions = {\n isClickEnabled: true,\n cssClass: \"z--tag z--zusage-button\",\n icon: {\n faIcon: \"far fa-check-circle\"\n },\n textExpression: `item.Verteilungstyp == 0 && item.StatusZustandCode != \"ZUM_TERMIN_EINLADEN\"\n ? \"Ja, ich möchte den Termin zusagen\"\n : item.StatusZustandCode == \"ZUM_TERMIN_EINLADEN\" \n ? \"Ja, ich nehme an dem Termin teil\"\n : \"Ja, ich möchte der Veranstaltung zusagen\"`,\n onClick: () => {\n this.terminZusagen();\n }\n };\n\n absagenButtonTagOptions: IZitTagOptions = {\n isClickEnabled: true,\n cssClass: \"z--tag z--absage-button\",\n icon: {\n faIcon: \"fas fa-ban\"\n },\n textExpression: `item.StatusZustandCode == \"ZUM_TERMIN_EINLADEN\" \n ? \"Nein, ich kann leider nicht teilnehmen\" \n : \"Nein, ich muss leider absagen\"`,\n onClick: () => {\n this.terminAbsagen();\n }\n };\n\n interesseButtonTagOptions: IZitTagOptions = {\n isClickEnabled: true,\n cssClass: \"z--tag z--zusage-button\",\n icon: {\n faIcon: \"far fa-check-circle\"\n },\n textExpression: `item.Verteilungstyp == 0 \n ? \"Ja, ich interessiere mich für diesen Termin\" \n : \"Ja, ich interessiere mich für diese Veranstaltung\"`,\n onClick: () => {\n this.terminInteressieren();\n }\n };\n\n terminDownloadTagOptions: IZitTagOptions = {\n isClickEnabled: true,\n cssClass: \"z--tag z--download-button\",\n icon: {\n faIcon: \"far fa-calendar-alt\"\n },\n text: \"Termin in Kalender eintragen\",\n onClick: () => {\n this.downloadTerminICSFile();\n }\n };\n\n doShowTerminAbsagenControlsTagOptions: IZitTagOptions = {\n isClickEnabled: true,\n cssClass: \"z--tag z--download-button\",\n icon: {\n faIcon: \"fas fa-undo\"\n },\n text: \"Zusage rückgängig machen\",\n onClick: () => {\n this.form.models.data.$m_Termin.ShowTerminAbsageControls = true;\n }\n };\n\n terminZusageAbsagenButtonTagOptions: IZitTagOptions = {\n isClickEnabled: true,\n cssClass: \"z--tag z--absage-button\",\n icon: {\n faIcon: \"fas fa-ban\"\n },\n text: \"Termin absagen\",\n onClick: () => {\n this.terminZusageAbsagen();\n }\n };\n\n infotextTagOptions: IZitTagOptions = {\n textExpression: `item.Informationstext`,\n icon: {\n faIcon: \"fas fa-exclamation\"\n }\n };\n\n verfuegbarePlaetzeTagOptions: IZitTagOptions = {\n isClickEnabled: false,\n icon: {\n text: \"P\"\n },\n textExpression: \"functions.$f_TerminReadUtils.verfuegbarePlaetze\"\n };\n\n einschaetzungTagOptions: IZitTagOptions = {\n icon: {\n text: \"E\"\n },\n infoList: [{\n icon: {\n faIcon: \"fas fa-paperclip\",\n backgroundColor: \"#22B002\"\n },\n isVisibleExpression: \"item.DMSLinkPdf\",\n onClick: (e, data) => {\n e.stopPropagation();\n e.preventDefault();\n\n this._fileService.inline(data.DMSLinkPdf);\n }\n }],\n textExpression: `item.PersonTitel + \", \" + globalization.format(item.Anlagedatum, \"d\")`,\n isClickEnabledExpression: \"!item._DisableEdit\",\n onClick: (ev: Event, data) => {\n ev.preventDefault();\n ev.stopPropagation();\n\n if (data._DisableEdit) {\n return;\n }\n\n this.form.models.data.$m_TerminEmpfEinschEdit = data;\n this.form.editPopups.show(\"terminEmpfEinschEditPopup\", null);\n }\n };\n\n dokumentToolbarOptions: IZitToolbarOptions = {\n title: \"termin.informationen\",\n smallToolbar: true,\n items: [{\n id: \"showDokumentToolbarOptionen\",\n icon: \"fas fa-plus\",\n isVisible: [\"ADMIN\", \"TRAINER\", \"TEAM\", \"ADMIN_HB\"].indexOf(this._startupService.startupInfo.Benutzer.CodeBenutzerrolle) >= 0,\n execute: async(e) => {\n const ctxMenu = new ContextMenu();\n\n ctxMenu.items = [{\n text: this._localizationService.translateOnce(\"termin.dokument-toolbar-item-info-dokumente\"),\n execute: () => {\n setTimeout(() => {\n const datei: Datei = this.form[\"r_dateien\"];\n datei.onDokumentClick();\n }, 0);\n }\n }, {\n text: this._localizationService.translateOnce(\"termin.dokument-toolbar-item-info-bilder\"),\n execute: () => {\n setTimeout(() => {\n const datei: Datei = this.form[\"r_dateien\"];\n datei.onCameraClick();\n }, 0);\n }\n }, {\n text: this._localizationService.translateOnce(\"termin.dokument-toolbar-item-info-videos\"),\n execute: () => {\n setTimeout(() => {\n const datei: Datei = this.form[\"r_dateien\"];\n datei.onVideoClick();\n }, 0);\n }\n }, {\n text: this._localizationService.translateOnce(\"termin.dokument-toolbar-item-info-galerie\"),\n execute: async() => {\n const r = await this.form.saveIfDirty();\n if (!r.isValid) {\n return;\n }\n\n const datei: Datei = this.form[\"r_dateien\"];\n datei.onAddToGalerieClick(() => {\n this.form.save();\n });\n }\n }];\n \n ctxMenu.show(event.target);\n }\n }]\n };\n\n get canTerminAbsagen(): boolean {\n const termin = this.form.models.data.$m_Termin;\n if (!termin || !termin.CanTerminAbsagen) {\n return false;\n }\n\n if (termin.Kopf.StatusZustandCode != \"ZUGESAGT\") {\n return false;\n }\n\n return true;\n }\n get isHeartbase() {\n return this.form\n && this.form.id == \"termin-heartbase-read\";\n }\n\n isZuAbsagenButtonVisible(): boolean {\n const model = this.form.models.data.$m_Termin;\n\n if (!model) {\n return false;\n }\n\n const kopf = model.Kopf;\n\n if (!kopf) {\n return false;\n }\n\n if (kopf.StatusZustandCode == \"ZUM_TERMIN_EINLADEN\") {\n if (kopf.EmpfaengerReaktion == 1) {\n return false;\n }\n\n return true;\n }\n\n if (kopf.Informationstext && kopf.Informationstext.length > 0) {\n return false;\n }\n\n if (kopf.StatusZustandCode == \"ZUGESAGT\" || kopf.StatusZustandCode == \"ABGESAGT\") {\n return false;\n }\n\n if (kopf.IdHaupttermin) {\n return false;\n }\n\n if (kopf.EmpfaengerReaktion != 0) {\n return false;\n }\n\n if (kopf.MaxTeilnehmerzahl > kopf.AnzahlTeilnehmer) {\n return true;\n }\n\n if (!kopf.MaxTeilnehmerzahl) {\n return true;\n }\n\n return false;\n }\n isHauptterminVorhanden(): boolean {\n const model = this.form.models.data.$m_Termin;\n\n if (!model) {\n return false;\n }\n\n const kopf = model.Kopf;\n if (!kopf) {\n return false;\n }\n\n if (kopf.Informationstext && kopf.Informationstext.length > 0) {\n return false;\n }\n\n if (kopf.IdHaupttermin) {\n return true;\n }\n\n if (kopf.ZusagedatumHaupttermin) {\n return true;\n }\n\n return false;\n }\n isInteresseEinverstaendniserklaerungVisible(): boolean {\n const isVisible = this.isInteresseButtonVisible();\n if (!isVisible) {\n return false;\n }\n\n return this.form.models.data.$m_Termin.IsInteresseEinverstaendniserklaerungVisible;\n }\n isInteresseButtonVisible(): boolean {\n const model = this.form.models.data.$m_Termin;\n\n if (!model) {\n return false;\n }\n\n const kopf = model.Kopf;\n if (!kopf) {\n return false;\n }\n\n if (kopf.StatusZustandCode == \"ZUM_TERMIN_EINLADEN\") {\n return false;\n }\n\n if (kopf.Informationstext && kopf.Informationstext.length > 0) {\n return false;\n }\n\n if (kopf.EmpfaengerReaktion != 2) {\n return false;\n }\n\n if (!kopf.MaxTeilnehmerzahl) {\n return true;\n }\n\n if (kopf.MaxTeilnehmerzahl > kopf.AnzahlTeilnehmer) {\n return true;\n }\n\n return false;\n }\n\n bind(form: FormBase) {\n this.form = form;\n\n this.form.models.onLoaded.register((r) => {\n if (r.model.id == \"$m_Termin\") {\n this.hauptterminText = `Du hast bereits bei einem anderen Termin zu dieser Veranstaltungsserie (${r.data.Kopf.HauptterminBetreff + \" \" + r.data.Kopf.HauptterminDatumUhrzeit}) am ${r.data.Kopf.ZusagedatumHaupttermin} zugesagt.`;\n \n if (r.data.Kopf && r.data.Kopf.MaxTeilnehmerzahl) {\n const zugesagteEmpfaenger = r.data.Empfaenger.filter((c) => c.StatusZustandCode === \"ZUGESAGT\");\n this.verfuegbarePlaetze = Math.max(0, (r.data.Kopf.MaxTeilnehmerzahl - zugesagteEmpfaenger.length));\n }\n\n this.datenschutzList = r.data.DatenschutzList\n ? r.data.DatenschutzList\n : [];\n \n if (r.data._Einschaetzung) {\n this.saveCommand.isVisible = true;\n }\n\n this.updateTeilnehmerDataSource();\n }\n\n return Promise.resolve();\n });\n\n this._terminChangedSubscription = this._eventAggregator.subscribe(\"termin:changed\", (ev) => {\n const data = this.form.models.data.$m_Termin;\n if (data && data.Id == ev.idTermin) {\n this.form.models.reloadAll();\n }\n });\n }\n unbind() {\n this._terminChangedSubscription.dispose();\n this._terminChangedSubscription = null;\n }\n\n datumTagString(item: any): string {\n if (!item) {\n return \"\";\n }\n\n if (!item.StartDatum || !item.EndeDatum) {\n return \"\";\n }\n\n if (item.StartUhrzeit && item.EndeUhrzeit) {\n if (item.StartDatum.getTime() === item.StartUhrzeit.getTime() && item.EndeDatum.getTime() === item.EndeUhrzeit.getTime()) {\n return this._globalizationService.format(item.StartDatum, \"DT_DD.MM.YYYY (dd)\").toUpperCase()\n + \" - \"\n + this._globalizationService.format(item.EndeDatum, \"DT_DD.MM.YYYY (dd)\").toUpperCase();\n }\n }\n\n return this._globalizationService.format(item.StartDatum, \"DT_DD.MM.YYYY (dd)\").toUpperCase()\n + \" \"\n + this._zitMoment.getZeit(item.StartUhrzeit)\n + \" - \"\n + this._globalizationService.format(item.EndeDatum, \"DT_DD.MM.YYYY (dd)\").toUpperCase()\n + \" \"\n + this._zitMoment.getZeit(item.EndeUhrzeit);\n }\n\n onTerminEinschaetzungErstellenClick() {\n this.form.models.data.$m_TerminEmpfEinschEdit = {\n Id: 0\n };\n this.form.editPopups.show(\"terminEmpfEinschEditPopup\", null);\n }\n\n private openGoogleMaps() {\n const resultGoogleMaps = this.form.models.data.$m_Termin.Kopf.Adresse;\n if (!resultGoogleMaps) {\n return;\n }\n window.open(\"https://www.google.com/maps/place/\" + resultGoogleMaps.replace(\" \", \"+\"), \"_blank\");\n }\n\n private getICSFileDownloadUrl(key: string): string {\n return `${this._restService.getApiUrl(\"ZIT/WebsiteTermin/ICSFile\")}?key=${key}`;\n }\n private async downloadTerminICSFile() {\n window.open(this.getICSFileDownloadUrl(this.form.models.data.$m_Termin.Kopf.ICSDownloadKey), \"_self\");\n }\n\n private async terminZusagen() {\n const kopf = this.form.models.data.$m_Termin.Kopf;\n const result = await this.setTerminZuAbsagen(kopf.IdPerson, kopf.TerminCustomId, \"ZUGESAGT\")\n .then((r) => {\n this.form.models.reloadAll();\n });\n }\n private async terminAbsagen() {\n const kopf = this.form.models.data.$m_Termin.Kopf;\n const result = await this.setTerminZuAbsagen(kopf.IdPerson, kopf.TerminCustomId, \"ABGESAGT\")\n .then((r) => {\n this.form.models.reloadAll();\n });\n }\n private async terminZusageAbsagen() {\n const termin = this.form.models.data.$m_Termin;\n\n if (!termin.AbsageGrund || termin.AbsageGrund.length <= 0) {\n DevExpress.ui.notify(this._localizationService.translateOnce(\"termin.kein_absagegrund_vorhanden\"), \"ERROR\", 3000);\n return;\n }\n\n this._restService.post({\n url: this._restService.getApiUrl(\"ZIT/Termin/TerminZusageAbsagen\"),\n data: {\n IdPerson: termin.Kopf.IdPerson,\n TerminCustomId: termin.Kopf.TerminCustomId,\n Bemerkung: termin.AbsageGrund\n }\n }).then((r) => {\n this.form.models.reloadAll();\n });\n }\n private async terminInteressieren() {\n const kopf = this.form.models.data.$m_Termin.Kopf;\n if (this.isInteresseEinverstaendniserklaerungVisible()) {\n const datenschutz: Datenschutz = this.form[\"r_datenschutz\"];\n if (!datenschutz.hasAlleBestaetigt()) {\n return;\n }\n }\n\n const result = await this.setTerminZuAbsagen(kopf.IdPerson, kopf.TerminCustomId, \"INTERESSIERT\")\n .then((r) => {\n this.form.models.reloadAll();\n });\n }\n\n private async setTerminZuAbsagen(idPerson: number, terminCustomId: any, statusZustandCode: any) {\n const kopf = this.form.models.data.$m_Termin.Kopf;\n\n return this._restService.post({\n url: this._restService.getApiUrl(\"ZIT/Termin/TerminZuAbsagen\"),\n data: {\n IdPerson: idPerson,\n TerminCustomId: terminCustomId,\n StatusZustandCode: statusZustandCode\n }\n });\n }\n\n private updateTeilnehmerDataSource() {\n if (!this.isHeartbase) {\n return;\n }\n\n const dataSource = [];\n\n if (this.form.models.data.$m_Termin.Trainer) {\n const arr: any[] = this.form.models.data.$m_Termin.Trainer;\n\n arr.map((i) => {\n const data: any = {\n TypeName: \"TIP.ZIT.Business.Entities.Objekte.Ansprechpersonen.Ansprechperson\",\n Data: i.Ansprechperson.Card,\n showNachrichten: true\n };\n\n if (i.Ansprechperson.Card.Beschreibung) {\n data.buttons = [{\n icon: \"fas fa-info-circle\",\n onClick: (ev) => {\n ev.preventDefault();\n ev.stopPropagation();\n\n this._formPopupService.formPopup.show({\n titel: `Info über ${i.Ansprechperson.Card.Name}`,\n formDef: [{\n name: \"info\",\n template: (_, itemElement: HTMLElement) => {\n itemElement.style.maxWidth = \"400px\";\n itemElement.innerHTML = i.Ansprechperson.Card.Beschreibung;\n }\n }]\n });\n }\n }];\n }\n\n return data;\n }).forEach((i) => dataSource.push(i));\n }\n if (this.form.models.data.$m_Termin.Empfaenger) {\n const arr: any[] = this.form.models.data.$m_Termin.Empfaenger;\n\n arr.map((i) => {\n return {\n TypeName: \"TIP.ZIT.Business.Entities.Objekte.Personen.Person\",\n Data: i.Person.Card,\n showNachrichten: true\n };\n }).forEach((i) => dataSource.push(i));\n }\n\n this.teilnehmerDataSource = dataSource;\n }\n}\n","import { autoinject, transient } from \"aurelia-framework\";\nimport { FormBase, HistoryService } from \"../../../framework/forms/export\";\nimport { AuthorizationService, LocationService } from \"../../../framework/base/export\";\n\n@autoinject\n@transient()\nexport class AppLoginFormFuncs {\n private _Form: FormBase;\n\n constructor(\n private _authorizationService: AuthorizationService,\n private _locationService: LocationService,\n private _historyService: HistoryService\n ) {}\n\n bind(form: FormBase) {\n this._Form = form;\n this.tryAutoLogin();\n }\n\n private async tryAutoLogin() { \n const token = this.getTokenFromQueryString();\n if (!token) {\n this.redirectToDefault();\n return;\n }\n\n const redirectUrl = this.getRedirectUrlFromQueryString();\n this._historyService.pipelineUrl = redirectUrl || \"Dashboard\";\n\n const r = await this._authorizationService.login({\n Username: \"$applogin$\",\n Password: token\n }, false);\n\n if (!r.isLoggedIn) {\n this.redirectToDefault();\n }\n }\n\n private getTokenFromQueryString(): string {\n return this._Form.viewItemInfo?.routeInfo?.parameters?.token;\n }\n private getRedirectUrlFromQueryString(): string {\n const parameters = this._Form.viewItemInfo?.routeInfo?.parameters;\n if (!parameters) {\n return null;\n }\n\n return parameters[\"redirect-url\"];\n }\n private async redirectToDefault() {\n if (this._authorizationService.isLoggedIn) {\n await this._locationService.goTo({\n url: \"Dashboard\",\n clearStack: true\n });\n } else {\n await this._locationService.goTo({\n url: \"Login\",\n clearStack: true\n });\n }\n }\n}","import {\n autoinject\n} from \"aurelia-framework\";\nimport {\n IRoute\n} from \"../interfaces/route\";\n\nexport class RoutesCreatorService {\n constructor() {}\n\n createRoutes(structure: any[], routeForms: any, canActivate?: {(route: IRoute): boolean}) {\n const routes: IRoute[] = [];\n const parentDic: any = {};\n\n structure.forEach(s => {\n const route: IRoute = {\n caption: s.caption,\n navigation: {\n icon: s.icon\n },\n children: []\n };\n\n routes.push(route);\n parentDic[s.id] = route;\n });\n\n for (let routeFormKey in routeForms) {\n const routeForm = routeForms[routeFormKey];\n\n const route: IRoute = {\n caption: routeForm.caption,\n route: routeForm.route,\n moduleId: routeForm.moduleId\n };\n\n if (routeForm.isEnabled) {\n route.navigation = {};\n\n if (routeForm.category) {\n route.navigation.category = routeForm.category;\n }\n if (routeForm.icon) {\n route.navigation.icon = routeForm.icon;\n }\n }\n\n if (canActivate) {\n route.canActivate = () => {\n return canActivate(route);\n }\n }\n \n if (routeForm.idParent) {\n parentDic[routeForm.idParent].children.push(route);\n } else {\n routes.push(route);\n }\n }\n\n return routes;\n }\n}","export * from \"./widget-creator-service\";\nexport * from \"./simple-widget-creator-service\";","import { autoinject } from \"aurelia-framework\";\nimport { EventAggregator } from 'aurelia-event-aggregator';\nimport { IRouteInfo } from '../../framework/forms/export';\nimport { LoadingService } from '../../zit-ui/export';\nimport { RestService } from '../../framework/base/services/rest-service';\nimport { StartupService } from './startup-service';\nimport { LayoutTyp } from '../interfaces/layout-typ';\n\n@autoinject\nexport class FormEvalService {\n constructor(\n private eventAggregator: EventAggregator,\n private loading: LoadingService,\n private rest: RestService,\n private startup: StartupService\n ) {\n this.eventAggregator.subscribe(\"router:intercept-route\", e => {\n const routeInfo: IRouteInfo = e.routeInfo;\n e.moduleIdPromise = this.checkRouteEx(routeInfo);\n });\n }\n\n checkRoute(route: string, layoutTyp: LayoutTyp, idObjekt: number, createLog: boolean): Promise {\n switch (route) {\n case \"Dashboard\": {\n return Promise.resolve(\"zit/views/dashboard/dashboard-form-form\");\n }\n case \"Objekte/Person/:id\": {\n return this.getFormLayoutInfo(\n \"TIP.ZIT.Business.Entities.Objekte.Personen.Person\",\n idObjekt,\n layoutTyp,\n createLog);\n }\n case \"Objekte/Ansprechperson/:id\": {\n return this.getFormLayoutInfo(\n \"TIP.ZIT.Business.Entities.Objekte.Ansprechpersonen.Ansprechperson\",\n idObjekt,\n layoutTyp,\n createLog);\n }\n case \"Objekte/Bewerbung/:id\": {\n return this.getFormLayoutInfo(\n \"TIP.ZIT.Business.Entities.Objekte.Bewerbungen.Bewerbung\",\n idObjekt,\n layoutTyp,\n createLog);\n }\n case \"Objekte/DispoPlanstelle/:id\": {\n return this.getFormLayoutInfo(\n \"TIP.ZIT.Business.Entities.Objekte.Disposition.DispoPlanstelle\",\n idObjekt,\n layoutTyp,\n createLog);\n }\n case \"Objekte/DispoPlanstellePersonenzuteilung/:id\": {\n return this.getFormLayoutInfo(\n \"TIP.ZIT.Business.Entities.Objekte.Disposition.DispoPlanstellePersonenzuteilung\",\n idObjekt,\n layoutTyp,\n createLog);\n }\n case \"Objekte/Geschaeftspartner/:id\": {\n return this.getFormLayoutInfo(\n \"TIP.ZIT.Business.Entities.Objekte.Geschaeftspartner.Geschaeftspartner\",\n idObjekt,\n layoutTyp,\n createLog);\n }\n case \"Objekte/ProfilFirma/:id\": {\n return this.getFormLayoutInfo(\n \"TIP.ZIT.Business.Entities.Objekte.ProfilFirmen.ProfilFirma\",\n idObjekt,\n layoutTyp,\n createLog);\n }\n case \"Objekte/Stelleninserat/:id\": {\n return this.getFormLayoutInfo(\n \"TIP.ZIT.Business.Entities.Objekte.Stelleninserate.Stelleninserat\",\n idObjekt,\n layoutTyp,\n createLog);\n }\n case \"Objekte/Termin/:id\": {\n return this.getFormLayoutInfo(\n \"TIP.ZIT.Business.Entities.Objekte.Termine.Termin\",\n idObjekt,\n layoutTyp,\n createLog);\n }\n case \"Objekte/Event/:id\": {\n return this.getFormLayoutInfo(\n \"TIP.ZIT.Business.Entities.Objekte.Events.Event\",\n idObjekt,\n layoutTyp,\n createLog);\n }\n case \"Objekte/EventZeitraum/:id\": {\n return this.getFormLayoutInfo(\n \"TIP.ZIT.Business.Entities.Objekte.Events.EventZeitraum\",\n idObjekt,\n layoutTyp,\n createLog);\n }\n case \"Objekte/EventTeilnehmer/:id\": {\n return this.getFormLayoutInfo(\n \"TIP.ZIT.Business.Entities.Objekte.Events.EventTeilnehmer\",\n idObjekt,\n layoutTyp,\n createLog);\n }\n default: {\n return null;\n }\n }\n }\n convertIdFormular(idFormular: string, throwErrorIfNotFound: boolean = true): string {\n switch (idFormular) {\n case \"aufgabeEdit\": {\n return \"zit/views/objekte/aufgaben/aufgabe-edit-form\";\n }\n case \"zielEdit\": {\n return \"zit/views/objekte/ziele/ziel-edit-form\";\n }\n case \"informationRead\": {\n return \"zit/views/objekte/information/information-read-form\";\n }\n case \"stelleninseratFerialEdit\": {\n return \"zit/views/objekte/stelleninserat/stelleninserat-ferial-edit-form\";\n }\n case \"stelleninseratRead\": {\n return \"zit/views/objekte/stelleninserat/stelleninserat-read-form\";\n }\n case \"stelleninseratEmpleoEdit\": {\n return \"zit/views/objekte/stelleninserat/stelleninserat-empleo-edit-form\";\n }\n case \"stelleninseratKuMiEdit\": {\n return \"zit/views/objekte/stelleninserat/stelleninserat-kumi-edit-form\";\n }\n case \"stelleninseratLehreEdit\": {\n return \"zit/views/objekte/stelleninserat/stelleninserat-lehre-edit-form\"\n }\n case \"stelleninseratHeartbaseEdit\": {\n return \"zit/views/objekte/stelleninserat/stelleninserat-heartbase-edit-form\"\n }\n case \"stelleninseratLehreKundePackageEdit\": {\n return \"zit/views/objekte/stelleninserat/stelleninserat-lehre-kunde-package-edit-form\"\n }\n case \"stelleninseratLehreStandardinseratEdit\": {\n return \"zit/views/objekte/stelleninserat/stelleninserat-lehre-standardinserat-edit-form\"\n }\n case \"stelleninseratLehrePersonRead\": {\n return \"zit/views/objekte/stelleninserat/stelleninserat-lehre-person-read-form\"\n }\n case \"geschaeftspartnerRead\": {\n return \"zit/views/objekte/geschaeftspartner/geschaeftspartner-read-form\";\n }\n case \"geschaeftspartnerEdit\": {\n return \"zit/views/objekte/geschaeftspartner/geschaeftspartner-edit-form\";\n }\n case \"geschaeftspartnerHeartbaseEdit\": {\n return \"zit/views/objekte/geschaeftspartner/geschaeftspartner-heartbase-edit-form\";\n }\n case \"bewerbungRead\": {\n return \"zit/views/objekte/bewerbung/bewerbung-read-form\";\n }\n case \"bewerbungLehreEdit\": {\n return \"zit/views/objekte/bewerbung/bewerbung-lehre-edit-form\";\n }\n case \"bewerbungFerialEdit\": {\n return \"zit/views/objekte/bewerbung/bewerbung-edit-form\";\n }\n case \"bewerbungLehreErweiterungEdit\": {\n return \"zit/views/objekte/bewerbung/bewerbung-lehre-erweiterung-edit-form\";\n }\n case \"bewerbungHeartbaseErweiterungEdit\": {\n return \"zit/views/objekte/bewerbung/bewerbung-heartbase-erweiterung-edit-form\";\n }\n case \"bewerbungFerialErweiterungEdit\": {\n return \"zit/views/objekte/bewerbung/bewerbung-ferialer-erweiterung-edit-form\";\n }\n case \"BewerbungFerialerErsteinstieg\": {\n return \"zit/views/objekte/bewerbung/bewerbung-ferialer-ersteinstieg-edit-form\";\n }\n case \"BewerbungLehreErsteinstieg\": {\n return \"zit/views/objekte/bewerbung/bewerbung-lehre-ersteinstieg-edit-form\";\n }\n case \"ansprechpersonRead\": {\n return \"zit/views/objekte/ansprechperson/ansprechperson-read-form\";\n }\n case \"ansprechpersonEdit\": {\n return \"zit/views/objekte/ansprechperson/ansprechperson-edit-form\";\n }\n case \"ansprechpersonHeartbaseEdit\": {\n return \"zit/views/objekte/ansprechperson/ansprechperson-heartbase-edit-form\";\n }\n case \"profilFirmaEdit\": {\n return \"zit/views/objekte/profilfirma/profil-firma-edit-form\";\n }\n case \"personFerialerRead\": {\n return \"zit/views/objekte/person/person-ferial-read-form\";\n }\n case \"personFerialerErsteinstieg\": {\n return \"zit/views/objekte/person/person-ferialer-ersteinstieg-edit-form\";\n }\n case \"personLehreErsteinstieg\": {\n return \"zit/views/objekte/person/person-lehre-ersteinstieg-edit-form\";\n }\n case \"personEdit\": {\n return \"zit/views/objekte/person/person-edit-form\";\n }\n case \"personHeartbaseEdit\": {\n return \"zit/views/objekte/person/person-heartbase-edit-form\";\n }\n case \"personHeartbaseRead\": {\n return \"zit/views/objekte/person/person-heartbase-read-form\";\n }\n case \"einsatzplanungEdit\": {\n return \"zit/views/objekte/disposition/dispo-personenzuteilung-edit-form\";\n }\n case \"einsatzplanungBestaetigung\": {\n return \"zit/views/objekte/disposition/dispo-personenzuteilung-bestaetigung-edit-form\";\n }\n case \"einsatzplanungBestaetigungRead\": {\n return \"zit/views/objekte/disposition/dispo-personenzuteilung-bestaetigung-read-form\";\n }\n case \"einsatzplanungPersonEdit\": {\n return \"zit/views/objekte/disposition/dispo-personenzuteilung-person-edit-form\";\n }\n case \"dispoPlanstellePersonenzuteilungCheckInEdit\": {\n return \"zit/views/objekte/disposition/dispo-personenzuteilung-check-in-edit-form\";\n }\n case \"dispoPersonenzuteilungBestaetigung\": {\n return \"zit/views/objekte/disposition/dispo-personenzuteilung-bestaetigung-edit-form\";\n }\n case \"planstelleFerialerEdit\": {\n return \"zit/views/objekte/disposition/dispo-planstelle-edit-form\";\n }\n case \"terminEdit\": {\n return \"zit/views/objekte/termin/termin-edit-form\";\n }\n case \"terminHeartbaseEdit\": {\n return \"zit/views/objekte/termin/termin-heartbase-edit-form\";\n }\n case \"terminRead\": {\n return \"zit/views/objekte/termin/termin-read-form\";\n }\n case \"terminHeartbaseRead\": {\n return \"zit/views/objekte/termin/termin-heartbase-read-form\";\n }\n case \"eventEdit\": {\n return \"zit/views/objekte/event/event-edit-form\";\n }\n case \"eventZeitraumEdit\": {\n return \"zit/views/objekte/event/event-zeitraum-edit-form\";\n }\n case \"eventZeitraumRead\": {\n return \"zit/views/objekte/event/event-zeitraum-read-form\";\n }\n case \"eventTeilnehmerEdit\": {\n return \"zit/views/objekte/event/event-teilnehmer-edit-form\";\n }\n case \"eventTeilnehmerRead\": {\n return \"zit/views/objekte/event/event-teilnehmer-read-form\";\n }\n default: {\n if (throwErrorIfNotFound) {\n throw new Error(`Kein Formular für ${idFormular} hinterlegt`);\n } else {\n return null;\n }\n }\n }\n }\n\n async hasBerechtigungBearbeitung(objektFullName: string, idObjekt: number): Promise {\n const r = await this.rest.get({\n url: this.rest.getApiUrl(`ZIT/Layout/Form?objektFullName=${objektFullName}&idObjekt=${idObjekt}&createLog=false`),\n increaseLoadingCount: true\n });\n\n if (!r) {\n return false;\n }\n\n return !!r.IdFormularBearbeitung;\n }\n\n private checkRouteEx(routeInfo: IRouteInfo): Promise {\n let route = routeInfo.route.route;\n if (Array.isArray(route)) {\n route = route[0];\n }\n\n const id = routeInfo.parameters.id;\n\n const layoutTyp = (routeInfo.parameters.mode == \"1\" || id == 0)\n ? LayoutTyp.Bearbeitung\n : LayoutTyp.Lese;\n\n return this.checkRoute(route, layoutTyp, id, true);\n }\n private async getFormLayoutInfo(objektFullName: string, idObjekt: number, layoutTyp: LayoutTyp, createLog: boolean): Promise {\n const r = await this.rest.get({\n url: this.rest.getApiUrl(`ZIT/Layout/Form?objektFullName=${objektFullName}&idObjekt=${idObjekt}&createLog=${createLog}`),\n increaseLoadingCount: true\n });\n\n if (!r) {\n return null;\n }\n\n let idFormular;\n if (layoutTyp == LayoutTyp.Lese && r.IdFormularLese) {\n idFormular = r.IdFormularLese;\n } else if (layoutTyp == LayoutTyp.Bearbeitung && r.IdFormularBearbeitung) {\n idFormular = r.IdFormularBearbeitung;\n } else if (r.IdFormularLese) {\n idFormular = r.IdFormularLese;\n } else if (r.IdFormularBearbeitung) {\n idFormular = r.IdFormularBearbeitung;\n }\n\n if (!idFormular) {\n return null;\n }\n\n return this.convertIdFormular(idFormular);\n }\n}\n","import { autoinject } from \"aurelia-framework\";\n\n@autoinject\nexport class BrowserService {\n constructor() {\n this.isIE = navigator.userAgent.indexOf(\"Trident/\") >= 0;\n this.isEdge = navigator.userAgent.indexOf(\"Edge/\") >= 0;\n this.isFirefox = navigator.userAgent.indexOf(\"Firefox/\") >= 0;\n\n this.isMobile = window.screen.height < 700\n || window.screen.width < 700;\n\n this.isXL = window.screen.width >= 1500;\n this.isLG = !this.isXL && window.screen.width >= 1200;\n this.isMD = !this.isXL && !this.isLG && window.screen.width >= 992;\n this.isSM = !this.isXL && !this.isLG && !this.isMD && window.screen.width >= 768;\n this.isXS = window.screen.width < 768;\n\n this.isTouch = /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i\n .test(navigator.userAgent);\n\n const iOS = !!navigator.userAgent.match(/iPad/i) || !!navigator.userAgent.match(/iPhone/i);\n const webkit = !!navigator.userAgent.match(/WebKit/i);\n this.isIOSSafari = iOS && webkit && !navigator.userAgent.match(/CriOS/i);\n this.isIOS = iOS && webkit;\n\n const body = document.getElementsByTagName(\"body\")[0];\n\n if (this.isMobile) {\n body.classList.add(\"t--is-mobile\");\n }\n if (this.isTouch) {\n body.classList.add(\"t--is-touch\");\n }\n if (this.isIE) {\n body.classList.add(\"t--is-ie\");\n }\n if (this.isEdge) {\n body.classList.add(\"t--is-edge\");\n }\n if (this.isFirefox) {\n body.classList.add(\"t--is-firefox\");\n }\n if (this.isXL) {\n body.classList.add(\"t--is-xl\");\n }\n if (this.isLG) {\n body.classList.add(\"t--is-lg\");\n }\n if (this.isMD) {\n body.classList.add(\"t--is-md\");\n }\n if (this.isSM) {\n body.classList.add(\"t--is-sm\");\n }\n if (this.isXS) {\n body.classList.add(\"t--is-xs\");\n }\n }\n\n isFirefox: boolean;\n isIE: boolean;\n isEdge: boolean;\n isIOSSafari: boolean;\n isIOS: boolean;\n\n isMobile: boolean;\n isTouch: boolean;\n\n isXS: boolean;\n isSM: boolean;\n isMD: boolean;\n isLG: boolean;\n isXL: boolean;\n}\n","module.exports = \"
\";","import {\n IContextMenuItem\n} from \"../interfaces/context-menu-item\";\nimport * as DxLoader from \"../../dx/dx-loader\";\n\nexport class ContextMenu {\n constructor(\n private options?: IContextMenuOptions) { }\n\n items: IContextMenuItem[] = [];\n\n show(target) {\n if (this.items.length === 0) {\n return;\n }\n\n const options: DevExpress.ui.dxContextMenuOptions = {\n target: target,\n position: {\n /*boundary: document.body,\n boundaryOffset: {\n x: 5,\n y: 5\n },*/\n my: \"top\",\n at: \"bottom\",\n },\n items: this.items,\n onItemClick: (e) => {\n e.itemData.execute(e);\n\n if (this.options && this.options.onItemClick) {\n this.options.onItemClick(e.itemData);\n }\n },\n onShown: (e) => {\n const overlay: DevExpress.ui.dxOverlay = (e.component)._overlay;\n if (!overlay) {\n return;\n }\n \n const overlayHeight = overlay.content().clientHeight;\n if (!overlayHeight) {\n return;\n }\n \n if (overlayHeight < window.innerHeight) {\n return;\n }\n \n const content = overlay.content();\n \n content.style.height = `${window.innerHeight}px`;\n DxLoader.createInstance(\"dxScrollView\", content, {});\n },\n onHidden: (e) => {\n element.remove();\n\n if (instance) {\n instance.dispose();\n }\n\n if (this.options && this.options.onHidden) {\n this.options.onHidden();\n }\n }\n };\n\n const element = document.createElement(\"div\");\n \n document.body.appendChild(element);\n\n const instance: DevExpress.ui.dxContextMenu = DxLoader.createInstance(\"dxContextMenu\", element, options);\n instance.show();\n }\n}\nexport interface IContextMenuOptions {\n onHidden?(): void;\n onItemClick?(item: any): void;\n}\n","import { autoinject } from \"aurelia-framework\";\nimport { FormEventService } from '../../framework/forms/services/form-event-service';\nimport { RouterService } from '../../framework/forms/services/router-service';\nimport { FormBase } from '../../framework/forms/classes/form-base';\n\n@autoinject\nexport class FormRefreshService {\n constructor(\n private formEventService: FormEventService,\n private routerService: RouterService\n ) { \n this.registerFormSaved();\n }\n\n refreshPrevForm(form: FormBase) {\n const model = form.models.modelWithKeyId;\n if (!model) {\n return;\n }\n\n const index = this.routerService.viewStack.findIndex(c => {\n const controller: any = c.controller;\n\n return controller\n && controller.currentViewModel == form;\n });\n\n if (index < 1) {\n return;\n }\n\n const prevIndex = index - 1;\n const prevView = this.routerService.viewStack[prevIndex];\n const prevController: any = prevView.controller;\n\n if (!prevController || !prevController.currentViewModel) {\n return;\n }\n\n const prevForm: FormBase = prevController.currentViewModel;\n if (!(prevForm instanceof FormBase)) {\n return;\n }\n\n if (prevForm.models.modelWithKeyId) {\n return;\n }\n\n for (let prevModel of prevForm.models.getModels()) {\n prevForm.models.onLoadRequired.fire({\n model: prevModel,\n onlyCurrentPage: true\n });\n }\n }\n\n private registerFormSaved() {\n this.formEventService.onSaved.register(async e => {\n return this.refreshPrevForm(e.form);\n });\n this.formEventService.onDeleted.register(async e => {\n return this.refreshPrevForm(e.form);\n });\n }\n}\n","import {\n autoinject,\n computedFrom\n} from \"aurelia-framework\";\nimport {\n RestService\n} from \"../../framework/base/export\";\n\n@autoinject\nexport class LoadingService {\n constructor(\n private rest: RestService\n ) { }\n\n loadingCount: number = 0;\n\n @computedFrom(\"loadingCount\", \"rest.isLoading\")\n get isLoading() {\n return this.loadingCount > 0\n || this.rest.isLoading;\n }\n\n beginLoading() {\n this.loadingCount++;\n }\n endLoading() {\n if (this.loadingCount === 0) {\n return;\n }\n\n this.loadingCount--;\n }\n}\n","import { autoinject } from \"../../framework/forms/form-export\";\nimport { RestService } from \"./../../framework/base/services/rest-service\";\n\n@autoinject\nexport class DomaeneService {\n\n constructor(\n private _restService: RestService) { }\n\n urlImpressum: string;\n farbeDomaene: string;\n bezeichnungMobilLogin: string;\n hasSms: boolean;\n loginHeadline: string;\n loginSubHeadline: string;\n dmsLinkLoginDokButton: string;\n loginDokButtonText: string;\n\n async loadLoginInformation() {\n const r = await this._restService.get({\n url: this._restService.getApiUrl(`ZIT/Domaene/LoginInformation`),\n increaseLoadingCount: true\n });\n\n if (!r) {\n return;\n } else {\n this.urlImpressum = r.UrlImpressum;\n this.farbeDomaene = r.Farbe;\n this.bezeichnungMobilLogin = r.BezeichnungMobilLogin;\n this.hasSms = r.HasSms;\n this.loginHeadline = r.LoginHeadline;\n this.loginSubHeadline = r.LoginSubHeadline;\n this.loginDokButtonText = r.LoginDokButtonText;\n this.dmsLinkLoginDokButton = r.DMSLinkLoginDokButton;\n }\n }\n\n setDomainColorsStyle() {\n const styleTag = document.createElement(\"style\");\n styleTag.type = \"text/css\";\n styleTag.appendChild(\n document.createTextNode(`\n .t--login--btncolor > * > *{\n background-color: ${this.farbeDomaene};\n color: #fff;\n border: none;\n }\n .t--login-container__link:hover{\n color:${this.farbeDomaene};\n }\n .t--login-logoheader .t--login--logoheader--header {\n background-color: ${this.farbeDomaene};\n color: #fff;\n }`\n ));\n document.head.appendChild(styleTag);\n }\n}\n","import { autoinject } from 'aurelia-framework';\nimport { RestService, FileService, BrowserService } from './../../framework/base/services/export';\nimport { CustomEditPopupService } from './custom-edit-popup-service';\nimport { FormEvalService } from './form-eval-service';\n\n@autoinject\nexport class DokumentService {\n constructor(\n private _restService: RestService,\n private _fileService: FileService,\n private _customEditPopupService: CustomEditPopupService,\n private _formEvalService: FormEvalService,\n private _browserService: BrowserService\n ) { }\n\n attachDropDokument(element: HTMLElement, typeName: string, getObjekt: {(): any}): boolean {\n if (!typeName) {\n return false;\n }\n if (this._browserService.isMobile) {\n return false;\n }\n\n const supportedTypeNameList = [\n \"TIP.ZIT.Business.Entities.Objekte.Bewerbungen.Bewerbung\",\n \"TIP.ZIT.Business.Entities.Objekte.Personen.Person\",\n \"TIP.ZIT.Business.Entities.Objekte.Disposition.DispoPlanstelle\",\n \"TIP.ZIT.Business.Entities.Objekte.Disposition.DispoPlanstellePersonenzuteilung\"\n ];\n\n if (supportedTypeNameList.indexOf(typeName) < 0) {\n return false;\n }\n\n element.classList.add(\"z--drag-container\")\n\n const cache = {\n idObjekt: null,\n idStelleninserat: null,\n hasBerechtigung: false\n };\n\n const getObjektInfo = async () => {\n const obj = getObjekt();\n if (!obj || !obj.Id) {\n return;\n }\n\n let currentTypeName = typeName\n let idObjekt = obj.Id;\n let idStelleninserat = null;\n\n if (typeName == \"TIP.ZIT.Business.Entities.Objekte.Bewerbungen.Bewerbung\") {\n if (!obj.Kopf || !obj.Kopf.IdPerson || !obj.Kopf.IdStelleninserat) {\n return null;\n }\n\n idObjekt = obj.Kopf.IdPerson;\n idStelleninserat = obj.Kopf.IdStelleninserat;\n currentTypeName = \"TIP.ZIT.Business.Entities.Objekte.Personen.Person\";\n }\n\n if (idObjekt != cache.idObjekt || idStelleninserat != cache.idStelleninserat) {\n const hasBerechtigung = await this._formEvalService.hasBerechtigungBearbeitung(\n currentTypeName,\n idObjekt);\n\n cache.idObjekt = idObjekt;\n cache.idStelleninserat = idStelleninserat;\n cache.hasBerechtigung = hasBerechtigung;\n }\n if (!cache.hasBerechtigung) {\n return null;\n }\n\n return {\n typeName: currentTypeName,\n idObjekt,\n idStelleninserat\n };\n }\n\n element.addEventListener(\"dragenter\", async (e) => {\n e.preventDefault();\n e.stopPropagation();\n }, false);\n element.addEventListener(\"dragleave\", async (e) => {\n e.preventDefault();\n e.stopPropagation();\n\n if (e.target != element) {\n return;\n }\n\n element.classList.remove(\"z--drag-container-active\");\n }, false);\n element.addEventListener(\"dragover\", async (e) => {\n e.preventDefault();\n e.stopPropagation();\n \n const objInfo = await getObjektInfo();\n if (objInfo == null) {\n return;\n }\n\n element.classList.add(\"z--drag-container-active\");\n if (e.target != element) {\n } else {\n return;\n }\n });\n element.addEventListener(\"drop\", async (e) => {\n e.preventDefault();\n e.stopPropagation();\n\n element.classList.remove(\"z--drag-container-active\");\n \n const hasValidFile = e.dataTransfer\n && e.dataTransfer.files\n && e.dataTransfer.files.length > 0;\n \n if (!hasValidFile) {\n return;\n }\n\n if (e.dataTransfer.files.length > 1) {\n DevExpress.ui.notify(\n \"Es kann max. ein Dokument gleichzeitig hochgeladen werden\",\n \"error\",\n 3000\n );\n\n return;\n }\n\n const file = e.dataTransfer.files[0];\n\n const objInfo = await getObjektInfo();\n if (objInfo == null) {\n return;\n }\n\n const dmsLink = await this._fileService.upload(file);\n\n this._customEditPopupService.dokumentEdit.show({\n setValuesOnModelWithKeyIdLoaded: {\n IdObjekt: objInfo.idObjekt\n },\n mappings: {\n \"$id\": 0,\n \"$v_dmsLinkDokument\": dmsLink,\n \"$v_dateiname\": file.name,\n \"$v_objektTypeFullname\": objInfo.typeName,\n \"$v_idStelleninserat\": objInfo.idStelleninserat,\n }\n });\n });\n\n return true;\n }\n\n saveDokument(idObjekt: number, idInformationsTyp: number, dmslink: string) {\n if (!dmslink) {\n return;\n }\n\n const dokumentToSave = this.getDokumentToSave(idObjekt, idInformationsTyp, dmslink)\n\n return this._restService.post({\n url: this._restService.getWebApiUrl(\"ZIT/Objekte/DokumentElement\"),\n data: dokumentToSave,\n increaseLoadingCount: true\n });\n }\n sendTan(data: { IdDokumentElement: number, DokumentCode: string }){\n return this._restService.post({\n url: this._restService.getApiUrl(\"ZIT/Dokument/SendTAN\"),\n data: data,\n increaseLoadingCount: true\n });\n }\n unterfertigenDokument(data: { IdDokumentElement: number, TAN: string }) {\n return this._restService.post({\n url: this._restService.getApiUrl(\"ZIT/Dokument/DokumentUnterfertigen\"),\n data: data,\n increaseLoadingCount: true\n });\n }\n validateCode(data: { IdDokumentElement: number, DokumentCode: string }) {\n return this._restService.post({\n url: this._restService.getApiUrl(\"ZIT/Dokument/DokumentCodeValidieren\"),\n data: data,\n increaseLoadingCount: true\n });\n }\n\n private getDokumentToSave(idObjekt: number, idInformationsTyp: number, dmslink: string) {\n return {\n IdObjekt: idObjekt || null,\n IdInformationstyp: idInformationsTyp || null,\n DMSLinkDokument: dmslink\n };\n }\n}\n","module.exports = \" \";","module.exports = \" \";","module.exports = \" \";","module.exports = \" \";","module.exports = \" \";","module.exports = \" \";","module.exports = \" \";","module.exports = \" \";","module.exports = \" \";","module.exports = \" \";","module.exports = \" \";","module.exports = \" \";","module.exports = \" \";","module.exports = \" \";","module.exports = \" \";","module.exports = \" \";","module.exports = \" \";","module.exports = \" \";","module.exports = \" \";","module.exports = \" \";","module.exports = \" \";","module.exports = \" \";","module.exports = \" \";","module.exports = \" \";","module.exports = \"\";","module.exports = \" \";","module.exports = \" \";","module.exports = \" \";","module.exports = \" \";","module.exports = \" \";","module.exports = \" \";","module.exports = \" \";","module.exports = \" \";","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.id, \".z--card-content-container {\\n display: flex;\\n}\\n.z--card-content-container .z--card-title {\\n text-overflow: ellipsis;\\n white-space: nowrap;\\n overflow: hidden;\\n}\\n.z--card-content-container .z--card-subtitle {\\n font-style: italic;\\n text-overflow: ellipsis;\\n white-space: nowrap;\\n overflow: hidden;\\n}\\n.z--card-content-container .z--card-image {\\n display: flex;\\n justify-content: center;\\n align-items: center;\\n min-width: 33%;\\n max-width: 33%;\\n}\\n.z--card-content-container .z--card-info-container {\\n padding-left: 12px;\\n}\\n.z--card-content-container .z--card-tag {\\n display: inline-flex !important;\\n position: absolute;\\n left: -1.8em;\\n border-radius: 3px;\\n padding: 2px 4px;\\n background-color: gray;\\n color: white;\\n}\\n.z--card-content-container .z--card-tag i {\\n color: white !important;\\n}\\n.z--card-content-container .z--card-tag > * + * {\\n margin-left: 8px;\\n}\\n.z--card-content-container .z--card-multiple-tags {\\n display: flex;\\n}\\n.z--card-content-container .z--card-multiple-tags > * {\\n position: relative;\\n flex-grow: 1;\\n}\\n.z--card-content-container .fa-ul li {\\n min-height: 1em;\\n margin-bottom: 5px;\\n}\\n.z--card-content-container .fa-ul li > div:not(.z--inner-html) {\\n text-overflow: ellipsis;\\n white-space: nowrap;\\n overflow: hidden;\\n}\\n.z--card-content-container .fa-ul li i {\\n color: #898989;\\n}\\n.z--card-content-container .fa-ul li.z--card-verlauf {\\n color: #898989;\\n margin-bottom: 0;\\n}\\n.z--card-content-container .z--max-1-line {\\n text-overflow: ellipsis;\\n white-space: nowrap;\\n overflow: hidden;\\n}\\n.z--card-content-container .z--inner-html > div {\\n display: inline-block;\\n}\\n\", \"\"]);\n// Exports\nmodule.exports = exports;\n","import { autoinject, bindable, Scope, observable, computedFrom, TaskQueue } from \"aurelia-framework\";\nimport { EventAggregator } from \"aurelia-event-aggregator\";\nimport { NachrichtService } from \"./../../../zit/services/nachricht-service\";\nimport { IZitCardOptions, ZitCardTyp } from \"./zit-card-options\";\nimport { BrowserService, ScopeContainer } from \"../../../framework/base/export\";\nimport { BindingService } from \"../../../framework/base/services/export\";\nimport { IZitMarkersOptions } from \"../zit-markers/export\";\nimport { ObjektInfoService, DokumentService } from \"../../../zit/services/export\";\nimport { StartupService } from \"../../../zit/services/startup-service\";\nimport { ICardStartupInfo, IObjektInfoData } from \"../../../zit/interfaces/export\";\nimport { LocationService } from \"../../../framework/base/services/location-service\";\nimport { FormUtilsService } from \"../../../framework/forms/services/form-utils-service\";\nimport { ZitCardService } from \"../../services/zit-card-service\";\nimport { PopupInfoService } from \"../../../framework/forms/export\";\nimport { FotoPopupService } from \"../../../zit/services/foto-popup-service\";\n\n@autoinject\nexport class ZitCard {\n private _defaultCardTyp = ZitCardTyp.Kompakt;\n private _scope: Scope;\n private ID_HEARTBASE: number = 5;\n\n constructor(\n public _zitCardService: ZitCardService,\n public browserService: BrowserService,\n private _element: Element,\n private _bindingService: BindingService,\n private _objektInfoService: ObjektInfoService,\n private _startupService: StartupService,\n private _locationService: LocationService,\n private _formUtilsService: FormUtilsService,\n private _nachrichtService: NachrichtService,\n private _dokumentService: DokumentService,\n private _popupInfoService: PopupInfoService,\n private _fotoPopupService: FotoPopupService,\n private _eventAggregator: EventAggregator,\n private _taskQueue: TaskQueue\n ) { }\n\n @bindable options: IZitCardOptions;\n @bindable @observable data: any;\n\n optionsInstance: any;\n scopeContainer: ScopeContainer;\n objektInfoData: IObjektInfoData;\n cardInfo: ICardStartupInfo;\n\n typ: ZitCardTyp;\n showRibbon: boolean;\n ribbon: any;\n\n buttonRight?: string;\n\n @computedFrom(\"objektInfoData.Fullname\")\n get isNachrichtErstellenVisible(): boolean {\n if (this.typ != ZitCardTyp.Kompakt && !this.options.showNachrichten && !this.data.showNachrichten) {\n return false;\n }\n\n if (!this._nachrichtService.canNachrichtErstellen(this.objektInfoData.Fullname)) {\n return false;\n }\n\n return true;\n }\n \n @computedFrom(\"browserService.isMobile\")\n get isMobile() {\n return this.browserService.isMobile;\n }\n\n get isHeartbase() {\n return this._startupService.startupInfo.Mandant.IdMandant == this.ID_HEARTBASE;\n }\n\n bind(bindingContext, overrideContext) {\n this._scope = {\n bindingContext,\n overrideContext\n };\n\n this.scopeContainer = new ScopeContainer({\n bindingContext: {\n item: this.data\n },\n overrideContext: null\n }, null);\n\n this.objektInfoData = this.getObjektInfoData();\n\n this._dokumentService.attachDropDokument(\n this._element,\n this.objektInfoData.Fullname,\n () => this.data.Data);\n\n if (this.options.cardTemplateName == void 0) {\n this.cardInfo = this.getCardInfo();\n }\n\n this.typ = this.options.typ || this._defaultCardTyp;\n this.optionsInstance = {\n contentTemplate: this.getCardTemplate(this.options.cardTemplateName),\n hasMarkers: this.options.markersCardOptions != void 0 || this.options.useDefaultBindings\n };\n\n if (this.typ == ZitCardTyp.Klein) {\n this.buttonRight = \"85px\";\n }\n\n this.setRibbonOptions(this.cardInfo, this.typ);\n\n if (this.options.useDefaultBindings) {\n this.options.statusColorExpression = \"item.Data.ObjektStatusSymbolFarbe\";\n this.options.markersCardOptions = {\n markersListExpression: \"item.Data.ObjektMarkerZuordnungen\"\n };\n }\n\n this.evaluateAndObserve(this.options.isClickEnabledExpression, this.options.isClickEnabled, v => this.optionsInstance.isClickEnabled = v);\n this.evaluateAndObserve(this.options.statusColorExpression, this.options.statusColor, v => this.optionsInstance.statusColor = v);\n this.evaluateAndObserve(this.options.dmsLinkExpression, this.options.dmsLink, v => this.optionsInstance.dmsLink = v);\n\n if (this.optionsInstance.hasMarkers) {\n const markerOptions: IZitMarkersOptions = {\n onClick: this.options.markersCardOptions ? this.options.markersCardOptions.onClick : null\n };\n\n this.evaluateAndObserve(this.options.markersCardOptions.markersListExpression, this.options.markersCardOptions.markersList, v => markerOptions.markerList = v);\n\n this.optionsInstance.markersOptions = markerOptions;\n }\n }\n unbind() {\n this.scopeContainer.disposeAll();\n this._scope = null;\n }\n\n dataChanged(newVal) {\n this.scopeContainer.scope.bindingContext.item = newVal;\n }\n\n onClick(event: MouseEvent) {\n if (!this.optionsInstance.isClickEnabled) {\n return;\n }\n\n if (this._popupInfoService.isPopupOpen()) {\n this._popupInfoService.closeAllPopups();\n }\n \n const args = {\n sender: this,\n data: this.data,\n isHandled: false\n }\n\n this._element.dispatchEvent(new CustomEvent(\"on-card-click\", {\n detail: args,\n bubbles: true\n }));\n \n if (args.isHandled) {\n event.stopPropagation();\n return false;\n } else if (this.options.onClick != void (0)) {\n this.options.onClick(event, this.data);\n event.stopPropagation();\n return false;\n } else if (this._objektInfoService != void (0)) {\n const url = this.getObjektUrl();\n\n if (url) {\n const currentForm = this._formUtilsService.getMainForm(this._scope);\n this._locationService.goTo({\n url: url,\n currentViewModel: currentForm\n });\n }\n\n event.stopPropagation();\n return false;\n }\n }\n\n onButtonClick(event: MouseEvent, button: IButton) {\n event.preventDefault();\n event.stopPropagation();\n\n if (button.onClick) {\n button.onClick(event);\n }\n if (button.eventName) {\n this._eventAggregator.publish(button.eventName, {\n data: this.data\n });\n }\n }\n\n onFotoClick(e, data) {\n e.preventDefault();\n e.stopPropagation();\n\n this._fotoPopupService.popup.show({\n dmsLink: data.Data.DMSLinkFoto,\n name: data.Data.Name\n });\n }\n\n async nachrichtErstellen(e: MouseEvent) {\n e.stopPropagation();\n this._nachrichtService.doNachrichtErstellenFromObjekt([this.data.Data.Id], this.objektInfoData.Fullname);\n }\n\n private evaluateAndObserve(expression: string, current: any, setValueCallback: { (val: any): void }) {\n if (expression) {\n this._bindingService.observe({\n scopeContainer: this.scopeContainer,\n expression: expression,\n callback: (newVal) => {\n setValueCallback(newVal);\n }\n });\n\n setValueCallback(this._bindingService.evaluate(this.scopeContainer.scope, expression));\n } else {\n setValueCallback(current);\n }\n }\n\n private getCardTemplate(name?: string): string {\n let templateName = name || this.cardInfo[`Card${this.typ}`];\n templateName = this.translateCardName(templateName);\n\n return `../../card-templates/${templateName}`;\n }\n\n private getCardInfo(): ICardStartupInfo {\n if (!this.objektInfoData) {\n throw new Error(\"Keine Objektinfo zur Ermittlung der Card verfügbar\");\n }\n\n const cardInfo = this._startupService.getCardInfoByObjektFullName(this.objektInfoData.Fullname);\n\n if (!cardInfo) {\n throw new Error(`Keine CardInfo für ${this.objektInfoData.Fullname} verfügbar`);\n }\n\n return cardInfo;\n }\n\n private getObjektInfoData(): IObjektInfoData {\n if (!this.data.TypeName) {\n return null;\n }\n\n return this.data.TypeName.indexOf(\".\") > 0\n ? this._objektInfoService.getObjektByFullname(this.data.TypeName)\n : this._objektInfoService.getObjektByName(this.data.TypeName);\n }\n\n private getObjektUrl(): string {\n if (!this.objektInfoData || !this.data || !this.data.Data || !this.data.Data.Id) {\n return null;\n }\n\n const id = this.data.Data.Id;\n\n const url = this._objektInfoService.getObjektNavigationUrl(this.objektInfoData.Fullname);\n return `${url}/${id}`;\n }\n \n private setRibbonOptions(cardInfo: ICardStartupInfo, cardTyp: ZitCardTyp) {\n if (!cardInfo) {\n return;\n }\n this.showRibbon = this.options.showRibbon == void 0\n ? true\n : this.options.showRibbon;\n\n if (this.showRibbon == false) {\n return;\n }\n\n this.ribbon = Object.assign({}, this.options.ribbon);\n\n this.optionsInstance.ribbonColor = this.ribbon.backgroundColor || cardInfo[`Card${cardTyp}Hintergrundfarbe`];\n this.optionsInstance.ribbonIcon = this.ribbon.icon || cardInfo[`Card${cardTyp}Symbol`];\n }\n\n // tslint:disable-next-line: cyclomatic-complexity\n private translateCardName(cardName: string): string {\n switch (cardName) {\n case \"AnsprechpersonCardKompakt.html\": {\n return \"ansprechperson-kompakt.html\";\n }\n case \"AnsprechpersonCardKlein.html\": {\n return \"ansprechperson-klein.html\";\n }\n case \"StelleninseratKundeCardKompakt.html\": {\n return \"stelleninserat-kunde-kompakt.html\";\n }\n case \"StelleninseratPersonCardKompakt.html\": {\n return \"stelleninserat-person-kompakt.html\";\n }\n case \"ProfilFirmaKundeCardKompakt.html\": {\n return \"profil-firma-kunde-kompakt.html\";\n }\n case \"PersonCardKompakt.html\": {\n return \"person-kompakt.html\";\n }\n case \"PersonCardKlein.html\": {\n return \"person-klein.html\";\n }\n case \"PersonKundeCardKompakt.html\": {\n return \"person-kunde-kompakt.html\";\n }\n case \"GeschaeftspartnerCardKompakt.html\": {\n return \"geschaeftspartner-kompakt.html\";\n }\n case \"DispoPersonenzuteilungCardKompakt.html\": {\n return \"dispo-personenzuteilung-kompakt.html\";\n }\n case \"DispoPlanstelleCardKompakt.html\": {\n return \"dispo-planstelle-kompakt.html\";\n }\n case \"BewerbungKundeCardKompakt.html\": {\n return \"bewerbung-kunde-kompakt.html\";\n }\n case \"BewerbungPersonCardKompakt.html\": {\n return \"bewerbung-person-kompakt.html\";\n }\n case \"StelleninseratKundeCard.html\": {\n return \"stelleninserat-kunde-gross.html\";\n }\n case \"StelleninseratPersonCard.html\": {\n return \"stelleninserat-person-gross.html\";\n }\n case \"ProfilFirmaKundeCard.html\": {\n return \"profil-firma-kunde-gross.html\";\n }\n case \"PersonCard.html\": {\n return \"person-gross.html\";\n }\n case \"DispoPersonCard.html\": {\n return \"dispo-person-gross.html\";\n }\n case \"DispoPlanstelleCard.html\": {\n return \"dispo-planstelle-gross.html\";\n }\n case \"BewerbungKundeCard.html\": {\n return \"bewerbung-kunde-gross.html\";\n }\n case \"BewerbungPersonCard.html\": {\n return \"bewerbung-person-gross.html\";\n }\n case \"DispoPersonenzuteilungCardKlein.html\": {\n return \"dispo-personenzuteilung-klein.html\";\n }\n case \"BewerbungKundeCardKlein.html\": {\n return \"bewerbung-kunde-klein.html\";\n }\n case \"TerminCardKompakt.html\": {\n return \"termin-kompakt.html\";\n }\n case \"TerminHeartbaseCardKompakt.html\": {\n return \"termin-heartbase-kompakt.html\";\n }\n case \"AufgabeCardKompakt.html\": {\n return \"aufgabe-kompakt.html\";\n }\n case \"ZielCardKompakt.html\": {\n return \"ziel-kompakt.html\";\n }\n case \"ZielCardKlein.html\": {\n return \"ziel-klein.html\";\n }\n case \"InformationCardKompakt.html\": {\n return \"information-kompakt.html\";\n }\n case \"EventCardKompakt.html\": {\n return \"event-kompakt.html\";\n }\n case \"EventZeitraumCardKompakt.html\":{\n return \"event-zeitraum-kompakt.html\";\n }\n case \"EventTeilnehmerCardKompakt.html\": {\n return \"event-teilnehmer-kompakt.html\";\n }\n case \"EventTeilnehmerCardKlein.html\": {\n return \"event-teilnehmer-klein.html\";\n }\n default: {\n return cardName;\n }\n }\n }\n}\n\ninterface IButton {\n icon: string;\n eventName?: string;\n onClick?(event: MouseEvent);\n}\n","module.exports = \" \";","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.id, \".z--card {\\n position: relative;\\n overflow: hidden;\\n border: 1px solid lightgray;\\n background-color: white;\\n}\\n.z--card.z--card-clickable {\\n cursor: pointer;\\n}\\n.z--card.z--card-auto {\\n height: auto;\\n min-height: 150px;\\n}\\n.z--card.z--card-auto .z--card-image {\\n width: 200px;\\n min-width: 200px;\\n}\\n.z--card.z--card-auto .z--card-content-container {\\n min-height: 150px;\\n}\\n.z--card.z--card-gross {\\n height: 200px;\\n}\\n.z--card.z--card-kompakt {\\n height: 150px;\\n}\\n.z--card.z--card-kompakt .z--card-image {\\n width: 150px;\\n max-width: 33%;\\n min-width: 33%;\\n}\\n.z--card.z--card-klein {\\n height: 100px;\\n}\\n.z--card.z--card-klein .z--card-image {\\n width: 80px;\\n min-width: 80px;\\n}\\n.z--card .z--card-status-mark {\\n position: absolute;\\n display: flex;\\n flex: 1 0 100%;\\n flex-direction: column;\\n width: 8px;\\n height: 100%;\\n}\\n.z--card .z--card-content-container {\\n height: 100%;\\n padding-left: 8px;\\n}\\n.z--card .z--card-content-container .z--card-info-container {\\n flex-grow: 1;\\n padding: 8px;\\n margin-bottom: 25px;\\n overflow: hidden;\\n}\\n.z--card .z--card-content-container .z--card-image-firma-logo .z--image-container {\\n padding-right: 8px;\\n}\\n.z--card .z--card-content-container .z--card-image-firma-logo .z--image {\\n background-size: contain;\\n}\\n.z--card .z--card-ribbon .z--card-ribbon-background {\\n position: absolute;\\n width: 60px;\\n height: 60px;\\n top: -30px;\\n right: -30px;\\n transform: rotate(45deg);\\n z-index: 1;\\n}\\n.z--card .z--card-ribbon i {\\n position: absolute;\\n color: white;\\n right: 5px;\\n top: 5px;\\n z-index: 1;\\n font-size: 14px;\\n}\\n.z--card .z--card-buttons {\\n position: absolute;\\n display: flex;\\n right: 7px;\\n bottom: 5px;\\n z-index: 1;\\n}\\n.z--card .z--card-buttons > * + * {\\n margin-left: 6px;\\n}\\n.z--card .z--card-button {\\n display: flex;\\n height: 35px;\\n width: 35px;\\n border-radius: 35px;\\n align-items: center;\\n justify-content: center;\\n background-color: rgba(0, 0, 0, 0.6);\\n color: rgba(255, 255, 255, 0.8);\\n}\\n.z--card .z--card-button i {\\n font-size: 14px;\\n}\\n.z--card .z--card-button:hover {\\n background-color: #000000;\\n color: #ffffff;\\n}\\n.z--card .z--card-markers {\\n position: absolute;\\n bottom: 3px;\\n right: 35%;\\n}\\n.z--card .z--card-verlauf {\\n position: absolute;\\n bottom: 5px;\\n}\\n.z--card .z--card-title {\\n font-size: 14px;\\n font-weight: bold;\\n}\\n.z--card .z--card-title zit-markers {\\n float: right;\\n}\\n.z--card .z--card-shadow-bottom {\\n position: relative;\\n}\\n.z--card .z--card-shadow-bottom:after {\\n position: absolute;\\n background-image: linear-gradient(180deg, rgba(255, 255, 255, 0), #ffffff);\\n content: \\\"\\\";\\n bottom: 0;\\n height: 40px;\\n left: 0;\\n right: 0;\\n}\\n\", \"\"]);\n// Exports\nmodule.exports = exports;\n","import { bindable, containerless } from 'aurelia-framework';\nimport { computedFrom } from 'aurelia-binding';\nimport { autoinject } from 'aurelia-framework';\nimport { FileService } from '../../../framework/base/services/file-service';\n\n@autoinject\n@containerless\nexport class ZitImage {\n constructor(\n private file: FileService\n ) { }\n\n @bindable dmsLink;\n @bindable noImageIcon: string;\n @bindable noImageText: string;\n\n @computedFrom(\"dmsLink\")\n get imgSrc() {\n if (this.dmsLink == void 0) {\n return \"\";\n }\n\n return this.file.getInlineUrl(this.dmsLink);\n }\n}","module.exports = \" \";","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.id, \".z--image-container {\\n width: 100%;\\n height: 100%;\\n display: flex;\\n justify-content: center;\\n align-items: center;\\n}\\n.z--image-container .z--image {\\n width: 100%;\\n height: 100%;\\n background-size: cover;\\n background-repeat: no-repeat;\\n background-position: center center;\\n}\\n.z--image-container.z--no-image {\\n color: #898989;\\n}\\n.z--image-container.z--no-image .z--no-image-icon {\\n font-size: 4em;\\n}\\n\", \"\"]);\n// Exports\nmodule.exports = exports;\n","import { autoinject, bindable } from 'aurelia-framework';\nimport { IZitMarkersOptions } from './zit-markers-options';\nimport { CustomEditPopupService, MarkerService } from '../../../zit/services/export';\nimport { ScopeContainer } from '../../../framework/base/export';\nimport { BindingService } from '../../../framework/base/services/binding-service';\nimport { EventAggregator, Subscription } from 'aurelia-event-aggregator';\n\n@autoinject\nexport class ZitMarkers {\n private _refreshMarkerSubscription: Subscription;\n\n constructor(\n private customEditPopup: CustomEditPopupService,\n private marker: MarkerService,\n private binding: BindingService,\n private eventAggregator: EventAggregator\n ) { }\n \n @bindable options: IZitMarkersOptions;\n @bindable data: any;\n \n args: any;\n scopeContainer: ScopeContainer;\n\n activate(args: any) {\n this.args = args;\n }\n bind() {\n this.scopeContainer = new ScopeContainer({\n bindingContext: this,\n overrideContext: null\n });\n\n if (this.args) {\n this.options = {\n markerList: []\n };\n\n this.binding.observe({\n scopeContainer: this.scopeContainer,\n expression: \"args.idObjekt\",\n callback: (newVal) => {\n this.loadMarkers();\n }\n });\n\n if (this.args.idObjekt) {\n this.loadMarkers();\n }\n }\n if (this.options && this.options.idObjekt !== undefined) {\n this.binding.observe({\n scopeContainer: this.scopeContainer,\n expression: \"options.idObjekt\", \n callback: (newVal) => {\n this.loadMarkers();\n }\n });\n\n if (this.options.idObjekt) {\n this.loadMarkers();\n }\n }\n\n this._refreshMarkerSubscription = this.eventAggregator.subscribe(\"zit-markers:refresh\", e => {\n if (e.idObjekt != this.getIdObjekt()) {\n return;\n }\n\n this.loadMarkers();\n });\n }\n unbind() {\n this.scopeContainer.disposeAll();\n this._refreshMarkerSubscription.dispose();\n }\n\n onClick(event: MouseEvent) {\n event.stopPropagation();\n\n if (this.options.onClick == void 0) {\n const id = this.getIdObjekt();\n\n this.customEditPopup.markersAuswaehlen.show(\n {\n mappings: {\n \"$v_idObjekt\": id\n }\n }\n );\n return false;\n }\n\n this.options.onClick(event, this.data);\n }\n\n private loadMarkers() {\n this.marker.getObjektZugeordnetMarkers(this.getIdObjekt() || -1)\n .then(r => {\n this.options.markerList = r;\n\n if (this.data) {\n if (this.data.ObjektMarkerZuordnungen) {\n this.data.ObjektMarkerZuordnungen = r;\n }\n if (this.data.Data.ObjektMarkerZuordnungen) {\n this.data.Data.ObjektMarkerZuordnungen = r;\n }\n }\n });\n }\n private getIdObjekt(): number {\n return this.args\n ? this.args.idObjekt\n : (this.options && this.options.idObjekt !== undefined\n ? this.options.idObjekt\n : (this.data\n ? this.data.Id\n : null));\n }\n}\n","module.exports = \" \";","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.id, \".z--markers {\\n display: inline-flex;\\n height: 12px;\\n min-width: 24px;\\n}\\n.z--markers.z--markers-circle {\\n height: 24px;\\n}\\n.z--markers.z--markers-circle .z--marker {\\n display: flex;\\n justify-content: center;\\n align-items: center;\\n max-height: 26px;\\n height: 26px;\\n width: 26px;\\n border-radius: 50%;\\n}\\n.z--markers.z--markers-circle .z--marker:not(:first-child) {\\n margin-left: 6px;\\n}\\n.z--markers.z--markers-circle .z--marker i {\\n color: white;\\n}\\n.z--markers .z--marker {\\n flex-grow: 1;\\n min-width: 24px;\\n max-height: 12px;\\n cursor: pointer;\\n pointer-events: auto;\\n}\\n.z--markers:not(.z--markers-circle) .z--marker:first-child {\\n border-radius: 12px 0 0 12px;\\n}\\n.z--markers:not(.z--markers-circle) .z--marker:first-child:last-child {\\n border-radius: 12px;\\n}\\n.z--markers:not(.z--markers-circle) .z--marker:last-child {\\n border-radius: 0 12px 12px 0;\\n}\\n.z--markers:not(.z--markers-circle) .z--marker i {\\n display: none;\\n}\\n\", \"\"]);\n// Exports\nmodule.exports = exports;\n","import { observable } from 'aurelia-binding';\nimport { BindingService, TemplatingExService } from './../../../framework/base/services/export';\nimport { autoinject, bindable, createOverrideContext, TemplatingEngine, noView, View } from 'aurelia-framework';\nimport { ScopeContainer } from '../../../framework/base/classes/scope-container';\nimport { IZitTagOptions, IZitTagIcon } from './zit-tag-options';\n\nimport * as template from \"html-loader!./zit-tag.xhtml\";\nimport * as templateInfo from \"html-loader!./zit-tag-info.xhtml\";\nimport * as moment from \"moment\";\nimport \"./zit-tag.less\";\nimport { IZitTagInfo } from './export';\nimport { ZitTagService } from '../../export';\nimport { FileService } from '../../../framework/base/export';\n\n@autoinject\n@noView\nexport class ZitTag {\n private _createdView: View;\n\n constructor(\n private binding: BindingService,\n private element: Element,\n private file: FileService,\n private templatingEngine: TemplatingEngine,\n private templatingExService: TemplatingExService,\n private zitTag: ZitTagService\n ) { }\n\n @bindable options: IZitTagOptions;\n @bindable @observable data: any;\n @bindable tagOptionName: string;\n\n owningView: any;\n scopeContainer: ScopeContainer;\n\n dataChanged(newVal) {\n if (!this.scopeContainer) {\n return;\n }\n\n this.scopeContainer.scope.bindingContext.item = newVal;\n }\n\n created(owningView: any, myView: any) {\n this.owningView = owningView;\n }\n\n bind(bindingContext, overrideContext) {\n this.scopeContainer = new ScopeContainer({\n bindingContext: {\n item: this.data\n },\n overrideContext: createOverrideContext(bindingContext, overrideContext)\n }, null);\n\n if (this.options == void 0 && this.tagOptionName != void 0) {\n this.options = this.zitTag.getTagOptions(this.tagOptionName);\n }\n\n const tagHtml = this.parseHtml(template);\n const j = tagHtml;\n\n if (this.options.onClick || this.options.isClickEnabled) {\n if (this.options.isClickEnabledExpression) {\n j.className = (j.className || \"\") + \"${\" + this.options.isClickEnabledExpression + \"?'z--clickable':'z--disabled'}\";\n } else if (this.options.isClickEnabled !== false) {\n j.classList.add(\"z--clickable\");\n }\n }\n\n if (this.options.text != void (0)) {\n j.querySelector(\".z--tag-text\").innerHTML = this.options.text;\n } else if (this.options.textExpression) {\n j.querySelector(\".z--tag-text\").innerHTML = \"${\" + this.options.textExpression + \"}\";\n }\n \n if (this.options.tooltip != void (0)) {\n j.setAttribute(\"title\", this.options.tooltip);\n } else if (this.options.tooltipExpression) {\n j.setAttribute(\"title\", \"${\" + this.options.tooltipExpression + \"}\")\n }\n\n if (this.options.useWhiteSpacePre) {\n (j.querySelector(\".z--tag-text\")).style.whiteSpace = \"pre\";\n }\n\n if (this.options.backgroundColor) {\n j.style.backgroundColor = this.options.backgroundColor;\n } else if (this.options.backgroundColorExpression) {\n this.addStyleExpr(j, \"background-color\", this.options.backgroundColorExpression);\n }\n\n if (this.options.color || this.options.colorExpression) {\n const t: HTMLElement = j.querySelector(\".z--tag-text\");\n if (t) {\n if (this.options.color) {\n t.style.color = this.options.color;\n } else if (this.options.colorExpression) {\n this.addStyleExpr(t, \"color\", this.options.colorExpression);\n }\n }\n }\n\n if (this.options.icon) {\n this.addIcon(j.querySelector(\".z--tag-main-icon\"), this.options.icon);\n }\n\n const tagInfoList = this.options.infoList\n ? this.options.infoList.map(i => i)\n : [];\n\n if (this.options.hasDefaultInfo) {\n tagInfoList.push(...this.getDefaultInfo());\n }\n\n if (tagInfoList.length > 0) {\n const infoList = j.querySelector(\".z--tag-info-list\");\n tagInfoList.forEach((info, index) => {\n const infoHtml = this.parseHtml(templateInfo);\n const ij = infoHtml;\n\n infoList.appendChild(infoHtml);\n\n const ina = `_m.options.infoList[${index}]`;\n\n if (info.onClick) {\n if (info.isClickEnabledExpression) {\n j.classList.add(\"${\" + info.isClickEnabledExpression + \" ? 'z--clickable' : 'z--disabled'}\");\n } else if (info.isClickEnabled !== false) {\n ij.classList.add(\"z--clickable\");\n }\n ij.setAttribute(\"click.trigger\", `_m.onInfoClick($event, ${ina})`);\n }\n\n if (info.backgroundColor) {\n ij.style.backgroundColor = info.backgroundColor;\n } else if (info.backgroundColorExpression) {\n this.addStyleExpr(ij, \"background-color\", info.backgroundColorExpression);\n }\n\n if (info.isVisible === false) {\n ij.setAttribute(\"if.bind\", \"false\");\n } else if (info.isVisibleExpression) {\n ij.setAttribute(\"if.bind\", info.isVisibleExpression);\n }\n\n if (info.color) {\n ij.style.color = info.color;\n } else if (info.colorExpression) {\n this.addStyleExpr(ij, \"color\", info.colorExpression);\n }\n\n if (info.icon) {\n this.addIcon(ij, info.icon);\n }\n });\n }\n\n const deleteEl = j.querySelector(\".z--tag-icon-delete\");\n if (this.options.isDeleteClickEnabled != void(0)) {\n if (!this.options.isDeleteClickEnabled) {\n deleteEl.parentElement.removeChild(deleteEl);\n }\n } else if (this.options.isDeleteClickEnabledExpression) {\n deleteEl.setAttribute(\"if.bind\", this.options.isDeleteClickEnabledExpression);\n } else {\n deleteEl.setAttribute(\"if.bind\", \"_m.options.onDeleteClick\");\n }\n\n this.element.appendChild(tagHtml);\n\n this._createdView = this.templatingEngine.enhance({\n element: tagHtml,\n resources: this.owningView.resources,\n bindingContext: {\n _m: this\n },\n overrideContext: createOverrideContext(this.scopeContainer.scope.bindingContext, this.scopeContainer.scope.overrideContext)\n });\n }\n unbind() {\n while (this.element.children.length > 0) {\n this.element.removeChild(this.element.children.item(0));\n }\n\n this.scopeContainer.disposeAll();\n\n if (this._createdView) {\n this.templatingExService.destroyView(this._createdView);\n this._createdView = null;\n }\n }\n\n onClick(event: MouseEvent) {\n if (this.options.onClick == void 0) {\n return false;\n }\n\n this.options.onClick(event, this.data);\n }\n onInfoClick(event: MouseEvent, info) {\n info.onClick(event, this.data, info);\n }\n onDeleteClick(event: MouseEvent) {\n if (this.options.onDeleteClick == void 0) {\n return false;\n }\n\n this.options.onDeleteClick(event, this.data);\n }\n\n private addStyleExpr(j: HTMLElement, attr: string, value: string) {\n j.setAttribute(\"css\", attr + \": ${\" + value + \"};\");\n }\n\n private addIcon(j: HTMLElement, icon: IZitTagIcon) {\n if (icon.backgroundColor) {\n j.style.backgroundColor = icon.backgroundColor;\n } else if (icon.backgroundColorExpression) {\n this.addStyleExpr(j, \"background-color\", icon.backgroundColorExpression.replace(/\\s/g, \"\"));\n }\n\n if (icon.faIcon) {\n const i = document.createElement(\"i\");\n i.classList.add(...icon.faIcon.split(\" \"));\n\n j.appendChild(i);\n } else if (icon.faIconExpression) {\n const i = document.createElement(\"i\");\n i.className = (i.className || \"\") + \"${\" + icon.faIconExpression + \"}\";\n\n j.appendChild(i);\n }\n if (icon.text) {\n const span = document.createElement(\"span\");\n span.innerHTML = icon.text;\n\n j.appendChild(span);\n } else if (icon.textExpression) {\n const span = document.createElement(\"span\");\n span.innerHTML = \"${\" + icon.textExpression.replace(/\\s/g, \"\") + \"}\";\n\n j.appendChild(span);\n }\n if (icon.dmsLinkIconExpression) {\n const imgKey = this.binding.evaluate(this.scopeContainer.scope, icon.dmsLinkIconExpression);\n const imgSrc = this.file.getInlineUrl(imgKey);\n const imgContainer = document.createElement(\"img\");\n imgContainer.setAttribute(\"src\", imgSrc)\n\n\n j.appendChild(imgContainer);\n }\n }\n\n private getDefaultInfo(): IZitTagInfo[] {\n const infoList: IZitTagInfo[] = [];\n const jetzt = moment();\n if (this.data.GueltigBis && moment(this.data.GueltigBis).isBefore(jetzt.startOf(\"day\"))) {\n infoList.push({\n color: \"red\",\n icon: {\n faIcon: \"fas fa-circle\",\n backgroundColor: \"red\"\n }\n });\n } else if (this.data.GueltigVon && moment(this.data.GueltigVon).isAfter(jetzt)\n || this.data.GueltigBis && jetzt.add(14, \"days\").isAfter(this.data.GueltigBis)) {\n infoList.push({\n color: \"orange\",\n icon: {\n faIcon: \"fas fa-circle\",\n backgroundColor: \"orange\"\n }\n });\n }\n\n if (this.data.IsInaktiv === true) {\n infoList.push({\n icon: {\n faIcon: \"far fa-trash-alt\"\n }\n });\n }\n\n return infoList;\n }\n\n private parseHtml(html: string): Element {\n const parser = new DOMParser();\n const doc = parser.parseFromString(html, \"text/html\");\n\n return doc.body.firstElementChild;\n }\n}\n","import { autoinject, optional, BindingEngine } from 'aurelia-framework';\nimport { IToolbarModel } from '../../../framework/forms/elements/toolbar/toolbar-model';\nimport { IToolbarOptions, IItem } from '../../../framework/forms/elements/toolbar/export';\nimport { FormBase } from '../../../framework/forms/classes/form-base';\nimport { ObjektInfoService } from '../../../zit/services/objekt-info-service';\nimport { BrowserService, LocalizationService, BindingService } from '../../../framework/base/export';\nimport { ContextMenu, CommandService, ICommandData } from '../../../framework/forms/export';\nimport { Subscription } from 'aurelia-event-aggregator';\nimport { Share } from '../../../zit/elements/share/share';\n\n@autoinject\nexport class ZitToolbar {\n private _subscriptionArr: Subscription[];\n\n constructor(\n private objektInfoService: ObjektInfoService,\n private browserService: BrowserService,\n private localizationService: LocalizationService,\n private commandService: CommandService,\n private bindingService: BindingService,\n private bindingEngine: BindingEngine\n ) { }\n\n model: IToolbarModel;\n options: IToolbarOptions;\n\n leftItems: IItem[] = [];\n rightItems: IItem[] = [];\n\n goBackItem: IItem;\n moreItem: IItem;\n moreItems: IItem[];\n\n activate(model: IToolbarModel) {\n this.options = model.options;\n\n model.optionsChanged = () => {\n this.options = model.options;\n this.updateItems(model.options);\n }\n\n if (!model.options) {\n return;\n }\n this.updateItems(model.options);\n }\n unbind() {\n this.removeSubscriptions();\n }\n\n updateItems(options: IToolbarOptions): IToolbarOptions {\n const leftItems: IItem[] = [];\n const rightItems: IItem[] = [];\n\n const form: FormBase = (options\n && options.scopeContainer\n && options.scopeContainer.scope\n && options.scopeContainer.scope.bindingContext\n && options.scopeContainer.scope.bindingContext instanceof FormBase\n && !options.smallToolbar)\n ? options.scopeContainer.scope.bindingContext\n : null;\n\n const isEditPopup = form\n && form.isEditPopup;\n\n let isObjektReadOrEdit = false;\n\n if (form) {\n const model = form.models.modelWithKeyId;\n if (model) {\n const objektInfo = this.objektInfoService.getObjektByWebApiUrl(model.webApiAction);\n if (objektInfo) {\n isObjektReadOrEdit = true;\n }\n }\n }\n\n options.items.forEach(item => {\n switch (item.id) {\n case \"$add\": {\n if (isEditPopup || isObjektReadOrEdit) {\n break;\n }\n\n if (item.title) {\n item.tooltip = item.title;\n item.title = null;\n }\n leftItems.push(item);\n break;\n }\n case \"$save\": {\n if (isEditPopup) {\n break;\n }\n\n if (item.title) {\n item.tooltip = item.title;\n item.title = null;\n }\n leftItems.push(item);\n break;\n }\n case \"$saveAndClose\": {\n if (!isEditPopup) {\n break;\n }\n\n if (item.title) {\n item.tooltip = item.title;\n item.title = null;\n }\n item.icon = \"fas fa-save\";\n\n rightItems.push(item);\n break;\n }\n case \"$delete\": {\n if (item.title) {\n item.tooltip = item.title;\n item.title = null;\n }\n item.icon = \"far fa-trash-alt\";\n\n if (isEditPopup) {\n rightItems.push(item);\n } else {\n leftItems.push(item);\n }\n\n break;\n }\n case \"$goBack\": {\n if (item.title) {\n item.tooltip = item.title;\n item.title = null;\n }\n item.icon = \"fas fa-times\";\n\n item.sortIndex = item.sortIndex + 10000;\n rightItems.push(item);\n break;\n }\n case \"$close\": {\n if (item.title) {\n item.tooltip = item.title;\n item.title = null;\n }\n\n item.sortIndex = item.sortIndex + 10000;\n rightItems.push(item);\n break;\n }\n case \"$listExcelExport\": {\n if (item.title) {\n item.tooltip = item.title;\n item.title = null;\n }\n\n leftItems.push(item);\n break;\n }\n case \"file-download\": {\n item.sortIndex = 1009;\n rightItems.push(item);\n break;\n }\n case \"file-upload\": {\n item.sortIndex = 1010;\n rightItems.push(item);\n break;\n }\n case \"file-delete\": {\n item.sortIndex = 1011;\n rightItems.push(item);\n break;\n }\n case \"$scrollDown\":\n case \"$scrollUp\":\n case \"$saveAndAdd\": {\n break;\n }\n default: {\n if (item.sortIndex >= 1000) {\n rightItems.push(item);\n } else {\n leftItems.push(item);\n }\n break;\n }\n }\n });\n\n leftItems.sort((a, b) => (a.sortIndex || 0) - (b.sortIndex || 0));\n rightItems.sort((a, b) => (a.sortIndex || 0) - (b.sortIndex || 0));\n this.optimizeMobile(form, leftItems, rightItems);\n\n this.leftItems = leftItems;\n this.rightItems = rightItems;\n\n return options;\n }\n\n onItemClick(item: IItem, event: Event) {\n const args = {\n event: event\n };\n\n if (!item.isVisible) {\n return;\n }\n if (!item.isEnabled) {\n return;\n }\n\n if (!item.execute) {\n return;\n }\n\n item.execute(args);\n }\n\n private removeSubscriptions() {\n if (!this._subscriptionArr) {\n return;\n }\n\n this._subscriptionArr.forEach(c => c.dispose());\n this._subscriptionArr.splice(0);\n }\n private optimizeMobile(form: FormBase, leftItems: IItem[], rightItems: IItem[]) {\n if (!this.browserService.isMobile) {\n return;\n }\n if ((this.options).layout === \"vertical\") {\n return;\n }\n\n this.removeSubscriptions();\n this._subscriptionArr = [];\n\n let items = [...leftItems, ...rightItems];\n\n items.forEach(item => {\n this._subscriptionArr.push(this.bindingEngine.propertyObserver(item, \"isVisible\").subscribe(() => {\n this.updateItems(this.options);\n }));\n this._subscriptionArr.push(this.bindingEngine.propertyObserver(item, \"isEnabled\").subscribe(() => {\n this.updateItems(this.options);\n }));\n });\n\n items = items\n .filter(item => \n this.commandService.isVisibleAndEnabled(item)\n && !item.template);\n\n leftItems.splice(0);\n rightItems.splice(0);\n\n //Wenn es weniger als 4 Elemente sind, dann werden alle angezeigt\n if (items.length < 4) {\n rightItems.push(...items);\n return;\n }\n\n //Prüfen ob es ein Speichern und Schließen gibt, diese werden auch immer angezeigt\n const saveItem = items.find(item => item.id == \"$save\" || item.id == \"$saveAndClose\");\n const closeItem = items.find(item => item.id == \"$goBack\" || item.id == \"$close\");\n const kameraItem = items.find(item => item.id == \"kameraCommand\");\n const videoItem = items.find(item => item.id == \"videoCommand\");\n const gallerieItem = items.find(item => item.id == \"gallerieCommand\");\n const nachrichtSendenItem = items.find(item => item.id == \"nachrichtErstellen\");\n const navPrevCommand = items.find(item => item.id == \"navPrevCommand\");\n const navNextCommand = items.find(item => item.id == \"navNextCommand\");\n const showNachrichtenCommand = items.find(item => item.id == \"showNachrichten\");\n const otherItems = items.filter(item => \n item != saveItem \n && item != closeItem \n && item != gallerieItem\n && item != kameraItem\n && item != videoItem\n && item != nachrichtSendenItem\n && item != navPrevCommand\n && item != navNextCommand\n && item != showNachrichtenCommand);\n\n //Restliche Items berechnen (2, da das Menü-Item auch eingefügt wird und damit eines weniger zur Verfügung steht)\n const rest = 2 - (saveItem ? 1 : 0) - (closeItem ? 1 : 0);\n\n const sortedItems = [];\n if (kameraItem) {\n sortedItems.push(kameraItem);\n }\n if (videoItem) {\n sortedItems.push(videoItem);\n }\n if (gallerieItem) {\n sortedItems.push(gallerieItem);\n }\n if (nachrichtSendenItem) {\n sortedItems.push(nachrichtSendenItem);\n }\n if (navPrevCommand) {\n sortedItems.push(navPrevCommand);\n }\n if (navNextCommand) {\n sortedItems.push(navNextCommand);\n }\n if (saveItem) {\n sortedItems.push(saveItem);\n }\n if (showNachrichtenCommand) {\n sortedItems.push(showNachrichtenCommand);\n }\n\n if (rest > 0) {\n sortedItems.push(...otherItems.slice(0, rest));\n otherItems.splice(0, rest);\n }\n\n if (otherItems.length > 0) {\n this.moreItem = {\n id: \"more\",\n icon: \"fas fa-ellipsis-v\",\n isVisible: true,\n isEnabled: true,\n execute: (e) => {\n const ctxMenu = new ContextMenu();\n this.moreItems.forEach(item => {\n if (item.id == \"actionCommand\"\n && form[\"r_share\"]) {\n const share: Share = form[\"r_share\"];\n share.loadCtxMenuItems(ctxMenu);\n return;\n }\n \n const text = item.title\n ? this.localizationService.translateOnce(item.title)\n : (item.tooltip\n ? this.localizationService.translateOnce(item.tooltip)\n : null);\n \n ctxMenu.items.push({\n text: text,\n execute: (e) => {\n item.execute({\n event: e.event\n });\n }\n });\n });\n \n ctxMenu.show(e.event.target);\n }\n };\n this.moreItems = [...otherItems];\n sortedItems.push(this.moreItem);\n } \n \n if (closeItem) {\n sortedItems.push(closeItem);\n }\n\n rightItems.push(...sortedItems);\n }\n}\n","module.exports = \" \";","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.id, \".z--toolbar {\\n display: flex;\\n align-items: center;\\n background-color: #f2f2f2;\\n border-bottom: 1px solid #d1d1d1;\\n padding: 12px;\\n width: 100%;\\n}\\n.z--toolbar.z--toolbar-small {\\n background-color: transparent;\\n padding: 6px 6px 6px 0;\\n margin-top: -6px;\\n}\\n.z--toolbar-icon {\\n font-size: 16px;\\n margin-right: 6px;\\n color: #898989;\\n}\\n.z--toolbar-title {\\n margin-right: 24px;\\n font-size: 18px;\\n color: #898989;\\n overflow: hidden;\\n white-space: nowrap;\\n text-overflow: ellipsis;\\n line-height: normal;\\n flex-shrink: 1;\\n}\\n@media (max-width: 768px) {\\n .z--toolbar-title {\\n font-size: 22px;\\n }\\n}\\n.z--toolbar-items,\\n.z--toolbar-items-left,\\n.z--toolbar-items-center,\\n.z--toolbar-items-right {\\n display: flex;\\n align-items: center;\\n}\\n.z--toolbar-items,\\n.z--toolbar-items-center {\\n flex-grow: 1;\\n}\\n.z--toolbar-item + .z--toolbar-item {\\n margin-left: 6px;\\n}\\n.z--toolbar.z--toolbar-vertical {\\n border-bottom: none;\\n}\\n.z--toolbar.z--toolbar-vertical .z--toolbar-items {\\n display: block;\\n}\\n.z--toolbar.z--toolbar-vertical .z--toolbar-items .z--toolbar-items-left,\\n.z--toolbar.z--toolbar-vertical .z--toolbar-items .z--toolbar-items-center,\\n.z--toolbar.z--toolbar-vertical .z--toolbar-items .z--toolbar-items-right {\\n flex-direction: column;\\n align-items: stretch;\\n width: 100%;\\n}\\n.z--toolbar.z--toolbar-vertical .z--toolbar-items .z--toolbar-items-left .z--toolbar-item,\\n.z--toolbar.z--toolbar-vertical .z--toolbar-items .z--toolbar-items-center .z--toolbar-item,\\n.z--toolbar.z--toolbar-vertical .z--toolbar-items .z--toolbar-items-right .z--toolbar-item {\\n margin-left: 0;\\n}\\n.z--toolbar.z--toolbar-vertical .z--toolbar-items .z--toolbar-items-left .z--toolbar-item .z--button-round,\\n.z--toolbar.z--toolbar-vertical .z--toolbar-items .z--toolbar-items-center .z--toolbar-item .z--button-round,\\n.z--toolbar.z--toolbar-vertical .z--toolbar-items .z--toolbar-items-right .z--toolbar-item .z--button-round {\\n width: 100%;\\n justify-content: flex-start;\\n margin-bottom: 3px;\\n font-size: 1em;\\n}\\n.z--toolbar.z--toolbar-vertical .z--toolbar-items .z--toolbar-items-left .z--toolbar-item .z--button-round > i,\\n.z--toolbar.z--toolbar-vertical .z--toolbar-items .z--toolbar-items-center .z--toolbar-item .z--button-round > i,\\n.z--toolbar.z--toolbar-vertical .z--toolbar-items .z--toolbar-items-right .z--toolbar-item .z--button-round > i {\\n margin-right: 7px;\\n}\\n\", \"\"]);\n// Exports\nmodule.exports = exports;\n","import { FrameworkConfiguration, PLATFORM } from \"aurelia-framework\";\nimport \"./styles/styles.less\";\nimport \"./styles/popup.less\";\n\nexport function configure(config: FrameworkConfiguration) { \n config\n .globalResources(PLATFORM.moduleName(\"./elements/zit-card/zit-card\"))\n .globalResources(PLATFORM.moduleName(\"./elements/zit-tag/zit-tag\"))\n .globalResources(PLATFORM.moduleName(\"./value-converters/address-value-converter\"))\n .globalResources(PLATFORM.moduleName(\"./value-converters/ansprechperson-value-converter\"))\n .globalResources(PLATFORM.moduleName(\"./value-converters/person-name-value-converter\"))\n .globalResources(PLATFORM.moduleName(\"./value-converters/bankverbindung-value-converter\"))\n .globalResources(PLATFORM.moduleName(\"./value-converters/enumeration-value-converter\"))\n .globalResources(PLATFORM.moduleName(\"./value-converters/geschlecht-value-converter\"))\n .globalResources(PLATFORM.moduleName(\"./value-converters/restrict-length-value-converter\"))\n .globalResources(PLATFORM.moduleName(\"./value-converters/moment-value-converter\"))\n .globalResources(PLATFORM.moduleName(\"./value-converters/format-date-ex-value-converter\"))\n .globalResources(PLATFORM.moduleName(\"./value-converters/pattern-value-converter\"))\n .globalResources(PLATFORM.moduleName(\"./value-converters/default-short-objekttyp-bezeichnung-value-converter\"))\n .globalResources(PLATFORM.moduleName(\"./value-converters/title-value-converter\"))\n .globalResources(PLATFORM.moduleName(\"./value-converters/minuten-text-value-converter\"))\n .globalResources(PLATFORM.moduleName(\"./value-converters/initialen-value-converter\"));\n}\n","export class ZitAddressValueConverter {\n toView(data: any, format: AddressFormat): string {\n if (data == void 0) {\n return \"\";\n }\n\n switch (format) {\n case AddressFormat.short:\n return this.shortFormat(data);\n case AddressFormat.shortWithStreet:\n return this.shortWithStrasse(data);\n case AddressFormat.einsatzort:\n return this.einsatzort(data);\n default:\n return data;\n }\n }\n\n einsatzort(data): string {\n if (!data || !data.Geschaeftspartner) {\n return \"\";\n }\n\n if (data.Adresse) {\n return data.Adresse;\n }\n\n const gp = data.Geschaeftspartner;\n if (!gp || !gp.Adressen || !gp.Adressen.Adressen || gp.Adressen.Adressen.length === 0) {\n return \"\";\n }\n\n //TODO Gültigkeit prüfen\n const adresse = gp.Adressen.Adressen[0];\n\n return `${this.shortWithStrasse(adresse, true)}`;\n }\n\n shortFormat(data: any, needsLand: boolean = false) {\n if (data.Land) {\n if (data.Land.KFZ && !needsLand) {\n return `${data.Land.KFZ}-${data.Postleitzahl} ${data.Ort}`;\n } else {\n return `${data.Postleitzahl} ${data.Ort}, ${data.Land.Bezeichnung}`;\n }\n }\n\n return `${data.Postleitzahl} ${data.Ort}`;\n }\n shortWithStrasse(data, needsLand: boolean = false) {\n const shortAdd = this.shortFormat(data, needsLand);\n const result = `${this.getStringValueOrEmpty(data.Strasse + this.getStringValueOrEmpty(data.StrasseZusatz, \" \"))}, ${shortAdd}`;\n return result;\n }\n\n private getStringValueOrEmpty(str: string, suffixValue: string = \" \") {\n if (!str) {\n return \"\";\n }\n\n return suffixValue + str;\n }\n}\n\nexport enum AddressFormat {\n short = \"short\",\n shortWithStreet = \"short:street\",\n einsatzort = \"einsatzort\"\n}","export class ZitAnsprechpersonValueConverter {\n toView(data: any, funcName: string, args?) {\n switch (funcName) {\n case (\"aktiv\"):\n return this.getAktiv(data.Ansprechpersonen);\n }\n }\n\n private getAktiv(data: any[]): string {\n if (!data) {\n return \"\";\n }\n const numberOf = data.length === 1\n ? \"Person\"\n : \"Personen\";\n const totalAktv = data.filter(c => { return c.Ansprechperson && c.Ansprechperson.IsInaktiv === false }).length;\n\n return `${data.length} ${numberOf}, davon ${totalAktv} aktiv`\n }\n}\n","export class ZitBankverbindungValueConverter {\n toView(data: any, funcName: string, args?) {\n switch (funcName) {\n case (\"IBAN\"):\n return this.getIban(data);\n }\n }\n\n private getIban(data): string {\n if (!data.IBAN) {\n return \"\";\n }\n\n const ibanFormatted = data.IBAN.match(/.{1,4}/g).join(\" \");\n\n return data.Waehrung\n ? `${ibanFormatted} | ${data.Waehrung.Bezeichnung}`\n : ibanFormatted;\n }\n}","import { autoinject } from 'aurelia-framework';\nimport { ObjektInfoService } from '../../zit/services/export';\n\n@autoinject\nexport class DefaultShortObjekttypBezeichnungValueConverter {\n constructor(\n private _objektInfoService: ObjektInfoService\n ) {}\n\n toView(value: string, objektTypShort: string) {\n if (value) {\n return value;\n }\n\n const r = this._objektInfoService.getObjektByName(objektTypShort);\n if (!r) {\n return objektTypShort;\n }\n\n return r.Bezeichnung;\n }\n}","export class ZitEnumerationValueConverter {\n toView(value: number, ...args: string[]) {\n const defaultResult = args.pop();\n\n return args[value] || defaultResult;\n }\n}","import { autoinject } from 'aurelia-framework';\nimport { GlobalizationService } from '../../framework/base/export';\n\nimport * as moment from \"moment\";\n\n@autoinject\nexport class FormatDateExValueConverter {\n constructor(\n private _globalizationService: GlobalizationService\n ) {}\n\n toView(date: Date) {\n if (!date) {\n return \"\";\n }\n\n const mDate = moment(date).startOf(\"day\");\n const today = moment().startOf(\"day\");\n \n if (mDate.isSame(today)) {\n return this._globalizationService.format(date, \"t\");\n } else if (today.diff(mDate, \"d\") <= 6) {\n return this._globalizationService.format(date, \"DT_dddd, HH:mm\");\n } else {\n return this._globalizationService.format(date, \"g\");\n }\n }\n}\n","import { Geschlecht } from '../../zit/enumerations/export';\n\nexport class ZitGeschlechtValueConverter {\n toView(typ: Geschlecht): string {\n if (typ == void 0) {\n return \"\";\n }\n\n switch (typ) {\n case Geschlecht.Maennlich: {\n return \"Herr\";\n }\n case Geschlecht.Weiblich: {\n return \"Frau\";\n }\n default: {\n return \"\";\n }\n }\n }\n}","import { autoinject } from 'aurelia-framework';\n\n@autoinject\nexport class ZitInitializenValueConverter {\n toView(data: string) {\n if (!data || !data.split) {\n return;\n }\n\n const tokens = data\n .split(\" \")\n .filter(c => c);\n\n if (tokens.length == 0) {\n return \"\";\n } else if (tokens.length == 1) {\n return tokens[0][0].toUpperCase();\n } else if (tokens.length == 2) {\n return tokens[1][0].toUpperCase();\n } else {\n return (tokens[1][0] + tokens[2][0]).toUpperCase();\n }\n }\n}\n","import { autoinject } from \"aurelia-framework\";\n\n@autoinject\nexport class ZitMinutenTextValueConverter {\n toView(minuten: number) {\n if (!minuten) {\n return null;\n }\n\n const minutenProStd = 60;\n const std = Math.floor(minuten/ minutenProStd);\n const min = minuten % minutenProStd;\n\n if (std > 0 && min > 0) {\n return `${std} St. ${min} min.`;\n } else if (std > 0) {\n return `${std} St.`;\n } else {\n return `${min} min.`;\n }\n }\n}\n","import { autoinject } from 'aurelia-framework';\nimport { GlobalizationService } from '../../framework/base/services/export';\nimport * as moment from \"moment\";\n@autoinject\nexport class ZitMomentValueConverter {\n constructor(\n private globalization: GlobalizationService\n ) { }\n\n toView(data: any, funcName: string, args?: any) {\n switch (funcName) {\n case \"dispoVonBis\":\n return this.getDispoVonBis(data, args);\n default: \n break;\n }\n\n if (!data) {\n return \"\";\n }\n\n switch (funcName) {\n case \"alter\":\n return this.getAlter(data);\n case \"zustand\":\n return this.getZustand(data, args);\n case \"fragebogenZustand\":\n return this.getFragebogenZustand(data);\n case \"vonBis\":\n return this.getVonBis(data, args);\n case \"von\":\n return this.getVon(data);\n case \"bis\":\n return this.getBis(data, args);\n case \"wochenTag\":\n return this.getWochenUndTag(data, args, true);\n case \"wochenTagZeit\":\n return this.getWochenUndTagUndZeit(data, args, true);\n case \"format\":\n return this.globalization.format(data, args);\n case \"personzuteilungVonBis\":\n return this.getPersonzuteilungVonBis(data);\n case \"personzuteilungMelden\":\n return this.getPersonzuteilungMelden(data);\n default:\n return this.globalization.format(data, \"d\");\n }\n }\n\n getAlter(date: Date) {\n if (!date) {\n return \"\";\n }\n\n return moment().diff(date, \"y\");\n }\n getVon(data: { von: Date, prefix: string, format: string }) {\n if (!data.von) {\n return \"\";\n }\n\n const prefix = data.prefix || \"von \";\n\n return `${prefix}${this.globalization.format(data.von, data.format || \"d\")}`;\n }\n\n getBis(bis: Date, von: Date) {\n if (!bis) {\n return \"\";\n }\n\n const prefix = von ? \"\" : \"bis \";\n return `${prefix}${this.globalization.format(bis, \"d\")}`;\n }\n getVonBis(data: { von: Date, bis: Date, prefix?: string, prefixSeparator?: string, format?: string }, args?: { separator?: string, vonPrefix?: string, bisPrefix?: string }): string {\n const dataPrefix = data.prefix || \"\";\n if (!data || !data.von && !data.bis) {\n return dataPrefix;\n }\n const prefix = dataPrefix\n ? `${dataPrefix} ${data.prefixSeparator ? data.prefixSeparator : \", \"}`\n : \"\";\n\n const separator = args && args.separator\n ? args.separator\n : \"-\";\n\n if (data.von && data.bis) {\n return `${prefix}${this.globalization.format(data.von, data.format || \"d\")} ${separator} ${this.globalization.format(data.bis, data.format || \"d\")}`\n }\n //TODO use translation\n const datePrefix = data.von\n ? args.vonPrefix || \"von\"\n : args.bisPrefix || \"bis\";\n\n const date = this.globalization.format(data.von || data.bis, \"d\");\n\n return `${dataPrefix}${datePrefix} ${date}`;\n }\n getWochenUndTag(date: Date, pattern: string = \" ({0})\", showDay: boolean = false) {\n //TODO formater = Globalize.dateFormatter({ skeleton: \"E\" });\n if (!date) {\n return \"\";\n }\n\n return showDay\n ? `${this.globalization.format(date, \"d\")} ${this.getWochenTag(date, pattern).toUpperCase()}`\n : this.getWochenTag(date, pattern).toUpperCase();\n }\n getWochenUndTagUndZeit(date: Date, args: { start: Date, pattern: string }, showDay: boolean = false) {\n if (!date) {\n return \"\";\n }\n\n return showDay\n ? `${this.globalization.format(date, \"d\")} ${this.getWochenTag(date, args.pattern).toUpperCase()} ${this.getZeit(args.start)}`\n : this.getWochenTag(date, args.pattern).toUpperCase();\n }\n\n getZustand(prefix: string, date: Date, isDateVisible: boolean = true) {\n if (!isDateVisible) {\n return prefix;\n }\n return `${prefix}, am ${this.globalization.format(date, \"d\")} um ${this.globalization.format(date, \"t\")} Uhr`\n }\n getFragebogenZustand(data: any) {\n let text = this.getZustand(data.Zustand.Bezeichnung, data.ZustandDatum);\n\n if (data.ShowProzentRichtig) {\n text += ` (${this.globalization.format(data.ProzentRichtig, \"p2\")} richtig)`;\n }\n\n return text;\n }\n\n getDispoVonBis(von: Date, args: { bis: Date, vonZeit?: Date, bisZeit?: Date }, separator: string = \" - \") {\n if (!von && !args.bis) {\n return \"\";\n }\n\n const vonText = von\n ? this.getDatumZeitWochenTag(von, args.vonZeit || null)\n : null;\n\n if (!args.bis) {\n return \"von \" + vonText;\n }\n\n const bisText = this.getDatumZeitWochenTag(args.bis, args.bisZeit || null);\n\n return vonText && bisText\n ? `${vonText}${separator}${bisText}`\n : vonText\n ? vonText\n : `bis: ${bisText}`\n }\n\n getPersonzuteilungVonBis(data) {\n const von: Date = data.ZeitraumVonDatum || data.DispoPlanstelle.Eigenschaften.ZeitraumVonDatum;\n const bis: Date = data.ZeitraumBisDatum || data.DispoPlanstelle.Eigenschaften.ZeitraumBisDatum;\n const vonZeit: Date = von === data.ZeitraumVonDatum\n ? data.ZeitraumVonZeit\n : data.DispoPlanstelle.Eigenschaften.ZeitraumVonZeit;\n const bisZeit: Date = bis === data.ZeitraumBisDatum\n ? data.ZeitraumBisZeit\n : data.DispoPlanstelle.Eigenschaften.ZeitraumBisZeit;\n\n return this.getDispoVonBis(von, { bis: bis, vonZeit: vonZeit, bisZeit: bisZeit }, \" bis \");\n }\n\n getPersonzuteilungMelden(data) {\n const am = data.MeldenAm || data.DispoPlanstelle.Eigenschaften.MeldenAm;\n const um = data.MeldenUm || data.DispoPlanstelle.Eigenschaften.MeldenUm;\n const meldenBei = data.MeldenBei || data.DispoPlanstelle.Eigenschaften.MeldenBei;\n const meldenAm = this.getWochenTag(am, \" am \" + this.globalization.format(am, \"d\") + \" ({0}) \");\n const meldenUm = this.getZeit(um, \" {0} Uhr \");\n\n return `melde dich bitte ${meldenAm}${meldenUm}${meldenBei ? \"bei \" + meldenBei : \"\"}`\n }\n\n getDatumZeitWochenTag(date: Date, zeit?: Date) {\n if (!date) {\n return \"\";\n }\n\n const zeitString = zeit ? ` ${this.globalization.format(zeit, \"t\")} ` : \" \";\n\n return `${this.globalization.format(date, \"d\")}${zeitString}${this.getWochenUndTag(date)}`\n }\n\n getZeit(date: Date, pattern: string = \"um {0} Uhr\") {\n if (!date) {\n return \"\";\n }\n\n return `${pattern.replace(\"{0}\", this.globalization.format(date, \"t\"))}`\n }\n\n private getWochenTag(date: Date, pattern: string = \"({0})\") {\n //TODO globalization\n if (!date) {\n return \"\";\n }\n\n return `${pattern.replace(\"{0}\", moment(date).locale(\"de\").format(\"dd\").toUpperCase())}`\n }\n}\n","export class ZitPatternValueConverter {\n constructor() { }\n toView(): string {\n let text: string = arguments[0];\n\n const parameters: string[] = [];\n for (let i = 1, j = arguments.length; i < j; i++) {\n parameters.push(arguments[i]);\n }\n\n\n parameters.forEach((val, index) => {\n const regExp = val\n ? new RegExp(\"\\\\{\" + index + \"\\\\}\", \"g\")\n : new RegExp(\"[^\\s]\\\\{\" + index + \"\\\\}[^\\s]\", \"g\");\n\n text = text.replace(new RegExp(\"\\\\{\" + index + \"\\\\}\", \"g\"), val || \"\");\n });\n\n return text;\n }\n}","import { Geschlecht } from '../../zit/enumerations/export';\n\nexport class ZitPersonNameValueConverter {\n toView(model: any, format: NameFormat): string {\n if (model == void 0) {\n return \"\";\n }\n const data = model.Personendaten || model;\n\n switch (format) {\n case NameFormat.short:\n return this.shortName(data);\n case NameFormat.mitGeschlecht:\n return this.shortMitGeschlecht(data);\n case NameFormat.long:\n return this.longName(data);\n default:\n return data;\n }\n }\n\n private longName(data: any) {\n const name = this.shortName(data);\n const anrede = this.getGeschlect(data.Geschlecht);\n\n const result = `${this.getStringValueOrEmpty(anrede)}\n ${this.getStringValueOrEmpty(data.TitelVorne)}\n ${name}\n ${this.getStringValueOrEmpty(data.TitelHinten)}`;\n\n return result;\n }\n private shortName(data: any) {\n return `${data.Vorname} ${data.Nachname}`;\n }\n private shortMitGeschlecht(data: any) {\n const geschlecht = this.getStringValueOrEmpty(this.getGeschlect(data.Geschlecht), \" \", true);\n\n return `${geschlecht}${data.Vorname} ${data.Nachname}`;\n }\n\n private getGeschlect(typ: Geschlecht) {\n if (typ == void 0) {\n return \"\";\n }\n\n switch (typ) {\n case Geschlecht.Maennlich: {\n return \"Herr\";\n }\n case Geschlecht.Weiblich: {\n return \"Frau\";\n }\n default: {\n return \"\";\n }\n }\n }\n private getStringValueOrEmpty(str: string, suffixValue: string = \" \", isPrefix: boolean = false) {\n if (str == void 0) {\n return \"\";\n }\n\n\n return isPrefix\n ? str + suffixValue\n : suffixValue + str;\n }\n}\n\nexport enum NameFormat {\n short = \"short\",\n mitGeschlecht = \"mitGeschlecht\",\n long = \"long\"\n}","export class ZitRestrictLengthValueConverter {\n toView(text: string, maxLength: number) {\n if (!text) {\n return \"\";\n }\n return text.length >= maxLength\n ? `${text.substr(0, maxLength)}...`\n : text;\n }\n}\n","\nexport class ZitSortValueConverter {\n toView(array, property, direction) {\n if (!array)\n return array;\n let pname = property;\n let factor = direction.match(/^desc*/i) ? 1 : -1;\n var retvalue = array.sort((a, b) => {\n var textA = a.toUpperCase ? a[property].toUpperCase() : a[property];\n var textB = b.toUpperCase ? b[property].toUpperCase() : b[property];\n return (textA < textB) ? factor : (textA > textB) ? -factor : 0;\n });\n return retvalue;\n }\n}","import { autoinject } from \"aurelia-framework\";\nimport { StartupService } from \"../../zit/services/export\";\nimport { BrowserService } from \"../../framework/base/export\";\n\n@autoinject\nexport class TitleValueConverter {\n constructor(\n private _startupService: StartupService,\n private _browserService: BrowserService\n ) {}\n\n toView(route: string, defaultTitle: string) {\n if (!route) {\n return defaultTitle;\n }\n\n const menu = this._startupService\n .startupInfo\n .MenuList\n .find((m) => m.Route == route);\n\n if (!menu) {\n return defaultTitle;\n }\n\n return this._browserService.isMobile\n ? menu.BezeichnungMobil\n : menu.BezeichnungDesktop;\n }\n}","import * as fwx from \"../../../framework/forms/form-export\";\nimport {\n AppLoginFormFuncs\n} from \"./app-login-form-funcs\";\n\n@fwx.autoinject\nexport class AppLoginForm extends fwx.FormBase {\n constructor(\n element: Element,\n formBaseImport: fwx.FormBaseImport,\n private $f: AppLoginFormFuncs) {\n super(element, formBaseImport);\n this.id = \"app-login-form\";\n this.title = \"app-login-form.app-login-form_caption\";\n this.addFunction(\"$f\", $f, \"functions.$f\");\n this.widgetCreator.addValidationGroup(this, {\n \"id\": \"wd1\",\n \"options\": {\n \"optionsName\": \"wd1Options\",\n \"optionsNameFQ\": \"wd1Options\"\n }\n });\n super.onConstructionFinished();\n }\n}","module.exports = \"\";","import * as fwx from \"../../../framework/forms/form-export\";\nimport {\n AutoLoginFormFuncs\n} from \"./auto-login-form-funcs\";\n\n@fwx.autoinject\nexport class AutoLoginForm extends fwx.FormBase {\n constructor(\n element: Element,\n formBaseImport: fwx.FormBaseImport,\n private $f: AutoLoginFormFuncs) {\n super(element, formBaseImport);\n this.id = \"auto-account-form\";\n this.title = \"auto-account-form.auto-account-form_caption\";\n this.addFunction(\"$f\", $f, \"functions.$f\");\n this.widgetCreator.addValidationGroup(this, {\n \"id\": \"wd1\",\n \"options\": {\n \"optionsName\": \"wd1Options\",\n \"optionsNameFQ\": \"wd1Options\"\n }\n });\n super.onConstructionFinished();\n }\n}","module.exports = \"\";","import { autoinject, computedFrom } from 'aurelia-framework';\nimport { LayoutService } from '../../export';\nimport { StartupService } from \"../../../zit/services/startup-service\";\n\n@autoinject\nexport class Container {\n constructor(\n public layoutService: LayoutService,\n private _startupService: StartupService \n ) { }\n\n @computedFrom(\"layoutService.isSidebarCollapsed\")\n get className(): string {\n const classes = [];\n \n classes.push(this.layoutService.isSidebarCollapsed\n ? \"z--sidebar-collapsed\"\n : \"z--sidebar-expanded\");\n \n if (this._startupService.startupInfo.IsApp) {\n classes.push(\"z--is-app\");\n }\n \n return classes.join(\" \");\n }\n\n attached() {\n this.layoutService.resizeContainer();\n }\n}\n","module.exports = \" \";","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.id, \"html {\\n margin: 0;\\n padding: 0;\\n}\\n.z--container {\\n display: flex;\\n flex-direction: column;\\n width: 100%;\\n min-height: 100vh;\\n}\\n.z--container > content {\\n position: relative;\\n flex-grow: 1;\\n}\\n.z--is-app .z--header,\\n.z--is-app .z--nav-bar {\\n display: none;\\n}\\n\", \"\"]);\n// Exports\nmodule.exports = exports;\n","import { autoinject, TaskQueue } from \"aurelia-framework\";\nimport { RestService, AuthorizationService } from \"../../../framework/base/export\";\nimport { BrowserService } from \"../../../framework/base/services/browser-service\";\nimport { EventAggregator, Subscription } from \"aurelia-event-aggregator\";\n\n@autoinject\nexport class Content {\n private _windowResizeSubscription: Subscription;\n private _routerViewItemCreatedSubscription: Subscription;\n private _routerViewItemRemovedSubscription: Subscription;\n\n constructor(\n private _element: Element,\n private _restService: RestService,\n private _browserService: BrowserService,\n private _authorizationService: AuthorizationService,\n private _eventAggregator: EventAggregator,\n private _taskQueue: TaskQueue\n ) {\n const randomKey = new Date()\n .getTime()\n .toString() \n \n + Math\n .floor((Math.random() * 100))\n .toString();\n\n let url = `ZIT/Domaene/Hintergrundbild?key=${randomKey}`;\n\n const authKey = this._authorizationService.getAuthorizationKey();\n if (authKey) {\n url += `&auth-token=${encodeURIComponent(authKey)}`;\n }\n\n const hintergrundUrl = _restService.getApiUrl(url);\n this.contentStyle = {\n \"background-image\": `url(${hintergrundUrl})`\n };\n }\n\n contentStyle: any;\n\n bind() {\n if (this._browserService.isIE) {\n this._windowResizeSubscription = this._eventAggregator.subscribe(\"window:resize\", () => {\n this.refreshHeight();\n });\n }\n if (this._browserService.isIE || this._browserService.isEdge) {\n this._routerViewItemCreatedSubscription = this._eventAggregator.subscribe(\"router:view-item-created\", () => {\n this.publishWindowResize();\n });\n this._routerViewItemRemovedSubscription = this._eventAggregator.subscribe(\"router:view-item-removed\", () => {\n this.publishWindowResize();\n });\n } \n }\n unbind() {\n if (this._windowResizeSubscription) {\n this._windowResizeSubscription.dispose();\n }\n if (this._routerViewItemCreatedSubscription) {\n this._routerViewItemCreatedSubscription.dispose();\n }\n if (this._routerViewItemRemovedSubscription) {\n this._routerViewItemRemovedSubscription.dispose();\n }\n }\n\n attached() {\n if (this._browserService.isIE) {\n this._taskQueue.queueTask(() => {\n this.refreshHeight();\n });\n }\n }\n\n private publishWindowResize() {\n this._taskQueue.queueTask(() => {\n this._eventAggregator.publish(\"window:resize\", {});\n });\n }\n private refreshHeight() {\n const htmlElement: HTMLElement = this._element;\n\n const height = window.innerHeight;\n const top = htmlElement.offsetTop;\n\n htmlElement.style.height = (height - top) + \"px\";\n }\n}\n","module.exports = \" \";","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.id, \".z--content {\\n background-repeat: no-repeat;\\n background-position: center center;\\n background-size: cover;\\n}\\n.z--router-container {\\n position: absolute;\\n top: 0;\\n left: 0;\\n bottom: 0;\\n right: 0;\\n}\\n.t--stack-router {\\n position: relative;\\n height: 100%;\\n width: 100%;\\n}\\n.z--container .t--stack-router-item {\\n position: absolute;\\n height: calc(100% - 12px);\\n margin: 12px 12px 0 12px;\\n border-radius: 4px 4px 0 0;\\n box-shadow: 0 5px 5px 3px rgba(0, 0, 0, 0.2);\\n}\\n\", \"\"]);\n// Exports\nmodule.exports = exports;\n","import { Subscription, EventAggregator } from 'aurelia-event-aggregator';\nimport { NachrichtService } from './../../../zit/services/nachricht-service';\nimport { autoinject, OverrideContext, Scope, computedFrom } from 'aurelia-framework';\nimport { AuthorizationService, BrowserService } from '../../../framework/base/export';\nimport { ScopeContainer } from '../../../framework/base/classes/scope-container';\nimport { ICommandData, ToolbarService } from '../../../framework/forms/export';\nimport { Benutzereinstellungen, BenutzerWechseln } from '../../../zit/elements/export';\nimport { LoginprofilService, UpdateHinweisService } from '../../../zit/services/export';\nimport { IdxPopoverComponent, IKopfzeileVerknuepfung } from '../../../zit/interfaces/export';\nimport { IZitToolbarOptions } from '../../elements/zit-toolbar/zit-toolbar-options';\nimport { LayoutService } from '../../export';\nimport { HeaderService } from '../../../framework/default-ui/export';\nimport { StartupService } from '../../../zit/services/startup-service';\nimport { BenutzerTyp } from '../../../zit/enumerations/export';\nimport { LocationService } from '../../../framework/base/services/location-service';\nimport { BenutzerHilfe } from '../../../zit/elements/benutzer-hilfe/benutzer-hilfe';\nimport { TooltipService } from '../../../zit/services/tooltip-service';\nimport { IZitTagOptions } from '../../elements/zit-tag/export';\n\n@autoinject\nexport class Header {\n private _benutzereinstellungShowSubscription: Subscription;\n\n constructor(\n public startupService: StartupService,\n public headerService: HeaderService,\n public updateHinweisService: UpdateHinweisService,\n public nachrichtService: NachrichtService,\n public browserService: BrowserService,\n public layoutService: LayoutService,\n private _authorizationService: AuthorizationService,\n private _loginprofilService: LoginprofilService,\n private _toolbarService: ToolbarService,\n private _locationService: LocationService,\n private _tooltipService: TooltipService,\n private _eventAggregator: EventAggregator\n ) {\n this.initializeCommands();\n }\n\n @computedFrom(\"layoutService.isSidebarCollapsed\")\n get sideNavbarHeaderIcon(): string {\n if (this.layoutService.isSidebarCollapsed) {\n return \"fas fa-bars\";\n } else {\n return \"fas fa-arrow-circle-left\"\n }\n }\n scope: Scope;\n scopeContainer: ScopeContainer;\n\n isAdmin: boolean = false;\n showHilfe: boolean = false;\n showErklaervideos: boolean = false;\n\n anzUngelesen: number;\n anzUngelesenAbwesend: number;\n\n userCommandElement: HTMLElement;\n userLogoUrl: HTMLImageElement;\n\n benutzereinstellungen: Benutzereinstellungen;\n benutzerHilfe: BenutzerHilfe;\n benutzerWechseln: BenutzerWechseln;\n\n benutzerCommands: ICommandData[];\n benutzerCommandsToolbarOptions: IZitToolbarOptions;\n\n benutzerPopover: IdxPopoverComponent;\n benutzerPopoverOptions: DevExpress.ui.dxPopoverOptions = {\n contentTemplate: \"contentTemplate\",\n minWidth: \"255px\",\n width: \"auto\",\n deferRendering: false\n };\n\n updateHinweisInfoTagOptions: IZitTagOptions = {\n cssClass: \"z--tag-info-message z--tag-info-update-hinweis\",\n icon: {\n faIconExpression: \"item.icon\"\n },\n textExpression: \"item.message\"\n };\n\n bind(bindingContext: any, overrideContext: OverrideContext) {\n this.scope = {\n bindingContext: bindingContext,\n overrideContext: overrideContext\n };\n\n this.scopeContainer = new ScopeContainer({\n bindingContext: this,\n overrideContext: null\n });\n\n this.benutzerCommandsToolbarOptions = this._toolbarService.createToolbarOptions(\n this.scopeContainer,\n null,\n this.benutzerCommands\n );\n\n this.benutzerCommandsToolbarOptions.layout = \"vertical\";\n this.showHilfe = this.startupService.startupInfo.Benutzer.HtmlTextHilfe != void 0;\n this.isAdmin = this.startupService.startupInfo.Benutzer.Benutzertyp == BenutzerTyp.Administrator;\n\n this.showErklaervideos = this.startupService.startupInfo.ErklaerungsvideoLayoutList\n && this.startupService.startupInfo.ErklaerungsvideoLayoutList.length > 0;\n\n const urlVerlinkungWebsite = this.startupService.startupInfo.UrlVerlinkungWebsite\n if (urlVerlinkungWebsite) {\n this.userLogoUrl.classList.add(\"z--clickable\");\n }\n\n this._benutzereinstellungShowSubscription = this._eventAggregator.subscribe(\"benutzereinstellungen:show\", () => {\n this.benutzereinstellungen.showPopup();\n });\n }\n unbind() {\n this.scopeContainer.disposeAll();\n this.scope = null;\n\n this._benutzereinstellungShowSubscription.dispose();\n this._benutzereinstellungShowSubscription = null;\n }\n\n async navigateTo(url: string) {\n await this._locationService.goTo({\n url: url,\n clearStack: true\n });\n\n this._eventAggregator.publish(\"suche:clear\", {});\n }\n onKopfzeileVerknuepfungClick(kf: IKopfzeileVerknuepfung) {\n if (kf.IdLoginprofil) {\n this._loginprofilService.setLoginProfil(kf.IdLoginprofil, true);\n } else if (kf.Url) {\n window.open(kf.Url, \"_blank\");\n }\n }\n openUrlVerlinkungWebsite() {\n let urlVerlinkung = this.startupService.startupInfo.UrlVerlinkungWebsite;\n if (!urlVerlinkung) {\n return;\n }\n\n if (!urlVerlinkung.match(/^https?:\\/\\//i)) {\n urlVerlinkung = `http://${urlVerlinkung}`;\n }\n\n window.open(urlVerlinkung, \"_blank\");\n }\n\n showUserPopover() {\n this.benutzerPopover.instance.show(this.userCommandElement);\n }\n showHilfePopup() {\n this.benutzerHilfe.showPopup();\n }\n toggleTooltipConfig() {\n if (this._tooltipService.isEnabled) {\n this._tooltipService.disable();\n } else {\n this._tooltipService.enable();\n }\n }\n toogleSideNavigation() {\n this.layoutService.isSidebarCollapsed = !this.layoutService.isSidebarCollapsed;\n }\n\n private initializeCommands() {\n this.benutzerCommands = [{\n id: \"benutzereinstellungen\",\n icon: \"fas fa-cogs\",\n title: \"zit-header.benutzereinstellungen\",\n isVisible: true,\n isEnabled: true,\n execute: () => {\n this.benutzereinstellungen.showPopup();\n }\n }, {\n id: \"zurueckZuBenutzer\",\n icon: \"fas fa-users\",\n title: \"zit-header.zurueck-zu-benutzer\",\n isVisible: this.startupService.startupInfo.HasUrsprBenutzer,\n execute: () => {\n this._loginprofilService.zurueckZuBenutzer()\n .then(r => {\n window.location.reload();\n });\n }\n }, {\n id: \"benutzerWechseln\",\n icon: \"fas fa-sync\",\n title: \"zit-header.benutzer-wechseln\",\n isVisible: this.startupService.startupInfo.CanChangeLoginprofil || this.startupService.startupInfo.CanChangeUser,\n execute: () => {\n this.benutzerWechseln.showPopup();\n }\n }, {\n id: \"logout\",\n icon: \"fas fa-sign-out-alt\",\n title: \"base.logout\",\n isVisible: true,\n isEnabled: true,\n execute: () => {\n this._authorizationService.logout();\n }\n }]\n }\n}\n","module.exports = \" \";","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.id, \"@keyframes leftFadeIn {\\n from {\\n opacity: 0;\\n transform: translateX(-10px);\\n }\\n to {\\n opacity: 1;\\n transform: translateX(0);\\n }\\n}\\n#tip-user-image-edit-file {\\n position: absolute;\\n visibility: hidden;\\n}\\n.z--header {\\n padding: 12px;\\n padding-bottom: 0;\\n}\\n.z--header .z--header-items {\\n display: flex;\\n align-items: center;\\n}\\n.z--header .z--header-items .z--header-search-container {\\n width: 50%;\\n display: flex;\\n}\\n.z--header .z--header-items .z--header-items-filler {\\n flex-grow: 1;\\n text-align: center;\\n}\\n.z--header .z--header-items .z--header-commands {\\n display: flex;\\n align-items: center;\\n}\\n.z--header .z--header-logo {\\n margin-right: 12px;\\n}\\n.z--header .z--header-logo img {\\n max-height: 35px;\\n}\\n.z--header .z--header-benutzer-popover-command {\\n background-repeat: no-repeat;\\n background-size: cover;\\n background-position: center;\\n}\\n.z--header .z--header-kopfzeile-verkn {\\n display: flex;\\n justify-content: flex-end;\\n padding-right: 10px;\\n}\\n.z--header .z--header-kopfzeile-verkn img {\\n cursor: pointer;\\n margin-left: 10px;\\n max-height: 35px;\\n}\\n.z--header-benutzer-popover-container {\\n padding: 10px;\\n}\\n.z--header-benutzer-popover-container .z--toolbar {\\n background-color: white;\\n padding: 0;\\n}\\nbody.t--is-mobile .z--header {\\n padding: 12px;\\n}\\nbody.t--is-mobile .z--header .z--header-items .z--header-items-filler {\\n flex-grow: 0;\\n}\\nbody.t--is-mobile .z--header .z--header-items .z--header-commands {\\n flex-grow: 1;\\n}\\nbody.t--is-mobile .z--header .z--header-items .z--header-commands .z--header-logo {\\n flex-grow: 1;\\n text-align: right;\\n margin: 0 6px;\\n}\\nbody.t--is-mobile .z--header .z--header-items .z--header-commands .z--header-logo img {\\n max-height: 35px;\\n}\\nbody.t--is-mobile .z--header .z--header-search-container {\\n display: none;\\n}\\nbody.t--is-mobile .z--header-benutzer-popover-container {\\n margin: 0 auto;\\n}\\nbody.t--is-mobile .z--header-benutzer-popover-container .z--header-benutzer-commands {\\n width: 100%;\\n}\\nbody.t--is-mobile .z--header-benutzer-popover-container .z--toolbar {\\n padding-left: 0;\\n}\\nbody.t--is-mobile .t--list-view-container > .list-view-content .dx-scrollview .list-view-item {\\n padding: 0;\\n padding-left: 6px;\\n padding-bottom: 6px;\\n}\\n\", \"\"]);\n// Exports\nmodule.exports = exports;\n","import {\n autoinject,\n computedFrom\n} from \"aurelia-framework\";\nimport {\n LoadingService\n} from \"../../services/loading-service\";\n\n@autoinject\nexport class Loading {\n constructor(\n private loading: LoadingService\n ) { }\n}","module.exports = \" \";","import { autoinject, computedFrom } from \"aurelia-framework\";\nimport { RestService } from \"../../../framework/base/services/rest-service\";\nimport { RouterService } from \"../../../framework/forms/export\";\nimport { DomaeneService } from \"./../../services/domaene-service\";\nimport { LoginService } from \"./services/login-service\";\n\n@autoinject\nexport class Login {\n\n constructor(\n public routerService: RouterService,\n private _restService: RestService,\n private _loginService: LoginService,\n private _domaeneService: DomaeneService\n ) {\n const time = new Date()\n .getTime()\n .toString();\n const randomNumberString = Math.floor((Math.random() * 100))\n .toString();\n const randomKey = time + randomNumberString;\n\n this.loginImageStyle = {\n \"background-image\": `url('${this._restService.getApiUrl(\"ZIT/Domaene/Hintergrundbild?key=\")}${randomKey}')`\n };\n\n this.checkBenutzerParam();\n }\n\n loginImageStyle: any;\n\n @computedFrom(\"routerService.currentViewItem.controller.currentViewModel.title\")\n get title(): string {\n if (!this.routerService.currentViewItem || !this.routerService.currentViewItem.controller) {\n return null;\n }\n\n const currentViewModel = this.routerService.currentViewItem.controller[\"currentViewModel\"];\n if (!currentViewModel) {\n return;\n }\n\n return currentViewModel.title;\n }\n\n @computedFrom(\"routerService.currentViewItem.controller.currentViewModel.customTitle\")\n get customTitle(): string {\n if (!this.routerService.currentViewItem || !this.routerService.currentViewItem.controller) {\n return null;\n }\n\n const currentViewModel = this.routerService.currentViewItem.controller[\"currentViewModel\"];\n if (!currentViewModel) {\n return;\n }\n\n return currentViewModel.customTitle;\n }\n\n @computedFrom(\"routerService.currentViewItem.controller.currentViewModel.customSubtitle\")\n get customSubtitle(): string {\n if (!this.routerService.currentViewItem || !this.routerService.currentViewItem.controller) {\n return null;\n }\n\n const currentViewModel = this.routerService.currentViewItem.controller[\"currentViewModel\"];\n if (!currentViewModel) {\n return;\n }\n\n return currentViewModel.customSubtitle;\n }\n\n async activate() {\n await this._domaeneService.loadLoginInformation();\n }\n\n attached() {\n this.routerService.registerRoutes([{\n moduleId: \"zit-ui/views/login/views/login/login-form\",\n caption: \"zit-ui.login-anmelden\",\n route: \"Login\"\n }, {\n moduleId: \"zit-ui/views/login/views/loginprofil/loginprofil-form\",\n caption: \"zit-ui.login-anmelden\",\n route: \"Loginprofil\"\n }, {\n moduleId: \"zit-ui/views/login/views/password-reset/password-reset-form\",\n caption: \"zit-ui.login-passwort-vergessen\",\n route: \"Passwort-Zuruecksetzen\"\n }, {\n moduleId: \"zit-ui/views/login/views/login-tan/login-tan-form\",\n caption: \"zit-ui.login-anmelden\",\n route: \"Login-Tan\"\n }, {\n moduleId: \"zit-ui/views/login/views/activate-account/activate-account-form\",\n caption: \"zit-ui.login-account-aktivieren\",\n route: \"Account-Aktivieren\"\n }, {\n moduleId: \"zit-ui/views/login/views/password-confirm/password-confirm-form\",\n caption: \"zit-ui.login-passwort-bestaetigen\",\n route: \"Passwort-Bestaetigung\"\n }, {\n moduleId: \"zit-ui/views/auto-login/auto-login-form\",\n caption: \"zit-ui.auto-login\",\n route: \"AutoLogin\"\n }, {\n moduleId: \"zit-ui/views/app-login/app-login-form\",\n caption: \"zit-ui.app-login\",\n route: \"app-login\"\n }], \"Login\");\n }\n\n private checkBenutzerParam() {\n const hash = location.hash;\n if (!hash) {\n return;\n }\n\n const indexOfQuestion = hash.indexOf(\"?\");\n if (indexOfQuestion < 0) {\n return;\n }\n\n const params = hash.substr(indexOfQuestion + 1);\n if (!params) {\n return;\n }\n\n const tokens = params.split(\"&\");\n for (const token of tokens) {\n const keyValue = token.split(\"=\");\n if (keyValue.length != 2) {\n continue;\n }\n\n if (keyValue[0] != \"benutzer\") {\n continue;\n }\n\n this._loginService.benutzer = keyValue[1];\n break;\n }\n }\n}\n","module.exports = \" \";","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.id, \"@keyframes leftFadeIn {\\n from {\\n opacity: 0;\\n transform: translateX(-10px);\\n }\\n to {\\n opacity: 1;\\n transform: translateX(0);\\n }\\n}\\n.t--login-container {\\n display: flex;\\n height: 100vh;\\n width: 100vw;\\n overflow: hidden;\\n}\\n.t--login-image {\\n position: relative;\\n flex-grow: 1;\\n background-position: center center;\\n background-size: cover;\\n border-right: 1px solid lightgray;\\n}\\n.t--login-banner {\\n position: absolute;\\n padding: 12px 36px;\\n bottom: 30vh;\\n font-size: 60px;\\n font-weight: 100;\\n color: white;\\n background-color: rgba(0, 0, 0, 0.3);\\n}\\n.t--login-banner .t--login-banner-sub {\\n font-size: 40px;\\n}\\n.t--login-data {\\n display: flex;\\n width: 350px;\\n background-color: #f7f7f7;\\n}\\n.t--login-data .t--view-content {\\n padding-top: 4vh;\\n}\\n.t--login-data > dx-widget > .dx-scrollable {\\n width: 350px;\\n}\\n.t--login-logo {\\n margin-bottom: 40px;\\n text-align: center;\\n}\\n.t--login-logo img {\\n max-width: 100%;\\n}\\n.t--login-info-text > div {\\n line-height: 18px;\\n white-space: pre-line;\\n}\\n.t--is-mobile .t--login-image {\\n display: none;\\n}\\n.t--is-mobile .t--login-data {\\n width: 100%;\\n}\\n.t--is-mobile .t--login-data > dx-widget > .dx-scrollable {\\n width: 100%;\\n}\\n.t--login-container__link-container {\\n padding-top: 12px;\\n}\\n.t--login-container__link {\\n text-decoration: underline;\\n}\\n.t--login-container__link--right {\\n text-align: end;\\n}\\n.t--login-container .dx-button:hover {\\n background-color: #6E6E6E;\\n}\\n@media (max-width: 768px) {\\n .t--login-logoheader .t--login--logoheader--header {\\n font-size: 26px;\\n height: 95px;\\n }\\n .t--login--logoheader--img {\\n height: 95px;\\n background-color: #fff;\\n }\\n .t--login-logoheader {\\n padding: 0px!important;\\n }\\n .t--login-logo {\\n display: flex;\\n justify-content: center;\\n align-items: center;\\n }\\n .t--login-data .t--view-content {\\n padding-top: 0px;\\n }\\n}\\n.t--login--btncolor .dx-button {\\n height: 35px;\\n}\\n.login__wartung {\\n font-weight: bold;\\n color: red;\\n}\\n.t--login-dok-button {\\n margin-top: 24px;\\n}\\n\", \"\"]);\n// Exports\nmodule.exports = exports;\n","import * as fwx from \"../../../../../framework/forms/form-export\";\nimport {\n ActivateAccountFuncs\n} from \"./activate-account-form-funcs\";\n\n@fwx.autoinject\nexport class ActivateAccountForm extends fwx.FormBase {\n constructor(\n element: Element,\n formBaseImport: fwx.FormBaseImport,\n private $f: ActivateAccountFuncs) {\n super(element, formBaseImport);\n this.id = \"activate-account-form\";\n this.title = \"activate-account-form.activate-account-form_caption\";\n this.addModel({\n \"id\": \"$m_activateAccount\",\n \"filters\": []\n });\n this.addFunction(\"$f\", $f, \"functions.$f\");\n this.widgetCreator.addValidationGroup(this, {\n \"id\": \"wd1\",\n \"options\": {\n \"optionsName\": \"wd1Options\",\n \"optionsNameFQ\": \"wd1Options\"\n }\n });\n this.widgetCreator.addTextBox(this, {\n \"caption\": \"activate-account-form.benutzer_caption\",\n \"binding\": {\n \"dataContext\": \"$m_activateAccount\",\n \"bindTo\": \"Benutzername\",\n \"bindToFQ\": \"models.data.$m_activateAccount.Benutzername\"\n },\n \"validationRules\": [],\n \"id\": \"benutzer\",\n \"options\": {\n \"optionsName\": \"benutzerOptions\",\n \"optionsNameFQ\": \"benutzerOptions\"\n }\n });\n this.widgetCreator.addTextBox(this, {\n \"mode\": \"password\",\n \"caption\": \"activate-account-form.password_caption\",\n \"binding\": {\n \"dataContext\": \"$m_activateAccount\",\n \"bindTo\": \"Passwort1\",\n \"bindToFQ\": \"models.data.$m_activateAccount.Passwort1\"\n },\n \"validationRules\": [],\n \"id\": \"password\",\n \"options\": {\n \"optionsName\": \"passwordOptions\",\n \"optionsNameFQ\": \"passwordOptions\"\n }\n });\n this.widgetCreator.addTextBox(this, {\n \"mode\": \"password\",\n \"caption\": \"activate-account-form.confirmpassword_caption\",\n \"binding\": {\n \"dataContext\": \"$m_activateAccount\",\n \"bindTo\": \"Passwort2\",\n \"bindToFQ\": \"models.data.$m_activateAccount.Passwort2\"\n },\n \"validationRules\": [],\n \"id\": \"confirmPassword\",\n \"options\": {\n \"optionsName\": \"confirmPasswordOptions\",\n \"optionsNameFQ\": \"confirmPasswordOptions\"\n }\n });\n this.widgetCreator.addCommand(this, {\n \"id\": \"wd2\",\n \"options\": {\n \"optionsName\": \"wd2Options\",\n \"optionsNameFQ\": \"wd2Options\"\n },\n \"binding\": {\n \"bindTo\": \"$f.activateCommand\",\n \"bindToFQ\": \"functions.$f.activateCommand\"\n }\n });\n this.widgetCreator.addCommand(this, {\n \"id\": \"wd3\",\n \"options\": {\n \"optionsName\": \"wd3Options\",\n \"optionsNameFQ\": \"wd3Options\"\n },\n \"binding\": {\n \"bindTo\": \"$f.backToLoginCommand\",\n \"bindToFQ\": \"functions.$f.backToLoginCommand\"\n }\n });\n super.onConstructionFinished();\n }\n}","module.exports = \"\";","import * as fwx from \"../../../../../framework/forms/form-export\";\nimport {\n LoginTanFuncs\n} from \"./login-tan-funcs\";\n\n@fwx.autoinject\nexport class LoginTanForm extends fwx.FormBase {\n constructor(\n element: Element,\n formBaseImport: fwx.FormBaseImport,\n private $f: LoginTanFuncs) {\n super(element, formBaseImport);\n this.id = \"login-tan-form\";\n this.title = \"login-tan-form.login-tan-form_caption\";\n this.addModel({\n \"id\": \"$m_logintan\",\n \"filters\": []\n });\n this.addFunction(\"$f\", $f, \"functions.$f\");\n this.widgetCreator.addValidationGroup(this, {\n \"id\": \"wd1\",\n \"options\": {\n \"optionsName\": \"wd1Options\",\n \"optionsNameFQ\": \"wd1Options\"\n }\n });\n this.widgetCreator.addTextBox(this, {\n \"caption\": \"login-tan-form.tan_caption\",\n \"binding\": {\n \"dataContext\": \"$m_logintan\",\n \"bindTo\": \"Tan\",\n \"bindToFQ\": \"models.data.$m_logintan.Tan\"\n },\n \"validationRules\": [],\n \"id\": \"tan\",\n \"options\": {\n \"optionsName\": \"tanOptions\",\n \"optionsNameFQ\": \"tanOptions\"\n }\n });\n this.widgetCreator.addCommand(this, {\n \"id\": \"wd2\",\n \"options\": {\n \"optionsName\": \"wd2Options\",\n \"optionsNameFQ\": \"wd2Options\"\n },\n \"binding\": {\n \"bindTo\": \"$f.loginCommand\",\n \"bindToFQ\": \"functions.$f.loginCommand\"\n }\n });\n this.widgetCreator.addCommand(this, {\n \"id\": \"wd3\",\n \"options\": {\n \"optionsName\": \"wd3Options\",\n \"optionsNameFQ\": \"wd3Options\"\n },\n \"binding\": {\n \"bindTo\": \"$f.zuerueckCommand\",\n \"bindToFQ\": \"functions.$f.zuerueckCommand\"\n }\n });\n super.onConstructionFinished();\n }\n}","module.exports = \"\";","import * as fwx from \"../../../../../framework/forms/form-export\";\nimport {\n LoginFuncs\n} from \"./login-form-funcs\";\n\n@fwx.autoinject\nexport class LoginForm extends fwx.FormBase {\n constructor(\n element: Element,\n formBaseImport: fwx.FormBaseImport,\n private $f: LoginFuncs) {\n super(element, formBaseImport);\n this.id = \"login-form\";\n this.title = \"login-form.login-form_caption\";\n this.addModel({\n \"id\": \"$m_login\",\n \"filters\": []\n });\n this.addFunction(\"$f\", $f, \"functions.$f\");\n this.widgetCreator.addValidationGroup(this, {\n \"id\": \"wd1\",\n \"options\": {\n \"optionsName\": \"wd1Options\",\n \"optionsNameFQ\": \"wd1Options\"\n }\n });\n this.widgetCreator.addTextBox(this, {\n \"caption\": \"login-form.username_caption\",\n \"binding\": {\n \"dataContext\": \"$m_login\",\n \"bindTo\": \"Username\",\n \"bindToFQ\": \"models.data.$m_login.Username\"\n },\n \"validationRules\": [],\n \"id\": \"username\",\n \"options\": {\n \"optionsName\": \"usernameOptions\",\n \"optionsNameFQ\": \"usernameOptions\"\n }\n });\n this.widgetCreator.addTextBox(this, {\n \"mode\": \"password\",\n \"caption\": \"login-form.password_caption\",\n \"binding\": {\n \"dataContext\": \"$m_login\",\n \"bindTo\": \"Password\",\n \"bindToFQ\": \"models.data.$m_login.Password\"\n },\n \"validationRules\": [],\n \"id\": \"password\",\n \"options\": {\n \"optionsName\": \"passwordOptions\",\n \"optionsNameFQ\": \"passwordOptions\"\n }\n });\n this.widgetCreator.addCheckBox(this, {\n \"caption\": \"login-form.stayloggodon_caption\",\n \"binding\": {\n \"dataContext\": \"$m_login\",\n \"bindTo\": \"StayLoggedOn\",\n \"bindToFQ\": \"models.data.$m_login.StayLoggedOn\"\n },\n \"validationRules\": [],\n \"id\": \"stayLoggodOn\",\n \"options\": {\n \"optionsName\": \"stayLoggodOnOptions\",\n \"optionsNameFQ\": \"stayLoggodOnOptions\"\n }\n });\n this.widgetCreator.addCommand(this, {\n \"id\": \"wd2\",\n \"options\": {\n \"optionsName\": \"wd2Options\",\n \"optionsNameFQ\": \"wd2Options\"\n },\n \"binding\": {\n \"bindTo\": \"$f.loginCommand\",\n \"bindToFQ\": \"functions.$f.loginCommand\"\n }\n });\n this.widgetCreator.addCommand(this, {\n \"id\": \"wd3\",\n \"options\": {\n \"optionsName\": \"wd3Options\",\n \"optionsNameFQ\": \"wd3Options\"\n },\n \"binding\": {\n \"bindTo\": \"$f.tanAnfordernCommand\",\n \"bindToFQ\": \"functions.$f.tanAnfordernCommand\"\n }\n });\n super.onConstructionFinished();\n }\n}","module.exports = \"\";","import * as fwx from \"../../../../../framework/forms/form-export\";\nimport {\n LoginprofilFuncs\n} from \"./loginprofil-form-funcs\";\n\n@fwx.autoinject\nexport class LoginprofilForm extends fwx.FormBase {\n constructor(\n element: Element,\n formBaseImport: fwx.FormBaseImport,\n private $f: LoginprofilFuncs) {\n super(element, formBaseImport);\n this.id = \"loginprofil-form\";\n this.title = \"loginprofil-form.loginprofil-form_caption\";\n this.addModel({\n \"id\": \"$m_Loginprofil\",\n \"filters\": []\n });\n this.addFunction(\"$f\", $f, \"functions.$f\");\n this.widgetCreator.addValidationGroup(this, {\n \"id\": \"wd1\",\n \"options\": {\n \"optionsName\": \"wd1Options\",\n \"optionsNameFQ\": \"wd1Options\"\n }\n });\n this.widgetCreator.addSelectBox(this, {\n \"idSelect\": \"loginprofil\",\n \"filters\": [{\n \"webApiCustomKey\": \"IgnoreMandant\",\n \"webApiCustomValue\": \"true\"\n }, {\n \"webApiCustomKey\": \"CheckDomain\",\n \"webApiCustomValue\": \"true\"\n }],\n \"binding\": {\n \"dataContext\": \"$m_Loginprofil\",\n \"bindTo\": \"Id\",\n \"bindToFQ\": \"models.data.$m_Loginprofil.Id\"\n },\n \"validationRules\": [{\n \"binding\": {\n \"dataContext\": \"$f\",\n \"bindTo\": \"requiredValidationRule\",\n \"bindToFQ\": \"functions.$f.requiredValidationRule\"\n }\n }],\n \"id\": \"r_loginprofil\",\n \"options\": {\n \"optionsName\": \"r_loginprofilOptions\",\n \"optionsNameFQ\": \"r_loginprofilOptions\"\n }\n });\n this.widgetCreator.addCommand(this, {\n \"id\": \"wd2\",\n \"options\": {\n \"optionsName\": \"wd2Options\",\n \"optionsNameFQ\": \"wd2Options\"\n },\n \"binding\": {\n \"bindTo\": \"$f.loginprofilCommand\",\n \"bindToFQ\": \"functions.$f.loginprofilCommand\"\n }\n });\n this.widgetCreator.addCommand(this, {\n \"id\": \"wd3\",\n \"options\": {\n \"optionsName\": \"wd3Options\",\n \"optionsNameFQ\": \"wd3Options\"\n },\n \"binding\": {\n \"bindTo\": \"$f.zuerueckCommand\",\n \"bindToFQ\": \"functions.$f.zuerueckCommand\"\n }\n });\n super.onConstructionFinished();\n }\n}","module.exports = \"\";","import * as fwx from \"../../../../../framework/forms/form-export\";\nimport {\n PasswordConfirmFuncs\n} from \"./password-confirm-form-funcs\";\n\n@fwx.autoinject\nexport class PasswordConfirmForm extends fwx.FormBase {\n constructor(\n element: Element,\n formBaseImport: fwx.FormBaseImport,\n private $f: PasswordConfirmFuncs) {\n super(element, formBaseImport);\n this.id = \"password-confirm-form\";\n this.title = \"password-confirm-form.password-confirm-form_caption\";\n this.addModel({\n \"id\": \"$m_Password\",\n \"filters\": []\n });\n this.addFunction(\"$f\", $f, \"functions.$f\");\n this.widgetCreator.addValidationGroup(this, {\n \"id\": \"wd1\",\n \"options\": {\n \"optionsName\": \"wd1Options\",\n \"optionsNameFQ\": \"wd1Options\"\n }\n });\n this.widgetCreator.addTextBox(this, {\n \"mode\": \"password\",\n \"caption\": \"password-confirm-form.password_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Password\",\n \"bindTo\": \"Passwort1\",\n \"bindToFQ\": \"models.data.$m_Password.Passwort1\"\n },\n \"validationRules\": [],\n \"id\": \"password\",\n \"options\": {\n \"optionsName\": \"passwordOptions\",\n \"optionsNameFQ\": \"passwordOptions\"\n }\n });\n this.widgetCreator.addTextBox(this, {\n \"mode\": \"password\",\n \"caption\": \"password-confirm-form.confirmpassword_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Password\",\n \"bindTo\": \"Passwort2\",\n \"bindToFQ\": \"models.data.$m_Password.Passwort2\"\n },\n \"validationRules\": [],\n \"id\": \"confirmPassword\",\n \"options\": {\n \"optionsName\": \"confirmPasswordOptions\",\n \"optionsNameFQ\": \"confirmPasswordOptions\"\n }\n });\n this.widgetCreator.addCommand(this, {\n \"id\": \"wd2\",\n \"options\": {\n \"optionsName\": \"wd2Options\",\n \"optionsNameFQ\": \"wd2Options\"\n },\n \"binding\": {\n \"bindTo\": \"$f.confirmPasswordCommand\",\n \"bindToFQ\": \"functions.$f.confirmPasswordCommand\"\n }\n });\n this.widgetCreator.addCommand(this, {\n \"id\": \"wd3\",\n \"options\": {\n \"optionsName\": \"wd3Options\",\n \"optionsNameFQ\": \"wd3Options\"\n },\n \"binding\": {\n \"bindTo\": \"$f.backToLoginCommand\",\n \"bindToFQ\": \"functions.$f.backToLoginCommand\"\n }\n });\n super.onConstructionFinished();\n }\n}","module.exports = \"\";","import * as fwx from \"../../../../../framework/forms/form-export\";\nimport {\n PasswordResetFuncs\n} from \"./password-reset-form-funcs\";\n\n@fwx.autoinject\nexport class PasswordResetForm extends fwx.FormBase {\n constructor(\n element: Element,\n formBaseImport: fwx.FormBaseImport,\n private $f: PasswordResetFuncs) {\n super(element, formBaseImport);\n this.id = \"password-recovery-form\";\n this.title = \"password-recovery-form.password-recovery-form_caption\";\n this.addModel({\n \"id\": \"$m_Password\",\n \"filters\": []\n });\n this.addFunction(\"$f\", $f, \"functions.$f\");\n this.widgetCreator.addValidationGroup(this, {\n \"id\": \"wd1\",\n \"options\": {\n \"optionsName\": \"wd1Options\",\n \"optionsNameFQ\": \"wd1Options\"\n }\n });\n this.widgetCreator.addTextBox(this, {\n \"caption\": \"password-recovery-form.username_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Password\",\n \"bindTo\": \"Username\",\n \"bindToFQ\": \"models.data.$m_Password.Username\"\n },\n \"validationRules\": [],\n \"id\": \"username\",\n \"options\": {\n \"optionsName\": \"usernameOptions\",\n \"optionsNameFQ\": \"usernameOptions\"\n }\n });\n this.widgetCreator.addCommand(this, {\n \"id\": \"wd2\",\n \"options\": {\n \"optionsName\": \"wd2Options\",\n \"optionsNameFQ\": \"wd2Options\"\n },\n \"binding\": {\n \"bindTo\": \"$f.resetPasswordCommand\",\n \"bindToFQ\": \"functions.$f.resetPasswordCommand\"\n }\n });\n this.widgetCreator.addCommand(this, {\n \"id\": \"wd3\",\n \"options\": {\n \"optionsName\": \"wd3Options\",\n \"optionsNameFQ\": \"wd3Options\"\n },\n \"binding\": {\n \"bindTo\": \"$f.backToLoginCommand\",\n \"bindToFQ\": \"functions.$f.backToLoginCommand\"\n }\n });\n super.onConstructionFinished();\n }\n}","module.exports = \"\";","import { autoinject, computedFrom } from \"aurelia-framework\";\nimport { LocationService } from \"../../../framework/base/services/location-service\";\nimport { EventAggregator } from \"aurelia-event-aggregator\";\nimport { ContextMenu } from \"../../../framework/forms/classes/context-menu\";\nimport { RouterService } from \"../../../framework/forms/services/router-service\";\nimport { StartupService } from \"../../../zit/services/startup-service\";\nimport { BerechtigungService } from \"../../../zit/services/berechtigung-service\";\nimport { LayoutService } from \"../../export\";\nimport { BrowserService } from \"../../../framework/base/export\";\nimport { IBenutzerrolleMenu } from \"../../../zit/interfaces/export\";\nimport { SucheService } from \"../../../zit/services/export\";\n\n@autoinject\nexport class NavBar {\n private _isContextMenuOpen = false;\n\n constructor(\n private _routerService: RouterService,\n private _eventAggregator: EventAggregator,\n private _browserService: BrowserService,\n private _locationService: LocationService,\n private _berechtigungService: BerechtigungService,\n private _layoutService: LayoutService,\n private _startupService: StartupService,\n private _sucheService: SucheService\n ) {\n this.isMobile = this._browserService.isMobile;\n }\n\n isMobile = false;\n currentNavigationItem: any;\n\n shortcutItems: IMenuItem[];\n items: IMenuItem[];\n\n bind() {\n this.buildItems();\n }\n attached() {\n window.addEventListener(\"click\", this.onWindowClick.bind(this));\n }\n detached() {\n window.removeEventListener(\"click\", this.onWindowClick.bind(this));\n }\n\n onContextMenuClick(e: any) {\n if (this._isContextMenuOpen) {\n return;\n }\n\n const contextMenu = new ContextMenu({\n onHidden: () => this._isContextMenuOpen = false\n });\n \n for (const item of this.items) {\n const html = \"
\")\n .concat(item.bezeichnung)\n .concat(\"
\")\n .concat(\"
\")\n .concat(\"
\");\n\n contextMenu.items.push({\n html: html,\n execute: () => this.onNavBarItemClick(item)\n });\n }\n\n this._isContextMenuOpen = true;\n contextMenu.show(this.getClosest(e.target, \"z--nav-bar-item\"));\n }\n onNavBarItemClick(item: IMenuItem) {\n const data = this.getMenuItemData(item.item);\n\n switch (data.type) {\n case \"event\": {\n this._eventAggregator.publish(data.value, {});\n break;\n }\n case \"link\": {\n window.open(data.value, \"_blank\");\n break;\n }\n case \"route\": {\n if (data.value.startsWith(\"Suche?\")) {\n //Type-Name ermitteln\n const entitaet = data.value.substr(15);\n if (entitaet) {\n this._eventAggregator.publish(\"suche:change-value\", {\n value: item.bezeichnung.concat(\": \")\n });\n } else {\n this._eventAggregator.publish(\"suche:clear\", {});\n }\n } else {\n this._locationService.goTo({\n url: data.value,\n clearStack: true\n });\n this._eventAggregator.publish(\"suche:clear\", {});\n }\n\n break;\n }\n }\n\n this._layoutService.isSidebarCollapsed = true;\n }\n onCloseNavBar() {\n this._layoutService.isSidebarCollapsed = true;\n }\n\n onWindowClick(e) {\n if (this._layoutService.isSidebarCollapsed) {\n return;\n }\n\n const target = e.target;\n\n if (target.classList.contains(\"z--button\") || this.getClosest(target, \"z--button\")\n || target.classList.contains(\"z--nav-bar-item\") || this.getClosest(target, \"z--nav-bar-item\")) {\n return;\n }\n\n this._layoutService.isSidebarCollapsed = true;\n }\n\n private buildItems() {\n const items = [];\n const shortcutItems = [];\n\n const menu = this._startupService.startupInfo.MenuList;\n if (menu) {\n for (const menuItem of menu) {\n const data = this.getMenuItemData(menuItem);\n\n let hasAccess = false;\n switch (data.type) {\n case \"event\":\n case \"link\":{\n hasAccess = true;\n break;\n }\n case \"route\": {\n hasAccess = this.hasBerechtigungRoute(data.value);\n break;\n }\n default: {\n break;\n }\n }\n\n if (!hasAccess) {\n continue;\n }\n\n if (this.isMobile && !menuItem.ShowInMobil) {\n continue;\n }\n if (!this.isMobile && !menuItem.ShowInDesktop) {\n continue;\n }\n\n const item = {\n bezeichnung: this.isMobile ? menuItem.BezeichnungMobil : menuItem.BezeichnungDesktop,\n sortNr: this.isMobile ? menuItem.SortNrMobil : menuItem.SortNrDesktop,\n item: menuItem\n };\n \n items.push(item);\n\n if (menuItem.IsShortcutDesktop) {\n shortcutItems.push(item);\n }\n }\n }\n\n this.items = items.sort((a, b) => (a.sortNr || 0) - (b.sortNr || 0));\n this.shortcutItems = shortcutItems.sort((a, b) => (a.sortNr || 0) - (b.sortNr || 0));\n }\n private getMenuItemData(item: IBenutzerrolleMenu): IMenuItemData {\n const indexOf = item.Route.indexOf(\":\");\n const type = item.Route.substr(0, indexOf);\n const value = item.Route.substr(indexOf + 1);\n\n return {\n type,\n value\n };\n }\n private hasBerechtigungRoute(url: string): boolean {\n //spezielles Handling bei Suche\n if (url.startsWith(\"Suche?\")) {\n //Type-Name ermitteln\n const entitaet = url.substr(15);\n return this._berechtigungService.hasBerechtigung(entitaet);\n } else {\n return this._berechtigungService.hasBerechtigungRoute(url);\n }\n }\n private getClosest(e: Element, classString: string) {\n if (e.classList.contains(classString)) {\n return e;\n }\n\n let parent = null;\n while (e) {\n parent = e.parentElement;\n if (parent && parent.classList.contains(classString)) {\n return parent;\n }\n\n e = parent;\n }\n\n return null;\n }\n private isCurrent(item: IMenuItem) {\n if (!this._routerService.currentViewItem\n || !this._routerService.currentViewItem.model\n || !this._routerService.currentViewItem.model.routeInfo) {\n return false;\n }\n\n const route = `route:${this._routerService.currentViewItem.model.routeInfo.url}`;\n if (route == item.item.Route) {\n return true;\n }\n\n if (route == \"route:Suche\") {\n return item.item.Route == route.concat(\"?TypeName=\").concat(this._sucheService.lastObjektFullName);\n }\n\n return false;\n }\n}\n\nexport interface IMenuItem {\n bezeichnung: string;\n sortNr: number;\n item: IBenutzerrolleMenu;\n}\ninterface IMenuItemData {\n type: string;\n value: string;\n}\n","import { autoinject, computedFrom, bindable } from \"aurelia-framework\";\nimport { RouterService } from '../../../framework/forms/export';\nimport { IMenuItem } from './nav-bar';\nimport { SucheService } from '../../../zit/services/export';\n\n@autoinject\nexport class NavBarItem {\n constructor(\n public routerService: RouterService,\n public sucheService: SucheService\n ) {}\n\n @bindable item: IMenuItem;\n\n @computedFrom(\"routerService.currentViewItem.model.routeInfo.url\")\n get currentUrl(): string {\n if (!this.routerService.currentViewItem\n || !this.routerService.currentViewItem.model\n || !this.routerService.currentViewItem.model.routeInfo) {\n return null;\n }\n\n return `route:${this.routerService.currentViewItem.model.routeInfo.url}`;\n }\n\n @computedFrom(\"currentUrl\", \"sucheService.lastObjektFullName\")\n get isCurrent(): boolean {\n if (this.currentUrl == this.item.item.Route) {\n return true;\n }\n\n if (this.currentUrl == \"route:Suche\") {\n return this.item.item.Route == this.currentUrl.concat(\"?TypeName=\").concat(this.sucheService.lastObjektFullName);\n }\n\n return false;\n }\n}","module.exports = \"\";","module.exports = \" \";","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.id, \"@keyframes leftFadeIn {\\n from {\\n opacity: 0;\\n transform: translateX(-10px);\\n }\\n to {\\n opacity: 1;\\n transform: translateX(0);\\n }\\n}\\n.z--nav-bar {\\n display: flex;\\n height: 35px;\\n margin-top: 12px;\\n padding-left: 12px;\\n padding-right: 12px;\\n background-color: white;\\n}\\n.z--nav-bar .nav-bar--burger {\\n margin-top: -10px;\\n}\\n.z--nav-bar .z--nav-bar-items {\\n position: relative;\\n display: flex;\\n justify-content: center;\\n list-style: none;\\n padding: 0;\\n margin: 0;\\n}\\n.z--nav-bar .z--nav-bar-items .z--nav-bar-item {\\n cursor: pointer;\\n position: relative;\\n height: 35px;\\n margin-right: 15px;\\n}\\n.z--nav-bar .z--nav-bar-items .z--nav-bar-item .z--nav-bar-item-border-bottom {\\n position: absolute;\\n bottom: 0;\\n width: 100%;\\n margin: 0;\\n height: 3px;\\n border: 0;\\n}\\n.z--nav-bar-close {\\n text-align: right;\\n padding: 12px;\\n}\\n.z--nav-bar-close i {\\n color: lightgray;\\n font-size: 24px;\\n}\\n.dx-context-menu .dx-item-content > div {\\n margin: 4px 2px 0 2px;\\n line-height: 1;\\n border-bottom: 1px solid transparent;\\n}\\n.dx-context-menu .dx-item-content > div:not(.z--nav-bar-item-selected) {\\n border-bottom: 1px solid #ddd;\\n}\\n.dx-context-menu .dx-item-content > div > div:first-child {\\n padding: 3px 20px;\\n}\\n.dx-context-menu .dx-item-content > div .z--nav-bar-item-border-bottom {\\n height: 3px;\\n padding: 0;\\n margin: 5px 0 0 0;\\n border: 0;\\n}\\nbody.t--is-mobile .z--nav-bar {\\n display: block;\\n position: fixed;\\n top: 0;\\n height: 100%;\\n z-index: 10;\\n width: 280px;\\n margin-top: 0;\\n overflow: auto;\\n padding: 0;\\n background-color: #2a2e35;\\n font-size: 14px;\\n transition: all 0.3s cubic-bezier(0.62, 0.28, 0.23, 0.99);\\n transition-property: left;\\n}\\nbody.t--is-mobile .z--nav-bar ul {\\n padding: 0;\\n margin: 0;\\n list-style: none;\\n display: block;\\n}\\nbody.t--is-mobile .z--nav-bar ul .z--nav-bar-item {\\n display: flex;\\n align-items: center;\\n height: 60px;\\n color: lightgray;\\n text-decoration: none;\\n margin: 0;\\n}\\nbody.t--is-mobile .z--nav-bar ul .z--nav-bar-item span {\\n flex-grow: 1;\\n padding: 12px;\\n}\\nbody.t--is-mobile .z--nav-bar-mobile-container {\\n height: 100%;\\n}\\nbody.t--is-mobile .z--sidebar-expanded .z--nav-bar {\\n left: 0;\\n}\\nbody.t--is-mobile .z--sidebar-collapsed .z--nav-bar {\\n left: -280px;\\n}\\n\", \"\"]);\n// Exports\nmodule.exports = exports;\n","import { BrowserService } from \"./../../../framework/base/services/browser-service\";\nimport { LocalizationService } from \"./../../../framework/base/services/localization-service\";\nimport { SucheService } from \"./../../../zit/services/suche-service\";\nimport { autoinject, computedFrom, TaskQueue } from \"aurelia-framework\";\nimport { IdxPopoverComponent, IdxTextBoxComponent } from \"../../../zit/interfaces/export\";\nimport { RestService } from \"../../../framework/base/services/rest-service\";\nimport { ErweiterteSuche } from \"../../../zit/elements/erweiterte-suche/erweiterte-suche\";\nimport { EventAggregator, Subscription } from \"aurelia-event-aggregator\";\nimport { SucheViewTyp } from \"../../../zit/enumerations/export\";\n\n@autoinject\nexport class Suche {\n private MAX_HISTORIE_LAENGE = 5;\n\n private _sucheChangeValueSubscription: Subscription;\n private _sucheClearSubscription: Subscription;\n private _onValueChangedTimeout: any;\n\n constructor(\n public browserService: BrowserService,\n private _eventAggregator: EventAggregator,\n private _localizationService: LocalizationService,\n private _restService: RestService,\n private _sucheService: SucheService,\n private _taskQueue: TaskQueue\n ) {\n this.loadVolltextSuchHistorie();\n this.objektFullName = this._sucheService.lastObjektFullName;\n }\n\n @computedFrom(\"objektFullName\")\n get isErweiterteSucheEnabled() {\n return this.objektFullName != void 0;\n }\n @computedFrom(\"erweiterteSuche.wertQueryList\")\n get hasErweiterteSucheFilters() {\n return this.erweiterteSuche\n && this.erweiterteSuche.wertQueryList != void 0;\n }\n\n erweiterteSuche: ErweiterteSuche;\n objektFullName: string;\n\n sucheHistory: string[];\n\n sucheHistoryPopover: IdxPopoverComponent;\n sucheHistoryPopoverOptions: DevExpress.ui.dxPopoverOptions = {\n target: \"#sucheTextBox\",\n contentTemplate: \"contentTemplate\",\n position: {\n at: {\n x: \"left\",\n y: \"bottom\"\n },\n my: {\n x: \"left\",\n y: \"top\"\n }\n }\n };\n\n sucheTextBox: IdxTextBoxComponent;\n sucheTextBoxOptions: DevExpress.ui.dxTextBoxOptions = {\n placeholder: this._localizationService.translateOnce(\"base.search\"),\n elementAttr: {\n class: \"z--suche\"\n },\n mode: \"search\",\n value: this._sucheService.lastSearchValue,\n onValueChangedByUser: (e) => {\n this.onValueChanged(e.value);\n },\n onKeyUp: (e) => {\n if (!e.event) {\n return;\n }\n if ((e.event).key != \"Enter\") {\n return;\n }\n\n this.onValueChanged(e.component.option(\"value\"));\n },\n onFocusIn: () => {\n this.sucheHistoryPopover.instance.show();\n },\n bindingOptions: {\n disabled: \"!isErweiterteSucheEnabled\"\n }\n };\n\n attached() {\n this._sucheChangeValueSubscription = this._eventAggregator.subscribe(\"suche:change-value\", (e) => {\n if (this._sucheService.lastSearchText != e.value) {\n this.sucheTextBox.setOption({ value: e.value });\n }\n\n this.executeSuche(e.viewTyp);\n });\n this._sucheClearSubscription = this._eventAggregator.subscribe(\"suche:clear\", () => {\n this.sucheTextBox.setOption({ value: \"\" });\n this.clearSuche();\n });\n }\n detached() {\n if (this._sucheChangeValueSubscription) {\n this._sucheChangeValueSubscription.dispose();\n this._sucheChangeValueSubscription = null;\n }\n if (this._sucheClearSubscription) {\n this._sucheClearSubscription.dispose();\n this._sucheClearSubscription = null;\n }\n }\n\n clearSuche() {\n this.objektFullName = null;\n this._sucheService.clearSuche();\n }\n executeSuche(viewTyp: SucheViewTyp = SucheViewTyp.list) {\n const newSearchValue = this.sucheTextBox.instance.option(\"value\");\n const wertQueryList = this.erweiterteSuche.wertQueryList;\n const newObjektFullName = this._sucheService.getObjektFullName(newSearchValue);\n const newSearchText = this._sucheService.getSearchText(newSearchValue);\n\n if (newObjektFullName != this.objektFullName) {\n this.erweiterteSuche.clearSuche();\n this.objektFullName = newObjektFullName;\n\n this._taskQueue.queueTask(() => {\n this._sucheService.executeSuche(newSearchValue, this.objektFullName, newSearchText, wertQueryList, viewTyp);\n });\n } else {\n this._sucheService.executeSuche(newSearchValue, this.objektFullName, newSearchText, wertQueryList, viewTyp);\n }\n }\n\n onValueChanged(value: string) {\n if (this._onValueChangedTimeout) {\n return;\n }\n\n this._onValueChangedTimeout = setTimeout(() => {\n this._onValueChangedTimeout = null;\n }, 500);\n\n this.executeSuche();\n this.updateHistorySuche(value);\n this.sucheHistoryPopover.instance.hide();\n }\n onErweiterteSucheClicked(event: Event) {\n if (!this.isErweiterteSucheEnabled) {\n return false;\n }\n\n this.erweiterteSuche.showPopup();\n }\n onSucheFilterClicked(event: Event) {\n if (!this.isErweiterteSucheEnabled) {\n return false;\n }\n\n this.erweiterteSuche.showVorlageContextMenu(event, true);\n }\n onSucheHistorySelected(sucheText: string) {\n this.sucheTextBox.setOption({ value: sucheText });\n this.executeSuche();\n this.sucheHistoryPopover.instance.hide();\n }\n onExecuteSucheErweitert(event: any) {\n this.executeSuche();\n }\n\n private async loadVolltextSuchHistorie() {\n this.sucheHistory = await this._restService.get({\n url: this._restService.getApiUrl(\"ZIT/Volltext/SuchHistorie\")\n });\n }\n private updateHistorySuche(sucheValue: string) {\n if (!sucheValue) {\n return;\n }\n\n const exists = this.sucheHistory.find((c) => c == sucheValue);\n if (exists) {\n return;\n }\n this.sucheHistory.splice(0, 0, sucheValue);\n\n if (this.sucheHistory.length > this.MAX_HISTORIE_LAENGE) {\n this.sucheHistory.splice(this.MAX_HISTORIE_LAENGE);\n }\n\n this._restService.post({\n url: this._restService.getApiUrl(\"ZIT/Volltext/SuchHistorie\"),\n data: {\n Suchtext: sucheValue\n }\n });\n }\n}\n","module.exports = \" \";","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.id, \"#sucheTextBox {\\n margin-right: 6px;\\n flex-grow: 1;\\n}\\n.z--suche-history-container {\\n min-width: 350px;\\n}\\n.z--suche-history-container .z--suche-history-header {\\n display: flex;\\n align-items: center;\\n font-size: 18px;\\n background-color: #fafafa;\\n color: #898989;\\n height: 47px;\\n padding-left: 12px;\\n padding-right: 12px;\\n}\\n.z--suche-history-container .z--suche-history-item {\\n display: flex;\\n align-items: center;\\n min-width: 350px;\\n padding: 12px;\\n cursor: pointer;\\n}\\n.z--suche-history-container .z--suche-history-item:hover {\\n background-color: lightgray;\\n}\\n.z--suche-history-container .z--suche-history-item i {\\n width: 20px;\\n}\\n\", \"\"]);\n// Exports\nmodule.exports = exports;\n","import {\n autoinject,\n bindable,\n customAttribute,\n Scope\n} from \"aurelia-framework\";\n\n@autoinject\n@customAttribute(\"repeat-finished\")\nexport class RepeatFinishedCustomAttribute {\n constructor(\n private _element: Element\n ) { }\n\n scope: Scope;\n\n bind(bindingContext, overrideContext) {\n this.scope = {\n bindingContext,\n overrideContext\n };\n }\n attached() {\n if (!this.scope) {\n return;\n }\n if (!this.scope.overrideContext) {\n return;\n }\n if (!(this.scope.overrideContext).$last) {\n return;\n }\n\n this._element.dispatchEvent(new CustomEvent(\n \"on-repeat-finished\", {\n bubbles: true,\n detail: {\n element: this._element\n }\n }\n ));\n }\n}\n","import { autoinject, bindable } from 'aurelia-framework';\n\nimport { DraggingService } from './zit-dragging-service';\n\nimport \"./drag-and-drop.less\";\n@autoinject\nexport class ZitDragAndDropCustomAttribute {\n constructor(\n private dragging: DraggingService,\n private element: Element\n ) { }\n\n @bindable({ primaryProperty: true }) options: ZitDragAndDropOptions;\n @bindable data: any;\n\n draggableElement: Element;\n\n attached() {\n this.draggableElement = this.getClosest(this.element, \"list-view-item\");\n\n this.draggableElement.setAttribute(\"draggable\", \"true\");\n\n this.draggableElement.addEventListener(\"dragstart\", this.onDragStart.bind(this), false);\n this.draggableElement.addEventListener(\"dragenter\", this.onDragEnter.bind(this), false);\n this.draggableElement.addEventListener(\"dragover\", this.onDragOver.bind(this), false);\n this.draggableElement.addEventListener(\"dragleave\", this.onDragLeave.bind(this), false);\n this.draggableElement.addEventListener(\"drop\", this.onDrop.bind(this), false);\n\n this.draggableElement.addEventListener(\"dragend\", this.onDragEnd.bind(this), false);\n }\n\n onDragStart(e: DragEvent) {\n const hasSelected = this.draggableElement.querySelector(\".list-view-item-is-selected\");\n\n this.dragging.draggingData = this.data;\n\n if (hasSelected) {\n const listViewContent = this.getClosest(this.draggableElement, \"list-view-content\");\n const selected = Array.from(listViewContent.querySelectorAll(\".list-view-item-is-selected\"));\n\n selected.forEach(c => c.classList.add(\"z--drag-origin\"));\n } else {\n this.draggableElement.classList.add(\"z--drag-origin\");\n }\n }\n\n onDragEnter(e: DragEvent) {\n const isAllow = this.options.allowDropFrom.some(c => c === this.dragging.objektTypeFullName);\n if (!isAllow) {\n return true;\n }\n\n return false;\n }\n onDragOver(e: DragEvent) {\n const isAllow = this.options.allowDropFrom.some(c => c === this.dragging.objektTypeFullName);\n const listViewContent = this.getClosest(this.draggableElement, \"list-view-content\");\n\n if (!isAllow) {\n const dropTarget = Array.from(listViewContent.querySelectorAll(\".z--drop-target\"));\n\n dropTarget.forEach(c => c.classList.remove(\"z--drop-target\"));\n return true;\n }\n\n const selected = Array.from(listViewContent.querySelectorAll(\".list-view-item-is-selected\"));\n\n if (!selected || !selected.length) {\n this.draggableElement.classList.add(\"z--drop-target\");\n \n e.preventDefault();\n return false;\n }\n\n const isSelected = this.draggableElement.querySelectorAll(\".list-view-item-is-selected\").length > 0;\n\n if (!isSelected) {\n selected.forEach(c => c.classList.remove(\"z--drop-target\"));\n \n return true;\n }\n\n selected.forEach(c => c.classList.add(\"z--drop-target\"));\n\n e.preventDefault();\n return false;\n }\n onDragLeave(e: any) {\n const target = this.getClosest(e.srcElement, \"list-view-item\");\n\n const isSelected = this.draggableElement.querySelectorAll(\".list-view-item-is-selected\").length;\n\n if (isSelected) {\n const listViewContent = this.getClosest(this.draggableElement, \"list-view-content\");\n const dropTarget = Array.from(listViewContent.querySelectorAll(\".z--drop-target\"));\n\n dropTarget.forEach(c => c.classList.remove(\"z--drop-target\"));\n } else {\n this.draggableElement.classList.remove(\"z--drop-target\");\n }\n\n }\n onDrop(e: DragEvent) {\n if (this.options.dropHandler) {\n this.options.dropHandler(this.data, this.dragging.draggingData);\n }\n }\n onDragEnd(e: DragEvent) {\n const drops = Array.from(document.getElementsByClassName(\"z--drop-target\"));\n const drags = Array.from(document.getElementsByClassName(\"z--drag-origin\"));\n\n drops.forEach(c => c.classList.remove(\"z--drop-target\"));\n drags.forEach(c => c.classList.remove(\"z--drag-origin\"));\n\n this.dragging.draggingData = null;\n }\n\n private getClosest(e: Element, classString: string): Element {\n if (e.classList.contains(classString)) {\n return e;\n }\n\n let parent = null;\n while (e) {\n parent = e.parentElement;\n if (parent && parent.classList.contains(classString)) {\n return parent;\n }\n\n e = parent;\n }\n\n return null;\n }\n}\n\nexport interface ZitDragAndDropOptions {\n allowDropFrom: string[];\n dropHandler?: { (dropTo: any, dragFrom: any) };\n}","import { autoinject, computedFrom } from \"aurelia-framework\";\nimport { LocalizationService, ScopeContainer } from '../../../framework/base/export';\nimport { DialogConfirmService, ICommandData, SimpleWidgetCreatorService } from '../../../framework/forms/export';\nimport { IZitTagOptions } from '../../../zit-ui/elements/zit-tag/zit-tag-options';\nimport { IdxPopupComponent } from '../../interfaces/export';\nimport { AufgabeService, IAufgabeZuweisenOptions, IZuweisenEvalResult } from '../../services/aufgabe-service';\nimport { FormPopupService } from '../../services/form-popup-service';\nimport { AufgabeZuweisenStart } from './aufgabe-zuweisen-start';\n\n@autoinject\nexport class AufgabeZuweisen {\n private _options: IAufgabeZuweisenOptions;\n\n constructor(\n private _aufgabeService: AufgabeService,\n private _simpleWidgetCreatorService: SimpleWidgetCreatorService,\n private _localizationService: LocalizationService,\n private _dialogConfirmService: DialogConfirmService,\n private _formPopupService: FormPopupService\n ) {\n this._aufgabeService.aufgabeZuweisen = this;\n }\n\n scopeContainer: ScopeContainer;\n model: IModel;\n aufgabeArtZuweisen: any = 0;\n aufgabeZuweisenStartpopup: AufgabeZuweisenStart;\n loadedData: IZuweisenEvalResult;\n\n popup: IdxPopupComponent;\n popupOptions: DevExpress.ui.dxPopupOptions = {\n contentTemplate: \"contentTemplate\",\n width: \"600px\",\n height: \"530px\"\n };\n\n aufgabeArtRadioGroupOptions: DevExpress.ui.dxRadioGroupOptions = {\n layout: \"horizontal\",\n displayExpr: \"text\",\n valueExpr: \"value\",\n dataSource: [\n { text: \"Arbeitsgruppe zuweisen\", value: 0 },\n { text: \"Aufgabenset zuweisen\", value: 1 }\n ],\n bindingOptions: {\n value: \"aufgabeArtZuweisen\"\n },\n onValueChangedByUser: (e) => {\n this.load();\n }\n }\n\n aufgabeSelectBoxOptions: DevExpress.ui.dxSelectBoxOptions = {\n valueExpr: \"Code\",\n displayExpr: \"Bezeichnung\",\n searchEnabled: true,\n searchExpr: \"Bezeichnung\",\n bindingOptions: {\n dataSource: \"model.aufgabeDataSource\",\n value: \"model.codeAufgabe\"\n }\n };\n\n objektTagOptions: IZitTagOptions = {\n icon: {\n textExpression: \"item.Typ\"\n },\n textExpression: \"item.Bezeichnung\",\n onDeleteClick: (e, data) => {\n e.stopPropagation();\n\n const index = this.model.objektList.indexOf(data);\n if (index < 0) {\n return;\n }\n\n this.model.objektList.splice(index, 1);\n }\n };\n\n aufgabeZuweisenCommand: ICommandData = {\n id: \"save\",\n icon: \"fas fa-save\",\n tooltip: \"base.save\",\n execute: () => {\n this.save();\n }\n };\n\n @computedFrom(\"aufgabeArtZuweisen\")\n get getAufgabeTypname(): string {\n if (this.aufgabeArtZuweisen == 0) {\n return \"Aufgabengruppe\";\n }\n return \"Aufgabenset\";\n }\n\n bind() {\n this.scopeContainer = new ScopeContainer({\n bindingContext: this,\n overrideContext: null\n });\n\n this._simpleWidgetCreatorService.updatePopupOptions({\n idToolbar: \"aufgabeZuweisenPopupToolbar\",\n caption: \"aufgabe-zuweisen.popup-titel\",\n options: this.popupOptions,\n commands: [this.aufgabeZuweisenCommand],\n scopeContainer: this.scopeContainer\n });\n }\n unbind() {\n this.scopeContainer.disposeAll();\n this.scopeContainer = null;\n }\n\n show(options: IAufgabeZuweisenOptions) {\n this.model = {\n codeAufgabe: null,\n aufgabeDataSource: [],\n objektList: []\n }\n\n this._options = options;\n this.popup.instance.show();\n\n this.load();\n }\n\n private async load() {\n this.loadedData = await this._aufgabeService.zuweisenEval({\n IdObjektList: this._options.idObjektList\n });\n\n if (this.aufgabeArtZuweisen == 0) {\n this.model.aufgabeDataSource = this.loadedData.AufgabeGruppeList;\n } else {\n this.model.aufgabeDataSource = this.loadedData.AufgabeList;\n }\n\n this.model.objektList = this.loadedData.ObjektList;\n }\n private async save() {\n if (!this.model.codeAufgabe) {\n DevExpress.ui.notify(\"Aufgabenset oder Aufgabengruppe ist ein Pflichtfeld\", \"error\", 3000);\n return;\n }\n\n let aufgabenSetList = [];\n if (this.aufgabeArtZuweisen == 0) {\n const aufgabensetsFromGruppe = this.getAufgabenSetByGruppeCode(this.model.codeAufgabe);\n\n aufgabensetsFromGruppe.forEach(aufgabenset => {\n aufgabenSetList.push({\n CodeAufgabenSet: aufgabenset.Code,\n AufgabensetBezeichnung: aufgabenset.Bezeichnung\n });\n });\n } else {\n const bezeichnung = this.getAufgabenSetBezeichnungByCode(this.model.codeAufgabe);\n aufgabenSetList.push({\n CodeAufgabenSet: this.model.codeAufgabe,\n AufgabensetBezeichnung: bezeichnung\n });\n }\n\n this.aufgabeZuweisenStartpopup.show({\n AufgabensetList: aufgabenSetList,\n callback: async (options) => {\n let aufgabeCodeList = [];\n options.forEach(element => {\n aufgabeCodeList.push(element.AufgabeCode);\n });\n const checkResult = await this._aufgabeService.checkZuweisen({\n AufgabeCodeList: aufgabeCodeList,\n ObjektList: this.model.objektList\n });\n\n const objektList = [];\n for (let objekt of checkResult.ObjektList) {\n if (objekt.Exists) {\n const confirmResult = await this._dialogConfirmService.show({\n title: \"Frage\",\n message: `${objekt.Bezeichnung} hat die Zuteilung bereits. Trotzdem erstellen?`\n });\n\n if (!confirmResult) {\n continue;\n }\n }\n\n const evalBestResult = await this.evalBestaetigung(objekt);\n if (!evalBestResult) {\n return;\n }\n\n objektList.push(objekt);\n }\n\n if (objektList.length == 0) {\n return;\n }\n\n await this._aufgabeService.zuweisen({\n AufgabeList: options,\n ObjektList: objektList\n });\n\n DevExpress.ui.notify(\n this._localizationService.translateOnce(\"aufgabe-zuweisen.erstellt\"),\n \"success\",\n 3000\n );\n this.popup.instance.hide();\n }\n });\n }\n private getAufgabenSetByGruppeCode(aufgabenGruppeCode: string) {\n const aufgabensets = this.loadedData.AufgabeList.filter(c => {\n return c.IdAufgabengruppe.toString() == aufgabenGruppeCode;\n });\n return aufgabensets;\n }\n\n private getAufgabenSetBezeichnungByCode(aufgabensetCode: string) {\n const aufgabenset = this.loadedData.AufgabeList.filter(c => {\n return c.Code == aufgabensetCode;\n })[0] || null;\n\n if (!aufgabenset) {\n return;\n }\n return aufgabenset.Bezeichnung;\n }\n private async evalBestaetigung(objekt: any) {\n if (!objekt.AufgabeBestList) {\n return true;\n }\n\n for (let aufgabe of objekt.AufgabeBestList) {\n if (aufgabe.IdAnsprechperson) {\n continue;\n }\n\n const evalBestaetigung = await this.evalBestaetigungAufgabe(objekt, aufgabe);\n if (!evalBestaetigung) {\n return false;\n }\n }\n\n return true;\n }\n private async evalBestaetigungAufgabe(objekt: any, aufgabe: any) {\n return new Promise((resolve) => {\n this._formPopupService.formPopup.show({\n titel: \"Bestätigungsbenutzer auswählen\",\n formDef: [{\n template: (data, element) => {\n const el = document.createElement(\"div\");\n el.innerHTML = `Bestätigungsbenutzer für die Aufgabe ${aufgabe.Bezeichnung} der Person ${objekt.Bezeichnung} auswählen`;\n\n element.appendChild(el);\n }\n }, {\n dataField: \"idAnsprechperson\",\n editorType: \"dxSelectBox\",\n label: { text: \"Bestätigungsbenutzer\" },\n isRequired: true,\n editorOptions: {\n valueExpr: \"Id\",\n displayExpr: \"Titel\",\n searchExpr: \"Titel\",\n searchEnabled: true,\n showClearButton: true,\n width: \"100%\",\n dataSource: aufgabe.AnsprechpersonList\n }\n }],\n width: \"450px\",\n onFormSubmit: (m) => {\n aufgabe.IdAnsprechperson = m.idAnsprechperson;\n resolve(true);\n },\n onFormCancel: () => {\n resolve(false);\n }\n });\n });\n }\n}\n\ninterface IModel {\n codeAufgabe: string;\n aufgabeDataSource: any[];\n objektList: any[];\n}\n","import { autoinject } from \"aurelia-framework\";\nimport { ScopeContainer } from '../../../framework/base/export';\nimport { ICommandData, SimpleWidgetCreatorService } from '../../../framework/forms/export';\nimport { IZitTagOptions } from '../../../zit-ui/elements/zit-tag/zit-tag-options';\nimport { IdxDateBoxComponent, IdxPopupComponent } from '../../interfaces/export';\nimport { IZuweisenAufgabeModel } from '../../services/aufgabe-service';\nimport { GlobalizationService } from './../../../framework/base/services/globalization-service';\n\n@autoinject\nexport class AufgabeZuweisenStart {\n constructor(\n private _simpleWidgetCreatorService: SimpleWidgetCreatorService,\n private _globalizationService: GlobalizationService) {\n }\n\n scopeContainer: ScopeContainer;\n options: IAufgabeZuweisenStart;\n aufgabeArtZuweisen: any = 0;\n\n resultAufgabensetList: {\n CodeAufgabenSet: string,\n AufgabensetBezeichnung: string,\n Datum?: Date\n }[] = [];\n\n popup: IdxPopupComponent;\n popupOptions: DevExpress.ui.dxPopupOptions = {\n contentTemplate: \"contentTemplate\",\n width: \"600px\",\n height: \"530px\"\n };\n\n dateBox: IdxDateBoxComponent;\n dateBoxOptions: DevExpress.ui.dxDateBoxOptions = {\n displayFormat: this._globalizationService.getFormatterParser(\"d\"),\n bindingOptions: {\n value: \"aufgabenset.Datum\"\n }\n };\n\n objektTagOptions: IZitTagOptions = {\n icon: {\n textExpression: \"item.Typ\"\n },\n textExpression: \"item.Bezeichnung\"\n };\n\n aufgabeStartZuweisenCommand: ICommandData = {\n id: \"save\",\n icon: \"fas fa-save\",\n tooltip: \"base.save\",\n execute: (e) => {\n this.saveZuweisung();\n }\n };\n\n bind() {\n this.scopeContainer = new ScopeContainer({\n bindingContext: this,\n overrideContext: null\n });\n\n this._simpleWidgetCreatorService.updatePopupOptions({\n idToolbar: \"aufgabeStartZuweisenPopupToolbar\",\n caption: \"aufgabe-start-zuweisen.popup-titel\",\n options: this.popupOptions,\n commands: [this.aufgabeStartZuweisenCommand],\n scopeContainer: this.scopeContainer\n });\n }\n unbind() {\n this.scopeContainer.disposeAll();\n this.scopeContainer = null;\n }\n\n show(options: IAufgabeZuweisenStart) {\n this.options = options;\n this.resultAufgabensetList = options.AufgabensetList.slice();\n this.popup.instance.show();\n }\n private saveZuweisung() {\n let returnList = [];\n this.resultAufgabensetList.forEach(element => {\n returnList.push({\n AufgabeCode: element.CodeAufgabenSet,\n Start: element.Datum\n })\n });\n this.popup.instance.hide();\n this.options.callback(returnList);\n }\n}\n\nexport interface IAufgabeZuweisenStart {\n AufgabensetList: {\n CodeAufgabenSet: string,\n AufgabensetBezeichnung: string\n }[]\n\n callback?: {\n (ResultAufgabensetList: IZuweisenAufgabeModel[]): void\n }\n}\n","module.exports = \" \";","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.id, \".aufgabe-zuweisen-start--content {\\n display: flex;\\n}\\n.aufgabe-zuweisen-start--content :first-child {\\n flex: 1;\\n}\\n.aufgabe-zuweisen-start--content :nth-child(2) {\\n flex: grow;\\n}\\n\", \"\"]);\n// Exports\nmodule.exports = exports;\n","module.exports = \" \";","import { autoinject, OverrideContext, Scope } from 'aurelia-framework';\nimport { ScopeContainer, LocalizationService, AuthorizationService } from '../../../framework/base/export';\nimport { SimpleWidgetCreatorService, ICommandData } from '../../../framework/forms/export';\nimport { DataSourceService } from '../../../framework/base/services/export';\nimport { ILoeschenBenutzerData } from '../../interfaces/export';\nimport { BenutzereinstellungenService } from '../../services/benutzereinstellungen-service';\nimport { IdxValidationGroupComponent, IdxSelectBoxComponent, IdxPopupComponent } from '../../interfaces/export';\nimport { GrundTyp } from '../../enumerations/export';\nimport { StartupService } from '../../services/export';\n@autoinject\nexport class BenutzerHilfe {\n constructor(\n private localization: LocalizationService,\n private simpleWidgetCreator: SimpleWidgetCreatorService,\n private startup: StartupService\n ) { }\n\n scope: Scope;\n scopeContainer: ScopeContainer;\n htmlContent: string;\n\n benutzerHilfePopup: IdxPopupComponent;\n benutzerHilfePopupOptions: DevExpress.ui.dxPopupOptions = {\n height: \"auto\",\n maxHeight: \"80%\",\n maxWidth: \"420px\"\n };\n\n\n bind(bindingContext: any, overrideContext: OverrideContext) {\n this.scope = {\n bindingContext: bindingContext,\n overrideContext: overrideContext\n };\n\n this.scopeContainer = new ScopeContainer({\n bindingContext: this,\n overrideContext: null\n });\n\n this.simpleWidgetCreator.updatePopupOptions({\n idToolbar: \"benutzerLoeschenPopupToolbar\",\n caption: \"benutzer-hilfe.popup-titel\",\n options: this.benutzerHilfePopupOptions,\n scopeContainer: this.scopeContainer\n });\n }\n unbind() {\n this.scopeContainer.disposeAll();\n this.scope = null;\n }\n\n showPopup() {\n this.htmlContent = this.startup.startupInfo.Benutzer.HtmlTextHilfe;\n\n this.benutzerHilfePopup.instance.show();\n }\n}\n","module.exports = \" \";","import { autoinject, OverrideContext, Scope } from 'aurelia-framework';\nimport { ScopeContainer, LocalizationService, AuthorizationService } from '../../../framework/base/export';\nimport { SimpleWidgetCreatorService, ICommandData, DialogConfirmService } from '../../../framework/forms/export';\nimport { DataSourceService } from '../../../framework/base/services/export';\nimport { ILoeschenBenutzerData } from '../../interfaces/export';\nimport { BenutzereinstellungenService } from '../../services/benutzereinstellungen-service';\nimport { IdxValidationGroupComponent, IdxSelectBoxComponent, IdxPopupComponent } from '../../interfaces/export';\nimport { GrundTyp } from '../../enumerations/export';\n@autoinject\nexport class BenutzerLoeschen {\n constructor(\n private authorization: AuthorizationService,\n private benutzereinstellungen: BenutzereinstellungenService,\n private dataSource: DataSourceService,\n private localization: LocalizationService,\n private simpleWidgetCreator: SimpleWidgetCreatorService,\n private dialogConfirmService: DialogConfirmService\n ) { }\n\n scope: Scope;\n scopeContainer: ScopeContainer;\n loeschenBenutzerData: ILoeschenBenutzerData;\n\n popupCommands: ICommandData[] = [\n {\n id: \"loeschenBenutzerprofil\",\n idCategory: \"$start\",\n icon: \"fas fa-save\",\n tooltip: \"benutzer-loeschen.benutzer-loeschen\",\n sortIndex: 0,\n execute: () => {\n this.onBenutzerLoeschenClicked();\n }\n }\n ];\n\n benutzerLoeschenPopup: IdxPopupComponent;\n benutzerLoeschenPopupOptions: DevExpress.ui.dxPopupOptions = {\n height: \"auto\",\n maxHeight: \"80%\",\n maxWidth: \"420px\"\n }\n requiredValidatorOptions: DevExpress.ui.dxValidatorOptions = {\n validationRules: [{ type: \"required\" }]\n };\n validationGroup: IdxValidationGroupComponent;\n validationGroupOptions: DevExpress.ui.dxValidationGroupOptions = {};\n\n loeschenGrundOptions: DevExpress.ui.dxSelectBoxOptions = {\n valueExpr: \"Id\",\n displayExpr: \"Bezeichnung\",\n bindingOptions: {\n value: \"loeschenBenutzerData.IdGrund\"\n }\n };\n loeschenBemerkungOptions: DevExpress.ui.dxTextAreaOptions = {\n height: 60,\n maxLength: 500,\n bindingOptions: {\n value: \"loeschenBenutzerData.Bemerkung\"\n }\n };\n\n bind(bindingContext: any, overrideContext: OverrideContext) {\n this.scope = {\n bindingContext: bindingContext,\n overrideContext: overrideContext\n };\n\n this.scopeContainer = new ScopeContainer({\n bindingContext: this,\n overrideContext: null\n });\n\n this.loeschenGrundOptions.dataSource = this.dataSource.createDataSource(this.scopeContainer, {\n webApiAction: \"ZIT/Stammdaten/Grund\",\n webApiWhere: [[\"Typ\", GrundTyp.BenutzerprofilLoeschen]]\n });\n\n this.simpleWidgetCreator.updatePopupOptions({\n idToolbar: \"benutzerLoeschenPopupToolbar\",\n caption: \"benutzereinstellungen.popup-titel\",\n options: this.benutzerLoeschenPopupOptions,\n commands: this.popupCommands,\n scopeContainer: this.scopeContainer\n });\n }\n unbind() {\n this.scopeContainer.disposeAll();\n this.scope = null;\n }\n\n showPopup() {\n this.benutzerLoeschenPopup.instance.show();\n this.validationGroup.instance.reset();\n }\n\n private onBenutzerLoeschenClicked() {\n const title = this.localization.translateOnce(\"benutzer-loeschen.popup-title\");\n const message = this.localization.translateOnce(\"benutzer-loeschen.popup-text\");\n\n this.dialogConfirmService.show({\n title: title,\n message: message\n }).then(confirmed => {\n if (!confirmed) {\n return;\n }\n\n const validationResult = this.validationGroup.instance.validate();\n if (!validationResult.isValid) {\n return;\n }\n\n this.benutzereinstellungen.deleteBenutzer(this.loeschenBenutzerData).then(r => {\n this.authorization.logout();\n });\n });\n }\n}\n","module.exports = \" \";","import { DataSourceService } from './../../../framework/base/services/data-source-service';\nimport { bindable } from 'aurelia-framework';\nimport { Models } from './../../../framework/forms/classes/models';\nimport { SimpleWidgetCreatorService } from './../../../framework/forms/widget-services/simple-widget-creator-service';\nimport { IBenutzerAccountSperrenData } from './../../interfaces/benutzeraccount-sperren-data';\nimport { DxWidget } from './../../../framework/dx/elements/dx-widget';\nimport { RestService } from './../../../framework/base/services/rest-service';\nimport { autoinject } from 'aurelia-framework';\nimport { ScopeContainer, LocalizationService } from '../../../framework/base/export';\nimport { ICommandData, DialogConfirmService, FormBase } from '../../../framework/forms/export';\nimport { IdxPopupComponent, IdxValidationGroupComponent, IdxSelectBoxComponent, IdxTextAreaComponent } from '../../interfaces/export';\n\nimport * as moment from \"moment\";\n\n@autoinject\nexport class BenutzerSperren {\n constructor(\n private localization: LocalizationService,\n private restService: RestService,\n private simpleWidgetCreator: SimpleWidgetCreatorService,\n private dataSource: DataSourceService\n ) { }\n\n @bindable key: number;\n\n scopeContainer: ScopeContainer;\n form: FormBase;\n\n popupCommands: ICommandData[] = [\n {\n id: \"doBenutzerSperren\",\n idCategory: \"$start\",\n icon: \"fas fa-check\",\n tooltip: \"benutzer-sperren.benutzer-sperren\",\n sortIndex: 1600,\n execute: () => {\n this.checkAndDoBenutzerSperren();\n }\n }\n ];\n\n benutzerSperrenPopup: IdxPopupComponent;\n benutzerSperrenPopupOptions: DevExpress.ui.dxPopupOptions = {\n height: \"auto\",\n width: \"800px\",\n maxHeight: \"80%\",\n maxWidth: \"800px\"\n }\n\n grundSelectBox: IdxSelectBoxComponent;\n grundSelectBoxOptions: DevExpress.ui.dxSelectBoxOptions = {\n displayExpr: \"Bezeichnung\",\n valueExpr: \"Id\"\n }\n\n grundBemerkungTextArea: IdxTextAreaComponent;\n grundBemerkungTextAreaOptions: DevExpress.ui.dxTextAreaOptions = {\n height: \"200px\"\n }\n\n bind() {\n this.scopeContainer = new ScopeContainer({\n bindingContext: this,\n overrideContext: null\n });\n\n this.simpleWidgetCreator.updatePopupOptions({\n idToolbar: \"benutzerSperrenPopupToolbar\",\n caption: \"benutzer-sperren.popup-title\",\n options: this.benutzerSperrenPopupOptions,\n commands: this.popupCommands,\n scopeContainer: this.scopeContainer\n });\n }\n unbind() {\n this.scopeContainer.disposeAll();\n }\n\n showPopup(key: number, form: FormBase) {\n this.key = key;\n this.form = form;\n\n this.resetInputData();\n this.setGrundDataSource()\n\n this.benutzerSperrenPopup.instance.show();\n }\n private resetInputData(): void {\n if (this.grundBemerkungTextArea) {\n this.grundBemerkungTextArea.instance.option(\"value\", null);\n } else {\n this.grundBemerkungTextAreaOptions.value = null;\n }\n }\n private async setGrundDataSource() {\n const stichtag = moment().startOf(\"day\").toDate();\n\n const dataSource = await this.restService.get({\n url: this.restService.getWebApiUrl(\"ZIT/Stammdaten/Grund\"),\n getOptions: {\n where: [[\"Typ\", 0], \"and\", [\"GueltigVon\", \"<=\", stichtag], \"and\", [\"GueltigBis\", \">=\", stichtag]],\n columns: [\"Id\", \"Bezeichnung\"]\n }\n });\n\n if (this.grundSelectBox) {\n this.grundSelectBox.setOption({\n dataSource: dataSource\n });\n } else {\n this.grundSelectBoxOptions.dataSource = dataSource;\n }\n }\n\n private checkAndDoBenutzerSperren(): void {\n if (!this.key || this.key == 0) {\n return;\n }\n\n const data: IBenutzerAccountSperrenData = {\n IdBenutzer: this.key,\n IdGrund: this.grundSelectBox.instance.option(\"value\"),\n Bemerkung: this.grundBemerkungTextArea.instance.option(\"value\")\n };\n\n if (!this.canBenutzerSperren(data)) {\n return;\n }\n\n this.doBenutzerSperren(data);\n }\n private canBenutzerSperren(data: IBenutzerAccountSperrenData): boolean {\n if (!data.IdGrund) {\n DevExpress.ui.notify(this.localization.translateOnce(\"benutzer-sperren.sperrgrund-fehlt\"), \"error\", 3000);\n } else {\n return true;\n }\n }\n\n private doBenutzerSperren(data: any): void {\n this.restService.post({\n url: this.restService.getApiUrl(\"ZIT/Security/BenutzerSperren\"),\n data: data,\n increaseLoadingCount: true\n }).then((r) => {\n this.benutzerSperrenPopup.instance.hide();\n this.form.models.reloadAll();\n });\n }\n}\n","module.exports = \" \";","import { IdxButtonComponent } from './../../interfaces/dx-components';\nimport { StartupService } from './../../services/startup-service';\nimport { TaskQueue } from 'aurelia-framework';\nimport { autoinject, OverrideContext, Scope } from 'aurelia-framework';\nimport { ScopeContainer, LocalizationService } from '../../../framework/base/export';\nimport { SimpleWidgetCreatorService } from '../../../framework/forms/export';\nimport { DataSourceService, GlobalizationService } from '../../../framework/base/services/export';\nimport { IdxDataGridComponent } from '../../interfaces/export';\nimport { LoginprofilService } from '../../services/loginprofil-service';\nimport { IdxValidationGroupComponent, IdxSelectBoxComponent, IdxPopupComponent } from '../../interfaces/export';\n@autoinject\nexport class BenutzerWechseln {\n constructor(\n public startup: StartupService,\n private _dataSourceService: DataSourceService,\n private _simpleWidgetCreatorService: SimpleWidgetCreatorService,\n private _localizationService: LocalizationService,\n private _loginprofilService: LoginprofilService,\n private _taskQueue: TaskQueue,\n private _globalizationService: GlobalizationService\n ) { }\n\n scope: Scope;\n scopeContainer: ScopeContainer;\n idCurrentLoginprofil: number;\n\n requiredValidatorOptions: DevExpress.ui.dxValidatorOptions = {\n validationRules: [{ type: \"required\" }]\n };\n validationGroup: IdxValidationGroupComponent;\n validationGroupOptions: DevExpress.ui.dxValidationGroupOptions = {};\n\n benutzerWechselnPopup: IdxPopupComponent;\n benutzerWechselnPopupOptions: DevExpress.ui.dxPopupOptions = {\n height: \"auto\",\n maxHeight: \"100%\",\n maxWidth: \"900px\"\n }\n\n loginprofil: IdxSelectBoxComponent;\n loginprofilOptions: DevExpress.ui.dxSelectBoxOptions = {\n valueExpr: \"Id\",\n displayExpr: \"Bezeichnung\",\n bindingOptions: {\n value: \"idCurrentLoginprofil\"\n }\n }\n\n loginprofilWechselnButton: IdxButtonComponent;\n loginprofilWechselnButtonOptions: DevExpress.ui.dxButtonOptions = {\n icon: \"fas fa-check\",\n onClick: () => {\n this.onLoginprofilWechselnClicked();\n }\n }\n\n benutzerWechselnGridDataSource: DevExpress.data.DataSource;\n benutzerWechselnGrid: IdxDataGridComponent;\n benutzerWechselnGridOptions: DevExpress.ui.dxDataGridOptions = {\n columnAutoWidth: true,\n height: \"400px\",\n selection: {\n mode: \"single\"\n },\n paging: {\n pageSize: 10\n },\n remoteOperations: {\n filtering: true,\n paging: true,\n sorting: true\n },\n searchPanel: {\n visible: true\n },\n columns: [\n { dataField: \"Benutzer.Benutzername\", caption: this._localizationService.translateOnce(\"benutzereinstellungen.benutzername\") },\n { dataField: \"Benutzer.Vorname\", caption: this._localizationService.translateOnce(\"benutzereinstellungen.vorname\") },\n { dataField: \"Benutzer.Nachname\", caption: this._localizationService.translateOnce(\"benutzereinstellungen.nachname\") },\n { dataField: \"Bezeichnung\", caption: this._localizationService.translateOnce(\"benutzereinstellungen.loginprofil\") },\n { \n dataField: \"Benutzer.Status\", \n caption: this._localizationService.translateOnce(\"benutzereinstellungen.status\"),\n dataType: \"string\",\n customizeText: (e) => {\n switch (e.value) {\n case 0: {\n return \"aktiviert\";\n }\n case 1: {\n return \"vorbereitet\";\n }\n case 2: {\n return \"vom Benutzer gelöscht\";\n }\n case 3: {\n return \"Aktivierung versendet\";\n }\n case 4: {\n return \"bereit für Aktivierung\";\n }\n case 5: {\n return \"gesperrt\";\n }\n default: {\n return \"\";\n }\n }\n }\n },\n { \n dataField: \"Benutzer.Anlagedatum\", \n caption: this._localizationService.translateOnce(\"benutzereinstellungen.anlagedat\"),\n format: this._globalizationService.getFormatter(\"g\")\n }\n ],\n onRowClick: (e) => {\n this.onBenutzerRowClicked(e.key);\n }\n }\n\n bind(bindingContext: any, overrideContext: OverrideContext) {\n this.scope = {\n bindingContext: bindingContext,\n overrideContext: overrideContext\n };\n\n this.scopeContainer = new ScopeContainer({\n bindingContext: this,\n overrideContext: null\n });\n\n this._simpleWidgetCreatorService.updatePopupOptions({\n idToolbar: \"benutzerWechselnPopupToolbar\",\n caption: \"benutzer-wechseln.popup-titel\",\n options: this.benutzerWechselnPopupOptions,\n scopeContainer: this.scopeContainer\n });\n\n this.benutzerWechselnGridDataSource = this._dataSourceService.createDataSource(this.scopeContainer, {\n webApiAction: \"ZIT/Berechtigungen/Loginprofil\",\n keyProperty: \"Id\",\n webApiExpand: { Benutzer: null }\n }, {\n getCustomFilters: () => {\n return [{\n webApiCustomKey: \"Editing\",\n webApiCustomValue: \"true\"\n }, {\n webApiCustomKey: \"CheckBenutzertyp\",\n webApiCustomValue: \"true\"\n }]\n }\n });\n\n this.benutzerWechselnGridOptions.dataSource = this.benutzerWechselnGridDataSource;\n }\n unbind() {\n this.scopeContainer.disposeAll();\n this.scope = null;\n }\n\n onExportLoginprofil() {\n this.benutzerWechselnGrid.instance.exportToExcel(false);\n }\n\n async showPopup() {\n this.setLoginprofilDataSource();\n this.idCurrentLoginprofil = this.startup.startupInfo.Benutzer.IdLoginprofil;\n await this.benutzerWechselnPopup.instance.show();\n\n this._taskQueue.queueMicroTask(() => {\n if(!this.benutzerWechselnGrid) {\n return;\n }\n this.benutzerWechselnPopup.instance.repaint();\n const input = this.benutzerWechselnGrid.instance.element()\n .getElementsByClassName(\"dx-datagrid-search-panel\").item(0)\n .getElementsByTagName(\"input\").item(0);\n this._taskQueue.queueMicroTask(() => {\n input.focus();\n })\n });\n }\n\n private async onBenutzerRowClicked(idProfil: number) {\n await this._loginprofilService.setLoginProfil(idProfil, true);\n }\n\n private async onLoginprofilWechselnClicked() {\n const validationResult = this.validationGroup.instance.validate();\n if (!validationResult.isValid) {\n return;\n }\n\n await this._loginprofilService.setLoginProfil(this.idCurrentLoginprofil, true);\n }\n\n private async setLoginprofilDataSource() {\n const dataSource = await this._loginprofilService.getLoginprofile();\n\n if (this.loginprofil) {\n this.loginprofil.setOption({\n dataSource: dataSource\n });\n } else {\n this.loginprofilOptions.dataSource = dataSource;\n }\n }\n}\n","module.exports = \" \";","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.id, \".headline {\\n margin-bottom: 20px;\\n}\\n.headline button {\\n margin-left: 15px;\\n}\\nh3 i {\\n margin-right: 0;\\n}\\n\", \"\"]);\n// Exports\nmodule.exports = exports;\n","import { IListViewOptions } from './../../../framework/forms/elements/list-view/list-view-options';\nimport { ListView } from './../../../framework/forms/elements/list-view/list-view';\nimport { BenutzerTyp } from './../../enumerations/benutzer-typ';\nimport { StartupService } from './../../services/startup-service';\nimport { computedFrom } from 'aurelia-binding';\nimport {\n autoinject,\n Scope,\n OverrideContext\n} from \"aurelia-framework\";\nimport {\n ScopeContainer,\n FileService\n} from '../../../framework/base/export';\nimport {\n StaatService,\n} from '../../services/export';\nimport {\n IdxPopupComponent,\n IdxValidationGroupComponent,\n IdxSelectBoxComponent,\n IdxTextBoxComponent\n} from '../../interfaces/export';\nimport { LocalizationService, GlobalizationService } from './../../../framework/base/services/export';\nimport { ICommandData } from './../../../framework/forms/interfaces/command-data';\nimport { SimpleWidgetCreatorService, DialogConfirmService } from '../../../framework/forms/export';\nimport { IBenutzereinstellungData } from '../../interfaces/export';\nimport { BenutzerLoeschen } from '../benutzer-loeschen/benutzer-loeschen';\nimport { IdxDateBoxComponent, IdxCheckBoxComponent } from './../../interfaces/dx-components';\nimport { IZitTagOptions } from '../../../zit-ui/elements/zit-tag/export';\nimport { WhatsappAktivieren } from '../whatsapp-aktivieren/whatsapp-aktivieren';\nimport { HeaderService } from '../../../framework/default-ui/services/header-service';\nimport { PasswortAendern } from '../passwort-aendern/passwort-aendern';\nimport { BenutzereinstellungenService } from '../../services/benutzereinstellungen-service';\nimport { AvatarService } from '../../services/avatar-service';\n\n@autoinject\nexport class Benutzereinstellungen {\n constructor(\n public startupService: StartupService,\n private _headerService: HeaderService,\n private _benutzereinstellungenService: BenutzereinstellungenService,\n private _fileService: FileService,\n private _localizationService: LocalizationService,\n private _simpleWidgetCreatorService: SimpleWidgetCreatorService,\n private _staatService: StaatService,\n private _dialogConfirmService: DialogConfirmService,\n private _globalizationService: GlobalizationService,\n private _avatarService: AvatarService\n ) {\n const benutzertyp = startupService.startupInfo.Benutzer.Benutzertyp;\n\n const isAdminJuristischIntern = benutzertyp == BenutzerTyp.Administrator\n || benutzertyp == BenutzerTyp.InternerBenutzer\n || benutzertyp == BenutzerTyp.JuristischePerson;\n\n this.isAdminJuristischIntern = isAdminJuristischIntern;\n }\n\n einstellungen: IBenutzereinstellungData;\n passwortAendern: PasswortAendern;\n\n whatsappAktivieren: WhatsappAktivieren;\n avatarStyle: any;\n\n scope: Scope;\n scopeContainer: ScopeContainer;\n\n benutzerLoeschen: BenutzerLoeschen;\n isJuristischePerson = this.startupService.startupInfo.Benutzer.Benutzertyp === BenutzerTyp.JuristischePerson;\n isAdminJuristischIntern: boolean;\n\n availableLandvorwahl: any[];\n userImageEditFileInput: HTMLInputElement;\n\n benutzereinstellungenCommands: ICommandData[] = [\n {\n id: \"passwortAendern\",\n icon: \"fas fa-unlock-alt\",\n title: \"benutzereinstellungen.passwort-aendern\",\n isVisible: true,\n isEnabled: true,\n execute: () => {\n this.passwortAendern.showPopup();\n }\n }, {\n id: \"loeschenBenutzer\",\n idCategory: \"$start\",\n icon: \"fas fa-ban\",\n tooltip: \"benutzereinstellungen.benutzer-loeschen\",\n sortIndex: 1100,\n execute: () => {\n this.onBenutzerLoeschenClicked();\n }\n }, {\n id: \"speichernBenutzereinstellungen\",\n idCategory: \"$start\",\n icon: \"fas fa-save\",\n tooltip: \"base.save\",\n sortIndex: 1200,\n execute: () => {\n this.onEinstellungenSpeichernClicked();\n }\n }\n ];\n benutzereinstellungenPopup: IdxPopupComponent;\n benutzereinstellungenPopupOptions: DevExpress.ui.dxPopupOptions = {\n height: () => {\n if (!this.benutzereinstellungenPopup || !this.benutzereinstellungenPopup.instance) {\n return \"auto\"\n };\n\n const contentHeight = this.benutzereinstellungenPopup.instance.content().clientHeight;\n const windowHeight = window.innerHeight * 0.8;\n\n if (contentHeight < windowHeight) {\n return \"auto\";\n } else {\n return windowHeight;\n }\n },\n maxWidth: \"1100px\",\n onShown: () => {\n this.benutzereinstellungenPopup.instance.repaint();\n }\n };\n\n scrollViewOptions: DevExpress.ui.dxScrollViewOptions = {\n height: \"100%\"\n };\n\n validationGroup: IdxValidationGroupComponent;\n validationGroupOptions: DevExpress.ui.dxValidationGroupOptions = {};\n\n landvorwahlValidatorOptions: DevExpress.ui.dxValidatorOptions = {\n validationRules: [{\n type: \"pattern\",\n message: this._localizationService.translateOnce(\"benutzereinstellungen.validator_landvorwahl\"),\n pattern: \"^\\\\+[0-9]{1,3}$\"\n }, {\n type: \"custom\",\n message: this._localizationService.translateOnce(\"benutzereinstellungen.validator_require_landvorwal\"),\n reevaluate: true,\n validationCallback: (e): boolean => {\n if (this.einstellungen.Mobil && !this.einstellungen.MobilLandvorwahl) {\n return false;\n }\n\n return true;\n }\n }]\n };\n requiredValidatorOptions: DevExpress.ui.dxValidatorOptions = {\n validationRules: [{ type: \"required\" }]\n };\n emailValidatorOptions: DevExpress.ui.dxValidatorOptions = {\n validationRules: [{ type: \"required\" }, { type: \"email\" }]\n };\n mobilValidatorOptions: DevExpress.ui.dxValidatorOptions = {\n validationRules: [{\n type: \"custom\",\n message: this._localizationService.translateOnce(\"benutzereinstellungen.validator_telefon\"),\n validationCallback: this.telefonValidationCallback.bind(this)\n }]\n };\n telefonValidatorOptions: DevExpress.ui.dxValidatorOptions = {\n validationRules: [{\n type: \"custom\",\n message: this._localizationService.translateOnce(\"benutzereinstellungen.validator_telefon\"),\n validationCallback: this.telefonValidationCallback.bind(this)\n }]\n };\n benutzernameOptions: DevExpress.ui.dxTextBoxOptions = {\n placeholder: this._localizationService.translateOnce(\"benutzereinstellungen.benutzername\"),\n bindingOptions: {\n value: \"einstellungen.Benutzername\"\n }\n };\n kontaktpersonTypOptions: DevExpress.ui.dxRadioGroupOptions = {\n layout: \"horizontal\",\n displayExpr: \"text\",\n valueExpr: \"value\",\n dataSource: [\n { text: this._localizationService.translateOnce(\"benutzereinstellungen.natuerliche-person\"), value: 0 },\n { text: this._localizationService.translateOnce(\"benutzereinstellungen.team\"), value: 1 }\n ],\n bindingOptions: {\n value: \"einstellungen.Typ\"\n },\n };\n geschlechtOptions: DevExpress.ui.dxRadioGroupOptions = {\n layout: \"horizontal\",\n displayExpr: \"text\",\n valueExpr: \"value\",\n dataSource: [\n { text: this._localizationService.translateOnce(\"benutzereinstellungen.weiblich\"), value: 1 },\n { text: this._localizationService.translateOnce(\"benutzereinstellungen.maennlich\"), value: 0 },\n { text: this._localizationService.translateOnce(\"benutzereinstellungen.divers\"), value: 2 }\n ],\n bindingOptions: {\n value: \"einstellungen.Geschlecht\"\n }\n };\n vornameOptions: DevExpress.ui.dxTextBoxOptions = {\n placeholder: this._localizationService.translateOnce(\"benutzereinstellungen.vorname\"),\n bindingOptions: {\n value: \"einstellungen.Vorname\"\n }\n };\n nachnameOptions: DevExpress.ui.dxTextBoxOptions = {\n placeholder: this._localizationService.translateOnce(\"benutzereinstellungen.nachname\"),\n bindingOptions: {\n value: \"einstellungen.Nachname\"\n }\n };\n emailOptions: DevExpress.ui.dxTextBoxOptions = {\n placeholder: this._localizationService.translateOnce(\"benutzereinstellungen.email\"),\n bindingOptions: {\n value: \"einstellungen.Email\"\n }\n };\n mobilLandvorwahl: IdxSelectBoxComponent;\n mobilLandvorwahlOptions: DevExpress.ui.dxSelectBoxOptions = {\n fieldTemplate: \"zit-landvorwahl-bezeichnung-field-template\",\n itemTemplate: \"zit-landvorwahl-bezeichnung-template\",\n valueExpr: \"Key\",\n displayExpr: \"Bezeichnung\",\n searchEnabled: true,\n showClearButton: true,\n searchExpr: [\"Bezeichnung\"],\n placeholder: this._localizationService.translateOnce(\"benutzereinstellungen.landvorwahl\"),\n bindingOptions: {\n value: \"einstellungen.MobilLandvorwahl\",\n dataSource: \"availableLandvorwahl\"\n }\n }\n mobil: IdxTextBoxComponent;\n mobilOptions: DevExpress.ui.dxTextBoxOptions = {\n placeholder: this._localizationService.translateOnce(\"benutzereinstellungen.mobil-telefonnummer\"),\n bindingOptions: {\n value: \"einstellungen.Mobil\"\n }\n };\n\n nachrichtSignaturOptions: DevExpress.ui.dxTextAreaOptions = {\n height: \"45px\",\n bindingOptions: {\n value: \"einstellungen.NachrichtSignatur\"\n }\n }\n\n unternehmensbezeichnungOptions: DevExpress.ui.dxTextBoxOptions = {\n placeholder: this._localizationService.translateOnce(\"benutzereinstellungen.unternehmensbezeichnung\"),\n bindingOptions: {\n value: \"einstellungen.Unternehmensbezeichnung\"\n }\n };\n\n telefonLandvorwahl: IdxSelectBoxComponent;\n telefonLandvorwahlOptions: DevExpress.ui.dxSelectBoxOptions = {\n fieldTemplate: \"zit-landvorwahl-bezeichnung-field-template\",\n itemTemplate: \"zit-landvorwahl-bezeichnung-template\",\n valueExpr: \"Key\",\n displayExpr: \"Bezeichnung\",\n searchEnabled: true,\n showClearButton: true,\n searchExpr: [\"Bezeichnung\"],\n placeholder: this._localizationService.translateOnce(\"benutzereinstellungen.landvorwahl\"),\n bindingOptions: {\n value: \"einstellungen.TelefonLandvorwahl\",\n dataSource: \"availableLandvorwahl\"\n }\n }\n telefonOptions: DevExpress.ui.dxTextBoxOptions = {\n placeholder: this._localizationService.translateOnce(\"benutzereinstellungen.festnetz-telefonnummer\"),\n bindingOptions: {\n value: \"einstellungen.Telefon\"\n }\n };\n\n abwesendVon: IdxDateBoxComponent;\n abwesendVonOptions: DevExpress.ui.dxDateBoxOptions = {\n displayFormat: this._globalizationService.getFormatterParser(\"d\"),\n bindingOptions: {\n value: \"einstellungen.AbwesendVon\"\n }\n };\n\n abwesendBis: IdxDateBoxComponent;\n abwesendBisOptions: DevExpress.ui.dxDateBoxOptions = {\n displayFormat: this._globalizationService.getFormatterParser(\"d\"),\n bindingOptions: {\n value: \"einstellungen.AbwesendBis\"\n }\n };\n\n keineNachrichtenErhalten: IdxCheckBoxComponent;\n keineNachrichtenErhaltenOptions: DevExpress.ui.dxCheckBoxOptions = {\n text: this._localizationService.translateOnce(\"benutzereinstellungen.keine_nachrichten_erhalten\"),\n bindingOptions: {\n value: \"einstellungen.KeineNachrichtenErhalten\"\n }\n };\n\n benachrichtigungsartOptions: DevExpress.ui.dxSelectBoxOptions = {\n valueExpr: \"Value\",\n displayExpr: \"Name\",\n bindingOptions: {\n value: \"einstellungen.StandardBenachrichtigungsart\"\n }\n };\n willkommenseiteOptions: DevExpress.ui.dxCheckBoxOptions = {\n text: this._localizationService.translateOnce(\"benutzereinstellungen.willkommenseite_deaktivieren\"),\n bindingOptions: {\n value: \"einstellungen.IsWillkommensseiteDeaktiviert\"\n }\n }\n keineExterneInformationVersendenOptions: DevExpress.ui.dxCheckBoxOptions = {\n text: this._localizationService.translateOnce(\"benutzereinstellungen.keineExterneInformationVersenden\"),\n bindingOptions: {\n value: \"einstellungen.KeineExterneInformationVersenden\"\n }\n }\n keineExterneInformationVersendenBeiAntwortOptions: DevExpress.ui.dxCheckBoxOptions = {\n text: this._localizationService.translateOnce(\"benutzereinstellungen.keineExterneInformationVersendenBeiAntwort\"),\n bindingOptions: {\n value: \"einstellungen.KeineExterneInformationVersendenBeiAntwort\"\n }\n }\n whatsappChannelTagOptions: IZitTagOptions = {\n icon: {\n text: \"W\",\n backgroundColorExpression: \"einstellungen.IsWhatsAppChannelAktiviert ? 'rgb(0, 128, 0)': 'rgb(212, 68, 59)'\"\n },\n textExpression: `einstellungen.IsWhatsAppChannelAktiviert\n ? '${this._localizationService.translateOnce(\"benutzereinstellungen.whatsapp_tag_aktiviert_text\")}' \n : '${this._localizationService.translateOnce(\"benutzereinstellungen.whatsapp_tag_nicht_aktiviert_text\")}'`,\n backgroundColorExpression: \"einstellungen.IsWhatsAppChannelAktiviert ? 'rgba(0, 128, 0, .3)': 'rgba(212, 68, 59, .3)'\",\n isClickEnabledExpression: \"!einstellungen.IsWhatsAppChannelAktiviert\",\n onClick: (event, data) => {\n if (this.einstellungen.IsWhatsAppChannelAktiviert) {\n return;\n }\n this.showWhatsappAktivierenPopup();\n }\n };\n\n @computedFrom(\"einstellungen.Typ\")\n get kontaktpersonTyp() {\n return this.einstellungen.Typ;\n }\n\n bind(bindingContext: any, overrideContext: OverrideContext) {\n this.scope = {\n bindingContext: bindingContext,\n overrideContext: overrideContext\n };\n\n this.scopeContainer = new ScopeContainer({\n bindingContext: this,\n overrideContext: null\n });\n\n this._simpleWidgetCreatorService.updatePopupOptions({\n idToolbar: \"dmsViewerPopupToolbar\",\n caption: \"benutzereinstellungen.popup-titel\",\n options: this.benutzereinstellungenPopupOptions,\n commands: this.benutzereinstellungenCommands,\n scopeContainer: this.scopeContainer\n });\n\n const startup = this.startupService.startupInfo;\n const benachrArtArr = [{\n Name: this._localizationService.translateOnce(\"benutzereinstellungen.email_art_caption\"),\n Value: 0\n }];\n\n if (startup.Mandant.IsSmsAktiv) {\n benachrArtArr.push({\n Name: this._localizationService.translateOnce(\"benutzereinstellungen.sms_art_caption\"),\n Value: 1\n });\n }\n if (startup.Benutzer.IsWhatsappAktiv) {\n benachrArtArr.push({\n Name: this._localizationService.translateOnce(\"benutzereinstellungen.whatsapp_art_caption\"),\n Value: 2\n });\n }\n\n this.benachrichtigungsartOptions.dataSource = benachrArtArr;\n\n this.initializeLandvorwahlDataSource();\n }\n unbind() {\n this.scopeContainer.disposeAll();\n this.scope = null;\n }\n\n async showPopup() {\n this.avatarStyle = Object.assign({}, this._headerService.avatarStyle);\n this.einstellungen = Object.assign({}, this._benutzereinstellungenService.benutzereinstellungenData);\n this.benutzereinstellungenPopup.instance.show();\n }\n\n onBenutzerImageClicked() {\n this.userImageEditFileInput.click();\n }\n async onBenutzerImageChanged() {\n const file = this.userImageEditFileInput.files[0];\n const dmsLink = await this._fileService.upload(file);\n\n this.avatarStyle = {\n \"background-image\": `url(${this._fileService.getInlineUrl(dmsLink)})`\n };\n this.einstellungen.DMSLinkAvatar = dmsLink;\n }\n\n onImpressumClick() {\n window.open(this.startupService.startupInfo.Mandant.UrlImpressum, \"_blank\");\n }\n onDatenschutzClick() {\n window.open(this.startupService.startupInfo.Mandant.UrlDatenschutz, \"_blank\");\n }\n onAgbClick() {\n window.open(this.startupService.startupInfo.Benutzer.UrlAgb, \"_blank\");\n }\n\n private async onEinstellungenSpeichernClicked() {\n const validataionResult = this.validationGroup.instance.validate();\n if (!validataionResult.isValid) {\n return;\n }\n\n await this._benutzereinstellungenService.saveBenutzereinstellungen(this.einstellungen);\n\n this.benutzereinstellungenPopup.instance.hide();\n DevExpress.ui.notify(this._localizationService.translateOnce(\"base.save_success\"), \"SUCCESS\", 3000);\n }\n private onBenutzerLoeschenClicked() {\n const title = this._localizationService.translateOnce(\"benutzereinstellungen.benutzer-loeschen-frage-title\");\n const message = this._localizationService.translateOnce(\"benutzereinstellungen.benutzer-loeschen-frage-text\");\n this._dialogConfirmService.show({\n title: title,\n message: message\n }).then(confirmed => {\n if (!confirmed) {\n return;\n }\n\n this.benutzerLoeschen.showPopup();\n });\n }\n private async initializeLandvorwahlDataSource() {\n const staatList: any[] = await this._staatService.loadStaaten({\n columns: [\"Id\", \"Bezeichnung\", \"LandesVorwahl\", \"DMSLinkIcon\"],\n where: [[\"LandesVorwahl\", \"!=\", \"null\"]]\n });\n\n this.availableLandvorwahl = staatList.map((item) => {\n item.Key = item.LandesVorwahl;\n item.Bezeichnung = `${item.Bezeichnung} ( ${item.LandesVorwahl} )`;\n item.DMSLinkIconFQ = this._fileService.getDownloadUrl(item.DMSLinkIcon);\n return item;\n });\n }\n private telefonValidationCallback(e): boolean {\n //Q how to get this froom validaionService??\n if (!e.value) {\n return true;\n }\n let val: string = e.value;\n\n val = val.replace(/[\\\\-]/g, ' ');\n val = val.replace(/[\\\\(\\\\)]*/g, '');\n\n const isValid = /^[0-9 ]{4,}$/.test(val);\n\n if (!isValid) {\n return false;\n }\n\n const einstellungPropertyName = e.validator.element()[0] === this.mobil.instance.element()[0]\n ? \"Mobil\"\n : \"Telefon\";\n\n if (this.einstellungen[einstellungPropertyName] != val) {\n this.einstellungen[einstellungPropertyName] = val;\n }\n\n return true;\n }\n private showWhatsappAktivierenPopup() {\n this.whatsappAktivieren.showPopup();\n }\n}\n","module.exports = \" \";","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.id, \".z--header-benutzer-image {\\n border: 4px dashed lightgray;\\n cursor: pointer;\\n background-repeat: no-repeat;\\n background-size: contain;\\n background-position: center center;\\n height: 300px;\\n}\\n\", \"\"]);\n// Exports\nmodule.exports = exports;\n","import { FormEventService } from './../../../framework/forms/services/form-event-service';\nimport { FormBase } from './../../../framework/forms/classes/form-base';\nimport { IdxSelectBoxComponent } from './../../interfaces/dx-components';\nimport { PopupInfoService } from './../../../framework/forms/services/popup-info-service';\nimport { autoinject, Scope, OverrideContext } from 'aurelia-framework';\nimport { LocalizationService, ScopeContainer, RestService } from '../../../framework/base/export';\nimport { SimpleWidgetCreatorService, ICommandData } from '../../../framework/forms/export';\nimport { IdxPopupComponent, IdxValidationGroupComponent } from '../../interfaces/export';\nimport { EventAggregator } from 'aurelia-event-aggregator';\n\n@autoinject\nexport class BewerbungUmbuchen {\n\n constructor(\n private simpleWidgetCreatorService: SimpleWidgetCreatorService,\n private popupInfoService: PopupInfoService,\n private localizationService: LocalizationService,\n private restService: RestService,\n private formEventService: FormEventService,\n private eventAggregator: EventAggregator\n ) { }\n\n scope: Scope;\n scopeContainer: ScopeContainer;\n form: FormBase;\n\n popupCommands: ICommandData[] = [{\n id: \"bewerbungUmbuchenSave\",\n icon: \"fas fa-save\",\n tooltip: \"base.save\",\n sortIndex: 1001,\n execute: () => {\n const result = this.validationGroup.instance.validate();\n if (!result.isValid) {\n return;\n }\n\n const selectedHelper: any = this.bewerbungUmbuchenStelleninseratSelectBox.instance.option(\"selectedItem\");\n\n this.restService.post({\n url: this.restService.getApiUrl(\"ZIT/Objekt/BewerbungUmbuchen\"),\n increaseLoadingCount: true,\n data: selectedHelper\n }).then(c => {\n DevExpress.ui.notify(c, \"SUCCESS\", 3000);\n this.popupInfoService.closeAllPopups();\n this.bewerbungUmbuchenStelleninseratSelectBox.setOption({ value: null });\n this.form.models.reloadAll();\n\n this.formEventService.onSaved.fire({\n form: this.form\n });\n\n this.eventAggregator.publish(\"bewerbung:umgebucht\", {\n IdStelleninserat: selectedHelper.IdStelleninseratAlt\n });\n });\n }\n }];\n bewerbungUmbuchenPopup: IdxPopupComponent;\n bewerbungUmbuchenPopupOptions: DevExpress.ui.dxPopupOptions = {\n height: \"300px\",\n maxHeight: \"80%\",\n maxWidth: \"550px\"\n };\n\n requiredValidatorOptions: DevExpress.ui.dxValidatorOptions = {\n validationRules: [{ type: \"required\" }]\n };\n validationGroup: IdxValidationGroupComponent;\n validationGroupOptions: DevExpress.ui.dxValidationGroupOptions = {};\n\n bewerbungUmbuchenStelleninseratSelectBox: IdxSelectBoxComponent;\n bewerbungUmbuchenStelleninseratSelectBoxOptions: DevExpress.ui.dxSelectBoxOptions = {\n valueExpr: \"IdStelleninseratNeu\",\n displayExpr: \"Bezeichnung\",\n };\n\n bind(bindingContext: any, overrideContext: OverrideContext) {\n this.scope = {\n bindingContext: bindingContext,\n overrideContext: overrideContext\n };\n\n this.scopeContainer = new ScopeContainer({\n bindingContext: this,\n overrideContext: null\n });\n\n this.simpleWidgetCreatorService.updatePopupOptions({\n idToolbar: \"bewerbungUmbuchenPopupToolbar\",\n caption: \"bewerbung-umbuchen.popup-titel\",\n options: this.bewerbungUmbuchenPopupOptions,\n commands: this.popupCommands,\n scopeContainer: this.scopeContainer\n });\n }\n unbind() {\n this.scopeContainer.disposeAll();\n this.scope = null;\n }\n\n showPopup(idObjekt: number, form: FormBase) {\n this.form = form;\n\n this.setStelleninseratDataSource(idObjekt);\n this.bewerbungUmbuchenPopup.instance.show();\n }\n\n async setStelleninseratDataSource(idObjekt: number): Promise {\n return this.restService.get({\n url: `${this.restService.getApiUrl(\"ZIT/Objekt/BewerbungUmbuchenList\")}?idObjekt=${idObjekt}`,\n increaseLoadingCount: true\n }).then(r => {\n if (!r || !r.length) {\n return;\n }\n\n if (this.bewerbungUmbuchenStelleninseratSelectBox) {\n this.bewerbungUmbuchenStelleninseratSelectBox.instance.option(\"dataSource\", r);\n } else {\n this.bewerbungUmbuchenStelleninseratSelectBoxOptions.dataSource = r;\n }\n });\n }\n}\n","module.exports = \" \";","import { DataSourceService, RestService, ScopeContainer } from \"../../../framework/base/export\";\nimport { ICommandData } from \"../../../framework/forms/export\";\nimport { autoinject } from \"../../../framework/forms/form-export\";\nimport { IdxPopupComponent, IdxSelectBoxComponent } from \"../../interfaces/export\";\nimport { LocalizationService } from \"./../../../framework/base/services/localization-service\";\nimport { SimpleWidgetCreatorService } from \"./../../../framework/forms/widget-services/simple-widget-creator-service\";\n\n@autoinject\nexport class BewerbungstypAendern {\n private NOTIFY_TIMEOUT: number = 3000;\n\n constructor(\n private _restService: RestService,\n private _dataSourceService: DataSourceService,\n private _simpleWidgetCreatorService: SimpleWidgetCreatorService,\n private _localizationService: LocalizationService) { }\n\n bewerbungstypDataSource: DevExpress.data.DataSource;\n scopeContainer: ScopeContainer;\n keyList: number[] = [];\n\n popupCommands: ICommandData[] = [{\n id: \"changeBewerbungstyp\",\n idCategory: \"$start\",\n icon: \"fas fa-save\",\n tooltip: \"base.save\",\n sortIndex: 1000,\n execute: () => {\n this.changeBewerbungstyp();\n }\n }];\n bewerbungstypAendernPopup: IdxPopupComponent;\n bewerbungstypAendernPopupOptions: DevExpress.ui.dxPopupOptions = {\n height: \"auto\",\n width: \"800px\",\n maxHeight: \"80%\",\n maxWidth: \"800px\"\n };\n\n bewerbungstypSelectBox: IdxSelectBoxComponent;\n bewerbungstypSelectBoxOptions: DevExpress.ui.dxSelectBoxOptions = {\n displayExpr: \"Bezeichnung\",\n valueExpr: \"Id\",\n searchEnabled: true\n };\n\n bind() {\n this.scopeContainer = new ScopeContainer({\n bindingContext: this,\n overrideContext: null\n });\n this._simpleWidgetCreatorService.updatePopupOptions({\n idToolbar: \"bewerbungstypAendernPopupToolbar\",\n caption: \"bewerbungstyp-aendern.popup-title\",\n options: this.bewerbungstypAendernPopupOptions,\n commands: this.popupCommands,\n scopeContainer: this.scopeContainer\n });\n }\n unbind() {\n this.scopeContainer.disposeAll();\n }\n\n showPopup(keyList: number[]) {\n this.keyList = keyList;\n this.bewerbungstypAendernPopup.instance.show();\n this.loadBewerbungstypDataSource();\n }\n\n private loadBewerbungstypDataSource() {\n this.bewerbungstypDataSource = this._dataSourceService.createDataSource(\n this.scopeContainer,\n {\n webApiAction: \"ZIT/Stammdaten/StelleninseratBewerbungstyp\"\n }\n );\n\n this.bewerbungstypSelectBox.instance.option(\"dataSource\", this.bewerbungstypDataSource);\n this.bewerbungstypSelectBox.instance.option(\"value\", null);\n }\n\n private async changeBewerbungstyp() {\n const idBewerbungstyp = this.bewerbungstypSelectBox.instance.option(\"value\");\n\n const data: IBewerbungstypAendern = {\n IdStelleninseratList: this.keyList,\n IdBewerbungstyp: idBewerbungstyp\n };\n\n await this._restService.post({\n url: this._restService.getApiUrl(\"ZIT/Stelleninserat/StelleninseratBewerbungstypAendern\"),\n data: data,\n increaseLoadingCount: true\n });\n\n DevExpress.ui.notify(this._localizationService.translateOnce(\"bewerbungstyp-aendern.bewerbungstyp-geaendert-confirmation\"), \"SUCCESS\", this.NOTIFY_TIMEOUT);\n this.bewerbungstypAendernPopup.instance.hide();\n }\n}\n\nexport interface IBewerbungstypAendern {\n IdStelleninseratList: number[];\n IdBewerbungstyp: number;\n}\n","module.exports = \" \";","import { autoinject, bindable, createOverrideContext, observable, BindingEngine, Disposable } from \"aurelia-framework\";\nimport { ScopeContainer, ObjectService } from '../../../framework/base/export';\nimport { IToolbarOptions } from '../../../framework/forms/elements/toolbar/toolbar-options';\nimport { IItem } from '../../../framework/forms/elements/toolbar/item';\nimport { IListViewOptions } from '../../../framework/forms/elements/list-view/list-view-options';\nimport { ListView } from '../../../framework/forms/export';\nimport { IZitCardOptions, ZitCardTyp } from '../../../zit-ui/elements/zit-card/export';\nimport { ListViewPagingMode } from '../../../framework/forms/elements/list-view/list-view-paging-mode';\n\n@autoinject\nexport class CardList {\n private _collectionSubscription: Disposable;\n private _dataSource: any[] = [];\n\n constructor(\n private _element: Element,\n private _bindingEngine: BindingEngine,\n private _objectService: ObjectService\n ) {}\n\n @bindable titel: string;\n @bindable @observable dataSource: any[];\n @bindable supportsAdd: boolean = false;\n @bindable supportsDelete: boolean = false;\n @bindable typeName: string;\n @bindable pageSize: number;\n @bindable cardDataPath: string;\n @bindable cardTyp: ZitCardTyp = ZitCardTyp.Kompakt;\n\n scopeContainer: ScopeContainer;\n toolbarOptions: IToolbarOptions;\n listViewOptions: IListViewOptions;\n listView: ListView;\n cardOptions: IZitCardOptions = {\n useDefaultBindings: true,\n isClickEnabled: true\n }\n\n bind(bindingContext, overrideContext) {\n this.scopeContainer = new ScopeContainer({\n bindingContext: this,\n overrideContext: createOverrideContext(bindingContext, overrideContext)\n });\n\n this.cardOptions.typ = this.cardTyp;\n\n this.toolbarOptions = {\n title: this.titel,\n icon: null,\n smallToolbar: true,\n items: this.getToolbarItems(),\n scopeContainer: this.scopeContainer\n };\n\n this.listViewOptions = {\n dataSource: new DevExpress.data.DataSource({\n store: new DevExpress.data.ArrayStore({ data: this._dataSource }),\n requireTotalCount: true\n }),\n useDefaultListItemStyle: false,\n itemClass: \"col-xs-12 col-sm-6\",\n pageSize: this.pageSize || 8,\n pagingMode: ListViewPagingMode.loadNext\n };\n\n this.updateDataSourceObserver();\n }\n unbind() {\n this.scopeContainer.disposeAll();\n this.scopeContainer = null;\n\n this.updateDataSourceObserver(true);\n }\n\n onDeleteClick(ev: Event, item: any) {\n ev.preventDefault();\n ev.stopPropagation();\n\n this._element.dispatchEvent(new CustomEvent(\n \"on-card-list-delete\", {\n bubbles: true,\n detail: {\n item: item.itemOrg\n }\n }\n ));\n }\n\n dataSourceChanged() {\n this.updateDataSource();\n this.updateDataSourceObserver();\n }\n\n private getToolbarItems() {\n return [{\n id: \"add\",\n icon: \"fas fa-plus\",\n isVisibleExpression: \"supportsAdd\",\n execute: () => {\n this._element.dispatchEvent(new CustomEvent(\n \"on-card-list-add\", {\n bubbles: true\n }\n ));\n }\n }];\n }\n private updateDataSource() {\n const dataSource = (this.dataSource || []);\n\n const dataSourceChecked = dataSource.map(i => {\n return {\n itemOrg: i,\n card: this.cardDataPath\n ? this._objectService.getValue(i, this.cardDataPath.concat(\".Card\"))\n : this._objectService.getValue(i, \"Card\")\n }\n });\n\n this._dataSource.splice(0, this._dataSource.length, ...(dataSourceChecked || []));\n this.listViewOptions.dataSource.reload();\n }\n private updateDataSourceObserver(onlyDispose: boolean = false) {\n if (this._collectionSubscription) {\n this._collectionSubscription.dispose(),\n this._collectionSubscription = null;\n }\n\n if (onlyDispose) {\n return;\n }\n\n if (!this.dataSource) {\n return;\n }\n\n this._collectionSubscription = this._bindingEngine.collectionObserver(this.dataSource).subscribe(() => {\n this.updateDataSource();\n });\n }\n}","module.exports = \" \";","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.id, \".card-list__item {\\n position: relative;\\n}\\n.card-list__item > i {\\n display: none;\\n position: absolute;\\n top: 3px;\\n right: 3px;\\n border-radius: 16px;\\n background-color: #aaa;\\n color: white;\\n padding: 3px 5px;\\n z-index: 2;\\n cursor: pointer;\\n}\\n.card-list__item > i:hover {\\n background-color: #444;\\n}\\n.card-list__item:hover > i {\\n display: block;\\n}\\n\", \"\"]);\n// Exports\nmodule.exports = exports;\n","import { autoinject, noView } from \"aurelia-framework\";\nimport { EventAggregator, Subscription } from 'aurelia-event-aggregator';\nimport { StartupService } from '../../services/export';\nimport { RestService } from '../../../framework/base/export';\nimport { HistoryService } from '../../../framework/forms/export';\n\n@autoinject\n@noView\nexport class CheckBenutzer {\n private _windowActivatedSubscription: Subscription;\n private _timeout: any;\n\n constructor(\n private _eventAggregator: EventAggregator,\n private _startupService: StartupService,\n private _restService: RestService,\n private _historyService: HistoryService\n ) {}\n\n bind() {\n this._windowActivatedSubscription = this._eventAggregator.subscribe(\"window:activated\", () => {\n this.checkBenutzer();\n \n this._startupService.startupInfo.Mandant.IdMandant\n });\n\n this._timeout = setTimeout(() => {\n this.checkBenutzer();\n }, 30000);\n }\n unbind() {\n this._windowActivatedSubscription.dispose();\n this._windowActivatedSubscription = null;\n\n clearTimeout(this._timeout);\n }\n\n private async checkBenutzer() {\n const r = await this._restService.get({\n url: this._restService.getApiUrl(\"ZIT/Security/CurrentBenutzerData\")\n });\n\n const isEqual = r.IdBenutzer == this._startupService.startupInfo.Benutzer.IdBenutzer\n && r.IdLoginprofil == this._startupService.startupInfo.Benutzer.IdLoginprofil\n && r.IdMandant == this._startupService.startupInfo.Mandant.IdMandant;\n \n if (isEqual) {\n return;\n }\n\n this._historyService.checkHasChangedDataBeforeUnload = false;\n window.location.reload();\n }\n}","import { autoinject, bindable, observable } from \"aurelia-framework\";\nimport { CodesService } from \"../../services/export\";\nimport { IZitTagOptions } from \"../../../zit-ui/elements/zit-tag/zit-tag-options\";\nimport { IBenutzerrolleCodeData } from \"../../interfaces/export\";\n\n@autoinject\nexport class Codes {\n constructor(\n private _codesService: CodesService\n ) {}\n\n @bindable showHeader = true;\n @bindable typ: CodesTyp = CodesTyp.Objekt;\n @bindable @observable id: number = void(0);\n\n codeList: any[] = [];\n\n tagOptions: IZitTagOptions = {\n icon: {\n faIconExpression: \"item.TagSymbol ? item.TagSymbol : ''\",\n textExpression: \"item.tagText ? item.tagText : ''\"\n },\n textExpression: \"item.Bezeichnung\",\n onClick: (ev, data) => {\n ev.preventDefault();\n ev.stopPropagation();\n\n data.IsAktiv = !data.IsAktiv;\n this.saveCode(data); \n },\n infoList: [{\n icon: {\n faIconExpression: \"item.IsAktiv ? 'fas fa-check' : 'fas fa-times'\",\n backgroundColorExpression: \"item.IsAktiv ? 'green':'red'\"\n }\n }]\n };\n\n bind() {\n this.loadCodes();\n }\n\n idChanged() {\n this.loadCodes();\n }\n\n private async loadCodes() {\n if (!this.id) {\n this.codeList = [];\n return;\n }\n\n switch (this.typ) {\n case CodesTyp.Objekt: {\n this.codeList = await this._codesService.getObjektCodes(this.id);\n break;\n }\n case CodesTyp.Benutzer: {\n this.codeList = await this._codesService.getBenutzerCodes(this.id);\n break;\n }\n default: {\n this.codeList = [];\n break;\n }\n }\n }\n private async saveCode(codeData: IBenutzerrolleCodeData) {\n switch (this.typ) {\n case CodesTyp.Objekt: {\n this._codesService.saveObjektCodes(this.id, [codeData]);\n break;\n }\n case CodesTyp.Benutzer: {\n this._codesService.saveBenutzerCodes(this.id, [codeData]);\n break;\n }\n default: {\n break;\n }\n }\n }\n}\n\nenum CodesTyp {\n Objekt = 0,\n Benutzer = 1\n}","module.exports = \"\";","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.id, \".codes__tag-container {\\n display: flex;\\n flex-wrap: wrap;\\n}\\n.codes__tag-container > * {\\n margin-top: 6px;\\n margin-right: 6px;\\n}\\n\", \"\"]);\n// Exports\nmodule.exports = exports;\n","import { CustomEditPopup } from './../../../framework/forms/elements/custom-edit-popup/custom-edit-popup';\nimport { autoinject } from 'aurelia-framework';\nimport { CustomEditPopupService } from '../../services/export';\n\n@autoinject\nexport class CustomEditPopupContainer {\n constructor(\n private customEditPopup: CustomEditPopupService\n ) { }\n\n ansprechpersonRead: CustomEditPopup;\n dokumentEdit: CustomEditPopup;\n dokumentRead: CustomEditPopup;\n dokumentUnterfertigung: CustomEditPopup;\n geschaeftspartnerAnsprechperson: CustomEditPopup;\n geschaeftspartnerEntlohnungsschema: CustomEditPopup;\n geschaeftspartnerAuswaehlen: CustomEditPopup;\n geschaeftspartnerGruppierung: CustomEditPopup;\n markersAuswaehlen: CustomEditPopup;\n personAusbildungNeu: CustomEditPopup;\n objektZuBenutzergruppe: CustomEditPopup;\n nachrichtGruppe: CustomEditPopup;\n\n attached() {\n this.customEditPopup.ansprechpersonRead = this.ansprechpersonRead;\n this.customEditPopup.dokumentEdit = this.dokumentEdit;\n this.customEditPopup.dokumentRead = this.dokumentRead;\n this.customEditPopup.dokumentUnterfertigung = this.dokumentUnterfertigung;\n this.customEditPopup.geschaeftspartnerAnsprechperson = this.geschaeftspartnerAnsprechperson;\n this.customEditPopup.geschaeftspartnerAuswaehlen = this.geschaeftspartnerAuswaehlen;\n this.customEditPopup.geschaeftspartnerGruppierung = this.geschaeftspartnerGruppierung;\n this.customEditPopup.geschaeftspartnerEntlohnungsschema = this.geschaeftspartnerEntlohnungsschema;\n this.customEditPopup.markersAuswaehlen = this.markersAuswaehlen;\n this.customEditPopup.personAusbildungNeu = this.personAusbildungNeu;\n this.customEditPopup.objektZuBenutzergruppe = this.objektZuBenutzergruppe;\n this.customEditPopup.nachrichtGruppe = this.nachrichtGruppe;\n }\n}\n","module.exports = \" \";","\nimport { autoinject } from \"aurelia-framework\";\nimport { SucheService, DashboardService } from '../../services/export';\nimport { IZitCardOptions, ZitCardTyp } from '../../../zit-ui/elements/zit-card/export';\nimport { FormEventService } from '../../../framework/forms/export';\n\n@autoinject\nexport class DashboardBoxAufgabe {\n private _onSavedEvent: {(): void};\n\n constructor(\n private _sucheService: SucheService,\n private _formEventService: FormEventService,\n private _dashboardService: DashboardService\n ) {}\n\n item: any;\n\n aufgabeCardOptions: IZitCardOptions = {\n isClickEnabled: true,\n useDefaultBindings: true,\n typ: ZitCardTyp.Kompakt\n };\n\n activate(item) {\n this.item = item;\n }\n attached() {\n this._onSavedEvent = this._formEventService.onSaved.register(async (e) => {\n if (e.form.id == \"aufgabe-obj-edit\") {\n this.refreshData();\n }\n });\n }\n detached() {\n if (this._onSavedEvent) {\n this._onSavedEvent();\n this._onSavedEvent = null;\n }\n }\n\n onBoxHeaderClicked() {\n this._sucheService.activateSuche(\"TIP.ZIT.Business.Entities.Objekte.Aufgaben.Aufgabe\");\n }\n\n private async refreshData() {\n const box = await this._dashboardService.getAufgabeBox();\n\n if (box) {\n this.item = box;\n } else {\n this.item = Object.assign({}, this.item, {\n DataSource: [],\n Anzahl: 0,\n AnzahlGesamt: 0\n });\n }\n }\n}\n","module.exports = \" \";","import { IZitCardOptions, ZitCardTyp } from \"./../../../zit-ui/elements/zit-card/zit-card-options\";\nimport { autoinject } from \"aurelia-framework\";\nimport { SucheService } from \"../../services/export\";\n\n@autoinject\nexport class DashboardBoxBewerbung {\n constructor(\n private sucheService: SucheService\n ) { }\n\n item: any;\n\n bewerbungCardOptions: IZitCardOptions = {\n isClickEnabled: true,\n useDefaultBindings: true,\n typ: ZitCardTyp.Kompakt\n };\n\n activate(item) {\n this.item = item;\n }\n\n onBoxHeaderClicked() {\n this.sucheService.activateSuche(\"TIP.ZIT.Business.Entities.Objekte.Bewerbungen.Bewerbung\");\n }\n}\n","module.exports = \" \";","\nimport { autoinject } from \"aurelia-framework\";\nimport { SucheService, StartupService } from '../../services/export';\nimport { BenutzerTyp } from '../../enumerations/export';\nimport { IZitCardOptions, ZitCardTyp } from '../../../zit-ui/elements/zit-card/export';\n\n@autoinject\nexport class DashboardBoxEinsatz {\n constructor(\n private sucheService: SucheService,\n private startupSerive: StartupService\n ) {\n const natuerlichePerson = this.startupSerive.startupInfo.Benutzer.Benutzertyp == BenutzerTyp.NatuerlichePerson;\n\n this.isNatuerlichePerson = natuerlichePerson;\n }\n\n item: any;\n isNatuerlichePerson: boolean;\n\n einsatzCardOptions: IZitCardOptions = {\n isClickEnabled: true,\n useDefaultBindings: true,\n typ: ZitCardTyp.Kompakt\n };\n\n activate(item) {\n this.item = item;\n }\n\n onBoxHeaderClicked() {\n this.sucheService.activateSuche(\"TIP.ZIT.Business.Entities.Objekte.Disposition.DispoPlanstellePersonenzuteilung\");\n }\n}\n","module.exports = \" \";","import { IZitCardOptions, ZitCardTyp } from \"./../../../zit-ui/elements/zit-card/zit-card-options\";\nimport { autoinject } from \"aurelia-framework\";\nimport { SucheService } from \"../../services/export\";\n\n@autoinject\nexport class DashboardBoxEventTeilnehmer {\n constructor(\n private sucheService: SucheService\n ) { }\n\n item: any;\n\n eventTeilnehmerCardOptions: IZitCardOptions = {\n isClickEnabled: true,\n useDefaultBindings: true,\n typ: ZitCardTyp.Kompakt\n };\n\n activate(item) {\n this.item = item;\n }\n\n onBoxHeaderClicked() {\n this.sucheService.activateSuche(\"TIP.ZIT.Business.Entities.Objekte.Events.EventTeilnehmer\");\n }\n}\n","module.exports = \" \";","import { IZitCardOptions, ZitCardTyp } from \"./../../../zit-ui/elements/zit-card/zit-card-options\";\nimport { autoinject } from \"aurelia-framework\";\nimport { SucheService } from \"../../services/export\";\n\n@autoinject\nexport class DashboardBoxEvent {\n constructor(\n private sucheService: SucheService\n ) { }\n\n item: any;\n\n eventCardOptions: IZitCardOptions = {\n isClickEnabled: true,\n useDefaultBindings: true,\n typ: ZitCardTyp.Kompakt\n };\n\n activate(item) {\n this.item = item;\n }\n\n onBoxHeaderClicked() {\n this.sucheService.activateSuche(\"TIP.ZIT.Business.Entities.Objekte.Events.EventZeitraum\");\n }\n}\n","module.exports = \" \";","import { autoinject } from \"aurelia-framework\";\n\n@autoinject\nexport class DashboardBoxHtml {\n item: any;\n\n activate(item) {\n this.item = item;\n }\n}\n","module.exports = \" \";","import { autoinject } from \"aurelia-framework\";\nimport { SucheService } from \"../../services/export\";\nimport { IZitCardOptions, ZitCardTyp } from \"./../../../zit-ui/elements/zit-card/zit-card-options\";\n\n@autoinject\nexport class DashboardBoxInformation {\n constructor(\n private sucheService: SucheService\n ) { }\n \n item: any;\n\n informationCardOptions: IZitCardOptions = {\n isClickEnabled: true,\n useDefaultBindings: true,\n typ: ZitCardTyp.Kompakt\n };\n\n activate(item) {\n this.item = item;\n }\n\n onBoxHeaderClicked() {\n this.sucheService.activateSuche(\"TIP.ZIT.Business.Entities.Objekte.Informationen.Information\");\n }\n}\n","module.exports = \" \";","\nimport { autoinject } from \"aurelia-framework\";\nimport { GlobalizationService } from '../../../framework/base/export';\n\n@autoinject\nexport class DashboardBoxKennzahlen {\n constructor(\n private globalizationService: GlobalizationService\n ) {}\n\n item: any;\n kennzahlenBarGaugeOptions: DevExpress.viz.gauges.dxBarGaugeOptions = {}\n\n activate(item) {\n this.item = item;\n \n this.kennzahlenBarGaugeOptions = {\n values : [\n item.DataSource.Aufruf5Wochen,\n item.DataSource.Aufruf1Woche,\n item.DataSource.Mobil5Wochen\n ],\n endValue: (item.DataSource.Aufruf5Wochen * 1.07),\n startValue: 0,\n palette: \"Office\",\n tooltip: {\n enabled: true,\n customizeTooltip: (e) => {\n return { \n text: e.index == 0 \n ? 'Seitenaufrufe innerhalb der letzten fünf Wochen' \n : e.index == 1\n ? 'Seitenaufrufe innerhalb der letzten Woche'\n : e.index == 2\n ? 'mobile Seitenaufrufe in den letzten fünf Wochen'\n :''\n };\n }\n }\n }\n }\n}\n","module.exports = \" \";","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.id, \".z--dashboard-kennzahlen-container {\\n display: flex;\\n flex-direction: column;\\n border: 1px solid #dedede;\\n min-height: 400px;\\n position: relative;\\n margin: 12px;\\n background-color: white;\\n}\\n.z--dashboard-kennzahlen-container .z--dashboard-kennzahlen-header {\\n display: flex;\\n font-weight: bold;\\n height: 40px;\\n width: 100%;\\n font-size: 16px;\\n border-bottom: 1px solid #dedede;\\n justify-content: flex-start;\\n align-items: center;\\n background-color: #f2f2f2;\\n}\\n.z--dashboard-kennzahlen-container .z--dashboard-kennzahlen-header > span {\\n margin-left: 12px;\\n}\\n.z--dashboard-kennzahlen-container .z--dashboard-kennzahlen-content {\\n display: flex;\\n flex-direction: column;\\n}\\n.z--dashboard-kennzahlen-container .z--dashboard-kennzahlen-content .z--dashboard-kennzahlen-kennzahl-container {\\n display: flex;\\n justify-content: space-evenly;\\n flex-direction: column;\\n}\\n.z--dashboard-kennzahlen-container .z--dashboard-kennzahlen-content .z--dashboard-kennzahlen-kennzahl-container .z--dashboard-kennzahlen-mit-label-block {\\n display: flex;\\n align-items: center;\\n}\\n.z--dashboard-kennzahlen-container .z--dashboard-kennzahlen-content .z--dashboard-kennzahlen-kennzahl-container .z--dashboard-kennzahlen-kennzahl {\\n display: flex;\\n justify-content: center;\\n align-items: center;\\n height: 40px;\\n min-width: 40px;\\n margin: 3px 12px;\\n border-radius: 50%;\\n padding: 0 5px;\\n border: 1px solid grey;\\n color: black;\\n}\\n.z--dashboard-kennzahlen-container .z--dashboad-kennzahlen-hinweis {\\n margin: 12px;\\n font-size: 11px;\\n}\\n@media (max-width: 768px) {\\n .z--dashboard-kennzahlen-container {\\n margin: 6px 12px;\\n }\\n}\\n\", \"\"]);\n// Exports\nmodule.exports = exports;\n","import { IZitCardOptions, ZitCardTyp } from './../../../zit-ui/elements/zit-card/zit-card-options';\n\nimport { autoinject } from \"aurelia-framework\";\nimport { SucheService } from '../../services/export';\n\n@autoinject\nexport class DashboardBoxStelleninserat {\n constructor(\n private sucheService: SucheService\n ) { }\n \n item: any;\n\n stelleninseratCardOptions: IZitCardOptions = {\n isClickEnabled: true,\n useDefaultBindings: true,\n typ: ZitCardTyp.Kompakt\n };\n\n activate(item) {\n this.item = item;\n }\n\n onBoxHeaderClicked() {\n this.sucheService.activateSuche(\"TIP.ZIT.Business.Entities.Objekte.Stelleninserate.Stelleninserat\");\n }\n}\n","module.exports = \" \";","import { autoinject } from \"aurelia-framework\";\nimport { SucheService } from \"../../services/export\";\nimport { IZitCardOptions, ZitCardTyp } from \"./../../../zit-ui/elements/zit-card/zit-card-options\";\n\n@autoinject\nexport class DashboardBoxTermin {\n constructor(\n private sucheService: SucheService\n ) { }\n \n item: any;\n\n terminCardOptions: IZitCardOptions = {\n isClickEnabled: true,\n useDefaultBindings: true,\n typ: ZitCardTyp.Kompakt\n };\n\n activate(item) {\n this.item = item;\n }\n\n onBoxHeaderClicked() {\n this.sucheService.activateSuche(\"TIP.ZIT.Business.Entities.Objekte.Termine.Termin\");\n }\n}\n","module.exports = \" \";","import { EventAggregator } from 'aurelia-event-aggregator';\nimport { Benutzereinstellungen } from './../benutzereinstellungen/benutzereinstellungen';\nimport { DashboardButtonAktionTyp } from './../../enumerations/dashboard-button-aktion-typ';\nimport { NachrichtService } from './../../services/nachricht-service';\nimport { autoinject, bindable, observable, Scope } from \"aurelia-framework\";\nimport { LocationService } from '../../../framework/base/export';\nimport { SucheService } from '../../services/export';\nimport { FormUtilsService } from '../../../framework/forms/export';\n\n@autoinject\nexport class DashboardButton {\n constructor(\n private nachrichtService: NachrichtService,\n private locationService: LocationService,\n private sucheService: SucheService,\n private eventAggregator: EventAggregator,\n private formUtilsService: FormUtilsService\n ) { }\n\n scope: Scope;\n\n @bindable item: any;\n\n bind(bindingContext, overrideContext) {\n this.scope = {\n bindingContext,\n overrideContext\n };\n }\n\n onDashboardButtonClicked() {\n switch (this.item.AktionTyp) {\n case 0: {\n return this.locationService.goTo({\n url: `${this.item.Aktion}`,\n replace: false,\n currentViewModel: this.formUtilsService.getMainForm(this.scope)\n });\n }\n case 1: {\n return this.locationService.goTo({\n url: `${this.item.Aktion}`,\n clearStack: true\n });\n }\n case 2: {\n return window.open(this.item.Aktion, \"_blank\");\n }\n case 3: {\n switch (this.item.Aktion) {\n case \"Benutzereinstellungen\": {\n this.eventAggregator.publish(\"benutzereinstellungen:show\");\n break;\n }\n default: {\n break;\n }\n }\n break;\n }\n case 4: {\n this.sucheService.activateSuche(this.item.Aktion)\n }\n default:\n break;\n }\n }\n}\n","module.exports = \" \";","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.id, \".z--dashboard-button-container {\\n display: flex;\\n border-radius: 12px;\\n border: 1px solid #dedede;\\n height: 140px;\\n position: relative;\\n margin: 12px;\\n background-color: white;\\n justify-content: center;\\n text-align: center;\\n word-break: break-word;\\n}\\n.z--dashboard-button-container .z--dashboard-button-icon {\\n height: 65%;\\n margin-top: 18px;\\n}\\n.z--dashboard-button-container .z--dashboard-button-icon > i {\\n color: #898989;\\n font-size: 5em;\\n}\\n.z--dashboard-button-container .z--dashboard-button-text {\\n height: 35%;\\n display: flex;\\n justify-content: center;\\n font-weight: bold;\\n}\\n.z--dashboard-button-container .z--dashboard-button-disabled-text {\\n position: absolute;\\n top: 0;\\n bottom: 0;\\n left: 0;\\n right: 0;\\n height: 100%;\\n display: flex;\\n align-items: center;\\n justify-content: center;\\n border-radius: 12px;\\n}\\n.z--dashboard-button-container .z--dashboard-button-disabled-text .z--dashboard-button-disabled-text-tooltip {\\n visibility: hidden;\\n color: white;\\n padding: 6px;\\n}\\n.z--dashboard-button-container .z--dashboard-button-disabled-text:hover {\\n transition: 0.3s;\\n background-color: rgba(0, 0, 0, 0.6);\\n}\\n.z--dashboard-button-container .z--dashboard-button-disabled-text:hover .z--dashboard-button-disabled-text-tooltip {\\n visibility: visible;\\n}\\n.z--dashboard-button-container .z--dashboard-button-badge-right-top {\\n position: absolute;\\n display: flex;\\n justify-content: center;\\n align-items: center;\\n min-width: 22px;\\n padding: 0 4px;\\n height: 22px;\\n border-radius: 18px;\\n color: white;\\n background-color: #2980b9;\\n right: 57px;\\n top: 16px;\\n}\\n.z--dashboard-button-container .z--dashboard-button-badge-right-bottom {\\n position: absolute;\\n display: flex;\\n justify-content: center;\\n align-items: center;\\n min-width: 22px;\\n padding: 0 4px;\\n height: 22px;\\n border-radius: 18px;\\n color: white;\\n background-color: #c0392b;\\n right: 57px;\\n top: 65px;\\n}\\n.z--dashboard-button-container .z--dashboard-button-badge-whatsapp {\\n position: absolute;\\n display: flex;\\n justify-content: center;\\n align-items: center;\\n min-width: 22px;\\n height: 22px;\\n border-radius: 18px;\\n color: #c0392b;\\n background-color: white;\\n right: 70px;\\n top: 64px;\\n}\\n@media (max-width: 768px) {\\n .z--dashboard-button-container {\\n margin: 6px;\\n }\\n .z--dashboard-button-container .z--dashboard-button-badge-right-top {\\n right: 48px;\\n top: 17px;\\n }\\n .z--dashboard-button-container .z--dashboard-button-badge-right-bottom {\\n right: 48px;\\n top: 69px;\\n }\\n .z--dashboard-button-container .z--dashboard-button-badge-whatsapp {\\n right: 62px;\\n top: 66px;\\n }\\n .z--dashboard-button-container .z--dashboard-button-icon {\\n height: 60%;\\n }\\n .z--dashboard-button-container .z--dashboard-button-text {\\n height: 40%;\\n }\\n}\\n\", \"\"]);\n// Exports\nmodule.exports = exports;\n","import { KontaktpersonTyp } from \"./../../enumerations/kontaktperson-typ\";\nimport { BrowserService } from \"./../../../framework/base/services/browser-service\";\nimport { Geschlecht } from \"./../../enumerations/geschlecht\";\nimport { StartupService } from \"./../../services/startup-service\";\nimport { ScopeContainer } from \"./../../../framework/base/classes/scope-container\";\nimport { RestService } from \"./../../../framework/base/services/rest-service\";\nimport { autoinject, PLATFORM, bindable, computedFrom } from \"aurelia-framework\";\nimport { FormBase } from \"../../../framework/forms/classes/form-base\";\nimport { AnredeformTyp } from \"../../interfaces/export\";\nimport { DashboardService } from \"../../services/export\";\n\nPLATFORM.moduleName(\"zit/elements/dashboard-box-bewerbung/dashboard-box-bewerbung\");\nPLATFORM.moduleName(\"zit/elements/dashboard-box-einsatz/dashboard-box-einsatz\");\nPLATFORM.moduleName(\"zit/elements/dashboard-box-aufgabe/dashboard-box-aufgabe\");\nPLATFORM.moduleName(\"zit/elements/dashboard-box-stelleninserat/dashboard-box-stelleninserat\");\nPLATFORM.moduleName(\"zit/elements/dashboard-box-termin/dashboard-box-termin\");\nPLATFORM.moduleName(\"zit/elements/dashboard-box-html/dashboard-box-html\");\nPLATFORM.moduleName(\"zit/elements/dashboard-box-event/dashboard-box-event\");\nPLATFORM.moduleName(\"zit/elements/dashboard-box-event-teilnehmer/dashboard-box-event-teilnehmer\");\nPLATFORM.moduleName(\"zit/elements/dashboard-box-information/dashboard-box-information\");\nPLATFORM.moduleName(\"zit/elements/dashboard-box-kennzahlen/dashboard-box-kennzahlen\");\n\n@autoinject\nexport class DashboardContainer {\n constructor(\n private _restService: RestService,\n private _startupService: StartupService,\n private _browserService: BrowserService,\n private _dashboardService: DashboardService\n ) {\n const browsermobile = this._browserService.isMobile;\n this.isBrowserMobile = browsermobile;\n }\n\n @bindable mainForm: FormBase;\n\n dashboardInfoContainer: any;\n scopeContainer: ScopeContainer;\n subHeadline: string;\n isBrowserMobile: boolean;\n\n @computedFrom(\"dashboardInfoContainer\")\n get headline(): string {\n const benutzer = this._startupService.startupInfo.Benutzer;\n\n if (this.dashboardInfoContainer && this.dashboardInfoContainer.Anredeform == AnredeformTyp.Du) {\n return `Hallo ${benutzer.Vorname}!`\n } else {\n let anrede = \"\";\n\n switch (benutzer.Geschlecht) {\n case Geschlecht.Maennlich: {\n if(benutzer.KontaktpersonTyp == KontaktpersonTyp.NatuerlichePerson) {\n anrede = \"Herr\";\n break;\n }\n }\n case Geschlecht.Weiblich: {\n if(benutzer.KontaktpersonTyp == KontaktpersonTyp.NatuerlichePerson) {\n anrede = \"Frau\";\n break;\n }\n }\n case Geschlecht.Maennlich: {\n if(benutzer.KontaktpersonTyp == KontaktpersonTyp.Team) {\n anrede = \"Team\";\n break;\n }\n }\n case Geschlecht.Weiblich: {\n if(benutzer.KontaktpersonTyp == KontaktpersonTyp.Team) {\n anrede = \"Team\";\n break;\n }\n }\n }\n return `Guten Tag ${anrede} ${benutzer.Nachname}!`\n }\n }\n\n bind() {\n this.scopeContainer = new ScopeContainer({\n bindingContext: this,\n overrideContext: null\n });\n\n this.loadDashboardInfo();\n }\n\n async loadDashboardInfo() {\n this.dashboardInfoContainer = await this._dashboardService.getDashboardInfo();\n this.subHeadline = this.dashboardInfoContainer.SubHeadline;\n }\n}\n","module.exports = \" \";","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.id, \".z--dashboard-container {\\n display: flex;\\n flex-direction: row;\\n flex-wrap: wrap;\\n margin: -6px;\\n}\\n.z--dashboard-container .z--dashboard-container-header {\\n display: flex;\\n flex-direction: column;\\n width: 100%;\\n margin-left: 12px;\\n margin-bottom: 24px;\\n}\\n.z--dashboard-container .z--dashboard-header {\\n font-size: 35px;\\n padding-bottom: 20px;\\n padding-top: 12px;\\n}\\n.z--dashboard-container .z--dashboard-subheadline {\\n font-size: 16px;\\n}\\n.z--dashboard-container .z--dashboard-button-box-container-left {\\n width: 50%;\\n}\\n.z--dashboard-container .z--dashboard-button-box-container-left .z--dashboard-button-container-left {\\n display: flex;\\n flex-direction: row;\\n flex-wrap: wrap;\\n justify-content: flex-start;\\n}\\n.z--dashboard-container .z--dashboard-button-box-container-left .z--dashboard-button-container-left > * {\\n width: 50%;\\n}\\n.z--dashboard-container .z--dashboard-button-box-container-left .z--dashboard-box-container-left {\\n display: flex;\\n flex-wrap: wrap;\\n flex-direction: row;\\n}\\n.z--dashboard-container .z--dashboard-button-box-container-left .z--dashboard-box-container-left > * {\\n width: 100%;\\n}\\n.z--dashboard-container .z--dashboard-button-box-container-left dashboard-button:hover {\\n cursor: pointer;\\n}\\n.z--dashboard-container .z--dashboard-button-box-container-right {\\n width: 50%;\\n}\\n.z--dashboard-container .z--dashboard-button-box-container-right .z--dashboard-box-container-right {\\n display: flex;\\n flex-wrap: wrap;\\n flex-direction: row;\\n}\\n.z--dashboard-container .z--dashboard-button-box-container-right .z--dashboard-box-container-right > * {\\n width: 100%;\\n}\\n.z--dashboard-container .z--dashboard-button-box-container-right .z--dashboard-button-container-right {\\n display: flex;\\n flex-direction: row;\\n flex-wrap: wrap;\\n justify-content: flex-start;\\n}\\n.z--dashboard-container .z--dashboard-button-box-container-right .z--dashboard-button-container-right > * {\\n width: 50%;\\n}\\n.z--dashboard-container .z--dashboard-button-box-container-right dashboard-button:hover {\\n cursor: pointer;\\n}\\n.z--dashboard-box-container {\\n display: flex;\\n flex-direction: column;\\n border: 1px solid #dedede;\\n position: relative;\\n margin: 12px;\\n background-color: white;\\n}\\n.z--dashboard-box-container .z--dashboard-box-header {\\n display: flex;\\n font-weight: bold;\\n height: 40px;\\n width: 100%;\\n font-size: 16px;\\n border-bottom: 1px solid #dedede;\\n justify-content: flex-start;\\n align-items: center;\\n background-color: #f2f2f2;\\n}\\n.z--dashboard-box-container .z--dashboard-box-header > span {\\n margin-left: 12px;\\n}\\n.z--dashboard-box-container .z--dashboard-box-card-container > div {\\n margin: 12px;\\n}\\n.z--dashboard-box-container .z--dashboard-box-header:not(.z--dashboard-box-header-not-clickable):hover {\\n cursor: pointer;\\n}\\n@media (max-width: 768px) {\\n .z--dashboard-container {\\n flex-direction: column;\\n }\\n .z--dashboard-container .z--dashboard-container-header {\\n margin-left: 6px;\\n margin-right: 6px;\\n width: auto;\\n }\\n .z--dashboard-container .z--dashboard-button-box-container-left {\\n width: 100%;\\n }\\n .z--dashboard-container .z--dashboard-button-box-container-left .z--dashboard-button-mobil-container-left {\\n display: flex;\\n flex-direction: row;\\n flex-wrap: wrap;\\n justify-content: flex-start;\\n width: 100%;\\n }\\n .z--dashboard-container .z--dashboard-button-box-container-left .z--dashboard-button-mobil-container-left > * {\\n width: 50%;\\n }\\n .z--dashboard-container .z--dashboard-button-box-container-left .z--dashboard-button-mobil-container-right {\\n display: flex;\\n flex-direction: row;\\n flex-wrap: wrap;\\n justify-content: flex-start;\\n width: 100%;\\n }\\n .z--dashboard-container .z--dashboard-button-box-container-left .z--dashboard-button-mobil-container-right > * {\\n width: 50%;\\n }\\n .z--dashboard-container .z--dashboard-button-box-container-right {\\n width: 100%;\\n }\\n .z--dashboard-container .z--dashboard-button-box-container-right .z--dashboard-box-container-right {\\n margin: -6px;\\n }\\n .z--dashboard-container .z--dashboard-button-box-container-right .z--dashboard-box-container-left {\\n margin: -6px;\\n }\\n}\\n\", \"\"]);\n// Exports\nmodule.exports = exports;\n","import { autoinject } from \"aurelia-framework\";\n\n@autoinject\nexport class DateiAuswaehlen {\n constructor(\n private _element: Element\n ) {}\n\n input: HTMLInputElement;\n\n onMakePhoto(multiple: boolean = false, asGallery: boolean = false) {\n this.onSelect(\"camera\", multiple, asGallery);\n }\n onMakeVideo(multiple: boolean = false, asGallery: boolean = false) {\n this.onSelect(\"video\", multiple, asGallery);\n }\n onOpenGallery(multiple: boolean = false) {\n this.onSelect(\"camera\", multiple, true);\n }\n onOpenFiles(multiple: boolean = false) {\n this.onSelect(\"file\", multiple, false);\n }\n\n async onFileChange(e) {\n const files = e.target.files;\n if (!files) {\n return;\n }\n if (!files.length) {\n return;\n }\n\n this.dispatchEvent(files);\n }\n\n private onSelect(type: \"camera\" | \"file\" | \"video\" = \"camera\", multiple: boolean, asGallery: boolean) {\n this.input.value = null;\n const input = this._element.querySelector(\"input\");\n\n input.removeAttribute(\"capture\");\n input.removeAttribute(\"accept\");\n input.removeAttribute(\"multiple\");\n\n if (type == \"camera\") {\n input.setAttribute(\"accept\", \"image/*\");\n }\n if (type == \"video\") {\n input.setAttribute(\"accept\", \"video/*\");\n }\n\n if (!asGallery) {\n if (type == \"camera\") {\n input.setAttribute(\"capture\", \"camera\");\n }\n if (type == \"video\") {\n input.setAttribute(\"capture\", \"camcorder\");\n }\n }\n\n if (multiple) {\n input.setAttribute(\"multiple\", \"true\");\n }\n\n input.click();\n }\n private dispatchEvent(files: File[]) {\n this._element.dispatchEvent(new CustomEvent(\n \"on-datei-ausgewaehlt\", {\n bubbles: true,\n detail: {\n files: files\n }\n }\n ));\n }\n}","module.exports = \"\";","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.id, \"datei-auswaehlen {\\n display: block;\\n position: relative;\\n overflow: hidden;\\n}\\ndatei-auswaehlen input {\\n position: absolute;\\n top: -300px;\\n left: -300px;\\n}\\n\", \"\"]);\n// Exports\nmodule.exports = exports;\n","import { autoinject } from \"aurelia-framework\";\nimport { SimpleWidgetCreatorService } from '../../../framework/forms/export';\nimport { ScopeContainer, FileService, BrowserService } from '../../../framework/base/export';\nimport { IdxPopupComponent, IdxGalleryComponent } from '../../interfaces/export';\nimport { IDatei } from '../datei/datei';\n\n@autoinject\nexport class DateiGalerieViewer {\n private _options: IDateiGalerieViewerShowOptions;\n\n constructor(\n private _simpleWidgetCreatorService: SimpleWidgetCreatorService,\n private _fileService: FileService,\n private _browserService: BrowserService\n ) {}\n\n scopeContainer: ScopeContainer;\n\n popupTitel: string;\n dateiList: IDatei[];\n\n popup: IdxPopupComponent;\n popupOptions: DevExpress.ui.dxPopupOptions = {\n contentTemplate: \"contentTemplate\",\n width: this._browserService.isMobile ? \"100%\" : \"75vw\",\n height: this._browserService.isMobile ? \"100%\" : \"75vh\",\n onHidden: () => {\n this.dateiList = [];\n this.gallery.instance.option(\"dataSource\", []);\n }\n };\n\n galleryItemInfo: any = {};\n\n gallery: IdxGalleryComponent;\n galleryOptions: DevExpress.ui.dxGalleryOptions = {\n itemTemplate: \"itemTemplate\",\n height: \"100%\",\n width: \"100%\",\n showIndicator: false,\n showNavButtons: true,\n onContentReady: (ev) => {\n const selectedItem = ev.component.option(\"selectedItem\");\n if (!selectedItem) {\n return;\n }\n\n this.checkRender(selectedItem);\n },\n onItemRendered: (ev) => {\n this.galleryItemInfo[ev.itemData.Id || ev.itemData.DMSLink] = {\n data: ev.itemData,\n element: ev.itemElement,\n rendered: false\n }\n },\n onOptionChanged: (ev) => {\n if (ev.name == \"selectedItem\" && ev.value) {\n this.checkRender(ev.value);\n }\n }\n };\n\n scrollOptions: DevExpress.ui.dxScrollViewOptions = {\n direction: \"horizontal\"\n };\n\n bind() {\n this.scopeContainer = new ScopeContainer({\n bindingContext: this,\n overrideContext: null\n });\n\n this._simpleWidgetCreatorService.updatePopupOptions({\n idToolbar: \"dateiGalerieViewerPopupToolbar\",\n caption: \"datei-galerie-viewer.popup-titel\",\n options: this.popupOptions,\n commands: [],\n scopeContainer: this.scopeContainer\n });\n }\n\n async show(options: IDateiGalerieViewerShowOptions) {\n this._options = options;\n\n this.popupTitel = options.popupTitel;\n this.galleryItemInfo = {};\n this.dateiList = options.dateiList;\n \n await this.popup.instance.show();\n this.popup.instance.repaint();\n\n this.gallery.instance.option({\n animationEnabled: false,\n dataSource: this.dateiList,\n selectedIndex: 0\n });\n\n this.gallery.instance.option(\"animationEnabled\", true);\n }\n\n async onBildClick(bild) {\n const indexOf = this.dateiList.indexOf(bild);\n if (indexOf < 0) {\n return;\n }\n\n this.gallery.instance.goToItem(indexOf, false);\n }\n\n private checkRender(datei: IDatei) {\n const galleryItem: IGalleryItem = this.galleryItemInfo[datei.Id || datei.DMSLink];\n if (!galleryItem || galleryItem.rendered) {\n return;\n }\n\n const container: HTMLDivElement = galleryItem.element.querySelector(\".datei-galerie-item\");\n const image = container.firstElementChild;\n const url = this._fileService.getInlineUrl(galleryItem.data.DMSLinkDownload || galleryItem.data.DMSLink);\n image.src = url;\n \n galleryItem.rendered = true;\n }\n}\n\nexport interface IDateiGalerieViewerShowOptions {\n popupTitel: string;\n dateiList?: IDatei[];\n}\ninterface IGalleryItem {\n data: any;\n element: Element;\n rendered: boolean;\n}","module.exports = \" \";","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.id, \".datei-galerie-viewer__container {\\n height: 100%;\\n display: flex;\\n flex-direction: column;\\n padding: 12px;\\n}\\n.datei-galerie-viewer__container > * + * {\\n margin-top: 12px;\\n}\\n.datei-galerie-viewer__slider {\\n flex-grow: 1;\\n position: relative;\\n}\\n.datei-galerie-viewer__slider > * {\\n position: absolute;\\n top: 0;\\n right: 0;\\n bottom: 0;\\n left: 0;\\n}\\n.datei-galerie-gallery dx-template {\\n height: 100%;\\n}\\n.datei-galerie-item {\\n width: 100%;\\n height: 100%;\\n display: flex;\\n align-items: center;\\n justify-content: center;\\n}\\n.datei-galerie-item img {\\n max-height: 100%;\\n max-width: 100%;\\n}\\n.datei-galerie-viewer__bilder {\\n display: flex;\\n}\\n.datei-galerie-viewer__bilder > div {\\n width: 100px;\\n height: 100px;\\n background-position: center;\\n background-repeat: no-repeat;\\n background-size: contain;\\n border: 1px solid #ddd;\\n position: relative;\\n flex-shrink: 0;\\n flex-grow: 0;\\n background-color: #F5F5F5;\\n cursor: pointer;\\n}\\n.datei-galerie-viewer__bilder > div + div {\\n margin-left: 6px;\\n}\\n\", \"\"]);\n// Exports\nmodule.exports = exports;\n","import { autoinject } from \"aurelia-framework\";\nimport { SimpleWidgetCreatorService, ICommandData } from '../../../framework/forms/export';\nimport { ScopeContainer, FileService } from '../../../framework/base/export';\nimport { IdxPopupComponent } from '../../interfaces/export';\nimport { DateiAuswaehlen } from '../datei-auswaehlen/datei-auswaehlen';\nimport { IDatei } from '../datei/datei';\nimport { IZitTagOptions } from '../../../zit-ui/elements/zit-tag/zit-tag-options';\n\n@autoinject\nexport class DateiGalerie {\n private _options: IDateiGalerieShowOptions;\n private _dateiList: IDatei[];\n\n constructor(\n private _simpleWidgetCreatorService: SimpleWidgetCreatorService,\n private _fileService: FileService\n ) {}\n\n scopeContainer: ScopeContainer;\n dateiAuswaehlen: DateiAuswaehlen;\n \n fotoCommand: ICommandData = {\n id: \"kameraCommand\",\n idCategory: \"$start\",\n icon: \"fas fa-camera\",\n sortIndex: 2000,\n execute: () => {\n this.dateiAuswaehlen.onMakePhoto(true, true);\n }\n };\n videoCommand: ICommandData = {\n id: \"videoCommand\",\n idCategory: \"$start\",\n icon: \"fas fa-video\",\n sortIndex: 2001,\n execute: () => {\n this.dateiAuswaehlen.onMakeVideo(true, true);\n }\n };\n saveCommand: ICommandData = {\n id: \"saveCommand\",\n idCategory: \"$start\",\n icon: \"fas fa-check\",\n sortIndex: 3000,\n execute: () => {\n this.save();\n }\n };\n\n popup: IdxPopupComponent;\n popupOptions: DevExpress.ui.dxPopupOptions = {\n contentTemplate: \"contentTemplate\",\n width: \"500px\",\n height: \"auto\"\n };\n\n bezeichnung: string;\n galerieTextBoxOptions: DevExpress.ui.dxTextBoxOptions = {\n maxLength: 100,\n bindingOptions: {\n value: \"bezeichnung\"\n }\n };\n\n tagItem = {\n text: \"\"\n }\n dateiTagOptions: IZitTagOptions = {\n icon: {\n text: \"D\"\n },\n textExpression: \"item.text\"\n }\n\n bind() {\n this.scopeContainer = new ScopeContainer({\n bindingContext: this,\n overrideContext: null\n });\n\n this._simpleWidgetCreatorService.updatePopupOptions({\n idToolbar: \"dateiGaleriePopupToolbar\",\n caption: \"datei-galerie.galerie\",\n options: this.popupOptions,\n commands: [this.fotoCommand, this.videoCommand, this.saveCommand],\n scopeContainer: this.scopeContainer\n });\n }\n\n show(options: IDateiGalerieShowOptions) {\n this._options = options;\n this.bezeichnung = options.bezeichnung;\n this._dateiList = options.dateiList || [];\n this.refresh();\n\n this.popup.instance.show();\n }\n\n save() {\n if (!this.bezeichnung) {\n DevExpress.ui.notify(\n \"Bezeichnung ist ein Pflichtfeld\",\n \"error\",\n 3000\n );\n\n return;\n }\n\n this._dateiList.forEach(d => d.Gruppe = this.bezeichnung);\n this._options.callback(this._dateiList);\n this.popup.instance.hide();\n }\n\n async onDateiAusgewaehlt(e: CustomEvent) {\n for (let file of e.detail.files) {\n const dmsLink = await this._fileService.upload(file);\n if (!dmsLink) {\n return;\n }\n\n this._dateiList.push({ DMSLink: dmsLink, Dateiname: file.name });\n }\n \n this.refresh();\n }\n\n private refresh() {\n this.tagItem.text = this._dateiList.length == 0\n ? \"Keine Elemente vorhanden\"\n : (this._dateiList.length == 1\n ? \"1 Element vorhanden\"\n : `${this._dateiList.length} Elemente vorhanden`);\n }\n}\n\nexport interface IDateiGalerieShowOptions {\n bezeichnung?: string;\n dateiList?: IDatei[];\n\n callback: {(dateiList: IDatei[]): void};\n}","module.exports = \"\";","import { autoinject, bindable, TaskQueue, observable, computedFrom } from \"aurelia-framework\";\nimport { IZitTagOptions } from '../../../zit-ui/elements/zit-tag/zit-tag-options';\nimport { FileService, BrowserService } from '../../../framework/base/export';\nimport { DateiService } from '../../services/datei-service';\nimport { DateiAuswaehlen } from '../datei-auswaehlen/datei-auswaehlen';\nimport { DateiGalerie } from '../datei-galerie/datei-galerie';\nimport { DateiGalerieViewer } from '../datei-galerie-viewer/datei-galerie-viewer';\nimport { IdxScrollViewComponent } from '../../interfaces/export';\nimport { IframePopupService } from '../../services/iframe-popup-service';\n\n@autoinject\nexport class Datei {\n constructor(\n private _element: Element,\n private _taskQueue: TaskQueue,\n private _fileService: FileService,\n private _dateiService: DateiService,\n private _iframePopupService: IframePopupService,\n private _browserService: BrowserService\n ) {\n this.isMobile = _browserService.isMobile;\n }\n\n isMobile: boolean;\n\n @bindable @observable dateiList: IDatei[];\n @bindable isReadOnly: boolean;\n @bindable showToolbar: boolean;\n \n showBild: boolean;\n showDokument: boolean;\n\n dateiAuswaehlen: DateiAuswaehlen;\n dateiGalerie: DateiGalerie;\n dateiGalerieViewer: DateiGalerieViewer;\n\n bildList: IDatei[];\n dokumentList: IDatei[];\n\n dokumentTagOptions: IZitTagOptions = {\n icon: {\n faIcon: \"fas fa-paperclip\"\n },\n textExpression: \"item.Dateiname\",\n onClick: (e, data: IDatei) => {\n e.stopPropagation();\n\n if (data[\"_IsGruppe\"]) {\n this.dateiGalerieViewer.show({\n popupTitel: data.Dateiname,\n dateiList: data[\"_GruppeDateiList\"]\n });\n } else {\n if (data.VideoUrl) {\n this._iframePopupService.popup.show({\n titel: data.Dateiname,\n src: `https://player.vimeo.com${data.VideoUrl}`,\n width: 400,\n height: 300,\n allow: \"autoplay; fullscreen\",\n allowFullScreen: true\n });\n } else {\n this._fileService.download(data.DMSLink);\n }\n }\n },\n onDeleteClick: (e, data) => {\n e.stopPropagation();\n\n const deleteDatei = (d) => {\n const index = this.dateiList.indexOf(d);\n if (index < 0) {\n return;\n }\n \n this.dateiList.splice(index, 1);\n this.dispatchDateiDelete(d.id);\n };\n\n if (data[\"_IsGruppe\"]) {\n const dataList: any[] = data[\"_GruppeDateiList\"];\n dataList.forEach(d => deleteDatei(d));\n } else {\n deleteDatei(data);\n }\n \n this.refresh();\n this.dispatchDateiListChanged();\n }\n };\n dokumentReadOnlyTagOptions: IZitTagOptions = {\n icon: {\n faIcon: \"fas fa-paperclip\"\n },\n textExpression: \"item.Dateiname\",\n onClick: (e, data: IDatei) => {\n e.stopPropagation();\n\n if (data[\"_IsGruppe\"]) {\n this.dateiGalerieViewer.show({\n popupTitel: data.Dateiname,\n dateiList: data[\"_GruppeDateiList\"]\n });\n } else {\n if (data.VideoUrl) {\n this._iframePopupService.popup.show({\n titel: data.Dateiname,\n src: `https://player.vimeo.com${data.VideoUrl}`,\n width: 400,\n height: 300,\n allow: \"autoplay; fullscreen\",\n allowFullScreen: true\n });\n } else {\n this._fileService.download(data.DMSLink);\n }\n }\n }\n }\n\n scroll: IdxScrollViewComponent;\n scrollOptions: DevExpress.ui.dxScrollViewOptions = {\n direction: \"horizontal\",\n height: \"0\"\n };\n\n get dokumentValidatedTagOptions(): IZitTagOptions {\n if (this.isReadOnly) {\n return this.dokumentReadOnlyTagOptions;\n } else {\n return this.dokumentTagOptions;\n }\n }\n @computedFrom(\"showToolbar\", \"isReadOnly\")\n get showToolbarValidated() {\n return this.showToolbar && !this.isReadOnly;\n }\n\n bind() {\n this.refresh();\n }\n\n dateiListChanged() {\n this.refresh();\n }\n\n refresh() {\n this.dateiList = this.dateiList || [];\n\n this.showBild = false;\n this.showDokument = false;\n this.bildList = [];\n this.dokumentList = [];\n\n const gruppeArr = {};\n\n for (let datei of this.dateiList) {\n if (datei.Gruppe) {\n if (!gruppeArr[datei.Gruppe]) {\n gruppeArr[datei.Gruppe] = [];\n }\n\n gruppeArr[datei.Gruppe].push(datei);\n } else if (this._dateiService.isBild(datei.Dateiname)) {\n this.showBild = true;\n this.bildList.push(datei);\n } else {\n this.showDokument = true;\n this.dokumentList.push(datei);\n }\n }\n\n for (let gruppeKey in gruppeArr) {\n const gruppe: Datei[] = gruppeArr[gruppeKey];\n\n const dummyDatei: IDatei = {\n Dateiname: `${gruppeKey} (${gruppe.length})`,\n DMSLink: null\n };\n dummyDatei[\"_IsGruppe\"] = true;\n dummyDatei[\"_GruppeDateiList\"] = gruppe;\n\n this.showDokument = true;\n this.dokumentList.push(dummyDatei);\n }\n\n this.scrollOptions.height = this.showBild ? \"100px\" : \"0\";\n if (this.scroll && this.scroll.instance) {\n this.scroll.setOption(this.scrollOptions);\n }\n\n this._taskQueue.queueMicroTask(() => {\n this._element.dispatchEvent(new CustomEvent(\n \"on-datei-refreshed\",\n {\n bubbles: true\n }\n ));\n });\n this._taskQueue.queueTask(() => {\n if (this.scroll && this.scroll.instance) {\n this.scroll.instance.update();\n }\n });\n }\n\n onCameraClick() {\n this.dateiAuswaehlen.onMakePhoto(true, true);\n }\n onVideoClick() {\n this.dateiAuswaehlen.onMakeVideo(true, true);\n }\n onDokumentClick() {\n this.dateiAuswaehlen.onOpenFiles(true);\n }\n onAddToGalerieClick(callback?: {(): void}) {\n this.dateiGalerie.show({\n callback: (dateiList) => {\n dateiList.forEach(d => {\n const datei = this.dateiList.find(dd => dd.DMSLink == d.DMSLink);\n if (datei) {\n datei.Gruppe = d.Gruppe;\n } else {\n this.dateiList.push(d);\n }\n });\n\n this.refresh();\n this.dispatchDateiListChanged();\n\n if (callback) {\n callback();\n }\n }\n });\n }\n onBildClick(e: Event, bild: IDatei) {\n e.stopPropagation();\n e.preventDefault();\n\n this._fileService.inline(bild.DMSLinkDownload || bild.DMSLink);\n }\n onDeleteBild(e: Event, bild: IDatei) {\n e.stopPropagation();\n e.preventDefault();\n\n const index = this.dateiList.indexOf(bild);\n if (index < 0) {\n return;\n }\n\n this.dateiList.splice(index, 1);\n this.refresh();\n this.dispatchDateiDelete(bild.Id);\n this.dispatchDateiListChanged();\n }\n async onDateiAusgewaehlt(e: CustomEvent) {\n for (let file of e.detail.files) {\n const dmsLink = await this._fileService.upload(file);\n if (!dmsLink) {\n return;\n }\n\n this.dateiList.push({ DMSLink: dmsLink, Dateiname: file.name });\n }\n \n this.refresh();\n this.dispatchDateiListChanged();\n }\n\n private dispatchDateiDelete(id: number) {\n if (!id) {\n return;\n }\n\n this._element.dispatchEvent(new CustomEvent(\n \"on-datei-deleted\", {\n bubbles: true,\n detail: {\n id: id\n }\n }\n ));\n }\n private dispatchDateiListChanged() {\n this._element.dispatchEvent(new CustomEvent(\n \"on-datei-list-changed\", {\n bubbles: true, \n detail: {\n dateiList: this.dateiList\n }\n }\n ));\n }\n}\n\nexport interface IDatei {\n Id?: number;\n DMSLink: string;\n DMSLinkDownload?: string;\n VideoUrl?: string;\n Dateiname: string;\n Gruppe?: string\n Exists?: boolean;\n}","module.exports = \" \";","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.id, \".datei__bilder {\\n display: flex;\\n}\\n.datei__bilder > div {\\n width: 100px;\\n height: 100px;\\n background-position: center;\\n background-repeat: no-repeat;\\n background-size: contain;\\n border: 1px solid #ddd;\\n position: relative;\\n flex-shrink: 0;\\n flex-grow: 0;\\n background-color: #F5F5F5;\\n cursor: pointer;\\n}\\n.datei__bilder > div + div {\\n margin-left: 6px;\\n}\\n.datei__bilder > div i {\\n position: absolute;\\n top: 3px;\\n right: 3px;\\n border-radius: 16px;\\n background-color: #aaa;\\n color: white;\\n padding: 3px 5px;\\n cursor: pointer;\\n}\\n.datei__bilder > div i:hover {\\n background-color: #444;\\n}\\n.datei__dokumente {\\n margin-bottom: -6px;\\n}\\n.datei__dokumente zit-tag {\\n display: inline-block;\\n margin-right: 6px;\\n margin-bottom: 6px;\\n}\\n.datei__splitter {\\n height: 6px;\\n}\\n.datei__toolbar {\\n display: flex;\\n margin-bottom: 6px;\\n}\\n.datei__toolbar > * + * {\\n margin-left: 6px;\\n}\\n\", \"\"]);\n// Exports\nmodule.exports = exports;\n","import { autoinject, bindable, bindingBehavior } from \"aurelia-framework\";\n\n@autoinject\nexport class Datenschutz {\n constructor() {}\n\n @bindable datenschutzList: any[];\n\n datenschutzCheckBoxOptions: DevExpress.ui.dxCheckBoxOptions = {\n text: \"\",\n onContentReady: (e) => {\n const container = e.element.querySelector(\".dx-checkbox-container\");\n\n const el = document.createElement(\"span\");\n el.className = \"dx-checkbox-text\";\n el.innerHTML = (e).model.bindingContext.datenschutz.Html;\n container.appendChild(el);\n\n el.addEventListener(\"click\", (e: Event) => {\n const target = e.target;\n if (target.tagName != \"A\") {\n return;\n }\n\n e.stopPropagation();\n });\n },\n bindingOptions: {\n value: \"datenschutz.IsBestaetigt\"\n }\n }\n\n hasAlleBestaetigt(): boolean {\n if (!this.datenschutzList) {\n return true;\n }\n\n for (let datenschutz of this.datenschutzList) {\n if (datenschutz.IsBestaetigt) {\n continue;\n }\n\n DevExpress.ui.notify(\n datenschutz.PflichtfeldText,\n \"error\",\n 3000\n );\n return false;\n }\n\n return true;\n }\n}","module.exports = \" \";","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.id, \".datenschutz__item:not(:first-child) {\\n margin-top: 6px;\\n}\\n.datenschutz__item .dx-checkbox-icon {\\n vertical-align: middle;\\n}\\n\", \"\"]);\n// Exports\nmodule.exports = exports;\n","import { IOptions } from './../../../framework/forms/widget-options/options';\nimport { ObjektInfoService } from './../../services/objekt-info-service';\nimport { LocationService } from './../../../framework/base/services/location-service';\nimport { SortOrderColumnEnum } from './../../../framework/forms/enums/sort-order-column-enum';\nimport { DxWidget } from './../../../framework/dx/elements/dx-widget';\nimport { observable } from 'aurelia-framework';\nimport { RestService } from './../../../framework/base/services/rest-service';\nimport { autoinject, Scope, OverrideContext, bindable, computedFrom } from 'aurelia-framework';\nimport { ScopeContainer, LocalizationService } from '../../../framework/base/export';\nimport { ICommandData, SimpleWidgetCreatorService, DialogConfirmService } from '../../../framework/forms/export';\nimport { IdxPopupComponent, IdxValidationGroupComponent, IdxCheckBoxComponent, IdxSelectBoxComponent, IdxRadioGroupComponent } from '../../interfaces/export';\nimport { IDokumentLautVorlageErstellenData } from '../../interfaces/dokument-laut-vorlage-erstellen-data';\n\n@autoinject\nexport class DokumentLautVorlageErstellen {\n constructor(\n private localization: LocalizationService,\n private simpleWidgetCreator: SimpleWidgetCreatorService,\n private rest: RestService,\n private location: LocationService,\n private objektInfo: ObjektInfoService,\n private dialogConfirmService: DialogConfirmService\n ) {}\n\n scopeContainer: ScopeContainer;\n fullname: string;\n keyList: number[] = [];\n\n requiredValidationRule = { type: \"required\", message: \"\" };\n\n popupCommands: ICommandData[] = [\n {\n id: \"doDokumentLautVorlageErstellen\",\n idCategory: \"$start\",\n icon: \"fas fa-check\",\n tooltip: \"dokument-laut-vorlage-erstellen.erstellen\",\n sortIndex: 1600,\n execute: () => {\n this.checkAndDoDokumentLautVorlageErstellen();\n }\n }\n ];\n\n dokumentLautVorlageErstellenPopup: IdxPopupComponent;\n dokumentLautVorlageErstellenPopupOptions: DevExpress.ui.dxPopupOptions = {\n height: \"auto\",\n width: \"800px\",\n maxHeight: \"80%\",\n maxWidth: \"800px\"\n }\n\n dokumenteLautVorlageRadioGroup: IdxRadioGroupComponent;\n dokumenteLautVorlageRadioGroupOptions: DevExpress.ui.dxRadioGroupOptions = {\n valueExpr: \"value\",\n displayExpr: \"text\",\n layout: \"horizontal\",\n dataSource: [\n { text: this.localization.translateOnce(\"dokument-laut-vorlage-erstellen.typ\"), value: 0 },\n { text: this.localization.translateOnce(\"dokument-laut-vorlage-erstellen.paket\"), value: 1 }\n ],\n value: 0,\n onValueChanged: () => {\n this.onDokumenteLautVorlageRadioGroupValueChanged();\n }\n };\n\n vorlageSelectBox: IdxSelectBoxComponent;\n vorlageSelectBoxOptions: DevExpress.ui.dxSelectBoxOptions = {\n searchEnabled: true,\n showClearButton: true,\n searchExpr: [\"Bezeichnung\"],\n valueExpr: \"Id\",\n displayExpr: \"Bezeichnung\"\n };\n\n druckerAuswahlSelectBox: IdxSelectBoxComponent;\n druckerAuswahlSelectBoxOptions: DevExpress.ui.dxSelectBoxOptions = {\n showClearButton: true,\n valueExpr: \"Druckername\",\n displayExpr: \"Druckername\"\n };\n\n createOnlyIfNotExistsCheckBox: IdxCheckBoxComponent;\n createOnlyIfNotExistsCheckBoxOptions: DevExpress.ui.dxCheckBoxOptions = {\n text: this.localization.translateOnce(\"dokument-laut-vorlage-erstellen.erstellen-wenn-nicht-vorhanden\"),\n value: true\n };\n\n bind() {\n this.scopeContainer = new ScopeContainer({\n bindingContext: this,\n overrideContext: null\n });\n\n this.simpleWidgetCreator.updatePopupOptions({\n idToolbar: \"dokumentLautVorlageErstellenPopupToolbar\",\n caption: \"dokument-laut-vorlage-erstellen.popup-title\",\n options: this.dokumentLautVorlageErstellenPopupOptions,\n commands: this.popupCommands,\n scopeContainer: this.scopeContainer\n });\n }\n unbind() {\n this.scopeContainer.disposeAll();\n }\n\n showPopup(keyList: number[], fullname: string) {\n this.keyList = keyList;\n this.fullname = fullname;\n\n this.resetInputData();\n this.onDokumenteLautVorlageRadioGroupValueChanged();\n this.setDruckerDataSource();\n\n this.dokumentLautVorlageErstellenPopup.instance.show();\n }\n\n private resetInputData(): void {\n if (this.dokumenteLautVorlageRadioGroup) {\n this.dokumenteLautVorlageRadioGroup.instance.option(\"value\", 0);\n } else {\n this.dokumenteLautVorlageRadioGroupOptions.value = 0;\n }\n\n if (this.vorlageSelectBox) {\n this.vorlageSelectBox.instance.option(\"value\", null);\n } else {\n this.vorlageSelectBoxOptions.value = null;\n }\n\n if (this.druckerAuswahlSelectBox) {\n this.druckerAuswahlSelectBox.instance.option(\"value\", null);\n } else {\n this.druckerAuswahlSelectBoxOptions.value = null;\n }\n if (this.createOnlyIfNotExistsCheckBox) {\n this.createOnlyIfNotExistsCheckBox.instance.option(\"value\", true);\n } else {\n this.createOnlyIfNotExistsCheckBoxOptions.value = true;\n }\n }\n\n private setDruckerDataSource(): void {\n this.rest.get({\n url: this.rest.getWebApiUrl(\"ZIT/Stammdaten/Drucker\"),\n increaseLoadingCount: true\n }).then((data) => {\n if (!data || !data.length) {\n return;\n }\n\n if (this.druckerAuswahlSelectBox) {\n this.druckerAuswahlSelectBox.instance.option(\"dataSource\", data);\n } else {\n this.druckerAuswahlSelectBoxOptions.dataSource = data;\n }\n });\n }\n\n private onDokumenteLautVorlageRadioGroupValueChanged(): void {\n let typ;\n\n if (this.dokumenteLautVorlageRadioGroup) {\n typ = this.dokumenteLautVorlageRadioGroup.instance.option(\"value\");\n } else {\n typ = this.dokumenteLautVorlageRadioGroupOptions.value;\n }\n\n this.rest.post({\n url: this.rest.getApiUrl(\"ZIT/Stammdaten/DokumentLautVorlageHelperList\"),\n increaseLoadingCount: true,\n data: { Typ: typ, FullName: this.fullname }\n }).then((r) => {\n let dataSource;\n\n if (r && r.length > 0) {\n dataSource = r;\n } else {\n dataSource = [];\n }\n\n if (this.vorlageSelectBox) {\n this.vorlageSelectBox.instance.option(\"dataSource\", dataSource);\n this.vorlageSelectBox.instance.option(\"value\", null);\n } else {\n this.vorlageSelectBoxOptions.dataSource = dataSource;\n this.vorlageSelectBoxOptions.value = null;\n }\n });\n }\n\n private checkAndDoDokumentLautVorlageErstellen(): void {\n if (!this.keyList || this.keyList.length < 1) {\n return;\n }\n\n const data: IDokumentLautVorlageErstellenData = {\n IdObjektList: this.keyList,\n IdVorlage: this.vorlageSelectBox.instance.option(\"value\"),\n DokumenteLautVorlageTyp: this.dokumenteLautVorlageRadioGroup.instance.option(\"value\"),\n CreateOnlyIfNotExists: this.createOnlyIfNotExistsCheckBox.instance.option(\"value\"),\n Druckername: this.druckerAuswahlSelectBox.instance.option(\"value\")\n };\n\n if (!this.canDokumentLautVorlageErstellen(data)) {\n return;\n }\n\n this.rest.post({\n url: this.rest.getApiUrl(\"ZIT/Stammdaten/CanDokumentLautVorlageErstellen\"),\n data: data,\n increaseLoadingCount: true\n }).then((r) => {\n if (r && r.Message && r.Message.length > 0) {\n this.dialogConfirmService.show({\n title: this.localization.translateOnce(\"base.question\"),\n message: r.Message\n }).then((res) => {\n if (res) {\n this.doDokumentLautVorlageErstellen(data);\n } else {\n this.dokumentLautVorlageErstellenPopup.instance.hide();\n }\n });\n } else {\n this.doDokumentLautVorlageErstellen(data);\n }\n });\n }\n private canDokumentLautVorlageErstellen(data: IDokumentLautVorlageErstellenData): boolean {\n if (!data.IdVorlage) {\n DevExpress.ui.notify(this.localization.translateOnce(\"dokument-laut-vorlage-erstellen.vorlage-fehlt\"), \"error\", 3000);\n } else {\n return true;\n }\n }\n\n private doDokumentLautVorlageErstellen(data: any): void {\n this.rest.post({\n url: this.rest.getApiUrl(\"ZIT/Stammdaten/DokumentLautVorlageErstellen\"),\n data: data,\n increaseLoadingCount: true\n }).then((r) => {\n this.dokumentLautVorlageErstellenPopup.instance.hide();\n\n if (r && r.Message && r.Message.length > 0) {\n DevExpress.ui.dialog.alert(r.Message, \"Information\");\n }\n });\n }\n}\n","module.exports = \" \";","import { BrowserService } from './../../../framework/base/services/browser-service';\nimport { autoinject, bindable, observable } from 'aurelia-framework';\nimport { FileService, RestService } from '../../../framework/base/export';\nimport { ListView } from '../../../framework/forms/export';\nimport { IListViewOptions } from './../../../framework/forms/elements/list-view/list-view-options';\nimport { IZitTagOptions } from '../../../zit-ui/elements/zit-tag/export';\nimport { CustomEditPopupService } from './../../services/export';\nimport { IZitToolbarOptions } from '../../../zit-ui/elements/zit-toolbar/zit-toolbar-options';\nimport { Subscription, EventAggregator } from 'aurelia-event-aggregator';\nimport { DateiService } from '../../services/datei-service';\n\n@autoinject\nexport class DokumentListView {\n private _dokumentUpdatedSubscription: Subscription;\n\n constructor(\n private _element: Element,\n private _customEditPopupService: CustomEditPopupService,\n private _browserService: BrowserService,\n private _fileService: FileService,\n private _eventAggregator: EventAggregator,\n private _restService: RestService,\n private _dateiService: DateiService\n ) { }\n\n @bindable @observable idObjekt: number;\n @bindable @observable idStelleninserat: number;\n @bindable showToolbar: boolean;\n @bindable isReadOnly: boolean = false;\n @bindable allowTypes: string;\n @bindable objektTypeFullname: string;\n @bindable showGallerie: boolean = false;\n\n bildList: any[] = [];\n dokumentList: any[] = [];\n\n tagOptions: IZitTagOptions;\n\n toolbarOptions: IZitToolbarOptions = {\n title: \"dokument-list-view.dokumente\",\n smallToolbar: true,\n items: [{\n icon: \"fas fa-plus\",\n execute: () => {\n this.onDokumentAddClicked();\n }\n }]\n };\n\n dokumentListView: ListView;\n dokumentListViewOptions: IListViewOptions = {\n showReloadButton: false,\n useDefaultListItemStyle: false,\n itemClass: \"z--list-view-inline-item\",\n dataSource: new DevExpress.data.DataSource(new DevExpress.data.ArrayStore({data: this.dokumentList}))\n };\n\n dokumentTagOptions: IZitTagOptions = {\n isClickEnabled: true,\n hasDefaultInfo: true,\n icon: {\n faIconExpression: `item.Informationstyp.TagSymbol`,\n textExpression: `item.Informationstyp.TagSymbol \n ? \"\"\n : item.Informationstyp.TagText || item.Informationstyp.Bezeichnung[0].toUpperCase()`,\n backgroundColorExpression: \"item.Informationstyp.FarbeTagSymbol\"\n },\n textExpression: `item.Informationstyp.Bezeichnung | zitRestrictLength:50`,\n backgroundColorExpression: \"item.Informationstyp.FarbeTagText\",\n infoList: [\n {\n isVisibleExpression: `(item.NeedsUnterfertigung || item.IsUnterfertigt)`,\n icon: {\n faIconExpression: `item.IsUnterfertigt ? \"fas fa-check-circle\" : \"fas pen-square\"`,\n backgroundColorExpression: `item.IsUnterfertigt ? \"green\" : \"red\"`,\n },\n onClick: (e, data) => {\n e.stopPropagation();\n\n this._customEditPopupService.dokumentUnterfertigung.show({\n mappings: {\n \"$id\": data.Id\n },\n closeCallback: () => {\n this.dokumentListView.refresh();\n }\n });\n }\n }, {\n isClickEnabled: true,\n icon: {\n faIcon: \"fas fa-paperclip\",\n },\n onClick: (e, data) => {\n e.stopPropagation();\n this._fileService.download(data.DMSLinkDokument);\n }\n }, {\n icon: {\n faIcon: \"fas fa-info-circle\"\n },\n onClick: (e, data) => {\n e.stopPropagation();\n this.showDokumentEditPopup(data);\n }\n }\n ],\n onClick: (e, data) => {\n e.stopPropagation();\n this.downloadDokument(data);\n }\n };\n dokumentTagReadOptions: IZitTagOptions = {\n isClickEnabled: true,\n hasDefaultInfo: true,\n icon: {\n faIconExpression: `item.Informationstyp.TagSymbol`,\n textExpression: `item.Informationstyp.TagSymbol \n ? \"\"\n : item.Informationstyp.TagText || item.Informationstyp.Bezeichnung[0].toUpperCase()`,\n backgroundColorExpression: \"item.Informationstyp.FarbeTagSymbol\"\n },\n textExpression: `item.Informationstyp.Bezeichnung | zitRestrictLength:50`,\n backgroundColorExpression: \"item.Informationstyp.FarbeTagText\",\n infoList: [\n {\n isVisibleExpression: `(item.NeedsUnterfertigung || item.IsUnterfertigt)`,\n icon: {\n faIconExpression: `item.IsUnterfertigt ? \"fas fa-check-circle\" : \"fas fa-pencil-square\"`,\n backgroundColorExpression: `item.IsUnterfertigt ? \"green\" : \"red\"`,\n },\n onClick: (e, data) => {\n e.stopPropagation();\n\n this._customEditPopupService.dokumentUnterfertigung.show({\n mappings: {\n \"$id\": data.Id\n },\n closeCallback: () => {\n this.dokumentListView.refresh();\n }\n });\n }\n }, {\n icon: {\n faIcon: \"fas fa-paperclip\",\n }\n }, {\n icon: {\n faIcon: \"fas fa-info-circle\"\n },\n onClick: (e, data) => {\n e.stopPropagation();\n this.showDokumentReadPopup(data);\n }\n }\n ],\n onClick: (e, data) => {\n e.stopPropagation();\n this.downloadDokument(data);\n }\n };\n\n bind() {\n this.tagOptions = this.isReadOnly ? this.dokumentTagReadOptions : this.dokumentTagOptions;\n\n this.showToolbar = this.showToolbar == void 0 ? true : this.showToolbar;\n\n this._dokumentUpdatedSubscription = this._eventAggregator.subscribe(\"dokument:updated\", (e) => {\n if (this.idObjekt != e.idObjekt) {\n return;\n }\n\n this.loadData();\n this.dispatchDokumentChanged();\n });\n\n this.loadData();\n }\n unbind() {\n this._dokumentUpdatedSubscription.dispose();\n this._dokumentUpdatedSubscription = null;\n }\n\n idObjektChanged(newVal) {\n this.toolbarOptions.items[0].isEnabled = newVal != void 0;\n this.loadData();\n }\n idStelleninseratChanged() {\n this.loadData();\n }\n\n onDokumentAddClicked() {\n if (this.idObjekt == void(0)) {\n return;\n }\n\n this.showDokumentEditPopup({ Id: 0 });\n }\n onBildClick(ev: MouseEvent, bild) {\n ev.stopPropagation();\n ev.preventDefault();\n\n this.tagOptions.onClick(ev, bild);\n }\n onBildInfoClick(ev: MouseEvent, bild) {\n ev.stopPropagation();\n ev.preventDefault();\n\n if (this.isReadOnly) {\n this.showDokumentReadPopup(bild);\n } else { \n this.showDokumentEditPopup(bild);\n }\n }\n onBildDownloadClick(ev: MouseEvent, bild) {\n ev.stopPropagation();\n ev.preventDefault();\n\n this.downloadDokument(bild);\n }\n\n private async loadData() {\n let data: any[];\n\n if (this.idObjekt) {\n const where: any[] = [[\"IdObjekt\", this.idObjekt]];\n\n if (this.idStelleninserat != void 0) {\n where.push([[\"IdStelleninserat\", this.idStelleninserat], \"or\", [\"IdStelleninserat\", \"null\"]]);\n }\n if (this.allowTypes != void 0) {\n const allowList = this.allowTypes.split(\",\");\n allowList.forEach((t) => {\n where.push([\"Informationstyp.Code\", t])\n });\n }\n \n data = await this._restService.get({\n url: this._restService.getWebApiUrl(\"ZIT/Objekte/DokumentElement\"),\n getOptions: {\n expand: { Informationstyp: null },\n where: where,\n orderBy: [{columnName: \"Id\", sortOrder: 0}]\n }\n });\n } else {\n data = [];\n }\n\n this.dokumentList.splice(0, this.dokumentList.length);\n this.bildList.splice(0, this.bildList.length);\n\n data.forEach(i => {\n const isBild = this.showGallerie\n && this._dateiService.isBild(i.Dateiname);\n\n if (isBild) {\n this.bildList.push(i);\n } else {\n this.dokumentList.push(i);\n }\n });\n\n if (this.dokumentListView.options) {\n this.dokumentListView.refresh();\n }\n }\n \n private showDokumentEditPopup(data: any) {\n const mappings = {\n \"$id\": data.Id\n };\n const onModelLoaded = {\n IdObjekt: this.idObjekt\n }\n if (this.idStelleninserat != void 0) {\n mappings[\"$v_idStelleninserat\"] = this.idStelleninserat;\n onModelLoaded[\"IdStelleninserat\"] = this.idStelleninserat;\n }\n\n if (this.allowTypes != void 0) {\n mappings[\"$v_allowTypes\"] = this.allowTypes;\n }\n\n if (this.objektTypeFullname && this.objektTypeFullname.length > 0) {\n mappings[\"$v_objektTypeFullname\"] = this.objektTypeFullname;\n }\n\n this._customEditPopupService.dokumentEdit.show({\n mappings: mappings,\n setValuesOnModelWithKeyIdLoaded: onModelLoaded\n });\n }\n private showDokumentReadPopup(data: any) {\n this._customEditPopupService.dokumentRead.show({\n mappings: {\n \"$id\": data.Id\n }\n });\n }\n private downloadDokument(data) {\n if (this._browserService.isIE) {\n this._fileService.download(data.DMSLinkDokument);\n } else {\n this._fileService.inline(data.DMSLinkDokument);\n }\n }\n private dispatchDokumentChanged() {\n const event = new CustomEvent(\"on-dokument-changed\", {\n detail: {\n sender: this,\n element: this._element\n },\n bubbles: true\n });\n\n this._element.dispatchEvent(event);\n }\n}\n","module.exports = \" \";","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.id, \".dokument-list-view-toolbar {\\n display: block;\\n margin-bottom: 6px;\\n}\\n.dokument-list-view__bilder {\\n display: flex;\\n overflow-x: auto;\\n margin-bottom: 6px;\\n}\\n.dokument-list-view__bilder > div {\\n width: 100px;\\n height: 100px;\\n background-position: center;\\n background-repeat: no-repeat;\\n background-size: contain;\\n border: 1px solid #ddd;\\n position: relative;\\n flex-shrink: 0;\\n flex-grow: 0;\\n background-color: #F5F5F5;\\n cursor: pointer;\\n}\\n.dokument-list-view__bilder > div + div {\\n margin-left: 6px;\\n}\\n.dokument-list-view__bilder > div .dokument-list-view__bilder__buttons {\\n display: flex;\\n position: absolute;\\n top: 3px;\\n right: 3px;\\n}\\n.dokument-list-view__bilder > div .dokument-list-view__bilder__buttons > * + * {\\n margin-left: 3px;\\n}\\n.dokument-list-view__bilder > div i {\\n display: flex;\\n align-items: center;\\n justify-content: center;\\n border-radius: 16px;\\n font-size: 10px;\\n background-color: #aaa;\\n color: white;\\n width: 16px;\\n height: 16px;\\n cursor: pointer;\\n}\\n.dokument-list-view__bilder > div i:hover {\\n background-color: #444;\\n}\\n\", \"\"]);\n// Exports\nmodule.exports = exports;\n","import { autoinject, bindable, OverrideContext, Scope } from \"aurelia-framework\";\nimport { IdxPopupComponent, IdxValidationGroupComponent, IdxSelectBoxComponent } from '../../interfaces/dx-components';\nimport { ICommandData } from '../../../framework/forms/interfaces/command-data';\nimport { RestService, ScopeContainer, LocalizationService } from '../../../framework/base/export';\nimport { SimpleWidgetCreatorService } from '../../../framework/forms/export';\n\n@autoinject\nexport class EinsatzvorbereitungHinzufuegen {\n constructor(\n private restService: RestService,\n private simpleWidgetCreatorService: SimpleWidgetCreatorService,\n private localizationService: LocalizationService\n ) {}\n\n idEinsatzplanungList: number[];\n\n scope: Scope;\n scopeContainer: ScopeContainer;\n\n popupCommands: ICommandData[] = [{\n id: \"einsatzplanungHinzufuegenSave\",\n icon: \"fas fa-save\",\n tooltip: \"base.save\",\n sortIndex: 1001,\n execute: async () => {\n const result = this.validationGroup.instance.validate();\n if (!result.isValid) {\n return;\n }\n\n const idEinsatzvorbereitung: number = this.einsatzvorbereitungSelectBox.instance.option(\"value\");\n\n await this.restService.post({\n url: this.restService.getApiUrl(\"ZIT/Dispo/UpdateEinsatzplanungEinsatzvorbereitung\"),\n increaseLoadingCount: true,\n data: {\n IdEinsatzvorbereitung: idEinsatzvorbereitung,\n IdEinsatzplanungList: this.idEinsatzplanungList\n }\n });\n \n DevExpress.ui.notify(this.localizationService.translateOnce(\"base.save_success\"), \"SUCCESS\", 3000);\n this.einsatzvorbereitungHinzufuegenPopup.instance.hide();\n }\n }];\n einsatzvorbereitungHinzufuegenPopup: IdxPopupComponent;\n einsatzvorbereitungHinzufuegenPopupOptions: DevExpress.ui.dxPopupOptions = {\n height: \"auto\",\n maxWidth: \"550px\"\n };\n\n einsatzvorbereitungSelectBox: IdxSelectBoxComponent;\n einsatzvorbereitungSelectBoxOptions: DevExpress.ui.dxSelectBoxOptions = {\n valueExpr: \"Id\",\n displayExpr: \"Bezeichnung\",\n };\n\n requiredValidatorOptions: DevExpress.ui.dxValidatorOptions = {\n validationRules: [{ type: \"required\" }]\n };\n validationGroup: IdxValidationGroupComponent;\n validationGroupOptions: DevExpress.ui.dxValidationGroupOptions = {};\n\n bind(bindingContext: any, overrideContext: OverrideContext) {\n this.scope = {\n bindingContext: bindingContext,\n overrideContext: overrideContext\n };\n\n this.scopeContainer = new ScopeContainer({\n bindingContext: this,\n overrideContext: null\n });\n\n this.simpleWidgetCreatorService.updatePopupOptions({\n idToolbar: \"einsatzvorbereitungHinzufuegenPopupToolbar\",\n caption: \"einsatzvorbereitung-hinzufuegen.popup-titel\",\n options: this.einsatzvorbereitungHinzufuegenPopupOptions,\n commands: this.popupCommands,\n scopeContainer: this.scopeContainer\n });\n }\n unbind() {\n this.scopeContainer.disposeAll();\n this.scope = null;\n }\n\n async showPopup(idEinsatzplanungList: number[]): Promise {\n this.idEinsatzplanungList = idEinsatzplanungList;\n\n await this.prepareSelectBox();\n await this.einsatzvorbereitungHinzufuegenPopup.instance.show();\n }\n\n private async prepareSelectBox() {\n const einsatzvorbereitungList = await this.restService.post({\n url: this.restService.getApiUrl(\"ZIT/Dispo/Einsatzvorbereitung\"),\n data: this.idEinsatzplanungList,\n increaseLoadingCount: true\n });\n\n const selectBoxOptions = {\n dataSource: einsatzvorbereitungList,\n value: null,\n isValid: true\n };\n\n if (this.einsatzvorbereitungSelectBox && this.einsatzvorbereitungSelectBox.instance) {\n this.einsatzvorbereitungSelectBox.setOption(selectBoxOptions);\n } else {\n Object.assign(this.einsatzvorbereitungSelectBoxOptions, selectBoxOptions);\n }\n }\n}","module.exports = \" \";","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.id, \"\", \"\"]);\n// Exports\nmodule.exports = exports;\n","import { autoinject, TaskQueue } from \"aurelia-framework\";\nimport { ScopeContainer } from \"./../../../framework/base/classes/scope-container\";\nimport { IDataSourceOptionFilter } from \"./../../../framework/base/interfaces/data-source-option-filter\";\nimport { FormBase } from \"./../../../framework/forms/classes/form-base\";\nimport { ListView } from \"./../../../framework/forms/elements/list-view/list-view\";\nimport { IListViewOptions } from \"./../../../framework/forms/elements/list-view/list-view-options\";\nimport { IZitCardOptions, ZitCardTyp } from \"./../../../zit-ui/elements/zit-card/zit-card-options\";\nimport { IZitTagOptions } from \"./../../../zit-ui/elements/zit-tag/zit-tag-options\";\nimport { IZitToolbarOptions } from \"./../../../zit-ui/elements/zit-toolbar/zit-toolbar-options\";\nimport { PersonService } from \"./../../services/person-service\";\nimport { StartupService } from \"./../../services/startup-service\";\nimport { ZielService } from \"../../services/ziel-service\";\nimport { LehrlingAuswaehlen, SelectionModeTyp } from \"./../lehrling-auswaehlen/lehrling-auswaehlen\";\nimport { FormEventService } from \"../../../framework/forms/services/form-event-service\";\n\n@autoinject\nexport class Entwicklungsziele {\n private _onFormSavedDispose: {(): void};\n\n constructor(\n private _startupService: StartupService,\n private _personService: PersonService,\n private _taskQueue: TaskQueue,\n private _zieleService: ZielService,\n private _formEventService: FormEventService\n ) { }\n\n lehrlingList: any[] = [];\n lehrlingAuswaehlenPopup: LehrlingAuswaehlen;\n\n scopeContainer: ScopeContainer;\n mainForm: FormBase;\n filterData: {\n IdPersonZugeteiltList?: number[];\n } = {};\n\n personTagOptions: IZitTagOptions = {\n icon:\n {\n text: \"P\"\n },\n text: \"${person.Name}\",\n infoList: [{\n icon: {\n faIcon: \"fas fa-times\"\n },\n onClick: async(e, data) => {\n const indexLehrlingList = this.lehrlingList.indexOf(data);\n if (indexLehrlingList < 0) {\n return;\n }\n this.lehrlingList.splice(indexLehrlingList, 1);\n\n const indexZugeteiltList = this.filterData.IdPersonZugeteiltList.indexOf(data.Id);\n if (indexZugeteiltList < 0) {\n return;\n }\n this.filterData.IdPersonZugeteiltList.splice(indexZugeteiltList, 1);\n\n this.reloadDataSources();\n }\n }]\n };\n\n lehrlingToolbarOptions: IZitToolbarOptions = {\n title: \"entwicklungszone.auswahl-lehrling\",\n smallToolbar: true,\n items: [{\n id: \"showLehrlingToolbarOptionen\",\n icon: \"fas fa-plus\",\n execute: () => {\n this.lehrlingAuswaehlenPopup.show({\n selectionMode: SelectionModeTyp.multipe,\n callback: async(selectedPersons) => {\n if (selectedPersons.length == 0) {\n return;\n }\n\n for (const idPerson of selectedPersons) {\n await this.setLehrling(idPerson);\n }\n\n this.reloadDataSources();\n }\n });\n }\n }]\n };\n\n zieleCardOptions: IZitCardOptions = {\n isClickEnabled: true,\n useDefaultBindings: true,\n typ: ZitCardTyp.Kompakt\n };\n\n begonneneZieleListView: ListView;\n begonneneZieleListViewOptions: IListViewOptions = {\n useDefaultListItemStyle: false,\n itemClass: \"col-xs-12 col-sm-6 col-lg-4 col-xl-3\"\n };\n\n gesetzteZieleListView: ListView;\n gesetzteZieleListViewOptions: IListViewOptions = {\n useDefaultListItemStyle: false,\n itemClass: \"col-xs-12 col-sm-6 col-lg-4 col-xl-3\"\n };\n\n erfuellteZieleListView: ListView;\n erfuellteZieleListViewOptions: IListViewOptions = {\n useDefaultListItemStyle: false,\n itemClass: \"col-xs-12 col-sm-6 col-lg-4 col-xl-3\"\n };\n\n get isNotBewerber() {\n return this._startupService.startupInfo.Benutzer.CodeBenutzerrolle != \"BEWERBER\";\n }\n\n bind(bindingContext) {\n this.mainForm = bindingContext;\n\n this.scopeContainer = new ScopeContainer({\n bindingContext: this,\n overrideContext: null\n });\n this.filterData.IdPersonZugeteiltList = [];\n this.loadDataSources();\n\n this._onFormSavedDispose = this._formEventService.onSaved.register(async(ev) => {\n if (ev.form.models.modelWithKeyId?.webApiAction == \"ZIT/Objekte/Ziel\") {\n this.reload();\n }\n });\n }\n\n unbind() {\n this.scopeContainer.disposeAll();\n this.scopeContainer = null;\n\n this._onFormSavedDispose();\n this._onFormSavedDispose = null;\n }\n\n reloadDataSources() {\n this._taskQueue.queueTask(() => {\n this.begonneneZieleListView.options.dataSource.reload();\n this.gesetzteZieleListView.options.dataSource.reload();\n this.erfuellteZieleListView.options.dataSource.reload();\n });\n }\n\n private async setLehrling(idPerson: number) {\n const alreadyExists = this.lehrlingList.some((c) => c.Id === idPerson);\n if (alreadyExists) {\n return;\n }\n const lehrling = await this._personService.getPerson(idPerson);\n this.lehrlingList.push(lehrling);\n this.filterData.IdPersonZugeteiltList.push(idPerson);\n }\n\n private loadDataSources() {\n this.loadBegonneneZieleDataSource();\n this.loadGesetzteZieleDataSource();\n this.loadErfuellteZieleDataSource();\n }\n\n private loadBegonneneZieleDataSource() {\n this.begonneneZieleListViewOptions.dataSource = this._zieleService.loadZieleDataSource(this.scopeContainer,\n () => {\n const where: any[] = [\n [[\"Kopf.Einschaetzung\", \">\", \"0\"], \"and\", [\"Kopf.Einschaetzung\", \"<\", \"10\"]]];\n\n if (this.filterData.IdPersonZugeteiltList.length > 0) {\n const tempIdPersonZugeteiltListWhere = [];\n for (let i = 0; i < this.filterData.IdPersonZugeteiltList.length; i++) {\n tempIdPersonZugeteiltListWhere.push([\"Kopf.IdObjekt\", this.filterData.IdPersonZugeteiltList[i]]);\n if (i + 1 < this.filterData.IdPersonZugeteiltList.length) {\n tempIdPersonZugeteiltListWhere.push(\"or\");\n }\n }\n where.push(tempIdPersonZugeteiltListWhere);\n }\n return where;\n },\n () => {\n const filter: IDataSourceOptionFilter[] = [];\n filter.push({\n webApiCustomKey: \"AddZielCard\",\n webApiCustomValue: \"true\"\n });\n return filter;\n },\n [{ columnName: \"Id\", sortOrder: 0 }]\n );\n }\n\n private loadGesetzteZieleDataSource() {\n this.gesetzteZieleListViewOptions.dataSource = this._zieleService.loadZieleDataSource(this.scopeContainer,\n () => {\n const where: any[] = [\n [\"Kopf.Einschaetzung\", \"0\"]];\n\n if (this.filterData.IdPersonZugeteiltList.length > 0) {\n const tempIdPersonZugeteiltListWhere = [];\n for (let i = 0; i < this.filterData.IdPersonZugeteiltList.length; i++) {\n tempIdPersonZugeteiltListWhere.push([\"Kopf.IdObjekt\", this.filterData.IdPersonZugeteiltList[i]]);\n if (i + 1 < this.filterData.IdPersonZugeteiltList.length) {\n tempIdPersonZugeteiltListWhere.push(\"or\");\n }\n }\n where.push(tempIdPersonZugeteiltListWhere);\n }\n return where;\n },\n () => {\n const filter: IDataSourceOptionFilter[] = [];\n filter.push({\n webApiCustomKey: \"AddZielCard\",\n webApiCustomValue: \"true\"\n });\n return filter;\n },\n [{ columnName: \"Id\", sortOrder: 0 }]\n );\n }\n\n private loadErfuellteZieleDataSource() {\n this.erfuellteZieleListViewOptions.dataSource = this._zieleService.loadZieleDataSource(this.scopeContainer,\n () => {\n const where: any[] = [\n [\"Kopf.IsErfuellt\", \"true\"]];\n\n if (this.filterData.IdPersonZugeteiltList.length > 0) {\n const tempIdPersonZugeteiltListWhere = [];\n for (let i = 0; i < this.filterData.IdPersonZugeteiltList.length; i++) {\n tempIdPersonZugeteiltListWhere.push([\"Kopf.IdObjekt\", this.filterData.IdPersonZugeteiltList[i]]);\n if (i + 1 < this.filterData.IdPersonZugeteiltList.length) {\n tempIdPersonZugeteiltListWhere.push(\"or\");\n }\n }\n where.push(tempIdPersonZugeteiltListWhere);\n }\n return where;\n },\n () => {\n const filter: IDataSourceOptionFilter[] = [];\n filter.push({\n webApiCustomKey: \"AddZielCard\",\n webApiCustomValue: \"true\"\n });\n return filter;\n },\n [{ columnName: \"Kopf.ErfuelltDat\", sortOrder: 1 }]\n );\n }\n\n private reload() {\n (this.begonneneZieleListViewOptions.dataSource).reload();\n (this.gesetzteZieleListViewOptions.dataSource).reload();\n (this.erfuellteZieleListViewOptions.dataSource).reload();\n }\n}\n","module.exports = \" \";","import { autoinject, bindable, bindingMode, observable, TaskQueue } from \"aurelia-framework\";\nimport * as moment from \"moment\";\nimport { ScopeContainer, DataSourceService } from \"../../../framework/base/export\";\nimport { FormBase, FormEventService } from \"../../../framework/forms/export\";\nimport { IZitCardOptions, ZitCardTyp } from \"../../../zit-ui/elements/zit-card/export\";\nimport { BenutzerTyp } from \"../../enumerations/export\";\nimport { IDataSourceOptionFilter } from \"./../../../framework/base/interfaces/data-source-option-filter\";\nimport { ListView } from \"./../../../framework/forms/elements/list-view/list-view\";\nimport { IListViewOptions } from \"./../../../framework/forms/elements/list-view/list-view-options\";\nimport { IZitTagOptions } from \"./../../../zit-ui/elements/zit-tag/zit-tag-options\";\nimport { IZitToolbarOptions } from \"./../../../zit-ui/elements/zit-toolbar/zit-toolbar-options\";\nimport { PersonService } from \"./../../services/person-service\";\nimport { StartupService } from \"./../../services/startup-service\";\nimport { EntwicklungszoneFilterTyp } from \"./../../views/entwicklungszone/entwicklungszone-list-utils\";\nimport { LehrlingAuswaehlen, SelectionModeTyp } from \"./../lehrling-auswaehlen/lehrling-auswaehlen\";\n\n@autoinject\nexport class Entwicklungszone {\n private _onFormSavedDispose: {(): void};\n\n constructor(\n private _taskQueue: TaskQueue,\n private _startupService: StartupService,\n private _personService: PersonService,\n private _dataSourceService: DataSourceService,\n private _formEventService: FormEventService\n ) {\n this.idBenutzer = this._startupService.startupInfo.Benutzer.IdBenutzer;\n this.idObject = this._startupService.startupInfo.Benutzer.Benutzertyp == BenutzerTyp.JuristischePerson\n || this._startupService.startupInfo.Benutzer.Benutzertyp == BenutzerTyp.InternerBenutzer\n ? this._startupService.startupInfo.Benutzer.IdAnsprechperson\n : this._startupService.startupInfo.Benutzer.IdPerson;\n }\n\n scopeContainer: ScopeContainer;\n mainForm: FormBase;\n lehrlingAuswaehlenPopup: LehrlingAuswaehlen;\n lehrlingList: any[] = [];\n filterData: {\n IdPersonZugeteiltList?: number[];\n IdPersonBestaetigung?: number;\n } = {};\n idObject: number;\n idBenutzer: number;\n @bindable({ defaultBindingMode: bindingMode.twoWay }) @observable currentFilterTyp: EntwicklungszoneFilterTyp = EntwicklungszoneFilterTyp.Keine;\n\n personTagOptions: IZitTagOptions = {\n icon:\n {\n text: \"P\"\n },\n text: \"${person.Name}\",\n infoList: [{\n icon: {\n faIcon: \"fas fa-times\"\n },\n onClick: async(e, data) => {\n const indexLehrlingList = this.lehrlingList.indexOf(data);\n if (indexLehrlingList < 0) {\n return;\n }\n this.lehrlingList.splice(indexLehrlingList, 1);\n\n const indexZugeteiltList = this.filterData.IdPersonZugeteiltList.indexOf(data.Id);\n if (indexZugeteiltList < 0) {\n return;\n }\n this.filterData.IdPersonZugeteiltList.splice(indexZugeteiltList, 1);\n\n this.reloadDataSources();\n }\n }]\n };\n\n lehrlingToolbarOptions: IZitToolbarOptions = {\n title: \"entwicklungszone.auswahl-lehrling\",\n smallToolbar: true,\n items: [{\n id: \"showLehrlingToolbarOptionen\",\n icon: \"fas fa-plus\",\n execute: () => {\n this.lehrlingAuswaehlenPopup.show({\n selectionMode: SelectionModeTyp.multipe,\n callback: async(selectedPersons) => {\n if (selectedPersons.length == 0) {\n return;\n }\n this.currentFilterTyp = EntwicklungszoneFilterTyp.Keine;\n\n for (const idPerson of selectedPersons) {\n await this.setLehrling(idPerson);\n }\n\n this.reloadDataSources();\n }\n });\n }\n }]\n };\n\n aufgabeCardOptions: IZitCardOptions = {\n isClickEnabled: true,\n useDefaultBindings: true,\n typ: ZitCardTyp.Kompakt\n };\n\n begonneneAufgabenListView: ListView;\n begonneneAufgabenListViewOptions: IListViewOptions = {\n useDefaultListItemStyle: false,\n itemClass: \"col-xs-12 col-sm-6 col-lg-4 col-xl-3\"\n };\n\n aktuelleAufgabenListView: ListView;\n aktuelleAufgabenListViewOptions: IListViewOptions = {\n useDefaultListItemStyle: false,\n itemClass: \"col-xs-12 col-sm-6 col-lg-4 col-xl-3\"\n };\n\n kommendeAufgabenListView: ListView;\n kommendeAufgabenListViewOptions: IListViewOptions = {\n useDefaultListItemStyle: false,\n itemClass: \"col-xs-12 col-sm-6 col-lg-4 col-xl-3\"\n };\n\n fertigeAufgabenListView: ListView;\n fertigeAufgabenListViewOptions: IListViewOptions = {\n useDefaultListItemStyle: false,\n itemClass: \"col-xs-12 col-sm-6 col-lg-4 col-xl-3\"\n };\n\n get isNotBewerber() {\n return this._startupService.startupInfo.Benutzer.CodeBenutzerrolle != \"BEWERBER\";\n }\n\n bind(bindingContext) {\n this.mainForm = bindingContext;\n\n this.scopeContainer = new ScopeContainer({\n bindingContext: this,\n overrideContext: null\n });\n this.filterData.IdPersonZugeteiltList = [];\n this.loadAufgabenDataSources();\n\n this._onFormSavedDispose = this._formEventService.onSaved.register(async(ev) => {\n if (ev.form.models.modelWithKeyId?.webApiAction == \"ZIT/Objekte/Aufgabe\") {\n this.reload();\n }\n });\n }\n\n unbind() {\n this.scopeContainer.disposeAll();\n this.scopeContainer = null;\n\n this._onFormSavedDispose();\n this._onFormSavedDispose = null;\n }\n\n setFilterMeineAufgaben(resetFilter: boolean) {\n this.filterData.IdPersonZugeteiltList = resetFilter\n ? []\n : [this.idObject];\n\n this.lehrlingList = [];\n }\n\n setFilterZuBestaetigendeAufgaben(resetFilter: boolean) {\n this.filterData.IdPersonBestaetigung = resetFilter\n ? null\n : this.idBenutzer;\n }\n\n reloadDataSources() {\n this._taskQueue.queueTask(() => {\n this.begonneneAufgabenListView.options.dataSource.reload();\n this.aktuelleAufgabenListView.options.dataSource.reload();\n this.kommendeAufgabenListView.options.dataSource.reload();\n this.fertigeAufgabenListView.options.dataSource.reload();\n });\n }\n\n private async setLehrling(idPerson: number) {\n const alreadyExists = this.lehrlingList.some((c) => c.Id === idPerson);\n if (alreadyExists) {\n return;\n }\n const lehrling = await this._personService.getPerson(idPerson);\n this.lehrlingList.push(lehrling);\n this.filterData.IdPersonZugeteiltList.push(idPerson);\n }\n\n private loadAufgabenDataSources() {\n this.loadBegonneneAufgaben();\n this.loadAktuelleAufgaben();\n this.loadKommendeAufgaben();\n this.loadFertigeAufgaben();\n }\n\n private loadBegonneneAufgaben() {\n this.begonneneAufgabenListViewOptions.dataSource = this._dataSourceService.createDataSource(\n this.scopeContainer,\n {\n webApiAction: \"ZIT/Objekte/Aufgabe\",\n webApiOrderBy: [{ columnName: \"Id\", sortOrder: 0 }]\n }, {\n getCustomWhere: () => {\n const where: any[] = [];\n\n if (this.filterData.IdPersonZugeteiltList.length > 0) {\n const tempIdPersonZugeteiltListWhere = [];\n for (let i = 0; i < this.filterData.IdPersonZugeteiltList.length; i++) {\n tempIdPersonZugeteiltListWhere.push([\"Kopf.IdObjekt\", this.filterData.IdPersonZugeteiltList[i]]);\n if (i + 1 < this.filterData.IdPersonZugeteiltList.length) {\n tempIdPersonZugeteiltListWhere.push(\"or\");\n }\n }\n where.push(tempIdPersonZugeteiltListWhere);\n }\n\n if (this.filterData.IdPersonBestaetigung) {\n where.push([[\"Kopf.IsErfuellt\", true], \"and\", [\"Kopf.IsBestaetigt\", false]]);\n where.push([\"Kopf.IdBestaetigungBenutzer\", this.filterData.IdPersonBestaetigung]);\n } else {\n where.push([[\"Kopf.IsErfuellt\", false], \"or\", [\"Kopf.IsBestaetigt\", false]]);\n }\n\n return where;\n },\n getCustomFilters: () => {\n const filter: IDataSourceOptionFilter[] = [];\n filter.push({\n webApiCustomKey: \"AddAufgabeCard\",\n webApiCustomValue: \"true\"\n });\n filter.push({\n webApiCustomKey: \"OnlyGestartet\",\n webApiCustomValue: \"true\"\n });\n return filter;\n } \n });\n }\n\n private loadAktuelleAufgaben() {\n this.aktuelleAufgabenListViewOptions.dataSource = this._dataSourceService.createDataSource(\n this.scopeContainer,\n {\n webApiAction: \"ZIT/Objekte/Aufgabe\",\n webApiOrderBy: [{ columnName: \"Id\", sortOrder: 0 }]\n }, {\n canLoad: () => {\n return !this.filterData.IdPersonBestaetigung;\n },\n getCustomWhere: () => {\n const today = moment()\n .startOf(\"day\")\n .toDate();\n \n const where: any[] = [];\n \n if (this.filterData.IdPersonZugeteiltList.length > 0) {\n const tempIdPersonZugeteiltListWhere = [];\n for (let i = 0; i < this.filterData.IdPersonZugeteiltList.length; i++) {\n tempIdPersonZugeteiltListWhere.push([\"Kopf.IdObjekt\", this.filterData.IdPersonZugeteiltList[i]]);\n if (i + 1 < this.filterData.IdPersonZugeteiltList.length) {\n tempIdPersonZugeteiltListWhere.push(\"or\");\n }\n }\n where.push(tempIdPersonZugeteiltListWhere);\n }\n \n return where;\n },\n getCustomFilters: () => {\n const filter: IDataSourceOptionFilter[] = [];\n filter.push({\n webApiCustomKey: \"AddAufgabeCard\",\n webApiCustomValue: \"true\"\n }, {\n webApiCustomKey: \"OnlyAktuell\",\n webApiCustomValue: \"true\"\n });\n return filter;\n }\n });\n }\n\n private loadKommendeAufgaben() {\n this.kommendeAufgabenListViewOptions.dataSource = this._dataSourceService.createDataSource(\n this.scopeContainer,\n {\n webApiAction: \"ZIT/Objekte/Aufgabe\",\n webApiOrderBy: [{ columnName: \"Kopf.StartDatum\", sortOrder: 0 }]\n }, {\n canLoad: () => {\n return !this.filterData.IdPersonBestaetigung;\n },\n getCustomWhere: () => {\n const today = moment()\n .startOf(\"day\")\n .toDate();\n \n const where: any[] = [];\n \n if (this.filterData.IdPersonZugeteiltList.length > 0) {\n const tempIdPersonZugeteiltListWhere = [];\n for (let i = 0; i < this.filterData.IdPersonZugeteiltList.length; i++) {\n tempIdPersonZugeteiltListWhere.push([\"Kopf.IdObjekt\", this.filterData.IdPersonZugeteiltList[i]]);\n if (i + 1 < this.filterData.IdPersonZugeteiltList.length) {\n tempIdPersonZugeteiltListWhere.push(\"or\");\n }\n }\n where.push(tempIdPersonZugeteiltListWhere);\n }\n \n return where;\n },\n getCustomFilters: () => {\n const filter: IDataSourceOptionFilter[] = [];\n filter.push({\n webApiCustomKey: \"AddAufgabeCard\",\n webApiCustomValue: \"true\"\n }, {\n webApiCustomKey: \"OnlyKommende\",\n webApiCustomValue: \"true\"\n });\n return filter;\n }\n });\n }\n\n private loadFertigeAufgaben() {\n this.fertigeAufgabenListViewOptions.dataSource = this._dataSourceService.createDataSource(\n this.scopeContainer,\n {\n webApiAction: \"ZIT/Objekte/Aufgabe\",\n webApiOrderBy: [{ columnName: \"Kopf.ErfuelltDat\", sortOrder: 1 }]\n }, {\n canLoad: () => {\n return !this.filterData.IdPersonBestaetigung;\n },\n getCustomWhere: () => {\n const where: any[] = [];\n \n if (this.filterData.IdPersonZugeteiltList.length > 0) {\n const tempIdPersonZugeteiltListWhere = [];\n for (let i = 0; i < this.filterData.IdPersonZugeteiltList.length; i++) {\n tempIdPersonZugeteiltListWhere.push([\"Kopf.IdObjekt\", this.filterData.IdPersonZugeteiltList[i]]);\n if (i + 1 < this.filterData.IdPersonZugeteiltList.length) {\n tempIdPersonZugeteiltListWhere.push(\"or\");\n }\n }\n where.push(tempIdPersonZugeteiltListWhere);\n }\n \n return where;\n },\n getCustomFilters: () => {\n const filter: IDataSourceOptionFilter[] = [];\n filter.push({\n webApiCustomKey: \"AddAufgabeCard\",\n webApiCustomValue: \"true\"\n });\n filter.push({\n webApiCustomKey: \"OnlyFertig\",\n webApiCustomValue: \"true\"\n });\n return filter;\n }\n });\n }\n\n private reload() {\n (this.begonneneAufgabenListViewOptions.dataSource).reload();\n (this.aktuelleAufgabenListViewOptions.dataSource).reload();\n (this.kommendeAufgabenListViewOptions.dataSource).reload();\n (this.fertigeAufgabenListViewOptions.dataSource).reload();\n }\n}\n","module.exports = \" \";","import { BrowserService } from './../../../framework/base/services/browser-service';\nimport { IContextMenuItem } from './../../../framework/forms/interfaces/context-menu-item';\nimport { ContextMenu } from './../../../framework/forms/classes/context-menu';\nimport { FileService } from './../../../framework/base/services/file-service';\nimport { IErklaerungsvideo } from './../../interfaces/startup-info';\nimport { autoinject, Scope, OverrideContext, computedFrom } from 'aurelia-framework';\nimport { IdxPopupComponent } from '../../interfaces/export';\nimport { SimpleWidgetCreatorService } from '../../../framework/forms/export';\nimport { ScopeContainer } from '../../../framework/base/export';\nimport { ErklaerungsvideoInhaltArtEnum } from '../../enumerations/erklaerungsvideo-inhalt-art-enum';\nimport { ErklaervideoService } from '../../services/erklaervideo-service';\n\n@autoinject\nexport class Erklaerungsvideo {\n constructor(\n private simpleWidgetCreator: SimpleWidgetCreatorService,\n private erklaervideo: ErklaervideoService,\n private file: FileService,\n private browserService: BrowserService\n ) {\n this.erklaervideo.element = this;\n }\n scope: Scope;\n scopeContainer: ScopeContainer;\n vimeoHtml: string;\n popupTitel: string;\n isMobil: boolean;\n\n erklaerungsvideoPopup: IdxPopupComponent;\n erklaerungsvideoPopupOptions: DevExpress.ui.dxPopupOptions = {\n height: \"auto\",\n width: \"auto\"\n }\n\n bind(bindingContext: any, overrideContext: OverrideContext) {\n this.scope = {\n bindingContext: bindingContext,\n overrideContext: overrideContext\n };\n\n this.scopeContainer = new ScopeContainer({\n bindingContext: this,\n overrideContext: null\n });\n\n this.isMobil = this.browserService.isMobile;\n\n this.simpleWidgetCreator.updatePopupOptions({\n idToolbar: \"erklaerungsvideoPopupToolbar\",\n caption: \"erklaerungsvideo.popup-titel\",\n options: this.erklaerungsvideoPopupOptions,\n scopeContainer: this.scopeContainer\n });\n }\n unbind() {\n this.scopeContainer.disposeAll();\n this.scope = null;\n }\n\n public show(moduleId: string, target: any) {\n const erklaervideoList = this.erklaervideo.getContextMenuItems(moduleId);\n if (!erklaervideoList || erklaervideoList.length == 0) {\n return;\n }\n\n const menuItemList: IContextMenuItem[] = [];\n\n erklaervideoList.forEach(element => {\n menuItemList.push({\n text: this.erklaerungsvideoElementBezeichnung(element),\n icon: this.erklaerungsvideoElementIcon(element),\n execute: this.erklaerungsvideoAction(element)\n });\n });\n\n const ctx = new ContextMenu();\n ctx.items = menuItemList;\n ctx.show(target);\n }\n\n public erklaerungsvideoElementBezeichnung(erklaerungsvideo: IErklaerungsvideo): string {\n switch (erklaerungsvideo.InhaltArt) {\n case ErklaerungsvideoInhaltArtEnum.File:\n case ErklaerungsvideoInhaltArtEnum.Url:\n return `weitere Informationen: ${erklaerungsvideo.Bezeichnung}`;\n case ErklaerungsvideoInhaltArtEnum.VimeoEinbettungslink:\n return `Erklärvideo: ${erklaerungsvideo.Bezeichnung}`;\n }\n }\n\n public erklaerungsvideoElementIcon(erklaerungsvideo: IErklaerungsvideo): string {\n switch (erklaerungsvideo.InhaltArt) {\n case ErklaerungsvideoInhaltArtEnum.File:\n return \"fas fa-paperclip\";\n case ErklaerungsvideoInhaltArtEnum.Url:\n return \"fas fa-external-link-alt\";\n case ErklaerungsvideoInhaltArtEnum.VimeoEinbettungslink:\n return \"fas fa-video\";\n }\n }\n\n public erklaerungsvideoAction(erklaerungsvideo: IErklaerungsvideo): any {\n switch (erklaerungsvideo.InhaltArt) {\n case ErklaerungsvideoInhaltArtEnum.File:\n return () => this.downloadFile(erklaerungsvideo);\n case ErklaerungsvideoInhaltArtEnum.Url:\n return () => this.openUrl(erklaerungsvideo);\n case ErklaerungsvideoInhaltArtEnum.VimeoEinbettungslink:\n return () => this.showPopup(erklaerungsvideo);\n }\n }\n\n private openUrl(erklaerungsvideo: IErklaerungsvideo): void {\n if (erklaerungsvideo.InhaltArt != ErklaerungsvideoInhaltArtEnum.Url) {\n return;\n }\n\n let url = erklaerungsvideo.Content;\n if (!url || url.length == 0) {\n return;\n }\n\n if (!url.match(/^https?:\\/\\//i)) {\n url = `http://${url}`;\n }\n window.open(url, \"_blank\");\n }\n\n private downloadFile(erklaerungsvideo: IErklaerungsvideo): void {\n if (erklaerungsvideo.InhaltArt != ErklaerungsvideoInhaltArtEnum.File) {\n return;\n }\n\n if (!erklaerungsvideo.Content || erklaerungsvideo.Content.length == 0) {\n return;\n }\n\n this.file.download(erklaerungsvideo.Content);\n }\n\n private showPopup(erklaerungsvideo: IErklaerungsvideo): void {\n if (erklaerungsvideo.InhaltArt != ErklaerungsvideoInhaltArtEnum.VimeoEinbettungslink) {\n return;\n }\n\n if (!erklaerungsvideo.Content || erklaerungsvideo.Content.length == 0) {\n return;\n }\n\n this.popupTitel = erklaerungsvideo.Bezeichnung;\n this.vimeoHtml = erklaerungsvideo.Content;\n this.erklaerungsvideoPopup.instance.show();\n }\n}\n","import { bindable } from 'aurelia-framework';\nimport { IErklaerungsvideo } from './../../interfaces/startup-info';\nimport { autoinject, Scope, OverrideContext, computedFrom } from 'aurelia-framework';\nimport { ScopeContainer } from '../../../framework/base/export';\nimport { ErklaervideoService } from '../../services/erklaervideo-service';\n\n@autoinject\nexport class ErklaerungsvideoElement {\n constructor(\n private erklaervideo: ErklaervideoService\n ) {\n }\n\n scope: Scope;\n scopeContainer: ScopeContainer;\n icon: string;\n text: string;\n\n erklaerungsvideo: IErklaerungsvideo;\n\n @bindable code: string;\n\n bind(bindingContext: any, overrideContext: OverrideContext) {\n this.scope = {\n bindingContext: bindingContext,\n overrideContext: overrideContext\n };\n\n this.scopeContainer = new ScopeContainer({\n bindingContext: this,\n overrideContext: null\n });\n\n this.erklaerungsvideo = this.erklaervideo.getErklaerungsvideo(this.code);\n if (this.erklaerungsvideo == null) {\n return;\n }\n\n this.text = this.erklaervideo.erklaerungsvideoElementBezeichnung(this.erklaerungsvideo);\n this.icon = this.erklaervideo.erklaerungsvideoElementIcon(this.erklaerungsvideo);\n }\n unbind() {\n this.scopeContainer.disposeAll();\n this.scope = null;\n }\n\n public onElementClick() {\n if (!this.code || this.code.length == 0) {\n return;\n }\n\n const erklaervideoList = this.erklaervideo.getContextMenuItems(this.code);\n if (!erklaervideoList || erklaervideoList.length == 0) {\n return;\n }\n\n const erklaervideo = erklaervideoList[0];\n\n const action = this.erklaervideo.erklaerungsvideoAction(erklaervideo);\n if (action == null) {\n return;\n }\n\n action();\n }\n}\n","module.exports = \" \";","module.exports = \" \";","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.id, \".mobile-iframe {\\n width: 100%;\\n height: 100%;\\n}\\n\", \"\"]);\n// Exports\nmodule.exports = exports;\n","import { IdxDataGridComponent } from './../../interfaces/dx-components';\nimport { LocalizationService } from './../../../framework/base/services/localization-service';\nimport { ErklaervideoService } from '../../services/erklaervideo-service';\nimport { autoinject } from \"aurelia-framework\";\nimport { IErklaerungsvideo } from '../../interfaces/export';\nimport { EventAggregator } from 'aurelia-event-aggregator';\n\n@autoinject\nexport class Erklaervideo {\n constructor(\n private localization: LocalizationService,\n private erklaervideo: ErklaervideoService,\n private eventAggregator: EventAggregator\n ) {\n }\n\n datasource: IErklaerungsvideo[];\n\n erklaervideoGrid: IdxDataGridComponent;\n erklaervideoGridOptions: DevExpress.ui.dxDataGridOptions = {\n height: \"100%\",\n columnAutoWidth: true,\n paging: {\n pageSize: 20\n },\n hoverStateEnabled: true,\n searchPanel: {\n visible: true\n },\n columns: [\n {\n dataField: \"Bezeichnung\",\n caption: this.localization.translateOnce(\"erklaervideos.bezeichnung\"),\n sortIndex: 0,\n sortOrder: \"asc\",\n cellTemplate: (cellElement, cellInfo) => {\n const icon = this.erklaervideo.erklaerungsvideoElementIcon(cellInfo.data);\n\n cellElement.innerHTML = ` ${cellInfo.data.Bezeichnung}`;\n }\n }\n ],\n bindingOptions: {\n dataSource: \"datasource\"\n },\n onRowClick: (e) => {\n if (!e || !e.data) {\n return;\n }\n\n const action = this.erklaervideo.erklaerungsvideoAction(e.data);\n if (!action) {\n return;\n }\n\n action();\n }\n };\n\n bind() {\n this.datasource = this.erklaervideo.getErklaerungsvideoDatasource();\n\n this.eventAggregator.publish(\"suche:clear\", {});\n }\n}\n","module.exports = \" \";","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.id, \".erklaervideo-content .schnuppertermin-filter {\\n display: flex;\\n margin: 6px;\\n}\\n.erklaervideo-content .schnuppertermin-filter > *:not(:first-child) {\\n margin-left: 12px;\\n display: flex;\\n flex-direction: column;\\n}\\n.erklaervideo-content .schnuppertermin-filter > div > div:first-child {\\n padding-bottom: 3px;\\n}\\n.erklaervideo-content .schnuppertermin-filter-grow {\\n flex-grow: 1;\\n}\\n.erklaervideo-content .schnuppertermin-filter-auto {\\n flex-shrink: 0;\\n}\\n.erklaervideo-content .schnuppertermin-filter-center-vertical {\\n display: flex;\\n flex-grow: 1;\\n align-items: center;\\n}\\n.erklaervideo-content .schnuppertermin-infotext-center {\\n text-align: center;\\n}\\n.erklaervideo-content h3 {\\n margin: 0 6px 12px 6px;\\n}\\n.erklaervideo-content .schnuppertermin-info > p {\\n margin: 0px 6px 6px 6px;\\n}\\n.erklaervideo-content .schnuppertermin-info-detail {\\n margin: 12px 0px 12px 0px;\\n}\\n.erklaervideo-content .schnuppertermin-info-detail > p {\\n margin: 2px 0px 0px 6px;\\n}\\n@media (max-width: 768px) {\\n .erklaervideo-content .schnuppertermin-filter {\\n display: block;\\n }\\n .erklaervideo-content .schnuppertermin-filter > *:not(:first-child) {\\n margin-left: 0;\\n margin-top: 12px;\\n }\\n}\\n\", \"\"]);\n// Exports\nmodule.exports = exports;\n","import { autoinject, bindable } from 'aurelia-framework';\nimport { JsonService, BindingService } from '../../../framework/base/services/export';\nimport { ErweiterteSucheService } from '../../services/export';\nimport { ListView } from '../../../framework/forms/export';\nimport { IListViewOptions } from '../../../framework/forms/elements/list-view/export';\nimport { IZitTagOptions } from '../../../zit-ui/elements/zit-tag/export';\nimport { ErweiterteSuche } from '../erweiterte-suche/erweiterte-suche';\nimport { ScopeContainer } from '../../../framework/base/export';\n\n@autoinject\nexport class ErweiterteSucheFilterListView {\n private _itemList: any[];\n\n constructor(\n private element: Element,\n private erweiterteSucheService: ErweiterteSucheService,\n private json: JsonService,\n private bindingService: BindingService\n ) { }\n\n scopeContainer: ScopeContainer;\n\n @bindable erweiterteSuche: ErweiterteSuche;\n\n queryTagOptions: IZitTagOptions = {\n textExpression: \"item._bezeichnung\",\n onDeleteClick: (e, queryItem) => {\n const indexOf = this.erweiterteSuche.selectedFilterList.findIndex(f => f.filter.Id == queryItem.Id);\n if (indexOf < 0) {\n return;\n }\n\n this.erweiterteSuche.selectedFilterList.splice(indexOf, 1);\n this.erweiterteSuche.executeSuche();\n\n const event = new CustomEvent(\"on-filter-deleted\", {\n detail: {\n sender: this,\n wertQueryList: this.erweiterteSuche.wertQueryList\n },\n bubbles: true\n });\n\n this.element.dispatchEvent(event);\n }\n };\n\n queryListView: ListView;\n queryListViewOptions: IListViewOptions = {\n showReloadButton: false,\n useDefaultListItemStyle: false,\n itemClass: \"z--tag-list-view\",\n dataSource: new DevExpress.data.DataSource(\n new DevExpress.data.CustomStore({\n loadMode: \"raw\",\n load: () => {\n return new Promise((resolve) => {\n resolve(this._itemList);\n });\n }\n })\n )\n };\n\n bind() {\n this.scopeContainer = new ScopeContainer({\n bindingContext: this,\n overrideContext: null\n });\n\n this.bindingService.observe({\n scopeContainer: this.scopeContainer,\n expression: \"erweiterteSuche.wertQueryList\",\n callback: () => {\n this.onSucheChanged();\n }\n });\n\n if (this.erweiterteSuche) {\n this.onSucheChanged();\n }\n }\n unbind() {\n this.scopeContainer.disposeAll();\n this.scopeContainer = null;\n }\n\n private onSucheChanged() {\n this._itemList = [];\n\n if (this.erweiterteSuche && this.erweiterteSuche.wertQueryList) {\n this.erweiterteSuche.wertQueryList.forEach(i => {\n const feld = this.erweiterteSuche.filterList.find(f => f.Id == i.Id);\n if (!feld) {\n return;\n }\n\n const newItem = Object.assign({}, i);\n newItem._bezeichnung = this.erweiterteSucheService.getFilterBezeichnung(feld, i.Operator, i.Value);\n this._itemList.push(newItem);\n });\n }\n\n this.queryListViewOptions.dataSource.reload();\n }\n}\n","module.exports = \" \";","import { autoinject, observable, bindable, PLATFORM } from \"aurelia-framework\";\nimport { IdxPopupComponent, IdxValidationGroupComponent, IErweiterteSucheObjektFeldData } from \"../../interfaces/export\";\nimport { SimpleWidgetCreatorService, ICommandData, ContextMenu, DialogConfirmService } from \"../../../framework/forms/export\";\nimport { ScopeContainer, JsonService, LocalizationService } from \"../../../framework/base/export\";\nimport { ObjektInfoService } from \"../../services/objekt-info-service\";\nimport { ErweiterteSucheService, LoginprofilEinstellungenService } from \"../../services/export\";\nimport { ObjektExportEigenschaftDatenTyp } from \"../../enumerations/objekt-export-eigenschaft-daten-typ\";\nimport { ErklaervideoService } from \"../../services/erklaervideo-service\";\nimport { ILoginprofilEinstellung, LoginprofilEinstellungTyp } from \"../../services/loginprofil-einstellungen-service\";\n\n@autoinject\nexport class ErweiterteSuche {\n private _onLoadDataPromise: Promise;\n\n constructor(\n private element: Element,\n private simpleWidgetCreatorService: SimpleWidgetCreatorService,\n private objektInfoService: ObjektInfoService,\n private erweiterteSucheService: ErweiterteSucheService,\n private jsonService: JsonService,\n private loginprofilEinstellungenService: LoginprofilEinstellungenService,\n private localizationService: LocalizationService,\n private dialogConfirmService: DialogConfirmService,\n private erklaervideoService: ErklaervideoService\n ) { }\n\n @bindable @observable objektFullName: string;\n \n sucheTitel = \"\";\n idVorlage: number;\n vorlageBezNeu: string;\n idVorlageErsetzen: number;\n filterList: IErweiterteSucheObjektFeldData[] = [];\n selectedFilterList: ISelectedFilter[] = [];\n vorlageList: ILoginprofilEinstellung[] = [];\n //Wegen altem Code, damit diese in diesem Schritt nicht umgebaut werden muss\n wertQueryList: any[];\n\n scopeContainer: ScopeContainer;\n\n erweiterteSuchePopup: IdxPopupComponent;\n erweiterteSuchePopupOptions: DevExpress.ui.dxPopupOptions = {\n height: \"450px\",\n maxHeight: \"80%\",\n maxWidth: \"750px\"\n };\n vorlageSpeichernPopup: IdxPopupComponent;\n vorlageSpeichernPopupOptions: DevExpress.ui.dxPopupOptions = {\n height: \"auto\",\n maxHeight: \"80%\",\n maxWidth: \"600px\"\n };\n validationGroup: IdxValidationGroupComponent;\n validationGroupOptions: DevExpress.ui.dxValidationGroupOptions = {\n };\n vorlageValidationGroup: IdxValidationGroupComponent;\n vorlageValidationGroupOptions: DevExpress.ui.dxValidationGroupOptions = {\n };\n vorlageSpeichernTextBoxOptions: DevExpress.ui.dxTextBoxOptions = {\n bindingOptions: {\n value: \"vorlageBezNeu\"\n }\n };\n vorlageErsetzenSelectBoxOptions: DevExpress.ui.dxSelectBoxOptions = {\n valueExpr: \"Id\",\n displayExpr: \"Bezeichnung\",\n showClearButton: true,\n bindingOptions: {\n dataSource: \"vorlageList\",\n value: \"idVorlageErsetzen\"\n }\n };\n\n popupCommands: ICommandData[] = [{\n id: \"vorlageWaehlen\",\n idCategory: \"$close\",\n icon: \"fas fa-caret-down\",\n sortIndex: 1499,\n title: \"erweiterte-suche.vorlage-laden\",\n isVisibleExpression: \"vorlageList.length > 0\",\n className: \"erweiterte-suche-vorlage-waehlen\",\n execute: (e) => {\n this.showVorlageContextMenu(e.event);\n }\n }, {\n id: \"clearErweiterteSuche\",\n idCategory: \"$close\",\n icon: \"fas fa-eraser\",\n sortIndex: 1500,\n tooltip: \"erweiterte-suche.suche-zuruecksetzen\",\n isEnabledExpression: \"queryItemList.length > 0\",\n execute: () => {\n this.clearData();\n this.executeSuche();\n this.erweiterteSuchePopup.instance.hide();\n }\n }, {\n id: \"doErweiterteSuche\",\n idCategory: \"$close\",\n icon: \"fas fa-search\",\n sortIndex: 1600,\n tooltip: \"erweiterte-suche.suchen\",\n isEnabled: true,\n execute: () => {\n this.executeSuche();\n this.erweiterteSuchePopup.instance.hide();\n }\n }\n ];\n vorlagePopupCommands: ICommandData[] = [{\n id: \"clearErweiterteSuche\",\n idCategory: \"$close\",\n icon: \"fas fa-save\",\n sortIndex: 1500,\n tooltip: \"erweiterte-suche.vorlage-speichern\",\n execute: () => {\n const isValid = this.vorlageValidationGroup.instance.validate().isValid;\n if (!isValid) {\n return;\n }\n\n this.doSaveVorlage();\n this.vorlageSpeichernPopup.instance.hide();\n }\n }\n ];\n\n bind() {\n this.scopeContainer = new ScopeContainer({\n bindingContext: this,\n overrideContext: null\n });\n\n this.erklaervideoService.attachedToolbarButton(\n \"zit/elements/erweiterte-suche/erweiterte-suche\",\n (i) => this.popupCommands.push(i)\n );\n\n this.simpleWidgetCreatorService.updatePopupOptions({\n idToolbar: \"erweiterteSuchePopupToolbar\",\n caption: \"erweiterte-suche.popup-titel\",\n options: this.erweiterteSuchePopupOptions,\n commands: this.popupCommands,\n scopeContainer: this.scopeContainer\n });\n this.simpleWidgetCreatorService.updatePopupOptions({\n idToolbar: \"vorlagePopupToolbar\",\n caption: \"erweiterte-suche.vorlage-speichern\",\n options: this.vorlageSpeichernPopupOptions,\n commands: this.vorlagePopupCommands,\n scopeContainer: this.scopeContainer\n });\n\n this.vorlageSpeichernTextBoxOptions[\"validators\"] = [{\n type: \"required\",\n message: this.localizationService.translateOnce(\"erweiterte-suche.bezeichnung-pflichtfeld\")\n }];\n\n if (this.objektFullName) {\n this.loadData();\n }\n }\n unbind() {\n this.scopeContainer.disposeAll();\n this.scopeContainer = null;\n }\n\n async showPopup() {\n this.idVorlage = null;\n\n this.setTitel();\n this.loadData();\n\n this.erweiterteSuchePopup.instance.show();\n }\n\n clearSuche() {\n this.selectedFilterList.splice(0, this.selectedFilterList.length);\n this.wertQueryList = null;\n }\n executeSuche() {\n this.setWertQueryList();\n\n const event = new CustomEvent(\"on-execute-suche\", {\n detail: {\n sender: this,\n wertQueryList: this.wertQueryList\n },\n bubbles: true\n });\n\n this.element.dispatchEvent(event);\n } \n async loadData() {\n this._onLoadDataPromise = new Promise(async(resolve) => {\n await this.loadFelder();\n await this.loadVorlagen();\n\n resolve();\n this._onLoadDataPromise = null;\n });\n }\n loadFilter(wertQueryList: any[], executeSuche: boolean = false) {\n if (this._onLoadDataPromise != null) {\n this._onLoadDataPromise.then(() => {\n this.loadFilter(wertQueryList, executeSuche);\n });\n return;\n }\n\n wertQueryList = wertQueryList || [];\n this.clearData();\n\n for (const f of wertQueryList) {\n const filter = this.filterList.find((r) => r.Id == f.Id);\n if (!filter) {\n continue;\n }\n\n this.addFeld(filter, f.Operator, f.Value, true);\n }\n\n if (executeSuche) {\n this.executeSuche();\n } else {\n this.setWertQueryList();\n }\n }\n showVorlageContextMenu(e: Event, executeSucheAfterSelect: boolean = false) {\n const ctxMenu = new ContextMenu();\n\n this.vorlageList.forEach((v) => {\n ctxMenu.items.push({\n text: v.Bezeichnung,\n execute: () => {\n this.useVorlage(v.Id);\n\n if (executeSucheAfterSelect) {\n this.executeSuche();\n }\n }\n });\n });\n \n ctxMenu.show(this.getZButton(e.target));\n }\n\n async onSaveVorlageClicked() {\n const filter = this.getCheckSelectedFilterList();\n if (filter.length == 0) {\n DevExpress.ui.notify(this.localizationService.translateOnce(\"erweiterte-suche.keine-filter-zum-speichern\"), \"error\", 3000);\n return;\n }\n\n this.idVorlageErsetzen = this.idVorlage;\n\n if (this.idVorlage) {\n const vorlage = this.vorlageList.find((v) => v.Id == this.idVorlage);\n\n this.vorlageBezNeu = vorlage\n ? vorlage.Bezeichnung\n : null;\n } else {\n this.vorlageBezNeu = null;\n }\n\n this.vorlageSpeichernPopup.instance.show();\n }\n async onDeleteVorlageClicked() {\n if (!this.idVorlage) {\n return;\n }\n\n const message = this.localizationService.translateOnce(\"erweiterte-suche.delete-vorlage-confirmation-message\");\n const title = this.localizationService.translateOnce(\"erweiterte-suche.delete-vorlage-confirmation-title\");\n\n const dialogResult = await this.dialogConfirmService.show({\n title: title,\n message: message\n });\n \n if (!dialogResult) {\n return;\n }\n\n this.doDeleteVorlage();\n }\n onAddFeldClicked(e: Event) {\n const ctxMenu = new ContextMenu();\n this.filterList.forEach((filter) => {\n ctxMenu.items.push({\n text: filter.Bezeichnung,\n execute: () => {\n this.addFeld(filter, null, null, false, true);\n }\n });\n });\n\n ctxMenu.show(this.getZButton(e.target));\n }\n onRemoveFeldClicked(filter: ISelectedFilter) {\n const indexOf = this.selectedFilterList.indexOf(filter);\n if (indexOf < 0) {\n return;\n }\n\n this.selectedFilterList.splice(indexOf, 1);\n }\n\n objektFullNameChanged() {\n this.clearData();\n this.wertQueryList = null;\n this.loadData();\n }\n\n private addFeld(filter: IErweiterteSucheObjektFeldData, operator?: string, wert?: any, isValid?: boolean, focus?: boolean) {\n this.selectedFilterList.push({\n filter: filter,\n editor: this.getEditor(filter),\n operator: operator || this.getDefaultOperator(filter),\n wert: wert,\n isValid: isValid || false,\n focus: focus\n });\n }\n private clearData() {\n this.selectedFilterList.splice(0, this.selectedFilterList.length);\n }\n private async doDeleteVorlage() {\n if (!this.idVorlage) {\n return;\n }\n\n await this.loginprofilEinstellungenService.deleteEinstellung(this.idVorlage);\n\n const message = this.localizationService.translateOnce(\"erweiterte-suche.delete-vorlage-deleted-message\");\n const title = this.localizationService.translateOnce(\"erweiterte-suche.delete-vorlage-deleted-title\");\n\n DevExpress.ui.notify(message, title, 3000);\n\n this.idVorlage = null;\n this.loadVorlagen();\n }\n private async doSaveVorlage() {\n const einstellung = this.getLoginprofilEinstellungData();\n\n const vorlage = await this.loginprofilEinstellungenService.saveOrCreateEinstellung(einstellung);\n\n await this.loadVorlagen();\n this.idVorlage = vorlage.Id;\n }\n private getCheckSelectedFilterList(): any[] {\n const r = [];\n\n this.selectedFilterList.forEach((s) => {\n if (!s.isValid) {\n return;\n }\n\n r.push({\n Id: s.filter.Id,\n Operator: s.operator,\n Value: s.wert\n });\n });\n\n return r;\n }\n private getDefaultOperator(filter: IErweiterteSucheObjektFeldData) {\n switch (filter.Datentyp) {\n case ObjektExportEigenschaftDatenTyp.Text: {\n return \"like\";\n }\n case ObjektExportEigenschaftDatenTyp.Nummer:\n case ObjektExportEigenschaftDatenTyp.Datum: {\n return \"=\";\n }\n case ObjektExportEigenschaftDatenTyp.Marker:\n case ObjektExportEigenschaftDatenTyp.ObjektStatus:\n case ObjektExportEigenschaftDatenTyp.Auswahlliste: {\n return \"in\";\n }\n default: {\n return \"=\";\n }\n }\n }\n private getEditor(filter: IErweiterteSucheObjektFeldData) {\n switch (filter.Datentyp) {\n case ObjektExportEigenschaftDatenTyp.Text: {\n return PLATFORM.moduleName(\"zit/elements/erweiterte-suche/erweiterte-suche-text\");\n }\n case ObjektExportEigenschaftDatenTyp.Nummer: {\n return PLATFORM.moduleName(\"zit/elements/erweiterte-suche/erweiterte-suche-nummer\");\n }\n case ObjektExportEigenschaftDatenTyp.Datum: {\n return PLATFORM.moduleName(\"zit/elements/erweiterte-suche/erweiterte-suche-datum\");\n }\n case ObjektExportEigenschaftDatenTyp.Marker: {\n return PLATFORM.moduleName(\"zit/elements/erweiterte-suche/erweiterte-suche-marker\");\n }\n case ObjektExportEigenschaftDatenTyp.ObjektStatus: {\n return PLATFORM.moduleName(\"zit/elements/erweiterte-suche/erweiterte-suche-objekt-status\");\n }\n case ObjektExportEigenschaftDatenTyp.Auswahlliste: {\n return PLATFORM.moduleName(\"zit/elements/erweiterte-suche/erweiterte-suche-auswahl\");\n }\n default: {\n return null;\n }\n }\n }\n private getLoginprofilEinstellungData(): ILoginprofilEinstellung {\n return {\n Id: this.idVorlageErsetzen,\n Typ: LoginprofilEinstellungTyp.Suche,\n Entitaet: this.objektFullName,\n Bezeichnung: this.vorlageBezNeu,\n Wert: {\n Columns: this.getCheckSelectedFilterList(),\n Custom: null\n }\n };\n }\n private getZButton(element: Element): Element {\n let parent = element;\n while (parent) {\n if (parent.classList.contains(\"z--button\")) {\n return parent;\n }\n\n parent = parent.parentElement;\n }\n\n return element;\n }\n private async loadFelder() {\n if (this.objektFullName) {\n const r = await this.erweiterteSucheService.loadObjektFelder(this.objektFullName);\n\n this.filterList = r;\n\n if (this.selectedFilterList.length == 0) {\n for (const feld of r) {\n if (!feld.SucheErweitertVorbelegt) {\n continue;\n }\n\n this.addFeld(feld);\n }\n }\n } else {\n this.filterList.splice(0, this.filterList.length);\n }\n }\n private async loadVorlagen() {\n this.vorlageList = this.objektFullName\n ? await this.erweiterteSucheService.loadEinstellungen(this.objektFullName)\n : [];\n }\n private setWertQueryList() {\n const r = this.getCheckSelectedFilterList();\n\n this.wertQueryList = r.length == 0\n ? null\n : r;\n }\n private setTitel() {\n const info = this.objektInfoService.getObjektByFullname(this.objektFullName);\n this.sucheTitel = info.Bezeichnung;\n }\n private useVorlage(id: number) {\n this.idVorlage = id;\n \n const vorlage = this.vorlageList.find((v) => v.Id == id);\n if (!vorlage) {\n return;\n }\n \n this.loadFilter(vorlage.Wert.Columns);\n }\n}\n\nexport interface ISelectedFilter {\n filter: IErweiterteSucheObjektFeldData;\n editor: string;\n operator: any;\n wert?: any;\n isValid?: boolean;\n bezeichnung?: string;\n focus?: boolean;\n}\n","import { autoinject } from \"aurelia-framework\";\nimport { ISelectedFilter } from './erweiterte-suche';\nimport { RestService } from '../../../framework/base/export';\nimport { IdxTagboxComponent } from '../../interfaces/export';\nimport { ErweiterteSucheService } from '../../services/export';\nimport { ObjektExportEigenschaftDatenTyp } from '../../enumerations/export';\n\n@autoinject\nexport class ErweiterteSucheAuswahl {\n private _dataList: any[] = [];\n\n constructor(\n private restService: RestService,\n private erweiterteSucheService: ErweiterteSucheService\n ) { }\n\n filter: ISelectedFilter;\n\n operatorSelectBoxOptions: DevExpress.ui.dxSelectBoxOptions = {\n valueExpr: \"value\",\n displayExpr: \"text\",\n onValueChangedByUser: (e) => {\n this.checkIsValid();\n },\n bindingOptions: {\n value: \"filter.operator\"\n }\n }\n tagBoxOptions: DevExpress.ui.dxTagBoxOptions = {\n valueExpr: \"Id\",\n displayExpr: \"Bezeichnung\",\n showSelectionControls: true,\n applyValueMode: \"useButtons\",\n onSelectionChanged: () => {\n this.checkIsValid();\n },\n bindingOptions: {\n value: \"filter.wert\"\n }\n };\n\n activate(filter) {\n this.filter = filter;\n this.operatorSelectBoxOptions.dataSource = this.erweiterteSucheService.getOperatorDataSource(ObjektExportEigenschaftDatenTyp.Auswahlliste);\n\n if (!this.filter.wert) {\n this.filter.wert = [];\n }\n\n this.tagBoxOptions.items = this.filter.filter.DataList;\n this.checkIsValid();\n }\n\n checkIsValid() {\n const wertList = this.filter.wert;\n\n this.filter.isValid = Array.isArray(wertList)\n && wertList.length > 0\n && Array.isArray(this._dataList);\n\n if (this.filter.isValid) {\n this.filter.bezeichnung = this.erweiterteSucheService.getFilterBezeichnung(this.filter.filter, this.filter.operator, this.filter.wert);\n } else {\n this.filter.bezeichnung = null;\n }\n }\n}\n","module.exports = \" \";","import { autoinject, computedFrom, TaskQueue } from \"aurelia-framework\";\nimport { ISelectedFilter } from './erweiterte-suche';\nimport { GlobalizationService } from '../../../framework/base/export';\nimport { ErweiterteSucheService } from '../../services/export';\nimport { ObjektExportEigenschaftDatenTyp } from '../../enumerations/export';\nimport { IdxDateBoxComponent } from '../../interfaces/export';\n\n@autoinject\nexport class ErweiterteSucheDatum {\n private _prevOperator: string;\n\n constructor(\n private globalizationService: GlobalizationService,\n private erweiterteSucheService: ErweiterteSucheService,\n private taskQueue: TaskQueue\n ) {}\n\n filter: ISelectedFilter;\n\n operatorSelectBoxOptions: DevExpress.ui.dxSelectBoxOptions = {\n valueExpr: \"value\",\n displayExpr: \"text\",\n onValueChangedByUser: (e) => {\n if (e.value == \"between\") {\n this.filter.wert = {\n wert1: null,\n wert2: null\n }\n } else if (this._prevOperator == \"between\") {\n this.filter.wert = null;\n }\n\n this._prevOperator = e.value;\n this.checkIsValid();\n },\n bindingOptions: {\n value: \"filter.operator\"\n }\n }\n dateBox: IdxDateBoxComponent;\n dateBoxOptions: DevExpress.ui.dxDateBoxOptions = {\n //TODO Format aus Eigenschaft übernehmen\n onValueChangedByUser: () => {\n this.checkIsValid();\n },\n bindingOptions: {\n value: \"filter.wert\"\n }\n };\n between1DateBoxOptions: DevExpress.ui.dxDateBoxOptions = {\n onValueChangedByUser: () => {\n this.checkIsValid();\n },\n bindingOptions: {\n value: \"filter.wert.wert1\"\n }\n };\n between2DateBoxOptions: DevExpress.ui.dxDateBoxOptions = {\n onValueChangedByUser: () => {\n this.checkIsValid();\n },\n bindingOptions: {\n value: \"filter.wert.wert2\"\n }\n };\n\n @computedFrom(\"filter.operator\")\n get wertVisible() {\n return this.filter.operator != \"isnull\"\n && this.filter.operator != \"isnotnull\"\n && this.filter.operator != \"between\";\n }\n @computedFrom(\"filter.operator\")\n get isBetweenVisible() {\n return this.filter.operator == \"between\";\n }\n\n activate(filter) {\n this.filter = filter;\n this.operatorSelectBoxOptions.dataSource = this.erweiterteSucheService.getOperatorDataSource(ObjektExportEigenschaftDatenTyp.Datum);\n\n this.dateBoxOptions[\"calendarOptions\"] = {firstDayOfWeek: 1};\n this.dateBoxOptions.displayFormat = this.globalizationService.getFormatterParser(this.filter.filter.Format || \"d\");\n\n this.between1DateBoxOptions[\"calendarOptions\"] = {firstDayOfWeek: 1};\n this.between1DateBoxOptions.displayFormat = this.globalizationService.getFormatterParser(this.filter.filter.Format || \"d\");\n\n this.between2DateBoxOptions[\"calendarOptions\"] = {firstDayOfWeek: 1};\n this.between2DateBoxOptions.displayFormat = this.globalizationService.getFormatterParser(this.filter.filter.Format || \"d\");\n\n this.checkIsValid();\n this._prevOperator = this.filter.operator;\n }\n attached() {\n if (this.filter.focus) {\n this.taskQueue.queueTask(() => {\n if (this.dateBox && this.dateBox.instance) {\n this.dateBox.instance.focus();\n }\n });\n }\n }\n \n checkIsValid() {\n this.filter.isValid = this.filter.operator == \"between\"\n ? (!!this.filter.wert.wert1 && !!this.filter.wert.wert2)\n : (this.filter.operator == \"isnull\" || this.filter.operator == \"isnotnull\" || !!this.filter.wert);\n\n if (this.filter.isValid) {\n this.filter.bezeichnung = this.erweiterteSucheService.getFilterBezeichnung(this.filter.filter, this.filter.operator, this.filter.wert);\n } else {\n this.filter.bezeichnung = null;\n }\n }\n}\n","module.exports = \" \";","import { autoinject } from \"aurelia-framework\";\nimport { ISelectedFilter } from './erweiterte-suche';\nimport { ErweiterteSucheService } from '../../services/export';\nimport { ObjektExportEigenschaftDatenTyp } from '../../enumerations/export';\n\n@autoinject\nexport class ErweiterteSucheMarker {\n constructor(\n private erweiterteSucheService: ErweiterteSucheService\n ) { }\n\n filter: ISelectedFilter;\n\n operatorSelectBoxOptions: DevExpress.ui.dxSelectBoxOptions = {\n valueExpr: \"value\",\n displayExpr: \"text\",\n onValueChangedByUser: (e) => {\n this.checkIsValid();\n },\n bindingOptions: {\n value: \"filter.operator\"\n }\n }\n tagBoxOptions: DevExpress.ui.dxTagBoxOptions = {\n valueExpr: \"Id\",\n displayExpr: \"Bezeichnung\",\n showSelectionControls: true,\n applyValueMode: \"useButtons\",\n onSelectionChanged: () => {\n this.checkIsValid();\n },\n bindingOptions: {\n value: \"filter.wert\"\n }\n };\n\n activate(filter) {\n this.filter = filter;\n this.operatorSelectBoxOptions.dataSource = this.erweiterteSucheService.getOperatorDataSource(ObjektExportEigenschaftDatenTyp.Marker);\n\n if (!this.filter.wert) {\n this.filter.wert = [];\n }\n\n this.tagBoxOptions.items = this.filter.filter.DataList;\n this.checkIsValid();\n }\n\n checkIsValid() {\n const wertList = this.filter.wert;\n\n this.filter.isValid = Array.isArray(wertList)\n && wertList.length > 0\n && Array.isArray(this.filter.filter.DataList);\n\n if (this.filter.isValid) {\n this.filter.bezeichnung = this.erweiterteSucheService.getFilterBezeichnung(this.filter.filter, this.filter.operator, this.filter.wert);\n } else {\n this.filter.bezeichnung = null;\n }\n }\n}\n","module.exports = \" \";","import { autoinject, computedFrom, TaskQueue } from \"aurelia-framework\";\nimport { ISelectedFilter } from './erweiterte-suche';\nimport { GlobalizationService } from '../../../framework/base/export';\nimport { ErweiterteSucheService } from '../../services/export';\nimport { ObjektExportEigenschaftDatenTyp } from '../../enumerations/export';\nimport { IdxNumberBoxComponent } from '../../interfaces/export';\n\n@autoinject\nexport class ErweiterteSucheNummer {\n private _prevOperator: string;\n\n constructor(\n private globalizationService: GlobalizationService,\n private erweiterteSucheService: ErweiterteSucheService,\n private taskQueue: TaskQueue\n ) {}\n\n filter: ISelectedFilter;\n\n operatorSelectBoxOptions: DevExpress.ui.dxSelectBoxOptions = {\n valueExpr: \"value\",\n displayExpr: \"text\",\n onValueChangedByUser: (e) => {\n if (e.value == \"between\") {\n this.filter.wert = {\n wert1: null,\n wert2: null\n }\n } else if (this._prevOperator == \"between\") {\n this.filter.wert = null;\n }\n\n this._prevOperator = e.value;\n this.checkIsValid();\n },\n bindingOptions: {\n value: \"filter.operator\"\n }\n }\n numberBox: IdxNumberBoxComponent;\n numberBoxOptions: DevExpress.ui.dxNumberBoxOptions = {\n bindingOptions: {\n value: \"filter.wert\"\n }\n }; \n between1NumberBoxOptions: DevExpress.ui.dxNumberBoxOptions = {\n onValueChangedByUser: () => {\n this.checkIsValid();\n },\n bindingOptions: {\n value: \"filter.wert.wert1\"\n }\n };\n between2NumberBoxOptions: DevExpress.ui.dxNumberBoxOptions = {\n onValueChangedByUser: () => {\n this.checkIsValid();\n },\n bindingOptions: {\n value: \"filter.wert.wert2\"\n }\n };\n\n @computedFrom(\"filter.operator\")\n get wertVisible() {\n return this.filter.operator != \"isnull\"\n && this.filter.operator != \"isnotnull\"\n && this.filter.operator != \"between\";\n }\n @computedFrom(\"filter.operator\")\n get isBetweenVisible() {\n return this.filter.operator == \"between\";\n }\n\n activate(filter) {\n this.filter = filter;\n this.operatorSelectBoxOptions.dataSource = this.erweiterteSucheService.getOperatorDataSource(ObjektExportEigenschaftDatenTyp.Nummer);\n\n this.numberBoxOptions.format = this.globalizationService.getFormatterParser(this.filter.filter.Format || \"n0\");\n this.between1NumberBoxOptions.format = this.globalizationService.getFormatterParser(this.filter.filter.Format || \"n0\");\n this.between2NumberBoxOptions.format = this.globalizationService.getFormatterParser(this.filter.filter.Format || \"n0\");\n\n this.checkIsValid();\n this._prevOperator = this.filter.operator;\n }\n attached() {\n if (this.filter.focus) {\n this.taskQueue.queueTask(() => {\n if (this.numberBox && this.numberBox.instance) {\n this.numberBox.instance.focus();\n }\n });\n }\n }\n \n checkIsValid() {\n this.filter.isValid = this.filter.operator == \"between\"\n ? (!!this.filter.wert.wert1 && !!this.filter.wert.wert2)\n : (this.filter.operator == \"isnull\" || this.filter.operator == \"isnotnull\" || !!this.filter.wert);\n\n if (this.filter.isValid) {\n this.filter.bezeichnung = this.erweiterteSucheService.getFilterBezeichnung(this.filter.filter, this.filter.operator, this.filter.wert);\n } else {\n this.filter.bezeichnung = null;\n }\n }\n}\n","module.exports = \" \";","import { autoinject } from \"aurelia-framework\";\nimport { ISelectedFilter } from './erweiterte-suche';\nimport { ErweiterteSucheService } from '../../services/export';\nimport { ObjektExportEigenschaftDatenTyp } from '../../enumerations/export';\n\n@autoinject\nexport class ErweiterteSucheObjektStatus {\n constructor(\n private erweiterteSucheService: ErweiterteSucheService\n ) { }\n\n filter: ISelectedFilter;\n\n operatorSelectBoxOptions: DevExpress.ui.dxSelectBoxOptions = {\n valueExpr: \"value\",\n displayExpr: \"text\",\n onValueChangedByUser: (e) => {\n this.checkIsValid();\n },\n bindingOptions: {\n value: \"filter.operator\"\n }\n }\n tagBoxOptions: DevExpress.ui.dxTagBoxOptions = {\n valueExpr: \"Id\",\n displayExpr: \"Bezeichnung\",\n showSelectionControls: true,\n applyValueMode: \"useButtons\",\n onSelectionChanged: () => {\n this.checkIsValid();\n },\n bindingOptions: {\n value: \"filter.wert\"\n }\n };\n\n activate(filter) {\n this.filter = filter;\n this.operatorSelectBoxOptions.dataSource = this.erweiterteSucheService.getOperatorDataSource(ObjektExportEigenschaftDatenTyp.ObjektStatus);\n\n if (!this.filter.wert) {\n this.filter.wert = [];\n }\n\n this.tagBoxOptions.items = this.filter.filter.DataList;\n this.checkIsValid();\n }\n\n checkIsValid() {\n const wertList = this.filter.wert;\n\n this.filter.isValid = Array.isArray(wertList)\n && wertList.length > 0\n && Array.isArray(this.filter.filter.DataList);\n\n if (this.filter.isValid) {\n this.filter.bezeichnung = this.erweiterteSucheService.getFilterBezeichnung(this.filter.filter, this.filter.operator, this.filter.wert);\n } else {\n this.filter.bezeichnung = null;\n }\n }\n}\n","module.exports = \" \";","import { autoinject, computedFrom, TaskQueue } from \"aurelia-framework\";\nimport { ISelectedFilter } from './erweiterte-suche';\nimport { ErweiterteSucheService } from '../../services/export';\nimport { ObjektExportEigenschaftDatenTyp } from '../../enumerations/export';\nimport { IdxTextBoxComponent } from '../../interfaces/export';\n\n@autoinject\nexport class ErweiterteSucheText {\n constructor(\n private erweiterteSucheService: ErweiterteSucheService,\n private taskQueue: TaskQueue\n ) {}\n\n filter: ISelectedFilter;\n\n operatorSelectBoxOptions: DevExpress.ui.dxSelectBoxOptions = {\n valueExpr: \"value\",\n displayExpr: \"text\",\n bindingOptions: {\n value: \"filter.operator\"\n }\n }\n textBox: IdxTextBoxComponent;\n textBoxOptions: DevExpress.ui.dxTextBoxOptions = {\n onValueChangedByUser: () => {\n this.checkIsValid();\n },\n bindingOptions: {\n value: \"filter.wert\"\n }\n };\n\n @computedFrom(\"filter.operator\")\n get wertVisible() {\n return this.filter.operator != \"isnull\"\n && this.filter.operator != \"isnotnull\";\n }\n\n activate(filter) {\n this.filter = filter;\n this.operatorSelectBoxOptions.dataSource = this.erweiterteSucheService.getOperatorDataSource(ObjektExportEigenschaftDatenTyp.Text);\n\n this.checkIsValid();\n }\n attached() {\n if (this.filter.focus) {\n this.taskQueue.queueTask(() => {\n if (this.textBox && this.textBox.instance) {\n this.textBox.instance.focus();\n }\n });\n }\n }\n \n checkIsValid() {\n this.filter.isValid = this.filter.operator == \"isnull\"\n || this.filter.operator == \"isnotnull\"\n || !!this.filter.wert;\n\n if (this.filter.isValid) {\n this.filter.bezeichnung = this.erweiterteSucheService.getFilterBezeichnung(this.filter.filter, this.filter.operator, this.filter.wert);\n } else {\n this.filter.bezeichnung = null;\n }\n }\n}\n","module.exports = \" \";","module.exports = \" \";","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.id, \".erweiterte-suche-selected-filter {\\n display: flex;\\n align-items: center;\\n margin-top: 6px;\\n margin-bottom: 6px;\\n}\\n.erweiterte-suche-selected-filter > *:not(:first-child) {\\n margin-left: 6px;\\n}\\n.erweiterte-suche-selected-filter > .erweiterte-suche-filter-wert {\\n flex-grow: 1;\\n}\\n.erweiterte-suche-add-filter {\\n padding: 0 12px 0 10px !important;\\n}\\n.erweiterte-suche-save-vorlage {\\n padding: 0 10px 0 12px !important;\\n}\\n.erweiterte-suche-filter-bez {\\n flex-shrink: 0;\\n width: 145px;\\n overflow: hidden;\\n white-space: nowrap;\\n text-overflow: ellipsis;\\n}\\n.erweiterte-suche-operator-wert {\\n display: flex;\\n align-items: center;\\n}\\n.erweiterte-suche-operator-wert > *:first-child {\\n flex-shrink: 0;\\n width: 140px;\\n}\\n.erweiterte-suche-operator-wert > *:not(:first-child) {\\n margin-left: 6px;\\n}\\n.erweiterte-suche-operator-wert > *:last-child {\\n flex-grow: 1;\\n}\\n.erweiterte-suche-operator-between {\\n display: flex;\\n align-items: center;\\n}\\n.erweiterte-suche-operator-between > *:not(:first-child) {\\n margin-left: 6px;\\n}\\n.erweiterte-suche-operator-between > *:nth-child(1),\\n.erweiterte-suche-operator-between > *:nth-child(3) {\\n flex-grow: 1;\\n}\\n.erweiterte-suche-vorlage {\\n display: flex;\\n align-items: center;\\n}\\n.erweiterte-suche-vorlage > *:first-child {\\n flex-grow: 1;\\n}\\n.erweiterte-suche-vorlage > *:not(:first-child) {\\n margin-left: 6px;\\n}\\n.erweiterte-suche-bold {\\n font-weight: bold;\\n}\\n.erweiterte-suche-vorlage-waehlen i {\\n width: inherit;\\n}\\n.erweiterte-suche-vorlage-waehlen > *:first-child {\\n order: 2;\\n}\\n.erweiterte-suche-vorlage-waehlen > *:last-child {\\n order: 1;\\n}\\n.erweiterte-suche-vorlage-func {\\n display: flex;\\n align-items: center;\\n}\\n.erweiterte-suche-vorlage-func > div {\\n display: flex;\\n}\\n.erweiterte-suche-vorlage-func > div:nth-child(2) {\\n flex-grow: 1;\\n}\\n\", \"\"]);\n// Exports\nmodule.exports = exports;\n","import { OverrideContext, Scope } from 'aurelia-binding';\nimport { autoinject, bindable } from \"aurelia-framework\";\nimport { LocalizationService } from \"../../../framework/base/export\";\nimport { IdxContextMenuComponent } from \"../../interfaces/export\";\nimport { EventKopierenZeitraum } from \"../event-kopieren-zeitraum/event-kopieren-zeitraum\";\nimport { ScopeContainer } from './../../../framework/base/classes/scope-container';\nimport { LocationService } from \"./../../../framework/base/services/location-service\";\nimport { RestService } from \"./../../../framework/base/services/rest-service\";\nimport { FormUtilsService } from './../../../framework/forms/services/form-utils-service';\n\n@autoinject\nexport class EventKopierenOptionen {\n private NOTIFY_TIMEOUT: number = 3000;\n\n constructor(\n private _restService: RestService,\n private _localizationService: LocalizationService,\n private _locationService: LocationService\n ) { }\n\n @bindable idEvent: number;\n eventKopierenZeitraumPopup: EventKopierenZeitraum;\n\n kopierenContextMenu: IdxContextMenuComponent;\n kopierenContextMenuOptions: DevExpress.ui.dxContextMenuOptions = {\n showEvent: null,\n position: {\n my: \"top\",\n at: \"bottom\"\n },\n items: [\n {\n text: this._localizationService.translateOnce(\"event-kopieren-optionen.event-zeitraeume\")\n },\n {\n text: this._localizationService.translateOnce(\"event-kopieren-optionen.event-zeitraeume-datum\")\n }\n ],\n onItemClick: (e) => {\n if (e.itemIndex === 0) {\n this.kopieren();\n } else {\n this.eventKopierenZeitraumPopup.show({\n IdEvent: this.idEvent,\n callback: (anzahlTage) => {\n this.kopieren(anzahlTage);\n }\n });\n }\n }\n };\n\n showPopover(target: EventTarget) {\n this.kopierenContextMenu.setOption({ \"target\": target });\n this.kopierenContextMenu.instance.show();\n }\n\n async kopieren(tage?: number) {\n const r = await this._restService.post({\n url: this._restService.getApiUrl(\"ZIT/Event/Kopieren\"),\n data: {\n IdEvent: this.idEvent,\n TageVerschieben: tage\n },\n increaseLoadingCount: true\n });\n\n if (!r) {\n return;\n }\n\n DevExpress.ui.notify(this._localizationService.translateOnce(\"base.save_success\"), \"success\", this.NOTIFY_TIMEOUT);\n\n this._locationService.goTo({\n url: `Objekte/Event/${r.IdEvent}`,\n replace: true\n });\n }\n}\n","module.exports = \" \";","import * as moment from \"moment\";\nimport { autoinject } from \"../../../framework/forms/form-export\";\nimport { ScopeContainer } from \"./../../../framework/base/classes/scope-container\";\nimport { GlobalizationService } from \"./../../../framework/base/services/globalization-service\";\nimport { RestService } from \"./../../../framework/base/services/rest-service\";\nimport { ICommandData } from \"./../../../framework/forms/interfaces/command-data\";\nimport { SimpleWidgetCreatorService } from \"./../../../framework/forms/widget-services/simple-widget-creator-service\";\nimport { IdxDateBoxComponent, IdxPopupComponent } from \"./../../interfaces/dx-components\";\n\n@autoinject\nexport class EventKopierenZeitraum {\n private _options: IEventKopierenZeitraum;\n\n constructor(\n private _simpleWidgetCreatorService: SimpleWidgetCreatorService,\n private _restService: RestService,\n private _globalizationService: GlobalizationService\n ) { }\n\n scopeContainer: ScopeContainer;\n verschiebeDate: Date;\n lastZeitraumDate: Date;\n\n popup: IdxPopupComponent;\n popupOptions: DevExpress.ui.dxPopupOptions = {\n contentTemplate: \"contentTemplate\",\n width: \"auto\",\n height: \"auto\"\n };\n\n kopierenMitZeitraumCommand: ICommandData = {\n id: \"save\",\n icon: \"fas fa-save\",\n tooltip: \"base.save\",\n execute: (e) => {\n const verschiebeDatMoment = moment(this.verschiebeDate);\n const lastZeitraumDateMoment = moment(this.lastZeitraumDate);\n const difference = verschiebeDatMoment.diff(lastZeitraumDateMoment, \"days\");\n\n this.popup.instance.hide();\n this._options.callback(difference);\n }\n };\n\n dateBox: IdxDateBoxComponent;\n dateBoxOptions: DevExpress.ui.dxDateBoxOptions = {\n displayFormat: this._globalizationService.getFormatterParser(\"d\"),\n bindingOptions: {\n value: \"verschiebeDate\"\n }\n };\n\n bind() {\n this.scopeContainer = new ScopeContainer({\n bindingContext: this,\n overrideContext: null\n });\n this._simpleWidgetCreatorService.updatePopupOptions({\n idToolbar: \"eventKopierenPopupToolbar\",\n caption: \"event-kopieren-optionen.datum-waehlen\",\n options: this.popupOptions,\n commands: [this.kopierenMitZeitraumCommand],\n scopeContainer: this.scopeContainer\n });\n }\n unbind() {\n this.scopeContainer.disposeAll();\n this.scopeContainer = null;\n }\n\n show(options: IEventKopierenZeitraum) {\n this._options = options;\n this.getLastEventZeitraumDatum();\n this.popup.instance.show();\n }\n async getLastEventZeitraumDatum() {\n const r = await this._restService.get({\n url: this._restService.getWebApiUrl(\"ZIT/Objekte/EventZeitraum\"),\n getOptions: {\n expand: { Kopf: null },\n where: [\"IdEvent\", this._options.IdEvent],\n orderBy: [{ columnName: \"Kopf.StartDatum\", sortOrder: 0 }]\n }\n });\n\n if (r.length == 0) {\n return;\n }\n this.lastZeitraumDate = r[0].Kopf.StartDatum;\n this.verschiebeDate = this.lastZeitraumDate;\n }\n}\n\nexport interface IEventKopierenZeitraum {\n IdEvent: number;\n callback: { (AnzahlTage: number): void };\n}\n","module.exports = \" \";","import { observable } from \"aurelia-binding\";\nimport { bindable, computedFrom } from \"aurelia-framework\";\nimport { autoinject } from \"../../../framework/forms/form-export\";\nimport { ScopeContainer } from \"./../../../framework/base/classes/scope-container\";\nimport { DataSourceService } from \"./../../../framework/base/services/data-source-service\";\nimport { LocalizationService } from \"./../../../framework/base/services/localization-service\";\nimport { RestService } from \"./../../../framework/base/services/rest-service\";\nimport { ICommandData } from \"./../../../framework/forms/interfaces/command-data\";\nimport { SimpleWidgetCreatorService } from \"./../../../framework/forms/widget-services/simple-widget-creator-service\";\nimport { IdxLookupComponent, IdxPopupComponent, IdxSelectBoxComponent, IdxValidationGroupComponent } from \"./../../interfaces/dx-components\";\n\n@autoinject\nexport class EventTeilnehmerZuteilen {\n private _options: IEventTeilnehmerZuteilen;\n private NOTIFY_TIMEOUT: number = 3000;\n\n constructor(\n private _simpleWidgetCreatorService: SimpleWidgetCreatorService,\n private _restService: RestService,\n private _localizationService: LocalizationService,\n private _dataSourceService: DataSourceService) { }\n\n @bindable @observable idEvent: number;\n scopeContainer: ScopeContainer;\n idEventZeitraum: number;\n idPerson: number;\n idStelleninserat: number;\n\n showStelleninserat: boolean = true;\n\n popup: IdxPopupComponent;\n popupOptions: DevExpress.ui.dxPopupOptions = {\n contentTemplate: \"contentTemplate\",\n width: \"600\",\n height: \"auto\"\n };\n\n requiredValidatorOptions: DevExpress.ui.dxValidatorOptions = {\n validationRules: [{ type: \"required\" }]\n };\n validationGroup: IdxValidationGroupComponent;\n validationGroupOptions: DevExpress.ui.dxValidationGroupOptions = {};\n\n saveCommand: ICommandData = {\n id: \"save\",\n icon: \"fas fa-save\",\n tooltip: \"base.save\",\n execute: (e) => {\n const validationResult = this.validationGroup.instance.validate();\n if (!validationResult.isValid) {\n return;\n }\n\n this.saveTeilnehmer();\n }\n };\n\n teilnehmerAuswaehlenLookup: IdxLookupComponent;\n teilnehmerAuswaehlenLookupOptions: DevExpress.ui.dxLookupOptions = {\n valueExpr: \"Id\",\n displayExpr: \"Titel\",\n itemTemplate: \"zit-person-template\",\n bindingOptions: {\n value: \"idPerson\"\n },\n onValueChangedByUser: () => {\n this.idEventZeitraum = null;\n }\n };\n\n zeitraumSelectBox: IdxSelectBoxComponent;\n zeitraumSelectBoxOptions: DevExpress.ui.dxSelectBoxOptions = {\n searchEnabled: true,\n displayExpr: \"DisplayText\",\n valueExpr: \"Id\",\n bindingOptions: {\n value: \"idEventZeitraum\"\n }\n };\n\n stelleninseratEventFilter = {\n webApiCustomKey: \"IdEvent\",\n webApiCustomValue: \"0\"\n };\n stelleninseratSelectBox: IdxSelectBoxComponent;\n stelleninseratSelectBoxOptions: DevExpress.ui.dxSelectBoxOptions = {\n searchEnabled: true,\n displayExpr: \"Titel\",\n itemTemplate: \"zit-stelleninserat-template\",\n valueExpr: \"Id\",\n bindingOptions: {\n value: \"idStelleninserat\"\n }\n };\n\n bind() {\n this.scopeContainer = new ScopeContainer({\n bindingContext: this,\n overrideContext: null\n });\n this._simpleWidgetCreatorService.updatePopupOptions({\n idToolbar: \"eventTeilnehmerZuteilenPopupToolbar\",\n caption: \"event-teilnehmer-zuteilen.teilnehmer\",\n options: this.popupOptions,\n commands: [this.saveCommand],\n scopeContainer: this.scopeContainer\n });\n\n this.setTeilnehmerDataSource();\n this.setEventZeitraumDataSource();\n this.setStelleninseratDataSource();\n }\n unbind() {\n this.scopeContainer.disposeAll();\n this.scopeContainer = null;\n }\n\n async show(options: IEventTeilnehmerZuteilen) {\n this._options = options;\n this.idEventZeitraum = null;\n this.idPerson = null;\n this.idStelleninserat = null;\n \n this.showStelleninserat = await this.isStelleninseratPflicht();\n \n this.popup.instance.show();\n }\n\n idEventChanged(newVal) {\n this.stelleninseratEventFilter.webApiCustomValue = (newVal || 0).toString(); \n }\n \n private async isStelleninseratPflicht() {\n const r = await this._restService.get({\n url: this._restService.getWebApiUrl(`ZIT/Objekte/Event/${this.idEvent}`),\n getOptions: {\n columns: [\"Id\", \"IdEventKopfElement\", \"Titel\"],\n expand: {\n Kopf: {\n columns: [\"Id\", \"IdEventTyp\"],\n expand: {\n EventTyp: {\n columns: [\"Id\", \"IsStelleninseratPflichtBeiAnlageEventTeilnehmer\"]\n }\n }\n }\n }\n },\n increaseLoadingCount: true\n });\n \n return r?.Kopf?.EventTyp?.IsStelleninseratPflichtBeiAnlageEventTeilnehmer || false;\n }\n\n private setEventZeitraumDataSource() {\n const dataSource = this._dataSourceService.createDataSource(\n this.scopeContainer,\n {\n webApiAction: \"ZIT/Objekte/EventZeitraum\",\n webApiWhere: [\"IdEvent\", { \"expression\": \"idEvent\", \"isBound\": true }],\n filters: [{ webApiCustomKey: \"IdPersonExclude\", webApiCustomValue: \"idPerson\" }],\n keyProperty: \"Id\",\n webApiExpand: {\n Kopf: null\n }\n });\n\n if (this.zeitraumSelectBox) {\n this.zeitraumSelectBox.instance.option(\"dataSource\", dataSource);\n } else {\n this.zeitraumSelectBoxOptions.dataSource = dataSource;\n }\n }\n private setStelleninseratDataSource() {\n const dataSource = this._dataSourceService.createDataSource(\n this.scopeContainer,\n {\n webApiAction: \"ZIT/Objekte/Stelleninserat\",\n filters: [this.stelleninseratEventFilter, {\n webApiCustomKey: \"AddStelleninseratCard\",\n webApiCustomValue: \"true\"\n }],\n keyProperty: \"Id\"\n });\n\n if (this.stelleninseratSelectBox) {\n this.stelleninseratSelectBox.instance.option(\"dataSource\", dataSource);\n } else {\n this.stelleninseratSelectBoxOptions.dataSource = dataSource;\n }\n }\n\n private setTeilnehmerDataSource() {\n const dataSource = this._dataSourceService.createDataSource(\n this.scopeContainer,\n {\n webApiAction: \"ZIT/Objekte/Person\",\n webApiColumns: [\"Id\", \"Titel\"],\n filters: [{\n webApiCustomKey: \"AddPersonCard\",\n webApiCustomValue: \"true\"\n }]\n }\n );\n\n if (this.teilnehmerAuswaehlenLookup) {\n this.teilnehmerAuswaehlenLookup.instance.option(\"dataSource\", dataSource);\n } else {\n this.teilnehmerAuswaehlenLookupOptions.dataSource = dataSource;\n }\n }\n\n private async saveTeilnehmer() {\n await this._restService.post({\n url: this._restService.getApiUrl(\"ZIT/Event/CreateTeilnehmer\"),\n data: {\n IdEventZeitraum: this.idEventZeitraum,\n IdPerson: this.idPerson,\n IdStelleninserat: this.idStelleninserat\n },\n increaseLoadingCount: true\n });\n\n DevExpress.ui.notify(this._localizationService.translateOnce(\"base.save_success\"), \"success\", this.NOTIFY_TIMEOUT);\n\n this.popup.instance.hide();\n this._options.callback();\n }\n}\n\nexport interface IEventTeilnehmerZuteilen {\n callback: { (): void };\n}\n","module.exports = \" \";","import * as moment from \"moment\";\nimport { FormEventService, FormUtilsService } from \"../../../framework/forms/export\";\nimport { autoinject } from \"../../../framework/forms/form-export\";\nimport { ScopeContainer } from \"./../../../framework/base/classes/scope-container\";\nimport { IDataSourceOptionFilter } from \"./../../../framework/base/interfaces/data-source-option-filter\";\nimport { RestService } from \"./../../../framework/base/services/rest-service\";\nimport { FormBase } from \"./../../../framework/forms/classes/form-base\";\nimport { ListView } from \"./../../../framework/forms/elements/list-view/list-view\";\nimport { IListViewOptions } from \"./../../../framework/forms/elements/list-view/list-view-options\";\nimport { IZitCardOptions, ZitCardTyp } from \"./../../../zit-ui/elements/zit-card/zit-card-options\";\nimport { IZitTagOptions } from \"./../../../zit-ui/elements/zit-tag/zit-tag-options\";\nimport { IZitToolbarOptions } from \"./../../../zit-ui/elements/zit-toolbar/zit-toolbar-options\";\nimport { EventZeitraumService } from \"./../../services/event-zeitraum-service\";\nimport { StartupService } from \"./../../services/startup-service\";\nimport { LocationService } from \"../../../framework/base/services/location-service\";\nimport { GlobalizationService } from \"../../../framework/base/services/globalization-service\";\nimport { EventAggregator, Subscription } from \"aurelia-event-aggregator\";\nimport { TaskQueue } from \"aurelia-framework\";\nimport { IdxSchedulerComponent, IdxScrollViewComponent } from \"../../interfaces/dx-components\";\n\n@autoinject\nexport class Event {\n private _formSavedSubscription: {(): void};\n private _routerViewAnimationEndSubscription: Subscription;\n\n constructor(\n private _restService: RestService,\n private _startupService: StartupService,\n private _eventZeitraumService: EventZeitraumService,\n private _formEventService: FormEventService,\n private _formUtilsService: FormUtilsService,\n private _globalizationService: GlobalizationService,\n private _locationService: LocationService,\n private _eventAggregator: EventAggregator,\n private _taskQueue: TaskQueue) { }\n\n scopeContainer: ScopeContainer;\n mainForm: FormBase;\n ansichtTyp: EventAnsichtTyp;\n filter: IFilter;\n defaultFilter: IFilter;\n currentEventTypFilterList: IEventTypFilter[];\n schedulerDataSource: DevExpress.data.DataSource;\n\n eventAnsichtToolbarOptions: IZitToolbarOptions = {\n title: \"event.ergebnis\",\n smallToolbar: true,\n items: [{\n id: \"showCardListToolbarOptionen\",\n icon: \"fas fa-th-list\",\n classNameExpression: \"ansichtTyp == 0 ? 'z--button-active' : ''\",\n tooltip: \"event-veranstaltung.uebersicht\",\n execute: () => {\n this.ansichtTyp = EventAnsichtTyp.Card;\n this.reloadDataSource();\n }\n }, {\n id: \"showKalenderListToolbarOptionen\",\n icon: \"far fa-calendar-alt\",\n classNameExpression: \"ansichtTyp == 1 ? 'z--button-active' : ''\",\n tooltip: \"event-veranstaltung.kalenderansicht\",\n execute: () => {\n this.ansichtTyp = EventAnsichtTyp.Kalender;\n this.reloadDataSource();\n }\n }]\n };\n\n eventZeitraumCardOptions: IZitCardOptions = {\n isClickEnabled: true,\n useDefaultBindings: true,\n typ: ZitCardTyp.Kompakt\n };\n\n eventZeitraumListView: ListView;\n eventZeitraumListViewOptions: IListViewOptions = {\n useDefaultListItemStyle: false,\n itemClass: \"col-xs-12 col-sm-6 col-lg-4 col-xl-3\"\n };\n\n eventTypFilterTagOptions: IZitTagOptions = {\n textExpression: \"item.BezeichnungExtern\",\n backgroundColorExpression: `item.IsAktiv ? '${this._startupService.startupInfo.Skin.Farbe}' : ''`,\n colorExpression: \"item.IsAktiv ? 'white' : 'black'\",\n isDeleteClickEnabledExpression: \"item.IsAktiv\",\n onClick: (ev, tag: IEventTypFilter) => {\n ev.preventDefault();\n ev.stopPropagation();\n\n const indexOf = this.filter.idEventTypList.indexOf(tag.Id);\n if (indexOf >= 0) {\n return;\n }\n\n this.filter.idEventTypList.push(tag.Id);\n this.updateEventTypTagList();\n\n this.reloadDataSource();\n },\n onDeleteClick: (ev, tag: IEventTypFilter) => {\n ev.preventDefault();\n ev.stopPropagation();\n\n const indexOf = this.filter.idEventTypList.indexOf(tag.Id);\n if (indexOf < 0) {\n return;\n }\n\n this.filter.idEventTypList.splice(indexOf, 1);\n this.updateEventTypTagList();\n\n this.reloadDataSource();\n }\n };\n\n scheduler: IdxSchedulerComponent;\n schedulerOptions: DevExpress.ui.dxSchedulerOptions = {\n bindingOptions: {\n dataSource: \"schedulerDataSource\"\n },\n views: [\"month\"],\n currentView: \"month\",\n currentDate: new Date(),\n height: 600,\n textExpr: \"Card.Betreff\",\n descriptionExpr: \"Card.Betreff\",\n startDateExpr: \"Card.Start\",\n endDateExpr: \"Card.Ende\",\n editing: false,\n appointmentTooltipTemplate: (model) => {\n const data = model.appointmentData;\n \n const r = [];\n r.push(`
${data.Card.Betreff}
`);\n \n if (data.Card.GeschaeftspartnerName) {\n r.push(`
${data.Card.GeschaeftspartnerName}
`);\n }\n if (data.Card.GeschaeftspartnerSchuleName) {\n r.push(`
${data.Card.GeschaeftspartnerSchuleName}
`);\n }\n\n r.push(`
${this._globalizationService.format(data.Card.Start, \"g\")} - ${this._globalizationService.format(data.Card.Ende, \"g\")}
`)\n \n if (data.Card.ort) {\n r.push(`
${data.Card.Ort}
`);\n }\n \n return r.join(\"\");\n },\n onAppointmentFormOpening: (e) => {\n e.cancel = true;\n },\n onAppointmentClick: (e) => {\n this._locationService.goTo({\n url: `Objekte/EventZeitraum/${e.appointmentData.Id}`,\n currentViewModel: this.mainForm\n });\n \n e.cancel = true;\n },\n onAppointmentDblClick: (e) => {\n e.cancel = true;\n }\n };\n\n bind(bindingContext) {\n this.mainForm = bindingContext;\n\n this.scopeContainer = new ScopeContainer({\n bindingContext: this,\n overrideContext: null\n });\n\n this.filter = {\n idEventTypList: []\n };\n this.defaultFilter = {\n idEventTypList: []\n };\n\n this._formSavedSubscription = this._formEventService.onSaved.register(async(args) => {\n const model = args.form.models.modelWithKeyId;\n if (!model) {\n return;\n }\n\n switch (model.webApiAction) {\n case \"ZIT/Objekte/Event\":\n case \"ZIT/Objekte/EventZeitraum\": {\n this.reloadDataSource();\n break;\n }\n default: {\n break;\n }\n }\n });\n \n this._routerViewAnimationEndSubscription = this._eventAggregator.subscribe(\"router:view-animation-end\", (e) => {\n this._taskQueue.queueTask(() => {\n if (this.scheduler && this.scheduler.instance) {\n this.scheduler.instance.repaint();\n }\n });\n });\n }\n unbind() {\n this.scopeContainer.disposeAll();\n \n this._formSavedSubscription();\n this._formSavedSubscription = null;\n }\n\n async attached() {\n await this.setEventTypList();\n this.setDefaultFilter();\n this.updateEventTypTagList();\n\n this.ansichtTyp = EventAnsichtTyp.Card;\n this.setEventZeitraumDataSources();\n }\n\n private reloadDataSource() {\n if (this.ansichtTyp == EventAnsichtTyp.Card) {\n this.eventZeitraumListViewOptions.dataSource.reload();\n } else {\n this.schedulerDataSource.reload();\n }\n }\n\n private setEventZeitraumDataSources() {\n this.schedulerDataSource = this.createEventDataSource();\n this.eventZeitraumListViewOptions.dataSource = this.createEventDataSource();\n }\n\n private createEventDataSource() {\n return this._eventZeitraumService.createEventZeitraumDataSource(this.scopeContainer,\n () => {\n const where: any[] = [\n [\"Event.Kopf.ShowVeranstaltungsmaske\", true],\n [[\"Kopf.KontingentGesamt\", \"null\"], \"or\", [\"Kopf.KontingentGesamt\", \">\", 0]]];\n\n if (this.ansichtTyp == EventAnsichtTyp.Card) {\n where.push([\"Kopf.Ende\",\n \">=\",\n moment(new Date())\n .startOf(\"day\")\n .toDate()\n ]);\n }\n\n const filter = this.filter.idEventTypList.length == 0 ? this.defaultFilter : this.filter;\n\n if (filter.idEventTypList.length > 0) {\n const tempIdEventTypListWhere = [];\n for (let i = 0; i < filter.idEventTypList.length; i++) {\n tempIdEventTypListWhere.push([\"Event.Kopf.IdEventTyp\", filter.idEventTypList[i]]);\n if (i + 1 < filter.idEventTypList.length) {\n tempIdEventTypListWhere.push(\"or\");\n }\n }\n where.push(tempIdEventTypListWhere);\n }\n return where;\n },\n () => {\n const filter: IDataSourceOptionFilter[] = [];\n filter.push({\n webApiCustomKey: \"AddEventZeitraumCard\",\n webApiCustomValue: \"true\"\n }, {\n webApiCustomKey: \"ObjektStatusSammlungCode\",\n webApiCustomValue: \"'AKTIV'\"\n });\n return filter;\n },\n [{ columnName: \"Kopf.Start\", sortOrder: 0 }, { columnName: \"DisplayText\", sortOrder: 0 }]\n );\n }\n\n private async setEventTypList() {\n this.currentEventTypFilterList = await this._restService.get({\n url: this._restService.getWebApiUrl(\"ZIT/Stammdaten/EventTyp\"),\n getOptions: {\n columns: [\"Id\", \"BezeichnungExtern\"],\n customs: [\n { key: \"ShowInVerstaltungsmaske\", value: true }\n ]\n }\n });\n }\n\n private updateEventTypTagList() {\n if (!this.currentEventTypFilterList) {\n return;\n }\n\n for (const tag of this.currentEventTypFilterList) {\n tag.IsAktiv = this.filter.idEventTypList.indexOf(tag.Id) >= 0;\n }\n }\n\n private setDefaultFilter() {\n for (const tag of this.currentEventTypFilterList) {\n this.defaultFilter.idEventTypList.push(tag.Id);\n }\n }\n}\n\nexport interface IFilter {\n idEventTypList: number[];\n}\n\nexport interface IEventTypFilter {\n Id: number;\n Bezeichnung: string;\n IsAktiv: boolean;\n}\n\nexport enum EventAnsichtTyp {\n Card = 0,\n Kalender = 1\n}\n","module.exports = \" \";","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.id, \".event__event-typ-filter zit-tag {\\n display: inline-block;\\n margin-top: 6px;\\n}\\n\", \"\"]);\n// Exports\nmodule.exports = exports;\n","import { autoinject } from \"aurelia-framework\";\nimport { FormPopupService } from '../../services/form-popup-service';\nimport { SimpleWidgetCreatorService, ICommandData } from '../../../framework/forms/export';\nimport { ScopeContainer, DataSourceService, IDataSourceOptionFilter, GlobalizationService } from '../../../framework/base/export';\nimport { IdxPopupComponent, IdxFormComponent } from '../../interfaces/export';\n\n@autoinject\nexport class FormPopup {\n private _isSubmit: boolean;\n\n constructor(\n private _formPopupService: FormPopupService,\n private _simpleWidgetCreatorService: SimpleWidgetCreatorService,\n private _globalizationService: GlobalizationService,\n private _dataSourceService: DataSourceService\n ) {\n this._formPopupService.formPopup = this;\n }\n \n options: IFormPopupOptions;\n scopeContainer: ScopeContainer;\n\n popup: IdxPopupComponent;\n popupOptions: DevExpress.ui.dxPopupOptions = {\n contentTemplate: \"contentTemplate\",\n width: \"auto\",\n height: \"auto\",\n onShown: (e: any) => {\n e.component.repaint();\n },\n onHidden: (e: any) => {\n if (!this._isSubmit && this.options.onFormCancel) {\n this.options.onFormCancel();\n }\n }\n };\n\n scrollViewOptions: DevExpress.ui.dxScrollViewOptions = {\n height: \"100%\"\n };\n\n uebernehmenCommand: ICommandData = {\n id: \"uebernehmenCommand\",\n icon: \"fas fa-check\",\n sortIndex: 1000,\n isVisible: true,\n execute: () => {\n if (this.options.validationEnabled) {\n const r = this.form.instance.validate();\n if (!r.isValid) {\n return;\n }\n }\n\n if (this.options.onFormSubmit) {\n this.options.onFormSubmit(this.options.data);\n }\n\n this._isSubmit = true;\n this.popup.instance.hide();\n }\n }\n\n form: IdxFormComponent;\n formOptions: DevExpress.ui.dxFormOptions = {\n showColonAfterLabel: false,\n showRequiredMark: false,\n onInitialized: (ev) => {\n if (this.options.onFormInitialized) {\n this.options.onFormInitialized(ev.component);\n }\n },\n onFieldDataChanged: (ev) => {\n if (this.options.onFormDataChanged) {\n this.options.onFormDataChanged(ev);\n }\n }\n };\n\n bind() {\n this.scopeContainer = new ScopeContainer({\n bindingContext: this,\n overrideContext: null\n });\n\n this._simpleWidgetCreatorService.updatePopupOptions({\n idToolbar: \"formPopupToolbar\",\n caption: \"form-popup.titel\",\n scopeContainer: this.scopeContainer,\n options: this.popupOptions,\n commands: [this.uebernehmenCommand]\n });\n }\n unbind() {\n this.scopeContainer.disposeAll();\n this.scopeContainer = null;\n }\n \n show(options: IFormPopupOptions) {\n this._isSubmit = false;\n\n if (!options.data) {\n options.data = {};\n }\n\n this.options = options;\n\n if (options.validationEnabled == void(0) && typeof options.formDef === \"string\") {\n options.validationEnabled = true;\n }\n\n this.uebernehmenCommand.isVisible = options.onFormSubmit != void(0);\n\n this.updatePopupOptions();\n this.updateFormOptions();\n this.popup.instance.show();\n }\n\n private updatePopupOptions() {\n const options = {\n width: this.options.width || \"auto\",\n height: this.options.height || \"auto\"\n };\n\n if (this.popup && this.popup.instance) {\n this.popup.setOption(options);\n } else {\n Object.assign(this.popupOptions, options);\n }\n }\n private updateFormOptions() {\n const options = {\n formData: this.options.data,\n items: this.getFormItems()\n };\n\n //OK, nicht ganz optimal, aber reicht für die Zwecke ;-)\n options.colCount = options.items.reduce((p, c) => {\n return c.colSpan && p < c.colSpan\n ? c.colSpan\n : p;\n }, 1);\n\n if (this.form && this.form.instance) {\n this.form.setOption(options);\n\n if (this.options.onFormInitialized) {\n this.options.onFormInitialized(this.form.instance);\n }\n } else {\n Object.assign(this.formOptions, options);\n }\n }\n private getFormItems(): DevExpress.ui.dxFormSimpleItem[] {\n if (this.options.formDef == \"ansprechperson\" || this.options.formDef == \"ansprechpersonMitGueltigVon\" || this.options.formDef == \"ansprechpersonMitGueltigkeit\") { \n const ap = this.createSelectBox(\"ZIT/Objekte/Ansprechperson\", \"Titel\", [\"FunktionTagText\"]);\n\n if (this.options.formDef == \"ansprechpersonMitGueltigkeit\") {\n delete ap.width;\n }\n\n const r: DevExpress.ui.dxFormSimpleItem[] = [{\n dataField: \"item\",\n editorType: \"dxSelectBox\",\n label: { visible: false },\n isRequired: true,\n colSpan: this.options.formDef == \"ansprechpersonMitGueltigkeit\" ? 2 : 1,\n editorOptions: ap\n }];\n\n if (this.options.formDef == \"ansprechpersonMitGueltigVon\" || this.options.formDef == \"ansprechpersonMitGueltigkeit\") {\n r.push({\n dataField: \"gueltigVon\",\n editorType: \"dxDateBox\",\n label: { text: \"Gültig von\" },\n isRequired: true,\n editorOptions: {\n displayFormat: this._globalizationService.getFormatterParser(\"d\")\n }\n });\n }\n if (this.options.formDef == \"ansprechpersonMitGueltigkeit\") {\n r.push({\n dataField: \"gueltigBis\",\n editorType: \"dxDateBox\",\n label: { text: \"Gültig bis\" },\n isRequired: true,\n editorOptions: {\n displayFormat: this._globalizationService.getFormatterParser(\"d\")\n }\n });\n }\n\n return r;\n } else if (this.options.formDef == \"geschaeftspartner\") {\n return [{\n dataField: \"item\",\n editorType: \"dxSelectBox\",\n label: { visible: false },\n isRequired: true,\n editorOptions: this.createSelectBox(\"ZIT/Objekte/Geschaeftspartner\", \"Name1\")\n }];\n } else if (this.options.formDef == \"person\") {\n return [{\n dataField: \"item\",\n editorType: \"dxSelectBox\",\n label: { visible: false },\n isRequired: true,\n editorOptions: this.createSelectBox(\"ZIT/Objekte/Person\", \"Titel\")\n }];\n } else if (this.options.formDef == \"stelleninserat\") {\n return [{\n dataField: \"item\",\n editorType: \"dxLookup\",\n label: { visible: false },\n isRequired: true,\n editorOptions: {\n closeOnOutsideClick: true,\n searchEnabled: true,\n searchMode: \"contains\",\n itemTemplate: \"zit-stelleninserat-template\",\n displayExpr: \"Titel\",\n width: \"500px\",\n dataSource: this._dataSourceService.createDataSource(\n this.scopeContainer, {\n webApiAction: \"ZIT/Objekte/Stelleninserat\",\n webApiColumns: [\"Id\", \"Titel\"], \n webApiSearchtextEnabled: true,\n filters: [{webApiCustomKey: \"AddStelleninseratCard\", webApiCustomValue: \"true\"}]\n }\n )\n }\n }];\n } else if (Array.isArray(this.options.formDef)) {\n return this.options.formDef;\n } else {\n return [this.options.formDef];\n }\n }\n private createSelectBox(webApiUrl: string, displayExpr: string, additionalColumns: string[] = []) {\n return {\n displayExpr: displayExpr,\n searchExpr: displayExpr,\n searchEnabled: true,\n width: \"300px\",\n dataSource: this.createDataSource(webApiUrl, displayExpr, additionalColumns)\n };\n }\n private createDataSource(webApiUrl: string, displayExpr: string, additionalColumns: string[] = []) {\n return this._dataSourceService.createDataSource(\n this.scopeContainer, {\n webApiAction: webApiUrl,\n webApiColumns: this.options.webApiColumns || [\"Id\", displayExpr, ...additionalColumns],\n webApiWhere: this.options.webApiWhere,\n keyProperty: \"Id\",\n filters: this.options.webApiFilters\n }\n );\n }\n}\n\nexport interface IFormPopupOptions {\n titel: string;\n formDef: any[] | object | \"ansprechperson\" | \"ansprechpersonMitGueltigVon\" | \"ansprechpersonMitGueltigkeit\" | \"geschaeftspartner\" | \"person\" | \"stelleninserat\";\n data?: any;\n webApiWhere?: any[];\n webApiColumns?: string[];\n webApiFilters?: IDataSourceOptionFilter[];\n width?: string;\n height?: string;\n validationEnabled?: boolean;\n\n onFormInitialized?: {(form: DevExpress.ui.dxForm)};\n onFormDataChanged?: {(e: {component?: DevExpress.ui.dxForm, element?: DevExpress.core.dxElement, model?: any, dataField?: string, value?: any})};\n\n onFormSubmit?: {(model: any): void};\n onFormCancel?: {(): void};\n}\n","module.exports = \" \";","import { autoinject, bindable } from \"aurelia-framework\";\n\n@autoinject\nexport class Fortschritt {\n @bindable anzahl: number;\n @bindable index: number;\n @bindable letzteAktiv: boolean;\n}","module.exports = \"\";","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.id, \"fortschritt {\\n display: flex;\\n border-radius: 10px;\\n overflow: hidden;\\n border: 1px solid #ddd;\\n}\\nfortschritt > div {\\n flex-grow: 1;\\n height: 25px;\\n}\\nfortschritt > div:not(:first-child) {\\n margin-left: 2px;\\n}\\nfortschritt .fortschritt-current {\\n background-color: #FFEB3A;\\n}\\nfortschritt .fortschritt-selected {\\n background-color: #47bf06;\\n}\\nfortschritt .fortschritt-unselected {\\n background-color: #ddd;\\n}\\n\", \"\"]);\n// Exports\nmodule.exports = exports;\n","import { autoinject } from \"aurelia-framework\";\nimport { ScopeContainer } from \"../../../framework/base/export\";\nimport { SimpleWidgetCreatorService } from \"../../../framework/forms/export\";\nimport { IdxPopupComponent } from \"../../interfaces/export\";\nimport { FotoPopupService, IFotoPopupShowOptions } from \"../../services/foto-popup-service\";\nimport { FileService } from \"./../../../framework/base/services/file-service\";\n\n@autoinject\nexport class FotoPopup {\n private _options: IFotoPopupShowOptions; \n\n constructor(\n private _fotoPopupService: FotoPopupService,\n private _simpleWidgetCreatorService: SimpleWidgetCreatorService,\n private _fileService: FileService) {\n this._fotoPopupService.popup = this;\n }\n\n scopeContainer: ScopeContainer;\n imgSource: any;\n popupTitle: string;\n\n popup: IdxPopupComponent;\n popupOptions: DevExpress.ui.dxPopupOptions = {\n width: \"auto\",\n height: \"auto\"\n };\n\n bind() {\n this.scopeContainer = new ScopeContainer({\n bindingContext: this,\n overrideContext: null\n });\n this._simpleWidgetCreatorService.updatePopupOptions({\n idToolbar: \"fotoPopupToolbar\",\n caption: \"foto-popup.popup-title\",\n options: this.popupOptions,\n scopeContainer: this.scopeContainer\n });\n }\n unbind() {\n this.scopeContainer.disposeAll();\n this.scopeContainer = null;\n }\n\n show(options: IFotoPopupShowOptions) {\n this._options = options;\n this.popupTitle = options.name ? \"Foto \" + options.name : \"\";\n this.imgSource = this.getImgSource(options.dmsLink);\n if (!this.imgSource) {\n return;\n }\n this.popup.instance.show();\n }\n\n getImgSource(dmsLink: string) {\n if (dmsLink == void 0) {\n return \"\";\n }\n\n return this._fileService.getInlineUrl(dmsLink);\n }\n}\n","module.exports = \" \";","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.id, \".foto-popup__container {\\n display: flex;\\n justify-content: center;\\n align-items: center;\\n}\\n.foto-popup__container > img {\\n max-height: 400px;\\n width: auto;\\n}\\n\", \"\"]);\n// Exports\nmodule.exports = exports;\n","import { autoinject, bindable } from 'aurelia-framework';\nimport { CustomEditPopupService } from '../../services/export';\nimport { LocalizationService } from '../../../framework/base/export';\nimport { ICommandData } from '../../../framework/forms/export';\nimport { IdxContextMenuComponent } from '../../interfaces/export';\n@autoinject\nexport class GeschaeftspartnerErweiterteOptionen {\n constructor(\n private customEditPopup: CustomEditPopupService,\n private localization: LocalizationService\n ) { }\n\n @bindable idGeschaeftspartner: number;\n\n erweiterteContextMenu: IdxContextMenuComponent;\n erweiterteContextMenuOptions: DevExpress.ui.dxContextMenuOptions = {\n showEvent: null,\n position: {\n my: \"top\",\n at: \"bottom\"\n },\n items: [\n {\n text: this.localization.translateOnce(\"geschaeftspartner-erweiterte-optionen.entlohnungschema-aendern\")\n },\n {\n text: this.localization.translateOnce(\"geschaeftspartner-erweiterte-optionen.gruppierung-aendern\")\n }\n ],\n onItemClick: (e) => {\n if (e.itemIndex === 0) {\n this.showEntlohnungschemaPopup();\n } else {\n this.showGruppierungPopup();\n }\n }\n }\n\n showPopover(target: EventTarget) {\n this.erweiterteContextMenu.setOption({ \"target\": target });\n \n this.erweiterteContextMenu.instance.show();\n }\n\n showGruppierungPopup() {\n this.customEditPopup.geschaeftspartnerGruppierung.show({\n mappings: {\n \"$v_idGeschaeftspartner\": this.idGeschaeftspartner\n }\n });\n }\n showEntlohnungschemaPopup() {\n this.customEditPopup.geschaeftspartnerEntlohnungsschema.show({\n mappings: {\n \"$v_idGeschaeftspartner\": this.idGeschaeftspartner\n }\n });\n }\n}\n","module.exports = \" \";","import { autoinject } from \"aurelia-framework\";\nimport { HtmlEditorExtensionService } from '../../../zit-ui/services/html-editor-extension-service';\nimport { ICommandData } from '../../../framework/forms/interfaces/command-data';\nimport { ScopeContainer } from '../../../framework/base/export';\nimport { SimpleWidgetCreatorService } from '../../../framework/forms/export';\nimport { IdxPopupComponent } from '../../interfaces/export';\n\n@autoinject\nexport class HtmlEditorExtension {\n private _callback: { (src: string, width: string, height: string) }\n\n constructor(\n private _htmlEditorExtensionService: HtmlEditorExtensionService,\n private _simpleWidgetCreator: SimpleWidgetCreatorService\n ) {\n this._htmlEditorExtensionService.element = this;\n this.createDefaultModel();\n }\n\n typ: string = \"\";\n\n scopeContainer: ScopeContainer;\n model: IModel;\n\n popup: IdxPopupComponent;\n popupOptions: DevExpress.ui.dxPopupOptions = {\n contentTemplate: \"contentTemplate\",\n width: \"500px\",\n height: \"auto\"\n }\n popupCommands: ICommandData[] = [{\n id: \"uebernehmenCommand\",\n idCategory: \"$start\",\n icon: \"fas fa-check\",\n tooltip: \"html-editor-extension.uebernehmen\",\n sortIndex: 1600,\n execute: () => {\n if (!this.model.src) {\n DevExpress.ui.notify(\"Url ist Pflicht\", \"error\", 3000);\n return;\n }\n\n this.popup.instance.hide();\n this._callback(this.model.src, this.model.width, this.model.height);\n }\n }];\n\n srcOptions: DevExpress.ui.dxTextBoxOptions = {\n bindingOptions: {\n value: \"model.src\"\n }\n }\n widthOptions: DevExpress.ui.dxTextBoxOptions = {\n bindingOptions: {\n value: \"model.width\"\n }\n }\n heightOptions: DevExpress.ui.dxTextBoxOptions = {\n bindingOptions: {\n value: \"model.height\"\n }\n }\n\n bind() {\n this.scopeContainer = new ScopeContainer({\n bindingContext: this,\n overrideContext: null\n });\n\n this._simpleWidgetCreator.updatePopupOptions({\n idToolbar: \"htmlEditorExtensionPopupToolbar\",\n caption: \"html-editor-extension.einfuegen\",\n options: this.popupOptions,\n commands: this.popupCommands,\n scopeContainer: this.scopeContainer\n });\n }\n unbind() {\n this.scopeContainer.disposeAll();\n }\n\n addImage(callback: { (src: string, width: string, height: string) }) {\n this.typ = \"Bild\";\n this.show(callback);\n }\n addVideo(callback: { (src: string, width: string, height: string) }) {\n this.typ = \"Video\";\n this.show(callback);\n }\n\n private show(callback: { (src: string, width: string, height: string) }) {\n this._callback = callback;\n this.createDefaultModel();\n\n this.popup.instance.show();\n }\n private createDefaultModel() {\n this.model = {}\n }\n}\ninterface IModel {\n src?: string;\n width?: string;\n height?: string;\n}","module.exports = \" \";","import { autoinject, bindable } from \"aurelia-framework\";\n\n@autoinject\nexport class IframeElement {\n constructor() {}\n\n @bindable src: string;\n}","module.exports = \"\";","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.id, \"iframe-element iframe {\\n width: 100%;\\n height: 300px;\\n border: none;\\n}\\n\", \"\"]);\n// Exports\nmodule.exports = exports;\n","import { autoinject } from \"aurelia-framework\";\nimport { IdxPopupComponent } from '../../interfaces/dx-components';\nimport { BrowserService, ScopeContainer } from '../../../framework/base/export';\nimport { IframePopupService, IFramePopupShowOptions } from '../../services/iframe-popup-service';\nimport { SimpleWidgetCreatorService } from '../../../framework/forms/export';\n\n@autoinject\nexport class IframePopup {\n constructor(\n private _browserService: BrowserService,\n private _iframePopupService: IframePopupService,\n private _simpleWidgetCreatorService: SimpleWidgetCreatorService\n ) {\n this._iframePopupService.popup = this;\n this.isMobil = _browserService.isMobile;\n }\n\n isMobil: boolean;\n videoVisible: boolean;\n options: IFramePopupShowOptions;\n popupTitel: string;\n\n scopeContainer: ScopeContainer;\n\n popup: IdxPopupComponent;\n popupOptions: DevExpress.ui.dxPopupOptions = {\n height: \"auto\",\n width: \"auto\",\n onShowing: () => {\n this.videoVisible = true;\n },\n onShown: (ev) => {\n ev.component.repaint()\n },\n onHidden: () => {\n this.videoVisible = false;\n }\n }\n\n bind() {\n this.scopeContainer = new ScopeContainer({\n bindingContext: this,\n overrideContext: null\n });\n\n this._simpleWidgetCreatorService.updatePopupOptions({\n idToolbar: \"iframePopupToolbar\",\n caption: \"iframe-popup.popup-titel\",\n options: this.popupOptions,\n scopeContainer: this.scopeContainer\n });\n }\n unbind() {\n this.scopeContainer.disposeAll();\n this.scopeContainer = null;\n }\n\n show(options: IFramePopupShowOptions) {\n this.options = options;\n this.popupTitel = options.titel || \"\";\n\n this.popup.instance.show();\n }\n}","module.exports = \" \";","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.id, \"\", \"\"]);\n// Exports\nmodule.exports = exports;\n","import { autoinject, Scope } from \"aurelia-framework\";\nimport { ScopeContainer } from \"./../../../framework/base/classes/scope-container\";\nimport { IDataSourceOptionFilter } from \"./../../../framework/base/interfaces/data-source-option-filter\";\nimport { DataSourceService } from \"./../../../framework/base/services/data-source-service\";\nimport { ICommandData } from \"./../../../framework/forms/interfaces/command-data\";\nimport { SimpleWidgetCreatorService } from \"./../../../framework/forms/widget-services/simple-widget-creator-service\";\nimport { IdxPopupComponent, IdxListComponent, IdxSelectBoxComponent } from \"./../../interfaces/dx-components\";\n\n@autoinject\nexport class LehrlingAuswaehlen {\n private _options: ILehrlingAuswaehlenPopupOptions;\n\n constructor(\n private _dataSourceService: DataSourceService,\n private _simpleWidgetCreatorService: SimpleWidgetCreatorService\n ) { }\n\n idGeschaeftspartner: any;\n idStelleninserat: any;\n personSelected: number[] = [];\n\n scope: Scope;\n scopeContainer: ScopeContainer;\n\n popup: IdxPopupComponent;\n popupOptions: DevExpress.ui.dxPopupOptions = {\n contentTemplate: \"contentTemplate\",\n width: \"350px\",\n height: \"auto\"\n };\n\n popupCommands: ICommandData[] = [{\n id: \"changeBewerbungstyp\",\n idCategory: \"$start\",\n icon: \"fas fa-check\",\n tooltip: \"base.save\",\n sortIndex: 1000,\n execute: () => {\n this.popup.instance.hide();\n this._options.callback(this.personSelected);\n }\n }];\n\n geschaeftspartnerSelectBox: IdxSelectBoxComponent;\n geschaeftspartnerSelectBoxOptions: DevExpress.ui.dxSelectBoxOptions = {\n valueExpr: \"Id\",\n displayExpr: \"Name1\",\n searchExpr: \"Name1\",\n searchEnabled: true,\n showClearButton: true,\n width: \"300px\",\n bindingOptions: {\n value: \"idGeschaeftspartner\"\n },\n onValueChangedByUser: (e) => {\n this.loadPersonDataSource();\n }\n };\n\n stelleninseratSelectBox: IdxSelectBoxComponent;\n stelleninseratSelectBoxOptions: DevExpress.ui.dxSelectBoxOptions = {\n valueExpr: \"Id\",\n displayExpr: \"Titel\",\n searchExpr: \"Titel\",\n searchEnabled: true,\n showClearButton: true,\n width: \"300px\",\n bindingOptions: {\n value: \"idStelleninserat\"\n },\n onValueChangedByUser: (e) => {\n this.loadStelleninseratDataSource();\n this.loadPersonDataSource();\n }\n };\n\n personList: IdxListComponent;\n personListOptions: DevExpress.ui.dxListOptions = {\n searchExpr: \"Titel\",\n searchEnabled: true,\n keyExpr: \"Id\",\n displayExpr: \"Titel\",\n selectionMode: \"multiple\",\n showSelectionControls: true,\n height: \"300px\",\n width: \"300px\",\n onSelectionChanged: (ev) => {\n this.personSelected = ev.component.option(\"selectedItemKeys\") || [];\n }\n };\n\n bind() {\n this.scope = {\n bindingContext: this,\n overrideContext: null\n };\n this.scopeContainer = new ScopeContainer(this.scope);\n\n this._simpleWidgetCreatorService.updatePopupOptions({\n idToolbar: \"lehrlingAuswaehlenToolbar\",\n caption: \"lehrling-auswahl.lehrlinge\",\n scopeContainer: this.scopeContainer,\n options: this.popupOptions,\n commands: this.popupCommands\n });\n }\n unbind() {\n this.scopeContainer.disposeAll();\n this.scopeContainer = null;\n }\n\n show(options: ILehrlingAuswaehlenPopupOptions) {\n this._options = options;\n this.resetData();\n\n this.personListOptions.selectionMode = options.selectionMode == SelectionModeTyp.multipe\n ? \"multiple\"\n : \"single\";\n\n this.loadGeschaeftspartnerDataSource();\n this.loadPersonDataSource();\n this.loadStelleninseratDataSource();\n\n this.popup.instance.show();\n }\n\n private resetData() {\n if (this.personList) {\n this.personList.instance.unselectAll();\n }\n this.idGeschaeftspartner = null;\n this.idStelleninserat = null;\n this.personSelected = [];\n }\n\n private loadGeschaeftspartnerDataSource() {\n if (this.geschaeftspartnerSelectBoxOptions.dataSource) {\n const geschaeftspartnerDataSource = this.geschaeftspartnerSelectBoxOptions.dataSource;\n geschaeftspartnerDataSource.reload();\n return;\n }\n this.geschaeftspartnerSelectBoxOptions.dataSource = this._dataSourceService.createDataSource(\n this.scopeContainer, {\n webApiAction: \"ZIT/Objekte/Geschaeftspartner\",\n webApiColumns: [\"Id\", \"Name1\"]\n });\n }\n\n private loadStelleninseratDataSource() {\n if (this.stelleninseratSelectBoxOptions.dataSource) {\n const stelleninseratDataSource = this.stelleninseratSelectBoxOptions.dataSource;\n stelleninseratDataSource.reload();\n return;\n }\n this.stelleninseratSelectBoxOptions.dataSource = this._dataSourceService.createDataSource(\n this.scopeContainer, {\n webApiAction: \"ZIT/Objekte/Stelleninserat\",\n webApiColumns: [\"Id\", \"Titel\"]\n }, {\n getCustomWhere: () => {\n const result = [];\n\n if (this.idGeschaeftspartner) {\n result.push([\"Kopf.IdGeschaeftspartner\", this.idGeschaeftspartner]);\n }\n return result;\n }\n });\n }\n\n private loadPersonDataSource() {\n if (this.personListOptions.dataSource) {\n const personDataSource = this.personListOptions.dataSource;\n personDataSource.reload();\n return;\n }\n this.personListOptions.dataSource = this._dataSourceService.createDataSource(\n this.scopeContainer, {\n webApiAction: \"ZIT/Objekte/Person\",\n webApiColumns: [\"Id\", \"Titel\"]\n }, {\n getCustomFilters: () => {\n const result: IDataSourceOptionFilter[] = [];\n\n if (this.idStelleninserat) {\n result.push({\n webApiCustomKey: \"IdStelleninserat\",\n webApiCustomValue: this.idStelleninserat\n });\n } else if (this.idGeschaeftspartner) {\n result.push({\n webApiCustomKey: \"IdGeschaeftspartner\",\n webApiCustomValue: this.idGeschaeftspartner\n });\n }\n return result;\n }\n });\n }\n}\n\nexport interface ILehrlingAuswaehlenPopupOptions {\n selectionMode: SelectionModeTyp;\n callback: { (idSelectedPersonList: number[]): void };\n}\n\nexport enum SelectionModeTyp {\n multipe,\n single\n}\n","module.exports = \" \";","import { IZitToolbarOptions } from './../../../zit-ui/elements/zit-toolbar/zit-toolbar-options';\nimport { ToolbarService } from './../../../framework/forms/services/toolbar-service';\nimport { autoinject, Scope, OverrideContext, bindable, TaskQueue, computedFrom } from 'aurelia-framework';\nimport { ScopeContainer, DataSourceService } from '../../../framework/base/export';\nimport { LocalizationService } from '../../../framework/base/services/export';\nimport { ICommandData, SimpleWidgetCreatorService } from '../../../framework/forms/export';\nimport { IdxDataGridComponent, IdxPopupComponent, IdxValidationGroupComponent, IMultiMarkerData } from '../../interfaces/export';\nimport { MarkerService } from '../../services/export';\n\n@autoinject\nexport class MarkerMultiObjekt {\n private _savedCallBack: { () };\n constructor(\n private dataSource: DataSourceService,\n private localization: LocalizationService,\n private marker: MarkerService,\n private simpleWidgetCreator: SimpleWidgetCreatorService,\n private toolbar: ToolbarService\n ) { }\n\n @bindable keyList: number[];\n\n @computedFrom(\"newMarker.Bezeichnung\", \"newMarker.Farbe\")\n get canAddNewMarker() {\n return this.newMarker && this.newMarker.Bezeichnung && this.newMarker.Farbe ?\n true : false;\n }\n newMarker: IMultiMarkerData = {\n IdObjektMarker: -1,\n Assign: true,\n Delete: false,\n Bezeichnung: null,\n Farbe: null\n };\n\n objektFullName: string;\n\n scope: Scope;\n scopeContainer: ScopeContainer;\n\n popupCommands: ICommandData[] = [\n {\n id: \"saveMarkerMultiObjekt\",\n idCategory: \"$start\",\n icon: \"fas fa-save\",\n tooltip: \"base.save\",\n sortIndex: 0,\n execute: () => {\n this.onSaveMarkersClicked();\n }\n }];\n markerMultiObjektPopup: IdxPopupComponent;\n markerMultiObjektPopupOptions: DevExpress.ui.dxPopupOptions = {\n height: \"auto\",\n maxWidth: \"420px\"\n }\n\n requiredValidatorOptions: DevExpress.ui.dxValidatorOptions = {\n validationRules: [{ type: \"required\" }]\n };\n validationGroup: IdxValidationGroupComponent;\n validationGroupOptions: DevExpress.ui.dxValidationGroupOptions = {};\n\n multiMarkerGridDataSource: IMultiMarkerData[];\n multiMarkerGrid: IdxDataGridComponent;\n multiMarkerGridOptions: DevExpress.ui.dxDataGridOptions = {\n columns: [{\n headerCellTemplate: ``,\n cssClass: \"zit-cell-colored\",\n width: 35,\n allowSorting: false,\n dataType: \"boolean\",\n dataField: \"Assign\"\n }, {\n headerCellTemplate: ``,\n cssClass: \"zit-cell-colored\",\n width: 35,\n allowSorting: false,\n dataType: \"boolean\",\n dataField: \"Delete\",\n }, {\n caption: this.localization.translateOnce(\"marker-multi-objekt.bezeichnung\"),\n dataType: \"string\",\n dataField: \"Bezeichnung\"\n }],\n showColumnLines: false,\n editing: {\n allowUpdating: true,\n mode: \"cell\"\n },\n height: \"400px\",\n onRowPrepared: (e) => {\n if (e.rowType != \"data\") {\n return;\n }\n\n const cell: any = Array.from(e.rowElement.querySelectorAll(\".zit-cell-colored\"));\n\n if(!cell || !cell.length){\n return;\n }\n\n cell.forEach((c: HTMLTableCellElement) => c.style.backgroundColor = e.data.Farbe);\n },\n onRowUpdating: (e) => {\n if (e.newData.Assign) {\n e.key.Delete = false;\n } else if (e.newData.Delete)\n e.key.Assign = false;\n },\n bindingOptions: {\n dataSource: \"multiMarkerGridDataSource\"\n }\n }\n\n newMarkerCommands: ICommandData[] = [{\n id: \"addNewMarker\",\n icon: \"fas fa-save\",\n tooltip: \"base.save\",\n isEnabledExpression: \"canAddNewMarker\",\n execute: () => {\n this.onAddMarkerClicked();\n }\n }];\n newMarkerToolbarOptions: IZitToolbarOptions;\n newMarkerBezeichnungOptions: DevExpress.ui.dxTextBoxOptions = {\n bindingOptions: {\n value: \"newMarker.Bezeichnung\"\n }\n }\n newMarkerFarbeOptions: DevExpress.ui.dxColorBoxOptions = {\n editAlphaChannel: true,\n bindingOptions: {\n value: \"newMarker.Farbe\"\n }\n }\n\n showPopup(objektFullName: string, savedCallBack?: { () }) {\n this.objektFullName = objektFullName;\n this._savedCallBack = savedCallBack;\n\n this.loadData();\n\n this.markerMultiObjektPopup.instance.show();\n }\n\n bind(bindingContext: any, overrideContext: OverrideContext) {\n this.scope = {\n bindingContext: bindingContext,\n overrideContext: overrideContext\n };\n\n this.scopeContainer = new ScopeContainer({\n bindingContext: this,\n overrideContext: null\n });\n\n this.simpleWidgetCreator.updatePopupOptions({\n idToolbar: \"benutzerLoeschenPopupToolbar\",\n caption: \"benutzereinstellungen.popup-titel\",\n options: this.markerMultiObjektPopupOptions,\n commands: this.popupCommands,\n scopeContainer: this.scopeContainer\n });\n\n this.newMarkerToolbarOptions = this.toolbar.createToolbarOptions(\n this.scopeContainer,\n \"marker-multi-objekt.neuen-marker-erstellen\",\n this.newMarkerCommands,\n true\n );\n }\n unbind() {\n this.scopeContainer.disposeAll();\n this.scope = null;\n }\n\n private async onAddMarkerClicked() {\n const validationResult = this.validationGroup.instance.validate();\n if (!validationResult.isValid) {\n return;\n }\n\n this.multiMarkerGridDataSource.push(this.newMarker);\n\n await this.saveData();\n this.multiMarkerGrid.instance.refresh();\n }\n\n private onSaveMarkersClicked() {\n this.saveData().then(r => {\n if (this._savedCallBack) {\n this._savedCallBack();\n }\n this.markerMultiObjektPopup.instance.hide();\n });\n }\n\n private async loadData() {\n this.multiMarkerGridDataSource = await this.marker.getMarkersByObjektFullName(this.objektFullName);\n }\n private saveData(): Promise {\n return this.marker.saveObjektMultiMarker({\n FullName: this.objektFullName,\n IdObjektList: this.keyList,\n ObjektMarkerHelperList: this.multiMarkerGridDataSource\n });\n }\n}\n","module.exports = \" \";","import { autoinject, bindable } from \"aurelia-framework\";\nimport { IListViewOptions, ListView } from \"../../../framework/forms/elements/list-view/export\";\nimport { RestService } from \"../../../framework/base/services/rest-service\";\nimport { GlobalizationService } from \"../../../framework/base/export\";\nimport { EventAggregator, Subscription } from \"../../../../node_modules/aurelia-event-aggregator\";\nimport { StartupService } from \"../../services/export\";\nimport { BenutzerTyp } from \"../../enumerations/export\";\nimport { IdxButtonComponent } from \"../../interfaces/export\";\nimport { INachrichtBenutzerInfo } from \"../../services/nachricht-service\";\n\n@autoinject\nexport class NachrichtBenutzer {\n private _nachrichtErstelltSubscription: Subscription;\n private _setFirstBenutzer: boolean = false;\n private _lastSelectedItem: any;\n\n constructor(\n public startupService: StartupService,\n private _element: Element,\n private _restService: RestService,\n private _globalizationService: GlobalizationService,\n private _eventAggregator: EventAggregator\n ) {\n if (this.startupService.startupInfo.Skin.Farbe20Opacity) {\n this.backgroundColorAktiv = this.startupService.startupInfo.Skin.Farbe20Opacity;\n }\n this.isNatuerlicheBenutzer = this.startupService.startupInfo.Benutzer.Benutzertyp == BenutzerTyp.NatuerlichePerson;\n this.idBenutzerStartup = this.startupService.startupInfo.Benutzer.IdBenutzer;\n }\n\n @bindable benutzer: string;\n @bindable isStellvertreter = false;\n @bindable nurUngeleseneNachrichten = false;\n @bindable clickAfterSelect: boolean;\n\n @bindable benutzerInfo: INachrichtBenutzerInfo;\n\n idBenutzerStartup: number = 0;\n isNatuerlicheBenutzer = false;\n backgroundColorAktiv = \"#dedede;\";\n\n benutzerListView: ListView;\n benutzerListViewOptions: IListViewOptions = {\n useDefaultListItemStyle: false,\n itemClass: \"z--nachr-benutzer-item\",\n onItemClick: (e) => {\n this.onBenutzerClick(e);\n }\n };\n \n benutzerTextBoxOptions: DevExpress.ui.dxTextBoxOptions = {\n placeholder: \"Person\",\n mode: \"search\",\n elementAttr: {\n class: \"z--suche\"\n },\n bindingOptions: {\n value: \"benutzer\"\n }\n };\n\n bind() { \n this._nachrichtErstelltSubscription = this._eventAggregator.subscribe(\"nachricht:erstellt\", (e) => {\n if (!this.benutzerListView) {\n return;\n }\n\n this.reload();\n });\n\n this.benutzerListViewOptions.dataSource = new DevExpress.data.DataSource(\n new DevExpress.data.CustomStore({\n load: (e) => {\n return new Promise(async(resolve, reject) => {\n const restResult = await this._restService.post({\n url: this._restService.getApiUrl(\"ZIT/Nachricht/Benutzer\"),\n data: {\n Take: e.take,\n Skip: e.skip,\n IsStellvertreter: this.isStellvertreter,\n NurUngeleseneNachrichten: this.nurUngeleseneNachrichten,\n Benutzer: this.benutzer\n },\n increaseLoadingCount: true\n });\n \n resolve({\n data: restResult.BenutzerList,\n totalCount: restResult.Anzahl\n });\n\n if (this._setFirstBenutzer && this.clickAfterSelect) { \n this.onBenutzerClick({\n item: restResult.BenutzerList.length > 0\n ? restResult.BenutzerList[0]\n : {}\n });\n }\n\n this._setFirstBenutzer = false;\n });\n }\n }));\n }\n unbind() {\n if (this._nachrichtErstelltSubscription) {\n this._nachrichtErstelltSubscription.dispose();\n this._nachrichtErstelltSubscription = null;\n }\n }\n \n reload(setFirstBenutzer = false) {\n this._setFirstBenutzer = setFirstBenutzer;\n\n this.benutzerListView.refresh(false);\n }\n\n onStellvertreterClick() {\n this.isStellvertreter = !this.isStellvertreter;\n\n this.reload();\n }\n onUngeleseneNachrichtenClick() {\n this.nurUngeleseneNachrichten = !this.nurUngeleseneNachrichten;\n }\n onBenutzerClick(e) {\n if (this._lastSelectedItem) {\n this._lastSelectedItem._isAktiv = false;\n }\n\n e.item._isAktiv = true;\n this._lastSelectedItem = e.item;\n\n if (!e.item || !e.item.IdBenutzer) {\n return;\n }\n\n const event = new CustomEvent(\"on-benutzer-click\", {\n detail: {\n sender: this,\n benutzerInfo: {\n anzeigeTyp: e.item.AnzeigeTyp,\n idBenutzer: e.item.IdBenutzer,\n name: e.item.Name,\n isGruppeAdmin: e.item.IsGruppeAdmin\n }\n },\n bubbles: true\n });\n\n this._element.dispatchEvent(event);\n }\n}\n","module.exports = \" \";","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.id, \".z--nachricht-benutzer {\\n display: flex;\\n flex-direction: column;\\n height: 100%;\\n padding: 12px;\\n}\\n.z--nachricht-benutzer .z--nachr-benutzer-benutzer {\\n margin-top: 12px;\\n flex-grow: 1;\\n position: relative;\\n display: block;\\n}\\n.z--nachricht-benutzer .z--nachr-benutzer-benutzer > *:first-child {\\n position: absolute;\\n height: 100%;\\n width: 100%;\\n}\\n.z--nachricht-benutzer .z--nachr-button-ungelesen {\\n width: 100%;\\n margin-bottom: 12px;\\n}\\n.z--nachricht-benutzer .z--nachr-benutzer-filter {\\n margin-bottom: 12px;\\n display: flex;\\n align-items: center;\\n}\\n.z--nachricht-benutzer .z--nachr-benutzer-filter > *:first-child {\\n flex-grow: 1;\\n}\\n.z--nachricht-benutzer .z--nachr-benutzer-filter > * + * {\\n margin-left: 12px;\\n}\\n.z--nachricht-benutzer .z--nachr-benutzer-item {\\n width: 100%;\\n margin-bottom: 12px;\\n background-color: white;\\n border: 1px solid #D3D3D3;\\n}\\n.z--nachricht-benutzer .z--nachr-benutzer-card {\\n display: flex;\\n height: 72px;\\n padding: 6px;\\n position: relative;\\n cursor: pointer;\\n}\\n.z--nachricht-benutzer .z--nachr-benutzer-card-datum {\\n position: absolute;\\n right: 6px;\\n bottom: 6px;\\n font-size: 11px;\\n}\\n.z--nachricht-benutzer .z--nachr-benutzer-card-i {\\n position: absolute;\\n margin: 6px;\\n top: 0;\\n left: 0;\\n display: flex;\\n align-items: center;\\n justify-content: center;\\n font-size: 1.2em;\\n border-radius: 50%;\\n height: 60px;\\n min-width: 60px;\\n border: 1px solid #D3D3D3;\\n background-color: #dedede;\\n overflow: hidden;\\n}\\n.z--nachricht-benutzer .z--nachr-benutzer-card-i.z--nachr-benutzer-ungelesen {\\n border: 3px solid #C0392B;\\n}\\n.z--nachricht-benutzer .z--nachr-benutzer-avatar {\\n background-size: cover;\\n background-position: center;\\n background-repeat: no-repeat;\\n height: 100%;\\n width: 100%;\\n}\\n.z--nachricht-benutzer .z--nachr-benutzer-card-name {\\n font-size: 1.2em;\\n white-space: nowrap;\\n overflow: hidden;\\n text-overflow: ellipsis;\\n}\\n.z--nachricht-benutzer .z--nachr-benutzer-card-name-2 {\\n white-space: nowrap;\\n overflow: hidden;\\n text-overflow: ellipsis;\\n}\\n.z--nachricht-benutzer .z--nachr-benutzer-card-content {\\n display: flex;\\n flex-direction: column;\\n flex-grow: 1;\\n margin-left: 72px;\\n margin-right: 12px;\\n margin-top: 4px;\\n overflow: hidden;\\n}\\n.z--nachricht-benutzer .z--nachr-benutzer-card-status {\\n display: flex;\\n flex-direction: column;\\n justify-content: center;\\n}\\n.z--nachricht-benutzer .z--nachr-benutzer-card-status > *:not(:first-child) {\\n margin-top: 6px;\\n}\\n.z--nachricht-benutzer .z--nachr-benutzer-status-stellvertreter {\\n border-radius: 12px;\\n width: 12px;\\n height: 12px;\\n border: 1px solid #D3D3D3;\\n background-color: #2980B9;\\n}\\n.z--nachricht-benutzer .z--nachr-benutzer-status-ungelesen {\\n border-radius: 12px;\\n width: 12px;\\n height: 12px;\\n border: 1px solid #D3D3D3;\\n background-color: #C0392B;\\n}\\n\", \"\"]);\n// Exports\nmodule.exports = exports;\n","import { autoinject, observable, bindable, computedFrom } from \"aurelia-framework\";\nimport { NachrichtBenutzer } from '../nachricht-benutzer/nachricht-benutzer';\nimport { BrowserService } from '../../../framework/base/export';\n\nimport * as moment from \"moment\";\nimport { INachrichtBenutzerInfo } from '../../services/nachricht-service';\nimport { NachrichtProtokoll } from '../nachricht-protokoll/nachricht-protokoll';\nimport { NachrichtMassennachricht } from '../nachricht-massennachricht/nachricht-massennachricht';\n\n@autoinject\nexport class NachrichtContainer {\n constructor(\n private _element: Element,\n private _browserService: BrowserService\n ) {\n this.isSmallDevice = this._browserService.isXS\n || this._browserService.isSM;\n }\n\n benutzerInfo: INachrichtBenutzerInfo;\n keyNachricht: string;\n\n @bindable benutzerInfoFix: INachrichtBenutzerInfo;\n @observable isStellvertreter: boolean = false;\n @observable nurUngeleseneNachrichten: boolean = false;\n @observable benutzer: string;\n\n nachrichtBenutzer: NachrichtBenutzer;\n nachrichtProtokoll: NachrichtProtokoll;\n nachrichtMassennachricht: NachrichtMassennachricht;\n\n visibilityContext: VisiblityContext = VisiblityContext.Benutzer;\n \n isSmallDevice: boolean = false;\n\n @computedFrom(\"isSmallDevice\", \"isNachrichtenVisible\", \"benutzerInfoFix\")\n get isBreadcrumpVisible() {\n return this.isSmallDevice\n && this.isNachrichtenVisible\n && !this.benutzerInfoFix;\n }\n @computedFrom(\"benutzerInfoFix\", \"isSmallDevice\", \"visibilityContext\")\n get isBenutzerVisible() {\n if (this.benutzerInfoFix) {\n return false;\n }\n\n if (!this.isSmallDevice) {\n return true;\n }\n\n return this.visibilityContext == VisiblityContext.Benutzer;\n }\n @computedFrom(\"isSmallDevice\", \"visibilityContext\")\n get isNachrichtenVisible() {\n if (!this.isSmallDevice) {\n return true;\n }\n\n return this.visibilityContext == VisiblityContext.Nachrichten;\n }\n @computedFrom(\"benutzerInfoFix\", \"benutzerInfo\")\n get benutzerInfoValidated() {\n return this.benutzerInfoFix || this.benutzerInfo;\n }\n\n bind() {\n if (this.benutzerInfoFix) {\n this.changeVisibilityContext(VisiblityContext.Nachrichten);\n\n const event = new CustomEvent(\"on-benutzer-click\", {\n detail: {\n sender: this,\n benutzerInfo: this.benutzerInfoValidated\n },\n bubbles: true\n });\n \n this._element.dispatchEvent(event);\n } else {\n this.changeVisibilityContext(VisiblityContext.Benutzer);\n }\n }\n\n benutzerChanged() {\n this.reloadBenutzer();\n }\n isStellvertreterChanged() {\n this.reloadBenutzer();\n }\n nurUngeleseneNachrichtenChanged() {\n this.reloadBenutzer();\n }\n\n changeVisibilityContext(context: VisiblityContext) {\n if (!this.isSmallDevice) {\n return;\n }\n\n this.visibilityContext = context;\n\n if (context == VisiblityContext.Benutzer) {\n this.dispatchBenutzerCleared();\n }\n }\n reloadBenutzer() {\n if (!this.nachrichtBenutzer) {\n return;\n }\n\n this.keyNachricht = null;\n this.benutzerInfo = null;\n this.dispatchBenutzerCleared();\n this.nachrichtBenutzer.reload();\n }\n\n onBenutzerClick(e) {\n this.benutzerInfo = e.detail.benutzerInfo;\n this.keyNachricht = null;\n\n this.changeVisibilityContext(VisiblityContext.Nachrichten);\n }\n onNachrichtClick(e) {\n this.keyNachricht = e.detail.keyNachricht;\n }\n onNachrichtProtokollClick(e: CustomEvent) {\n this.nachrichtProtokoll.showPopup(e.detail.nachricht);\n }\n onNachrichtMassennachrichtClick(e: CustomEvent) {\n this.nachrichtMassennachricht.showPopup(e.detail.nachricht);\n }\n\n private dispatchBenutzerCleared() {\n this._element.dispatchEvent(new CustomEvent(\n \"on-benutzer-cleared\", {\n bubbles: true,\n detail: {}\n }\n ));\n }\n}\n\nenum VisiblityContext {\n Benutzer = 0,\n Nachrichten = 1\n}\n","module.exports = \" \";","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.id, \".z--nachricht-container {\\n display: flex;\\n flex-direction: column;\\n margin: -12px;\\n height: calc(100% + 36px);\\n}\\n.z--nachricht-container.z--nachricht-container-small .z--nachricht-links {\\n width: 100%;\\n}\\n.z--nachricht-container .z--nachricht-breadcrump {\\n padding: 12px;\\n}\\n.z--nachricht-container .z--nachricht-breadcrump > div {\\n cursor: pointer;\\n user-select: none;\\n}\\n.z--nachricht-container .z--nachricht-content {\\n display: flex;\\n height: 100%;\\n}\\n.z--nachricht-container .z--nachricht-links {\\n width: 33%;\\n border-right: 1px solid #dedede;\\n flex-shrink: 0;\\n}\\n.z--nachricht-container .z--nachricht-rechts {\\n display: flex;\\n flex-direction: column;\\n flex-grow: 1;\\n width: 67%;\\n}\\n.z--nachricht-container .z--nachricht-rechts > *:first-child {\\n flex-grow: 1;\\n}\\n\", \"\"]);\n// Exports\nmodule.exports = exports;\n","import { Subscription } from \"aurelia-event-aggregator\";\nimport { BenutzerTyp } from './../../enumerations/benutzer-typ';\nimport { StartupService } from './../../services/startup-service';\nimport {\n NachrichtService,\n NachrichtErstellTyp,\n INachricht,\n NachrichtTyp,\n INachrichtTextmarke\n} from \"./../../services/nachricht-service\";\nimport { computedFrom } from 'aurelia-binding';\nimport { IZitTagOptions } from './../../../zit-ui/elements/zit-tag/zit-tag-options';\nimport { SimpleWidgetCreatorService } from './../../../framework/forms/widget-services/simple-widget-creator-service';\nimport { IdxTextAreaComponent, IdxSelectBoxComponent } from './../../interfaces/dx-components';\nimport { ScopeContainer } from './../../../framework/base/classes/scope-container';\nimport { ICommandData } from './../../../framework/forms/interfaces/command-data';\nimport { RestService } from './../../../framework/base/services/rest-service';\nimport { LocalizationService } from './../../../framework/base/services/localization-service';\nimport { autoinject } from \"aurelia-framework\";\nimport { IdxPopupComponent } from '../../interfaces/export';\nimport { EventAggregator } from '../../../../node_modules/aurelia-event-aggregator';\nimport { BrowserService, FileService, GlobalizationService } from '../../../framework/base/export';\nimport { DateiAuswaehlen } from '../datei-auswaehlen/datei-auswaehlen';\nimport { Datei } from '../datei/datei';\nimport { NachrichtVorlage } from \"../nachricht-vorlage/nachricht-vorlage\";\nimport { INachrichtVorlage, NachrichtVorlageService } from \"../../services/nachricht-vorlage-service\";\n\n@autoinject\nexport class NachrichtErstellen {\n private _reloadVorlagenSubscription: Subscription;\n \n constructor(\n public startupService: StartupService,\n private _nachrichtService: NachrichtService,\n private _nachrichtVorlageService: NachrichtVorlageService,\n private _localizationService: LocalizationService,\n private _restService: RestService,\n private _simpleWidgetCreator: SimpleWidgetCreatorService,\n private _eventAggregator: EventAggregator,\n private _browserService: BrowserService,\n private _fileService: FileService,\n private _globalizationService: GlobalizationService\n ) {\n const isAdmin = this.startupService.startupInfo.Benutzer.Benutzertyp == BenutzerTyp.Administrator;\n const isNatPerson = this.startupService.startupInfo.Benutzer.Benutzertyp == BenutzerTyp.NatuerlichePerson;\n this.isBenutzerAdmin = isAdmin;\n this.isBenutzerNatPerson = isNatPerson;\n }\n\n popupTitel: string = \"Nachricht erstellen\";\n\n scopeContainer: ScopeContainer;\n nachricht: INachricht;\n textmarken: INachrichtTextmarke[];\n empfaengerList: string[];\n isBenutzerAdmin: boolean;\n isBenutzerNatPerson: boolean;\n isEmpfGruppe: boolean = false;\n empfScrollView: any;\n\n datei: Datei;\n\n nachrichtErstellenPopup: IdxPopupComponent;\n nachrichtErstellenPopupOptions: DevExpress.ui.dxPopupOptions = {\n height: \"auto\",\n maxWidth: \"750px\",\n maxHeight: \"100vh\",\n title: this._localizationService.translateOnce(\"nachricht-erstellen.popup-titel\"),\n onShown: () => {\n if (this.textTextArea\n && this.textTextArea.instance\n && (this.nachricht.erstellTyp == NachrichtErstellTyp.Weiterleiten\n || this.nachricht.erstellTyp == NachrichtErstellTyp.Umleiten)) {\n this.textTextArea.instance.option(\"readOnly\", true);\n }\n\n if (this.textTextArea\n && this.textTextArea.instance\n && this.nachricht.erstellTyp != NachrichtErstellTyp.Weiterleiten\n && this.nachricht.erstellTyp != NachrichtErstellTyp.Umleiten) {\n this.textTextArea.instance.option(\"readOnly\", false);\n\n this.textTextArea.instance.focus();\n }\n },\n onHidden: () => {\n this.empfScrollView.instance.option(\"height\", 0);\n }\n }\n\n vorlagenCommand: ICommandData = {\n id: \"vorlagenCommand\",\n idCategory: \"$start\",\n title: \"nachricht-erstellen.vorlagen\",\n sortIndex: 1100,\n execute: (e) => {\n this.nachrichtVorlage.showContextMenu(e.event.target, (v) => {});\n }\n };\n fotoCommand: ICommandData = {\n id: \"kameraCommand\",\n idCategory: \"$start\",\n icon: \"fas fa-camera\",\n sortIndex: 1200,\n execute: () => {\n this.dateiAuswaehlen.onMakePhoto(true, true);\n }\n };\n videoCommand: ICommandData = {\n id: \"videoCommand\",\n idCategory: \"$start\",\n icon: \"fas fa-video\",\n sortIndex: 1201,\n execute: () => {\n this.dateiAuswaehlen.onMakeVideo(true, true);\n }\n };\n dokumentCommand: ICommandData = {\n id: \"dokumentCommand\",\n idCategory: \"$start\",\n icon: \"fas fa-paperclip\",\n sortIndex: 1202,\n execute: () => {\n this.dateiAuswaehlen.onOpenFiles(true);\n }\n };\n nachrichtErstellenCommand: ICommandData = {\n id: \"nachrichtErstellen\",\n idCategory: \"$start\",\n icon: \"far fa-paper-plane\",\n tooltip: \"nachricht-erstellen.senden\",\n title: this._browserService.isMobile ? null : \"nachricht-erstellen.senden\",\n sortIndex: 1300,\n isVisible: true,\n execute: async () => {\n this.save();\n }\n };\n saveCommand: ICommandData = {\n id: \"saveCommand\",\n idCategory: \"$start\",\n icon: \"fas fa-save\",\n tooltip: \"base.save_tooltip\",\n sortIndex: 1400,\n isVisible: false,\n execute: () => {\n this.save();\n }\n }\n deleteCommand: ICommandData = {\n id: \"deleteCommand\",\n idCategory: \"$start\",\n icon: \"far fa-trash-alt\",\n tooltip: \"base.delete_tooltip\",\n sortIndex: 1401,\n isVisible: false,\n execute: async () => {\n const r = await this._nachrichtService.showDeleteDialog(this.nachricht.key);\n if (!r) {\n return;\n }\n\n this._eventAggregator.publish(\"nachricht:erstellt\", {\n all: true\n });\n\n this.nachrichtErstellenPopup.instance.hide();\n }\n }\n\n empfScrollViewOptions: DevExpress.ui.dxScrollViewOptions = {};\n\n empfaengerTagOptions: IZitTagOptions = {\n icon: {\n faIcon: \"far fa-address-book\"\n },\n textExpression: \"item.Name\",\n onDeleteClick: (e, data) => {\n e.stopPropagation();\n this.deleteEmpfaenger(data);\n }\n };\n\n empfaengerReadOnlyTagOptions: IZitTagOptions = {\n icon: {\n faIcon: \"far fa-address-book\"\n },\n textExpression: \"item.Name\",\n };\n\n massennachrichtTagOptions: IZitTagOptions = {\n icon: {\n textExpression: \"nachricht.empfContainer.NachrichtEmpfaengerList.length\"\n },\n text: \"Massennachricht\",\n };\n\n telefonatTypOptions: DevExpress.ui.dxRadioGroupOptions = {\n valueExpr: \"Typ\",\n displayExpr: \"Text\",\n items: [\n { Typ: 0, Text: \"erreicht\" },\n { Typ: 1, Text: \"nicht erreicht\" },\n { Typ: 2, Text: \"eingehendes Telefonat\" }\n ],\n bindingOptions: {\n value: \"nachricht.telefonatTyp\"\n }\n };\n\n textTextArea: IdxTextAreaComponent;\n textTextAreaOptions: DevExpress.ui.dxTextAreaOptions = {\n height: \"200px\",\n bindingOptions: {\n value: \"nachricht.nachrichtText\"\n }\n };\n\n signaturTextAreaOptions: DevExpress.ui.dxTextAreaOptions = {\n height: \"45px\",\n bindingOptions: {\n value: \"nachricht.nachrichtSignatur\"\n }\n };\n\n vorlagen: INachrichtVorlage[] = [];\n vorlagenSelectBox: IdxSelectBoxComponent;\n vorlagenSelectBoxOptions: DevExpress.ui.dxSelectBoxOptions = {\n valueExpr: \"Id\",\n displayExpr: \"Bezeichnung\",\n placeholder: \"Auswählen...\",\n bindingOptions: {\n dataSource: \"vorlagen\"\n },\n onItemClick: (e) => {\n this.copyFromVorlage(e.itemData);\n }\n }\n\n textmarkenSelectBox: IdxSelectBoxComponent;\n textmarkenSelectBoxOptions: DevExpress.ui.dxSelectBoxOptions = {\n valueExpr: \"Value\",\n displayExpr: \"Bezeichnung\",\n placeholder: \"Auswählen...\",\n bindingOptions: {\n dataSource: \"textmarken\"\n },\n onItemClick: (e) => {\n this.insertTextMarken(\"textTextArea\", e.itemData.Bezeichnung);\n }\n };\n\n empfaengerSelectBox: IdxSelectBoxComponent;\n empfaengerSelectBoxOptions: DevExpress.ui.dxSelectBoxOptions = {\n valueExpr: \"Id\",\n displayExpr: \"Name\",\n placeholder: \"Empfänger auswählen\",\n searchEnabled: true,\n dataSource: this._nachrichtService.getEmpfaengerDataSource()\n };\n\n vollstaendigNachrichtentextCheckboxOptions: DevExpress.ui.dxCheckBoxOptions = {\n text: \"vollständiger Nachrichtentext an den Empfänger per WhatsApp/SMS/E-Mail übermitteln\",\n value: false,\n bindingOptions: {\n value: \"nachricht.doVollstaendigeNachrichtVersenden\"\n }\n };\n\n anlagedatumOptions: DevExpress.ui.dxDateBoxOptions = {\n displayFormat: this._globalizationService.getFormatterParser(\"g\"),\n bindingOptions: {\n value: \"nachricht.anlagedatum\"\n }\n }\n\n dateiAuswaehlen: DateiAuswaehlen;\n nachrichtVorlage: NachrichtVorlage;\n\n @computedFrom(\"nachricht.empfContainer\", \"nachricht.empfContainer.NachrichtEmpfaengerList.length\")\n get isMassennachrichtTagVisible(): boolean {\n if (!this.nachricht.empfContainer) {\n return false;\n }\n\n return this.nachricht.empfContainer.NachrichtEmpfaengerList.length > 1\n }\n\n @computedFrom(\"nachricht.erstellTyp\")\n get isEmpfaengerSelectBoxVisible(): boolean {\n if (!this.nachricht.erstellTyp) {\n return false;\n }\n\n return this.nachricht.erstellTyp == NachrichtErstellTyp.Weiterleiten\n || this.nachricht.erstellTyp == NachrichtErstellTyp.Umleiten;\n }\n\n @computedFrom(\"isEmpfaengerSelectBoxVisible\", \"isNachrichtentypAntworten\", \"isEmpfaengerReadOnlyListVisible\")\n get isEmpfaengerListVisible(): boolean {\n return !this.isEmpfaengerSelectBoxVisible\n && !this.isEmpfaengerReadOnlyListVisible\n && this.nachricht.typ == NachrichtTyp.Nachricht;\n }\n\n @computedFrom(\"nachricht.erstellTyp\", \"isEmpfGruppe\")\n get isEmpfaengerReadOnlyListVisible(): boolean {\n return (this.nachricht.erstellTyp == NachrichtErstellTyp.Antworten\n || this.isEmpfGruppe)\n && this.nachricht.typ == NachrichtTyp.Nachricht;\n }\n\n @computedFrom(\"isBenutzerNatPerson\", \"isEmpfGruppe\", \"nachricht.typ\")\n get isVorlageVisible(): boolean {\n return !this.isBenutzerNatPerson\n && !this.isEmpfGruppe\n && this.nachricht.typ == NachrichtTyp.Nachricht\n && (this.nachricht.erstellTyp == NachrichtErstellTyp.NeuOderBearbeiten || this.nachricht.erstellTyp == NachrichtErstellTyp.Antworten);\n }\n\n @computedFrom(\"isBenutzerNatPerson\", \"isEmpfGruppe\", \"nachricht.typ\")\n get isTextmarkeVisible(): boolean {\n return !this.isBenutzerNatPerson\n && !this.isEmpfGruppe\n && this.nachricht.typ == NachrichtTyp.Nachricht\n && (this.nachricht.erstellTyp == NachrichtErstellTyp.NeuOderBearbeiten || this.nachricht.erstellTyp == NachrichtErstellTyp.Antworten);\n }\n\n @computedFrom(\"nachricht.typ\", \"nachricht.erstellTyp\", \"nachricht.key\", \"startupService.startupInfo.Benutzer.NachrichtSignatur\")\n get isSignaturVisible(): boolean {\n return this.nachricht.typ == NachrichtTyp.Nachricht\n && this.nachricht.erstellTyp == NachrichtErstellTyp.NeuOderBearbeiten\n && !this.nachricht.key\n && !!this.startupService.startupInfo.Benutzer.NachrichtSignatur;\n }\n\n @computedFrom(\"isBenutzerAdmin\", \"nachricht.typ\", \"nachricht.key\")\n get isVollstaendigNachrichtentextVisible(): boolean {\n return this.isBenutzerAdmin\n && this.nachricht.typ != NachrichtTyp.Notiz\n && this.nachricht.typ != NachrichtTyp.Telefonat\n && !this.nachricht.key;\n }\n\n @computedFrom(\"nachricht.typ\")\n get isAnlagedatumVisible(): boolean {\n return this.nachricht.typ == NachrichtTyp.Notiz\n || this.nachricht.typ == NachrichtTyp.Telefonat;\n }\n\n bind() {\n this.scopeContainer = new ScopeContainer({\n bindingContext: this,\n overrideContext: null\n });\n\n const commands: ICommandData[] = [\n this.fotoCommand\n ];\n\n if (this._browserService.isMobile) {\n commands.push(this.videoCommand);\n } else {\n commands.push(this.dokumentCommand);\n }\n \n if (this.startupService.startupInfo.Benutzer.Benutzertyp != BenutzerTyp.NatuerlichePerson) {\n commands.push(this.vorlagenCommand);\n }\n\n commands.push(this.nachrichtErstellenCommand);\n commands.push(this.saveCommand);\n commands.push(this.deleteCommand);\n\n this._simpleWidgetCreator.updatePopupOptions({\n idToolbar: \"nachrichtErstellenPopupToolbar\",\n caption: \"nachricht-erstellen.popup-titel\",\n options: this.nachrichtErstellenPopupOptions,\n commands: commands,\n scopeContainer: this.scopeContainer\n });\n\n this.loadTextmarken();\n this.loadVorlagen();\n\n this._reloadVorlagenSubscription = this._eventAggregator.subscribe(\"nachricht:vorlagen-changed\", () => {\n this.loadVorlagen();\n });\n }\n attached() {\n this._nachrichtService.nachrichtErstellen = this;\n }\n unbind() {\n this._reloadVorlagenSubscription?.dispose();\n this._reloadVorlagenSubscription = null;\n \n this.scopeContainer.disposeAll();\n this.scopeContainer = null;\n }\n\n show(nachricht: INachricht) {\n this.nachricht = nachricht;\n\n this.isEmpfGruppe = this.nachricht.empfContainer\n && this.nachricht.empfContainer.NachrichtEmpfaengerList\n && this.nachricht.empfContainer.NachrichtEmpfaengerList.some(f => f.IsGruppe);\n\n if (nachricht.typ == NachrichtTyp.Nachricht) {\n this.nachrichtErstellenCommand.isVisible = true;\n this.saveCommand.isVisible = false;\n this.deleteCommand.isVisible = false;\n this.vorlagenCommand.isVisible = true;\n } else {\n this.nachrichtErstellenCommand.isVisible = false;\n this.saveCommand.isVisible = true;\n this.deleteCommand.isVisible = !!nachricht.key;\n this.vorlagenCommand.isVisible = false;\n }\n \n if (this.vorlagenSelectBox && this.vorlagenSelectBox.instance) {\n this.vorlagenSelectBox.setOption({ value: null });\n }\n\n this.nachrichtErstellenPopup.instance.show();\n }\n\n async onDateiAusgewaehlt(e: CustomEvent) {\n for (let file of e.detail.files) {\n const dmsLink = await this._fileService.upload(file);\n if (!dmsLink) {\n return;\n }\n\n this.nachricht.dateiList.push({ DMSLink: dmsLink, Dateiname: file.name });\n }\n \n this.datei.refresh();\n }\n onNachrichtDetailRefreshed() {\n this.nachrichtErstellenPopup.instance.repaint();\n }\n onEmpfRepeatFinished(e: CustomEvent) {\n const el: HTMLElement = e.detail.element;\n\n const options = {\n height: \"0\"\n };\n\n const scrollHeight = el.parentElement.parentElement.offsetHeight;\n if (scrollHeight >= 91) {\n options.height = \"90px\";\n }\n else {\n options.height = `${scrollHeight + 6}px`;\n }\n\n if (this.empfScrollView && this.empfScrollView.instance) {\n this.empfScrollView.setOption(options);\n } else {\n Object.assign(this.empfScrollViewOptions, options);\n }\n\n this.nachrichtErstellenPopup.instance.repaint();\n }\n onDateiDeleted(e: CustomEvent) {\n this.nachricht.idDateiLoeschList.push(e.detail.id);\n }\n\n private async save() {\n switch (this.nachricht.erstellTyp) {\n case NachrichtErstellTyp.NeuOderBearbeiten: {\n await this.doNachrichtErstellen();\n break;\n }\n case NachrichtErstellTyp.Antworten: {\n await this.doAntworten();\n break;\n }\n case NachrichtErstellTyp.Weiterleiten: {\n await this.doWeiterleiten();\n break;\n }\n case NachrichtErstellTyp.Umleiten: {\n await this.doUmleiten();\n break;\n }\n }\n\n this.nachrichtErstellenPopup.instance.hide();\n if (this.textmarkenSelectBox) {\n this.textmarkenSelectBox.setOption({ value: null });\n }\n \n DevExpress.ui.notify(this._localizationService.translateOnce(\"nachricht-erstellen.nachrichten-erfolgreich-erstellt\"), \"SUCCESS\", 3000);\n }\n private async doNachrichtErstellen(): Promise {\n if (!this.nachricht.nachrichtText) {\n const fehlerText = this._localizationService.translateOnce(\"nachricht-erstellen.fehlende-texteingabe\");\n DevExpress.ui.notify(fehlerText, \"ERROR\", 5000)\n return Promise.reject(fehlerText);\n }\n if (!this.nachricht.key && this.nachricht.empfContainer.NachrichtEmpfaengerList.length == 0) {\n const fehlerText = this._localizationService.translateOnce(\"nachricht-erstellen.empfaenger-angeben\");\n DevExpress.ui.notify(fehlerText, \"ERROR\", 5000)\n return Promise.reject(fehlerText);\n }\n\n const r = await this._restService.post({\n url: this._restService.getApiUrl(\"ZIT/Nachricht/NachrichtErstellen\"),\n increaseLoadingCount: true,\n data: {\n KeyNachricht: this.nachricht.key,\n NachrichtObjektBenutzerContainerHelper: this.nachricht.empfContainer,\n Text: this.nachricht.nachrichtText,\n Signatur: this.nachricht.nachrichtSignatur,\n Typ: this.nachricht.typ,\n TelefonatTyp: this.nachricht.telefonatTyp,\n DoVollstaendigeNachrichtVersenden: this.nachricht.doVollstaendigeNachrichtVersenden,\n Anlagedatum: this.nachricht.anlagedatum,\n DateiList: this.nachricht.dateiList.map(d => {\n return {\n DMSLink: d.DMSLink,\n Dateiname: d.Dateiname,\n Exists: d.Exists\n };\n }),\n IdDateiLoeschList: this.nachricht.idDateiLoeschList\n }\n });\n\n if (this.nachricht.empfContainer) {\n const idEmpfaengerList = this.nachricht\n .empfContainer\n .NachrichtEmpfaengerList\n .map(c => c.Id);\n \n this._eventAggregator.publish(\"nachricht:erstellt\", {\n idEmpfaengerList: idEmpfaengerList\n });\n } else {\n this._eventAggregator.publish(\"nachricht:erstellt\", {\n all: true\n });\n }\n\n return r;\n }\n private async doAntworten(): Promise {\n if (!this.nachricht.nachrichtText) {\n const fehlerText = this._localizationService.translateOnce(\"nachricht-erstellen.fehlende-texteingabe\");\n DevExpress.ui.notify(fehlerText, \"ERROR\", 5000)\n return Promise.reject(fehlerText);\n }\n\n const idEmpfaenger = this.nachricht.empfContainer.NachrichtEmpfaengerList[0].Id;\n\n const r = await this._restService.post({\n url: this._restService.getApiUrl(\"ZIT/Nachricht/Antworten\"),\n increaseLoadingCount: true,\n data: {\n KeyNachricht: this.nachricht.keyReferenzNachricht,\n IdEmpfaenger: idEmpfaenger,\n Text: this.nachricht.nachrichtText,\n DateiList: this.nachricht.dateiList.map(d => {\n return {\n DMSLink: d.DMSLink,\n Dateiname: d.Dateiname\n };\n })\n }\n });\n\n this._eventAggregator.publish(\"nachricht:erstellt\", {\n idEmpfaengerList: [idEmpfaenger]\n });\n\n return r;\n }\n private async doWeiterleiten(): Promise {\n if (!this.empfaengerSelectBox.instance.option(\"value\")) {\n const fehlerText = this._localizationService.translateOnce(\"nachricht-erstellen.empfaenger-auswaehlen\");\n DevExpress.ui.notify(fehlerText, \"ERROR\", 5000)\n return Promise.reject(fehlerText);\n }\n\n const idEmpfaenger = this.empfaengerSelectBox.instance.option(\"value\");\n\n const r = await this._restService.post({\n url: this._restService.getApiUrl(\"ZIT/Nachricht/Weiterleiten\"),\n increaseLoadingCount: true,\n data: {\n KeyNachricht: this.nachricht.keyReferenzNachricht,\n IdEmpfaenger: idEmpfaenger\n }\n });\n\n this._eventAggregator.publish(\"nachricht:erstellt\", {\n idEmpfaengerList: [idEmpfaenger, r.IdEmpfaengerAlt]\n });\n\n return r;\n }\n private async doUmleiten(): Promise {\n if (!this.empfaengerSelectBox.instance.option(\"value\")) {\n const fehlerText = this._localizationService.translateOnce(\"nachricht-erstellen.empfaenger-auswaehlen\");\n DevExpress.ui.notify(fehlerText, \"ERROR\", 5000)\n return Promise.reject(fehlerText);\n }\n\n const idEmpfaenger = this.empfaengerSelectBox.instance.option(\"value\")\n\n const r = await this._restService.post({\n url: this._restService.getApiUrl(\"ZIT/Nachricht/Umleiten\"),\n increaseLoadingCount: true,\n data: {\n KeyNachricht: this.nachricht.keyReferenzNachricht,\n IdEmpfaenger: idEmpfaenger\n }\n });\n\n this._eventAggregator.publish(\"nachricht:erstellt\", {\n idEmpfaengerList: [idEmpfaenger, r.IdEmpfaengerAlt]\n });\n\n return r;\n }\n\n private deleteEmpfaenger(empfaenger: any) {\n const list: any[] = this.nachricht.empfContainer.NachrichtEmpfaengerList;\n if (!list || !list.length) {\n return;\n }\n\n list.splice(list.indexOf(empfaenger), 1);\n }\n\n private insertTextMarken(ref: string, value: string) {\n const element: Element = this.scopeContainer.scope.bindingContext[ref].element;\n const input = element.querySelectorAll(\"input, textarea\").item(0);\n input.focus();\n\n this.insertAtCursor(input, `{{${value}}}`);\n }\n private insertAtCursor(input: HTMLInputElement, value: string) {\n const doc: any = document;\n\n if (doc.selection) {\n const sel = doc.selection.createRange();\n sel.text = value;\n } else if (input.selectionStart || input.selectionStart == 0) {\n const startPos = input.selectionStart;\n const endPos = input.selectionEnd;\n\n input.value = input.value.substring(0, startPos)\n + value\n + input.value.substring(endPos);\n } else {\n input.value = (input.value || \"\") + value;\n }\n\n input.dispatchEvent(new Event(\"change\"));\n }\n private async loadTextmarken() {\n this.textmarken = await this._nachrichtService.getTextmarken();\n }\n \n private async loadVorlagen() {\n this.vorlagen = await this._nachrichtVorlageService.getVorlagen();\n }\n private copyFromVorlage(vorlage: INachrichtVorlage) {\n this.nachricht.nachrichtText = vorlage.Text;\n this.nachricht.nachrichtSignatur = vorlage.Signatur || this.startupService.startupInfo.Benutzer.NachrichtSignatur;\n \n this.nachricht.dateiList = [...vorlage.Dateien.map(d => {\n return {\n DMSLink: d.DMSLink,\n Dateiname: d.Dateiname\n };\n })];\n \n this.datei.refresh();\n }\n}\n","module.exports = \" \";","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.id, \".z--nachricht-erstellen .label {\\n margin-bottom: 4px;\\n}\\n\", \"\"]);\n// Exports\nmodule.exports = exports;\n","import { SimpleWidgetCreatorService } from './../../../framework/forms/widget-services/simple-widget-creator-service';\nimport { ScopeContainer } from './../../../framework/base/classes/scope-container';\nimport { RestService } from './../../../framework/base/services/rest-service';\nimport { LocalizationService } from './../../../framework/base/services/localization-service';\nimport { autoinject } from \"aurelia-framework\";\nimport { IdxPopupComponent } from '../../interfaces/export';\n\n@autoinject\nexport class NachrichtMassennachricht {\n constructor(\n private localizationService: LocalizationService,\n private restService: RestService,\n private simpleWidgetCreator: SimpleWidgetCreatorService\n ) { }\n\n scopeContainer: ScopeContainer;\n massennachrichtDataSource: DevExpress.data.DataSource;\n\n nachricht: any;\n\n nachrichtMassennachrichtPopup: IdxPopupComponent;\n nachrichtMassennachrichtPopupOptions: DevExpress.ui.dxPopupOptions = {\n height: \"auto\",\n maxWidth: \"750px\",\n title: this.localizationService.translateOnce(\"nachricht-massennachricht.massennachricht-empfaenger\"),\n onShown: () => {\n this.massennachrichtDataSource = new DevExpress.data.DataSource(\n new DevExpress.data.CustomStore({\n load: (e) => {\n return new Promise((resolve, reject) => {\n this.restService.get({\n url: this.restService.getApiUrl(\"ZIT/Nachricht/NachrichtEmpfaenger\") + `?keyNachricht=${this.nachricht.KeyNachricht}`,\n increaseLoadingCount: true\n }).then(r => {\n resolve({\n data: r\n });\n })\n });\n }\n }));\n }\n };\n\n massennachrichtGridOptions: DevExpress.ui.dxDataGridOptions = {\n columnAutoWidth: true,\n hoverStateEnabled: true,\n searchPanel: {\n visible: true\n },\n paging: { pageSize: 10 },\n columns: [\n { dataField: \"Name\", caption: this.localizationService.translateOnce(\"nachricht-massennachricht.name\") },\n { dataField: \"IsGelesen\", caption: this.localizationService.translateOnce(\"nachricht-massennachricht.is-gelesen\"), width: \"90px\" }\n ],\n bindingOptions: {\n dataSource: \"massennachrichtDataSource\"\n }\n }\n\n bind() {\n this.scopeContainer = new ScopeContainer({\n bindingContext: this,\n overrideContext: null\n });\n\n this.simpleWidgetCreator.updatePopupOptions({\n idToolbar: \"nachrichtMassennachrichtPopupToolbar\",\n caption: \"nachricht-massennachricht.massennachricht-empfaenger\",\n options: this.nachrichtMassennachrichtPopupOptions,\n scopeContainer: this.scopeContainer\n });\n }\n unbind() {\n this.scopeContainer.disposeAll();\n this.scopeContainer = null;\n }\n\n showPopup(nachricht: any) {\n this.nachricht = nachricht;\n this.nachrichtMassennachrichtPopup.instance.show();\n }\n}\n","module.exports = \" \";","import { EventAggregator, Subscription } from \"../../../../node_modules/aurelia-event-aggregator\";\nimport { bindable, computedFrom } from \"../../../../node_modules/aurelia-framework\";\nimport { ContextMenu } from \"../../../framework/forms/classes/context-menu\";\nimport { autoinject } from \"../../../framework/forms/form-export\";\nimport { BenutzerTyp } from \"../../enumerations/benutzer-typ\";\nimport { StartupService } from \"../../services/export\";\nimport { NachrichtService, NachrichtTyp } from \"../../services/nachricht-service\";\nimport { IDatei } from \"../datei/datei\";\n\n@autoinject\nexport class NachrichtItem {\n private _nachrichtGelesenSubscription: Subscription;\n private _nachrichtUngelesenSubscription: Subscription;\n private NACHRICHT_TYP_TELEFONAT: number = 1;\n private NACHRICHT_TYP_NOTIZ: number = 3;\n private NACHRICHT_STATUS_VERSENDET: number = 1;\n private NACHRICHT_STATUS_GELESEN: number = 2;\n\n constructor(\n private _element: Element,\n private _eventAggregator: EventAggregator,\n private _startupService: StartupService,\n private _nachrichtService: NachrichtService) {\n this.idBenutzer = this._startupService.startupInfo.Benutzer.IdBenutzer;\n }\n\n @bindable item: any;\n idBenutzer: number;\n\n dateiList: IDatei[];\n overruleClass: string;\n\n @computedFrom(\"item\")\n get showMassennachricht() {\n return this.item.IsMassennachricht\n && this._startupService.startupInfo.Benutzer.CanNachrichtMassennachricht;\n }\n\n bind() {\n this._nachrichtGelesenSubscription = this._eventAggregator.subscribe(\"nachricht:gelesen\", (e) => {\n if (e.keyNachricht != this.item.KeyNachricht) {\n return;\n }\n\n this.item.Status = this.NACHRICHT_STATUS_GELESEN;\n });\n this._nachrichtUngelesenSubscription = this._eventAggregator.subscribe(\"nachricht:ungelesen\", (e) => {\n if (e.keyNachricht != this.item.KeyNachricht) {\n return;\n }\n\n this.item.Status = this.NACHRICHT_STATUS_VERSENDET;\n });\n\n this.dateiList = (this.item.DateiList || []).map((d) => {\n return {\n DMSLink: d.DMSLink,\n DMSLinkDownload: d.DMSLinkDownload,\n Dateiname: d.Dateiname\n };\n });\n\n switch (this.item.Typ) {\n case NachrichtTyp.Telefonat: {\n this.overruleClass = \"z--nachr-nachrichten-telefonat\";\n break;\n }\n case NachrichtTyp.Notiz: {\n this.overruleClass = \"z--nachr-nachrichten-notiz\";\n break;\n }\n default: {\n break;\n }\n }\n\n this.doUrlValidation();\n }\n unbind() {\n if (this._nachrichtGelesenSubscription) {\n this._nachrichtGelesenSubscription.dispose();\n this._nachrichtGelesenSubscription = null;\n }\n if (this._nachrichtUngelesenSubscription) {\n this._nachrichtUngelesenSubscription.dispose();\n this._nachrichtUngelesenSubscription = null;\n }\n }\n\n onNachrichtContextMenuClick(e: Event) {\n e.preventDefault();\n e.stopPropagation();\n\n const ctxMenu = new ContextMenu();\n\n const isAbsender = this._startupService.startupInfo.Benutzer.IdBenutzer == this.item.IdAbsender;\n\n const benutzertyp = this._startupService.startupInfo.Benutzer.Benutzertyp;\n const isBenutzerNatuerlichePerson = benutzertyp == BenutzerTyp.NatuerlichePerson;\n const isBenutzerAdmin = benutzertyp == BenutzerTyp.Administrator;\n\n const isNotiz = this.item.Typ == NachrichtTyp.Notiz\n || this.item.Typ == NachrichtTyp.Telefonat;\n\n if (!isNotiz) {\n ctxMenu.items.push({\n text: \"Antworten\",\n execute: () => {\n this._nachrichtService.doAntwortNachrichtErstellen(this.item.KeyNachricht, this.item.IdAbsender, this.item.Absender);\n }\n });\n }\n\n if (!isBenutzerNatuerlichePerson && !isNotiz) {\n ctxMenu.items.push({\n text: \"Weiterleiten\",\n execute: () => {\n this._nachrichtService.doWeiterleitenNachrichtErstellen(this.item.KeyNachricht, this.item.TextOrg, this.dateiList);\n }\n });\n }\n if (!isBenutzerNatuerlichePerson && !this.item.IdNachrichtGruppe && !isNotiz) {\n ctxMenu.items.push({\n text: \"Umleiten\",\n execute: async() => {\n this._nachrichtService.doUmleitenNachrichtErstellen(this.item.KeyNachricht, this.item.TextOrg, this.dateiList);\n\n this._eventAggregator.publish(\"nachricht:gelesen\", {\n keyNachricht: this.item.KeyNachricht\n });\n }\n });\n }\n if (!isAbsender && !isNotiz) {\n if (this.item.IsEmpfaengerDirekt || this.item.Status === this.NACHRICHT_STATUS_GELESEN) {\n ctxMenu.items.push({\n text: \"Als ungelesen markieren\",\n execute: async() => {\n await this._nachrichtService.doNachrichtUngelesenMarkieren(this.item.KeyNachricht);\n\n this._eventAggregator.publish(\"nachricht:ungelesen\", {\n keyNachricht: this.item.KeyNachricht\n });\n }\n });\n } else if (this.item.IsEmpfaenger || this.item.Status === this.NACHRICHT_STATUS_VERSENDET) {\n ctxMenu.items.push({\n text: \"Als gelesen markieren\",\n execute: async() => {\n await this._nachrichtService.doNachrichtGelesenMarkieren(this.item.KeyNachricht);\n\n this._eventAggregator.publish(\"nachricht:gelesen\", {\n keyNachricht: this.item.KeyNachricht\n });\n }\n });\n }\n }\n if (isAbsender || isBenutzerAdmin) {\n ctxMenu.items.push({\n text: \"löschen\",\n execute: async() => {\n const r = await this._nachrichtService.showDeleteDialog(this.item.KeyNachricht);\n if (!r) {\n return;\n }\n\n this._eventAggregator.publish(\"nachricht:geloescht\", {\n keyNachricht: this.item.KeyNachricht\n });\n }\n });\n }\n ctxMenu.items.push({\n text: \"Nachrichteninfo\",\n execute: () => {\n this._element.dispatchEvent(new CustomEvent(\n \"on-nachricht-protokoll-click\", {\n bubbles: true,\n detail: {\n nachricht: this.item\n }\n }\n ));\n }\n });\n\n ctxMenu.show(e.target);\n }\n onNachrichtMassenClick(e: Event) {\n e.preventDefault();\n e.stopPropagation();\n\n this._element.dispatchEvent(new CustomEvent(\n \"on-nachricht-massennachricht-click\", {\n bubbles: true,\n detail: {\n nachricht: this.item\n }\n }\n ));\n }\n onNachrichtClick(e: Event) {\n if (e.target[\"tagName\"] == \"A\") {\n return;\n }\n\n e.preventDefault();\n e.stopPropagation();\n\n this._element.dispatchEvent(new CustomEvent(\n \"on-nachricht-click\", {\n bubbles: true,\n detail: {\n nachricht: this.item\n }\n }\n ));\n\n if (this.item.Typ == this.NACHRICHT_TYP_TELEFONAT || this.item.Typ == this.NACHRICHT_TYP_NOTIZ) {\n this._nachrichtService.doNachrichtBearbeiten(this.item);\n }\n }\n\n private doUrlValidation() {\n const cardText = document.getElementById(this.item.KeyNachricht);\n if (!cardText) {\n return;\n }\n\n const text = document.createElement(\"span\");\n text.innerHTML = this.item.Text;\n cardText.appendChild(text);\n }\n}\n","module.exports = \" \";","import { autoinject, bindable, observable } from \"aurelia-framework\";\nimport { ListView, IListViewOptions } from '../../../framework/forms/elements/list-view/export';\nimport { RestService } from '../../../framework/base/services/rest-service';\nimport { EventAggregator, Subscription } from '../../../../node_modules/aurelia-event-aggregator';\nimport { INachrichtBenutzerInfo, NachrichtAnzeigeTyp, NachrichtService } from '../../services/nachricht-service';\nimport { StartupService } from \"../../services/startup-service\";\n\n@autoinject\nexport class NachrichtNachrichten {\n private _timeoutReload: any;\n private _nachrichtErstelltSubscription: Subscription;\n private _nachrichtGeloeschtSubscription: Subscription;\n private _nachrichtSetUngelesenSubscription: Subscription;\n\n constructor(\n private _element: Element,\n private _restService: RestService,\n private _startupService: StartupService,\n private _nachrichtService: NachrichtService,\n private _eventAggregator: EventAggregator\n ) { }\n\n @bindable @observable benutzerInfo: INachrichtBenutzerInfo;\n @bindable @observable isStellvertreter: boolean;\n\n nachrichtListView: ListView;\n nachrichtListViewOptions: IListViewOptions = {\n useDefaultListItemStyle: false,\n itemClass: \"z--nachr-nachrichten-item\",\n onItemClick: (e) => {\n this.onNachrichtClick(e);\n }\n };\n\n scrollView: any;\n\n isLoading: boolean = false;\n\n bind() {\n this._nachrichtErstelltSubscription = this._eventAggregator.subscribe(\"nachricht:erstellt\", (e) => {\n if (!e.all && !e.idEmpfaengerList) {\n return;\n }\n\n const any = e.all || e.idEmpfaengerList.some(i => this.benutzerInfo && i == this.benutzerInfo.idBenutzer);\n if (!any) {\n return;\n }\n\n if (!this.nachrichtListView) {\n return;\n }\n\n this.nachrichtListView.refresh(false);\n });\n\n this._nachrichtGeloeschtSubscription = this._eventAggregator.subscribe(\"nachricht:geloescht\", () => {\n this.reload();\n })\n \n this._nachrichtSetUngelesenSubscription = this._eventAggregator.subscribe(\"nachricht:set-unglesen\", async (args) =>\n {\n const items = this.nachrichtListView.itemsOptions.items;\n if (!items) {\n return;\n }\n \n const item = items.find(c => c.IdAbsender != this._startupService.startupInfo.Benutzer.IdBenutzer);\n if (!item) {\n return;\n }\n \n args.isHandled = true;\n\n await this._nachrichtService.doNachrichtUngelesenMarkieren(item.KeyNachricht);\n\n this._eventAggregator.publish(\"nachricht:ungelesen\", {\n keyNachricht: item.KeyNachricht\n });\n });\n\n this.nachrichtListViewOptions.dataSource = new DevExpress.data.DataSource(\n new DevExpress.data.CustomStore({\n load: (e) => {\n if (!this.benutzerInfo) {\n return Promise.resolve({ data: [], totalCount: 0 });\n }\n\n return new Promise((resolve, reject) => {\n this._restService.post({\n url: this._restService.getApiUrl(\"ZIT/Nachricht/Nachricht\"),\n data: {\n Take: e.take,\n Skip: e.skip,\n IdBenutzer: this.benutzerInfo.idBenutzer,\n IsGruppe: this.benutzerInfo.anzeigeTyp == NachrichtAnzeigeTyp.Gruppe,\n IsStellvertreter: this.isStellvertreter\n },\n increaseLoadingCount: true\n }).then(r => {\n this.isLoading = false;\n\n if (r.NachrichtList) {\n const hasChangedGelesen = r.NachrichtList.some(n => n.HasChangedGelesen);\n if (hasChangedGelesen) {\n this._eventAggregator.publish(\"nachricht:gelesen\", {\n keyNachricht: \"ALL\"\n });\n }\n }\n\n resolve({\n data: r.NachrichtList,\n totalCount: r.Anzahl\n });\n })\n });\n }\n }));\n }\n unbind() {\n this._nachrichtErstelltSubscription.dispose();\n this._nachrichtErstelltSubscription = null;\n\n this._nachrichtGeloeschtSubscription.dispose();\n this._nachrichtGeloeschtSubscription = null;\n }\n\n benutzerInfoChanged() {\n if (!this.nachrichtListView) {\n return;\n }\n\n this.reload();\n }\n isStellvertreterChanged() {\n if (!this.nachrichtListView) {\n return;\n }\n\n this.reload();\n }\n reload() {\n this.isLoading = true;\n\n if (this._timeoutReload) {\n clearTimeout(this._timeoutReload);\n }\n\n this._timeoutReload = setTimeout(() => {\n if (this.scrollView) {\n const sv: DevExpress.ui.dxScrollView = this.scrollView.instance;\n if (sv) {\n sv.scrollTo(0);\n }\n }\n\n this.nachrichtListView.refresh(false);\n }, 100);\n }\n\n onNachrichtClick(e) {\n if (e.event.target.tagName == \"A\") {\n const element: any = e.event.target;\n if (element) {\n const url = element.href;\n const target = element.target;\n\n window.open(url, target);\n }\n\n return;\n }\n\n const event = new CustomEvent(\"on-nachricht-click\", {\n detail: {\n sender: this,\n keyNachricht: e.item.KeyNachricht\n },\n bubbles: true\n });\n\n this._element.dispatchEvent(event);\n }\n}\n","module.exports = \" \";","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.id, \".z--nachricht-nachrichten {\\n position: relative;\\n box-shadow: inset 0 0 10px #dedede;\\n background-color: white;\\n}\\n.z--nachricht-nachrichten > *:first-child {\\n position: absolute;\\n height: 100%;\\n width: 100%;\\n padding: 12px;\\n}\\n.z--nachricht-nachrichten .z--nachr-nachrichten-item {\\n width: 100%;\\n margin-bottom: 12px;\\n}\\n.z--nachricht-nachrichten .z--nachr-nachrichten-card {\\n display: flex;\\n}\\n.z--nachricht-nachrichten .z--nachr-nachrichten-card.alt {\\n justify-content: flex-end;\\n}\\n.z--nachricht-nachrichten .z--nachr-nachrichten-card.alt .z--nachr-nachrichten-card-content-container {\\n background-color: #DCF8C6;\\n}\\n.z--nachricht-nachrichten .z--nachr-nachrichten-card.alt .z--nachr-nachrichten-card-arrow {\\n right: -2px;\\n bottom: 40px;\\n left: auto;\\n}\\n.z--nachricht-nachrichten .z--nachr-nachrichten-card.alt .z--nachr-nachrichten-card-arrow:after {\\n transform: rotate(45deg) scaleY(-1);\\n border-top: 9px solid #DCF8C6;\\n}\\n.z--nachricht-nachrichten .z--nachr-nachrichten-card.z--nachr-nachrichten-telefonat .z--nachr-nachrichten-card-content-container {\\n background-color: #c6dff8;\\n}\\n.z--nachricht-nachrichten .z--nachr-nachrichten-card.z--nachr-nachrichten-telefonat .z--nachr-nachrichten-card-arrow:after {\\n border-top-color: #c6dff8;\\n}\\n.z--nachricht-nachrichten .z--nachr-nachrichten-card.z--nachr-nachrichten-notiz .z--nachr-nachrichten-card-content-container {\\n background-color: #f8f8c6;\\n}\\n.z--nachricht-nachrichten .z--nachr-nachrichten-card.z--nachr-nachrichten-notiz .z--nachr-nachrichten-card-arrow:after {\\n border-top-color: #f8f8c6;\\n}\\n.z--nachricht-nachrichten .z--nachr-nachrichten-card-absender {\\n font-weight: bold;\\n margin-bottom: 6px;\\n margin-right: 50px;\\n}\\n.z--nachricht-nachrichten .z--nachr-nachrichten-card-content-container {\\n max-width: 80%;\\n background-color: #ECF0F1;\\n border-radius: 4px;\\n margin-left: 16px;\\n margin-right: 16px;\\n position: relative;\\n}\\n.z--nachricht-nachrichten .z--nachr-nachrichten-card-arrow {\\n position: absolute;\\n width: 0;\\n bottom: 40px;\\n left: -16px;\\n height: 0;\\n}\\n.z--nachricht-nachrichten .z--nachr-nachrichten-card-arrow:after {\\n content: \\\"\\\";\\n position: absolute;\\n border: 0 solid transparent;\\n border-top: 9px solid #ECF0F1;\\n border-radius: 0 20px 0;\\n width: 15px;\\n height: 30px;\\n transform: rotate(145deg);\\n}\\n.z--nachricht-nachrichten .z--nachr-nachrichten-card-content {\\n padding: 8px 14px;\\n}\\n.z--nachricht-nachrichten .z--nachr-nachrichten-card-content datei {\\n display: block;\\n margin-top: 6px;\\n}\\n.z--nachricht-nachrichten .z--nachr-nachrichten-card-bottom {\\n display: flex;\\n font-size: 0.8em;\\n color: #636363;\\n margin-top: 6px;\\n}\\n.z--nachricht-nachrichten .z--nachr-nachrichten-card-bottom-space {\\n flex-grow: 1;\\n margin-left: 20px;\\n}\\n.z--nachricht-nachrichten .z--nachr-nachrichten-datum {\\n display: flex;\\n}\\n.z--nachricht-nachrichten .z--nachr-benutzer-card-status {\\n margin-left: 10px;\\n color: #E67E22;\\n}\\n.z--nachricht-nachrichten .z--nachr-benutzer-card-status > i {\\n margin-left: -4px;\\n}\\n.z--nachricht-nachrichten .z--nachr-benutzer-card-status.z--nachr-benutzer-card-status-gelesen {\\n color: #2ECC71;\\n}\\n.z--nachricht-nachrichten .z--nachr-nachrichten-button-stack {\\n position: absolute;\\n top: 8px;\\n right: 14px;\\n margin-bottom: 25px;\\n display: flex;\\n flex-direction: column;\\n}\\n.z--nachricht-nachrichten .z--nachr-nachrichten-button-stack > * + * {\\n margin-top: 6px;\\n}\\n.z--nachricht-nachrichten .z--nachr-nachrichten-button {\\n display: flex;\\n height: 16px;\\n width: 16px;\\n border-radius: 16px;\\n align-items: center;\\n justify-content: center;\\n background-color: rgba(0, 0, 0, 0.6);\\n color: rgba(255, 255, 255, 0.8);\\n cursor: pointer;\\n}\\n.z--nachricht-nachrichten .z--nachr-nachrichten-button i {\\n font-size: 10px;\\n}\\n.z--nachricht-nachrichten .z--nachr-nachrichten-button:hover {\\n background-color: #000000;\\n color: #ffffff;\\n}\\n.z--nachricht-nachrichten .z--nachr-nachrichten-card-text {\\n word-wrap: break-word;\\n margin-right: 50px;\\n}\\n.z--nachricht-nachrichten .z--nachr-nachrichten-card-text span {\\n white-space: pre-wrap;\\n}\\n.t--is-mobile .z--nachr-nachrichten-button {\\n background-color: #000000;\\n color: #ffffff;\\n}\\n\", \"\"]);\n// Exports\nmodule.exports = exports;\n","import { LocationService } from './../../../framework/base/services/location-service';\nimport { ObjektInfoService } from './../../services/objekt-info-service';\nimport { observable, Scope, OverrideContext } from 'aurelia-binding';\nimport { BenutzerTyp } from './../../enumerations/benutzer-typ';\nimport { StartupService } from './../../services/startup-service';\nimport { NachrichtService } from './../../services/nachricht-service';\nimport { SimpleWidgetCreatorService } from './../../../framework/forms/widget-services/simple-widget-creator-service';\nimport { ScopeContainer } from './../../../framework/base/classes/scope-container';\nimport { RestService } from './../../../framework/base/services/rest-service';\nimport { LocalizationService } from './../../../framework/base/services/localization-service';\nimport { autoinject, bindable, transient } from \"aurelia-framework\";\nimport { IdxPopupComponent } from '../../interfaces/export';\nimport { GlobalizationService } from '../../../framework/base/export';\nimport { IZitTagOptions } from '../../../zit-ui/elements/zit-tag/export';\nimport { FormUtilsService, PopupInfoService } from '../../../framework/forms/export';\n\n@autoinject\nexport class NachrichtProtokoll {\n constructor(\n private _localizationService: LocalizationService,\n private _restService: RestService,\n private _simpleWidgetCreator: SimpleWidgetCreatorService,\n private _nachrichtService: NachrichtService,\n private _globalizationService: GlobalizationService,\n private _objektInfoService: ObjektInfoService,\n private _locationService: LocationService,\n private _formUtilsService: FormUtilsService,\n private _popupInfoService: PopupInfoService\n ) { }\n\n scope: Scope;\n scopeContainer: ScopeContainer;\n protokollDataSource: DevExpress.data.DataSource;\n\n nachricht: any;\n\n nachrichtProtokollPopup: IdxPopupComponent;\n nachrichtProtokollPopupOptions: DevExpress.ui.dxPopupOptions = {\n height: \"auto\",\n maxWidth: \"900px\",\n title: this._localizationService.translateOnce(\"nachricht-protokoll.nachrichteninfo\"),\n onShown: () => {\n this.protokollDataSource = new DevExpress.data.DataSource(\n new DevExpress.data.CustomStore({\n load: async (e) => {\n const r = await this._restService.get({\n url: this._restService.getApiUrl(\"ZIT/Nachricht/NachrichtProtokoll\") + `?keyNachricht=${this.nachricht.KeyNachricht}`,\n increaseLoadingCount: true\n });\n\n return {\n data: r\n };\n }\n }));\n }\n };\n protokollGridOptions: DevExpress.ui.dxDataGridOptions = {\n columnAutoWidth: true,\n paging: {\n pageSize: 10\n },\n hoverStateEnabled: true,\n searchPanel: {\n visible: true\n },\n columns: [{ \n dataField: \"Benutzer\", \n caption: this._localizationService.translateOnce(\"nachricht-protokoll.benutzer\"),\n width: \"180px\"\n }, { \n dataField: \"TypBezeichnung\", \n caption: this._localizationService.translateOnce(\"nachricht-protokoll.typ\"),\n width: \"120px\"\n }, {\n dataField: \"Datum\", \n caption: this._localizationService.translateOnce(\"nachricht-protokoll.protokoll-datum\"), \n format: this._globalizationService.getFormatter(\"g\"),\n width: \"120px\"\n }, { \n dataField: \"Ursprungsempfaenger\", \n caption: this._localizationService.translateOnce(\"nachricht-protokoll.ursprungsempfaenger\"),\n width: \"180px\" \n }, {\n dataField: \"ReferenzNachricht\", \n caption: this._localizationService.translateOnce(\"nachricht-protokoll.referenz-nachricht\"), \n width: \"150px\" \n }, { \n dataField: \"ExterneSchnittstelleBezeichnung\", \n caption: this._localizationService.translateOnce(\"nachricht-protokoll.externe-schnittstelle\"),\n minWidth: 100\n }\n ],\n bindingOptions: {\n dataSource: \"protokollDataSource\"\n }\n };\n objektTagOptions: IZitTagOptions = {\n icon: {\n faIconExpression: \"item.ObjektSymbol\"\n },\n textExpression: \"item.ObjektBez\",\n onClick: () => {\n const url = this._objektInfoService.getObjektNavigationUrl(this.nachricht.ObjektTypeName) + \"/\" + this.nachricht.IdObjekt;\n\n if (url) {\n const currentForm = this._formUtilsService.getMainForm(this.scope);\n this._locationService.goTo({\n url: url,\n currentViewModel: currentForm\n });\n\n this._popupInfoService.closeAllPopups();\n }\n }\n };\n nachrichtentypTagOptions: IZitTagOptions = {\n icon: {\n faIconExpression: \"item.TypBez == 'Nachricht' ? 'far fa-comment-dots' : item.TypBez == 'Telefonat' ? 'fas fa-phone-alt' : item.TypBez == 'ext. Email' ? 'far fa-envelope' : '' \"\n },\n textExpression: \"item.TypBez\"\n };\n\n bind(bindingContext: any, overrideContext: OverrideContext) {\n this.scope = {\n bindingContext: bindingContext,\n overrideContext: overrideContext\n };\n\n this.scopeContainer = new ScopeContainer({\n bindingContext: this,\n overrideContext: null\n });\n\n this._simpleWidgetCreator.updatePopupOptions({\n idToolbar: \"nachrichtProtokollPopupToolbar\",\n caption: \"nachricht-protokoll.nachrichteninfo\",\n options: this.nachrichtProtokollPopupOptions,\n scopeContainer: this.scopeContainer\n });\n }\n unbind() {\n this.scopeContainer.disposeAll();\n this.scope = null;\n }\n\n showPopup(nachricht: any) {\n this.nachricht = nachricht;\n this.nachrichtProtokollPopup.instance.show();\n }\n}\n","module.exports = \" \";","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.id, \".z--nachr-tags {\\n display: flex;\\n flex-wrap: wrap;\\n flex-grow: 1;\\n}\\n.z--nachr-tags > * {\\n margin-bottom: 6px;\\n margin-right: 6px;\\n}\\n\", \"\"]);\n// Exports\nmodule.exports = exports;\n","import { autoinject } from \"aurelia-framework\";\nimport { INachrichtVorlage, NachrichtVorlageService } from \"../../services/nachricht-vorlage-service\";\nimport { ContextMenu } from \"../../../framework/forms/classes/context-menu\";\nimport { LocalizationService } from \"../../../framework/base/services/localization-service\";\nimport {\n IdxPopupComponent,\n IdxSelectBoxComponent,\n IdxTextAreaComponent,\n IdxTextBoxComponent, IdxValidationGroupComponent\n} from \"../../interfaces/dx-components\";\nimport { INachrichtTextmarke, NachrichtService } from \"../../services/nachricht-service\";\nimport { ScopeContainer } from \"../../../framework/base/classes/scope-container\";\nimport { SimpleWidgetCreatorService } from \"../../../framework/forms/widget-services/simple-widget-creator-service\";\nimport { ICommandData } from \"../../../framework/forms/interfaces/command-data\";\nimport { DialogConfirmService } from \"../../../framework/forms/services/dialog-confirm-service\";\nimport { Datei } from \"../datei/datei\";\nimport { DateiAuswaehlen } from \"../datei-auswaehlen/datei-auswaehlen\";\nimport { FileService } from \"../../../framework/base/services/file-service\";\nimport { BrowserService } from \"../../../framework/base/services/browser-service\";\n\n@autoinject\nexport class NachrichtVorlage {\n private _callback: {(vorlage: INachrichtVorlage): void};\n \n constructor(\n private _browserService: BrowserService,\n private _dialogConfirmService: DialogConfirmService,\n private _fileService: FileService,\n private _localizationService: LocalizationService,\n private _nachrichtService: NachrichtService,\n private _nachrichtVorlageService: NachrichtVorlageService,\n private _simpleWidgetCreator: SimpleWidgetCreatorService\n ) {\n }\n \n scopeContainer: ScopeContainer;\n \n vorlage: INachrichtVorlage;\n \n popup: IdxPopupComponent;\n popupOptions: DevExpress.ui.dxPopupOptions = {\n height: \"auto\",\n maxWidth: \"750px\",\n maxHeight: \"100vh\",\n onShown: () => {\n this.bezeichnungTextBox.instance.focus();\n }\n };\n\n fotoCommand: ICommandData = {\n id: \"kameraCommand\",\n idCategory: \"$start\",\n icon: \"fas fa-camera\",\n sortIndex: 1200,\n execute: () => {\n this.dateiAuswaehlen.onMakePhoto(true, true);\n }\n };\n videoCommand: ICommandData = {\n id: \"videoCommand\",\n idCategory: \"$start\",\n icon: \"fas fa-video\",\n sortIndex: 1201,\n execute: () => {\n this.dateiAuswaehlen.onMakeVideo(true, true);\n }\n };\n dokumentCommand: ICommandData = {\n id: \"dokumentCommand\",\n idCategory: \"$start\",\n icon: \"fas fa-paperclip\",\n sortIndex: 1202,\n execute: () => {\n this.dateiAuswaehlen.onOpenFiles(true);\n }\n };\n saveCommand: ICommandData = {\n id: \"saveCommand\",\n idCategory: \"$start\",\n icon: \"fas fa-save\",\n tooltip: \"base.save_tooltip\",\n sortIndex: 1400,\n isVisible: true,\n execute: async () => {\n const r = this.validationGroup.instance.validate();\n if (!r.isValid) {\n DevExpress.ui.notify(r.brokenRules[0].message, \"error\", 3000);\n return;\n }\n \n this.vorlage = await this._nachrichtVorlageService.saveVorlage(this.vorlage);\n this.popup.instance.hide();\n \n if (this._callback) {\n this._callback(this.vorlage);\n }\n }\n }\n deleteCommand: ICommandData = {\n id: \"deleteCommand\",\n idCategory: \"$start\",\n icon: \"far fa-trash-alt\",\n tooltip: \"base.delete_tooltip\",\n sortIndex: 1401,\n isVisible: false,\n execute: async () => {\n const c = await this._dialogConfirmService.show({\n title: this._localizationService.translateOnce(\"base.question\"),\n message: this._localizationService.translateOnce(\"base.sure_delete_question\")\n });\n \n if (!c) {\n return;\n }\n \n await this._nachrichtVorlageService.deleteVorlage(this.vorlage);\n this.popup.instance.hide();\n\n if (this._callback) {\n this._callback(null);\n }\n }\n }\n\n validationGroup: IdxValidationGroupComponent;\n validationGroupOptions: DevExpress.ui.dxValidationGroupOptions = {};\n\n requiredValidatorOptions: DevExpress.ui.dxValidatorOptions = {\n validationRules: [{ type: \"required\" }]\n };\n\n bezeichnungTextBox: IdxTextBoxComponent;\n bezeichnungOptions: DevExpress.ui.dxTextBoxOptions = {\n maxLength: 250,\n bindingOptions: {\n value: \"vorlage.Bezeichnung\"\n }\n };\n\n textmarkeList: INachrichtTextmarke[];\n textmarkenOptions: DevExpress.ui.dxSelectBoxOptions = {\n placeholder: \"Auswählen...\",\n displayExpr: \"Bezeichnung\",\n valueExpr: \"Value\",\n bindingOptions: {\n dataSource: \"textmarkeList\"\n },\n onItemClick: (e) => {\n this.insertTextmarke(this.textTextArea.instance.element(), e.itemData.Bezeichnung);\n }\n }\n textmarkenSelectBox: IdxSelectBoxComponent;\n\n textOptions: DevExpress.ui.dxTextAreaOptions = {\n height: \"150px\",\n bindingOptions: {\n value: \"vorlage.Text\"\n }\n }\n textTextArea: IdxTextAreaComponent;\n\n signaturOptions: DevExpress.ui.dxTextAreaOptions = {\n height: \"50px\",\n bindingOptions: {\n value: \"vorlage.Signatur\"\n }\n }\n\n dateiAuswaehlen: DateiAuswaehlen;\n datei: Datei;\n \n bind(bindingContext, overrideContext) {\n this.scopeContainer = new ScopeContainer({\n bindingContext: bindingContext,\n overrideContext: overrideContext\n });\n\n const commands: ICommandData[] = [this.saveCommand, this.deleteCommand, this.fotoCommand];\n\n if (this._browserService.isMobile) {\n commands.push(this.videoCommand);\n } else {\n commands.push(this.dokumentCommand);\n }\n \n this._simpleWidgetCreator.updatePopupOptions({\n idToolbar: \"nachrichtVorlagePopupToolbar\",\n caption: \"nachricht-vorlage.vorlage-erstellen\",\n options: this.popupOptions,\n commands: commands,\n scopeContainer: this.scopeContainer\n });\n \n this.loadTextmarken();\n }\n unbind() {\n this.scopeContainer.disposeAll()\n this.scopeContainer = null;\n }\n \n async showContextMenu(target, callback?: {(vorlage: INachrichtVorlage): void}) {\n this._callback = callback;\n const vorlageList = await this._nachrichtVorlageService.getVorlagen();\n \n const contextMenu = new ContextMenu();\n contextMenu.items.push({\n text: this._localizationService.translateOnce(\"nachricht-vorlage.neue-vorlage\"),\n execute: (ev) => {\n this.vorlage = {\n Dateien: []\n };\n \n this.updateCommandVisibility();\n this.popup.instance.show();\n }\n });\n\n let beginGroup = true;\n vorlageList.forEach(v =>\n {\n contextMenu.items.push({\n text: v.Bezeichnung,\n beginGroup: beginGroup,\n execute: (ev) => {\n this.vorlage = v;\n\n this.updateCommandVisibility();\n this.popup.instance.show();\n }\n })\n beginGroup = false;\n });\n \n contextMenu.show(target);\n }\n\n async onDateiAusgewaehlt(e: CustomEvent) {\n for (let file of e.detail.files) {\n const dmsLink = await this._fileService.upload(file);\n if (!dmsLink) {\n return;\n }\n\n this.vorlage.Dateien.push({ DMSLink: dmsLink, Dateiname: file.name });\n }\n\n this.datei.refresh();\n }\n \n private updateCommandVisibility() {\n this.deleteCommand.isVisible = !!this.vorlage.Id;\n }\n\n private async loadTextmarken() {\n this.textmarkeList = await this._nachrichtService.getTextmarken();\n }\n private insertTextmarke(element: Element, value: string) {\n const input = element.querySelectorAll(\"input, textarea\").item(0);\n input.focus();\n\n this.insertAtCursor(input, `{{${value}}}`);\n }\n private insertAtCursor(input: HTMLInputElement, value: string) {\n const doc: any = document;\n\n if (doc.selection) {\n const sel = doc.selection.createRange();\n sel.text = value;\n } else if (input.selectionStart || input.selectionStart == 0) {\n const startPos = input.selectionStart;\n const endPos = input.selectionEnd;\n\n input.value = input.value.substring(0, startPos)\n + value\n + input.value.substring(endPos);\n } else {\n input.value = (input.value || \"\") + value;\n }\n\n input.dispatchEvent(new Event(\"change\"));\n }\n}\n","module.exports = \" \";","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.id, \"\", \"\"]);\n// Exports\nmodule.exports = exports;\n","import {\n autoinject, child\n} from \"aurelia-framework\";\nimport {\n RouterService\n} from '../../../framework/forms/services/export';\nimport { INavigationRoute } from '../../../framework/forms/export';\nimport { LocationService } from '../../../framework/base/services/location-service';\nimport { EventAggregator } from 'aurelia-event-aggregator';\n\n@autoinject\nexport class NavigationList {\n constructor(\n private _locationService: LocationService,\n private _routerService: RouterService,\n private _eventAggregator: EventAggregator\n ) { \n this.initializeRoutes()\n }\n\n routes: INavigationRoute[];\n\n onNavigationItemClick(url: string) {\n if (!url) {\n return;\n }\n\n this._locationService.goTo({\n url: url,\n clearStack: true\n });\n }\n\n private initializeRoutes() {\n const routes: INavigationRoute[] = [];\n\n const hideNavigation = [\n \"routes.objekte\",\n \"routes.suche\",\n \"routes.navigation\"\n ]\n\n this._routerService.navigationRoutes\n .forEach(r => {\n if (hideNavigation.indexOf(r.caption) >= 0) {\n return;\n }\n\n if (!r.children || r.children.length == 0) {\n return;\n }\n\n const children = r.children.filter(c => {\n const route = this._routerService.getRoute(c.route);\n if (!route) {\n return false;\n }\n\n const routerCanNavigateArgs = {\n routeInfo: route,\n moduleId: route.route.moduleId,\n cancel: false\n };\n \n this._eventAggregator.publish(\"router:can-navigate\", routerCanNavigateArgs);\n if (routerCanNavigateArgs.cancel) {\n return false;\n }\n\n return true;\n });\n\n if (children.length == 0) {\n return;\n }\n\n routes.push({\n caption: r.caption,\n navigation: r.navigation,\n route: r.route,\n children: children\n });\n });\n\n this.routes = routes;\n }\n}\n","module.exports = \" \";","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.id, \".z--navigation-list {\\n height: 100%;\\n column-count: 4;\\n column-width: 200px;\\n column-fill: auto;\\n -webkit-column-count: 4;\\n -webkit-column-width: 200px;\\n -webkit-column-fill: auto;\\n -moz-column-count: 4;\\n -moz-column-width: 200px;\\n -moz-column-fill: auto;\\n overflow-y: auto;\\n}\\n.z--navigation-list > .fa-ul {\\n margin-left: 2.5em;\\n}\\n.z--navigation-list > .fa-ul .fa-li {\\n font-size: 1.2em;\\n top: 0;\\n}\\n.z--navigation-list > ul .z--navigation-category {\\n color: #898989;\\n font-size: 1.2em;\\n font-weight: bold;\\n}\\n.z--navigation-list > ul .z--navigation-category + .z--navigation-category {\\n margin-top: 12px;\\n}\\n.z--navigation-list > ul ul {\\n list-style: none;\\n margin: 0;\\n padding: 12px 0;\\n}\\n.z--navigation-list > ul ul .z--navigation-item {\\n position: relative;\\n border-bottom: 1px dotted lightgray;\\n cursor: pointer;\\n margin-bottom: 4px;\\n}\\n.z--navigation-list > ul ul .z--navigation-item .z--navigation-item-name {\\n display: inline-block;\\n padding: 4px 0;\\n font-size: 0.8em;\\n font-weight: normal;\\n text-decoration: none;\\n color: #111111;\\n}\\n\", \"\"]);\n// Exports\nmodule.exports = exports;\n","import { IdxPopoverComponent } from \"../../interfaces/dx-components\";\nimport { NachrichtService } from \"../../services/nachricht-service\";\nimport { autoinject, bindable, observable } from 'aurelia-framework';\nimport { FileService, RestService } from '../../../framework/base/export';\nimport { ListView } from '../../../framework/forms/export';\nimport { IDatei } from \"../datei/datei\";\nimport { IListViewOptions } from './../../../framework/forms/elements/list-view/list-view-options';\nimport { IZitTagOptions } from '../../../zit-ui/elements/zit-tag/export';\nimport { CustomEditPopupService } from './../../services/export';\nimport { IZitToolbarOptions } from '../../../zit-ui/elements/zit-toolbar/zit-toolbar-options';\n\n@autoinject\nexport class NotizListView {\n constructor(\n private _element: Element,\n private _customEditPopupService: CustomEditPopupService,\n private _fileService: FileService,\n private _nachrichtService: NachrichtService,\n private _restService: RestService,\n ) { }\n\n @bindable @observable idPerson: number;\n \n notizList: Notiz[] = [];\n notiz: Notiz = null;\n\n tagOptions: IZitTagOptions;\n \n notizListView: ListView;\n notizListViewOptions: IListViewOptions = {\n showReloadButton: false,\n useDefaultListItemStyle: false,\n itemClass: \"z--list-view-inline-item\",\n dataSource: new DevExpress.data.DataSource(new DevExpress.data.ArrayStore({data: this.notizList}))\n };\n\n notizTagOptions: IZitTagOptions = {\n isClickEnabled: true,\n hasDefaultInfo: true,\n icon: {\n faIcon: \"far fa-sticky-note\"\n },\n infoList: [{\n icon: {\n faIcon: \"fas fa-paperclip\",\n },\n isVisibleExpression: `item.HasDateien`\n }],\n textExpression: `item.Text | zitRestrictLength:50`,\n onClick: (e, data) => {\n e.stopPropagation();\n \n this.notiz = data;\n this.id = \"c\" + new Date().getTime().toString();\n \n this.notizPopover.setOption({\n target: e.currentTarget,\n });\n \n this.notizPopover.instance.show()\n }\n };\n\n id: string;\n isPopoverVisible = false;\n notizPopover: IdxPopoverComponent;\n notizPopoverOptions: DevExpress.ui.dxPopoverOptions = {\n contentTemplate: \"contentTemplate\",\n onHiding: () => this.isPopoverVisible = false,\n onShowing: () => this.isPopoverVisible = true,\n position: {\n at: {\n x: \"left\",\n y: \"bottom\"\n },\n my: {\n x: \"left\",\n y: \"top\"\n }\n }\n };\n \n bind() {\n this.tagOptions = this.notizTagOptions;\n\n this.loadData();\n }\n unbind() {\n }\n\n idPersonChanged(newVal) {\n this.loadData();\n }\n\n private async loadData() {\n const data: any[] = await this.loadDataInt();\n this.notizList.splice(0, this.notizList.length, ...data);\n\n if (this.notizListView.options) {\n this.notizListView.refresh();\n }\n }\n private async loadDataInt(): Promise {\n if (!this.idPerson) return [];\n\n const benutzer = await this._nachrichtService.getBenutzerFromObjekt(\"TIP.ZIT.Business.Entities.Objekte.Personen.Person\", this.idPerson);\n if (!benutzer) return [];\n\n const result = await this._restService.post({\n url: this._restService.getApiUrl(\"ZIT/Nachricht/Nachricht\"),\n data: {\n Take: 100,\n Skip: 0,\n IdBenutzer: benutzer.Id,\n IsGruppe: false,\n IsStellvertreter: false,\n NurNotizen: true\n }\n });\n \n if (!result || !result.NachrichtList) return [];\n\n const div = document.createElement(\"div\");\n return result.NachrichtList.map(i => {\n div.innerHTML = (i.Text ?? \"\").replaceAll(\"
\", \" \");\n\n return {\n Text: div.textContent,\n TextHtml: i.Text,\n HasDateien: (i.DateiList ?? []).length > 0,\n Dateien: (i.DateiList ?? [])\n } as Notiz;\n });\n }\n}\n\ntype Notiz = {\n Text: string;\n TextHtml: string;\n HasDateien: boolean;\n Dateien: IDatei[];\n}\n","module.exports = \" \";","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.id, \".notiz-popover__content {\\n display: flex;\\n flex-direction: column;\\n gap: 12px;\\n padding: 12px;\\n max-width: min(600px, 90vw);\\n}\\n.notiz-popover__text {\\n text-wrap: wrap;\\n}\\n\", \"\"]);\n// Exports\nmodule.exports = exports;\n","import { autoinject, OverrideContext, Scope } from \"aurelia-framework\";\nimport { AuthorizationService, LocalizationService, ScopeContainer } from \"../../../framework/base/export\";\nimport { DataSourceService } from \"../../../framework/base/services/export\";\nimport { ICommandData, SimpleWidgetCreatorService } from \"../../../framework/forms/export\";\nimport { IdxPopupComponent, IdxValidationGroupComponent, IPasswortAendernData } from \"../../interfaces/export\";\nimport { BenutzereinstellungenService } from \"../../services/benutzereinstellungen-service\";\n\n@autoinject\nexport class PasswortAendern {\n private NOTIFY_TIMEOUT: number = 3000;\n \n constructor(\n private _benutzereinstellungenService: BenutzereinstellungenService,\n private _localizationService: LocalizationService,\n private _simpleWidgetCreatorService: SimpleWidgetCreatorService) { }\n\n scope: Scope;\n scopeContainer: ScopeContainer;\n passwortAendernData = { newPass1: \"\", newPass2: \"\" };\n\n popupCommands: ICommandData[] = [\n {\n id: \"passwortAendern\",\n idCategory: \"$start\",\n icon: \"fas fa-save\",\n tooltip: \"base.save\",\n sortIndex: 1100,\n execute: () => {\n this.onPasswortAendernClicked();\n }\n }\n ];\n\n passwortAendernPopup: IdxPopupComponent;\n passwortAendernPopupOptions: DevExpress.ui.dxPopupOptions = {\n height: \"auto\",\n maxHeight: \"80%\",\n maxWidth: \"420px\"\n };\n validationGroup: IdxValidationGroupComponent;\n validationGroupOptions: DevExpress.ui.dxValidationGroupOptions = {};\n neuesPasswort1Options: DevExpress.ui.dxTextBoxOptions = {\n placeholder: this._localizationService.translateOnce(\"passwort-aendern.neues-passwort\"),\n mode: \"password\",\n name: \"passwort-aendern.neues-passwort\",\n bindingOptions: {\n value: \"passwortAendernData.newPass1\"\n }\n };\n neuesPasswort2Options: DevExpress.ui.dxTextBoxOptions = {\n placeholder: this._localizationService.translateOnce(\"passwort-aendern.neues-passwort-wiederholen\"),\n mode: \"password\",\n onValueChanged: () => {\n this.validationGroup.instance.validate();\n },\n bindingOptions: {\n value: \"passwortAendernData.newPass2\"\n }\n };\n newpasswortValidatorOptions: DevExpress.ui.dxValidatorOptions = {\n validationRules: this.getValidator(this.neuesPasswort1Options).validationRules\n .concat({\n type: \"custom\",\n message: this._localizationService.translateOnce(\"passwort-aendern.passswort_compare_validation\"),\n reevaluate: true,\n validationCallback: (e) => {\n const compareResult = this.passwortAendernData.newPass1.localeCompare(this.passwortAendernData.newPass2);\n const isValid = compareResult === 0;\n\n return isValid;\n }\n })\n };\n\n bind(bindingContext: any, overrideContext: OverrideContext) {\n this.scope = {\n bindingContext: bindingContext,\n overrideContext: overrideContext\n };\n\n this.scopeContainer = new ScopeContainer({\n bindingContext: this,\n overrideContext: null\n });\n\n this._simpleWidgetCreatorService.updatePopupOptions({\n idToolbar: \"dmsViewerPopupToolbar\",\n caption: \"passwort-aendern.popup-titel\",\n options: this.passwortAendernPopupOptions,\n commands: this.popupCommands,\n scopeContainer: this.scopeContainer\n });\n }\n unbind() {\n this.scopeContainer.disposeAll();\n this.scope = null;\n }\n\n showPopup() {\n this.passwortAendernPopup.instance.show();\n this.validationGroup.instance.reset();\n }\n\n private async onPasswortAendernClicked() {\n const validationResult = this.validationGroup.instance.validate();\n if (!validationResult.isValid) {\n return;\n }\n\n const data: IPasswortAendernData = {\n OldPassword: \"IGNOREME\",\n NewPassword: this.passwortAendernData.newPass1,\n };\n\n await this._benutzereinstellungenService.changePasswort(data);\n\n DevExpress.ui.notify(this._localizationService.translateOnce(\"passwort-aendern.passwort_changed_confirmation\"), \"SUCCESS\", this.NOTIFY_TIMEOUT);\n\n this.passwortAendernPopup.instance.hide();\n }\n private getRequiredMessage(caption: string) {\n const result = this._localizationService.translateOnce(\n \"passwort-aendern.passswort_required_validation\",\n [this._localizationService.translateOnce(caption)]);\n\n const resultLowerCase = result.charAt(0)\n .toLowerCase();\n\n return resultLowerCase + result.slice(1);\n }\n private getValidator(options: DevExpress.ui.dxTextBoxOptions) {\n const validationRules = [{\n type: \"custom\",\n message: \"\",\n reevaluate: false,\n validationCallback: (e) => {\n e.rule.message = this.getRequiredMessage(options.name);\n\n return e.value ? true : false;\n }\n }];\n\n return { validationRules: validationRules };\n }\n}\n","module.exports = \" \";","import { autoinject, Scope, OverrideContext, bindable, computedFrom } from \"aurelia-framework\";\nimport { ScopeContainer, LocalizationService } from \"../../../framework/base/export\";\nimport { ICommandData, SimpleWidgetCreatorService } from \"../../../framework/forms/export\";\nimport { DownloadService } from \"./../../services/export\";\nimport { IdxPopupComponent, IdxValidationGroupComponent, IdxCheckBoxComponent, IPersonDossierData } from \"../../interfaces/export\";\nimport { PersonDossierTyp } from \"../../enumerations/export\";\n\n@autoinject\nexport class PersonDossier {\n private _keyList: number[];\n private _objektFullName: string;\n\n constructor(\n private download: DownloadService,\n private localization: LocalizationService,\n private simpleWidgetCreator: SimpleWidgetCreatorService\n ) { }\n\n get dossiertTyp() {\n if (!this._objektFullName) {\n return;\n }\n switch (this._objektFullName) {\n case \"TIP.ZIT.Business.Entities.Objekte.Personen.Person\":\n return PersonDossierTyp.Person;\n case \"TIP.ZIT.Business.Entities.Objekte.Bewerbungen.Bewerbung\":\n return PersonDossierTyp.Bewerber;\n case \"TIP.ZIT.Business.Entities.Objekte.Disposition.DispoPlanstellePersonenzuteilung\":\n return PersonDossierTyp.DispoPlanstellePersonenzuteilung;\n default:\n return;\n }\n }\n\n scope: Scope;\n scopeContainer: ScopeContainer;\n\n popupCommands: ICommandData[] = [\n {\n id: \"downLoadPersonDossierDokumentList\",\n idCategory: \"$start\",\n icon: \"fas fa-check\",\n tooltip: \"person-dossier.download-starten\",\n sortIndex: 1001,\n execute: () => {\n this.downLoadPersonDossierDokumentList();\n }\n }\n ];\n\n personDossierPopup: IdxPopupComponent;\n personDossierPopupOptions: DevExpress.ui.dxPopupOptions = {\n height: \"auto\",\n maxHeight: \"80%\",\n maxWidth: \"420px\"\n };\n\n personenstammblatt: IdxCheckBoxComponent;\n personenstammblattOptions: DevExpress.ui.dxCheckBoxOptions = {\n value: true,\n text: this.localization.translateOnce(\"person-dossier.personenstammblatt-caption\")\n };\n bewerbungsstammblatt: IdxCheckBoxComponent;\n bewerbungsstammblattOptions: DevExpress.ui.dxCheckBoxOptions = {\n text: this.localization.translateOnce(\"person-dossier.bewerbungsstammblatt-caption\")\n };\n dokumente: IdxCheckBoxComponent;\n dokumenteOptions: DevExpress.ui.dxCheckBoxOptions = {\n text: this.localization.translateOnce(\"person-dossier.dokumente-caption\")\n };\n\n showPopup(objektFullName: string, keyList: number[]) {\n this._objektFullName = objektFullName;\n this._keyList = keyList;\n this.personDossierPopup.instance.show();\n }\n\n bind(bindingContext: any, overrideContext: OverrideContext) {\n this.scope = {\n bindingContext: bindingContext,\n overrideContext: overrideContext\n };\n\n this.scopeContainer = new ScopeContainer({\n bindingContext: this,\n overrideContext: null\n });\n\n this.simpleWidgetCreator.updatePopupOptions({\n idToolbar: \"personDossierPopupToolbar\",\n caption: \"person-dossier.popup-title\",\n options: this.personDossierPopupOptions,\n commands: this.popupCommands,\n scopeContainer: this.scopeContainer\n });\n }\n unbind() {\n this.scopeContainer.disposeAll();\n this.scope = null;\n }\n\n private downLoadPersonDossierDokumentList() {\n if (!this._keyList || !this._keyList.length) {\n return;\n }\n const data: IPersonDossierData = {\n IdObjekt: null,\n Typ: this.dossiertTyp,\n Personenstammblatt: this.personenstammblatt.instance.option(\"value\"),\n Bewerbungsstammblatt: this.bewerbungsstammblatt.instance.option(\"value\"),\n Dokumente: this.dokumente.instance.option(\"value\")\n };\n\n const hasAuswahl = data.Personenstammblatt\n || data.Bewerbungsstammblatt\n || data.Dokumente;\n\n if (!hasAuswahl) {\n DevExpress.ui.notify(\n this.localization.translateOnce(\"person-dossier.auswahl-fehlt\"),\n \"error\", \n 3000\n );\n return;\n }\n\n const downloadPersonDossierList = this._keyList.map((key) => {\n const dataToSend = Object.assign({}, data, { IdObjekt: Number(key) });\n return this.download.downloadPersonDossier(dataToSend);\n });\n \n Promise.all(downloadPersonDossierList)\n .then((r) => {\n this.personDossierPopup.instance.hide();\n });\n }\n}\n","module.exports = \" \";","import { DownloadService } from \"../../services/download-service\";\nimport { IdxSelectBoxComponent, IdxDateBoxComponent, IdxTextBoxComponent, IdxCheckBoxComponent } from \"../../interfaces/dx-components\";\nimport { observable } from \"aurelia-binding\";\nimport { SimpleWidgetCreatorService } from \"../../../framework/forms/widget-services/simple-widget-creator-service\";\nimport { ScopeContainer } from \"../../../framework/base/classes/scope-container\";\nimport { RestService } from \"../../../framework/base/services/rest-service\";\nimport { LocalizationService } from \"../../../framework/base/services/localization-service\";\nimport { autoinject, computedFrom } from \"aurelia-framework\";\nimport { IdxPopupComponent, IdxValidationGroupComponent } from \"../../interfaces/export\";\nimport { GlobalizationService, DataSourceService } from \"../../../framework/base/export\";\nimport { IZitTagOptions } from \"../../../zit-ui/elements/zit-tag/export\";\nimport { ICommandData, PopupInfoService } from \"../../../framework/forms/export\";\nimport * as moment from \"moment\";\nimport { ISchnupperterminZeitraumResult, SchnupperterminService } from \"../../services/schnuppertermin-service\";\nimport { StartupService } from \"../../services/export\";\n\n@autoinject\nexport class ReportErstellen {\n constructor(\n private _startupService: StartupService,\n private _localizationService: LocalizationService,\n private _simpleWidgetCreator: SimpleWidgetCreatorService,\n private _globalizationService: GlobalizationService,\n private _downloadService: DownloadService,\n private _popupInfoService: PopupInfoService,\n private _restService: RestService,\n private _dataSourceService: DataSourceService,\n private _schnupperterminService: SchnupperterminService\n ) { }\n\n hasSchnupperterminMaske: boolean = this._startupService.startupInfo.ShowSchnupperterminMaske;\n \n @observable idSelectedGeschaeftspartner: number;\n @observable idSelectedStelleninserat: number;\n\n eventZeitraumList: ISchnupperterminZeitraumResult[];\n\n reportEigenschaften = {\n IdStelleninserat: null,\n Typ: null,\n DatumVon: null,\n DatumBis: null,\n IdGeschaeftspartnerList: null,\n OrtPlzList: null,\n NurBestaetigteTermine: true,\n IdKlasse: null\n };\n\n selectedGeschaeftspartner: any[];\n\n scopeContainer: ScopeContainer;\n\n validationGroup: IdxValidationGroupComponent;\n validationGroupOptions: DevExpress.ui.dxValidationGroupOptions = {};\n\n requiredValidatorOptions: DevExpress.ui.dxValidatorOptions = {\n validationRules: [{ type: \"required\" }]\n };\n\n geschaeftspartnerDataSource: DevExpress.data.DataSource;\n\n datumVon: IdxDateBoxComponent;\n datumVonOptions: DevExpress.ui.dxDateBoxOptions = {\n displayFormat: this._globalizationService.getFormatterParser(\"d\"),\n bindingOptions: {\n value: \"reportEigenschaften.DatumVon\"\n },\n onValueChangedByUser: (e) => {\n this.updateDatumBis();\n this.setGeschaeftspartnerDataSource();\n this.setKlasseDataSource(this.reportEigenschaften.IdStelleninserat);\n }\n };\n\n datumBis: IdxDateBoxComponent;\n datumBisOptions: DevExpress.ui.dxDateBoxOptions = {\n displayFormat: this._globalizationService.getFormatterParser(\"d\"),\n bindingOptions: {\n value: \"reportEigenschaften.DatumBis\"\n },\n onValueChangedByUser: (e) => {\n this.setGeschaeftspartnerDataSource();\n this.setKlasseDataSource(this.reportEigenschaften.IdStelleninserat);\n }\n };\n\n reportErstellenPopup: IdxPopupComponent;\n reportErstellenPopupOptions: DevExpress.ui.dxPopupOptions = {\n height: \"700px\",\n maxWidth: \"750px\",\n title: this._localizationService.translateOnce(\"report-erstellen.report-erstellen\"),\n onShown: () => {\n if (this.reportEigenschaften) {\n this.reportEigenschaften.NurBestaetigteTermine = true;\n }\n\n const today = moment()\n .startOf(\"day\");\n\n this.reportEigenschaften.DatumVon = today;\n this.updateDatumBis();\n\n this.setStelleninseratDataSource();\n this.setGeschaeftspartnerDataSource();\n this.setEventZeitraumList();\n }\n };\n\n reportAuswaehlenSelectBox: IdxSelectBoxComponent;\n reportAuswaehlenSelectBoxOptions: DevExpress.ui.dxSelectBoxOptions = {\n onValueChangedByUser: (e) => {\n const listGp: any[] = this.selectedGeschaeftspartner;\n const listOrte: any[] = this.reportEigenschaften.OrtPlzList;\n\n if (this.geschaeftspartnerSelectBox) {\n this.geschaeftspartnerSelectBox.setOption({ value: null });\n }\n\n if (listGp && listGp.length) {\n this.selectedGeschaeftspartner = [];\n }\n if (listOrte && listOrte.length) {\n this.reportEigenschaften.OrtPlzList = [];\n }\n\n if (this.reportEigenschaften) {\n this.reportEigenschaften.NurBestaetigteTermine = this.reportEigenschaften.Typ == ReportTyp.StatusSchnuppertermin \n ? false \n : true;\n }\n\n this.setKlasseDataSource(this.reportEigenschaften.IdStelleninserat);\n this.setGeschaeftspartnerDataSource();\n },\n dataSource: (() => {\n const dataSource: any[] = [];\n\n if (this.hasSchnupperterminMaske) {\n dataSource.push(\n { Id: ReportTyp.NachGeschaeftspartner, Bezeichnung: \"Nach Geschäftspartner (pdf)\" },\n { Id: ReportTyp.BesuchslisteSchuelerKurz, Bezeichnung: \"Besuchsliste Schüler - kurz (pdf)\" },\n { Id: ReportTyp.BesuchslisteSchuelerNachOrt, Bezeichnung: \"Besuchsliste Schüler nach Ort/PLZ (pdf)\" },\n { Id: ReportTyp.StatusSchnuppertermin, Bezeichnung: \"Status Schulschnuppertermine Schüler (xlsx)\" },\n { Id: ReportTyp.UebersichtGrossbetriebe, Bezeichnung: \"Übersicht Großbetriebe (pdf)\" },\n { Id: ReportTyp.KontingenteGrossbetriebe, Bezeichnung: \"Kontingente Großbetriebe (pdf)\" });\n } else {\n dataSource.push(\n { Id: ReportTyp.Schnupperer, Bezeichnung: \"Auswertung Schnupperlehrlinge (pdf)\" }\n )\n } \n \n const schulschnupperBenutzerrolle = [\n \"ADMIN\",\n \"KUNDE\",\n \"KUNDE-PLUS\",\n \"KUNDE-PROFESSIONAL\"\n ];\n \n if (schulschnupperBenutzerrolle.indexOf(this._startupService.startupInfo.Benutzer.CodeBenutzerrolle) >= 0) {\n dataSource.push({ Id: ReportTyp.Schulschnuppertermine, Bezeichnung: \"Schulschnuppertermine (pdf)\" });\n }\n\n return dataSource;\n })(),\n valueExpr: \"Id\",\n displayExpr: \"Bezeichnung\",\n bindingOptions: {\n value: \"reportEigenschaften.Typ\"\n }\n };\n\n bestaetigteTermineCheckBox: IdxCheckBoxComponent;\n bestaetigteTermineCheckBoxOptions: DevExpress.ui.dxCheckBoxOptions = {\n text: this._localizationService.translateOnce(\"report-erstellen.bestaetigte-termine\"),\n bindingOptions: {\n value: \"reportEigenschaften.NurBestaetigteTermine\"\n }\n };\n\n reportOrtTextBox: IdxTextBoxComponent;\n reportOrtTextBoxOptions: DevExpress.ui.dxTextBoxOptions = {\n onValueChangedByUser: (e) => {\n const list: any[] = this.reportEigenschaften.OrtPlzList || [];\n\n if (e.value.length == 0) {\n return;\n }\n\n list.push(e.value);\n\n this.reportEigenschaften.OrtPlzList = list;\n },\n onEnterKey: (e) => {\n this.reportOrtTextBox.setOption({ value: null });\n }\n };\n\n geschaeftspartnerSelectBox: IdxSelectBoxComponent;\n geschaeftspartnerSelectBoxOptions: DevExpress.ui.dxSelectBoxOptions = {\n valueExpr: \"Id\",\n displayExpr: \"Name1\",\n searchExpr: \"Name1\",\n searchEnabled: true,\n bindingOptions: {\n value: \"idSelectedGeschaeftspartner\",\n dataSource: \"geschaeftspartnerDataSource\"\n }\n };\n\n stelleninseratSelectBox: IdxSelectBoxComponent;\n stelleninseratSelectBoxOptions: DevExpress.ui.dxSelectBoxOptions = {\n valueExpr: \"IdStelleninserat\",\n displayExpr: \"StellenbezeichnungExtern\",\n searchExpr: \"StellenbezeichnungExtern\",\n searchEnabled: true,\n bindingOptions: {\n value: \"idSelectedStelleninserat\"\n }\n };\n\n klasseSelectBox: IdxSelectBoxComponent;\n klasseSelectBoxOptions: DevExpress.ui.dxSelectBoxOptions = {\n showClearButton: true,\n searchEnabled: true,\n displayExpr: \"Bezeichnung\",\n valueExpr: \"Id\",\n bindingOptions: {\n value: \"reportEigenschaften.IdKlasse\"\n }\n };\n\n geschaeftspartnerTagOptions: IZitTagOptions = {\n textExpression: \"item.Name\",\n icon: {\n faIcon: \"fas fa-industry\"\n },\n onDeleteClick: (e, data) => {\n e.stopPropagation();\n this.deleteEmpfaenger(data);\n },\n };\n\n ortTagOptions: IZitTagOptions = {\n textExpression: \"item\",\n icon: {\n faIcon: \"fas fa-map-marker-alt\"\n },\n onDeleteClick: (e, data) => {\n e.stopPropagation();\n this.deleteOrte(data);\n },\n };\n \n eventZeitraumTagOptions: IZitTagOptions = {\n icon: {\n faIcon: \"far fa-calendar-alt\"\n },\n textExpression: \"item.Bezeichnung\",\n onClick: (ev, tag: ISchnupperterminZeitraumResult) => {\n ev.preventDefault();\n ev.stopPropagation();\n\n this.reportEigenschaften.DatumVon = tag.Start;\n this.reportEigenschaften.DatumBis = tag.Ende;\n }\n };\n\n popupCommands: ICommandData[] = [\n {\n id: \"reportErstellenCommand\",\n icon: \"fas fa-check\",\n tooltip: \"base.save\",\n sortIndex: 1010,\n execute: async() => {\n const result = this.validationGroup.instance.validate();\n if (!result.isValid) {\n return;\n }\n\n await this._downloadService.downloadSchnuppertermine(this.reportEigenschaften);\n\n this.reportEigenschaften = Object.assign({});\n if (this.geschaeftspartnerSelectBox) {\n this.geschaeftspartnerSelectBox.setOption({ value: null });\n }\n\n if (this.stelleninseratSelectBox) {\n this.stelleninseratSelectBox.setOption({ value: null });\n }\n\n DevExpress.ui.notify(this._localizationService.translateOnce(\"report-erstellen.report-erstellung-erfolgreich\"), \"SUCCESS\", 3000);\n this._popupInfoService.closeAllPopups();\n }\n }\n ];\n \n @computedFrom(\"hasSchnupperterminMaske\", \"reportEigenschaften.Typ\")\n get showStelleninserat() {\n return this.hasSchnupperterminMaske\n && this.reportEigenschaften.Typ != ReportTyp.Schulschnuppertermine;\n }\n \n @computedFrom(\"eventZeitraumList\", \"hasSchnupperterminMaske\", \"reportEigenschaften.Typ\")\n get showEventZeitraeume() {\n return this.eventZeitraumList \n && this.eventZeitraumList.length > 0\n && this.hasSchnupperterminMaske\n && this.reportEigenschaften.Typ != ReportTyp.Schulschnuppertermine;\n }\n\n @computedFrom(\"reportEigenschaften.Typ\")\n get showKlasse() {\n if (!this.reportEigenschaften) {\n return false;\n }\n\n switch (this.reportEigenschaften.Typ) {\n case ReportTyp.BesuchslisteSchuelerNachOrt:\n case ReportTyp.StatusSchnuppertermin:\n case ReportTyp.BesuchslisteSchuelerKurz: {\n return true;\n }\n default: {\n return false;\n }\n }\n }\n \n @computedFrom(\"reportEigenschaften.Typ\")\n get showGeschaeftspartner() {\n if (!this.reportEigenschaften) {\n return false;\n }\n\n switch (this.reportEigenschaften.Typ) {\n case ReportTyp.NachGeschaeftspartner:\n case ReportTyp.UebersichtGrossbetriebe:\n case ReportTyp.KontingenteGrossbetriebe: {\n return true;\n }\n default: {\n return false;\n }\n }\n }\n \n @computedFrom(\"reportEigenschaften.Typ\")\n get showGeschaeftspartnerTagList() {\n if (!this.reportEigenschaften) {\n return false;\n }\n\n switch (this.reportEigenschaften.Typ) {\n case ReportTyp.NachGeschaeftspartner: {\n return true;\n }\n default: {\n return false;\n }\n }\n }\n \n @computedFrom(\"reportEigenschaften.Typ\")\n get showOrt() {\n if (!this.reportEigenschaften) {\n return false;\n }\n\n switch (this.reportEigenschaften.Typ) {\n case ReportTyp.BesuchslisteSchuelerNachOrt:\n case ReportTyp.BesuchslisteSchuelerKurz: {\n return true;\n }\n default: {\n return false;\n }\n }\n }\n \n @computedFrom(\"hasSchnupperterminMaske\", \"reportEigenschaften.Typ\")\n get showBestaetigteTermine() {\n return this.hasSchnupperterminMaske\n && this.reportEigenschaften.Typ != ReportTyp.Schulschnuppertermine;\n }\n\n bind() {\n this.scopeContainer = new ScopeContainer({\n bindingContext: this,\n overrideContext: null\n });\n\n this._simpleWidgetCreator.updatePopupOptions({\n idToolbar: \"reportErstellenPopupToolbar\",\n caption: \"report-erstellen.report-erstellen\",\n options: this.reportErstellenPopupOptions,\n commands: this.popupCommands,\n scopeContainer: this.scopeContainer\n });\n }\n unbind() {\n this.scopeContainer.disposeAll();\n this.scopeContainer = null;\n }\n\n async idSelectedGeschaeftspartnerChanged(newVal) {\n if (!newVal) {\n return;\n }\n\n if (this.reportEigenschaften.Typ == ReportTyp.NachGeschaeftspartner) {\n const list: any[] = this.selectedGeschaeftspartner || [];\n\n const alreadyExists = list\n .some((c) => c.IdGeschaeftspartner === newVal);\n \n if (alreadyExists) {\n return;\n }\n\n const gp = await this.getEmpfaengerData(newVal);\n\n list.push(gp);\n\n this.selectedGeschaeftspartner = list;\n this.reportEigenschaften.IdGeschaeftspartnerList = [];\n\n list.forEach((c) => this.reportEigenschaften.IdGeschaeftspartnerList.push(c.IdGeschaeftspartner));\n } else {\n this.reportEigenschaften.IdGeschaeftspartnerList = [newVal];\n }\n }\n\n async idSelectedStelleninseratChanged(newVal, oldVal) {\n this.reportEigenschaften.IdStelleninserat = newVal;\n\n this.setKlasseDataSource(newVal);\n }\n \n private deleteEmpfaenger(empfaenger: any) {\n const list: any[] = this.selectedGeschaeftspartner;\n if (!list || !list.length) {\n return;\n }\n\n list.splice(list.indexOf(empfaenger), 1);\n\n this.reportEigenschaften.IdGeschaeftspartnerList\n .splice(this.reportEigenschaften.IdGeschaeftspartnerList\n .indexOf(empfaenger.IdGeschaeftspartner), 1);\n }\n private deleteOrte(ort: any) {\n const list: any[] = this.reportEigenschaften.OrtPlzList;\n if (!list || !list.length) {\n return;\n }\n\n list.splice(list.indexOf(ort), 1);\n }\n\n private async getEmpfaengerData(id: number): Promise {\n if (!id) {\n return;\n }\n\n const geschaeftspartner = await this._restService.get({\n url: this._restService.getWebApiUrl(\"ZIT/Simple/Geschaeftspartner\"),\n getOptions: {\n columns: [\"Name1\"],\n where: [\"Id\", id]\n }\n });\n\n return {\n IdGeschaeftspartner: id,\n Name: geschaeftspartner[0].Name1\n };\n }\n\n private setGeschaeftspartnerDataSource(): void {\n this.geschaeftspartnerDataSource = this._dataSourceService.createDataSource(this.scopeContainer, {\n webApiAction: \"ZIT/Simple/Geschaeftspartner\",\n webApiColumns: [\"Id\", \"Name1\"],\n webApiOrderBy: [{columnName: \"Name1\", sortOrder: 0}]\n }, {\n getCustomFilters: () => {\n const filters = [];\n\n if (this.reportEigenschaften.Typ == ReportTyp.UebersichtGrossbetriebe || this.reportEigenschaften.Typ == ReportTyp.KontingenteGrossbetriebe) {\n filters.push({\n webApiCustomKey: \"HasSchnuppertermin\",\n webApiCustomValue: \"true\"\n });\n\n if (this.reportEigenschaften.DatumVon) {\n filters.push({\n webApiCustomKey: \"SchnupperterminTagVon\",\n webApiCustomValue: \"'\" + (this.reportEigenschaften.DatumVon).toISOString() + \"'\"\n });\n }\n\n if (this.reportEigenschaften.DatumBis) {\n filters.push({\n webApiCustomKey: \"SchnupperterminTagBis\",\n webApiCustomValue: \"'\" + (this.reportEigenschaften.DatumBis).toISOString() + \"'\"\n });\n }\n }\n\n return filters;\n }\n });\n }\n private async setKlasseDataSource(idStelleninserat: any): Promise {\n if (!idStelleninserat) {\n this.setKlasseDataSourceEx([]);\n\n return Promise.resolve(true);\n }\n\n const restResult = await this._restService.post({\n url: this._restService.getApiUrl(\"ZIT/Schnuppertermin/Klassen\"),\n data: this.reportEigenschaften,\n increaseLoadingCount: true\n });\n \n if (!restResult || !restResult.length) {\n this.setKlasseDataSourceEx([]);\n return;\n }\n\n this.setKlasseDataSourceEx(restResult);\n }\n private setKlasseDataSourceEx(dataSource: any): void {\n this.reportEigenschaften.IdKlasse = null;\n\n if (this.klasseSelectBox) {\n this.klasseSelectBox.instance.option(\"dataSource\", dataSource);\n } else {\n this.klasseSelectBoxOptions.dataSource = dataSource;\n }\n }\n private async setStelleninseratDataSource(): Promise {\n const restResult: IStelleninserat[] = await this._restService.get({\n url: this._restService.getApiUrl(\"ZIT/Schnuppertermin/SchnupperterminStelleninserate\"),\n increaseLoadingCount: true\n });\n \n if (!restResult || !restResult.length) {\n return;\n }\n\n if (this.stelleninseratSelectBox) {\n this.stelleninseratSelectBox.instance.option(\"dataSource\", restResult);\n } else {\n this.stelleninseratSelectBoxOptions.dataSource = restResult;\n }\n\n const vorb = restResult.find((i) => i.IsVorbelegung);\n\n if (vorb) {\n this.idSelectedStelleninserat = vorb.IdStelleninserat;\n } else if (restResult && restResult.length == 1) {\n this.idSelectedStelleninserat = restResult[0].IdStelleninserat;\n }\n }\n private async setEventZeitraumList() { \n if (this._startupService.startupInfo.Benutzer.CodeBenutzerrolle != \"KUNDE-SCHULE\") {\n return;\n }\n\n const zeitraum = this._schnupperterminService.getSchnupperterminZeitraum();\n\n this.eventZeitraumList = await this._schnupperterminService.getEventZeitraumSchnupperterminList(\n zeitraum.von, \n zeitraum.bis);\n }\n\n private updateDatumBis() {\n if (!this.reportEigenschaften.DatumVon) {\n return;\n }\n \n if (this.hasSchnupperterminMaske) {\n this.reportEigenschaften.DatumBis = moment(this.reportEigenschaften.DatumVon)\n .add(1, \"week\")\n .toDate();\n } else {\n this.reportEigenschaften.DatumBis = moment(this.reportEigenschaften.DatumVon)\n .add(6, \"month\")\n .toDate();\n }\n }\n}\n\nenum ReportTyp {\n NachGeschaeftspartner = 0,\n BesuchslisteSchuelerNachOrt = 1,\n StatusSchnuppertermin = 2,\n UebersichtGrossbetriebe = 3,\n KontingenteGrossbetriebe = 4,\n BesuchslisteSchuelerKurz = 5,\n Schnupperer = 6,\n Schulschnuppertermine = 7\n}\n\ninterface IStelleninserat {\n IdStelleninserat: number;\n StellenbezeichnungExtern: string;\n GueltigVon: Date;\n GueltigBis: Date;\n IsAktiv: boolean;\n IsVorbelegung: boolean;\n}\n","module.exports = \" \";","import { autoinject, Scope } from \"aurelia-framework\";\nimport { IdxPopupComponent, IdxDataGridComponent } from \"../../interfaces/dx-components\";\nimport { RestService, GlobalizationService, ScopeContainer } from \"../../../framework/base/export\";\nimport { SimpleWidgetCreatorService, ICommandData } from \"../../../framework/forms/export\";\nimport { Geschlecht } from \"../../enumerations/export\";\n\n@autoinject\nexport class SchnupperterminAuswahl {\n private _evalOptions: ISchnupperterminAuswahlEvalOptions;\n\n constructor(\n private restService: RestService,\n private globalizationService: GlobalizationService,\n private simpleWidgetCreatorService: SimpleWidgetCreatorService\n ) { }\n\n scope: Scope;\n scopeContainer: ScopeContainer;\n auswahlList: IAuswahlItem[];\n\n popup: IdxPopupComponent;\n popupOptions: DevExpress.ui.dxPopupOptions = {\n contentTemplate: \"contentTemplate\",\n width: \"600px\",\n height: \"auto\"\n };\n\n grid: IdxDataGridComponent;\n gridOptions: DevExpress.ui.dxDataGridOptions = {\n columns: [{\n dataField: \"StartDatum\",\n caption: \"Start\",\n width: \"120px\",\n cellTemplate: (element, info) => {\n const val = this.globalizationService.format(info.data.StartDatum, \"DT_DD.MM.YYYY (dd)\")\n .toUpperCase();\n\n element.innerHTML = val;\n }\n }, {\n dataField: \"EndeDatum\",\n caption: \"Ende\",\n width: \"120px\",\n cellTemplate: (element, info) => {\n const val = this.globalizationService.format(info.data.EndeDatum, \"DT_DD.MM.YYYY (dd)\")\n .toUpperCase();\n \n element.innerHTML = val;\n }\n }, {\n dataField: \"Geschlecht\",\n caption: \"Anrede\",\n dataType: \"string\",\n width: \"80px\",\n cellTemplate: (element, info) => {\n if (info.data.Geschlecht == void (0)) {\n return;\n }\n\n switch (info.data.Geschlecht) {\n case Geschlecht.Maennlich: {\n element.innerHTML = \"Herr\";\n break;\n }\n case Geschlecht.Weiblich: {\n element.innerHTML = \"Frau\";\n break;\n }\n default: {\n return;\n }\n }\n }\n }, {\n dataField: \"Vorname\",\n caption: \"Vorname\"\n }, {\n dataField: \"Nachname\",\n caption: \"Nachname\"\n }],\n keyExpr: \"IdEventTeilnehmer\",\n height: \"400px\",\n hoverStateEnabled: true,\n bindingOptions: {\n dataSource: \"auswahlList\"\n },\n onRowClick: (e) => {\n this._evalOptions.callback(e.data.IdEventTeilnehmer);\n this.popup.instance.hide();\n }\n };\n\n neuCommand: ICommandData = {\n id: \"neuCommand\",\n icon: \"fas fa-plus\",\n sortIndex: 1000,\n tooltip: \"base.add\",\n execute: () => {\n this.add();\n }\n };\n\n bind() {\n this.scope = {\n bindingContext: this,\n overrideContext: null\n };\n this.scopeContainer = new ScopeContainer(this.scope);\n\n this.simpleWidgetCreatorService.updatePopupOptions({\n idToolbar: \"schnupperterminAuswahlToolbar\",\n caption: \"schnuppertermin.auswahl-header\",\n scopeContainer: this.scopeContainer,\n options: this.popupOptions,\n commands: [this.neuCommand]\n });\n }\n unbind() {\n this.scopeContainer.disposeAll();\n this.scopeContainer = null;\n }\n\n onNeuClick() {\n this.add();\n }\n\n async evalIdEventTeilnehmer(options: ISchnupperterminAuswahlEvalOptions) {\n this._evalOptions = options;\n\n await this.loadAuswahlList();\n\n if (this.auswahlList.length == 0) {\n options.callback(null);\n } else if (this.auswahlList.length == 1) {\n options.callback(this.auswahlList[0].IdEventTeilnehmer);\n } else {\n this.popup.instance.show();\n }\n }\n\n private add() {\n this._evalOptions.callback(null);\n this.popup.instance.hide();\n }\n private async loadAuswahlList() {\n this.auswahlList = await this.restService.post({\n url: this.restService.getApiUrl(\"ZIT/Schnuppertermin/AuswahlSchnuppertermin\"),\n data: {\n IdStelleninserat: this._evalOptions.idStelleninserat\n },\n increaseLoadingCount: true\n });\n\n this.auswahlList.sort((a, b) => (a.StartDatum > b.StartDatum) ? -1 : 1);\n }\n}\nexport interface ISchnupperterminAuswahlEvalOptions {\n idStelleninserat: number;\n callback: { (idEventTeilnehmer: number): void };\n}\ninterface IAuswahlItem {\n IdEventTeilnehmer: number;\n StartDatum: Date;\n EndeDatum: Date;\n Vorname: string;\n Nachname: string;\n}\n","module.exports = \" \";","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.id, \".schuppertermin-auswahl--popup-content {\\n padding: 12px;\\n}\\n.schnuppertermin-auswahl--margin-top {\\n margin-top: 12px;\\n}\\n.schnuppertermin-auswahl--bottom-buttons {\\n display: flex;\\n justify-content: flex-end;\\n}\\n\", \"\"]);\n// Exports\nmodule.exports = exports;\n","import { EventAggregator } from \"aurelia-event-aggregator\";\nimport { autoinject, Scope } from \"aurelia-framework\";\nimport * as moment from \"moment\";\nimport { GlobalizationService, LocalizationService, LocationService, RestService, ScopeContainer } from \"../../../framework/base/export\";\nimport { DialogConfirmService, ICommandData, SimpleWidgetCreatorService } from \"../../../framework/forms/export\";\nimport { IZitTagOptions } from \"../../../zit-ui/elements/zit-tag/zit-tag-options\";\nimport { IZitToolbarOptions } from \"../../../zit-ui/elements/zit-toolbar/zit-toolbar-options\";\nimport { BenutzerTyp } from \"../../enumerations/export\";\nimport { IdxPopupComponent, IdxValidationGroupComponent } from \"../../interfaces/export\";\nimport { StartupService } from \"../../services/export\";\nimport { Datenschutz } from \"../datenschutz/datenschutz\";\nimport { DokumentListView } from \"../dokument-list-view/dokument-list-view\";\nimport { SchnupperterminPersonAuswahl } from \"../schnuppertermin-person-auswahl/schnuppertermin-person-auswahl\";\nimport { SchnupperterminStornieren } from \"../schnuppertermin-stornieren/schnuppertermin-stornieren\";\nimport { StelleninseratService } from \"./../../services/stelleninserat-service\";\n\n@autoinject\nexport class SchnupperterminErstellen {\n private NOTIFY_TIMEOUT: number = 3000;\n private MAX_PERSONLIST_LENGTH: number = 2;\n private DEFAULT_TAGE: number = 6;\n private DAYS_OF_WEEK: number = 7;\n\n constructor(\n public globalizationService: GlobalizationService,\n public startupService: StartupService,\n private _restService: RestService,\n private _simpleWidgetCreatorService: SimpleWidgetCreatorService,\n private _locationService: LocationService,\n private _localizationService: LocalizationService,\n private _eventAggregator: EventAggregator,\n private _dialogConfirmService: DialogConfirmService) { }\n\n scope: Scope;\n scopeContainer: ScopeContainer;\n\n showOptions: ISchnupperterminErstellenShowOptions;\n model: IModel;\n data: IRequestResult;\n kalenderInfo = {};\n canPersonDelete: boolean = false;\n\n schnupperterminPersonAuswahl: SchnupperterminPersonAuswahl;\n schnupperterminStornieren: SchnupperterminStornieren;\n dokumentListView: DokumentListView;\n datenschutz: Datenschutz;\n\n popup: IdxPopupComponent;\n popupOptions: DevExpress.ui.dxPopupOptions = {\n contentTemplate: \"contentTemplate\",\n width: \"750px\",\n height: \"auto\",\n maxHeight: \"90vh\",\n onShown: (e: any) => {\n e.component.repaint();\n }\n };\n validationGroup: IdxValidationGroupComponent;\n wunschterminOptions: DevExpress.ui.dxSelectBoxOptions = {\n displayExpr: \"Bezeichnung\",\n valueExpr: \"Id\",\n bindingOptions: {\n dataSource: \"data.WunschList\",\n value: \"model.idWunschtermin\"\n },\n onValueChangedByUser: () => this.onWunschterminChanged()\n };\n anzahlTageRadioOptions: DevExpress.ui.dxRadioGroupOptions = {\n displayExpr: \"text\",\n valueExpr: \"value\",\n bindingOptions: {\n dataSource: \"model.anzahlTageList\",\n disabled: \"!model.idWunschtermin\",\n value: \"model.anzahlTageRadio\",\n },\n onValueChangedByUser: (e) => {\n this.model.anzahlTage = e.value < 0\n ? this.DEFAULT_TAGE\n : e.value;\n\n this.checkCanUseSelectedDate();\n }\n };\n anzahlTageBoxOptions: DevExpress.ui.dxNumberBoxOptions = {\n format: this.globalizationService.getNumberFormat(\"f0\"),\n width: \"70px\",\n bindingOptions: {\n disabled: \"!model.idWunschtermin\",\n min: \"model.minTageNumberBox\",\n max: \"model.maxTageNumberBox\",\n value: \"model.anzahlTage\"\n },\n onValueChangedByUser: () => this.checkCanUseSelectedDate()\n };\n kalendar: DevExpress.ui.dxCalendar;\n kalenderOptions: DevExpress.ui.dxCalendarOptions = {\n cellTemplate: (data, index, element: HTMLTableDataCellElement) => {\n const span = document.createElement(\"span\");\n span.innerText = data.text;\n\n if (data.view != \"month\") {\n return span;\n }\n\n const current = moment(data.date);\n\n element.style.position = \"relative\";\n span.style.position = \"relative\";\n\n const typ: KalenderInfoTyp = this.kalenderInfo[moment(data.date)\n .startOf(\"day\")\n .toISOString()];\n\n let isBetween = false;\n if (this.model.startDatum && this.model.anzahlTage) {\n const start = moment(this.model.startDatum);\n const ende = moment(start)\n .add(this.model.anzahlTage, \"days\");\n\n isBetween = current.isBetween(start, ende);\n }\n\n if (isBetween) {\n const border = document.createElement(\"div\");\n border.className = \"schnuppertermin-erstellen--calendar schnuppertermin-erstellen--calendar-gewaehlt\";\n span.style.color = \"white\";\n element.appendChild(border);\n }\n if (typ != void (0)) {\n const border = document.createElement(\"div\");\n border.className = \"schnuppertermin-erstellen--calendar\";\n\n switch (typ) {\n case KalenderInfoTyp.Zugesagt: {\n border.className += \" schnuppertermin-erstellen--calendar-zugesagt\";\n break;\n }\n case KalenderInfoTyp.NichtZugesagt: {\n border.className += \" schnuppertermin-erstellen--calendar-nicht-zugesagt\";\n break;\n }\n case KalenderInfoTyp.NichtZugesagtGleicheGp: {\n border.className += \" schnuppertermin-erstellen--calendar-nicht-zugesagt-selbe-gp\";\n break;\n }\n case KalenderInfoTyp.Kontingent: {\n border.className += \" schnuppertermin-erstellen--calendar-ueberbucht\";\n break;\n }\n default: {\n return;\n }\n }\n\n element.appendChild(border);\n }\n\n return span;\n },\n bindingOptions: {\n disabled: \"!model.idWunschtermin\",\n min: \"model.minDatum\",\n max: \"model.maxDatum\",\n value: \"model.startDatum\"\n },\n onInitialized: (e) => {\n this.kalendar = e.component;\n },\n onValueChangedByUser: () => {\n this.checkCanUseSelectedDate();\n }\n };\n einverstaendnisOptions: DevExpress.ui.dxCheckBoxOptions = {\n bindingOptions: {\n value: \"model.einverstaendnisAkzeptiert\"\n }\n };\n personTagOptions: IZitTagOptions = {\n icon:\n {\n text: \"P\"\n },\n text: \"${person.name}\",\n infoList: [{\n icon: {\n faIcon: \"fas fa-times\"\n },\n isVisibleExpression: \"canPersonDelete\",\n onClick: async(e, data) => {\n const index = this.model.personList.indexOf(data);\n if (index < 0) {\n return;\n }\n\n this.model.personList.splice(index, 1);\n\n if (this.model.personList.length < this.MAX_PERSONLIST_LENGTH) {\n await this.refreshWunschterminList();\n await this.onWunschterminChanged();\n }\n }\n }]\n };\n ortTagOptions: IZitTagOptions = {\n icon: {\n text: \"A\"\n },\n text: \"${data.Ort}\",\n infoList: [{\n icon: {\n faIcon: \"fas fa-map-marker-alt\"\n },\n onClick: () => {\n window.open(\"https://www.google.com/maps/place/\" + this.data.Ort.replace(\" \", \"+\"), \"_blank\");\n }\n }]\n };\n datumTagOptions: IZitTagOptions = {\n icon: {\n faIcon: \"far fa-calendar-alt\"\n },\n textExpression: `item.StartDatum && item.EndeDatum\n ? globalizationService.format(item.StartDatum, 'DT_DD.MM.YYYY (dd)').toUpperCase() + ' - ' + globalizationService.format(item.EndeDatum, 'DT_DD.MM.YYYY (dd)').toUpperCase()\n : ''`\n };\n termineUnternehmenTagOptions: IZitTagOptions = {\n textExpression: \"item.Bezeichnung\",\n icon: {\n faIcon: \"far fa-calendar-alt\"\n },\n onClick: (e, data) => {\n this.popup.instance.hide();\n this._locationService.goTo({\n url: `#Objekte/EventZeitraum/${data.IdEventZeitraum}`\n });\n }\n };\n dokumentToolbarOptions: IZitToolbarOptions = {\n title: \"schnuppertermin-utils.dokument-toolbar-titel\",\n smallToolbar: true,\n items: [{\n id: \"showDokumentToolbarOptionen\",\n icon: \"fas fa-plus\",\n execute: () => {\n if (!this.dokumentListView) {\n return;\n }\n\n this.dokumentListView.onDokumentAddClicked();\n }\n }]\n };\n\n schnupperterminAnfrageTagOptions: IZitTagOptions = {\n icon: {\n faIconExpression: \"item.SchnupperterminAnfrageartTagSymbol\",\n backgroundColorExpression: \"startupService.startupInfo.Skin.Farbe\"\n },\n textExpression: \"item.SchnupperterminAnfrageartBezeichnung\",\n backgroundColorExpression: \"startupService.startupInfo.Skin.Farbe\"\n };\n\n neuCommand: ICommandData = {\n id: \"neuCommand\",\n icon: \"fas fa-plus\",\n sortIndex: 1000,\n tooltip: \"base.add\",\n isVisible: false,\n execute: () => {\n this.add();\n }\n };\n speichernCommand: ICommandData = {\n id: \"speichernCommand\",\n icon: \"fas fa-save\",\n sortIndex: 1010,\n tooltip: \"base.save\",\n execute: () => {\n this.validateAndSave();\n }\n };\n stornierenCommand: ICommandData = {\n id: \"stornierenCommand\",\n icon: \"fas fa-ban\",\n sortIndex: 1020,\n tooltip: \"schnuppertermin-utils.stornieren\",\n isVisible: false,\n execute: () => {\n this.schnupperterminStornieren.show({\n idStelleninserat: this.showOptions.idStelleninserat,\n idEventTeilnehmer: this.data.IdEventTeilnehmer,\n callback: () => this.popup.instance.hide()\n });\n }\n };\n stelleninseratStornierenCommand: ICommandData = {\n id: \"stornierenStelleninseratCommand\",\n icon: \"far fa-minus-square\",\n sortIndex: 1021,\n isVisible: this.startupService.startupInfo.Benutzer.CodeBenutzerrolle == \"ADMIN\"\n || this.startupService.startupInfo.Benutzer.CodeBenutzerrolle == \"KUNDE-SCHULE\",\n tooltip: \"schnuppertermin-utils.fuer_alle_stornieren\",\n execute: async() => {\n const r = await this._dialogConfirmService.show({\n title: this._localizationService.translateOnce(\"base.question\"),\n message: this._localizationService.translateOnce(\"schnuppertermin-utils.question_fuer_alle_stornieren\"),\n });\n\n if (r) {\n await this._restService.post({\n url: this._restService.getApiUrl(\"ZIT/Objekt/DeaktivierenStelleninseratSchnuppertermin\"),\n data: {\n IdStelleninserat: this.showOptions.idStelleninserat\n },\n increaseLoadingCount: true\n });\n\n this._eventAggregator.publish(\"schnuppertermin:refresh-list\");\n this.popup.instance.hide();\n }\n }\n };\n\n bind() {\n this.scope = {\n bindingContext: this,\n overrideContext: null\n };\n this.scopeContainer = new ScopeContainer(this.scope);\n\n this._simpleWidgetCreatorService.updatePopupOptions({\n idToolbar: \"schnupperterminToolbar\",\n caption: \"schnuppertermin.schnuppertermin\",\n scopeContainer: this.scopeContainer,\n options: this.popupOptions,\n commands: [this.neuCommand, this.speichernCommand, this.stornierenCommand, this.stelleninseratStornierenCommand]\n });\n\n this.wunschterminOptions[\"validators\"] = [this.createRequiredRule(\"Wunschtermin\")];\n }\n unbind() {\n this.scopeContainer.disposeAll();\n this.scopeContainer = null;\n }\n\n async show(options: ISchnupperterminErstellenShowOptions) {\n this.showOptions = options;\n this.resetModel();\n\n const setPerson = () => {\n if (this.data && this.data.IdPerson && this.data.PersonName) {\n this.model.personList.push({\n id: this.data.IdPerson,\n name: this.data.PersonName\n });\n }\n };\n\n if (options.idEventTeilnehmer) {\n await this.loadBestehend();\n setPerson();\n } else {\n await this.loadErstellen();\n setPerson();\n\n if (this.data.WunschList.length == 1) {\n this.model.idWunschtermin = this.data.WunschList[0].Id;\n this.onWunschterminChanged();\n } else {\n this.prepareAnzahlTage(1, null, null);\n this.prepareCalendar(null, null);\n }\n }\n\n this.canPersonDelete = !this.showOptions.idEventTeilnehmer\n && this.model.personList.length == 0;\n\n this.stornierenCommand.isVisible = this.data.IdEventTeilnehmer > 0\n && !this.data.IsBestaetigt;\n this.neuCommand.isVisible = this.data.IdEventTeilnehmer > 0;\n\n await this.popup.instance.show();\n }\n\n onPersonAuswahl() {\n this.schnupperterminPersonAuswahl.show(async(personList) => {\n const count = this.model.personList.length;\n\n for (const person of personList) {\n const exists = this.model.personList.some((p) => p.id == person.id);\n if (exists) {\n continue;\n }\n\n this.model.personList.push({\n id: person.id,\n name: person.name\n });\n }\n\n if (count < this.MAX_PERSONLIST_LENGTH) {\n await this.refreshWunschterminList();\n await this.onWunschterminChanged();\n }\n\n this.popup.instance.repaint();\n });\n }\n async onWunschterminChanged() {\n const wunsch = this.data.WunschList.find((e) => e.Id == this.model.idWunschtermin);\n\n this.model.minTageNumberBox = wunsch && wunsch.Minimaldauer\n ? Math.max(this.DEFAULT_TAGE, wunsch.Minimaldauer)\n : null;\n\n this.model.maxTageNumberBox = wunsch && wunsch.Maximaldauer\n ? wunsch.Maximaldauer\n : null;\n\n await this.loadKalenderInfo();\n\n if (wunsch) {\n this.prepareAnzahlTage(wunsch.Standarddauer, wunsch.Minimaldauer, wunsch.Maximaldauer);\n this.prepareCalendar(wunsch.Start, wunsch.Ende);\n } else {\n this.prepareAnzahlTage(1, null, null);\n this.prepareCalendar(null, null);\n }\n\n this.repaintCalendar();\n }\n onNeuClick() {\n this.add();\n }\n onSpeichernClick() {\n this.validateAndSave();\n }\n\n private checkCanUseSelectedDate() {\n setTimeout(() => {\n if (!this.checkCanUseDate(this.model.startDatum)) {\n this.model.startDatum = null;\n\n DevExpress.ui.notify(\n this._localizationService.translateOnce(\"schnuppertermin.zeitraum-nicht-möglich-da-konflikt\"),\n \"ERROR\",\n this.NOTIFY_TIMEOUT\n );\n }\n\n this.repaintCalendar();\n }, 0);\n }\n private checkCanUseDate(startDatum: Date): boolean {\n let startCheck = moment(startDatum);\n const endeCheck = moment(startDatum)\n .add(this.model.anzahlTage - 1, \"days\");\n\n const maxDateDiff = moment(this.model.maxDatum)\n .diff(endeCheck);\n\n if (this.model.maxDatum && maxDateDiff < 0) {\n return false;\n }\n\n while (endeCheck.diff(startCheck, \"days\") >= 0) {\n const typ: KalenderInfoTyp = this.kalenderInfo[startCheck.toISOString()];\n\n if (typ != void (0) && typ != KalenderInfoTyp.NichtZugesagt) {\n return false;\n }\n\n startCheck = moment(startCheck)\n .add(1, \"days\");\n }\n\n return true;\n }\n private createRequiredRule(text: string) {\n return {\n type: \"required\",\n message: this._localizationService.translateOnce(\"forms.validator_required\", [text])\n };\n }\n private async loadErstellen() {\n this.data = await this._restService.post({\n url: this._restService.getApiUrl(\"ZIT/Schnuppertermin/ErstellenRequest\"),\n data: {\n IdStelleninserat: this.showOptions.idStelleninserat,\n IdPerson: this.showOptions.idPerson\n },\n increaseLoadingCount: true\n });\n }\n private async loadBestehend() {\n this.data = await this._restService.post({\n url: this._restService.getApiUrl(\"ZIT/Schnuppertermin/LadenRequest\"),\n data: {\n IdEventTeilnehmer: this.showOptions.idEventTeilnehmer,\n IdStelleninserat: this.showOptions.idStelleninserat\n },\n increaseLoadingCount: true\n });\n }\n private async loadKalenderInfo() {\n const load = this.model.personList.length == 1\n && !!this.model.idWunschtermin;\n\n this.kalenderInfo = {};\n\n if (!load) {\n return;\n }\n\n const r = await this._restService.post({\n url: this._restService.getApiUrl(\"ZIT/Schnuppertermin/KalenderInfo\"),\n data: {\n IdStelleninserat: this.showOptions.idStelleninserat,\n IdPerson: this.model.personList[0].id,\n IdEventZeitraum: this.model.idWunschtermin\n },\n increaseLoadingCount: true\n });\n\n for (const i of r) {\n const isoDate = moment(i.Datum)\n .startOf(\"day\")\n .toISOString();\n\n this.kalenderInfo[isoDate] = i.Typ;\n }\n }\n private prepareAnzahlTage(standard: number, min: number, max: number) {\n const list: IAnzahlTageItem[] = [];\n\n for (let i = 1; i < this.DAYS_OF_WEEK; i++) {\n if (min != void (0) && i < min) {\n continue;\n }\n if (max != void (0) && i > max) {\n continue;\n }\n\n if (i < this.DEFAULT_TAGE) {\n list.push({\n value: i,\n text: i.toString()\n });\n } else {\n list.push({\n value: -1,\n text: \"länger\"\n });\n\n break;\n }\n }\n\n this.model.anzahlTageList = list;\n\n this.model.anzahlTage = standard == void (0)\n ? (list.length > 0 ? list[0].value : null)\n : standard;\n\n const maxTage = 5;\n this.model.anzahlTageRadio = this.model.anzahlTage > maxTage\n ? -1\n : this.model.anzahlTage;\n }\n private prepareCalendar(start: Date, ende: Date) {\n this.model.minDatum = start;\n this.model.maxDatum = ende;\n this.model.startDatum = null;\n\n if (start && ende) {\n let startCheck = moment(start);\n const endeCheck = moment(ende);\n while (endeCheck.diff(startCheck, \"days\") >= 0) {\n if (this.checkCanUseDate(startCheck.toDate())) {\n this.model.startDatum = startCheck.toDate();\n break;\n }\n\n startCheck = moment(startCheck)\n .add(1, \"days\");\n }\n }\n }\n private async refreshWunschterminList() {\n const r: IWunsch[] = await this._restService.post({\n url: this._restService.getApiUrl(\"ZIT/Schnuppertermin/WunschlistRequest\"),\n data: {\n IdGeschaeftspartner: this.data.IdGeschaeftspartner,\n IdLehrberuf: this.data.IdLehrberuf,\n IdStelleninserat: this.showOptions.idStelleninserat,\n IdPerson: this.model.personList.length === 1\n ? this.model.personList[0].id\n : null\n }\n });\n\n if (this.model.idWunschtermin) {\n const exists = r.some((w) => w.Id == this.model.idWunschtermin);\n\n if (!exists) {\n this.model.startDatum = null;\n this.model.idWunschtermin = null;\n\n this.onWunschterminChanged();\n }\n }\n\n this.data.WunschList = r;\n }\n private repaintCalendar() {\n if (!this.kalendar) {\n return;\n }\n\n this.kalendar.repaint();\n }\n\n private async add() {\n const r = await this._dialogConfirmService.show({\n title: this._localizationService.translateOnce(\"base.question\"),\n message: this.startupService.startupInfo.Benutzer.Benutzertyp == BenutzerTyp.NatuerlichePerson\n ? this._localizationService.translateOnce(\"schnuppertermin.weiterer-termin-für-person-lehrberuf\")\n : this._localizationService.translateOnce(\"schnuppertermin.weiterer-termin-für-lehrberuf\")\n });\n\n if (!r) {\n return;\n }\n\n this.popup.instance.hide();\n this.show({\n idStelleninserat: this.showOptions.idStelleninserat,\n idPerson: this.startupService.startupInfo.Benutzer.Benutzertyp == BenutzerTyp.NatuerlichePerson\n ? this.model.personList[0].id\n : null\n });\n }\n private validateAndSave() {\n if (!this.validate()) {\n return;\n }\n\n this.save();\n }\n private validate() {\n if (!this.showOptions.idEventTeilnehmer) {\n if (this.model.personList.length == 0) {\n DevExpress.ui.notify(\n this._localizationService.translateOnce(\"schnuppertermin-utils.keine-person-gewaehlt\"),\n \"ERROR\",\n this.NOTIFY_TIMEOUT\n );\n\n return false;\n }\n\n if (!this.model.startDatum) {\n DevExpress.ui.notify(\n this._localizationService.translateOnce(\"schnuppertermin.kein-zeitraum-ausgewaehlt\"),\n \"ERROR\",\n this.NOTIFY_TIMEOUT\n );\n\n return false;\n }\n\n if (!this.datenschutz.hasAlleBestaetigt()) {\n return false;\n }\n }\n\n const validationGroupConfig = DevExpress.validationEngine.getGroupConfig(this.validationGroup);\n if (validationGroupConfig) {\n const validationResult = validationGroupConfig.validate();\n if (!validationResult.isValid) {\n DevExpress.ui.notify(\n validationResult.brokenRules[0].message,\n \"ERROR\",\n this.NOTIFY_TIMEOUT\n );\n\n return false;\n }\n }\n\n return true;\n }\n private async save() {\n const r: IErstellenResult = await this._restService.post({\n url: this._restService.getApiUrl(\"ZIT/Schnuppertermin/SchnupperterminErstellen\"),\n data: {\n IdEventTeilnehmer: this.showOptions.idEventTeilnehmer,\n IdStelleninserat: this.showOptions.idStelleninserat,\n IdPersonList: this.model.personList.map((p) => p.id),\n IdEventZeitraum: this.model.idWunschtermin,\n StartDatum: this.model.startDatum,\n AnzahlTage: this.model.anzahlTage,\n DatenschutzList: this.data.DatenschutzList\n },\n increaseLoadingCount: true\n });\n\n if (r.Fehler) {\n DevExpress.ui.notify(\n r.Fehler,\n \"ERROR\",\n this.NOTIFY_TIMEOUT);\n\n return;\n }\n\n DevExpress.ui.notify(\n this._localizationService.translateOnce(\"schnuppertermin-utils.termin_erstellen\"),\n \"SUCCESS\",\n this.NOTIFY_TIMEOUT);\n\n this._eventAggregator.publish(\"schnuppertermin:erstellt\", {\n IdStelleninserat: this.showOptions.idStelleninserat,\n IdEventTeilnehmer: r.IdEventTeilnehmer,\n HasDokument: r.HasDokument\n });\n\n this.popup.instance.hide();\n }\n\n private resetModel() {\n this.model = {\n personList: [],\n anzahlTageList: []\n };\n }\n}\n\nexport interface ISchnupperterminErstellenShowOptions {\n idStelleninserat: number;\n idPerson?: number;\n idEventTeilnehmer?: number;\n}\ninterface IModel {\n anzahlTageList: IAnzahlTageItem[];\n minTageNumberBox?: number;\n maxTageNumberBox?: number;\n minDatum?: Date;\n maxDatum?: Date;\n\n personList: IPerson[];\n idWunschtermin?: number;\n anzahlTage?: number;\n anzahlTageRadio?: number;\n startDatum?: Date;\n}\ninterface IPerson {\n id: number;\n name: string;\n}\ninterface IRequestResult {\n IdEventTeilnehmer: number;\n IdPerson: number;\n PersonName: string;\n\n IdGeschaeftspartner: number;\n Geschaeftspartner: string;\n Ort: string;\n\n IdLehrberuf: number;\n Lehrberuf: string;\n\n StartDatum: Date;\n EndeDatum: Date;\n IsBestaetigt: boolean;\n\n WunschList: IWunsch[];\n DatenschutzList: any[];\n}\ninterface IWunsch {\n Id: number;\n Bezeichnung: string;\n Start: Date;\n Ende: Date;\n Standarddauer: number;\n Minimaldauer: number;\n Maximaldauer: number;\n}\ninterface IAnzahlTageItem {\n text: string;\n value: number;\n}\ninterface IErstellenResult {\n IdEventTeilnehmer: number;\n HasDokument: boolean;\n Fehler: string;\n}\nenum KalenderInfoTyp {\n Kontingent = 0,\n NichtZugesagt = 1,\n NichtZugesagtGleicheGp = 2,\n Zugesagt = 3\n}\n","module.exports = \" \";","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.id, \".schuppertermin-erstellen--popup-content {\\n padding: 12px;\\n}\\n.schnuppertermin-erstellen--form-item {\\n display: flex;\\n align-items: center;\\n}\\n.schnuppertermin-erstellen--form-item > div:first-child {\\n width: 17%;\\n flex-shrink: 0;\\n}\\n.schnuppertermin-erstellen--form-item > div:not(:first-child) {\\n flex-grow: 1;\\n}\\n.schnuppertermin-erstellen--margin-top {\\n margin-top: 12px;\\n}\\n.schnuppertermin-erstellen--margin-top-xs {\\n margin-top: 3px;\\n}\\n.schnuppertermin-erstellen--person-neu {\\n display: flex;\\n align-items: center;\\n}\\n.schnuppertermin-erstellen--person-neu > div {\\n margin-right: 12px;\\n}\\n.schnuppertermin-erstellen--anzahl-tage {\\n display: flex;\\n align-items: center;\\n}\\n.schnuppertermin-erstellen--anzahl-tage > div:nth-child(2) {\\n margin-left: 24px;\\n}\\n.schnuppertermin-erstellen--anzahl-tage > div:nth-child(3) {\\n margin-left: 12px;\\n}\\n.schnuppertermin-erstellen--bottom-buttons {\\n display: flex;\\n justify-content: flex-end;\\n}\\n.schnuppertermin-erstellen--tag-list {\\n display: flex;\\n flex-wrap: wrap;\\n margin: -6px;\\n}\\n.schnuppertermin-erstellen--tag-list > div {\\n margin: 6px;\\n}\\n.schnuppertermin-erstellen--calendar {\\n position: absolute;\\n top: 0;\\n right: 0;\\n bottom: 0;\\n left: 0;\\n}\\n.schnuppertermin-erstellen--calendar-legende {\\n display: flex;\\n}\\n.schnuppertermin-erstellen--calendar-legende > div:not(:first-child) {\\n margin-left: 12px;\\n}\\n.schnuppertermin-erstellen--calendar-legende-detail > div {\\n display: flex;\\n align-items: center;\\n}\\n.schnuppertermin-erstellen--calendar-legende-detail > div:not(:first-child) {\\n margin-top: 6px;\\n}\\n.schnuppertermin-erstellen--calendar-legende-detail > div > div:not(:first-child) {\\n margin-left: 6px;\\n}\\n.schnuppertermin-erstellen--calendar-legende-detail > div > div > div:first-child {\\n position: relative;\\n width: 24px;\\n height: 24px;\\n}\\n.schnuppertermin-erstellen--bold {\\n font-weight: bold;\\n}\\n.schnuppertermin-erstellen--calendar-verfuegbar {\\n background-color: #337AB7;\\n}\\n.schnuppertermin-erstellen--calendar-zugesagt {\\n border: 2px solid #27AE60;\\n}\\n.schnuppertermin-erstellen--calendar-gewaehlt {\\n background-color: #337AB7;\\n}\\n.schnuppertermin-erstellen--calendar-ueberbucht {\\n border: 2px solid #E74C3C;\\n}\\n.schnuppertermin-erstellen--calendar-nicht-zugesagt {\\n border: 2px solid #F1C40F;\\n}\\n.schnuppertermin-erstellen--calendar-nicht-zugesagt-selbe-gp {\\n border: 2px solid #8E44AD;\\n}\\n\", \"\"]);\n// Exports\nmodule.exports = exports;\n","import { EventAggregator, Subscription } from \"aurelia-event-aggregator\";\nimport { autoinject, bindable } from \"aurelia-framework\";\nimport { RestService } from \"../../../framework/base/export\";\nimport { BenutzerTyp } from \"../../enumerations/export\";\nimport { StartupService } from \"../../services/export\";\nimport { ISchnuppertermin } from \"../schnuppertermin/schnuppertermin\";\nimport { BrowserService } from \"./../../../framework/base/services/browser-service\";\n\n@autoinject\nexport class SchnupperterminListViewItem {\n private _schnupperterminErstelltSubscription: Subscription;\n private _ANZAHLTERMINE: number = 2;\n\n constructor(\n private _element: Element,\n private _restService: RestService,\n private _eventAggregator: EventAggregator,\n private _browserService: BrowserService,\n private _startupService: StartupService\n ) {\n this.isSchuleOrAdmin = this._startupService.startupInfo.Benutzer.CodeBenutzerrolle == \"ADMIN\"\n || this._startupService.startupInfo.Benutzer.CodeBenutzerrolle == \"KUNDE-SCHULE\";\n }\n\n @bindable data: ISchnuppertermin;\n\n isSchuleOrAdmin: boolean = false;\n showKundenLogo: boolean = true;\n\n fileDownloadBaseUrl: string;\n\n bind() {\n let url = this._restService.getApiUrl(\"ZIT/Schnuppertermin/DokBestaetigung\");\n url += `?auth-token=${encodeURIComponent(this._restService.getAuthorizationToken())}&idEventTeilnehmer=`;\n this.fileDownloadBaseUrl = url;\n\n this._schnupperterminErstelltSubscription = this._eventAggregator.subscribe(\"schnuppertermin:erstellt\", (r) => {\n if (this._startupService.startupInfo.Benutzer.Benutzertyp != BenutzerTyp.NatuerlichePerson) {\n return;\n }\n\n if (this.data.IdStelleninserat == r.IdStelleninserat) {\n this.data.IdEventTeilnehmer = r.IdEventTeilnehmer;\n this.data.HasDokument = r.HasDokument;\n\n if (!r.IdTermin) {\n this.data.IsTerminBestaetigt = null;\n }\n }\n });\n\n if (this._browserService.isMobile) {\n this.showKundenLogo = false;\n }\n }\n unbind() {\n this._schnupperterminErstelltSubscription.dispose();\n this._schnupperterminErstelltSubscription = null;\n }\n\n downloadDokBestaetigung() {\n window.open(this.fileDownloadBaseUrl + this.data.IdEventTeilnehmer, \"_blank\");\n }\n openStelleninserat() {\n if (!this.data.VeroeffentlichungTyp || this.data.VeroeffentlichungTyp == 0) {\n return;\n }\n\n if (!this.data.UrlStelleninserat) {\n return;\n }\n window.open(this.data.UrlStelleninserat, \"_blank\");\n }\n openGeschaeftspartnerWebsite() {\n if (!this.data.UrlGeschaeftspartner || !this.data.GeschaeftspartnerHasGebuchtesPackage) {\n return;\n }\n\n if (this.data.UrlGeschaeftspartner.indexOf(\"http\") != -1) {\n window.open(this.data.UrlGeschaeftspartner, \"_blank\");\n } else {\n window.open(\"http://\" + this.data.UrlGeschaeftspartner, \"_blank\");\n }\n }\n openLehrberuf() {\n window.open(this.data.LehrberufUrl, \"_blank\");\n }\n getSchnupperterminMerken() {\n this.data.IsMerkerAktiv = !this.data.IsMerkerAktiv;\n\n return this._restService.get({\n url: this._restService.getApiUrl(`ZIT/Schnuppertermin/SchnupperterminMerken?idStelleninserat=${this.data.IdStelleninserat}&merken=${this.data.IsMerkerAktiv}`),\n increaseLoadingCount: true\n });\n }\n showTerminErstellenPopup() {\n if (this.data.ErstellungSchnupperterminVerhindern && !this.isSchuleOrAdmin) {\n return;\n }\n \n const isBig = window.screen.width >= 1200;\n \n const lines: string[] = [\"Gewünschter Schnuppertermin schon abgeklärt?\"]; \n if (this.data.SchnupperterminAnfrageart) {\n lines.push(`Unternehmen wünscht: "${this.data.SchnupperterminAnfrageart}"`)\n }\n if (!isBig) {\n lines.push(\"Klicke auf Ja, um den Termin zu erfassen.\");\n lines.push(\"Klicke auf Nein, um den Termin zuerst abzuklären.\")\n }\n \n const sendCreateEvent = () => {\n const event = new CustomEvent(\"on-show-erstellen\", {\n detail: {\n sender: this,\n idStelleninserat: this.data.IdStelleninserat,\n idEventTeilnehmer: this.data.AnzTermine < this._ANZAHLTERMINE && this.data.IdEventTeilnehmer\n ? this.data.IdEventTeilnehmer\n : null,\n data: this.data\n },\n bubbles: true\n });\n\n this._element.dispatchEvent(event);\n };\n\n if (this.data.KeineDirekteKontaktaufnahmeErforderlich) {\n sendCreateEvent();\n return;\n }\n \n DevExpress.ui.dialog.custom({\n title: \"Frage\",\n messageHtml: lines.join(\"
\"),\n buttons: [{\n text: isBig ? \"JA, weiter zur Erfassung des Termins\" : \"Ja\",\n onClick: () => {\n sendCreateEvent();\n }\n }, {\n text: isBig ? \"NEIN, abbrechen und Termin zuerst abklären\" : \"Nein\"\n }]\n }).show();\n }\n\n callTelefonnummer() {\n if (!this.data.TelefonnummerClickToCall || this.data.TelefonnummerClickToCall.length == 0) {\n return;\n }\n\n window.open(this.data.TelefonnummerClickToCall, \"_blank\");\n }\n}\n","module.exports = \" \";","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.id, \".z--schnuppertermin-content-container {\\n display: flex;\\n height: 130px;\\n padding: 0 2px;\\n border: 1px solid lightgray;\\n background-color: white;\\n position: relative;\\n overflow: hidden;\\n}\\n.z--schnuppertermin-content-container .z--schnuppertermin-info-container {\\n display: inline-block;\\n flex-grow: 1;\\n padding: 12px 0px 12px 12px;\\n overflow: hidden;\\n}\\n.z--schnuppertermin-content-container .z--schnuppertermin-button-container {\\n display: flex;\\n flex-direction: column;\\n justify-content: center;\\n}\\n.z--schnuppertermin-content-container .z--schnuppertermin-logo-container {\\n align-items: center;\\n display: flex;\\n justify-content: center;\\n min-width: 25%;\\n max-width: 25%;\\n padding: 12px 0px;\\n}\\n.z--schnuppertermin-content-container .z--schnuppertermin-logo-container > .z--image-container .z--image {\\n background-size: contain;\\n}\\n.z--schnuppertermin-content-container .z--schnuppertermin-logo-container > .z--schnuppertermin-logo-button-unten {\\n position: absolute;\\n display: flex;\\n height: 30px;\\n width: 30px;\\n border-radius: 30px;\\n align-items: center;\\n justify-content: center;\\n background-color: rgba(0, 0, 0, 0.6);\\n right: 7px;\\n bottom: 5px;\\n z-index: 1;\\n text-decoration: none;\\n}\\n.z--schnuppertermin-content-container .z--schnuppertermin-logo-container > .z--schnuppertermin-logo-button-unten i {\\n font-size: 18px;\\n color: rgba(255, 255, 255, 0.8);\\n}\\n.z--schnuppertermin-content-container .z--schnuppertermin-logo-container > .z--schnuppertermin-logo-button-unten:hover {\\n background-color: #000000;\\n}\\n.z--schnuppertermin-content-container .z--schnuppertermin-logo-container > .z--schnuppertermin-logo-button-unten:hover i {\\n color: #ffffff;\\n}\\n.z--schnuppertermin-content-container .z--schnuppertermin-button-block {\\n padding: 12px;\\n flex-grow: 1;\\n justify-content: center;\\n display: flex;\\n justify-content: flex-end;\\n align-items: center;\\n}\\n.z--schnuppertermin-content-container .z--schnuppertermin-button-block > *:not(:first-child) {\\n padding-left: 16px;\\n}\\n.z--schnuppertermin-content-container .z--schnuppertermin-button-block .fa-ban {\\n color: red;\\n}\\n.z--schnuppertermin-content-container .z--schnuppertermin-button-block .fa-ban:not(.z--schnuppertermin-admin-kunde) {\\n cursor: default;\\n}\\n.z--schnuppertermin-content-container .z--schnuppertermin-title {\\n font-size: 14px;\\n font-weight: bold;\\n margin-bottom: 6px;\\n text-overflow: ellipsis;\\n white-space: nowrap;\\n overflow: hidden;\\n}\\n.z--schnuppertermin-content-container .z--schnuppertermin-info {\\n padding-top: 5px;\\n margin-right: 6px;\\n text-overflow: ellipsis;\\n white-space: nowrap;\\n overflow: hidden;\\n}\\n.z--schnuppertermin-content-container .z--schnuppertermin-info i {\\n margin-right: 2px;\\n}\\n.z--schnuppertermin-content-container .z--max-1-line {\\n text-overflow: ellipsis;\\n white-space: nowrap;\\n overflow: hidden;\\n}\\n.z--schnuppertermin-content-container .z--schnuppertermin-button-oben {\\n text-decoration: none;\\n padding: 0 5px;\\n}\\n.z--schnuppertermin-content-container .z--schnuppertermin-button-oben i:hover {\\n color: black;\\n}\\n.z--schnuppertermin-content-container .z--schnuppertermin-button-unten {\\n padding: 0 5px;\\n}\\n.z--schnuppertermin-content-container .z--schnuppertermin-button-unten i:hover:not(.fa-ban) {\\n color: black;\\n}\\n.z--schnuppertermin-content-container i {\\n color: #898989;\\n}\\n.z--schnuppertermin-content-container .z--schnuppertermin-link-selected {\\n padding: 0 5px;\\n}\\n.z--schnuppertermin-content-container .z--schnuppertermin-link-selected i {\\n color: red;\\n}\\n.z--schnuppertermin-content-container .z--schnuppertermin-button-unten-termin {\\n padding: 0 5px;\\n}\\n.z--schnuppertermin-content-container .z--schnuppertermin-button-unten-termin i {\\n color: orange;\\n}\\n.z--schnuppertermin-content-container .z--schnuppertermin-button-unten-termin-bestaetigt {\\n padding: 0 5px;\\n}\\n.z--schnuppertermin-content-container .z--schnuppertermin-button-unten-termin-bestaetigt i {\\n color: green;\\n}\\n.z--schnuppertermin-content-container .z--schnuppertermin-cursor-pointer {\\n cursor: pointer;\\n}\\n\", \"\"]);\n// Exports\nmodule.exports = exports;\n","import { autoinject, Scope } from \"aurelia-framework\";\nimport { IdxPopupComponent, IdxDataGridComponent } from '../../interfaces/dx-components';\nimport { ScopeContainer, RestService } from '../../../framework/base/export';\nimport { SimpleWidgetCreatorService, ModelEventService, ICommandData } from '../../../framework/forms/export';\n\n@autoinject\nexport class SchnupperterminPersonAuswahl {\n private _callback: { (personList: { id: number, name: string }[]): void };\n\n constructor(\n private restService: RestService,\n private simpleWidgetCreatorService: SimpleWidgetCreatorService\n ) { }\n\n scope: Scope;\n scopeContainer: ScopeContainer;\n\n model: IModel;\n\n popup: IdxPopupComponent;\n popupOptions: DevExpress.ui.dxPopupOptions = {\n contentTemplate: \"contentTemplate\",\n height: \"auto\",\n width: \"750px\"\n };\n nameOptions: DevExpress.ui.dxTextBoxOptions = {\n bindingOptions: {\n value: \"model.name\"\n },\n onValueChangedByUser: () => this.loadPerson()\n };\n klasseOptions: DevExpress.ui.dxSelectBoxOptions = {\n searchEnabled: true,\n showClearButton: true,\n valueExpr: \"Id\",\n displayExpr: \"Bezeichnung\",\n bindingOptions: {\n dataSource: \"model.klasseList\",\n value: \"model.idKlasse\"\n },\n onValueChangedByUser: () => this.loadPerson()\n };\n personenGrid: IdxDataGridComponent;\n personenGridOptions: DevExpress.ui.dxDataGridOptions = {\n columns: [{\n dataField: \"Vorname\",\n caption: \"Vorname\"\n }, {\n dataField: \"Nachname\",\n caption: \"Nachname\"\n }],\n keyExpr: \"Id\",\n selection: {\n mode: \"multiple\",\n showCheckBoxesMode: \"always\"\n },\n height: \"400px\",\n scrolling: {\n mode: \"virtual\"\n },\n bindingOptions: {\n dataSource: \"model.personList\"\n }\n };\n\n uebernehmenCommandData: ICommandData = {\n id: \"uebernehmenCommandData\",\n icon: \"fas fa-check\",\n sortIndex: 1000,\n tooltip: \"schnuppertermin.markierte-personen-uebernehmen\",\n execute: () => {\n const data = this.personenGrid.instance.getSelectedRowsData();\n if (data.length == 0) {\n DevExpress.ui.notify(\"Es wurde keine Person markiert\", \"ERROR\", 3000);\n return;\n }\n\n this._callback(data.map(i => {\n return { id: i.Id, name: i.Name };\n }));\n\n this.popup.instance.hide();\n }\n };\n\n bind() {\n this.scope = {\n bindingContext: this,\n overrideContext: null\n };\n this.scopeContainer = new ScopeContainer(this.scope);\n\n this.simpleWidgetCreatorService.updatePopupOptions({\n idToolbar: \"schnupperterminPersonAuswahlToolbar\",\n caption: \"schnuppertermin.person-auswahl\",\n scopeContainer: this.scopeContainer,\n options: this.popupOptions,\n commands: [this.uebernehmenCommandData]\n });\n }\n unbind() {\n this.scopeContainer.disposeAll();\n this.scopeContainer = null;\n }\n\n async show(callback: { (personList: { id: number, name: string }[]): void }) {\n this._callback = callback;\n\n this.resetModel();\n await this.loadKlasse();\n\n this.popup.instance.show();\n }\n\n private async loadKlasse() {\n this.model.klasseList = await this.restService.get({\n url: this.restService.getApiUrl(\"ZIT/Schnuppertermin/Klasse\"),\n increaseLoadingCount: true\n });\n }\n private async loadPerson() {\n this.model.personList = await this.restService.post({\n url: this.restService.getApiUrl(\"ZIT/Schnuppertermin/PersonFilter\"),\n increaseLoadingCount: true,\n data: {\n IdKlasse: this.model.idKlasse,\n Name: this.model.name\n }\n });\n }\n private resetModel() {\n this.model = {\n klasseList: [],\n personList: []\n };\n }\n}\n\ninterface IModel {\n name?: string;\n idKlasse?: number;\n\n klasseList: any[];\n personList: any[];\n}","module.exports = \" \";","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.id, \".schnuppertermin-person-auswahl--popup-content {\\n padding: 12px;\\n}\\n.schnuppertermin-person-auswahl--filter {\\n display: flex;\\n flex-wrap: wrap;\\n margin: 0 -6px;\\n}\\n.schnuppertermin-person-auswahl--filter > div {\\n flex-grow: 1;\\n padding: 0 6px;\\n}\\n\", \"\"]);\n// Exports\nmodule.exports = exports;\n","import { autoinject, Scope } from \"aurelia-framework\";\nimport { ScopeContainer, LocalizationService, RestService, DataSourceService } from \"../../../framework/base/export\";\nimport { IdxValidationGroupComponent, IdxPopupComponent } from \"../../interfaces/export\";\nimport { ICommandData, SimpleWidgetCreatorService } from \"../../../framework/forms/export\";\nimport { EventAggregator } from \"aurelia-event-aggregator\";\n\n@autoinject\nexport class SchnupperterminStornieren {\n constructor(\n private simpleWidgetCreatorService: SimpleWidgetCreatorService,\n private localizationService: LocalizationService,\n private restService: RestService,\n private eventAggregator: EventAggregator,\n private dataSourceService: DataSourceService\n ) {}\n\n scope: Scope;\n scopeContainer: ScopeContainer;\n \n showOptions: ISchnupperterminStornierenShowOptions;\n model: IStornierenModel;\n validationGroup: IdxValidationGroupComponent;\n\n popup: IdxPopupComponent;\n popupOptions: DevExpress.ui.dxPopupOptions = {\n contentTemplate: \"contentTemplate\",\n width: \"500px\",\n height: \"auto\"\n };\n\n grundOptions: DevExpress.ui.dxSelectBoxOptions = {\n showClearButton: true,\n searchEnabled: true,\n displayExpr: \"Bezeichnung\",\n valueExpr: \"Id\",\n bindingOptions: {\n value: \"model.idGrund\"\n }\n };\n stornierenSpeichernCommand: ICommandData = {\n id: \"stornierenSpeichernCommand\",\n icon: \"fas fa-check\",\n sortIndex: 1000,\n tooltip: \"base.save\",\n execute: () => {\n this.validateAndStornieren();\n }\n };\n\n bind() {\n this.scope = {\n bindingContext: this,\n overrideContext: null\n };\n this.scopeContainer = new ScopeContainer(this.scope);\n\n this.simpleWidgetCreatorService.updatePopupOptions({\n idToolbar: \"schnupperterminStornierenToolbar\",\n caption: \"schnuppertermin.stornieren-header\",\n scopeContainer: this.scopeContainer,\n options: this.popupOptions,\n commands: [this.stornierenSpeichernCommand]\n });\n\n this.grundOptions[\"validators\"] = [this.createRequiredRule(\"Stornierungsgrund\")];\n\n this.createStornierenGrundDataSource();\n }\n unbind() {\n this.scopeContainer.disposeAll();\n this.scopeContainer = null;\n }\n\n async show(options: ISchnupperterminStornierenShowOptions) {\n this.showOptions = options;\n\n this.resetModel();\n this.popup.instance.show(); \n }\n \n private createRequiredRule(text: string) {\n return {\n type: \"required\",\n message: this.localizationService.translateOnce(\"forms.validator_required\", [text])\n };\n }\n \n private createStornierenGrundDataSource() {\n this.grundOptions.dataSource = this.dataSourceService.createDataSource(\n this.scopeContainer, {\n webApiAction: \"ZIT/Stammdaten/Grund\",\n webApiColumns: [\"Id\", \"Bezeichnung\"],\n webApiWhere: [\"Typ\", 2],\n webApiOrderBy: [{ columnName: \"SortNr\", sortOrder: 0 }, { columnName: \"Bezeichnung\", sortOrder: 1 }]\n }\n );\n }\n private async validateAndStornieren() {\n const validationResult = this.validationGroup.instance.validate();\n if (!validationResult.isValid) {\n DevExpress.ui.notify(\n validationResult.brokenRules[0].message,\n \"ERROR\",\n 3000\n );\n\n return;\n }\n\n await this.restService.post({\n url: this.restService.getApiUrl(\"ZIT/Schnuppertermin/SchnupperterminStornieren\"),\n increaseLoadingCount: true,\n data: {\n IdStornoGrund: this.model.idGrund,\n IdEventTeilnehmer: this.showOptions.idEventTeilnehmer,\n IdStelleninserat: this.showOptions.idStelleninserat\n }\n });\n\n DevExpress.ui.notify(\n this.localizationService.translateOnce(\"schnuppertermin-utils.stornierung_erfolgreich\"), \n \"SUCCESS\", \n 3000);\n \n this.eventAggregator.publish(\"schnuppertermin:erstellt\", {\n IdStelleninserat: this.showOptions.idStelleninserat,\n IdEventTeilnehmer: 0,\n HasDokument: false\n });\n\n this.popup.instance.hide();\n\n if (this.showOptions.callback) {\n this.showOptions.callback();\n }\n }\n private resetModel() {\n this.model = {};\n }\n}\n\nexport interface ISchnupperterminStornierenShowOptions {\n idStelleninserat: number;\n idEventTeilnehmer: number;\n\n callback: {(): void};\n}\ninterface IStornierenModel {\n idGrund?: number;\n}","module.exports = \" \";","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.id, \".schuppertermin-stornieren--popup-content {\\n padding: 12px;\\n}\\n\", \"\"]);\n// Exports\nmodule.exports = exports;\n","import { autoinject, Scope } from \"aurelia-framework\";\nimport { IdxPopupComponent, IdxDataGridComponent } from '../../interfaces/dx-components';\nimport { ScopeContainer, GlobalizationService, DataSourceService } from '../../../framework/base/export';\nimport { SimpleWidgetCreatorService, ICommandData } from '../../../framework/forms/export';\nimport * as moment from \"moment\";\nimport { StartupService } from '../../services/export';\nimport { SchnupperterminTag } from '../schnuppertermin-tag/schnuppertermin-tag';\n\n@autoinject\nexport class SchnupperterminTagList {\n constructor(\n private simpleWidgetCreatorService: SimpleWidgetCreatorService,\n private globalizationService: GlobalizationService,\n private dataSourceService: DataSourceService,\n private startupService: StartupService\n ) { }\n\n scope: Scope;\n scopeContainer: ScopeContainer;\n\n schnupperterminTag: SchnupperterminTag;\n model: IModel;\n\n popup: IdxPopupComponent;\n popupOptions: DevExpress.ui.dxPopupOptions = {\n contentTemplate: \"contentTemplate\",\n width: \"1100px\",\n height: \"auto\",\n maxHeight: \"90vh\"\n };\n\n schuleOptions: DevExpress.ui.dxSelectBoxOptions = {\n searchEnabled: true,\n showClearButton: true,\n displayExpr: \"Name1\",\n valueExpr: \"Id\",\n bindingOptions: {\n readOnly: \"model.isSchuleReadOnly\",\n value: \"model.idSchule\"\n },\n onValueChangedByUser: () => this.tagGrid.instance.refresh()\n };\n geschaeftspartnerOptions: DevExpress.ui.dxSelectBoxOptions = {\n searchEnabled: true,\n showClearButton: true,\n displayExpr: \"Name1\",\n valueExpr: \"Id\",\n bindingOptions: {\n readOnly: \"model.isGeschaeftspartnerReadOnly\",\n value: \"model.idGeschaeftspartner\"\n },\n onValueChangedByUser: () => this.tagGrid.instance.refresh()\n };\n personOptions: DevExpress.ui.dxSelectBoxOptions = {\n searchEnabled: true,\n showClearButton: true,\n displayExpr: \"Name\",\n valueExpr: \"Id\",\n bindingOptions: {\n value: \"model.idPerson\"\n },\n onValueChangedByUser: () => this.tagGrid.instance.refresh()\n };\n vonOptions: DevExpress.ui.dxDateBoxOptions = {\n displayFormat: this.globalizationService.getFormatterParser(\"d\"),\n showClearButton: true,\n bindingOptions: {\n value: \"model.von\"\n },\n onValueChangedByUser: () => this.tagGrid.instance.refresh()\n };\n bisOptions: DevExpress.ui.dxDateBoxOptions = {\n displayFormat: this.globalizationService.getFormatterParser(\"d\"),\n showClearButton: true,\n bindingOptions: {\n value: \"model.bis\"\n },\n onValueChangedByUser: () => this.tagGrid.instance.refresh()\n };\n tagGrid: IdxDataGridComponent;\n tagGridOptions: DevExpress.ui.dxDataGridOptions = {\n allowColumnResizing: true,\n columns: [{\n dataField: \"Bezeichnung\",\n caption: \"Bezeichnung\"\n }, {\n dataField: \"_Schule\",\n caption: \"Schule\",\n allowSorting: false\n }, {\n dataField: \"_Geschaeftspartner\",\n caption: \"Geschäftspartner\",\n allowSorting: false\n }, {\n dataField: \"Person.Name\",\n caption: \"Person\"\n }, {\n dataField: \"Start\",\n caption: \"Start\",\n width: \"120px\",\n sortIndex: 0,\n sortOrder: \"asc\",\n cellTemplate: (element, info) => {\n const val = this.globalizationService.format(info.data.Start, \"DT_DD.MM.YYYY (dd)\").toUpperCase();\n element.innerHTML = val;\n }\n }, {\n dataField: \"Ende\",\n caption: \"Ende\",\n width: \"120px\",\n cellTemplate: (element, info) => {\n const val = this.globalizationService.format(info.data.Ende, \"DT_DD.MM.YYYY (dd)\").toUpperCase();\n element.innerHTML = val;\n }\n }],\n keyExpr: \"Id\",\n height: \"400px\",\n remoteOperations: {\n filtering: true,\n paging: true,\n sorting: true\n },\n onRowClick: (e) => {\n this.schnupperterminTag.show({\n idSchnupperterminTag: e.data.Id,\n callbackOnChanges: () => this.tagGrid.instance.refresh()\n });\n }\n }\n\n schnupperterminTagNeuCommand: ICommandData = {\n id: \"schnupperterminTagNeuCommand\",\n icon: \"fas fa-plus\",\n sortIndex: 1000,\n tooltip: \"base.add\",\n execute: () => {\n this.onNeuClick();\n }\n };\n\n bind() {\n this.scope = {\n bindingContext: this,\n overrideContext: null\n };\n this.scopeContainer = new ScopeContainer(this.scope);\n\n this.simpleWidgetCreatorService.updatePopupOptions({\n idToolbar: \"schnupperterminTagToolbar\",\n caption: \"schnuppertermin.schnuppertermin-tage-uebersicht\",\n scopeContainer: this.scopeContainer,\n options: this.popupOptions,\n commands: [this.schnupperterminTagNeuCommand]\n });\n\n this.createSchuleDataSource();\n this.createGeschaeftspartnerDataSource();\n this.createPersonDataSource();\n this.createSchnupperterminTagDataSource();\n }\n unbind() {\n this.scopeContainer.disposeAll();\n this.scopeContainer = null;\n }\n\n async show(options: ISchnupperterminTagListShowOptions) {\n this.resetModel();\n\n const isKunde = this.startupService.startupInfo.Benutzer.CodeBenutzerrolle == \"KUNDE\";\n const isKundeSchule = this.startupService.startupInfo.Benutzer.CodeBenutzerrolle == \"KUNDE-SCHULE\";\n\n this.model.isGeschaeftspartnerReadOnly = isKunde;\n this.model.isSchuleReadOnly = isKundeSchule;\n\n if (options.idGeschaeftspartner) {\n this.model.idGeschaeftspartner = options.idGeschaeftspartner;\n }\n else if (isKunde) {\n this.model.idGeschaeftspartner = this.startupService.startupInfo.Benutzer.IdGeschaeftspartner;\n } \n \n if (isKundeSchule) {\n this.model.idSchule = this.startupService.startupInfo.Benutzer.IdGeschaeftspartner;\n }\n\n await this.popup.instance.show();\n this.popup.instance.repaint();\n }\n\n onNeuClick() {\n this.schnupperterminTag.show({\n start: this.model.von,\n ende: this.model.bis,\n idGeschaeftspartner: this.model.idGeschaeftspartner,\n idSchule: this.model.idSchule,\n idPerson: this.model.idPerson,\n callbackOnChanges: () => this.tagGrid.instance.refresh()\n });\n }\n\n private createSchuleDataSource() {\n this.schuleOptions.dataSource = this.dataSourceService.createDataSource(\n this.scopeContainer, {\n webApiAction: \"ZIT/Simple/Geschaeftspartner\",\n webApiWhere: [\"IsGeschaeftspartnerSchule\", true],\n webApiOrderBy: [{ columnName: \"Name1\", sortOrder: 0 }]\n }\n );\n }\n private createGeschaeftspartnerDataSource() {\n this.geschaeftspartnerOptions.dataSource = this.dataSourceService.createDataSource(\n this.scopeContainer, {\n webApiAction: \"ZIT/Simple/Geschaeftspartner\",\n webApiOrderBy: [{ columnName: \"Name1\", sortOrder: 0 }]\n }\n );\n }\n private createPersonDataSource() {\n this.personOptions.dataSource = this.dataSourceService.createDataSource(\n this.scopeContainer, {\n webApiAction: \"ZIT/Objekte/Person\",\n webApiColumns: [\"Id\", \"Name\"],\n webApiOrderBy: [{ columnName: \"Name\", sortOrder: 0 }],\n filters: [{\n webApiCustomKey: \"MitBewerbungGeschaeftspartnerSchule\", webApiCustomValue: \"true\"\n }]\n }\n );\n }\n private createSchnupperterminTagDataSource() {\n this.tagGridOptions.dataSource = this.dataSourceService.createDataSource(\n this.scopeContainer, {\n webApiAction: \"ZIT/Stammdaten/SchnupperterminTag\",\n webApiExpand: {\n Person: {\n columns: [\"Id\", \"Name\"]\n }\n },\n filters: [{\n webApiCustomKey: \"InklSchuleUndGP\", webApiCustomValue: \"true\"\n }]\n }, {\n getCustomWhere: () => {\n const where = [];\n\n if (this.model.von) {\n where.push([\"Ende\", \">=\", this.model.von]);\n }\n if (this.model.bis) {\n where.push([\"Start\", \"<=\", this.model.bis]);\n }\n if (this.model.idGeschaeftspartner) {\n where.push([\"IdGeschaeftspartner\", this.model.idGeschaeftspartner]);\n }\n if (this.model.idPerson) {\n where.push([\"IdPerson\", this.model.idPerson]);\n }\n if (this.model.idSchule) {\n where.push([\"SchnupperterminTagZuSchulen\", [\"IdGeschaeftspartnerSchule\", this.model.idSchule]]);\n }\n\n return where;\n }\n }\n );\n }\n private resetModel() {\n this.model = {\n von: moment().startOf(\"day\").toDate()\n }\n }\n}\n\nexport interface ISchnupperterminTagListShowOptions {\n idGeschaeftspartner?: number\n}\ninterface IModel {\n idSchule?: number;\n isSchuleReadOnly?: boolean;\n idGeschaeftspartner?: number;\n isGeschaeftspartnerReadOnly?: boolean;\n idPerson?: number;\n\n von?: Date;\n bis?: Date;\n}","module.exports = \" \";","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.id, \".schnuppertermin-tag-list--popup-content {\\n padding: 12px;\\n}\\n.schnuppertermin-tag-list--filter {\\n display: flex;\\n flex-wrap: wrap;\\n margin: 0 -6px;\\n}\\n.schnuppertermin-tag-list--filter > div {\\n width: 50%;\\n flex-shrink: 0;\\n flex-grow: 0;\\n padding: 0 6px;\\n}\\n.schnuppertermin-tag-list--bottom-buttons {\\n display: flex;\\n justify-content: flex-end;\\n}\\n.schnuppertermin-tag-list--margin-top {\\n margin-top: 12px;\\n}\\n\", \"\"]);\n// Exports\nmodule.exports = exports;\n","import { autoinject, Scope } from \"aurelia-framework\";\nimport { IdxPopupComponent, IdxValidationGroupComponent } from \"../../interfaces/dx-components\";\nimport { ScopeContainer, GlobalizationService, DataSourceService, LocalizationService, RestService } from \"../../../framework/base/export\";\nimport { SimpleWidgetCreatorService, ICommandData, DialogConfirmService } from \"../../../framework/forms/export\";\nimport { StartupService } from \"../../services/export\";\n\n@autoinject\nexport class SchnupperterminTag {\n private _callbackOnChanges?: {(): void};\n\n constructor(\n private _simpleWidgetCreatorService: SimpleWidgetCreatorService,\n private _globalizationService: GlobalizationService,\n private _dataSourceService: DataSourceService,\n private _startupService: StartupService,\n private _localizationService: LocalizationService,\n private _restService: RestService,\n private _dialogConfirmService: DialogConfirmService\n ) { }\n\n scope: Scope;\n scopeContainer: ScopeContainer;\n\n model: IModel;\n privateModel: IPrivateModel;\n\n popup: IdxPopupComponent;\n popupOptions: DevExpress.ui.dxPopupOptions = {\n contentTemplate: \"contentTemplate\",\n width: \"750px\",\n height: \"auto\",\n maxHeight: \"90vh\"\n };\n\n bezeichnungOptions: DevExpress.ui.dxTextBoxOptions = {\n maxLength: 250,\n bindingOptions: {\n readOnly: \"model._IsVerwendet\",\n value: \"model.Bezeichnung\"\n }\n };\n typOptions: DevExpress.ui.dxRadioGroupOptions = {\n valueExpr: \"id\",\n displayExpr: \"text\",\n items: [\n { id: SchnupperterminTagTyp.Schule, text: \"Schultermin\" },\n { id: SchnupperterminTagTyp.Individuell, text: \"Individueller Termin\" },\n { id: SchnupperterminTagTyp.Geschaeftspartner, text: \"Geschäftspartnertermin\" },\n ],\n bindingOptions: {\n readOnly: \"model._IsVerwendet\",\n value: \"model.Typ\"\n }\n };\n standarddauerOptions: DevExpress.ui.dxNumberBoxOptions = {\n min: 1,\n max: 999,\n format: this._globalizationService.getNumberFormat(\"f0\"),\n bindingOptions: {\n readOnly: \"model._IsVerwendet\",\n value: \"model.Standarddauer\"\n }\n };\n mindestdauerOptions: DevExpress.ui.dxNumberBoxOptions = {\n min: 1,\n max: 999,\n format: this._globalizationService.getNumberFormat(\"f0\"),\n bindingOptions: {\n readOnly: \"model._IsVerwendet\",\n value: \"model.Mindestdauer\"\n }\n };\n maximaldauerOptions: DevExpress.ui.dxNumberBoxOptions = {\n min: 1,\n max: 999,\n format: this._globalizationService.getNumberFormat(\"f0\"),\n bindingOptions: {\n readOnly: \"model._IsVerwendet\",\n value: \"model.Maximaldauer\"\n }\n };\n kontingentOptions: DevExpress.ui.dxNumberBoxOptions = {\n min: 0,\n max: 999,\n format: this._globalizationService.getNumberFormat(\"f0\"),\n bindingOptions: {\n readOnly: \"!model.IdGeschaeftspartner\",\n value: \"model.MaxAnzahlTeilnehmer\"\n }\n };\n schuleOptions: DevExpress.ui.dxTagBoxOptions = {\n searchEnabled: true,\n showClearButton: true,\n displayExpr: \"Name1\",\n valueExpr: \"Id\",\n bindingOptions: {\n readOnly: \"privateModel.isSchuleReadOnly || model._IsVerwendet\",\n value: \"privateModel.idSchuleList\"\n }\n };\n lehrberufOptions: DevExpress.ui.dxTagBoxOptions = {\n searchEnabled: true,\n showClearButton: true,\n displayExpr: \"Bezeichnung\",\n valueExpr: \"Id\",\n bindingOptions: {\n dataSource: \"privateModel.lehrberufDataSource\",\n readOnly: \"!model.IdGeschaeftspartner || model._IsVerwendet\",\n value: \"privateModel.idLehrberufList\"\n }\n };\n geschaeftspartnerOptions: DevExpress.ui.dxSelectBoxOptions = {\n searchEnabled: true,\n showClearButton: true,\n displayExpr: \"Name1\",\n valueExpr: \"Id\",\n bindingOptions: {\n readOnly: \"privateModel.isGeschaeftspartnerReadOnly || model._IsVerwendet || model.IdPerson\",\n value: \"model.IdGeschaeftspartner\"\n },\n onValueChangedByUser: () => {\n if (!this.model.IdGeschaeftspartner) {\n this.model.MaxAnzahlTeilnehmer = null;\n }\n \n this.createTerminDataSource();\n this.createLehrberufDataSource();\n this.model.IdGeschaeftspartnerTermin = null;\n this.privateModel.idLehrberufList = [];\n }\n };\n terminOptions: DevExpress.ui.dxSelectBoxOptions = {\n searchEnabled: true,\n showClearButton: true,\n displayExpr: \"DisplayText\",\n valueExpr: \"Id\",\n bindingOptions: {\n dataSource: \"privateModel.terminDataSource\",\n readOnly: \"!model.IdGeschaeftspartner || model._IsVerwendet\",\n value: \"model.IdGeschaeftspartnerTermin\"\n }\n };\n personOptions: DevExpress.ui.dxSelectBoxOptions = {\n searchEnabled: true,\n showClearButton: true,\n displayExpr: \"Name\",\n valueExpr: \"Id\",\n bindingOptions: {\n readOnly: \"model._IsVerwendet || model.IdGeschaeftspartner\",\n value: \"model.IdPerson\"\n }\n };\n startOptions: DevExpress.ui.dxDateBoxOptions = {\n displayFormat: this._globalizationService.getFormatterParser(\"d\"),\n showClearButton: true,\n bindingOptions: {\n readOnly: \"model._IsVerwendet\",\n value: \"model.Start\"\n },\n onValueChangedByUser: () => {\n this.createTerminDataSource();\n }\n };\n endeOptions: DevExpress.ui.dxDateBoxOptions = {\n displayFormat: this._globalizationService.getFormatterParser(\"d\"),\n showClearButton: true,\n bindingOptions: {\n readOnly: \"model._IsVerwendet\",\n value: \"model.Ende\"\n },\n onValueChangedByUser: () => {\n this.createTerminDataSource();\n }\n };\n nichtZurAuswahlOptions: DevExpress.ui.dxCheckBoxOptions = {\n text: \"nicht mehr zur Auswahl anzeigen\",\n bindingOptions: {\n value: \"model.NichtMehrZurAuswahl\"\n }\n };\n validationGroup: IdxValidationGroupComponent;\n\n speichernCommand: ICommandData = {\n id: \"speichernCommand\",\n icon: \"fas fa-save\",\n tooltip: \"base.save\",\n sortIndex: 1000,\n isVisible: true,\n execute: () => {\n if (!this.validate()) {\n return;\n }\n\n this.saveSchnupperterminTag();\n }\n };\n loeschenCommand: ICommandData = {\n id: \"loeschenCommand\",\n icon: \"fas fa-trash-alt\",\n tooltip: \"base.delete\",\n sortIndex: 1050,\n isVisible: true,\n execute: async() => {\n const r = await this._dialogConfirmService.show({\n title: this._localizationService.translateOnce(\"base.question\"),\n message: this._localizationService.translateOnce(\"base.sure_delete_question\")\n });\n \n if (!r) {\n return;\n }\n\n this.deleteSchnupperterminTag();\n }\n };\n\n bind() {\n this.scope = {\n bindingContext: this,\n overrideContext: null\n };\n this.scopeContainer = new ScopeContainer(this.scope);\n\n this._simpleWidgetCreatorService.updatePopupOptions({\n idToolbar: \"schnupperterminTagToolbar\",\n caption: \"schnuppertermin.schnuppertermin-tage\",\n scopeContainer: this.scopeContainer,\n options: this.popupOptions,\n commands: [this.speichernCommand, this.loeschenCommand]\n });\n\n this.createSchuleDataSource();\n this.createGeschaeftspartnerDataSource();\n this.createPersonDataSource();\n\n this.bezeichnungOptions[\"validators\"] = [this.createRequiredRule(\"Bezeichnung\")];\n this.typOptions[\"validators\"] = [this.createRequiredRule(\"Typ\")];\n this.startOptions[\"validators\"] = [this.createRequiredRule(\"Start\")];\n this.endeOptions[\"validators\"] = [this.createRequiredRule(\"Ende\")];\n }\n unbind() {\n this.scopeContainer.disposeAll();\n this.scopeContainer = null;\n }\n\n async show(options: ISchnupperterminTagShowOptions) {\n this._callbackOnChanges = options.callbackOnChanges;\n this.resetModel();\n\n const isKunde = this._startupService.startupInfo.Benutzer.CodeBenutzerrolle == \"KUNDE\";\n const isKundeSchule = this._startupService.startupInfo.Benutzer.CodeBenutzerrolle == \"KUNDE-SCHULE\";\n\n this.privateModel.isGeschaeftspartnerReadOnly = isKunde;\n this.privateModel.isSchuleReadOnly = isKundeSchule;\n\n if (options.idSchnupperterminTag) {\n await this.loadSchnupperterminTag(options.idSchnupperterminTag);\n } else {\n if (options.idGeschaeftspartner) {\n this.model.IdGeschaeftspartner = options.idGeschaeftspartner;\n }\n if (options.idPerson) {\n this.model.IdPerson = options.idPerson;\n }\n if (options.idSchule) {\n this.privateModel.idSchuleList.push(options.idSchule);\n }\n if (options.start) {\n this.model.Start = options.start;\n }\n if (options.ende) {\n this.model.Ende = options.ende;\n }\n }\n\n this.loeschenCommand.isVisible = !this.model._IsVerwendet && !!this.model.Id;\n \n this.createTerminDataSource();\n this.createLehrberufDataSource();\n\n await this.popup.instance.show();\n this.popup.instance.repaint();\n }\n close(hasChangedSomething: boolean = true) {\n if (hasChangedSomething && this._callbackOnChanges) {\n this._callbackOnChanges();\n }\n\n this.popup.instance.hide();\n }\n\n private createSchuleDataSource() {\n this.schuleOptions.dataSource = this._dataSourceService.createDataSource(\n this.scopeContainer, {\n webApiAction: \"ZIT/Simple/Geschaeftspartner\",\n webApiWhere: [\"IsGeschaeftspartnerSchule\", true],\n webApiOrderBy: [{ columnName: \"Name1\", sortOrder: 0 }]\n }\n );\n }\n private createGeschaeftspartnerDataSource() {\n this.geschaeftspartnerOptions.dataSource = this._dataSourceService.createDataSource(\n this.scopeContainer, {\n webApiAction: \"ZIT/Simple/Geschaeftspartner\",\n webApiOrderBy: [{ columnName: \"Name1\", sortOrder: 0 }]\n }\n );\n }\n private createTerminDataSource() {\n if (this.model && this.model.IdGeschaeftspartner && this.model.Start && this.model.Ende) {\n this.privateModel.terminDataSource = this._dataSourceService.createDataSource(\n this.scopeContainer, {\n webApiAction: \"ZIT/Objekte/Termin\",\n webApiColumns: [\"Id\", \"DisplayText\"],\n webApiWhere: [\n [\"Kopf.IdGeschaeftspartner\", this.model.IdGeschaeftspartner], \n [\"IsSchnuppertermin\", false],\n [\"Kopf.EndeDatum\", \">=\", this.model.Start],\n [\"Kopf.StartDatum\", \"<=\", this.model.Ende],\n [\"ObjektStatusCode\", \"VERTEILT\"]\n ],\n webApiOrderBy: [{ columnName: \"DisplayText\", sortOrder: 0 }]\n }\n );\n } else {\n this.privateModel.terminDataSource = [];\n } \n }\n private createPersonDataSource() {\n this.personOptions.dataSource = this._dataSourceService.createDataSource(\n this.scopeContainer, {\n webApiAction: \"ZIT/Objekte/Person\",\n webApiColumns: [\"Id\", \"Name\"],\n webApiOrderBy: [{ columnName: \"Name\", sortOrder: 0 }],\n filters: [{\n webApiCustomKey: \"MitBewerbungGeschaeftspartnerSchule\", webApiCustomValue: \"true\"\n }]\n }\n );\n }\n private createLehrberufDataSource() {\n if (this.model && this.model.IdGeschaeftspartner) {\n this.privateModel.lehrberufDataSource = this._dataSourceService.createDataSource(\n this.scopeContainer, {\n webApiAction: \"ZIT/Stammdaten/Lehrberuf\",\n webApiColumns: [\"Id\", \"Bezeichnung\"],\n webApiOrderBy: [{ columnName: \"SortNr\", sortOrder: 0 }, { columnName: \"Bezeichnung\", sortOrder: 0 }],\n filters: [\n { webApiCustomKey: \"IdGeschaeftspartner\", webApiCustomValue: this.model.IdGeschaeftspartner.toString() }\n ]\n }\n );\n } else {\n this.privateModel.lehrberufDataSource = [];\n }\n }\n private createRequiredRule(text: string) {\n return {\n type: \"required\",\n message: this._localizationService.translateOnce(\"forms.validator_required\", [text])\n };\n }\n\n private async loadSchnupperterminTag(id: number) {\n this.model = await this._restService.get({\n url: this._restService.getWebApiUrl(`ZIT/Stammdaten/SchnupperterminTag/${id}`),\n getOptions: {\n expand: {\n SchnupperterminTagZuSchulen: null,\n SchnupperterminTagZuLehrberufe: null\n }\n },\n increaseLoadingCount: true\n });\n\n this.privateModel.idSchuleList = this.model.SchnupperterminTagZuSchulen.map((i) => i.IdGeschaeftspartnerSchule);\n this.privateModel.idLehrberufList = this.model.SchnupperterminTagZuLehrberufe.map((i) => i.IdLehrberuf);\n }\n private async saveSchnupperterminTag() {\n this.convertTagBoxToObject(this.privateModel.idSchuleList, this.model.SchnupperterminTagZuSchulen, \"IdGeschaeftspartnerSchule\");\n this.convertTagBoxToObject(this.privateModel.idLehrberufList, this.model.SchnupperterminTagZuLehrberufe, \"IdLehrberuf\");\n\n await this._restService.post({\n url: this._restService.getWebApiUrl(\"ZIT/Stammdaten/SchnupperterminTag\"),\n data: this.model,\n increaseLoadingCount: true\n });\n\n DevExpress.ui.notify(\n this._localizationService.translateOnce(\"base.save_success\"),\n \"SUCCESS\",\n 3000\n );\n\n this.close();\n }\n private async deleteSchnupperterminTag() {\n await this._restService.delete({\n url: this._restService.getWebApiUrl(\"ZIT/Stammdaten/SchnupperterminTag/\"),\n id: this.model.Id,\n increaseLoadingCount: true\n });\n\n this.close();\n }\n private convertTagBoxToObject(idList: number[], dataList: any[], property: string) {\n for (const id of idList) {\n const exists = dataList.some((i) => i[property] == id);\n if (exists) {\n continue;\n }\n\n const newObj = {};\n newObj[property] = id;\n dataList.push(newObj);\n }\n\n const deleteIndex: number[] = [];\n dataList.forEach((item, index) => {\n const exists = idList.some((i) => item[property] == i);\n if (exists) {\n return;\n }\n\n deleteIndex.push(index);\n });\n\n for (let i = deleteIndex.length - 1; i >= 0; i--) {\n dataList.splice(i, 1);\n }\n }\n private validate(): boolean {\n const validationResult = this.validationGroup.instance.validate();\n if (!validationResult.isValid) {\n DevExpress.ui.notify(\n validationResult.brokenRules[0].message,\n \"ERROR\",\n 3000\n );\n\n return false;\n }\n\n if (this.privateModel.idSchuleList.length == 0) {\n DevExpress.ui.notify(\n \"Es muss min. eine Schule ausgewählt werden\",\n \"ERROR\",\n 3000\n );\n\n return false;\n }\n\n if (this.model.Mindestdauer != void(0) && this.model.Standarddauer != void(0)) {\n if (this.model.Mindestdauer > this.model.Standarddauer) {\n DevExpress.ui.notify(\n \"Standarddauer kann nicht kleiner als Mindestdauer sein\",\n \"ERROR\",\n 3000\n );\n return false;\n }\n }\n if (this.model.Maximaldauer != void(0) && this.model.Standarddauer != void(0)) {\n if (this.model.Maximaldauer < this.model.Standarddauer) {\n DevExpress.ui.notify(\n \"Standarddauer kann nicht größer als Maximaldauer sein\",\n \"ERROR\",\n 3000\n );\n return false;\n }\n }\n if (this.model.Mindestdauer != void(0) && this.model.Maximaldauer != void(0)) {\n if (this.model.Mindestdauer > this.model.Maximaldauer) {\n DevExpress.ui.notify(\n \"Maximaldauer kann nicht kleiner als Minimaldauer sein\",\n \"ERROR\",\n 3000\n );\n return false;\n }\n }\n\n return true;\n }\n private resetModel() {\n this.model = {\n SchnupperterminTagZuLehrberufe: [],\n SchnupperterminTagZuSchulen: [],\n NichtMehrZurAuswahl: false\n };\n\n this.privateModel = {\n idSchuleList: [],\n idLehrberufList: [],\n isGeschaeftspartnerReadOnly: false,\n isSchuleReadOnly: false,\n terminDataSource: [],\n lehrberufDataSource: []\n };\n }\n}\n\nexport interface ISchnupperterminTagShowOptions {\n idSchnupperterminTag?: number;\n\n idGeschaeftspartner?: number;\n idSchule?: number;\n idPerson?: number;\n start?: Date;\n ende?: Date;\n\n callbackOnChanges?: {(): void};\n}\ninterface IModel {\n Id?: number;\n\n Bezeichnung?: string;\n IdGeschaeftspartner?: number;\n IdGeschaeftspartnerTermin?: number;\n IdPerson?: number;\n Typ?: SchnupperterminTagTyp;\n\n Start?: Date;\n Ende?: Date;\n\n Standarddauer?: number;\n Mindestdauer?: number;\n Maximaldauer?: number;\n MaxAnzahlTeilnehmer?: number;\n\n NichtMehrZurAuswahl: boolean;\n\n SchnupperterminTagZuSchulen?: {Id?: number; IdSchnupperterminTag?: number; IdGeschaeftspartnerSchule?: number}[];\n SchnupperterminTagZuLehrberufe?: {Id?: number; IdSchnupperterminTag?: number; IdLehrberuf?: number}[];\n\n _IsVerwendet?: boolean;\n}\ninterface IPrivateModel {\n idSchuleList?: number[];\n idLehrberufList?: number[];\n\n isGeschaeftspartnerReadOnly: boolean;\n isSchuleReadOnly: boolean;\n\n lehrberufDataSource: DevExpress.data.DataSource | any[];\n terminDataSource: DevExpress.data.DataSource | any[];\n}\nexport enum SchnupperterminTagTyp {\n Schule = 0,\n Individuell = 1,\n Geschaeftspartner = 2\n}","module.exports = \" \";","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.id, \".schnuppertermin-tag--popup-content {\\n padding: 12px;\\n}\\n\", \"\"]);\n// Exports\nmodule.exports = exports;\n","import { EventAggregator, Subscription } from \"aurelia-event-aggregator\";\nimport { autoinject, TaskQueue } from \"aurelia-framework\";\nimport { LocalizationService, ScopeContainer } from \"../../../framework/base/export\";\nimport { BenutzerTyp } from \"../../enumerations/export\";\nimport { IdxTextBoxComponent, IErklaerungsvideo } from \"../../interfaces/export\";\nimport { ErklaervideoService } from \"../../services/erklaervideo-service\";\nimport { SchnupperterminAuswahl } from \"../schnuppertermin-auswahl/schnuppertermin-auswahl\";\nimport { SchnupperterminErstellen } from \"../schnuppertermin-erstellen/schnuppertermin-erstellen\";\nimport { RestService } from \"./../../../framework/base/services/rest-service\";\nimport { ListView } from \"./../../../framework/forms/elements/list-view/list-view\";\nimport { IListViewOptions } from \"./../../../framework/forms/elements/list-view/list-view-options\";\nimport { IdxCheckBoxComponent, IdxNumberBoxComponent, IdxSelectBoxComponent } from \"./../../interfaces/dx-components\";\nimport { StartupService } from \"./../../services/startup-service\";\n\n@autoinject\nexport class Schnuppertermin {\n private _executeSucheSubscription: Subscription;\n private _DATASOURCEPAGESIZE: number = 48;\n\n constructor(\n private _taskQueue: TaskQueue,\n private _restService: RestService,\n private _startupService: StartupService,\n private _localizationService: LocalizationService,\n private _erklaervideoService: ErklaervideoService,\n private _eventAggregator: EventAggregator) {\n const benutzertyp = _startupService.startupInfo.Benutzer.Benutzertyp;\n\n const isAdminOrJuristischePerson = benutzertyp == BenutzerTyp.Administrator\n || benutzertyp == BenutzerTyp.JuristischePerson;\n\n this.isAdminOrJuristischePerson = isAdminOrJuristischePerson;\n }\n\n filterData: any;\n lehrberufe: any[];\n dataSource: DevExpress.data.DataSource = null;\n isAdminOrJuristischePerson: boolean;\n totalCount: number;\n erklaervideo: IErklaerungsvideo;\n schnupperterminErstellen: SchnupperterminErstellen;\n schnupperterminAuswahl: SchnupperterminAuswahl;\n scopeContainer: ScopeContainer;\n\n listView: ListView;\n listViewOptions: IListViewOptions = {\n useDefaultListItemStyle: false,\n itemClass: \"col-xs-12 col-sm-6 col-lg-4 col-xl-3\"\n };\n\n geschaeftspartnerTextBox: IdxTextBoxComponent;\n geschaeftspartnerTextBoxOptions: DevExpress.ui.dxTextBoxOptions = {\n onValueChangedByUser: (e: any) => this.onValueChangedByUser(e.value, \"Geschaeftspartner\")\n };\n\n lehrberufSelectBox: IdxSelectBoxComponent;\n lehrberufSelectBoxOptions: DevExpress.ui.dxSelectBoxOptions = {\n valueExpr: \"Bezeichnung\",\n displayExpr: \"Bezeichnung\",\n showClearButton: true,\n searchEnabled: true,\n acceptCustomValue: true,\n onValueChangedByUser: (e: any) => this.onValueChangedByUser(e.value, \"Lehrberuf\"),\n onCustomItemCreating(e: any) {\n e.customItem = {\n Bezeichnung: e.text\n };\n }\n };\n\n ortTextBox: IdxTextBoxComponent;\n ortTextBoxOptions: DevExpress.ui.dxTextBoxOptions = {\n onValueChangedByUser: (e: any) => this.onValueChangedByUser(e.value, \"Ort\")\n };\n\n umkreisNumberBox: IdxNumberBoxComponent;\n umkreisNumberBoxOptions: DevExpress.ui.dxNumberBoxOptions = {\n min: 0,\n max: 10000,\n value: null,\n onValueChangedByUser: (e: any) => this.onValueChangedByUser(e.value, \"Umkreis\")\n };\n\n merklisteCheckBox: IdxCheckBoxComponent;\n merklisteCheckBoxOptions: DevExpress.ui.dxCheckBoxOptions = {\n text: this._localizationService.translateOnce(\"schnuppertermin.merkliste\"),\n onValueChangedByUser: (e: any) => { this.onValueChangedByUser(e.value, \"Merkliste\"); }\n };\n\n meineSchnuppertermineCheckBox: IdxCheckBoxComponent;\n meineSchnuppertermineCheckBoxOptions: DevExpress.ui.dxCheckBoxOptions = {\n text: this._localizationService.translateOnce(\"schnuppertermin.meine-schnuppertermine\"),\n onValueChangedByUser: (e: any) => { this.onValueChangedByUser(e.value, \"MeineSchnuppertermine\"); }\n };\n\n bind() {\n this.scopeContainer = new ScopeContainer({\n bindingContext: this,\n overrideContext: null\n });\n\n this.filterData = {\n Umkreis: 0\n };\n\n this.createSchnupperterminDataSource();\n this.erklaervideo = this._erklaervideoService.getErklaerungsvideo(\"SCHNUPPERTERMINMASKE\");\n this.loadLehrberufe();\n }\n\n unbind() {\n this.scopeContainer.disposeAll();\n this.scopeContainer = null;\n }\n\n attached() {\n this._executeSucheSubscription = this._eventAggregator.subscribe(\n \"schnuppertermin:refresh-list\",\n () => this.executeSuche());\n }\n\n detached() {\n this._executeSucheSubscription.dispose();\n this._executeSucheSubscription = null;\n }\n\n onShowErstellen(e: CustomEvent) {\n e.stopPropagation();\n e.preventDefault();\n\n const openSchnuppertermin = (idEventTeilnehmer) => {\n this.schnupperterminErstellen.show({\n idStelleninserat: e.detail.idStelleninserat,\n idEventTeilnehmer: idEventTeilnehmer\n });\n };\n\n if (e.detail.idEventTeilnehmer) {\n openSchnuppertermin(e.detail.idEventTeilnehmer);\n } else {\n this.schnupperterminAuswahl.evalIdEventTeilnehmer({\n idStelleninserat: e.detail.idStelleninserat,\n callback: (idEventTeilnehmer) => openSchnuppertermin(idEventTeilnehmer)\n });\n }\n }\n \n onHilfeClick() {\n this._erklaervideoService.erklaerungsvideoAction(this.erklaervideo)();\n }\n\n private executeSuche() {\n this._taskQueue.queueTask(() => {\n this.listView.refresh(false);\n });\n }\n\n private onValueChangedByUser(value: any, property: string) {\n this.filterData[property] = value;\n\n this.executeSuche();\n }\n\n private async createSchnupperterminDataSource() {\n this.dataSource = new DevExpress.data.DataSource(\n new DevExpress.data.CustomStore({\n load: async(e) => {\n this.filterData.Take = e.take;\n this.filterData.Skip = e.skip;\n\n const data: ISchnupperterminContainer = await this._restService.post({\n url: this._restService.getApiUrl(\"ZIT/Schnuppertermin/SchnupperterminData\"),\n data: this.filterData,\n increaseLoadingCount: true\n });\n\n this.totalCount = data.TotalElementCount;\n\n return {\n data: data.SchnupperterminHelperList,\n totalCount: data.TotalElementCount\n };\n }\n })\n );\n\n this.dataSource.pageSize(this._DATASOURCEPAGESIZE);\n this.listViewOptions.dataSource = this.dataSource;\n }\n\n private async loadLehrberufe() {\n this.lehrberufe = await this._restService.get({\n url: this._restService.getWebApiUrl(\"ZIT/Stammdaten/Lehrberuf\"),\n getOptions: {\n orderBy: [{ columnName: \"Bezeichnung\", sortOrder: 0 }]\n }\n });\n\n if (this.lehrberufSelectBox) {\n this.lehrberufSelectBox.instance.option(\"dataSource\", this.lehrberufe);\n } else {\n this.lehrberufSelectBoxOptions.dataSource = this.lehrberufe;\n }\n }\n}\n\nexport interface ISchnupperterminContainer {\n SchnupperterminHelperList: ISchnuppertermin[];\n TotalElementCount: number;\n}\nexport interface ISchnuppertermin {\n IdStelleninserat: number;\n IdGeschaeftspartner: number;\n IdEventTeilnehmer: number;\n IdStornoGrund: number;\n IdLehrberuf: number;\n IsTerminBestaetigt: boolean;\n TerminBestaetigtDatum: string;\n Geschaeftspartner: string;\n UrlGeschaeftspartner: string;\n Ort: string;\n GoogleKartenAdresse: string;\n BezeichnungExtern: string;\n Lehrberuf: string;\n LehrberufUrl: string;\n Ansprechperson: string;\n AnsprechpersonTelefonnummer: string;\n AnsprechpersonAlternativeTelefonnummer: string;\n Telefonnummer: string;\n TelefonnummerClickToCall: string;\n GeschaeftspartnerHasGebuchtesPackage: boolean;\n ShowKundenlogo: boolean;\n DMSLinkKundenlogo: string;\n UrlStelleninserat: string;\n SortDatum: Date;\n IsMerkerAktiv: boolean;\n HasDokument: boolean;\n SchnupperterminAnfrageart: string;\n KeineDirekteKontaktaufnahmeErforderlich: boolean;\n AnzTermine: number;\n ErstellungSchnupperterminVerhindern: boolean;\n VeroeffentlichungTyp: number;\n}\n","module.exports = \" \";","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.id, \".schnuppertermin-content .schnuppertermin-filter {\\n display: flex;\\n margin: 6px;\\n}\\n.schnuppertermin-content .schnuppertermin-filter > *:not(:first-child) {\\n margin-left: 12px;\\n display: flex;\\n flex-direction: column;\\n}\\n.schnuppertermin-content .schnuppertermin-filter > div > div:first-child {\\n padding-bottom: 3px;\\n}\\n.schnuppertermin-content .schnuppertermin-filter-grow {\\n flex-grow: 1;\\n}\\n.schnuppertermin-content .schnuppertermin-filter-auto {\\n flex-shrink: 0;\\n}\\n.schnuppertermin-content .schnuppertermin-filter-center-vertical {\\n display: flex;\\n flex-grow: 1;\\n align-items: center;\\n}\\n.schnuppertermin-content .schnuppertermin-infotext-center {\\n text-align: center;\\n}\\n.schnuppertermin-content h3 {\\n margin: 0 6px 12px 6px;\\n}\\n.schnuppertermin-content .schnuppertermin-info {\\n display: flex;\\n align-items: center;\\n margin: 0 6px;\\n}\\n.schnuppertermin-content .schnuppertermin-info div:not(:last-child) {\\n margin-right: 12px;\\n}\\n.schnuppertermin-content .schnuppertermin-info-detail {\\n margin: 12px 0px 12px 0px;\\n}\\n.schnuppertermin-content .schnuppertermin-info-detail > p {\\n margin: 2px 0px 0px 6px;\\n}\\n@media (max-width: 768px) {\\n .schnuppertermin-content .schnuppertermin-filter {\\n display: block;\\n }\\n .schnuppertermin-content .schnuppertermin-filter > *:not(:first-child) {\\n margin-left: 0;\\n margin-top: 12px;\\n }\\n}\\n\", \"\"]);\n// Exports\nmodule.exports = exports;\n","import { autoinject, bindable, computedFrom, observable } from \"aurelia-framework\";\nimport * as moment from \"moment\";\nimport { DataSourceService, JsonService, LocalizationService, RestService } from \"../../../framework/base/services/export\";\nimport { LocationService } from \"../../../framework/base/services/location-service\";\nimport { FormBase } from \"../../../framework/forms/classes/form-base\";\nimport { ListView } from \"../../../framework/forms/elements/list-view/export\";\nimport { ContextMenu } from \"../../../framework/forms/export\";\nimport { BenutzeraccountTyp, BenutzerTyp, SucheViewTyp } from \"../../enumerations/export\";\nimport { TerminTyp } from \"../../enumerations/termin-typ\";\nimport { IdxDataGridComponent, IStatusChangeResultData } from \"../../interfaces/export\";\nimport { AufgabeService } from \"../../services/aufgabe-service\";\nimport { BenutzereinstellungenService } from \"../../services/benutzereinstellungen-service\";\nimport { CustomEditPopupService } from \"../../services/custom-edit-popup-service\";\nimport { BerechtigungService, DownloadService, FormRefreshService, ObjektExportEigenschaftService, StartupService } from \"../../services/export\";\nimport { FormPopupService } from \"../../services/form-popup-service\";\nimport { StelleninseratService } from \"../../services/stelleninserat-service\";\nimport { EinsatzvorbereitungHinzufuegen } from \"../einsatzvorbereitung-hinzufuegen/einsatzvorbereitung-hinzufuegen\";\nimport { SchnupperterminTagList } from \"../schnuppertermin-tag-list/schnuppertermin-tag-list\";\nimport { StelleninseratAuswahl } from \"../stelleninserat-auswahl/stelleninserat-auswahl\";\nimport { TerminReaktion } from \"./../../enumerations/termin-reaktion\";\nimport { Terminverteilungstyp } from \"./../../enumerations/terminverteilungs-typ\";\nimport { NachrichtService } from \"./../../services/nachricht-service\";\nimport { BenutzerSperren } from \"./../benutzer-sperren/benutzer-sperren\";\nimport { BewerbungUmbuchen } from \"./../bewerbung-umbuchen/bewerbung-umbuchen\";\nimport { BewerbungstypAendern } from \"./../bewerbungstyp-aendern/bewerbungstyp-aendern\";\nimport { DokumentLautVorlageErstellen } from \"./../dokument-laut-vorlage-erstellen/dokument-laut-vorlage-erstellen\";\nimport { MarkerMultiObjekt } from \"./../marker-multi-objekt/marker-multi-objekt\";\nimport { NachrichtErstellen } from \"./../nachricht-erstellen/nachricht-erstellen\";\nimport { PersonDossier } from \"./../person-dossier/person-dossier\";\nimport { StandardStelleninseratErstellen } from \"./../standard-stelleninserat/standard-stelleninserat-erstellen\";\nimport { StatusAendern } from \"./../status-aendern/status-aendern\";\nimport { TableauUtils } from \"../../views/tableau/tableau-utils\";\nimport { ViewType as TableauViewType } from \"../../views/tableau/elements/tableau/tableau\";\n\n@autoinject\nexport class Share {\n private NOTIFY_TIMEOUT= 3000;\n private ID_MANDANT_HEARTBASE = 5;\n\n constructor(\n private _element: Element,\n private _benutzereinstellungenService: BenutzereinstellungenService,\n private _stelleninseratService: StelleninseratService,\n private _dataSourceService: DataSourceService,\n private _downloadService: DownloadService,\n private _jsonService: JsonService,\n private _localizationService: LocalizationService,\n private _objektExportEigenschaftService: ObjektExportEigenschaftService,\n private _startupService: StartupService,\n private _customEditPopupService: CustomEditPopupService,\n private _locationService: LocationService,\n private _restService: RestService,\n private _nachrichtService: NachrichtService,\n private _formRefreshService: FormRefreshService,\n private _berechtigungService: BerechtigungService,\n private _aufgabeService: AufgabeService,\n private _formPopupService: FormPopupService\n ) { }\n\n @bindable @observable viewTyp: SucheViewTyp;\n @bindable dataGrid: IdxDataGridComponent;\n @bindable listView: ListView;\n @bindable @observable currentObjekt: any;\n @bindable @observable objektFullName: string;\n @bindable isStatusAendernHidden: boolean;\n\n markerMultiObjekt: MarkerMultiObjekt;\n personDossier: PersonDossier;\n benutzerSperren: BenutzerSperren;\n statusAendern: StatusAendern;\n bewerbungUmbuchen: BewerbungUmbuchen;\n standardStelleninseratErstellen: StandardStelleninseratErstellen;\n dokumentLautVorlageErstellen: DokumentLautVorlageErstellen;\n nachrichtErstellen: NachrichtErstellen;\n einsatzvorbereitungHinzufuegen: EinsatzvorbereitungHinzufuegen;\n schnupperterminTagList: SchnupperterminTagList;\n stelleninseratAuswahl: StelleninseratAuswahl;\n bewerbungstypAendern: BewerbungstypAendern;\n\n @bindable form: FormBase;\n selectedKeys: number[];\n canShare: boolean;\n\n @computedFrom(\"objektFullName\")\n get canCreatePersonenDossier() {\n const canUsePersonenDossier = this._startupService.startupInfo.Benutzer.CanUsePersonenDossier;\n\n if (!canUsePersonenDossier) {\n return false;\n }\n\n if (this.isTableau) {\n const tableau: TableauUtils = this.form.functions[\"$f_TableauUtils\"];\n\n switch (tableau.currentViewType) {\n case TableauViewType.TerminEmpfaenger:\n case TableauViewType.EventTeilnehmer:\n case TableauViewType.EventSchnuppertermin:\n case TableauViewType.Schnuppertermin: {\n return true;\n }\n default: {\n return false;\n }\n }\n } else {\n switch (this.objektFullName) {\n case \"TIP.ZIT.Business.Entities.Objekte.Personen.Person\":\n case \"TIP.ZIT.Business.Entities.Objekte.Bewerbungen.Bewerbung\":\n case \"TIP.ZIT.Business.Entities.Objekte.Events.EventTeilnehmer\":\n case \"TIP.ZIT.Business.Entities.Objekte.Disposition.DispoPlanstellePersonenzuteilung\": {\n return true;\n }\n default: {\n return false;\n }\n }\n }\n }\n @computedFrom(\"objektFullName\")\n get canBenutzeraccountVorbereitet() {\n const canBenutzeraccountAktivieren = this._startupService.startupInfo.Benutzer.CanBenutzeraccountAktivieren;\n\n if (!canBenutzeraccountAktivieren) {\n return false;\n }\n\n switch (this.objektFullName) {\n case \"TIP.ZIT.Business.Entities.Berechtigungen.Benutzer\": {\n break;\n }\n default: {\n return false;\n }\n }\n\n if (!this.currentObjekt) {\n return false;\n }\n\n return !!this.currentObjekt.CanBenutzeraccountVorbereitet;\n }\n @computedFrom(\"objektFullName\")\n get canBenutzeraccountAktivieren() {\n const canBenutzeraccountAktivieren = this._startupService.startupInfo.Benutzer.CanBenutzeraccountAktivieren;\n\n if (!canBenutzeraccountAktivieren) {\n return false;\n }\n\n switch (this.objektFullName) {\n case \"TIP.ZIT.Business.Entities.Berechtigungen.Benutzer\":\n case \"TIP.ZIT.Business.Entities.Objekte.Personen.Person\":\n case \"TIP.ZIT.Business.Entities.Objekte.Ansprechpersonen.Ansprechperson\":\n case \"TIP.ZIT.Business.Entities.Objekte.Bewerbungen.Bewerbung\": {\n break;\n }\n default: {\n return false;\n }\n }\n\n //Hier wird nicht separat geprüft, sondern erst beim Server beim Abarbeiten\n if (this.viewTyp) {\n return true;\n }\n\n return !!this.currentObjekt.CanBenutzeraccountAktivieren;\n }\n @computedFrom(\"objektFullName\")\n get canBenutzeraccountAktivierenMail() {\n const canBenutzeraccountAktivieren = this._startupService.startupInfo.Benutzer.CanBenutzeraccountAktivieren;\n\n if (!canBenutzeraccountAktivieren) {\n return false;\n }\n\n switch (this.objektFullName) {\n case \"TIP.ZIT.Business.Entities.Berechtigungen.Benutzer\":\n case \"TIP.ZIT.Business.Entities.Objekte.Personen.Person\":\n case \"TIP.ZIT.Business.Entities.Objekte.Ansprechpersonen.Ansprechperson\":\n case \"TIP.ZIT.Business.Entities.Objekte.Bewerbungen.Bewerbung\": {\n break;\n }\n default: {\n return false;\n }\n }\n\n if (!this.currentObjekt) {\n return false;\n }\n\n return !!this.currentObjekt.CanBenutzeraccountAktivierenMail\n && this.currentObjekt.IdBenutzer;\n }\n @computedFrom(\"objektFullName\")\n get canBenutzerOeffnen() {\n switch (this.objektFullName) {\n case \"TIP.ZIT.Business.Entities.Objekte.Personen.Person\":\n case \"TIP.ZIT.Business.Entities.Objekte.Ansprechpersonen.Ansprechperson\": {\n break;\n }\n default: {\n return false;\n }\n }\n\n if (!this.currentObjekt) {\n return false;\n }\n if (!this.currentObjekt.IdBenutzer) {\n return false;\n }\n\n if (!this._berechtigungService.hasBerechtigungModul(\"zit/views/berechtigungen/benutzer/benutzer-edit-form\")) {\n return false;\n }\n\n return true;\n }\n @computedFrom(\"objektFullName\")\n get canMarkerSetzen() {\n if (!this._startupService.startupInfo.Benutzer.CanUseMarkers) {\n return false;\n }\n if (!this.objektFullName) {\n return false;\n }\n if (!this.objektFullName.startsWith(\"TIP.ZIT.Business.Entities.Objekte\")) {\n return false;\n }\n\n return true;\n }\n @computedFrom(\"objektFullName\")\n get canBenutzerZusammenfuehren() {\n if (this.objektFullName != \"TIP.ZIT.Business.Entities.Berechtigungen.Benutzer\") {\n return false;\n }\n if (!this.currentObjekt) {\n return false;\n }\n if (!this.currentObjekt._HasLoginprofilNatuerlichePerson) {\n return false;\n }\n\n return true;\n }\n @computedFrom(\"objektFullName\")\n get canBenutzeraccountSperren() {\n const canBenutzeraccountSperren = this._startupService.startupInfo.Benutzer.CanBenutzeraccountSperren;\n\n if (!canBenutzeraccountSperren) {\n return false;\n }\n\n switch (this.objektFullName) {\n case \"TIP.ZIT.Business.Entities.Berechtigungen.Benutzer\": {\n break;\n }\n default: {\n return false;\n }\n }\n\n if (!this.currentObjekt) {\n return true;\n }\n\n return !!this.currentObjekt.CanBenutzeraccountSperren;\n }\n @computedFrom(\"objektFullName\")\n get canDokumentErstellen() {\n if (!this.objektFullName) {\n return false;\n }\n\n return this._startupService.startupInfo.Benutzer.DruckvorlageObjektFullNameList\n && this._startupService.startupInfo.Benutzer.DruckvorlageObjektFullNameList.indexOf(this.objektFullName) >= 0;\n }\n @computedFrom(\"objektFullName\")\n get canStelleninseratVorschauAnzeigen() {\n const model = this.form.models.data.$m_Stelleninserat;\n\n return this.objektFullName\n ? this.objektFullName === \"TIP.ZIT.Business.Entities.Objekte.Stelleninserate.Stelleninserat\" && model && model.StelleninseratVorschauUrl\n : false;\n }\n @computedFrom(\"objektFullName\")\n get canCreateStandardStelleninserat() {\n const canStandardStelleninseratErstellen = this._startupService.startupInfo.Benutzer.CanStandardStelleninseratErstellen;\n if (!canStandardStelleninseratErstellen) {\n return false;\n }\n\n return this.objektFullName\n ? this.objektFullName === \"TIP.ZIT.Business.Entities.Objekte.Geschaeftspartner.Geschaeftspartner\"\n : false;\n }\n @computedFrom(\"currentObjekt\")\n get canChangeStatus(): boolean {\n if (!this.currentObjekt) {\n return true;\n }\n\n return !!this.currentObjekt._CanChangeObjektStatus;\n }\n @computedFrom(\"currentObjekt\")\n get canCopyStelleninserat(): boolean {\n switch (this._startupService.startupInfo.Benutzer.Benutzertyp) {\n case BenutzerTyp.Administrator:\n case BenutzerTyp.InternerBenutzer: {\n return this.objektFullName === \"TIP.ZIT.Business.Entities.Objekte.Stelleninserate.Stelleninserat\";\n }\n default: {\n return false;\n }\n }\n }\n @computedFrom(\"objektFullName\")\n get canTerminErstellen() {\n const canTerminErstellen = this._startupService.startupInfo.Benutzer.CanTerminErstellen;\n\n if (!canTerminErstellen) {\n return false;\n }\n\n switch (this.objektFullName) {\n case \"TIP.ZIT.Business.Entities.Objekte.Stelleninserate.Stelleninserat\":\n case \"TIP.ZIT.Business.Entities.Objekte.Bewerbungen.Bewerbung\":\n case \"TIP.ZIT.Business.Entities.Objekte.Disposition.DispoPlanstellePersonenzuteilung\": {\n return true;\n }\n default: {\n return false;\n }\n }\n }\n @computedFrom(\"objektFullName\")\n get canMassennachrichtenErstellen() {\n return this._nachrichtService.canMassennachrichtErstellen(this.objektFullName);\n }\n @computedFrom(\"objektFullName\")\n get canBewerbungUmbuchen() {\n switch (this.objektFullName) {\n case \"TIP.ZIT.Business.Entities.Objekte.Stelleninserate.Stelleninserat\":\n case \"TIP.ZIT.Business.Entities.Objekte.Bewerbungen.Bewerbung\": {\n return true;\n }\n default: {\n return false;\n }\n }\n }\n @computedFrom(\"objektFullName\")\n get canEinsatzvorbereitungHinzufuegen() {\n if (this._startupService.startupInfo.Benutzer.Benutzertyp == BenutzerTyp.NatuerlichePerson) {\n return false;\n }\n\n switch (this.objektFullName) {\n case \"TIP.ZIT.Business.Entities.Objekte.Disposition.DispoPlanstellePersonenzuteilung\": {\n return true;\n }\n default: {\n return false;\n }\n }\n }\n @computedFrom(\"objektFullName\")\n get canShowSchnupperterminTagList() {\n const benutzerrolleList = [\"ADMIN\", \"KUNDE-SCHULE\", \"KUNDE\"];\n if (benutzerrolleList.indexOf(this._startupService.startupInfo.Benutzer.CodeBenutzerrolle) < 0) {\n return false;\n }\n\n if (!this._startupService.startupInfo.Mandant.ShowSchnupperterminMaske) {\n return false;\n }\n\n if (!this.isTableau) {\n return false;\n }\n\n switch (this.objektFullName) {\n case \"TIP.ZIT.Business.Entities.Objekte.Termine.Termin\": {\n return true;\n }\n default: {\n return false;\n }\n }\n }\n @computedFrom(\"objektFullName\")\n get canBewerbungstypStelleninseratAendern() {\n if (this.objektFullName != \"TIP.ZIT.Business.Entities.Objekte.Stelleninserate.Stelleninserat\") {\n return false;\n }\n if (this._startupService.startupInfo.Benutzer.CodeBenutzerrolle != \"ADMIN\") {\n return false;\n }\n return true;\n }\n @computedFrom(\"objektFullName\")\n get canPlanstelleKopieren() {\n if (this._startupService.startupInfo.Benutzer.Benutzertyp == BenutzerTyp.NatuerlichePerson) {\n return false;\n }\n\n if (!this.form) {\n return false;\n }\n if (this.form.id != \"dispo-planstelle-edit\") {\n return false;\n }\n\n switch (this.objektFullName) {\n case \"TIP.ZIT.Business.Entities.Objekte.Disposition.DispoPlanstelle\": {\n return true;\n }\n default: {\n return false;\n }\n }\n }\n @computedFrom(\"objektFullName\")\n get canCreateSchueler() {\n const benutzerrolleList = [\"ADMIN\", \"KUNDE-SCHULE\", \"KUNDE\"];\n if (benutzerrolleList.indexOf(this._startupService.startupInfo.Benutzer.CodeBenutzerrolle) < 0) {\n return false;\n }\n\n if (!this._startupService.startupInfo.Mandant.ShowSchnupperterminMaske) {\n return false;\n }\n\n switch (this.objektFullName) {\n case \"TIP.ZIT.Business.Entities.Objekte.Termine.Termin\": {\n return true;\n }\n default: {\n return false;\n }\n }\n }\n @computedFrom(\"objektFullName\")\n get canBewerbungsseiteOeffnen() {\n switch (this.objektFullName) {\n case \"TIP.ZIT.Business.Entities.Objekte.Stelleninserate.Stelleninserat\": {\n break;\n }\n default: {\n return false;\n }\n }\n\n if (!this.currentObjekt) {\n return false;\n }\n if (!this.currentObjekt._UrlBewerbung) {\n return false;\n }\n\n return true;\n }\n @computedFrom(\"objektFullName\")\n get canshowLoginprotokoll() {\n switch (this.objektFullName) {\n case \"TIP.ZIT.Business.Entities.Berechtigungen.Benutzer\": {\n return true;\n }\n default: {\n return false;\n }\n }\n }\n @computedFrom(\"objektFullName\")\n get canTerminEmpfEinschaetzungErstellen() {\n switch (this.objektFullName) {\n case \"TIP.ZIT.Business.Entities.Objekte.Termine.Termin\": {\n break;\n }\n default: {\n return false;\n }\n }\n\n if (this.form.id != \"termin-heartbase-edit\" && this.form.id != \"termin-heartbase-read\") {\n return false;\n }\n\n if (!this.currentObjekt) {\n return false;\n }\n\n if (this.currentObjekt.Kopf.Typ != TerminTyp.College) {\n return false;\n }\n\n const benutzerrolleCodes = [\"ADMIN_HB\", \"ADMIN\", \"TRAINER\", \"TEAM\"];\n if (this._startupService.startupInfo.Benutzer.Benutzertyp != BenutzerTyp.Administrator && benutzerrolleCodes.indexOf(this._startupService.startupInfo.Benutzer.CodeBenutzerrolle) < 0) {\n return false;\n }\n\n return true;\n }\n @computedFrom(\"objektFullName\")\n get canTerminPersonAusStelleninseratHinzu() {\n switch (this.objektFullName) {\n case \"TIP.ZIT.Business.Entities.Objekte.Termine.Termin\": {\n break;\n }\n default: {\n return false;\n }\n }\n\n if (!this.currentObjekt) {\n return false;\n }\n\n if (!this.currentObjekt.Kopf) {\n return false;\n }\n if (!this.currentObjekt.Kopf.Stelleninserate || this.currentObjekt.Kopf.Stelleninserate.length == 0) {\n return false;\n }\n\n const benutzerrolleCodes = [\"ADMIN_HB\", \"ADMIN\", \"TRAINER\", \"TEAM\"];\n if (this._startupService.startupInfo.Benutzer.Benutzertyp != BenutzerTyp.Administrator && benutzerrolleCodes.indexOf(this._startupService.startupInfo.Benutzer.CodeBenutzerrolle) < 0) {\n return false;\n }\n\n return true;\n }\n @computedFrom(\"objektFullName\")\n get canAufgabeZuweisen() {\n switch (this.objektFullName) {\n case \"TIP.ZIT.Business.Entities.Objekte.Bewerbungen.Bewerbung\":\n case \"TIP.ZIT.Business.Entities.Objekte.Personen.Person\":\n case \"TIP.ZIT.Business.Entities.Objekte.Ansprechpersonen.Ansprechperson\":\n case \"TIP.ZIT.Business.Entities.Objekte.Stelleninserate.Stelleninserat\":\n case \"TIP.ZIT.Business.Entities.Objekte.Termine.Termin\": {\n break;\n }\n default: {\n return false;\n }\n }\n\n if (!this._startupService.startupInfo.CanAufgabenZuweisen) {\n return false;\n }\n if (!this._berechtigungService.hasBerechtigung(\"TIP.ZIT.Business.Entities.Objekte.Aufgaben.Aufgabe\")) {\n return false;\n }\n\n return true;\n }\n @computedFrom(\"objektFullName\")\n get canAusbilderErsetzen() {\n if (this.objektFullName != \"TIP.ZIT.Business.Entities.Objekte.Ansprechpersonen.Ansprechperson\") {\n return false;\n }\n\n if (!this.currentObjekt) {\n return false;\n }\n if (!this.currentObjekt.IsAusbilder) {\n return false;\n }\n\n if (this._startupService.startupInfo.Mandant.IdMandant != this.ID_MANDANT_HEARTBASE) {\n return false;\n }\n\n const benutzertyp = this._startupService.startupInfo.Benutzer.Benutzertyp;\n if (benutzertyp != BenutzerTyp.Administrator && benutzertyp != BenutzerTyp.InternerBenutzer) {\n return false;\n }\n\n return true;\n }\n @computedFrom(\"objektFullName\")\n get canCreateZiel() {\n if (this.objektFullName != \"TIP.ZIT.Business.Entities.Objekte.Termine.Termin\") {\n return false;\n }\n if (!this.currentObjekt) {\n return false;\n }\n if (!this.currentObjekt.Id) {\n return false;\n }\n if (!this._berechtigungService.hasBerechtigungNew(\"TIP.ZIT.Business.Entities.Objekte.Ziele.Ziel\")) {\n return false;\n }\n\n return true;\n }\n\n get isTableau() {\n return this.form.id == \"tableauList\";\n }\n\n bind(form: FormBase) {\n if (form instanceof FormBase) {\n this.form = form;\n }\n }\n attached() {\n this.refreshCanShare();\n }\n reloadData(reloadSuche: boolean = true) {\n switch (this.viewTyp) {\n case SucheViewTyp.table: {\n if (reloadSuche) {\n this.dataGrid.instance.refresh();\n }\n break;\n }\n case SucheViewTyp.list: {\n if (reloadSuche) {\n this.listView.refresh();\n }\n break;\n }\n default: {\n if (this.currentObjekt && this.form && this.form.models) {\n this.form.models.reloadAll();\n }\n break;\n }\n }\n }\n showCtxMenu(event: Event) {\n const ctxMenu = new ContextMenu();\n this.loadCtxMenuItems(ctxMenu);\n\n ctxMenu.show(event.target);\n }\n // tslint:disable-next-line: cyclomatic-complexity\n loadCtxMenuItems(ctxMenu: ContextMenu) {\n if (!ctxMenu) {\n return;\n }\n\n const benutzer = this._startupService.startupInfo.Benutzer;\n const hasViewTyp = !!this.viewTyp;\n const hasSelection = this.getSelectedKeys().length > 0;\n\n if (hasViewTyp) {\n ctxMenu.items.push({\n text: this._localizationService.translateOnce(\"share.alle_auswaehlen\"),\n execute: () => {\n this.selectAll();\n }\n });\n }\n\n if (hasSelection && hasViewTyp) {\n ctxMenu.items.push({\n text: this._localizationService.translateOnce(\"share.auswahl_entfernen\"),\n execute: () => {\n this.unselectAll();\n }\n });\n }\n if (hasSelection && hasViewTyp) {\n ctxMenu.items.push({\n beginGroup: true,\n text: this._localizationService.translateOnce(\"share.excel_export\"),\n execute: () => {\n this.exportExcel();\n }\n });\n }\n\n if (hasSelection && this.canStelleninseratVorschauAnzeigen) {\n ctxMenu.items.push({\n beginGroup: true,\n text: this._localizationService.translateOnce(\"share.stelleninserat_vorschau_anzeigen\"),\n execute: () => {\n this.stelleninseratVorschauAnzeigen();\n }\n });\n }\n\n if (hasSelection && this.canBenutzeraccountAktivierenMail) {\n ctxMenu.items.push({\n beginGroup: true,\n text: this._localizationService.translateOnce(\"share.benutzeraccount-aktivierungsmail-versenden\"),\n execute: () => {\n this.benutzeraccountAktivierenMail();\n }\n });\n }\n\n if (hasSelection && this.canBenutzerOeffnen) {\n ctxMenu.items.push({\n beginGroup: true,\n text: this._localizationService.translateOnce(\"share.benutzerdaten\"),\n execute: () => {\n this._locationService.goTo({\n url: `Berechtigungen/Benutzer/${this.currentObjekt.IdBenutzer}`,\n currentViewModel: this.form\n });\n }\n });\n }\n if (hasSelection && this.canMassennachrichtenErstellen) {\n ctxMenu.items.push({\n beginGroup: true,\n text: this._localizationService.translateOnce(\"share.nachricht_senden\"),\n execute: async() => {\n const r = await this.form.saveIfDirty();\n if (!r.isValid) {\n return;\n }\n\n this._nachrichtService.doNachrichtErstellenFromObjekt(this.getSelectedKeys(), this.objektFullName);\n }\n });\n }\n if (hasSelection && this.canCreatePersonenDossier) {\n ctxMenu.items.push({\n beginGroup: true,\n text: this._localizationService.translateOnce(\"share.dossier_export\"),\n execute: () => {\n this.showPersonDossierPopup();\n }\n });\n }\n if (hasSelection && this.canMarkerSetzen) {\n ctxMenu.items.push({\n beginGroup: true,\n text: this._localizationService.translateOnce(\"share.marker_setzen\"),\n execute: () => {\n this.showMarkers();\n }\n });\n }\n if (hasSelection && this.canBenutzeraccountVorbereitet) {\n ctxMenu.items.push({\n beginGroup: true,\n text: \"Benutzer auf \\\"vorbereitet\\\" zurücksetzen\",\n execute: () => {\n this.vorbereitetBenutzeraccountList();\n }\n });\n }\n if (hasSelection && this.canBenutzeraccountAktivieren) { \n ctxMenu.items.push({\n beginGroup: true,\n text: this._localizationService.translateOnce(\"share.benutzeraccount_aktiviern\"),\n execute: () => {\n this.activateBenutzeraccountList();\n }\n });\n }\n if (hasSelection && this.canBenutzeraccountSperren) {\n ctxMenu.items.push({\n beginGroup: true,\n text: this._localizationService.translateOnce(\"share.benutzeraccount_sperren\"),\n execute: () => {\n this.showBenutzerSperrenPopup();\n }\n });\n }\n\n if (hasSelection && this.canBenutzerZusammenfuehren) {\n ctxMenu.items.push({\n beginGroup: true,\n text: this._localizationService.translateOnce(\"share.benutzer-zusammenfuehren\"),\n execute: () => {\n this._element.dispatchEvent(new CustomEvent(\n \"on-benutzer-zusammenfuehren\", {\n bubbles: true,\n detail: {\n benutzer: this.currentObjekt\n }\n }\n ));\n }\n });\n }\n\n if (hasSelection && benutzer.CanStatusAendern && this.canChangeStatus && !this.isStatusAendernHidden) {\n ctxMenu.items.push({\n beginGroup: true,\n text: this._localizationService.translateOnce(\"share.status_aendern\"),\n execute: () => {\n this.showStatusAendernPopup();\n }\n });\n }\n if (hasSelection && this.canCopyStelleninserat) {\n ctxMenu.items.push({\n beginGroup: true,\n text: this._localizationService.translateOnce(\"share.stelleninserat_kopieren\"),\n execute: () => {\n this.copyStelleninserate();\n }\n });\n }\n if (hasSelection && this.canDokumentErstellen) {\n ctxMenu.items.push({\n beginGroup: true,\n text: this._localizationService.translateOnce(\"share.dokument_erstellen\"),\n execute: () => {\n this.showCreateDokumentLautVorlagePopup();\n }\n });\n }\n if (hasSelection && this.canCreateStandardStelleninserat) {\n ctxMenu.items.push({\n beginGroup: true,\n text: this._localizationService.translateOnce(\"share.standard_stelleninserat_erstellen\"),\n execute: () => {\n this.showCreateStandardStelleninseratPopup();\n }\n });\n }\n if (hasSelection && this.canBewerbungstypStelleninseratAendern) {\n ctxMenu.items.push({\n beginGroup: true,\n text: this._localizationService.translateOnce(\"share.bewerbungstyp-aendern\"),\n execute: () => {\n this.showBewerbungstypAendernPopup();\n }\n });\n }\n if (hasSelection && this.canTerminErstellen) {\n ctxMenu.items.push({\n beginGroup: true,\n text: this._localizationService.translateOnce(\"share.termin_erstellen\"),\n execute: () => {\n this.terminErstellen();\n }\n });\n }\n if (this.canBewerbungUmbuchen && !hasViewTyp && (benutzer.Benutzertyp != BenutzerTyp.NatuerlichePerson)) {\n ctxMenu.items.push({\n beginGroup: true,\n text: this._localizationService.translateOnce(\"share.bewerbung_umbuchen\"),\n execute: () => {\n this.selectedKeys = this.getSelectedKeys();\n this.bewerbungUmbuchen.showPopup(this.selectedKeys[0], this.form);\n }\n });\n }\n if (hasSelection && this.canBewerbungsseiteOeffnen) {\n ctxMenu.items.push({\n beginGroup: true,\n text: this._localizationService.translateOnce(\"share.bewerbungsseite-oeffnen\"),\n execute: () => {\n window.open(this.currentObjekt._UrlBewerbung, \"_blank\");\n }\n });\n }\n if (hasSelection && this.canEinsatzvorbereitungHinzufuegen) {\n ctxMenu.items.push({\n beginGroup: true,\n text: this._localizationService.translateOnce(\"share.einsatzvorbereitung_hinzufuegen\"),\n execute: () => {\n this.selectedKeys = this.getSelectedKeys();\n this.einsatzvorbereitungHinzufuegen.showPopup(this.selectedKeys);\n }\n });\n }\n if (hasSelection && this.canPlanstelleKopieren) {\n ctxMenu.items.push({\n beginGroup: true,\n text: this._localizationService.translateOnce(\"share.planstelle_kopieren\"),\n execute: () => {\n this.onPlanstelleKopieren();\n }\n });\n }\n if (hasSelection && this.canAusbilderErsetzen) {\n ctxMenu.items.push({\n beginGroup: true,\n text: this._localizationService.translateOnce(\"share.ausbilder-ersetzen\"),\n execute: () => {\n const date = moment()\n .startOf(\"day\")\n .toDate();\n\n const initialData: any = {\n gueltigVon: date\n };\n\n this._formPopupService.formPopup.show({\n titel: this._localizationService.translateOnce(\"share.ausbilder-ersetzen\"),\n data: initialData,\n formDef: \"ansprechpersonMitGueltigVon\",\n webApiFilters: [{\n webApiCustomKey: \"IdAnsprechpersonFuerGP\",\n webApiWhere: [\"IsAusbilder\", true],\n webApiCustomValue: this.currentObjekt.Id\n }],\n onFormSubmit: async(data) => {\n const u = {\n IdAnsprechpersonAlt: this.currentObjekt.Id,\n GueltigVon: data.gueltigVon,\n IdAnsprechpersonNeu: data.item.Id\n };\n const c = await this._restService.post({\n url: this._restService.getApiUrl(\"ZIT/Ansprechperson/AusbilderAendern\"),\n data: u\n });\n\n if (c) {\n DevExpress.ui.notify(c, \"ERROR\", this.NOTIFY_TIMEOUT);\n } else {\n DevExpress.ui.notify(\"Ausbilder wurde erfolgreich ersetzt\", \"SUCCESS\", this.NOTIFY_TIMEOUT);\n }\n }\n });\n }\n });\n }\n if (this.canShowSchnupperterminTagList) {\n ctxMenu.items.push({\n beginGroup: true,\n text: this._localizationService.translateOnce(\"schnuppertermin.schnuppertermin-tage\"),\n execute: () => {\n this.schnupperterminTagList.show({});\n }\n });\n }\n if (hasSelection && this.canAufgabeZuweisen) {\n ctxMenu.items.push({\n beginGroup: true,\n text: this._localizationService.translateOnce(\"share.aufgaben-zuweisen\"),\n execute: () => {\n this.selectedKeys = this.getSelectedKeys();\n this._aufgabeService.showZuweisen({\n idObjektList: this.selectedKeys\n });\n }\n });\n }\n if (hasSelection && this.canCreateZiel) {\n ctxMenu.items.push({\n beginGroup: true,\n text: this._localizationService.translateOnce(\"share.ziel-erstellen\"),\n execute: () => {\n this._locationService.goTo({\n url: \"Objekte/Ziel/0\",\n clearStack: false,\n currentViewModel: this.form,\n customOptions: {\n idUrsprungsobjekt: this.currentObjekt.Id\n },\n });\n }\n });\n }\n if (this.canTerminEmpfEinschaetzungErstellen) {\n ctxMenu.items.push({\n beginGroup: true,\n text: this._localizationService.translateOnce(\"termin.einschaetzung-erstellen\"),\n execute: () => {\n this._element.dispatchEvent(new CustomEvent(\n \"on-termin-einschaetzung-erstellen\", {\n bubbles: true\n }\n ));\n }\n });\n }\n if (this.canTerminPersonAusStelleninseratHinzu) {\n ctxMenu.items.push({\n beginGroup: true,\n text: this._localizationService.translateOnce(\"termin.person-aus-stelleninserat-hinzu\"),\n execute: () => {\n this._element.dispatchEvent(new CustomEvent(\n \"on-termin-person-aus-stelleninserat-hinz\", {\n bubbles: true\n }\n ));\n }\n });\n }\n if (this.canCreateSchueler) {\n ctxMenu.items.push({\n beginGroup: true,\n text: this._localizationService.translateOnce(\"share.schueler-anlegen\"),\n execute: () => {\n this.stelleninseratAuswahl.evalIdStelleninserat({\n onlySchule: true,\n callback: async(idStelleninserat) => {\n const r = await this._restService.get({\n url: this._restService.getWebApiUrl(\"ZIT/Objekte/Stelleninserat/\".concat(idStelleninserat.toString())),\n getOptions: {\n columns: [\"Id\"],\n customs: [{ key: \"AddBewerbungUrl\", value: true }]\n }\n });\n\n if (!r || !r._BewerbungUrl) {\n return;\n }\n\n window.open(r._BewerbungUrl.concat(\"&NoInfoApplicant\"), \"_blank\");\n }\n });\n }\n });\n }\n if (this.canshowLoginprotokoll) {\n ctxMenu.items.push({\n beginGroup: true,\n text: this._localizationService.translateOnce(\"share.login-protokoll\"),\n execute: () => {\n this._element.dispatchEvent(new CustomEvent(\n \"on-show-login-protokoll\", {\n bubbles: true\n }\n ));\n }\n });\n }\n }\n\n viewTypChanged() {\n this.refreshCanShare();\n }\n currentObjektChanged() {\n this.refreshCanShare();\n }\n objektFullNameChanged() {\n this.refreshCanShare();\n }\n\n private async showMarkers() {\n try {\n this.selectedKeys = this.getSelectedKeys();\n\n if (this.selectedKeys.length == 1) {\n this._customEditPopupService.markersAuswaehlen.show({\n mappings: {\n \"$v_idObjekt\": this.selectedKeys[0]\n }\n });\n } else if (this.selectedKeys.length > 1) {\n const r = await this._objektExportEigenschaftService.getObjektFullNameByIdList(this.selectedKeys);\n this.markerMultiObjekt.showPopup(r.namespace, this.onMultiMarkerGesetzt.bind(this));\n }\n } catch (e) {\n //TODO Error (es sollte im FW lösen werden)\n if (!e || !e.message) {\n return;\n }\n\n const result = this._jsonService.parse(e.message);\n DevExpress.ui.notify(result.Message, \"error\", this.NOTIFY_TIMEOUT);\n }\n }\n private stelleninseratVorschauAnzeigen() {\n const model = this.form.models.data.$m_Stelleninserat;\n if (!model || !model.StelleninseratVorschauUrl) {\n return;\n }\n\n window.open(model.StelleninseratVorschauUrl, \"_blank\");\n }\n private async vorbereitetBenutzeraccountList() {\n if (!this.canBenutzeraccountVorbereitet) {\n return;\n }\n\n const r = await this._benutzereinstellungenService.vorbereitetAccountList(this.getSelectedKeys());\n\n if (r && r.Message) {\n DevExpress.ui.notify(r.Message, \"info\", this.NOTIFY_TIMEOUT);\n this.form.models.reloadAll();\n }\n }\n private async activateBenutzeraccountList() {\n if (!this.canBenutzeraccountAktivieren) {\n return;\n }\n\n const benutzeraccountTyp = this.getBenutzerTyp();\n const dataList = this.getSelectedKeys()\n .map((k) => {\n return { Id: k, Typ: benutzeraccountTyp };\n });\n\n const r = await this._benutzereinstellungenService.activateAccountList(dataList);\n\n if (r && r.Message) {\n DevExpress.ui.notify(r.Message, \"info\", this.NOTIFY_TIMEOUT);\n this.form.models.reloadAll();\n }\n }\n private async benutzeraccountAktivierenMail() {\n if (!this.canBenutzeraccountAktivierenMail) {\n return;\n }\n\n const r = await this._restService.post({\n url: this._restService.getApiUrl(\"ZIT/Security/BenutzeraccountAktivierenMail\"),\n data: {\n idBenutzer: this.currentObjekt.IdBenutzer\n }\n });\n\n if (r && r.Message) {\n DevExpress.ui.notify(r.Message, \"info\", this.NOTIFY_TIMEOUT);\n }\n }\n private async terminErstellen() {\n const idObjektList = this.getSelectedKeys();\n const benutzername = this._startupService.startupInfo.Benutzer;\n\n const r = await this._restService.post({\n url: this._restService.getApiUrl(\"ZIT/Objekt/TerminEmpfaengerList\"),\n data: {\n IdObjektList: idObjektList,\n Fullname: this.objektFullName\n }\n });\n\n this._locationService.goTo({\n url: `Objekte/Termin/0`,\n replace: false,\n setValuesOnModelWithKeyIdLoaded: {\n \"Kopf.EmpfaengerReaktion\": TerminReaktion.ZuAbsage,\n \"Kopf.Verteilungstyp\": Terminverteilungstyp.Empfaenger,\n \"Kopf.Benutzer.NameGesamt\": benutzername.Vorname.concat(\" \")\n .concat(benutzername.Nachname),\n \"Kopf._IsVerteilungstypReadonly\": true,\n \"Empfaenger\": r\n }\n });\n }\n private async showPersonDossierPopup() {\n if (this.isTableau) {\n const tableau: TableauUtils = this.form.functions[\"$f_TableauUtils\"];\n\n switch (tableau.currentViewType) {\n case TableauViewType.TerminEmpfaenger:\n case TableauViewType.EventTeilnehmer:\n case TableauViewType.EventSchnuppertermin:\n case TableauViewType.Schnuppertermin: {\n const rows: any[] = await this.dataGrid.instance.getSelectedRowsData();\n \n const keys = rows\n .map((i) => i.IdPerson)\n .filter((i) => !!i);\n\n if (keys.length > 0) {\n this.personDossier.showPopup(\"TIP.ZIT.Business.Entities.Objekte.Personen.Person\", keys);\n }\n\n break;\n }\n default: {\n return;\n }\n }\n } else {\n const keys = this.getSelectedKeys();\n this.personDossier.showPopup(this.objektFullName, keys);\n }\n }\n private showBenutzerSperrenPopup() {\n this.selectedKeys = this.getSelectedKeys();\n if (!this.selectedKeys || this.selectedKeys.length == 0) {\n return;\n }\n\n this.benutzerSperren.showPopup(this.selectedKeys[0], this.form);\n }\n private showStatusAendernPopup() {\n this.selectedKeys = this.getSelectedKeys();\n this.statusAendern.showPopup(this.onStatusGeaendert.bind(this));\n }\n private showBewerbungstypAendernPopup() {\n this.selectedKeys = this.getSelectedKeys();\n this.bewerbungstypAendern.showPopup(this.selectedKeys);\n }\n private showCreateStandardStelleninseratPopup() {\n this.selectedKeys = this.getSelectedKeys();\n this.standardStelleninseratErstellen.showPopup(this.selectedKeys);\n }\n private showCreateDokumentLautVorlagePopup() {\n this.selectedKeys = this.getSelectedKeys();\n this.dokumentLautVorlageErstellen.showPopup(this.selectedKeys, this.objektFullName);\n }\n private selectAll() {\n switch (this.viewTyp) {\n case SucheViewTyp.table: {\n const dataSource = this.dataGrid.instance.option(\"dataSource\");\n if (Array.isArray(dataSource)) {\n this.dataGrid.instance.selectAll();\n } else {\n this._dataSourceService\n .getDataSourceKeyValues(dataSource, this.prepareOptionsForSelection.bind(this))\n .then((r) => {\n (this.dataGrid.instance).selectRows(r, false);\n });\n }\n break;\n }\n case SucheViewTyp.list: {\n this._dataSourceService\n .getDataSourceKeyValues(this.listView.options.dataSource, this.prepareOptionsForSelection.bind(this))\n .then((r) => {\n this.listView.selectByKeys(r, true);\n });\n break;\n }\n default: {\n return;\n }\n }\n }\n private unselectAll() {\n switch (this.viewTyp) {\n case SucheViewTyp.table: {\n this.dataGrid.instance.deselectAll();\n break;\n }\n case SucheViewTyp.list: {\n this.listView.clearSelection();\n break;\n }\n default: {\n return;\n }\n }\n }\n private exportExcel() {\n const keyList = this.getSelectedKeys();\n\n if (!keyList || !keyList.length) {\n return;\n }\n\n const event = new CustomEvent(\"on-export-excel\", {\n detail: {\n sender: this\n },\n cancelable: true,\n bubbles: true\n });\n\n const result = this._element.dispatchEvent(event);\n if (!result) {\n return;\n }\n\n this._downloadService.downloadExcelFromGrid({\n IdList: keyList,\n ColumnList: this.getExcelExportedColumns()\n });\n }\n private async copyStelleninserate() {\n this._stelleninseratService.copyStelleninseratList(this.getSelectedKeys());\n }\n private getBenutzerTyp(): BenutzeraccountTyp {\n switch (this.objektFullName) {\n case \"TIP.ZIT.Business.Entities.Objekte.Personen.Person\": {\n return BenutzeraccountTyp.Person;\n }\n case \"TIP.ZIT.Business.Entities.Objekte.Bewerbungen.Bewerbung\": {\n return BenutzeraccountTyp.Bewerbung;\n }\n case \"TIP.ZIT.Business.Entities.Objekte.Ansprechpersonen.Ansprechperson\": {\n return BenutzeraccountTyp.Ansprechperson;\n }\n case \"TIP.ZIT.Business.Entities.Berechtigungen.Benutzer\": {\n return BenutzeraccountTyp.Benutzer;\n }\n default: {\n return null;\n }\n }\n }\n private getSelectedKeys(): number[] {\n let selectedRowKeys: any[];\n\n switch (this.viewTyp) {\n case SucheViewTyp.table: {\n selectedRowKeys = this.dataGrid && this.dataGrid.instance\n ? this.dataGrid.instance.getSelectedRowKeys()\n : [];\n break;\n }\n case SucheViewTyp.list: {\n selectedRowKeys = this.listView\n ? this.listView.getSelectedKeys()\n : [];\n break;\n }\n default: {\n break;\n }\n }\n\n if (selectedRowKeys) {\n if (selectedRowKeys.length > 0) {\n const first = selectedRowKeys[0];\n if (typeof first === \"object\") {\n return selectedRowKeys.map((c) => c.Id);\n } else {\n return selectedRowKeys;\n }\n }\n\n return selectedRowKeys;\n } else if (this.currentObjekt) {\n return [this.currentObjekt.Id];\n } else {\n return [];\n }\n }\n private getExcelExportedColumns(): any[] {\n switch (this.viewTyp) {\n case SucheViewTyp.table: {\n return this._objektExportEigenschaftService.getExportGridColumns(this.dataGrid.instance)\n .map((c) => {\n return {\n dataField: c.dataField,\n visibleIndex: c.visibleIndex\n };\n });\n }\n case SucheViewTyp.list: {\n return [\n { dataField: \"ObjektBezeichnung\", visibleIndex: 0 },\n { dataField: \"Bezeichnung\", visibleIndex: 1 },\n { dataField: \"Anlagedatum\", visibleIndex: 2 }];\n }\n default: {\n return null;\n }\n }\n }\n private prepareOptionsForSelection(options) {\n if (options.customs) {\n options.customs = options.customs.filter((custom) => {\n return custom.key != \"viewType\"\n && custom.key != \"additionalColumns\";\n });\n }\n }\n private refreshCanShare() {\n const ctxMenu = new ContextMenu();\n this.loadCtxMenuItems(ctxMenu);\n\n this.canShare = ctxMenu.items.length > 0;\n }\n private onStatusGeaendert(r: IStatusChangeResultData) {\n if (!r.IsValid) {\n DevExpress.ui.dialog.alert(r.Message, this._localizationService.translateOnce(\"share.fehler\"));\n } else {\n this.reloadData(false);\n }\n }\n private onMultiMarkerGesetzt() {\n this.reloadData();\n }\n private async onPlanstelleKopieren() {\n this.selectedKeys = this.getSelectedKeys();\n\n const saveResult = await this.form.saveIfDirty();\n if (!saveResult.isValid) {\n return;\n }\n\n const r = await this._restService.post({\n url: this._restService.getApiUrl(\"ZIT/Dispo/CreateDispoPlanstelleKopie\"),\n data: {\n Id: this.selectedKeys[0]\n },\n increaseLoadingCount: true\n });\n\n if (!r || !r.Id) {\n return;\n }\n\n this._formRefreshService.refreshPrevForm(this.form);\n\n this._locationService.goTo({\n currentViewModel: this.form,\n replace: true,\n url: \"Objekte/DispoPlanstelle/\".concat(r.Id)\n });\n\n DevExpress.ui.notify(this._localizationService.translateOnce(\"share.kopie_erstellt\"), \"SUCCESS\", this.NOTIFY_TIMEOUT);\n }\n}\n","module.exports = \" \";","import { ObjektInfoService } from './../../services/objekt-info-service';\nimport { LocationService } from './../../../framework/base/services/location-service';\nimport { SortOrderColumnEnum } from './../../../framework/forms/enums/sort-order-column-enum';\nimport { DxWidget } from './../../../framework/dx/elements/dx-widget';\nimport { observable } from 'aurelia-framework';\nimport { RestService } from './../../../framework/base/services/rest-service';\nimport { autoinject, Scope, OverrideContext, bindable, computedFrom } from 'aurelia-framework';\nimport { ScopeContainer, LocalizationService } from '../../../framework/base/export';\nimport { ICommandData, SimpleWidgetCreatorService } from '../../../framework/forms/export';\nimport { IdxPopupComponent, IdxValidationGroupComponent, IdxCheckBoxComponent, IdxSelectBoxComponent, IdxTextBoxComponent } from '../../interfaces/export';\nimport { IStandardStelleninseratErstellenData } from '../../interfaces/standard-stelleninserat-erstellen-data';\n\nimport * as moment from \"moment\";\n\n@autoinject\nexport class StandardStelleninseratErstellen {\n constructor(\n private localization: LocalizationService,\n private simpleWidgetCreator: SimpleWidgetCreatorService,\n private rest: RestService,\n private location: LocationService,\n private objektInfo: ObjektInfoService\n ) { }\n\n scopeContainer: ScopeContainer;\n keyList: number[] = [];\n\n requiredValidationRule = { type: \"required\", message: \"\" };\n\n popupCommands: ICommandData[] = [\n {\n id: \"doStandardStelleninseratErstellen\",\n idCategory: \"$start\",\n icon: \"fas fa-check\",\n tooltip: \"standard-stelleninserat.erstellen\",\n sortIndex: 1600,\n execute: () => {\n this.doStandardStelleninseratErstellen();\n }\n }\n ];\n\n standardStelleninseratErstellenPopup: IdxPopupComponent;\n standardStelleninseratErstellenPopupOptions: DevExpress.ui.dxPopupOptions = {\n height: \"auto\",\n width: \"800px\",\n maxHeight: \"80%\",\n maxWidth: \"800px\"\n }\n\n lehrberuf: IdxSelectBoxComponent;\n lehrberufOptions: DevExpress.ui.dxSelectBoxOptions = {\n displayExpr: \"Bezeichnung\",\n searchEnabled: true\n }\n\n geschaeftspartner: IdxSelectBoxComponent;\n geschaeftspartnerOptions: DevExpress.ui.dxSelectBoxOptions = {\n readOnly: true\n }\n\n kontaktperson: IdxSelectBoxComponent;\n kontaktpersonOptions: DevExpress.ui.dxSelectBoxOptions = {\n displayExpr: \"AnsprechpersonName\",\n searchEnabled: true\n }\n\n bezeichnung: IdxTextBoxComponent;\n bezeichnungOptions: DevExpress.ui.dxTextBoxOptions = {\n }\n\n bind() {\n this.scopeContainer = new ScopeContainer({\n bindingContext: this,\n overrideContext: null\n });\n\n this.simpleWidgetCreator.updatePopupOptions({\n idToolbar: \"standardStelleninseratErstellenPopupToolbar\",\n caption: \"standard-stelleninserat.popup-title\",\n options: this.standardStelleninseratErstellenPopupOptions,\n commands: this.popupCommands,\n scopeContainer: this.scopeContainer\n });\n }\n unbind() {\n this.scopeContainer.disposeAll();\n }\n\n showPopup(keyList: number[]) {\n this.keyList = keyList;\n\n this.setGeschaeftspartnerValueAndDataSource();\n this.setLehrberufDataSource();\n this.setKontaktpersonDataSource();\n\n this.standardStelleninseratErstellenPopup.instance.show();\n }\n\n private setGeschaeftspartnerValueAndDataSource(): void {\n if (this.keyList && this.keyList.length === 1) {\n this.rest.get({\n url: this.rest.getWebApiUrl(\"ZIT/Objekte/Geschaeftspartner/\" + this.keyList[0]),\n getOptions: {\n columns: ['Name1']\n }\n }).then(r => {\n if (r && r.Name1 && r.Name1.length > 0) {\n if (this.geschaeftspartner) {\n this.geschaeftspartner.instance.option(\"value\", r.Name1);\n this.geschaeftspartner.instance.option(\"dataSource\", [r.Name1]);\n } else {\n this.geschaeftspartnerOptions.value = r.Name1;\n this.geschaeftspartnerOptions.dataSource = [r.Name1];\n }\n } else {\n this.geschaeftspartner.instance.option(\"value\", null);\n this.geschaeftspartner.instance.option(\"dataSource\", null);\n }\n });\n } else {\n this.geschaeftspartner.instance.option(\"value\", null);\n this.geschaeftspartner.instance.option(\"dataSource\", null);\n }\n }\n\n private setLehrberufDataSource(): void {\n const stichtag = moment().startOf(\"day\").toDate();\n\n if (this.lehrberuf) {\n this.lehrberuf.instance.option(\"value\", null);\n } else {\n this.lehrberufOptions.value = null;\n }\n\n this.rest.get({\n url: this.rest.getWebApiUrl(\"ZIT/Stammdaten/Lehrberuf\"),\n getOptions: {\n where: [['GueltigVon', '<=', stichtag], 'and', ['GueltigBis', '>=', stichtag]],\n columns: ['Id', 'Bezeichnung']\n }\n }).then(r => {\n if (r && r.length > 0) {\n this.lehrberuf.instance.option(\"dataSource\", r);\n } else {\n this.lehrberuf.instance.option(\"dataSource\", null);\n }\n });\n }\n\n private setKontaktpersonDataSource(): void {\n if (this.keyList && this.keyList.length === 1) {\n const stichtag = moment().startOf(\"day\").toDate();\n\n if (this.kontaktperson) {\n this.kontaktperson.instance.option(\"value\", null);\n } else {\n this.kontaktpersonOptions.value = null;\n }\n\n this.rest.get({\n url: this.rest.getWebApiUrl(\"ZIT/Objekte/AnsprechpersonZuGeschaeftspartner\"),\n getOptions: {\n where: [['IdGeschaeftspartner', this.keyList[0]], 'and', ['GueltigVon', '<=', stichtag], 'and', ['GueltigBis', '>=', stichtag]],\n columns: ['Id', 'AnsprechpersonName']\n }\n }).then(r => {\n if (r && r.length > 0) {\n this.kontaktperson.instance.option(\"dataSource\", r);\n } else {\n this.kontaktperson.instance.option(\"dataSource\", null);\n }\n });\n } else {\n this.kontaktperson.instance.option(\"dataSource\", null);\n }\n }\n\n private doStandardStelleninseratErstellen() {\n if (!this.keyList || this.keyList.length !== 1) {\n return;\n }\n\n const lehrberuf = this.lehrberuf.instance.option(\"value\");\n const kontaktperson = this.kontaktperson.instance.option(\"value\");\n\n const data: IStandardStelleninseratErstellenData = {\n IdGeschaeftspartner: this.keyList[0],\n IdLehrberuf: lehrberuf ? lehrberuf.Id : null,\n IdGeschaeftspartnerZuAnsprechperson: kontaktperson ? kontaktperson.Id : null,\n Bezeichnung: this.bezeichnung.instance.option(\"value\")\n }\n\n if (!this.canStandardStelleninseratErstellen(data)) {\n return;\n }\n\n this.rest.post({\n url: this.rest.getApiUrl(\"ZIT/Objekt/StelleninseratStandardErstellen\"),\n data: data,\n increaseLoadingCount: true\n }).then(r => {\n if (r.HasError) {\n DevExpress.ui.notify(r.Message, \"error\", 3000);\n } else {\n this.standardStelleninseratErstellenPopup.instance.hide();\n\n const urlToNavigate = this.objektInfo.getObjektNavigationUrl(\"TIP.ZIT.Business.Entities.Objekte.Stelleninserate.Stelleninserat\")\n if (!urlToNavigate) {\n return;\n }\n\n this.location.goTo({\n url: `${urlToNavigate}/` + r.IdStelleninserat\n });\n }\n });\n }\n\n private canStandardStelleninseratErstellen(data: IStandardStelleninseratErstellenData): boolean {\n if (!data.IdGeschaeftspartner) {\n DevExpress.ui.notify(this.localization.translateOnce(\"standard-stelleninserat.geschaeftspartner-fehlt\"), \"error\", 3000);\n return false;\n } else if (!data.IdLehrberuf) {\n DevExpress.ui.notify(this.localization.translateOnce(\"standard-stelleninserat.lehrberuf-fehlt\"), \"error\", 3000);\n return false;\n } else if (!data.IdGeschaeftspartnerZuAnsprechperson) {\n DevExpress.ui.notify(this.localization.translateOnce(\"standard-stelleninserat.kontaktperson-fehlt\"), \"error\", 3000);\n return false;\n }\n\n return true;\n }\n}\n","module.exports = \" \";","import { autoinject, Scope, OverrideContext, bindable, TaskQueue } from \"aurelia-framework\";\nimport { EventAggregator } from \"aurelia-event-aggregator\";\nimport { LocalizationService, ScopeContainer, DataSourceService, JsonService, GlobalizationService } from \"../../../framework/base/export\";\nimport { SimpleWidgetCreatorService, ICommandData } from \"../../../framework/forms/export\";\nimport { IdxPopupComponent, IdxValidationGroupComponent, IStatusChangeData, IStatusBenutzerAvailableData, IStatusChangeResultData } from \"../../interfaces/export\";\nimport { StatusService } from \"../../services/export\";\nimport { GrundTyp } from \"../../enumerations/export\";\n\n@autoinject\nexport class StatusAendern {\n private _savedCallBack: { (r: IStatusChangeResultData) };\n\n constructor(\n private _dataSourceService: DataSourceService,\n private _jsonService: JsonService,\n private _localizationService: LocalizationService,\n private _simpleWidgetCreatorService: SimpleWidgetCreatorService,\n private _statusService: StatusService,\n private _globalizationService: GlobalizationService,\n private _taskqueue: TaskQueue,\n private _eventAggregator: EventAggregator\n ) {\n this.resetMainModel();\n }\n\n @bindable keyList: number[];\n\n canChangeStatus = true;\n mainModel: IStatusChangeData;\n\n isGrundPflicht: boolean;\n isBemerkungPflicht: boolean;\n\n scope: Scope;\n scopeContainer: ScopeContainer;\n\n verlaufDataSource: [];\n\n popupCommands: ICommandData[] = [\n {\n id: \"statusAendernSave\",\n idCategory: \"$start\",\n icon: \"fas fa-save\",\n tooltip: \"base.save\",\n sortIndex: 0,\n isEnabledExpression: \"canChangeStatus\",\n execute: () => {\n this.changeStatus();\n }\n }];\n statusAendernPopup: IdxPopupComponent;\n statusAendernPopupOptions: DevExpress.ui.dxPopupOptions = {\n height: \"auto\",\n maxHeight: \"100vh\",\n maxWidth: \"700px\"\n };\n\n grundAenderungValidatorOptions: DevExpress.ui.dxValidatorOptions = {\n validationRules: [{\n type: \"custom\",\n reevaluate: true,\n message: this._localizationService.translateOnce(\"forms.validator_required\", [this._localizationService.translateOnce(\"status-aendern.grund-aenderung-caption\")]),\n validationCallback: (e) => {\n if(e.value) {\n return true;\n }\n }\n }]\n };\n bemerkungValidatorOptions: DevExpress.ui.dxValidatorOptions = {\n validationRules: [{\n type: \"custom\",\n reevaluate: true,\n message: this._localizationService.translateOnce(\"forms.validator_required\", [this._localizationService.translateOnce(\"status-aendern.bemerkung-caption\")]),\n validationCallback: (e) => {\n if(e.value || !this.isBemerkungPflicht) {\n return true;\n }\n }\n }]\n };\n requiredValidatorOptions: DevExpress.ui.dxValidatorOptions = {\n validationRules: [{ type: \"required\" }]\n };\n validationGroup: IdxValidationGroupComponent;\n validationGroupOptions: DevExpress.ui.dxValidationGroupOptions = {};\n\n benutzerStatusDataSource: IStatusBenutzerAvailableData[];\n benutzerStatusOptions: DevExpress.ui.dxSelectBoxOptions = {\n valueExpr: \"IdObjektStatus\",\n displayExpr: \"ObjektStatusBezeichnung\",\n onItemClick: (e) => {\n this.isGrundPflicht = e.itemData.IsGrundPflicht;\n this.mainModel.IdGrund = null;\n\n this.repaintPopup();\n },\n bindingOptions: {\n value: \"mainModel.IdObjektStatus\",\n dataSource: \"benutzerStatusDataSource\"\n }\n };\n\n grundAenderungOptions: DevExpress.ui.dxSelectBoxOptions = {\n valueExpr: \"Id\",\n displayExpr: \"Bezeichnung\",\n onItemClick: (e) => {\n this.isBemerkungPflicht = e.itemData.IsBemerkungPflicht;\n },\n bindingOptions: {\n value: \"mainModel.IdGrund\"\n }\n };\n\n bemerkungOptions: DevExpress.ui.dxTextAreaOptions = {\n height: 60,\n bindingOptions: {\n value: \"mainModel.Bemerkung\"\n }\n };\n\n verlaufOptions: DevExpress.ui.dxDataGridOptions = {\n width: \"100%\",\n height: \"250px\",\n columns: [{\n dataField: \"Aenddat\",\n caption: \"Zeitpunkt\",\n format: this._globalizationService.getFormatter(\"g\")\n }, {\n dataField: \"Status\",\n caption: \"Status\"\n }, {\n dataField: \"Bemerkung\",\n caption: \"Bemerkung\"\n }, {\n dataField: \"Aendsb\",\n caption: \"Änderungsbenutzer\"\n }],\n bindingOptions: {\n \"dataSource\": \"verlaufDataSource\"\n }\n };\n\n showPopup(savedCallback?: { (r: IStatusChangeResultData) }) {\n this._taskqueue.queueMicroTask(async () => {\n const r = await this._statusService.allowUpdateObjektStatus(this.keyList);\n\n this.verlaufDataSource = [];\n this.statusAendernPopup.instance.show();\n \n this.resetMainModel(r);\n this._savedCallBack = savedCallback;\n\n this.loadAvailableObjektStatus(r);\n this.loadVerlauf(r);\n\n this.repaintPopup();\n });\n }\n\n bind(bindingContext: any, overrideContext: OverrideContext) {\n this.scope = {\n bindingContext: bindingContext,\n overrideContext: overrideContext\n };\n\n this.scopeContainer = new ScopeContainer({\n bindingContext: this,\n overrideContext: null\n });\n\n this._simpleWidgetCreatorService.updatePopupOptions({\n idToolbar: \"statusAendernPopupToolbar\",\n caption: \"status-aendern.popup-titel\",\n options: this.statusAendernPopupOptions,\n commands: this.popupCommands,\n scopeContainer: this.scopeContainer\n });\n\n this.grundAenderungOptions.dataSource = this._dataSourceService.createDataSource(\n this.scopeContainer,\n {\n webApiAction: \"ZIT/Stammdaten/Grund\",\n webApiWhere: [[\"Typ\", GrundTyp.ObjektstatusSetzen], [\"IdObjektStatus\", { \"expression\": \"mainModel.IdObjektStatus\", \"isBound\": true }]]\n }\n )\n }\n unbind() {\n this.scopeContainer.disposeAll();\n this.scope = null;\n }\n\n private changeStatus() {\n const validationResult = this.validationGroup.instance.validate();\n if (!validationResult.isValid) {\n return;\n }\n\n const title = this._localizationService.translateOnce(\"status-aendern.bestaetigung-titel\");\n const message = this._localizationService.translateOnce(\"status-aendern.bestaetigung-text\");\n\n DevExpress.ui.dialog\n .confirm(message, title)\n .then(async (confirmed) => {\n if (!confirmed) {\n return;\n }\n\n this.canChangeStatus = false;\n const r = await this._statusService.changeObjektStatus(this.mainModel);\n\n if (r && !r.IsValid) {\n DevExpress.ui.notify(r.Message, \"error\", 3000);\n return;\n }\n\n if (this._savedCallBack != void 0) {\n this._savedCallBack(r);\n }\n\n this._eventAggregator.publish(\"objekt-status:changed\", {\n idObjektList: this.keyList\n });\n\n this.canChangeStatus = true;\n this.statusAendernPopup.instance.hide();\n });\n }\n private resetMainModel(idObjektStatusElementList: any = null) {\n this.mainModel = { \n IdGrund: null,\n IdObjektStatus: null, \n IdObjektStatusElementList: idObjektStatusElementList, \n Bemerkung: null \n };\n }\n private async loadVerlauf(keys: number[]) {\n this.verlaufDataSource = await this._statusService.loadStatusHistorie(keys);\n }\n private async loadAvailableObjektStatus(keys: number[]) {\n this.benutzerStatusDataSource = await this._statusService.loadBenutzerAvailableObjektStatus(keys);\n }\n\n private repaintPopup() {\n this._taskqueue.queueTask(() => {\n if (!this.statusAendernPopup) {\n return;\n }\n if (!this.statusAendernPopup.instance) {\n return;\n }\n\n this.statusAendernPopup.instance.repaint();\n });\n }\n}\n","module.exports = \" \";","import { autoinject, Scope } from \"aurelia-framework\";\nimport { RestService, LocalizationService, DataSourceService, ScopeContainer } from '../../../framework/base/export';\nimport * as moment from \"moment\";\nimport { IdxPopupComponent, IdxDataGridComponent } from '../../interfaces/dx-components';\nimport { SimpleWidgetCreatorService } from '../../../framework/forms/export';\n\n@autoinject\nexport class StelleninseratAuswahl {\n private _options: IStelleninseratAuswahlEvalOptions;\n\n constructor(\n private restService: RestService,\n private localizationService: LocalizationService,\n private dataSourceService: DataSourceService,\n private simpleWidgetCreatorService: SimpleWidgetCreatorService\n ) {}\n\n model: IModel;\n\n scope: Scope;\n scopeContainer: ScopeContainer;\n\n popup: IdxPopupComponent;\n popupOptions: DevExpress.ui.dxPopupOptions = {\n contentTemplate: \"contentTemplate\",\n height: \"auto\",\n width: \"750px\"\n };\n stelleninseratGrid: IdxDataGridComponent;\n stelleninseratGridOptions: DevExpress.ui.dxDataGridOptions = {\n columns: [{\n dataField: \"Kopf.StellenbezeichnungExtern\",\n caption: \"Stelleninserat\",\n sortIndex: 0,\n sortOrder: \"asc\"\n }],\n keyExpr: \"Id\",\n height: \"400px\",\n hoverStateEnabled: true,\n bindingOptions: {\n dataSource: \"model.stelleninseratDataSource\"\n },\n onRowClick: (e) => {\n this._options.callback(e.data.Id);\n this.popup.instance.hide();\n }\n };\n\n bind() {\n this.scope = {\n bindingContext: this,\n overrideContext: null\n };\n this.scopeContainer = new ScopeContainer(this.scope);\n\n this.simpleWidgetCreatorService.updatePopupOptions({\n idToolbar: \"stelleninseratAuswahlToolbar\",\n caption: \"stelleninserat-auswahl.popup-header\",\n scopeContainer: this.scopeContainer,\n options: this.popupOptions\n });\n }\n unbind() {\n this.scopeContainer.disposeAll();\n this.scopeContainer = null;\n }\n\n evalIdStelleninserat(options: IStelleninseratAuswahlEvalOptions) {\n this._options = options;\n \n this.resetModel();\n this.checkStelleninserat();\n }\n\n private async checkStelleninserat() {\n const today = moment().startOf(\"day\").toDate();\n\n const where: any[] = [\n [\"ObjektStatusCode\", \"AKTIV\"],\n [\"Kopf.GueltigVon\", \"<=\", today],\n [\"Kopf.GueltigBis\", \">=\", today]\n ];\n\n if (this._options.onlySchule) {\n where.push([\"Kopf.Geschaeftspartner.IsGeschaeftspartnerSchule\", true]);\n }\n\n const r = await this.restService.get({\n url: this.restService.getWebApiUrl(\"ZIT/Objekte/Stelleninserat\"),\n getOptions: {\n columns: [\"Id\"],\n where: where,\n orderBy: [{columnName: \"Id\", sortOrder: 0}],\n skip: 0,\n take: 2\n },\n increaseLoadingCount: true\n });\n\n if (r.length == 0) {\n DevExpress.ui.notify(\n this.localizationService.translateOnce(\"stelleninserat-auswahl.kein-gueltiges-stelleninserat\"), \n \"ERROR\", \n 3000\n );;\n }\n else if (r.length == 1) {\n this._options.callback(r[0].Id);\n } else {\n this.model.stelleninseratDataSource = this.dataSourceService.createDataSource(\n this.scopeContainer, {\n webApiAction: \"ZIT/Objekte/Stelleninserat\",\n webApiWhere: where,\n webApiColumns: [\"Id\", \"IdStelleninseratKopfElement\"],\n webApiExpand: {\n Kopf: {\n columns: [\"Id\", \"StellenbezeichnungExtern\"]\n }\n },\n }\n );\n\n this.popup.instance.show();\n }\n }\n private resetModel() {\n this.model = {\n stelleninseratDataSource: []\n };\n }\n}\nexport interface IStelleninseratAuswahlEvalOptions {\n onlySchule?: boolean;\n\n callback: {(idStelleninserat: number): void};\n}\ninterface IModel {\n stelleninseratDataSource: DevExpress.data.DataSource | any[];\n}","module.exports = \" \";","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.id, \".stelleninserat-auswahl--popup-content {\\n padding: 12px;\\n}\\n\", \"\"]);\n// Exports\nmodule.exports = exports;\n","import { autoinject, bindable } from \"aurelia-framework\";\nimport { GlobalizationService } from \"../../../framework/base/services/globalization-service\";\nimport * as moment from \"moment\";\nimport { RestService } from \"../../../framework/base/services/rest-service\";\nimport { DataSourceService } from \"../../../framework/base/services/data-source-service\";\nimport { ScopeContainer } from \"../../../framework/base/classes/scope-container\";\nimport { IdxDataGridComponent } from \"../../interfaces/dx-components\";\nimport { DialogConfirmService } from \"../../../framework/forms/services/dialog-confirm-service\";\n\n@autoinject\nexport class StelleninseratSchnupperterminLight {\n constructor(\n private _element: Element,\n private _dialogConfirmService: DialogConfirmService,\n private _dataSourceService: DataSourceService,\n private _globalizationService: GlobalizationService,\n private _restService: RestService\n ) {\n\n }\n\n scopeContainer: ScopeContainer;\n\n @bindable idStelleninseratKopfElement: number;\n\n datumVon: Date | undefined;\n datumBis: Date | undefined;\n\n datumVonOptions: DevExpress.ui.dxDateBoxOptions = {\n displayFormat: this._globalizationService.getFormatterParser(\"d\"),\n min: this.getMinDate(),\n max: this.getMaxDate(),\n bindingOptions: {\n value: \"datumVon\"\n }\n };\n datumBisOptions: DevExpress.ui.dxDateBoxOptions = {\n displayFormat: this._globalizationService.getFormatterParser(\"d\"),\n min: this.getMinDate(),\n max: this.getMaxDate(),\n bindingOptions: {\n value: \"datumBis\"\n }\n };\n addOptions: DevExpress.ui.dxButtonOptions = {\n text: \"Schnuppertermin erstellen\",\n onClick: async () => {\n if (!this.datumVon) {\n DevExpress.ui.notify(\"Datum von ist ein Pflichtfeld\", \"ERROR\", 300);\n return;\n }\n\n if (!this.datumBis) {\n DevExpress.ui.notify(\"Datum bis ist ein Pflichtfeld\", \"ERROR\", 300);\n return;\n }\n\n if (this.datumVon.getTime() > this.datumBis.getTime()) {\n DevExpress.ui.notify(\"Datum von muss vor Datum bis liegen\", \"ERROR\", 300);\n return;\n }\n\n await this._restService.post(({\n url: this._restService.getWebApiUrl(\"ZIT/Objekte/StelleninseratSchnuppertermin\"),\n data: {\n IdStelleninseratKopfElement: this.idStelleninseratKopfElement,\n DatumVon: this.datumVon,\n DatumBis: this.datumBis\n },\n increaseLoadingCount: true\n }));\n\n DevExpress.ui.notify(\"Schnuppertermin wurde erfolgreich gespeichert\", \"SUCCESS\", 300);\n\n this.datumVon = undefined;\n this.datumBis = undefined;\n\n this.dataGrid?.instance?.refresh();\n this._element.dispatchEvent(new CustomEvent(\"on-schnuppertermin-added\", {\n bubbles: true\n }));\n }\n };\n\n dataGrid: IdxDataGridComponent;\n dataGridOptions: DevExpress.ui.dxDataGridOptions = {\n columns: [{\n caption: \"Stellenbezeichnung\",\n dataField: \"StelleninseratKopfElement.StellenbezeichnungExtern\"\n }, {\n caption: \"Datum von\",\n dataField: \"DatumVon\",\n format: this._globalizationService.getFormatterParser(\"d\"),\n width: 120\n }, {\n caption: \"Datum bis\",\n dataField: \"DatumBis\",\n format: this._globalizationService.getFormatterParser(\"d\"),\n width: 120\n }, {\n caption: \"\",\n width: 60,\n cellTemplate: (element, info) => {\n const c = document.createElement(\"div\");\n c.className = \"stelleninserat-schnuppertermin-light__grid-actions\";\n\n const i = document.createElement(\"i\");\n i.className = \"fas fa-trash-alt\";\n i.onclick = async () => {\n const result = await this._dialogConfirmService.show({\n title: \"Frage\",\n message: \"Möchten Sie den Schnuppertermin wirklich löschen?\",\n });\n\n if (!result) return;\n\n await this._restService.delete({\n url: this._restService.getWebApiUrl(\"ZIT/Objekte/StelleninseratSchnuppertermin\"),\n id: info.data.Id,\n increaseLoadingCount: true\n });\n \n this.dataGrid.instance.refresh();\n };\n\n c.appendChild(i);\n element.appendChild(c);\n }\n }],\n paging: {\n pageSize: 5\n },\n remoteOperations: {\n paging: true,\n filtering: true,\n sorting: true\n }\n };\n\n bind() {\n this.scopeContainer = new ScopeContainer({\n bindingContext: this,\n overrideContext: null\n });\n\n this.dataGridOptions.dataSource = this._dataSourceService.createDataSource(\n this.scopeContainer, {\n keyProperty: \"Id\",\n webApiAction: \"ZIT/Objekte/StelleninseratSchnuppertermin\",\n webApiExpand: {\n StelleninseratKopfElement: {\n columns: [\"Id\", \"StellenbezeichnungExtern\"]\n }\n },\n webApiOrderBy: [{ columnName: \"DatumVon\", sortOrder: 0 }]\n }, {\n canLoad: () => {\n return !!this.idStelleninseratKopfElement;\n },\n getCustomWhere: () => {\n return [\"IdStelleninseratKopfElement\", this.idStelleninseratKopfElement];\n }\n }\n );\n }\n\n unbind() {\n this.scopeContainer.disposeAll();\n this.scopeContainer = null;\n }\n\n private getMinDate() {\n return moment(new Date()).startOf(\"day\").toDate();\n }\n\n private getMaxDate() {\n const today = moment();\n const endDate = moment(new Date(today.year(), 7, 31)).startOf(\"day\");\n\n return today.month() >= 8\n ? endDate.add(1, \"year\").toDate()\n : endDate.toDate();\n }\n}\n","module.exports = \" \";","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.id, \".stelleninserat-schnuppertermin-light {\\n display: flex;\\n flex-direction: column;\\n gap: 12px;\\n}\\n.stelleninserat-schnuppertermin-light__editors {\\n display: flex;\\n gap: 12px;\\n}\\n.stelleninserat-schnuppertermin-light__editor {\\n flex-grow: 1;\\n}\\n.stelleninserat-schnuppertermin-light__grid-actions {\\n text-align: center;\\n}\\n.stelleninserat-schnuppertermin-light__grid-actions i {\\n cursor: pointer;\\n}\\n\", \"\"]);\n// Exports\nmodule.exports = exports;\n","import { IObjektInfoData } from './../../interfaces/objekt-info-data';\nimport { IZitTagOptions } from './../../../zit-ui/elements/zit-tag/zit-tag-options';\nimport { StartupService } from './../../services/startup-service';\nimport { autoinject, bindingBehavior, bindable } from \"aurelia-framework\";\nimport { FormBase } from '../../../framework/forms/classes/form-base';\nimport { ObjektInfoService } from '../../services/objekt-info-service';\nimport { IZitMarkersOptions, ZitMarkerDisplayMode } from '../../../zit-ui/elements/zit-markers/export';\nimport { ISubheadlineOptions } from './sub-headline-options';\nimport { DokumentService, CustomEditPopupService } from '../../services/export';\nimport { IModel } from '../../../framework/forms/export';\nimport { DateiAuswaehlen } from '../datei-auswaehlen/datei-auswaehlen';\nimport { BrowserService, FileService } from '../../../framework/base/export';\n\n@autoinject\nexport class SubHeadline {\n constructor(\n private _element: Element,\n private _objektInfoService: ObjektInfoService,\n private _startupService: StartupService,\n private _dokumentService: DokumentService,\n private _customEditPopupService: CustomEditPopupService,\n private _browserService: BrowserService,\n private _fileService: FileService\n ) { }\n\n form: FormBase;\n model: IModel;\n\n id: number;\n objektTyp: string;\n objektFullName: string;\n eltern: string;\n\n status: string;\n symbol: string;\n farbe: string;\n\n showUploader: boolean = false;\n dateiAuswaehlen: DateiAuswaehlen;\n\n @bindable options: ISubheadlineOptions;\n\n titelData = {\n titel: \"\",\n icon: \"\",\n backgroundColor: \"\"\n }\n\n titelTagOptions: IZitTagOptions = {\n icon: {\n faIconExpression: \"item.icon\",\n backgroundColorExpression: \"item.backgroundColor\"\n },\n textExpression: \"item.titel\"\n }\n\n markersOptions: IZitMarkersOptions = {\n displayMode: ZitMarkerDisplayMode.kreis,\n idObjekt: null\n };\n\n bind(bindingContext) {\n if (bindingContext instanceof FormBase) {\n this.form = bindingContext;\n this.form.callOnBind(() => {\n this.prepare();\n });\n }\n }\n\n onUploadClick() {\n if (this._browserService.isMobile) {\n this.dateiAuswaehlen.onOpenGallery();\n } else {\n this.dateiAuswaehlen.onOpenFiles();\n }\n }\n async onDateiAusgewaehlt(e: CustomEvent) {\n const file = e.detail.files[0];\n const dmsLink = await this._fileService.upload(file);\n if (!dmsLink) {\n return;\n }\n\n let fullName = this.objektFullName;\n let data = this.form.models.data[this.model.id];\n let idObjekt = data.Id;\n let idStelleninserat = null;\n\n switch (fullName) {\n case \"TIP.ZIT.Business.Entities.Objekte.Bewerbungen.Bewerbung\": {\n if (!data.Kopf || !data.Kopf.IdPerson || !data.Kopf.IdStelleninserat) {\n return null;\n }\n\n idObjekt = data.Kopf.IdPerson;\n idStelleninserat = data.Kopf.IdStelleninserat;\n fullName = \"TIP.ZIT.Business.Entities.Objekte.Personen.Person\";\n\n break;\n }\n }\n\n this._customEditPopupService.dokumentEdit.show({\n setValuesOnModelWithKeyIdLoaded: {\n IdObjekt: idObjekt\n },\n mappings: {\n \"$id\": 0,\n \"$v_dmsLinkDokument\": dmsLink,\n \"$v_dateiname\": file.name,\n \"$v_objektTypeFullname\": fullName,\n \"$v_idStelleninserat\": idStelleninserat,\n }\n });\n }\n\n private prepare() {\n this.model = this.form.models.modelWithKeyId;\n if (!this.model || !this.model.webApiAction) {\n return;\n }\n\n const objektInfo = this._objektInfoService.getObjektByWebApiUrl(this.model.webApiAction);\n if (objektInfo) {\n this.objektTyp = objektInfo.Bezeichnung;\n this.objektFullName = objektInfo.Fullname;\n }\n\n this.showUploader = this._dokumentService.attachDropDokument(\n this._element,\n objektInfo.Fullname,\n () => {\n return this.form.models.data[this.model.id];\n }\n );\n\n this.loadDataTitel(objektInfo);\n\n this.form.models.onLoaded.register(async(e) => {\n if (e.model.id != this.model.id) {\n return;\n }\n if (!e.data) {\n return;\n }\n\n this.id = e.data.Id;\n this.status = e.data.ObjektStatus;\n this.symbol = e.data.ObjektStatusSymbol;\n this.farbe = e.data.ObjektStatusSymbolFarbe;\n this.eltern = e.data.BezeichnungEltern;\n this.markersOptions.idObjekt = e.data.Id;\n this.updateTitel();\n });\n }\n private async updateTitel() {\n const arr = [];\n\n if (this.objektTyp && this.id > 0) {\n arr.push(this.objektTyp);\n }\n\n if (this.options && this.options.getTitel) {\n arr.push(await this.options.getTitel());\n } else if (this.eltern) {\n arr.push(this.eltern);\n }\n\n this.titelData.titel = arr.join(\": \");\n }\n\n private loadDataTitel(objektInfo: IObjektInfoData) {\n const cardInfo = this._startupService.getCardInfoByObjektFullName(objektInfo.Fullname);\n\n this.titelData.backgroundColor = cardInfo.CardKompaktHintergrundfarbe;\n this.titelData.icon = cardInfo.CardKompaktSymbol;\n\n if (!this.titelData.icon) {\n this.titelTagOptions.icon = null;\n }\n }\n}\n","module.exports = \" \";","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.id, \".z--sub-headline {\\n display: flex;\\n align-items: center;\\n border-bottom: 1px solid #d1d1d1;\\n padding-bottom: 15px;\\n padding-top: 12px;\\n}\\n.z--sub-headline > * + * {\\n margin-left: 12px;\\n}\\n.z--sub-headline-status {\\n display: inline-flex;\\n align-items: center;\\n padding: 4px 8px;\\n border-radius: 12px;\\n color: white;\\n height: 26px;\\n}\\n.z--sub-headline-status > i {\\n margin-right: 4px;\\n}\\n.z--sub-headline-spacer {\\n flex-grow: 1;\\n}\\n\", \"\"]);\n// Exports\nmodule.exports = exports;\n","import { SucheSpaltenAuswahl } from \"./../suche-spalten-auswahl/suche-spalten-auswahl\";\nimport { autoinject, bindable, bindingMode, observable, OverrideContext, Scope, TaskQueue } from \"aurelia-framework\";\nimport { LocalizationService } from \"./../../../framework/base/services/export\";\nimport { IdxDataGridComponent, IdxPopupComponent, IdxValidationGroupComponent } from \"../../interfaces/export\";\nimport { LoginprofilEinstellungenService } from \"../../services/export\";\nimport {\n ContextMenu,\n DialogConfirmService,\n ICommandData,\n SimpleWidgetCreatorService\n} from \"../../../framework/forms/export\";\nimport { GlobalizationService, ScopeContainer } from \"../../../framework/base/export\";\nimport { ObjektExportEigenschaftService } from \"../../services/objekt-export-eigenschaft-service\";\nimport { ILoginprofilEinstellung, LoginprofilEinstellungTyp } from \"../../services/loginprofil-einstellungen-service\";\n\n@autoinject\nexport class SucheLayoutAuswahl {\n private _savedLayout: ILoginprofilEinstellung[] = [];\n private _saveMode: SaveMode;\n\n constructor(\n private _element: Element,\n private _globalizationService: GlobalizationService,\n private _localizationService: LocalizationService,\n private _loginprofilEinstellungenService: LoginprofilEinstellungenService,\n private _objektExportEigenschaftService: ObjektExportEigenschaftService,\n private _simpleWidgetCreatorService: SimpleWidgetCreatorService,\n private _taskQueue: TaskQueue,\n private _dialogConfirmService: DialogConfirmService\n ) { }\n\n @bindable dataGrid: IdxDataGridComponent;\n @bindable @observable objektFullName: string;\n @bindable defaultColumns: DevExpress.ui.dxDataGridColumn[];\n @bindable({ defaultBindingMode: bindingMode.twoWay }) additionalColumns: string[];\n @bindable typ: LoginprofilEinstellungTyp = LoginprofilEinstellungTyp.Suchlayout;\n @bindable canSetStandard: boolean = false;\n @bindable canSaveAlways: boolean = false;\n @bindable showResetLayout: boolean = false;\n\n scope: Scope;\n scopeContainer: ScopeContainer;\n\n validationGroup: IdxValidationGroupComponent;\n validationGroupOptions: DevExpress.ui.dxValidationGroupOptions = {};\n \n requiredValidatorOptions: DevExpress.ui.dxValidatorOptions = {\n validationRules: [\n { type: \"required\" }\n ]\n };\n\n options: IPopupOptions;\n\n sucheSpaltenAuswahl: SucheSpaltenAuswahl;\n\n idCurrentLayout: number;\n activeGridLayoutDic: any = {};\n\n speichernPopupCommands: ICommandData[] = [{\n id: \"sucheLayoutSave\",\n idCategory: \"$start\",\n icon: \"fas fa-save\",\n tooltip: \"base.save\",\n sortIndex: 0,\n execute: () => {\n this.saveCurrentLayout();\n }\n }, {\n id: \"sucheLayoutDelete\",\n idCategory: \"$start\",\n icon: \"far fa-trash-alt\",\n tooltip: \"base.delete\",\n sortIndex: 5,\n isEnabledExpression: \"idCurrentLayout\",\n isVisibleExpression: \"options.canLoeschen\",\n execute: () => {\n this.deleteCurrentLayout();\n }\n }];\n speichernPopup: IdxPopupComponent;\n speichernPopupOptions: DevExpress.ui.dxPopupOptions = {\n height: \"auto\",\n maxHeight: \"80%\",\n maxWidth: \"420px\"\n };\n\n bezeichnungTextBoxOptions: DevExpress.ui.dxTextBoxOptions = {\n bindingOptions: {\n value: \"options.bezeichnung\"\n }\n };\n isStandardCheckBoxOptions: DevExpress.ui.dxCheckBoxOptions = {\n text: \"Standardlayout?\",\n bindingOptions: {\n value: \"options.isStandard\"\n }\n };\n\n bind(bindingContext: any, overrideContext: OverrideContext) {\n this.scope = {\n bindingContext: bindingContext,\n overrideContext: overrideContext\n };\n\n this.scopeContainer = new ScopeContainer({\n bindingContext: this,\n overrideContext: null\n });\n\n this._simpleWidgetCreatorService.updatePopupOptions({\n idToolbar: \"speichernLayoutPopupToolbar\",\n caption: \"suche-layout-auswahl.popup-title\",\n options: this.speichernPopupOptions,\n commands: this.speichernPopupCommands,\n scopeContainer: this.scopeContainer\n });\n\n if (!this.additionalColumns) {\n this.additionalColumns = [];\n }\n\n this._taskQueue.queueMicroTask(() => {\n this.dataGrid.setOption({ allowColumnReordering: true }); \n this.objektFullNameChanged(this.objektFullName, null);\n });\n }\n unbind() {\n this.scopeContainer.disposeAll();\n this.scope = null;\n }\n\n objektFullNameChanged(newValue, oldValue) {\n if (newValue == oldValue) {\n return;\n }\n\n const layout = this.objektFullName\n ? this.activeGridLayoutDic[this.objektFullName]\n : null;\n\n if (!layout || this.typ == LoginprofilEinstellungTyp.Tableau) {\n this.resetCurrentLayout();\n \n if (this.typ != LoginprofilEinstellungTyp.Tableau) {\n this.updateGridColumns(layout);\n }\n } else {\n this.assignLayoutToGrid(layout);\n }\n }\n\n assignLayoutToGrid(data: ILoginprofilEinstellung, updateColumns: boolean = true) {\n this.activeGridLayoutDic[data.Entitaet] = data;\n this.idCurrentLayout = data.Id;\n\n if (updateColumns) {\n this.updateGridColumns(data);\n }\n\n this.dispatchLayoutLoadedEvent(data);\n this.dispatchLayoutChangedEvent();\n }\n\n getCurrentGridColumns(): any[] {\n const columns: DevExpress.ui.dxDataGridColumn[] = this.dataGrid.instance.option(\"columns\");\n\n if (columns) {\n columns.map((col, index) => {\n col.visibleIndex = this.dataGrid.instance.columnOption(index, \"visibleIndex\");\n col.width = this.dataGrid.instance.columnOption(index, \"width\");\n col.sortIndex = this.dataGrid.instance.columnOption(index, \"sortIndex\");\n col.sortOrder = this.dataGrid.instance.columnOption(index, \"sortOrder\");\n\n if (col.width && col.width.toString().indexOf(\"px\") < 0) {\n col.width = `${col.width}px`;\n }\n });\n\n return columns;\n }\n\n return [];\n }\n async getStandardLayout(objektFullName: string) {\n const result: ILoginprofilEinstellung[] = await this._loginprofilEinstellungenService.loadLoginprofilEinstellung({\n Typ: this.typ,\n Entitaet: objektFullName,\n IsStandard: true\n });\n\n if (result.length === 0) {\n return null;\n }\n\n return result[0];\n }\n\n async showCtxMenu(event: Event) {\n const result = await this.loadSavedLayouts();\n\n const ctxMenu = new ContextMenu();\n this._savedLayout = result;\n \n ctxMenu.items.push({\n text: this._localizationService.translateOnce(\"suche-layout-auswahl.spaltenauswahl\"),\n execute: () => {\n this.showSucheSpaltenAuswahl();\n }\n });\n\n if (this.showResetLayout) {\n ctxMenu.items.push({\n text: this._localizationService.translateOnce(\"suche-layout-auswahl.reset_original\"),\n execute: () => {\n this.resetLayout();\n }\n });\n }\n\n if (this.canSaveAlways || this.additionalColumns.length > 0) {\n if (this.idCurrentLayout) {\n ctxMenu.items.push({\n text: this._localizationService.translateOnce(\"suche-layout-auswahl.layout_speichern_loeschen\"),\n execute: () => {\n this.showSpeichernPopup();\n }\n });\n }\n\n ctxMenu.items.push({\n text: this._localizationService.translateOnce(\"suche-layout-auswahl.layout_speichern_unter\"),\n execute: () => {\n this.showSpeichernUnterPopup();\n }\n });\n }\n\n const firstGroupIndex = ctxMenu.items.length - 1;\n\n if (ctxMenu.items.length > 1) {\n ctxMenu.items[1].beginGroup = true;\n }\n\n const hasSavedLayout = this._savedLayout.length > 0;\n if (hasSavedLayout) {\n this._savedLayout.forEach((layout) => {\n ctxMenu.items.push({\n text: layout.Bezeichnung,\n execute: () => {\n this.assignLayoutToGrid(layout);\n }\n });\n });\n \n ctxMenu.items[firstGroupIndex + 1].beginGroup = true;\n }\n\n ctxMenu.show(event.target);\n }\n\n onSpaltenChanged() {\n this.dispatchLayoutChangedEvent();\n }\n\n private resetLayout() {\n const currentLayout = this.getCurrentLayout(this.objektFullName);\n \n this.assignLayoutToGrid({\n Entitaet: this.objektFullName,\n Typ: this.typ,\n Id: currentLayout?.Id || 0,\n Bezeichnung: currentLayout?.Bezeichnung || \"\",\n IsStandard: currentLayout?.IsStandard || false,\n Wert: {\n Columns: [],\n Custom: null\n }\n }, true);\n }\n private showSpeichernPopup() {\n this._saveMode = SaveMode.Save;\n const currentLayout = this.getCurrentLayout();\n\n this.options = {\n bezeichnung: currentLayout\n ? currentLayout.Bezeichnung\n : null,\n canLoeschen: !!this.idCurrentLayout,\n titel: \"Layout speichern\",\n isStandard: currentLayout\n ? currentLayout.IsStandard\n : false\n };\n\n this.speichernPopup.instance.show();\n }\n private showSpeichernUnterPopup() { \n this._saveMode = SaveMode.Create;\n\n this.options = {\n bezeichnung: null,\n canLoeschen: false,\n titel: \"Layout speichern unter\",\n isStandard: false\n };\n \n this.speichernPopup.instance.show();\n }\n private showSucheSpaltenAuswahl() {\n this.sucheSpaltenAuswahl.showPopup();\n }\n \n private getCurrentLayout(objektFullName?: string) {\n objektFullName = objektFullName || this.objektFullName;\n\n if (!objektFullName) {\n return null;\n }\n\n const current: ILoginprofilEinstellung = this.activeGridLayoutDic[objektFullName];\n return current;\n }\n private resetCurrentLayout() {\n this.idCurrentLayout = null;\n this.options = null;\n this.activeGridLayoutDic[this.objektFullName] = null;\n this.additionalColumns = [];\n }\n\n private loadSavedLayouts() {\n return this._loginprofilEinstellungenService.loadLoginprofilEinstellung({\n Typ: this.typ,\n Entitaet: this.objektFullName,\n });\n }\n private async saveCurrentLayout() {\n const columns = this._objektExportEigenschaftService.getExportGridColumns(this.dataGrid.instance);\n\n const data: ILoginprofilEinstellung = {\n Id: this._saveMode == SaveMode.Create ? null : this.idCurrentLayout,\n Bezeichnung: this.options.bezeichnung,\n IsStandard: this.options.isStandard,\n Typ: this.typ,\n Entitaet: this.objektFullName,\n Wert: {\n Columns: columns,\n Custom: null\n }\n };\n\n this.dispatchLayoutSavingEvent(data);\n\n const layout = await this._loginprofilEinstellungenService.saveOrCreateEinstellung(data);\n this.assignLayoutToGrid(layout, false);\n\n DevExpress.ui.notify(\n this._localizationService.translateOnce(\"suche-layout-auswahl.layout_gespeichert_message\"), \n \"success\", \n 3000);\n\n this.speichernPopup.instance.hide();\n }\n private async deleteCurrentLayout() {\n if (!this.idCurrentLayout) {\n return;\n }\n\n const dialogResult = await this._dialogConfirmService.show({\n title: this._localizationService.translateOnce(\"base.question\"),\n message: this._localizationService.translateOnce(\"suche-layout-auswahl.layout_loeschen_message\")\n });\n\n if (!dialogResult) {\n return;\n }\n \n await this._loginprofilEinstellungenService.deleteEinstellung(this.idCurrentLayout);\n\n DevExpress.ui.notify(\n this._localizationService.translateOnce(\"suche-layout-auswahl.layout_geloescht_message\"), \n \"success\", \n 3000);\n\n this.speichernPopup.instance.hide();\n \n this.resetCurrentLayout();\n this.dispatchLayoutDeletedEvent();\n }\n\n private updateGridColumns(layout: ILoginprofilEinstellung) {\n const layoutColumns = this.getGridColumns(layout);\n \n if (layoutColumns.length === 0) {\n layoutColumns.push(...(this.defaultColumns || []));\n }\n\n this.additionalColumns = layoutColumns\n .filter((c) => c.dataField.startsWith(\"Prop\"))\n .map((c) => c.dataField.substr(4));\n\n this.dataGrid.setOption({ columns: layoutColumns });\n }\n private getGridColumns(layout: ILoginprofilEinstellung): DevExpress.ui.dxDataGridColumn[] {\n if (!layout || !layout.Wert) {\n return [];\n }\n\n return layout.Wert.Columns\n .map((c) => {\n if (c.format) {\n c.format = this._globalizationService.getFormatter(c.format);\n }\n if (c.dataField === \"Anlagedatum\") {\n c.format = this._globalizationService.getFormatter(\"g\");\n }\n\n if (c.dataField.startsWith(\"Prop\")) {\n c.allowSorting = false;\n }\n\n return c;\n });\n }\n\n private dispatchLayoutChangedEvent() {\n const event = new CustomEvent(\"on-layout-changed\", {\n detail: {\n sender: this\n },\n bubbles: true\n });\n\n this._element.dispatchEvent(event);\n }\n private dispatchLayoutDeletedEvent() {\n const event = new CustomEvent(\"on-layout-deleted\", {\n detail: {\n sender: this\n },\n bubbles: true\n });\n\n this._element.dispatchEvent(event);\n }\n private dispatchLayoutLoadedEvent(data: ILoginprofilEinstellung) {\n const event = new CustomEvent(\"on-layout-loaded\", {\n detail: {\n sender: this,\n data: data\n },\n bubbles: true\n });\n\n this._element.dispatchEvent(event);\n }\n private dispatchLayoutSavingEvent(data: ILoginprofilEinstellung) {\n const event = new CustomEvent(\"on-layout-saving\", {\n detail: {\n sender: this,\n data: data\n },\n bubbles: true\n });\n\n this._element.dispatchEvent(event);\n }\n}\n\ninterface IPopupOptions {\n titel: string;\n canLoeschen: boolean;\n bezeichnung: string;\n isStandard: boolean;\n}\nenum SaveMode {\n Save = 0,\n Create = 1\n}\n","module.exports = \" \";","import { GlobalizationService } from './../../../framework/base/services/globalization-service';\nimport { autoinject, bindable, OverrideContext, Scope, bindingMode, observable } from 'aurelia-framework';\nimport { IdxPopupComponent, IdxTreeViewComponent, IdxDataGridComponent, IObjektExportEigenschaftData } from '../../interfaces/export';\nimport { ICommandData, SimpleWidgetCreatorService } from '../../../framework/forms/export';\nimport { ScopeContainer } from '../../../framework/base/export';\nimport { ObjektExportEigenschaftService } from '../../services/export';\nimport { LoginprofilEinstellungTyp, ILoginprofilEinstellung } from '../../services/loginprofil-einstellungen-service';\n\n@autoinject\nexport class SucheSpaltenAuswahl {\n constructor(\n private _element: Element,\n private _globalizationService: GlobalizationService,\n private _objektExportEigenschaftService: ObjektExportEigenschaftService,\n private _simpleWidgetCreatorService: SimpleWidgetCreatorService\n ) { }\n\n @bindable dataGrid: IdxDataGridComponent;\n @bindable @observable objektFullName: string;\n @bindable({ defaultBindingMode: bindingMode.twoWay }) additionalColumns: string[];\n @bindable typ: LoginprofilEinstellungTyp = LoginprofilEinstellungTyp.Suchlayout;\n\n scope: Scope;\n scopeContainer: ScopeContainer;\n\n activeGridLayoutDic: any = {};\n\n isTreeViewClearEnabled: boolean = false;\n treeViewDataSource: IObjektExportEigenschaftData[];\n\n popupCommands: ICommandData[] = [{\n id: \"sucheSpaltenClear\",\n idCategory: \"$start\",\n icon: \"fas fa-eraser\",\n tooltip: \"suche-spalten-auswahl.demarkieren\",\n sortIndex: 1100,\n isEnabledExpression: \"isTreeViewClearEnabled\",\n execute: () => {\n this.spaltenauswahlTreeView.instance.unselectAll();\n }\n }, {\n id: \"sucheSpaltenAuswahl\",\n idCategory: \"$start\",\n icon: \"fas fa-check\",\n tooltip: \"suche-spalten-auswahl.uebernehmen\",\n sortIndex: 1200,\n execute: () => {\n this.onSpaltenAuswahlDone();\n }\n }];\n\n spaltenAuswahlPopup: IdxPopupComponent;\n spaltenAuswahlPopupOptions: DevExpress.ui.dxPopupOptions = {\n height: \"400px\",\n maxHeight: \"80%\",\n maxWidth: \"420px\"\n };\n\n spaltenauswahlTreeView: IdxTreeViewComponent;\n spaltenauswahlTreeViewOptions: DevExpress.ui.dxTreeViewOptions = {\n dataStructure: \"plain\",\n keyExpr: \"Key\",\n parentIdExpr: \"KeyParent\",\n displayExpr: \"Bezeichnung\",\n expandedExpr: \"Expanded\",\n selectedExpr: \"Selected\",\n selectionMode: \"multiple\",\n selectNodesRecursive: true,\n showCheckBoxesMode: \"normal\",\n onSelectionChanged: (e) => {\n this.isTreeViewClearEnabled = this.treeViewDataSource.some(c => c.Selected == true);\n },\n bindingOptions: {\n dataSource: \"treeViewDataSource\"\n }\n };\n\n bind(bindingContext: any, overrideContext: OverrideContext) {\n this.scope = {\n bindingContext: bindingContext,\n overrideContext: overrideContext\n };\n\n this.scopeContainer = new ScopeContainer({\n bindingContext: this,\n overrideContext: null\n });\n\n this._simpleWidgetCreatorService.updatePopupOptions({\n idToolbar: \"sucheSpaltenAuswahlPopupToolbar\",\n caption: \"suche-spalten-auswahl.popup-titel\",\n options: this.spaltenAuswahlPopupOptions,\n commands: this.popupCommands,\n scopeContainer: this.scopeContainer\n });\n }\n unbind() {\n this.scopeContainer.disposeAll();\n this.scope = null;\n }\n\n showPopup() {\n this.loadSpalten();\n\n this.isTreeViewClearEnabled = this.treeViewDataSource.some(c => c.Selected == true);\n this.spaltenAuswahlPopup.instance.show()\n }\n\n private onSpaltenAuswahlDone() {\n const selectedSpalten = this.getSelectedSpalten();\n const selectedColumns = this.getSelectedColumns(selectedSpalten);\n\n this.additionalColumns = selectedSpalten.map(c => c.Key);\n this.dataGrid.setOption({ columns: selectedColumns });\n this.setLayout(selectedColumns);\n\n this.spaltenAuswahlPopup.instance.hide();\n }\n private loadSpalten() {\n const eigenshaftList = [];\n const currentColumns: DevExpress.ui.dxDataGridColumn[] = this.dataGrid.instance.getVisibleColumns();\n\n this._objektExportEigenschaftService.getExportEigenschaftListByFullname(this.objektFullName).forEach((c) => {\n c.Selected = currentColumns.some(col => col.dataField === `Prop${c.Id}`)\n\n eigenshaftList.push(c);\n });\n\n this.treeViewDataSource = eigenshaftList;\n }\n\n private getSelectedColumns(selectedSpalten: IObjektExportEigenschaftData[]): DevExpress.ui.dxDataGridColumn[] {\n const currentColumns: DevExpress.ui.dxDataGridColumn[] = this.dataGrid.instance.option(\"columns\");\n\n const visibleColumns: DevExpress.ui.dxDataGridColumn[] = [];\n\n currentColumns.forEach((c) => {\n if (!c.dataField.startsWith(\"Prop\")) {\n visibleColumns.push(c);\n return;\n }\n\n const spalte = selectedSpalten.find(s => c.dataField === `Prop${s.Id}`)\n if (spalte) {\n c.format = spalte.Format ? this._globalizationService.getFormatter(spalte.Format) : null;\n c.caption = spalte.Bezeichnung;\n c.allowSorting = spalte.AllowSorting;\n visibleColumns.push(c);\n }\n });\n\n selectedSpalten.forEach(s => {\n const isAdded = currentColumns.some(c => c.dataField === `Prop${s.Id}`)\n if (isAdded) {\n return;\n }\n\n visibleColumns.push({\n caption: s.Bezeichnung,\n dataField: `Prop${s.Id}`,\n format: s.Format ? this._globalizationService.getFormatter(s.Format) : null,\n allowSorting: s.AllowSorting\n })\n });\n\n return visibleColumns;\n }\n\n private setLayout(selectedColumns: DevExpress.ui.dxDataGridColumn[]) {\n const layout: ILoginprofilEinstellung = this.activeGridLayoutDic[this.objektFullName];\n if (layout && layout.Id) {\n return;\n }\n\n const columns = this._objektExportEigenschaftService.getExportGridColumns(this.dataGrid.instance);\n\n const newLayout: ILoginprofilEinstellung = {\n Id: null,\n Typ: this.typ,\n Bezeichnung: null,\n Entitaet: this.objektFullName,\n Wert: {\n Columns: columns,\n Custom: null\n }\n }\n\n this.activeGridLayoutDic[this.objektFullName] = newLayout;\n this.dispatchSpaltenChangedEvent();\n }\n private getSelectedSpalten() {\n return this.treeViewDataSource.filter(c => c.KeyParent && c.Selected == true);\n }\n\n private dispatchSpaltenChangedEvent() {\n const event = new CustomEvent(\"on-spalten-changed\", {\n detail: {\n sender: this\n },\n bubbles: true\n });\n\n this._element.dispatchEvent(event);\n }\n}\n","module.exports = \" \";","import { autoinject, bindable, createOverrideContext, observable, BindingEngine, Disposable } from \"aurelia-framework\";\nimport { IZitTagOptions } from '../../../zit-ui/elements/zit-tag/export';\nimport { ScopeContainer } from '../../../framework/base/export';\nimport { IToolbarOptions } from '../../../framework/forms/elements/toolbar/toolbar-options';\nimport { IItem } from '../../../framework/forms/elements/toolbar/item';\nimport { IListViewOptions } from '../../../framework/forms/elements/list-view/list-view-options';\nimport { ListView } from '../../../framework/forms/export';\n\n@autoinject\nexport class TagList {\n private _collectionSubscription: Disposable;\n private _dataSource: any[] = [];\n\n constructor(\n private _element: Element,\n private _bindingEngine: BindingEngine\n ) {}\n\n @bindable titel: string;\n @bindable @observable dataSource: any[];\n @bindable tagOptions: IZitTagOptions;\n @bindable supportsAdd: boolean;\n\n scopeContainer: ScopeContainer;\n toolbarOptions: IToolbarOptions;\n listViewOptions: IListViewOptions;\n listView: ListView;\n\n bind(bindingContext, overrideContext) {\n this.scopeContainer = new ScopeContainer({\n bindingContext: this,\n overrideContext: createOverrideContext(bindingContext, overrideContext)\n });\n\n this.toolbarOptions = {\n title: this.titel,\n icon: null,\n smallToolbar: true,\n items: this.getToolbarItems(),\n scopeContainer: this.scopeContainer\n };\n\n this.listViewOptions = {\n dataSource: new DevExpress.data.DataSource(new DevExpress.data.ArrayStore({ data: this._dataSource })),\n useDefaultListItemStyle: false,\n itemClass: \"z--tag-list-view\"\n };\n\n this.updateDataSourceObserver();\n }\n unbind() {\n this.scopeContainer.disposeAll();\n this.scopeContainer = null;\n\n this.updateDataSourceObserver(true);\n }\n\n dataSourceChanged() {\n this.updateDataSource();\n this.updateDataSourceObserver();\n }\n\n private getToolbarItems() {\n return [{\n id: \"add\",\n icon: \"fas fa-plus\",\n isVisibleExpression: \"supportsAdd\",\n execute: () => {\n this._element.dispatchEvent(new CustomEvent(\n \"on-tag-list-add\", {\n bubbles: true\n }\n ))\n }\n }];\n }\n private updateDataSource() {\n this._dataSource.splice(0, this._dataSource.length);\n (this.dataSource || []).forEach(i => this._dataSource.push(i));\n \n this.listViewOptions.dataSource.reload();\n }\n private updateDataSourceObserver(onlyDispose: boolean = false) {\n if (this._collectionSubscription) {\n this._collectionSubscription.dispose(),\n this._collectionSubscription = null;\n }\n\n if (onlyDispose) {\n return;\n }\n\n if (!this.dataSource) {\n return;\n }\n\n this._collectionSubscription = this._bindingEngine.collectionObserver(this.dataSource).subscribe(() => {\n this.updateDataSource();\n });\n }\n}","module.exports = \" \";","import { autoinject } from \"aurelia-framework\";\nimport { EventAggregator } from \"aurelia-event-aggregator\";\nimport { IdxPopupComponent, IdxValidationGroupComponent } from '../../interfaces/export';\nimport { ScopeContainer, DataSourceService, RestService, LocalizationService } from '../../../framework/base/export';\nimport { SimpleWidgetCreatorService, ICommandData, DialogConfirmService } from '../../../framework/forms/export';\n\n@autoinject\nexport class TerminEmpfaengerUmbuchen {\n private _showOptions: ITerminEmpfaengerUmbuchenShowOptions;\n\n constructor(\n private _simpleWidgetCreatorService: SimpleWidgetCreatorService,\n private _dataSourceService: DataSourceService,\n private _restService: RestService,\n private _eventAggregator: EventAggregator,\n private _dialogConfirmService: DialogConfirmService,\n private _localizationService: LocalizationService\n ) {}\n\n scopeContainer: ScopeContainer;\n idTerminZiel: number;\n\n validationGroup: IdxValidationGroupComponent;\n\n popup: IdxPopupComponent;\n popupOptions: DevExpress.ui.dxPopupOptions = {\n contentTemplate: \"contentTemplate\",\n maxWidth: \"500px\",\n height: \"auto\"\n }\n popupCommands: ICommandData[] = [{\n id: \"terminEmpfaengerUmbuchenSaveCommand\",\n icon: \"fas fa-check\",\n tooltip: \"base.save\",\n sortIndex: 1010,\n execute: async () => {\n const result = this.validationGroup.instance.validate();\n if (!result.isValid) {\n return;\n }\n\n const dialogResult = await this._dialogConfirmService.show({\n title: this._localizationService.translateOnce(\"base.question\"),\n message: \"Wollen Sie die Person wirklich umbuchen?\"\n });\n\n if (!dialogResult) {\n return;\n }\n\n await this._restService.post({\n url: this._restService.getApiUrl(\"ZIT/Termin/Umbuchen\"),\n data: {\n IdTerminQuelle: this._showOptions.idTermin,\n IdTerminEmpfaenger: this._showOptions.idTerminEmpfaenger,\n IdTerminZiel: this.idTerminZiel,\n },\n increaseLoadingCount: true\n });\n\n if (this._showOptions.doneCallback) {\n this._showOptions.doneCallback();\n }\n\n this._eventAggregator.publish(\"termin:changed\", {\n idTermin: this._showOptions.idTermin,\n isQuelle: true\n });\n\n this._eventAggregator.publish(\"termin:changed\", {\n idTermin: this.idTerminZiel,\n isZiel: true\n });\n\n DevExpress.ui.notify(\n \"Empfänger wurde umgebucht\",\n \"success\",\n 3000\n );\n\n this.popup.instance.hide();\n }\n }];\n\n terminDataSource: DevExpress.data.DataSource;\n terminSelectOptions: DevExpress.ui.dxSelectBoxOptions = {\n valueExpr: \"Id\",\n displayExpr: \"DisplayText\",\n searchEnabled: true,\n searchExpr: \"DisplayText\",\n bindingOptions: {\n value: \"idTerminZiel\"\n }\n }\n\n requiredValidatorOptions: DevExpress.ui.dxValidatorOptions = {\n validationRules: [{ type: \"required\" }]\n };\n\n bind() {\n this.scopeContainer = new ScopeContainer({\n bindingContext: this,\n overrideContext: null\n });\n\n this._simpleWidgetCreatorService.updatePopupOptions({\n idToolbar: \"terminEmpfUmbuchenToolbar\",\n caption: \"termin-empfaenger-umbuchen.titel\",\n options: this.popupOptions,\n commands: this.popupCommands,\n scopeContainer: this.scopeContainer\n });\n\n this.terminDataSource = this._dataSourceService.createDataSource(\n this.scopeContainer, {\n webApiAction: \"ZIT/Objekte/Termin\",\n webApiColumns: [\"Id\", \"DisplayText\"],\n webApiOrderBy: [{ columnName: \"Kopf.StartDatum\", sortOrder: 0 }, { columnName: \"DisplayText\", sortOrder: 0 }]\n }, {\n canLoad: () => {\n return this._showOptions && this._showOptions.idTermin > 0;\n },\n getCustomFilters: () => {\n return [{webApiCustomKey: \"IdTerminUmbuchen\", webApiCustomValue: this._showOptions.idTermin.toString()}];\n }\n }\n );\n this.terminSelectOptions.dataSource = this.terminDataSource;\n }\n unbind() {\n this.scopeContainer.disposeAll();\n this.scopeContainer = null;\n }\n\n showPopup(showOptions: ITerminEmpfaengerUmbuchenShowOptions) {\n this._showOptions = showOptions;\n this.idTerminZiel = null\n \n this.terminDataSource.reload();\n this.popup.instance.show();\n }\n}\n\nexport interface ITerminEmpfaengerUmbuchenShowOptions {\n idTermin: number;\n idTerminEmpfaenger: number;\n\n doneCallback?: {(): void};\n}","module.exports = \"\";","import { autoinject, computedFrom, observable } from \"aurelia-framework\";\nimport { ZustandService } from './../../services/zustand-service';\nimport { FormBase } from './../../../framework/forms/classes/form-base';\nimport { IdxSelectBoxComponent, IdxTextBoxComponent, IdxLookupComponent, IdxTextAreaComponent, IdxDataGridComponent } from './../../interfaces/dx-components';\nimport { SimpleWidgetCreatorService } from './../../../framework/forms/widget-services/simple-widget-creator-service';\nimport { ScopeContainer } from './../../../framework/base/classes/scope-container';\nimport { RestService } from './../../../framework/base/services/rest-service';\nimport { LocalizationService } from './../../../framework/base/services/localization-service';\nimport { IdxPopupComponent, IdxValidationGroupComponent } from '../../interfaces/export';\nimport { ICommandData, PopupInfoService } from '../../../framework/forms/export';\nimport { GlobalizationService, DataSourceService } from '../../../framework/base/export';\nimport { StartupService } from '../../services/export';\nimport { BenutzerTyp } from '../../enumerations/export';\nimport { EventAggregator } from 'aurelia-event-aggregator';\nimport { TerminEmpfaengerUmbuchen } from '../termin-empfaenger-umbuchen/termin-empfaenger-umbuchen';\n\n@autoinject\nexport class TerminEmpfaenger {\n private _terminEmpfaenger: any;\n private _terminEmpfMultiList: any[];\n private _repaintVerlaufGrid: boolean = false;\n private _savedCallBack: { (terminEmpfaenger?: any) };\n\n constructor(\n private localizationService: LocalizationService,\n private simpleWidgetCreator: SimpleWidgetCreatorService,\n private popupInfoService: PopupInfoService,\n private restService: RestService,\n private globalizationService: GlobalizationService,\n private startupService: StartupService,\n private eventAggregator: EventAggregator,\n private zustand: ZustandService,\n private dataSourceService: DataSourceService\n ) {\n this.isAdmin = this.startupService.startupInfo.Benutzer.Benutzertyp == BenutzerTyp.Administrator;\n this.isGeschaeftspartnerSchule = this.startupService.startupInfo.Benutzer.IsGeschaeftspartnerSchuleBenutzer;\n }\n\n @observable idSelectedGeschaeftspartner: number;\n\n form: FormBase;\n scopeContainer: ScopeContainer;\n\n editMode: EditMode;\n idTermin: number;\n isAdmin: boolean;\n isGeschaeftspartnerSchule: boolean;\n termin: any;\n terminEmpfaenger: any;\n selectedEmpfaengerName: any;\n isPersonSelectBoxVisible: boolean = false;\n isPersonTextBoxVisible: boolean = false;\n statusVerlaufDataSource: DevExpress.data.DataSource;\n zustandDataSource: DevExpress.data.DataSource;\n showVerlauf: boolean = false;\n terminEmpfaengerUmbuchen: TerminEmpfaengerUmbuchen;\n\n @computedFrom(\"editMode\", \"idTermin\", \"termin\")\n get canUmbuchen() {\n return this.editMode == EditMode.Single\n && this.idTermin\n && this.termin\n && this.termin.IsSchnuppertermin == false;\n }\n\n validationGroup: IdxValidationGroupComponent;\n validationGroupOptions: DevExpress.ui.dxValidationGroupOptions = {}\n\n notizValidationGroup: IdxValidationGroupComponent;\n notizValidationGroupOptions: DevExpress.ui.dxValidationGroupOptions = {}\n\n requiredValidatorOptions: DevExpress.ui.dxValidatorOptions = {\n validationRules: [{ type: \"required\" }]\n };\n\n terminEmpfaengerStatusPopup: IdxPopupComponent;\n terminEmpfaengerStatusPopupOptions: DevExpress.ui.dxPopupOptions = {\n height: \"auto\",\n maxWidth: \"700px\",\n title: this.localizationService.translateOnce(\"termin-empfaenger-status.termin-empfaenger-status\"),\n onShown: (e) => {\n if (this.editMode == EditMode.Single) {\n this.setPersonDataSource();\n }\n\n this.zustandDataSource = new DevExpress.data.DataSource(new DevExpress.data.CustomStore({\n loadMode: \"raw\",\n load: async () => {\n if (this.editMode == EditMode.Single) {\n return await this.zustand.getFolgezustandTerminEmpf([this.terminEmpfaenger.Id]);\n } else {\n const idTerminEmpfaengerList: number[] = [];\n\n for (let i of this._terminEmpfMultiList) {\n const terminEmpf = await this.getTerminEmpfaenger(i.IdTermin, i.IdPerson);\n if (!terminEmpf) {\n continue;\n }\n\n idTerminEmpfaengerList.push(terminEmpf.Id);\n }\n\n return await this.zustand.getFolgezustandTerminEmpf(idTerminEmpfaengerList);\n }\n }\n }));\n\n if (this.showVerlauf) {\n this.statusVerlaufGrid.instance.columnOption(\"BemerkungGeschaeftspartner\", \"visible\", (this.isAdmin || !this.isGeschaeftspartnerSchule));\n this.statusVerlaufGrid.instance.columnOption(\"BemerkungSchule\", \"visible\", (this.isAdmin || this.isGeschaeftspartnerSchule));\n\n this.statusVerlaufDataSource = new DevExpress.data.DataSource(\n new DevExpress.data.CustomStore({\n load: async (e) => {\n const r = await this.restService.get({\n url: this.restService.getApiUrl(\"ZIT/Termin/TerminEmpfaengerVerlauf\") + `?idTerminEmpfaenger=${this.terminEmpfaenger.Id}`\n });\n\n this._repaintVerlaufGrid = true;\n\n return {\n data: r\n };\n }\n }));\n } else {\n this.terminEmpfaengerStatusPopup.instance.repaint();\n }\n }\n };\n\n terminEmpfaengerNotizPopup: IdxPopupComponent;\n terminEmpfaengerNotizPopupOptions: DevExpress.ui.dxPopupOptions = {\n height: \"auto\",\n maxWidth: \"780px\",\n title: this.localizationService.translateOnce(\"termin-empfaenger-status.notiz\"),\n onShowing: () => {\n if (this.textmarkenSelectBox && this.textmarkenSelectBox.instance) {\n this.textmarkenSelectBox.instance.option(\"value\", null);\n }\n }\n };\n\n personAuswaehlenLookup: IdxLookupComponent;\n personAuswaehlenLookupOptions: DevExpress.ui.dxLookupOptions = {\n valueExpr: \"Id\",\n displayExpr: \"Titel\",\n itemTemplate: \"zit-person-template\",\n bindingOptions: {\n value: \"terminEmpfaenger.IdPerson\"\n }\n };\n\n personTextBox: IdxTextBoxComponent\n personTextBoxOptions: DevExpress.ui.dxTextBoxOptions = {\n readOnly: true,\n bindingOptions: {\n value: \"selectedEmpfaengerName\"\n }\n };\n\n bemerkungTextArea: IdxTextAreaComponent\n bemerkungTextAreaOptions: DevExpress.ui.dxTextAreaOptions = {\n height: \"100px\",\n bindingOptions: {\n value: \"terminEmpfaenger.Bemerkung\"\n }\n };\n\n bemerkungSchuleTextArea: IdxTextAreaComponent\n bemerkungSchuleTextAreaOptions: DevExpress.ui.dxTextAreaOptions = {\n height: \"100px\",\n bindingOptions: {\n value: \"terminEmpfaenger.BemerkungSchule\"\n }\n };\n\n textmarken: any[] = [\n { Bezeichnung: \"Anrede\", Value: \"{Anrede}\" },\n { Bezeichnung: \"Vorname\", Value: \"{Vorname}\" },\n { Bezeichnung: \"Nachname\", Value: \"{Nachname}\" }\n ];\n\n textmarkenSelectBox: IdxSelectBoxComponent;\n textmarkenSelectBoxOptions: DevExpress.ui.dxSelectBoxOptions = {\n valueExpr: \"Value\",\n displayExpr: \"Bezeichnung\",\n placeholder: \"Auswählen...\",\n bindingOptions: {\n dataSource: \"textmarken\"\n },\n onItemClick: (e) => {\n this.insertTextMarken(\"notizTextArea\", e.itemData.Bezeichnung);\n },\n };\n\n notizTextArea: IdxTextBoxComponent\n notizTextAreaOptions: DevExpress.ui.dxTextAreaOptions = {\n height: \"400px\",\n bindingOptions: {\n value: \"terminEmpfaenger.Notiz\"\n }\n };\n\n statusAuswaehlenSelectBox: IdxSelectBoxComponent;\n statusAuswaehlenSelectBoxOptions: DevExpress.ui.dxSelectBoxOptions = {\n valueExpr: \"IdZustand\",\n displayExpr: \"ZustandBezeichnung\",\n bindingOptions: {\n dataSource: \"zustandDataSource\",\n value: \"terminEmpfaenger.IdStatusZustand\"\n }\n };\n\n statusVerlaufGrid: IdxDataGridComponent;\n statusVerlaufGridOptions: DevExpress.ui.dxDataGridOptions = {\n paging: {\n pageSize: 10\n },\n hoverStateEnabled: true,\n searchPanel: {\n visible: true\n },\n columns: [\n { dataField: \"Zeitpunkt\", caption: this.localizationService.translateOnce(\"termin-empfaenger-status.zeitpunkt\"), format: this.globalizationService.getFormatter(\"g\") },\n { dataField: \"StatusDisplayName\", caption: this.localizationService.translateOnce(\"termin-empfaenger-status.status\") },\n { dataField: \"BemerkungGeschaeftspartner\", caption: this.localizationService.translateOnce(\"termin-empfaenger-status.bemerkung-gp\") },\n { dataField: \"BemerkungSchule\", caption: this.localizationService.translateOnce(\"termin-empfaenger-status.bemerkung-schule\") },\n { dataField: \"Aenderungsbenutzer\", caption: this.localizationService.translateOnce(\"termin-empfaenger-status.aenderungsbenutzer\") }\n ],\n bindingOptions: {\n dataSource: \"statusVerlaufDataSource\"\n },\n onContentReady: () => {\n if (this._repaintVerlaufGrid) {\n this.terminEmpfaengerStatusPopup.instance.repaint();\n }\n }\n };\n\n statusPopupCommands: ICommandData[] = [{\n id: \"terminEmpfaengerUmbuchenCommand\",\n icon: \"far fa-share-square\",\n title: \"termin-empfaenger-status.umbuchen\",\n isVisibleExpression: \"canUmbuchen\",\n sortIndex: 1009,\n execute: async () => {\n this.terminEmpfaengerUmbuchen.showPopup({\n idTermin: this.idTermin, \n idTerminEmpfaenger: this.terminEmpfaenger.Id,\n doneCallback: () => {\n this.terminEmpfaengerStatusPopup.instance.hide();\n }\n });\n }\n }, {\n id: \"terminEmpfaengerSaveCommand\",\n icon: \"fas fa-check\",\n tooltip: \"base.save\",\n sortIndex: 1010,\n execute: async () => {\n const result = this.validationGroup.instance.validate();\n if (!result.isValid) {\n return;\n }\n\n await this.showNotizErstellen();\n }\n }];\n\n notizPopupCommands: ICommandData[] = [\n {\n id: \"terminEmpfaengerNotizSaveCommand\",\n icon: \"fas fa-check\",\n tooltip: \"base.save\",\n sortIndex: 1010,\n execute: async () => {\n const result = this.notizValidationGroup.instance.validate();\n if (!result.isValid) {\n return;\n }\n\n this.save();\n\n this.popupInfoService.closeAllPopups();\n }\n }\n ];\n\n bind() {\n this.scopeContainer = new ScopeContainer({\n bindingContext: this,\n overrideContext: null\n });\n\n this.simpleWidgetCreator.updatePopupOptions({\n idToolbar: \"terminEmpfaengerStatusPopupToolbar\",\n caption: \"termin-empfaenger-status.termin-empfaenger-status\",\n options: this.terminEmpfaengerStatusPopupOptions,\n commands: this.statusPopupCommands,\n scopeContainer: this.scopeContainer\n });\n\n this.simpleWidgetCreator.updatePopupOptions({\n idToolbar: \"terminEmpfaengerNotizPopupToolbar\",\n caption: \"termin-empfaenger-status.notiz\",\n options: this.terminEmpfaengerNotizPopupOptions,\n commands: this.notizPopupCommands,\n scopeContainer: this.scopeContainer\n });\n }\n\n unbind() {\n this.scopeContainer.disposeAll();\n this.scopeContainer = null;\n }\n\n async showStatusPopup(idTermin: number, terminEmpfaenger: any | number, savedCallback?: { (terminEmpfaenger: any) }) {\n this.init();\n this.editMode = EditMode.Single;\n this.idTermin = idTermin;\n\n this.termin = await this.getTermin(idTermin);\n\n if (typeof terminEmpfaenger == \"number\") {\n const r = await this.getTerminEmpfaenger(idTermin, terminEmpfaenger);\n\n if (!r) {\n DevExpress.ui.notify(\"Es wurde kein Empfängerstatus gefunden\", \"error\", 3000);\n return;\n }\n\n terminEmpfaenger = r;\n }\n\n this._terminEmpfaenger = terminEmpfaenger;\n this.terminEmpfaenger = Object.assign({}, terminEmpfaenger);\n\n if (this.terminEmpfaenger.IdPerson) {\n this.isPersonTextBoxVisible = true;\n } else {\n this.isPersonSelectBoxVisible = true;\n }\n\n if (this.terminEmpfaenger && this.terminEmpfaenger.Id) {\n this.showVerlauf = true;\n }\n\n this.selectedEmpfaengerName = terminEmpfaenger.EmpfaengerName ? terminEmpfaenger.EmpfaengerName : terminEmpfaenger.Titel;\n\n this._savedCallBack = savedCallback;\n this.terminEmpfaengerStatusPopup.instance.show();\n }\n async showStatusPopupMulti(terminEmpfMultiList: any[]) {\n this.init();\n this.editMode = EditMode.Multi;\n\n this.termin = null;\n this._terminEmpfMultiList = terminEmpfMultiList;\n\n this._savedCallBack = null;\n this.terminEmpfaengerStatusPopup.instance.show();\n }\n\n async setPersonDataSource(): Promise {\n const dataSource = this.dataSourceService.createDataSource(\n this.scopeContainer, {\n webApiAction: \"ZIT/Objekte/Person\",\n webApiColumns: [\"Id\", \"Titel\"],\n filters: [{\n webApiCustomKey: \"AddPersonCard\",\n webApiCustomValue: \"true\"\n }]\n }\n );\n\n if (this.personAuswaehlenLookup) {\n this.personAuswaehlenLookup.instance.option(\"dataSource\", dataSource);\n } else {\n this.personAuswaehlenLookupOptions.dataSource = dataSource;\n }\n }\n\n private init() {\n this.idTermin = null;\n this.showVerlauf = false;\n this.isPersonSelectBoxVisible = false;\n this.isPersonTextBoxVisible = false;\n this._terminEmpfaenger = {};\n this.terminEmpfaenger = {};\n }\n private async getTermin(idTermin: number) {\n if (!idTermin) {\n return null;\n }\n\n return await this.restService.get({\n url: this.restService.getWebApiUrl(`ZIT/Objekte/Termin/${idTermin}`),\n getOptions: {\n columns: [\"Id\", \"IsSchnuppertermin\"]\n },\n increaseLoadingCount: true\n });\n }\n private async getTerminEmpfaenger(idTermin: number, idPerson: number) {\n const r = await this.restService.get({\n url: this.restService.getWebApiUrl(\"ZIT/Objekte/TerminEmpfaengerElement\"),\n getOptions: {\n where: [[\"IdTermin\", idTermin], [\"IdPerson\", idPerson]]\n },\n increaseLoadingCount: true\n });\n\n if (r.length == 0) {\n return null;\n }\n\n return r[0];\n }\n private async save() {\n Object.assign(this._terminEmpfaenger, this.terminEmpfaenger);\n this._terminEmpfaenger._IdStatusZustand = this._terminEmpfaenger.IdStatusZustand;\n\n if (this.editMode == EditMode.Single) {\n if (this.idTermin) {\n const r = await this.saveData(this._terminEmpfaenger);\n\n Object.assign(this._terminEmpfaenger, r);\n delete this._terminEmpfaenger._IdStatusZustand;\n DevExpress.ui.notify(this.localizationService.translateOnce(\"base.save_success\"), \"SUCCESS\", 3000);\n }\n\n if (this._savedCallBack) {\n this._savedCallBack(this._terminEmpfaenger);\n }\n } else if (this.editMode == EditMode.Multi) {\n for (let i of this._terminEmpfMultiList) {\n const terminEmpf = await this.getTerminEmpfaenger(i.IdTermin, i.IdPerson);\n if (!terminEmpf) {\n continue;\n }\n\n const data = Object.assign({}, this._terminEmpfaenger, {\n Id: terminEmpf.Id,\n IdTermin: i.IdTermin,\n IdPerson: i.IdPerson\n });\n\n const r = await this.saveData(data);\n }\n\n DevExpress.ui.notify(this.localizationService.translateOnce(\"base.save_success\"), \"SUCCESS\", 3000);\n }\n\n this.terminEmpfaengerStatusPopup.instance.hide();\n }\n private async saveData(data) {\n const r = await this.restService.post({\n url: this.restService.getWebApiUrl(`ZIT/Objekte/TerminEmpfaengerElement`),\n data: data,\n increaseLoadingCount: true\n });\n\n if (!r) {\n return;\n }\n\n this.eventAggregator.publish(\"termin-empf:changed\", {\n idTermin: r.IdTermin,\n idPerson: r.IdPerson\n });\n\n return r;\n }\n private async showNotizErstellen() {\n const zustand = await this.restService.get({\n url: this.restService.getWebApiUrl(\"ZIT/Stammdaten/Zustand/\".concat(this.terminEmpfaenger.IdStatusZustand)),\n getOptions: {\n columns: [\"Id\", \"Code\"]\n }\n });\n\n if (zustand && zustand.Code == \"ZUM_TERMIN_EINLADEN\") {\n const doNotizErstellen = await DevExpress.ui.dialog.confirm(\n this.localizationService.translateOnce(\"termin-empfaenger-status.message_question\"),\n this.localizationService.translateOnce(\"base.question\"));\n\n if (!doNotizErstellen) {\n return this.save();\n }\n\n this.terminEmpfaengerNotizPopup.instance.show();\n } else {\n this.save();\n }\n }\n\n private insertTextMarken(ref: string, value: string) {\n const element: Element = this.scopeContainer.scope.bindingContext[ref].element;\n const input = element.querySelectorAll(\"input, textarea\").item(0);\n input.focus();\n\n this.insertAtCursor(input, `{{${value}}}`);\n }\n\n private insertAtCursor(input: HTMLInputElement, value: string) {\n const doc: any = document;\n\n if (doc.selection) {\n const sel = doc.selection.createRange();\n sel.text = value;\n } else if (input.selectionStart || input.selectionStart == 0) {\n const startPos = input.selectionStart;\n const endPos = input.selectionEnd;\n\n input.value = input.value.substring(0, startPos)\n + value\n + input.value.substring(endPos);\n } else {\n input.value = (input.value || \"\") + value;\n }\n\n input.dispatchEvent(new Event(\"change\"));\n }\n}\n\nenum EditMode {\n Single = 0,\n Multi = 1\n}\n","module.exports = \" \";","import { autoinject } from \"aurelia-framework\";\nimport { EventAggregator, Subscription } from 'aurelia-event-aggregator';\nimport { TooltipService, ITooltipWidget } from '../../services/tooltip-service';\n\n@autoinject\nexport class TooltipConfig {\n private _tooltipWidgetChangedSubscription: Subscription;\n\n constructor(\n private eventAggregator: EventAggregator,\n private tooltipService: TooltipService\n ) {}\n\n currentWidget: ITooltipWidget;\n currentTooltip: string;\n\n textBoxOptions: DevExpress.ui.dxTextBoxOptions = {\n bindingOptions: {\n value: \"currentTooltip\",\n hint: \"currentWidget.key\",\n readOnly: \"!currentWidget\"\n }\n }\n saveOptions: DevExpress.ui.dxButtonOptions = {\n elementAttr: {\n class: \"z--button z--button-round\"\n },\n icon: \"fas fa-save\",\n onClick: () => {\n if (!this.currentWidget) {\n return;\n }\n\n this.tooltipService.updateTooltip(this.currentWidget, this.currentTooltip);\n },\n bindingOptions: {\n disabled: \"!currentWidget\"\n }\n }\n \n bind() {\n this._tooltipWidgetChangedSubscription = this.eventAggregator.subscribe(\"tooltip:widget-changed\", e => {\n const widget: ITooltipWidget = e.tooltipWidget;\n if (!widget) {\n return;\n }\n\n this.currentWidget = widget;\n this.currentTooltip = widget.currentTooltip;\n });\n }\n unbind() {\n this._tooltipWidgetChangedSubscription.dispose();\n }\n}\n","module.exports = \" \";","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.id, \".z--tooltip-config {\\n position: fixed;\\n display: flex;\\n align-items: center;\\n left: 0;\\n bottom: 0;\\n padding: 6px;\\n width: 300px;\\n z-index: 9999;\\n background-color: #F5F5F5;\\n border: 1px solid #ddd;\\n}\\n.z--tooltip-config > *:nth-child(1) {\\n flex-grow: 1;\\n}\\n.z--tooltip-config > *:not(:first-child) {\\n margin-left: 6px;\\n}\\n\", \"\"]);\n// Exports\nmodule.exports = exports;\n","import { autoinject, computedFrom } from 'aurelia-framework';\nimport { LocalizationService, ScopeContainer, FileService } from '../../../framework/base/export';\nimport { SimpleWidgetCreatorService } from '../../../framework/forms/export';\nimport { IdxPopupComponent } from '../../interfaces/export';\nimport { StartupService } from '../../services/startup-service';\nimport { BenutzereinstellungenService } from '../../services/benutzereinstellungen-service';\n@autoinject\nexport class WhatsappAktivieren {\n constructor(\n private benutzereinstellungen: BenutzereinstellungenService,\n private file: FileService,\n private localization: LocalizationService,\n private simpleWidgetCreator: SimpleWidgetCreatorService,\n private startupService: StartupService\n ) { }\n\n scopeContainer: ScopeContainer;\n\n @computedFrom(\"startupService.startupInfo.Mandant.WhatsAppTelefonnummer\")\n get whatsappTelefon() {\n return this.startupService.startupInfo.Mandant.WhatsAppTelefonnummer;\n }\n @computedFrom(\"startupService.startupInfo.Mandant.DMSLinkVisitenkarte\")\n get dmsLinkVisitenkarte() {\n return this.file.getDownloadUrl(this.startupService.startupInfo.Mandant.DMSLinkVisitenkarte);\n }\n\n whatsappAktivierenPopup: IdxPopupComponent;\n whatsappAktivierenPopupOptions: DevExpress.ui.dxPopupOptions = {\n title: this.localization.translateOnce(\"whatsapp-aktivieren.popup-titel\"),\n height: \"auto\",\n maxWidth: \"650px\",\n maxHeight: \"80%\"\n }\n\n bind() {\n this.scopeContainer = new ScopeContainer({\n bindingContext: this,\n overrideContext: null\n });\n\n this.simpleWidgetCreator.updatePopupOptions({\n idToolbar: \"whatsappAktivierenPopupToolbar\",\n caption: \"whatsapp-aktivieren.popup-titel\",\n options: this.whatsappAktivierenPopupOptions,\n scopeContainer: this.scopeContainer\n });\n }\n unbind() {\n this.scopeContainer.disposeAll();\n }\n\n showPopup() {\n this.whatsappAktivierenPopup.instance.show();\n }\n}\n","module.exports = \" \";","import { computedFrom } from 'aurelia-framework';\nimport { autoinject, OverrideContext, Scope } from 'aurelia-framework';\nimport { ScopeContainer, LocalizationService, AuthorizationService } from '../../../framework/base/export';\nimport { SimpleWidgetCreatorService, ICommandData } from '../../../framework/forms/export';\nimport { DataSourceService, RestService } from '../../../framework/base/services/export';\nimport { ILoeschenBenutzerData } from '../../interfaces/export';\nimport { BenutzereinstellungenService } from '../../services/benutzereinstellungen-service';\nimport { IdxValidationGroupComponent, IdxSelectBoxComponent, IdxPopupComponent } from '../../interfaces/export';\nimport { GrundTyp } from '../../enumerations/export';\nimport { FileService } from '../../../framework/base/services/file-service';\n\n@autoinject\nexport class Willkommensseite {\n constructor(\n private benutzereinstellungen: BenutzereinstellungenService,\n private file: FileService,\n private localization: LocalizationService,\n private rest: RestService,\n private simpleWidgetCreator: SimpleWidgetCreatorService\n ) { }\n\n scope: Scope;\n scopeContainer: ScopeContainer;\n\n isWillkommensseiteDeaktiviert: boolean;\n\n willkommensseiteList: IWillkomensseiteData[];\n myTitel: string;\n\n popupCommands: ICommandData[] = [\n {\n id: \"deaktiviertWillkommensseite\",\n idCategory: \"$close\",\n title: \"willkommensseite.deaktiviert-command-titel\",\n sortIndex: 1010,\n execute: () => {\n this.isWillkommensseiteDeaktiviert = true;\n\n this.willkommensseitePopup.instance.hide();\n }\n }\n ];\n\n willkommenGalleryOptions: DevExpress.ui.dxGalleryOptions = {\n itemTemplate: \"willkommensseiteTemplate\",\n width: \"100%\",\n animationDuration: 400,\n slideshowDelay: 5000,\n showNavButtons: true,\n loop: true,\n onSelectionChanged: (e) => {\n this.onGallerySeiteChanged(e.addedItems[0]);\n },\n bindingOptions: {\n dataSource: \"willkommensseiteList\"\n }\n };\n\n willkommensseitePopup: IdxPopupComponent;\n willkommensseitePopupOptions: DevExpress.ui.dxPopupOptions = {\n width: \"1000px\",\n height: \"auto\",\n maxWidth: \"90%\",\n closeOnOutsideClick: true,\n onHidden: () => {\n this.handleDeaktiviertChanged();\n }\n }\n\n bind(bindingContext: any, overrideContext: OverrideContext) {\n this.scope = {\n bindingContext: bindingContext,\n overrideContext: overrideContext\n };\n\n this.scopeContainer = new ScopeContainer({\n bindingContext: this,\n overrideContext: null\n });\n\n this.simpleWidgetCreator.updatePopupOptions({\n idToolbar: \"benutzerLoeschenPopupToolbar\",\n caption: \"willkommensseite.test\",\n options: this.willkommensseitePopupOptions,\n commands: this.popupCommands,\n scopeContainer: this.scopeContainer\n });\n }\n unbind() {\n this.scopeContainer.disposeAll();\n this.scope = null;\n }\n\n async showPopup() {\n this.isWillkommensseiteDeaktiviert = this.benutzereinstellungen.benutzereinstellungenData.IsWillkommensseiteDeaktiviert;\n\n this.willkommensseiteList = await this.loadWillkommensseiteList();\n\n if (!this.willkommensseiteList || !this.willkommensseiteList.length) {\n return;\n }\n\n this.onGallerySeiteChanged(this.willkommensseiteList[0]);\n\n this.willkommensseitePopup.instance.show();\n }\n\n onGallerySeiteChanged(neuSeite: IWillkomensseiteData) {\n if (neuSeite == void 0) {\n return;\n }\n\n if (neuSeite._inlineLinkBild == void 0) {\n neuSeite._inlineLinkBild = this.file.getInlineUrl(neuSeite.DMSLinkBild)\n }\n \n this.myTitel = neuSeite.Ueberschrift;\n }\n private handleDeaktiviertChanged() {\n if (this.isWillkommensseiteDeaktiviert == this.benutzereinstellungen.benutzereinstellungenData.IsWillkommensseiteDeaktiviert) {\n return\n }\n\n this.benutzereinstellungen.saveWillkommensseiteGelesen(this.isWillkommensseiteDeaktiviert);\n }\n\n private async loadWillkommensseiteList() {\n const jetzt = new Date();\n jetzt.setHours(0, 0, 0, 0);\n\n return this.rest.get({\n url: this.rest.getWebApiUrl(\"ZIT/Stammdaten/Willkommensseite\"),\n getOptions: {\n where: [[\"GueltigBis\", \">=\", jetzt], \"and\", [\"GueltigVon\", \"<=\", jetzt]]\n }\n });\n }\n}\nexport interface IWillkomensseiteData {\n DMSLinkBild: string,\n Ueberschrift: string,\n TextFarbe: string,\n TextHintergrundFarbe: string,\n Text: string,\n _inlineLinkBild?: string\n}\n","module.exports = \" \";","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.id, \".zit-gallery-container dx-widget {\\n width: 100%;\\n}\\n.zit-gallery-container .dx-gallery-indicator {\\n height: 32px;\\n}\\n.zit-gallery-container .dx-gallery-indicator .dx-gallery-indicator-item {\\n height: 20px;\\n width: 20px;\\n border-color: lightgray;\\n}\\n.zit-gallery-container .dx-gallery-indicator-item-active,\\n.zit-gallery-container .dx-gallery-indicator-item-selected {\\n background-color: lightslategrey;\\n}\\n.zit-gallery-container .dx-gallery .dx-gallery-nav-button-prev.dx-state-hover:after,\\n.zit-gallery-container .dx-gallery .dx-gallery-nav-button-next.dx-state-hover:after {\\n background-color: rgba(96, 96, 96, 0.5);\\n}\\n.zit-gallery-container .dx-gallery .dx-gallery-nav-button-prev.dx-state-active:after,\\n.zit-gallery-container .dx-gallery .dx-gallery-nav-button-next.dx-state-active:after {\\n background-color: rgba(96, 96, 96, 0.5);\\n}\\n.zit-gallery-container .dx-gallery-nav-button-prev,\\n.zit-gallery-container .dx-gallery-nav-button-next {\\n width: 35px;\\n}\\n.zit-gallery-container .dx-gallery-nav-button-prev.dx-state-hover:before,\\n.zit-gallery-container .dx-gallery-nav-button-next.dx-state-hover:before,\\n.zit-gallery-container .dx-gallery-nav-button-prev.dx-state-active:before,\\n.zit-gallery-container .dx-gallery-nav-button-next.dx-state-active:before {\\n color: lightgray;\\n}\\n.zit-gallery-container .dx-gallery-nav-button-prev:before,\\n.zit-gallery-container .dx-gallery-nav-button-next:before,\\n.zit-gallery-container .dx-gallery-nav-button-prev:after,\\n.zit-gallery-container .dx-gallery-nav-button-next:after {\\n font-family: DXIcons;\\n color: lightgray;\\n}\\n.zit-gallery-container .dx-gallery-wrapper {\\n min-height: 540px;\\n height: 540px;\\n}\\n.zit-gallery-container .zit-item-gallery {\\n position: relative;\\n height: 540px;\\n min-height: 540px;\\n background-repeat: no-repeat;\\n background-position: top center;\\n background-size: cover;\\n}\\n.zit-item-gallery-text {\\n position: absolute;\\n display: flex;\\n height: 500px;\\n top: 0;\\n right: 45px;\\n left: 45px;\\n margin-top: 20px;\\n font-size: 1.2em;\\n overflow: hidden;\\n}\\n.zit-item-gallery-text > div {\\n align-self: center;\\n padding: 12px;\\n overflow: auto;\\n max-height: 500px;\\n text-align: left;\\n}\\nbody.t--is-mobile .zit-item-gallery-text {\\n width: 100%;\\n right: 0;\\n}\\n\", \"\"]);\n// Exports\nmodule.exports = exports;\n","import { autoinject, bindable, Scope, observable } from \"aurelia-framework\";\n\n@autoinject\nexport class ZButton {\n constructor(\n private _element: Element\n ) {}\n\n @bindable icon: string = \"\";\n @bindable text: string = \"\";\n @bindable orientation: \"left\" | \"right\" = \"left\";\n @bindable backgroundColor: string = \"\";\n @bindable @observable selected: boolean = false;\n @bindable selectedBackgroundColor: string = \"\";\n @bindable color: string = \"\";\n @bindable selectedColor: string = \"\";\n @bindable tooltip: string = \"\";\n @bindable isRound: boolean = true;\n\n buttonCss: any = {};\n\n bind() {\n this.udpateButtonCss();\n }\n\n onClick() {\n this._element.dispatchEvent(new CustomEvent(\n \"on-button-click\", {\n bubbles: true\n }\n ));\n }\n\n selectedChanged() {\n this.udpateButtonCss();\n }\n\n private udpateButtonCss() {\n const newStyle: any = {};\n\n if (this.selected && this.selectedBackgroundColor) {\n newStyle[\"background-color\"] = this.selectedBackgroundColor;\n } else if (!this.selected && this.backgroundColor) {\n newStyle[\"background-color\"] = this.backgroundColor;\n }\n\n if (this.selected && this.selectedColor) {\n newStyle[\"color\"] = this.selectedColor;\n } else if (!this.selected && this.color) {\n newStyle[\"color\"] = this.color;\n }\n\n this.buttonCss = newStyle;\n }\n}","module.exports = \"\";","import {\n FrameworkConfiguration,\n PLATFORM\n} from \"aurelia-framework\";\nimport \"./styles/styles.less\";\n\nexport function configure(config: FrameworkConfiguration) {\n config\n .globalResources(PLATFORM.moduleName(\"./elements/dokument-list-view/dokument-list-view\"))\n .globalResources(PLATFORM.moduleName(\"./elements/sub-headline/sub-headline\"))\n .globalResources(PLATFORM.moduleName(\"./elements/z-button/z-button\"))\n .globalResources(PLATFORM.moduleName(\"./elements/datenschutz/datenschutz\"))\n .globalResources(PLATFORM.moduleName(\"./elements/tag-list/tag-list\"))\n .globalResources(PLATFORM.moduleName(\"./elements/card-list/card-list\"))\n .globalResources(PLATFORM.moduleName(\"./elements/codes/codes\"))\n .globalResources(PLATFORM.moduleName(\"./elements/datei/datei\"))\n .globalResources(PLATFORM.moduleName(\"./attributes/zit-drag-and-drop\"))\n .globalResources(PLATFORM.moduleName(\"./attributes/repeat-finished-attribute\"));\n}\n","import * as fwx from \"../../../../framework/forms/form-export\";\nimport {\n ObjekteZuBenutzergruppeUtils\n} from \"./objekte-zu-benutzergruppe-utils\";\n\n@fwx.autoinject\nexport class ObjekteZuBenutzergruppeEditForm extends fwx.FormBase {\n constructor(\n element: Element,\n formBaseImport: fwx.FormBaseImport,\n private $f_ObjekteZuBenutzergruppe: ObjekteZuBenutzergruppeUtils) {\n super(element, formBaseImport);\n this.id = \"objekte-zu-berechtigung-edit\";\n this.title = \"objekte-zu-berechtigung-edit.objekte-zu-berechtigung-edit_caption\";\n this.addModel({\n \"id\": \"$m_ObjZuBen\",\n \"webApiAction\": \"ZIT/Berechtigungen/ObjektZuBenutzergruppe\",\n \"webApiExpand\": {\n 'Benutzergruppe': null\n },\n \"webApiWhere\": [\"IdObjekt\", {\n \"isBound\": true,\n \"expression\": \"variables.data.$v_idObjekt\"\n }],\n \"keyProperty\": \"Id\",\n \"filters\": []\n });\n this.addVariable({\n \"id\": \"$v_idObjekt\"\n });\n this.addVariable({\n \"id\": \"$v_titel\"\n });\n this.addFunction(\"$f_ObjekteZuBenutzergruppe\", $f_ObjekteZuBenutzergruppe, \"functions.$f_ObjekteZuBenutzergruppe\");\n this.widgetCreator.addValidationGroup(this, {\n \"id\": \"wd1\",\n \"options\": {\n \"optionsName\": \"wd1Options\",\n \"optionsNameFQ\": \"wd1Options\"\n }\n });\n this.widgetCreator.addListView(this, {\n \"itemClass\": \"z--list-view-inline-item\",\n \"useDefaultListItemStyle\": false,\n \"createToolbar\": true,\n \"optionsToolbar\": {\n \"optionsName\": \"r_objZuBenToolbarOptions\",\n \"optionsNameFQ\": \"r_objZuBenToolbarOptions\"\n },\n \"caption\": \"objekte-zu-berechtigung-edit.r_objzuben_caption\",\n \"binding\": {\n \"dataContext\": \"$m_ObjZuBen\"\n },\n \"dataModel\": \"$m_ObjZuBen\",\n \"listEdits\": [],\n \"filters\": [],\n \"commands\": [],\n \"id\": \"r_objZuBen\",\n \"options\": {\n \"optionsName\": \"r_objZuBenOptions\",\n \"optionsNameFQ\": \"r_objZuBenOptions\"\n }\n });\n super.onConstructionFinished();\n }\n}","module.exports = \"\";","import * as fwx from \"../../../framework/forms/form-export\";\nimport {\n DashboardUtils\n} from \"./dashboard-utils\";\n\n@fwx.autoinject\nexport class DashboardFormForm extends fwx.FormBase {\n constructor(\n element: Element,\n formBaseImport: fwx.FormBaseImport,\n private $f_DashboardUtils: DashboardUtils) {\n super(element, formBaseImport);\n this.id = \"dashboard-form\";\n this.title = \"dashboard-form.dashboard-form_caption\";\n this.addFunction(\"$f_DashboardUtils\", $f_DashboardUtils, \"functions.$f_DashboardUtils\");\n this.widgetCreator.addValidationGroup(this, {\n \"id\": \"wd1\",\n \"options\": {\n \"optionsName\": \"wd1Options\",\n \"optionsNameFQ\": \"wd1Options\"\n }\n });\n super.onConstructionFinished();\n }\n}","module.exports = \"\";","import * as fwx from \"../../../framework/forms/form-export\";\nimport {\n EntwicklungszieleListUtils\n} from \"./entwicklungsziele-list-utils\";\n\n@fwx.autoinject\nexport class EntwicklungszieleListForm extends fwx.FormBase {\n constructor(\n element: Element,\n formBaseImport: fwx.FormBaseImport,\n private $f_EntwicklungszieleListUtils: EntwicklungszieleListUtils) {\n super(element, formBaseImport);\n this.id = \"entwicklungszieleList\";\n this.title = \"entwicklungszieleList.entwicklungszielelist_caption\";\n this.addCommand({\n \"binding\": {\n \"bindTo\": \"$f_EntwicklungszieleListUtils.activateTableView\",\n \"bindToFQ\": \"functions.$f_EntwicklungszieleListUtils.activateTableView\"\n }\n });\n this.addCommand({\n \"binding\": {\n \"bindTo\": \"$f_EntwicklungszieleListUtils.zielErstellen\",\n \"bindToFQ\": \"functions.$f_EntwicklungszieleListUtils.zielErstellen\"\n }\n });\n this.addFunction(\"$f_EntwicklungszieleListUtils\", $f_EntwicklungszieleListUtils, \"functions.$f_EntwicklungszieleListUtils\");\n this.widgetCreator.addValidationGroup(this, {\n \"id\": \"wd1\",\n \"options\": {\n \"optionsName\": \"wd1Options\",\n \"optionsNameFQ\": \"wd1Options\"\n }\n });\n super.onConstructionFinished();\n }\n}","module.exports = \"\";","import * as fwx from \"../../../framework/forms/form-export\";\nimport {\n EntwicklungszoneListUtils\n} from \"./entwicklungszone-list-utils\";\n\n@fwx.autoinject\nexport class EntwicklungszoneListForm extends fwx.FormBase {\n constructor(\n element: Element,\n formBaseImport: fwx.FormBaseImport,\n private $f_EntwicklungszoneListUtils: EntwicklungszoneListUtils) {\n super(element, formBaseImport);\n this.id = \"entwicklungszoneList\";\n this.title = \"entwicklungszoneList.entwicklungszonelist_caption\";\n this.addCommand({\n \"binding\": {\n \"bindTo\": \"$f_EntwicklungszoneListUtils.meineAufgabenCommand\",\n \"bindToFQ\": \"functions.$f_EntwicklungszoneListUtils.meineAufgabenCommand\"\n }\n });\n this.addCommand({\n \"binding\": {\n \"bindTo\": \"$f_EntwicklungszoneListUtils.aufgabeBestaetigenCommand\",\n \"bindToFQ\": \"functions.$f_EntwicklungszoneListUtils.aufgabeBestaetigenCommand\"\n }\n });\n this.addCommand({\n \"binding\": {\n \"bindTo\": \"$f_EntwicklungszoneListUtils.activateTableView\",\n \"bindToFQ\": \"functions.$f_EntwicklungszoneListUtils.activateTableView\"\n }\n });\n this.addFunction(\"$f_EntwicklungszoneListUtils\", $f_EntwicklungszoneListUtils, \"functions.$f_EntwicklungszoneListUtils\");\n this.widgetCreator.addValidationGroup(this, {\n \"id\": \"wd1\",\n \"options\": {\n \"optionsName\": \"wd1Options\",\n \"optionsNameFQ\": \"wd1Options\"\n }\n });\n super.onConstructionFinished();\n }\n}","module.exports = \"\";","import * as fwx from \"../../../framework/forms/form-export\";\n\n@fwx.autoinject\nexport class ErklaervideoListForm extends fwx.FormBase {\n constructor(\n element: Element,\n formBaseImport: fwx.FormBaseImport) {\n super(element, formBaseImport);\n this.id = \"erklaervideoList\";\n this.title = \"erklaervideoList.erklaervideolist_caption\";\n this.widgetCreator.addValidationGroup(this, {\n \"id\": \"wd1\",\n \"options\": {\n \"optionsName\": \"wd1Options\",\n \"optionsNameFQ\": \"wd1Options\"\n }\n });\n super.onConstructionFinished();\n }\n}","module.exports = \"\";","import * as fwx from \"../../../framework/forms/form-export\";\nimport {\n NachrichtenListUtils\n} from \"./nachrichten-list-utils\";\n\n@fwx.autoinject\nexport class NachrichtenListForm extends fwx.FormBase {\n constructor(\n element: Element,\n formBaseImport: fwx.FormBaseImport,\n private $f_NachrichtenListUtils: NachrichtenListUtils) {\n super(element, formBaseImport);\n this.id = \"nachrichtenList\";\n this.title = \"nachrichtenList.nachrichtenlist_caption\";\n this.addCommand({\n \"binding\": {\n \"bindTo\": \"$f_NachrichtenListUtils.gruppeInfoCommand\",\n \"bindToFQ\": \"functions.$f_NachrichtenListUtils.gruppeInfoCommand\"\n }\n });\n this.addCommand({\n \"binding\": {\n \"bindTo\": \"$f_NachrichtenListUtils.tableauCommand\",\n \"bindToFQ\": \"functions.$f_NachrichtenListUtils.tableauCommand\"\n }\n });\n this.addCommand({\n \"binding\": {\n \"bindTo\": \"$f_NachrichtenListUtils.fotoCommand\",\n \"bindToFQ\": \"functions.$f_NachrichtenListUtils.fotoCommand\"\n }\n });\n this.addCommand({\n \"binding\": {\n \"bindTo\": \"$f_NachrichtenListUtils.videoCommand\",\n \"bindToFQ\": \"functions.$f_NachrichtenListUtils.videoCommand\"\n }\n });\n this.addCommand({\n \"binding\": {\n \"bindTo\": \"$f_NachrichtenListUtils.dokumentCommand\",\n \"bindToFQ\": \"functions.$f_NachrichtenListUtils.dokumentCommand\"\n }\n });\n this.addCommand({\n \"binding\": {\n \"bindTo\": \"$f_NachrichtenListUtils.telefonatCommand\",\n \"bindToFQ\": \"functions.$f_NachrichtenListUtils.telefonatCommand\"\n }\n });\n this.addCommand({\n \"binding\": {\n \"bindTo\": \"$f_NachrichtenListUtils.notizCommand\",\n \"bindToFQ\": \"functions.$f_NachrichtenListUtils.notizCommand\"\n }\n });\n this.addCommand({\n \"binding\": {\n \"bindTo\": \"$f_NachrichtenListUtils.neueNachrichtErstellenCommand\",\n \"bindToFQ\": \"functions.$f_NachrichtenListUtils.neueNachrichtErstellenCommand\"\n }\n });\n this.addCommand({\n \"binding\": {\n \"bindTo\": \"$f_NachrichtenListUtils.nachrichtUngelesenCommand\",\n \"bindToFQ\": \"functions.$f_NachrichtenListUtils.nachrichtUngelesenCommand\"\n }\n });\n this.addCommand({\n \"binding\": {\n \"bindTo\": \"$f_NachrichtenListUtils.vorlagenCommand\",\n \"bindToFQ\": \"functions.$f_NachrichtenListUtils.vorlagenCommand\"\n }\n });\n this.addFunction(\"$f_NachrichtenListUtils\", $f_NachrichtenListUtils, \"functions.$f_NachrichtenListUtils\");\n this.widgetCreator.addValidationGroup(this, {\n \"id\": \"wd1\",\n \"options\": {\n \"optionsName\": \"wd1Options\",\n \"optionsNameFQ\": \"wd1Options\"\n }\n });\n super.onConstructionFinished();\n }\n}","module.exports = \"\";","import * as fwx from \"../../../framework/forms/form-export\";\n\n@fwx.autoinject\nexport class NavigationForm extends fwx.FormBase {\n constructor(\n element: Element,\n formBaseImport: fwx.FormBaseImport) {\n super(element, formBaseImport);\n this.id = \"navigation\";\n this.title = \"navigation.navigation_caption\";\n this.widgetCreator.addValidationGroup(this, {\n \"id\": \"wd1\",\n \"options\": {\n \"optionsName\": \"wd1Options\",\n \"optionsNameFQ\": \"wd1Options\"\n }\n });\n super.onConstructionFinished();\n }\n}","module.exports = \"\";","import * as fwx from \"../../../../framework/forms/form-export\";\nimport {\n AnsprechpersonEditUtils\n} from \"./ansprechperson-edit-utils\";\n\n@fwx.autoinject\nexport class AnsprechpersonEditForm extends fwx.FormBase {\n constructor(\n element: Element,\n formBaseImport: fwx.FormBaseImport,\n private $f_AnsprechpersonEditUtils: AnsprechpersonEditUtils) {\n super(element, formBaseImport);\n this.id = \"ansprechperson-edit\";\n this.title = \"ansprechperson-edit.ansprechperson-edit_caption\";\n this.addModel({\n \"id\": \"$m_Ansprechperson\",\n \"webApiAction\": \"ZIT/Objekte/Ansprechperson\",\n \"webApiExpand\": {\n 'Personendaten': null\n },\n \"modificationInfoEnabled\": true,\n \"key\": \"variables.data.$id\",\n \"keyProperty\": \"Id\",\n \"postOnSave\": true,\n \"filters\": [{\n \"webApiCustomKey\": \"CanBenutzeraccountAktivieren\",\n \"webApiCustomValue\": \"true\"\n }, {\n \"webApiCustomKey\": \"SonstigeKontaktdatenVisible\",\n \"webApiCustomValue\": \"true\"\n }]\n });\n this.addModel({\n \"id\": \"$m_AnsprechpersonZuGeschaeftspartnerRel\",\n \"webApiAction\": \"ZIT/Objekte/AnsprechpersonZuGeschaeftspartner\",\n \"webApiExpand\": {\n 'Geschaeftspartner': {\n 'expand': {\n 'Geschaeftspartnerdaten': null,\n 'Adressen': {\n 'expand': {\n 'Adressen': null\n }\n }\n }\n }\n },\n \"keyProperty\": \"Id\",\n \"filters\": [{\n \"webApiCustomKey\": \"onlyGueltig\",\n \"webApiCustomValue\": \"true\"\n }]\n });\n this.addModel({\n \"id\": \"$m_AnsprechpersonZuGeschaeftspartnerEdit\",\n \"webApiAction\": \"ZIT/Objekte/AnsprechpersonZuGeschaeftspartner\",\n \"keyProperty\": \"Id\",\n \"filters\": []\n });\n this.addModel({\n \"id\": \"$m_AnsprechpersonKontaktElement\",\n \"webApiAction\": \"ZIT/Objekte/AnsprechpersonKontaktElement\",\n \"key\": \"models.data.$m_Ansprechperson.IdAnsprechpersonKontaktElement\",\n \"keyProperty\": \"Id\",\n \"filters\": []\n });\n this.addModel({\n \"id\": \"$m_AnsprechpersonKontaktEdit\",\n \"webApiAction\": \"ZIT/Objekte/AnsprechpersonKontakt\",\n \"keyProperty\": \"Id\",\n \"filters\": []\n });\n this.addModel({\n \"id\": \"$m_AnsprechpersonKontaktRel\",\n \"webApiAction\": \"ZIT/Objekte/AnsprechpersonKontakt\",\n \"webApiExpand\": {\n Kontakttyp: null\n },\n \"keyProperty\": \"Id\",\n \"filters\": []\n });\n this.addCommand({\n \"binding\": {\n \"bindTo\": \"$f_AnsprechpersonEditUtils.actionCommand\",\n \"bindToFQ\": \"functions.$f_AnsprechpersonEditUtils.actionCommand\"\n }\n });\n this.addEditPopup({\n \"idContent\": \"ansprechpersonGeschaeftspartnerEditPopupContent\",\n \"mappings\": [{\n \"to\": \"$id\",\n \"binding\": {\n \"dataContext\": \"$m_AnsprechpersonZuGeschaeftspartnerEdit\",\n \"bindTo\": \"Id\",\n \"bindToFQ\": \"models.data.$m_AnsprechpersonZuGeschaeftspartnerEdit.Id\"\n }\n }],\n \"id\": \"ansprechpersonGeschaeftspartnerEditPopup\",\n \"options\": {\n \"optionsName\": \"ansprechpersonGeschaeftspartnerEditPopupOptions\",\n \"optionsNameFQ\": \"ansprechpersonGeschaeftspartnerEditPopupOptions\"\n },\n \"height\": \"auto\",\n \"width\": \"500px\",\n \"commands\": []\n });\n this.addEditPopup({\n \"idContent\": \"ansprechpersonKontaktEditPopupContent\",\n \"mappings\": [{\n \"to\": \"$id\",\n \"binding\": {\n \"dataContext\": \"$m_AnsprechpersonKontaktEdit\",\n \"bindTo\": \"Id\",\n \"bindToFQ\": \"models.data.$m_AnsprechpersonKontaktEdit.Id\"\n }\n }],\n \"id\": \"ansprechpersonKontaktEditPopup\",\n \"options\": {\n \"optionsName\": \"ansprechpersonKontaktEditPopupOptions\",\n \"optionsNameFQ\": \"ansprechpersonKontaktEditPopupOptions\"\n },\n \"height\": \"350px\",\n \"width\": \"500px\",\n \"commands\": []\n });\n this.addFunction(\"$f_AnsprechpersonEditUtils\", $f_AnsprechpersonEditUtils, \"functions.$f_AnsprechpersonEditUtils\");\n this.widgetCreator.addValidationGroup(this, {\n \"id\": \"wd1\",\n \"options\": {\n \"optionsName\": \"wd1Options\",\n \"optionsNameFQ\": \"wd1Options\"\n }\n });\n this.widgetCreator.addLookup(this, {\n \"idSelect\": \"geschaeftspartner\",\n \"filters\": [],\n \"caption\": \"ansprechperson-edit.r_selectgeschaeftspartner_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Ansprechperson\",\n \"bindTo\": \"_IdGeschaeftspartner\",\n \"bindToFQ\": \"models.data.$m_Ansprechperson._IdGeschaeftspartner\"\n },\n \"validationRules\": [{\n \"item\": {\n \"type\": \"required\",\n \"parameters\": []\n }\n }],\n \"id\": \"r_selectGeschaeftspartner\",\n \"options\": {\n \"optionsName\": \"r_selectGeschaeftspartnerOptions\",\n \"optionsNameFQ\": \"r_selectGeschaeftspartnerOptions\"\n }\n });\n this.widgetCreator.addRadioGroup(this, {\n \"idSelect\": \"kontaktpersonTyp\",\n \"filters\": [],\n \"caption\": \"ansprechperson-edit.r_ansprechpersontyp_caption\",\n \"isReadOnlyExpression\": \"models.data.$m_Ansprechperson.Personendaten && models.data.$m_Ansprechperson.Personendaten.Id\",\n \"binding\": {\n \"dataContext\": \"$m_Ansprechperson\",\n \"bindTo\": \"Personendaten.KontaktpersonTyp\",\n \"bindToFQ\": \"models.data.$m_Ansprechperson.Personendaten.KontaktpersonTyp\",\n \"propertyPrefix\": \"Personendaten\"\n },\n \"validationRules\": [],\n \"id\": \"r_ansprechpersonTyp\",\n \"options\": {\n \"optionsName\": \"r_ansprechpersonTypOptions\",\n \"optionsNameFQ\": \"r_ansprechpersonTypOptions\"\n }\n });\n this.widgetCreator.addRadioGroup(this, {\n \"idSelect\": \"geschlecht\",\n \"filters\": [],\n \"caption\": \"ansprechperson-edit.r_geschlecht_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Ansprechperson\",\n \"bindTo\": \"Personendaten.Geschlecht\",\n \"bindToFQ\": \"models.data.$m_Ansprechperson.Personendaten.Geschlecht\",\n \"propertyPrefix\": \"Personendaten\"\n },\n \"validationRules\": [{\n \"item\": {\n \"type\": \"required\",\n \"parameters\": []\n }\n }],\n \"id\": \"r_geschlecht\",\n \"options\": {\n \"optionsName\": \"r_geschlechtOptions\",\n \"optionsNameFQ\": \"r_geschlechtOptions\"\n }\n });\n this.widgetCreator.addTextBox(this, {\n \"maxLength\": 50,\n \"caption\": \"ansprechperson-edit.r_titelvorne_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Ansprechperson\",\n \"bindTo\": \"Personendaten.TitelVorne\",\n \"bindToFQ\": \"models.data.$m_Ansprechperson.Personendaten.TitelVorne\",\n \"propertyPrefix\": \"Personendaten\"\n },\n \"validationRules\": [],\n \"id\": \"r_titelVorne\",\n \"options\": {\n \"optionsName\": \"r_titelVorneOptions\",\n \"optionsNameFQ\": \"r_titelVorneOptions\"\n }\n });\n this.widgetCreator.addTextBox(this, {\n \"maxLength\": 50,\n \"caption\": \"ansprechperson-edit.r_titelhinten_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Ansprechperson\",\n \"bindTo\": \"Personendaten.TitelHinten\",\n \"bindToFQ\": \"models.data.$m_Ansprechperson.Personendaten.TitelHinten\",\n \"propertyPrefix\": \"Personendaten\"\n },\n \"validationRules\": [],\n \"id\": \"r_titelHinten\",\n \"options\": {\n \"optionsName\": \"r_titelHintenOptions\",\n \"optionsNameFQ\": \"r_titelHintenOptions\"\n }\n });\n this.widgetCreator.addTextBox(this, {\n \"maxLength\": 100,\n \"caption\": \"ansprechperson-edit.r_vorname_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Ansprechperson\",\n \"bindTo\": \"Personendaten.Vorname\",\n \"bindToFQ\": \"models.data.$m_Ansprechperson.Personendaten.Vorname\",\n \"propertyPrefix\": \"Personendaten\"\n },\n \"validationRules\": [{\n \"item\": {\n \"type\": \"required\",\n \"parameters\": []\n }\n }],\n \"id\": \"r_vorname\",\n \"options\": {\n \"optionsName\": \"r_vornameOptions\",\n \"optionsNameFQ\": \"r_vornameOptions\"\n }\n });\n this.widgetCreator.addTextBox(this, {\n \"maxLength\": 100,\n \"caption\": \"ansprechperson-edit.r_nachname_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Ansprechperson\",\n \"bindTo\": \"Personendaten.Nachname\",\n \"bindToFQ\": \"models.data.$m_Ansprechperson.Personendaten.Nachname\",\n \"propertyPrefix\": \"Personendaten\"\n },\n \"validationRules\": [{\n \"item\": {\n \"type\": \"required\",\n \"parameters\": []\n }\n }],\n \"id\": \"r_nachname\",\n \"options\": {\n \"optionsName\": \"r_nachnameOptions\",\n \"optionsNameFQ\": \"r_nachnameOptions\"\n }\n });\n this.widgetCreator.addTextBox(this, {\n \"maxLength\": 100,\n \"caption\": \"ansprechperson-edit.r_team_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Ansprechperson\",\n \"bindTo\": \"Personendaten.Team\",\n \"bindToFQ\": \"models.data.$m_Ansprechperson.Personendaten.Team\",\n \"propertyPrefix\": \"Personendaten\"\n },\n \"validationRules\": [{\n \"item\": {\n \"type\": \"required\",\n \"parameters\": []\n }\n }],\n \"id\": \"r_team\",\n \"options\": {\n \"optionsName\": \"r_teamOptions\",\n \"optionsNameFQ\": \"r_teamOptions\"\n }\n });\n this.widgetCreator.addTextBox(this, {\n \"maxLength\": 100,\n \"caption\": \"ansprechperson-edit.r_email_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Ansprechperson\",\n \"bindTo\": \"Personendaten.Email\",\n \"bindToFQ\": \"models.data.$m_Ansprechperson.Personendaten.Email\",\n \"propertyPrefix\": \"Personendaten\"\n },\n \"validationRules\": [],\n \"id\": \"r_email\",\n \"options\": {\n \"optionsName\": \"r_emailOptions\",\n \"optionsNameFQ\": \"r_emailOptions\"\n }\n });\n this.widgetCreator.addSelectBox(this, {\n \"idSelect\": \"landvorwahl\",\n \"filters\": [],\n \"caption\": \"ansprechperson-edit.r_mobillandvorwahl_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Ansprechperson\",\n \"bindTo\": \"Personendaten.MobilLandvorwahl\",\n \"bindToFQ\": \"models.data.$m_Ansprechperson.Personendaten.MobilLandvorwahl\",\n \"propertyPrefix\": \"Personendaten\"\n },\n \"validationRules\": [{\n \"item\": {\n \"type\": \"conditionalRequired\",\n \"parameters\": [{\n \"name\": \"condition\",\n \"value\": \"models.data.$m_Ansprechperson.Personendaten && models.data.$m_Ansprechperson.Personendaten.Mobil\"\n }]\n }\n }],\n \"id\": \"r_mobilLandvorwahl\",\n \"options\": {\n \"optionsName\": \"r_mobilLandvorwahlOptions\",\n \"optionsNameFQ\": \"r_mobilLandvorwahlOptions\"\n }\n });\n this.widgetCreator.addTextBox(this, {\n \"maxLength\": 100,\n \"caption\": \"ansprechperson-edit.r_mobil_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Ansprechperson\",\n \"bindTo\": \"Personendaten.Mobil\",\n \"bindToFQ\": \"models.data.$m_Ansprechperson.Personendaten.Mobil\",\n \"propertyPrefix\": \"Personendaten\"\n },\n \"validationRules\": [{\n \"item\": {\n \"type\": \"telefon\",\n \"parameters\": []\n }\n }],\n \"id\": \"r_mobil\",\n \"options\": {\n \"optionsName\": \"r_mobilOptions\",\n \"optionsNameFQ\": \"r_mobilOptions\"\n }\n });\n this.widgetCreator.addSelectBox(this, {\n \"idSelect\": \"landvorwahl\",\n \"filters\": [],\n \"caption\": \"ansprechperson-edit.r_telefonlandvorwahl_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Ansprechperson\",\n \"bindTo\": \"Personendaten.TelefonLandvorwahl\",\n \"bindToFQ\": \"models.data.$m_Ansprechperson.Personendaten.TelefonLandvorwahl\",\n \"propertyPrefix\": \"Personendaten\"\n },\n \"validationRules\": [{\n \"item\": {\n \"type\": \"conditionalRequired\",\n \"parameters\": [{\n \"name\": \"condition\",\n \"value\": \"models.data.$m_Ansprechperson.Personendaten && models.data.$m_Ansprechperson.Personendaten.Telefon\"\n }]\n }\n }],\n \"id\": \"r_telefonLandvorwahl\",\n \"options\": {\n \"optionsName\": \"r_telefonLandvorwahlOptions\",\n \"optionsNameFQ\": \"r_telefonLandvorwahlOptions\"\n }\n });\n this.widgetCreator.addTextBox(this, {\n \"maxLength\": 100,\n \"caption\": \"ansprechperson-edit.r_telefon_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Ansprechperson\",\n \"bindTo\": \"Personendaten.Telefon\",\n \"bindToFQ\": \"models.data.$m_Ansprechperson.Personendaten.Telefon\",\n \"propertyPrefix\": \"Personendaten\"\n },\n \"validationRules\": [{\n \"item\": {\n \"type\": \"telefon\",\n \"parameters\": []\n }\n }],\n \"id\": \"r_telefon\",\n \"options\": {\n \"optionsName\": \"r_telefonOptions\",\n \"optionsNameFQ\": \"r_telefonOptions\"\n }\n });\n this.widgetCreator.addTextBox(this, {\n \"maxLength\": 100,\n \"caption\": \"ansprechperson-edit.r_funktion_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Ansprechperson\",\n \"bindTo\": \"Personendaten.Funktion\",\n \"bindToFQ\": \"models.data.$m_Ansprechperson.Personendaten.Funktion\",\n \"propertyPrefix\": \"Personendaten\"\n },\n \"validationRules\": [],\n \"id\": \"r_funktion\",\n \"options\": {\n \"optionsName\": \"r_funktionOptions\",\n \"optionsNameFQ\": \"r_funktionOptions\"\n }\n });\n this.widgetCreator.addTextArea(this, {\n \"height\": \"50px\",\n \"maxLength\": 1000,\n \"caption\": \"ansprechperson-edit.r_bemerkung_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Ansprechperson\",\n \"bindTo\": \"Personendaten.Bemerkung\",\n \"bindToFQ\": \"models.data.$m_Ansprechperson.Personendaten.Bemerkung\",\n \"propertyPrefix\": \"Personendaten\"\n },\n \"validationRules\": [],\n \"id\": \"r_bemerkung\",\n \"options\": {\n \"optionsName\": \"r_bemerkungOptions\",\n \"optionsNameFQ\": \"r_bemerkungOptions\"\n }\n });\n this.widgetCreator.addCheckBox(this, {\n \"caption\": \"ansprechperson-edit.r_imgeschaeftspartnerausblenden_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Ansprechperson\",\n \"bindTo\": \"Personendaten.ImGeschaeftspartnerAusblenden\",\n \"bindToFQ\": \"models.data.$m_Ansprechperson.Personendaten.ImGeschaeftspartnerAusblenden\",\n \"propertyPrefix\": \"Personendaten\"\n },\n \"validationRules\": [],\n \"id\": \"r_ImGeschaeftspartnerAusblenden\",\n \"options\": {\n \"optionsName\": \"r_ImGeschaeftspartnerAusblendenOptions\",\n \"optionsNameFQ\": \"r_ImGeschaeftspartnerAusblendenOptions\"\n }\n });\n this.widgetCreator.addCheckBox(this, {\n \"caption\": \"ansprechperson-edit.r_keinnewslettererwuenscht_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Ansprechperson\",\n \"bindTo\": \"Personendaten.KeinNewsletterErwuenscht\",\n \"bindToFQ\": \"models.data.$m_Ansprechperson.Personendaten.KeinNewsletterErwuenscht\",\n \"propertyPrefix\": \"Personendaten\"\n },\n \"validationRules\": [],\n \"id\": \"r_keinNewsletterErwuenscht\",\n \"options\": {\n \"optionsName\": \"r_keinNewsletterErwuenschtOptions\",\n \"optionsNameFQ\": \"r_keinNewsletterErwuenschtOptions\"\n }\n });\n this.widgetCreator.addFileUploaderWithViewer(this, {\n \"acceptTypeEnum\": 0,\n \"acceptType\": \"image/*\",\n \"height\": \"250px\",\n \"showToolbar\": true,\n \"showClearButton\": false,\n \"caption\": \"ansprechperson-edit.r_dmslinkfoto_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Ansprechperson\",\n \"bindTo\": \"Personendaten.DMSLinkFoto\",\n \"bindToFQ\": \"models.data.$m_Ansprechperson.Personendaten.DMSLinkFoto\",\n \"propertyPrefix\": \"Personendaten\"\n },\n \"validationRules\": [],\n \"id\": \"r_dmsLinkFoto\",\n \"options\": {\n \"optionsName\": \"r_dmsLinkFotoOptions\",\n \"optionsNameFQ\": \"r_dmsLinkFotoOptions\"\n }\n });\n this.widgetCreator.addFileUploaderWithViewer(this, {\n \"acceptTypeEnum\": 2,\n \"acceptType\": \".vcf\",\n \"height\": \"100px\",\n \"showToolbar\": true,\n \"showClearButton\": false,\n \"caption\": \"ansprechperson-edit.r_dmslinkvisitenkarte_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Ansprechperson\",\n \"bindTo\": \"Personendaten.DMSLinkVisitenkarte\",\n \"bindToFQ\": \"models.data.$m_Ansprechperson.Personendaten.DMSLinkVisitenkarte\",\n \"propertyPrefix\": \"Personendaten\"\n },\n \"validationRules\": [],\n \"id\": \"r_dmsLinkVisitenkarte\",\n \"options\": {\n \"optionsName\": \"r_dmsLinkVisitenkarteOptions\",\n \"optionsNameFQ\": \"r_dmsLinkVisitenkarteOptions\"\n }\n });\n this.widgetCreator.addSelectBox(this, {\n \"idSelect\": \"landvorwahl\",\n \"filters\": [],\n \"caption\": \"ansprechperson-edit.r_alternativetelefonllandvorwahl_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Ansprechperson\",\n \"bindTo\": \"Personendaten.AlternativTelefonLandvorwahl\",\n \"bindToFQ\": \"models.data.$m_Ansprechperson.Personendaten.AlternativTelefonLandvorwahl\",\n \"propertyPrefix\": \"Personendaten\"\n },\n \"validationRules\": [{\n \"item\": {\n \"type\": \"conditionalRequired\",\n \"parameters\": [{\n \"name\": \"condition\",\n \"value\": \"models.data.$m_Ansprechperson.Personendaten && models.data.$m_Ansprechperson.Personendaten.AlternativTelefon\"\n }]\n }\n }],\n \"id\": \"r_alternativeTelefonlLandVorwahl\",\n \"options\": {\n \"optionsName\": \"r_alternativeTelefonlLandVorwahlOptions\",\n \"optionsNameFQ\": \"r_alternativeTelefonlLandVorwahlOptions\"\n }\n });\n this.widgetCreator.addTextBox(this, {\n \"maxLength\": 100,\n \"caption\": \"ansprechperson-edit.r_alternativetelefonnummer_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Ansprechperson\",\n \"bindTo\": \"Personendaten.AlternativTelefon\",\n \"bindToFQ\": \"models.data.$m_Ansprechperson.Personendaten.AlternativTelefon\",\n \"propertyPrefix\": \"Personendaten\"\n },\n \"validationRules\": [{\n \"item\": {\n \"type\": \"telefon\",\n \"parameters\": []\n }\n }],\n \"id\": \"r_alternativeTelefonNummer\",\n \"options\": {\n \"optionsName\": \"r_alternativeTelefonNummerOptions\",\n \"optionsNameFQ\": \"r_alternativeTelefonNummerOptions\"\n }\n });\n this.widgetCreator.addTextBox(this, {\n \"maxLength\": 100,\n \"caption\": \"ansprechperson-edit.r_alternativeemail_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Ansprechperson\",\n \"bindTo\": \"Personendaten.AlternativEmail\",\n \"bindToFQ\": \"models.data.$m_Ansprechperson.Personendaten.AlternativEmail\",\n \"propertyPrefix\": \"Personendaten\"\n },\n \"validationRules\": [],\n \"id\": \"r_alternativeEmail\",\n \"options\": {\n \"optionsName\": \"r_alternativeEmailOptions\",\n \"optionsNameFQ\": \"r_alternativeEmailOptions\"\n }\n });\n this.widgetCreator.addListView(this, {\n \"itemClass\": \"z--list-view-inline-item\",\n \"useDefaultListItemStyle\": false,\n \"optionsToolbar\": {\n \"optionsName\": \"r_ansprechpersonGeschaeftspartnerListViewToolbarOptions\",\n \"optionsNameFQ\": \"r_ansprechpersonGeschaeftspartnerListViewToolbarOptions\"\n },\n \"binding\": {\n \"dataContext\": \"$m_Ansprechperson\"\n },\n \"isRelation\": true,\n \"relationBinding\": {\n \"dataContext\": \"$m_AnsprechpersonZuGeschaeftspartnerRel\",\n \"bindTo\": \"IdAnsprechperson\",\n \"bindToFQ\": \"models.data.$m_AnsprechpersonZuGeschaeftspartnerRel.IdAnsprechperson\"\n },\n \"dataModel\": \"$m_Ansprechperson\",\n \"editDataContext\": \"$m_AnsprechpersonZuGeschaeftspartnerEdit\",\n \"idEditPopup\": \"ansprechpersonGeschaeftspartnerEditPopup\",\n \"listEdits\": [],\n \"filters\": [],\n \"commands\": [],\n \"id\": \"r_ansprechpersonGeschaeftspartnerListView\",\n \"options\": {\n \"optionsName\": \"r_ansprechpersonGeschaeftspartnerListViewOptions\",\n \"optionsNameFQ\": \"r_ansprechpersonGeschaeftspartnerListViewOptions\"\n }\n });\n this.widgetCreator.addListView(this, {\n \"itemClass\": \"z--list-view-inline-item\",\n \"useDefaultListItemStyle\": false,\n \"optionsToolbar\": {\n \"optionsName\": \"r_ansprechpersonKontaktdatenListViewToolbarOptions\",\n \"optionsNameFQ\": \"r_ansprechpersonKontaktdatenListViewToolbarOptions\"\n },\n \"binding\": {\n \"dataContext\": \"$m_AnsprechpersonKontaktElement\"\n },\n \"isRelation\": true,\n \"relationBinding\": {\n \"dataContext\": \"$m_AnsprechpersonKontaktRel\",\n \"bindTo\": \"IdAnsprechpersonKontaktElement\",\n \"bindToFQ\": \"models.data.$m_AnsprechpersonKontaktRel.IdAnsprechpersonKontaktElement\"\n },\n \"dataModel\": \"$m_AnsprechpersonKontaktElement\",\n \"editDataContext\": \"$m_AnsprechpersonKontaktEdit\",\n \"idEditPopup\": \"ansprechpersonKontaktEditPopup\",\n \"listEdits\": [],\n \"filters\": [],\n \"commands\": [],\n \"id\": \"r_ansprechpersonKontaktdatenListView\",\n \"options\": {\n \"optionsName\": \"r_ansprechpersonKontaktdatenListViewOptions\",\n \"optionsNameFQ\": \"r_ansprechpersonKontaktdatenListViewOptions\"\n }\n });\n super.onConstructionFinished();\n }\n}","module.exports = \"\";","import * as fwx from \"../../../../framework/forms/form-export\";\n\n@fwx.autoinject\nexport class AnsprechpersonGeschaeftspartnerEditForm extends fwx.FormBase {\n constructor(\n element: Element,\n formBaseImport: fwx.FormBaseImport) {\n super(element, formBaseImport);\n this.id = \"ansprechperson-geschaeftspartner-edit\";\n this.title = \"ansprechperson-geschaeftspartner-edit.ansprechperson-geschaeftspartner-edit_caption\";\n this.addModel({\n \"id\": \"$m_AnsprechpersonZuGeschaeftspartner\",\n \"webApiAction\": \"ZIT/Objekte/AnsprechpersonZuGeschaeftspartner\",\n \"key\": \"variables.data.$id\",\n \"keyProperty\": \"Id\",\n \"postOnSave\": true,\n \"filters\": []\n });\n this.addVariable({\n \"id\": \"$id\"\n });\n this.widgetCreator.addValidationGroup(this, {\n \"id\": \"wd1\",\n \"options\": {\n \"optionsName\": \"wd1Options\",\n \"optionsNameFQ\": \"wd1Options\"\n }\n });\n this.widgetCreator.addLookup(this, {\n \"idSelect\": \"geschaeftspartner\",\n \"filters\": [],\n \"caption\": \"ansprechperson-geschaeftspartner-edit.r_anspechpersonzugpgeschaeftspartner_caption\",\n \"isReadOnlyExpression\": \"models.data.$m_AnsprechpersonZuGeschaeftspartner.Id > 0\",\n \"binding\": {\n \"dataContext\": \"$m_AnsprechpersonZuGeschaeftspartner\",\n \"bindTo\": \"IdGeschaeftspartner\",\n \"bindToFQ\": \"models.data.$m_AnsprechpersonZuGeschaeftspartner.IdGeschaeftspartner\"\n },\n \"validationRules\": [{\n \"item\": {\n \"type\": \"required\",\n \"parameters\": []\n }\n }],\n \"id\": \"r_AnspechpersonZuGpGeschaeftspartner\",\n \"options\": {\n \"optionsName\": \"r_AnspechpersonZuGpGeschaeftspartnerOptions\",\n \"optionsNameFQ\": \"r_AnspechpersonZuGpGeschaeftspartnerOptions\"\n }\n });\n this.widgetCreator.addDateBox(this, {\n \"format\": \"d\",\n \"caption\": \"ansprechperson-geschaeftspartner-edit.r_anspechpersonzugpgueltigvon_caption\",\n \"binding\": {\n \"dataContext\": \"$m_AnsprechpersonZuGeschaeftspartner\",\n \"bindTo\": \"GueltigVon\",\n \"bindToFQ\": \"models.data.$m_AnsprechpersonZuGeschaeftspartner.GueltigVon\"\n },\n \"validationRules\": [{\n \"item\": {\n \"type\": \"required\",\n \"parameters\": []\n }\n }],\n \"id\": \"r_AnspechpersonZuGpGueltigVon\",\n \"options\": {\n \"optionsName\": \"r_AnspechpersonZuGpGueltigVonOptions\",\n \"optionsNameFQ\": \"r_AnspechpersonZuGpGueltigVonOptions\"\n }\n });\n this.widgetCreator.addDateBox(this, {\n \"format\": \"d\",\n \"caption\": \"ansprechperson-geschaeftspartner-edit.r_anspechpersonzugpgueltigbis_caption\",\n \"binding\": {\n \"dataContext\": \"$m_AnsprechpersonZuGeschaeftspartner\",\n \"bindTo\": \"GueltigBis\",\n \"bindToFQ\": \"models.data.$m_AnsprechpersonZuGeschaeftspartner.GueltigBis\"\n },\n \"validationRules\": [{\n \"item\": {\n \"type\": \"required\",\n \"parameters\": []\n }\n }],\n \"id\": \"r_AnspechpersonZuGpGueltigBis\",\n \"options\": {\n \"optionsName\": \"r_AnspechpersonZuGpGueltigBisOptions\",\n \"optionsNameFQ\": \"r_AnspechpersonZuGpGueltigBisOptions\"\n }\n });\n super.onConstructionFinished();\n }\n}","module.exports = \"\";","import * as fwx from \"../../../../framework/forms/form-export\";\nimport {\n AnsprechpersonEditUtils\n} from \"./ansprechperson-edit-utils\";\n\n@fwx.autoinject\nexport class AnsprechpersonHeartbaseEditForm extends fwx.FormBase {\n constructor(\n element: Element,\n formBaseImport: fwx.FormBaseImport,\n private $f_AnsprechpersonEditUtils: AnsprechpersonEditUtils) {\n super(element, formBaseImport);\n this.id = \"ansprechperson-heartbase-edit\";\n this.title = \"ansprechperson-heartbase-edit.ansprechperson-heartbase-edit_caption\";\n this.addModel({\n \"id\": \"$m_Ansprechperson\",\n \"webApiAction\": \"ZIT/Objekte/Ansprechperson\",\n \"webApiExpand\": {\n 'Personendaten': null\n },\n \"modificationInfoEnabled\": true,\n \"key\": \"variables.data.$id\",\n \"keyProperty\": \"Id\",\n \"postOnSave\": true,\n \"filters\": [{\n \"webApiCustomKey\": \"CanBenutzeraccountAktivieren\",\n \"webApiCustomValue\": \"true\"\n }, {\n \"webApiCustomKey\": \"SonstigeKontaktdatenVisible\",\n \"webApiCustomValue\": \"true\"\n }]\n });\n this.addModel({\n \"id\": \"$m_AnsprechpersonZuGeschaeftspartnerRel\",\n \"webApiAction\": \"ZIT/Objekte/AnsprechpersonZuGeschaeftspartner\",\n \"webApiExpand\": {\n 'Geschaeftspartner': {\n 'expand': {\n 'Geschaeftspartnerdaten': null,\n 'Adressen': {\n 'expand': {\n 'Adressen': null\n }\n }\n }\n }\n },\n \"keyProperty\": \"Id\",\n \"filters\": [{\n \"webApiCustomKey\": \"onlyGueltig\",\n \"webApiCustomValue\": \"true\"\n }]\n });\n this.addModel({\n \"id\": \"$m_AnsprechpersonZuGeschaeftspartnerEdit\",\n \"webApiAction\": \"ZIT/Objekte/AnsprechpersonZuGeschaeftspartner\",\n \"keyProperty\": \"Id\",\n \"filters\": []\n });\n this.addModel({\n \"id\": \"$m_AnsprechpersonKontaktElement\",\n \"webApiAction\": \"ZIT/Objekte/AnsprechpersonKontaktElement\",\n \"key\": \"models.data.$m_Ansprechperson.IdAnsprechpersonKontaktElement\",\n \"keyProperty\": \"Id\",\n \"filters\": []\n });\n this.addModel({\n \"id\": \"$m_AnsprechpersonKontaktEdit\",\n \"webApiAction\": \"ZIT/Objekte/AnsprechpersonKontakt\",\n \"keyProperty\": \"Id\",\n \"filters\": []\n });\n this.addModel({\n \"id\": \"$m_AnsprechpersonKontaktRel\",\n \"webApiAction\": \"ZIT/Objekte/AnsprechpersonKontakt\",\n \"webApiExpand\": {\n Kontakttyp: null\n },\n \"keyProperty\": \"Id\",\n \"filters\": []\n });\n this.addCommand({\n \"binding\": {\n \"bindTo\": \"$f_AnsprechpersonEditUtils.actionCommand\",\n \"bindToFQ\": \"functions.$f_AnsprechpersonEditUtils.actionCommand\"\n }\n });\n this.addEditPopup({\n \"idContent\": \"ansprechpersonGeschaeftspartnerEditPopupContent\",\n \"mappings\": [{\n \"to\": \"$id\",\n \"binding\": {\n \"dataContext\": \"$m_AnsprechpersonZuGeschaeftspartnerEdit\",\n \"bindTo\": \"Id\",\n \"bindToFQ\": \"models.data.$m_AnsprechpersonZuGeschaeftspartnerEdit.Id\"\n }\n }],\n \"id\": \"ansprechpersonGeschaeftspartnerEditPopup\",\n \"options\": {\n \"optionsName\": \"ansprechpersonGeschaeftspartnerEditPopupOptions\",\n \"optionsNameFQ\": \"ansprechpersonGeschaeftspartnerEditPopupOptions\"\n },\n \"height\": \"auto\",\n \"width\": \"500px\",\n \"commands\": []\n });\n this.addEditPopup({\n \"idContent\": \"ansprechpersonKontaktEditPopupContent\",\n \"mappings\": [{\n \"to\": \"$id\",\n \"binding\": {\n \"dataContext\": \"$m_AnsprechpersonKontaktEdit\",\n \"bindTo\": \"Id\",\n \"bindToFQ\": \"models.data.$m_AnsprechpersonKontaktEdit.Id\"\n }\n }],\n \"id\": \"ansprechpersonKontaktEditPopup\",\n \"options\": {\n \"optionsName\": \"ansprechpersonKontaktEditPopupOptions\",\n \"optionsNameFQ\": \"ansprechpersonKontaktEditPopupOptions\"\n },\n \"height\": \"350px\",\n \"width\": \"500px\",\n \"commands\": []\n });\n this.addFunction(\"$f_AnsprechpersonEditUtils\", $f_AnsprechpersonEditUtils, \"functions.$f_AnsprechpersonEditUtils\");\n this.widgetCreator.addValidationGroup(this, {\n \"id\": \"wd1\",\n \"options\": {\n \"optionsName\": \"wd1Options\",\n \"optionsNameFQ\": \"wd1Options\"\n }\n });\n this.widgetCreator.addLookup(this, {\n \"idSelect\": \"geschaeftspartner\",\n \"filters\": [],\n \"caption\": \"ansprechperson-heartbase-edit.r_selectgeschaeftspartner_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Ansprechperson\",\n \"bindTo\": \"_IdGeschaeftspartner\",\n \"bindToFQ\": \"models.data.$m_Ansprechperson._IdGeschaeftspartner\"\n },\n \"validationRules\": [{\n \"item\": {\n \"type\": \"required\",\n \"parameters\": []\n }\n }],\n \"id\": \"r_selectGeschaeftspartner\",\n \"options\": {\n \"optionsName\": \"r_selectGeschaeftspartnerOptions\",\n \"optionsNameFQ\": \"r_selectGeschaeftspartnerOptions\"\n }\n });\n this.widgetCreator.addRadioGroup(this, {\n \"idSelect\": \"kontaktpersonTyp\",\n \"filters\": [],\n \"caption\": \"ansprechperson-heartbase-edit.r_ansprechpersontyp_caption\",\n \"isReadOnlyExpression\": \"models.data.$m_Ansprechperson.Personendaten && models.data.$m_Ansprechperson.Personendaten.Id\",\n \"binding\": {\n \"dataContext\": \"$m_Ansprechperson\",\n \"bindTo\": \"Personendaten.KontaktpersonTyp\",\n \"bindToFQ\": \"models.data.$m_Ansprechperson.Personendaten.KontaktpersonTyp\",\n \"propertyPrefix\": \"Personendaten\"\n },\n \"validationRules\": [],\n \"id\": \"r_ansprechpersonTyp\",\n \"options\": {\n \"optionsName\": \"r_ansprechpersonTypOptions\",\n \"optionsNameFQ\": \"r_ansprechpersonTypOptions\"\n }\n });\n this.widgetCreator.addRadioGroup(this, {\n \"idSelect\": \"geschlecht\",\n \"filters\": [],\n \"caption\": \"ansprechperson-heartbase-edit.r_geschlecht_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Ansprechperson\",\n \"bindTo\": \"Personendaten.Geschlecht\",\n \"bindToFQ\": \"models.data.$m_Ansprechperson.Personendaten.Geschlecht\",\n \"propertyPrefix\": \"Personendaten\"\n },\n \"validationRules\": [{\n \"item\": {\n \"type\": \"required\",\n \"parameters\": []\n }\n }],\n \"id\": \"r_geschlecht\",\n \"options\": {\n \"optionsName\": \"r_geschlechtOptions\",\n \"optionsNameFQ\": \"r_geschlechtOptions\"\n }\n });\n this.widgetCreator.addTextBox(this, {\n \"maxLength\": 50,\n \"caption\": \"ansprechperson-heartbase-edit.r_titelvorne_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Ansprechperson\",\n \"bindTo\": \"Personendaten.TitelVorne\",\n \"bindToFQ\": \"models.data.$m_Ansprechperson.Personendaten.TitelVorne\",\n \"propertyPrefix\": \"Personendaten\"\n },\n \"validationRules\": [],\n \"id\": \"r_titelVorne\",\n \"options\": {\n \"optionsName\": \"r_titelVorneOptions\",\n \"optionsNameFQ\": \"r_titelVorneOptions\"\n }\n });\n this.widgetCreator.addTextBox(this, {\n \"maxLength\": 50,\n \"caption\": \"ansprechperson-heartbase-edit.r_titelhinten_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Ansprechperson\",\n \"bindTo\": \"Personendaten.TitelHinten\",\n \"bindToFQ\": \"models.data.$m_Ansprechperson.Personendaten.TitelHinten\",\n \"propertyPrefix\": \"Personendaten\"\n },\n \"validationRules\": [],\n \"id\": \"r_titelHinten\",\n \"options\": {\n \"optionsName\": \"r_titelHintenOptions\",\n \"optionsNameFQ\": \"r_titelHintenOptions\"\n }\n });\n this.widgetCreator.addTextBox(this, {\n \"maxLength\": 100,\n \"caption\": \"ansprechperson-heartbase-edit.r_vorname_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Ansprechperson\",\n \"bindTo\": \"Personendaten.Vorname\",\n \"bindToFQ\": \"models.data.$m_Ansprechperson.Personendaten.Vorname\",\n \"propertyPrefix\": \"Personendaten\"\n },\n \"validationRules\": [{\n \"item\": {\n \"type\": \"required\",\n \"parameters\": []\n }\n }],\n \"id\": \"r_vorname\",\n \"options\": {\n \"optionsName\": \"r_vornameOptions\",\n \"optionsNameFQ\": \"r_vornameOptions\"\n }\n });\n this.widgetCreator.addTextBox(this, {\n \"maxLength\": 100,\n \"caption\": \"ansprechperson-heartbase-edit.r_nachname_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Ansprechperson\",\n \"bindTo\": \"Personendaten.Nachname\",\n \"bindToFQ\": \"models.data.$m_Ansprechperson.Personendaten.Nachname\",\n \"propertyPrefix\": \"Personendaten\"\n },\n \"validationRules\": [{\n \"item\": {\n \"type\": \"required\",\n \"parameters\": []\n }\n }],\n \"id\": \"r_nachname\",\n \"options\": {\n \"optionsName\": \"r_nachnameOptions\",\n \"optionsNameFQ\": \"r_nachnameOptions\"\n }\n });\n this.widgetCreator.addTextBox(this, {\n \"maxLength\": 100,\n \"caption\": \"ansprechperson-heartbase-edit.r_team_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Ansprechperson\",\n \"bindTo\": \"Personendaten.Team\",\n \"bindToFQ\": \"models.data.$m_Ansprechperson.Personendaten.Team\",\n \"propertyPrefix\": \"Personendaten\"\n },\n \"validationRules\": [{\n \"item\": {\n \"type\": \"required\",\n \"parameters\": []\n }\n }],\n \"id\": \"r_team\",\n \"options\": {\n \"optionsName\": \"r_teamOptions\",\n \"optionsNameFQ\": \"r_teamOptions\"\n }\n });\n this.widgetCreator.addTextBox(this, {\n \"maxLength\": 100,\n \"caption\": \"ansprechperson-heartbase-edit.r_email_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Ansprechperson\",\n \"bindTo\": \"Personendaten.Email\",\n \"bindToFQ\": \"models.data.$m_Ansprechperson.Personendaten.Email\",\n \"propertyPrefix\": \"Personendaten\"\n },\n \"validationRules\": [],\n \"id\": \"r_email\",\n \"options\": {\n \"optionsName\": \"r_emailOptions\",\n \"optionsNameFQ\": \"r_emailOptions\"\n }\n });\n this.widgetCreator.addSelectBox(this, {\n \"idSelect\": \"landvorwahl\",\n \"filters\": [],\n \"caption\": \"ansprechperson-heartbase-edit.r_mobillandvorwahl_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Ansprechperson\",\n \"bindTo\": \"Personendaten.MobilLandvorwahl\",\n \"bindToFQ\": \"models.data.$m_Ansprechperson.Personendaten.MobilLandvorwahl\",\n \"propertyPrefix\": \"Personendaten\"\n },\n \"validationRules\": [{\n \"item\": {\n \"type\": \"conditionalRequired\",\n \"parameters\": [{\n \"name\": \"condition\",\n \"value\": \"models.data.$m_Ansprechperson.Personendaten && models.data.$m_Ansprechperson.Personendaten.Mobil\"\n }]\n }\n }],\n \"id\": \"r_mobilLandvorwahl\",\n \"options\": {\n \"optionsName\": \"r_mobilLandvorwahlOptions\",\n \"optionsNameFQ\": \"r_mobilLandvorwahlOptions\"\n }\n });\n this.widgetCreator.addTextBox(this, {\n \"maxLength\": 100,\n \"caption\": \"ansprechperson-heartbase-edit.r_mobil_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Ansprechperson\",\n \"bindTo\": \"Personendaten.Mobil\",\n \"bindToFQ\": \"models.data.$m_Ansprechperson.Personendaten.Mobil\",\n \"propertyPrefix\": \"Personendaten\"\n },\n \"validationRules\": [{\n \"item\": {\n \"type\": \"telefon\",\n \"parameters\": []\n }\n }],\n \"id\": \"r_mobil\",\n \"options\": {\n \"optionsName\": \"r_mobilOptions\",\n \"optionsNameFQ\": \"r_mobilOptions\"\n }\n });\n this.widgetCreator.addSelectBox(this, {\n \"idSelect\": \"landvorwahl\",\n \"filters\": [],\n \"caption\": \"ansprechperson-heartbase-edit.r_telefonlandvorwahl_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Ansprechperson\",\n \"bindTo\": \"Personendaten.TelefonLandvorwahl\",\n \"bindToFQ\": \"models.data.$m_Ansprechperson.Personendaten.TelefonLandvorwahl\",\n \"propertyPrefix\": \"Personendaten\"\n },\n \"validationRules\": [{\n \"item\": {\n \"type\": \"conditionalRequired\",\n \"parameters\": [{\n \"name\": \"condition\",\n \"value\": \"models.data.$m_Ansprechperson.Personendaten && models.data.$m_Ansprechperson.Personendaten.Telefon\"\n }]\n }\n }],\n \"id\": \"r_telefonLandvorwahl\",\n \"options\": {\n \"optionsName\": \"r_telefonLandvorwahlOptions\",\n \"optionsNameFQ\": \"r_telefonLandvorwahlOptions\"\n }\n });\n this.widgetCreator.addTextBox(this, {\n \"maxLength\": 100,\n \"caption\": \"ansprechperson-heartbase-edit.r_telefon_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Ansprechperson\",\n \"bindTo\": \"Personendaten.Telefon\",\n \"bindToFQ\": \"models.data.$m_Ansprechperson.Personendaten.Telefon\",\n \"propertyPrefix\": \"Personendaten\"\n },\n \"validationRules\": [{\n \"item\": {\n \"type\": \"telefon\",\n \"parameters\": []\n }\n }],\n \"id\": \"r_telefon\",\n \"options\": {\n \"optionsName\": \"r_telefonOptions\",\n \"optionsNameFQ\": \"r_telefonOptions\"\n }\n });\n this.widgetCreator.addTextBox(this, {\n \"maxLength\": 100,\n \"caption\": \"ansprechperson-heartbase-edit.r_funktion_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Ansprechperson\",\n \"bindTo\": \"Personendaten.Funktion\",\n \"bindToFQ\": \"models.data.$m_Ansprechperson.Personendaten.Funktion\",\n \"propertyPrefix\": \"Personendaten\"\n },\n \"validationRules\": [],\n \"id\": \"r_funktion\",\n \"options\": {\n \"optionsName\": \"r_funktionOptions\",\n \"optionsNameFQ\": \"r_funktionOptions\"\n }\n });\n this.widgetCreator.addSelectBox(this, {\n \"idSelect\": \"funktion\",\n \"filters\": [],\n \"caption\": \"ansprechperson-heartbase-edit.r_funktionobj_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Ansprechperson\",\n \"bindTo\": \"Personendaten.IdFunktionObj\",\n \"bindToFQ\": \"models.data.$m_Ansprechperson.Personendaten.IdFunktionObj\",\n \"propertyPrefix\": \"Personendaten\"\n },\n \"validationRules\": [{\n \"item\": {\n \"type\": \"required\",\n \"parameters\": []\n }\n }],\n \"id\": \"r_funktionObj\",\n \"options\": {\n \"optionsName\": \"r_funktionObjOptions\",\n \"optionsNameFQ\": \"r_funktionObjOptions\"\n }\n });\n this.widgetCreator.addTextArea(this, {\n \"height\": \"50px\",\n \"maxLength\": 1000,\n \"caption\": \"ansprechperson-heartbase-edit.r_bemerkung_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Ansprechperson\",\n \"bindTo\": \"Personendaten.Bemerkung\",\n \"bindToFQ\": \"models.data.$m_Ansprechperson.Personendaten.Bemerkung\",\n \"propertyPrefix\": \"Personendaten\"\n },\n \"validationRules\": [],\n \"id\": \"r_bemerkung\",\n \"options\": {\n \"optionsName\": \"r_bemerkungOptions\",\n \"optionsNameFQ\": \"r_bemerkungOptions\"\n }\n });\n this.widgetCreator.addCheckBox(this, {\n \"caption\": \"ansprechperson-heartbase-edit.r_imgeschaeftspartnerausblenden_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Ansprechperson\",\n \"bindTo\": \"Personendaten.ImGeschaeftspartnerAusblenden\",\n \"bindToFQ\": \"models.data.$m_Ansprechperson.Personendaten.ImGeschaeftspartnerAusblenden\",\n \"propertyPrefix\": \"Personendaten\"\n },\n \"validationRules\": [],\n \"id\": \"r_ImGeschaeftspartnerAusblenden\",\n \"options\": {\n \"optionsName\": \"r_ImGeschaeftspartnerAusblendenOptions\",\n \"optionsNameFQ\": \"r_ImGeschaeftspartnerAusblendenOptions\"\n }\n });\n this.widgetCreator.addCheckBox(this, {\n \"caption\": \"ansprechperson-heartbase-edit.r_keinnewslettererwuenscht_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Ansprechperson\",\n \"bindTo\": \"Personendaten.KeinNewsletterErwuenscht\",\n \"bindToFQ\": \"models.data.$m_Ansprechperson.Personendaten.KeinNewsletterErwuenscht\",\n \"propertyPrefix\": \"Personendaten\"\n },\n \"validationRules\": [],\n \"id\": \"r_keinNewsletterErwuenscht\",\n \"options\": {\n \"optionsName\": \"r_keinNewsletterErwuenschtOptions\",\n \"optionsNameFQ\": \"r_keinNewsletterErwuenschtOptions\"\n }\n });\n this.widgetCreator.addFileUploaderWithViewer(this, {\n \"acceptTypeEnum\": 0,\n \"acceptType\": \"image/*\",\n \"height\": \"250px\",\n \"showToolbar\": true,\n \"showClearButton\": false,\n \"caption\": \"ansprechperson-heartbase-edit.r_dmslinkfoto_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Ansprechperson\",\n \"bindTo\": \"Personendaten.DMSLinkFoto\",\n \"bindToFQ\": \"models.data.$m_Ansprechperson.Personendaten.DMSLinkFoto\",\n \"propertyPrefix\": \"Personendaten\"\n },\n \"validationRules\": [],\n \"id\": \"r_dmsLinkFoto\",\n \"options\": {\n \"optionsName\": \"r_dmsLinkFotoOptions\",\n \"optionsNameFQ\": \"r_dmsLinkFotoOptions\"\n }\n });\n this.widgetCreator.addFileUploaderWithViewer(this, {\n \"acceptTypeEnum\": 2,\n \"acceptType\": \".vcf\",\n \"height\": \"100px\",\n \"showToolbar\": true,\n \"showClearButton\": false,\n \"caption\": \"ansprechperson-heartbase-edit.r_dmslinkvisitenkarte_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Ansprechperson\",\n \"bindTo\": \"Personendaten.DMSLinkVisitenkarte\",\n \"bindToFQ\": \"models.data.$m_Ansprechperson.Personendaten.DMSLinkVisitenkarte\",\n \"propertyPrefix\": \"Personendaten\"\n },\n \"validationRules\": [],\n \"id\": \"r_dmsLinkVisitenkarte\",\n \"options\": {\n \"optionsName\": \"r_dmsLinkVisitenkarteOptions\",\n \"optionsNameFQ\": \"r_dmsLinkVisitenkarteOptions\"\n }\n });\n this.widgetCreator.addSelectBox(this, {\n \"idSelect\": \"landvorwahl\",\n \"filters\": [],\n \"caption\": \"ansprechperson-heartbase-edit.r_alternativetelefonllandvorwahl_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Ansprechperson\",\n \"bindTo\": \"Personendaten.AlternativTelefonLandvorwahl\",\n \"bindToFQ\": \"models.data.$m_Ansprechperson.Personendaten.AlternativTelefonLandvorwahl\",\n \"propertyPrefix\": \"Personendaten\"\n },\n \"validationRules\": [{\n \"item\": {\n \"type\": \"conditionalRequired\",\n \"parameters\": [{\n \"name\": \"condition\",\n \"value\": \"models.data.$m_Ansprechperson.Personendaten && models.data.$m_Ansprechperson.Personendaten.AlternativTelefon\"\n }]\n }\n }],\n \"id\": \"r_alternativeTelefonlLandVorwahl\",\n \"options\": {\n \"optionsName\": \"r_alternativeTelefonlLandVorwahlOptions\",\n \"optionsNameFQ\": \"r_alternativeTelefonlLandVorwahlOptions\"\n }\n });\n this.widgetCreator.addTextBox(this, {\n \"maxLength\": 100,\n \"caption\": \"ansprechperson-heartbase-edit.r_alternativetelefonnummer_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Ansprechperson\",\n \"bindTo\": \"Personendaten.AlternativTelefon\",\n \"bindToFQ\": \"models.data.$m_Ansprechperson.Personendaten.AlternativTelefon\",\n \"propertyPrefix\": \"Personendaten\"\n },\n \"validationRules\": [{\n \"item\": {\n \"type\": \"telefon\",\n \"parameters\": []\n }\n }],\n \"id\": \"r_alternativeTelefonNummer\",\n \"options\": {\n \"optionsName\": \"r_alternativeTelefonNummerOptions\",\n \"optionsNameFQ\": \"r_alternativeTelefonNummerOptions\"\n }\n });\n this.widgetCreator.addTextBox(this, {\n \"maxLength\": 100,\n \"caption\": \"ansprechperson-heartbase-edit.r_alternativeemail_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Ansprechperson\",\n \"bindTo\": \"Personendaten.AlternativEmail\",\n \"bindToFQ\": \"models.data.$m_Ansprechperson.Personendaten.AlternativEmail\",\n \"propertyPrefix\": \"Personendaten\"\n },\n \"validationRules\": [],\n \"id\": \"r_alternativeEmail\",\n \"options\": {\n \"optionsName\": \"r_alternativeEmailOptions\",\n \"optionsNameFQ\": \"r_alternativeEmailOptions\"\n }\n });\n this.widgetCreator.addListView(this, {\n \"itemClass\": \"z--list-view-inline-item\",\n \"useDefaultListItemStyle\": false,\n \"optionsToolbar\": {\n \"optionsName\": \"r_ansprechpersonGeschaeftspartnerListViewToolbarOptions\",\n \"optionsNameFQ\": \"r_ansprechpersonGeschaeftspartnerListViewToolbarOptions\"\n },\n \"binding\": {\n \"dataContext\": \"$m_Ansprechperson\"\n },\n \"isRelation\": true,\n \"relationBinding\": {\n \"dataContext\": \"$m_AnsprechpersonZuGeschaeftspartnerRel\",\n \"bindTo\": \"IdAnsprechperson\",\n \"bindToFQ\": \"models.data.$m_AnsprechpersonZuGeschaeftspartnerRel.IdAnsprechperson\"\n },\n \"dataModel\": \"$m_Ansprechperson\",\n \"editDataContext\": \"$m_AnsprechpersonZuGeschaeftspartnerEdit\",\n \"idEditPopup\": \"ansprechpersonGeschaeftspartnerEditPopup\",\n \"listEdits\": [],\n \"filters\": [],\n \"commands\": [],\n \"id\": \"r_ansprechpersonGeschaeftspartnerListView\",\n \"options\": {\n \"optionsName\": \"r_ansprechpersonGeschaeftspartnerListViewOptions\",\n \"optionsNameFQ\": \"r_ansprechpersonGeschaeftspartnerListViewOptions\"\n }\n });\n this.widgetCreator.addListView(this, {\n \"itemClass\": \"z--list-view-inline-item\",\n \"useDefaultListItemStyle\": false,\n \"optionsToolbar\": {\n \"optionsName\": \"r_ansprechpersonKontaktdatenListViewToolbarOptions\",\n \"optionsNameFQ\": \"r_ansprechpersonKontaktdatenListViewToolbarOptions\"\n },\n \"binding\": {\n \"dataContext\": \"$m_AnsprechpersonKontaktElement\"\n },\n \"isRelation\": true,\n \"relationBinding\": {\n \"dataContext\": \"$m_AnsprechpersonKontaktRel\",\n \"bindTo\": \"IdAnsprechpersonKontaktElement\",\n \"bindToFQ\": \"models.data.$m_AnsprechpersonKontaktRel.IdAnsprechpersonKontaktElement\"\n },\n \"dataModel\": \"$m_AnsprechpersonKontaktElement\",\n \"editDataContext\": \"$m_AnsprechpersonKontaktEdit\",\n \"idEditPopup\": \"ansprechpersonKontaktEditPopup\",\n \"listEdits\": [],\n \"filters\": [],\n \"commands\": [],\n \"id\": \"r_ansprechpersonKontaktdatenListView\",\n \"options\": {\n \"optionsName\": \"r_ansprechpersonKontaktdatenListViewOptions\",\n \"optionsNameFQ\": \"r_ansprechpersonKontaktdatenListViewOptions\"\n }\n });\n super.onConstructionFinished();\n }\n}","module.exports = \"\";","import * as fwx from \"../../../../framework/forms/form-export\";\nimport {\n AnsprechpersonKontaktUtils\n} from \"./ansprechperson-kontakt-utils\";\n\n@fwx.autoinject\nexport class AnsprechpersonKontaktEditForm extends fwx.FormBase {\n constructor(\n element: Element,\n formBaseImport: fwx.FormBaseImport,\n private $f_AnsprechpersonKontaktUtils: AnsprechpersonKontaktUtils) {\n super(element, formBaseImport);\n this.id = \"ansprechperson-kontakt-edit\";\n this.title = \"ansprechperson-kontakt-edit.ansprechperson-kontakt-edit_caption\";\n this.addModel({\n \"id\": \"$m_AnsprechpersonKontakt\",\n \"webApiAction\": \"ZIT/Objekte/AnsprechpersonKontakt\",\n \"key\": \"variables.data.$id\",\n \"keyProperty\": \"Id\",\n \"postOnSave\": true,\n \"filters\": []\n });\n this.addModel({\n \"id\": \"$m_Kontakttyp\",\n \"webApiAction\": \"ZIT/Stammdaten/Kontakttyp\",\n \"key\": \"models.data.$m_AnsprechpersonKontakt.IdKontakttyp\",\n \"keyProperty\": \"Id\",\n \"filters\": []\n });\n this.addVariable({\n \"id\": \"$id\"\n });\n this.addFunction(\"$f_AnsprechpersonKontaktUtils\", $f_AnsprechpersonKontaktUtils, \"functions.$f_AnsprechpersonKontaktUtils\");\n this.widgetCreator.addValidationGroup(this, {\n \"id\": \"wd1\",\n \"options\": {\n \"optionsName\": \"wd1Options\",\n \"optionsNameFQ\": \"wd1Options\"\n }\n });\n this.widgetCreator.addSelectBox(this, {\n \"idSelect\": \"kontakttyp\",\n \"customs\": [{\n \"key\": \"objektTyp\",\n \"value\": \"'TIP.ZIT.Business.Entities.Objekte.Ansprechpersonen.Ansprechperson'\"\n }],\n \"filters\": [],\n \"caption\": \"ansprechperson-kontakt-edit.r_kontakttyp_caption\",\n \"binding\": {\n \"dataContext\": \"$m_AnsprechpersonKontakt\",\n \"bindTo\": \"IdKontakttyp\",\n \"bindToFQ\": \"models.data.$m_AnsprechpersonKontakt.IdKontakttyp\"\n },\n \"validationRules\": [{\n \"item\": {\n \"type\": \"required\",\n \"parameters\": []\n }\n }],\n \"id\": \"r_kontakttyp\",\n \"options\": {\n \"optionsName\": \"r_kontakttypOptions\",\n \"optionsNameFQ\": \"r_kontakttypOptions\"\n }\n });\n this.widgetCreator.addSelectBox(this, {\n \"idSelect\": \"landvorwahl\",\n \"filters\": [],\n \"caption\": \"ansprechperson-kontakt-edit.r_landvorwahl_caption\",\n \"binding\": {\n \"dataContext\": \"$m_AnsprechpersonKontakt\",\n \"bindTo\": \"Wert1\",\n \"bindToFQ\": \"models.data.$m_AnsprechpersonKontakt.Wert1\"\n },\n \"validationRules\": [{\n \"item\": {\n \"type\": \"required\",\n \"parameters\": []\n }\n }],\n \"id\": \"r_landvorwahl\",\n \"options\": {\n \"optionsName\": \"r_landvorwahlOptions\",\n \"optionsNameFQ\": \"r_landvorwahlOptions\"\n }\n });\n this.widgetCreator.addTextBox(this, {\n \"maxLength\": 100,\n \"caption\": \"ansprechperson-kontakt-edit.r_wert2_caption\",\n \"binding\": {\n \"dataContext\": \"$m_AnsprechpersonKontakt\",\n \"bindTo\": \"Wert2\",\n \"bindToFQ\": \"models.data.$m_AnsprechpersonKontakt.Wert2\"\n },\n \"validationRules\": [{\n \"item\": {\n \"type\": \"required\",\n \"parameters\": []\n }\n }],\n \"id\": \"r_wert2\",\n \"options\": {\n \"optionsName\": \"r_wert2Options\",\n \"optionsNameFQ\": \"r_wert2Options\"\n }\n });\n this.widgetCreator.addTextBox(this, {\n \"maxLength\": 100,\n \"caption\": \"ansprechperson-kontakt-edit.r_email_caption\",\n \"binding\": {\n \"dataContext\": \"$m_AnsprechpersonKontakt\",\n \"bindTo\": \"Wert1\",\n \"bindToFQ\": \"models.data.$m_AnsprechpersonKontakt.Wert1\"\n },\n \"validationRules\": [{\n \"item\": {\n \"type\": \"required\",\n \"parameters\": []\n }\n }],\n \"id\": \"r_email\",\n \"options\": {\n \"optionsName\": \"r_emailOptions\",\n \"optionsNameFQ\": \"r_emailOptions\"\n }\n });\n this.widgetCreator.addTextBox(this, {\n \"maxLength\": 1000,\n \"caption\": \"ansprechperson-kontakt-edit.r_ansprechpersonkontaktbemerkung_caption\",\n \"binding\": {\n \"dataContext\": \"$m_AnsprechpersonKontakt\",\n \"bindTo\": \"Bemerkung\",\n \"bindToFQ\": \"models.data.$m_AnsprechpersonKontakt.Bemerkung\"\n },\n \"validationRules\": [],\n \"id\": \"r_ansprechpersonKontaktBemerkung\",\n \"options\": {\n \"optionsName\": \"r_ansprechpersonKontaktBemerkungOptions\",\n \"optionsNameFQ\": \"r_ansprechpersonKontaktBemerkungOptions\"\n }\n });\n super.onConstructionFinished();\n }\n}","module.exports = \"\";","import * as fwx from \"../../../../framework/forms/form-export\";\n\n@fwx.autoinject\nexport class AnsprechpersonListForm extends fwx.FormBase {\n constructor(\n element: Element,\n formBaseImport: fwx.FormBaseImport) {\n super(element, formBaseImport);\n this.id = \"ansprechperson-list\";\n this.title = \"ansprechperson-list.ansprechperson-list_caption\";\n this.addModel({\n \"id\": \"$m_Ansprechperson\",\n \"webApiAction\": \"ZIT/Objekte/Ansprechperson\",\n \"webApiExpand\": {\n 'Personendaten': null\n },\n \"modificationInfoEnabled\": true,\n \"keyProperty\": \"Id\",\n \"filters\": []\n });\n this.widgetCreator.addValidationGroup(this, {\n \"id\": \"wd1\",\n \"options\": {\n \"optionsName\": \"wd1Options\",\n \"optionsNameFQ\": \"wd1Options\"\n }\n });\n this.widgetCreator.addDataGrid(this, {\n \"columns\": [{\n \"id\": \"r_anspVorname\",\n \"caption\": \"ansprechperson-list.r_anspvorname_caption\",\n \"bindTo\": \"Personendaten.Vorname\",\n \"minWidth\": 100\n }, {\n \"id\": \"r_anspNachname\",\n \"caption\": \"ansprechperson-list.r_anspnachname_caption\",\n \"bindTo\": \"Personendaten.Nachname\",\n \"minWidth\": 100\n }, {\n \"id\": \"r_anspTeam\",\n \"caption\": \"ansprechperson-list.r_anspteam_caption\",\n \"bindTo\": \"Personendaten.Team\",\n \"minWidth\": 100\n }, {\n \"id\": \"r_anspGeburtsdatum\",\n \"caption\": \"ansprechperson-list.r_anspgeburtsdatum_caption\",\n \"bindTo\": \"Personendaten.Geburtsdatum\",\n \"width\": \"90px\",\n \"format\": \"d\"\n }, {\n \"id\": \"r_anspBemerkung\",\n \"caption\": \"ansprechperson-list.r_anspbemerkung_caption\",\n \"bindTo\": \"Personendaten.Bemerkung\",\n \"minWidth\": 100\n }],\n \"optionsToolbar\": {\n \"optionsName\": \"r_ansprechpersonGridToolbarOptions\",\n \"optionsNameFQ\": \"r_ansprechpersonGridToolbarOptions\"\n },\n \"binding\": {\n \"dataContext\": \"$m_Ansprechperson\"\n },\n \"dataModel\": \"$m_Ansprechperson\",\n \"editUrl\": \"Objekte/Ansprechperson\",\n \"addShortscuts\": true,\n \"isMainList\": true,\n \"height\": \"100%\",\n \"listEdits\": [],\n \"filters\": [],\n \"commands\": [],\n \"id\": \"r_ansprechpersonGrid\",\n \"options\": {\n \"optionsName\": \"r_ansprechpersonGridOptions\",\n \"optionsNameFQ\": \"r_ansprechpersonGridOptions\"\n }\n });\n super.onConstructionFinished();\n }\n}","module.exports = \"\";","import * as fwx from \"../../../../framework/forms/form-export\";\nimport {\n AnsprechpersonReadUtils\n} from \"./ansprechperson-read-utils\";\n\n@fwx.autoinject\nexport class AnsprechpersonReadForm extends fwx.FormBase {\n constructor(\n element: Element,\n formBaseImport: fwx.FormBaseImport,\n private $f_AnsprechpersonReadUtils: AnsprechpersonReadUtils) {\n super(element, formBaseImport);\n this.id = \"ansprechperson-read\";\n this.title = \"ansprechperson-read.ansprechperson-read_caption\";\n this.addModel({\n \"id\": \"$m_Ansprechperson\",\n \"webApiAction\": \"ZIT/Objekte/Ansprechperson\",\n \"webApiExpand\": {\n 'Personendaten': null,\n 'Ansprechpersondaten': null\n },\n \"modificationInfoEnabled\": true,\n \"key\": \"variables.data.$id\",\n \"keyProperty\": \"Id\",\n \"postOnSave\": false,\n \"allowNew\": \"false\",\n \"allowSave\": \"false\",\n \"allowDelete\": \"false\",\n \"filters\": [{\n \"webApiCustomKey\": \"AddZugeteilteGeschaeftspartner\",\n \"webApiCustomValue\": \"true\"\n }]\n });\n this.addCommand({\n \"binding\": {\n \"bindTo\": \"$f_AnsprechpersonReadUtils.actionCommand\",\n \"bindToFQ\": \"functions.$f_AnsprechpersonReadUtils.actionCommand\"\n }\n });\n this.addFunction(\"$f_AnsprechpersonReadUtils\", $f_AnsprechpersonReadUtils, \"functions.$f_AnsprechpersonReadUtils\");\n this.widgetCreator.addValidationGroup(this, {\n \"id\": \"wd1\",\n \"options\": {\n \"optionsName\": \"wd1Options\",\n \"optionsNameFQ\": \"wd1Options\"\n }\n });\n super.onConstructionFinished();\n }\n}","module.exports = \"\";","import * as fwx from \"../../../../framework/forms/form-export\";\nimport {\n AufgabeEditUtils\n} from \"./aufgabe-edit-utils\";\n\n@fwx.autoinject\nexport class AufgabeEditForm extends fwx.FormBase {\n constructor(\n element: Element,\n formBaseImport: fwx.FormBaseImport,\n private $f_AufgabeEditUtils: AufgabeEditUtils) {\n super(element, formBaseImport);\n this.id = \"aufgabe-obj-edit\";\n this.title = \"aufgabe-obj-edit.aufgabe-obj-edit_caption\";\n this.addModel({\n \"id\": \"$m_Aufgabe\",\n \"webApiAction\": \"ZIT/Objekte/Aufgabe\",\n \"webApiExpand\": {\n 'Kopf': {\n 'expand': {\n 'StammAufgabensetVersion': null,\n 'AufgabeBeantwortungDateien': null,\n 'AufgabeBestaetigungDateien': null,\n 'StammAufgabeVersion': {\n 'expand': {\n 'AufgabeDateien': null\n }\n },\n 'StammAufgabe': {\n 'columns': [\n 'Id'\n ],\n 'expand': {\n 'AufgabeDateien': null\n }\n }\n }\n }\n },\n \"modificationInfoEnabled\": true,\n \"key\": \"variables.data.$id\",\n \"keyProperty\": \"Id\",\n \"postOnSave\": true,\n \"filters\": [{\n \"webApiCustomKey\": \"AddZielCard\",\n \"webApiCustomValue\": \"true\"\n }]\n });\n this.addModel({\n \"id\": \"$m_AufgabeProtokoll\",\n \"webApiAction\": \"ZIT/Objekte/AufgabeProtokoll\",\n \"webApiWhere\": [\"IdAufgabe\", {\n \"isBound\": true,\n \"expression\": \"models.data.$m_Aufgabe.Id\"\n }],\n \"keyProperty\": \"Id\",\n \"filters\": []\n });\n this.addCommand({\n \"binding\": {\n \"bindTo\": \"$f_AufgabeEditUtils.navPrevCommand\",\n \"bindToFQ\": \"functions.$f_AufgabeEditUtils.navPrevCommand\"\n }\n });\n this.addCommand({\n \"binding\": {\n \"bindTo\": \"$f_AufgabeEditUtils.navNextCommand\",\n \"bindToFQ\": \"functions.$f_AufgabeEditUtils.navNextCommand\"\n }\n });\n this.addCommand({\n \"binding\": {\n \"bindTo\": \"$f_AufgabeEditUtils.navHistoryCommand\",\n \"bindToFQ\": \"functions.$f_AufgabeEditUtils.navHistoryCommand\"\n }\n });\n this.addCommand({\n \"binding\": {\n \"bindTo\": \"$f_AufgabeEditUtils.addZielCommand\",\n \"bindToFQ\": \"functions.$f_AufgabeEditUtils.addZielCommand\"\n }\n });\n this.addCommand({\n \"binding\": {\n \"bindTo\": \"$f_AufgabeEditUtils.infoAusbilderCommand\",\n \"bindToFQ\": \"functions.$f_AufgabeEditUtils.infoAusbilderCommand\"\n }\n });\n this.addFunction(\"$f_AufgabeEditUtils\", $f_AufgabeEditUtils, \"functions.$f_AufgabeEditUtils\");\n this.widgetCreator.addValidationGroup(this, {\n \"id\": \"wd1\",\n \"options\": {\n \"optionsName\": \"wd1Options\",\n \"optionsNameFQ\": \"wd1Options\"\n }\n });\n this.widgetCreator.addTextArea(this, {\n \"height\": \"75px\",\n \"caption\": \"aufgabe-obj-edit.r_beantwnotiz_caption\",\n \"isReadOnlyExpression\": \"!models.data.$m_Aufgabe._CanErfuellen\",\n \"binding\": {\n \"dataContext\": \"$m_Aufgabe\",\n \"bindTo\": \"Kopf.BeantwortungNotiz\",\n \"bindToFQ\": \"models.data.$m_Aufgabe.Kopf.BeantwortungNotiz\",\n \"propertyPrefix\": \"Kopf\"\n },\n \"validationRules\": [],\n \"id\": \"r_beantwNotiz\",\n \"options\": {\n \"optionsName\": \"r_beantwNotizOptions\",\n \"optionsNameFQ\": \"r_beantwNotizOptions\"\n }\n });\n this.widgetCreator.addTextArea(this, {\n \"height\": \"75px\",\n \"caption\": \"aufgabe-obj-edit.r_bestaetigungnotiz_caption\",\n \"isReadOnlyExpression\": \"!models.data.$m_Aufgabe._CanBestaetigen\",\n \"binding\": {\n \"dataContext\": \"$m_Aufgabe\",\n \"bindTo\": \"Kopf.BestaetigungNotiz\",\n \"bindToFQ\": \"models.data.$m_Aufgabe.Kopf.BestaetigungNotiz\",\n \"propertyPrefix\": \"Kopf\"\n },\n \"validationRules\": [],\n \"id\": \"r_bestaetigungNotiz\",\n \"options\": {\n \"optionsName\": \"r_bestaetigungNotizOptions\",\n \"optionsNameFQ\": \"r_bestaetigungNotizOptions\"\n }\n });\n this.widgetCreator.addPopup(this, {\n \"id\": \"r_popupInf\",\n \"options\": {\n \"optionsName\": \"r_popupInfOptions\",\n \"optionsNameFQ\": \"r_popupInfOptions\"\n },\n \"caption\": \"aufgabe-obj-edit.r_popupinf_caption\",\n \"height\": \"auto\",\n \"width\": \"600px\",\n \"commands\": []\n });\n this.widgetCreator.addTextBox(this, {\n \"caption\": \"aufgabe-obj-edit.r_infobestben_caption\",\n \"isReadOnly\": true,\n \"binding\": {\n \"dataContext\": \"$m_Aufgabe\",\n \"bindTo\": \"Kopf.BestaetigungBenutzerName\",\n \"bindToFQ\": \"models.data.$m_Aufgabe.Kopf.BestaetigungBenutzerName\",\n \"propertyPrefix\": \"Kopf\"\n },\n \"validationRules\": [],\n \"id\": \"r_infoBestBen\",\n \"options\": {\n \"optionsName\": \"r_infoBestBenOptions\",\n \"optionsNameFQ\": \"r_infoBestBenOptions\"\n }\n });\n this.widgetCreator.addDateBox(this, {\n \"format\": \"g\",\n \"caption\": \"aufgabe-obj-edit.r_infoversionaufgabe_caption\",\n \"isReadOnly\": true,\n \"binding\": {\n \"dataContext\": \"$m_Aufgabe\",\n \"bindTo\": \"Kopf.StammAufgabeDatum\",\n \"bindToFQ\": \"models.data.$m_Aufgabe.Kopf.StammAufgabeDatum\",\n \"propertyPrefix\": \"Kopf\"\n },\n \"validationRules\": [],\n \"id\": \"r_infoVersionAufgabe\",\n \"options\": {\n \"optionsName\": \"r_infoVersionAufgabeOptions\",\n \"optionsNameFQ\": \"r_infoVersionAufgabeOptions\"\n }\n });\n this.widgetCreator.addDataGrid(this, {\n \"columns\": [{\n \"id\": \"r_infProDatum\",\n \"caption\": \"aufgabe-obj-edit.r_infprodatum_caption\",\n \"bindTo\": \"Anlagedatum\",\n \"width\": \"120px\",\n \"format\": \"g\"\n }, {\n \"id\": \"r_infProTyp\",\n \"caption\": \"aufgabe-obj-edit.r_infprotyp_caption\",\n \"bindTo\": \"Typ\",\n \"sortIndex\": 0,\n \"sortOrder\": \"asc\",\n \"enumTypeName\": \"TIP.ZIT.Business.Enumerations.AufgabenProtokollTyp\"\n }],\n \"createToolbar\": true,\n \"optionsToolbar\": {\n \"optionsName\": \"r_infoProtokollToolbarOptions\",\n \"optionsNameFQ\": \"r_infoProtokollToolbarOptions\"\n },\n \"caption\": \"aufgabe-obj-edit.r_infoprotokoll_caption\",\n \"binding\": {\n \"dataContext\": \"$m_AufgabeProtokoll\"\n },\n \"dataModel\": \"$m_AufgabeProtokoll\",\n \"height\": \"300px\",\n \"listEdits\": [],\n \"filters\": [],\n \"commands\": [],\n \"id\": \"r_infoProtokoll\",\n \"options\": {\n \"optionsName\": \"r_infoProtokollOptions\",\n \"optionsNameFQ\": \"r_infoProtokollOptions\"\n }\n });\n super.onConstructionFinished();\n }\n}","module.exports = \"\";","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.id, \"\", \"\"]);\n// Exports\nmodule.exports = exports;\n","import * as fwx from \"../../../../framework/forms/form-export\";\n\n@fwx.autoinject\nexport class AufgabeListForm extends fwx.FormBase {\n constructor(\n element: Element,\n formBaseImport: fwx.FormBaseImport) {\n super(element, formBaseImport);\n this.id = \"aufgabe-obj-list\";\n this.title = \"aufgabe-obj-list.aufgabe-obj-list_caption\";\n this.addModel({\n \"id\": \"$m_Aufgabe\",\n \"webApiAction\": \"ZIT/Objekte/Aufgabe\",\n \"webApiExpand\": {\n Kopf: null\n },\n \"modificationInfoEnabled\": true,\n \"keyProperty\": \"Id\",\n \"filters\": []\n });\n this.widgetCreator.addValidationGroup(this, {\n \"id\": \"wd1\",\n \"options\": {\n \"optionsName\": \"wd1Options\",\n \"optionsNameFQ\": \"wd1Options\"\n }\n });\n this.widgetCreator.addDataGrid(this, {\n \"columns\": [{\n \"id\": \"r_aufgabeBezeichnung\",\n \"caption\": \"aufgabe-obj-list.r_aufgabebezeichnung_caption\",\n \"bindTo\": \"Kopf.Name\"\n }],\n \"optionsToolbar\": {\n \"optionsName\": \"r_aufgabeGridToolbarOptions\",\n \"optionsNameFQ\": \"r_aufgabeGridToolbarOptions\"\n },\n \"binding\": {\n \"dataContext\": \"$m_Aufgabe\"\n },\n \"dataModel\": \"$m_Aufgabe\",\n \"editUrl\": \"Objekte/Aufgabe\",\n \"addShortscuts\": true,\n \"isMainList\": true,\n \"height\": \"100%\",\n \"listEdits\": [],\n \"filters\": [],\n \"commands\": [],\n \"id\": \"r_aufgabeGrid\",\n \"options\": {\n \"optionsName\": \"r_aufgabeGridOptions\",\n \"optionsNameFQ\": \"r_aufgabeGridOptions\"\n }\n });\n super.onConstructionFinished();\n }\n}","module.exports = \"\";","import * as fwx from \"../../../../framework/forms/form-export\";\nimport {\n BewerbungEditUtils\n} from \"./bewerbung-edit-utils\";\n\n@fwx.autoinject\nexport class BewerbungEditForm extends fwx.FormBase {\n constructor(\n element: Element,\n formBaseImport: fwx.FormBaseImport,\n private $f_BewerbungEditUtils: BewerbungEditUtils) {\n super(element, formBaseImport);\n this.id = \"bewerbung-edit\";\n this.title = \"bewerbung-edit.bewerbung-edit_caption\";\n this.addModel({\n \"id\": \"$m_Bewerbung\",\n \"webApiAction\": \"ZIT/Objekte/Bewerbung\",\n \"webApiExpand\": {\n 'Kopf': {\n 'expand': {\n 'Stelleninserat': {\n 'expand': {\n 'FerialbewerbungFragebogen': null,\n 'FerialeinsatzEinstellungen': null,\n 'Kopf': {\n 'columns': [\n 'CanSchnuppertermin'\n ]\n }\n }\n },\n 'Person': {\n 'columns': [\n 'Id',\n 'IdPersonPersonendatenElement'\n ],\n 'expand': {\n 'Personendaten': null\n }\n },\n 'Bewerbungsgrund': null,\n 'Bewerbungskanal': null,\n 'Einsatzbereiche': null\n }\n }\n },\n \"modificationInfoEnabled\": true,\n \"key\": \"variables.data.$id\",\n \"keyProperty\": \"Id\",\n \"postOnSave\": true,\n \"filters\": [{\n \"webApiCustomKey\": \"BewerbungInfo\",\n \"webApiCustomValue\": \"true\"\n }, {\n \"webApiCustomKey\": \"StelleninseratInfo\",\n \"webApiCustomValue\": \"true\"\n }, {\n \"webApiCustomKey\": \"AddPersonCard\",\n \"webApiCustomValue\": \"true\"\n }, {\n \"webApiCustomKey\": \"AddStelleninseratCard\",\n \"webApiCustomValue\": \"true\"\n }]\n });\n this.addModel({\n \"id\": \"$m_BewerbungKopf\",\n \"webApiAction\": \"ZIT/Objekte/BewerbungKopfElement\",\n \"key\": \"models.data.$m_Bewerbung.IdBewerbungKopfElement\",\n \"keyProperty\": \"Id\",\n \"filters\": []\n });\n this.addModel({\n \"id\": \"$m_BewerbungEinsatzbereichRel\",\n \"webApiAction\": \"ZIT/Objekte/BewerbungKopfEinsatzbereich\",\n \"webApiExpand\": {\n 'Einsatzbereich': null\n },\n \"keyProperty\": \"Id\",\n \"filters\": []\n });\n this.addModel({\n \"id\": \"$m_BewerbungEinsatzbereichEdit\",\n \"webApiAction\": \"ZIT/Objekte/BewerbungKopfEinsatzbereich\",\n \"keyProperty\": \"Id\",\n \"filters\": []\n });\n this.addModel({\n \"id\": \"$m_Person\",\n \"webApiAction\": \"ZIT/Objekte/Person\",\n \"modificationInfoEnabled\": true,\n \"key\": \"models.data.$m_Bewerbung.Kopf.IdPerson\",\n \"keyProperty\": \"Id\",\n \"filters\": []\n });\n this.addModel({\n \"id\": \"$m_DokumentRel\",\n \"webApiAction\": \"ZIT/Objekte/DokumentElement\",\n \"webApiExpand\": {\n 'Informationstyp': null\n },\n \"webApiWhere\": [\"IdStelleninserat\", {\n \"isBound\": true,\n \"expression\": \"models.data.$m_Bewerbung.Kopf.IdStelleninserat\"\n }],\n \"keyProperty\": \"Id\",\n \"filters\": []\n });\n this.addModel({\n \"id\": \"$m_DokumentEdit\",\n \"webApiAction\": \"ZIT/Objekte/DokumentElement\",\n \"keyProperty\": \"Id\",\n \"filters\": []\n });\n this.addCommand({\n \"binding\": {\n \"bindTo\": \"$f_BewerbungEditUtils.actionCommand\",\n \"bindToFQ\": \"functions.$f_BewerbungEditUtils.actionCommand\"\n }\n });\n this.addEditPopup({\n \"idContent\": \"bewerbungEinsatzbereichEditPopupContent\",\n \"mappings\": [{\n \"to\": \"$id\",\n \"binding\": {\n \"dataContext\": \"$m_BewerbungEinsatzbereichEdit\",\n \"bindTo\": \"Id\",\n \"bindToFQ\": \"models.data.$m_BewerbungEinsatzbereichEdit.Id\"\n }\n }],\n \"id\": \"bewerbungEinsatzbereichEditPopup\",\n \"options\": {\n \"optionsName\": \"bewerbungEinsatzbereichEditPopupOptions\",\n \"optionsNameFQ\": \"bewerbungEinsatzbereichEditPopupOptions\"\n },\n \"height\": \"auto\",\n \"width\": \"500px\",\n \"commands\": []\n });\n this.addFunction(\"$f_BewerbungEditUtils\", $f_BewerbungEditUtils, \"functions.$f_BewerbungEditUtils\");\n this.widgetCreator.addValidationGroup(this, {\n \"id\": \"wd1\",\n \"options\": {\n \"optionsName\": \"wd1Options\",\n \"optionsNameFQ\": \"wd1Options\"\n }\n });\n this.widgetCreator.addLookup(this, {\n \"idSelect\": \"person\",\n \"filters\": [],\n \"caption\": \"bewerbung-edit.r_bewerbungperson_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Bewerbung\",\n \"bindTo\": \"Kopf.IdPerson\",\n \"bindToFQ\": \"models.data.$m_Bewerbung.Kopf.IdPerson\",\n \"propertyPrefix\": \"Kopf\"\n },\n \"validationRules\": [{\n \"item\": {\n \"type\": \"required\",\n \"parameters\": []\n }\n }],\n \"id\": \"r_bewerbungPerson\",\n \"options\": {\n \"optionsName\": \"r_bewerbungPersonOptions\",\n \"optionsNameFQ\": \"r_bewerbungPersonOptions\"\n }\n });\n this.widgetCreator.addLookup(this, {\n \"idSelect\": \"stelleninserat\",\n \"filters\": [],\n \"caption\": \"bewerbung-edit.r_bewerbungstelleninserat_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Bewerbung\",\n \"bindTo\": \"Kopf.IdStelleninserat\",\n \"bindToFQ\": \"models.data.$m_Bewerbung.Kopf.IdStelleninserat\",\n \"propertyPrefix\": \"Kopf\"\n },\n \"validationRules\": [{\n \"item\": {\n \"type\": \"required\",\n \"parameters\": []\n }\n }],\n \"id\": \"r_bewerbungStelleninserat\",\n \"options\": {\n \"optionsName\": \"r_bewerbungStelleninseratOptions\",\n \"optionsNameFQ\": \"r_bewerbungStelleninseratOptions\"\n }\n });\n this.widgetCreator.addListView(this, {\n \"itemClass\": \"z--list-view-inline-item\",\n \"useDefaultListItemStyle\": false,\n \"createToolbar\": true,\n \"optionsToolbar\": {\n \"optionsName\": \"r_bewerbungEinsatzbereichListViewToolbarOptions\",\n \"optionsNameFQ\": \"r_bewerbungEinsatzbereichListViewToolbarOptions\"\n },\n \"caption\": \"bewerbung-edit.r_bewerbungeinsatzbereichlistview_caption\",\n \"binding\": {\n \"dataContext\": \"$m_BewerbungKopf\"\n },\n \"isRelation\": true,\n \"relationBinding\": {\n \"dataContext\": \"$m_BewerbungEinsatzbereichRel\",\n \"bindTo\": \"IdBewerbungKopfElement\",\n \"bindToFQ\": \"models.data.$m_BewerbungEinsatzbereichRel.IdBewerbungKopfElement\"\n },\n \"dataModel\": \"$m_BewerbungKopf\",\n \"editDataContext\": \"$m_BewerbungEinsatzbereichEdit\",\n \"idEditPopup\": \"bewerbungEinsatzbereichEditPopup\",\n \"listEdits\": [],\n \"filters\": [],\n \"commands\": [],\n \"id\": \"r_bewerbungEinsatzbereichListView\",\n \"options\": {\n \"optionsName\": \"r_bewerbungEinsatzbereichListViewOptions\",\n \"optionsNameFQ\": \"r_bewerbungEinsatzbereichListViewOptions\"\n }\n });\n this.widgetCreator.addTextBox(this, {\n \"maxLength\": 100,\n \"caption\": \"bewerbung-edit.r_bewerbungverwandtmit_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Bewerbung\",\n \"bindTo\": \"Kopf.VerwandtMit\",\n \"bindToFQ\": \"models.data.$m_Bewerbung.Kopf.VerwandtMit\",\n \"propertyPrefix\": \"Kopf\"\n },\n \"validationRules\": [{\n \"item\": {\n \"type\": \"conditionalRequired\",\n \"parameters\": [{\n \"name\": \"condition\",\n \"value\": \"models.data.$m_Bewerbung.Kopf && models.data.$m_Bewerbung.Kopf.IdVerwandtschaftsverhaeltnis\"\n }]\n }\n }],\n \"id\": \"r_bewerbungVerwandtMit\",\n \"options\": {\n \"optionsName\": \"r_bewerbungVerwandtMitOptions\",\n \"optionsNameFQ\": \"r_bewerbungVerwandtMitOptions\"\n }\n });\n this.widgetCreator.addSelectBox(this, {\n \"idSelect\": \"verwandtschaftsverhaeltnis\",\n \"filters\": [],\n \"caption\": \"bewerbung-edit.r_bewerbungverwandtschaftsverhaeltnis_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Bewerbung\",\n \"bindTo\": \"Kopf.IdVerwandtschaftsverhaeltnis\",\n \"bindToFQ\": \"models.data.$m_Bewerbung.Kopf.IdVerwandtschaftsverhaeltnis\",\n \"propertyPrefix\": \"Kopf\"\n },\n \"validationRules\": [{\n \"item\": {\n \"type\": \"conditionalRequired\",\n \"parameters\": [{\n \"name\": \"condition\",\n \"value\": \"models.data.$m_Bewerbung.Kopf && models.data.$m_Bewerbung.Kopf.VerwandtMit\"\n }]\n }\n }],\n \"id\": \"r_bewerbungVerwandtschaftsverhaeltnis\",\n \"options\": {\n \"optionsName\": \"r_bewerbungVerwandtschaftsverhaeltnisOptions\",\n \"optionsNameFQ\": \"r_bewerbungVerwandtschaftsverhaeltnisOptions\"\n }\n });\n this.widgetCreator.addDateBox(this, {\n \"format\": \"d\",\n \"caption\": \"bewerbung-edit.r_bewerbungeinsatzzeitraum1von_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Bewerbung\",\n \"bindTo\": \"Kopf.Einsatzzeitraum1Von\",\n \"bindToFQ\": \"models.data.$m_Bewerbung.Kopf.Einsatzzeitraum1Von\",\n \"propertyPrefix\": \"Kopf\"\n },\n \"validationRules\": [{\n \"binding\": {\n \"dataContext\": \"$m_Bewerbung\",\n \"bindTo\": \"$f_BewerbungEditUtils.einsatzzeitraum1VonCustomValidation\",\n \"bindToFQ\": \"functions.$f_BewerbungEditUtils.einsatzzeitraum1VonCustomValidation\"\n }\n }, {\n \"item\": {\n \"type\": \"required\",\n \"parameters\": []\n }\n }],\n \"id\": \"r_bewerbungEinsatzzeitraum1Von\",\n \"options\": {\n \"optionsName\": \"r_bewerbungEinsatzzeitraum1VonOptions\",\n \"optionsNameFQ\": \"r_bewerbungEinsatzzeitraum1VonOptions\"\n }\n });\n this.widgetCreator.addDateBox(this, {\n \"format\": \"d\",\n \"caption\": \"bewerbung-edit.r_bewerbungeinsatzzeitraum1bis_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Bewerbung\",\n \"bindTo\": \"Kopf.Einsatzzeitraum1Bis\",\n \"bindToFQ\": \"models.data.$m_Bewerbung.Kopf.Einsatzzeitraum1Bis\",\n \"propertyPrefix\": \"Kopf\"\n },\n \"validationRules\": [{\n \"binding\": {\n \"dataContext\": \"$m_Bewerbung\",\n \"bindTo\": \"$f_BewerbungEditUtils.einsatzzeitraum1BisCustomValidation\",\n \"bindToFQ\": \"functions.$f_BewerbungEditUtils.einsatzzeitraum1BisCustomValidation\"\n }\n }, {\n \"item\": {\n \"type\": \"required\",\n \"parameters\": []\n }\n }],\n \"id\": \"r_bewerbungEinsatzzeitraum1Bis\",\n \"options\": {\n \"optionsName\": \"r_bewerbungEinsatzzeitraum1BisOptions\",\n \"optionsNameFQ\": \"r_bewerbungEinsatzzeitraum1BisOptions\"\n }\n });\n this.widgetCreator.addDateBox(this, {\n \"format\": \"d\",\n \"caption\": \"bewerbung-edit.r_bewerbungeinsatzzeitraum2von_caption\",\n \"isReadOnlyExpression\": \"models.data.$m_Bewerbung.Kopf && (!models.data.$m_Bewerbung.Kopf.Einsatzzeitraum1Von || !models.data.$m_Bewerbung.Kopf.Einsatzzeitraum1Bis)\",\n \"binding\": {\n \"dataContext\": \"$m_Bewerbung\",\n \"bindTo\": \"Kopf.Einsatzzeitraum2Von\",\n \"bindToFQ\": \"models.data.$m_Bewerbung.Kopf.Einsatzzeitraum2Von\",\n \"propertyPrefix\": \"Kopf\"\n },\n \"validationRules\": [{\n \"binding\": {\n \"dataContext\": \"$m_Bewerbung\",\n \"bindTo\": \"$f_BewerbungEditUtils.einsatzzeitraum2VonCustomValidation\",\n \"bindToFQ\": \"functions.$f_BewerbungEditUtils.einsatzzeitraum2VonCustomValidation\"\n }\n }, {\n \"item\": {\n \"type\": \"conditionalRequired\",\n \"parameters\": [{\n \"name\": \"condition\",\n \"value\": \"models.data.$m_Bewerbung.Kopf && models.data.$m_Bewerbung.Kopf.Einsatzzeitraum2Bis\"\n }]\n }\n }],\n \"id\": \"r_bewerbungEinsatzzeitraum2Von\",\n \"options\": {\n \"optionsName\": \"r_bewerbungEinsatzzeitraum2VonOptions\",\n \"optionsNameFQ\": \"r_bewerbungEinsatzzeitraum2VonOptions\"\n }\n });\n this.widgetCreator.addDateBox(this, {\n \"format\": \"d\",\n \"caption\": \"bewerbung-edit.r_bewerbungeinsatzzeitraum2bis_caption\",\n \"isReadOnlyExpression\": \"models.data.$m_Bewerbung.Kopf && (!models.data.$m_Bewerbung.Kopf.Einsatzzeitraum1Von || !models.data.$m_Bewerbung.Kopf.Einsatzzeitraum1Bis)\",\n \"binding\": {\n \"dataContext\": \"$m_Bewerbung\",\n \"bindTo\": \"Kopf.Einsatzzeitraum2Bis\",\n \"bindToFQ\": \"models.data.$m_Bewerbung.Kopf.Einsatzzeitraum2Bis\",\n \"propertyPrefix\": \"Kopf\"\n },\n \"validationRules\": [{\n \"binding\": {\n \"dataContext\": \"$m_Bewerbung\",\n \"bindTo\": \"$f_BewerbungEditUtils.einsatzzeitraum2BisCustomValidation\",\n \"bindToFQ\": \"functions.$f_BewerbungEditUtils.einsatzzeitraum2BisCustomValidation\"\n }\n }, {\n \"item\": {\n \"type\": \"conditionalRequired\",\n \"parameters\": [{\n \"name\": \"condition\",\n \"value\": \"models.data.$m_Bewerbung.Kopf && models.data.$m_Bewerbung.Kopf.Einsatzzeitraum2Von\"\n }]\n }\n }],\n \"id\": \"r_bewerbungEinsatzzeitraum2Bis\",\n \"options\": {\n \"optionsName\": \"r_bewerbungEinsatzzeitraum2BisOptions\",\n \"optionsNameFQ\": \"r_bewerbungEinsatzzeitraum2BisOptions\"\n }\n });\n this.widgetCreator.addNumberBox(this, {\n \"showSpinButtons\": true,\n \"min\": 0.0,\n \"max\": 52.0,\n \"format\": \"n0\",\n \"caption\": \"bewerbung-edit.r_bewerbunganzahlwunschwochen_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Bewerbung\",\n \"bindTo\": \"Kopf.AnzahlWunschwochen\",\n \"bindToFQ\": \"models.data.$m_Bewerbung.Kopf.AnzahlWunschwochen\",\n \"propertyPrefix\": \"Kopf\"\n },\n \"validationRules\": [{\n \"binding\": {\n \"dataContext\": \"$m_Bewerbung\",\n \"bindTo\": \"$f_BewerbungEditUtils.anzahlWunschWochenValidationRule\",\n \"bindToFQ\": \"functions.$f_BewerbungEditUtils.anzahlWunschWochenValidationRule\"\n }\n }],\n \"id\": \"r_bewerbungAnzahlWunschwochen\",\n \"options\": {\n \"optionsName\": \"r_bewerbungAnzahlWunschwochenOptions\",\n \"optionsNameFQ\": \"r_bewerbungAnzahlWunschwochenOptions\"\n }\n });\n this.widgetCreator.addTextBox(this, {\n \"maxLength\": 100,\n \"caption\": \"bewerbung-edit.r_bewerbungpersontaetigkeit_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Bewerbung\",\n \"bindTo\": \"Kopf.Taetigkeit\",\n \"bindToFQ\": \"models.data.$m_Bewerbung.Kopf.Taetigkeit\",\n \"propertyPrefix\": \"Kopf\"\n },\n \"validationRules\": [],\n \"id\": \"r_bewerbungPersonTaetigkeit\",\n \"options\": {\n \"optionsName\": \"r_bewerbungPersonTaetigkeitOptions\",\n \"optionsNameFQ\": \"r_bewerbungPersonTaetigkeitOptions\"\n }\n });\n this.widgetCreator.addSelectBox(this, {\n \"idSelect\": \"bewerbungsgrund\",\n \"filters\": [],\n \"caption\": \"bewerbung-edit.r_bewerbungsgrund_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Bewerbung\",\n \"bindTo\": \"Kopf.IdBewerbungsgrund\",\n \"bindToFQ\": \"models.data.$m_Bewerbung.Kopf.IdBewerbungsgrund\",\n \"propertyPrefix\": \"Kopf\"\n },\n \"validationRules\": [],\n \"id\": \"r_bewerbungsgrund\",\n \"options\": {\n \"optionsName\": \"r_bewerbungsgrundOptions\",\n \"optionsNameFQ\": \"r_bewerbungsgrundOptions\"\n }\n });\n this.widgetCreator.addDateBox(this, {\n \"format\": \"d\",\n \"caption\": \"bewerbung-edit.r_bewerbungsdatum_caption\",\n \"isReadOnlyExpression\": \"models.data.$m_Bewerbung.Kopf.Id > 0\",\n \"binding\": {\n \"dataContext\": \"$m_Bewerbung\",\n \"bindTo\": \"Kopf.Bewerbungsdatum\",\n \"bindToFQ\": \"models.data.$m_Bewerbung.Kopf.Bewerbungsdatum\",\n \"propertyPrefix\": \"Kopf\"\n },\n \"validationRules\": [{\n \"item\": {\n \"type\": \"required\",\n \"parameters\": []\n }\n }],\n \"id\": \"r_bewerbungsdatum\",\n \"options\": {\n \"optionsName\": \"r_bewerbungsdatumOptions\",\n \"optionsNameFQ\": \"r_bewerbungsdatumOptions\"\n }\n });\n this.widgetCreator.addTextBox(this, {\n \"maxLength\": 30,\n \"caption\": \"bewerbung-edit.r_geschaeftspartnerpersonalnr_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Bewerbung\",\n \"bindTo\": \"Kopf.GeschaeftspartnerPersonalNr\",\n \"bindToFQ\": \"models.data.$m_Bewerbung.Kopf.GeschaeftspartnerPersonalNr\",\n \"propertyPrefix\": \"Kopf\"\n },\n \"validationRules\": [],\n \"id\": \"r_geschaeftspartnerPersonalNr\",\n \"options\": {\n \"optionsName\": \"r_geschaeftspartnerPersonalNrOptions\",\n \"optionsNameFQ\": \"r_geschaeftspartnerPersonalNrOptions\"\n }\n });\n this.widgetCreator.addTextArea(this, {\n \"height\": \"100px\",\n \"caption\": \"bewerbung-edit.r_bemerkung_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Bewerbung\",\n \"bindTo\": \"Kopf.Bemerkung\",\n \"bindToFQ\": \"models.data.$m_Bewerbung.Kopf.Bemerkung\",\n \"propertyPrefix\": \"Kopf\"\n },\n \"validationRules\": [],\n \"id\": \"r_bemerkung\",\n \"options\": {\n \"optionsName\": \"r_bemerkungOptions\",\n \"optionsNameFQ\": \"r_bemerkungOptions\"\n }\n });\n this.widgetCreator.addPopup(this, {\n \"id\": \"r_bewerbungEinsatzbereichPopup\",\n \"options\": {\n \"optionsName\": \"r_bewerbungEinsatzbereichPopupOptions\",\n \"optionsNameFQ\": \"r_bewerbungEinsatzbereichPopupOptions\"\n },\n \"caption\": \"bewerbung-edit.r_bewerbungeinsatzbereichpopup_caption\",\n \"height\": \"auto\",\n \"width\": \"450px\",\n \"showCloseButton\": false,\n \"commands\": [{\n \"binding\": {\n \"bindTo\": \"$f_BewerbungEditUtils.bewerbungEinsatzbereichCommand\",\n \"bindToFQ\": \"functions.$f_BewerbungEditUtils.bewerbungEinsatzbereichCommand\"\n }\n }]\n });\n super.onConstructionFinished();\n }\n}","module.exports = \"\";","import * as fwx from \"../../../../framework/forms/form-export\";\n\n@fwx.autoinject\nexport class BewerbungEinsatzbereichEditForm extends fwx.FormBase {\n constructor(\n element: Element,\n formBaseImport: fwx.FormBaseImport) {\n super(element, formBaseImport);\n this.id = \"bewerbung-einsatzbereich-edit\";\n this.title = \"bewerbung-einsatzbereich-edit.bewerbung-einsatzbereich-edit_caption\";\n this.addModel({\n \"id\": \"$m_BewerbungEinsatzbereich\",\n \"webApiAction\": \"ZIT/Objekte/BewerbungKopfEinsatzbereich\",\n \"key\": \"variables.data.$id\",\n \"keyProperty\": \"Id\",\n \"postOnSave\": true,\n \"filters\": []\n });\n this.addVariable({\n \"id\": \"$id\"\n });\n this.widgetCreator.addValidationGroup(this, {\n \"id\": \"wd1\",\n \"options\": {\n \"optionsName\": \"wd1Options\",\n \"optionsNameFQ\": \"wd1Options\"\n }\n });\n this.widgetCreator.addSelectBox(this, {\n \"idSelect\": \"bewerbungEinsatzbereich\",\n \"customs\": [{\n \"key\": \"IdBewerbungKopf\",\n \"value\": \"models.data.$m_BewerbungEinsatzbereich.IdBewerbungKopfElement\"\n }],\n \"filters\": [],\n \"caption\": \"bewerbung-einsatzbereich-edit.r_bewerbungeinsatzbereich_caption\",\n \"binding\": {\n \"dataContext\": \"$m_BewerbungEinsatzbereich\",\n \"bindTo\": \"IdEinsatzbereich\",\n \"bindToFQ\": \"models.data.$m_BewerbungEinsatzbereich.IdEinsatzbereich\"\n },\n \"validationRules\": [{\n \"item\": {\n \"type\": \"required\",\n \"parameters\": []\n }\n }],\n \"id\": \"r_bewerbungEinsatzbereich\",\n \"options\": {\n \"optionsName\": \"r_bewerbungEinsatzbereichOptions\",\n \"optionsNameFQ\": \"r_bewerbungEinsatzbereichOptions\"\n }\n });\n this.widgetCreator.addTextBox(this, {\n \"maxLength\": 100,\n \"caption\": \"bewerbung-einsatzbereich-edit.r_bewerbungwunschbereich_caption\",\n \"binding\": {\n \"dataContext\": \"$m_BewerbungEinsatzbereich\",\n \"bindTo\": \"Wunschbereich\",\n \"bindToFQ\": \"models.data.$m_BewerbungEinsatzbereich.Wunschbereich\"\n },\n \"validationRules\": [],\n \"id\": \"r_bewerbungWunschbereich\",\n \"options\": {\n \"optionsName\": \"r_bewerbungWunschbereichOptions\",\n \"optionsNameFQ\": \"r_bewerbungWunschbereichOptions\"\n }\n });\n super.onConstructionFinished();\n }\n}","module.exports = \"\";","import * as fwx from \"../../../../framework/forms/form-export\";\nimport {\n BewerbungEditUtils\n} from \"./bewerbung-edit-utils\";\n\n@fwx.autoinject\nexport class BewerbungFerialerErsteinstiegEditForm extends fwx.FormBase {\n constructor(\n element: Element,\n formBaseImport: fwx.FormBaseImport,\n private $f_BewerbungEditUtils: BewerbungEditUtils) {\n super(element, formBaseImport);\n this.id = \"bewerbung-ferialer-ersteinstieg-edit\";\n this.title = \"bewerbung-ferialer-ersteinstieg-edit.bewerbung-ferialer-ersteinstieg-edit_caption\";\n this.addModel({\n \"id\": \"$m_Bewerbung\",\n \"webApiAction\": \"ZIT/Objekte/Bewerbung\",\n \"webApiExpand\": {\n 'Kopf': {\n 'expand': {\n 'Stelleninserat': {\n 'columns': [\n 'Id',\n 'IdStelleninseratKopfElement',\n 'IdStelleninseratFerialbewerbungFragebogenElement',\n 'IdStelleninseratFerialeinsatzEinstellungenElement'\n ],\n 'expand': {\n 'Kopf': null,\n 'FerialbewerbungFragebogen': null,\n 'FerialeinsatzEinstellungen': null\n }\n },\n 'Person': {\n 'columns': [\n 'Id',\n 'IdPersonPersonendatenElement'\n ],\n 'expand': {\n 'Personendaten': null\n }\n },\n 'Bewerbungsgrund': null,\n 'Bewerbungskanal': null,\n 'Einsatzbereiche': null\n }\n }\n },\n \"modificationInfoEnabled\": true,\n \"key\": \"variables.data.$id\",\n \"keyProperty\": \"Id\",\n \"postOnSave\": true,\n \"filters\": [{\n \"webApiCustomKey\": \"BewerbungInfo\",\n \"webApiCustomValue\": \"true\"\n }, {\n \"webApiCustomKey\": \"StelleninseratInfo\",\n \"webApiCustomValue\": \"true\"\n }, {\n \"webApiCustomKey\": \"AddStelleninseratCard\",\n \"webApiCustomValue\": \"true\"\n }]\n });\n this.addModel({\n \"id\": \"$m_BewerbungKopf\",\n \"webApiAction\": \"ZIT/Objekte/BewerbungKopfElement\",\n \"key\": \"models.data.$m_Bewerbung.IdBewerbungKopfElement\",\n \"keyProperty\": \"Id\",\n \"filters\": []\n });\n this.addModel({\n \"id\": \"$m_BewerbungEinsatzbereichRel\",\n \"webApiAction\": \"ZIT/Objekte/BewerbungKopfEinsatzbereich\",\n \"webApiExpand\": {\n 'Einsatzbereich': null\n },\n \"keyProperty\": \"Id\",\n \"filters\": []\n });\n this.addModel({\n \"id\": \"$m_BewerbungEinsatzbereichEdit\",\n \"webApiAction\": \"ZIT/Objekte/BewerbungKopfEinsatzbereich\",\n \"keyProperty\": \"Id\",\n \"filters\": []\n });\n this.addModel({\n \"id\": \"$m_Person\",\n \"webApiAction\": \"ZIT/Objekte/Person\",\n \"modificationInfoEnabled\": true,\n \"key\": \"models.data.$m_Bewerbung.Kopf.IdPerson\",\n \"keyProperty\": \"Id\",\n \"filters\": []\n });\n this.addModel({\n \"id\": \"$m_DokumentRel\",\n \"webApiAction\": \"ZIT/Objekte/DokumentElement\",\n \"webApiExpand\": {\n 'Informationstyp': null\n },\n \"webApiWhere\": [\"IdStelleninserat\", {\n \"isBound\": true,\n \"expression\": \"models.data.$m_Bewerbung.Kopf.IdStelleninserat\"\n }],\n \"keyProperty\": \"Id\",\n \"filters\": []\n });\n this.addModel({\n \"id\": \"$m_DokumentEdit\",\n \"webApiAction\": \"ZIT/Objekte/DokumentElement\",\n \"keyProperty\": \"Id\",\n \"filters\": []\n });\n this.addModel({\n \"id\": \"$m_Geschaeftspartner\",\n \"webApiAction\": \"ZIT/Objekte/Geschaeftspartner\",\n \"webApiWhere\": [],\n \"modificationInfoEnabled\": true,\n \"key\": \"models.data.$m_Bewerbung.Kopf.Stelleninserat.Kopf.IdGeschaeftspartner\",\n \"keyProperty\": \"Id\",\n \"filters\": [{\n \"webApiCustomKey\": \"standardAddress\",\n \"webApiCustomValue\": \"true\"\n }]\n });\n this.addCommand({\n \"binding\": {\n \"bindTo\": \"$f_BewerbungEditUtils.actionCommand\",\n \"bindToFQ\": \"functions.$f_BewerbungEditUtils.actionCommand\"\n }\n });\n this.addEditPopup({\n \"idContent\": \"bewerbungEinsatzbereichEditPopupContent\",\n \"mappings\": [{\n \"to\": \"$id\",\n \"binding\": {\n \"dataContext\": \"$m_BewerbungEinsatzbereichEdit\",\n \"bindTo\": \"Id\",\n \"bindToFQ\": \"models.data.$m_BewerbungEinsatzbereichEdit.Id\"\n }\n }],\n \"id\": \"bewerbungEinsatzbereichEditPopup\",\n \"options\": {\n \"optionsName\": \"bewerbungEinsatzbereichEditPopupOptions\",\n \"optionsNameFQ\": \"bewerbungEinsatzbereichEditPopupOptions\"\n },\n \"height\": \"auto\",\n \"width\": \"500px\",\n \"commands\": []\n });\n this.addFunction(\"$f_BewerbungEditUtils\", $f_BewerbungEditUtils, \"functions.$f_BewerbungEditUtils\");\n this.widgetCreator.addValidationGroup(this, {\n \"id\": \"wd1\",\n \"options\": {\n \"optionsName\": \"wd1Options\",\n \"optionsNameFQ\": \"wd1Options\"\n }\n });\n this.widgetCreator.addLookup(this, {\n \"idSelect\": \"person\",\n \"filters\": [],\n \"caption\": \"bewerbung-ferialer-ersteinstieg-edit.r_bewerbungperson_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Bewerbung\",\n \"bindTo\": \"Kopf.IdPerson\",\n \"bindToFQ\": \"models.data.$m_Bewerbung.Kopf.IdPerson\",\n \"propertyPrefix\": \"Kopf\"\n },\n \"validationRules\": [],\n \"id\": \"r_bewerbungPerson\",\n \"options\": {\n \"optionsName\": \"r_bewerbungPersonOptions\",\n \"optionsNameFQ\": \"r_bewerbungPersonOptions\"\n }\n });\n this.widgetCreator.addLookup(this, {\n \"idSelect\": \"stelleninserat\",\n \"filters\": [],\n \"caption\": \"bewerbung-ferialer-ersteinstieg-edit.r_bewerbungstelleninserat_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Bewerbung\",\n \"bindTo\": \"Kopf.IdStelleninserat\",\n \"bindToFQ\": \"models.data.$m_Bewerbung.Kopf.IdStelleninserat\",\n \"propertyPrefix\": \"Kopf\"\n },\n \"validationRules\": [],\n \"id\": \"r_bewerbungStelleninserat\",\n \"options\": {\n \"optionsName\": \"r_bewerbungStelleninseratOptions\",\n \"optionsNameFQ\": \"r_bewerbungStelleninseratOptions\"\n }\n });\n this.widgetCreator.addListView(this, {\n \"itemClass\": \"z--list-view-inline-item\",\n \"useDefaultListItemStyle\": false,\n \"createToolbar\": true,\n \"optionsToolbar\": {\n \"optionsName\": \"r_bewerbungEinsatzbereichListViewToolbarOptions\",\n \"optionsNameFQ\": \"r_bewerbungEinsatzbereichListViewToolbarOptions\"\n },\n \"caption\": \"bewerbung-ferialer-ersteinstieg-edit.r_bewerbungeinsatzbereichlistview_caption\",\n \"binding\": {\n \"dataContext\": \"$m_BewerbungKopf\"\n },\n \"isRelation\": true,\n \"relationBinding\": {\n \"dataContext\": \"$m_BewerbungEinsatzbereichRel\",\n \"bindTo\": \"IdBewerbungKopfElement\",\n \"bindToFQ\": \"models.data.$m_BewerbungEinsatzbereichRel.IdBewerbungKopfElement\"\n },\n \"dataModel\": \"$m_BewerbungKopf\",\n \"editDataContext\": \"$m_BewerbungEinsatzbereichEdit\",\n \"idEditPopup\": \"bewerbungEinsatzbereichEditPopup\",\n \"listEdits\": [],\n \"filters\": [],\n \"commands\": [],\n \"id\": \"r_bewerbungEinsatzbereichListView\",\n \"options\": {\n \"optionsName\": \"r_bewerbungEinsatzbereichListViewOptions\",\n \"optionsNameFQ\": \"r_bewerbungEinsatzbereichListViewOptions\"\n }\n });\n this.widgetCreator.addTextBox(this, {\n \"maxLength\": 100,\n \"caption\": \"bewerbung-ferialer-ersteinstieg-edit.r_bewerbungverwandtmit_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Bewerbung\",\n \"bindTo\": \"Kopf.VerwandtMit\",\n \"bindToFQ\": \"models.data.$m_Bewerbung.Kopf.VerwandtMit\",\n \"propertyPrefix\": \"Kopf\"\n },\n \"validationRules\": [{\n \"item\": {\n \"type\": \"conditionalRequired\",\n \"parameters\": [{\n \"name\": \"condition\",\n \"value\": \"models.data.$m_Bewerbung.Kopf && models.data.$m_Bewerbung.Kopf.IdVerwandtschaftsverhaeltnis\"\n }]\n }\n }],\n \"id\": \"r_bewerbungVerwandtMit\",\n \"options\": {\n \"optionsName\": \"r_bewerbungVerwandtMitOptions\",\n \"optionsNameFQ\": \"r_bewerbungVerwandtMitOptions\"\n }\n });\n this.widgetCreator.addSelectBox(this, {\n \"idSelect\": \"verwandtschaftsverhaeltnis\",\n \"filters\": [],\n \"caption\": \"bewerbung-ferialer-ersteinstieg-edit.r_bewerbungverwandtschaftsverhaeltnis_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Bewerbung\",\n \"bindTo\": \"Kopf.IdVerwandtschaftsverhaeltnis\",\n \"bindToFQ\": \"models.data.$m_Bewerbung.Kopf.IdVerwandtschaftsverhaeltnis\",\n \"propertyPrefix\": \"Kopf\"\n },\n \"validationRules\": [{\n \"item\": {\n \"type\": \"conditionalRequired\",\n \"parameters\": [{\n \"name\": \"condition\",\n \"value\": \"models.data.$m_Bewerbung.Kopf && models.data.$m_Bewerbung.Kopf.VerwandtMit\"\n }]\n }\n }],\n \"id\": \"r_bewerbungVerwandtschaftsverhaeltnis\",\n \"options\": {\n \"optionsName\": \"r_bewerbungVerwandtschaftsverhaeltnisOptions\",\n \"optionsNameFQ\": \"r_bewerbungVerwandtschaftsverhaeltnisOptions\"\n }\n });\n this.widgetCreator.addDateBox(this, {\n \"format\": \"d\",\n \"caption\": \"bewerbung-ferialer-ersteinstieg-edit.r_bewerbungeinsatzzeitraum1von_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Bewerbung\",\n \"bindTo\": \"Kopf.Einsatzzeitraum1Von\",\n \"bindToFQ\": \"models.data.$m_Bewerbung.Kopf.Einsatzzeitraum1Von\",\n \"propertyPrefix\": \"Kopf\"\n },\n \"validationRules\": [{\n \"binding\": {\n \"dataContext\": \"$m_Bewerbung\",\n \"bindTo\": \"$f_BewerbungEditUtils.einsatzzeitraum1VonCustomValidation\",\n \"bindToFQ\": \"functions.$f_BewerbungEditUtils.einsatzzeitraum1VonCustomValidation\"\n }\n }, {\n \"item\": {\n \"type\": \"required\",\n \"parameters\": []\n }\n }],\n \"id\": \"r_bewerbungEinsatzzeitraum1Von\",\n \"options\": {\n \"optionsName\": \"r_bewerbungEinsatzzeitraum1VonOptions\",\n \"optionsNameFQ\": \"r_bewerbungEinsatzzeitraum1VonOptions\"\n }\n });\n this.widgetCreator.addDateBox(this, {\n \"format\": \"d\",\n \"caption\": \"bewerbung-ferialer-ersteinstieg-edit.r_bewerbungeinsatzzeitraum1bis_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Bewerbung\",\n \"bindTo\": \"Kopf.Einsatzzeitraum1Bis\",\n \"bindToFQ\": \"models.data.$m_Bewerbung.Kopf.Einsatzzeitraum1Bis\",\n \"propertyPrefix\": \"Kopf\"\n },\n \"validationRules\": [{\n \"binding\": {\n \"dataContext\": \"$m_Bewerbung\",\n \"bindTo\": \"$f_BewerbungEditUtils.einsatzzeitraum1BisCustomValidation\",\n \"bindToFQ\": \"functions.$f_BewerbungEditUtils.einsatzzeitraum1BisCustomValidation\"\n }\n }, {\n \"item\": {\n \"type\": \"required\",\n \"parameters\": []\n }\n }],\n \"id\": \"r_bewerbungEinsatzzeitraum1Bis\",\n \"options\": {\n \"optionsName\": \"r_bewerbungEinsatzzeitraum1BisOptions\",\n \"optionsNameFQ\": \"r_bewerbungEinsatzzeitraum1BisOptions\"\n }\n });\n this.widgetCreator.addDateBox(this, {\n \"format\": \"d\",\n \"caption\": \"bewerbung-ferialer-ersteinstieg-edit.r_bewerbungeinsatzzeitraum2von_caption\",\n \"isReadOnlyExpression\": \"models.data.$m_Bewerbung.Kopf && (!models.data.$m_Bewerbung.Kopf.Einsatzzeitraum1Von || !models.data.$m_Bewerbung.Kopf.Einsatzzeitraum1Bis)\",\n \"binding\": {\n \"dataContext\": \"$m_Bewerbung\",\n \"bindTo\": \"Kopf.Einsatzzeitraum2Von\",\n \"bindToFQ\": \"models.data.$m_Bewerbung.Kopf.Einsatzzeitraum2Von\",\n \"propertyPrefix\": \"Kopf\"\n },\n \"validationRules\": [{\n \"binding\": {\n \"dataContext\": \"$m_Bewerbung\",\n \"bindTo\": \"$f_BewerbungEditUtils.einsatzzeitraum2VonCustomValidation\",\n \"bindToFQ\": \"functions.$f_BewerbungEditUtils.einsatzzeitraum2VonCustomValidation\"\n }\n }, {\n \"item\": {\n \"type\": \"conditionalRequired\",\n \"parameters\": [{\n \"name\": \"condition\",\n \"value\": \"models.data.$m_Bewerbung.Kopf && models.data.$m_Bewerbung.Kopf.Einsatzzeitraum2Bis\"\n }]\n }\n }],\n \"id\": \"r_bewerbungEinsatzzeitraum2Von\",\n \"options\": {\n \"optionsName\": \"r_bewerbungEinsatzzeitraum2VonOptions\",\n \"optionsNameFQ\": \"r_bewerbungEinsatzzeitraum2VonOptions\"\n }\n });\n this.widgetCreator.addDateBox(this, {\n \"format\": \"d\",\n \"caption\": \"bewerbung-ferialer-ersteinstieg-edit.r_bewerbungeinsatzzeitraum2bis_caption\",\n \"isReadOnlyExpression\": \"models.data.$m_Bewerbung.Kopf && (!models.data.$m_Bewerbung.Kopf.Einsatzzeitraum1Von || !models.data.$m_Bewerbung.Kopf.Einsatzzeitraum1Bis)\",\n \"binding\": {\n \"dataContext\": \"$m_Bewerbung\",\n \"bindTo\": \"Kopf.Einsatzzeitraum2Bis\",\n \"bindToFQ\": \"models.data.$m_Bewerbung.Kopf.Einsatzzeitraum2Bis\",\n \"propertyPrefix\": \"Kopf\"\n },\n \"validationRules\": [{\n \"binding\": {\n \"dataContext\": \"$m_Bewerbung\",\n \"bindTo\": \"$f_BewerbungEditUtils.einsatzzeitraum2BisCustomValidation\",\n \"bindToFQ\": \"functions.$f_BewerbungEditUtils.einsatzzeitraum2BisCustomValidation\"\n }\n }, {\n \"item\": {\n \"type\": \"conditionalRequired\",\n \"parameters\": [{\n \"name\": \"condition\",\n \"value\": \"models.data.$m_Bewerbung.Kopf && models.data.$m_Bewerbung.Kopf.Einsatzzeitraum2Von\"\n }]\n }\n }],\n \"id\": \"r_bewerbungEinsatzzeitraum2Bis\",\n \"options\": {\n \"optionsName\": \"r_bewerbungEinsatzzeitraum2BisOptions\",\n \"optionsNameFQ\": \"r_bewerbungEinsatzzeitraum2BisOptions\"\n }\n });\n this.widgetCreator.addNumberBox(this, {\n \"showSpinButtons\": true,\n \"min\": 0.0,\n \"max\": 52.0,\n \"format\": \"n0\",\n \"caption\": \"bewerbung-ferialer-ersteinstieg-edit.r_bewerbunganzahlwunschwochen_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Bewerbung\",\n \"bindTo\": \"Kopf.AnzahlWunschwochen\",\n \"bindToFQ\": \"models.data.$m_Bewerbung.Kopf.AnzahlWunschwochen\",\n \"propertyPrefix\": \"Kopf\"\n },\n \"validationRules\": [{\n \"binding\": {\n \"dataContext\": \"$m_Bewerbung\",\n \"bindTo\": \"$f_BewerbungEditUtils.anzahlWunschWochenValidationRule\",\n \"bindToFQ\": \"functions.$f_BewerbungEditUtils.anzahlWunschWochenValidationRule\"\n }\n }],\n \"id\": \"r_bewerbungAnzahlWunschwochen\",\n \"options\": {\n \"optionsName\": \"r_bewerbungAnzahlWunschwochenOptions\",\n \"optionsNameFQ\": \"r_bewerbungAnzahlWunschwochenOptions\"\n }\n });\n this.widgetCreator.addTextBox(this, {\n \"maxLength\": 100,\n \"caption\": \"bewerbung-ferialer-ersteinstieg-edit.r_bewerbungpersontaetigkeit_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Bewerbung\",\n \"bindTo\": \"Kopf.Taetigkeit\",\n \"bindToFQ\": \"models.data.$m_Bewerbung.Kopf.Taetigkeit\",\n \"propertyPrefix\": \"Kopf\"\n },\n \"validationRules\": [],\n \"id\": \"r_bewerbungPersonTaetigkeit\",\n \"options\": {\n \"optionsName\": \"r_bewerbungPersonTaetigkeitOptions\",\n \"optionsNameFQ\": \"r_bewerbungPersonTaetigkeitOptions\"\n }\n });\n this.widgetCreator.addSelectBox(this, {\n \"idSelect\": \"bewerbungsgrund\",\n \"filters\": [],\n \"caption\": \"bewerbung-ferialer-ersteinstieg-edit.r_bewerbungsgrund_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Bewerbung\",\n \"bindTo\": \"Kopf.IdBewerbungsgrund\",\n \"bindToFQ\": \"models.data.$m_Bewerbung.Kopf.IdBewerbungsgrund\",\n \"propertyPrefix\": \"Kopf\"\n },\n \"validationRules\": [],\n \"id\": \"r_bewerbungsgrund\",\n \"options\": {\n \"optionsName\": \"r_bewerbungsgrundOptions\",\n \"optionsNameFQ\": \"r_bewerbungsgrundOptions\"\n }\n });\n this.widgetCreator.addDateBox(this, {\n \"format\": \"d\",\n \"caption\": \"bewerbung-ferialer-ersteinstieg-edit.r_bewerbungsdatum_caption\",\n \"isReadOnlyExpression\": \"models.data.$m_Bewerbung.Kopf.Id > 0\",\n \"binding\": {\n \"dataContext\": \"$m_Bewerbung\",\n \"bindTo\": \"Kopf.Bewerbungsdatum\",\n \"bindToFQ\": \"models.data.$m_Bewerbung.Kopf.Bewerbungsdatum\",\n \"propertyPrefix\": \"Kopf\"\n },\n \"validationRules\": [{\n \"item\": {\n \"type\": \"required\",\n \"parameters\": []\n }\n }],\n \"id\": \"r_bewerbungsdatum\",\n \"options\": {\n \"optionsName\": \"r_bewerbungsdatumOptions\",\n \"optionsNameFQ\": \"r_bewerbungsdatumOptions\"\n }\n });\n this.widgetCreator.addPopup(this, {\n \"id\": \"r_bewerbungAbgeschlossenPopup\",\n \"options\": {\n \"optionsName\": \"r_bewerbungAbgeschlossenPopupOptions\",\n \"optionsNameFQ\": \"r_bewerbungAbgeschlossenPopupOptions\"\n },\n \"caption\": \"bewerbung-ferialer-ersteinstieg-edit.r_bewerbungabgeschlossenpopup_caption\",\n \"height\": \"auto\",\n \"width\": \"450px\",\n \"showCloseButton\": false,\n \"commands\": [{\n \"binding\": {\n \"bindTo\": \"$f_BewerbungEditUtils.abschliessenCommand\",\n \"bindToFQ\": \"functions.$f_BewerbungEditUtils.abschliessenCommand\"\n }\n }]\n });\n this.widgetCreator.addPopup(this, {\n \"id\": \"r_bewerbungEinsatzbereichPopup\",\n \"options\": {\n \"optionsName\": \"r_bewerbungEinsatzbereichPopupOptions\",\n \"optionsNameFQ\": \"r_bewerbungEinsatzbereichPopupOptions\"\n },\n \"caption\": \"bewerbung-ferialer-ersteinstieg-edit.r_bewerbungeinsatzbereichpopup_caption\",\n \"height\": \"auto\",\n \"width\": \"450px\",\n \"showCloseButton\": false,\n \"commands\": [{\n \"binding\": {\n \"bindTo\": \"$f_BewerbungEditUtils.bewerbungEinsatzbereichCommand\",\n \"bindToFQ\": \"functions.$f_BewerbungEditUtils.bewerbungEinsatzbereichCommand\"\n }\n }]\n });\n super.onConstructionFinished();\n }\n}","module.exports = \"\";","import * as fwx from \"../../../../framework/forms/form-export\";\nimport {\n BewerbungEditUtils\n} from \"./bewerbung-edit-utils\";\n\n@fwx.autoinject\nexport class BewerbungFerialerErweiterungEditForm extends fwx.FormBase {\n constructor(\n element: Element,\n formBaseImport: fwx.FormBaseImport,\n private $f_BewerbungEditUtils: BewerbungEditUtils) {\n super(element, formBaseImport);\n this.id = \"bewerbung-erweitert-edit\";\n this.title = \"bewerbung-erweitert-edit.bewerbung-erweitert-edit_caption\";\n this.addModel({\n \"id\": \"$m_Bewerbung\",\n \"webApiAction\": \"ZIT/Objekte/Bewerbung\",\n \"webApiExpand\": {\n 'Kopf': {\n 'expand': {\n 'Stelleninserat': {\n 'expand': {\n 'FerialbewerbungFragebogen': null,\n 'FerialeinsatzEinstellungen': null,\n 'Kopf': {\n 'expand': {\n 'Geschaeftspartner': {\n 'expand': {\n 'Geschaeftspartnerdaten': null\n }\n }\n }\n }\n }\n },\n 'Person': {\n 'expand': {\n 'Personendaten': {\n 'expand': {\n 'Nationalitaet': null,\n 'Schuhgroesse': null,\n 'Kleidergroesse': null,\n 'Familienstand': null\n }\n },\n 'Adressen': {\n 'expand': {\n 'Land': null\n },\n 'where': [\n [\n [\n 'GueltigVon',\n '<=',\n '@Today()'\n ],\n 'or',\n [\n 'GueltigVon',\n '=',\n 'null'\n ]\n ],\n [\n [\n 'GueltigBis',\n '>=',\n '@Today()'\n ],\n 'or',\n [\n 'GueltigBis',\n '=',\n 'null'\n ]\n ]\n ]\n },\n 'Kontakte': {\n 'expand': {\n 'Kontakttyp': null\n }\n },\n 'Sprache': {\n 'expand': {\n 'Sprachen': {\n 'expand': {\n 'Sprachniveau': null,\n 'Sprache': null\n }\n }\n }\n },\n 'Berufserfahrungen': {\n 'expand': {\n 'Berufserfahrungen': null\n }\n },\n 'GeschaeftspartnerEinsaetze': {\n 'expand': {\n 'Geschaeftspartner': null\n }\n },\n 'Skills': {\n 'expand': {\n 'Skill': null\n }\n },\n 'Berufe': {\n 'expand': {\n 'Berufe': {\n 'expand': {\n 'Beruf': null\n }\n },\n 'AusbildungAbschluss': null,\n 'BerufQualifikation': null\n }\n },\n 'Fuehrerschein': {\n 'expand': {\n 'Fuehrerscheine': {\n 'expand': {\n 'Fuehrerscheinklasse': null\n }\n }\n }\n },\n 'Ausbildung': {\n 'expand': {\n 'Ausbildungen': {\n 'expand': {\n 'Ausbildung': null,\n 'AusbildungAbschluss': null\n }\n }\n }\n }\n }\n },\n 'Bewerbungsgrund': null,\n 'Bewerbungskanal': null,\n 'Einsatzbereiche': null\n }\n }\n },\n \"modificationInfoEnabled\": true,\n \"key\": \"variables.data.$id\",\n \"keyProperty\": \"Id\",\n \"postOnSave\": true,\n \"filters\": [{\n \"webApiCustomKey\": \"BewerbungInfo\",\n \"webApiCustomValue\": \"true\"\n }, {\n \"webApiCustomKey\": \"StelleninseratInfo\",\n \"webApiCustomValue\": \"true\"\n }, {\n \"webApiCustomKey\": \"AddPersonCard\",\n \"webApiCustomValue\": \"true\"\n }, {\n \"webApiCustomKey\": \"AddStelleninseratCard\",\n \"webApiCustomValue\": \"true\"\n }]\n });\n this.addModel({\n \"id\": \"$m_BewerbungKopf\",\n \"webApiAction\": \"ZIT/Objekte/BewerbungKopfElement\",\n \"key\": \"models.data.$m_Bewerbung.IdBewerbungKopfElement\",\n \"keyProperty\": \"Id\",\n \"filters\": []\n });\n this.addModel({\n \"id\": \"$m_BewerbungEinsatzbereichRel\",\n \"webApiAction\": \"ZIT/Objekte/BewerbungKopfEinsatzbereich\",\n \"webApiExpand\": {\n 'Einsatzbereich': null\n },\n \"keyProperty\": \"Id\",\n \"filters\": []\n });\n this.addModel({\n \"id\": \"$m_BewerbungEinsatzbereichEdit\",\n \"webApiAction\": \"ZIT/Objekte/BewerbungKopfEinsatzbereich\",\n \"keyProperty\": \"Id\",\n \"filters\": []\n });\n this.addModel({\n \"id\": \"$m_Person\",\n \"webApiAction\": \"ZIT/Objekte/Person\",\n \"modificationInfoEnabled\": true,\n \"key\": \"models.data.$m_Bewerbung.Kopf.IdPerson\",\n \"keyProperty\": \"Id\",\n \"filters\": []\n });\n this.addModel({\n \"id\": \"$m_DokumentRel\",\n \"webApiAction\": \"ZIT/Objekte/DokumentElement\",\n \"webApiExpand\": {\n 'Informationstyp': null\n },\n \"webApiWhere\": [\"IdStelleninserat\", {\n \"isBound\": true,\n \"expression\": \"models.data.$m_Bewerbung.Kopf.IdStelleninserat\"\n }],\n \"keyProperty\": \"Id\",\n \"filters\": []\n });\n this.addModel({\n \"id\": \"$m_DokumentEdit\",\n \"webApiAction\": \"ZIT/Objekte/DokumentElement\",\n \"keyProperty\": \"Id\",\n \"filters\": []\n });\n this.addCommand({\n \"binding\": {\n \"bindTo\": \"$f_BewerbungEditUtils.actionCommand\",\n \"bindToFQ\": \"functions.$f_BewerbungEditUtils.actionCommand\"\n }\n });\n this.addEditPopup({\n \"idContent\": \"bewerbungEinsatzbereichEditPopupContent\",\n \"mappings\": [{\n \"to\": \"$id\",\n \"binding\": {\n \"dataContext\": \"$m_BewerbungEinsatzbereichEdit\",\n \"bindTo\": \"Id\",\n \"bindToFQ\": \"models.data.$m_BewerbungEinsatzbereichEdit.Id\"\n }\n }],\n \"id\": \"bewerbungEinsatzbereichEditPopup\",\n \"options\": {\n \"optionsName\": \"bewerbungEinsatzbereichEditPopupOptions\",\n \"optionsNameFQ\": \"bewerbungEinsatzbereichEditPopupOptions\"\n },\n \"height\": \"auto\",\n \"width\": \"500px\",\n \"commands\": []\n });\n this.addFunction(\"$f_BewerbungEditUtils\", $f_BewerbungEditUtils, \"functions.$f_BewerbungEditUtils\");\n this.widgetCreator.addValidationGroup(this, {\n \"id\": \"wd1\",\n \"options\": {\n \"optionsName\": \"wd1Options\",\n \"optionsNameFQ\": \"wd1Options\"\n }\n });\n this.widgetCreator.addLookup(this, {\n \"idSelect\": \"person\",\n \"filters\": [],\n \"caption\": \"bewerbung-erweitert-edit.r_bewerbungperson_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Bewerbung\",\n \"bindTo\": \"Kopf.IdPerson\",\n \"bindToFQ\": \"models.data.$m_Bewerbung.Kopf.IdPerson\",\n \"propertyPrefix\": \"Kopf\"\n },\n \"validationRules\": [{\n \"item\": {\n \"type\": \"required\",\n \"parameters\": []\n }\n }],\n \"id\": \"r_bewerbungPerson\",\n \"options\": {\n \"optionsName\": \"r_bewerbungPersonOptions\",\n \"optionsNameFQ\": \"r_bewerbungPersonOptions\"\n }\n });\n this.widgetCreator.addLookup(this, {\n \"idSelect\": \"stelleninserat\",\n \"filters\": [],\n \"caption\": \"bewerbung-erweitert-edit.r_bewerbungstelleninserat_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Bewerbung\",\n \"bindTo\": \"Kopf.IdStelleninserat\",\n \"bindToFQ\": \"models.data.$m_Bewerbung.Kopf.IdStelleninserat\",\n \"propertyPrefix\": \"Kopf\"\n },\n \"validationRules\": [{\n \"item\": {\n \"type\": \"required\",\n \"parameters\": []\n }\n }],\n \"id\": \"r_bewerbungStelleninserat\",\n \"options\": {\n \"optionsName\": \"r_bewerbungStelleninseratOptions\",\n \"optionsNameFQ\": \"r_bewerbungStelleninseratOptions\"\n }\n });\n this.widgetCreator.addListView(this, {\n \"itemClass\": \"z--list-view-inline-item\",\n \"useDefaultListItemStyle\": false,\n \"createToolbar\": true,\n \"optionsToolbar\": {\n \"optionsName\": \"r_bewerbungEinsatzbereichListViewToolbarOptions\",\n \"optionsNameFQ\": \"r_bewerbungEinsatzbereichListViewToolbarOptions\"\n },\n \"caption\": \"bewerbung-erweitert-edit.r_bewerbungeinsatzbereichlistview_caption\",\n \"binding\": {\n \"dataContext\": \"$m_BewerbungKopf\"\n },\n \"isRelation\": true,\n \"relationBinding\": {\n \"dataContext\": \"$m_BewerbungEinsatzbereichRel\",\n \"bindTo\": \"IdBewerbungKopfElement\",\n \"bindToFQ\": \"models.data.$m_BewerbungEinsatzbereichRel.IdBewerbungKopfElement\"\n },\n \"dataModel\": \"$m_BewerbungKopf\",\n \"editDataContext\": \"$m_BewerbungEinsatzbereichEdit\",\n \"idEditPopup\": \"bewerbungEinsatzbereichEditPopup\",\n \"listEdits\": [],\n \"filters\": [],\n \"commands\": [],\n \"id\": \"r_bewerbungEinsatzbereichListView\",\n \"options\": {\n \"optionsName\": \"r_bewerbungEinsatzbereichListViewOptions\",\n \"optionsNameFQ\": \"r_bewerbungEinsatzbereichListViewOptions\"\n }\n });\n this.widgetCreator.addTextBox(this, {\n \"maxLength\": 100,\n \"caption\": \"bewerbung-erweitert-edit.r_bewerbungverwandtmit_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Bewerbung\",\n \"bindTo\": \"Kopf.VerwandtMit\",\n \"bindToFQ\": \"models.data.$m_Bewerbung.Kopf.VerwandtMit\",\n \"propertyPrefix\": \"Kopf\"\n },\n \"validationRules\": [{\n \"item\": {\n \"type\": \"conditionalRequired\",\n \"parameters\": [{\n \"name\": \"condition\",\n \"value\": \"models.data.$m_Bewerbung.Kopf && models.data.$m_Bewerbung.Kopf.IdVerwandtschaftsverhaeltnis\"\n }]\n }\n }],\n \"id\": \"r_bewerbungVerwandtMit\",\n \"options\": {\n \"optionsName\": \"r_bewerbungVerwandtMitOptions\",\n \"optionsNameFQ\": \"r_bewerbungVerwandtMitOptions\"\n }\n });\n this.widgetCreator.addSelectBox(this, {\n \"idSelect\": \"verwandtschaftsverhaeltnis\",\n \"filters\": [],\n \"caption\": \"bewerbung-erweitert-edit.r_bewerbungverwandtschaftsverhaeltnis_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Bewerbung\",\n \"bindTo\": \"Kopf.IdVerwandtschaftsverhaeltnis\",\n \"bindToFQ\": \"models.data.$m_Bewerbung.Kopf.IdVerwandtschaftsverhaeltnis\",\n \"propertyPrefix\": \"Kopf\"\n },\n \"validationRules\": [{\n \"item\": {\n \"type\": \"conditionalRequired\",\n \"parameters\": [{\n \"name\": \"condition\",\n \"value\": \"models.data.$m_Bewerbung.Kopf && models.data.$m_Bewerbung.Kopf.VerwandtMit\"\n }]\n }\n }],\n \"id\": \"r_bewerbungVerwandtschaftsverhaeltnis\",\n \"options\": {\n \"optionsName\": \"r_bewerbungVerwandtschaftsverhaeltnisOptions\",\n \"optionsNameFQ\": \"r_bewerbungVerwandtschaftsverhaeltnisOptions\"\n }\n });\n this.widgetCreator.addDateBox(this, {\n \"format\": \"d\",\n \"caption\": \"bewerbung-erweitert-edit.r_bewerbungeinsatzzeitraum1von_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Bewerbung\",\n \"bindTo\": \"Kopf.Einsatzzeitraum1Von\",\n \"bindToFQ\": \"models.data.$m_Bewerbung.Kopf.Einsatzzeitraum1Von\",\n \"propertyPrefix\": \"Kopf\"\n },\n \"validationRules\": [{\n \"binding\": {\n \"dataContext\": \"$m_Bewerbung\",\n \"bindTo\": \"$f_BewerbungEditUtils.einsatzzeitraum1VonCustomValidation\",\n \"bindToFQ\": \"functions.$f_BewerbungEditUtils.einsatzzeitraum1VonCustomValidation\"\n }\n }, {\n \"item\": {\n \"type\": \"required\",\n \"parameters\": []\n }\n }],\n \"id\": \"r_bewerbungEinsatzzeitraum1Von\",\n \"options\": {\n \"optionsName\": \"r_bewerbungEinsatzzeitraum1VonOptions\",\n \"optionsNameFQ\": \"r_bewerbungEinsatzzeitraum1VonOptions\"\n }\n });\n this.widgetCreator.addDateBox(this, {\n \"format\": \"d\",\n \"caption\": \"bewerbung-erweitert-edit.r_bewerbungeinsatzzeitraum1bis_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Bewerbung\",\n \"bindTo\": \"Kopf.Einsatzzeitraum1Bis\",\n \"bindToFQ\": \"models.data.$m_Bewerbung.Kopf.Einsatzzeitraum1Bis\",\n \"propertyPrefix\": \"Kopf\"\n },\n \"validationRules\": [{\n \"binding\": {\n \"dataContext\": \"$m_Bewerbung\",\n \"bindTo\": \"$f_BewerbungEditUtils.einsatzzeitraum1BisCustomValidation\",\n \"bindToFQ\": \"functions.$f_BewerbungEditUtils.einsatzzeitraum1BisCustomValidation\"\n }\n }, {\n \"item\": {\n \"type\": \"required\",\n \"parameters\": []\n }\n }],\n \"id\": \"r_bewerbungEinsatzzeitraum1Bis\",\n \"options\": {\n \"optionsName\": \"r_bewerbungEinsatzzeitraum1BisOptions\",\n \"optionsNameFQ\": \"r_bewerbungEinsatzzeitraum1BisOptions\"\n }\n });\n this.widgetCreator.addDateBox(this, {\n \"format\": \"d\",\n \"caption\": \"bewerbung-erweitert-edit.r_bewerbungeinsatzzeitraum2von_caption\",\n \"isReadOnlyExpression\": \"models.data.$m_Bewerbung.Kopf && (!models.data.$m_Bewerbung.Kopf.Einsatzzeitraum1Von || !models.data.$m_Bewerbung.Kopf.Einsatzzeitraum1Bis)\",\n \"binding\": {\n \"dataContext\": \"$m_Bewerbung\",\n \"bindTo\": \"Kopf.Einsatzzeitraum2Von\",\n \"bindToFQ\": \"models.data.$m_Bewerbung.Kopf.Einsatzzeitraum2Von\",\n \"propertyPrefix\": \"Kopf\"\n },\n \"validationRules\": [{\n \"binding\": {\n \"dataContext\": \"$m_Bewerbung\",\n \"bindTo\": \"$f_BewerbungEditUtils.einsatzzeitraum2VonCustomValidation\",\n \"bindToFQ\": \"functions.$f_BewerbungEditUtils.einsatzzeitraum2VonCustomValidation\"\n }\n }, {\n \"item\": {\n \"type\": \"conditionalRequired\",\n \"parameters\": [{\n \"name\": \"condition\",\n \"value\": \"models.data.$m_Bewerbung.Kopf && models.data.$m_Bewerbung.Kopf.Einsatzzeitraum2Bis\"\n }]\n }\n }],\n \"id\": \"r_bewerbungEinsatzzeitraum2Von\",\n \"options\": {\n \"optionsName\": \"r_bewerbungEinsatzzeitraum2VonOptions\",\n \"optionsNameFQ\": \"r_bewerbungEinsatzzeitraum2VonOptions\"\n }\n });\n this.widgetCreator.addDateBox(this, {\n \"format\": \"d\",\n \"caption\": \"bewerbung-erweitert-edit.r_bewerbungeinsatzzeitraum2bis_caption\",\n \"isReadOnlyExpression\": \"models.data.$m_Bewerbung.Kopf && (!models.data.$m_Bewerbung.Kopf.Einsatzzeitraum1Von || !models.data.$m_Bewerbung.Kopf.Einsatzzeitraum1Bis)\",\n \"binding\": {\n \"dataContext\": \"$m_Bewerbung\",\n \"bindTo\": \"Kopf.Einsatzzeitraum2Bis\",\n \"bindToFQ\": \"models.data.$m_Bewerbung.Kopf.Einsatzzeitraum2Bis\",\n \"propertyPrefix\": \"Kopf\"\n },\n \"validationRules\": [{\n \"binding\": {\n \"dataContext\": \"$m_Bewerbung\",\n \"bindTo\": \"$f_BewerbungEditUtils.einsatzzeitraum2BisCustomValidation\",\n \"bindToFQ\": \"functions.$f_BewerbungEditUtils.einsatzzeitraum2BisCustomValidation\"\n }\n }, {\n \"item\": {\n \"type\": \"conditionalRequired\",\n \"parameters\": [{\n \"name\": \"condition\",\n \"value\": \"models.data.$m_Bewerbung.Kopf && models.data.$m_Bewerbung.Kopf.Einsatzzeitraum2Von\"\n }]\n }\n }],\n \"id\": \"r_bewerbungEinsatzzeitraum2Bis\",\n \"options\": {\n \"optionsName\": \"r_bewerbungEinsatzzeitraum2BisOptions\",\n \"optionsNameFQ\": \"r_bewerbungEinsatzzeitraum2BisOptions\"\n }\n });\n this.widgetCreator.addNumberBox(this, {\n \"showSpinButtons\": true,\n \"min\": 0.0,\n \"max\": 52.0,\n \"format\": \"n0\",\n \"caption\": \"bewerbung-erweitert-edit.r_bewerbunganzahlwunschwochen_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Bewerbung\",\n \"bindTo\": \"Kopf.AnzahlWunschwochen\",\n \"bindToFQ\": \"models.data.$m_Bewerbung.Kopf.AnzahlWunschwochen\",\n \"propertyPrefix\": \"Kopf\"\n },\n \"validationRules\": [{\n \"binding\": {\n \"dataContext\": \"$m_Bewerbung\",\n \"bindTo\": \"$f_BewerbungEditUtils.anzahlWunschWochenValidationRule\",\n \"bindToFQ\": \"functions.$f_BewerbungEditUtils.anzahlWunschWochenValidationRule\"\n }\n }],\n \"id\": \"r_bewerbungAnzahlWunschwochen\",\n \"options\": {\n \"optionsName\": \"r_bewerbungAnzahlWunschwochenOptions\",\n \"optionsNameFQ\": \"r_bewerbungAnzahlWunschwochenOptions\"\n }\n });\n this.widgetCreator.addTextBox(this, {\n \"maxLength\": 100,\n \"caption\": \"bewerbung-erweitert-edit.r_bewerbungpersontaetigkeit_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Bewerbung\",\n \"bindTo\": \"Kopf.Taetigkeit\",\n \"bindToFQ\": \"models.data.$m_Bewerbung.Kopf.Taetigkeit\",\n \"propertyPrefix\": \"Kopf\"\n },\n \"validationRules\": [],\n \"id\": \"r_bewerbungPersonTaetigkeit\",\n \"options\": {\n \"optionsName\": \"r_bewerbungPersonTaetigkeitOptions\",\n \"optionsNameFQ\": \"r_bewerbungPersonTaetigkeitOptions\"\n }\n });\n this.widgetCreator.addSelectBox(this, {\n \"idSelect\": \"bewerbungsgrund\",\n \"filters\": [],\n \"caption\": \"bewerbung-erweitert-edit.r_bewerbungsgrund_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Bewerbung\",\n \"bindTo\": \"Kopf.IdBewerbungsgrund\",\n \"bindToFQ\": \"models.data.$m_Bewerbung.Kopf.IdBewerbungsgrund\",\n \"propertyPrefix\": \"Kopf\"\n },\n \"validationRules\": [],\n \"id\": \"r_bewerbungsgrund\",\n \"options\": {\n \"optionsName\": \"r_bewerbungsgrundOptions\",\n \"optionsNameFQ\": \"r_bewerbungsgrundOptions\"\n }\n });\n this.widgetCreator.addDateBox(this, {\n \"format\": \"d\",\n \"caption\": \"bewerbung-erweitert-edit.r_bewerbungsdatum_caption\",\n \"isReadOnlyExpression\": \"models.data.$m_Bewerbung.Kopf.Id > 0\",\n \"binding\": {\n \"dataContext\": \"$m_Bewerbung\",\n \"bindTo\": \"Kopf.Bewerbungsdatum\",\n \"bindToFQ\": \"models.data.$m_Bewerbung.Kopf.Bewerbungsdatum\",\n \"propertyPrefix\": \"Kopf\"\n },\n \"validationRules\": [{\n \"item\": {\n \"type\": \"required\",\n \"parameters\": []\n }\n }],\n \"id\": \"r_bewerbungsdatum\",\n \"options\": {\n \"optionsName\": \"r_bewerbungsdatumOptions\",\n \"optionsNameFQ\": \"r_bewerbungsdatumOptions\"\n }\n });\n this.widgetCreator.addTextBox(this, {\n \"maxLength\": 30,\n \"caption\": \"bewerbung-erweitert-edit.r_geschaeftspartnerpersonalnr_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Bewerbung\",\n \"bindTo\": \"Kopf.GeschaeftspartnerPersonalNr\",\n \"bindToFQ\": \"models.data.$m_Bewerbung.Kopf.GeschaeftspartnerPersonalNr\",\n \"propertyPrefix\": \"Kopf\"\n },\n \"validationRules\": [],\n \"id\": \"r_geschaeftspartnerPersonalNr\",\n \"options\": {\n \"optionsName\": \"r_geschaeftspartnerPersonalNrOptions\",\n \"optionsNameFQ\": \"r_geschaeftspartnerPersonalNrOptions\"\n }\n });\n this.widgetCreator.addTextArea(this, {\n \"height\": \"100px\",\n \"caption\": \"bewerbung-erweitert-edit.r_bemerkung_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Bewerbung\",\n \"bindTo\": \"Kopf.Bemerkung\",\n \"bindToFQ\": \"models.data.$m_Bewerbung.Kopf.Bemerkung\",\n \"propertyPrefix\": \"Kopf\"\n },\n \"validationRules\": [],\n \"id\": \"r_bemerkung\",\n \"options\": {\n \"optionsName\": \"r_bemerkungOptions\",\n \"optionsNameFQ\": \"r_bemerkungOptions\"\n }\n });\n this.widgetCreator.addPopup(this, {\n \"id\": \"r_bewerbungEinsatzbereichPopup\",\n \"options\": {\n \"optionsName\": \"r_bewerbungEinsatzbereichPopupOptions\",\n \"optionsNameFQ\": \"r_bewerbungEinsatzbereichPopupOptions\"\n },\n \"caption\": \"bewerbung-erweitert-edit.r_bewerbungeinsatzbereichpopup_caption\",\n \"height\": \"auto\",\n \"width\": \"450px\",\n \"showCloseButton\": false,\n \"commands\": [{\n \"binding\": {\n \"bindTo\": \"$f_BewerbungEditUtils.bewerbungEinsatzbereichCommand\",\n \"bindToFQ\": \"functions.$f_BewerbungEditUtils.bewerbungEinsatzbereichCommand\"\n }\n }]\n });\n super.onConstructionFinished();\n }\n}","module.exports = \"\";","import * as fwx from \"../../../../framework/forms/form-export\";\nimport {\n BewerbungEditUtils\n} from \"./bewerbung-edit-utils\";\n\n@fwx.autoinject\nexport class BewerbungHeartbaseErweiterungEditForm extends fwx.FormBase {\n constructor(\n element: Element,\n formBaseImport: fwx.FormBaseImport,\n private $f_BewerbungEditUtils: BewerbungEditUtils) {\n super(element, formBaseImport);\n this.id = \"bewerbung-heartbase-erweitert-edit\";\n this.title = \"bewerbung-heartbase-erweitert-edit.bewerbung-heartbase-erweitert-edit_caption\";\n this.addModel({\n \"id\": \"$m_Bewerbung\",\n \"webApiAction\": \"ZIT/Objekte/Bewerbung\",\n \"webApiExpand\": {\n 'Kopf': {\n 'expand': {\n 'BewerbungTrainer': {\n 'expand': {\n 'Ansprechperson': null\n }\n },\n 'Stelleninserat': {\n 'columns': [\n 'Id',\n 'IdStelleninseratKopfElement'\n ],\n 'expand': {\n 'Kopf': {\n 'expand': {\n 'Geschaeftspartner': {\n 'expand': {\n 'Geschaeftspartnerdaten': null\n }\n }\n }\n }\n }\n },\n 'Person': {\n 'expand': {\n 'Personendaten': {\n 'expand': {\n 'Nationalitaet': null,\n 'Schuhgroesse': null,\n 'Kleidergroesse': null,\n 'Familienstand': null\n }\n },\n 'Adressen': {\n 'expand': {\n 'Land': null\n },\n 'where': [\n [\n [\n 'GueltigVon',\n '<=',\n '@Today()'\n ],\n 'or',\n [\n 'GueltigVon',\n '=',\n 'null'\n ]\n ],\n [\n [\n 'GueltigBis',\n '>=',\n '@Today()'\n ],\n 'or',\n [\n 'GueltigBis',\n '=',\n 'null'\n ]\n ]\n ]\n },\n 'Kontakte': {\n 'expand': {\n 'Kontakttyp': null\n }\n },\n 'Sprache': {\n 'expand': {\n 'Sprachen': {\n 'expand': {\n 'Sprachniveau': null,\n 'Sprache': null\n }\n }\n }\n },\n 'Berufserfahrungen': {\n 'expand': {\n 'Berufserfahrungen': null\n }\n },\n 'GeschaeftspartnerEinsaetze': {\n 'expand': {\n 'Geschaeftspartner': null\n }\n },\n 'Skills': {\n 'expand': {\n 'Skill': null\n }\n },\n 'Berufe': {\n 'expand': {\n 'Berufe': {\n 'expand': {\n 'Beruf': null\n }\n },\n 'AusbildungAbschluss': null,\n 'BerufQualifikation': null\n }\n },\n 'Fuehrerschein': {\n 'expand': {\n 'Fuehrerscheine': {\n 'expand': {\n 'Fuehrerscheinklasse': null\n }\n }\n }\n },\n 'Ausbildung': {\n 'expand': {\n 'Ausbildungen': {\n 'expand': {\n 'Ausbildung': null,\n 'AusbildungAbschluss': null\n }\n }\n }\n }\n }\n },\n 'Bewerbungsgrund': null,\n 'Bewerbungskanal': null\n }\n }\n },\n \"modificationInfoEnabled\": true,\n \"key\": \"variables.data.$id\",\n \"keyProperty\": \"Id\",\n \"postOnSave\": true,\n \"filters\": [{\n \"webApiCustomKey\": \"BewerbungInfo\",\n \"webApiCustomValue\": \"true\"\n }, {\n \"webApiCustomKey\": \"StelleninseratInfo\",\n \"webApiCustomValue\": \"true\"\n }, {\n \"webApiCustomKey\": \"AddStelleninseratCard\",\n \"webApiCustomValue\": \"true\"\n }, {\n \"webApiCustomKey\": \"AddBewerberSchnuppertermine\",\n \"webApiCustomValue\": \"true\"\n }, {\n \"webApiCustomKey\": \"AddPersonCard\",\n \"webApiCustomValue\": \"true\"\n }, {\n \"webApiCustomKey\": \"CanBenutzeraccountAktivieren\",\n \"webApiCustomValue\": \"true\"\n }]\n });\n this.addModel({\n \"id\": \"$m_Person\",\n \"webApiAction\": \"ZIT/Objekte/Person\",\n \"modificationInfoEnabled\": true,\n \"key\": \"models.data.$m_Bewerbung.Kopf.IdPerson\",\n \"keyProperty\": \"Id\",\n \"filters\": []\n });\n this.addModel({\n \"id\": \"$m_DokumentRel\",\n \"webApiAction\": \"ZIT/Objekte/DokumentElement\",\n \"webApiExpand\": {\n 'Informationstyp': null\n },\n \"webApiWhere\": [\"IdStelleninserat\", {\n \"isBound\": true,\n \"expression\": \"models.data.$m_Bewerbung.Kopf.IdStelleninserat\"\n }],\n \"keyProperty\": \"Id\",\n \"filters\": []\n });\n this.addModel({\n \"id\": \"$m_DokumentEdit\",\n \"webApiAction\": \"ZIT/Objekte/DokumentElement\",\n \"keyProperty\": \"Id\",\n \"filters\": []\n });\n this.addCommand({\n \"binding\": {\n \"bindTo\": \"$f_BewerbungEditUtils.actionCommand\",\n \"bindToFQ\": \"functions.$f_BewerbungEditUtils.actionCommand\"\n }\n });\n this.addCommand({\n \"binding\": {\n \"bindTo\": \"$f_BewerbungEditUtils.statusAendernPopupCommand\",\n \"bindToFQ\": \"functions.$f_BewerbungEditUtils.statusAendernPopupCommand\"\n }\n });\n this.addFunction(\"$f_BewerbungEditUtils\", $f_BewerbungEditUtils, \"functions.$f_BewerbungEditUtils\");\n this.widgetCreator.addValidationGroup(this, {\n \"id\": \"wd1\",\n \"options\": {\n \"optionsName\": \"wd1Options\",\n \"optionsNameFQ\": \"wd1Options\"\n }\n });\n this.widgetCreator.addLookup(this, {\n \"idSelect\": \"person\",\n \"filters\": [],\n \"caption\": \"bewerbung-heartbase-erweitert-edit.r_bewerbungperson_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Bewerbung\",\n \"bindTo\": \"Kopf.IdPerson\",\n \"bindToFQ\": \"models.data.$m_Bewerbung.Kopf.IdPerson\",\n \"propertyPrefix\": \"Kopf\"\n },\n \"validationRules\": [],\n \"id\": \"r_bewerbungPerson\",\n \"options\": {\n \"optionsName\": \"r_bewerbungPersonOptions\",\n \"optionsNameFQ\": \"r_bewerbungPersonOptions\"\n }\n });\n this.widgetCreator.addLookup(this, {\n \"idSelect\": \"stelleninserat\",\n \"filters\": [],\n \"caption\": \"bewerbung-heartbase-erweitert-edit.r_bewerbungstelleninserat_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Bewerbung\",\n \"bindTo\": \"Kopf.IdStelleninserat\",\n \"bindToFQ\": \"models.data.$m_Bewerbung.Kopf.IdStelleninserat\",\n \"propertyPrefix\": \"Kopf\"\n },\n \"validationRules\": [],\n \"id\": \"r_bewerbungStelleninserat\",\n \"options\": {\n \"optionsName\": \"r_bewerbungStelleninseratOptions\",\n \"optionsNameFQ\": \"r_bewerbungStelleninseratOptions\"\n }\n });\n this.widgetCreator.addTextBox(this, {\n \"maxLength\": 100,\n \"caption\": \"bewerbung-heartbase-erweitert-edit.r_taetigkeit_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Bewerbung\",\n \"bindTo\": \"Kopf.Taetigkeit\",\n \"bindToFQ\": \"models.data.$m_Bewerbung.Kopf.Taetigkeit\",\n \"propertyPrefix\": \"Kopf\"\n },\n \"validationRules\": [],\n \"id\": \"r_taetigkeit\",\n \"options\": {\n \"optionsName\": \"r_taetigkeitOptions\",\n \"optionsNameFQ\": \"r_taetigkeitOptions\"\n }\n });\n this.widgetCreator.addSelectBox(this, {\n \"idSelect\": \"bewerbungsgrund\",\n \"filters\": [],\n \"caption\": \"bewerbung-heartbase-erweitert-edit.r_bewerbungsgrund_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Bewerbung\",\n \"bindTo\": \"Kopf.IdBewerbungsgrund\",\n \"bindToFQ\": \"models.data.$m_Bewerbung.Kopf.IdBewerbungsgrund\",\n \"propertyPrefix\": \"Kopf\"\n },\n \"validationRules\": [{\n \"binding\": {\n \"dataContext\": \"$m_Bewerbung\",\n \"bindTo\": \"$f_BewerbungEditUtils.requiredValidationRule\",\n \"bindToFQ\": \"functions.$f_BewerbungEditUtils.requiredValidationRule\"\n }\n }],\n \"id\": \"r_bewerbungsgrund\",\n \"options\": {\n \"optionsName\": \"r_bewerbungsgrundOptions\",\n \"optionsNameFQ\": \"r_bewerbungsgrundOptions\"\n }\n });\n this.widgetCreator.addDateBox(this, {\n \"format\": \"d\",\n \"caption\": \"bewerbung-heartbase-erweitert-edit.r_bewerbungsdatum_caption\",\n \"isReadOnlyExpression\": \"models.data.$m_Bewerbung.Kopf.Id > 0\",\n \"binding\": {\n \"dataContext\": \"$m_Bewerbung\",\n \"bindTo\": \"Kopf.Bewerbungsdatum\",\n \"bindToFQ\": \"models.data.$m_Bewerbung.Kopf.Bewerbungsdatum\",\n \"propertyPrefix\": \"Kopf\"\n },\n \"validationRules\": [{\n \"item\": {\n \"type\": \"required\",\n \"parameters\": []\n }\n }],\n \"id\": \"r_bewerbungsdatum\",\n \"options\": {\n \"optionsName\": \"r_bewerbungsdatumOptions\",\n \"optionsNameFQ\": \"r_bewerbungsdatumOptions\"\n }\n });\n this.widgetCreator.addSelectBox(this, {\n \"idSelect\": \"lehrberuf\",\n \"filters\": [],\n \"caption\": \"bewerbung-heartbase-erweitert-edit.r_lehrberuf_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Bewerbung\",\n \"bindTo\": \"Kopf.IdLehrberuf\",\n \"bindToFQ\": \"models.data.$m_Bewerbung.Kopf.IdLehrberuf\",\n \"propertyPrefix\": \"Kopf\"\n },\n \"validationRules\": [],\n \"id\": \"r_lehrberuf\",\n \"options\": {\n \"optionsName\": \"r_lehrberufOptions\",\n \"optionsNameFQ\": \"r_lehrberufOptions\"\n }\n });\n this.widgetCreator.addTextBox(this, {\n \"maxLength\": 250,\n \"caption\": \"bewerbung-heartbase-erweitert-edit.r_nameerziehungsberechtige_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Bewerbung\",\n \"bindTo\": \"Kopf.NameErziehungsberechtige\",\n \"bindToFQ\": \"models.data.$m_Bewerbung.Kopf.NameErziehungsberechtige\",\n \"propertyPrefix\": \"Kopf\"\n },\n \"validationRules\": [],\n \"id\": \"r_nameErziehungsberechtige\",\n \"options\": {\n \"optionsName\": \"r_nameErziehungsberechtigeOptions\",\n \"optionsNameFQ\": \"r_nameErziehungsberechtigeOptions\"\n }\n });\n this.widgetCreator.addSelectBox(this, {\n \"idSelect\": \"landvorwahl\",\n \"filters\": [],\n \"caption\": \"bewerbung-heartbase-erweitert-edit.r_telefonlandvorwahlerziehungsberechtigte_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Bewerbung\",\n \"bindTo\": \"Kopf.TelefonLandvorwahlErziehungsberechtigte\",\n \"bindToFQ\": \"models.data.$m_Bewerbung.Kopf.TelefonLandvorwahlErziehungsberechtigte\",\n \"propertyPrefix\": \"Kopf\"\n },\n \"validationRules\": [],\n \"id\": \"r_telefonLandvorwahlErziehungsberechtigte\",\n \"options\": {\n \"optionsName\": \"r_telefonLandvorwahlErziehungsberechtigteOptions\",\n \"optionsNameFQ\": \"r_telefonLandvorwahlErziehungsberechtigteOptions\"\n }\n });\n this.widgetCreator.addTextBox(this, {\n \"maxLength\": 100,\n \"caption\": \"bewerbung-heartbase-erweitert-edit.r_telefonerziehungsberechtigte_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Bewerbung\",\n \"bindTo\": \"Kopf.TelefonErziehungsberechtigte\",\n \"bindToFQ\": \"models.data.$m_Bewerbung.Kopf.TelefonErziehungsberechtigte\",\n \"propertyPrefix\": \"Kopf\"\n },\n \"validationRules\": [{\n \"item\": {\n \"type\": \"telefon\",\n \"parameters\": []\n }\n }],\n \"id\": \"r_telefonErziehungsberechtigte\",\n \"options\": {\n \"optionsName\": \"r_telefonErziehungsberechtigteOptions\",\n \"optionsNameFQ\": \"r_telefonErziehungsberechtigteOptions\"\n }\n });\n this.widgetCreator.addTextArea(this, {\n \"height\": \"100px\",\n \"caption\": \"bewerbung-heartbase-erweitert-edit.r_bemerkung_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Bewerbung\",\n \"bindTo\": \"Kopf.Bemerkung\",\n \"bindToFQ\": \"models.data.$m_Bewerbung.Kopf.Bemerkung\",\n \"propertyPrefix\": \"Kopf\"\n },\n \"validationRules\": [],\n \"id\": \"r_bemerkung\",\n \"options\": {\n \"optionsName\": \"r_bemerkungOptions\",\n \"optionsNameFQ\": \"r_bemerkungOptions\"\n }\n });\n this.widgetCreator.addSelectBox(this, {\n \"idSelect\": \"stelleninseratKlasse\",\n \"filter\": [\"StelleninseratKopfElement.IdStelleninserat\", {\n \"isBound\": true,\n \"expression\": \"models.data.$m_Bewerbung.Kopf.IdStelleninserat\"\n }],\n \"filters\": [],\n \"caption\": \"bewerbung-heartbase-erweitert-edit.r_klasse_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Bewerbung\",\n \"bindTo\": \"Kopf.IdStelleninseratKlasse\",\n \"bindToFQ\": \"models.data.$m_Bewerbung.Kopf.IdStelleninseratKlasse\",\n \"propertyPrefix\": \"Kopf\"\n },\n \"validationRules\": [],\n \"id\": \"r_klasse\",\n \"options\": {\n \"optionsName\": \"r_klasseOptions\",\n \"optionsNameFQ\": \"r_klasseOptions\"\n }\n });\n super.onConstructionFinished();\n }\n}","module.exports = \"\";","import * as fwx from \"../../../../framework/forms/form-export\";\nimport {\n BewerbungEditUtils\n} from \"./bewerbung-edit-utils\";\n\n@fwx.autoinject\nexport class BewerbungLehreEditForm extends fwx.FormBase {\n constructor(\n element: Element,\n formBaseImport: fwx.FormBaseImport,\n private $f_BewerbungEditUtils: BewerbungEditUtils) {\n super(element, formBaseImport);\n this.id = \"bewerbung-lehre-edit\";\n this.title = \"bewerbung-lehre-edit.bewerbung-lehre-edit_caption\";\n this.addModel({\n \"id\": \"$m_Bewerbung\",\n \"webApiAction\": \"ZIT/Objekte/Bewerbung\",\n \"webApiExpand\": {\n 'Kopf': {\n 'expand': {\n 'Stelleninserat': {\n 'columns': [\n 'Id',\n 'IdStelleninseratKopfElement'\n ],\n 'expand': {\n 'Kopf': {\n 'expand': {\n 'Geschaeftspartner': {\n 'expand': {\n 'Geschaeftspartnerdaten': null\n }\n }\n }\n }\n }\n },\n 'Person': {\n 'columns': [\n 'Id'\n ]\n },\n 'Bewerbungsgrund': null,\n 'Bewerbungskanal': null,\n }\n }\n },\n \"modificationInfoEnabled\": true,\n \"key\": \"variables.data.$id\",\n \"keyProperty\": \"Id\",\n \"postOnSave\": true,\n \"filters\": [{\n \"webApiCustomKey\": \"BewerbungInfo\",\n \"webApiCustomValue\": \"true\"\n }, {\n \"webApiCustomKey\": \"StelleninseratInfo\",\n \"webApiCustomValue\": \"true\"\n }, {\n \"webApiCustomKey\": \"AddStelleninseratCard\",\n \"webApiCustomValue\": \"true\"\n }, {\n \"webApiCustomKey\": \"AddPersonCard\",\n \"webApiCustomValue\": \"true\"\n }, {\n \"webApiCustomKey\": \"AddBewerberSchnuppertermine\",\n \"webApiCustomValue\": \"true\"\n }]\n });\n this.addModel({\n \"id\": \"$m_Person\",\n \"webApiAction\": \"ZIT/Objekte/Person\",\n \"modificationInfoEnabled\": true,\n \"key\": \"models.data.$m_Bewerbung.Kopf.IdPerson\",\n \"keyProperty\": \"Id\",\n \"filters\": []\n });\n this.addModel({\n \"id\": \"$m_DokumentRel\",\n \"webApiAction\": \"ZIT/Objekte/DokumentElement\",\n \"webApiExpand\": {\n 'Informationstyp': null\n },\n \"webApiWhere\": [\"IdStelleninserat\", {\n \"isBound\": true,\n \"expression\": \"models.data.$m_Bewerbung.Kopf.IdStelleninserat\"\n }],\n \"keyProperty\": \"Id\",\n \"filters\": []\n });\n this.addModel({\n \"id\": \"$m_DokumentEdit\",\n \"webApiAction\": \"ZIT/Objekte/DokumentElement\",\n \"keyProperty\": \"Id\",\n \"filters\": []\n });\n this.addCommand({\n \"binding\": {\n \"bindTo\": \"$f_BewerbungEditUtils.actionCommand\",\n \"bindToFQ\": \"functions.$f_BewerbungEditUtils.actionCommand\"\n }\n });\n this.addCommand({\n \"binding\": {\n \"bindTo\": \"$f_BewerbungEditUtils.statusAendernPopupCommand\",\n \"bindToFQ\": \"functions.$f_BewerbungEditUtils.statusAendernPopupCommand\"\n }\n });\n this.addFunction(\"$f_BewerbungEditUtils\", $f_BewerbungEditUtils, \"functions.$f_BewerbungEditUtils\");\n this.widgetCreator.addValidationGroup(this, {\n \"id\": \"wd1\",\n \"options\": {\n \"optionsName\": \"wd1Options\",\n \"optionsNameFQ\": \"wd1Options\"\n }\n });\n this.widgetCreator.addLookup(this, {\n \"idSelect\": \"person\",\n \"filters\": [],\n \"caption\": \"bewerbung-lehre-edit.r_bewerbungperson_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Bewerbung\",\n \"bindTo\": \"Kopf.IdPerson\",\n \"bindToFQ\": \"models.data.$m_Bewerbung.Kopf.IdPerson\",\n \"propertyPrefix\": \"Kopf\"\n },\n \"validationRules\": [],\n \"id\": \"r_bewerbungPerson\",\n \"options\": {\n \"optionsName\": \"r_bewerbungPersonOptions\",\n \"optionsNameFQ\": \"r_bewerbungPersonOptions\"\n }\n });\n this.widgetCreator.addLookup(this, {\n \"idSelect\": \"stelleninserat\",\n \"filters\": [],\n \"caption\": \"bewerbung-lehre-edit.r_bewerbungstelleninserat_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Bewerbung\",\n \"bindTo\": \"Kopf.IdStelleninserat\",\n \"bindToFQ\": \"models.data.$m_Bewerbung.Kopf.IdStelleninserat\",\n \"propertyPrefix\": \"Kopf\"\n },\n \"validationRules\": [],\n \"id\": \"r_bewerbungStelleninserat\",\n \"options\": {\n \"optionsName\": \"r_bewerbungStelleninseratOptions\",\n \"optionsNameFQ\": \"r_bewerbungStelleninseratOptions\"\n }\n });\n this.widgetCreator.addTextBox(this, {\n \"maxLength\": 100,\n \"caption\": \"bewerbung-lehre-edit.r_taetigkeit_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Bewerbung\",\n \"bindTo\": \"Kopf.Taetigkeit\",\n \"bindToFQ\": \"models.data.$m_Bewerbung.Kopf.Taetigkeit\",\n \"propertyPrefix\": \"Kopf\"\n },\n \"validationRules\": [],\n \"id\": \"r_taetigkeit\",\n \"options\": {\n \"optionsName\": \"r_taetigkeitOptions\",\n \"optionsNameFQ\": \"r_taetigkeitOptions\"\n }\n });\n this.widgetCreator.addSelectBox(this, {\n \"idSelect\": \"bewerbungsgrund\",\n \"filters\": [],\n \"caption\": \"bewerbung-lehre-edit.r_bewerbungsgrund_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Bewerbung\",\n \"bindTo\": \"Kopf.IdBewerbungsgrund\",\n \"bindToFQ\": \"models.data.$m_Bewerbung.Kopf.IdBewerbungsgrund\",\n \"propertyPrefix\": \"Kopf\"\n },\n \"validationRules\": [{\n \"binding\": {\n \"dataContext\": \"$m_Bewerbung\",\n \"bindTo\": \"$f_BewerbungEditUtils.requiredValidationRule\",\n \"bindToFQ\": \"functions.$f_BewerbungEditUtils.requiredValidationRule\"\n }\n }],\n \"id\": \"r_bewerbungsgrund\",\n \"options\": {\n \"optionsName\": \"r_bewerbungsgrundOptions\",\n \"optionsNameFQ\": \"r_bewerbungsgrundOptions\"\n }\n });\n this.widgetCreator.addDateBox(this, {\n \"format\": \"d\",\n \"caption\": \"bewerbung-lehre-edit.r_bewerbungsdatum_caption\",\n \"isReadOnlyExpression\": \"models.data.$m_Bewerbung.Kopf.Id > 0\",\n \"binding\": {\n \"dataContext\": \"$m_Bewerbung\",\n \"bindTo\": \"Kopf.Bewerbungsdatum\",\n \"bindToFQ\": \"models.data.$m_Bewerbung.Kopf.Bewerbungsdatum\",\n \"propertyPrefix\": \"Kopf\"\n },\n \"validationRules\": [{\n \"item\": {\n \"type\": \"required\",\n \"parameters\": []\n }\n }],\n \"id\": \"r_bewerbungsdatum\",\n \"options\": {\n \"optionsName\": \"r_bewerbungsdatumOptions\",\n \"optionsNameFQ\": \"r_bewerbungsdatumOptions\"\n }\n });\n this.widgetCreator.addTextBox(this, {\n \"maxLength\": 200,\n \"caption\": \"bewerbung-lehre-edit.r_wunschtermin_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Bewerbung\",\n \"bindTo\": \"Kopf.Wunschtermin\",\n \"bindToFQ\": \"models.data.$m_Bewerbung.Kopf.Wunschtermin\",\n \"propertyPrefix\": \"Kopf\"\n },\n \"validationRules\": [{\n \"item\": {\n \"type\": \"conditionalRequired\",\n \"parameters\": [{\n \"name\": \"condition\",\n \"value\": \"models.data.$m_Bewerbung.Kopf && models.data.$m_Bewerbung.Kopf._IsWunschterminPflicht\"\n }]\n }\n }],\n \"id\": \"r_wunschtermin\",\n \"options\": {\n \"optionsName\": \"r_wunschterminOptions\",\n \"optionsNameFQ\": \"r_wunschterminOptions\"\n }\n });\n this.widgetCreator.addSelectBox(this, {\n \"idSelect\": \"schnupperberufGeschaeftspartner\",\n \"customs\": [{\n \"key\": \"IdBewerbungKopfElement\",\n \"value\": \"models.data.$m_Bewerbung.Kopf.Id\"\n }],\n \"filters\": [],\n \"caption\": \"bewerbung-lehre-edit.r_schnupperberufgeschaeftspartner1_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Bewerbung\",\n \"bindTo\": \"Kopf.IdSchnupperberufGeschaeftspartner1\",\n \"bindToFQ\": \"models.data.$m_Bewerbung.Kopf.IdSchnupperberufGeschaeftspartner1\",\n \"propertyPrefix\": \"Kopf\"\n },\n \"validationRules\": [{\n \"item\": {\n \"type\": \"conditionalRequired\",\n \"parameters\": [{\n \"name\": \"condition\",\n \"value\": \"models.data.$m_Bewerbung.Kopf && models.data.$m_Bewerbung.Kopf._IsSchnupperberufGeschaeftspartner1Pflicht\"\n }]\n }\n }],\n \"id\": \"r_schnupperberufGeschaeftspartner1\",\n \"options\": {\n \"optionsName\": \"r_schnupperberufGeschaeftspartner1Options\",\n \"optionsNameFQ\": \"r_schnupperberufGeschaeftspartner1Options\"\n }\n });\n this.widgetCreator.addSelectBox(this, {\n \"idSelect\": \"schnupperberufGeschaeftspartner\",\n \"customs\": [{\n \"key\": \"IdBewerbungKopfElement\",\n \"value\": \"models.data.$m_Bewerbung.Kopf.Id\"\n }],\n \"filters\": [],\n \"caption\": \"bewerbung-lehre-edit.r_schnupperberufgeschaeftspartner2_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Bewerbung\",\n \"bindTo\": \"Kopf.IdSchnupperberufGeschaeftspartner2\",\n \"bindToFQ\": \"models.data.$m_Bewerbung.Kopf.IdSchnupperberufGeschaeftspartner2\",\n \"propertyPrefix\": \"Kopf\"\n },\n \"validationRules\": [{\n \"item\": {\n \"type\": \"conditionalRequired\",\n \"parameters\": [{\n \"name\": \"condition\",\n \"value\": \"models.data.$m_Bewerbung.Kopf && models.data.$m_Bewerbung.Kopf._IsSchnupperberufGeschaeftspartner2Pflicht\"\n }]\n }\n }],\n \"id\": \"r_schnupperberufGeschaeftspartner2\",\n \"options\": {\n \"optionsName\": \"r_schnupperberufGeschaeftspartner2Options\",\n \"optionsNameFQ\": \"r_schnupperberufGeschaeftspartner2Options\"\n }\n });\n this.widgetCreator.addSelectBox(this, {\n \"idSelect\": \"ausbildung\",\n \"customs\": [{\n \"key\": \"IdBewerbungKopfElement\",\n \"value\": \"models.data.$m_Bewerbung.Kopf.Id\"\n }],\n \"filters\": [],\n \"caption\": \"bewerbung-lehre-edit.r_ausbildung_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Bewerbung\",\n \"bindTo\": \"Kopf.IdAusbildung\",\n \"bindToFQ\": \"models.data.$m_Bewerbung.Kopf.IdAusbildung\",\n \"propertyPrefix\": \"Kopf\"\n },\n \"validationRules\": [{\n \"item\": {\n \"type\": \"conditionalRequired\",\n \"parameters\": [{\n \"name\": \"condition\",\n \"value\": \"models.data.$m_Bewerbung.Kopf && models.data.$m_Bewerbung.Kopf._IsAusbildungPflicht\"\n }]\n }\n }],\n \"id\": \"r_ausbildung\",\n \"options\": {\n \"optionsName\": \"r_ausbildungOptions\",\n \"optionsNameFQ\": \"r_ausbildungOptions\"\n }\n });\n this.widgetCreator.addTextArea(this, {\n \"height\": \"100px\",\n \"caption\": \"bewerbung-lehre-edit.r_bemerkung_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Bewerbung\",\n \"bindTo\": \"Kopf.Bemerkung\",\n \"bindToFQ\": \"models.data.$m_Bewerbung.Kopf.Bemerkung\",\n \"propertyPrefix\": \"Kopf\"\n },\n \"validationRules\": [],\n \"id\": \"r_bemerkung\",\n \"options\": {\n \"optionsName\": \"r_bemerkungOptions\",\n \"optionsNameFQ\": \"r_bemerkungOptions\"\n }\n });\n this.widgetCreator.addSelectBox(this, {\n \"idSelect\": \"stelleninseratKlasse\",\n \"filter\": [\"StelleninseratKopfElement.IdStelleninserat\", {\n \"isBound\": true,\n \"expression\": \"models.data.$m_Bewerbung.Kopf.IdStelleninserat\"\n }],\n \"filters\": [],\n \"caption\": \"bewerbung-lehre-edit.r_klasse_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Bewerbung\",\n \"bindTo\": \"Kopf.IdStelleninseratKlasse\",\n \"bindToFQ\": \"models.data.$m_Bewerbung.Kopf.IdStelleninseratKlasse\",\n \"propertyPrefix\": \"Kopf\"\n },\n \"validationRules\": [],\n \"id\": \"r_klasse\",\n \"options\": {\n \"optionsName\": \"r_klasseOptions\",\n \"optionsNameFQ\": \"r_klasseOptions\"\n }\n });\n this.widgetCreator.addCheckBox(this, {\n \"caption\": \"bewerbung-lehre-edit.r_isbewerbungschnuppertermin_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Bewerbung\",\n \"bindTo\": \"Kopf.IsBewerbungSchnuppertermin\",\n \"bindToFQ\": \"models.data.$m_Bewerbung.Kopf.IsBewerbungSchnuppertermin\",\n \"propertyPrefix\": \"Kopf\"\n },\n \"validationRules\": [],\n \"id\": \"r_isBewerbungSchnuppertermin\",\n \"options\": {\n \"optionsName\": \"r_isBewerbungSchnupperterminOptions\",\n \"optionsNameFQ\": \"r_isBewerbungSchnupperterminOptions\"\n }\n });\n this.widgetCreator.addCheckBox(this, {\n \"caption\": \"bewerbung-lehre-edit.r_isbewerbunglehrstelle_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Bewerbung\",\n \"bindTo\": \"Kopf.IsBewerbungLehrstelle\",\n \"bindToFQ\": \"models.data.$m_Bewerbung.Kopf.IsBewerbungLehrstelle\",\n \"propertyPrefix\": \"Kopf\"\n },\n \"validationRules\": [],\n \"id\": \"r_isBewerbungLehrstelle\",\n \"options\": {\n \"optionsName\": \"r_isBewerbungLehrstelleOptions\",\n \"optionsNameFQ\": \"r_isBewerbungLehrstelleOptions\"\n }\n });\n this.widgetCreator.addCheckBox(this, {\n \"caption\": \"bewerbung-lehre-edit.r_hideintrefferliste_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Bewerbung\",\n \"bindTo\": \"HideInTrefferliste\",\n \"bindToFQ\": \"models.data.$m_Bewerbung.HideInTrefferliste\"\n },\n \"validationRules\": [],\n \"id\": \"r_hideInTrefferliste\",\n \"options\": {\n \"optionsName\": \"r_hideInTrefferlisteOptions\",\n \"optionsNameFQ\": \"r_hideInTrefferlisteOptions\"\n }\n });\n super.onConstructionFinished();\n }\n}","module.exports = \"\";","import * as fwx from \"../../../../framework/forms/form-export\";\nimport {\n BewerbungEditUtils\n} from \"./bewerbung-edit-utils\";\n\n@fwx.autoinject\nexport class BewerbungLehreErsteinstiegEditForm extends fwx.FormBase {\n constructor(\n element: Element,\n formBaseImport: fwx.FormBaseImport,\n private $f_BewerbungEditUtils: BewerbungEditUtils) {\n super(element, formBaseImport);\n this.id = \"bewerbung-lehre-ersteinstieg-edit\";\n this.title = \"bewerbung-lehre-ersteinstieg-edit.bewerbung-lehre-ersteinstieg-edit_caption\";\n this.addModel({\n \"id\": \"$m_Bewerbung\",\n \"webApiAction\": \"ZIT/Objekte/Bewerbung\",\n \"webApiExpand\": {\n 'Kopf': {\n 'expand': {\n 'Stelleninserat': {\n 'expand': {\n 'Kopf': {\n 'expand': {\n 'Ansprechperson': null,\n 'Lehrberuf': null,\n 'Geschaeftspartner': {\n 'expand': {\n 'Geschaeftspartnerdaten': null,\n 'ProfilFirma': {\n 'expand': {\n 'Profil': null\n }\n }\n }\n }\n }\n }\n }\n },\n 'Person': {\n 'expand': {\n 'Personendaten': null\n }\n },\n 'Bewerbungsgrund': null,\n 'Bewerbungskanal': null,\n }\n }\n },\n \"modificationInfoEnabled\": true,\n \"key\": \"variables.data.$id\",\n \"keyProperty\": \"Id\",\n \"postOnSave\": true,\n \"filters\": [{\n \"webApiCustomKey\": \"BewerbungInfo\",\n \"webApiCustomValue\": \"true\"\n }, {\n \"webApiCustomKey\": \"StelleninseratInfo\",\n \"webApiCustomValue\": \"true\"\n }, {\n \"webApiCustomKey\": \"AddBewerberSchnuppertermine\",\n \"webApiCustomValue\": \"true\"\n }]\n });\n this.addModel({\n \"id\": \"$m_Person\",\n \"webApiAction\": \"ZIT/Objekte/Person\",\n \"modificationInfoEnabled\": true,\n \"key\": \"models.data.$m_Bewerbung.Kopf.IdPerson\",\n \"keyProperty\": \"Id\",\n \"filters\": []\n });\n this.addModel({\n \"id\": \"$m_DokumentRel\",\n \"webApiAction\": \"ZIT/Objekte/DokumentElement\",\n \"webApiExpand\": {\n 'Informationstyp': null\n },\n \"webApiWhere\": [\"IdStelleninserat\", {\n \"isBound\": true,\n \"expression\": \"models.data.$m_Bewerbung.Kopf.IdStelleninserat\"\n }],\n \"keyProperty\": \"Id\",\n \"filters\": []\n });\n this.addModel({\n \"id\": \"$m_DokumentEdit\",\n \"webApiAction\": \"ZIT/Objekte/DokumentElement\",\n \"keyProperty\": \"Id\",\n \"filters\": []\n });\n this.addModel({\n \"id\": \"$m_Geschaeftspartner\",\n \"webApiAction\": \"ZIT/Objekte/Geschaeftspartner\",\n \"webApiWhere\": [],\n \"modificationInfoEnabled\": true,\n \"key\": \"models.data.$m_Bewerbung.Kopf.Stelleninserat.Kopf.IdGeschaeftspartner\",\n \"keyProperty\": \"Id\",\n \"filters\": [{\n \"webApiCustomKey\": \"standardAddress\",\n \"webApiCustomValue\": \"true\"\n }]\n });\n this.addCommand({\n \"binding\": {\n \"bindTo\": \"$f_BewerbungEditUtils.actionCommand\",\n \"bindToFQ\": \"functions.$f_BewerbungEditUtils.actionCommand\"\n }\n });\n this.addFunction(\"$f_BewerbungEditUtils\", $f_BewerbungEditUtils, \"functions.$f_BewerbungEditUtils\");\n this.widgetCreator.addValidationGroup(this, {\n \"id\": \"wd1\",\n \"options\": {\n \"optionsName\": \"wd1Options\",\n \"optionsNameFQ\": \"wd1Options\"\n }\n });\n this.widgetCreator.addTextBox(this, {\n \"maxLength\": 100,\n \"caption\": \"bewerbung-lehre-ersteinstieg-edit.r_taetigkeit_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Bewerbung\",\n \"bindTo\": \"Kopf.Taetigkeit\",\n \"bindToFQ\": \"models.data.$m_Bewerbung.Kopf.Taetigkeit\",\n \"propertyPrefix\": \"Kopf\"\n },\n \"validationRules\": [],\n \"id\": \"r_taetigkeit\",\n \"options\": {\n \"optionsName\": \"r_taetigkeitOptions\",\n \"optionsNameFQ\": \"r_taetigkeitOptions\"\n }\n });\n this.widgetCreator.addSelectBox(this, {\n \"idSelect\": \"bewerbungsgrund\",\n \"filters\": [],\n \"caption\": \"bewerbung-lehre-ersteinstieg-edit.r_bewerbungsgrund_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Bewerbung\",\n \"bindTo\": \"Kopf.IdBewerbungsgrund\",\n \"bindToFQ\": \"models.data.$m_Bewerbung.Kopf.IdBewerbungsgrund\",\n \"propertyPrefix\": \"Kopf\"\n },\n \"validationRules\": [],\n \"id\": \"r_bewerbungsgrund\",\n \"options\": {\n \"optionsName\": \"r_bewerbungsgrundOptions\",\n \"optionsNameFQ\": \"r_bewerbungsgrundOptions\"\n }\n });\n this.widgetCreator.addDateBox(this, {\n \"format\": \"d\",\n \"caption\": \"bewerbung-lehre-ersteinstieg-edit.r_bewerbungsdatum_caption\",\n \"isReadOnlyExpression\": \"models.data.$m_Bewerbung.Kopf.Id > 0\",\n \"binding\": {\n \"dataContext\": \"$m_Bewerbung\",\n \"bindTo\": \"Kopf.Bewerbungsdatum\",\n \"bindToFQ\": \"models.data.$m_Bewerbung.Kopf.Bewerbungsdatum\",\n \"propertyPrefix\": \"Kopf\"\n },\n \"validationRules\": [{\n \"item\": {\n \"type\": \"required\",\n \"parameters\": []\n }\n }],\n \"id\": \"r_bewerbungsdatum\",\n \"options\": {\n \"optionsName\": \"r_bewerbungsdatumOptions\",\n \"optionsNameFQ\": \"r_bewerbungsdatumOptions\"\n }\n });\n this.widgetCreator.addSelectBox(this, {\n \"idSelect\": \"stelleninseratKlasse\",\n \"filter\": [\"StelleninseratKopfElement.IdStelleninserat\", {\n \"isBound\": true,\n \"expression\": \"models.data.$m_Bewerbung.Kopf.IdStelleninserat\"\n }],\n \"filters\": [],\n \"caption\": \"bewerbung-lehre-ersteinstieg-edit.r_klasse_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Bewerbung\",\n \"bindTo\": \"Kopf.IdStelleninseratKlasse\",\n \"bindToFQ\": \"models.data.$m_Bewerbung.Kopf.IdStelleninseratKlasse\",\n \"propertyPrefix\": \"Kopf\"\n },\n \"validationRules\": [],\n \"id\": \"r_klasse\",\n \"options\": {\n \"optionsName\": \"r_klasseOptions\",\n \"optionsNameFQ\": \"r_klasseOptions\"\n }\n });\n this.widgetCreator.addCheckBox(this, {\n \"caption\": \"bewerbung-lehre-ersteinstieg-edit.r_isbewerbungschnuppertermin_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Bewerbung\",\n \"bindTo\": \"Kopf.IsBewerbungSchnuppertermin\",\n \"bindToFQ\": \"models.data.$m_Bewerbung.Kopf.IsBewerbungSchnuppertermin\",\n \"propertyPrefix\": \"Kopf\"\n },\n \"validationRules\": [],\n \"id\": \"r_isBewerbungSchnuppertermin\",\n \"options\": {\n \"optionsName\": \"r_isBewerbungSchnupperterminOptions\",\n \"optionsNameFQ\": \"r_isBewerbungSchnupperterminOptions\"\n }\n });\n this.widgetCreator.addCheckBox(this, {\n \"caption\": \"bewerbung-lehre-ersteinstieg-edit.r_isbewerbunglehrstelle_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Bewerbung\",\n \"bindTo\": \"Kopf.IsBewerbungLehrstelle\",\n \"bindToFQ\": \"models.data.$m_Bewerbung.Kopf.IsBewerbungLehrstelle\",\n \"propertyPrefix\": \"Kopf\"\n },\n \"validationRules\": [],\n \"id\": \"r_isBewerbungLehrstelle\",\n \"options\": {\n \"optionsName\": \"r_isBewerbungLehrstelleOptions\",\n \"optionsNameFQ\": \"r_isBewerbungLehrstelleOptions\"\n }\n });\n this.widgetCreator.addPopup(this, {\n \"id\": \"r_bewerbungAbgeschlossenPopup\",\n \"options\": {\n \"optionsName\": \"r_bewerbungAbgeschlossenPopupOptions\",\n \"optionsNameFQ\": \"r_bewerbungAbgeschlossenPopupOptions\"\n },\n \"caption\": \"bewerbung-lehre-ersteinstieg-edit.r_bewerbungabgeschlossenpopup_caption\",\n \"height\": \"auto\",\n \"width\": \"450px\",\n \"showCloseButton\": false,\n \"commands\": [{\n \"binding\": {\n \"bindTo\": \"$f_BewerbungEditUtils.abschliessenCommand\",\n \"bindToFQ\": \"functions.$f_BewerbungEditUtils.abschliessenCommand\"\n }\n }]\n });\n super.onConstructionFinished();\n }\n}","module.exports = \"\";","import * as fwx from \"../../../../framework/forms/form-export\";\nimport {\n BewerbungEditUtils\n} from \"./bewerbung-edit-utils\";\n\n@fwx.autoinject\nexport class BewerbungLehreErweiterungEditForm extends fwx.FormBase {\n constructor(\n element: Element,\n formBaseImport: fwx.FormBaseImport,\n private $f_BewerbungEditUtils: BewerbungEditUtils) {\n super(element, formBaseImport);\n this.id = \"bewerbung-lehre-erweitert-edit\";\n this.title = \"bewerbung-lehre-erweitert-edit.bewerbung-lehre-erweitert-edit_caption\";\n this.addModel({\n \"id\": \"$m_Bewerbung\",\n \"webApiAction\": \"ZIT/Objekte/Bewerbung\",\n \"webApiExpand\": {\n 'Kopf': {\n 'expand': {\n 'Stelleninserat': {\n 'columns': [\n 'Id',\n 'IdStelleninseratKopfElement'\n ],\n 'expand': {\n 'Kopf': {\n 'expand': {\n 'Geschaeftspartner': {\n 'expand': {\n 'Geschaeftspartnerdaten': null\n }\n }\n }\n }\n }\n },\n 'Person': {\n 'expand': {\n 'Personendaten': {\n 'expand': {\n 'Nationalitaet': null,\n 'Schuhgroesse': null,\n 'Kleidergroesse': null,\n 'Familienstand': null\n }\n },\n 'Adressen': {\n 'expand': {\n 'Land': null\n },\n 'where': [\n [\n [\n 'GueltigVon',\n '<=',\n '@Today()'\n ],\n 'or',\n [\n 'GueltigVon',\n '=',\n 'null'\n ]\n ],\n [\n [\n 'GueltigBis',\n '>=',\n '@Today()'\n ],\n 'or',\n [\n 'GueltigBis',\n '=',\n 'null'\n ]\n ]\n ]\n },\n 'Kontakte': {\n 'expand': {\n 'Kontakttyp': null\n }\n },\n 'Sprache': {\n 'expand': {\n 'Sprachen': {\n 'expand': {\n 'Sprachniveau': null,\n 'Sprache': null\n }\n }\n }\n },\n 'Berufserfahrungen': {\n 'expand': {\n 'Berufserfahrungen': null\n }\n },\n 'GeschaeftspartnerEinsaetze': {\n 'expand': {\n 'Geschaeftspartner': null\n }\n },\n 'Skills': {\n 'expand': {\n 'Skill': null\n }\n },\n 'Berufe': {\n 'expand': {\n 'Berufe': {\n 'expand': {\n 'Beruf': null\n }\n },\n 'AusbildungAbschluss': null,\n 'BerufQualifikation': null\n }\n },\n 'Fuehrerschein': {\n 'expand': {\n 'Fuehrerscheine': {\n 'expand': {\n 'Fuehrerscheinklasse': null\n }\n }\n }\n },\n 'Ausbildung': {\n 'expand': {\n 'Ausbildungen': {\n 'expand': {\n 'Ausbildung': null,\n 'AusbildungAbschluss': null\n }\n }\n }\n }\n }\n },\n 'Bewerbungsgrund': null,\n 'Bewerbungskanal': null,\n }\n }\n },\n \"modificationInfoEnabled\": true,\n \"key\": \"variables.data.$id\",\n \"keyProperty\": \"Id\",\n \"postOnSave\": true,\n \"filters\": [{\n \"webApiCustomKey\": \"BewerbungInfo\",\n \"webApiCustomValue\": \"true\"\n }, {\n \"webApiCustomKey\": \"StelleninseratInfo\",\n \"webApiCustomValue\": \"true\"\n }, {\n \"webApiCustomKey\": \"AddStelleninseratCard\",\n \"webApiCustomValue\": \"true\"\n }, {\n \"webApiCustomKey\": \"AddBewerberSchnuppertermine\",\n \"webApiCustomValue\": \"true\"\n }, {\n \"webApiCustomKey\": \"AddPersonCard\",\n \"webApiCustomValue\": \"true\"\n }, {\n \"webApiCustomKey\": \"CanBenutzeraccountAktivieren\",\n \"webApiCustomValue\": \"true\"\n }, {\n \"webApiCustomKey\": \"AddBenachrichtigungsart\",\n \"webApiCustomValue\": \"true\"\n }]\n });\n this.addModel({\n \"id\": \"$m_Person\",\n \"webApiAction\": \"ZIT/Objekte/Person\",\n \"modificationInfoEnabled\": true,\n \"key\": \"models.data.$m_Bewerbung.Kopf.IdPerson\",\n \"keyProperty\": \"Id\",\n \"filters\": []\n });\n this.addModel({\n \"id\": \"$m_DokumentRel\",\n \"webApiAction\": \"ZIT/Objekte/DokumentElement\",\n \"webApiExpand\": {\n 'Informationstyp': null\n },\n \"webApiWhere\": [\"IdStelleninserat\", {\n \"isBound\": true,\n \"expression\": \"models.data.$m_Bewerbung.Kopf.IdStelleninserat\"\n }],\n \"keyProperty\": \"Id\",\n \"filters\": []\n });\n this.addModel({\n \"id\": \"$m_DokumentEdit\",\n \"webApiAction\": \"ZIT/Objekte/DokumentElement\",\n \"keyProperty\": \"Id\",\n \"filters\": []\n });\n this.addCommand({\n \"binding\": {\n \"bindTo\": \"$f_BewerbungEditUtils.actionCommand\",\n \"bindToFQ\": \"functions.$f_BewerbungEditUtils.actionCommand\"\n }\n });\n this.addCommand({\n \"binding\": {\n \"bindTo\": \"$f_BewerbungEditUtils.statusAendernPopupCommand\",\n \"bindToFQ\": \"functions.$f_BewerbungEditUtils.statusAendernPopupCommand\"\n }\n });\n this.addFunction(\"$f_BewerbungEditUtils\", $f_BewerbungEditUtils, \"functions.$f_BewerbungEditUtils\");\n this.widgetCreator.addValidationGroup(this, {\n \"id\": \"wd1\",\n \"options\": {\n \"optionsName\": \"wd1Options\",\n \"optionsNameFQ\": \"wd1Options\"\n }\n });\n this.widgetCreator.addLookup(this, {\n \"idSelect\": \"person\",\n \"filters\": [],\n \"caption\": \"bewerbung-lehre-erweitert-edit.r_bewerbungperson_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Bewerbung\",\n \"bindTo\": \"Kopf.IdPerson\",\n \"bindToFQ\": \"models.data.$m_Bewerbung.Kopf.IdPerson\",\n \"propertyPrefix\": \"Kopf\"\n },\n \"validationRules\": [],\n \"id\": \"r_bewerbungPerson\",\n \"options\": {\n \"optionsName\": \"r_bewerbungPersonOptions\",\n \"optionsNameFQ\": \"r_bewerbungPersonOptions\"\n }\n });\n this.widgetCreator.addLookup(this, {\n \"idSelect\": \"stelleninserat\",\n \"filters\": [],\n \"caption\": \"bewerbung-lehre-erweitert-edit.r_bewerbungstelleninserat_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Bewerbung\",\n \"bindTo\": \"Kopf.IdStelleninserat\",\n \"bindToFQ\": \"models.data.$m_Bewerbung.Kopf.IdStelleninserat\",\n \"propertyPrefix\": \"Kopf\"\n },\n \"validationRules\": [],\n \"id\": \"r_bewerbungStelleninserat\",\n \"options\": {\n \"optionsName\": \"r_bewerbungStelleninseratOptions\",\n \"optionsNameFQ\": \"r_bewerbungStelleninseratOptions\"\n }\n });\n this.widgetCreator.addTextBox(this, {\n \"maxLength\": 100,\n \"caption\": \"bewerbung-lehre-erweitert-edit.r_taetigkeit_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Bewerbung\",\n \"bindTo\": \"Kopf.Taetigkeit\",\n \"bindToFQ\": \"models.data.$m_Bewerbung.Kopf.Taetigkeit\",\n \"propertyPrefix\": \"Kopf\"\n },\n \"validationRules\": [],\n \"id\": \"r_taetigkeit\",\n \"options\": {\n \"optionsName\": \"r_taetigkeitOptions\",\n \"optionsNameFQ\": \"r_taetigkeitOptions\"\n }\n });\n this.widgetCreator.addSelectBox(this, {\n \"idSelect\": \"bewerbungsgrund\",\n \"filters\": [],\n \"caption\": \"bewerbung-lehre-erweitert-edit.r_bewerbungsgrund_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Bewerbung\",\n \"bindTo\": \"Kopf.IdBewerbungsgrund\",\n \"bindToFQ\": \"models.data.$m_Bewerbung.Kopf.IdBewerbungsgrund\",\n \"propertyPrefix\": \"Kopf\"\n },\n \"validationRules\": [{\n \"binding\": {\n \"dataContext\": \"$m_Bewerbung\",\n \"bindTo\": \"$f_BewerbungEditUtils.requiredValidationRule\",\n \"bindToFQ\": \"functions.$f_BewerbungEditUtils.requiredValidationRule\"\n }\n }],\n \"id\": \"r_bewerbungsgrund\",\n \"options\": {\n \"optionsName\": \"r_bewerbungsgrundOptions\",\n \"optionsNameFQ\": \"r_bewerbungsgrundOptions\"\n }\n });\n this.widgetCreator.addDateBox(this, {\n \"format\": \"d\",\n \"caption\": \"bewerbung-lehre-erweitert-edit.r_bewerbungsdatum_caption\",\n \"isReadOnlyExpression\": \"models.data.$m_Bewerbung.Kopf.Id > 0\",\n \"binding\": {\n \"dataContext\": \"$m_Bewerbung\",\n \"bindTo\": \"Kopf.Bewerbungsdatum\",\n \"bindToFQ\": \"models.data.$m_Bewerbung.Kopf.Bewerbungsdatum\",\n \"propertyPrefix\": \"Kopf\"\n },\n \"validationRules\": [{\n \"item\": {\n \"type\": \"required\",\n \"parameters\": []\n }\n }],\n \"id\": \"r_bewerbungsdatum\",\n \"options\": {\n \"optionsName\": \"r_bewerbungsdatumOptions\",\n \"optionsNameFQ\": \"r_bewerbungsdatumOptions\"\n }\n });\n this.widgetCreator.addTextBox(this, {\n \"maxLength\": 200,\n \"caption\": \"bewerbung-lehre-erweitert-edit.r_wunschtermin_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Bewerbung\",\n \"bindTo\": \"Kopf.Wunschtermin\",\n \"bindToFQ\": \"models.data.$m_Bewerbung.Kopf.Wunschtermin\",\n \"propertyPrefix\": \"Kopf\"\n },\n \"validationRules\": [{\n \"item\": {\n \"type\": \"conditionalRequired\",\n \"parameters\": [{\n \"name\": \"condition\",\n \"value\": \"models.data.$m_Bewerbung.Kopf && models.data.$m_Bewerbung.Kopf._IsWunschterminPflicht\"\n }]\n }\n }],\n \"id\": \"r_wunschtermin\",\n \"options\": {\n \"optionsName\": \"r_wunschterminOptions\",\n \"optionsNameFQ\": \"r_wunschterminOptions\"\n }\n });\n this.widgetCreator.addSelectBox(this, {\n \"idSelect\": \"schnupperberufGeschaeftspartner\",\n \"customs\": [{\n \"key\": \"IdBewerbungKopfElement\",\n \"value\": \"models.data.$m_Bewerbung.Kopf.Id\"\n }],\n \"filters\": [],\n \"caption\": \"bewerbung-lehre-erweitert-edit.r_schnupperberufgeschaeftspartner1_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Bewerbung\",\n \"bindTo\": \"Kopf.IdSchnupperberufGeschaeftspartner1\",\n \"bindToFQ\": \"models.data.$m_Bewerbung.Kopf.IdSchnupperberufGeschaeftspartner1\",\n \"propertyPrefix\": \"Kopf\"\n },\n \"validationRules\": [{\n \"item\": {\n \"type\": \"conditionalRequired\",\n \"parameters\": [{\n \"name\": \"condition\",\n \"value\": \"models.data.$m_Bewerbung.Kopf && models.data.$m_Bewerbung.Kopf._IsSchnupperberufGeschaeftspartner1Pflicht\"\n }]\n }\n }],\n \"id\": \"r_schnupperberufGeschaeftspartner1\",\n \"options\": {\n \"optionsName\": \"r_schnupperberufGeschaeftspartner1Options\",\n \"optionsNameFQ\": \"r_schnupperberufGeschaeftspartner1Options\"\n }\n });\n this.widgetCreator.addSelectBox(this, {\n \"idSelect\": \"schnupperberufGeschaeftspartner\",\n \"customs\": [{\n \"key\": \"IdBewerbungKopfElement\",\n \"value\": \"models.data.$m_Bewerbung.Kopf.Id\"\n }],\n \"filters\": [],\n \"caption\": \"bewerbung-lehre-erweitert-edit.r_schnupperberufgeschaeftspartner2_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Bewerbung\",\n \"bindTo\": \"Kopf.IdSchnupperberufGeschaeftspartner2\",\n \"bindToFQ\": \"models.data.$m_Bewerbung.Kopf.IdSchnupperberufGeschaeftspartner2\",\n \"propertyPrefix\": \"Kopf\"\n },\n \"validationRules\": [{\n \"item\": {\n \"type\": \"conditionalRequired\",\n \"parameters\": [{\n \"name\": \"condition\",\n \"value\": \"models.data.$m_Bewerbung.Kopf && models.data.$m_Bewerbung.Kopf._IsSchnupperberufGeschaeftspartner2Pflicht\"\n }]\n }\n }],\n \"id\": \"r_schnupperberufGeschaeftspartner2\",\n \"options\": {\n \"optionsName\": \"r_schnupperberufGeschaeftspartner2Options\",\n \"optionsNameFQ\": \"r_schnupperberufGeschaeftspartner2Options\"\n }\n });\n this.widgetCreator.addSelectBox(this, {\n \"idSelect\": \"ausbildung\",\n \"customs\": [{\n \"key\": \"IdBewerbungKopfElement\",\n \"value\": \"models.data.$m_Bewerbung.Kopf.Id\"\n }],\n \"filters\": [],\n \"caption\": \"bewerbung-lehre-erweitert-edit.r_ausbildung_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Bewerbung\",\n \"bindTo\": \"Kopf.IdAusbildung\",\n \"bindToFQ\": \"models.data.$m_Bewerbung.Kopf.IdAusbildung\",\n \"propertyPrefix\": \"Kopf\"\n },\n \"validationRules\": [{\n \"item\": {\n \"type\": \"conditionalRequired\",\n \"parameters\": [{\n \"name\": \"condition\",\n \"value\": \"models.data.$m_Bewerbung.Kopf && models.data.$m_Bewerbung.Kopf._IsAusbildungPflicht\"\n }]\n }\n }],\n \"id\": \"r_ausbildung\",\n \"options\": {\n \"optionsName\": \"r_ausbildungOptions\",\n \"optionsNameFQ\": \"r_ausbildungOptions\"\n }\n });\n this.widgetCreator.addTextArea(this, {\n \"height\": \"100px\",\n \"caption\": \"bewerbung-lehre-erweitert-edit.r_bemerkung_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Bewerbung\",\n \"bindTo\": \"Kopf.Bemerkung\",\n \"bindToFQ\": \"models.data.$m_Bewerbung.Kopf.Bemerkung\",\n \"propertyPrefix\": \"Kopf\"\n },\n \"validationRules\": [],\n \"id\": \"r_bemerkung\",\n \"options\": {\n \"optionsName\": \"r_bemerkungOptions\",\n \"optionsNameFQ\": \"r_bemerkungOptions\"\n }\n });\n this.widgetCreator.addSelectBox(this, {\n \"idSelect\": \"stelleninseratKlasse\",\n \"filter\": [\"StelleninseratKopfElement.IdStelleninserat\", {\n \"isBound\": true,\n \"expression\": \"models.data.$m_Bewerbung.Kopf.IdStelleninserat\"\n }],\n \"filters\": [],\n \"caption\": \"bewerbung-lehre-erweitert-edit.r_klasse_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Bewerbung\",\n \"bindTo\": \"Kopf.IdStelleninseratKlasse\",\n \"bindToFQ\": \"models.data.$m_Bewerbung.Kopf.IdStelleninseratKlasse\",\n \"propertyPrefix\": \"Kopf\"\n },\n \"validationRules\": [],\n \"id\": \"r_klasse\",\n \"options\": {\n \"optionsName\": \"r_klasseOptions\",\n \"optionsNameFQ\": \"r_klasseOptions\"\n }\n });\n super.onConstructionFinished();\n }\n}","module.exports = \"\";","import * as fwx from \"../../../../framework/forms/form-export\";\n\n@fwx.autoinject\nexport class BewerbungListForm extends fwx.FormBase {\n constructor(\n element: Element,\n formBaseImport: fwx.FormBaseImport) {\n super(element, formBaseImport);\n this.id = \"bewerbung-list\";\n this.title = \"bewerbung-list.bewerbung-list_caption\";\n this.addModel({\n \"id\": \"$m_Bewerbung\",\n \"webApiAction\": \"ZIT/Objekte/Bewerbung\",\n \"webApiExpand\": {\n Kopf: {\n expand: {\n Stelleninserat: {\n expand: {\n Kopf: null\n }\n },\n Person: {\n expand: {\n Personendaten: null\n }\n }\n }\n }\n },\n \"modificationInfoEnabled\": true,\n \"keyProperty\": \"Id\",\n \"filters\": []\n });\n this.widgetCreator.addValidationGroup(this, {\n \"id\": \"wd1\",\n \"options\": {\n \"optionsName\": \"wd1Options\",\n \"optionsNameFQ\": \"wd1Options\"\n }\n });\n this.widgetCreator.addDataGrid(this, {\n \"columns\": [{\n \"id\": \"r_bewerbungPersonName\",\n \"caption\": \"bewerbung-list.r_bewerbungpersonname_caption\",\n \"bindTo\": \"Kopf.Person.Personendaten.Name\"\n }, {\n \"id\": \"r_bewerbungStellenbezeichnung\",\n \"caption\": \"bewerbung-list.r_bewerbungstellenbezeichnung_caption\",\n \"bindTo\": \"Kopf.Stelleninserat.Kopf.StellenbezeichnungExtern\"\n }],\n \"optionsToolbar\": {\n \"optionsName\": \"r_bewerbungGridToolbarOptions\",\n \"optionsNameFQ\": \"r_bewerbungGridToolbarOptions\"\n },\n \"binding\": {\n \"dataContext\": \"$m_Bewerbung\"\n },\n \"dataModel\": \"$m_Bewerbung\",\n \"editUrl\": \"Objekte/Bewerbung\",\n \"addShortscuts\": true,\n \"isMainList\": true,\n \"height\": \"100%\",\n \"listEdits\": [],\n \"filters\": [],\n \"commands\": [],\n \"id\": \"r_bewerbungGrid\",\n \"options\": {\n \"optionsName\": \"r_bewerbungGridOptions\",\n \"optionsNameFQ\": \"r_bewerbungGridOptions\"\n }\n });\n super.onConstructionFinished();\n }\n}","module.exports = \"\";","import * as fwx from \"../../../../framework/forms/form-export\";\nimport {\n BewerbungReadUtils\n} from \"./bewerbung-read-utils\";\n\n@fwx.autoinject\nexport class BewerbungReadForm extends fwx.FormBase {\n constructor(\n element: Element,\n formBaseImport: fwx.FormBaseImport,\n private $f_BewerbungReadUtils: BewerbungReadUtils) {\n super(element, formBaseImport);\n this.id = \"bewerbung-read\";\n this.title = \"bewerbung-read.bewerbung-read_caption\";\n this.addModel({\n \"id\": \"$m_Bewerbung\",\n \"webApiAction\": \"ZIT/Objekte/Bewerbung\",\n \"webApiExpand\": {\n 'Kopf': {\n 'expand': {\n 'Person': {\n 'column': [\n 'Id'\n ]\n },\n 'Stelleninserat': {\n 'column': [\n 'Id'\n ]\n },\n 'Einsatzbereiche': {\n 'expand': {\n 'Einsatzbereich': null\n }\n },\n 'Verwandtschaftsverhaeltnis': null,\n 'Bewerbungsgrund': null,\n 'Bewerbungskanal': null\n }\n }\n },\n \"modificationInfoEnabled\": true,\n \"key\": \"variables.data.$id\",\n \"keyProperty\": \"Id\",\n \"filters\": [{\n \"webApiCustomKey\": \"BewerbungInfo\",\n \"webApiCustomValue\": \"true\"\n }, {\n \"webApiCustomKey\": \"StelleninseratInfo\",\n \"webApiCustomValue\": \"true\"\n }, {\n \"webApiCustomKey\": \"AddPersonCard\",\n \"webApiCustomValue\": \"true\"\n }, {\n \"webApiCustomKey\": \"AddStelleninseratCard\",\n \"webApiCustomValue\": \"true\"\n }]\n });\n this.addCommand({\n \"binding\": {\n \"bindTo\": \"$f_BewerbungReadUtils.actionCommand\",\n \"bindToFQ\": \"functions.$f_BewerbungReadUtils.actionCommand\"\n }\n });\n this.addFunction(\"$f_BewerbungReadUtils\", $f_BewerbungReadUtils, \"functions.$f_BewerbungReadUtils\");\n this.widgetCreator.addValidationGroup(this, {\n \"id\": \"wd1\",\n \"options\": {\n \"optionsName\": \"wd1Options\",\n \"optionsNameFQ\": \"wd1Options\"\n }\n });\n this.widgetCreator.addListView(this, {\n \"itemClass\": \"z--list-view-inline-item\",\n \"useDefaultListItemStyle\": false,\n \"optionsToolbar\": {\n \"optionsName\": \"r_bewerbungEinsatzbereicheListViewToolbarOptions\",\n \"optionsNameFQ\": \"r_bewerbungEinsatzbereicheListViewToolbarOptions\"\n },\n \"binding\": {\n \"bindTo\": \"$m_Bewerbung.Kopf.Einsatzbereiche\",\n \"bindToFQ\": \"models.data.$m_Bewerbung.Kopf.Einsatzbereiche\"\n },\n \"listEdits\": [],\n \"filters\": [],\n \"commands\": [],\n \"id\": \"r_bewerbungEinsatzbereicheListView\",\n \"options\": {\n \"optionsName\": \"r_bewerbungEinsatzbereicheListViewOptions\",\n \"optionsNameFQ\": \"r_bewerbungEinsatzbereicheListViewOptions\"\n }\n });\n super.onConstructionFinished();\n }\n}","module.exports = \"\";","import * as fwx from \"../../../../framework/forms/form-export\";\nimport {\n DokumentEditUtils\n} from \"./dokument-edit-utils\";\n\n@fwx.autoinject\nexport class DokumentEditForm extends fwx.FormBase {\n constructor(\n element: Element,\n formBaseImport: fwx.FormBaseImport,\n private $f_DokumentUtils: DokumentEditUtils) {\n super(element, formBaseImport);\n this.id = \"dokument-edit\";\n this.title = \"dokument-edit.dokument-edit_caption\";\n this.addModel({\n \"id\": \"$m_Dokument\",\n \"webApiAction\": \"ZIT/Objekte/DokumentElement\",\n \"webApiExpand\": {\n 'Informationstyp': null\n },\n \"key\": \"variables.data.$id\",\n \"keyProperty\": \"Id\",\n \"postOnSave\": true,\n \"filters\": []\n });\n this.addModel({\n \"id\": \"$m_InfoTyp\",\n \"webApiAction\": \"ZIT/Stammdaten/Informationstyp\",\n \"key\": \"models.data.$m_Dokument.IdInformationstyp\",\n \"keyProperty\": \"Id\",\n \"filters\": []\n });\n this.addVariable({\n \"id\": \"$id\"\n });\n this.addVariable({\n \"id\": \"$v_idStelleninserat\"\n });\n this.addVariable({\n \"id\": \"$v_allowTypes\"\n });\n this.addVariable({\n \"id\": \"$v_objektTypeFullname\"\n });\n this.addVariable({\n \"id\": \"$v_dmsLinkDokument\"\n });\n this.addVariable({\n \"id\": \"$v_dateiname\"\n });\n this.addCommand({\n \"binding\": {\n \"bindTo\": \"$f_DokumentUtils.kameraCommand\",\n \"bindToFQ\": \"functions.$f_DokumentUtils.kameraCommand\"\n }\n });\n this.addCommand({\n \"binding\": {\n \"bindTo\": \"$f_DokumentUtils.videoCommand\",\n \"bindToFQ\": \"functions.$f_DokumentUtils.videoCommand\"\n }\n });\n this.addCommand({\n \"binding\": {\n \"bindTo\": \"$f_DokumentUtils.gallerieCommand\",\n \"bindToFQ\": \"functions.$f_DokumentUtils.gallerieCommand\"\n }\n });\n this.addCommand({\n \"binding\": {\n \"bindTo\": \"$f_DokumentUtils.dateiCommand\",\n \"bindToFQ\": \"functions.$f_DokumentUtils.dateiCommand\"\n }\n });\n this.addCommand({\n \"binding\": {\n \"bindTo\": \"$f_DokumentUtils.showExtendedCommand\",\n \"bindToFQ\": \"functions.$f_DokumentUtils.showExtendedCommand\"\n }\n });\n this.addEditPopup({\n \"idContent\": \"dokumentVersionInformationEditPopupContent\",\n \"mappings\": [{\n \"to\": \"$id\",\n \"binding\": {\n \"dataContext\": \"$m_Dokument\",\n \"bindTo\": \"Id\",\n \"bindToFQ\": \"models.data.$m_Dokument.Id\"\n }\n }, {\n \"to\": \"$v_versionKey\",\n \"binding\": {\n \"dataContext\": \"$m_Dokument\",\n \"bindTo\": \"VersionKey\",\n \"bindToFQ\": \"models.data.$m_Dokument.VersionKey\"\n }\n }, {\n \"to\": \"$v_isReadOnly\",\n \"binding\": {\n \"bindTo\": \"false\",\n \"bindToFQ\": \"false\"\n }\n }],\n \"id\": \"dokumentVersionInformationEditPopup\",\n \"options\": {\n \"optionsName\": \"dokumentVersionInformationEditPopupOptions\",\n \"optionsNameFQ\": \"dokumentVersionInformationEditPopupOptions\"\n },\n \"height\": \"auto\",\n \"width\": \"500px\",\n \"commands\": []\n });\n this.addFunction(\"$f_DokumentUtils\", $f_DokumentUtils, \"functions.$f_DokumentUtils\");\n this.widgetCreator.addValidationGroup(this, {\n \"id\": \"wd1\",\n \"options\": {\n \"optionsName\": \"wd1Options\",\n \"optionsNameFQ\": \"wd1Options\"\n }\n });\n this.widgetCreator.addSelectBox(this, {\n \"idSelect\": \"informationstyp\",\n \"filters\": [{\n \"if\": \"variables.data.$v_objektTypeFullname\",\n \"webApiCustomKey\": \"ObjekttypFullname\",\n \"webApiCustomValue\": \"variables.data.$v_objektTypeFullname\"\n }, {\n \"if\": \"variables.data.$v_objektTypeFullname\",\n \"webApiCustomKey\": \"ObjekttypFullname\",\n \"webApiCustomValue\": \"variables.data.$v_objektTypeFullname\"\n }],\n \"caption\": \"dokument-edit.r_dokumentinformationstyp_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Dokument\",\n \"bindTo\": \"IdInformationstyp\",\n \"bindToFQ\": \"models.data.$m_Dokument.IdInformationstyp\"\n },\n \"validationRules\": [{\n \"item\": {\n \"type\": \"required\",\n \"parameters\": []\n }\n }],\n \"id\": \"r_dokumentInformationstyp\",\n \"options\": {\n \"optionsName\": \"r_dokumentInformationstypOptions\",\n \"optionsNameFQ\": \"r_dokumentInformationstypOptions\"\n }\n });\n this.widgetCreator.addDateBox(this, {\n \"format\": \"d\",\n \"caption\": \"dokument-edit.r_dokumentdatum_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Dokument\",\n \"bindTo\": \"Datum\",\n \"bindToFQ\": \"models.data.$m_Dokument.Datum\"\n },\n \"validationRules\": [{\n \"item\": {\n \"type\": \"required\",\n \"parameters\": []\n }\n }],\n \"id\": \"r_dokumentDatum\",\n \"options\": {\n \"optionsName\": \"r_dokumentDatumOptions\",\n \"optionsNameFQ\": \"r_dokumentDatumOptions\"\n }\n });\n this.widgetCreator.addLookup(this, {\n \"idSelect\": \"stelleninserat\",\n \"customs\": [{\n \"key\": \"IdPerson\",\n \"value\": \"models.data.$m_Dokument.IdObjekt\"\n }],\n \"filters\": [],\n \"caption\": \"dokument-edit.r_dokumentstelleninserat_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Dokument\",\n \"bindTo\": \"IdStelleninserat\",\n \"bindToFQ\": \"models.data.$m_Dokument.IdStelleninserat\"\n },\n \"validationRules\": [{\n \"item\": {\n \"type\": \"required\",\n \"parameters\": []\n }\n }],\n \"id\": \"r_dokumentStelleninserat\",\n \"options\": {\n \"optionsName\": \"r_dokumentStelleninseratOptions\",\n \"optionsNameFQ\": \"r_dokumentStelleninseratOptions\"\n }\n });\n this.widgetCreator.addTextArea(this, {\n \"height\": \"100px\",\n \"caption\": \"dokument-edit.r_dokumentbemerkung_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Dokument\",\n \"bindTo\": \"Bemerkung\",\n \"bindToFQ\": \"models.data.$m_Dokument.Bemerkung\"\n },\n \"validationRules\": [],\n \"id\": \"r_dokumentBemerkung\",\n \"options\": {\n \"optionsName\": \"r_dokumentBemerkungOptions\",\n \"optionsNameFQ\": \"r_dokumentBemerkungOptions\"\n }\n });\n this.widgetCreator.addSelectBox(this, {\n \"idSelect\": \"zustand\",\n \"filter\": [\"Bereich\", \"2\"],\n \"filters\": [],\n \"caption\": \"dokument-edit.r_dokumentzustand_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Dokument\",\n \"bindTo\": \"IdZustand\",\n \"bindToFQ\": \"models.data.$m_Dokument.IdZustand\"\n },\n \"validationRules\": [],\n \"id\": \"r_dokumentZustand\",\n \"options\": {\n \"optionsName\": \"r_dokumentZustandOptions\",\n \"optionsNameFQ\": \"r_dokumentZustandOptions\"\n }\n });\n this.widgetCreator.addDateBox(this, {\n \"format\": \"d\",\n \"caption\": \"dokument-edit.r_dokumentgueltigvon_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Dokument\",\n \"bindTo\": \"GueltigVon\",\n \"bindToFQ\": \"models.data.$m_Dokument.GueltigVon\"\n },\n \"validationRules\": [{\n \"binding\": {\n \"dataContext\": \"$m_Dokument\",\n \"bindTo\": \"$f_DokumentUtils.gueltigVonValidationRule\",\n \"bindToFQ\": \"functions.$f_DokumentUtils.gueltigVonValidationRule\"\n }\n }],\n \"id\": \"r_dokumentGueltigVon\",\n \"options\": {\n \"optionsName\": \"r_dokumentGueltigVonOptions\",\n \"optionsNameFQ\": \"r_dokumentGueltigVonOptions\"\n }\n });\n this.widgetCreator.addDateBox(this, {\n \"format\": \"d\",\n \"caption\": \"dokument-edit.r_dokumentgueltigbis_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Dokument\",\n \"bindTo\": \"GueltigBis\",\n \"bindToFQ\": \"models.data.$m_Dokument.GueltigBis\"\n },\n \"validationRules\": [{\n \"binding\": {\n \"dataContext\": \"$m_Dokument\",\n \"bindTo\": \"$f_DokumentUtils.gueltigBisValidationRule\",\n \"bindToFQ\": \"functions.$f_DokumentUtils.gueltigBisValidationRule\"\n }\n }],\n \"id\": \"r_dokumentGueltigBis\",\n \"options\": {\n \"optionsName\": \"r_dokumentGueltigBisOptions\",\n \"optionsNameFQ\": \"r_dokumentGueltigBisOptions\"\n }\n });\n this.widgetCreator.addTextBox(this, {\n \"maxLength\": 250,\n \"caption\": \"dokument-edit.r_dokumentdateiname_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Dokument\",\n \"bindTo\": \"Dateiname\",\n \"bindToFQ\": \"models.data.$m_Dokument.Dateiname\"\n },\n \"validationRules\": [],\n \"id\": \"r_dokumentDateiname\",\n \"options\": {\n \"optionsName\": \"r_dokumentDateinameOptions\",\n \"optionsNameFQ\": \"r_dokumentDateinameOptions\"\n }\n });\n this.widgetCreator.addSelectBox(this, {\n \"idSelect\": \"zustand\",\n \"filter\": [\"Bereich\", \"2\"],\n \"filters\": [],\n \"caption\": \"dokument-edit.r_dokumentzustand_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Dokument\",\n \"bindTo\": \"IdZustand\",\n \"bindToFQ\": \"models.data.$m_Dokument.IdZustand\"\n },\n \"validationRules\": [],\n \"id\": \"r_dokumentZustand\",\n \"options\": {\n \"optionsName\": \"r_dokumentZustandOptions\",\n \"optionsNameFQ\": \"r_dokumentZustandOptions\"\n }\n });\n super.onConstructionFinished();\n }\n}","module.exports = \"\";","import * as fwx from \"../../../../framework/forms/form-export\";\nimport {\n DokumentReadUtils\n} from \"./dokument-read-utils\";\n\n@fwx.autoinject\nexport class DokumentReadForm extends fwx.FormBase {\n constructor(\n element: Element,\n formBaseImport: fwx.FormBaseImport,\n private $f_DokumentUtils: DokumentReadUtils) {\n super(element, formBaseImport);\n this.id = \"dokument-read\";\n this.title = \"dokument-read.dokument-read_caption\";\n this.addModel({\n \"id\": \"$m_Dokument\",\n \"webApiAction\": \"ZIT/Objekte/DokumentElement\",\n \"webApiExpand\": {\n Informationstyp: null,\n Zustand: null\n },\n \"key\": \"variables.data.$id\",\n \"keyProperty\": \"Id\",\n \"postOnSave\": false,\n \"allowNew\": \"false\",\n \"allowDelete\": \"false\",\n \"filters\": []\n });\n this.addEditPopup({\n \"idContent\": \"dokumentVersionInformationEditPopupContent\",\n \"mappings\": [{\n \"to\": \"$id\",\n \"binding\": {\n \"dataContext\": \"$m_Dokument\",\n \"bindTo\": \"Id\",\n \"bindToFQ\": \"models.data.$m_Dokument.Id\"\n }\n }, {\n \"to\": \"$v_versionKey\",\n \"binding\": {\n \"dataContext\": \"$m_Dokument\",\n \"bindTo\": \"VersionKey\",\n \"bindToFQ\": \"models.data.$m_Dokument.VersionKey\"\n }\n }, {\n \"to\": \"$v_isReadOnly\",\n \"binding\": {\n \"bindTo\": \"true\",\n \"bindToFQ\": \"true\"\n }\n }],\n \"id\": \"dokumentVersionInformationEditPopup\",\n \"options\": {\n \"optionsName\": \"dokumentVersionInformationEditPopupOptions\",\n \"optionsNameFQ\": \"dokumentVersionInformationEditPopupOptions\"\n },\n \"height\": \"250px\",\n \"width\": \"500px\",\n \"commands\": []\n });\n this.addFunction(\"$f_DokumentUtils\", $f_DokumentUtils, \"functions.$f_DokumentUtils\");\n this.widgetCreator.addValidationGroup(this, {\n \"id\": \"wd1\",\n \"options\": {\n \"optionsName\": \"wd1Options\",\n \"optionsNameFQ\": \"wd1Options\"\n }\n });\n super.onConstructionFinished();\n }\n}","module.exports = \"\";","import * as fwx from \"../../../../framework/forms/form-export\";\nimport {\n DokumentUnterfertigungUtils\n} from \"./dokument-unterfertigung-utils\";\n\n@fwx.autoinject\nexport class DokumentUnterfertigungForm extends fwx.FormBase {\n constructor(\n element: Element,\n formBaseImport: fwx.FormBaseImport,\n private $f_DokumentUtils: DokumentUnterfertigungUtils) {\n super(element, formBaseImport);\n this.id = \"dokument-unterfertigung\";\n this.title = \"dokument-unterfertigung.dokument-unterfertigung_caption\";\n this.addModel({\n \"id\": \"$m_Dokument\",\n \"webApiAction\": \"ZIT/Objekte/DokumentElement\",\n \"key\": \"variables.data.$id\",\n \"keyProperty\": \"Id\",\n \"filters\": []\n });\n this.addFunction(\"$f_DokumentUtils\", $f_DokumentUtils, \"functions.$f_DokumentUtils\");\n this.widgetCreator.addValidationGroup(this, {\n \"id\": \"wd1\",\n \"options\": {\n \"optionsName\": \"wd1Options\",\n \"optionsNameFQ\": \"wd1Options\"\n }\n });\n this.widgetCreator.addTextBox(this, {\n \"caption\": \"dokument-unterfertigung.r_dokumentunterfertigungdokumentencode_caption\",\n \"binding\": {\n \"bindTo\": \"$f_DokumentUtils.validierungData.DokumentCode\",\n \"bindToFQ\": \"functions.$f_DokumentUtils.validierungData.DokumentCode\"\n },\n \"validationRules\": [],\n \"id\": \"r_dokumentUnterfertigungDokumentenCode\",\n \"options\": {\n \"optionsName\": \"r_dokumentUnterfertigungDokumentenCodeOptions\",\n \"optionsNameFQ\": \"r_dokumentUnterfertigungDokumentenCodeOptions\"\n }\n });\n this.widgetCreator.addTextBox(this, {\n \"caption\": \"dokument-unterfertigung.r_dokumentunterfertigungtan_caption\",\n \"binding\": {\n \"bindTo\": \"$f_DokumentUtils.unterfertigungData.TAN\",\n \"bindToFQ\": \"functions.$f_DokumentUtils.unterfertigungData.TAN\"\n },\n \"validationRules\": [],\n \"id\": \"r_dokumentUnterfertigungTAN\",\n \"options\": {\n \"optionsName\": \"r_dokumentUnterfertigungTANOptions\",\n \"optionsNameFQ\": \"r_dokumentUnterfertigungTANOptions\"\n }\n });\n this.widgetCreator.addPopup(this, {\n \"id\": \"dataSavedPopup\",\n \"options\": {\n \"optionsName\": \"dataSavedPopupOptions\",\n \"optionsNameFQ\": \"dataSavedPopupOptions\"\n },\n \"caption\": \"dokument-unterfertigung.datasavedpopup_caption\",\n \"height\": \"auto\",\n \"width\": \"500px\",\n \"commands\": [{\n \"binding\": {\n \"bindTo\": \"$f_DokumentUtils.dataSavedClosePopupCommand\",\n \"bindToFQ\": \"functions.$f_DokumentUtils.dataSavedClosePopupCommand\"\n }\n }]\n });\n super.onConstructionFinished();\n }\n}","module.exports = \"\";","import * as fwx from \"../../../../framework/forms/form-export\";\nimport {\n DokumentVersionInformationUtils\n} from \"./dokument-version-information-utils\";\n\n@fwx.autoinject\nexport class DokumentVersionInformationForm extends fwx.FormBase {\n constructor(\n element: Element,\n formBaseImport: fwx.FormBaseImport,\n private $f_DokumentUtils: DokumentVersionInformationUtils) {\n super(element, formBaseImport);\n this.id = \"dokument-version-information\";\n this.title = \"dokument-version-information.dokument-version-information_caption\";\n this.addModel({\n \"id\": \"$m_Dokument\",\n \"webApiAction\": \"ZIT/Objekte/DokumentElement\",\n \"webApiExpand\": {\n Zustand: null\n },\n \"key\": \"variables.data.$id\",\n \"keyProperty\": \"Id\",\n \"filters\": [{\n \"webApiCustomKey\": \"versionKey\",\n \"webApiCustomValue\": \"variables.data.$v_versionKey\"\n }]\n });\n this.addVariable({\n \"id\": \"$v_versionKey\"\n });\n this.addVariable({\n \"id\": \"$v_isReadOnly\"\n });\n this.addCommand({\n \"binding\": {\n \"bindTo\": \"$f_DokumentUtils.kameraCommand\",\n \"bindToFQ\": \"functions.$f_DokumentUtils.kameraCommand\"\n }\n });\n this.addCommand({\n \"binding\": {\n \"bindTo\": \"$f_DokumentUtils.videoCommand\",\n \"bindToFQ\": \"functions.$f_DokumentUtils.videoCommand\"\n }\n });\n this.addCommand({\n \"binding\": {\n \"bindTo\": \"$f_DokumentUtils.gallerieCommand\",\n \"bindToFQ\": \"functions.$f_DokumentUtils.gallerieCommand\"\n }\n });\n this.addCommand({\n \"binding\": {\n \"bindTo\": \"$f_DokumentUtils.dateiCommand\",\n \"bindToFQ\": \"functions.$f_DokumentUtils.dateiCommand\"\n }\n });\n this.addFunction(\"$f_DokumentUtils\", $f_DokumentUtils, \"functions.$f_DokumentUtils\");\n this.widgetCreator.addValidationGroup(this, {\n \"id\": \"wd1\",\n \"options\": {\n \"optionsName\": \"wd1Options\",\n \"optionsNameFQ\": \"wd1Options\"\n }\n });\n this.widgetCreator.addListView(this, {\n \"itemClass\": \"z--list-view-inline-item\",\n \"useDefaultListItemStyle\": false,\n \"optionsToolbar\": {\n \"optionsName\": \"dokumentVersionListViewToolbarOptions\",\n \"optionsNameFQ\": \"dokumentVersionListViewToolbarOptions\"\n },\n \"binding\": {\n \"dataContext\": \"$m_Dokument\"\n },\n \"dataModel\": \"$m_Dokument\",\n \"listEdits\": [],\n \"filters\": [],\n \"commands\": [],\n \"id\": \"dokumentVersionListView\",\n \"options\": {\n \"optionsName\": \"dokumentVersionListViewOptions\",\n \"optionsNameFQ\": \"dokumentVersionListViewOptions\"\n }\n });\n super.onConstructionFinished();\n }\n}","module.exports = \"\";","import * as fwx from \"../../../../framework/forms/form-export\";\nimport {\n EventEditUtils\n} from \"./event-edit-utils\";\n\n@fwx.autoinject\nexport class EventEditForm extends fwx.FormBase {\n constructor(\n element: Element,\n formBaseImport: fwx.FormBaseImport,\n private $f_EventEditUtils: EventEditUtils) {\n super(element, formBaseImport);\n this.id = \"event-edit\";\n this.title = \"event-edit.event-edit_caption\";\n this.addModel({\n \"id\": \"$m_Event\",\n \"webApiAction\": \"ZIT/Objekte/Event\",\n \"webApiExpand\": {\n 'Kopf': {\n 'expand': {\n 'Lehrberufe': null,\n 'Anmeldungsgruppen': null\n }\n }\n },\n \"modificationInfoEnabled\": true,\n \"key\": \"variables.data.$id\",\n \"keyProperty\": \"Id\",\n \"postOnSave\": true,\n \"filters\": []\n });\n this.addModel({\n \"id\": \"$m_Lehrberuf\",\n \"webApiAction\": \"ZIT/Stammdaten/Lehrberuf\",\n \"keyProperty\": \"Id\",\n \"filters\": [{\n \"webApiCustomKey\": \"IdGeschaeftspartner\",\n \"webApiCustomValue\": \"models.data.$m_Event.Kopf.IdGeschaeftspartner\"\n }]\n });\n this.addModel({\n \"id\": \"$m_Anmeldungsgruppe\",\n \"webApiAction\": \"ZIT/Stammdaten/EventAnmeldungsgruppe\",\n \"keyProperty\": \"Id\",\n \"filters\": []\n });\n this.addModel({\n \"id\": \"$m_EventTyp\",\n \"webApiAction\": \"ZIT/Stammdaten/EventTyp\",\n \"key\": \"models.data.$m_Event.Kopf.IdEventTyp\",\n \"keyProperty\": \"Id\",\n \"filters\": []\n });\n this.addModel({\n \"id\": \"$m_EventZeitraumRel\",\n \"webApiAction\": \"ZIT/Objekte/EventZeitraum\",\n \"webApiExpand\": {\n 'Kopf': null\n },\n \"webApiOrderBy\": [{\n columnName: 'Kopf.StartDatum',\n sortOrder: 0\n }],\n \"keyProperty\": \"Id\",\n \"filters\": [{\n \"webApiCustomKey\": \"AddSchulkontingentSum\",\n \"webApiCustomValue\": \"true\"\n }]\n });\n this.addModel({\n \"id\": \"$m_EventZeitraumEdit\",\n \"webApiAction\": \"ZIT/Objekte/EventZeitraum\",\n \"keyProperty\": \"Id\",\n \"filters\": []\n });\n this.addModel({\n \"id\": \"$m_EventTeilnehmerEdit\",\n \"webApiAction\": \"ZIT/Objekte/EventTeilnehmer\",\n \"webApiWhere\": [\"IdEvent\", {\n \"isBound\": true,\n \"expression\": \"models.data.$m_Event.Id\"\n }],\n \"keyProperty\": \"Id\",\n \"filters\": [{\n \"webApiCustomKey\": \"AddEventTeilnehmerCard\",\n \"webApiCustomValue\": \"true\"\n }, {\n \"if\": \"functions.$f_EventEditUtils.idEventZeitraumFilter\",\n \"webApiWhere\": [\"IdEventZeitraum\", {\n \"isBound\": true,\n \"expression\": \"functions.$f_EventEditUtils.idEventZeitraumFilter\"\n }]\n }, {\n \"if\": \"functions.$f_EventEditUtils.eventTeilnehmerFilter\",\n \"webApiCustomKey\": \"EventTeilnehmerNameFilter\",\n \"webApiCustomValue\": \"functions.$f_EventEditUtils.eventTeilnehmerFilter\"\n }]\n });\n this.addModel({\n \"id\": \"$m_EventLinkAnmeldung\",\n \"webApiAction\": \"ZIT/Objekte/EventLinkAnmeldung\",\n \"webApiExpand\": {\n 'Element': {\n 'expand': {\n 'Ausbildung': null,\n 'EventAnmeldungsgruppe': null\n }\n }\n },\n \"webApiWhere\": [\"IdEvent\", {\n \"isBound\": true,\n \"expression\": \"models.data.$m_Event.Id\"\n }],\n \"keyProperty\": \"Id\",\n \"allowNew\": \"false\",\n \"filters\": []\n });\n this.addModel({\n \"id\": \"$m_EventLinkAnmeldungEdit\",\n \"webApiAction\": \"ZIT/Objekte/EventLinkAnmeldung\",\n \"keyProperty\": \"Id\",\n \"filters\": []\n });\n this.addCommand({\n \"binding\": {\n \"bindTo\": \"$f_EventEditUtils.actionCommand\",\n \"bindToFQ\": \"functions.$f_EventEditUtils.actionCommand\"\n }\n });\n this.addCommand({\n \"binding\": {\n \"bindTo\": \"$f_EventEditUtils.statusAendernPopupCommand\",\n \"bindToFQ\": \"functions.$f_EventEditUtils.statusAendernPopupCommand\"\n }\n });\n this.addCommand({\n \"binding\": {\n \"bindTo\": \"$f_EventEditUtils.kopierenOptionenCommand\",\n \"bindToFQ\": \"functions.$f_EventEditUtils.kopierenOptionenCommand\"\n }\n });\n this.addEditPopup({\n \"idContent\": \"eventZeitraumEditPopupContent\",\n \"mappings\": [{\n \"to\": \"$id\",\n \"binding\": {\n \"dataContext\": \"$m_EventZeitraumEdit\",\n \"bindTo\": \"Id\",\n \"bindToFQ\": \"models.data.$m_EventZeitraumEdit.Id\"\n }\n }],\n \"id\": \"eventZeitraumEditPopup\",\n \"options\": {\n \"optionsName\": \"eventZeitraumEditPopupOptions\",\n \"optionsNameFQ\": \"eventZeitraumEditPopupOptions\"\n },\n \"height\": \"90vh\",\n \"width\": \"1000px\",\n \"commands\": []\n });\n this.addEditPopup({\n \"idContent\": \"eventLinkAnmeldungEditPopupContent\",\n \"mappings\": [{\n \"to\": \"$id\",\n \"binding\": {\n \"dataContext\": \"$m_EventLinkAnmeldungEdit\",\n \"bindTo\": \"Id\",\n \"bindToFQ\": \"models.data.$m_EventLinkAnmeldungEdit.Id\"\n }\n }],\n \"id\": \"eventLinkAnmeldungEditPopup\",\n \"options\": {\n \"optionsName\": \"eventLinkAnmeldungEditPopupOptions\",\n \"optionsNameFQ\": \"eventLinkAnmeldungEditPopupOptions\"\n },\n \"height\": \"auto\",\n \"width\": \"700px\",\n \"commands\": []\n });\n this.addFunction(\"$f_EventEditUtils\", $f_EventEditUtils, \"functions.$f_EventEditUtils\");\n this.widgetCreator.addValidationGroup(this, {\n \"id\": \"wd1\",\n \"options\": {\n \"optionsName\": \"wd1Options\",\n \"optionsNameFQ\": \"wd1Options\"\n }\n });\n this.widgetCreator.addSelectBox(this, {\n \"idSelect\": \"eventTyp\",\n \"filters\": [],\n \"caption\": \"event-edit.r_eventtyp_caption\",\n \"isReadOnlyExpression\": \"models.data.$m_Event.Kopf.Id > 0\",\n \"binding\": {\n \"dataContext\": \"$m_Event\",\n \"bindTo\": \"Kopf.IdEventTyp\",\n \"bindToFQ\": \"models.data.$m_Event.Kopf.IdEventTyp\",\n \"propertyPrefix\": \"Kopf\"\n },\n \"validationRules\": [{\n \"item\": {\n \"type\": \"required\",\n \"parameters\": []\n }\n }],\n \"id\": \"r_eventTyp\",\n \"options\": {\n \"optionsName\": \"r_eventTypOptions\",\n \"optionsNameFQ\": \"r_eventTypOptions\"\n }\n });\n this.widgetCreator.addTextBox(this, {\n \"caption\": \"event-edit.r_websiteeventanmeldunglink_caption\",\n \"isReadOnly\": true,\n \"binding\": {\n \"dataContext\": \"$m_Event\",\n \"bindTo\": \"_WebsiteEventAnmeldungLink\",\n \"bindToFQ\": \"models.data.$m_Event._WebsiteEventAnmeldungLink\"\n },\n \"validationRules\": [],\n \"id\": \"r_websiteEventAnmeldungLink\",\n \"options\": {\n \"optionsName\": \"r_websiteEventAnmeldungLinkOptions\",\n \"optionsNameFQ\": \"r_websiteEventAnmeldungLinkOptions\"\n }\n });\n this.widgetCreator.addCheckBox(this, {\n \"caption\": \"event-edit.r_showveranstaltungsmaske_caption\",\n \"isReadOnlyExpression\": \"!models.data.$m_Event.Kopf.Id\",\n \"binding\": {\n \"dataContext\": \"$m_Event\",\n \"bindTo\": \"Kopf.ShowVeranstaltungsmaske\",\n \"bindToFQ\": \"models.data.$m_Event.Kopf.ShowVeranstaltungsmaske\",\n \"propertyPrefix\": \"Kopf\"\n },\n \"validationRules\": [],\n \"id\": \"r_showVeranstaltungsmaske\",\n \"options\": {\n \"optionsName\": \"r_showVeranstaltungsmaskeOptions\",\n \"optionsNameFQ\": \"r_showVeranstaltungsmaskeOptions\"\n }\n });\n this.widgetCreator.addRadioGroup(this, {\n \"idSelect\": \"eventVeroeffentlichung\",\n \"filters\": [],\n \"caption\": \"event-edit.r_veroeffentlichung_caption\",\n \"isReadOnlyExpression\": \"functions.$f_EventEditUtils.isTypAuswahlEnabled\",\n \"binding\": {\n \"dataContext\": \"$m_Event\",\n \"bindTo\": \"Kopf.Veroeffentlichung\",\n \"bindToFQ\": \"models.data.$m_Event.Kopf.Veroeffentlichung\",\n \"propertyPrefix\": \"Kopf\"\n },\n \"validationRules\": [{\n \"item\": {\n \"type\": \"required\",\n \"parameters\": []\n }\n }],\n \"id\": \"r_veroeffentlichung\",\n \"options\": {\n \"optionsName\": \"r_veroeffentlichungOptions\",\n \"optionsNameFQ\": \"r_veroeffentlichungOptions\"\n }\n });\n this.widgetCreator.addCheckBox(this, {\n \"caption\": \"event-edit.r_veroeffnetlichenfiltergeschaeftspartner_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Event\",\n \"bindTo\": \"Kopf.VeroeffentlichenFilterGeschaeftspartner\",\n \"bindToFQ\": \"models.data.$m_Event.Kopf.VeroeffentlichenFilterGeschaeftspartner\",\n \"propertyPrefix\": \"Kopf\"\n },\n \"validationRules\": [],\n \"id\": \"r_veroeffnetlichenFilterGeschaeftspartner\",\n \"options\": {\n \"optionsName\": \"r_veroeffnetlichenFilterGeschaeftspartnerOptions\",\n \"optionsNameFQ\": \"r_veroeffnetlichenFilterGeschaeftspartnerOptions\"\n }\n });\n this.widgetCreator.addSelectBox(this, {\n \"idSelect\": \"eventTeilnehmerReaktion\",\n \"filters\": [],\n \"caption\": \"event-edit.r_teilnehmerreaktion_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Event\",\n \"bindTo\": \"Kopf.TeilnehmerReaktion\",\n \"bindToFQ\": \"models.data.$m_Event.Kopf.TeilnehmerReaktion\",\n \"propertyPrefix\": \"Kopf\"\n },\n \"validationRules\": [{\n \"item\": {\n \"type\": \"required\",\n \"parameters\": []\n }\n }],\n \"id\": \"r_teilnehmerReaktion\",\n \"options\": {\n \"optionsName\": \"r_teilnehmerReaktionOptions\",\n \"optionsNameFQ\": \"r_teilnehmerReaktionOptions\"\n }\n });\n this.widgetCreator.addLookup(this, {\n \"idSelect\": \"geschaeftspartner\",\n \"filter\": [\"IsGeschaeftspartnerSchule\", false],\n \"filters\": [],\n \"caption\": \"event-edit.r_geschaeftspartner_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Event\",\n \"bindTo\": \"Kopf.IdGeschaeftspartner\",\n \"bindToFQ\": \"models.data.$m_Event.Kopf.IdGeschaeftspartner\",\n \"propertyPrefix\": \"Kopf\"\n },\n \"validationRules\": [],\n \"id\": \"r_geschaeftspartner\",\n \"options\": {\n \"optionsName\": \"r_geschaeftspartnerOptions\",\n \"optionsNameFQ\": \"r_geschaeftspartnerOptions\"\n }\n });\n this.widgetCreator.addLookup(this, {\n \"idSelect\": \"geschaeftspartner\",\n \"filter\": [\"IsGeschaeftspartnerSchule\", true],\n \"filters\": [],\n \"caption\": \"event-edit.r_geschaeftspartnerschule_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Event\",\n \"bindTo\": \"Kopf.IdGeschaeftspartnerSchule\",\n \"bindToFQ\": \"models.data.$m_Event.Kopf.IdGeschaeftspartnerSchule\",\n \"propertyPrefix\": \"Kopf\"\n },\n \"validationRules\": [],\n \"id\": \"r_geschaeftspartnerSchule\",\n \"options\": {\n \"optionsName\": \"r_geschaeftspartnerSchuleOptions\",\n \"optionsNameFQ\": \"r_geschaeftspartnerSchuleOptions\"\n }\n });\n this.widgetCreator.addTextBox(this, {\n \"maxLength\": 250,\n \"caption\": \"event-edit.r_betreff_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Event\",\n \"bindTo\": \"Kopf.Betreff\",\n \"bindToFQ\": \"models.data.$m_Event.Kopf.Betreff\",\n \"propertyPrefix\": \"Kopf\"\n },\n \"validationRules\": [{\n \"item\": {\n \"type\": \"required\",\n \"parameters\": []\n }\n }],\n \"id\": \"r_betreff\",\n \"options\": {\n \"optionsName\": \"r_betreffOptions\",\n \"optionsNameFQ\": \"r_betreffOptions\"\n }\n });\n this.widgetCreator.addTextBox(this, {\n \"maxLength\": 250,\n \"caption\": \"event-edit.r_bezeichnungintern_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Event\",\n \"bindTo\": \"Kopf.BezeichnungIntern\",\n \"bindToFQ\": \"models.data.$m_Event.Kopf.BezeichnungIntern\",\n \"propertyPrefix\": \"Kopf\"\n },\n \"validationRules\": [],\n \"id\": \"r_bezeichnungIntern\",\n \"options\": {\n \"optionsName\": \"r_bezeichnungInternOptions\",\n \"optionsNameFQ\": \"r_bezeichnungInternOptions\"\n }\n });\n this.widgetCreator.addTextBox(this, {\n \"maxLength\": 250,\n \"caption\": \"event-edit.r_subtitel_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Event\",\n \"bindTo\": \"Kopf.Subtitel\",\n \"bindToFQ\": \"models.data.$m_Event.Kopf.Subtitel\",\n \"propertyPrefix\": \"Kopf\"\n },\n \"validationRules\": [],\n \"id\": \"r_subtitel\",\n \"options\": {\n \"optionsName\": \"r_subtitelOptions\",\n \"optionsNameFQ\": \"r_subtitelOptions\"\n }\n });\n this.widgetCreator.addTextBox(this, {\n \"maxLength\": 100,\n \"caption\": \"event-edit.r_ort_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Event\",\n \"bindTo\": \"Kopf.Ort\",\n \"bindToFQ\": \"models.data.$m_Event.Kopf.Ort\",\n \"propertyPrefix\": \"Kopf\"\n },\n \"validationRules\": [],\n \"id\": \"r_ort\",\n \"options\": {\n \"optionsName\": \"r_ortOptions\",\n \"optionsNameFQ\": \"r_ortOptions\"\n }\n });\n this.widgetCreator.addCheckBox(this, {\n \"caption\": \"event-edit.r_ortfuerschnuppernnachvereinbarung_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Event\",\n \"bindTo\": \"Kopf.OrtFuerSchnuppernNachVereinbarung\",\n \"bindToFQ\": \"models.data.$m_Event.Kopf.OrtFuerSchnuppernNachVereinbarung\",\n \"propertyPrefix\": \"Kopf\"\n },\n \"validationRules\": [],\n \"id\": \"r_ortFuerSchnuppernNachVereinbarung\",\n \"options\": {\n \"optionsName\": \"r_ortFuerSchnuppernNachVereinbarungOptions\",\n \"optionsNameFQ\": \"r_ortFuerSchnuppernNachVereinbarungOptions\"\n }\n });\n this.widgetCreator.addDateBox(this, {\n \"format\": \"t\",\n \"caption\": \"event-edit.r_meldenum_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Event\",\n \"bindTo\": \"Kopf.MeldenUm\",\n \"bindToFQ\": \"models.data.$m_Event.Kopf.MeldenUm\",\n \"propertyPrefix\": \"Kopf\"\n },\n \"validationRules\": [],\n \"id\": \"r_meldenUm\",\n \"options\": {\n \"optionsName\": \"r_meldenUmOptions\",\n \"optionsNameFQ\": \"r_meldenUmOptions\"\n }\n });\n this.widgetCreator.addDateBox(this, {\n \"format\": \"t\",\n \"caption\": \"event-edit.r_startuhrzeit_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Event\",\n \"bindTo\": \"Kopf.StartUhrzeit\",\n \"bindToFQ\": \"models.data.$m_Event.Kopf.StartUhrzeit\",\n \"propertyPrefix\": \"Kopf\"\n },\n \"validationRules\": [],\n \"id\": \"r_startUhrzeit\",\n \"options\": {\n \"optionsName\": \"r_startUhrzeitOptions\",\n \"optionsNameFQ\": \"r_startUhrzeitOptions\"\n }\n });\n this.widgetCreator.addDateBox(this, {\n \"format\": \"t\",\n \"caption\": \"event-edit.r_endeuhrzeit_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Event\",\n \"bindTo\": \"Kopf.EndeUhrzeit\",\n \"bindToFQ\": \"models.data.$m_Event.Kopf.EndeUhrzeit\",\n \"propertyPrefix\": \"Kopf\"\n },\n \"validationRules\": [],\n \"id\": \"r_endeUhrzeit\",\n \"options\": {\n \"optionsName\": \"r_endeUhrzeitOptions\",\n \"optionsNameFQ\": \"r_endeUhrzeitOptions\"\n }\n });\n this.widgetCreator.addFileUploaderWithViewer(this, {\n \"acceptTypeEnum\": 0,\n \"acceptType\": \"image/*\",\n \"height\": \"250px\",\n \"showClearButton\": false,\n \"caption\": \"event-edit.r_dmslinklogo_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Event\",\n \"bindTo\": \"Kopf.DMSLinkLogo\",\n \"bindToFQ\": \"models.data.$m_Event.Kopf.DMSLinkLogo\",\n \"propertyPrefix\": \"Kopf\"\n },\n \"validationRules\": [],\n \"id\": \"r_dMSLinkLogo\",\n \"options\": {\n \"optionsName\": \"r_dMSLinkLogoOptions\",\n \"optionsNameFQ\": \"r_dMSLinkLogoOptions\"\n }\n });\n this.widgetCreator.addTagBox(this, {\n \"caption\": \"event-edit.r_lehrberufe_caption\",\n \"dataContext\": \"$m_Event\",\n \"batchSelectionEnabled\": true,\n \"relationBinding\": {\n \"dataContext\": \"$m_Event\",\n \"bindTo\": \"Kopf.Lehrberufe\",\n \"bindToFQ\": \"models.data.$m_Event.Kopf.Lehrberufe\",\n \"propertyPrefix\": \"Kopf\"\n },\n \"relationProperty\": \"IdLehrberuf\",\n \"itemDataContext\": \"$m_Lehrberuf\",\n \"itemValueExpr\": \"Id\",\n \"itemDisplayExpr\": \"Bezeichnung\",\n \"binding\": {\n \"dataContext\": \"$m_Event\"\n },\n \"validationRules\": [],\n \"id\": \"r_lehrberufe\",\n \"options\": {\n \"optionsName\": \"r_lehrberufeOptions\",\n \"optionsNameFQ\": \"r_lehrberufeOptions\"\n }\n });\n this.widgetCreator.addTagBox(this, {\n \"caption\": \"event-edit.r_anmeldungsgruppen_caption\",\n \"dataContext\": \"$m_Event\",\n \"batchSelectionEnabled\": true,\n \"relationBinding\": {\n \"dataContext\": \"$m_Event\",\n \"bindTo\": \"Kopf.Anmeldungsgruppen\",\n \"bindToFQ\": \"models.data.$m_Event.Kopf.Anmeldungsgruppen\",\n \"propertyPrefix\": \"Kopf\"\n },\n \"relationProperty\": \"IdEventAnmeldungsgruppe\",\n \"itemDataContext\": \"$m_Anmeldungsgruppe\",\n \"itemValueExpr\": \"Id\",\n \"itemDisplayExpr\": \"Bezeichnung\",\n \"binding\": {\n \"dataContext\": \"$m_Event\"\n },\n \"validationRules\": [],\n \"id\": \"r_anmeldungsgruppen\",\n \"options\": {\n \"optionsName\": \"r_anmeldungsgruppenOptions\",\n \"optionsNameFQ\": \"r_anmeldungsgruppenOptions\"\n }\n });\n this.widgetCreator.addLookup(this, {\n \"idSelect\": \"person\",\n \"filters\": [],\n \"caption\": \"event-edit.r_person_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Event\",\n \"bindTo\": \"Kopf.IdPerson\",\n \"bindToFQ\": \"models.data.$m_Event.Kopf.IdPerson\",\n \"propertyPrefix\": \"Kopf\"\n },\n \"validationRules\": [],\n \"id\": \"r_person\",\n \"options\": {\n \"optionsName\": \"r_personOptions\",\n \"optionsNameFQ\": \"r_personOptions\"\n }\n });\n this.widgetCreator.addNumberBox(this, {\n \"showClearButton\": true,\n \"min\": 1.0,\n \"max\": 999.0,\n \"format\": \"n0\",\n \"caption\": \"event-edit.r_standarddauer_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Event\",\n \"bindTo\": \"Kopf.Standarddauer\",\n \"bindToFQ\": \"models.data.$m_Event.Kopf.Standarddauer\",\n \"propertyPrefix\": \"Kopf\"\n },\n \"validationRules\": [],\n \"id\": \"r_standardDauer\",\n \"options\": {\n \"optionsName\": \"r_standardDauerOptions\",\n \"optionsNameFQ\": \"r_standardDauerOptions\"\n }\n });\n this.widgetCreator.addNumberBox(this, {\n \"showClearButton\": true,\n \"min\": 1.0,\n \"max\": 999.0,\n \"format\": \"n0\",\n \"caption\": \"event-edit.r_minimaldauer_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Event\",\n \"bindTo\": \"Kopf.Mindestdauer\",\n \"bindToFQ\": \"models.data.$m_Event.Kopf.Mindestdauer\",\n \"propertyPrefix\": \"Kopf\"\n },\n \"validationRules\": [],\n \"id\": \"r_minimalDauer\",\n \"options\": {\n \"optionsName\": \"r_minimalDauerOptions\",\n \"optionsNameFQ\": \"r_minimalDauerOptions\"\n }\n });\n this.widgetCreator.addNumberBox(this, {\n \"showClearButton\": true,\n \"min\": 1.0,\n \"max\": 999.0,\n \"format\": \"n0\",\n \"caption\": \"event-edit.r_maximaldauer_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Event\",\n \"bindTo\": \"Kopf.Maximaldauer\",\n \"bindToFQ\": \"models.data.$m_Event.Kopf.Maximaldauer\",\n \"propertyPrefix\": \"Kopf\"\n },\n \"validationRules\": [],\n \"id\": \"r_maximalDauer\",\n \"options\": {\n \"optionsName\": \"r_maximalDauerOptions\",\n \"optionsNameFQ\": \"r_maximalDauerOptions\"\n }\n });\n this.widgetCreator.addCheckBox(this, {\n \"caption\": \"event-edit.r_webserviceterminabfrage_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Event\",\n \"bindTo\": \"Kopf.WebserviceTerminabfrage\",\n \"bindToFQ\": \"models.data.$m_Event.Kopf.WebserviceTerminabfrage\",\n \"propertyPrefix\": \"Kopf\"\n },\n \"validationRules\": [],\n \"id\": \"r_webserviceTerminabfrage\",\n \"options\": {\n \"optionsName\": \"r_webserviceTerminabfrageOptions\",\n \"optionsNameFQ\": \"r_webserviceTerminabfrageOptions\"\n }\n });\n this.widgetCreator.addCheckBox(this, {\n \"caption\": \"event-edit.r_inschnupperterminmaskeanzeigen_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Event\",\n \"bindTo\": \"Kopf.InSchnupperterminmaskeAnzeigen\",\n \"bindToFQ\": \"models.data.$m_Event.Kopf.InSchnupperterminmaskeAnzeigen\",\n \"propertyPrefix\": \"Kopf\"\n },\n \"validationRules\": [],\n \"id\": \"r_inSchnupperterminmaskeAnzeigen\",\n \"options\": {\n \"optionsName\": \"r_inSchnupperterminmaskeAnzeigenOptions\",\n \"optionsNameFQ\": \"r_inSchnupperterminmaskeAnzeigenOptions\"\n }\n });\n this.widgetCreator.addCheckBox(this, {\n \"caption\": \"event-edit.r_bewerbungsformularschnupperterminauswahl_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Event\",\n \"bindTo\": \"Kopf.BewerbungsformularSchnupperterminauswahl\",\n \"bindToFQ\": \"models.data.$m_Event.Kopf.BewerbungsformularSchnupperterminauswahl\",\n \"propertyPrefix\": \"Kopf\"\n },\n \"validationRules\": [],\n \"id\": \"r_bewerbungsformularSchnupperterminauswahl\",\n \"options\": {\n \"optionsName\": \"r_bewerbungsformularSchnupperterminauswahlOptions\",\n \"optionsNameFQ\": \"r_bewerbungsformularSchnupperterminauswahlOptions\"\n }\n });\n this.widgetCreator.addDataGrid(this, {\n \"columns\": [{\n \"id\": \"r_zeitraumBetreff\",\n \"caption\": \"event-edit.r_zeitraumbetreff_caption\",\n \"bindTo\": \"Kopf.BezeichnungInternOderBetreff\"\n }, {\n \"id\": \"r_zeitraumStartDatum\",\n \"caption\": \"event-edit.r_zeitraumstartdatum_caption\",\n \"bindTo\": \"Kopf.StartDatum\",\n \"width\": \"85px\",\n \"format\": \"d\"\n }, {\n \"id\": \"r_zeitraumStartUhrzeit\",\n \"caption\": \"event-edit.r_zeitraumstartuhrzeit_caption\",\n \"bindTo\": \"Kopf.StartUhrzeitValidated\",\n \"width\": \"85px\",\n \"format\": \"t\"\n }, {\n \"id\": \"r_zeitraumEndeDatum\",\n \"caption\": \"event-edit.r_zeitraumendedatum_caption\",\n \"bindTo\": \"Kopf.EndeDatum\",\n \"width\": \"85px\",\n \"format\": \"d\"\n }, {\n \"id\": \"r_zeitraumEndeUhrzeit\",\n \"caption\": \"event-edit.r_zeitraumendeuhrzeit_caption\",\n \"bindTo\": \"Kopf.EndeUhrzeitValidated\",\n \"width\": \"87px\",\n \"format\": \"t\"\n }, {\n \"id\": \"r_zeitraumOrt\",\n \"caption\": \"event-edit.r_zeitraumort_caption\",\n \"bindTo\": \"Kopf.OrtValidated\"\n }, {\n \"id\": \"r_zeitraumKontingentGesamt\",\n \"caption\": \"event-edit.r_zeitraumkontingentgesamt_caption\",\n \"bindTo\": \"Kopf.KontingentGesamt\",\n \"width\": \"50px\",\n \"format\": \"n0\",\n \"onCellPrepared\": \"functions.$f_EventEditUtils.onZeitraumKontingentCellPrepared\"\n }, {\n \"id\": \"r_zeitraumKontingentSchule\",\n \"caption\": \"event-edit.r_zeitraumkontingentschule_caption\",\n \"width\": \"50px\",\n \"onCellPrepared\": \"functions.$f_EventEditUtils.onZeitraumKontingentSchuleCellPrepared\"\n }, {\n \"id\": \"r_zeitraumInSchnupperterminmaskeAnzeigen\",\n \"caption\": \"event-edit.r_zeitrauminschnupperterminmaskeanzeigen_caption\",\n \"bindTo\": \"Kopf.InSchnupperterminmaskeAnzeigenValidated\",\n \"width\": \"50px\",\n \"onCellPrepared\": \"functions.$f_EventEditUtils.onSchnupperterminMaskeCellPrepared\"\n }, {\n \"id\": \"r_zeitraumWebserviceTerminabfrage\",\n \"caption\": \"event-edit.r_zeitraumwebserviceterminabfrage_caption\",\n \"bindTo\": \"Kopf.WebserviceTerminabfrageValidated\",\n \"width\": \"50px\",\n \"onCellPrepared\": \"functions.$f_EventEditUtils.onWebserviceTerminabfrageCellPrepared\"\n }, {\n \"id\": \"r_zeitraumBewerbungsformularSchnupperterminauswahl\",\n \"caption\": \"event-edit.r_zeitraumbewerbungsformularschnupperterminauswahl_caption\",\n \"bindTo\": \"Kopf.BewerbungsformularSchnupperterminauswahlValidated\",\n \"width\": \"50px\",\n \"onCellPrepared\": \"functions.$f_EventEditUtils.onBewerbungsformularSchnupperterminauswahlCellPrepared\"\n }],\n \"createToolbar\": true,\n \"optionsToolbar\": {\n \"optionsName\": \"r_eventZeitraumGridToolbarOptions\",\n \"optionsNameFQ\": \"r_eventZeitraumGridToolbarOptions\"\n },\n \"caption\": \"event-edit.r_eventzeitraumgrid_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Event\"\n },\n \"isRelation\": true,\n \"relationBinding\": {\n \"dataContext\": \"$m_EventZeitraumRel\",\n \"bindTo\": \"IdEvent\",\n \"bindToFQ\": \"models.data.$m_EventZeitraumRel.IdEvent\"\n },\n \"dataModel\": \"$m_Event\",\n \"editDataContext\": \"$m_EventZeitraumEdit\",\n \"idEditPopup\": \"eventZeitraumEditPopup\",\n \"listEdits\": [],\n \"filters\": [],\n \"commands\": [],\n \"id\": \"r_eventZeitraumGrid\",\n \"options\": {\n \"optionsName\": \"r_eventZeitraumGridOptions\",\n \"optionsNameFQ\": \"r_eventZeitraumGridOptions\"\n }\n });\n this.widgetCreator.addDataGrid(this, {\n \"columns\": [{\n \"id\": \"r_linkAnmStartDatum\",\n \"caption\": \"event-edit.r_linkanmstartdatum_caption\",\n \"bindTo\": \"Element.StartDatum\",\n \"width\": \"85px\",\n \"format\": \"d\"\n }, {\n \"id\": \"r_linkAnmStartUhrzeit\",\n \"caption\": \"event-edit.r_linkanmstartuhrzeit_caption\",\n \"bindTo\": \"Element.StartUhrzeit\",\n \"width\": \"85px\",\n \"format\": \"t\"\n }, {\n \"id\": \"r_linkAnmEndeDatum\",\n \"caption\": \"event-edit.r_linkanmendedatum_caption\",\n \"bindTo\": \"Element.EndeDatum\",\n \"width\": \"85px\",\n \"format\": \"d\"\n }, {\n \"id\": \"r_linkAnmEndeUhrzeit\",\n \"caption\": \"event-edit.r_linkanmendeuhrzeit_caption\",\n \"bindTo\": \"Element.EndeUhrzeit\",\n \"width\": \"87px\",\n \"format\": \"t\"\n }, {\n \"id\": \"r_linkAnmGeschlecht\",\n \"caption\": \"event-edit.r_linkanmgeschlecht_caption\",\n \"bindTo\": \"Element.Geschlecht\",\n \"enumTypeName\": \"TIP.ZIT.Business.Enumerations.GeschlechtEnum\"\n }, {\n \"id\": \"r_linkAnmVorname\",\n \"caption\": \"event-edit.r_linkanmvorname_caption\",\n \"bindTo\": \"Element.Vorname\"\n }, {\n \"id\": \"r_linkAnmNachname\",\n \"caption\": \"event-edit.r_linkanmnachname_caption\",\n \"bindTo\": \"Element.Nachname\"\n }, {\n \"id\": \"r_linkAnmTelefon\",\n \"caption\": \"event-edit.r_linkanmtelefon_caption\",\n \"bindTo\": \"Element.TelefonKomplett\",\n \"width\": \"120px\"\n }, {\n \"id\": \"r_linkAnmAnzahlTeilnehmer\",\n \"caption\": \"event-edit.r_linkanmanzahlteilnehmer_caption\",\n \"bindTo\": \"Element.AnzahlTeilnehmer\",\n \"width\": \"80px\"\n }, {\n \"id\": \"r_linkAnmAlter\",\n \"caption\": \"event-edit.r_linkanmalter_caption\",\n \"bindTo\": \"Element.Alter\",\n \"width\": \"80px\"\n }, {\n \"id\": \"r_linkAnmEmail\",\n \"caption\": \"event-edit.r_linkanmemail_caption\",\n \"bindTo\": \"Element.Email\",\n \"width\": \"80px\"\n }, {\n \"id\": \"r_linkAnmTyp\",\n \"caption\": \"event-edit.r_linkanmtyp_caption\",\n \"bindTo\": \"Element.EventAnmeldungsgruppe.Bezeichnung\",\n \"width\": \"80px\"\n }, {\n \"id\": \"r_linkAnmAusbildung\",\n \"caption\": \"event-edit.r_linkanmausbildung_caption\",\n \"bindTo\": \"Element.Ausbildung.Bezeichnung\",\n \"width\": \"80px\"\n }, {\n \"id\": \"r_linkAnmKlasse\",\n \"caption\": \"event-edit.r_linkanmklasse_caption\",\n \"bindTo\": \"Element.Klasse\",\n \"width\": \"80px\"\n }, {\n \"id\": \"r_linkAnmEventErfahrenDurch\",\n \"caption\": \"event-edit.r_linkanmeventerfahrendurch_caption\",\n \"bindTo\": \"Element.EventErfahrenDurch\",\n \"width\": \"80px\"\n }],\n \"createToolbar\": true,\n \"optionsToolbar\": {\n \"optionsName\": \"r_eventLinkAnmeldungGridToolbarOptions\",\n \"optionsNameFQ\": \"r_eventLinkAnmeldungGridToolbarOptions\"\n },\n \"caption\": \"event-edit.r_eventlinkanmeldunggrid_caption\",\n \"binding\": {\n \"dataContext\": \"$m_EventLinkAnmeldung\"\n },\n \"dataModel\": \"$m_EventLinkAnmeldung\",\n \"editDataContext\": \"$m_EventLinkAnmeldungEdit\",\n \"idEditPopup\": \"eventLinkAnmeldungEditPopup\",\n \"listEdits\": [],\n \"filters\": [],\n \"commands\": [{\n \"binding\": {\n \"dataContext\": \"$m_Event\",\n \"bindTo\": \"$f_EventEditUtils.exportLinkAnmeldungCommand\",\n \"bindToFQ\": \"functions.$f_EventEditUtils.exportLinkAnmeldungCommand\"\n }\n }],\n \"id\": \"r_eventLinkAnmeldungGrid\",\n \"options\": {\n \"optionsName\": \"r_eventLinkAnmeldungGridOptions\",\n \"optionsNameFQ\": \"r_eventLinkAnmeldungGridOptions\"\n }\n });\n this.widgetCreator.addListView(this, {\n \"itemClass\": \"col-xs-12 col-sm-6\",\n \"useDefaultListItemStyle\": false,\n \"optionsToolbar\": {\n \"optionsName\": \"r_eventTeilnehmerListViewToolbarOptions\",\n \"optionsNameFQ\": \"r_eventTeilnehmerListViewToolbarOptions\"\n },\n \"binding\": {\n \"dataContext\": \"$m_EventTeilnehmerEdit\"\n },\n \"dataModel\": \"$m_EventTeilnehmerEdit\",\n \"pageSize\": 4,\n \"listEdits\": [],\n \"filters\": [],\n \"commands\": [],\n \"id\": \"r_eventTeilnehmerListView\",\n \"options\": {\n \"optionsName\": \"r_eventTeilnehmerListViewOptions\",\n \"optionsNameFQ\": \"r_eventTeilnehmerListViewOptions\"\n }\n });\n super.onConstructionFinished();\n }\n}","module.exports = \"\";","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.id, \".event__veroeffentlichung-typ-filter-btn {\\n align-self: flex-end;\\n margin-bottom: 6px;\\n}\\n\", \"\"]);\n// Exports\nmodule.exports = exports;\n","import * as fwx from \"../../../../framework/forms/form-export\";\nimport {\n EventLinkAnmeldungEditUtils\n} from \"./event-link-anmeldung-edit-utils\";\n\n@fwx.autoinject\nexport class EventLinkAnmeldungEditForm extends fwx.FormBase {\n constructor(\n element: Element,\n formBaseImport: fwx.FormBaseImport,\n private $f_EventLinkAnmeldungEditUtils: EventLinkAnmeldungEditUtils) {\n super(element, formBaseImport);\n this.id = \"eventLinkAnmeldungEdit\";\n this.title = \"eventLinkAnmeldungEdit.eventlinkanmeldungedit_caption\";\n this.addModel({\n \"id\": \"$m_EventLinkAnmeldung\",\n \"webApiAction\": \"ZIT/Objekte/EventLinkAnmeldung\",\n \"webApiExpand\": {\n 'Element': null\n },\n \"key\": \"variables.data.$id\",\n \"keyProperty\": \"Id\",\n \"postOnSave\": true,\n \"allowNew\": \"false\",\n \"allowDelete\": \"true\",\n \"filters\": []\n });\n this.addModel({\n \"id\": \"$m_EventAnmeldungsgruppe\",\n \"webApiAction\": \"ZIT/Stammdaten/EventAnmeldungsgruppe\",\n \"key\": \"models.data.$m_EventLinkAnmeldung.Element.IdEventAnmeldungsgruppe\",\n \"keyProperty\": \"Id\",\n \"filters\": []\n });\n this.addVariable({\n \"id\": \"$id\"\n });\n this.addFunction(\"$f_EventLinkAnmeldungEditUtils\", $f_EventLinkAnmeldungEditUtils, \"functions.$f_EventLinkAnmeldungEditUtils\");\n this.widgetCreator.addValidationGroup(this, {\n \"id\": \"wd1\",\n \"options\": {\n \"optionsName\": \"wd1Options\",\n \"optionsNameFQ\": \"wd1Options\"\n }\n });\n this.widgetCreator.addRadioGroup(this, {\n \"idSelect\": \"geschlecht\",\n \"filters\": [],\n \"caption\": \"eventLinkAnmeldungEdit.r_geschlecht_caption\",\n \"binding\": {\n \"dataContext\": \"$m_EventLinkAnmeldung\",\n \"bindTo\": \"Element.Geschlecht\",\n \"bindToFQ\": \"models.data.$m_EventLinkAnmeldung.Element.Geschlecht\",\n \"propertyPrefix\": \"Element\"\n },\n \"validationRules\": [{\n \"item\": {\n \"type\": \"required\",\n \"parameters\": []\n }\n }],\n \"id\": \"r_geschlecht\",\n \"options\": {\n \"optionsName\": \"r_geschlechtOptions\",\n \"optionsNameFQ\": \"r_geschlechtOptions\"\n }\n });\n this.widgetCreator.addTextBox(this, {\n \"maxLength\": 100,\n \"caption\": \"eventLinkAnmeldungEdit.r_vorname_caption\",\n \"binding\": {\n \"dataContext\": \"$m_EventLinkAnmeldung\",\n \"bindTo\": \"Element.Vorname\",\n \"bindToFQ\": \"models.data.$m_EventLinkAnmeldung.Element.Vorname\",\n \"propertyPrefix\": \"Element\"\n },\n \"validationRules\": [],\n \"id\": \"r_vorname\",\n \"options\": {\n \"optionsName\": \"r_vornameOptions\",\n \"optionsNameFQ\": \"r_vornameOptions\"\n }\n });\n this.widgetCreator.addTextBox(this, {\n \"maxLength\": 100,\n \"caption\": \"eventLinkAnmeldungEdit.r_nachname_caption\",\n \"binding\": {\n \"dataContext\": \"$m_EventLinkAnmeldung\",\n \"bindTo\": \"Element.Nachname\",\n \"bindToFQ\": \"models.data.$m_EventLinkAnmeldung.Element.Nachname\",\n \"propertyPrefix\": \"Element\"\n },\n \"validationRules\": [{\n \"item\": {\n \"type\": \"required\",\n \"parameters\": []\n }\n }],\n \"id\": \"r_nachname\",\n \"options\": {\n \"optionsName\": \"r_nachnameOptions\",\n \"optionsNameFQ\": \"r_nachnameOptions\"\n }\n });\n this.widgetCreator.addSelectBox(this, {\n \"idSelect\": \"landvorwahl\",\n \"filters\": [],\n \"caption\": \"eventLinkAnmeldungEdit.r_telefonlandvorwahl_caption\",\n \"binding\": {\n \"dataContext\": \"$m_EventLinkAnmeldung\",\n \"bindTo\": \"Element.TelefonLandvorwahl\",\n \"bindToFQ\": \"models.data.$m_EventLinkAnmeldung.Element.TelefonLandvorwahl\",\n \"propertyPrefix\": \"Element\"\n },\n \"validationRules\": [{\n \"item\": {\n \"type\": \"required\",\n \"parameters\": []\n }\n }],\n \"id\": \"r_telefonLandvorwahl\",\n \"options\": {\n \"optionsName\": \"r_telefonLandvorwahlOptions\",\n \"optionsNameFQ\": \"r_telefonLandvorwahlOptions\"\n }\n });\n this.widgetCreator.addTextBox(this, {\n \"maxLength\": 100,\n \"caption\": \"eventLinkAnmeldungEdit.r_telefon_caption\",\n \"binding\": {\n \"dataContext\": \"$m_EventLinkAnmeldung\",\n \"bindTo\": \"Element.Telefon\",\n \"bindToFQ\": \"models.data.$m_EventLinkAnmeldung.Element.Telefon\",\n \"propertyPrefix\": \"Element\"\n },\n \"validationRules\": [{\n \"item\": {\n \"type\": \"telefon\",\n \"parameters\": []\n }\n }, {\n \"item\": {\n \"type\": \"required\",\n \"parameters\": []\n }\n }],\n \"id\": \"r_telefon\",\n \"options\": {\n \"optionsName\": \"r_telefonOptions\",\n \"optionsNameFQ\": \"r_telefonOptions\"\n }\n });\n this.widgetCreator.addTextBox(this, {\n \"maxLength\": 100,\n \"caption\": \"eventLinkAnmeldungEdit.r_email_caption\",\n \"binding\": {\n \"dataContext\": \"$m_EventLinkAnmeldung\",\n \"bindTo\": \"Element.Email\",\n \"bindToFQ\": \"models.data.$m_EventLinkAnmeldung.Element.Email\",\n \"propertyPrefix\": \"Element\"\n },\n \"validationRules\": [{\n \"item\": {\n \"type\": \"required\",\n \"parameters\": []\n }\n }],\n \"id\": \"r_email\",\n \"options\": {\n \"optionsName\": \"r_emailOptions\",\n \"optionsNameFQ\": \"r_emailOptions\"\n }\n });\n this.widgetCreator.addSelectBox(this, {\n \"idSelect\": \"eventAnmeldungsgruppe\",\n \"filters\": [],\n \"caption\": \"eventLinkAnmeldungEdit.r_anmeldungsgruppe_caption\",\n \"binding\": {\n \"dataContext\": \"$m_EventLinkAnmeldung\",\n \"bindTo\": \"Element.IdEventAnmeldungsgruppe\",\n \"bindToFQ\": \"models.data.$m_EventLinkAnmeldung.Element.IdEventAnmeldungsgruppe\",\n \"propertyPrefix\": \"Element\"\n },\n \"validationRules\": [{\n \"item\": {\n \"type\": \"required\",\n \"parameters\": []\n }\n }],\n \"id\": \"r_anmeldungsgruppe\",\n \"options\": {\n \"optionsName\": \"r_anmeldungsgruppeOptions\",\n \"optionsNameFQ\": \"r_anmeldungsgruppeOptions\"\n }\n });\n this.widgetCreator.addNumberBox(this, {\n \"min\": 10.0,\n \"max\": 99.0,\n \"caption\": \"eventLinkAnmeldungEdit.r_alter_caption\",\n \"binding\": {\n \"dataContext\": \"$m_EventLinkAnmeldung\",\n \"bindTo\": \"Element.Alter\",\n \"bindToFQ\": \"models.data.$m_EventLinkAnmeldung.Element.Alter\",\n \"propertyPrefix\": \"Element\"\n },\n \"validationRules\": [{\n \"item\": {\n \"type\": \"required\",\n \"parameters\": []\n }\n }],\n \"id\": \"r_alter\",\n \"options\": {\n \"optionsName\": \"r_alterOptions\",\n \"optionsNameFQ\": \"r_alterOptions\"\n }\n });\n this.widgetCreator.addSelectBox(this, {\n \"idSelect\": \"ausbildung\",\n \"filters\": [],\n \"caption\": \"eventLinkAnmeldungEdit.r_ausbildung_caption\",\n \"binding\": {\n \"dataContext\": \"$m_EventLinkAnmeldung\",\n \"bindTo\": \"Element.IdAusbildung\",\n \"bindToFQ\": \"models.data.$m_EventLinkAnmeldung.Element.IdAusbildung\",\n \"propertyPrefix\": \"Element\"\n },\n \"validationRules\": [{\n \"item\": {\n \"type\": \"required\",\n \"parameters\": []\n }\n }],\n \"id\": \"r_ausbildung\",\n \"options\": {\n \"optionsName\": \"r_ausbildungOptions\",\n \"optionsNameFQ\": \"r_ausbildungOptions\"\n }\n });\n this.widgetCreator.addTextBox(this, {\n \"maxLength\": 100,\n \"caption\": \"eventLinkAnmeldungEdit.r_klasse_caption\",\n \"binding\": {\n \"dataContext\": \"$m_EventLinkAnmeldung\",\n \"bindTo\": \"Element.Klasse\",\n \"bindToFQ\": \"models.data.$m_EventLinkAnmeldung.Element.Klasse\",\n \"propertyPrefix\": \"Element\"\n },\n \"validationRules\": [],\n \"id\": \"r_klasse\",\n \"options\": {\n \"optionsName\": \"r_klasseOptions\",\n \"optionsNameFQ\": \"r_klasseOptions\"\n }\n });\n this.widgetCreator.addNumberBox(this, {\n \"min\": 1.0,\n \"max\": 999.0,\n \"caption\": \"eventLinkAnmeldungEdit.r_anzahlteilnehmer_caption\",\n \"binding\": {\n \"dataContext\": \"$m_EventLinkAnmeldung\",\n \"bindTo\": \"Element.AnzahlTeilnehmer\",\n \"bindToFQ\": \"models.data.$m_EventLinkAnmeldung.Element.AnzahlTeilnehmer\",\n \"propertyPrefix\": \"Element\"\n },\n \"validationRules\": [{\n \"item\": {\n \"type\": \"required\",\n \"parameters\": []\n }\n }],\n \"id\": \"r_anzahlTeilnehmer\",\n \"options\": {\n \"optionsName\": \"r_anzahlTeilnehmerOptions\",\n \"optionsNameFQ\": \"r_anzahlTeilnehmerOptions\"\n }\n });\n this.widgetCreator.addTextBox(this, {\n \"maxLength\": 250,\n \"caption\": \"eventLinkAnmeldungEdit.r_eventerfahrendurch_caption\",\n \"binding\": {\n \"dataContext\": \"$m_EventLinkAnmeldung\",\n \"bindTo\": \"Element.EventErfahrenDurch\",\n \"bindToFQ\": \"models.data.$m_EventLinkAnmeldung.Element.EventErfahrenDurch\",\n \"propertyPrefix\": \"Element\"\n },\n \"validationRules\": [{\n \"item\": {\n \"type\": \"required\",\n \"parameters\": []\n }\n }],\n \"id\": \"r_eventErfahrenDurch\",\n \"options\": {\n \"optionsName\": \"r_eventErfahrenDurchOptions\",\n \"optionsNameFQ\": \"r_eventErfahrenDurchOptions\"\n }\n });\n this.widgetCreator.addDateBox(this, {\n \"format\": \"d\",\n \"caption\": \"eventLinkAnmeldungEdit.r_startdatum_caption\",\n \"isReadOnly\": true,\n \"binding\": {\n \"dataContext\": \"$m_EventLinkAnmeldung\",\n \"bindTo\": \"Element.StartDatum\",\n \"bindToFQ\": \"models.data.$m_EventLinkAnmeldung.Element.StartDatum\",\n \"propertyPrefix\": \"Element\"\n },\n \"validationRules\": [],\n \"id\": \"r_startDatum\",\n \"options\": {\n \"optionsName\": \"r_startDatumOptions\",\n \"optionsNameFQ\": \"r_startDatumOptions\"\n }\n });\n this.widgetCreator.addDateBox(this, {\n \"format\": \"t\",\n \"caption\": \"eventLinkAnmeldungEdit.r_startuhrzeit_caption\",\n \"isReadOnly\": true,\n \"binding\": {\n \"dataContext\": \"$m_EventLinkAnmeldung\",\n \"bindTo\": \"Element.StartUhrzeit\",\n \"bindToFQ\": \"models.data.$m_EventLinkAnmeldung.Element.StartUhrzeit\",\n \"propertyPrefix\": \"Element\"\n },\n \"validationRules\": [],\n \"id\": \"r_startUhrzeit\",\n \"options\": {\n \"optionsName\": \"r_startUhrzeitOptions\",\n \"optionsNameFQ\": \"r_startUhrzeitOptions\"\n }\n });\n this.widgetCreator.addDateBox(this, {\n \"format\": \"d\",\n \"caption\": \"eventLinkAnmeldungEdit.r_endedatum_caption\",\n \"isReadOnly\": true,\n \"binding\": {\n \"dataContext\": \"$m_EventLinkAnmeldung\",\n \"bindTo\": \"Element.EndeDatum\",\n \"bindToFQ\": \"models.data.$m_EventLinkAnmeldung.Element.EndeDatum\",\n \"propertyPrefix\": \"Element\"\n },\n \"validationRules\": [],\n \"id\": \"r_endeDatum\",\n \"options\": {\n \"optionsName\": \"r_endeDatumOptions\",\n \"optionsNameFQ\": \"r_endeDatumOptions\"\n }\n });\n this.widgetCreator.addDateBox(this, {\n \"format\": \"t\",\n \"caption\": \"eventLinkAnmeldungEdit.r_endeuhrzeit_caption\",\n \"isReadOnly\": true,\n \"binding\": {\n \"dataContext\": \"$m_EventLinkAnmeldung\",\n \"bindTo\": \"Element.EndeUhrzeit\",\n \"bindToFQ\": \"models.data.$m_EventLinkAnmeldung.Element.EndeUhrzeit\",\n \"propertyPrefix\": \"Element\"\n },\n \"validationRules\": [],\n \"id\": \"r_endeUhrzeit\",\n \"options\": {\n \"optionsName\": \"r_endeUhrzeitOptions\",\n \"optionsNameFQ\": \"r_endeUhrzeitOptions\"\n }\n });\n super.onConstructionFinished();\n }\n}","module.exports = \"\";","import * as fwx from \"../../../../framework/forms/form-export\";\nimport {\n EventListUtils\n} from \"./event-list-utils\";\n\n@fwx.autoinject\nexport class EventListForm extends fwx.FormBase {\n constructor(\n element: Element,\n formBaseImport: fwx.FormBaseImport,\n private $f_EventListUtils: EventListUtils) {\n super(element, formBaseImport);\n this.id = \"eventList\";\n this.title = \"eventList.eventlist_caption\";\n this.addFunction(\"$f_EventListUtils\", $f_EventListUtils, \"functions.$f_EventListUtils\");\n this.widgetCreator.addValidationGroup(this, {\n \"id\": \"wd1\",\n \"options\": {\n \"optionsName\": \"wd1Options\",\n \"optionsNameFQ\": \"wd1Options\"\n }\n });\n super.onConstructionFinished();\n }\n}","module.exports = \"\";","import * as fwx from \"../../../../framework/forms/form-export\";\nimport {\n EventTeilnehmerEditUtils\n} from \"./event-teilnehmer-edit-utils\";\n\n@fwx.autoinject\nexport class EventTeilnehmerEditForm extends fwx.FormBase {\n constructor(\n element: Element,\n formBaseImport: fwx.FormBaseImport,\n private $f_EventTeilnehmerEditUtils: EventTeilnehmerEditUtils) {\n super(element, formBaseImport);\n this.id = \"event-teilnehmer-edit\";\n this.title = \"event-teilnehmer-edit.event-teilnehmer-edit_caption\";\n this.addModel({\n \"id\": \"$m_EventTeilnehmer\",\n \"webApiAction\": \"ZIT/Objekte/EventTeilnehmer\",\n \"webApiExpand\": {\n 'Kopf': {\n 'expand': {\n 'Bewerbung': null\n }\n }\n },\n \"key\": \"variables.data.$id\",\n \"keyProperty\": \"Id\",\n \"postOnSave\": true,\n \"filters\": []\n });\n this.addModel({\n \"id\": \"$m_EventZeitraum\",\n \"webApiAction\": \"ZIT/Objekte/EventZeitraum\",\n \"webApiExpand\": {\n 'Kopf': null\n },\n \"key\": \"models.data.$m_EventTeilnehmer.IdEventZeitraum\",\n \"keyProperty\": \"Id\",\n \"filters\": []\n });\n this.addModel({\n \"id\": \"$m_Event\",\n \"webApiAction\": \"ZIT/Objekte/Event\",\n \"webApiExpand\": {\n 'Kopf': null\n },\n \"modificationInfoEnabled\": true,\n \"key\": \"models.data.$m_EventTeilnehmer.IdEvent\",\n \"keyProperty\": \"Id\",\n \"filters\": []\n });\n this.addCommand({\n \"binding\": {\n \"bindTo\": \"$f_EventTeilnehmerEditUtils.actionCommand\",\n \"bindToFQ\": \"functions.$f_EventTeilnehmerEditUtils.actionCommand\"\n }\n });\n this.addCommand({\n \"binding\": {\n \"bindTo\": \"$f_EventTeilnehmerEditUtils.statusAendernPopupCommand\",\n \"bindToFQ\": \"functions.$f_EventTeilnehmerEditUtils.statusAendernPopupCommand\"\n }\n });\n this.addFunction(\"$f_EventTeilnehmerEditUtils\", $f_EventTeilnehmerEditUtils, \"functions.$f_EventTeilnehmerEditUtils\");\n this.widgetCreator.addValidationGroup(this, {\n \"id\": \"wd1\",\n \"options\": {\n \"optionsName\": \"wd1Options\",\n \"optionsNameFQ\": \"wd1Options\"\n }\n });\n this.widgetCreator.addSelectBox(this, {\n \"idSelect\": \"eventZeitraum\",\n \"filter\": [\"IdEvent\", {\n \"isBound\": true,\n \"expression\": \"models.data.$m_EventTeilnehmer.IdEvent\"\n }],\n \"filters\": [],\n \"caption\": \"event-teilnehmer-edit.r_eventzeitraum_caption\",\n \"binding\": {\n \"dataContext\": \"$m_EventTeilnehmer\",\n \"bindTo\": \"IdEventZeitraum\",\n \"bindToFQ\": \"models.data.$m_EventTeilnehmer.IdEventZeitraum\"\n },\n \"validationRules\": [],\n \"id\": \"r_eventZeitraum\",\n \"options\": {\n \"optionsName\": \"r_eventZeitraumOptions\",\n \"optionsNameFQ\": \"r_eventZeitraumOptions\"\n }\n });\n this.widgetCreator.addTextBox(this, {\n \"caption\": \"event-teilnehmer-edit.r_eventzeitraumbezeichnung_caption\",\n \"isReadOnly\": true,\n \"binding\": {\n \"dataContext\": \"$m_EventTeilnehmer\",\n \"bindTo\": \"Kopf.EventZeitraumBezeichnung\",\n \"bindToFQ\": \"models.data.$m_EventTeilnehmer.Kopf.EventZeitraumBezeichnung\",\n \"propertyPrefix\": \"Kopf\"\n },\n \"validationRules\": [],\n \"id\": \"r_eventZeitraumBezeichnung\",\n \"options\": {\n \"optionsName\": \"r_eventZeitraumBezeichnungOptions\",\n \"optionsNameFQ\": \"r_eventZeitraumBezeichnungOptions\"\n }\n });\n this.widgetCreator.addTextBox(this, {\n \"caption\": \"event-teilnehmer-edit.r_person_caption\",\n \"isReadOnly\": true,\n \"binding\": {\n \"dataContext\": \"$m_EventTeilnehmer\",\n \"bindTo\": \"Kopf.PersonName\",\n \"bindToFQ\": \"models.data.$m_EventTeilnehmer.Kopf.PersonName\",\n \"propertyPrefix\": \"Kopf\"\n },\n \"validationRules\": [],\n \"id\": \"r_person\",\n \"options\": {\n \"optionsName\": \"r_personOptions\",\n \"optionsNameFQ\": \"r_personOptions\"\n }\n });\n this.widgetCreator.addTextBox(this, {\n \"caption\": \"event-teilnehmer-edit.r_klasse_caption\",\n \"isReadOnly\": true,\n \"binding\": {\n \"dataContext\": \"$m_EventTeilnehmer\",\n \"bindTo\": \"Kopf.StelleninseratKlasseBezeichnung\",\n \"bindToFQ\": \"models.data.$m_EventTeilnehmer.Kopf.StelleninseratKlasseBezeichnung\",\n \"propertyPrefix\": \"Kopf\"\n },\n \"validationRules\": [],\n \"id\": \"r_klasse\",\n \"options\": {\n \"optionsName\": \"r_klasseOptions\",\n \"optionsNameFQ\": \"r_klasseOptions\"\n }\n });\n this.widgetCreator.addTextBox(this, {\n \"caption\": \"event-teilnehmer-edit.r_geschaeftspartner_caption\",\n \"isReadOnly\": true,\n \"binding\": {\n \"dataContext\": \"$m_EventTeilnehmer\",\n \"bindTo\": \"Kopf.GeschaeftspartnerName1\",\n \"bindToFQ\": \"models.data.$m_EventTeilnehmer.Kopf.GeschaeftspartnerName1\",\n \"propertyPrefix\": \"Kopf\"\n },\n \"validationRules\": [],\n \"id\": \"r_geschaeftspartner\",\n \"options\": {\n \"optionsName\": \"r_geschaeftspartnerOptions\",\n \"optionsNameFQ\": \"r_geschaeftspartnerOptions\"\n }\n });\n this.widgetCreator.addTextBox(this, {\n \"caption\": \"event-teilnehmer-edit.r_geschaeftspartnerschule_caption\",\n \"isReadOnly\": true,\n \"binding\": {\n \"dataContext\": \"$m_EventTeilnehmer\",\n \"bindTo\": \"Kopf.GeschaeftspartnerSchuleName1\",\n \"bindToFQ\": \"models.data.$m_EventTeilnehmer.Kopf.GeschaeftspartnerSchuleName1\",\n \"propertyPrefix\": \"Kopf\"\n },\n \"validationRules\": [],\n \"id\": \"r_geschaeftspartnerSchule\",\n \"options\": {\n \"optionsName\": \"r_geschaeftspartnerSchuleOptions\",\n \"optionsNameFQ\": \"r_geschaeftspartnerSchuleOptions\"\n }\n });\n this.widgetCreator.addTextBox(this, {\n \"caption\": \"event-teilnehmer-edit.r_stelleninserat_caption\",\n \"isReadOnly\": true,\n \"binding\": {\n \"dataContext\": \"$m_EventTeilnehmer\",\n \"bindTo\": \"Kopf.StelleninseratBezeichnung\",\n \"bindToFQ\": \"models.data.$m_EventTeilnehmer.Kopf.StelleninseratBezeichnung\",\n \"propertyPrefix\": \"Kopf\"\n },\n \"validationRules\": [],\n \"id\": \"r_stelleninserat\",\n \"options\": {\n \"optionsName\": \"r_stelleninseratOptions\",\n \"optionsNameFQ\": \"r_stelleninseratOptions\"\n }\n });\n this.widgetCreator.addDateBox(this, {\n \"format\": \"d\",\n \"caption\": \"event-teilnehmer-edit.r_startdatum_caption\",\n \"binding\": {\n \"dataContext\": \"$m_EventTeilnehmer\",\n \"bindTo\": \"Kopf.StartDatum\",\n \"bindToFQ\": \"models.data.$m_EventTeilnehmer.Kopf.StartDatum\",\n \"propertyPrefix\": \"Kopf\"\n },\n \"validationRules\": [{\n \"item\": {\n \"type\": \"required\",\n \"parameters\": []\n }\n }],\n \"onValueChanged\": \"functions.$f_EventTeilnehmerEditUtils.onStartDatumChanged\",\n \"id\": \"r_startDatum\",\n \"options\": {\n \"optionsName\": \"r_startDatumOptions\",\n \"optionsNameFQ\": \"r_startDatumOptions\"\n }\n });\n this.widgetCreator.addDateBox(this, {\n \"format\": \"t\",\n \"caption\": \"event-teilnehmer-edit.r_startuhrzeit_caption\",\n \"binding\": {\n \"dataContext\": \"$m_EventTeilnehmer\",\n \"bindTo\": \"Kopf.StartUhrzeit\",\n \"bindToFQ\": \"models.data.$m_EventTeilnehmer.Kopf.StartUhrzeit\",\n \"propertyPrefix\": \"Kopf\"\n },\n \"validationRules\": [],\n \"id\": \"r_startUhrzeit\",\n \"options\": {\n \"optionsName\": \"r_startUhrzeitOptions\",\n \"optionsNameFQ\": \"r_startUhrzeitOptions\"\n }\n });\n this.widgetCreator.addDateBox(this, {\n \"format\": \"d\",\n \"caption\": \"event-teilnehmer-edit.r_endedatum_caption\",\n \"binding\": {\n \"dataContext\": \"$m_EventTeilnehmer\",\n \"bindTo\": \"Kopf.EndeDatum\",\n \"bindToFQ\": \"models.data.$m_EventTeilnehmer.Kopf.EndeDatum\",\n \"propertyPrefix\": \"Kopf\"\n },\n \"validationRules\": [{\n \"item\": {\n \"type\": \"required\",\n \"parameters\": []\n }\n }],\n \"id\": \"r_endeDatum\",\n \"options\": {\n \"optionsName\": \"r_endeDatumOptions\",\n \"optionsNameFQ\": \"r_endeDatumOptions\"\n }\n });\n this.widgetCreator.addDateBox(this, {\n \"format\": \"t\",\n \"caption\": \"event-teilnehmer-edit.r_endeuhrzeit_caption\",\n \"binding\": {\n \"dataContext\": \"$m_EventTeilnehmer\",\n \"bindTo\": \"Kopf.EndeUhrzeit\",\n \"bindToFQ\": \"models.data.$m_EventTeilnehmer.Kopf.EndeUhrzeit\",\n \"propertyPrefix\": \"Kopf\"\n },\n \"validationRules\": [],\n \"id\": \"r_endeUhrzeit\",\n \"options\": {\n \"optionsName\": \"r_endeUhrzeitOptions\",\n \"optionsNameFQ\": \"r_endeUhrzeitOptions\"\n }\n });\n this.widgetCreator.addDateBox(this, {\n \"format\": \"t\",\n \"caption\": \"event-teilnehmer-edit.r_meldenum_caption\",\n \"binding\": {\n \"dataContext\": \"$m_EventTeilnehmer\",\n \"bindTo\": \"Kopf.MeldenUm\",\n \"bindToFQ\": \"models.data.$m_EventTeilnehmer.Kopf.MeldenUm\",\n \"propertyPrefix\": \"Kopf\"\n },\n \"validationRules\": [],\n \"id\": \"r_meldenUm\",\n \"options\": {\n \"optionsName\": \"r_meldenUmOptions\",\n \"optionsNameFQ\": \"r_meldenUmOptions\"\n }\n });\n this.widgetCreator.addTextArea(this, {\n \"height\": \"100px\",\n \"caption\": \"event-teilnehmer-edit.r_bemerkung_caption\",\n \"binding\": {\n \"dataContext\": \"$m_EventTeilnehmer\",\n \"bindTo\": \"Kopf.Bemerkung\",\n \"bindToFQ\": \"models.data.$m_EventTeilnehmer.Kopf.Bemerkung\",\n \"propertyPrefix\": \"Kopf\"\n },\n \"validationRules\": [],\n \"id\": \"r_bemerkung\",\n \"options\": {\n \"optionsName\": \"r_bemerkungOptions\",\n \"optionsNameFQ\": \"r_bemerkungOptions\"\n }\n });\n this.widgetCreator.addTextArea(this, {\n \"height\": \"100px\",\n \"caption\": \"event-teilnehmer-edit.r_bemerkunggeschaeftspartner_caption\",\n \"binding\": {\n \"dataContext\": \"$m_EventTeilnehmer\",\n \"bindTo\": \"Kopf.BemerkungGeschaeftspartner\",\n \"bindToFQ\": \"models.data.$m_EventTeilnehmer.Kopf.BemerkungGeschaeftspartner\",\n \"propertyPrefix\": \"Kopf\"\n },\n \"validationRules\": [],\n \"id\": \"r_bemerkungGeschaeftspartner\",\n \"options\": {\n \"optionsName\": \"r_bemerkungGeschaeftspartnerOptions\",\n \"optionsNameFQ\": \"r_bemerkungGeschaeftspartnerOptions\"\n }\n });\n this.widgetCreator.addTextArea(this, {\n \"height\": \"100px\",\n \"caption\": \"event-teilnehmer-edit.r_bemerkunggeschaeftspartnerschule_caption\",\n \"binding\": {\n \"dataContext\": \"$m_EventTeilnehmer\",\n \"bindTo\": \"Kopf.BemerkungGeschaeftspartnerSchule\",\n \"bindToFQ\": \"models.data.$m_EventTeilnehmer.Kopf.BemerkungGeschaeftspartnerSchule\",\n \"propertyPrefix\": \"Kopf\"\n },\n \"validationRules\": [],\n \"id\": \"r_bemerkungGeschaeftspartnerSchule\",\n \"options\": {\n \"optionsName\": \"r_bemerkungGeschaeftspartnerSchuleOptions\",\n \"optionsNameFQ\": \"r_bemerkungGeschaeftspartnerSchuleOptions\"\n }\n });\n super.onConstructionFinished();\n }\n}","module.exports = \"\";","import * as fwx from \"../../../../framework/forms/form-export\";\nimport {\n EventTeilnehmerReadUtils\n} from \"./event-teilnehmer-read-utils\";\n\n@fwx.autoinject\nexport class EventTeilnehmerReadForm extends fwx.FormBase {\n constructor(\n element: Element,\n formBaseImport: fwx.FormBaseImport,\n private $f_EventTeilnehmerReadUtils: EventTeilnehmerReadUtils) {\n super(element, formBaseImport);\n this.id = \"event-teilnehmer-read\";\n this.title = \"event-teilnehmer-read.event-teilnehmer-read_caption\";\n this.addModel({\n \"id\": \"$m_EventTeilnehmer\",\n \"webApiAction\": \"ZIT/Objekte/EventTeilnehmer\",\n \"webApiExpand\": {\n 'Kopf': null\n },\n \"key\": \"variables.data.$id\",\n \"keyProperty\": \"Id\",\n \"filters\": []\n });\n this.addCommand({\n \"binding\": {\n \"bindTo\": \"$f_EventTeilnehmerReadUtils.actionCommand\",\n \"bindToFQ\": \"functions.$f_EventTeilnehmerReadUtils.actionCommand\"\n }\n });\n this.addFunction(\"$f_EventTeilnehmerReadUtils\", $f_EventTeilnehmerReadUtils, \"functions.$f_EventTeilnehmerReadUtils\");\n this.widgetCreator.addValidationGroup(this, {\n \"id\": \"wd1\",\n \"options\": {\n \"optionsName\": \"wd1Options\",\n \"optionsNameFQ\": \"wd1Options\"\n }\n });\n super.onConstructionFinished();\n }\n}","module.exports = \"\";","import * as fwx from \"../../../../framework/forms/form-export\";\nimport {\n EventZeitraumEditUtils\n} from \"./event-zeitraum-edit-utils\";\n\n@fwx.autoinject\nexport class EventZeitraumEditForm extends fwx.FormBase {\n constructor(\n element: Element,\n formBaseImport: fwx.FormBaseImport,\n private $f_EventZeitraumEditUtils: EventZeitraumEditUtils) {\n super(element, formBaseImport);\n this.id = \"event-zeitraum-edit\";\n this.title = \"event-zeitraum-edit.event-zeitraum-edit_caption\";\n this.addModel({\n \"id\": \"$m_EventZeitraum\",\n \"webApiAction\": \"ZIT/Objekte/EventZeitraum\",\n \"webApiExpand\": {\n 'Kopf': {\n 'expand': {\n 'Stelleninserate': null\n }\n },\n 'Event': {\n 'expand': {\n 'Kopf': null\n }\n }\n },\n \"key\": \"variables.data.$id\",\n \"keyProperty\": \"Id\",\n \"postOnSave\": true,\n \"filters\": []\n });\n this.addModel({\n \"id\": \"$m_EventZeitraumKopf\",\n \"webApiAction\": \"ZIT/Objekte/EventZeitraumKopfElement\",\n \"key\": \"models.data.$m_EventZeitraum.IdEventZeitraumKopfElement\",\n \"keyProperty\": \"Id\",\n \"filters\": []\n });\n this.addModel({\n \"id\": \"$m_Event\",\n \"webApiAction\": \"ZIT/Objekte/Event\",\n \"webApiExpand\": {\n 'Kopf': null\n },\n \"modificationInfoEnabled\": true,\n \"key\": \"models.data.$m_EventZeitraum.IdEvent\",\n \"keyProperty\": \"Id\",\n \"filters\": []\n });\n this.addModel({\n \"id\": \"$m_EventTyp\",\n \"webApiAction\": \"ZIT/Stammdaten/EventTyp\",\n \"key\": \"models.data.$m_Event.Kopf.IdEventTyp\",\n \"keyProperty\": \"Id\",\n \"filters\": []\n });\n this.addModel({\n \"id\": \"$m_EventZeitraumKontingentRel\",\n \"webApiAction\": \"ZIT/Objekte/EventZeitraumKontingentElement\",\n \"keyProperty\": \"Id\",\n \"filters\": []\n });\n this.addModel({\n \"id\": \"$m_EventZeitraumKontingentEdit\",\n \"webApiAction\": \"ZIT/Objekte/EventZeitraumKontingentElement\",\n \"keyProperty\": \"Id\",\n \"filters\": []\n });\n this.addModel({\n \"id\": \"$m_EventZeitraumStelleninseratRel\",\n \"webApiAction\": \"ZIT/Objekte/EventZeitraumKopfElementZuStelleninserat\",\n \"webApiExpand\": {\n 'Stelleninserat': null\n },\n \"keyProperty\": \"Id\",\n \"filters\": []\n });\n this.addModel({\n \"id\": \"$m_EventZeitraumStelleninseratEdit\",\n \"webApiAction\": \"ZIT/Objekte/EventZeitraumKopfElementZuStelleninserat\",\n \"keyProperty\": \"Id\",\n \"filters\": []\n });\n this.addVariable({\n \"id\": \"$id\"\n });\n this.addCommand({\n \"binding\": {\n \"bindTo\": \"$f_EventZeitraumEditUtils.actionCommand\",\n \"bindToFQ\": \"functions.$f_EventZeitraumEditUtils.actionCommand\"\n }\n });\n this.addEditPopup({\n \"idContent\": \"eventZeitraumKontingentEditPopupContent\",\n \"mappings\": [{\n \"to\": \"$id\",\n \"binding\": {\n \"dataContext\": \"$m_EventZeitraumKontingentEdit\",\n \"bindTo\": \"Id\",\n \"bindToFQ\": \"models.data.$m_EventZeitraumKontingentEdit.Id\"\n }\n }],\n \"id\": \"eventZeitraumKontingentEditPopup\",\n \"options\": {\n \"optionsName\": \"eventZeitraumKontingentEditPopupOptions\",\n \"optionsNameFQ\": \"eventZeitraumKontingentEditPopupOptions\"\n },\n \"height\": \"auto\",\n \"width\": \"500px\",\n \"commands\": []\n });\n this.addEditPopup({\n \"idContent\": \"eventZeitraumStelleninseratEditPopupContent\",\n \"mappings\": [{\n \"to\": \"$id\",\n \"binding\": {\n \"dataContext\": \"$m_EventZeitraumStelleninseratEdit\",\n \"bindTo\": \"Id\",\n \"bindToFQ\": \"models.data.$m_EventZeitraumStelleninseratEdit.Id\"\n }\n }, {\n \"to\": \"$v_idEvent\",\n \"binding\": {\n \"dataContext\": \"$m_Event\",\n \"bindTo\": \"Id\",\n \"bindToFQ\": \"models.data.$m_Event.Id\"\n }\n }],\n \"id\": \"eventZeitraumStelleninseratEditPopup\",\n \"options\": {\n \"optionsName\": \"eventZeitraumStelleninseratEditPopupOptions\",\n \"optionsNameFQ\": \"eventZeitraumStelleninseratEditPopupOptions\"\n },\n \"height\": \"auto\",\n \"width\": \"540px\",\n \"commands\": []\n });\n this.addFunction(\"$f_EventZeitraumEditUtils\", $f_EventZeitraumEditUtils, \"functions.$f_EventZeitraumEditUtils\");\n this.widgetCreator.addValidationGroup(this, {\n \"id\": \"wd1\",\n \"options\": {\n \"optionsName\": \"wd1Options\",\n \"optionsNameFQ\": \"wd1Options\"\n }\n });\n this.widgetCreator.addDateBox(this, {\n \"format\": \"d\",\n \"caption\": \"event-zeitraum-edit.r_startdatum_caption\",\n \"binding\": {\n \"dataContext\": \"$m_EventZeitraum\",\n \"bindTo\": \"Kopf.StartDatum\",\n \"bindToFQ\": \"models.data.$m_EventZeitraum.Kopf.StartDatum\",\n \"propertyPrefix\": \"Kopf\"\n },\n \"validationRules\": [{\n \"item\": {\n \"type\": \"required\",\n \"parameters\": []\n }\n }],\n \"onValueChanged\": \"functions.$f_EventZeitraumEditUtils.onStartDatumChanged\",\n \"id\": \"r_startDatum\",\n \"options\": {\n \"optionsName\": \"r_startDatumOptions\",\n \"optionsNameFQ\": \"r_startDatumOptions\"\n }\n });\n this.widgetCreator.addDateBox(this, {\n \"format\": \"t\",\n \"caption\": \"event-zeitraum-edit.r_startuhrzeit_caption\",\n \"binding\": {\n \"dataContext\": \"$m_EventZeitraum\",\n \"bindTo\": \"Kopf.StartUhrzeit\",\n \"bindToFQ\": \"models.data.$m_EventZeitraum.Kopf.StartUhrzeit\",\n \"propertyPrefix\": \"Kopf\"\n },\n \"validationRules\": [{\n \"binding\": {\n \"dataContext\": \"$m_EventZeitraum\",\n \"bindTo\": \"$f_EventZeitraumEditUtils.startUhrzeitValidationRule\",\n \"bindToFQ\": \"functions.$f_EventZeitraumEditUtils.startUhrzeitValidationRule\"\n }\n }],\n \"id\": \"r_startUhrzeit\",\n \"options\": {\n \"optionsName\": \"r_startUhrzeitOptions\",\n \"optionsNameFQ\": \"r_startUhrzeitOptions\"\n }\n });\n this.widgetCreator.addDateBox(this, {\n \"format\": \"d\",\n \"caption\": \"event-zeitraum-edit.r_endedatum_caption\",\n \"binding\": {\n \"dataContext\": \"$m_EventZeitraum\",\n \"bindTo\": \"Kopf.EndeDatum\",\n \"bindToFQ\": \"models.data.$m_EventZeitraum.Kopf.EndeDatum\",\n \"propertyPrefix\": \"Kopf\"\n },\n \"validationRules\": [{\n \"binding\": {\n \"dataContext\": \"$m_EventZeitraum\",\n \"bindTo\": \"$f_EventZeitraumEditUtils.endeDatumValidationRule\",\n \"bindToFQ\": \"functions.$f_EventZeitraumEditUtils.endeDatumValidationRule\"\n }\n }, {\n \"item\": {\n \"type\": \"required\",\n \"parameters\": []\n }\n }],\n \"id\": \"r_endeDatum\",\n \"options\": {\n \"optionsName\": \"r_endeDatumOptions\",\n \"optionsNameFQ\": \"r_endeDatumOptions\"\n }\n });\n this.widgetCreator.addDateBox(this, {\n \"format\": \"t\",\n \"caption\": \"event-zeitraum-edit.r_endeuhrzeit_caption\",\n \"binding\": {\n \"dataContext\": \"$m_EventZeitraum\",\n \"bindTo\": \"Kopf.EndeUhrzeit\",\n \"bindToFQ\": \"models.data.$m_EventZeitraum.Kopf.EndeUhrzeit\",\n \"propertyPrefix\": \"Kopf\"\n },\n \"validationRules\": [{\n \"binding\": {\n \"dataContext\": \"$m_EventZeitraum\",\n \"bindTo\": \"$f_EventZeitraumEditUtils.endeUhrzeitValidationRule\",\n \"bindToFQ\": \"functions.$f_EventZeitraumEditUtils.endeUhrzeitValidationRule\"\n }\n }],\n \"id\": \"r_endeUhrzeit\",\n \"options\": {\n \"optionsName\": \"r_endeUhrzeitOptions\",\n \"optionsNameFQ\": \"r_endeUhrzeitOptions\"\n }\n });\n this.widgetCreator.addDateBox(this, {\n \"format\": \"t\",\n \"caption\": \"event-zeitraum-edit.r_meldenum_caption\",\n \"binding\": {\n \"dataContext\": \"$m_EventZeitraum\",\n \"bindTo\": \"Kopf.MeldenUm\",\n \"bindToFQ\": \"models.data.$m_EventZeitraum.Kopf.MeldenUm\",\n \"propertyPrefix\": \"Kopf\"\n },\n \"validationRules\": [],\n \"id\": \"r_meldenUm\",\n \"options\": {\n \"optionsName\": \"r_meldenUmOptions\",\n \"optionsNameFQ\": \"r_meldenUmOptions\"\n }\n });\n this.widgetCreator.addNumberBox(this, {\n \"showClearButton\": true,\n \"min\": 0.0,\n \"max\": 99999.0,\n \"format\": \"n0\",\n \"caption\": \"event-zeitraum-edit.r_kontingentgesamt_caption\",\n \"binding\": {\n \"dataContext\": \"$m_EventZeitraum\",\n \"bindTo\": \"Kopf.KontingentGesamt\",\n \"bindToFQ\": \"models.data.$m_EventZeitraum.Kopf.KontingentGesamt\",\n \"propertyPrefix\": \"Kopf\"\n },\n \"validationRules\": [{\n \"binding\": {\n \"dataContext\": \"$f_EventZeitraumEditUtils\",\n \"bindTo\": \"kontingentValidationRule\",\n \"bindToFQ\": \"functions.$f_EventZeitraumEditUtils.kontingentValidationRule\"\n }\n }],\n \"id\": \"r_kontingentGesamt\",\n \"options\": {\n \"optionsName\": \"r_kontingentGesamtOptions\",\n \"optionsNameFQ\": \"r_kontingentGesamtOptions\"\n }\n });\n this.widgetCreator.addDateBox(this, {\n \"format\": \"d\",\n \"caption\": \"event-zeitraum-edit.r_anmeldeschlussdatum_caption\",\n \"binding\": {\n \"dataContext\": \"$m_EventZeitraum\",\n \"bindTo\": \"Kopf.AnmeldeschlussDatum\",\n \"bindToFQ\": \"models.data.$m_EventZeitraum.Kopf.AnmeldeschlussDatum\",\n \"propertyPrefix\": \"Kopf\"\n },\n \"validationRules\": [{\n \"binding\": {\n \"dataContext\": \"$m_EventZeitraum\",\n \"bindTo\": \"$f_EventZeitraumEditUtils.anmeldeschlussDatumValidationRule\",\n \"bindToFQ\": \"functions.$f_EventZeitraumEditUtils.anmeldeschlussDatumValidationRule\"\n }\n }],\n \"id\": \"r_anmeldeschlussDatum\",\n \"options\": {\n \"optionsName\": \"r_anmeldeschlussDatumOptions\",\n \"optionsNameFQ\": \"r_anmeldeschlussDatumOptions\"\n }\n });\n this.widgetCreator.addDateBox(this, {\n \"format\": \"t\",\n \"caption\": \"event-zeitraum-edit.r_anmeldeschlussuhrzeit_caption\",\n \"binding\": {\n \"dataContext\": \"$m_EventZeitraum\",\n \"bindTo\": \"Kopf.AnmeldeschlussUhrzeit\",\n \"bindToFQ\": \"models.data.$m_EventZeitraum.Kopf.AnmeldeschlussUhrzeit\",\n \"propertyPrefix\": \"Kopf\"\n },\n \"validationRules\": [{\n \"binding\": {\n \"dataContext\": \"$m_EventZeitraum\",\n \"bindTo\": \"$f_EventZeitraumEditUtils.anmeldeschlussUhrzeitValidationRule\",\n \"bindToFQ\": \"functions.$f_EventZeitraumEditUtils.anmeldeschlussUhrzeitValidationRule\"\n }\n }],\n \"id\": \"r_anmeldeschlussUhrzeit\",\n \"options\": {\n \"optionsName\": \"r_anmeldeschlussUhrzeitOptions\",\n \"optionsNameFQ\": \"r_anmeldeschlussUhrzeitOptions\"\n }\n });\n this.widgetCreator.addDataGrid(this, {\n \"columns\": [{\n \"id\": \"r_kontingentGeschaeftspartnerSchule\",\n \"caption\": \"event-zeitraum-edit.r_kontingentgeschaeftspartnerschule_caption\",\n \"bindTo\": \"GeschaeftspartnerSchuleBezeichnung\"\n }, {\n \"id\": \"r_kontingentKontingent\",\n \"caption\": \"event-zeitraum-edit.r_kontingentkontingent_caption\",\n \"bindTo\": \"Kontingent\",\n \"format\": \"n0\"\n }],\n \"createToolbar\": true,\n \"optionsToolbar\": {\n \"optionsName\": \"r_eventZeitraumKontingentGridToolbarOptions\",\n \"optionsNameFQ\": \"r_eventZeitraumKontingentGridToolbarOptions\"\n },\n \"caption\": \"event-zeitraum-edit.r_eventzeitraumkontingentgrid_caption\",\n \"binding\": {\n \"dataContext\": \"$m_EventZeitraum\"\n },\n \"isRelation\": true,\n \"relationBinding\": {\n \"dataContext\": \"$m_EventZeitraumKontingentRel\",\n \"bindTo\": \"IdEventZeitraum\",\n \"bindToFQ\": \"models.data.$m_EventZeitraumKontingentRel.IdEventZeitraum\"\n },\n \"dataModel\": \"$m_EventZeitraum\",\n \"editDataContext\": \"$m_EventZeitraumKontingentEdit\",\n \"idEditPopup\": \"eventZeitraumKontingentEditPopup\",\n \"listEdits\": [],\n \"filters\": [],\n \"commands\": [],\n \"id\": \"r_eventZeitraumKontingentGrid\",\n \"options\": {\n \"optionsName\": \"r_eventZeitraumKontingentGridOptions\",\n \"optionsNameFQ\": \"r_eventZeitraumKontingentGridOptions\"\n }\n });\n this.widgetCreator.addDataGrid(this, {\n \"columns\": [{\n \"id\": \"r_stelleninserat\",\n \"caption\": \"event-zeitraum-edit.r_stelleninserat_caption\",\n \"bindTo\": \"Stelleninserat.StellenbezeichnungExtern\",\n \"onCellPrepared\": \"functions.$f_EventZeitraumEditUtils.onStelleninseratBezeichnungCellPrepared\"\n }],\n \"createToolbar\": true,\n \"optionsToolbar\": {\n \"optionsName\": \"r_eventZeitraumStelleninseratGridToolbarOptions\",\n \"optionsNameFQ\": \"r_eventZeitraumStelleninseratGridToolbarOptions\"\n },\n \"caption\": \"event-zeitraum-edit.r_eventzeitraumstelleninseratgrid_caption\",\n \"binding\": {\n \"dataContext\": \"$m_EventZeitraumKopf\"\n },\n \"isRelation\": true,\n \"relationBinding\": {\n \"dataContext\": \"$m_EventZeitraumStelleninseratRel\",\n \"bindTo\": \"IdEventZeitraumKopfElement\",\n \"bindToFQ\": \"models.data.$m_EventZeitraumStelleninseratRel.IdEventZeitraumKopfElement\"\n },\n \"dataModel\": \"$m_EventZeitraumKopf\",\n \"editDataContext\": \"$m_EventZeitraumStelleninseratEdit\",\n \"idEditPopup\": \"eventZeitraumStelleninseratEditPopup\",\n \"listEdits\": [],\n \"filters\": [],\n \"commands\": [],\n \"id\": \"r_eventZeitraumStelleninseratGrid\",\n \"options\": {\n \"optionsName\": \"r_eventZeitraumStelleninseratGridOptions\",\n \"optionsNameFQ\": \"r_eventZeitraumStelleninseratGridOptions\"\n }\n });\n this.widgetCreator.addCheckBox(this, {\n \"caption\": \"event-zeitraum-edit.r_veroeffnetlichenfiltergeschaeftspartner_caption\",\n \"binding\": {\n \"dataContext\": \"$m_EventZeitraum\",\n \"bindTo\": \"Kopf.VeroeffentlichenFilterGeschaeftspartner\",\n \"bindToFQ\": \"models.data.$m_EventZeitraum.Kopf.VeroeffentlichenFilterGeschaeftspartner\",\n \"propertyPrefix\": \"Kopf\"\n },\n \"validationRules\": [],\n \"id\": \"r_veroeffnetlichenFilterGeschaeftspartner\",\n \"options\": {\n \"optionsName\": \"r_veroeffnetlichenFilterGeschaeftspartnerOptions\",\n \"optionsNameFQ\": \"r_veroeffnetlichenFilterGeschaeftspartnerOptions\"\n }\n });\n this.widgetCreator.addTextBox(this, {\n \"maxLength\": 250,\n \"caption\": \"event-zeitraum-edit.r_betreff_caption\",\n \"binding\": {\n \"dataContext\": \"$m_EventZeitraum\",\n \"bindTo\": \"Kopf.Betreff\",\n \"bindToFQ\": \"models.data.$m_EventZeitraum.Kopf.Betreff\",\n \"propertyPrefix\": \"Kopf\"\n },\n \"validationRules\": [],\n \"id\": \"r_betreff\",\n \"options\": {\n \"optionsName\": \"r_betreffOptions\",\n \"optionsNameFQ\": \"r_betreffOptions\"\n }\n });\n this.widgetCreator.addTextBox(this, {\n \"maxLength\": 250,\n \"caption\": \"event-zeitraum-edit.r_bezeichnungintern_caption\",\n \"binding\": {\n \"dataContext\": \"$m_EventZeitraum\",\n \"bindTo\": \"Kopf.BezeichnungIntern\",\n \"bindToFQ\": \"models.data.$m_EventZeitraum.Kopf.BezeichnungIntern\",\n \"propertyPrefix\": \"Kopf\"\n },\n \"validationRules\": [],\n \"id\": \"r_bezeichnungIntern\",\n \"options\": {\n \"optionsName\": \"r_bezeichnungInternOptions\",\n \"optionsNameFQ\": \"r_bezeichnungInternOptions\"\n }\n });\n this.widgetCreator.addTextBox(this, {\n \"maxLength\": 100,\n \"caption\": \"event-zeitraum-edit.r_ort_caption\",\n \"binding\": {\n \"dataContext\": \"$m_EventZeitraum\",\n \"bindTo\": \"Kopf.Ort\",\n \"bindToFQ\": \"models.data.$m_EventZeitraum.Kopf.Ort\",\n \"propertyPrefix\": \"Kopf\"\n },\n \"validationRules\": [],\n \"id\": \"r_ort\",\n \"options\": {\n \"optionsName\": \"r_ortOptions\",\n \"optionsNameFQ\": \"r_ortOptions\"\n }\n });\n this.widgetCreator.addFileUploaderWithViewer(this, {\n \"acceptTypeEnum\": 0,\n \"acceptType\": \"image/*\",\n \"height\": \"250px\",\n \"showClearButton\": false,\n \"caption\": \"event-zeitraum-edit.r_dmslinklogo_caption\",\n \"binding\": {\n \"dataContext\": \"$m_EventZeitraum\",\n \"bindTo\": \"Kopf.DMSLinkLogo\",\n \"bindToFQ\": \"models.data.$m_EventZeitraum.Kopf.DMSLinkLogo\",\n \"propertyPrefix\": \"Kopf\"\n },\n \"validationRules\": [],\n \"id\": \"r_dMSLinkLogo\",\n \"options\": {\n \"optionsName\": \"r_dMSLinkLogoOptions\",\n \"optionsNameFQ\": \"r_dMSLinkLogoOptions\"\n }\n });\n this.widgetCreator.addNumberBox(this, {\n \"showClearButton\": true,\n \"min\": 1.0,\n \"max\": 999.0,\n \"format\": \"n0\",\n \"caption\": \"event-zeitraum-edit.r_standarddauer_caption\",\n \"binding\": {\n \"dataContext\": \"$m_EventZeitraum\",\n \"bindTo\": \"Kopf.Standarddauer\",\n \"bindToFQ\": \"models.data.$m_EventZeitraum.Kopf.Standarddauer\",\n \"propertyPrefix\": \"Kopf\"\n },\n \"validationRules\": [{\n \"binding\": {\n \"dataContext\": \"$f_EventZeitraumEditUtils\",\n \"bindTo\": \"getRequiredValidationRule('Standarddauer', 'Standarddauer')\",\n \"bindToFQ\": \"functions.$f_EventZeitraumEditUtils.getRequiredValidationRule('Standarddauer', 'Standarddauer')\"\n }\n }],\n \"id\": \"r_standardDauer\",\n \"options\": {\n \"optionsName\": \"r_standardDauerOptions\",\n \"optionsNameFQ\": \"r_standardDauerOptions\"\n }\n });\n this.widgetCreator.addNumberBox(this, {\n \"showClearButton\": true,\n \"min\": 1.0,\n \"max\": 999.0,\n \"format\": \"n0\",\n \"caption\": \"event-zeitraum-edit.r_minimaldauer_caption\",\n \"binding\": {\n \"dataContext\": \"$m_EventZeitraum\",\n \"bindTo\": \"Kopf.Mindestdauer\",\n \"bindToFQ\": \"models.data.$m_EventZeitraum.Kopf.Mindestdauer\",\n \"propertyPrefix\": \"Kopf\"\n },\n \"validationRules\": [{\n \"binding\": {\n \"dataContext\": \"$f_EventZeitraumEditUtils\",\n \"bindTo\": \"getRequiredValidationRule('Mindestdauer', 'Mindestdauer')\",\n \"bindToFQ\": \"functions.$f_EventZeitraumEditUtils.getRequiredValidationRule('Mindestdauer', 'Mindestdauer')\"\n }\n }],\n \"id\": \"r_minimalDauer\",\n \"options\": {\n \"optionsName\": \"r_minimalDauerOptions\",\n \"optionsNameFQ\": \"r_minimalDauerOptions\"\n }\n });\n this.widgetCreator.addNumberBox(this, {\n \"showClearButton\": true,\n \"min\": 1.0,\n \"max\": 999.0,\n \"format\": \"n0\",\n \"caption\": \"event-zeitraum-edit.r_maximaldauer_caption\",\n \"binding\": {\n \"dataContext\": \"$m_EventZeitraum\",\n \"bindTo\": \"Kopf.Maximaldauer\",\n \"bindToFQ\": \"models.data.$m_EventZeitraum.Kopf.Maximaldauer\",\n \"propertyPrefix\": \"Kopf\"\n },\n \"validationRules\": [{\n \"binding\": {\n \"dataContext\": \"$f_EventZeitraumEditUtils\",\n \"bindTo\": \"getRequiredValidationRule('Maximaldauer', 'Maximaldauer')\",\n \"bindToFQ\": \"functions.$f_EventZeitraumEditUtils.getRequiredValidationRule('Maximaldauer', 'Maximaldauer')\"\n }\n }],\n \"id\": \"r_maximalDauer\",\n \"options\": {\n \"optionsName\": \"r_maximalDauerOptions\",\n \"optionsNameFQ\": \"r_maximalDauerOptions\"\n }\n });\n super.onConstructionFinished();\n }\n}","module.exports = \"\";","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.id, \".event-zeitraum__veroeffentlichung-typ-filter-btn {\\n align-self: flex-end;\\n margin-bottom: 6px;\\n}\\n.event-zeitraum__infotext {\\n font-weight: bold;\\n}\\n\", \"\"]);\n// Exports\nmodule.exports = exports;\n","import * as fwx from \"../../../../framework/forms/form-export\";\n\n@fwx.autoinject\nexport class EventZeitraumKontingentEditForm extends fwx.FormBase {\n constructor(\n element: Element,\n formBaseImport: fwx.FormBaseImport) {\n super(element, formBaseImport);\n this.id = \"event-zeitraum-kontingent-edit\";\n this.title = \"event-zeitraum-kontingent-edit.event-zeitraum-kontingent-edit_caption\";\n this.addModel({\n \"id\": \"$m_EventZeitraumKontingent\",\n \"webApiAction\": \"ZIT/Objekte/EventZeitraumKontingentElement\",\n \"key\": \"variables.data.$id\",\n \"keyProperty\": \"Id\",\n \"postOnSave\": true,\n \"filters\": []\n });\n this.addVariable({\n \"id\": \"$id\"\n });\n this.widgetCreator.addValidationGroup(this, {\n \"id\": \"wd1\",\n \"options\": {\n \"optionsName\": \"wd1Options\",\n \"optionsNameFQ\": \"wd1Options\"\n }\n });\n this.widgetCreator.addSelectBox(this, {\n \"idSelect\": \"geschaeftspartnerSimple\",\n \"filter\": [\"IsGeschaeftspartnerSchule\", true],\n \"filters\": [],\n \"caption\": \"event-zeitraum-kontingent-edit.r_geschaeftspartnerschule_caption\",\n \"binding\": {\n \"dataContext\": \"$m_EventZeitraumKontingent\",\n \"bindTo\": \"IdGeschaeftspartnerSchule\",\n \"bindToFQ\": \"models.data.$m_EventZeitraumKontingent.IdGeschaeftspartnerSchule\"\n },\n \"validationRules\": [{\n \"item\": {\n \"type\": \"required\",\n \"parameters\": []\n }\n }],\n \"id\": \"r_geschaeftspartnerSchule\",\n \"options\": {\n \"optionsName\": \"r_geschaeftspartnerSchuleOptions\",\n \"optionsNameFQ\": \"r_geschaeftspartnerSchuleOptions\"\n }\n });\n this.widgetCreator.addNumberBox(this, {\n \"min\": 0.0,\n \"max\": 99999.0,\n \"format\": \"n0\",\n \"caption\": \"event-zeitraum-kontingent-edit.r_kontingent_caption\",\n \"binding\": {\n \"dataContext\": \"$m_EventZeitraumKontingent\",\n \"bindTo\": \"Kontingent\",\n \"bindToFQ\": \"models.data.$m_EventZeitraumKontingent.Kontingent\"\n },\n \"validationRules\": [{\n \"item\": {\n \"type\": \"required\",\n \"parameters\": []\n }\n }],\n \"id\": \"r_kontingent\",\n \"options\": {\n \"optionsName\": \"r_kontingentOptions\",\n \"optionsNameFQ\": \"r_kontingentOptions\"\n }\n });\n super.onConstructionFinished();\n }\n}","module.exports = \"\";","import * as fwx from \"../../../../framework/forms/form-export\";\nimport {\n EventZeitraumReadUtils\n} from \"./event-zeitraum-read-utils\";\n\n@fwx.autoinject\nexport class EventZeitraumReadForm extends fwx.FormBase {\n constructor(\n element: Element,\n formBaseImport: fwx.FormBaseImport,\n private $f_EventZeitraumReadUtils: EventZeitraumReadUtils) {\n super(element, formBaseImport);\n this.id = \"event-zeitraum-read\";\n this.title = \"event-zeitraum-read.event-zeitraum-read_caption\";\n this.addModel({\n \"id\": \"$m_EventZeitraum\",\n \"webApiAction\": \"ZIT/Objekte/EventZeitraum\",\n \"webApiExpand\": {\n 'Kopf': {\n 'expand': {\n 'Stelleninserate': null\n }\n },\n 'Event': {\n 'expand': {\n 'Kopf': null\n }\n }\n },\n \"key\": \"variables.data.$id\",\n \"keyProperty\": \"Id\",\n \"filters\": [{\n \"webApiCustomKey\": \"CheckIsTeilnehmer\",\n \"webApiCustomValue\": \"true\"\n }, {\n \"webApiCustomKey\": \"AddEventData\",\n \"webApiCustomValue\": \"true\"\n }, {\n \"webApiCustomKey\": \"AddHasDokumente\",\n \"webApiCustomValue\": \"true\"\n }]\n });\n this.addCommand({\n \"binding\": {\n \"bindTo\": \"$f_EventZeitraumReadUtils.actionCommand\",\n \"bindToFQ\": \"functions.$f_EventZeitraumReadUtils.actionCommand\"\n }\n });\n this.addFunction(\"$f_EventZeitraumReadUtils\", $f_EventZeitraumReadUtils, \"functions.$f_EventZeitraumReadUtils\");\n this.widgetCreator.addValidationGroup(this, {\n \"id\": \"wd1\",\n \"options\": {\n \"optionsName\": \"wd1Options\",\n \"optionsNameFQ\": \"wd1Options\"\n }\n });\n super.onConstructionFinished();\n }\n}","module.exports = \"\";","import * as fwx from \"../../../../framework/forms/form-export\";\n\n@fwx.autoinject\nexport class EventZeitraumStelleninseratEditForm extends fwx.FormBase {\n constructor(\n element: Element,\n formBaseImport: fwx.FormBaseImport) {\n super(element, formBaseImport);\n this.id = \"event-zeitraum-stelleninserat-edit\";\n this.title = \"event-zeitraum-stelleninserat-edit.event-zeitraum-stelleninserat-edit_caption\";\n this.addModel({\n \"id\": \"$m_EventZeitraumStelleninserat\",\n \"webApiAction\": \"ZIT/Objekte/EventZeitraumKopfElementZuStelleninserat\",\n \"key\": \"variables.data.$id\",\n \"keyProperty\": \"Id\",\n \"postOnSave\": true,\n \"filters\": []\n });\n this.addVariable({\n \"id\": \"$id\"\n });\n this.addVariable({\n \"id\": \"$v_idEvent\"\n });\n this.widgetCreator.addValidationGroup(this, {\n \"id\": \"wd1\",\n \"options\": {\n \"optionsName\": \"wd1Options\",\n \"optionsNameFQ\": \"wd1Options\"\n }\n });\n this.widgetCreator.addLookup(this, {\n \"idSelect\": \"stelleninserat\",\n \"filters\": [{\n \"webApiCustomKey\": \"IdEvent\",\n \"webApiCustomValue\": \"variables.data.$v_idEvent\"\n }, {\n \"webApiCustomKey\": \"IdEvent\",\n \"webApiCustomValue\": \"variables.data.$v_idEvent\"\n }],\n \"caption\": \"event-zeitraum-stelleninserat-edit.r_stelleninserat_caption\",\n \"binding\": {\n \"dataContext\": \"$m_EventZeitraumStelleninserat\",\n \"bindTo\": \"IdStelleninserat\",\n \"bindToFQ\": \"models.data.$m_EventZeitraumStelleninserat.IdStelleninserat\"\n },\n \"validationRules\": [{\n \"item\": {\n \"type\": \"required\",\n \"parameters\": []\n }\n }],\n \"id\": \"r_stelleninserat\",\n \"options\": {\n \"optionsName\": \"r_stelleninseratOptions\",\n \"optionsNameFQ\": \"r_stelleninseratOptions\"\n }\n });\n super.onConstructionFinished();\n }\n}","module.exports = \"\";","import * as fwx from \"../../../../framework/forms/form-export\";\nimport {\n GeschaeftspartnerAdresseEditUtils\n} from \"./geschaeftspartner-adresse-edit-utils\";\n\n@fwx.autoinject\nexport class GeschaeftspartnerAdresseEditForm extends fwx.FormBase {\n constructor(\n element: Element,\n formBaseImport: fwx.FormBaseImport,\n private $f_Adresse: GeschaeftspartnerAdresseEditUtils) {\n super(element, formBaseImport);\n this.id = \"geschaeftspartner-adresse-edit\";\n this.title = \"geschaeftspartner-adresse-edit.geschaeftspartner-adresse-edit_caption\";\n this.addModel({\n \"id\": \"$m_GeschaeftspartnerAdresse\",\n \"webApiAction\": \"ZIT/Objekte/GeschaeftspartnerAdresse\",\n \"key\": \"variables.data.$id\",\n \"keyProperty\": \"Id\",\n \"postOnSave\": true,\n \"filters\": []\n });\n this.addFunction(\"$f_Adresse\", $f_Adresse, \"functions.$f_Adresse\");\n this.widgetCreator.addValidationGroup(this, {\n \"id\": \"wd1\",\n \"options\": {\n \"optionsName\": \"wd1Options\",\n \"optionsNameFQ\": \"wd1Options\"\n }\n });\n this.widgetCreator.addTextBox(this, {\n \"maxLength\": 100,\n \"caption\": \"geschaeftspartner-adresse-edit.r_geschaeftspartneradressestrasse_caption\",\n \"binding\": {\n \"dataContext\": \"$m_GeschaeftspartnerAdresse\",\n \"bindTo\": \"Strasse\",\n \"bindToFQ\": \"models.data.$m_GeschaeftspartnerAdresse.Strasse\"\n },\n \"validationRules\": [{\n \"item\": {\n \"type\": \"required\",\n \"parameters\": []\n }\n }],\n \"id\": \"r_geschaeftspartnerAdresseStrasse\",\n \"options\": {\n \"optionsName\": \"r_geschaeftspartnerAdresseStrasseOptions\",\n \"optionsNameFQ\": \"r_geschaeftspartnerAdresseStrasseOptions\"\n }\n });\n this.widgetCreator.addTextBox(this, {\n \"maxLength\": 100,\n \"caption\": \"geschaeftspartner-adresse-edit.r_geschaeftspartneradressestrassezusatz_caption\",\n \"binding\": {\n \"dataContext\": \"$m_GeschaeftspartnerAdresse\",\n \"bindTo\": \"StrasseZusatz\",\n \"bindToFQ\": \"models.data.$m_GeschaeftspartnerAdresse.StrasseZusatz\"\n },\n \"validationRules\": [],\n \"id\": \"r_geschaeftspartnerAdresseStrasseZusatz\",\n \"options\": {\n \"optionsName\": \"r_geschaeftspartnerAdresseStrasseZusatzOptions\",\n \"optionsNameFQ\": \"r_geschaeftspartnerAdresseStrasseZusatzOptions\"\n }\n });\n this.widgetCreator.addSelectBox(this, {\n \"idSelect\": \"staat\",\n \"filters\": [],\n \"caption\": \"geschaeftspartner-adresse-edit.r_geschaeftspartneradresseland_caption\",\n \"binding\": {\n \"dataContext\": \"$m_GeschaeftspartnerAdresse\",\n \"bindTo\": \"IdLand\",\n \"bindToFQ\": \"models.data.$m_GeschaeftspartnerAdresse.IdLand\"\n },\n \"validationRules\": [{\n \"item\": {\n \"type\": \"required\",\n \"parameters\": []\n }\n }],\n \"id\": \"r_geschaeftspartnerAdresseLand\",\n \"options\": {\n \"optionsName\": \"r_geschaeftspartnerAdresseLandOptions\",\n \"optionsNameFQ\": \"r_geschaeftspartnerAdresseLandOptions\"\n }\n });\n this.widgetCreator.addTextBox(this, {\n \"maxLength\": 20,\n \"caption\": \"geschaeftspartner-adresse-edit.r_geschaeftspartneradresseplz_caption\",\n \"binding\": {\n \"dataContext\": \"$m_GeschaeftspartnerAdresse\",\n \"bindTo\": \"Postleitzahl\",\n \"bindToFQ\": \"models.data.$m_GeschaeftspartnerAdresse.Postleitzahl\"\n },\n \"validationRules\": [{\n \"item\": {\n \"type\": \"required\",\n \"parameters\": []\n }\n }],\n \"onValueChanged\": \"functions.$f_Adresse.onPLZChanged\",\n \"id\": \"r_geschaeftspartnerAdressePlz\",\n \"options\": {\n \"optionsName\": \"r_geschaeftspartnerAdressePlzOptions\",\n \"optionsNameFQ\": \"r_geschaeftspartnerAdressePlzOptions\"\n }\n });\n this.widgetCreator.addTextBox(this, {\n \"maxLength\": 100,\n \"caption\": \"geschaeftspartner-adresse-edit.r_geschaeftspartneradresseort_caption\",\n \"binding\": {\n \"dataContext\": \"$m_GeschaeftspartnerAdresse\",\n \"bindTo\": \"Ort\",\n \"bindToFQ\": \"models.data.$m_GeschaeftspartnerAdresse.Ort\"\n },\n \"validationRules\": [{\n \"item\": {\n \"type\": \"required\",\n \"parameters\": []\n }\n }],\n \"id\": \"r_geschaeftspartnerAdresseOrt\",\n \"options\": {\n \"optionsName\": \"r_geschaeftspartnerAdresseOrtOptions\",\n \"optionsNameFQ\": \"r_geschaeftspartnerAdresseOrtOptions\"\n }\n });\n this.widgetCreator.addSelectBox(this, {\n \"idSelect\": \"adresstyp\",\n \"customs\": [{\n \"key\": \"objektTyp\",\n \"value\": \"'TIP.ZIT.Business.Entities.Objekte.Geschaeftspartner.Geschaeftspartner'\"\n }],\n \"filters\": [],\n \"caption\": \"geschaeftspartner-adresse-edit.r_geschaeftspartneradressetyp_caption\",\n \"binding\": {\n \"dataContext\": \"$m_GeschaeftspartnerAdresse\",\n \"bindTo\": \"IdAdresstyp\",\n \"bindToFQ\": \"models.data.$m_GeschaeftspartnerAdresse.IdAdresstyp\"\n },\n \"validationRules\": [{\n \"item\": {\n \"type\": \"required\",\n \"parameters\": []\n }\n }],\n \"id\": \"r_geschaeftspartnerAdresseTyp\",\n \"options\": {\n \"optionsName\": \"r_geschaeftspartnerAdresseTypOptions\",\n \"optionsNameFQ\": \"r_geschaeftspartnerAdresseTypOptions\"\n }\n });\n this.widgetCreator.addDateBox(this, {\n \"format\": \"d\",\n \"caption\": \"geschaeftspartner-adresse-edit.r_geschaeftspartneradressegueltigvon_caption\",\n \"binding\": {\n \"dataContext\": \"$m_GeschaeftspartnerAdresse\",\n \"bindTo\": \"GueltigVon\",\n \"bindToFQ\": \"models.data.$m_GeschaeftspartnerAdresse.GueltigVon\"\n },\n \"validationRules\": [{\n \"item\": {\n \"type\": \"required\",\n \"parameters\": []\n }\n }],\n \"id\": \"r_geschaeftspartnerAdresseGueltigVon\",\n \"options\": {\n \"optionsName\": \"r_geschaeftspartnerAdresseGueltigVonOptions\",\n \"optionsNameFQ\": \"r_geschaeftspartnerAdresseGueltigVonOptions\"\n }\n });\n this.widgetCreator.addDateBox(this, {\n \"format\": \"d\",\n \"caption\": \"geschaeftspartner-adresse-edit.r_geschaeftspartneradressegueltigbis_caption\",\n \"binding\": {\n \"dataContext\": \"$m_GeschaeftspartnerAdresse\",\n \"bindTo\": \"GueltigBis\",\n \"bindToFQ\": \"models.data.$m_GeschaeftspartnerAdresse.GueltigBis\"\n },\n \"validationRules\": [{\n \"item\": {\n \"type\": \"required\",\n \"parameters\": []\n }\n }],\n \"id\": \"r_geschaeftspartnerAdresseGueltigBis\",\n \"options\": {\n \"optionsName\": \"r_geschaeftspartnerAdresseGueltigBisOptions\",\n \"optionsNameFQ\": \"r_geschaeftspartnerAdresseGueltigBisOptions\"\n }\n });\n super.onConstructionFinished();\n }\n}","module.exports = \"\";","import * as fwx from \"../../../../framework/forms/form-export\";\n\n@fwx.autoinject\nexport class GeschaeftspartnerBankverbindungEditForm extends fwx.FormBase {\n constructor(\n element: Element,\n formBaseImport: fwx.FormBaseImport) {\n super(element, formBaseImport);\n this.id = \"geschaeftspartner-bankverbindung-edit\";\n this.title = \"geschaeftspartner-bankverbindung-edit.geschaeftspartner-bankverbindung-edit_caption\";\n this.addModel({\n \"id\": \"$m_Bankverbindung\",\n \"webApiAction\": \"ZIT/Objekte/GeschaeftspartnerBankverbindung\",\n \"key\": \"variables.data.$id\",\n \"keyProperty\": \"Id\",\n \"postOnSave\": true,\n \"filters\": []\n });\n this.widgetCreator.addValidationGroup(this, {\n \"id\": \"wd1\",\n \"options\": {\n \"optionsName\": \"wd1Options\",\n \"optionsNameFQ\": \"wd1Options\"\n }\n });\n this.widgetCreator.addTextBox(this, {\n \"maxLength\": 50,\n \"mask\": \"aaaa aaaa aaaa aaaa aaaa aaaa aaaa aaaa\",\n \"maskChar\": \" \",\n \"caption\": \"geschaeftspartner-bankverbindung-edit.r_iban_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Bankverbindung\",\n \"bindTo\": \"IBAN\",\n \"bindToFQ\": \"models.data.$m_Bankverbindung.IBAN\"\n },\n \"validationRules\": [{\n \"item\": {\n \"type\": \"required\",\n \"parameters\": []\n }\n }],\n \"id\": \"r_IBAN\",\n \"options\": {\n \"optionsName\": \"r_IBANOptions\",\n \"optionsNameFQ\": \"r_IBANOptions\"\n }\n });\n this.widgetCreator.addTextBox(this, {\n \"maxLength\": 50,\n \"caption\": \"geschaeftspartner-bankverbindung-edit.r_bic_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Bankverbindung\",\n \"bindTo\": \"BIC\",\n \"bindToFQ\": \"models.data.$m_Bankverbindung.BIC\"\n },\n \"validationRules\": [{\n \"item\": {\n \"type\": \"bic\",\n \"parameters\": []\n }\n }],\n \"id\": \"r_BIC\",\n \"options\": {\n \"optionsName\": \"r_BICOptions\",\n \"optionsNameFQ\": \"r_BICOptions\"\n }\n });\n this.widgetCreator.addSelectBox(this, {\n \"idSelect\": \"waehrung\",\n \"filters\": [],\n \"caption\": \"geschaeftspartner-bankverbindung-edit.r_waehrung_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Bankverbindung\",\n \"bindTo\": \"IdWaehrung\",\n \"bindToFQ\": \"models.data.$m_Bankverbindung.IdWaehrung\"\n },\n \"validationRules\": [],\n \"id\": \"r_waehrung\",\n \"options\": {\n \"optionsName\": \"r_waehrungOptions\",\n \"optionsNameFQ\": \"r_waehrungOptions\"\n }\n });\n this.widgetCreator.addTextBox(this, {\n \"maxLength\": 100,\n \"caption\": \"geschaeftspartner-bankverbindung-edit.r_bankinstitut_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Bankverbindung\",\n \"bindTo\": \"Bankinstitut\",\n \"bindToFQ\": \"models.data.$m_Bankverbindung.Bankinstitut\"\n },\n \"validationRules\": [],\n \"id\": \"r_bankinstitut\",\n \"options\": {\n \"optionsName\": \"r_bankinstitutOptions\",\n \"optionsNameFQ\": \"r_bankinstitutOptions\"\n }\n });\n this.widgetCreator.addTextBox(this, {\n \"maxLength\": 50,\n \"caption\": \"geschaeftspartner-bankverbindung-edit.r_eigentuemer_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Bankverbindung\",\n \"bindTo\": \"Eigentuemer\",\n \"bindToFQ\": \"models.data.$m_Bankverbindung.Eigentuemer\"\n },\n \"validationRules\": [],\n \"id\": \"r_eigentuemer\",\n \"options\": {\n \"optionsName\": \"r_eigentuemerOptions\",\n \"optionsNameFQ\": \"r_eigentuemerOptions\"\n }\n });\n this.widgetCreator.addDateBox(this, {\n \"format\": \"d\",\n \"caption\": \"geschaeftspartner-bankverbindung-edit.r_gueltigvon_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Bankverbindung\",\n \"bindTo\": \"GueltigVon\",\n \"bindToFQ\": \"models.data.$m_Bankverbindung.GueltigVon\"\n },\n \"validationRules\": [{\n \"item\": {\n \"type\": \"required\",\n \"parameters\": []\n }\n }],\n \"id\": \"r_gueltigVon\",\n \"options\": {\n \"optionsName\": \"r_gueltigVonOptions\",\n \"optionsNameFQ\": \"r_gueltigVonOptions\"\n }\n });\n this.widgetCreator.addDateBox(this, {\n \"format\": \"d\",\n \"caption\": \"geschaeftspartner-bankverbindung-edit.r_gueltigbis_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Bankverbindung\",\n \"bindTo\": \"GueltigBis\",\n \"bindToFQ\": \"models.data.$m_Bankverbindung.GueltigBis\"\n },\n \"validationRules\": [{\n \"item\": {\n \"type\": \"required\",\n \"parameters\": []\n }\n }],\n \"id\": \"r_gueltigBis\",\n \"options\": {\n \"optionsName\": \"r_gueltigBisOptions\",\n \"optionsNameFQ\": \"r_gueltigBisOptions\"\n }\n });\n super.onConstructionFinished();\n }\n}","module.exports = \"\";","import * as fwx from \"../../../../framework/forms/form-export\";\n\n@fwx.autoinject\nexport class GeschaeftspartnerDokumentEditForm extends fwx.FormBase {\n constructor(\n element: Element,\n formBaseImport: fwx.FormBaseImport) {\n super(element, formBaseImport);\n this.id = \"geschaeftspartner-dokument-edit\";\n this.title = \"geschaeftspartner-dokument-edit.geschaeftspartner-dokument-edit_caption\";\n this.addModel({\n \"id\": \"$m_Dokument\",\n \"webApiAction\": \"ZIT/Objekte/GeschaeftspartnerdatenElementZuDokumentHintergrundAttachment\",\n \"key\": \"variables.data.$id\",\n \"keyProperty\": \"Id\",\n \"postOnSave\": true,\n \"filters\": []\n });\n this.widgetCreator.addValidationGroup(this, {\n \"id\": \"wd1\",\n \"options\": {\n \"optionsName\": \"wd1Options\",\n \"optionsNameFQ\": \"wd1Options\"\n }\n });\n this.widgetCreator.addSelectBox(this, {\n \"idSelect\": \"dokumentHintergrundAttachment\",\n \"filter\": [\"AllowZuteilungImGeschaeftspartner\", \"true\"],\n \"filters\": [],\n \"caption\": \"geschaeftspartner-dokument-edit.r_dokument_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Dokument\",\n \"bindTo\": \"IdDokumentHintergrundAttachment\",\n \"bindToFQ\": \"models.data.$m_Dokument.IdDokumentHintergrundAttachment\"\n },\n \"validationRules\": [{\n \"item\": {\n \"type\": \"required\",\n \"parameters\": []\n }\n }],\n \"id\": \"r_dokument\",\n \"options\": {\n \"optionsName\": \"r_dokumentOptions\",\n \"optionsNameFQ\": \"r_dokumentOptions\"\n }\n });\n super.onConstructionFinished();\n }\n}","module.exports = \"\";","import * as fwx from \"../../../../framework/forms/form-export\";\nimport {\n GeschaeftspartnerEditUtils\n} from \"./geschaeftspartner-edit-utils\";\n\n@fwx.autoinject\nexport class GeschaeftspartnerEditForm extends fwx.FormBase {\n constructor(\n element: Element,\n formBaseImport: fwx.FormBaseImport,\n private $f_GeschaeftspartnerEditUtils: GeschaeftspartnerEditUtils) {\n super(element, formBaseImport);\n this.id = \"geschaeftspartner-edit\";\n this.title = \"geschaeftspartner-edit.geschaeftspartner-edit_caption\";\n this.addModel({\n \"id\": \"$m_Geschaeftspartner\",\n \"webApiAction\": \"ZIT/Objekte/Geschaeftspartner\",\n \"webApiExpand\": {\n 'Geschaeftspartnerdaten': {\n 'expand': {\n 'Geschaeftspartnertypen': null,\n 'DsDatenschutz': null\n }\n }\n },\n \"modificationInfoEnabled\": true,\n \"key\": \"variables.data.$id\",\n \"keyProperty\": \"Id\",\n \"postOnSave\": true,\n \"filters\": [{\n \"webApiCustomKey\": \"addCustomSubHeadline\",\n \"webApiCustomValue\": \"true\"\n }, {\n \"webApiCustomKey\": \"SonstigeKontaktdatenVisible\",\n \"webApiCustomValue\": \"true\"\n }]\n });\n this.addModel({\n \"id\": \"$m_GeschaeftspartnerdatenElement\",\n \"webApiAction\": \"ZIT/Objekte/GeschaeftspartnerGeschaeftspartnerdatenElement\",\n \"key\": \"models.data.$m_Geschaeftspartner.IdGeschaeftspartnerGeschaeftspartnerdatenElement\",\n \"keyProperty\": \"Id\",\n \"filters\": []\n });\n this.addModel({\n \"id\": \"$m_Geschaeftspartnertyp\",\n \"webApiAction\": \"ZIT/Stammdaten/Geschaeftspartnertyp\",\n \"keyProperty\": \"Id\",\n \"filters\": []\n });\n this.addModel({\n \"id\": \"$m_AdresseElement\",\n \"webApiAction\": \"ZIT/Objekte/GeschaeftspartnerAdresseElement\",\n \"key\": \"models.data.$m_Geschaeftspartner.IdGeschaeftspartnerAdresseElement\",\n \"keyProperty\": \"Id\",\n \"filters\": []\n });\n this.addModel({\n \"id\": \"$m_GeschaeftspartnerAdresseRel\",\n \"webApiAction\": \"ZIT/Objekte/GeschaeftspartnerAdresse\",\n \"webApiExpand\": {\n 'Adresstyp': null,\n 'Land': null\n },\n \"keyProperty\": \"Id\",\n \"filters\": []\n });\n this.addModel({\n \"id\": \"$m_GeschaeftspartnerAdresseEdit\",\n \"webApiAction\": \"ZIT/Objekte/GeschaeftspartnerAdresse\",\n \"keyProperty\": \"Id\",\n \"filters\": []\n });\n this.addModel({\n \"id\": \"$m_KontaktElement\",\n \"webApiAction\": \"ZIT/Objekte/GeschaeftspartnerKontaktElement\",\n \"key\": \"models.data.$m_Geschaeftspartner.IdGeschaeftspartnerKontaktElement\",\n \"keyProperty\": \"Id\",\n \"filters\": []\n });\n this.addModel({\n \"id\": \"$m_GeschaeftspartnerKontaktRel\",\n \"webApiAction\": \"ZIT/Objekte/GeschaeftspartnerKontakt\",\n \"webApiExpand\": {\n Kontakttyp: null\n },\n \"keyProperty\": \"Id\",\n \"filters\": []\n });\n this.addModel({\n \"id\": \"$m_GeschaeftspartnerKontaktEdit\",\n \"webApiAction\": \"ZIT/Objekte/GeschaeftspartnerKontakt\",\n \"keyProperty\": \"Id\",\n \"filters\": []\n });\n this.addModel({\n \"id\": \"$m_BankverbindungElement\",\n \"webApiAction\": \"ZIT/Objekte/GeschaeftspartnerBankverbindungElement\",\n \"key\": \"models.data.$m_Geschaeftspartner.IdGeschaeftspartnerBankverbindungElement\",\n \"keyProperty\": \"Id\",\n \"filters\": []\n });\n this.addModel({\n \"id\": \"$m_GeschaeftspartnerBankverbindungRel\",\n \"webApiAction\": \"ZIT/Objekte/GeschaeftspartnerBankverbindung\",\n \"webApiExpand\": {\n Waehrung: null\n },\n \"keyProperty\": \"Id\",\n \"filters\": []\n });\n this.addModel({\n \"id\": \"$m_GeschaeftspartnerBankverbindungEdit\",\n \"webApiAction\": \"ZIT/Objekte/GeschaeftspartnerBankverbindung\",\n \"keyProperty\": \"Id\",\n \"filters\": []\n });\n this.addModel({\n \"id\": \"$m_PackageElement\",\n \"webApiAction\": \"ZIT/Objekte/GeschaeftspartnerPackageElement\",\n \"key\": \"models.data.$m_Geschaeftspartner.IdGeschaeftspartnerPackageElement\",\n \"keyProperty\": \"Id\",\n \"allowNew\": \"functions.$f_GeschaeftspartnerEditUtils.canEditPackage\",\n \"allowSave\": \"functions.$f_GeschaeftspartnerEditUtils.canEditPackage\",\n \"allowDelete\": \"functions.$f_GeschaeftspartnerEditUtils.canEditPackage\",\n \"filters\": []\n });\n this.addModel({\n \"id\": \"$m_GeschaeftspartnerPackageRel\",\n \"webApiAction\": \"ZIT/Objekte/GeschaeftspartnerPackage\",\n \"webApiColumns\": [\"Id\", \"IdPackage\", \"Bezeichnung\", \"GueltigBis\", \"GueltigVon\"],\n \"webApiOrderBy\": [{\n \"columnName\": \"GueltigBis\",\n \"sortOrder\": 1\n }, {\n \"columnName\": \"Bezeichnung\",\n \"sortOrder\": 0\n }],\n \"keyProperty\": \"Id\",\n \"allowNew\": \"functions.$f_GeschaeftspartnerEditUtils.canEditPackage\",\n \"allowSave\": \"functions.$f_GeschaeftspartnerEditUtils.canEditPackage\",\n \"allowDelete\": \"functions.$f_GeschaeftspartnerEditUtils.canEditPackage\",\n \"filters\": []\n });\n this.addModel({\n \"id\": \"$m_GeschaeftspartnerPackageEdit\",\n \"webApiAction\": \"ZIT/Objekte/GeschaeftspartnerPackage\",\n \"keyProperty\": \"Id\",\n \"allowNew\": \"functions.$f_GeschaeftspartnerEditUtils.canEditPackage\",\n \"allowSave\": \"functions.$f_GeschaeftspartnerEditUtils.canEditPackage\",\n \"allowDelete\": \"functions.$f_GeschaeftspartnerEditUtils.canEditPackage\",\n \"filters\": []\n });\n this.addModel({\n \"id\": \"$m_AnsprechpersonZuGeschaeftspartnerEdit\",\n \"webApiAction\": \"ZIT/Objekte/AnsprechpersonZuGeschaeftspartner\",\n \"keyProperty\": \"Id\",\n \"filters\": []\n });\n this.addModel({\n \"id\": \"$m_AnsprechpersonZuGeschaeftspartnerRel\",\n \"webApiAction\": \"ZIT/Objekte/AnsprechpersonZuGeschaeftspartner\",\n \"webApiExpand\": {},\n \"webApiWhere\": [\n [\"Geschaeftspartner.Id\", {\n \"isBound\": true,\n \"expression\": \"models.data.$m_Geschaeftspartner.Id\"\n }], \"and\", [\"Ansprechperson.IsInaktiv\", false], \"and\", [\"Ansprechperson.Personendaten.ImGeschaeftspartnerAusblenden\", false]\n ],\n \"keyProperty\": \"Id\",\n \"filters\": [{\n \"webApiCustomKey\": \"onlyGueltig\",\n \"webApiCustomValue\": \"true\"\n }]\n });\n this.addModel({\n \"id\": \"$m_GeschaeftspartnerProfilFirma\",\n \"webApiAction\": \"ZIT/Objekte/ProfilFirma\",\n \"webApiWhere\": [\"Profil.IdGeschaeftspartner\", {\n \"isBound\": true,\n \"expression\": \"models.data.$m_Geschaeftspartner.Id\"\n }],\n \"modificationInfoEnabled\": true,\n \"keyProperty\": \"Id\",\n \"filters\": [{\n \"webApiCustomKey\": \"AddProfilFirmaCard\",\n \"webApiCustomValue\": \"true\"\n }]\n });\n this.addModel({\n \"id\": \"$m_GeschaeftspartnerZuDokumentEdit\",\n \"webApiAction\": \"ZIT/Objekte/GeschaeftspartnerdatenElementZuDokumentHintergrundAttachment\",\n \"keyProperty\": \"Id\",\n \"filters\": []\n });\n this.addModel({\n \"id\": \"$m_GeschaeftspartnerZuDokumentRel\",\n \"webApiAction\": \"ZIT/Objekte/GeschaeftspartnerdatenElementZuDokumentHintergrundAttachment\",\n \"webApiWhere\": [\n [\"IdGeschaeftspartnerGeschaeftspartnerdatenElement\", {\n \"isBound\": true,\n \"expression\": \"models.data.$m_Geschaeftspartner.IdGeschaeftspartnerGeschaeftspartnerdatenElement\"\n }]\n ],\n \"keyProperty\": \"Id\",\n \"filters\": []\n });\n this.addCommand({\n \"binding\": {\n \"bindTo\": \"$f_GeschaeftspartnerEditUtils.actionCommand\",\n \"bindToFQ\": \"functions.$f_GeschaeftspartnerEditUtils.actionCommand\"\n }\n });\n this.addCommand({\n \"binding\": {\n \"bindTo\": \"$f_GeschaeftspartnerEditUtils.geschaeftspartnerErweiterteOptionenCommand\",\n \"bindToFQ\": \"functions.$f_GeschaeftspartnerEditUtils.geschaeftspartnerErweiterteOptionenCommand\"\n }\n });\n this.addEditPopup({\n \"idContent\": \"geschaeftspartnerAdresseEditPopupContent\",\n \"mappings\": [{\n \"to\": \"$id\",\n \"binding\": {\n \"dataContext\": \"$m_GeschaeftspartnerAdresseEdit\",\n \"bindTo\": \"Id\",\n \"bindToFQ\": \"models.data.$m_GeschaeftspartnerAdresseEdit.Id\"\n }\n }],\n \"id\": \"geschaeftspartnerAdresseEditPopup\",\n \"options\": {\n \"optionsName\": \"geschaeftspartnerAdresseEditPopupOptions\",\n \"optionsNameFQ\": \"geschaeftspartnerAdresseEditPopupOptions\"\n },\n \"height\": \"auto\",\n \"width\": \"540px\",\n \"commands\": []\n });\n this.addEditPopup({\n \"idContent\": \"geschaeftspartnerDokumentEditPopupContent\",\n \"mappings\": [{\n \"to\": \"$id\",\n \"binding\": {\n \"dataContext\": \"$m_GeschaeftspartnerZuDokumentEdit\",\n \"bindTo\": \"Id\",\n \"bindToFQ\": \"models.data.$m_GeschaeftspartnerZuDokumentEdit.Id\"\n }\n }],\n \"id\": \"geschaeftspartnerDokumentEditPopup\",\n \"options\": {\n \"optionsName\": \"geschaeftspartnerDokumentEditPopupOptions\",\n \"optionsNameFQ\": \"geschaeftspartnerDokumentEditPopupOptions\"\n },\n \"height\": \"auto\",\n \"width\": \"540px\",\n \"commands\": []\n });\n this.addEditPopup({\n \"idContent\": \"geschaeftspartnerBankverbindungEditPopupContent\",\n \"mappings\": [{\n \"to\": \"$id\",\n \"binding\": {\n \"dataContext\": \"$m_GeschaeftspartnerBankverbindungEdit\",\n \"bindTo\": \"Id\",\n \"bindToFQ\": \"models.data.$m_GeschaeftspartnerBankverbindungEdit.Id\"\n }\n }],\n \"id\": \"geschaeftspartnerBankverbindungEditPopup\",\n \"options\": {\n \"optionsName\": \"geschaeftspartnerBankverbindungEditPopupOptions\",\n \"optionsNameFQ\": \"geschaeftspartnerBankverbindungEditPopupOptions\"\n },\n \"height\": \"auto\",\n \"width\": \"500px\",\n \"commands\": []\n });\n this.addEditPopup({\n \"idContent\": \"geschaeftspartnerKontaktdatenEditPopupContent\",\n \"mappings\": [{\n \"to\": \"$id\",\n \"binding\": {\n \"dataContext\": \"$m_GeschaeftspartnerKontaktEdit\",\n \"bindTo\": \"Id\",\n \"bindToFQ\": \"models.data.$m_GeschaeftspartnerKontaktEdit.Id\"\n }\n }],\n \"id\": \"geschaeftspartnerKontaktdatenEditPopup\",\n \"options\": {\n \"optionsName\": \"geschaeftspartnerKontaktdatenEditPopupOptions\",\n \"optionsNameFQ\": \"geschaeftspartnerKontaktdatenEditPopupOptions\"\n },\n \"height\": \"300px\",\n \"width\": \"500px\",\n \"commands\": []\n });\n this.addEditPopup({\n \"idContent\": \"geschaeftspartnerPackageEditPopupContent\",\n \"mappings\": [{\n \"to\": \"$id\",\n \"binding\": {\n \"dataContext\": \"$m_GeschaeftspartnerPackageEdit\",\n \"bindTo\": \"Id\",\n \"bindToFQ\": \"models.data.$m_GeschaeftspartnerPackageEdit.Id\"\n }\n }],\n \"id\": \"geschaeftspartnerPackageEditPopup\",\n \"options\": {\n \"optionsName\": \"geschaeftspartnerPackageEditPopupOptions\",\n \"optionsNameFQ\": \"geschaeftspartnerPackageEditPopupOptions\"\n },\n \"height\": \"auto\",\n \"width\": \"500px\",\n \"commands\": []\n });\n this.addFunction(\"$f_GeschaeftspartnerEditUtils\", $f_GeschaeftspartnerEditUtils, \"functions.$f_GeschaeftspartnerEditUtils\");\n this.widgetCreator.addValidationGroup(this, {\n \"id\": \"wd1\",\n \"options\": {\n \"optionsName\": \"wd1Options\",\n \"optionsNameFQ\": \"wd1Options\"\n }\n });\n this.widgetCreator.addTextBox(this, {\n \"maxLength\": 200,\n \"caption\": \"geschaeftspartner-edit.r_name1_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Geschaeftspartner\",\n \"bindTo\": \"Geschaeftspartnerdaten.Name1\",\n \"bindToFQ\": \"models.data.$m_Geschaeftspartner.Geschaeftspartnerdaten.Name1\",\n \"propertyPrefix\": \"Geschaeftspartnerdaten\"\n },\n \"validationRules\": [{\n \"item\": {\n \"type\": \"required\",\n \"parameters\": []\n }\n }],\n \"id\": \"r_name1\",\n \"options\": {\n \"optionsName\": \"r_name1Options\",\n \"optionsNameFQ\": \"r_name1Options\"\n }\n });\n this.widgetCreator.addTextBox(this, {\n \"maxLength\": 200,\n \"caption\": \"geschaeftspartner-edit.r_name2_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Geschaeftspartner\",\n \"bindTo\": \"Geschaeftspartnerdaten.Name2\",\n \"bindToFQ\": \"models.data.$m_Geschaeftspartner.Geschaeftspartnerdaten.Name2\",\n \"propertyPrefix\": \"Geschaeftspartnerdaten\"\n },\n \"validationRules\": [],\n \"id\": \"r_name2\",\n \"options\": {\n \"optionsName\": \"r_name2Options\",\n \"optionsNameFQ\": \"r_name2Options\"\n }\n });\n this.widgetCreator.addTagBox(this, {\n \"caption\": \"geschaeftspartner-edit.r_geschaeftspartnertyp_caption\",\n \"dataContext\": \"$m_Geschaeftspartner\",\n \"relationBinding\": {\n \"dataContext\": \"$m_Geschaeftspartner\",\n \"bindTo\": \"Geschaeftspartnerdaten.Geschaeftspartnertypen\",\n \"bindToFQ\": \"models.data.$m_Geschaeftspartner.Geschaeftspartnerdaten.Geschaeftspartnertypen\",\n \"propertyPrefix\": \"Geschaeftspartnerdaten\"\n },\n \"relationProperty\": \"IdGeschaeftspartnertyp\",\n \"itemDataContext\": \"$m_Geschaeftspartnertyp\",\n \"itemValueExpr\": \"Id\",\n \"itemDisplayExpr\": \"Bezeichnung\",\n \"binding\": {\n \"dataContext\": \"$m_Geschaeftspartner\"\n },\n \"validationRules\": [],\n \"id\": \"r_geschaeftspartnertyp\",\n \"options\": {\n \"optionsName\": \"r_geschaeftspartnertypOptions\",\n \"optionsNameFQ\": \"r_geschaeftspartnertypOptions\"\n }\n });\n this.widgetCreator.addTextBox(this, {\n \"maxLength\": 20,\n \"caption\": \"geschaeftspartner-edit.r_uidnummer_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Geschaeftspartner\",\n \"bindTo\": \"Geschaeftspartnerdaten.UidNummer\",\n \"bindToFQ\": \"models.data.$m_Geschaeftspartner.Geschaeftspartnerdaten.UidNummer\",\n \"propertyPrefix\": \"Geschaeftspartnerdaten\"\n },\n \"validationRules\": [],\n \"id\": \"r_uidNummer\",\n \"options\": {\n \"optionsName\": \"r_uidNummerOptions\",\n \"optionsNameFQ\": \"r_uidNummerOptions\"\n }\n });\n this.widgetCreator.addTextBox(this, {\n \"maxLength\": 100,\n \"caption\": \"geschaeftspartner-edit.r_email_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Geschaeftspartner\",\n \"bindTo\": \"Geschaeftspartnerdaten.Email\",\n \"bindToFQ\": \"models.data.$m_Geschaeftspartner.Geschaeftspartnerdaten.Email\",\n \"propertyPrefix\": \"Geschaeftspartnerdaten\"\n },\n \"validationRules\": [],\n \"id\": \"r_email\",\n \"options\": {\n \"optionsName\": \"r_emailOptions\",\n \"optionsNameFQ\": \"r_emailOptions\"\n }\n });\n this.widgetCreator.addSelectBox(this, {\n \"idSelect\": \"landvorwahl\",\n \"filters\": [],\n \"caption\": \"geschaeftspartner-edit.r_telefonlandvorwahl_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Geschaeftspartner\",\n \"bindTo\": \"Geschaeftspartnerdaten.TelefonLandvorwahl\",\n \"bindToFQ\": \"models.data.$m_Geschaeftspartner.Geschaeftspartnerdaten.TelefonLandvorwahl\",\n \"propertyPrefix\": \"Geschaeftspartnerdaten\"\n },\n \"validationRules\": [{\n \"item\": {\n \"type\": \"conditionalRequired\",\n \"parameters\": [{\n \"name\": \"condition\",\n \"value\": \"models.data.$m_Geschaeftspartner.Geschaeftspartnerdaten && models.data.$m_Geschaeftspartner.Geschaeftspartnerdaten.Telefon\"\n }]\n }\n }],\n \"id\": \"r_telefonLandvorwahl\",\n \"options\": {\n \"optionsName\": \"r_telefonLandvorwahlOptions\",\n \"optionsNameFQ\": \"r_telefonLandvorwahlOptions\"\n }\n });\n this.widgetCreator.addTextBox(this, {\n \"maxLength\": 100,\n \"caption\": \"geschaeftspartner-edit.r_telefon_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Geschaeftspartner\",\n \"bindTo\": \"Geschaeftspartnerdaten.Telefon\",\n \"bindToFQ\": \"models.data.$m_Geschaeftspartner.Geschaeftspartnerdaten.Telefon\",\n \"propertyPrefix\": \"Geschaeftspartnerdaten\"\n },\n \"validationRules\": [{\n \"item\": {\n \"type\": \"telefon\",\n \"parameters\": []\n }\n }],\n \"id\": \"r_telefon\",\n \"options\": {\n \"optionsName\": \"r_telefonOptions\",\n \"optionsNameFQ\": \"r_telefonOptions\"\n }\n });\n this.widgetCreator.addTextBox(this, {\n \"maxLength\": 500,\n \"caption\": \"geschaeftspartner-edit.r_url_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Geschaeftspartner\",\n \"bindTo\": \"Geschaeftspartnerdaten.Url\",\n \"bindToFQ\": \"models.data.$m_Geschaeftspartner.Geschaeftspartnerdaten.Url\",\n \"propertyPrefix\": \"Geschaeftspartnerdaten\"\n },\n \"validationRules\": [],\n \"id\": \"r_url\",\n \"options\": {\n \"optionsName\": \"r_urlOptions\",\n \"optionsNameFQ\": \"r_urlOptions\"\n }\n });\n this.widgetCreator.addCheckBox(this, {\n \"caption\": \"geschaeftspartner-edit.r_geschaeftspartnerschule_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Geschaeftspartner\",\n \"bindTo\": \"Geschaeftspartnerdaten.IsGeschaeftspartnerSchule\",\n \"bindToFQ\": \"models.data.$m_Geschaeftspartner.Geschaeftspartnerdaten.IsGeschaeftspartnerSchule\",\n \"propertyPrefix\": \"Geschaeftspartnerdaten\"\n },\n \"validationRules\": [],\n \"id\": \"r_geschaeftspartnerSchule\",\n \"options\": {\n \"optionsName\": \"r_geschaeftspartnerSchuleOptions\",\n \"optionsNameFQ\": \"r_geschaeftspartnerSchuleOptions\"\n }\n });\n this.widgetCreator.addCheckBox(this, {\n \"caption\": \"geschaeftspartner-edit.r_schnupperterminmaske_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Geschaeftspartner\",\n \"bindTo\": \"Geschaeftspartnerdaten.HideInSchnupperterminMaske\",\n \"bindToFQ\": \"models.data.$m_Geschaeftspartner.Geschaeftspartnerdaten.HideInSchnupperterminMaske\",\n \"propertyPrefix\": \"Geschaeftspartnerdaten\"\n },\n \"validationRules\": [],\n \"id\": \"r_schnupperterminMaske\",\n \"options\": {\n \"optionsName\": \"r_schnupperterminMaskeOptions\",\n \"optionsNameFQ\": \"r_schnupperterminMaskeOptions\"\n }\n });\n this.widgetCreator.addCheckBox(this, {\n \"caption\": \"geschaeftspartner-edit.r_schnupperterminenichtersetzen_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Geschaeftspartner\",\n \"bindTo\": \"Geschaeftspartnerdaten.SchnuppertermineNichtErsetzen\",\n \"bindToFQ\": \"models.data.$m_Geschaeftspartner.Geschaeftspartnerdaten.SchnuppertermineNichtErsetzen\",\n \"propertyPrefix\": \"Geschaeftspartnerdaten\"\n },\n \"validationRules\": [],\n \"id\": \"r_schnuppertermineNichtErsetzen\",\n \"options\": {\n \"optionsName\": \"r_schnuppertermineNichtErsetzenOptions\",\n \"optionsNameFQ\": \"r_schnuppertermineNichtErsetzenOptions\"\n }\n });\n this.widgetCreator.addFileUploaderWithViewer(this, {\n \"acceptTypeEnum\": 0,\n \"acceptType\": \"image/*\",\n \"height\": \"250px\",\n \"showToolbar\": true,\n \"showClearButton\": false,\n \"caption\": \"geschaeftspartner-edit.r_dmslinklogo_caption\",\n \"placeholder\": \"geschaeftspartner-edit.r_dmslinklogo_placeholder\",\n \"binding\": {\n \"dataContext\": \"$m_Geschaeftspartner\",\n \"bindTo\": \"Geschaeftspartnerdaten.DMSLinkLogo\",\n \"bindToFQ\": \"models.data.$m_Geschaeftspartner.Geschaeftspartnerdaten.DMSLinkLogo\",\n \"propertyPrefix\": \"Geschaeftspartnerdaten\"\n },\n \"validationRules\": [],\n \"id\": \"r_dmsLinkLogo\",\n \"options\": {\n \"optionsName\": \"r_dmsLinkLogoOptions\",\n \"optionsNameFQ\": \"r_dmsLinkLogoOptions\"\n }\n });\n this.widgetCreator.addListView(this, {\n \"itemClass\": \"z--list-view-inline-item\",\n \"useDefaultListItemStyle\": false,\n \"optionsToolbar\": {\n \"optionsName\": \"r_geschaeftspartnerAdresseListViewToolbarOptions\",\n \"optionsNameFQ\": \"r_geschaeftspartnerAdresseListViewToolbarOptions\"\n },\n \"binding\": {\n \"dataContext\": \"$m_AdresseElement\"\n },\n \"isRelation\": true,\n \"relationBinding\": {\n \"dataContext\": \"$m_GeschaeftspartnerAdresseRel\",\n \"bindTo\": \"IdGeschaeftspartnerAdresseElement\",\n \"bindToFQ\": \"models.data.$m_GeschaeftspartnerAdresseRel.IdGeschaeftspartnerAdresseElement\"\n },\n \"dataModel\": \"$m_AdresseElement\",\n \"editDataContext\": \"$m_GeschaeftspartnerAdresseEdit\",\n \"idEditPopup\": \"geschaeftspartnerAdresseEditPopup\",\n \"listEdits\": [],\n \"filters\": [],\n \"commands\": [],\n \"id\": \"r_geschaeftspartnerAdresseListView\",\n \"options\": {\n \"optionsName\": \"r_geschaeftspartnerAdresseListViewOptions\",\n \"optionsNameFQ\": \"r_geschaeftspartnerAdresseListViewOptions\"\n }\n });\n this.widgetCreator.addListView(this, {\n \"itemClass\": \"z--list-view-inline-item\",\n \"useDefaultListItemStyle\": false,\n \"optionsToolbar\": {\n \"optionsName\": \"r_geschaeftspartnerDokumentListViewToolbarOptions\",\n \"optionsNameFQ\": \"r_geschaeftspartnerDokumentListViewToolbarOptions\"\n },\n \"binding\": {\n \"dataContext\": \"$m_GeschaeftspartnerdatenElement\"\n },\n \"isRelation\": true,\n \"relationBinding\": {\n \"dataContext\": \"$m_GeschaeftspartnerZuDokumentRel\",\n \"bindTo\": \"IdGeschaeftspartnerGeschaeftspartnerdatenElement\",\n \"bindToFQ\": \"models.data.$m_GeschaeftspartnerZuDokumentRel.IdGeschaeftspartnerGeschaeftspartnerdatenElement\"\n },\n \"dataModel\": \"$m_GeschaeftspartnerdatenElement\",\n \"editDataContext\": \"$m_GeschaeftspartnerZuDokumentEdit\",\n \"idEditPopup\": \"geschaeftspartnerDokumentEditPopup\",\n \"listEdits\": [],\n \"filters\": [],\n \"commands\": [],\n \"id\": \"r_geschaeftspartnerDokumentListView\",\n \"options\": {\n \"optionsName\": \"r_geschaeftspartnerDokumentListViewOptions\",\n \"optionsNameFQ\": \"r_geschaeftspartnerDokumentListViewOptions\"\n }\n });\n this.widgetCreator.addListView(this, {\n \"itemClass\": \"z--list-view-inline-item\",\n \"useDefaultListItemStyle\": false,\n \"optionsToolbar\": {\n \"optionsName\": \"r_geschaeftspartnerBankverbindungListViewToolbarOptions\",\n \"optionsNameFQ\": \"r_geschaeftspartnerBankverbindungListViewToolbarOptions\"\n },\n \"binding\": {\n \"dataContext\": \"$m_BankverbindungElement\"\n },\n \"isRelation\": true,\n \"relationBinding\": {\n \"dataContext\": \"$m_GeschaeftspartnerBankverbindungRel\",\n \"bindTo\": \"IdGeschaeftspartnerBankverbindungElement\",\n \"bindToFQ\": \"models.data.$m_GeschaeftspartnerBankverbindungRel.IdGeschaeftspartnerBankverbindungElement\"\n },\n \"dataModel\": \"$m_BankverbindungElement\",\n \"editDataContext\": \"$m_GeschaeftspartnerBankverbindungEdit\",\n \"idEditPopup\": \"geschaeftspartnerBankverbindungEditPopup\",\n \"listEdits\": [],\n \"filters\": [],\n \"commands\": [],\n \"id\": \"r_geschaeftspartnerBankverbindungListView\",\n \"options\": {\n \"optionsName\": \"r_geschaeftspartnerBankverbindungListViewOptions\",\n \"optionsNameFQ\": \"r_geschaeftspartnerBankverbindungListViewOptions\"\n }\n });\n this.widgetCreator.addListView(this, {\n \"itemClass\": \"z--list-view-inline-item\",\n \"useDefaultListItemStyle\": false,\n \"optionsToolbar\": {\n \"optionsName\": \"r_geschaeftspartnerKontaktdatenListViewToolbarOptions\",\n \"optionsNameFQ\": \"r_geschaeftspartnerKontaktdatenListViewToolbarOptions\"\n },\n \"binding\": {\n \"dataContext\": \"$m_KontaktElement\"\n },\n \"isRelation\": true,\n \"relationBinding\": {\n \"dataContext\": \"$m_GeschaeftspartnerKontaktRel\",\n \"bindTo\": \"IdGeschaeftspartnerKontaktElement\",\n \"bindToFQ\": \"models.data.$m_GeschaeftspartnerKontaktRel.IdGeschaeftspartnerKontaktElement\"\n },\n \"dataModel\": \"$m_KontaktElement\",\n \"editDataContext\": \"$m_GeschaeftspartnerKontaktEdit\",\n \"idEditPopup\": \"geschaeftspartnerKontaktdatenEditPopup\",\n \"listEdits\": [],\n \"filters\": [],\n \"commands\": [],\n \"id\": \"r_geschaeftspartnerKontaktdatenListView\",\n \"options\": {\n \"optionsName\": \"r_geschaeftspartnerKontaktdatenListViewOptions\",\n \"optionsNameFQ\": \"r_geschaeftspartnerKontaktdatenListViewOptions\"\n }\n });\n this.widgetCreator.addListView(this, {\n \"itemClass\": \"z--list-view-inline-item\",\n \"useDefaultListItemStyle\": false,\n \"optionsToolbar\": {\n \"optionsName\": \"r_geschaeftspartnerAnsprechpersonListViewToolbarOptions\",\n \"optionsNameFQ\": \"r_geschaeftspartnerAnsprechpersonListViewToolbarOptions\"\n },\n \"binding\": {\n \"dataContext\": \"$m_Geschaeftspartner\"\n },\n \"isRelation\": true,\n \"relationBinding\": {\n \"dataContext\": \"$m_AnsprechpersonZuGeschaeftspartnerRel\",\n \"bindTo\": \"IdGeschaeftspartner\",\n \"bindToFQ\": \"models.data.$m_AnsprechpersonZuGeschaeftspartnerRel.IdGeschaeftspartner\"\n },\n \"dataModel\": \"$m_Geschaeftspartner\",\n \"editDataContext\": \"$m_AnsprechpersonZuGeschaeftspartnerEdit\",\n \"listEdits\": [],\n \"filters\": [],\n \"commands\": [],\n \"id\": \"r_geschaeftspartnerAnsprechpersonListView\",\n \"options\": {\n \"optionsName\": \"r_geschaeftspartnerAnsprechpersonListViewOptions\",\n \"optionsNameFQ\": \"r_geschaeftspartnerAnsprechpersonListViewOptions\"\n }\n });\n this.widgetCreator.addListView(this, {\n \"itemClass\": \"z--list-view-inline-item\",\n \"useDefaultListItemStyle\": false,\n \"optionsToolbar\": {\n \"optionsName\": \"r_geschaeftspartnerPackageListViewToolbarOptions\",\n \"optionsNameFQ\": \"r_geschaeftspartnerPackageListViewToolbarOptions\"\n },\n \"binding\": {\n \"dataContext\": \"$m_PackageElement\"\n },\n \"isRelation\": true,\n \"relationBinding\": {\n \"dataContext\": \"$m_GeschaeftspartnerPackageRel\",\n \"bindTo\": \"IdGeschaeftspartnerPackageElement\",\n \"bindToFQ\": \"models.data.$m_GeschaeftspartnerPackageRel.IdGeschaeftspartnerPackageElement\"\n },\n \"dataModel\": \"$m_PackageElement\",\n \"editDataContext\": \"$m_GeschaeftspartnerPackageEdit\",\n \"idEditPopup\": \"geschaeftspartnerPackageEditPopup\",\n \"listEdits\": [],\n \"filters\": [],\n \"commands\": [],\n \"id\": \"r_geschaeftspartnerPackageListView\",\n \"options\": {\n \"optionsName\": \"r_geschaeftspartnerPackageListViewOptions\",\n \"optionsNameFQ\": \"r_geschaeftspartnerPackageListViewOptions\"\n }\n });\n this.widgetCreator.addTextBox(this, {\n \"maxLength\": 250,\n \"caption\": \"geschaeftspartner-edit.r_keyunternehmenparameter_caption\",\n \"isReadOnlyExpression\": \"!functions.$f_GeschaeftspartnerEditUtils.isAdmin\",\n \"binding\": {\n \"dataContext\": \"$m_Geschaeftspartner\",\n \"bindTo\": \"Geschaeftspartnerdaten.KeyUnternehmenParameter\",\n \"bindToFQ\": \"models.data.$m_Geschaeftspartner.Geschaeftspartnerdaten.KeyUnternehmenParameter\",\n \"propertyPrefix\": \"Geschaeftspartnerdaten\"\n },\n \"validationRules\": [],\n \"id\": \"r_keyUnternehmenParameter\",\n \"options\": {\n \"optionsName\": \"r_keyUnternehmenParameterOptions\",\n \"optionsNameFQ\": \"r_keyUnternehmenParameterOptions\"\n }\n });\n this.widgetCreator.addCheckBox(this, {\n \"caption\": \"geschaeftspartner-edit.r_messagingnichtanbieten_caption\",\n \"isReadOnlyExpression\": \"!functions.$f_GeschaeftspartnerEditUtils.isAdmin\",\n \"binding\": {\n \"dataContext\": \"$m_Geschaeftspartner\",\n \"bindTo\": \"Geschaeftspartnerdaten.MessagingDienstNichtAnbieten\",\n \"bindToFQ\": \"models.data.$m_Geschaeftspartner.Geschaeftspartnerdaten.MessagingDienstNichtAnbieten\",\n \"propertyPrefix\": \"Geschaeftspartnerdaten\"\n },\n \"validationRules\": [],\n \"id\": \"r_messagingNichtAnbieten\",\n \"options\": {\n \"optionsName\": \"r_messagingNichtAnbietenOptions\",\n \"optionsNameFQ\": \"r_messagingNichtAnbietenOptions\"\n }\n });\n this.widgetCreator.addTextBox(this, {\n \"maxLength\": 250,\n \"caption\": \"geschaeftspartner-edit.r_dsdatenschutzurl_caption\",\n \"isReadOnlyExpression\": \"!functions.$f_GeschaeftspartnerEditUtils.isAdmin\",\n \"binding\": {\n \"dataContext\": \"$m_Geschaeftspartner\",\n \"bindTo\": \"Geschaeftspartnerdaten.DsDatenschutz.Url\",\n \"bindToFQ\": \"models.data.$m_Geschaeftspartner.Geschaeftspartnerdaten.DsDatenschutz.Url\",\n \"propertyPrefix\": \"Geschaeftspartnerdaten.DsDatenschutz\"\n },\n \"validationRules\": [],\n \"id\": \"r_dsDatenschutzUrl\",\n \"options\": {\n \"optionsName\": \"r_dsDatenschutzUrlOptions\",\n \"optionsNameFQ\": \"r_dsDatenschutzUrlOptions\"\n }\n });\n this.widgetCreator.addDateBox(this, {\n \"format\": \"g\",\n \"caption\": \"geschaeftspartner-edit.r_dsdatenschutzversion_caption\",\n \"isReadOnlyExpression\": \"!functions.$f_GeschaeftspartnerEditUtils.isAdmin\",\n \"binding\": {\n \"dataContext\": \"$m_Geschaeftspartner\",\n \"bindTo\": \"Geschaeftspartnerdaten.DsDatenschutz.VersionDatum\",\n \"bindToFQ\": \"models.data.$m_Geschaeftspartner.Geschaeftspartnerdaten.DsDatenschutz.VersionDatum\",\n \"propertyPrefix\": \"Geschaeftspartnerdaten.DsDatenschutz\"\n },\n \"validationRules\": [],\n \"id\": \"r_dsDatenschutzVersion\",\n \"options\": {\n \"optionsName\": \"r_dsDatenschutzVersionOptions\",\n \"optionsNameFQ\": \"r_dsDatenschutzVersionOptions\"\n }\n });\n this.widgetCreator.addColorBox(this, {\n \"editAlphaChannel\": false,\n \"caption\": \"geschaeftspartner-edit.r_iframeformularhintergrundfarbe_caption\",\n \"isReadOnlyExpression\": \"!functions.$f_GeschaeftspartnerEditUtils.isAdmin\",\n \"binding\": {\n \"dataContext\": \"$m_Geschaeftspartner\",\n \"bindTo\": \"Geschaeftspartnerdaten.IFrameFormularHintergrundFarbe\",\n \"bindToFQ\": \"models.data.$m_Geschaeftspartner.Geschaeftspartnerdaten.IFrameFormularHintergrundFarbe\",\n \"propertyPrefix\": \"Geschaeftspartnerdaten\"\n },\n \"validationRules\": [],\n \"id\": \"r_iFrameFormularHintergrundFarbe\",\n \"options\": {\n \"optionsName\": \"r_iFrameFormularHintergrundFarbeOptions\",\n \"optionsNameFQ\": \"r_iFrameFormularHintergrundFarbeOptions\"\n }\n });\n this.widgetCreator.addTextBox(this, {\n \"caption\": \"geschaeftspartner-edit.r_iframelabelschriftart_caption\",\n \"isReadOnlyExpression\": \"!functions.$f_GeschaeftspartnerEditUtils.isAdmin\",\n \"binding\": {\n \"dataContext\": \"$m_Geschaeftspartner\",\n \"bindTo\": \"Geschaeftspartnerdaten.IFrameLabelSchriftart\",\n \"bindToFQ\": \"models.data.$m_Geschaeftspartner.Geschaeftspartnerdaten.IFrameLabelSchriftart\",\n \"propertyPrefix\": \"Geschaeftspartnerdaten\"\n },\n \"validationRules\": [],\n \"id\": \"r_iFrameLabelSchriftart\",\n \"options\": {\n \"optionsName\": \"r_iFrameLabelSchriftartOptions\",\n \"optionsNameFQ\": \"r_iFrameLabelSchriftartOptions\"\n }\n });\n this.widgetCreator.addNumberBox(this, {\n \"showClearButton\": true,\n \"caption\": \"geschaeftspartner-edit.r_iframelabelschriftgroesse_caption\",\n \"isReadOnlyExpression\": \"!functions.$f_GeschaeftspartnerEditUtils.isAdmin\",\n \"binding\": {\n \"dataContext\": \"$m_Geschaeftspartner\",\n \"bindTo\": \"Geschaeftspartnerdaten.IFrameLabelSchriftgroesse\",\n \"bindToFQ\": \"models.data.$m_Geschaeftspartner.Geschaeftspartnerdaten.IFrameLabelSchriftgroesse\",\n \"propertyPrefix\": \"Geschaeftspartnerdaten\"\n },\n \"validationRules\": [],\n \"id\": \"r_iFrameLabelSchriftgroesse\",\n \"options\": {\n \"optionsName\": \"r_iFrameLabelSchriftgroesseOptions\",\n \"optionsNameFQ\": \"r_iFrameLabelSchriftgroesseOptions\"\n }\n });\n this.widgetCreator.addColorBox(this, {\n \"editAlphaChannel\": false,\n \"caption\": \"geschaeftspartner-edit.r_iframelabelschriftfarbe_caption\",\n \"isReadOnlyExpression\": \"!functions.$f_GeschaeftspartnerEditUtils.isAdmin\",\n \"binding\": {\n \"dataContext\": \"$m_Geschaeftspartner\",\n \"bindTo\": \"Geschaeftspartnerdaten.IFrameLabelSchriftfarbe\",\n \"bindToFQ\": \"models.data.$m_Geschaeftspartner.Geschaeftspartnerdaten.IFrameLabelSchriftfarbe\",\n \"propertyPrefix\": \"Geschaeftspartnerdaten\"\n },\n \"validationRules\": [],\n \"id\": \"r_iFrameLabelSchriftfarbe\",\n \"options\": {\n \"optionsName\": \"r_iFrameLabelSchriftfarbeOptions\",\n \"optionsNameFQ\": \"r_iFrameLabelSchriftfarbeOptions\"\n }\n });\n this.widgetCreator.addTextBox(this, {\n \"caption\": \"geschaeftspartner-edit.r_iframecontentschriftart_caption\",\n \"isReadOnlyExpression\": \"!functions.$f_GeschaeftspartnerEditUtils.isAdmin\",\n \"binding\": {\n \"dataContext\": \"$m_Geschaeftspartner\",\n \"bindTo\": \"Geschaeftspartnerdaten.IFrameContentSchriftart\",\n \"bindToFQ\": \"models.data.$m_Geschaeftspartner.Geschaeftspartnerdaten.IFrameContentSchriftart\",\n \"propertyPrefix\": \"Geschaeftspartnerdaten\"\n },\n \"validationRules\": [],\n \"id\": \"r_iFrameContentSchriftart\",\n \"options\": {\n \"optionsName\": \"r_iFrameContentSchriftartOptions\",\n \"optionsNameFQ\": \"r_iFrameContentSchriftartOptions\"\n }\n });\n this.widgetCreator.addNumberBox(this, {\n \"showClearButton\": true,\n \"caption\": \"geschaeftspartner-edit.r_iframecontentschriftgroesse_caption\",\n \"isReadOnlyExpression\": \"!functions.$f_GeschaeftspartnerEditUtils.isAdmin\",\n \"binding\": {\n \"dataContext\": \"$m_Geschaeftspartner\",\n \"bindTo\": \"Geschaeftspartnerdaten.IFrameContentSchriftgroesse\",\n \"bindToFQ\": \"models.data.$m_Geschaeftspartner.Geschaeftspartnerdaten.IFrameContentSchriftgroesse\",\n \"propertyPrefix\": \"Geschaeftspartnerdaten\"\n },\n \"validationRules\": [],\n \"id\": \"r_iFrameContentSchriftgroesse\",\n \"options\": {\n \"optionsName\": \"r_iFrameContentSchriftgroesseOptions\",\n \"optionsNameFQ\": \"r_iFrameContentSchriftgroesseOptions\"\n }\n });\n this.widgetCreator.addColorBox(this, {\n \"editAlphaChannel\": false,\n \"caption\": \"geschaeftspartner-edit.r_iframecontentschriftfarbe_caption\",\n \"isReadOnlyExpression\": \"!functions.$f_GeschaeftspartnerEditUtils.isAdmin\",\n \"binding\": {\n \"dataContext\": \"$m_Geschaeftspartner\",\n \"bindTo\": \"Geschaeftspartnerdaten.IFrameContentSchriftfarbe\",\n \"bindToFQ\": \"models.data.$m_Geschaeftspartner.Geschaeftspartnerdaten.IFrameContentSchriftfarbe\",\n \"propertyPrefix\": \"Geschaeftspartnerdaten\"\n },\n \"validationRules\": [],\n \"id\": \"r_iFrameContentSchriftfarbe\",\n \"options\": {\n \"optionsName\": \"r_iFrameContentSchriftfarbeOptions\",\n \"optionsNameFQ\": \"r_iFrameContentSchriftfarbeOptions\"\n }\n });\n this.widgetCreator.addColorBox(this, {\n \"editAlphaChannel\": false,\n \"caption\": \"geschaeftspartner-edit.r_iframebuttonfarbe_caption\",\n \"isReadOnlyExpression\": \"!functions.$f_GeschaeftspartnerEditUtils.isAdmin\",\n \"binding\": {\n \"dataContext\": \"$m_Geschaeftspartner\",\n \"bindTo\": \"Geschaeftspartnerdaten.IFrameButtonFarbe\",\n \"bindToFQ\": \"models.data.$m_Geschaeftspartner.Geschaeftspartnerdaten.IFrameButtonFarbe\",\n \"propertyPrefix\": \"Geschaeftspartnerdaten\"\n },\n \"validationRules\": [],\n \"id\": \"r_iFrameButtonFarbe\",\n \"options\": {\n \"optionsName\": \"r_iFrameButtonFarbeOptions\",\n \"optionsNameFQ\": \"r_iFrameButtonFarbeOptions\"\n }\n });\n this.widgetCreator.addColorBox(this, {\n \"editAlphaChannel\": false,\n \"caption\": \"geschaeftspartner-edit.r_iframefeldrahmenliniefarbe_caption\",\n \"isReadOnlyExpression\": \"!functions.$f_GeschaeftspartnerEditUtils.isAdmin\",\n \"binding\": {\n \"dataContext\": \"$m_Geschaeftspartner\",\n \"bindTo\": \"Geschaeftspartnerdaten.IFrameFeldRahmenlinieFarbe\",\n \"bindToFQ\": \"models.data.$m_Geschaeftspartner.Geschaeftspartnerdaten.IFrameFeldRahmenlinieFarbe\",\n \"propertyPrefix\": \"Geschaeftspartnerdaten\"\n },\n \"validationRules\": [],\n \"id\": \"r_iFrameFeldRahmenlinieFarbe\",\n \"options\": {\n \"optionsName\": \"r_iFrameFeldRahmenlinieFarbeOptions\",\n \"optionsNameFQ\": \"r_iFrameFeldRahmenlinieFarbeOptions\"\n }\n });\n this.widgetCreator.addTextBox(this, {\n \"maxLength\": 250,\n \"caption\": \"geschaeftspartner-edit.r_keyterminrestservice_caption\",\n \"isReadOnlyExpression\": \"!functions.$f_GeschaeftspartnerEditUtils.isAdmin\",\n \"binding\": {\n \"dataContext\": \"$m_Geschaeftspartner\",\n \"bindTo\": \"Geschaeftspartnerdaten.KeyTerminRestService\",\n \"bindToFQ\": \"models.data.$m_Geschaeftspartner.Geschaeftspartnerdaten.KeyTerminRestService\",\n \"propertyPrefix\": \"Geschaeftspartnerdaten\"\n },\n \"validationRules\": [],\n \"id\": \"r_keyTerminRestService\",\n \"options\": {\n \"optionsName\": \"r_keyTerminRestServiceOptions\",\n \"optionsNameFQ\": \"r_keyTerminRestServiceOptions\"\n }\n });\n this.widgetCreator.addTextBox(this, {\n \"maxLength\": 250,\n \"caption\": \"geschaeftspartner-edit.r_keystelleninseratrestservice_caption\",\n \"isReadOnlyExpression\": \"!functions.$f_GeschaeftspartnerEditUtils.isAdmin\",\n \"binding\": {\n \"dataContext\": \"$m_Geschaeftspartner\",\n \"bindTo\": \"Geschaeftspartnerdaten.KeyStelleninseratRestService\",\n \"bindToFQ\": \"models.data.$m_Geschaeftspartner.Geschaeftspartnerdaten.KeyStelleninseratRestService\",\n \"propertyPrefix\": \"Geschaeftspartnerdaten\"\n },\n \"validationRules\": [],\n \"id\": \"r_keyStelleninseratRestService\",\n \"options\": {\n \"optionsName\": \"r_keyStelleninseratRestServiceOptions\",\n \"optionsNameFQ\": \"r_keyStelleninseratRestServiceOptions\"\n }\n });\n this.widgetCreator.addListView(this, {\n \"itemClass\": \"col-xs-12 col-sm-6\",\n \"useDefaultListItemStyle\": false,\n \"createToolbar\": true,\n \"optionsToolbar\": {\n \"optionsName\": \"r_geschaeftspartnerProfilFirmaListViewToolbarOptions\",\n \"optionsNameFQ\": \"r_geschaeftspartnerProfilFirmaListViewToolbarOptions\"\n },\n \"caption\": \"geschaeftspartner-edit.r_geschaeftspartnerprofilfirmalistview_caption\",\n \"binding\": {\n \"dataContext\": \"$m_GeschaeftspartnerProfilFirma\"\n },\n \"dataModel\": \"$m_GeschaeftspartnerProfilFirma\",\n \"listEdits\": [],\n \"filters\": [],\n \"commands\": [],\n \"id\": \"r_geschaeftspartnerProfilFirmaListView\",\n \"options\": {\n \"optionsName\": \"r_geschaeftspartnerProfilFirmaListViewOptions\",\n \"optionsNameFQ\": \"r_geschaeftspartnerProfilFirmaListViewOptions\"\n }\n });\n super.onConstructionFinished();\n }\n}","module.exports = \"\";","import * as fwx from \"../../../../framework/forms/form-export\";\nimport {\n GeschaeftspartnerEntlohnungsschemaUtils\n} from \"./geschaeftspartner-entlohnungsschema\";\n\n@fwx.autoinject\nexport class GeschaeftspartnerEntlohnungsschemaForm extends fwx.FormBase {\n constructor(\n element: Element,\n formBaseImport: fwx.FormBaseImport,\n private $f_EntlohungsschemaUtils: GeschaeftspartnerEntlohnungsschemaUtils) {\n super(element, formBaseImport);\n this.id = \"geschaeftspartner-entlohnungsschema\";\n this.title = \"geschaeftspartner-entlohnungsschema.geschaeftspartner-entlohnungsschema_caption\";\n this.addModel({\n \"id\": \"$m_Entlohnungsschema\",\n \"webApiAction\": \"ZIT/Stammdaten/Entlohnungsschema\",\n \"webApiWhere\": [\"IdGeschaeftspartner\", {\n \"isBound\": true,\n \"expression\": \"variables.data.$v_idGeschaeftspartner\"\n }],\n \"keyProperty\": \"Id\",\n \"filters\": []\n });\n this.addModel({\n \"id\": \"$m_EntlohnungsschemaEdit\",\n \"webApiAction\": \"ZIT/Stammdaten/Entlohnungsschema\",\n \"keyProperty\": \"Id\",\n \"filters\": []\n });\n this.addModel({\n \"id\": \"$m_Geschaeftspartner\",\n \"webApiAction\": \"ZIT/Objekte/Geschaeftspartner\",\n \"webApiColumns\": [\"Name1\"],\n \"modificationInfoEnabled\": true,\n \"key\": \"variables.data.$v_idGeschaeftspartner\",\n \"keyProperty\": \"Id\",\n \"filters\": []\n });\n this.addVariable({\n \"id\": \"$v_idGeschaeftspartner\"\n });\n this.addCommand({\n \"binding\": {\n \"bindTo\": \"$f_EntlohungsschemaUtils.addNewEntlohnungsschemaCommand\",\n \"bindToFQ\": \"functions.$f_EntlohungsschemaUtils.addNewEntlohnungsschemaCommand\"\n }\n });\n this.addCommand({\n \"binding\": {\n \"bindTo\": \"$f_EntlohungsschemaUtils.saveEntlohungsschemaCommand\",\n \"bindToFQ\": \"functions.$f_EntlohungsschemaUtils.saveEntlohungsschemaCommand\"\n }\n });\n this.addCommand({\n \"binding\": {\n \"bindTo\": \"$f_EntlohungsschemaUtils.deleteEnlohnungsschemaCommand\",\n \"bindToFQ\": \"functions.$f_EntlohungsschemaUtils.deleteEnlohnungsschemaCommand\"\n }\n });\n this.addFunction(\"$f_EntlohungsschemaUtils\", $f_EntlohungsschemaUtils, \"functions.$f_EntlohungsschemaUtils\");\n this.widgetCreator.addValidationGroup(this, {\n \"id\": \"wd1\",\n \"options\": {\n \"optionsName\": \"wd1Options\",\n \"optionsNameFQ\": \"wd1Options\"\n }\n });\n this.widgetCreator.addDataGrid(this, {\n \"columns\": [{\n \"id\": \"r_entlohnungsschemaGridBezeichnung\",\n \"caption\": \"geschaeftspartner-entlohnungsschema.r_entlohnungsschemagridbezeichnung_caption\",\n \"bindTo\": \"Bezeichnung\",\n \"minWidth\": 100\n }, {\n \"id\": \"r_r_entlohnungsschemaGridSortNr\",\n \"caption\": \"geschaeftspartner-entlohnungsschema.r_r_entlohnungsschemagridsortnr_caption\",\n \"bindTo\": \"SortNr\",\n \"width\": \"90px\"\n }],\n \"optionsToolbar\": {\n \"optionsName\": \"r_entlohungsschemaDataGridToolbarOptions\",\n \"optionsNameFQ\": \"r_entlohungsschemaDataGridToolbarOptions\"\n },\n \"caption\": \"geschaeftspartner-entlohnungsschema.r_entlohungsschemadatagrid_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Entlohnungsschema\"\n },\n \"dataModel\": \"$m_Entlohnungsschema\",\n \"onItemClick\": \"functions.$f_EntlohungsschemaUtils.onEntlohungsschemaClick($event)\",\n \"selectionMode\": 1,\n \"pageSize\": 10,\n \"showPagerInfo\": true,\n \"listEdits\": [],\n \"filters\": [],\n \"commands\": [],\n \"id\": \"r_entlohungsschemaDataGrid\",\n \"options\": {\n \"optionsName\": \"r_entlohungsschemaDataGridOptions\",\n \"optionsNameFQ\": \"r_entlohungsschemaDataGridOptions\"\n }\n });\n this.widgetCreator.addValidationGroup(this, {\n \"id\": \"r_entlohungsschemaValidationGroup\",\n \"options\": {\n \"optionsName\": \"r_entlohungsschemaValidationGroupOptions\",\n \"optionsNameFQ\": \"r_entlohungsschemaValidationGroupOptions\"\n }\n });\n this.widgetCreator.addTextBox(this, {\n \"maxLength\": 250,\n \"caption\": \"geschaeftspartner-entlohnungsschema.r_entlohnungsschemabezeichnung_caption\",\n \"binding\": {\n \"dataContext\": \"$m_EntlohnungsschemaEdit\",\n \"bindTo\": \"Bezeichnung\",\n \"bindToFQ\": \"models.data.$m_EntlohnungsschemaEdit.Bezeichnung\"\n },\n \"validationRules\": [{\n \"item\": {\n \"type\": \"required\",\n \"parameters\": []\n }\n }],\n \"id\": \"r_entlohnungsschemaBezeichnung\",\n \"options\": {\n \"optionsName\": \"r_entlohnungsschemaBezeichnungOptions\",\n \"optionsNameFQ\": \"r_entlohnungsschemaBezeichnungOptions\"\n }\n });\n this.widgetCreator.addNumberBox(this, {\n \"showSpinButtons\": true,\n \"min\": 0.0,\n \"caption\": \"geschaeftspartner-entlohnungsschema.r_entlohnungsschemasortnr_caption\",\n \"binding\": {\n \"dataContext\": \"$m_EntlohnungsschemaEdit\",\n \"bindTo\": \"SortNr\",\n \"bindToFQ\": \"models.data.$m_EntlohnungsschemaEdit.SortNr\"\n },\n \"validationRules\": [{\n \"item\": {\n \"type\": \"required\",\n \"parameters\": []\n }\n }],\n \"id\": \"r_entlohnungsschemaSortNr\",\n \"options\": {\n \"optionsName\": \"r_entlohnungsschemaSortNrOptions\",\n \"optionsNameFQ\": \"r_entlohnungsschemaSortNrOptions\"\n }\n });\n this.widgetCreator.addDateBox(this, {\n \"format\": \"d\",\n \"caption\": \"geschaeftspartner-entlohnungsschema.r_entlohnungsschemagueltigvon_caption\",\n \"binding\": {\n \"dataContext\": \"$m_EntlohnungsschemaEdit\",\n \"bindTo\": \"GueltigVon\",\n \"bindToFQ\": \"models.data.$m_EntlohnungsschemaEdit.GueltigVon\"\n },\n \"validationRules\": [{\n \"item\": {\n \"type\": \"required\",\n \"parameters\": []\n }\n }],\n \"id\": \"r_entlohnungsschemaGueltigVon\",\n \"options\": {\n \"optionsName\": \"r_entlohnungsschemaGueltigVonOptions\",\n \"optionsNameFQ\": \"r_entlohnungsschemaGueltigVonOptions\"\n }\n });\n this.widgetCreator.addDateBox(this, {\n \"format\": \"d\",\n \"caption\": \"geschaeftspartner-entlohnungsschema.r_entlohnungsschemagueltigbis_caption\",\n \"binding\": {\n \"dataContext\": \"$m_EntlohnungsschemaEdit\",\n \"bindTo\": \"GueltigBis\",\n \"bindToFQ\": \"models.data.$m_EntlohnungsschemaEdit.GueltigBis\"\n },\n \"validationRules\": [{\n \"item\": {\n \"type\": \"required\",\n \"parameters\": []\n }\n }],\n \"id\": \"r_entlohnungsschemaGueltigBis\",\n \"options\": {\n \"optionsName\": \"r_entlohnungsschemaGueltigBisOptions\",\n \"optionsNameFQ\": \"r_entlohnungsschemaGueltigBisOptions\"\n }\n });\n this.widgetCreator.addTextBox(this, {\n \"maxLength\": 200,\n \"caption\": \"geschaeftspartner-entlohnungsschema.r_entlohnungsschemabeschaeftignungsgruppeueberlasser_caption\",\n \"binding\": {\n \"dataContext\": \"$m_EntlohnungsschemaEdit\",\n \"bindTo\": \"BeschaeftignungsgruppeUeberlasser\",\n \"bindToFQ\": \"models.data.$m_EntlohnungsschemaEdit.BeschaeftignungsgruppeUeberlasser\"\n },\n \"validationRules\": [],\n \"id\": \"r_entlohnungsschemaBeschaeftignungsgruppeUeberlasser\",\n \"options\": {\n \"optionsName\": \"r_entlohnungsschemaBeschaeftignungsgruppeUeberlasserOptions\",\n \"optionsNameFQ\": \"r_entlohnungsschemaBeschaeftignungsgruppeUeberlasserOptions\"\n }\n });\n this.widgetCreator.addNumberBox(this, {\n \"max\": 99999999.0,\n \"format\": \"n2\",\n \"caption\": \"geschaeftspartner-entlohnungsschema.r_entlohnungsschemastundensatzueberlasser_caption\",\n \"binding\": {\n \"dataContext\": \"$m_EntlohnungsschemaEdit\",\n \"bindTo\": \"StundensatzUeberlasser\",\n \"bindToFQ\": \"models.data.$m_EntlohnungsschemaEdit.StundensatzUeberlasser\"\n },\n \"validationRules\": [],\n \"id\": \"r_entlohnungsschemaStundensatzUeberlasser\",\n \"options\": {\n \"optionsName\": \"r_entlohnungsschemaStundensatzUeberlasserOptions\",\n \"optionsNameFQ\": \"r_entlohnungsschemaStundensatzUeberlasserOptions\"\n }\n });\n this.widgetCreator.addTextBox(this, {\n \"maxLength\": 250,\n \"caption\": \"geschaeftspartner-entlohnungsschema.r_entlohnungsschemakollektivvertragbeschaeftiger_caption\",\n \"binding\": {\n \"dataContext\": \"$m_EntlohnungsschemaEdit\",\n \"bindTo\": \"KollektivvertragBeschaeftiger\",\n \"bindToFQ\": \"models.data.$m_EntlohnungsschemaEdit.KollektivvertragBeschaeftiger\"\n },\n \"validationRules\": [],\n \"id\": \"r_entlohnungsschemaKollektivvertragBeschaeftiger\",\n \"options\": {\n \"optionsName\": \"r_entlohnungsschemaKollektivvertragBeschaeftigerOptions\",\n \"optionsNameFQ\": \"r_entlohnungsschemaKollektivvertragBeschaeftigerOptions\"\n }\n });\n this.widgetCreator.addTextBox(this, {\n \"maxLength\": 200,\n \"caption\": \"geschaeftspartner-entlohnungsschema.r_entlohnungsschemabeschaeftigungsgruppebeschaeftiger_caption\",\n \"binding\": {\n \"dataContext\": \"$m_EntlohnungsschemaEdit\",\n \"bindTo\": \"BeschaeftigungsgruppeBeschaeftiger\",\n \"bindToFQ\": \"models.data.$m_EntlohnungsschemaEdit.BeschaeftigungsgruppeBeschaeftiger\"\n },\n \"validationRules\": [],\n \"id\": \"r_entlohnungsschemaBeschaeftigungsgruppeBeschaeftiger\",\n \"options\": {\n \"optionsName\": \"r_entlohnungsschemaBeschaeftigungsgruppeBeschaeftigerOptions\",\n \"optionsNameFQ\": \"r_entlohnungsschemaBeschaeftigungsgruppeBeschaeftigerOptions\"\n }\n });\n this.widgetCreator.addNumberBox(this, {\n \"max\": 9999.0,\n \"format\": \"n2\",\n \"caption\": \"geschaeftspartner-entlohnungsschema.r_entlohnungsschemawoechentlichearbeitszeit_caption\",\n \"binding\": {\n \"dataContext\": \"$m_EntlohnungsschemaEdit\",\n \"bindTo\": \"WoechentlicheArbeitszeit\",\n \"bindToFQ\": \"models.data.$m_EntlohnungsschemaEdit.WoechentlicheArbeitszeit\"\n },\n \"validationRules\": [],\n \"id\": \"r_entlohnungsschemaWoechentlicheArbeitszeit\",\n \"options\": {\n \"optionsName\": \"r_entlohnungsschemaWoechentlicheArbeitszeitOptions\",\n \"optionsNameFQ\": \"r_entlohnungsschemaWoechentlicheArbeitszeitOptions\"\n }\n });\n this.widgetCreator.addNumberBox(this, {\n \"max\": 99999999.0,\n \"format\": \"n2\",\n \"caption\": \"geschaeftspartner-entlohnungsschema.r_entlohnungsschemaentlohnung_caption\",\n \"binding\": {\n \"dataContext\": \"$m_EntlohnungsschemaEdit\",\n \"bindTo\": \"Entlohnung\",\n \"bindToFQ\": \"models.data.$m_EntlohnungsschemaEdit.Entlohnung\"\n },\n \"validationRules\": [],\n \"id\": \"r_entlohnungsschemaEntlohnung\",\n \"options\": {\n \"optionsName\": \"r_entlohnungsschemaEntlohnungOptions\",\n \"optionsNameFQ\": \"r_entlohnungsschemaEntlohnungOptions\"\n }\n });\n this.widgetCreator.addNumberBox(this, {\n \"max\": 99999999.0,\n \"format\": \"n2\",\n \"caption\": \"geschaeftspartner-entlohnungsschema.r_entlohnungsschemareferenzzuschlag_caption\",\n \"binding\": {\n \"dataContext\": \"$m_EntlohnungsschemaEdit\",\n \"bindTo\": \"Referenzzuschlag\",\n \"bindToFQ\": \"models.data.$m_EntlohnungsschemaEdit.Referenzzuschlag\"\n },\n \"validationRules\": [],\n \"id\": \"r_entlohnungsschemaReferenzzuschlag\",\n \"options\": {\n \"optionsName\": \"r_entlohnungsschemaReferenzzuschlagOptions\",\n \"optionsNameFQ\": \"r_entlohnungsschemaReferenzzuschlagOptions\"\n }\n });\n this.widgetCreator.addNumberBox(this, {\n \"max\": 99999999.0,\n \"format\": \"n2\",\n \"caption\": \"geschaeftspartner-entlohnungsschema.r_entlohnungsschemaschichtzulage_caption\",\n \"binding\": {\n \"dataContext\": \"$m_EntlohnungsschemaEdit\",\n \"bindTo\": \"Schichtzulage\",\n \"bindToFQ\": \"models.data.$m_EntlohnungsschemaEdit.Schichtzulage\"\n },\n \"validationRules\": [],\n \"id\": \"r_entlohnungsschemaSchichtzulage\",\n \"options\": {\n \"optionsName\": \"r_entlohnungsschemaSchichtzulageOptions\",\n \"optionsNameFQ\": \"r_entlohnungsschemaSchichtzulageOptions\"\n }\n });\n this.widgetCreator.addNumberBox(this, {\n \"max\": 99999999.0,\n \"format\": \"n2\",\n \"caption\": \"geschaeftspartner-entlohnungsschema.r_entlohnungsschemanachtschichtzulage_caption\",\n \"binding\": {\n \"dataContext\": \"$m_EntlohnungsschemaEdit\",\n \"bindTo\": \"Nachtschichtzulage\",\n \"bindToFQ\": \"models.data.$m_EntlohnungsschemaEdit.Nachtschichtzulage\"\n },\n \"validationRules\": [],\n \"id\": \"r_entlohnungsschemaNachtschichtzulage\",\n \"options\": {\n \"optionsName\": \"r_entlohnungsschemaNachtschichtzulageOptions\",\n \"optionsNameFQ\": \"r_entlohnungsschemaNachtschichtzulageOptions\"\n }\n });\n super.onConstructionFinished();\n }\n}","module.exports = \"\";","import * as fwx from \"../../../../framework/forms/form-export\";\nimport {\n GeschaeftspartnerGruppierungUtils\n} from \"./geschaeftspartner-gruppierung\";\n\n@fwx.autoinject\nexport class GeschaeftspartnerGruppierungForm extends fwx.FormBase {\n constructor(\n element: Element,\n formBaseImport: fwx.FormBaseImport,\n private $f_GeschaeftsparnterGruppierungUtils: GeschaeftspartnerGruppierungUtils) {\n super(element, formBaseImport);\n this.id = \"geschaeftspartner-gruppierung\";\n this.title = \"geschaeftspartner-gruppierung.geschaeftspartner-gruppierung_caption\";\n this.addModel({\n \"id\": \"$m_GeschaeftspartnerGruppierung\",\n \"webApiAction\": \"ZIT/Stammdaten/GeschaeftspartnerGruppierung\",\n \"webApiExpand\": {\n GeschaeftspartnerGruppierungstyp: null\n },\n \"webApiWhere\": [\"IdGeschaeftspartner\", {\n \"isBound\": true,\n \"expression\": \"variables.data.$v_idGeschaeftspartner\"\n }],\n \"webApiOrderBy\": [{\n columnName: 'GeschaeftspartnerGruppierungstyp.SortNr',\n sortOrder: 0\n }, {\n columnName: 'SortNr',\n sortOrder: 0\n }, {\n columnName: 'GeschaeftspartnerGruppierungstyp.Bezeichnung',\n sortOrder: 0\n }],\n \"keyProperty\": \"Id\",\n \"filters\": []\n });\n this.addModel({\n \"id\": \"$m_GeschaeftspartnerGruppierungEdit\",\n \"webApiAction\": \"ZIT/Stammdaten/GeschaeftspartnerGruppierung\",\n \"webApiExpand\": {\n 'BewertungArbeitseinsatzAnsprechpersonen': null,\n 'VerantwortlichAnsprechpersonen': null\n },\n \"keyProperty\": \"Id\",\n \"filters\": []\n });\n this.addModel({\n \"id\": \"$m_VerantwortlichAnsprechperson\",\n \"webApiAction\": \"ZIT/Objekte/Ansprechperson\",\n \"modificationInfoEnabled\": true,\n \"keyProperty\": \"Id\",\n \"filters\": []\n });\n this.addModel({\n \"id\": \"$m_BewertungArbeitseinsatzAnsprechperson\",\n \"webApiAction\": \"ZIT/Objekte/Ansprechperson\",\n \"modificationInfoEnabled\": true,\n \"keyProperty\": \"Id\",\n \"filters\": []\n });\n this.addModel({\n \"id\": \"$m_Geschaeftspartner\",\n \"webApiAction\": \"ZIT/Objekte/Geschaeftspartner\",\n \"webApiColumns\": [\"Name1\"],\n \"modificationInfoEnabled\": true,\n \"key\": \"variables.data.$v_idGeschaeftspartner\",\n \"keyProperty\": \"Id\",\n \"filters\": []\n });\n this.addVariable({\n \"id\": \"$v_idGeschaeftspartner\"\n });\n this.addCommand({\n \"binding\": {\n \"bindTo\": \"$f_GeschaeftsparnterGruppierungUtils.addNewGruppierungCommand\",\n \"bindToFQ\": \"functions.$f_GeschaeftsparnterGruppierungUtils.addNewGruppierungCommand\"\n }\n });\n this.addCommand({\n \"binding\": {\n \"bindTo\": \"$f_GeschaeftsparnterGruppierungUtils.saveGruppierungCommand\",\n \"bindToFQ\": \"functions.$f_GeschaeftsparnterGruppierungUtils.saveGruppierungCommand\"\n }\n });\n this.addCommand({\n \"binding\": {\n \"bindTo\": \"$f_GeschaeftsparnterGruppierungUtils.deleteGruppierungCommand\",\n \"bindToFQ\": \"functions.$f_GeschaeftsparnterGruppierungUtils.deleteGruppierungCommand\"\n }\n });\n this.addFunction(\"$f_GeschaeftsparnterGruppierungUtils\", $f_GeschaeftsparnterGruppierungUtils, \"functions.$f_GeschaeftsparnterGruppierungUtils\");\n this.widgetCreator.addValidationGroup(this, {\n \"id\": \"wd1\",\n \"options\": {\n \"optionsName\": \"wd1Options\",\n \"optionsNameFQ\": \"wd1Options\"\n }\n });\n this.widgetCreator.addDataGrid(this, {\n \"columns\": [{\n \"id\": \"r_GeschaeftspartnerGruppierungTyp\",\n \"caption\": \"geschaeftspartner-gruppierung.r_geschaeftspartnergruppierungtyp_caption\",\n \"bindTo\": \"GeschaeftspartnerGruppierungstyp.Bezeichnung\",\n \"minWidth\": 100\n }, {\n \"id\": \"r_GeschaeftspartnerGruppierungBezeichnung\",\n \"caption\": \"geschaeftspartner-gruppierung.r_geschaeftspartnergruppierungbezeichnung_caption\",\n \"bindTo\": \"Bezeichnung\",\n \"minWidth\": 100\n }, {\n \"id\": \"r_GeschaeftspartnerGruppierungSortNr\",\n \"caption\": \"geschaeftspartner-gruppierung.r_geschaeftspartnergruppierungsortnr_caption\",\n \"bindTo\": \"SortNr\",\n \"width\": \"90px\"\n }],\n \"optionsToolbar\": {\n \"optionsName\": \"r_GeschaeftspartnerGruppierungDataGridToolbarOptions\",\n \"optionsNameFQ\": \"r_GeschaeftspartnerGruppierungDataGridToolbarOptions\"\n },\n \"caption\": \"geschaeftspartner-gruppierung.r_geschaeftspartnergruppierungdatagrid_caption\",\n \"binding\": {\n \"dataContext\": \"$m_GeschaeftspartnerGruppierung\"\n },\n \"dataModel\": \"$m_GeschaeftspartnerGruppierung\",\n \"onItemClick\": \"functions.$f_GeschaeftsparnterGruppierungUtils.onGruppierungClick($event)\",\n \"selectionMode\": 1,\n \"pageSize\": 10,\n \"showPagerInfo\": true,\n \"listEdits\": [],\n \"filters\": [],\n \"commands\": [],\n \"id\": \"r_GeschaeftspartnerGruppierungDataGrid\",\n \"options\": {\n \"optionsName\": \"r_GeschaeftspartnerGruppierungDataGridOptions\",\n \"optionsNameFQ\": \"r_GeschaeftspartnerGruppierungDataGridOptions\"\n }\n });\n this.widgetCreator.addValidationGroup(this, {\n \"id\": \"r_geschaeftspartnerGruppierungValidationGroup\",\n \"options\": {\n \"optionsName\": \"r_geschaeftspartnerGruppierungValidationGroupOptions\",\n \"optionsNameFQ\": \"r_geschaeftspartnerGruppierungValidationGroupOptions\"\n }\n });\n this.widgetCreator.addSelectBox(this, {\n \"idSelect\": \"geschaeftspartnerGruppierungstyp\",\n \"filters\": [],\n \"caption\": \"geschaeftspartner-gruppierung.r_geschaeftspartnergruppierungtyp_caption\",\n \"binding\": {\n \"dataContext\": \"$m_GeschaeftspartnerGruppierungEdit\",\n \"bindTo\": \"IdGruppierungstyp\",\n \"bindToFQ\": \"models.data.$m_GeschaeftspartnerGruppierungEdit.IdGruppierungstyp\"\n },\n \"validationRules\": [{\n \"item\": {\n \"type\": \"required\",\n \"parameters\": []\n }\n }],\n \"id\": \"r_GeschaeftspartnerGruppierungTyp\",\n \"options\": {\n \"optionsName\": \"r_GeschaeftspartnerGruppierungTypOptions\",\n \"optionsNameFQ\": \"r_GeschaeftspartnerGruppierungTypOptions\"\n }\n });\n this.widgetCreator.addTextBox(this, {\n \"maxLength\": 250,\n \"caption\": \"geschaeftspartner-gruppierung.r_geschaeftspartnergruppierungbezeichnung_caption\",\n \"binding\": {\n \"dataContext\": \"$m_GeschaeftspartnerGruppierungEdit\",\n \"bindTo\": \"Bezeichnung\",\n \"bindToFQ\": \"models.data.$m_GeschaeftspartnerGruppierungEdit.Bezeichnung\"\n },\n \"validationRules\": [{\n \"item\": {\n \"type\": \"required\",\n \"parameters\": []\n }\n }],\n \"id\": \"r_GeschaeftspartnerGruppierungBezeichnung\",\n \"options\": {\n \"optionsName\": \"r_GeschaeftspartnerGruppierungBezeichnungOptions\",\n \"optionsNameFQ\": \"r_GeschaeftspartnerGruppierungBezeichnungOptions\"\n }\n });\n this.widgetCreator.addNumberBox(this, {\n \"showSpinButtons\": true,\n \"min\": 0.0,\n \"caption\": \"geschaeftspartner-gruppierung.r_geschaeftspartnergruppierungsortnr_caption\",\n \"binding\": {\n \"dataContext\": \"$m_GeschaeftspartnerGruppierungEdit\",\n \"bindTo\": \"SortNr\",\n \"bindToFQ\": \"models.data.$m_GeschaeftspartnerGruppierungEdit.SortNr\"\n },\n \"validationRules\": [],\n \"id\": \"r_GeschaeftspartnerGruppierungSortNr\",\n \"options\": {\n \"optionsName\": \"r_GeschaeftspartnerGruppierungSortNrOptions\",\n \"optionsNameFQ\": \"r_GeschaeftspartnerGruppierungSortNrOptions\"\n }\n });\n this.widgetCreator.addDateBox(this, {\n \"format\": \"d\",\n \"caption\": \"geschaeftspartner-gruppierung.r_geschaeftspartnergruppierunggueltigvon_caption\",\n \"binding\": {\n \"dataContext\": \"$m_GeschaeftspartnerGruppierungEdit\",\n \"bindTo\": \"GueltigVon\",\n \"bindToFQ\": \"models.data.$m_GeschaeftspartnerGruppierungEdit.GueltigVon\"\n },\n \"validationRules\": [{\n \"item\": {\n \"type\": \"required\",\n \"parameters\": []\n }\n }],\n \"id\": \"r_GeschaeftspartnerGruppierungGueltigVon\",\n \"options\": {\n \"optionsName\": \"r_GeschaeftspartnerGruppierungGueltigVonOptions\",\n \"optionsNameFQ\": \"r_GeschaeftspartnerGruppierungGueltigVonOptions\"\n }\n });\n this.widgetCreator.addDateBox(this, {\n \"format\": \"d\",\n \"caption\": \"geschaeftspartner-gruppierung.r_geschaeftspartnergruppierunggueltigbis_caption\",\n \"binding\": {\n \"dataContext\": \"$m_GeschaeftspartnerGruppierungEdit\",\n \"bindTo\": \"GueltigBis\",\n \"bindToFQ\": \"models.data.$m_GeschaeftspartnerGruppierungEdit.GueltigBis\"\n },\n \"validationRules\": [{\n \"item\": {\n \"type\": \"required\",\n \"parameters\": []\n }\n }],\n \"id\": \"r_GeschaeftspartnerGruppierungGueltigBis\",\n \"options\": {\n \"optionsName\": \"r_GeschaeftspartnerGruppierungGueltigBisOptions\",\n \"optionsNameFQ\": \"r_GeschaeftspartnerGruppierungGueltigBisOptions\"\n }\n });\n this.widgetCreator.addRadioGroup(this, {\n \"idSelect\": \"erfassungTyp\",\n \"filters\": [],\n \"caption\": \"geschaeftspartner-gruppierung.r_geschaeftspartnergruppierungfakturaempfaengererfassungtyp_caption\",\n \"binding\": {\n \"dataContext\": \"$m_GeschaeftspartnerGruppierungEdit\",\n \"bindTo\": \"FakturaempfaengerErfassungTyp\",\n \"bindToFQ\": \"models.data.$m_GeschaeftspartnerGruppierungEdit.FakturaempfaengerErfassungTyp\"\n },\n \"validationRules\": [],\n \"id\": \"r_GeschaeftspartnerGruppierungFakturaempfaengerErfassungTyp\",\n \"options\": {\n \"optionsName\": \"r_GeschaeftspartnerGruppierungFakturaempfaengerErfassungTypOptions\",\n \"optionsNameFQ\": \"r_GeschaeftspartnerGruppierungFakturaempfaengerErfassungTypOptions\"\n }\n });\n this.widgetCreator.addLookup(this, {\n \"idSelect\": \"ansprechperson\",\n \"filters\": [],\n \"caption\": \"geschaeftspartner-gruppierung.r_geschaeftspartnergruppierungidfakturaempfaengeransprechperson_caption\",\n \"binding\": {\n \"dataContext\": \"$m_GeschaeftspartnerGruppierungEdit\",\n \"bindTo\": \"IdFakturaEmpfaengerAnsprechperson\",\n \"bindToFQ\": \"models.data.$m_GeschaeftspartnerGruppierungEdit.IdFakturaEmpfaengerAnsprechperson\"\n },\n \"validationRules\": [],\n \"id\": \"r_GeschaeftspartnerGruppierungIdFakturaEmpfaengerAnsprechperson\",\n \"options\": {\n \"optionsName\": \"r_GeschaeftspartnerGruppierungIdFakturaEmpfaengerAnsprechpersonOptions\",\n \"optionsNameFQ\": \"r_GeschaeftspartnerGruppierungIdFakturaEmpfaengerAnsprechpersonOptions\"\n }\n });\n this.widgetCreator.addTextBox(this, {\n \"caption\": \"geschaeftspartner-gruppierung.r_geschaeftspartnergruppierungfakturaempfaengeransprechpersonfreitext_caption\",\n \"binding\": {\n \"dataContext\": \"$m_GeschaeftspartnerGruppierungEdit\",\n \"bindTo\": \"FakturaEmpfaengerAnsprechpersonFreitext\",\n \"bindToFQ\": \"models.data.$m_GeschaeftspartnerGruppierungEdit.FakturaEmpfaengerAnsprechpersonFreitext\"\n },\n \"validationRules\": [],\n \"id\": \"r_GeschaeftspartnerGruppierungFakturaEmpfaengerAnsprechpersonFreitext\",\n \"options\": {\n \"optionsName\": \"r_GeschaeftspartnerGruppierungFakturaEmpfaengerAnsprechpersonFreitextOptions\",\n \"optionsNameFQ\": \"r_GeschaeftspartnerGruppierungFakturaEmpfaengerAnsprechpersonFreitextOptions\"\n }\n });\n this.widgetCreator.addTagBox(this, {\n \"caption\": \"geschaeftspartner-gruppierung.r_geshaeftspartnergruppierungverantwortlichansprechpersonen_caption\",\n \"dataContext\": \"$m_GeschaeftspartnerGruppierungEdit\",\n \"batchSelectionEnabled\": true,\n \"relationBinding\": {\n \"dataContext\": \"$m_GeschaeftspartnerGruppierungEdit\",\n \"bindTo\": \"VerantwortlichAnsprechpersonen\",\n \"bindToFQ\": \"models.data.$m_GeschaeftspartnerGruppierungEdit.VerantwortlichAnsprechpersonen\"\n },\n \"relationProperty\": \"IdAnsprechperson\",\n \"itemDataContext\": \"$m_VerantwortlichAnsprechperson\",\n \"itemValueExpr\": \"Id\",\n \"itemDisplayExpr\": \"Name\",\n \"binding\": {\n \"dataContext\": \"$m_GeschaeftspartnerGruppierungEdit\"\n },\n \"validationRules\": [],\n \"id\": \"r_GeshaeftspartnerGruppierungVerantwortlichAnsprechpersonen\",\n \"options\": {\n \"optionsName\": \"r_GeshaeftspartnerGruppierungVerantwortlichAnsprechpersonenOptions\",\n \"optionsNameFQ\": \"r_GeshaeftspartnerGruppierungVerantwortlichAnsprechpersonenOptions\"\n }\n });\n this.widgetCreator.addTagBox(this, {\n \"caption\": \"geschaeftspartner-gruppierung.r_geshaeftspartnergruppierungbewertungarbeitseinsatzansprechpersonen_caption\",\n \"dataContext\": \"$m_GeschaeftspartnerGruppierungEdit\",\n \"batchSelectionEnabled\": true,\n \"relationBinding\": {\n \"dataContext\": \"$m_GeschaeftspartnerGruppierungEdit\",\n \"bindTo\": \"BewertungArbeitseinsatzAnsprechpersonen\",\n \"bindToFQ\": \"models.data.$m_GeschaeftspartnerGruppierungEdit.BewertungArbeitseinsatzAnsprechpersonen\"\n },\n \"relationProperty\": \"IdAnsprechperson\",\n \"itemDataContext\": \"$m_BewertungArbeitseinsatzAnsprechperson\",\n \"itemValueExpr\": \"Id\",\n \"itemDisplayExpr\": \"Name\",\n \"binding\": {\n \"dataContext\": \"$m_GeschaeftspartnerGruppierungEdit\"\n },\n \"validationRules\": [],\n \"id\": \"r_GeshaeftspartnerGruppierungBewertungArbeitseinsatzAnsprechpersonen\",\n \"options\": {\n \"optionsName\": \"r_GeshaeftspartnerGruppierungBewertungArbeitseinsatzAnsprechpersonenOptions\",\n \"optionsNameFQ\": \"r_GeshaeftspartnerGruppierungBewertungArbeitseinsatzAnsprechpersonenOptions\"\n }\n });\n super.onConstructionFinished();\n }\n}","module.exports = \"\";","import * as fwx from \"../../../../framework/forms/form-export\";\nimport {\n GeschaeftspartnerEditUtils\n} from \"./geschaeftspartner-edit-utils\";\n\n@fwx.autoinject\nexport class GeschaeftspartnerHeartbaseEditForm extends fwx.FormBase {\n constructor(\n element: Element,\n formBaseImport: fwx.FormBaseImport,\n private $f_GeschaeftspartnerEditUtils: GeschaeftspartnerEditUtils) {\n super(element, formBaseImport);\n this.id = \"geschaeftspartner-heartbase-edit\";\n this.title = \"geschaeftspartner-heartbase-edit.geschaeftspartner-heartbase-edit_caption\";\n this.addModel({\n \"id\": \"$m_Geschaeftspartner\",\n \"webApiAction\": \"ZIT/Objekte/Geschaeftspartner\",\n \"webApiExpand\": {\n 'Geschaeftspartnerdaten': {\n 'expand': {\n 'Geschaeftspartnertypen': null,\n 'DsDatenschutz': null\n }\n }\n },\n \"modificationInfoEnabled\": true,\n \"key\": \"variables.data.$id\",\n \"keyProperty\": \"Id\",\n \"postOnSave\": true,\n \"filters\": [{\n \"webApiCustomKey\": \"addCustomSubHeadline\",\n \"webApiCustomValue\": \"true\"\n }, {\n \"webApiCustomKey\": \"SonstigeKontaktdatenVisible\",\n \"webApiCustomValue\": \"true\"\n }]\n });\n this.addModel({\n \"id\": \"$m_GeschaeftspartnerdatenElement\",\n \"webApiAction\": \"ZIT/Objekte/GeschaeftspartnerGeschaeftspartnerdatenElement\",\n \"key\": \"models.data.$m_Geschaeftspartner.IdGeschaeftspartnerGeschaeftspartnerdatenElement\",\n \"keyProperty\": \"Id\",\n \"filters\": []\n });\n this.addModel({\n \"id\": \"$m_Geschaeftspartnertyp\",\n \"webApiAction\": \"ZIT/Stammdaten/Geschaeftspartnertyp\",\n \"keyProperty\": \"Id\",\n \"filters\": []\n });\n this.addModel({\n \"id\": \"$m_AdresseElement\",\n \"webApiAction\": \"ZIT/Objekte/GeschaeftspartnerAdresseElement\",\n \"key\": \"models.data.$m_Geschaeftspartner.IdGeschaeftspartnerAdresseElement\",\n \"keyProperty\": \"Id\",\n \"filters\": []\n });\n this.addModel({\n \"id\": \"$m_GeschaeftspartnerAdresseRel\",\n \"webApiAction\": \"ZIT/Objekte/GeschaeftspartnerAdresse\",\n \"webApiExpand\": {\n 'Adresstyp': null,\n 'Land': null\n },\n \"keyProperty\": \"Id\",\n \"filters\": []\n });\n this.addModel({\n \"id\": \"$m_GeschaeftspartnerAdresseEdit\",\n \"webApiAction\": \"ZIT/Objekte/GeschaeftspartnerAdresse\",\n \"keyProperty\": \"Id\",\n \"filters\": []\n });\n this.addModel({\n \"id\": \"$m_KontaktElement\",\n \"webApiAction\": \"ZIT/Objekte/GeschaeftspartnerKontaktElement\",\n \"key\": \"models.data.$m_Geschaeftspartner.IdGeschaeftspartnerKontaktElement\",\n \"keyProperty\": \"Id\",\n \"filters\": []\n });\n this.addModel({\n \"id\": \"$m_GeschaeftspartnerKontaktRel\",\n \"webApiAction\": \"ZIT/Objekte/GeschaeftspartnerKontakt\",\n \"webApiExpand\": {\n Kontakttyp: null\n },\n \"keyProperty\": \"Id\",\n \"filters\": []\n });\n this.addModel({\n \"id\": \"$m_GeschaeftspartnerKontaktEdit\",\n \"webApiAction\": \"ZIT/Objekte/GeschaeftspartnerKontakt\",\n \"keyProperty\": \"Id\",\n \"filters\": []\n });\n this.addModel({\n \"id\": \"$m_BankverbindungElement\",\n \"webApiAction\": \"ZIT/Objekte/GeschaeftspartnerBankverbindungElement\",\n \"key\": \"models.data.$m_Geschaeftspartner.IdGeschaeftspartnerBankverbindungElement\",\n \"keyProperty\": \"Id\",\n \"filters\": []\n });\n this.addModel({\n \"id\": \"$m_GeschaeftspartnerBankverbindungRel\",\n \"webApiAction\": \"ZIT/Objekte/GeschaeftspartnerBankverbindung\",\n \"webApiExpand\": {\n Waehrung: null\n },\n \"keyProperty\": \"Id\",\n \"filters\": []\n });\n this.addModel({\n \"id\": \"$m_GeschaeftspartnerBankverbindungEdit\",\n \"webApiAction\": \"ZIT/Objekte/GeschaeftspartnerBankverbindung\",\n \"keyProperty\": \"Id\",\n \"filters\": []\n });\n this.addModel({\n \"id\": \"$m_PackageElement\",\n \"webApiAction\": \"ZIT/Objekte/GeschaeftspartnerPackageElement\",\n \"key\": \"models.data.$m_Geschaeftspartner.IdGeschaeftspartnerPackageElement\",\n \"keyProperty\": \"Id\",\n \"allowNew\": \"functions.$f_GeschaeftspartnerEditUtils.canEditPackage\",\n \"allowSave\": \"functions.$f_GeschaeftspartnerEditUtils.canEditPackage\",\n \"allowDelete\": \"functions.$f_GeschaeftspartnerEditUtils.canEditPackage\",\n \"filters\": []\n });\n this.addModel({\n \"id\": \"$m_GeschaeftspartnerPackageRel\",\n \"webApiAction\": \"ZIT/Objekte/GeschaeftspartnerPackage\",\n \"webApiColumns\": [\"Id\", \"IdPackage\", \"Bezeichnung\", \"GueltigBis\", \"GueltigVon\"],\n \"webApiOrderBy\": [{\n \"columnName\": \"GueltigBis\",\n \"sortOrder\": 1\n }, {\n \"columnName\": \"Bezeichnung\",\n \"sortOrder\": 0\n }],\n \"keyProperty\": \"Id\",\n \"allowNew\": \"functions.$f_GeschaeftspartnerEditUtils.canEditPackage\",\n \"allowSave\": \"functions.$f_GeschaeftspartnerEditUtils.canEditPackage\",\n \"allowDelete\": \"functions.$f_GeschaeftspartnerEditUtils.canEditPackage\",\n \"filters\": []\n });\n this.addModel({\n \"id\": \"$m_GeschaeftspartnerPackageEdit\",\n \"webApiAction\": \"ZIT/Objekte/GeschaeftspartnerPackage\",\n \"keyProperty\": \"Id\",\n \"allowNew\": \"functions.$f_GeschaeftspartnerEditUtils.canEditPackage\",\n \"allowSave\": \"functions.$f_GeschaeftspartnerEditUtils.canEditPackage\",\n \"allowDelete\": \"functions.$f_GeschaeftspartnerEditUtils.canEditPackage\",\n \"filters\": []\n });\n this.addModel({\n \"id\": \"$m_AnsprechpersonZuGeschaeftspartnerEdit\",\n \"webApiAction\": \"ZIT/Objekte/AnsprechpersonZuGeschaeftspartner\",\n \"keyProperty\": \"Id\",\n \"filters\": []\n });\n this.addModel({\n \"id\": \"$m_AnsprechpersonZuGeschaeftspartnerRel\",\n \"webApiAction\": \"ZIT/Objekte/AnsprechpersonZuGeschaeftspartner\",\n \"webApiExpand\": {},\n \"webApiWhere\": [\n [\"Geschaeftspartner.Id\", {\n \"isBound\": true,\n \"expression\": \"models.data.$m_Geschaeftspartner.Id\"\n }], \"and\", [\"Ansprechperson.IsInaktiv\", false], \"and\", [\"Ansprechperson.Personendaten.ImGeschaeftspartnerAusblenden\", false]\n ],\n \"keyProperty\": \"Id\",\n \"filters\": [{\n \"webApiCustomKey\": \"onlyGueltig\",\n \"webApiCustomValue\": \"true\"\n }]\n });\n this.addModel({\n \"id\": \"$m_GeschaeftspartnerProfilFirma\",\n \"webApiAction\": \"ZIT/Objekte/ProfilFirma\",\n \"webApiWhere\": [\"Profil.IdGeschaeftspartner\", {\n \"isBound\": true,\n \"expression\": \"models.data.$m_Geschaeftspartner.Id\"\n }],\n \"modificationInfoEnabled\": true,\n \"keyProperty\": \"Id\",\n \"filters\": [{\n \"webApiCustomKey\": \"AddProfilFirmaCard\",\n \"webApiCustomValue\": \"true\"\n }]\n });\n this.addModel({\n \"id\": \"$m_GeschaeftspartnerZuDokumentEdit\",\n \"webApiAction\": \"ZIT/Objekte/GeschaeftspartnerdatenElementZuDokumentHintergrundAttachment\",\n \"keyProperty\": \"Id\",\n \"filters\": []\n });\n this.addModel({\n \"id\": \"$m_GeschaeftspartnerZuDokumentRel\",\n \"webApiAction\": \"ZIT/Objekte/GeschaeftspartnerdatenElementZuDokumentHintergrundAttachment\",\n \"webApiWhere\": [\n [\"IdGeschaeftspartnerGeschaeftspartnerdatenElement\", {\n \"isBound\": true,\n \"expression\": \"models.data.$m_Geschaeftspartner.IdGeschaeftspartnerGeschaeftspartnerdatenElement\"\n }]\n ],\n \"keyProperty\": \"Id\",\n \"filters\": []\n });\n this.addCommand({\n \"binding\": {\n \"bindTo\": \"$f_GeschaeftspartnerEditUtils.actionCommand\",\n \"bindToFQ\": \"functions.$f_GeschaeftspartnerEditUtils.actionCommand\"\n }\n });\n this.addCommand({\n \"binding\": {\n \"bindTo\": \"$f_GeschaeftspartnerEditUtils.geschaeftspartnerErweiterteOptionenCommand\",\n \"bindToFQ\": \"functions.$f_GeschaeftspartnerEditUtils.geschaeftspartnerErweiterteOptionenCommand\"\n }\n });\n this.addEditPopup({\n \"idContent\": \"geschaeftspartnerAdresseEditPopupContent\",\n \"mappings\": [{\n \"to\": \"$id\",\n \"binding\": {\n \"dataContext\": \"$m_GeschaeftspartnerAdresseEdit\",\n \"bindTo\": \"Id\",\n \"bindToFQ\": \"models.data.$m_GeschaeftspartnerAdresseEdit.Id\"\n }\n }],\n \"id\": \"geschaeftspartnerAdresseEditPopup\",\n \"options\": {\n \"optionsName\": \"geschaeftspartnerAdresseEditPopupOptions\",\n \"optionsNameFQ\": \"geschaeftspartnerAdresseEditPopupOptions\"\n },\n \"height\": \"auto\",\n \"width\": \"540px\",\n \"commands\": []\n });\n this.addEditPopup({\n \"idContent\": \"geschaeftspartnerDokumentEditPopupContent\",\n \"mappings\": [{\n \"to\": \"$id\",\n \"binding\": {\n \"dataContext\": \"$m_GeschaeftspartnerZuDokumentEdit\",\n \"bindTo\": \"Id\",\n \"bindToFQ\": \"models.data.$m_GeschaeftspartnerZuDokumentEdit.Id\"\n }\n }],\n \"id\": \"geschaeftspartnerDokumentEditPopup\",\n \"options\": {\n \"optionsName\": \"geschaeftspartnerDokumentEditPopupOptions\",\n \"optionsNameFQ\": \"geschaeftspartnerDokumentEditPopupOptions\"\n },\n \"height\": \"auto\",\n \"width\": \"540px\",\n \"commands\": []\n });\n this.addEditPopup({\n \"idContent\": \"geschaeftspartnerBankverbindungEditPopupContent\",\n \"mappings\": [{\n \"to\": \"$id\",\n \"binding\": {\n \"dataContext\": \"$m_GeschaeftspartnerBankverbindungEdit\",\n \"bindTo\": \"Id\",\n \"bindToFQ\": \"models.data.$m_GeschaeftspartnerBankverbindungEdit.Id\"\n }\n }],\n \"id\": \"geschaeftspartnerBankverbindungEditPopup\",\n \"options\": {\n \"optionsName\": \"geschaeftspartnerBankverbindungEditPopupOptions\",\n \"optionsNameFQ\": \"geschaeftspartnerBankverbindungEditPopupOptions\"\n },\n \"height\": \"auto\",\n \"width\": \"500px\",\n \"commands\": []\n });\n this.addEditPopup({\n \"idContent\": \"geschaeftspartnerKontaktdatenEditPopupContent\",\n \"mappings\": [{\n \"to\": \"$id\",\n \"binding\": {\n \"dataContext\": \"$m_GeschaeftspartnerKontaktEdit\",\n \"bindTo\": \"Id\",\n \"bindToFQ\": \"models.data.$m_GeschaeftspartnerKontaktEdit.Id\"\n }\n }],\n \"id\": \"geschaeftspartnerKontaktdatenEditPopup\",\n \"options\": {\n \"optionsName\": \"geschaeftspartnerKontaktdatenEditPopupOptions\",\n \"optionsNameFQ\": \"geschaeftspartnerKontaktdatenEditPopupOptions\"\n },\n \"height\": \"300px\",\n \"width\": \"500px\",\n \"commands\": []\n });\n this.addEditPopup({\n \"idContent\": \"geschaeftspartnerPackageEditPopupContent\",\n \"mappings\": [{\n \"to\": \"$id\",\n \"binding\": {\n \"dataContext\": \"$m_GeschaeftspartnerPackageEdit\",\n \"bindTo\": \"Id\",\n \"bindToFQ\": \"models.data.$m_GeschaeftspartnerPackageEdit.Id\"\n }\n }],\n \"id\": \"geschaeftspartnerPackageEditPopup\",\n \"options\": {\n \"optionsName\": \"geschaeftspartnerPackageEditPopupOptions\",\n \"optionsNameFQ\": \"geschaeftspartnerPackageEditPopupOptions\"\n },\n \"height\": \"auto\",\n \"width\": \"500px\",\n \"commands\": []\n });\n this.addFunction(\"$f_GeschaeftspartnerEditUtils\", $f_GeschaeftspartnerEditUtils, \"functions.$f_GeschaeftspartnerEditUtils\");\n this.widgetCreator.addValidationGroup(this, {\n \"id\": \"wd1\",\n \"options\": {\n \"optionsName\": \"wd1Options\",\n \"optionsNameFQ\": \"wd1Options\"\n }\n });\n this.widgetCreator.addTextBox(this, {\n \"maxLength\": 200,\n \"caption\": \"geschaeftspartner-heartbase-edit.r_name1_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Geschaeftspartner\",\n \"bindTo\": \"Geschaeftspartnerdaten.Name1\",\n \"bindToFQ\": \"models.data.$m_Geschaeftspartner.Geschaeftspartnerdaten.Name1\",\n \"propertyPrefix\": \"Geschaeftspartnerdaten\"\n },\n \"validationRules\": [{\n \"item\": {\n \"type\": \"required\",\n \"parameters\": []\n }\n }],\n \"id\": \"r_name1\",\n \"options\": {\n \"optionsName\": \"r_name1Options\",\n \"optionsNameFQ\": \"r_name1Options\"\n }\n });\n this.widgetCreator.addTextBox(this, {\n \"maxLength\": 200,\n \"caption\": \"geschaeftspartner-heartbase-edit.r_name2_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Geschaeftspartner\",\n \"bindTo\": \"Geschaeftspartnerdaten.Name2\",\n \"bindToFQ\": \"models.data.$m_Geschaeftspartner.Geschaeftspartnerdaten.Name2\",\n \"propertyPrefix\": \"Geschaeftspartnerdaten\"\n },\n \"validationRules\": [],\n \"id\": \"r_name2\",\n \"options\": {\n \"optionsName\": \"r_name2Options\",\n \"optionsNameFQ\": \"r_name2Options\"\n }\n });\n this.widgetCreator.addTagBox(this, {\n \"caption\": \"geschaeftspartner-heartbase-edit.r_geschaeftspartnertyp_caption\",\n \"dataContext\": \"$m_Geschaeftspartner\",\n \"relationBinding\": {\n \"dataContext\": \"$m_Geschaeftspartner\",\n \"bindTo\": \"Geschaeftspartnerdaten.Geschaeftspartnertypen\",\n \"bindToFQ\": \"models.data.$m_Geschaeftspartner.Geschaeftspartnerdaten.Geschaeftspartnertypen\",\n \"propertyPrefix\": \"Geschaeftspartnerdaten\"\n },\n \"relationProperty\": \"IdGeschaeftspartnertyp\",\n \"itemDataContext\": \"$m_Geschaeftspartnertyp\",\n \"itemValueExpr\": \"Id\",\n \"itemDisplayExpr\": \"Bezeichnung\",\n \"binding\": {\n \"dataContext\": \"$m_Geschaeftspartner\"\n },\n \"validationRules\": [],\n \"id\": \"r_geschaeftspartnertyp\",\n \"options\": {\n \"optionsName\": \"r_geschaeftspartnertypOptions\",\n \"optionsNameFQ\": \"r_geschaeftspartnertypOptions\"\n }\n });\n this.widgetCreator.addTextBox(this, {\n \"maxLength\": 20,\n \"caption\": \"geschaeftspartner-heartbase-edit.r_uidnummer_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Geschaeftspartner\",\n \"bindTo\": \"Geschaeftspartnerdaten.UidNummer\",\n \"bindToFQ\": \"models.data.$m_Geschaeftspartner.Geschaeftspartnerdaten.UidNummer\",\n \"propertyPrefix\": \"Geschaeftspartnerdaten\"\n },\n \"validationRules\": [],\n \"id\": \"r_uidNummer\",\n \"options\": {\n \"optionsName\": \"r_uidNummerOptions\",\n \"optionsNameFQ\": \"r_uidNummerOptions\"\n }\n });\n this.widgetCreator.addTextBox(this, {\n \"maxLength\": 100,\n \"caption\": \"geschaeftspartner-heartbase-edit.r_email_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Geschaeftspartner\",\n \"bindTo\": \"Geschaeftspartnerdaten.Email\",\n \"bindToFQ\": \"models.data.$m_Geschaeftspartner.Geschaeftspartnerdaten.Email\",\n \"propertyPrefix\": \"Geschaeftspartnerdaten\"\n },\n \"validationRules\": [],\n \"id\": \"r_email\",\n \"options\": {\n \"optionsName\": \"r_emailOptions\",\n \"optionsNameFQ\": \"r_emailOptions\"\n }\n });\n this.widgetCreator.addSelectBox(this, {\n \"idSelect\": \"landvorwahl\",\n \"filters\": [],\n \"caption\": \"geschaeftspartner-heartbase-edit.r_telefonlandvorwahl_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Geschaeftspartner\",\n \"bindTo\": \"Geschaeftspartnerdaten.TelefonLandvorwahl\",\n \"bindToFQ\": \"models.data.$m_Geschaeftspartner.Geschaeftspartnerdaten.TelefonLandvorwahl\",\n \"propertyPrefix\": \"Geschaeftspartnerdaten\"\n },\n \"validationRules\": [{\n \"item\": {\n \"type\": \"conditionalRequired\",\n \"parameters\": [{\n \"name\": \"condition\",\n \"value\": \"models.data.$m_Geschaeftspartner.Geschaeftspartnerdaten && models.data.$m_Geschaeftspartner.Geschaeftspartnerdaten.Telefon\"\n }]\n }\n }],\n \"id\": \"r_telefonLandvorwahl\",\n \"options\": {\n \"optionsName\": \"r_telefonLandvorwahlOptions\",\n \"optionsNameFQ\": \"r_telefonLandvorwahlOptions\"\n }\n });\n this.widgetCreator.addTextBox(this, {\n \"maxLength\": 100,\n \"caption\": \"geschaeftspartner-heartbase-edit.r_telefon_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Geschaeftspartner\",\n \"bindTo\": \"Geschaeftspartnerdaten.Telefon\",\n \"bindToFQ\": \"models.data.$m_Geschaeftspartner.Geschaeftspartnerdaten.Telefon\",\n \"propertyPrefix\": \"Geschaeftspartnerdaten\"\n },\n \"validationRules\": [{\n \"item\": {\n \"type\": \"telefon\",\n \"parameters\": []\n }\n }],\n \"id\": \"r_telefon\",\n \"options\": {\n \"optionsName\": \"r_telefonOptions\",\n \"optionsNameFQ\": \"r_telefonOptions\"\n }\n });\n this.widgetCreator.addTextBox(this, {\n \"maxLength\": 500,\n \"caption\": \"geschaeftspartner-heartbase-edit.r_url_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Geschaeftspartner\",\n \"bindTo\": \"Geschaeftspartnerdaten.Url\",\n \"bindToFQ\": \"models.data.$m_Geschaeftspartner.Geschaeftspartnerdaten.Url\",\n \"propertyPrefix\": \"Geschaeftspartnerdaten\"\n },\n \"validationRules\": [],\n \"id\": \"r_url\",\n \"options\": {\n \"optionsName\": \"r_urlOptions\",\n \"optionsNameFQ\": \"r_urlOptions\"\n }\n });\n this.widgetCreator.addSelectBox(this, {\n \"idSelect\": \"tipNetReporttype\",\n \"filter\": [\"Entitaet\", \"TIP.ZIT.Business.Helper.TerminEmpfaengerEinschaetzungPrintHelper\"],\n \"filters\": [],\n \"caption\": \"geschaeftspartner-heartbase-edit.r_tipnetreporttypeeinschaetzung_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Geschaeftspartner\",\n \"bindTo\": \"Geschaeftspartnerdaten.TIPNetReporttypeEinschaetzung\",\n \"bindToFQ\": \"models.data.$m_Geschaeftspartner.Geschaeftspartnerdaten.TIPNetReporttypeEinschaetzung\",\n \"propertyPrefix\": \"Geschaeftspartnerdaten\"\n },\n \"validationRules\": [],\n \"id\": \"r_tipnetReporttypeEinschaetzung\",\n \"options\": {\n \"optionsName\": \"r_tipnetReporttypeEinschaetzungOptions\",\n \"optionsNameFQ\": \"r_tipnetReporttypeEinschaetzungOptions\"\n }\n });\n this.widgetCreator.addCheckBox(this, {\n \"caption\": \"geschaeftspartner-heartbase-edit.r_geschaeftspartnerschule_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Geschaeftspartner\",\n \"bindTo\": \"Geschaeftspartnerdaten.IsGeschaeftspartnerSchule\",\n \"bindToFQ\": \"models.data.$m_Geschaeftspartner.Geschaeftspartnerdaten.IsGeschaeftspartnerSchule\",\n \"propertyPrefix\": \"Geschaeftspartnerdaten\"\n },\n \"validationRules\": [],\n \"id\": \"r_geschaeftspartnerSchule\",\n \"options\": {\n \"optionsName\": \"r_geschaeftspartnerSchuleOptions\",\n \"optionsNameFQ\": \"r_geschaeftspartnerSchuleOptions\"\n }\n });\n this.widgetCreator.addCheckBox(this, {\n \"caption\": \"geschaeftspartner-heartbase-edit.r_schnupperterminmaske_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Geschaeftspartner\",\n \"bindTo\": \"Geschaeftspartnerdaten.HideInSchnupperterminMaske\",\n \"bindToFQ\": \"models.data.$m_Geschaeftspartner.Geschaeftspartnerdaten.HideInSchnupperterminMaske\",\n \"propertyPrefix\": \"Geschaeftspartnerdaten\"\n },\n \"validationRules\": [],\n \"id\": \"r_schnupperterminMaske\",\n \"options\": {\n \"optionsName\": \"r_schnupperterminMaskeOptions\",\n \"optionsNameFQ\": \"r_schnupperterminMaskeOptions\"\n }\n });\n this.widgetCreator.addFileUploaderWithViewer(this, {\n \"acceptTypeEnum\": 0,\n \"acceptType\": \"image/*\",\n \"height\": \"250px\",\n \"showToolbar\": true,\n \"showClearButton\": false,\n \"caption\": \"geschaeftspartner-heartbase-edit.r_dmslinklogo_caption\",\n \"placeholder\": \"geschaeftspartner-heartbase-edit.r_dmslinklogo_placeholder\",\n \"binding\": {\n \"dataContext\": \"$m_Geschaeftspartner\",\n \"bindTo\": \"Geschaeftspartnerdaten.DMSLinkLogo\",\n \"bindToFQ\": \"models.data.$m_Geschaeftspartner.Geschaeftspartnerdaten.DMSLinkLogo\",\n \"propertyPrefix\": \"Geschaeftspartnerdaten\"\n },\n \"validationRules\": [],\n \"id\": \"r_dmsLinkLogo\",\n \"options\": {\n \"optionsName\": \"r_dmsLinkLogoOptions\",\n \"optionsNameFQ\": \"r_dmsLinkLogoOptions\"\n }\n });\n this.widgetCreator.addListView(this, {\n \"itemClass\": \"z--list-view-inline-item\",\n \"useDefaultListItemStyle\": false,\n \"optionsToolbar\": {\n \"optionsName\": \"r_geschaeftspartnerAdresseListViewToolbarOptions\",\n \"optionsNameFQ\": \"r_geschaeftspartnerAdresseListViewToolbarOptions\"\n },\n \"binding\": {\n \"dataContext\": \"$m_AdresseElement\"\n },\n \"isRelation\": true,\n \"relationBinding\": {\n \"dataContext\": \"$m_GeschaeftspartnerAdresseRel\",\n \"bindTo\": \"IdGeschaeftspartnerAdresseElement\",\n \"bindToFQ\": \"models.data.$m_GeschaeftspartnerAdresseRel.IdGeschaeftspartnerAdresseElement\"\n },\n \"dataModel\": \"$m_AdresseElement\",\n \"editDataContext\": \"$m_GeschaeftspartnerAdresseEdit\",\n \"idEditPopup\": \"geschaeftspartnerAdresseEditPopup\",\n \"listEdits\": [],\n \"filters\": [],\n \"commands\": [],\n \"id\": \"r_geschaeftspartnerAdresseListView\",\n \"options\": {\n \"optionsName\": \"r_geschaeftspartnerAdresseListViewOptions\",\n \"optionsNameFQ\": \"r_geschaeftspartnerAdresseListViewOptions\"\n }\n });\n this.widgetCreator.addListView(this, {\n \"itemClass\": \"z--list-view-inline-item\",\n \"useDefaultListItemStyle\": false,\n \"optionsToolbar\": {\n \"optionsName\": \"r_geschaeftspartnerDokumentListViewToolbarOptions\",\n \"optionsNameFQ\": \"r_geschaeftspartnerDokumentListViewToolbarOptions\"\n },\n \"binding\": {\n \"dataContext\": \"$m_GeschaeftspartnerdatenElement\"\n },\n \"isRelation\": true,\n \"relationBinding\": {\n \"dataContext\": \"$m_GeschaeftspartnerZuDokumentRel\",\n \"bindTo\": \"IdGeschaeftspartnerGeschaeftspartnerdatenElement\",\n \"bindToFQ\": \"models.data.$m_GeschaeftspartnerZuDokumentRel.IdGeschaeftspartnerGeschaeftspartnerdatenElement\"\n },\n \"dataModel\": \"$m_GeschaeftspartnerdatenElement\",\n \"editDataContext\": \"$m_GeschaeftspartnerZuDokumentEdit\",\n \"idEditPopup\": \"geschaeftspartnerDokumentEditPopup\",\n \"listEdits\": [],\n \"filters\": [],\n \"commands\": [],\n \"id\": \"r_geschaeftspartnerDokumentListView\",\n \"options\": {\n \"optionsName\": \"r_geschaeftspartnerDokumentListViewOptions\",\n \"optionsNameFQ\": \"r_geschaeftspartnerDokumentListViewOptions\"\n }\n });\n this.widgetCreator.addListView(this, {\n \"itemClass\": \"z--list-view-inline-item\",\n \"useDefaultListItemStyle\": false,\n \"optionsToolbar\": {\n \"optionsName\": \"r_geschaeftspartnerBankverbindungListViewToolbarOptions\",\n \"optionsNameFQ\": \"r_geschaeftspartnerBankverbindungListViewToolbarOptions\"\n },\n \"binding\": {\n \"dataContext\": \"$m_BankverbindungElement\"\n },\n \"isRelation\": true,\n \"relationBinding\": {\n \"dataContext\": \"$m_GeschaeftspartnerBankverbindungRel\",\n \"bindTo\": \"IdGeschaeftspartnerBankverbindungElement\",\n \"bindToFQ\": \"models.data.$m_GeschaeftspartnerBankverbindungRel.IdGeschaeftspartnerBankverbindungElement\"\n },\n \"dataModel\": \"$m_BankverbindungElement\",\n \"editDataContext\": \"$m_GeschaeftspartnerBankverbindungEdit\",\n \"idEditPopup\": \"geschaeftspartnerBankverbindungEditPopup\",\n \"listEdits\": [],\n \"filters\": [],\n \"commands\": [],\n \"id\": \"r_geschaeftspartnerBankverbindungListView\",\n \"options\": {\n \"optionsName\": \"r_geschaeftspartnerBankverbindungListViewOptions\",\n \"optionsNameFQ\": \"r_geschaeftspartnerBankverbindungListViewOptions\"\n }\n });\n this.widgetCreator.addListView(this, {\n \"itemClass\": \"z--list-view-inline-item\",\n \"useDefaultListItemStyle\": false,\n \"optionsToolbar\": {\n \"optionsName\": \"r_geschaeftspartnerKontaktdatenListViewToolbarOptions\",\n \"optionsNameFQ\": \"r_geschaeftspartnerKontaktdatenListViewToolbarOptions\"\n },\n \"binding\": {\n \"dataContext\": \"$m_KontaktElement\"\n },\n \"isRelation\": true,\n \"relationBinding\": {\n \"dataContext\": \"$m_GeschaeftspartnerKontaktRel\",\n \"bindTo\": \"IdGeschaeftspartnerKontaktElement\",\n \"bindToFQ\": \"models.data.$m_GeschaeftspartnerKontaktRel.IdGeschaeftspartnerKontaktElement\"\n },\n \"dataModel\": \"$m_KontaktElement\",\n \"editDataContext\": \"$m_GeschaeftspartnerKontaktEdit\",\n \"idEditPopup\": \"geschaeftspartnerKontaktdatenEditPopup\",\n \"listEdits\": [],\n \"filters\": [],\n \"commands\": [],\n \"id\": \"r_geschaeftspartnerKontaktdatenListView\",\n \"options\": {\n \"optionsName\": \"r_geschaeftspartnerKontaktdatenListViewOptions\",\n \"optionsNameFQ\": \"r_geschaeftspartnerKontaktdatenListViewOptions\"\n }\n });\n this.widgetCreator.addListView(this, {\n \"itemClass\": \"z--list-view-inline-item\",\n \"useDefaultListItemStyle\": false,\n \"optionsToolbar\": {\n \"optionsName\": \"r_geschaeftspartnerAnsprechpersonListViewToolbarOptions\",\n \"optionsNameFQ\": \"r_geschaeftspartnerAnsprechpersonListViewToolbarOptions\"\n },\n \"binding\": {\n \"dataContext\": \"$m_Geschaeftspartner\"\n },\n \"isRelation\": true,\n \"relationBinding\": {\n \"dataContext\": \"$m_AnsprechpersonZuGeschaeftspartnerRel\",\n \"bindTo\": \"IdGeschaeftspartner\",\n \"bindToFQ\": \"models.data.$m_AnsprechpersonZuGeschaeftspartnerRel.IdGeschaeftspartner\"\n },\n \"dataModel\": \"$m_Geschaeftspartner\",\n \"editDataContext\": \"$m_AnsprechpersonZuGeschaeftspartnerEdit\",\n \"listEdits\": [],\n \"filters\": [],\n \"commands\": [],\n \"id\": \"r_geschaeftspartnerAnsprechpersonListView\",\n \"options\": {\n \"optionsName\": \"r_geschaeftspartnerAnsprechpersonListViewOptions\",\n \"optionsNameFQ\": \"r_geschaeftspartnerAnsprechpersonListViewOptions\"\n }\n });\n this.widgetCreator.addListView(this, {\n \"itemClass\": \"z--list-view-inline-item\",\n \"useDefaultListItemStyle\": false,\n \"optionsToolbar\": {\n \"optionsName\": \"r_geschaeftspartnerPackageListViewToolbarOptions\",\n \"optionsNameFQ\": \"r_geschaeftspartnerPackageListViewToolbarOptions\"\n },\n \"binding\": {\n \"dataContext\": \"$m_PackageElement\"\n },\n \"isRelation\": true,\n \"relationBinding\": {\n \"dataContext\": \"$m_GeschaeftspartnerPackageRel\",\n \"bindTo\": \"IdGeschaeftspartnerPackageElement\",\n \"bindToFQ\": \"models.data.$m_GeschaeftspartnerPackageRel.IdGeschaeftspartnerPackageElement\"\n },\n \"dataModel\": \"$m_PackageElement\",\n \"editDataContext\": \"$m_GeschaeftspartnerPackageEdit\",\n \"idEditPopup\": \"geschaeftspartnerPackageEditPopup\",\n \"listEdits\": [],\n \"filters\": [],\n \"commands\": [],\n \"id\": \"r_geschaeftspartnerPackageListView\",\n \"options\": {\n \"optionsName\": \"r_geschaeftspartnerPackageListViewOptions\",\n \"optionsNameFQ\": \"r_geschaeftspartnerPackageListViewOptions\"\n }\n });\n this.widgetCreator.addTextBox(this, {\n \"maxLength\": 250,\n \"caption\": \"geschaeftspartner-heartbase-edit.r_keyunternehmenparameter_caption\",\n \"isReadOnlyExpression\": \"!functions.$f_GeschaeftspartnerEditUtils.isAdmin\",\n \"binding\": {\n \"dataContext\": \"$m_Geschaeftspartner\",\n \"bindTo\": \"Geschaeftspartnerdaten.KeyUnternehmenParameter\",\n \"bindToFQ\": \"models.data.$m_Geschaeftspartner.Geschaeftspartnerdaten.KeyUnternehmenParameter\",\n \"propertyPrefix\": \"Geschaeftspartnerdaten\"\n },\n \"validationRules\": [],\n \"id\": \"r_keyUnternehmenParameter\",\n \"options\": {\n \"optionsName\": \"r_keyUnternehmenParameterOptions\",\n \"optionsNameFQ\": \"r_keyUnternehmenParameterOptions\"\n }\n });\n this.widgetCreator.addCheckBox(this, {\n \"caption\": \"geschaeftspartner-heartbase-edit.r_messagingnichtanbieten_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Geschaeftspartner\",\n \"bindTo\": \"Geschaeftspartnerdaten.MessagingDienstNichtAnbieten\",\n \"bindToFQ\": \"models.data.$m_Geschaeftspartner.Geschaeftspartnerdaten.MessagingDienstNichtAnbieten\",\n \"propertyPrefix\": \"Geschaeftspartnerdaten\"\n },\n \"validationRules\": [],\n \"id\": \"r_messagingNichtAnbieten\",\n \"options\": {\n \"optionsName\": \"r_messagingNichtAnbietenOptions\",\n \"optionsNameFQ\": \"r_messagingNichtAnbietenOptions\"\n }\n });\n this.widgetCreator.addTextBox(this, {\n \"maxLength\": 250,\n \"caption\": \"geschaeftspartner-heartbase-edit.r_dsdatenschutzurl_caption\",\n \"isReadOnlyExpression\": \"!functions.$f_GeschaeftspartnerEditUtils.isAdmin\",\n \"binding\": {\n \"dataContext\": \"$m_Geschaeftspartner\",\n \"bindTo\": \"Geschaeftspartnerdaten.DsDatenschutz.Url\",\n \"bindToFQ\": \"models.data.$m_Geschaeftspartner.Geschaeftspartnerdaten.DsDatenschutz.Url\",\n \"propertyPrefix\": \"Geschaeftspartnerdaten.DsDatenschutz\"\n },\n \"validationRules\": [],\n \"id\": \"r_dsDatenschutzUrl\",\n \"options\": {\n \"optionsName\": \"r_dsDatenschutzUrlOptions\",\n \"optionsNameFQ\": \"r_dsDatenschutzUrlOptions\"\n }\n });\n this.widgetCreator.addDateBox(this, {\n \"format\": \"g\",\n \"caption\": \"geschaeftspartner-heartbase-edit.r_dsdatenschutzversion_caption\",\n \"isReadOnlyExpression\": \"!functions.$f_GeschaeftspartnerEditUtils.isAdmin\",\n \"binding\": {\n \"dataContext\": \"$m_Geschaeftspartner\",\n \"bindTo\": \"Geschaeftspartnerdaten.DsDatenschutz.VersionDatum\",\n \"bindToFQ\": \"models.data.$m_Geschaeftspartner.Geschaeftspartnerdaten.DsDatenschutz.VersionDatum\",\n \"propertyPrefix\": \"Geschaeftspartnerdaten.DsDatenschutz\"\n },\n \"validationRules\": [],\n \"id\": \"r_dsDatenschutzVersion\",\n \"options\": {\n \"optionsName\": \"r_dsDatenschutzVersionOptions\",\n \"optionsNameFQ\": \"r_dsDatenschutzVersionOptions\"\n }\n });\n this.widgetCreator.addColorBox(this, {\n \"editAlphaChannel\": false,\n \"caption\": \"geschaeftspartner-heartbase-edit.r_iframeformularhintergrundfarbe_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Geschaeftspartner\",\n \"bindTo\": \"Geschaeftspartnerdaten.IFrameFormularHintergrundFarbe\",\n \"bindToFQ\": \"models.data.$m_Geschaeftspartner.Geschaeftspartnerdaten.IFrameFormularHintergrundFarbe\",\n \"propertyPrefix\": \"Geschaeftspartnerdaten\"\n },\n \"validationRules\": [],\n \"id\": \"r_iFrameFormularHintergrundFarbe\",\n \"options\": {\n \"optionsName\": \"r_iFrameFormularHintergrundFarbeOptions\",\n \"optionsNameFQ\": \"r_iFrameFormularHintergrundFarbeOptions\"\n }\n });\n this.widgetCreator.addTextBox(this, {\n \"caption\": \"geschaeftspartner-heartbase-edit.r_iframelabelschriftart_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Geschaeftspartner\",\n \"bindTo\": \"Geschaeftspartnerdaten.IFrameLabelSchriftart\",\n \"bindToFQ\": \"models.data.$m_Geschaeftspartner.Geschaeftspartnerdaten.IFrameLabelSchriftart\",\n \"propertyPrefix\": \"Geschaeftspartnerdaten\"\n },\n \"validationRules\": [],\n \"id\": \"r_iFrameLabelSchriftart\",\n \"options\": {\n \"optionsName\": \"r_iFrameLabelSchriftartOptions\",\n \"optionsNameFQ\": \"r_iFrameLabelSchriftartOptions\"\n }\n });\n this.widgetCreator.addNumberBox(this, {\n \"showClearButton\": true,\n \"caption\": \"geschaeftspartner-heartbase-edit.r_iframelabelschriftgroesse_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Geschaeftspartner\",\n \"bindTo\": \"Geschaeftspartnerdaten.IFrameLabelSchriftgroesse\",\n \"bindToFQ\": \"models.data.$m_Geschaeftspartner.Geschaeftspartnerdaten.IFrameLabelSchriftgroesse\",\n \"propertyPrefix\": \"Geschaeftspartnerdaten\"\n },\n \"validationRules\": [],\n \"id\": \"r_iFrameLabelSchriftgroesse\",\n \"options\": {\n \"optionsName\": \"r_iFrameLabelSchriftgroesseOptions\",\n \"optionsNameFQ\": \"r_iFrameLabelSchriftgroesseOptions\"\n }\n });\n this.widgetCreator.addColorBox(this, {\n \"editAlphaChannel\": false,\n \"caption\": \"geschaeftspartner-heartbase-edit.r_iframelabelschriftfarbe_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Geschaeftspartner\",\n \"bindTo\": \"Geschaeftspartnerdaten.IFrameLabelSchriftfarbe\",\n \"bindToFQ\": \"models.data.$m_Geschaeftspartner.Geschaeftspartnerdaten.IFrameLabelSchriftfarbe\",\n \"propertyPrefix\": \"Geschaeftspartnerdaten\"\n },\n \"validationRules\": [],\n \"id\": \"r_iFrameLabelSchriftfarbe\",\n \"options\": {\n \"optionsName\": \"r_iFrameLabelSchriftfarbeOptions\",\n \"optionsNameFQ\": \"r_iFrameLabelSchriftfarbeOptions\"\n }\n });\n this.widgetCreator.addTextBox(this, {\n \"caption\": \"geschaeftspartner-heartbase-edit.r_iframecontentschriftart_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Geschaeftspartner\",\n \"bindTo\": \"Geschaeftspartnerdaten.IFrameContentSchriftart\",\n \"bindToFQ\": \"models.data.$m_Geschaeftspartner.Geschaeftspartnerdaten.IFrameContentSchriftart\",\n \"propertyPrefix\": \"Geschaeftspartnerdaten\"\n },\n \"validationRules\": [],\n \"id\": \"r_iFrameContentSchriftart\",\n \"options\": {\n \"optionsName\": \"r_iFrameContentSchriftartOptions\",\n \"optionsNameFQ\": \"r_iFrameContentSchriftartOptions\"\n }\n });\n this.widgetCreator.addNumberBox(this, {\n \"showClearButton\": true,\n \"caption\": \"geschaeftspartner-heartbase-edit.r_iframecontentschriftgroesse_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Geschaeftspartner\",\n \"bindTo\": \"Geschaeftspartnerdaten.IFrameContentSchriftgroesse\",\n \"bindToFQ\": \"models.data.$m_Geschaeftspartner.Geschaeftspartnerdaten.IFrameContentSchriftgroesse\",\n \"propertyPrefix\": \"Geschaeftspartnerdaten\"\n },\n \"validationRules\": [],\n \"id\": \"r_iFrameContentSchriftgroesse\",\n \"options\": {\n \"optionsName\": \"r_iFrameContentSchriftgroesseOptions\",\n \"optionsNameFQ\": \"r_iFrameContentSchriftgroesseOptions\"\n }\n });\n this.widgetCreator.addColorBox(this, {\n \"editAlphaChannel\": false,\n \"caption\": \"geschaeftspartner-heartbase-edit.r_iframecontentschriftfarbe_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Geschaeftspartner\",\n \"bindTo\": \"Geschaeftspartnerdaten.IFrameContentSchriftfarbe\",\n \"bindToFQ\": \"models.data.$m_Geschaeftspartner.Geschaeftspartnerdaten.IFrameContentSchriftfarbe\",\n \"propertyPrefix\": \"Geschaeftspartnerdaten\"\n },\n \"validationRules\": [],\n \"id\": \"r_iFrameContentSchriftfarbe\",\n \"options\": {\n \"optionsName\": \"r_iFrameContentSchriftfarbeOptions\",\n \"optionsNameFQ\": \"r_iFrameContentSchriftfarbeOptions\"\n }\n });\n this.widgetCreator.addColorBox(this, {\n \"editAlphaChannel\": false,\n \"caption\": \"geschaeftspartner-heartbase-edit.r_iframebuttonfarbe_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Geschaeftspartner\",\n \"bindTo\": \"Geschaeftspartnerdaten.IFrameButtonFarbe\",\n \"bindToFQ\": \"models.data.$m_Geschaeftspartner.Geschaeftspartnerdaten.IFrameButtonFarbe\",\n \"propertyPrefix\": \"Geschaeftspartnerdaten\"\n },\n \"validationRules\": [],\n \"id\": \"r_iFrameButtonFarbe\",\n \"options\": {\n \"optionsName\": \"r_iFrameButtonFarbeOptions\",\n \"optionsNameFQ\": \"r_iFrameButtonFarbeOptions\"\n }\n });\n this.widgetCreator.addColorBox(this, {\n \"editAlphaChannel\": false,\n \"caption\": \"geschaeftspartner-heartbase-edit.r_iframefeldrahmenliniefarbe_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Geschaeftspartner\",\n \"bindTo\": \"Geschaeftspartnerdaten.IFrameFeldRahmenlinieFarbe\",\n \"bindToFQ\": \"models.data.$m_Geschaeftspartner.Geschaeftspartnerdaten.IFrameFeldRahmenlinieFarbe\",\n \"propertyPrefix\": \"Geschaeftspartnerdaten\"\n },\n \"validationRules\": [],\n \"id\": \"r_iFrameFeldRahmenlinieFarbe\",\n \"options\": {\n \"optionsName\": \"r_iFrameFeldRahmenlinieFarbeOptions\",\n \"optionsNameFQ\": \"r_iFrameFeldRahmenlinieFarbeOptions\"\n }\n });\n this.widgetCreator.addTextBox(this, {\n \"maxLength\": 250,\n \"caption\": \"geschaeftspartner-heartbase-edit.r_keyterminrestservice_caption\",\n \"isReadOnlyExpression\": \"!functions.$f_GeschaeftspartnerEditUtils.isAdmin\",\n \"binding\": {\n \"dataContext\": \"$m_Geschaeftspartner\",\n \"bindTo\": \"Geschaeftspartnerdaten.KeyTerminRestService\",\n \"bindToFQ\": \"models.data.$m_Geschaeftspartner.Geschaeftspartnerdaten.KeyTerminRestService\",\n \"propertyPrefix\": \"Geschaeftspartnerdaten\"\n },\n \"validationRules\": [],\n \"id\": \"r_keyTerminRestService\",\n \"options\": {\n \"optionsName\": \"r_keyTerminRestServiceOptions\",\n \"optionsNameFQ\": \"r_keyTerminRestServiceOptions\"\n }\n });\n this.widgetCreator.addTextBox(this, {\n \"maxLength\": 250,\n \"caption\": \"geschaeftspartner-heartbase-edit.r_keystelleninseratrestservice_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Geschaeftspartner\",\n \"bindTo\": \"Geschaeftspartnerdaten.KeyStelleninseratRestService\",\n \"bindToFQ\": \"models.data.$m_Geschaeftspartner.Geschaeftspartnerdaten.KeyStelleninseratRestService\",\n \"propertyPrefix\": \"Geschaeftspartnerdaten\"\n },\n \"validationRules\": [],\n \"id\": \"r_keyStelleninseratRestService\",\n \"options\": {\n \"optionsName\": \"r_keyStelleninseratRestServiceOptions\",\n \"optionsNameFQ\": \"r_keyStelleninseratRestServiceOptions\"\n }\n });\n this.widgetCreator.addListView(this, {\n \"itemClass\": \"col-xs-12 col-sm-6\",\n \"useDefaultListItemStyle\": false,\n \"createToolbar\": true,\n \"optionsToolbar\": {\n \"optionsName\": \"r_geschaeftspartnerProfilFirmaListViewToolbarOptions\",\n \"optionsNameFQ\": \"r_geschaeftspartnerProfilFirmaListViewToolbarOptions\"\n },\n \"caption\": \"geschaeftspartner-heartbase-edit.r_geschaeftspartnerprofilfirmalistview_caption\",\n \"binding\": {\n \"dataContext\": \"$m_GeschaeftspartnerProfilFirma\"\n },\n \"dataModel\": \"$m_GeschaeftspartnerProfilFirma\",\n \"listEdits\": [],\n \"filters\": [],\n \"commands\": [],\n \"id\": \"r_geschaeftspartnerProfilFirmaListView\",\n \"options\": {\n \"optionsName\": \"r_geschaeftspartnerProfilFirmaListViewOptions\",\n \"optionsNameFQ\": \"r_geschaeftspartnerProfilFirmaListViewOptions\"\n }\n });\n super.onConstructionFinished();\n }\n}","module.exports = \"\";","import * as fwx from \"../../../../framework/forms/form-export\";\n\n@fwx.autoinject\nexport class GeschaeftspartnerKontaktEditForm extends fwx.FormBase {\n constructor(\n element: Element,\n formBaseImport: fwx.FormBaseImport) {\n super(element, formBaseImport);\n this.id = \"geschaeftspartner-kontakt-edit\";\n this.title = \"geschaeftspartner-kontakt-edit.geschaeftspartner-kontakt-edit_caption\";\n this.addModel({\n \"id\": \"$m_GeschaeftspartnerKontakt\",\n \"webApiAction\": \"ZIT/Objekte/GeschaeftspartnerKontakt\",\n \"key\": \"variables.data.$id\",\n \"keyProperty\": \"Id\",\n \"postOnSave\": true,\n \"filters\": []\n });\n this.addModel({\n \"id\": \"$m_Kontakttyp\",\n \"webApiAction\": \"ZIT/Stammdaten/Kontakttyp\",\n \"key\": \"models.data.$m_GeschaeftspartnerKontakt.IdKontakttyp\",\n \"keyProperty\": \"Id\",\n \"filters\": []\n });\n this.addVariable({\n \"id\": \"$id\"\n });\n this.widgetCreator.addValidationGroup(this, {\n \"id\": \"wd1\",\n \"options\": {\n \"optionsName\": \"wd1Options\",\n \"optionsNameFQ\": \"wd1Options\"\n }\n });\n this.widgetCreator.addSelectBox(this, {\n \"idSelect\": \"kontakttyp\",\n \"customs\": [{\n \"key\": \"objektTyp\",\n \"value\": \"'TIP.ZIT.Business.Entities.Objekte.Geschaeftspartner.Geschaeftspartner'\"\n }],\n \"filters\": [],\n \"caption\": \"geschaeftspartner-kontakt-edit.r_geschaeftspartnerkontakttyp_caption\",\n \"binding\": {\n \"dataContext\": \"$m_GeschaeftspartnerKontakt\",\n \"bindTo\": \"IdKontakttyp\",\n \"bindToFQ\": \"models.data.$m_GeschaeftspartnerKontakt.IdKontakttyp\"\n },\n \"validationRules\": [{\n \"item\": {\n \"type\": \"required\",\n \"parameters\": []\n }\n }],\n \"id\": \"r_geschaeftspartnerKontakttyp\",\n \"options\": {\n \"optionsName\": \"r_geschaeftspartnerKontakttypOptions\",\n \"optionsNameFQ\": \"r_geschaeftspartnerKontakttypOptions\"\n }\n });\n this.widgetCreator.addCheckBox(this, {\n \"caption\": \"geschaeftspartner-kontakt-edit.r_geschaeftspartnerwichtig_caption\",\n \"binding\": {\n \"dataContext\": \"$m_GeschaeftspartnerKontakt\",\n \"bindTo\": \"Wichtig\",\n \"bindToFQ\": \"models.data.$m_GeschaeftspartnerKontakt.Wichtig\"\n },\n \"validationRules\": [],\n \"id\": \"r_geschaeftspartnerWichtig\",\n \"options\": {\n \"optionsName\": \"r_geschaeftspartnerWichtigOptions\",\n \"optionsNameFQ\": \"r_geschaeftspartnerWichtigOptions\"\n }\n });\n this.widgetCreator.addSelectBox(this, {\n \"idSelect\": \"landvorwahl\",\n \"filters\": [],\n \"caption\": \"geschaeftspartner-kontakt-edit.r_wert1_caption\",\n \"binding\": {\n \"dataContext\": \"$m_GeschaeftspartnerKontakt\",\n \"bindTo\": \"Wert1\",\n \"bindToFQ\": \"models.data.$m_GeschaeftspartnerKontakt.Wert1\"\n },\n \"validationRules\": [],\n \"id\": \"r_wert1\",\n \"options\": {\n \"optionsName\": \"r_wert1Options\",\n \"optionsNameFQ\": \"r_wert1Options\"\n }\n });\n this.widgetCreator.addTextBox(this, {\n \"maxLength\": 100,\n \"caption\": \"geschaeftspartner-kontakt-edit.r_wert2_caption\",\n \"binding\": {\n \"dataContext\": \"$m_GeschaeftspartnerKontakt\",\n \"bindTo\": \"Wert2\",\n \"bindToFQ\": \"models.data.$m_GeschaeftspartnerKontakt.Wert2\"\n },\n \"validationRules\": [],\n \"id\": \"r_wert2\",\n \"options\": {\n \"optionsName\": \"r_wert2Options\",\n \"optionsNameFQ\": \"r_wert2Options\"\n }\n });\n this.widgetCreator.addTextBox(this, {\n \"maxLength\": 100,\n \"caption\": \"geschaeftspartner-kontakt-edit.r_email_caption\",\n \"binding\": {\n \"dataContext\": \"$m_GeschaeftspartnerKontakt\",\n \"bindTo\": \"Wert1\",\n \"bindToFQ\": \"models.data.$m_GeschaeftspartnerKontakt.Wert1\"\n },\n \"validationRules\": [{\n \"item\": {\n \"type\": \"required\",\n \"parameters\": []\n }\n }],\n \"id\": \"r_email\",\n \"options\": {\n \"optionsName\": \"r_emailOptions\",\n \"optionsNameFQ\": \"r_emailOptions\"\n }\n });\n this.widgetCreator.addTextBox(this, {\n \"maxLength\": 100,\n \"caption\": \"geschaeftspartner-kontakt-edit.r_website_caption\",\n \"binding\": {\n \"dataContext\": \"$m_GeschaeftspartnerKontakt\",\n \"bindTo\": \"Wert1\",\n \"bindToFQ\": \"models.data.$m_GeschaeftspartnerKontakt.Wert1\"\n },\n \"validationRules\": [{\n \"item\": {\n \"type\": \"required\",\n \"parameters\": []\n }\n }],\n \"id\": \"r_website\",\n \"options\": {\n \"optionsName\": \"r_websiteOptions\",\n \"optionsNameFQ\": \"r_websiteOptions\"\n }\n });\n this.widgetCreator.addTextBox(this, {\n \"maxLength\": 1000,\n \"caption\": \"geschaeftspartner-kontakt-edit.r_geschaeftspartnerkontaktbemerkung_caption\",\n \"binding\": {\n \"dataContext\": \"$m_GeschaeftspartnerKontakt\",\n \"bindTo\": \"Bemerkung\",\n \"bindToFQ\": \"models.data.$m_GeschaeftspartnerKontakt.Bemerkung\"\n },\n \"validationRules\": [],\n \"id\": \"r_geschaeftspartnerKontaktBemerkung\",\n \"options\": {\n \"optionsName\": \"r_geschaeftspartnerKontaktBemerkungOptions\",\n \"optionsNameFQ\": \"r_geschaeftspartnerKontaktBemerkungOptions\"\n }\n });\n super.onConstructionFinished();\n }\n}","module.exports = \"\";","import * as fwx from \"../../../../framework/forms/form-export\";\n\n@fwx.autoinject\nexport class GeschaeftspartnerListForm extends fwx.FormBase {\n constructor(\n element: Element,\n formBaseImport: fwx.FormBaseImport) {\n super(element, formBaseImport);\n this.id = \"geschaeftsparter-list\";\n this.title = \"geschaeftsparter-list.geschaeftsparter-list_caption\";\n this.addModel({\n \"id\": \"$m_Geschaeftspartner\",\n \"webApiAction\": \"ZIT/Objekte/Geschaeftspartner\",\n \"webApiExpand\": {\n 'Geschaeftspartnerdaten': null\n },\n \"modificationInfoEnabled\": true,\n \"keyProperty\": \"Id\",\n \"filters\": []\n });\n this.widgetCreator.addValidationGroup(this, {\n \"id\": \"wd1\",\n \"options\": {\n \"optionsName\": \"wd1Options\",\n \"optionsNameFQ\": \"wd1Options\"\n }\n });\n this.widgetCreator.addDataGrid(this, {\n \"columns\": [{\n \"id\": \"r_gespName1\",\n \"caption\": \"geschaeftsparter-list.r_gespname1_caption\",\n \"bindTo\": \"Geschaeftspartnerdaten.Name1\",\n \"minWidth\": 100\n }],\n \"optionsToolbar\": {\n \"optionsName\": \"r_geschaeftspartnerGridToolbarOptions\",\n \"optionsNameFQ\": \"r_geschaeftspartnerGridToolbarOptions\"\n },\n \"binding\": {\n \"dataContext\": \"$m_Geschaeftspartner\"\n },\n \"dataModel\": \"$m_Geschaeftspartner\",\n \"editUrl\": \"Objekte/Geschaeftspartner\",\n \"addShortscuts\": true,\n \"isMainList\": true,\n \"height\": \"100%\",\n \"listEdits\": [],\n \"filters\": [],\n \"commands\": [],\n \"id\": \"r_geschaeftspartnerGrid\",\n \"options\": {\n \"optionsName\": \"r_geschaeftspartnerGridOptions\",\n \"optionsNameFQ\": \"r_geschaeftspartnerGridOptions\"\n }\n });\n super.onConstructionFinished();\n }\n}","module.exports = \"\";","import * as fwx from \"../../../../framework/forms/form-export\";\nimport {\n GeschaeftspartnerPackageEditUtils\n} from \"./geschaeftspartner-package-edit-utils\";\n\n@fwx.autoinject\nexport class GeschaeftspartnerPackageEditForm extends fwx.FormBase {\n constructor(\n element: Element,\n formBaseImport: fwx.FormBaseImport,\n private $f_Package: GeschaeftspartnerPackageEditUtils) {\n super(element, formBaseImport);\n this.id = \"geschaeftspartner-package-edit\";\n this.title = \"geschaeftspartner-package-edit.geschaeftspartner-package-edit_caption\";\n this.addModel({\n \"id\": \"$m_GeschaeftspartnerPackage\",\n \"webApiAction\": \"ZIT/Objekte/GeschaeftspartnerPackage\",\n \"webApiExpand\": {},\n \"key\": \"variables.data.$id\",\n \"keyProperty\": \"Id\",\n \"postOnSave\": true,\n \"allowNew\": \"functions.$f_Package.canEditPackage\",\n \"allowSave\": \"functions.$f_Package.canEditPackage\",\n \"allowDelete\": \"functions.$f_Package.canEditPackage\",\n \"filters\": []\n });\n this.addVariable({\n \"id\": \"$id\"\n });\n this.addFunction(\"$f_Package\", $f_Package, \"functions.$f_Package\");\n this.widgetCreator.addValidationGroup(this, {\n \"id\": \"wd1\",\n \"options\": {\n \"optionsName\": \"wd1Options\",\n \"optionsNameFQ\": \"wd1Options\"\n }\n });\n this.widgetCreator.addSelectBox(this, {\n \"idSelect\": \"package\",\n \"filters\": [],\n \"caption\": \"geschaeftspartner-package-edit.r_package_caption\",\n \"isReadOnlyExpression\": \"!functions.$f_Package.canEditPackage\",\n \"binding\": {\n \"dataContext\": \"$m_GeschaeftspartnerPackage\",\n \"bindTo\": \"IdPackage\",\n \"bindToFQ\": \"models.data.$m_GeschaeftspartnerPackage.IdPackage\"\n },\n \"validationRules\": [{\n \"item\": {\n \"type\": \"required\",\n \"parameters\": []\n }\n }],\n \"id\": \"r_package\",\n \"options\": {\n \"optionsName\": \"r_packageOptions\",\n \"optionsNameFQ\": \"r_packageOptions\"\n }\n });\n this.widgetCreator.addNumberBox(this, {\n \"min\": 0.0,\n \"max\": 99999.0,\n \"caption\": \"geschaeftspartner-package-edit.r_anzahlstelleninserate_caption\",\n \"isReadOnlyExpression\": \"functions.$f_Package.anzahlStelleninserateUeberschreibenNichtZulaessig\",\n \"binding\": {\n \"dataContext\": \"$m_GeschaeftspartnerPackage\",\n \"bindTo\": \"AnzahlStelleninserate\",\n \"bindToFQ\": \"models.data.$m_GeschaeftspartnerPackage.AnzahlStelleninserate\"\n },\n \"validationRules\": [],\n \"id\": \"r_anzahlStelleninserate\",\n \"options\": {\n \"optionsName\": \"r_anzahlStelleninserateOptions\",\n \"optionsNameFQ\": \"r_anzahlStelleninserateOptions\"\n }\n });\n this.widgetCreator.addDateBox(this, {\n \"format\": \"d\",\n \"caption\": \"geschaeftspartner-package-edit.r_gueltigvon_caption\",\n \"isReadOnlyExpression\": \"!functions.$f_Package.canEditPackage\",\n \"binding\": {\n \"dataContext\": \"$m_GeschaeftspartnerPackage\",\n \"bindTo\": \"GueltigVon\",\n \"bindToFQ\": \"models.data.$m_GeschaeftspartnerPackage.GueltigVon\"\n },\n \"validationRules\": [{\n \"item\": {\n \"type\": \"required\",\n \"parameters\": []\n }\n }],\n \"id\": \"r_gueltigVon\",\n \"options\": {\n \"optionsName\": \"r_gueltigVonOptions\",\n \"optionsNameFQ\": \"r_gueltigVonOptions\"\n }\n });\n this.widgetCreator.addDateBox(this, {\n \"format\": \"d\",\n \"caption\": \"geschaeftspartner-package-edit.r_gueltigbis_caption\",\n \"isReadOnlyExpression\": \"!functions.$f_Package.canEditPackage\",\n \"binding\": {\n \"dataContext\": \"$m_GeschaeftspartnerPackage\",\n \"bindTo\": \"GueltigBis\",\n \"bindToFQ\": \"models.data.$m_GeschaeftspartnerPackage.GueltigBis\"\n },\n \"validationRules\": [],\n \"id\": \"r_gueltigBis\",\n \"options\": {\n \"optionsName\": \"r_gueltigBisOptions\",\n \"optionsNameFQ\": \"r_gueltigBisOptions\"\n }\n });\n this.widgetCreator.addDateBox(this, {\n \"format\": \"d\",\n \"caption\": \"geschaeftspartner-package-edit.r_kostenpflichtigab_caption\",\n \"isReadOnlyExpression\": \"!functions.$f_Package.canEditPackage\",\n \"binding\": {\n \"dataContext\": \"$m_GeschaeftspartnerPackage\",\n \"bindTo\": \"KostenpflichtigAb\",\n \"bindToFQ\": \"models.data.$m_GeschaeftspartnerPackage.KostenpflichtigAb\"\n },\n \"validationRules\": [],\n \"id\": \"r_kostenpflichtigAb\",\n \"options\": {\n \"optionsName\": \"r_kostenpflichtigAbOptions\",\n \"optionsNameFQ\": \"r_kostenpflichtigAbOptions\"\n }\n });\n this.widgetCreator.addSelectBox(this, {\n \"idSelect\": \"packageLehrlingAnzahlProJahr\",\n \"filters\": [],\n \"caption\": \"geschaeftspartner-package-edit.r_lehrlinganzahlprojahr_caption\",\n \"binding\": {\n \"dataContext\": \"$m_GeschaeftspartnerPackage\",\n \"bindTo\": \"LehrlingAnzahlProJahr\",\n \"bindToFQ\": \"models.data.$m_GeschaeftspartnerPackage.LehrlingAnzahlProJahr\"\n },\n \"validationRules\": [],\n \"id\": \"r_lehrlingAnzahlProJahr\",\n \"options\": {\n \"optionsName\": \"r_lehrlingAnzahlProJahrOptions\",\n \"optionsNameFQ\": \"r_lehrlingAnzahlProJahrOptions\"\n }\n });\n super.onConstructionFinished();\n }\n}","module.exports = \"\";","import * as fwx from \"../../../../framework/forms/form-export\";\nimport {\n GeschaeftspartnerReadUtils\n} from \"./geschaeftspartner-read-utils\";\n\n@fwx.autoinject\nexport class GeschaeftspartnerReadForm extends fwx.FormBase {\n constructor(\n element: Element,\n formBaseImport: fwx.FormBaseImport,\n private $f_GeschaeftspartnerReadUtils: GeschaeftspartnerReadUtils) {\n super(element, formBaseImport);\n this.id = \"geschaeftspartner-read\";\n this.title = \"geschaeftspartner-read.geschaeftspartner-read_caption\";\n this.addModel({\n \"id\": \"$m_Geschaeftspartner\",\n \"webApiAction\": \"ZIT/Objekte/Geschaeftspartner\",\n \"webApiExpand\": {\n 'Geschaeftspartnerdaten': null\n },\n \"modificationInfoEnabled\": true,\n \"key\": \"variables.data.$id\",\n \"keyProperty\": \"Id\",\n \"filters\": [{\n \"webApiCustomKey\": \"aktiveGeschaeftspartner\",\n \"webApiCustomValue\": \"true\"\n }, {\n \"webApiCustomKey\": \"addPackage\",\n \"webApiCustomValue\": \"true\"\n }, {\n \"webApiCustomKey\": \"addCustomSubHeadline\",\n \"webApiCustomValue\": \"true\"\n }, {\n \"webApiCustomKey\": \"standardAddress\",\n \"webApiCustomValue\": \"true\"\n }]\n });\n this.addCommand({\n \"binding\": {\n \"bindTo\": \"$f_GeschaeftspartnerReadUtils.actionCommand\",\n \"bindToFQ\": \"functions.$f_GeschaeftspartnerReadUtils.actionCommand\"\n }\n });\n this.addFunction(\"$f_GeschaeftspartnerReadUtils\", $f_GeschaeftspartnerReadUtils, \"functions.$f_GeschaeftspartnerReadUtils\");\n this.widgetCreator.addValidationGroup(this, {\n \"id\": \"wd1\",\n \"options\": {\n \"optionsName\": \"wd1Options\",\n \"optionsNameFQ\": \"wd1Options\"\n }\n });\n super.onConstructionFinished();\n }\n}","module.exports = \"\";","import * as fwx from \"../../../../framework/forms/form-export\";\n\n@fwx.autoinject\nexport class InformationListForm extends fwx.FormBase {\n constructor(\n element: Element,\n formBaseImport: fwx.FormBaseImport) {\n super(element, formBaseImport);\n this.id = \"information-list\";\n this.title = \"information-list.information-list_caption\";\n this.addModel({\n \"id\": \"$m_Information\",\n \"webApiAction\": \"ZIT/Objekte/Information\",\n \"webApiExpand\": {\n Kopf: null\n },\n \"modificationInfoEnabled\": true,\n \"keyProperty\": \"Id\",\n \"filters\": []\n });\n this.widgetCreator.addValidationGroup(this, {\n \"id\": \"wd1\",\n \"options\": {\n \"optionsName\": \"wd1Options\",\n \"optionsNameFQ\": \"wd1Options\"\n }\n });\n this.widgetCreator.addDataGrid(this, {\n \"columns\": [{\n \"id\": \"r_infoUeberschrift\",\n \"caption\": \"information-list.r_infoueberschrift_caption\",\n \"bindTo\": \"Kopf.Ueberschrift\"\n }],\n \"optionsToolbar\": {\n \"optionsName\": \"r_informationGridToolbarOptions\",\n \"optionsNameFQ\": \"r_informationGridToolbarOptions\"\n },\n \"binding\": {\n \"dataContext\": \"$m_Information\"\n },\n \"dataModel\": \"$m_Information\",\n \"editUrl\": \"Objekte/Information\",\n \"addShortscuts\": true,\n \"isMainList\": true,\n \"height\": \"100%\",\n \"listEdits\": [],\n \"filters\": [],\n \"commands\": [],\n \"id\": \"r_informationGrid\",\n \"options\": {\n \"optionsName\": \"r_informationGridOptions\",\n \"optionsNameFQ\": \"r_informationGridOptions\"\n }\n });\n super.onConstructionFinished();\n }\n}","module.exports = \"\";","import * as fwx from \"../../../../framework/forms/form-export\";\nimport {\n InformationReadUtils\n} from \"./information-read-utils\";\n\n@fwx.autoinject\nexport class InformationReadForm extends fwx.FormBase {\n constructor(\n element: Element,\n formBaseImport: fwx.FormBaseImport,\n private $f_InformationReadUtils: InformationReadUtils) {\n super(element, formBaseImport);\n this.id = \"information-read\";\n this.title = \"information-read.information-read_caption\";\n this.addModel({\n \"id\": \"$m_Information\",\n \"webApiAction\": \"ZIT/Objekte/Information\",\n \"webApiExpand\": {\n 'Kopf': {\n 'expand': {\n 'Informationstyp': null\n }\n }\n },\n \"modificationInfoEnabled\": true,\n \"key\": \"variables.data.$id\",\n \"keyProperty\": \"Id\",\n \"postOnSave\": true,\n \"filters\": []\n });\n this.addFunction(\"$f_InformationReadUtils\", $f_InformationReadUtils, \"functions.$f_InformationReadUtils\");\n this.widgetCreator.addValidationGroup(this, {\n \"id\": \"wd1\",\n \"options\": {\n \"optionsName\": \"wd1Options\",\n \"optionsNameFQ\": \"wd1Options\"\n }\n });\n super.onConstructionFinished();\n }\n}","module.exports = \"\";","import * as fwx from \"../../../../framework/forms/form-export\";\n\n@fwx.autoinject\nexport class PersonAdresseEditForm extends fwx.FormBase {\n constructor(\n element: Element,\n formBaseImport: fwx.FormBaseImport) {\n super(element, formBaseImport);\n this.id = \"person-adresse-edit\";\n this.title = \"person-adresse-edit.person-adresse-edit_caption\";\n this.addModel({\n \"id\": \"$m_Adresse\",\n \"webApiAction\": \"ZIT/Objekte/PersonAdresseElement\",\n \"key\": \"variables.data.$id\",\n \"keyProperty\": \"Id\",\n \"postOnSave\": true,\n \"filters\": []\n });\n this.addVariable({\n \"id\": \"$id\"\n });\n this.widgetCreator.addValidationGroup(this, {\n \"id\": \"wd1\",\n \"options\": {\n \"optionsName\": \"wd1Options\",\n \"optionsNameFQ\": \"wd1Options\"\n }\n });\n this.widgetCreator.addTextBox(this, {\n \"maxLength\": 100,\n \"caption\": \"person-adresse-edit.r_strasse_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Adresse\",\n \"bindTo\": \"Strasse\",\n \"bindToFQ\": \"models.data.$m_Adresse.Strasse\"\n },\n \"validationRules\": [{\n \"item\": {\n \"type\": \"required\",\n \"parameters\": []\n }\n }],\n \"id\": \"r_strasse\",\n \"options\": {\n \"optionsName\": \"r_strasseOptions\",\n \"optionsNameFQ\": \"r_strasseOptions\"\n }\n });\n this.widgetCreator.addTextBox(this, {\n \"maxLength\": 100,\n \"caption\": \"person-adresse-edit.r_strassezusatz_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Adresse\",\n \"bindTo\": \"StrasseZusatz\",\n \"bindToFQ\": \"models.data.$m_Adresse.StrasseZusatz\"\n },\n \"validationRules\": [],\n \"id\": \"r_strasseZusatz\",\n \"options\": {\n \"optionsName\": \"r_strasseZusatzOptions\",\n \"optionsNameFQ\": \"r_strasseZusatzOptions\"\n }\n });\n this.widgetCreator.addSelectBox(this, {\n \"idSelect\": \"staat\",\n \"filters\": [],\n \"caption\": \"person-adresse-edit.r_land_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Adresse\",\n \"bindTo\": \"IdLand\",\n \"bindToFQ\": \"models.data.$m_Adresse.IdLand\"\n },\n \"validationRules\": [{\n \"item\": {\n \"type\": \"required\",\n \"parameters\": []\n }\n }],\n \"id\": \"r_land\",\n \"options\": {\n \"optionsName\": \"r_landOptions\",\n \"optionsNameFQ\": \"r_landOptions\"\n }\n });\n this.widgetCreator.addTextBox(this, {\n \"maxLength\": 20,\n \"caption\": \"person-adresse-edit.r_postleitzahl_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Adresse\",\n \"bindTo\": \"Postleitzahl\",\n \"bindToFQ\": \"models.data.$m_Adresse.Postleitzahl\"\n },\n \"validationRules\": [{\n \"item\": {\n \"type\": \"required\",\n \"parameters\": []\n }\n }],\n \"id\": \"r_postleitzahl\",\n \"options\": {\n \"optionsName\": \"r_postleitzahlOptions\",\n \"optionsNameFQ\": \"r_postleitzahlOptions\"\n }\n });\n this.widgetCreator.addTextBox(this, {\n \"maxLength\": 100,\n \"caption\": \"person-adresse-edit.r_ort_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Adresse\",\n \"bindTo\": \"Ort\",\n \"bindToFQ\": \"models.data.$m_Adresse.Ort\"\n },\n \"validationRules\": [{\n \"item\": {\n \"type\": \"required\",\n \"parameters\": []\n }\n }],\n \"id\": \"r_ort\",\n \"options\": {\n \"optionsName\": \"r_ortOptions\",\n \"optionsNameFQ\": \"r_ortOptions\"\n }\n });\n this.widgetCreator.addTextBox(this, {\n \"maxLength\": 500,\n \"caption\": \"person-adresse-edit.r_bemerkung_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Adresse\",\n \"bindTo\": \"Bemerkung\",\n \"bindToFQ\": \"models.data.$m_Adresse.Bemerkung\"\n },\n \"validationRules\": [],\n \"id\": \"r_bemerkung\",\n \"options\": {\n \"optionsName\": \"r_bemerkungOptions\",\n \"optionsNameFQ\": \"r_bemerkungOptions\"\n }\n });\n this.widgetCreator.addSelectBox(this, {\n \"idSelect\": \"adresstyp\",\n \"customs\": [{\n \"key\": \"objektTyp\",\n \"value\": \"'TIP.ZIT.Business.Entities.Objekte.Personen.Person'\"\n }],\n \"filters\": [],\n \"caption\": \"person-adresse-edit.r_adresstyp_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Adresse\",\n \"bindTo\": \"IdAdresstyp\",\n \"bindToFQ\": \"models.data.$m_Adresse.IdAdresstyp\"\n },\n \"validationRules\": [{\n \"item\": {\n \"type\": \"required\",\n \"parameters\": []\n }\n }],\n \"id\": \"r_adresstyp\",\n \"options\": {\n \"optionsName\": \"r_adresstypOptions\",\n \"optionsNameFQ\": \"r_adresstypOptions\"\n }\n });\n this.widgetCreator.addDateBox(this, {\n \"format\": \"d\",\n \"caption\": \"person-adresse-edit.r_gueltigvon_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Adresse\",\n \"bindTo\": \"GueltigVon\",\n \"bindToFQ\": \"models.data.$m_Adresse.GueltigVon\"\n },\n \"validationRules\": [{\n \"item\": {\n \"type\": \"required\",\n \"parameters\": []\n }\n }],\n \"id\": \"r_gueltigVon\",\n \"options\": {\n \"optionsName\": \"r_gueltigVonOptions\",\n \"optionsNameFQ\": \"r_gueltigVonOptions\"\n }\n });\n this.widgetCreator.addDateBox(this, {\n \"format\": \"d\",\n \"caption\": \"person-adresse-edit.r_gueltigbis_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Adresse\",\n \"bindTo\": \"GueltigBis\",\n \"bindToFQ\": \"models.data.$m_Adresse.GueltigBis\"\n },\n \"validationRules\": [{\n \"item\": {\n \"type\": \"required\",\n \"parameters\": []\n }\n }],\n \"id\": \"r_gueltigBis\",\n \"options\": {\n \"optionsName\": \"r_gueltigBisOptions\",\n \"optionsNameFQ\": \"r_gueltigBisOptions\"\n }\n });\n super.onConstructionFinished();\n }\n}","module.exports = \"\";","import * as fwx from \"../../../../framework/forms/form-export\";\nimport {\n PersonenEditUtils\n} from \"./person-edit-utils\";\n\n@fwx.autoinject\nexport class PersonAusbildungEditForm extends fwx.FormBase {\n constructor(\n element: Element,\n formBaseImport: fwx.FormBaseImport,\n private $f_PersonenEditUtils: PersonenEditUtils) {\n super(element, formBaseImport);\n this.id = \"person-ausbildung-edit\";\n this.title = \"person-ausbildung-edit.person-ausbildung-edit_caption\";\n this.addModel({\n \"id\": \"$m_Ausbildung\",\n \"webApiAction\": \"ZIT/Objekte/PersonAusbildung\",\n \"key\": \"variables.data.$id\",\n \"keyProperty\": \"Id\",\n \"postOnSave\": true,\n \"filters\": []\n });\n this.addEditPopup({\n \"idContent\": \"personAusbildungNeuEditPopupContent\",\n \"mappings\": [{\n \"to\": \"$id\",\n \"binding\": {\n \"dataContext\": \"$m_Ausbildung\",\n \"bindTo\": \"Id\",\n \"bindToFQ\": \"models.data.$m_Ausbildung.Id\"\n }\n }],\n \"id\": \"personAusbildungNeuEditPopup\",\n \"options\": {\n \"optionsName\": \"personAusbildungNeuEditPopupOptions\",\n \"optionsNameFQ\": \"personAusbildungNeuEditPopupOptions\"\n },\n \"height\": \"200px\",\n \"width\": \"450px\",\n \"commands\": []\n });\n this.addFunction(\"$f_PersonenEditUtils\", $f_PersonenEditUtils, \"functions.$f_PersonenEditUtils\");\n this.widgetCreator.addValidationGroup(this, {\n \"id\": \"wd1\",\n \"options\": {\n \"optionsName\": \"wd1Options\",\n \"optionsNameFQ\": \"wd1Options\"\n }\n });\n this.widgetCreator.addSelectBox(this, {\n \"idSelect\": \"ausbildung\",\n \"filters\": [],\n \"caption\": \"person-ausbildung-edit.r_ausbildung_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Ausbildung\",\n \"bindTo\": \"IdAusbildung\",\n \"bindToFQ\": \"models.data.$m_Ausbildung.IdAusbildung\"\n },\n \"validationRules\": [{\n \"item\": {\n \"type\": \"required\",\n \"parameters\": []\n }\n }],\n \"id\": \"r_ausbildung\",\n \"options\": {\n \"optionsName\": \"r_ausbildungOptions\",\n \"optionsNameFQ\": \"r_ausbildungOptions\"\n }\n });\n this.widgetCreator.addSelectBox(this, {\n \"idSelect\": \"ausbildungAbschluss\",\n \"customs\": [{\n \"key\": \"IdAusbildung\",\n \"value\": \"models.data.$m_Ausbildung.IdAusbildung\"\n }],\n \"filters\": [],\n \"caption\": \"person-ausbildung-edit.r_ausbildungabschluss_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Ausbildung\",\n \"bindTo\": \"IdAusbildungAbschluss\",\n \"bindToFQ\": \"models.data.$m_Ausbildung.IdAusbildungAbschluss\"\n },\n \"validationRules\": [{\n \"item\": {\n \"type\": \"required\",\n \"parameters\": []\n }\n }],\n \"id\": \"r_ausbildungAbschluss\",\n \"options\": {\n \"optionsName\": \"r_ausbildungAbschlussOptions\",\n \"optionsNameFQ\": \"r_ausbildungAbschlussOptions\"\n }\n });\n this.widgetCreator.addNumberBox(this, {\n \"min\": 1900.0,\n \"max\": 2100.0,\n \"caption\": \"person-ausbildung-edit.r_beginnjahr_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Ausbildung\",\n \"bindTo\": \"BeginnJahr\",\n \"bindToFQ\": \"models.data.$m_Ausbildung.BeginnJahr\"\n },\n \"validationRules\": [{\n \"item\": {\n \"type\": \"required\",\n \"parameters\": []\n }\n }],\n \"id\": \"r_beginnJahr\",\n \"options\": {\n \"optionsName\": \"r_beginnJahrOptions\",\n \"optionsNameFQ\": \"r_beginnJahrOptions\"\n }\n });\n this.widgetCreator.addNumberBox(this, {\n \"min\": 1900.0,\n \"max\": 2100.0,\n \"caption\": \"person-ausbildung-edit.r_abschlussjahr_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Ausbildung\",\n \"bindTo\": \"AbschlussJahr\",\n \"bindToFQ\": \"models.data.$m_Ausbildung.AbschlussJahr\"\n },\n \"validationRules\": [],\n \"id\": \"r_abschlussJahr\",\n \"options\": {\n \"optionsName\": \"r_abschlussJahrOptions\",\n \"optionsNameFQ\": \"r_abschlussJahrOptions\"\n }\n });\n super.onConstructionFinished();\n }\n}","module.exports = \"\";","import * as fwx from \"../../../../framework/forms/form-export\";\nimport {\n PersonAusbildungErweitertEditUtils\n} from \"./person-ausbildung-erweitert-edit-utils\";\n\n@fwx.autoinject\nexport class PersonAusbildungErweitertEditForm extends fwx.FormBase {\n constructor(\n element: Element,\n formBaseImport: fwx.FormBaseImport,\n private $f_PersonAusbildungErweitert: PersonAusbildungErweitertEditUtils) {\n super(element, formBaseImport);\n this.id = \"person-ausbildung-erweitert-edit\";\n this.title = \"person-ausbildung-erweitert-edit.person-ausbildung-erweitert-edit_caption\";\n this.addModel({\n \"id\": \"$m_AusbildungNeu\",\n \"webApiAction\": \"ZIT/Stammdaten/Ausbildung\",\n \"key\": \"variables.data.$id\",\n \"keyProperty\": \"Id\",\n \"postOnSave\": true,\n \"filters\": []\n });\n this.addVariable({\n \"id\": \"$id\"\n });\n this.addFunction(\"$f_PersonAusbildungErweitert\", $f_PersonAusbildungErweitert, \"functions.$f_PersonAusbildungErweitert\");\n this.widgetCreator.addValidationGroup(this, {\n \"id\": \"wd1\",\n \"options\": {\n \"optionsName\": \"wd1Options\",\n \"optionsNameFQ\": \"wd1Options\"\n }\n });\n this.widgetCreator.addValidationGroup(this, {\n \"id\": \"r_personAusbildungValidationGroup\",\n \"options\": {\n \"optionsName\": \"r_personAusbildungValidationGroupOptions\",\n \"optionsNameFQ\": \"r_personAusbildungValidationGroupOptions\"\n }\n });\n this.widgetCreator.addTextBox(this, {\n \"caption\": \"person-ausbildung-erweitert-edit.r_bezeichnung_caption\",\n \"binding\": {\n \"dataContext\": \"$m_AusbildungNeu\",\n \"bindTo\": \"Bezeichnung\",\n \"bindToFQ\": \"models.data.$m_AusbildungNeu.Bezeichnung\"\n },\n \"validationRules\": [{\n \"binding\": {\n \"dataContext\": \"$m_AusbildungNeu\",\n \"bindTo\": \"$f_PersonAusbildungErweitert.requiredValidationRule\",\n \"bindToFQ\": \"functions.$f_PersonAusbildungErweitert.requiredValidationRule\"\n }\n }],\n \"id\": \"r_bezeichnung\",\n \"options\": {\n \"optionsName\": \"r_bezeichnungOptions\",\n \"optionsNameFQ\": \"r_bezeichnungOptions\"\n }\n });\n this.widgetCreator.addSelectBox(this, {\n \"idSelect\": \"ausbildungAbschluss\",\n \"filters\": [],\n \"caption\": \"person-ausbildung-erweitert-edit.r_ausbildungabschluss_caption\",\n \"binding\": {\n \"dataContext\": \"$m_AusbildungNeu\",\n \"bindTo\": \"$f_PersonAusbildungErweitert.idAusbildungAbschluss\",\n \"bindToFQ\": \"functions.$f_PersonAusbildungErweitert.idAusbildungAbschluss\"\n },\n \"validationRules\": [{\n \"binding\": {\n \"dataContext\": \"$m_AusbildungNeu\",\n \"bindTo\": \"$f_PersonAusbildungErweitert.requiredValidationRule\",\n \"bindToFQ\": \"functions.$f_PersonAusbildungErweitert.requiredValidationRule\"\n }\n }],\n \"id\": \"r_ausbildungAbschluss\",\n \"options\": {\n \"optionsName\": \"r_ausbildungAbschlussOptions\",\n \"optionsNameFQ\": \"r_ausbildungAbschlussOptions\"\n }\n });\n super.onConstructionFinished();\n }\n}","module.exports = \"\";","import * as fwx from \"../../../../framework/forms/form-export\";\n\n@fwx.autoinject\nexport class PersonBankverbindungEditForm extends fwx.FormBase {\n constructor(\n element: Element,\n formBaseImport: fwx.FormBaseImport) {\n super(element, formBaseImport);\n this.id = \"person-bankverbindung-edit\";\n this.title = \"person-bankverbindung-edit.person-bankverbindung-edit_caption\";\n this.addModel({\n \"id\": \"$m_Bankverbindung\",\n \"webApiAction\": \"ZIT/Objekte/PersonBankverbindung\",\n \"key\": \"variables.data.$id\",\n \"keyProperty\": \"Id\",\n \"postOnSave\": true,\n \"filters\": []\n });\n this.addVariable({\n \"id\": \"$id\"\n });\n this.widgetCreator.addValidationGroup(this, {\n \"id\": \"wd1\",\n \"options\": {\n \"optionsName\": \"wd1Options\",\n \"optionsNameFQ\": \"wd1Options\"\n }\n });\n this.widgetCreator.addTextBox(this, {\n \"maxLength\": 50,\n \"mask\": \"aaaa aaaa aaaa aaaa aaaa aaaa aaaa aaaa\",\n \"maskChar\": \" \",\n \"caption\": \"person-bankverbindung-edit.r_iban_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Bankverbindung\",\n \"bindTo\": \"IBAN\",\n \"bindToFQ\": \"models.data.$m_Bankverbindung.IBAN\"\n },\n \"validationRules\": [{\n \"item\": {\n \"type\": \"required\",\n \"parameters\": []\n }\n }],\n \"id\": \"r_iban\",\n \"options\": {\n \"optionsName\": \"r_ibanOptions\",\n \"optionsNameFQ\": \"r_ibanOptions\"\n }\n });\n this.widgetCreator.addTextBox(this, {\n \"maxLength\": 50,\n \"caption\": \"person-bankverbindung-edit.r_bic_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Bankverbindung\",\n \"bindTo\": \"BIC\",\n \"bindToFQ\": \"models.data.$m_Bankverbindung.BIC\"\n },\n \"validationRules\": [{\n \"item\": {\n \"type\": \"bic\",\n \"parameters\": []\n }\n }],\n \"id\": \"r_bic\",\n \"options\": {\n \"optionsName\": \"r_bicOptions\",\n \"optionsNameFQ\": \"r_bicOptions\"\n }\n });\n this.widgetCreator.addSelectBox(this, {\n \"idSelect\": \"waehrung\",\n \"filters\": [],\n \"caption\": \"person-bankverbindung-edit.r_waehrung_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Bankverbindung\",\n \"bindTo\": \"IdWaehrung\",\n \"bindToFQ\": \"models.data.$m_Bankverbindung.IdWaehrung\"\n },\n \"validationRules\": [],\n \"id\": \"r_waehrung\",\n \"options\": {\n \"optionsName\": \"r_waehrungOptions\",\n \"optionsNameFQ\": \"r_waehrungOptions\"\n }\n });\n this.widgetCreator.addTextBox(this, {\n \"maxLength\": 100,\n \"caption\": \"person-bankverbindung-edit.r_bankinstitut_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Bankverbindung\",\n \"bindTo\": \"Bankinstitut\",\n \"bindToFQ\": \"models.data.$m_Bankverbindung.Bankinstitut\"\n },\n \"validationRules\": [],\n \"id\": \"r_bankinstitut\",\n \"options\": {\n \"optionsName\": \"r_bankinstitutOptions\",\n \"optionsNameFQ\": \"r_bankinstitutOptions\"\n }\n });\n this.widgetCreator.addTextBox(this, {\n \"maxLength\": 50,\n \"caption\": \"person-bankverbindung-edit.r_eigentuemer_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Bankverbindung\",\n \"bindTo\": \"Eigentuemer\",\n \"bindToFQ\": \"models.data.$m_Bankverbindung.Eigentuemer\"\n },\n \"validationRules\": [],\n \"id\": \"r_eigentuemer\",\n \"options\": {\n \"optionsName\": \"r_eigentuemerOptions\",\n \"optionsNameFQ\": \"r_eigentuemerOptions\"\n }\n });\n this.widgetCreator.addDateBox(this, {\n \"format\": \"d\",\n \"caption\": \"person-bankverbindung-edit.r_gueltigvon_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Bankverbindung\",\n \"bindTo\": \"GueltigVon\",\n \"bindToFQ\": \"models.data.$m_Bankverbindung.GueltigVon\"\n },\n \"validationRules\": [{\n \"item\": {\n \"type\": \"required\",\n \"parameters\": []\n }\n }],\n \"id\": \"r_gueltigVon\",\n \"options\": {\n \"optionsName\": \"r_gueltigVonOptions\",\n \"optionsNameFQ\": \"r_gueltigVonOptions\"\n }\n });\n this.widgetCreator.addDateBox(this, {\n \"format\": \"d\",\n \"caption\": \"person-bankverbindung-edit.r_gueltigbis_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Bankverbindung\",\n \"bindTo\": \"GueltigBis\",\n \"bindToFQ\": \"models.data.$m_Bankverbindung.GueltigBis\"\n },\n \"validationRules\": [{\n \"item\": {\n \"type\": \"required\",\n \"parameters\": []\n }\n }],\n \"id\": \"r_gueltigBis\",\n \"options\": {\n \"optionsName\": \"r_gueltigBisOptions\",\n \"optionsNameFQ\": \"r_gueltigBisOptions\"\n }\n });\n super.onConstructionFinished();\n }\n}","module.exports = \"\";","import * as fwx from \"../../../../framework/forms/form-export\";\n\n@fwx.autoinject\nexport class PersonBerufEditForm extends fwx.FormBase {\n constructor(\n element: Element,\n formBaseImport: fwx.FormBaseImport) {\n super(element, formBaseImport);\n this.id = \"person-beruf-edit\";\n this.title = \"person-beruf-edit.person-beruf-edit_caption\";\n this.addModel({\n \"id\": \"$m_Beruf\",\n \"webApiAction\": \"ZIT/Objekte/PersonBeruf\",\n \"key\": \"variables.data.$id\",\n \"keyProperty\": \"Id\",\n \"postOnSave\": true,\n \"filters\": []\n });\n this.addVariable({\n \"id\": \"$id\"\n });\n this.widgetCreator.addValidationGroup(this, {\n \"id\": \"wd1\",\n \"options\": {\n \"optionsName\": \"wd1Options\",\n \"optionsNameFQ\": \"wd1Options\"\n }\n });\n this.widgetCreator.addSelectBox(this, {\n \"idSelect\": \"beruf\",\n \"filters\": [],\n \"caption\": \"person-beruf-edit.r_beruf_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Beruf\",\n \"bindTo\": \"IdBeruf\",\n \"bindToFQ\": \"models.data.$m_Beruf.IdBeruf\"\n },\n \"validationRules\": [{\n \"item\": {\n \"type\": \"required\",\n \"parameters\": []\n }\n }],\n \"id\": \"r_beruf\",\n \"options\": {\n \"optionsName\": \"r_berufOptions\",\n \"optionsNameFQ\": \"r_berufOptions\"\n }\n });\n this.widgetCreator.addSelectBox(this, {\n \"idSelect\": \"berufQualifikation\",\n \"filters\": [],\n \"caption\": \"person-beruf-edit.r_berufqualifikation_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Beruf\",\n \"bindTo\": \"IdBerufQualifikation\",\n \"bindToFQ\": \"models.data.$m_Beruf.IdBerufQualifikation\"\n },\n \"validationRules\": [],\n \"id\": \"r_berufQualifikation\",\n \"options\": {\n \"optionsName\": \"r_berufQualifikationOptions\",\n \"optionsNameFQ\": \"r_berufQualifikationOptions\"\n }\n });\n this.widgetCreator.addSelectBox(this, {\n \"idSelect\": \"ausbildungAbschluss\",\n \"filters\": [],\n \"caption\": \"person-beruf-edit.r_ausbildungabschluss_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Beruf\",\n \"bindTo\": \"IdAusbildungAbschluss\",\n \"bindToFQ\": \"models.data.$m_Beruf.IdAusbildungAbschluss\"\n },\n \"validationRules\": [],\n \"id\": \"r_ausbildungAbschluss\",\n \"options\": {\n \"optionsName\": \"r_ausbildungAbschlussOptions\",\n \"optionsNameFQ\": \"r_ausbildungAbschlussOptions\"\n }\n });\n this.widgetCreator.addNumberBox(this, {\n \"caption\": \"person-beruf-edit.r_erfahrungsjahre_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Beruf\",\n \"bindTo\": \"Erfahrungsjahre\",\n \"bindToFQ\": \"models.data.$m_Beruf.Erfahrungsjahre\"\n },\n \"validationRules\": [],\n \"id\": \"r_erfahrungsjahre\",\n \"options\": {\n \"optionsName\": \"r_erfahrungsjahreOptions\",\n \"optionsNameFQ\": \"r_erfahrungsjahreOptions\"\n }\n });\n this.widgetCreator.addNumberBox(this, {\n \"caption\": \"person-beruf-edit.r_zuletzttaetig_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Beruf\",\n \"bindTo\": \"ZuletztTaetig\",\n \"bindToFQ\": \"models.data.$m_Beruf.ZuletztTaetig\"\n },\n \"validationRules\": [],\n \"id\": \"r_zuletztTaetig\",\n \"options\": {\n \"optionsName\": \"r_zuletztTaetigOptions\",\n \"optionsNameFQ\": \"r_zuletztTaetigOptions\"\n }\n });\n super.onConstructionFinished();\n }\n}","module.exports = \"\";","import * as fwx from \"../../../../framework/forms/form-export\";\n\n@fwx.autoinject\nexport class PersonBerufserfahrungEditForm extends fwx.FormBase {\n constructor(\n element: Element,\n formBaseImport: fwx.FormBaseImport) {\n super(element, formBaseImport);\n this.id = \"person-berufserfahrung-edit\";\n this.title = \"person-berufserfahrung-edit.person-berufserfahrung-edit_caption\";\n this.addModel({\n \"id\": \"$m_Berufserfahrung\",\n \"webApiAction\": \"ZIT/Objekte/PersonBerufserfahrung\",\n \"key\": \"variables.data.$id\",\n \"keyProperty\": \"Id\",\n \"postOnSave\": true,\n \"filters\": []\n });\n this.addVariable({\n \"id\": \"$id\"\n });\n this.widgetCreator.addValidationGroup(this, {\n \"id\": \"wd1\",\n \"options\": {\n \"optionsName\": \"wd1Options\",\n \"optionsNameFQ\": \"wd1Options\"\n }\n });\n this.widgetCreator.addTextBox(this, {\n \"maxLength\": 100,\n \"caption\": \"person-berufserfahrung-edit.r_unternehmen_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Berufserfahrung\",\n \"bindTo\": \"Unternehmen\",\n \"bindToFQ\": \"models.data.$m_Berufserfahrung.Unternehmen\"\n },\n \"validationRules\": [{\n \"item\": {\n \"type\": \"required\",\n \"parameters\": []\n }\n }],\n \"id\": \"r_unternehmen\",\n \"options\": {\n \"optionsName\": \"r_unternehmenOptions\",\n \"optionsNameFQ\": \"r_unternehmenOptions\"\n }\n });\n this.widgetCreator.addTextBox(this, {\n \"maxLength\": 100,\n \"caption\": \"person-berufserfahrung-edit.r_taetigkeit_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Berufserfahrung\",\n \"bindTo\": \"Taetigkeit\",\n \"bindToFQ\": \"models.data.$m_Berufserfahrung.Taetigkeit\"\n },\n \"validationRules\": [{\n \"item\": {\n \"type\": \"required\",\n \"parameters\": []\n }\n }],\n \"id\": \"r_taetigkeit\",\n \"options\": {\n \"optionsName\": \"r_taetigkeitOptions\",\n \"optionsNameFQ\": \"r_taetigkeitOptions\"\n }\n });\n this.widgetCreator.addDateBox(this, {\n \"format\": \"d\",\n \"caption\": \"person-berufserfahrung-edit.r_von_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Berufserfahrung\",\n \"bindTo\": \"Von\",\n \"bindToFQ\": \"models.data.$m_Berufserfahrung.Von\"\n },\n \"validationRules\": [{\n \"item\": {\n \"type\": \"required\",\n \"parameters\": []\n }\n }],\n \"id\": \"r_von\",\n \"options\": {\n \"optionsName\": \"r_vonOptions\",\n \"optionsNameFQ\": \"r_vonOptions\"\n }\n });\n this.widgetCreator.addDateBox(this, {\n \"format\": \"d\",\n \"caption\": \"person-berufserfahrung-edit.r_bis_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Berufserfahrung\",\n \"bindTo\": \"Bis\",\n \"bindToFQ\": \"models.data.$m_Berufserfahrung.Bis\"\n },\n \"validationRules\": [],\n \"id\": \"r_bis\",\n \"options\": {\n \"optionsName\": \"r_bisOptions\",\n \"optionsNameFQ\": \"r_bisOptions\"\n }\n });\n super.onConstructionFinished();\n }\n}","module.exports = \"\";","import * as fwx from \"../../../../framework/forms/form-export\";\nimport {\n PersonenEditUtils\n} from \"./person-edit-utils\";\n\n@fwx.autoinject\nexport class PersonEditForm extends fwx.FormBase {\n constructor(\n element: Element,\n formBaseImport: fwx.FormBaseImport,\n private $f_PersonenEditUtils: PersonenEditUtils) {\n super(element, formBaseImport);\n this.id = \"person-edit\";\n this.title = \"person-edit.person-edit_caption\";\n this.addModel({\n \"id\": \"$m_Person\",\n \"webApiAction\": \"ZIT/Objekte/Person\",\n \"webApiExpand\": {\n 'Personendaten': null\n },\n \"modificationInfoEnabled\": true,\n \"key\": \"variables.data.$id\",\n \"keyProperty\": \"Id\",\n \"postOnSave\": true,\n \"filters\": [{\n \"webApiCustomKey\": \"CanBenutzeraccountAktivieren\",\n \"webApiCustomValue\": \"true\"\n }, {\n \"webApiCustomKey\": \"SonstigeKontaktdatenVisible\",\n \"webApiCustomValue\": \"true\"\n }]\n });\n this.addModel({\n \"id\": \"$m_Bewerbung\",\n \"webApiAction\": \"ZIT/Objekte/Bewerbung\",\n \"webApiColumns\": [\"Id\"],\n \"webApiWhere\": [\"Kopf.IdPerson\", {\n \"isBound\": true,\n \"expression\": \"models.data.$m_Person.Id\"\n }],\n \"webApiOrderBy\": [{\n columnName: 'Anlagedatum',\n sortOrder: 1\n }],\n \"modificationInfoEnabled\": true,\n \"keyProperty\": \"Id\",\n \"filters\": [{\n \"webApiCustomKey\": \"AddBewerbungCard\",\n \"webApiCustomValue\": \"true\"\n }]\n });\n this.addModel({\n \"id\": \"$m_BankverbindungElement\",\n \"webApiAction\": \"ZIT/Objekte/PersonBankverbindungElement\",\n \"key\": \"models.data.$m_Person.IdPersonBankverbindungElement\",\n \"keyProperty\": \"Id\",\n \"filters\": []\n });\n this.addModel({\n \"id\": \"$m_BerufserfahrungElement\",\n \"webApiAction\": \"ZIT/Objekte/PersonBerufserfahrungElement\",\n \"key\": \"models.data.$m_Person.IdPersonBerufserfahrungElement\",\n \"keyProperty\": \"Id\",\n \"filters\": []\n });\n this.addModel({\n \"id\": \"$m_AusbildungElement\",\n \"webApiAction\": \"ZIT/Objekte/PersonAusbildungElement\",\n \"key\": \"models.data.$m_Person.IdPersonAusbildungElement\",\n \"keyProperty\": \"Id\",\n \"filters\": []\n });\n this.addModel({\n \"id\": \"$m_BerufElement\",\n \"webApiAction\": \"ZIT/Objekte/PersonBerufElement\",\n \"key\": \"models.data.$m_Person.IdPersonBerufElement\",\n \"keyProperty\": \"Id\",\n \"filters\": []\n });\n this.addModel({\n \"id\": \"$m_SpracheElement\",\n \"webApiAction\": \"ZIT/Objekte/PersonSpracheElement\",\n \"key\": \"models.data.$m_Person.IdPersonSpracheElement\",\n \"keyProperty\": \"Id\",\n \"filters\": []\n });\n this.addModel({\n \"id\": \"$m_FuehrerscheinElement\",\n \"webApiAction\": \"ZIT/Objekte/PersonFuehrerscheinElement\",\n \"key\": \"models.data.$m_Person.IdPersonFuehrerscheinElement\",\n \"keyProperty\": \"Id\",\n \"filters\": []\n });\n this.addModel({\n \"id\": \"$m_PersonAdresseRel\",\n \"webApiAction\": \"ZIT/Objekte/PersonAdresseElement\",\n \"webApiExpand\": {\n 'Adresstyp': null,\n 'Land': null\n },\n \"keyProperty\": \"Id\",\n \"allowNew\": \"true\",\n \"filters\": []\n });\n this.addModel({\n \"id\": \"$m_PersonAdresseEdit\",\n \"webApiAction\": \"ZIT/Objekte/PersonAdresseElement\",\n \"keyProperty\": \"Id\",\n \"filters\": []\n });\n this.addModel({\n \"id\": \"$m_PersonKontaktRel\",\n \"webApiAction\": \"ZIT/Objekte/PersonKontaktElement\",\n \"webApiExpand\": {\n 'Kontakttyp': null\n },\n \"keyProperty\": \"Id\",\n \"filters\": []\n });\n this.addModel({\n \"id\": \"$m_PersonKontaktEdit\",\n \"webApiAction\": \"ZIT/Objekte/PersonKontaktElement\",\n \"keyProperty\": \"Id\",\n \"filters\": []\n });\n this.addModel({\n \"id\": \"$m_PersonBankverbindungRel\",\n \"webApiAction\": \"ZIT/Objekte/PersonBankverbindung\",\n \"webApiExpand\": {\n 'Waehrung': null\n },\n \"keyProperty\": \"Id\",\n \"filters\": []\n });\n this.addModel({\n \"id\": \"$m_PersonBankverbindungEdit\",\n \"webApiAction\": \"ZIT/Objekte/PersonBankverbindung\",\n \"keyProperty\": \"Id\",\n \"filters\": []\n });\n this.addModel({\n \"id\": \"$m_PersonBerufserfahrungRel\",\n \"webApiAction\": \"ZIT/Objekte/PersonBerufserfahrung\",\n \"keyProperty\": \"Id\",\n \"filters\": []\n });\n this.addModel({\n \"id\": \"$m_PersonBerufserfahrungEdit\",\n \"webApiAction\": \"ZIT/Objekte/PersonBerufserfahrung\",\n \"keyProperty\": \"Id\",\n \"filters\": []\n });\n this.addModel({\n \"id\": \"$m_PersonAusbildungRel\",\n \"webApiAction\": \"ZIT/Objekte/PersonAusbildung\",\n \"webApiExpand\": {\n 'Ausbildung': null,\n 'AusbildungsortOrder': null,\n 'AusbildungAbschluss': null\n },\n \"keyProperty\": \"Id\",\n \"filters\": []\n });\n this.addModel({\n \"id\": \"$m_PersonAusbildungEdit\",\n \"webApiAction\": \"ZIT/Objekte/PersonAusbildung\",\n \"keyProperty\": \"Id\",\n \"filters\": []\n });\n this.addModel({\n \"id\": \"$m_PersonBerufRel\",\n \"webApiAction\": \"ZIT/Objekte/PersonBeruf\",\n \"webApiExpand\": {\n 'Beruf': null,\n 'BerufQualifikation': null,\n 'AusbildungAbschluss': null\n },\n \"keyProperty\": \"Id\",\n \"filters\": []\n });\n this.addModel({\n \"id\": \"$m_PersonBerufEdit\",\n \"webApiAction\": \"ZIT/Objekte/PersonBeruf\",\n \"keyProperty\": \"Id\",\n \"filters\": []\n });\n this.addModel({\n \"id\": \"$m_PersonSpracheRel\",\n \"webApiAction\": \"ZIT/Objekte/PersonSprache\",\n \"webApiExpand\": {\n 'Sprache': null,\n 'Sprachniveau': null\n },\n \"keyProperty\": \"Id\",\n \"filters\": []\n });\n this.addModel({\n \"id\": \"$m_PersonSpracheEdit\",\n \"webApiAction\": \"ZIT/Objekte/PersonSprache\",\n \"keyProperty\": \"Id\",\n \"filters\": []\n });\n this.addModel({\n \"id\": \"$m_PersonFuehrerscheinRel\",\n \"webApiAction\": \"ZIT/Objekte/PersonFuehrerschein\",\n \"webApiExpand\": {\n 'Fuehrerscheinklasse': null\n },\n \"keyProperty\": \"Id\",\n \"filters\": []\n });\n this.addModel({\n \"id\": \"$m_PersonFuehrerscheinEdit\",\n \"webApiAction\": \"ZIT/Objekte/PersonFuehrerschein\",\n \"keyProperty\": \"Id\",\n \"filters\": []\n });\n this.addModel({\n \"id\": \"$m_PersonSkillRel\",\n \"webApiAction\": \"ZIT/Objekte/PersonSkillElement\",\n \"webApiExpand\": {\n 'Skill': null\n },\n \"keyProperty\": \"Id\",\n \"filters\": []\n });\n this.addModel({\n \"id\": \"$m_PersonSkillEdit\",\n \"webApiAction\": \"ZIT/Objekte/PersonSkillElement\",\n \"keyProperty\": \"Id\",\n \"filters\": []\n });\n this.addModel({\n \"id\": \"$m_DokumentRel\",\n \"webApiAction\": \"ZIT/Objekte/DokumentElement\",\n \"webApiExpand\": {\n 'Informationstyp': null\n },\n \"keyProperty\": \"Id\",\n \"filters\": []\n });\n this.addModel({\n \"id\": \"$m_DokumentEdit\",\n \"webApiAction\": \"ZIT/Objekte/DokumentElement\",\n \"keyProperty\": \"Id\",\n \"filters\": []\n });\n this.addModel({\n \"id\": \"$m_PersonGeschaeftspartnerEinsatzRel\",\n \"webApiAction\": \"ZIT/Objekte/PersonGeschaeftspartnerEinsatzElement\",\n \"webApiExpand\": {\n 'Geschaeftspartner': null\n },\n \"keyProperty\": \"Id\",\n \"filters\": []\n });\n this.addModel({\n \"id\": \"$m_PersonGeschaeftspartnerEinsatzEdit\",\n \"webApiAction\": \"ZIT/Objekte/PersonGeschaeftspartnerEinsatzElement\",\n \"keyProperty\": \"Id\",\n \"filters\": []\n });\n this.addCommand({\n \"binding\": {\n \"bindTo\": \"$f_PersonenEditUtils.actionCommand\",\n \"bindToFQ\": \"functions.$f_PersonenEditUtils.actionCommand\"\n }\n });\n this.addEditPopup({\n \"idContent\": \"personAdresseEditPopupContent\",\n \"mappings\": [{\n \"to\": \"$id\",\n \"binding\": {\n \"dataContext\": \"$m_PersonAdresseEdit\",\n \"bindTo\": \"Id\",\n \"bindToFQ\": \"models.data.$m_PersonAdresseEdit.Id\"\n }\n }],\n \"id\": \"personAdresseEditPopup\",\n \"options\": {\n \"optionsName\": \"personAdresseEditPopupOptions\",\n \"optionsNameFQ\": \"personAdresseEditPopupOptions\"\n },\n \"height\": \"auto\",\n \"width\": \"500px\",\n \"commands\": []\n });\n this.addEditPopup({\n \"idContent\": \"personBankverbindungEditPopupContent\",\n \"mappings\": [{\n \"to\": \"$id\",\n \"binding\": {\n \"dataContext\": \"$m_PersonBankverbindungEdit\",\n \"bindTo\": \"Id\",\n \"bindToFQ\": \"models.data.$m_PersonBankverbindungEdit.Id\"\n }\n }],\n \"id\": \"personBankverbindungEditPopup\",\n \"options\": {\n \"optionsName\": \"personBankverbindungEditPopupOptions\",\n \"optionsNameFQ\": \"personBankverbindungEditPopupOptions\"\n },\n \"height\": \"auto\",\n \"width\": \"500px\",\n \"commands\": []\n });\n this.addEditPopup({\n \"idContent\": \"personBerufserfahrungEditPopupContent\",\n \"mappings\": [{\n \"to\": \"$id\",\n \"binding\": {\n \"dataContext\": \"$m_PersonBerufserfahrungEdit\",\n \"bindTo\": \"Id\",\n \"bindToFQ\": \"models.data.$m_PersonBerufserfahrungEdit.Id\"\n }\n }],\n \"id\": \"personBerufserfahrungEditPopup\",\n \"options\": {\n \"optionsName\": \"personBerufserfahrungEditPopupOptions\",\n \"optionsNameFQ\": \"personBerufserfahrungEditPopupOptions\"\n },\n \"height\": \"auto\",\n \"width\": \"500px\",\n \"commands\": []\n });\n this.addEditPopup({\n \"idContent\": \"personGeschaeftspartnerEinsatzEditPopupContent\",\n \"mappings\": [{\n \"to\": \"$id\",\n \"binding\": {\n \"dataContext\": \"$m_PersonGeschaeftspartnerEinsatzEdit\",\n \"bindTo\": \"Id\",\n \"bindToFQ\": \"models.data.$m_PersonGeschaeftspartnerEinsatzEdit.Id\"\n }\n }],\n \"id\": \"personGeschaeftspartnerEinsatzEditPopup\",\n \"options\": {\n \"optionsName\": \"personGeschaeftspartnerEinsatzEditPopupOptions\",\n \"optionsNameFQ\": \"personGeschaeftspartnerEinsatzEditPopupOptions\"\n },\n \"height\": \"auto\",\n \"width\": \"500px\",\n \"commands\": []\n });\n this.addEditPopup({\n \"idContent\": \"personFuehrerscheinEditPopupContent\",\n \"mappings\": [{\n \"to\": \"$id\",\n \"binding\": {\n \"dataContext\": \"$m_PersonFuehrerscheinEdit\",\n \"bindTo\": \"Id\",\n \"bindToFQ\": \"models.data.$m_PersonFuehrerscheinEdit.Id\"\n }\n }],\n \"id\": \"personFuehrerscheinEditPopup\",\n \"options\": {\n \"optionsName\": \"personFuehrerscheinEditPopupOptions\",\n \"optionsNameFQ\": \"personFuehrerscheinEditPopupOptions\"\n },\n \"height\": \"auto\",\n \"width\": \"500px\",\n \"commands\": []\n });\n this.addEditPopup({\n \"idContent\": \"personSkillEditPopupContent\",\n \"mappings\": [{\n \"to\": \"$id\",\n \"binding\": {\n \"dataContext\": \"$m_PersonSkillEdit\",\n \"bindTo\": \"Id\",\n \"bindToFQ\": \"models.data.$m_PersonSkillEdit.Id\"\n }\n }],\n \"id\": \"personSkillEditPopup\",\n \"options\": {\n \"optionsName\": \"personSkillEditPopupOptions\",\n \"optionsNameFQ\": \"personSkillEditPopupOptions\"\n },\n \"height\": \"auto\",\n \"width\": \"500px\",\n \"commands\": []\n });\n this.addEditPopup({\n \"idContent\": \"personBerufEditPopupContent\",\n \"mappings\": [{\n \"to\": \"$id\",\n \"binding\": {\n \"dataContext\": \"$m_PersonBerufEdit\",\n \"bindTo\": \"Id\",\n \"bindToFQ\": \"models.data.$m_PersonBerufEdit.Id\"\n }\n }],\n \"id\": \"personBerufEditPopup\",\n \"options\": {\n \"optionsName\": \"personBerufEditPopupOptions\",\n \"optionsNameFQ\": \"personBerufEditPopupOptions\"\n },\n \"height\": \"auto\",\n \"width\": \"500px\",\n \"commands\": []\n });\n this.addEditPopup({\n \"idContent\": \"personSpracheEditPopupContent\",\n \"mappings\": [{\n \"to\": \"$id\",\n \"binding\": {\n \"dataContext\": \"$m_PersonSpracheEdit\",\n \"bindTo\": \"Id\",\n \"bindToFQ\": \"models.data.$m_PersonSpracheEdit.Id\"\n }\n }],\n \"id\": \"personSpracheEditPopup\",\n \"options\": {\n \"optionsName\": \"personSpracheEditPopupOptions\",\n \"optionsNameFQ\": \"personSpracheEditPopupOptions\"\n },\n \"height\": \"auto\",\n \"width\": \"500px\",\n \"commands\": []\n });\n this.addEditPopup({\n \"idContent\": \"personAusbildungEditPopupContent\",\n \"mappings\": [{\n \"to\": \"$id\",\n \"binding\": {\n \"dataContext\": \"$m_PersonAusbildungEdit\",\n \"bindTo\": \"Id\",\n \"bindToFQ\": \"models.data.$m_PersonAusbildungEdit.Id\"\n }\n }],\n \"id\": \"personAusbildungEditPopup\",\n \"options\": {\n \"optionsName\": \"personAusbildungEditPopupOptions\",\n \"optionsNameFQ\": \"personAusbildungEditPopupOptions\"\n },\n \"height\": \"auto\",\n \"width\": \"500px\",\n \"commands\": []\n });\n this.addEditPopup({\n \"idContent\": \"personKontaktEditPopupContent\",\n \"mappings\": [{\n \"to\": \"$id\",\n \"binding\": {\n \"dataContext\": \"$m_PersonKontaktEdit\",\n \"bindTo\": \"Id\",\n \"bindToFQ\": \"models.data.$m_PersonKontaktEdit.Id\"\n }\n }],\n \"id\": \"personKontaktEditPopup\",\n \"options\": {\n \"optionsName\": \"personKontaktEditPopupOptions\",\n \"optionsNameFQ\": \"personKontaktEditPopupOptions\"\n },\n \"height\": \"350px\",\n \"width\": \"500px\",\n \"commands\": []\n });\n this.addFunction(\"$f_PersonenEditUtils\", $f_PersonenEditUtils, \"functions.$f_PersonenEditUtils\");\n this.widgetCreator.addValidationGroup(this, {\n \"id\": \"wd1\",\n \"options\": {\n \"optionsName\": \"wd1Options\",\n \"optionsNameFQ\": \"wd1Options\"\n }\n });\n this.widgetCreator.addRadioGroup(this, {\n \"idSelect\": \"geschlecht\",\n \"filters\": [],\n \"caption\": \"person-edit.r_geschlecht_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Person\",\n \"bindTo\": \"Personendaten.Geschlecht\",\n \"bindToFQ\": \"models.data.$m_Person.Personendaten.Geschlecht\",\n \"propertyPrefix\": \"Personendaten\"\n },\n \"validationRules\": [{\n \"item\": {\n \"type\": \"required\",\n \"parameters\": []\n }\n }],\n \"id\": \"r_geschlecht\",\n \"options\": {\n \"optionsName\": \"r_geschlechtOptions\",\n \"optionsNameFQ\": \"r_geschlechtOptions\"\n }\n });\n this.widgetCreator.addTextBox(this, {\n \"maxLength\": 50,\n \"caption\": \"person-edit.r_titelvorne_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Person\",\n \"bindTo\": \"Personendaten.TitelVorne\",\n \"bindToFQ\": \"models.data.$m_Person.Personendaten.TitelVorne\",\n \"propertyPrefix\": \"Personendaten\"\n },\n \"validationRules\": [],\n \"id\": \"r_titelVorne\",\n \"options\": {\n \"optionsName\": \"r_titelVorneOptions\",\n \"optionsNameFQ\": \"r_titelVorneOptions\"\n }\n });\n this.widgetCreator.addTextBox(this, {\n \"maxLength\": 50,\n \"caption\": \"person-edit.r_titelhinten_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Person\",\n \"bindTo\": \"Personendaten.TitelHinten\",\n \"bindToFQ\": \"models.data.$m_Person.Personendaten.TitelHinten\",\n \"propertyPrefix\": \"Personendaten\"\n },\n \"validationRules\": [],\n \"id\": \"r_titelHinten\",\n \"options\": {\n \"optionsName\": \"r_titelHintenOptions\",\n \"optionsNameFQ\": \"r_titelHintenOptions\"\n }\n });\n this.widgetCreator.addTextBox(this, {\n \"maxLength\": 100,\n \"caption\": \"person-edit.r_vorname_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Person\",\n \"bindTo\": \"Personendaten.Vorname\",\n \"bindToFQ\": \"models.data.$m_Person.Personendaten.Vorname\",\n \"propertyPrefix\": \"Personendaten\"\n },\n \"validationRules\": [{\n \"item\": {\n \"type\": \"required\",\n \"parameters\": []\n }\n }],\n \"id\": \"r_vorname\",\n \"options\": {\n \"optionsName\": \"r_vornameOptions\",\n \"optionsNameFQ\": \"r_vornameOptions\"\n }\n });\n this.widgetCreator.addTextBox(this, {\n \"maxLength\": 100,\n \"caption\": \"person-edit.r_nachname_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Person\",\n \"bindTo\": \"Personendaten.Nachname\",\n \"bindToFQ\": \"models.data.$m_Person.Personendaten.Nachname\",\n \"propertyPrefix\": \"Personendaten\"\n },\n \"validationRules\": [{\n \"item\": {\n \"type\": \"required\",\n \"parameters\": []\n }\n }],\n \"id\": \"r_nachname\",\n \"options\": {\n \"optionsName\": \"r_nachnameOptions\",\n \"optionsNameFQ\": \"r_nachnameOptions\"\n }\n });\n this.widgetCreator.addDateBox(this, {\n \"format\": \"d\",\n \"caption\": \"person-edit.r_geburtsdatum_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Person\",\n \"bindTo\": \"Personendaten.Geburtsdatum\",\n \"bindToFQ\": \"models.data.$m_Person.Personendaten.Geburtsdatum\",\n \"propertyPrefix\": \"Personendaten\"\n },\n \"validationRules\": [{\n \"item\": {\n \"type\": \"required\",\n \"parameters\": []\n }\n }],\n \"id\": \"r_geburtsdatum\",\n \"options\": {\n \"optionsName\": \"r_geburtsdatumOptions\",\n \"optionsNameFQ\": \"r_geburtsdatumOptions\"\n }\n });\n this.widgetCreator.addSelectBox(this, {\n \"idSelect\": \"staat\",\n \"filters\": [],\n \"caption\": \"person-edit.r_idnationalitaet_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Person\",\n \"bindTo\": \"Personendaten.IdNationalitaet\",\n \"bindToFQ\": \"models.data.$m_Person.Personendaten.IdNationalitaet\",\n \"propertyPrefix\": \"Personendaten\"\n },\n \"validationRules\": [{\n \"item\": {\n \"type\": \"required\",\n \"parameters\": []\n }\n }],\n \"id\": \"r_idNationalitaet\",\n \"options\": {\n \"optionsName\": \"r_idNationalitaetOptions\",\n \"optionsNameFQ\": \"r_idNationalitaetOptions\"\n }\n });\n this.widgetCreator.addSelectBox(this, {\n \"idSelect\": \"familienstand\",\n \"filters\": [],\n \"caption\": \"person-edit.r_familienstand_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Person\",\n \"bindTo\": \"Personendaten.IdFamilienstand\",\n \"bindToFQ\": \"models.data.$m_Person.Personendaten.IdFamilienstand\",\n \"propertyPrefix\": \"Personendaten\"\n },\n \"validationRules\": [],\n \"id\": \"r_familienstand\",\n \"options\": {\n \"optionsName\": \"r_familienstandOptions\",\n \"optionsNameFQ\": \"r_familienstandOptions\"\n }\n });\n this.widgetCreator.addTextBox(this, {\n \"maxLength\": 4,\n \"caption\": \"person-edit.r_svnr_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Person\",\n \"bindTo\": \"Personendaten.SVNr\",\n \"bindToFQ\": \"models.data.$m_Person.Personendaten.SVNr\",\n \"propertyPrefix\": \"Personendaten\"\n },\n \"validationRules\": [{\n \"item\": {\n \"type\": \"svnr\",\n \"parameters\": []\n }\n }],\n \"id\": \"r_svNr\",\n \"options\": {\n \"optionsName\": \"r_svNrOptions\",\n \"optionsNameFQ\": \"r_svNrOptions\"\n }\n });\n this.widgetCreator.addTextBox(this, {\n \"maxLength\": 20,\n \"caption\": \"person-edit.r_ahvnrliechtenstein_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Person\",\n \"bindTo\": \"Personendaten.AHVNrLiechtenstein\",\n \"bindToFQ\": \"models.data.$m_Person.Personendaten.AHVNrLiechtenstein\",\n \"propertyPrefix\": \"Personendaten\"\n },\n \"validationRules\": [{\n \"item\": {\n \"type\": \"ahvnr\",\n \"parameters\": []\n }\n }],\n \"id\": \"r_ahvNrLiechtenstein\",\n \"options\": {\n \"optionsName\": \"r_ahvNrLiechtensteinOptions\",\n \"optionsNameFQ\": \"r_ahvNrLiechtensteinOptions\"\n }\n });\n this.widgetCreator.addTextBox(this, {\n \"maxLength\": 20,\n \"caption\": \"person-edit.r_ahvnrschweiz_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Person\",\n \"bindTo\": \"Personendaten.AHVNrSchweiz\",\n \"bindToFQ\": \"models.data.$m_Person.Personendaten.AHVNrSchweiz\",\n \"propertyPrefix\": \"Personendaten\"\n },\n \"validationRules\": [{\n \"item\": {\n \"type\": \"ahvnr\",\n \"parameters\": []\n }\n }],\n \"id\": \"r_ahvNrSchweiz\",\n \"options\": {\n \"optionsName\": \"r_ahvNrSchweizOptions\",\n \"optionsNameFQ\": \"r_ahvNrSchweizOptions\"\n }\n });\n this.widgetCreator.addSelectBox(this, {\n \"idSelect\": \"groesseSchuh\",\n \"filters\": [],\n \"caption\": \"person-edit.r_schuhgroesse_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Person\",\n \"bindTo\": \"Personendaten.IdSchuhgroesse\",\n \"bindToFQ\": \"models.data.$m_Person.Personendaten.IdSchuhgroesse\",\n \"propertyPrefix\": \"Personendaten\"\n },\n \"validationRules\": [],\n \"id\": \"r_schuhgroesse\",\n \"options\": {\n \"optionsName\": \"r_schuhgroesseOptions\",\n \"optionsNameFQ\": \"r_schuhgroesseOptions\"\n }\n });\n this.widgetCreator.addSelectBox(this, {\n \"idSelect\": \"groesseKleider\",\n \"filters\": [],\n \"caption\": \"person-edit.r_kleidergroesse_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Person\",\n \"bindTo\": \"Personendaten.IdKleidergroesse\",\n \"bindToFQ\": \"models.data.$m_Person.Personendaten.IdKleidergroesse\",\n \"propertyPrefix\": \"Personendaten\"\n },\n \"validationRules\": [],\n \"id\": \"r_kleidergroesse\",\n \"options\": {\n \"optionsName\": \"r_kleidergroesseOptions\",\n \"optionsNameFQ\": \"r_kleidergroesseOptions\"\n }\n });\n this.widgetCreator.addCheckBox(this, {\n \"caption\": \"person-edit.r_staplerfuehrerschein_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Person\",\n \"bindTo\": \"Personendaten.HasStaplerfuehrerschein\",\n \"bindToFQ\": \"models.data.$m_Person.Personendaten.HasStaplerfuehrerschein\",\n \"propertyPrefix\": \"Personendaten\"\n },\n \"validationRules\": [],\n \"id\": \"r_staplerfuehrerschein\",\n \"options\": {\n \"optionsName\": \"r_staplerfuehrerscheinOptions\",\n \"optionsNameFQ\": \"r_staplerfuehrerscheinOptions\"\n }\n });\n this.widgetCreator.addFileUploaderWithViewer(this, {\n \"acceptTypeEnum\": 0,\n \"acceptType\": \"image/*\",\n \"height\": \"250px\",\n \"showToolbar\": true,\n \"showClearButton\": false,\n \"caption\": \"person-edit.r_dmslinkfoto_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Person\",\n \"bindTo\": \"Personendaten.DMSLinkFoto\",\n \"bindToFQ\": \"models.data.$m_Person.Personendaten.DMSLinkFoto\",\n \"propertyPrefix\": \"Personendaten\"\n },\n \"validationRules\": [],\n \"id\": \"r_dmsLinkFoto\",\n \"options\": {\n \"optionsName\": \"r_dmsLinkFotoOptions\",\n \"optionsNameFQ\": \"r_dmsLinkFotoOptions\"\n }\n });\n this.widgetCreator.addTextArea(this, {\n \"height\": \"100px\",\n \"caption\": \"person-edit.r_bemerkung_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Person\",\n \"bindTo\": \"Personendaten.Bemerkung\",\n \"bindToFQ\": \"models.data.$m_Person.Personendaten.Bemerkung\",\n \"propertyPrefix\": \"Personendaten\"\n },\n \"validationRules\": [],\n \"id\": \"r_bemerkung\",\n \"options\": {\n \"optionsName\": \"r_bemerkungOptions\",\n \"optionsNameFQ\": \"r_bemerkungOptions\"\n }\n });\n this.widgetCreator.addTextBox(this, {\n \"maxLength\": 100,\n \"caption\": \"person-edit.r_email_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Person\",\n \"bindTo\": \"Personendaten.Email\",\n \"bindToFQ\": \"models.data.$m_Person.Personendaten.Email\",\n \"propertyPrefix\": \"Personendaten\"\n },\n \"validationRules\": [{\n \"item\": {\n \"type\": \"conditionalRequired\",\n \"parameters\": [{\n \"name\": \"condition\",\n \"value\": \"models.data.$m_Person.Personendaten && (!models.data.$m_Person.Personendaten.Mobil || !models.data.$m_Person.Personendaten.MobilLandvorwahl)\"\n }]\n }\n }],\n \"id\": \"r_email\",\n \"options\": {\n \"optionsName\": \"r_emailOptions\",\n \"optionsNameFQ\": \"r_emailOptions\"\n }\n });\n this.widgetCreator.addSelectBox(this, {\n \"idSelect\": \"landvorwahl\",\n \"filters\": [],\n \"caption\": \"person-edit.r_mobillandvorwahl_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Person\",\n \"bindTo\": \"Personendaten.MobilLandvorwahl\",\n \"bindToFQ\": \"models.data.$m_Person.Personendaten.MobilLandvorwahl\",\n \"propertyPrefix\": \"Personendaten\"\n },\n \"validationRules\": [{\n \"item\": {\n \"type\": \"conditionalRequired\",\n \"parameters\": [{\n \"name\": \"condition\",\n \"value\": \"models.data.$m_Person.Personendaten && models.data.$m_Person.Personendaten.Mobil\"\n }]\n }\n }, {\n \"item\": {\n \"type\": \"conditionalRequired\",\n \"parameters\": [{\n \"name\": \"condition\",\n \"value\": \"models.data.$m_Person.Personendaten && !models.data.$m_Person.Personendaten.Email\"\n }]\n }\n }],\n \"id\": \"r_mobilLandvorwahl\",\n \"options\": {\n \"optionsName\": \"r_mobilLandvorwahlOptions\",\n \"optionsNameFQ\": \"r_mobilLandvorwahlOptions\"\n }\n });\n this.widgetCreator.addTextBox(this, {\n \"maxLength\": 100,\n \"caption\": \"person-edit.r_mobil_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Person\",\n \"bindTo\": \"Personendaten.Mobil\",\n \"bindToFQ\": \"models.data.$m_Person.Personendaten.Mobil\",\n \"propertyPrefix\": \"Personendaten\"\n },\n \"validationRules\": [{\n \"item\": {\n \"type\": \"telefon\",\n \"parameters\": []\n }\n }, {\n \"item\": {\n \"type\": \"conditionalRequired\",\n \"parameters\": [{\n \"name\": \"condition\",\n \"value\": \"models.data.$m_Person.Personendaten && !models.data.$m_Person.Personendaten.Email\"\n }]\n }\n }],\n \"id\": \"r_mobil\",\n \"options\": {\n \"optionsName\": \"r_mobilOptions\",\n \"optionsNameFQ\": \"r_mobilOptions\"\n }\n });\n this.widgetCreator.addListView(this, {\n \"itemClass\": \"z--list-view-inline-item\",\n \"useDefaultListItemStyle\": false,\n \"optionsToolbar\": {\n \"optionsName\": \"r_personAdresseListViewToolbarOptions\",\n \"optionsNameFQ\": \"r_personAdresseListViewToolbarOptions\"\n },\n \"binding\": {\n \"dataContext\": \"$m_Person\"\n },\n \"isRelation\": true,\n \"relationBinding\": {\n \"dataContext\": \"$m_PersonAdresseRel\",\n \"bindTo\": \"IdPerson\",\n \"bindToFQ\": \"models.data.$m_PersonAdresseRel.IdPerson\"\n },\n \"dataModel\": \"$m_Person\",\n \"editDataContext\": \"$m_PersonAdresseEdit\",\n \"idEditPopup\": \"personAdresseEditPopup\",\n \"listEdits\": [],\n \"filters\": [],\n \"commands\": [],\n \"id\": \"r_personAdresseListView\",\n \"options\": {\n \"optionsName\": \"r_personAdresseListViewOptions\",\n \"optionsNameFQ\": \"r_personAdresseListViewOptions\"\n }\n });\n this.widgetCreator.addListView(this, {\n \"itemClass\": \"z--list-view-inline-item\",\n \"useDefaultListItemStyle\": false,\n \"optionsToolbar\": {\n \"optionsName\": \"r_personAusbildungListViewToolbarOptions\",\n \"optionsNameFQ\": \"r_personAusbildungListViewToolbarOptions\"\n },\n \"binding\": {\n \"dataContext\": \"$m_AusbildungElement\"\n },\n \"isRelation\": true,\n \"relationBinding\": {\n \"dataContext\": \"$m_PersonAusbildungRel\",\n \"bindTo\": \"IdPersonAusbildungElement\",\n \"bindToFQ\": \"models.data.$m_PersonAusbildungRel.IdPersonAusbildungElement\"\n },\n \"dataModel\": \"$m_AusbildungElement\",\n \"editDataContext\": \"$m_PersonAusbildungEdit\",\n \"idEditPopup\": \"personAusbildungEditPopup\",\n \"listEdits\": [],\n \"filters\": [],\n \"commands\": [],\n \"id\": \"r_personAusbildungListView\",\n \"options\": {\n \"optionsName\": \"r_personAusbildungListViewOptions\",\n \"optionsNameFQ\": \"r_personAusbildungListViewOptions\"\n }\n });\n this.widgetCreator.addListView(this, {\n \"itemClass\": \"z--list-view-inline-item\",\n \"useDefaultListItemStyle\": false,\n \"optionsToolbar\": {\n \"optionsName\": \"r_personBankverbindungListViewToolbarOptions\",\n \"optionsNameFQ\": \"r_personBankverbindungListViewToolbarOptions\"\n },\n \"binding\": {\n \"dataContext\": \"$m_BankverbindungElement\"\n },\n \"isRelation\": true,\n \"relationBinding\": {\n \"dataContext\": \"$m_PersonBankverbindungRel\",\n \"bindTo\": \"IdPersonBankverbindungElement\",\n \"bindToFQ\": \"models.data.$m_PersonBankverbindungRel.IdPersonBankverbindungElement\"\n },\n \"dataModel\": \"$m_BankverbindungElement\",\n \"editDataContext\": \"$m_PersonBankverbindungEdit\",\n \"idEditPopup\": \"personBankverbindungEditPopup\",\n \"listEdits\": [],\n \"filters\": [],\n \"commands\": [],\n \"id\": \"r_personBankverbindungListView\",\n \"options\": {\n \"optionsName\": \"r_personBankverbindungListViewOptions\",\n \"optionsNameFQ\": \"r_personBankverbindungListViewOptions\"\n }\n });\n this.widgetCreator.addListView(this, {\n \"itemClass\": \"z--list-view-inline-item\",\n \"useDefaultListItemStyle\": false,\n \"optionsToolbar\": {\n \"optionsName\": \"r_personBerufserfahrungListViewToolbarOptions\",\n \"optionsNameFQ\": \"r_personBerufserfahrungListViewToolbarOptions\"\n },\n \"binding\": {\n \"dataContext\": \"$m_BerufserfahrungElement\"\n },\n \"isRelation\": true,\n \"relationBinding\": {\n \"dataContext\": \"$m_PersonBerufserfahrungRel\",\n \"bindTo\": \"IdPersonBerufserfahrungElement\",\n \"bindToFQ\": \"models.data.$m_PersonBerufserfahrungRel.IdPersonBerufserfahrungElement\"\n },\n \"dataModel\": \"$m_BerufserfahrungElement\",\n \"editDataContext\": \"$m_PersonBerufserfahrungEdit\",\n \"idEditPopup\": \"personBerufserfahrungEditPopup\",\n \"listEdits\": [],\n \"filters\": [],\n \"commands\": [],\n \"id\": \"r_personBerufserfahrungListView\",\n \"options\": {\n \"optionsName\": \"r_personBerufserfahrungListViewOptions\",\n \"optionsNameFQ\": \"r_personBerufserfahrungListViewOptions\"\n }\n });\n this.widgetCreator.addListView(this, {\n \"itemClass\": \"z--list-view-inline-item\",\n \"useDefaultListItemStyle\": false,\n \"optionsToolbar\": {\n \"optionsName\": \"r_personBerufListViewToolbarOptions\",\n \"optionsNameFQ\": \"r_personBerufListViewToolbarOptions\"\n },\n \"binding\": {\n \"dataContext\": \"$m_BerufElement\"\n },\n \"isRelation\": true,\n \"relationBinding\": {\n \"dataContext\": \"$m_PersonBerufRel\",\n \"bindTo\": \"IdPersonBerufElement\",\n \"bindToFQ\": \"models.data.$m_PersonBerufRel.IdPersonBerufElement\"\n },\n \"dataModel\": \"$m_BerufElement\",\n \"editDataContext\": \"$m_PersonBerufEdit\",\n \"idEditPopup\": \"personBerufEditPopup\",\n \"listEdits\": [],\n \"filters\": [],\n \"commands\": [],\n \"id\": \"r_personBerufListView\",\n \"options\": {\n \"optionsName\": \"r_personBerufListViewOptions\",\n \"optionsNameFQ\": \"r_personBerufListViewOptions\"\n }\n });\n this.widgetCreator.addListView(this, {\n \"itemClass\": \"z--list-view-inline-item\",\n \"useDefaultListItemStyle\": false,\n \"optionsToolbar\": {\n \"optionsName\": \"r_personFuehrerscheinListViewToolbarOptions\",\n \"optionsNameFQ\": \"r_personFuehrerscheinListViewToolbarOptions\"\n },\n \"binding\": {\n \"dataContext\": \"$m_FuehrerscheinElement\"\n },\n \"isRelation\": true,\n \"relationBinding\": {\n \"dataContext\": \"$m_PersonFuehrerscheinRel\",\n \"bindTo\": \"IdPersonFuehrerscheinElement\",\n \"bindToFQ\": \"models.data.$m_PersonFuehrerscheinRel.IdPersonFuehrerscheinElement\"\n },\n \"dataModel\": \"$m_FuehrerscheinElement\",\n \"editDataContext\": \"$m_PersonFuehrerscheinEdit\",\n \"idEditPopup\": \"personFuehrerscheinEditPopup\",\n \"listEdits\": [],\n \"filters\": [],\n \"commands\": [],\n \"id\": \"r_personFuehrerscheinListView\",\n \"options\": {\n \"optionsName\": \"r_personFuehrerscheinListViewOptions\",\n \"optionsNameFQ\": \"r_personFuehrerscheinListViewOptions\"\n }\n });\n this.widgetCreator.addListView(this, {\n \"itemClass\": \"z--list-view-inline-item\",\n \"useDefaultListItemStyle\": false,\n \"optionsToolbar\": {\n \"optionsName\": \"r_personKontaktdatenListViewToolbarOptions\",\n \"optionsNameFQ\": \"r_personKontaktdatenListViewToolbarOptions\"\n },\n \"binding\": {\n \"dataContext\": \"$m_Person\"\n },\n \"isRelation\": true,\n \"relationBinding\": {\n \"dataContext\": \"$m_PersonKontaktRel\",\n \"bindTo\": \"IdPerson\",\n \"bindToFQ\": \"models.data.$m_PersonKontaktRel.IdPerson\"\n },\n \"dataModel\": \"$m_Person\",\n \"editDataContext\": \"$m_PersonKontaktEdit\",\n \"idEditPopup\": \"personKontaktEditPopup\",\n \"listEdits\": [],\n \"filters\": [],\n \"commands\": [],\n \"id\": \"r_personKontaktdatenListView\",\n \"options\": {\n \"optionsName\": \"r_personKontaktdatenListViewOptions\",\n \"optionsNameFQ\": \"r_personKontaktdatenListViewOptions\"\n }\n });\n this.widgetCreator.addListView(this, {\n \"itemClass\": \"z--list-view-inline-item\",\n \"useDefaultListItemStyle\": false,\n \"optionsToolbar\": {\n \"optionsName\": \"r_personSpracheListViewToolbarOptions\",\n \"optionsNameFQ\": \"r_personSpracheListViewToolbarOptions\"\n },\n \"binding\": {\n \"dataContext\": \"$m_SpracheElement\"\n },\n \"isRelation\": true,\n \"relationBinding\": {\n \"dataContext\": \"$m_PersonSpracheRel\",\n \"bindTo\": \"IdPersonSpracheElement\",\n \"bindToFQ\": \"models.data.$m_PersonSpracheRel.IdPersonSpracheElement\"\n },\n \"dataModel\": \"$m_SpracheElement\",\n \"editDataContext\": \"$m_PersonSpracheEdit\",\n \"idEditPopup\": \"personSpracheEditPopup\",\n \"listEdits\": [],\n \"filters\": [],\n \"commands\": [],\n \"id\": \"r_personSpracheListView\",\n \"options\": {\n \"optionsName\": \"r_personSpracheListViewOptions\",\n \"optionsNameFQ\": \"r_personSpracheListViewOptions\"\n }\n });\n this.widgetCreator.addListView(this, {\n \"itemClass\": \"z--list-view-inline-item\",\n \"useDefaultListItemStyle\": false,\n \"optionsToolbar\": {\n \"optionsName\": \"r_personSkillListViewToolbarOptions\",\n \"optionsNameFQ\": \"r_personSkillListViewToolbarOptions\"\n },\n \"binding\": {\n \"dataContext\": \"$m_Person\"\n },\n \"isRelation\": true,\n \"relationBinding\": {\n \"dataContext\": \"$m_PersonSkillRel\",\n \"bindTo\": \"IdPerson\",\n \"bindToFQ\": \"models.data.$m_PersonSkillRel.IdPerson\"\n },\n \"dataModel\": \"$m_Person\",\n \"editDataContext\": \"$m_PersonSkillEdit\",\n \"idEditPopup\": \"personSkillEditPopup\",\n \"listEdits\": [],\n \"filters\": [],\n \"commands\": [],\n \"id\": \"r_personSkillListView\",\n \"options\": {\n \"optionsName\": \"r_personSkillListViewOptions\",\n \"optionsNameFQ\": \"r_personSkillListViewOptions\"\n }\n });\n this.widgetCreator.addListView(this, {\n \"itemClass\": \"z--list-view-inline-item\",\n \"useDefaultListItemStyle\": false,\n \"optionsToolbar\": {\n \"optionsName\": \"r_personGeschaeftspartnerEinsatzListViewToolbarOptions\",\n \"optionsNameFQ\": \"r_personGeschaeftspartnerEinsatzListViewToolbarOptions\"\n },\n \"binding\": {\n \"dataContext\": \"$m_Person\"\n },\n \"isRelation\": true,\n \"relationBinding\": {\n \"dataContext\": \"$m_PersonGeschaeftspartnerEinsatzRel\",\n \"bindTo\": \"IdPerson\",\n \"bindToFQ\": \"models.data.$m_PersonGeschaeftspartnerEinsatzRel.IdPerson\"\n },\n \"dataModel\": \"$m_Person\",\n \"editDataContext\": \"$m_PersonGeschaeftspartnerEinsatzEdit\",\n \"idEditPopup\": \"personGeschaeftspartnerEinsatzEditPopup\",\n \"listEdits\": [],\n \"filters\": [],\n \"commands\": [],\n \"id\": \"r_personGeschaeftspartnerEinsatzListView\",\n \"options\": {\n \"optionsName\": \"r_personGeschaeftspartnerEinsatzListViewOptions\",\n \"optionsNameFQ\": \"r_personGeschaeftspartnerEinsatzListViewOptions\"\n }\n });\n this.widgetCreator.addListView(this, {\n \"itemClass\": \"col-xs-12 col-sm-6\",\n \"useDefaultListItemStyle\": false,\n \"createToolbar\": true,\n \"optionsToolbar\": {\n \"optionsName\": \"r_personBewerbungListViewToolbarOptions\",\n \"optionsNameFQ\": \"r_personBewerbungListViewToolbarOptions\"\n },\n \"caption\": \"person-edit.r_personbewerbunglistview_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Bewerbung\"\n },\n \"dataModel\": \"$m_Bewerbung\",\n \"pageSize\": 2,\n \"listEdits\": [],\n \"filters\": [],\n \"commands\": [],\n \"id\": \"r_personBewerbungListView\",\n \"options\": {\n \"optionsName\": \"r_personBewerbungListViewOptions\",\n \"optionsNameFQ\": \"r_personBewerbungListViewOptions\"\n }\n });\n super.onConstructionFinished();\n }\n}","module.exports = \"\";","import * as fwx from \"../../../../framework/forms/form-export\";\nimport {\n PersonReadUtils\n} from \"./person-read-utils\";\n\n@fwx.autoinject\nexport class PersonFerialReadForm extends fwx.FormBase {\n constructor(\n element: Element,\n formBaseImport: fwx.FormBaseImport,\n private $f_PersonReadUtils: PersonReadUtils) {\n super(element, formBaseImport);\n this.id = \"person-ferial-read\";\n this.title = \"person-ferial-read.person-ferial-read_caption\";\n this.addModel({\n \"id\": \"$m_Person\",\n \"webApiAction\": \"ZIT/Objekte/Person\",\n \"webApiExpand\": {\n 'Personendaten': {\n 'expand': {\n 'Nationalitaet': null\n }\n },\n 'Adressen': {\n 'expand': {\n 'Land': null\n },\n 'where': [\n [\n [\n 'GueltigVon',\n '<=',\n '@Today()'\n ],\n 'or',\n [\n 'GueltigVon',\n '=',\n 'null'\n ]\n ],\n [\n [\n 'GueltigBis',\n '>=',\n '@Today()'\n ],\n 'or',\n [\n 'GueltigBis',\n '=',\n 'null'\n ]\n ]\n ]\n },\n 'Kontakte': {\n 'expand': {\n 'Kontakttyp': null\n }\n },\n 'Sprache': {\n 'expand': {\n 'Sprachen': {\n 'expand': {\n 'Sprachniveau': null,\n 'Sprache': null\n }\n }\n }\n },\n 'Berufserfahrungen': {\n 'expand': {\n 'Berufserfahrungen': null\n }\n },\n 'Ausbildung': {\n 'expand': {\n 'Ausbildungen': {\n 'expand': {\n 'Ausbildung': null,\n 'AusbildungAbschluss': null\n }\n }\n }\n }\n },\n \"modificationInfoEnabled\": true,\n \"key\": \"variables.data.$id\",\n \"keyProperty\": \"Id\",\n \"filters\": []\n });\n this.addModel({\n \"id\": \"$m_Bewerbung\",\n \"webApiAction\": \"ZIT/Objekte/Bewerbung\",\n \"webApiColumns\": [\"Id\"],\n \"webApiWhere\": [\n [\"Kopf.IdPerson\", {\n \"isBound\": true,\n \"expression\": \"models.data.$m_Person.Id\"\n }]\n ],\n \"modificationInfoEnabled\": true,\n \"keyProperty\": \"Id\",\n \"filters\": [{\n \"webApiCustomKey\": \"AddBewerbungCard\",\n \"webApiCustomValue\": \"true\"\n }]\n });\n this.addCommand({\n \"binding\": {\n \"bindTo\": \"$f_PersonReadUtils.actionCommand\",\n \"bindToFQ\": \"functions.$f_PersonReadUtils.actionCommand\"\n }\n });\n this.addFunction(\"$f_PersonReadUtils\", $f_PersonReadUtils, \"functions.$f_PersonReadUtils\");\n this.widgetCreator.addValidationGroup(this, {\n \"id\": \"wd1\",\n \"options\": {\n \"optionsName\": \"wd1Options\",\n \"optionsNameFQ\": \"wd1Options\"\n }\n });\n this.widgetCreator.addListView(this, {\n \"itemClass\": \"z--list-view-inline-item\",\n \"useDefaultListItemStyle\": false,\n \"optionsToolbar\": {\n \"optionsName\": \"r_personSpracheListViewToolbarOptions\",\n \"optionsNameFQ\": \"r_personSpracheListViewToolbarOptions\"\n },\n \"binding\": {\n \"bindTo\": \"$m_Person.Sprache.Sprachen\",\n \"bindToFQ\": \"models.data.$m_Person.Sprache.Sprachen\"\n },\n \"listEdits\": [],\n \"filters\": [],\n \"commands\": [],\n \"id\": \"r_personSpracheListView\",\n \"options\": {\n \"optionsName\": \"r_personSpracheListViewOptions\",\n \"optionsNameFQ\": \"r_personSpracheListViewOptions\"\n }\n });\n this.widgetCreator.addListView(this, {\n \"itemClass\": \"z--list-view-inline-item\",\n \"useDefaultListItemStyle\": false,\n \"optionsToolbar\": {\n \"optionsName\": \"r_personAusbildungenListViewToolbarOptions\",\n \"optionsNameFQ\": \"r_personAusbildungenListViewToolbarOptions\"\n },\n \"binding\": {\n \"bindTo\": \"$m_Person.Ausbildung.Ausbildungen\",\n \"bindToFQ\": \"models.data.$m_Person.Ausbildung.Ausbildungen\"\n },\n \"listEdits\": [],\n \"filters\": [],\n \"commands\": [],\n \"id\": \"r_personAusbildungenListView\",\n \"options\": {\n \"optionsName\": \"r_personAusbildungenListViewOptions\",\n \"optionsNameFQ\": \"r_personAusbildungenListViewOptions\"\n }\n });\n this.widgetCreator.addListView(this, {\n \"itemClass\": \"z--list-view-inline-item\",\n \"useDefaultListItemStyle\": false,\n \"optionsToolbar\": {\n \"optionsName\": \"r_personBerufListViewToolbarOptions\",\n \"optionsNameFQ\": \"r_personBerufListViewToolbarOptions\"\n },\n \"binding\": {\n \"bindTo\": \"$m_Person.Berufserfahrungen.Berufserfahrungen\",\n \"bindToFQ\": \"models.data.$m_Person.Berufserfahrungen.Berufserfahrungen\"\n },\n \"listEdits\": [],\n \"filters\": [],\n \"commands\": [],\n \"id\": \"r_personBerufListView\",\n \"options\": {\n \"optionsName\": \"r_personBerufListViewOptions\",\n \"optionsNameFQ\": \"r_personBerufListViewOptions\"\n }\n });\n this.widgetCreator.addListView(this, {\n \"itemClass\": \"col-xs-12 col-sm-6\",\n \"useDefaultListItemStyle\": false,\n \"optionsToolbar\": {\n \"optionsName\": \"r_personBewerbungListViewToolbarOptions\",\n \"optionsNameFQ\": \"r_personBewerbungListViewToolbarOptions\"\n },\n \"binding\": {\n \"dataContext\": \"$m_Bewerbung\"\n },\n \"dataModel\": \"$m_Bewerbung\",\n \"pageSize\": 8,\n \"listEdits\": [],\n \"filters\": [],\n \"commands\": [],\n \"id\": \"r_personBewerbungListView\",\n \"options\": {\n \"optionsName\": \"r_personBewerbungListViewOptions\",\n \"optionsNameFQ\": \"r_personBewerbungListViewOptions\"\n }\n });\n super.onConstructionFinished();\n }\n}","module.exports = \"\";","import * as fwx from \"../../../../framework/forms/form-export\";\nimport {\n PersonenEditUtils\n} from \"./person-edit-utils\";\nimport {\n PersonenAdresseUtils\n} from \"./person-adresse-utils\";\n\n@fwx.autoinject\nexport class PersonFerialerErsteinstiegEditForm extends fwx.FormBase {\n constructor(\n element: Element,\n formBaseImport: fwx.FormBaseImport,\n private $f_PersonenEditUtils: PersonenEditUtils,\n private $f_PersonenAdresseUtils: PersonenAdresseUtils) {\n super(element, formBaseImport);\n this.id = \"person-ferialer-ersteinstieg-edit\";\n this.title = \"person-ferialer-ersteinstieg-edit.person-ferialer-ersteinstieg-edit_caption\";\n this.addModel({\n \"id\": \"$m_Person\",\n \"webApiAction\": \"ZIT/Objekte/Person\",\n \"webApiExpand\": {\n 'Personendaten': null,\n 'Adressen': null,\n 'Kontakte': {\n 'expand': {\n 'Kontakttyp': null\n }\n }\n },\n \"modificationInfoEnabled\": true,\n \"key\": \"variables.data.$id\",\n \"keyProperty\": \"Id\",\n \"postOnSave\": true,\n \"allowNew\": \"false\",\n \"allowDelete\": \"false\",\n \"filters\": [{\n \"webApiCustomKey\": \"FragebogenInfo\",\n \"webApiCustomValue\": \"true\"\n }]\n });\n this.addModel({\n \"id\": \"$m_Bewerbung\",\n \"webApiAction\": \"ZIT/Objekte/Bewerbung\",\n \"webApiWhere\": [\"Kopf.IdPerson\", {\n \"isBound\": true,\n \"expression\": \"models.data.$m_Person.Id\"\n }],\n \"webApiOrderBy\": [{\n columnName: 'Anlagedatum',\n sortOrder: 1\n }],\n \"modificationInfoEnabled\": true,\n \"keyProperty\": \"Id\",\n \"filters\": [{\n \"webApiCustomKey\": \"AddBewerbungCard\",\n \"webApiCustomValue\": \"true\"\n }]\n });\n this.addModel({\n \"id\": \"$m_BankverbindungElement\",\n \"webApiAction\": \"ZIT/Objekte/PersonBankverbindungElement\",\n \"key\": \"models.data.$m_Person.IdPersonBankverbindungElement\",\n \"keyProperty\": \"Id\",\n \"filters\": []\n });\n this.addModel({\n \"id\": \"$m_BerufserfahrungElement\",\n \"webApiAction\": \"ZIT/Objekte/PersonBerufserfahrungElement\",\n \"key\": \"models.data.$m_Person.IdPersonBerufserfahrungElement\",\n \"keyProperty\": \"Id\",\n \"filters\": []\n });\n this.addModel({\n \"id\": \"$m_AusbildungElement\",\n \"webApiAction\": \"ZIT/Objekte/PersonAusbildungElement\",\n \"key\": \"models.data.$m_Person.IdPersonAusbildungElement\",\n \"keyProperty\": \"Id\",\n \"filters\": []\n });\n this.addModel({\n \"id\": \"$m_SpracheElement\",\n \"webApiAction\": \"ZIT/Objekte/PersonSpracheElement\",\n \"key\": \"models.data.$m_Person.IdPersonSpracheElement\",\n \"keyProperty\": \"Id\",\n \"filters\": []\n });\n this.addModel({\n \"id\": \"$m_FuehrerscheinElement\",\n \"webApiAction\": \"ZIT/Objekte/PersonFuehrerscheinElement\",\n \"key\": \"models.data.$m_Person.IdPersonFuehrerscheinElement\",\n \"keyProperty\": \"Id\",\n \"filters\": []\n });\n this.addModel({\n \"id\": \"$m_PersonAdresse\",\n \"webApiAction\": \"ZIT/Objekte/PersonAdresseElement\",\n \"keyProperty\": \"Id\",\n \"filters\": []\n });\n this.addModel({\n \"id\": \"$m_PersonKontaktRel\",\n \"webApiAction\": \"ZIT/Objekte/PersonKontaktElement\",\n \"webApiExpand\": {\n 'Kontakttyp': null\n },\n \"keyProperty\": \"Id\",\n \"filters\": []\n });\n this.addModel({\n \"id\": \"$m_PersonKontaktEdit\",\n \"webApiAction\": \"ZIT/Objekte/PersonKontaktElement\",\n \"keyProperty\": \"Id\",\n \"filters\": []\n });\n this.addModel({\n \"id\": \"$m_PersonBerufserfahrungRel\",\n \"webApiAction\": \"ZIT/Objekte/PersonBerufserfahrung\",\n \"keyProperty\": \"Id\",\n \"filters\": []\n });\n this.addModel({\n \"id\": \"$m_PersonBerufserfahrungEdit\",\n \"webApiAction\": \"ZIT/Objekte/PersonBerufserfahrung\",\n \"keyProperty\": \"Id\",\n \"filters\": []\n });\n this.addModel({\n \"id\": \"$m_PersonAusbildungRel\",\n \"webApiAction\": \"ZIT/Objekte/PersonAusbildung\",\n \"webApiExpand\": {\n 'Ausbildung': null,\n 'Ausbildungsort': null,\n 'AusbildungAbschluss': null\n },\n \"keyProperty\": \"Id\",\n \"filters\": []\n });\n this.addModel({\n \"id\": \"$m_PersonAusbildungEdit\",\n \"webApiAction\": \"ZIT/Objekte/PersonAusbildung\",\n \"keyProperty\": \"Id\",\n \"filters\": []\n });\n this.addModel({\n \"id\": \"$m_PersonBerufRel\",\n \"webApiAction\": \"ZIT/Objekte/PersonBeruf\",\n \"webApiExpand\": {\n 'Beruf': null,\n 'BerufQualifikation': null,\n 'AusbildungAbschluss': null\n },\n \"keyProperty\": \"Id\",\n \"filters\": []\n });\n this.addModel({\n \"id\": \"$m_PersonBerufEdit\",\n \"webApiAction\": \"ZIT/Objekte/PersonBeruf\",\n \"keyProperty\": \"Id\",\n \"filters\": []\n });\n this.addModel({\n \"id\": \"$m_PersonSpracheRel\",\n \"webApiAction\": \"ZIT/Objekte/PersonSprache\",\n \"webApiExpand\": {\n 'Sprache': null,\n 'Sprachniveau': null\n },\n \"keyProperty\": \"Id\",\n \"filters\": []\n });\n this.addModel({\n \"id\": \"$m_PersonSpracheEdit\",\n \"webApiAction\": \"ZIT/Objekte/PersonSprache\",\n \"keyProperty\": \"Id\",\n \"filters\": []\n });\n this.addModel({\n \"id\": \"$m_PersonFuehrerscheinRel\",\n \"webApiAction\": \"ZIT/Objekte/PersonFuehrerschein\",\n \"webApiExpand\": {\n 'Fuehrerscheinklasse': null\n },\n \"keyProperty\": \"Id\",\n \"filters\": []\n });\n this.addModel({\n \"id\": \"$m_PersonFuehrerscheinEdit\",\n \"webApiAction\": \"ZIT/Objekte/PersonFuehrerschein\",\n \"keyProperty\": \"Id\",\n \"filters\": []\n });\n this.addModel({\n \"id\": \"$m_DokumentRel\",\n \"webApiAction\": \"ZIT/Objekte/DokumentElement\",\n \"webApiExpand\": {\n 'Informationstyp': null\n },\n \"keyProperty\": \"Id\",\n \"filters\": []\n });\n this.addModel({\n \"id\": \"$m_DokumentEdit\",\n \"webApiAction\": \"ZIT/Objekte/DokumentElement\",\n \"keyProperty\": \"Id\",\n \"filters\": []\n });\n this.addCommand({\n \"binding\": {\n \"bindTo\": \"$f_PersonenEditUtils.actionCommand\",\n \"bindToFQ\": \"functions.$f_PersonenEditUtils.actionCommand\"\n }\n });\n this.addEditPopup({\n \"idContent\": \"personBerufserfahrungEditPopupContent\",\n \"mappings\": [{\n \"to\": \"$id\",\n \"binding\": {\n \"dataContext\": \"$m_PersonBerufserfahrungEdit\",\n \"bindTo\": \"Id\",\n \"bindToFQ\": \"models.data.$m_PersonBerufserfahrungEdit.Id\"\n }\n }],\n \"id\": \"personBerufserfahrungEditPopup\",\n \"options\": {\n \"optionsName\": \"personBerufserfahrungEditPopupOptions\",\n \"optionsNameFQ\": \"personBerufserfahrungEditPopupOptions\"\n },\n \"height\": \"auto\",\n \"width\": \"500px\",\n \"commands\": []\n });\n this.addEditPopup({\n \"idContent\": \"personFuehrerscheinEditPopupContent\",\n \"mappings\": [{\n \"to\": \"$id\",\n \"binding\": {\n \"dataContext\": \"$m_PersonFuehrerscheinEdit\",\n \"bindTo\": \"Id\",\n \"bindToFQ\": \"models.data.$m_PersonFuehrerscheinEdit.Id\"\n }\n }],\n \"id\": \"personFuehrerscheinEditPopup\",\n \"options\": {\n \"optionsName\": \"personFuehrerscheinEditPopupOptions\",\n \"optionsNameFQ\": \"personFuehrerscheinEditPopupOptions\"\n },\n \"height\": \"auto\",\n \"width\": \"500px\",\n \"commands\": []\n });\n this.addEditPopup({\n \"idContent\": \"personSpracheEditPopupContent\",\n \"mappings\": [{\n \"to\": \"$id\",\n \"binding\": {\n \"dataContext\": \"$m_PersonSpracheEdit\",\n \"bindTo\": \"Id\",\n \"bindToFQ\": \"models.data.$m_PersonSpracheEdit.Id\"\n }\n }],\n \"id\": \"personSpracheEditPopup\",\n \"options\": {\n \"optionsName\": \"personSpracheEditPopupOptions\",\n \"optionsNameFQ\": \"personSpracheEditPopupOptions\"\n },\n \"height\": \"auto\",\n \"width\": \"500px\",\n \"commands\": []\n });\n this.addEditPopup({\n \"idContent\": \"personAusbildungEditPopupContent\",\n \"mappings\": [{\n \"to\": \"$id\",\n \"binding\": {\n \"dataContext\": \"$m_PersonAusbildungEdit\",\n \"bindTo\": \"Id\",\n \"bindToFQ\": \"models.data.$m_PersonAusbildungEdit.Id\"\n }\n }],\n \"id\": \"personAusbildungEditPopup\",\n \"options\": {\n \"optionsName\": \"personAusbildungEditPopupOptions\",\n \"optionsNameFQ\": \"personAusbildungEditPopupOptions\"\n },\n \"height\": \"auto\",\n \"width\": \"500px\",\n \"commands\": []\n });\n this.addFunction(\"$f_PersonenEditUtils\", $f_PersonenEditUtils, \"functions.$f_PersonenEditUtils\");\n this.addFunction(\"$f_PersonenAdresseUtils\", $f_PersonenAdresseUtils, \"functions.$f_PersonenAdresseUtils\");\n this.widgetCreator.addValidationGroup(this, {\n \"id\": \"wd1\",\n \"options\": {\n \"optionsName\": \"wd1Options\",\n \"optionsNameFQ\": \"wd1Options\"\n }\n });\n this.widgetCreator.addRadioGroup(this, {\n \"idSelect\": \"geschlecht\",\n \"filters\": [],\n \"caption\": \"person-ferialer-ersteinstieg-edit.r_geschlecht_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Person\",\n \"bindTo\": \"Personendaten.Geschlecht\",\n \"bindToFQ\": \"models.data.$m_Person.Personendaten.Geschlecht\",\n \"propertyPrefix\": \"Personendaten\"\n },\n \"validationRules\": [{\n \"item\": {\n \"type\": \"required\",\n \"parameters\": []\n }\n }],\n \"id\": \"r_geschlecht\",\n \"options\": {\n \"optionsName\": \"r_geschlechtOptions\",\n \"optionsNameFQ\": \"r_geschlechtOptions\"\n }\n });\n this.widgetCreator.addTextBox(this, {\n \"maxLength\": 50,\n \"caption\": \"person-ferialer-ersteinstieg-edit.r_titelvorne_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Person\",\n \"bindTo\": \"Personendaten.TitelVorne\",\n \"bindToFQ\": \"models.data.$m_Person.Personendaten.TitelVorne\",\n \"propertyPrefix\": \"Personendaten\"\n },\n \"validationRules\": [],\n \"id\": \"r_titelVorne\",\n \"options\": {\n \"optionsName\": \"r_titelVorneOptions\",\n \"optionsNameFQ\": \"r_titelVorneOptions\"\n }\n });\n this.widgetCreator.addTextBox(this, {\n \"maxLength\": 50,\n \"caption\": \"person-ferialer-ersteinstieg-edit.r_titelhinten_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Person\",\n \"bindTo\": \"Personendaten.TitelHinten\",\n \"bindToFQ\": \"models.data.$m_Person.Personendaten.TitelHinten\",\n \"propertyPrefix\": \"Personendaten\"\n },\n \"validationRules\": [],\n \"id\": \"r_titelHinten\",\n \"options\": {\n \"optionsName\": \"r_titelHintenOptions\",\n \"optionsNameFQ\": \"r_titelHintenOptions\"\n }\n });\n this.widgetCreator.addTextBox(this, {\n \"maxLength\": 100,\n \"caption\": \"person-ferialer-ersteinstieg-edit.r_vorname_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Person\",\n \"bindTo\": \"Personendaten.Vorname\",\n \"bindToFQ\": \"models.data.$m_Person.Personendaten.Vorname\",\n \"propertyPrefix\": \"Personendaten\"\n },\n \"validationRules\": [{\n \"item\": {\n \"type\": \"required\",\n \"parameters\": []\n }\n }],\n \"id\": \"r_vorname\",\n \"options\": {\n \"optionsName\": \"r_vornameOptions\",\n \"optionsNameFQ\": \"r_vornameOptions\"\n }\n });\n this.widgetCreator.addTextBox(this, {\n \"maxLength\": 100,\n \"caption\": \"person-ferialer-ersteinstieg-edit.r_nachname_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Person\",\n \"bindTo\": \"Personendaten.Nachname\",\n \"bindToFQ\": \"models.data.$m_Person.Personendaten.Nachname\",\n \"propertyPrefix\": \"Personendaten\"\n },\n \"validationRules\": [{\n \"item\": {\n \"type\": \"required\",\n \"parameters\": []\n }\n }],\n \"id\": \"r_nachname\",\n \"options\": {\n \"optionsName\": \"r_nachnameOptions\",\n \"optionsNameFQ\": \"r_nachnameOptions\"\n }\n });\n this.widgetCreator.addDateBox(this, {\n \"format\": \"d\",\n \"caption\": \"person-ferialer-ersteinstieg-edit.r_geburtsdatum_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Person\",\n \"bindTo\": \"Personendaten.Geburtsdatum\",\n \"bindToFQ\": \"models.data.$m_Person.Personendaten.Geburtsdatum\",\n \"propertyPrefix\": \"Personendaten\"\n },\n \"validationRules\": [{\n \"item\": {\n \"type\": \"required\",\n \"parameters\": []\n }\n }],\n \"id\": \"r_geburtsdatum\",\n \"options\": {\n \"optionsName\": \"r_geburtsdatumOptions\",\n \"optionsNameFQ\": \"r_geburtsdatumOptions\"\n }\n });\n this.widgetCreator.addSelectBox(this, {\n \"idSelect\": \"staat\",\n \"filters\": [],\n \"caption\": \"person-ferialer-ersteinstieg-edit.r_idnationalitaet_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Person\",\n \"bindTo\": \"Personendaten.IdNationalitaet\",\n \"bindToFQ\": \"models.data.$m_Person.Personendaten.IdNationalitaet\",\n \"propertyPrefix\": \"Personendaten\"\n },\n \"validationRules\": [{\n \"item\": {\n \"type\": \"required\",\n \"parameters\": []\n }\n }],\n \"id\": \"r_idNationalitaet\",\n \"options\": {\n \"optionsName\": \"r_idNationalitaetOptions\",\n \"optionsNameFQ\": \"r_idNationalitaetOptions\"\n }\n });\n this.widgetCreator.addSelectBox(this, {\n \"idSelect\": \"familienstand\",\n \"filters\": [],\n \"caption\": \"person-ferialer-ersteinstieg-edit.r_familienstand_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Person\",\n \"bindTo\": \"Personendaten.IdFamilienstand\",\n \"bindToFQ\": \"models.data.$m_Person.Personendaten.IdFamilienstand\",\n \"propertyPrefix\": \"Personendaten\"\n },\n \"validationRules\": [],\n \"id\": \"r_familienstand\",\n \"options\": {\n \"optionsName\": \"r_familienstandOptions\",\n \"optionsNameFQ\": \"r_familienstandOptions\"\n }\n });\n this.widgetCreator.addTextBox(this, {\n \"maxLength\": 4,\n \"caption\": \"person-ferialer-ersteinstieg-edit.r_svnr_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Person\",\n \"bindTo\": \"Personendaten.SVNr\",\n \"bindToFQ\": \"models.data.$m_Person.Personendaten.SVNr\",\n \"propertyPrefix\": \"Personendaten\"\n },\n \"validationRules\": [{\n \"binding\": {\n \"dataContext\": \"$m_Person\",\n \"bindTo\": \"$f_PersonenEditUtils.svNummerValidationRule\",\n \"bindToFQ\": \"functions.$f_PersonenEditUtils.svNummerValidationRule\"\n }\n }, {\n \"item\": {\n \"type\": \"svnr\",\n \"parameters\": []\n }\n }],\n \"id\": \"r_svNr\",\n \"options\": {\n \"optionsName\": \"r_svNrOptions\",\n \"optionsNameFQ\": \"r_svNrOptions\"\n }\n });\n this.widgetCreator.addTextBox(this, {\n \"maxLength\": 20,\n \"caption\": \"person-ferialer-ersteinstieg-edit.r_ahvnrliechtenstein_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Person\",\n \"bindTo\": \"Personendaten.AHVNrLiechtenstein\",\n \"bindToFQ\": \"models.data.$m_Person.Personendaten.AHVNrLiechtenstein\",\n \"propertyPrefix\": \"Personendaten\"\n },\n \"validationRules\": [{\n \"binding\": {\n \"dataContext\": \"$m_Person\",\n \"bindTo\": \"$f_PersonenEditUtils.svNummerValidationRule\",\n \"bindToFQ\": \"functions.$f_PersonenEditUtils.svNummerValidationRule\"\n }\n }, {\n \"item\": {\n \"type\": \"ahvnr\",\n \"parameters\": []\n }\n }],\n \"id\": \"r_ahvNrLiechtenstein\",\n \"options\": {\n \"optionsName\": \"r_ahvNrLiechtensteinOptions\",\n \"optionsNameFQ\": \"r_ahvNrLiechtensteinOptions\"\n }\n });\n this.widgetCreator.addTextBox(this, {\n \"maxLength\": 20,\n \"caption\": \"person-ferialer-ersteinstieg-edit.r_ahvnrschweiz_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Person\",\n \"bindTo\": \"Personendaten.AHVNrSchweiz\",\n \"bindToFQ\": \"models.data.$m_Person.Personendaten.AHVNrSchweiz\",\n \"propertyPrefix\": \"Personendaten\"\n },\n \"validationRules\": [{\n \"binding\": {\n \"dataContext\": \"$m_Person\",\n \"bindTo\": \"$f_PersonenEditUtils.svNummerValidationRule\",\n \"bindToFQ\": \"functions.$f_PersonenEditUtils.svNummerValidationRule\"\n }\n }, {\n \"item\": {\n \"type\": \"ahvnr\",\n \"parameters\": []\n }\n }],\n \"id\": \"r_ahvNrSchweiz\",\n \"options\": {\n \"optionsName\": \"r_ahvNrSchweizOptions\",\n \"optionsNameFQ\": \"r_ahvNrSchweizOptions\"\n }\n });\n this.widgetCreator.addCheckBox(this, {\n \"caption\": \"person-ferialer-ersteinstieg-edit.r_staplerfuehrerschein_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Person\",\n \"bindTo\": \"Personendaten.HasStaplerfuehrerschein\",\n \"bindToFQ\": \"models.data.$m_Person.Personendaten.HasStaplerfuehrerschein\",\n \"propertyPrefix\": \"Personendaten\"\n },\n \"validationRules\": [],\n \"id\": \"r_staplerfuehrerschein\",\n \"options\": {\n \"optionsName\": \"r_staplerfuehrerscheinOptions\",\n \"optionsNameFQ\": \"r_staplerfuehrerscheinOptions\"\n }\n });\n this.widgetCreator.addTextArea(this, {\n \"height\": \"100px\",\n \"caption\": \"person-ferialer-ersteinstieg-edit.r_bemerkung_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Person\",\n \"bindTo\": \"Personendaten.Bemerkung\",\n \"bindToFQ\": \"models.data.$m_Person.Personendaten.Bemerkung\",\n \"propertyPrefix\": \"Personendaten\"\n },\n \"validationRules\": [],\n \"id\": \"r_bemerkung\",\n \"options\": {\n \"optionsName\": \"r_bemerkungOptions\",\n \"optionsNameFQ\": \"r_bemerkungOptions\"\n }\n });\n this.widgetCreator.addFileUploaderWithViewer(this, {\n \"acceptTypeEnum\": 0,\n \"acceptType\": \"image/*\",\n \"height\": \"250px\",\n \"showToolbar\": true,\n \"showClearButton\": false,\n \"caption\": \"person-ferialer-ersteinstieg-edit.r_dmslinkfoto_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Person\",\n \"bindTo\": \"Personendaten.DMSLinkFoto\",\n \"bindToFQ\": \"models.data.$m_Person.Personendaten.DMSLinkFoto\",\n \"propertyPrefix\": \"Personendaten\"\n },\n \"validationRules\": [],\n \"id\": \"r_dmsLinkFoto\",\n \"options\": {\n \"optionsName\": \"r_dmsLinkFotoOptions\",\n \"optionsNameFQ\": \"r_dmsLinkFotoOptions\"\n }\n });\n this.widgetCreator.addSelectBox(this, {\n \"idSelect\": \"staat\",\n \"filters\": [],\n \"caption\": \"person-ferialer-ersteinstieg-edit.r_land_caption\",\n \"binding\": {\n \"dataContext\": \"$m_PersonAdresse\",\n \"bindTo\": \"IdLand\",\n \"bindToFQ\": \"models.data.$m_PersonAdresse.IdLand\"\n },\n \"validationRules\": [{\n \"item\": {\n \"type\": \"required\",\n \"parameters\": []\n }\n }],\n \"id\": \"r_land\",\n \"options\": {\n \"optionsName\": \"r_landOptions\",\n \"optionsNameFQ\": \"r_landOptions\"\n }\n });\n this.widgetCreator.addTextBox(this, {\n \"maxLength\": 100,\n \"caption\": \"person-ferialer-ersteinstieg-edit.r_strasse_caption\",\n \"binding\": {\n \"dataContext\": \"$m_PersonAdresse\",\n \"bindTo\": \"Strasse\",\n \"bindToFQ\": \"models.data.$m_PersonAdresse.Strasse\"\n },\n \"validationRules\": [{\n \"item\": {\n \"type\": \"required\",\n \"parameters\": []\n }\n }],\n \"id\": \"r_strasse\",\n \"options\": {\n \"optionsName\": \"r_strasseOptions\",\n \"optionsNameFQ\": \"r_strasseOptions\"\n }\n });\n this.widgetCreator.addTextBox(this, {\n \"maxLength\": 20,\n \"caption\": \"person-ferialer-ersteinstieg-edit.r_postleitzahl_caption\",\n \"binding\": {\n \"dataContext\": \"$m_PersonAdresse\",\n \"bindTo\": \"Postleitzahl\",\n \"bindToFQ\": \"models.data.$m_PersonAdresse.Postleitzahl\"\n },\n \"validationRules\": [{\n \"item\": {\n \"type\": \"required\",\n \"parameters\": []\n }\n }],\n \"id\": \"r_postleitzahl\",\n \"options\": {\n \"optionsName\": \"r_postleitzahlOptions\",\n \"optionsNameFQ\": \"r_postleitzahlOptions\"\n }\n });\n this.widgetCreator.addTextBox(this, {\n \"maxLength\": 100,\n \"caption\": \"person-ferialer-ersteinstieg-edit.r_ort_caption\",\n \"binding\": {\n \"dataContext\": \"$m_PersonAdresse\",\n \"bindTo\": \"Ort\",\n \"bindToFQ\": \"models.data.$m_PersonAdresse.Ort\"\n },\n \"validationRules\": [{\n \"item\": {\n \"type\": \"required\",\n \"parameters\": []\n }\n }],\n \"id\": \"r_ort\",\n \"options\": {\n \"optionsName\": \"r_ortOptions\",\n \"optionsNameFQ\": \"r_ortOptions\"\n }\n });\n this.widgetCreator.addSelectBox(this, {\n \"idSelect\": \"landvorwahl\",\n \"filters\": [],\n \"caption\": \"person-ferialer-ersteinstieg-edit.r_mobilwert1_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Person\",\n \"bindTo\": \"Personendaten.MobilLandvorwahl\",\n \"bindToFQ\": \"models.data.$m_Person.Personendaten.MobilLandvorwahl\",\n \"propertyPrefix\": \"Personendaten\"\n },\n \"validationRules\": [{\n \"item\": {\n \"type\": \"conditionalRequired\",\n \"parameters\": [{\n \"name\": \"condition\",\n \"value\": \"models.data.$m_Person.Personendaten && models.data.$m_Person.Personendaten.Mobil\"\n }]\n }\n }, {\n \"item\": {\n \"type\": \"conditionalRequired\",\n \"parameters\": [{\n \"name\": \"condition\",\n \"value\": \"models.data.$m_Person.Personendaten && !models.data.$m_Person.Personendaten.Email\"\n }]\n }\n }],\n \"id\": \"r_mobilWert1\",\n \"options\": {\n \"optionsName\": \"r_mobilWert1Options\",\n \"optionsNameFQ\": \"r_mobilWert1Options\"\n }\n });\n this.widgetCreator.addTextBox(this, {\n \"maxLength\": 100,\n \"caption\": \"person-ferialer-ersteinstieg-edit.r_mobilwert2_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Person\",\n \"bindTo\": \"Personendaten.Mobil\",\n \"bindToFQ\": \"models.data.$m_Person.Personendaten.Mobil\",\n \"propertyPrefix\": \"Personendaten\"\n },\n \"validationRules\": [{\n \"item\": {\n \"type\": \"telefon\",\n \"parameters\": []\n }\n }, {\n \"item\": {\n \"type\": \"conditionalRequired\",\n \"parameters\": [{\n \"name\": \"condition\",\n \"value\": \"models.data.$m_Person.Personendaten && !models.data.$m_Person.Personendaten.Email\"\n }]\n }\n }],\n \"id\": \"r_mobilWert2\",\n \"options\": {\n \"optionsName\": \"r_mobilWert2Options\",\n \"optionsNameFQ\": \"r_mobilWert2Options\"\n }\n });\n this.widgetCreator.addTextBox(this, {\n \"maxLength\": 100,\n \"caption\": \"person-ferialer-ersteinstieg-edit.r_email_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Person\",\n \"bindTo\": \"Personendaten.Email\",\n \"bindToFQ\": \"models.data.$m_Person.Personendaten.Email\",\n \"propertyPrefix\": \"Personendaten\"\n },\n \"validationRules\": [{\n \"item\": {\n \"type\": \"conditionalRequired\",\n \"parameters\": [{\n \"name\": \"condition\",\n \"value\": \"models.data.$m_Person.Personendaten && (!models.data.$m_Person.Personendaten.Mobil || !models.data.$m_Person.Personendaten.MobilLandvorwahl)\"\n }]\n }\n }],\n \"id\": \"r_email\",\n \"options\": {\n \"optionsName\": \"r_emailOptions\",\n \"optionsNameFQ\": \"r_emailOptions\"\n }\n });\n this.widgetCreator.addListView(this, {\n \"itemClass\": \"col-xs-12 col-sm-6\",\n \"useDefaultListItemStyle\": false,\n \"createToolbar\": true,\n \"optionsToolbar\": {\n \"optionsName\": \"r_personAusbildungListViewToolbarOptions\",\n \"optionsNameFQ\": \"r_personAusbildungListViewToolbarOptions\"\n },\n \"caption\": \"person-ferialer-ersteinstieg-edit.r_personausbildunglistview_caption\",\n \"binding\": {\n \"dataContext\": \"$m_AusbildungElement\"\n },\n \"isRelation\": true,\n \"relationBinding\": {\n \"dataContext\": \"$m_PersonAusbildungRel\",\n \"bindTo\": \"IdPersonAusbildungElement\",\n \"bindToFQ\": \"models.data.$m_PersonAusbildungRel.IdPersonAusbildungElement\"\n },\n \"dataModel\": \"$m_AusbildungElement\",\n \"editDataContext\": \"$m_PersonAusbildungEdit\",\n \"idEditPopup\": \"personAusbildungEditPopup\",\n \"pageSize\": 2,\n \"listEdits\": [],\n \"filters\": [],\n \"commands\": [],\n \"id\": \"r_personAusbildungListView\",\n \"options\": {\n \"optionsName\": \"r_personAusbildungListViewOptions\",\n \"optionsNameFQ\": \"r_personAusbildungListViewOptions\"\n }\n });\n this.widgetCreator.addListView(this, {\n \"itemClass\": \"col-xs-12 col-sm-6\",\n \"useDefaultListItemStyle\": false,\n \"createToolbar\": true,\n \"optionsToolbar\": {\n \"optionsName\": \"r_personBerufserfahrungListViewToolbarOptions\",\n \"optionsNameFQ\": \"r_personBerufserfahrungListViewToolbarOptions\"\n },\n \"caption\": \"person-ferialer-ersteinstieg-edit.r_personberufserfahrunglistview_caption\",\n \"binding\": {\n \"dataContext\": \"$m_BerufserfahrungElement\"\n },\n \"isRelation\": true,\n \"relationBinding\": {\n \"dataContext\": \"$m_PersonBerufserfahrungRel\",\n \"bindTo\": \"IdPersonBerufserfahrungElement\",\n \"bindToFQ\": \"models.data.$m_PersonBerufserfahrungRel.IdPersonBerufserfahrungElement\"\n },\n \"dataModel\": \"$m_BerufserfahrungElement\",\n \"editDataContext\": \"$m_PersonBerufserfahrungEdit\",\n \"idEditPopup\": \"personBerufserfahrungEditPopup\",\n \"pageSize\": 2,\n \"listEdits\": [],\n \"filters\": [],\n \"commands\": [],\n \"id\": \"r_personBerufserfahrungListView\",\n \"options\": {\n \"optionsName\": \"r_personBerufserfahrungListViewOptions\",\n \"optionsNameFQ\": \"r_personBerufserfahrungListViewOptions\"\n }\n });\n this.widgetCreator.addSelectBox(this, {\n \"idSelect\": \"groesseSchuh\",\n \"filters\": [],\n \"caption\": \"person-ferialer-ersteinstieg-edit.r_schuehgroesse_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Person\",\n \"bindTo\": \"Personendaten.IdSchuhgroesse\",\n \"bindToFQ\": \"models.data.$m_Person.Personendaten.IdSchuhgroesse\",\n \"propertyPrefix\": \"Personendaten\"\n },\n \"validationRules\": [],\n \"id\": \"r_schuehgroesse\",\n \"options\": {\n \"optionsName\": \"r_schuehgroesseOptions\",\n \"optionsNameFQ\": \"r_schuehgroesseOptions\"\n }\n });\n this.widgetCreator.addSelectBox(this, {\n \"idSelect\": \"groesseKleider\",\n \"filters\": [],\n \"caption\": \"person-ferialer-ersteinstieg-edit.r_kleidergroesse_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Person\",\n \"bindTo\": \"Personendaten.IdKleidergroesse\",\n \"bindToFQ\": \"models.data.$m_Person.Personendaten.IdKleidergroesse\",\n \"propertyPrefix\": \"Personendaten\"\n },\n \"validationRules\": [],\n \"id\": \"r_kleidergroesse\",\n \"options\": {\n \"optionsName\": \"r_kleidergroesseOptions\",\n \"optionsNameFQ\": \"r_kleidergroesseOptions\"\n }\n });\n this.widgetCreator.addCheckBox(this, {\n \"caption\": \"person-ferialer-ersteinstieg-edit.r_hasesdsicherheitsschuhe_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Person\",\n \"bindTo\": \"Personendaten.HasEsdSicherheitsschuhe\",\n \"bindToFQ\": \"models.data.$m_Person.Personendaten.HasEsdSicherheitsschuhe\",\n \"propertyPrefix\": \"Personendaten\"\n },\n \"validationRules\": [],\n \"id\": \"r_hasEsdSicherheitsschuhe\",\n \"options\": {\n \"optionsName\": \"r_hasEsdSicherheitsschuheOptions\",\n \"optionsNameFQ\": \"r_hasEsdSicherheitsschuheOptions\"\n }\n });\n this.widgetCreator.addListView(this, {\n \"itemClass\": \"z--list-view-inline-item\",\n \"useDefaultListItemStyle\": false,\n \"createToolbar\": true,\n \"optionsToolbar\": {\n \"optionsName\": \"r_personSpracheListViewToolbarOptions\",\n \"optionsNameFQ\": \"r_personSpracheListViewToolbarOptions\"\n },\n \"caption\": \"person-ferialer-ersteinstieg-edit.r_personsprachelistview_caption\",\n \"binding\": {\n \"dataContext\": \"$m_SpracheElement\"\n },\n \"isRelation\": true,\n \"relationBinding\": {\n \"dataContext\": \"$m_PersonSpracheRel\",\n \"bindTo\": \"IdPersonSpracheElement\",\n \"bindToFQ\": \"models.data.$m_PersonSpracheRel.IdPersonSpracheElement\"\n },\n \"dataModel\": \"$m_SpracheElement\",\n \"editDataContext\": \"$m_PersonSpracheEdit\",\n \"idEditPopup\": \"personSpracheEditPopup\",\n \"listEdits\": [],\n \"filters\": [],\n \"commands\": [],\n \"id\": \"r_personSpracheListView\",\n \"options\": {\n \"optionsName\": \"r_personSpracheListViewOptions\",\n \"optionsNameFQ\": \"r_personSpracheListViewOptions\"\n }\n });\n this.widgetCreator.addListView(this, {\n \"itemClass\": \"z--list-view-inline-item\",\n \"useDefaultListItemStyle\": false,\n \"createToolbar\": true,\n \"optionsToolbar\": {\n \"optionsName\": \"r_personFuehrerscheinListViewToolbarOptions\",\n \"optionsNameFQ\": \"r_personFuehrerscheinListViewToolbarOptions\"\n },\n \"caption\": \"person-ferialer-ersteinstieg-edit.r_personfuehrerscheinlistview_caption\",\n \"binding\": {\n \"dataContext\": \"$m_FuehrerscheinElement\"\n },\n \"isRelation\": true,\n \"relationBinding\": {\n \"dataContext\": \"$m_PersonFuehrerscheinRel\",\n \"bindTo\": \"IdPersonFuehrerscheinElement\",\n \"bindToFQ\": \"models.data.$m_PersonFuehrerscheinRel.IdPersonFuehrerscheinElement\"\n },\n \"dataModel\": \"$m_FuehrerscheinElement\",\n \"editDataContext\": \"$m_PersonFuehrerscheinEdit\",\n \"idEditPopup\": \"personFuehrerscheinEditPopup\",\n \"listEdits\": [],\n \"filters\": [],\n \"commands\": [],\n \"id\": \"r_personFuehrerscheinListView\",\n \"options\": {\n \"optionsName\": \"r_personFuehrerscheinListViewOptions\",\n \"optionsNameFQ\": \"r_personFuehrerscheinListViewOptions\"\n }\n });\n this.widgetCreator.addListView(this, {\n \"itemClass\": \"col-xs-12 col-sm-6\",\n \"useDefaultListItemStyle\": false,\n \"createToolbar\": true,\n \"optionsToolbar\": {\n \"optionsName\": \"r_personBewerbungListViewToolbarOptions\",\n \"optionsNameFQ\": \"r_personBewerbungListViewToolbarOptions\"\n },\n \"caption\": \"person-ferialer-ersteinstieg-edit.r_personbewerbunglistview_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Bewerbung\"\n },\n \"dataModel\": \"$m_Bewerbung\",\n \"pageSize\": 2,\n \"listEdits\": [],\n \"filters\": [],\n \"commands\": [],\n \"id\": \"r_personBewerbungListView\",\n \"options\": {\n \"optionsName\": \"r_personBewerbungListViewOptions\",\n \"optionsNameFQ\": \"r_personBewerbungListViewOptions\"\n }\n });\n this.widgetCreator.addPopup(this, {\n \"id\": \"r_personAbgeschlossenPopup\",\n \"options\": {\n \"optionsName\": \"r_personAbgeschlossenPopupOptions\",\n \"optionsNameFQ\": \"r_personAbgeschlossenPopupOptions\"\n },\n \"caption\": \"person-ferialer-ersteinstieg-edit.r_personabgeschlossenpopup_caption\",\n \"height\": \"auto\",\n \"width\": \"450px\",\n \"showCloseButton\": false,\n \"commands\": [{\n \"binding\": {\n \"bindTo\": \"$f_PersonenEditUtils.personAbschliessenCommand\",\n \"bindToFQ\": \"functions.$f_PersonenEditUtils.personAbschliessenCommand\"\n }\n }]\n });\n super.onConstructionFinished();\n }\n}","module.exports = \"\";","import * as fwx from \"../../../../framework/forms/form-export\";\n\n@fwx.autoinject\nexport class PersonFuehrerscheinEditForm extends fwx.FormBase {\n constructor(\n element: Element,\n formBaseImport: fwx.FormBaseImport) {\n super(element, formBaseImport);\n this.id = \"person-fuehrerschein-edit\";\n this.title = \"person-fuehrerschein-edit.person-fuehrerschein-edit_caption\";\n this.addModel({\n \"id\": \"$m_Fuehrerschein\",\n \"webApiAction\": \"ZIT/Objekte/PersonFuehrerschein\",\n \"key\": \"variables.data.$id\",\n \"keyProperty\": \"Id\",\n \"postOnSave\": true,\n \"filters\": []\n });\n this.addVariable({\n \"id\": \"$id\"\n });\n this.widgetCreator.addValidationGroup(this, {\n \"id\": \"wd1\",\n \"options\": {\n \"optionsName\": \"wd1Options\",\n \"optionsNameFQ\": \"wd1Options\"\n }\n });\n this.widgetCreator.addSelectBox(this, {\n \"idSelect\": \"fuehrerscheinklasse\",\n \"filters\": [],\n \"caption\": \"person-fuehrerschein-edit.r_fuehrerscheinklasse_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Fuehrerschein\",\n \"bindTo\": \"IdFuehrerscheinklasse\",\n \"bindToFQ\": \"models.data.$m_Fuehrerschein.IdFuehrerscheinklasse\"\n },\n \"validationRules\": [{\n \"item\": {\n \"type\": \"required\",\n \"parameters\": []\n }\n }],\n \"id\": \"r_fuehrerscheinklasse\",\n \"options\": {\n \"optionsName\": \"r_fuehrerscheinklasseOptions\",\n \"optionsNameFQ\": \"r_fuehrerscheinklasseOptions\"\n }\n });\n this.widgetCreator.addDateBox(this, {\n \"format\": \"d\",\n \"caption\": \"person-fuehrerschein-edit.r_gueltigbis_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Fuehrerschein\",\n \"bindTo\": \"GueltigBis\",\n \"bindToFQ\": \"models.data.$m_Fuehrerschein.GueltigBis\"\n },\n \"validationRules\": [],\n \"id\": \"r_gueltigBis\",\n \"options\": {\n \"optionsName\": \"r_gueltigBisOptions\",\n \"optionsNameFQ\": \"r_gueltigBisOptions\"\n }\n });\n super.onConstructionFinished();\n }\n}","module.exports = \"\";","import * as fwx from \"../../../../framework/forms/form-export\";\n\n@fwx.autoinject\nexport class PersonGeschaeftspartnerEinsatzEditForm extends fwx.FormBase {\n constructor(\n element: Element,\n formBaseImport: fwx.FormBaseImport) {\n super(element, formBaseImport);\n this.id = \"person-geschaeftspartner-einsatz-edit\";\n this.title = \"person-geschaeftspartner-einsatz-edit.person-geschaeftspartner-einsatz-edit_caption\";\n this.addModel({\n \"id\": \"$m_GeschaeftspartnerEinsatz\",\n \"webApiAction\": \"ZIT/Objekte/PersonGeschaeftspartnerEinsatzElement\",\n \"key\": \"variables.data.$id\",\n \"keyProperty\": \"Id\",\n \"postOnSave\": true,\n \"filters\": []\n });\n this.addVariable({\n \"id\": \"$id\"\n });\n this.widgetCreator.addValidationGroup(this, {\n \"id\": \"wd1\",\n \"options\": {\n \"optionsName\": \"wd1Options\",\n \"optionsNameFQ\": \"wd1Options\"\n }\n });\n this.widgetCreator.addLookup(this, {\n \"idSelect\": \"geschaeftspartner\",\n \"customs\": [{\n \"key\": \"IdPerson\",\n \"value\": \"models.data.$m_GeschaeftspartnerEinsatz.IdPerson\"\n }],\n \"filters\": [],\n \"caption\": \"person-geschaeftspartner-einsatz-edit.r_geschaeftspartner_caption\",\n \"binding\": {\n \"dataContext\": \"$m_GeschaeftspartnerEinsatz\",\n \"bindTo\": \"IdGeschaeftspartner\",\n \"bindToFQ\": \"models.data.$m_GeschaeftspartnerEinsatz.IdGeschaeftspartner\"\n },\n \"validationRules\": [{\n \"item\": {\n \"type\": \"required\",\n \"parameters\": []\n }\n }],\n \"id\": \"r_geschaeftspartner\",\n \"options\": {\n \"optionsName\": \"r_geschaeftspartnerOptions\",\n \"optionsNameFQ\": \"r_geschaeftspartnerOptions\"\n }\n });\n this.widgetCreator.addTextBox(this, {\n \"maxLength\": 100,\n \"caption\": \"person-geschaeftspartner-einsatz-edit.r_taetigkeitabteilung_caption\",\n \"binding\": {\n \"dataContext\": \"$m_GeschaeftspartnerEinsatz\",\n \"bindTo\": \"TaetigkeitAbteilung\",\n \"bindToFQ\": \"models.data.$m_GeschaeftspartnerEinsatz.TaetigkeitAbteilung\"\n },\n \"validationRules\": [{\n \"item\": {\n \"type\": \"required\",\n \"parameters\": []\n }\n }],\n \"id\": \"r_taetigkeitAbteilung\",\n \"options\": {\n \"optionsName\": \"r_taetigkeitAbteilungOptions\",\n \"optionsNameFQ\": \"r_taetigkeitAbteilungOptions\"\n }\n });\n this.widgetCreator.addNumberBox(this, {\n \"min\": 1900.0,\n \"max\": 2100.0,\n \"caption\": \"person-geschaeftspartner-einsatz-edit.r_jahr_caption\",\n \"binding\": {\n \"dataContext\": \"$m_GeschaeftspartnerEinsatz\",\n \"bindTo\": \"Jahr\",\n \"bindToFQ\": \"models.data.$m_GeschaeftspartnerEinsatz.Jahr\"\n },\n \"validationRules\": [],\n \"id\": \"r_jahr\",\n \"options\": {\n \"optionsName\": \"r_jahrOptions\",\n \"optionsNameFQ\": \"r_jahrOptions\"\n }\n });\n super.onConstructionFinished();\n }\n}","module.exports = \"\";","import * as fwx from \"../../../../framework/forms/form-export\";\nimport {\n PersonenEditUtils\n} from \"./person-edit-utils\";\n\n@fwx.autoinject\nexport class PersonHeartbaseEditForm extends fwx.FormBase {\n constructor(\n element: Element,\n formBaseImport: fwx.FormBaseImport,\n private $f_PersonenEditUtils: PersonenEditUtils) {\n super(element, formBaseImport);\n this.id = \"person-heartbase-edit\";\n this.title = \"person-heartbase-edit.person-heartbase-edit_caption\";\n this.addModel({\n \"id\": \"$m_Person\",\n \"webApiAction\": \"ZIT/Objekte/Person\",\n \"webApiExpand\": {\n 'Personendaten': null\n },\n \"modificationInfoEnabled\": true,\n \"key\": \"variables.data.$id\",\n \"keyProperty\": \"Id\",\n \"postOnSave\": true,\n \"filters\": [{\n \"webApiCustomKey\": \"CanBenutzeraccountAktivieren\",\n \"webApiCustomValue\": \"true\"\n }, {\n \"webApiCustomKey\": \"SonstigeKontaktdatenVisible\",\n \"webApiCustomValue\": \"true\"\n }]\n });\n this.addModel({\n \"id\": \"$m_Bewerbung\",\n \"webApiAction\": \"ZIT/Objekte/Bewerbung\",\n \"webApiColumns\": [\"Id\"],\n \"webApiWhere\": [\"Kopf.IdPerson\", {\n \"isBound\": true,\n \"expression\": \"models.data.$m_Person.Id\"\n }],\n \"webApiOrderBy\": [{\n columnName: 'Anlagedatum',\n sortOrder: 1\n }],\n \"modificationInfoEnabled\": true,\n \"keyProperty\": \"Id\",\n \"filters\": [{\n \"webApiCustomKey\": \"AddBewerbungCard\",\n \"webApiCustomValue\": \"true\"\n }]\n });\n this.addModel({\n \"id\": \"$m_Termin\",\n \"webApiAction\": \"ZIT/Objekte/Termin\",\n \"webApiColumns\": [\"Id\"],\n \"webApiWhere\": [\n [\"Empfaenger\", [\n [\"Person.Id\", {\n \"isBound\": true,\n \"expression\": \"models.data.$m_Person.Id\"\n }]\n ]],\n [\"Kopf.Typ\", 0]\n ],\n \"webApiOrderBy\": [{\n columnName: 'Anlagedatum',\n sortOrder: 1\n }],\n \"modificationInfoEnabled\": true,\n \"keyProperty\": \"Id\",\n \"filters\": [{\n \"webApiCustomKey\": \"AddTerminCard\",\n \"webApiCustomValue\": \"true\"\n }]\n });\n this.addModel({\n \"id\": \"$m_BankverbindungElement\",\n \"webApiAction\": \"ZIT/Objekte/PersonBankverbindungElement\",\n \"key\": \"models.data.$m_Person.IdPersonBankverbindungElement\",\n \"keyProperty\": \"Id\",\n \"filters\": []\n });\n this.addModel({\n \"id\": \"$m_BerufserfahrungElement\",\n \"webApiAction\": \"ZIT/Objekte/PersonBerufserfahrungElement\",\n \"key\": \"models.data.$m_Person.IdPersonBerufserfahrungElement\",\n \"keyProperty\": \"Id\",\n \"filters\": []\n });\n this.addModel({\n \"id\": \"$m_AusbildungElement\",\n \"webApiAction\": \"ZIT/Objekte/PersonAusbildungElement\",\n \"key\": \"models.data.$m_Person.IdPersonAusbildungElement\",\n \"keyProperty\": \"Id\",\n \"filters\": []\n });\n this.addModel({\n \"id\": \"$m_BerufElement\",\n \"webApiAction\": \"ZIT/Objekte/PersonBerufElement\",\n \"key\": \"models.data.$m_Person.IdPersonBerufElement\",\n \"keyProperty\": \"Id\",\n \"filters\": []\n });\n this.addModel({\n \"id\": \"$m_SpracheElement\",\n \"webApiAction\": \"ZIT/Objekte/PersonSpracheElement\",\n \"key\": \"models.data.$m_Person.IdPersonSpracheElement\",\n \"keyProperty\": \"Id\",\n \"filters\": []\n });\n this.addModel({\n \"id\": \"$m_FuehrerscheinElement\",\n \"webApiAction\": \"ZIT/Objekte/PersonFuehrerscheinElement\",\n \"key\": \"models.data.$m_Person.IdPersonFuehrerscheinElement\",\n \"keyProperty\": \"Id\",\n \"filters\": []\n });\n this.addModel({\n \"id\": \"$m_PersonAdresseRel\",\n \"webApiAction\": \"ZIT/Objekte/PersonAdresseElement\",\n \"webApiExpand\": {\n 'Adresstyp': null,\n 'Land': null\n },\n \"keyProperty\": \"Id\",\n \"allowNew\": \"true\",\n \"filters\": []\n });\n this.addModel({\n \"id\": \"$m_PersonAdresseEdit\",\n \"webApiAction\": \"ZIT/Objekte/PersonAdresseElement\",\n \"keyProperty\": \"Id\",\n \"filters\": []\n });\n this.addModel({\n \"id\": \"$m_PersonKontaktRel\",\n \"webApiAction\": \"ZIT/Objekte/PersonKontaktElement\",\n \"webApiExpand\": {\n 'Kontakttyp': null\n },\n \"keyProperty\": \"Id\",\n \"filters\": []\n });\n this.addModel({\n \"id\": \"$m_PersonKontaktEdit\",\n \"webApiAction\": \"ZIT/Objekte/PersonKontaktElement\",\n \"keyProperty\": \"Id\",\n \"filters\": []\n });\n this.addModel({\n \"id\": \"$m_PersonBankverbindungRel\",\n \"webApiAction\": \"ZIT/Objekte/PersonBankverbindung\",\n \"webApiExpand\": {\n 'Waehrung': null\n },\n \"keyProperty\": \"Id\",\n \"filters\": []\n });\n this.addModel({\n \"id\": \"$m_PersonBankverbindungEdit\",\n \"webApiAction\": \"ZIT/Objekte/PersonBankverbindung\",\n \"keyProperty\": \"Id\",\n \"filters\": []\n });\n this.addModel({\n \"id\": \"$m_PersonBerufserfahrungRel\",\n \"webApiAction\": \"ZIT/Objekte/PersonBerufserfahrung\",\n \"keyProperty\": \"Id\",\n \"filters\": []\n });\n this.addModel({\n \"id\": \"$m_PersonBerufserfahrungEdit\",\n \"webApiAction\": \"ZIT/Objekte/PersonBerufserfahrung\",\n \"keyProperty\": \"Id\",\n \"filters\": []\n });\n this.addModel({\n \"id\": \"$m_PersonAusbildungRel\",\n \"webApiAction\": \"ZIT/Objekte/PersonAusbildung\",\n \"webApiExpand\": {\n 'Ausbildung': null,\n 'AusbildungsortOrder': null,\n 'AusbildungAbschluss': null\n },\n \"keyProperty\": \"Id\",\n \"filters\": []\n });\n this.addModel({\n \"id\": \"$m_PersonAusbildungEdit\",\n \"webApiAction\": \"ZIT/Objekte/PersonAusbildung\",\n \"keyProperty\": \"Id\",\n \"filters\": []\n });\n this.addModel({\n \"id\": \"$m_PersonBerufRel\",\n \"webApiAction\": \"ZIT/Objekte/PersonBeruf\",\n \"webApiExpand\": {\n 'Beruf': null,\n 'BerufQualifikation': null,\n 'AusbildungAbschluss': null\n },\n \"keyProperty\": \"Id\",\n \"filters\": []\n });\n this.addModel({\n \"id\": \"$m_PersonBerufEdit\",\n \"webApiAction\": \"ZIT/Objekte/PersonBeruf\",\n \"keyProperty\": \"Id\",\n \"filters\": []\n });\n this.addModel({\n \"id\": \"$m_PersonSpracheRel\",\n \"webApiAction\": \"ZIT/Objekte/PersonSprache\",\n \"webApiExpand\": {\n 'Sprache': null,\n 'Sprachniveau': null\n },\n \"keyProperty\": \"Id\",\n \"filters\": []\n });\n this.addModel({\n \"id\": \"$m_PersonSpracheEdit\",\n \"webApiAction\": \"ZIT/Objekte/PersonSprache\",\n \"keyProperty\": \"Id\",\n \"filters\": []\n });\n this.addModel({\n \"id\": \"$m_PersonFuehrerscheinRel\",\n \"webApiAction\": \"ZIT/Objekte/PersonFuehrerschein\",\n \"webApiExpand\": {\n 'Fuehrerscheinklasse': null\n },\n \"keyProperty\": \"Id\",\n \"filters\": []\n });\n this.addModel({\n \"id\": \"$m_PersonFuehrerscheinEdit\",\n \"webApiAction\": \"ZIT/Objekte/PersonFuehrerschein\",\n \"keyProperty\": \"Id\",\n \"filters\": []\n });\n this.addModel({\n \"id\": \"$m_PersonSkillRel\",\n \"webApiAction\": \"ZIT/Objekte/PersonSkillElement\",\n \"webApiExpand\": {\n 'Skill': null\n },\n \"keyProperty\": \"Id\",\n \"filters\": []\n });\n this.addModel({\n \"id\": \"$m_PersonSkillEdit\",\n \"webApiAction\": \"ZIT/Objekte/PersonSkillElement\",\n \"keyProperty\": \"Id\",\n \"filters\": []\n });\n this.addModel({\n \"id\": \"$m_DokumentRel\",\n \"webApiAction\": \"ZIT/Objekte/DokumentElement\",\n \"webApiExpand\": {\n 'Informationstyp': null\n },\n \"keyProperty\": \"Id\",\n \"filters\": []\n });\n this.addModel({\n \"id\": \"$m_DokumentEdit\",\n \"webApiAction\": \"ZIT/Objekte/DokumentElement\",\n \"keyProperty\": \"Id\",\n \"filters\": []\n });\n this.addModel({\n \"id\": \"$m_PersonGeschaeftspartnerEinsatzRel\",\n \"webApiAction\": \"ZIT/Objekte/PersonGeschaeftspartnerEinsatzElement\",\n \"webApiExpand\": {\n 'Geschaeftspartner': null\n },\n \"keyProperty\": \"Id\",\n \"filters\": []\n });\n this.addModel({\n \"id\": \"$m_PersonGeschaeftspartnerEinsatzEdit\",\n \"webApiAction\": \"ZIT/Objekte/PersonGeschaeftspartnerEinsatzElement\",\n \"keyProperty\": \"Id\",\n \"filters\": []\n });\n this.addCommand({\n \"binding\": {\n \"bindTo\": \"$f_PersonenEditUtils.actionCommand\",\n \"bindToFQ\": \"functions.$f_PersonenEditUtils.actionCommand\"\n }\n });\n this.addEditPopup({\n \"idContent\": \"personAdresseEditPopupContent\",\n \"mappings\": [{\n \"to\": \"$id\",\n \"binding\": {\n \"dataContext\": \"$m_PersonAdresseEdit\",\n \"bindTo\": \"Id\",\n \"bindToFQ\": \"models.data.$m_PersonAdresseEdit.Id\"\n }\n }],\n \"id\": \"personAdresseEditPopup\",\n \"options\": {\n \"optionsName\": \"personAdresseEditPopupOptions\",\n \"optionsNameFQ\": \"personAdresseEditPopupOptions\"\n },\n \"height\": \"auto\",\n \"width\": \"500px\",\n \"commands\": []\n });\n this.addEditPopup({\n \"idContent\": \"personBankverbindungEditPopupContent\",\n \"mappings\": [{\n \"to\": \"$id\",\n \"binding\": {\n \"dataContext\": \"$m_PersonBankverbindungEdit\",\n \"bindTo\": \"Id\",\n \"bindToFQ\": \"models.data.$m_PersonBankverbindungEdit.Id\"\n }\n }],\n \"id\": \"personBankverbindungEditPopup\",\n \"options\": {\n \"optionsName\": \"personBankverbindungEditPopupOptions\",\n \"optionsNameFQ\": \"personBankverbindungEditPopupOptions\"\n },\n \"height\": \"auto\",\n \"width\": \"500px\",\n \"commands\": []\n });\n this.addEditPopup({\n \"idContent\": \"personBerufserfahrungEditPopupContent\",\n \"mappings\": [{\n \"to\": \"$id\",\n \"binding\": {\n \"dataContext\": \"$m_PersonBerufserfahrungEdit\",\n \"bindTo\": \"Id\",\n \"bindToFQ\": \"models.data.$m_PersonBerufserfahrungEdit.Id\"\n }\n }],\n \"id\": \"personBerufserfahrungEditPopup\",\n \"options\": {\n \"optionsName\": \"personBerufserfahrungEditPopupOptions\",\n \"optionsNameFQ\": \"personBerufserfahrungEditPopupOptions\"\n },\n \"height\": \"auto\",\n \"width\": \"500px\",\n \"commands\": []\n });\n this.addEditPopup({\n \"idContent\": \"personGeschaeftspartnerEinsatzEditPopupContent\",\n \"mappings\": [{\n \"to\": \"$id\",\n \"binding\": {\n \"dataContext\": \"$m_PersonGeschaeftspartnerEinsatzEdit\",\n \"bindTo\": \"Id\",\n \"bindToFQ\": \"models.data.$m_PersonGeschaeftspartnerEinsatzEdit.Id\"\n }\n }],\n \"id\": \"personGeschaeftspartnerEinsatzEditPopup\",\n \"options\": {\n \"optionsName\": \"personGeschaeftspartnerEinsatzEditPopupOptions\",\n \"optionsNameFQ\": \"personGeschaeftspartnerEinsatzEditPopupOptions\"\n },\n \"height\": \"auto\",\n \"width\": \"500px\",\n \"commands\": []\n });\n this.addEditPopup({\n \"idContent\": \"personFuehrerscheinEditPopupContent\",\n \"mappings\": [{\n \"to\": \"$id\",\n \"binding\": {\n \"dataContext\": \"$m_PersonFuehrerscheinEdit\",\n \"bindTo\": \"Id\",\n \"bindToFQ\": \"models.data.$m_PersonFuehrerscheinEdit.Id\"\n }\n }],\n \"id\": \"personFuehrerscheinEditPopup\",\n \"options\": {\n \"optionsName\": \"personFuehrerscheinEditPopupOptions\",\n \"optionsNameFQ\": \"personFuehrerscheinEditPopupOptions\"\n },\n \"height\": \"auto\",\n \"width\": \"500px\",\n \"commands\": []\n });\n this.addEditPopup({\n \"idContent\": \"personSkillEditPopupContent\",\n \"mappings\": [{\n \"to\": \"$id\",\n \"binding\": {\n \"dataContext\": \"$m_PersonSkillEdit\",\n \"bindTo\": \"Id\",\n \"bindToFQ\": \"models.data.$m_PersonSkillEdit.Id\"\n }\n }],\n \"id\": \"personSkillEditPopup\",\n \"options\": {\n \"optionsName\": \"personSkillEditPopupOptions\",\n \"optionsNameFQ\": \"personSkillEditPopupOptions\"\n },\n \"height\": \"auto\",\n \"width\": \"500px\",\n \"commands\": []\n });\n this.addEditPopup({\n \"idContent\": \"personBerufEditPopupContent\",\n \"mappings\": [{\n \"to\": \"$id\",\n \"binding\": {\n \"dataContext\": \"$m_PersonBerufEdit\",\n \"bindTo\": \"Id\",\n \"bindToFQ\": \"models.data.$m_PersonBerufEdit.Id\"\n }\n }],\n \"id\": \"personBerufEditPopup\",\n \"options\": {\n \"optionsName\": \"personBerufEditPopupOptions\",\n \"optionsNameFQ\": \"personBerufEditPopupOptions\"\n },\n \"height\": \"auto\",\n \"width\": \"500px\",\n \"commands\": []\n });\n this.addEditPopup({\n \"idContent\": \"personSpracheEditPopupContent\",\n \"mappings\": [{\n \"to\": \"$id\",\n \"binding\": {\n \"dataContext\": \"$m_PersonSpracheEdit\",\n \"bindTo\": \"Id\",\n \"bindToFQ\": \"models.data.$m_PersonSpracheEdit.Id\"\n }\n }],\n \"id\": \"personSpracheEditPopup\",\n \"options\": {\n \"optionsName\": \"personSpracheEditPopupOptions\",\n \"optionsNameFQ\": \"personSpracheEditPopupOptions\"\n },\n \"height\": \"auto\",\n \"width\": \"500px\",\n \"commands\": []\n });\n this.addEditPopup({\n \"idContent\": \"personAusbildungEditPopupContent\",\n \"mappings\": [{\n \"to\": \"$id\",\n \"binding\": {\n \"dataContext\": \"$m_PersonAusbildungEdit\",\n \"bindTo\": \"Id\",\n \"bindToFQ\": \"models.data.$m_PersonAusbildungEdit.Id\"\n }\n }],\n \"id\": \"personAusbildungEditPopup\",\n \"options\": {\n \"optionsName\": \"personAusbildungEditPopupOptions\",\n \"optionsNameFQ\": \"personAusbildungEditPopupOptions\"\n },\n \"height\": \"auto\",\n \"width\": \"500px\",\n \"commands\": []\n });\n this.addEditPopup({\n \"idContent\": \"personKontaktEditPopupContent\",\n \"mappings\": [{\n \"to\": \"$id\",\n \"binding\": {\n \"dataContext\": \"$m_PersonKontaktEdit\",\n \"bindTo\": \"Id\",\n \"bindToFQ\": \"models.data.$m_PersonKontaktEdit.Id\"\n }\n }],\n \"id\": \"personKontaktEditPopup\",\n \"options\": {\n \"optionsName\": \"personKontaktEditPopupOptions\",\n \"optionsNameFQ\": \"personKontaktEditPopupOptions\"\n },\n \"height\": \"350px\",\n \"width\": \"500px\",\n \"commands\": []\n });\n this.addFunction(\"$f_PersonenEditUtils\", $f_PersonenEditUtils, \"functions.$f_PersonenEditUtils\");\n this.widgetCreator.addValidationGroup(this, {\n \"id\": \"wd1\",\n \"options\": {\n \"optionsName\": \"wd1Options\",\n \"optionsNameFQ\": \"wd1Options\"\n }\n });\n this.widgetCreator.addRadioGroup(this, {\n \"idSelect\": \"geschlecht\",\n \"filters\": [],\n \"caption\": \"person-heartbase-edit.r_geschlecht_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Person\",\n \"bindTo\": \"Personendaten.Geschlecht\",\n \"bindToFQ\": \"models.data.$m_Person.Personendaten.Geschlecht\",\n \"propertyPrefix\": \"Personendaten\"\n },\n \"validationRules\": [{\n \"item\": {\n \"type\": \"required\",\n \"parameters\": []\n }\n }],\n \"id\": \"r_geschlecht\",\n \"options\": {\n \"optionsName\": \"r_geschlechtOptions\",\n \"optionsNameFQ\": \"r_geschlechtOptions\"\n }\n });\n this.widgetCreator.addTextBox(this, {\n \"maxLength\": 50,\n \"caption\": \"person-heartbase-edit.r_titelvorne_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Person\",\n \"bindTo\": \"Personendaten.TitelVorne\",\n \"bindToFQ\": \"models.data.$m_Person.Personendaten.TitelVorne\",\n \"propertyPrefix\": \"Personendaten\"\n },\n \"validationRules\": [],\n \"id\": \"r_titelVorne\",\n \"options\": {\n \"optionsName\": \"r_titelVorneOptions\",\n \"optionsNameFQ\": \"r_titelVorneOptions\"\n }\n });\n this.widgetCreator.addTextBox(this, {\n \"maxLength\": 50,\n \"caption\": \"person-heartbase-edit.r_titelhinten_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Person\",\n \"bindTo\": \"Personendaten.TitelHinten\",\n \"bindToFQ\": \"models.data.$m_Person.Personendaten.TitelHinten\",\n \"propertyPrefix\": \"Personendaten\"\n },\n \"validationRules\": [],\n \"id\": \"r_titelHinten\",\n \"options\": {\n \"optionsName\": \"r_titelHintenOptions\",\n \"optionsNameFQ\": \"r_titelHintenOptions\"\n }\n });\n this.widgetCreator.addTextBox(this, {\n \"maxLength\": 100,\n \"caption\": \"person-heartbase-edit.r_vorname_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Person\",\n \"bindTo\": \"Personendaten.Vorname\",\n \"bindToFQ\": \"models.data.$m_Person.Personendaten.Vorname\",\n \"propertyPrefix\": \"Personendaten\"\n },\n \"validationRules\": [{\n \"item\": {\n \"type\": \"required\",\n \"parameters\": []\n }\n }],\n \"id\": \"r_vorname\",\n \"options\": {\n \"optionsName\": \"r_vornameOptions\",\n \"optionsNameFQ\": \"r_vornameOptions\"\n }\n });\n this.widgetCreator.addTextBox(this, {\n \"maxLength\": 100,\n \"caption\": \"person-heartbase-edit.r_nachname_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Person\",\n \"bindTo\": \"Personendaten.Nachname\",\n \"bindToFQ\": \"models.data.$m_Person.Personendaten.Nachname\",\n \"propertyPrefix\": \"Personendaten\"\n },\n \"validationRules\": [{\n \"item\": {\n \"type\": \"required\",\n \"parameters\": []\n }\n }],\n \"id\": \"r_nachname\",\n \"options\": {\n \"optionsName\": \"r_nachnameOptions\",\n \"optionsNameFQ\": \"r_nachnameOptions\"\n }\n });\n this.widgetCreator.addDateBox(this, {\n \"format\": \"d\",\n \"caption\": \"person-heartbase-edit.r_geburtsdatum_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Person\",\n \"bindTo\": \"Personendaten.Geburtsdatum\",\n \"bindToFQ\": \"models.data.$m_Person.Personendaten.Geburtsdatum\",\n \"propertyPrefix\": \"Personendaten\"\n },\n \"validationRules\": [{\n \"item\": {\n \"type\": \"required\",\n \"parameters\": []\n }\n }],\n \"id\": \"r_geburtsdatum\",\n \"options\": {\n \"optionsName\": \"r_geburtsdatumOptions\",\n \"optionsNameFQ\": \"r_geburtsdatumOptions\"\n }\n });\n this.widgetCreator.addSelectBox(this, {\n \"idSelect\": \"staat\",\n \"filters\": [],\n \"caption\": \"person-heartbase-edit.r_idnationalitaet_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Person\",\n \"bindTo\": \"Personendaten.IdNationalitaet\",\n \"bindToFQ\": \"models.data.$m_Person.Personendaten.IdNationalitaet\",\n \"propertyPrefix\": \"Personendaten\"\n },\n \"validationRules\": [{\n \"item\": {\n \"type\": \"required\",\n \"parameters\": []\n }\n }],\n \"id\": \"r_idNationalitaet\",\n \"options\": {\n \"optionsName\": \"r_idNationalitaetOptions\",\n \"optionsNameFQ\": \"r_idNationalitaetOptions\"\n }\n });\n this.widgetCreator.addSelectBox(this, {\n \"idSelect\": \"familienstand\",\n \"filters\": [],\n \"caption\": \"person-heartbase-edit.r_familienstand_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Person\",\n \"bindTo\": \"Personendaten.IdFamilienstand\",\n \"bindToFQ\": \"models.data.$m_Person.Personendaten.IdFamilienstand\",\n \"propertyPrefix\": \"Personendaten\"\n },\n \"validationRules\": [],\n \"id\": \"r_familienstand\",\n \"options\": {\n \"optionsName\": \"r_familienstandOptions\",\n \"optionsNameFQ\": \"r_familienstandOptions\"\n }\n });\n this.widgetCreator.addTextBox(this, {\n \"maxLength\": 4,\n \"caption\": \"person-heartbase-edit.r_svnr_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Person\",\n \"bindTo\": \"Personendaten.SVNr\",\n \"bindToFQ\": \"models.data.$m_Person.Personendaten.SVNr\",\n \"propertyPrefix\": \"Personendaten\"\n },\n \"validationRules\": [{\n \"item\": {\n \"type\": \"svnr\",\n \"parameters\": []\n }\n }],\n \"id\": \"r_svNr\",\n \"options\": {\n \"optionsName\": \"r_svNrOptions\",\n \"optionsNameFQ\": \"r_svNrOptions\"\n }\n });\n this.widgetCreator.addSelectBox(this, {\n \"idSelect\": \"groesseSchuh\",\n \"filters\": [],\n \"caption\": \"person-heartbase-edit.r_schuhgroesse_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Person\",\n \"bindTo\": \"Personendaten.IdSchuhgroesse\",\n \"bindToFQ\": \"models.data.$m_Person.Personendaten.IdSchuhgroesse\",\n \"propertyPrefix\": \"Personendaten\"\n },\n \"validationRules\": [],\n \"id\": \"r_schuhgroesse\",\n \"options\": {\n \"optionsName\": \"r_schuhgroesseOptions\",\n \"optionsNameFQ\": \"r_schuhgroesseOptions\"\n }\n });\n this.widgetCreator.addSelectBox(this, {\n \"idSelect\": \"groesseKleider\",\n \"filters\": [],\n \"caption\": \"person-heartbase-edit.r_kleidergroesse_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Person\",\n \"bindTo\": \"Personendaten.IdKleidergroesse\",\n \"bindToFQ\": \"models.data.$m_Person.Personendaten.IdKleidergroesse\",\n \"propertyPrefix\": \"Personendaten\"\n },\n \"validationRules\": [],\n \"id\": \"r_kleidergroesse\",\n \"options\": {\n \"optionsName\": \"r_kleidergroesseOptions\",\n \"optionsNameFQ\": \"r_kleidergroesseOptions\"\n }\n });\n this.widgetCreator.addFileUploaderWithViewer(this, {\n \"acceptTypeEnum\": 0,\n \"acceptType\": \"image/*\",\n \"height\": \"250px\",\n \"showToolbar\": true,\n \"showClearButton\": false,\n \"caption\": \"person-heartbase-edit.r_dmslinkfoto_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Person\",\n \"bindTo\": \"Personendaten.DMSLinkFoto\",\n \"bindToFQ\": \"models.data.$m_Person.Personendaten.DMSLinkFoto\",\n \"propertyPrefix\": \"Personendaten\"\n },\n \"validationRules\": [],\n \"id\": \"r_dmsLinkFoto\",\n \"options\": {\n \"optionsName\": \"r_dmsLinkFotoOptions\",\n \"optionsNameFQ\": \"r_dmsLinkFotoOptions\"\n }\n });\n this.widgetCreator.addTextArea(this, {\n \"height\": \"100px\",\n \"caption\": \"person-heartbase-edit.r_bemerkung_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Person\",\n \"bindTo\": \"Personendaten.Bemerkung\",\n \"bindToFQ\": \"models.data.$m_Person.Personendaten.Bemerkung\",\n \"propertyPrefix\": \"Personendaten\"\n },\n \"validationRules\": [],\n \"id\": \"r_bemerkung\",\n \"options\": {\n \"optionsName\": \"r_bemerkungOptions\",\n \"optionsNameFQ\": \"r_bemerkungOptions\"\n }\n });\n this.widgetCreator.addTextBox(this, {\n \"maxLength\": 100,\n \"caption\": \"person-heartbase-edit.r_email_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Person\",\n \"bindTo\": \"Personendaten.Email\",\n \"bindToFQ\": \"models.data.$m_Person.Personendaten.Email\",\n \"propertyPrefix\": \"Personendaten\"\n },\n \"validationRules\": [{\n \"item\": {\n \"type\": \"conditionalRequired\",\n \"parameters\": [{\n \"name\": \"condition\",\n \"value\": \"models.data.$m_Person.Personendaten && (!models.data.$m_Person.Personendaten.Mobil || !models.data.$m_Person.Personendaten.MobilLandvorwahl)\"\n }]\n }\n }],\n \"id\": \"r_email\",\n \"options\": {\n \"optionsName\": \"r_emailOptions\",\n \"optionsNameFQ\": \"r_emailOptions\"\n }\n });\n this.widgetCreator.addSelectBox(this, {\n \"idSelect\": \"landvorwahl\",\n \"filters\": [],\n \"caption\": \"person-heartbase-edit.r_mobillandvorwahl_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Person\",\n \"bindTo\": \"Personendaten.MobilLandvorwahl\",\n \"bindToFQ\": \"models.data.$m_Person.Personendaten.MobilLandvorwahl\",\n \"propertyPrefix\": \"Personendaten\"\n },\n \"validationRules\": [{\n \"item\": {\n \"type\": \"conditionalRequired\",\n \"parameters\": [{\n \"name\": \"condition\",\n \"value\": \"models.data.$m_Person.Personendaten && models.data.$m_Person.Personendaten.Mobil\"\n }]\n }\n }, {\n \"item\": {\n \"type\": \"conditionalRequired\",\n \"parameters\": [{\n \"name\": \"condition\",\n \"value\": \"models.data.$m_Person.Personendaten && !models.data.$m_Person.Personendaten.Email\"\n }]\n }\n }],\n \"id\": \"r_mobilLandvorwahl\",\n \"options\": {\n \"optionsName\": \"r_mobilLandvorwahlOptions\",\n \"optionsNameFQ\": \"r_mobilLandvorwahlOptions\"\n }\n });\n this.widgetCreator.addTextBox(this, {\n \"maxLength\": 100,\n \"caption\": \"person-heartbase-edit.r_mobil_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Person\",\n \"bindTo\": \"Personendaten.Mobil\",\n \"bindToFQ\": \"models.data.$m_Person.Personendaten.Mobil\",\n \"propertyPrefix\": \"Personendaten\"\n },\n \"validationRules\": [{\n \"item\": {\n \"type\": \"telefon\",\n \"parameters\": []\n }\n }, {\n \"item\": {\n \"type\": \"conditionalRequired\",\n \"parameters\": [{\n \"name\": \"condition\",\n \"value\": \"models.data.$m_Person.Personendaten && !models.data.$m_Person.Personendaten.Email\"\n }]\n }\n }],\n \"id\": \"r_mobil\",\n \"options\": {\n \"optionsName\": \"r_mobilOptions\",\n \"optionsNameFQ\": \"r_mobilOptions\"\n }\n });\n this.widgetCreator.addListView(this, {\n \"itemClass\": \"z--list-view-inline-item\",\n \"useDefaultListItemStyle\": false,\n \"optionsToolbar\": {\n \"optionsName\": \"r_personAdresseListViewToolbarOptions\",\n \"optionsNameFQ\": \"r_personAdresseListViewToolbarOptions\"\n },\n \"binding\": {\n \"dataContext\": \"$m_Person\"\n },\n \"isRelation\": true,\n \"relationBinding\": {\n \"dataContext\": \"$m_PersonAdresseRel\",\n \"bindTo\": \"IdPerson\",\n \"bindToFQ\": \"models.data.$m_PersonAdresseRel.IdPerson\"\n },\n \"dataModel\": \"$m_Person\",\n \"editDataContext\": \"$m_PersonAdresseEdit\",\n \"idEditPopup\": \"personAdresseEditPopup\",\n \"listEdits\": [],\n \"filters\": [],\n \"commands\": [],\n \"id\": \"r_personAdresseListView\",\n \"options\": {\n \"optionsName\": \"r_personAdresseListViewOptions\",\n \"optionsNameFQ\": \"r_personAdresseListViewOptions\"\n }\n });\n this.widgetCreator.addListView(this, {\n \"itemClass\": \"z--list-view-inline-item\",\n \"useDefaultListItemStyle\": false,\n \"optionsToolbar\": {\n \"optionsName\": \"r_personAusbildungListViewToolbarOptions\",\n \"optionsNameFQ\": \"r_personAusbildungListViewToolbarOptions\"\n },\n \"binding\": {\n \"dataContext\": \"$m_AusbildungElement\"\n },\n \"isRelation\": true,\n \"relationBinding\": {\n \"dataContext\": \"$m_PersonAusbildungRel\",\n \"bindTo\": \"IdPersonAusbildungElement\",\n \"bindToFQ\": \"models.data.$m_PersonAusbildungRel.IdPersonAusbildungElement\"\n },\n \"dataModel\": \"$m_AusbildungElement\",\n \"editDataContext\": \"$m_PersonAusbildungEdit\",\n \"idEditPopup\": \"personAusbildungEditPopup\",\n \"listEdits\": [],\n \"filters\": [],\n \"commands\": [],\n \"id\": \"r_personAusbildungListView\",\n \"options\": {\n \"optionsName\": \"r_personAusbildungListViewOptions\",\n \"optionsNameFQ\": \"r_personAusbildungListViewOptions\"\n }\n });\n this.widgetCreator.addListView(this, {\n \"itemClass\": \"z--list-view-inline-item\",\n \"useDefaultListItemStyle\": false,\n \"optionsToolbar\": {\n \"optionsName\": \"r_personBankverbindungListViewToolbarOptions\",\n \"optionsNameFQ\": \"r_personBankverbindungListViewToolbarOptions\"\n },\n \"binding\": {\n \"dataContext\": \"$m_BankverbindungElement\"\n },\n \"isRelation\": true,\n \"relationBinding\": {\n \"dataContext\": \"$m_PersonBankverbindungRel\",\n \"bindTo\": \"IdPersonBankverbindungElement\",\n \"bindToFQ\": \"models.data.$m_PersonBankverbindungRel.IdPersonBankverbindungElement\"\n },\n \"dataModel\": \"$m_BankverbindungElement\",\n \"editDataContext\": \"$m_PersonBankverbindungEdit\",\n \"idEditPopup\": \"personBankverbindungEditPopup\",\n \"listEdits\": [],\n \"filters\": [],\n \"commands\": [],\n \"id\": \"r_personBankverbindungListView\",\n \"options\": {\n \"optionsName\": \"r_personBankverbindungListViewOptions\",\n \"optionsNameFQ\": \"r_personBankverbindungListViewOptions\"\n }\n });\n this.widgetCreator.addListView(this, {\n \"itemClass\": \"z--list-view-inline-item\",\n \"useDefaultListItemStyle\": false,\n \"optionsToolbar\": {\n \"optionsName\": \"r_personBerufserfahrungListViewToolbarOptions\",\n \"optionsNameFQ\": \"r_personBerufserfahrungListViewToolbarOptions\"\n },\n \"binding\": {\n \"dataContext\": \"$m_BerufserfahrungElement\"\n },\n \"isRelation\": true,\n \"relationBinding\": {\n \"dataContext\": \"$m_PersonBerufserfahrungRel\",\n \"bindTo\": \"IdPersonBerufserfahrungElement\",\n \"bindToFQ\": \"models.data.$m_PersonBerufserfahrungRel.IdPersonBerufserfahrungElement\"\n },\n \"dataModel\": \"$m_BerufserfahrungElement\",\n \"editDataContext\": \"$m_PersonBerufserfahrungEdit\",\n \"idEditPopup\": \"personBerufserfahrungEditPopup\",\n \"listEdits\": [],\n \"filters\": [],\n \"commands\": [],\n \"id\": \"r_personBerufserfahrungListView\",\n \"options\": {\n \"optionsName\": \"r_personBerufserfahrungListViewOptions\",\n \"optionsNameFQ\": \"r_personBerufserfahrungListViewOptions\"\n }\n });\n this.widgetCreator.addListView(this, {\n \"itemClass\": \"z--list-view-inline-item\",\n \"useDefaultListItemStyle\": false,\n \"optionsToolbar\": {\n \"optionsName\": \"r_personBerufListViewToolbarOptions\",\n \"optionsNameFQ\": \"r_personBerufListViewToolbarOptions\"\n },\n \"binding\": {\n \"dataContext\": \"$m_BerufElement\"\n },\n \"isRelation\": true,\n \"relationBinding\": {\n \"dataContext\": \"$m_PersonBerufRel\",\n \"bindTo\": \"IdPersonBerufElement\",\n \"bindToFQ\": \"models.data.$m_PersonBerufRel.IdPersonBerufElement\"\n },\n \"dataModel\": \"$m_BerufElement\",\n \"editDataContext\": \"$m_PersonBerufEdit\",\n \"idEditPopup\": \"personBerufEditPopup\",\n \"listEdits\": [],\n \"filters\": [],\n \"commands\": [],\n \"id\": \"r_personBerufListView\",\n \"options\": {\n \"optionsName\": \"r_personBerufListViewOptions\",\n \"optionsNameFQ\": \"r_personBerufListViewOptions\"\n }\n });\n this.widgetCreator.addListView(this, {\n \"itemClass\": \"z--list-view-inline-item\",\n \"useDefaultListItemStyle\": false,\n \"optionsToolbar\": {\n \"optionsName\": \"r_personFuehrerscheinListViewToolbarOptions\",\n \"optionsNameFQ\": \"r_personFuehrerscheinListViewToolbarOptions\"\n },\n \"binding\": {\n \"dataContext\": \"$m_FuehrerscheinElement\"\n },\n \"isRelation\": true,\n \"relationBinding\": {\n \"dataContext\": \"$m_PersonFuehrerscheinRel\",\n \"bindTo\": \"IdPersonFuehrerscheinElement\",\n \"bindToFQ\": \"models.data.$m_PersonFuehrerscheinRel.IdPersonFuehrerscheinElement\"\n },\n \"dataModel\": \"$m_FuehrerscheinElement\",\n \"editDataContext\": \"$m_PersonFuehrerscheinEdit\",\n \"idEditPopup\": \"personFuehrerscheinEditPopup\",\n \"listEdits\": [],\n \"filters\": [],\n \"commands\": [],\n \"id\": \"r_personFuehrerscheinListView\",\n \"options\": {\n \"optionsName\": \"r_personFuehrerscheinListViewOptions\",\n \"optionsNameFQ\": \"r_personFuehrerscheinListViewOptions\"\n }\n });\n this.widgetCreator.addListView(this, {\n \"itemClass\": \"z--list-view-inline-item\",\n \"useDefaultListItemStyle\": false,\n \"optionsToolbar\": {\n \"optionsName\": \"r_personKontaktdatenListViewToolbarOptions\",\n \"optionsNameFQ\": \"r_personKontaktdatenListViewToolbarOptions\"\n },\n \"binding\": {\n \"dataContext\": \"$m_Person\"\n },\n \"isRelation\": true,\n \"relationBinding\": {\n \"dataContext\": \"$m_PersonKontaktRel\",\n \"bindTo\": \"IdPerson\",\n \"bindToFQ\": \"models.data.$m_PersonKontaktRel.IdPerson\"\n },\n \"dataModel\": \"$m_Person\",\n \"editDataContext\": \"$m_PersonKontaktEdit\",\n \"idEditPopup\": \"personKontaktEditPopup\",\n \"listEdits\": [],\n \"filters\": [],\n \"commands\": [],\n \"id\": \"r_personKontaktdatenListView\",\n \"options\": {\n \"optionsName\": \"r_personKontaktdatenListViewOptions\",\n \"optionsNameFQ\": \"r_personKontaktdatenListViewOptions\"\n }\n });\n this.widgetCreator.addListView(this, {\n \"itemClass\": \"z--list-view-inline-item\",\n \"useDefaultListItemStyle\": false,\n \"optionsToolbar\": {\n \"optionsName\": \"r_personSpracheListViewToolbarOptions\",\n \"optionsNameFQ\": \"r_personSpracheListViewToolbarOptions\"\n },\n \"binding\": {\n \"dataContext\": \"$m_SpracheElement\"\n },\n \"isRelation\": true,\n \"relationBinding\": {\n \"dataContext\": \"$m_PersonSpracheRel\",\n \"bindTo\": \"IdPersonSpracheElement\",\n \"bindToFQ\": \"models.data.$m_PersonSpracheRel.IdPersonSpracheElement\"\n },\n \"dataModel\": \"$m_SpracheElement\",\n \"editDataContext\": \"$m_PersonSpracheEdit\",\n \"idEditPopup\": \"personSpracheEditPopup\",\n \"listEdits\": [],\n \"filters\": [],\n \"commands\": [],\n \"id\": \"r_personSpracheListView\",\n \"options\": {\n \"optionsName\": \"r_personSpracheListViewOptions\",\n \"optionsNameFQ\": \"r_personSpracheListViewOptions\"\n }\n });\n this.widgetCreator.addListView(this, {\n \"itemClass\": \"z--list-view-inline-item\",\n \"useDefaultListItemStyle\": false,\n \"optionsToolbar\": {\n \"optionsName\": \"r_personSkillListViewToolbarOptions\",\n \"optionsNameFQ\": \"r_personSkillListViewToolbarOptions\"\n },\n \"binding\": {\n \"dataContext\": \"$m_Person\"\n },\n \"isRelation\": true,\n \"relationBinding\": {\n \"dataContext\": \"$m_PersonSkillRel\",\n \"bindTo\": \"IdPerson\",\n \"bindToFQ\": \"models.data.$m_PersonSkillRel.IdPerson\"\n },\n \"dataModel\": \"$m_Person\",\n \"editDataContext\": \"$m_PersonSkillEdit\",\n \"idEditPopup\": \"personSkillEditPopup\",\n \"listEdits\": [],\n \"filters\": [],\n \"commands\": [],\n \"id\": \"r_personSkillListView\",\n \"options\": {\n \"optionsName\": \"r_personSkillListViewOptions\",\n \"optionsNameFQ\": \"r_personSkillListViewOptions\"\n }\n });\n this.widgetCreator.addListView(this, {\n \"itemClass\": \"z--list-view-inline-item\",\n \"useDefaultListItemStyle\": false,\n \"optionsToolbar\": {\n \"optionsName\": \"r_personGeschaeftspartnerEinsatzListViewToolbarOptions\",\n \"optionsNameFQ\": \"r_personGeschaeftspartnerEinsatzListViewToolbarOptions\"\n },\n \"binding\": {\n \"dataContext\": \"$m_Person\"\n },\n \"isRelation\": true,\n \"relationBinding\": {\n \"dataContext\": \"$m_PersonGeschaeftspartnerEinsatzRel\",\n \"bindTo\": \"IdPerson\",\n \"bindToFQ\": \"models.data.$m_PersonGeschaeftspartnerEinsatzRel.IdPerson\"\n },\n \"dataModel\": \"$m_Person\",\n \"editDataContext\": \"$m_PersonGeschaeftspartnerEinsatzEdit\",\n \"idEditPopup\": \"personGeschaeftspartnerEinsatzEditPopup\",\n \"listEdits\": [],\n \"filters\": [],\n \"commands\": [],\n \"id\": \"r_personGeschaeftspartnerEinsatzListView\",\n \"options\": {\n \"optionsName\": \"r_personGeschaeftspartnerEinsatzListViewOptions\",\n \"optionsNameFQ\": \"r_personGeschaeftspartnerEinsatzListViewOptions\"\n }\n });\n this.widgetCreator.addListView(this, {\n \"itemClass\": \"col-xs-12 col-sm-6\",\n \"useDefaultListItemStyle\": false,\n \"createToolbar\": true,\n \"optionsToolbar\": {\n \"optionsName\": \"r_personBewerbungListViewToolbarOptions\",\n \"optionsNameFQ\": \"r_personBewerbungListViewToolbarOptions\"\n },\n \"caption\": \"person-heartbase-edit.r_personbewerbunglistview_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Bewerbung\"\n },\n \"dataModel\": \"$m_Bewerbung\",\n \"pageSize\": 2,\n \"listEdits\": [],\n \"filters\": [],\n \"commands\": [],\n \"id\": \"r_personBewerbungListView\",\n \"options\": {\n \"optionsName\": \"r_personBewerbungListViewOptions\",\n \"optionsNameFQ\": \"r_personBewerbungListViewOptions\"\n }\n });\n this.widgetCreator.addListView(this, {\n \"itemClass\": \"col-xs-12 col-sm-6\",\n \"useDefaultListItemStyle\": false,\n \"createToolbar\": true,\n \"optionsToolbar\": {\n \"optionsName\": \"r_personTerminListViewToolbarOptions\",\n \"optionsNameFQ\": \"r_personTerminListViewToolbarOptions\"\n },\n \"caption\": \"person-heartbase-edit.r_personterminlistview_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Termin\"\n },\n \"dataModel\": \"$m_Termin\",\n \"pageSize\": 2,\n \"listEdits\": [],\n \"filters\": [],\n \"commands\": [],\n \"id\": \"r_personTerminListView\",\n \"options\": {\n \"optionsName\": \"r_personTerminListViewOptions\",\n \"optionsNameFQ\": \"r_personTerminListViewOptions\"\n }\n });\n super.onConstructionFinished();\n }\n}","module.exports = \"\";","import * as fwx from \"../../../../framework/forms/form-export\";\nimport {\n PersonReadUtils\n} from \"./person-read-utils\";\n\n@fwx.autoinject\nexport class PersonHeartbaseReadForm extends fwx.FormBase {\n constructor(\n element: Element,\n formBaseImport: fwx.FormBaseImport,\n private $f_PersonReadUtils: PersonReadUtils) {\n super(element, formBaseImport);\n this.id = \"person-heartbase-read\";\n this.title = \"person-heartbase-read.person-heartbase-read_caption\";\n this.addModel({\n \"id\": \"$m_Person\",\n \"webApiAction\": \"ZIT/Objekte/Person\",\n \"webApiExpand\": {\n 'Personendaten': {\n 'expand': {\n 'Nationalitaet': null\n }\n },\n 'Adressen': {\n 'expand': {\n 'Land': null\n },\n 'where': [\n [\n [\n 'GueltigVon',\n '<=',\n '@Today()'\n ],\n 'or',\n [\n 'GueltigVon',\n '=',\n 'null'\n ]\n ],\n [\n [\n 'GueltigBis',\n '>=',\n '@Today()'\n ],\n 'or',\n [\n 'GueltigBis',\n '=',\n 'null'\n ]\n ]\n ]\n },\n 'Kontakte': {\n 'expand': {\n 'Kontakttyp': null\n }\n },\n 'Sprache': {\n 'expand': {\n 'Sprachen': {\n 'expand': {\n 'Sprachniveau': null,\n 'Sprache': null\n }\n }\n }\n },\n 'Berufserfahrungen': {\n 'expand': {\n 'Berufserfahrungen': null\n }\n },\n 'Ausbildung': {\n 'expand': {\n 'Ausbildungen': {\n 'expand': {\n 'Ausbildung': null,\n 'AusbildungAbschluss': null\n }\n }\n }\n }\n },\n \"modificationInfoEnabled\": true,\n \"key\": \"variables.data.$id\",\n \"keyProperty\": \"Id\",\n \"filters\": []\n });\n this.addModel({\n \"id\": \"$m_Bewerbung\",\n \"webApiAction\": \"ZIT/Objekte/Bewerbung\",\n \"webApiColumns\": [\"Id\"],\n \"webApiWhere\": [\n [\"Kopf.IdPerson\", {\n \"isBound\": true,\n \"expression\": \"models.data.$m_Person.Id\"\n }]\n ],\n \"modificationInfoEnabled\": true,\n \"keyProperty\": \"Id\",\n \"filters\": [{\n \"webApiCustomKey\": \"AddBewerbungCard\",\n \"webApiCustomValue\": \"true\"\n }]\n });\n this.addCommand({\n \"binding\": {\n \"bindTo\": \"$f_PersonReadUtils.actionCommand\",\n \"bindToFQ\": \"functions.$f_PersonReadUtils.actionCommand\"\n }\n });\n this.addFunction(\"$f_PersonReadUtils\", $f_PersonReadUtils, \"functions.$f_PersonReadUtils\");\n this.widgetCreator.addValidationGroup(this, {\n \"id\": \"wd1\",\n \"options\": {\n \"optionsName\": \"wd1Options\",\n \"optionsNameFQ\": \"wd1Options\"\n }\n });\n this.widgetCreator.addListView(this, {\n \"itemClass\": \"z--list-view-inline-item\",\n \"useDefaultListItemStyle\": false,\n \"optionsToolbar\": {\n \"optionsName\": \"r_personSpracheListViewToolbarOptions\",\n \"optionsNameFQ\": \"r_personSpracheListViewToolbarOptions\"\n },\n \"binding\": {\n \"bindTo\": \"$m_Person.Sprache.Sprachen\",\n \"bindToFQ\": \"models.data.$m_Person.Sprache.Sprachen\"\n },\n \"listEdits\": [],\n \"filters\": [],\n \"commands\": [],\n \"id\": \"r_personSpracheListView\",\n \"options\": {\n \"optionsName\": \"r_personSpracheListViewOptions\",\n \"optionsNameFQ\": \"r_personSpracheListViewOptions\"\n }\n });\n this.widgetCreator.addListView(this, {\n \"itemClass\": \"z--list-view-inline-item\",\n \"useDefaultListItemStyle\": false,\n \"optionsToolbar\": {\n \"optionsName\": \"r_personAusbildungenListViewToolbarOptions\",\n \"optionsNameFQ\": \"r_personAusbildungenListViewToolbarOptions\"\n },\n \"binding\": {\n \"bindTo\": \"$m_Person.Ausbildung.Ausbildungen\",\n \"bindToFQ\": \"models.data.$m_Person.Ausbildung.Ausbildungen\"\n },\n \"listEdits\": [],\n \"filters\": [],\n \"commands\": [],\n \"id\": \"r_personAusbildungenListView\",\n \"options\": {\n \"optionsName\": \"r_personAusbildungenListViewOptions\",\n \"optionsNameFQ\": \"r_personAusbildungenListViewOptions\"\n }\n });\n this.widgetCreator.addListView(this, {\n \"itemClass\": \"z--list-view-inline-item\",\n \"useDefaultListItemStyle\": false,\n \"optionsToolbar\": {\n \"optionsName\": \"r_personBerufListViewToolbarOptions\",\n \"optionsNameFQ\": \"r_personBerufListViewToolbarOptions\"\n },\n \"binding\": {\n \"bindTo\": \"$m_Person.Berufserfahrungen.Berufserfahrungen\",\n \"bindToFQ\": \"models.data.$m_Person.Berufserfahrungen.Berufserfahrungen\"\n },\n \"listEdits\": [],\n \"filters\": [],\n \"commands\": [],\n \"id\": \"r_personBerufListView\",\n \"options\": {\n \"optionsName\": \"r_personBerufListViewOptions\",\n \"optionsNameFQ\": \"r_personBerufListViewOptions\"\n }\n });\n this.widgetCreator.addListView(this, {\n \"itemClass\": \"col-xs-12 col-sm-6\",\n \"useDefaultListItemStyle\": false,\n \"optionsToolbar\": {\n \"optionsName\": \"r_personBewerbungListViewToolbarOptions\",\n \"optionsNameFQ\": \"r_personBewerbungListViewToolbarOptions\"\n },\n \"binding\": {\n \"dataContext\": \"$m_Bewerbung\"\n },\n \"dataModel\": \"$m_Bewerbung\",\n \"pageSize\": 8,\n \"listEdits\": [],\n \"filters\": [],\n \"commands\": [],\n \"id\": \"r_personBewerbungListView\",\n \"options\": {\n \"optionsName\": \"r_personBewerbungListViewOptions\",\n \"optionsNameFQ\": \"r_personBewerbungListViewOptions\"\n }\n });\n super.onConstructionFinished();\n }\n}","module.exports = \"\";","import * as fwx from \"../../../../framework/forms/form-export\";\n\n@fwx.autoinject\nexport class PersonKontaktEditForm extends fwx.FormBase {\n constructor(\n element: Element,\n formBaseImport: fwx.FormBaseImport) {\n super(element, formBaseImport);\n this.id = \"person-kontakt-edit\";\n this.title = \"person-kontakt-edit.person-kontakt-edit_caption\";\n this.addModel({\n \"id\": \"$m_PersonKontakt\",\n \"webApiAction\": \"ZIT/Objekte/PersonKontaktElement\",\n \"key\": \"variables.data.$id\",\n \"keyProperty\": \"Id\",\n \"postOnSave\": true,\n \"filters\": []\n });\n this.addModel({\n \"id\": \"$m_Kontakttyp\",\n \"webApiAction\": \"ZIT/Stammdaten/Kontakttyp\",\n \"key\": \"models.data.$m_PersonKontakt.IdKontakttyp\",\n \"keyProperty\": \"Id\",\n \"filters\": []\n });\n this.addVariable({\n \"id\": \"$id\"\n });\n this.widgetCreator.addValidationGroup(this, {\n \"id\": \"wd1\",\n \"options\": {\n \"optionsName\": \"wd1Options\",\n \"optionsNameFQ\": \"wd1Options\"\n }\n });\n this.widgetCreator.addSelectBox(this, {\n \"idSelect\": \"kontakttyp\",\n \"customs\": [{\n \"key\": \"objektTyp\",\n \"value\": \"'TIP.ZIT.Business.Entities.Objekte.Personen.Person'\"\n }],\n \"filters\": [],\n \"caption\": \"person-kontakt-edit.r_kontakttyp_caption\",\n \"binding\": {\n \"dataContext\": \"$m_PersonKontakt\",\n \"bindTo\": \"IdKontakttyp\",\n \"bindToFQ\": \"models.data.$m_PersonKontakt.IdKontakttyp\"\n },\n \"validationRules\": [{\n \"item\": {\n \"type\": \"required\",\n \"parameters\": []\n }\n }],\n \"id\": \"r_kontakttyp\",\n \"options\": {\n \"optionsName\": \"r_kontakttypOptions\",\n \"optionsNameFQ\": \"r_kontakttypOptions\"\n }\n });\n this.widgetCreator.addCheckBox(this, {\n \"caption\": \"person-kontakt-edit.r_wichtig_caption\",\n \"binding\": {\n \"dataContext\": \"$m_PersonKontakt\",\n \"bindTo\": \"Wichtig\",\n \"bindToFQ\": \"models.data.$m_PersonKontakt.Wichtig\"\n },\n \"validationRules\": [],\n \"id\": \"r_wichtig\",\n \"options\": {\n \"optionsName\": \"r_wichtigOptions\",\n \"optionsNameFQ\": \"r_wichtigOptions\"\n }\n });\n this.widgetCreator.addSelectBox(this, {\n \"idSelect\": \"landvorwahl\",\n \"filters\": [],\n \"caption\": \"person-kontakt-edit.r_landvorwahl_caption\",\n \"binding\": {\n \"dataContext\": \"$m_PersonKontakt\",\n \"bindTo\": \"Wert1\",\n \"bindToFQ\": \"models.data.$m_PersonKontakt.Wert1\"\n },\n \"validationRules\": [{\n \"item\": {\n \"type\": \"required\",\n \"parameters\": []\n }\n }],\n \"id\": \"r_landvorwahl\",\n \"options\": {\n \"optionsName\": \"r_landvorwahlOptions\",\n \"optionsNameFQ\": \"r_landvorwahlOptions\"\n }\n });\n this.widgetCreator.addTextBox(this, {\n \"maxLength\": 100,\n \"caption\": \"person-kontakt-edit.r_wert2_caption\",\n \"binding\": {\n \"dataContext\": \"$m_PersonKontakt\",\n \"bindTo\": \"Wert2\",\n \"bindToFQ\": \"models.data.$m_PersonKontakt.Wert2\"\n },\n \"validationRules\": [{\n \"item\": {\n \"type\": \"required\",\n \"parameters\": []\n }\n }],\n \"id\": \"r_wert2\",\n \"options\": {\n \"optionsName\": \"r_wert2Options\",\n \"optionsNameFQ\": \"r_wert2Options\"\n }\n });\n this.widgetCreator.addTextBox(this, {\n \"maxLength\": 100,\n \"caption\": \"person-kontakt-edit.r_email_caption\",\n \"binding\": {\n \"dataContext\": \"$m_PersonKontakt\",\n \"bindTo\": \"Wert1\",\n \"bindToFQ\": \"models.data.$m_PersonKontakt.Wert1\"\n },\n \"validationRules\": [{\n \"item\": {\n \"type\": \"required\",\n \"parameters\": []\n }\n }],\n \"id\": \"r_email\",\n \"options\": {\n \"optionsName\": \"r_emailOptions\",\n \"optionsNameFQ\": \"r_emailOptions\"\n }\n });\n this.widgetCreator.addTextBox(this, {\n \"maxLength\": 100,\n \"caption\": \"person-kontakt-edit.r_website_caption\",\n \"binding\": {\n \"dataContext\": \"$m_PersonKontakt\",\n \"bindTo\": \"Wert1\",\n \"bindToFQ\": \"models.data.$m_PersonKontakt.Wert1\"\n },\n \"validationRules\": [{\n \"item\": {\n \"type\": \"required\",\n \"parameters\": []\n }\n }],\n \"id\": \"r_website\",\n \"options\": {\n \"optionsName\": \"r_websiteOptions\",\n \"optionsNameFQ\": \"r_websiteOptions\"\n }\n });\n this.widgetCreator.addTextBox(this, {\n \"maxLength\": 1000,\n \"caption\": \"person-kontakt-edit.r_personkontaktbemerkung_caption\",\n \"binding\": {\n \"dataContext\": \"$m_PersonKontakt\",\n \"bindTo\": \"Bemerkung\",\n \"bindToFQ\": \"models.data.$m_PersonKontakt.Bemerkung\"\n },\n \"validationRules\": [],\n \"id\": \"r_personKontaktBemerkung\",\n \"options\": {\n \"optionsName\": \"r_personKontaktBemerkungOptions\",\n \"optionsNameFQ\": \"r_personKontaktBemerkungOptions\"\n }\n });\n this.widgetCreator.addDateBox(this, {\n \"format\": \"d\",\n \"caption\": \"person-kontakt-edit.r_persongueltigvon_caption\",\n \"binding\": {\n \"dataContext\": \"$m_PersonKontakt\",\n \"bindTo\": \"GueltigVon\",\n \"bindToFQ\": \"models.data.$m_PersonKontakt.GueltigVon\"\n },\n \"validationRules\": [],\n \"id\": \"r_personGueltigVon\",\n \"options\": {\n \"optionsName\": \"r_personGueltigVonOptions\",\n \"optionsNameFQ\": \"r_personGueltigVonOptions\"\n }\n });\n this.widgetCreator.addDateBox(this, {\n \"format\": \"d\",\n \"caption\": \"person-kontakt-edit.r_persongueltigbis_caption\",\n \"binding\": {\n \"dataContext\": \"$m_PersonKontakt\",\n \"bindTo\": \"GueltigBis\",\n \"bindToFQ\": \"models.data.$m_PersonKontakt.GueltigBis\"\n },\n \"validationRules\": [],\n \"id\": \"r_personGueltigBis\",\n \"options\": {\n \"optionsName\": \"r_personGueltigBisOptions\",\n \"optionsNameFQ\": \"r_personGueltigBisOptions\"\n }\n });\n super.onConstructionFinished();\n }\n}","module.exports = \"\";","import * as fwx from \"../../../../framework/forms/form-export\";\nimport {\n PersonenEditUtils\n} from \"./person-edit-utils\";\nimport {\n PersonenAdresseUtils\n} from \"./person-adresse-utils\";\n\n@fwx.autoinject\nexport class PersonLehreErsteinstiegEditForm extends fwx.FormBase {\n constructor(\n element: Element,\n formBaseImport: fwx.FormBaseImport,\n private $f_PersonenEditUtils: PersonenEditUtils,\n private $f_PersonenAdresseUtils: PersonenAdresseUtils) {\n super(element, formBaseImport);\n this.id = \"person-lehre-ersteinstieg-edit\";\n this.title = \"person-lehre-ersteinstieg-edit.person-lehre-ersteinstieg-edit_caption\";\n this.addModel({\n \"id\": \"$m_Person\",\n \"webApiAction\": \"ZIT/Objekte/Person\",\n \"webApiExpand\": {\n 'Personendaten': null,\n 'Adressen': null,\n 'Berufserfahrungen': {\n 'expand': {\n 'Berufserfahrungen': null\n }\n },\n 'Kontakte': {\n 'expand': {\n 'Kontakttyp': null\n }\n }\n },\n \"modificationInfoEnabled\": true,\n \"key\": \"variables.data.$id\",\n \"keyProperty\": \"Id\",\n \"postOnSave\": true,\n \"allowNew\": \"false\",\n \"allowDelete\": \"false\",\n \"filters\": []\n });\n this.addModel({\n \"id\": \"$m_Bewerbung\",\n \"webApiAction\": \"ZIT/Objekte/Bewerbung\",\n \"webApiColumns\": [\"Id\"],\n \"webApiWhere\": [\"Kopf.IdPerson\", {\n \"isBound\": true,\n \"expression\": \"models.data.$m_Person.Id\"\n }],\n \"webApiOrderBy\": [{\n columnName: 'Anlagedatum',\n sortOrder: 1\n }],\n \"modificationInfoEnabled\": true,\n \"keyProperty\": \"Id\",\n \"filters\": [{\n \"webApiCustomKey\": \"AddBewerbungCard\",\n \"webApiCustomValue\": \"true\"\n }]\n });\n this.addModel({\n \"id\": \"$m_AusbildungElement\",\n \"webApiAction\": \"ZIT/Objekte/PersonAusbildungElement\",\n \"key\": \"models.data.$m_Person.IdPersonAusbildungElement\",\n \"keyProperty\": \"Id\",\n \"filters\": []\n });\n this.addModel({\n \"id\": \"$m_PersonAdresse\",\n \"webApiAction\": \"ZIT/Objekte/PersonAdresseElement\",\n \"keyProperty\": \"Id\",\n \"filters\": []\n });\n this.addModel({\n \"id\": \"$m_PersonKontaktRel\",\n \"webApiAction\": \"ZIT/Objekte/PersonKontaktElement\",\n \"webApiExpand\": {\n 'Kontakttyp': null\n },\n \"keyProperty\": \"Id\",\n \"filters\": []\n });\n this.addModel({\n \"id\": \"$m_PersonKontaktEdit\",\n \"webApiAction\": \"ZIT/Objekte/PersonKontaktElement\",\n \"keyProperty\": \"Id\",\n \"filters\": []\n });\n this.addModel({\n \"id\": \"$m_PersonBerufserfahrungRel\",\n \"webApiAction\": \"ZIT/Objekte/PersonBerufserfahrung\",\n \"keyProperty\": \"Id\",\n \"filters\": []\n });\n this.addModel({\n \"id\": \"$m_PersonBerufserfahrungEdit\",\n \"webApiAction\": \"ZIT/Objekte/PersonBerufserfahrung\",\n \"keyProperty\": \"Id\",\n \"filters\": []\n });\n this.addModel({\n \"id\": \"$m_PersonAusbildungRel\",\n \"webApiAction\": \"ZIT/Objekte/PersonAusbildung\",\n \"webApiExpand\": {\n 'Ausbildung': null,\n 'Ausbildungsort': null,\n 'AusbildungAbschluss': null\n },\n \"keyProperty\": \"Id\",\n \"filters\": []\n });\n this.addModel({\n \"id\": \"$m_PersonAusbildungEdit\",\n \"webApiAction\": \"ZIT/Objekte/PersonAusbildung\",\n \"keyProperty\": \"Id\",\n \"filters\": []\n });\n this.addModel({\n \"id\": \"$m_DokumentRel\",\n \"webApiAction\": \"ZIT/Objekte/DokumentElement\",\n \"webApiExpand\": {\n 'Informationstyp': null\n },\n \"keyProperty\": \"Id\",\n \"filters\": []\n });\n this.addModel({\n \"id\": \"$m_DokumentEdit\",\n \"webApiAction\": \"ZIT/Objekte/DokumentElement\",\n \"keyProperty\": \"Id\",\n \"filters\": []\n });\n this.addModel({\n \"id\": \"$m_BerufserfahrungElement\",\n \"webApiAction\": \"ZIT/Objekte/PersonBerufserfahrungElement\",\n \"key\": \"models.data.$m_Person.IdPersonBerufserfahrungElement\",\n \"keyProperty\": \"Id\",\n \"filters\": []\n });\n this.addCommand({\n \"binding\": {\n \"bindTo\": \"$f_PersonenEditUtils.actionCommand\",\n \"bindToFQ\": \"functions.$f_PersonenEditUtils.actionCommand\"\n }\n });\n this.addEditPopup({\n \"idContent\": \"personBerufserfahrungEditPopupContent\",\n \"mappings\": [{\n \"to\": \"$id\",\n \"binding\": {\n \"dataContext\": \"$m_PersonBerufserfahrungEdit\",\n \"bindTo\": \"Id\",\n \"bindToFQ\": \"models.data.$m_PersonBerufserfahrungEdit.Id\"\n }\n }],\n \"id\": \"personBerufserfahrungEditPopup\",\n \"options\": {\n \"optionsName\": \"personBerufserfahrungEditPopupOptions\",\n \"optionsNameFQ\": \"personBerufserfahrungEditPopupOptions\"\n },\n \"height\": \"auto\",\n \"width\": \"500px\",\n \"commands\": []\n });\n this.addEditPopup({\n \"idContent\": \"personAusbildungEditPopupContent\",\n \"mappings\": [{\n \"to\": \"$id\",\n \"binding\": {\n \"dataContext\": \"$m_PersonAusbildungEdit\",\n \"bindTo\": \"Id\",\n \"bindToFQ\": \"models.data.$m_PersonAusbildungEdit.Id\"\n }\n }],\n \"id\": \"personAusbildungEditPopup\",\n \"options\": {\n \"optionsName\": \"personAusbildungEditPopupOptions\",\n \"optionsNameFQ\": \"personAusbildungEditPopupOptions\"\n },\n \"height\": \"auto\",\n \"width\": \"500px\",\n \"commands\": []\n });\n this.addFunction(\"$f_PersonenEditUtils\", $f_PersonenEditUtils, \"functions.$f_PersonenEditUtils\");\n this.addFunction(\"$f_PersonenAdresseUtils\", $f_PersonenAdresseUtils, \"functions.$f_PersonenAdresseUtils\");\n this.widgetCreator.addValidationGroup(this, {\n \"id\": \"wd1\",\n \"options\": {\n \"optionsName\": \"wd1Options\",\n \"optionsNameFQ\": \"wd1Options\"\n }\n });\n this.widgetCreator.addRadioGroup(this, {\n \"idSelect\": \"geschlecht\",\n \"filters\": [],\n \"caption\": \"person-lehre-ersteinstieg-edit.r_geschlecht_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Person\",\n \"bindTo\": \"Personendaten.Geschlecht\",\n \"bindToFQ\": \"models.data.$m_Person.Personendaten.Geschlecht\",\n \"propertyPrefix\": \"Personendaten\"\n },\n \"validationRules\": [{\n \"item\": {\n \"type\": \"required\",\n \"parameters\": []\n }\n }],\n \"id\": \"r_geschlecht\",\n \"options\": {\n \"optionsName\": \"r_geschlechtOptions\",\n \"optionsNameFQ\": \"r_geschlechtOptions\"\n }\n });\n this.widgetCreator.addTextBox(this, {\n \"maxLength\": 50,\n \"caption\": \"person-lehre-ersteinstieg-edit.r_titelvorne_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Person\",\n \"bindTo\": \"Personendaten.TitelVorne\",\n \"bindToFQ\": \"models.data.$m_Person.Personendaten.TitelVorne\",\n \"propertyPrefix\": \"Personendaten\"\n },\n \"validationRules\": [],\n \"id\": \"r_titelVorne\",\n \"options\": {\n \"optionsName\": \"r_titelVorneOptions\",\n \"optionsNameFQ\": \"r_titelVorneOptions\"\n }\n });\n this.widgetCreator.addTextBox(this, {\n \"maxLength\": 50,\n \"caption\": \"person-lehre-ersteinstieg-edit.r_titelhinten_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Person\",\n \"bindTo\": \"Personendaten.TitelHinten\",\n \"bindToFQ\": \"models.data.$m_Person.Personendaten.TitelHinten\",\n \"propertyPrefix\": \"Personendaten\"\n },\n \"validationRules\": [],\n \"id\": \"r_titelHinten\",\n \"options\": {\n \"optionsName\": \"r_titelHintenOptions\",\n \"optionsNameFQ\": \"r_titelHintenOptions\"\n }\n });\n this.widgetCreator.addTextBox(this, {\n \"maxLength\": 100,\n \"caption\": \"person-lehre-ersteinstieg-edit.r_vorname_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Person\",\n \"bindTo\": \"Personendaten.Vorname\",\n \"bindToFQ\": \"models.data.$m_Person.Personendaten.Vorname\",\n \"propertyPrefix\": \"Personendaten\"\n },\n \"validationRules\": [{\n \"item\": {\n \"type\": \"required\",\n \"parameters\": []\n }\n }],\n \"id\": \"r_vorname\",\n \"options\": {\n \"optionsName\": \"r_vornameOptions\",\n \"optionsNameFQ\": \"r_vornameOptions\"\n }\n });\n this.widgetCreator.addTextBox(this, {\n \"maxLength\": 100,\n \"caption\": \"person-lehre-ersteinstieg-edit.r_nachname_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Person\",\n \"bindTo\": \"Personendaten.Nachname\",\n \"bindToFQ\": \"models.data.$m_Person.Personendaten.Nachname\",\n \"propertyPrefix\": \"Personendaten\"\n },\n \"validationRules\": [{\n \"item\": {\n \"type\": \"required\",\n \"parameters\": []\n }\n }],\n \"id\": \"r_nachname\",\n \"options\": {\n \"optionsName\": \"r_nachnameOptions\",\n \"optionsNameFQ\": \"r_nachnameOptions\"\n }\n });\n this.widgetCreator.addDateBox(this, {\n \"format\": \"d\",\n \"caption\": \"person-lehre-ersteinstieg-edit.r_geburtsdatum_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Person\",\n \"bindTo\": \"Personendaten.Geburtsdatum\",\n \"bindToFQ\": \"models.data.$m_Person.Personendaten.Geburtsdatum\",\n \"propertyPrefix\": \"Personendaten\"\n },\n \"validationRules\": [{\n \"item\": {\n \"type\": \"required\",\n \"parameters\": []\n }\n }],\n \"id\": \"r_geburtsdatum\",\n \"options\": {\n \"optionsName\": \"r_geburtsdatumOptions\",\n \"optionsNameFQ\": \"r_geburtsdatumOptions\"\n }\n });\n this.widgetCreator.addSelectBox(this, {\n \"idSelect\": \"staat\",\n \"filters\": [],\n \"caption\": \"person-lehre-ersteinstieg-edit.r_idnationalitaet_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Person\",\n \"bindTo\": \"Personendaten.IdNationalitaet\",\n \"bindToFQ\": \"models.data.$m_Person.Personendaten.IdNationalitaet\",\n \"propertyPrefix\": \"Personendaten\"\n },\n \"validationRules\": [{\n \"item\": {\n \"type\": \"required\",\n \"parameters\": []\n }\n }],\n \"id\": \"r_idNationalitaet\",\n \"options\": {\n \"optionsName\": \"r_idNationalitaetOptions\",\n \"optionsNameFQ\": \"r_idNationalitaetOptions\"\n }\n });\n this.widgetCreator.addSelectBox(this, {\n \"idSelect\": \"familienstand\",\n \"filters\": [],\n \"caption\": \"person-lehre-ersteinstieg-edit.r_familienstand_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Person\",\n \"bindTo\": \"Personendaten.IdFamilienstand\",\n \"bindToFQ\": \"models.data.$m_Person.Personendaten.IdFamilienstand\",\n \"propertyPrefix\": \"Personendaten\"\n },\n \"validationRules\": [],\n \"id\": \"r_familienstand\",\n \"options\": {\n \"optionsName\": \"r_familienstandOptions\",\n \"optionsNameFQ\": \"r_familienstandOptions\"\n }\n });\n this.widgetCreator.addTextBox(this, {\n \"maxLength\": 4,\n \"caption\": \"person-lehre-ersteinstieg-edit.r_svnr_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Person\",\n \"bindTo\": \"Personendaten.SVNr\",\n \"bindToFQ\": \"models.data.$m_Person.Personendaten.SVNr\",\n \"propertyPrefix\": \"Personendaten\"\n },\n \"validationRules\": [{\n \"item\": {\n \"type\": \"svnr\",\n \"parameters\": []\n }\n }],\n \"id\": \"r_svnr\",\n \"options\": {\n \"optionsName\": \"r_svnrOptions\",\n \"optionsNameFQ\": \"r_svnrOptions\"\n }\n });\n this.widgetCreator.addTextBox(this, {\n \"maxLength\": 20,\n \"caption\": \"person-lehre-ersteinstieg-edit.r_ahvnrliechtenstein_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Person\",\n \"bindTo\": \"Personendaten.AHVNrLiechtenstein\",\n \"bindToFQ\": \"models.data.$m_Person.Personendaten.AHVNrLiechtenstein\",\n \"propertyPrefix\": \"Personendaten\"\n },\n \"validationRules\": [{\n \"item\": {\n \"type\": \"ahvnr\",\n \"parameters\": []\n }\n }],\n \"id\": \"r_ahvNrLiechtenstein\",\n \"options\": {\n \"optionsName\": \"r_ahvNrLiechtensteinOptions\",\n \"optionsNameFQ\": \"r_ahvNrLiechtensteinOptions\"\n }\n });\n this.widgetCreator.addTextBox(this, {\n \"maxLength\": 20,\n \"caption\": \"person-lehre-ersteinstieg-edit.r_ahvnrschweiz_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Person\",\n \"bindTo\": \"Personendaten.AHVNrSchweiz\",\n \"bindToFQ\": \"models.data.$m_Person.Personendaten.AHVNrSchweiz\",\n \"propertyPrefix\": \"Personendaten\"\n },\n \"validationRules\": [{\n \"item\": {\n \"type\": \"ahvnr\",\n \"parameters\": []\n }\n }],\n \"id\": \"r_ahvNrSchweiz\",\n \"options\": {\n \"optionsName\": \"r_ahvNrSchweizOptions\",\n \"optionsNameFQ\": \"r_ahvNrSchweizOptions\"\n }\n });\n this.widgetCreator.addFileUploaderWithViewer(this, {\n \"acceptTypeEnum\": 0,\n \"acceptType\": \"image/*\",\n \"height\": \"250px\",\n \"showToolbar\": true,\n \"showClearButton\": false,\n \"caption\": \"person-lehre-ersteinstieg-edit.r_dmslinkfoto_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Person\",\n \"bindTo\": \"Personendaten.DMSLinkFoto\",\n \"bindToFQ\": \"models.data.$m_Person.Personendaten.DMSLinkFoto\",\n \"propertyPrefix\": \"Personendaten\"\n },\n \"validationRules\": [],\n \"id\": \"r_dmsLinkFoto\",\n \"options\": {\n \"optionsName\": \"r_dmsLinkFotoOptions\",\n \"optionsNameFQ\": \"r_dmsLinkFotoOptions\"\n }\n });\n this.widgetCreator.addSelectBox(this, {\n \"idSelect\": \"staat\",\n \"filters\": [],\n \"caption\": \"person-lehre-ersteinstieg-edit.r_land_caption\",\n \"binding\": {\n \"dataContext\": \"$m_PersonAdresse\",\n \"bindTo\": \"IdLand\",\n \"bindToFQ\": \"models.data.$m_PersonAdresse.IdLand\"\n },\n \"validationRules\": [{\n \"item\": {\n \"type\": \"required\",\n \"parameters\": []\n }\n }],\n \"id\": \"r_land\",\n \"options\": {\n \"optionsName\": \"r_landOptions\",\n \"optionsNameFQ\": \"r_landOptions\"\n }\n });\n this.widgetCreator.addTextBox(this, {\n \"maxLength\": 100,\n \"caption\": \"person-lehre-ersteinstieg-edit.r_strasse_caption\",\n \"binding\": {\n \"dataContext\": \"$m_PersonAdresse\",\n \"bindTo\": \"Strasse\",\n \"bindToFQ\": \"models.data.$m_PersonAdresse.Strasse\"\n },\n \"validationRules\": [{\n \"item\": {\n \"type\": \"required\",\n \"parameters\": []\n }\n }],\n \"id\": \"r_strasse\",\n \"options\": {\n \"optionsName\": \"r_strasseOptions\",\n \"optionsNameFQ\": \"r_strasseOptions\"\n }\n });\n this.widgetCreator.addTextBox(this, {\n \"maxLength\": 20,\n \"caption\": \"person-lehre-ersteinstieg-edit.r_postleitzahl_caption\",\n \"binding\": {\n \"dataContext\": \"$m_PersonAdresse\",\n \"bindTo\": \"Postleitzahl\",\n \"bindToFQ\": \"models.data.$m_PersonAdresse.Postleitzahl\"\n },\n \"validationRules\": [{\n \"item\": {\n \"type\": \"required\",\n \"parameters\": []\n }\n }],\n \"id\": \"r_postleitzahl\",\n \"options\": {\n \"optionsName\": \"r_postleitzahlOptions\",\n \"optionsNameFQ\": \"r_postleitzahlOptions\"\n }\n });\n this.widgetCreator.addTextBox(this, {\n \"maxLength\": 100,\n \"caption\": \"person-lehre-ersteinstieg-edit.r_ort_caption\",\n \"binding\": {\n \"dataContext\": \"$m_PersonAdresse\",\n \"bindTo\": \"Ort\",\n \"bindToFQ\": \"models.data.$m_PersonAdresse.Ort\"\n },\n \"validationRules\": [{\n \"item\": {\n \"type\": \"required\",\n \"parameters\": []\n }\n }],\n \"id\": \"r_ort\",\n \"options\": {\n \"optionsName\": \"r_ortOptions\",\n \"optionsNameFQ\": \"r_ortOptions\"\n }\n });\n this.widgetCreator.addSelectBox(this, {\n \"idSelect\": \"landvorwahl\",\n \"filters\": [],\n \"caption\": \"person-lehre-ersteinstieg-edit.r_mobilwert1_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Person\",\n \"bindTo\": \"Personendaten.MobilLandvorwahl\",\n \"bindToFQ\": \"models.data.$m_Person.Personendaten.MobilLandvorwahl\",\n \"propertyPrefix\": \"Personendaten\"\n },\n \"validationRules\": [{\n \"item\": {\n \"type\": \"conditionalRequired\",\n \"parameters\": [{\n \"name\": \"condition\",\n \"value\": \"models.data.$m_Person.Personendaten && models.data.$m_Person.Personendaten.Mobil\"\n }]\n }\n }, {\n \"item\": {\n \"type\": \"conditionalRequired\",\n \"parameters\": [{\n \"name\": \"condition\",\n \"value\": \"models.data.$m_Person.Personendaten && !models.data.$m_Person.Personendaten.Email\"\n }]\n }\n }],\n \"id\": \"r_mobilWert1\",\n \"options\": {\n \"optionsName\": \"r_mobilWert1Options\",\n \"optionsNameFQ\": \"r_mobilWert1Options\"\n }\n });\n this.widgetCreator.addTextBox(this, {\n \"maxLength\": 100,\n \"caption\": \"person-lehre-ersteinstieg-edit.r_mobilwert2_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Person\",\n \"bindTo\": \"Personendaten.Mobil\",\n \"bindToFQ\": \"models.data.$m_Person.Personendaten.Mobil\",\n \"propertyPrefix\": \"Personendaten\"\n },\n \"validationRules\": [{\n \"item\": {\n \"type\": \"telefon\",\n \"parameters\": []\n }\n }, {\n \"item\": {\n \"type\": \"conditionalRequired\",\n \"parameters\": [{\n \"name\": \"condition\",\n \"value\": \"models.data.$m_Person.Personendaten && !models.data.$m_Person.Personendaten.Email\"\n }]\n }\n }],\n \"id\": \"r_mobilWert2\",\n \"options\": {\n \"optionsName\": \"r_mobilWert2Options\",\n \"optionsNameFQ\": \"r_mobilWert2Options\"\n }\n });\n this.widgetCreator.addTextBox(this, {\n \"maxLength\": 100,\n \"caption\": \"person-lehre-ersteinstieg-edit.r_email_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Person\",\n \"bindTo\": \"Personendaten.Email\",\n \"bindToFQ\": \"models.data.$m_Person.Personendaten.Email\",\n \"propertyPrefix\": \"Personendaten\"\n },\n \"validationRules\": [{\n \"item\": {\n \"type\": \"conditionalRequired\",\n \"parameters\": [{\n \"name\": \"condition\",\n \"value\": \"models.data.$m_Person.Personendaten && (!models.data.$m_Person.Personendaten.Mobil || !models.data.$m_Person.Personendaten.MobilLandvorwahl)\"\n }]\n }\n }],\n \"id\": \"r_email\",\n \"options\": {\n \"optionsName\": \"r_emailOptions\",\n \"optionsNameFQ\": \"r_emailOptions\"\n }\n });\n this.widgetCreator.addListView(this, {\n \"itemClass\": \"col-xs-12 col-sm-6\",\n \"useDefaultListItemStyle\": false,\n \"createToolbar\": true,\n \"optionsToolbar\": {\n \"optionsName\": \"r_personAusbildungListViewToolbarOptions\",\n \"optionsNameFQ\": \"r_personAusbildungListViewToolbarOptions\"\n },\n \"caption\": \"person-lehre-ersteinstieg-edit.r_personausbildunglistview_caption\",\n \"binding\": {\n \"dataContext\": \"$m_AusbildungElement\"\n },\n \"isRelation\": true,\n \"relationBinding\": {\n \"dataContext\": \"$m_PersonAusbildungRel\",\n \"bindTo\": \"IdPersonAusbildungElement\",\n \"bindToFQ\": \"models.data.$m_PersonAusbildungRel.IdPersonAusbildungElement\"\n },\n \"dataModel\": \"$m_AusbildungElement\",\n \"editDataContext\": \"$m_PersonAusbildungEdit\",\n \"idEditPopup\": \"personAusbildungEditPopup\",\n \"pageSize\": 2,\n \"listEdits\": [],\n \"filters\": [],\n \"commands\": [],\n \"id\": \"r_personAusbildungListView\",\n \"options\": {\n \"optionsName\": \"r_personAusbildungListViewOptions\",\n \"optionsNameFQ\": \"r_personAusbildungListViewOptions\"\n }\n });\n this.widgetCreator.addListView(this, {\n \"itemClass\": \"col-xs-12 col-sm-6\",\n \"useDefaultListItemStyle\": false,\n \"createToolbar\": true,\n \"optionsToolbar\": {\n \"optionsName\": \"r_personBerufserfahrungListViewToolbarOptions\",\n \"optionsNameFQ\": \"r_personBerufserfahrungListViewToolbarOptions\"\n },\n \"caption\": \"person-lehre-ersteinstieg-edit.r_personberufserfahrunglistview_caption\",\n \"binding\": {\n \"dataContext\": \"$m_BerufserfahrungElement\"\n },\n \"isRelation\": true,\n \"relationBinding\": {\n \"dataContext\": \"$m_PersonBerufserfahrungRel\",\n \"bindTo\": \"IdPersonBerufserfahrungElement\",\n \"bindToFQ\": \"models.data.$m_PersonBerufserfahrungRel.IdPersonBerufserfahrungElement\"\n },\n \"dataModel\": \"$m_BerufserfahrungElement\",\n \"editDataContext\": \"$m_PersonBerufserfahrungEdit\",\n \"idEditPopup\": \"personBerufserfahrungEditPopup\",\n \"pageSize\": 2,\n \"listEdits\": [],\n \"filters\": [],\n \"commands\": [],\n \"id\": \"r_personBerufserfahrungListView\",\n \"options\": {\n \"optionsName\": \"r_personBerufserfahrungListViewOptions\",\n \"optionsNameFQ\": \"r_personBerufserfahrungListViewOptions\"\n }\n });\n this.widgetCreator.addListView(this, {\n \"itemClass\": \"col-xs-12 col-sm-6\",\n \"useDefaultListItemStyle\": false,\n \"createToolbar\": true,\n \"optionsToolbar\": {\n \"optionsName\": \"r_personBewerbungListViewToolbarOptions\",\n \"optionsNameFQ\": \"r_personBewerbungListViewToolbarOptions\"\n },\n \"caption\": \"person-lehre-ersteinstieg-edit.r_personbewerbunglistview_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Bewerbung\"\n },\n \"dataModel\": \"$m_Bewerbung\",\n \"pageSize\": 2,\n \"listEdits\": [],\n \"filters\": [],\n \"commands\": [],\n \"id\": \"r_personBewerbungListView\",\n \"options\": {\n \"optionsName\": \"r_personBewerbungListViewOptions\",\n \"optionsNameFQ\": \"r_personBewerbungListViewOptions\"\n }\n });\n this.widgetCreator.addPopup(this, {\n \"id\": \"r_personAbgeschlossenPopup\",\n \"options\": {\n \"optionsName\": \"r_personAbgeschlossenPopupOptions\",\n \"optionsNameFQ\": \"r_personAbgeschlossenPopupOptions\"\n },\n \"caption\": \"person-lehre-ersteinstieg-edit.r_personabgeschlossenpopup_caption\",\n \"height\": \"auto\",\n \"width\": \"450px\",\n \"commands\": [{\n \"binding\": {\n \"bindTo\": \"$f_PersonenEditUtils.personAbschliessenCommand\",\n \"bindToFQ\": \"functions.$f_PersonenEditUtils.personAbschliessenCommand\"\n }\n }]\n });\n super.onConstructionFinished();\n }\n}","module.exports = \"\";","import * as fwx from \"../../../../framework/forms/form-export\";\n\n@fwx.autoinject\nexport class PersonListForm extends fwx.FormBase {\n constructor(\n element: Element,\n formBaseImport: fwx.FormBaseImport) {\n super(element, formBaseImport);\n this.id = \"person-list\";\n this.title = \"person-list.person-list_caption\";\n this.addModel({\n \"id\": \"$m_Person\",\n \"webApiAction\": \"ZIT/Objekte/Person\",\n \"webApiExpand\": {\n 'Personendaten': null\n },\n \"modificationInfoEnabled\": true,\n \"keyProperty\": \"Id\",\n \"filters\": []\n });\n this.widgetCreator.addValidationGroup(this, {\n \"id\": \"wd1\",\n \"options\": {\n \"optionsName\": \"wd1Options\",\n \"optionsNameFQ\": \"wd1Options\"\n }\n });\n this.widgetCreator.addDataGrid(this, {\n \"columns\": [{\n \"id\": \"r_persGeschlecht\",\n \"caption\": \"person-list.r_persgeschlecht_caption\",\n \"bindTo\": \"Personendaten.Geschlecht\",\n \"width\": \"80px\",\n \"enumTypeName\": \"TIP.ZIT.Business.Enumerations.GeschlechtEnum\"\n }, {\n \"id\": \"r_persTitelVorne\",\n \"caption\": \"person-list.r_perstitelvorne_caption\",\n \"bindTo\": \"Personendaten.TitelVorne\",\n \"width\": \"80px\"\n }, {\n \"id\": \"r_persVorname\",\n \"caption\": \"person-list.r_persvorname_caption\",\n \"bindTo\": \"Personendaten.Vorname\",\n \"minWidth\": 100\n }, {\n \"id\": \"r_persNachname\",\n \"caption\": \"person-list.r_persnachname_caption\",\n \"bindTo\": \"Personendaten.Nachname\",\n \"minWidth\": 100\n }, {\n \"id\": \"r_persTitelHinten\",\n \"caption\": \"person-list.r_perstitelhinten_caption\",\n \"bindTo\": \"Personendaten.TitelHinten\",\n \"width\": \"80px\"\n }],\n \"optionsToolbar\": {\n \"optionsName\": \"r_personGridToolbarOptions\",\n \"optionsNameFQ\": \"r_personGridToolbarOptions\"\n },\n \"binding\": {\n \"dataContext\": \"$m_Person\"\n },\n \"dataModel\": \"$m_Person\",\n \"editUrl\": \"Objekte/Person\",\n \"addShortscuts\": true,\n \"isMainList\": true,\n \"height\": \"100%\",\n \"listEdits\": [],\n \"filters\": [],\n \"commands\": [],\n \"id\": \"r_personGrid\",\n \"options\": {\n \"optionsName\": \"r_personGridOptions\",\n \"optionsNameFQ\": \"r_personGridOptions\"\n }\n });\n super.onConstructionFinished();\n }\n}","module.exports = \"\";","import * as fwx from \"../../../../framework/forms/form-export\";\n\n@fwx.autoinject\nexport class PersonSkillEditForm extends fwx.FormBase {\n constructor(\n element: Element,\n formBaseImport: fwx.FormBaseImport) {\n super(element, formBaseImport);\n this.id = \"person-skill-edit\";\n this.title = \"person-skill-edit.person-skill-edit_caption\";\n this.addModel({\n \"id\": \"$m_Skill\",\n \"webApiAction\": \"ZIT/Objekte/PersonSkillElement\",\n \"key\": \"variables.data.$id\",\n \"keyProperty\": \"Id\",\n \"postOnSave\": true,\n \"filters\": []\n });\n this.addVariable({\n \"id\": \"$id\"\n });\n this.widgetCreator.addValidationGroup(this, {\n \"id\": \"wd1\",\n \"options\": {\n \"optionsName\": \"wd1Options\",\n \"optionsNameFQ\": \"wd1Options\"\n }\n });\n this.widgetCreator.addSelectBox(this, {\n \"idSelect\": \"skill\",\n \"filters\": [],\n \"caption\": \"person-skill-edit.r_skill_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Skill\",\n \"bindTo\": \"IdSkill\",\n \"bindToFQ\": \"models.data.$m_Skill.IdSkill\"\n },\n \"validationRules\": [{\n \"item\": {\n \"type\": \"required\",\n \"parameters\": []\n }\n }],\n \"id\": \"r_skill\",\n \"options\": {\n \"optionsName\": \"r_skillOptions\",\n \"optionsNameFQ\": \"r_skillOptions\"\n }\n });\n this.widgetCreator.addTextBox(this, {\n \"maxLength\": 500,\n \"caption\": \"person-skill-edit.r_text_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Skill\",\n \"bindTo\": \"Text\",\n \"bindToFQ\": \"models.data.$m_Skill.Text\"\n },\n \"validationRules\": [],\n \"id\": \"r_text\",\n \"options\": {\n \"optionsName\": \"r_textOptions\",\n \"optionsNameFQ\": \"r_textOptions\"\n }\n });\n this.widgetCreator.addDateBox(this, {\n \"format\": \"d\",\n \"caption\": \"person-skill-edit.r_gueltigvon_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Skill\",\n \"bindTo\": \"GueltigVon\",\n \"bindToFQ\": \"models.data.$m_Skill.GueltigVon\"\n },\n \"validationRules\": [],\n \"id\": \"r_gueltigVon\",\n \"options\": {\n \"optionsName\": \"r_gueltigVonOptions\",\n \"optionsNameFQ\": \"r_gueltigVonOptions\"\n }\n });\n this.widgetCreator.addDateBox(this, {\n \"format\": \"d\",\n \"caption\": \"person-skill-edit.r_gueltigbis_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Skill\",\n \"bindTo\": \"GueltigBis\",\n \"bindToFQ\": \"models.data.$m_Skill.GueltigBis\"\n },\n \"validationRules\": [],\n \"id\": \"r_gueltigBis\",\n \"options\": {\n \"optionsName\": \"r_gueltigBisOptions\",\n \"optionsNameFQ\": \"r_gueltigBisOptions\"\n }\n });\n super.onConstructionFinished();\n }\n}","module.exports = \"\";","import * as fwx from \"../../../../framework/forms/form-export\";\n\n@fwx.autoinject\nexport class PersonSpracheEditForm extends fwx.FormBase {\n constructor(\n element: Element,\n formBaseImport: fwx.FormBaseImport) {\n super(element, formBaseImport);\n this.id = \"person-sprache-edit\";\n this.title = \"person-sprache-edit.person-sprache-edit_caption\";\n this.addModel({\n \"id\": \"$m_Sprache\",\n \"webApiAction\": \"ZIT/Objekte/PersonSprache\",\n \"key\": \"variables.data.$id\",\n \"keyProperty\": \"Id\",\n \"postOnSave\": true,\n \"filters\": []\n });\n this.addVariable({\n \"id\": \"$id\"\n });\n this.widgetCreator.addValidationGroup(this, {\n \"id\": \"wd1\",\n \"options\": {\n \"optionsName\": \"wd1Options\",\n \"optionsNameFQ\": \"wd1Options\"\n }\n });\n this.widgetCreator.addSelectBox(this, {\n \"idSelect\": \"sprache\",\n \"filters\": [],\n \"caption\": \"person-sprache-edit.r_sprache_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Sprache\",\n \"bindTo\": \"IdSprache\",\n \"bindToFQ\": \"models.data.$m_Sprache.IdSprache\"\n },\n \"validationRules\": [{\n \"item\": {\n \"type\": \"required\",\n \"parameters\": []\n }\n }],\n \"id\": \"r_sprache\",\n \"options\": {\n \"optionsName\": \"r_spracheOptions\",\n \"optionsNameFQ\": \"r_spracheOptions\"\n }\n });\n this.widgetCreator.addSelectBox(this, {\n \"idSelect\": \"sprachniveau\",\n \"filters\": [],\n \"caption\": \"person-sprache-edit.r_sprachniveau_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Sprache\",\n \"bindTo\": \"IdSprachniveau\",\n \"bindToFQ\": \"models.data.$m_Sprache.IdSprachniveau\"\n },\n \"validationRules\": [{\n \"item\": {\n \"type\": \"required\",\n \"parameters\": []\n }\n }],\n \"id\": \"r_sprachniveau\",\n \"options\": {\n \"optionsName\": \"r_sprachniveauOptions\",\n \"optionsNameFQ\": \"r_sprachniveauOptions\"\n }\n });\n this.widgetCreator.addTextBox(this, {\n \"maxLength\": 200,\n \"caption\": \"person-sprache-edit.r_bemerkung_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Sprache\",\n \"bindTo\": \"Bemerkung\",\n \"bindToFQ\": \"models.data.$m_Sprache.Bemerkung\"\n },\n \"validationRules\": [],\n \"id\": \"r_bemerkung\",\n \"options\": {\n \"optionsName\": \"r_bemerkungOptions\",\n \"optionsNameFQ\": \"r_bemerkungOptions\"\n }\n });\n super.onConstructionFinished();\n }\n}","module.exports = \"\";","import * as fwx from \"../../../../framework/forms/form-export\";\nimport {\n StelleninseratEditUtils\n} from \"./stelleninserat-edit-utils\";\n\n@fwx.autoinject\nexport class StelleninseratEmpleoEditForm extends fwx.FormBase {\n constructor(\n element: Element,\n formBaseImport: fwx.FormBaseImport,\n private $f_Stelleninserat: StelleninseratEditUtils) {\n super(element, formBaseImport);\n this.id = \"stelleninserat-empleo-edit\";\n this.title = \"stelleninserat-empleo-edit.stelleninserat-empleo-edit_caption\";\n this.addModel({\n \"id\": \"$m_Stelleninserat\",\n \"webApiAction\": \"ZIT/Objekte/Stelleninserat\",\n \"webApiExpand\": {\n 'Kopf': null,\n 'FerialeinsatzEinstellungen': null,\n 'FerialbewerbungFragebogen': null\n },\n \"modificationInfoEnabled\": true,\n \"key\": \"variables.data.$id\",\n \"keyProperty\": \"Id\",\n \"postOnSave\": true,\n \"filters\": [{\n \"webApiCustomKey\": \"BewerbungInfo\",\n \"webApiCustomValue\": \"true\"\n }, {\n \"webApiCustomKey\": \"ProfilFirmaInfo\",\n \"webApiCustomValue\": \"true\"\n }, {\n \"webApiCustomKey\": \"StelleninseratVorschauUrl\",\n \"webApiCustomValue\": \"true\"\n }]\n });\n this.addModel({\n \"id\": \"$m_StelleninseratKopfElement\",\n \"webApiAction\": \"ZIT/Objekte/StelleninseratKopfElement\",\n \"webApiColumns\": ['Id'],\n \"key\": \"models.data.$m_Stelleninserat.IdStelleninseratKopfElement\",\n \"keyProperty\": \"Id\",\n \"filters\": []\n });\n this.addModel({\n \"id\": \"$m_StelleninseratGruppeRel\",\n \"webApiAction\": \"ZIT/Objekte/StelleninseratGruppe\",\n \"webApiColumns\": [\"Id\", \"SortNr\", \"Text\", \"IdStelleninseratGruppentyp\"],\n \"webApiExpand\": {\n 'Gruppentyp': null\n },\n \"webApiOrderBy\": [{\n \"columnName\": \"GruppentypSortNr\",\n \"sortOrder\": 0\n }, {\n \"columnName\": \"GruppentypBezeichnung\",\n \"sortOrder\": 0\n }, {\n \"columnName\": \"SortNr\",\n \"sortOrder\": 0\n }, {\n \"columnName\": \"Text\",\n \"sortOrder\": 0\n }],\n \"keyProperty\": \"Id\",\n \"filters\": []\n });\n this.addModel({\n \"id\": \"$m_StelleninseratGruppeEdit\",\n \"webApiAction\": \"ZIT/Objekte/StelleninseratGruppe\",\n \"webApiExpand\": {\n 'Gruppentyp': null\n },\n \"keyProperty\": \"Id\",\n \"filters\": []\n });\n this.addModel({\n \"id\": \"$m_StelleninseratGruppeElement\",\n \"webApiAction\": \"ZIT/Objekte/StelleninseratGruppeElement\",\n \"key\": \"models.data.$m_Stelleninserat.IdStelleninseratGruppeElement\",\n \"keyProperty\": \"Id\",\n \"filters\": []\n });\n this.addModel({\n \"id\": \"$m_STFBFB\",\n \"webApiAction\": \"ZIT/Objekte/StelleninseratFerialbewerbungFragebogenElement\",\n \"key\": \"models.data.$m_Stelleninserat.IdStelleninseratFerialbewerbungFragebogenElement\",\n \"keyProperty\": \"Id\",\n \"filters\": []\n });\n this.addModel({\n \"id\": \"$m_STFBFBEinsatzbereich\",\n \"webApiAction\": \"ZIT/Objekte/StelleninseratFerialbewerbungFragebogenEinsatzbereich\",\n \"webApiColumns\": [\"Id\", \"IdStelleninseratFerialbewerbungFragebogenElement\", \"Einsatzbereich\", \"SortNr\"],\n \"webApiOrderBy\": [{\n \"columnName\": \"SortNr\",\n \"sortOrder\": 0\n }, {\n \"columnName\": \"Einsatzbereich\",\n \"sortOrder\": 1\n }],\n \"keyProperty\": \"Id\",\n \"filters\": []\n });\n this.addModel({\n \"id\": \"$m_STFBFBEinsatzbereichE\",\n \"webApiAction\": \"ZIT/Objekte/StelleninseratFerialbewerbungFragebogenEinsatzbereich\",\n \"keyProperty\": \"Id\",\n \"filters\": []\n });\n this.addModel({\n \"id\": \"$m_Bewerbung\",\n \"webApiAction\": \"ZIT/Objekte/Bewerbung\",\n \"webApiColumns\": [\"Id\"],\n \"webApiWhere\": [\"Kopf.IdStelleninserat\", {\n \"isBound\": true,\n \"expression\": \"models.data.$m_Stelleninserat.Id\"\n }],\n \"modificationInfoEnabled\": true,\n \"keyProperty\": \"Id\",\n \"filters\": [{\n \"webApiCustomKey\": \"AddBewerbungCard\",\n \"webApiCustomValue\": \"true\"\n }]\n });\n this.addModel({\n \"id\": \"$m_Bewerbungstyp\",\n \"webApiAction\": \"ZIT/Stammdaten/StelleninseratBewerbungstyp\",\n \"key\": \"models.data.$m_Stelleninserat.Kopf.IdBewerbungstyp\",\n \"keyProperty\": \"Id\",\n \"filters\": []\n });\n this.addModel({\n \"id\": \"$m_StelleninseratKopfElementChannelRel\",\n \"webApiAction\": \"ZIT/Objekte/StelleninseratKopfElementZuChannel\",\n \"webApiExpand\": {\n 'Channel': null,\n 'StelleninseratBewerbungstyp': null\n },\n \"keyProperty\": \"Id\",\n \"allowNew\": \"functions.$f_Stelleninserat.canAddChannel\",\n \"filters\": []\n });\n this.addModel({\n \"id\": \"$m_StelleninseratKopfElementChannelEdit\",\n \"webApiAction\": \"ZIT/Objekte/StelleninseratKopfElementZuChannel\",\n \"keyProperty\": \"Id\",\n \"filters\": []\n });\n this.addCommand({\n \"binding\": {\n \"bindTo\": \"$f_Stelleninserat.actionCommand\",\n \"bindToFQ\": \"functions.$f_Stelleninserat.actionCommand\"\n }\n });\n this.addEditPopup({\n \"idContent\": \"stelleninseratGruppeEditPopupContent\",\n \"mappings\": [{\n \"to\": \"$id\",\n \"binding\": {\n \"dataContext\": \"$m_StelleninseratGruppeEdit\",\n \"bindTo\": \"Id\",\n \"bindToFQ\": \"models.data.$m_StelleninseratGruppeEdit.Id\"\n }\n }, {\n \"to\": \"$v_idGeschaeftspartner\",\n \"binding\": {\n \"dataContext\": \"$m_Stelleninserat\",\n \"bindTo\": \"Kopf.IdGeschaeftspartner\",\n \"bindToFQ\": \"models.data.$m_Stelleninserat.Kopf.IdGeschaeftspartner\",\n \"propertyPrefix\": \"Kopf\"\n }\n }, {\n \"to\": \"$v_idStelleninserat\",\n \"binding\": {\n \"dataContext\": \"$m_Stelleninserat\",\n \"bindTo\": \"Id\",\n \"bindToFQ\": \"models.data.$m_Stelleninserat.Id\"\n }\n }],\n \"id\": \"stelleninseratGruppeEditPopup\",\n \"options\": {\n \"optionsName\": \"stelleninseratGruppeEditPopupOptions\",\n \"optionsNameFQ\": \"stelleninseratGruppeEditPopupOptions\"\n },\n \"caption\": \"stelleninserat-empleo-edit.stelleninseratgruppeeditpopup_caption\",\n \"height\": \"auto\",\n \"width\": \"500px\",\n \"commands\": []\n });\n this.addEditPopup({\n \"idContent\": \"stelleninseratFerialbewerbungFragebogenEinsatzbereichEditPopupContent\",\n \"mappings\": [{\n \"to\": \"$id\",\n \"binding\": {\n \"dataContext\": \"$m_STFBFBEinsatzbereichE\",\n \"bindTo\": \"Id\",\n \"bindToFQ\": \"models.data.$m_STFBFBEinsatzbereichE.Id\"\n }\n }],\n \"id\": \"stelleninseratFerialbewerbungFragebogenEinsatzbereichEditPopup\",\n \"options\": {\n \"optionsName\": \"stelleninseratFerialbewerbungFragebogenEinsatzbereichEditPopupOptions\",\n \"optionsNameFQ\": \"stelleninseratFerialbewerbungFragebogenEinsatzbereichEditPopupOptions\"\n },\n \"caption\": \"stelleninserat-empleo-edit.stelleninseratferialbewerbungfragebogeneinsatzbereicheditpopup_caption\",\n \"height\": \"auto\",\n \"width\": \"500px\",\n \"commands\": []\n });\n this.addEditPopup({\n \"idContent\": \"stelleninseratKopfElementChannelEditPopupContent\",\n \"mappings\": [{\n \"to\": \"$id\",\n \"binding\": {\n \"dataContext\": \"$m_StelleninseratKopfElementChannelEdit\",\n \"bindTo\": \"Id\",\n \"bindToFQ\": \"models.data.$m_StelleninseratKopfElementChannelEdit.Id\"\n }\n }],\n \"id\": \"stelleninseratKopfElementChannelEditPopup\",\n \"options\": {\n \"optionsName\": \"stelleninseratKopfElementChannelEditPopupOptions\",\n \"optionsNameFQ\": \"stelleninseratKopfElementChannelEditPopupOptions\"\n },\n \"height\": \"auto\",\n \"width\": \"500px\",\n \"commands\": []\n });\n this.addFunction(\"$f_Stelleninserat\", $f_Stelleninserat, \"functions.$f_Stelleninserat\");\n this.widgetCreator.addValidationGroup(this, {\n \"id\": \"wd1\",\n \"options\": {\n \"optionsName\": \"wd1Options\",\n \"optionsNameFQ\": \"wd1Options\"\n }\n });\n this.widgetCreator.addLookup(this, {\n \"idSelect\": \"geschaeftspartner\",\n \"filters\": [],\n \"caption\": \"stelleninserat-empleo-edit.r_geschaeftspartner_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Stelleninserat\",\n \"bindTo\": \"Kopf.IdGeschaeftspartner\",\n \"bindToFQ\": \"models.data.$m_Stelleninserat.Kopf.IdGeschaeftspartner\",\n \"propertyPrefix\": \"Kopf\"\n },\n \"validationRules\": [{\n \"item\": {\n \"type\": \"required\",\n \"parameters\": []\n }\n }],\n \"id\": \"r_geschaeftspartner\",\n \"options\": {\n \"optionsName\": \"r_geschaeftspartnerOptions\",\n \"optionsNameFQ\": \"r_geschaeftspartnerOptions\"\n }\n });\n this.widgetCreator.addTextBox(this, {\n \"maxLength\": 250,\n \"caption\": \"stelleninserat-empleo-edit.r_stellenbezeichnungextern_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Stelleninserat\",\n \"bindTo\": \"Kopf.StellenbezeichnungExtern\",\n \"bindToFQ\": \"models.data.$m_Stelleninserat.Kopf.StellenbezeichnungExtern\",\n \"propertyPrefix\": \"Kopf\"\n },\n \"validationRules\": [{\n \"item\": {\n \"type\": \"required\",\n \"parameters\": []\n }\n }],\n \"id\": \"r_stellenbezeichnungExtern\",\n \"options\": {\n \"optionsName\": \"r_stellenbezeichnungExternOptions\",\n \"optionsNameFQ\": \"r_stellenbezeichnungExternOptions\"\n }\n });\n this.widgetCreator.addNumberBox(this, {\n \"showSpinButtons\": true,\n \"min\": 0.0,\n \"caption\": \"stelleninserat-empleo-edit.r_sortnr_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Stelleninserat\",\n \"bindTo\": \"Kopf.SortNr\",\n \"bindToFQ\": \"models.data.$m_Stelleninserat.Kopf.SortNr\",\n \"propertyPrefix\": \"Kopf\"\n },\n \"validationRules\": [],\n \"id\": \"r_sortNr\",\n \"options\": {\n \"optionsName\": \"r_sortNrOptions\",\n \"optionsNameFQ\": \"r_sortNrOptions\"\n }\n });\n this.widgetCreator.addTextBox(this, {\n \"maxLength\": 250,\n \"caption\": \"stelleninserat-empleo-edit.r_stellenbezeichnungintern_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Stelleninserat\",\n \"bindTo\": \"Kopf.StellenbezeichnungIntern\",\n \"bindToFQ\": \"models.data.$m_Stelleninserat.Kopf.StellenbezeichnungIntern\",\n \"propertyPrefix\": \"Kopf\"\n },\n \"validationRules\": [],\n \"id\": \"r_stellenbezeichnungIntern\",\n \"options\": {\n \"optionsName\": \"r_stellenbezeichnungInternOptions\",\n \"optionsNameFQ\": \"r_stellenbezeichnungInternOptions\"\n }\n });\n this.widgetCreator.addDateBox(this, {\n \"format\": \"d\",\n \"caption\": \"stelleninserat-empleo-edit.r_gueltigvon_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Stelleninserat\",\n \"bindTo\": \"Kopf.GueltigVon\",\n \"bindToFQ\": \"models.data.$m_Stelleninserat.Kopf.GueltigVon\",\n \"propertyPrefix\": \"Kopf\"\n },\n \"validationRules\": [{\n \"item\": {\n \"type\": \"required\",\n \"parameters\": []\n }\n }],\n \"id\": \"r_gueltigVon\",\n \"options\": {\n \"optionsName\": \"r_gueltigVonOptions\",\n \"optionsNameFQ\": \"r_gueltigVonOptions\"\n }\n });\n this.widgetCreator.addDateBox(this, {\n \"format\": \"d\",\n \"caption\": \"stelleninserat-empleo-edit.r_gueltigbis_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Stelleninserat\",\n \"bindTo\": \"Kopf.GueltigBis\",\n \"bindToFQ\": \"models.data.$m_Stelleninserat.Kopf.GueltigBis\",\n \"propertyPrefix\": \"Kopf\"\n },\n \"validationRules\": [{\n \"item\": {\n \"type\": \"required\",\n \"parameters\": []\n }\n }],\n \"id\": \"r_gueltigBis\",\n \"options\": {\n \"optionsName\": \"r_gueltigBisOptions\",\n \"optionsNameFQ\": \"r_gueltigBisOptions\"\n }\n });\n this.widgetCreator.addSelectBox(this, {\n \"idSelect\": \"branche\",\n \"filters\": [],\n \"caption\": \"stelleninserat-empleo-edit.r_branche_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Stelleninserat\",\n \"bindTo\": \"Kopf.IdBranche\",\n \"bindToFQ\": \"models.data.$m_Stelleninserat.Kopf.IdBranche\",\n \"propertyPrefix\": \"Kopf\"\n },\n \"validationRules\": [{\n \"item\": {\n \"type\": \"required\",\n \"parameters\": []\n }\n }],\n \"id\": \"r_branche\",\n \"options\": {\n \"optionsName\": \"r_brancheOptions\",\n \"optionsNameFQ\": \"r_brancheOptions\"\n }\n });\n this.widgetCreator.addLookup(this, {\n \"idSelect\": \"geschaeftspartner\",\n \"filters\": [],\n \"caption\": \"stelleninserat-empleo-edit.r_geschaeftspartnernopackage_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Stelleninserat\",\n \"bindTo\": \"Kopf.IdGeschaeftspartner\",\n \"bindToFQ\": \"models.data.$m_Stelleninserat.Kopf.IdGeschaeftspartner\",\n \"propertyPrefix\": \"Kopf\"\n },\n \"validationRules\": [{\n \"binding\": {\n \"dataContext\": \"$m_Stelleninserat\",\n \"bindTo\": \"$f_Stelleninserat.keinPackageRule\",\n \"bindToFQ\": \"functions.$f_Stelleninserat.keinPackageRule\"\n }\n }, {\n \"item\": {\n \"type\": \"required\",\n \"parameters\": []\n }\n }],\n \"id\": \"r_geschaeftspartnerNoPackage\",\n \"options\": {\n \"optionsName\": \"r_geschaeftspartnerNoPackageOptions\",\n \"optionsNameFQ\": \"r_geschaeftspartnerNoPackageOptions\"\n }\n });\n this.widgetCreator.addLookup(this, {\n \"idSelect\": \"ansprechperson\",\n \"customs\": [{\n \"key\": \"IdGeschaeftspartner\",\n \"value\": \"models.data.$m_Stelleninserat.Kopf.IdGeschaeftspartner\"\n }],\n \"filters\": [],\n \"caption\": \"stelleninserat-empleo-edit.ansprechpersonselect_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Stelleninserat\",\n \"bindTo\": \"Kopf.IdAnsprechperson\",\n \"bindToFQ\": \"models.data.$m_Stelleninserat.Kopf.IdAnsprechperson\",\n \"propertyPrefix\": \"Kopf\"\n },\n \"validationRules\": [],\n \"id\": \"ansprechpersonSelect\",\n \"options\": {\n \"optionsName\": \"ansprechpersonSelectOptions\",\n \"optionsNameFQ\": \"ansprechpersonSelectOptions\"\n }\n });\n this.widgetCreator.addFileUploaderWithViewer(this, {\n \"acceptTypeEnum\": 0,\n \"acceptType\": \"image/*\",\n \"placeholderImageExpression\": \"models.data.$m_Stelleninserat.Kopf.DMSLinkStandardBild\",\n \"placeholderImageText\": \"Standardbild laut Lehrberuf\",\n \"height\": \"250px\",\n \"showToolbar\": true,\n \"showClearButton\": false,\n \"caption\": \"stelleninserat-empleo-edit.r_dmslinkbild_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Stelleninserat\",\n \"bindTo\": \"Kopf.DMSLinkBild\",\n \"bindToFQ\": \"models.data.$m_Stelleninserat.Kopf.DMSLinkBild\",\n \"propertyPrefix\": \"Kopf\"\n },\n \"validationRules\": [],\n \"id\": \"r_dmslinkBild\",\n \"options\": {\n \"optionsName\": \"r_dmslinkBildOptions\",\n \"optionsNameFQ\": \"r_dmslinkBildOptions\"\n }\n });\n this.widgetCreator.addCheckBox(this, {\n \"caption\": \"stelleninserat-empleo-edit.r_stelleninserataktiv_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Stelleninserat\",\n \"bindTo\": \"Kopf.IsAktiv\",\n \"bindToFQ\": \"models.data.$m_Stelleninserat.Kopf.IsAktiv\",\n \"propertyPrefix\": \"Kopf\"\n },\n \"validationRules\": [],\n \"id\": \"r_stelleninseratAktiv\",\n \"options\": {\n \"optionsName\": \"r_stelleninseratAktivOptions\",\n \"optionsNameFQ\": \"r_stelleninseratAktivOptions\"\n }\n });\n this.widgetCreator.addCheckBox(this, {\n \"caption\": \"stelleninserat-empleo-edit.r_nuronlinebewerbungerwuenscht_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Stelleninserat\",\n \"bindTo\": \"Kopf.NurOnlineBewerbungErwuenscht\",\n \"bindToFQ\": \"models.data.$m_Stelleninserat.Kopf.NurOnlineBewerbungErwuenscht\",\n \"propertyPrefix\": \"Kopf\"\n },\n \"validationRules\": [],\n \"id\": \"r_nurOnlineBewerbungErwuenscht\",\n \"options\": {\n \"optionsName\": \"r_nurOnlineBewerbungErwuenschtOptions\",\n \"optionsNameFQ\": \"r_nurOnlineBewerbungErwuenschtOptions\"\n }\n });\n this.widgetCreator.addSelectBox(this, {\n \"idSelect\": \"pvText\",\n \"filter\": [\n [\n [\"IdGeschaeftspartner\", \"null\"], \"or\", [\"IdGeschaeftspartner\", {\n \"isBound\": true,\n \"expression\": \"models.data.$m_Stelleninserat.Kopf.IdGeschaeftspartner\"\n }]\n ], \"and\", [\"Typ\", \"0\"]\n ],\n \"filters\": [],\n \"caption\": \"stelleninserat-empleo-edit.r_kopftext_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Stelleninserat\",\n \"bindTo\": \"Kopf.IdTextKopfzeile1\",\n \"bindToFQ\": \"models.data.$m_Stelleninserat.Kopf.IdTextKopfzeile1\",\n \"propertyPrefix\": \"Kopf\"\n },\n \"validationRules\": [{\n \"item\": {\n \"type\": \"required\",\n \"parameters\": []\n }\n }],\n \"id\": \"r_kopftext\",\n \"options\": {\n \"optionsName\": \"r_kopftextOptions\",\n \"optionsNameFQ\": \"r_kopftextOptions\"\n }\n });\n this.widgetCreator.addSelectBox(this, {\n \"idSelect\": \"pvText\",\n \"filter\": [\n [\n [\"IdGeschaeftspartner\", \"null\"], \"or\", [\"IdGeschaeftspartner\", {\n \"isBound\": true,\n \"expression\": \"models.data.$m_Stelleninserat.Kopf.IdGeschaeftspartner\"\n }]\n ], \"and\", [\"Typ\", \"1\"]\n ],\n \"filters\": [],\n \"caption\": \"stelleninserat-empleo-edit.r_fusstext_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Stelleninserat\",\n \"bindTo\": \"Kopf.IdTextFusszeile1\",\n \"bindToFQ\": \"models.data.$m_Stelleninserat.Kopf.IdTextFusszeile1\",\n \"propertyPrefix\": \"Kopf\"\n },\n \"validationRules\": [{\n \"item\": {\n \"type\": \"required\",\n \"parameters\": []\n }\n }],\n \"id\": \"r_fusstext\",\n \"options\": {\n \"optionsName\": \"r_fusstextOptions\",\n \"optionsNameFQ\": \"r_fusstextOptions\"\n }\n });\n this.widgetCreator.addSelectBox(this, {\n \"idSelect\": \"stelleninseratBewerbungstyp\",\n \"filter\": [\n [\"IdGeschaeftspartner\", \"null\"], \"or\", [\"IdGeschaeftspartner\", {\n \"isBound\": true,\n \"expression\": \"models.data.$m_Stelleninserat.Kopf.IdGeschaeftspartner\"\n }]\n ],\n \"customs\": [{\n \"key\": \"IdGeschaeftspartner\",\n \"value\": \"models.data.$m_Stelleninserat.Kopf.IdGeschaeftspartner\"\n }, {\n \"key\": \"CheckBenutzerrolle\",\n \"value\": \"true\"\n }],\n \"filters\": [],\n \"caption\": \"stelleninserat-empleo-edit.bewerbungstyp_caption\",\n \"placeholder\": \"stelleninserat-empleo-edit.bewerbungstyp_placeholder\",\n \"binding\": {\n \"dataContext\": \"$m_Stelleninserat\",\n \"bindTo\": \"Kopf.IdBewerbungstyp\",\n \"bindToFQ\": \"models.data.$m_Stelleninserat.Kopf.IdBewerbungstyp\",\n \"propertyPrefix\": \"Kopf\"\n },\n \"validationRules\": [{\n \"item\": {\n \"type\": \"required\",\n \"parameters\": []\n }\n }],\n \"id\": \"bewerbungstyp\",\n \"options\": {\n \"optionsName\": \"bewerbungstypOptions\",\n \"optionsNameFQ\": \"bewerbungstypOptions\"\n }\n });\n this.widgetCreator.addCheckBox(this, {\n \"caption\": \"stelleninserat-empleo-edit.r_priorisieren_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Stelleninserat\",\n \"bindTo\": \"Kopf.Priorisieren\",\n \"bindToFQ\": \"models.data.$m_Stelleninserat.Kopf.Priorisieren\",\n \"propertyPrefix\": \"Kopf\"\n },\n \"validationRules\": [],\n \"id\": \"r_priorisieren\",\n \"options\": {\n \"optionsName\": \"r_priorisierenOptions\",\n \"optionsNameFQ\": \"r_priorisierenOptions\"\n }\n });\n this.widgetCreator.addDateBox(this, {\n \"format\": \"d\",\n \"caption\": \"stelleninserat-empleo-edit.r_bewerbungvon_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Stelleninserat\",\n \"bindTo\": \"FerialeinsatzEinstellungen.BewerbungOnlineVon\",\n \"bindToFQ\": \"models.data.$m_Stelleninserat.FerialeinsatzEinstellungen.BewerbungOnlineVon\",\n \"propertyPrefix\": \"FerialeinsatzEinstellungen\"\n },\n \"validationRules\": [{\n \"binding\": {\n \"dataContext\": \"$m_Stelleninserat\",\n \"bindTo\": \"$f_Stelleninserat.bewerbungVonValidationRule\",\n \"bindToFQ\": \"functions.$f_Stelleninserat.bewerbungVonValidationRule\"\n }\n }],\n \"id\": \"r_bewerbungVon\",\n \"options\": {\n \"optionsName\": \"r_bewerbungVonOptions\",\n \"optionsNameFQ\": \"r_bewerbungVonOptions\"\n }\n });\n this.widgetCreator.addDateBox(this, {\n \"format\": \"d\",\n \"caption\": \"stelleninserat-empleo-edit.r_bewerbungbis_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Stelleninserat\",\n \"bindTo\": \"FerialeinsatzEinstellungen.BewerbungOnlineBis\",\n \"bindToFQ\": \"models.data.$m_Stelleninserat.FerialeinsatzEinstellungen.BewerbungOnlineBis\",\n \"propertyPrefix\": \"FerialeinsatzEinstellungen\"\n },\n \"validationRules\": [{\n \"binding\": {\n \"dataContext\": \"$m_Stelleninserat\",\n \"bindTo\": \"$f_Stelleninserat.bewerbungBisValidationRule\",\n \"bindToFQ\": \"functions.$f_Stelleninserat.bewerbungBisValidationRule\"\n }\n }],\n \"id\": \"r_bewerbungBis\",\n \"options\": {\n \"optionsName\": \"r_bewerbungBisOptions\",\n \"optionsNameFQ\": \"r_bewerbungBisOptions\"\n }\n });\n this.widgetCreator.addTextBox(this, {\n \"maxLength\": 250,\n \"caption\": \"stelleninserat-empleo-edit.r_standort_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Stelleninserat\",\n \"bindTo\": \"Kopf.Standort\",\n \"bindToFQ\": \"models.data.$m_Stelleninserat.Kopf.Standort\",\n \"propertyPrefix\": \"Kopf\"\n },\n \"validationRules\": [],\n \"id\": \"r_standort\",\n \"options\": {\n \"optionsName\": \"r_standortOptions\",\n \"optionsNameFQ\": \"r_standortOptions\"\n }\n });\n this.widgetCreator.addTextBox(this, {\n \"maxLength\": 500,\n \"caption\": \"stelleninserat-empleo-edit.r_googlekarteadresse_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Stelleninserat\",\n \"bindTo\": \"Kopf.GoogleKartenAdresse\",\n \"bindToFQ\": \"models.data.$m_Stelleninserat.Kopf.GoogleKartenAdresse\",\n \"propertyPrefix\": \"Kopf\"\n },\n \"validationRules\": [],\n \"id\": \"r_googleKarteAdresse\",\n \"options\": {\n \"optionsName\": \"r_googleKarteAdresseOptions\",\n \"optionsNameFQ\": \"r_googleKarteAdresseOptions\"\n }\n });\n this.widgetCreator.addTextBox(this, {\n \"maxLength\": 250,\n \"caption\": \"stelleninserat-empleo-edit.r_subheadline_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Stelleninserat\",\n \"bindTo\": \"Kopf.Subheadline\",\n \"bindToFQ\": \"models.data.$m_Stelleninserat.Kopf.Subheadline\",\n \"propertyPrefix\": \"Kopf\"\n },\n \"validationRules\": [{\n \"item\": {\n \"type\": \"required\",\n \"parameters\": []\n }\n }],\n \"id\": \"r_subheadline\",\n \"options\": {\n \"optionsName\": \"r_subheadlineOptions\",\n \"optionsNameFQ\": \"r_subheadlineOptions\"\n }\n });\n this.widgetCreator.addTextArea(this, {\n \"height\": \"40px\",\n \"maxLength\": 2000,\n \"caption\": \"stelleninserat-empleo-edit.r_entlohnung_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Stelleninserat\",\n \"bindTo\": \"Kopf.Entlohnung\",\n \"bindToFQ\": \"models.data.$m_Stelleninserat.Kopf.Entlohnung\",\n \"propertyPrefix\": \"Kopf\"\n },\n \"validationRules\": [],\n \"id\": \"r_entlohnung\",\n \"options\": {\n \"optionsName\": \"r_entlohnungOptions\",\n \"optionsNameFQ\": \"r_entlohnungOptions\"\n }\n });\n this.widgetCreator.addTextBox(this, {\n \"maxLength\": 500,\n \"caption\": \"stelleninserat-empleo-edit.r_weiterleitungslink_caption\",\n \"isReadOnlyExpression\": \"!models.data.$m_Bewerbungstyp || !models.data.$m_Bewerbungstyp.WebsiteUmleitungLautWeiterleitungslink\",\n \"binding\": {\n \"dataContext\": \"$m_Stelleninserat\",\n \"bindTo\": \"Kopf.Weiterleitungslink\",\n \"bindToFQ\": \"models.data.$m_Stelleninserat.Kopf.Weiterleitungslink\",\n \"propertyPrefix\": \"Kopf\"\n },\n \"validationRules\": [],\n \"id\": \"r_weiterleitungslink\",\n \"options\": {\n \"optionsName\": \"r_weiterleitungslinkOptions\",\n \"optionsNameFQ\": \"r_weiterleitungslinkOptions\"\n }\n });\n this.widgetCreator.addRadioGroup(this, {\n \"idSelect\": \"pflichtfeld\",\n \"filters\": [],\n \"caption\": \"stelleninserat-empleo-edit.r_lebenslaufanfragen_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Stelleninserat\",\n \"bindTo\": \"FerialbewerbungFragebogen.LebenslaufAnfragen\",\n \"bindToFQ\": \"models.data.$m_Stelleninserat.FerialbewerbungFragebogen.LebenslaufAnfragen\",\n \"propertyPrefix\": \"FerialbewerbungFragebogen\"\n },\n \"validationRules\": [],\n \"id\": \"r_lebenslaufAnfragen\",\n \"options\": {\n \"optionsName\": \"r_lebenslaufAnfragenOptions\",\n \"optionsNameFQ\": \"r_lebenslaufAnfragenOptions\"\n }\n });\n this.widgetCreator.addRadioGroup(this, {\n \"idSelect\": \"pflichtfeld\",\n \"filters\": [],\n \"caption\": \"stelleninserat-empleo-edit.r_anschreibenanfragen_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Stelleninserat\",\n \"bindTo\": \"FerialbewerbungFragebogen.AnschreibenAnfragen\",\n \"bindToFQ\": \"models.data.$m_Stelleninserat.FerialbewerbungFragebogen.AnschreibenAnfragen\",\n \"propertyPrefix\": \"FerialbewerbungFragebogen\"\n },\n \"validationRules\": [],\n \"id\": \"r_anschreibenAnfragen\",\n \"options\": {\n \"optionsName\": \"r_anschreibenAnfragenOptions\",\n \"optionsNameFQ\": \"r_anschreibenAnfragenOptions\"\n }\n });\n this.widgetCreator.addRadioGroup(this, {\n \"idSelect\": \"pflichtfeld\",\n \"filters\": [],\n \"caption\": \"stelleninserat-empleo-edit.r_zeugnisanfragen_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Stelleninserat\",\n \"bindTo\": \"FerialbewerbungFragebogen.LetztesZeugnisAnfragen\",\n \"bindToFQ\": \"models.data.$m_Stelleninserat.FerialbewerbungFragebogen.LetztesZeugnisAnfragen\",\n \"propertyPrefix\": \"FerialbewerbungFragebogen\"\n },\n \"validationRules\": [],\n \"id\": \"r_zeugnisAnfragen\",\n \"options\": {\n \"optionsName\": \"r_zeugnisAnfragenOptions\",\n \"optionsNameFQ\": \"r_zeugnisAnfragenOptions\"\n }\n });\n this.widgetCreator.addRadioGroup(this, {\n \"idSelect\": \"pflichtfeld\",\n \"filters\": [],\n \"caption\": \"stelleninserat-empleo-edit.r_reisepassausweisanfragen_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Stelleninserat\",\n \"bindTo\": \"FerialbewerbungFragebogen.ReisepassAusweisAnfragen\",\n \"bindToFQ\": \"models.data.$m_Stelleninserat.FerialbewerbungFragebogen.ReisepassAusweisAnfragen\",\n \"propertyPrefix\": \"FerialbewerbungFragebogen\"\n },\n \"validationRules\": [],\n \"id\": \"r_reisepassAusweisAnfragen\",\n \"options\": {\n \"optionsName\": \"r_reisepassAusweisAnfragenOptions\",\n \"optionsNameFQ\": \"r_reisepassAusweisAnfragenOptions\"\n }\n });\n this.widgetCreator.addRadioGroup(this, {\n \"idSelect\": \"pflichtfeld\",\n \"filters\": [],\n \"caption\": \"stelleninserat-empleo-edit.r_sprachkenntnisse_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Stelleninserat\",\n \"bindTo\": \"FerialbewerbungFragebogen.SprachKenntnisseAnfragen\",\n \"bindToFQ\": \"models.data.$m_Stelleninserat.FerialbewerbungFragebogen.SprachKenntnisseAnfragen\",\n \"propertyPrefix\": \"FerialbewerbungFragebogen\"\n },\n \"validationRules\": [],\n \"id\": \"r_sprachkenntnisse\",\n \"options\": {\n \"optionsName\": \"r_sprachkenntnisseOptions\",\n \"optionsNameFQ\": \"r_sprachkenntnisseOptions\"\n }\n });\n this.widgetCreator.addRadioGroup(this, {\n \"idSelect\": \"pflichtfeld\",\n \"filters\": [],\n \"caption\": \"stelleninserat-empleo-edit.r_bisherigeberufserfahrung_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Stelleninserat\",\n \"bindTo\": \"FerialbewerbungFragebogen.BisherigeBerufserfahrungAnfragen\",\n \"bindToFQ\": \"models.data.$m_Stelleninserat.FerialbewerbungFragebogen.BisherigeBerufserfahrungAnfragen\",\n \"propertyPrefix\": \"FerialbewerbungFragebogen\"\n },\n \"validationRules\": [],\n \"id\": \"r_bisherigeBerufserfahrung\",\n \"options\": {\n \"optionsName\": \"r_bisherigeBerufserfahrungOptions\",\n \"optionsNameFQ\": \"r_bisherigeBerufserfahrungOptions\"\n }\n });\n this.widgetCreator.addRadioGroup(this, {\n \"idSelect\": \"pflichtfeld\",\n \"filters\": [],\n \"caption\": \"stelleninserat-empleo-edit.r_fuehrerscheinundmobilitaet_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Stelleninserat\",\n \"bindTo\": \"FerialbewerbungFragebogen.FuehrerscheinUndMobilitaetAnfragen\",\n \"bindToFQ\": \"models.data.$m_Stelleninserat.FerialbewerbungFragebogen.FuehrerscheinUndMobilitaetAnfragen\",\n \"propertyPrefix\": \"FerialbewerbungFragebogen\"\n },\n \"validationRules\": [],\n \"id\": \"r_fuehrerscheinUndMobilitaet\",\n \"options\": {\n \"optionsName\": \"r_fuehrerscheinUndMobilitaetOptions\",\n \"optionsNameFQ\": \"r_fuehrerscheinUndMobilitaetOptions\"\n }\n });\n this.widgetCreator.addRadioGroup(this, {\n \"idSelect\": \"pflichtfeld\",\n \"filters\": [],\n \"caption\": \"stelleninserat-empleo-edit.r_staplerfuehrerschein_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Stelleninserat\",\n \"bindTo\": \"FerialbewerbungFragebogen.StaplerFuehrerscheinAnfragen\",\n \"bindToFQ\": \"models.data.$m_Stelleninserat.FerialbewerbungFragebogen.StaplerFuehrerscheinAnfragen\",\n \"propertyPrefix\": \"FerialbewerbungFragebogen\"\n },\n \"validationRules\": [],\n \"id\": \"r_staplerfuehrerschein\",\n \"options\": {\n \"optionsName\": \"r_staplerfuehrerscheinOptions\",\n \"optionsNameFQ\": \"r_staplerfuehrerscheinOptions\"\n }\n });\n this.widgetCreator.addListView(this, {\n \"itemClass\": \"z--list-view-inline-item\",\n \"useDefaultListItemStyle\": false,\n \"createToolbar\": true,\n \"optionsToolbar\": {\n \"optionsName\": \"r_moeglicheEinsatzbereicheToolbarOptions\",\n \"optionsNameFQ\": \"r_moeglicheEinsatzbereicheToolbarOptions\"\n },\n \"caption\": \"stelleninserat-empleo-edit.r_moeglicheeinsatzbereiche_caption\",\n \"binding\": {\n \"dataContext\": \"$m_STFBFB\"\n },\n \"isRelation\": true,\n \"relationBinding\": {\n \"dataContext\": \"$m_STFBFBEinsatzbereich\",\n \"bindTo\": \"IdStelleninseratFerialbewerbungFragebogenElement\",\n \"bindToFQ\": \"models.data.$m_STFBFBEinsatzbereich.IdStelleninseratFerialbewerbungFragebogenElement\"\n },\n \"dataModel\": \"$m_STFBFB\",\n \"editDataContext\": \"$m_STFBFBEinsatzbereichE\",\n \"idEditPopup\": \"stelleninseratFerialbewerbungFragebogenEinsatzbereichEditPopup\",\n \"listEdits\": [],\n \"filters\": [],\n \"commands\": [],\n \"id\": \"r_moeglicheEinsatzbereiche\",\n \"options\": {\n \"optionsName\": \"r_moeglicheEinsatzbereicheOptions\",\n \"optionsNameFQ\": \"r_moeglicheEinsatzbereicheOptions\"\n }\n });\n this.widgetCreator.addListView(this, {\n \"itemClass\": \"col-xs-12 col-sm-6\",\n \"useDefaultListItemStyle\": false,\n \"createToolbar\": true,\n \"optionsToolbar\": {\n \"optionsName\": \"r_bewerbungenListViewToolbarOptions\",\n \"optionsNameFQ\": \"r_bewerbungenListViewToolbarOptions\"\n },\n \"caption\": \"stelleninserat-empleo-edit.r_bewerbungenlistview_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Bewerbung\"\n },\n \"dataModel\": \"$m_Bewerbung\",\n \"pageSize\": 4,\n \"listEdits\": [],\n \"filters\": [],\n \"commands\": [],\n \"id\": \"r_bewerbungenListView\",\n \"options\": {\n \"optionsName\": \"r_bewerbungenListViewOptions\",\n \"optionsNameFQ\": \"r_bewerbungenListViewOptions\"\n }\n });\n this.widgetCreator.addDataGrid(this, {\n \"columns\": [{\n \"id\": \"r_channelBezeichnung\",\n \"caption\": \"stelleninserat-empleo-edit.r_channelbezeichnung_caption\",\n \"bindTo\": \"Channel.Bezeichnung\",\n \"minWidth\": 100\n }, {\n \"id\": \"r_channelVeroeffentlichungtyp\",\n \"caption\": \"stelleninserat-empleo-edit.r_channelveroeffentlichungtyp_caption\",\n \"bindTo\": \"VeroeffentlichungTyp\",\n \"minWidth\": 100,\n \"enumTypeName\": \"TIP.ZIT.Business.Enumerations.VeroeffentlichungTypEnum\"\n }, {\n \"id\": \"r_channelBewerbungstyp\",\n \"caption\": \"stelleninserat-empleo-edit.r_channelbewerbungstyp_caption\",\n \"bindTo\": \"StelleninseratBewerbungstyp.Bezeichnung\",\n \"minWidth\": 100\n }],\n \"createToolbar\": true,\n \"optionsToolbar\": {\n \"optionsName\": \"r_StelleninseratKopfElementChannelGridToolbarOptions\",\n \"optionsNameFQ\": \"r_StelleninseratKopfElementChannelGridToolbarOptions\"\n },\n \"caption\": \"stelleninserat-empleo-edit.r_stelleninseratkopfelementchannelgrid_caption\",\n \"binding\": {\n \"dataContext\": \"$m_StelleninseratKopfElement\"\n },\n \"isRelation\": true,\n \"relationBinding\": {\n \"dataContext\": \"$m_StelleninseratKopfElementChannelRel\",\n \"bindTo\": \"IdStelleninseratKopfElement\",\n \"bindToFQ\": \"models.data.$m_StelleninseratKopfElementChannelRel.IdStelleninseratKopfElement\"\n },\n \"dataModel\": \"$m_StelleninseratKopfElement\",\n \"editDataContext\": \"$m_StelleninseratKopfElementChannelEdit\",\n \"idEditPopup\": \"stelleninseratKopfElementChannelEditPopup\",\n \"listEdits\": [],\n \"filters\": [],\n \"commands\": [],\n \"id\": \"r_StelleninseratKopfElementChannelGrid\",\n \"options\": {\n \"optionsName\": \"r_StelleninseratKopfElementChannelGridOptions\",\n \"optionsNameFQ\": \"r_StelleninseratKopfElementChannelGridOptions\"\n }\n });\n super.onConstructionFinished();\n }\n}","module.exports = \"\";","import * as fwx from \"../../../../framework/forms/form-export\";\nimport {\n StelleninseratEditUtils\n} from \"./stelleninserat-edit-utils\";\n\n@fwx.autoinject\nexport class StelleninseratFerialEditForm extends fwx.FormBase {\n constructor(\n element: Element,\n formBaseImport: fwx.FormBaseImport,\n private $f_Stelleninserat: StelleninseratEditUtils) {\n super(element, formBaseImport);\n this.id = \"stelleninserat-ferial-edit\";\n this.title = \"stelleninserat-ferial-edit.stelleninserat-ferial-edit_caption\";\n this.addModel({\n \"id\": \"$m_Stelleninserat\",\n \"webApiAction\": \"ZIT/Objekte/Stelleninserat\",\n \"webApiExpand\": {\n 'Kopf': {\n 'expand': {\n 'TextKopfzeile1': null,\n 'TextFusszeile1': null\n }\n },\n 'FerialeinsatzEinstellungen': null,\n 'FerialbewerbungFragebogen': null\n },\n \"modificationInfoEnabled\": true,\n \"key\": \"variables.data.$id\",\n \"keyProperty\": \"Id\",\n \"postOnSave\": true,\n \"filters\": [{\n \"webApiCustomKey\": \"BewerbungInfo\",\n \"webApiCustomValue\": \"true\"\n }, {\n \"webApiCustomKey\": \"ProfilFirmaInfo\",\n \"webApiCustomValue\": \"true\"\n }, {\n \"webApiCustomKey\": \"StelleninseratVorschauUrl\",\n \"webApiCustomValue\": \"true\"\n }]\n });\n this.addModel({\n \"id\": \"$m_StelleninseratKopfElement\",\n \"webApiAction\": \"ZIT/Objekte/StelleninseratKopfElement\",\n \"webApiColumns\": ['Id'],\n \"key\": \"models.data.$m_Stelleninserat.IdStelleninseratKopfElement\",\n \"keyProperty\": \"Id\",\n \"filters\": []\n });\n this.addModel({\n \"id\": \"$m_StelleninseratGruppeRel\",\n \"webApiAction\": \"ZIT/Objekte/StelleninseratGruppe\",\n \"webApiColumns\": [\"Id\", \"SortNr\", \"Text\", \"IdStelleninseratGruppentyp\"],\n \"webApiExpand\": {\n 'Gruppentyp': null\n },\n \"webApiOrderBy\": [{\n \"columnName\": \"GruppentypSortNr\",\n \"sortOrder\": 0\n }, {\n \"columnName\": \"GruppentypBezeichnung\",\n \"sortOrder\": 0\n }, {\n \"columnName\": \"SortNr\",\n \"sortOrder\": 0\n }, {\n \"columnName\": \"Text\",\n \"sortOrder\": 0\n }],\n \"keyProperty\": \"Id\",\n \"filters\": []\n });\n this.addModel({\n \"id\": \"$m_StelleninseratGruppeEdit\",\n \"webApiAction\": \"ZIT/Objekte/StelleninseratGruppe\",\n \"webApiExpand\": {\n 'Gruppentyp': null\n },\n \"keyProperty\": \"Id\",\n \"filters\": []\n });\n this.addModel({\n \"id\": \"$m_StelleninseratGruppeElement\",\n \"webApiAction\": \"ZIT/Objekte/StelleninseratGruppeElement\",\n \"key\": \"models.data.$m_Stelleninserat.IdStelleninseratGruppeElement\",\n \"keyProperty\": \"Id\",\n \"filters\": []\n });\n this.addModel({\n \"id\": \"$m_STFBFB\",\n \"webApiAction\": \"ZIT/Objekte/StelleninseratFerialbewerbungFragebogenElement\",\n \"key\": \"models.data.$m_Stelleninserat.IdStelleninseratFerialbewerbungFragebogenElement\",\n \"keyProperty\": \"Id\",\n \"filters\": []\n });\n this.addModel({\n \"id\": \"$m_STFBFBEinsatzbereich\",\n \"webApiAction\": \"ZIT/Objekte/StelleninseratFerialbewerbungFragebogenEinsatzbereich\",\n \"webApiColumns\": [\"Id\", \"IdStelleninseratFerialbewerbungFragebogenElement\", \"Einsatzbereich\", \"SortNr\"],\n \"webApiOrderBy\": [{\n \"columnName\": \"SortNr\",\n \"sortOrder\": 0\n }, {\n \"columnName\": \"Einsatzbereich\",\n \"sortOrder\": 1\n }],\n \"keyProperty\": \"Id\",\n \"filters\": []\n });\n this.addModel({\n \"id\": \"$m_STFBFBEinsatzbereichE\",\n \"webApiAction\": \"ZIT/Objekte/StelleninseratFerialbewerbungFragebogenEinsatzbereich\",\n \"keyProperty\": \"Id\",\n \"filters\": []\n });\n this.addModel({\n \"id\": \"$m_Bewerbung\",\n \"webApiAction\": \"ZIT/Objekte/Bewerbung\",\n \"webApiColumns\": [\"Id\"],\n \"webApiWhere\": [\"Kopf.IdStelleninserat\", {\n \"isBound\": true,\n \"expression\": \"models.data.$m_Stelleninserat.Id\"\n }],\n \"modificationInfoEnabled\": true,\n \"keyProperty\": \"Id\",\n \"filters\": [{\n \"webApiCustomKey\": \"AddBewerbungCard\",\n \"webApiCustomValue\": \"true\"\n }]\n });\n this.addModel({\n \"id\": \"$m_Bewerbungstyp\",\n \"webApiAction\": \"ZIT/Stammdaten/StelleninseratBewerbungstyp\",\n \"key\": \"models.data.$m_Stelleninserat.Kopf.IdBewerbungstyp\",\n \"keyProperty\": \"Id\",\n \"filters\": []\n });\n this.addModel({\n \"id\": \"$m_StelleninseratKopfElementChannelRel\",\n \"webApiAction\": \"ZIT/Objekte/StelleninseratKopfElementZuChannel\",\n \"webApiExpand\": {\n 'Channel': null,\n 'StelleninseratBewerbungstyp': null\n },\n \"keyProperty\": \"Id\",\n \"allowNew\": \"functions.$f_Stelleninserat.canAddChannel\",\n \"filters\": []\n });\n this.addModel({\n \"id\": \"$m_StelleninseratKopfElementChannelEdit\",\n \"webApiAction\": \"ZIT/Objekte/StelleninseratKopfElementZuChannel\",\n \"keyProperty\": \"Id\",\n \"filters\": []\n });\n this.addCommand({\n \"binding\": {\n \"bindTo\": \"$f_Stelleninserat.actionCommand\",\n \"bindToFQ\": \"functions.$f_Stelleninserat.actionCommand\"\n }\n });\n this.addEditPopup({\n \"idContent\": \"stelleninseratGruppeEditPopupContent\",\n \"mappings\": [{\n \"to\": \"$id\",\n \"binding\": {\n \"dataContext\": \"$m_StelleninseratGruppeEdit\",\n \"bindTo\": \"Id\",\n \"bindToFQ\": \"models.data.$m_StelleninseratGruppeEdit.Id\"\n }\n }, {\n \"to\": \"$v_idGeschaeftspartner\",\n \"binding\": {\n \"dataContext\": \"$m_Stelleninserat\",\n \"bindTo\": \"Kopf.IdGeschaeftspartner\",\n \"bindToFQ\": \"models.data.$m_Stelleninserat.Kopf.IdGeschaeftspartner\",\n \"propertyPrefix\": \"Kopf\"\n }\n }, {\n \"to\": \"$v_idStelleninserat\",\n \"binding\": {\n \"dataContext\": \"$m_Stelleninserat\",\n \"bindTo\": \"Id\",\n \"bindToFQ\": \"models.data.$m_Stelleninserat.Id\"\n }\n }],\n \"id\": \"stelleninseratGruppeEditPopup\",\n \"options\": {\n \"optionsName\": \"stelleninseratGruppeEditPopupOptions\",\n \"optionsNameFQ\": \"stelleninseratGruppeEditPopupOptions\"\n },\n \"caption\": \"stelleninserat-ferial-edit.stelleninseratgruppeeditpopup_caption\",\n \"height\": \"auto\",\n \"width\": \"500px\",\n \"commands\": []\n });\n this.addEditPopup({\n \"idContent\": \"stelleninseratFerialbewerbungFragebogenEinsatzbereichEditPopupContent\",\n \"mappings\": [{\n \"to\": \"$id\",\n \"binding\": {\n \"dataContext\": \"$m_STFBFBEinsatzbereichE\",\n \"bindTo\": \"Id\",\n \"bindToFQ\": \"models.data.$m_STFBFBEinsatzbereichE.Id\"\n }\n }],\n \"id\": \"stelleninseratFerialbewerbungFragebogenEinsatzbereichEditPopup\",\n \"options\": {\n \"optionsName\": \"stelleninseratFerialbewerbungFragebogenEinsatzbereichEditPopupOptions\",\n \"optionsNameFQ\": \"stelleninseratFerialbewerbungFragebogenEinsatzbereichEditPopupOptions\"\n },\n \"caption\": \"stelleninserat-ferial-edit.stelleninseratferialbewerbungfragebogeneinsatzbereicheditpopup_caption\",\n \"height\": \"auto\",\n \"width\": \"500px\",\n \"commands\": []\n });\n this.addEditPopup({\n \"idContent\": \"stelleninseratKopfElementChannelEditPopupContent\",\n \"mappings\": [{\n \"to\": \"$id\",\n \"binding\": {\n \"dataContext\": \"$m_StelleninseratKopfElementChannelEdit\",\n \"bindTo\": \"Id\",\n \"bindToFQ\": \"models.data.$m_StelleninseratKopfElementChannelEdit.Id\"\n }\n }],\n \"id\": \"stelleninseratKopfElementChannelEditPopup\",\n \"options\": {\n \"optionsName\": \"stelleninseratKopfElementChannelEditPopupOptions\",\n \"optionsNameFQ\": \"stelleninseratKopfElementChannelEditPopupOptions\"\n },\n \"height\": \"auto\",\n \"width\": \"500px\",\n \"commands\": []\n });\n this.addFunction(\"$f_Stelleninserat\", $f_Stelleninserat, \"functions.$f_Stelleninserat\");\n this.widgetCreator.addValidationGroup(this, {\n \"id\": \"wd1\",\n \"options\": {\n \"optionsName\": \"wd1Options\",\n \"optionsNameFQ\": \"wd1Options\"\n }\n });\n this.widgetCreator.addLookup(this, {\n \"idSelect\": \"geschaeftspartner\",\n \"filters\": [],\n \"caption\": \"stelleninserat-ferial-edit.r_geschaeftspartner_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Stelleninserat\",\n \"bindTo\": \"Kopf.IdGeschaeftspartner\",\n \"bindToFQ\": \"models.data.$m_Stelleninserat.Kopf.IdGeschaeftspartner\",\n \"propertyPrefix\": \"Kopf\"\n },\n \"validationRules\": [{\n \"item\": {\n \"type\": \"required\",\n \"parameters\": []\n }\n }],\n \"id\": \"r_geschaeftspartner\",\n \"options\": {\n \"optionsName\": \"r_geschaeftspartnerOptions\",\n \"optionsNameFQ\": \"r_geschaeftspartnerOptions\"\n }\n });\n this.widgetCreator.addTextBox(this, {\n \"maxLength\": 250,\n \"caption\": \"stelleninserat-ferial-edit.r_stellenbezeichnungextern_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Stelleninserat\",\n \"bindTo\": \"Kopf.StellenbezeichnungExtern\",\n \"bindToFQ\": \"models.data.$m_Stelleninserat.Kopf.StellenbezeichnungExtern\",\n \"propertyPrefix\": \"Kopf\"\n },\n \"validationRules\": [{\n \"item\": {\n \"type\": \"required\",\n \"parameters\": []\n }\n }],\n \"id\": \"r_stellenbezeichnungExtern\",\n \"options\": {\n \"optionsName\": \"r_stellenbezeichnungExternOptions\",\n \"optionsNameFQ\": \"r_stellenbezeichnungExternOptions\"\n }\n });\n this.widgetCreator.addTextBox(this, {\n \"maxLength\": 250,\n \"caption\": \"stelleninserat-ferial-edit.r_stellenbezeichnungintern_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Stelleninserat\",\n \"bindTo\": \"Kopf.StellenbezeichnungIntern\",\n \"bindToFQ\": \"models.data.$m_Stelleninserat.Kopf.StellenbezeichnungIntern\",\n \"propertyPrefix\": \"Kopf\"\n },\n \"validationRules\": [],\n \"id\": \"r_stellenbezeichnungIntern\",\n \"options\": {\n \"optionsName\": \"r_stellenbezeichnungInternOptions\",\n \"optionsNameFQ\": \"r_stellenbezeichnungInternOptions\"\n }\n });\n this.widgetCreator.addDateBox(this, {\n \"format\": \"d\",\n \"caption\": \"stelleninserat-ferial-edit.r_gueltigvon_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Stelleninserat\",\n \"bindTo\": \"Kopf.GueltigVon\",\n \"bindToFQ\": \"models.data.$m_Stelleninserat.Kopf.GueltigVon\",\n \"propertyPrefix\": \"Kopf\"\n },\n \"validationRules\": [{\n \"item\": {\n \"type\": \"required\",\n \"parameters\": []\n }\n }],\n \"id\": \"r_gueltigVon\",\n \"options\": {\n \"optionsName\": \"r_gueltigVonOptions\",\n \"optionsNameFQ\": \"r_gueltigVonOptions\"\n }\n });\n this.widgetCreator.addDateBox(this, {\n \"format\": \"d\",\n \"caption\": \"stelleninserat-ferial-edit.r_gueltigbis_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Stelleninserat\",\n \"bindTo\": \"Kopf.GueltigBis\",\n \"bindToFQ\": \"models.data.$m_Stelleninserat.Kopf.GueltigBis\",\n \"propertyPrefix\": \"Kopf\"\n },\n \"validationRules\": [{\n \"item\": {\n \"type\": \"required\",\n \"parameters\": []\n }\n }],\n \"id\": \"r_gueltigBis\",\n \"options\": {\n \"optionsName\": \"r_gueltigBisOptions\",\n \"optionsNameFQ\": \"r_gueltigBisOptions\"\n }\n });\n this.widgetCreator.addSelectBox(this, {\n \"idSelect\": \"branche\",\n \"filters\": [],\n \"caption\": \"stelleninserat-ferial-edit.r_branche_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Stelleninserat\",\n \"bindTo\": \"Kopf.IdBranche\",\n \"bindToFQ\": \"models.data.$m_Stelleninserat.Kopf.IdBranche\",\n \"propertyPrefix\": \"Kopf\"\n },\n \"validationRules\": [{\n \"item\": {\n \"type\": \"required\",\n \"parameters\": []\n }\n }],\n \"id\": \"r_branche\",\n \"options\": {\n \"optionsName\": \"r_brancheOptions\",\n \"optionsNameFQ\": \"r_brancheOptions\"\n }\n });\n this.widgetCreator.addLookup(this, {\n \"idSelect\": \"geschaeftspartner\",\n \"filters\": [],\n \"caption\": \"stelleninserat-ferial-edit.r_geschaeftspartnernopackage_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Stelleninserat\",\n \"bindTo\": \"Kopf.IdGeschaeftspartner\",\n \"bindToFQ\": \"models.data.$m_Stelleninserat.Kopf.IdGeschaeftspartner\",\n \"propertyPrefix\": \"Kopf\"\n },\n \"validationRules\": [{\n \"binding\": {\n \"dataContext\": \"$m_Stelleninserat\",\n \"bindTo\": \"$f_Stelleninserat.keinPackageRule\",\n \"bindToFQ\": \"functions.$f_Stelleninserat.keinPackageRule\"\n }\n }, {\n \"item\": {\n \"type\": \"required\",\n \"parameters\": []\n }\n }],\n \"id\": \"r_geschaeftspartnerNoPackage\",\n \"options\": {\n \"optionsName\": \"r_geschaeftspartnerNoPackageOptions\",\n \"optionsNameFQ\": \"r_geschaeftspartnerNoPackageOptions\"\n }\n });\n this.widgetCreator.addLookup(this, {\n \"idSelect\": \"ansprechperson\",\n \"customs\": [{\n \"key\": \"IdGeschaeftspartner\",\n \"value\": \"models.data.$m_Stelleninserat.Kopf.IdGeschaeftspartner\"\n }],\n \"filters\": [],\n \"caption\": \"stelleninserat-ferial-edit.ansprechpersonselect_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Stelleninserat\",\n \"bindTo\": \"Kopf.IdAnsprechperson\",\n \"bindToFQ\": \"models.data.$m_Stelleninserat.Kopf.IdAnsprechperson\",\n \"propertyPrefix\": \"Kopf\"\n },\n \"validationRules\": [],\n \"id\": \"ansprechpersonSelect\",\n \"options\": {\n \"optionsName\": \"ansprechpersonSelectOptions\",\n \"optionsNameFQ\": \"ansprechpersonSelectOptions\"\n }\n });\n this.widgetCreator.addFileUploaderWithViewer(this, {\n \"acceptTypeEnum\": 0,\n \"acceptType\": \"image/*\",\n \"placeholderImageExpression\": \"models.data.$m_Stelleninserat.Kopf.DMSLinkStandardBild\",\n \"placeholderImageText\": \"Standardbild laut Lehrberuf\",\n \"height\": \"250px\",\n \"showToolbar\": true,\n \"showClearButton\": false,\n \"caption\": \"stelleninserat-ferial-edit.r_dmslinkbild_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Stelleninserat\",\n \"bindTo\": \"Kopf.DMSLinkBild\",\n \"bindToFQ\": \"models.data.$m_Stelleninserat.Kopf.DMSLinkBild\",\n \"propertyPrefix\": \"Kopf\"\n },\n \"validationRules\": [],\n \"id\": \"r_dmslinkBild\",\n \"options\": {\n \"optionsName\": \"r_dmslinkBildOptions\",\n \"optionsNameFQ\": \"r_dmslinkBildOptions\"\n }\n });\n this.widgetCreator.addCheckBox(this, {\n \"caption\": \"stelleninserat-ferial-edit.r_stelleninserataktiv_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Stelleninserat\",\n \"bindTo\": \"Kopf.IsAktiv\",\n \"bindToFQ\": \"models.data.$m_Stelleninserat.Kopf.IsAktiv\",\n \"propertyPrefix\": \"Kopf\"\n },\n \"validationRules\": [],\n \"id\": \"r_stelleninseratAktiv\",\n \"options\": {\n \"optionsName\": \"r_stelleninseratAktivOptions\",\n \"optionsNameFQ\": \"r_stelleninseratAktivOptions\"\n }\n });\n this.widgetCreator.addCheckBox(this, {\n \"caption\": \"stelleninserat-ferial-edit.r_nuronlinebewerbungerwuenscht_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Stelleninserat\",\n \"bindTo\": \"Kopf.NurOnlineBewerbungErwuenscht\",\n \"bindToFQ\": \"models.data.$m_Stelleninserat.Kopf.NurOnlineBewerbungErwuenscht\",\n \"propertyPrefix\": \"Kopf\"\n },\n \"validationRules\": [],\n \"id\": \"r_nurOnlineBewerbungErwuenscht\",\n \"options\": {\n \"optionsName\": \"r_nurOnlineBewerbungErwuenschtOptions\",\n \"optionsNameFQ\": \"r_nurOnlineBewerbungErwuenschtOptions\"\n }\n });\n this.widgetCreator.addSelectBox(this, {\n \"idSelect\": \"stelleninseratBewerbungstyp\",\n \"filter\": [\n [\"IdGeschaeftspartner\", \"null\"], \"or\", [\"IdGeschaeftspartner\", {\n \"isBound\": true,\n \"expression\": \"models.data.$m_Stelleninserat.Kopf.IdGeschaeftspartner\"\n }]\n ],\n \"customs\": [{\n \"key\": \"IdGeschaeftspartner\",\n \"value\": \"models.data.$m_Stelleninserat.Kopf.IdGeschaeftspartner\"\n }, {\n \"key\": \"CheckBenutzerrolle\",\n \"value\": \"true\"\n }],\n \"filters\": [],\n \"caption\": \"stelleninserat-ferial-edit.bewerbungstyp_caption\",\n \"placeholder\": \"stelleninserat-ferial-edit.bewerbungstyp_placeholder\",\n \"binding\": {\n \"dataContext\": \"$m_Stelleninserat\",\n \"bindTo\": \"Kopf.IdBewerbungstyp\",\n \"bindToFQ\": \"models.data.$m_Stelleninserat.Kopf.IdBewerbungstyp\",\n \"propertyPrefix\": \"Kopf\"\n },\n \"validationRules\": [{\n \"item\": {\n \"type\": \"required\",\n \"parameters\": []\n }\n }],\n \"id\": \"bewerbungstyp\",\n \"options\": {\n \"optionsName\": \"bewerbungstypOptions\",\n \"optionsNameFQ\": \"bewerbungstypOptions\"\n }\n });\n this.widgetCreator.addCheckBox(this, {\n \"caption\": \"stelleninserat-ferial-edit.r_priorisieren_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Stelleninserat\",\n \"bindTo\": \"Kopf.Priorisieren\",\n \"bindToFQ\": \"models.data.$m_Stelleninserat.Kopf.Priorisieren\",\n \"propertyPrefix\": \"Kopf\"\n },\n \"validationRules\": [],\n \"id\": \"r_priorisieren\",\n \"options\": {\n \"optionsName\": \"r_priorisierenOptions\",\n \"optionsNameFQ\": \"r_priorisierenOptions\"\n }\n });\n this.widgetCreator.addDateBox(this, {\n \"format\": \"d\",\n \"caption\": \"stelleninserat-ferial-edit.r_bewerbungvon_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Stelleninserat\",\n \"bindTo\": \"FerialeinsatzEinstellungen.BewerbungOnlineVon\",\n \"bindToFQ\": \"models.data.$m_Stelleninserat.FerialeinsatzEinstellungen.BewerbungOnlineVon\",\n \"propertyPrefix\": \"FerialeinsatzEinstellungen\"\n },\n \"validationRules\": [{\n \"binding\": {\n \"dataContext\": \"$m_Stelleninserat\",\n \"bindTo\": \"$f_Stelleninserat.bewerbungVonValidationRule\",\n \"bindToFQ\": \"functions.$f_Stelleninserat.bewerbungVonValidationRule\"\n }\n }],\n \"id\": \"r_bewerbungVon\",\n \"options\": {\n \"optionsName\": \"r_bewerbungVonOptions\",\n \"optionsNameFQ\": \"r_bewerbungVonOptions\"\n }\n });\n this.widgetCreator.addDateBox(this, {\n \"format\": \"d\",\n \"caption\": \"stelleninserat-ferial-edit.r_bewerbungbis_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Stelleninserat\",\n \"bindTo\": \"FerialeinsatzEinstellungen.BewerbungOnlineBis\",\n \"bindToFQ\": \"models.data.$m_Stelleninserat.FerialeinsatzEinstellungen.BewerbungOnlineBis\",\n \"propertyPrefix\": \"FerialeinsatzEinstellungen\"\n },\n \"validationRules\": [{\n \"binding\": {\n \"dataContext\": \"$m_Stelleninserat\",\n \"bindTo\": \"$f_Stelleninserat.bewerbungBisValidationRule\",\n \"bindToFQ\": \"functions.$f_Stelleninserat.bewerbungBisValidationRule\"\n }\n }],\n \"id\": \"r_bewerbungBis\",\n \"options\": {\n \"optionsName\": \"r_bewerbungBisOptions\",\n \"optionsNameFQ\": \"r_bewerbungBisOptions\"\n }\n });\n this.widgetCreator.addNumberBox(this, {\n \"showSpinButtons\": true,\n \"min\": 0.0,\n \"max\": 99.0,\n \"caption\": \"stelleninserat-ferial-edit.r_mindestalter_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Stelleninserat\",\n \"bindTo\": \"FerialeinsatzEinstellungen.Mindestalter\",\n \"bindToFQ\": \"models.data.$m_Stelleninserat.FerialeinsatzEinstellungen.Mindestalter\",\n \"propertyPrefix\": \"FerialeinsatzEinstellungen\"\n },\n \"validationRules\": [],\n \"id\": \"r_mindestalter\",\n \"options\": {\n \"optionsName\": \"r_mindestalterOptions\",\n \"optionsNameFQ\": \"r_mindestalterOptions\"\n }\n });\n this.widgetCreator.addDateBox(this, {\n \"format\": \"d\",\n \"caption\": \"stelleninserat-ferial-edit.r_beschaeftigungvon_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Stelleninserat\",\n \"bindTo\": \"FerialeinsatzEinstellungen.BeschaeftigungVon\",\n \"bindToFQ\": \"models.data.$m_Stelleninserat.FerialeinsatzEinstellungen.BeschaeftigungVon\",\n \"propertyPrefix\": \"FerialeinsatzEinstellungen\"\n },\n \"validationRules\": [{\n \"item\": {\n \"type\": \"required\",\n \"parameters\": []\n }\n }],\n \"id\": \"r_beschaeftigungVon\",\n \"options\": {\n \"optionsName\": \"r_beschaeftigungVonOptions\",\n \"optionsNameFQ\": \"r_beschaeftigungVonOptions\"\n }\n });\n this.widgetCreator.addDateBox(this, {\n \"format\": \"d\",\n \"caption\": \"stelleninserat-ferial-edit.r_beschaeftigungbis_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Stelleninserat\",\n \"bindTo\": \"FerialeinsatzEinstellungen.BeschaeftigungBis\",\n \"bindToFQ\": \"models.data.$m_Stelleninserat.FerialeinsatzEinstellungen.BeschaeftigungBis\",\n \"propertyPrefix\": \"FerialeinsatzEinstellungen\"\n },\n \"validationRules\": [{\n \"item\": {\n \"type\": \"required\",\n \"parameters\": []\n }\n }],\n \"id\": \"r_beschaeftigungBis\",\n \"options\": {\n \"optionsName\": \"r_beschaeftigungBisOptions\",\n \"optionsNameFQ\": \"r_beschaeftigungBisOptions\"\n }\n });\n this.widgetCreator.addNumberBox(this, {\n \"showSpinButtons\": true,\n \"min\": 1.0,\n \"max\": 99.0,\n \"caption\": \"stelleninserat-ferial-edit.r_mindesteinsatzwochen_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Stelleninserat\",\n \"bindTo\": \"FerialeinsatzEinstellungen.MindesteinsatzWochen\",\n \"bindToFQ\": \"models.data.$m_Stelleninserat.FerialeinsatzEinstellungen.MindesteinsatzWochen\",\n \"propertyPrefix\": \"FerialeinsatzEinstellungen\"\n },\n \"validationRules\": [{\n \"item\": {\n \"type\": \"required\",\n \"parameters\": []\n }\n }],\n \"id\": \"r_mindesteinsatzWochen\",\n \"options\": {\n \"optionsName\": \"r_mindesteinsatzWochenOptions\",\n \"optionsNameFQ\": \"r_mindesteinsatzWochenOptions\"\n }\n });\n this.widgetCreator.addNumberBox(this, {\n \"showSpinButtons\": true,\n \"min\": 1.0,\n \"max\": 99.0,\n \"caption\": \"stelleninserat-ferial-edit.r_maxeinsatzwochen_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Stelleninserat\",\n \"bindTo\": \"FerialeinsatzEinstellungen.MaxEinsatzWochen\",\n \"bindToFQ\": \"models.data.$m_Stelleninserat.FerialeinsatzEinstellungen.MaxEinsatzWochen\",\n \"propertyPrefix\": \"FerialeinsatzEinstellungen\"\n },\n \"validationRules\": [],\n \"id\": \"r_maxEinsatzWochen\",\n \"options\": {\n \"optionsName\": \"r_maxEinsatzWochenOptions\",\n \"optionsNameFQ\": \"r_maxEinsatzWochenOptions\"\n }\n });\n this.widgetCreator.addCheckBox(this, {\n \"caption\": \"stelleninserat-ferial-edit.r_einsatzzeitraumaufbewerbungsseitenichtanzeigen_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Stelleninserat\",\n \"bindTo\": \"Kopf.EinsatzzeitraumAufBewerbungsseiteNichtAnzeigen\",\n \"bindToFQ\": \"models.data.$m_Stelleninserat.Kopf.EinsatzzeitraumAufBewerbungsseiteNichtAnzeigen\",\n \"propertyPrefix\": \"Kopf\"\n },\n \"validationRules\": [],\n \"id\": \"r_einsatzzeitraumAufBewerbungsseiteNichtAnzeigen\",\n \"options\": {\n \"optionsName\": \"r_einsatzzeitraumAufBewerbungsseiteNichtAnzeigenOptions\",\n \"optionsNameFQ\": \"r_einsatzzeitraumAufBewerbungsseiteNichtAnzeigenOptions\"\n }\n });\n this.widgetCreator.addTextBox(this, {\n \"maxLength\": 250,\n \"caption\": \"stelleninserat-ferial-edit.r_standort_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Stelleninserat\",\n \"bindTo\": \"Kopf.Standort\",\n \"bindToFQ\": \"models.data.$m_Stelleninserat.Kopf.Standort\",\n \"propertyPrefix\": \"Kopf\"\n },\n \"validationRules\": [],\n \"id\": \"r_standort\",\n \"options\": {\n \"optionsName\": \"r_standortOptions\",\n \"optionsNameFQ\": \"r_standortOptions\"\n }\n });\n this.widgetCreator.addTextBox(this, {\n \"maxLength\": 500,\n \"caption\": \"stelleninserat-ferial-edit.r_googlekarteadresse_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Stelleninserat\",\n \"bindTo\": \"Kopf.GoogleKartenAdresse\",\n \"bindToFQ\": \"models.data.$m_Stelleninserat.Kopf.GoogleKartenAdresse\",\n \"propertyPrefix\": \"Kopf\"\n },\n \"validationRules\": [],\n \"id\": \"r_googleKarteAdresse\",\n \"options\": {\n \"optionsName\": \"r_googleKarteAdresseOptions\",\n \"optionsNameFQ\": \"r_googleKarteAdresseOptions\"\n }\n });\n this.widgetCreator.addTextBox(this, {\n \"maxLength\": 250,\n \"caption\": \"stelleninserat-ferial-edit.r_subheadline_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Stelleninserat\",\n \"bindTo\": \"Kopf.Subheadline\",\n \"bindToFQ\": \"models.data.$m_Stelleninserat.Kopf.Subheadline\",\n \"propertyPrefix\": \"Kopf\"\n },\n \"validationRules\": [{\n \"item\": {\n \"type\": \"required\",\n \"parameters\": []\n }\n }],\n \"id\": \"r_subheadline\",\n \"options\": {\n \"optionsName\": \"r_subheadlineOptions\",\n \"optionsNameFQ\": \"r_subheadlineOptions\"\n }\n });\n this.widgetCreator.addTextBox(this, {\n \"maxLength\": 500,\n \"caption\": \"stelleninserat-ferial-edit.r_weiterleitungslink_caption\",\n \"isReadOnlyExpression\": \"!models.data.$m_Bewerbungstyp || !models.data.$m_Bewerbungstyp.WebsiteUmleitungLautWeiterleitungslink\",\n \"binding\": {\n \"dataContext\": \"$m_Stelleninserat\",\n \"bindTo\": \"Kopf.Weiterleitungslink\",\n \"bindToFQ\": \"models.data.$m_Stelleninserat.Kopf.Weiterleitungslink\",\n \"propertyPrefix\": \"Kopf\"\n },\n \"validationRules\": [],\n \"id\": \"r_weiterleitungslink\",\n \"options\": {\n \"optionsName\": \"r_weiterleitungslinkOptions\",\n \"optionsNameFQ\": \"r_weiterleitungslinkOptions\"\n }\n });\n this.widgetCreator.addRadioGroup(this, {\n \"idSelect\": \"pflichtfeld\",\n \"filters\": [],\n \"caption\": \"stelleninserat-ferial-edit.r_lebenslaufanfragen_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Stelleninserat\",\n \"bindTo\": \"FerialbewerbungFragebogen.LebenslaufAnfragen\",\n \"bindToFQ\": \"models.data.$m_Stelleninserat.FerialbewerbungFragebogen.LebenslaufAnfragen\",\n \"propertyPrefix\": \"FerialbewerbungFragebogen\"\n },\n \"validationRules\": [],\n \"id\": \"r_lebenslaufAnfragen\",\n \"options\": {\n \"optionsName\": \"r_lebenslaufAnfragenOptions\",\n \"optionsNameFQ\": \"r_lebenslaufAnfragenOptions\"\n }\n });\n this.widgetCreator.addRadioGroup(this, {\n \"idSelect\": \"pflichtfeld\",\n \"filters\": [],\n \"caption\": \"stelleninserat-ferial-edit.r_anschreibenanfragen_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Stelleninserat\",\n \"bindTo\": \"FerialbewerbungFragebogen.AnschreibenAnfragen\",\n \"bindToFQ\": \"models.data.$m_Stelleninserat.FerialbewerbungFragebogen.AnschreibenAnfragen\",\n \"propertyPrefix\": \"FerialbewerbungFragebogen\"\n },\n \"validationRules\": [],\n \"id\": \"r_anschreibenAnfragen\",\n \"options\": {\n \"optionsName\": \"r_anschreibenAnfragenOptions\",\n \"optionsNameFQ\": \"r_anschreibenAnfragenOptions\"\n }\n });\n this.widgetCreator.addRadioGroup(this, {\n \"idSelect\": \"pflichtfeld\",\n \"filters\": [],\n \"caption\": \"stelleninserat-ferial-edit.r_zeugnisanfragen_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Stelleninserat\",\n \"bindTo\": \"FerialbewerbungFragebogen.LetztesZeugnisAnfragen\",\n \"bindToFQ\": \"models.data.$m_Stelleninserat.FerialbewerbungFragebogen.LetztesZeugnisAnfragen\",\n \"propertyPrefix\": \"FerialbewerbungFragebogen\"\n },\n \"validationRules\": [],\n \"id\": \"r_zeugnisAnfragen\",\n \"options\": {\n \"optionsName\": \"r_zeugnisAnfragenOptions\",\n \"optionsNameFQ\": \"r_zeugnisAnfragenOptions\"\n }\n });\n this.widgetCreator.addRadioGroup(this, {\n \"idSelect\": \"pflichtfeld\",\n \"filters\": [],\n \"caption\": \"stelleninserat-ferial-edit.r_reisepassausweisanfragen_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Stelleninserat\",\n \"bindTo\": \"FerialbewerbungFragebogen.ReisepassAusweisAnfragen\",\n \"bindToFQ\": \"models.data.$m_Stelleninserat.FerialbewerbungFragebogen.ReisepassAusweisAnfragen\",\n \"propertyPrefix\": \"FerialbewerbungFragebogen\"\n },\n \"validationRules\": [],\n \"id\": \"r_reisepassAusweisAnfragen\",\n \"options\": {\n \"optionsName\": \"r_reisepassAusweisAnfragenOptions\",\n \"optionsNameFQ\": \"r_reisepassAusweisAnfragenOptions\"\n }\n });\n this.widgetCreator.addRadioGroup(this, {\n \"idSelect\": \"pflichtfeld\",\n \"filters\": [],\n \"caption\": \"stelleninserat-ferial-edit.r_schuhundkonfektionsgroesse_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Stelleninserat\",\n \"bindTo\": \"FerialbewerbungFragebogen.SchuhUndKonfektionsGroesseAnfragen\",\n \"bindToFQ\": \"models.data.$m_Stelleninserat.FerialbewerbungFragebogen.SchuhUndKonfektionsGroesseAnfragen\",\n \"propertyPrefix\": \"FerialbewerbungFragebogen\"\n },\n \"validationRules\": [],\n \"id\": \"r_schuhUndKonfektionsgroesse\",\n \"options\": {\n \"optionsName\": \"r_schuhUndKonfektionsgroesseOptions\",\n \"optionsNameFQ\": \"r_schuhUndKonfektionsgroesseOptions\"\n }\n });\n this.widgetCreator.addRadioGroup(this, {\n \"idSelect\": \"pflichtfeld\",\n \"filters\": [],\n \"caption\": \"stelleninserat-ferial-edit.r_sprachkenntnisse_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Stelleninserat\",\n \"bindTo\": \"FerialbewerbungFragebogen.SprachKenntnisseAnfragen\",\n \"bindToFQ\": \"models.data.$m_Stelleninserat.FerialbewerbungFragebogen.SprachKenntnisseAnfragen\",\n \"propertyPrefix\": \"FerialbewerbungFragebogen\"\n },\n \"validationRules\": [],\n \"id\": \"r_sprachkenntnisse\",\n \"options\": {\n \"optionsName\": \"r_sprachkenntnisseOptions\",\n \"optionsNameFQ\": \"r_sprachkenntnisseOptions\"\n }\n });\n this.widgetCreator.addRadioGroup(this, {\n \"idSelect\": \"pflichtfeld\",\n \"filters\": [],\n \"caption\": \"stelleninserat-ferial-edit.r_bisherigeberufserfahrung_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Stelleninserat\",\n \"bindTo\": \"FerialbewerbungFragebogen.BisherigeBerufserfahrungAnfragen\",\n \"bindToFQ\": \"models.data.$m_Stelleninserat.FerialbewerbungFragebogen.BisherigeBerufserfahrungAnfragen\",\n \"propertyPrefix\": \"FerialbewerbungFragebogen\"\n },\n \"validationRules\": [],\n \"id\": \"r_bisherigeBerufserfahrung\",\n \"options\": {\n \"optionsName\": \"r_bisherigeBerufserfahrungOptions\",\n \"optionsNameFQ\": \"r_bisherigeBerufserfahrungOptions\"\n }\n });\n this.widgetCreator.addRadioGroup(this, {\n \"idSelect\": \"pflichtfeld\",\n \"filters\": [],\n \"caption\": \"stelleninserat-ferial-edit.r_ausbildung_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Stelleninserat\",\n \"bindTo\": \"FerialbewerbungFragebogen.AusbildungAnfragen\",\n \"bindToFQ\": \"models.data.$m_Stelleninserat.FerialbewerbungFragebogen.AusbildungAnfragen\",\n \"propertyPrefix\": \"FerialbewerbungFragebogen\"\n },\n \"validationRules\": [],\n \"id\": \"r_ausbildung\",\n \"options\": {\n \"optionsName\": \"r_ausbildungOptions\",\n \"optionsNameFQ\": \"r_ausbildungOptions\"\n }\n });\n this.widgetCreator.addRadioGroup(this, {\n \"idSelect\": \"pflichtfeld\",\n \"filters\": [],\n \"caption\": \"stelleninserat-ferial-edit.r_fuehrerscheinundmobilitaet_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Stelleninserat\",\n \"bindTo\": \"FerialbewerbungFragebogen.FuehrerscheinUndMobilitaetAnfragen\",\n \"bindToFQ\": \"models.data.$m_Stelleninserat.FerialbewerbungFragebogen.FuehrerscheinUndMobilitaetAnfragen\",\n \"propertyPrefix\": \"FerialbewerbungFragebogen\"\n },\n \"validationRules\": [],\n \"id\": \"r_fuehrerscheinUndMobilitaet\",\n \"options\": {\n \"optionsName\": \"r_fuehrerscheinUndMobilitaetOptions\",\n \"optionsNameFQ\": \"r_fuehrerscheinUndMobilitaetOptions\"\n }\n });\n this.widgetCreator.addRadioGroup(this, {\n \"idSelect\": \"pflichtfeld\",\n \"filters\": [],\n \"caption\": \"stelleninserat-ferial-edit.r_verwandschaftsverhaeltnis_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Stelleninserat\",\n \"bindTo\": \"FerialbewerbungFragebogen.VerwandtschaftsverhaeltnisAnfragen\",\n \"bindToFQ\": \"models.data.$m_Stelleninserat.FerialbewerbungFragebogen.VerwandtschaftsverhaeltnisAnfragen\",\n \"propertyPrefix\": \"FerialbewerbungFragebogen\"\n },\n \"validationRules\": [],\n \"id\": \"r_verwandschaftsverhaeltnis\",\n \"options\": {\n \"optionsName\": \"r_verwandschaftsverhaeltnisOptions\",\n \"optionsNameFQ\": \"r_verwandschaftsverhaeltnisOptions\"\n }\n });\n this.widgetCreator.addRadioGroup(this, {\n \"idSelect\": \"pflichtfeld\",\n \"filters\": [],\n \"caption\": \"stelleninserat-ferial-edit.r_sicherheitsbekleidung_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Stelleninserat\",\n \"bindTo\": \"FerialbewerbungFragebogen.SicherheitsbekleidungAnfragen\",\n \"bindToFQ\": \"models.data.$m_Stelleninserat.FerialbewerbungFragebogen.SicherheitsbekleidungAnfragen\",\n \"propertyPrefix\": \"FerialbewerbungFragebogen\"\n },\n \"validationRules\": [],\n \"id\": \"r_sicherheitsbekleidung\",\n \"options\": {\n \"optionsName\": \"r_sicherheitsbekleidungOptions\",\n \"optionsNameFQ\": \"r_sicherheitsbekleidungOptions\"\n }\n });\n this.widgetCreator.addRadioGroup(this, {\n \"idSelect\": \"pflichtfeld\",\n \"filters\": [],\n \"caption\": \"stelleninserat-ferial-edit.r_einsatzbereich_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Stelleninserat\",\n \"bindTo\": \"FerialbewerbungFragebogen.EinsatzbereichAnfragen\",\n \"bindToFQ\": \"models.data.$m_Stelleninserat.FerialbewerbungFragebogen.EinsatzbereichAnfragen\",\n \"propertyPrefix\": \"FerialbewerbungFragebogen\"\n },\n \"validationRules\": [],\n \"id\": \"r_einsatzbereich\",\n \"options\": {\n \"optionsName\": \"r_einsatzbereichOptions\",\n \"optionsNameFQ\": \"r_einsatzbereichOptions\"\n }\n });\n this.widgetCreator.addRadioGroup(this, {\n \"idSelect\": \"pflichtfeld\",\n \"filters\": [],\n \"caption\": \"stelleninserat-ferial-edit.r_bisherigeeinsaetze_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Stelleninserat\",\n \"bindTo\": \"FerialbewerbungFragebogen.BisherigeEinsaetzeAnfragen\",\n \"bindToFQ\": \"models.data.$m_Stelleninserat.FerialbewerbungFragebogen.BisherigeEinsaetzeAnfragen\",\n \"propertyPrefix\": \"FerialbewerbungFragebogen\"\n },\n \"validationRules\": [],\n \"id\": \"r_bisherigeEinsaetze\",\n \"options\": {\n \"optionsName\": \"r_bisherigeEinsaetzeOptions\",\n \"optionsNameFQ\": \"r_bisherigeEinsaetzeOptions\"\n }\n });\n this.widgetCreator.addRadioGroup(this, {\n \"idSelect\": \"pflichtfeld\",\n \"filters\": [],\n \"caption\": \"stelleninserat-ferial-edit.r_staplerfuehrerschein_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Stelleninserat\",\n \"bindTo\": \"FerialbewerbungFragebogen.StaplerFuehrerscheinAnfragen\",\n \"bindToFQ\": \"models.data.$m_Stelleninserat.FerialbewerbungFragebogen.StaplerFuehrerscheinAnfragen\",\n \"propertyPrefix\": \"FerialbewerbungFragebogen\"\n },\n \"validationRules\": [],\n \"id\": \"r_staplerfuehrerschein\",\n \"options\": {\n \"optionsName\": \"r_staplerfuehrerscheinOptions\",\n \"optionsNameFQ\": \"r_staplerfuehrerscheinOptions\"\n }\n });\n this.widgetCreator.addListView(this, {\n \"itemClass\": \"z--list-view-inline-item\",\n \"useDefaultListItemStyle\": false,\n \"createToolbar\": true,\n \"optionsToolbar\": {\n \"optionsName\": \"r_moeglicheEinsatzbereicheToolbarOptions\",\n \"optionsNameFQ\": \"r_moeglicheEinsatzbereicheToolbarOptions\"\n },\n \"caption\": \"stelleninserat-ferial-edit.r_moeglicheeinsatzbereiche_caption\",\n \"binding\": {\n \"dataContext\": \"$m_STFBFB\"\n },\n \"isRelation\": true,\n \"relationBinding\": {\n \"dataContext\": \"$m_STFBFBEinsatzbereich\",\n \"bindTo\": \"IdStelleninseratFerialbewerbungFragebogenElement\",\n \"bindToFQ\": \"models.data.$m_STFBFBEinsatzbereich.IdStelleninseratFerialbewerbungFragebogenElement\"\n },\n \"dataModel\": \"$m_STFBFB\",\n \"editDataContext\": \"$m_STFBFBEinsatzbereichE\",\n \"idEditPopup\": \"stelleninseratFerialbewerbungFragebogenEinsatzbereichEditPopup\",\n \"listEdits\": [],\n \"filters\": [],\n \"commands\": [],\n \"id\": \"r_moeglicheEinsatzbereiche\",\n \"options\": {\n \"optionsName\": \"r_moeglicheEinsatzbereicheOptions\",\n \"optionsNameFQ\": \"r_moeglicheEinsatzbereicheOptions\"\n }\n });\n this.widgetCreator.addListView(this, {\n \"itemClass\": \"col-xs-12 col-sm-6\",\n \"useDefaultListItemStyle\": false,\n \"createToolbar\": true,\n \"optionsToolbar\": {\n \"optionsName\": \"r_bewerbungenListViewToolbarOptions\",\n \"optionsNameFQ\": \"r_bewerbungenListViewToolbarOptions\"\n },\n \"caption\": \"stelleninserat-ferial-edit.r_bewerbungenlistview_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Bewerbung\"\n },\n \"dataModel\": \"$m_Bewerbung\",\n \"pageSize\": 4,\n \"listEdits\": [],\n \"filters\": [],\n \"commands\": [],\n \"id\": \"r_bewerbungenListView\",\n \"options\": {\n \"optionsName\": \"r_bewerbungenListViewOptions\",\n \"optionsNameFQ\": \"r_bewerbungenListViewOptions\"\n }\n });\n this.widgetCreator.addDataGrid(this, {\n \"columns\": [{\n \"id\": \"r_channelBezeichnung\",\n \"caption\": \"stelleninserat-ferial-edit.r_channelbezeichnung_caption\",\n \"bindTo\": \"Channel.Bezeichnung\",\n \"minWidth\": 100\n }, {\n \"id\": \"r_channelVeroeffentlichungtyp\",\n \"caption\": \"stelleninserat-ferial-edit.r_channelveroeffentlichungtyp_caption\",\n \"bindTo\": \"VeroeffentlichungTyp\",\n \"minWidth\": 100,\n \"enumTypeName\": \"TIP.ZIT.Business.Enumerations.VeroeffentlichungTypEnum\"\n }, {\n \"id\": \"r_channelBewerbungstyp\",\n \"caption\": \"stelleninserat-ferial-edit.r_channelbewerbungstyp_caption\",\n \"bindTo\": \"StelleninseratBewerbungstyp.Bezeichnung\",\n \"minWidth\": 100\n }],\n \"createToolbar\": true,\n \"optionsToolbar\": {\n \"optionsName\": \"r_StelleninseratKopfElementChannelGridToolbarOptions\",\n \"optionsNameFQ\": \"r_StelleninseratKopfElementChannelGridToolbarOptions\"\n },\n \"caption\": \"stelleninserat-ferial-edit.r_stelleninseratkopfelementchannelgrid_caption\",\n \"binding\": {\n \"dataContext\": \"$m_StelleninseratKopfElement\"\n },\n \"isRelation\": true,\n \"relationBinding\": {\n \"dataContext\": \"$m_StelleninseratKopfElementChannelRel\",\n \"bindTo\": \"IdStelleninseratKopfElement\",\n \"bindToFQ\": \"models.data.$m_StelleninseratKopfElementChannelRel.IdStelleninseratKopfElement\"\n },\n \"dataModel\": \"$m_StelleninseratKopfElement\",\n \"editDataContext\": \"$m_StelleninseratKopfElementChannelEdit\",\n \"idEditPopup\": \"stelleninseratKopfElementChannelEditPopup\",\n \"listEdits\": [],\n \"filters\": [],\n \"commands\": [],\n \"id\": \"r_StelleninseratKopfElementChannelGrid\",\n \"options\": {\n \"optionsName\": \"r_StelleninseratKopfElementChannelGridOptions\",\n \"optionsNameFQ\": \"r_StelleninseratKopfElementChannelGridOptions\"\n }\n });\n super.onConstructionFinished();\n }\n}","module.exports = \"\";","import * as fwx from \"../../../../framework/forms/form-export\";\n\n@fwx.autoinject\nexport class StelleninseratFerialFragebogenEinsatzbereichEditForm extends fwx.FormBase {\n constructor(\n element: Element,\n formBaseImport: fwx.FormBaseImport) {\n super(element, formBaseImport);\n this.id = \"stelleninserat-ferial-fragebogen-einsatzbereich-edit\";\n this.title = \"stelleninserat-ferial-fragebogen-einsatzbereich-edit.stelleninserat-ferial-fragebogen-einsatzbereich-edit_caption\";\n this.addModel({\n \"id\": \"$m_Einsatzbereich\",\n \"webApiAction\": \"ZIT/Objekte/StelleninseratFerialbewerbungFragebogenEinsatzbereich\",\n \"key\": \"variables.data.$id\",\n \"keyProperty\": \"Id\",\n \"postOnSave\": true,\n \"filters\": []\n });\n this.widgetCreator.addValidationGroup(this, {\n \"id\": \"wd1\",\n \"options\": {\n \"optionsName\": \"wd1Options\",\n \"optionsNameFQ\": \"wd1Options\"\n }\n });\n this.widgetCreator.addTextBox(this, {\n \"maxLength\": 100,\n \"caption\": \"stelleninserat-ferial-fragebogen-einsatzbereich-edit.r_einsatzbereich_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Einsatzbereich\",\n \"bindTo\": \"Einsatzbereich\",\n \"bindToFQ\": \"models.data.$m_Einsatzbereich.Einsatzbereich\"\n },\n \"validationRules\": [{\n \"item\": {\n \"type\": \"required\",\n \"parameters\": []\n }\n }],\n \"id\": \"r_einsatzbereich\",\n \"options\": {\n \"optionsName\": \"r_einsatzbereichOptions\",\n \"optionsNameFQ\": \"r_einsatzbereichOptions\"\n }\n });\n this.widgetCreator.addNumberBox(this, {\n \"showSpinButtons\": true,\n \"min\": 0.0,\n \"caption\": \"stelleninserat-ferial-fragebogen-einsatzbereich-edit.r_sortnr_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Einsatzbereich\",\n \"bindTo\": \"SortNr\",\n \"bindToFQ\": \"models.data.$m_Einsatzbereich.SortNr\"\n },\n \"validationRules\": [],\n \"id\": \"r_sortNr\",\n \"options\": {\n \"optionsName\": \"r_sortNrOptions\",\n \"optionsNameFQ\": \"r_sortNrOptions\"\n }\n });\n super.onConstructionFinished();\n }\n}","module.exports = \"\";","import * as fwx from \"../../../../framework/forms/form-export\";\nimport {\n StelleninseratGruppeEditUtils\n} from \"./stelleninserat-gruppe-edit-utils\";\n\n@fwx.autoinject\nexport class StelleninseratGruppeEditForm extends fwx.FormBase {\n constructor(\n element: Element,\n formBaseImport: fwx.FormBaseImport,\n private $f_StelleninseratGruppe: StelleninseratGruppeEditUtils) {\n super(element, formBaseImport);\n this.id = \"stelleninserat-gruppe-edit\";\n this.title = \"stelleninserat-gruppe-edit.stelleninserat-gruppe-edit_caption\";\n this.addModel({\n \"id\": \"$m_StelleninseratGruppe\",\n \"webApiAction\": \"ZIT/Objekte/StelleninseratGruppe\",\n \"key\": \"variables.data.$id\",\n \"keyProperty\": \"Id\",\n \"postOnSave\": true,\n \"filters\": []\n });\n this.addModel({\n \"id\": \"$m_StelleninseratGruppentyp\",\n \"webApiAction\": \"ZIT/Stammdaten/StelleninseratGruppentyp\",\n \"keyProperty\": \"Id\",\n \"filters\": []\n });\n this.addVariable({\n \"id\": \"$v_idGeschaeftspartner\"\n });\n this.addVariable({\n \"id\": \"$v_idStelleninserat\"\n });\n this.addVariable({\n \"id\": \"$id\"\n });\n this.addFunction(\"$f_StelleninseratGruppe\", $f_StelleninseratGruppe, \"functions.$f_StelleninseratGruppe\");\n this.widgetCreator.addValidationGroup(this, {\n \"id\": \"wd1\",\n \"options\": {\n \"optionsName\": \"wd1Options\",\n \"optionsNameFQ\": \"wd1Options\"\n }\n });\n this.widgetCreator.addSelectBox(this, {\n \"idSelect\": \"stelleninseratGruppentyp\",\n \"filter\": [\n [\"IdGeschaeftspartner\", \"null\"], \"or\", [\"IdGeschaeftspartner\", {\n \"isBound\": true,\n \"expression\": \"variables.data.$v_idGeschaeftspartner\"\n }]\n ],\n \"filters\": [],\n \"caption\": \"stelleninserat-gruppe-edit.r_gruppentypauswahl_caption\",\n \"binding\": {\n \"dataContext\": \"$m_StelleninseratGruppe\",\n \"bindTo\": \"IdStelleninseratGruppentyp\",\n \"bindToFQ\": \"models.data.$m_StelleninseratGruppe.IdStelleninseratGruppentyp\"\n },\n \"validationRules\": [{\n \"item\": {\n \"type\": \"required\",\n \"parameters\": []\n }\n }],\n \"id\": \"r_gruppenTypAuswahl\",\n \"options\": {\n \"optionsName\": \"r_gruppenTypAuswahlOptions\",\n \"optionsNameFQ\": \"r_gruppenTypAuswahlOptions\"\n }\n });\n this.widgetCreator.addTextArea(this, {\n \"height\": \"80px\",\n \"maxLength\": 1000,\n \"caption\": \"stelleninserat-gruppe-edit.r_text_caption\",\n \"binding\": {\n \"dataContext\": \"$m_StelleninseratGruppe\",\n \"bindTo\": \"Text\",\n \"bindToFQ\": \"models.data.$m_StelleninseratGruppe.Text\"\n },\n \"validationRules\": [{\n \"item\": {\n \"type\": \"required\",\n \"parameters\": []\n }\n }],\n \"id\": \"r_text\",\n \"options\": {\n \"optionsName\": \"r_textOptions\",\n \"optionsNameFQ\": \"r_textOptions\"\n }\n });\n this.widgetCreator.addNumberBox(this, {\n \"showSpinButtons\": true,\n \"min\": 0.0,\n \"caption\": \"stelleninserat-gruppe-edit.r_sortnr_caption\",\n \"binding\": {\n \"dataContext\": \"$m_StelleninseratGruppe\",\n \"bindTo\": \"SortNr\",\n \"bindToFQ\": \"models.data.$m_StelleninseratGruppe.SortNr\"\n },\n \"validationRules\": [],\n \"id\": \"r_sortNr\",\n \"options\": {\n \"optionsName\": \"r_sortNrOptions\",\n \"optionsNameFQ\": \"r_sortNrOptions\"\n }\n });\n super.onConstructionFinished();\n }\n}","module.exports = \"\";","import * as fwx from \"../../../../framework/forms/form-export\";\nimport {\n StelleninseratEditUtils\n} from \"./stelleninserat-edit-utils\";\nimport {\n StelleninseratLehreKundePackageEditUtils\n} from \"./stelleninserat-lehre-kunde-package-edit-utils\";\n\n@fwx.autoinject\nexport class StelleninseratHeartbaseEditForm extends fwx.FormBase {\n constructor(\n element: Element,\n formBaseImport: fwx.FormBaseImport,\n private $f_Stelleninserat: StelleninseratEditUtils,\n private $f_StelleninseratLehreKundePackage: StelleninseratLehreKundePackageEditUtils) {\n super(element, formBaseImport);\n this.id = \"stelleninserat-heartbase-edit\";\n this.title = \"stelleninserat-heartbase-edit.stelleninserat-heartbase-edit_caption\";\n this.addModel({\n \"id\": \"$m_Stelleninserat\",\n \"webApiAction\": \"ZIT/Objekte/Stelleninserat\",\n \"webApiExpand\": {\n 'Kopf': {\n 'expand': {\n 'TextKopfzeile1': null,\n 'TextFusszeile1': null,\n 'StelleninseratTrainer': {\n 'expand': {\n 'Ansprechperson': null\n }\n },\n 'Geschaeftspartner': {\n 'expand': {\n 'Geschaeftspartnerdaten': null\n }\n }\n }\n },\n 'FerialeinsatzEinstellungen': null,\n 'FerialbewerbungFragebogen': null\n },\n \"modificationInfoEnabled\": true,\n \"key\": \"variables.data.$id\",\n \"keyProperty\": \"Id\",\n \"postOnSave\": true,\n \"filters\": [{\n \"webApiCustomKey\": \"BewerbungInfo\",\n \"webApiCustomValue\": \"true\"\n }, {\n \"webApiCustomKey\": \"ProfilFirmaInfo\",\n \"webApiCustomValue\": \"true\"\n }, {\n \"webApiCustomKey\": \"StelleninseratVorschauUrl\",\n \"webApiCustomValue\": \"true\"\n }]\n });\n this.addModel({\n \"id\": \"$m_StelleninseratKopfElement\",\n \"webApiAction\": \"ZIT/Objekte/StelleninseratKopfElement\",\n \"webApiColumns\": ['Id'],\n \"key\": \"models.data.$m_Stelleninserat.IdStelleninseratKopfElement\",\n \"keyProperty\": \"Id\",\n \"filters\": []\n });\n this.addModel({\n \"id\": \"$m_StelleninseratGruppeRel\",\n \"webApiAction\": \"ZIT/Objekte/StelleninseratGruppe\",\n \"webApiColumns\": [\"Id\", \"SortNr\", \"Text\", \"IdStelleninseratGruppentyp\"],\n \"webApiExpand\": {\n 'Gruppentyp': null\n },\n \"webApiOrderBy\": [{\n \"columnName\": \"GruppentypSortNr\",\n \"sortOrder\": 0\n }, {\n \"columnName\": \"GruppentypBezeichnung\",\n \"sortOrder\": 0\n }, {\n \"columnName\": \"SortNr\",\n \"sortOrder\": 0\n }, {\n \"columnName\": \"Text\",\n \"sortOrder\": 0\n }],\n \"keyProperty\": \"Id\",\n \"filters\": []\n });\n this.addModel({\n \"id\": \"$m_StelleninseratGruppeEdit\",\n \"webApiAction\": \"ZIT/Objekte/StelleninseratGruppe\",\n \"webApiExpand\": {\n 'Gruppentyp': null\n },\n \"keyProperty\": \"Id\",\n \"filters\": []\n });\n this.addModel({\n \"id\": \"$m_StelleninseratGruppeElement\",\n \"webApiAction\": \"ZIT/Objekte/StelleninseratGruppeElement\",\n \"key\": \"models.data.$m_Stelleninserat.IdStelleninseratGruppeElement\",\n \"keyProperty\": \"Id\",\n \"filters\": []\n });\n this.addModel({\n \"id\": \"$m_Bewerbung\",\n \"webApiAction\": \"ZIT/Objekte/Bewerbung\",\n \"webApiColumns\": [\"Id\"],\n \"webApiWhere\": [\"Kopf.IdStelleninserat\", {\n \"isBound\": true,\n \"expression\": \"models.data.$m_Stelleninserat.Id\"\n }],\n \"modificationInfoEnabled\": true,\n \"keyProperty\": \"Id\",\n \"filters\": [{\n \"webApiCustomKey\": \"AddBewerbungCard\",\n \"webApiCustomValue\": \"true\"\n }]\n });\n this.addModel({\n \"id\": \"$m_Bewerbungstyp\",\n \"webApiAction\": \"ZIT/Stammdaten/StelleninseratBewerbungstyp\",\n \"key\": \"models.data.$m_Stelleninserat.Kopf.IdBewerbungstyp\",\n \"keyProperty\": \"Id\",\n \"filters\": []\n });\n this.addModel({\n \"id\": \"$m_StelleninseratKlasseRel\",\n \"webApiAction\": \"ZIT/Objekte/StelleninseratKlasse\",\n \"keyProperty\": \"Id\",\n \"filters\": []\n });\n this.addModel({\n \"id\": \"$m_StelleninseratKlasseEdit\",\n \"webApiAction\": \"ZIT/Objekte/StelleninseratKlasse\",\n \"keyProperty\": \"Id\",\n \"filters\": []\n });\n this.addCommand({\n \"binding\": {\n \"bindTo\": \"$f_Stelleninserat.actionCommand\",\n \"bindToFQ\": \"functions.$f_Stelleninserat.actionCommand\"\n }\n });\n this.addEditPopup({\n \"idContent\": \"stelleninseratGruppeEditPopupContent\",\n \"mappings\": [{\n \"to\": \"$id\",\n \"binding\": {\n \"dataContext\": \"$m_StelleninseratGruppeEdit\",\n \"bindTo\": \"Id\",\n \"bindToFQ\": \"models.data.$m_StelleninseratGruppeEdit.Id\"\n }\n }, {\n \"to\": \"$v_idGeschaeftspartner\",\n \"binding\": {\n \"dataContext\": \"$m_Stelleninserat\",\n \"bindTo\": \"Kopf.IdGeschaeftspartner\",\n \"bindToFQ\": \"models.data.$m_Stelleninserat.Kopf.IdGeschaeftspartner\",\n \"propertyPrefix\": \"Kopf\"\n }\n }, {\n \"to\": \"$v_idStelleninserat\",\n \"binding\": {\n \"dataContext\": \"$m_Stelleninserat\",\n \"bindTo\": \"Id\",\n \"bindToFQ\": \"models.data.$m_Stelleninserat.Id\"\n }\n }],\n \"id\": \"stelleninseratGruppeEditPopup\",\n \"options\": {\n \"optionsName\": \"stelleninseratGruppeEditPopupOptions\",\n \"optionsNameFQ\": \"stelleninseratGruppeEditPopupOptions\"\n },\n \"caption\": \"stelleninserat-heartbase-edit.stelleninseratgruppeeditpopup_caption\",\n \"height\": \"auto\",\n \"width\": \"500px\",\n \"commands\": []\n });\n this.addEditPopup({\n \"idContent\": \"stelleninseratLehreKlasseEditPopupContent\",\n \"mappings\": [{\n \"to\": \"$id\",\n \"binding\": {\n \"dataContext\": \"$m_StelleninseratKlasseEdit\",\n \"bindTo\": \"Id\",\n \"bindToFQ\": \"models.data.$m_StelleninseratKlasseEdit.Id\"\n }\n }],\n \"id\": \"stelleninseratLehreKlasseEditPopup\",\n \"options\": {\n \"optionsName\": \"stelleninseratLehreKlasseEditPopupOptions\",\n \"optionsNameFQ\": \"stelleninseratLehreKlasseEditPopupOptions\"\n },\n \"height\": \"auto\",\n \"width\": \"500px\",\n \"commands\": []\n });\n this.addFunction(\"$f_Stelleninserat\", $f_Stelleninserat, \"functions.$f_Stelleninserat\");\n this.addFunction(\"$f_StelleninseratLehreKundePackage\", $f_StelleninseratLehreKundePackage, \"functions.$f_StelleninseratLehreKundePackage\");\n this.widgetCreator.addValidationGroup(this, {\n \"id\": \"wd1\",\n \"options\": {\n \"optionsName\": \"wd1Options\",\n \"optionsNameFQ\": \"wd1Options\"\n }\n });\n this.widgetCreator.addLookup(this, {\n \"idSelect\": \"geschaeftspartner\",\n \"filters\": [],\n \"caption\": \"stelleninserat-heartbase-edit.r_geschaeftspartner_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Stelleninserat\",\n \"bindTo\": \"Kopf.IdGeschaeftspartner\",\n \"bindToFQ\": \"models.data.$m_Stelleninserat.Kopf.IdGeschaeftspartner\",\n \"propertyPrefix\": \"Kopf\"\n },\n \"validationRules\": [{\n \"item\": {\n \"type\": \"required\",\n \"parameters\": []\n }\n }],\n \"id\": \"r_geschaeftspartner\",\n \"options\": {\n \"optionsName\": \"r_geschaeftspartnerOptions\",\n \"optionsNameFQ\": \"r_geschaeftspartnerOptions\"\n }\n });\n this.widgetCreator.addTextBox(this, {\n \"maxLength\": 250,\n \"caption\": \"stelleninserat-heartbase-edit.r_stellenbezeichnungextern_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Stelleninserat\",\n \"bindTo\": \"Kopf.StellenbezeichnungExtern\",\n \"bindToFQ\": \"models.data.$m_Stelleninserat.Kopf.StellenbezeichnungExtern\",\n \"propertyPrefix\": \"Kopf\"\n },\n \"validationRules\": [{\n \"item\": {\n \"type\": \"required\",\n \"parameters\": []\n }\n }],\n \"id\": \"r_stellenbezeichnungExtern\",\n \"options\": {\n \"optionsName\": \"r_stellenbezeichnungExternOptions\",\n \"optionsNameFQ\": \"r_stellenbezeichnungExternOptions\"\n }\n });\n this.widgetCreator.addLookup(this, {\n \"idSelect\": \"ansprechperson\",\n \"customs\": [{\n \"key\": \"IdGeschaeftspartner\",\n \"value\": \"models.data.$m_Stelleninserat.Kopf.IdGeschaeftspartner\"\n }],\n \"filters\": [],\n \"caption\": \"stelleninserat-heartbase-edit.ansprechpersonselect_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Stelleninserat\",\n \"bindTo\": \"Kopf.IdAnsprechperson\",\n \"bindToFQ\": \"models.data.$m_Stelleninserat.Kopf.IdAnsprechperson\",\n \"propertyPrefix\": \"Kopf\"\n },\n \"validationRules\": [],\n \"id\": \"ansprechpersonSelect\",\n \"options\": {\n \"optionsName\": \"ansprechpersonSelectOptions\",\n \"optionsNameFQ\": \"ansprechpersonSelectOptions\"\n }\n });\n this.widgetCreator.addLookup(this, {\n \"idSelect\": \"geschaeftspartner\",\n \"filters\": [],\n \"caption\": \"stelleninserat-heartbase-edit.r_geschaeftspartnernopackage_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Stelleninserat\",\n \"bindTo\": \"Kopf.IdGeschaeftspartner\",\n \"bindToFQ\": \"models.data.$m_Stelleninserat.Kopf.IdGeschaeftspartner\",\n \"propertyPrefix\": \"Kopf\"\n },\n \"validationRules\": [{\n \"binding\": {\n \"dataContext\": \"$m_Stelleninserat\",\n \"bindTo\": \"$f_Stelleninserat.keinPackageRule\",\n \"bindToFQ\": \"functions.$f_Stelleninserat.keinPackageRule\"\n }\n }, {\n \"item\": {\n \"type\": \"required\",\n \"parameters\": []\n }\n }],\n \"id\": \"r_geschaeftspartnerNoPackage\",\n \"options\": {\n \"optionsName\": \"r_geschaeftspartnerNoPackageOptions\",\n \"optionsNameFQ\": \"r_geschaeftspartnerNoPackageOptions\"\n }\n });\n this.widgetCreator.addFileUploaderWithViewer(this, {\n \"acceptTypeEnum\": 0,\n \"acceptType\": \"image/*\",\n \"placeholderImageExpression\": \"models.data.$m_Stelleninserat.Kopf.DMSLinkStandardBild\",\n \"placeholderImageText\": \"Standardbild laut Lehrberuf\",\n \"height\": \"250px\",\n \"showToolbar\": true,\n \"showClearButton\": false,\n \"caption\": \"stelleninserat-heartbase-edit.r_dmslinkbild_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Stelleninserat\",\n \"bindTo\": \"Kopf.DMSLinkBild\",\n \"bindToFQ\": \"models.data.$m_Stelleninserat.Kopf.DMSLinkBild\",\n \"propertyPrefix\": \"Kopf\"\n },\n \"validationRules\": [],\n \"id\": \"r_dmslinkBild\",\n \"options\": {\n \"optionsName\": \"r_dmslinkBildOptions\",\n \"optionsNameFQ\": \"r_dmslinkBildOptions\"\n }\n });\n this.widgetCreator.addTextBox(this, {\n \"maxLength\": 250,\n \"caption\": \"stelleninserat-heartbase-edit.r_standort_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Stelleninserat\",\n \"bindTo\": \"Kopf.Standort\",\n \"bindToFQ\": \"models.data.$m_Stelleninserat.Kopf.Standort\",\n \"propertyPrefix\": \"Kopf\"\n },\n \"validationRules\": [],\n \"id\": \"r_standort\",\n \"options\": {\n \"optionsName\": \"r_standortOptions\",\n \"optionsNameFQ\": \"r_standortOptions\"\n }\n });\n this.widgetCreator.addTextBox(this, {\n \"maxLength\": 500,\n \"caption\": \"stelleninserat-heartbase-edit.r_googlekarteadresse_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Stelleninserat\",\n \"bindTo\": \"Kopf.GoogleKartenAdresse\",\n \"bindToFQ\": \"models.data.$m_Stelleninserat.Kopf.GoogleKartenAdresse\",\n \"propertyPrefix\": \"Kopf\"\n },\n \"validationRules\": [],\n \"id\": \"r_googleKarteAdresse\",\n \"options\": {\n \"optionsName\": \"r_googleKarteAdresseOptions\",\n \"optionsNameFQ\": \"r_googleKarteAdresseOptions\"\n }\n });\n this.widgetCreator.addSelectBox(this, {\n \"idSelect\": \"stelleninseratBewerbungstyp\",\n \"filter\": [\n [\"IdGeschaeftspartner\", \"null\"], \"or\", [\"IdGeschaeftspartner\", {\n \"isBound\": true,\n \"expression\": \"models.data.$m_Stelleninserat.Kopf.IdGeschaeftspartner\"\n }]\n ],\n \"customs\": [{\n \"key\": \"IdGeschaeftspartner\",\n \"value\": \"models.data.$m_Stelleninserat.Kopf.IdGeschaeftspartner\"\n }, {\n \"key\": \"CheckBenutzerrolle\",\n \"value\": \"true\"\n }],\n \"filters\": [],\n \"caption\": \"stelleninserat-heartbase-edit.r_bewerbungstyp_caption\",\n \"placeholder\": \"stelleninserat-heartbase-edit.r_bewerbungstyp_placeholder\",\n \"binding\": {\n \"dataContext\": \"$m_Stelleninserat\",\n \"bindTo\": \"Kopf.IdBewerbungstyp\",\n \"bindToFQ\": \"models.data.$m_Stelleninserat.Kopf.IdBewerbungstyp\",\n \"propertyPrefix\": \"Kopf\"\n },\n \"validationRules\": [{\n \"item\": {\n \"type\": \"required\",\n \"parameters\": []\n }\n }],\n \"id\": \"r_bewerbungstyp\",\n \"options\": {\n \"optionsName\": \"r_bewerbungstypOptions\",\n \"optionsNameFQ\": \"r_bewerbungstypOptions\"\n }\n });\n this.widgetCreator.addRadioGroup(this, {\n \"idSelect\": \"pflichtfeld\",\n \"filters\": [],\n \"caption\": \"stelleninserat-heartbase-edit.r_lebenslaufanfragen_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Stelleninserat\",\n \"bindTo\": \"FerialbewerbungFragebogen.LebenslaufAnfragen\",\n \"bindToFQ\": \"models.data.$m_Stelleninserat.FerialbewerbungFragebogen.LebenslaufAnfragen\",\n \"propertyPrefix\": \"FerialbewerbungFragebogen\"\n },\n \"validationRules\": [],\n \"id\": \"r_lebenslaufAnfragen\",\n \"options\": {\n \"optionsName\": \"r_lebenslaufAnfragenOptions\",\n \"optionsNameFQ\": \"r_lebenslaufAnfragenOptions\"\n }\n });\n this.widgetCreator.addRadioGroup(this, {\n \"idSelect\": \"pflichtfeld\",\n \"filters\": [],\n \"caption\": \"stelleninserat-heartbase-edit.r_anschreibenanfragen_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Stelleninserat\",\n \"bindTo\": \"FerialbewerbungFragebogen.AnschreibenAnfragen\",\n \"bindToFQ\": \"models.data.$m_Stelleninserat.FerialbewerbungFragebogen.AnschreibenAnfragen\",\n \"propertyPrefix\": \"FerialbewerbungFragebogen\"\n },\n \"validationRules\": [],\n \"id\": \"r_anschreibenAnfragen\",\n \"options\": {\n \"optionsName\": \"r_anschreibenAnfragenOptions\",\n \"optionsNameFQ\": \"r_anschreibenAnfragenOptions\"\n }\n });\n this.widgetCreator.addRadioGroup(this, {\n \"idSelect\": \"pflichtfeld\",\n \"filters\": [],\n \"caption\": \"stelleninserat-heartbase-edit.r_zeugnisanfragen_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Stelleninserat\",\n \"bindTo\": \"FerialbewerbungFragebogen.LetztesZeugnisAnfragen\",\n \"bindToFQ\": \"models.data.$m_Stelleninserat.FerialbewerbungFragebogen.LetztesZeugnisAnfragen\",\n \"propertyPrefix\": \"FerialbewerbungFragebogen\"\n },\n \"validationRules\": [],\n \"id\": \"r_zeugnisAnfragen\",\n \"options\": {\n \"optionsName\": \"r_zeugnisAnfragenOptions\",\n \"optionsNameFQ\": \"r_zeugnisAnfragenOptions\"\n }\n });\n this.widgetCreator.addRadioGroup(this, {\n \"idSelect\": \"pflichtfeld\",\n \"filters\": [],\n \"caption\": \"stelleninserat-heartbase-edit.r_reisepassausweisanfragen_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Stelleninserat\",\n \"bindTo\": \"FerialbewerbungFragebogen.ReisepassAusweisAnfragen\",\n \"bindToFQ\": \"models.data.$m_Stelleninserat.FerialbewerbungFragebogen.ReisepassAusweisAnfragen\",\n \"propertyPrefix\": \"FerialbewerbungFragebogen\"\n },\n \"validationRules\": [],\n \"id\": \"r_reisepassAusweisAnfragen\",\n \"options\": {\n \"optionsName\": \"r_reisepassAusweisAnfragenOptions\",\n \"optionsNameFQ\": \"r_reisepassAusweisAnfragenOptions\"\n }\n });\n this.widgetCreator.addRadioGroup(this, {\n \"idSelect\": \"pflichtfeld\",\n \"filters\": [],\n \"caption\": \"stelleninserat-heartbase-edit.r_schnuppertermineanzeigen_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Stelleninserat\",\n \"bindTo\": \"Kopf.SchnuppertermineAnzeigen\",\n \"bindToFQ\": \"models.data.$m_Stelleninserat.Kopf.SchnuppertermineAnzeigen\",\n \"propertyPrefix\": \"Kopf\"\n },\n \"validationRules\": [],\n \"id\": \"r_schnuppertermineAnzeigen\",\n \"options\": {\n \"optionsName\": \"r_schnuppertermineAnzeigenOptions\",\n \"optionsNameFQ\": \"r_schnuppertermineAnzeigenOptions\"\n }\n });\n this.widgetCreator.addCheckBox(this, {\n \"caption\": \"stelleninserat-heartbase-edit.r_stelleninserataktiv_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Stelleninserat\",\n \"bindTo\": \"Kopf.IsAktiv\",\n \"bindToFQ\": \"models.data.$m_Stelleninserat.Kopf.IsAktiv\",\n \"propertyPrefix\": \"Kopf\"\n },\n \"validationRules\": [],\n \"id\": \"r_stelleninseratAktiv\",\n \"options\": {\n \"optionsName\": \"r_stelleninseratAktivOptions\",\n \"optionsNameFQ\": \"r_stelleninseratAktivOptions\"\n }\n });\n this.widgetCreator.addSelectBox(this, {\n \"idSelect\": \"veroeffentlichungTyp\",\n \"filters\": [],\n \"caption\": \"stelleninserat-heartbase-edit.r_veroeffentlichentyp_caption\",\n \"isReadOnly\": true,\n \"binding\": {\n \"dataContext\": \"$m_Stelleninserat\",\n \"bindTo\": \"VeroeffentlichungTyp\",\n \"bindToFQ\": \"models.data.$m_Stelleninserat.VeroeffentlichungTyp\"\n },\n \"validationRules\": [],\n \"id\": \"r_veroeffentlichenTyp\",\n \"options\": {\n \"optionsName\": \"r_veroeffentlichenTypOptions\",\n \"optionsNameFQ\": \"r_veroeffentlichenTypOptions\"\n }\n });\n this.widgetCreator.addTextBox(this, {\n \"maxLength\": 250,\n \"caption\": \"stelleninserat-heartbase-edit.r_stellenbezeichnungintern_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Stelleninserat\",\n \"bindTo\": \"Kopf.StellenbezeichnungIntern\",\n \"bindToFQ\": \"models.data.$m_Stelleninserat.Kopf.StellenbezeichnungIntern\",\n \"propertyPrefix\": \"Kopf\"\n },\n \"validationRules\": [],\n \"id\": \"r_stellenbezeichnungIntern\",\n \"options\": {\n \"optionsName\": \"r_stellenbezeichnungInternOptions\",\n \"optionsNameFQ\": \"r_stellenbezeichnungInternOptions\"\n }\n });\n this.widgetCreator.addDateBox(this, {\n \"format\": \"d\",\n \"caption\": \"stelleninserat-heartbase-edit.r_gueltigvon_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Stelleninserat\",\n \"bindTo\": \"Kopf.GueltigVon\",\n \"bindToFQ\": \"models.data.$m_Stelleninserat.Kopf.GueltigVon\",\n \"propertyPrefix\": \"Kopf\"\n },\n \"validationRules\": [{\n \"item\": {\n \"type\": \"required\",\n \"parameters\": []\n }\n }],\n \"id\": \"r_gueltigVon\",\n \"options\": {\n \"optionsName\": \"r_gueltigVonOptions\",\n \"optionsNameFQ\": \"r_gueltigVonOptions\"\n }\n });\n this.widgetCreator.addDateBox(this, {\n \"format\": \"d\",\n \"caption\": \"stelleninserat-heartbase-edit.r_gueltigbis_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Stelleninserat\",\n \"bindTo\": \"Kopf.GueltigBis\",\n \"bindToFQ\": \"models.data.$m_Stelleninserat.Kopf.GueltigBis\",\n \"propertyPrefix\": \"Kopf\"\n },\n \"validationRules\": [{\n \"item\": {\n \"type\": \"required\",\n \"parameters\": []\n }\n }],\n \"id\": \"r_gueltigBis\",\n \"options\": {\n \"optionsName\": \"r_gueltigBisOptions\",\n \"optionsNameFQ\": \"r_gueltigBisOptions\"\n }\n });\n this.widgetCreator.addDateBox(this, {\n \"format\": \"d\",\n \"caption\": \"stelleninserat-heartbase-edit.r_bewerbungvon_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Stelleninserat\",\n \"bindTo\": \"FerialeinsatzEinstellungen.BewerbungOnlineVon\",\n \"bindToFQ\": \"models.data.$m_Stelleninserat.FerialeinsatzEinstellungen.BewerbungOnlineVon\",\n \"propertyPrefix\": \"FerialeinsatzEinstellungen\"\n },\n \"validationRules\": [{\n \"binding\": {\n \"dataContext\": \"$m_Stelleninserat\",\n \"bindTo\": \"$f_Stelleninserat.bewerbungVonValidationRule\",\n \"bindToFQ\": \"functions.$f_Stelleninserat.bewerbungVonValidationRule\"\n }\n }],\n \"id\": \"r_bewerbungVon\",\n \"options\": {\n \"optionsName\": \"r_bewerbungVonOptions\",\n \"optionsNameFQ\": \"r_bewerbungVonOptions\"\n }\n });\n this.widgetCreator.addDateBox(this, {\n \"format\": \"d\",\n \"caption\": \"stelleninserat-heartbase-edit.r_bewerbungbis_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Stelleninserat\",\n \"bindTo\": \"FerialeinsatzEinstellungen.BewerbungOnlineBis\",\n \"bindToFQ\": \"models.data.$m_Stelleninserat.FerialeinsatzEinstellungen.BewerbungOnlineBis\",\n \"propertyPrefix\": \"FerialeinsatzEinstellungen\"\n },\n \"validationRules\": [{\n \"binding\": {\n \"dataContext\": \"$m_Stelleninserat\",\n \"bindTo\": \"$f_Stelleninserat.bewerbungBisValidationRule\",\n \"bindToFQ\": \"functions.$f_Stelleninserat.bewerbungBisValidationRule\"\n }\n }],\n \"id\": \"r_bewerbungBis\",\n \"options\": {\n \"optionsName\": \"r_bewerbungBisOptions\",\n \"optionsNameFQ\": \"r_bewerbungBisOptions\"\n }\n });\n this.widgetCreator.addRadioGroup(this, {\n \"idSelect\": \"pflichtfeld\",\n \"filters\": [],\n \"caption\": \"stelleninserat-heartbase-edit.r_bisherigeberufserfahrung_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Stelleninserat\",\n \"bindTo\": \"FerialbewerbungFragebogen.BisherigeBerufserfahrungAnfragen\",\n \"bindToFQ\": \"models.data.$m_Stelleninserat.FerialbewerbungFragebogen.BisherigeBerufserfahrungAnfragen\",\n \"propertyPrefix\": \"FerialbewerbungFragebogen\"\n },\n \"validationRules\": [],\n \"id\": \"r_bisherigeBerufserfahrung\",\n \"options\": {\n \"optionsName\": \"r_bisherigeBerufserfahrungOptions\",\n \"optionsNameFQ\": \"r_bisherigeBerufserfahrungOptions\"\n }\n });\n this.widgetCreator.addRadioGroup(this, {\n \"idSelect\": \"pflichtfeld\",\n \"filters\": [],\n \"caption\": \"stelleninserat-heartbase-edit.r_fuehrerscheinundmobilitaet_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Stelleninserat\",\n \"bindTo\": \"FerialbewerbungFragebogen.FuehrerscheinUndMobilitaetAnfragen\",\n \"bindToFQ\": \"models.data.$m_Stelleninserat.FerialbewerbungFragebogen.FuehrerscheinUndMobilitaetAnfragen\",\n \"propertyPrefix\": \"FerialbewerbungFragebogen\"\n },\n \"validationRules\": [],\n \"id\": \"r_fuehrerscheinUndMobilitaet\",\n \"options\": {\n \"optionsName\": \"r_fuehrerscheinUndMobilitaetOptions\",\n \"optionsNameFQ\": \"r_fuehrerscheinUndMobilitaetOptions\"\n }\n });\n this.widgetCreator.addRadioGroup(this, {\n \"idSelect\": \"pflichtfeld\",\n \"filters\": [],\n \"caption\": \"stelleninserat-heartbase-edit.r_sprachkenntnisse_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Stelleninserat\",\n \"bindTo\": \"FerialbewerbungFragebogen.SprachKenntnisseAnfragen\",\n \"bindToFQ\": \"models.data.$m_Stelleninserat.FerialbewerbungFragebogen.SprachKenntnisseAnfragen\",\n \"propertyPrefix\": \"FerialbewerbungFragebogen\"\n },\n \"validationRules\": [],\n \"id\": \"r_sprachKenntnisse\",\n \"options\": {\n \"optionsName\": \"r_sprachKenntnisseOptions\",\n \"optionsNameFQ\": \"r_sprachKenntnisseOptions\"\n }\n });\n this.widgetCreator.addRadioGroup(this, {\n \"idSelect\": \"pflichtfeld\",\n \"filters\": [],\n \"caption\": \"stelleninserat-heartbase-edit.r_ausbildung_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Stelleninserat\",\n \"bindTo\": \"FerialbewerbungFragebogen.AusbildungAnfragen\",\n \"bindToFQ\": \"models.data.$m_Stelleninserat.FerialbewerbungFragebogen.AusbildungAnfragen\",\n \"propertyPrefix\": \"FerialbewerbungFragebogen\"\n },\n \"validationRules\": [],\n \"id\": \"r_ausbildung\",\n \"options\": {\n \"optionsName\": \"r_ausbildungOptions\",\n \"optionsNameFQ\": \"r_ausbildungOptions\"\n }\n });\n this.widgetCreator.addRadioGroup(this, {\n \"idSelect\": \"pflichtfeld\",\n \"filters\": [],\n \"caption\": \"stelleninserat-heartbase-edit.r_staplerfuehrerschein_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Stelleninserat\",\n \"bindTo\": \"FerialbewerbungFragebogen.StaplerFuehrerscheinAnfragen\",\n \"bindToFQ\": \"models.data.$m_Stelleninserat.FerialbewerbungFragebogen.StaplerFuehrerscheinAnfragen\",\n \"propertyPrefix\": \"FerialbewerbungFragebogen\"\n },\n \"validationRules\": [],\n \"id\": \"r_staplerfuehrerschein\",\n \"options\": {\n \"optionsName\": \"r_staplerfuehrerscheinOptions\",\n \"optionsNameFQ\": \"r_staplerfuehrerscheinOptions\"\n }\n });\n this.widgetCreator.addListView(this, {\n \"itemClass\": \"z--list-view-inline-item\",\n \"useDefaultListItemStyle\": false,\n \"createToolbar\": true,\n \"optionsToolbar\": {\n \"optionsName\": \"r_stelleninseratKlasseListViewToolbarOptions\",\n \"optionsNameFQ\": \"r_stelleninseratKlasseListViewToolbarOptions\"\n },\n \"caption\": \"stelleninserat-heartbase-edit.r_stelleninseratklasselistview_caption\",\n \"binding\": {\n \"dataContext\": \"$m_StelleninseratKopfElement\"\n },\n \"isRelation\": true,\n \"relationBinding\": {\n \"dataContext\": \"$m_StelleninseratKlasseRel\",\n \"bindTo\": \"IdStelleninseratKopfElement\",\n \"bindToFQ\": \"models.data.$m_StelleninseratKlasseRel.IdStelleninseratKopfElement\"\n },\n \"dataModel\": \"$m_StelleninseratKopfElement\",\n \"editDataContext\": \"$m_StelleninseratKlasseEdit\",\n \"idEditPopup\": \"stelleninseratLehreKlasseEditPopup\",\n \"listEdits\": [],\n \"filters\": [],\n \"commands\": [],\n \"id\": \"r_stelleninseratKlasseListView\",\n \"options\": {\n \"optionsName\": \"r_stelleninseratKlasseListViewOptions\",\n \"optionsNameFQ\": \"r_stelleninseratKlasseListViewOptions\"\n }\n });\n this.widgetCreator.addListView(this, {\n \"itemClass\": \"col-xs-12 col-sm-6\",\n \"useDefaultListItemStyle\": false,\n \"createToolbar\": true,\n \"optionsToolbar\": {\n \"optionsName\": \"r_bewerbungenListViewToolbarOptions\",\n \"optionsNameFQ\": \"r_bewerbungenListViewToolbarOptions\"\n },\n \"caption\": \"stelleninserat-heartbase-edit.r_bewerbungenlistview_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Bewerbung\"\n },\n \"dataModel\": \"$m_Bewerbung\",\n \"pageSize\": 4,\n \"listEdits\": [],\n \"filters\": [],\n \"commands\": [],\n \"id\": \"r_bewerbungenListView\",\n \"options\": {\n \"optionsName\": \"r_bewerbungenListViewOptions\",\n \"optionsNameFQ\": \"r_bewerbungenListViewOptions\"\n }\n });\n super.onConstructionFinished();\n }\n}","module.exports = \"\";","import * as fwx from \"../../../../framework/forms/form-export\";\nimport {\n StelleninseratKopfElementChannelEditUtils\n} from \"./stelleninserat-kopf-element-channel-edit-utils\";\n\n@fwx.autoinject\nexport class StelleninseratKopfElementChannelEditForm extends fwx.FormBase {\n constructor(\n element: Element,\n formBaseImport: fwx.FormBaseImport,\n private $f_StelleninseratKopfElementZuChannel: StelleninseratKopfElementChannelEditUtils) {\n super(element, formBaseImport);\n this.id = \"stelleninserat-kopf-element-channel-edit\";\n this.title = \"stelleninserat-kopf-element-channel-edit.stelleninserat-kopf-element-channel-edit_caption\";\n this.addModel({\n \"id\": \"$m_StelleninseratKopfElementZuChannel\",\n \"webApiAction\": \"ZIT/Objekte/StelleninseratKopfElementZuChannel\",\n \"key\": \"variables.data.$id\",\n \"keyProperty\": \"Id\",\n \"postOnSave\": true,\n \"allowNew\": \"functions.$f_StelleninseratKopfElementZuChannel.canModifyChannel\",\n \"allowSave\": \"functions.$f_StelleninseratKopfElementZuChannel.canModifyChannel\",\n \"allowDelete\": \"functions.$f_StelleninseratKopfElementZuChannel.canModifyChannel\",\n \"filters\": []\n });\n this.addModel({\n \"id\": \"$m_StelleninseratBewerbungstyp\",\n \"webApiAction\": \"ZIT/Stammdaten/StelleninseratBewerbungstyp\",\n \"keyProperty\": \"Id\",\n \"filters\": []\n });\n this.addFunction(\"$f_StelleninseratKopfElementZuChannel\", $f_StelleninseratKopfElementZuChannel, \"functions.$f_StelleninseratKopfElementZuChannel\");\n this.widgetCreator.addValidationGroup(this, {\n \"id\": \"wd1\",\n \"options\": {\n \"optionsName\": \"wd1Options\",\n \"optionsNameFQ\": \"wd1Options\"\n }\n });\n this.widgetCreator.addSelectBox(this, {\n \"idSelect\": \"channel\",\n \"filter\": [\n [\"GueltigVon\", \"<=\", \"@Today()\"],\n [\"GueltigBis\", \">=\", \"@Today()\"]\n ],\n \"filters\": [{\n \"webApiCustomKey\": \"IdStelleninseratKopfElement\",\n \"webApiCustomValue\": \"models.data.$m_StelleninseratKopfElementZuChannel.IdStelleninseratKopfElement\"\n }, {\n \"webApiCustomKey\": \"IdStelleninseratKopfElement\",\n \"webApiCustomValue\": \"models.data.$m_StelleninseratKopfElementZuChannel.IdStelleninseratKopfElement\"\n }],\n \"caption\": \"stelleninserat-kopf-element-channel-edit.r_stelleninseratkopfelementzuchannelchannel_caption\",\n \"binding\": {\n \"dataContext\": \"$m_StelleninseratKopfElementZuChannel\",\n \"bindTo\": \"IdChannel\",\n \"bindToFQ\": \"models.data.$m_StelleninseratKopfElementZuChannel.IdChannel\"\n },\n \"validationRules\": [{\n \"item\": {\n \"type\": \"required\",\n \"parameters\": []\n }\n }],\n \"id\": \"r_stelleninseratKopfElementZuChannelChannel\",\n \"options\": {\n \"optionsName\": \"r_stelleninseratKopfElementZuChannelChannelOptions\",\n \"optionsNameFQ\": \"r_stelleninseratKopfElementZuChannelChannelOptions\"\n }\n });\n this.widgetCreator.addSelectBox(this, {\n \"idSelect\": \"stelleninseratBewerbungstyp\",\n \"customs\": [{\n \"key\": \"IdStelleninseratKopfElement\",\n \"value\": \"models.data.$m_StelleninseratKopfElementZuChannel.IdStelleninseratKopfElement\"\n }, {\n \"key\": \"CheckBenutzerrolle\",\n \"value\": \"true\"\n }],\n \"filters\": [],\n \"caption\": \"stelleninserat-kopf-element-channel-edit.r_stelleninseratkopfelementzuchannelstelleninseratbewerbungstyp_caption\",\n \"binding\": {\n \"dataContext\": \"$m_StelleninseratKopfElementZuChannel\",\n \"bindTo\": \"IdStelleninseratBewerbungstyp\",\n \"bindToFQ\": \"models.data.$m_StelleninseratKopfElementZuChannel.IdStelleninseratBewerbungstyp\"\n },\n \"validationRules\": [{\n \"item\": {\n \"type\": \"required\",\n \"parameters\": []\n }\n }],\n \"id\": \"r_stelleninseratKopfElementZuChannelStelleninseratBewerbungstyp\",\n \"options\": {\n \"optionsName\": \"r_stelleninseratKopfElementZuChannelStelleninseratBewerbungstypOptions\",\n \"optionsNameFQ\": \"r_stelleninseratKopfElementZuChannelStelleninseratBewerbungstypOptions\"\n }\n });\n this.widgetCreator.addDateBox(this, {\n \"format\": \"d\",\n \"caption\": \"stelleninserat-kopf-element-channel-edit.r_stelleninseratkopfelementzuchannelgueltigvon_caption\",\n \"binding\": {\n \"dataContext\": \"$m_StelleninseratKopfElementZuChannel\",\n \"bindTo\": \"GueltigVon\",\n \"bindToFQ\": \"models.data.$m_StelleninseratKopfElementZuChannel.GueltigVon\"\n },\n \"validationRules\": [{\n \"item\": {\n \"type\": \"required\",\n \"parameters\": []\n }\n }],\n \"id\": \"r_stelleninseratKopfElementZuChannelGueltigVon\",\n \"options\": {\n \"optionsName\": \"r_stelleninseratKopfElementZuChannelGueltigVonOptions\",\n \"optionsNameFQ\": \"r_stelleninseratKopfElementZuChannelGueltigVonOptions\"\n }\n });\n this.widgetCreator.addDateBox(this, {\n \"format\": \"d\",\n \"caption\": \"stelleninserat-kopf-element-channel-edit.r_stelleninseratkopfelementzuchannelgueltigbis_caption\",\n \"binding\": {\n \"dataContext\": \"$m_StelleninseratKopfElementZuChannel\",\n \"bindTo\": \"GueltigBis\",\n \"bindToFQ\": \"models.data.$m_StelleninseratKopfElementZuChannel.GueltigBis\"\n },\n \"validationRules\": [{\n \"item\": {\n \"type\": \"required\",\n \"parameters\": []\n }\n }],\n \"id\": \"r_stelleninseratKopfElementZuChannelGueltigBis\",\n \"options\": {\n \"optionsName\": \"r_stelleninseratKopfElementZuChannelGueltigBisOptions\",\n \"optionsNameFQ\": \"r_stelleninseratKopfElementZuChannelGueltigBisOptions\"\n }\n });\n this.widgetCreator.addSelectBox(this, {\n \"idSelect\": \"veroeffentlichungTyp\",\n \"filters\": [],\n \"caption\": \"stelleninserat-kopf-element-channel-edit.r_stelleninseratkopfelementzuchannelveroeffentlichungtyp_caption\",\n \"isReadOnly\": true,\n \"binding\": {\n \"dataContext\": \"$m_StelleninseratKopfElementZuChannel\",\n \"bindTo\": \"VeroeffentlichungTyp\",\n \"bindToFQ\": \"models.data.$m_StelleninseratKopfElementZuChannel.VeroeffentlichungTyp\"\n },\n \"validationRules\": [],\n \"id\": \"r_stelleninseratKopfElementZuChannelVeroeffentlichungTyp\",\n \"options\": {\n \"optionsName\": \"r_stelleninseratKopfElementZuChannelVeroeffentlichungTypOptions\",\n \"optionsNameFQ\": \"r_stelleninseratKopfElementZuChannelVeroeffentlichungTypOptions\"\n }\n });\n super.onConstructionFinished();\n }\n}","module.exports = \"\";","import * as fwx from \"../../../../framework/forms/form-export\";\nimport {\n StelleninseratEditUtils\n} from \"./stelleninserat-edit-utils\";\n\n@fwx.autoinject\nexport class StelleninseratKumiEditForm extends fwx.FormBase {\n constructor(\n element: Element,\n formBaseImport: fwx.FormBaseImport,\n private $f_Stelleninserat: StelleninseratEditUtils) {\n super(element, formBaseImport);\n this.id = \"stelleninserat-kumi-edit\";\n this.title = \"stelleninserat-kumi-edit.stelleninserat-kumi-edit_caption\";\n this.addModel({\n \"id\": \"$m_Stelleninserat\",\n \"webApiAction\": \"ZIT/Objekte/Stelleninserat\",\n \"webApiExpand\": {\n 'Kopf': null,\n 'FerialeinsatzEinstellungen': null,\n 'FerialbewerbungFragebogen': null\n },\n \"modificationInfoEnabled\": true,\n \"key\": \"variables.data.$id\",\n \"keyProperty\": \"Id\",\n \"postOnSave\": true,\n \"filters\": [{\n \"webApiCustomKey\": \"BewerbungInfo\",\n \"webApiCustomValue\": \"true\"\n }, {\n \"webApiCustomKey\": \"ProfilFirmaInfo\",\n \"webApiCustomValue\": \"true\"\n }, {\n \"webApiCustomKey\": \"StelleninseratVorschauUrl\",\n \"webApiCustomValue\": \"true\"\n }]\n });\n this.addModel({\n \"id\": \"$m_StelleninseratKopfElement\",\n \"webApiAction\": \"ZIT/Objekte/StelleninseratKopfElement\",\n \"webApiColumns\": ['Id'],\n \"key\": \"models.data.$m_Stelleninserat.IdStelleninseratKopfElement\",\n \"keyProperty\": \"Id\",\n \"filters\": []\n });\n this.addModel({\n \"id\": \"$m_StelleninseratGruppeRel\",\n \"webApiAction\": \"ZIT/Objekte/StelleninseratGruppe\",\n \"webApiColumns\": [\"Id\", \"SortNr\", \"Text\", \"IdStelleninseratGruppentyp\"],\n \"webApiExpand\": {\n 'Gruppentyp': null\n },\n \"webApiOrderBy\": [{\n \"columnName\": \"GruppentypSortNr\",\n \"sortOrder\": 0\n }, {\n \"columnName\": \"GruppentypBezeichnung\",\n \"sortOrder\": 0\n }, {\n \"columnName\": \"SortNr\",\n \"sortOrder\": 0\n }, {\n \"columnName\": \"Text\",\n \"sortOrder\": 0\n }],\n \"keyProperty\": \"Id\",\n \"filters\": []\n });\n this.addModel({\n \"id\": \"$m_StelleninseratGruppeEdit\",\n \"webApiAction\": \"ZIT/Objekte/StelleninseratGruppe\",\n \"webApiExpand\": {\n 'Gruppentyp': null\n },\n \"keyProperty\": \"Id\",\n \"filters\": []\n });\n this.addModel({\n \"id\": \"$m_StelleninseratGruppeElement\",\n \"webApiAction\": \"ZIT/Objekte/StelleninseratGruppeElement\",\n \"key\": \"models.data.$m_Stelleninserat.IdStelleninseratGruppeElement\",\n \"keyProperty\": \"Id\",\n \"filters\": []\n });\n this.addModel({\n \"id\": \"$m_STFBFB\",\n \"webApiAction\": \"ZIT/Objekte/StelleninseratFerialbewerbungFragebogenElement\",\n \"key\": \"models.data.$m_Stelleninserat.IdStelleninseratFerialbewerbungFragebogenElement\",\n \"keyProperty\": \"Id\",\n \"filters\": []\n });\n this.addModel({\n \"id\": \"$m_STFBFBEinsatzbereich\",\n \"webApiAction\": \"ZIT/Objekte/StelleninseratFerialbewerbungFragebogenEinsatzbereich\",\n \"webApiColumns\": [\"Id\", \"IdStelleninseratFerialbewerbungFragebogenElement\", \"Einsatzbereich\", \"SortNr\"],\n \"webApiOrderBy\": [{\n \"columnName\": \"SortNr\",\n \"sortOrder\": 0\n }, {\n \"columnName\": \"Einsatzbereich\",\n \"sortOrder\": 1\n }],\n \"keyProperty\": \"Id\",\n \"filters\": []\n });\n this.addModel({\n \"id\": \"$m_STFBFBEinsatzbereichE\",\n \"webApiAction\": \"ZIT/Objekte/StelleninseratFerialbewerbungFragebogenEinsatzbereich\",\n \"keyProperty\": \"Id\",\n \"filters\": []\n });\n this.addModel({\n \"id\": \"$m_Bewerbung\",\n \"webApiAction\": \"ZIT/Objekte/Bewerbung\",\n \"webApiColumns\": [\"Id\"],\n \"webApiWhere\": [\"Kopf.IdStelleninserat\", {\n \"isBound\": true,\n \"expression\": \"models.data.$m_Stelleninserat.Id\"\n }],\n \"modificationInfoEnabled\": true,\n \"keyProperty\": \"Id\",\n \"filters\": [{\n \"webApiCustomKey\": \"AddBewerbungCard\",\n \"webApiCustomValue\": \"true\"\n }]\n });\n this.addModel({\n \"id\": \"$m_Bewerbungstyp\",\n \"webApiAction\": \"ZIT/Stammdaten/StelleninseratBewerbungstyp\",\n \"key\": \"models.data.$m_Stelleninserat.Kopf.IdBewerbungstyp\",\n \"keyProperty\": \"Id\",\n \"filters\": []\n });\n this.addModel({\n \"id\": \"$m_StelleninseratKopfElementChannelRel\",\n \"webApiAction\": \"ZIT/Objekte/StelleninseratKopfElementZuChannel\",\n \"webApiExpand\": {\n 'Channel': null,\n 'StelleninseratBewerbungstyp': null\n },\n \"keyProperty\": \"Id\",\n \"allowNew\": \"functions.$f_Stelleninserat.canAddChannel\",\n \"filters\": []\n });\n this.addModel({\n \"id\": \"$m_StelleninseratKopfElementChannelEdit\",\n \"webApiAction\": \"ZIT/Objekte/StelleninseratKopfElementZuChannel\",\n \"keyProperty\": \"Id\",\n \"filters\": []\n });\n this.addCommand({\n \"binding\": {\n \"bindTo\": \"$f_Stelleninserat.actionCommand\",\n \"bindToFQ\": \"functions.$f_Stelleninserat.actionCommand\"\n }\n });\n this.addEditPopup({\n \"idContent\": \"stelleninseratGruppeEditPopupContent\",\n \"mappings\": [{\n \"to\": \"$id\",\n \"binding\": {\n \"dataContext\": \"$m_StelleninseratGruppeEdit\",\n \"bindTo\": \"Id\",\n \"bindToFQ\": \"models.data.$m_StelleninseratGruppeEdit.Id\"\n }\n }, {\n \"to\": \"$v_idGeschaeftspartner\",\n \"binding\": {\n \"dataContext\": \"$m_Stelleninserat\",\n \"bindTo\": \"Kopf.IdGeschaeftspartner\",\n \"bindToFQ\": \"models.data.$m_Stelleninserat.Kopf.IdGeschaeftspartner\",\n \"propertyPrefix\": \"Kopf\"\n }\n }, {\n \"to\": \"$v_idStelleninserat\",\n \"binding\": {\n \"dataContext\": \"$m_Stelleninserat\",\n \"bindTo\": \"Id\",\n \"bindToFQ\": \"models.data.$m_Stelleninserat.Id\"\n }\n }],\n \"id\": \"stelleninseratGruppeEditPopup\",\n \"options\": {\n \"optionsName\": \"stelleninseratGruppeEditPopupOptions\",\n \"optionsNameFQ\": \"stelleninseratGruppeEditPopupOptions\"\n },\n \"caption\": \"stelleninserat-kumi-edit.stelleninseratgruppeeditpopup_caption\",\n \"height\": \"auto\",\n \"width\": \"500px\",\n \"commands\": []\n });\n this.addEditPopup({\n \"idContent\": \"stelleninseratFerialbewerbungFragebogenEinsatzbereichEditPopupContent\",\n \"mappings\": [{\n \"to\": \"$id\",\n \"binding\": {\n \"dataContext\": \"$m_STFBFBEinsatzbereichE\",\n \"bindTo\": \"Id\",\n \"bindToFQ\": \"models.data.$m_STFBFBEinsatzbereichE.Id\"\n }\n }],\n \"id\": \"stelleninseratFerialbewerbungFragebogenEinsatzbereichEditPopup\",\n \"options\": {\n \"optionsName\": \"stelleninseratFerialbewerbungFragebogenEinsatzbereichEditPopupOptions\",\n \"optionsNameFQ\": \"stelleninseratFerialbewerbungFragebogenEinsatzbereichEditPopupOptions\"\n },\n \"caption\": \"stelleninserat-kumi-edit.stelleninseratferialbewerbungfragebogeneinsatzbereicheditpopup_caption\",\n \"height\": \"auto\",\n \"width\": \"500px\",\n \"commands\": []\n });\n this.addEditPopup({\n \"idContent\": \"stelleninseratKopfElementChannelEditPopupContent\",\n \"mappings\": [{\n \"to\": \"$id\",\n \"binding\": {\n \"dataContext\": \"$m_StelleninseratKopfElementChannelEdit\",\n \"bindTo\": \"Id\",\n \"bindToFQ\": \"models.data.$m_StelleninseratKopfElementChannelEdit.Id\"\n }\n }],\n \"id\": \"stelleninseratKopfElementChannelEditPopup\",\n \"options\": {\n \"optionsName\": \"stelleninseratKopfElementChannelEditPopupOptions\",\n \"optionsNameFQ\": \"stelleninseratKopfElementChannelEditPopupOptions\"\n },\n \"height\": \"auto\",\n \"width\": \"500px\",\n \"commands\": []\n });\n this.addFunction(\"$f_Stelleninserat\", $f_Stelleninserat, \"functions.$f_Stelleninserat\");\n this.widgetCreator.addValidationGroup(this, {\n \"id\": \"wd1\",\n \"options\": {\n \"optionsName\": \"wd1Options\",\n \"optionsNameFQ\": \"wd1Options\"\n }\n });\n this.widgetCreator.addLookup(this, {\n \"idSelect\": \"geschaeftspartner\",\n \"filters\": [],\n \"caption\": \"stelleninserat-kumi-edit.r_geschaeftspartner_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Stelleninserat\",\n \"bindTo\": \"Kopf.IdGeschaeftspartner\",\n \"bindToFQ\": \"models.data.$m_Stelleninserat.Kopf.IdGeschaeftspartner\",\n \"propertyPrefix\": \"Kopf\"\n },\n \"validationRules\": [{\n \"item\": {\n \"type\": \"required\",\n \"parameters\": []\n }\n }],\n \"id\": \"r_geschaeftspartner\",\n \"options\": {\n \"optionsName\": \"r_geschaeftspartnerOptions\",\n \"optionsNameFQ\": \"r_geschaeftspartnerOptions\"\n }\n });\n this.widgetCreator.addTextBox(this, {\n \"maxLength\": 250,\n \"caption\": \"stelleninserat-kumi-edit.r_stellenbezeichnungextern_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Stelleninserat\",\n \"bindTo\": \"Kopf.StellenbezeichnungExtern\",\n \"bindToFQ\": \"models.data.$m_Stelleninserat.Kopf.StellenbezeichnungExtern\",\n \"propertyPrefix\": \"Kopf\"\n },\n \"validationRules\": [{\n \"item\": {\n \"type\": \"required\",\n \"parameters\": []\n }\n }],\n \"id\": \"r_stellenbezeichnungExtern\",\n \"options\": {\n \"optionsName\": \"r_stellenbezeichnungExternOptions\",\n \"optionsNameFQ\": \"r_stellenbezeichnungExternOptions\"\n }\n });\n this.widgetCreator.addNumberBox(this, {\n \"showSpinButtons\": true,\n \"min\": 0.0,\n \"caption\": \"stelleninserat-kumi-edit.r_sortnr_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Stelleninserat\",\n \"bindTo\": \"Kopf.SortNr\",\n \"bindToFQ\": \"models.data.$m_Stelleninserat.Kopf.SortNr\",\n \"propertyPrefix\": \"Kopf\"\n },\n \"validationRules\": [],\n \"id\": \"r_sortNr\",\n \"options\": {\n \"optionsName\": \"r_sortNrOptions\",\n \"optionsNameFQ\": \"r_sortNrOptions\"\n }\n });\n this.widgetCreator.addTextBox(this, {\n \"maxLength\": 250,\n \"caption\": \"stelleninserat-kumi-edit.r_stellenbezeichnungintern_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Stelleninserat\",\n \"bindTo\": \"Kopf.StellenbezeichnungIntern\",\n \"bindToFQ\": \"models.data.$m_Stelleninserat.Kopf.StellenbezeichnungIntern\",\n \"propertyPrefix\": \"Kopf\"\n },\n \"validationRules\": [],\n \"id\": \"r_stellenbezeichnungIntern\",\n \"options\": {\n \"optionsName\": \"r_stellenbezeichnungInternOptions\",\n \"optionsNameFQ\": \"r_stellenbezeichnungInternOptions\"\n }\n });\n this.widgetCreator.addDateBox(this, {\n \"format\": \"d\",\n \"caption\": \"stelleninserat-kumi-edit.r_gueltigvon_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Stelleninserat\",\n \"bindTo\": \"Kopf.GueltigVon\",\n \"bindToFQ\": \"models.data.$m_Stelleninserat.Kopf.GueltigVon\",\n \"propertyPrefix\": \"Kopf\"\n },\n \"validationRules\": [{\n \"item\": {\n \"type\": \"required\",\n \"parameters\": []\n }\n }],\n \"id\": \"r_gueltigVon\",\n \"options\": {\n \"optionsName\": \"r_gueltigVonOptions\",\n \"optionsNameFQ\": \"r_gueltigVonOptions\"\n }\n });\n this.widgetCreator.addDateBox(this, {\n \"format\": \"d\",\n \"caption\": \"stelleninserat-kumi-edit.r_gueltigbis_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Stelleninserat\",\n \"bindTo\": \"Kopf.GueltigBis\",\n \"bindToFQ\": \"models.data.$m_Stelleninserat.Kopf.GueltigBis\",\n \"propertyPrefix\": \"Kopf\"\n },\n \"validationRules\": [{\n \"item\": {\n \"type\": \"required\",\n \"parameters\": []\n }\n }],\n \"id\": \"r_gueltigBis\",\n \"options\": {\n \"optionsName\": \"r_gueltigBisOptions\",\n \"optionsNameFQ\": \"r_gueltigBisOptions\"\n }\n });\n this.widgetCreator.addSelectBox(this, {\n \"idSelect\": \"branche\",\n \"filters\": [],\n \"caption\": \"stelleninserat-kumi-edit.r_branche_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Stelleninserat\",\n \"bindTo\": \"Kopf.IdBranche\",\n \"bindToFQ\": \"models.data.$m_Stelleninserat.Kopf.IdBranche\",\n \"propertyPrefix\": \"Kopf\"\n },\n \"validationRules\": [{\n \"item\": {\n \"type\": \"required\",\n \"parameters\": []\n }\n }],\n \"id\": \"r_branche\",\n \"options\": {\n \"optionsName\": \"r_brancheOptions\",\n \"optionsNameFQ\": \"r_brancheOptions\"\n }\n });\n this.widgetCreator.addLookup(this, {\n \"idSelect\": \"geschaeftspartner\",\n \"filters\": [],\n \"caption\": \"stelleninserat-kumi-edit.r_geschaeftspartnernopackage_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Stelleninserat\",\n \"bindTo\": \"Kopf.IdGeschaeftspartner\",\n \"bindToFQ\": \"models.data.$m_Stelleninserat.Kopf.IdGeschaeftspartner\",\n \"propertyPrefix\": \"Kopf\"\n },\n \"validationRules\": [{\n \"binding\": {\n \"dataContext\": \"$m_Stelleninserat\",\n \"bindTo\": \"$f_Stelleninserat.keinPackageRule\",\n \"bindToFQ\": \"functions.$f_Stelleninserat.keinPackageRule\"\n }\n }, {\n \"item\": {\n \"type\": \"required\",\n \"parameters\": []\n }\n }],\n \"id\": \"r_geschaeftspartnerNoPackage\",\n \"options\": {\n \"optionsName\": \"r_geschaeftspartnerNoPackageOptions\",\n \"optionsNameFQ\": \"r_geschaeftspartnerNoPackageOptions\"\n }\n });\n this.widgetCreator.addLookup(this, {\n \"idSelect\": \"ansprechperson\",\n \"customs\": [{\n \"key\": \"IdGeschaeftspartner\",\n \"value\": \"models.data.$m_Stelleninserat.Kopf.IdGeschaeftspartner\"\n }],\n \"filters\": [],\n \"caption\": \"stelleninserat-kumi-edit.ansprechpersonselect_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Stelleninserat\",\n \"bindTo\": \"Kopf.IdAnsprechperson\",\n \"bindToFQ\": \"models.data.$m_Stelleninserat.Kopf.IdAnsprechperson\",\n \"propertyPrefix\": \"Kopf\"\n },\n \"validationRules\": [],\n \"id\": \"ansprechpersonSelect\",\n \"options\": {\n \"optionsName\": \"ansprechpersonSelectOptions\",\n \"optionsNameFQ\": \"ansprechpersonSelectOptions\"\n }\n });\n this.widgetCreator.addFileUploaderWithViewer(this, {\n \"acceptTypeEnum\": 0,\n \"acceptType\": \"image/*\",\n \"placeholderImageExpression\": \"models.data.$m_Stelleninserat.Kopf.DMSLinkStandardBild\",\n \"placeholderImageText\": \"Standardbild laut Lehrberuf\",\n \"height\": \"250px\",\n \"showToolbar\": true,\n \"showClearButton\": false,\n \"caption\": \"stelleninserat-kumi-edit.r_dmslinkbild_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Stelleninserat\",\n \"bindTo\": \"Kopf.DMSLinkBild\",\n \"bindToFQ\": \"models.data.$m_Stelleninserat.Kopf.DMSLinkBild\",\n \"propertyPrefix\": \"Kopf\"\n },\n \"validationRules\": [],\n \"id\": \"r_dmslinkBild\",\n \"options\": {\n \"optionsName\": \"r_dmslinkBildOptions\",\n \"optionsNameFQ\": \"r_dmslinkBildOptions\"\n }\n });\n this.widgetCreator.addCheckBox(this, {\n \"caption\": \"stelleninserat-kumi-edit.r_stelleninserataktiv_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Stelleninserat\",\n \"bindTo\": \"Kopf.IsAktiv\",\n \"bindToFQ\": \"models.data.$m_Stelleninserat.Kopf.IsAktiv\",\n \"propertyPrefix\": \"Kopf\"\n },\n \"validationRules\": [],\n \"id\": \"r_stelleninseratAktiv\",\n \"options\": {\n \"optionsName\": \"r_stelleninseratAktivOptions\",\n \"optionsNameFQ\": \"r_stelleninseratAktivOptions\"\n }\n });\n this.widgetCreator.addCheckBox(this, {\n \"caption\": \"stelleninserat-kumi-edit.r_nuronlinebewerbungerwuenscht_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Stelleninserat\",\n \"bindTo\": \"Kopf.NurOnlineBewerbungErwuenscht\",\n \"bindToFQ\": \"models.data.$m_Stelleninserat.Kopf.NurOnlineBewerbungErwuenscht\",\n \"propertyPrefix\": \"Kopf\"\n },\n \"validationRules\": [],\n \"id\": \"r_nurOnlineBewerbungErwuenscht\",\n \"options\": {\n \"optionsName\": \"r_nurOnlineBewerbungErwuenschtOptions\",\n \"optionsNameFQ\": \"r_nurOnlineBewerbungErwuenschtOptions\"\n }\n });\n this.widgetCreator.addSelectBox(this, {\n \"idSelect\": \"stelleninseratBewerbungstyp\",\n \"filter\": [\n [\"IdGeschaeftspartner\", \"null\"], \"or\", [\"IdGeschaeftspartner\", {\n \"isBound\": true,\n \"expression\": \"models.data.$m_Stelleninserat.Kopf.IdGeschaeftspartner\"\n }]\n ],\n \"customs\": [{\n \"key\": \"IdGeschaeftspartner\",\n \"value\": \"models.data.$m_Stelleninserat.Kopf.IdGeschaeftspartner\"\n }, {\n \"key\": \"CheckBenutzerrolle\",\n \"value\": \"true\"\n }],\n \"filters\": [],\n \"caption\": \"stelleninserat-kumi-edit.bewerbungstyp_caption\",\n \"placeholder\": \"stelleninserat-kumi-edit.bewerbungstyp_placeholder\",\n \"binding\": {\n \"dataContext\": \"$m_Stelleninserat\",\n \"bindTo\": \"Kopf.IdBewerbungstyp\",\n \"bindToFQ\": \"models.data.$m_Stelleninserat.Kopf.IdBewerbungstyp\",\n \"propertyPrefix\": \"Kopf\"\n },\n \"validationRules\": [{\n \"item\": {\n \"type\": \"required\",\n \"parameters\": []\n }\n }],\n \"id\": \"bewerbungstyp\",\n \"options\": {\n \"optionsName\": \"bewerbungstypOptions\",\n \"optionsNameFQ\": \"bewerbungstypOptions\"\n }\n });\n this.widgetCreator.addDateBox(this, {\n \"format\": \"d\",\n \"caption\": \"stelleninserat-kumi-edit.r_bewerbungvon_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Stelleninserat\",\n \"bindTo\": \"FerialeinsatzEinstellungen.BewerbungOnlineVon\",\n \"bindToFQ\": \"models.data.$m_Stelleninserat.FerialeinsatzEinstellungen.BewerbungOnlineVon\",\n \"propertyPrefix\": \"FerialeinsatzEinstellungen\"\n },\n \"validationRules\": [{\n \"binding\": {\n \"dataContext\": \"$m_Stelleninserat\",\n \"bindTo\": \"$f_Stelleninserat.bewerbungVonValidationRule\",\n \"bindToFQ\": \"functions.$f_Stelleninserat.bewerbungVonValidationRule\"\n }\n }],\n \"id\": \"r_bewerbungVon\",\n \"options\": {\n \"optionsName\": \"r_bewerbungVonOptions\",\n \"optionsNameFQ\": \"r_bewerbungVonOptions\"\n }\n });\n this.widgetCreator.addDateBox(this, {\n \"format\": \"d\",\n \"caption\": \"stelleninserat-kumi-edit.r_bewerbungbis_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Stelleninserat\",\n \"bindTo\": \"FerialeinsatzEinstellungen.BewerbungOnlineBis\",\n \"bindToFQ\": \"models.data.$m_Stelleninserat.FerialeinsatzEinstellungen.BewerbungOnlineBis\",\n \"propertyPrefix\": \"FerialeinsatzEinstellungen\"\n },\n \"validationRules\": [{\n \"binding\": {\n \"dataContext\": \"$m_Stelleninserat\",\n \"bindTo\": \"$f_Stelleninserat.bewerbungBisValidationRule\",\n \"bindToFQ\": \"functions.$f_Stelleninserat.bewerbungBisValidationRule\"\n }\n }],\n \"id\": \"r_bewerbungBis\",\n \"options\": {\n \"optionsName\": \"r_bewerbungBisOptions\",\n \"optionsNameFQ\": \"r_bewerbungBisOptions\"\n }\n });\n this.widgetCreator.addTextBox(this, {\n \"maxLength\": 250,\n \"caption\": \"stelleninserat-kumi-edit.r_standort_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Stelleninserat\",\n \"bindTo\": \"Kopf.Standort\",\n \"bindToFQ\": \"models.data.$m_Stelleninserat.Kopf.Standort\",\n \"propertyPrefix\": \"Kopf\"\n },\n \"validationRules\": [],\n \"id\": \"r_standort\",\n \"options\": {\n \"optionsName\": \"r_standortOptions\",\n \"optionsNameFQ\": \"r_standortOptions\"\n }\n });\n this.widgetCreator.addTextBox(this, {\n \"maxLength\": 500,\n \"caption\": \"stelleninserat-kumi-edit.r_googlekarteadresse_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Stelleninserat\",\n \"bindTo\": \"Kopf.GoogleKartenAdresse\",\n \"bindToFQ\": \"models.data.$m_Stelleninserat.Kopf.GoogleKartenAdresse\",\n \"propertyPrefix\": \"Kopf\"\n },\n \"validationRules\": [],\n \"id\": \"r_googleKarteAdresse\",\n \"options\": {\n \"optionsName\": \"r_googleKarteAdresseOptions\",\n \"optionsNameFQ\": \"r_googleKarteAdresseOptions\"\n }\n });\n this.widgetCreator.addTextBox(this, {\n \"maxLength\": 250,\n \"caption\": \"stelleninserat-kumi-edit.r_subheadline_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Stelleninserat\",\n \"bindTo\": \"Kopf.Subheadline\",\n \"bindToFQ\": \"models.data.$m_Stelleninserat.Kopf.Subheadline\",\n \"propertyPrefix\": \"Kopf\"\n },\n \"validationRules\": [{\n \"item\": {\n \"type\": \"required\",\n \"parameters\": []\n }\n }],\n \"id\": \"r_subheadline\",\n \"options\": {\n \"optionsName\": \"r_subheadlineOptions\",\n \"optionsNameFQ\": \"r_subheadlineOptions\"\n }\n });\n this.widgetCreator.addTextBox(this, {\n \"maxLength\": 500,\n \"caption\": \"stelleninserat-kumi-edit.r_weiterleitungslink_caption\",\n \"isReadOnlyExpression\": \"!models.data.$m_Bewerbungstyp || !models.data.$m_Bewerbungstyp.WebsiteUmleitungLautWeiterleitungslink\",\n \"binding\": {\n \"dataContext\": \"$m_Stelleninserat\",\n \"bindTo\": \"Kopf.Weiterleitungslink\",\n \"bindToFQ\": \"models.data.$m_Stelleninserat.Kopf.Weiterleitungslink\",\n \"propertyPrefix\": \"Kopf\"\n },\n \"validationRules\": [],\n \"id\": \"r_weiterleitungslink\",\n \"options\": {\n \"optionsName\": \"r_weiterleitungslinkOptions\",\n \"optionsNameFQ\": \"r_weiterleitungslinkOptions\"\n }\n });\n this.widgetCreator.addRadioGroup(this, {\n \"idSelect\": \"pflichtfeld\",\n \"filters\": [],\n \"caption\": \"stelleninserat-kumi-edit.r_lebenslaufanfragen_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Stelleninserat\",\n \"bindTo\": \"FerialbewerbungFragebogen.LebenslaufAnfragen\",\n \"bindToFQ\": \"models.data.$m_Stelleninserat.FerialbewerbungFragebogen.LebenslaufAnfragen\",\n \"propertyPrefix\": \"FerialbewerbungFragebogen\"\n },\n \"validationRules\": [],\n \"id\": \"r_lebenslaufAnfragen\",\n \"options\": {\n \"optionsName\": \"r_lebenslaufAnfragenOptions\",\n \"optionsNameFQ\": \"r_lebenslaufAnfragenOptions\"\n }\n });\n this.widgetCreator.addRadioGroup(this, {\n \"idSelect\": \"pflichtfeld\",\n \"filters\": [],\n \"caption\": \"stelleninserat-kumi-edit.r_anschreibenanfragen_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Stelleninserat\",\n \"bindTo\": \"FerialbewerbungFragebogen.AnschreibenAnfragen\",\n \"bindToFQ\": \"models.data.$m_Stelleninserat.FerialbewerbungFragebogen.AnschreibenAnfragen\",\n \"propertyPrefix\": \"FerialbewerbungFragebogen\"\n },\n \"validationRules\": [],\n \"id\": \"r_anschreibenAnfragen\",\n \"options\": {\n \"optionsName\": \"r_anschreibenAnfragenOptions\",\n \"optionsNameFQ\": \"r_anschreibenAnfragenOptions\"\n }\n });\n this.widgetCreator.addRadioGroup(this, {\n \"idSelect\": \"pflichtfeld\",\n \"filters\": [],\n \"caption\": \"stelleninserat-kumi-edit.r_zeugnisanfragen_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Stelleninserat\",\n \"bindTo\": \"FerialbewerbungFragebogen.LetztesZeugnisAnfragen\",\n \"bindToFQ\": \"models.data.$m_Stelleninserat.FerialbewerbungFragebogen.LetztesZeugnisAnfragen\",\n \"propertyPrefix\": \"FerialbewerbungFragebogen\"\n },\n \"validationRules\": [],\n \"id\": \"r_zeugnisAnfragen\",\n \"options\": {\n \"optionsName\": \"r_zeugnisAnfragenOptions\",\n \"optionsNameFQ\": \"r_zeugnisAnfragenOptions\"\n }\n });\n this.widgetCreator.addRadioGroup(this, {\n \"idSelect\": \"pflichtfeld\",\n \"filters\": [],\n \"caption\": \"stelleninserat-kumi-edit.r_reisepassausweisanfragen_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Stelleninserat\",\n \"bindTo\": \"FerialbewerbungFragebogen.ReisepassAusweisAnfragen\",\n \"bindToFQ\": \"models.data.$m_Stelleninserat.FerialbewerbungFragebogen.ReisepassAusweisAnfragen\",\n \"propertyPrefix\": \"FerialbewerbungFragebogen\"\n },\n \"validationRules\": [],\n \"id\": \"r_reisepassAusweisAnfragen\",\n \"options\": {\n \"optionsName\": \"r_reisepassAusweisAnfragenOptions\",\n \"optionsNameFQ\": \"r_reisepassAusweisAnfragenOptions\"\n }\n });\n this.widgetCreator.addRadioGroup(this, {\n \"idSelect\": \"pflichtfeld\",\n \"filters\": [],\n \"caption\": \"stelleninserat-kumi-edit.r_zertifikat_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Stelleninserat\",\n \"bindTo\": \"FerialbewerbungFragebogen.ZertifikatAnfragen\",\n \"bindToFQ\": \"models.data.$m_Stelleninserat.FerialbewerbungFragebogen.ZertifikatAnfragen\",\n \"propertyPrefix\": \"FerialbewerbungFragebogen\"\n },\n \"validationRules\": [],\n \"id\": \"r_zertifikat\",\n \"options\": {\n \"optionsName\": \"r_zertifikatOptions\",\n \"optionsNameFQ\": \"r_zertifikatOptions\"\n }\n });\n this.widgetCreator.addRadioGroup(this, {\n \"idSelect\": \"pflichtfeld\",\n \"filters\": [],\n \"caption\": \"stelleninserat-kumi-edit.r_sprachkenntnisse_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Stelleninserat\",\n \"bindTo\": \"FerialbewerbungFragebogen.SprachKenntnisseAnfragen\",\n \"bindToFQ\": \"models.data.$m_Stelleninserat.FerialbewerbungFragebogen.SprachKenntnisseAnfragen\",\n \"propertyPrefix\": \"FerialbewerbungFragebogen\"\n },\n \"validationRules\": [],\n \"id\": \"r_sprachkenntnisse\",\n \"options\": {\n \"optionsName\": \"r_sprachkenntnisseOptions\",\n \"optionsNameFQ\": \"r_sprachkenntnisseOptions\"\n }\n });\n this.widgetCreator.addRadioGroup(this, {\n \"idSelect\": \"pflichtfeld\",\n \"filters\": [],\n \"caption\": \"stelleninserat-kumi-edit.r_bisherigeberufserfahrung_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Stelleninserat\",\n \"bindTo\": \"FerialbewerbungFragebogen.BisherigeBerufserfahrungAnfragen\",\n \"bindToFQ\": \"models.data.$m_Stelleninserat.FerialbewerbungFragebogen.BisherigeBerufserfahrungAnfragen\",\n \"propertyPrefix\": \"FerialbewerbungFragebogen\"\n },\n \"validationRules\": [],\n \"id\": \"r_bisherigeBerufserfahrung\",\n \"options\": {\n \"optionsName\": \"r_bisherigeBerufserfahrungOptions\",\n \"optionsNameFQ\": \"r_bisherigeBerufserfahrungOptions\"\n }\n });\n this.widgetCreator.addRadioGroup(this, {\n \"idSelect\": \"pflichtfeld\",\n \"filters\": [],\n \"caption\": \"stelleninserat-kumi-edit.r_fuehrerscheinundmobilitaet_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Stelleninserat\",\n \"bindTo\": \"FerialbewerbungFragebogen.FuehrerscheinUndMobilitaetAnfragen\",\n \"bindToFQ\": \"models.data.$m_Stelleninserat.FerialbewerbungFragebogen.FuehrerscheinUndMobilitaetAnfragen\",\n \"propertyPrefix\": \"FerialbewerbungFragebogen\"\n },\n \"validationRules\": [],\n \"id\": \"r_fuehrerscheinUndMobilitaet\",\n \"options\": {\n \"optionsName\": \"r_fuehrerscheinUndMobilitaetOptions\",\n \"optionsNameFQ\": \"r_fuehrerscheinUndMobilitaetOptions\"\n }\n });\n this.widgetCreator.addRadioGroup(this, {\n \"idSelect\": \"pflichtfeld\",\n \"filters\": [],\n \"caption\": \"stelleninserat-kumi-edit.r_staplerfuehrerschein_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Stelleninserat\",\n \"bindTo\": \"FerialbewerbungFragebogen.StaplerFuehrerscheinAnfragen\",\n \"bindToFQ\": \"models.data.$m_Stelleninserat.FerialbewerbungFragebogen.StaplerFuehrerscheinAnfragen\",\n \"propertyPrefix\": \"FerialbewerbungFragebogen\"\n },\n \"validationRules\": [],\n \"id\": \"r_staplerfuehrerschein\",\n \"options\": {\n \"optionsName\": \"r_staplerfuehrerscheinOptions\",\n \"optionsNameFQ\": \"r_staplerfuehrerscheinOptions\"\n }\n });\n this.widgetCreator.addListView(this, {\n \"itemClass\": \"z--list-view-inline-item\",\n \"useDefaultListItemStyle\": false,\n \"createToolbar\": true,\n \"optionsToolbar\": {\n \"optionsName\": \"r_moeglicheEinsatzbereicheToolbarOptions\",\n \"optionsNameFQ\": \"r_moeglicheEinsatzbereicheToolbarOptions\"\n },\n \"caption\": \"stelleninserat-kumi-edit.r_moeglicheeinsatzbereiche_caption\",\n \"binding\": {\n \"dataContext\": \"$m_STFBFB\"\n },\n \"isRelation\": true,\n \"relationBinding\": {\n \"dataContext\": \"$m_STFBFBEinsatzbereich\",\n \"bindTo\": \"IdStelleninseratFerialbewerbungFragebogenElement\",\n \"bindToFQ\": \"models.data.$m_STFBFBEinsatzbereich.IdStelleninseratFerialbewerbungFragebogenElement\"\n },\n \"dataModel\": \"$m_STFBFB\",\n \"editDataContext\": \"$m_STFBFBEinsatzbereichE\",\n \"idEditPopup\": \"stelleninseratFerialbewerbungFragebogenEinsatzbereichEditPopup\",\n \"listEdits\": [],\n \"filters\": [],\n \"commands\": [],\n \"id\": \"r_moeglicheEinsatzbereiche\",\n \"options\": {\n \"optionsName\": \"r_moeglicheEinsatzbereicheOptions\",\n \"optionsNameFQ\": \"r_moeglicheEinsatzbereicheOptions\"\n }\n });\n this.widgetCreator.addListView(this, {\n \"itemClass\": \"col-xs-12 col-sm-6\",\n \"useDefaultListItemStyle\": false,\n \"createToolbar\": true,\n \"optionsToolbar\": {\n \"optionsName\": \"r_bewerbungenListViewToolbarOptions\",\n \"optionsNameFQ\": \"r_bewerbungenListViewToolbarOptions\"\n },\n \"caption\": \"stelleninserat-kumi-edit.r_bewerbungenlistview_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Bewerbung\"\n },\n \"dataModel\": \"$m_Bewerbung\",\n \"pageSize\": 4,\n \"listEdits\": [],\n \"filters\": [],\n \"commands\": [],\n \"id\": \"r_bewerbungenListView\",\n \"options\": {\n \"optionsName\": \"r_bewerbungenListViewOptions\",\n \"optionsNameFQ\": \"r_bewerbungenListViewOptions\"\n }\n });\n this.widgetCreator.addDataGrid(this, {\n \"columns\": [{\n \"id\": \"r_channelBezeichnung\",\n \"caption\": \"stelleninserat-kumi-edit.r_channelbezeichnung_caption\",\n \"bindTo\": \"Channel.Bezeichnung\",\n \"minWidth\": 100\n }, {\n \"id\": \"r_channelVeroeffentlichungtyp\",\n \"caption\": \"stelleninserat-kumi-edit.r_channelveroeffentlichungtyp_caption\",\n \"bindTo\": \"VeroeffentlichungTyp\",\n \"minWidth\": 100,\n \"enumTypeName\": \"TIP.ZIT.Business.Enumerations.VeroeffentlichungTypEnum\"\n }, {\n \"id\": \"r_channelBewerbungstyp\",\n \"caption\": \"stelleninserat-kumi-edit.r_channelbewerbungstyp_caption\",\n \"bindTo\": \"StelleninseratBewerbungstyp.Bezeichnung\",\n \"minWidth\": 100\n }],\n \"createToolbar\": true,\n \"optionsToolbar\": {\n \"optionsName\": \"r_StelleninseratKopfElementChannelGridToolbarOptions\",\n \"optionsNameFQ\": \"r_StelleninseratKopfElementChannelGridToolbarOptions\"\n },\n \"caption\": \"stelleninserat-kumi-edit.r_stelleninseratkopfelementchannelgrid_caption\",\n \"binding\": {\n \"dataContext\": \"$m_StelleninseratKopfElement\"\n },\n \"isRelation\": true,\n \"relationBinding\": {\n \"dataContext\": \"$m_StelleninseratKopfElementChannelRel\",\n \"bindTo\": \"IdStelleninseratKopfElement\",\n \"bindToFQ\": \"models.data.$m_StelleninseratKopfElementChannelRel.IdStelleninseratKopfElement\"\n },\n \"dataModel\": \"$m_StelleninseratKopfElement\",\n \"editDataContext\": \"$m_StelleninseratKopfElementChannelEdit\",\n \"idEditPopup\": \"stelleninseratKopfElementChannelEditPopup\",\n \"listEdits\": [],\n \"filters\": [],\n \"commands\": [],\n \"id\": \"r_StelleninseratKopfElementChannelGrid\",\n \"options\": {\n \"optionsName\": \"r_StelleninseratKopfElementChannelGridOptions\",\n \"optionsNameFQ\": \"r_StelleninseratKopfElementChannelGridOptions\"\n }\n });\n super.onConstructionFinished();\n }\n}","module.exports = \"\";","import * as fwx from \"../../../../framework/forms/form-export\";\nimport {\n StelleninseratEditUtils\n} from \"./stelleninserat-edit-utils\";\n\n@fwx.autoinject\nexport class StelleninseratLehreEditForm extends fwx.FormBase {\n constructor(\n element: Element,\n formBaseImport: fwx.FormBaseImport,\n private $f_Stelleninserat: StelleninseratEditUtils) {\n super(element, formBaseImport);\n this.id = \"stelleninserat-lehre-edit\";\n this.title = \"stelleninserat-lehre-edit.stelleninserat-lehre-edit_caption\";\n this.addModel({\n \"id\": \"$m_Stelleninserat\",\n \"webApiAction\": \"ZIT/Objekte/Stelleninserat\",\n \"webApiExpand\": {\n 'Kopf': {\n 'expand': {\n 'TextKopfzeile1': null,\n 'TextFusszeile1': null,\n 'Schnupperberufe': null\n }\n },\n 'FerialeinsatzEinstellungen': null,\n 'FerialbewerbungFragebogen': null\n },\n \"modificationInfoEnabled\": true,\n \"key\": \"variables.data.$id\",\n \"keyProperty\": \"Id\",\n \"postOnSave\": true,\n \"filters\": [{\n \"webApiCustomKey\": \"BewerbungInfo\",\n \"webApiCustomValue\": \"true\"\n }, {\n \"webApiCustomKey\": \"ProfilFirmaInfo\",\n \"webApiCustomValue\": \"true\"\n }, {\n \"webApiCustomKey\": \"StelleninseratVorschauUrl\",\n \"webApiCustomValue\": \"true\"\n }]\n });\n this.addModel({\n \"id\": \"$m_StelleninseratKopfElement\",\n \"webApiAction\": \"ZIT/Objekte/StelleninseratKopfElement\",\n \"webApiColumns\": ['Id'],\n \"key\": \"models.data.$m_Stelleninserat.IdStelleninseratKopfElement\",\n \"keyProperty\": \"Id\",\n \"filters\": []\n });\n this.addModel({\n \"id\": \"$m_StelleninseratGruppeRel\",\n \"webApiAction\": \"ZIT/Objekte/StelleninseratGruppe\",\n \"webApiColumns\": [\"Id\", \"SortNr\", \"Text\", \"IdStelleninseratGruppentyp\"],\n \"webApiExpand\": {\n 'Gruppentyp': null\n },\n \"webApiOrderBy\": [{\n \"columnName\": \"GruppentypSortNr\",\n \"sortOrder\": 0\n }, {\n \"columnName\": \"GruppentypBezeichnung\",\n \"sortOrder\": 0\n }, {\n \"columnName\": \"SortNr\",\n \"sortOrder\": 0\n }, {\n \"columnName\": \"Text\",\n \"sortOrder\": 0\n }],\n \"keyProperty\": \"Id\",\n \"filters\": []\n });\n this.addModel({\n \"id\": \"$m_StelleninseratGruppeEdit\",\n \"webApiAction\": \"ZIT/Objekte/StelleninseratGruppe\",\n \"webApiExpand\": {\n 'Gruppentyp': null\n },\n \"keyProperty\": \"Id\",\n \"filters\": []\n });\n this.addModel({\n \"id\": \"$m_StelleninseratGruppeElement\",\n \"webApiAction\": \"ZIT/Objekte/StelleninseratGruppeElement\",\n \"key\": \"models.data.$m_Stelleninserat.IdStelleninseratGruppeElement\",\n \"keyProperty\": \"Id\",\n \"filters\": []\n });\n this.addModel({\n \"id\": \"$m_Bewerbung\",\n \"webApiAction\": \"ZIT/Objekte/Bewerbung\",\n \"webApiColumns\": [\"Id\"],\n \"webApiWhere\": [\"Kopf.IdStelleninserat\", {\n \"isBound\": true,\n \"expression\": \"models.data.$m_Stelleninserat.Id\"\n }],\n \"webApiOrderBy\": [{\n \"columnName\": \"Bewerbungsdatum\",\n \"sortOrder\": 1\n }, {\n \"columnName\": \"Id\",\n \"sortOrder\": 1\n }],\n \"modificationInfoEnabled\": true,\n \"keyProperty\": \"Id\",\n \"filters\": [{\n \"webApiCustomKey\": \"AddBewerbungCard\",\n \"webApiCustomValue\": \"true\"\n }]\n });\n this.addModel({\n \"id\": \"$m_Bewerbungstyp\",\n \"webApiAction\": \"ZIT/Stammdaten/StelleninseratBewerbungstyp\",\n \"key\": \"models.data.$m_Stelleninserat.Kopf.IdBewerbungstyp\",\n \"keyProperty\": \"Id\",\n \"filters\": []\n });\n this.addModel({\n \"id\": \"$m_StelleninseratKopfElementChannelRel\",\n \"webApiAction\": \"ZIT/Objekte/StelleninseratKopfElementZuChannel\",\n \"webApiExpand\": {\n 'Channel': null,\n 'StelleninseratBewerbungstyp': null\n },\n \"keyProperty\": \"Id\",\n \"allowNew\": \"functions.$f_Stelleninserat.canAddChannel\",\n \"filters\": []\n });\n this.addModel({\n \"id\": \"$m_StelleninseratKopfElementChannelEdit\",\n \"webApiAction\": \"ZIT/Objekte/StelleninseratKopfElementZuChannel\",\n \"keyProperty\": \"Id\",\n \"filters\": []\n });\n this.addModel({\n \"id\": \"$m_SchnupperberufeGeschaeftspartner\",\n \"webApiAction\": \"ZIT/Stammdaten/SchnupperberufGeschaeftspartner\",\n \"keyProperty\": \"Id\",\n \"filters\": [{\n \"webApiCustomKey\": \"IdStelleninseratKopfElement\",\n \"webApiCustomValue\": \"models.data.$m_Stelleninserat.Kopf.Id\"\n }]\n });\n this.addCommand({\n \"binding\": {\n \"bindTo\": \"$f_Stelleninserat.actionCommand\",\n \"bindToFQ\": \"functions.$f_Stelleninserat.actionCommand\"\n }\n });\n this.addEditPopup({\n \"idContent\": \"stelleninseratGruppeEditPopupContent\",\n \"mappings\": [{\n \"to\": \"$id\",\n \"binding\": {\n \"dataContext\": \"$m_StelleninseratGruppeEdit\",\n \"bindTo\": \"Id\",\n \"bindToFQ\": \"models.data.$m_StelleninseratGruppeEdit.Id\"\n }\n }, {\n \"to\": \"$v_idGeschaeftspartner\",\n \"binding\": {\n \"dataContext\": \"$m_Stelleninserat\",\n \"bindTo\": \"Kopf.IdGeschaeftspartner\",\n \"bindToFQ\": \"models.data.$m_Stelleninserat.Kopf.IdGeschaeftspartner\",\n \"propertyPrefix\": \"Kopf\"\n }\n }, {\n \"to\": \"$v_idStelleninserat\",\n \"binding\": {\n \"dataContext\": \"$m_Stelleninserat\",\n \"bindTo\": \"Id\",\n \"bindToFQ\": \"models.data.$m_Stelleninserat.Id\"\n }\n }],\n \"id\": \"stelleninseratGruppeEditPopup\",\n \"options\": {\n \"optionsName\": \"stelleninseratGruppeEditPopupOptions\",\n \"optionsNameFQ\": \"stelleninseratGruppeEditPopupOptions\"\n },\n \"caption\": \"stelleninserat-lehre-edit.stelleninseratgruppeeditpopup_caption\",\n \"height\": \"auto\",\n \"width\": \"500px\",\n \"commands\": []\n });\n this.addEditPopup({\n \"idContent\": \"stelleninseratKopfElementChannelEditPopupContent\",\n \"mappings\": [{\n \"to\": \"$id\",\n \"binding\": {\n \"dataContext\": \"$m_StelleninseratKopfElementChannelEdit\",\n \"bindTo\": \"Id\",\n \"bindToFQ\": \"models.data.$m_StelleninseratKopfElementChannelEdit.Id\"\n }\n }],\n \"id\": \"stelleninseratKopfElementChannelEditPopup\",\n \"options\": {\n \"optionsName\": \"stelleninseratKopfElementChannelEditPopupOptions\",\n \"optionsNameFQ\": \"stelleninseratKopfElementChannelEditPopupOptions\"\n },\n \"height\": \"auto\",\n \"width\": \"500px\",\n \"commands\": []\n });\n this.addFunction(\"$f_Stelleninserat\", $f_Stelleninserat, \"functions.$f_Stelleninserat\");\n this.widgetCreator.addValidationGroup(this, {\n \"id\": \"wd1\",\n \"options\": {\n \"optionsName\": \"wd1Options\",\n \"optionsNameFQ\": \"wd1Options\"\n }\n });\n this.widgetCreator.addLookup(this, {\n \"idSelect\": \"geschaeftspartner\",\n \"filters\": [],\n \"caption\": \"stelleninserat-lehre-edit.r_geschaeftspartner_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Stelleninserat\",\n \"bindTo\": \"Kopf.IdGeschaeftspartner\",\n \"bindToFQ\": \"models.data.$m_Stelleninserat.Kopf.IdGeschaeftspartner\",\n \"propertyPrefix\": \"Kopf\"\n },\n \"validationRules\": [{\n \"item\": {\n \"type\": \"required\",\n \"parameters\": []\n }\n }],\n \"id\": \"r_geschaeftspartner\",\n \"options\": {\n \"optionsName\": \"r_geschaeftspartnerOptions\",\n \"optionsNameFQ\": \"r_geschaeftspartnerOptions\"\n }\n });\n this.widgetCreator.addSelectBox(this, {\n \"idSelect\": \"lehrberuf\",\n \"filters\": [],\n \"caption\": \"stelleninserat-lehre-edit.r_lehrberuf_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Stelleninserat\",\n \"bindTo\": \"Kopf.IdLehrberuf\",\n \"bindToFQ\": \"models.data.$m_Stelleninserat.Kopf.IdLehrberuf\",\n \"propertyPrefix\": \"Kopf\"\n },\n \"validationRules\": [{\n \"item\": {\n \"type\": \"required\",\n \"parameters\": []\n }\n }],\n \"id\": \"r_lehrberuf\",\n \"options\": {\n \"optionsName\": \"r_lehrberufOptions\",\n \"optionsNameFQ\": \"r_lehrberufOptions\"\n }\n });\n this.widgetCreator.addTextBox(this, {\n \"maxLength\": 250,\n \"caption\": \"stelleninserat-lehre-edit.r_stellenbezeichnungextern_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Stelleninserat\",\n \"bindTo\": \"Kopf.StellenbezeichnungExtern\",\n \"bindToFQ\": \"models.data.$m_Stelleninserat.Kopf.StellenbezeichnungExtern\",\n \"propertyPrefix\": \"Kopf\"\n },\n \"validationRules\": [{\n \"item\": {\n \"type\": \"required\",\n \"parameters\": []\n }\n }],\n \"id\": \"r_stellenbezeichnungExtern\",\n \"options\": {\n \"optionsName\": \"r_stellenbezeichnungExternOptions\",\n \"optionsNameFQ\": \"r_stellenbezeichnungExternOptions\"\n }\n });\n this.widgetCreator.addTextBox(this, {\n \"maxLength\": 250,\n \"caption\": \"stelleninserat-lehre-edit.r_stellenbezeichnungintern_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Stelleninserat\",\n \"bindTo\": \"Kopf.StellenbezeichnungIntern\",\n \"bindToFQ\": \"models.data.$m_Stelleninserat.Kopf.StellenbezeichnungIntern\",\n \"propertyPrefix\": \"Kopf\"\n },\n \"validationRules\": [],\n \"id\": \"r_stellenbezeichnungIntern\",\n \"options\": {\n \"optionsName\": \"r_stellenbezeichnungInternOptions\",\n \"optionsNameFQ\": \"r_stellenbezeichnungInternOptions\"\n }\n });\n this.widgetCreator.addDateBox(this, {\n \"format\": \"d\",\n \"caption\": \"stelleninserat-lehre-edit.r_gueltigvon_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Stelleninserat\",\n \"bindTo\": \"Kopf.GueltigVon\",\n \"bindToFQ\": \"models.data.$m_Stelleninserat.Kopf.GueltigVon\",\n \"propertyPrefix\": \"Kopf\"\n },\n \"validationRules\": [{\n \"item\": {\n \"type\": \"required\",\n \"parameters\": []\n }\n }],\n \"id\": \"r_gueltigVon\",\n \"options\": {\n \"optionsName\": \"r_gueltigVonOptions\",\n \"optionsNameFQ\": \"r_gueltigVonOptions\"\n }\n });\n this.widgetCreator.addDateBox(this, {\n \"format\": \"d\",\n \"caption\": \"stelleninserat-lehre-edit.r_gueltigbis_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Stelleninserat\",\n \"bindTo\": \"Kopf.GueltigBis\",\n \"bindToFQ\": \"models.data.$m_Stelleninserat.Kopf.GueltigBis\",\n \"propertyPrefix\": \"Kopf\"\n },\n \"validationRules\": [{\n \"item\": {\n \"type\": \"required\",\n \"parameters\": []\n }\n }],\n \"id\": \"r_gueltigBis\",\n \"options\": {\n \"optionsName\": \"r_gueltigBisOptions\",\n \"optionsNameFQ\": \"r_gueltigBisOptions\"\n }\n });\n this.widgetCreator.addLookup(this, {\n \"idSelect\": \"geschaeftspartner\",\n \"filters\": [],\n \"caption\": \"stelleninserat-lehre-edit.r_geschaeftspartnernopackage_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Stelleninserat\",\n \"bindTo\": \"Kopf.IdGeschaeftspartner\",\n \"bindToFQ\": \"models.data.$m_Stelleninserat.Kopf.IdGeschaeftspartner\",\n \"propertyPrefix\": \"Kopf\"\n },\n \"validationRules\": [{\n \"binding\": {\n \"dataContext\": \"$m_Stelleninserat\",\n \"bindTo\": \"$f_Stelleninserat.keinPackageRule\",\n \"bindToFQ\": \"functions.$f_Stelleninserat.keinPackageRule\"\n }\n }, {\n \"item\": {\n \"type\": \"required\",\n \"parameters\": []\n }\n }],\n \"id\": \"r_geschaeftspartnerNoPackage\",\n \"options\": {\n \"optionsName\": \"r_geschaeftspartnerNoPackageOptions\",\n \"optionsNameFQ\": \"r_geschaeftspartnerNoPackageOptions\"\n }\n });\n this.widgetCreator.addLookup(this, {\n \"idSelect\": \"ansprechperson\",\n \"customs\": [{\n \"key\": \"IdGeschaeftspartner\",\n \"value\": \"models.data.$m_Stelleninserat.Kopf.IdGeschaeftspartner\"\n }],\n \"filters\": [],\n \"caption\": \"stelleninserat-lehre-edit.ansprechpersonselect_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Stelleninserat\",\n \"bindTo\": \"Kopf.IdAnsprechperson\",\n \"bindToFQ\": \"models.data.$m_Stelleninserat.Kopf.IdAnsprechperson\",\n \"propertyPrefix\": \"Kopf\"\n },\n \"validationRules\": [],\n \"id\": \"ansprechpersonSelect\",\n \"options\": {\n \"optionsName\": \"ansprechpersonSelectOptions\",\n \"optionsNameFQ\": \"ansprechpersonSelectOptions\"\n }\n });\n this.widgetCreator.addFileUploaderWithViewer(this, {\n \"acceptTypeEnum\": 0,\n \"acceptType\": \"image/*\",\n \"placeholderImageExpression\": \"models.data.$m_Stelleninserat.Kopf.DMSLinkStandardBild\",\n \"placeholderImageText\": \"Standardbild laut Lehrberuf\",\n \"height\": \"250px\",\n \"showToolbar\": true,\n \"showClearButton\": false,\n \"caption\": \"stelleninserat-lehre-edit.r_dmslinkbild_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Stelleninserat\",\n \"bindTo\": \"Kopf.DMSLinkBild\",\n \"bindToFQ\": \"models.data.$m_Stelleninserat.Kopf.DMSLinkBild\",\n \"propertyPrefix\": \"Kopf\"\n },\n \"validationRules\": [],\n \"id\": \"r_dmslinkBild\",\n \"options\": {\n \"optionsName\": \"r_dmslinkBildOptions\",\n \"optionsNameFQ\": \"r_dmslinkBildOptions\"\n }\n });\n this.widgetCreator.addCheckBox(this, {\n \"caption\": \"stelleninserat-lehre-edit.r_stelleninserataktiv_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Stelleninserat\",\n \"bindTo\": \"Kopf.IsAktiv\",\n \"bindToFQ\": \"models.data.$m_Stelleninserat.Kopf.IsAktiv\",\n \"propertyPrefix\": \"Kopf\"\n },\n \"validationRules\": [],\n \"id\": \"r_stelleninseratAktiv\",\n \"options\": {\n \"optionsName\": \"r_stelleninseratAktivOptions\",\n \"optionsNameFQ\": \"r_stelleninseratAktivOptions\"\n }\n });\n this.widgetCreator.addCheckBox(this, {\n \"caption\": \"stelleninserat-lehre-edit.r_nuronlinebewerbungerwuenscht_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Stelleninserat\",\n \"bindTo\": \"Kopf.NurOnlineBewerbungErwuenscht\",\n \"bindToFQ\": \"models.data.$m_Stelleninserat.Kopf.NurOnlineBewerbungErwuenscht\",\n \"propertyPrefix\": \"Kopf\"\n },\n \"validationRules\": [],\n \"id\": \"r_nurOnlineBewerbungErwuenscht\",\n \"options\": {\n \"optionsName\": \"r_nurOnlineBewerbungErwuenschtOptions\",\n \"optionsNameFQ\": \"r_nurOnlineBewerbungErwuenschtOptions\"\n }\n });\n this.widgetCreator.addSelectBox(this, {\n \"idSelect\": \"stelleninseratBewerbungstyp\",\n \"filter\": [\n [\"IdGeschaeftspartner\", \"null\"], \"or\", [\"IdGeschaeftspartner\", {\n \"isBound\": true,\n \"expression\": \"models.data.$m_Stelleninserat.Kopf.IdGeschaeftspartner\"\n }]\n ],\n \"customs\": [{\n \"key\": \"IdGeschaeftspartner\",\n \"value\": \"models.data.$m_Stelleninserat.Kopf.IdGeschaeftspartner\"\n }, {\n \"key\": \"CheckBenutzerrolle\",\n \"value\": \"true\"\n }],\n \"filters\": [],\n \"caption\": \"stelleninserat-lehre-edit.r_bewerbungstyp_caption\",\n \"placeholder\": \"stelleninserat-lehre-edit.r_bewerbungstyp_placeholder\",\n \"binding\": {\n \"dataContext\": \"$m_Stelleninserat\",\n \"bindTo\": \"Kopf.IdBewerbungstyp\",\n \"bindToFQ\": \"models.data.$m_Stelleninserat.Kopf.IdBewerbungstyp\",\n \"propertyPrefix\": \"Kopf\"\n },\n \"validationRules\": [{\n \"item\": {\n \"type\": \"required\",\n \"parameters\": []\n }\n }],\n \"id\": \"r_bewerbungstyp\",\n \"options\": {\n \"optionsName\": \"r_bewerbungstypOptions\",\n \"optionsNameFQ\": \"r_bewerbungstypOptions\"\n }\n });\n this.widgetCreator.addCheckBox(this, {\n \"caption\": \"stelleninserat-lehre-edit.r_priorisieren_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Stelleninserat\",\n \"bindTo\": \"Kopf.Priorisieren\",\n \"bindToFQ\": \"models.data.$m_Stelleninserat.Kopf.Priorisieren\",\n \"propertyPrefix\": \"Kopf\"\n },\n \"validationRules\": [],\n \"id\": \"r_priorisieren\",\n \"options\": {\n \"optionsName\": \"r_priorisierenOptions\",\n \"optionsNameFQ\": \"r_priorisierenOptions\"\n }\n });\n this.widgetCreator.addDateBox(this, {\n \"format\": \"d\",\n \"caption\": \"stelleninserat-lehre-edit.r_bewerbungvon_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Stelleninserat\",\n \"bindTo\": \"FerialeinsatzEinstellungen.BewerbungOnlineVon\",\n \"bindToFQ\": \"models.data.$m_Stelleninserat.FerialeinsatzEinstellungen.BewerbungOnlineVon\",\n \"propertyPrefix\": \"FerialeinsatzEinstellungen\"\n },\n \"validationRules\": [{\n \"binding\": {\n \"dataContext\": \"$m_Stelleninserat\",\n \"bindTo\": \"$f_Stelleninserat.bewerbungVonValidationRule\",\n \"bindToFQ\": \"functions.$f_Stelleninserat.bewerbungVonValidationRule\"\n }\n }],\n \"id\": \"r_bewerbungVon\",\n \"options\": {\n \"optionsName\": \"r_bewerbungVonOptions\",\n \"optionsNameFQ\": \"r_bewerbungVonOptions\"\n }\n });\n this.widgetCreator.addDateBox(this, {\n \"format\": \"d\",\n \"caption\": \"stelleninserat-lehre-edit.r_bewerbungbis_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Stelleninserat\",\n \"bindTo\": \"FerialeinsatzEinstellungen.BewerbungOnlineBis\",\n \"bindToFQ\": \"models.data.$m_Stelleninserat.FerialeinsatzEinstellungen.BewerbungOnlineBis\",\n \"propertyPrefix\": \"FerialeinsatzEinstellungen\"\n },\n \"validationRules\": [{\n \"binding\": {\n \"dataContext\": \"$m_Stelleninserat\",\n \"bindTo\": \"$f_Stelleninserat.bewerbungBisValidationRule\",\n \"bindToFQ\": \"functions.$f_Stelleninserat.bewerbungBisValidationRule\"\n }\n }],\n \"id\": \"r_bewerbungBis\",\n \"options\": {\n \"optionsName\": \"r_bewerbungBisOptions\",\n \"optionsNameFQ\": \"r_bewerbungBisOptions\"\n }\n });\n this.widgetCreator.addTextBox(this, {\n \"maxLength\": 250,\n \"caption\": \"stelleninserat-lehre-edit.r_standort_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Stelleninserat\",\n \"bindTo\": \"Kopf.Standort\",\n \"bindToFQ\": \"models.data.$m_Stelleninserat.Kopf.Standort\",\n \"propertyPrefix\": \"Kopf\"\n },\n \"validationRules\": [],\n \"id\": \"r_standort\",\n \"options\": {\n \"optionsName\": \"r_standortOptions\",\n \"optionsNameFQ\": \"r_standortOptions\"\n }\n });\n this.widgetCreator.addTextBox(this, {\n \"maxLength\": 500,\n \"caption\": \"stelleninserat-lehre-edit.r_googlekarteadresse_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Stelleninserat\",\n \"bindTo\": \"Kopf.GoogleKartenAdresse\",\n \"bindToFQ\": \"models.data.$m_Stelleninserat.Kopf.GoogleKartenAdresse\",\n \"propertyPrefix\": \"Kopf\"\n },\n \"validationRules\": [],\n \"id\": \"r_googleKarteAdresse\",\n \"options\": {\n \"optionsName\": \"r_googleKarteAdresseOptions\",\n \"optionsNameFQ\": \"r_googleKarteAdresseOptions\"\n }\n });\n this.widgetCreator.addTextBox(this, {\n \"maxLength\": 250,\n \"caption\": \"stelleninserat-lehre-edit.r_subheadline_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Stelleninserat\",\n \"bindTo\": \"Kopf.Subheadline\",\n \"bindToFQ\": \"models.data.$m_Stelleninserat.Kopf.Subheadline\",\n \"propertyPrefix\": \"Kopf\"\n },\n \"validationRules\": [{\n \"item\": {\n \"type\": \"required\",\n \"parameters\": []\n }\n }],\n \"id\": \"r_subheadline\",\n \"options\": {\n \"optionsName\": \"r_subheadlineOptions\",\n \"optionsNameFQ\": \"r_subheadlineOptions\"\n }\n });\n this.widgetCreator.addTextBox(this, {\n \"maxLength\": 500,\n \"caption\": \"stelleninserat-lehre-edit.r_weiterleitungslink_caption\",\n \"isReadOnlyExpression\": \"!models.data.$m_Bewerbungstyp || !models.data.$m_Bewerbungstyp.WebsiteUmleitungLautWeiterleitungslink\",\n \"binding\": {\n \"dataContext\": \"$m_Stelleninserat\",\n \"bindTo\": \"Kopf.Weiterleitungslink\",\n \"bindToFQ\": \"models.data.$m_Stelleninserat.Kopf.Weiterleitungslink\",\n \"propertyPrefix\": \"Kopf\"\n },\n \"validationRules\": [],\n \"id\": \"r_weiterleitungslink\",\n \"options\": {\n \"optionsName\": \"r_weiterleitungslinkOptions\",\n \"optionsNameFQ\": \"r_weiterleitungslinkOptions\"\n }\n });\n this.widgetCreator.addSelectBox(this, {\n \"idSelect\": \"schnupperterminanfrageart\",\n \"filters\": [{\n \"webApiCustomKey\": \"IdStelleninseratGeschaeftspartner\",\n \"webApiCustomValue\": \"models.data.$m_Stelleninserat.Kopf.IdGeschaeftspartner\"\n }, {\n \"webApiCustomKey\": \"IdStelleninseratGeschaeftspartner\",\n \"webApiCustomValue\": \"models.data.$m_Stelleninserat.Kopf.IdGeschaeftspartner\"\n }],\n \"caption\": \"stelleninserat-lehre-edit.r_schnupperterminanfrageart_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Stelleninserat\",\n \"bindTo\": \"Kopf.IdSchnupperterminAnfrageart\",\n \"bindToFQ\": \"models.data.$m_Stelleninserat.Kopf.IdSchnupperterminAnfrageart\",\n \"propertyPrefix\": \"Kopf\"\n },\n \"validationRules\": [{\n \"item\": {\n \"type\": \"required\",\n \"parameters\": []\n }\n }],\n \"id\": \"r_schnupperterminAnfrageart\",\n \"options\": {\n \"optionsName\": \"r_schnupperterminAnfrageartOptions\",\n \"optionsNameFQ\": \"r_schnupperterminAnfrageartOptions\"\n }\n });\n this.widgetCreator.addTagBox(this, {\n \"caption\": \"stelleninserat-lehre-edit.r_schnupperberufegeschaeftspartner_caption\",\n \"dataContext\": \"$m_Stelleninserat\",\n \"batchSelectionEnabled\": true,\n \"relationBinding\": {\n \"dataContext\": \"$m_Stelleninserat\",\n \"bindTo\": \"Kopf.Schnupperberufe\",\n \"bindToFQ\": \"models.data.$m_Stelleninserat.Kopf.Schnupperberufe\",\n \"propertyPrefix\": \"Kopf\"\n },\n \"relationProperty\": \"IdSchnupperberufGeschaeftspartner\",\n \"itemDataContext\": \"$m_SchnupperberufeGeschaeftspartner\",\n \"itemValueExpr\": \"Id\",\n \"itemDisplayExpr\": \"Bezeichnung\",\n \"binding\": {\n \"dataContext\": \"$m_Stelleninserat\"\n },\n \"validationRules\": [],\n \"id\": \"r_schnupperberufeGeschaeftspartner\",\n \"options\": {\n \"optionsName\": \"r_schnupperberufeGeschaeftspartnerOptions\",\n \"optionsNameFQ\": \"r_schnupperberufeGeschaeftspartnerOptions\"\n }\n });\n this.widgetCreator.addTextBox(this, {\n \"maxLength\": 250,\n \"caption\": \"stelleninserat-lehre-edit.r_arbeitskleidungschnuppern_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Stelleninserat\",\n \"bindTo\": \"Kopf.ArbeitskleidungSchnuppern\",\n \"bindToFQ\": \"models.data.$m_Stelleninserat.Kopf.ArbeitskleidungSchnuppern\",\n \"propertyPrefix\": \"Kopf\"\n },\n \"validationRules\": [],\n \"id\": \"r_arbeitskleidungSchnuppern\",\n \"options\": {\n \"optionsName\": \"r_arbeitskleidungSchnuppernOptions\",\n \"optionsNameFQ\": \"r_arbeitskleidungSchnuppernOptions\"\n }\n });\n this.widgetCreator.addRadioGroup(this, {\n \"idSelect\": \"pflichtfeld\",\n \"filters\": [],\n \"caption\": \"stelleninserat-lehre-edit.r_lebenslaufanfragen_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Stelleninserat\",\n \"bindTo\": \"FerialbewerbungFragebogen.LebenslaufAnfragen\",\n \"bindToFQ\": \"models.data.$m_Stelleninserat.FerialbewerbungFragebogen.LebenslaufAnfragen\",\n \"propertyPrefix\": \"FerialbewerbungFragebogen\"\n },\n \"validationRules\": [],\n \"id\": \"r_lebenslaufAnfragen\",\n \"options\": {\n \"optionsName\": \"r_lebenslaufAnfragenOptions\",\n \"optionsNameFQ\": \"r_lebenslaufAnfragenOptions\"\n }\n });\n this.widgetCreator.addRadioGroup(this, {\n \"idSelect\": \"pflichtfeld\",\n \"filters\": [],\n \"caption\": \"stelleninserat-lehre-edit.r_anschreibenanfragen_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Stelleninserat\",\n \"bindTo\": \"FerialbewerbungFragebogen.AnschreibenAnfragen\",\n \"bindToFQ\": \"models.data.$m_Stelleninserat.FerialbewerbungFragebogen.AnschreibenAnfragen\",\n \"propertyPrefix\": \"FerialbewerbungFragebogen\"\n },\n \"validationRules\": [],\n \"id\": \"r_anschreibenAnfragen\",\n \"options\": {\n \"optionsName\": \"r_anschreibenAnfragenOptions\",\n \"optionsNameFQ\": \"r_anschreibenAnfragenOptions\"\n }\n });\n this.widgetCreator.addRadioGroup(this, {\n \"idSelect\": \"pflichtfeld\",\n \"filters\": [],\n \"caption\": \"stelleninserat-lehre-edit.r_zeugnisanfragen_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Stelleninserat\",\n \"bindTo\": \"FerialbewerbungFragebogen.LetztesZeugnisAnfragen\",\n \"bindToFQ\": \"models.data.$m_Stelleninserat.FerialbewerbungFragebogen.LetztesZeugnisAnfragen\",\n \"propertyPrefix\": \"FerialbewerbungFragebogen\"\n },\n \"validationRules\": [],\n \"id\": \"r_zeugnisAnfragen\",\n \"options\": {\n \"optionsName\": \"r_zeugnisAnfragenOptions\",\n \"optionsNameFQ\": \"r_zeugnisAnfragenOptions\"\n }\n });\n this.widgetCreator.addRadioGroup(this, {\n \"idSelect\": \"pflichtfeld\",\n \"filters\": [],\n \"caption\": \"stelleninserat-lehre-edit.r_reisepassausweisanfragen_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Stelleninserat\",\n \"bindTo\": \"FerialbewerbungFragebogen.ReisepassAusweisAnfragen\",\n \"bindToFQ\": \"models.data.$m_Stelleninserat.FerialbewerbungFragebogen.ReisepassAusweisAnfragen\",\n \"propertyPrefix\": \"FerialbewerbungFragebogen\"\n },\n \"validationRules\": [],\n \"id\": \"r_reisepassAusweisAnfragen\",\n \"options\": {\n \"optionsName\": \"r_reisepassAusweisAnfragenOptions\",\n \"optionsNameFQ\": \"r_reisepassAusweisAnfragenOptions\"\n }\n });\n this.widgetCreator.addRadioGroup(this, {\n \"idSelect\": \"pflichtfeld\",\n \"filters\": [],\n \"caption\": \"stelleninserat-lehre-edit.r_schnuppertermineanzeigen_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Stelleninserat\",\n \"bindTo\": \"Kopf.SchnuppertermineAnzeigen\",\n \"bindToFQ\": \"models.data.$m_Stelleninserat.Kopf.SchnuppertermineAnzeigen\",\n \"propertyPrefix\": \"Kopf\"\n },\n \"validationRules\": [],\n \"id\": \"r_schnuppertermineAnzeigen\",\n \"options\": {\n \"optionsName\": \"r_schnuppertermineAnzeigenOptions\",\n \"optionsNameFQ\": \"r_schnuppertermineAnzeigenOptions\"\n }\n });\n this.widgetCreator.addRadioGroup(this, {\n \"idSelect\": \"pflichtfeld\",\n \"filters\": [],\n \"caption\": \"stelleninserat-lehre-edit.r_angabewunschtermin_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Stelleninserat\",\n \"bindTo\": \"FerialbewerbungFragebogen.AngabeWunschtermin\",\n \"bindToFQ\": \"models.data.$m_Stelleninserat.FerialbewerbungFragebogen.AngabeWunschtermin\",\n \"propertyPrefix\": \"FerialbewerbungFragebogen\"\n },\n \"validationRules\": [],\n \"id\": \"r_angabeWunschtermin\",\n \"options\": {\n \"optionsName\": \"r_angabeWunschterminOptions\",\n \"optionsNameFQ\": \"r_angabeWunschterminOptions\"\n }\n });\n this.widgetCreator.addRadioGroup(this, {\n \"idSelect\": \"pflichtfeld\",\n \"filters\": [],\n \"caption\": \"stelleninserat-lehre-edit.r_schnupperberufgeschaeftspartner1_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Stelleninserat\",\n \"bindTo\": \"FerialbewerbungFragebogen.SchnupperberufGeschaeftspartner1\",\n \"bindToFQ\": \"models.data.$m_Stelleninserat.FerialbewerbungFragebogen.SchnupperberufGeschaeftspartner1\",\n \"propertyPrefix\": \"FerialbewerbungFragebogen\"\n },\n \"validationRules\": [],\n \"id\": \"r_schnupperberufGeschaeftspartner1\",\n \"options\": {\n \"optionsName\": \"r_schnupperberufGeschaeftspartner1Options\",\n \"optionsNameFQ\": \"r_schnupperberufGeschaeftspartner1Options\"\n }\n });\n this.widgetCreator.addRadioGroup(this, {\n \"idSelect\": \"pflichtfeld\",\n \"filters\": [],\n \"caption\": \"stelleninserat-lehre-edit.r_schnupperberufgeschaeftspartner2_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Stelleninserat\",\n \"bindTo\": \"FerialbewerbungFragebogen.SchnupperberufGeschaeftspartner2\",\n \"bindToFQ\": \"models.data.$m_Stelleninserat.FerialbewerbungFragebogen.SchnupperberufGeschaeftspartner2\",\n \"propertyPrefix\": \"FerialbewerbungFragebogen\"\n },\n \"validationRules\": [],\n \"id\": \"r_schnupperberufGeschaeftspartner2\",\n \"options\": {\n \"optionsName\": \"r_schnupperberufGeschaeftspartner2Options\",\n \"optionsNameFQ\": \"r_schnupperberufGeschaeftspartner2Options\"\n }\n });\n this.widgetCreator.addRadioGroup(this, {\n \"idSelect\": \"pflichtfeld\",\n \"filters\": [],\n \"caption\": \"stelleninserat-lehre-edit.r_bisherigeberufserfahrung_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Stelleninserat\",\n \"bindTo\": \"FerialbewerbungFragebogen.BisherigeBerufserfahrungAnfragen\",\n \"bindToFQ\": \"models.data.$m_Stelleninserat.FerialbewerbungFragebogen.BisherigeBerufserfahrungAnfragen\",\n \"propertyPrefix\": \"FerialbewerbungFragebogen\"\n },\n \"validationRules\": [],\n \"id\": \"r_bisherigeBerufserfahrung\",\n \"options\": {\n \"optionsName\": \"r_bisherigeBerufserfahrungOptions\",\n \"optionsNameFQ\": \"r_bisherigeBerufserfahrungOptions\"\n }\n });\n this.widgetCreator.addRadioGroup(this, {\n \"idSelect\": \"pflichtfeld\",\n \"filters\": [],\n \"caption\": \"stelleninserat-lehre-edit.r_fuehrerscheinundmobilitaet_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Stelleninserat\",\n \"bindTo\": \"FerialbewerbungFragebogen.FuehrerscheinUndMobilitaetAnfragen\",\n \"bindToFQ\": \"models.data.$m_Stelleninserat.FerialbewerbungFragebogen.FuehrerscheinUndMobilitaetAnfragen\",\n \"propertyPrefix\": \"FerialbewerbungFragebogen\"\n },\n \"validationRules\": [],\n \"id\": \"r_fuehrerscheinUndMobilitaet\",\n \"options\": {\n \"optionsName\": \"r_fuehrerscheinUndMobilitaetOptions\",\n \"optionsNameFQ\": \"r_fuehrerscheinUndMobilitaetOptions\"\n }\n });\n this.widgetCreator.addRadioGroup(this, {\n \"idSelect\": \"pflichtfeld\",\n \"filters\": [],\n \"caption\": \"stelleninserat-lehre-edit.r_sprachkenntnisse_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Stelleninserat\",\n \"bindTo\": \"FerialbewerbungFragebogen.SprachKenntnisseAnfragen\",\n \"bindToFQ\": \"models.data.$m_Stelleninserat.FerialbewerbungFragebogen.SprachKenntnisseAnfragen\",\n \"propertyPrefix\": \"FerialbewerbungFragebogen\"\n },\n \"validationRules\": [],\n \"id\": \"r_sprachKenntnisse\",\n \"options\": {\n \"optionsName\": \"r_sprachKenntnisseOptions\",\n \"optionsNameFQ\": \"r_sprachKenntnisseOptions\"\n }\n });\n this.widgetCreator.addRadioGroup(this, {\n \"idSelect\": \"pflichtfeld\",\n \"filters\": [],\n \"caption\": \"stelleninserat-lehre-edit.r_auswahlschule_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Stelleninserat\",\n \"bindTo\": \"FerialbewerbungFragebogen.AuswahlSchule\",\n \"bindToFQ\": \"models.data.$m_Stelleninserat.FerialbewerbungFragebogen.AuswahlSchule\",\n \"propertyPrefix\": \"FerialbewerbungFragebogen\"\n },\n \"validationRules\": [],\n \"id\": \"r_auswahlSchule\",\n \"options\": {\n \"optionsName\": \"r_auswahlSchuleOptions\",\n \"optionsNameFQ\": \"r_auswahlSchuleOptions\"\n }\n });\n this.widgetCreator.addRadioGroup(this, {\n \"idSelect\": \"pflichtfeld\",\n \"filters\": [],\n \"caption\": \"stelleninserat-lehre-edit.r_staplerfuehrerschein_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Stelleninserat\",\n \"bindTo\": \"FerialbewerbungFragebogen.StaplerFuehrerscheinAnfragen\",\n \"bindToFQ\": \"models.data.$m_Stelleninserat.FerialbewerbungFragebogen.StaplerFuehrerscheinAnfragen\",\n \"propertyPrefix\": \"FerialbewerbungFragebogen\"\n },\n \"validationRules\": [],\n \"id\": \"r_staplerfuehrerschein\",\n \"options\": {\n \"optionsName\": \"r_staplerfuehrerscheinOptions\",\n \"optionsNameFQ\": \"r_staplerfuehrerscheinOptions\"\n }\n });\n this.widgetCreator.addListView(this, {\n \"itemClass\": \"col-xs-12 col-sm-6\",\n \"useDefaultListItemStyle\": false,\n \"createToolbar\": true,\n \"optionsToolbar\": {\n \"optionsName\": \"r_bewerbungenListViewToolbarOptions\",\n \"optionsNameFQ\": \"r_bewerbungenListViewToolbarOptions\"\n },\n \"caption\": \"stelleninserat-lehre-edit.r_bewerbungenlistview_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Bewerbung\"\n },\n \"dataModel\": \"$m_Bewerbung\",\n \"pageSize\": 4,\n \"listEdits\": [],\n \"filters\": [],\n \"commands\": [],\n \"id\": \"r_bewerbungenListView\",\n \"options\": {\n \"optionsName\": \"r_bewerbungenListViewOptions\",\n \"optionsNameFQ\": \"r_bewerbungenListViewOptions\"\n }\n });\n this.widgetCreator.addDataGrid(this, {\n \"columns\": [{\n \"id\": \"r_channelBezeichnung\",\n \"caption\": \"stelleninserat-lehre-edit.r_channelbezeichnung_caption\",\n \"bindTo\": \"Channel.Bezeichnung\",\n \"minWidth\": 100\n }, {\n \"id\": \"r_channelVeroeffentlichungtyp\",\n \"caption\": \"stelleninserat-lehre-edit.r_channelveroeffentlichungtyp_caption\",\n \"bindTo\": \"VeroeffentlichungTyp\",\n \"minWidth\": 100,\n \"enumTypeName\": \"TIP.ZIT.Business.Enumerations.VeroeffentlichungTypEnum\"\n }, {\n \"id\": \"r_channelBewerbungstyp\",\n \"caption\": \"stelleninserat-lehre-edit.r_channelbewerbungstyp_caption\",\n \"bindTo\": \"StelleninseratBewerbungstyp.Bezeichnung\",\n \"minWidth\": 100\n }],\n \"createToolbar\": true,\n \"optionsToolbar\": {\n \"optionsName\": \"r_StelleninseratKopfElementChannelGridToolbarOptions\",\n \"optionsNameFQ\": \"r_StelleninseratKopfElementChannelGridToolbarOptions\"\n },\n \"caption\": \"stelleninserat-lehre-edit.r_stelleninseratkopfelementchannelgrid_caption\",\n \"binding\": {\n \"dataContext\": \"$m_StelleninseratKopfElement\"\n },\n \"isRelation\": true,\n \"relationBinding\": {\n \"dataContext\": \"$m_StelleninseratKopfElementChannelRel\",\n \"bindTo\": \"IdStelleninseratKopfElement\",\n \"bindToFQ\": \"models.data.$m_StelleninseratKopfElementChannelRel.IdStelleninseratKopfElement\"\n },\n \"dataModel\": \"$m_StelleninseratKopfElement\",\n \"editDataContext\": \"$m_StelleninseratKopfElementChannelEdit\",\n \"idEditPopup\": \"stelleninseratKopfElementChannelEditPopup\",\n \"listEdits\": [],\n \"filters\": [],\n \"commands\": [],\n \"id\": \"r_StelleninseratKopfElementChannelGrid\",\n \"options\": {\n \"optionsName\": \"r_StelleninseratKopfElementChannelGridOptions\",\n \"optionsNameFQ\": \"r_StelleninseratKopfElementChannelGridOptions\"\n }\n });\n super.onConstructionFinished();\n }\n}","module.exports = \"\";","import * as fwx from \"../../../../framework/forms/form-export\";\n\n@fwx.autoinject\nexport class StelleninseratLehreKlasseEditForm extends fwx.FormBase {\n constructor(\n element: Element,\n formBaseImport: fwx.FormBaseImport) {\n super(element, formBaseImport);\n this.id = \"stelleninserat-klasse-edit\";\n this.title = \"stelleninserat-klasse-edit.stelleninserat-klasse-edit_caption\";\n this.addModel({\n \"id\": \"$m_StelleninseratKlasse\",\n \"webApiAction\": \"ZIT/Objekte/StelleninseratKlasse\",\n \"key\": \"variables.data.$id\",\n \"keyProperty\": \"Id\",\n \"postOnSave\": true,\n \"filters\": []\n });\n this.addVariable({\n \"id\": \"$id\"\n });\n this.widgetCreator.addValidationGroup(this, {\n \"id\": \"wd1\",\n \"options\": {\n \"optionsName\": \"wd1Options\",\n \"optionsNameFQ\": \"wd1Options\"\n }\n });\n this.widgetCreator.addTextBox(this, {\n \"maxLength\": 100,\n \"caption\": \"stelleninserat-klasse-edit.r_bezeichnung_caption\",\n \"binding\": {\n \"dataContext\": \"$m_StelleninseratKlasse\",\n \"bindTo\": \"Bezeichnung\",\n \"bindToFQ\": \"models.data.$m_StelleninseratKlasse.Bezeichnung\"\n },\n \"validationRules\": [{\n \"item\": {\n \"type\": \"required\",\n \"parameters\": []\n }\n }],\n \"id\": \"r_bezeichnung\",\n \"options\": {\n \"optionsName\": \"r_bezeichnungOptions\",\n \"optionsNameFQ\": \"r_bezeichnungOptions\"\n }\n });\n super.onConstructionFinished();\n }\n}","module.exports = \"\";","import * as fwx from \"../../../../framework/forms/form-export\";\nimport {\n StelleninseratEditUtils\n} from \"./stelleninserat-edit-utils\";\nimport {\n StelleninseratLehreKundePackageEditUtils\n} from \"./stelleninserat-lehre-kunde-package-edit-utils\";\n\n@fwx.autoinject\nexport class StelleninseratLehreKundePackageEditForm extends fwx.FormBase {\n constructor(\n element: Element,\n formBaseImport: fwx.FormBaseImport,\n private $f_Stelleninserat: StelleninseratEditUtils,\n private $f_StelleninseratLehreKundePackage: StelleninseratLehreKundePackageEditUtils) {\n super(element, formBaseImport);\n this.id = \"stelleninserat-lehre-kunde-package-edit\";\n this.title = \"stelleninserat-lehre-kunde-package-edit.stelleninserat-lehre-kunde-package-edit_caption\";\n this.addModel({\n \"id\": \"$m_Stelleninserat\",\n \"webApiAction\": \"ZIT/Objekte/Stelleninserat\",\n \"webApiExpand\": {\n 'Kopf': {\n 'expand': {\n 'TextKopfzeile1': null,\n 'TextFusszeile1': null,\n 'Schnupperberufe': null,\n 'Geschaeftspartner': {\n 'expand': {\n 'Geschaeftspartnerdaten': null\n }\n }\n }\n },\n 'FerialeinsatzEinstellungen': null,\n 'FerialbewerbungFragebogen': null\n },\n \"modificationInfoEnabled\": true,\n \"key\": \"variables.data.$id\",\n \"keyProperty\": \"Id\",\n \"postOnSave\": true,\n \"filters\": [{\n \"webApiCustomKey\": \"BewerbungInfo\",\n \"webApiCustomValue\": \"true\"\n }, {\n \"webApiCustomKey\": \"ProfilFirmaInfo\",\n \"webApiCustomValue\": \"true\"\n }, {\n \"webApiCustomKey\": \"StelleninseratVorschauUrl\",\n \"webApiCustomValue\": \"true\"\n }]\n });\n this.addModel({\n \"id\": \"$m_StelleninseratKopfElement\",\n \"webApiAction\": \"ZIT/Objekte/StelleninseratKopfElement\",\n \"webApiColumns\": ['Id'],\n \"key\": \"models.data.$m_Stelleninserat.IdStelleninseratKopfElement\",\n \"keyProperty\": \"Id\",\n \"filters\": []\n });\n this.addModel({\n \"id\": \"$m_StelleninseratGruppeRel\",\n \"webApiAction\": \"ZIT/Objekte/StelleninseratGruppe\",\n \"webApiColumns\": [\"Id\", \"SortNr\", \"Text\", \"IdStelleninseratGruppentyp\"],\n \"webApiExpand\": {\n 'Gruppentyp': null\n },\n \"webApiOrderBy\": [{\n \"columnName\": \"GruppentypSortNr\",\n \"sortOrder\": 0\n }, {\n \"columnName\": \"GruppentypBezeichnung\",\n \"sortOrder\": 0\n }, {\n \"columnName\": \"SortNr\",\n \"sortOrder\": 0\n }, {\n \"columnName\": \"Text\",\n \"sortOrder\": 0\n }],\n \"keyProperty\": \"Id\",\n \"filters\": []\n });\n this.addModel({\n \"id\": \"$m_StelleninseratGruppeEdit\",\n \"webApiAction\": \"ZIT/Objekte/StelleninseratGruppe\",\n \"webApiExpand\": {\n 'Gruppentyp': null\n },\n \"keyProperty\": \"Id\",\n \"filters\": []\n });\n this.addModel({\n \"id\": \"$m_StelleninseratGruppeElement\",\n \"webApiAction\": \"ZIT/Objekte/StelleninseratGruppeElement\",\n \"key\": \"models.data.$m_Stelleninserat.IdStelleninseratGruppeElement\",\n \"keyProperty\": \"Id\",\n \"filters\": []\n });\n this.addModel({\n \"id\": \"$m_Bewerbung\",\n \"webApiAction\": \"ZIT/Objekte/Bewerbung\",\n \"webApiColumns\": [\"Id\"],\n \"webApiWhere\": [\"Kopf.IdStelleninserat\", {\n \"isBound\": true,\n \"expression\": \"models.data.$m_Stelleninserat.Id\"\n }],\n \"webApiOrderBy\": [{\n \"columnName\": \"Bewerbungsdatum\",\n \"sortOrder\": 1\n }, {\n \"columnName\": \"Id\",\n \"sortOrder\": 1\n }],\n \"modificationInfoEnabled\": true,\n \"keyProperty\": \"Id\",\n \"filters\": [{\n \"webApiCustomKey\": \"AddBewerbungCard\",\n \"webApiCustomValue\": \"true\"\n }]\n });\n this.addModel({\n \"id\": \"$m_Bewerbungstyp\",\n \"webApiAction\": \"ZIT/Stammdaten/StelleninseratBewerbungstyp\",\n \"key\": \"models.data.$m_Stelleninserat.Kopf.IdBewerbungstyp\",\n \"keyProperty\": \"Id\",\n \"filters\": []\n });\n this.addModel({\n \"id\": \"$m_StelleninseratKlasseRel\",\n \"webApiAction\": \"ZIT/Objekte/StelleninseratKlasse\",\n \"keyProperty\": \"Id\",\n \"filters\": []\n });\n this.addModel({\n \"id\": \"$m_StelleninseratKlasseEdit\",\n \"webApiAction\": \"ZIT/Objekte/StelleninseratKlasse\",\n \"keyProperty\": \"Id\",\n \"filters\": []\n });\n this.addModel({\n \"id\": \"$m_StelleninseratKopfElementChannelRel\",\n \"webApiAction\": \"ZIT/Objekte/StelleninseratKopfElementZuChannel\",\n \"webApiExpand\": {\n 'Channel': null,\n 'StelleninseratBewerbungstyp': null\n },\n \"keyProperty\": \"Id\",\n \"allowNew\": \"functions.$f_Stelleninserat.canAddChannel\",\n \"filters\": []\n });\n this.addModel({\n \"id\": \"$m_StelleninseratKopfElementChannelEdit\",\n \"webApiAction\": \"ZIT/Objekte/StelleninseratKopfElementZuChannel\",\n \"keyProperty\": \"Id\",\n \"filters\": []\n });\n this.addModel({\n \"id\": \"$m_SchnupperberufeGeschaeftspartner\",\n \"webApiAction\": \"ZIT/Stammdaten/SchnupperberufGeschaeftspartner\",\n \"keyProperty\": \"Id\",\n \"filters\": [{\n \"webApiCustomKey\": \"IdStelleninseratKopfElement\",\n \"webApiCustomValue\": \"models.data.$m_Stelleninserat.Kopf.Id\"\n }]\n });\n this.addModel({\n \"id\": \"$m_Geschaeftspartner\",\n \"webApiAction\": \"ZIT/Objekte/Geschaeftspartner\",\n \"webApiColumns\": [\"Id\"],\n \"modificationInfoEnabled\": true,\n \"key\": \"models.data.$m_Stelleninserat.Kopf.IdGeschaeftspartner\",\n \"keyProperty\": \"Id\",\n \"filters\": [{\n \"webApiCustomKey\": \"LoadPackageInfo\",\n \"webApiCustomValue\": \"true\"\n }]\n });\n this.addCommand({\n \"binding\": {\n \"bindTo\": \"$f_Stelleninserat.actionCommand\",\n \"bindToFQ\": \"functions.$f_Stelleninserat.actionCommand\"\n }\n });\n this.addEditPopup({\n \"idContent\": \"stelleninseratGruppeEditPopupContent\",\n \"mappings\": [{\n \"to\": \"$id\",\n \"binding\": {\n \"dataContext\": \"$m_StelleninseratGruppeEdit\",\n \"bindTo\": \"Id\",\n \"bindToFQ\": \"models.data.$m_StelleninseratGruppeEdit.Id\"\n }\n }, {\n \"to\": \"$v_idGeschaeftspartner\",\n \"binding\": {\n \"dataContext\": \"$m_Stelleninserat\",\n \"bindTo\": \"Kopf.IdGeschaeftspartner\",\n \"bindToFQ\": \"models.data.$m_Stelleninserat.Kopf.IdGeschaeftspartner\",\n \"propertyPrefix\": \"Kopf\"\n }\n }, {\n \"to\": \"$v_idStelleninserat\",\n \"binding\": {\n \"dataContext\": \"$m_Stelleninserat\",\n \"bindTo\": \"Id\",\n \"bindToFQ\": \"models.data.$m_Stelleninserat.Id\"\n }\n }],\n \"id\": \"stelleninseratGruppeEditPopup\",\n \"options\": {\n \"optionsName\": \"stelleninseratGruppeEditPopupOptions\",\n \"optionsNameFQ\": \"stelleninseratGruppeEditPopupOptions\"\n },\n \"caption\": \"stelleninserat-lehre-kunde-package-edit.stelleninseratgruppeeditpopup_caption\",\n \"height\": \"auto\",\n \"width\": \"500px\",\n \"commands\": []\n });\n this.addEditPopup({\n \"idContent\": \"stelleninseratLehreKlasseEditPopupContent\",\n \"mappings\": [{\n \"to\": \"$id\",\n \"binding\": {\n \"dataContext\": \"$m_StelleninseratKlasseEdit\",\n \"bindTo\": \"Id\",\n \"bindToFQ\": \"models.data.$m_StelleninseratKlasseEdit.Id\"\n }\n }],\n \"id\": \"stelleninseratLehreKlasseEditPopup\",\n \"options\": {\n \"optionsName\": \"stelleninseratLehreKlasseEditPopupOptions\",\n \"optionsNameFQ\": \"stelleninseratLehreKlasseEditPopupOptions\"\n },\n \"height\": \"auto\",\n \"width\": \"500px\",\n \"commands\": []\n });\n this.addEditPopup({\n \"idContent\": \"stelleninseratKopfElementChannelEditPopupContent\",\n \"mappings\": [{\n \"to\": \"$id\",\n \"binding\": {\n \"dataContext\": \"$m_StelleninseratKopfElementChannelEdit\",\n \"bindTo\": \"Id\",\n \"bindToFQ\": \"models.data.$m_StelleninseratKopfElementChannelEdit.Id\"\n }\n }],\n \"id\": \"stelleninseratKopfElementChannelEditPopup\",\n \"options\": {\n \"optionsName\": \"stelleninseratKopfElementChannelEditPopupOptions\",\n \"optionsNameFQ\": \"stelleninseratKopfElementChannelEditPopupOptions\"\n },\n \"height\": \"auto\",\n \"width\": \"500px\",\n \"commands\": []\n });\n this.addFunction(\"$f_Stelleninserat\", $f_Stelleninserat, \"functions.$f_Stelleninserat\");\n this.addFunction(\"$f_StelleninseratLehreKundePackage\", $f_StelleninseratLehreKundePackage, \"functions.$f_StelleninseratLehreKundePackage\");\n this.widgetCreator.addValidationGroup(this, {\n \"id\": \"wd1\",\n \"options\": {\n \"optionsName\": \"wd1Options\",\n \"optionsNameFQ\": \"wd1Options\"\n }\n });\n this.widgetCreator.addLookup(this, {\n \"idSelect\": \"geschaeftspartner\",\n \"filters\": [],\n \"caption\": \"stelleninserat-lehre-kunde-package-edit.r_geschaeftspartner_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Stelleninserat\",\n \"bindTo\": \"Kopf.IdGeschaeftspartner\",\n \"bindToFQ\": \"models.data.$m_Stelleninserat.Kopf.IdGeschaeftspartner\",\n \"propertyPrefix\": \"Kopf\"\n },\n \"validationRules\": [{\n \"item\": {\n \"type\": \"required\",\n \"parameters\": []\n }\n }],\n \"id\": \"r_geschaeftspartner\",\n \"options\": {\n \"optionsName\": \"r_geschaeftspartnerOptions\",\n \"optionsNameFQ\": \"r_geschaeftspartnerOptions\"\n }\n });\n this.widgetCreator.addSelectBox(this, {\n \"idSelect\": \"stelleninseratBewerbungstyp\",\n \"filter\": [\n [\"IdGeschaeftspartner\", \"null\"], \"or\", [\"IdGeschaeftspartner\", {\n \"isBound\": true,\n \"expression\": \"models.data.$m_Stelleninserat.Kopf.IdGeschaeftspartner\"\n }]\n ],\n \"customs\": [{\n \"key\": \"IdGeschaeftspartner\",\n \"value\": \"models.data.$m_Stelleninserat.Kopf.IdGeschaeftspartner\"\n }, {\n \"key\": \"CheckBenutzerrolle\",\n \"value\": \"true\"\n }],\n \"filters\": [],\n \"caption\": \"stelleninserat-lehre-kunde-package-edit.r_bewerbungstyp_caption\",\n \"placeholder\": \"stelleninserat-lehre-kunde-package-edit.r_bewerbungstyp_placeholder\",\n \"binding\": {\n \"dataContext\": \"$m_Stelleninserat\",\n \"bindTo\": \"Kopf.IdBewerbungstyp\",\n \"bindToFQ\": \"models.data.$m_Stelleninserat.Kopf.IdBewerbungstyp\",\n \"propertyPrefix\": \"Kopf\"\n },\n \"validationRules\": [{\n \"item\": {\n \"type\": \"required\",\n \"parameters\": []\n }\n }],\n \"id\": \"r_bewerbungstyp\",\n \"options\": {\n \"optionsName\": \"r_bewerbungstypOptions\",\n \"optionsNameFQ\": \"r_bewerbungstypOptions\"\n }\n });\n this.widgetCreator.addTextBox(this, {\n \"maxLength\": 500,\n \"caption\": \"stelleninserat-lehre-kunde-package-edit.r_weiterleitungslink_caption\",\n \"isReadOnlyExpression\": \"!models.data.$m_Bewerbungstyp || !models.data.$m_Bewerbungstyp.WebsiteUmleitungLautWeiterleitungslink\",\n \"binding\": {\n \"dataContext\": \"$m_Stelleninserat\",\n \"bindTo\": \"Kopf.Weiterleitungslink\",\n \"bindToFQ\": \"models.data.$m_Stelleninserat.Kopf.Weiterleitungslink\",\n \"propertyPrefix\": \"Kopf\"\n },\n \"validationRules\": [],\n \"id\": \"r_weiterleitungslink\",\n \"options\": {\n \"optionsName\": \"r_weiterleitungslinkOptions\",\n \"optionsNameFQ\": \"r_weiterleitungslinkOptions\"\n }\n });\n this.widgetCreator.addSelectBox(this, {\n \"idSelect\": \"lehrberuf\",\n \"filters\": [],\n \"caption\": \"stelleninserat-lehre-kunde-package-edit.r_lehrberuf_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Stelleninserat\",\n \"bindTo\": \"Kopf.IdLehrberuf\",\n \"bindToFQ\": \"models.data.$m_Stelleninserat.Kopf.IdLehrberuf\",\n \"propertyPrefix\": \"Kopf\"\n },\n \"validationRules\": [{\n \"item\": {\n \"type\": \"required\",\n \"parameters\": []\n }\n }],\n \"id\": \"r_lehrberuf\",\n \"options\": {\n \"optionsName\": \"r_lehrberufOptions\",\n \"optionsNameFQ\": \"r_lehrberufOptions\"\n }\n });\n this.widgetCreator.addTextBox(this, {\n \"maxLength\": 250,\n \"caption\": \"stelleninserat-lehre-kunde-package-edit.r_stellenbezeichnungextern_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Stelleninserat\",\n \"bindTo\": \"Kopf.StellenbezeichnungExtern\",\n \"bindToFQ\": \"models.data.$m_Stelleninserat.Kopf.StellenbezeichnungExtern\",\n \"propertyPrefix\": \"Kopf\"\n },\n \"validationRules\": [{\n \"item\": {\n \"type\": \"required\",\n \"parameters\": []\n }\n }],\n \"id\": \"r_stellenbezeichnungExtern\",\n \"options\": {\n \"optionsName\": \"r_stellenbezeichnungExternOptions\",\n \"optionsNameFQ\": \"r_stellenbezeichnungExternOptions\"\n }\n });\n this.widgetCreator.addTextBox(this, {\n \"maxLength\": 250,\n \"caption\": \"stelleninserat-lehre-kunde-package-edit.r_stellenbezeichnungintern_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Stelleninserat\",\n \"bindTo\": \"Kopf.StellenbezeichnungIntern\",\n \"bindToFQ\": \"models.data.$m_Stelleninserat.Kopf.StellenbezeichnungIntern\",\n \"propertyPrefix\": \"Kopf\"\n },\n \"validationRules\": [],\n \"id\": \"r_stellenbezeichnungIntern\",\n \"options\": {\n \"optionsName\": \"r_stellenbezeichnungInternOptions\",\n \"optionsNameFQ\": \"r_stellenbezeichnungInternOptions\"\n }\n });\n this.widgetCreator.addLookup(this, {\n \"idSelect\": \"ansprechperson\",\n \"customs\": [{\n \"key\": \"IdGeschaeftspartner\",\n \"value\": \"models.data.$m_Stelleninserat.Kopf.IdGeschaeftspartner\"\n }],\n \"filters\": [],\n \"caption\": \"stelleninserat-lehre-kunde-package-edit.ansprechpersonselect_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Stelleninserat\",\n \"bindTo\": \"Kopf.IdAnsprechperson\",\n \"bindToFQ\": \"models.data.$m_Stelleninserat.Kopf.IdAnsprechperson\",\n \"propertyPrefix\": \"Kopf\"\n },\n \"validationRules\": [],\n \"id\": \"ansprechpersonSelect\",\n \"options\": {\n \"optionsName\": \"ansprechpersonSelectOptions\",\n \"optionsNameFQ\": \"ansprechpersonSelectOptions\"\n }\n });\n this.widgetCreator.addCheckBox(this, {\n \"caption\": \"stelleninserat-lehre-kunde-package-edit.r_nuronlinebewerbungerwuenscht_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Stelleninserat\",\n \"bindTo\": \"Kopf.NurOnlineBewerbungErwuenscht\",\n \"bindToFQ\": \"models.data.$m_Stelleninserat.Kopf.NurOnlineBewerbungErwuenscht\",\n \"propertyPrefix\": \"Kopf\"\n },\n \"validationRules\": [],\n \"id\": \"r_nurOnlineBewerbungErwuenscht\",\n \"options\": {\n \"optionsName\": \"r_nurOnlineBewerbungErwuenschtOptions\",\n \"optionsNameFQ\": \"r_nurOnlineBewerbungErwuenschtOptions\"\n }\n });\n this.widgetCreator.addTextBox(this, {\n \"maxLength\": 250,\n \"caption\": \"stelleninserat-lehre-kunde-package-edit.r_subheadline_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Stelleninserat\",\n \"bindTo\": \"Kopf.Subheadline\",\n \"bindToFQ\": \"models.data.$m_Stelleninserat.Kopf.Subheadline\",\n \"propertyPrefix\": \"Kopf\"\n },\n \"validationRules\": [{\n \"item\": {\n \"type\": \"required\",\n \"parameters\": []\n }\n }],\n \"id\": \"r_subheadline\",\n \"options\": {\n \"optionsName\": \"r_subheadlineOptions\",\n \"optionsNameFQ\": \"r_subheadlineOptions\"\n }\n });\n this.widgetCreator.addFileUploaderWithViewer(this, {\n \"acceptTypeEnum\": 0,\n \"acceptType\": \"image/*\",\n \"placeholderImageExpression\": \"models.data.$m_Stelleninserat.Kopf.DMSLinkStandardBild\",\n \"placeholderImageText\": \"Standardbild laut Lehrberuf\",\n \"height\": \"250px\",\n \"showToolbar\": true,\n \"showClearButton\": false,\n \"caption\": \"stelleninserat-lehre-kunde-package-edit.r_dmslinkbild_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Stelleninserat\",\n \"bindTo\": \"Kopf.DMSLinkBild\",\n \"bindToFQ\": \"models.data.$m_Stelleninserat.Kopf.DMSLinkBild\",\n \"propertyPrefix\": \"Kopf\"\n },\n \"validationRules\": [],\n \"id\": \"r_dmslinkBild\",\n \"options\": {\n \"optionsName\": \"r_dmslinkBildOptions\",\n \"optionsNameFQ\": \"r_dmslinkBildOptions\"\n }\n });\n this.widgetCreator.addLookup(this, {\n \"idSelect\": \"geschaeftspartner\",\n \"filters\": [],\n \"caption\": \"stelleninserat-lehre-kunde-package-edit.r_geschaeftspartnernopackage_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Stelleninserat\",\n \"bindTo\": \"Kopf.IdGeschaeftspartner\",\n \"bindToFQ\": \"models.data.$m_Stelleninserat.Kopf.IdGeschaeftspartner\",\n \"propertyPrefix\": \"Kopf\"\n },\n \"validationRules\": [{\n \"binding\": {\n \"dataContext\": \"$m_Stelleninserat\",\n \"bindTo\": \"$f_Stelleninserat.keinPackageRule\",\n \"bindToFQ\": \"functions.$f_Stelleninserat.keinPackageRule\"\n }\n }, {\n \"item\": {\n \"type\": \"required\",\n \"parameters\": []\n }\n }],\n \"id\": \"r_geschaeftspartnerNoPackage\",\n \"options\": {\n \"optionsName\": \"r_geschaeftspartnerNoPackageOptions\",\n \"optionsNameFQ\": \"r_geschaeftspartnerNoPackageOptions\"\n }\n });\n this.widgetCreator.addTextBox(this, {\n \"maxLength\": 250,\n \"caption\": \"stelleninserat-lehre-kunde-package-edit.r_standort_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Stelleninserat\",\n \"bindTo\": \"Kopf.Standort\",\n \"bindToFQ\": \"models.data.$m_Stelleninserat.Kopf.Standort\",\n \"propertyPrefix\": \"Kopf\"\n },\n \"validationRules\": [],\n \"id\": \"r_standort\",\n \"options\": {\n \"optionsName\": \"r_standortOptions\",\n \"optionsNameFQ\": \"r_standortOptions\"\n }\n });\n this.widgetCreator.addTextBox(this, {\n \"maxLength\": 500,\n \"caption\": \"stelleninserat-lehre-kunde-package-edit.r_googlekarteadresse_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Stelleninserat\",\n \"bindTo\": \"Kopf.GoogleKartenAdresse\",\n \"bindToFQ\": \"models.data.$m_Stelleninserat.Kopf.GoogleKartenAdresse\",\n \"propertyPrefix\": \"Kopf\"\n },\n \"validationRules\": [],\n \"id\": \"r_googleKarteAdresse\",\n \"options\": {\n \"optionsName\": \"r_googleKarteAdresseOptions\",\n \"optionsNameFQ\": \"r_googleKarteAdresseOptions\"\n }\n });\n this.widgetCreator.addSelectBox(this, {\n \"idSelect\": \"schnupperterminanfrageart\",\n \"filters\": [{\n \"webApiCustomKey\": \"IdStelleninseratGeschaeftspartner\",\n \"webApiCustomValue\": \"models.data.$m_Stelleninserat.Kopf.IdGeschaeftspartner\"\n }, {\n \"webApiCustomKey\": \"IdStelleninseratGeschaeftspartner\",\n \"webApiCustomValue\": \"models.data.$m_Stelleninserat.Kopf.IdGeschaeftspartner\"\n }],\n \"caption\": \"stelleninserat-lehre-kunde-package-edit.r_schnupperterminanfrageart_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Stelleninserat\",\n \"bindTo\": \"Kopf.IdSchnupperterminAnfrageart\",\n \"bindToFQ\": \"models.data.$m_Stelleninserat.Kopf.IdSchnupperterminAnfrageart\",\n \"propertyPrefix\": \"Kopf\"\n },\n \"validationRules\": [{\n \"item\": {\n \"type\": \"required\",\n \"parameters\": []\n }\n }],\n \"id\": \"r_schnupperterminAnfrageart\",\n \"options\": {\n \"optionsName\": \"r_schnupperterminAnfrageartOptions\",\n \"optionsNameFQ\": \"r_schnupperterminAnfrageartOptions\"\n }\n });\n this.widgetCreator.addTextBox(this, {\n \"maxLength\": 250,\n \"caption\": \"stelleninserat-lehre-kunde-package-edit.r_arbeitskleidungschnuppern_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Stelleninserat\",\n \"bindTo\": \"Kopf.ArbeitskleidungSchnuppern\",\n \"bindToFQ\": \"models.data.$m_Stelleninserat.Kopf.ArbeitskleidungSchnuppern\",\n \"propertyPrefix\": \"Kopf\"\n },\n \"validationRules\": [],\n \"id\": \"r_arbeitskleidungSchnuppern\",\n \"options\": {\n \"optionsName\": \"r_arbeitskleidungSchnuppernOptions\",\n \"optionsNameFQ\": \"r_arbeitskleidungSchnuppernOptions\"\n }\n });\n this.widgetCreator.addRadioGroup(this, {\n \"idSelect\": \"pflichtfeld\",\n \"filters\": [],\n \"caption\": \"stelleninserat-lehre-kunde-package-edit.r_lebenslaufanfragen_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Stelleninserat\",\n \"bindTo\": \"FerialbewerbungFragebogen.LebenslaufAnfragen\",\n \"bindToFQ\": \"models.data.$m_Stelleninserat.FerialbewerbungFragebogen.LebenslaufAnfragen\",\n \"propertyPrefix\": \"FerialbewerbungFragebogen\"\n },\n \"validationRules\": [],\n \"id\": \"r_lebenslaufAnfragen\",\n \"options\": {\n \"optionsName\": \"r_lebenslaufAnfragenOptions\",\n \"optionsNameFQ\": \"r_lebenslaufAnfragenOptions\"\n }\n });\n this.widgetCreator.addRadioGroup(this, {\n \"idSelect\": \"pflichtfeld\",\n \"filters\": [],\n \"caption\": \"stelleninserat-lehre-kunde-package-edit.r_anschreibenanfragen_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Stelleninserat\",\n \"bindTo\": \"FerialbewerbungFragebogen.AnschreibenAnfragen\",\n \"bindToFQ\": \"models.data.$m_Stelleninserat.FerialbewerbungFragebogen.AnschreibenAnfragen\",\n \"propertyPrefix\": \"FerialbewerbungFragebogen\"\n },\n \"validationRules\": [],\n \"id\": \"r_anschreibenAnfragen\",\n \"options\": {\n \"optionsName\": \"r_anschreibenAnfragenOptions\",\n \"optionsNameFQ\": \"r_anschreibenAnfragenOptions\"\n }\n });\n this.widgetCreator.addRadioGroup(this, {\n \"idSelect\": \"pflichtfeld\",\n \"filters\": [],\n \"caption\": \"stelleninserat-lehre-kunde-package-edit.r_zeugnisanfragen_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Stelleninserat\",\n \"bindTo\": \"FerialbewerbungFragebogen.LetztesZeugnisAnfragen\",\n \"bindToFQ\": \"models.data.$m_Stelleninserat.FerialbewerbungFragebogen.LetztesZeugnisAnfragen\",\n \"propertyPrefix\": \"FerialbewerbungFragebogen\"\n },\n \"validationRules\": [],\n \"id\": \"r_zeugnisAnfragen\",\n \"options\": {\n \"optionsName\": \"r_zeugnisAnfragenOptions\",\n \"optionsNameFQ\": \"r_zeugnisAnfragenOptions\"\n }\n });\n this.widgetCreator.addRadioGroup(this, {\n \"idSelect\": \"pflichtfeld\",\n \"filters\": [],\n \"caption\": \"stelleninserat-lehre-kunde-package-edit.r_reisepassausweisanfragen_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Stelleninserat\",\n \"bindTo\": \"FerialbewerbungFragebogen.ReisepassAusweisAnfragen\",\n \"bindToFQ\": \"models.data.$m_Stelleninserat.FerialbewerbungFragebogen.ReisepassAusweisAnfragen\",\n \"propertyPrefix\": \"FerialbewerbungFragebogen\"\n },\n \"validationRules\": [],\n \"id\": \"r_reisepassAusweisAnfragen\",\n \"options\": {\n \"optionsName\": \"r_reisepassAusweisAnfragenOptions\",\n \"optionsNameFQ\": \"r_reisepassAusweisAnfragenOptions\"\n }\n });\n this.widgetCreator.addRadioGroup(this, {\n \"idSelect\": \"pflichtfeld\",\n \"filters\": [],\n \"caption\": \"stelleninserat-lehre-kunde-package-edit.r_schnuppertermineanzeigen_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Stelleninserat\",\n \"bindTo\": \"Kopf.SchnuppertermineAnzeigen\",\n \"bindToFQ\": \"models.data.$m_Stelleninserat.Kopf.SchnuppertermineAnzeigen\",\n \"propertyPrefix\": \"Kopf\"\n },\n \"validationRules\": [],\n \"id\": \"r_schnuppertermineAnzeigen\",\n \"options\": {\n \"optionsName\": \"r_schnuppertermineAnzeigenOptions\",\n \"optionsNameFQ\": \"r_schnuppertermineAnzeigenOptions\"\n }\n });\n this.widgetCreator.addCheckBox(this, {\n \"caption\": \"stelleninserat-lehre-kunde-package-edit.r_stelleninserataktiv_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Stelleninserat\",\n \"bindTo\": \"Kopf.IsAktiv\",\n \"bindToFQ\": \"models.data.$m_Stelleninserat.Kopf.IsAktiv\",\n \"propertyPrefix\": \"Kopf\"\n },\n \"validationRules\": [],\n \"id\": \"r_stelleninseratAktiv\",\n \"options\": {\n \"optionsName\": \"r_stelleninseratAktivOptions\",\n \"optionsNameFQ\": \"r_stelleninseratAktivOptions\"\n }\n });\n this.widgetCreator.addCheckBox(this, {\n \"caption\": \"stelleninserat-lehre-kunde-package-edit.r_priorisieren_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Stelleninserat\",\n \"bindTo\": \"Kopf.Priorisieren\",\n \"bindToFQ\": \"models.data.$m_Stelleninserat.Kopf.Priorisieren\",\n \"propertyPrefix\": \"Kopf\"\n },\n \"validationRules\": [],\n \"id\": \"r_priorisieren\",\n \"options\": {\n \"optionsName\": \"r_priorisierenOptions\",\n \"optionsNameFQ\": \"r_priorisierenOptions\"\n }\n });\n this.widgetCreator.addSelectBox(this, {\n \"idSelect\": \"veroeffentlichungTyp\",\n \"filters\": [],\n \"caption\": \"stelleninserat-lehre-kunde-package-edit.r_veroeffentlichentyp_caption\",\n \"isReadOnly\": true,\n \"binding\": {\n \"dataContext\": \"$m_Stelleninserat\",\n \"bindTo\": \"VeroeffentlichungTyp\",\n \"bindToFQ\": \"models.data.$m_Stelleninserat.VeroeffentlichungTyp\"\n },\n \"validationRules\": [],\n \"id\": \"r_veroeffentlichenTyp\",\n \"options\": {\n \"optionsName\": \"r_veroeffentlichenTypOptions\",\n \"optionsNameFQ\": \"r_veroeffentlichenTypOptions\"\n }\n });\n this.widgetCreator.addDateBox(this, {\n \"format\": \"d\",\n \"caption\": \"stelleninserat-lehre-kunde-package-edit.r_gueltigvon_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Stelleninserat\",\n \"bindTo\": \"Kopf.GueltigVon\",\n \"bindToFQ\": \"models.data.$m_Stelleninserat.Kopf.GueltigVon\",\n \"propertyPrefix\": \"Kopf\"\n },\n \"validationRules\": [{\n \"item\": {\n \"type\": \"required\",\n \"parameters\": []\n }\n }],\n \"id\": \"r_gueltigVon\",\n \"options\": {\n \"optionsName\": \"r_gueltigVonOptions\",\n \"optionsNameFQ\": \"r_gueltigVonOptions\"\n }\n });\n this.widgetCreator.addDateBox(this, {\n \"format\": \"d\",\n \"caption\": \"stelleninserat-lehre-kunde-package-edit.r_gueltigbis_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Stelleninserat\",\n \"bindTo\": \"Kopf.GueltigBis\",\n \"bindToFQ\": \"models.data.$m_Stelleninserat.Kopf.GueltigBis\",\n \"propertyPrefix\": \"Kopf\"\n },\n \"validationRules\": [{\n \"item\": {\n \"type\": \"required\",\n \"parameters\": []\n }\n }],\n \"id\": \"r_gueltigBis\",\n \"options\": {\n \"optionsName\": \"r_gueltigBisOptions\",\n \"optionsNameFQ\": \"r_gueltigBisOptions\"\n }\n });\n this.widgetCreator.addDateBox(this, {\n \"format\": \"d\",\n \"caption\": \"stelleninserat-lehre-kunde-package-edit.r_bewerbungvon_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Stelleninserat\",\n \"bindTo\": \"FerialeinsatzEinstellungen.BewerbungOnlineVon\",\n \"bindToFQ\": \"models.data.$m_Stelleninserat.FerialeinsatzEinstellungen.BewerbungOnlineVon\",\n \"propertyPrefix\": \"FerialeinsatzEinstellungen\"\n },\n \"validationRules\": [{\n \"binding\": {\n \"dataContext\": \"$m_Stelleninserat\",\n \"bindTo\": \"$f_Stelleninserat.bewerbungVonValidationRule\",\n \"bindToFQ\": \"functions.$f_Stelleninserat.bewerbungVonValidationRule\"\n }\n }],\n \"id\": \"r_bewerbungVon\",\n \"options\": {\n \"optionsName\": \"r_bewerbungVonOptions\",\n \"optionsNameFQ\": \"r_bewerbungVonOptions\"\n }\n });\n this.widgetCreator.addDateBox(this, {\n \"format\": \"d\",\n \"caption\": \"stelleninserat-lehre-kunde-package-edit.r_bewerbungbis_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Stelleninserat\",\n \"bindTo\": \"FerialeinsatzEinstellungen.BewerbungOnlineBis\",\n \"bindToFQ\": \"models.data.$m_Stelleninserat.FerialeinsatzEinstellungen.BewerbungOnlineBis\",\n \"propertyPrefix\": \"FerialeinsatzEinstellungen\"\n },\n \"validationRules\": [{\n \"binding\": {\n \"dataContext\": \"$m_Stelleninserat\",\n \"bindTo\": \"$f_Stelleninserat.bewerbungBisValidationRule\",\n \"bindToFQ\": \"functions.$f_Stelleninserat.bewerbungBisValidationRule\"\n }\n }],\n \"id\": \"r_bewerbungBis\",\n \"options\": {\n \"optionsName\": \"r_bewerbungBisOptions\",\n \"optionsNameFQ\": \"r_bewerbungBisOptions\"\n }\n });\n this.widgetCreator.addTextBox(this, {\n \"maxLength\": 250,\n \"caption\": \"stelleninserat-lehre-kunde-package-edit.r_bezeichnungiframe_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Stelleninserat\",\n \"bindTo\": \"Kopf.BezeichnungIFrame\",\n \"bindToFQ\": \"models.data.$m_Stelleninserat.Kopf.BezeichnungIFrame\",\n \"propertyPrefix\": \"Kopf\"\n },\n \"validationRules\": [],\n \"id\": \"r_bezeichnungIframe\",\n \"options\": {\n \"optionsName\": \"r_bezeichnungIframeOptions\",\n \"optionsNameFQ\": \"r_bezeichnungIframeOptions\"\n }\n });\n this.widgetCreator.addTagBox(this, {\n \"caption\": \"stelleninserat-lehre-kunde-package-edit.r_schnupperberufegeschaeftspartner_caption\",\n \"dataContext\": \"$m_Stelleninserat\",\n \"batchSelectionEnabled\": true,\n \"relationBinding\": {\n \"dataContext\": \"$m_Stelleninserat\",\n \"bindTo\": \"Kopf.Schnupperberufe\",\n \"bindToFQ\": \"models.data.$m_Stelleninserat.Kopf.Schnupperberufe\",\n \"propertyPrefix\": \"Kopf\"\n },\n \"relationProperty\": \"IdSchnupperberufGeschaeftspartner\",\n \"itemDataContext\": \"$m_SchnupperberufeGeschaeftspartner\",\n \"itemValueExpr\": \"Id\",\n \"itemDisplayExpr\": \"Bezeichnung\",\n \"binding\": {\n \"dataContext\": \"$m_Stelleninserat\"\n },\n \"validationRules\": [],\n \"id\": \"r_schnupperberufeGeschaeftspartner\",\n \"options\": {\n \"optionsName\": \"r_schnupperberufeGeschaeftspartnerOptions\",\n \"optionsNameFQ\": \"r_schnupperberufeGeschaeftspartnerOptions\"\n }\n });\n this.widgetCreator.addTextArea(this, {\n \"height\": \"250px\",\n \"caption\": \"stelleninserat-lehre-kunde-package-edit.r_standardinseratzusatzinfo_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Stelleninserat\",\n \"bindTo\": \"Kopf.StandardInseratZusatzInfo\",\n \"bindToFQ\": \"models.data.$m_Stelleninserat.Kopf.StandardInseratZusatzInfo\",\n \"propertyPrefix\": \"Kopf\"\n },\n \"validationRules\": [],\n \"id\": \"r_standardInseratZusatzInfo\",\n \"options\": {\n \"optionsName\": \"r_standardInseratZusatzInfoOptions\",\n \"optionsNameFQ\": \"r_standardInseratZusatzInfoOptions\"\n }\n });\n this.widgetCreator.addCheckBox(this, {\n \"caption\": \"stelleninserat-lehre-kunde-package-edit.r_nichtinschnupperterminmaskeanzeigen_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Stelleninserat\",\n \"bindTo\": \"Kopf.NichtInSchnupperterminMaskeAnzeigen\",\n \"bindToFQ\": \"models.data.$m_Stelleninserat.Kopf.NichtInSchnupperterminMaskeAnzeigen\",\n \"propertyPrefix\": \"Kopf\"\n },\n \"validationRules\": [],\n \"id\": \"r_nichtInSchnupperterminMaskeAnzeigen\",\n \"options\": {\n \"optionsName\": \"r_nichtInSchnupperterminMaskeAnzeigenOptions\",\n \"optionsNameFQ\": \"r_nichtInSchnupperterminMaskeAnzeigenOptions\"\n }\n });\n this.widgetCreator.addDataGrid(this, {\n \"columns\": [{\n \"id\": \"r_channelBezeichnung\",\n \"caption\": \"stelleninserat-lehre-kunde-package-edit.r_channelbezeichnung_caption\",\n \"bindTo\": \"Channel.Bezeichnung\",\n \"minWidth\": 100\n }, {\n \"id\": \"r_channelVeroeffentlichungtyp\",\n \"caption\": \"stelleninserat-lehre-kunde-package-edit.r_channelveroeffentlichungtyp_caption\",\n \"bindTo\": \"VeroeffentlichungTyp\",\n \"minWidth\": 100,\n \"enumTypeName\": \"TIP.ZIT.Business.Enumerations.VeroeffentlichungTypEnum\"\n }, {\n \"id\": \"r_channelBewerbungstyp\",\n \"caption\": \"stelleninserat-lehre-kunde-package-edit.r_channelbewerbungstyp_caption\",\n \"bindTo\": \"StelleninseratBewerbungstyp.Bezeichnung\",\n \"minWidth\": 100\n }],\n \"createToolbar\": true,\n \"optionsToolbar\": {\n \"optionsName\": \"r_StelleninseratKopfElementChannelGridToolbarOptions\",\n \"optionsNameFQ\": \"r_StelleninseratKopfElementChannelGridToolbarOptions\"\n },\n \"caption\": \"stelleninserat-lehre-kunde-package-edit.r_stelleninseratkopfelementchannelgrid_caption\",\n \"binding\": {\n \"dataContext\": \"$m_StelleninseratKopfElement\"\n },\n \"isRelation\": true,\n \"relationBinding\": {\n \"dataContext\": \"$m_StelleninseratKopfElementChannelRel\",\n \"bindTo\": \"IdStelleninseratKopfElement\",\n \"bindToFQ\": \"models.data.$m_StelleninseratKopfElementChannelRel.IdStelleninseratKopfElement\"\n },\n \"dataModel\": \"$m_StelleninseratKopfElement\",\n \"editDataContext\": \"$m_StelleninseratKopfElementChannelEdit\",\n \"idEditPopup\": \"stelleninseratKopfElementChannelEditPopup\",\n \"listEdits\": [],\n \"filters\": [],\n \"commands\": [],\n \"id\": \"r_StelleninseratKopfElementChannelGrid\",\n \"options\": {\n \"optionsName\": \"r_StelleninseratKopfElementChannelGridOptions\",\n \"optionsNameFQ\": \"r_StelleninseratKopfElementChannelGridOptions\"\n }\n });\n this.widgetCreator.addRadioGroup(this, {\n \"idSelect\": \"pflichtfeld\",\n \"filters\": [],\n \"caption\": \"stelleninserat-lehre-kunde-package-edit.r_bisherigeberufserfahrung_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Stelleninserat\",\n \"bindTo\": \"FerialbewerbungFragebogen.BisherigeBerufserfahrungAnfragen\",\n \"bindToFQ\": \"models.data.$m_Stelleninserat.FerialbewerbungFragebogen.BisherigeBerufserfahrungAnfragen\",\n \"propertyPrefix\": \"FerialbewerbungFragebogen\"\n },\n \"validationRules\": [],\n \"id\": \"r_bisherigeBerufserfahrung\",\n \"options\": {\n \"optionsName\": \"r_bisherigeBerufserfahrungOptions\",\n \"optionsNameFQ\": \"r_bisherigeBerufserfahrungOptions\"\n }\n });\n this.widgetCreator.addRadioGroup(this, {\n \"idSelect\": \"pflichtfeld\",\n \"filters\": [],\n \"caption\": \"stelleninserat-lehre-kunde-package-edit.r_fuehrerscheinundmobilitaet_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Stelleninserat\",\n \"bindTo\": \"FerialbewerbungFragebogen.FuehrerscheinUndMobilitaetAnfragen\",\n \"bindToFQ\": \"models.data.$m_Stelleninserat.FerialbewerbungFragebogen.FuehrerscheinUndMobilitaetAnfragen\",\n \"propertyPrefix\": \"FerialbewerbungFragebogen\"\n },\n \"validationRules\": [],\n \"id\": \"r_fuehrerscheinUndMobilitaet\",\n \"options\": {\n \"optionsName\": \"r_fuehrerscheinUndMobilitaetOptions\",\n \"optionsNameFQ\": \"r_fuehrerscheinUndMobilitaetOptions\"\n }\n });\n this.widgetCreator.addRadioGroup(this, {\n \"idSelect\": \"pflichtfeld\",\n \"filters\": [],\n \"caption\": \"stelleninserat-lehre-kunde-package-edit.r_sprachkenntnisse_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Stelleninserat\",\n \"bindTo\": \"FerialbewerbungFragebogen.SprachKenntnisseAnfragen\",\n \"bindToFQ\": \"models.data.$m_Stelleninserat.FerialbewerbungFragebogen.SprachKenntnisseAnfragen\",\n \"propertyPrefix\": \"FerialbewerbungFragebogen\"\n },\n \"validationRules\": [],\n \"id\": \"r_sprachKenntnisse\",\n \"options\": {\n \"optionsName\": \"r_sprachKenntnisseOptions\",\n \"optionsNameFQ\": \"r_sprachKenntnisseOptions\"\n }\n });\n this.widgetCreator.addRadioGroup(this, {\n \"idSelect\": \"pflichtfeld\",\n \"filters\": [],\n \"caption\": \"stelleninserat-lehre-kunde-package-edit.r_auswahlschule_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Stelleninserat\",\n \"bindTo\": \"FerialbewerbungFragebogen.AuswahlSchule\",\n \"bindToFQ\": \"models.data.$m_Stelleninserat.FerialbewerbungFragebogen.AuswahlSchule\",\n \"propertyPrefix\": \"FerialbewerbungFragebogen\"\n },\n \"validationRules\": [],\n \"id\": \"r_auswahlSchule\",\n \"options\": {\n \"optionsName\": \"r_auswahlSchuleOptions\",\n \"optionsNameFQ\": \"r_auswahlSchuleOptions\"\n }\n });\n this.widgetCreator.addRadioGroup(this, {\n \"idSelect\": \"pflichtfeld\",\n \"filters\": [],\n \"caption\": \"stelleninserat-lehre-kunde-package-edit.r_staplerfuehrerschein_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Stelleninserat\",\n \"bindTo\": \"FerialbewerbungFragebogen.StaplerFuehrerscheinAnfragen\",\n \"bindToFQ\": \"models.data.$m_Stelleninserat.FerialbewerbungFragebogen.StaplerFuehrerscheinAnfragen\",\n \"propertyPrefix\": \"FerialbewerbungFragebogen\"\n },\n \"validationRules\": [],\n \"id\": \"r_staplerfuehrerschein\",\n \"options\": {\n \"optionsName\": \"r_staplerfuehrerscheinOptions\",\n \"optionsNameFQ\": \"r_staplerfuehrerscheinOptions\"\n }\n });\n this.widgetCreator.addRadioGroup(this, {\n \"idSelect\": \"pflichtfeld\",\n \"filters\": [],\n \"caption\": \"stelleninserat-lehre-kunde-package-edit.r_angabewunschtermin_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Stelleninserat\",\n \"bindTo\": \"FerialbewerbungFragebogen.AngabeWunschtermin\",\n \"bindToFQ\": \"models.data.$m_Stelleninserat.FerialbewerbungFragebogen.AngabeWunschtermin\",\n \"propertyPrefix\": \"FerialbewerbungFragebogen\"\n },\n \"validationRules\": [],\n \"id\": \"r_angabeWunschtermin\",\n \"options\": {\n \"optionsName\": \"r_angabeWunschterminOptions\",\n \"optionsNameFQ\": \"r_angabeWunschterminOptions\"\n }\n });\n this.widgetCreator.addRadioGroup(this, {\n \"idSelect\": \"pflichtfeld\",\n \"filters\": [],\n \"caption\": \"stelleninserat-lehre-kunde-package-edit.r_schnupperberufgeschaeftspartner1_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Stelleninserat\",\n \"bindTo\": \"FerialbewerbungFragebogen.SchnupperberufGeschaeftspartner1\",\n \"bindToFQ\": \"models.data.$m_Stelleninserat.FerialbewerbungFragebogen.SchnupperberufGeschaeftspartner1\",\n \"propertyPrefix\": \"FerialbewerbungFragebogen\"\n },\n \"validationRules\": [],\n \"id\": \"r_schnupperberufGeschaeftspartner1\",\n \"options\": {\n \"optionsName\": \"r_schnupperberufGeschaeftspartner1Options\",\n \"optionsNameFQ\": \"r_schnupperberufGeschaeftspartner1Options\"\n }\n });\n this.widgetCreator.addRadioGroup(this, {\n \"idSelect\": \"pflichtfeld\",\n \"filters\": [],\n \"caption\": \"stelleninserat-lehre-kunde-package-edit.r_schnupperberufgeschaeftspartner2_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Stelleninserat\",\n \"bindTo\": \"FerialbewerbungFragebogen.SchnupperberufGeschaeftspartner2\",\n \"bindToFQ\": \"models.data.$m_Stelleninserat.FerialbewerbungFragebogen.SchnupperberufGeschaeftspartner2\",\n \"propertyPrefix\": \"FerialbewerbungFragebogen\"\n },\n \"validationRules\": [],\n \"id\": \"r_schnupperberufGeschaeftspartner2\",\n \"options\": {\n \"optionsName\": \"r_schnupperberufGeschaeftspartner2Options\",\n \"optionsNameFQ\": \"r_schnupperberufGeschaeftspartner2Options\"\n }\n });\n this.widgetCreator.addListView(this, {\n \"itemClass\": \"z--list-view-inline-item\",\n \"useDefaultListItemStyle\": false,\n \"createToolbar\": true,\n \"optionsToolbar\": {\n \"optionsName\": \"r_stelleninseratKlasseListViewToolbarOptions\",\n \"optionsNameFQ\": \"r_stelleninseratKlasseListViewToolbarOptions\"\n },\n \"caption\": \"stelleninserat-lehre-kunde-package-edit.r_stelleninseratklasselistview_caption\",\n \"binding\": {\n \"dataContext\": \"$m_StelleninseratKopfElement\"\n },\n \"isRelation\": true,\n \"relationBinding\": {\n \"dataContext\": \"$m_StelleninseratKlasseRel\",\n \"bindTo\": \"IdStelleninseratKopfElement\",\n \"bindToFQ\": \"models.data.$m_StelleninseratKlasseRel.IdStelleninseratKopfElement\"\n },\n \"dataModel\": \"$m_StelleninseratKopfElement\",\n \"editDataContext\": \"$m_StelleninseratKlasseEdit\",\n \"idEditPopup\": \"stelleninseratLehreKlasseEditPopup\",\n \"listEdits\": [],\n \"filters\": [],\n \"commands\": [],\n \"id\": \"r_stelleninseratKlasseListView\",\n \"options\": {\n \"optionsName\": \"r_stelleninseratKlasseListViewOptions\",\n \"optionsNameFQ\": \"r_stelleninseratKlasseListViewOptions\"\n }\n });\n this.widgetCreator.addListView(this, {\n \"itemClass\": \"col-xs-12 col-sm-6\",\n \"useDefaultListItemStyle\": false,\n \"createToolbar\": true,\n \"optionsToolbar\": {\n \"optionsName\": \"r_bewerbungenListViewToolbarOptions\",\n \"optionsNameFQ\": \"r_bewerbungenListViewToolbarOptions\"\n },\n \"caption\": \"stelleninserat-lehre-kunde-package-edit.r_bewerbungenlistview_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Bewerbung\"\n },\n \"dataModel\": \"$m_Bewerbung\",\n \"pageSize\": 4,\n \"listEdits\": [],\n \"filters\": [],\n \"commands\": [],\n \"id\": \"r_bewerbungenListView\",\n \"options\": {\n \"optionsName\": \"r_bewerbungenListViewOptions\",\n \"optionsNameFQ\": \"r_bewerbungenListViewOptions\"\n }\n });\n super.onConstructionFinished();\n }\n}","module.exports = \"\";","import * as fwx from \"../../../../framework/forms/form-export\";\nimport {\n StelleninseratReadUtils\n} from \"./stelleninserat-read-utils\";\n\n@fwx.autoinject\nexport class StelleninseratLehrePersonReadForm extends fwx.FormBase {\n constructor(\n element: Element,\n formBaseImport: fwx.FormBaseImport,\n private $f_StelleninseratReadUtils: StelleninseratReadUtils) {\n super(element, formBaseImport);\n this.id = \"stelleninserat-lehre-person-read\";\n this.title = \"stelleninserat-lehre-person-read.stelleninserat-lehre-person-read_caption\";\n this.addModel({\n \"id\": \"$m_Stelleninserat\",\n \"webApiAction\": \"ZIT/Objekte/Stelleninserat\",\n \"webApiExpand\": {\n 'Kopf': {\n 'expand': {\n 'TextKopfzeile1': null,\n 'TextFusszeile1': null,\n 'Ansprechperson': {\n 'expand': {\n 'Personendaten': null\n }\n },\n 'Geschaeftspartner': {\n 'expand': {\n 'Geschaeftspartnerdaten': null\n }\n }\n }\n }\n },\n \"modificationInfoEnabled\": true,\n \"key\": \"variables.data.$id\",\n \"keyProperty\": \"Id\",\n \"filters\": []\n });\n this.addModel({\n \"id\": \"$m_StelleninseratGruppeElement\",\n \"webApiAction\": \"ZIT/Objekte/StelleninseratGruppeElement\",\n \"webApiExpand\": {},\n \"key\": \"models.data.$m_Stelleninserat.IdStelleninseratGruppeElement\",\n \"keyProperty\": \"Id\",\n \"filters\": []\n });\n this.addModel({\n \"id\": \"$m_StelleninseratGruppe\",\n \"webApiAction\": \"ZIT/Objekte/StelleninseratGruppe\",\n \"webApiColumns\": [\"Id\", \"SortNr\", \"Text\", \"IdStelleninseratGruppentyp\"],\n \"webApiExpand\": {\n 'Gruppentyp': null\n },\n \"webApiOrderBy\": [{\n \"columnName\": \"GruppentypSortNr\",\n \"sortOrder\": 0\n }, {\n \"columnName\": \"GruppentypBezeichnung\",\n \"sortOrder\": 0\n }, {\n \"columnName\": \"SortNr\",\n \"sortOrder\": 0\n }, {\n \"columnName\": \"Text\",\n \"sortOrder\": 0\n }],\n \"keyProperty\": \"Id\",\n \"filters\": []\n });\n this.addModel({\n \"id\": \"$m_Geschaeftspartner\",\n \"webApiAction\": \"ZIT/Objekte/Geschaeftspartner\",\n \"modificationInfoEnabled\": true,\n \"key\": \"models.data.$m_Stelleninserat.Kopf.IdGeschaeftspartner\",\n \"keyProperty\": \"Id\",\n \"filters\": [{\n \"webApiCustomKey\": \"standardAddress\",\n \"webApiCustomValue\": \"true\"\n }]\n });\n this.addCommand({\n \"binding\": {\n \"bindTo\": \"$f_StelleninseratReadUtils.actionCommand\",\n \"bindToFQ\": \"functions.$f_StelleninseratReadUtils.actionCommand\"\n }\n });\n this.addFunction(\"$f_StelleninseratReadUtils\", $f_StelleninseratReadUtils, \"functions.$f_StelleninseratReadUtils\");\n this.widgetCreator.addValidationGroup(this, {\n \"id\": \"wd1\",\n \"options\": {\n \"optionsName\": \"wd1Options\",\n \"optionsNameFQ\": \"wd1Options\"\n }\n });\n this.widgetCreator.addListView(this, {\n \"itemClass\": \"z--list-view-inline-item\",\n \"useDefaultListItemStyle\": false,\n \"groupProperty\": \"Gruppentyp.Bezeichnung\",\n \"optionsToolbar\": {\n \"optionsName\": \"r_stelleninseratCustomKopftextToolbarOptions\",\n \"optionsNameFQ\": \"r_stelleninseratCustomKopftextToolbarOptions\"\n },\n \"binding\": {\n \"dataContext\": \"$m_StelleninseratGruppeElement\"\n },\n \"isRelation\": true,\n \"relationBinding\": {\n \"dataContext\": \"$m_StelleninseratGruppe\",\n \"bindTo\": \"IdStelleninseratGruppeElement\",\n \"bindToFQ\": \"models.data.$m_StelleninseratGruppe.IdStelleninseratGruppeElement\"\n },\n \"dataModel\": \"$m_StelleninseratGruppeElement\",\n \"listEdits\": [],\n \"filters\": [],\n \"commands\": [],\n \"id\": \"r_stelleninseratCustomKopftext\",\n \"options\": {\n \"optionsName\": \"r_stelleninseratCustomKopftextOptions\",\n \"optionsNameFQ\": \"r_stelleninseratCustomKopftextOptions\"\n }\n });\n super.onConstructionFinished();\n }\n}","module.exports = \"\";","import * as fwx from \"../../../../framework/forms/form-export\";\nimport {\n StelleninseratEditUtils\n} from \"./stelleninserat-edit-utils\";\nimport {\n StelleninseratLehreKundePackageEditUtils\n} from \"./stelleninserat-lehre-kunde-package-edit-utils\";\n\n@fwx.autoinject\nexport class StelleninseratLehreStandardinseratEditForm extends fwx.FormBase {\n constructor(\n element: Element,\n formBaseImport: fwx.FormBaseImport,\n private $f_Stelleninserat: StelleninseratEditUtils,\n private $f_StelleninseratLehreKundePackageEditUtils: StelleninseratLehreKundePackageEditUtils) {\n super(element, formBaseImport);\n this.id = \"stelleninserat-lehre-standardinserat-edit\";\n this.title = \"stelleninserat-lehre-standardinserat-edit.stelleninserat-lehre-standardinserat-edit_caption\";\n this.addModel({\n \"id\": \"$m_Stelleninserat\",\n \"webApiAction\": \"ZIT/Objekte/Stelleninserat\",\n \"webApiExpand\": {\n 'Kopf': {\n 'expand': {\n 'TextKopfzeile1': null,\n 'TextFusszeile1': null,\n 'Bewerbungstyp': null,\n 'Geschaeftspartner': {\n 'expand': {\n 'Geschaeftspartnerdaten': null\n }\n }\n }\n },\n 'FerialeinsatzEinstellungen': null,\n 'FerialbewerbungFragebogen': null\n },\n \"modificationInfoEnabled\": true,\n \"key\": \"variables.data.$id\",\n \"keyProperty\": \"Id\",\n \"postOnSave\": true,\n \"filters\": [{\n \"webApiCustomKey\": \"BewerbungInfo\",\n \"webApiCustomValue\": \"true\"\n }, {\n \"webApiCustomKey\": \"ProfilFirmaInfo\",\n \"webApiCustomValue\": \"true\"\n }, {\n \"webApiCustomKey\": \"StelleninseratVorschauUrl\",\n \"webApiCustomValue\": \"true\"\n }]\n });\n this.addModel({\n \"id\": \"$m_Bewerbungstyp\",\n \"webApiAction\": \"ZIT/Stammdaten/StelleninseratBewerbungstyp\",\n \"key\": \"models.data.$m_Stelleninserat.Kopf.IdBewerbungstyp\",\n \"keyProperty\": \"Id\",\n \"filters\": []\n });\n this.addCommand({\n \"binding\": {\n \"bindTo\": \"$f_Stelleninserat.actionCommand\",\n \"bindToFQ\": \"functions.$f_Stelleninserat.actionCommand\"\n }\n });\n this.addFunction(\"$f_Stelleninserat\", $f_Stelleninserat, \"functions.$f_Stelleninserat\");\n this.addFunction(\"$f_StelleninseratLehreKundePackageEditUtils\", $f_StelleninseratLehreKundePackageEditUtils, \"functions.$f_StelleninseratLehreKundePackageEditUtils\");\n this.widgetCreator.addValidationGroup(this, {\n \"id\": \"wd1\",\n \"options\": {\n \"optionsName\": \"wd1Options\",\n \"optionsNameFQ\": \"wd1Options\"\n }\n });\n this.widgetCreator.addSelectBox(this, {\n \"idSelect\": \"stelleninseratBewerbungstyp\",\n \"filter\": [\n [\"IdGeschaeftspartner\", \"null\"], \"or\", [\"IdGeschaeftspartner\", {\n \"isBound\": true,\n \"expression\": \"models.data.$m_Stelleninserat.Kopf.IdGeschaeftspartner\"\n }]\n ],\n \"customs\": [{\n \"key\": \"IdGeschaeftspartner\",\n \"value\": \"models.data.$m_Stelleninserat.Kopf.IdGeschaeftspartner\"\n }, {\n \"key\": \"CheckBenutzerrolle\",\n \"value\": \"true\"\n }],\n \"filters\": [],\n \"caption\": \"stelleninserat-lehre-standardinserat-edit.r_bewerbungstyp_caption\",\n \"placeholder\": \"stelleninserat-lehre-standardinserat-edit.r_bewerbungstyp_placeholder\",\n \"binding\": {\n \"dataContext\": \"$m_Stelleninserat\",\n \"bindTo\": \"Kopf.IdBewerbungstyp\",\n \"bindToFQ\": \"models.data.$m_Stelleninserat.Kopf.IdBewerbungstyp\",\n \"propertyPrefix\": \"Kopf\"\n },\n \"validationRules\": [{\n \"item\": {\n \"type\": \"required\",\n \"parameters\": []\n }\n }],\n \"id\": \"r_bewerbungstyp\",\n \"options\": {\n \"optionsName\": \"r_bewerbungstypOptions\",\n \"optionsNameFQ\": \"r_bewerbungstypOptions\"\n }\n });\n this.widgetCreator.addSelectBox(this, {\n \"idSelect\": \"lehrberuf\",\n \"filters\": [],\n \"caption\": \"stelleninserat-lehre-standardinserat-edit.r_lehrberuf_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Stelleninserat\",\n \"bindTo\": \"Kopf.IdLehrberuf\",\n \"bindToFQ\": \"models.data.$m_Stelleninserat.Kopf.IdLehrberuf\",\n \"propertyPrefix\": \"Kopf\"\n },\n \"validationRules\": [{\n \"item\": {\n \"type\": \"required\",\n \"parameters\": []\n }\n }],\n \"id\": \"r_lehrberuf\",\n \"options\": {\n \"optionsName\": \"r_lehrberufOptions\",\n \"optionsNameFQ\": \"r_lehrberufOptions\"\n }\n });\n this.widgetCreator.addTextBox(this, {\n \"maxLength\": 250,\n \"caption\": \"stelleninserat-lehre-standardinserat-edit.r_firmenbezeichnung_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Stelleninserat\",\n \"bindTo\": \"Kopf.Subheadline\",\n \"bindToFQ\": \"models.data.$m_Stelleninserat.Kopf.Subheadline\",\n \"propertyPrefix\": \"Kopf\"\n },\n \"validationRules\": [{\n \"item\": {\n \"type\": \"required\",\n \"parameters\": []\n }\n }],\n \"id\": \"r_firmenbezeichnung\",\n \"options\": {\n \"optionsName\": \"r_firmenbezeichnungOptions\",\n \"optionsNameFQ\": \"r_firmenbezeichnungOptions\"\n }\n });\n this.widgetCreator.addLookup(this, {\n \"idSelect\": \"ansprechperson\",\n \"customs\": [{\n \"key\": \"IdGeschaeftspartner\",\n \"value\": \"models.data.$m_Stelleninserat.Kopf.IdGeschaeftspartner\"\n }],\n \"filters\": [],\n \"caption\": \"stelleninserat-lehre-standardinserat-edit.ansprechpersonselect_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Stelleninserat\",\n \"bindTo\": \"Kopf.IdAnsprechperson\",\n \"bindToFQ\": \"models.data.$m_Stelleninserat.Kopf.IdAnsprechperson\",\n \"propertyPrefix\": \"Kopf\"\n },\n \"validationRules\": [],\n \"id\": \"ansprechpersonSelect\",\n \"options\": {\n \"optionsName\": \"ansprechpersonSelectOptions\",\n \"optionsNameFQ\": \"ansprechpersonSelectOptions\"\n }\n });\n this.widgetCreator.addCheckBox(this, {\n \"caption\": \"stelleninserat-lehre-standardinserat-edit.r_nuronlinebewerbungerwuenscht_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Stelleninserat\",\n \"bindTo\": \"Kopf.NurOnlineBewerbungErwuenscht\",\n \"bindToFQ\": \"models.data.$m_Stelleninserat.Kopf.NurOnlineBewerbungErwuenscht\",\n \"propertyPrefix\": \"Kopf\"\n },\n \"validationRules\": [],\n \"id\": \"r_nurOnlineBewerbungErwuenscht\",\n \"options\": {\n \"optionsName\": \"r_nurOnlineBewerbungErwuenschtOptions\",\n \"optionsNameFQ\": \"r_nurOnlineBewerbungErwuenschtOptions\"\n }\n });\n super.onConstructionFinished();\n }\n}","module.exports = \"\";","import * as fwx from \"../../../../framework/forms/form-export\";\n\n@fwx.autoinject\nexport class StelleninseratListForm extends fwx.FormBase {\n constructor(\n element: Element,\n formBaseImport: fwx.FormBaseImport) {\n super(element, formBaseImport);\n this.id = \"stelleninserat-list\";\n this.title = \"stelleninserat-list.stelleninserat-list_caption\";\n this.addModel({\n \"id\": \"$m_Stelleninserat\",\n \"webApiAction\": \"ZIT/Objekte/Stelleninserat\",\n \"webApiExpand\": {\n 'Kopf': {\n 'expand': {\n 'Geschaeftspartner': null\n }\n }\n },\n \"modificationInfoEnabled\": true,\n \"keyProperty\": \"Id\",\n \"filters\": []\n });\n this.widgetCreator.addValidationGroup(this, {\n \"id\": \"wd1\",\n \"options\": {\n \"optionsName\": \"wd1Options\",\n \"optionsNameFQ\": \"wd1Options\"\n }\n });\n this.widgetCreator.addDataGrid(this, {\n \"columns\": [{\n \"id\": \"r_stellenbezeichnungExtern\",\n \"caption\": \"stelleninserat-list.r_stellenbezeichnungextern_caption\",\n \"bindTo\": \"Kopf.StellenbezeichnungExtern\"\n }, {\n \"id\": \"r_firmenname1\",\n \"caption\": \"stelleninserat-list.r_firmenname1_caption\",\n \"bindTo\": \"Kopf.Geschaeftspartner.Name1\"\n }],\n \"optionsToolbar\": {\n \"optionsName\": \"r_stelleninseratGridToolbarOptions\",\n \"optionsNameFQ\": \"r_stelleninseratGridToolbarOptions\"\n },\n \"binding\": {\n \"dataContext\": \"$m_Stelleninserat\"\n },\n \"dataModel\": \"$m_Stelleninserat\",\n \"editUrl\": \"Objekte/Stelleninserat\",\n \"addShortscuts\": true,\n \"isMainList\": true,\n \"height\": \"100%\",\n \"listEdits\": [],\n \"filters\": [],\n \"commands\": [],\n \"id\": \"r_stelleninseratGrid\",\n \"options\": {\n \"optionsName\": \"r_stelleninseratGridOptions\",\n \"optionsNameFQ\": \"r_stelleninseratGridOptions\"\n }\n });\n super.onConstructionFinished();\n }\n}","module.exports = \"\";","import * as fwx from \"../../../../framework/forms/form-export\";\nimport {\n StelleninseratReadUtils\n} from \"./stelleninserat-read-utils\";\n\n@fwx.autoinject\nexport class StelleninseratReadForm extends fwx.FormBase {\n constructor(\n element: Element,\n formBaseImport: fwx.FormBaseImport,\n private $f_StelleninseratReadUtils: StelleninseratReadUtils) {\n super(element, formBaseImport);\n this.id = \"stelleninserat-ferial-read\";\n this.title = \"stelleninserat-ferial-read.stelleninserat-ferial-read_caption\";\n this.addModel({\n \"id\": \"$m_Stelleninserat\",\n \"webApiAction\": \"ZIT/Objekte/Stelleninserat\",\n \"webApiExpand\": {\n 'Kopf': {\n 'expand': {\n 'Ansprechperson': null,\n 'Geschaeftspartner': null,\n 'ProfilFirma': {\n 'columns': [\n 'Id',\n 'IsInaktiv'\n ]\n }\n }\n }\n },\n \"modificationInfoEnabled\": true,\n \"key\": \"variables.data.$id\",\n \"keyProperty\": \"Id\",\n \"filters\": [{\n \"webApiCustomKey\": \"BewerbungInfo\",\n \"webApiCustomValue\": \"true\"\n }]\n });\n this.addModel({\n \"id\": \"$m_Bewerbung\",\n \"webApiAction\": \"ZIT/Objekte/Bewerbung\",\n \"webApiColumns\": [\"Id\"],\n \"webApiWhere\": [\"Kopf.IdStelleninserat\", {\n \"isBound\": true,\n \"expression\": \"models.data.$m_Stelleninserat.Id\"\n }],\n \"modificationInfoEnabled\": true,\n \"keyProperty\": \"Id\",\n \"filters\": [{\n \"webApiCustomKey\": \"AddBewerbungCard\",\n \"webApiCustomValue\": \"true\"\n }]\n });\n this.addCommand({\n \"binding\": {\n \"bindTo\": \"$f_StelleninseratReadUtils.actionCommand\",\n \"bindToFQ\": \"functions.$f_StelleninseratReadUtils.actionCommand\"\n }\n });\n this.addFunction(\"$f_StelleninseratReadUtils\", $f_StelleninseratReadUtils, \"functions.$f_StelleninseratReadUtils\");\n this.widgetCreator.addValidationGroup(this, {\n \"id\": \"wd1\",\n \"options\": {\n \"optionsName\": \"wd1Options\",\n \"optionsNameFQ\": \"wd1Options\"\n }\n });\n this.widgetCreator.addListView(this, {\n \"itemClass\": \"col-xs-12 col-sm-6\",\n \"useDefaultListItemStyle\": false,\n \"optionsToolbar\": {\n \"optionsName\": \"r_stelleninseratBewerbungenToolbarOptions\",\n \"optionsNameFQ\": \"r_stelleninseratBewerbungenToolbarOptions\"\n },\n \"binding\": {\n \"dataContext\": \"$m_Bewerbung\"\n },\n \"dataModel\": \"$m_Bewerbung\",\n \"pageSize\": 6,\n \"listEdits\": [],\n \"filters\": [],\n \"commands\": [],\n \"id\": \"r_stelleninseratBewerbungen\",\n \"options\": {\n \"optionsName\": \"r_stelleninseratBewerbungenOptions\",\n \"optionsNameFQ\": \"r_stelleninseratBewerbungenOptions\"\n }\n });\n super.onConstructionFinished();\n }\n}","module.exports = \"\";","import * as fwx from \"../../../../framework/forms/form-export\";\nimport {\n TerminEditUtils\n} from \"./termin-edit-utils\";\n\n@fwx.autoinject\nexport class TerminEditForm extends fwx.FormBase {\n constructor(\n element: Element,\n formBaseImport: fwx.FormBaseImport,\n private $f_TerminEditUtils: TerminEditUtils) {\n super(element, formBaseImport);\n this.id = \"termin-edit\";\n this.title = \"termin-edit.termin-edit_caption\";\n this.addModel({\n \"id\": \"$m_Termin\",\n \"webApiAction\": \"ZIT/Objekte/Termin\",\n \"webApiExpand\": {\n 'Empfaenger': {\n 'expand': {\n 'Person': null\n }\n },\n 'Kopf': {\n 'expand': {\n 'Benutzer': null,\n 'TerminBestaetigungZustand': null,\n 'Lehrberufe': null\n }\n }\n },\n \"modificationInfoEnabled\": true,\n \"key\": \"variables.data.$id\",\n \"keyProperty\": \"Id\",\n \"postOnSave\": true,\n \"filters\": [{\n \"webApiCustomKey\": \"addVerteilungstypVeroeffentlichenEmpfaenger\",\n \"webApiCustomValue\": \"true\"\n }]\n });\n this.addModel({\n \"id\": \"$m_TerminEmpfaengerElement\",\n \"webApiAction\": \"ZIT/Objekte/TerminEmpfaengerElement\",\n \"webApiExpand\": {\n 'Person': null\n },\n \"keyProperty\": \"Id\",\n \"filters\": []\n });\n this.addModel({\n \"id\": \"$m_ZustandAendern\",\n \"webApiAction\": \"ZIT/Stammdaten/Zustand\",\n \"keyProperty\": \"Id\",\n \"filters\": []\n });\n this.addModel({\n \"id\": \"$m_Lehrberuf\",\n \"webApiAction\": \"ZIT/Stammdaten/Lehrberuf\",\n \"keyProperty\": \"Id\",\n \"filters\": [{\n \"webApiCustomKey\": \"idTerminKopfElement\",\n \"webApiCustomValue\": \"models.data.$m_Termin.IdTerminKopfElement\"\n }]\n });\n this.addCommand({\n \"binding\": {\n \"bindTo\": \"$f_TerminEditUtils.actionCommand\",\n \"bindToFQ\": \"functions.$f_TerminEditUtils.actionCommand\"\n }\n });\n this.addEditPopup({\n \"idContent\": \"zustandAendernEditPopupContent\",\n \"mappings\": [{\n \"to\": \"$id\",\n \"binding\": {\n \"dataContext\": \"$m_ZustandAendern\",\n \"bindTo\": \"Id\",\n \"bindToFQ\": \"models.data.$m_ZustandAendern.Id\"\n }\n }, {\n \"to\": \"$v_zustandDatum\",\n \"binding\": {\n \"dataContext\": \"$m_Termin\",\n \"bindTo\": \"Kopf.TerminBestaetigungZustandDatum\",\n \"bindToFQ\": \"models.data.$m_Termin.Kopf.TerminBestaetigungZustandDatum\",\n \"propertyPrefix\": \"Kopf\"\n }\n }, {\n \"to\": \"$v_idTermin\",\n \"binding\": {\n \"dataContext\": \"$m_Termin\",\n \"bindTo\": \"Id\",\n \"bindToFQ\": \"models.data.$m_Termin.Id\"\n }\n }],\n \"id\": \"zustandAendernEditPopup\",\n \"options\": {\n \"optionsName\": \"zustandAendernEditPopupOptions\",\n \"optionsNameFQ\": \"zustandAendernEditPopupOptions\"\n },\n \"height\": \"auto\",\n \"width\": \"500px\",\n \"commands\": []\n });\n this.addFunction(\"$f_TerminEditUtils\", $f_TerminEditUtils, \"functions.$f_TerminEditUtils\");\n this.widgetCreator.addValidationGroup(this, {\n \"id\": \"wd1\",\n \"options\": {\n \"optionsName\": \"wd1Options\",\n \"optionsNameFQ\": \"wd1Options\"\n }\n });\n this.widgetCreator.addSelectBox(this, {\n \"idSelect\": \"terminTyp\",\n \"filters\": [],\n \"caption\": \"termin-edit.r_termintyp_caption\",\n \"isReadOnlyExpression\": \"models.data.$m_Termin.Kopf.Id\",\n \"binding\": {\n \"dataContext\": \"$m_Termin\",\n \"bindTo\": \"Kopf.IdTerminTyp\",\n \"bindToFQ\": \"models.data.$m_Termin.Kopf.IdTerminTyp\",\n \"propertyPrefix\": \"Kopf\"\n },\n \"validationRules\": [],\n \"id\": \"r_terminTyp\",\n \"options\": {\n \"optionsName\": \"r_terminTypOptions\",\n \"optionsNameFQ\": \"r_terminTypOptions\"\n }\n });\n this.widgetCreator.addRadioGroup(this, {\n \"idSelect\": \"terminVerteilungstyp\",\n \"filters\": [],\n \"caption\": \"termin-edit.r_verteilungstyp_caption\",\n \"isReadOnlyExpression\": \"!!models.data.$m_Termin.Kopf._IsVerteilungstypReadonly || functions.$f_TerminEditUtils.isTypAuswahlEnabled\",\n \"binding\": {\n \"dataContext\": \"$m_Termin\",\n \"bindTo\": \"Kopf.Verteilungstyp\",\n \"bindToFQ\": \"models.data.$m_Termin.Kopf.Verteilungstyp\",\n \"propertyPrefix\": \"Kopf\"\n },\n \"validationRules\": [{\n \"item\": {\n \"type\": \"required\",\n \"parameters\": []\n }\n }],\n \"id\": \"r_verteilungstyp\",\n \"options\": {\n \"optionsName\": \"r_verteilungstypOptions\",\n \"optionsNameFQ\": \"r_verteilungstypOptions\"\n }\n });\n this.widgetCreator.addCheckBox(this, {\n \"caption\": \"termin-edit.r_veroeffnetlichenfiltergeschaeftspartner_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Termin\",\n \"bindTo\": \"Kopf.VeroeffentlichenFilterGeschaeftspartner\",\n \"bindToFQ\": \"models.data.$m_Termin.Kopf.VeroeffentlichenFilterGeschaeftspartner\",\n \"propertyPrefix\": \"Kopf\"\n },\n \"validationRules\": [],\n \"id\": \"r_veroeffnetlichenFilterGeschaeftspartner\",\n \"options\": {\n \"optionsName\": \"r_veroeffnetlichenFilterGeschaeftspartnerOptions\",\n \"optionsNameFQ\": \"r_veroeffnetlichenFilterGeschaeftspartnerOptions\"\n }\n });\n this.widgetCreator.addLookup(this, {\n \"idSelect\": \"person\",\n \"filters\": [],\n \"caption\": \"termin-edit.r_empfaengerpersonselect_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Termin\",\n \"bindTo\": \"$f_TerminEditUtils.idSelectedEmpfaenger\",\n \"bindToFQ\": \"functions.$f_TerminEditUtils.idSelectedEmpfaenger\"\n },\n \"validationRules\": [],\n \"id\": \"r_empfaengerPersonSelect\",\n \"options\": {\n \"optionsName\": \"r_empfaengerPersonSelectOptions\",\n \"optionsNameFQ\": \"r_empfaengerPersonSelectOptions\"\n }\n });\n this.widgetCreator.addSelectBox(this, {\n \"idSelect\": \"empfaengerReaktion\",\n \"filters\": [],\n \"caption\": \"termin-edit.r_empfaengerreaktion_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Termin\",\n \"bindTo\": \"Kopf.EmpfaengerReaktion\",\n \"bindToFQ\": \"models.data.$m_Termin.Kopf.EmpfaengerReaktion\",\n \"propertyPrefix\": \"Kopf\"\n },\n \"validationRules\": [{\n \"item\": {\n \"type\": \"required\",\n \"parameters\": []\n }\n }],\n \"id\": \"r_empfaengerReaktion\",\n \"options\": {\n \"optionsName\": \"r_empfaengerReaktionOptions\",\n \"optionsNameFQ\": \"r_empfaengerReaktionOptions\"\n }\n });\n this.widgetCreator.addLookup(this, {\n \"idSelect\": \"geschaeftspartner\",\n \"filters\": [],\n \"caption\": \"termin-edit.r_geschaeftspartner_caption\",\n \"isReadOnlyExpression\": \"models.data.$m_Termin.Id\",\n \"binding\": {\n \"dataContext\": \"$m_Termin\",\n \"bindTo\": \"Kopf.IdGeschaeftspartner\",\n \"bindToFQ\": \"models.data.$m_Termin.Kopf.IdGeschaeftspartner\",\n \"propertyPrefix\": \"Kopf\"\n },\n \"validationRules\": [{\n \"item\": {\n \"type\": \"required\",\n \"parameters\": []\n }\n }],\n \"id\": \"r_geschaeftspartner\",\n \"options\": {\n \"optionsName\": \"r_geschaeftspartnerOptions\",\n \"optionsNameFQ\": \"r_geschaeftspartnerOptions\"\n }\n });\n this.widgetCreator.addLookup(this, {\n \"idSelect\": \"geschaeftspartner\",\n \"filter\": [\"IsGeschaeftspartnerSchule\", true],\n \"filters\": [],\n \"caption\": \"termin-edit.r_geschaeftspartnerschule_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Termin\",\n \"bindTo\": \"Kopf.IdGeschaeftspartnerSchule\",\n \"bindToFQ\": \"models.data.$m_Termin.Kopf.IdGeschaeftspartnerSchule\",\n \"propertyPrefix\": \"Kopf\"\n },\n \"validationRules\": [],\n \"id\": \"r_geschaeftspartnerSchule\",\n \"options\": {\n \"optionsName\": \"r_geschaeftspartnerSchuleOptions\",\n \"optionsNameFQ\": \"r_geschaeftspartnerSchuleOptions\"\n }\n });\n this.widgetCreator.addTextBox(this, {\n \"maxLength\": 250,\n \"caption\": \"termin-edit.r_betreff_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Termin\",\n \"bindTo\": \"Kopf.Betreff\",\n \"bindToFQ\": \"models.data.$m_Termin.Kopf.Betreff\",\n \"propertyPrefix\": \"Kopf\"\n },\n \"validationRules\": [{\n \"item\": {\n \"type\": \"required\",\n \"parameters\": []\n }\n }],\n \"id\": \"r_betreff\",\n \"options\": {\n \"optionsName\": \"r_betreffOptions\",\n \"optionsNameFQ\": \"r_betreffOptions\"\n }\n });\n this.widgetCreator.addTextBox(this, {\n \"maxLength\": 250,\n \"caption\": \"termin-edit.r_bezeichnungintern_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Termin\",\n \"bindTo\": \"Kopf.BezeichnungIntern\",\n \"bindToFQ\": \"models.data.$m_Termin.Kopf.BezeichnungIntern\",\n \"propertyPrefix\": \"Kopf\"\n },\n \"validationRules\": [],\n \"id\": \"r_bezeichnungIntern\",\n \"options\": {\n \"optionsName\": \"r_bezeichnungInternOptions\",\n \"optionsNameFQ\": \"r_bezeichnungInternOptions\"\n }\n });\n this.widgetCreator.addTextBox(this, {\n \"maxLength\": 100,\n \"caption\": \"termin-edit.r_ort_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Termin\",\n \"bindTo\": \"Kopf.Ort\",\n \"bindToFQ\": \"models.data.$m_Termin.Kopf.Ort\",\n \"propertyPrefix\": \"Kopf\"\n },\n \"validationRules\": [],\n \"id\": \"r_ort\",\n \"options\": {\n \"optionsName\": \"r_ortOptions\",\n \"optionsNameFQ\": \"r_ortOptions\"\n }\n });\n this.widgetCreator.addDateBox(this, {\n \"format\": \"d\",\n \"caption\": \"termin-edit.r_startdatum_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Termin\",\n \"bindTo\": \"Kopf.StartDatum\",\n \"bindToFQ\": \"models.data.$m_Termin.Kopf.StartDatum\",\n \"propertyPrefix\": \"Kopf\"\n },\n \"validationRules\": [{\n \"item\": {\n \"type\": \"required\",\n \"parameters\": []\n }\n }],\n \"onValueChanged\": \"functions.$f_TerminEditUtils.onStartDatumChanged\",\n \"id\": \"r_startDatum\",\n \"options\": {\n \"optionsName\": \"r_startDatumOptions\",\n \"optionsNameFQ\": \"r_startDatumOptions\"\n }\n });\n this.widgetCreator.addDateBox(this, {\n \"format\": \"t\",\n \"caption\": \"termin-edit.r_startuhrzeit_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Termin\",\n \"bindTo\": \"Kopf.StartUhrzeit\",\n \"bindToFQ\": \"models.data.$m_Termin.Kopf.StartUhrzeit\",\n \"propertyPrefix\": \"Kopf\"\n },\n \"validationRules\": [{\n \"item\": {\n \"type\": \"required\",\n \"parameters\": []\n }\n }],\n \"id\": \"r_startUhrzeit\",\n \"options\": {\n \"optionsName\": \"r_startUhrzeitOptions\",\n \"optionsNameFQ\": \"r_startUhrzeitOptions\"\n }\n });\n this.widgetCreator.addDateBox(this, {\n \"format\": \"d\",\n \"caption\": \"termin-edit.r_endedatum_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Termin\",\n \"bindTo\": \"Kopf.EndeDatum\",\n \"bindToFQ\": \"models.data.$m_Termin.Kopf.EndeDatum\",\n \"propertyPrefix\": \"Kopf\"\n },\n \"validationRules\": [{\n \"item\": {\n \"type\": \"required\",\n \"parameters\": []\n }\n }],\n \"id\": \"r_endeDatum\",\n \"options\": {\n \"optionsName\": \"r_endeDatumOptions\",\n \"optionsNameFQ\": \"r_endeDatumOptions\"\n }\n });\n this.widgetCreator.addDateBox(this, {\n \"format\": \"t\",\n \"caption\": \"termin-edit.r_endeuhrzeit_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Termin\",\n \"bindTo\": \"Kopf.EndeUhrzeit\",\n \"bindToFQ\": \"models.data.$m_Termin.Kopf.EndeUhrzeit\",\n \"propertyPrefix\": \"Kopf\"\n },\n \"validationRules\": [{\n \"item\": {\n \"type\": \"required\",\n \"parameters\": []\n }\n }],\n \"id\": \"r_endeUhrzeit\",\n \"options\": {\n \"optionsName\": \"r_endeUhrzeitOptions\",\n \"optionsNameFQ\": \"r_endeUhrzeitOptions\"\n }\n });\n this.widgetCreator.addDateBox(this, {\n \"format\": \"t\",\n \"caption\": \"termin-edit.r_meldenum_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Termin\",\n \"bindTo\": \"Kopf.MeldenUm\",\n \"bindToFQ\": \"models.data.$m_Termin.Kopf.MeldenUm\",\n \"propertyPrefix\": \"Kopf\"\n },\n \"validationRules\": [],\n \"id\": \"r_meldenUm\",\n \"options\": {\n \"optionsName\": \"r_meldenUmOptions\",\n \"optionsNameFQ\": \"r_meldenUmOptions\"\n }\n });\n this.widgetCreator.addNumberBox(this, {\n \"showClearButton\": true,\n \"min\": 0.0,\n \"caption\": \"termin-edit.r_maxteilnehmerzal_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Termin\",\n \"bindTo\": \"Kopf.MaxTeilnehmerzahl\",\n \"bindToFQ\": \"models.data.$m_Termin.Kopf.MaxTeilnehmerzahl\",\n \"propertyPrefix\": \"Kopf\"\n },\n \"validationRules\": [],\n \"id\": \"r_maxTeilnehmerzal\",\n \"options\": {\n \"optionsName\": \"r_maxTeilnehmerzalOptions\",\n \"optionsNameFQ\": \"r_maxTeilnehmerzalOptions\"\n }\n });\n this.widgetCreator.addCheckBox(this, {\n \"caption\": \"termin-edit.r_ignorebyrestservice_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Termin\",\n \"bindTo\": \"Kopf.IgnoreTerminBeiRestRequest\",\n \"bindToFQ\": \"models.data.$m_Termin.Kopf.IgnoreTerminBeiRestRequest\",\n \"propertyPrefix\": \"Kopf\"\n },\n \"validationRules\": [],\n \"id\": \"r_ignoreByRestService\",\n \"options\": {\n \"optionsName\": \"r_ignoreByRestServiceOptions\",\n \"optionsNameFQ\": \"r_ignoreByRestServiceOptions\"\n }\n });\n this.widgetCreator.addCheckBox(this, {\n \"caption\": \"termin-edit.r_isbewerbungschnupperterminauswahl_caption\",\n \"isReadOnlyExpression\": \"models.data.$m_Termin.Kopf.Verteilungstyp != 1\",\n \"binding\": {\n \"dataContext\": \"$m_Termin\",\n \"bindTo\": \"Kopf.IsBewerbungSchnupperterminAuswahl\",\n \"bindToFQ\": \"models.data.$m_Termin.Kopf.IsBewerbungSchnupperterminAuswahl\",\n \"propertyPrefix\": \"Kopf\"\n },\n \"validationRules\": [],\n \"id\": \"r_isBewerbungSchnupperterminAuswahl\",\n \"options\": {\n \"optionsName\": \"r_isBewerbungSchnupperterminAuswahlOptions\",\n \"optionsNameFQ\": \"r_isBewerbungSchnupperterminAuswahlOptions\"\n }\n });\n this.widgetCreator.addTagBox(this, {\n \"caption\": \"termin-edit.r_lehrberufe_caption\",\n \"dataContext\": \"$m_Termin\",\n \"batchSelectionEnabled\": true,\n \"relationBinding\": {\n \"dataContext\": \"$m_Termin\",\n \"bindTo\": \"Kopf.Lehrberufe\",\n \"bindToFQ\": \"models.data.$m_Termin.Kopf.Lehrberufe\",\n \"propertyPrefix\": \"Kopf\"\n },\n \"relationProperty\": \"IdLehrberuf\",\n \"itemDataContext\": \"$m_Lehrberuf\",\n \"itemValueExpr\": \"Id\",\n \"itemDisplayExpr\": \"Bezeichnung\",\n \"binding\": {\n \"dataContext\": \"$m_Termin\"\n },\n \"validationRules\": [],\n \"id\": \"r_lehrberufe\",\n \"options\": {\n \"optionsName\": \"r_lehrberufeOptions\",\n \"optionsNameFQ\": \"r_lehrberufeOptions\"\n }\n });\n this.widgetCreator.addTextArea(this, {\n \"height\": \"100px\",\n \"caption\": \"termin-edit.r_bemerkung_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Termin\",\n \"bindTo\": \"Kopf.Bemerkung\",\n \"bindToFQ\": \"models.data.$m_Termin.Kopf.Bemerkung\",\n \"propertyPrefix\": \"Kopf\"\n },\n \"validationRules\": [],\n \"id\": \"r_bemerkung\",\n \"options\": {\n \"optionsName\": \"r_bemerkungOptions\",\n \"optionsNameFQ\": \"r_bemerkungOptions\"\n }\n });\n this.widgetCreator.addTextArea(this, {\n \"height\": \"100px\",\n \"caption\": \"termin-edit.r_bemerkungschule_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Termin\",\n \"bindTo\": \"Kopf.BemerkungSchule\",\n \"bindToFQ\": \"models.data.$m_Termin.Kopf.BemerkungSchule\",\n \"propertyPrefix\": \"Kopf\"\n },\n \"validationRules\": [],\n \"id\": \"r_bemerkungSchule\",\n \"options\": {\n \"optionsName\": \"r_bemerkungSchuleOptions\",\n \"optionsNameFQ\": \"r_bemerkungSchuleOptions\"\n }\n });\n super.onConstructionFinished();\n }\n}","module.exports = \"\";","import { autoinject, bindable, bindingBehavior, computedFrom } from \"aurelia-framework\";\nimport { StartupService } from '../../../services/export';\n\n@autoinject\nexport class TerminEmpfEinschaetzungAkk {\n constructor(\n private _startupService: StartupService\n ) { \n this.selectedColor = this._startupService.startupInfo.Skin.Farbe20Opacity;\n }\n\n @bindable code: string;\n @bindable text: string;\n @bindable selected: string;\n @bindable ok: boolean;\n\n selectedColor: string;\n\n @computedFrom(\"selected\")\n get isSelected() {\n return this.code == this.selected;\n }\n\n onClick() {\n if (this.selected == this.code) {\n this.selected = \"\";\n } else {\n this.selected = this.code;\n }\n }\n}","module.exports = \"\";","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.id, \".termin-empf-einschaetzung-akk {\\n display: flex;\\n align-items: center;\\n font-size: 1.1em;\\n border: 1px solid #ddd;\\n padding: 5px;\\n cursor: pointer;\\n}\\n.termin-empf-einschaetzung-akk > * + * {\\n margin-left: 6px;\\n}\\n.termin-empf-einschaetzung-akk__text {\\n font-weight: bold;\\n}\\n.termin-empf-einschaetzung-akk__spacer {\\n flex-grow: 1;\\n}\\n.termin-empf-einschaetzung-akk__status {\\n display: flex;\\n align-items: center;\\n justify-content: center;\\n width: 24px;\\n height: 24px;\\n border-radius: 24px;\\n color: white;\\n}\\n\", \"\"]);\n// Exports\nmodule.exports = exports;\n","import * as fwx from \"../../../../framework/forms/form-export\";\nimport {\n TerminEmpfEinschaetzungEditUtils\n} from \"./termin-empf-einschaetzung-edit-utils\";\n\n@fwx.autoinject\nexport class TerminEmpfEinschaetzungEditForm extends fwx.FormBase {\n constructor(\n element: Element,\n formBaseImport: fwx.FormBaseImport,\n private $f_TerminEmpfEinschaetzungEditUtils: TerminEmpfEinschaetzungEditUtils) {\n super(element, formBaseImport);\n this.id = \"termin-empf-einschaetzung-edit\";\n this.title = \"termin-empf-einschaetzung-edit.termin-empf-einschaetzung-edit_caption\";\n this.addModel({\n \"id\": \"$m_TerminEmpfEinsch\",\n \"webApiAction\": \"ZIT/Objekte/TerminEmpfEinschElement\",\n \"key\": \"variables.data.$id\",\n \"keyProperty\": \"Id\",\n \"postOnSave\": true,\n \"allowSave\": \"!models.data.$m_TerminEmpfEinsch.IsFreigegeben\",\n \"allowDelete\": \"!models.data.$m_TerminEmpfEinsch.IsFreigegeben\",\n \"filters\": [{\n \"webApiCustomKey\": \"IdTermin\",\n \"webApiCustomValue\": \"variables.data.$v_idTermin\"\n }]\n });\n this.addVariable({\n \"id\": \"$v_idTermin\"\n });\n this.addCommand({\n \"binding\": {\n \"bindTo\": \"$f_TerminEmpfEinschaetzungEditUtils.pdfGenerierenCommand\",\n \"bindToFQ\": \"functions.$f_TerminEmpfEinschaetzungEditUtils.pdfGenerierenCommand\"\n }\n });\n this.addCommand({\n \"binding\": {\n \"bindTo\": \"$f_TerminEmpfEinschaetzungEditUtils.pdfAnzeigenCommand\",\n \"bindToFQ\": \"functions.$f_TerminEmpfEinschaetzungEditUtils.pdfAnzeigenCommand\"\n }\n });\n this.addCommand({\n \"binding\": {\n \"bindTo\": \"$f_TerminEmpfEinschaetzungEditUtils.pdfLoeschenCommand\",\n \"bindToFQ\": \"functions.$f_TerminEmpfEinschaetzungEditUtils.pdfLoeschenCommand\"\n }\n });\n this.addFunction(\"$f_TerminEmpfEinschaetzungEditUtils\", $f_TerminEmpfEinschaetzungEditUtils, \"functions.$f_TerminEmpfEinschaetzungEditUtils\");\n this.widgetCreator.addValidationGroup(this, {\n \"id\": \"wd1\",\n \"options\": {\n \"optionsName\": \"wd1Options\",\n \"optionsNameFQ\": \"wd1Options\"\n }\n });\n this.widgetCreator.addNumberBox(this, {\n \"min\": 0.0,\n \"max\": 10.0,\n \"format\": \"f0\",\n \"caption\": \"termin-empf-einschaetzung-edit.r_verhaltentrainingse_caption\",\n \"isReadOnlyExpression\": \"models.data.$m_TerminEmpfEinsch.IsFreigegeben\",\n \"placeholder\": \"termin-empf-einschaetzung-edit.r_verhaltentrainingse_placeholder\",\n \"binding\": {\n \"dataContext\": \"$m_TerminEmpfEinsch\",\n \"bindTo\": \"VerhaltenTrainingSE\",\n \"bindToFQ\": \"models.data.$m_TerminEmpfEinsch.VerhaltenTrainingSE\"\n },\n \"validationRules\": [],\n \"id\": \"r_verhaltenTrainingSE\",\n \"options\": {\n \"optionsName\": \"r_verhaltenTrainingSEOptions\",\n \"optionsNameFQ\": \"r_verhaltenTrainingSEOptions\"\n }\n });\n this.widgetCreator.addNumberBox(this, {\n \"min\": 0.0,\n \"max\": 10.0,\n \"format\": \"f0\",\n \"caption\": \"termin-empf-einschaetzung-edit.r_verhaltentrainingfe_caption\",\n \"isReadOnlyExpression\": \"models.data.$m_TerminEmpfEinsch.IsFreigegeben\",\n \"placeholder\": \"termin-empf-einschaetzung-edit.r_verhaltentrainingfe_placeholder\",\n \"binding\": {\n \"dataContext\": \"$m_TerminEmpfEinsch\",\n \"bindTo\": \"VerhaltenTrainingFE\",\n \"bindToFQ\": \"models.data.$m_TerminEmpfEinsch.VerhaltenTrainingFE\"\n },\n \"validationRules\": [],\n \"id\": \"r_verhaltenTrainingFE\",\n \"options\": {\n \"optionsName\": \"r_verhaltenTrainingFEOptions\",\n \"optionsNameFQ\": \"r_verhaltenTrainingFEOptions\"\n }\n });\n this.widgetCreator.addTextArea(this, {\n \"height\": \"100px\",\n \"maxLength\": 1000,\n \"caption\": \"termin-empf-einschaetzung-edit.r_verhaltentrainingb_caption\",\n \"isReadOnlyExpression\": \"models.data.$m_TerminEmpfEinsch.IsFreigegeben\",\n \"placeholder\": \"termin-empf-einschaetzung-edit.r_verhaltentrainingb_placeholder\",\n \"binding\": {\n \"dataContext\": \"$m_TerminEmpfEinsch\",\n \"bindTo\": \"VerhaltenTrainingB\",\n \"bindToFQ\": \"models.data.$m_TerminEmpfEinsch.VerhaltenTrainingB\"\n },\n \"validationRules\": [],\n \"id\": \"r_verhaltenTrainingB\",\n \"options\": {\n \"optionsName\": \"r_verhaltenTrainingBOptions\",\n \"optionsNameFQ\": \"r_verhaltenTrainingBOptions\"\n }\n });\n this.widgetCreator.addTextArea(this, {\n \"height\": \"100px\",\n \"maxLength\": 1000,\n \"caption\": \"termin-empf-einschaetzung-edit.r_verhaltentrainingm_caption\",\n \"isReadOnlyExpression\": \"models.data.$m_TerminEmpfEinsch.IsFreigegeben\",\n \"placeholder\": \"termin-empf-einschaetzung-edit.r_verhaltentrainingm_placeholder\",\n \"binding\": {\n \"dataContext\": \"$m_TerminEmpfEinsch\",\n \"bindTo\": \"VerhaltenTrainingM\",\n \"bindToFQ\": \"models.data.$m_TerminEmpfEinsch.VerhaltenTrainingM\"\n },\n \"validationRules\": [],\n \"id\": \"r_verhaltenTrainingM\",\n \"options\": {\n \"optionsName\": \"r_verhaltenTrainingMOptions\",\n \"optionsNameFQ\": \"r_verhaltenTrainingMOptions\"\n }\n });\n this.widgetCreator.addNumberBox(this, {\n \"min\": 0.0,\n \"max\": 10.0,\n \"format\": \"f0\",\n \"caption\": \"termin-empf-einschaetzung-edit.r_verhaltenarbeitense_caption\",\n \"isReadOnlyExpression\": \"models.data.$m_TerminEmpfEinsch.IsFreigegeben\",\n \"placeholder\": \"termin-empf-einschaetzung-edit.r_verhaltenarbeitense_placeholder\",\n \"binding\": {\n \"dataContext\": \"$m_TerminEmpfEinsch\",\n \"bindTo\": \"VerhaltenArbeitenSE\",\n \"bindToFQ\": \"models.data.$m_TerminEmpfEinsch.VerhaltenArbeitenSE\"\n },\n \"validationRules\": [],\n \"id\": \"r_verhaltenArbeitenSE\",\n \"options\": {\n \"optionsName\": \"r_verhaltenArbeitenSEOptions\",\n \"optionsNameFQ\": \"r_verhaltenArbeitenSEOptions\"\n }\n });\n this.widgetCreator.addNumberBox(this, {\n \"min\": 0.0,\n \"max\": 10.0,\n \"format\": \"f0\",\n \"caption\": \"termin-empf-einschaetzung-edit.r_verhaltenarbeitenfe_caption\",\n \"isReadOnlyExpression\": \"models.data.$m_TerminEmpfEinsch.IsFreigegeben\",\n \"placeholder\": \"termin-empf-einschaetzung-edit.r_verhaltenarbeitenfe_placeholder\",\n \"binding\": {\n \"dataContext\": \"$m_TerminEmpfEinsch\",\n \"bindTo\": \"VerhaltenArbeitenFE\",\n \"bindToFQ\": \"models.data.$m_TerminEmpfEinsch.VerhaltenArbeitenFE\"\n },\n \"validationRules\": [],\n \"id\": \"r_verhaltenArbeitenFE\",\n \"options\": {\n \"optionsName\": \"r_verhaltenArbeitenFEOptions\",\n \"optionsNameFQ\": \"r_verhaltenArbeitenFEOptions\"\n }\n });\n this.widgetCreator.addTextArea(this, {\n \"height\": \"100px\",\n \"maxLength\": 1000,\n \"caption\": \"termin-empf-einschaetzung-edit.r_verhaltenarbeitenb_caption\",\n \"isReadOnlyExpression\": \"models.data.$m_TerminEmpfEinsch.IsFreigegeben\",\n \"placeholder\": \"termin-empf-einschaetzung-edit.r_verhaltenarbeitenb_placeholder\",\n \"binding\": {\n \"dataContext\": \"$m_TerminEmpfEinsch\",\n \"bindTo\": \"VerhaltenArbeitenB\",\n \"bindToFQ\": \"models.data.$m_TerminEmpfEinsch.VerhaltenArbeitenB\"\n },\n \"validationRules\": [],\n \"id\": \"r_verhaltenArbeitenB\",\n \"options\": {\n \"optionsName\": \"r_verhaltenArbeitenBOptions\",\n \"optionsNameFQ\": \"r_verhaltenArbeitenBOptions\"\n }\n });\n this.widgetCreator.addTextArea(this, {\n \"height\": \"100px\",\n \"maxLength\": 1000,\n \"caption\": \"termin-empf-einschaetzung-edit.r_verhaltenarbeitenm_caption\",\n \"isReadOnlyExpression\": \"models.data.$m_TerminEmpfEinsch.IsFreigegeben\",\n \"placeholder\": \"termin-empf-einschaetzung-edit.r_verhaltenarbeitenm_placeholder\",\n \"binding\": {\n \"dataContext\": \"$m_TerminEmpfEinsch\",\n \"bindTo\": \"VerhaltenArbeitenM\",\n \"bindToFQ\": \"models.data.$m_TerminEmpfEinsch.VerhaltenArbeitenM\"\n },\n \"validationRules\": [],\n \"id\": \"r_verhaltenArbeitenM\",\n \"options\": {\n \"optionsName\": \"r_verhaltenArbeitenMOptions\",\n \"optionsNameFQ\": \"r_verhaltenArbeitenMOptions\"\n }\n });\n this.widgetCreator.addNumberBox(this, {\n \"min\": 0.0,\n \"max\": 10.0,\n \"format\": \"f0\",\n \"caption\": \"termin-empf-einschaetzung-edit.r_verhaltenumgangkollegense_caption\",\n \"isReadOnlyExpression\": \"models.data.$m_TerminEmpfEinsch.IsFreigegeben\",\n \"placeholder\": \"termin-empf-einschaetzung-edit.r_verhaltenumgangkollegense_placeholder\",\n \"binding\": {\n \"dataContext\": \"$m_TerminEmpfEinsch\",\n \"bindTo\": \"VerhaltenUmgangKollegenSE\",\n \"bindToFQ\": \"models.data.$m_TerminEmpfEinsch.VerhaltenUmgangKollegenSE\"\n },\n \"validationRules\": [],\n \"id\": \"r_verhaltenUmgangKollegenSE\",\n \"options\": {\n \"optionsName\": \"r_verhaltenUmgangKollegenSEOptions\",\n \"optionsNameFQ\": \"r_verhaltenUmgangKollegenSEOptions\"\n }\n });\n this.widgetCreator.addNumberBox(this, {\n \"min\": 0.0,\n \"max\": 10.0,\n \"format\": \"f0\",\n \"caption\": \"termin-empf-einschaetzung-edit.r_verhaltenumgangkollegenfe_caption\",\n \"isReadOnlyExpression\": \"models.data.$m_TerminEmpfEinsch.IsFreigegeben\",\n \"placeholder\": \"termin-empf-einschaetzung-edit.r_verhaltenumgangkollegenfe_placeholder\",\n \"binding\": {\n \"dataContext\": \"$m_TerminEmpfEinsch\",\n \"bindTo\": \"VerhaltenUmgangKollegenFE\",\n \"bindToFQ\": \"models.data.$m_TerminEmpfEinsch.VerhaltenUmgangKollegenFE\"\n },\n \"validationRules\": [],\n \"id\": \"r_verhaltenUmgangKollegenFE\",\n \"options\": {\n \"optionsName\": \"r_verhaltenUmgangKollegenFEOptions\",\n \"optionsNameFQ\": \"r_verhaltenUmgangKollegenFEOptions\"\n }\n });\n this.widgetCreator.addTextArea(this, {\n \"height\": \"100px\",\n \"maxLength\": 1000,\n \"caption\": \"termin-empf-einschaetzung-edit.r_verhaltenumgangkollegenb_caption\",\n \"isReadOnlyExpression\": \"models.data.$m_TerminEmpfEinsch.IsFreigegeben\",\n \"placeholder\": \"termin-empf-einschaetzung-edit.r_verhaltenumgangkollegenb_placeholder\",\n \"binding\": {\n \"dataContext\": \"$m_TerminEmpfEinsch\",\n \"bindTo\": \"VerhaltenUmgangKollegenB\",\n \"bindToFQ\": \"models.data.$m_TerminEmpfEinsch.VerhaltenUmgangKollegenB\"\n },\n \"validationRules\": [],\n \"id\": \"r_verhaltenUmgangKollegenB\",\n \"options\": {\n \"optionsName\": \"r_verhaltenUmgangKollegenBOptions\",\n \"optionsNameFQ\": \"r_verhaltenUmgangKollegenBOptions\"\n }\n });\n this.widgetCreator.addTextArea(this, {\n \"height\": \"100px\",\n \"maxLength\": 1000,\n \"caption\": \"termin-empf-einschaetzung-edit.r_verhaltenumgangkollegenm_caption\",\n \"isReadOnlyExpression\": \"models.data.$m_TerminEmpfEinsch.IsFreigegeben\",\n \"placeholder\": \"termin-empf-einschaetzung-edit.r_verhaltenumgangkollegenm_placeholder\",\n \"binding\": {\n \"dataContext\": \"$m_TerminEmpfEinsch\",\n \"bindTo\": \"VerhaltenUmgangKollegenM\",\n \"bindToFQ\": \"models.data.$m_TerminEmpfEinsch.VerhaltenUmgangKollegenM\"\n },\n \"validationRules\": [],\n \"id\": \"r_verhaltenUmgangKollegenM\",\n \"options\": {\n \"optionsName\": \"r_verhaltenUmgangKollegenMOptions\",\n \"optionsNameFQ\": \"r_verhaltenUmgangKollegenMOptions\"\n }\n });\n this.widgetCreator.addNumberBox(this, {\n \"min\": 0.0,\n \"max\": 10.0,\n \"format\": \"f0\",\n \"caption\": \"termin-empf-einschaetzung-edit.r_umgangverhaltensregelnse_caption\",\n \"isReadOnlyExpression\": \"models.data.$m_TerminEmpfEinsch.IsFreigegeben\",\n \"placeholder\": \"termin-empf-einschaetzung-edit.r_umgangverhaltensregelnse_placeholder\",\n \"binding\": {\n \"dataContext\": \"$m_TerminEmpfEinsch\",\n \"bindTo\": \"UmgangVerhaltensregelnSE\",\n \"bindToFQ\": \"models.data.$m_TerminEmpfEinsch.UmgangVerhaltensregelnSE\"\n },\n \"validationRules\": [],\n \"id\": \"r_umgangVerhaltensregelnSE\",\n \"options\": {\n \"optionsName\": \"r_umgangVerhaltensregelnSEOptions\",\n \"optionsNameFQ\": \"r_umgangVerhaltensregelnSEOptions\"\n }\n });\n this.widgetCreator.addNumberBox(this, {\n \"min\": 0.0,\n \"max\": 10.0,\n \"format\": \"f0\",\n \"caption\": \"termin-empf-einschaetzung-edit.r_umgangverhaltensregelnfe_caption\",\n \"isReadOnlyExpression\": \"models.data.$m_TerminEmpfEinsch.IsFreigegeben\",\n \"placeholder\": \"termin-empf-einschaetzung-edit.r_umgangverhaltensregelnfe_placeholder\",\n \"binding\": {\n \"dataContext\": \"$m_TerminEmpfEinsch\",\n \"bindTo\": \"UmgangVerhaltensregelnFE\",\n \"bindToFQ\": \"models.data.$m_TerminEmpfEinsch.UmgangVerhaltensregelnFE\"\n },\n \"validationRules\": [],\n \"id\": \"r_umgangVerhaltensregelnFE\",\n \"options\": {\n \"optionsName\": \"r_umgangVerhaltensregelnFEOptions\",\n \"optionsNameFQ\": \"r_umgangVerhaltensregelnFEOptions\"\n }\n });\n this.widgetCreator.addTextArea(this, {\n \"height\": \"100px\",\n \"maxLength\": 1000,\n \"caption\": \"termin-empf-einschaetzung-edit.r_umgangverhaltensregelnb_caption\",\n \"isReadOnlyExpression\": \"models.data.$m_TerminEmpfEinsch.IsFreigegeben\",\n \"placeholder\": \"termin-empf-einschaetzung-edit.r_umgangverhaltensregelnb_placeholder\",\n \"binding\": {\n \"dataContext\": \"$m_TerminEmpfEinsch\",\n \"bindTo\": \"UmgangVerhaltensregelnB\",\n \"bindToFQ\": \"models.data.$m_TerminEmpfEinsch.UmgangVerhaltensregelnB\"\n },\n \"validationRules\": [],\n \"id\": \"r_umgangVerhaltensregelnB\",\n \"options\": {\n \"optionsName\": \"r_umgangVerhaltensregelnBOptions\",\n \"optionsNameFQ\": \"r_umgangVerhaltensregelnBOptions\"\n }\n });\n this.widgetCreator.addTextArea(this, {\n \"height\": \"100px\",\n \"maxLength\": 1000,\n \"caption\": \"termin-empf-einschaetzung-edit.r_umgangverhaltensregelnm_caption\",\n \"isReadOnlyExpression\": \"models.data.$m_TerminEmpfEinsch.IsFreigegeben\",\n \"placeholder\": \"termin-empf-einschaetzung-edit.r_umgangverhaltensregelnm_placeholder\",\n \"binding\": {\n \"dataContext\": \"$m_TerminEmpfEinsch\",\n \"bindTo\": \"UmgangVerhaltensregelnM\",\n \"bindToFQ\": \"models.data.$m_TerminEmpfEinsch.UmgangVerhaltensregelnM\"\n },\n \"validationRules\": [],\n \"id\": \"r_umgangVerhaltensregelnM\",\n \"options\": {\n \"optionsName\": \"r_umgangVerhaltensregelnMOptions\",\n \"optionsNameFQ\": \"r_umgangVerhaltensregelnMOptions\"\n }\n });\n this.widgetCreator.addTextArea(this, {\n \"height\": \"100px\",\n \"caption\": \"termin-empf-einschaetzung-edit.r_gesamteintragamlc_caption\",\n \"isReadOnlyExpression\": \"models.data.$m_TerminEmpfEinsch.IsFreigegeben\",\n \"binding\": {\n \"dataContext\": \"$m_TerminEmpfEinsch\",\n \"bindTo\": \"GesamteintragAmLC\",\n \"bindToFQ\": \"models.data.$m_TerminEmpfEinsch.GesamteintragAmLC\"\n },\n \"validationRules\": [],\n \"id\": \"r_gesamteintragAmLC\",\n \"options\": {\n \"optionsName\": \"r_gesamteintragAmLCOptions\",\n \"optionsNameFQ\": \"r_gesamteintragAmLCOptions\"\n }\n });\n this.widgetCreator.addTextArea(this, {\n \"height\": \"100px\",\n \"caption\": \"termin-empf-einschaetzung-edit.r_tippsfuerausbildner_caption\",\n \"isReadOnlyExpression\": \"models.data.$m_TerminEmpfEinsch.IsFreigegeben\",\n \"binding\": {\n \"dataContext\": \"$m_TerminEmpfEinsch\",\n \"bindTo\": \"TippsFuerAusbildner\",\n \"bindToFQ\": \"models.data.$m_TerminEmpfEinsch.TippsFuerAusbildner\"\n },\n \"validationRules\": [],\n \"id\": \"r_tippsFuerAusbildner\",\n \"options\": {\n \"optionsName\": \"r_tippsFuerAusbildnerOptions\",\n \"optionsNameFQ\": \"r_tippsFuerAusbildnerOptions\"\n }\n });\n this.widgetCreator.addTextArea(this, {\n \"height\": \"100px\",\n \"maxLength\": 1000,\n \"caption\": \"termin-empf-einschaetzung-edit.r_einschstaerken_caption\",\n \"isReadOnlyExpression\": \"models.data.$m_TerminEmpfEinsch.IsFreigegeben\",\n \"binding\": {\n \"dataContext\": \"$m_TerminEmpfEinsch\",\n \"bindTo\": \"EinschStaerken\",\n \"bindToFQ\": \"models.data.$m_TerminEmpfEinsch.EinschStaerken\"\n },\n \"validationRules\": [],\n \"id\": \"r_einschStaerken\",\n \"options\": {\n \"optionsName\": \"r_einschStaerkenOptions\",\n \"optionsNameFQ\": \"r_einschStaerkenOptions\"\n }\n });\n this.widgetCreator.addTextArea(this, {\n \"height\": \"100px\",\n \"maxLength\": 1000,\n \"caption\": \"termin-empf-einschaetzung-edit.r_einschweiterentw_caption\",\n \"isReadOnlyExpression\": \"models.data.$m_TerminEmpfEinsch.IsFreigegeben\",\n \"binding\": {\n \"dataContext\": \"$m_TerminEmpfEinsch\",\n \"bindTo\": \"EinschWeiterentw\",\n \"bindToFQ\": \"models.data.$m_TerminEmpfEinsch.EinschWeiterentw\"\n },\n \"validationRules\": [],\n \"id\": \"r_einschWeiterentw\",\n \"options\": {\n \"optionsName\": \"r_einschWeiterentwOptions\",\n \"optionsNameFQ\": \"r_einschWeiterentwOptions\"\n }\n });\n this.widgetCreator.addTextArea(this, {\n \"height\": \"100px\",\n \"maxLength\": 1000,\n \"caption\": \"termin-empf-einschaetzung-edit.r_einschdafuermachen_caption\",\n \"isReadOnlyExpression\": \"models.data.$m_TerminEmpfEinsch.IsFreigegeben\",\n \"binding\": {\n \"dataContext\": \"$m_TerminEmpfEinsch\",\n \"bindTo\": \"EinschDafuerMachen\",\n \"bindToFQ\": \"models.data.$m_TerminEmpfEinsch.EinschDafuerMachen\"\n },\n \"validationRules\": [],\n \"id\": \"r_einschDafuerMachen\",\n \"options\": {\n \"optionsName\": \"r_einschDafuerMachenOptions\",\n \"optionsNameFQ\": \"r_einschDafuerMachenOptions\"\n }\n });\n super.onConstructionFinished();\n }\n}","module.exports = \"\";","import * as fwx from \"../../../../framework/forms/form-export\";\nimport {\n TerminEditUtils\n} from \"./termin-edit-utils\";\n\n@fwx.autoinject\nexport class TerminHeartbaseEditForm extends fwx.FormBase {\n constructor(\n element: Element,\n formBaseImport: fwx.FormBaseImport,\n private $f_TerminEditUtils: TerminEditUtils) {\n super(element, formBaseImport);\n this.id = \"termin-heartbase-edit\";\n this.title = \"termin-heartbase-edit.termin-heartbase-edit_caption\";\n this.addModel({\n \"id\": \"$m_Termin\",\n \"webApiAction\": \"ZIT/Objekte/Termin\",\n \"webApiExpand\": {\n 'Empfaenger': {\n 'expand': {\n 'Person': null\n }\n },\n 'Trainer': {\n 'expand': {\n 'Ansprechperson': null\n }\n },\n 'Kopf': {\n 'expand': {\n 'Benutzer': null,\n 'TerminDateien': null,\n 'TerminBestaetigungZustand': null,\n 'Lehrberufe': null,\n 'Stelleninserate': {\n 'expand': {\n 'Stelleninserat': {\n 'columns': [\n 'Id'\n ]\n }\n }\n }\n }\n }\n },\n \"modificationInfoEnabled\": true,\n \"key\": \"variables.data.$id\",\n \"keyProperty\": \"Id\",\n \"postOnSave\": true,\n \"filters\": [{\n \"webApiCustomKey\": \"addVerteilungstypVeroeffentlichenEmpfaenger\",\n \"webApiCustomValue\": \"true\"\n }, {\n \"webApiCustomKey\": \"AddStelleninseratCard\",\n \"webApiCustomValue\": \"true\"\n }, {\n \"webApiCustomKey\": \"addEinschaetzung\",\n \"webApiCustomValue\": \"true\"\n }]\n });\n this.addModel({\n \"id\": \"$m_TerminEmpfaengerElement\",\n \"webApiAction\": \"ZIT/Objekte/TerminEmpfaengerElement\",\n \"webApiExpand\": {\n 'Person': null\n },\n \"keyProperty\": \"Id\",\n \"filters\": []\n });\n this.addModel({\n \"id\": \"$m_ZustandAendern\",\n \"webApiAction\": \"ZIT/Stammdaten/Zustand\",\n \"keyProperty\": \"Id\",\n \"filters\": []\n });\n this.addModel({\n \"id\": \"$m_Lehrberuf\",\n \"webApiAction\": \"ZIT/Stammdaten/Lehrberuf\",\n \"keyProperty\": \"Id\",\n \"filters\": [{\n \"webApiCustomKey\": \"idTerminKopfElement\",\n \"webApiCustomValue\": \"models.data.$m_Termin.IdTerminKopfElement\"\n }]\n });\n this.addModel({\n \"id\": \"$m_TerminEmpfEinschEdit\",\n \"webApiAction\": \"ZIT/Objekte/TerminEmpfEinschElement\",\n \"keyProperty\": \"Id\",\n \"filters\": []\n });\n this.addCommand({\n \"binding\": {\n \"bindTo\": \"$f_TerminEditUtils.actionCommand\",\n \"bindToFQ\": \"functions.$f_TerminEditUtils.actionCommand\"\n }\n });\n this.addEditPopup({\n \"idContent\": \"zustandAendernEditPopupContent\",\n \"mappings\": [{\n \"to\": \"$id\",\n \"binding\": {\n \"dataContext\": \"$m_ZustandAendern\",\n \"bindTo\": \"Id\",\n \"bindToFQ\": \"models.data.$m_ZustandAendern.Id\"\n }\n }, {\n \"to\": \"$v_zustandDatum\",\n \"binding\": {\n \"dataContext\": \"$m_Termin\",\n \"bindTo\": \"Kopf.TerminBestaetigungZustandDatum\",\n \"bindToFQ\": \"models.data.$m_Termin.Kopf.TerminBestaetigungZustandDatum\",\n \"propertyPrefix\": \"Kopf\"\n }\n }, {\n \"to\": \"$v_idTermin\",\n \"binding\": {\n \"dataContext\": \"$m_Termin\",\n \"bindTo\": \"Id\",\n \"bindToFQ\": \"models.data.$m_Termin.Id\"\n }\n }],\n \"id\": \"zustandAendernEditPopup\",\n \"options\": {\n \"optionsName\": \"zustandAendernEditPopupOptions\",\n \"optionsNameFQ\": \"zustandAendernEditPopupOptions\"\n },\n \"height\": \"auto\",\n \"width\": \"500px\",\n \"commands\": []\n });\n this.addEditPopup({\n \"idContent\": \"terminEmpfEinschEditPopupContent\",\n \"mappings\": [{\n \"to\": \"$id\",\n \"binding\": {\n \"dataContext\": \"$m_TerminEmpfEinschEdit\",\n \"bindTo\": \"Id\",\n \"bindToFQ\": \"models.data.$m_TerminEmpfEinschEdit.Id\"\n }\n }, {\n \"to\": \"$v_idTermin\",\n \"binding\": {\n \"dataContext\": \"$m_Termin\",\n \"bindTo\": \"Id\",\n \"bindToFQ\": \"models.data.$m_Termin.Id\"\n }\n }],\n \"id\": \"terminEmpfEinschEditPopup\",\n \"options\": {\n \"optionsName\": \"terminEmpfEinschEditPopupOptions\",\n \"optionsNameFQ\": \"terminEmpfEinschEditPopupOptions\"\n },\n \"height\": \"90vh\",\n \"width\": \"800px\",\n \"commands\": []\n });\n this.addFunction(\"$f_TerminEditUtils\", $f_TerminEditUtils, \"functions.$f_TerminEditUtils\");\n this.widgetCreator.addValidationGroup(this, {\n \"id\": \"wd1\",\n \"options\": {\n \"optionsName\": \"wd1Options\",\n \"optionsNameFQ\": \"wd1Options\"\n }\n });\n this.widgetCreator.addTextBox(this, {\n \"maxLength\": 250,\n \"caption\": \"termin-heartbase-edit.r_betreff_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Termin\",\n \"bindTo\": \"Kopf.Betreff\",\n \"bindToFQ\": \"models.data.$m_Termin.Kopf.Betreff\",\n \"propertyPrefix\": \"Kopf\"\n },\n \"validationRules\": [{\n \"item\": {\n \"type\": \"required\",\n \"parameters\": []\n }\n }],\n \"id\": \"r_betreff\",\n \"options\": {\n \"optionsName\": \"r_betreffOptions\",\n \"optionsNameFQ\": \"r_betreffOptions\"\n }\n });\n this.widgetCreator.addTextBox(this, {\n \"maxLength\": 250,\n \"caption\": \"termin-heartbase-edit.r_kurzbezeichnung_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Termin\",\n \"bindTo\": \"Kopf.Kurzbezeichnung\",\n \"bindToFQ\": \"models.data.$m_Termin.Kopf.Kurzbezeichnung\",\n \"propertyPrefix\": \"Kopf\"\n },\n \"validationRules\": [],\n \"id\": \"r_kurzbezeichnung\",\n \"options\": {\n \"optionsName\": \"r_kurzbezeichnungOptions\",\n \"optionsNameFQ\": \"r_kurzbezeichnungOptions\"\n }\n });\n this.widgetCreator.addTextBox(this, {\n \"maxLength\": 100,\n \"caption\": \"termin-heartbase-edit.r_ort_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Termin\",\n \"bindTo\": \"Kopf.Ort\",\n \"bindToFQ\": \"models.data.$m_Termin.Kopf.Ort\",\n \"propertyPrefix\": \"Kopf\"\n },\n \"validationRules\": [],\n \"id\": \"r_ort\",\n \"options\": {\n \"optionsName\": \"r_ortOptions\",\n \"optionsNameFQ\": \"r_ortOptions\"\n }\n });\n this.widgetCreator.addDateBox(this, {\n \"format\": \"d\",\n \"caption\": \"termin-heartbase-edit.r_startdatum_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Termin\",\n \"bindTo\": \"Kopf.StartDatum\",\n \"bindToFQ\": \"models.data.$m_Termin.Kopf.StartDatum\",\n \"propertyPrefix\": \"Kopf\"\n },\n \"validationRules\": [{\n \"item\": {\n \"type\": \"required\",\n \"parameters\": []\n }\n }],\n \"onValueChanged\": \"functions.$f_TerminEditUtils.onStartDatumChanged\",\n \"id\": \"r_startDatum\",\n \"options\": {\n \"optionsName\": \"r_startDatumOptions\",\n \"optionsNameFQ\": \"r_startDatumOptions\"\n }\n });\n this.widgetCreator.addDateBox(this, {\n \"format\": \"t\",\n \"caption\": \"termin-heartbase-edit.r_startuhrzeit_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Termin\",\n \"bindTo\": \"Kopf.StartUhrzeit\",\n \"bindToFQ\": \"models.data.$m_Termin.Kopf.StartUhrzeit\",\n \"propertyPrefix\": \"Kopf\"\n },\n \"validationRules\": [],\n \"id\": \"r_startUhrzeit\",\n \"options\": {\n \"optionsName\": \"r_startUhrzeitOptions\",\n \"optionsNameFQ\": \"r_startUhrzeitOptions\"\n }\n });\n this.widgetCreator.addDateBox(this, {\n \"format\": \"d\",\n \"caption\": \"termin-heartbase-edit.r_endedatum_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Termin\",\n \"bindTo\": \"Kopf.EndeDatum\",\n \"bindToFQ\": \"models.data.$m_Termin.Kopf.EndeDatum\",\n \"propertyPrefix\": \"Kopf\"\n },\n \"validationRules\": [],\n \"id\": \"r_endeDatum\",\n \"options\": {\n \"optionsName\": \"r_endeDatumOptions\",\n \"optionsNameFQ\": \"r_endeDatumOptions\"\n }\n });\n this.widgetCreator.addDateBox(this, {\n \"format\": \"t\",\n \"caption\": \"termin-heartbase-edit.r_endeuhrzeit_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Termin\",\n \"bindTo\": \"Kopf.EndeUhrzeit\",\n \"bindToFQ\": \"models.data.$m_Termin.Kopf.EndeUhrzeit\",\n \"propertyPrefix\": \"Kopf\"\n },\n \"validationRules\": [],\n \"id\": \"r_endeUhrzeit\",\n \"options\": {\n \"optionsName\": \"r_endeUhrzeitOptions\",\n \"optionsNameFQ\": \"r_endeUhrzeitOptions\"\n }\n });\n this.widgetCreator.addLookup(this, {\n \"idSelect\": \"geschaeftspartner\",\n \"filters\": [],\n \"caption\": \"termin-heartbase-edit.r_geschaeftspartner_caption\",\n \"isReadOnlyExpression\": \"models.data.$m_Termin.Id\",\n \"binding\": {\n \"dataContext\": \"$m_Termin\",\n \"bindTo\": \"Kopf.IdGeschaeftspartner\",\n \"bindToFQ\": \"models.data.$m_Termin.Kopf.IdGeschaeftspartner\",\n \"propertyPrefix\": \"Kopf\"\n },\n \"validationRules\": [{\n \"item\": {\n \"type\": \"required\",\n \"parameters\": []\n }\n }],\n \"id\": \"r_geschaeftspartner\",\n \"options\": {\n \"optionsName\": \"r_geschaeftspartnerOptions\",\n \"optionsNameFQ\": \"r_geschaeftspartnerOptions\"\n }\n });\n this.widgetCreator.addSelectBox(this, {\n \"idSelect\": \"terminTyp\",\n \"filters\": [],\n \"caption\": \"termin-heartbase-edit.r_termintyp_caption\",\n \"isReadOnlyExpression\": \"models.data.$m_Termin.Kopf.Id\",\n \"binding\": {\n \"dataContext\": \"$m_Termin\",\n \"bindTo\": \"Kopf.IdTerminTyp\",\n \"bindToFQ\": \"models.data.$m_Termin.Kopf.IdTerminTyp\",\n \"propertyPrefix\": \"Kopf\"\n },\n \"validationRules\": [{\n \"item\": {\n \"type\": \"required\",\n \"parameters\": []\n }\n }],\n \"id\": \"r_terminTyp\",\n \"options\": {\n \"optionsName\": \"r_terminTypOptions\",\n \"optionsNameFQ\": \"r_terminTypOptions\"\n }\n });\n this.widgetCreator.addFileUploaderWithViewer(this, {\n \"acceptTypeEnum\": 0,\n \"acceptType\": \"image/*\",\n \"height\": \"250px\",\n \"showClearButton\": false,\n \"caption\": \"termin-heartbase-edit.r_dmslinklogo_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Termin\",\n \"bindTo\": \"Kopf.DMSLinkLogo\",\n \"bindToFQ\": \"models.data.$m_Termin.Kopf.DMSLinkLogo\",\n \"propertyPrefix\": \"Kopf\"\n },\n \"validationRules\": [],\n \"id\": \"r_dmsLinkLogo\",\n \"options\": {\n \"optionsName\": \"r_dmsLinkLogoOptions\",\n \"optionsNameFQ\": \"r_dmsLinkLogoOptions\"\n }\n });\n super.onConstructionFinished();\n }\n}","module.exports = \"\";","import * as fwx from \"../../../../framework/forms/form-export\";\nimport {\n TerminReadUtils\n} from \"./termin-read-utils\";\n\n@fwx.autoinject\nexport class TerminHeartbaseReadForm extends fwx.FormBase {\n constructor(\n element: Element,\n formBaseImport: fwx.FormBaseImport,\n private $f_TerminReadUtils: TerminReadUtils) {\n super(element, formBaseImport);\n this.id = \"termin-heartbase-read\";\n this.title = \"termin-heartbase-read.termin-heartbase-read_caption\";\n this.addModel({\n \"id\": \"$m_Termin\",\n \"webApiAction\": \"ZIT/Objekte/Termin\",\n \"webApiExpand\": {\n 'Empfaenger': {\n 'expand': {\n 'Person': {\n 'columns': [\n 'Id'\n ]\n }\n }\n },\n 'Trainer': {\n 'expand': {\n 'Ansprechperson': {\n 'columns': [\n 'Id'\n ]\n }\n }\n },\n 'Kopf': {\n 'expand': {\n 'Benutzer': null,\n 'Geschaeftspartner': null,\n 'TerminDateien': null\n }\n }\n },\n \"modificationInfoEnabled\": true,\n \"key\": \"variables.data.$id\",\n \"keyProperty\": \"Id\",\n \"postOnSave\": true,\n \"filters\": [{\n \"webApiCustomKey\": \"AddPersonCard\",\n \"webApiCustomValue\": \"true\"\n }, {\n \"webApiCustomKey\": \"AddPersonCardKlein\",\n \"webApiCustomValue\": \"true\"\n }, {\n \"webApiCustomKey\": \"AddPersonCardLehrberuf\",\n \"webApiCustomValue\": \"true\"\n }, {\n \"webApiCustomKey\": \"AddAnsprechpersonCard\",\n \"webApiCustomValue\": \"true\"\n }, {\n \"webApiCustomKey\": \"AddAnsprechpersonCardKlein\",\n \"webApiCustomValue\": \"true\"\n }, {\n \"webApiCustomKey\": \"addEinschaetzung\",\n \"webApiCustomValue\": \"true\"\n }, {\n \"webApiCustomKey\": \"addTeilnehmer\",\n \"webApiCustomValue\": \"true\"\n }, {\n \"webApiCustomKey\": \"AddPersonCardGeschaeftspartner\",\n \"webApiCustomValue\": \"true\"\n }, {\n \"webApiCustomKey\": \"AddAnsprechpersonCardBeschreibung\",\n \"webApiCustomValue\": \"true\"\n }]\n });\n this.addModel({\n \"id\": \"$m_TerminEmpfEinschEdit\",\n \"webApiAction\": \"ZIT/Objekte/TerminEmpfEinschElement\",\n \"keyProperty\": \"Id\",\n \"filters\": []\n });\n this.addModel({\n \"id\": \"$m_TerminEmpfEinschRel\",\n \"webApiAction\": \"ZIT/Objekte/TerminEmpfEinschElement\",\n \"keyProperty\": \"Id\",\n \"filters\": []\n });\n this.addCommand({\n \"binding\": {\n \"bindTo\": \"$f_TerminReadUtils.actionCommand\",\n \"bindToFQ\": \"functions.$f_TerminReadUtils.actionCommand\"\n }\n });\n this.addCommand({\n \"binding\": {\n \"bindTo\": \"$f_TerminReadUtils.saveCommand\",\n \"bindToFQ\": \"functions.$f_TerminReadUtils.saveCommand\"\n }\n });\n this.addEditPopup({\n \"idContent\": \"terminEmpfEinschEditPopupContent\",\n \"mappings\": [{\n \"to\": \"$id\",\n \"binding\": {\n \"dataContext\": \"$m_TerminEmpfEinschEdit\",\n \"bindTo\": \"Id\",\n \"bindToFQ\": \"models.data.$m_TerminEmpfEinschEdit.Id\"\n }\n }, {\n \"to\": \"$v_idTermin\",\n \"binding\": {\n \"dataContext\": \"$m_Termin\",\n \"bindTo\": \"Id\",\n \"bindToFQ\": \"models.data.$m_Termin.Id\"\n }\n }],\n \"id\": \"terminEmpfEinschEditPopup\",\n \"options\": {\n \"optionsName\": \"terminEmpfEinschEditPopupOptions\",\n \"optionsNameFQ\": \"terminEmpfEinschEditPopupOptions\"\n },\n \"height\": \"90vh\",\n \"width\": \"800px\",\n \"commands\": []\n });\n this.addFunction(\"$f_TerminReadUtils\", $f_TerminReadUtils, \"functions.$f_TerminReadUtils\");\n this.widgetCreator.addValidationGroup(this, {\n \"id\": \"wd1\",\n \"options\": {\n \"optionsName\": \"wd1Options\",\n \"optionsNameFQ\": \"wd1Options\"\n }\n });\n this.widgetCreator.addListView(this, {\n \"itemClass\": \"z--list-view-inline-item\",\n \"useDefaultListItemStyle\": false,\n \"optionsToolbar\": {\n \"optionsName\": \"r_einschaetzungenListViewToolbarOptions\",\n \"optionsNameFQ\": \"r_einschaetzungenListViewToolbarOptions\"\n },\n \"binding\": {\n \"dataContext\": \"$m_Termin\"\n },\n \"isRelation\": true,\n \"relationBinding\": {\n \"dataContext\": \"$m_TerminEmpfEinschRel\",\n \"bindTo\": \"IdTermin\",\n \"bindToFQ\": \"models.data.$m_TerminEmpfEinschRel.IdTermin\"\n },\n \"dataModel\": \"$m_Termin\",\n \"listEdits\": [],\n \"filters\": [],\n \"commands\": [],\n \"id\": \"r_einschaetzungenListView\",\n \"options\": {\n \"optionsName\": \"r_einschaetzungenListViewOptions\",\n \"optionsNameFQ\": \"r_einschaetzungenListViewOptions\"\n }\n });\n this.widgetCreator.addListView(this, {\n \"itemClass\": \"col-xs-12 col-sm-6\",\n \"useDefaultListItemStyle\": false,\n \"optionsToolbar\": {\n \"optionsName\": \"r_bewerbungenListViewToolbarOptions\",\n \"optionsNameFQ\": \"r_bewerbungenListViewToolbarOptions\"\n },\n \"binding\": {\n \"bindTo\": \"$f_TerminReadUtils.teilnehmerDataSource\",\n \"bindToFQ\": \"functions.$f_TerminReadUtils.teilnehmerDataSource\"\n },\n \"pageSize\": 50,\n \"listEdits\": [],\n \"filters\": [],\n \"commands\": [],\n \"id\": \"r_bewerbungenListView\",\n \"options\": {\n \"optionsName\": \"r_bewerbungenListViewOptions\",\n \"optionsNameFQ\": \"r_bewerbungenListViewOptions\"\n }\n });\n this.widgetCreator.addNumberBox(this, {\n \"min\": 0.0,\n \"max\": 10.0,\n \"isReadOnlyExpression\": \"models.data.$m_Termin._Einschaetzung.IsFreigegeben\",\n \"binding\": {\n \"bindTo\": \"$m_Termin._Einschaetzung.VerhaltenTrainingSE\",\n \"bindToFQ\": \"models.data.$m_Termin._Einschaetzung.VerhaltenTrainingSE\"\n },\n \"validationRules\": [],\n \"id\": \"r_verhaltenTrainingSE\",\n \"options\": {\n \"optionsName\": \"r_verhaltenTrainingSEOptions\",\n \"optionsNameFQ\": \"r_verhaltenTrainingSEOptions\"\n }\n });\n this.widgetCreator.addNumberBox(this, {\n \"min\": 0.0,\n \"max\": 10.0,\n \"isReadOnlyExpression\": \"models.data.$m_Termin._Einschaetzung.IsFreigegeben\",\n \"binding\": {\n \"bindTo\": \"$m_Termin._Einschaetzung.VerhaltenArbeitenSE\",\n \"bindToFQ\": \"models.data.$m_Termin._Einschaetzung.VerhaltenArbeitenSE\"\n },\n \"validationRules\": [],\n \"id\": \"r_verhaltenArbeitenSE\",\n \"options\": {\n \"optionsName\": \"r_verhaltenArbeitenSEOptions\",\n \"optionsNameFQ\": \"r_verhaltenArbeitenSEOptions\"\n }\n });\n this.widgetCreator.addNumberBox(this, {\n \"min\": 0.0,\n \"max\": 10.0,\n \"isReadOnlyExpression\": \"models.data.$m_Termin._Einschaetzung.IsFreigegeben\",\n \"binding\": {\n \"bindTo\": \"$m_Termin._Einschaetzung.VerhaltenUmgangKollegenSE\",\n \"bindToFQ\": \"models.data.$m_Termin._Einschaetzung.VerhaltenUmgangKollegenSE\"\n },\n \"validationRules\": [],\n \"id\": \"r_verhaltenUmgangKollegenSE\",\n \"options\": {\n \"optionsName\": \"r_verhaltenUmgangKollegenSEOptions\",\n \"optionsNameFQ\": \"r_verhaltenUmgangKollegenSEOptions\"\n }\n });\n this.widgetCreator.addNumberBox(this, {\n \"min\": 0.0,\n \"max\": 10.0,\n \"isReadOnlyExpression\": \"models.data.$m_Termin._Einschaetzung.IsFreigegeben\",\n \"binding\": {\n \"bindTo\": \"$m_Termin._Einschaetzung.UmgangVerhaltensregelnSE\",\n \"bindToFQ\": \"models.data.$m_Termin._Einschaetzung.UmgangVerhaltensregelnSE\"\n },\n \"validationRules\": [],\n \"id\": \"r_umgangVerhaltensregelnSE\",\n \"options\": {\n \"optionsName\": \"r_umgangVerhaltensregelnSEOptions\",\n \"optionsNameFQ\": \"r_umgangVerhaltensregelnSEOptions\"\n }\n });\n this.widgetCreator.addTextArea(this, {\n \"height\": \"100px\",\n \"maxLength\": 1000,\n \"caption\": \"termin-heartbase-read.r_einscheigstaerken_caption\",\n \"isReadOnlyExpression\": \"models.data.$m_Termin._Einschaetzung.IsFreigegeben\",\n \"binding\": {\n \"bindTo\": \"$m_Termin._Einschaetzung.EinschStaerken\",\n \"bindToFQ\": \"models.data.$m_Termin._Einschaetzung.EinschStaerken\"\n },\n \"validationRules\": [],\n \"id\": \"r_einschEigStaerken\",\n \"options\": {\n \"optionsName\": \"r_einschEigStaerkenOptions\",\n \"optionsNameFQ\": \"r_einschEigStaerkenOptions\"\n }\n });\n this.widgetCreator.addTextArea(this, {\n \"height\": \"100px\",\n \"maxLength\": 1000,\n \"caption\": \"termin-heartbase-read.r_einscheigweiterentw_caption\",\n \"isReadOnlyExpression\": \"models.data.$m_Termin._Einschaetzung.IsFreigegeben\",\n \"binding\": {\n \"bindTo\": \"$m_Termin._Einschaetzung.EinschWeiterentw\",\n \"bindToFQ\": \"models.data.$m_Termin._Einschaetzung.EinschWeiterentw\"\n },\n \"validationRules\": [],\n \"id\": \"r_einschEigWeiterentw\",\n \"options\": {\n \"optionsName\": \"r_einschEigWeiterentwOptions\",\n \"optionsNameFQ\": \"r_einschEigWeiterentwOptions\"\n }\n });\n this.widgetCreator.addTextArea(this, {\n \"height\": \"100px\",\n \"maxLength\": 1000,\n \"caption\": \"termin-heartbase-read.r_einscheigdafuermachen_caption\",\n \"isReadOnlyExpression\": \"models.data.$m_Termin._Einschaetzung.IsFreigegeben\",\n \"binding\": {\n \"bindTo\": \"$m_Termin._Einschaetzung.EinschDafuerMachen\",\n \"bindToFQ\": \"models.data.$m_Termin._Einschaetzung.EinschDafuerMachen\"\n },\n \"validationRules\": [],\n \"id\": \"r_einschEigDafuerMachen\",\n \"options\": {\n \"optionsName\": \"r_einschEigDafuerMachenOptions\",\n \"optionsNameFQ\": \"r_einschEigDafuerMachenOptions\"\n }\n });\n super.onConstructionFinished();\n }\n}","module.exports = \"\";","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.id, \".termin-heartbase__list-view > * {\\n margin: -6px;\\n}\\n.termin-heartbase__logo img {\\n height: 150px;\\n}\\n\", \"\"]);\n// Exports\nmodule.exports = exports;\n","import * as fwx from \"../../../../framework/forms/form-export\";\n\n@fwx.autoinject\nexport class TerminListForm extends fwx.FormBase {\n constructor(\n element: Element,\n formBaseImport: fwx.FormBaseImport) {\n super(element, formBaseImport);\n this.id = \"termin-list\";\n this.title = \"termin-list.termin-list_caption\";\n this.addModel({\n \"id\": \"$m_Termin\",\n \"webApiAction\": \"ZIT/Objekte/Termin\",\n \"webApiExpand\": {\n 'Kopf': {\n 'expand': {\n 'Geschaeftspartner': {\n 'expand': {\n 'Geschaeftspartnerdaten': null\n }\n }\n }\n }\n },\n \"modificationInfoEnabled\": true,\n \"keyProperty\": \"Id\",\n \"filters\": []\n });\n this.widgetCreator.addValidationGroup(this, {\n \"id\": \"wd1\",\n \"options\": {\n \"optionsName\": \"wd1Options\",\n \"optionsNameFQ\": \"wd1Options\"\n }\n });\n this.widgetCreator.addDataGrid(this, {\n \"columns\": [{\n \"id\": \"r_terminGeschaeftspartner\",\n \"caption\": \"termin-list.r_termingeschaeftspartner_caption\",\n \"bindTo\": \"Kopf.Geschaeftspartner.Geschaeftspartnerdaten.Name1\",\n \"minWidth\": 100\n }, {\n \"id\": \"r_terminBetreff\",\n \"caption\": \"termin-list.r_terminbetreff_caption\",\n \"bindTo\": \"Kopf.Betreff\",\n \"minWidth\": 100\n }, {\n \"id\": \"r_terminStart\",\n \"caption\": \"termin-list.r_terminstart_caption\",\n \"bindTo\": \"Kopf.StartDatum\",\n \"width\": \"90px\",\n \"format\": \"d\"\n }, {\n \"id\": \"r_terminEnde\",\n \"caption\": \"termin-list.r_terminende_caption\",\n \"bindTo\": \"Kopf.EndeDatum\",\n \"width\": \"90px\",\n \"format\": \"d\"\n }],\n \"optionsToolbar\": {\n \"optionsName\": \"r_terminGridToolbarOptions\",\n \"optionsNameFQ\": \"r_terminGridToolbarOptions\"\n },\n \"binding\": {\n \"dataContext\": \"$m_Termin\"\n },\n \"dataModel\": \"$m_Termin\",\n \"editUrl\": \"Objekte/Termin\",\n \"addShortscuts\": true,\n \"isMainList\": true,\n \"height\": \"100%\",\n \"listEdits\": [],\n \"filters\": [],\n \"commands\": [],\n \"id\": \"r_terminGrid\",\n \"options\": {\n \"optionsName\": \"r_terminGridOptions\",\n \"optionsNameFQ\": \"r_terminGridOptions\"\n }\n });\n super.onConstructionFinished();\n }\n}","module.exports = \"\";","import * as fwx from \"../../../../framework/forms/form-export\";\nimport {\n TerminReadUtils\n} from \"./termin-read-utils\";\n\n@fwx.autoinject\nexport class TerminReadForm extends fwx.FormBase {\n constructor(\n element: Element,\n formBaseImport: fwx.FormBaseImport,\n private $f_TerminReadUtils: TerminReadUtils) {\n super(element, formBaseImport);\n this.id = \"termin-read\";\n this.title = \"termin-read.termin-read_caption\";\n this.addModel({\n \"id\": \"$m_Termin\",\n \"webApiAction\": \"ZIT/Objekte/Termin\",\n \"webApiExpand\": {\n 'Empfaenger': null,\n 'Kopf': {\n 'expand': {\n 'Benutzer': null,\n 'Geschaeftspartner': null\n }\n }\n },\n \"modificationInfoEnabled\": true,\n \"key\": \"variables.data.$id\",\n \"keyProperty\": \"Id\",\n \"filters\": [{\n \"webApiCustomKey\": \"addReadFormData\",\n \"webApiCustomValue\": \"true\"\n }]\n });\n this.addCommand({\n \"binding\": {\n \"bindTo\": \"$f_TerminReadUtils.actionCommand\",\n \"bindToFQ\": \"functions.$f_TerminReadUtils.actionCommand\"\n }\n });\n this.addFunction(\"$f_TerminReadUtils\", $f_TerminReadUtils, \"functions.$f_TerminReadUtils\");\n this.widgetCreator.addValidationGroup(this, {\n \"id\": \"wd1\",\n \"options\": {\n \"optionsName\": \"wd1Options\",\n \"optionsNameFQ\": \"wd1Options\"\n }\n });\n this.widgetCreator.addTextArea(this, {\n \"height\": \"50px\",\n \"maxLength\": 250,\n \"placeholder\": \"termin-read.r_absagegrund_placeholder\",\n \"binding\": {\n \"bindTo\": \"$m_Termin.AbsageGrund\",\n \"bindToFQ\": \"models.data.$m_Termin.AbsageGrund\"\n },\n \"validationRules\": [],\n \"id\": \"r_absageGrund\",\n \"options\": {\n \"optionsName\": \"r_absageGrundOptions\",\n \"optionsNameFQ\": \"r_absageGrundOptions\"\n }\n });\n super.onConstructionFinished();\n }\n}","module.exports = \"\";","import * as fwx from \"../../../../framework/forms/form-export\";\nimport {\n TerminZustandAendernUtils\n} from \"./termin-zustand-aendern-utils\";\n\n@fwx.autoinject\nexport class TerminZustandAendernEditForm extends fwx.FormBase {\n constructor(\n element: Element,\n formBaseImport: fwx.FormBaseImport,\n private $f_TerminZustandAendernUtils: TerminZustandAendernUtils) {\n super(element, formBaseImport);\n this.id = \"termin-zustand-aendern\";\n this.title = \"termin-zustand-aendern.termin-zustand-aendern_caption\";\n this.addModel({\n \"id\": \"$m_Zustand\",\n \"webApiAction\": \"ZIT/Stammdaten/Zustand\",\n \"key\": \"variables.data.$id\",\n \"keyProperty\": \"Id\",\n \"filters\": []\n });\n this.addModel({\n \"id\": \"$m_ZustandDataSource\",\n \"webApiAction\": \"ZIT/Stammdaten/Zustand\",\n \"webApiWhere\": [\"Bereich\", {\n \"isBound\": true,\n \"expression\": \"models.data.$m_Zustand.Bereich\"\n }],\n \"keyProperty\": \"Id\",\n \"filters\": []\n });\n this.addVariable({\n \"id\": \"$v_idTermin\"\n });\n this.addVariable({\n \"id\": \"$v_zustandDatum\"\n });\n this.addCommand({\n \"binding\": {\n \"bindTo\": \"$f_TerminZustandAendernUtils.saveCommand\",\n \"bindToFQ\": \"functions.$f_TerminZustandAendernUtils.saveCommand\"\n }\n });\n this.addFunction(\"$f_TerminZustandAendernUtils\", $f_TerminZustandAendernUtils, \"functions.$f_TerminZustandAendernUtils\");\n this.widgetCreator.addValidationGroup(this, {\n \"id\": \"wd1\",\n \"options\": {\n \"optionsName\": \"wd1Options\",\n \"optionsNameFQ\": \"wd1Options\"\n }\n });\n this.widgetCreator.addValidationGroup(this, {\n \"id\": \"r_aenderungZustandValidationGroup\",\n \"options\": {\n \"optionsName\": \"r_aenderungZustandValidationGroupOptions\",\n \"optionsNameFQ\": \"r_aenderungZustandValidationGroupOptions\"\n }\n });\n super.onConstructionFinished();\n }\n}","module.exports = \"\";","import { autoinject, bindable, computedFrom } from \"aurelia-framework\";\nimport { ModelUtilsService } from '../../../../framework/forms/export';\nimport { FormPopupService } from '../../../services/form-popup-service';\nimport { StartupService } from '../../../services/export';\n\n@autoinject\nexport class Massnahmen {\n constructor(\n private _modelUtilsService: ModelUtilsService,\n private _formPopupService: FormPopupService,\n private _startupService: StartupService\n ) {\n this.selectedColor = this._startupService.startupInfo.Skin.Farbe20Opacity;\n }\n\n @bindable mainModel: any;\n massnahmeVisible: any = null;\n selectedColor: string;\n\n bezeichnungOptions: DevExpress.ui.dxTextBoxOptions = {\n placeholder: \"Bezeichnung\",\n bindingOptions: {\n value: \"massnahme.Bezeichnung\"\n }\n };\n isErfuelltOptions: DevExpress.ui.dxCheckBoxOptions = {\n text: \"erfüllt?\",\n bindingOptions: {\n value: \"massnahme.IsErfuellt\"\n }\n };\n kommentarOptions: DevExpress.ui.dxTextAreaOptions = {\n height: \"75px\",\n bindingOptions: {\n value: \"massnahme.Kommentar\"\n }\n };\n requiredValidatorOptions: DevExpress.ui.dxValidatorOptions = {\n validationRules: [{ type: \"required\" }]\n };\n\n addMassnahme() {\n if (!this.mainModel.Kopf.ZielMassnahmen) {\n this.mainModel.Kopf.ZielMassnahmen = [];\n }\n\n this._formPopupService.formPopup.show({\n titel: \"Neue Maßnahme\",\n data: {},\n formDef: [{\n dataField: \"bezeichnung\",\n label: {\n text: \"Bezeichnung\",\n location: \"top\"\n },\n isRequired: true,\n editorType: \"dxTextBox\",\n editorOptions: {\n maxLength: 250\n }\n }],\n onFormSubmit: (d) => {\n this.mainModel.Kopf.ZielMassnahmen.push({\n Bezeichnung: d.bezeichnung,\n IsErfuellt: false\n });\n this._modelUtilsService.setDirty(this.mainModel);\n }\n })\n }\n\n onHeaderClick(ev: Event, massnahme: any) {\n if (this.massnahmeVisible == massnahme) {\n this.massnahmeVisible = null;\n } else {\n this.massnahmeVisible = massnahme;\n }\n }\n onDateiListChanged() {\n this._modelUtilsService.setDirty(this.mainModel);\n }\n onErfuelltClick(ev: Event, massnahme: any) {\n ev.stopPropagation();\n ev.preventDefault();\n\n massnahme.IsErfuellt = !massnahme.IsErfuellt;\n this._modelUtilsService.setDirty(this.mainModel);\n }\n onDeleteClick(ev: Event, massnahme: any) {\n ev.stopPropagation();\n ev.preventDefault();\n\n const massnahmen: any[] = this.mainModel.Kopf.ZielMassnahmen;\n const index = massnahmen.indexOf(massnahme);\n if (index < 0) {\n return;\n }\n\n massnahmen.splice(index, 1);\n this._modelUtilsService.setDirty(this.mainModel);\n }\n}","module.exports = \"\";","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.id, \".massnahme-item:not(:last-child) {\\n margin-bottom: 12px;\\n}\\n.massnahme-item-header {\\n display: flex;\\n flex-wrap: wrap;\\n align-items: center;\\n border: 1px solid #ddd;\\n padding: 5px;\\n cursor: pointer;\\n}\\n.massnahme-item-header > div:not(:first-child) {\\n margin-left: 12px;\\n}\\n.massnahme-item-content {\\n padding-top: 12px;\\n}\\n.massnahme-item-content > div:not(:first-child) {\\n margin-top: 12px;\\n}\\n.massnahme-item-content > div > div:first-child {\\n margin-bottom: 3px;\\n}\\n.massnahme-item-header__bez {\\n flex-grow: 1;\\n font-size: 1.1em;\\n font-weight: bold;\\n}\\n.massname-item__toggle {\\n font-size: 1.1em;\\n}\\n\", \"\"]);\n// Exports\nmodule.exports = exports;\n","import * as fwx from \"../../../../framework/forms/form-export\";\nimport {\n ZielEditUtils\n} from \"./ziel-edit-utils\";\n\n@fwx.autoinject\nexport class ZielEditForm extends fwx.FormBase {\n constructor(\n element: Element,\n formBaseImport: fwx.FormBaseImport,\n private $f_ZielEditUtils: ZielEditUtils) {\n super(element, formBaseImport);\n this.id = \"ziel-edit\";\n this.title = \"ziel-edit.ziel-edit_caption\";\n this.addModel({\n \"id\": \"$m_Ziel\",\n \"webApiAction\": \"ZIT/Objekte/Ziel\",\n \"webApiExpand\": {\n 'Kopf': {\n 'expand': {\n 'ZielMassnahmen': {\n 'expand': {\n 'ZielMassnahmeDateien': null\n }\n },\n 'ZielDateien': null\n }\n }\n },\n \"modificationInfoEnabled\": true,\n \"key\": \"variables.data.$id\",\n \"keyProperty\": \"Id\",\n \"postOnSave\": true,\n \"filters\": []\n });\n this.addCommand({\n \"binding\": {\n \"bindTo\": \"$f_ZielEditUtils.createNachrichtCommand\",\n \"bindToFQ\": \"functions.$f_ZielEditUtils.createNachrichtCommand\"\n }\n });\n this.addFunction(\"$f_ZielEditUtils\", $f_ZielEditUtils, \"functions.$f_ZielEditUtils\");\n this.widgetCreator.addValidationGroup(this, {\n \"id\": \"wd1\",\n \"options\": {\n \"optionsName\": \"wd1Options\",\n \"optionsNameFQ\": \"wd1Options\"\n }\n });\n this.widgetCreator.addLookup(this, {\n \"idSelect\": \"person\",\n \"filters\": [],\n \"caption\": \"ziel-edit.r_person_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Ziel\",\n \"bindTo\": \"Kopf.IdObjekt\",\n \"bindToFQ\": \"models.data.$m_Ziel.Kopf.IdObjekt\",\n \"propertyPrefix\": \"Kopf\"\n },\n \"validationRules\": [{\n \"item\": {\n \"type\": \"required\",\n \"parameters\": []\n }\n }],\n \"id\": \"r_person\",\n \"options\": {\n \"optionsName\": \"r_personOptions\",\n \"optionsNameFQ\": \"r_personOptions\"\n }\n });\n this.widgetCreator.addLookup(this, {\n \"idSelect\": \"ansprechperson\",\n \"filters\": [{\n \"webApiCustomKey\": \"IdPerson\",\n \"webApiCustomValue\": \"models.data.$m_Ziel.Kopf.IdObjekt\"\n }],\n \"caption\": \"ziel-edit.r_ansprechperson_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Ziel\",\n \"bindTo\": \"Kopf.IdAnsprechperson\",\n \"bindToFQ\": \"models.data.$m_Ziel.Kopf.IdAnsprechperson\",\n \"propertyPrefix\": \"Kopf\"\n },\n \"validationRules\": [{\n \"item\": {\n \"type\": \"required\",\n \"parameters\": []\n }\n }],\n \"id\": \"r_ansprechperson\",\n \"options\": {\n \"optionsName\": \"r_ansprechpersonOptions\",\n \"optionsNameFQ\": \"r_ansprechpersonOptions\"\n }\n });\n this.widgetCreator.addTextBox(this, {\n \"maxLength\": 250,\n \"caption\": \"ziel-edit.r_bezeichnung_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Ziel\",\n \"bindTo\": \"Kopf.Bezeichnung\",\n \"bindToFQ\": \"models.data.$m_Ziel.Kopf.Bezeichnung\",\n \"propertyPrefix\": \"Kopf\"\n },\n \"validationRules\": [{\n \"item\": {\n \"type\": \"required\",\n \"parameters\": []\n }\n }],\n \"id\": \"r_bezeichnung\",\n \"options\": {\n \"optionsName\": \"r_bezeichnungOptions\",\n \"optionsNameFQ\": \"r_bezeichnungOptions\"\n }\n });\n this.widgetCreator.addTextArea(this, {\n \"height\": \"75px\",\n \"caption\": \"ziel-edit.r_kommentar_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Ziel\",\n \"bindTo\": \"Kopf.Kommentar\",\n \"bindToFQ\": \"models.data.$m_Ziel.Kopf.Kommentar\",\n \"propertyPrefix\": \"Kopf\"\n },\n \"validationRules\": [],\n \"id\": \"r_kommentar\",\n \"options\": {\n \"optionsName\": \"r_kommentarOptions\",\n \"optionsNameFQ\": \"r_kommentarOptions\"\n }\n });\n this.widgetCreator.addSelectBox(this, {\n \"idSelect\": \"ZielSichtbarFuerTyp\",\n \"filters\": [],\n \"caption\": \"ziel-edit.r_sichtbarfuer_caption\",\n \"isReadOnlyExpression\": \"models.data.$m_Ziel.Id\",\n \"binding\": {\n \"dataContext\": \"$m_Ziel\",\n \"bindTo\": \"Kopf.SichtbarFuer\",\n \"bindToFQ\": \"models.data.$m_Ziel.Kopf.SichtbarFuer\",\n \"propertyPrefix\": \"Kopf\"\n },\n \"validationRules\": [{\n \"item\": {\n \"type\": \"required\",\n \"parameters\": []\n }\n }],\n \"id\": \"r_sichtbarFuer\",\n \"options\": {\n \"optionsName\": \"r_sichtbarFuerOptions\",\n \"optionsNameFQ\": \"r_sichtbarFuerOptions\"\n }\n });\n this.widgetCreator.addTextArea(this, {\n \"height\": \"75px\",\n \"caption\": \"ziel-edit.r_kommentarausbilder_caption\",\n \"binding\": {\n \"dataContext\": \"$m_Ziel\",\n \"bindTo\": \"Kopf.KommentarAusbilder\",\n \"bindToFQ\": \"models.data.$m_Ziel.Kopf.KommentarAusbilder\",\n \"propertyPrefix\": \"Kopf\"\n },\n \"validationRules\": [],\n \"id\": \"r_kommentarAusbilder\",\n \"options\": {\n \"optionsName\": \"r_kommentarAusbilderOptions\",\n \"optionsNameFQ\": \"r_kommentarAusbilderOptions\"\n }\n });\n super.onConstructionFinished();\n }\n}","module.exports = \"\";","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.id, \".ziel-einschaetzung-container .container {\\n align-items: center;\\n}\\n.ziel-einschaetzung-container .container > :not(:first-child) {\\n display: flex;\\n justify-content: center;\\n}\\n.ziel-einschaetzung-slider .dx-slider-wrapper {\\n height: 30px;\\n}\\n.ziel-einschaetzung-slider .dx-slider-handle {\\n margin-top: -15px;\\n height: 30px;\\n margin-left: -6px;\\n width: 12px;\\n}\\n.ziel-einschaetzung-slider .dx-slider-bar {\\n height: 6px;\\n margin: 20px 6px;\\n}\\n.ziel-einschaetzung-slider .dx-slider-range.dx-slider-range-visible {\\n border-width: 3px;\\n}\\n.ziel-einschaetzung-slider .dx-slider-label {\\n bottom: -25px;\\n}\\n.ziel-einschaetzung-wert {\\n font-size: 3em;\\n font-weight: bold;\\n min-width: 130px;\\n text-align: center;\\n}\\n\", \"\"]);\n// Exports\nmodule.exports = exports;\n","import * as fwx from \"../../../../framework/forms/form-export\";\n\n@fwx.autoinject\nexport class ZielListForm extends fwx.FormBase {\n constructor(\n element: Element,\n formBaseImport: fwx.FormBaseImport) {\n super(element, formBaseImport);\n this.id = \"ziel-list\";\n this.title = \"ziel-list.ziel-list_caption\";\n this.addModel({\n \"id\": \"$m_Ziel\",\n \"webApiAction\": \"ZIT/Objekte/Ziel\",\n \"webApiExpand\": {\n Kopf: null\n },\n \"modificationInfoEnabled\": true,\n \"keyProperty\": \"Id\",\n \"filters\": []\n });\n this.widgetCreator.addValidationGroup(this, {\n \"id\": \"wd1\",\n \"options\": {\n \"optionsName\": \"wd1Options\",\n \"optionsNameFQ\": \"wd1Options\"\n }\n });\n this.widgetCreator.addDataGrid(this, {\n \"columns\": [{\n \"id\": \"r_zielBezeichnung\",\n \"caption\": \"ziel-list.r_zielbezeichnung_caption\",\n \"bindTo\": \"Kopf.Bezeichnung\"\n }],\n \"optionsToolbar\": {\n \"optionsName\": \"r_zielGridToolbarOptions\",\n \"optionsNameFQ\": \"r_zielGridToolbarOptions\"\n },\n \"binding\": {\n \"dataContext\": \"$m_Ziel\"\n },\n \"dataModel\": \"$m_Ziel\",\n \"editUrl\": \"Objekte/Ziel\",\n \"addShortscuts\": true,\n \"isMainList\": true,\n \"height\": \"100%\",\n \"listEdits\": [],\n \"filters\": [],\n \"commands\": [],\n \"id\": \"r_zielGrid\",\n \"options\": {\n \"optionsName\": \"r_zielGridOptions\",\n \"optionsNameFQ\": \"r_zielGridOptions\"\n }\n });\n super.onConstructionFinished();\n }\n}","module.exports = \"\";","import * as fwx from \"../../../framework/forms/form-export\";\nimport {\n SchnupperterminListUtils\n} from \"./schnuppertermin-list-utils\";\nimport {\n SchnupperterminAnlageGpUtils\n} from \"./schnuppertermin-anlage-gp-utils\";\n\n@fwx.autoinject\nexport class SchnupperterminListForm extends fwx.FormBase {\n constructor(\n element: Element,\n formBaseImport: fwx.FormBaseImport,\n private $f_SchnupperterminListUtils: SchnupperterminListUtils,\n private $f_SchnupperterminAnlageGpUtils: SchnupperterminAnlageGpUtils) {\n super(element, formBaseImport);\n this.id = \"schnupperterminList\";\n this.title = \"schnupperterminList.schnupperterminlist_caption\";\n this.addCommand({\n \"binding\": {\n \"bindTo\": \"$f_SchnupperterminListUtils.schnupperterminReportAuswahlCommand\",\n \"bindToFQ\": \"functions.$f_SchnupperterminListUtils.schnupperterminReportAuswahlCommand\"\n }\n });\n this.addCommand({\n \"binding\": {\n \"bindTo\": \"$f_SchnupperterminAnlageGpUtils.anlageGpCommand\",\n \"bindToFQ\": \"functions.$f_SchnupperterminAnlageGpUtils.anlageGpCommand\"\n }\n });\n this.addFunction(\"$f_SchnupperterminListUtils\", $f_SchnupperterminListUtils, \"functions.$f_SchnupperterminListUtils\");\n this.addFunction(\"$f_SchnupperterminAnlageGpUtils\", $f_SchnupperterminAnlageGpUtils, \"functions.$f_SchnupperterminAnlageGpUtils\");\n this.widgetCreator.addValidationGroup(this, {\n \"id\": \"wd1\",\n \"options\": {\n \"optionsName\": \"wd1Options\",\n \"optionsNameFQ\": \"wd1Options\"\n }\n });\n this.widgetCreator.addPopup(this, {\n \"id\": \"r_gpAnlage\",\n \"options\": {\n \"optionsName\": \"r_gpAnlageOptions\",\n \"optionsNameFQ\": \"r_gpAnlageOptions\"\n },\n \"caption\": \"schnupperterminList.r_gpanlage_caption\",\n \"height\": \"auto\",\n \"width\": \"900px\",\n \"showCloseButton\": true,\n \"commands\": [{\n \"binding\": {\n \"dataContext\": \"$f_SchnupperterminAnlageGpUtils\",\n \"bindTo\": \"saveGpCommand\",\n \"bindToFQ\": \"functions.$f_SchnupperterminAnlageGpUtils.saveGpCommand\"\n }\n }]\n });\n this.widgetCreator.addValidationGroup(this, {\n \"id\": \"r_gpValidationGroup\",\n \"options\": {\n \"optionsName\": \"r_gpValidationGroupOptions\",\n \"optionsNameFQ\": \"r_gpValidationGroupOptions\"\n }\n });\n this.widgetCreator.addTextBox(this, {\n \"maxLength\": 200,\n \"caption\": \"schnupperterminList.r_gpname1_caption\",\n \"binding\": {\n \"dataContext\": \"$f_SchnupperterminAnlageGpUtils\",\n \"bindTo\": \"model.Name1\",\n \"bindToFQ\": \"functions.$f_SchnupperterminAnlageGpUtils.model.Name1\",\n \"propertyPrefix\": \"model\"\n },\n \"validationRules\": [{\n \"item\": {\n \"type\": \"required\",\n \"parameters\": []\n }\n }],\n \"id\": \"r_gpName1\",\n \"options\": {\n \"optionsName\": \"r_gpName1Options\",\n \"optionsNameFQ\": \"r_gpName1Options\"\n }\n });\n this.widgetCreator.addTextBox(this, {\n \"maxLength\": 200,\n \"caption\": \"schnupperterminList.r_gpname2_caption\",\n \"binding\": {\n \"dataContext\": \"$f_SchnupperterminAnlageGpUtils\",\n \"bindTo\": \"model.Name2\",\n \"bindToFQ\": \"functions.$f_SchnupperterminAnlageGpUtils.model.Name2\",\n \"propertyPrefix\": \"model\"\n },\n \"validationRules\": [],\n \"id\": \"r_gpName2\",\n \"options\": {\n \"optionsName\": \"r_gpName2Options\",\n \"optionsNameFQ\": \"r_gpName2Options\"\n }\n });\n this.widgetCreator.addTextBox(this, {\n \"maxLength\": 100,\n \"mode\": \"email\",\n \"caption\": \"schnupperterminList.r_gpemail_caption\",\n \"binding\": {\n \"dataContext\": \"$f_SchnupperterminAnlageGpUtils\",\n \"bindTo\": \"model.Email\",\n \"bindToFQ\": \"functions.$f_SchnupperterminAnlageGpUtils.model.Email\",\n \"propertyPrefix\": \"model\"\n },\n \"validationRules\": [{\n \"item\": {\n \"type\": \"required\",\n \"parameters\": []\n }\n }],\n \"id\": \"r_gpEmail\",\n \"options\": {\n \"optionsName\": \"r_gpEmailOptions\",\n \"optionsNameFQ\": \"r_gpEmailOptions\"\n }\n });\n this.widgetCreator.addSelectBox(this, {\n \"idSelect\": \"landvorwahl\",\n \"filters\": [],\n \"caption\": \"schnupperterminList.r_gpvorwahl_caption\",\n \"binding\": {\n \"dataContext\": \"$f_SchnupperterminAnlageGpUtils\",\n \"bindTo\": \"model.Vorwahl\",\n \"bindToFQ\": \"functions.$f_SchnupperterminAnlageGpUtils.model.Vorwahl\",\n \"propertyPrefix\": \"model\"\n },\n \"validationRules\": [{\n \"item\": {\n \"type\": \"required\",\n \"parameters\": []\n }\n }],\n \"id\": \"r_gpVorwahl\",\n \"options\": {\n \"optionsName\": \"r_gpVorwahlOptions\",\n \"optionsNameFQ\": \"r_gpVorwahlOptions\"\n }\n });\n this.widgetCreator.addTextBox(this, {\n \"maxLength\": 100,\n \"caption\": \"schnupperterminList.r_gptelefon_caption\",\n \"binding\": {\n \"dataContext\": \"$f_SchnupperterminAnlageGpUtils\",\n \"bindTo\": \"model.Telefon\",\n \"bindToFQ\": \"functions.$f_SchnupperterminAnlageGpUtils.model.Telefon\",\n \"propertyPrefix\": \"model\"\n },\n \"validationRules\": [{\n \"item\": {\n \"type\": \"required\",\n \"parameters\": []\n }\n }],\n \"id\": \"r_gpTelefon\",\n \"options\": {\n \"optionsName\": \"r_gpTelefonOptions\",\n \"optionsNameFQ\": \"r_gpTelefonOptions\"\n }\n });\n this.widgetCreator.addTextBox(this, {\n \"maxLength\": 500,\n \"mode\": \"url\",\n \"caption\": \"schnupperterminList.r_gpwebseite_caption\",\n \"binding\": {\n \"dataContext\": \"$f_SchnupperterminAnlageGpUtils\",\n \"bindTo\": \"model.Website\",\n \"bindToFQ\": \"functions.$f_SchnupperterminAnlageGpUtils.model.Website\",\n \"propertyPrefix\": \"model\"\n },\n \"validationRules\": [],\n \"id\": \"r_gpWebseite\",\n \"options\": {\n \"optionsName\": \"r_gpWebseiteOptions\",\n \"optionsNameFQ\": \"r_gpWebseiteOptions\"\n }\n });\n this.widgetCreator.addTextBox(this, {\n \"maxLength\": 90,\n \"caption\": \"schnupperterminList.r_gpstrasse_caption\",\n \"binding\": {\n \"dataContext\": \"$f_SchnupperterminAnlageGpUtils\",\n \"bindTo\": \"model.Strasse\",\n \"bindToFQ\": \"functions.$f_SchnupperterminAnlageGpUtils.model.Strasse\",\n \"propertyPrefix\": \"model\"\n },\n \"validationRules\": [{\n \"item\": {\n \"type\": \"required\",\n \"parameters\": []\n }\n }],\n \"id\": \"r_gpStrasse\",\n \"options\": {\n \"optionsName\": \"r_gpStrasseOptions\",\n \"optionsNameFQ\": \"r_gpStrasseOptions\"\n }\n });\n this.widgetCreator.addTextBox(this, {\n \"maxLength\": 10,\n \"caption\": \"schnupperterminList.r_gphausnummer_caption\",\n \"binding\": {\n \"dataContext\": \"$f_SchnupperterminAnlageGpUtils\",\n \"bindTo\": \"model.Hausnummer\",\n \"bindToFQ\": \"functions.$f_SchnupperterminAnlageGpUtils.model.Hausnummer\",\n \"propertyPrefix\": \"model\"\n },\n \"validationRules\": [{\n \"item\": {\n \"type\": \"required\",\n \"parameters\": []\n }\n }],\n \"id\": \"r_gpHausnummer\",\n \"options\": {\n \"optionsName\": \"r_gpHausnummerOptions\",\n \"optionsNameFQ\": \"r_gpHausnummerOptions\"\n }\n });\n this.widgetCreator.addSelectBox(this, {\n \"idSelect\": \"staat\",\n \"filters\": [],\n \"caption\": \"schnupperterminList.r_gpland_caption\",\n \"binding\": {\n \"dataContext\": \"$f_SchnupperterminAnlageGpUtils\",\n \"bindTo\": \"model.IdLand\",\n \"bindToFQ\": \"functions.$f_SchnupperterminAnlageGpUtils.model.IdLand\",\n \"propertyPrefix\": \"model\"\n },\n \"validationRules\": [{\n \"item\": {\n \"type\": \"required\",\n \"parameters\": []\n }\n }],\n \"id\": \"r_gpLand\",\n \"options\": {\n \"optionsName\": \"r_gpLandOptions\",\n \"optionsNameFQ\": \"r_gpLandOptions\"\n }\n });\n this.widgetCreator.addTextBox(this, {\n \"maxLength\": 10,\n \"caption\": \"schnupperterminList.r_gpplz_caption\",\n \"binding\": {\n \"dataContext\": \"$f_SchnupperterminAnlageGpUtils\",\n \"bindTo\": \"model.Plz\",\n \"bindToFQ\": \"functions.$f_SchnupperterminAnlageGpUtils.model.Plz\",\n \"propertyPrefix\": \"model\"\n },\n \"validationRules\": [{\n \"item\": {\n \"type\": \"required\",\n \"parameters\": []\n }\n }],\n \"id\": \"r_gpPlz\",\n \"options\": {\n \"optionsName\": \"r_gpPlzOptions\",\n \"optionsNameFQ\": \"r_gpPlzOptions\"\n }\n });\n this.widgetCreator.addTextBox(this, {\n \"maxLength\": 100,\n \"caption\": \"schnupperterminList.r_gport_caption\",\n \"binding\": {\n \"dataContext\": \"$f_SchnupperterminAnlageGpUtils\",\n \"bindTo\": \"model.Ort\",\n \"bindToFQ\": \"functions.$f_SchnupperterminAnlageGpUtils.model.Ort\",\n \"propertyPrefix\": \"model\"\n },\n \"validationRules\": [{\n \"item\": {\n \"type\": \"required\",\n \"parameters\": []\n }\n }],\n \"id\": \"r_gpOrt\",\n \"options\": {\n \"optionsName\": \"r_gpOrtOptions\",\n \"optionsNameFQ\": \"r_gpOrtOptions\"\n }\n });\n this.widgetCreator.addRadioGroup(this, {\n \"idSelect\": \"geschlechtMitTeam\",\n \"filters\": [],\n \"caption\": \"schnupperterminList.r_apgeschlecht_caption\",\n \"binding\": {\n \"dataContext\": \"$f_SchnupperterminAnlageGpUtils\",\n \"bindTo\": \"model.ApGeschlecht\",\n \"bindToFQ\": \"functions.$f_SchnupperterminAnlageGpUtils.model.ApGeschlecht\",\n \"propertyPrefix\": \"model\"\n },\n \"validationRules\": [{\n \"item\": {\n \"type\": \"required\",\n \"parameters\": []\n }\n }],\n \"id\": \"r_apGeschlecht\",\n \"options\": {\n \"optionsName\": \"r_apGeschlechtOptions\",\n \"optionsNameFQ\": \"r_apGeschlechtOptions\"\n }\n });\n this.widgetCreator.addTextBox(this, {\n \"maxLength\": 100,\n \"caption\": \"schnupperterminList.r_apvorname_caption\",\n \"binding\": {\n \"dataContext\": \"$f_SchnupperterminAnlageGpUtils\",\n \"bindTo\": \"model.ApVorname\",\n \"bindToFQ\": \"functions.$f_SchnupperterminAnlageGpUtils.model.ApVorname\",\n \"propertyPrefix\": \"model\"\n },\n \"validationRules\": [{\n \"item\": {\n \"type\": \"required\",\n \"parameters\": []\n }\n }],\n \"id\": \"r_apVorname\",\n \"options\": {\n \"optionsName\": \"r_apVornameOptions\",\n \"optionsNameFQ\": \"r_apVornameOptions\"\n }\n });\n this.widgetCreator.addTextBox(this, {\n \"maxLength\": 100,\n \"caption\": \"schnupperterminList.r_apnachname_caption\",\n \"binding\": {\n \"dataContext\": \"$f_SchnupperterminAnlageGpUtils\",\n \"bindTo\": \"model.ApNachname\",\n \"bindToFQ\": \"functions.$f_SchnupperterminAnlageGpUtils.model.ApNachname\",\n \"propertyPrefix\": \"model\"\n },\n \"validationRules\": [{\n \"item\": {\n \"type\": \"required\",\n \"parameters\": []\n }\n }],\n \"id\": \"r_apNachname\",\n \"options\": {\n \"optionsName\": \"r_apNachnameOptions\",\n \"optionsNameFQ\": \"r_apNachnameOptions\"\n }\n });\n this.widgetCreator.addTextBox(this, {\n \"maxLength\": 100,\n \"caption\": \"schnupperterminList.r_apteam_caption\",\n \"binding\": {\n \"dataContext\": \"$f_SchnupperterminAnlageGpUtils\",\n \"bindTo\": \"model.ApTeam\",\n \"bindToFQ\": \"functions.$f_SchnupperterminAnlageGpUtils.model.ApTeam\",\n \"propertyPrefix\": \"model\"\n },\n \"validationRules\": [{\n \"item\": {\n \"type\": \"required\",\n \"parameters\": []\n }\n }],\n \"id\": \"r_apTeam\",\n \"options\": {\n \"optionsName\": \"r_apTeamOptions\",\n \"optionsNameFQ\": \"r_apTeamOptions\"\n }\n });\n this.widgetCreator.addTextBox(this, {\n \"maxLength\": 100,\n \"mode\": \"email\",\n \"caption\": \"schnupperterminList.r_apemail_caption\",\n \"binding\": {\n \"dataContext\": \"$f_SchnupperterminAnlageGpUtils\",\n \"bindTo\": \"model.ApEmail\",\n \"bindToFQ\": \"functions.$f_SchnupperterminAnlageGpUtils.model.ApEmail\",\n \"propertyPrefix\": \"model\"\n },\n \"validationRules\": [],\n \"id\": \"r_apEmail\",\n \"options\": {\n \"optionsName\": \"r_apEmailOptions\",\n \"optionsNameFQ\": \"r_apEmailOptions\"\n }\n });\n this.widgetCreator.addSelectBox(this, {\n \"idSelect\": \"landvorwahl\",\n \"filters\": [],\n \"caption\": \"schnupperterminList.r_apvorwahl_caption\",\n \"binding\": {\n \"dataContext\": \"$f_SchnupperterminAnlageGpUtils\",\n \"bindTo\": \"model.ApVorwahl\",\n \"bindToFQ\": \"functions.$f_SchnupperterminAnlageGpUtils.model.ApVorwahl\",\n \"propertyPrefix\": \"model\"\n },\n \"validationRules\": [],\n \"id\": \"r_apVorwahl\",\n \"options\": {\n \"optionsName\": \"r_apVorwahlOptions\",\n \"optionsNameFQ\": \"r_apVorwahlOptions\"\n }\n });\n this.widgetCreator.addTextBox(this, {\n \"maxLength\": 100,\n \"caption\": \"schnupperterminList.r_aptelefon_caption\",\n \"binding\": {\n \"dataContext\": \"$f_SchnupperterminAnlageGpUtils\",\n \"bindTo\": \"model.ApTelefon\",\n \"bindToFQ\": \"functions.$f_SchnupperterminAnlageGpUtils.model.ApTelefon\",\n \"propertyPrefix\": \"model\"\n },\n \"validationRules\": [],\n \"id\": \"r_apTelefon\",\n \"options\": {\n \"optionsName\": \"r_apTelefonOptions\",\n \"optionsNameFQ\": \"r_apTelefonOptions\"\n }\n });\n this.widgetCreator.addSelectBox(this, {\n \"idSelect\": \"landvorwahl\",\n \"filters\": [],\n \"caption\": \"schnupperterminList.r_apmobilvorwahl_caption\",\n \"binding\": {\n \"dataContext\": \"$f_SchnupperterminAnlageGpUtils\",\n \"bindTo\": \"model.ApMobilVorwahl\",\n \"bindToFQ\": \"functions.$f_SchnupperterminAnlageGpUtils.model.ApMobilVorwahl\",\n \"propertyPrefix\": \"model\"\n },\n \"validationRules\": [],\n \"id\": \"r_apMobilVorwahl\",\n \"options\": {\n \"optionsName\": \"r_apMobilVorwahlOptions\",\n \"optionsNameFQ\": \"r_apMobilVorwahlOptions\"\n }\n });\n this.widgetCreator.addTextBox(this, {\n \"maxLength\": 100,\n \"caption\": \"schnupperterminList.r_apmobiltelefon_caption\",\n \"binding\": {\n \"dataContext\": \"$f_SchnupperterminAnlageGpUtils\",\n \"bindTo\": \"model.ApMobilTelefon\",\n \"bindToFQ\": \"functions.$f_SchnupperterminAnlageGpUtils.model.ApMobilTelefon\",\n \"propertyPrefix\": \"model\"\n },\n \"validationRules\": [],\n \"id\": \"r_apMobilTelefon\",\n \"options\": {\n \"optionsName\": \"r_apMobilTelefonOptions\",\n \"optionsNameFQ\": \"r_apMobilTelefonOptions\"\n }\n });\n this.widgetCreator.addTextBox(this, {\n \"maxLength\": 100,\n \"caption\": \"schnupperterminList.r_apfunktion_caption\",\n \"binding\": {\n \"dataContext\": \"$f_SchnupperterminAnlageGpUtils\",\n \"bindTo\": \"model.Funktion\",\n \"bindToFQ\": \"functions.$f_SchnupperterminAnlageGpUtils.model.Funktion\",\n \"propertyPrefix\": \"model\"\n },\n \"validationRules\": [],\n \"id\": \"r_apFunktion\",\n \"options\": {\n \"optionsName\": \"r_apFunktionOptions\",\n \"optionsNameFQ\": \"r_apFunktionOptions\"\n }\n });\n this.widgetCreator.addSelectBox(this, {\n \"idSelect\": \"lehrberuf\",\n \"filters\": [],\n \"caption\": \"schnupperterminList.r_lblehrberuf_caption\",\n \"binding\": {\n \"dataContext\": \"$f_SchnupperterminAnlageGpUtils\",\n \"bindTo\": \"model.IdLehrberuf\",\n \"bindToFQ\": \"functions.$f_SchnupperterminAnlageGpUtils.model.IdLehrberuf\",\n \"propertyPrefix\": \"model\"\n },\n \"validationRules\": [{\n \"item\": {\n \"type\": \"required\",\n \"parameters\": []\n }\n }],\n \"id\": \"r_lbLehrberuf\",\n \"options\": {\n \"optionsName\": \"r_lbLehrberufOptions\",\n \"optionsNameFQ\": \"r_lbLehrberufOptions\"\n }\n });\n super.onConstructionFinished();\n }\n}","module.exports = \"\";","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.id, \".schnuppertermin--aehnlich {\\n margin-top: 12px;\\n}\\n.schnuppertermin--aehnlich-hinweis {\\n font-weight: bold;\\n margin-bottom: 6px;\\n}\\n.schnuppertermin--aehnlich-hinweis i {\\n padding-right: 6px;\\n}\\n.schnuppertermin--infoadresse > div {\\n flex-wrap: unset;\\n align-items: center;\\n}\\n.schnuppertermin--infoadresse > div > div {\\n padding: 5px;\\n}\\n\", \"\"]);\n// Exports\nmodule.exports = exports;\n","import * as fwx from \"../../../../framework/forms/form-export\";\n\n@fwx.autoinject\nexport class SurveyMonkeyFragebogenEditForm extends fwx.FormBase {\n constructor(\n element: Element,\n formBaseImport: fwx.FormBaseImport) {\n super(element, formBaseImport);\n this.id = \"survey-monkey-fragebogen-edit\";\n this.title = \"survey-monkey-fragebogen-edit.survey-monkey-fragebogen-edit_caption\";\n this.addModel({\n \"id\": \"$m_SurveyMonkeyFragebogen\",\n \"webApiAction\": \"ZIT/SurveyMonkey/Survey\",\n \"webApiExpand\": {\n 'Questions': {\n 'expand': {\n 'Children': {\n 'expand': {\n 'AnswerChoices': null\n }\n },\n 'AnswerChoices': null\n }\n }\n },\n \"key\": \"variables.data.$id\",\n \"keyProperty\": \"Id\",\n \"postOnSave\": true,\n \"allowNew\": \"false\",\n \"allowDelete\": \"false\",\n \"filters\": [{\n \"webApiCustomKey\": \"Editing\",\n \"webApiCustomValue\": \"true\"\n }]\n });\n this.addModel({\n \"id\": \"$m_SurveyMonkeyFragebogenQuestion\",\n \"webApiAction\": \"ZIT/SurveyMonkey/Question\",\n \"keyProperty\": \"Id\",\n \"filters\": []\n });\n this.addModel({\n \"id\": \"$m_SurveyMonkeyFragebogenQuestionChild\",\n \"webApiAction\": \"ZIT/SurveyMonkey/Question\",\n \"keyProperty\": \"Id\",\n \"filters\": []\n });\n this.addModel({\n \"id\": \"$m_SurveyMonkeyFragebogenAnswerChoice\",\n \"webApiAction\": \"ZIT/SurveyMonkey/AnswerChoice\",\n \"keyProperty\": \"Id\",\n \"filters\": []\n });\n this.addModel({\n \"id\": \"$m_SurveyMonkeyFragebogenAnswerChoiceChild\",\n \"webApiAction\": \"ZIT/SurveyMonkey/AnswerChoice\",\n \"keyProperty\": \"Id\",\n \"filters\": []\n });\n this.widgetCreator.addValidationGroup(this, {\n \"id\": \"wd1\",\n \"options\": {\n \"optionsName\": \"wd1Options\",\n \"optionsNameFQ\": \"wd1Options\"\n }\n });\n this.widgetCreator.addTextBox(this, {\n \"maxLength\": 100,\n \"caption\": \"survey-monkey-fragebogen-edit.r_titel_caption\",\n \"isReadOnly\": true,\n \"binding\": {\n \"dataContext\": \"$m_SurveyMonkeyFragebogen\",\n \"bindTo\": \"Titel\",\n \"bindToFQ\": \"models.data.$m_SurveyMonkeyFragebogen.Titel\"\n },\n \"validationRules\": [{\n \"item\": {\n \"type\": \"stringLength\",\n \"parameters\": [{\n \"name\": \"max\",\n \"value\": 100\n }]\n }\n }],\n \"id\": \"r_titel\",\n \"options\": {\n \"optionsName\": \"r_titelOptions\",\n \"optionsNameFQ\": \"r_titelOptions\"\n }\n });\n this.widgetCreator.addCheckBox(this, {\n \"caption\": \"survey-monkey-fragebogen-edit.r_isaktiv_caption\",\n \"binding\": {\n \"dataContext\": \"$m_SurveyMonkeyFragebogen\",\n \"bindTo\": \"IsAktiv\",\n \"bindToFQ\": \"models.data.$m_SurveyMonkeyFragebogen.IsAktiv\"\n },\n \"validationRules\": [],\n \"id\": \"r_isAktiv\",\n \"options\": {\n \"optionsName\": \"r_isAktivOptions\",\n \"optionsNameFQ\": \"r_isAktivOptions\"\n }\n });\n this.widgetCreator.addDateBox(this, {\n \"format\": \"g\",\n \"caption\": \"survey-monkey-fragebogen-edit.r_letzteaktualisierung_caption\",\n \"isReadOnly\": true,\n \"binding\": {\n \"dataContext\": \"$m_SurveyMonkeyFragebogen\",\n \"bindTo\": \"LetzteAktualisierung\",\n \"bindToFQ\": \"models.data.$m_SurveyMonkeyFragebogen.LetzteAktualisierung\"\n },\n \"validationRules\": [],\n \"id\": \"r_letzteAktualisierung\",\n \"options\": {\n \"optionsName\": \"r_letzteAktualisierungOptions\",\n \"optionsNameFQ\": \"r_letzteAktualisierungOptions\"\n }\n });\n this.widgetCreator.addCheckBox(this, {\n \"caption\": \"survey-monkey-fragebogen-edit.r_korrektheitpruefen_caption\",\n \"binding\": {\n \"dataContext\": \"$m_SurveyMonkeyFragebogen\",\n \"bindTo\": \"KorrektheitPruefen\",\n \"bindToFQ\": \"models.data.$m_SurveyMonkeyFragebogen.KorrektheitPruefen\"\n },\n \"validationRules\": [],\n \"id\": \"r_korrektheitPruefen\",\n \"options\": {\n \"optionsName\": \"r_korrektheitPruefenOptions\",\n \"optionsNameFQ\": \"r_korrektheitPruefenOptions\"\n }\n });\n this.widgetCreator.addTextBox(this, {\n \"maxLength\": 500,\n \"caption\": \"survey-monkey-fragebogen-edit.r_bezeichnungviewer_caption\",\n \"binding\": {\n \"dataContext\": \"$m_SurveyMonkeyFragebogenQuestion\",\n \"bindTo\": \"BezeichnungViewer\",\n \"bindToFQ\": \"item.BezeichnungViewer\"\n },\n \"validationRules\": [{\n \"item\": {\n \"type\": \"stringLength\",\n \"parameters\": [{\n \"name\": \"max\",\n \"value\": 500\n }]\n }\n }],\n \"id\": \"r_bezeichnungViewer\",\n \"options\": {\n \"optionsName\": \"r_bezeichnungViewerOptions\",\n \"optionsNameFQ\": \"r_bezeichnungViewerOptions\"\n }\n });\n this.widgetCreator.addCheckBox(this, {\n \"caption\": \"survey-monkey-fragebogen-edit.r_nichtimvieweranzeigen_caption\",\n \"binding\": {\n \"dataContext\": \"$m_SurveyMonkeyFragebogenQuestion\",\n \"bindTo\": \"NichtImViewerAnzeigen\",\n \"bindToFQ\": \"item.NichtImViewerAnzeigen\"\n },\n \"validationRules\": [],\n \"id\": \"r_nichtImViewerAnzeigen\",\n \"options\": {\n \"optionsName\": \"r_nichtImViewerAnzeigenOptions\",\n \"optionsNameFQ\": \"r_nichtImViewerAnzeigenOptions\"\n }\n });\n this.widgetCreator.addTextBox(this, {\n \"maxLength\": 500,\n \"caption\": \"survey-monkey-fragebogen-edit.r_bezeichungvieweranswer_caption\",\n \"binding\": {\n \"dataContext\": \"$m_SurveyMonkeyFragebogenAnswerChoice\",\n \"bindTo\": \"BezeichnungViewer\",\n \"bindToFQ\": \"choice.BezeichnungViewer\"\n },\n \"validationRules\": [{\n \"item\": {\n \"type\": \"stringLength\",\n \"parameters\": [{\n \"name\": \"max\",\n \"value\": 500\n }]\n }\n }],\n \"id\": \"r_bezeichungViewerAnswer\",\n \"options\": {\n \"optionsName\": \"r_bezeichungViewerAnswerOptions\",\n \"optionsNameFQ\": \"r_bezeichungViewerAnswerOptions\"\n }\n });\n this.widgetCreator.addCheckBox(this, {\n \"caption\": \"survey-monkey-fragebogen-edit.r_iscorrectanswer_caption\",\n \"binding\": {\n \"dataContext\": \"$m_SurveyMonkeyFragebogenAnswerChoice\",\n \"bindTo\": \"IsCorrect\",\n \"bindToFQ\": \"choice.IsCorrect\"\n },\n \"validationRules\": [],\n \"id\": \"r_isCorrectAnswer\",\n \"options\": {\n \"optionsName\": \"r_isCorrectAnswerOptions\",\n \"optionsNameFQ\": \"r_isCorrectAnswerOptions\"\n }\n });\n this.widgetCreator.addCheckBox(this, {\n \"caption\": \"survey-monkey-fragebogen-edit.r_nichtimvieweranzeigenanswer_caption\",\n \"binding\": {\n \"dataContext\": \"$m_SurveyMonkeyFragebogenAnswerChoice\",\n \"bindTo\": \"NichtImViewerAnzeigen\",\n \"bindToFQ\": \"choice.NichtImViewerAnzeigen\"\n },\n \"validationRules\": [],\n \"id\": \"r_nichtImViewerAnzeigenAnswer\",\n \"options\": {\n \"optionsName\": \"r_nichtImViewerAnzeigenAnswerOptions\",\n \"optionsNameFQ\": \"r_nichtImViewerAnzeigenAnswerOptions\"\n }\n });\n this.widgetCreator.addCheckBox(this, {\n \"caption\": \"survey-monkey-fragebogen-edit.r_iscorrectanswerchild_caption\",\n \"binding\": {\n \"dataContext\": \"$m_SurveyMonkeyFragebogenAnswerChoiceChild\",\n \"bindTo\": \"IsCorrect\",\n \"bindToFQ\": \"choice.IsCorrect\"\n },\n \"validationRules\": [],\n \"id\": \"r_isCorrectAnswerChild\",\n \"options\": {\n \"optionsName\": \"r_isCorrectAnswerChildOptions\",\n \"optionsNameFQ\": \"r_isCorrectAnswerChildOptions\"\n }\n });\n super.onConstructionFinished();\n }\n}","module.exports = \"\";","import * as fwx from \"../../../framework/forms/form-export\";\nimport {\n SucheUtils\n} from \"./suche-utils\";\n\n@fwx.autoinject\nexport class SucheForm extends fwx.FormBase {\n constructor(\n element: Element,\n formBaseImport: fwx.FormBaseImport,\n private $f_SucheUtils: SucheUtils) {\n super(element, formBaseImport);\n this.id = \"suche\";\n this.title = \"suche.suche_caption\";\n this.addModel({\n \"id\": \"$m_Suche\",\n \"webApiAction\": \"ZIT/Volltext/Suche\",\n \"webApiOrderBy\": [{\n \"columnName\": \"Id\",\n \"sortOrder\": 1\n }],\n \"webApiSearchtextEnabled\": true,\n \"modificationInfoEnabled\": true,\n \"keyProperty\": \"Id\",\n \"searchtext\": \"variables.data.$v_searchText\",\n \"filters\": [{\n \"webApiCustomKey\": \"viewType\",\n \"webApiCustomValue\": \"functions.$f_SucheUtils.viewTyp\"\n }, {\n \"webApiCustomKey\": \"searchStandardFilter\",\n \"webApiCustomValue\": \"functions.$f_SucheUtils.searchStandardFilter\"\n }, {\n \"if\": \"functions.$f_SucheUtils.objektFullName\",\n \"webApiCustomKey\": \"objektFullName\",\n \"webApiCustomValue\": \"functions.$f_SucheUtils.objektFullName\"\n }, {\n \"if\": \"functions.$f_SucheUtils.wertQueryList\",\n \"webApiCustomKey\": \"searchExtended\",\n \"webApiCustomValue\": \"functions.$f_SucheUtils.wertQueryList\"\n }, {\n \"if\": \"functions.$f_SucheUtils.additionalColumns\",\n \"webApiCustomKey\": \"additionalColumns\",\n \"webApiCustomValue\": \"functions.$f_SucheUtils.additionalColumns\"\n }]\n });\n this.addVariable({\n \"id\": \"$v_searchText\"\n });\n this.addCommand({\n \"binding\": {\n \"bindTo\": \"$f_SucheUtils.createNewCommand\",\n \"bindToFQ\": \"functions.$f_SucheUtils.createNewCommand\"\n }\n });\n this.addCommand({\n \"binding\": {\n \"bindTo\": \"$f_SucheUtils.columnsCommand\",\n \"bindToFQ\": \"functions.$f_SucheUtils.columnsCommand\"\n }\n });\n this.addCommand({\n \"binding\": {\n \"bindTo\": \"$f_SucheUtils.actionCommand\",\n \"bindToFQ\": \"functions.$f_SucheUtils.actionCommand\"\n }\n });\n this.addCommand({\n \"binding\": {\n \"bindTo\": \"$f_SucheUtils.activateListView\",\n \"bindToFQ\": \"functions.$f_SucheUtils.activateListView\"\n }\n });\n this.addCommand({\n \"binding\": {\n \"bindTo\": \"$f_SucheUtils.activateTableView\",\n \"bindToFQ\": \"functions.$f_SucheUtils.activateTableView\"\n }\n });\n this.addCommand({\n \"binding\": {\n \"bindTo\": \"$f_SucheUtils.activateStandardfilter\",\n \"bindToFQ\": \"functions.$f_SucheUtils.activateStandardfilter\"\n }\n });\n this.addFunction(\"$f_SucheUtils\", $f_SucheUtils, \"functions.$f_SucheUtils\");\n this.widgetCreator.addValidationGroup(this, {\n \"id\": \"wd1\",\n \"options\": {\n \"optionsName\": \"wd1Options\",\n \"optionsNameFQ\": \"wd1Options\"\n }\n });\n this.widgetCreator.addDataGrid(this, {\n \"columns\": [],\n \"optionsToolbar\": {\n \"optionsName\": \"r_sucheGridToolbarOptions\",\n \"optionsNameFQ\": \"r_sucheGridToolbarOptions\"\n },\n \"binding\": {\n \"dataContext\": \"$m_Suche\"\n },\n \"dataModel\": \"$m_Suche\",\n \"onItemClick\": \"functions.$f_SucheUtils.onItemClicked($event)\",\n \"selectionMode\": 2,\n \"height\": \"100%\",\n \"showPagerInfo\": true,\n \"listEdits\": [],\n \"filters\": [],\n \"commands\": [],\n \"id\": \"r_sucheGrid\",\n \"options\": {\n \"optionsName\": \"r_sucheGridOptions\",\n \"optionsNameFQ\": \"r_sucheGridOptions\"\n }\n });\n this.widgetCreator.addListView(this, {\n \"itemClass\": \"suche-card-item col-xs-12 col-sm-6 col-lg-4 col-xl-3\",\n \"useDefaultListItemStyle\": false,\n \"pagingMode\": \"loadNext\",\n \"optionsToolbar\": {\n \"optionsName\": \"r_sucheListViewToolbarOptions\",\n \"optionsNameFQ\": \"r_sucheListViewToolbarOptions\"\n },\n \"binding\": {\n \"dataContext\": \"$m_Suche\"\n },\n \"dataModel\": \"$m_Suche\",\n \"onItemClick\": \"functions.$f_SucheUtils.onItemClicked($event)\",\n \"selectionMode\": 2,\n \"pageSize\": 16,\n \"height\": \"100%\",\n \"showPagerInfo\": true,\n \"listEdits\": [],\n \"filters\": [],\n \"commands\": [],\n \"id\": \"r_sucheListView\",\n \"options\": {\n \"optionsName\": \"r_sucheListViewOptions\",\n \"optionsNameFQ\": \"r_sucheListViewOptions\"\n }\n });\n super.onConstructionFinished();\n }\n}","module.exports = \"\";","import { autoinject, computedFrom, bindable, observable, createOverrideContext, bindingMode } from \"aurelia-framework\";\nimport { EventAggregator, Subscription } from \"aurelia-event-aggregator\";\nimport { StartupService, DownloadService } from \"../../../../services/export\";\nimport { Share } from \"../../../../elements/share/share\";\nimport { SucheLayoutAuswahl } from \"../../../../elements/suche-layout-auswahl/suche-layout-auswahl\";\nimport { GlobalizationService, RestService, LocationService, ScopeContainer } from \"../../../../../framework/base/export\";\nimport { IZitTagOptions } from \"../../../../../zit-ui/elements/zit-tag/export\";\nimport { INachrichtEmpfObjektModel, NachrichtService } from \"../../../../services/nachricht-service\";\nimport { TerminEmpfaenger, ErweiterteSuche, ReportErstellen } from \"../../../../elements/export\";\nimport { FormBase, FormEventService, SimpleWidgetCreatorService } from \"../../../../../framework/forms/export\";\nimport { IdxPopupComponent, IdxListComponent, IdxPopoverComponent, IdxDataGridComponent } from \"../../../../interfaces/export\";\nimport { ILoginprofilEinstellung } from \"../../../../services/loginprofil-einstellungen-service\";\nimport { ZustandStatus, ZustandService, ZustandBereich } from \"../../../../services/zustand-service\";\nimport { ISchnupperterminZeitraumResult, SchnupperterminService } from \"../../../../services/schnuppertermin-service\";\nimport { StatusAendern } from \"../../../../elements/status-aendern/status-aendern\";\nimport { ObjektStatusSammlungTyp, StatusService } from \"../../../../services/status-service\";\n\n@autoinject\nexport class Tableau {\n private _canvas: HTMLCanvasElement;\n private _defaultFilter: IDefaultFilter;\n private _terminChangedSubscription: Subscription;\n private _terminEmpfChangedSubscription: Subscription;\n private _objektStatusChangedSubscription: Subscription;\n private _formSavedSubscription: {(): void};\n\n constructor(\n public startupService: StartupService,\n private _globalizationService: GlobalizationService,\n private _nachrichtService: NachrichtService,\n private _restService: RestService,\n private _locationService: LocationService,\n private _eventAggregator: EventAggregator,\n private _downloadService: DownloadService,\n private _zustandService: ZustandService,\n private _statusService: StatusService,\n private _schnupperterminService: SchnupperterminService,\n private _simpleWidgetCreatorService: SimpleWidgetCreatorService,\n private _formEventService: FormEventService\n ) {\n this.hasSchnuppertermin = startupService.startupInfo.ShowSchnupperterminMaske;\n }\n\n @bindable({defaultBindingMode: bindingMode.twoWay}) @observable currentViewType: ViewType = ViewType.DispoPlanstelle;\n @bindable hasTerminEmpfView: boolean;\n @bindable hasEventTeilnehmerView: boolean;\n @bindable filterIdPerson: number;\n\n scopeContainer: ScopeContainer;\n\n hasSchnuppertermin: boolean = false;\n hasSelection: boolean = false;\n selectionCount: number = 0;\n previousResult: IResult;\n\n share: Share;\n erweiterteSuche: ErweiterteSuche;\n layoutAuswahl: SucheLayoutAuswahl;\n terminEmpfaenger: TerminEmpfaenger;\n reportErstellen: ReportErstellen;\n statusAendern: StatusAendern;\n \n filter: IFilter;\n filterTermin: IFilterTermin;\n filterEventZeitraum: IFilterEventZeitraum;\n\n grid: IdxDataGridComponent;\n zeitraumPopup: IdxPopupComponent;\n geschaeftspartnerFilterList: IdxListComponent;\n geschaeftspartnerSchuleFilterList: IdxListComponent;\n terminEmpfZustandFilterList: IdxListComponent;\n objektStatusFilterList: IdxListComponent;\n geschaeftspartnerFilterPopover: IdxPopoverComponent;\n geschaeftspartnerSchuleFilterPopover: IdxPopoverComponent;\n objektStatusFilterPopover: IdxPopoverComponent;\n terminEmpfZustandFilterPopover: IdxPopoverComponent;\n\n zeitraumEdit: IZeitraumEdit;\n\n currentObjektStatusFilterList: IObjektStatusFilter[];\n currentGeschaeftspartnerFilterList: IGeschaeftspartnerFilter[];\n currentEventZeitraumList: ISchnupperterminZeitraumResult[];\n\n parentForm: FormBase;\n\n @computedFrom(\"filter.zeitraumVon\", \"filter.zeitraumBis\")\n get zeitraumFormatiert() {\n if (!this.filter) {\n return null;\n }\n if (!this.filter.zeitraumVon) {\n return null;\n }\n if (!this.filter.zeitraumBis) {\n return null;\n }\n\n const von = this._globalizationService.format(this.filter.zeitraumVon, \"d\");\n const vonTag = this._globalizationService.format(this.filter.zeitraumVon, \"DT_dd\");\n const bis = this._globalizationService.format(this.filter.zeitraumBis, \"d\");\n const bisTag = this._globalizationService.format(this.filter.zeitraumBis, \"DT_dd\");\n\n return `${von} (${vonTag}) - ${bis} (${bisTag})`.toUpperCase();\n }\n @computedFrom(\"currentViewType\")\n get currentObjektFullName() {\n switch (this.currentViewType) {\n case ViewType.DispoPersonenzuteilung:\n return \"TIP.ZIT.Business.Entities.Objekte.Disposition.DispoPlanstellePersonenzuteilung\";\n case ViewType.DispoPlanstelle:\n return \"TIP.ZIT.Business.Entities.Objekte.Disposition.DispoPlanstelle\";\n case ViewType.Termin:\n case ViewType.TerminEmpfaenger:\n return \"TIP.ZIT.Business.Entities.Objekte.Termine.Termin\";\n case ViewType.Schnuppertermin:\n case ViewType.EventSchnuppertermin:\n return \"TIP.ZIT.Business.Entities.Objekte.Bewerbungen.Bewerbung\";\n case ViewType.EventLinkAnmeldung:\n return \"TIP.ZIT.Business.Entities.Objekte.Events.EventLinkAnmeldung\";\n case ViewType.Aufgabe:\n return \"TIP.ZIT.Business.Entities.Objekte.Aufgaben.Aufgabe\";\n case ViewType.Event:\n return \"TIP.ZIT.Business.Entities.Objekte.Events.EventZeitraum\";\n case ViewType.EventTeilnehmer:\n return \"TIP.ZIT.Business.Entities.Objekte.Events.EventTeilnehmer\";\n default:\n return \"\";\n }\n }\n @computedFrom(\"currentViewType\")\n get isObjektStatusFilterVisible() {\n switch (this.currentViewType) {\n case ViewType.Schnuppertermin:\n case ViewType.EventSchnuppertermin: {\n return false;\n }\n default: {\n return true;\n }\n }\n }\n @computedFrom(\"currentObjektStatusFilterList\", \"currentViewType\")\n get isObjektStatusFilterListVisible() {\n if (!this.currentObjektStatusFilterList) {\n return false;\n }\n if (this.currentObjektStatusFilterList.length == 0) {\n return false;\n }\n\n if (this.currentViewType == ViewType.EventTeilnehmer) {\n return false;\n }\n\n return true;\n }\n @computedFrom(\"currentViewType\")\n get isKalenderVisible() {\n return this.currentViewType != ViewType.EventLinkAnmeldung;\n }\n @computedFrom(\"currentViewType\")\n get isAktiveAufgabeFilterVisible() {\n return this.currentViewType == ViewType.Aufgabe;\n }\n @computedFrom(\"currentViewType\")\n get isGeschaeftspartnerFilterVisible() {\n switch (this.currentViewType) {\n case ViewType.TerminEmpfaenger:\n case ViewType.Schnuppertermin:\n case ViewType.EventSchnuppertermin:\n case ViewType.Aufgabe: {\n return false;\n }\n default: {\n return [\"ADMIN\", \"VERTRIEB\", \"KUNDE-SCHULE\"].indexOf(this.startupService.startupInfo.Benutzer.CodeBenutzerrolle) >= 0;\n }\n }\n }\n @computedFrom(\"currentViewType\")\n get isTerminEmpfZustandFilterVisible() {\n return this.currentViewType == ViewType.TerminEmpfaenger;\n }\n @computedFrom(\"startupService\", \"currentViewType\")\n get isGeschaeftspartnerSchuleFilterVisible() {\n if (!this.startupService) {\n return false;\n }\n\n switch (this.currentViewType) {\n case ViewType.Termin:\n case ViewType.TerminEmpfaenger:\n case ViewType.Schnuppertermin: {\n break; \n }\n default: {\n return false;\n }\n }\n\n return this.startupService.startupInfo.Benutzer.CodeBenutzerrolle == \"ADMIN\";\n }\n @computedFrom(\"currentViewType\")\n get isInfoVisible() {\n switch (this.currentViewType) {\n case ViewType.Schnuppertermin:\n case ViewType.EventLinkAnmeldung: {\n return false;\n }\n default: {\n return true;\n }\n }\n }\n @computedFrom(\"currentViewType\", \"currentEventZeitraumList\")\n get isEventZeitraumListVisible() {\n switch (this.currentViewType) {\n case ViewType.EventTeilnehmer:\n case ViewType.EventSchnuppertermin: {\n break;\n }\n default: {\n return false;\n }\n }\n\n return this.currentEventZeitraumList\n && this.currentEventZeitraumList.length > 0;\n }\n @computedFrom(\"currentViewType\")\n get isZeitraumVisible() {\n switch (this.currentViewType) {\n case ViewType.Aufgabe: {\n return false;\n }\n case ViewType.EventSchnuppertermin: {\n return !this.isEventZeitraumListVisible;\n }\n default: {\n return true;\n }\n }\n }\n @computedFrom(\"previousResult\", \"selectionCount\")\n get gridFooterInfo() {\n const r = [];\n\n const anzahl = this.previousResult && this.previousResult.Data\n ? this.previousResult.Data.length\n : 0;\n\n if (anzahl === 1) {\n r.push(\"1 Element\");\n } else {\n r.push(`${this._globalizationService.format(anzahl, \"n0\")} Elemente`);\n }\n\n if (this.hasSelection) {\n if (this.selectionCount == 1) {\n r.push(\"1 Element markiert\");\n } else {\n r.push(`${this._globalizationService.format(this.selectionCount, \"n0\")} Elemente markiert`);\n }\n }\n\n return r.join(\", \");\n }\n\n gridOptions: DevExpress.ui.dxDataGridOptions = {\n allowColumnReordering: true,\n allowColumnResizing: true,\n columnAutoWidth: false,\n columnResizingMode: \"widget\",\n height: \"100%\",\n pager: {\n showInfo: false,\n visible: false\n },\n columnFixing: {\n enabled: true\n },\n groupPanel: {\n visible: true\n },\n selection: {\n allowSelectAll: true,\n mode: \"multiple\",\n showCheckBoxesMode: \"always\"\n },\n scrolling: {\n mode: \"virtual\",\n columnRenderingMode: \"virtual\",\n rowRenderingMode: \"virtual\",\n showScrollbar: \"always\"\n },\n sorting: {\n mode: \"multiple\"\n },\n hoverStateEnabled: false,\n // tslint:disable-next-line: cyclomatic-complexity\n onCellClick: async(e) => {\n if (!e.column) {\n return;\n }\n\n if (e.column.dataField == \"_DetailsKommunikation\") {\n const info = await this._nachrichtService.getBenutzerFromObjekt(\n \"TIP.ZIT.Business.Entities.Objekte.Personen.Person\",\n e.data[\"IdPerson\"]\n );\n\n if (info) {\n this._nachrichtService.goToNachrichtList(info, this.parentForm);\n }\n return;\n } else if (e.column.dataField == \"_DetailsObjektStatus\" && !e.data[\"_DetailsObjektStatus_Url\"]) {\n switch (this.currentViewType) {\n case ViewType.Event:\n case ViewType.EventTeilnehmer: {\n break;\n }\n default: {\n return;\n }\n }\n \n const id = e.data[\"Id\"];\n if (!id) {\n return;\n }\n\n this.statusAendern.keyList = [id];\n this.statusAendern.showPopup(() => {\n this.reloadById(id);\n });\n return;\n } else if (e.column.dataField == \"_DetailsEmpfStatus\") {\n const idTermin = e.data[\"Id\"];\n const idPerson = e.data[\"IdPerson\"];\n this.terminEmpfaenger.showStatusPopup(idTermin, idPerson);\n return;\n } else if (this.currentViewType == ViewType.TerminEmpfaenger && e.column.dataField == \"_DetailsZustandTerminBestaetigung\") {\n const idTermin = e.data[\"Id\"];\n\n if (e.data[\"_DetailsZustandTerminBestaetigungHasData\"]) {\n const urlDokBest = this._restService.getApiUrl(`ZIT/Termin/DokBestaetigung?auth-token=${encodeURIComponent(this._restService.getAuthorizationToken())}&idTermin=${idTermin}`);\n window.open(urlDokBest, \"_blank\");\n } else {\n this.share.dokumentLautVorlageErstellen.showPopup([idTermin], \"TIP.ZIT.Business.Entities.Objekte.Termine.Termin\");\n }\n\n return;\n } else if (this.currentViewType == ViewType.EventTeilnehmer && e.column.dataField == \"_DetailsDokument\") {\n const idEventTeilnehmer = e.data[\"Id\"];\n\n if (e.data[\"_DetailsDokumentHasData\"]) {\n const urlDokBest = this._restService.getApiUrl(`ZIT/Event/DokBestaetigung?auth-token=${encodeURIComponent(this._restService.getAuthorizationToken())}&idEventTeilnehmer=${idEventTeilnehmer}`);\n window.open(urlDokBest, \"_blank\");\n } else {\n this.share.dokumentLautVorlageErstellen.showPopup([idEventTeilnehmer], \"TIP.ZIT.Business.Entities.Objekte.Events.EventTeilnehmer\");\n }\n\n return;\n } else if (this.hasTerminEmpfView && this.currentViewType == ViewType.Termin && e.column.dataField == \"_Offen\") {\n this.filterTermin = {\n idTermin: e.data[\"Id\"],\n zustandStatus: ZustandStatus.Offen\n };\n\n this.currentViewType = ViewType.TerminEmpfaenger;\n } else if (this.hasTerminEmpfView && this.currentViewType == ViewType.Termin && e.column.dataField == \"_Zugesagt\") {\n this.filterTermin = {\n idTermin: e.data[\"Id\"],\n zustandStatus: ZustandStatus.ErledigtPositiv\n };\n \n this.currentViewType = ViewType.TerminEmpfaenger;\n } else if (this.hasTerminEmpfView && this.currentViewType == ViewType.Termin && e.column.dataField == \"_Abgesagt\") {\n this.filterTermin = {\n idTermin: e.data[\"Id\"],\n zustandStatus: ZustandStatus.ErledigtNegativ\n };\n \n this.currentViewType = ViewType.TerminEmpfaenger;\n } else if (this.hasTerminEmpfView && this.currentViewType == ViewType.Termin && e.column.dataField == \"_DetailsKontingent\") {\n this.filterTermin = {\n idTermin: e.data[\"Id\"]\n };\n \n this.currentViewType = ViewType.TerminEmpfaenger;\n } else if (e.column.dataField == \"_DetailsIcs\") {\n this._downloadService.download(\n this._restService.getApiUrl(\"ZIT/Tableau/Ics\"), {\n Id: e.data[\"Id\"]\n },\n \"termin.ics\");\n } else if (this.hasEventTeilnehmerView && this.currentViewType == ViewType.Event && e.column.dataField == \"_Offen\") {\n this.filterEventZeitraum = {\n idEventZeitraum: e.data[\"Id\"],\n objektStatusSammlungTyp: ObjektStatusSammlungTyp.EventTeilnehmerOffen,\n zeitraumVon: this.filter.zeitraumVon,\n zeitraumBis: this.filter.zeitraumBis\n };\n\n this.currentViewType = ViewType.EventTeilnehmer;\n } else if (this.hasEventTeilnehmerView && this.currentViewType == ViewType.Event && e.column.dataField == \"_Zugesagt\") {\n this.filterEventZeitraum = {\n idEventZeitraum: e.data[\"Id\"],\n objektStatusSammlungTyp: ObjektStatusSammlungTyp.EventTeilnehmerZugesagt,\n zeitraumVon: this.filter.zeitraumVon,\n zeitraumBis: this.filter.zeitraumBis\n };\n \n this.currentViewType = ViewType.EventTeilnehmer;\n } else if (this.hasEventTeilnehmerView && this.currentViewType == ViewType.Event && e.column.dataField == \"_Abgesagt\") {\n this.filterEventZeitraum = {\n idEventZeitraum: e.data[\"Id\"],\n objektStatusSammlungTyp: ObjektStatusSammlungTyp.EventTeilnehmerAbgesagt,\n zeitraumVon: this.filter.zeitraumVon,\n zeitraumBis: this.filter.zeitraumBis\n };\n \n this.currentViewType = ViewType.EventTeilnehmer;\n } else if (this.currentViewType == ViewType.Schnuppertermin && [\"Vorname\", \"Nachname\"].includes(e.column.dataField)) {\n this._locationService.goTo({\n url: `Objekte/Person/${e.data[\"IdPerson\"]}`,\n currentViewModel: this.parentForm\n });\n }\n\n if (!e.column.dataField || !e.value) {\n return;\n }\n\n const dataField = e.column.dataField + \"_Url\";\n\n const url = e.data[dataField];\n if (url && url.length > 0) {\n this._locationService.goTo({\n url: url + \"?mode=1\",\n currentViewModel: this.parentForm\n });\n }\n },\n onSelectionChanged: (e) => {\n this.hasSelection = e.selectedRowKeys.length > 0;\n this.selectionCount = e.selectedRowKeys.length;\n }\n };\n searchOptions: DevExpress.ui.dxTextBoxOptions = {\n placeholder: \"Suchen ...\",\n elementAttr: {\n class: \"z--suche\"\n },\n mode: \"search\",\n onValueChangedByUser: () => {\n this.doSearch();\n },\n bindingOptions: {\n value: \"filter.searchText\"\n }\n };\n objektStatusFilterPopoverOptions: DevExpress.ui.dxPopoverOptions = {\n contentTemplate: \"contentTemplate\",\n maxWidth: \"300px\",\n toolbarItems: this.createPopoverToolbarItems(() => {\n this.filter.idObjektStatusList = this.objektStatusFilterList.instance.option(\"selectedItemKeys\");\n\n this.doSearch();\n this.updateObjektStatusFilterTagList();\n this.objektStatusFilterPopover.instance.hide();\n }, () => this.objektStatusFilterPopover.instance.hide())\n };\n objektStatusFilterListOptions: DevExpress.ui.dxListOptions = {\n keyExpr: \"Id\",\n displayExpr: \"BezeichnungBenutzerrolle\",\n selectionMode: \"all\",\n showSelectionControls: true\n };\n objektStatusFilterTagOptions: IZitTagOptions = {\n textExpression: \"item.BezeichnungBenutzerrolle\",\n onDeleteClick: (ev, filter) => {\n const indexFilter = this.filter.idObjektStatusList.findIndex((c) => c == filter.Id);\n if (indexFilter >= 0) {\n this.filter.idObjektStatusList.splice(indexFilter, 1);\n }\n\n const indexCurrent = this.currentObjektStatusFilterList.indexOf(filter);\n if (indexCurrent >= 0) {\n this.currentObjektStatusFilterList.splice(indexCurrent, 1);\n }\n\n this.doSearch();\n }\n };\n geschaeftspartnerFilterPopoverOptions: DevExpress.ui.dxPopoverOptions = {\n contentTemplate: \"contentTemplate\",\n maxWidth: \"300px\",\n toolbarItems: this.createPopoverToolbarItems(() => {\n this.filter.idGeschaeftspartnerList = this.geschaeftspartnerFilterList.instance.option(\"selectedItemKeys\");\n\n this.doSearch();\n this.updateGeschaeftspartnerFilterTagList();\n this.geschaeftspartnerFilterPopover.instance.hide();\n }, () => this.geschaeftspartnerFilterPopover.instance.hide())\n };\n geschaeftspartnerFilterListOptions: DevExpress.ui.dxListOptions = {\n keyExpr: \"Id\",\n displayExpr: \"Name1\",\n selectionMode: \"multiple\",\n showSelectionControls: true\n };\n geschaeftspartnerFilterTagOptions: IZitTagOptions = {\n textExpression: \"item.Name1\",\n onDeleteClick: (ev, filter) => {\n const indexFilter = this.filter.idGeschaeftspartnerList.findIndex((c) => c == filter.Id);\n if (indexFilter >= 0) {\n this.filter.idGeschaeftspartnerList.splice(indexFilter, 1);\n }\n\n const indexCurrent = this.currentGeschaeftspartnerFilterList.indexOf(filter);\n if (indexCurrent >= 0) {\n this.currentGeschaeftspartnerFilterList.splice(indexCurrent, 1);\n }\n\n this.doSearch();\n }\n };\n geschaeftspartnerSchuleFilterPopoverOptions: DevExpress.ui.dxPopoverOptions = {\n contentTemplate: \"contentTemplate\",\n maxWidth: \"300px\",\n toolbarItems: this.createPopoverToolbarItems(() => {\n this.filter.idGeschaeftspartnerSchuleList = this.geschaeftspartnerSchuleFilterList.instance.option(\"selectedItemKeys\");\n\n this.doSearch();\n this.geschaeftspartnerSchuleFilterPopover.instance.hide();\n }, () => this.geschaeftspartnerSchuleFilterPopover.instance.hide())\n };\n geschaeftspartnerSchuleFilterListOptions: DevExpress.ui.dxListOptions = {\n keyExpr: \"Id\",\n displayExpr: \"Name1\",\n selectionMode: \"multiple\",\n showSelectionControls: true\n };\n terminEmpfZustandFilterPopoverOptions: DevExpress.ui.dxPopoverOptions = {\n contentTemplate: \"contentTemplate\",\n maxWidth: \"300px\",\n toolbarItems: this.createPopoverToolbarItems(() => {\n this.filter.idTerminEmpfZustandList = this.terminEmpfZustandFilterList.instance.option(\"selectedItemKeys\");\n\n this.doSearch();\n this.terminEmpfZustandFilterPopover.instance.hide();\n }, () => this.terminEmpfZustandFilterPopover.instance.hide())\n };\n terminEmpfZustandFilterListOptions: DevExpress.ui.dxListOptions = {\n keyExpr: \"Id\",\n displayExpr: \"Bezeichnung\",\n selectionMode: \"all\",\n selectAllMode: \"allPages\",\n showSelectionControls: true\n };\n eventZeitraumTagTagOptions: IZitTagOptions = {\n icon: {\n faIcon: \"far fa-calendar-alt\"\n },\n textExpression: \"item.Bezeichnung\",\n backgroundColorExpression: `item.IsAktiv ? '${this.startupService.startupInfo.Skin.Farbe}' : ''`,\n colorExpression: \"item.IsAktiv ? 'white' : 'black'\",\n isDeleteClickEnabledExpression: \"item.IsAktiv\",\n onClick: (ev, tag: ISchnupperterminZeitraumResult) => {\n ev.preventDefault();\n ev.stopPropagation();\n\n const indexOf = this.filter.idEventZeitraumList.indexOf(tag.Id);\n if (indexOf >= 0) {\n return;\n }\n\n this.filter.idEventZeitraumList.push(tag.Id);\n this.updateEventZeitraumList();\n \n this.doSearch();\n },\n onDeleteClick: (ev, tag: ISchnupperterminZeitraumResult) => {\n ev.preventDefault();\n ev.stopPropagation();\n\n const indexOf = this.filter.idEventZeitraumList.indexOf(tag.Id);\n if (indexOf < 0) {\n return;\n }\n\n this.filter.idEventZeitraumList.splice(indexOf, 1);\n this.updateEventZeitraumList();\n this.doSearch();\n }\n };\n zeitraumOptions: DevExpress.ui.dxTextBoxOptions = {\n readOnly: true,\n width: \"250px\",\n bindingOptions: {\n value: \"zeitraumFormatiert\"\n }\n };\n zeitraumPopupOptions: DevExpress.ui.dxPopupOptions = {\n contentTemplate: \"contentTemplate\",\n height: \"auto\",\n maxWidth: \"500px\"\n };\n zeitraumGueltigVonOptions: DevExpress.ui.dxDateBoxOptions = {\n displayFormat: this._globalizationService.getFormatterParser(\"d\"),\n bindingOptions: {\n value: \"zeitraumEdit.zeitraumVon\"\n }\n };\n zeitraumGueltigBisOptions: DevExpress.ui.dxDateBoxOptions = {\n displayFormat: this._globalizationService.getFormatterParser(\"d\"),\n bindingOptions: {\n value: \"zeitraumEdit.zeitraumBis\"\n }\n };\n zeitraumKalenderOptions: DevExpress.ui.dxSelectBoxOptions = {\n dataSource: [\n { id: KalenderViewType.Tag, text: \"Tag\" },\n { id: KalenderViewType.Woche, text: \"Woche\" },\n { id: KalenderViewType.Monat, text: \"Monat\" },\n ],\n displayExpr: \"text\",\n valueExpr: \"id\",\n bindingOptions: {\n value: \"zeitraumEdit.kalenderViewType\"\n }\n };\n zeitraumUngebuchteAusblendenOptions: DevExpress.ui.dxCheckBoxOptions = {\n text: \"Ungebuchte Zeiträume ausblenden\",\n bindingOptions: {\n value: \"zeitraumEdit.shouldUngebuchteAusblenden\"\n }\n };\n\n bind(bindingContext) {\n this.parentForm = bindingContext;\n\n this.scopeContainer = new ScopeContainer({\n bindingContext: this,\n overrideContext: createOverrideContext(this.parentForm)\n });\n\n this.prepareZeitraumPopup();\n\n this._terminChangedSubscription = this._eventAggregator.subscribe(\"termin:changed\", (e) => {\n if (this.currentViewType == ViewType.Termin) {\n this.reloadTermin(e.idTermin);\n } else if (this.currentViewType == ViewType.TerminEmpfaenger) {\n if (e.isZiel) {\n this.doSearch();\n }\n }\n });\n this._terminEmpfChangedSubscription = this._eventAggregator.subscribe(\"termin-empf:changed\", (e) => {\n if (this.currentViewType == ViewType.TerminEmpfaenger) {\n this.reloadTerminEmpf(e.idTermin, e.idPerson);\n }\n });\n this._objektStatusChangedSubscription = this._eventAggregator.subscribe(\"objekt-status:changed\", async (e) => {\n if (!e.idObjektList) {\n return;\n }\n\n for (const id of e.idObjektList) {\n await this.reloadById(id);\n }\n });\n\n this._formSavedSubscription = this._formEventService.onSaved.register(async(args) => {\n const model = args.form.models.modelWithKeyId;\n if (!model) {\n return;\n }\n\n const id = args.form.models.data[model.id].Id;\n if (!id) {\n return;\n }\n\n switch (model.webApiAction) {\n case \"ZIT/Objekte/EventZeitraum\": {\n this.reloadEventZeitraum(id);\n break;\n }\n case \"ZIT/Objekte/EventTeilnehmer\": {\n this.reloadEventTeilnehmer(id);\n break;\n }\n default: {\n break;\n }\n }\n });\n }\n unbind() {\n this._terminEmpfChangedSubscription.dispose();\n this._terminEmpfChangedSubscription = null;\n\n this._terminChangedSubscription.dispose();\n this._terminChangedSubscription = null;\n\n this._objektStatusChangedSubscription.dispose();\n this._objektStatusChangedSubscription = null;\n\n this._formSavedSubscription();\n this._formSavedSubscription = null;\n\n this.scopeContainer.disposeAll();\n this.scopeContainer = null;\n }\n\n async attached() {\n await this.initializeQuery();\n this.doSearch(true);\n }\n\n resetCustomFilter() {\n this.filterTermin = null;\n this.filterEventZeitraum = null;\n }\n\n showReportAuswahlPopup() {\n this.reportErstellen.reportErstellenPopup.instance.show();\n }\n showNachrichtSendenPopup() {\n const rows = this.grid.instance.getSelectedRowsData();\n\n const objektModelList = rows.map((r) => {\n return {\n IdObjekt: r[\"IdPerson\"],\n IdObjektRef: r[\"IdTermin\"]\n };\n });\n\n this._nachrichtService.doNachrichtErstellenFromObjekt(\n objektModelList,\n \"TIP.ZIT.Business.Entities.Objekte.Personen.Person\"\n );\n }\n showTerminEmpfStatusAenderPopup() {\n const rows = this.grid.instance.getSelectedRowsData();\n\n const dataList = rows.map((r) => {\n return {\n IdPerson: r[\"IdPerson\"],\n IdTermin: r[\"Id\"]\n };\n });\n\n if (dataList.length === 1) {\n this.terminEmpfaenger.showStatusPopup(dataList[0].IdTermin, dataList[0].IdPerson);\n } else {\n this.terminEmpfaenger.showStatusPopupMulti(dataList);\n }\n }\n\n currentViewTypeChanged() {\n this.filterIdPerson = null;\n this.doSearch(true);\n }\n\n onFilterClick() {\n this.erweiterteSuche.showPopup();\n }\n onShowErweiterteSucheClick(ev: Event) {\n this.erweiterteSuche.showVorlageContextMenu(ev, true);\n }\n async onObjektStatusFilterClick(ev: Event) {\n const dataSource = await this.getObjektStatusList();\n\n const options = {\n dataSource,\n selectedItemKeys: this.filter.idObjektStatusList\n };\n\n if (this.objektStatusFilterList) {\n this.objektStatusFilterList.setOption(options);\n } else {\n Object.assign(this.objektStatusFilterListOptions, options);\n }\n\n this.objektStatusFilterPopover.instance.show(ev.target);\n }\n onAktiveAufgabeFilterClick() {\n this.filter.shouldLoadOnlyAktiveAufgabe = !this.filter.shouldLoadOnlyAktiveAufgabe;\n this.doSearch();\n }\n async onGeschaeftspartnerFilterClick(ev: Event) {\n const dataSource = await this.getGeschaeftspartnerList();\n\n const options = {\n dataSource,\n selectedItemKeys: this.filter.idGeschaeftspartnerList\n };\n\n if (this.geschaeftspartnerFilterList) {\n this.geschaeftspartnerFilterList.setOption(options);\n } else {\n Object.assign(this.geschaeftspartnerFilterListOptions, options);\n }\n\n this.geschaeftspartnerFilterPopover.instance.show(ev.target);\n }\n async onGeschaeftspartnerSchuleFilterClick(ev: Event) {\n const dataSource = await this.getGeschaeftspartnerSchuleList();\n\n const options = {\n dataSource,\n selectedItemKeys: this.filter.idGeschaeftspartnerSchuleList\n };\n\n if (this.geschaeftspartnerSchuleFilterList) {\n this.geschaeftspartnerSchuleFilterList.setOption(options);\n } else {\n Object.assign(this.geschaeftspartnerSchuleFilterListOptions, options);\n }\n\n this.geschaeftspartnerSchuleFilterPopover.instance.show(ev.target);\n }\n async onTerminEmpfZustandFilterClick(ev: Event) {\n if (!this.terminEmpfZustandFilterList) {\n const dataSource = await this.getTerminEmpfZustandList();\n this.terminEmpfZustandFilterListOptions.dataSource = dataSource;\n }\n\n const options = {\n selectedItemKeys: this.filter.idTerminEmpfZustandList\n };\n\n if (this.terminEmpfZustandFilterList) {\n this.terminEmpfZustandFilterList.setOption(options);\n } else {\n Object.assign(this.terminEmpfZustandFilterListOptions, options);\n }\n\n this.terminEmpfZustandFilterPopover.instance.show(ev.target);\n }\n onInfoClick() {\n this.filter.shouldLoadInfo = !this.filter.shouldLoadInfo;\n this.doSearch();\n }\n onKalenderClick() {\n this.filter.shouldLoadKalender = !this.filter.shouldLoadKalender;\n this.doSearch();\n }\n onZeitraumClick() {\n this.zeitraumEdit = {\n zeitraumVon: this.filter.zeitraumVon,\n zeitraumBis: this.filter.zeitraumBis,\n kalenderViewType: this.filter.kalenderViewType,\n shouldUngebuchteAusblenden: this.filter.shouldUngebuchteAusblenden || false\n };\n\n this.zeitraumPopup.instance.show();\n }\n onExecuteSucheErweitert(ev: CustomEvent) {\n this.filter.searchExtended = ev.detail.wertQueryList\n ? JSON.stringify(ev.detail.wertQueryList)\n : null;\n\n this.doSearch();\n }\n onLayoutChanged() {\n this.doSearch();\n }\n onLayoutLoaded(ev: CustomEvent) {\n const data: ILoginprofilEinstellung = ev.detail.data;\n if (!data.Wert.Custom) {\n return;\n }\n\n this.filter = data.Wert.Custom;\n this.updateGeschaeftspartnerFilterTagList();\n this.updateObjektStatusFilterTagList();\n this.updateEventZeitraumList();\n }\n onLayoutSaving(ev: CustomEvent) {\n const data: ILoginprofilEinstellung = ev.detail.data;\n data.Wert.Custom = this.filter;\n }\n onExportExcel() {\n const query = this.getQuery();\n query.IdList = this.grid.instance\n .getSelectedRowsData()\n .map((c) => c[\"Id\"]);\n\n this._downloadService.downloadExcelFromTableau(query);\n return false;\n }\n\n private createPopoverToolbarItems(okCallback: {(): void}, cancelCallback: {(): void}) {\n return [{\n toolbar: \"bottom\",\n location: \"center\",\n widget: \"dxButton\",\n options: {\n text: \"Übernehmen\",\n onClick: () => {\n okCallback();\n }\n }\n }, {\n toolbar: \"bottom\",\n location: \"center\",\n widget: \"dxButton\",\n options: {\n text: \"Abbrechen\",\n onClick: () => {\n cancelCallback();\n }\n }\n }];\n }\n private prepareZeitraumPopup() {\n this._simpleWidgetCreatorService.updatePopupOptions({\n idToolbar: \"zeitraumPopupToolbar\",\n caption: \"tableau.zeitraum-uebernehmen\",\n options: this.zeitraumPopupOptions,\n commands: [{\n id: \"zeitraumUebernehmenCommand\",\n icon: \"fas fa-check\",\n tooltip: \"tableau.zeitraum-uebernehmen\",\n sortIndex: 1001,\n execute: (ev: any) => {\n if (!this.zeitraumEdit.zeitraumVon) {\n DevExpress.ui.notify(\n \"Datum von ist ein Pflichtfeld\",\n \"error\",\n 3000\n );\n return;\n } \n if (!this.zeitraumEdit.zeitraumBis) {\n DevExpress.ui.notify(\n \"Datum bis ist ein Pflichtfeld\",\n \"error\",\n 3000\n );\n return;\n } \n if (this.zeitraumEdit.kalenderViewType == void(0)) {\n DevExpress.ui.notify(\n \"Kalender-Zeitraum ist ein Pflichtfeld\",\n \"error\",\n 3000\n );\n return;\n }\n\n this.zeitraumPopup.instance.hide();\n\n this.filter.zeitraumVon = this.zeitraumEdit.zeitraumVon;\n this.filter.zeitraumBis = this.zeitraumEdit.zeitraumBis;\n this.filter.kalenderViewType = this.zeitraumEdit.kalenderViewType;\n this.filter.shouldUngebuchteAusblenden = this.zeitraumEdit.shouldUngebuchteAusblenden;\n\n this.doSearch();\n }\n }],\n scopeContainer: this.scopeContainer\n });\n }\n\n private async initializeQuery() {\n const result: IQuery = await this._restService.get({\n url: this._restService.getApiUrl(\"ZIT/Tableau/QueryModel\"),\n increaseLoadingCount: true\n });\n\n this._defaultFilter = {\n kalenderViewType: result.KalenderViewType,\n shouldLoadKalender: result.LoadKalender,\n shouldLoadInfo: result.LoadDetail,\n shouldUngebuchteAusblenden: result.UngebuchteZeitraumAusblenden,\n zeitraumVon: result.GueltigVon,\n zeitraumBis: result.GueltigBis,\n idGeschaeftspartnerSchuleList: [],\n idGeschaeftspartnerList: result.IdGeschaeftspartnerList,\n idObjektStatusList: result.IdObjektStatusList,\n idTerminEmpfZustandList: result.IdTerminEmpfZustandStatusList,\n idEventZeitraumList: result.IdEventZeitraumList,\n dataSourceIdObjektStatusFilterDic: result.DataSourceIdObjektStatusFilterDic\n };\n\n this.resetFilter();\n this.updateObjektStatusFilterTagList();\n this.updateGeschaeftspartnerFilterTagList();\n\n if (this.startupService.startupInfo.Benutzer.CodeBenutzerrolle == \"KUNDE-SCHULE\") {\n this.currentEventZeitraumList = await this._schnupperterminService.getEventZeitraumSchnupperterminList(\n this.filter.zeitraumVon,\n this.filter.zeitraumBis\n );\n \n this.updateEventZeitraumList();\n }\n }\n private async doSearch(isNewDataType: boolean = false) {\n //Prüfen, ob es ein Standardlayout für den Typ gibt ...\n if (isNewDataType) {\n const layout = await this.layoutAuswahl.getStandardLayout(this.currentObjektFullName);\n if (layout) {\n this.layoutAuswahl.assignLayoutToGrid(layout, true);\n return;\n }\n\n this.resetFilter();\n\n this.updateObjektStatusFilterTagList();\n this.updateGeschaeftspartnerFilterTagList();\n }\n\n if (this.filterTermin && this.filterTermin.zustandStatus != void(0)) {\n await this.updateTerminEmpfZustand(this.filterTermin.zustandStatus);\n this.filterTermin.zustandStatus = null;\n }\n if (this.filterEventZeitraum) {\n if (this.filterEventZeitraum.objektStatusSammlungTyp != void(0)) {\n await this.updateObjektStatus(this.filterEventZeitraum.objektStatusSammlungTyp);\n this.filterEventZeitraum.objektStatusSammlungTyp = null;\n\n this.updateObjektStatusFilterTagList();\n }\n \n if (this.filterEventZeitraum.zeitraumVon) {\n this.filter.zeitraumVon = this.filterEventZeitraum.zeitraumVon;\n }\n \n if (this.filterEventZeitraum.zeitraumBis) {\n this.filter.zeitraumBis = this.filterEventZeitraum.zeitraumBis;\n }\n }\n\n const query = this.getQuery(isNewDataType);\n\n if (query.GueltigVon && query.GueltigBis) {\n const result: IResult = await this._restService.post({\n url: this._restService.getApiUrl(\"ZIT/Tableau/Data\"),\n data: query,\n increaseLoadingCount: true\n });\n\n if (isNewDataType) {\n this.filter.zeitraumVon = result.GueltigVon;\n this.filter.zeitraumBis = result.GueltigBis;\n }\n\n this.setGridData(result);\n } else {\n this.setGridData({\n Data: []\n });\n }\n }\n\n private async getGeschaeftspartnerList() {\n const query = this.getQuery();\n if (!query) {\n return;\n }\n\n const result: IGeschaeftspartnerFilter[] = await this._restService.post({\n url: this._restService.getApiUrl(`ZIT/Tableau/Geschaeftspartner`),\n data: query\n });\n\n return result;\n }\n private async getGeschaeftspartnerSchuleList() {\n const result = await this._restService.get({\n url: this._restService.getWebApiUrl(\"ZIT/Simple/Geschaeftspartner\"),\n getOptions: {\n where: [\"IsGeschaeftspartnerSchule\", true],\n orderBy: [{columnName: \"Name1\", sortOrder: 0}]\n }\n });\n\n return result;\n }\n private async getObjektStatusList() {\n const result: IObjektStatusFilter[] = await this._restService.get({\n url: this._restService.getWebApiUrl(\"ZIT/Stammdaten/ObjektStatus\"),\n getOptions: {\n where: [\"Objekttyp.Fullname\", this.currentObjektFullName]\n }\n });\n\n return result;\n }\n private async getTerminEmpfZustandList() {\n const result: ITerminEmpfFilter[] = await this._restService.get({\n url: this._restService.getWebApiUrl(\"ZIT/Stammdaten/Zustand\"),\n getOptions: {\n where: [\"Bereich\", 7],\n columns: [\"Id\", \"Bezeichnung\"]\n }\n });\n\n return result;\n }\n\n private resetFilter() { \n this.filter = {\n kalenderViewType: this._defaultFilter.kalenderViewType,\n shouldLoadKalender: this._defaultFilter.shouldLoadKalender,\n shouldLoadInfo: this._defaultFilter.shouldLoadInfo,\n shouldUngebuchteAusblenden: this._defaultFilter.shouldUngebuchteAusblenden,\n shouldLoadOnlyAktiveAufgabe: this._defaultFilter.shouldLoadOnlyAktiveAufgabe,\n zeitraumVon: this._defaultFilter.zeitraumVon,\n zeitraumBis: this._defaultFilter.zeitraumBis,\n idGeschaeftspartnerList: [...this._defaultFilter.idGeschaeftspartnerList],\n idGeschaeftspartnerSchuleList: [...this._defaultFilter.idGeschaeftspartnerSchuleList],\n idObjektStatusList: [...this._defaultFilter.idObjektStatusList],\n idTerminEmpfZustandList: [...this._defaultFilter.idTerminEmpfZustandList],\n idEventZeitraumList: [...this._defaultFilter.idEventZeitraumList]\n };\n\n const objektStatusFilterCurrentViewType = this._defaultFilter.dataSourceIdObjektStatusFilterDic[this.currentViewType];\n if (objektStatusFilterCurrentViewType) {\n this.filter.idObjektStatusList = objektStatusFilterCurrentViewType;\n }\n\n this.updateEventZeitraumList();\n }\n \n private async updateTerminEmpfZustand(zustandStatus: ZustandStatus) {\n const zustandList = await this._zustandService.getZustandList(\n ZustandBereich.TerminEmpfaengerStatus,\n this.filterTermin.zustandStatus\n );\n\n this.filter.idTerminEmpfZustandList = zustandList.map((z) => z.Id);\n }\n private async updateObjektStatus(objektStatusSammlungTyp: ObjektStatusSammlungTyp) {\n const objektStatusList = await this._statusService.getObjektStatusByObjektStatusSammlung(\n this.currentObjektFullName,\n objektStatusSammlungTyp\n );\n\n this.filter.idObjektStatusList = objektStatusList.map((s) => s.Id);\n }\n private async updateObjektStatusFilterTagList() {\n if (!this.filter.idObjektStatusList) {\n this.currentObjektStatusFilterList = [];\n return;\n }\n\n this.currentObjektStatusFilterList = (await this.getObjektStatusList())\n .filter((c) => this.filter.idObjektStatusList.indexOf(c.Id) >= 0);\n }\n private async updateGeschaeftspartnerFilterTagList() {\n if (!this.filter.idGeschaeftspartnerList) {\n this.currentGeschaeftspartnerFilterList = [];\n return;\n }\n\n this.currentGeschaeftspartnerFilterList = (await this.getGeschaeftspartnerList())\n .filter((c) => this.filter.idGeschaeftspartnerList.indexOf(c.Id) >= 0);\n }\n private updateEventZeitraumList() {\n if (!this.currentEventZeitraumList) {\n return;\n }\n if (!this.filter.idEventZeitraumList) {\n return;\n }\n\n for (const tag of this.currentEventZeitraumList) {\n tag.IsAktiv = this.filter.idEventZeitraumList.indexOf(tag.Id) >= 0;\n }\n }\n\n private getQuery(isNewDataType: boolean = false) {\n const query = {\n DataSourceType: this.currentViewType,\n KalenderViewType: this.filter.kalenderViewType,\n LoadKalender: this.filter.shouldLoadKalender,\n LoadDetail: this.filter.shouldLoadInfo,\n UngebuchteZeitraumAusblenden: this.filter.shouldUngebuchteAusblenden,\n NurAktiveAufgaben: this.filter.shouldLoadOnlyAktiveAufgabe,\n GueltigVon: this.filter.zeitraumVon,\n GueltigBis: this.filter.zeitraumBis,\n SearchText: this.filter.searchText,\n SearchExtendedValue: this.filter.searchExtended,\n IdObjektStatusList: this.filter.idObjektStatusList,\n IdGeschaeftspartnerList: this.filter.idGeschaeftspartnerList,\n IdGeschaeftspartnerSchuleList: this.filter.idGeschaeftspartnerSchuleList,\n IdTerminEmpfZustandStatusList: this.filter.idTerminEmpfZustandList,\n IdEventZeitraumList: this.filter.idEventZeitraumList,\n IdPerson: this.filterIdPerson\n };\n\n if (this.filterTermin && this.filterTermin.idTermin) {\n query.IdTermin = this.filterTermin.idTermin;\n }\n if (this.filterEventZeitraum && this.filterEventZeitraum.idEventZeitraum) {\n query.IdEventZeitraum = this.filterEventZeitraum.idEventZeitraum;\n }\n\n query.Columns = isNewDataType\n ? \"[]\"\n : JSON.stringify(this.layoutAuswahl.getCurrentGridColumns());\n\n return query;\n }\n\n private setGridData(result: IResult) {\n this.previousResult = result;\n this.grid.instance.beginUpdate();\n\n try {\n if (result.Columns && result.Columns.length > 0) {\n this.updateGridColumns(result.Columns);\n }\n\n this.grid.setOption({\n dataSource: [],\n columns: result.Columns\n });\n\n this.grid.setOption({\n dataSource: result.Data\n });\n\n this.updateGroupIndexes(result.Columns);\n this.calcColumnsWidth(result);\n } finally {\n this.grid.instance.endUpdate();\n }\n }\n private updateGridColumns(columns: IResultColumn[]) {\n for (const column of columns) {\n if (!column.format && column[\"_formatString\"]) {\n column.format = this._globalizationService.getFormatter(column[\"_formatString\"]);\n }\n\n if (column.dataField.substring(0, 1) !== \"_\") {\n continue;\n }\n\n column.headerCellTemplate = (element, data) => {\n if (data.column._headerIcon) {\n const iconElement = document.createElement(\"i\");\n iconElement.className = `fa-fw ${data.column._headerIcon}`;\n element.appendChild(iconElement);\n } else {\n element.innerText = data.column.caption;\n element.style.whiteSpace = \"normal\";\n }\n\n if (data.column._headerFarbe) {\n element.style.color = data.column._headerFarbe;\n }\n\n element.title = data.column._tooltip || data.column.caption;\n };\n\n const isKalender = column.dataField.substring(0, 2) === \"_K\";\n const isDetail = column.dataField.substring(0, 8) === \"_Details\";\n\n if (isKalender || isDetail) {\n column.cellTemplate = (element, options) => {\n let value = null;\n\n if (isKalender) {\n const div = document.createElement(\"div\");\n const dataField = options.column.dataField + \"_Farbe\";\n\n const farbe = options.data[dataField];\n if (farbe && farbe.length > 0) {\n div.style.backgroundColor = farbe;\n value = \" \";\n }\n\n div.innerHTML = value || options.value || \"\";\n\n element.appendChild(div);\n } else if (isDetail) {\n const div = document.createElement(\"div\");\n div.innerHTML = options.value;\n\n element.appendChild(div);\n }\n };\n }\n }\n }\n private updateGroupIndexes(columns: IResultColumn[]) {\n const groups = columns\n .filter(c => c.groupIndex != void(0))\n .sort((a, b) => a.groupIndex - b.groupIndex);\n \n if (groups.length === 0) {\n return;\n }\n\n let index = 0;\n groups.forEach(c => {\n this.grid.instance.columnOption(c.dataField, \"groupIndex\", index);\n index++;\n });\n }\n private calcColumnsWidth(data: IResult) {\n const dataSource = data.Data;\n \n let columns: DevExpress.ui.dxDataGridColumn[] = this.grid\n ? this.grid.instance.option(\"columns\")\n : this.gridOptions.columns;\n\n columns = columns.filter((c: any) => {\n return c._autoWidth\n || (c.dataField.substr(0, 1) !== \"_\" && (!this.layoutAuswahl || !this.layoutAuswahl.idCurrentLayout));\n });\n\n columns.forEach((c) => {\n const width = this.calcColumnWidth(dataSource, c);\n\n if (this.grid) {\n this.grid.instance.columnOption(c.dataField, \"width\", width);\n } else {\n c.width = width;\n }\n });\n }\n private calcColumnWidth(data: any[], column: DevExpress.ui.dxDataGridColumn): string {\n const min = Math.min(data.length, 15);\n\n let curr: number = 30;\n\n if (column.caption) {\n const width = this.calcTextWidth(column.caption);\n if (width > curr) {\n curr = width;\n }\n }\n \n for (let i = 0; i < min; i++) {\n let val = data[i][column.dataField];\n\n if (val == void (0)) {\n continue;\n }\n\n if (column.format) {\n val = (column).format(val);\n }\n\n if (val == void (0)) {\n continue;\n }\n\n const width = this.calcTextWidth(val);\n if (curr < width) {\n curr = width;\n }\n }\n\n if (curr > 400) {\n curr = 400;\n } else if (curr < 30) {\n curr = 30;\n }\n\n return `${curr + 5}px`;\n }\n private calcTextWidth(text) {\n const canvas = this._canvas || (this._canvas = document.createElement(\"canvas\"));\n const context = canvas.getContext(\"2d\");\n context.font = \"12pt arial\";\n\n const metrics = context.measureText(text);\n return Math.ceil(metrics.width);\n }\n \n private async reloadById(id: number) {\n switch (this.currentViewType) {\n case ViewType.Termin: {\n await this.reloadTermin(id);\n break;\n }\n case ViewType.Event: {\n await this.reloadEventZeitraum(id);\n break;\n }\n case ViewType.EventTeilnehmer: {\n await this.reloadEventTeilnehmer(id);\n break;\n }\n default: {\n break;\n }\n }\n }\n private async reloadTermin(idTermin: number) {\n this.reload((dataSource) => {\n return dataSource.find((i) => {\n return i.Id == idTermin;\n });\n }, {\n IdTerminReload: idTermin\n });\n }\n private async reloadTerminEmpf(idTermin: number, idPerson: number) {\n this.reload((dataSource) => {\n return dataSource.find((i) => {\n return i.Id == idTermin\n && i.IdPerson == idPerson;\n });\n }, {\n IdTerminReload: idTermin,\n IdPersonReload: idPerson\n });\n }\n private async reloadEventZeitraum(idEventZeitraum: number) {\n this.reload((dataSource) => {\n return dataSource.find((i) => {\n return i.Id == idEventZeitraum;\n });\n }, {\n IdEventZeitraumReload: idEventZeitraum\n });\n }\n private async reloadEventTeilnehmer(idEventTeilnehmer: number) {\n this.reload((dataSource) => {\n return dataSource.find((i) => {\n return i.Id == idEventTeilnehmer;\n });\n }, {\n IdEventTeilnehmerReload: idEventTeilnehmer\n });\n }\n private async reload(findItem: { (dataSource: any[]): number }, reloadParams: any) {\n const dataSource = this.grid.instance.getDataSource();\n const store: DevExpress.data.ArrayStore = dataSource.store();\n const items = await store.load();\n const item = findItem(items);\n\n if (!item) {\n return;\n }\n\n const key = store.keyOf(item);\n const rowIndex = this.grid.instance.getRowIndexByKey(key);\n if (rowIndex < 0) {\n return;\n }\n\n const data = Object.assign({},\n this.getQuery(), {\n IsReload: true\n },\n reloadParams);\n\n const r = await this._restService.post({\n url: this._restService.getApiUrl(\"ZIT/Tableau/Data\"),\n data: data,\n increaseLoadingCount: true\n });\n\n if (!r || !r.Data || r.Data.length != 1) {\n return;\n }\n\n store.update(key, r.Data[0]);\n this.grid.instance.repaintRows([rowIndex]);\n this.grid.instance.clearSelection();\n }\n}\n\nexport enum ViewType {\n DispoPlanstelle = 0,\n DispoPersonenzuteilung = 1,\n Termin = 2,\n TerminEmpfaenger = 3,\n Aufgabe = 4,\n Schnuppertermin = 5,\n Event = 6,\n EventTeilnehmer = 7,\n EventSchnuppertermin = 8,\n EventLinkAnmeldung = 9\n}\nenum KalenderViewType {\n Tag = 0,\n Woche = 1,\n Monat = 2\n}\ninterface IFilter {\n idGeschaeftspartnerList: number[];\n idGeschaeftspartnerSchuleList: number[];\n idObjektStatusList: number[];\n idTerminEmpfZustandList: number[];\n idEventZeitraumList: number[];\n shouldLoadKalender?: boolean;\n shouldLoadOnlyAktiveAufgabe?: boolean;\n shouldUngebuchteAusblenden?: boolean;\n shouldLoadInfo?: boolean;\n kalenderViewType?: KalenderViewType;\n zeitraumVon?: Date;\n zeitraumBis?: Date;\n searchText?: string;\n searchExtended?: string;\n}\ninterface IDefaultFilter extends IFilter {\n dataSourceIdObjektStatusFilterDic: any;\n}\ninterface IFilterTermin {\n idTermin: number;\n zustandStatus?: ZustandStatus;\n}\ninterface IFilterEventZeitraum {\n idEventZeitraum: number;\n objektStatusSammlungTyp: ObjektStatusSammlungTyp;\n zeitraumVon: Date;\n zeitraumBis: Date;\n}\ninterface IQuery {\n DataSourceType: ViewType;\n KalenderViewType: KalenderViewType;\n LoadKalender?: boolean;\n LoadDetail?: boolean;\n IsNewDataType?: boolean;\n UngebuchteZeitraumAusblenden?: boolean;\n NurAktiveAufgaben?: boolean;\n\n GueltigVon: Date;\n GueltigBis: Date;\n\n SearchText?: string;\n SearchExtendedValue?: string;\n\n Columns?: string;\n\n IdList: number[];\n IdObjektStatusList: number[];\n IdGeschaeftspartnerList: number[];\n IdGeschaeftspartnerSchuleList: number[];\n IdTerminEmpfZustandStatusList: number[];\n IdEventZeitraumList: number[];\n IdTermin?: number;\n IdEventZeitraum?: number;\n IdPerson?: number;\n \n IsReload?: boolean;\n IdTerminReload?: number;\n IdPersonReload?: number;\n IdEventZeitraumReload?: number;\n IdEventTeilnehmerReload?: number;\n\n DataSourceIdObjektStatusFilterDic?: any;\n}\ninterface IResult {\n Data: any[];\n Columns?: IResultColumn[];\n GueltigVon?: Date;\n GueltigBis?: Date;\n}\ninterface IResultColumn {\n caption: string;\n dataField: string;\n visibleIndex?: number;\n width?: number;\n sortIndex?: number;\n sortOrder?: string;\n fixed?: boolean;\n allowReordering?: boolean;\n groupIndex?: number;\n format?: string;\n headerIcon?: string;\n headerFarbe?: string;\n tooltip?: string;\n authWidth?: boolean;\n\n headerCellTemplate?: any;\n cellTemplate?: any;\n}\ninterface IZeitraumEdit {\n zeitraumVon: Date;\n zeitraumBis: Date;\n kalenderViewType: KalenderViewType;\n shouldUngebuchteAusblenden: boolean;\n}\ninterface IObjektStatusFilter {\n Id: number;\n Bezeichnung: string;\n BezeichnungBenutzerrolle: string;\n}\ninterface IGeschaeftspartnerFilter {\n Id: number;\n Name1: string;\n}\ninterface ITerminEmpfFilter {\n Id: number;\n Bezeichnung: string;\n}\n","module.exports = \" \";","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.id, \".tableau {\\n display: flex;\\n height: 100%;\\n flex-direction: column;\\n}\\n.tableau-filter {\\n display: flex;\\n}\\n.tableau-filter__active zit-tag {\\n display: inline-block;\\n margin-top: 6px;\\n}\\n.tableau-filter__left {\\n flex-grow: 1;\\n display: flex;\\n align-items: flex-end;\\n}\\n.tableau-filter__left > *:not(:first-child) {\\n margin-left: 6px;\\n}\\n.tableau-filter__right {\\n margin-left: 6px;\\n display: flex;\\n align-items: flex-end;\\n}\\n.tableau-filter__right > *:not(:first-child) {\\n margin-left: 6px;\\n}\\n.tableau-filter__suche {\\n flex-grow: 1;\\n}\\n.tableau-filter__schnuppertermin {\\n margin-top: 12px;\\n}\\n.tableau-grid {\\n margin-top: 12px;\\n flex-grow: 1;\\n position: relative;\\n}\\n.tableau-grid > * {\\n position: absolute;\\n top: 0;\\n right: 0;\\n bottom: 0;\\n left: 0;\\n}\\n.tableau-footer {\\n padding: 10px 5px 0 5px;\\n margin-top: 10px;\\n border-top: 1px solid #ddd;\\n}\\n\", \"\"]);\n// Exports\nmodule.exports = exports;\n","import { CustomEditPopup } from './../../framework/forms/elements/custom-edit-popup/custom-edit-popup';\nimport { autoinject } from 'aurelia-framework';\n\n@autoinject\nexport class CustomEditPopupService {\n constructor() { }\n\n ansprechpersonRead: CustomEditPopup;\n dokumentBearbeiten: CustomEditPopup;\n dokumentEdit: CustomEditPopup;\n dokumentRead: CustomEditPopup;\n dokumentUnterfertigung: CustomEditPopup;\n geschaeftspartnerAnsprechperson: CustomEditPopup;\n geschaeftspartnerAuswaehlen: CustomEditPopup;\n geschaeftspartnerEntlohnungsschema: CustomEditPopup;\n geschaeftspartnerGruppierung: CustomEditPopup;\n markersAuswaehlen: CustomEditPopup;\n personAusbildungNeu: CustomEditPopup;\n objektZuBenutzergruppe: CustomEditPopup;\n nachrichtGruppe: CustomEditPopup;\n}\n","import { autoinject } from 'aurelia-framework';\nimport { RestService } from './../../framework/base/services/export';\nimport { EventAggregator } from 'aurelia-event-aggregator';\nimport { ObjektInfoService } from './objekt-info-service';\nimport { LocationService } from '../../framework/base/services/location-service';\nimport { SucheViewTyp } from \"../enumerations/export\";\n\n@autoinject\nexport class SucheService {\n constructor(\n private eventAggregator: EventAggregator,\n private objektInfo: ObjektInfoService,\n private rest: RestService,\n private location: LocationService\n ) {\n this.lastSearchValue = localStorage.getItem(\"currentSuche\");\n this.lastObjektFullName = localStorage.getItem(\"currentObjektFullName\");\n\n if (this.lastSearchValue) {\n this.lastSearchText = this.getSearchText(this.lastSearchValue);\n }\n\n this.eventAggregator.subscribe(\"objekt-info:loaded\", () => {\n if (this.lastObjektFullName) {\n this.setObjektBezeichnung();\n }\n });\n\n if (this.lastObjektFullName) {\n if (this.objektInfo.isObjektInfoLoaded()) {\n this.setObjektBezeichnung();\n }\n }\n }\n\n lastObjektFullName: string;\n lastObjektBezeichnung: string;\n lastSearchText: string;\n lastSearchValue: string;\n lastWertQueryList: any[];\n\n clearSuche() {\n this.lastObjektFullName = null;\n this.lastObjektBezeichnung = null;\n this.lastSearchText = null;\n this.lastSearchValue = null;\n this.lastWertQueryList = null;\n\n localStorage.removeItem(\"currentSuche\");\n localStorage.removeItem(\"currentObjektFullName\");\n }\n activateSuche(objektFullName: string, viewTyp: SucheViewTyp = SucheViewTyp.list) { \n const info = this.objektInfo.getObjektByFullname(objektFullName);\n\n this.eventAggregator.publish(\"suche:change-value\", {\n value: info.Bezeichnung + \": \",\n viewTyp: viewTyp\n });\n }\n executeSuche(searchValue: string, objektFullName: string, searchText: string, wertQueryList: any[] = null, viewTyp: SucheViewTyp = SucheViewTyp.list) {\n const needsNavigation = !this.isSucheAktiv();\n\n if (this.lastObjektFullName != objektFullName) {\n this.lastObjektFullName = objektFullName;\n\n this.setObjektBezeichnung();\n }\n this.lastSearchText = searchText;\n this.lastSearchValue = searchValue;\n this.lastWertQueryList = wertQueryList;\n \n localStorage.setItem(\"currentSuche\", searchValue);\n localStorage.setItem(\"currentObjektFullName\", this.lastObjektFullName);\n\n if (!this.isSucheAktiv()) {\n this.location.goTo({\n url: \"#Suche\", \n clearStack: true,\n customOptions: {\n viewTyp: viewTyp\n }\n });\n } else {\n this.eventAggregator.publish(\"suche:request\");\n }\n }\n\n getObjektFullName(searchValue: string): string {\n const objektName = searchValue\n ? searchValue.match(/.*:/g)\n : null;\n\n const bezeichnung = objektName\n ? objektName.toString().slice(0, -1)\n : null;\n\n const currentObjekt = this.objektInfo.getObjektByBezeichnung(bezeichnung);\n if (!currentObjekt) {\n return null;\n }\n\n return currentObjekt.Fullname;\n }\n getSearchText(searchValue: string): string {\n const objektName = searchValue\n ? searchValue.match(/.*:/g)\n : null;\n\n const bezeichnung = objektName\n ? objektName.toString().slice(0, -1)\n : null;\n\n const currentObjekt = this.objektInfo.getObjektByBezeichnung(bezeichnung);\n if (!currentObjekt) {\n return searchValue;\n }\n\n return searchValue.substr(objektName.toString().length).trim();\n }\n\n private isSucheAktiv() {\n return location.hash == \"#Suche\";\n }\n private setObjektBezeichnung() {\n if (this.lastObjektFullName) {\n const info = this.objektInfo.getObjektByFullname(this.lastObjektFullName);\n this.lastObjektBezeichnung = info ? info.Bezeichnung : null;\n } else {\n this.lastObjektBezeichnung = null;\n }\n }\n}\n"],"sourceRoot":""}