{"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","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","isEmpfaenger","isAbsender","IdAbsender","isBenutzerNatuerlichePerson","isNotiz","Absender","IdNachrichtGruppe","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","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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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,OACX,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,UA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,EAAAA,6C,0XCmEb,iBACE,WACSC,EACAt0C,EACAtX,EACApK,EACAi2D,EACAhvD,EACAye,EACAC,EACA2kB,EACAiB,EACAhB,EACAO,EACA9nC,EACA9L,EACAynB,EACA/c,EACAyD,EACAoD,EACAnH,EACAxN,EACAmP,EACA3N,EACAkxB,EACAV,EACAowC,EACAC,EACA1iD,EACA2iD,EACAC,EACAC,EACAC,EACA7U,EACA8U,EACAllB,EACA9tB,EACAizC,EACAv1D,EACAkU,EACAshD,EACAryD,EACAsyD,EACAn9C,GAzCA,KAAAw8C,gBACA,KAAAt0C,YACA,KAAAtX,kBACA,KAAApK,OACA,KAAAi2D,gBACA,KAAAhvD,UACA,KAAAye,UACA,KAAAC,kBACA,KAAA2kB,SACA,KAAAiB,UACA,KAAAhB,aACA,KAAAO,QACA,KAAA9nC,OACA,KAAA9L,SACA,KAAAynB,cACA,KAAA/c,YACA,KAAAyD,YACA,KAAAoD,WACA,KAAAnH,aACA,KAAAxN,UACA,KAAAmP,gBACA,KAAA3N,eACA,KAAAkxB,oBACA,KAAAV,YACA,KAAAowC,YACA,KAAAC,UACA,KAAA1iD,gBACA,KAAA2iD,gBACA,KAAAC,kBACA,KAAAC,aACA,KAAAC,aACA,KAAA7U,aACA,KAAA8U,SACA,KAAAllB,WACA,KAAA9tB,UACA,KAAAizC,gBACA,KAAAv1D,eACA,KAAAkU,uBACA,KAAAshD,WACA,KAAAryD,UACA,KAAAsyD,aACA,KAAAn9C,YA0BX,OAvBE,YAAAzmB,QAAA,WACEN,KAAK6jE,WAAWvjE,UAChBN,KAAK8jE,WAAWxjE,UAChBN,KAAKivD,WAAW3uD,UAChBN,KAAK+jE,OAAOzjE,UACZN,KAAK6+C,SAASv+C,UACdN,KAAK+wB,QAAQzwB,UACbN,KAAKgkE,cAAc1jE,UACnBN,KAAKyO,aAAanO,UAClBN,KAAK2iB,qBAAqBriB,UAC1BN,KAAKikE,SAAS3jE,UACdN,KAAK4R,QAAQtR,UACbN,KAAKkkE,WAAW5jE,UAChBN,KAAK+mB,UAAUzmB,UAEfN,KAAK+zB,kBAAkBzzB,UACvB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U,4BACV,MAAS,OACT,OAAU,KACX,CACC,GAAM,gBACN,QAAW,mCACX,OAAU,qBACX,CACC,GAAM,6BACN,QAAW,gDACX,OAAU,wBACV,MAAS,OACT,OAAU,KACV,eAAkB,gEACnB,CACC,GAAM,6BACN,QAAW,gDACX,MAAS,OACT,eAAkB,sEACnB,CACC,GAAM,2CACN,QAAW,8DACX,OAAU,+CACV,MAAS,OACT,eAAkB,kEACnB,CACC,GAAM,oCACN,QAAW,uDACX,OAAU,wCACV,MAAS,OACT,eAAkB,qEACnB,CACC,GAAM,qDACN,QAAW,wEACX,OAAU,yDACV,MAAS,OACT,eAAkB,uFAEtB,eAAiB,EACjB,eAAkB,CACd,YAAe,oCACf,cAAiB,qCAErB,QAAW,yCACX,QAAW,CACP,YAAe,YAEnB,YAAc,EACd,gBAAmB,CACf,YAAe,sBACf,OAAU,UACV,SAAY,2CAEhB,UAAa,WACb,gBAAmB,uBACnB,YAAe,yBACf,UAAa,GACb,QAAW,GACX,SAAY,GACZ,GAAM,sBACN,QAAW,CACP,YAAe,6BACf,cAAiB,gCAGzB,EAAK+1C,cAAc/1C,YAAY,EAAM,CACjC,QAAW,CAAC,CACR,GAAM,sBACN,QAAW,yCACX,OAAU,qBACV,MAAS,OACT,OAAU,KACX,CACC,GAAM,wBACN,QAAW,2CACX,OAAU,uBACV,MAAS,OACT,OAAU,KACX,CACC,GAAM,qBACN,QAAW,wCACX,OAAU,oBACV,MAAS,OACT,OAAU,KACX,CACC,GAAM,uBACN,QAAW,0CACX,OAAU,sBACV,MAAS,OACT,OAAU,KACX,CACC,GAAM,sBACN,QAAW,yCACX,OAAU,qBACV,aAAgB,gDACjB,CACC,GAAM,mBACN,QAAW,sCACX,OAAU,mBACX,CACC,GAAM,oBACN,QAAW,uCACX,OAAU,oBACX,CACC,GAAM,mBACN,QAAW,sCACX,OAAU,0BACV,MAAS,SACV,CACC,GAAM,4BACN,QAAW,+CACX,OAAU,2BACV,MAAS,QACV,CACC,GAAM,iBACN,QAAW,oCACX,OAAU,gBACV,MAAS,QACV,CACC,GAAM,iBACN,QAAW,oCACX,OAAU,gBACV,MAA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","file":"vendor.cb970cebb7984eab1016.chunk.js","sourcesContent":["import {\r\n autoinject\r\n} from \"aurelia-framework\";\r\nimport {\r\n CustomEvent\r\n} from \"../../base/export\";\r\nimport {\r\n IQueryGlobalCommandEventArgs\r\n} from \"../event-args/export\";\r\n\r\n@autoinject\r\nexport class GlobalCommandService {\r\n constructor(\r\n public onQueryGlobalCommand: CustomEvent\r\n ) {}\r\n}","import {\r\n autoinject,\r\n singleton\r\n} from \"aurelia-framework\";\r\nimport {\r\n FormBase\r\n} from \"../classes/form-base\";\r\n\r\n@autoinject\r\n@singleton(true)\r\nexport class Functions {\r\n private form: FormBase;\r\n private _functionInstances: any[] = [];\r\n\r\n constructor() {}\r\n\r\n add(id: string, functionInstance: any, namespace: string, customParameters?: any) {\r\n this[id] = functionInstance;\r\n this._functionInstances.push(functionInstance);\r\n\r\n if (functionInstance.bind) {\r\n functionInstance.bind(this.form, namespace, customParameters);\r\n }\r\n }\r\n \r\n registerForm(form: FormBase) {\r\n if (this.form) {\r\n throw new Error(\"Form was already registered\");\r\n }\r\n\r\n this.form = form;\r\n }\r\n\r\n dispose() {\r\n this.unbindAll();\r\n this._functionInstances.splice(0);\r\n }\r\n \r\n private unbindAll() {\r\n this._functionInstances.forEach(instance => {\r\n if (!instance.unbind) {\r\n return;\r\n }\r\n\r\n instance.unbind(this.form);\r\n });\r\n }\r\n}\r\n","import {\r\n autoinject\r\n} from \"aurelia-framework\";\r\nimport {\r\n FormBase\r\n} from \"../classes/form-base\";\r\nimport {\r\n BaseWidgetCreatorService\r\n} from \"./base-widget-creator-service\";\r\nimport * as WidgetOptions from \"../widget-options/export\";\r\nimport { ListType } from '../enums/list-type-enum';\r\n\r\n@autoinject\r\nexport class ListWidgetCreatorService {\r\n constructor(\r\n private baseWidgetCreator: BaseWidgetCreatorService\r\n ) { }\r\n\r\n addList(form: FormBase, options: WidgetOptions.IListOptions) {\r\n const listOptions: DevExpress.ui.dxListOptions = this.baseWidgetCreator.createWidgetOptions(form, options);\r\n\r\n listOptions.itemTemplate = \"itemTemplate\";\r\n\r\n if (options.dataModel && !options.binding.bindTo) {\r\n const dataSource = this.baseWidgetCreator.createListDataSource(form, options, listOptions);\r\n listOptions.dataSource = dataSource;\r\n }\r\n else if (options.binding.bindTo) {\r\n listOptions.bindingOptions[\"dataSource\"] = options.binding.bindToFQ;\r\n }\r\n\r\n this.baseWidgetCreator.setListClickActions(form, options);\r\n const customOptions = this.baseWidgetCreator.getCustomOptions(form, options);\r\n\r\n if (customOptions.hasClickActions > 0) {\r\n listOptions.onItemClick = (e) => {\r\n (e).data = e.itemData;\r\n\r\n customOptions.clickActions.forEach(item => {\r\n item(e, listOptions.dataSource);\r\n });\r\n customOptions.openClickActions.forEach(item => {\r\n item(e, listOptions.dataSource);\r\n });\r\n };\r\n }\r\n\r\n this.baseWidgetCreator.checkListToolbar(form, options, null, ListType.List);\r\n this.baseWidgetCreator.checkListRelationEdit(form, options);\r\n }\r\n}\r\n","import { IdxLookupComponent } from './../../../interfaces/dx-components';\r\nimport { RestService } from './../../../../framework/base/services/rest-service';\r\nimport { BenutzerTyp } from './../../../enumerations/benutzer-typ';\r\nimport { StartupService } from './../../../services/startup-service';\r\nimport { autoinject, transient, computedFrom } from 'aurelia-framework';\r\nimport { FormBase, ContextMenu, IListOptionsBase, ICommandData } from '../../../../framework/forms/export';\r\nimport { IZitToolbarOptions } from '../../../../zit-ui/elements/zit-toolbar/zit-toolbar-options';\r\nimport { DefaultCommandsService } from './../../../../framework/forms/services/export';\r\nimport { LocalizationService } from '../../../../framework/base/services/export';\r\nimport { IZitTagOptions } from '../../../../zit-ui/elements/zit-tag/export';\r\nimport { ListView } from '../../../../framework/forms/elements/list-view/export';\r\nimport { Geschlecht } from '../../../enumerations/export';\r\nimport { Share } from '../../../elements/share/share';\r\n\r\n@autoinject\r\n@transient()\r\nexport class AnsprechpersonEditUtils {\r\n constructor(\r\n private defaultCommand: DefaultCommandsService,\r\n private localization: LocalizationService,\r\n private startupService: StartupService,\r\n private restService: RestService\r\n ) { }\r\n\r\n form: FormBase;\r\n showKeinNewsletterErwuenscht: boolean = false;\r\n\r\n @computedFrom(\"form.models.data.$m_Ansprechperson.Personendaten.Geschlecht\",\r\n \"form.models.data.$m_Ansprechperson.Personendaten.Vorname\",\r\n \"form.models.data.$m_Ansprechperson.Personendaten.Nachname\")\r\n get ansprechpersonPersonalienHeader(): string {\r\n const model = this.form.models.data.$m_Ansprechperson;\r\n if (!model) {\r\n return null;\r\n }\r\n\r\n let anrede = \"\";\r\n const vorname = model.Personendaten.Vorname ? model.Personendaten.Vorname : \"\";\r\n const nachname = model.Personendaten.Nachname ? model.Personendaten.Nachname : \"\";\r\n\r\n switch (model.Personendaten.Geschlecht) {\r\n case Geschlecht.Maennlich: {\r\n anrede = \"Herr\";\r\n break;\r\n }\r\n case Geschlecht.Weiblich: {\r\n anrede = \"Frau\";\r\n break;\r\n }\r\n }\r\n\r\n return `${anrede} ${vorname} ${nachname}`\r\n }\r\n\r\n @computedFrom(\"form.models.data.$m_Ansprechperson.Personendaten.Team\")\r\n get ansprechpersonPersonalienTeamHeader(): string {\r\n const model = this.form.models.data.$m_Ansprechperson;\r\n if (!model) {\r\n return null;\r\n }\r\n\r\n return model.Personendaten.Team;\r\n }\r\n\r\n actionCommand: ICommandData = {\r\n id: \"actionCommand\",\r\n icon: \"fas fa-share-alt\",\r\n tooltip: \"zit.aktionen\",\r\n sortIndex: 99,\r\n isVisibleExpression: \"r_share.canShare\",\r\n execute: (executeOptions) => {\r\n const share: Share = this.form[\"r_share\"];\r\n share.showCtxMenu(executeOptions.event);\r\n }\r\n };\r\n geschaeftspartnerTagOptions: IZitTagOptions = {\r\n isClickEnabled: true,\r\n hasDefaultInfo: true,\r\n icon: {\r\n text: \"GP\"\r\n },\r\n textExpression: `item.Geschaeftspartner.Name1 \r\n ? item.Geschaeftspartner.Adressen.Adressen[0] \r\n ? item.Geschaeftspartner.Name1 + \", \" + item.Geschaeftspartner.Adressen.Adressen[0].Ort\r\n : item.Geschaeftspartner.Name1\r\n : \"\"`\r\n };\r\n kontaktTagOptions: IZitTagOptions = {\r\n isClickEnabled: true,\r\n hasDefaultInfo: true,\r\n icon: {\r\n faIconExpression: \"item.Kontakttyp.TagSymbol ? item.Kontakttyp.TagSymbol : null\",\r\n textExpression: `item.Kontakttyp \r\n ? item.Kontakttyp.TagText\r\n ? item.Kontakttyp.TagText \r\n : item.Kontakttyp.Bezeichnung\r\n ? item.Kontakttyp.Bezeichnung[0] \r\n : \"K\"\r\n : \"K\"`\r\n },\r\n textExpression: `item.Wert1 \r\n ? item.Wert2\r\n ? item.Wert1 + \", \" + item.Wert2\r\n : item.Wert1\r\n : \"\"`,\r\n infoList: [{\r\n isVisibleExpression: \"item.Wichting\",\r\n icon: {\r\n faIcon: \"fas fa-exclamation\"\r\n }\r\n }]\r\n };\r\n\r\n detailToolbarOptions: IZitToolbarOptions = {\r\n title: \"ansprechperson.details-toolbar-title\",\r\n smallToolbar: true,\r\n items: [{\r\n id: \"ansprechpersonEditUtilsDetailCommand\",\r\n icon: \"fas fa-plus\",\r\n execute: (e) => {\r\n this.showDetailCtxMenu(e.event);\r\n }\r\n }]\r\n };\r\n\r\n bind(form: FormBase) {\r\n this.form = form;\r\n\r\n this.form.models.onLoaded.register((args) => {\r\n if (args.model.id == \"$m_Ansprechperson\") {\r\n const isAdmin = this.startupService.startupInfo.Benutzer.Benutzertyp == BenutzerTyp.Administrator;\r\n const isInternerBenutzer = this.startupService.startupInfo.Benutzer.Benutzertyp == BenutzerTyp.InternerBenutzer;\r\n\r\n this.setGeschaeftspartnerValue();\r\n\r\n this.showKeinNewsletterErwuenscht = isAdmin || isInternerBenutzer;\r\n }\r\n\r\n return Promise.resolve();\r\n });\r\n }\r\n\r\n private showDetailCtxMenu(event: Event) {\r\n const ctxMenu = new ContextMenu();\r\n\r\n this.loadCtxMenuItems(ctxMenu);\r\n\r\n ctxMenu.show(event.target);\r\n }\r\n\r\n private loadCtxMenuItems(ctxMenu: ContextMenu) {\r\n if (!ctxMenu) {\r\n return;\r\n }\r\n ctxMenu.items = [{\r\n text: this.localization.translateOnce(\"ansprechperson.details-toolbar-geschaeftspartner\"),\r\n execute: () => {\r\n this.showListEditPopup(\"$m_AnsprechpersonZuGeschaeftspartnerEdit\", \"ansprechpersonGeschaeftspartnerEditPopup\", \"r_ansprechpersonGeschaeftspartnerListView\");\r\n }\r\n }];\r\n\r\n if (this.form.models.data.$m_Ansprechperson.SonstigeKontaktdatenVisible) {\r\n ctxMenu.items.push({\r\n text: this.localization.translateOnce(\"ansprechperson.details-toolbar-kontaktdaten\"),\r\n\r\n execute: () => {\r\n this.showListEditPopup(\"$m_AnsprechpersonKontaktEdit\", \"ansprechpersonKontaktEditPopup\", \"r_ansprechpersonKontaktdatenListView\");\r\n }\r\n });\r\n }\r\n }\r\n\r\n private showListEditPopup(editDataContext: string, idEditPopup: string, idListView: string) {\r\n const options = this.getListViewBaseOption(editDataContext, idEditPopup, this.form[idListView]);\r\n\r\n const addCommand = this.defaultCommand.getListAddCommand(this.form, options);\r\n const event = new MouseEvent(\"click\");\r\n addCommand.execute({ event: event });\r\n }\r\n\r\n private getListViewBaseOption(editDataContext: string, idEditPopup: string, options: IListOptionsBase): IListOptionsBase {\r\n options.editDataContext = editDataContext;\r\n options.idEditPopup = idEditPopup\r\n options.listEdits = options.listEdits || [];\r\n return options;\r\n }\r\n\r\n private setGeschaeftspartnerValue(): void {\r\n this.restService.get({\r\n url: `${this.restService.getWebApiUrl(\"ZIT/Objekte/Geschaeftspartner/\")}`,\r\n getOptions: {\r\n columns: ['Id']\r\n }\r\n }).then(r => {\r\n if (r.length > 1) {\r\n return;\r\n }\r\n if (r && r.length && r.length === 1) {\r\n this.form.models.data.$m_Ansprechperson._IdGeschaeftspartner = r[0].Id;\r\n }\r\n });\r\n }\r\n}\r\n","import { autoinject } from \"aurelia-framework\";\r\nimport { FotoPopup } from \"./../elements/foto-popup/foto-popup\";\r\n\r\n@autoinject\r\nexport class FotoPopupService {\r\n popup: FotoPopup;\r\n}\r\n\r\nexport interface IFotoPopupShowOptions {\r\n dmsLink?: string;\r\n name?: string;\r\n}\r\n","import { GlobalizationService } from \"./../../../../framework/base/services/globalization-service\";\r\nimport { transient } from \"aurelia-framework\";\r\nimport { autoinject } from \"aurelia-framework\";\r\nimport { RestService } from \"./../../../../framework/base/services/rest-service\";\r\nimport { DataSourceService, LocalizationService } from \"./../../../../framework/base/services/export\";\r\nimport { FormBase } from \"../../../../framework/forms/export\";\r\n\r\n@autoinject\r\n@transient()\r\nexport class ObjekteZuBenutzergruppeUtils {\r\n constructor(\r\n private dataSourceService: DataSourceService,\r\n private restService: RestService,\r\n private globalizationService: GlobalizationService,\r\n private localizationService: LocalizationService\r\n ) { }\r\n\r\n form: FormBase;\r\n objektElementLogList: any[];\r\n zugriffLogList: any[];\r\n\r\n historyGridOptions: DevExpress.ui.dxDataGridOptions = {\r\n columnAutoWidth: true,\r\n paging: {\r\n pageSize: 5\r\n },\r\n hoverStateEnabled: true,\r\n searchPanel: {\r\n visible: true\r\n },\r\n columns: [\r\n { dataField: \"Benutzer\", caption: this.localizationService.translateOnce(\"objekte-zu-benutzergruppe.history-benutzer\") },\r\n { dataField: \"Aenderungstyp\", caption: this.localizationService.translateOnce(\"objekte-zu-benutzergruppe.history-typ\") },\r\n { dataField: \"Datum\", caption: this.localizationService.translateOnce(\"objekte-zu-benutzergruppe.history-datum\"), format: this.globalizationService.getFormatter(\"g\"), width: \"125px\" }\r\n ],\r\n bindingOptions: {\r\n dataSource: \"functions.$f_ObjekteZuBenutzergruppe.objektElementLogList\"\r\n }\r\n };\r\n\r\n zugriffGridOptions: DevExpress.ui.dxDataGridOptions = {\r\n columnAutoWidth: true,\r\n paging: {\r\n pageSize: 5\r\n },\r\n hoverStateEnabled: true,\r\n searchPanel: {\r\n visible: true\r\n },\r\n columns: [\r\n { dataField: \"Benutzer\", caption: this.localizationService.translateOnce(\"objekte-zu-benutzergruppe.zugriff-benutzer\") },\r\n { dataField: \"Benutzerrolle\", caption: this.localizationService.translateOnce(\"objekte-zu-benutzergruppe.zugriff-benutzerrolle\") },\r\n { dataField: \"Loginprofil\", caption: this.localizationService.translateOnce(\"objekte-zu-benutzergruppe.zugriff-loginprofil\") },\r\n { dataField: \"Datum\", caption: this.localizationService.translateOnce(\"objekte-zu-benutzergruppe.zugriff-datum\"), format: this.globalizationService.getFormatter(\"g\"), width: \"125px\" }\r\n ],\r\n bindingOptions: {\r\n dataSource: \"functions.$f_ObjekteZuBenutzergruppe.zugriffLogList\"\r\n }\r\n };\r\n\r\n bind(form: FormBase) {\r\n\r\n this.form = form;\r\n\r\n form.models.onLoaded.register(async (args) => {\r\n if (args.model.id == \"$m_ObjZuBen\" && args.data) {\r\n const data = args.data.data;\r\n if (data && data[0].IdObjekt && data[0].IdObjekt > 0) {\r\n this.restService.get({\r\n url: `${this.restService.getApiUrl(\"ZIT/Objekt/ObjektElementLogList\")}?idObjekt=${data[0].IdObjekt}`\r\n }).then(r => {\r\n this.objektElementLogList = r;\r\n }).then(() => {\r\n this.restService.get({\r\n url: `${this.restService.getApiUrl(\"ZIT/Objekt/ObjektZugriffLogList\")}?idObjekt=${data[0].IdObjekt}`\r\n })\r\n .then(r => {\r\n this.zugriffLogList = r;\r\n });\r\n });\r\n }\r\n }\r\n\r\n return Promise.resolve();\r\n });\r\n }\r\n}\r\n","import { transient, autoinject, computedFrom } from \"aurelia-framework\";\r\nimport { IZitToolbarOptions } from '../../../../zit-ui/elements/zit-toolbar/zit-toolbar-options';\r\nimport { FormBase, ModelUtilsService, ICommandData, DialogConfirmService } from '../../../../framework/forms/export';\r\nimport { Massnahmen } from './massnahmen';\r\nimport { RestService, LocationService, GlobalizationService } from '../../../../framework/base/export';\r\nimport { IZitTagOptions } from '../../../../zit-ui/elements/zit-tag/zit-tag-options';\r\nimport { ObjektInfoService, StartupService } from '../../../services/export';\r\nimport { NachrichtService } from '../../../services/nachricht-service';\r\nimport { BenutzerTyp } from '../../../enumerations/export';\r\n\r\n@transient()\r\n@autoinject\r\nexport class ZielEditUtils {\r\n constructor(\r\n private _restService: RestService,\r\n private _locationService: LocationService,\r\n private _modelUtilsService: ModelUtilsService,\r\n private _objektInfoService: ObjektInfoService,\r\n private _startupService: StartupService,\r\n private _nachrichtService: NachrichtService,\r\n private _dialogConfirmService: DialogConfirmService,\r\n private _globalizationService: GlobalizationService\r\n ) {\r\n this.showAusbilderKommentarEdit = this._startupService.startupInfo.Benutzer.Benutzertyp != BenutzerTyp.NatuerlichePerson;\r\n }\r\n\r\n form: FormBase;\r\n showAusbilderKommentarEdit: boolean = false;\r\n\r\n objektTagOptions: IZitTagOptions = {\r\n icon: {\r\n faIconExpression: `item._ObjSymbol || 'fas fa-user'`,\r\n backgroundColorExpression: `item._ObjHintergrundfarbe`\r\n },\r\n textExpression: \"item.Kopf.ObjektBezeichnung\",\r\n onClick: (e, data) => {\r\n const url = this._objektInfoService.getObjektNavigationUrl(data.Kopf.ObjektTypeName);\r\n if (!url) {\r\n return;\r\n }\r\n\r\n this._locationService.goTo({\r\n url: url.concat(\"/\").concat(data.Kopf.IdObjekt),\r\n currentViewModel: this.form\r\n });\r\n }\r\n };\r\n ursprungsobjektTagOptions: IZitTagOptions = {\r\n icon: {\r\n faIconExpression: `item._UrsprSymbol || 'fas fa-cog'`,\r\n backgroundColorExpression: `item._UrsprHintergrundfarbe`\r\n },\r\n textExpression: \"item.Kopf.UrsprungsobjektBezeichnung\",\r\n onClick: (e, data) => {\r\n const url = this._objektInfoService.getObjektNavigationUrl(data.Kopf.UrsprungsobjektTypeName);\r\n if (!url) {\r\n return;\r\n }\r\n\r\n this._locationService.goTo({\r\n url: url.concat(\"/\").concat(data.Kopf.IdUrsprungsobjekt),\r\n currentViewModel: this.form\r\n });\r\n }\r\n };\r\n einschaetzungOptions: DevExpress.ui.dxSliderOptions = {\r\n min: 0,\r\n max: 10,\r\n step: 1,\r\n label: {\r\n visible: true,\r\n format: (value: number) => {\r\n return `${this._globalizationService.format(value, \"n0\")}`;\r\n }\r\n },\r\n onValueChangedByUser: (ev) => {\r\n this.form.models.data.$m_Ziel.Kopf.IsErfuellt = (ev.value == 10);\r\n },\r\n bindingOptions: {\r\n value: \"models.data.$m_Ziel.Kopf.Einschaetzung\"\r\n }\r\n };\r\n massnahmenToolbarOptions: IZitToolbarOptions = {\r\n title: \"ziele.massnahmen\",\r\n smallToolbar: true,\r\n items: [{\r\n id: \"addMassnahme\",\r\n icon: \"fas fa-plus\",\r\n execute: async (e) => {\r\n const massnahme: Massnahmen = this.form[\"r_massnahmen\"];\r\n massnahme.addMassnahme();\r\n }\r\n }]\r\n };\r\n createNachrichtCommand: ICommandData = {\r\n id: \"createNachrichtCommand\",\r\n icon: \"far fa-comment-dots\",\r\n sortIndex: 295,\r\n isVisibleExpression: \"models.data.$m_Ziel.Id\",\r\n execute: async (ev) => {\r\n if (this._startupService.startupInfo.Benutzer.Benutzertyp == BenutzerTyp.NatuerlichePerson) {\r\n this._nachrichtService.doNachrichtErstellenFromObjekt([{\r\n IdObjekt: this.form.models.data.$m_Ziel.Kopf.IdAnsprechperson,\r\n IdObjektRef: this.form.models.data.$m_Ziel.Id\r\n }], \"TIP.ZIT.Business.Entities.Objekte.Ansprechpersonen.Ansprechperson\");\r\n } else {\r\n this._nachrichtService.doNachrichtErstellenFromObjekt([{\r\n IdObjekt: this.form.models.data.$m_Ziel.Kopf.IdObjekt,\r\n IdObjektRef: this.form.models.data.$m_Ziel.Id\r\n }], this.form.models.data.$m_Ziel.Kopf.ObjektTypeName);\r\n }\r\n }\r\n };\r\n\r\n @computedFrom(\"form.models.data.$m_Ziel.Kopf.Einschaetzung\")\r\n get einschaetzungWert() {\r\n if (!this.form.models.data.$m_Ziel) {\r\n return \"\";\r\n }\r\n\r\n return `
${this.form.models.data.$m_Ziel.Kopf.Einschaetzung}
`\r\n }\r\n\r\n bind(form: FormBase) {\r\n this.form = form;\r\n\r\n this.form.models.onLoaded.register(async ev => {\r\n if (ev.model.id == \"$m_Ziel\" && !ev.data.Id) {\r\n this.checkObjekt(ev.data);\r\n }\r\n });\r\n }\r\n\r\n onDateiListChanged() {\r\n this._modelUtilsService.setDirty(this.form.models.data.$m_Ziel);\r\n }\r\n async onErfuelltClick() {\r\n this.form.models.data.$m_Ziel.Kopf.IsErfuellt = true;\r\n this.form.models.data.$m_Ziel.Kopf.Einschaetzung = 10;\r\n await this.form.save();\r\n }\r\n\r\n private async checkObjekt(data: any) {\r\n const hasUrsprungsobjekt = this.form.viewItemInfo\r\n && this.form.viewItemInfo.routeInfo\r\n && this.form.viewItemInfo.routeInfo.customOptions\r\n && this.form.viewItemInfo.routeInfo.customOptions.idUrsprungsobjekt;\r\n\r\n const idUrsprungsobjekt = hasUrsprungsobjekt\r\n ? this.form.viewItemInfo.routeInfo.customOptions.idUrsprungsobjekt\r\n : null;\r\n \r\n data.Kopf.IdUrsprungsobjekt = idUrsprungsobjekt;\r\n\r\n const r = await this._restService.post({\r\n url: this._restService.getApiUrl(\"ZIT/Ziel/EvalObjekt\"),\r\n data: {\r\n IdUrsprungsobjekt: idUrsprungsobjekt\r\n },\r\n increaseLoadingCount: true\r\n });\r\n\r\n if (r && r.IdObjekt) {\r\n data.Kopf.IdObjekt = r.IdObjekt;\r\n data.Kopf.ObjektBezeichnung = r.ObjektBezeichnung;\r\n } else {\r\n data._ShowObjektSelectBox = true;\r\n }\r\n\r\n if (r && r.IdAnsprechperson) {\r\n data.Kopf.IdAnsprechperson = r.IdAnsprechperson;\r\n } else {\r\n data._ShowAnsprechpersonSelectBox = true;\r\n }\r\n }\r\n}","import { RestService } from './../../../../framework/base/services/rest-service';\r\nimport { DxWidget } from './../../../../framework/dx/elements/dx-widget';\r\nimport { ValidationExService } from './../../../services/validation-ex-service';\r\nimport { Models } from './../../../../framework/forms/classes/models';\r\nimport { autoinject, computedFrom, transient, TaskQueue } from \"aurelia-framework\";\r\nimport { FormBase } from './../../../../framework/forms/classes/form-base';\r\n\r\n@autoinject\r\n@transient()\r\nexport class StelleninseratGruppeEditUtils {\r\n constructor(private rest: RestService, private taskqueue: TaskQueue, private restService: RestService) {\r\n }\r\n\r\n form: FormBase;\r\n vorhandeneAuswaehlen: string = \"Vorhandenen Typ auswählen\";\r\n neuErstellen: string = \"Neuen Typ erstellen\";\r\n gruppeNeuAuswahl: string;\r\n gruppeNeuAuswahlDatasource: string[] = [this.vorhandeneAuswaehlen, this.neuErstellen];\r\n aufzaehlungszeichen: boolean = false;\r\n\r\n bind(form: FormBase, funcNamespace: string): void {\r\n this.form = form;\r\n\r\n this.form.onValidating.register(r => {\r\n if (!r.validationResult.isValid) {\r\n return;\r\n }\r\n\r\n return this.onValidating();\r\n });\r\n\r\n this.form.parent.editPopups.onEditPopupShown.register(r => {\r\n if (r.editPopup.id === \"stelleninseratGruppeEditPopup\") {\r\n this.aufzaehlungszeichen = false;\r\n\r\n const gruppeNeuAuswahlRadioGroup: DxWidget = this.form[\"r_guppeNeuAuswahl\"];\r\n gruppeNeuAuswahlRadioGroup.setOption({ \"value\": this.gruppeNeuAuswahlDatasource[0] });\r\n\r\n if (this.gruppeNeuAuswahl === this.gruppeNeuAuswahlDatasource[1]) {\r\n const gruppeNeuSortNrNumberBoxGroup: DxWidget = this.form[\"r_gruppeNeuSortNrNumberBox\"];\r\n gruppeNeuSortNrNumberBoxGroup.setOption({ \"value\": 0 });\r\n\r\n const gruppeNeuAufzaehlung: DxWidget = this.form[\"r_gruppeNeuAufzaehlung\"];\r\n gruppeNeuAufzaehlung.setOption({ \"value\": this.aufzaehlungszeichen });\r\n }\r\n }\r\n\r\n return Promise.resolve();\r\n })\r\n\r\n form.models.onLoaded.register((args) => {\r\n if (args.model.id == \"$m_StelleninseratGruppe\" && args.data) {\r\n if (!args.data.Id) {\r\n this.taskqueue.queueMicroTask(() => {\r\n const idStelleninserat = this.form.variables.data.$v_idStelleninserat;\r\n\r\n this.restService.get({\r\n url: `${this.restService.getApiUrl(\"ZIT/Objekt/StelleninseratGruppeNextSortNr\")}?idStelleninserat=${idStelleninserat}`\r\n }).then(r => {\r\n args.data.SortNr = r;\r\n });\r\n });\r\n }\r\n }\r\n\r\n return Promise.resolve();\r\n });\r\n }\r\n\r\n requiredValidatorOptions = {\r\n validationRules: [{ type: \"required\", message: \"\" }]\r\n };\r\n\r\n stelleninseratGruppeNeuAuswahlRadioGroupOptions: DevExpress.ui.dxRadioGroupOptions = {\r\n dataSource: this.gruppeNeuAuswahlDatasource,\r\n layout: \"horizontal\",\r\n onValueChanged: (r) => {\r\n this.gruppeNeuAuswahl = r.value;\r\n }\r\n };\r\n\r\n neuErfassungTextBoxOptions: DevExpress.ui.dxTextBoxOptions = {};\r\n neuErfassungNumberBoxOptions: DevExpress.ui.dxNumberBoxOptions = {};\r\n\r\n aufzaehlungszeichenCheckBoxOptions: DevExpress.ui.dxCheckBoxOptions = {\r\n text: \"in der Anzeige als Aufzählung darstellen\",\r\n };\r\n\r\n @computedFrom(\"gruppeNeuAuswahl\") //Todo: Property prüfen\r\n get isGruppeAuswahlVisible(): boolean {\r\n let value = this.GetStelleninseratGruppeNeuAuswahlValue();\r\n\r\n if (value == this.vorhandeneAuswaehlen) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n }\r\n\r\n private GetStelleninseratGruppeNeuAuswahlValue(): string {\r\n const gruppeNeuAuswahl: DevExpress.ui.dxRadioGroup = this.form[\"r_guppeNeuAuswahl\"].instance;\r\n\r\n if (gruppeNeuAuswahl) {\r\n return gruppeNeuAuswahl.option(\"value\")\r\n }\r\n else {\r\n null;\r\n }\r\n }\r\n\r\n private onValidating(): Promise {\r\n let value = this.GetStelleninseratGruppeNeuAuswahlValue();\r\n if (value == this.neuErstellen) {\r\n const gruppeNeuTextBoxGroup: DevExpress.ui.dxTextBox = this.form[\"r_gruppeNeuTextBox\"].instance;\r\n const gruppeNeuSortNrNumberBoxGroup: DevExpress.ui.dxNumberBox = this.form[\"r_gruppeNeuSortNrNumberBox\"].instance;\r\n\r\n const bezeichnung: string = gruppeNeuTextBoxGroup.option(\"text\");\r\n const sortNr: number = gruppeNeuSortNrNumberBoxGroup.option(\"value\");\r\n\r\n let gruppentyp = {\r\n Bezeichnung: bezeichnung,\r\n SortNr: sortNr,\r\n IdGeschaeftspartner: this.form.variables.data.$v_idGeschaeftspartner,\r\n Aufzaehlung: this.aufzaehlungszeichen\r\n };\r\n\r\n return this.rest.get({\r\n url: this.rest.getWebApiUrl(\"ZIT/Stammdaten/StelleninseratGruppentyp\"),\r\n getOptions: {\r\n where: [[\"Bezeichnung\", gruppentyp.Bezeichnung], \"and\", [\"IdGeschaeftspartner\", gruppentyp.IdGeschaeftspartner]]\r\n }\r\n })\r\n .then((existingGruppentyp) => {\r\n if (existingGruppentyp && existingGruppentyp.length > 0) {\r\n this.form.models.data.$m_StelleninseratGruppe.IdStelleninseratGruppentyp = existingGruppentyp[0].Id;\r\n } else {\r\n return this.rest.put({\r\n url: this.rest.getWebApiUrl(\"ZIT/Stammdaten/StelleninseratGruppentyp\"),\r\n data: gruppentyp,\r\n increaseLoadingCount: true\r\n }).then(r => {\r\n this.form.models.data.$m_StelleninseratGruppe.IdStelleninseratGruppentyp = r.Id;\r\n });\r\n }\r\n });\r\n }\r\n };\r\n}\r\n","import { StartupService } from './../../../services/startup-service';\r\nimport { DxWidget } from './../../../../framework/dx/elements/dx-widget';\r\nimport { Share } from './../../../elements/share/share';\r\nimport { ICommandData } from './../../../../framework/forms/interfaces/command-data';\r\nimport { IBenutzerrolleCodeData } from './../../../interfaces/benutzerrolle-code-data';\r\nimport { IZitTagOptions } from './../../../../zit-ui/elements/zit-tag/zit-tag-options';\r\nimport { autoinject, transient, computedFrom } from 'aurelia-framework';\r\nimport { FormBase } from './../../../../framework/forms/classes/form-base';\r\nimport { IZitToolbarOptions } from '../../../../zit-ui/elements/zit-toolbar/zit-toolbar-options';\r\nimport { LocalizationService, FileService, GlobalizationService, LocationService } from './../../../../framework/base/services/export';\r\nimport { DefaultCommandsService } from './../../../../framework/forms/services/export';\r\nimport { ContextMenu, IListOptionsBase } from '../../../../framework/forms/export';\r\nimport { CustomEditPopupService } from '../../../services/export';\r\nimport { ListView } from '../../../../framework/forms/elements/list-view/export';\r\nimport { DokumentListView } from '../../../elements/dokument-list-view/dokument-list-view';\r\nimport { IdxValidationGroupComponent } from '../../../interfaces/export';\r\nimport { RestService } from '../../../../framework/base/services/export';\r\nimport { Geschlecht } from '../../../enumerations/export';\r\nimport { IdxPopupComponent } from './../../../interfaces/export';\r\n\r\n@autoinject\r\n@transient()\r\nexport class PersonenEditUtils {\r\n constructor(\r\n private customEditPopup: CustomEditPopupService,\r\n private defaultCommand: DefaultCommandsService,\r\n private localization: LocalizationService,\r\n private location: LocationService,\r\n private file: FileService,\r\n private globalization: GlobalizationService,\r\n private rest: RestService,\r\n private startupService: StartupService\r\n ) { }\r\n\r\n form: FormBase;\r\n requiredValidationRule = { type: \"required\" };\r\n\r\n detailToolbarOptions: IZitToolbarOptions = {\r\n title: \"person.details-toolbar-title\",\r\n smallToolbar: true,\r\n items: [{\r\n id: \"personEditUtilsDetailCommand\",\r\n icon: \"fas fa-plus\",\r\n execute: (e) => {\r\n this.showDetailCtxMenu(e.event);\r\n }\r\n }]\r\n };\r\n\r\n actionCommand: ICommandData = {\r\n id: \"actionCommand\",\r\n icon: \"fas fa-share-alt\",\r\n tooltip: \"zit.aktionen\",\r\n sortIndex: 99,\r\n isVisibleExpression: \"r_share.canShare\",\r\n execute: (executeOptions) => {\r\n const share: Share = this.form[\"r_share\"];\r\n share.showCtxMenu(executeOptions.event);\r\n }\r\n };\r\n\r\n personSkillTagOptions: IZitTagOptions = {\r\n isClickEnabled: true,\r\n hasDefaultInfo: true,\r\n textExpression: `item.Text \r\n ? item.Skill.Bezeichnung + ': ' + item.Text \r\n : item.Skill.Bezeichnung | zitRestrictLength:50`,\r\n icon: {\r\n textExpression: \"!item.Skill.TagSymbol ? 'S/H':''\",\r\n faIconExpression: \"item.Skill.TagSymbol\"\r\n }\r\n };\r\n\r\n personGeschaeftspartnerEinsatzTagOptions: IZitTagOptions = {\r\n isClickEnabled: true,\r\n hasDefaultInfo: true,\r\n textExpression: `item.Jahr \r\n ? item.Geschaeftspartner.Name1 + ': ' + item.TaetigkeitAbteilung + ' (' + item.Jahr + ')'\r\n : item.Geschaeftspartner.Name1 + ': ' + item.TaetigkeitAbteilung`,\r\n icon: {\r\n text: \"BE\"\r\n }\r\n };\r\n\r\n personSpracheTagOptions: IZitTagOptions = {\r\n isClickEnabled: true,\r\n hasDefaultInfo: true,\r\n textExpression: `item.Sprache.Bezeichnung + \" | \" + item.Sprachniveau.Bezeichnung`,\r\n icon: {\r\n text: \"S\"\r\n },\r\n infoList: [{\r\n isVisibleExpression: \"item.Sprachniveau && item.Sprachniveau.TagSymbol\",\r\n icon: {\r\n textExpression: \"item.Sprachniveau.TagSymbol\"\r\n }\r\n }]\r\n };\r\n\r\n personBerufTagOptions: IZitTagOptions = {\r\n isClickEnabled: true,\r\n hasDefaultInfo: true,\r\n textExpression: `item.Beruf.Bezeichnung && item.Erfahrungsjahre && item.ZuletztTaetig\r\n ? item.Beruf.Bezeichnung + ' | EJ: ' + item.Erfahrungsjahre + ' | ZT: ' + item.ZuletztTaetig\r\n : item.Erfahrungsjahre\r\n ? item.Beruf.Bezeichnung + ' | EJ: ' + item.Erfahrungsjahre\r\n : item.ZuletztTaetig\r\n ? item.Beruf.Bezeichnung + ' | ZT: ' + item.ZuletztTaetig\r\n : item.Beruf.Bezeichnung`,\r\n icon: {\r\n text: \"B\"\r\n },\r\n infoList: [{\r\n isVisibleExpression: \"item.IdBerufQualifikation\",\r\n icon: {\r\n textExpression: \"item.BerufQualifikation.TagText ? item.BerufQualifikation.TagText : null\",\r\n faIconExpression: \"item.BerufQualifikation.TagSymbol ? item.BerufQualifikation.TagSymbol : null\"\r\n }\r\n },\r\n {\r\n isVisibleExpression: \"item.IdAusbildungAbschluss\",\r\n icon: {\r\n faIconExpression: \"item.AusbildungAbschluss.TagSymbol ? item.AusbildungAbschluss.TagSymbol : null\"\r\n }\r\n }]\r\n };\r\n\r\n personFuehrerscheinTagOptions: IZitTagOptions = {\r\n isClickEnabled: true,\r\n hasDefaultInfo: true,\r\n textExpression: `item.Fuehrerscheinklasse.Bezeichnung \r\n ? item.Fuehrerscheinklasse.Bezeichnung \r\n : ' ' | zitRestrictLength:50`,\r\n icon: {\r\n textExpression: `item.Fuehrerscheinklasse.Tagtext \r\n ? item.Fuehrerscheinklasse.Tagtext : 'F'`,\r\n faIconExpression: \"item.Fuehrerscheinklasse.TagSymbol ? item.Fuehrerscheinklasse.TagSymbol : null\"\r\n }\r\n };\r\n\r\n personBerufserfahrungTagOptions: IZitTagOptions = {\r\n isClickEnabled: true,\r\n hasDefaultInfo: true,\r\n textExpression: `item.Bis \r\n ? item.Unternehmen + \": \" + globalization.format(item.Von, \"d\") + \" - \" + globalization.format(item.Bis, \"d\") \r\n : item.Unternehmen + \": \" + \"seit \" + globalization.format(item.Von, \"d\")`,\r\n icon: {\r\n text: \"E\"\r\n }\r\n };\r\n\r\n personAbschliessenCommand: ICommandData = {\r\n id: \"personAbschliessenCommand\",\r\n icon: \"fas fa-check\",\r\n sortIndex: 1600,\r\n execute: () => {\r\n this.onPersonAbschliessen();\r\n }\r\n };\r\n\r\n svNummerValidationRule = {\r\n type: \"custom\",\r\n reevaluate: true,\r\n isValid: true,\r\n message: \"\",\r\n validationCallback: (e) => {\r\n let model = this.form.models.data.$m_Person;\r\n \r\n const svNr = model.Personendaten.SVNr;\r\n const ahvNrSchweiz = model.Personendaten.AHVNrSchweiz;\r\n const ahbNrLiechtenschein = model.Personendaten.AHVNrLiechtenstein;\r\n\r\n if ((svNr && svNr.length > 0) || (ahvNrSchweiz && ahvNrSchweiz.length > 0) || (ahbNrLiechtenschein && ahbNrLiechtenschein.length > 0)) {\r\n return true;\r\n }\r\n\r\n this.svNummerValidationRule.message = \" Es muss mindestens eine SV- oder AHV Nummer ausgefüllt sein.\";\r\n return false;\r\n }\r\n };\r\n\r\n bind(form: FormBase) {\r\n this.form = form;\r\n form.models.onSaved.register((args) => {\r\n if (args && args.model && args.model.id === \"$m_Person\") {\r\n const popup = this.form[\"r_personAbgeschlossenPopup\"];\r\n if (!popup || !popup.instance) {\r\n return;\r\n }\r\n popup.instance.show()\r\n }\r\n return Promise.resolve();\r\n });\r\n }\r\n\r\n private showDetailCtxMenu(event: Event) {\r\n const ctxMenu = new ContextMenu();\r\n\r\n this.loadCtxMenuItems(ctxMenu);\r\n\r\n ctxMenu.show(event.target);\r\n }\r\n private loadCtxMenuItems(ctxMenu: ContextMenu) {\r\n if (!ctxMenu) {\r\n return;\r\n }\r\n ctxMenu.items = [{\r\n text: this.localization.translateOnce(\"person.details-toolbar-adressen\"),\r\n execute: () => {\r\n this.showListEditPopup(\"$m_PersonAdresseEdit\", \"personAdresseEditPopup\", \"r_personAdresseListView\");\r\n }\r\n }, {\r\n text: this.localization.translateOnce(\"person.details-toolbar-ausbildungen\"),\r\n execute: () => {\r\n this.showListEditPopup(\"$m_PersonAusbildungEdit\", \"personAusbildungEditPopup\", \"r_personAusbildungListView\");\r\n }\r\n }, {\r\n text: this.localization.translateOnce(\"person.details-toolbar-bankverbindungen\"),\r\n execute: () => {\r\n this.showListEditPopup(\"$m_PersonBankverbindungEdit\", \"personBankverbindungEditPopup\", \"r_personBankverbindungListView\");\r\n }\r\n }, {\r\n text: this.localization.translateOnce(\"person.details-toolbar-berufserfahrung\"),\r\n execute: () => {\r\n this.showListEditPopup(\"$m_PersonBerufserfahrungEdit\", \"personBerufserfahrungEditPopup\", \"r_personBerufserfahrungListView\");\r\n }\r\n }];\r\n\r\n if (this.showBisherigeEinsaetze()) {\r\n ctxMenu.items.push({\r\n text: this.localization.translateOnce(\"person.details-toolbar-bisherige-einsaetze\"),\r\n execute: () => {\r\n this.showListEditPopup(\"$m_PersonGeschaeftspartnerEinsatzEdit\", \"personGeschaeftspartnerEinsatzEditPopup\", \"r_personGeschaeftspartnerEinsatzListView\");\r\n }\r\n });\r\n }\r\n\r\n ctxMenu.items.push({\r\n text: this.localization.translateOnce(\"person.details-toolbar-berufe\"),\r\n execute: () => {\r\n this.showListEditPopup(\"$m_PersonBerufEdit\", \"personBerufEditPopup\", \"r_personBerufListView\");\r\n }\r\n }, {\r\n text: this.localization.translateOnce(\"person.details-toolbar-dokumente\"),\r\n execute: () => {\r\n this.customEditPopup.dokumentEdit.show(\r\n {\r\n mappings: { \"$id\": 0 , \"$v_objektTypeFullname\": \"TIP.ZIT.Business.Entities.Objekte.Personen.Person\"},\r\n setValuesOnModelWithKeyIdLoaded: { IdObjekt: this.form.models.data.$m_Person.Id },\r\n closeCallback: () => {\r\n const listView: DokumentListView = this.form[\"r_dokumentElement\"];\r\n\r\n listView.dokumentListView.refresh();\r\n }\r\n });\r\n }\r\n }, {\r\n text: this.localization.translateOnce(\"person.details-toolbar-fuehrerscheine\"),\r\n execute: () => {\r\n this.showListEditPopup(\"$m_PersonFuehrerscheinEdit\", \"personFuehrerscheinEditPopup\", \"r_personFuehrerscheinListView\");\r\n }\r\n }, {\r\n text: this.localization.translateOnce(\"person.details-toolbar-sprachkenntnisse\"),\r\n execute: () => {\r\n this.showListEditPopup(\"$m_PersonSpracheEdit\", \"personSpracheEditPopup\", \"r_personSpracheListView\");\r\n }\r\n }, {\r\n text: this.localization.translateOnce(\"person.details-toolbar-skills\"),\r\n execute: () => {\r\n this.showListEditPopup(\"$m_PersonSkillEdit\", \"personSkillEditPopup\", \"r_personSkillListView\");\r\n }\r\n });\r\n\r\n if (this.form.models.data.$m_Person.SonstigeKontaktdatenVisible) {\r\n ctxMenu.items.push(\r\n {\r\n text: this.localization.translateOnce(\"person.details-toolbar-kontaktdaten\"),\r\n execute: () => {\r\n this.showListEditPopup(\"$m_PersonKontaktEdit\", \"personKontaktEditPopup\", \"r_personKontaktdatenListView\");\r\n }\r\n }\r\n );\r\n }\r\n }\r\n private showListEditPopup(editDataContext: string, idEditPopup: string, idListView: string) {\r\n const options = this.getListViewBaseOption(editDataContext, idEditPopup, this.form[idListView]);\r\n\r\n const addCommand = this.defaultCommand.getListAddCommand(this.form, options);\r\n const event = new MouseEvent(\"click\");\r\n addCommand.execute({ event: event });\r\n }\r\n private getListViewBaseOption(editDataContext: string, idEditPopup: string, options: IListOptionsBase): IListOptionsBase {\r\n options.editDataContext = editDataContext;\r\n options.idEditPopup = idEditPopup\r\n options.listEdits = options.listEdits || [];\r\n return options;\r\n }\r\n private showPersonAusbildungNeuPopup() {\r\n this.customEditPopup.personAusbildungNeu.show({\r\n mappings: {\r\n \"$id\": 0\r\n },\r\n setValuesOnModelWithKeyIdLoaded: {\r\n _ManuelleAusbildung: true\r\n },\r\n closeCallback: (form) => {\r\n this.form.models.data.$m_Ausbildung.IdAusbildung = form.models.data.$m_AusbildungNeu.Id;\r\n this.form.models.data.$m_Ausbildung.IdAusbildungAbschluss = form.models.data.$m_AusbildungNeu.IdAusbildungAbschluss;\r\n form.models.data.$m_AusbildungNeu.IdAusbildungAbschluss = null;\r\n (form).functions.$f_PersonAusbildungErweitert.idAusbildungAbschluss = null;\r\n }\r\n });\r\n }\r\n private async onEinstellungenSpeichernClicked() {\r\n const validationGroup: IdxValidationGroupComponent = this.form[\"r_personWeitereEinstellungenValidationGroup\"];\r\n const result = validationGroup.instance.validate();\r\n if (this.form.models.data.$m_Person.Id == null)\r\n return;\r\n\r\n if (!result.isValid)\r\n return;\r\n\r\n this.form[\"personWeitereEinstellungenPopup\"].instance.hide();\r\n }\r\n private onPersonAbschliessen() {\r\n const personAbgeschlossenPopup: IdxPopupComponent = this.form[\"r_personAbgeschlossenPopup\"];\r\n personAbgeschlossenPopup.instance.hide();\r\n this.goToLatestBewerbung();\r\n }\r\n private goToLatestBewerbung() {\r\n return this.rest.get({\r\n url: this.rest.getWebApiUrl(\"ZIT/Objekte/Bewerbung/\"),\r\n getOptions: {\r\n where: [\"Kopf.IdPerson\", this.form.models.data.$m_Person.Id],\r\n columns: [\"Id\"],\r\n orderBy: [{ \"columnName\": \"Id\", \"sortOrder\": 1 }]\r\n }\r\n }).then((r) => {\r\n if (!r || !r.length) {\r\n return;\r\n }\r\n this.location.goTo({\r\n url: `${\"Objekte/Bewerbung\"}/${r[0].Id}?mode=1`,\r\n replace: true\r\n });\r\n });\r\n }\r\n @computedFrom(\"form.models.data.$m_Person.Personendaten.Geschlecht\",\r\n \"form.models.data.$m_Person.Personendaten.TitelVorne\",\r\n \"form.models.data.$m_Person.Personendaten.Vorname\",\r\n \"form.models.data.$m_Person.Personendaten.Nachname\",\r\n \"form.models.data.$m_Person.Personendaten.TitelHinten\")\r\n get personPersonalienHeader(): string {\r\n const model = this.form.models.data.$m_Person;\r\n if (!model) {\r\n return null;\r\n }\r\n\r\n let anrede = \"\";\r\n const vorname = model.Personendaten.Vorname ? model.Personendaten.Vorname : \"\";\r\n const nachname = model.Personendaten.Nachname ? model.Personendaten.Nachname : \"\";\r\n const titelVorne = model.Personendaten.TitelVorne ? model.Personendaten.TitelVorne : \"\";\r\n const titelHinten = model.Personendaten.TitelHinten ? model.Personendaten.TitelHinten : \"\";\r\n\r\n switch (model.Personendaten.Geschlecht) {\r\n case Geschlecht.Maennlich: {\r\n anrede = \"Herr\";\r\n break;\r\n }\r\n case Geschlecht.Weiblich: {\r\n anrede = \"Frau\";\r\n break;\r\n }\r\n }\r\n return `${anrede} ${titelVorne} ${vorname} ${nachname} ${titelHinten}`\r\n }\r\n\r\n showBisherigeEinsaetze(): boolean {\r\n return this.startupService.startupInfo.Mandant.IdMandant === 2;\r\n }\r\n}\r\n","import { Share } from './../../../elements/share/share';\r\nimport { ICommandData } from './../../../../framework/forms/interfaces/command-data';\r\nimport { IZitTagOptions } from './../../../../zit-ui/elements/zit-tag/zit-tag-options';\r\nimport { autoinject, transient } from 'aurelia-framework';\r\nimport { FormBase } from './../../../../framework/forms/classes/form-base';\r\nimport { ISubheadlineOptions } from '../../../elements/sub-headline/sub-headline-options';\r\n\r\n@autoinject\r\n@transient()\r\nexport class GeschaeftspartnerReadUtils {\r\n constructor() { }\r\n\r\n form: FormBase\r\n\r\n packageTagOptions: IZitTagOptions = {\r\n icon: {\r\n text: \"P\"\r\n },\r\n textExpression: `item.Bezeichnung + \", gültig bis: \" + globalization.format(item.GueltigBis, \"d\")`\r\n };\r\n adresseTagOptions: IZitTagOptions = {\r\n icon: {\r\n text: \"A\"\r\n },\r\n textExpression: `item | zitAddress:\"short:street\"`\r\n };\r\n actionCommand: ICommandData = {\r\n id: \"actionCommand\",\r\n icon: \"fas fa-share-alt\",\r\n tooltip: \"zit.aktionen\",\r\n isVisibleExpression: \"r_share.canShare\",\r\n sortIndex: 99,\r\n execute: (executeOptions) => {\r\n const share: Share = this.form[\"r_share\"];\r\n share.showCtxMenu(executeOptions.event);\r\n }\r\n }\r\n\r\n subHeadlineOptions: ISubheadlineOptions = {\r\n getTitel: () => Promise.resolve(this.form.models.data.$m_Geschaeftspartner.CustomSubHeadline)\r\n }\r\n\r\n bind(form: FormBase) {\r\n this.form = form;\r\n }\r\n}\r\n","export enum ErklaerungsvideoAnzeigeEnum {\r\n NurAufMobilgeraeten = 0,\r\n NurAufDesktopGeraeten = 1\r\n}\r\n","import {\r\n autoinject,\r\n Scope\r\n} from \"aurelia-framework\";\r\nimport {\r\n FormBase\r\n} from \"../classes/form-base\";\r\nimport {\r\n BindingService,\r\n LocalizationService\r\n} from \"../../base/services/export\";\r\nimport {\r\n ScopeContainer\r\n} from \"../../base/classes/export\";\r\nimport {\r\n CommandService\r\n} from \"../services/command-service\";\r\nimport {\r\n DxTemplateService\r\n} from \"../../dx/services/dx-template-service\";\r\nimport * as Toolbar from \"../elements/toolbar/export\";\r\nimport * as Interfaces from \"../interfaces/export\";\r\nimport * as toolbarButtonTemplate from \"html-loader!../templates/toolbar-button-template.xhtml\";\r\n\r\n@autoinject\r\nexport class ToolbarService {\r\n private titleItemTemplate = \"TITEL_ITEM_TEMPLATE\";\r\n private _pages = {};\r\n private _categories = {};\r\n\r\n constructor(\r\n private command: CommandService,\r\n private localization: LocalizationService,\r\n private binding: BindingService,\r\n private dxTemplate: DxTemplateService\r\n ) {\r\n this.addPage(\"$start\", \"toolbar.page_start\", 0);\r\n this.addCategory(\"$datensatz\", \"$start\", \"toolbar.category_datensatz\", 10);\r\n this.addCategory(\"$export\", \"$start\", \"toolbar.category_export\", 20);\r\n this.addCategory(\"$nav\", \"$start\", \"toolbar.nav\", 0);\r\n this.addPage(\"$after\", \"\", 9999);\r\n this.addCategory(\"$close\", \"$after\", \"toolbar.close\", 9999);\r\n }\r\n\r\n toolbarModuleId: string = \"framework/forms/elements/ribbon-toolbar/ribbon-toolbar\";\r\n\r\n addPage(id: string, title: string, sortIndex: number) {\r\n this._pages[id] = {\r\n id,\r\n title,\r\n sortIndex\r\n };\r\n }\r\n addCategory(id: string, idPage: string, title: string, sortIndex: number) {\r\n this._categories[id] = {\r\n id,\r\n idPage,\r\n title,\r\n sortIndex\r\n }\r\n }\r\n createPageCategoryItemStructure(items: Toolbar.IItem[]): Toolbar.IPage[] {\r\n if (!items || items.length === 0) {\r\n return [];\r\n }\r\n\r\n const categories = {};\r\n\r\n for (let item of items) {\r\n let idCategory = item.idCategory || \"$datensatz\"\r\n let category: Toolbar.ICategory = categories[idCategory];\r\n\r\n if (!category) {\r\n const c = this._categories[idCategory];\r\n\r\n if (!c) {\r\n throw new Error(`No category ${idCategory}`);\r\n }\r\n\r\n category = {\r\n id: c.id,\r\n idPage: c.idPage,\r\n title: this.localization.translateOnce(c.title),\r\n sortIndex: c.sortIndex,\r\n location: c.location,\r\n items: []\r\n };\r\n categories[idCategory] = category;\r\n }\r\n\r\n category.items.push(item);\r\n }\r\n\r\n const result: Toolbar.IPage[] = [];\r\n const pages = {};\r\n for (let key in categories) {\r\n const category = categories[key];\r\n\r\n let page: Toolbar.IPage = pages[category.idPage];\r\n\r\n if (!page) {\r\n const p = this._pages[category.idPage];\r\n\r\n if (!p) {\r\n throw new Error(`No page ${category.idPage}`);\r\n }\r\n\r\n page = {\r\n id: p.id,\r\n title: this.localization.translateOnce(p.title),\r\n sortIndex: p.sortIndex,\r\n categories: []\r\n }\r\n pages[category.idPage] = page;\r\n result.push(page);\r\n }\r\n\r\n page.categories.push(category);\r\n }\r\n\r\n result.sort((a, b) => {\r\n return (a.sortIndex || 0) - (b.sortIndex || 0);\r\n })\r\n\r\n for (let page of result) {\r\n page.categories.sort((a, b) => {\r\n return (a.sortIndex || 0) - (b.sortIndex || 0);\r\n })\r\n\r\n for (let category of page.categories) {\r\n category.items.sort((a, b) => {\r\n return (a.sortIndex || 0) - (b.sortIndex || 0);\r\n })\r\n }\r\n }\r\n\r\n return result;\r\n }\r\n\r\n createFormToolbarOptions(form: FormBase): Toolbar.IToolbarOptions {\r\n const options = this.createToolbarOptions(\r\n form.scopeContainer,\r\n form.title,\r\n form.commands.getCommands());\r\n\r\n this.binding.observe({\r\n scopeContainer: form.scopeContainer,\r\n expression: \"title\", \r\n callback: (newValue) => {\r\n options.title = newValue;\r\n }\r\n });\r\n\r\n return options;\r\n }\r\n createToolbarOptions(scopeContainer: ScopeContainer, title: string, commands: Interfaces.ICommandData[], smallToolbar: boolean = false, icon: string = null): Toolbar.IToolbarOptions {\r\n const options: Toolbar.IToolbarOptions = {\r\n title: title,\r\n icon: icon,\r\n smallToolbar: smallToolbar,\r\n items: [],\r\n scopeContainer: scopeContainer\r\n };\r\n\r\n options.items = this.createToolbarItems(scopeContainer, commands);\r\n return options;\r\n }\r\n createToolbarItems(scopeContainer: ScopeContainer, commands: Interfaces.ICommandData[]): Toolbar.IItem[] {\r\n const items = commands\r\n .map(i => this.createToolbarItem(scopeContainer, i));\r\n\r\n return items;\r\n }\r\n createToolbarItem(scopeContainer: ScopeContainer, command: Interfaces.ICommandData): Toolbar.IItem {\r\n command.expressionScope = scopeContainer.scope;\r\n\r\n return command;\r\n }\r\n}\r\n","export * from \"./classes/export\";\r\nexport * from \"./enums/export\";\r\nexport * from \"./event-args/export\";\r\nexport * from \"./interfaces/export\";\r\nexport * from \"./services/export\";\r\nexport * from \"./widget-options/export\";\r\nexport * from \"./widget-services/export\";\r\nexport * from \"./elements/export\";","export * from \"./address-value-converter\";\r\nexport * from \"./ansprechperson-value-converter\";\r\nexport * from \"./bankverbindung-value-converter\";\r\nexport * from \"./enumeration-value-converter\";\r\nexport * from \"./moment-value-converter\";\r\nexport * from \"./pattern-value-converter\";\r\nexport * from \"./person-name-value-converter\";\r\nexport * from \"./restrict-length-value-converter\";\r\nexport * from \"./sort-value-converter\";","module.exports = \"
\";","export * from \"./layout-service\";\r\nexport * from \"./loading-service\";\r\nexport * from \"./zit-tag-service\";\r\nexport * from \"./widget-extender-service\";\r\n","import { autoinject } from 'aurelia-framework';\r\nimport { RestService } from '../../framework/base/export';\r\n@autoinject\r\nexport class StaatService {\r\n constructor(\r\n private rest: RestService\r\n ){}\r\n\r\n loadStaaten(getOptions?: any){\r\n return this.rest.get({\r\n url: this.rest.getWebApiUrl(\"ZIT/Stammdaten/Staat\"),\r\n getOptions: getOptions\r\n });\r\n }\r\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';\r\nimport { EventAggregator } from 'aurelia-event-aggregator';\r\nimport {\r\n autoinject,\r\n observable\r\n} from \"aurelia-framework\";\r\nimport { StyleService, BrowserService } from '../../framework/base/export';\r\nimport { IStartupInfo } from '../../zit/interfaces/export';\r\n\r\n@autoinject\r\nexport class LayoutService {\r\n private _resizeContainerTimeout: any;\r\n\r\n constructor(\r\n private eventAggregator: EventAggregator,\r\n private file: FileService,\r\n private style: StyleService,\r\n private browserService: BrowserService\r\n ) { \r\n if (browserService.isIOS) {\r\n this.eventAggregator.subscribe(\"window:resize\", () => {\r\n this.resizeContainer();\r\n });\r\n }\r\n }\r\n\r\n @observable isSidebarCollapsed = true;\r\n themeColor = \"#396394\";\r\n logoUrl: string;\r\n hintergrundUrl: string;\r\n\r\n activateTheme() {\r\n this.registerStartupInfoLoaded();\r\n\r\n this.style.addStyles(\"custom-container\", [{\r\n name: \".t--sidebar .t--sidebar-item:hover\",\r\n properties: [{\r\n propertyName: \"background-color\",\r\n value: this.themeColor\r\n }]\r\n }]);\r\n }\r\n isSidebarCollapsedChanged() {\r\n setTimeout(() => {\r\n this.eventAggregator.publish(\"window:resize\", {});\r\n }, 400);\r\n }\r\n resizeContainer() {\r\n if (!this.browserService.isIOS) {\r\n return;\r\n }\r\n\r\n if (this._resizeContainerTimeout) {\r\n clearTimeout(this._resizeContainerTimeout);\r\n this._resizeContainerTimeout = null;\r\n }\r\n\r\n this._resizeContainerTimeout = setTimeout(() => {\r\n const container: any = document.querySelector(\"container\");\r\n if (!container) {\r\n return;\r\n }\r\n\r\n container.style.minHeight = window.innerHeight + \"px\";\r\n window.scrollTo(0, 0);\r\n }, 100);\r\n }\r\n \r\n private registerStartupInfoLoaded() {\r\n this.eventAggregator.subscribe(\"startup-info:loaded\", (r) => {\r\n const startupInfo: IStartupInfo = r.startupInfo;\r\n\r\n this.themeColor = startupInfo.Skin.Farbe || this.themeColor;\r\n this.logoUrl = this.file.getInlineUrl(startupInfo.Skin.DMSLinkLogoKlein);\r\n this.hintergrundUrl = this.file.getInlineUrl(startupInfo.Skin.DMSLinkHintergrundbild);\r\n\r\n this.style.addStyles(\"zit--layout-theme-color\", [\r\n {\r\n name: \".z--nav-bar-item:hover .z--nav-bar-item-border-bottom, .z--nav-bar-item-selected .z--nav-bar-item-border-bottom\",\r\n properties: [{\r\n propertyName: \"background-color\",\r\n value: this.themeColor\r\n }]\r\n }, {\r\n name: \".z--button:not(.z--disabled):not(.z--button-active):hover\",\r\n properties: [{\r\n propertyName: \"border-color\",\r\n value: this.themeColor\r\n }, {\r\n propertyName: \"color\",\r\n value: this.themeColor\r\n }]\r\n }, {\r\n name: \"body h3, body .z--toolbar .z--toolbar-title, body .z--toolbar .z--toolbar-icon, .z--subheadline-titel, .z--theme-color\",\r\n properties: [{\r\n propertyName: \"color\",\r\n value: this.themeColor\r\n }]\r\n }, {\r\n name: \"body .z--timeline:before\",\r\n properties: [{\r\n propertyName: \"background-color\",\r\n value: this.themeColor\r\n }]\r\n }, {\r\n name: \"body .z--timeline li .z--timeline-item-icon\",\r\n properties: [{\r\n propertyName: \"border-color\",\r\n value: this.themeColor\r\n }]\r\n }, {\r\n name: \"body .z--timeline li .z--timeline-item-icon i\",\r\n properties: [{\r\n propertyName: \"color\",\r\n value: this.themeColor\r\n }]\r\n },\r\n {\r\n name: \"body .z--item-border-light > div\",\r\n properties: [\r\n {\r\n propertyName: \"border\",\r\n value: \"1px solid\" + this.themeColor\r\n }]\r\n },\r\n {\r\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\",\r\n properties: [\r\n {\r\n propertyName: \"background-color\",\r\n value: this.themeColor\r\n }]\r\n },\r\n {\r\n name: \"body .dx-slider-range.dx-slider-range-visible\",\r\n properties: [\r\n {\r\n propertyName: \"background-color\",\r\n value: this.themeColor\r\n }, \r\n {\r\n propertyName: \"border-color\",\r\n value: this.themeColor\r\n }]\r\n },\r\n {\r\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)\",\r\n properties: [\r\n {\r\n propertyName: \"background-color\",\r\n value: this.themeColor\r\n }]\r\n }\r\n ]);\r\n\r\n this.style.addStyles(\"zit-button-active\", [\r\n {\r\n name: \".z--button-active\",\r\n properties: [{\r\n propertyName: \"background-color\",\r\n value: this.themeColor\r\n }, {\r\n propertyName: \"border-color\",\r\n value: this.themeColor\r\n }],\r\n }, {\r\n name: \".z--button-active:hover\",\r\n properties: [{\r\n propertyName: \"border-color\",\r\n value: this.themeColor\r\n }]\r\n }\r\n ]);\r\n\r\n this.style.addStyles(\"zit-tag\", [\r\n {\r\n name: \".z--tag .z--tag-icon.z--clickable:hover, .z--clickable.z--tag-icon-delete:hover\",\r\n properties: [{\r\n propertyName: \"background-color\",\r\n value: this.themeColor + \"!important\" //zitTag InfoList auch onHover einfarben\r\n }]\r\n }\r\n ])\r\n });\r\n }\r\n}\r\n","import { autoinject } from \"aurelia-framework\";\r\nimport { RestService } from \"../../framework/base/export\";\r\nimport { AufgabeZuweisen } from \"../elements/aufgabe-zuweisen/aufgabe-zuweisen\";\r\nimport { ScopeContainer } from \"./../../framework/base/classes/scope-container\";\r\nimport { DataSourceService } from \"./../../framework/base/services/data-source-service\";\r\n\r\n@autoinject\r\nexport class AufgabeService {\r\n constructor(\r\n private _restService: RestService\r\n ) { }\r\n\r\n aufgabeZuweisen: AufgabeZuweisen;\r\n\r\n nav(options: INav): Promise {\r\n return this._restService.post({\r\n url: this._restService.getApiUrl(\"ZIT/Aufgabe/Nav\"),\r\n data: options,\r\n increaseLoadingCount: true\r\n });\r\n }\r\n\r\n showZuweisen(options: IAufgabeZuweisenOptions) {\r\n this.aufgabeZuweisen.show(options);\r\n }\r\n\r\n zuweisenEval(options: IZuweisenEval): Promise {\r\n return this._restService.post({\r\n url: this._restService.getApiUrl(\"ZIT/Aufgabe/ZuweisenEval\"),\r\n data: options,\r\n increaseLoadingCount: true\r\n });\r\n }\r\n checkZuweisen(options: ICheckZuweisen): Promise {\r\n return this._restService.post({\r\n url: this._restService.getApiUrl(\"ZIT/Aufgabe/CheckZuweisen\"),\r\n data: options,\r\n increaseLoadingCount: true\r\n });\r\n }\r\n zuweisen(options: IZuweisen): Promise {\r\n return this._restService.post({\r\n url: this._restService.getApiUrl(\"ZIT/Aufgabe/Zuweisen\"),\r\n data: options,\r\n increaseLoadingCount: true\r\n });\r\n }\r\n}\r\n\r\nexport interface IAufgabeZuweisenOptions {\r\n idObjektList: number[];\r\n}\r\n\r\nexport interface IZuweisenEval {\r\n IdObjektList: number[];\r\n}\r\nexport interface IZuweisenEvalResult {\r\n ObjektList: IZuweisenEvalObjektResult[];\r\n AufgabeList: [{ Code: string, Bezeichnung: string, IdAufgabengruppe: number }];\r\n AufgabeGruppeList: [{ Id: number, Bezeichnung: string }];\r\n}\r\nexport interface ICheckZuweisen {\r\n AufgabeCodeList: string[];\r\n ObjektList: IZuweisenEvalObjektResult[];\r\n}\r\nexport interface IZuweisen {\r\n AufgabeList: IZuweisenAufgabeModel[];\r\n ObjektList: IZuweisenEvalObjektResult[];\r\n}\r\nexport interface IZuweisenAufgabeModel {\r\n AufgabeCode: string;\r\n Start: Date;\r\n}\r\nexport interface IZuweisenEvalObjektResult {\r\n IdUrsprungsobjekt: number;\r\n IdObjekt: number;\r\n Typ: string;\r\n Bezeichnung: string;\r\n}\r\nexport interface INav {\r\n IdAufgabe: number;\r\n NavTyp: NavTyp;\r\n}\r\nexport enum NavTyp {\r\n Vorherige = 0,\r\n Naechste = 1,\r\n Alle = 2\r\n}\r\nexport class NavResult {\r\n AufgabeList: NavAufgabe[];\r\n}\r\nexport class NavAufgabe {\r\n Id: number;\r\n Bezeichnung: string;\r\n}\r\n","import { autoinject, transient } from \"aurelia-framework\";\r\nimport { AuthorizationService, LocalizationService, RestService } from \"../../../../../framework/base/export\";\r\nimport { LocationService } from \"../../../../../framework/base/services/location-service\";\r\nimport { FormBase } from \"../../../../../framework/forms/export\";\r\nimport { BrowserService } from \"./../../../../../framework/base/services/browser-service\";\r\nimport { ICommandData } from \"./../../../../../framework/forms/interfaces/command-data\";\r\nimport { DomaeneService } from \"./../../../../services/domaene-service\";\r\n\r\n@autoinject\r\n@transient()\r\nexport class PasswordResetFuncs {\r\n private form: FormBase;\r\n private NOTIFY_TIMEOUT: number = 3000;\r\n\r\n constructor(\r\n public browserService: BrowserService,\r\n private _authorizationService: AuthorizationService,\r\n private _localizationService: LocalizationService,\r\n private _restService: RestService,\r\n private _locationService: LocationService,\r\n private _domaeneService: DomaeneService) {\r\n const time = new Date()\r\n .getTime()\r\n .toString();\r\n const randomNumberString = Math.floor((Math.random() * 100))\r\n .toString();\r\n const randomKey = time + randomNumberString;\r\n this.logoSrc = this._restService.getApiUrl(`ZIT/Domaene/Logo?key=${randomKey}`);\r\n }\r\n\r\n urlImpressum: string;\r\n farbeDomaene: string;\r\n bezeichnungLoginMobil: string;\r\n logoSrc: string;\r\n isMobile: boolean;\r\n\r\n resetPasswordCommand: ICommandData = {\r\n id: \"$resetPassword\",\r\n title: \"password-reset-funcs.reset_caption\",\r\n execute: async () => {\r\n if (!this.form.models.data.$m_Password.Username) {\r\n DevExpress.ui.notify(this._localizationService.translateOnce(\"password-reset-funcs.enter_benutzer\"), \"error\", this.NOTIFY_TIMEOUT);\r\n return;\r\n }\r\n\r\n const r = await this._restService.post({\r\n url: this._restService.getApiUrl(\"ZIT/Security/PasswortVergessen\"),\r\n data: this.form.models.data.$m_Password,\r\n increaseLoadingCount: true\r\n });\r\n\r\n this.goBackToLogin();\r\n }\r\n };\r\n\r\n backToLoginCommand: ICommandData = {\r\n id: \"$backToLogin\",\r\n title: \"password-reset-funcs.back_to_login_caption\",\r\n execute: () => {\r\n this.goBackToLogin();\r\n }\r\n };\r\n\r\n openImpressumClick() {\r\n window.open(this.urlImpressum);\r\n }\r\n\r\n async bind(form: FormBase) {\r\n this.form = form;\r\n\r\n this.form.focusFirstEnabledEditor = () => {\r\n if (this.form[\"username\"].instance) {\r\n this.form[\"username\"].instance.focus();\r\n }\r\n };\r\n\r\n form.models.data.$m_Password = {\r\n };\r\n \r\n this.urlImpressum = this._domaeneService.urlImpressum;\r\n this.farbeDomaene = this._domaeneService.farbeDomaene;\r\n this._domaeneService.setDomainColorsStyle();\r\n this.bezeichnungLoginMobil = this._domaeneService.bezeichnungMobilLogin;\r\n }\r\n\r\n private goBackToLogin() {\r\n this._locationService.goTo({\r\n url: \"Login\",\r\n clearStack: true\r\n });\r\n }\r\n}\r\n","import { autoinject } from \"aurelia-framework\";\r\nimport { EventAggregator } from 'aurelia-event-aggregator';\r\nimport { FileService } from '../../framework/base/services/file-service';\r\n\r\n@autoinject\r\nexport class FormSelectItemService { \r\n constructor(\r\n private eventAggregator: EventAggregator,\r\n private file: FileService\r\n ) {\r\n this.eventAggregator.subscribe(\"form-select-item:data-loaded\", (e) => {\r\n this.onLoaded(e.selectItemId, e.data);\r\n });\r\n }\r\n\r\n private onLoaded(id: string, data: any[]) {\r\n switch (id) {\r\n case \"landvorwahl\": {\r\n this.onLandvorwahlLoaded(data);\r\n break;\r\n }\r\n default:\r\n break;\r\n }\r\n }\r\n private onLandvorwahlLoaded(data: any[]) {\r\n data.forEach(item => {\r\n item.DMSLinkIconFQ = this.file.getDownloadUrl(item.DMSLinkIcon);\r\n })\r\n }\r\n}\r\n","import {\r\n autoinject,\r\n singleton\r\n} from \"aurelia-framework\";\r\n\r\n@autoinject\r\n@singleton(true)\r\nexport class CommandServerData {\r\n constructor() {}\r\n\r\n add(id: string, data: any) {\r\n this[id] = data;\r\n }\r\n\r\n dispose() {\r\n }\r\n}\r\n","import { autoinject } from \"aurelia-framework\";\r\nimport { DataSourceService } from \"../../framework/base/services/data-source-service\";\r\nimport { ScopeContainer } from \"../../framework/base/classes/scope-container\";\r\n\r\n@autoinject\r\nexport class EventZeitraumService {\r\n constructor(\r\n private _dataSourceService: DataSourceService) { }\r\n\r\n createEventZeitraumDataSource(scopeContainer: ScopeContainer, getCustomWhere: { () }, getCustomFilter: {()}, orderBy?: any[]) {\r\n const data = this._dataSourceService.createDataSource(\r\n scopeContainer,\r\n {\r\n webApiAction: \"ZIT/Objekte/EventZeitraum\",\r\n webApiOrderBy: orderBy,\r\n webApiExpand: {\r\n Kopf: null\r\n }\r\n }, {\r\n getCustomWhere: getCustomWhere,\r\n getCustomFilters: getCustomFilter\r\n });\r\n return data;\r\n }\r\n}\r\n","import { autoinject } from \"aurelia-framework\";\r\nimport { RestService } from \"./../../framework/base/services/export\";\r\nimport { IBenutzerrolleCodeData } from \"../interfaces/export\";\r\n\r\n@autoinject\r\nexport class CodesService {\r\n constructor(\r\n private rest: RestService\r\n ) { }\r\n\r\n\r\n getObjektCodes(id: number): Promise {\r\n return this.rest.get({\r\n url: `${this.rest.getApiUrl(\"ZIT/Objekt/Codes\")}?idObjekt=${id}`\r\n });\r\n }\r\n getBenutzerCodes(id: number): Promise {\r\n return this.rest.get({\r\n url: `${this.rest.getApiUrl(\"ZIT/Berechtigung/Codes\")}?idBenutzer=${id}`\r\n });\r\n }\r\n saveObjektCodes(id: number, data: IBenutzerrolleCodeData[]) {\r\n return this.rest.post({\r\n url: `${this.rest.getApiUrl(\"ZIT/Objekt/SaveBenutzerrolleCode\")}?idObjekt=${id}`,\r\n data: data\r\n });\r\n }\r\n saveBenutzerCodes(id: number, data: IBenutzerrolleCodeData[]) {\r\n return this.rest.post({\r\n url: `${this.rest.getApiUrl(\"ZIT/Berechtigung/SaveBenutzerrolleCode\")}?idBenutzer=${id}`,\r\n data: data\r\n });\r\n }\r\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 {\r\n autoinject,\r\n} from \"aurelia-framework\";\r\nimport {\r\n CustomEvent\r\n} from \"../classes/export\";\r\nimport * as mousetrap from \"mousetrap\";\r\nimport \"mousetrap/plugins/global-bind/mousetrap-global-bind\";\r\nimport { EventAggregator } from \"aurelia-event-aggregator\";\r\nimport { WindowService } from './window-service';\r\n\r\n@autoinject\r\nexport class ShortcutService {\r\n constructor(\r\n private eventAggregator: EventAggregator,\r\n private windowService: WindowService\r\n ) { }\r\n\r\n bindShortcut(sequence: string, idCommand: string | {(): void}, bindGlobal: boolean = true) {\r\n if (bindGlobal) {\r\n mousetrap.bindGlobal(sequence, e => this.fire(idCommand));\r\n } else {\r\n mousetrap.bind(sequence, e => this.fire(idCommand));\r\n }\r\n }\r\n\r\n private fire(idCommand: string | {(): void}): boolean {\r\n this.windowService.blurCurrentElement();\r\n\r\n if (typeof idCommand === \"function\") {\r\n idCommand();\r\n } else {\r\n this.eventAggregator.publish(\"shortcut:execute\", {\r\n idCommand: idCommand\r\n });\r\n }\r\n\r\n return false;\r\n }\r\n}\r\n","import {\r\n autoinject\r\n} from \"aurelia-framework\";\r\nimport {\r\n IStyleClass,\r\n IStyleProperty\r\n} from \"../interfaces/export\";\r\n\r\n@autoinject\r\nexport class StyleService {\r\n constructor() { }\r\n\r\n addStyles(key: string, styleClasses: IStyleClass[]) {\r\n this.removeStyleTag(key);\r\n\r\n const styleTag = document.createElement('style');\r\n styleTag.type = \"text/css\";\r\n styleTag.id = key;\r\n\r\n styleTag.appendChild(\r\n document.createTextNode(this.getCssClasses(styleClasses))\r\n );\r\n\r\n document.head.appendChild(styleTag);\r\n }\r\n removeStyleTag(key: string) {\r\n const styleTag = document.getElementById(key);\r\n\r\n if (styleTag){\r\n styleTag.parentElement.removeChild(styleTag);\r\n }\r\n }\r\n\r\n private getCssClasses(styleClasses: IStyleClass[]): string {\r\n return styleClasses\r\n .map(c => `\\n${c.name} {\\n ${this.getCssClass(c.properties)} }\\n`)\r\n .join(\"\");\r\n }\r\n private getCssClass(properties: IStyleProperty[]): string {\r\n return properties\r\n .map(c => `${c.propertyName}: ${c.value};\\n`)\r\n .join(\"\")\r\n }\r\n}","export * from \"./zit-card-options\";","export enum Terminverteilungstyp {\r\n Empfaenger = 0,\r\n Veroeffentlichen = 1\r\n}\r\n","export * from \"./zit-markers-options\";","import { StartupService } from './../../../services/startup-service';\r\nimport { IEditorValueChangedEventArgs } from './../../../../framework/forms/event-args/editor-value-changed';\r\nimport { autoinject, transient } from \"aurelia-framework\";\r\nimport { FormBase } from './../../../../framework/forms/classes/form-base';\r\nimport { RestService } from '../../../../framework/base/export';\r\nimport { BenutzerTyp } from '../../../enumerations/export';\r\n\r\n@autoinject\r\n@transient()\r\nexport class StelleninseratLehreKundePackageEditUtils {\r\n constructor(private restService: RestService, private startupService: StartupService) {\r\n }\r\n\r\n form: FormBase;\r\n\r\n showAdminEinstellungen = this.startupService.startupInfo.Benutzer.Benutzertyp === BenutzerTyp.Administrator;\r\n\r\n bind(form: FormBase) {\r\n this.form = form;\r\n\r\n form.models.onLoaded.register((args) => {\r\n if (args.model.id === \"$m_Stelleninserat\") {\r\n if (args.data.Id || args.data.Id > 0 || !args.data.Kopf) {\r\n return;\r\n }\r\n\r\n args.data.Kopf.IsAktiv = true;\r\n\r\n if (!args.data.Kopf.IdGeschaeftspartner || args.data.Kopf.IdGeschaeftspartner <= 0) {\r\n return;\r\n }\r\n\r\n this.adresseAndGoogleMapsAdresseVorbelegen(args.data.Kopf.IdGeschaeftspartner);\r\n }\r\n\r\n return Promise.resolve();\r\n });\r\n\r\n form.onEditorValueChanged.register(async (args) => {\r\n if (args.binding.dataContext === \"$m_Stelleninserat\") {\r\n if (args.binding.bindTo == \"Kopf.IdGeschaeftspartner\") {\r\n this.geschaeftspartnerValueChanged(args);\r\n }\r\n }\r\n\r\n return Promise.resolve();\r\n });\r\n };\r\n\r\n geschaeftspartnerValueChanged(args: IEditorValueChangedEventArgs): void {\r\n if (!args.value) {\r\n return;\r\n }\r\n\r\n this.adresseAndGoogleMapsAdresseVorbelegen(args.value);\r\n }\r\n\r\n private adresseAndGoogleMapsAdresseVorbelegen(idGeschaeftspartner: number): void {\r\n if (!idGeschaeftspartner) {\r\n return;\r\n }\r\n\r\n this.restService.get({\r\n url: `${this.restService.getApiUrl(\"ZIT/Objekt/GeschaeftspartnerStandardStandortAndGoogleMapsAdresse\")}?idGeschaeftspartner=${idGeschaeftspartner}`\r\n }).then(r => {\r\n if (!r) {\r\n return;\r\n }\r\n\r\n this.form.models.data.$m_Stelleninserat.Kopf.Standort = r.Standort;\r\n this.form.models.data.$m_Stelleninserat.Kopf.GoogleKartenAdresse = r.GoogleKartenAdresse;\r\n });\r\n }\r\n}\r\n","import { autoinject, TaskQueue } from \"aurelia-framework\";\r\nimport { EventAggregator } from \"aurelia-event-aggregator\";\r\nimport { ViewItem } from \"../../framework/forms/classes/view-item\";\r\n\r\n@autoinject\r\nexport class ContainerViewWidthService {\r\n constructor(\r\n private _eventAggregator: EventAggregator,\r\n private _taskQueue: TaskQueue\r\n ) {\r\n this._eventAggregator.subscribe(\"router:view-item-created\", (e) => {\r\n this.onViewItemCreated(e.viewItem);\r\n });\r\n this._eventAggregator.subscribe(\"router:view-animation-end\", (e) => {\r\n //bissele warten, damit wir nicht irgendwelche anderen Animation behindern\r\n this._taskQueue.queueTask(() => {\r\n this._eventAggregator.publish(\"grid:check-class\", {\r\n element: e.element\r\n });\r\n });\r\n });\r\n }\r\n\r\n private onViewItemCreated(viewItem: ViewItem) {\r\n switch (viewItem.moduleId) {\r\n case \"zit/views/dashboard/dashboard-kunde-form\":\r\n case \"zit/views/dashboard/dashboard-person-form\":\r\n case \"zit/views/suche/suche-form\":\r\n case \"zit/views/objekte/disposition/dispo-list-form\":\r\n case \"zit/views/tableau/tableau-list-form\":\r\n case \"zit/views/schnuppertermin/schnuppertermin-list-form\":\r\n case \"zit/views/entwicklungszone/entwicklungszone-list-form\":\r\n case \"zit/views/entwicklungsziele/entwicklungsziele-list-form\":\r\n case \"zit/views/objekte/event/event-list-form\":\r\n case \"zit/views/erklaervideo/erklaervideo-list-form\": {\r\n viewItem.customClassName = \"z--view-can-be-full-width\";\r\n break;\r\n }\r\n default: {\r\n break;\r\n }\r\n }\r\n }\r\n}\r\n","import { autoinject } from \"aurelia-framework\";\r\n\r\n@autoinject\r\nexport class DateiService {\r\n constructor() {}\r\n\r\n isBild(dateiname: string) {\r\n dateiname = (dateiname || \"\").toLowerCase();\r\n\r\n return dateiname.endsWith(\".jpg\")\r\n || dateiname.endsWith(\".jpeg\")\r\n || dateiname.endsWith(\".gif\")\r\n || dateiname.endsWith(\".png\")\r\n }\r\n}","export {\r\n autoinject\r\n} from \"aurelia-framework\";\r\nexport {\r\n FormBase\r\n} from \"./classes/form-base\";\r\nexport {\r\n FormBaseImport\r\n} from \"./classes/form-base-import\";","import { autoinject } from 'aurelia-framework';\r\n\r\n@autoinject\r\nexport class AsyncService {\r\n constructor() {}\r\n\r\n convertToPromise(p: Promise & JQueryPromise): Promise {\r\n return new Promise((resolve, reject) => {\r\n if (!p.then) {\r\n return resolve(p);\r\n }\r\n\r\n p.then(r => {\r\n resolve(r);\r\n }).catch(e => {\r\n reject(e);\r\n });\r\n });\r\n }\r\n}\r\n","import { BenutzerTyp } from './../../../enumerations/benutzer-typ';\r\nimport { autoinject, transient, TaskQueue } from 'aurelia-framework';\r\nimport { FormBase } from './../../../../framework/forms/classes/form-base';\r\nimport { IZitTagOptions } from '../../../../zit-ui/elements/zit-tag/export';\r\nimport { FileService, LocalizationService, BrowserService, RestService } from '../../../../framework/base/services/export';\r\nimport { ListView } from '../../../../framework/forms/elements/list-view/export';\r\nimport { StartupService } from './../../../services/export';\r\nimport { IdxSelectBoxComponent } from '../../../interfaces/export';\r\nimport { DateiAuswaehlen } from '../../../elements/datei-auswaehlen/datei-auswaehlen';\r\nimport { ICommandData, PopupInfoService } from '../../../../framework/forms/export';\r\nimport { Subscription, EventAggregator } from 'aurelia-event-aggregator';\r\n\r\n@autoinject\r\n@transient()\r\nexport class DokumentEditUtils {\r\n private _dokumentVersionChangedSubscription: Subscription;\r\n\r\n constructor(\r\n private _fileService: FileService,\r\n private _localizationService: LocalizationService,\r\n private _startupService: StartupService,\r\n private _browserService: BrowserService,\r\n private _taskQueue: TaskQueue,\r\n private _popupInfoService: PopupInfoService,\r\n private _eventAggregator: EventAggregator,\r\n private _restService: RestService\r\n ) { }\r\n\r\n form: FormBase;\r\n \r\n isMobil: boolean = this._browserService.isMobile;\r\n showExtended: boolean = false;\r\n informationtypFilter: any = [[\"NurBeiDokumentenuploadNutzbar\", true]];\r\n showDokumentZustand: boolean = this._startupService.startupInfo.Benutzer.Benutzertyp === BenutzerTyp.NatuerlichePerson;\r\n\r\n gueltigVonValidationRule: DevExpress.ui.CustomRule = {\r\n type: \"custom\",\r\n reevaluate: true,\r\n message: this._localizationService.translateOnce(\"forms.validator_required\", [this._localizationService.translateOnce(\"dokumente-edit.r_gueltigvon_caption\")]),\r\n validationCallback: (e) => {\r\n const isRequired = this.form.models.data.$m_InfoTyp != void 0\r\n && this.form.models.data.$m_InfoTyp.IsGueltigVonPflicht == true\r\n\r\n return isRequired\r\n ? e.value != void 0\r\n : true;\r\n }\r\n };\r\n gueltigBisValidationRule: DevExpress.ui.CustomRule = {\r\n type: \"custom\",\r\n reevaluate: true,\r\n message: this._localizationService.translateOnce(\"forms.validator_required\", [this._localizationService.translateOnce(\"dokumente-edit.r_gueltigbis_caption\")]),\r\n validationCallback: (e) => {\r\n const isRequired = this.form.models.data.$m_InfoTyp != void 0\r\n && this.form.models.data.$m_InfoTyp.IsGueltigBisPflicht == true\r\n\r\n return isRequired\r\n ? e.value != void 0\r\n : true;\r\n }\r\n };\r\n\r\n dokumentTagOptions: IZitTagOptions = {\r\n isClickEnabled: true,\r\n icon: {\r\n faIconExpression: `item.Zustand ? item.Zustand.TagSymbol : ''`,\r\n textExpression: `!item.Zustand || !item.Zustand.TagSymbol ? 'D':''`\r\n },\r\n textExpression: `(item.VorlageBezeichnung || item.Dateiname || item.Bezeichnung) | zitRestrictLength:50`,\r\n backgroundColorExpression: \"item.InformationsTyp.FarbeTagText\",\r\n infoList: [\r\n {\r\n isVisibleExpression: `item.DMSLinkDokument`,\r\n isClickEnabled: true,\r\n icon: {\r\n faIcon: \"fas fa-paperclip\",\r\n },\r\n onClick: (e, data) => {\r\n e.stopPropagation();\r\n this._fileService.download(data.DMSLinkDokument);\r\n }\r\n }, {\r\n isVisibleExpression: \"item.Id > 0 && \".concat(\r\n this._startupService.startupInfo.Benutzer.CanViewDokumentDetails ? \"true\" : \"false\" \r\n ),\r\n icon: {\r\n faIcon: \"far fa-clock\"\r\n },\r\n onClick: (e, data) => {\r\n e.stopPropagation();\r\n this.form.editPopups.show(\"dokumentVersionInformationEditPopup\", null);\r\n }\r\n }\r\n ],\r\n onClick: (e, data) => {\r\n e.stopPropagation();\r\n this._fileService.inline(data.DMSLinkDokument);\r\n }\r\n };\r\n unterfertigungInformationTagOptions: IZitTagOptions = {\r\n cssClass: \"z--tag-info-message z--tag-info-warning-message\",\r\n icon: {\r\n faIcon: \"fas fa-info-circle\",\r\n },\r\n textExpression: `\"dokument-utils.unterfertigung-info\" | tr`\r\n };\r\n\r\n kameraCommand: ICommandData = {\r\n id: \"kameraCommand\",\r\n icon: \"fas fa-camera\",\r\n tooltip: \"dokument-utils.kamera\",\r\n isVisibleExpression: \"functions.$f_DokumentUtils.isMobil && !models.data.$m_Dokument.Id\",\r\n execute: (args) => {\r\n this.getDateiAuswaehlen().onMakePhoto();\r\n }\r\n };\r\n videoCommand: ICommandData = {\r\n id: \"videoCommand\",\r\n icon: \"fas fa-video\",\r\n tooltip: \"dokument-utils.video\",\r\n isVisibleExpression: \"functions.$f_DokumentUtils.isMobil && !models.data.$m_Dokument.Id\",\r\n execute: (args) => {\r\n this.getDateiAuswaehlen().onMakeVideo();\r\n }\r\n };\r\n gallerieCommand: ICommandData = {\r\n id: \"gallerieCommand\",\r\n icon: \"far fa-image\",\r\n tooltip: \"dokument-utils.gallerie\",\r\n isVisibleExpression: \"functions.$f_DokumentUtils.isMobil && !models.data.$m_Dokument.Id\",\r\n execute: (args) => {\r\n this.getDateiAuswaehlen().onOpenGallery();\r\n }\r\n };\r\n dateiCommand: ICommandData = {\r\n id: \"dateiCommand\",\r\n icon: \"far fa-file-alt\",\r\n tooltip: \"dokument-utils.datei-auswaehlen\",\r\n isVisibleExpression: \"!functions.$f_DokumentUtils.isMobil && !models.data.$m_Dokument.Id\",\r\n execute: (args) => {\r\n this.getDateiAuswaehlen().onOpenFiles();\r\n }\r\n };\r\n showExtendedCommand: ICommandData = {\r\n id: \"showExtendedCommand\",\r\n icon: \"fas fa-ellipsis-v\",\r\n tooltip: \"dokument-utils.weitere-details\",\r\n isVisibleExpression: \"!functions.$f_DokumentUtils.isMobil\",\r\n execute: (args) => {\r\n this.showExtended = !this.showExtended;\r\n\r\n this._taskQueue.queueMicroTask(() => {\r\n const current = this._popupInfoService.getPopup(this.form);\r\n if (current && current.popup) {\r\n current.popup.repaint();\r\n }\r\n });\r\n }\r\n };\r\n\r\n bind(form: FormBase) {\r\n this.form = form;\r\n \r\n form.models.onLoaded.register((args) => {\r\n if (args.model.id == \"$m_Dokument\" && args.data) {\r\n if (this.form.variables.data.$v_idStelleninserat != void 0) {\r\n this.form.models.data.$m_Dokument.IdStelleninserat = this.form.variables.data.$v_idStelleninserat;\r\n }\r\n if (!args.data.Id) {\r\n if (form.variables.data.$v_dmsLinkDokument && form.variables.data.$v_dateiname) {\r\n args.data.DMSLinkDokument = form.variables.data.$v_dmsLinkDokument;\r\n args.data.Dateiname = form.variables.data.$v_dateiname;\r\n this.checkSchluesselbegriffe();\r\n } else {\r\n this._taskQueue.queueTask(() => {\r\n if (this.isMobil) {\r\n this.getDateiAuswaehlen().onOpenGallery();\r\n } else {\r\n this.getDateiAuswaehlen().onOpenFiles();\r\n }\r\n });\r\n }\r\n }\r\n\r\n this.checkInformationstypAllowTypes();\r\n }\r\n return Promise.resolve();\r\n });\r\n form.onValidating.register(args => {\r\n if (!form.models.data.$m_Dokument.DMSLinkDokument) {\r\n args.validationResult.isValid = false;\r\n args.validationResult.messages.push(\"Bitte ein Dokument auswählen\");\r\n }\r\n\r\n return Promise.resolve();\r\n });\r\n form.onSaved.register(args => {\r\n this._eventAggregator.publish(\"dokument:updated\", {\r\n idObjekt: form.models.data.$m_Dokument.IdObjekt\r\n });\r\n\r\n return Promise.resolve();\r\n });\r\n form.onDeleted.register(args => {\r\n this._eventAggregator.publish(\"dokument:updated\", {\r\n idObjekt: form.models.data.$m_Dokument.IdObjekt\r\n });\r\n\r\n return Promise.resolve();\r\n });\r\n form.editPopups.onEditPopupHidden.register((args) => {\r\n if (args.editPopup.id === \"dokumentVersionInformationEditPopup\") {\r\n this.refreshDokumenteListView();\r\n }\r\n return Promise.resolve();\r\n });\r\n\r\n this._dokumentVersionChangedSubscription = this._eventAggregator.subscribe(\"dokument:version-changed\", (e) => {\r\n if (this.form.variables.data.$id == e.oldId) {\r\n this.form.variables.data.$id = e.newId;\r\n }\r\n });\r\n }\r\n unbind() {\r\n this._dokumentVersionChangedSubscription.dispose();\r\n this._dokumentVersionChangedSubscription = null;\r\n }\r\n\r\n async onDateiAusgewaehlt(e: CustomEvent) {\r\n const file: File = e.detail.files[0];\r\n const model = this.form.models.data.$m_Dokument;\r\n\r\n const dmsLinkDokument = await this._fileService.upload(file);\r\n if (!dmsLinkDokument) {\r\n return;\r\n }\r\n\r\n model.Dateiname = file.name;\r\n model.DMSLinkDokument = dmsLinkDokument;\r\n this.checkSchluesselbegriffe();\r\n }\r\n\r\n private checkInformationstypAllowTypes() {\r\n const allowTypes: string = this.form.variables.data.$v_allowTypes;\r\n const isFiltered = this.informationtypFilter.length > 1;\r\n \r\n if (!allowTypes || isFiltered) {\r\n return;\r\n }\r\n\r\n const typeList = allowTypes.split(\",\");\r\n typeList.forEach(t =>\r\n this.informationtypFilter.push([\"Code\", t])\r\n );\r\n\r\n const selectbox: IdxSelectBoxComponent = this.form[\"r_dokumentInformationstyp\"];\r\n const dataSource = selectbox.instance.getDataSource();\r\n dataSource.filter(this.informationtypFilter);\r\n }\r\n private async checkSchluesselbegriffe() {\r\n const model = this.form.models.data.$m_Dokument;\r\n if (!model) {\r\n return;\r\n }\r\n if (!model.Dateiname) {\r\n return;\r\n }\r\n if (model.IdInformationstyp) {\r\n return;\r\n }\r\n\r\n const r = await this._restService.post({\r\n url: this._restService.getApiUrl(\"ZIT/Dokument/EvalDokumentInformationstyp\"),\r\n data: {\r\n ObjektTypeFullName: this.form.variables.data.$v_objektTypeFullname,\r\n Dateiname: model.Dateiname,\r\n Codes: this.form.variables.data.$v_allowTypes\r\n }\r\n });\r\n \r\n if (!r || !r.Id) {\r\n return;\r\n }\r\n\r\n model.IdInformationstyp = r.Id;\r\n }\r\n private refreshDokumenteListView() {\r\n const listView: ListView = this.form[\"dokumentListView\"];\r\n if (!listView) {\r\n return;\r\n }\r\n\r\n listView.refresh();\r\n }\r\n private getDateiAuswaehlen(): DateiAuswaehlen {\r\n return this.form[\"r_dateiAuswaehlen\"];\r\n }\r\n}\r\n","export * from \"./services/export\";","import { autoinject } from \"aurelia-framework\";\r\nimport { RestService } from \"./../../framework/base/services/export\";\r\n\r\n@autoinject\r\nexport class AnsprechpersonService {\r\n constructor(\r\n private _restService: RestService\r\n ) { }\r\n\r\n loadAnsprechpersonByGeschaeftspartner(idGeschaeftspartner: number, columns?: string[]): Promise {\r\n return this._restService.get({\r\n url: this._restService.getWebApiUrl(\"ZIT/Objekte/Ansprechperson\"),\r\n getOptions: {\r\n columns: columns,\r\n customs: [{\r\n key: \"IdGeschaeftspartner\",\r\n value: idGeschaeftspartner.toString()\r\n }]\r\n }\r\n });\r\n }\r\n}\r\n","import {\r\n autoinject,\r\n singleton\r\n} from \"aurelia-framework\";\r\nimport {\r\n EventAggregator\r\n} from \"aurelia-event-aggregator\";\r\nimport {\r\n BindingService,\r\n CustomEvent,\r\n RestService,\r\n ScopeContainer,\r\n PermissionService\r\n} from \"../../base/export\";\r\nimport {\r\n IModelLoadRequiredEventArgs,\r\n IModelLoadedEventArgs,\r\n IModelLoadedInterceptorEventArgs,\r\n IModelSavedEventArgs,\r\n IModelDeletedEventArgs\r\n} from \"../event-args/export\";\r\nimport {\r\n ModelEventService,\r\n ModelUtilsService\r\n} from \"../services/export\";\r\nimport {\r\n FormBase\r\n} from \"./form-base\";\r\nimport {\r\n DataSourceService\r\n} from \"../../base/services/data-source-service\";\r\nimport * as Interfaces from \"../interfaces/export\";\r\nimport { ObjectService } from '../../base/services/object-service';\r\n\r\n@autoinject\r\n@singleton(true)\r\nexport class Models {\r\n private form: FormBase;\r\n private info: any;\r\n\r\n constructor(\r\n private rest: RestService,\r\n private dataSource: DataSourceService,\r\n private binding: BindingService,\r\n private modelEvent: ModelEventService,\r\n private eventAggregator: EventAggregator,\r\n private modelUtils: ModelUtilsService,\r\n private objectService: ObjectService,\r\n private permissionService: PermissionService,\r\n public onLoadRequired: CustomEvent,\r\n public onLoadedInterceptor: CustomEvent,\r\n public onLoaded: CustomEvent,\r\n public onSaved: CustomEvent,\r\n public onDeleted: CustomEvent\r\n ) {\r\n this.onLoadRequired.waitTimeout = 10;\r\n\r\n this.data = {};\r\n this.info = {};\r\n\r\n this.onLoadRequired.register((args) => {\r\n if (!this.form.isBound) {\r\n return Promise.resolve();\r\n }\r\n\r\n if (args.model.key || args.model.autoLoad) {\r\n const key = this.form.binding.evaluate(this.form.scope, args.model.key);\r\n return this.loadModel(args.model, key);\r\n }\r\n\r\n return Promise.resolve();\r\n });\r\n }\r\n\r\n data: any;\r\n\r\n modelWithKeyId: Interfaces.IModel;\r\n\r\n addInfo(model: Interfaces.IModel) {\r\n model.keyProperty = model.keyProperty || \"Id\";\r\n\r\n this.info[model.id] = model;\r\n\r\n this.eventAggregator.publish(\"model:added\", {\r\n form: this.form,\r\n model: model\r\n });\r\n\r\n this.addObservers(model);\r\n\r\n if (this.isModelWithKeyId(model)) {\r\n this.modelWithKeyId = model;\r\n }\r\n }\r\n allowNew(scopeContainer: ScopeContainer, model: Interfaces.IModel): boolean {\r\n if (model.allowNew == void (0)) {\r\n return true;\r\n }\r\n\r\n return !!this.binding.evaluate(scopeContainer.scope, model.allowNew);\r\n }\r\n allowSave(scopeContainer: ScopeContainer, model: Interfaces.IModel): boolean {\r\n if (this.isModelWithKeyId(model) && model.modificationInfoEnabled) {\r\n const canSave = this.data[model.id]\r\n && this.data[model.id][\"CanSave\"];\r\n\r\n if (!canSave) {\r\n return false;\r\n }\r\n }\r\n\r\n if (model.allowSave == void (0)) {\r\n return true;\r\n }\r\n\r\n return !!this.binding.evaluate(scopeContainer.scope, model.allowSave);\r\n }\r\n allowDelete(scopeContainer: ScopeContainer, model: Interfaces.IModel): boolean {\r\n if (this.isModelWithKeyId(model) && model.modificationInfoEnabled) {\r\n const canDelete = this.data[model.id]\r\n && this.data[model.id][\"CanDelete\"];\r\n\r\n if (!canDelete) {\r\n return false;\r\n }\r\n }\r\n\r\n if (model.allowDelete == void (0)) {\r\n return true;\r\n }\r\n\r\n return !!this.binding.evaluate(scopeContainer.scope, model.allowDelete);\r\n }\r\n callOnLoaded(model: Interfaces.IModel, data: any) {\r\n this.onLoaded.fire({\r\n model: model,\r\n data: data\r\n });\r\n this.modelEvent.onLoaded.fire({\r\n model: model,\r\n data: data\r\n });\r\n }\r\n canNew(model: Interfaces.IModel) {\r\n if (!model.webApiAction) {\r\n return true;\r\n }\r\n\r\n return this.permissionService.canWebApiNew(model.webApiAction, this.form.moduleId);\r\n }\r\n canSave(model: Interfaces.IModel) {\r\n if (!model.webApiAction) {\r\n return true;\r\n }\r\n\r\n return this.permissionService.canWebApiModify(model.webApiAction, this.form.moduleId);\r\n }\r\n canDelete(model: Interfaces.IModel) {\r\n if (!model.webApiAction) {\r\n return true;\r\n }\r\n\r\n return this.permissionService.canWebApiDelete(model.webApiAction, this.form.moduleId);\r\n }\r\n createNewModelData(model: Interfaces.IModel): any {\r\n const data = {};\r\n\r\n data[model.keyProperty] = 0;\r\n\r\n return data;\r\n }\r\n getInfo(id: string, throwErrorIfMissing: boolean = true): Interfaces.IModel {\r\n const model = this.info[id];\r\n if (!model && throwErrorIfMissing) {\r\n throw new Error();\r\n }\r\n\r\n return model;\r\n }\r\n getModels(): Interfaces.IModel[] {\r\n const arr: Interfaces.IModel[] = [];\r\n\r\n for (let i in this.info) {\r\n arr.push(this.info[i]);\r\n }\r\n\r\n return arr;\r\n }\r\n getModelWithKeyId(): Interfaces.IModel {\r\n return this\r\n .getModels()\r\n .find(m => this.isModelWithKeyId(m));\r\n };\r\n hasChangedData(): boolean {\r\n for (let model of this.getModels()) {\r\n if (!model.postOnSave) {\r\n continue;\r\n }\r\n\r\n if (!this.data[model.id]) {\r\n continue;\r\n }\r\n\r\n if (!this.data[model.id][model.keyProperty]) {\r\n return true;\r\n }\r\n if (!this.modelUtils.isDirty(this.data[model.id])) {\r\n continue;\r\n }\r\n\r\n return true;\r\n }\r\n\r\n return false;\r\n }\r\n isModelWithKeyId(model: Interfaces.IModel): boolean {\r\n return model.key === \"variables.data.$id\";\r\n }\r\n loadModel(model: Interfaces.IModel, keyValue: any): Promise {\r\n const getOptions = this.dataSource.createGetOptions(this.form.scopeContainer, model);\r\n\r\n if (keyValue == void (0)) {\r\n this.data[model.id] = null;\r\n\r\n this.callOnLoaded(model, null);\r\n } else {\r\n return this.rest.get({\r\n url: this.rest.getWebApiUrl(`${model.webApiAction}/${keyValue}`),\r\n getOptions,\r\n moduleId: this.form.moduleId,\r\n increaseLoadingCount: true\r\n }).then(r => {\r\n if (this.modelWithKeyId == model) {\r\n this.transferValuesFromRouteInfo(r);\r\n }\r\n\r\n this.onLoadedInterceptor.fire({\r\n model: model,\r\n data: r\r\n });\r\n\r\n this.data[model.id] = r;\r\n\r\n this.callOnLoaded(model, r);\r\n });\r\n }\r\n }\r\n loadModelWithKeyId(): Promise {\r\n const model = this.modelWithKeyId;\r\n if (!model) {\r\n return Promise.resolve();\r\n }\r\n\r\n const key = this.form.variables.data.$id;\r\n return this.loadModel(model, key);\r\n }\r\n async reloadAll(): Promise {\r\n const loadInfo = {};\r\n\r\n for (let m of this.getModels()) {\r\n loadInfo[m.id] = false;\r\n }\r\n\r\n const loadDependent = async (model: Interfaces.IModel) => {\r\n const prefix = `models.data.${model.id}`;\r\n const next: Interfaces.IModel[] = [];\r\n\r\n for (let m of this.getModels()) {\r\n if (!m.key || !m.key.startsWith(prefix)) {\r\n continue;\r\n }\r\n if (loadInfo[m.id]) {\r\n continue;\r\n }\r\n\r\n await this.onLoadRequired.fire({\r\n model: m\r\n }, 0);\r\n\r\n loadInfo[m.id] = true;\r\n next.push(m);\r\n }\r\n\r\n for (let n of next) {\r\n await loadDependent(n);\r\n }\r\n }\r\n\r\n if (this.modelWithKeyId) {\r\n await this.onLoadRequired.fire({\r\n model: this.modelWithKeyId\r\n }, 0);\r\n\r\n loadInfo[this.modelWithKeyId.id] = true;\r\n loadDependent(this.modelWithKeyId);\r\n }\r\n\r\n for (let m of this.getModels()) {\r\n if (loadInfo[m.id]) {\r\n continue;\r\n }\r\n\r\n await this.onLoadRequired.fire({\r\n model: m\r\n }, 0);\r\n\r\n loadInfo[m.id] = true;\r\n }\r\n }\r\n registerForm(form: FormBase) {\r\n if (this.form) {\r\n throw new Error(\"Form was already registered\");\r\n }\r\n\r\n this.form = form;\r\n }\r\n setDataChanged(model: Interfaces.IModel) {\r\n if (!this.data[model.id]) {\r\n return;\r\n }\r\n\r\n this.modelUtils.setDirty(this.data[model.id]);\r\n }\r\n\r\n save(): Promise {\r\n const promiseArr = this.getModels()\r\n .filter(m => m.postOnSave && this.data[m.id])\r\n .map(m => {\r\n\r\n let method = \"post\";\r\n\r\n if (!this.data[m.id][m.keyProperty]) {\r\n method = \"put\";\r\n }\r\n\r\n const promise = this.rest[method]({\r\n url: this.rest.getWebApiUrl(m.webApiAction),\r\n moduleId: this.form.moduleId,\r\n data: this.data[m.id],\r\n increaseLoadingCount: true,\r\n getOptions: this.dataSource.createGetOptions(this.form.scopeContainer, m)\r\n }).then(r => {\r\n this.data[m.id] = r;\r\n\r\n if (m.key && m.key === \"variables.data.$id\") {\r\n this.form.variables.data.$id = r[m.keyProperty];\r\n }\r\n\r\n this.onSaved.fire({\r\n model: m,\r\n data: r\r\n });\r\n this.modelEvent.onSaved.fire({\r\n model: m,\r\n data: r\r\n });\r\n\r\n this.callOnLoaded(m, r);\r\n });\r\n\r\n return promise;\r\n });\r\n\r\n return Promise\r\n .all(promiseArr)\r\n .then(() => {\r\n return this.form.nestedForms.getNestedForms().map(f => f.models.save());\r\n });\r\n }\r\n delete(): Promise {\r\n const promiseArr = this.getModels()\r\n .filter(m => m.postOnSave && this.data[m.id] && this.data[m.id][m.keyProperty])\r\n .map(m => {\r\n const data = this.data[m.id];\r\n\r\n const promise = this.rest.delete({\r\n url: this.rest.getWebApiUrl(m.webApiAction),\r\n id: data[m.keyProperty],\r\n moduleId: this.form.moduleId,\r\n increaseLoadingCount: true\r\n }).then(() => {\r\n this.modelUtils.clearDirty(data);\r\n\r\n this.onDeleted.fire({\r\n model: m,\r\n data: data\r\n });\r\n this.modelEvent.onDeleted.fire({\r\n model: m,\r\n data: data\r\n });\r\n\r\n return Promise.resolve();\r\n });\r\n\r\n return promise;\r\n });\r\n\r\n return Promise.all(promiseArr)\r\n .then(() => {\r\n return this.form.nestedForms.getNestedForms().map(f => f.models.delete());\r\n });\r\n }\r\n\r\n dispose() {\r\n this.onDeleted.dispose();\r\n this.onLoaded.dispose();\r\n this.onLoadedInterceptor.dispose();\r\n this.onLoadRequired.dispose();\r\n this.onSaved.dispose();\r\n }\r\n\r\n private addObservers(model: Interfaces.IModel) {\r\n this.addObserversDetail(model, model.key, true);\r\n\r\n this.dataSource.addObservers(this.form.scopeContainer, model, () => {\r\n this.onLoadRequired.fire({\r\n model\r\n });\r\n });\r\n }\r\n private addObserversDetail(model: Interfaces.IModel, expression: string, checkKeyProperty: boolean) {\r\n if (expression == void (0)) {\r\n return;\r\n }\r\n\r\n this.form.binding.observe({\r\n scopeContainer: this.form.scopeContainer,\r\n expression: expression, \r\n callback: (newValue, oldValue) => {\r\n this.onLoadRequired.fire({\r\n model\r\n });\r\n }\r\n });\r\n }\r\n private transferValuesFromRouteInfo(data: any) {\r\n if (!this.form.viewItemInfo) {\r\n return;\r\n }\r\n if (!this.form.viewItemInfo.routeInfo) {\r\n return;\r\n }\r\n if (data[this.modelWithKeyId.keyProperty]) {\r\n return;\r\n }\r\n\r\n const setValues = this.form.viewItemInfo.routeInfo.setValuesOnModelWithKeyIdLoaded;\r\n if (!setValues) {\r\n return;\r\n }\r\n\r\n for (let key in setValues) {\r\n this.objectService.setValue(data, key, setValues[key]);\r\n }\r\n }\r\n}\r\n","import {\r\n autoinject\r\n} from \"aurelia-framework\";\r\nimport {\r\n FormBase\r\n} from \"../classes/form-base\";\r\nimport {\r\n SimpleWidgetCreatorService\r\n} from \"./simple-widget-creator-service\";\r\nimport {\r\n DataGridWidgetCreatorService\r\n} from \"./data-grid-widget-creator-service\";\r\nimport {\r\n ListViewWidgetCreatorService\r\n} from \"./list-view-widget-creator-service\";\r\nimport {\r\n ListWidgetCreatorService\r\n} from \"./list-widget-creator-service\";\r\nimport * as WidgetOptions from \"../widget-options/export\";\r\n\r\n@autoinject\r\nexport class WidgetCreatorService {\r\n constructor(\r\n private simpleWidgetCreator: SimpleWidgetCreatorService,\r\n private dataGridWidgetCreator: DataGridWidgetCreatorService,\r\n private listWidgetCreator: ListWidgetCreatorService,\r\n private listViewWidgetCreator: ListViewWidgetCreatorService\r\n ) { }\r\n\r\n addAccordion(form: FormBase, options: WidgetOptions.IAccordionOptions) {\r\n form.callOnBind(() => {\r\n this.simpleWidgetCreator.addAccordion(form, options);\r\n });\r\n }\r\n addCalendar(form: FormBase, options: WidgetOptions.ICalendarOptions) {\r\n form.callOnBind(() => {\r\n this.simpleWidgetCreator.addCalendar(form, options);\r\n });\r\n }\r\n addCheckBox(form: FormBase, options: WidgetOptions.ICheckBoxOptions) {\r\n form.callOnBind(() => {\r\n this.simpleWidgetCreator.addCheckBox(form, options);\r\n });\r\n }\r\n addColorBox(form: FormBase, options: WidgetOptions.IColorBoxOptions) {\r\n form.callOnBind(() => {\r\n this.simpleWidgetCreator.addColorBox(form, options);\r\n });\r\n }\r\n addCommand(form: FormBase, options: WidgetOptions.ICommandElementOptions) {\r\n form.callOnBind(() => {\r\n this.simpleWidgetCreator.addCommand(form, options);\r\n });\r\n }\r\n addDateBox(form: FormBase, options: WidgetOptions.IDateBoxOptions) {\r\n form.callOnBind(() => {\r\n this.simpleWidgetCreator.addDateBox(form, options)\r\n });\r\n }\r\n addDataGrid(form: FormBase, options: WidgetOptions.IDataGridOptions) {\r\n form.callOnBind(() => {\r\n this.dataGridWidgetCreator.addDataGrid(form, options);\r\n });\r\n }\r\n addFileUploaderWithViewer(form: FormBase, options: WidgetOptions.IFileUploaderWithViewerOptions) {\r\n form.callOnBind(() => {\r\n this.simpleWidgetCreator.addFileUploaderWithViewer(form, options);\r\n });\r\n }\r\n addHtmlEditor(form: FormBase, options: WidgetOptions.IHtmlEditorOptions) {\r\n form.callOnBind(() => {\r\n this.simpleWidgetCreator.addHtmlEditor(form, options);\r\n });\r\n }\r\n addInclude(form: FormBase, options: WidgetOptions.IIncludeOptions) {\r\n form.callOnBind(() => {\r\n this.simpleWidgetCreator.addInclude(form, options);\r\n });\r\n }\r\n addList(form: FormBase, options: WidgetOptions.IListOptions) {\r\n form.callOnBind(() => {\r\n this.listWidgetCreator.addList(form, options);\r\n });\r\n }\r\n addListView(form: FormBase, options: WidgetOptions.IListViewOptions) {\r\n form.callOnBind(() => {\r\n this.listViewWidgetCreator.addListView(form, options);\r\n });\r\n }\r\n addLookup(form: FormBase, options: WidgetOptions.ISelectOptions) {\r\n form.callOnBind(() => {\r\n this.simpleWidgetCreator.addLookup(form, options);\r\n });\r\n }\r\n addNumberBox(form: FormBase, options: WidgetOptions.INumberBoxOptions) {\r\n form.callOnBind(() => {\r\n this.simpleWidgetCreator.addNumberBox(form, options);\r\n });\r\n }\r\n addPopover(form: FormBase, options: WidgetOptions.IPopoverOptions) {\r\n form.callOnBind(() => {\r\n this.simpleWidgetCreator.addPopover(form, options);\r\n });\r\n }\r\n addPopup(form: FormBase, options: WidgetOptions.IPopupOptions) {\r\n form.callOnBind(() => {\r\n this.simpleWidgetCreator.addPopup(form, options);\r\n });\r\n }\r\n addRadioGroup(form: FormBase, options: WidgetOptions.ISelectOptions) {\r\n form.callOnBind(() => {\r\n this.simpleWidgetCreator.addRadioGroup(form, options);\r\n });\r\n }\r\n addTab(form: FormBase, options: WidgetOptions.ITabOptions) {\r\n form.callOnBind(() => {\r\n this.simpleWidgetCreator.addTab(form, options);\r\n });\r\n }\r\n addSelectBox(form: FormBase, options: WidgetOptions.ISelectOptions) {\r\n form.callOnBind(() => {\r\n this.simpleWidgetCreator.addSelectBox(form, options);\r\n });\r\n }\r\n addTagBox(form: FormBase, options: WidgetOptions.ITagBoxOptions) {\r\n form.callOnBind(() => {\r\n this.simpleWidgetCreator.addTagBox(form, options);\r\n });\r\n }\r\n addTextBox(form: FormBase, options: WidgetOptions.ITextBoxOptions) {\r\n form.callOnBind(() => {\r\n this.simpleWidgetCreator.addTextBox(form, options);\r\n });\r\n }\r\n addTextArea(form: FormBase, options: WidgetOptions.ITextAreaOptions) {\r\n form.callOnBind(() => {\r\n this.simpleWidgetCreator.addTextArea(form, options);\r\n });\r\n }\r\n addValidationGroup(form: FormBase, options: WidgetOptions.IValidationGroupOptions) {\r\n form.callOnBind(() => {\r\n this.simpleWidgetCreator.addValidationGroup(form, options);\r\n });\r\n }\r\n}\r\n","export default __webpack_public_path__ + \"eb43eb258dbdb6ebbc87d998b2f1ea94.jpg\";","import {\r\n autoinject\r\n} from \"aurelia-framework\";\r\n\r\nimport * as enumItems from \"../../../framework-data/enum-items.json\";\r\n\r\n@autoinject\r\nexport class EnumItemService {\r\n\r\n constructor() {}\r\n\r\n getDisplayText(typeName: string, key: string): string {\r\n const type = enumItems[typeName];\r\n if (!type) {\r\n return \"n/a\";\r\n }\r\n\r\n const item = type[key];\r\n if (item == void(0)) {\r\n return \"n/a\";\r\n }\r\n\r\n return item;\r\n }\r\n}","import { BrowserService, LocalizationService } from '../../base/export';\r\nimport { TaskQueue, autoinject } from 'aurelia-framework';\r\nimport * as DxLoader from \"../../dx/dx-loader\";\r\n\r\n@autoinject\r\nexport class DialogConfirmService {\r\n constructor(\r\n private browserService: BrowserService,\r\n private taskQueue: TaskQueue,\r\n private localizationService: LocalizationService\r\n ) { }\r\n\r\n show(options: IDialogConfirmOptions): Promise {\r\n let returnTrueFalse = false;\r\n \r\n if (!options.buttons || options.buttons.length == 0) {\r\n options.buttons = [{\r\n id: \"yes\",\r\n text: this.localizationService.translateOnce(\"base.yes\")\r\n }, {\r\n id: \"no\",\r\n text: this.localizationService.translateOnce(\"base.no\")\r\n }];\r\n\r\n returnTrueFalse = true;\r\n }\r\n\r\n return new Promise((resolve, reject) => {\r\n if (this.browserService.isMobile) {\r\n const actionSheet = document.createElement(\"div\");\r\n document.body.appendChild(actionSheet);\r\n\r\n const instance: DevExpress.ui.dxActionSheet = DxLoader.createInstance(\"dxActionSheet\", actionSheet, {\r\n title: options.message,\r\n showCancelButton: false,\r\n onOptionChanged: (e) => {\r\n if (e.name == \"visible\" && !e.value) {\r\n this.taskQueue.queueTask(() => {\r\n e.component.dispose();\r\n document.body.removeChild(actionSheet);\r\n });\r\n }\r\n },\r\n dataSource: options.buttons.map(button => {\r\n return {\r\n text: button.text,\r\n onClick: () => {\r\n if (button.onClick) {\r\n button.onClick();\r\n }\r\n\r\n if (returnTrueFalse && button.id == \"yes\") {\r\n resolve(true);\r\n } else if (returnTrueFalse && button.id == \"no\") {\r\n resolve(false);\r\n } else {\r\n resolve(button.id);\r\n }\r\n }\r\n };\r\n })\r\n }).show();\r\n } else {\r\n DevExpress.ui.dialog.custom({\r\n messageHtml: options.message,\r\n title: options.title,\r\n buttons: options.buttons.map(button => {\r\n return {\r\n text: button.text,\r\n onClick: () => {\r\n if (button.onClick) {\r\n button.onClick();\r\n }\r\n\r\n if (returnTrueFalse && button.id == \"yes\") {\r\n resolve(true);\r\n } else if (returnTrueFalse && button.id == \"no\") {\r\n resolve(false);\r\n } else {\r\n resolve(button.id);\r\n }\r\n }\r\n }\r\n })\r\n }).show();\r\n }\r\n });\r\n }\r\n}\r\n\r\nexport interface IDialogConfirmOptions {\r\n title: string;\r\n message: string;\r\n buttons?: IDialogConfirmButton[];\r\n}\r\nexport interface IDialogConfirmButton {\r\n id: string;\r\n text: string;\r\n onClick?: { (): void };\r\n}\r\n","module.exports = \"
\";","import { autoinject } from \"aurelia-framework\";\r\nimport { RestService } from \"./../../framework/base/services/export\";\r\n\r\n@autoinject\r\nexport class ZustandService {\r\n constructor(\r\n private _restService: RestService\r\n ) { }\r\n\r\n getFolgezustandTerminEmpf(keys: number[]): Promise {\r\n if (!keys || !keys.length) {\r\n return;\r\n }\r\n\r\n return this._restService.post({\r\n url: this._restService.getApiUrl(\"ZIT/Zustand/ZustandFolgeZustand\"),\r\n data: keys,\r\n increaseLoadingCount: true\r\n });\r\n }\r\n getZustandList(bereich: ZustandBereich, status?: ZustandStatus): Promise {\r\n const where: any[] = [[\"Bereich\", bereich]];\r\n\r\n if (status != void(0)) {\r\n where.push([\"Status\", status]);\r\n }\r\n\r\n return this._restService.get({\r\n url: this._restService.getWebApiUrl(\"ZIT/Stammdaten/Zustand\"),\r\n getOptions: {\r\n where: where,\r\n orderBy: [{columnName: \"SortNr\", sortOrder: 0}, {columnName: \"Bezeichnung\", sortOrder: 0}]\r\n }\r\n });\r\n }\r\n}\r\n\r\nexport interface IZustand {\r\n Id: number;\r\n Code: string;\r\n Bezeichnung: string;\r\n Bereich: ZustandBereich;\r\n Status: ZustandStatus;\r\n Farbe: string;\r\n TagSymbol: string;\r\n SortNr: number;\r\n}\r\nexport enum ZustandBereich {\r\n Information = 0,\r\n Fragebogen = 1,\r\n Dokument = 2,\r\n PersonenzuteilungCheckIn = 3,\r\n PersonenzuteilungFragebogenArbeitssicherheit = 4,\r\n PersonenzuteilungEinsatzpapiere = 5,\r\n TerminBestaetigungGeschaeftspartner = 6,\r\n TerminEmpfaengerStatus = 7\r\n}\r\nexport enum ZustandStatus {\r\n Offen = 0,\r\n ErledigtPositiv = 1,\r\n ErledigtNegativ = 2\r\n}","import { autoinject, transient } from \"aurelia-framework\";\r\nimport { RestService } from \"../../../../../framework/base/export\";\r\nimport { AuthorizationService } from \"../../../../../framework/base/services/authorization-service\";\r\nimport { LocationService } from \"../../../../../framework/base/services/location-service\";\r\nimport { FormBase } from \"../../../../../framework/forms/export\";\r\nimport { IdxSelectBoxComponent } from \"../../../../../zit/interfaces/export\";\r\nimport { LoginprofilService } from \"../../../../../zit/services/loginprofil-service\";\r\nimport { BrowserService } from \"./../../../../../framework/base/services/browser-service\";\r\nimport { LocalizationService } from \"./../../../../../framework/base/services/localization-service\";\r\nimport { ICommandData } from \"./../../../../../framework/forms/interfaces/command-data\";\r\nimport { DomaeneService } from \"./../../../../services/domaene-service\";\r\n\r\n@autoinject\r\n@transient()\r\nexport class LoginprofilFuncs {\r\n private form: FormBase;\r\n private NOTIFY_TIMEOUT: number = 3000;\r\n\r\n constructor(\r\n public browserService: BrowserService,\r\n private _authorizationService: AuthorizationService,\r\n private _localizationService: LocalizationService,\r\n private _loginprofilService: LoginprofilService,\r\n private _restService: RestService,\r\n private _locationService: LocationService,\r\n private _domaeneService: DomaeneService,\r\n private _browserService: BrowserService) {\r\n const time = new Date()\r\n .getTime()\r\n .toString();\r\n const randomNumberString = Math.floor((Math.random() * 100))\r\n .toString();\r\n const randomKey = time + randomNumberString;\r\n this.logoSrc = this._restService.getApiUrl(`ZIT/Domaene/Logo?key=${randomKey}`);\r\n }\r\n\r\n urlImpressum: string;\r\n farbeDomaene: string;\r\n bezeichnungLoginMobil: string;\r\n logoSrc: string;\r\n isMobile: boolean;\r\n\r\n requiredValidationRule = {\r\n type: \"required\",\r\n message: this._localizationService.translateOnce(\"zit-ui.login-loginprofil-pflicht\")\r\n };\r\n\r\n loginprofilCommand: ICommandData = {\r\n id: \"loginprofil\",\r\n title: \"zit-ui.login-loginprofil-uebernehmen\",\r\n execute: async () => {\r\n const id = this.form.models.data.$m_Loginprofil.Id;\r\n\r\n const validationResult = this.form.createValidationResult();\r\n await this.form.validate(validationResult);\r\n\r\n if (!validationResult.isValid) {\r\n return;\r\n }\r\n\r\n this._loginprofilService.setLoginProfil(id, false)\r\n .then((r) => {\r\n this._authorizationService.isLoggedInChanged(true);\r\n DevExpress.ui.notify(this._localizationService.translateOnce(\"zit-ui.login-anmeldung-erfolgreich\"), \"SUCCESS\", this.NOTIFY_TIMEOUT);\r\n })\r\n .catch((r) => {\r\n DevExpress.ui.notify(this._localizationService.translateOnce(\"zit-ui.login-anmeldung-nicht-erfolgreich\"), \"ERROR\", this.NOTIFY_TIMEOUT);\r\n });\r\n }\r\n };\r\n zuerueckCommand: ICommandData = {\r\n id: \"zuerueckZuLogin\",\r\n title: \"zit-ui.login-loginprofil-zuerueck\",\r\n execute: () => {\r\n this._locationService.goTo({\r\n url: \"Login\",\r\n clearStack: true\r\n });\r\n }\r\n };\r\n\r\n openImpressumClick() {\r\n window.open(this.urlImpressum);\r\n }\r\n\r\n async bind(form: FormBase) {\r\n this.form = form;\r\n\r\n this.focusFirstEditor();\r\n this.resetLoginprofilModel();\r\n\r\n this.urlImpressum = this._domaeneService.urlImpressum;\r\n this.farbeDomaene = this._domaeneService.farbeDomaene;\r\n this._domaeneService.setDomainColorsStyle();\r\n this.bezeichnungLoginMobil = this._domaeneService.bezeichnungMobilLogin;\r\n }\r\n\r\n private focusFirstEditor() {\r\n this.form.onReady.register((args) => {\r\n const selectBox: IdxSelectBoxComponent = this.form[\"r_loginprofil\"];\r\n\r\n selectBox.instance.focus();\r\n\r\n return Promise.resolve();\r\n });\r\n }\r\n private resetLoginprofilModel() {\r\n this.form.models.data.$m_Loginprofil = {\r\n Id: null\r\n };\r\n }\r\n}\r\n","import { autoinject, transient } from \"aurelia-framework\";\r\nimport { FormBase } from \"../../../../framework/forms/classes/form-base\";\r\nimport { GlobalizationService } from \"./../../../../framework/base/services/globalization-service\";\r\nimport { IZitTagOptions } from \"./../../../../zit-ui/elements/zit-tag/zit-tag-options\";\r\nimport { InformationService } from \"./../../../services/information-service\";\r\n\r\n@transient()\r\n@autoinject\r\nexport class InformationReadUtils {\r\n constructor(\r\n private _informationService: InformationService,\r\n private _globalizationService: GlobalizationService\r\n ) { }\r\n\r\n form: FormBase;\r\n\r\n ueberschriftTagOptions: IZitTagOptions = {\r\n icon: {\r\n text: \"Ü\"\r\n },\r\n textExpression: `item.Ueberschrift`\r\n };\r\n\r\n zeitraumTagOptions: IZitTagOptions = {\r\n isClickEnabled: false,\r\n textExpression: `functions.$f_InformationReadUtils.datumTagString(item)`,\r\n icon: {\r\n faIcon: \"far fa-calendar-alt\"\r\n }\r\n };\r\n\r\n geschaeftspartnerTagOptions: IZitTagOptions = {\r\n icon: {\r\n text: \"U\"\r\n },\r\n textExpression: `item.DetailGeschaeftspartner`\r\n };\r\n\r\n personTagOptions: IZitTagOptions = {\r\n icon: {\r\n text: \"P\"\r\n },\r\n textExpression: `item.DetailPerson`\r\n };\r\n\r\n linkTagOptions: IZitTagOptions = {\r\n icon: {\r\n faIcon: \"fas fa-external-link-square-alt\"\r\n },\r\n text: \"${item.Kopf.LinkUrl}\",\r\n onClick: (e, data) => {\r\n window.open(data.Kopf.LinkUrl, \"_blank\");\r\n }\r\n };\r\n\r\n bind(form: FormBase) {\r\n this.form = form;\r\n }\r\n\r\n datumTagString(item: any): string {\r\n if (!item) {\r\n return \"\";\r\n }\r\n\r\n if (!item.ZeitraumVon) {\r\n return this._globalizationService.format(item.Zeitpunkt, \"DT_DD.MM.YYYY (dd)\")\r\n .toUpperCase();\r\n }\r\n\r\n if (!item.ZeitraumBis || item.ZeitraumVon.getTime() == item.ZeitraumBis.getTime()) {\r\n return this._globalizationService.format(item.ZeitraumVon, \"DT_DD.MM.YYYY (dd)\")\r\n .toUpperCase();\r\n }\r\n\r\n return this._globalizationService.format(item.ZeitraumVon, \"DT_DD.MM.YYYY (dd)\")\r\n .toUpperCase()\r\n + \" - \"\r\n + this._globalizationService.format(item.ZeitraumBis, \"DT_DD.MM.YYYY (dd)\")\r\n .toUpperCase();\r\n }\r\n}\r\n","export { AdresseService } from './adresse-service';\r\nexport { CodesService } from './codes-service';\r\nexport { CustomEditPopupService } from './custom-edit-popup-service';\r\nexport { DownloadService } from \"./download-service\";\r\nexport { ErweiterteSucheService } from './erweiterte-suche-service';\r\nexport { DispoPlanstelleService } from './dispo-planstelle-service';\r\nexport { LoginprofilEinstellungenService } from './loginprofil-einstellungen-service';\r\nexport { LoginprofilService } from './loginprofil-service';\r\nexport { MarkerService } from './marker-service';\r\nexport { ObjektExportEigenschaftService } from './objekt-export-eigenschaft-service';\r\nexport { ObjektInfoService } from './objekt-info-service';\r\nexport { PersonService } from './person-service';\r\nexport { StaatService } from './staat-service';\r\nexport { StartupService } from './startup-service';\r\nexport { StatusService } from './status-service';\r\nexport { StelleninseratService } from './stelleninserat-service';\r\nexport { SucheService } from './suche-service';\r\nexport { TemplateRegisterService } from './template-register-service';\r\nexport { ValidationExService } from './validation-ex-service';\r\nexport { FormSelectItemService } from \"./form-select-item-service\";\r\nexport { GeschaeftspartnerService } from \"./geschaeftspartner-service\";\r\nexport { AnsprechpersonService } from \"./ansprechperson-service\";\r\nexport { ContainerViewWidthService } from \"./container-view-width-service\";\r\nexport { BerechtigungService } from \"./berechtigung-service\";\r\nexport { DashboardService } from \"./dashboard-service\";\r\nexport { DokumentService } from \"./dokument-service\";\r\nexport { UpdateHinweisService } from \"./update-hinweis-service\";\r\nexport { FormRefreshService } from \"./form-refresh-service\";\r\n","import {\r\n autoinject, TemplatingEngine, TaskQueue\r\n} from \"aurelia-framework\";\r\nimport {\r\n FormBase\r\n} from \"../classes/form-base\";\r\nimport {\r\n CommandService,\r\n DefaultCommandsService,\r\n PopupInfoService,\r\n SelectItemService,\r\n ToolbarService,\r\n ValidationService,\r\n SettingService\r\n} from \"../services/export\";\r\nimport {\r\n DataSourceService,\r\n GlobalizationService,\r\n LocalizationService,\r\n RestService\r\n} from \"../../base/services/export\";\r\nimport {\r\n BaseWidgetCreatorService\r\n} from \"./base-widget-creator-service\";\r\nimport {\r\n ICommandData,\r\n IUpdateablePopupOptions\r\n} from \"../interfaces/export\";\r\nimport * as WidgetOptions from \"../widget-options/export\";\r\nimport * as DxLoader from \"../../dx/dx-loader\";\r\nimport { HtmlEditorService } from '../services/html-editor-service';\r\n\r\n@autoinject\r\nexport class SimpleWidgetCreatorService {\r\n constructor(\r\n private baseWidgetCreator: BaseWidgetCreatorService,\r\n private dataSource: DataSourceService,\r\n private globalization: GlobalizationService,\r\n private localization: LocalizationService,\r\n private toolbar: ToolbarService,\r\n private defaultCommands: DefaultCommandsService,\r\n private validation: ValidationService,\r\n private selectItem: SelectItemService,\r\n private popupInfo: PopupInfoService,\r\n private command: CommandService,\r\n private setting: SettingService,\r\n private templatingEngine: TemplatingEngine,\r\n private taskQueue: TaskQueue,\r\n private htmlEditorService: HtmlEditorService\r\n ) { }\r\n\r\n addAccordion(form: FormBase, options: WidgetOptions.IAccordionOptions) {\r\n this.baseWidgetCreator.createWidgetOptions(form, options);\r\n }\r\n addCalendar(form: FormBase, options: WidgetOptions.ICalendarOptions) {\r\n this.createEditorOptions(form, options);\r\n }\r\n addCheckBox(form: FormBase, options: WidgetOptions.ICheckBoxOptions) {\r\n const editorOptions: DevExpress.ui.dxCheckBoxOptions = this.createEditorOptions(form, options);\r\n\r\n if (this.setting.instance.IsLabelBeforeEditor) {\r\n editorOptions.text = \" \";\r\n } else {\r\n editorOptions.text = this.localization.translateOnce(options.caption, form.scopeContainer);\r\n }\r\n\r\n editorOptions;\r\n }\r\n addColorBox(form: FormBase, options: WidgetOptions.IColorBoxOptions) {\r\n const editorOptions: DevExpress.ui.dxColorBoxOptions = this.createEditorOptions(form, options);\r\n\r\n if (options.editAlphaChannel) {\r\n editorOptions.editAlphaChannel = options.editAlphaChannel;\r\n }\r\n\r\n editorOptions;\r\n }\r\n addDateBox(form: FormBase, options: WidgetOptions.IDateBoxOptions) {\r\n const editorOptions: DevExpress.ui.dxDateBoxOptions = this.createEditorOptions(form, options);\r\n\r\n if (options.min) {\r\n editorOptions.min = options.min;\r\n } else {\r\n editorOptions.min = new Date(1800, 0, 1);\r\n }\r\n\r\n if (options.max) {\r\n editorOptions.max = options.max;\r\n }\r\n if (options.format) {\r\n editorOptions.displayFormat = this.globalization.getFormatterParser(options.format);\r\n\r\n switch (options.format.toLowerCase()) {\r\n case \"t\": {\r\n editorOptions.type = \"time\";\r\n break;\r\n }\r\n case \"g\": {\r\n editorOptions.type = \"datetime\";\r\n break;\r\n }\r\n default: {\r\n break;\r\n }\r\n }\r\n }\r\n }\r\n addCommand(form: FormBase, options: WidgetOptions.ICommandElementOptions) {\r\n let command: ICommandData;\r\n\r\n if (options.binding.dataContext) {\r\n command = form.commandServerData[`${options.binding.dataContext};${options.binding.bindTo}`];\r\n } else {\r\n command = form.binding.evaluate(form.scope, options.binding.bindToFQ);\r\n }\r\n\r\n const buttonOptions: DevExpress.ui.dxButtonOptions = {};\r\n buttonOptions.text = this.localization.translateOnce(command.title, form.scopeContainer);\r\n buttonOptions.hint = this.localization.translateOnce(command.tooltip, form.scopeContainer);\r\n buttonOptions.width = \"100%\";\r\n buttonOptions.onClick = (a: any) => {\r\n if (typeof command.execute === \"function\") {\r\n command.execute({\r\n event: a.event\r\n });\r\n } else if (typeof command.execute === \"string\") {\r\n form.binding.evaluate(form.scope, command.execute);\r\n } else {\r\n throw new Error();\r\n }\r\n };\r\n\r\n form[options.options.optionsName] = buttonOptions;\r\n }\r\n addFileUploaderWithViewer(form: FormBase, options: WidgetOptions.IFileUploaderWithViewerOptions) {\r\n const widgetOptions = this.createEditorOptions(form, options);\r\n\r\n widgetOptions.acceptType = options.acceptType;\r\n widgetOptions.acceptTypeEnum = options.acceptTypeEnum;\r\n widgetOptions.caption = options.caption;\r\n widgetOptions.height = options.height;\r\n widgetOptions.iconDownload = options.iconDownload;\r\n widgetOptions.iconDownloadExpression = options.iconDownloadExpression;\r\n widgetOptions.placeholderIcon = options.placeholderIcon;\r\n widgetOptions.placeholderIconExpression = options.placeholderIconExpression;\r\n widgetOptions.placeholderImage = options.placeholderImage;\r\n widgetOptions.placeholderImageExpression = options.placeholderImageExpression;\r\n widgetOptions.placeholderImageText = options.placeholderImageText;\r\n widgetOptions.showViewer = options.showViewer;\r\n widgetOptions.tooltip = options.tooltip;\r\n widgetOptions.maxFileSizeMB = options.maxFileSizeMB;\r\n widgetOptions.caption = options.caption;\r\n widgetOptions.showToolbar = options.showToolbar;\r\n widgetOptions.showClearButton = options.showClearButton;\r\n\r\n //Werte aus erstellten Options nehmen, da diese ggf. erweitert wurden\r\n widgetOptions.isDisabled = widgetOptions.disabled;\r\n if (widgetOptions.bindingOptions.disabled != void (0)) {\r\n widgetOptions.isDisabledExpression = widgetOptions.bindingOptions.disabled;\r\n }\r\n\r\n widgetOptions.isReadOnly = widgetOptions.readOnly;\r\n if (widgetOptions.bindingOptions.readOnly != void (0)) {\r\n widgetOptions.isReadOnlyExpression = widgetOptions.bindingOptions.readOnly;\r\n }\r\n }\r\n addHtmlEditor(form: FormBase, options: WidgetOptions.IHtmlEditorOptions) {\r\n const editorOptions: DevExpress.ui.dxHtmlEditorOptions = this.createEditorOptions(form, options);\r\n this.htmlEditorService.configureHtmlEditor(form.scopeContainer, options, editorOptions);\r\n }\r\n addInclude(form: FormBase, options: WidgetOptions.IIncludeOptions) {\r\n }\r\n addLookup(form: FormBase, options: WidgetOptions.ISelectOptions) {\r\n const editorOptions: DevExpress.ui.dxLookupOptions = this.createEditorOptions(form, options);\r\n const selectItem = this.selectItem.getSelectItem(options.idSelect);\r\n\r\n this.addDataExpressionOptions(form, options, editorOptions, selectItem);\r\n\r\n if (editorOptions.closeOnOutsideClick == void (0)) {\r\n editorOptions.closeOnOutsideClick = true;\r\n }\r\n\r\n editorOptions.title = this.localization.translateOnce(\"forms.lookup_selectItem\");\r\n\r\n if (selectItem.searchMode) {\r\n editorOptions.searchMode = selectItem.searchMode;\r\n }\r\n\r\n if (selectItem.titleTemplateName) {\r\n editorOptions.titleTemplate = selectItem.titleTemplateName;\r\n }\r\n if (selectItem.fieldTemplateName) {\r\n editorOptions.fieldTemplate = selectItem.fieldTemplateName;\r\n }\r\n if (selectItem.itemTemplateName) {\r\n editorOptions.itemTemplate = selectItem.itemTemplateName;\r\n }\r\n }\r\n addNumberBox(form: FormBase, options: WidgetOptions.INumberBoxOptions) {\r\n const editorOptions: DevExpress.ui.dxNumberBoxOptions = this.createEditorOptions(form, options);\r\n\r\n if (options.format) {\r\n editorOptions.format = this.globalization.getNumberFormat(options.format);\r\n }\r\n if (options.showClearButton) {\r\n editorOptions.showClearButton = true;\r\n }\r\n if (options.showSpinButtons) {\r\n editorOptions.showSpinButtons = true;\r\n }\r\n if (options.max != void (0)) {\r\n editorOptions.max = options.max;\r\n }\r\n if (options.min != void (0)) {\r\n editorOptions.min = options.min;\r\n }\r\n if (options.step) {\r\n editorOptions.step = options.step;\r\n }\r\n }\r\n addPopover(form: FormBase, options: WidgetOptions.IPopoverOptions) {\r\n const widgetOptions: DevExpress.ui.dxPopoverOptions = this.baseWidgetCreator.createWidgetOptions(form, options);\r\n\r\n widgetOptions.contentTemplate = \"contentTemplate\";\r\n\r\n if (options.caption) {\r\n widgetOptions.title = this.localization.translateOnce(options.caption);\r\n }\r\n }\r\n addPopup(form: FormBase, options: WidgetOptions.IPopupOptions, registerPopupInfo: boolean = true) {\r\n const widgetOptions: DevExpress.ui.dxPopupOptions = this.baseWidgetCreator.createWidgetOptions(form, options);\r\n const idToolbar = `${options.id}Toolbar`;\r\n\r\n widgetOptions.showCloseButton = false;\r\n widgetOptions.contentTemplate = \"contentTemplate\";\r\n widgetOptions.titleTemplate = (container: Element) => {\r\n\r\n const toolbar = document.createElement(\"toolbar\");\r\n toolbar.setAttribute(\"options.bind\", idToolbar);\r\n container.appendChild(toolbar);\r\n\r\n const view = this.templatingEngine.enhance({\r\n element: toolbar,\r\n bindingContext: form.scopeContainer.scope.bindingContext,\r\n overrideContext: form.scopeContainer.scope.overrideContext\r\n });\r\n\r\n const dxEventOn: any = DevExpress.events.on;\r\n dxEventOn(toolbar, \"dxremove\", () => {\r\n view.unbind();\r\n view.detached();\r\n });\r\n };\r\n\r\n let onInitialized = widgetOptions.onInitialized;\r\n\r\n widgetOptions.onInitialized = (e) => {\r\n if (onInitialized) {\r\n onInitialized(e);\r\n }\r\n onInitialized = null;\r\n\r\n const component = e.component;\r\n if (registerPopupInfo) {\r\n\r\n }\r\n component.on(\"showing\", c => {\r\n const content: Element = component.content();\r\n content.parentElement.classList.add(\"t--popup\");\r\n\r\n if (registerPopupInfo) {\r\n this.popupInfo.onShowPopup({\r\n owner: form,\r\n popup: c.component\r\n });\r\n }\r\n });\r\n component.on(\"hidden\", c => {\r\n if (registerPopupInfo) {\r\n this.popupInfo.onHidePopup(c.component);\r\n }\r\n });\r\n };\r\n\r\n if (options.height) {\r\n widgetOptions.height = options.height;\r\n }\r\n if (options.width) {\r\n widgetOptions.width = options.width;\r\n }\r\n widgetOptions.maxHeight = \"100%\";\r\n widgetOptions.maxWidth = \"100%\";\r\n\r\n const commands: ICommandData[] = [];\r\n if (options.showCloseButton == void (0) || options.showCloseButton == true) {\r\n commands.push(this.defaultCommands.getClosePopupCommand());\r\n }\r\n\r\n commands.push(...options.commands.map(c => {\r\n const cmd = form.binding.evaluate(form.scope, c.binding.bindToFQ);\r\n if (!cmd) {\r\n throw new Error(`No command for ${c.binding.bindToFQ} found`);\r\n }\r\n\r\n return cmd;\r\n }));\r\n\r\n form[idToolbar] = this.toolbar.createToolbarOptions(\r\n form.scopeContainer,\r\n options.caption,\r\n commands\r\n );\r\n }\r\n addRadioGroup(form: FormBase, options: WidgetOptions.ISelectOptions) {\r\n const editorOptions: DevExpress.ui.dxRadioGroupOptions = this.createEditorOptions(form, options);\r\n const selectItem = this.selectItem.getSelectItem(options.idSelect);\r\n\r\n this.addDataExpressionOptions(form, options, editorOptions, selectItem);\r\n\r\n if (selectItem.itemTemplateName) {\r\n editorOptions.itemTemplate = selectItem.itemTemplateName;\r\n }\r\n }\r\n addSelectBox(form: FormBase, options: WidgetOptions.ISelectOptions) {\r\n const editorOptions: DevExpress.ui.dxSelectBoxOptions = this.createEditorOptions(form, options);\r\n const selectItem = this.selectItem.getSelectItem(options.idSelect);\r\n\r\n editorOptions.searchEnabled = true;\r\n editorOptions.searchExpr = selectItem.displayMember;\r\n editorOptions.showClearButton = true;\r\n\r\n if (selectItem.searchMode) {\r\n editorOptions.searchMode = selectItem.searchMode;\r\n }\r\n\r\n this.addDataExpressionOptions(form, options, editorOptions, selectItem);\r\n\r\n if (selectItem.fieldTemplateName) {\r\n editorOptions.fieldTemplate = selectItem.fieldTemplateName;\r\n }\r\n if (selectItem.itemTemplateName) {\r\n editorOptions.itemTemplate = selectItem.itemTemplateName;\r\n }\r\n }\r\n addTab(form: FormBase, options: WidgetOptions.ITabOptions) {\r\n const tabOptions: DevExpress.ui.dxTabsOptions = this.baseWidgetCreator.createWidgetOptions(form, options);\r\n\r\n let component: DevExpress.ui.dxTabs;\r\n tabOptions.onInitialized = (e) => {\r\n component = e.component;\r\n }\r\n\r\n tabOptions.items = [];\r\n const propSelected = `${options.id}Selected`;\r\n tabOptions.bindingOptions[\"selectedIndex\"] = propSelected;\r\n\r\n options.pages.forEach((page, index) => {\r\n const pageOptions = {\r\n text: this.localization.translateOnce(page.caption, form.scopeContainer),\r\n visible: true,\r\n __options: page,\r\n __index: index\r\n };\r\n\r\n if (page.if) {\r\n form.binding.observe({\r\n scopeContainer: form.scopeContainer,\r\n expression: page.if,\r\n callback: (newValue) => {\r\n if (component) {\r\n component.option(`items[${index}].visible`, newValue);\r\n }\r\n\r\n pageOptions.visible = newValue;\r\n\r\n if ((!newValue && form[`${options.id}Selected`] == index)\r\n || (newValue && form[`${options.id}Selected`] == -1)) {\r\n this.taskQueue.queueMicroTask(() => {\r\n //Prüfen, welchen Tab wird jetzt anzeigen, da aktueller nicht mehr sichtbar ist ...\r\n for (let p of tabOptions.items) {\r\n if (!p.visible) {\r\n continue;\r\n }\r\n\r\n form[`${options.id}Selected`] = p.__index;\r\n break;\r\n }\r\n\r\n if (form[`${options.id}Selected`] == index) {\r\n form[`${options.id}Selected`] = -1;\r\n }\r\n });\r\n }\r\n }\r\n });\r\n\r\n pageOptions.visible = form.binding.evaluate(form.scope, page.if);\r\n }\r\n\r\n tabOptions.items.push(pageOptions);\r\n });\r\n\r\n const firstVisible = tabOptions.items.find(c => c.visible);\r\n if (firstVisible) {\r\n form[propSelected] = firstVisible.__index;\r\n } else {\r\n form[propSelected] = -1;\r\n }\r\n\r\n const callOnActivate = (e) => {\r\n if (!e.addedItems || e.addedItems.length === 0) {\r\n return;\r\n }\r\n\r\n const page = e.addedItems[0];\r\n if (!page || !page.__options || !page.__options.onActivated) {\r\n return;\r\n }\r\n\r\n form.binding.evaluate(form.scope, page.__options.onActivated);\r\n }\r\n const checkGridInitialize = (e) => {\r\n const index = e.component.option(\"selectedIndex\");\r\n const name = `${options.id}TabPage${index}`;\r\n\r\n if (!form[name]) {\r\n return;\r\n }\r\n\r\n const element: Element = form[name];\r\n const attr = element.getAttribute(\"data-tab-page-activated\");\r\n if (attr == \"true\") {\r\n return;\r\n }\r\n\r\n element.setAttribute(\"data-tab-page-activated\", \"true\");\r\n const children = Array.from(element.querySelectorAll(\".dx-widget > .dx-datagrid\"));\r\n for (let i = 0; i < children.length; i++) {\r\n const gr = children[i];\r\n let parent = gr.parentElement;\r\n\r\n while (parent != null && parent != element) {\r\n if (parent.getAttribute(\"data-tab-page-activated\") == \"false\") {\r\n return;\r\n }\r\n parent = parent.parentElement;\r\n }\r\n\r\n DxLoader.getInstance(\"dxDataGrid\", gr.parentElement)\r\n .updateDimensions();\r\n }\r\n }\r\n\r\n tabOptions.onSelectionChanged = (e) => {\r\n callOnActivate(e);\r\n\r\n this.taskQueue.queueMicroTask(() => {\r\n checkGridInitialize(e);\r\n });\r\n };\r\n }\r\n addTagBox(form: FormBase, options: WidgetOptions.ITagBoxOptions) {\r\n const widgetOptions: DevExpress.ui.dxTagBoxOptions = this.createEditorOptions(form, options);\r\n const selectItem = options.editorOptions && options.editorOptions.idSelect\r\n ? this.selectItem.getSelectItem(options.editorOptions.idSelect)\r\n : null;\r\n\r\n widgetOptions.searchEnabled = true;\r\n let keyProperty = \"\";\r\n\r\n if (selectItem) {\r\n widgetOptions.valueExpr = selectItem.valueMember;\r\n widgetOptions.displayExpr = selectItem.displayMember;\r\n\r\n if (selectItem.fieldTemplateName) {\r\n widgetOptions.fieldTemplate = selectItem.fieldTemplateName;\r\n }\r\n if (selectItem.itemTemplateName) {\r\n widgetOptions.itemTemplate = selectItem.itemTemplateName;\r\n }\r\n\r\n this.addDataExpressionOptions(form, options.editorOptions, widgetOptions, selectItem);\r\n keyProperty = selectItem.valueMember;\r\n } else {\r\n widgetOptions.valueExpr = options.itemValueExpr;\r\n widgetOptions.displayExpr = options.itemDisplayExpr;\r\n\r\n const model = form.models.getInfo(options.itemDataContext);\r\n const dataSource = this.dataSource.createDataSource(\r\n form.scopeContainer, \r\n model,\r\n null,\r\n () => dataSource.reload());\r\n widgetOptions.dataSource = dataSource;\r\n keyProperty = model.keyProperty;\r\n }\r\n\r\n if (options.batchSelectionEnabled) {\r\n widgetOptions.showSelectionControls = true;\r\n widgetOptions.applyValueMode = \"useButtons\";\r\n }\r\n\r\n if (options.fieldTemplateName) {\r\n widgetOptions.fieldTemplate = options.fieldTemplateName;\r\n }\r\n if (options.itemTemplateName) {\r\n widgetOptions.itemTemplate = options.itemTemplateName;\r\n }\r\n if (options.tagTemplateName) {\r\n widgetOptions.tagTemplate = options.tagTemplateName;\r\n }\r\n\r\n let onInitialized = widgetOptions.onInitialized;\r\n\r\n widgetOptions.onInitialized = (e) => {\r\n if (onInitialized) {\r\n onInitialized(e);\r\n }\r\n\r\n onInitialized = null;\r\n\r\n const component = e.component;\r\n component.on(\"selectionChanged\", scArgs => {\r\n const addedItems: any[] = scArgs.addedItems;\r\n const removedItems: any[] = scArgs.removedItems;\r\n\r\n let list: any[] = form.binding.evaluate(form.scope, options.relationBinding.bindToFQ);\r\n\r\n if (list == void (0)) {\r\n list = [];\r\n form.binding.assign(form.scope, options.relationBinding.bindToFQ, list);\r\n }\r\n\r\n addedItems.map(c => c).forEach(c => {\r\n const indexOf1 = removedItems.findIndex(d => c[keyProperty] == d[keyProperty]);\r\n if (indexOf1 < 0) {\r\n return;\r\n }\r\n\r\n const indexOf2 = addedItems.findIndex(d => c[keyProperty] == d[keyProperty]);\r\n addedItems.splice(indexOf2, 1);\r\n removedItems.splice(indexOf1, 1);\r\n });\r\n\r\n addedItems.forEach(c => {\r\n const exists = list.some(d => d[options.relationProperty] == c[keyProperty]);\r\n if (exists) {\r\n return;\r\n }\r\n\r\n const newObj = {};\r\n newObj[options.relationProperty] = c[keyProperty];\r\n list.push(newObj);\r\n });\r\n removedItems.forEach(c => {\r\n const existsList = list.filter(d => d[options.relationProperty] == c[keyProperty]);\r\n\r\n existsList.forEach(d => {\r\n const index = list.indexOf(d);\r\n list.splice(index, 1);\r\n })\r\n });\r\n });\r\n }\r\n\r\n form.models.onLoaded.register(a => {\r\n if (a.model.id !== options.dataContext) {\r\n return;\r\n }\r\n\r\n const list: any[] = form.binding.evaluate(form.scope, options.relationBinding.bindToFQ)\r\n || [];\r\n\r\n const data = list.map(c => c[options.relationProperty])\r\n .filter(c => c != void (0));\r\n\r\n if (form[options.id]) {\r\n form[options.id].setOption({\r\n value: data\r\n });\r\n } else {\r\n widgetOptions.value = data;\r\n }\r\n\r\n return Promise.resolve();\r\n });\r\n }\r\n addTextBox(form: FormBase, options: WidgetOptions.ITextBoxOptions) {\r\n const editorOptions: DevExpress.ui.dxTextBoxOptions = this.createEditorOptions(form, options);\r\n\r\n if (options.maxLength) {\r\n editorOptions.maxLength = options.maxLength;\r\n }\r\n if (options.mode) {\r\n editorOptions.mode = options.mode;\r\n }\r\n if (options.useMaskedValue != void (0)) {\r\n editorOptions.useMaskedValue = options.useMaskedValue;\r\n }\r\n if (options.mask) {\r\n editorOptions.mask = options.mask;\r\n }\r\n if (options.maskChar) {\r\n editorOptions.maskChar = options.maskChar;\r\n }\r\n if (editorOptions.mode == \"password\" && form.id.toLowerCase().indexOf(\"login\") < 0) {\r\n if (editorOptions.inputAttr == void(0)) {\r\n editorOptions.inputAttr = {};\r\n }\r\n editorOptions.inputAttr[\"autocomplete\"] = \"new-password\";\r\n }\r\n }\r\n addTextArea(form: FormBase, options: WidgetOptions.ITextAreaOptions) {\r\n const editorOptions: DevExpress.ui.dxTextAreaOptions = this.createEditorOptions(form, options);\r\n\r\n if (options.maxLength) {\r\n editorOptions.maxLength = options.maxLength;\r\n }\r\n\r\n if (options.height) {\r\n editorOptions.height = options.height;\r\n }\r\n }\r\n addValidationGroup(form: FormBase, options: WidgetOptions.IValidationGroupOptions) {\r\n const validationOptions: DevExpress.ui.dxValidationGroupOptions = {};\r\n\r\n form[options.options.optionsName] = validationOptions;\r\n\r\n form.onValidating.register(r => {\r\n const widget = form[options.id];\r\n if (!widget) {\r\n return Promise.resolve();\r\n }\r\n\r\n const groupConfig = DevExpress.validationEngine.getGroupConfig(widget.instance);\r\n if (groupConfig === undefined) {\r\n return Promise.resolve();\r\n }\r\n\r\n const instance: DevExpress.ui.dxValidationGroup = widget.instance;\r\n\r\n const result = instance.validate();\r\n\r\n if (result.isValid) {\r\n return Promise.resolve(r.validationResult);\r\n } else {\r\n r.validationResult.isValid = false;\r\n r.validationResult.messages.push(...result\r\n .brokenRules\r\n .map(c => c.message));\r\n\r\n return Promise.resolve();\r\n }\r\n });\r\n }\r\n\r\n updatePopupOptions(updateablePopupOptions: IUpdateablePopupOptions) {\r\n const options = updateablePopupOptions.options;\r\n\r\n var commands: ICommandData[] = [];\r\n commands.push(this.defaultCommands.getClosePopupCommand());\r\n commands.push(...updateablePopupOptions.commands);\r\n\r\n options.showCloseButton = false;\r\n options.titleTemplate = (container: Element) => {\r\n const toolbar = document.createElement(\"toolbar\");\r\n toolbar.setAttribute(\"options.bind\", updateablePopupOptions.idToolbar);\r\n\r\n container.appendChild(toolbar);\r\n\r\n const view = this.templatingEngine.enhance({\r\n element: toolbar,\r\n bindingContext: updateablePopupOptions.scopeContainer.scope.bindingContext,\r\n overrideContext: updateablePopupOptions.scopeContainer.scope.overrideContext\r\n });\r\n\r\n const dxEventOn: any = DevExpress.events.on;\r\n dxEventOn(toolbar, \"dxremove\", () => {\r\n view.unbind();\r\n view.detached();\r\n });\r\n };\r\n options.contentTemplate = \"contentTemplate\";\r\n\r\n let onInitialized = options.onInitialized;\r\n let component: DevExpress.ui.dxPopup;\r\n options.onInitialized = (e) => {\r\n if (onInitialized) {\r\n onInitialized(e);\r\n }\r\n\r\n onInitialized = null;\r\n\r\n component = e.component;\r\n component.on(\"showing\", c => {\r\n const content: Element = c.component.content();\r\n content.parentElement.classList.add(\"t--popup\");\r\n\r\n this.popupInfo.onShowPopup({\r\n owner: null,\r\n popup: c.component,\r\n executeCommand: (idCommand) => {\r\n const command = commands.find(c => c.id == idCommand);\r\n if (!command) {\r\n return;\r\n }\r\n\r\n this.command.execute(\r\n updateablePopupOptions.scopeContainer.scope,\r\n command, {\r\n event: null\r\n }\r\n );\r\n }\r\n });\r\n });\r\n component.on(\"hidden\", c => {\r\n this.popupInfo.onHidePopup(c.component);\r\n });\r\n }\r\n\r\n updateablePopupOptions.scopeContainer.scope.bindingContext[updateablePopupOptions.idToolbar] = this.toolbar.createToolbarOptions(\r\n updateablePopupOptions.scopeContainer,\r\n updateablePopupOptions.caption,\r\n commands\r\n );\r\n }\r\n\r\n private createEditorOptions(form: FormBase, options: WidgetOptions.IEditorOptions): any {\r\n const editorOptions: DevExpress.ui.EditorOptions = this.baseWidgetCreator.createWidgetOptions(form, options);\r\n\r\n editorOptions[\"onValueChangedByUser\"] = (e) => {\r\n form.onEditorValueChanged.fire({\r\n binding: options.binding,\r\n value: e.value\r\n });\r\n };\r\n\r\n let onInitialized = editorOptions.onInitialized;\r\n editorOptions.onInitialized = (e) => {\r\n if (onInitialized) {\r\n onInitialized(e);\r\n }\r\n\r\n onInitialized = null;\r\n\r\n const component = e.component;\r\n component.on(\"valueChanged\", (c) => {\r\n if (options.onValueChanged) {\r\n form.binding.execute(form.scope, options.onValueChanged, c);\r\n }\r\n });\r\n };\r\n\r\n if (options.binding && options.binding.bindToFQ) {\r\n editorOptions.bindingOptions[\"value\"] = options.binding.bindToFQ;\r\n }\r\n\r\n if (options.isReadOnly) {\r\n editorOptions.readOnly = true;\r\n } else if (options.binding && options.binding.dataContext) {\r\n const model = form.models.getInfo(options.binding.dataContext, false);\r\n let readOnlyExpression = options.isReadOnlyExpression;\r\n\r\n if (model && model.modificationInfoEnabled) {\r\n const modExpression = `!models.data.${model.id}.CanSave`;\r\n\r\n if (readOnlyExpression == void (0)) {\r\n readOnlyExpression = modExpression;\r\n } else {\r\n readOnlyExpression = `(${readOnlyExpression}) || (${modExpression})`;\r\n }\r\n }\r\n\r\n if (readOnlyExpression != void (0)) {\r\n editorOptions.bindingOptions[\"readOnly\"] = readOnlyExpression;\r\n }\r\n } else if (options.isReadOnlyExpression) {\r\n editorOptions.bindingOptions[\"readOnly\"] = options.isReadOnlyExpression;\r\n }\r\n\r\n if (options.placeholder) {\r\n (editorOptions).placeholder = this.localization.translateOnce(options.placeholder, form.scopeContainer);\r\n }\r\n\r\n editorOptions[\"validators\"] = options.validationRules.map(v => {\r\n if (v.binding) {\r\n return form.binding.evaluate(form.scope, v.binding.bindToFQ);\r\n } else if (v.item) {\r\n return this.validation.getValidator(\r\n form.scopeContainer,\r\n v.item.type,\r\n options.caption,\r\n v.item.parameters\r\n );\r\n } else {\r\n throw new Error(\"No binding/item specified\");\r\n }\r\n });\r\n\r\n return editorOptions;\r\n }\r\n private addDataExpressionOptions(form: FormBase, options: WidgetOptions.ISelectOptions, current: DevExpress.ui.DataExpressionMixinOptions, selectItem: WidgetOptions.ISelectItem): void {\r\n const observerCallback = (dataSourceOptions) => {\r\n const observers = this.dataSource.getElementsToObserve(dataSourceOptions);\r\n if (observers.length > 0) {\r\n const editorOptions: DevExpress.ui.EditorOptions = current;\r\n\r\n let onInitialized = editorOptions.onInitialized;\r\n editorOptions.onInitialized = (e) => {\r\n if (onInitialized) {\r\n onInitialized(e);\r\n }\r\n\r\n onInitialized = null;\r\n\r\n form.onEditorValueChanged.register(evcArgs => {\r\n if (evcArgs.binding) {\r\n if (observers.some(c => c === evcArgs.binding.bindToFQ)) {\r\n form.binding.assign(form.scope, options.binding.bindToFQ, null);\r\n\r\n //Event manuell auslösen (wurde ja nicht direkt durch Benutzer gemacht)\r\n form.onEditorValueChanged.fire({\r\n binding: options.binding,\r\n value: null\r\n });\r\n }\r\n }\r\n\r\n return Promise.resolve();\r\n });\r\n }\r\n }\r\n };\r\n \r\n const dataSource = this.selectItem.createSelectDataSource(\r\n form.scopeContainer,\r\n selectItem,\r\n options.filter,\r\n options.filters,\r\n options.customs,\r\n observerCallback);\r\n\r\n current.dataSource = dataSource;\r\n current.valueExpr = selectItem.valueMember;\r\n current.displayExpr = selectItem.displayMember;\r\n }\r\n}\r\n","import {\r\n autoinject,\r\n} from \"aurelia-framework\";\r\nimport {\r\n EventAggregator\r\n} from \"aurelia-event-aggregator\";\r\nimport {\r\n IPopupInfo\r\n} from \"../interfaces/popup-info\";\r\nimport { FormBase } from '../classes/form-base';\r\n\r\n@autoinject\r\nexport class PopupInfoService {\r\n private _popupStack: IPopupInfo[] = [];\r\n\r\n constructor(\r\n private _eventAggregator: EventAggregator\r\n ) {\r\n this._eventAggregator.subscribe(\"window:beforeunload\", e => {\r\n e.hasChangedData = e.hasChangedData || this.hasPopupWithUnchangedData();\r\n });\r\n this._eventAggregator.subscribe(\"popup-info:popup-open\", e => {\r\n e.isOpen = this.isPopupOpen();\r\n });\r\n this._eventAggregator.subscribe(\"shortcut:execute\", e => {\r\n if (this.isPopupOpen()) {\r\n const lastPopupInfo = this.getCurrentPopup();\r\n\r\n if (lastPopupInfo.executeCommand) {\r\n lastPopupInfo.executeCommand(e.idCommand);\r\n }\r\n }\r\n });\r\n }\r\n\r\n onShowPopup(info: IPopupInfo) {\r\n if (info.popup) {\r\n const content = info.popup.content();\r\n\r\n //Muss 2x ausgeführt werden ...\r\n //Das erste Mal wegen der Bestimmung der Höhe\r\n //Das zweite Mal, wenn danach die Breite des Popups von DX noch angepasst wurde\r\n this._eventAggregator.publish(\"grid:check-class\", {\r\n element: content\r\n });\r\n\r\n const handler = (() => {\r\n this._eventAggregator.publish(\"grid:check-class\", {\r\n element: content\r\n });\r\n\r\n info.popup.off(\"positioned\", handler);\r\n }).bind(this);\r\n info.popup.on(\"positioned\", handler);\r\n }\r\n\r\n this._popupStack.push(info);\r\n }\r\n onHidePopup(popup: DevExpress.ui.dxPopup) {\r\n const popupInfoIndex = this._popupStack.findIndex(c => c.popup == popup);\r\n\r\n if (popupInfoIndex < 0) {\r\n console.log(\"Popup not registered\");\r\n throw new Error(\"Popup not registered\");\r\n }\r\n\r\n this._popupStack.splice(popupInfoIndex, 1);\r\n }\r\n\r\n getCurrentPopup(): IPopupInfo {\r\n if (this._popupStack.length == 0) {\r\n return;\r\n }\r\n\r\n return this._popupStack[this._popupStack.length - 1];\r\n }\r\n getPopup(form: FormBase): IPopupInfo {\r\n return this._popupStack.find(p => p.form == form);\r\n }\r\n\r\n async closeCurrentPopup(): Promise {\r\n const popupInfo = this.getCurrentPopup();\r\n if (!popupInfo) {\r\n return;\r\n }\r\n\r\n if (popupInfo.handleChangedData) {\r\n const canDeactivate = await popupInfo.handleChangedData();\r\n if (!canDeactivate) {\r\n return false;\r\n }\r\n }\r\n\r\n popupInfo.popup.hide();\r\n return true;\r\n }\r\n async closeAllPopups(): Promise {\r\n while (this._popupStack.length > 0) {\r\n const result = await this.closeCurrentPopup();\r\n\r\n if (!result) {\r\n return false;\r\n }\r\n }\r\n\r\n return true;\r\n }\r\n\r\n isPopupOpen() {\r\n return this._popupStack.length > 0;\r\n }\r\n\r\n private hasPopupWithUnchangedData(): boolean {\r\n for (let item of this._popupStack) {\r\n if (!item.hasChangedData) {\r\n continue;\r\n }\r\n\r\n if (item.hasChangedData()) {\r\n return true;\r\n }\r\n }\r\n\r\n return false;\r\n }\r\n}\r\n","module.exports = \"
\";","import {\r\n autoinject,\r\n transient,\r\n TaskQueue\r\n} from \"aurelia-framework\";\r\nimport {\r\n AuthorizationService, LocalizationService\r\n} from \"../../../base/export\";\r\nimport { \r\n FormBase,\r\n ICommandData\r\n} from \"../../../forms/export\";\r\nimport { LocationService } from '../../../base/services/location-service';\r\nimport { HistoryService } from '../../../forms/services/history-service';\r\n\r\n@autoinject\r\n@transient()\r\nexport class LoginFuncs {\r\n private form: FormBase;\r\n \r\n constructor(\r\n private _authorizationService: AuthorizationService,\r\n private _historyService: HistoryService,\r\n private _locationService: LocationService,\r\n private _localization: LocalizationService,\r\n private _taskQueue: TaskQueue\r\n ) { }\r\n\r\n goToUrlAfterLogin: string;\r\n showTwoFactorAuth = false;\r\n\r\n loginCommand: ICommandData = {\r\n id: \"$login\",\r\n title: \"login-form-funcs.anmelden_caption\",\r\n execute: async (e: any) => {\r\n const event = e && e.event\r\n ? e.event\r\n : (e.preventDefault ? e : null);\r\n\r\n if (event) {\r\n event.preventDefault();\r\n event.stopPropagation();\r\n }\r\n\r\n if (!this.form.models.data.$m_login.Username || !this.form.models.data.$m_login.Password) {\r\n DevExpress.ui.notify(this._localization.translateOnce(\"login-form-funcs.benutzer_passwort_angeben\"), \"error\", 3000);\r\n return;\r\n }\r\n\r\n const r = await this._authorizationService.login(this.form.models.data.$m_login);\r\n\r\n if (r.isLoggedIn && this.goToUrlAfterLogin) {\r\n this._historyService.pipelineUrl = this.goToUrlAfterLogin;\r\n } else if (r.needsTwoFactorAuthKey) {\r\n this.showTwoFactorAuth = true;\r\n\r\n this._taskQueue.queueTask(() => {\r\n const keyInput = this.form[\"twoFactorKey\"];\r\n if (keyInput && keyInput.instance) {\r\n keyInput.instance.focus();\r\n }\r\n });\r\n }\r\n }\r\n };\r\n \r\n forgotPasswordCommand: ICommandData = {\r\n id: \"$reset\",\r\n title: \"login-form-funcs.vergessen_caption\",\r\n execute: () => {\r\n this._locationService.goTo({\r\n url: \"reset-password\",\r\n clearStack: true\r\n });\r\n }\r\n };\r\n\r\n goBackToLoginCommand: ICommandData = {\r\n id: \"$reset\",\r\n title: \"login-form-funcs.zurueck_zu_login\",\r\n execute: () => {\r\n this.showTwoFactorAuth = false;\r\n }\r\n};\r\n\r\n bind(form: FormBase) {\r\n this.form = form;\r\n\r\n this.goToUrlAfterLogin = this._historyService.lastRequestUrl;\r\n\r\n form.models.data.$m_login = {\r\n StayLoggedOn: false\r\n };\r\n }\r\n}\r\n","export enum PersonzuordnungMoeglichkeit {\r\n NichtMoeglich = 0,\r\n Moeglich = 1,\r\n Fraglich = 2\r\n}\r\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\";\r\nexport * from \"./benutzereinstellung-data\";\r\nexport * from \"./benutzerrolle-code-data\";\r\nexport * from \"./dx-components\";\r\nexport * from \"./erweiterte-suche-objekt-feld-data\";\r\nexport * from \"./loeschen-benutzer-data\";\r\nexport * from \"./multi-marker-data\";\r\nexport * from \"./objekt-export-eigenschaft-data\";\r\nexport * from \"./objekt-info-data\";\r\nexport * from \"./passwort-aendern-data\";\r\nexport * from \"./person-dossier-data\";\r\nexport * from \"./startup-info\";\r\nexport * from \"./status-benutzer-available-data\";\r\nexport * from \"./status-change-data\";\r\nexport * from \"./status-change-result-data\";\r\nexport * from \"./suche-query-item-data\";\r\nexport * from \"./text-value\";\r\nexport * from \"./validation-model-result-data\";\r\nexport * from \"./vorlage-einstellung-data\";\r\nexport * from \"./layout-typ\";\r\n","import { FormBase } from \"./../../../../framework/forms/classes/form-base\";\r\nimport { autoinject, transient } from \"aurelia-framework\";\r\n\r\n@autoinject\r\n@transient()\r\nexport class EventListUtils {\r\n\r\n form: FormBase;\r\n\r\n bind(form: FormBase) {\r\n this.form = form;\r\n }\r\n}\r\n","import { IdxTextAreaComponent } from \"./../../../interfaces/dx-components\";\r\nimport { StartupService } from \"./../../../services/startup-service\";\r\nimport { RestService } from \"./../../../../framework/base/services/rest-service\";\r\nimport { IEditorValueChangedEventArgs } from \"./../../../../framework/forms/event-args/editor-value-changed\";\r\nimport { EventAggregator, Subscription } from \"aurelia-event-aggregator\";\r\nimport { autoinject, computedFrom, transient, TaskQueue } from \"aurelia-framework\";\r\nimport { FormBase } from \"./../../../../framework/forms/classes/form-base\";\r\nimport { GlobalizationService } from \"../../../../framework/base/services/globalization-service\";\r\nimport { IZitTagOptions } from \"../../../../zit-ui/elements/zit-tag/export\";\r\nimport { ICommandData, ModelUtilsService } from \"../../../../framework/forms/export\";\r\nimport { Share } from \"../../../elements/share/share\";\r\nimport { FormPopupService } from \"../../../services/form-popup-service\";\r\nimport { LocalizationService, LocationService } from \"../../../../framework/base/export\";\r\n\r\nimport * as moment from \"moment\";\r\n\r\n@autoinject\r\n@transient()\r\nexport class StelleninseratEditUtils {\r\n private _reloadModelSubscription: Subscription;\r\n private _stelleninseratKopfElementChannelSaved: Subscription;\r\n private ID_MANDANT_HEARTBASE = 5;\r\n private _reloadAfterStelleninseratKopfChannelEditHidden: boolean;\r\n\r\n constructor(\r\n public startupService: StartupService,\r\n private _restService: RestService,\r\n private _globalizationService: GlobalizationService,\r\n private _taskQueue: TaskQueue,\r\n private _eventAggregator: EventAggregator,\r\n private _formPopupService: FormPopupService,\r\n private _localizationService: LocalizationService,\r\n private _modelUtilsService: ModelUtilsService,\r\n private _locationService: LocationService) {\r\n this.pvTextModel = {\r\n Kopfzeile1: \"\",\r\n Fusszeile1: \"\"\r\n };\r\n }\r\n\r\n form: FormBase;\r\n pvTextModel: any;\r\n hasPackage: boolean = true;\r\n bewerbungenListViewCaption: string;\r\n isGeschaeftspartnerSchule: boolean;\r\n\r\n actionCommand: ICommandData = {\r\n id: \"actionCommand\",\r\n icon: \"fas fa-share-alt\",\r\n tooltip: \"zit.aktionen\",\r\n sortIndex: 99,\r\n isVisibleExpression: \"r_share.canShare\",\r\n execute: (executeOptions) => {\r\n const share: Share = this.form[\"r_share\"];\r\n share.showCtxMenu(executeOptions.event);\r\n }\r\n };\r\n bewerbungstypTextAreaOptions: DevExpress.ui.dxTextAreaOptions = {\r\n height: \"75px\",\r\n readOnly: true\r\n };\r\n\r\n stelleninseratGruppeTagOptions: IZitTagOptions = {\r\n isClickEnabled: true,\r\n textExpression: \"item.Text | zitRestrictLength:50\",\r\n icon: {\r\n textExpression: \"item.Gruppentyp.Bezeichnung ? item.Gruppentyp.Bezeichnung[0] : 'G'\"\r\n }\r\n };\r\n\r\n ferialbewerbungEinsatzbereichTagOptions: IZitTagOptions = {\r\n isClickEnabled: true,\r\n textExpression: \"item.Einsatzbereich\",\r\n icon: {\r\n text: \"EB\"\r\n }\r\n };\r\n\r\n stelleninseratSchnupperterminTagOptions: IZitTagOptions = {\r\n isClickEnabled: true,\r\n textExpression: \"item.SchnupperterminDatum | zitMoment:'wochenTag'\",\r\n icon: {\r\n text: \"T\"\r\n }\r\n };\r\n \r\n stelleninseratKlasseTagOptions: IZitTagOptions = {\r\n isClickEnabled: true,\r\n textExpression: \"item.Bezeichnung\",\r\n icon: {\r\n text: \"K\"\r\n }\r\n };\r\n\r\n geschlechtM_W_D_Options: DevExpress.ui.dxTextBoxOptions = {\r\n readOnly: true,\r\n value: \"(m/w/d)\",\r\n width: 60\r\n };\r\n\r\n keinPackageRule = {\r\n type: \"custom\",\r\n message: \"Firmenwebsite hat kein gültiges Package\",\r\n reevaluate: true,\r\n validationCallback: () => {\r\n return false;\r\n }\r\n };\r\n\r\n bewerbungVonValidationRule = {\r\n type: \"custom\",\r\n reevaluate: true,\r\n isValid: true,\r\n message: \"\",\r\n validationCallback: (e) => {\r\n if (!e.value) {\r\n return true;\r\n }\r\n\r\n const model = this.form.models.data.$m_Stelleninserat;\r\n if (!model || !model.Kopf) {\r\n return true;\r\n }\r\n\r\n const gueltigVon = model.Kopf.GueltigVon;\r\n const gueltigBis = model.Kopf.GueltigBis;\r\n\r\n if (gueltigVon && e.value < gueltigVon) {\r\n this.bewerbungVonValidationRule.message = \"Datum muss größer gleich \" + this._globalizationService.format(gueltigVon, \"d\") + \" sein\";\r\n return false;\r\n }\r\n if (gueltigBis && e.value > gueltigBis) {\r\n this.bewerbungVonValidationRule.message = \"Datum muss kleiner gleich \" + this._globalizationService.format(gueltigBis, \"d\") + \" sein\";\r\n return false;\r\n }\r\n\r\n return true;\r\n }\r\n };\r\n bewerbungBisValidationRule = {\r\n type: \"custom\",\r\n reevaluate: true,\r\n isValid: true,\r\n message: \"\",\r\n validationCallback: (e) => {\r\n if (!e.value) {\r\n return true;\r\n }\r\n\r\n const model = this.form.models.data.$m_Stelleninserat;\r\n if (!model || !model.Kopf) {\r\n return true;\r\n }\r\n\r\n const gueltigVon = model.Kopf.GueltigVon;\r\n const gueltigBis = model.Kopf.GueltigBis;\r\n\r\n if (gueltigVon && e.value < gueltigVon) {\r\n this.bewerbungBisValidationRule.message = \"Datum muss größer gleich \" + this._globalizationService.format(gueltigVon, \"d\") + \" sein\";\r\n return false;\r\n }\r\n if (gueltigBis && e.value > gueltigBis) {\r\n this.bewerbungBisValidationRule.message = \"Datum muss kleiner gleich \" + this._globalizationService.format(gueltigBis, \"d\") + \" sein\";\r\n return false;\r\n }\r\n\r\n return true;\r\n }\r\n };\r\n\r\n trainerTagOptions: IZitTagOptions = {\r\n icon: {\r\n textExpression: \"item.Ansprechperson.FunktionTagText\"\r\n },\r\n textExpression: \"item.Ansprechperson.Titel\",\r\n infoList: [{\r\n backgroundColorExpression: \"item.IsGueltig ? 'green' : 'red'\",\r\n color: \"transparent\",\r\n icon: {\r\n faIcon: \"fas fa-circle\"\r\n }\r\n }, {\r\n icon: {\r\n faIcon: \"fas fa-pencil-alt\"\r\n },\r\n onClick: (ev, data) => {\r\n ev.preventDefault();\r\n ev.stopPropagation();\r\n\r\n this.trainerEdit(data);\r\n }\r\n }],\r\n onClick: (_, data) => {\r\n this._locationService.goTo({\r\n url: `Objekte/Ansprechperson/${data.IdAnsprechperson}`,\r\n currentViewModel: this.form\r\n });\r\n },\r\n onDeleteClick: (_, data) => {\r\n const index = this.form.models.data.$m_Stelleninserat.Kopf.StelleninseratTrainer.indexOf(data);\r\n if (index < 0) {\r\n return;\r\n }\r\n\r\n this.form.models.data.$m_Stelleninserat.Kopf.StelleninseratTrainer.splice(index, 1);\r\n this._modelUtilsService.setDirty(this.form.models.data.$m_Stelleninserat);\r\n }\r\n };\r\n\r\n @computedFrom(\"form.models.data.$m_Stelleninserat._CanAddChannel\")\r\n get canAddChannel() {\r\n return this.form?.models?.data?.$m_Stelleninserat?._CanAddChannel || false;\r\n }\r\n\r\n bind(form: FormBase) {\r\n this.form = form;\r\n\r\n this._reloadModelSubscription = this._eventAggregator.subscribe(\"bewerbung:umgebucht\", (e) => {\r\n if (!e.IdStelleninserat || e.IdStelleninserat <= 0) {\r\n return;\r\n }\r\n\r\n if (!this.form.models.data.$m_Stelleninserat || this.form.models.data.$m_Stelleninserat.Id != e.IdStelleninserat) {\r\n return;\r\n }\r\n\r\n const model = this.form.models.getInfo(\"$m_Bewerbung\");\r\n this.form.models.onLoadRequired.fire({\r\n model: model,\r\n onlyCurrentPage: true\r\n });\r\n });\r\n\r\n form.models.onLoaded.register((args) => {\r\n const textArea: IdxTextAreaComponent = this.form[\"r_bewerbungstypTextArea\"];\r\n\r\n if (args.model.id === \"$m_Stelleninserat\") {\r\n if (!args.data.Id && args.data.Kopf && args.data.Kopf._IdGeschaeftspartner) {\r\n args.data.Kopf.IdGeschaeftspartner = args.data.Kopf._IdGeschaeftspartner;\r\n }\r\n\r\n this.changeKopfzeile1(args.data.Kopf.IdTextKopfzeile1);\r\n this.changeFusszeile1(args.data.Kopf.IdTextFusszeile1);\r\n\r\n this.bewerbungenListViewCaption = \"Bewerbungen (\" + args.data.AnzahlBewerber + \")\";\r\n\r\n if (args.data.Id\r\n && args.data.Kopf\r\n && args.data.Kopf.Geschaeftspartner\r\n && args.data.Kopf.Geschaeftspartner.Geschaeftspartnerdaten\r\n && args.data.Kopf.Geschaeftspartner.Geschaeftspartnerdaten.IsGeschaeftspartnerSchule) {\r\n this.isGeschaeftspartnerSchule = true;\r\n }\r\n }\r\n\r\n if (textArea) {\r\n if (args.model.id === \"$m_Bewerbungstyp\") {\r\n if (args.data\r\n && !args.data.WebsiteTextBewerbungsbutton\r\n && !args.data.AusgabeWebsite) {\r\n textArea.setOption({ value: null });\r\n }\r\n\r\n if (args.data\r\n && args.data.WebsiteTextBewerbungsbutton) {\r\n textArea.setOption({ value: args.data.WebsiteTextBewerbungsbutton });\r\n }\r\n\r\n if (args.data\r\n && args.data.AusgabeWebsite\r\n && !args.data.WebsiteTextBewerbungsbutton) {\r\n textArea.setOption({ value: args.data.AusgabeWebsite });\r\n }\r\n }\r\n }\r\n\r\n return Promise.resolve();\r\n });\r\n\r\n form.models.onSaved.register(async(args) => {\r\n if (this.startupService.startupInfo.Mandant.IdMandant == this.ID_MANDANT_HEARTBASE) {\r\n if (args.data && args.data.Id && args.data.Kopf) {\r\n if (!args.data.Kopf.StelleninseratTrainer || args.data.Kopf.StelleninseratTrainer.length == 0) {\r\n setTimeout(() => {\r\n DevExpress.ui.notify(\r\n \"Achtung! Es wurde kein Ausbilder hinterlegt.\",\r\n \"info\",\r\n 3000\r\n );\r\n }, 0);\r\n }\r\n }\r\n }\r\n });\r\n\r\n form.onEditorValueChanged.register(async(args) => {\r\n if (args.binding.dataContext === \"$m_Stelleninserat\") {\r\n if (args.binding.bindTo == \"Kopf.IdGeschaeftspartner\") {\r\n this.geschaeftspartnerValueChanged(args);\r\n }\r\n\r\n if (args.binding.bindTo == \"Kopf.IdLehrberuf\") {\r\n this.lehrberufValueChanged(args);\r\n }\r\n\r\n if (args.binding.bindTo == \"Kopf.IdTextKopfzeile1\") {\r\n this.textKopfzeile1ValueChanged(args);\r\n }\r\n\r\n if (args.binding.bindTo == \"Kopf.IdTextFusszeile1\") {\r\n this.textFusszeile1ValueChanged(args);\r\n }\r\n }\r\n\r\n return Promise.resolve();\r\n });\r\n\r\n form.editPopups.onEditPopupHidden.register(async(args) => {\r\n if (args.editPopup.id == \"stelleninseratKopfElementChannelEditPopup\") {\r\n if (this._reloadAfterStelleninseratKopfChannelEditHidden) {\r\n this._reloadAfterStelleninseratKopfChannelEditHidden = false;\r\n this.form.models.reloadAll();\r\n }\r\n }\r\n });\r\n\r\n this._stelleninseratKopfElementChannelSaved = this._eventAggregator.subscribe(\"stelleninserat-kopf-element-channel:saved\", () => {\r\n this._reloadAfterStelleninseratKopfChannelEditHidden = true;\r\n });\r\n }\r\n unbind() {\r\n this._reloadModelSubscription.dispose();\r\n this._reloadModelSubscription = null;\r\n\r\n this._stelleninseratKopfElementChannelSaved.dispose();\r\n this._stelleninseratKopfElementChannelSaved = null;\r\n }\r\n\r\n async geschaeftspartnerValueChanged(args: IEditorValueChangedEventArgs) {\r\n if (!args.value) {\r\n return;\r\n }\r\n\r\n this._taskQueue.queueTask(async() => {\r\n const r = await this.form.rest.get({\r\n url: this.form.rest.getWebApiUrl(\"ZIT/Stammdaten/StelleninseratBewerbungstyp\"),\r\n getOptions: {\r\n columns: [\"Id\"],\r\n customs: [\r\n { key: \"CheckBenutzerrolle\", value: true },\r\n { key: \"IdGeschaeftspartner\", value: args.value },\r\n { key: \"OnlyVorbelegung\", value: true }\r\n ]\r\n }\r\n });\r\n \r\n if (r && r.length > 0) {\r\n this.form.models.data.$m_Stelleninserat.Kopf.IdBewerbungstyp = r[0].Id;\r\n }\r\n });\r\n\r\n if (!this.form.models.data.$m_Stelleninserat.Kopf.GueltigBis) {\r\n const packageMaxDatumResult = await this.form.rest.get({\r\n url: this.form.rest.getApiUrl(\"ZIT/Security/GetPackageMaxDatum/\" + args.value)\r\n });\r\n \r\n if (packageMaxDatumResult && packageMaxDatumResult.Data) {\r\n this.form.models.data.$m_Stelleninserat.Kopf.GueltigBis = packageMaxDatumResult.Data;\r\n this.hasPackage = true;\r\n } else {\r\n this.form.models.data.$m_Stelleninserat.Kopf.GueltigBis = null;\r\n this.hasPackage = false;\r\n }\r\n }\r\n\r\n if (!this.form.models.data.$m_Stelleninserat.Id && !this.form.models.data.$m_Stelleninserat.Kopf.Subheadline) {\r\n const geschaeftspartnerResult = await this.form.rest.get({\r\n url: this.form.rest.getApiUrl(\"data/ZIT/Objekte/Geschaeftspartner/\" + args.value)\r\n });\r\n \r\n this.form.models.data.$m_Stelleninserat.Kopf.Subheadline = geschaeftspartnerResult.Name1;\r\n }\r\n }\r\n\r\n async lehrberufValueChanged(args: IEditorValueChangedEventArgs) {\r\n if (!args.value) {\r\n return;\r\n }\r\n\r\n if (this.form.models.data.$m_Stelleninserat.Kopf.StellenbezeichnungExtern\r\n && this.form.models.data.$m_Stelleninserat.Kopf.StellenbezeichnungExtern.length > 0) {\r\n return;\r\n }\r\n\r\n const lehrberufResult = await this.form.rest.get({\r\n url: this.form.rest.getApiUrl(\"data/ZIT/Stammdaten/Lehrberuf/\" + args.value)\r\n });\r\n \r\n if (lehrberufResult && lehrberufResult.Bezeichnung && lehrberufResult.Bezeichnung.length > 0) {\r\n this.form.models.data.$m_Stelleninserat.Kopf.StellenbezeichnungExtern = lehrberufResult.Bezeichnung;\r\n }\r\n }\r\n\r\n textKopfzeile1ValueChanged(args: IEditorValueChangedEventArgs): void {\r\n this.changeKopfzeile1(args.value);\r\n }\r\n textFusszeile1ValueChanged(args: IEditorValueChangedEventArgs): void {\r\n this.changeFusszeile1(args.value);\r\n }\r\n\r\n async changeKopfzeile1(id: any) {\r\n if (id) {\r\n const pvTextResult = await this._restService.get({\r\n url: this._restService.getWebApiUrl(\"ZIT/Stammdaten/PVText/\") + id,\r\n getOptions: {\r\n columns: [\"Text\"]\r\n }\r\n });\r\n \r\n this.pvTextModel.Kopfzeile1 = pvTextResult\r\n ? pvTextResult.Text\r\n : \"\";\r\n } else {\r\n this.pvTextModel.Kopfzeile1 = \"\";\r\n }\r\n }\r\n async changeFusszeile1(id: any) {\r\n if (id) {\r\n const pvTextResult = await this._restService.get({\r\n url: this._restService.getWebApiUrl(\"ZIT/Stammdaten/PVText/\") + id,\r\n getOptions: {\r\n columns: [\"Text\"]\r\n }\r\n });\r\n \r\n this.pvTextModel.Fusszeile1 = pvTextResult\r\n ? pvTextResult.Text\r\n : \"\";\r\n } else {\r\n this.pvTextModel.Fusszeile1 = \"\";\r\n }\r\n }\r\n\r\n onTrainerAddClick() {\r\n this.trainerEdit();\r\n }\r\n\r\n private trainerEdit(d?: any) {\r\n const initialData: any = {\r\n gueltigVon: moment().startOf(\"day\").toDate(),\r\n gueltigBis: moment(new Date(2099, 11, 31)).startOf(\"day\").toDate()\r\n };\r\n\r\n if (d) {\r\n initialData.gueltigVon = d.GueltigVon;\r\n initialData.gueltigBis = d.GueltigBis;\r\n initialData.item = d.Ansprechperson;\r\n }\r\n\r\n this._formPopupService.formPopup.show({\r\n titel: this._localizationService.translateOnce(\"zit.trainer\"),\r\n data: initialData,\r\n formDef: \"ansprechpersonMitGueltigkeit\",\r\n webApiFilters: [{\r\n webApiCustomKey: \"IdGeschaeftspartner\",\r\n webApiCustomValue: this.form.models.data.$m_Stelleninserat.Kopf.IdGeschaeftspartner\r\n }],\r\n onFormSubmit: (data) => {\r\n if (!this.form.models.data.$m_Stelleninserat.Kopf.StelleninseratTrainer) {\r\n this.form.models.data.$m_Stelleninserat.Kopf.StelleninseratTrainer = [];\r\n }\r\n\r\n const u = {\r\n IdAnsprechperson: data.item.Id,\r\n Ansprechperson: {\r\n Id: data.item.Id,\r\n Titel: data.item.Titel,\r\n FunktionTagText: data.item.FunktionTagText\r\n },\r\n GueltigVon: data.gueltigVon,\r\n GueltigBis: data.gueltigBis,\r\n IsGueltig: data.gueltigVon.getTime() <= new Date().getTime() \r\n && data.gueltigBis.getTime() >= new Date().getTime()\r\n };\r\n\r\n if (d) {\r\n Object.assign(d, u);\r\n } else {\r\n const exists = this.form.models.data.$m_Stelleninserat.Kopf.StelleninseratTrainer\r\n .some((t) => t.IdAnsprechperson == data.item.Id);\r\n\r\n if (exists) {\r\n return;\r\n }\r\n \r\n this.form.models.data.$m_Stelleninserat.Kopf.StelleninseratTrainer.push(u);\r\n }\r\n this._modelUtilsService.setDirty(this.form.models.data.$m_Stelleninserat);\r\n }\r\n });\r\n }\r\n}\r\n","export * from \"./abholfiliale\";\r\nexport * from \"./benachrichtigung-art\";\r\nexport * from \"./benutzer-typ\";\r\nexport * from \"./benutzeraccount-typ\";\r\nexport * from \"./geschlecht\";\r\nexport * from \"./grund-typ\";\r\nexport * from \"./kontakt-typ\";\r\nexport * from \"./objekt-export-eigenschaft-daten-typ\";\r\nexport * from \"./person-dossier-typ\";\r\nexport * from \"./personzuordnung-moeglichkeit\";\r\nexport * from \"./suche-view-typ\";\r\nexport * from \"./kontaktperson-typ\";\r\nexport * from \"./termin-reaktion\";\r\nexport * from \"./terminverteilungs-typ\";\r\n","import { autoinject } from 'aurelia-framework';\r\nimport { RestService } from './../../framework/base/services/export';\r\n\r\n@autoinject\r\nexport class AdresseService {\r\n constructor(\r\n private rest: RestService\r\n ) { }\r\n\r\n getOrtFromPLZ(idPlz: number, idLand: number): Promise<{ Ort: string }> {\r\n return this.rest.post({\r\n url: this.rest.getApiUrl(\"ZIT/Adresse/Ort\"),\r\n data: {\r\n Postleitzahl: idPlz,\r\n IdLand: idLand\r\n }\r\n });\r\n }\r\n}","export * from \"./services/export\";\r\n","import { autoinject, TaskQueue, View } from \"aurelia-framework\";\r\n\r\n@autoinject\r\nexport class TemplatingExService {\r\n constructor(\r\n private taskQueue: TaskQueue\r\n ) {}\r\n\r\n waitForViewModel(item: any, counter: number = 1000): Promise {\r\n return new Promise((resolve, reject) => {\r\n let index = 0;\r\n\r\n if (item.currentViewModel) {\r\n resolve(item.currentViewModel);\r\n } else {\r\n const queue = () => {\r\n this.taskQueue.queueTask(() => {\r\n index++;\r\n \r\n if (item.currentViewModel) {\r\n resolve(item.currentViewModel);\r\n } else if (index >= counter) {\r\n console.log(\"currentViewModel not found\");\r\n reject();\r\n } else {\r\n queue();\r\n }\r\n });\r\n };\r\n \r\n queue();\r\n }\r\n });\r\n }\r\n destroyView(view: View) {\r\n view.detached();\r\n view.unbind();\r\n }\r\n}\r\n","import { autoinject } from \"../../../../framework/forms/form-export\";\r\n\r\n@autoinject\r\nexport class LoginService {\r\n constructor() {}\r\n\r\n benutzer: string;\r\n}\r\n","export default \"data:image/png;base64,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\"","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 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\";\r\n\r\n@autoinject\r\nexport class ModelUtilsService {\r\n private _isDirtyProperty = \"_IsDirty\";\r\n\r\n constructor() {}\r\n\r\n clearDirty(modelData: any) {\r\n delete modelData[this._isDirtyProperty];\r\n }\r\n setDirty(modelData: any) {\r\n modelData[this._isDirtyProperty] = true;\r\n }\r\n isDirty(modelData: any): boolean {\r\n return !!modelData[this._isDirtyProperty];\r\n }\r\n}\r\n","import { autoinject, transient, TaskQueue, computedFrom } from 'aurelia-framework';\r\nimport { FormBase } from '../../../../framework/forms/classes/export';\r\nimport { LocalizationService } from '../../../../framework/base/services/export';\r\nimport { ICommandData, DialogConfirmService } from '../../../../framework/forms/export';\r\nimport { GeschaeftspartnerService } from '../../../services/export';\r\nimport { IdxValidationGroupComponent, IdxDataGridComponent } from '../../../interfaces/export';\r\n\r\n@autoinject\r\n@transient()\r\nexport class GeschaeftspartnerEntlohnungsschemaUtils {\r\n constructor(\r\n private geschaeftspartner: GeschaeftspartnerService,\r\n private localization: LocalizationService,\r\n private taskqueue: TaskQueue,\r\n private dialogConfirmService: DialogConfirmService\r\n ) { }\r\n\r\n form: FormBase;\r\n\r\n addNewEntlohnungsschemaCommand: ICommandData = {\r\n id: \"addNewEntlohnungsschemaCommand\",\r\n icon: \"fas fa-plus\",\r\n tooltip: \"geschaeftspartner.neues-entlohnungsschema\",\r\n execute: () => {\r\n const grid: IdxDataGridComponent = this.form[\"r_entlohungsschemaDataGrid\"];\r\n if (grid && grid.instance) {\r\n grid.instance.deselectAll();\r\n }\r\n\r\n this.setEditEntlohnungsschemaData(0);\r\n }\r\n };\r\n saveEntlohungsschemaCommand: ICommandData = {\r\n id: \"saveEntlohungsschemaCommand\",\r\n icon: \"fas fa-save\",\r\n tooltip: \"base.save\",\r\n execute: () => {\r\n this.saveEntlohnungsschema();\r\n }\r\n };\r\n deleteEnlohnungsschemaCommand: ICommandData = {\r\n id: \"deleteEnlohnungsschemaCommand\",\r\n icon: \"far fa-trash-alt\",\r\n tooltip: \"base.delete\",\r\n isEnabled: false,\r\n execute: () => {\r\n const id = this.form.models.data.$m_EntlohnungsschemaEdit.Id;\r\n this.deleteEntlohnungsschema(id);\r\n }\r\n };\r\n\r\n onEntlohungsschemaClick(e) {\r\n this.setEditEntlohnungsschemaData(e.data.Id);\r\n }\r\n\r\n bind(form: FormBase) {\r\n this.form = form;\r\n this.setEditEntlohnungsschemaData(0);\r\n }\r\n\r\n private refreshEntlohnungsschemaGrid() {\r\n const grid: IdxDataGridComponent = this.form[\"r_entlohungsschemaDataGrid\"];\r\n if (grid && grid.instance) {\r\n grid.instance.refresh();\r\n }\r\n }\r\n private setEditEntlohnungsschemaData(id: number) {\r\n if (id == void 0) {\r\n return;\r\n }\r\n this.deleteEnlohnungsschemaCommand.isEnabled = id && id != 0;\r\n\r\n const model = this.form.models.getInfo(\"$m_EntlohnungsschemaEdit\");\r\n this.form.models.loadModel(model, id);\r\n }\r\n\r\n private async saveEntlohnungsschema() {\r\n const validationGroup: IdxValidationGroupComponent = this.form[\"r_entlohungsschemaValidationGroup\"];\r\n const result = validationGroup.instance.validate();\r\n if (result.isValid) {\r\n const dataToSave = this.form.models.data.$m_EntlohnungsschemaEdit;\r\n dataToSave.IdGeschaeftspartner = dataToSave.IdGeschaeftspartner || this.form.variables.data.$v_idGeschaeftspartner;\r\n\r\n this.form.models.data.$m_EntlohnungsschemaEdit = await this.geschaeftspartner.saveEntlohnungsschema(dataToSave);\r\n\r\n this.onEntlohnungsschemaSaved();\r\n }\r\n }\r\n private deleteEntlohnungsschema(id: number) {\r\n if (id == void 0) {\r\n return;\r\n }\r\n\r\n const title = this.localization.translateOnce(\"zit.loeschen-confirm-title\");\r\n const message = this.localization.translateOnce(\"zit.loeschen-confirm-message\", [\"das Entlohnungsschema\"]);\r\n\r\n this.dialogConfirmService.show({\r\n title: title,\r\n message: message\r\n }).then(async r => {\r\n if (!r) {\r\n return;\r\n }\r\n\r\n await this.geschaeftspartner.deleteEntlohnungsschema(id);\r\n\r\n this.onEntlohungsschemaDeleted();\r\n });\r\n }\r\n\r\n private onEntlohungsschemaDeleted() {\r\n DevExpress.ui.notify(this.localization.translateOnce(\"zit.geloescht-message\", [\"Entlohungsschema\"]), \"info\", 3000);\r\n\r\n this.setEditEntlohnungsschemaData(0);\r\n this.refreshEntlohnungsschemaGrid();\r\n }\r\n private onEntlohnungsschemaSaved() {\r\n this.refreshEntlohnungsschemaGrid();\r\n\r\n DevExpress.ui.notify(this.localization.translateOnce(\"base.save_success\"), \"success\", 3000);\r\n }\r\n}\r\n","import {\r\n autoinject\r\n} from \"aurelia-framework\";\r\nimport {\r\n FormBase\r\n} from \"../classes/form-base\";\r\nimport {\r\n BaseWidgetCreatorService\r\n} from \"./base-widget-creator-service\";\r\nimport {\r\n GlobalizationService,\r\n LocalizationService\r\n} from \"../../base/services/export\";\r\nimport {\r\n SelectionModeEnum\r\n} from \"../enums/selection-mode-enum\";\r\nimport {\r\n EnumItemService\r\n} from \"../services/export\";\r\nimport {\r\n IListViewOptions\r\n} from \"../elements/list-view/list-view-options\";\r\nimport * as WidgetOptions from \"../widget-options/export\";\r\nimport { ListViewPagingMode } from '../elements/list-view/list-view-paging-mode';\r\nimport { ListType } from '../enums/list-type-enum';\r\n\r\n@autoinject\r\nexport class ListViewWidgetCreatorService {\r\n constructor(\r\n private baseWidgetCreator: BaseWidgetCreatorService,\r\n private globalization: GlobalizationService,\r\n private localization: LocalizationService,\r\n private enumItem: EnumItemService\r\n ) { }\r\n\r\n addListView(form: FormBase, options: WidgetOptions.IListViewOptions) {\r\n const listViewOptions: IListViewOptions = this.baseWidgetCreator.createWidgetOptions(form, options);\r\n\r\n if (options.dataModel && !options.binding.bindTo) {\r\n const dataSource = this.baseWidgetCreator.createListDataSource(form, options, listViewOptions);\r\n listViewOptions.dataSource = dataSource;\r\n }\r\n else if (options.binding.bindToFQ) {\r\n const dataSource = new DevExpress.data.DataSource(new DevExpress.data.CustomStore({\r\n cacheRawData: false,\r\n loadMode: \"raw\",\r\n load: () => {\r\n return form.binding.evaluate(\r\n form.scope,\r\n options.binding.bindToFQ\r\n ) || [];\r\n }\r\n }));\r\n \r\n dataSource.requireTotalCount(true);\r\n listViewOptions.dataSource = dataSource;\r\n\r\n form.binding.observe({\r\n scopeContainer: form.scopeContainer,\r\n expression: options.binding.bindToFQ,\r\n callback: (newVal) => {\r\n dataSource.load();\r\n }\r\n });\r\n }\r\n\r\n listViewOptions.groupProperty = options.groupProperty;\r\n\r\n this.baseWidgetCreator.setListClickActions(form, options);\r\n const customOptions = this.baseWidgetCreator.getCustomOptions(form, options);\r\n\r\n if (customOptions.hasClickActions > 0) {\r\n listViewOptions.hoverStateEnabled = true;\r\n\r\n listViewOptions.onItemClick = (e) => {\r\n customOptions.clickActions.forEach(item => {\r\n item(e, listViewOptions.dataSource);\r\n });\r\n\r\n if ((options.selectionMode || \"none\") === \"none\") {\r\n customOptions.openClickActions.forEach(item => {\r\n item(e, listViewOptions.dataSource);\r\n });\r\n }\r\n };\r\n }\r\n\r\n if (options.pagingMode) {\r\n switch (options.pagingMode) {\r\n case \"loadNext\": {\r\n listViewOptions.pagingMode = ListViewPagingMode.loadNext;\r\n break;\r\n }\r\n case \"paging\": {\r\n listViewOptions.pagingMode = ListViewPagingMode.paging;\r\n break;\r\n }\r\n default: {\r\n break;\r\n }\r\n }\r\n }\r\n\r\n if (options.height) {\r\n listViewOptions.height = options.height;\r\n }\r\n\r\n if (options.itemClass) {\r\n listViewOptions.itemClass = options.itemClass;\r\n }\r\n\r\n if (options.selectionMode) {\r\n listViewOptions.selectionMode = this.getSelectionMode(options.selectionMode);\r\n }\r\n\r\n if (options.showPagerInfo) {\r\n listViewOptions.showPagerInfo = options.showPagerInfo;\r\n }\r\n if (options.showReloadButton) {\r\n listViewOptions.showReloadButton = options.showReloadButton;\r\n }\r\n if (options.useDefaultListItemStyle != void (0)) {\r\n listViewOptions.useDefaultListItemStyle = options.useDefaultListItemStyle;\r\n }\r\n\r\n if (options.pageSize) {\r\n if (listViewOptions.dataSource) {\r\n listViewOptions.dataSource.pageSize(options.pageSize);\r\n }\r\n\r\n listViewOptions.pageSize = options.pageSize\r\n }\r\n\r\n this.baseWidgetCreator.checkListToolbar(form, options, null, ListType.ListView);\r\n this.baseWidgetCreator.checkListRelationEdit(form, options);\r\n }\r\n\r\n private getSelectionMode(selectionMode: SelectionModeEnum): string {\r\n switch (selectionMode) {\r\n case SelectionModeEnum.Multiple:\r\n return \"multiple\";\r\n case SelectionModeEnum.Single:\r\n return \"single\";\r\n default:\r\n return \"none\";\r\n }\r\n }\r\n} \r\n","import { autoinject } from \"aurelia-framework\";\r\nimport { DxWidget } from '../../framework/dx/elements/dx-widget';\r\nimport { EventAggregator } from 'aurelia-event-aggregator';\r\nimport { RestService } from '../../framework/base/services/rest-service';\r\nimport { StartupService } from './startup-service';\r\nimport * as DxLoader from \"../../framework/dx/dx-loader\";\r\n\r\n@autoinject\r\nexport class TooltipService {\r\n private _isEnabled: boolean = false;\r\n private _onElementClick: any;\r\n private _supportedWidgetList: string[] = [\"dxTextBox\", \"dxDateBox\", \"dxNumberBox\", \"dxRadioGroup\", \"dxSelectBox\", \"dxLookup\", \"dxCheckBox\", \"dxTextArea\"];\r\n private _tooltips: any;\r\n\r\n constructor(\r\n private eventAggregator: EventAggregator,\r\n private rest: RestService,\r\n private startupService: StartupService\r\n ) {\r\n this._onElementClick = this.onElementClick.bind(this); \r\n \r\n this._tooltips = {};\r\n\r\n this.startupService.startupInfo.TooltipList.forEach(tooltip => {\r\n this._tooltips[tooltip.Key] = tooltip.Tooltip;\r\n });\r\n\r\n this.eventAggregator.subscribe(\"dx-widget:attached\", e => {\r\n const key = this.getWidgetKey(e.widget, e.widget.element);\r\n if (!key) {\r\n return;\r\n }\r\n\r\n const tooltip = this._tooltips[key];\r\n if (!tooltip) {\r\n return;\r\n }\r\n\r\n e.widget.createTooltip(tooltip);\r\n });\r\n }\r\n\r\n get isEnabled(): boolean {\r\n return this._isEnabled;\r\n }\r\n\r\n enable() {\r\n if (this.isEnabled) {\r\n return;\r\n }\r\n\r\n document.addEventListener(\"click\", this._onElementClick);\r\n this._isEnabled = true;\r\n }\r\n disable() {\r\n if (!this.isEnabled) {\r\n return;\r\n }\r\n\r\n document.removeEventListener(\"click\", this._onElementClick);\r\n this._isEnabled = false;\r\n }\r\n\r\n onElementClick(e) {\r\n const widget = this.getWidget(e.target);\r\n if (!widget) {\r\n return;\r\n }\r\n\r\n this.eventAggregator.publish(\"tooltip:widget-changed\", {\r\n tooltipWidget: widget\r\n });\r\n }\r\n getWidget(element: HTMLElement): ITooltipWidget {\r\n let el = element;\r\n while (el) {\r\n if (el.tagName == \"DX-WIDGET\") {\r\n break;\r\n }\r\n\r\n el = el.parentElement;\r\n }\r\n\r\n if (!el) {\r\n return null;\r\n }\r\n\r\n if (el.classList.contains(\"z--no-tooltip\")) {\r\n return null;\r\n }\r\n\r\n const widget: any = el;\r\n\r\n const isSupported = widget.au \r\n && widget.au.controller \r\n && widget.au.controller.viewModel;\r\n\r\n if (!isSupported) {\r\n return null;\r\n }\r\n const dxWidget: DxWidget = widget.au.controller.viewModel;\r\n \r\n const key = this.getWidgetKey(dxWidget, el);\r\n if (!key) {\r\n return null;\r\n }\r\n\r\n return {\r\n widget: dxWidget,\r\n key: key,\r\n currentTooltip: this.getCurrentText(key)\r\n };\r\n }\r\n updateTooltip(widget: ITooltipWidget, newTooltip: string) {\r\n if (!widget || !widget.key) {\r\n return;\r\n }\r\n\r\n this.rest.post({\r\n url: this.rest.getApiUrl(\"ZIT/Tooltip/Post\"),\r\n data: {\r\n Key: widget.key,\r\n Tooltip: newTooltip\r\n },\r\n increaseLoadingCount: true\r\n });\r\n\r\n this._tooltips[widget.key] = newTooltip;\r\n widget.widget.createTooltip(newTooltip);\r\n }\r\n\r\n showTooltip(target: Element, htmlText: string) {\r\n const options: DevExpress.ui.dxTooltipOptions = {\r\n target: target,\r\n position: {\r\n my: \"top\",\r\n at: \"bottom\"\r\n },\r\n contentTemplate: (container) => {\r\n const div = document.createElement(\"div\");\r\n div.style.textAlign = \"left\";\r\n div.innerHTML = htmlText;\r\n container.appendChild(div);\r\n },\r\n onHidden: (e) => {\r\n element.remove();\r\n\r\n if (instance) {\r\n instance.dispose();\r\n }\r\n }\r\n };\r\n\r\n const element = document.createElement(\"div\");\r\n \r\n document.body.appendChild(element);\r\n\r\n const instance: DevExpress.ui.dxTooltip = DxLoader.createInstance(\"dxTooltip\", element, options);\r\n instance.show();\r\n }\r\n\r\n private getWidgetKey(dxWidget: DxWidget, element: any): string {\r\n if (!dxWidget.parentViewUrl) {\r\n return null;\r\n }\r\n if (!dxWidget.id) {\r\n return null;\r\n }\r\n\r\n return dxWidget.parentViewUrl.concat(\";\", dxWidget.id);\r\n }\r\n private getCurrentText(key: string): string {\r\n return this._tooltips[key] || \"\";\r\n }\r\n}\r\n\r\nexport interface ITooltipWidget {\r\n widget: DxWidget;\r\n key: string;\r\n currentTooltip: string;\r\n}\r\n","import {\r\n autoinject,\r\n transient,\r\n TaskQueue\r\n} from \"aurelia-framework\";\r\nimport {\r\n ICustomEventArgs\r\n} from \"../event-args/custom-event-args\";\r\nimport {\r\n ObjectInfoService\r\n} from \"../services/object-info-service\";\r\n\r\n@autoinject\r\n@transient()\r\nexport class CustomEvent {\r\n private delegates: { (args: T): Promise }[] = [];\r\n private argsQueue = [];\r\n private timeoutCancel: any;\r\n\r\n constructor(\r\n private objectInfo: ObjectInfoService,\r\n private taskQueue: TaskQueue) {}\r\n\r\n waitTimeout = 0;\r\n anyRegistered: boolean; \r\n\r\n register(action: { (args: T): Promise }): { (): void } {\r\n this.delegates.push(action);\r\n this.anyRegistered = this.delegates.length > 0;\r\n\r\n return () => {\r\n const indexOf = this.delegates.indexOf(action);\r\n if (indexOf < 0) {\r\n return;\r\n }\r\n\r\n this.delegates.splice(indexOf, 1);\r\n this.anyRegistered = this.delegates.length > 0;\r\n }\r\n }\r\n fire(args: T, waitTimeout: number = null): Promise {\r\n waitTimeout = waitTimeout == void(0) ? this.waitTimeout : waitTimeout;\r\n\r\n if (waitTimeout === 0) {\r\n return Promise.all(this.delegates.map(item => item(args)));\r\n } else {\r\n for (let item of this.argsQueue) {\r\n if (this.objectInfo.equal(item, args)) {\r\n return;\r\n }\r\n }\r\n\r\n if (this.timeoutCancel) {\r\n clearTimeout(this.timeoutCancel);\r\n this.timeoutCancel = null;\r\n }\r\n\r\n this.argsQueue.push(args);\r\n this.timeoutCancel = setTimeout(this.fireQueue.bind(this), waitTimeout);\r\n }\r\n }\r\n dispose() {\r\n this.delegates.splice(0);\r\n this.argsQueue.splice(0);\r\n }\r\n\r\n private async fireQueue() {\r\n const argsQueue = this.argsQueue.slice(0);\r\n this.argsQueue.splice(0, this.argsQueue.length);\r\n\r\n argsQueue.forEach(args => {\r\n this.taskQueue.queueTask(() => {\r\n this.delegates.map(item => item(args));\r\n });\r\n });\r\n }\r\n}\r\n","import {\r\n autoinject\r\n} from \"aurelia-framework\";\r\nimport {\r\n CustomEvent\r\n} from \"../../base/export\";\r\nimport {\r\n IModelLoadedEventArgs,\r\n IModelSavedEventArgs,\r\n IModelDeletedEventArgs\r\n} from \"../event-args/export\";\r\n\r\n@autoinject\r\nexport class ModelEventService {\r\n constructor(\r\n public onLoaded: CustomEvent,\r\n public onSaved: CustomEvent,\r\n public onDeleted: CustomEvent\r\n ) {}\r\n}","import { autoinject } from 'aurelia-framework';\r\nimport { RestService } from './../../framework/base/services/export';\r\nimport { IStatusChangeData,IStatusChangeResultData } from '../interfaces/export';\r\nimport { JsonService } from '../../framework/base/services/export';\r\n\r\n@autoinject\r\nexport class StatusService {\r\n constructor(\r\n private json: JsonService,\r\n private rest: RestService\r\n ) { }\r\n\r\n allowUpdateObjektStatus(keys: number[]): Promise {\r\n if (!keys || !keys.length) {\r\n return;\r\n }\r\n\r\n return this.rest.post({\r\n url: this.rest.getApiUrl(\"ZIT/Objekt/CanUpdateObjektStatus\"),\r\n data: this.json.stringify(keys),\r\n increaseLoadingCount: true\r\n });\r\n }\r\n\r\n changeObjektStatus(data: IStatusChangeData): Promise {\r\n if(!data){\r\n return;\r\n }\r\n return this.rest.post({\r\n url: this.rest.getApiUrl(\"ZIT/Objekt/ChangeObjektStatus\"),\r\n data: this.json.stringify(data),\r\n increaseLoadingCount: true\r\n });\r\n }\r\n\r\n loadBenutzerAvailableObjektStatus(keys: number[]): Promise {\r\n if (!keys || !keys.length) {\r\n return;\r\n }\r\n\r\n return this.rest.post({\r\n url: this.rest.getApiUrl(\"ZIT/Objekt/ObjektStatusFolgeStatus\"),\r\n data: keys,\r\n increaseLoadingCount: true\r\n });\r\n }\r\n\r\n async loadStatusHistorie(keys: number[]): Promise {\r\n if (!keys || keys.length != 1) {\r\n return [];\r\n }\r\n\r\n return await this.rest.post({\r\n url: this.rest.getApiUrl(\"ZIT/Objekt/ObjektStatusHistorie\"),\r\n data: {\r\n IdObjektStatusElement: keys[0]\r\n },\r\n increaseLoadingCount: true\r\n });\r\n }\r\n\r\n async getObjektStatusSammlungTypList(idObjekttyp: number): Promise {\r\n return await this.rest.post({\r\n url: this.rest.getApiUrl(\"ZIT/Objekt/ObjektStatusSammlungTyp\"),\r\n data: {\r\n IdObjekttyp: idObjekttyp\r\n },\r\n increaseLoadingCount: true\r\n });\r\n }\r\n async getObjektStatusByObjektStatusSammlung(objektFullName: string, objektStatusSammlungTyp: ObjektStatusSammlungTyp) {\r\n return await this.rest.get({\r\n url: this.rest.getWebApiUrl(\"ZIT/Stammdaten/ObjektStatus\"),\r\n getOptions: {\r\n where: [\r\n [\"Objekttyp.Fullname\", objektFullName],\r\n [\"ObjektStatusSammlungen\", [\"ObjektStatusSammlung.Typ\", objektStatusSammlungTyp]]\r\n ]\r\n }\r\n });\r\n }\r\n}\r\n\r\nexport interface IObjektStatusSammlungTyp {\r\n Id: number;\r\n Bezeichnung: string;\r\n}\r\nexport enum ObjektStatusSammlungTyp {\r\n EventTeilnehmerZugesagt = 7,\r\n EventTeilnehmerAbgesagt = 8,\r\n EventTeilnehmerOffen = 9\r\n}","import { autoinject, Scope, OverrideContext } from \"aurelia-framework\";\r\nimport { FormBase } from '../classes/form-base';\r\n\r\n@autoinject\r\nexport class FormUtilsService {\r\n constructor() {}\r\n\r\n getMainForm(scope: Scope | OverrideContext, treatEditPopupAsMainForm: boolean = false): FormBase {\r\n if (scope.bindingContext == null) {\r\n return null;\r\n }\r\n\r\n if (scope.bindingContext instanceof FormBase) {\r\n const form: FormBase = scope.bindingContext;\r\n if ((!form.isEditPopup || treatEditPopupAsMainForm) && !form.isNestedForm) {\r\n return form;\r\n }\r\n }\r\n if (scope.bindingContext.mainForm instanceof FormBase) {\r\n return scope.bindingContext.mainForm;\r\n }\r\n\r\n if (scope[\"overrideContext\"]) {\r\n return this.getMainForm(scope[\"overrideContext\"]);\r\n } else if (scope[\"parentOverrideContext\"]) {\r\n return this.getMainForm(scope[\"parentOverrideContext\"]);\r\n }\r\n\r\n return null;\r\n }\r\n}\r\n","export {LayoutService} from \"./layout-service\";\r\nexport {HeaderService} from \"./header-service\";\r\nexport {LoadingService} from \"./loading-service\";","import {PLATFORM} from \"aurelia-framework\";\r\nexport class ModuleLoader {\r\nconstructor() {\r\nPLATFORM.moduleName(\"../framework/login/views/activate-account/activate-account-form\");\r\nPLATFORM.moduleName(\"../framework/login/views/login/login-form\");\r\nPLATFORM.moduleName(\"../framework/login/views/password-reset/password-reset-form\");\r\nPLATFORM.moduleName(\"../zit/views/berechtigungen/benutzer/benutzer-edit-form\",\"stammdaten\");\r\nPLATFORM.moduleName(\"../zit/views/berechtigungen/benutzer/benutzer-list-form\",\"stammdaten\");\r\nPLATFORM.moduleName(\"../zit/views/berechtigungen/benutzer/loginprofil-edit-form\",\"stammdaten\");\r\nPLATFORM.moduleName(\"../zit/views/berechtigungen/benutzergruppe/benutzergruppe-edit-form\",\"stammdaten\");\r\nPLATFORM.moduleName(\"../zit/views/berechtigungen/benutzergruppe/benutzergruppe-list-form\",\"stammdaten\");\r\nPLATFORM.moduleName(\"../zit/views/berechtigungen/benutzergruppe/objekte-zu-benutzergruppe-edit-form\");\r\nPLATFORM.moduleName(\"../zit/views/berechtigungen/benutzerrolle/benutzerrolle-edit-form\",\"stammdaten\");\r\nPLATFORM.moduleName(\"../zit/views/berechtigungen/benutzerrolle/benutzerrolle-layout-edit-form\",\"stammdaten\");\r\nPLATFORM.moduleName(\"../zit/views/berechtigungen/benutzerrolle/benutzerrolle-list-form\",\"stammdaten\");\r\nPLATFORM.moduleName(\"../zit/views/berechtigungen/benutzerrolle/benutzerrolle-menu-edit-form\",\"stammdaten\");\r\nPLATFORM.moduleName(\"../zit/views/berechtigungen/benutzerrolle/benutzerrolle-zu-kommunikation-benutzerrolle-edit-form\",\"stammdaten\");\r\nPLATFORM.moduleName(\"../zit/views/berechtigungen/benutzerrolle/benutzerrolle-zu-layout-edit-form\",\"stammdaten\");\r\nPLATFORM.moduleName(\"../zit/views/berechtigungen/benutzerrolle/benutzerrolle-zu-objekt-status-edit-form\",\"stammdaten\");\r\nPLATFORM.moduleName(\"../zit/views/berechtigungen/benutzerrolle/benutzerrolle-zu-standardfilter-edit-form\",\"stammdaten\");\r\nPLATFORM.moduleName(\"../zit/views/berechtigungen/benutzerrolle/kopfzeile-verknuepfung-edit-form\",\"stammdaten\");\r\nPLATFORM.moduleName(\"../zit/views/berechtigungen/codes/codes-edit-form\",\"stammdaten\");\r\nPLATFORM.moduleName(\"../zit/views/berechtigungen/codes/codes-list-form\",\"stammdaten\");\r\nPLATFORM.moduleName(\"../zit/views/berechtigungen/layout/layout-edit-form\",\"stammdaten\");\r\nPLATFORM.moduleName(\"../zit/views/berechtigungen/layout/layout-list-form\",\"stammdaten\");\r\nPLATFORM.moduleName(\"../zit/views/berechtigungen/mandant/channel-edit-form\",\"stammdaten\");\r\nPLATFORM.moduleName(\"../zit/views/berechtigungen/mandant/mandant-edit-form\",\"stammdaten\");\r\nPLATFORM.moduleName(\"../zit/views/berechtigungen/mandant/mandant-event-edit-form\",\"stammdaten\");\r\nPLATFORM.moduleName(\"../zit/views/berechtigungen/mandant/mandant-list-form\",\"stammdaten\");\r\nPLATFORM.moduleName(\"../zit/views/berechtigungen/skin/skin-edit-form\",\"stammdaten\");\r\nPLATFORM.moduleName(\"../zit/views/berechtigungen/skin/skin-list-form\",\"stammdaten\");\r\nPLATFORM.moduleName(\"../zit/views/dashboard/dashboard-form-form\");\r\nPLATFORM.moduleName(\"../zit/views/entwicklungsziele/entwicklungsziele-list-form\");\r\nPLATFORM.moduleName(\"../zit/views/entwicklungszone/entwicklungszone-list-form\");\r\nPLATFORM.moduleName(\"../zit/views/erklaervideo/erklaervideo-list-form\");\r\nPLATFORM.moduleName(\"../zit/views/nachrichten/nachrichten-list-form\");\r\nPLATFORM.moduleName(\"../zit/views/nachrichten-gruppe/nachrichten-gruppe-edit-form\",\"stammdaten\");\r\nPLATFORM.moduleName(\"../zit/views/navigation/navigation-form\");\r\nPLATFORM.moduleName(\"../zit/views/objekte/ansprechperson/ansprechperson-edit-form\");\r\nPLATFORM.moduleName(\"../zit/views/objekte/ansprechperson/ansprechperson-geschaeftspartner-edit-form\");\r\nPLATFORM.moduleName(\"../zit/views/objekte/ansprechperson/ansprechperson-heartbase-edit-form\");\r\nPLATFORM.moduleName(\"../zit/views/objekte/ansprechperson/ansprechperson-kontakt-edit-form\");\r\nPLATFORM.moduleName(\"../zit/views/objekte/ansprechperson/ansprechperson-list-form\");\r\nPLATFORM.moduleName(\"../zit/views/objekte/ansprechperson/ansprechperson-read-form\");\r\nPLATFORM.moduleName(\"../zit/views/objekte/aufgabe/aufgabe-edit-form\");\r\nPLATFORM.moduleName(\"../zit/views/objekte/aufgabe/aufgabe-list-form\");\r\nPLATFORM.moduleName(\"../zit/views/objekte/bewerbung/bewerbung-edit-form\");\r\nPLATFORM.moduleName(\"../zit/views/objekte/bewerbung/bewerbung-einsatzbereich-edit-form\");\r\nPLATFORM.moduleName(\"../zit/views/objekte/bewerbung/bewerbung-ferialer-ersteinstieg-edit-form\");\r\nPLATFORM.moduleName(\"../zit/views/objekte/bewerbung/bewerbung-ferialer-erweiterung-edit-form\");\r\nPLATFORM.moduleName(\"../zit/views/objekte/bewerbung/bewerbung-heartbase-erweiterung-edit-form\");\r\nPLATFORM.moduleName(\"../zit/views/objekte/bewerbung/bewerbung-lehre-edit-form\");\r\nPLATFORM.moduleName(\"../zit/views/objekte/bewerbung/bewerbung-lehre-ersteinstieg-edit-form\");\r\nPLATFORM.moduleName(\"../zit/views/objekte/bewerbung/bewerbung-lehre-erweiterung-edit-form\");\r\nPLATFORM.moduleName(\"../zit/views/objekte/bewerbung/bewerbung-list-form\");\r\nPLATFORM.moduleName(\"../zit/views/objekte/bewerbung/bewerbung-read-form\");\r\nPLATFORM.moduleName(\"../zit/views/objekte/disposition/dispo-list-form\",\"dispo\");\r\nPLATFORM.moduleName(\"../zit/views/objekte/disposition/dispo-personenzuteilung-ansprechperson-bewertung-edit-form\",\"dispo\");\r\nPLATFORM.moduleName(\"../zit/views/objekte/disposition/dispo-personenzuteilung-bestaetigung-edit-form\",\"dispo\");\r\nPLATFORM.moduleName(\"../zit/views/objekte/disposition/dispo-personenzuteilung-bestaetigung-lehre-edit-form\",\"dispo\");\r\nPLATFORM.moduleName(\"../zit/views/objekte/disposition/dispo-personenzuteilung-bestaetigung-lehre-read-form\",\"dispo\");\r\nPLATFORM.moduleName(\"../zit/views/objekte/disposition/dispo-personenzuteilung-bestaetigung-read-form\",\"dispo\");\r\nPLATFORM.moduleName(\"../zit/views/objekte/disposition/dispo-personenzuteilung-check-in-edit-form\",\"dispo\");\r\nPLATFORM.moduleName(\"../zit/views/objekte/disposition/dispo-personenzuteilung-edit-form\",\"dispo\");\r\nPLATFORM.moduleName(\"../zit/views/objekte/disposition/dispo-personenzuteilung-einsatzvorbereitung-edit-form\",\"dispo\");\r\nPLATFORM.moduleName(\"../zit/views/objekte/disposition/dispo-personenzuteilung-entlohnungsschema-edit-form\",\"dispo\");\r\nPLATFORM.moduleName(\"../zit/views/objekte/disposition/dispo-personenzuteilung-fragebogen-edit-form\",\"dispo\");\r\nPLATFORM.moduleName(\"../zit/views/objekte/disposition/dispo-personenzuteilung-gruppierung-edit-form\",\"dispo\");\r\nPLATFORM.moduleName(\"../zit/views/objekte/disposition/dispo-personenzuteilung-person-edit-form\",\"dispo\");\r\nPLATFORM.moduleName(\"../zit/views/objekte/disposition/dispo-personenzuteilung-zustand-aendern-form\",\"dispo\");\r\nPLATFORM.moduleName(\"../zit/views/objekte/disposition/dispo-planstelle-ansprechperson-edit-form\",\"dispo\");\r\nPLATFORM.moduleName(\"../zit/views/objekte/disposition/dispo-planstelle-edit-form\",\"dispo\");\r\nPLATFORM.moduleName(\"../zit/views/objekte/disposition/dispo-planstelle-gruppierung-edit-form\",\"dispo\");\r\nPLATFORM.moduleName(\"../zit/views/objekte/disposition/dispo-planstelle-skill-edit-form\",\"dispo\");\r\nPLATFORM.moduleName(\"../zit/views/objekte/disposition/dispo-planstelle-stelleninserat-edit-form\",\"dispo\");\r\nPLATFORM.moduleName(\"../zit/views/objekte/dokument/dokument-edit-form\");\r\nPLATFORM.moduleName(\"../zit/views/objekte/dokument/dokument-read-form\");\r\nPLATFORM.moduleName(\"../zit/views/objekte/dokument/dokument-unterfertigung-form\");\r\nPLATFORM.moduleName(\"../zit/views/objekte/dokument/dokument-version-information-form\");\r\nPLATFORM.moduleName(\"../zit/views/objekte/event/event-edit-form\");\r\nPLATFORM.moduleName(\"../zit/views/objekte/event/event-link-anmeldung-edit-form\",\"event\");\r\nPLATFORM.moduleName(\"../zit/views/objekte/event/event-list-form\");\r\nPLATFORM.moduleName(\"../zit/views/objekte/event/event-teilnehmer-edit-form\");\r\nPLATFORM.moduleName(\"../zit/views/objekte/event/event-teilnehmer-read-form\");\r\nPLATFORM.moduleName(\"../zit/views/objekte/event/event-zeitraum-edit-form\",\"stammdaten\");\r\nPLATFORM.moduleName(\"../zit/views/objekte/event/event-zeitraum-kontingent-edit-form\",\"event\");\r\nPLATFORM.moduleName(\"../zit/views/objekte/event/event-zeitraum-read-form\");\r\nPLATFORM.moduleName(\"../zit/views/objekte/event/event-zeitraum-stelleninserat-edit-form\");\r\nPLATFORM.moduleName(\"../zit/views/objekte/geschaeftspartner/geschaeftspartner-adresse-edit-form\");\r\nPLATFORM.moduleName(\"../zit/views/objekte/geschaeftspartner/geschaeftspartner-bankverbindung-edit-form\");\r\nPLATFORM.moduleName(\"../zit/views/objekte/geschaeftspartner/geschaeftspartner-dokument-edit-form\");\r\nPLATFORM.moduleName(\"../zit/views/objekte/geschaeftspartner/geschaeftspartner-edit-form\");\r\nPLATFORM.moduleName(\"../zit/views/objekte/geschaeftspartner/geschaeftspartner-entlohnungsschema-form\");\r\nPLATFORM.moduleName(\"../zit/views/objekte/geschaeftspartner/geschaeftspartner-gruppierung-form\");\r\nPLATFORM.moduleName(\"../zit/views/objekte/geschaeftspartner/geschaeftspartner-heartbase-edit-form\");\r\nPLATFORM.moduleName(\"../zit/views/objekte/geschaeftspartner/geschaeftspartner-kontakt-edit-form\");\r\nPLATFORM.moduleName(\"../zit/views/objekte/geschaeftspartner/geschaeftspartner-list-form\");\r\nPLATFORM.moduleName(\"../zit/views/objekte/geschaeftspartner/geschaeftspartner-package-edit-form\");\r\nPLATFORM.moduleName(\"../zit/views/objekte/geschaeftspartner/geschaeftspartner-read-form\");\r\nPLATFORM.moduleName(\"../zit/views/objekte/information/information-list-form\");\r\nPLATFORM.moduleName(\"../zit/views/objekte/information/information-read-form\");\r\nPLATFORM.moduleName(\"../zit/views/objekte/person/person-adresse-edit-form\");\r\nPLATFORM.moduleName(\"../zit/views/objekte/person/person-ausbildung-edit-form\");\r\nPLATFORM.moduleName(\"../zit/views/objekte/person/person-ausbildung-erweitert-edit-form\");\r\nPLATFORM.moduleName(\"../zit/views/objekte/person/person-bankverbindung-edit-form\");\r\nPLATFORM.moduleName(\"../zit/views/objekte/person/person-beruf-edit-form\");\r\nPLATFORM.moduleName(\"../zit/views/objekte/person/person-berufserfahrung-edit-form\");\r\nPLATFORM.moduleName(\"../zit/views/objekte/person/person-edit-form\");\r\nPLATFORM.moduleName(\"../zit/views/objekte/person/person-ferialer-ersteinstieg-edit-form\");\r\nPLATFORM.moduleName(\"../zit/views/objekte/person/person-ferial-read-form\");\r\nPLATFORM.moduleName(\"../zit/views/objekte/person/person-fuehrerschein-edit-form\");\r\nPLATFORM.moduleName(\"../zit/views/objekte/person/person-geschaeftspartner-einsatz-edit-form\");\r\nPLATFORM.moduleName(\"../zit/views/objekte/person/person-heartbase-edit-form\");\r\nPLATFORM.moduleName(\"../zit/views/objekte/person/person-heartbase-read-form\");\r\nPLATFORM.moduleName(\"../zit/views/objekte/person/person-kontakt-edit-form\");\r\nPLATFORM.moduleName(\"../zit/views/objekte/person/person-lehre-ersteinstieg-edit-form\");\r\nPLATFORM.moduleName(\"../zit/views/objekte/person/person-list-form\");\r\nPLATFORM.moduleName(\"../zit/views/objekte/person/person-skill-edit-form\");\r\nPLATFORM.moduleName(\"../zit/views/objekte/person/person-sprache-edit-form\");\r\nPLATFORM.moduleName(\"../zit/views/objekte/profilfirma/geschaeftspartner-auswaehlen-edit-form\",\"profil-firma\");\r\nPLATFORM.moduleName(\"../zit/views/objekte/profilfirma/profil-firma-edit-form\",\"profil-firma\");\r\nPLATFORM.moduleName(\"../zit/views/objekte/profilfirma/profil-firma-gallery-edit-form\",\"profil-firma\");\r\nPLATFORM.moduleName(\"../zit/views/objekte/profilfirma/profil-firma-headerbild-edit-form\",\"profil-firma\");\r\nPLATFORM.moduleName(\"../zit/views/objekte/profilfirma/profil-firma-list-form\",\"profil-firma\");\r\nPLATFORM.moduleName(\"../zit/views/objekte/stelleninserat/stelleninserat-empleo-edit-form\");\r\nPLATFORM.moduleName(\"../zit/views/objekte/stelleninserat/stelleninserat-ferial-edit-form\");\r\nPLATFORM.moduleName(\"../zit/views/objekte/stelleninserat/stelleninserat-ferial-fragebogen-einsatzbereich-edit-form\");\r\nPLATFORM.moduleName(\"../zit/views/objekte/stelleninserat/stelleninserat-gruppe-edit-form\");\r\nPLATFORM.moduleName(\"../zit/views/objekte/stelleninserat/stelleninserat-heartbase-edit-form\");\r\nPLATFORM.moduleName(\"../zit/views/objekte/stelleninserat/stelleninserat-kopf-element-channel-edit-form\");\r\nPLATFORM.moduleName(\"../zit/views/objekte/stelleninserat/stelleninserat-kumi-edit-form\");\r\nPLATFORM.moduleName(\"../zit/views/objekte/stelleninserat/stelleninserat-lehre-edit-form\");\r\nPLATFORM.moduleName(\"../zit/views/objekte/stelleninserat/stelleninserat-lehre-klasse-edit-form\");\r\nPLATFORM.moduleName(\"../zit/views/objekte/stelleninserat/stelleninserat-lehre-kunde-package-edit-form\");\r\nPLATFORM.moduleName(\"../zit/views/objekte/stelleninserat/stelleninserat-lehre-person-read-form\");\r\nPLATFORM.moduleName(\"../zit/views/objekte/stelleninserat/stelleninserat-lehre-standardinserat-edit-form\");\r\nPLATFORM.moduleName(\"../zit/views/objekte/stelleninserat/stelleninserat-list-form\");\r\nPLATFORM.moduleName(\"../zit/views/objekte/stelleninserat/stelleninserat-read-form\");\r\nPLATFORM.moduleName(\"../zit/views/objekte/termin/termin-edit-form\");\r\nPLATFORM.moduleName(\"../zit/views/objekte/termin/termin-empf-einschaetzung-edit-form\");\r\nPLATFORM.moduleName(\"../zit/views/objekte/termin/termin-heartbase-edit-form\");\r\nPLATFORM.moduleName(\"../zit/views/objekte/termin/termin-heartbase-read-form\");\r\nPLATFORM.moduleName(\"../zit/views/objekte/termin/termin-list-form\");\r\nPLATFORM.moduleName(\"../zit/views/objekte/termin/termin-read-form\");\r\nPLATFORM.moduleName(\"../zit/views/objekte/termin/termin-zustand-aendern-edit-form\");\r\nPLATFORM.moduleName(\"../zit/views/objekte/ziel/ziel-edit-form\");\r\nPLATFORM.moduleName(\"../zit/views/objekte/ziel/ziel-list-form\");\r\nPLATFORM.moduleName(\"../zit/views/schnuppertermin/schnuppertermin-list-form\");\r\nPLATFORM.moduleName(\"../zit/views/stammdaten/adresstyp/adresstyp-edit-form\",\"stammdaten\");\r\nPLATFORM.moduleName(\"../zit/views/stammdaten/adresstyp/adresstyp-list-form\",\"stammdaten\");\r\nPLATFORM.moduleName(\"../zit/views/stammdaten/app-einstellung/app-einstellung-edit-form\",\"stammdaten\");\r\nPLATFORM.moduleName(\"../zit/views/stammdaten/app-einstellung/app-einstellung-list-form\",\"stammdaten\");\r\nPLATFORM.moduleName(\"../zit/views/stammdaten/app-einstellung/app-menu-edit-form\",\"stammdaten\");\r\nPLATFORM.moduleName(\"../zit/views/stammdaten/app-einstellung/app-upload-edit-form\",\"stammdaten\");\r\nPLATFORM.moduleName(\"../zit/views/stammdaten/aufgabe/aufgabe-edit-form\",\"stammdaten\");\r\nPLATFORM.moduleName(\"../zit/views/stammdaten/aufgabe/aufgabe-list-form\",\"stammdaten\");\r\nPLATFORM.moduleName(\"../zit/views/stammdaten/aufgabengruppe/aufgabengruppe-edit-form\",\"stammdaten\");\r\nPLATFORM.moduleName(\"../zit/views/stammdaten/aufgabengruppe/aufgabengruppe-list-form\",\"stammdaten\");\r\nPLATFORM.moduleName(\"../zit/views/stammdaten/aufgabenset/aufgabenset-edit-form\",\"stammdaten\");\r\nPLATFORM.moduleName(\"../zit/views/stammdaten/aufgabenset/aufgabenset-list-form\",\"stammdaten\");\r\nPLATFORM.moduleName(\"../zit/views/stammdaten/ausbildung/ausbildung-edit-form\",\"stammdaten\");\r\nPLATFORM.moduleName(\"../zit/views/stammdaten/ausbildung/ausbildung-list-form\",\"stammdaten\");\r\nPLATFORM.moduleName(\"../zit/views/stammdaten/ausbildung/geschaeftspartner-edit-form\",\"stammdaten\");\r\nPLATFORM.moduleName(\"../zit/views/stammdaten/ausbildung-abschluss/ausbildung-abschluss-edit-form\",\"stammdaten\");\r\nPLATFORM.moduleName(\"../zit/views/stammdaten/ausbildung-abschluss/ausbildung-abschluss-list-form\",\"stammdaten\");\r\nPLATFORM.moduleName(\"../zit/views/stammdaten/ausbildungsort/ausbildungsort-edit-form\",\"stammdaten\");\r\nPLATFORM.moduleName(\"../zit/views/stammdaten/ausbildungsort/ausbildungsort-list-form\",\"stammdaten\");\r\nPLATFORM.moduleName(\"../zit/views/stammdaten/beruf/beruf-edit-form\",\"stammdaten\");\r\nPLATFORM.moduleName(\"../zit/views/stammdaten/beruf/beruf-list-form\",\"stammdaten\");\r\nPLATFORM.moduleName(\"../zit/views/stammdaten/beruf-qualifikation/beruf-qualifikation-edit-form\",\"stammdaten\");\r\nPLATFORM.moduleName(\"../zit/views/stammdaten/beruf-qualifikation/beruf-qualifikation-list-form\",\"stammdaten\");\r\nPLATFORM.moduleName(\"../zit/views/stammdaten/bewerbungsgrund/bewerbungsgrund-edit-form\",\"stammdaten\");\r\nPLATFORM.moduleName(\"../zit/views/stammdaten/bewerbungsgrund/bewerbungsgrund-list-form\",\"stammdaten\");\r\nPLATFORM.moduleName(\"../zit/views/stammdaten/bewerbungskanal/bewerbungskanal-edit-form\",\"stammdaten\");\r\nPLATFORM.moduleName(\"../zit/views/stammdaten/bewerbungskanal/bewerbungskanal-list-form\",\"stammdaten\");\r\nPLATFORM.moduleName(\"../zit/views/stammdaten/branche/branche-edit-form\",\"stammdaten\");\r\nPLATFORM.moduleName(\"../zit/views/stammdaten/branche/branche-list-form\",\"stammdaten\");\r\nPLATFORM.moduleName(\"../zit/views/stammdaten/dokumente/dokumente-edit-form\",\"stammdaten\");\r\nPLATFORM.moduleName(\"../zit/views/stammdaten/dokumente/dokumente-list-form\",\"stammdaten\");\r\nPLATFORM.moduleName(\"../zit/views/stammdaten/dokumenten-extension/dokumenten-extension-edit-form\",\"stammdaten\");\r\nPLATFORM.moduleName(\"../zit/views/stammdaten/dokumenten-extension/dokumenten-extension-list-form\",\"stammdaten\");\r\nPLATFORM.moduleName(\"../zit/views/stammdaten/domaene/domaene-edit-form\",\"stammdaten\");\r\nPLATFORM.moduleName(\"../zit/views/stammdaten/domaene/domaene-list-form\",\"stammdaten\");\r\nPLATFORM.moduleName(\"../zit/views/stammdaten/druckvorlage/druckvorlage-edit-form\",\"stammdaten\");\r\nPLATFORM.moduleName(\"../zit/views/stammdaten/druckvorlage/druckvorlage-list-form\",\"stammdaten\");\r\nPLATFORM.moduleName(\"../zit/views/stammdaten/druckvorlage/druckvorlage-zu-druckvorlage-paket-edit-form\",\"stammdaten\");\r\nPLATFORM.moduleName(\"../zit/views/stammdaten/druckvorlage/druckvorlage-zuteilung-durch-edit-form\",\"stammdaten\");\r\nPLATFORM.moduleName(\"../zit/views/stammdaten/druckvorlage-paket/druckvorlage-paket-edit-form\",\"stammdaten\");\r\nPLATFORM.moduleName(\"../zit/views/stammdaten/druckvorlage-paket/druckvorlage-paket-list-form\",\"stammdaten\");\r\nPLATFORM.moduleName(\"../zit/views/stammdaten/einsatzvorbereitung/einsatzvorbereitung-edit-form\",\"stammdaten\");\r\nPLATFORM.moduleName(\"../zit/views/stammdaten/einsatzvorbereitung/einsatzvorbereitung-list-form\",\"stammdaten\");\r\nPLATFORM.moduleName(\"../zit/views/stammdaten/entlohnungsschema/entlohnungsschema-edit-form\",\"stammdaten\");\r\nPLATFORM.moduleName(\"../zit/views/stammdaten/entlohnungsschema/entlohnungsschema-list-form\",\"stammdaten\");\r\nPLATFORM.moduleName(\"../zit/views/stammdaten/erklaerungsvideo/erklaerungsvideo-edit-form\",\"stammdaten\");\r\nPLATFORM.moduleName(\"../zit/views/stammdaten/erklaerungsvideo/erklaerungsvideo-list-form\",\"stammdaten\");\r\nPLATFORM.moduleName(\"../zit/views/stammdaten/event-anmeldungsgruppe/event-anmeldungsgruppe-edit-form\",\"stammdaten\");\r\nPLATFORM.moduleName(\"../zit/views/stammdaten/event-anmeldungsgruppe/event-anmeldungsgruppe-list-form\",\"stammdaten\");\r\nPLATFORM.moduleName(\"../zit/views/stammdaten/event-typ/event-typ-edit-form\",\"stammdaten\");\r\nPLATFORM.moduleName(\"../zit/views/stammdaten/event-typ/event-typ-list-form\",\"stammdaten\");\r\nPLATFORM.moduleName(\"../zit/views/stammdaten/familienstand/familienstand-edit-form\",\"stammdaten\");\r\nPLATFORM.moduleName(\"../zit/views/stammdaten/familienstand/familienstand-list-form\",\"stammdaten\");\r\nPLATFORM.moduleName(\"../zit/views/stammdaten/fuehrerscheinklasse/fuehrerscheinklasse-edit-form\",\"stammdaten\");\r\nPLATFORM.moduleName(\"../zit/views/stammdaten/fuehrerscheinklasse/fuehrerscheinklasse-list-form\",\"stammdaten\");\r\nPLATFORM.moduleName(\"../zit/views/stammdaten/funktion/funktion-edit-form\",\"stammdaten\");\r\nPLATFORM.moduleName(\"../zit/views/stammdaten/funktion/funktion-list-form\",\"stammdaten\");\r\nPLATFORM.moduleName(\"../zit/views/stammdaten/geschaeftspartner-gruppierung/geschaeftspartner-gruppierung-edit-form\",\"stammdaten\");\r\nPLATFORM.moduleName(\"../zit/views/stammdaten/geschaeftspartner-gruppierung/geschaeftspartner-gruppierung-list-form\",\"stammdaten\");\r\nPLATFORM.moduleName(\"../zit/views/stammdaten/geschaeftspartner-gruppierungstyp/geschaeftspartner-gruppierungstyp-edit-form\",\"stammdaten\");\r\nPLATFORM.moduleName(\"../zit/views/stammdaten/geschaeftspartner-gruppierungstyp/geschaeftspartner-gruppierungstyp-list-form\",\"stammdaten\");\r\nPLATFORM.moduleName(\"../zit/views/stammdaten/geschaeftspartnertyp/geschaeftspartnertyp-edit-form\",\"stammdaten\");\r\nPLATFORM.moduleName(\"../zit/views/stammdaten/geschaeftspartnertyp/geschaeftspartnertyp-list-form\",\"stammdaten\");\r\nPLATFORM.moduleName(\"../zit/views/stammdaten/groesse/groesse-edit-form\",\"stammdaten\");\r\nPLATFORM.moduleName(\"../zit/views/stammdaten/groesse/groesse-list-form\",\"stammdaten\");\r\nPLATFORM.moduleName(\"../zit/views/stammdaten/grund/grund-edit-form\",\"stammdaten\");\r\nPLATFORM.moduleName(\"../zit/views/stammdaten/grund/grund-list-form\",\"stammdaten\");\r\nPLATFORM.moduleName(\"../zit/views/stammdaten/informationstyp/informationstyp-edit-form\",\"stammdaten\");\r\nPLATFORM.moduleName(\"../zit/views/stammdaten/informationstyp/informationstyp-list-form\",\"stammdaten\");\r\nPLATFORM.moduleName(\"../zit/views/stammdaten/informationstyp/seiten-edit-form\",\"stammdaten\");\r\nPLATFORM.moduleName(\"../zit/views/stammdaten/kollektivvertrag/kollektivvertrag-edit-form\",\"stammdaten\");\r\nPLATFORM.moduleName(\"../zit/views/stammdaten/kollektivvertrag/kollektivvertrag-list-form\",\"stammdaten\");\r\nPLATFORM.moduleName(\"../zit/views/stammdaten/kommunikationseinstellung/kommunikationseinstellungbild-edit-form\",\"stammdaten\");\r\nPLATFORM.moduleName(\"../zit/views/stammdaten/kommunikationseinstellung/kommunikationseinstellung-edit-form\",\"stammdaten\");\r\nPLATFORM.moduleName(\"../zit/views/stammdaten/kommunikationseinstellung/kommunikationseinstellung-list-form\",\"stammdaten\");\r\nPLATFORM.moduleName(\"../zit/views/stammdaten/kontakttyp/kontakttyp-edit-form\",\"stammdaten\");\r\nPLATFORM.moduleName(\"../zit/views/stammdaten/kontakttyp/kontakttyp-list-form\",\"stammdaten\");\r\nPLATFORM.moduleName(\"../zit/views/stammdaten/kostenstelle/kostenstelle-edit-form\",\"stammdaten\");\r\nPLATFORM.moduleName(\"../zit/views/stammdaten/kostenstelle/kostenstelle-list-form\",\"stammdaten\");\r\nPLATFORM.moduleName(\"../zit/views/stammdaten/lehrberuf/lehrberuf-edit-form\",\"stammdaten\");\r\nPLATFORM.moduleName(\"../zit/views/stammdaten/lehrberuf/lehrberuf-list-form\",\"stammdaten\");\r\nPLATFORM.moduleName(\"../zit/views/stammdaten/objekt-export-eigenschaft/objekt-export-eigenschaft-csharp-edit-form\",\"stammdaten\");\r\nPLATFORM.moduleName(\"../zit/views/stammdaten/objekt-export-eigenschaft/objekt-export-eigenschaft-expression-edit-form\",\"stammdaten\");\r\nPLATFORM.moduleName(\"../zit/views/stammdaten/objekt-export-eigenschaft/objekt-export-eigenschaft-list-form\",\"stammdaten\");\r\nPLATFORM.moduleName(\"../zit/views/stammdaten/objekt-marker/objekt-marker-auswaehlen-form\",\"stammdaten\");\r\nPLATFORM.moduleName(\"../zit/views/stammdaten/objekt-marker/objekt-marker-edit-form\",\"stammdaten\");\r\nPLATFORM.moduleName(\"../zit/views/stammdaten/objekt-marker/objekt-marker-list-form\",\"stammdaten\");\r\nPLATFORM.moduleName(\"../zit/views/stammdaten/objekt-marker/objekt-marker-zus-loginprofil-edit-form\",\"stammdaten\");\r\nPLATFORM.moduleName(\"../zit/views/stammdaten/objekt-status/benutzer-objekt-status-benutzerrolle-edit-form\",\"stammdaten\");\r\nPLATFORM.moduleName(\"../zit/views/stammdaten/objekt-status/benutzer-objekt-status-edit-form\",\"stammdaten\");\r\nPLATFORM.moduleName(\"../zit/views/stammdaten/objekt-status/objekt-status-edit-form\",\"stammdaten\");\r\nPLATFORM.moduleName(\"../zit/views/stammdaten/objekt-status/objekt-status-list-form\",\"stammdaten\");\r\nPLATFORM.moduleName(\"../zit/views/stammdaten/objekt-status/schnittstellenbenutzer-edit-form\",\"stammdaten\");\r\nPLATFORM.moduleName(\"../zit/views/stammdaten/objekt-status-sammlung/objekt-status-sammlung-edit-form\",\"stammdaten\");\r\nPLATFORM.moduleName(\"../zit/views/stammdaten/objekt-status-sammlung/objekt-status-sammlung-list-form\",\"stammdaten\");\r\nPLATFORM.moduleName(\"../zit/views/stammdaten/package/package-edit-form\",\"stammdaten\");\r\nPLATFORM.moduleName(\"../zit/views/stammdaten/package/package-list-form\",\"stammdaten\");\r\nPLATFORM.moduleName(\"../zit/views/stammdaten/pfad/pfad-edit-form\",\"stammdaten\");\r\nPLATFORM.moduleName(\"../zit/views/stammdaten/pfad/pfad-list-form\",\"stammdaten\");\r\nPLATFORM.moduleName(\"../zit/views/stammdaten/pvtext/pvtext-edit-form\",\"stammdaten\");\r\nPLATFORM.moduleName(\"../zit/views/stammdaten/pvtext/pvtext-list-form\",\"stammdaten\");\r\nPLATFORM.moduleName(\"../zit/views/stammdaten/regel/regel-aktion-csharp-edit-form\",\"stammdaten\");\r\nPLATFORM.moduleName(\"../zit/views/stammdaten/regel/regel-edit-form\",\"stammdaten\");\r\nPLATFORM.moduleName(\"../zit/views/stammdaten/regel/regel-list-form\",\"stammdaten\");\r\nPLATFORM.moduleName(\"../zit/views/stammdaten/schnittstellenbenutzer/schnittstellenbenutzer-edit-form\",\"stammdaten\");\r\nPLATFORM.moduleName(\"../zit/views/stammdaten/schnittstellenbenutzer/schnittstellenbenutzer-list-form\",\"stammdaten\");\r\nPLATFORM.moduleName(\"../zit/views/stammdaten/schnittstellenbenutzer/webhook-edit-form\",\"stammdaten\");\r\nPLATFORM.moduleName(\"../zit/views/stammdaten/schnupperberuf-geschaeftspartner/schnupperberuf-geschaeftspartner-edit-form\",\"stammdaten\");\r\nPLATFORM.moduleName(\"../zit/views/stammdaten/schnupperberuf-geschaeftspartner/schnupperberuf-geschaeftspartner-list-form\",\"stammdaten\");\r\nPLATFORM.moduleName(\"../zit/views/stammdaten/schnuppertermin-anfrageart/schnuppertermin-anfrageart-edit-form\",\"stammdaten\");\r\nPLATFORM.moduleName(\"../zit/views/stammdaten/schnuppertermin-anfrageart/schnuppertermin-anfrageart-list-form\",\"stammdaten\");\r\nPLATFORM.moduleName(\"../zit/views/stammdaten/skill/skill-edit-form\",\"stammdaten\");\r\nPLATFORM.moduleName(\"../zit/views/stammdaten/skill/skill-list-form\",\"stammdaten\");\r\nPLATFORM.moduleName(\"../zit/views/stammdaten/skill-gruppe/skill-gruppe-edit-form\",\"stammdaten\");\r\nPLATFORM.moduleName(\"../zit/views/stammdaten/skill-gruppe/skill-gruppe-list-form\",\"stammdaten\");\r\nPLATFORM.moduleName(\"../zit/views/stammdaten/sprache/sprache-edit-form\",\"stammdaten\");\r\nPLATFORM.moduleName(\"../zit/views/stammdaten/sprache/sprache-list-form\",\"stammdaten\");\r\nPLATFORM.moduleName(\"../zit/views/stammdaten/sprachniveau/sprachniveau-edit-form\",\"stammdaten\");\r\nPLATFORM.moduleName(\"../zit/views/stammdaten/sprachniveau/sprachniveau-list-form\",\"stammdaten\");\r\nPLATFORM.moduleName(\"../zit/views/stammdaten/staat/staat-edit-form\",\"stammdaten\");\r\nPLATFORM.moduleName(\"../zit/views/stammdaten/staat/staat-list-form\",\"stammdaten\");\r\nPLATFORM.moduleName(\"../zit/views/stammdaten/statistikdaten/statistikdaten-edit-form\",\"stammdaten\");\r\nPLATFORM.moduleName(\"../zit/views/stammdaten/statistikdaten/statistikdaten-list-form\",\"stammdaten\");\r\nPLATFORM.moduleName(\"../zit/views/stammdaten/stelleninserat-bewerbungstyp/stelleninserat-bewerbungstyp-edit-form\",\"stammdaten\");\r\nPLATFORM.moduleName(\"../zit/views/stammdaten/stelleninserat-bewerbungstyp/stelleninserat-bewerbungstyp-list-form\",\"stammdaten\");\r\nPLATFORM.moduleName(\"../zit/views/stammdaten/stelleninserat-gruppentyp/stelleninserat-gruppentyp-edit-form\",\"stammdaten\");\r\nPLATFORM.moduleName(\"../zit/views/stammdaten/stelleninserat-gruppentyp/stelleninserat-gruppentyp-list-form\",\"stammdaten\");\r\nPLATFORM.moduleName(\"../zit/views/stammdaten/survey-monkey-fragebogen/survey-monkey-fragebogen-edit-form\");\r\nPLATFORM.moduleName(\"../zit/views/stammdaten/survey-monkey-fragebogen/survey-monkey-fragebogen-list-form\",\"stammdaten\");\r\nPLATFORM.moduleName(\"../zit/views/stammdaten/termintyp/termintyp-edit-form\",\"stammdaten\");\r\nPLATFORM.moduleName(\"../zit/views/stammdaten/termintyp/termintyp-list-form\",\"stammdaten\");\r\nPLATFORM.moduleName(\"../zit/views/stammdaten/unternehmen/unternehmen-edit-form\",\"stammdaten\");\r\nPLATFORM.moduleName(\"../zit/views/stammdaten/unternehmen/unternehmen-list-form\",\"stammdaten\");\r\nPLATFORM.moduleName(\"../zit/views/stammdaten/unternehmensbereich/unternehmensbereich-edit-form\",\"stammdaten\");\r\nPLATFORM.moduleName(\"../zit/views/stammdaten/unternehmensbereich/unternehmensbereich-list-form\",\"stammdaten\");\r\nPLATFORM.moduleName(\"../zit/views/stammdaten/updatehinweis/updatehinweis-edit-form\",\"stammdaten\");\r\nPLATFORM.moduleName(\"../zit/views/stammdaten/updatehinweis/updatehinweis-list-form\",\"stammdaten\");\r\nPLATFORM.moduleName(\"../zit/views/stammdaten/verwandtschaftsverhaeltnis/verwandtschaftsverhaeltnis-edit-form\",\"stammdaten\");\r\nPLATFORM.moduleName(\"../zit/views/stammdaten/verwandtschaftsverhaeltnis/verwandtschaftsverhaeltnis-list-form\",\"stammdaten\");\r\nPLATFORM.moduleName(\"../zit/views/stammdaten/waehrung/waehrung-edit-form\",\"stammdaten\");\r\nPLATFORM.moduleName(\"../zit/views/stammdaten/waehrung/waehrung-list-form\",\"stammdaten\");\r\nPLATFORM.moduleName(\"../zit/views/stammdaten/willkommensseite/willkommensseite-edit-form\",\"stammdaten\");\r\nPLATFORM.moduleName(\"../zit/views/stammdaten/willkommensseite/willkommensseite-list-form\",\"stammdaten\");\r\nPLATFORM.moduleName(\"../zit/views/stammdaten/zustand/benutzer-zustand-edit-form\",\"stammdaten\");\r\nPLATFORM.moduleName(\"../zit/views/stammdaten/zustand/zustand-edit-form\",\"stammdaten\");\r\nPLATFORM.moduleName(\"../zit/views/stammdaten/zustand/zustand-list-form\",\"stammdaten\");\r\nPLATFORM.moduleName(\"../zit/views/suche/suche-form\");\r\nPLATFORM.moduleName(\"../zit/views/tableau/tableau-list-form\",\"tableau\");\r\nPLATFORM.moduleName(\"../zit-ui/views/app-login/app-login-form\");\r\nPLATFORM.moduleName(\"../zit-ui/views/auto-login/auto-login-form\");\r\nPLATFORM.moduleName(\"../zit-ui/views/login/views/activate-account/activate-account-form\");\r\nPLATFORM.moduleName(\"../zit-ui/views/login/views/login/login-form\");\r\nPLATFORM.moduleName(\"../zit-ui/views/login/views/loginprofil/loginprofil-form\");\r\nPLATFORM.moduleName(\"../zit-ui/views/login/views/login-tan/login-tan-form\");\r\nPLATFORM.moduleName(\"../zit-ui/views/login/views/password-confirm/password-confirm-form\");\r\nPLATFORM.moduleName(\"../zit-ui/views/login/views/password-reset/password-reset-form\");\r\n}\r\n}\r\n","export {SelectionModeEnum} from \"./selection-mode-enum\";\r\nexport {SortOrderColumnEnum} from \"./sort-order-column-enum\";","import { autoinject } from 'aurelia-framework';\r\nimport { RestService } from './../../framework/base/services/export';\r\n\r\n@autoinject\r\nexport class DispoPlanstelleService {\r\n constructor(\r\n private rest: RestService\r\n ) { }\r\n\r\n deleteEigenschaftAnsprechperson(id: number) {\r\n return this.rest.delete({\r\n url: this.rest.getWebApiUrl(\"ZIT/Objekte/DispoPlanstelleEigenschaftenElementZuAnsprechperson\"),\r\n id: id\r\n });\r\n }\r\n\r\n deleteEigenschaftGruppierung(id: number) {\r\n return this.rest.delete({\r\n url: this.rest.getWebApiUrl(\"ZIT/Objekte/DispoPlanstelleEigenschaftenElementZuGpGruppierung\"),\r\n id: id\r\n });\r\n }\r\n deleteEigenschaftSkill(id: number) {\r\n return this.rest.delete({\r\n url: this.rest.getWebApiUrl(\"ZIT/Objekte/DispoPlanstelleEigenschaftenElementZuSkill\"),\r\n id: id\r\n });\r\n }\r\n\r\n deletePersonenzuteilungEigenschaftAnsprechperson(id: number) {\r\n return this.rest.delete({\r\n url: this.rest.getWebApiUrl(\"ZIT/Objekte/DispoPlanstellePersonenzuteilungEigenschaftenElementZuAnsprechperson\"),\r\n id: id\r\n });\r\n }\r\n deletePersonenzuteilungEigenschaftEntlohnungsschema(id: number) {\r\n return this.rest.delete({\r\n url: this.rest.getWebApiUrl(\"ZIT/Objekte/DispoPlanstellePersonenzuteilungEigenschaftenElementZuEntlohnungsschema\"),\r\n id: id\r\n });\r\n }\r\n deletePersonenzuteilungEigenschafEinsatzvorbereitung(id: number) {\r\n return this.rest.delete({\r\n url: this.rest.getWebApiUrl(\"ZIT/Objekte/DispoPlanstellePersonenzuteilungEigenschaftenElementZuEinsatzvorbereitung\"),\r\n id: id\r\n });\r\n }\r\n deletePersonenzuteilungEigenschaftGruppierung(id: number) {\r\n return this.rest.delete({\r\n url: this.rest.getWebApiUrl(\"ZIT/Objekte/DispoPlanstellePersonenzuteilungEigenschaftenElementZuGpGruppierung\"),\r\n id: id\r\n });\r\n }\r\n\r\n updatePersonenzuteilungStatus(data: { IdObjekt: number, Code: string, IdGrund?: number, Bemerkung?: string, AnmerkungZusage?: string }) {\r\n return this.rest.post({\r\n url: this.rest.getApiUrl(\"ZIT/Dispo/UpdatePersonenzuteilungStatus\"),\r\n data: data,\r\n increaseLoadingCount: true\r\n });\r\n }\r\n}\r\n","import { autoinject } from \"../../framework/forms/form-export\";\r\n\r\n@autoinject\r\nexport class FarbeService {\r\n constructor() {}\r\n\r\n convertHexToRgb(hex: string) {\r\n const result = /^#?([a-f\\d]{2})([a-f\\d]{2})([a-f\\d]{2})$/i.exec(hex);\r\n return result ? {\r\n r: parseInt(result[1], 16),\r\n g: parseInt(result[2], 16),\r\n b: parseInt(result[3], 16)\r\n } : null;\r\n }\r\n convertHexToCssRgba(hex: string, opacity: number): string {\r\n const r = this.convertHexToRgb(hex);\r\n if (!r) {\r\n return \"\";\r\n }\r\n\r\n return `rgba(${r.r}, ${r.g}, ${r.b}, ${opacity})`\r\n }\r\n}\r\n","export interface IZitMarkersOptions {\r\n markerList?: IZitMarker[];\r\n displayMode?: ZitMarkerDisplayMode;\r\n idObjekt?: number;\r\n onClick?: { (event: Event, data: any) };\r\n}\r\ninterface IZitMarker {\r\n caption: string;\r\n backgroundColor: string;\r\n}\r\nexport enum ZitMarkerDisplayMode {\r\n balken = \"b\",\r\n kreis = \"k\"\r\n}\r\n","import {\r\n autoinject\r\n} from \"aurelia-framework\";\r\n\r\n@autoinject\r\nexport class JsonService {\r\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)/;\r\n\r\n constructor() { }\r\n\r\n parse(json: string): any {\r\n if (!json) {\r\n return json;\r\n }\r\n\r\n if (!(typeof json === \"string\")) {\r\n json = JSON.stringify(json);\r\n }\r\n\r\n return JSON.parse(json, (key: string, value: string): any => {\r\n if (typeof value === \"string\" && value.indexOf(\"{\") < 0) {\r\n var a = this.regexDateISO.exec(value);\r\n\r\n if (a && a.index == 0) {\r\n return new Date(value);\r\n }\r\n\r\n return value;\r\n }\r\n return value;\r\n });\r\n }\r\n stringify(obj: any): string {\r\n return JSON.stringify(obj);\r\n }\r\n}\r\n","import { RestService } from \"./../../framework/base/services/rest-service\";\r\nimport { autoinject } from \"aurelia-framework\";\r\nimport { JsonService } from \"../../framework/base/export\";\r\nimport { StartupService } from \"./startup-service\";\r\n\r\n@autoinject\r\nexport class LoginprofilEinstellungenService {\r\n constructor(\r\n private _restService: RestService,\r\n private _jsonService: JsonService,\r\n private _startupService: StartupService\r\n ) { }\r\n\r\n deleteEinstellung(idEinstellung: number): Promise {\r\n return this._restService.delete({\r\n url: this._restService.getWebApiUrl(\"ZIT/Stammdaten/LoginprofilEinstellung\"),\r\n id: idEinstellung.toString(),\r\n increaseLoadingCount: true\r\n });\r\n }\r\n\r\n async loadLoginprofilEinstellung(data: ILoginprofilEinstellungLoadOptions): Promise {\r\n const where: any[] = [[\"Typ\", data.Typ]];\r\n\r\n if (data.Entitaet) {\r\n where.push([\"Entitaet\", data.Entitaet]);\r\n }\r\n\r\n if (data.Typ == LoginprofilEinstellungTyp.Tableau) {\r\n where.push([\"IdLoginprofil\", this._startupService.startupInfo.Benutzer.IdLoginprofil]);\r\n }\r\n\r\n if (data.IsStandard) {\r\n where.push([\"IsStandard\", true]);\r\n }\r\n\r\n const result: any[] = await this._restService.get({\r\n url: this._restService.getWebApiUrl(\"ZIT/Stammdaten/LoginprofilEinstellung\"),\r\n increaseLoadingCount: true,\r\n getOptions: {\r\n where: where\r\n }\r\n });\r\n\r\n return result.map((item) => {\r\n const wert = this._jsonService.parse(item.Wert || \"[]\");\r\n\r\n let columns = wert.Columns;\r\n const custom = wert.Custom;\r\n\r\n if (Array.isArray(wert)) {\r\n columns = wert;\r\n }\r\n\r\n return {\r\n Id: item.Id,\r\n Typ: item.Typ,\r\n Entitaet: item.Entitaet,\r\n Bezeichnung: item.Bezeichnung,\r\n IsStandard: item.IsStandard,\r\n Wert: {\r\n Columns: columns,\r\n Custom: custom\r\n }\r\n };\r\n });\r\n }\r\n saveOrCreateEinstellung(data: ILoginprofilEinstellung): Promise {\r\n if (!data.Wert) {\r\n data.Wert = {\r\n Columns: [],\r\n Custom: null\r\n };\r\n }\r\n\r\n return this._restService.post({\r\n url: this._restService.getWebApiUrl(\"ZIT/Stammdaten/LoginprofilEinstellung\"),\r\n increaseLoadingCount: true,\r\n data: {\r\n Id: data.Id,\r\n Bezeichnung: data.Bezeichnung,\r\n IsStandard: data.IsStandard,\r\n Typ: data.Typ,\r\n Entitaet: data.Entitaet,\r\n Wert: this._jsonService.stringify(data.Wert)\r\n }\r\n });\r\n }\r\n}\r\n\r\nexport interface ILoginprofilEinstellung {\r\n Typ: LoginprofilEinstellungTyp;\r\n Entitaet: string;\r\n Bezeichnung?: string;\r\n IsStandard?: boolean;\r\n Id?: number;\r\n Wert?: ILoginprofilEinstellungWert;\r\n}\r\nexport interface ILoginprofilEinstellungWert {\r\n Columns?: any[];\r\n Custom?: any;\r\n}\r\nexport enum LoginprofilEinstellungTyp {\r\n Suche = 0,\r\n Suchlayout = 1,\r\n Tableau = 2\r\n}\r\nexport interface ILoginprofilEinstellungLoadOptions {\r\n Typ: LoginprofilEinstellungTyp;\r\n Entitaet?: string;\r\n IsStandard?: boolean;\r\n}","import { autoinject, computedFrom, transient } from \"aurelia-framework\";\r\nimport { ICommandData } from \"../../../../framework/forms/export\";\r\nimport { FormBase } from \"../../../../framework/forms/form-export\";\r\nimport { Share } from \"../../../elements/share/share\";\r\nimport { BenutzerTyp } from \"../../../enumerations/benutzer-typ\";\r\nimport { StartupService } from \"../../../services/startup-service\";\r\n\r\n@autoinject\r\n@transient()\r\nexport class PersonReadUtils {\r\n constructor(\r\n public startupService: StartupService\r\n ) { }\r\n\r\n form: FormBase;\r\n \r\n actionCommand: ICommandData = {\r\n id: \"actionCommand\",\r\n icon: \"fas fa-share-alt\",\r\n tooltip: \"zit.aktionen\",\r\n sortIndex: 99,\r\n isVisibleExpression: \"r_share.canShare\",\r\n execute: (executeOptions) => {\r\n const share: Share = this.form[\"r_share\"];\r\n share.showCtxMenu(executeOptions.event);\r\n }\r\n };\r\n\r\n @computedFrom(\"startupService.startupInfo.Benutzer.Benutzertyp\")\r\n get showNotizen() {\r\n switch (this.startupService.startupInfo.Benutzer.Benutzertyp) {\r\n case BenutzerTyp.Administrator:\r\n case BenutzerTyp.InternerBenutzer:\r\n case BenutzerTyp.JuristischePerson:\r\n return true;\r\n default:\r\n return false;\r\n }\r\n }\r\n\r\n bind(form: FormBase) {\r\n this.form = form;\r\n }\r\n}\r\n","import { autoinject } from 'aurelia-framework';\r\nimport { RestService } from '../../framework/base/services/rest-service';\r\n@autoinject\r\nexport class StelleninseratService {\r\n constructor(\r\n private rest: RestService\r\n ) { }\r\n\r\n getStelleninserat(id: number, getOptions = {}) {\r\n return this.rest.get({\r\n url: `${this.rest.getWebApiUrl(\"ZIT/Objekte/Stelleninserat\")}/${id}`,\r\n getOptions: getOptions\r\n });\r\n }\r\n\r\n copyStelleninseratList(idList: number[]) {\r\n if (!idList || !idList.length) {\r\n DevExpress.ui.notify(\"Keine Stelleninserate ausgewählt\", \"error\", 3000);\r\n return;\r\n }\r\n\r\n return this.rest.post({\r\n url: this.rest.getApiUrl(\"ZIT/Objekt/CopyStelleninserate\"),\r\n data: idList,\r\n increaseLoadingCount: true\r\n }).then(r => {\r\n if (r) {\r\n DevExpress.ui.notify(r, \"success\", 3000);\r\n }\r\n });\r\n }\r\n}\r\n","import {\r\n autoinject, Scope\r\n} from \"aurelia-framework\";\r\nimport {\r\n RestService\r\n} from \"./rest-service\";\r\nimport {\r\n BindingService\r\n} from \"./binding-service\";\r\nimport {\r\n ScopeContainer\r\n} from \"../classes/scope-container\";\r\nimport {\r\n ILocalizationItem,\r\n ILocalizationTranslationInfo\r\n} from \"../interfaces/export\";\r\n\r\nimport * as localizationNeutral from \"../../../framework-data/localization-neutral.json\";\r\n\r\n@autoinject\r\nexport class LocalizationService {\r\n private isInitialized: boolean;\r\n\r\n constructor(\r\n private rest: RestService,\r\n private binding: BindingService\r\n ) { }\r\n\r\n addLocalizationNeutral(namespace: string, key: string, translation: string) {\r\n const n = localizationNeutral[namespace];\r\n if (!n) {\r\n localizationNeutral[namespace] = {};\r\n }\r\n\r\n localizationNeutral[namespace][key] = translation;\r\n }\r\n getTranslationInfo(key: string | ILocalizationItem): ILocalizationTranslationInfo {\r\n if (!key) {\r\n return {\r\n needsBinding: false,\r\n text: \"\"\r\n };\r\n }\r\n\r\n let item: ILocalizationItemInfo;\r\n\r\n try {\r\n item = typeof key === \"string\"\r\n ? this.getLocalizationItem(key)\r\n : this.getLocalizationItem(key.key);\r\n\r\n }\r\n catch (e) {\r\n throw new Error(`No localization found for ${key}`);\r\n }\r\n\r\n if (!item) {\r\n throw new Error(`No localization found for ${key}`);\r\n }\r\n\r\n let text = item.text;\r\n let needsBinding = false;\r\n let scope: Scope = null;\r\n\r\n if (typeof key === \"string\") {\r\n needsBinding = item.parameters\r\n && item.parameters.length > 0;\r\n\r\n item.parameters.forEach((expr, index) => {\r\n text = text.replace(new RegExp(\"\\\\{\" + index + \"\\\\}\", \"g\"), \"${\" + expr + \"}\");\r\n });\r\n } else if (key.parameters && key.parameters.length > 0) {\r\n needsBinding = true;\r\n scope = {\r\n bindingContext: key,\r\n overrideContext: null\r\n };\r\n key.parameters.forEach((expr, index) => {\r\n text = text.replace(new RegExp(\"\\\\{\" + index + \"\\\\}\", \"g\"), \"${parameters[\" + index + \"]}\");\r\n });\r\n }\r\n\r\n return {\r\n text: text,\r\n needsBinding: needsBinding,\r\n scope: scope\r\n };\r\n }\r\n translateOnce(key: string | ILocalizationItem, parameters?: string[] | ScopeContainer): string {\r\n if (!key) {\r\n return \"\";\r\n }\r\n\r\n let item: ILocalizationItemInfo;\r\n\r\n try {\r\n item = typeof key === \"string\"\r\n ? this.getLocalizationItem(key)\r\n : this.getLocalizationItem(key.key);\r\n\r\n }\r\n catch (e) {\r\n throw new Error(`No localization found for ${key}`);\r\n }\r\n\r\n if (!item) {\r\n throw new Error(`No localization found for ${key}`);\r\n }\r\n\r\n if (!(typeof key === \"string\")) {\r\n parameters = key.parameters;\r\n }\r\n\r\n if (!item) {\r\n throw new Error(`No localization found for ${key}`);\r\n }\r\n\r\n return this.translateItem(item, parameters);\r\n }\r\n private getLocalizationItem(key: string): ILocalizationItemInfo {\r\n const items = key.split(\".\");\r\n\r\n let item: any = localizationNeutral;\r\n items.forEach(i => {\r\n if (!item) {\r\n return;\r\n }\r\n\r\n item = item[i];\r\n });\r\n\r\n if (typeof item === \"string\") {\r\n return {\r\n key: key,\r\n text: item,\r\n parameters: []\r\n }\r\n } else {\r\n return {\r\n key: key,\r\n text: item.text,\r\n parameters: item.parameters\r\n }\r\n }\r\n }\r\n private translateItem(item: ILocalizationItemInfo, parameters?: string[] | ScopeContainer): string {\r\n let text = item.text;\r\n\r\n if (parameters != void (0)) {\r\n if (Array.isArray(parameters)) {\r\n parameters.forEach((val, index) => {\r\n text = text.replace(new RegExp(\"\\\\{\" + index + \"\\\\}\", \"g\"), val);\r\n });\r\n } else {\r\n item.parameters.forEach((expr, index) => {\r\n let val = this.binding.evaluate(parameters.scope, expr);\r\n\r\n if (val == void (0)) {\r\n val = \"\";\r\n }\r\n\r\n text = text.replace(new RegExp(\"\\\\{\" + index + \"\\\\}\", \"g\"), val);\r\n });\r\n }\r\n }\r\n\r\n return text;\r\n }\r\n}\r\n\r\ninterface ILocalizationItemInfo {\r\n key: string;\r\n text: string;\r\n parameters: string[];\r\n}\r\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 {\r\n autoinject,\r\n singleton\r\n} from \"aurelia-framework\";\r\nimport * as Interfaces from \"../interfaces/export\";\r\nimport {\r\n FormBase\r\n} from \"../classes/form-base\";\r\n\r\n@autoinject\r\n@singleton(true)\r\nexport class Commands {\r\n private form: FormBase;\r\n private commands: Interfaces.ICommand[] = [];\r\n private commandData: Interfaces.ICommandData[] = [];\r\n\r\n constructor() {}\r\n\r\n addCommand(commandData: Interfaces.ICommandData) {\r\n this.commandData.push(commandData);\r\n }\r\n addInfo(command: Interfaces.ICommand) {\r\n this.commands.push(command);\r\n }\r\n\r\n getCommands(): Interfaces.ICommandData[] {\r\n const result = this.commands.map(i => this.form.binding.evaluate(this.form.scope, i.binding.bindToFQ));\r\n\r\n result.push(...this.commandData);\r\n\r\n return result;\r\n }\r\n \r\n registerForm(form: FormBase) {\r\n if (this.form) {\r\n throw new Error(\"Form was already registered\");\r\n }\r\n\r\n this.form = form;\r\n }\r\n\r\n dispose() {\r\n }\r\n}\r\n","import { transient, autoinject } from \"aurelia-framework\";\r\nimport { FormBase } from '../../../framework/forms/export';\r\n\r\n@autoinject\r\n@transient()\r\nexport class DashboardUtils {\r\n constructor(\r\n ) {}\r\n\r\n form: FormBase;\r\n\r\n bind(form: FormBase) {\r\n this.form = form;\r\n }\r\n}\r\n","export enum ErklaerungsvideoInhaltArtEnum {\r\n Url = 0,\r\n File = 1,\r\n VimeoEinbettungslink = 2\r\n}\r\n","import {\r\n autoinject\r\n} from \"aurelia-framework\";\r\nimport {\r\n FormBase\r\n} from \"../classes/form-base\";\r\nimport {\r\n IListOptionsBase,\r\n IDataGridOptions\r\n} from \"../widget-options/export\";\r\nimport {\r\n LocationService,\r\n LocalizationService,\r\n PermissionService,\r\n RestService,\r\n ShortcutService\r\n} from \"../../base/services/export\";\r\nimport {\r\n PopupInfoService\r\n} from \"./popup-info-service\";\r\nimport {\r\n IModel,\r\n IValidationResult\r\n} from \"../interfaces/export\";\r\nimport * as Interfaces from \"../interfaces/export\";\r\nimport {\r\n ContextMenu\r\n} from \"../classes/context-menu\";\r\nimport { RouterService } from \"./router-service\";\r\nimport { DialogConfirmService } from './dialog-confirm-service';\r\nimport { ListType } from '../enums/list-type-enum';\r\n\r\n@autoinject\r\nexport class DefaultCommandsService {\r\n constructor(\r\n private router: RouterService,\r\n private location: LocationService,\r\n private localization: LocalizationService,\r\n private permission: PermissionService,\r\n private rest: RestService,\r\n private shortcut: ShortcutService,\r\n private popupInfo: PopupInfoService,\r\n private dialogConfirmService: DialogConfirmService\r\n ) {\r\n this.shortcut.bindShortcut(\"ctrl+shift+enter\", \"$command\", true);\r\n this.shortcut.bindShortcut(\"f10\", \"$save\");\r\n this.shortcut.bindShortcut(\"ctrl+f10\", \"$saveAndClose\");\r\n this.shortcut.bindShortcut(\"shift+f10\", \"$saveAndAdd\");\r\n this.shortcut.bindShortcut(\"f9\", \"$close\");\r\n this.shortcut.bindShortcut(\"f8\", \"$delete\");\r\n this.shortcut.bindShortcut(\"f7\", \"$add\");\r\n this.shortcut.bindShortcut(\"ctrl+f11\", \"$scrollUp\");\r\n this.shortcut.bindShortcut(\"ctrl+f12\", \"$scrollDown\");\r\n }\r\n\r\n getFormAddCommand(form: FormBase): Interfaces.ICommandData {\r\n const cmd: Interfaces.ICommandData = {\r\n id: \"$add\",\r\n icon: \"fas fa-plus\",\r\n title: \"base.add\",\r\n tooltip: \"base.add_tooltip\",\r\n sortIndex: 5,\r\n isVisible: form.canSave(),\r\n isEnabled: form.canAdd(),\r\n execute: () => {\r\n form.add();\r\n }\r\n };\r\n\r\n form.models.onLoaded.register(() => {\r\n cmd.isEnabled = form.canAdd();\r\n return Promise.resolve();\r\n });\r\n\r\n return cmd;\r\n }\r\n getFormSaveCommand(form: FormBase): Interfaces.ICommandData {\r\n const cmd: Interfaces.ICommandData = {\r\n id: \"$save\",\r\n icon: \"fas fa-save\",\r\n title: \"base.save\",\r\n tooltip: \"base.save_tooltip\",\r\n sortIndex: 10,\r\n isVisible: form.canSave(),\r\n isEnabled: form.canSaveNow(),\r\n execute: () => {\r\n form.save()\r\n .catch(r => {\r\n form.error.showAndLogError(r);\r\n });\r\n }\r\n };\r\n\r\n form.models.onLoaded.register(() => {\r\n cmd.isEnabled = form.canSaveNow();\r\n return Promise.resolve();\r\n });\r\n\r\n return cmd;\r\n }\r\n getEditPopupSaveAndAddCommand(form: FormBase): Interfaces.ICommandData {\r\n const cmd: Interfaces.ICommandData = {\r\n id: \"$saveAndAdd\",\r\n title: \"base.save_and_add\",\r\n tooltip: \"base.save_and_add_tooltip\",\r\n small: true,\r\n sortIndex: 11,\r\n isVisible: form.canSave(),\r\n isEnabled: form.canSaveNow() && form.canAdd(),\r\n execute: () => {\r\n form.save().then((r: IValidationResult) => {\r\n if (r.isValid) {\r\n form.add();\r\n }\r\n });\r\n }\r\n };\r\n\r\n form.models.onLoaded.register(() => {\r\n cmd.isEnabled = form.canSaveNow() && form.canAdd();\r\n return Promise.resolve();\r\n });\r\n\r\n return cmd;\r\n }\r\n getEditPopupSaveAndCloseCommand(form: FormBase): Interfaces.ICommandData {\r\n const cmd: Interfaces.ICommandData = {\r\n id: \"$saveAndClose\",\r\n title: \"base.save_and_close\",\r\n tooltip: \"base.save_and_close_tooltip\",\r\n small: true,\r\n sortIndex: 11,\r\n isVisible: form.canSave(),\r\n isEnabled: form.canSaveNow() && form.canAdd(),\r\n execute: () => {\r\n form.save().then((r: IValidationResult) => {\r\n if (r.isValid) {\r\n this.popupInfo.closeCurrentPopup();\r\n }\r\n });\r\n }\r\n };\r\n\r\n form.models.onLoaded.register(() => {\r\n cmd.isEnabled = form.canSaveNow();\r\n return Promise.resolve();\r\n });\r\n\r\n return cmd;\r\n }\r\n getFormDeleteCommand(form: FormBase): Interfaces.ICommandData {\r\n const cmd: Interfaces.ICommandData = {\r\n id: \"$delete\",\r\n icon: \"fas fa-times\",\r\n title: \"base.delete\",\r\n tooltip: \"base.delete_tooltip\",\r\n sortIndex: 20,\r\n isVisible: form.canSave(),\r\n isEnabled: form.canDeleteNow(),\r\n execute: () => {\r\n this.dialogConfirmService.show({\r\n title: form.translate(\"base.question\"),\r\n message: form.translate(\"base.sure_delete_question\")\r\n }).then(r => {\r\n if (r) {\r\n form.delete().then((deleteResult) => {\r\n if (!deleteResult) {\r\n return;\r\n }\r\n\r\n history.back();\r\n });\r\n }\r\n });\r\n }\r\n };\r\n\r\n form.models.onLoaded.register(() => {\r\n cmd.isVisible = form.canSave();\r\n cmd.isEnabled = form.canDeleteNow();\r\n return Promise.resolve();\r\n });\r\n\r\n return cmd;\r\n }\r\n getEditPopupDeleteCommand(form: FormBase): Interfaces.ICommandData {\r\n const cmd = this.getFormDeleteCommand(form);\r\n\r\n cmd.execute = () => {\r\n this.dialogConfirmService.show({\r\n title: form.translate(\"base.question\"),\r\n message: form.translate(\"base.sure_delete_question\")\r\n }).then(r => {\r\n if (r) {\r\n form.delete().then((deleteResult) => {\r\n if (!deleteResult) {\r\n return;\r\n }\r\n \r\n this.popupInfo.closeCurrentPopup();\r\n });\r\n }\r\n });\r\n };\r\n\r\n return cmd;\r\n }\r\n getFormGoBackCommand(form: FormBase): Interfaces.ICommandData {\r\n const cmd: Interfaces.ICommandData = {\r\n id: \"$goBack\",\r\n idCategory: \"$nav\",\r\n icon: \"fas fa-arrow-left\",\r\n tooltip: \"base.back\",\r\n sortIndex: 0,\r\n isEnabled: true,\r\n isVisibleExpression: \"canGoBack\",\r\n execute: () => {\r\n this.location.goBack();\r\n }\r\n }\r\n\r\n return cmd;\r\n }\r\n getListAddCommand(form: FormBase, options: IListOptionsBase): Interfaces.ICommandData {\r\n const cmd: Interfaces.ICommandData = {\r\n id: \"$add\",\r\n icon: \"fas fa-plus\",\r\n title: \"base.add\",\r\n tooltip: \"base.add_tooltip\",\r\n sortIndex: 5,\r\n isVisible: false,\r\n isEnabled: true,\r\n execute: (e) => {\r\n this.showEditPopupAdd(form, options, e.event ? e.event.target : null);\r\n }\r\n }\r\n\r\n if (options.dataModel) {\r\n const model = (options.relationBinding && options.relationBinding.dataContext)\r\n ? options.relationBinding.dataContext\r\n : options.dataModel;\r\n\r\n const info = form.models.getInfo(model);\r\n if (info) {\r\n cmd.isVisible = (info.webApiAction\r\n && info.keyProperty\r\n && this.permission.canWebApiNew(info.webApiAction, form.moduleId)\r\n && !!(options.editUrl || options.idEditPopup || options.listEdits.length > 0)) || false;\r\n\r\n if (info.allowNew) {\r\n cmd.isEnabledExpression = info.allowNew;\r\n delete cmd.isEnabled;\r\n }\r\n }\r\n }\r\n\r\n return cmd;\r\n }\r\n getListEditCommand(form: FormBase, options: IListOptionsBase): Interfaces.ICommandData {\r\n const cmd: Interfaces.ICommandData = {\r\n id: \"$listEdit\",\r\n icon: \"fas fa-pencil-alt\",\r\n title: \"base.edit\",\r\n tooltip: \"base.edit\",\r\n sortIndex: 6,\r\n isVisible: true,\r\n isEnabled: false,\r\n execute: () => {\r\n const customOptions = form[options.options.optionsName][\"__customOptions\"];\r\n\r\n const args = customOptions[\"clickArguments\"];\r\n const actions = customOptions[\"openClickActions\"];\r\n\r\n actions.forEach(c => c(args.event, args.dataSource));\r\n }\r\n }\r\n\r\n form.binding.observe({\r\n scopeContainer: form.scopeContainer,\r\n expression: `${options.options.optionsName}.__customOptions.clickArguments`,\r\n callback: (newValue, oldValue) => {\r\n cmd.isEnabled = !!newValue;\r\n }\r\n });\r\n\r\n return cmd;\r\n }\r\n getListExcelExportCommand(form: FormBase, options: IListOptionsBase): Interfaces.ICommandData {\r\n const cmd: Interfaces.ICommandData = {\r\n id: \"$listExcelExport\",\r\n idCategory: \"$export\",\r\n icon: \"far fa-file-excel\",\r\n title: \"base.excel-export\",\r\n tooltip: \"base.excel-export\",\r\n sortIndex: 7,\r\n isVisible: true,\r\n isEnabled: true,\r\n execute: () => {\r\n //TODO - es muss nicht unbedingt ein DataGrid sein?\r\n const dataGrid: DevExpress.ui.dxDataGrid = form[options.id].instance;\r\n dataGrid.option(\r\n \"export.fileName\",\r\n this.localization.translateOnce(form.title));\r\n\r\n let onlySelected = (dataGrid.getSelectedRowKeys().length > 0);\r\n\r\n dataGrid.exportToExcel(onlySelected);\r\n }\r\n }\r\n\r\n return cmd;\r\n }\r\n getListCommands(form: FormBase, options: IListOptionsBase, addEditCommand: boolean = false, listType: ListType = null): Interfaces.ICommandData[] {\r\n const result: Interfaces.ICommandData[] = [];\r\n\r\n const addCmd = this.getListAddCommand(form, options);\r\n if (addCmd) {\r\n result.push(addCmd);\r\n }\r\n\r\n if (addEditCommand) {\r\n const editCmd = this.getListEditCommand(form, options);\r\n if (editCmd)\r\n result.push(editCmd);\r\n }\r\n\r\n if (options.isMainList && listType == ListType.DataGrid) {\r\n result.push(this.getListExcelExportCommand(form, options));\r\n }\r\n\r\n return result;\r\n }\r\n getScrollDown(form: FormBase): Interfaces.ICommandData {\r\n const cmd: Interfaces.ICommandData = {\r\n id: \"$scrollDown\",\r\n idCategory: \"$nav\",\r\n icon: \"fas fa-chevron-down\",\r\n tooltip: \"base.scroll_down_tooltip\",\r\n small: true,\r\n sortIndex: 2,\r\n isEnabled: !!form.viewScrollInfo && form.viewScrollInfo.index < form.viewScrollInfo.maxCount - 1,\r\n isVisible: !!form.viewScrollInfo,\r\n execute: () => {\r\n const index = form.viewScrollInfo.index + 1;\r\n this.scroll(form, index);\r\n }\r\n }\r\n\r\n form.binding.observe({\r\n scopeContainer: form.scopeContainer,\r\n expression: \"viewScrollInfo.index\",\r\n callback: () => {\r\n cmd.isEnabled = !!form.viewScrollInfo && form.viewScrollInfo.index < form.viewScrollInfo.maxCount - 1\r\n }\r\n });\r\n form.binding.observe({\r\n scopeContainer: form.scopeContainer,\r\n expression: \"viewScrollInfo\",\r\n callback: () => {\r\n cmd.isVisible = !!form.viewScrollInfo;\r\n }\r\n });\r\n\r\n return cmd;\r\n }\r\n getScrollUp(form: FormBase): Interfaces.ICommandData {\r\n const cmd: Interfaces.ICommandData = {\r\n id: \"$scrollUp\",\r\n idCategory: \"$nav\",\r\n icon: \"fas fa-chevron-up\",\r\n tooltip: \"base.scroll_up_tooltip\",\r\n small: true,\r\n sortIndex: 1,\r\n isEnabled: !!form.viewScrollInfo && form.viewScrollInfo.index > 0,\r\n isVisible: !!form.viewScrollInfo,\r\n execute: () => {\r\n const index = form.viewScrollInfo.index - 1;\r\n this.scroll(form, index);\r\n }\r\n }\r\n\r\n form.binding.observe({\r\n scopeContainer: form.scopeContainer,\r\n expression: \"viewScrollInfo.index\",\r\n callback: () => {\r\n cmd.isEnabled = !!form.viewScrollInfo && form.viewScrollInfo.index > 0\r\n }\r\n });\r\n form.binding.observe({\r\n scopeContainer: form.scopeContainer,\r\n expression: \"viewScrollInfo\",\r\n callback: () => {\r\n cmd.isVisible = !!form.viewScrollInfo;\r\n }\r\n });\r\n\r\n return cmd;\r\n }\r\n getClosePopupCommand() {\r\n const cmd: Interfaces.ICommandData = {\r\n id: \"$close\",\r\n idCategory: \"$close\",\r\n icon: \"fas fa-times\",\r\n tooltip: \"base.close_tooltip\",\r\n sortIndex: 999,\r\n execute: () => {\r\n this.popupInfo.closeCurrentPopup();\r\n }\r\n }\r\n\r\n return cmd;\r\n }\r\n\r\n private showEditPopupAdd(form: FormBase, options: IListOptionsBase, target: any) {\r\n if (options.listEdits.length > 0) {\r\n const ctxMenu = new ContextMenu();\r\n\r\n options.listEdits.forEach(c => {\r\n ctxMenu.items.push({\r\n text: form.translate(c.caption),\r\n execute: () => {\r\n if (c.editDataContext) {\r\n const model = form.models.getInfo(c.editDataContext);\r\n form.models.data[c.editDataContext] = form.models.createNewModelData(model);\r\n }\r\n if (c.editUrl) {\r\n this.location.goTo({\r\n url: c.editUrl + \"/0\",\r\n currentViewModel: form\r\n });\r\n }\r\n if (c.idEditPopup) {\r\n form.editPopups.show(c.idEditPopup, null);\r\n }\r\n }\r\n });\r\n });\r\n\r\n ctxMenu.show(target);\r\n } else {\r\n if (options.editDataContext) {\r\n const model = form.models.getInfo(options.editDataContext);\r\n form.models.data[options.editDataContext] = form.models.createNewModelData(model);\r\n }\r\n if (options.editUrl) {\r\n this.location.goTo({\r\n url: options.editUrl + \"/0\",\r\n currentViewModel: form\r\n });\r\n }\r\n if (options.idEditPopup) {\r\n form.editPopups.show(options.idEditPopup, null);\r\n }\r\n }\r\n }\r\n private async scroll(form: FormBase, index: number): Promise {\r\n const hasHandled = await form.handleChangedData();\r\n if (!hasHandled) {\r\n return;\r\n }\r\n\r\n const viewScrollInfo = form.viewScrollInfo;\r\n\r\n if (viewScrollInfo.getNextKey) {\r\n const id = viewScrollInfo.getNextKey(index);\r\n if (!id) {\r\n return;\r\n }\r\n\r\n viewScrollInfo.index = index;\r\n form.loadById(id);\r\n } else {\r\n const lastLoadInfo = viewScrollInfo.lastLoadInfo;\r\n\r\n const model = form.models.modelWithKeyId;\r\n const columns = [model.keyProperty, ...(viewScrollInfo.columns || [])];\r\n\r\n const getOptions = {\r\n take: 1,\r\n skip: index,\r\n where: lastLoadInfo.getOptions.where,\r\n orderBy: lastLoadInfo.getOptions.orderBy,\r\n customs: lastLoadInfo.getOptions.customs,\r\n columns: columns,\r\n searchtext: lastLoadInfo.getOptions.searchtext,\r\n requireTotalCount: true\r\n }\r\n\r\n this.rest.get({\r\n url: lastLoadInfo.url,\r\n moduleId: form.moduleId,\r\n getOptions: getOptions,\r\n increaseLoadingCount: true,\r\n }).then(async r => {\r\n if (r && r.count != void (0)) {\r\n viewScrollInfo.maxCount = r.count;\r\n }\r\n\r\n if (r && r.rows && r.rows.length) {\r\n viewScrollInfo.index = index;\r\n\r\n const row = r.rows[0];\r\n let id = row[model.keyProperty];\r\n\r\n if (viewScrollInfo.resultKeyResolver) {\r\n id = await viewScrollInfo.resultKeyResolver(id, row);\r\n }\r\n\r\n form.loadById(id);\r\n }\r\n });\r\n }\r\n }\r\n}\r\n","import { autoinject, transient, TaskQueue, validateBehaviorName } from 'aurelia-framework';\r\nimport { IZitTagOptions } from '../../../../zit-ui/elements/zit-tag/export';\r\nimport { FileService, BrowserService } from '../../../../framework/base/export';\r\nimport { FormBase } from '../../../../framework/forms/form-export';\r\nimport { DokumentService, CustomEditPopupService } from '../../../services/export';\r\nimport { IdxTextBoxComponent, IdxPopupComponent } from '../../../interfaces/export';\r\nimport { ICommandData } from '../../../../framework/forms/export';\r\n@autoinject\r\n@transient()\r\nexport class DokumentUnterfertigungUtils {\r\n constructor(\r\n private _customEditPopupService: CustomEditPopupService,\r\n private _dokumentService: DokumentService,\r\n private _fileService: FileService,\r\n private _taskQueue: TaskQueue,\r\n private _browserService: BrowserService\r\n ) { }\r\n\r\n form: FormBase;\r\n\r\n showDokumentCode: boolean = true;\r\n showTAN: boolean = false\r\n isDokumentCodeValid: boolean;\r\n isTANSend: boolean;\r\n\r\n validierungData = { IdDokumentElement: null, DokumentCode: null };\r\n unterfertigungData = { IdDokumentElement: null, TAN: null };\r\n\r\n codeKorrektTagOptions: IZitTagOptions = {\r\n cssClass: \"z--tag-info-message z--tag-info-ok-message\",\r\n icon: {\r\n faIcon: \"fas fa-check-circle\",\r\n },\r\n textExpression: `\"dokument-utils.code-ok-info\" | tr`\r\n };\r\n codeStartTagOptions: IZitTagOptions = {\r\n cssClass: \"z--tag-info-message\",\r\n icon: {\r\n faIcon: \"fas fa-info-circle\",\r\n },\r\n textExpression: `\"dokument-utils.code-start-info\" | tr`\r\n };\r\n codeFalschTagOptions: IZitTagOptions = {\r\n cssClass: \"z--tag-info-message z--tag-info-falsch-message\",\r\n icon: {\r\n faIcon: \"fas fa-times-circle\",\r\n },\r\n textExpression: `\"dokument-utils.code-falsch-info\" | tr`\r\n };\r\n\r\n anfordernTANButtonOptions: DevExpress.ui.dxButtonOptions = {\r\n text: \"TAN anfordern\",\r\n icon: \"fas fa-pencil-alt\",\r\n elementAttr: {\r\n class: \"z--button z--button-round\"\r\n },\r\n onClick: () => {\r\n if (!this.isDokumentCodeValid) {\r\n return;\r\n }\r\n this.sendTan();\r\n },\r\n bindingOptions: {\r\n disabled: \"!functions.$f_DokumentUtils.isDokumentCodeValid\"\r\n }\r\n };\r\n dokumentenCodePruefenButtonOptions: DevExpress.ui.dxButtonOptions = {\r\n text: \"Dokumenten-Code prüfen\",\r\n icon: \"fas fa-redo-alt\",\r\n elementAttr: {\r\n class: \"z--button z--button-round\"\r\n },\r\n onClick: () => {\r\n this.validateDokumentCode();\r\n },\r\n bindingOptions: {\r\n disabled: \"!functions.$f_DokumentUtils.validierungData.DokumentCode\"\r\n }\r\n };\r\n unterschreibenDokumentButtonOptions: DevExpress.ui.dxButtonOptions = {\r\n text: \"Dokument unterschreiben\",\r\n icon: \"far fa-check-circle\",\r\n elementAttr: {\r\n class: \"z--button z--button-round\"\r\n },\r\n onClick: () => {\r\n this.unterschreibenDokument()\r\n },\r\n bindingOptions: {\r\n disabled: \"!functions.$f_DokumentUtils.isDokumentCodeValid\"\r\n }\r\n };\r\n\r\n dataSavedClosePopupCommand: ICommandData = {\r\n id: \"dataSavedClosePopupCommand\",\r\n icon: \"fas fa-check\",\r\n tooltip: \"base.save\",\r\n sortIndex: 1010,\r\n execute: () => {\r\n const popup: IdxPopupComponent = this.form[\"dataSavedPopup\"];\r\n popup.instance.hide();\r\n }\r\n }\r\n\r\n unterfertigungDokumentTagOptions: IZitTagOptions = {\r\n isClickEnabled: true,\r\n hasDefaultInfo: true,\r\n icon: {\r\n faIconExpression: `item.Zustand.TagSymbol`,\r\n textExpression: `item.Zustand.TagSymbol \r\n ? \"\"\r\n : \"D\"`\r\n },\r\n textExpression: `item.VorlageBezeichnung || item.Dateiname | zitRestrictLength:50`,\r\n backgroundColorExpression: \"item.Informationstyp.FarbeTagText\",\r\n infoList: [\r\n {\r\n icon: {\r\n faIcon: \"fas fa-paperclip\",\r\n },\r\n onClick: (e, data) => {\r\n e.stopPropagation();\r\n this._fileService.download(data.DMSLinkDokument);\r\n }\r\n }\r\n ],\r\n onClick: (e, data) => {\r\n e.stopPropagation();\r\n this._fileService.inline(data.DMSLinkDokument);\r\n }\r\n };\r\n\r\n bind(form: FormBase) {\r\n this.form = form;\r\n form.models.onLoaded.register((args) => {\r\n if (args.model.id == \"$m_Dokument\" && args.data) {\r\n this.isTANSend = false;\r\n this.showDokumentCode = true;\r\n this.showTAN = false;\r\n this.validierungData.DokumentCode = null;\r\n this.unterfertigungData.TAN = null;\r\n \r\n this.setInitialData(args.data);\r\n\r\n this._taskQueue.queueTask(() => {\r\n this.repaintPopup();\r\n });\r\n }\r\n return Promise.resolve();\r\n });\r\n }\r\n\r\n private onDokumentUnterschrieben() {\r\n const popup: IdxPopupComponent = this.form[\"dataSavedPopup\"];\r\n \r\n this._customEditPopupService.dokumentUnterfertigung.hide();\r\n popup.instance.show();\r\n }\r\n\r\n private async sendTan() {\r\n const codeTextBox: IdxTextBoxComponent = this.form[\"r_dokumentUnterfertigungDokumentenCode\"];\r\n this.validierungData.DokumentCode = codeTextBox.instance.option(\"value\");\r\n\r\n await this._dokumentService.sendTan(this.validierungData);\r\n\r\n this.isTANSend = true;\r\n codeTextBox.setOption({ \"readOnly\": true });\r\n\r\n this._taskQueue.queueTask(() => {\r\n this.repaintPopup();\r\n });\r\n }\r\n private async validateDokumentCode() {\r\n const validation = await this._dokumentService.validateCode(this.validierungData);\r\n\r\n this.isDokumentCodeValid = validation.IsValid;\r\n\r\n if (validation.IsValid) {\r\n this.showDokumentCode = !this._browserService.isXS;\r\n this.showTAN = true;\r\n }\r\n\r\n this._taskQueue.queueTask(() => {\r\n this.repaintPopup();\r\n });\r\n }\r\n private async unterschreibenDokument() {\r\n await this._dokumentService.unterfertigenDokument(this.unterfertigungData);\r\n\r\n this.onDokumentUnterschrieben();\r\n }\r\n\r\n private setInitialData(data) {\r\n this.isDokumentCodeValid = data.NeedsDokumentCode ? null : true;\r\n\r\n this.validierungData.IdDokumentElement = data.Id;\r\n this.unterfertigungData.IdDokumentElement = data.Id;\r\n }\r\n private repaintPopup() {\r\n const popup: DevExpress.ui.dxPopup = this._customEditPopupService.dokumentUnterfertigung.popup.instance;\r\n if (!popup) {\r\n return;\r\n }\r\n\r\n popup.repaint();\r\n }\r\n}\r\n","import { autoinject } from \"aurelia-framework\";\r\nimport { AuthorizationService } from \"../../framework/base/services/authorization-service\";\r\nimport { RestService } from \"../../framework/base/services/rest-service\";\r\n\r\n@autoinject\r\nexport class InformationService {\r\n constructor(\r\n private _restService: RestService,\r\n private _authorizationService: AuthorizationService) {}\r\n}","import {\r\n autoinject,\r\n createOverrideContext \r\n} from \"aurelia-framework\";\r\nimport {\r\n FormBase\r\n} from \"../classes/form-base\";\r\nimport {\r\n DataSourceService,\r\n LocationService\r\n} from \"../../base/services/export\";\r\nimport {\r\n DefaultCommandsService,\r\n ToolbarService,\r\n PopupInfoService\r\n} from \"../services/export\";\r\nimport {\r\n IDataSourceCustomizationOptions,\r\n IViewScrollInfo\r\n} from \"../../base/interfaces/export\";\r\nimport * as WidgetOptions from \"../widget-options/export\";\r\nimport { ListType } from '../enums/list-type-enum';\r\nimport { AsyncService } from '../../base/services/async-service';\r\n\r\n@autoinject\r\nexport class BaseWidgetCreatorService {\r\n constructor(\r\n private dataSource: DataSourceService,\r\n private location: LocationService,\r\n private toolbar: ToolbarService,\r\n private defaultCommands: DefaultCommandsService,\r\n private popupService: PopupInfoService,\r\n private asyncService: AsyncService\r\n ) { }\r\n\r\n checkListRelationEdit(form: FormBase, options: WidgetOptions.IListOptions) {\r\n const hasEditPopup = !!options.idEditPopup\r\n || (options.listEdits && options.listEdits.some(edit => !!edit.idEditPopup));\r\n\r\n if (!hasEditPopup || !options.isRelation) {\r\n return;\r\n }\r\n\r\n form.editPopups.onEditPopupModelLoaded.register(e => {\r\n const isMyEditPopup = options.idEditPopup == e.editPopup.id\r\n || (options.listEdits && options.listEdits.some(edit => edit.idEditPopup == e.editPopup.id));\r\n\r\n if (!isMyEditPopup) {\r\n return;\r\n }\r\n if (e.model.key !== \"variables.data.$id\") {\r\n return;\r\n }\r\n if (!e.data) {\r\n return;\r\n }\r\n if (e.data[e.model.keyProperty]) {\r\n return;\r\n }\r\n\r\n const info = form.models.getInfo(options.dataModel);\r\n e.data[options.relationBinding.bindTo] = form.models.data[info.id][info.keyProperty];\r\n\r\n return Promise.resolve();\r\n });\r\n }\r\n checkListToolbar(form: FormBase, options: WidgetOptions.IListOptions, addEditCommand: boolean = false, listType: ListType = null) {\r\n if (!options.createToolbar && !options.isMainList) {\r\n return;\r\n }\r\n\r\n const commands = this.defaultCommands.getListCommands(form, options, addEditCommand, listType);\r\n\r\n if (options.commands && options.commands.length) {\r\n commands.push(...options.commands.map(i => {\r\n return form.binding.evaluate(form.scope, i.binding.bindToFQ)\r\n }));\r\n }\r\n\r\n if (options.createToolbar) {\r\n form[options.optionsToolbar.optionsName] = this.toolbar.createToolbarOptions(\r\n form.scopeContainer,\r\n options.caption,\r\n commands,\r\n true,\r\n options.icon);\r\n } else if (options.isMainList) {\r\n commands.forEach(c => form.commands.addCommand(c));\r\n }\r\n }\r\n createListDataSource(form: FormBase, options: WidgetOptions.IListOptionsBase, widgetOptions: DevExpress.ui.WidgetOptions, customizationOptions?: IDataSourceCustomizationOptions): DevExpress.data.DataSource {\r\n if (options.dataModel) {\r\n const model = form.models.getInfo(options.dataModel);\r\n const relationModel = options.isRelation\r\n ? form.models.getInfo(options.relationBinding.dataContext)\r\n : null;\r\n\r\n const mainModel = relationModel || model;\r\n\r\n customizationOptions = customizationOptions || {};\r\n const canLoadList: { (): boolean }[] = [];\r\n\r\n let onInitialized = widgetOptions.onInitialized;\r\n let isInitialized = false;\r\n\r\n widgetOptions.onInitialized = (e) => {\r\n if (onInitialized) {\r\n onInitialized(e);\r\n }\r\n\r\n isInitialized = true;\r\n }\r\n\r\n if (options.isRelation) {\r\n const getCustomWhere = () => {\r\n let data = form.models.data && form.models.data[model.id]\r\n ? form.models.data[model.id][model.keyProperty]\r\n : \"0\";\r\n\r\n data = data || \"0\";\r\n\r\n return [options.relationBinding.bindTo, data];\r\n };\r\n const getCustomWhereParam = customizationOptions.getCustomWhere;\r\n\r\n customizationOptions.getCustomWhere = () => {\r\n const whereParam = getCustomWhereParam ? getCustomWhereParam() : null;\r\n const where = getCustomWhere();\r\n\r\n const result = [];\r\n if (whereParam) {\r\n result.push(whereParam);\r\n }\r\n if (where) {\r\n result.push(where);\r\n }\r\n\r\n return result;\r\n }\r\n\r\n canLoadList.push(() => {\r\n return !!(form.models.data && form.models.data[model.id]\r\n && form.models.data[model.id][model.keyProperty]);\r\n });\r\n form.binding.observe({\r\n scopeContainer: form.scopeContainer,\r\n expression: `models.data.${model.id}.${model.keyProperty}`,\r\n callback: () => {\r\n if (!isInitialized) {\r\n return;\r\n }\r\n\r\n dataSource.reload();\r\n }\r\n });\r\n }\r\n\r\n if (mainModel.canLoad != void(0)) {\r\n canLoadList.push(() => {\r\n return mainModel.canLoad(widgetOptions);\r\n });\r\n }\r\n\r\n if (canLoadList.length > 0) {\r\n const canLoad = () => {\r\n return canLoadList.every(c => c());\r\n };\r\n const canLoadParam = customizationOptions.canLoad;\r\n\r\n customizationOptions.canLoad = () => {\r\n if (!canLoad()) {\r\n return false;\r\n }\r\n if (canLoadParam && !canLoadParam()) {\r\n return false;\r\n }\r\n\r\n return true;\r\n };\r\n }\r\n\r\n form.models.onLoadRequired.register(r => {\r\n if (r.model != mainModel) {\r\n return Promise.resolve();\r\n }\r\n\r\n return new Promise((resolve, reject) => {\r\n if (!r.onlyCurrentPage) {\r\n if (dataSource.pageIndex() > 0) {\r\n dataSource.pageIndex(0);\r\n } \r\n }\r\n\r\n if (!isInitialized) {\r\n resolve();\r\n return;\r\n }\r\n \r\n this.asyncService.convertToPromise(dataSource.reload())\r\n .then(resolve)\r\n .catch(reject);\r\n });\r\n });\r\n\r\n const onLoaded = (data) => {\r\n form.models.callOnLoaded(mainModel, data);\r\n };\r\n const onLoadedParam = customizationOptions.onLoaded;\r\n customizationOptions.onLoaded = (data) => {\r\n onLoaded(data);\r\n\r\n if (onLoadedParam) {\r\n onLoadedParam(data);\r\n }\r\n };\r\n\r\n const dataSource = this.dataSource.createDataSource(form.scopeContainer, mainModel, customizationOptions);\r\n return dataSource;\r\n }\r\n }\r\n setListClickActions(form: FormBase, options: WidgetOptions.IListOptionsBase): void {\r\n const clickActions: { (e: any, dataSource?: DevExpress.data.DataSource): void }[] = [];\r\n const openClickActions: { (e: any, dataSource?: DevExpress.data.DataSource): void }[] = [];\r\n\r\n const getViewScrollInfo = (e: any, dataSource: DevExpress.data.DataSource): IViewScrollInfo => {\r\n const customDataSource: any = dataSource;\r\n if (!customDataSource.lastLoadInfo) {\r\n return null;\r\n }\r\n\r\n const pageSize = dataSource.pageSize();\r\n const pageIndex = dataSource.pageIndex();\r\n const pageStart = pageSize * pageIndex;\r\n\r\n let rowIndex = -1;\r\n if (e && e.rowIndex != void(0)) {\r\n rowIndex = e.rowIndex;\r\n\r\n if (!e.hasAllPages) {\r\n rowIndex = rowIndex + pageStart;\r\n }\r\n }\r\n\r\n return {\r\n lastLoadInfo: customDataSource.lastLoadInfo,\r\n index: rowIndex,\r\n maxCount: dataSource.totalCount()\r\n };\r\n };\r\n\r\n if (options.editDataContext || options.listEdits.length > 0) {\r\n if (options.listEdits.length > 0) {\r\n clickActions.push((e, ds) => {\r\n const edit = options.listEdits.find(c => c.typeName === e.data.ObjectTypeName);\r\n if (!edit) {\r\n return;\r\n }\r\n\r\n form.models.data[edit.editDataContext] = e.data;\r\n });\r\n } else {\r\n clickActions.push((e, ds) => {\r\n form.models.data[options.editDataContext] = e.data;\r\n });\r\n }\r\n }\r\n if (options.onItemClick) {\r\n clickActions.push((e, ds) => {\r\n form.binding.evaluate({\r\n bindingContext: form,\r\n overrideContext: createOverrideContext({\r\n \"$event\": e\r\n })\r\n }, options.onItemClick);\r\n });;\r\n }\r\n if ((options.editUrl || options.listEdits.length > 0) && options.dataModel) {\r\n const model = form.models.getInfo(options.dataModel);\r\n\r\n if (model) {\r\n if (options.listEdits.length > 0) {\r\n openClickActions.push(async (e, ds) => {\r\n const edit = options.listEdits.find(c => c.typeName === e.data.ObjectTypeName);\r\n if (!edit) {\r\n return;\r\n }\r\n if (!edit.editUrl) {\r\n return;\r\n }\r\n\r\n const popupClosed = await this.popupService.closeAllPopups();\r\n if (!popupClosed) {\r\n return;\r\n } \r\n\r\n this.location.goTo({\r\n url: `#${edit.editUrl}/${e.data[model.keyProperty]}`,\r\n currentViewModel: form,\r\n viewScrollInfo: getViewScrollInfo(e, ds)\r\n });\r\n });\r\n } else {\r\n openClickActions.push(async (e, ds) => {\r\n const key = options.editUrlIdProperty\r\n ? e.data[options.editUrlIdProperty]\r\n : e.data[model.keyProperty];\r\n\r\n const popupClosed = await this.popupService.closeAllPopups();\r\n if (!popupClosed) {\r\n return;\r\n }\r\n \r\n this.location.goTo({\r\n url: `#${options.editUrl}/${key}`, \r\n currentViewModel: form,\r\n viewScrollInfo: getViewScrollInfo(e, ds)\r\n });\r\n });\r\n }\r\n }\r\n }\r\n if ((options.idEditPopup || options.listEdits.length > 0)) {\r\n form.editPopups.onEditPopupHidden.register(a => {\r\n if (a.editPopup.id === options.idEditPopup || options.listEdits.some(c => c.idEditPopup === a.editPopup.id)) {\r\n const listInstance = form[options.id];\r\n if (!listInstance) {\r\n return;\r\n }\r\n\r\n if (listInstance.instance && listInstance.instance.refresh) {\r\n listInstance.instance.refresh();\r\n } else if (listInstance.refresh) {\r\n listInstance.refresh();\r\n }\r\n };\r\n\r\n return Promise.resolve();\r\n });\r\n\r\n if (options.listEdits.length > 0) {\r\n //TODO - Info aus DataSource.lastLoadOptions übergeben und verarbeiten\r\n openClickActions.push((e, ds) => {\r\n const edit = options.listEdits.find(c => c.typeName === e.data.ObjectTypeName);\r\n if (!edit) {\r\n return;\r\n }\r\n if (!edit.idEditPopup) {\r\n return;\r\n }\r\n\r\n form.editPopups.show(edit.idEditPopup, getViewScrollInfo(e, ds));\r\n });\r\n } else {\r\n openClickActions.push((e, ds) => {\r\n form.editPopups.show(options.idEditPopup, getViewScrollInfo(e, ds));\r\n });\r\n }\r\n }\r\n\r\n const customOptions = this.getCustomOptions(form, options);\r\n customOptions.clickActions = clickActions;\r\n customOptions.openClickActions = openClickActions;\r\n customOptions.hasClickActions = clickActions.length > 0 || openClickActions.length > 0;\r\n\r\n if (clickActions.length && openClickActions.length) {\r\n clickActions.push((e, ds) => {\r\n customOptions.clickArguments = {\r\n event: e,\r\n dataSource: ds\r\n }\r\n });\r\n }\r\n }\r\n\r\n createWidgetOptions(form: FormBase, options: WidgetOptions.IWidgetOptions): any {\r\n const widgetOptions: DevExpress.ui.WidgetOptions = {\r\n bindingOptions: {}\r\n };\r\n\r\n if (options.isDisabled) {\r\n widgetOptions.disabled = true;\r\n } else if (options.isDisabledExpression) {\r\n widgetOptions.bindingOptions[\"disabled\"] = options.isDisabledExpression;\r\n }\r\n\r\n if (options.tooltip) {\r\n widgetOptions.hint = options.tooltip;\r\n }\r\n\r\n const customWidgetOptions: any = widgetOptions;\r\n\r\n widgetOptions.onDisposing = () => {\r\n widgetOptions.onDisposing = null;\r\n\r\n this.callCustomDisposing(form, options);\r\n };\r\n\r\n form.onUnbind.register(() => {\r\n for (let key in widgetOptions) {\r\n if (key.startsWith(\"on\") && typeof widgetOptions[key] === \"function\") {\r\n delete widgetOptions[key];\r\n }\r\n };\r\n\r\n return Promise.resolve();\r\n });\r\n\r\n form[options.options.optionsName] = widgetOptions;\r\n\r\n return widgetOptions;\r\n }\r\n\r\n callCustomDisposing(form: FormBase, options: any): void {\r\n const customOptions = this.getCustomOptions(form, options);\r\n if (!customOptions.disposing) {\r\n return;\r\n }\r\n\r\n customOptions.disposing.forEach(c => c());\r\n delete customOptions.disposing;\r\n delete options[\"__customOptions\"];\r\n }\r\n registerCustomDisposing(form: FormBase, options: any, action: { (): void }) {\r\n const customOptions = this.getCustomOptions(form, options);\r\n customOptions.disposing = customOptions.disposing || [];\r\n\r\n customOptions.disposing.push(action);\r\n }\r\n\r\n getCustomOptions(form: FormBase, options: WidgetOptions.IWidgetOptions) {\r\n if (!form[options.options.optionsName][\"__customOptions\"]) {\r\n form[options.options.optionsName][\"__customOptions\"] = {};\r\n }\r\n\r\n return form[options.options.optionsName][\"__customOptions\"];\r\n }\r\n}\r\n","export enum ListType {\r\n DataGrid,\r\n ListView,\r\n List\r\n}\r\n","import { autoinject } from 'aurelia-framework';\r\nimport { RestService } from './../../framework/base/services/export';\r\n\r\n@autoinject\r\nexport class UpdateHinweisService {\r\n constructor(\r\n private rest: RestService\r\n ) {\r\n this.checkHinweis();\r\n }\r\n\r\n updateGeplant: IUpdateGeplant;\r\n\r\n private checkHinweis() {\r\n this.updateHinweis();\r\n\r\n setTimeout(() => {\r\n this.updateHinweis();\r\n }, 300000);\r\n }\r\n\r\n private async updateHinweis() {\r\n const jetzt = new Date();\r\n \r\n const result = await this.rest.get({\r\n url: this.rest.getWebApiUrl(\"ZIT/Stammdaten/UpdateHinweis\"),\r\n getOptions: {\r\n where: [[\"Bis\", \">=\", jetzt], \"and\", [\"Von\", \"<=\", jetzt]]\r\n }\r\n });\r\n\r\n this.updateGeplant = result && result.length\r\n ? { icon: result[0].Symbol, message: result[0].Bezeichnung }\r\n : null;\r\n }\r\n}\r\ninterface IUpdateGeplant {\r\n icon: string;\r\n message: string;\r\n}","import { EventAggregator } from \"aurelia-event-aggregator\";\r\nimport { autoinject } from \"aurelia-framework\";\r\nimport { BrowserService } from \"../../framework/base/export\";\r\nimport { RestService } from \"../../framework/base/services/rest-service\";\r\nimport { IObjektInfoData } from \"./../interfaces/export\";\r\nimport { StartupService } from \"./startup-service\";\r\n@autoinject\r\nexport class ObjektInfoService {\r\n private _entitaetInfoList: IObjektInfoData[];\r\n\r\n constructor(\r\n private _eventAggregator: EventAggregator,\r\n private _restService: RestService,\r\n private _startupService: StartupService,\r\n private _browserService: BrowserService\r\n ) {}\r\n\r\n getObjektByBezeichnung(bezeichnung: string): IObjektInfoData {\r\n return this._entitaetInfoList.find((e) => e.Bezeichnung === bezeichnung);\r\n }\r\n getObjektByFullname(fullname: string): IObjektInfoData {\r\n return this._entitaetInfoList.find((e) => e.Fullname === fullname);\r\n }\r\n getObjektByName(name: string): IObjektInfoData {\r\n return this._entitaetInfoList.find((e) => e.Fullname.endsWith(\".\" + name));\r\n }\r\n getObjektByWebApiUrl(webApiUrl: string): IObjektInfoData {\r\n return this._entitaetInfoList.find((e) => e.WebApiUrl === webApiUrl);\r\n }\r\n getObjektNavigationUrl(fullname: string): string {\r\n if (!fullname) {\r\n return null;\r\n }\r\n\r\n const info = this.getObjektByFullname(fullname);\r\n if (!info) {\r\n return null;\r\n }\r\n if (!info.NavigationUrl) {\r\n return null;\r\n }\r\n\r\n return info.NavigationUrl;\r\n }\r\n\r\n isObjektInfoLoaded(): boolean {\r\n return !!this._entitaetInfoList;\r\n }\r\n\r\n async loadObjektInfoList() {\r\n this._entitaetInfoList = await this._restService.get({\r\n url: this._restService.getWebApiUrl(\"ZIT/Berechtigungen/Objekttyp\")\r\n });\r\n\r\n this._entitaetInfoList.forEach((item) => {\r\n this.updateBezeichnung(item);\r\n\r\n switch (item.Fullname) {\r\n case \"TIP.ZIT.Business.Entities.Objekte.Ansprechpersonen.Ansprechperson\": {\r\n item.NavigationUrl = \"#Objekte/Ansprechperson\";\r\n item.WebApiUrl = \"ZIT/Objekte/Ansprechperson\";\r\n break;\r\n }\r\n case \"TIP.ZIT.Business.Entities.Objekte.Bewerbungen.Bewerbung\": {\r\n item.NavigationUrl = \"#Objekte/Bewerbung\";\r\n item.WebApiUrl = \"ZIT/Objekte/Bewerbung\";\r\n break;\r\n }\r\n case \"TIP.ZIT.Business.Entities.Objekte.Disposition.DispoPlanstelle\": {\r\n item.NavigationUrl = \"#Objekte/DispoPlanstelle\";\r\n item.WebApiUrl = \"ZIT/Objekte/DispoPlanstelle\";\r\n break;\r\n }\r\n case \"TIP.ZIT.Business.Entities.Objekte.Disposition.DispoPlanstellePersonenzuteilung\": {\r\n item.NavigationUrl = \"#Objekte/DispoPlanstellePersonenzuteilung\";\r\n item.WebApiUrl = \"ZIT/Objekte/DispoPlanstellePersonenzuteilung\";\r\n break;\r\n }\r\n case \"TIP.ZIT.Business.Entities.Objekte.Geschaeftspartner.Geschaeftspartner\": {\r\n item.NavigationUrl = \"#Objekte/Geschaeftspartner\";\r\n item.WebApiUrl = \"ZIT/Objekte/Geschaeftspartner\";\r\n break;\r\n }\r\n case \"TIP.ZIT.Business.Entities.Objekte.Personen.Person\": {\r\n item.NavigationUrl = \"#Objekte/Person\";\r\n item.WebApiUrl = \"ZIT/Objekte/Person\";\r\n break;\r\n }\r\n case \"TIP.ZIT.Business.Entities.Objekte.Stelleninserate.Stelleninserat\": {\r\n item.NavigationUrl = \"#Objekte/Stelleninserat\";\r\n item.WebApiUrl = \"ZIT/Objekte/Stelleninserat\";\r\n break;\r\n }\r\n case \"TIP.ZIT.Business.Entities.Objekte.ProfilFirmen.ProfilFirma\": {\r\n item.NavigationUrl = \"#Objekte/ProfilFirma\";\r\n item.WebApiUrl = \"ZIT/Objekte/ProfilFirma\";\r\n break;\r\n }\r\n case \"TIP.ZIT.Business.Entities.Objekte.Termine.Termin\": {\r\n item.NavigationUrl = \"#Objekte/Termin\";\r\n item.WebApiUrl = \"ZIT/Objekte/Termin\";\r\n break;\r\n }\r\n case \"TIP.ZIT.Business.Entities.Objekte.Aufgaben.Aufgabe\": {\r\n item.NavigationUrl = \"#Objekte/Aufgabe\";\r\n item.WebApiUrl = \"ZIT/Objekte/Aufgabe\";\r\n break;\r\n }\r\n case \"TIP.ZIT.Business.Entities.Objekte.Ziele.Ziel\": {\r\n item.NavigationUrl = \"#Objekte/Ziel\";\r\n item.WebApiUrl = \"ZIT/Objekte/Ziel\";\r\n break;\r\n }\r\n case \"TIP.ZIT.Business.Entities.Objekte.Events.Event\": {\r\n item.NavigationUrl = \"#Objekte/Event\";\r\n item.WebApiUrl = \"ZIT/Objekte/Event\";\r\n break;\r\n }\r\n case \"TIP.ZIT.Business.Entities.Objekte.Events.EventZeitraum\": {\r\n item.NavigationUrl = \"#Objekte/EventZeitraum\";\r\n item.WebApiUrl = \"ZIT/Objekte/EventZeitraum\";\r\n break;\r\n }\r\n case \"TIP.ZIT.Business.Entities.Objekte.Events.EventTeilnehmer\": {\r\n item.NavigationUrl = \"#Objekte/EventTeilnehmer\";\r\n item.WebApiUrl = \"ZIT/Objekte/EventTeilnehmer\";\r\n break;\r\n }\r\n case \"TIP.ZIT.Business.Entities.Objekte.Informationen.Information\": {\r\n item.NavigationUrl = \"#Objekte/Information\";\r\n item.WebApiUrl = \"ZIT/Objekte/Information\";\r\n break;\r\n }\r\n default: {\r\n break;\r\n }\r\n }\r\n });\r\n\r\n this._eventAggregator.publish(\r\n \"objekt-info:loaded\", {});\r\n }\r\n private updateBezeichnung(objektInfo: IObjektInfoData) {\r\n const url = \"route:Suche?TypeName=\".concat(objektInfo.Fullname);\r\n \r\n const menu = this._startupService.startupInfo.MenuList.find((m) => m.Route == url);\r\n if (!menu) {\r\n return;\r\n }\r\n\r\n objektInfo.Bezeichnung = this._browserService.isMobile\r\n ? menu.BezeichnungMobil\r\n : menu.BezeichnungDesktop;\r\n }\r\n}\r\n","import { IHistoryState } from \"./../interfaces/history-state\";\r\nimport {\r\n autoinject,\r\n TaskQueue\r\n} from \"aurelia-framework\";\r\nimport {\r\n EventAggregator\r\n} from \"aurelia-event-aggregator\";\r\nimport {\r\n LocationService,\r\n LocalizationService\r\n} from \"../../base/services/export\";\r\nimport {\r\n ILocationGoToEventArgs\r\n} from \"../../base/event-args/export\"\r\nimport {\r\n RouterService\r\n} from \"./router-service\";\r\nimport * as Interfaces from \"../interfaces/export\";\r\n\r\n@autoinject\r\nexport class HistoryService {\r\n private isActive = false;\r\n\r\n constructor(\r\n private eventAggregator: EventAggregator,\r\n private taskQueue: TaskQueue,\r\n private router: RouterService,\r\n private location: LocationService,\r\n private localization: LocalizationService\r\n ) {\r\n this.register();\r\n }\r\n\r\n pipelineUrl: string;\r\n lastRequestUrl: string;\r\n checkHasChangedDataBeforeUnload: boolean = true;\r\n\r\n clearAndGoToFallback() {\r\n //Damit keine Frage nach Änderungen speichern kommt\r\n this.router.currentViewItem = null;\r\n\r\n this.navigate({\r\n url: \"\",\r\n clearStack: true\r\n });\r\n }\r\n goBack(): Promise {\r\n history.back();\r\n return Promise.resolve();\r\n }\r\n getUrl(url?: string): string {\r\n let hash = url || location.hash;\r\n\r\n if (!hash) {\r\n return \"\";\r\n }\r\n\r\n if (hash.substr(0, 1) === \"#\") {\r\n return hash.substr(1);\r\n } else {\r\n return hash;\r\n }\r\n }\r\n getUrlWithHash(url?: string): string {\r\n return \"#\".concat(this.getUrl(url));\r\n }\r\n navigateCurrentOrInPipeline() {\r\n if (this.pipelineUrl) {\r\n this.guardedNavigate(() => {\r\n return this.navigate({\r\n url: this.pipelineUrl,\r\n clearStack: true\r\n }).then(() => {\r\n this.pipelineUrl = null;\r\n });\r\n });\r\n } else {\r\n this.guardedNavigate(() => {\r\n return this.navigate({\r\n url: this.getUrl()\r\n });\r\n });\r\n }\r\n }\r\n //TODO - ev. in LocationService übernehmen, da es dort besser passt\r\n setUrlWithoutNavigation(url: string, replace: boolean = false) {\r\n this.guardedNavigate(() => {\r\n let currentStateHistory: Interfaces.IHistoryState = history.state;\r\n\r\n const urlWithHash = this.getUrlWithHash(url);\r\n this.router.updateCurrentUrl(urlWithHash); \r\n\r\n if (currentStateHistory) {\r\n currentStateHistory.url = url;\r\n\r\n history.replaceState(\r\n currentStateHistory,\r\n currentStateHistory.caption,\r\n urlWithHash);\r\n } else { \r\n const currentStateRouter = this.router.getCurrentHistoryState();\r\n\r\n history.pushState(\r\n currentStateRouter,\r\n currentStateRouter.caption,\r\n urlWithHash);\r\n }\r\n return Promise.resolve();\r\n });\r\n }\r\n\r\n private register() {\r\n window.addEventListener(\"popstate\", (e: any) => {\r\n this.guardedNavigate(async () => {\r\n const state: IHistoryState = e.state;\r\n let hasRoute = false;\r\n let isForward = false;\r\n if (state && state.id != void (0)) {\r\n //Prüfen ob dieser State existiert\r\n //Wenn ja, dann wurde ein Back ausgeführt, ansonsten ein Forward\r\n hasRoute = this.router.hasRouteWithId(state.id);\r\n\r\n if (hasRoute) {\r\n const canDeactivate = await this.router.canDeactivateCurrentView();\r\n if (!canDeactivate) {\r\n //Wenn nicht deaktiviert werden kann, dann wird der History-State verwendet\r\n //und wieder neu hinzugefügt\r\n\r\n const currentState = this.router.getCurrentHistoryState();\r\n\r\n history.pushState(\r\n currentState,\r\n currentState.caption,\r\n this.getUrlWithHash(currentState.url));\r\n\r\n return;\r\n }\r\n } else {\r\n const currentState = this.router.getCurrentHistoryState();\r\n if (currentState && currentState.id < state.id) {\r\n isForward = true;\r\n }\r\n }\r\n }\r\n\r\n return this.navigate({\r\n historyState: e.state,\r\n clearStack: !e.state || e.state.id == void (0) || (!isForward && !hasRoute),\r\n url: this.getUrl(),\r\n isPopState: true\r\n });\r\n });\r\n });\r\n window.addEventListener(\"beforeunload\", (e: any) => {\r\n if (!this.checkHasChangedDataBeforeUnload) {\r\n return;\r\n }\r\n\r\n const args = {\r\n hasChangedData: false\r\n };\r\n this.eventAggregator.publish(\"window:beforeunload\", args);\r\n\r\n if (args.hasChangedData) {\r\n e.returnValue = this.localization.translateOnce(\"stack-router.changed-data-found\");\r\n return e.returnValue;\r\n }\r\n });\r\n\r\n this.eventAggregator.subscribe(\"location:go-back\", e => {\r\n this.goBack();\r\n });\r\n this.eventAggregator.subscribe(\"location:go-to\", e => {\r\n e.promise = this.guardedNavigate(async () => {\r\n const isHandled = await this.navigateByLocation(e.args);\r\n e.isHandled = isHandled;\r\n });\r\n });\r\n }\r\n private async guardedNavigate(action: { (): Promise }) {\r\n if (this.isActive) {\r\n return;\r\n }\r\n\r\n this.isActive = true;\r\n try {\r\n return await action();\r\n } finally {\r\n this.isActive = false;\r\n }\r\n }\r\n private async navigate(navigationArgs: Interfaces.INavigationArgs): Promise {\r\n this.lastRequestUrl = navigationArgs.url;\r\n\r\n const hasNavigated = await this.router.navigate(navigationArgs);\r\n\r\n if (hasNavigated) {\r\n this.setCurrentHistory(navigationArgs.didReplace || navigationArgs.isPopState);\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n }\r\n private async navigateByLocation(locationGoTo: ILocationGoToEventArgs): Promise {\r\n let replace = locationGoTo.replace || false;\r\n\r\n if (this.router.viewStack.length > 1\r\n && this.router.viewStack[this.router.viewStack.length - 2].controller[\"currentViewModel\"] === locationGoTo.currentViewModel) {\r\n replace = true;\r\n }\r\n\r\n const args: Interfaces.INavigationArgs = {\r\n url: this.getUrl(locationGoTo.url),\r\n viewScrollInfo: locationGoTo.viewScrollInfo,\r\n replace: replace,\r\n clearStack: locationGoTo.clearStack,\r\n setValuesOnModelWithKeyIdLoaded: locationGoTo.setValuesOnModelWithKeyIdLoaded,\r\n customOptions: locationGoTo.customOptions\r\n };\r\n\r\n await this.navigate(args);\r\n return true;\r\n }\r\n private setCurrentHistory(replace: boolean) {\r\n const currentHistoryState = this.router.getCurrentHistoryState();\r\n\r\n if (replace) {\r\n history.replaceState(\r\n currentHistoryState,\r\n currentHistoryState.caption,\r\n this.getUrlWithHash(currentHistoryState.url));\r\n } else {\r\n history.pushState(\r\n currentHistoryState,\r\n currentHistoryState.caption,\r\n this.getUrlWithHash(currentHistoryState.url));\r\n }\r\n }\r\n}\r\n","import { autoinject, transient } from 'aurelia-framework';\r\nimport { AdresseService } from '../../../services/adresse-service';\r\n\r\n@autoinject\r\n@transient()\r\nexport class GeschaeftspartnerAdresseEditUtils {\r\n constructor(\r\n private adresse: AdresseService\r\n ) { }\r\n\r\n onPLZChanged(e) {\r\n const model = e.model.bindingContext.models.data.$m_GeschaeftspartnerAdresse;\r\n const idPLZ = e.value;\r\n\r\n if (!model || !model.IdLand) {\r\n return;\r\n }\r\n\r\n this.adresse.getOrtFromPLZ(idPLZ, model.IdLand)\r\n .then(r => {\r\n if (!r || !r.Ort) {\r\n return;\r\n }\r\n\r\n model.Ort = r.Ort;\r\n });\r\n }\r\n}\r\n","export class ObjectInfoService {\r\n equal(x: any, y: any): boolean {\r\n\r\n if (x === null || x === undefined || y === null || y === undefined) {\r\n return x === y;\r\n }\r\n if (x.constructor !== y.constructor) {\r\n return false;\r\n }\r\n if (x instanceof Function) {\r\n return x === y;\r\n }\r\n if (x instanceof RegExp) {\r\n return x === y;\r\n }\r\n if (x === y || x.valueOf() === y.valueOf()) {\r\n return true;\r\n }\r\n if (Array.isArray(x) && x.length !== y.length) {\r\n return false;\r\n }\r\n\r\n if (x instanceof Date) {\r\n return false;\r\n }\r\n\r\n if (!(x instanceof Object)) {\r\n return false;\r\n }\r\n if (!(y instanceof Object)) {\r\n return false;\r\n }\r\n\r\n var p = Object.keys(x);\r\n return Object.keys(y).every((i) => {\r\n return p.indexOf(i) !== -1;\r\n }) && p.every((i) => {\r\n return this.equal(x[i], y[i]);\r\n });\r\n }\r\n}","export enum LayoutTyp {\r\n Lese = 0,\r\n Bearbeitung = 1\r\n}\r\n","export {CustomEvent} from \"./custom-event\";\r\nexport {ScopeContainer} from \"./scope-container\";","import { autoinject, transient } from 'aurelia-framework';\r\nimport { IZitTagOptions } from '../../../../zit-ui/elements/zit-tag/export';\r\nimport { IZitToolbarOptions } from '../../../../zit-ui/elements/zit-toolbar/zit-toolbar-options';\r\nimport { ContextMenu, ICommandData } from '../../../../framework/forms/export';\r\nimport { CustomEditPopupService, StartupService } from '../../../services/export';\r\nimport { Share } from '../../../elements/share/share';\r\nimport { FormBase } from '../../../../framework/forms/classes/form-base';\r\nimport { LocationService } from '../../../../framework/base/services/location-service';\r\nimport { ZitMomentValueConverter } from '../../../../zit-ui/value-converters/export';\r\nimport { BenutzerTyp } from '../../../enumerations/export';\r\n\r\n@autoinject\r\n@transient()\r\nexport class StelleninseratReadUtils {\r\n constructor(\r\n private customEditPopup: CustomEditPopupService,\r\n private location: LocationService,\r\n private zitMoment: ZitMomentValueConverter,\r\n private startupService: StartupService\r\n ) { }\r\n\r\n form: FormBase;\r\n\r\n isNatuerlichePerson = this.startupService.startupInfo.Benutzer.Benutzertyp === BenutzerTyp.NatuerlichePerson;\r\n\r\n actionCommand: ICommandData = {\r\n id: \"actionCommand\",\r\n icon: \"fas fa-share-alt\",\r\n tooltip: \"zit.aktionen\",\r\n sortIndex: 99,\r\n isVisibleExpression: \"r_share.canShare\",\r\n execute: (executeOptions) => {\r\n const share: Share = this.form[\"r_share\"];\r\n share.showCtxMenu(executeOptions.event);\r\n }\r\n };\r\n bewerbungToolbarOptions: IZitToolbarOptions = {\r\n title: \"stelleninserat-utils.bewerbung-toolbar-titel\",\r\n smallToolbar: true,\r\n items: []\r\n };\r\n\r\n ansprechpersonReadTagOptions: IZitTagOptions = {\r\n isClickEnabled: !this.isNatuerlichePerson,\r\n icon: {\r\n text: \"K\"\r\n },\r\n textExpression: `item.GesamtNameMitTitel \r\n ? item.GesamtNameMitTitel\r\n : item.Titel + \" \" + item.Name`,\r\n infoList: [\r\n {\r\n isVisibleExpression: `item.IsInaktiv`,\r\n icon: {\r\n faIcon: \"far fa-trash-alt\",\r\n backgroundColor: \"lightgray\",\r\n }\r\n }\r\n ],\r\n onClick: (e, ansprechperson) => {\r\n if(this.isNatuerlichePerson) {\r\n return;\r\n }\r\n this.customEditPopup.ansprechpersonRead.show({\r\n mappings: {\r\n \"$id\": ansprechperson.Id\r\n }\r\n });\r\n }\r\n };\r\n\r\n zeitraumReadTagOptions: IZitTagOptions = {\r\n icon: {\r\n text: \"Z\"\r\n },\r\n textExpression: `item.zeitraum`\r\n };\r\n\r\n websiteAktivTagOptions: IZitTagOptions = {\r\n cssClass: 'z--tag-info-message z--tag-info-ok-message',\r\n icon: { faIcon: 'far fa-check-circle' },\r\n textExpression: `\"stelleninserat-utils.website-aktiviert-text\" | tr`\r\n };\r\n websiteInAktivTagOptions: IZitTagOptions = {\r\n cssClass: 'z--tag-info-message z--tag-info-falsch-message',\r\n icon: { faIcon: 'far fa-times-circle' },\r\n textExpression: `\"stelleninserat-utils.website-nicht-aktiviert-text\" | tr`\r\n };\r\n websiteProfilFirmaInaktivTagOptions: IZitTagOptions = {\r\n cssClass: 'z--tag-info-message z--tag-info-falsch-message',\r\n icon: { faIcon: 'far fa-times-circle' },\r\n textExpression: '\"stelleninserat-utils.website-profil-firma-inaktiv-text\" | tr'\r\n };\r\n stelleninseratGruppeTagOptions: IZitTagOptions = {\r\n textExpression: `item.Text | zitRestrictLength:50`,\r\n icon: {\r\n textExpression: `item && item.Gruppentyp && item.Gruppentyp.Bezeichnung\r\n ? item.Gruppentyp.Bezeichnung[0] : \"G\"`\r\n }\r\n };\r\n unternehmenTagOptions: IZitTagOptions = {\r\n icon: {\r\n text: \"U\"\r\n },\r\n textExpression: `item.Subheadline ? item.Subheadline \r\n : item.Geschaeftspartner.Geschaeftspartnerdaten.Name1`\r\n };\r\n adresseTagOptions: IZitTagOptions = {\r\n icon: {\r\n text: \"A\"\r\n },\r\n textExpression: `item | zitAddress:\"short:street\"`\r\n };\r\n\r\n bind(form: FormBase) {\r\n this.form = form;\r\n }\r\n\r\n get zeitraum(): string {\r\n const model = this.form.models.data.$m_Stelleninserat;\r\n if (!model || !model.Kopf)\r\n return \"\";\r\n\r\n let von = model.Kopf.GueltigVon\r\n let bis = model.Kopf.GueltigBis\r\n\r\n return this.zitMoment.getDispoVonBis(von, { bis: bis });\r\n }\r\n}\r\n","import { autoinject } from \"aurelia-framework\";\r\nimport { RestService } from '../../base/services/rest-service';\r\n\r\n@autoinject\r\nexport class LayoutService {\r\n private _layouts: any = {};\r\n\r\n constructor(\r\n private restService: RestService\r\n ) {}\r\n\r\n async initializeLayouts(): Promise {\r\n this._layouts = {};\r\n\r\n const result = await this.restService.get({\r\n url: this.restService.getApiUrl(\"base/Layout/Get\")\r\n });\r\n\r\n for (let item of result) {\r\n //TODO\r\n if (item.AssignedType != \"global\") {\r\n continue;\r\n }\r\n\r\n this.getLayoutType(item.Type)[this.getKey(item.Form, item.IdWidget)] = JSON.parse(item.Layout);\r\n }\r\n }\r\n getLayout(type: string, form: string, idWidget: string): any {\r\n const key = this.getKey(form, idWidget);\r\n return this.getLayoutType(type)[key] || null;\r\n }\r\n async saveLayout(type: string, form: string, idWidget: string, layout: any) {\r\n await this.restService.post({\r\n url: this.restService.getApiUrl(\"base/Layout/Post\"),\r\n data: {\r\n Form: form,\r\n IdWidget: idWidget,\r\n Type: type,\r\n AssignedType: \"global\",\r\n Layout: JSON.stringify(layout || {})\r\n },\r\n increaseLoadingCount: true\r\n });\r\n\r\n this.getLayoutType(type)[this.getKey(form, idWidget)] = layout;\r\n }\r\n async deleteLayout(type: string, form: string, idWidget: string) {\r\n await this.restService.post({\r\n url: this.restService.getApiUrl(\"base/Layout/Delete\"),\r\n data: {\r\n Form: form,\r\n IdWidget: idWidget,\r\n Type: type,\r\n AssignedType: \"global\"\r\n },\r\n increaseLoadingCount: true\r\n });\r\n\r\n delete this.getLayoutType(type)[this.getKey(form, idWidget)];\r\n }\r\n\r\n private getKey(form: string, idWidget: string): string {\r\n return form.concat(\";\").concat(idWidget);\r\n }\r\n private getLayoutType(type: string): any {\r\n if (!this._layouts[type]) {\r\n this._layouts[type] = {};\r\n }\r\n\r\n return this._layouts[type];\r\n }\r\n}\r\n","export enum SelectionModeEnum {\r\n None = 0,\r\n Single = 1,\r\n Multiple = 2\r\n}","import {\r\n autoinject, optional, Scope, OverrideContext\r\n} from \"aurelia-framework\";\r\nimport {\r\n IDataSourceOptions,\r\n IDataSourceOptionFilter,\r\n IDataSourceCustomizationOptions,\r\n IDataSourceLastLoadInfo\r\n} from \"../interfaces/export\";\r\nimport {\r\n RestService\r\n} from \"./rest-service\";\r\nimport {\r\n BindingService\r\n} from \"./binding-service\";\r\nimport {\r\n ScopeContainer\r\n} from \"../classes/scope-container\";\r\nimport { ObjectService } from './object-service';\r\nimport { EventAggregator } from 'aurelia-event-aggregator';\r\n\r\n@autoinject\r\nexport class DataSourceService {\r\n static _instance: DataSourceService;\r\n\r\n constructor(\r\n private rest: RestService,\r\n private binding: BindingService,\r\n private objectService: ObjectService,\r\n private eventAggregator: EventAggregator\r\n ) { \r\n DataSourceService._instance = this;\r\n }\r\n\r\n //TODO - ein bisschen Refactoren ;-)\r\n createDataSource(\r\n scopeContainer: ScopeContainer,\r\n options: IDataSourceOptions,\r\n customizationOptions?: IDataSourceCustomizationOptions,\r\n loadRequiredAction?: { (): void }): DevExpress.data.DataSource {\r\n\r\n const dataSource = new DevExpress.data.DataSource(this.createDataStore(\r\n scopeContainer,\r\n options,\r\n customizationOptions,\r\n loadRequiredAction,\r\n (lastLoadInfo) => {\r\n const currentDataSource: any = dataSource;\r\n currentDataSource.lastLoadInfo = lastLoadInfo;\r\n }\r\n ));\r\n\r\n dataSource.requireTotalCount(true);\r\n\r\n let timeout = null;\r\n this.addObservers(scopeContainer, options, () => {\r\n if (timeout) {\r\n clearTimeout(timeout);\r\n timeout = null;\r\n }\r\n\r\n timeout = setTimeout(() => {\r\n //nur machen, wenn die options keine id haben. Wenn doch, dann kümmern sich die Models selbst darum,\r\n //dass es zu einem Reload kommt\r\n if (options[\"id\"] == void (0)) {\r\n if (dataSource.pageIndex() === 0) {\r\n dataSource.reload();\r\n } else {\r\n dataSource.pageIndex(0);\r\n }\r\n }\r\n\r\n if (loadRequiredAction) {\r\n loadRequiredAction();\r\n }\r\n }, 10);\r\n });\r\n\r\n return dataSource;\r\n }\r\n createDataStore(\r\n scopeContainer: ScopeContainer,\r\n options: IDataSourceOptions,\r\n customizationOptions?: IDataSourceCustomizationOptions,\r\n loadRequiredAction?: { (): void },\r\n setLastLoadAction?: { (lastLoadInfo): void }): DevExpress.data.CustomStore {\r\n let lastAccessInfo = {\r\n lastLoadInfo: null,\r\n resultPromise: null\r\n };\r\n\r\n return new DevExpress.data.CustomStore({\r\n key: options.keyProperty,\r\n byKey: (key) => {\r\n if (!DataSourceService._instance.canLoad(scopeContainer, options, customizationOptions)) {\r\n return Promise.resolve(null);\r\n }\r\n \r\n const getOptions = DataSourceService._instance.createGetOptions(scopeContainer, options, customizationOptions, true);\r\n \r\n //Bei byKey wird kein Where übergeben, da wir bereits auf einen fixen Key einschränken\r\n if (getOptions) {\r\n delete getOptions.where;\r\n }\r\n\r\n return DataSourceService._instance.rest.get({\r\n url: DataSourceService._instance.rest.getWebApiUrl(`${options.webApiAction}/${key}`),\r\n moduleId: this.getModuleId(scopeContainer),\r\n getOptions\r\n });\r\n },\r\n load: (loadOptions) => {\r\n let canLoad = DataSourceService._instance.canLoad(scopeContainer, options, customizationOptions);\r\n \r\n let getOptions: any;\r\n if (canLoad) {\r\n getOptions = DataSourceService._instance.createGetOptions(scopeContainer, options, customizationOptions);\r\n canLoad = getOptions != null;\r\n }\r\n \r\n if (!canLoad) {\r\n if (loadOptions.requireTotalCount) {\r\n return Promise.resolve({\r\n data: [],\r\n totalCount: 0\r\n });\r\n } else {\r\n return Promise.resolve([]);\r\n }\r\n }\r\n \r\n if (loadOptions.filter) {\r\n if (getOptions.where) {\r\n getOptions.where = [getOptions.where, loadOptions.filter];\r\n } else {\r\n getOptions.where = loadOptions.filter;\r\n }\r\n }\r\n if (loadOptions.searchExpr && loadOptions.searchOperation && loadOptions.searchValue) {\r\n if (options.webApiSearchtextEnabled) {\r\n getOptions.searchtext = loadOptions.searchValue;\r\n } else {\r\n const searchWhere = [loadOptions.searchExpr, loadOptions.searchOperation, loadOptions.searchValue];\r\n \r\n if (getOptions.where) {\r\n getOptions.where = [getOptions.where, searchWhere];\r\n } else {\r\n getOptions.where = searchWhere;\r\n }\r\n }\r\n }\r\n if (options.webApiSearchtextEnabled && options.searchtext) {\r\n getOptions.searchtext = DataSourceService._instance.binding.evaluate(scopeContainer.scope, options.searchtext);\r\n }\r\n \r\n getOptions.skip = loadOptions.skip;\r\n getOptions.take = loadOptions.take;\r\n getOptions.requireTotalCount = loadOptions.requireTotalCount;\r\n \r\n if (loadOptions.totalSummary) {\r\n getOptions.totalSummary = loadOptions.totalSummary;\r\n }\r\n \r\n if (loadOptions.sort) {\r\n getOptions.orderBy = (loadOptions.sort).map((data) => {\r\n return {\r\n columnName: data.selector,\r\n sortOrder: (data.desc === true ? 1 : 0)\r\n }\r\n });\r\n };\r\n \r\n const loadOptionsDataField = (loadOptions).dataField;\r\n if (loadOptionsDataField) {\r\n delete getOptions.skip;\r\n delete getOptions.take;\r\n delete getOptions.expand;\r\n delete getOptions.requireTotalCount;\r\n delete getOptions.totalSummary;\r\n getOptions.columns = [loadOptionsDataField];\r\n getOptions.orderBy = [{ columnName: loadOptionsDataField, sortOrder: 0 }];\r\n getOptions.distinct = true;\r\n }\r\n \r\n const lastLoadInfo: IDataSourceLastLoadInfo = {\r\n getOptions: getOptions,\r\n url: DataSourceService._instance.rest.getWebApiUrl(options.webApiAction)\r\n };\r\n \r\n if (setLastLoadAction) {\r\n setLastLoadAction(lastLoadInfo);\r\n }\r\n \r\n //Wenn gerade erst ein gleiches Select abgestellt wurde, dann dieses zurückgeben ...\r\n if (lastAccessInfo.lastLoadInfo\r\n && JSON.stringify(lastAccessInfo.lastLoadInfo) === JSON.stringify(lastLoadInfo)) {\r\n return lastAccessInfo.resultPromise;\r\n } else {\r\n lastAccessInfo.lastLoadInfo = lastLoadInfo;\r\n \r\n const resultPromise = new Promise((resolve, reject) => {\r\n DataSourceService._instance.rest.get({\r\n url: lastLoadInfo.url,\r\n moduleId: this.getModuleId(scopeContainer),\r\n getOptions: lastLoadInfo.getOptions\r\n }).then(r => {\r\n if (loadOptionsDataField) {\r\n //Nested-Eigenschaften müssen in Objekte umgewandelt werden, damit HeaderFilter richtig funktioniert\r\n if (loadOptionsDataField.indexOf(\".\") > 0) {\r\n const tokens = loadOptionsDataField.split(\".\");\r\n \r\n r.forEach(i => {\r\n let value = i;\r\n tokens.forEach((token, index) => {\r\n if (index + 1 === tokens.length) {\r\n value[token] = i[loadOptionsDataField];\r\n } else {\r\n value[token] = {};\r\n value = value[token];\r\n }\r\n });\r\n });\r\n }\r\n } else {\r\n if (customizationOptions && customizationOptions.resultInterceptor) {\r\n r = customizationOptions.resultInterceptor(r);\r\n }\r\n }\r\n \r\n let result;\r\n if (getOptions.requireTotalCount || getOptions.totalSummary) {\r\n result = {\r\n data: r.rows\r\n };\r\n\r\n if (getOptions.requireTotalCount) {\r\n result.totalCount = r.count;\r\n }\r\n if (getOptions.totalSummary) {\r\n result.summary = r.summary;\r\n }\r\n } else {\r\n result = r;\r\n }\r\n \r\n resolve(result);\r\n }).catch(reject);\r\n });\r\n \r\n lastAccessInfo.resultPromise = resultPromise;\r\n\r\n if (customizationOptions && customizationOptions.onLoaded) {\r\n resultPromise.then((r) => {\r\n customizationOptions.onLoaded(r);\r\n });\r\n }\r\n \r\n setTimeout(() => {\r\n if (lastAccessInfo.lastLoadInfo == lastLoadInfo) {\r\n lastAccessInfo = {\r\n lastLoadInfo: null,\r\n resultPromise: null\r\n }\r\n }\r\n }, 500);\r\n \r\n return resultPromise;\r\n }\r\n }\r\n });\r\n }\r\n createGetOptions(\r\n scopeContainer: ScopeContainer, \r\n options: IDataSourceOptions, \r\n customizationOptions?: IDataSourceCustomizationOptions, \r\n ignoreWhere?: boolean): any {\r\n const getOptions: any = {};\r\n getOptions.columns = options.webApiColumns;\r\n getOptions.expand = options.webApiExpand;\r\n getOptions.orderBy = options.webApiOrderBy;\r\n\r\n if (!ignoreWhere && ((options.webApiWhere && options.webApiWhere.length) || (customizationOptions && customizationOptions.getCustomWhere))) {\r\n const where = [];\r\n const input = [];\r\n\r\n if (options.webApiWhere) {\r\n input.push(options.webApiWhere);\r\n }\r\n if (customizationOptions && customizationOptions.getCustomWhere) {\r\n const customWhere = customizationOptions.getCustomWhere();\r\n if (customWhere) {\r\n input.push(customWhere);\r\n }\r\n }\r\n\r\n if (!this.constructWhere(scopeContainer, input, where)) {\r\n return null;\r\n }\r\n\r\n if (where.length > 0) {\r\n getOptions.where = where;\r\n }\r\n }\r\n\r\n if ((options.filters && options.filters.length) || (customizationOptions && customizationOptions.getCustomFilters)) {\r\n const customs = [];\r\n const where = [];\r\n\r\n if (!this.constructFilters(scopeContainer, options, customizationOptions, customs, where)) {\r\n return null;\r\n }\r\n\r\n if (customs.length > 0) {\r\n getOptions.customs = customs;\r\n }\r\n if (!ignoreWhere && where.length > 0) {\r\n if (getOptions.where) {\r\n getOptions.where = [getOptions.where, where];\r\n } else {\r\n getOptions.where = where;\r\n }\r\n }\r\n }\r\n\r\n if (customizationOptions && customizationOptions.getSearchText) {\r\n getOptions.searchtext = customizationOptions.getSearchText();\r\n }\r\n\r\n if (options.webApiMaxRecords > 0) {\r\n getOptions.maxRecords = options.webApiMaxRecords;\r\n }\r\n\r\n return getOptions;\r\n }\r\n\r\n getDataSourceKeyValues(\r\n dataSource: DevExpress.data.DataSource, \r\n optionsPrepareCallback?: { (options): void },\r\n scopeContainer?: ScopeContainer): Promise {\r\n const lastLoadInfo = this.getLastLoadInfo(dataSource);\r\n if (lastLoadInfo == null) {\r\n return Promise.resolve([]);\r\n }\r\n\r\n const options = this.objectService.mergeDeep({}, lastLoadInfo.getOptions);\r\n const key = dataSource.key();\r\n\r\n options.columns = [key];\r\n delete options.take;\r\n delete options.skip;\r\n delete options.expand;\r\n delete options.orderby;\r\n delete options.requireTotalCount;\r\n\r\n if (optionsPrepareCallback) {\r\n optionsPrepareCallback(options);\r\n }\r\n\r\n return this.rest.get({\r\n url: lastLoadInfo.url,\r\n moduleId: this.getModuleId(scopeContainer),\r\n getOptions: options\r\n }).then(r => {\r\n return r.map(item => item[key]);\r\n });\r\n }\r\n\r\n addObservers(\r\n scopeContainer: ScopeContainer, \r\n options: IDataSourceOptions, \r\n action: { (): void }) {\r\n const observers = this.getElementsToObserve(options);\r\n\r\n for (let observer of observers) {\r\n this.binding.observe({\r\n scopeContainer: scopeContainer,\r\n expression: observer, \r\n callback: action\r\n });\r\n }\r\n }\r\n getElementsToObserve(options: IDataSourceOptions): string[] {\r\n const result = [];\r\n\r\n this.evalElementsToObserveWhere(options.webApiWhere, result);\r\n this.evalElementsToObserveDetail(options.searchtext, result);\r\n\r\n if (options.filters) {\r\n for (let item of options.filters) {\r\n if (typeof item.if === \"string\") {\r\n this.evalElementsToObserveDetail(item.if, result);\r\n }\r\n if (typeof item.webApiCustomValue === \"string\") {\r\n this.evalElementsToObserveDetail(item.webApiCustomValue, result);\r\n }\r\n\r\n this.evalElementsToObserveWhere(item.webApiWhere, result);\r\n }\r\n }\r\n\r\n return result;\r\n }\r\n\r\n getLastLoadInfo(dataSource: DevExpress.data.DataSource) {\r\n return dataSource[\"lastLoadInfo\"];\r\n }\r\n\r\n private evalElementsToObserveWhere(data: any, result: string[]): void {\r\n if (data == void (0)) {\r\n return;\r\n }\r\n\r\n if (Array.isArray(data)) {\r\n (data).forEach(item => this.evalElementsToObserveWhere(item, result));\r\n } else if (typeof data === \"object\") {\r\n if (data.isBound === true && data.expression != void (0)) {\r\n this.evalElementsToObserveDetail(data.expression, result);\r\n } else {\r\n for (let property in data) {\r\n this.evalElementsToObserveWhere(data[property], result);\r\n }\r\n }\r\n }\r\n }\r\n private evalElementsToObserveDetail(expression: string, result: string[]): void {\r\n if (expression == void (0)) {\r\n return;\r\n }\r\n\r\n result.push(expression);\r\n }\r\n\r\n private canLoad(\r\n scopeContainer: ScopeContainer, \r\n options: IDataSourceOptions, \r\n customizationOptions: IDataSourceCustomizationOptions) {\r\n if (!scopeContainer || !scopeContainer.scope) {\r\n return false;\r\n }\r\n\r\n if (options && options.allowLoad) {\r\n const allowLoad = this.binding.evaluate(\r\n scopeContainer.scope,\r\n options.allowLoad\r\n );\r\n\r\n if (!allowLoad) {\r\n return false;\r\n }\r\n }\r\n\r\n return !customizationOptions\r\n || !customizationOptions.canLoad\r\n || customizationOptions.canLoad();\r\n }\r\n private constructWhere(\r\n scopeContainer: ScopeContainer, \r\n data: any, \r\n where: any[]): boolean {\r\n if (data == void (0)) {\r\n return true;\r\n }\r\n\r\n if (Array.isArray(data)) {\r\n const newArr = [];\r\n where.push(newArr);\r\n\r\n let cancel = false;\r\n (data).forEach(item => {\r\n if (!this.constructWhere(scopeContainer, item, newArr)) {\r\n cancel = true;\r\n }\r\n });\r\n\r\n if (cancel) {\r\n return false;\r\n }\r\n } else if (typeof data === \"object\" && !(data instanceof Date)) {\r\n if (data.isBound === true && data.expression != void (0)) {\r\n const val = this.binding.evaluate(scopeContainer.scope, data.expression);\r\n if (val == void (0)) {\r\n return false;\r\n }\r\n\r\n where.push(val);\r\n } else {\r\n for (let property in data) {\r\n if (!this.constructWhere(scopeContainer, data[property], where)) {\r\n return false;\r\n }\r\n }\r\n }\r\n } else {\r\n where.push(data);\r\n }\r\n\r\n return true;\r\n }\r\n private constructFilters(\r\n scopeContainer: ScopeContainer, \r\n options: IDataSourceOptions, \r\n customizationOptions: IDataSourceCustomizationOptions, \r\n customs: any[], \r\n where: any[]): boolean {\r\n const filters: IDataSourceOptionFilter[] = [];\r\n\r\n if (options.filters) {\r\n filters.push(...options.filters);\r\n }\r\n if (customizationOptions && customizationOptions.getCustomFilters) {\r\n const customFilters = customizationOptions.getCustomFilters();\r\n if (customFilters) {\r\n filters.push(...customFilters);\r\n }\r\n }\r\n\r\n for (let item of filters) {\r\n if (item.if) {\r\n if (!this.binding.evaluate(scopeContainer.scope, item.if)) {\r\n continue;\r\n }\r\n }\r\n\r\n if (item.webApiCustomKey && item.webApiCustomValue) {\r\n const value = typeof item.webApiCustomValue === \"string\"\r\n ? this.binding.evaluate(scopeContainer.scope, item.webApiCustomValue)\r\n : item.webApiCustomValue;\r\n\r\n if (value == void (0)) {\r\n return false;\r\n }\r\n\r\n customs.push({\r\n key: item.webApiCustomKey,\r\n value: value\r\n });\r\n } else if (item.webApiWhere) {\r\n const w = [];\r\n if (!this.constructWhere(scopeContainer, item.webApiWhere, w)) {\r\n return false;\r\n }\r\n\r\n where.push(w);\r\n }\r\n }\r\n\r\n return true;\r\n }\r\n\r\n private getModuleId(scopeContainer: ScopeContainer) {\r\n if (!scopeContainer) {\r\n return null;\r\n }\r\n if (!scopeContainer.scope) {\r\n return;\r\n }\r\n \r\n const args = {\r\n scope: scopeContainer.scope,\r\n treatEditPopupAsMainForm: true,\r\n moduleId: null\r\n };\r\n \r\n this.eventAggregator.publish(\"form:get-main-form-module-id\", args);\r\n return args.moduleId;\r\n }\r\n}\r\n","import { autoinject } from 'aurelia-framework';\r\nimport { RestService } from '../../framework/base/services/rest-service';\r\nimport { IObjektExportEigenschaftData } from '../interfaces/export';\r\nimport { GlobalizationService } from '../../framework/base/services/globalization-service';\r\n@autoinject\r\nexport class ObjektExportEigenschaftService {\r\n private _objektExportEigenschaftList: IObjektExportEigenschaftData[];\r\n constructor(\r\n private rest: RestService\r\n ) {\r\n this.loadObjektExportEigenschaftList();\r\n }\r\n\r\n getExportEigenschaftList(): IObjektExportEigenschaftData[] {\r\n return this._objektExportEigenschaftList;\r\n }\r\n getExportEigenschaftListByFullname(fullname: string): IObjektExportEigenschaftData[] {\r\n if (!fullname) {\r\n return null;\r\n }\r\n\r\n return this._objektExportEigenschaftList\r\n .filter(c => c.KeyParent == fullname || c.Key == fullname);\r\n }\r\n getExportEigenschaftFormat(id: number): string {\r\n const found = this._objektExportEigenschaftList.find(c => c.Id == id);\r\n\r\n return found ? found.Format : null;\r\n }\r\n\r\n getExportGridColumns(gridInstance: DevExpress.ui.dxDataGrid): any[] {\r\n const columns: DevExpress.ui.dxDataGridColumn[] = gridInstance.option(\"columns\");\r\n\r\n return columns.map((col, index) => {\r\n let width = gridInstance.columnOption(index, \"width\");\r\n if (width && width.toString().indexOf(\"px\") < 0) {\r\n width = `${width}px`;\r\n }\r\n \r\n let format = null;\r\n if (col.format) {\r\n if (col.dataField === \"Anlagedatum\") {\r\n format = \"g\";\r\n } else {\r\n const id = Number(col.dataField.substring(4));\r\n format = this.getExportEigenschaftFormat(id);\r\n }\r\n }\r\n\r\n return {\r\n caption: col.caption,\r\n dataField: col.dataField,\r\n visibleIndex: gridInstance.columnOption(index, \"visibleIndex\"),\r\n sortIndex: gridInstance.columnOption(index, \"sortIndex\"),\r\n sortOrder: gridInstance.columnOption(index, \"sortOrder\"),\r\n width: width,\r\n format: format\r\n }\r\n });\r\n }\r\n\r\n getObjektFullNameByIdList(idList: number[]) {\r\n return this.rest.post({\r\n url: this.rest.getApiUrl(\"ZIT/Stammdaten/TypeNameFromObjectIdList\"),\r\n data: idList\r\n });\r\n }\r\n private async loadObjektExportEigenschaftList() {\r\n this._objektExportEigenschaftList = await this.rest.get({\r\n url: this.rest.getApiUrl(\"ZIT/Volltext/ObjektExportEigenschaft\")\r\n });\r\n }\r\n}\r\n","import { autoinject } from \"aurelia-framework\";\r\n\r\nimport * as Quill from \"quill\";\r\nimport { EventAggregator } from \"aurelia-event-aggregator\";\r\nimport { HtmlEditorExtension } from '../../zit/elements/html-editor-extension/html-editor-extension';\r\nimport { FormBase } from '../../framework/forms/export';\r\n\r\nvar BlockEmbed = Quill.import(\"blots/block/embed\");\r\n\r\nclass Video extends BlockEmbed {\r\n static create(value: IVideoOptions) {\r\n const node = super.create(value);\r\n\r\n node.setAttribute(\"src\", value.src);\r\n node.setAttribute(\"frameborder\", \"0\");\r\n node.setAttribute(\"allowfullscreen\", \"\");\r\n node.setAttribute(\"allow\", \"accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture\");\r\n node.setAttribute(\"width\", value.width);\r\n node.setAttribute(\"height\", value.height);\r\n return node;\r\n }\r\n\r\n static value(node): IVideoOptions {\r\n return {\r\n src: node.getAttribute(\"src\"),\r\n height: node.getAttribute(\"height\"),\r\n width: node.getAttribute(\"width\")\r\n };\r\n }\r\n\r\n static blotName = \"video\";\r\n static tagName = \"iframe\";\r\n static className = \"z--video\";\r\n}\r\n\r\nQuill.register(Video, true);\r\n\r\n@autoinject\r\nexport class HtmlEditorExtensionService {\r\n constructor(\r\n private _eventAggregator: EventAggregator\r\n ) {\r\n this.changeQuillBlockModifier();\r\n this.registerHtmlEditorToolbarButtons();\r\n this.registerHtmlEditorHeaderName();\r\n }\r\n\r\n element: HtmlEditorExtension;\r\n\r\n private changeQuillBlockModifier() {\r\n const Block = Quill.import(\"blots/block\");\r\n Block.tagName = \"DIV\";\r\n Quill.register(Block, true);\r\n }\r\n private registerHtmlEditorHeaderName() {\r\n this._eventAggregator.subscribe(\"dx-widget:attaching\", (e) => {\r\n if (e.name != \"dxHtmlEditor\") {\r\n return;\r\n }\r\n\r\n let onContentReadyDone = false;\r\n const onContentReady = e.options.onContentReady;\r\n e.options.onContentReady = (ev) => {\r\n if (onContentReady) {\r\n onContentReady(ev);\r\n }\r\n\r\n if (onContentReadyDone) {\r\n return;\r\n }\r\n onContentReadyDone = true;\r\n\r\n const toolbar = ev.component._quillInstance.getModule(\"toolbar\");\r\n\r\n const widgetHeader = toolbar._toolbarWidgets._collection.find(c => c.name === \"header\");\r\n if (!widgetHeader) {\r\n return;\r\n }\r\n\r\n const displayExpr = widgetHeader.instance.option(\"displayExpr\");\r\n widgetHeader.instance.option(\"displayExpr\", (item) => {\r\n if (item == 3) {\r\n return \"Überschrift\";\r\n } else {\r\n return displayExpr(item);\r\n }\r\n });\r\n }\r\n });\r\n }\r\n private registerHtmlEditorToolbarButtons() {\r\n this._eventAggregator.subscribe(\"dx-widget:attaching\", (e) => {\r\n if (e.name != \"dxHtmlEditor\") {\r\n return;\r\n }\r\n\r\n let htmlEditor: DevExpress.ui.dxHtmlEditor;\r\n const onInitialized = e.options.onInitialized;\r\n e.options.onInitialized = (ev) => {\r\n if (onInitialized) {\r\n onInitialized(ev);\r\n }\r\n\r\n htmlEditor = ev.component;\r\n };\r\n\r\n const formId = e.owningView?.container?.viewModel?.scope?.bindingContext?.id;\r\n\r\n const isStelleninseratLehre = [\r\n \"stelleninserat-lehre-edit\",\r\n \"stelleninserat-lehre-kunde-package-edit\"].includes(formId);\r\n\r\n const canAddImageAndView = !isStelleninseratLehre;\r\n\r\n if (canAddImageAndView) {\r\n this.addImageButton(e.options.toolbar.items, () => htmlEditor);\r\n }\r\n\r\n this.addVideoButton(e.options.toolbar.items, () => htmlEditor);\r\n });\r\n }\r\n\r\n private addImageButton(toolbarItems: any[], getHtmlEditor: { (): DevExpress.ui.dxHtmlEditor }) {\r\n //TODO DXUPDATE\r\n toolbarItems.push({\r\n widget: \"dxButton\",\r\n options: {\r\n icon: \"far fa-image\",\r\n hint: \"Bild einfügen\",\r\n stylingMode: \"text\",\r\n onClick: (e) => {\r\n e.event.stopPropagation();\r\n e.event.preventDefault();\r\n\r\n const htmlEditor = getHtmlEditor();\r\n if (!htmlEditor) {\r\n return;\r\n }\r\n\r\n const selection = htmlEditor.getSelection();\r\n const pasteIndex = selection ? selection.index : htmlEditor.getLength();\r\n\r\n this.element.addImage((src, width, height) => {\r\n\r\n if (!width && !height) {\r\n width = \"100%\";\r\n }\r\n\r\n htmlEditor.insertEmbed(pasteIndex, \"extendedImage\", { src, width, height });\r\n htmlEditor.setSelection(pasteIndex + 1, 0);\r\n });\r\n }\r\n }\r\n });\r\n }\r\n private addVideoButton(toolbarItems: any[], getHtmlEditor: { (): DevExpress.ui.dxHtmlEditor }) {\r\n //TODO DXUPDATE\r\n toolbarItems.push({\r\n widget: \"dxButton\",\r\n options: {\r\n icon: \"fas fa-video\",\r\n hint: \"Video einfügen\",\r\n stylingMode: \"text\",\r\n onClick: (e) => {\r\n e.event.stopPropagation();\r\n e.event.preventDefault();\r\n\r\n const htmlEditor = getHtmlEditor();\r\n if (!htmlEditor) {\r\n return;\r\n }\r\n\r\n const selection = htmlEditor.getSelection();\r\n const pasteIndex = selection ? selection.index : htmlEditor.getLength();\r\n\r\n this.element.addVideo((src, width, height) => {\r\n htmlEditor.insertEmbed(pasteIndex, \"video\", { src, width: width || \"100%\", height: height || \"315\" });\r\n htmlEditor.setSelection(pasteIndex + 1, 0);\r\n });\r\n }\r\n }\r\n });\r\n }\r\n}\r\n\r\n\r\ninterface IVideoOptions {\r\n src: string;\r\n width: string;\r\n height: string;\r\n}","import { autoinject, transient } from 'aurelia-framework';\r\nimport { FormBase } from '../../../../framework/forms/form-export';\r\nimport { Kontakttyp } from '../../../enumerations/export';\r\n\r\n@autoinject\r\n@transient()\r\nexport class AnsprechpersonKontaktUtils {\r\n constructor() { }\r\n\r\n form: FormBase;\r\n isTelefonOrDefault: boolean;\r\n\r\n bind(form: FormBase) {\r\n this.form = form;\r\n\r\n this.form.models.onLoaded.register((args) => {\r\n if (args.model.id == \"$m_Kontakttyp\" && args.data != void 0) {\r\n this.isTelefonOrDefault = (args.data.Typ != Kontakttyp.Hyperlink && args.data.Typ != Kontakttyp.Email); \r\n }\r\n\r\n return Promise.resolve();\r\n })\r\n }\r\n}","import { autoinject, computedFrom } from 'aurelia-framework';\r\n\r\n@autoinject\r\nexport class DraggingService {\r\n constructor() { }\r\n\r\n @computedFrom(\"dragginData.ObjektTypeFullName\")\r\n get objektTypeFullName() {\r\n return this.draggingData\r\n ? this.draggingData.ObjektTypeFullName\r\n : null;\r\n }\r\n\r\n draggingData: any;\r\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\";\r\nimport { IframePopup } from '../elements/iframe-popup/iframe-popup';\r\n\r\n@autoinject\r\nexport class IframePopupService {\r\n constructor() {}\r\n\r\n popup: IframePopup;\r\n}\r\n\r\nexport interface IFramePopupShowOptions {\r\n titel?: string;\r\n src: string;\r\n width: number;\r\n height: number;\r\n allow?: string;\r\n allowFullScreen?: boolean;\r\n}","import { Erklaerungsvideo } from './../elements/erklaerungsvideo/erklaerungsvideo';\r\nimport { autoinject } from \"aurelia-framework\";\r\nimport { EventAggregator } from 'aurelia-event-aggregator';\r\nimport { ICommandData, ICommand } from '../../framework/forms/export';\r\nimport { StartupService } from './startup-service';\r\nimport { FormEvalService } from './form-eval-service';\r\nimport { IErklaerungsvideo } from '../interfaces/export';\r\nimport { BrowserService } from '../../framework/base/export';\r\nimport { ErklaerungsvideoAnzeigeEnum } from '../enumerations/erklaerungsvideo-anzeige-enum';\r\n\r\n@autoinject\r\nexport class ErklaervideoService {\r\n private info: any = {};\r\n\r\n constructor(\r\n private eventAggregator: EventAggregator,\r\n private startupService: StartupService,\r\n private formEvalService: FormEvalService,\r\n private browserService: BrowserService\r\n ) {\r\n this.eventAggregator.subscribe(\"startup-info:loaded\", () => {\r\n this.init();\r\n });\r\n }\r\n\r\n element: Erklaerungsvideo;\r\n\r\n init() {\r\n this.info = {};\r\n\r\n if (!this.startupService.startupInfo || !this.startupService.startupInfo.ErklaerungsvideoLayoutList) {\r\n return;\r\n }\r\n\r\n for (let item of this.startupService.startupInfo.ErklaerungsvideoLayoutList) {\r\n const key = this.formEvalService.convertIdFormular(item.Key, false) || item.Key;\r\n\r\n if (!this.info[key]) {\r\n this.info[key] = [];\r\n }\r\n\r\n this.info[key].push(item);\r\n }\r\n }\r\n attachedToolbarButton(moduleId: string, addCommand: { (commandData: ICommandData) }) {\r\n const videoList: IErklaerungsvideo[] = this.getContextMenuItems(moduleId);\r\n\r\n if (videoList.length == 0) {\r\n return;\r\n }\r\n\r\n const commanData = this.getErklaervideoCommandData();\r\n commanData.execute = e => {\r\n if (!this.element) {\r\n return;\r\n }\r\n\r\n this.element.show(moduleId, e.event.target);\r\n };\r\n\r\n addCommand(commanData);\r\n\r\n return;\r\n }\r\n\r\n getErklaervideoCommandData(): ICommandData {\r\n return {\r\n id: \"erklaervideo\",\r\n title: \"zit.erklaerung\",\r\n icon: \"fas fa-video\",\r\n className: \"z--button-active\",\r\n sortIndex: 1000\r\n };\r\n }\r\n getContextMenuItems(moduleId: string): IErklaerungsvideo[] {\r\n const videoList: IErklaerungsvideo[] = this.info[moduleId];\r\n if (!videoList) {\r\n return [];\r\n }\r\n\r\n return this.getVideoList(videoList);\r\n }\r\n\r\n getErklaerungsvideoDatasource(): any[] {\r\n const datasource: any[] = [];\r\n\r\n this.startupService.startupInfo.ErklaerungsvideoLayoutList.forEach(element => {\r\n const item = datasource.filter(c => c.IdErklaerungsvideo == element.IdErklaerungsvideo);\r\n if (!item || item.length == 0) {\r\n const datasourceElement = element;\r\n datasourceElement.Bezeichnung = this.erklaerungsvideoElementBezeichnung(datasourceElement);\r\n\r\n datasource.push(datasourceElement);\r\n }\r\n });\r\n\r\n return this.getVideoList(datasource);\r\n }\r\n\r\n getErklaerungsvideo(code: string): IErklaerungsvideo {\r\n if (!code || code.length == 0) {\r\n return;\r\n }\r\n\r\n const list = this.getContextMenuItems(code);\r\n if (!list || list.length == 0) {\r\n return;\r\n }\r\n\r\n return list[0];\r\n }\r\n\r\n erklaerungsvideoElementBezeichnung(erklaerungsvideo: IErklaerungsvideo): string {\r\n return this.element.erklaerungsvideoElementBezeichnung(erklaerungsvideo);\r\n }\r\n erklaerungsvideoElementIcon(erklaerungsvideo: IErklaerungsvideo): string {\r\n return this.element.erklaerungsvideoElementIcon(erklaerungsvideo);\r\n }\r\n erklaerungsvideoAction(erklaerungsvideo: IErklaerungsvideo): any {\r\n return this.element.erklaerungsvideoAction(erklaerungsvideo);\r\n }\r\n\r\n private getVideoList(videoList: IErklaerungsvideo[]): IErklaerungsvideo[] {\r\n const isMobile = this.browserService.isXS;\r\n const isDesktop = !isMobile;\r\n\r\n return videoList.filter(v => {\r\n return v.Anzeige == void (0)\r\n || (v.Anzeige === ErklaerungsvideoAnzeigeEnum.NurAufMobilgeraeten && isMobile)\r\n || (v.Anzeige === ErklaerungsvideoAnzeigeEnum.NurAufDesktopGeraeten && isDesktop);\r\n });\r\n }\r\n}\r\n","export enum TerminTyp {\r\n College = 0,\r\n AusbildnerSeite = 1,\r\n Veranstaltung = 2\r\n}","import { autoinject, transient } from \"aurelia-framework\";\r\nimport { AuthorizationService, LocalizationService, RestService } from \"../../../../../framework/base/export\";\r\nimport { LocationService } from \"../../../../../framework/base/services/location-service\";\r\nimport { FormBase } from \"../../../../../framework/forms/export\";\r\nimport { BrowserService } from \"./../../../../../framework/base/services/browser-service\";\r\nimport { ICommandData } from \"./../../../../../framework/forms/interfaces/command-data\";\r\nimport { DomaeneService } from \"./../../../../services/domaene-service\";\r\n\r\n@autoinject\r\n@transient()\r\nexport class PasswordConfirmFuncs {\r\n private form: FormBase;\r\n private NOTIFY_TIMEOUT: number = 3000;\r\n\r\n constructor(\r\n public browserService: BrowserService,\r\n private _authorizationService: AuthorizationService,\r\n private _localizationService: LocalizationService,\r\n private _restService: RestService,\r\n private _locationService: LocationService,\r\n private _domaeneService: DomaeneService) {\r\n const time = new Date()\r\n .getTime()\r\n .toString();\r\n const randomNumberString = Math.floor((Math.random() * 100))\r\n .toString();\r\n const randomKey = time + randomNumberString;\r\n this.logoSrc = this._restService.getApiUrl(`ZIT/Domaene/Logo?key=${randomKey}`);\r\n }\r\n\r\n urlImpressum: string;\r\n farbeDomaene: string;\r\n bezeichnungLoginMobil: string;\r\n activationKey: string;\r\n benutzername: string;\r\n logoSrc: string;\r\n isMobile: boolean;\r\n\r\n confirmPasswordCommand: ICommandData = {\r\n id: \"$confirmPassword\",\r\n title: \"password-confirm-funcs.confirm_caption\",\r\n execute: async () => {\r\n if (this.form.models.data.$m_Password.Passwort1 !== this.form.models.data.$m_Password.Passwort2) {\r\n DevExpress.ui.notify(this._localizationService.translateOnce(\"password-confirm-funcs.password_missmatch\"), \"error\", this.NOTIFY_TIMEOUT);\r\n return;\r\n }\r\n\r\n this.form.models.data.$m_Password.CodePasswortBestaetigung = this.activationKey;\r\n\r\n const r = await this._restService.post({\r\n url: this._restService.getApiUrl(\"ZIT/Security/PasswortBestaetigung\"),\r\n data: this.form.models.data.$m_Password,\r\n increaseLoadingCount: true\r\n });\r\n\r\n this._authorizationService.login({\r\n Username: this.benutzername,\r\n Password: this.form.models.data.$m_Password.Passwort1\r\n });\r\n }\r\n };\r\n\r\n backToLoginCommand: ICommandData = {\r\n id: \"$backToLogin\",\r\n title: \"password-reset-funcs.back_to_login_caption\",\r\n execute: () => {\r\n this.goBackToLogin();\r\n }\r\n };\r\n\r\n openImpressumClick() {\r\n window.open(this.urlImpressum);\r\n }\r\n\r\n registerForm(form: FormBase) {\r\n this.form = form;\r\n\r\n form.onActivate.register((r) => {\r\n if (r && r.parameters) {\r\n this.activationKey = r.parameters.key;\r\n }\r\n\r\n return Promise.resolve();\r\n });\r\n }\r\n\r\n async bind(form: FormBase) {\r\n this.form.focusFirstEnabledEditor = () => {\r\n if (this.form[\"password\"].instance) {\r\n this.form[\"password\"].instance.focus();\r\n }\r\n };\r\n\r\n if (!this.activationKey) {\r\n this.goBackToLogin();\r\n return;\r\n }\r\n\r\n this.form.callOnBind(() => {\r\n if (!this.form.models.data.$m_Password) {\r\n this.form.models.data.$m_Password = {};\r\n }\r\n\r\n this.loadBenutzername();\r\n });\r\n\r\n this.urlImpressum = this._domaeneService.urlImpressum;\r\n this.farbeDomaene = this._domaeneService.farbeDomaene;\r\n this._domaeneService.setDomainColorsStyle();\r\n this.bezeichnungLoginMobil = this._domaeneService.bezeichnungMobilLogin;\r\n }\r\n\r\n private async loadBenutzername() {\r\n if (!this.activationKey) {\r\n return;\r\n }\r\n\r\n const result = await this._restService.post({\r\n url: this._restService.getApiUrl(\"ZIT/Security/PasswortBestaetigungBenutzername\"),\r\n data: {\r\n CodeAktivierung: this.activationKey\r\n }\r\n });\r\n\r\n if (result && result.Benutzername) {\r\n this.benutzername = result.Benutzername;\r\n } else {\r\n this.goBackToLogin();\r\n }\r\n }\r\n\r\n private goBackToLogin() {\r\n this._locationService.goTo({\r\n url: \"Login\",\r\n clearStack: true\r\n });\r\n }\r\n}\r\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 {\r\n autoinject,\r\n transient\r\n} from \"aurelia-framework\";\r\nimport {\r\n AuthorizationService,\r\n LocalizationService\r\n} from \"../../../base/export\";\r\nimport { \r\n FormBase,\r\n ICommandData\r\n} from \"../../../forms/export\";\r\nimport { LocationService } from '../../../base/services/location-service';\r\n\r\n@autoinject\r\n@transient()\r\nexport class PasswordResetFuncs {\r\n private form: FormBase;\r\n \r\n constructor(\r\n private authorization: AuthorizationService,\r\n private locationService: LocationService,\r\n private localization: LocalizationService\r\n ) { }\r\n\r\n bind(form: FormBase) {\r\n this.form = form;\r\n\r\n form.models.data.$m_Password = {\r\n };\r\n }\r\n\r\n resetPasswordCommand: ICommandData = {\r\n id: \"$resetPassword\",\r\n title: \"password-reset-funcs.reset_caption\",\r\n execute: () => {\r\n if (!this.form.models.data.$m_Password.Username) {\r\n DevExpress.ui.notify(this.localization.translateOnce(\"password-reset-funcs.enter_username\"), \"error\", 3000);\r\n return;\r\n }\r\n\r\n this.authorization\r\n .resetPassword(this.form.models.data.$m_Password)\r\n .then(r => {\r\n if (r) {\r\n this.locationService.goTo({\r\n url: \"login\",\r\n clearStack: true\r\n });\r\n }\r\n });\r\n }\r\n };\r\n backToLoginCommand: ICommandData = {\r\n id: \"$backToLogin\",\r\n title: \"password-reset-funcs.back_to_login_caption\",\r\n execute: () => {\r\n this.locationService.goTo({\r\n url: \"login\",\r\n clearStack: true\r\n });\r\n }\r\n };\r\n}\r\n","import { autoinject, PLATFORM } from \"aurelia-framework\";\r\nimport { EventAggregator } from \"aurelia-event-aggregator\";\r\nimport { FileService } from \"../../framework/base/export\";\r\n\r\nPLATFORM.moduleName(\"../card-templates/ansprechperson-kompakt.html\");\r\nPLATFORM.moduleName(\"../card-templates/ansprechperson-klein.html\");\r\nPLATFORM.moduleName(\"../card-templates/bewerbung-kunde-klein.html\");\r\nPLATFORM.moduleName(\"../card-templates/bewerbung-kunde-kompakt.html\");\r\nPLATFORM.moduleName(\"../card-templates/bewerbung-kunde-gross.html\");\r\nPLATFORM.moduleName(\"../card-templates/bewerbung-person-kompakt.html\");\r\nPLATFORM.moduleName(\"../card-templates/bewerbung-person-gross.html\");\r\nPLATFORM.moduleName(\"../card-templates/dispo-person-gross.html\");\r\nPLATFORM.moduleName(\"../card-templates/dispo-personenzuteilung-klein.html\");\r\nPLATFORM.moduleName(\"../card-templates/dispo-personenzuteilung-kompakt.html\");\r\nPLATFORM.moduleName(\"../card-templates/dispo-planstelle-kompakt.html\");\r\nPLATFORM.moduleName(\"../card-templates/dispo-planstelle-gross.html\");\r\nPLATFORM.moduleName(\"../card-templates/geschaeftspartner-kompakt.html\");\r\nPLATFORM.moduleName(\"../card-templates/person-kompakt.html\");\r\nPLATFORM.moduleName(\"../card-templates/person-klein.html\");\r\nPLATFORM.moduleName(\"../card-templates/person-kunde-kompakt.html\");\r\nPLATFORM.moduleName(\"../card-templates/person-gross.html\");\r\nPLATFORM.moduleName(\"../card-templates/profil-firma-kunde-kompakt.html\");\r\nPLATFORM.moduleName(\"../card-templates/profil-firma-kunde-gross.html\");\r\nPLATFORM.moduleName(\"../card-templates/stelleninserat-kunde-kompakt.html\");\r\nPLATFORM.moduleName(\"../card-templates/stelleninserat-kunde-gross.html\");\r\nPLATFORM.moduleName(\"../card-templates/stelleninserat-person-kompakt.html\");\r\nPLATFORM.moduleName(\"../card-templates/stelleninserat-person-gross.html\");\r\nPLATFORM.moduleName(\"../card-templates/termin-kompakt.html\");\r\nPLATFORM.moduleName(\"../card-templates/termin-heartbase-kompakt.html\");\r\nPLATFORM.moduleName(\"../card-templates/aufgabe-kompakt.html\");\r\nPLATFORM.moduleName(\"../card-templates/ziel-kompakt.html\");\r\nPLATFORM.moduleName(\"../card-templates/ziel-klein.html\");\r\nPLATFORM.moduleName(\"../card-templates/information-kompakt.html\");\r\nPLATFORM.moduleName(\"../card-templates/event-kompakt.html\");\r\nPLATFORM.moduleName(\"../card-templates/event-zeitraum-kompakt.html\");\r\nPLATFORM.moduleName(\"../card-templates/event-teilnehmer-kompakt.html\");\r\nPLATFORM.moduleName(\"../card-templates/event-teilnehmer-klein.html\");\r\n\r\n@autoinject\r\nexport class ZitCardService {\r\n constructor(\r\n private _eventAggregator: EventAggregator,\r\n private _fileService: FileService\r\n ) {\r\n this.registerCardButtonClickEvents();\r\n }\r\n\r\n private registerCardButtonClickEvents() {\r\n this._eventAggregator.subscribe(\"information:datei-oeffnen\", (ev) => {\r\n const dmsLink = ev.data.DMSLink || ev.data.Data.DMSLink;\r\n if (!dmsLink) {\r\n return;\r\n }\r\n\r\n this._fileService.download(dmsLink); \r\n });\r\n this._eventAggregator.subscribe(\"information:link-oeffnen\", (ev) => {\r\n const linkUrl = ev.data.LinkUrl || ev.data.Data.LinkUrl;\r\n if (!linkUrl) {\r\n return;\r\n }\r\n\r\n window.open(linkUrl, \"_blank\");\r\n });\r\n }\r\n}\r\n","import {\r\n autoinject,\r\n transient\r\n} from \"aurelia-framework\";\r\nimport {\r\n AuthorizationService,\r\n LocalizationService\r\n} from \"../../../base/export\";\r\nimport { \r\n FormBase,\r\n ICommandData\r\n} from \"../../../forms/export\";\r\nimport { LocationService } from '../../../base/services/location-service';\r\n\r\n@autoinject\r\n@transient()\r\nexport class ActivateAccountFuncs {\r\n private form: FormBase;\r\n\r\n constructor(\r\n private authorization: AuthorizationService,\r\n private localization: LocalizationService,\r\n private locationService: LocationService\r\n ) { }\r\n\r\n activationKey: string;\r\n\r\n registerForm(form: FormBase) {\r\n this.form = form;\r\n\r\n form.onActivate.register(r => {\r\n if (r && r.parameters) {\r\n this.activationKey = r.parameters.key;\r\n }\r\n\r\n return Promise.resolve();\r\n });\r\n }\r\n\r\n activateCommand: ICommandData = {\r\n id: \"$login\",\r\n title: \"activate-account-form-funcs.account_aktivieren_caption\",\r\n execute: (e) => {\r\n if (this.form.models.data.$m_activateAccount.Password !== this.form.models.data.$m_activateAccount.ConfirmPassword) {\r\n DevExpress.ui.notify(this.localization.translateOnce(\"activate-account-form-funcs.password_missmatch\"), \"error\", 3000);\r\n return;\r\n }\r\n\r\n this.form.models.data.$m_activateAccount.ActivationKey = this.activationKey;\r\n\r\n this.authorization\r\n .activateAccount(this.form.models.data.$m_activateAccount)\r\n .then(r => {\r\n if (r) {\r\n this.locationService.goTo({\r\n url: \"login\",\r\n clearStack: true\r\n });\r\n }\r\n });\r\n }\r\n };\r\n\r\n backToLoginCommand: ICommandData = {\r\n id: \"$backToLogin\",\r\n title: \"activate-account-form-funcs.back_to_login_caption\",\r\n execute: () => {\r\n this.locationService.goTo({\r\n url: \"login\",\r\n clearStack: true\r\n });\r\n }\r\n };\r\n}\r\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 {\r\n loadNext = 0,\r\n paging = 1\r\n}\r\n","import { computedFrom } from \"aurelia-binding\";\r\nimport { autoinject, transient } from \"aurelia-framework\";\r\nimport * as moment from \"moment\";\r\nimport { BrowserService } from \"./../../../../framework/base/services/browser-service\";\r\nimport { LocalizationService } from \"./../../../../framework/base/services/localization-service\";\r\nimport { RestService } from \"./../../../../framework/base/services/rest-service\";\r\nimport { ContextMenu } from \"./../../../../framework/forms/classes/context-menu\";\r\nimport { FormBase } from \"./../../../../framework/forms/classes/form-base\";\r\nimport { ICommandData } from \"./../../../../framework/forms/interfaces/command-data\";\r\nimport { IZitToolbarOptions } from \"./../../../../zit-ui/elements/zit-toolbar/zit-toolbar-options\";\r\nimport { Datei } from \"./../../../elements/datei/datei\";\r\nimport { DokumentListView } from \"./../../../elements/dokument-list-view/dokument-list-view\";\r\nimport { Share } from \"./../../../elements/share/share\";\r\nimport { StatusAendern } from \"./../../../elements/status-aendern/status-aendern\";\r\nimport { IStatusChangeResultData } from \"./../../../interfaces/status-change-result-data\";\r\nimport { StartupService } from \"./../../../services/startup-service\";\r\nimport { AnsprechpersonService } from \"../../../services/ansprechperson-service\";\r\n\r\n@autoinject\r\n@transient()\r\nexport class EventTeilnehmerEditUtils {\r\n\r\n constructor(\r\n public startupService: StartupService,\r\n private _ansprechpersonService: AnsprechpersonService,\r\n private _browserService: BrowserService,\r\n private _localizationService: LocalizationService,\r\n private _restService: RestService\r\n ) { }\r\n\r\n form: FormBase;\r\n selectedKeys: number[];\r\n eventTeilnehmerValidator: DevExpress.ui.dxValidatorOptions = {\r\n validationRules: [{ type: \"required\" }]\r\n };\r\n meldenBeiDataSource: string[];\r\n\r\n actionCommand: ICommandData = {\r\n id: \"actionCommand\",\r\n icon: \"fas fa-share-alt\",\r\n tooltip: \"zit.aktionen\",\r\n sortIndex: 99,\r\n isVisibleExpression: \"r_share.canShare\",\r\n execute: (executeOptions) => {\r\n const share: Share = this.form[\"r_share\"];\r\n share.showCtxMenu(executeOptions.event);\r\n }\r\n };\r\n\r\n statusAendernPopupCommand: ICommandData = {\r\n id: \"statusAenderPopupCommand\",\r\n icon: \"fas fa-pencil-alt\",\r\n title: \"event.status-aendern-popup\",\r\n isVisibleExpression: \"functions.$f_EventTeilnehmerEditUtils.isStatusAendernVisible\",\r\n sortIndex: 450,\r\n execute: () => {\r\n const statusAendern: StatusAendern = this.form[\"r_statusAendern\"];\r\n this.selectedKeys = this.getSelectedKeys();\r\n statusAendern.showPopup(this.onStatusGeaendert.bind(this));\r\n }\r\n };\r\n\r\n dokumentToolbarOptions: IZitToolbarOptions = {\r\n title: \"event.dokument-toolbar-titel\",\r\n smallToolbar: true,\r\n items: [{\r\n id: \"showDokumentToolbarOptionen\",\r\n icon: \"fas fa-plus\",\r\n execute: async (e) => {\r\n if (!this.form.models.data.$m_EventTeilnehmer.Id) {\r\n await this.form.save();\r\n }\r\n\r\n const ctxMenu = new ContextMenu();\r\n\r\n if (this.form[\"r_dokumentElement\"]) {\r\n ctxMenu.items = [{\r\n text: this._localizationService.translateOnce(\"event.dokument-toolbar-item-info-dokument\"),\r\n execute: () => {\r\n const dokumentListView: DokumentListView = this.form[\"r_dokumentElement\"];\r\n dokumentListView.onDokumentAddClicked();\r\n }\r\n }, {\r\n text: this._localizationService.translateOnce(\"event.dokument-toolbar-item-dokument-erstellen\"),\r\n execute: () => {\r\n const share: Share = this.form[\"r_share\"];\r\n share.dokumentLautVorlageErstellen.showPopup(\r\n [this.form.models.data.$m_EventZeitraum.Id],\r\n \"TIP.ZIT.Business.Entities.Objekte.Events.EventTeilnehmer\");\r\n }\r\n }];\r\n } else if (this.form[\"r_dateien\"]) {\r\n ctxMenu.items = [{\r\n text: this._localizationService.translateOnce(\"event.dokument-toolbar-item-info-dokumente\"),\r\n execute: () => {\r\n setTimeout(() => {\r\n const datei: Datei = this.form[\"r_dateien\"];\r\n datei.onDokumentClick();\r\n }, 0);\r\n }\r\n }, {\r\n text: this._localizationService.translateOnce(\"event.dokument-toolbar-item-info-bilder\"),\r\n execute: () => {\r\n setTimeout(() => {\r\n const datei: Datei = this.form[\"r_dateien\"];\r\n datei.onCameraClick();\r\n }, 0);\r\n }\r\n }, {\r\n text: this._localizationService.translateOnce(\"event.dokument-toolbar-item-info-videos\"),\r\n execute: () => {\r\n setTimeout(() => {\r\n const datei: Datei = this.form[\"r_dateien\"];\r\n datei.onVideoClick();\r\n }, 0);\r\n }\r\n }, {\r\n text: this._localizationService.translateOnce(\"event.dokument-toolbar-item-info-galerie\"),\r\n execute: async () => {\r\n const r = await this.form.saveIfDirty();\r\n if (!r.isValid) {\r\n return;\r\n }\r\n\r\n const datei: Datei = this.form[\"r_dateien\"];\r\n datei.onAddToGalerieClick(() => {\r\n this.form.save();\r\n });\r\n }\r\n }];\r\n }\r\n\r\n ctxMenu.show(event.target);\r\n }\r\n }]\r\n };\r\n\r\n meldenBeiSelectBoxOptions: DevExpress.ui.dxSelectBoxOptions = {\r\n acceptCustomValue: true,\r\n bindingOptions: {\r\n value: \"models.data.$m_EventTeilnehmer.Kopf.MeldenBei\",\r\n dataSource: \"functions.$f_EventTeilnehmerEditUtils.meldenBeiDataSource\",\r\n }\r\n };\r\n\r\n @computedFrom(\"canChangeStatus\")\r\n get isStatusAendernVisible() {\r\n return this.startupService.startupInfo.Benutzer.CanStatusAendern\r\n && this.canChangeStatus\r\n && !this._browserService.isMobile;\r\n }\r\n\r\n @computedFrom(\"form.models.data.$m_EventTeilnehmer\")\r\n get canChangeStatus(): boolean {\r\n if (!this.form.models.data.$m_EventTeilnehmer) {\r\n return true;\r\n }\r\n\r\n return !!this.form.models.data.$m_EventTeilnehmer._CanChangeObjektStatus;\r\n }\r\n\r\n onStartDatumChanged() {\r\n const model = this.form.models.data.$m_EventTeilnehmer;\r\n\r\n if (!model || !model.Kopf || model.Kopf.EndeDatum) {\r\n return;\r\n }\r\n\r\n model.Kopf.EndeDatum = model.Kopf.StartDatum;\r\n }\r\n\r\n isAnsichtDesktop() {\r\n return !this._browserService.isMobile;\r\n }\r\n\r\n bind(form) {\r\n this.form = form;\r\n\r\n form.onEditorValueChanged.register(async (args) => {\r\n if (args.binding.dataContext === \"$m_EventTeilnehmer\") {\r\n if (args.binding.bindTo == \"IdEventZeitraum\") {\r\n this.setDatumFromZeitraum(this.form.models.data.$m_EventTeilnehmer.IdEventZeitraum);\r\n }\r\n }\r\n });\r\n \r\n form.models.onLoaded.register((args) => {\r\n if (args.model.id == \"$m_Event\" && args.data) {\r\n if (args.data.Kopf) {\r\n if (args.data.Kopf.IdGeschaeftspartner) {\r\n this.setMeldenBeiDataSource(args.data.Kopf.IdGeschaeftspartner);\r\n } else if (args.data.Kopf.IdGeschaeftspartnerSchule) {\r\n this.setMeldenBeiDataSource(args.data.Kopf.IdGeschaeftspartnerSchule);\r\n }\r\n }\r\n }\r\n return Promise.resolve();\r\n });\r\n\r\n form.onValidating.register((r) => {\r\n if (this.form.models.data.$m_EventTeilnehmer.Kopf.StartDatum && this.form.models.data.$m_EventTeilnehmer.Kopf.EndeDatum) {\r\n if (moment(this.form.models.data.$m_EventZeitraum.Kopf.StartDatum)\r\n .isSameOrBefore(this.form.models.data.$m_EventTeilnehmer.Kopf.StartDatum)\r\n && moment(this.form.models.data.$m_EventZeitraum.Kopf.EndeDatum)\r\n .isSameOrAfter(this.form.models.data.$m_EventTeilnehmer.Kopf.StartDatum)\r\n && moment(this.form.models.data.$m_EventZeitraum.Kopf.StartDatum)\r\n .isSameOrBefore(this.form.models.data.$m_EventTeilnehmer.Kopf.EndeDatum)\r\n && moment(this.form.models.data.$m_EventZeitraum.Kopf.EndeDatum)\r\n .isSameOrAfter(this.form.models.data.$m_EventTeilnehmer.Kopf.EndeDatum)) {\r\n const dauer = moment(this.form.models.data.$m_EventTeilnehmer.Kopf.EndeDatum).diff(this.form.models.data.$m_EventTeilnehmer.Kopf.StartDatum, \"days\") + 1;\r\n\r\n if (this.form.models.data.$m_EventZeitraum.Kopf.Maximaldauer && this.form.models.data.$m_EventZeitraum.Kopf.Mindestdauer) {\r\n if (dauer > this.form.models.data.$m_EventZeitraum.Kopf.Maximaldauer) {\r\n r.validationResult.isValid = false;\r\n r.validationResult.messages.push(this._localizationService.translateOnce(\"event.event-teilnehmer-maximaldauer-ueberschritten\"));\r\n return;\r\n }\r\n if (dauer < this.form.models.data.$m_EventZeitraum.Kopf.Mindestdauer) {\r\n r.validationResult.isValid = false;\r\n r.validationResult.messages.push(this._localizationService.translateOnce(\"event.event-teilnehmer-mindestdauer-unterschreiten\"));\r\n return;\r\n }\r\n }\r\n } else {\r\n r.validationResult.isValid = false;\r\n r.validationResult.messages.push(\"Der ausgewählte Zeitraum muss sich innerhalb von \"\r\n + moment(this.form.models.data.$m_EventZeitraum.Kopf.StartDatum)\r\n .format(\"DD.MM.YYYY\")\r\n + \" - \"\r\n + moment(this.form.models.data.$m_EventZeitraum.Kopf.EndeDatum)\r\n .format(\"DD.MM.YYYY\")\r\n + \" befinden.\");\r\n return;\r\n }\r\n }\r\n return Promise.resolve();\r\n });\r\n }\r\n\r\n async onDokumentChanged() {\r\n await this.form.models.reloadAll();\r\n this.form.dispatchOnSaved();\r\n }\r\n\r\n private async setDatumFromZeitraum(id: number) {\r\n if (!id) {\r\n return;\r\n }\r\n\r\n const r = await this._restService.get({\r\n url: this._restService.getWebApiUrl(`ZIT/Objekte/EventZeitraum/${id}`),\r\n getOptions: {\r\n expand: { Kopf: null }\r\n }\r\n });\r\n\r\n if (!r) {\r\n return;\r\n }\r\n\r\n this.form.models.data.$m_EventTeilnehmer.Kopf.StartDatum = r.Kopf.StartDatum;\r\n this.form.models.data.$m_EventTeilnehmer.Kopf.StartUhrzeit = r.Kopf.StartUhrzeitValidated;\r\n this.form.models.data.$m_EventTeilnehmer.Kopf.EndeDatum = r.Kopf.EndeDatum;\r\n this.form.models.data.$m_EventTeilnehmer.Kopf.EndeUhrzeit = r.Kopf.EndeUhrzeitValidated;\r\n }\r\n\r\n private onStatusGeaendert(r: IStatusChangeResultData) {\r\n if (!r.IsValid) {\r\n DevExpress.ui.dialog.alert(r.Message, this._localizationService.translateOnce(\"event.fehler\"));\r\n } else {\r\n this.form.models.reloadAll();\r\n }\r\n }\r\n\r\n private getSelectedKeys(): number[] {\r\n if (this.form.models.data.$m_EventTeilnehmer) {\r\n return [this.form.models.data.$m_EventTeilnehmer.Id];\r\n } else {\r\n return [];\r\n }\r\n }\r\n\r\n private async setMeldenBeiDataSource(id: number) {\r\n const ansprechpersonList = await this._ansprechpersonService\r\n .loadAnsprechpersonByGeschaeftspartner(id, [\"Name\"]);\r\n\r\n this.meldenBeiDataSource = ansprechpersonList.map((c) => c.Name);\r\n }\r\n}\r\n","import { autoinject } from 'aurelia-framework';\r\nimport { IZitTagOptions } from '../elements/zit-tag/export';\r\n\r\n@autoinject\r\nexport class ZitTagService {\r\n private _tagDic: any = {};\r\n constructor() {\r\n this.load();\r\n }\r\n\r\n getTagOptions(optionsName: string): IZitTagOptions {\r\n return Object.assign({}, this._tagDic[optionsName]);\r\n }\r\n\r\n private load() {\r\n this._tagDic.adresse = {\r\n isClickEnabled: true,\r\n hasDefaultInfo: true,\r\n icon: {\r\n textExpression: 'item.Adresstyp.TagText ? item.Adresstyp.TagText : item.Adresstyp.Bezeichnung[0]'\r\n },\r\n textExpression: `item | zitAddress:\"short:street\"`\r\n };\r\n\r\n this._tagDic.ansprechperson = {\r\n icon: {\r\n text: \"K\"\r\n },\r\n textExpression: \"item.GesamtNameMitTitel\",\r\n infoList: [\r\n {\r\n isVisibleExpression: `item.IsInaktiv`,\r\n icon: {\r\n faIcon: \"far fa-trash-alt\",\r\n }\r\n }\r\n ]\r\n };\r\n\r\n this._tagDic.ausbildung = {\r\n hasDefaultInfo: true,\r\n textExpression: \"item.Ausbildung.Bezeichnung\",\r\n icon: {\r\n faIconExpression: \"item.Ausbildung.TagSymbol ? item.Ausbildung.TagSymbol : null\",\r\n textExpression: \"item.Ausbildung.TagText ? item.Ausbildung.Tagtext : 'A'\"\r\n },\r\n infoList: [{\r\n isVisibleExpression: \"item.AusbildungAbschluss.TagSymbol\",\r\n icon: {\r\n faIconExpression: \"item.AusbildungAbschluss.TagSymbol\"\r\n }\r\n }]\r\n };\r\n\r\n this._tagDic.benutzergruppe = {\r\n hasDefaultInfo: true,\r\n icon: {\r\n faIcon: \"fas fa-users\"\r\n },\r\n textExpression: `item.Bezeichnung`\r\n };\r\n this._tagDic.bankverbindung = {\r\n isClickEnabled: true,\r\n hasDefaultInfo: true,\r\n icon: {\r\n faIcon: \"far fa-money-bill-alt\"\r\n },\r\n textExpression: `item | zitBankverbindung:\"IBAN\"`\r\n };\r\n\r\n this._tagDic.benutzerrolleCode = {\r\n icon: {\r\n faIconExpression: \"item.TagSymbol ? item.TagSymbol : ''\",\r\n textExpression: \"item.tagText ? item.tagText : ''\"\r\n },\r\n textExpression: \"item.Bezeichnung\",\r\n onClick: (e, data) => {\r\n data.IsAktiv = !data.IsAktiv;\r\n },\r\n infoList: [{\r\n icon: {\r\n faIconExpression: \"item.IsAktiv ? 'fas fa-check' : 'fas fa-times'\",\r\n backgroundColorExpression: \"item.IsAktiv ? 'green':'red'\"\r\n }\r\n }]\r\n };\r\n\r\n this._tagDic.berufserfahrung = {\r\n hasDefaultInfo: true,\r\n icon: {\r\n text: \"E\"\r\n },\r\n textExpression: `item.Bis \r\n ? item.Unternehmen + \": \" + globalization.format(item.Von, \"d\") + \" - \" + globalization.format(item.Bis, \"d\") \r\n : item.Unternehmen + \": \" + \"seit \" + globalization.format(item.Von, \"d\")`,\r\n };\r\n\r\n this._tagDic.einsatzbereich = {\r\n icon: {\r\n text: \"EB\"\r\n },\r\n textExpression: `item.Einsatzbereich && item.Einsatzbereich.Einsatzbereich\r\n ? item.Einsatzbereich.Einsatzbereich\r\n : item.Wunschbereich`,\r\n };\r\n\r\n this._tagDic.email = {\r\n icon: {\r\n text: \"E\"\r\n },\r\n textExpression: `item`,\r\n onClick: (e, email) => {\r\n window.location.href = `mailto:${email}`;\r\n }\r\n };\r\n\r\n this._tagDic.website = {\r\n icon: {\r\n text: \"W\"\r\n },\r\n textExpression: `item | zitRestrictLength:75`,\r\n onClick: (e, website) => {\r\n if (!website.match(/^https?:\\/\\//i)) {\r\n website = `http://${website}`;\r\n }\r\n window.open(`${website}`, \"_blank\");\r\n }\r\n };\r\n\r\n this._tagDic.geschaeftspartner = {\r\n isClickEnabled: true,\r\n hasDefaultInfo: true,\r\n icon: {\r\n text: \"GP\"\r\n },\r\n textExpression: `item.Geschaeftspartner.Name1 \r\n ? item.Geschaeftspartner.Adressen.Adressen[0] \r\n ? item.Geschaeftspartner.Name1 + \", \" + item.Geschaeftspartner.Adressen.Adressen[0].Ort\r\n : item.Geschaeftspartner.Name1\r\n : \"\"`\r\n };\r\n\r\n this._tagDic.kontakt = {\r\n isClickEnabled: true,\r\n hasDefaultInfo: true,\r\n icon: {\r\n faIconExpression: \"item.Kontakttyp.TagSymbol ? item.Kontakttyp.TagSymbol : item.Kontakttyp.Bezeichnung\",\r\n textExpression: `item.Kontakttyp \r\n ? item.Kontakttyp.TagSymbol\r\n ? item.Kontakttyp.TagText \r\n : item.Kontakttyp.Bezeichnung\r\n ? item.Kontakttyp.Bezeichnung[0] \r\n : \"K\"\r\n : \"K\"`\r\n },\r\n textExpression: `item.Wert1 \r\n ? item.Wert2\r\n ? item.Wert1 + \" \" + item.Wert2\r\n : item.Wert1\r\n : \"\"`,\r\n infoList: [{\r\n isVisibleExpression: \"item.Wichtig\",\r\n icon: {\r\n faIcon: \"fas fa-exclamation\"\r\n }\r\n }]\r\n };\r\n\r\n this._tagDic.package = {\r\n isClickEnabled: true,\r\n icon: {\r\n text: \"P\"\r\n },\r\n textExpression: `item.Bezeichnung + \", gültig bis: \" + globalization.format(item.GueltigBis, \"d\")`\r\n };\r\n\r\n this._tagDic.sprache = {\r\n hasDefaultInfo: true,\r\n icon: {\r\n text: \"S\"\r\n },\r\n textExpression: `item.Sprachniveau \r\n ? item.Sprachniveau.Bezeichnung + \" | \" + item.Sprache.Bezeichnung\r\n : item.Sprache.Bezeichnung`,\r\n infoList: [{\r\n isVisibleExpression: \"item.Sprachniveau.TagSymbol\",\r\n icon: {\r\n faIconExpression: \"item.Sprachniveau.TagSymbol\"\r\n }\r\n }]\r\n };\r\n }\r\n}\r\n","import { autoinject, transient } from 'aurelia-framework';\r\nimport { FormBase } from './../../../../framework/forms/classes/form-base';\r\n\r\n@autoinject\r\n@transient()\r\nexport class PersonenAdresseUtils {\r\n constructor() { }\r\n\r\n form: FormBase;\r\n\r\n bind(form: FormBase) {\r\n this.form = form;\r\n form.models.onLoaded.register((args) => {\r\n if (args && args.model && args.model.id === \"$m_Person\") {\r\n this.setAdresse(args);\r\n }\r\n return Promise.resolve();\r\n });\r\n }\r\n\r\n setAdresse(args): void {\r\n if (args.data) {\r\n if (!args.data.Adressen) {\r\n args.data.Adressen = [];\r\n }\r\n if (args.data.Adressen.length === 0) {\r\n const adresse = {};\r\n args.data.Adressen.push(adresse);\r\n }\r\n this.form.models.data.$m_PersonAdresse = args.data.Adressen[0];\r\n }\r\n }\r\n}\r\n","import {\r\n Disposable,\r\n Scope\r\n} from \"aurelia-framework\";\r\n\r\nexport class ScopeContainer {\r\n private _disposables: Disposable[];\r\n\r\n constructor(\r\n public scope: Scope,\r\n private parentScopeContainer?: ScopeContainer\r\n ) {\r\n if (parentScopeContainer) {\r\n this._disposables = parentScopeContainer._disposables;\r\n } else {\r\n this._disposables = [];\r\n }\r\n }\r\n\r\n addDisposable(disposable: Disposable) {\r\n this._disposables.push(disposable);\r\n }\r\n disposeAll(disposeScope: boolean = true) {\r\n if (this.parentScopeContainer) {\r\n this._disposables = [];\r\n } else {\r\n this._disposables.forEach(c => {\r\n c.dispose();\r\n })\r\n this._disposables.length = 0;\r\n }\r\n\r\n if (disposeScope && this.scope) {\r\n for (let key in this.scope) {\r\n delete this.scope[key];\r\n }\r\n }\r\n\r\n this.scope = null;\r\n this.parentScopeContainer = null;\r\n }\r\n}","module.exports = \"
\";","import { BrowserService } from './../../../../framework/base/services/browser-service';\r\nimport { computedFrom } from 'aurelia-framework';\r\nimport { StartupService } from './../../../services/startup-service';\r\nimport { StatusAendern } from './../../../elements/status-aendern/status-aendern';\r\nimport { autoinject, transient } from 'aurelia-framework';\r\nimport { FormBase } from './../../../../framework/forms/classes/form-base';\r\nimport { GlobalizationService, LocalizationService, RestService, LocationService } from './../../../../framework/base/services/export';\r\nimport { PersonService, StelleninseratService } from './../../../services/export';\r\nimport { IZitTagOptions } from '../../../../zit-ui/elements/zit-tag/export';\r\nimport { WhatsappAktivieren } from '../../../elements/whatsapp-aktivieren/whatsapp-aktivieren';\r\nimport { IdxPopupComponent, IStatusChangeResultData } from './../../../interfaces/export';\r\nimport { ICommandData } from './../../../../framework/forms/interfaces/command-data';\r\nimport * as moment from \"moment\";\r\nimport { Share } from '../../../elements/share/share';\r\nimport { IZitToolbarOptions } from '../../../../zit-ui/elements/zit-toolbar/zit-toolbar-options';\r\nimport { BenutzerTyp } from '../../../enumerations/export';\r\nimport { ModelUtilsService } from '../../../../framework/forms/export';\r\nimport { FormPopupService } from '../../../services/form-popup-service';\r\nimport { NachrichtService } from \"../../../services/nachricht-service\";\r\n\r\n@autoinject\r\n@transient()\r\nexport class BewerbungEditUtils {\r\n constructor(\r\n public startup: StartupService,\r\n private _globalizationService: GlobalizationService,\r\n private _localizationService: LocalizationService,\r\n private _locationService: LocationService,\r\n private _nachrichtService: NachrichtService,\r\n private _personService: PersonService,\r\n private _stelleninseratService: StelleninseratService,\r\n private _restService: RestService,\r\n private _browserService: BrowserService,\r\n private _modelUtilsService: ModelUtilsService,\r\n private _formPopupService: FormPopupService\r\n ) { }\r\n\r\n form: FormBase;\r\n whatsappAktivieren: WhatsappAktivieren;\r\n isArbeitsbewilligungVorhanden: boolean = true;\r\n selectedKeys: number[];\r\n isGeschaeftspartnerSchule: boolean;\r\n\r\n requiredValidationRule = { type: \"required\" };\r\n\r\n anzahlWunschWochenValidationRule: DevExpress.ui.CustomRule = {\r\n type: \"custom\",\r\n validationCallback: (e) => {\r\n const mindestWochen = this.form.models.data.$m_Bewerbung.Kopf.Stelleninserat.FerialeinsatzEinstellungen.MindesteinsatzWochen;\r\n if (!mindestWochen) {\r\n return true;\r\n }\r\n e.rule.message = this._localizationService.translateOnce(\"bewerbung-edit-utils.validator-mindesteinsatz-wochen\",\r\n [mindestWochen]);\r\n return e.value >= mindestWochen;\r\n }\r\n };\r\n\r\n einsatzzeitraum1VonCustomValidation: DevExpress.ui.CustomRule = {\r\n type: \"custom\",\r\n validationCallback: (e) => {\r\n const einstellungen = this.getFerialEinstellungen();\r\n if (!einstellungen\r\n || !e.value\r\n || (!einstellungen.BeschaeftigungVon && !einstellungen.BeschaeftigungBis)) {\r\n return true;\r\n }\r\n\r\n const von = moment(e.value);\r\n const bis = this.form.models.data.$m_Bewerbung.Kopf.Einsatzzeitraum1Bis;\r\n const isAlterValid = this.validateMindestAlter(von, einstellungen.Mindestalter);\r\n\r\n if (!isAlterValid) {\r\n e.rule.message = this._localizationService.translateOnce(\"bewerbung-edit-utils.validator-mindestalter\", [einstellungen.Mindestalter])\r\n return false;\r\n }\r\n\r\n if (einstellungen.BeschaeftigungVon && !von.isSameOrAfter(einstellungen.BeschaeftigungVon, \"day\")) {\r\n e.rule.message = this._localizationService.translateOnce(\"bewerbung-edit-utils.validator-beschaeftigung-vor\",\r\n [this._globalizationService.format(einstellungen.BeschaeftigungVon, \"d\")]);\r\n\r\n return false;\r\n } else if (einstellungen.BeschaeftigungBis && von.isSameOrAfter(einstellungen.BeschaeftigungBis, \"day\")) {\r\n e.rule.message = this._localizationService.translateOnce(\"bewerbung-edit-utils.validator-beschaeftigung-nach\",\r\n [this._globalizationService.format(einstellungen.BeschaeftigungBis, \"d\")]);\r\n return false\r\n } else if (von && bis) {\r\n const isValid = this.validateMindesteinsatz(von.toDate(), bis);\r\n if (!isValid) {\r\n const mindesteinsatz = einstellungen.MindesteinsatzWochen;\r\n e.rule.message = this._localizationService.translateOnce(\"bewerbung-edit-utils.validator-mindesteinsatz\",\r\n [mindesteinsatz, mindesteinsatz == 1 ? \"\" : \"n\"]);\r\n\r\n return false;\r\n }\r\n }\r\n\r\n return true;\r\n }\r\n };\r\n einsatzzeitraum1BisCustomValidation: DevExpress.ui.CustomRule = {\r\n type: \"custom\",\r\n validationCallback: (e) => {\r\n const einstellungen = this.getFerialEinstellungen();\r\n if (!einstellungen\r\n || !e.value\r\n || (!einstellungen.BeschaeftigungVon && !einstellungen.BeschaeftigungBis)) {\r\n return true;\r\n }\r\n\r\n const bis = moment(e.value);\r\n const von = this.form.models.data.$m_Bewerbung.Kopf.Einsatzzeitraum1Von;\r\n\r\n if (einstellungen.BeschaeftigungBis && !bis.isSameOrBefore(einstellungen.BeschaeftigungBis, \"day\")) {\r\n e.rule.message = this._localizationService.translateOnce(\"bewerbung-edit-utils.validator-beschaeftigung-nach\",\r\n [this._globalizationService.format(einstellungen.BeschaeftigungBis, \"d\")]);\r\n\r\n return false;\r\n } else if (von && bis.isSameOrBefore(von, \"day\")) {\r\n e.rule.message = this._localizationService.translateOnce(\"bewerbung-edit-utils.validator-kleiner-als-von\");\r\n\r\n return false;\r\n } else if (von && bis) {\r\n const isValid = this.validateMindesteinsatz(von, bis.toDate());\r\n if (!isValid) {\r\n const mindesteinsatz = einstellungen.MindesteinsatzWochen;\r\n e.rule.message = this._localizationService.translateOnce(\"bewerbung-edit-utils.validator-mindesteinsatz\",\r\n [mindesteinsatz, mindesteinsatz == 1 ? \"\" : \"n\"]);\r\n\r\n return false;\r\n }\r\n }\r\n\r\n return true;\r\n }\r\n };\r\n einsatzzeitraum2VonCustomValidation: DevExpress.ui.CustomRule = {\r\n type: \"custom\",\r\n validationCallback: (e) => {\r\n const einstellungen = this.getFerialEinstellungen();\r\n if (!einstellungen\r\n || !e.value\r\n || (!einstellungen.BeschaeftigungVon && !einstellungen.BeschaeftigungBis)) {\r\n return true;\r\n }\r\n\r\n const von = moment(e.value);\r\n const bis = this.form.models.data.$m_Bewerbung.Kopf.Einsatzzeitraum2Bis;\r\n const isAlterValid = this.validateMindestAlter(von, einstellungen.Mindestalter);\r\n\r\n if (!isAlterValid) {\r\n e.rule.message = this._localizationService.translateOnce(\"bewerbung-edit-utils.validator-mindestalter\", [einstellungen.Mindestalter])\r\n return false;\r\n }\r\n\r\n if (einstellungen.BeschaeftigungVon && !von.isSameOrAfter(einstellungen.BeschaeftigungVon, \"day\")) {\r\n e.rule.message = this._localizationService.translateOnce(\"bewerbung-edit-utils.validator-beschaeftigung-vor\",\r\n [this._globalizationService.format(einstellungen.BeschaeftigungVon, \"d\")]);\r\n\r\n return false;\r\n } else if (einstellungen.BeschaeftigungBis && von.isSameOrAfter(einstellungen.BeschaeftigungBis, \"day\")) {\r\n e.rule.message = this._localizationService.translateOnce(\"bewerbung-edit-utils.validator-beschaeftigung-nach\",\r\n [this._globalizationService.format(einstellungen.BeschaeftigungBis, \"d\")]);\r\n return false\r\n } else if (von && bis) {\r\n const isValid = this.validateMindesteinsatz(von.toDate(), bis);\r\n if (!isValid) {\r\n const mindesteinsatz = einstellungen.MindesteinsatzWochen;\r\n e.rule.message = this._localizationService.translateOnce(\"bewerbung-edit-utils.validator-mindesteinsatz\",\r\n [mindesteinsatz, mindesteinsatz == 1 ? \"\" : \"n\"]);\r\n\r\n return false;\r\n }\r\n }\r\n\r\n\r\n return true;\r\n }\r\n };\r\n einsatzzeitraum2BisCustomValidation: DevExpress.ui.CustomRule = {\r\n type: \"custom\",\r\n validationCallback: (e) => {\r\n const einstellungen = this.getFerialEinstellungen();\r\n if (!einstellungen\r\n || !e.value\r\n || (!einstellungen.BeschaeftigungVon && !einstellungen.BeschaeftigungBis)) {\r\n return true;\r\n }\r\n\r\n const bis = moment(e.value);\r\n const von = this.form.models.data.$m_Bewerbung.Kopf.Einsatzzeitraum2Von;\r\n\r\n if (einstellungen.BeschaeftigungBis && !bis.isSameOrBefore(einstellungen.BeschaeftigungBis, \"day\")) {\r\n e.rule.message = this._localizationService.translateOnce(\"bewerbung-edit-utils.validator-beschaeftigung-nach\",\r\n [this._globalizationService.format(einstellungen.BeschaeftigungBis, \"d\")]);\r\n\r\n return false;\r\n } else if (von && bis.isSameOrBefore(von, \"day\")) {\r\n e.rule.message = this._localizationService.translateOnce(\"bewerbung-edit-utils.validator-kleiner-als-von\");\r\n\r\n return false;\r\n } else if (von && bis) {\r\n const isValid = this.validateMindesteinsatz(von, bis.toDate());\r\n if (!isValid) {\r\n const mindesteinsatz = einstellungen.MindesteinsatzWochen;\r\n e.rule.message = this._localizationService.translateOnce(\"bewerbung-edit-utils.validator-mindesteinsatz\",\r\n [mindesteinsatz, mindesteinsatz == 1 ? \"\" : \"n\"]);\r\n\r\n return false;\r\n }\r\n }\r\n\r\n return true;\r\n }\r\n };\r\n\r\n beschaeftigungTagOptions: IZitTagOptions = {\r\n cssClass: \"z--tag-info-message\",\r\n icon: {\r\n faIcon: \"fas fa-info-circle\"\r\n },\r\n textExpression: `\"bewerbung-edit-utils.einsatzzeitraum-info\" \r\n | tr:[globalization.format(item.BeschaeftigungVon, \"d\"), globalization.format(item.BeschaeftigungBis, \"d\")]`\r\n };\r\n einsatzbereichTagOptions: IZitTagOptions = {\r\n textExpression: \"item.Einsatzbereich.Einsatzbereich\",\r\n isClickEnabled: true,\r\n icon: {\r\n text: \"EB\"\r\n }\r\n };\r\n mindestDauerMessageTagOptions: IZitTagOptions = {\r\n cssClass: \"z--tag-info-message\",\r\n icon: {\r\n faIcon: \"fas fa-info-circle\"\r\n },\r\n textExpression: `\"bewerbung-edit-utils.mindestdauer-info\" \r\n | tr:[item.MindesteinsatzWochen, \r\n item.MindesteinsatzWochen == 1 ? '':'n',\r\n item.MaxEinsatzWochen \r\n ? localization.translateOnce(\"bewerbung-edit-utils.maximaldauer-info\", [item.MaxEinsatzWochen, item.MaxEinsatzWochen == 1 ? '':'n'])\r\n : '']`\r\n };\r\n beschaeftigungVonBisTagOptions: IZitTagOptions = {\r\n cssClass: \"z--tag-info-message\",\r\n icon: {\r\n faIcon: \"fas fa-info-circle\"\r\n },\r\n textExpression: `\"bewerbung-edit-utils.beschaeftigung-info\" \r\n | tr:[globalization.format(item.BeschaeftigungVon, \"d\"), globalization.format(item.BeschaeftigungBis, \"d\")]`\r\n };\r\n mindestalterTagOptions: IZitTagOptions = {\r\n cssClass: \"z--tag-info-message\",\r\n icon: {\r\n faIcon: \"fas fa-info-circle\"\r\n },\r\n textExpression: `localization.translateOnce(\"bewerbung-edit-utils.mindestalter-info\", [item.Mindestalter])`\r\n };\r\n mindesteinsatzTagOptions: IZitTagOptions = {\r\n cssClass: \"z--tag-info-message\",\r\n icon: {\r\n faIcon: \"fas fa-info-circle\"\r\n },\r\n textExpression: `localization.translateOnce(\"bewerbung-edit-utils.mindesteinsatzWochen-info\", [item.MindesteinsatzWochen])`\r\n };\r\n maxeinsatzTagOptions: IZitTagOptions = {\r\n cssClass: \"z--tag-info-message\",\r\n icon: {\r\n faIcon: \"fas fa-info-circle\"\r\n },\r\n textExpression: `localization.translateOnce(\"bewerbung-edit-utils.maxeinsatzwochen-info\", [item.MaxEinsatzWochen])`\r\n };\r\n adresseTagOptions: IZitTagOptions = {\r\n icon: {\r\n text: \"A\"\r\n },\r\n textExpression: `item | zitAddress:\"short:street\"`\r\n };\r\n ausbildungsstartPerTagOptions: IZitTagOptions = {\r\n icon: {\r\n text: \"AD\"\r\n },\r\n textExpression: `globalization.format(item.AusbildungsstartPer, \"d\")`\r\n };\r\n unternehmenTagOptions: IZitTagOptions = {\r\n icon: {\r\n text: \"U\"\r\n },\r\n textExpression: `item.Subheadline ? item.Subheadline : item.Geschaeftspartner.Geschaeftspartnerdaten.Name1`\r\n };\r\n whatsappTagOptions: IZitTagOptions = {\r\n cssClass: \"z--button z--button-round z--button-tag\",\r\n icon: {\r\n faIcon: \"fab fa-whatsapp\"\r\n },\r\n text: \"WhatsApp-Channel aktivieren\",\r\n onClick: (e, data) => {\r\n const w: WhatsappAktivieren = this.form[\"r_whatsappAktivieren\"];\r\n w.showPopup();\r\n }\r\n };\r\n bewerbungSchnupperterminTagOptions: IZitTagOptions = {\r\n isClickEnabled: true,\r\n textExpression: \"item.SchnupperterminDatum | zitMoment:'wochenTag'\",\r\n icon: {\r\n text: \"T\"\r\n }\r\n };\r\n bewerbungPersonStatusTagOptions: IZitTagOptions = {\r\n textExpression: \"item.ObjektStatus\",\r\n icon: {\r\n faIconExpression: \"item.ObjektStatusSymbol\",\r\n backgroundColorExpression: \"item.ObjektStatusSymbolFarbe\",\r\n },\r\n backgroundColorExpression: \"item.ObjektStatusSymbolFarbe\",\r\n cssClass: \"z--tag-objekt-status-custom\"\r\n };\r\n bewerbungPersonFuehrerscheinTagOptions: IZitTagOptions = {\r\n textExpression: `item.Fuehrerscheinklasse.Bezeichnung \r\n ? item.Fuehrerscheinklasse.Bezeichnung \r\n : ' ' | zitRestrictLength:50`,\r\n icon: {\r\n textExpression: `item.Fuehrerscheinklasse.Tagtext \r\n ? item.Fuehrerscheinklasse.Tagtext : 'F'`,\r\n faIconExpression: \"item.Fuehrerscheinklasse.TagSymbol ? item.Fuehrerscheinklasse.TagSymbol : null\"\r\n }\r\n };\r\n bewerbungPersonGeschaeftspartnerEinsatzTagOptions: IZitTagOptions = {\r\n textExpression: `item.Jahr \r\n ? item.Geschaeftspartner.Name1 + ': ' + item.TaetigkeitAbteilung + ' (' + item.Jahr + ')'\r\n : item.Geschaeftspartner.Name1 + ': ' + item.TaetigkeitAbteilung`,\r\n icon: {\r\n text: \"BE\"\r\n }\r\n };\r\n bewerbungPersonSkillTagOptions: IZitTagOptions = {\r\n textExpression: `item.Text \r\n ? item.Skill.Bezeichnung + ': ' + item.Text \r\n : item.Skill.Bezeichnung | zitRestrictLength:50`,\r\n icon: {\r\n textExpression: \"!item.Skill.TagSymbol ? 'S/H':''\",\r\n faIconExpression: \"item.Skill.TagSymbol\"\r\n }\r\n };\r\n bewerbungPersonKontaktTagOptions: IZitTagOptions = {\r\n icon: {\r\n faIconExpression: \"item.Kontakttyp.TagSymbol ? item.Kontakttyp.TagSymbol : item.Kontakttyp.Bezeichnung\",\r\n textExpression: `item.Kontakttyp \r\n ? item.Kontakttyp.TagSymbol\r\n ? item.Kontakttyp.TagText \r\n : item.Kontakttyp.Bezeichnung\r\n ? item.Kontakttyp.Bezeichnung[0] \r\n : \"K\"\r\n : \"K\"`\r\n },\r\n textExpression: `item.Wert1 \r\n ? item.Wert2\r\n ? item.Wert1 + \" \" + item.Wert2\r\n : item.Wert1\r\n : \"\"`,\r\n infoList: [{\r\n isVisibleExpression: \"item.Wichtig\",\r\n icon: {\r\n faIcon: \"fas fa-exclamation\"\r\n }\r\n }]\r\n };\r\n bewerbungPersonBerufTagOptions: IZitTagOptions = {\r\n textExpression: `item.Beruf.Bezeichnung && item.Erfahrungsjahre && item.ZuletztTaetig\r\n ? item.Beruf.Bezeichnung + ' | EJ: ' + item.Erfahrungsjahre + ' | ZT: ' + item.ZuletztTaetig\r\n : item.Erfahrungsjahre\r\n ? item.Beruf.Bezeichnung + ' | EJ: ' + item.Erfahrungsjahre\r\n : item.ZuletztTaetig\r\n ? item.Beruf.Bezeichnung + ' | ZT: ' + item.ZuletztTaetig\r\n : item.Beruf.Bezeichnung`,\r\n icon: {\r\n text: \"B\"\r\n },\r\n infoList: [{\r\n isVisibleExpression: \"item.IdBerufQualifikation\",\r\n icon: {\r\n textExpression: \"item.BerufQualifikation.TagText ? item.BerufQualifikation.TagText : null\",\r\n faIconExpression: \"item.BerufQualifikation.TagSymbol ? item.BerufQualifikation.TagSymbol : null\"\r\n }\r\n },\r\n {\r\n isVisibleExpression: \"item.IdAusbildungAbschluss\",\r\n icon: {\r\n faIconExpression: \"item.AusbildungAbschluss.TagSymbol ? item.AusbildungAbschluss.TagSymbol : null\"\r\n }\r\n }]\r\n };\r\n zugeteilteSchnupperterminTagOptions: IZitTagOptions = {\r\n isClickEnabled: true,\r\n textExpression: \"item.Bezeichnung\",\r\n icon: {\r\n text: \"E\"\r\n },\r\n onClick: (e, data) => {\r\n this._locationService.goTo({\r\n url: `#Objekte/EventTeilnehmer/${data.IdEventTeilnehmer}`\r\n });\r\n }\r\n };\r\n abschliessenCommand: ICommandData = {\r\n id: \"abschliessenCommand\",\r\n icon: \"fas fa-check\",\r\n tooltip: \"bewerbung-edit-utils.abschliessen\",\r\n sortIndex: 1600,\r\n execute: () => {\r\n this.onBewerbungAbschliessen();\r\n }\r\n };\r\n actionCommand: ICommandData = {\r\n id: \"actionCommand\",\r\n icon: \"fas fa-share-alt\",\r\n tooltip: \"zit.aktionen\",\r\n sortIndex: 99,\r\n isVisibleExpression: \"r_share.canShare\",\r\n execute: (executeOptions) => {\r\n const share: Share = this.form[\"r_share\"];\r\n share.showCtxMenu(executeOptions.event);\r\n }\r\n };\r\n bewerbungEinsatzbereichCommand: ICommandData = {\r\n id: \"bewerbungEinsatzbereichCommand\",\r\n tooltip: \"bewerbung-edit-utils.uebernehmen\",\r\n icon: \"fas fa-check\",\r\n sortIndex: 1600,\r\n execute: () => {\r\n this.onBewerbungEinsatzbereichPrüfen();\r\n }\r\n };\r\n statusAendernPopupCommand: ICommandData = {\r\n id: \"statusAenderPopupCommand\",\r\n icon: \"fas fa-pencil-alt\",\r\n title: \"bewerbung-edit-utils.status-aendern-popup\",\r\n isVisibleExpression: \"functions.$f_BewerbungEditUtils.isStatusAendernVisible\",\r\n sortIndex: 450,\r\n execute: () => {\r\n const statusAendern: StatusAendern = this.form[\"r_statusAendern\"];\r\n this.selectedKeys = this.getSelectedKeys();\r\n statusAendern.showPopup(this.onStatusGeaendert.bind(this));\r\n }\r\n };\r\n personToolbarOptions: IZitToolbarOptions = {\r\n title: \"bewerbung-edit-utils.person-toolbar-title\",\r\n smallToolbar: true,\r\n items: [{\r\n id: \"bewerbungPersonCommand\",\r\n icon: \"fas fa-pencil-alt\",\r\n execute: (e) => {\r\n this._locationService.goTo({\r\n url: `#Objekte/Person/${this.form.models.data.$m_Bewerbung.Kopf.Person.Id}?mode=1`\r\n });\r\n }\r\n }]\r\n }; \r\n\r\n trainerTagOptions: IZitTagOptions = {\r\n icon: {\r\n textExpression: \"item.Ansprechperson.FunktionTagText\"\r\n },\r\n textExpression: \"item.Ansprechperson.Titel\",\r\n infoList: [{\r\n backgroundColorExpression: \"item.IsGueltig ? 'green' : 'red'\",\r\n color: \"transparent\",\r\n icon: {\r\n faIcon: \"fas fa-circle\"\r\n }\r\n }, {\r\n icon: {\r\n faIcon: \"fas fa-pencil-alt\"\r\n },\r\n onClick: (ev, data) => {\r\n ev.preventDefault();\r\n ev.stopPropagation();\r\n\r\n this.trainerEdit(data);\r\n }\r\n }],\r\n onClick: (_, data) => {\r\n this._locationService.goTo({\r\n url: `Objekte/Ansprechperson/${data.IdAnsprechperson}`,\r\n currentViewModel: this.form\r\n })\r\n }\r\n }\r\n\r\n @computedFrom(\"canChangeStatus\")\r\n get isStatusAendernVisible() {\r\n return this.startup.startupInfo.Benutzer.CanStatusAendern\r\n && this.canChangeStatus\r\n && !this._browserService.isMobile;\r\n }\r\n\r\n @computedFrom(\"form.models.data.$m_Bewerbung\")\r\n get canChangeStatus(): boolean {\r\n if (!this.form.models.data.$m_Bewerbung) {\r\n return true;\r\n }\r\n\r\n return !!this.form.models.data.$m_Bewerbung._CanChangeObjektStatus;\r\n }\r\n\r\n @computedFrom(\"form.models.data.$m_Bewerbung.CanSave\")\r\n get canUpdateTrainer() {\r\n if (this.startup.startupInfo.Benutzer.Benutzertyp == BenutzerTyp.NatuerlichePerson) {\r\n return false;\r\n }\r\n\r\n if (!this.form.models.data.$m_Bewerbung) {\r\n return false;\r\n }\r\n if (!this.form.models.data.$m_Bewerbung.CanSave) {\r\n return false;\r\n }\r\n\r\n return true;\r\n }\r\n\r\n bind(form: FormBase) {\r\n this.form = form;\r\n form.models.onLoaded.register((args) => {\r\n if (args.model && args.model.id == \"$m_Bewerbung\" && args.data) {\r\n this.updateTrainerTagDeleteClick();\r\n this.getArbeitsbewilligung();\r\n args.data[\"_showSchnupperLehre\"] = this.getSchnupperLehre(args.data);\r\n\r\n this.isGeschaeftspartnerSchule = args.data.Id \r\n && args.data.Kopf \r\n && args.data.Kopf.Stelleninserat\r\n && args.data.Kopf.Stelleninserat.Kopf\r\n && args.data.Kopf.Stelleninserat.Kopf.Geschaeftspartner\r\n && args.data.Kopf.Stelleninserat.Kopf.Geschaeftspartner.Geschaeftspartnerdaten\r\n && args.data.Kopf.Stelleninserat.Kopf.Geschaeftspartner.Geschaeftspartnerdaten.IsGeschaeftspartnerSchule;\r\n }\r\n\r\n return Promise.resolve();\r\n });\r\n\r\n form.models.onSaved.register((args) => {\r\n if (args.model.id !== \"$m_Bewerbung\") {\r\n return;\r\n }\r\n const data = args.data;\r\n\r\n if (data.Kopf\r\n && data.Kopf.Stelleninserat\r\n && data.Kopf.Stelleninserat.FerialbewerbungFragebogen\r\n && data.Kopf.Stelleninserat.FerialbewerbungFragebogen.Einsatzbereich\r\n && data.Kopf.Einsatzbereiche\r\n && data.Kopf.Einsatzbereiche.length === 0) {\r\n this.form[\"r_bewerbungEinsatzbereichPopup\"].instance.show()\r\n } else if (data.Kopf\r\n && data.Kopf.Stelleninserat\r\n && (!data.Kopf.Stelleninserat.FerialbewerbungFragebogen\r\n || !data.Kopf.Stelleninserat.FerialbewerbungFragebogen.Einsatzbereich\r\n || !data.Kopf.Einsatzbereiche || data.Kopf.Einsatzbereiche.length > 0)) {\r\n const popup = this.form[\"r_bewerbungAbgeschlossenPopup\"];\r\n if (!popup || !popup.instance) {\r\n return;\r\n }\r\n\r\n popup.instance.show()\r\n }\r\n return Promise.resolve();\r\n });\r\n\r\n form.onEditorValueChanged.register(async (args) => {\r\n if (args.binding.dataContext === \"$m_Bewerbung\") {\r\n if (args.binding.bindTo === \"Kopf.IdStelleninserat\") {\r\n this.form.models.data.$m_Bewerbung.Kopf.Stelleninserat = await this.loadStelleninseratData(args.value);\r\n }\r\n if (args.binding.bindTo === \"Kopf.IdPerson\") {\r\n this.form.models.data.$m_Bewerbung.Kopf.Person = await this.loadPersonData(args.value);\r\n }\r\n }\r\n return Promise.resolve();\r\n });\r\n\r\n if (this.startup.startupInfo.Benutzer.Benutzertyp == BenutzerTyp.NatuerlichePerson) {\r\n this.form.callOnBind(() => {\r\n if (this.form[\"r_geschaeftspartnerPersonalNrOptions\"]) {\r\n this.form[\"r_geschaeftspartnerPersonalNrOptions\"].readOnly = true;\r\n }\r\n });\r\n }\r\n }\r\n\r\n getSchnupperLehre(data: any): boolean {\r\n if (data.Kopf.Stelleninserat && data.Kopf.Stelleninserat.Kopf.CanSchnuppertermin) {\r\n return true;\r\n }\r\n if (data.Kopf.IsBewerbungSchnuppertermin || data.Kopf.IsBewerbungLehrstelle) {\r\n return true;\r\n }\r\n\r\n return false;\r\n }\r\n\r\n getArbeitsbewilligung() {\r\n return this._restService.get({\r\n url: `${this._restService.getApiUrl(\"ZIT/Stammdaten/ArbeitsbewilligungVorhanden?idBewerbung\")}=${this.form.models.data.$m_Bewerbung.Id}`,\r\n }).then((r) => {\r\n this.isArbeitsbewilligungVorhanden = r;\r\n });\r\n }\r\n isAnsichtDesktop() {\r\n return !this._browserService.isMobile;\r\n }\r\n\r\n onTrainerAddClick() {\r\n if (!this.form.models.data.$m_Bewerbung.Kopf.Stelleninserat) {\r\n DevExpress.ui.notify(\"Bitte zuerst Stelleninserat auswählen und speichern\", \"error\", 3000);\r\n return;\r\n }\r\n\r\n this.trainerEdit();\r\n }\r\n async onBenachrichtigungsartClick() {\r\n const idPerson = this.form.models.data.$m_Bewerbung?.Kopf?.IdPerson;\r\n if (!idPerson) return;\r\n \r\n const info = await this._nachrichtService.getBenutzerFromObjekt(\r\n \"TIP.ZIT.Business.Entities.Objekte.Personen.Person\",\r\n idPerson\r\n );\r\n\r\n if (!info) return;\r\n\r\n this._nachrichtService.goToNachrichtList(info, this.form);\r\n }\r\n\r\n private getFerialEinstellungen() {\r\n const data = this.form.models.data.$m_Bewerbung;\r\n const einstellungen = data.Kopf.Stelleninserat && data.Kopf.Stelleninserat.FerialeinsatzEinstellungen\r\n ? data.Kopf.Stelleninserat.FerialeinsatzEinstellungen\r\n : undefined;\r\n\r\n return einstellungen;\r\n }\r\n private goToDashboard() {\r\n this._locationService.goTo({\r\n url: \"ZIT/Home/Index\",\r\n clearStack: true,\r\n replace: true\r\n });\r\n }\r\n private trainerEdit(d?: any) { \r\n const initialData: any = {\r\n gueltigVon: moment().startOf(\"day\").toDate(),\r\n gueltigBis: moment(new Date(2099, 11, 31)).startOf(\"day\").toDate()\r\n };\r\n\r\n if (d) {\r\n initialData.gueltigVon = d.GueltigVon;\r\n initialData.gueltigBis = d.GueltigBis;\r\n initialData.item = d.Ansprechperson;\r\n }\r\n\r\n this._formPopupService.formPopup.show({\r\n titel: this._localizationService.translateOnce(\"zit.trainer\"),\r\n data: initialData,\r\n formDef: \"ansprechpersonMitGueltigkeit\",\r\n webApiFilters: [{\r\n webApiCustomKey: \"IdGeschaeftspartner\",\r\n webApiCustomValue: this.form.models.data.$m_Bewerbung.Kopf.Stelleninserat.Kopf.IdGeschaeftspartner\r\n }],\r\n onFormSubmit: (data) => {\r\n if (!this.form.models.data.$m_Bewerbung.Kopf.BewerbungTrainer) {\r\n this.form.models.data.$m_Bewerbung.Kopf.BewerbungTrainer = [];\r\n }\r\n\r\n const u = {\r\n IdAnsprechperson: data.item.Id,\r\n Ansprechperson: {\r\n Id: data.item.Id,\r\n Titel: data.item.Titel,\r\n FunktionTagText: data.item.FunktionTagText\r\n },\r\n GueltigVon: data.gueltigVon,\r\n GueltigBis: data.gueltigBis,\r\n IsGueltig: data.gueltigVon.getTime() <= new Date().getTime() \r\n && data.gueltigBis.getTime() >= new Date().getTime()\r\n };\r\n\r\n if (d) {\r\n Object.assign(d, u);\r\n } else {\r\n const exists = this.form.models.data.$m_Bewerbung.Kopf.BewerbungTrainer.some(t => t.IdAnsprechperson == data.item.Id);\r\n if (exists) {\r\n return;\r\n }\r\n\r\n this.form.models.data.$m_Bewerbung.Kopf.BewerbungTrainer.push(u);\r\n }\r\n\r\n this._modelUtilsService.setDirty(this.form.models.data.$m_Bewerbung);\r\n }\r\n });\r\n }\r\n\r\n private onBewerbungEinsatzbereichPrüfen() {\r\n const bewerbungEinsatzbereichPopup: IdxPopupComponent = this.form[\"r_bewerbungEinsatzbereichPopup\"];\r\n bewerbungEinsatzbereichPopup.instance.hide();\r\n }\r\n private onBewerbungAbschliessen() {\r\n const bewerbungAbgeschlossenPopup: IdxPopupComponent = this.form[\"r_bewerbungAbgeschlossenPopup\"];\r\n bewerbungAbgeschlossenPopup.instance.hide();\r\n this.goToDashboard();\r\n }\r\n\r\n private validateMindesteinsatz(vonDate: Date, bisDate: Date): boolean {\r\n const einstellungen = this.getFerialEinstellungen();\r\n if (!einstellungen) {\r\n return true;\r\n }\r\n const von = moment(vonDate).startOf(\"day\");\r\n const bis = moment(bisDate).startOf(\"day\");\r\n const totalWunschTage = bis.diff(von, \"days\") + 1;\r\n\r\n let minTage = einstellungen.MindesteinsatzWochen * 5;\r\n\r\n minTage += 2 * einstellungen.MindesteinsatzWochen;\r\n\r\n if (von.weekday() == 1) {\r\n minTage -= 2\r\n }\r\n\r\n return totalWunschTage >= minTage;\r\n }\r\n private validateMindestAlter(mindestAb: moment.Moment, mindestAlter: number): boolean {\r\n if (!mindestAb) {\r\n return true;\r\n }\r\n\r\n const noPersonSelected = this.form.models.data.$m_Bewerbung.Kopf.IdPerson == void 0;\r\n if (noPersonSelected) {\r\n return true;\r\n }\r\n const geborenAm = this.form.models.data.$m_Bewerbung.Kopf.Person.Personendaten.Geburtsdatum;\r\n if (!geborenAm || !mindestAb || !mindestAlter) {\r\n return true;\r\n }\r\n\r\n const gebDatum = moment(geborenAm).startOf(\"day\");\r\n\r\n return mindestAb.diff(gebDatum, \"years\") >= mindestAlter;\r\n }\r\n\r\n private loadPersonData(idPerson: number): Promise {\r\n if (!idPerson) {\r\n return;\r\n }\r\n\r\n const getOptions = { expand: { Personendaten: null } };\r\n\r\n return this._personService.getPerson(idPerson, getOptions);\r\n }\r\n private loadStelleninseratData(idStelleninserat: number): Promise {\r\n if (!idStelleninserat) {\r\n return;\r\n }\r\n\r\n const getOptions = { expand: { FerialbewerbungFragebogen: null, Kopf: null, FerialeinsatzEinstellungen: null } };\r\n\r\n return this._stelleninseratService.getStelleninserat(idStelleninserat, getOptions);\r\n }\r\n private onStatusGeaendert(r: IStatusChangeResultData) {\r\n if (!r.IsValid) {\r\n DevExpress.ui.dialog.alert(r.Message, this._localizationService.translateOnce(\"bewerbung-edit-utils.fehler\"));\r\n } else {\r\n this.form.models.reloadAll();\r\n }\r\n }\r\n private getSelectedKeys(): number[] {\r\n let selectedRowKeys: any[];\r\n\r\n if (this.form.models.data.$m_Bewerbung) {\r\n return [this.form.models.data.$m_Bewerbung.Id];\r\n } else {\r\n return [];\r\n }\r\n }\r\n private updateTrainerTagDeleteClick() {\r\n if (this.canUpdateTrainer) {\r\n this.trainerTagOptions.onDeleteClick = (_, data) => {\r\n const index = this.form.models.data.$m_Bewerbung.Kopf.BewerbungTrainer.indexOf(data);\r\n if (index < 0) {\r\n return;\r\n }\r\n\r\n this.form.models.data.$m_Bewerbung.Kopf.BewerbungTrainer.splice(index, 1);\r\n this._modelUtilsService.setDirty(this.form.models.data.$m_Bewerbung);\r\n };\r\n } else {\r\n delete this.trainerTagOptions.onDeleteClick;\r\n }\r\n }\r\n}\r\n","import { autoinject } from \"aurelia-framework\";\r\n\r\n@autoinject\r\nexport class ObjectService {\r\n constructor() {}\r\n\r\n mergeDeep(target, ...sources) {\r\n if (!sources.length) {\r\n return target\r\n }\r\n\r\n const source = sources.shift();\r\n if (this.isObject(target) && this.isObject(source)) {\r\n for (const key in source) {\r\n if (this.isObject(source[key])) {\r\n if (!target[key]) {\r\n Object.assign(target, { [key]: {} });\r\n }\r\n\r\n this.mergeDeep(target[key], source[key]);\r\n } else {\r\n Object.assign(target, { [key]: source[key] });\r\n }\r\n }\r\n }\r\n \r\n return this.mergeDeep(target, ...sources);\r\n }\r\n isObject(item) {\r\n return (item \r\n && typeof item === \"object\"\r\n && !Array.isArray(item));\r\n }\r\n\r\n getValue(obj: any, propertyName: string): any {\r\n const tokens = propertyName.split(\".\");\r\n\r\n for (let i = 0; i < tokens.length; i++) {\r\n const token = tokens[i];\r\n\r\n if (i + 1 === tokens.length) {\r\n return obj[token];\r\n } \r\n\r\n obj = obj[token];\r\n if (!obj) {\r\n return;\r\n }\r\n }\r\n\r\n return null;\r\n }\r\n setValue(obj: any, propertyName: string, value: any, createObjectIfMissing: boolean = false) {\r\n const tokens = propertyName.split(\".\");\r\n\r\n for (let i = 0; i < tokens.length; i++) {\r\n const token = tokens[i];\r\n\r\n if (i + 1 === tokens.length) {\r\n obj[token] = value;\r\n } else {\r\n let newObj = obj[token];\r\n\r\n if (newObj == void(0)) {\r\n if (createObjectIfMissing) {\r\n newObj = {};\r\n obj[token] = newObj;\r\n } else {\r\n return;\r\n }\r\n }\r\n\r\n obj = newObj;\r\n }\r\n }\r\n }\r\n}\r\n","import { autoinject } from 'aurelia-framework';\r\nimport { RestService } from './../../framework/base/services/export';\r\n\r\n@autoinject\r\nexport class GeschaeftspartnerService {\r\n constructor(\r\n private rest: RestService\r\n ) { }\r\n\r\n saveGruppierung(data: any) {\r\n return this.rest.post({\r\n url: this.rest.getWebApiUrl(\"ZIT/Stammdaten/GeschaeftspartnerGruppierung\"),\r\n data: data,\r\n increaseLoadingCount: true\r\n });\r\n }\r\n saveEntlohnungsschema(data: any) {\r\n return this.rest.post({\r\n url: this.rest.getWebApiUrl(\"ZIT/Stammdaten/Entlohnungsschema\"),\r\n data: data,\r\n increaseLoadingCount: true\r\n });\r\n }\r\n deleteEntlohnungsschema(id: number) {\r\n return this.rest.delete({\r\n url: this.rest.getWebApiUrl(\"ZIT/Stammdaten/Entlohnungsschema\"),\r\n id: id,\r\n increaseLoadingCount: true\r\n });\r\n }\r\n deleteGruppierung(id: number) {\r\n return this.rest.delete({\r\n url: this.rest.getWebApiUrl(\"ZIT/Stammdaten/GeschaeftspartnerGruppierung\"),\r\n id: id,\r\n increaseLoadingCount: true\r\n });\r\n }\r\n}\r\n","import { autoinject } from \"aurelia-framework\";\r\nimport { FormPopup } from '../elements/form-popup/form-popup';\r\n\r\n@autoinject\r\nexport class FormPopupService {\r\n constructor() {}\r\n\r\n formPopup: FormPopup;\r\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\";\r\nimport { LocalizationService, RestService } from \"../../../framework/base/export\";\r\nimport { DialogConfirmService, FormBase, ICommandData } from \"../../../framework/forms/export\";\r\nimport { SchnupperterminErstellen } from \"../../elements/schnuppertermin-erstellen/schnuppertermin-erstellen\";\r\nimport { IdxPopupComponent, IdxValidationGroupComponent } from \"../../interfaces/export\";\r\nimport { StartupService } from \"../../services/export\";\r\nimport { NachrichtService } from \"./../../services/nachricht-service\";\r\n\r\n@autoinject\r\n@transient()\r\nexport class SchnupperterminAnlageGpUtils {\r\n private NOTIFY_TIMEOUT: number = 3000;\r\n\r\n constructor(\r\n public startupService: StartupService,\r\n private _restService: RestService,\r\n private _dialogConfirmService: DialogConfirmService,\r\n private _localizationService: LocalizationService,\r\n private _nachrichtService: NachrichtService\r\n ) {\r\n this.isKundeSchule = startupService.startupInfo.Benutzer.CodeBenutzerrolle == \"ADMIN\"\r\n || startupService.startupInfo.Benutzer.CodeBenutzerrolle == \"KUNDE-SCHULE\";\r\n }\r\n\r\n isKundeSchule: boolean = false;\r\n model: any;\r\n form: FormBase;\r\n\r\n aehnlicheGpList: any[] = [];\r\n\r\n anlageGpCommand: ICommandData = {\r\n id: \"anlageGpCommand\",\r\n icon: \"fas fa-plus\",\r\n sortIndex: 9000,\r\n isVisibleExpression: \"functions.$f_SchnupperterminAnlageGpUtils.isKundeSchule\",\r\n execute: async() => {\r\n this.resetModel();\r\n this.aehnlicheGpList = [];\r\n\r\n const r = await this._restService.get({\r\n url: this._restService.getApiUrl(\"ZIT/Stammdaten/AnlageGpStelleninseratRequest\"),\r\n increaseLoadingCount: true\r\n });\r\n\r\n if (r) {\r\n if (r.Landvorwahl) {\r\n this.model.Vorwahl = r.Landvorwahl;\r\n this.model.ApVorwahl = r.Landvorwahl;\r\n this.model.ApMobilVorwahl = r.Landvorwahl;\r\n }\r\n if (r.IdLand) {\r\n this.model.IdLand = r.IdLand;\r\n }\r\n }\r\n\r\n const popup: IdxPopupComponent = this.form[\"r_gpAnlage\"];\r\n popup.instance.show();\r\n }\r\n };\r\n saveGpCommand: ICommandData = {\r\n id: \"saveGpCommand\",\r\n icon: \"fas fa-save\",\r\n sortIndex: 9000,\r\n execute: async() => {\r\n const validationGroup: IdxValidationGroupComponent = this.form[\"r_gpValidationGroup\"];\r\n const validationResult = validationGroup.instance.validate();\r\n\r\n if (!validationResult || !validationResult.isValid) {\r\n DevExpress.ui.notify(\r\n validationResult.brokenRules[0].message,\r\n \"ERROR\",\r\n this.NOTIFY_TIMEOUT\r\n );\r\n\r\n return;\r\n }\r\n\r\n const r = await this._restService.post({\r\n url: this._restService.getApiUrl(\"ZIT/Stammdaten/AnlageGpStelleninserat\"),\r\n data: this.model,\r\n increaseLoadingCount: true\r\n });\r\n\r\n if (r.IdStelleninserat) {\r\n const dialogResult = await this._dialogConfirmService.show({\r\n title: this._localizationService.translateOnce(\"base.question\"),\r\n message: this._localizationService.translateOnce(\"schnuppertermin.frage-schnuppertermin-erstellen\")\r\n });\r\n\r\n if (dialogResult) {\r\n const schnupperterminErstellen: SchnupperterminErstellen = this.form[\"r_schnupperterminErstellenElement\"];\r\n schnupperterminErstellen.show({\r\n idStelleninserat: r.IdStelleninserat\r\n });\r\n }\r\n }\r\n\r\n const popup: IdxPopupComponent = this.form[\"r_gpAnlage\"];\r\n popup.instance.hide();\r\n }\r\n };\r\n\r\n bind(form: FormBase) {\r\n this.form = form;\r\n this.resetModel();\r\n\r\n form.callOnBind(() => {\r\n const strasseOptions: DevExpress.ui.dxTextBoxOptions = form[\"r_gpStrasseOptions\"];\r\n strasseOptions.onValueChangedByUser = () => this.checkAehnlicheGeschaeftspartner();\r\n\r\n const plzOptions: DevExpress.ui.dxTextBoxOptions = form[\"r_gpPlzOptions\"];\r\n plzOptions.onValueChangedByUser = () => this.checkAehnlicheGeschaeftspartner();\r\n });\r\n }\r\n\r\n onNachrichtErstellenTeamClick() {\r\n this._nachrichtService.doNachrichtErstellenFromObjekt([{\r\n IdObjekt: 0,\r\n IdObjektRef: 0\r\n }], \"TIP.ZIT.Business.Entities.Objekte.Ansprechpersonen.Ansprechperson\");\r\n }\r\n\r\n private async checkAehnlicheGeschaeftspartner() {\r\n this.aehnlicheGpList = [];\r\n\r\n if (!this.model.Strasse || !this.model.Plz) {\r\n return;\r\n }\r\n\r\n const r = await this._restService.post({\r\n url: this._restService.getApiUrl(\"ZIT/Stammdaten/GeschaeftspartnerAehnlich\"),\r\n data: {\r\n Strasse: this.model.Strasse,\r\n Plz: this.model.Plz\r\n }\r\n });\r\n\r\n if (r && r.ItemList) {\r\n this.aehnlicheGpList = r.ItemList;\r\n }\r\n }\r\n private resetModel() {\r\n this.model = {\r\n ApTeam: \"Personalabteilung\"\r\n };\r\n }\r\n}\r\n","import {\r\n autoinject\r\n} from \"aurelia-framework\";\r\nimport {\r\n EventAggregator\r\n} from \"aurelia-event-aggregator\";\r\nimport {\r\n ViewItem\r\n} from \"../classes/view-item\";\r\nimport {\r\n LocalizationService\r\n} from \"../../base/services/export\";\r\nimport * as Interfaces from \"../interfaces/export\";\r\nimport { FormBase } from '../classes/form-base';\r\nimport { IHistoryState } from '../export';\r\nimport { TemplatingExService } from '../../base/services/templating-ex-service';\r\nimport { INavigationRoute } from '../interfaces/export';\r\n\r\n@autoinject\r\nexport class RouterService {\r\n private routes: Interfaces.IRoute[] = [];\r\n private fallbackRoute: string;\r\n private routeInfoId = 0;\r\n\r\n constructor(\r\n private localization: LocalizationService,\r\n private eventAggregator: EventAggregator,\r\n private templatingExService: TemplatingExService\r\n ) {\r\n this.registerAppChanging();\r\n this.registerShortcuts();\r\n this.registerTitleChanged();\r\n }\r\n\r\n navigationRoutes: Interfaces.INavigationRoute[];\r\n viewStack: ViewItem[] = [];\r\n currentViewItem: ViewItem;\r\n\r\n constructUrl(route: Interfaces.IRoute, parameters: any): string {\r\n let url = Array.isArray(route.route)\r\n ? route.route[0]\r\n : route.route;\r\n\r\n for (let parameter in parameters) {\r\n url = url.replace(new RegExp(`/:${parameter}`), `/${parameters[parameter]}`)\r\n }\r\n\r\n return url;\r\n }\r\n async canDeactivateCurrentView(): Promise {\r\n if (!this.currentViewItem || !this.currentViewItem.controller) {\r\n return true;\r\n }\r\n\r\n const currentViewModel = this.currentViewItem.controller[\"currentViewModel\"];\r\n if (currentViewModel && typeof currentViewModel.handleChangedData === \"function\") {\r\n const result = await currentViewModel.handleChangedData();\r\n\r\n return result == void (0) || result;\r\n } else {\r\n return true;\r\n }\r\n }\r\n deactivate() {\r\n }\r\n existsNavigationRoute(url: string) {\r\n return this.navigationRoutes.some(r => {\r\n return this.existsNavigationRouteEx(url, r);\r\n })\r\n }\r\n getCurrentHistoryState(): IHistoryState {\r\n if (!this.currentViewItem) {\r\n return null;\r\n }\r\n\r\n return {\r\n id: this.currentViewItem.model.routeInfo.id,\r\n url: this.currentViewItem.model.routeInfo.url,\r\n caption: this.currentViewItem.title\r\n }\r\n }\r\n getRoute(url: string): Interfaces.IRouteInfo {\r\n const indexQuestionMark = url.indexOf(\"?\");\r\n const defaultParameters = {};\r\n if (indexQuestionMark >= 0) {\r\n url = url.substr(0, indexQuestionMark);\r\n }\r\n\r\n const searchRouteInfo = (routes: Interfaces.IRoute[]) => {\r\n for (const route of routes) {\r\n const routeInfo = this.isRoute(route, url)\r\n || searchRouteInfo(route.children);\r\n\r\n if (routeInfo == void (0)) {\r\n continue;\r\n }\r\n\r\n return routeInfo;\r\n }\r\n\r\n return null;\r\n }\r\n\r\n const routeInfo = searchRouteInfo(this.routes);\r\n if (routeInfo != void (0)) {\r\n return routeInfo;\r\n }\r\n\r\n const fallbackRoute = this.getFallbackRoute();\r\n const route = Array.isArray(fallbackRoute.route)\r\n ? fallbackRoute.route[0]\r\n : fallbackRoute.route;\r\n\r\n return {\r\n id: this.routeInfoId++,\r\n route: fallbackRoute,\r\n parameters: {},\r\n url: route,\r\n isFallback: true\r\n };\r\n }\r\n hasRouteWithId(id: number): boolean {\r\n return this.viewStack.some(v => {\r\n return v.model.routeInfo.id == id;\r\n });\r\n }\r\n async navigate(navigationArgs: Interfaces.INavigationArgs): Promise {\r\n if (navigationArgs.clearStack || navigationArgs.replace) {\r\n const canDeactivate = await this.canDeactivateCurrentView();\r\n\r\n if (!canDeactivate) {\r\n return false;\r\n }\r\n }\r\n\r\n const routeInfo = this.getRoute(navigationArgs.url);\r\n if (routeInfo == void (0)) {\r\n return false;\r\n }\r\n\r\n routeInfo.setValuesOnModelWithKeyIdLoaded = navigationArgs.setValuesOnModelWithKeyIdLoaded;\r\n routeInfo.customOptions = navigationArgs.customOptions;\r\n\r\n const routerInterceptorArgs = {\r\n routeInfo: routeInfo,\r\n moduleIdPromise: >null\r\n };\r\n\r\n Object.assign(routeInfo.parameters, this.getParameters(navigationArgs.url));\r\n \r\n if (navigationArgs.historyState) {\r\n routeInfo.id = navigationArgs.historyState.id;\r\n }\r\n \r\n this.eventAggregator.publish(\"router:intercept-route\", routerInterceptorArgs);\r\n\r\n let moduleId = routeInfo.route.moduleId;\r\n if (routerInterceptorArgs.moduleIdPromise) {\r\n moduleId = await routerInterceptorArgs.moduleIdPromise;\r\n if (!moduleId) {\r\n return false;\r\n }\r\n }\r\n\r\n const routerCanNavigateArgs = {\r\n routeInfo: routeInfo,\r\n moduleId: moduleId,\r\n cancel: false\r\n };\r\n\r\n this.eventAggregator.publish(\"router:can-navigate\", routerCanNavigateArgs);\r\n if (routerCanNavigateArgs.cancel) {\r\n return false;\r\n }\r\n\r\n navigationArgs.routeInfo = routeInfo;\r\n\r\n if (navigationArgs.clearStack) {\r\n this.viewStack.splice(0, this.viewStack.length);\r\n } else if (this.viewStack.length > 1 && this.viewStack[this.viewStack.length - 2].model.routeInfo.id === routeInfo.id) {\r\n this.removeLastViewItem();\r\n navigationArgs.didReplace = true;\r\n return true;\r\n } else if (this.viewStack.length > 0 && navigationArgs.replace) {\r\n this.viewStack.splice(this.viewStack.length - 1, 1);\r\n navigationArgs.didReplace = true;\r\n }\r\n\r\n const newViewItem = new ViewItem({\r\n routeInfo: routeInfo,\r\n moduleId: moduleId,\r\n viewScrollInfo: navigationArgs.viewScrollInfo\r\n });\r\n this.addViewItem(newViewItem);\r\n\r\n this.eventAggregator.publish(\"router:view-item-created\", {\r\n viewItem: newViewItem\r\n });\r\n\r\n return true;\r\n }\r\n registerRoutes(routes: Interfaces.IRoute[], fallbackRoute: string) {\r\n routes = routes || [];\r\n\r\n this.routes = this.validateRoutes(routes);\r\n this.fallbackRoute = fallbackRoute;\r\n\r\n this.navigationRoutes = this.getNavigationRoutes(routes);\r\n }\r\n reset() {\r\n this.viewStack.splice(0, this.viewStack.length);\r\n this.navigationRoutes = [];\r\n }\r\n removeLastViewItem() {\r\n const length = this.viewStack.length;\r\n const view = this.viewStack[length - 1];\r\n this.viewStack.splice(length - 1);\r\n \r\n this.setCurrentViewItem();\r\n\r\n if (this.currentViewItem) {\r\n const currentViewModel = this.currentViewItem.controller[\"currentViewModel\"];\r\n if (currentViewModel && typeof currentViewModel.reactivate === \"function\") {\r\n currentViewModel.reactivate();\r\n }\r\n }\r\n\r\n this.eventAggregator.publish(\"router:view-item-removed\", {\r\n viewItem: view\r\n });\r\n }\r\n updateCurrentUrl(url: string) {\r\n const canUpdateUrl = this.currentViewItem\r\n && this.currentViewItem.model\r\n && this.currentViewItem.model.routeInfo;\r\n\r\n if (!canUpdateUrl) {\r\n return;\r\n }\r\n\r\n this.currentViewItem.model.routeInfo.url = url;\r\n }\r\n\r\n private addViewItem(viewItem: ViewItem) {\r\n this.viewStack.push(viewItem);\r\n this.setCurrentViewItem();\r\n\r\n setTimeout(() => {\r\n viewItem.isAttached = true;\r\n }, 100);\r\n }\r\n private getFallbackRoute(): Interfaces.IRoute {\r\n if (!this.fallbackRoute) {\r\n return null;\r\n }\r\n\r\n const getRoute = (routes: Interfaces.IRoute[]): Interfaces.IRoute => {\r\n for (const route of routes) {\r\n if ((route.route).some(r => r === this.fallbackRoute)) {\r\n return route;\r\n }\r\n\r\n const childRoute = getRoute(route.children);\r\n if (childRoute) {\r\n return childRoute;\r\n }\r\n }\r\n };\r\n\r\n const fallbackRoute = getRoute(this.routes);\r\n if (!fallbackRoute) {\r\n throw new Error(\"Fallback route not found\");\r\n }\r\n\r\n return fallbackRoute;\r\n }\r\n private getNavigationRoutes(routes: Interfaces.IRoute[]): Interfaces.INavigationRoute[] {\r\n const result: Interfaces.INavigationRoute[] = [];\r\n\r\n for (const route of routes) {\r\n if (!route.navigation) {\r\n continue;\r\n }\r\n if (!route.canActivate()) {\r\n continue;\r\n }\r\n\r\n const navigationRoute: Interfaces.INavigationRoute = {\r\n caption: route.caption,\r\n route: route.route[0],\r\n navigation: route.navigation,\r\n children: this.getNavigationRoutes(route.children)\r\n };\r\n\r\n if (navigationRoute.route || (navigationRoute.children && navigationRoute.children.length > 0)) {\r\n result.push(navigationRoute);\r\n }\r\n }\r\n\r\n return result;\r\n }\r\n private getParameters(url: string): any {\r\n const result = {};\r\n\r\n const indexQuestionMark = url.indexOf(\"?\");\r\n if (indexQuestionMark < 0) {\r\n return result;\r\n }\r\n\r\n const parameterString = url.substr(indexQuestionMark + 1);\r\n const parameters = parameterString.split(\"&\");\r\n\r\n for (const parameter of parameters) {\r\n const parts = parameter.split(\"=\");\r\n\r\n if (parts.length == 1) {\r\n result[parts[0]] = true;\r\n } else {\r\n result[parts[0]] = parts[1];\r\n }\r\n }\r\n\r\n return result;\r\n }\r\n private isRoute(route: Interfaces.IRoute, url: string): Interfaces.IRouteInfo {\r\n if (route.route == void (0)) {\r\n return null;\r\n }\r\n\r\n if (Array.isArray(route.route)) {\r\n for (const part of route.route) {\r\n const result = this.isRoutePattern(part, url);\r\n\r\n if (result == void (0)) {\r\n continue;\r\n } else if (!route.canActivate()) {\r\n continue;\r\n } else {\r\n return {\r\n id: this.routeInfoId++,\r\n route: route,\r\n parameters: result,\r\n url: url\r\n };\r\n }\r\n }\r\n\r\n return null;\r\n } else {\r\n throw new Error()\r\n }\r\n }\r\n private isRoutePattern(route: string, url: string): any {\r\n if (!route) {\r\n return null;\r\n }\r\n\r\n const routeParts = route.split(\"/\");\r\n const urlParts = url.split(\"/\");\r\n const parameters: any = {};\r\n\r\n if (routeParts.length !== urlParts.length) {\r\n return null;\r\n }\r\n\r\n for (let i = 0; i < urlParts.length; i++) {\r\n if (routeParts[i].startsWith(\":\")) {\r\n let routePart = routeParts[i];\r\n const indexOfBracket = routePart.indexOf(\"{\");\r\n const lastIndexOfBrack = routePart.lastIndexOf(\"}\");\r\n\r\n if (indexOfBracket >= 0 && lastIndexOfBrack >= 0) {\r\n let r = routePart.substring(indexOfBracket + 1, lastIndexOfBrack);\r\n routePart = routePart.substr(0, indexOfBracket);\r\n\r\n if (!new RegExp(`^${r}$`).test(urlParts[i])) {\r\n return null;\r\n }\r\n }\r\n\r\n parameters[routePart.substr(1)] = urlParts[i];\r\n }\r\n else if (urlParts[i] !== routeParts[i]) {\r\n return null;\r\n }\r\n }\r\n\r\n return parameters;\r\n }\r\n private validateRoutes(routes: Interfaces.IRoute[]): Interfaces.IRoute[] {\r\n for (const route of routes) {\r\n if (route.route == void (0)) {\r\n route.route = \"\";\r\n }\r\n\r\n if (typeof route.route === \"string\") {\r\n route.route = [route.route];\r\n }\r\n\r\n if (route.canActivate == void (0)) {\r\n route.canActivate = () => {\r\n return true;\r\n };\r\n }\r\n\r\n route.children = route.children || [];\r\n this.validateRoutes(route.children);\r\n }\r\n\r\n return routes;\r\n }\r\n private registerAppChanging() {\r\n this.eventAggregator.subscribe(\"authorization:changing-app\", () => {\r\n this.viewStack.splice(0);\r\n });\r\n }\r\n private registerShortcuts() {\r\n this.eventAggregator.subscribe(\"shortcut:execute\", e => {\r\n if (!this.currentViewItem) {\r\n return Promise.resolve();\r\n }\r\n\r\n const args = {\r\n isOpen: false\r\n };\r\n\r\n //Muss so gemacht werden, da sonst Ringverweis\r\n this.eventAggregator.publish(\"popup-info:popup-open\", args);\r\n if (args.isOpen) {\r\n return Promise.resolve();\r\n }\r\n\r\n const currentViewModel = this.currentViewItem.controller[\"currentViewModel\"];\r\n if (!currentViewModel.executeCommand) {\r\n return;\r\n }\r\n\r\n currentViewModel.executeCommand(e.idCommand);\r\n return Promise.resolve();\r\n });\r\n }\r\n private registerTitleChanged() {\r\n this.eventAggregator.subscribe(\"form:title-changed\", (e) => {\r\n this.setFormTitle(e.form);\r\n });\r\n }\r\n private setCurrentViewItem() {\r\n let newCurrentViewItem;\r\n\r\n if (this.viewStack.length === 0) {\r\n newCurrentViewItem = null;\r\n } else {\r\n newCurrentViewItem = this.viewStack[this.viewStack.length - 1];\r\n newCurrentViewItem.isCurrent = true;\r\n\r\n if (this.viewStack.length > 1) {\r\n this.viewStack[this.viewStack.length - 2].isCurrent = false;\r\n }\r\n\r\n if (this.currentViewItem != newCurrentViewItem) {\r\n this.currentViewItem = newCurrentViewItem;\r\n\r\n this.eventAggregator.publish(\"router:current-view-item-changed\", {\r\n currentViewItem: newCurrentViewItem\r\n });\r\n }\r\n }\r\n }\r\n private async setFormTitle(form: FormBase) {\r\n if (!this.currentViewItem) {\r\n return;\r\n }\r\n\r\n const controller: any = this.currentViewItem.controller;\r\n if (!controller) {\r\n return;\r\n }\r\n\r\n const viewModel = await this.templatingExService.waitForViewModel(controller);\r\n if (!viewModel) {\r\n return;\r\n }\r\n\r\n if (viewModel != form) {\r\n return;\r\n }\r\n\r\n document.title = this.localization.translateOnce(form.title, form.scopeContainer);\r\n }\r\n private existsNavigationRouteEx(url: string, navigationRoute: INavigationRoute): boolean {\r\n if (navigationRoute.route == url) {\r\n return true;\r\n }\r\n if (!navigationRoute.children) {\r\n return false;\r\n }\r\n\r\n return navigationRoute.children.some(r => {\r\n return this.existsNavigationRouteEx(url, r);\r\n })\r\n }\r\n}\r\n","import {\r\n autoinject,\r\n Aurelia,\r\n observable,\r\n TaskQueue,\r\n} from \"aurelia-framework\";\r\nimport {\r\n RestService\r\n} from \"./rest-service\";\r\nimport config from \"../../../config\";\r\nimport { EventAggregator } from 'aurelia-event-aggregator';\r\n//TODO - Übersetzungen!\r\n@autoinject\r\nexport class AuthorizationService {\r\n private readonly X_TIP_AUTH = \"X-TIP-AUTH\";\r\n private X_TIP_AUTH_LOCAL_STORAGE = \"X-TIP-AUTH\";\r\n\r\n constructor(\r\n private rest: RestService,\r\n private aurelia: Aurelia,\r\n private eventAggregator: EventAggregator,\r\n private taskQueue: TaskQueue\r\n ) {\r\n this.X_TIP_AUTH_LOCAL_STORAGE = this.getAuthLocalStorageKey();\r\n\r\n this.rest.getAuthorizationHeader = this.getAuthorizationHeaders.bind(this);\r\n this.rest.getAuthorizationToken = this.getAuthorizationToken.bind(this);\r\n\r\n this.checkAlive();\r\n\r\n this.eventAggregator.subscribe(\"rest:unauthorized\", () => {\r\n this.isLoggedIn = false;\r\n });\r\n }\r\n\r\n @observable isLoggedIn: boolean = null;\r\n\r\n getAuthorizationKey(): string {\r\n return localStorage.getItem(this.X_TIP_AUTH_LOCAL_STORAGE);\r\n }\r\n\r\n openApp() {\r\n if (this.isLoggedIn) {\r\n return;\r\n }\r\n if (!localStorage.getItem(this.X_TIP_AUTH_LOCAL_STORAGE)) {\r\n this.isLoggedIn = false;\r\n return;\r\n }\r\n\r\n this.rest.get({\r\n url: this.rest.getApiUrl(\"base/Authorization/IsLoggedIn\"),\r\n increaseLoadingCount: true\r\n }).then(r => {\r\n this.isLoggedIn = r.IsValid;\r\n }).catch(r => {\r\n this.eventAggregator.publish(\"alert\", {\r\n message: \"Fehler bei Verbindung mit Datenserver. Bitte versuchen Sie es etwas später noch einmal\",\r\n title: \"Fehler\"\r\n });\r\n });\r\n }\r\n async login(data: any, showNotificationOnError: boolean = true): Promise {\r\n const wasLoggedIn = this.isLoggedIn;\r\n\r\n const r = await this.rest.post({\r\n url: this.rest.getApiUrl(\"base/Authorization/Login\"),\r\n data: Object.assign({ AppId: config.appId }, data),\r\n increaseLoadingCount: true\r\n });\r\n \r\n if (r.IsValid) {\r\n if (r.AuthenticationToken) {\r\n this.isLoggedIn = true;\r\n localStorage.setItem(this.X_TIP_AUTH_LOCAL_STORAGE, r.AuthenticationToken);\r\n\r\n if (wasLoggedIn) {\r\n this.taskQueue.queueMicroTask(() =>\r\n {\r\n this.isLoggedInChanged(true);\r\n })\r\n }\r\n }\r\n\r\n if (!this.isLoggedIn && r.NeedsTwoFactorAuthKey && data.TwoFactorAuthKey) {\r\n if (showNotificationOnError) {\r\n this.eventAggregator.publish(\"notify\", {\r\n message: \"Code ungültig\",\r\n type: \"error\"\r\n });\r\n }\r\n }\r\n\r\n return {\r\n isLoggedIn: this.isLoggedIn,\r\n isValid: r.isValid,\r\n needsTwoFactorAuthKey: r.NeedsTwoFactorAuthKey\r\n };\r\n }\r\n\r\n if (showNotificationOnError) {\r\n this.eventAggregator.publish(\"notify\", {\r\n message: \"Benutzer oder Passwort ungültig\",\r\n type: \"error\"\r\n });\r\n }\r\n\r\n return {\r\n isLoggedIn: false,\r\n isValid: false,\r\n needsTwoFactorAuthKey: false\r\n };\r\n }\r\n logout() {\r\n return this.rest.get({\r\n url: this.rest.getApiUrl(\"base/Authorization/Logout\"),\r\n increaseLoadingCount: true\r\n }).then(() => {\r\n this.isLoggedIn = false;\r\n localStorage.removeItem(this.X_TIP_AUTH_LOCAL_STORAGE);\r\n })\r\n }\r\n changePassword(data: any): Promise {\r\n return this.rest.post({\r\n url: this.rest.getApiUrl(\"base/Authorization/ChangePassword\"),\r\n data: data,\r\n increaseLoadingCount: true\r\n }).then(r => {\r\n this.eventAggregator.publish(\"notify\", {\r\n message: \"Passwort wurde erfolgreich geändert\",\r\n type: \"success\"\r\n });\r\n });\r\n }\r\n resetPassword(data: any): Promise {\r\n return this.rest.post({\r\n url: this.rest.getApiUrl(\"base/Authorization/ResetPassword\"),\r\n data: data,\r\n increaseLoadingCount: true\r\n }).then(r => {\r\n if (r.IsValid) {\r\n this.isLoggedIn = true;\r\n this.eventAggregator.publish(\"notify\", {\r\n message: \"Der Aktivierungslink wird in Kürze versendet\",\r\n type: \"success\"\r\n });\r\n return true;\r\n }\r\n\r\n this.eventAggregator.publish(\"notify\", {\r\n message: \"Für den angegeben Benutzernamen existiert kein Konto\",\r\n type: \"error\"\r\n });\r\n return false;\r\n });\r\n }\r\n activateAccount(data: any): Promise {\r\n return this.rest.post({\r\n url: this.rest.getApiUrl(\"base/Authorization/ActivateAccount\"),\r\n data: data,\r\n increaseLoadingCount: true\r\n }).then(r => {\r\n if (r.IsValid) {\r\n this.isLoggedIn = true;\r\n this.eventAggregator.publish(\"notify\", {\r\n message: \"Der Account wurde aktiviert\",\r\n type: \"success\"\r\n });\r\n return true;\r\n }\r\n\r\n this.eventAggregator.publish(\"notify\", {\r\n message: \"Ein Fehler ist aufgetreten\",\r\n type: \"success\"\r\n });\r\n return false;\r\n });\r\n }\r\n isLoggedInChanged(newValue) {\r\n if (newValue == void (0)) {\r\n return;\r\n }\r\n\r\n let app = \"/\";\r\n\r\n if (newValue && config[\"mainApp\"]) {\r\n app = config[\"mainApp\"]\r\n } else if (!newValue && config[\"loginApp\"]) {\r\n app = config[\"loginApp\"]\r\n }\r\n\r\n const args = {\r\n app: app,\r\n isHandled: false\r\n };\r\n this.eventAggregator.publish(\"authorization:change-app\", args);\r\n\r\n if (args.isHandled) {\r\n return;\r\n }\r\n\r\n this.eventAggregator.publish(\"authorization:changing-app\", args);\r\n\r\n this.taskQueue.queueMicroTask(() => {\r\n this.aurelia.setRoot(app);\r\n this.eventAggregator.publish(\"authorization:changed-app\", args);\r\n });\r\n }\r\n\r\n private getAuthLocalStorageKey(): string {\r\n const keyStr = location.origin.concat(location.pathname);\r\n\r\n let hash = 0;\r\n for (let i = 0; i < keyStr.length; i++) {\r\n const character = keyStr.charCodeAt(i);\r\n hash = ((hash << 5) - hash) + character;\r\n hash = hash & hash;\r\n }\r\n return \"TA\".concat(hash.toString());\r\n }\r\n private getAuthorizationHeaders(): any {\r\n const headers = {};\r\n\r\n const auth = this.getAuthorizationKey();\r\n if (auth) {\r\n headers[this.X_TIP_AUTH] = auth;\r\n }\r\n\r\n return headers;\r\n }\r\n private getAuthorizationToken(): string {\r\n return this.getAuthorizationKey();\r\n }\r\n private checkAlive() {\r\n setInterval(() => {\r\n if (!this.isLoggedIn) {\r\n return;\r\n }\r\n\r\n this.rest.get({\r\n url: this.rest.getApiUrl(\"base/Session/IAmAlive\"),\r\n ignoreErrors: true\r\n });\r\n }, 1000 * 60);\r\n }\r\n}\r\n\r\nexport interface ILoginResult {\r\n isValid: boolean;\r\n needsTwoFactorAuthKey: boolean;\r\n isLoggedIn: boolean;\r\n}","import { autoinject } from 'aurelia-framework';\r\nimport { RestService } from './../../framework/base/services/export';\r\n\r\n@autoinject\r\nexport class PersonService {\r\n constructor(\r\n private rest: RestService\r\n ) { }\r\n\r\n getPerson(id: number, getOptions = {}) {\r\n return this.rest.get({\r\n url: `${this.rest.getWebApiUrl(\"ZIT/Objekte/Person\")}/${id}`,\r\n getOptions: getOptions\r\n });\r\n }\r\n save(data: any) {\r\n return this.rest.post({\r\n url: this.rest.getWebApiUrl(\"ZIT/Objekte/Person\"),\r\n data: data,\r\n increaseLoadingCount: true\r\n })\r\n }\r\n}","import {\r\n autoinject, optional\r\n} from \"aurelia-framework\";\r\nimport {\r\n IViewScrollInfo\r\n} from \"../interfaces/export\";\r\nimport { EventAggregator } from 'aurelia-event-aggregator';\r\nimport { ILocationGoToEventArgs } from '../event-args/location-go-to';\r\n\r\n@autoinject\r\nexport class LocationService {\r\n constructor(\r\n private eventAggregator: EventAggregator\r\n ) {}\r\n\r\n goBack(): Promise {\r\n const args = {\r\n promise: null\r\n };\r\n\r\n this.eventAggregator.publish(\"location:go-back\", args);\r\n return args.promise || Promise.resolve();\r\n }\r\n async goTo(options?: ILocationGoToEventArgs): Promise {\r\n const url = options.url;\r\n if (!url.startsWith(\"#\")) {\r\n options.url = \"#\".concat(url);\r\n }\r\n\r\n const args = {\r\n promise: null,\r\n args: options,\r\n isHandled: false\r\n }\r\n\r\n this.eventAggregator.publish(\"location:go-to\", args);\r\n await args.promise || Promise.resolve();\r\n\r\n if (!args.isHandled) {\r\n location.assign(url);\r\n }\r\n }\r\n openWindow(url: string) {\r\n window.open(`${location.origin}${location.pathname}#${url}`, \"_blank\");\r\n }\r\n}\r\n","import { FormBase } from '../../../../framework/forms/classes/form-base';\r\nimport { autoinject, transient } from 'aurelia-framework';\r\n\r\n@autoinject\r\n@transient()\r\nexport class PersonAusbildungErweitertEditUtils {\r\n constructor(\r\n ) { }\r\n\r\n form: FormBase;\r\n requiredValidationRule = { type: \"required\" };\r\n idAusbildungAbschluss: number;\r\n\r\n bind(form: FormBase) {\r\n this.form = form;\r\n\r\n form.onValidating.register((args) => {\r\n if (args.form.models && args.form.models.data.$m_AusbildungNeu) {\r\n args.form.models.data.$m_AusbildungNeu.IdAusbildungAbschluss = this.idAusbildungAbschluss;\r\n }\r\n\r\n return Promise.resolve();\r\n });\r\n\r\n form.models.onSaved.register((args) => {\r\n if (args && args.model && args.model.id === \"$m_AusbildungNeu\") {\r\n this.form.models.data.$m_AusbildungNeu.IdAusbildungAbschluss = this.idAusbildungAbschluss;\r\n }\r\n\r\n return Promise.resolve();\r\n });\r\n }\r\n}\r\n","import { autoinject } from 'aurelia-framework';\r\nimport { RestService } from './../../framework/base/services/export';\r\nimport { IMultiMarkerData } from '../interfaces/export';\r\n\r\n@autoinject\r\nexport class MarkerService {\r\n constructor(\r\n private rest: RestService\r\n ) { }\r\n\r\n deleteObjektMarkerZuord(id: number) {\r\n return this.rest.delete({\r\n url: this.rest.getWebApiUrl(\"ZIT/Objekte/ObjektMarkerZuord\"),\r\n id: id,\r\n increaseLoadingCount: true\r\n });\r\n }\r\n getObjektZugeordnetMarkers(idObjekt: number): Promise {\r\n return this.rest.get({\r\n url: this.rest.getWebApiUrl(\"ZIT/Objekte/ObjektMarkerZuord\"),\r\n getOptions: {\r\n where: [[\"IdObjekt\", idObjekt]]\r\n }\r\n });\r\n }\r\n\r\n saveObjektMarker(data: { _IdObjekt: number, Bezeichnung: string, Farbe: string }) {\r\n return this.rest.put({\r\n url: this.rest.getWebApiUrl(\"ZIT/Stammdaten/ObjektMarker\"),\r\n data: data,\r\n increaseLoadingCount: true\r\n });\r\n }\r\n saveObjektMarkerZuord(data: { IdObjektMarker: number, IdObjekt: number }) {\r\n return this.rest.post({\r\n url: this.rest.getWebApiUrl(\"ZIT/Objekte/ObjektMarkerZuord\"),\r\n data: data\r\n });\r\n }\r\n saveObjektMultiMarker(data: { FullName: string, IdObjektList: number[], ObjektMarkerHelperList: any[] }) {\r\n return this.rest.post({\r\n url: this.rest.getApiUrl(\"ZIT/Stammdaten/SaveObjektMultiMarker\"),\r\n data: data\r\n })\r\n }\r\n getMarkersByObjektFullName(objektFullName: string): Promise {\r\n return this.rest.get({\r\n url: `${this.rest.getApiUrl(\"ZIT/Stammdaten/ObjektMultiMarkerDataSource\")}?fullName=${objektFullName}`\r\n })\r\n }\r\n}","export enum BenachrichtigungArt {\r\n Email = 0,\r\n SMS = 1,\r\n WhatsApp = 2,\r\n Facebook = 3,\r\n NurPortal = 4\r\n}\r\n","export * from \"./services/export\";\r\n","import { StartupService } from \"./../../../services/startup-service\";\r\nimport { autoinject, computedFrom, transient } from \"aurelia-framework\";\r\nimport { EventAggregator } from \"aurelia-event-aggregator\";\r\nimport { FormBase } from \"../../../../framework/forms/classes/form-base\";\r\n\r\n@autoinject\r\n@transient()\r\nexport class StelleninseratKopfElementChannelEditUtils {\r\n constructor(\r\n private _startupService: StartupService,\r\n private _eventAggregator: EventAggregator) { }\r\n\r\n form: FormBase;\r\n\r\n @computedFrom(\"form.models.data.$m_StelleninseratKopfElementZuChannel._CanAddChannel\")\r\n get canModifyChannel() {\r\n return this.form?.models?.data?.$m_StelleninseratKopfElementZuChannel?._CanAddChannel || false;\r\n }\r\n\r\n bind(form: FormBase) {\r\n this.form = form;\r\n\r\n this.form.models.onSaved.register(async(args) => {\r\n this._eventAggregator.publish(\"stelleninserat-kopf-element-channel:saved\", {});\r\n });\r\n }\r\n}\r\n","import {\r\n BindingEngine,\r\n Expression,\r\n Container,\r\n TaskQueue,\r\n transient\r\n} from \"aurelia-framework\";\r\nimport {\r\n EventAggregator\r\n} from \"aurelia-event-aggregator\";\r\nimport {\r\n Models\r\n} from \"./models\";\r\nimport {\r\n Functions\r\n} from \"./functions\";\r\nimport {\r\n Commands\r\n} from \"./commands\";\r\nimport {\r\n Variables\r\n} from \"./variables\";\r\nimport {\r\n EditPopups\r\n} from \"./edit-popups\";\r\nimport {\r\n NestedForms\r\n} from \"./nested-forms\";\r\nimport {\r\n CommandServerData\r\n} from \"./command-server-data\";\r\nimport {\r\n DefaultCommandsService,\r\n CommandService,\r\n FormEventService,\r\n PopupInfoService,\r\n ToolbarService,\r\n RouterService,\r\n HistoryService,\r\n DialogConfirmService\r\n} from \"../services/export\";\r\nimport {\r\n WidgetCreatorService\r\n} from \"../widget-services/widget-creator-service\";\r\nimport {\r\n BindingService,\r\n CustomEvent,\r\n GlobalizationService,\r\n LocalizationService,\r\n ErrorService,\r\n PermissionService,\r\n RestService,\r\n WindowService\r\n} from \"../../base/export\";\r\nimport {\r\n IFormAttachedEventArgs,\r\n IFormActivateEventArgs,\r\n IFormReadyEventArgs,\r\n IFormReactivatedEventArgs,\r\n IFormValidatingEventArgs,\r\n IFormDetachedEventArgs,\r\n IFormBindEventArgs,\r\n IFormUnbindEventArgs,\r\n IEditorValueChangedEventArgs,\r\n IFormSavingEventArgs,\r\n IFormSavedEventArgs,\r\n IFormDeletedEventArgs\r\n} from \"../event-args/export\";\r\nimport { FileService } from '../../base/services/file-service';\r\nimport { BrowserService } from '../../base/services/browser-service';\r\nimport { FormInfoService } from '../services/form-info-service';\r\nimport { IFormDeletingEventArgs } from '../event-args/form-deleting';\r\n\r\n@transient()\r\nexport class FormBaseImport {\r\n constructor(\r\n public bindingEngine: BindingEngine,\r\n public taskQueue: TaskQueue,\r\n public eventAggregator: EventAggregator,\r\n public rest: RestService,\r\n public widgetCreator: WidgetCreatorService,\r\n public command: CommandService,\r\n public toolbar: ToolbarService,\r\n public defaultCommands: DefaultCommandsService,\r\n public router: RouterService,\r\n public history: HistoryService,\r\n public permission: PermissionService,\r\n public error: ErrorService,\r\n public file: FileService,\r\n public models: Models,\r\n public nestedForms: NestedForms,\r\n public variables: Variables,\r\n public functions: Functions,\r\n public commands: Commands,\r\n public editPopups: EditPopups,\r\n public binding: BindingService,\r\n public globalization: GlobalizationService,\r\n public localization: LocalizationService,\r\n public commandServerData: CommandServerData,\r\n public popupInfo: PopupInfoService,\r\n public formEvent: FormEventService,\r\n public browser: BrowserService,\r\n public windowService: WindowService,\r\n public dialogConfirm: DialogConfirmService,\r\n public formInfoService: FormInfoService,\r\n public onAttached: CustomEvent,\r\n public onDetached: CustomEvent,\r\n public onActivate: CustomEvent,\r\n public onBind: CustomEvent,\r\n public onUnbind: CustomEvent,\r\n public onReady: CustomEvent,\r\n public onReactivated: CustomEvent,\r\n public onValidating: CustomEvent,\r\n public onEditorValueChanged: CustomEvent,\r\n public onSaving: CustomEvent,\r\n public onSaved: CustomEvent,\r\n public onDeleting: CustomEvent,\r\n public onDeleted: CustomEvent\r\n ) { }\r\n\r\n dispose() {\r\n this.onAttached.dispose();\r\n this.onDetached.dispose();\r\n this.onActivate.dispose();\r\n this.onBind.dispose();\r\n this.onUnbind.dispose();\r\n this.onReady.dispose();\r\n this.onReactivated.dispose();\r\n this.onValidating.dispose();\r\n this.onEditorValueChanged.dispose();\r\n this.onSaving.dispose();\r\n this.onSaved.dispose();\r\n this.onDeleting.dispose();\r\n this.onDeleted.dispose();\r\n\r\n this.commandServerData.dispose();\r\n this.commands.dispose();\r\n this.editPopups.dispose();\r\n this.functions.dispose();\r\n this.models.dispose();\r\n this.nestedForms.dispose();\r\n this.variables.dispose();\r\n }\r\n} \r\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 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 {\r\n autoinject, PLATFORM\r\n} from \"aurelia-framework\";\r\nimport {\r\n EventAggregator,\r\n Subscription\r\n} from \"aurelia-event-aggregator\";\r\nimport {\r\n FileService,\r\n LocalizationService,\r\n ShortcutService,\r\n StyleService,\r\n PermissionService\r\n} from \"./framework/base/export\";\r\nimport {\r\n IRoute,\r\n RouterService,\r\n RoutesCreatorService,\r\n HistoryService\r\n} from \"./framework/forms/export\";\r\nimport {\r\n LoginprofilService\r\n} from './zit/services/export';\r\n\r\nimport * as routesForm from \"./framework-data/forms.json\";\r\nimport * as routesStructure from \"./route-info/structure.json\";\r\n\r\nimport {\r\n ValidationExService,\r\n TemplateRegisterService\r\n} from './zit/services/export';\r\nimport { ToolbarService } from './framework/forms/services/export';\r\nimport { StartupService, ObjektInfoService } from './zit/services/export';\r\nimport { LayoutService, WidgetExtenderService } from './zit-ui/export';\r\nimport { FormSelectItemService } from './zit/services/form-select-item-service';\r\nimport { ContainerViewWidthService } from './zit/services/container-view-width-service';\r\nimport { Willkommensseite } from './zit/elements/willkommensseite/willkommensseite';\r\nimport { FormExtenderService } from './zit/services/form-extender-service';\r\nimport { FormEvalService } from './zit/services/form-eval-service';\r\nimport { FormRefreshService } from './zit/services/form-refresh-service';\r\nimport { HtmlEditorService } from './framework/forms/services/html-editor-service';\r\nimport { HtmlEditorExtensionService } from './zit-ui/services/html-editor-extension-service';\r\nimport { BenutzereinstellungenService } from './zit/services/benutzereinstellungen-service';\r\n\r\nPLATFORM.moduleName(\"zit-ui/elements/zit-toolbar/zit-toolbar\");\r\n\r\n@autoinject\r\nexport class App {\r\n private _routes: IRoute[] = [];\r\n\r\n constructor(\r\n private router: RouterService,\r\n private routesCreator: RoutesCreatorService,\r\n private file: FileService,\r\n private history: HistoryService,\r\n private shortcut: ShortcutService,\r\n private startup: StartupService,\r\n private layout: LayoutService,\r\n private localization: LocalizationService,\r\n private style: StyleService,\r\n private eventAggregator: EventAggregator,\r\n private templateRegister: TemplateRegisterService,\r\n private validationEx: ValidationExService,\r\n private toolbar: ToolbarService,\r\n private objektInfo: ObjektInfoService,\r\n private loginprofil: LoginprofilService,\r\n private formSelectItem: FormSelectItemService,\r\n private benutzereinstellungen: BenutzereinstellungenService,\r\n private containerViewWidth: ContainerViewWidthService,\r\n private formExtender: FormExtenderService,\r\n private formEval: FormEvalService,\r\n private widgetExtenderService: WidgetExtenderService,\r\n private formRefreshService: FormRefreshService,\r\n private htmlEditorService: HtmlEditorService,\r\n private htmlEditorExtensionService: HtmlEditorExtensionService,\r\n private permissionService: PermissionService\r\n ) {\r\n this.loadRoutes();\r\n this.toolbar.toolbarModuleId = \"zit-ui/elements/zit-toolbar/zit-toolbar\";\r\n this.htmlEditorService.defaultHeaders = [3];\r\n\r\n templateRegister.register();\r\n }\r\n\r\n willkommensseite: Willkommensseite\r\n\r\n async activate() {\r\n this.layout.activateTheme();\r\n \r\n this.permissionService.allowAllPermission = true;\r\n await this.startup.loadStartupInfo();\r\n await this.objektInfo.loadObjektInfoList();\r\n await this.benutzereinstellungen.loadBenutzereinstellungen();\r\n \r\n this.registerRoutes();\r\n }\r\n attached() {\r\n const showWillkommen = this.benutzereinstellungen.benutzereinstellungenData.IsWillkommensseiteDeaktiviert != true;\r\n if (showWillkommen) {\r\n this.willkommensseite.showPopup();\r\n }\r\n\r\n window.scrollTo(0, 0);\r\n }\r\n\r\n private loadRoutes() {\r\n this._routes = this.orderRoutes(this.routesCreator.createRoutes(\r\n routesStructure,\r\n routesForm,\r\n (r) => {\r\n return true;\r\n }));\r\n }\r\n private registerRoutes() {\r\n this._routes.push({\r\n moduleId: \"zit-ui/views/auto-login/auto-login-form\",\r\n caption: \"zit-ui.auto-login\",\r\n route: \"AutoLogin\"\r\n }, {\r\n moduleId: \"zit-ui/views/app-login/app-login-form\",\r\n caption: \"zit-ui.app-login\",\r\n route: \"app-login\"\r\n });\r\n\r\n this.router.registerRoutes(this._routes, \"Dashboard\");\r\n }\r\n\r\n private orderRoutes(routes: IRoute[]): IRoute[] {\r\n return routes;\r\n }\r\n}\r\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 {\r\n Maennlich = 0,\r\n Weiblich = 1,\r\n Divers = 2\r\n}\r\n","import { autoinject, transient } from \"aurelia-framework\";\r\nimport { LocalizationService, LocationService } from \"../../../../framework/base/export\";\r\nimport { ContextMenu, FormBase } from \"../../../../framework/forms/classes/export\";\r\nimport { ICommandData } from \"../../../../framework/forms/interfaces/command-data\";\r\nimport { IZitTagOptions } from \"../../../../zit-ui/elements/zit-tag/zit-tag-options\";\r\nimport { IZitToolbarOptions } from \"../../../../zit-ui/elements/zit-toolbar/zit-toolbar-options\";\r\nimport { IdxPopupComponent } from \"../../../interfaces/export\";\r\nimport { AufgabeService, NavTyp } from \"../../../services/aufgabe-service\";\r\nimport { StartupService } from \"../../../services/export\";\r\nimport { FormPopupService } from \"../../../services/form-popup-service\";\r\n\r\n@autoinject\r\n@transient()\r\nexport class AufgabeEditUtils {\r\n private TIMEOUT: number = 3000;\r\n\r\n constructor(\r\n private _locationService: LocationService,\r\n private _aufgabeService: AufgabeService,\r\n private _localizationService: LocalizationService,\r\n private _startupService: StartupService,\r\n private _formPopupService: FormPopupService\r\n ) { }\r\n\r\n form: FormBase;\r\n\r\n navPrevCommand: ICommandData = {\r\n id: \"navPrevCommand\",\r\n icon: \"fas fa-arrow-left\",\r\n tooltip: \"aufgabe-read.vorherige\",\r\n sortIndex: 200,\r\n isVisibleExpression: \"models.data.$m_Aufgabe.Kopf.StammAufgabensetVersion.Typ === 1\",\r\n execute: async() => {\r\n const r = await this._aufgabeService.nav({\r\n IdAufgabe: this.form.models.data.$m_Aufgabe.Id,\r\n NavTyp: NavTyp.Vorherige\r\n });\r\n\r\n if (!r || r.AufgabeList.length == 0) {\r\n DevExpress.ui.notify(\r\n this._localizationService.translateOnce(\"aufgabe-read.kein-vorherige\"),\r\n \"info\",\r\n this.TIMEOUT);\r\n\r\n return;\r\n }\r\n\r\n this._locationService.goTo({\r\n url: `Objekte/Aufgabe/${r.AufgabeList[0].Id}`,\r\n currentViewModel: this.form,\r\n replace: true\r\n });\r\n }\r\n };\r\n navNextCommand: ICommandData = {\r\n id: \"navNextCommand\",\r\n icon: \"fas fa-arrow-right\",\r\n tooltip: \"aufgabe-read.naechste\",\r\n sortIndex: 201,\r\n isVisibleExpression: \"models.data.$m_Aufgabe.Kopf.StammAufgabensetVersion.Typ === 1\",\r\n execute: async() => {\r\n const r = await this._aufgabeService.nav({\r\n IdAufgabe: this.form.models.data.$m_Aufgabe.Id,\r\n NavTyp: NavTyp.Naechste\r\n });\r\n\r\n if (!r || r.AufgabeList.length == 0) {\r\n DevExpress.ui.notify(\r\n this._localizationService.translateOnce(\"aufgabe-read.kein-nachfolge\"),\r\n \"info\",\r\n this.TIMEOUT);\r\n\r\n return;\r\n }\r\n\r\n this._locationService.goTo({\r\n url: `Objekte/Aufgabe/${r.AufgabeList[0].Id}`,\r\n currentViewModel: this.form,\r\n replace: true\r\n });\r\n }\r\n };\r\n navHistoryCommand: ICommandData = {\r\n id: \"navHistoryCommand\",\r\n icon: \"fas fa-history\",\r\n tooltip: \"aufgabe-read.wechseln\",\r\n sortIndex: 202,\r\n isVisibleExpression: \"models.data.$m_Aufgabe.Kopf.StammAufgabensetVersion.Typ === 1\",\r\n execute: async(ev) => {\r\n const r = await this._aufgabeService.nav({\r\n IdAufgabe: this.form.models.data.$m_Aufgabe.Id,\r\n NavTyp: NavTyp.Alle\r\n });\r\n\r\n if (!r) {\r\n return;\r\n }\r\n\r\n const ctx = new ContextMenu();\r\n r.AufgabeList.forEach((a) => {\r\n ctx.items.push({\r\n text: a.Bezeichnung,\r\n execute: () => {\r\n this._locationService.goTo({\r\n url: `Objekte/Aufgabe/${a.Id}`,\r\n currentViewModel: this.form,\r\n replace: true\r\n });\r\n }\r\n });\r\n });\r\n\r\n ctx.show(ev.event.target);\r\n }\r\n };\r\n infoAusbilderCommand: ICommandData = {\r\n id: \"infoAusbilderCommand\",\r\n icon: \"fas fa-info-circle\",\r\n title: \"aufgabe-read.info-ausbilder\",\r\n sortIndex: 300,\r\n isVisible: false,\r\n execute: async(ev) => {\r\n this._formPopupService.formPopup.show({\r\n titel: \"Info für Ausbilder\",\r\n formDef: [{\r\n name: \"info\",\r\n template: (data: any, itemElement: HTMLElement) => {\r\n itemElement.style.maxWidth = \"400px\";\r\n itemElement.innerHTML = this.form.models.data.$m_Aufgabe.Kopf.StammAufgabeVersion.BemerkungAusbilder;\r\n }\r\n }]\r\n });\r\n }\r\n };\r\n addZielCommand: ICommandData = {\r\n id: \"addZielCommand\",\r\n icon: \"fas fa-tasks\",\r\n title: \"aufgabe-read.neues-ziel\",\r\n sortIndex: 290,\r\n isVisibleExpression: \"models.data.$m_Aufgabe.Id > 0\",\r\n execute: async(ev) => {\r\n this._locationService.goTo({\r\n url: \"Objekte/Ziel/0\",\r\n clearStack: false,\r\n currentViewModel: this.form,\r\n customOptions: {\r\n idUrsprungsobjekt: this.form.models.data.$m_Aufgabe.Id\r\n },\r\n });\r\n }\r\n };\r\n\r\n beantwToolbarOptions: IZitToolbarOptions = {\r\n title: \"aufgabe-read.deine-antwort\",\r\n smallToolbar: true,\r\n items: [{\r\n id: \"info\",\r\n icon: \"fas fa-info\",\r\n isVisible: [\"ADMIN\", \"ADMIN_HB\", \"TEAM\"].indexOf(this._startupService.startupInfo.Benutzer.CodeBenutzerrolle) >= 0,\r\n execute: async(e) => {\r\n await this.form.saveIfDirty();\r\n\r\n const popup: IdxPopupComponent = this.form[\"r_popupInf\"];\r\n popup.instance.show();\r\n }\r\n }]\r\n };\r\n\r\n indexAnzahlTagOptions: IZitTagOptions = {\r\n icon: {\r\n faIcon: \"fas fa-map-signs\"\r\n },\r\n textExpression: \"'Aufgabe ' + (item._Index + (item.Kopf.IsErfuellt ? 0 : 1)) + ' von ' + item._Anzahl\"\r\n };\r\n objektTagOptions: IZitTagOptions = {\r\n icon: {\r\n textExpression: \"item._ObjektTyp\"\r\n },\r\n textExpression: \"item._ObjektBezeichnung\",\r\n onClick: (e, data) => {\r\n if (data._ObjektTyp == \"P\") {\r\n this._locationService.goTo({\r\n url: `Objekte/Person/${data._IdObjekt}`,\r\n currentViewModel: this.form\r\n });\r\n } else if (data._ObjektTyp == \"A\") {\r\n this._locationService.goTo({\r\n url: `Objekte/Ansprechperson/${data._IdObjekt}`,\r\n currentViewModel: this.form\r\n });\r\n }\r\n }\r\n };\r\n dauerTagOptions: IZitTagOptions = {\r\n icon: {\r\n faIcon: \"far fa-clock\"\r\n },\r\n textExpression: \"item.DauerMinuten | zitMinutenText\"\r\n };\r\n aufgabensetTagOptions: IZitTagOptions = {\r\n icon: {\r\n text: \"AS\"\r\n },\r\n textExpression: \"item.Bezeichnung\"\r\n };\r\n vorbereitetTagOptions: IZitTagOptions = {\r\n icon: {\r\n faIcon: \"fas fa-info\",\r\n backgroundColor: \"#C24334\"\r\n },\r\n textExpression: \"'Startdatum noch nicht erreicht (' + globalization.format(item.StartDatum, 'd') + ')'\",\r\n backgroundColor: \"#E84C3D\",\r\n color: \"white\"\r\n };\r\n vorgaengerOffenTagOptions: IZitTagOptions = {\r\n icon: {\r\n faIcon: \"fas fa-info\",\r\n backgroundColor: \"#C24334\"\r\n },\r\n text: \"Vorgängeraufgabe noch nicht erfüllt\",\r\n backgroundColor: \"#E84C3D\",\r\n color: \"white\"\r\n };\r\n bestaetigungOffenTagOptions: IZitTagOptions = {\r\n icon: {\r\n faIcon: \"fas fa-info\",\r\n backgroundColor: \"#D35400\"\r\n },\r\n text: \"Bestätigung ausständig\",\r\n backgroundColor: \"#E67F22\",\r\n color: \"white\"\r\n };\r\n bestaetigungOffen2TagOptions: IZitTagOptions = {\r\n icon: {\r\n faIcon: \"fas fa-hourglass\",\r\n backgroundColor: \"#D25400\"\r\n },\r\n textExpression: \"'Die Aufgabe muss von ' + item.BestaetigungBenutzerName + ' bestätigt werden'\",\r\n backgroundColor: \"#E67F22\",\r\n color: \"white\"\r\n };\r\n\r\n bind(form: FormBase) {\r\n this.form = form;\r\n\r\n this.form.callOnCommandsLoaded(() => {\r\n const saveCommand = this.form.commands.getCommands()\r\n .find((c) => c.id == \"$save\");\r\n if (saveCommand) {\r\n saveCommand.isVisible = false;\r\n }\r\n });\r\n\r\n this.form.models.onLoaded.register(async(ev) => {\r\n if (ev.model.id == \"$m_Aufgabe\") {\r\n this.checkInfoAusbilderVisible(ev.data);\r\n }\r\n });\r\n this.form.onSaved.register(async(ev) => {\r\n const data = this.form.models.data.$m_Aufgabe;\r\n\r\n if (data && data.Id && !data._CanErfuellen && !data._CanBestaetigen && data.Kopf.IsBestaetigt) {\r\n const r = await this._aufgabeService.nav({\r\n IdAufgabe: data.Id,\r\n NavTyp: NavTyp.Naechste\r\n });\r\n\r\n if (r && r.AufgabeList.length > 0) {\r\n this._locationService.goTo({\r\n url: `Objekte/Aufgabe/${r.AufgabeList[0].Id}`,\r\n currentViewModel: this.form,\r\n replace: true\r\n });\r\n }\r\n }\r\n });\r\n }\r\n\r\n async onErfuelltClick() {\r\n let data = this.form.models.data.$m_Aufgabe;\r\n if (data.Kopf.IsErfuellt) {\r\n DevExpress.ui.notify(\r\n \"Aufgabe wurde bereits erfüllt\",\r\n \"info\",\r\n this.TIMEOUT\r\n );\r\n\r\n return;\r\n } else if (!data._CanErfuellen) {\r\n DevExpress.ui.notify(\r\n \"Aufgabe kann noch nicht erfüllt werden\",\r\n \"error\",\r\n this.TIMEOUT\r\n );\r\n\r\n return;\r\n }\r\n\r\n const r1 = await this.form.saveIfDirty();\r\n if (!r1.isValid) {\r\n return;\r\n }\r\n\r\n //Neu holen, da die Daten ev. geändert wurden\r\n data = this.form.models.data.$m_Aufgabe;\r\n data.Kopf.IsErfuellt = true;\r\n\r\n const r2 = await this.form.save();\r\n if (!r2.isValid) {\r\n data.Kopf.IsErfuellt = false;\r\n }\r\n }\r\n async onBestaetigtClick() {\r\n const r1 = await this.form.saveIfDirty();\r\n if (!r1.isValid) {\r\n return;\r\n }\r\n\r\n const data = this.form.models.data.$m_Aufgabe;\r\n data.Kopf.IsBestaetigt = true;\r\n\r\n const r2 = await this.form.save();\r\n if (!r2.isValid) {\r\n data.Kopf.IsBestaetigt = false;\r\n }\r\n }\r\n async onRetourClick() {\r\n const r1 = await this.form.saveIfDirty();\r\n if (!r1.isValid) {\r\n return;\r\n }\r\n\r\n const data = this.form.models.data.$m_Aufgabe;\r\n data.Kopf.IsErfuellt = false;\r\n await this.form.save();\r\n }\r\n\r\n private checkInfoAusbilderVisible(data) {\r\n const benutzergruppeList = [\"ADMIN\", \"ADMIN_HB\", \"TEAM\", \"KUNDE\"];\r\n\r\n this.infoAusbilderCommand.isVisible = data\r\n && data.Kopf\r\n && data.Kopf.StammAufgabeVersion\r\n && data.Kopf.StammAufgabeVersion.BemerkungAusbilder\r\n && benutzergruppeList.indexOf(this._startupService.startupInfo.Benutzer.CodeBenutzerrolle) >= 0;\r\n }\r\n}\r\n","import { autoinject } from \"aurelia-framework\";\r\nimport { IHtmlEditorOptions } from '../widget-options/html-editor-options';\r\n\r\nimport * as Quill from \"quill\";\r\nimport { ICommandData } from '../interfaces/export';\r\nimport { CommandService } from './command-service';\r\nimport { ScopeContainer, BindingService } from '../../base/export';\r\nimport { EventAggregator } from 'aurelia-event-aggregator';\r\nconst Embed = Quill.import(\"blots/embed\");\r\n\r\nexport class CustomTabBlot extends Embed {\r\n static create() {\r\n const node = super.create();\r\n node.innerText = \"\\t\";\r\n\r\n return node;\r\n }\r\n static value(node) {\r\n return {\r\n value: node.innerText || null,\r\n };\r\n }\r\n\r\n static blotName = \"custom-tab\";\r\n static tagName = \"span\";\r\n static className = \"t--html-custom-tab\";\r\n}\r\n\r\nQuill.register(\"formats/custom-tab\", CustomTabBlot);\r\n\r\n@autoinject\r\nexport class HtmlEditorService {\r\n constructor(\r\n private commandService: CommandService,\r\n private bindingService: BindingService,\r\n private eventAggregator: EventAggregator\r\n ) { }\r\n\r\n defaultHeaders = [1, 2];\r\n\r\n configureHtmlEditor(scopeContainer: ScopeContainer, options: IHtmlEditorOptions, editorOptions: DevExpress.ui.dxHtmlEditorOptions) {\r\n let onInitialized = editorOptions.onInitialized;\r\n let onContentReady = editorOptions.onContentReady;\r\n let onDisposing = editorOptions.onDisposing;\r\n let htmlEditor: DevExpress.ui.dxHtmlEditor;\r\n\r\n editorOptions.onInitialized = (e) => {\r\n if (onInitialized) {\r\n onInitialized(e);\r\n }\r\n\r\n htmlEditor = e.component;\r\n }\r\n editorOptions.onContentReady = (e) => {\r\n if (onContentReady) {\r\n onContentReady(e);\r\n }\r\n\r\n const quill = e.component.getQuillInstance();\r\n this.configurePasteWithoutFont(quill);\r\n this.rebindTabKey(quill);\r\n\r\n };\r\n editorOptions.onDisposing = (e) => {\r\n if (onDisposing) {\r\n onDisposing(e);\r\n onDisposing = null;\r\n }\r\n\r\n htmlEditor = null;\r\n }\r\n\r\n if (options.height) {\r\n editorOptions.height = options.height;\r\n } else {\r\n editorOptions.height = \"150px\";\r\n }\r\n\r\n if (options.showToolbar == void (0)) {\r\n options.showToolbar = true;\r\n }\r\n\r\n if (options.mentionKey) {\r\n const args = {\r\n mentionKey: options.mentionKey,\r\n mention: null\r\n };\r\n\r\n this.eventAggregator.publish(\"html-editor:mention\", args);\r\n\r\n if (args.mention) {\r\n editorOptions.mentions = [args.mention];\r\n }\r\n }\r\n\r\n if (options.showToolbar) {\r\n const toolbarItems: any[] = [\"bold\", \"italic\", \"underline\", \"orderedList\", \"bulletList\", \"link\"];\r\n\r\n if (options.allowImages) {\r\n this.addImageButton(toolbarItems, () => htmlEditor);\r\n }\r\n if (options.allowHeaders) {\r\n toolbarItems.push({\r\n formatName: \"header\",\r\n formatValues: ([false]).concat(...this.defaultHeaders)\r\n });\r\n }\r\n if (options.allowColors) {\r\n toolbarItems.push(\"color\", \"background\");\r\n }\r\n if (options.variables != void (0)) {\r\n editorOptions.variables = {\r\n dataSource: options.variables.split(\";\").filter(c => !!c)\r\n };\r\n\r\n if (options.variableEscapeChars) {\r\n editorOptions.variables.escapeChar = options.variableEscapeChars.split(\";\");\r\n } else {\r\n editorOptions.variables.escapeChar = [\"${\", \"}\"]\r\n }\r\n\r\n toolbarItems.push(\"variable\");\r\n }\r\n if (options.commandData && options.commandData.length > 0) {\r\n this.addCommandDataToToolbar(scopeContainer, toolbarItems, options.commandData, () => htmlEditor);\r\n }\r\n\r\n toolbarItems.push(\"clear\");\r\n\r\n editorOptions.toolbar = {\r\n items: toolbarItems\r\n };\r\n }\r\n }\r\n\r\n private configurePasteWithoutFont(quill: any) {\r\n quill.clipboard.addMatcher(Node.ELEMENT_NODE, (node, delta) => {\r\n delta.ops = delta.ops.map(op => {\r\n const attributes = Object.assign({}, op.attributes || {});\r\n delete attributes.font;\r\n delete attributes.size;\r\n\r\n return {\r\n insert: op.insert,\r\n attributes: attributes\r\n };\r\n });\r\n\r\n return delta;\r\n });\r\n }\r\n private rebindTabKey(quill) {\r\n const tabBindings = quill.keyboard.bindings[9];\r\n if (tabBindings) {\r\n for (let i = 0; i < tabBindings.length; i++) {\r\n const tabBinding = tabBindings[i];\r\n if (tabBinding.format) {\r\n continue;\r\n }\r\n\r\n tabBindings.splice(i, 1);\r\n i--;\r\n }\r\n }\r\n\r\n quill.keyboard.addBinding({\r\n key: 9,\r\n }, (r, e) => {\r\n quill.insertEmbed(r.index, \"custom-tab\", \"\");\r\n quill.setSelection(r.index + 1)\r\n });\r\n }\r\n private addImageButton(toolbarItems: any[], getHtmlEditor: { (): DevExpress.ui.dxHtmlEditor }) {\r\n //TODO DXUPDATE\r\n toolbarItems.push({\r\n widget: \"dxButton\",\r\n options: {\r\n icon: \"far fa-image\",\r\n hint: \"Bild einfügen\",\r\n stylingMode: \"text\",\r\n onClick: (e) => {\r\n e.event.stopPropagation();\r\n e.event.preventDefault();\r\n\r\n const htmlEditor = getHtmlEditor();\r\n if (!htmlEditor) {\r\n return;\r\n }\r\n\r\n const editor: any = htmlEditor;\r\n if (!editor._imgUpload) {\r\n const input = document.createElement(\"input\");\r\n input.type = \"file\";\r\n input.accept = \"image/png, image/gif, image/jpeg\";\r\n input.hidden = true;\r\n\r\n input.addEventListener(\"change\", (e: any) => {\r\n const files = e.target.files;\r\n if (!files || files.length == 0 || !files[0]) {\r\n return;\r\n }\r\n\r\n let reader = new FileReader();\r\n reader.onload = (x: any) => {\r\n const selection = htmlEditor.getSelection();\r\n const pasteIndex = selection ? selection.index : htmlEditor.getLength();\r\n htmlEditor.insertEmbed(pasteIndex, \"extendedImage\", { src: x.target.result });\r\n htmlEditor.setSelection(pasteIndex + 1, 0);\r\n e.target.value = \"\";\r\n };\r\n reader.readAsDataURL(e.target.files[0]);\r\n });\r\n\r\n editor._imgUpload = input;\r\n htmlEditor.element().append(input);\r\n }\r\n\r\n editor._imgUpload.click();\r\n }\r\n }\r\n });\r\n }\r\n private addCommandDataToToolbar(scopeContainer: ScopeContainer, toolbarItems: any[], commandData: ICommandData[], getHtmlEditor: { (): DevExpress.ui.dxHtmlEditor }) {\r\n for (let item of commandData) {\r\n\r\n toolbarItems.push({\r\n widget: \"dxButton\",\r\n options: {\r\n icon: item.icon,\r\n text: item.title,\r\n hint: item.tooltip,\r\n stylingMode: \"text\",\r\n disabled: !this.commandService.isEnabled(item),\r\n visible: this.commandService.isVisible(item),\r\n _commandData: item,\r\n onInitialized: (e) => {\r\n if (item.isEnabledExpression) {\r\n this.bindingService.observe({\r\n scopeContainer: scopeContainer,\r\n expression: item.isEnabledExpression,\r\n callback: (newValue) => {\r\n e.component.option(\"disabled\", !newValue);\r\n }\r\n });\r\n }\r\n if (item.isVisibleExpression) {\r\n this.bindingService.observe({\r\n scopeContainer: scopeContainer,\r\n expression: item.isVisibleExpression,\r\n callback: (newValue) => {\r\n e.component.option(\"visible\", newValue);\r\n }\r\n });\r\n }\r\n },\r\n onClick: (e) => {\r\n e.event.stopPropagation();\r\n e.event.preventDefault();\r\n\r\n this.commandService.execute(scopeContainer.scope, item, {\r\n event: e.event,\r\n details: {\r\n htmlEditor: getHtmlEditor()\r\n }\r\n });\r\n }\r\n }\r\n });\r\n }\r\n }\r\n}","import { autoinject, transient } from \"aurelia-framework\";\r\nimport { ContextMenu, IListOptionsBase } from \"../../../../framework/forms/export\";\r\nimport { IZitToolbarOptions } from \"../../../../zit-ui/elements/zit-toolbar/zit-toolbar-options\";\r\nimport { GeschaeftspartnerErweiterteOptionen } from \"../../../elements/geschaeftspartner-erweiterte-optionen/geschaeftspartner-erweiterte-optionen\";\r\nimport { ISubheadlineOptions } from \"../../../elements/sub-headline/sub-headline-options\";\r\nimport { BenutzerTyp } from \"../../../enumerations/benutzer-typ\";\r\nimport { CodesService } from \"../../../services/export\";\r\nimport { StartupService } from \"../../../services/startup-service\";\r\nimport { LocalizationService, LocationService } from \"./../../../../framework/base/services/export\";\r\nimport { FormBase } from \"./../../../../framework/forms/classes/form-base\";\r\nimport { ListView } from \"./../../../../framework/forms/elements/list-view/list-view\";\r\nimport { ICommandData } from \"./../../../../framework/forms/interfaces/command-data\";\r\nimport { DefaultCommandsService, PopupInfoService } from \"./../../../../framework/forms/services/export\";\r\nimport { IZitTagOptions } from \"./../../../../zit-ui/elements/zit-tag/zit-tag-options\";\r\nimport { Share } from \"./../../../elements/share/share\";\r\nimport { IBenutzerrolleCodeData } from \"./../../../interfaces/benutzerrolle-code-data\";\r\n\r\n@autoinject\r\n@transient()\r\nexport class GeschaeftspartnerEditUtils {\r\n constructor(\r\n private _codesService: CodesService,\r\n private _defaultCommandService: DefaultCommandsService,\r\n private _localizationService: LocalizationService,\r\n private _startupService: StartupService,\r\n private _locationService: LocationService,\r\n private _popupInfoService: PopupInfoService) {\r\n const benutzertyp = _startupService.startupInfo.Benutzer.Benutzertyp;\r\n\r\n const isAdminOrInternerUser = benutzertyp == BenutzerTyp.Administrator\r\n || benutzertyp == BenutzerTyp.InternerBenutzer;\r\n\r\n const isAdmin = benutzertyp == BenutzerTyp.Administrator;\r\n\r\n this.canEditDokument = isAdminOrInternerUser;\r\n this.canEditPackage = isAdminOrInternerUser;\r\n this.isAdminOrInternerBenutzer = isAdminOrInternerUser;\r\n this.showSchnupperterminMaske = _startupService.startupInfo.ShowSchnupperterminMaske;\r\n this.isAdmin = isAdmin;\r\n }\r\n\r\n form: FormBase;\r\n\r\n canEditPackage: boolean;\r\n canEditDokument: boolean;\r\n isAdminOrInternerBenutzer: boolean;\r\n showSchnupperterminMaske: boolean;\r\n isAdmin: boolean;\r\n jetzt: Date = new Date();\r\n\r\n subHeadlineOptions: ISubheadlineOptions = {\r\n getTitel: () => Promise.resolve(this.form.models.data.$m_Geschaeftspartner.CustomSubHeadline)\r\n };\r\n\r\n detailToolbarOptions: IZitToolbarOptions = {\r\n title: \"geschaeftspartner.details-toolbar-title\",\r\n smallToolbar: true,\r\n items: [{\r\n id: \"geschaeftspartnerEditUtilsDetailCommand\",\r\n icon: \"fas fa-plus\",\r\n execute: (e) => {\r\n this.showDetailCtxMenu(e.event);\r\n }\r\n }]\r\n };\r\n ansprechpersonTagOptions: IZitTagOptions = {\r\n hasDefaultInfo: true,\r\n isClickEnabled: true,\r\n icon: {\r\n text: \"AP\"\r\n },\r\n textExpression: \"item.AnsprechpersonNameGesamt\",\r\n onClick: (e: any, item: any) => {\r\n const idAnsprechperson = item.IdAnsprechperson;\r\n if (!idAnsprechperson) {\r\n return;\r\n }\r\n\r\n this._locationService.goTo({\r\n url: `Objekte/Ansprechperson/${idAnsprechperson}?mode=1`,\r\n currentViewModel: this.form\r\n });\r\n }\r\n };\r\n dokumentTagOptions: IZitTagOptions = {\r\n isClickEnabled: true,\r\n icon: {\r\n text: \"D\"\r\n },\r\n textExpression: \"item.DokumentBezeichnung\"\r\n };\r\n packageTagOptions: IZitTagOptions = {\r\n isClickEnabled: true,\r\n backgroundColorExpression: `item.GueltigVon <= functions.$f_GeschaeftspartnerEditUtils.jetzt \r\n && (!item.GueltigBis || item.GueltigBis >= functions.$f_GeschaeftspartnerEditUtils.jetzt) \r\n ? 'rgba(0, 128, 0, 0.3)' : ''`,\r\n icon: {\r\n text: \"P\",\r\n backgroundColorExpression: `item.GueltigVon <= functions.$f_GeschaeftspartnerEditUtils.jetzt \r\n && (!item.GueltigBis || item.GueltigBis >= functions.$f_GeschaeftspartnerEditUtils.jetzt) \r\n ? 'rgba(0, 128, 0, 1)' : ''`,\r\n },\r\n textExpression: `item.GueltigBis \r\n ? item.Bezeichnung + \", \" + globalization.format(item.GueltigVon, \"d\") + \" - \" + globalization.format(item.GueltigBis, \"d\")\r\n : item.Bezeichnung + \", \" + globalization.format(item.GueltigVon, \"d\")`\r\n };\r\n actionCommand: ICommandData = {\r\n id: \"actionCommand\",\r\n icon: \"fas fa-share-alt\",\r\n tooltip: \"zit.aktionen\",\r\n isVisibleExpression: \"r_share.canShare\",\r\n sortIndex: 99,\r\n execute: (executeOptions) => {\r\n const share: Share = this.form[\"r_share\"];\r\n share.showCtxMenu(executeOptions.event);\r\n }\r\n };\r\n geschaeftspartnerErweiterteOptionenCommand: ICommandData = {\r\n id: \"gpErweiterteOptioneneCommand\",\r\n icon: \"fas fa-cog\",\r\n tooltip: \"geschaeftspartner.erweiterte-optionen\",\r\n sortIndex: 995,\r\n execute: (e) => {\r\n const gpErweiterte: GeschaeftspartnerErweiterteOptionen = this.form[\"r_gpErweiterteOptionen\"];\r\n const target = e.event.target;\r\n\r\n gpErweiterte.showPopover(target);\r\n }\r\n };\r\n\r\n bind(form: FormBase) {\r\n this.form = form;\r\n\r\n this.form.editPopups.onEditPopupHidden.register((args) => {\r\n if (args.editPopup.id == \"geschaeftspartnerZuAnsprechpersonEditPopup\") {\r\n this.refreshListView(\"r_geschaeftspartnerAnsprechpersonListView\");\r\n }\r\n\r\n return Promise.resolve();\r\n });\r\n\r\n this.form.onReactivated.register((args) => {\r\n this.refreshListView(\"r_geschaeftspartnerAnsprechpersonListView\");\r\n return Promise.resolve();\r\n });\r\n }\r\n\r\n private showDetailCtxMenu(event: Event) {\r\n const ctxMenu = new ContextMenu();\r\n\r\n this.loadCtxMenuItems(ctxMenu);\r\n\r\n ctxMenu.show(event.target);\r\n }\r\n\r\n private loadCtxMenuItems(ctxMenu: ContextMenu) {\r\n if (!ctxMenu) {\r\n return;\r\n }\r\n ctxMenu.items = [{\r\n text: this._localizationService.translateOnce(\"geschaeftspartner.details-toolbar-adressen\"),\r\n execute: () => {\r\n this.showListEditPopup(\"$m_GeschaeftspartnerAdresseEdit\", \"geschaeftspartnerAdresseEditPopup\", \"r_geschaeftspartnerAdresseListView\");\r\n }\r\n }, {\r\n text: this._localizationService.translateOnce(\"geschaeftspartner.details-toolbar-ansprechpersonen\"),\r\n execute: () => {\r\n if (this.form.models.data.$m_Geschaeftspartner.Id === null) {\r\n return;\r\n }\r\n\r\n this._popupInfoService.closeAllPopups();\r\n\r\n this._locationService.goTo({\r\n url: `Objekte/Ansprechperson/0`,\r\n setValuesOnModelWithKeyIdLoaded: { _IdGeschaeftspartner: this.form.models.data.$m_Geschaeftspartner.Id },\r\n replace: false\r\n });\r\n }\r\n }, {\r\n text: this._localizationService.translateOnce(\"geschaeftspartner.details-toolbar-bankverbindungen\"),\r\n execute: () => {\r\n this.showListEditPopup(\"$m_GeschaeftspartnerBankverbindungEdit\", \"geschaeftspartnerBankverbindungEditPopup\", \"r_geschaeftspartnerBankverbindungListView\");\r\n }\r\n }];\r\n\r\n if (this.canEditDokument) {\r\n ctxMenu.items.push({\r\n text: this._localizationService.translateOnce(\"geschaeftspartner.details-toolbar-dokumente\"),\r\n execute: () => {\r\n this.showListEditPopup(\"$m_GeschaeftspartnerZuDokumentEdit\", \"geschaeftspartnerDokumentEditPopup\", \"r_geschaeftspartnerDokumentListView\");\r\n }\r\n });\r\n }\r\n\r\n if (this.form.models.data.$m_Geschaeftspartner.SonstigeKontaktdatenVisible) {\r\n ctxMenu.items.push(\r\n {\r\n text: this._localizationService.translateOnce(\"geschaeftspartner.details-toolbar-kontaktdaten\"),\r\n execute: () => {\r\n this.showListEditPopup(\"$m_GeschaeftspartnerKontaktEdit\", \"geschaeftspartnerKontaktdatenEditPopup\", \"r_geschaeftspartnerKontaktdatenListView\");\r\n }\r\n });\r\n }\r\n\r\n if (this.canEditPackage) {\r\n ctxMenu.items.push({\r\n text: this._localizationService.translateOnce(\"geschaeftspartner.details-toolbar-packages\"),\r\n execute: () => {\r\n this.showListEditPopup(\"$m_GeschaeftspartnerPackageEdit\", \"geschaeftspartnerPackageEditPopup\", \"r_geschaeftspartnerPackageListView\");\r\n }\r\n });\r\n }\r\n }\r\n\r\n private showListEditPopup(editDataContext: string, idEditPopup: string, idListView: string) {\r\n const options = this.getListViewBaseOption(editDataContext, idEditPopup, this.form[idListView]);\r\n\r\n const addCommand = this._defaultCommandService.getListAddCommand(this.form, options);\r\n const event = new MouseEvent(\"click\");\r\n addCommand.execute({ event: event });\r\n }\r\n\r\n private getListViewBaseOption(editDataContext: string, idEditPopup: string, options: IListOptionsBase): IListOptionsBase {\r\n options.editDataContext = editDataContext;\r\n options.idEditPopup = idEditPopup;\r\n options.listEdits = options.listEdits || [];\r\n return options;\r\n }\r\n\r\n private refreshListView(id: string) {\r\n const listView: ListView = this.form[id];\r\n\r\n listView.refresh();\r\n }\r\n}\r\n","import { autoinject } from \"aurelia-framework\";\r\nimport { DataSourceService } from \"../../framework/base/services/data-source-service\";\r\nimport { ScopeContainer } from \"../../framework/base/classes/scope-container\";\r\n\r\n@autoinject\r\nexport class ZielService {\r\n constructor(\r\n private _dataSourceService: DataSourceService) { }\r\n\r\n loadZieleDataSource(scopeContainer: ScopeContainer, getCustomWhere: { () }, getCustomFilter: {()}, orderBy?: any[]) {\r\n const data = this._dataSourceService.createDataSource(\r\n scopeContainer,\r\n {\r\n webApiAction: \"ZIT/Objekte/Ziel\",\r\n webApiOrderBy: orderBy\r\n }, {\r\n getCustomWhere: getCustomWhere,\r\n getCustomFilters: getCustomFilter\r\n });\r\n return data;\r\n }\r\n}\r\n","export enum Kontakttyp {\r\n Telefon = 0,\r\n Mobil = 1,\r\n Fax = 2,\r\n Email = 3,\r\n Hyperlink = 4\r\n}","export {CommandServerData} from \"./command-server-data\";\r\nexport {Commands} from \"./commands\";\r\nexport {ContextMenu} from \"./context-menu\";\r\nexport {EditPopups} from \"./edit-popups\";\r\nexport {FormBase} from \"./form-base\";\r\nexport {Functions} from \"./functions\";\r\nexport {Models} from \"./models\";\r\nexport {NestedForms} from \"./nested-forms\";\r\nexport {Variables} from \"./variables\";\r\nexport {ViewItem} from \"./view-item\";","import {\r\n autoinject\r\n} from \"aurelia-framework\";\r\nimport {\r\n EventAggregator\r\n} from \"aurelia-event-aggregator\";\r\nimport {\r\n JsonService\r\n} from \"./json-service\";\r\nimport {\r\n RestService\r\n} from \"./rest-service\";\r\n\r\n@autoinject\r\nexport class NotificationService {\r\n private _socket: WebSocket;\r\n private _manualClose: boolean;\r\n\r\n constructor(\r\n private eventAggregator: EventAggregator,\r\n private json: JsonService,\r\n private rest: RestService\r\n ) { }\r\n\r\n subscribe(): void {\r\n this._manualClose = false;\r\n this._socket = new WebSocket(this.rest.getWebSocketUrl(\"base/Notification/Socket\"));\r\n\r\n this._socket.onmessage = (e) => {\r\n const data = this.json.parse(e.data);\r\n\r\n this.eventAggregator.publish(data.Type, data.Data);\r\n }\r\n this._socket.onclose = (e) => {\r\n if (!this._manualClose) {\r\n setTimeout(this.tryToReconnect.bind(this), 6000);\r\n }\r\n\r\n this._socket = null;\r\n this._manualClose = false;\r\n };\r\n }\r\n\r\n unsuscribe(): void {\r\n if (this._socket) {\r\n this._manualClose = true;\r\n this._socket.close();\r\n }\r\n }\r\n\r\n private tryToReconnect(): void {\r\n if (this._socket == void 0) {\r\n this.subscribe();\r\n return;\r\n } \r\n \r\n this._socket.close();\r\n }\r\n}\r\n","import {\r\n autoinject,\r\n singleton,\r\n TaskQueue\r\n} from \"aurelia-framework\";\r\nimport {\r\n FormBase\r\n} from \"../classes/form-base\";\r\nimport * as Interfaces from \"../interfaces/export\";\r\nimport { NestedForm } from '../interfaces/nested-form-x';\r\n\r\n@autoinject\r\n@singleton(true)\r\nexport class NestedForms {\r\n private form: FormBase;\r\n private nestedForms = {};\r\n\r\n constructor(\r\n private taskQueue: TaskQueue\r\n ) {}\r\n\r\n addInfo(id: string, mappings: Interfaces.IMapping[]) {\r\n this.nestedForms[id] = {\r\n id: id,\r\n mappings: mappings\r\n };\r\n this.createMappings(id, mappings);\r\n } \r\n getInfo(id: string): NestedForm {\r\n return this.nestedForms[id];\r\n }\r\n getNestedForms(): FormBase[] {\r\n const arr: FormBase[] = [];\r\n\r\n for (let key in this.nestedForms) {\r\n const form: FormBase = this.form[key];\r\n \r\n if (!form) {\r\n continue;\r\n }\r\n \r\n arr.push(form);\r\n arr.push(...form.nestedForms.getNestedForms());\r\n }\r\n\r\n return arr;\r\n }\r\n createMappings(id: string, mappings: Interfaces.IMapping[]) {\r\n for (let mapping of mappings) {\r\n this.form.binding.observe({\r\n scopeContainer: this.form.scopeContainer,\r\n expression: mapping.binding.bindToFQ,\r\n callback: (newValue) => {\r\n const setVariable = () => {\r\n let nestedForm: FormBase = this.form[id];\r\n if (!nestedForm) {\r\n return false;\r\n }\r\n\r\n nestedForm.variables.data[mapping.to] = newValue;\r\n return true;\r\n }\r\n\r\n if (!setVariable()) {\r\n this.taskQueue.queueTask(() => {\r\n if (!setVariable()) {\r\n return;\r\n }\r\n })\r\n }\r\n },\r\n checkPrimitiveType: true\r\n });\r\n }\r\n }\r\n\r\n registerForm(form: FormBase) {\r\n if (this.form) {\r\n throw new Error(\"Form was already registered\");\r\n }\r\n\r\n this.form = form;\r\n }\r\n\r\n dispose() {\r\n }\r\n}\r\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 {\r\n computedFrom,\r\n Controller\r\n} from \"aurelia-framework\";\r\nimport {\r\n IViewItemModel\r\n} from \"../interfaces/view-item-model\";\r\n\r\nexport class ViewItem {\r\n constructor(viewModelItem: IViewItemModel) {\r\n this.title = viewModelItem.routeInfo.route.caption;\r\n this.moduleId = viewModelItem.moduleId;\r\n this.model = viewModelItem;\r\n this.isCurrent = true;\r\n }\r\n\r\n title: string;\r\n moduleId: any;\r\n model: IViewItemModel;\r\n isCurrent: boolean;\r\n controller?: Controller;\r\n customClassName?: string;\r\n isAttached: boolean;\r\n\r\n @computedFrom(\"isCurrent\", \"isAttached\", \"customClassName\")\r\n get className(): string {\r\n return (this.isCurrent \r\n ? \"t--view-current\"\r\n : \"t--view-history\") + (this.isAttached ? \" t--view-attached\" : \"\") + (this.customClassName ? ` ${this.customClassName}` : \"\");\r\n }\r\n}\r\n","export default {\r\n debug: true,\r\n testing: true\r\n};\r\n","import {\r\n autoinject,\r\n singleton,\r\n TaskQueue\r\n} from \"aurelia-framework\";\r\nimport {\r\n EventAggregator\r\n} from \"aurelia-event-aggregator\";\r\nimport {\r\n FormBase\r\n} from \"../classes/form-base\";\r\nimport {\r\n ToolbarService\r\n} from \"../services/toolbar-service\";\r\nimport {\r\n PopupInfoService\r\n} from \"../services/popup-info-service\";\r\nimport {\r\n SimpleWidgetCreatorService\r\n} from \"../widget-services/simple-widget-creator-service\";\r\nimport {\r\n IEditPopupHiddenEventArgs,\r\n IEditPopupShownEventArgs,\r\n IEditPopupModelLoadedEventArgs\r\n} from \"../event-args/export\";\r\nimport {\r\n CustomEvent\r\n} from \"../../base/classes/custom-event\";\r\nimport {\r\n IViewScrollInfo\r\n} from \"../../base/interfaces/export\";\r\nimport * as Interfaces from \"../interfaces/export\";\r\n\r\n@autoinject\r\n@singleton(true)\r\nexport class EditPopups {\r\n private _form: FormBase;\r\n private _editPopups: Interfaces.IEditPopup[] = [];\r\n private _options: IEditPopupShowOptions;\r\n\r\n constructor(\r\n private simpleWidgetCreator: SimpleWidgetCreatorService,\r\n private toolbar: ToolbarService,\r\n private popupInfo: PopupInfoService,\r\n private taskQueue: TaskQueue,\r\n private eventAggregator: EventAggregator,\r\n public onEditPopupShown: CustomEvent,\r\n public onEditPopupHidden: CustomEvent,\r\n public onEditPopupModelLoaded: CustomEvent\r\n ) {}\r\n\r\n addInfo(editPopup: Interfaces.IEditPopup) {\r\n this._editPopups.push(editPopup);\r\n this.createOptions(editPopup);\r\n }\r\n getInfo(id: string): Interfaces.IEditPopup {\r\n return this._editPopups.find(c => c.id === id);\r\n \r\n }\r\n async show(id: string, viewScrollInfo: IViewScrollInfo) {\r\n return this.showEx({\r\n idEditPopup: id,\r\n viewScrollInfo: viewScrollInfo\r\n });\r\n }\r\n async showEx(options: IEditPopupShowOptions) {\r\n this._options = options;\r\n\r\n const saveResult = await this._form.saveIfDirty();\r\n if (!saveResult.isValid) {\r\n return;\r\n }\r\n\r\n const editPopup = this._editPopups.find(c => c.id === options.idEditPopup);\r\n\r\n if (!editPopup) {\r\n throw new Error(`No edit popup with id ${options.idEditPopup} found`);\r\n }\r\n\r\n const instance: DevExpress.ui.dxPopup = this._form[editPopup.id].instance;\r\n\r\n let showInstance = true;\r\n if (!editPopup.isInitialized) {\r\n this.initializeContent(instance, editPopup);\r\n\r\n //wird durch onContentTemplateRendered ausgelöst\r\n showInstance = false;\r\n }\r\n\r\n const editPopupFormBase: FormBase = this._form[editPopup.idContent]\r\n editPopupFormBase.viewScrollInfo = options.viewScrollInfo;\r\n\r\n if (showInstance) {\r\n instance.show();\r\n }\r\n }\r\n\r\n registerForm(form: FormBase) {\r\n if (this._form) {\r\n throw new Error(\"Form was already registered\");\r\n }\r\n\r\n this._form = form;\r\n }\r\n\r\n dispose() {\r\n this.onEditPopupHidden.dispose();\r\n this.onEditPopupModelLoaded.dispose();\r\n this.onEditPopupShown.dispose();\r\n }\r\n\r\n private createOptions(editPopup: Interfaces.IEditPopup) {\r\n this.simpleWidgetCreator.addPopup(this._form, editPopup, false);\r\n }\r\n private initializeContent(instance: DevExpress.ui.dxPopup, editPopup: Interfaces.IEditPopup) {\r\n editPopup.isInitialized = true;\r\n\r\n this._form[editPopup.options.optionsName].onContentTemplateRendered = (e) => {\r\n this.taskQueue.queueTask(() => {\r\n e.instance.show();\r\n });\r\n };\r\n\r\n instance.option(\"deferRendering\", false);\r\n\r\n const popup: DevExpress.ui.dxPopup = this._form[editPopup.id].instance;\r\n const content: FormBase = this._form[editPopup.idContent];\r\n\r\n content.models.onLoaded.register(r => {\r\n const modelLoadedArgs = {\r\n editPopup: editPopup,\r\n model: r.model,\r\n data: r.data\r\n };\r\n\r\n if (this._options.modelLoaded) {\r\n this._options.modelLoaded(content, modelLoadedArgs);\r\n }\r\n\r\n return this.onEditPopupModelLoaded.fire(modelLoadedArgs);\r\n });\r\n\r\n content.models.onSaved.register(async e => {\r\n if (this._options.savedCallback) {\r\n this._options.savedCallback(content);\r\n }\r\n });\r\n\r\n content.callOnCommandsLoaded(() => {\r\n const toolbarOptions = this.toolbar.createToolbarOptions(\r\n content.scopeContainer,\r\n content.title, \r\n content.commands.getCommands());\r\n\r\n content.binding.observe({\r\n scopeContainer: content.scopeContainer,\r\n expression: \"title\",\r\n callback: (newVal) => {\r\n toolbarOptions.title = newVal;\r\n }\r\n });\r\n\r\n this._form[`${editPopup.id}Toolbar`] = toolbarOptions;\r\n });\r\n\r\n popup.on({\r\n showing: (e) => {\r\n this.popupInfo.onShowPopup({\r\n owner: this._form,\r\n popup: e.component,\r\n form: content,\r\n executeCommand: (idCommand) => {\r\n content.executeCommand(idCommand);\r\n },\r\n handleChangedData: () => {\r\n return content.handleChangedData();\r\n },\r\n hasChangedData: () => {\r\n return content.models.hasChangedData();\r\n }\r\n });\r\n },\r\n shown: () => {\r\n editPopup.mappings.forEach(m => {\r\n content.variables.data[m.to] = this._form.binding.evaluate(\r\n this._form.scope, \r\n m.binding.bindToFQ\r\n );\r\n });\r\n\r\n this.onEditPopupShown.fire({\r\n editPopup: editPopup\r\n });\r\n this.eventAggregator.publish(\"editpopup:shown\", {\r\n form: content\r\n });\r\n\r\n content.dispatchOnReady();\r\n },\r\n hiding: (e) => {\r\n this.popupInfo.onHidePopup(e.component);\r\n\r\n if (this._options.closeCallback) {\r\n this._options.closeCallback(content);\r\n }\r\n\r\n this.eventAggregator.publish(\"editpopup:hiding\", {\r\n form: content\r\n });\r\n },\r\n hidden: async () => {\r\n editPopup.mappings.forEach(m => {\r\n content.variables.data[m.to] = null;\r\n });\r\n\r\n const hasDataReloaded = await this._form.reloadIfServerHasNewVersion();\r\n\r\n this.onEditPopupHidden.fire({\r\n editPopup: editPopup,\r\n hasDataReloaded: hasDataReloaded\r\n });\r\n this.eventAggregator.publish(\"editpopup:hidden\", {\r\n form: content\r\n });\r\n }\r\n });\r\n }\r\n}\r\n\r\nexport interface IEditPopupShowOptions {\r\n idEditPopup: string;\r\n viewScrollInfo?: IViewScrollInfo;\r\n modelLoaded?: {(form: FormBase, ev: IEditPopupModelLoadedEventArgs): void};\r\n savedCallback?: {(form: FormBase): void};\r\n closeCallback?: {(form: FormBase): void};\r\n}","module.exports = \"
${data.Bezeichnung}
\";","import { observable } from \"aurelia-binding\";\r\nimport { EventAggregator, Subscription } from \"aurelia-event-aggregator\";\r\nimport { autoinject, computedFrom, transient } from \"aurelia-framework\";\r\nimport { DataSourceService, FileService } from \"../../../../framework/base/export\";\r\nimport { DialogConfirmService, ModelUtilsService } from \"../../../../framework/forms/export\";\r\nimport { IZitTagOptions } from \"../../../../zit-ui/elements/zit-tag/export\";\r\nimport { IZitToolbarOptions } from \"../../../../zit-ui/elements/zit-toolbar/zit-toolbar-options\";\r\nimport { Datei } from \"../../../elements/datei/datei\";\r\nimport { TerminEmpfaenger } from \"../../../elements/export\";\r\nimport { SelectionModeTyp } from \"../../../elements/lehrling-auswaehlen/lehrling-auswaehlen\";\r\nimport { DialogService } from \"../../../services/dialog-service\";\r\nimport { CustomEditPopupService, StartupService } from \"../../../services/export\";\r\nimport { FormPopupService } from \"../../../services/form-popup-service\";\r\nimport { NachrichtService } from \"../../../services/nachricht-service\";\r\nimport { JsonService } from \"./../../../../framework/base/services/json-service\";\r\nimport { LocalizationService } from \"./../../../../framework/base/services/localization-service\";\r\nimport { LocationService } from \"./../../../../framework/base/services/location-service\";\r\nimport { RestService } from \"./../../../../framework/base/services/rest-service\";\r\nimport { ContextMenu } from \"./../../../../framework/forms/classes/context-menu\";\r\nimport { FormBase } from \"./../../../../framework/forms/classes/form-base\";\r\nimport { ICommandData } from \"./../../../../framework/forms/interfaces/command-data\";\r\nimport { DokumentListView } from \"./../../../elements/dokument-list-view/dokument-list-view\";\r\nimport { ErweiterteSuche } from \"./../../../elements/erweiterte-suche/erweiterte-suche\";\r\nimport { LehrlingAuswaehlen } from \"./../../../elements/lehrling-auswaehlen/lehrling-auswaehlen\";\r\nimport { Share } from \"./../../../elements/share/share\";\r\nimport { IdxSelectBoxComponent } from \"./../../../interfaces/dx-components\";\r\nimport { AnsprechpersonService } from \"./../../../services/ansprechperson-service\";\r\n\r\n@transient()\r\n@autoinject\r\nexport class TerminEditUtils {\r\n private _terminChangedSubscription: Subscription;\r\n\r\n constructor(\r\n private _ansprechpersonService: AnsprechpersonService,\r\n private _restService: RestService,\r\n private _jsonService: JsonService,\r\n private _locationService: LocationService,\r\n private _localizationService: LocalizationService,\r\n private _formPopupService: FormPopupService,\r\n private _modelUtilsService: ModelUtilsService,\r\n private _dialogService: DialogService,\r\n private _nachrichtService: NachrichtService,\r\n private _dialogConfirmService: DialogConfirmService,\r\n private _startupService: StartupService,\r\n private _fileService: FileService,\r\n private _customEditPopupService: CustomEditPopupService,\r\n private _dataSourceService: DataSourceService,\r\n private _eventAggregator: EventAggregator\r\n ) { }\r\n\r\n @observable idSelectedEmpfaenger: number;\r\n\r\n form: FormBase;\r\n meldenBeiDataSource: string[];\r\n terminDataSource: string[];\r\n isEmpfaengergruppeReadOnly: boolean = false;\r\n selectedEmpfaenger: any;\r\n selectedEmpfaengerName: any;\r\n erweiterteSucheWertQuery: any;\r\n\r\n actionCommand: ICommandData = {\r\n id: \"actionCommand\",\r\n icon: \"fas fa-share-alt\",\r\n tooltip: \"zit.aktionen\",\r\n sortIndex: 99,\r\n isVisibleExpression: \"r_share.canShare\",\r\n execute: (executeOptions) => {\r\n const share: Share = this.form[\"r_share\"];\r\n share.showCtxMenu(executeOptions.event);\r\n }\r\n };\r\n\r\n meldenBeiSelectBoxOptions: DevExpress.ui.dxSelectBoxOptions = {\r\n acceptCustomValue: true,\r\n bindingOptions: {\r\n value: \"models.data.$m_Termin.Kopf.MeldenBei\",\r\n dataSource: \"functions.$f_TerminEditUtils.meldenBeiDataSource\"\r\n }\r\n };\r\n\r\n hauptterminSelectBoxOptions: DevExpress.ui.dxSelectBoxOptions = {\r\n acceptCustomValue: true,\r\n bindingOptions: {\r\n value: \"models.data.$m_Termin.Kopf.Haupttermin\",\r\n dataSource: \"functions.$f_TerminEditUtils.terminDataSource\"\r\n },\r\n placeholder: \"Auswählen oder neuen Wert erfassen...\"\r\n };\r\n\r\n benutzerTagOptions: IZitTagOptions = {\r\n isClickEnabled: false,\r\n textExpression: \"item.Kopf.Benutzer.NameGesamt ? item.Kopf.Benutzer.NameGesamt : item.Kopf.Benutzer.Nachname\",\r\n icon: {\r\n text: \"B\"\r\n }\r\n };\r\n\r\n empfaengerTagOptions: IZitTagOptions = {\r\n icon: {\r\n faIcon: \"far fa-address-book\"\r\n },\r\n textExpression: \"item.EmpfaengerName ? item.EmpfaengerName : item.Titel\",\r\n infoList: [\r\n {\r\n icon: {\r\n faIcon: \"fas fa-info-circle\"\r\n },\r\n onClick: (e, data) => {\r\n e.stopPropagation();\r\n e.preventDefault();\r\n\r\n this._locationService.goTo({\r\n url: `#Objekte/Person/${data.IdPerson}`,\r\n currentViewModel: this.form\r\n });\r\n }\r\n }, {\r\n icon: {\r\n faIcon: \"fas fa-beer\",\r\n backgroundColor: \"#E67F22\"\r\n },\r\n isVisibleExpression: \"item._HasEinsch\",\r\n tooltip: \"Einschätzungen des Lehrlings vorhanden\",\r\n onClick: (ev, data) => {\r\n ev.stopPropagation();\r\n ev.preventDefault();\r\n\r\n if (data._IdEinsch) {\r\n this.form.models.data.$m_TerminEmpfEinschEdit = {\r\n Id: data._IdEinsch\r\n };\r\n this.form.editPopups.show(\"terminEmpfEinschEditPopup\", null);\r\n } else {\r\n DevExpress.ui.notify(\r\n \"Es wurde noch keine Einschätzung erstellt\",\r\n \"info\",\r\n 3000\r\n );\r\n }\r\n }\r\n }, {\r\n icon: {\r\n faIconExpression: \"item.StatusZustandTagSymbol\"\r\n },\r\n isVisibleExpression: \"item.IdStatusZustand != null\",\r\n backgroundColorExpression: \"item.StatusZustandFarbe\"\r\n }],\r\n onClick: (e, data) => {\r\n if (this.isHeartbase) {\r\n e.stopPropagation();\r\n e.preventDefault();\r\n\r\n this._locationService.goTo({\r\n url: `#Objekte/Person/${data.IdPerson}`,\r\n currentViewModel: this.form\r\n });\r\n } else {\r\n const terminEmpfaenger: TerminEmpfaenger = this.form[\"r_terminEmpfaengerStatusElement\"];\r\n terminEmpfaenger.showStatusPopup(this.form.models.data.$m_Termin.Id, data, this.onEmpfaengerStatusGeaendert.bind(this));\r\n }\r\n },\r\n onDeleteClick: async(e, data) => {\r\n e.stopPropagation();\r\n\r\n const r = await this._dialogService.askZuteilungLoeschen();\r\n if (!r) {\r\n return;\r\n }\r\n\r\n this.deleteEmpfaenger(data);\r\n },\r\n };\r\n\r\n veroeffentlichenEmpfaengerTagOptions: IZitTagOptions = {\r\n icon: {\r\n faIcon: \"far fa-address-book\"\r\n },\r\n textExpression: \"item.EmpfaengerName ? item.EmpfaengerName : item.Titel\",\r\n infoList: [\r\n {\r\n icon: {\r\n faIcon: \"fas fa-info-circle\"\r\n },\r\n onClick: (e, data) => {\r\n e.stopPropagation();\r\n e.preventDefault();\r\n\r\n this._locationService.goTo({\r\n url: `#Objekte/Person/${data.IdPerson}`,\r\n });\r\n }\r\n }, {\r\n icon: {\r\n faIconExpression: \"item.StatusZustandTagSymbol\"\r\n },\r\n isVisibleExpression: \"item.IdStatusZustand != null\",\r\n backgroundColorExpression: \"item.StatusZustandFarbe\"\r\n }],\r\n onClick: (e, data) => {\r\n const terminEmpfaenger: TerminEmpfaenger = this.form[\"r_terminEmpfaengerStatusElement\"];\r\n terminEmpfaenger.showStatusPopup(this.form.models.data.$m_Termin.Id, data, this.onEmpfaengerStatusGeaendert.bind(this));\r\n }\r\n };\r\n\r\n veroeffentlichenEmpfaengerGelesenTagOptions: IZitTagOptions = {\r\n icon: {\r\n faIcon: \"fas fa-user\"\r\n },\r\n textExpression: `item`\r\n };\r\n\r\n zustandTagOptions: IZitTagOptions = {\r\n icon: {\r\n faIconExpression: \"item.Kopf.TerminBestaetigungZustand.TagSymbol\",\r\n backgroundColorExpression: \"item.Kopf.TerminBestaetigungZustand.Farbe\"\r\n },\r\n textExpression: `item.Kopf.TerminBestaetigungZustand.Bezeichnung | zitMoment:\"zustand\":item.Kopf.TerminBestaetigungZustandDatum`,\r\n onClick: (e, data) => {\r\n this.form.models.data.$m_ZustandAendern = data.Kopf.TerminBestaetigungZustand;\r\n this.form.editPopups.show(\"zustandAendernEditPopup\", null);\r\n }\r\n };\r\n\r\n veroeffentlichenToolbarOptions: IZitToolbarOptions = {\r\n title: \"termin.veroeffentlichen\",\r\n smallToolbar: true,\r\n items: [{\r\n id: \"terminEditUtilsFilterButtonCommand\",\r\n icon: \"fas fa-filter\",\r\n execute: (e) => {\r\n this.getErweiterteSuche()\r\n .showPopup();\r\n }\r\n }, {\r\n id: \"terminEditUtilsErweiterteSucheFilterButtonCommand\",\r\n icon: \"fas fa-caret-down\",\r\n className: \"z--button z--button-no-round\",\r\n execute: (e) => {\r\n this.showErweiterteSucheContextMenu(e.event);\r\n }\r\n }]\r\n };\r\n\r\n dokumentToolbarOptions: IZitToolbarOptions = {\r\n title: \"termin.dokument-toolbar-titel\",\r\n smallToolbar: true,\r\n items: [{\r\n id: \"showDokumentToolbarOptionen\",\r\n icon: \"fas fa-plus\",\r\n execute: async(e) => {\r\n if (!this.form.models.data.$m_Termin.Id) {\r\n await this.form.save();\r\n }\r\n\r\n const ctxMenu = new ContextMenu();\r\n\r\n if (this.form[\"r_dokumentElement\"]) {\r\n ctxMenu.items = [{\r\n text: this._localizationService.translateOnce(\"termin.dokument-toolbar-item-info-dokument\"),\r\n execute: () => {\r\n const dokumentListView: DokumentListView = this.form[\"r_dokumentElement\"];\r\n dokumentListView.onDokumentAddClicked();\r\n }\r\n }, {\r\n text: this._localizationService.translateOnce(\"termin.dokument-toolbar-item-dokument-erstellen\"),\r\n execute: () => {\r\n const share: Share = this.form[\"r_share\"];\r\n share.dokumentLautVorlageErstellen.showPopup(\r\n [this.form.models.data.$m_Termin.Id],\r\n \"TIP.ZIT.Business.Entities.Objekte.Termine.Termin\");\r\n }\r\n }];\r\n } else if (this.form[\"r_dateien\"]) {\r\n ctxMenu.items = [{\r\n text: this._localizationService.translateOnce(\"termin.dokument-toolbar-item-info-dokumente\"),\r\n execute: () => {\r\n setTimeout(() => {\r\n const datei: Datei = this.form[\"r_dateien\"];\r\n datei.onDokumentClick();\r\n }, 0);\r\n }\r\n }, {\r\n text: this._localizationService.translateOnce(\"termin.dokument-toolbar-item-info-bilder\"),\r\n execute: () => {\r\n setTimeout(() => {\r\n const datei: Datei = this.form[\"r_dateien\"];\r\n datei.onCameraClick();\r\n }, 0);\r\n }\r\n }, {\r\n text: this._localizationService.translateOnce(\"termin.dokument-toolbar-item-info-videos\"),\r\n execute: () => {\r\n setTimeout(() => {\r\n const datei: Datei = this.form[\"r_dateien\"];\r\n datei.onVideoClick();\r\n }, 0);\r\n }\r\n }, {\r\n text: this._localizationService.translateOnce(\"termin.dokument-toolbar-item-info-galerie\"),\r\n execute: async() => {\r\n const r = await this.form.saveIfDirty();\r\n if (!r.isValid) {\r\n return;\r\n }\r\n\r\n const datei: Datei = this.form[\"r_dateien\"];\r\n datei.onAddToGalerieClick(() => {\r\n this.form.save();\r\n });\r\n }\r\n }];\r\n }\r\n\r\n ctxMenu.show(event.target);\r\n }\r\n }]\r\n };\r\n\r\n filterButtonOptions: DevExpress.ui.dxButtonOptions = {\r\n icon: \"fas fa-filter\",\r\n elementAttr: {\r\n class: \"z--button z--button-round\"\r\n },\r\n onClick: () => {\r\n this.getErweiterteSuche()\r\n .showPopup();\r\n }\r\n };\r\n\r\n filterErweitertButtonOptions: DevExpress.ui.dxButtonOptions = {\r\n icon: \"fas fa-caret-down\",\r\n elementAttr: {\r\n class: \"z--button z--button-no-round\"\r\n },\r\n onClick: (e) => {\r\n this.showErweiterteSucheContextMenu(e.event);\r\n }\r\n };\r\n\r\n empfaengerZuteilenButtonOptions: DevExpress.ui.dxButtonOptions = {\r\n icon: \"fas fa-plus\",\r\n elementAttr: {\r\n class: \"z--button z--button-round\"\r\n },\r\n onClick: () => {\r\n const terminEmpfaenger: TerminEmpfaenger = this.form[\"r_terminEmpfaengerStatusElement\"];\r\n\r\n const data = {\r\n IdTermin: this.form.models.data.$m_Termin.Id\r\n };\r\n\r\n terminEmpfaenger.showStatusPopup(this.form.models.data.$m_Termin.Id, data, this.onEmpfaengerStatusGeaendert.bind(this));\r\n }\r\n };\r\n\r\n trainerTagOptions: IZitTagOptions = {\r\n icon: {\r\n textExpression: \"item.Ansprechperson.FunktionTagText\"\r\n },\r\n textExpression: \"item.Ansprechperson.Titel\",\r\n onClick: (_, data) => {\r\n this._locationService.goTo({\r\n url: `Objekte/Ansprechperson/${data.IdAnsprechperson}`,\r\n currentViewModel: this.form\r\n });\r\n },\r\n onDeleteClick: async(ev: Event, data) => {\r\n ev.preventDefault();\r\n ev.stopPropagation();\r\n\r\n const r = await this._dialogService.askZuteilungLoeschen();\r\n if (!r) {\r\n return;\r\n }\r\n\r\n const index = this.form.models.data.$m_Termin.Trainer.indexOf(data);\r\n if (index < 0) {\r\n return;\r\n }\r\n\r\n this.form.models.data.$m_Termin.Trainer.splice(index, 1);\r\n this._modelUtilsService.setDirty(this.form.models.data.$m_Termin);\r\n }\r\n };\r\n\r\n nachrichtengruppeToolbarOptions: IZitToolbarOptions = {\r\n title: \"termin.nachrichtengruppe\",\r\n smallToolbar: true,\r\n items: [{\r\n id: \"addGruppe\",\r\n icon: \"fas fa-plus\",\r\n isVisibleExpression: \"functions.$f_TerminEditUtils.canNachrichtengruppeErstellen\",\r\n execute: async(e) => {\r\n const r = await this.form.saveIfDirty();\r\n if (!r.isValid) {\r\n return;\r\n }\r\n\r\n const dialogResult = await this._dialogConfirmService.show({\r\n title: this._localizationService.translateOnce(\"base.question\"),\r\n message: this._localizationService.translateOnce(\"termin.frage-nachrichtengruppe-erstellen\")\r\n });\r\n\r\n if (!dialogResult) {\r\n return;\r\n }\r\n\r\n await this._restService.post({\r\n url: this._restService.getApiUrl(\"ZIT/Nachricht/GruppeErstellen\"),\r\n data: {\r\n IdObjekt: this.form.models.data.$m_Termin.Id\r\n },\r\n increaseLoadingCount: true\r\n });\r\n\r\n this.form.models.reloadAll();\r\n\r\n if (this.form.models.data.$m_Termin._NachrichtGruppe && this.form.models.data.$m_Termin._NachrichtGruppe.Id) {\r\n const info = await this._nachrichtService.getNachrichtGruppeBenutzerInfoForObjekt(\r\n \"TIP.ZIT.Business.Entities.Objekte.Termine.Termin\",\r\n this.form.models.data.$m_Termin.Id\r\n );\r\n\r\n if (info) {\r\n this._nachrichtService.goToNachrichtList(info, this.form);\r\n }\r\n }\r\n }\r\n }]\r\n };\r\n\r\n nachrichtengruppeTagOptions: IZitTagOptions = {\r\n icon: {\r\n faIcon: \"far fa-comment-dots\"\r\n },\r\n textExpression: \"item._NachrichtGruppe.Bezeichnung\",\r\n infoList: [{\r\n icon: {\r\n faIcon: \"fas fa-info-circle\"\r\n },\r\n onClick: (ev, data) => {\r\n this._customEditPopupService.nachrichtGruppe.show({\r\n mappings: {\r\n \"$id\": data._NachrichtGruppe.Id\r\n }\r\n });\r\n }\r\n }],\r\n onDeleteClick: async(ev: Event, data) => {\r\n ev.preventDefault();\r\n ev.stopPropagation();\r\n\r\n const r = await this.form.saveIfDirty();\r\n if (!r.isValid) {\r\n return;\r\n }\r\n\r\n const dialogResult = await this._dialogConfirmService.show({\r\n title: this._localizationService.translateOnce(\"base.question\"),\r\n message: this._localizationService.translateOnce(\"termin.frage-nachrichtengruppe-loeschen\")\r\n });\r\n\r\n if (!dialogResult) {\r\n return;\r\n }\r\n\r\n await this._restService.post({\r\n url: this._restService.getApiUrl(\"ZIT/Nachricht/GruppeLoeschen\"),\r\n data: {\r\n IdObjekt: this.form.models.data.$m_Termin.Id\r\n },\r\n increaseLoadingCount: true\r\n });\r\n\r\n this.form.models.reloadAll();\r\n }\r\n };\r\n\r\n @computedFrom(\"form.models.data.$m_Termin.Empfaenger\", \"erweiterteSucheWertQuery\")\r\n get isTypAuswahlEnabled(): boolean {\r\n return (this.form.models.data.$m_Termin\r\n && this.form.models.data.$m_Termin.Empfaenger\r\n && this.form.models.data.$m_Termin.Empfaenger.length > 0)\r\n || (this.erweiterteSucheWertQuery\r\n && this.erweiterteSucheWertQuery.length > 0);\r\n }\r\n\r\n @computedFrom(\"form.models.data.$m_Termin._NachrichtGruppe.Id\")\r\n get canNachrichtengruppeErstellen() {\r\n return !!this.form.models.data.$m_Termin\r\n && (!this.form.models.data.$m_Termin._NachrichtGruppe\r\n || !this.form.models.data.$m_Termin._NachrichtGruppe.Id);\r\n }\r\n\r\n get isHeartbase() {\r\n return this.form\r\n && this.form.id == \"termin-heartbase-edit\";\r\n }\r\n\r\n bind(form: FormBase) {\r\n this.form = form;\r\n\r\n this.nachrichtengruppeToolbarOptions.scopeContainer = form.scopeContainer;\r\n\r\n if (this.isHeartbase) {\r\n this.dokumentToolbarOptions.title = \"termin.dokument-bilder-video-toolbar-titel\";\r\n\r\n delete this.empfaengerTagOptions.icon.faIcon;\r\n this.empfaengerTagOptions.icon.text = \"L\";\r\n }\r\n\r\n form.models.onLoaded.register((args) => {\r\n if (args.model.id == \"$m_Termin\" && args.data) {\r\n if (args.data.Kopf) {\r\n if (!args.data.Id && args.data.Kopf && args.data.Kopf._IdGeschaeftspartner) {\r\n args.data.Kopf.IdGeschaeftspartner = args.data.Kopf._IdGeschaeftspartner;\r\n }\r\n\r\n if (args.data.Kopf.IdGeschaeftspartner) {\r\n this.loadMeldenBeiDataSource(args.data.Kopf.IdGeschaeftspartner);\r\n this.loadTermineDataSource(args.data.Kopf.IdGeschaeftspartner);\r\n }\r\n\r\n if (args.data.Empfaenger && args.data.Empfaenger.length > 0) {\r\n this.modifyEmpfaengerList(args.data.Empfaenger);\r\n }\r\n\r\n if (args.data.Kopf.VeroeffentlichenFilter && args.data.Kopf.VeroeffentlichenFilter.length > 0) {\r\n this.erweiterteSucheWertQuery = this._jsonService.parse(args.data.Kopf.VeroeffentlichenFilter);\r\n\r\n this.getErweiterteSuche()\r\n .loadFilter(this.erweiterteSucheWertQuery);\r\n }\r\n }\r\n }\r\n return Promise.resolve();\r\n });\r\n form.onSaving.register((args) => {\r\n args.form.models.data.$m_Termin.Kopf.VeroeffentlichenFilter = this.erweiterteSucheWertQuery\r\n ? this._jsonService.stringify(this.erweiterteSucheWertQuery)\r\n : null;\r\n\r\n return Promise.resolve();\r\n });\r\n form.editPopups.onEditPopupHidden.register((args) => {\r\n if (args.editPopup.id === \"zustandAendernEditPopup\") {\r\n this.form.models.loadModelWithKeyId();\r\n } else if (args.editPopup.id === \"terminEmpfEinschEditPopup\") {\r\n this.form.models.reloadAll();\r\n }\r\n\r\n return Promise.resolve();\r\n });\r\n form.onEditorValueChanged.register((args) => {\r\n if (args.binding.dataContext == \"$m_Termin\"\r\n && args.binding.bindTo == \"Kopf.IdGeschaeftspartner\") {\r\n const selectBoxMeldenBei: IdxSelectBoxComponent = this.form[\"r_terminMeldenBei\"];\r\n if (!selectBoxMeldenBei) {\r\n return;\r\n }\r\n\r\n this.loadMeldenBeiDataSource(args.value);\r\n this.loadTermineDataSource(args.value);\r\n\r\n selectBoxMeldenBei.setOption({ value: null });\r\n\r\n const selectBoxHaupttermin: IdxSelectBoxComponent = this.form[\"r_terminHaupttermin\"];\r\n selectBoxMeldenBei.setOption({ value: null });\r\n }\r\n\r\n return Promise.resolve();\r\n });\r\n\r\n this._terminChangedSubscription = this._eventAggregator.subscribe(\"termin:changed\", (ev) => {\r\n const data = this.form.models.data.$m_Termin;\r\n if (data && data.Id == ev.idTermin) {\r\n this.form.models.reloadAll();\r\n }\r\n });\r\n }\r\n unbind() {\r\n this._terminChangedSubscription.dispose();\r\n this._terminChangedSubscription = null;\r\n }\r\n\r\n async idSelectedEmpfaengerChanged(newVal) {\r\n if (!newVal) {\r\n return;\r\n }\r\n\r\n this.selectedEmpfaenger = {};\r\n\r\n await this.setEmpfaenger(newVal);\r\n }\r\n\r\n onPersonAddClick() {\r\n const lehrlingAuswaehlen: LehrlingAuswaehlen = this.form[\"r_lehrlingAuswaehlen\"];\r\n lehrlingAuswaehlen.show({\r\n selectionMode: SelectionModeTyp.multipe,\r\n callback: (selectedPersons) => {\r\n selectedPersons.forEach(async(idPerson)=> {\r\n await this.setEmpfaenger(idPerson);\r\n });\r\n }\r\n });\r\n }\r\n onTrainerAddClick() {\r\n this._formPopupService.formPopup.show({\r\n titel: this._localizationService.translateOnce(\"zit.trainer\"),\r\n data: {},\r\n formDef: \"ansprechperson\",\r\n onFormSubmit: (data) => {\r\n if (!this.form.models.data.$m_Termin.Trainer) {\r\n this.form.models.data.$m_Termin.Trainer = [];\r\n }\r\n\r\n const exists = this.form.models.data.$m_Termin.Trainer.some((t) => t.IdAnsprechperson == data.item.Id);\r\n if (exists) {\r\n return;\r\n }\r\n\r\n this.form.models.data.$m_Termin.Trainer.push({\r\n IdAnsprechperson: data.item.Id,\r\n Ansprechperson: {\r\n Titel: data.item.Titel,\r\n FunktionTagText: data.item.FunktionTagText\r\n }\r\n });\r\n this._modelUtilsService.setDirty(this.form.models.data.$m_Termin);\r\n }\r\n });\r\n }\r\n onStelleninseratAddClick() {\r\n this._formPopupService.formPopup.show({\r\n titel: this._localizationService.translateOnce(\"zit.stelleninserat\"),\r\n data: {},\r\n formDef: \"stelleninserat\",\r\n onFormSubmit: (data) => {\r\n if (!this.form.models.data.$m_Termin.Kopf.Stelleninserate) {\r\n this.form.models.data.$m_Termin.Kopf.Stelleninserate = [];\r\n }\r\n\r\n const exists = this.form.models.data.$m_Termin.Kopf.Stelleninserate.some((t) => t.IdStelleninserat == data.item.Id);\r\n if (exists) {\r\n return;\r\n }\r\n\r\n this.form.models.data.$m_Termin.Kopf.Stelleninserate.push({\r\n IdStelleninserat: data.item.Id,\r\n Stelleninserat: {\r\n Id: data.item.Id,\r\n Card: data.item.Card\r\n }\r\n });\r\n\r\n this._modelUtilsService.setDirty(this.form.models.data.$m_Termin);\r\n }\r\n });\r\n }\r\n async onStelleninseratDeleteClick(ev: CustomEvent) {\r\n const r = await this._dialogService.askZuteilungLoeschen();\r\n if (!r) {\r\n return;\r\n }\r\n\r\n const index = this.form.models.data.$m_Termin.Kopf.Stelleninserate.indexOf(ev.detail.item);\r\n if (index < 0) {\r\n return;\r\n }\r\n\r\n this.form.models.data.$m_Termin.Kopf.Stelleninserate.splice(index, 1);\r\n this._modelUtilsService.setDirty(this.form.models.data.$m_Termin);\r\n }\r\n async onTerminPersonAusStelleninseratHinz() {\r\n const q = await this._dialogConfirmService.show({\r\n title: this._localizationService.translateOnce(\"base.question\"),\r\n message: this._localizationService.translateOnce(\"termin.frage-person-aus-stelleninserat-hinzu\")\r\n });\r\n\r\n if (!q) {\r\n return;\r\n }\r\n\r\n const r = await this.form.saveIfDirty();\r\n if (!r.isValid) {\r\n return;\r\n }\r\n\r\n await this._restService.post({\r\n url: this._restService.getApiUrl(\"ZIT/Termin/EmpfAusStelleninseratHinzufuegen\"),\r\n data: {\r\n IdTermin: this.form.models.data.$m_Termin.Id\r\n },\r\n increaseLoadingCount: true\r\n });\r\n\r\n this.form.models.reloadAll();\r\n }\r\n async onTerminEinschaetzungErstellenClick() {\r\n const r = await this.form.saveIfDirty();\r\n if (!r.isValid) {\r\n return;\r\n }\r\n\r\n this.form.models.data.$m_TerminEmpfEinschEdit = {\r\n Id: 0\r\n };\r\n this.form.editPopups.show(\"terminEmpfEinschEditPopup\", null);\r\n }\r\n onStartDatumChanged() {\r\n const model = this.form.models.data.$m_Termin;\r\n\r\n if (!model || !model.Kopf || model.Kopf.EndeDatum) {\r\n return;\r\n }\r\n\r\n model.Kopf.EndeDatum = model.Kopf.StartDatum;\r\n }\r\n onExecuteSucheErweitert(event: any): void {\r\n this.erweiterteSucheWertQuery = event.detail.wertQueryList;\r\n }\r\n onDateiListChanged(ev: CustomEvent) {\r\n if (!ev.detail || !ev.detail.dateiList) {\r\n return;\r\n }\r\n\r\n const data = this.form.models.data.$m_Termin;\r\n this._modelUtilsService.setDirty(data);\r\n\r\n if (!data.Kopf.TerminDateien) {\r\n data.Kopf.TerminDateien = ev.detail.dateiList;\r\n }\r\n }\r\n\r\n private getErweiterteSuche(): ErweiterteSuche {\r\n return this.form[\"r_erweiterteSuche\"];\r\n }\r\n private showErweiterteSucheContextMenu(event): void {\r\n this.getErweiterteSuche()\r\n .showVorlageContextMenu(event, true);\r\n }\r\n\r\n private async loadMeldenBeiDataSource(id: number) {\r\n const ansprechpersonList = await this._ansprechpersonService\r\n .loadAnsprechpersonByGeschaeftspartner(id, [\"Name\"]);\r\n\r\n this.meldenBeiDataSource = ansprechpersonList.map((c) => c.Name);\r\n }\r\n\r\n private async loadTermineDataSource(id: number) {\r\n this.terminDataSource = await this._restService.get({\r\n url: `${this._restService.getApiUrl(\"ZIT/Termin/HauptterminList\")}?idGeschaeftspartner=${id}`\r\n });\r\n }\r\n\r\n private async modifyEmpfaengerList(empfaenger: any[]) {\r\n empfaenger.forEach((element) => {\r\n if (element.Person) {\r\n element.Titel = element.Person.Titel;\r\n }\r\n });\r\n }\r\n\r\n private deleteEmpfaenger(empfaenger: any) {\r\n const list: any[] = this.form.models.data.$m_Termin.Empfaenger;\r\n if (!list || !list.length) {\r\n return;\r\n }\r\n\r\n list.splice(list.indexOf(empfaenger), 1);\r\n this._modelUtilsService.setDirty(this.form.models.data.$m_Termin);\r\n }\r\n\r\n private async setPersonTitel(terminEmpfaenger: any) {\r\n if (!terminEmpfaenger.IdPerson) {\r\n return;\r\n }\r\n if (terminEmpfaenger.Titel && terminEmpfaenger.Titel.length > 0) {\r\n return;\r\n }\r\n\r\n const person = await this._restService.get({\r\n url: this._restService.getWebApiUrl(\"ZIT/Objekte/Person/\".concat(terminEmpfaenger.IdPerson)),\r\n getOptions: {\r\n columns: [\"Titel\"]\r\n }\r\n });\r\n\r\n if (!person) {\r\n return;\r\n }\r\n\r\n terminEmpfaenger.Titel = person.Titel;\r\n }\r\n private async setEmpfaengerStatus(terminEmpfaenger: any) {\r\n if (!terminEmpfaenger.IdStatusZustand) {\r\n return;\r\n }\r\n\r\n const zustand = await this._restService.get({\r\n url: this._restService.getWebApiUrl(\"ZIT/Stammdaten/Zustand/\".concat(terminEmpfaenger.IdStatusZustand)),\r\n getOptions: {\r\n columns: [\"Farbe\", \"TagSymbol\"]\r\n }\r\n });\r\n\r\n if (!zustand) {\r\n return;\r\n }\r\n\r\n terminEmpfaenger.StatusZustandFarbe = zustand.Farbe;\r\n terminEmpfaenger.StatusZustandTagSymbol = zustand.TagSymbol;\r\n }\r\n private async getEmpfaengerData(id: number): Promise {\r\n if (!id) {\r\n return;\r\n }\r\n\r\n const empfaenger: any = {\r\n IdTermin: this.form.models.data.$m_Termin.Id,\r\n IdPerson: id\r\n };\r\n\r\n await this.setPersonTitel(empfaenger);\r\n\r\n if (this.selectedEmpfaenger) {\r\n empfaenger.Bemerkung = this.selectedEmpfaenger.Bemerkung;\r\n empfaenger.StatusZustandCode = this.selectedEmpfaenger._StatusZustandCode;\r\n empfaenger._StatusZustandCode = this.selectedEmpfaenger._StatusZustandCode;\r\n }\r\n\r\n return empfaenger;\r\n }\r\n\r\n private async setEmpfaenger(idPerson: number) {\r\n const list: any[] = this.form.models.data.$m_Termin.Empfaenger || [];\r\n const alreadyExists = list.some((c) => c.IdPerson === idPerson);\r\n if (alreadyExists) {\r\n return;\r\n }\r\n\r\n const empfaenger = await this.getEmpfaengerData(idPerson);\r\n\r\n list.push(empfaenger);\r\n\r\n this.form.models.data.$m_Termin.Empfaenger = list;\r\n this._modelUtilsService.setDirty(this.form.models.data.$m_Termin);\r\n }\r\n\r\n private async onEmpfaengerStatusGeaendert(data) {\r\n await this.setPersonTitel(data);\r\n await this.setEmpfaengerStatus(data);\r\n\r\n if (!this.form.models.data.$m_Termin.Empfaenger) {\r\n this.form.models.data.$m_Termin.Empfaenger = [];\r\n }\r\n\r\n const list: any[] = this.form.models.data.$m_Termin.Empfaenger;\r\n const indexOf = list.indexOf(data);\r\n if (indexOf >= 0) {\r\n return;\r\n }\r\n\r\n list.push(data);\r\n }\r\n}\r\n","import { autoinject } from \"aurelia-framework\";\r\nimport { RestService, GlobalizationService } from \"../../framework/base/services/export\";\r\nimport { LoginprofilEinstellungenService, LoginprofilEinstellungTyp, ILoginprofilEinstellung } from \"./loginprofil-einstellungen-service\";\r\nimport { IErweiterteSucheObjektFeldData, ITextValue } from \"../interfaces/export\";\r\nimport { ObjektExportEigenschaftDatenTyp } from \"./../enumerations/export\";\r\n\r\n@autoinject\r\nexport class ErweiterteSucheService {\r\n constructor(\r\n private _loginprofilEinstellungenService: LoginprofilEinstellungenService,\r\n private _globalizationService: GlobalizationService,\r\n private _restService: RestService\r\n ) { }\r\n\r\n private textFilterOperators: ITextValue[] = [\r\n { text: \"enthält\", value: \"like\" },\r\n { text: \"enthält nicht\", value: \"notlike\" },\r\n { text: \"entspricht\", value: \"=\" },\r\n { text: \"entspricht nicht\", value: \"!=\" },\r\n { text: \"nicht definiert\", value: \"isnull\" },\r\n { text: \"definiert\", value: \"isnotnull\" }\r\n ];\r\n private dateAndNumberFilterOperators: ITextValue[] = [\r\n { text: \"entspricht\", value: \"=\" },\r\n { text: \"entspricht nicht\", value: \"!=\" },\r\n { text: \"zwischen\", value: \"between\" },\r\n { text: \"größer\", value: \">\" },\r\n { text: \"größer gleich\", value: \">=\" },\r\n { text: \"kleiner\", value: \"<\" },\r\n { text: \"kleiner gleich\", value: \"<=\" },\r\n { text: \"definiert\", value: \"isnotnull\" },\r\n { text: \"nicht definiert\", value: \"isnull\" }\r\n ];\r\n private markerFilterOperators: ITextValue[] = [\r\n { text: \"einer aus\", value: \"in\" },\r\n { text: \"alle\", value: \"all\" },\r\n { text: \"keiner aus\", value: \"notin\" },\r\n ];\r\n private statusFilterOperators: ITextValue[] = [\r\n { text: \"einer aus\", value: \"in\" },\r\n { text: \"keiner aus\", value: \"notin\" },\r\n ];\r\n private auswahllisteFilterOperators: ITextValue[] = [\r\n { text: \"einer aus\", value: \"in\" },\r\n { text: \"keiner aus\", value: \"notin\" },\r\n ];\r\n\r\n async loadEinstellungen(objekttypFullName: string): Promise {\r\n if (!objekttypFullName) {\r\n return [];\r\n }\r\n\r\n return this._loginprofilEinstellungenService.loadLoginprofilEinstellung({\r\n Typ: LoginprofilEinstellungTyp.Suche,\r\n Entitaet: objekttypFullName\r\n });\r\n }\r\n\r\n async loadObjektFelder(objekttypFullName: string): Promise {\r\n if (!objekttypFullName) {\r\n return;\r\n }\r\n\r\n const r = await this._restService.get({\r\n url: this._restService.getApiUrl(`ZIT/Volltext/ObjektExportEigenschaftSucheErweitert?typeName=${objekttypFullName}`)\r\n });\r\n\r\n this.extractFilterSpecial(r, ObjektExportEigenschaftDatenTyp.Marker, -1, \"Marker\");\r\n this.extractFilterSpecial(r, ObjektExportEigenschaftDatenTyp.ObjektStatus, -2, \"Status\");\r\n\r\n for (let i of r) {\r\n if (i.Datentyp != ObjektExportEigenschaftDatenTyp.Auswahlliste) {\r\n continue;\r\n }\r\n if (!i.AuswahllisteDatenquelle) {\r\n continue;\r\n }\r\n\r\n i.DataList = await this.loadAuswahlliste(i.AuswahllisteDatenquelle);\r\n }\r\n\r\n return r;\r\n }\r\n getOperatorDataSource(operatorTyp: ObjektExportEigenschaftDatenTyp) {\r\n switch (operatorTyp) {\r\n case ObjektExportEigenschaftDatenTyp.Text:\r\n return this.textFilterOperators;\r\n case ObjektExportEigenschaftDatenTyp.Datum:\r\n case ObjektExportEigenschaftDatenTyp.Nummer:\r\n return this.dateAndNumberFilterOperators;\r\n case ObjektExportEigenschaftDatenTyp.Marker:\r\n return this.markerFilterOperators;\r\n case ObjektExportEigenschaftDatenTyp.ObjektStatus:\r\n return this.statusFilterOperators;\r\n case ObjektExportEigenschaftDatenTyp.Auswahlliste:\r\n return this.auswahllisteFilterOperators;\r\n default:\r\n return [];\r\n }\r\n }\r\n getFilterBezeichnung(filter: IErweiterteSucheObjektFeldData, operator: string, wert: any) {\r\n switch (operator) {\r\n case \"=\":\r\n case \"!=\":\r\n case \">\":\r\n case \">=\":\r\n case \"<\":\r\n case \"like\":\r\n case \"notlike\":\r\n case \"<=\": {\r\n return `${filter.Bezeichnung} ${this.getOperatorBezeichnung(filter.Datentyp, operator)} ${this.getWertBezeichnung(filter, wert)}`;\r\n }\r\n case \"between\": {\r\n return `${filter.Bezeichnung} ${this.getOperatorBezeichnung(filter.Datentyp, operator)} ${this.getWertBezeichnung(filter, wert.wert1)} und ${this.getWertBezeichnung(filter, wert.wert2)}`;\r\n }\r\n case \"in\":\r\n case \"notin\":\r\n case \"all\": {\r\n const bez = this.getWertBezeichnungList(filter, wert);\r\n return `${filter.Bezeichnung} ${this.getOperatorBezeichnung(filter.Datentyp, operator)} ${bez}`;\r\n }\r\n case \"isnull\":\r\n case \"isnotnull\": {\r\n return `${filter.Bezeichnung} ${this.getOperatorBezeichnung(filter.Datentyp, operator)}`;\r\n }\r\n }\r\n\r\n return \"\";\r\n }\r\n\r\n private extractFilterSpecial(filterList: IErweiterteSucheObjektFeldData[], datentyp: ObjektExportEigenschaftDatenTyp, newId: number, bezeichnung: string) {\r\n const extractList = filterList.filter(i => i.Datentyp == datentyp);\r\n if (extractList.length > 0) {\r\n extractList.forEach(m => {\r\n const indexOf = filterList.indexOf(m);\r\n filterList.splice(indexOf, 1);\r\n });\r\n\r\n const newFilter: IErweiterteSucheObjektFeldData = {\r\n Id: newId,\r\n Bezeichnung: bezeichnung,\r\n Datentyp: datentyp,\r\n DataList: extractList.map(m => {\r\n m.Id = m.Id;\r\n return m;\r\n }),\r\n SucheErweitertVorbelegt: true\r\n };\r\n\r\n filterList.push(newFilter);\r\n\r\n return newFilter;\r\n }\r\n\r\n return null;\r\n }\r\n private getOperatorBezeichnung(datentyp: ObjektExportEigenschaftDatenTyp, operator: string) {\r\n const r = this.getOperatorDataSource(datentyp);\r\n const op = r.find(o => o.value == operator);\r\n\r\n if (!op) {\r\n return \"\";\r\n }\r\n\r\n return op.text;\r\n }\r\n private getWertBezeichnung(filter: IErweiterteSucheObjektFeldData, wert: any) {\r\n if (!wert) {\r\n return \"\";\r\n }\r\n\r\n if (filter.Datentyp == ObjektExportEigenschaftDatenTyp.Nummer) {\r\n return this._globalizationService.format(wert, filter.Format || \"d\");\r\n } else if (filter.Datentyp == ObjektExportEigenschaftDatenTyp.Datum) {\r\n return this._globalizationService.format(wert, filter.Format || \"n0\");\r\n } else {\r\n return wert;\r\n }\r\n }\r\n private getWertBezeichnungList(filter: IErweiterteSucheObjektFeldData, wert: any) {\r\n if (!Array.isArray(wert)) {\r\n return \"\";\r\n }\r\n\r\n if (!Array.isArray(filter.DataList)) {\r\n return \"\";\r\n }\r\n\r\n const itemList = [];\r\n\r\n for (let w of wert) {\r\n const i = filter.DataList.find(d => d.Id == w);\r\n const text = i ? i.Bezeichnung : \"n/a\";\r\n\r\n itemList.push(text);\r\n }\r\n\r\n return itemList.join(\", \");\r\n }\r\n private loadAuswahlliste(webApiAction: string): Promise {\r\n return this._restService.get({\r\n url: this._restService.getWebApiUrl(webApiAction),\r\n getOptions: {\r\n columns: [\"Id\", \"Bezeichnung\"]\r\n }\r\n });\r\n }\r\n}\r\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 {\r\n NatuerlichePerson = 0,\r\n Team = 1\r\n}\r\n","export enum BenutzerTyp{\r\n InternerBenutzer = 0,\r\n NatuerlichePerson = 1,\r\n JuristischePerson = 2,\r\n Administrator = 3,\r\n Ungueltig = 4\r\n}\r\n","export enum ObjektExportEigenschaftDatenTyp {\r\n Text = 0,\r\n Nummer = 1,\r\n Datum = 2,\r\n Marker = 3,\r\n ObjektStatus = 4,\r\n Auswahlliste = 5\r\n}\r\n","import { autoinject } from \"../../framework/forms/form-export\";\r\nimport { RestService } from \"../../framework/base/services/rest-service\";\r\nimport { GlobalizationService } from \"../../framework/base/export\";\r\n\r\nimport * as moment from \"moment\";\r\n\r\n@autoinject\r\nexport class SchnupperterminService {\r\n private SWITCH_MONTH = 9;\r\n\r\n constructor(\r\n private _restService: RestService,\r\n private _globalizationService: GlobalizationService\r\n ) {}\r\n\r\n getSchnupperterminZeitraum(): ISchnupperterminZeitraum {\r\n const today = moment()\r\n .startOf(\"day\");\r\n\r\n const month = today.month() + 1;\r\n\r\n let von = moment({ year: today.year(), month: this.SWITCH_MONTH - 1, day: 1});\r\n\r\n if (month + 1 < this.SWITCH_MONTH) {\r\n von = von.subtract(1, \"year\");\r\n }\r\n\r\n return {\r\n von: von.toDate(),\r\n bis: von.add(1, \"year\")\r\n .subtract(1, \"day\")\r\n .toDate()\r\n };\r\n }\r\n async getEventZeitraumSchnupperterminList(von: Date, bis: Date): Promise {\r\n return await this._restService.post({\r\n url: this._restService.getApiUrl(\"ZIT/Schnuppertermin/SchnupperterminZeitraum\"),\r\n data: {\r\n Von: von,\r\n Bis: bis\r\n }\r\n });\r\n }\r\n}\r\n\r\nexport interface ISchnupperterminZeitraum {\r\n von: Date;\r\n bis: Date;\r\n}\r\nexport interface ISchnupperterminZeitraumResult {\r\n Id: number;\r\n Bezeichnung: string;\r\n Start: Date;\r\n Ende: Date;\r\n IsAktiv?: boolean;\r\n}","import {\r\n autoinject\r\n} from \"aurelia-framework\";\r\nimport {\r\n RestService\r\n} from \"./rest-service\";\r\nimport {\r\n JsonService\r\n} from \"./json-service\";\r\n\r\n@autoinject\r\nexport class WebEventService {\r\n constructor(\r\n private rest: RestService,\r\n private json: JsonService\r\n ) { }\r\n\r\n execute(eventInfo: IEventInfo, showLoading: boolean = false): Promise {\r\n return this.rest.post({\r\n url: this.rest.getApiUrl(\"base/Event/Post\"),\r\n increaseLoadingCount: showLoading,\r\n data: eventInfo\r\n });\r\n }\r\n executeWithProgress(eventInfo: IEventInfo, callback: {(text: string, percent: number): void}): Promise {\r\n const webSocket = new WebSocket(this.rest.getWebSocketUrl(\"base/Event/Socket\"));\r\n\r\n return new Promise((resolve, reject) => {\r\n webSocket.onopen = () => {\r\n webSocket.send(this.json.stringify(eventInfo));\r\n };\r\n webSocket.onmessage = (e) => {\r\n const data = this.json.parse(e.data);\r\n\r\n switch (data.Type) {\r\n case \"STATUS\": {\r\n if (callback) {\r\n callback(data.Data.Text, data.Data.Percent);\r\n }\r\n break;\r\n }\r\n case \"RESULT\": {\r\n webSocket.close();\r\n resolve(data.Data);\r\n break;\r\n }\r\n }\r\n };\r\n webSocket.onerror = (e) => {\r\n reject(e);\r\n };\r\n });\r\n }\r\n}\r\n\r\ninterface IEventInfo {\r\n EventName: string;\r\n data: any;\r\n}\r\n","import {\r\n autoinject,\r\n bindable,\r\n customAttribute\r\n} from \"aurelia-framework\";\r\n\r\n@autoinject\r\n@customAttribute(\"animation-tracker\")\r\nexport class AnimationTrackerAttribute {\r\n private _eventStart: any;\r\n private _eventEnd: any;\r\n private _handlerStart: any;\r\n private _handlerEnd: any;\r\n\r\n constructor(\r\n private element: Element\r\n ) { }\r\n\r\n @bindable propertyName: string;\r\n\r\n bind() {\r\n this._eventStart = this.getEventStart();\r\n if (this._eventStart) {\r\n this._handlerStart = this.handleEnd.bind(this);\r\n this.element.addEventListener(this._eventStart, this._handlerStart);\r\n }\r\n\r\n this._eventEnd = this.getEventEnd();\r\n if (this._eventEnd) {\r\n this._handlerEnd = this.handleEnd.bind(this);\r\n this.element.addEventListener(this._eventEnd, this._handlerEnd);\r\n }\r\n\r\n }\r\n unbind() {\r\n if (this._eventStart) {\r\n this.element.removeEventListener(this._eventStart, this._handlerStart);\r\n }\r\n if (this._eventEnd) {\r\n this.element.removeEventListener(this._eventEnd, this._handlerEnd);\r\n }\r\n }\r\n\r\n private getEventStart() {\r\n const transitions = {\r\n \"transition\": \"transitionstart\",\r\n \"OTransition\": \"oTransitionStart\",\r\n \"MozTransition\": \"transitionstart\",\r\n \"WebkitTransition\": \"webkitTransitionStart\"\r\n }\r\n\r\n const el: any = this.element;\r\n for (let t in transitions) {\r\n if (el.style[t] !== undefined) {\r\n return transitions[t];\r\n }\r\n }\r\n }\r\n private getEventEnd() {\r\n const transitions = {\r\n \"transition\": \"transitionend\",\r\n \"OTransition\": \"oTransitionEnd\",\r\n \"MozTransition\": \"transitionend\",\r\n \"WebkitTransition\": \"webkitTransitionEnd\"\r\n }\r\n\r\n const el: any = this.element;\r\n for (let t in transitions) {\r\n if (el.style[t] !== undefined) {\r\n return transitions[t];\r\n }\r\n }\r\n }\r\n private handleStart(e: any) {\r\n if (!e.propertyName) {\r\n return;\r\n }\r\n\r\n if (this.propertyName && this.propertyName != e.propertyName) {\r\n return;\r\n }\r\n\r\n const event = new CustomEvent(\"on-animation-start\", {\r\n detail: {\r\n sender: this,\r\n element: this.element,\r\n propertyName: e.propertyName\r\n },\r\n bubbles: true\r\n });\r\n\r\n this.element.dispatchEvent(event);\r\n }\r\n private handleEnd(e: any) {\r\n if (!e.propertyName) {\r\n return;\r\n }\r\n\r\n if (this.propertyName && this.propertyName != e.propertyName) {\r\n return;\r\n }\r\n\r\n const event = new CustomEvent(\"on-animation-end\", {\r\n detail: {\r\n sender: this,\r\n element: this.element,\r\n propertyName: e.propertyName\r\n },\r\n bubbles: true\r\n });\r\n\r\n this.element.dispatchEvent(event);\r\n }\r\n}\r\n","import {\r\n autoinject,\r\n bindable,\r\n customAttribute\r\n} from \"aurelia-framework\";\r\n\r\n@autoinject\r\n@customAttribute(\"animation\")\r\nexport class AnimationCustomAttribute {\r\n constructor(\r\n private element: Element\r\n ) { }\r\n\r\n valueChanged(newVal, oldVal) {\r\n if (newVal == oldVal){\r\n return;\r\n }\r\n this.doAnimation();\r\n }\r\n\r\n private doAnimation() {\r\n const isAnimating = this.element.classList.contains(\"animating\");\r\n if (isAnimating === false) {\r\n this.element.classList.add(\"animating\");\r\n }\r\n const animatingElementsCount = document.getElementsByClassName(\"animating\").length;\r\n const delay = 100 * animatingElementsCount;\r\n\r\n setTimeout(() => {\r\n this.element.classList.remove(\"animating\");\r\n }, 150 + delay)\r\n }\r\n}\r\n","import {\r\n autoinject,\r\n customAttribute,\r\n TaskQueue\r\n} from \"aurelia-framework\";\r\nimport { EventAggregator, Subscription } from 'aurelia-event-aggregator';\r\nimport { WindowService } from '../../export';\r\n\r\n@autoinject\r\n@customAttribute(\"gr-size\")\r\nexport class GridSizeAttribute {\r\n private _windowResizeSubscription: Subscription;\r\n private _checkClassSubscription: Subscription;\r\n private _currentStyle;\r\n private _detached = false;\r\n private _setClassCounter = 0;\r\n\r\n constructor(\r\n private element: Element,\r\n private taskQueue: TaskQueue,\r\n private eventAggregator: EventAggregator,\r\n private windowService: WindowService\r\n ) { }\r\n\r\n bind() {\r\n this._checkClassSubscription = this.eventAggregator.subscribe(\"grid:check-class\", (e) => {\r\n if (e.element) {\r\n if (!this.isParent(e.element)) {\r\n return;\r\n }\r\n }\r\n this.setClass();\r\n });\r\n this._windowResizeSubscription = this.eventAggregator.subscribe(\"window:resize\", () => {\r\n this.setClass();\r\n });\r\n }\r\n unbind() {\r\n this._checkClassSubscription.dispose();\r\n this._windowResizeSubscription.dispose();\r\n }\r\n attached() {\r\n this.element.classList.add(\"gr\");\r\n\r\n this._detached = false;\r\n this.setClass();\r\n }\r\n detached() {\r\n this._detached = true;\r\n }\r\n\r\n private isParent(parent): boolean {\r\n let child = this.element;\r\n\r\n while (child != null) {\r\n if (child == parent) {\r\n return true;\r\n }\r\n\r\n child = child.parentElement;\r\n }\r\n\r\n return false;\r\n }\r\n private setClass(start: boolean = true) {\r\n if (start) {\r\n this._setClassCounter = 0;\r\n }\r\n if (this._detached || this._setClassCounter > 60) {\r\n return;\r\n }\r\n\r\n const element = this.element;\r\n let widthElement = element;\r\n while (widthElement && this.isInline(widthElement)) {\r\n widthElement = widthElement.parentElement;\r\n }\r\n\r\n const styles = [\"xs\"];\r\n const width = widthElement\r\n ? widthElement.clientWidth\r\n : 0;\r\n\r\n if (!width) {\r\n setTimeout(() => {\r\n this._setClassCounter++;\r\n this.setClass(false)\r\n }, 50);\r\n }\r\n\r\n if (width >= 768) {\r\n styles.push(\"sm\");\r\n }\r\n if (width >= 992) {\r\n styles.push(\"md\");\r\n }\r\n if (width >= 1200) {\r\n styles.push(\"lg\");\r\n }\r\n\r\n const newStyle = styles.join(\" \");\r\n if (this._currentStyle == newStyle) {\r\n return;\r\n }\r\n\r\n this._currentStyle = newStyle;\r\n\r\n element.classList.add(\"gr-xs\");\r\n\r\n if (width >= 768) {\r\n element.classList.add(\"gr-sm\");\r\n } else {\r\n element.classList.remove(\"gr-sm\");\r\n }\r\n\r\n if (width >= 992) {\r\n element.classList.add(\"gr-md\");\r\n } else {\r\n element.classList.remove(\"gr-md\");\r\n }\r\n\r\n if (width >= 1200) {\r\n element.classList.add(\"gr-lg\");\r\n } else {\r\n element.classList.remove(\"gr-lg\");\r\n }\r\n\r\n if (width >= 1500) {\r\n element.classList.add(\"gr-xl\");\r\n } else {\r\n element.classList.remove(\"gr-xl\");\r\n }\r\n }\r\n\r\n private isInline(element: HTMLElement): boolean {\r\n return window.getComputedStyle(element).display == \"inline\";\r\n }\r\n}\r\n","import {\r\n autoinject,\r\n bindable,\r\n customAttribute\r\n} from \"aurelia-framework\";\r\n\r\n@autoinject\r\n@customAttribute(\"fa-icon\")\r\nexport class FaIconAttribute {\r\n private currentIcon: string;\r\n\r\n constructor(\r\n private element: Element\r\n ) {}\r\n\r\n @bindable icon: string;\r\n\r\n bind() {\r\n this.setClass();\r\n }\r\n\r\n iconChanged(newValue: string, oldValue: string): void {\r\n this.setClass();\r\n }\r\n\r\n private setClass() {\r\n var element = this.element;\r\n\r\n if (this.currentIcon) {\r\n element.classList.remove(this.currentIcon);\r\n this.currentIcon = null;\r\n }\r\n\r\n if (this.icon) {\r\n this.currentIcon = this.icon;\r\n element.classList.add(...this.currentIcon.split(\" \"));\r\n }\r\n }\r\n}\r\n","import {\r\n autoinject,\r\n bindable,\r\n customAttribute,\r\n observable,\r\n OverrideContext,\r\n Scope,\r\n TemplatingEngine,\r\n transient,\r\n View\r\n} from \"aurelia-framework\";\r\nimport {\r\n LocalizationService, TemplatingExService\r\n} from \"../../services/export\";\r\nimport {\r\n ScopeContainer\r\n} from \"../../classes/scope-container\"\r\nimport { MarkdownService } from '../../services/markdown-service';\r\n\r\n@autoinject\r\n@customAttribute(\"tr\")\r\nexport class TrCustomAttribute {\r\n private _createdSpan: Element;\r\n private _createdView: View;\r\n private _isBound: boolean = false;\r\n\r\n constructor(\r\n private element: Element,\r\n private localization: LocalizationService,\r\n private templatingEngine: TemplatingEngine,\r\n private templatingExService: TemplatingExService,\r\n private markdownService: MarkdownService\r\n ) { }\r\n\r\n owningView: any;\r\n\r\n @bindable mode: string;\r\n @bindable @observable key: any;\r\n @bindable scope: Scope;\r\n @bindable markdown: boolean;\r\n @bindable isHtml: boolean;\r\n\r\n created(owningView: any, myView: any) {\r\n this.owningView = owningView;\r\n }\r\n bind(bindingContext: any, overrideContext: OverrideContext) {\r\n this._isBound = true;\r\n\r\n if (!this.scope) {\r\n this.scope = {\r\n bindingContext,\r\n overrideContext\r\n };\r\n }\r\n\r\n this.translate();\r\n }\r\n unbind() {\r\n this._isBound = false;\r\n this.scope = null;\r\n\r\n this.destroyCreated();\r\n }\r\n\r\n keyChanged() {\r\n if (!this._isBound) {\r\n return;\r\n }\r\n\r\n this.destroyCreated();\r\n this.translate();\r\n }\r\n\r\n private destroyCreated() {\r\n if (this._createdSpan) {\r\n this._createdSpan.parentElement.removeChild(this._createdSpan);\r\n this._createdSpan = null;\r\n }\r\n\r\n if (this._createdView) {\r\n this.templatingExService.destroyView(this._createdView);\r\n this._createdView = null;\r\n }\r\n }\r\n private translate() {\r\n if (!this.key) {\r\n return;\r\n }\r\n\r\n const info = this.localization.getTranslationInfo(this.key);\r\n\r\n if (info.needsBinding) {\r\n this._createdSpan = document.createElement(\"span\");\r\n\r\n if (this.isHtml) {\r\n this._createdSpan.setAttribute(\"innerhtml\", this.getText(info.text));\r\n } else {\r\n this._createdSpan.innerHTML = this.getText(info.text);\r\n }\r\n this.element.appendChild(this._createdSpan);\r\n\r\n const scope = info.scope || this.scope;\r\n\r\n this._createdView = this.templatingEngine.enhance({\r\n element: this._createdSpan,\r\n resources: this.owningView.resources,\r\n bindingContext: scope.bindingContext,\r\n overrideContext: scope.overrideContext\r\n });\r\n } else {\r\n this.element.innerHTML = this.getText(info.text);\r\n }\r\n }\r\n\r\n private getText(text: string) {\r\n if (!this.markdown) {\r\n return text;\r\n }\r\n\r\n return this.markdownService.replace(text);\r\n }\r\n}\r\n","import { \r\n FrameworkConfiguration,\r\n PLATFORM\r\n} from \"aurelia-framework\";\r\nimport \"./styles/styles.less\";\r\n\r\nexport function configure(config: FrameworkConfiguration) {\r\n config\r\n .globalResources(PLATFORM.moduleName(\"./attributes/icon/fa-icon-attribute\"))\r\n .globalResources(PLATFORM.moduleName(\"./attributes/animation/animation-attribute\"))\r\n .globalResources(PLATFORM.moduleName(\"./attributes/translation/translation-attribute\"))\r\n .globalResources(PLATFORM.moduleName(\"./attributes/grid-size/grid-size-attribute\"))\r\n .globalResources(PLATFORM.moduleName(\"./attributes/animation-tracker/animation-tracker-attribute\"))\r\n .globalResources(PLATFORM.moduleName(\"./value-converters/translation/translation-value-converter\"))\r\n .globalResources(PLATFORM.moduleName(\"./value-converters/max-text-length/max-text-length-value-converter\"))\r\n .globalResources(PLATFORM.moduleName(\"./value-converters/sort/sort-value-converter\"))\r\n .globalResources(PLATFORM.moduleName(\"./value-converters/format/format-value-converter\"))\r\n .globalResources(PLATFORM.moduleName(\"./value-converters/file-download/file-download-value-converter\"))\r\n .globalResources(PLATFORM.moduleName(\"./value-converters/background-image/background-image-value-converter\"));\r\n}\r\n","import {\r\n autoinject,\r\n valueConverter\r\n} from \"aurelia-framework\";\r\nimport { FileService } from '../../services/file-service';\r\n\r\n@autoinject\r\n@valueConverter(\"backgroundImage\")\r\nexport class BackgroundImageValueConverter{\r\n constructor(\r\n private fileService: FileService\r\n ) {}\r\n\r\n toView(value: any) {\r\n if (!value) {\r\n return \"\";\r\n }\r\n\r\n const url = this.fileService.getDownloadUrl(value);\r\n return `background-image: url(${url})`;\r\n }\r\n}\r\n","import {\r\n autoinject,\r\n valueConverter\r\n} from \"aurelia-framework\";\r\nimport { FileService } from '../../services/file-service';\r\n\r\n@autoinject\r\n@valueConverter(\"fileDownload\")\r\nexport class FileDownloadValueConverter{\r\n constructor(\r\n private fileService: FileService\r\n ) {}\r\n\r\n toView(value: string) {\r\n if (!value) {\r\n return \"\";\r\n }\r\n\r\n if (value.startsWith(\"http:\") || value.startsWith(\"https:\")) {\r\n return value;\r\n }\r\n\r\n return this.fileService.getDownloadUrl(value);\r\n }\r\n}\r\n","import {\r\n autoinject,\r\n valueConverter\r\n} from \"aurelia-framework\";\r\nimport {\r\n GlobalizationService\r\n} from \"../../services/globalization-service\";\r\n\r\n@autoinject\r\n@valueConverter(\"format\")\r\nexport class FormatValueConverter{\r\n constructor(\r\n private globalization: GlobalizationService\r\n ) {}\r\n\r\n toView(value: any, format: string) {\r\n return this.globalization.format(value, format);\r\n }\r\n}","import {\r\n autoinject,\r\n valueConverter\r\n} from \"aurelia-framework\";\r\n\r\n@autoinject\r\n@valueConverter(\"maxTextLength\")\r\nexport class MaxTextLengthValueConverter{\r\n constructor(\r\n ) {}\r\n\r\n toView(value: string, maxLength: number = 50) {\r\n if (!value || value.length < maxLength) {\r\n return value;\r\n }\r\n\r\n return value.substr(0, maxLength).concat(\" ...\");\r\n }\r\n}\r\n","import {\r\n autoinject\r\n} from \"aurelia-framework\";\r\nimport {\r\n LocalizationService\r\n} from \"../../services/export\";\r\n\r\n@autoinject\r\nexport class SortValueConverter {\r\n constructor(\r\n private localization: LocalizationService\r\n ) {}\r\n\r\n toView(data: any[], propertyName: string, direction: string = \"asc\", translate: boolean = false) {\r\n var factor = direction === \"asc\" ? 1 : -1;\r\n\r\n return data\r\n .slice(0)\r\n .sort((a, b) => {\r\n let valA: string = a[propertyName];\r\n if (valA == void(0)) {\r\n valA = \"\";\r\n }\r\n\r\n let valB: string = b[propertyName];\r\n if (valB == void(0)) {\r\n valB = \"\";\r\n }\r\n\r\n if (translate) {\r\n if (valA) {\r\n valA = this.localization.translateOnce(valA) || \"\";\r\n }\r\n if (valB) {\r\n valB = this.localization.translateOnce(valB) || \"\";\r\n }\r\n }\r\n\r\n return valA.localeCompare(valB) * factor;\r\n });\r\n }\r\n}\r\n","import {\r\n autoinject,\r\n valueConverter\r\n} from \"aurelia-framework\";\r\nimport {\r\n LocalizationService\r\n} from \"../../services/localization-service\";\r\n\r\n@autoinject\r\n@valueConverter(\"tr\")\r\nexport class TranslationValueConverter{\r\n constructor(\r\n private localization: LocalizationService\r\n ) {}\r\n\r\n toView(value: any, parameters: string[] = null) {\r\n if (value == void(0)) {\r\n return \"\";\r\n }\r\n\r\n return this.localization.translateOnce(value, parameters);\r\n }\r\n}\r\n","import {\r\n autoinject,\r\n computedFrom\r\n} from \"aurelia-framework\";\r\nimport {\r\n LoadingService\r\n} from \"../../services/loading-service\";\r\n\r\n@autoinject\r\nexport class Loading {\r\n constructor(\r\n private loading: LoadingService\r\n ) { }\r\n}","module.exports = \" \";","import {\r\n autoinject,\r\n processContent,\r\n bindable,\r\n Scope,\r\n TemplatingEngine,\r\n OverrideContext,\r\n TaskQueue,\r\n View\r\n} from \"aurelia-framework\";\r\nimport {\r\n EventAggregator\r\n} from \"aurelia-event-aggregator\";\r\nimport {\r\n DxTemplateService\r\n} from \"../services/dx-template-service\";\r\nimport * as DxLoader from \"../dx-loader\";\r\nimport {\r\n BindingService,\r\n DeepObserverService,\r\n ScopeContainer\r\n} from \"../../base/export\";\r\nimport { BrowserService } from '../../base/services/browser-service';\r\n\r\n@autoinject\r\n@processContent(false)\r\nexport class DxWidget {\r\n private _createdViews: View[] = [];\r\n private _widgetElement: Element;\r\n private _valueChangeByCodeCount: number = 0;\r\n\r\n constructor(\r\n private element: Element,\r\n private templatingEngine: TemplatingEngine,\r\n private binding: BindingService,\r\n private deepObserver: DeepObserverService,\r\n private dxTemplate: DxTemplateService,\r\n private eventAggregator: EventAggregator,\r\n private taskQueue: TaskQueue,\r\n private browserService: BrowserService) {\r\n }\r\n\r\n @bindable name: string;\r\n @bindable options: any;\r\n @bindable validator: any;\r\n\r\n id: string;\r\n parentViewUrl: string;\r\n\r\n owningView: any;\r\n instance: any;\r\n validatorInstance: any;\r\n tooltipInstance: any;\r\n templates = {};\r\n scopeContainer: ScopeContainer;\r\n\r\n created(owningView: any, myView: any) {\r\n this.owningView = owningView;\r\n\r\n if (owningView\r\n && owningView.resources\r\n && owningView.resources.viewUrl) {\r\n this.parentViewUrl = owningView.resources.viewUrl;\r\n }\r\n\r\n this.id = this.element.getAttribute(\"view-model.ref\");\r\n }\r\n activate(e) {\r\n if (e && e.name && e.options) {\r\n this.name = e.name;\r\n this.options = e.options;\r\n }\r\n }\r\n bind(bindingContext: any, overrideContext: OverrideContext) {\r\n this.scopeContainer = new ScopeContainer({\r\n bindingContext: bindingContext,\r\n overrideContext: overrideContext\r\n });\r\n this.checkMobile();\r\n this.extractTemplates();\r\n this.checkBindings();\r\n }\r\n unbind() {\r\n this.scopeContainer.disposeAll();\r\n }\r\n attached() {\r\n this.renderInline();\r\n\r\n const initializeOptions = this.getInitializeOptions();\r\n this._widgetElement = document.createElement(\"div\");\r\n\r\n //TODO - vermutlich müssen die Kinder im Speicher gemerkt werden und dann von dor hierher geklont werden\r\n //=> Problem, dass im detached alles verworfen wird und dann nicht mehr da ist ...\r\n while (this.element.children.length > 0) {\r\n this._widgetElement.appendChild(this.element.children.item(0));\r\n }\r\n\r\n this.element.appendChild(this._widgetElement);\r\n\r\n if (!DxLoader.exists(this.name)) {\r\n throw new Error(`Widget ${this.name} does not exist`);\r\n }\r\n\r\n this.eventAggregator.publish(\"dx-widget:attaching\", {\r\n widget: this,\r\n owningView: this.owningView,\r\n name: this.name,\r\n options: initializeOptions\r\n });\r\n\r\n this.instance = DxLoader.createInstance(this.name, this._widgetElement, initializeOptions);\r\n\r\n let validatorElement;\r\n if (this.validator) {\r\n this.validatorInstance = DxLoader.createInstance(\"dxValidator\", this._widgetElement, this.validator);\r\n } else if (this.options[\"validators\"]) {\r\n this.validatorInstance = DxLoader.createInstance(\"dxValidator\", this._widgetElement, {\r\n validationRules: this.options[\"validators\"]\r\n });\r\n }\r\n\r\n this.registerBindings();\r\n\r\n this.eventAggregator.publish(\"dx-widget:attached\", {\r\n widget: this,\r\n owningView: this.owningView,\r\n name: this.name,\r\n options: initializeOptions,\r\n element: this._widgetElement,\r\n instance: this.instance\r\n })\r\n }\r\n detached() {\r\n let mainElement;\r\n let tooltipElement;\r\n\r\n if (this.instance) {\r\n mainElement = this.instance.element();\r\n this.instance.dispose();\r\n this.instance = null;\r\n }\r\n if (this.validatorInstance) {\r\n this.validatorInstance.dispose();\r\n this.validatorInstance = null;\r\n }\r\n if (this.tooltipInstance) {\r\n tooltipElement = this.tooltipInstance.element();\r\n this.tooltipInstance.dispose();\r\n this.tooltipInstance = null;\r\n }\r\n if (mainElement) {\r\n this.element.removeChild(mainElement);\r\n }\r\n if (tooltipElement) {\r\n this.element.removeChild(tooltipElement);\r\n }\r\n\r\n if (this.options && this.options.bindingOptions) {\r\n for (let binding of this.options.bindingOptions) {\r\n if (binding.deepObserver) {\r\n binding.deepObserver();\r\n binding.deepObserver = null;\r\n }\r\n }\r\n }\r\n\r\n this._createdViews.forEach(c => {\r\n c.detached();\r\n c.unbind();\r\n });\r\n this._createdViews.splice(0);\r\n }\r\n\r\n createTooltip(tooltip: string) {\r\n if (this.tooltipInstance) {\r\n const element: HTMLElement = this.tooltipInstance.element();\r\n element.querySelector(\".dx-popup-content\").textContent = tooltip;\r\n return;\r\n }\r\n\r\n const tooltipElement = document.createElement(\"div\");\r\n tooltipElement.innerText = tooltip;\r\n this.element.appendChild(tooltipElement);\r\n\r\n this.tooltipInstance = DxLoader.createInstance(\"dxTooltip\", tooltipElement, {\r\n target: this.instance.element(),\r\n showEvent: \"dxhoverstart\",\r\n hideEvent: \"dxhoverend\"\r\n });\r\n }\r\n\r\n resetValidation() {\r\n if (this.instance.option(\"isValid\") === false) {\r\n this.setOption({\r\n isValid: true\r\n });\r\n }\r\n }\r\n setOption(options: any) {\r\n let hasValueProperty = false;\r\n\r\n for (let key of Object.getOwnPropertyNames(options)) {\r\n if ((key === \"items\" || key === \"dataSource\") && options[key] == void (0)) {\r\n options[key] = [];\r\n }\r\n\r\n if (key != \"isValid\") {\r\n const currentValue = this.instance.option(key);\r\n if (currentValue === options[key]) {\r\n delete options[key];\r\n continue;\r\n }\r\n }\r\n\r\n if (key === \"value\") {\r\n hasValueProperty = true;\r\n }\r\n }\r\n\r\n if (Object.getOwnPropertyNames(options).length === 0) {\r\n return;\r\n }\r\n\r\n try {\r\n if (hasValueProperty) {\r\n this._valueChangeByCodeCount++;\r\n }\r\n\r\n this.instance.option(options);\r\n } finally {\r\n if (hasValueProperty) {\r\n this._valueChangeByCodeCount--;\r\n }\r\n }\r\n }\r\n\r\n private checkMobile() {\r\n if (!this.browserService.isMobile) {\r\n return;\r\n }\r\n\r\n if (this.name === \"dxSelectBox\") {\r\n this.name = \"dxLookup\";\r\n } else if (this.name == \"dxPopup\") {\r\n this.options.fullScreen = true;\r\n\r\n delete this.options.width;\r\n delete this.options.height;\r\n delete this.options.maxWidth;\r\n delete this.options.maxHeight;\r\n }\r\n }\r\n private modelByElement(element: any): any {\r\n return this.scopeContainer.scope;\r\n }\r\n private extractTemplates(): void {\r\n const children = Array.from(this.element.children)\r\n .filter((c) => c.tagName == \"DX-TEMPLATE\");\r\n\r\n for (let i = 0; i < children.length; i++) {\r\n const item = children[i];\r\n\r\n const name = item.getAttribute(\"name\");\r\n const alias = item.getAttribute(\"alias\") || \"data\";\r\n\r\n this.templates[name] = {\r\n render: (renderData) => {\r\n const result = this.dxTemplate.render(\r\n item,\r\n renderData.container,\r\n this.owningView.resources,\r\n this.scopeContainer.scope,\r\n renderData.model,\r\n name\r\n );\r\n\r\n const onRenderedName = `on${this.getPascalCase(name)}Rendered`;\r\n if (this.options && this.options[onRenderedName]) {\r\n this.options[onRenderedName](this);\r\n }\r\n\r\n this._createdViews.push(result.view);\r\n return result.element;\r\n }\r\n };\r\n\r\n item.parentElement.removeChild(item);\r\n }\r\n\r\n Object.assign(this.templates, this.dxTemplate.getTemplates(this.scopeContainer.scope, this.owningView.resources));\r\n }\r\n private getInitializeOptions(): any {\r\n this.options = this.options || {};\r\n\r\n const initializeOptions = Object.assign({}, this.options);\r\n\r\n const onOptionChangedOld = initializeOptions.onOptionChanged;\r\n initializeOptions.onOptionChanged = (e) => {\r\n if (onOptionChangedOld) {\r\n onOptionChangedOld(e);\r\n }\r\n\r\n this.onOptionChanged(e);\r\n };\r\n \r\n initializeOptions.modelByElement = this.modelByElement.bind(this);\r\n initializeOptions.integrationOptions = {\r\n templates: this.templates\r\n }\r\n\r\n if (this.options.bindingOptions) {\r\n for (let property in this.options.bindingOptions) {\r\n const binding = this.options.bindingOptions[property];\r\n const value = this.binding.evaluate(this.scopeContainer.scope, binding.expression);\r\n\r\n initializeOptions[property] = value;\r\n }\r\n }\r\n\r\n return initializeOptions;\r\n }\r\n private registerBindings(): void {\r\n if (!this.options.bindingOptions) {\r\n return;\r\n }\r\n\r\n for (let property in this.options.bindingOptions) {\r\n const binding = this.options.bindingOptions[property];\r\n\r\n this.binding.observe({\r\n scopeContainer: this.scopeContainer,\r\n expression: binding.expression,\r\n callback: (newValue, oldValue) => {\r\n const options = {};\r\n if (newValue === this.instance.option(property)) {\r\n return;\r\n }\r\n\r\n options[property] = newValue;\r\n options[\"isValid\"] = true;\r\n\r\n this.setOption(options);\r\n this.registerDeepObserver(binding, property, value);\r\n }\r\n });\r\n\r\n const value = this.binding.evaluate(this.scopeContainer.scope, binding.expression);\r\n\r\n this.registerDeepObserver(binding, property, value);\r\n }\r\n }\r\n private checkBindings(): void {\r\n if (!this.options) {\r\n throw new Error(`Invalid or no options for ${this.name}`);\r\n }\r\n\r\n if (!this.options.bindingOptions) {\r\n return;\r\n }\r\n\r\n for (let property in this.options.bindingOptions) {\r\n const binding = this.checkBinding(property);\r\n }\r\n }\r\n private checkBinding(property): void {\r\n const bindingOptions = this.options.bindingOptions;\r\n\r\n if (typeof bindingOptions[property] === \"string\") {\r\n bindingOptions[property] = {\r\n expression: bindingOptions[property]\r\n }\r\n }\r\n }\r\n private registerDeepObserver(binding, property, value): void {\r\n if (binding.deepObserver) {\r\n binding.deepObserver();\r\n binding.deepObserver = null;\r\n }\r\n\r\n if (!binding.deep) {\r\n return;\r\n }\r\n\r\n binding.deepObserver = this.deepObserver.observe(value, () => {\r\n const options = {};\r\n options[property] = value;\r\n options[\"isValid\"] = true;\r\n this.setOption(options);\r\n });\r\n }\r\n private onOptionChanged(e): void {\r\n if (e.name === \"value\" && !this.isChangeToPublish(e)) {\r\n return;\r\n }\r\n if (this.options.bindingOptions) {\r\n const binding = this.options.bindingOptions[e.name];\r\n if (binding && !binding.readOnly) {\r\n const currValue = this.binding.evaluate(this.scopeContainer.scope, binding.expression);\r\n\r\n if (currValue === e.value) {\r\n return;\r\n }\r\n\r\n this.binding.assign(this.scopeContainer.scope, binding.expression, e.value);\r\n }\r\n }\r\n if (e.name === \"value\" && this.options.onValueChangedByUser && this._valueChangeByCodeCount === 0) {\r\n this.options.onValueChangedByUser({\r\n sender: this,\r\n model: this.scopeContainer.scope,\r\n value: e.value,\r\n previousValue: e.previousValue\r\n })\r\n }\r\n }\r\n private renderInline(): void {\r\n Array.from(this.element.children)\r\n .forEach((child): void => {\r\n const result = this.templatingEngine.enhance({\r\n element: child,\r\n resources: this.owningView.resources,\r\n bindingContext: this.scopeContainer.scope.bindingContext,\r\n overrideContext: this.scopeContainer.scope.overrideContext\r\n });\r\n \r\n this._createdViews.push(result);\r\n });\r\n }\r\n private getPascalCase(text: string): string {\r\n return text.substr(0, 1).toUpperCase() + text.substr(1);\r\n }\r\n private isChangeToPublish(e): boolean {\r\n const isSelect = this.name === \"dxSelectBox\"\r\n || this.name == \"dxLookup\";\r\n\r\n if (!isSelect) {\r\n return true;\r\n }\r\n\r\n if (e.value != void (0) || e.previousValue != void (0)) {\r\n return true;\r\n }\r\n\r\n return false;\r\n }\r\n}\r\n","module.exports = \"\";","import { \r\n FrameworkConfiguration,\r\n PLATFORM\r\n} from \"aurelia-framework\";\r\nimport * as DxLoader from \"./dx-loader\";\r\n\r\nimport \"../../../resources/dx.common.css\";\r\nimport \"../../../resources/dx.custom.css\";\r\nimport \"../../../node_modules/devextreme/dist/js/localization/dx.messages.de.js\";\r\n\r\nexport function configure(config: FrameworkConfiguration) {\r\n const dxLoader = DxLoader.initialize();\r\n\r\n DevExpress.localization.locale(navigator.language || \"de\");\r\n \r\n DxLoader.getDefinition(\"dxChart\").defaultOptions({\r\n options: {\r\n palette: \"Office\"\r\n }\r\n });\r\n DxLoader.getDefinition(\"dxPieChart\").defaultOptions({\r\n options: {\r\n palette: \"Office\"\r\n }\r\n });\r\n DxLoader.getDefinition(\"dxPopover\").defaultOptions({\r\n options: {\r\n animation: { show: { type: 'fade', from: 0, to: 1 }, hide: { type: 'fade', to: 0 } },\r\n position: \"bottom\"\r\n }\r\n });\r\n DxLoader.getDefinition(\"dxCalendar\").defaultOptions({\r\n options: {\r\n firstDayOfWeek: 1\r\n }\r\n });\r\n DxLoader.getDefinition(\"dxPopup\").defaultOptions({\r\n options: {\r\n animation: {\r\n show: {\r\n //type: \"slide\",\r\n // from: { opacity: 0, left: \"+=15\" },\r\n // to: { opacity: 1 },\r\n type: \"fade\",\r\n from: 0.1,\r\n to: 1,\r\n duration: 300,\r\n easing: \"cubic-bezier(.62,.28,.23,.99)\"\r\n }\r\n },\r\n position: { my: \"center\", at: \"center\", of: window }\r\n }\r\n });\r\n\r\n config\r\n .globalResources(PLATFORM.moduleName(\"./elements/dx-widget\"));\r\n}\r\n","import {\r\n autoinject,\r\n bindable\r\n} from \"aurelia-framework\"\r\nimport { LocationService } from '../../../base/services/location-service';\r\n\r\n@autoinject\r\nexport class StackRouterLinkCustomAttribute {\r\n constructor(\r\n private element: Element,\r\n private locationService: LocationService\r\n ) { }\r\n\r\n @bindable clearStack: boolean;\r\n\r\n bind() {\r\n this.element.addEventListener(\"click\", (e) => {\r\n const event: any = e;\r\n if (!event.ctrlKey\r\n && !event.altKey\r\n && !event.shiftKey\r\n && !event.metaKey) {\r\n const href = this.element.getAttribute(\"href\");\r\n\r\n if (href) {\r\n this.locationService.goTo({\r\n url: this.element.getAttribute(\"href\"),\r\n clearStack: this.clearStack\r\n });\r\n }\r\n\r\n e.preventDefault();\r\n }\r\n });\r\n }\r\n}\r\n","import { ModelUtilsService } from \"./../../services/model-utils-service\";\r\nimport {\r\n autoinject,\r\n bindable,\r\n bindingMode,\r\n observable,\r\n TaskQueue,\r\n computedFrom\r\n} from \"aurelia-framework\";\r\n\r\ndeclare const monaco: any;\r\n\r\n@autoinject\r\nexport class CodeEditor {\r\n private static _jsLoadedPromise: Promise;\r\n private static _vsLoadedPromise: Promise;\r\n\r\n constructor(\r\n private element: Element,\r\n private taskQueue: TaskQueue,\r\n private modelUtils: ModelUtilsService\r\n ) { }\r\n\r\n @bindable caption: string;\r\n @bindable @observable mainModel: any;\r\n @bindable language: string;\r\n @bindable height: string;\r\n @bindable({ defaultBindingMode: bindingMode.twoWay }) @observable value: any;\r\n\r\n host: Element;\r\n editor: any;\r\n editorDidChangeModelContentEvent: any;\r\n\r\n @computedFrom(\"height\")\r\n get heightEx(): string {\r\n if (this.height) {\r\n return this.height;\r\n }\r\n\r\n return \"250px\";\r\n }\r\n\r\n bind() {\r\n this.createEditorOnMonacoLoaded();\r\n\r\n if (this.value) {\r\n this.valueChanged(this.value);\r\n }\r\n }\r\n unbind() {\r\n if (this.editorDidChangeModelContentEvent) {\r\n this.editorDidChangeModelContentEvent.dispose();\r\n this.editorDidChangeModelContentEvent = null;\r\n }\r\n\r\n if (this.editor) {\r\n this.editor.getModel().dispose();\r\n this.editor.dispose();\r\n this.editor = null;\r\n }\r\n }\r\n\r\n insert(text: string) {\r\n const position = this.editor.getPosition();\r\n this.editor.executeEdits(\"\", [{\r\n range: new monaco.Range(position.lineNumber,\r\n position.column,\r\n position.lineNumber,\r\n position.column),\r\n text: text\r\n }]);\r\n }\r\n\r\n mainModelChanged() {\r\n this.taskQueue.queueMicroTask(() => {\r\n this.valueChanged(this.value);\r\n })\r\n }\r\n valueChanged(newVal) {\r\n if (!this.editor) {\r\n return;\r\n }\r\n\r\n if (newVal == this.editor.getValue()) {\r\n return;\r\n }\r\n\r\n this.editor.setValue(newVal || \"\");\r\n }\r\n\r\n private createEditorOnMonacoLoaded() {\r\n if ((window).require) {\r\n this.createEditorOnMonacoLoaded2();\r\n } else if (CodeEditor._jsLoadedPromise) {\r\n CodeEditor._jsLoadedPromise.then(() => {\r\n this.createEditorOnMonacoLoaded2();\r\n });\r\n }\r\n else {\r\n CodeEditor._jsLoadedPromise = new Promise((resolve, reject) => {\r\n var loaderScript = document.createElement(\"script\");\r\n loaderScript.type = \"text/javascript\";\r\n loaderScript.src = \"vs/loader.js\";\r\n loaderScript.addEventListener(\"load\", () => {\r\n resolve();\r\n this.createEditorOnMonacoLoaded2();\r\n });\r\n document.body.appendChild(loaderScript);\r\n });\r\n }\r\n }\r\n private createEditorOnMonacoLoaded2() {\r\n if (!CodeEditor._vsLoadedPromise) {\r\n CodeEditor._vsLoadedPromise = new Promise((resolve, reject) => {\r\n (window).require([\"vs/editor/editor.main\"], () => {\r\n resolve();\r\n });\r\n });\r\n }\r\n\r\n CodeEditor._vsLoadedPromise.then(() => {\r\n this.createEditor();\r\n });\r\n }\r\n private createEditor() {\r\n this.editor = monaco.editor.create(\r\n this.host, {\r\n autoIndent: true,\r\n automaticLayout: true,\r\n fontSize: \"12px\",\r\n minimap: {\r\n enabled: false\r\n },\r\n language: this.language || \"csharp\",\r\n value: this.value\r\n });\r\n\r\n this.editorDidChangeModelContentEvent = this.editor.onDidChangeModelContent(() => {\r\n const newVal = this.editor.getValue();\r\n\r\n if ((newVal || \"\") == (this.value || \"\")) {\r\n return;\r\n }\r\n\r\n this.value = newVal;\r\n\r\n if (this.mainModel) {\r\n this.modelUtils.setDirty(this.mainModel);\r\n }\r\n });\r\n }\r\n}\r\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 {\r\n autoinject,\r\n bindable,\r\n createOverrideContext,\r\n OverrideContext,\r\n TemplatingEngine,\r\n TaskQueue,\r\n observable,\r\n View\r\n} from \"aurelia-framework\";\r\nimport {\r\n ScopeContainer\r\n} from \"../../../base/export\";\r\nimport {\r\n FormBase\r\n} from \"../../classes/form-base\";\r\nimport {\r\n ToolbarService\r\n} from \"../../services/toolbar-service\";\r\nimport {\r\n PopupInfoService\r\n} from \"../../services/popup-info-service\";\r\nimport {\r\n ICustomEditPopupShowOptions\r\n} from \"./custom-edit-popup-show-options\";\r\nimport { ObjectService } from '../../../base/services/object-service';\r\nimport { TemplatingExService } from '../../../base/services/templating-ex-service';\r\nimport { EventAggregator } from 'aurelia-event-aggregator';\r\n\r\n@autoinject\r\nexport class CustomEditPopup {\r\n private _isInitialized: boolean = false;\r\n private _showOptions: ICustomEditPopupShowOptions;\r\n private _idToolbar = \"popupToolbar\";\r\n private _createdToolbarView: View;\r\n\r\n constructor(\r\n private toolbar: ToolbarService,\r\n private popupInfo: PopupInfoService,\r\n private objectService: ObjectService,\r\n private templatingEngine: TemplatingEngine,\r\n private taskQueue: TaskQueue,\r\n private templatingExService: TemplatingExService,\r\n private eventAggregator: EventAggregator\r\n ) { }\r\n\r\n scope: any;\r\n scopeContainer: ScopeContainer;\r\n\r\n popup: any;\r\n popupOptions: DevExpress.ui.dxPopupOptions = {\r\n contentTemplate: \"contentTemplate\",\r\n titleTemplate: (container: Element) => {\r\n const toolbar = document.createElement(\"toolbar\");\r\n toolbar.setAttribute(\"options.bind\", this._idToolbar);\r\n\r\n container.appendChild(toolbar);\r\n\r\n this._createdToolbarView = this.templatingEngine.enhance({\r\n element: toolbar,\r\n bindingContext: this.scopeContainer.scope.bindingContext,\r\n overrideContext: this.scopeContainer.scope.overrideContext\r\n });\r\n },\r\n showCloseButton: false,\r\n onShowing: (e) => {\r\n this.popupInfo.onShowPopup({\r\n owner: this,\r\n popup: e.component,\r\n form: this.form.currentViewModel,\r\n executeCommand: (idCommand) => {\r\n this.form.currentViewModel.executeCommand(idCommand);\r\n },\r\n handleChangedData: () => {\r\n return this.form.currentViewModel.handleChangedData();\r\n },\r\n hasChangedData: () => {\r\n return this.form.currentViewModel.models.hasChangedData();\r\n }\r\n });\r\n },\r\n onShown: (e) => {\r\n e.component.repaint();\r\n },\r\n onHiding: (e) => {\r\n this.popupInfo.onHidePopup(e.component);\r\n },\r\n onDisposing: () => {\r\n if (this._createdToolbarView) {\r\n this.templatingExService.destroyView(this._createdToolbarView);\r\n this._createdToolbarView = null;\r\n }\r\n }\r\n };\r\n\r\n @bindable idForm: string;\r\n @bindable height: string;\r\n @bindable maxWidth: string;\r\n @bindable maxHeight: string;\r\n @bindable delayedInitialize: boolean;\r\n @observable form: any;\r\n\r\n get isVisible() {\r\n return this.popup\r\n && this.popup.instance\r\n && this.popup.instance.option(\"visible\");\r\n }\r\n\r\n bind(bindingContext: any, overrideContext: OverrideContext) {\r\n this.scope = {\r\n bindingContext: this,\r\n overrideContext: createOverrideContext(this)\r\n };\r\n this.scopeContainer = new ScopeContainer(this.scope);\r\n\r\n if (this.height != void (0)) {\r\n this.popupOptions.height = this.height;\r\n }\r\n if (this.maxWidth != void (0)) {\r\n this.popupOptions.maxWidth = this.maxWidth;\r\n }\r\n if (this.maxHeight != void(0)) {\r\n this.popupOptions.maxHeight = this.maxHeight;\r\n }\r\n\r\n (this.popupOptions).onContentTemplateRendered = (e) => {\r\n if (this.delayedInitialize === false) {\r\n return;\r\n }\r\n\r\n this.taskQueue.queueTask(() => {\r\n e.instance.show();\r\n })\r\n }\r\n\r\n if (this.delayedInitialize === false) {\r\n this.taskQueue.queueTask(() => {\r\n setTimeout(() => {\r\n this.initializeContent();\r\n }, 1500);\r\n });\r\n }\r\n }\r\n unbind() {\r\n this.scopeContainer.disposeAll();\r\n }\r\n\r\n show(options: ICustomEditPopupShowOptions) {\r\n this._showOptions = options;\r\n\r\n if (!this._isInitialized) {\r\n this.initializeContent();\r\n //in onContentTemplateRendered wird das show gemacht!\r\n\r\n return;\r\n }\r\n\r\n this.form.viewScrollInfo = this._showOptions.viewScrollInfo;\r\n this.popup.instance.show();\r\n }\r\n hide() {\r\n this.popup.instance.hide();\r\n }\r\n closeCurrentPopup() {\r\n this.hide();\r\n }\r\n\r\n private initializeContent() {\r\n this._isInitialized = true;\r\n\r\n const popup: DevExpress.ui.dxPopup = this.popup.instance;\r\n popup.option(\"deferRendering\", false);\r\n\r\n let firstShownAction = (content: FormBase) => {\r\n content.callOnCommandsLoaded(() => {\r\n const toolbarOptions = this.toolbar.createToolbarOptions(\r\n content.scopeContainer,\r\n content.title,\r\n content.commands.getCommands());\r\n\r\n content.binding.observe({\r\n scopeContainer: content.scopeContainer,\r\n expression: \"title\",\r\n callback: (newVal) => {\r\n toolbarOptions.title = newVal;\r\n }\r\n });\r\n\r\n this[this._idToolbar] = toolbarOptions;\r\n });\r\n\r\n content.models.onLoaded.register(e => {\r\n if (e.model !== content.models.modelWithKeyId) {\r\n return Promise.resolve();\r\n }\r\n if (!e.data) {\r\n return Promise.resolve();\r\n }\r\n\r\n if (!this._showOptions || !this._showOptions.setValuesOnModelWithKeyIdLoaded) {\r\n return Promise.resolve();\r\n }\r\n\r\n const setValues = this._showOptions.setValuesOnModelWithKeyIdLoaded;\r\n\r\n for (let key in setValues) {\r\n this.objectService.setValue(e.data, key, setValues[key]);\r\n e.data[key] = setValues[key];\r\n }\r\n\r\n return Promise.resolve();\r\n });\r\n\r\n content.models.onSaved.register(e => {\r\n if (this._showOptions && this._showOptions.savedCallback) {\r\n this._showOptions.savedCallback(content);\r\n }\r\n\r\n return Promise.resolve();\r\n });\r\n };\r\n\r\n popup.on({\r\n showing: e => {\r\n const content: Element = e.component.content();\r\n content.parentElement.classList.add(\"t--popup\");\r\n },\r\n shown: async () => {\r\n const content: FormBase = await this.templatingExService.waitForViewModel(this.form);\r\n\r\n content.viewScrollInfo = this._showOptions.viewScrollInfo;\r\n\r\n if (firstShownAction) {\r\n firstShownAction(content);\r\n firstShownAction = null;\r\n }\r\n\r\n if (this._showOptions && this._showOptions.mappings) {\r\n for (let key in this._showOptions.mappings) {\r\n content.variables.data[key] = this._showOptions.mappings[key];\r\n }\r\n }\r\n this.eventAggregator.publish(\"editpopup:shown\", {\r\n form: content\r\n });\r\n\r\n content.dispatchOnReady();\r\n },\r\n hiding: () => {\r\n if (!this._showOptions || !this._showOptions.closeCallback) {\r\n return;\r\n }\r\n\r\n this._showOptions.closeCallback(this.form.currentViewModel);\r\n },\r\n hidden: () => {\r\n if (this._showOptions && this._showOptions.mappings) {\r\n const content: FormBase = this.form.currentViewModel;\r\n for (let key in this._showOptions.mappings) {\r\n content.variables.data[key] = null;\r\n }\r\n }\r\n this.eventAggregator.publish(\"editpopup:hidden\", {\r\n form: this.form.currentController.viewModel\r\n });\r\n\r\n this._showOptions = null;\r\n }\r\n })\r\n }\r\n}\r\n","module.exports = \" \";","import {\r\n autoinject,\r\n bindable,\r\n computedFrom,\r\n observable,\r\n BindingEngine,\r\n Disposable,\r\n Expression,\r\n OverrideContext,\r\n TaskQueue,\r\n Scope\r\n} from \"aurelia-framework\";\r\nimport {\r\n IFileUploaderWithViewerOptions\r\n} from \"../../widget-options/export\";\r\nimport {\r\n BindingService,\r\n FileService,\r\n LocalizationService,\r\n ScopeContainer\r\n} from \"../../../base/export\";\r\n\r\nimport { IToolbarOptions } from '../toolbar/toolbar-options';\r\nimport { ModelUtilsService } from '../../services/model-utils-service';\r\nimport { EventAggregator } from 'aurelia-event-aggregator';\r\n\r\n@autoinject\r\nexport class TipFileUploaderWithViewer {\r\n private _isClickActive: boolean;\r\n\r\n constructor(\r\n private element: Element,\r\n private file: FileService,\r\n private localization: LocalizationService,\r\n private binding: BindingService,\r\n private bindingEngine: BindingEngine,\r\n private taskQueue: TaskQueue,\r\n private modelUtilsService: ModelUtilsService,\r\n private eventAggregator: EventAggregator\r\n ) { }\r\n\r\n @bindable options: IFileUploaderWithViewerOptions;\r\n @observable currentValue: any;\r\n\r\n scope: Scope;\r\n scopeContainer: ScopeContainer;\r\n\r\n input: HTMLInputElement;\r\n downloadUrl: string;\r\n showImage: boolean;\r\n\r\n bindingContext: any;\r\n overrideContext: OverrideContext;\r\n\r\n observables: Disposable[] = [];\r\n dropEnabled: boolean = false;\r\n\r\n isReadOnly: boolean;\r\n isDisabled: boolean;\r\n\r\n placeholderIcon?: string;\r\n placeholderImage?: string;\r\n placeholderImageText?: string;\r\n placeholder?: string;\r\n @observable iconDownload?: string;\r\n imageContainerStyle: any;\r\n\r\n toolbarTopOptions: IToolbarOptions;\r\n toolbarBottomOptions: IToolbarOptions;\r\n\r\n downloadButtonOptions: DevExpress.ui.dxButtonOptions = {\r\n text: \"Download\",\r\n onClick: () => {\r\n window.open(this.downloadUrl, \"_blank\");\r\n }\r\n }\r\n clearButtonOptions: DevExpress.ui.dxButtonOptions = {\r\n icon: \"far fa-trash-alt\",\r\n onClick: () => {\r\n this.setValue(null);\r\n }\r\n }\r\n\r\n @computedFrom(\"options.showViewer\", \"downloadUrl\")\r\n get showViewer(): boolean {\r\n return this.downloadUrl\r\n && (!this.options\r\n || this.options.showViewer == void (0)\r\n || this.options.showViewer == true);\r\n }\r\n @computedFrom(\"showViewer\", \"options.acceptType\")\r\n get showImageViewer(): boolean {\r\n return this.showViewer\r\n && this.options\r\n && this.options.acceptType == \"image/*\";\r\n }\r\n @computedFrom(\"dropEnabled\")\r\n get clickableClass(): string {\r\n if (this.dropEnabled) {\r\n return \"t--file-uploader-with-viewer-click-region-droppable\";\r\n } else {\r\n return \"\";\r\n }\r\n }\r\n @computedFrom(\"isReadOnly\", \"isDisabled\")\r\n get canUpload(): boolean {\r\n return !this.isReadOnly && !this.isDisabled;\r\n }\r\n\r\n bind(bindingContext: any, overrideContext: OverrideContext) {\r\n this.bindingContext = bindingContext;\r\n this.overrideContext = overrideContext;\r\n\r\n this.scope = {\r\n bindingContext: this,\r\n overrideContext: null\r\n };\r\n this.scopeContainer = new ScopeContainer(this.scope);\r\n\r\n const bindingOptions = this.options[\"bindingOptions\"];\r\n if (bindingOptions && bindingOptions.value) {\r\n this.observeValue(bindingOptions.value, (v) => this.currentValue = v);\r\n }\r\n\r\n if (this.options.iconDownloadExpression) {\r\n this.observeValue(this.options.iconDownloadExpression, (v) => this.iconDownload = v);\r\n } else if (this.options.iconDownload) {\r\n this.iconDownload = this.options.iconDownload;\r\n }\r\n\r\n if (this.options.placeholderImageExpression) {\r\n this.observeValue(this.options.placeholderImageExpression, (v) => this.placeholderImage = v);\r\n } else if (this.options.placeholderImage) {\r\n this.placeholderImage = this.options.placeholderImage;\r\n }\r\n\r\n if (this.options.placeholderIconExpression) {\r\n this.observeValue(this.options.placeholderIconExpression, (v) => this.placeholderIcon = v);\r\n } else if (this.options.placeholderIcon) {\r\n this.placeholderIcon = this.options.placeholderIcon;\r\n }\r\n\r\n if (this.options.isReadOnlyExpression) {\r\n this.observeValue(this.options.isReadOnlyExpression, (v) => this.isReadOnly = v);\r\n } else if (this.options.isReadOnly) {\r\n this.isReadOnly = this.options.isReadOnly;\r\n }\r\n\r\n if (this.options.isDisabledExpression) {\r\n this.observeValue(this.options.isDisabledExpression, (v) => this.isDisabled = v);\r\n } else if (this.options.isDisabled) {\r\n this.isDisabled = this.options.isDisabled;\r\n }\r\n\r\n if (this.options.showDownloadButton == void(0)) {\r\n this.options.showDownloadButton = true;\r\n }\r\n\r\n this.placeholderImageText = this.options.placeholderImageText;\r\n this.placeholder = this.localization.translateOnce(\"forms.file_uploadClickHere\");\r\n if (this.options.placeholder) {\r\n this.placeholder = this.options.placeholder;\r\n }\r\n\r\n this.imageContainerStyle = {\r\n height: this.options.height\r\n ? this.options.height\r\n : \"150px\"\r\n };\r\n\r\n this.eventAggregator.publish(\"file-uploader:bind\", {\r\n element: this.element,\r\n options: this.options\r\n });\r\n\r\n this.createToolbarTop();\r\n this.createToolbarBottom();\r\n }\r\n unbind() {\r\n if (this.observables) {\r\n this.observables.forEach(c => c.dispose());\r\n this.observables.length = 0;\r\n }\r\n this.scopeContainer.disposeAll();\r\n this.scope = null;\r\n }\r\n attached() {\r\n this.input.addEventListener(\"change\", (e) => {\r\n if (this.input.files.length !== 1) {\r\n return;\r\n }\r\n\r\n this.uploadFile(this.input.files[0]);\r\n });\r\n }\r\n\r\n getExpressionContext(propertyName: string) {\r\n return this.binding.getBindingContext({\r\n bindingContext: this.bindingContext,\r\n overrideContext: this.overrideContext\r\n }, propertyName);\r\n }\r\n observeValue(propertyName: string, setValueCallback: { (value): void }) {\r\n const expression = this.bindingEngine.parseExpression(propertyName);\r\n const context = this.getExpressionContext(propertyName);\r\n const observer = this.bindingEngine.expressionObserver(context, propertyName);\r\n\r\n this.observables.push(observer.subscribe((newValue, oldValue) => {\r\n setValueCallback(expression.evaluate({\r\n bindingContext: this.bindingContext,\r\n overrideContext: this.overrideContext\r\n }));\r\n }));\r\n\r\n setValueCallback(expression.evaluate({\r\n bindingContext: this.bindingContext,\r\n overrideContext: this.overrideContext\r\n }));\r\n }\r\n\r\n currentValueChanged(newValue: string) {\r\n if (newValue) {\r\n this.downloadUrl = this.file.getDownloadUrl(newValue);\r\n } else {\r\n this.downloadUrl = null;\r\n }\r\n\r\n this.taskQueue.queueTask(() => {\r\n //HACK notwendig, da Firefox das Bild ansonsten ev. außerhalb des Borders anzeigt\r\n this.showImage = !!this.downloadUrl;\r\n })\r\n }\r\n iconDownloadChanged(newValue: string) {\r\n let downloadButton: DevExpress.ui.dxButton = this[\"downloadButton\"];\r\n const icon = `fa fa-${this.iconDownload || \"cloud-download\"}`;\r\n\r\n if (downloadButton) {\r\n downloadButton.option(\"icon\", icon);\r\n } else {\r\n this.downloadButtonOptions.icon = icon;\r\n }\r\n }\r\n\r\n onClick() {\r\n if (!this.canUpload) {\r\n return;\r\n }\r\n\r\n this.input.click();\r\n \r\n event.stopPropagation();\r\n event.preventDefault();\r\n }\r\n onDragOver(event: Event) {\r\n event.preventDefault();\r\n this.dropEnabled = this.isDropEnabled(event);\r\n }\r\n onDragLeave(event: Event) {\r\n event.preventDefault();\r\n this.dropEnabled = false;\r\n }\r\n onDrop(event: any) {\r\n event.preventDefault();\r\n\r\n if (!this.isDropEnabled(event)) {\r\n return;\r\n }\r\n\r\n this.uploadFile(event.dataTransfer.files[0]);\r\n this.dropEnabled = false;\r\n }\r\n\r\n setValue(val: any) {\r\n const bindingOptions = this.options[\"bindingOptions\"];\r\n if (bindingOptions && bindingOptions.value) {\r\n const expression = this.bindingEngine.parseExpression(bindingOptions.value);\r\n expression.assign({\r\n bindingContext: this.bindingContext,\r\n overrideContext: this.overrideContext\r\n }, val, null);\r\n }\r\n\r\n if (this.options.onFileKeyChanged) {\r\n this.options.onFileKeyChanged(val);\r\n }\r\n\r\n if (this.options && this.options.clearCurrentValueAfterUpload) {\r\n this.currentValue = null;\r\n }\r\n }\r\n\r\n private createToolbarTop() {\r\n if (!this.options.showToolbar) {\r\n return;\r\n }\r\n\r\n this.toolbarTopOptions = {\r\n title: this.options.caption,\r\n items: [],\r\n smallToolbar: true\r\n };\r\n\r\n this.toolbarTopOptions.items.push({\r\n id: \"file-upload\",\r\n icon: \"fas fa-upload\",\r\n isEnabledExpression: \"canUpload\",\r\n execute: () => {\r\n this.onClick();\r\n }\r\n });\r\n this.toolbarTopOptions.items.push({\r\n id: \"file-delete\",\r\n icon: \"fas fa-times\",\r\n isEnabledExpression: \"canUpload\",\r\n execute: () => {\r\n this.setValue(null);\r\n }\r\n });\r\n\r\n this.eventAggregator.publish(\"file-uploader:create-toolbar-top\", {\r\n element: this.element,\r\n options: this.options,\r\n instance: this,\r\n toolbarOptions: this.toolbarTopOptions\r\n });\r\n }\r\n private createToolbarBottom() {\r\n if (!this.options.showToolbarBottom) {\r\n return;\r\n }\r\n\r\n this.toolbarBottomOptions = {\r\n title: null,\r\n items: [],\r\n smallToolbar: true\r\n };\r\n\r\n this.eventAggregator.publish(\"file-uploader:create-toolbar-bottom\", {\r\n element: this.element,\r\n options: this.options,\r\n instance: this,\r\n toolbarOptions: this.toolbarBottomOptions\r\n });\r\n }\r\n private isDropEnabled(event: any): boolean {\r\n if (!this.canUpload) {\r\n return false;\r\n }\r\n\r\n if (!event.dataTransfer || !event.dataTransfer.types || event.dataTransfer.types.length !== 1) {\r\n return false;\r\n }\r\n\r\n return true;\r\n }\r\n private uploadFile(file: File) {\r\n if (this.options && this.options.maxFileSizeMB && file.size > this.options.maxFileSizeMB * 1024 * 1024) {\r\n DevExpress.ui.notify(\r\n this.localization.translateOnce(\"forms.max_file_size_exceeded\", [this.options.maxFileSizeMB.toString()]),\r\n \"error\",\r\n 3000);\r\n\r\n this.input.value = null;\r\n return;\r\n }\r\n\r\n if (file.size > 50 * 1024 * 1024) {\r\n DevExpress.ui.notify(\r\n this.localization.translateOnce(\"forms.max_file_size_exceeded\", [\"50\"]),\r\n \"error\",\r\n 3000);\r\n\r\n this.input.value = null;\r\n return;\r\n }\r\n\r\n if (!this.isFileTypeValid(file)) {\r\n DevExpress.ui.notify(\r\n this.localization.translateOnce(\"forms.file_type_not_supported\", [this.options.acceptType]),\r\n \"error\",\r\n 3000);\r\n\r\n this.input.value = null;\r\n return;\r\n }\r\n\r\n this.taskQueue.queueTask(() => {\r\n this.file\r\n .upload(file)\r\n .then(r => {\r\n if (!r) {\r\n return;\r\n }\r\n\r\n const key = r;\r\n this.input.value = null\r\n this.currentValue = key;\r\n \r\n this.setValue(key);\r\n this.dispatchUploadedEvent(file, key);\r\n })\r\n .catch(() => {\r\n this.input.value = null\r\n });\r\n });\r\n }\r\n private isFileTypeValid(file: File): boolean {\r\n if (!this.options || !this.options.acceptType) {\r\n return true;\r\n }\r\n\r\n let isValid = false;\r\n if (this.options.acceptType.indexOf(\"/\") >= 0) {\r\n let acceptType = this.options.acceptType;\r\n\r\n const indexOfWildcard = acceptType.indexOf(\"/*\");\r\n if (indexOfWildcard >= 0) {\r\n acceptType = acceptType.substr(0, indexOfWildcard + 1)\r\n .concat(\".\")\r\n .concat(acceptType.substr(indexOfWildcard + 1));\r\n }\r\n\r\n isValid = new RegExp(\"^\".concat(acceptType).concat(\"$\")).test(file.type);\r\n } else {\r\n const tokens = this.options.acceptType.toLowerCase().split(\",\");\r\n isValid = tokens.some(c => file.name.toLowerCase().endsWith(c));\r\n }\r\n\r\n return isValid;\r\n }\r\n private dispatchUploadedEvent(file, key) {\r\n const event = new CustomEvent(\"file-uploaded\", {\r\n detail: {\r\n sender: this,\r\n value: {\r\n file: file,\r\n fileKey: key\r\n }\r\n },\r\n bubbles: true\r\n });\r\n\r\n this.element.dispatchEvent(event);\r\n }\r\n}\r\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 {\r\n autoinject,\r\n bindable,\r\n bindingMode,\r\n computedFrom,\r\n Scope\r\n} from \"aurelia-framework\";\r\nimport { ModelUtilsService, IHtmlEditorOptions } from '../../export';\r\nimport { HtmlEditorService } from '../../services/html-editor-service';\r\nimport { ScopeContainer } from '../../../base/export';\r\n\r\n@autoinject\r\nexport class HtmlEditor {\r\n constructor(\r\n private element: Element,\r\n private htmlEditorService: HtmlEditorService,\r\n private modelUtils: ModelUtilsService\r\n ) {}\r\n\r\n hasBottomToolbar: boolean;\r\n\r\n @bindable options: IHtmlEditorOptions;\r\n @bindable mainModel: any;\r\n @bindable({ defaultBindingMode: bindingMode.twoWay }) value: any;\r\n\r\n @computedFrom(\"options.isReadOnly\", \"mainModel.CanSave\")\r\n get isReadOnlyChecked() {\r\n return !this.options\r\n || this.options.isReadOnly === true\r\n || (this.mainModel && this.mainModel.CanSave === false);\r\n }\r\n\r\n htmlEditor: any;\r\n htmlEditorOptions: DevExpress.ui.dxHtmlEditorOptions;\r\n scope: Scope;\r\n scopeContainer: ScopeContainer;\r\n\r\n bind(bindingContext, overrideContext) {\r\n this.scope = {\r\n bindingContext: bindingContext,\r\n overrideContext: overrideContext\r\n };\r\n this.scopeContainer = new ScopeContainer(this.scope);\r\n\r\n this.htmlEditorOptions = {};\r\n this.htmlEditorService.configureHtmlEditor(\r\n this.scopeContainer,\r\n this.options,\r\n this.htmlEditorOptions\r\n );\r\n\r\n if (!this.htmlEditorOptions.bindingOptions) {\r\n this.htmlEditorOptions.bindingOptions = {};\r\n }\r\n this.htmlEditorOptions.bindingOptions.value = \"value\";\r\n this.htmlEditorOptions.bindingOptions.readOnly = \"isReadOnlyChecked\";\r\n this.htmlEditorOptions.onValueChangedByUser = (e) => {\r\n if (this.mainModel) {\r\n this.modelUtils.setDirty(this.mainModel);\r\n }\r\n };\r\n }\r\n attached() {\r\n const element: any = this.element;\r\n\r\n const slots = element.au.controller.view.slots;\r\n this.hasBottomToolbar = slots\r\n && slots.bottomToolbar\r\n && slots.bottomToolbar.children\r\n && slots.bottomToolbar.children.length > 0;\r\n }\r\n detached() {\r\n }\r\n unbind() {\r\n this.scopeContainer.disposeAll();\r\n this.scopeContainer = null;\r\n this.scope = null;\r\n }\r\n\r\n updateVariables(variables: string) {\r\n if (variables == void(0)) {\r\n variables = \"\";\r\n }\r\n\r\n if (this.htmlEditor && this.htmlEditor.instance) {\r\n this.htmlEditor.instance.option(\"variables.dataSource\", variables.split(\";\").filter(c => !!c));\r\n } else {\r\n this.options.variables = variables;\r\n }\r\n }\r\n}\r\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 {\r\n autoinject,\r\n bindable,\r\n computedFrom,\r\n createOverrideContext,\r\n observable,\r\n OverrideContext,\r\n processContent\r\n} from \"aurelia-framework\";\r\nimport {\r\n LocalizationService\r\n} from \"../../../base/services/export\";\r\nimport {\r\n IListViewOptions\r\n} from \"./list-view-options\";\r\nimport { BindingService } from '../../../base/services/binding-service';\r\nimport { IListViewItemsOptions } from './list-view-items-options';\r\nimport { ListViewPagingMode } from './list-view-paging-mode';\r\n\r\n@autoinject\r\n@processContent(false)\r\nexport class ListView {\r\n private _pageIndex: number;\r\n\r\n constructor(\r\n private element: Element,\r\n private binding: BindingService,\r\n private localization: LocalizationService\r\n ) { }\r\n\r\n @bindable options: IListViewOptions;\r\n\r\n pagerInfoText: string;\r\n isLoading: boolean;\r\n\r\n viewClass: string;\r\n viewStyle: any;\r\n\r\n scrollView: any;\r\n\r\n pages: Pages;\r\n\r\n itemsOptions: IListViewItemsOptions = {\r\n selectedItems: {},\r\n hasSelection: false,\r\n items: [],\r\n totalItems: 0,\r\n totalPages: 0,\r\n showLoadNextButton: false,\r\n\r\n itemAlias: null,\r\n itemClass: null,\r\n itemTemplate: null,\r\n itemOverrideContext: null,\r\n\r\n getKeyProperty: this.getKeyProperty.bind(this),\r\n getItemKey: this.getItemKey.bind(this),\r\n\r\n goToNextPage: this.goToNextPage.bind(this),\r\n\r\n selectByKey: this.selectByKeys.bind(this),\r\n isSelectedByKey: this.isSelectedByKey.bind(this),\r\n\r\n onItemClick: this.onItemClick.bind(this)\r\n }\r\n\r\n reloadButtonOptions: DevExpress.ui.dxButtonOptions = {\r\n text: this.localization.translateOnce(\"list_view.reload\"),\r\n onClick: () => {\r\n this.goToPage(0, true);\r\n }\r\n }\r\n\r\n @computedFrom(\"options.showReloadButton\", \"options.pagingMode\")\r\n get showReloadButton(): boolean {\r\n return !!this.options.showReloadButton\r\n && this.options.pagingMode == ListViewPagingMode.loadNext;\r\n }\r\n @computedFrom(\"showReloadButton\", \"options.showPagerInfo\")\r\n get infoVisible(): boolean {\r\n return this.showReloadButton\r\n || this.options.showPagerInfo;\r\n }\r\n\r\n bind(bindingContext: any, overrideContext: OverrideContext): void {\r\n this.itemsOptions.itemOverrideContext = createOverrideContext(bindingContext, overrideContext);\r\n\r\n this.extractTemplates();\r\n\r\n if (this.options.pageSize) {\r\n this.options.dataSource.pageSize(this.options.pageSize);\r\n }\r\n\r\n if (this.options.pagingMode == void (0)) {\r\n this.options.pagingMode = ListViewPagingMode.loadNext;\r\n }\r\n\r\n if (this.options.onInitialized) {\r\n this.options.onInitialized({\r\n component: this,\r\n element: this.element\r\n });\r\n }\r\n \r\n this.options.dataSource.on(\"changed\", this.handleDataSourceChanged.bind(this));\r\n this.options.dataSource.on(\"loadingChanged\", this.handleDataSourceLoadingChanged.bind(this));\r\n\r\n this.createViewClass();\r\n this.createItemClass();\r\n\r\n this.goToPage(0);\r\n }\r\n unbind() {\r\n this.options.dataSource.off(\"changed\");\r\n this.options.dataSource.off(\"loadingChanged\");\r\n }\r\n\r\n goToNextPage(): void {\r\n this.goToPage(this._pageIndex + 1)\r\n }\r\n goToPage(pageIndex: number, scrollToTop: boolean = null): void {\r\n if (pageIndex == void (0)) {\r\n return;\r\n }\r\n\r\n if (scrollToTop == void (0)) {\r\n scrollToTop = this.options.pagingMode == ListViewPagingMode.paging;\r\n }\r\n\r\n this.options.dataSource.pageIndex(pageIndex);\r\n this._pageIndex = pageIndex;\r\n\r\n this.options.dataSource.load().then(() => {\r\n if (this.scrollView && this.scrollView.instance) {\r\n const scrollView: DevExpress.ui.dxScrollView = this.scrollView.instance;\r\n scrollView.update();\r\n }\r\n });\r\n\r\n if (scrollToTop) {\r\n this.scrollToTop();\r\n }\r\n }\r\n refresh(onlyCurrentPage?: boolean): void {\r\n if (!onlyCurrentPage) {\r\n if (this.options.dataSource.pageIndex() > 0) {\r\n this.goToPage(0, true);\r\n return;\r\n }\r\n }\r\n\r\n this.goToPage(this.options.dataSource.pageIndex(), !onlyCurrentPage);\r\n }\r\n scrollToTop(): void {\r\n if (!this.scrollView || !this.scrollView.instance) {\r\n return;\r\n }\r\n\r\n const scrollView: DevExpress.ui.dxScrollView = this.scrollView.instance;\r\n scrollView.scrollTo(0);\r\n }\r\n searchByText(text: string): void {\r\n this.options.dataSource.searchOperation(\"contains\");\r\n this.options.dataSource.searchValue(text);\r\n this.goToPage(0, true);\r\n }\r\n setTotalCount() {\r\n this.itemsOptions.totalItems = this.options.dataSource.totalCount();\r\n\r\n if (this.itemsOptions.totalItems < 0) {\r\n this.itemsOptions.totalItems = this.options.dataSource.items().length;\r\n }\r\n\r\n this.itemsOptions.totalPages = Math.ceil(this.itemsOptions.totalItems / this.options.dataSource.pageSize());\r\n\r\n this.itemsOptions.showLoadNextButton = this.options.pagingMode == ListViewPagingMode.loadNext\r\n && this.itemsOptions.totalItems > this.itemsOptions.items.length;\r\n\r\n if (this.options.pagingMode == ListViewPagingMode.paging) {\r\n this.calcPageInfo();\r\n\r\n this.pagerInfoText = this.localization.translateOnce(\r\n \"list_view.pager_info\",\r\n [this.itemsOptions.totalItems.toString()]\r\n );\r\n } else {\r\n this.pagerInfoText = this.localization.translateOnce(\r\n \"list_view.pager_info_with_load\",\r\n [this.itemsOptions.totalItems.toString(), this.itemsOptions.items.length.toString()]\r\n );\r\n }\r\n }\r\n\r\n getKeyProperty(): string {\r\n return this.options.dataSource.key() || \"Id\";\r\n }\r\n getItemKey(item): any {\r\n const key = this.getKeyProperty();\r\n\r\n if (key) {\r\n return this.binding.evaluate({\r\n bindingContext: item,\r\n overrideContext: null\r\n }, key);\r\n } else {\r\n return item;\r\n }\r\n }\r\n\r\n clearSelection(): void {\r\n this.itemsOptions.selectedItems = {};\r\n this.itemsOptions.hasSelection = false;\r\n }\r\n getSelectedKeys(): any[] {\r\n const result = [];\r\n\r\n for (let key in this.itemsOptions.selectedItems) {\r\n const val = this.itemsOptions.selectedItems[key];\r\n if (val == void(0)) {\r\n continue;\r\n }\r\n\r\n result.push(val);\r\n }\r\n\r\n return result;\r\n }\r\n isSelectedByKey(key: any): boolean {\r\n return !!this.itemsOptions.selectedItems[key];\r\n }\r\n selectByKeys(keys: any | any[], set: boolean): void {\r\n if (!Array.isArray(keys)) {\r\n keys = [keys];\r\n }\r\n\r\n if (set && this.options.selectionMode == \"single\") {\r\n this.clearSelection();\r\n\r\n if (keys.length > 1) {\r\n return;\r\n }\r\n }\r\n\r\n keys.forEach(key => {\r\n if (set) {\r\n this.itemsOptions.selectedItems[key] = key;\r\n } else {\r\n this.itemsOptions.selectedItems[key] = undefined;\r\n }\r\n });\r\n\r\n this.itemsOptions.hasSelection = this.getSelectedKeys().length > 0;\r\n }\r\n\r\n replaceDataSource(dataSource: DevExpress.data.DataSource) {\r\n if (this.options.dataSource) {\r\n this.options.dataSource.off(\"changed\");\r\n this.options.dataSource.off(\"loadingChanged\");\r\n }\r\n\r\n this.options.dataSource = dataSource;\r\n \r\n this.options.dataSource.on(\"changed\", this.handleDataSourceChanged.bind(this));\r\n this.options.dataSource.on(\"loadingChanged\", this.handleDataSourceLoadingChanged.bind(this));\r\n\r\n this.refresh(false);\r\n }\r\n\r\n onItemClick(item: any, event: Event, rowIndex: number): void {\r\n if (item.__isGroup) {\r\n return;\r\n }\r\n if (!this.options.onItemClick) {\r\n return;\r\n }\r\n\r\n this.options.onItemClick({\r\n item: item,\r\n data: item,\r\n event: event,\r\n rowIndex: rowIndex,\r\n hasAllPages: (this.options.pagingMode == ListViewPagingMode.loadNext)\r\n });\r\n }\r\n\r\n private createViewClass() {\r\n const viewClasses = [];\r\n const viewStyle = {};\r\n\r\n if (this.options.height) {\r\n viewStyle[\"height\"] = this.options.height;\r\n }\r\n if (this.options.useDefaultListItemStyle == void (0) || this.options.useDefaultListItemStyle) {\r\n viewClasses.push(\"list-view-item-style-default\");\r\n }\r\n if (this.options.hoverStateEnabled) {\r\n viewClasses.push(\"list-view-item-clickable\");\r\n }\r\n if (this.options.selectionMode == \"multiple\") {\r\n viewClasses.push(\"list-view-item-selectable\");\r\n }\r\n\r\n this.viewStyle = viewStyle;\r\n this.viewClass = viewClasses.join(\" \");\r\n }\r\n private createItemClass() {\r\n const itemClasses = [];\r\n itemClasses.push(this.options.itemClass ? this.options.itemClass : \"col-xs-12\");\r\n\r\n this.itemsOptions.itemClass = itemClasses.join(\" \");\r\n }\r\n private extractTemplates() {\r\n const children = Array.from(this.element.children)\r\n .filter((c) => c.tagName == \"CUSTOM-TEMPLATE\");;\r\n\r\n for (let i = 0; i < children.length; i++) {\r\n const item = children[i];\r\n const name = item.getAttribute(\"name\");\r\n const alias = item.getAttribute(\"alias\") || \"item\";\r\n\r\n switch (name) {\r\n case \"item\": {\r\n this.itemsOptions.itemTemplate = item;\r\n this.itemsOptions.itemAlias = alias;\r\n break;\r\n }\r\n default: {\r\n break;\r\n }\r\n }\r\n\r\n item.parentElement.removeChild(item);\r\n }\r\n }\r\n private handleDataSourceChanged() {\r\n const items = this.options.dataSource.items();\r\n\r\n this._pageIndex = this.options.dataSource.pageIndex();\r\n\r\n this.insertItems(items, this._pageIndex);\r\n this.setTotalCount();\r\n }\r\n private handleDataSourceLoadingChanged(isLoading) {\r\n this.isLoading = isLoading;\r\n }\r\n private insertItems(items: any[], pageIndex: number) {\r\n const pageSize = this.options.dataSource.pageSize();\r\n const itemCount = pageIndex * pageSize;\r\n\r\n if (this.options.pagingMode == ListViewPagingMode.paging) {\r\n this.itemsOptions.items.splice(0);\r\n }\r\n else if (this.itemsOptions.items.length > itemCount) {\r\n let c = itemCount;\r\n\r\n if (this.options.groupProperty && itemCount > 0) {\r\n let realItemCount = 0;\r\n\r\n for (let i = 0; i < this.itemsOptions.items.length; i++) {\r\n if (!this.itemsOptions.items[i].__isGroup) {\r\n realItemCount++;\r\n }\r\n\r\n c = i;\r\n\r\n if (realItemCount >= itemCount) {\r\n if (i > 0 && this.itemsOptions.items[i - 1].__isGroup) {\r\n c = i - 1;\r\n }\r\n break;\r\n }\r\n }\r\n }\r\n\r\n this.itemsOptions.items.splice(c);\r\n }\r\n\r\n this.checkGroupProperty(items);\r\n this.itemsOptions.items.push(...items);\r\n }\r\n private checkGroupProperty(items: any[]) {\r\n if (!this.options.groupProperty) {\r\n return;\r\n }\r\n\r\n let last = this.getLastGroup();\r\n for (let i = 0; i < items.length; i++) {\r\n const item = items[i];\r\n\r\n const val = this.binding.evaluate({\r\n bindingContext: item,\r\n overrideContext: null\r\n }, this.options.groupProperty);\r\n\r\n if (val != last) {\r\n items.splice(i, 0, {\r\n \"__isGroup\": true,\r\n \"__groupValue\": val\r\n });\r\n\r\n last = val;\r\n }\r\n }\r\n }\r\n private getLastGroup(): any {\r\n if (!this.itemsOptions.items) {\r\n return null;\r\n }\r\n\r\n for (let i = this.itemsOptions.items.length - 1; i >= 0; i--) {\r\n let item = this.itemsOptions.items[i];\r\n if (!item.__isGroup) {\r\n continue;\r\n }\r\n\r\n return item.__groupValue;\r\n }\r\n\r\n return null;\r\n }\r\n private calcPageInfo(): void {\r\n if (!this.pages) {\r\n this.pages = {\r\n currentPage: null,\r\n pages: [],\r\n totalPages: 0\r\n };\r\n }\r\n\r\n const totalPages = this.itemsOptions.totalPages;\r\n const currentPage = this._pageIndex;\r\n\r\n if (this.pages && this.pages.totalPages == totalPages && this.pages.currentPage == this._pageIndex) {\r\n return;\r\n }\r\n\r\n this.pages.totalPages = totalPages;\r\n this.pages.currentPage = currentPage;\r\n\r\n const arr: PageInfo[] = [];\r\n if (!totalPages) {\r\n this.pages.pages = arr;\r\n return;\r\n }\r\n\r\n let arrIndex = [0, currentPage, totalPages - 1];\r\n if (currentPage == 0) {\r\n arrIndex.push(1, 2);\r\n }\r\n if (currentPage == totalPages - 1) {\r\n arrIndex.push(totalPages - 3, totalPages - 2);\r\n }\r\n\r\n arrIndex.push(currentPage - 1, currentPage + 1);\r\n arrIndex = arrIndex.filter((v, i) => {\r\n return v >= 0\r\n && v < totalPages\r\n && arrIndex.indexOf(v) === i;\r\n });\r\n\r\n arrIndex.sort((a, b) => {\r\n return a - b;\r\n });\r\n\r\n let lastIndex = -1;\r\n for (let index of arrIndex) {\r\n if (lastIndex + 1 != index) {\r\n arr.push({ text: \"...\", index: null });\r\n }\r\n lastIndex = index;\r\n\r\n arr.push({ index: index, text: (index + 1).toString() });\r\n }\r\n\r\n this.pages.pages = arr;\r\n }\r\n}\r\n\r\ninterface PageInfo {\r\n index: number;\r\n text: string;\r\n}\r\ninterface Pages {\r\n pages: PageInfo[];\r\n totalPages: number;\r\n currentPage: number;\r\n}\r\n","import {\r\n autoinject,\r\n bindable,\r\n createOverrideContext,\r\n inlineView,\r\n OverrideContext,\r\n TemplatingEngine,\r\n resource,\r\n computedFrom,\r\n View\r\n} from \"aurelia-framework\";\r\nimport { BindingService } from '../../../base/services/binding-service';\r\nimport { ScopeContainer } from '../../../base/classes/scope-container';\r\nimport { IListViewItemsOptions } from './list-view-items-options';\r\nimport { TemplatingExService } from '../../../base/export';\r\n\r\n@autoinject\r\nexport class ListViewItem {\r\n private _itemNode: HTMLElement;\r\n private _itemView: View;\r\n\r\n constructor(\r\n private element: Element,\r\n private binding: BindingService,\r\n private templatingEngine: TemplatingEngine,\r\n private templatingExService: TemplatingExService\r\n ) { }\r\n\r\n @bindable data: any;\r\n @bindable options: IListViewItemsOptions;\r\n\r\n isSelected: boolean = false;\r\n\r\n scopeContainer: ScopeContainer;\r\n owningView: any;\r\n key: any;\r\n\r\n created(owningView: any, myView: any) {\r\n this.owningView = owningView;\r\n }\r\n bind() {\r\n this.scopeContainer = new ScopeContainer({\r\n bindingContext: this,\r\n overrideContext: null\r\n });\r\n\r\n this.key = this.options.getItemKey(this.data);\r\n this.isSelected = !!this.options.selectedItems[this.key];\r\n\r\n if (typeof this.key === \"string\" || typeof this.key === \"number\") {\r\n const key = typeof this.key === \"string\"\r\n ? `\"${this.key}\"`\r\n : this.key\r\n\r\n this.binding.observe({\r\n scopeContainer: this.scopeContainer,\r\n expression: `!!options.selectedItems[${key}]`, \r\n callback: (newValue) => {\r\n this.isSelected = newValue;\r\n }\r\n });\r\n }\r\n }\r\n unbind() {\r\n this.scopeContainer.disposeAll();\r\n }\r\n attached() {\r\n this._itemNode = this.options.itemTemplate.cloneNode(true)\r\n const container = this.element.children[0];\r\n const selection = container.children[0];\r\n container.insertBefore(this._itemNode, selection);\r\n\r\n const bindingContext = {};\r\n bindingContext[this.options.itemAlias] = this.data;\r\n\r\n //= Resourcen von dem Element, welches das list-view Element enthält ;-)\r\n let resources = null;\r\n let parent = this.owningView.container;\r\n let isListView = false;\r\n while (parent) {\r\n if (isListView && parent.viewResources && parent.viewResources.viewUrl != \"framework/forms/elements/list-view/list-view.html\") {\r\n resources = parent.viewResources;\r\n break;\r\n } else if (parent.viewResources && parent.viewResources.viewUrl == \"framework/forms/elements/list-view/list-view.html\") {\r\n isListView = true;\r\n }\r\n\r\n parent = parent.parent;\r\n }\r\n\r\n this._itemView = this.templatingEngine.enhance({\r\n element: this._itemNode,\r\n resources: resources || this.owningView.resources,\r\n bindingContext: bindingContext,\r\n overrideContext: this.options.itemOverrideContext\r\n });\r\n }\r\n detached() {\r\n if (this._itemNode) {\r\n this._itemNode.parentElement.removeChild(this._itemNode);\r\n this._itemNode = null;\r\n }\r\n\r\n if (this._itemView) {\r\n this.templatingExService.destroyView(this._itemView);\r\n this._itemView = null;\r\n }\r\n }\r\n\r\n changeSelection(event: Event) {\r\n const isSelected = this.options.isSelectedByKey(this.key);\r\n this.options.selectByKey(this.key, !isSelected);\r\n \r\n event.stopPropagation();\r\n }\r\n}\r\n","module.exports = \" \";","import { autoinject, bindable } from \"aurelia-framework\";\r\nimport { IListViewItemsOptions } from './list-view-items-options';\r\nimport { LocalizationService } from '../../../base/services/localization-service';\r\n\r\n@autoinject\r\nexport class ListViewItems {\r\n constructor(\r\n private localization: LocalizationService\r\n ) {}\r\n\r\n @bindable options: IListViewItemsOptions;\r\n\r\n loadNextButtonOptions: DevExpress.ui.dxButtonOptions = {\r\n text: this.localization.translateOnce(\"list_view.load_next\"),\r\n onClick: () => {\r\n this.options.goToNextPage();\r\n }\r\n }\r\n}\r\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 {\r\n autoinject, bindable\r\n} from \"aurelia-framework\";\r\n\r\n@autoinject\r\nexport class LoadingSpinner {\r\n constructor(\r\n private element: Element\r\n ) { }\r\n\r\n @bindable fullScreen: boolean;\r\n\r\n bind() {\r\n this.element.classList.remove(\"t--loading-active\");\r\n }\r\n attached() {\r\n setTimeout(() => {\r\n this.element.classList.add(\"t--loading-active\");\r\n }, 500);\r\n }\r\n}\r\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 */\r\n\r\nimport { IPage } from \"../toolbar/page\";\r\nimport { autoinject, computedFrom, bindable, TaskQueue, observable, BindingEngine, Disposable } from \"aurelia-framework\";\r\nimport { IToolbarOptions } from \"../toolbar/toolbar-options\";\r\nimport { ToolbarService } from \"../../services/toolbar-service\";\r\nimport { IItem } from \"../toolbar/item\";\r\nimport { ICategory } from \"../toolbar/category\";\r\nimport { BindingService } from \"../../../base/export\";\r\nimport { IBadge } from \"../toolbar/badge\";\r\nimport { updateLocale } from 'moment';\r\nimport { IToolbarModel } from '../toolbar/toolbar-model';\r\n\r\n@autoinject\r\nexport class RibbonToolbar {\r\n private _itemSubscriptionDisposable: Disposable[];\r\n\r\n constructor(\r\n private toolbar: ToolbarService,\r\n private taskQueue: TaskQueue,\r\n private bindingEngine: BindingEngine,\r\n private binding: BindingService\r\n ) {\r\n }\r\n\r\n @bindable @observable options: IToolbarOptions;\r\n\r\n @computedFrom(\"options.smallToolbar\")\r\n get heightToolbar() {\r\n if (this.options && this.options.smallToolbar) {\r\n return \"35px\";\r\n } else {\r\n return \"90px\";\r\n }\r\n }\r\n get classToolbar() {\r\n if (this.options && this.options.smallToolbar) {\r\n return \"t--ribbon-toolbar-small\";\r\n }\r\n\r\n return \"\";\r\n }\r\n\r\n pages: IPage[];\r\n afterPage: IPage;\r\n currentPage: IPage;\r\n model: IToolbarModel;\r\n\r\n activate(model: IToolbarModel) {\r\n this.model = model;\r\n \r\n const updateOptions = () => {\r\n this.options = this.model.options;\r\n }\r\n model.optionsChanged = () => {\r\n updateOptions();\r\n }\r\n updateOptions();\r\n }\r\n bind() {\r\n if (this.options) {\r\n this.constructPages();\r\n }\r\n }\r\n unbind() {\r\n this.disposeOldSubscriber();\r\n }\r\n\r\n optionsChanged(newVal) {\r\n this.constructPages();\r\n }\r\n\r\n onPageClick(page: IPage) {\r\n if (this.currentPage) {\r\n this.currentPage.isActive = false;\r\n }\r\n\r\n this.checkPage(page);\r\n page.isActive = true;\r\n\r\n this.currentPage = page;\r\n }\r\n\r\n private constructPages() {\r\n this.disposeOldSubscriber();\r\n this._itemSubscriptionDisposable = [];\r\n\r\n const pages = this.toolbar.createPageCategoryItemStructure(this.options.items);\r\n this.pages = pages.filter(p => p.id !== \"$after\");\r\n\r\n const afterPages = pages.filter(p => p.id === \"$after\");\r\n if (afterPages.length === 1) {\r\n this.afterPage = afterPages[0];\r\n }\r\n\r\n for (let page of pages) {\r\n for (let category of page.categories) {\r\n for (let item of category.items) {\r\n if (item.isVisible == void(0)) {\r\n item.isVisible = true;\r\n }\r\n if (item.isEnabled == void(0)) {\r\n item.isEnabled = true;\r\n }\r\n\r\n this.observe(item, \"isVisible\", (newVal) => {\r\n this.checkCategoryVisible(page, category);\r\n });\r\n\r\n this.observe(item, \"badgeText\", (newVal) => {\r\n this.checkBadge(page);\r\n });\r\n this.observe(item, \"badgeColor\", (newVal) => {\r\n this.checkBadge(page);\r\n }); \r\n this.observe(item, \"badgeBorderColor\", (newVal) => {\r\n this.checkBadge(page);\r\n });\r\n }\r\n\r\n this.checkCategoryVisible(page, category);\r\n }\r\n\r\n this.checkBadge(page);\r\n }\r\n\r\n if (this.pages && this.pages.length > 0) {\r\n this.onPageClick(this.pages[0]);\r\n }\r\n if (this.afterPage) {\r\n this.checkPage(this.afterPage);\r\n }\r\n }\r\n private checkCategoryVisible(page: IPage, category: ICategory) {\r\n category.isVisible = category.items.some(c => c.isVisible);\r\n page.isVisible = page.categories.some(c => c.isVisible);\r\n }\r\n private checkBadge(page: IPage) {\r\n const badges = new Set();\r\n\r\n page.categories.forEach(c => {\r\n c.items\r\n .filter(i => !!i.badgeText)\r\n .forEach(i => badges.add(i.badgeColor || \"#C1392D\"));\r\n });\r\n\r\n const badgesArr: IBadge[] = [];\r\n let i = 0;\r\n badges.forEach((v: any, k: any) => {\r\n badgesArr.push({\r\n color: k,\r\n right: i * 6 + 4\r\n });\r\n\r\n i++;\r\n });\r\n\r\n page.badges = badgesArr;\r\n }\r\n private checkPage(page: IPage) {\r\n page.categories.forEach(c => {\r\n let countSmall = 0;\r\n\r\n let setSmallToBig = (index) => {\r\n if (index < 0) {\r\n return;\r\n }\r\n if (countSmall % 2 == 0) {\r\n return;\r\n }\r\n\r\n c.items[index].smallChecked = false;\r\n }\r\n\r\n c.items.forEach((i, index) => {\r\n i.smallChecked = i.small;\r\n\r\n if (!i.small) {\r\n setSmallToBig(index - 1);\r\n countSmall = 0;\r\n return;\r\n }\r\n\r\n countSmall++;\r\n });\r\n\r\n setSmallToBig(c.items.length - 1);\r\n\r\n c.items.forEach(i => {\r\n if (this.options.smallToolbar) {\r\n i.class = \"t--ribbon-toolbar-item-big\";\r\n\r\n if (i.title == void (0)) {\r\n i.class += \" t--ribbon-toolbar-item-icon-only\";\r\n }\r\n } else {\r\n i.class = i.smallChecked\r\n ? \"t--ribbon-toolbar-item-small\"\r\n : \"t--ribbon-toolbar-item-big\";\r\n\r\n if (i.title == void (0)) {\r\n i.class += \" t--ribbon-toolbar-item-icon-only\";\r\n }\r\n }\r\n });\r\n });\r\n }\r\n private observe(item: IItem, propertyName: string, action: {(newVal): void}) {\r\n const disposable = this.bindingEngine\r\n .expressionObserver(item, propertyName)\r\n .subscribe((newVal) => action(newVal));\r\n\r\n this._itemSubscriptionDisposable.push(disposable);\r\n }\r\n private disposeOldSubscriber() {\r\n if (!this._itemSubscriptionDisposable) {\r\n return;\r\n }\r\n\r\n this._itemSubscriptionDisposable.forEach(c => c.dispose());\r\n this._itemSubscriptionDisposable = [];\r\n }\r\n}\r\n","import { autoinject, bindable, TaskQueue } from \"aurelia-framework\";\r\nimport { ICategory } from \"../toolbar/category\";\r\nimport { IPage } from \"../toolbar/page\";\r\n\r\n@autoinject\r\nexport class RibbonToolbarCategory {\r\n \r\n constructor(\r\n ) {}\r\n\r\n @bindable category: ICategory;\r\n @bindable showCategoryTitle: boolean;\r\n}\r\n","module.exports = \" \";","import { FaIconAttribute } from \"./../../../base/attributes/icon/fa-icon-attribute\";\r\nimport { autoinject, bindable } from \"aurelia-framework\";\r\nimport { IItem } from \"../toolbar/item\";\r\n\r\n@autoinject\r\nexport class RibbonToolbarItem {\r\n constructor(\r\n private element: Element\r\n ) {}\r\n\r\n @bindable item: IItem;\r\n\r\n onItemClick(item: IItem, event: Event) {\r\n const args = {\r\n event: event\r\n };\r\n\r\n if (!item.isVisible) {\r\n return;\r\n }\r\n if (!item.isEnabled) {\r\n return;\r\n }\r\n\r\n if (!item.execute) {\r\n return;\r\n }\r\n\r\n item.execute(args);\r\n }\r\n}\r\n","import { autoinject, bindable } from \"aurelia-framework\";\r\nimport { IItem } from '../toolbar/item';\r\n\r\n@autoinject\r\nexport class RibbonToolbarItemTmpl {\r\n constructor(\r\n private element: Element\r\n ) {}\r\n\r\n @bindable item: IItem;\r\n}\r\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';\r\nimport { IToolbarOptions } from './toolbar-options';\r\nimport { ToolbarService } from '../../services/toolbar-service';\r\nimport { IToolbarModel } from './toolbar-model';\r\nimport { IItem } from './item';\r\nimport { BindingService } from '../../../base/export';\r\nimport { ScopeContainer } from '../../../base/classes/scope-container';\r\n\r\nPLATFORM.moduleName(\"../ribbon-toolbar/ribbon-toolbar\");\r\n\r\n@autoinject\r\nexport class Toolbar {\r\n private _itemSubscriptionDisposable: Disposable[];\r\n private _scope: Scope;\r\n private _scopeContainer: ScopeContainer;\r\n private _hasModifiedOptionsScopeContainer: boolean = false;\r\n\r\n constructor(\r\n public toolbar: ToolbarService,\r\n private bindingEngine: BindingEngine,\r\n private binding: BindingService\r\n ) { }\r\n\r\n @bindable @observable options: IToolbarOptions;\r\n\r\n toolbarModel: IToolbarModel = {\r\n options: null,\r\n optionsChanged: () => { }\r\n }\r\n\r\n bind(bindingContext, overrideContext) {\r\n this._scope = {\r\n bindingContext: bindingContext,\r\n overrideContext: overrideContext\r\n };\r\n this._scopeContainer = new ScopeContainer(this._scope);\r\n\r\n if (this.options && !this.options.scopeContainer) {\r\n this.options.scopeContainer = this._scopeContainer;\r\n this._hasModifiedOptionsScopeContainer = true;\r\n }\r\n\r\n this.refreshToolbarModel();\r\n }\r\n unbind() {\r\n this.disposeOldSubscriber();\r\n this._scopeContainer.disposeAll();\r\n this._scope = null;\r\n\r\n if (this._hasModifiedOptionsScopeContainer) {\r\n this.options.scopeContainer = null;\r\n this._hasModifiedOptionsScopeContainer = false;\r\n }\r\n }\r\n\r\n optionsChanged(newVal) {\r\n this.refreshToolbarModel();\r\n }\r\n\r\n private refreshToolbarModel() {\r\n if (this.options && this.options.items) {\r\n this.checkExpressions(this.options.items);\r\n }\r\n\r\n this.toolbarModel.options = this.options;\r\n this.toolbarModel.optionsChanged();\r\n }\r\n private checkExpressions(items: IItem[]) {\r\n this.disposeOldSubscriber();\r\n this._itemSubscriptionDisposable = [];\r\n\r\n items.forEach(item => {\r\n const scope = this.getItemScope(item);\r\n\r\n if (item.isEnabledExpression) {\r\n this.observe(this.binding.getBindingContext(scope, item.isEnabledExpression), item.isEnabledExpression, (newVal) => {\r\n item.isEnabled = newVal;\r\n });\r\n\r\n item.isEnabled = this.bindingEngine.parseExpression(item.isEnabledExpression).evaluate(scope);\r\n }\r\n if (item.isVisibleExpression) {\r\n this.observe(this.binding.getBindingContext(scope, item.isVisibleExpression), item.isVisibleExpression, (newVal) => {\r\n item.isVisible = newVal;\r\n });\r\n\r\n item.isVisible = this.bindingEngine.parseExpression(item.isVisibleExpression).evaluate(scope);\r\n }\r\n if (item.classNameExpression) {\r\n this.observe(this.binding.getBindingContext(scope, item.classNameExpression), item.classNameExpression, (newVal) => {\r\n item.className = newVal;\r\n });\r\n\r\n item.className = this.bindingEngine.parseExpression(item.classNameExpression).evaluate(scope);\r\n }\r\n\r\n if (item.isEnabled == void (0)) {\r\n item.isEnabled = true;\r\n }\r\n if (item.isVisible == void (0)) {\r\n item.isVisible = true;\r\n }\r\n });\r\n }\r\n private getItemScope(item: IItem): Scope {\r\n if (item.expressionScope) {\r\n return item.expressionScope;\r\n }\r\n if (this.options.scopeContainer) {\r\n return this.options.scopeContainer.scope;\r\n }\r\n\r\n return this._scope;\r\n }\r\n private observe(item: IItem, propertyName: string, action: { (newVal): void }) {\r\n const disposable = this.bindingEngine\r\n .expressionObserver(item, propertyName)\r\n .subscribe((newVal) => action(newVal));\r\n\r\n this._itemSubscriptionDisposable.push(disposable);\r\n }\r\n private disposeOldSubscriber() {\r\n if (!this._itemSubscriptionDisposable) {\r\n return;\r\n }\r\n\r\n this._itemSubscriptionDisposable.forEach(c => c.dispose());\r\n this._itemSubscriptionDisposable = [];\r\n }\r\n}\r\n","module.exports = \" \";","import { \r\n FrameworkConfiguration,\r\n PLATFORM\r\n} from \"aurelia-framework\";\r\nimport {\r\n DxTemplateService\r\n} from \"../dx/services/dx-template-service\";\r\nimport * as DxLoader from \"../dx/dx-loader\";\r\nimport \"./styles/styles.less\";\r\n\r\nexport function configure(config: FrameworkConfiguration) {\r\n config\r\n .globalResources(PLATFORM.moduleName(\"./elements/code-editor/code-editor\"))\r\n .globalResources(PLATFORM.moduleName(\"./elements/file-uploader-with-viewer/tip-file-uploader-with-viewer\"))\r\n .globalResources(PLATFORM.moduleName(\"./elements/list-view/list-view\"))\r\n .globalResources(PLATFORM.moduleName(\"./elements/custom-edit-popup/custom-edit-popup\"))\r\n .globalResources(PLATFORM.moduleName(\"./elements/toolbar/toolbar\"))\r\n .globalResources(PLATFORM.moduleName(\"./elements/html-editor/html-editor\"))\r\n .globalResources(PLATFORM.moduleName(\"./views/stack-router/stack-router\"))\r\n .globalResources(PLATFORM.moduleName(\"./attributes/stack-router-link/stack-router-link\"));\r\n\r\n const dxTemplate: DxTemplateService = config.container.get(DxTemplateService);\r\n}\r\n","import {\r\n autoinject,\r\n bindable,\r\n customElement,\r\n computedFrom\r\n} from \"aurelia-framework\";\r\nimport {\r\n EventAggregator\r\n} from \"aurelia-event-aggregator\";\r\nimport {\r\n RouterService\r\n} from \"../../services/router-service\";\r\nimport {\r\n HistoryService\r\n} from \"../../services/history-service\";\r\nimport * as Interfaces from \"../../interfaces/export\";\r\nimport {\r\n ViewItem\r\n} from \"../../classes/view-item\";\r\n\r\n@autoinject\r\nexport class StackRouter {\r\n private owningView: any;\r\n\r\n constructor(\r\n private history: HistoryService,\r\n private router: RouterService,\r\n private eventAggregator: EventAggregator\r\n ) { }\r\n\r\n @bindable createToolbar: boolean = true;\r\n\r\n created(owningView) {\r\n this.owningView = owningView;\r\n }\r\n\r\n attached() {\r\n this.history.navigateCurrentOrInPipeline();\r\n }\r\n\r\n onAnimationStart(event: any) {\r\n this.eventAggregator.publish(\"router:view-animation-start\", {\r\n element: event.detail.element\r\n });\r\n }\r\n onAnimationEnd(event: any) {\r\n this.eventAggregator.publish(\"router:view-animation-end\", {\r\n element: event.detail.element\r\n });\r\n }\r\n}\r\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 {\r\n autoinject,\r\n bindable,\r\n computedFrom,\r\n BindingEngine,\r\n TaskQueue\r\n} from \"aurelia-framework\";\r\n\r\nimport { IToolbarOptions } from \"../../elements/toolbar/toolbar-options\";\r\n\r\n@autoinject\r\nexport class View {\r\n constructor(\r\n private element: Element,\r\n private bindingEngine: BindingEngine,\r\n private taskQueue: TaskQueue\r\n ) { }\r\n\r\n @bindable createToolbar: boolean = true;\r\n @bindable view;\r\n\r\n @computedFrom(\"createToolbar\")\r\n get className(): string {\r\n if (this.createToolbar) {\r\n return \"t--view-with-toolbar\";\r\n }\r\n }\r\n\r\n @computedFrom(\"view.controller.currentViewModel.toolbarOptions\")\r\n get toolbarOptions(): IToolbarOptions {\r\n if (!this.view || !this.view.controller || !this.view.controller.currentViewModel) {\r\n return null;\r\n }\r\n\r\n return this.view.controller.currentViewModel.toolbarOptions;\r\n }\r\n\r\n bind() {\r\n this.element.classList.remove(\"t--view-attached\");\r\n this.element.querySelector(\".t--view-content\").classList.remove(\"t--view-content-attached\");\r\n\r\n }\r\n attached() {\r\n setTimeout(() => {\r\n this.element.classList.add(\"t--view-attached\")\r\n this.element.querySelector(\".t--view-content\").classList.add(\"t--view-content-attached\");\r\n }, 100);\r\n }\r\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\";\r\nimport {\r\n ActivateAccountFuncs\r\n} from \"./activate-account-form-funcs\";\r\n\r\n@fwx.autoinject\r\nexport class ActivateAccountForm extends fwx.FormBase {\r\n constructor(\r\n element: Element,\r\n formBaseImport: fwx.FormBaseImport,\r\n private $f: ActivateAccountFuncs) {\r\n super(element, formBaseImport);\r\n this.id = \"activate-account-form\";\r\n this.title = \"activate-account-form.activate-account-form_caption\";\r\n this.addModel({\r\n \"id\": \"$m_activateAccount\",\r\n \"filters\": []\r\n });\r\n this.addFunction(\"$f\", $f, \"functions.$f\");\r\n this.widgetCreator.addValidationGroup(this, {\r\n \"id\": \"wd1\",\r\n \"options\": {\r\n \"optionsName\": \"wd1Options\",\r\n \"optionsNameFQ\": \"wd1Options\"\r\n }\r\n });\r\n this.widgetCreator.addTextBox(this, {\r\n \"mode\": \"password\",\r\n \"caption\": \"activate-account-form.password_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_activateAccount\",\r\n \"bindTo\": \"Password\",\r\n \"bindToFQ\": \"models.data.$m_activateAccount.Password\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"password\",\r\n \"options\": {\r\n \"optionsName\": \"passwordOptions\",\r\n \"optionsNameFQ\": \"passwordOptions\"\r\n }\r\n });\r\n this.widgetCreator.addTextBox(this, {\r\n \"mode\": \"password\",\r\n \"caption\": \"activate-account-form.confirmpassword_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_activateAccount\",\r\n \"bindTo\": \"ConfirmPassword\",\r\n \"bindToFQ\": \"models.data.$m_activateAccount.ConfirmPassword\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"confirmPassword\",\r\n \"options\": {\r\n \"optionsName\": \"confirmPasswordOptions\",\r\n \"optionsNameFQ\": \"confirmPasswordOptions\"\r\n }\r\n });\r\n this.widgetCreator.addCommand(this, {\r\n \"id\": \"wd2\",\r\n \"options\": {\r\n \"optionsName\": \"wd2Options\",\r\n \"optionsNameFQ\": \"wd2Options\"\r\n },\r\n \"binding\": {\r\n \"bindTo\": \"$f.activateCommand\",\r\n \"bindToFQ\": \"functions.$f.activateCommand\"\r\n }\r\n });\r\n this.widgetCreator.addCommand(this, {\r\n \"id\": \"wd3\",\r\n \"options\": {\r\n \"optionsName\": \"wd3Options\",\r\n \"optionsNameFQ\": \"wd3Options\"\r\n },\r\n \"binding\": {\r\n \"bindTo\": \"$f.backToLoginCommand\",\r\n \"bindToFQ\": \"functions.$f.backToLoginCommand\"\r\n }\r\n });\r\n super.onConstructionFinished();\r\n }\r\n}","module.exports = \"\";","import * as fwx from \"../../../forms/form-export\";\r\nimport {\r\n LoginFuncs\r\n} from \"./login-form-funcs\";\r\n\r\n@fwx.autoinject\r\nexport class LoginForm extends fwx.FormBase {\r\n constructor(\r\n element: Element,\r\n formBaseImport: fwx.FormBaseImport,\r\n private $f: LoginFuncs) {\r\n super(element, formBaseImport);\r\n this.id = \"login-form\";\r\n this.title = \"login-form.login-form_caption\";\r\n this.addModel({\r\n \"id\": \"$m_login\",\r\n \"filters\": []\r\n });\r\n this.addFunction(\"$f\", $f, \"functions.$f\");\r\n this.widgetCreator.addValidationGroup(this, {\r\n \"id\": \"wd1\",\r\n \"options\": {\r\n \"optionsName\": \"wd1Options\",\r\n \"optionsNameFQ\": \"wd1Options\"\r\n }\r\n });\r\n this.widgetCreator.addTextBox(this, {\r\n \"caption\": \"login-form.username_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_login\",\r\n \"bindTo\": \"Username\",\r\n \"bindToFQ\": \"models.data.$m_login.Username\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"username\",\r\n \"options\": {\r\n \"optionsName\": \"usernameOptions\",\r\n \"optionsNameFQ\": \"usernameOptions\"\r\n }\r\n });\r\n this.widgetCreator.addTextBox(this, {\r\n \"mode\": \"password\",\r\n \"caption\": \"login-form.password_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_login\",\r\n \"bindTo\": \"Password\",\r\n \"bindToFQ\": \"models.data.$m_login.Password\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"password\",\r\n \"options\": {\r\n \"optionsName\": \"passwordOptions\",\r\n \"optionsNameFQ\": \"passwordOptions\"\r\n }\r\n });\r\n this.widgetCreator.addCheckBox(this, {\r\n \"caption\": \"login-form.stayloggodon_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_login\",\r\n \"bindTo\": \"StayLoggedOn\",\r\n \"bindToFQ\": \"models.data.$m_login.StayLoggedOn\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"stayLoggodOn\",\r\n \"options\": {\r\n \"optionsName\": \"stayLoggodOnOptions\",\r\n \"optionsNameFQ\": \"stayLoggodOnOptions\"\r\n }\r\n });\r\n this.widgetCreator.addTextBox(this, {\r\n \"caption\": \"login-form.twofactorkey_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_login\",\r\n \"bindTo\": \"TwoFactorAuthKey\",\r\n \"bindToFQ\": \"models.data.$m_login.TwoFactorAuthKey\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"twoFactorKey\",\r\n \"options\": {\r\n \"optionsName\": \"twoFactorKeyOptions\",\r\n \"optionsNameFQ\": \"twoFactorKeyOptions\"\r\n }\r\n });\r\n this.widgetCreator.addCommand(this, {\r\n \"id\": \"wd2\",\r\n \"options\": {\r\n \"optionsName\": \"wd2Options\",\r\n \"optionsNameFQ\": \"wd2Options\"\r\n },\r\n \"binding\": {\r\n \"bindTo\": \"$f.loginCommand\",\r\n \"bindToFQ\": \"functions.$f.loginCommand\"\r\n }\r\n });\r\n this.widgetCreator.addCommand(this, {\r\n \"id\": \"wd3\",\r\n \"options\": {\r\n \"optionsName\": \"wd3Options\",\r\n \"optionsNameFQ\": \"wd3Options\"\r\n },\r\n \"binding\": {\r\n \"bindTo\": \"$f.forgotPasswordCommand\",\r\n \"bindToFQ\": \"functions.$f.forgotPasswordCommand\"\r\n }\r\n });\r\n this.widgetCreator.addCommand(this, {\r\n \"id\": \"wd4\",\r\n \"options\": {\r\n \"optionsName\": \"wd4Options\",\r\n \"optionsNameFQ\": \"wd4Options\"\r\n },\r\n \"binding\": {\r\n \"bindTo\": \"$f.goBackToLoginCommand\",\r\n \"bindToFQ\": \"functions.$f.goBackToLoginCommand\"\r\n }\r\n });\r\n super.onConstructionFinished();\r\n }\r\n}","module.exports = \"\";","import * as fwx from \"../../../forms/form-export\";\r\nimport {\r\n PasswordResetFuncs\r\n} from \"./password-reset-form-funcs\";\r\n\r\n@fwx.autoinject\r\nexport class PasswordResetForm extends fwx.FormBase {\r\n constructor(\r\n element: Element,\r\n formBaseImport: fwx.FormBaseImport,\r\n private $f: PasswordResetFuncs) {\r\n super(element, formBaseImport);\r\n this.id = \"password-recovery-form\";\r\n this.title = \"password-recovery-form.password-recovery-form_caption\";\r\n this.addModel({\r\n \"id\": \"$m_Password\",\r\n \"filters\": []\r\n });\r\n this.addFunction(\"$f\", $f, \"functions.$f\");\r\n this.widgetCreator.addValidationGroup(this, {\r\n \"id\": \"wd1\",\r\n \"options\": {\r\n \"optionsName\": \"wd1Options\",\r\n \"optionsNameFQ\": \"wd1Options\"\r\n }\r\n });\r\n this.widgetCreator.addTextBox(this, {\r\n \"caption\": \"password-recovery-form.username_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Password\",\r\n \"bindTo\": \"Username\",\r\n \"bindToFQ\": \"models.data.$m_Password.Username\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"username\",\r\n \"options\": {\r\n \"optionsName\": \"usernameOptions\",\r\n \"optionsNameFQ\": \"usernameOptions\"\r\n }\r\n });\r\n this.widgetCreator.addCommand(this, {\r\n \"id\": \"wd2\",\r\n \"options\": {\r\n \"optionsName\": \"wd2Options\",\r\n \"optionsNameFQ\": \"wd2Options\"\r\n },\r\n \"binding\": {\r\n \"bindTo\": \"$f.resetPasswordCommand\",\r\n \"bindToFQ\": \"functions.$f.resetPasswordCommand\"\r\n }\r\n });\r\n this.widgetCreator.addCommand(this, {\r\n \"id\": \"wd3\",\r\n \"options\": {\r\n \"optionsName\": \"wd3Options\",\r\n \"optionsNameFQ\": \"wd3Options\"\r\n },\r\n \"binding\": {\r\n \"bindTo\": \"$f.backToLoginCommand\",\r\n \"bindToFQ\": \"functions.$f.backToLoginCommand\"\r\n }\r\n });\r\n super.onConstructionFinished();\r\n }\r\n}","module.exports = \"\";","import {FrameworkConfiguration} from \"aurelia-framework\";\r\n\r\nexport function configure(config: FrameworkConfiguration) {\r\n\r\n}\r\n","export * from \"./list-view-options\";\r\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 {\r\n autoinject,\r\n BindingEngine,\r\n PropertyObserver,\r\n CollectionObserver,\r\n Disposable\r\n} from \"aurelia-framework\";\r\n\r\n@autoinject\r\nexport class DeepObserverService {\r\n constructor(private bindingEngine: BindingEngine) {\r\n }\r\n\r\n observe(target: any, callback: {(): void}): {(): void} {\r\n const subscription = new Subscription();\r\n\r\n this.__observe(subscription, target, callback);\r\n\r\n return () => {\r\n subscription.dispose();\r\n }\r\n }\r\n\r\n private __observe(subscription: Subscription, target: any, callback: {(): void}): void {\r\n if (target == null) {\r\n return;\r\n } else if (target instanceof Date) {\r\n return;\r\n } else if (Array.isArray(target)) {\r\n this.__observeArray(subscription, target, callback);\r\n } else if (typeof target === \"object\") {\r\n this.__observeObject(subscription, target, callback);\r\n }\r\n }\r\n private __observeArray(subscription: Subscription, target: any, callback: {(): void}): void {\r\n const newSubscription = subscription.createChildSubscription(target);\r\n\r\n const observer = this.bindingEngine.collectionObserver(\r\n target\r\n ).subscribe((e) => {\r\n for (const change of e) {\r\n if (change.addedCount > 0) {\r\n for (let i = change.index; i < change.addedCount; i++) {\r\n this.__observe(newSubscription, target[i], callback);\r\n }\r\n }\r\n if (change.removed.length > 0) {\r\n for (const item of change.removed) {\r\n newSubscription.remove(item);\r\n }\r\n }\r\n }\r\n\r\n callback();\r\n });\r\n\r\n for (const item of target) {\r\n this.__observe(newSubscription, item, callback);\r\n }\r\n }\r\n private __observeObject(subscription: Subscription, target: any, callback: {(): void}): void {\r\n const newSubscription = subscription.createChildSubscription(target);\r\n\r\n for (const property in target) {\r\n if (target.hasOwnProperty(property)) {\r\n const observer = this.bindingEngine.propertyObserver(\r\n target,\r\n property\r\n ).subscribe((newValue, oldValue) => {\r\n newSubscription.remove(oldValue);\r\n this.__observe(newSubscription, newValue, callback);\r\n\r\n callback();\r\n });\r\n\r\n newSubscription.addObserver(observer);\r\n\r\n this.__observe(newSubscription, target[property], callback);\r\n }\r\n }\r\n }\r\n}\r\n\r\nclass Subscription {\r\n constructor() {\r\n }\r\n\r\n observers: Disposable[] = [];\r\n children = new Map();\r\n\r\n createChildSubscription(child: any) {\r\n const newSubscription = new Subscription();\r\n this.children.set(child, newSubscription);\r\n\r\n return newSubscription;\r\n }\r\n addObserver(observer: Disposable) {\r\n this.observers.push(observer);\r\n }\r\n remove(child: any) {\r\n const subscription = this.children.get(child);\r\n\r\n if (!subscription) {\r\n return;\r\n }\r\n\r\n subscription.dispose();\r\n this.children.delete(child);\r\n }\r\n dispose() {\r\n this.observers.forEach(item => {\r\n item.dispose();\r\n });\r\n this.children.forEach(item => {\r\n item.dispose();\r\n })\r\n\r\n this.observers = [];\r\n }\r\n}\r\n","export enum BenutzeraccountTyp {\r\n Person = 0,\r\n Ansprechperson = 1,\r\n Benutzer = 2,\r\n Bewerbung = 3\r\n}\r\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';\r\nimport { ICommandData } from './../../../framework/forms/interfaces/command-data';\r\nimport { transient, autoinject } from \"../../../../node_modules/aurelia-framework\";\r\nimport { FormBase } from '../../../framework/forms/export';\r\nimport { StartupService } from '../../services/export';\r\nimport { BenutzerTyp } from '../../enumerations/export';\r\n\r\n@autoinject\r\n@transient()\r\nexport class SchnupperterminListUtils {\r\n constructor(\r\n private startupService: StartupService\r\n ) {\r\n const natuerlicherBenutzer = this.startupService.startupInfo.Benutzer.Benutzertyp == BenutzerTyp.NatuerlichePerson;\r\n this.isNatuerlicherBenutzer = natuerlicherBenutzer;\r\n }\r\n\r\n form: FormBase;\r\n isNatuerlicherBenutzer: boolean;\r\n\r\n schnupperterminReportAuswahlCommand: ICommandData = {\r\n id: \"schnupperterminReportAuswahlCommand\",\r\n icon: \"fas fa-print\",\r\n sortIndex: 9999,\r\n isVisibleExpression: \"!functions.$f_SchnupperterminListUtils.isNatuerlicherBenutzer\",\r\n tooltip: \"schnuppertermin-utils.report_erstellen\",\r\n execute: () => {\r\n const report: ReportErstellen = this.form[\"r_reportErstellenElement\"];\r\n report.reportErstellenPopup.instance.show();\r\n }\r\n };\r\n\r\n bind(form: FormBase) {\r\n this.form = form;\r\n }\r\n}\r\n","import { autoinject, Scope } from \"aurelia-framework\";\r\nimport { EventAggregator } from 'aurelia-event-aggregator';\r\nimport { FormUtilsService } from './form-utils-service';\r\n\r\n@autoinject\r\nexport class FormInfoService {\r\n constructor(\r\n private eventAggregator: EventAggregator,\r\n private formUtilsService: FormUtilsService\r\n ) {\r\n this.registerMainFormModuleId();\r\n }\r\n\r\n getMainFormModuleId(scope: Scope, treatEditPopupAsMainForm?: boolean): string {\r\n const mainForm = this.formUtilsService.getMainForm(scope, treatEditPopupAsMainForm);\r\n if (!mainForm) {\r\n return null;\r\n }\r\n\r\n return mainForm.moduleId;\r\n }\r\n\r\n private registerMainFormModuleId() {\r\n this.eventAggregator.subscribe(\"form:get-main-form-module-id\", (e) => {\r\n if (!e) {\r\n return;\r\n }\r\n if (!e.scope) {\r\n return;\r\n }\r\n\r\n e.moduleId = this.getMainFormModuleId(e.scope, e.treatEditPopupAsMainForm);\r\n });\r\n }\r\n}","import { autoinject } from \"aurelia-framework\";\r\nimport { EventAggregator } from 'aurelia-event-aggregator';\r\n\r\n@autoinject\r\nexport class AlertService {\r\n constructor(\r\n private eventAggregator: EventAggregator\r\n ) {\r\n this.eventAggregator.subscribe(\"notify\", (e) => {\r\n DevExpress.ui.notify(e.message, e.type || \"success\", e.displayTime || 3000);\r\n });\r\n this.eventAggregator.subscribe(\"alert\", (e) => {\r\n DevExpress.ui.dialog.alert(e.message, e.title || \"Information\");\r\n });\r\n }\r\n}\r\n","export * from \"./classes/export\";\r\nexport * from \"./event-args/export\";\r\nexport * from \"./interfaces/export\";\r\nexport * from \"./services/export\";","import { ErklaerungsvideoInhaltArtEnum } from './../enumerations/erklaerungsvideo-inhalt-art-enum';\r\nimport { KontaktpersonTyp } from './../enumerations/kontaktperson-typ';\r\nimport { Geschlecht } from './../enumerations/geschlecht';\r\nimport { BenutzerTyp } from './../enumerations/export';\r\nimport { ErklaerungsvideoAnzeigeEnum } from '../enumerations/erklaerungsvideo-anzeige-enum';\r\n\r\nexport interface IStartupInfo {\r\n Benutzer: {\r\n IdBenutzer: number;\r\n CodeBenutzerrolle: string;\r\n IdBenutzerrolle: number;\r\n IdLoginprofil: number;\r\n Benutzername: string;\r\n Benutzertyp: BenutzerTyp;\r\n KontaktpersonTyp: KontaktpersonTyp;\r\n Email: string;\r\n HtmlTextHilfe: string;\r\n Nachname: string;\r\n Vorname: string;\r\n CanBenutzeraccountAktivieren: boolean;\r\n CanBenutzeraccountSperren: boolean;\r\n CanStandardStelleninseratErstellen: boolean;\r\n CanPost: boolean;\r\n CanStatusAendern: boolean;\r\n CanTerminErstellen: boolean;\r\n CanUseMarkers: boolean;\r\n CanUsePersonenDossier: boolean;\r\n CanViewDokumentDetails: boolean;\r\n HasNachrichten: boolean;\r\n CanNachrichtMassennachricht: boolean;\r\n HasNachrichtStellvertreter: boolean;\r\n HasNachrichtInterneNotiz: boolean;\r\n NachrichtSignatur: string;\r\n IsWhatsappAktiv: boolean;\r\n IsGeschaeftspartnerSchuleBenutzer: boolean;\r\n DruckvorlageObjektFullNameList: string[];\r\n Geschlecht: Geschlecht;\r\n IdPerson?: number;\r\n IdAnsprechperson?: number;\r\n IdGeschaeftspartner?: number;\r\n DMSLinkAvatar?: string;\r\n UrlAgb: string;\r\n };\r\n Layout: {\r\n IdBenutzerrolle: number;\r\n CardList: ICardStartupInfo[];\r\n };\r\n Mandant: {\r\n IdMandant: number;\r\n Bezeichnung: string;\r\n ImpressumHtmlText: string;\r\n WhatsAppTelefonnummer: string;\r\n DMSLinkVisitenkarte: string;\r\n IsWhatsappAktiv: boolean;\r\n IsSmsAktiv: boolean;\r\n ShowSchnupperterminMaske: boolean;\r\n UrlDatenschutz: string;\r\n UrlImpressum: string;\r\n };\r\n Skin: {\r\n IdBenutzerrolle: number;\r\n DMSLinkHintergrundbild: string;\r\n DMSLinkLogoKlein: string;\r\n Farbe: string;\r\n Farbe20Opacity?: string;\r\n };\r\n KopfzeileVerknuepfungList: IKopfzeileVerknuepfung[];\r\n ObjektBerechtigungList: IObjektBerechtigung[];\r\n TooltipList: ITooltip[];\r\n SucheStandardFilterList: string[];\r\n ErklaerungsvideoLayoutList: IErklaerungsvideo[];\r\n MenuList: IBenutzerrolleMenu[];\r\n CanChangeLoginprofil: boolean;\r\n CanChangeUser: boolean;\r\n CanAufgabenZuweisen: boolean;\r\n HasUrsprBenutzer: boolean;\r\n UrlVerlinkungWebsite: string;\r\n ShowSchnupperterminMaske: boolean;\r\n HasStammdatenMaske?: boolean;\r\n HasAlleStammdatenMasken?: boolean;\r\n IsApp: boolean;\r\n StammdatenPraefixList?: string[];\r\n}\r\n\r\nexport interface ICardStartupInfo {\r\n CardGross: string;\r\n CardGrossHintergrundfarbe: string;\r\n CardGrossSymbol: string;\r\n CardKlein: string;\r\n CardKleinHintergrundfarbe: string;\r\n CardKleinSymbol: string;\r\n CardKompakt: string;\r\n CardKompaktHintergrundfarbe: string;\r\n CardKompaktSymbol: string;\r\n Objekttyp: string;\r\n}\r\nexport interface IObjektBerechtigung {\r\n ObjektFullName: string;\r\n AllowNew: boolean;\r\n}\r\nexport interface ITooltip {\r\n Key: string;\r\n Tooltip: string;\r\n}\r\nexport interface IErklaerungsvideo {\r\n Key: string;\r\n Bezeichnung: string;\r\n InhaltArt: ErklaerungsvideoInhaltArtEnum;\r\n IsCodeHinterlegt: boolean;\r\n IdErklaerungsvideo: number;\r\n Content: string;\r\n Anzeige?: ErklaerungsvideoAnzeigeEnum;\r\n}\r\nexport interface IKopfzeileVerknuepfung {\r\n Bezeichnung: string;\r\n Url: string;\r\n IdMandant: number;\r\n IdLoginprofil: number;\r\n DMSLinkLogo: string;\r\n}\r\nexport interface IBenutzerrolleMenu {\r\n Route: string;\r\n BezeichnungDesktop: string;\r\n SortNrDesktop: number;\r\n BezeichnungMobil: string;\r\n SortNrMobil: number;\r\n IsShortcutDesktop: boolean;\r\n ShowInDesktop: boolean;\r\n ShowInMobil: boolean;\r\n}\r\n\r\nexport enum AnredeformTyp {\r\n Sie = 0,\r\n Du = 1\r\n}\r\n","export {CommandService} from \"./command-service\";\r\nexport {DefaultCommandsService} from \"./default-commands-service\";\r\nexport {EnumItemService} from \"./enum-item-service\";\r\nexport {GlobalCommandService} from \"./global-command-service\";\r\nexport {PopupInfoService} from \"./popup-info-service\";\r\nexport {FormEventService} from \"./form-event-service\";\r\nexport {ModelEventService} from \"./model-event-service\";\r\nexport {ToolbarService} from \"./toolbar-service\";\r\nexport {ValidationService} from \"./validation-service\";\r\nexport {SelectItemService} from \"./select-item-service\";\r\nexport {HistoryService} from \"./history-service\";\r\nexport {RouterService} from \"./router-service\";\r\nexport {RoutesCreatorService} from \"./routes-creator-service\";\r\nexport {ModelUtilsService} from \"./model-utils-service\";\r\nexport {SettingService} from \"./setting-service\";\r\nexport {FormUtilsService} from \"./form-utils-service\";\r\nexport {LayoutService} from \"./layout-service\";\r\nexport {DialogConfirmService} from \"./dialog-confirm-service\";\r\n","import { autoinject, transient } from \"aurelia-framework\";\r\nimport { FormBase } from \"../../../framework/forms/export\";\r\nimport { AuthorizationService, LocationService } from \"../../../framework/base/export\";\r\n\r\n@autoinject\r\n@transient()\r\nexport class AutoLoginFormFuncs {\r\n private _Form: FormBase;\r\n\r\n constructor(\r\n private _authorizationService: AuthorizationService,\r\n private _locationService: LocationService\r\n ) {}\r\n\r\n bind(form: FormBase) {\r\n this._Form = form;\r\n this.tryAutoLogin();\r\n }\r\n\r\n private async tryAutoLogin() { \r\n const key = this.getKeyFromQueryString();\r\n if (!key) {\r\n this.redirectToDefault();\r\n return;\r\n }\r\n\r\n const r = await this._authorizationService.login({\r\n Username: \"$directlogin$\",\r\n Password: key\r\n }, false);\r\n\r\n if (!r.isLoggedIn) {\r\n this.redirectToDefault();\r\n }\r\n\r\n location.reload();\r\n }\r\n\r\n private getKeyFromQueryString(): string {\r\n return this._Form.viewItemInfo?.routeInfo?.parameters?.key;\r\n }\r\n private redirectToDefault() {\r\n if (this._authorizationService.isLoggedIn) {\r\n this._locationService.goTo({\r\n url: \"Dashboard\",\r\n clearStack: true\r\n });\r\n } else {\r\n this._locationService.goTo({\r\n url: \"Login\",\r\n clearStack: true\r\n });\r\n }\r\n }\r\n}","import {\r\n autoinject\r\n} from \"aurelia-framework\";\r\nimport {\r\n FormBase\r\n} from \"../classes/form-base\";\r\nimport {\r\n BaseWidgetCreatorService\r\n} from \"./base-widget-creator-service\";\r\nimport {\r\n GlobalizationService,\r\n LocalizationService\r\n} from \"../../base/services/export\";\r\nimport {\r\n SelectionModeEnum\r\n} from \"../enums/selection-mode-enum\";\r\nimport {\r\n EnumItemService\r\n} from \"../services/export\";\r\nimport * as WidgetOptions from \"../widget-options/export\";\r\nimport { EventAggregator } from 'aurelia-event-aggregator';\r\nimport { IDataSourceCustomizationOptions } from '../../base/export';\r\nimport { ListType } from '../enums/list-type-enum';\r\n\r\n@autoinject\r\nexport class DataGridWidgetCreatorService {\r\n constructor(\r\n private baseWidgetCreator: BaseWidgetCreatorService,\r\n private globalization: GlobalizationService,\r\n private localization: LocalizationService,\r\n private enumItem: EnumItemService,\r\n private eventAggregator: EventAggregator\r\n ) {}\r\n\r\n addDataGrid(form: FormBase, options: WidgetOptions.IDataGridOptions) {\r\n const dataGridOptions: DevExpress.ui.dxDataGridOptions = this.baseWidgetCreator.createWidgetOptions(form, options);\r\n\r\n let registerOnCellPrepared = false;\r\n if (options.columns) {\r\n const totalItems = [];\r\n\r\n dataGridOptions.columns = options.columns.map(col => {\r\n const column: DevExpress.ui.dxDataGridColumn = {};\r\n\r\n if (col.caption) {\r\n column.caption = this.localization.translateOnce(col.caption, form.scopeContainer);\r\n }\r\n if (col.bindTo) {\r\n column.dataField = col.bindTo;\r\n }\r\n if (col.dataType) {\r\n column.dataType = col.dataType;\r\n }\r\n if (col.sortIndex != void (0) && col.sortOrder != void (0)) {\r\n column.sortIndex = col.sortIndex;\r\n column.sortOrder = col.sortOrder;\r\n }\r\n if (col.width) {\r\n column.width = col.width;\r\n }\r\n if (col.minWidth) {\r\n column.minWidth = col.minWidth;\r\n }\r\n if (col.format) {\r\n column.format = this.globalization.getFormatterParser(col.format);\r\n }\r\n if (col.enumTypeName) {\r\n column.dataType = \"string\";\r\n column.customizeText = (cellInfo) => {\r\n if (cellInfo.value == void (0)) {\r\n return \"\";\r\n }\r\n\r\n return this.enumItem.getDisplayText(col.enumTypeName, cellInfo.value.toString());\r\n };\r\n }\r\n if (col.onCustomizeText) {\r\n column.customizeText = (e: any) => { \r\n return form.binding.execute(form.scope, col.onCustomizeText, e);\r\n };\r\n }\r\n if (col.onCalculateFilterExpression) {\r\n column.calculateFilterExpression = (value: any, operator: any, target: any) => { \r\n return form.binding.execute(form.scope, col.onCalculateFilterExpression, {\r\n value: value,\r\n operator: operator,\r\n target: target\r\n });\r\n };\r\n }\r\n\r\n if (col.showTotalAggSum) {\r\n totalItems.push({\r\n column: col.bindTo,\r\n summaryType: \"sum\",\r\n customizeText: (e) => {\r\n if (e.value == void(0)) {\r\n return null;\r\n }\r\n\r\n return this.globalization.format(e.value, col.format);\r\n }\r\n });\r\n }\r\n\r\n if (col.onCellPrepared) {\r\n registerOnCellPrepared = true;\r\n }\r\n\r\n return column;\r\n });\r\n\r\n if (totalItems.length > 0) {\r\n dataGridOptions.summary = {\r\n totalItems: totalItems\r\n };\r\n }\r\n }\r\n\r\n if (options.dataModel && !options.binding.bindTo) {\r\n const customizationOptions: IDataSourceCustomizationOptions = {};\r\n\r\n this.eventAggregator.publish(\"data-grid:customize-data-source\", {\r\n form: form,\r\n options: options,\r\n dataGridOptions: dataGridOptions,\r\n customizationOptions: customizationOptions\r\n });\r\n\r\n const dataSource = this.baseWidgetCreator.createListDataSource(form, options, dataGridOptions, customizationOptions);\r\n dataGridOptions.dataSource = dataSource;\r\n\r\n dataGridOptions.allowColumnResizing = true;\r\n dataGridOptions.columnResizingMode = \"widget\";\r\n\r\n dataGridOptions.remoteOperations = {\r\n filtering: true,\r\n paging: true,\r\n sorting: true,\r\n summary: true\r\n };\r\n\r\n if (options.isMainList) {\r\n form.onReactivated.register(e => {\r\n dataSource.reload();\r\n return Promise.resolve();\r\n });\r\n }\r\n }\r\n else if (options.binding.bindTo) {\r\n dataGridOptions.bindingOptions[\"dataSource\"] = options.binding.bindToFQ;\r\n }\r\n\r\n //MainLists erhalten immer eine Filter-Zeile, \r\n //da hier die Suche immer sinnvoll ist\r\n if (options.showFilterRow || (options.showFilterRow == void(0) && options.isMainList)) {\r\n dataGridOptions.filterRow = {\r\n visible: true\r\n };\r\n dataGridOptions.headerFilter = {\r\n visible: true,\r\n allowSearch: true\r\n };\r\n }\r\n\r\n this.baseWidgetCreator.setListClickActions(form, options);\r\n const customOptions = this.baseWidgetCreator.getCustomOptions(form, options);\r\n const isSelectionModeSingle = (options.selectionMode || SelectionModeEnum.None) == SelectionModeEnum.Single;\r\n const contentReadyActions: {(e): void}[] = [];\r\n\r\n if (customOptions.hasClickActions > 0) {\r\n dataGridOptions.hoverStateEnabled = true;\r\n\r\n dataGridOptions.onRowClick = (e) => {\r\n customOptions.clickActions.forEach(item => {\r\n item(e, dataGridOptions.dataSource);\r\n });\r\n\r\n if (!isSelectionModeSingle) {\r\n customOptions.openClickActions.forEach(item => {\r\n item(e, dataGridOptions.dataSource);\r\n });\r\n }\r\n };\r\n }\r\n\r\n if (options.selectionMode) {\r\n dataGridOptions.selection = {\r\n mode: this.getSelectionMode(options.selectionMode)\r\n };\r\n\r\n if (options.selectionMode == SelectionModeEnum.Multiple) {\r\n dataGridOptions.selection.showCheckBoxesMode = \"always\";\r\n }\r\n }\r\n\r\n if (options.showPagerInfo) {\r\n dataGridOptions.pager = {\r\n visible: true,\r\n showInfo: true\r\n }\r\n }\r\n\r\n if (options.pageSize) {\r\n dataGridOptions.paging = {\r\n pageSize: options.pageSize,\r\n enabled: true\r\n }\r\n }\r\n\r\n dataGridOptions.sorting = {\r\n mode: \"multiple\"\r\n };\r\n\r\n if (options.height) {\r\n dataGridOptions.height = options.height;\r\n }\r\n\r\n if (options.editDataContext) {\r\n contentReadyActions.push(e => {\r\n const model = form.models.getInfo(options.editDataContext);\r\n\r\n if (!form.models.data[model.id]) {\r\n return;\r\n }\r\n if (!form.models.data[model.id][model.keyProperty]) {\r\n return;\r\n }\r\n\r\n const key = form.models.data[model.id][model.keyProperty];\r\n\r\n const grid: DevExpress.ui.dxDataGrid = e.component;\r\n const dataSource = grid.getDataSource();\r\n\r\n const exists = dataSource\r\n .items()\r\n .some(c => c[model.keyProperty] == key);\r\n\r\n if (exists) {\r\n return;\r\n }\r\n\r\n form.models.data[model.id] = null;\r\n })\r\n }\r\n\r\n if (registerOnCellPrepared) { \r\n dataGridOptions.onCellPrepared = (e: any) => {\r\n const col = options.columns.find((c) => {\r\n return c.bindTo == e.column.dataField\r\n && !!c.onCellPrepared;\r\n });\r\n\r\n if (!col) {\r\n return;\r\n }\r\n\r\n form.binding.execute(form.scope, col.onCellPrepared, e);\r\n };\r\n }\r\n\r\n if (contentReadyActions.length > 0) {\r\n dataGridOptions.onContentReady = (e) => {\r\n contentReadyActions.forEach(c => c(e));\r\n }\r\n }\r\n\r\n this.baseWidgetCreator.checkListToolbar(form, options, isSelectionModeSingle, ListType.DataGrid);\r\n this.baseWidgetCreator.checkListRelationEdit(form, options);\r\n }\r\n\r\n private getSelectionMode(selectionMode: SelectionModeEnum): string {\r\n switch (selectionMode) {\r\n case SelectionModeEnum.Multiple:\r\n return \"multiple\";\r\n case SelectionModeEnum.Single:\r\n return \"single\";\r\n default:\r\n return \"none\";\r\n }\r\n }\r\n} \r\n","import { autoinject } from \"aurelia-framework\";\r\n\r\n@autoinject\r\nexport class MarkdownService {\r\n private _regexBold1 = /\\*\\*(.*?\\S)\\*\\*/gm;\r\n private _regexBold2 = /\\_\\_(.*?\\S)\\_\\_/gm;\r\n private _regexLink = /\\[(.*?\\S)\\]\\((.+?\\S)\\)/gm;\r\n\r\n constructor() {}\r\n\r\n replace(text: string): string {\r\n if (!text) {\r\n return text;\r\n }\r\n\r\n return text\r\n .replace(this._regexBold1, \"$1\")\r\n .replace(this._regexBold2, \"$1\")\r\n .replace(this._regexLink, \"$1\");\r\n }\r\n}\r\n","import { autoinject } from \"aurelia-framework\";\r\nimport { LocalizationService } from '../../framework/base/export';\r\nimport { DialogConfirmService } from '../../framework/forms/export';\r\n\r\n@autoinject\r\nexport class DialogService {\r\n constructor(\r\n private _localizationService: LocalizationService,\r\n private _dialogConfirmService: DialogConfirmService\r\n ) {}\r\n\r\n askZuteilungLoeschen() {\r\n return this._dialogConfirmService.show({\r\n message: this._localizationService.translateOnce(\"zit.zuteilung-loeschen\"),\r\n title: this._localizationService.translateOnce(\"base.question\")\r\n });\r\n }\r\n}","import {\r\n autoinject\r\n} from \"aurelia-framework\";\r\nimport { EventAggregator } from 'aurelia-event-aggregator';\r\n\r\n@autoinject\r\nexport class ErrorService {\r\n constructor(\r\n private eventAggregator: EventAggregator\r\n ) {}\r\n\r\n showError(error: any) {\r\n let message = error;\r\n\r\n if (error instanceof Error || error.message) {\r\n message = error.message;\r\n }\r\n\r\n this.eventAggregator.publish(\"alert\", {\r\n message: message,\r\n title: \"Fehler\"\r\n });\r\n }\r\n logError(error: any) {\r\n\r\n }\r\n showAndLogError(error: any) {\r\n if (!error) {\r\n return;\r\n }\r\n if (error.isHandled === true) {\r\n return;\r\n }\r\n\r\n this.logError(error);\r\n this.showError(error);\r\n } \r\n}\r\n","import { EventAggregator, Subscription } from \"aurelia-event-aggregator\";\r\nimport { transient } from \"aurelia-framework\";\r\nimport { AuthorizationService } from \"../../../../../framework/base/export\";\r\nimport { autoinject, FormBase } from \"../../../../../framework/forms/form-export\";\r\nimport { LoginprofilService } from \"../../../../../zit/services/export\";\r\nimport { BrowserService } from \"./../../../../../framework/base/services/browser-service\";\r\nimport { LocalizationService } from \"./../../../../../framework/base/services/localization-service\";\r\nimport { LocationService } from \"./../../../../../framework/base/services/location-service\";\r\nimport { RestService } from \"./../../../../../framework/base/services/rest-service\";\r\nimport { ICommandData } from \"./../../../../../framework/forms/interfaces/command-data\";\r\nimport { HistoryService } from \"./../../../../../framework/forms/services/history-service\";\r\nimport { DomaeneService } from \"./../../../../services/domaene-service\";\r\n\r\n@autoinject\r\n@transient()\r\nexport class LoginTanFuncs {\r\n private _form: FormBase;\r\n private _appChangedSubscription: Subscription;\r\n\r\n constructor(\r\n public browserService: BrowserService,\r\n private _locationService: LocationService,\r\n private _localizationService: LocalizationService,\r\n private _loginprofilService: LoginprofilService,\r\n private _authorizationService: AuthorizationService,\r\n private _restService: RestService,\r\n private _historyService: HistoryService,\r\n private _eventAggregator: EventAggregator,\r\n private _domaeneService: DomaeneService) {\r\n const time = new Date()\r\n .getTime()\r\n .toString();\r\n const randomNumberString = Math.floor((Math.random() * 100))\r\n .toString();\r\n const randomKey = time + randomNumberString;\r\n this.logoSrc = this._restService.getApiUrl(`ZIT/Domaene/Logo?key=${randomKey}`);\r\n }\r\n\r\n urlImpressum: string;\r\n farbeDomaene: string;\r\n bezeichnungLoginMobil: string;\r\n logoSrc: string;\r\n goToUrlAfterLogin: string;\r\n username: string;\r\n isMobile: boolean;\r\n\r\n loginCommand: ICommandData = {\r\n id: \"$login\",\r\n title: \"login-form-funcs.anmelden_caption\",\r\n execute:() => {\r\n this.doLogin();\r\n }\r\n };\r\n\r\n zuerueckCommand: ICommandData = {\r\n id: \"zuerueckZuLogin\",\r\n title: \"zit-ui.login-loginprofil-zuerueck\",\r\n execute: () => {\r\n this.goBackToLogin();\r\n }\r\n };\r\n\r\n openImpressumClick() {\r\n window.open(this.urlImpressum);\r\n }\r\n\r\n async bind(form: FormBase) {\r\n this._form = form;\r\n\r\n const hasCustomOptions = this._form.viewItemInfo\r\n && this._form.viewItemInfo.routeInfo\r\n && this._form.viewItemInfo.routeInfo.customOptions;\r\n\r\n const hasUsernameInfo = hasCustomOptions\r\n && this._form.viewItemInfo.routeInfo.customOptions.Username;\r\n\r\n if (hasUsernameInfo) {\r\n this.username = this._form.viewItemInfo.routeInfo.customOptions.Username;\r\n } else {\r\n this.goBackToLogin();\r\n }\r\n\r\n const hasGoToUrlAfterLogin = hasCustomOptions\r\n && this._form.viewItemInfo.routeInfo.customOptions.goToUrlAfterLogin;\r\n\r\n if (hasGoToUrlAfterLogin) {\r\n this.goToUrlAfterLogin = this._form.viewItemInfo.routeInfo.customOptions.goToUrlAfterLogin;\r\n }\r\n\r\n this._appChangedSubscription = this._eventAggregator.subscribeOnce(\"authorization:change-app\", (args) => {\r\n args.isHandled = true;\r\n });\r\n\r\n this.urlImpressum = this._domaeneService.urlImpressum;\r\n this.farbeDomaene = this._domaeneService.farbeDomaene;\r\n this._domaeneService.setDomainColorsStyle();\r\n this.bezeichnungLoginMobil = this._domaeneService.bezeichnungMobilLogin;\r\n }\r\n\r\n unbind() {\r\n this._appChangedSubscription.dispose();\r\n this._appChangedSubscription = null;\r\n }\r\n\r\n private async doLogin() {\r\n const smsTan = this._form[\"tan\"]\r\n .instance\r\n .element()\r\n .querySelector(\"input\")\r\n .value;\r\n\r\n const loginSuccess = await this._authorizationService.login({\r\n Username: this.username,\r\n Password: smsTan\r\n });\r\n if (!loginSuccess) {\r\n return;\r\n }\r\n\r\n const hasMoreThanOne = await this._loginprofilService.hasMultipleLoginprofil();\r\n\r\n this._historyService.pipelineUrl = null;\r\n\r\n if (hasMoreThanOne) {\r\n this._locationService.goTo({\r\n url: \"Loginprofil\",\r\n clearStack: true\r\n });\r\n\r\n if (this.goToUrlAfterLogin) {\r\n this._historyService.pipelineUrl = this.goToUrlAfterLogin;\r\n }\r\n } else {\r\n if (this.goToUrlAfterLogin) {\r\n this._historyService.pipelineUrl = this.goToUrlAfterLogin;\r\n }\r\n\r\n this._authorizationService.isLoggedInChanged(true);\r\n }\r\n }\r\n\r\n private goBackToLogin() {\r\n this._locationService.goTo({\r\n url: \"Login\",\r\n clearStack: true\r\n });\r\n }\r\n}\r\n","export { AuthorizationService } from \"./authorization-service\";\r\nexport { BindingService } from \"./binding-service\";\r\nexport { DataSourceService } from \"./data-source-service\";\r\nexport { DeepObserverService } from \"./deep-observer-service\";\r\nexport { ErrorService } from \"./error-service\";\r\nexport { GlobalizationService } from \"./globalization-service\";\r\nexport { LocalizationService } from \"./localization-service\";\r\nexport { LocationService } from \"./location-service\";\r\nexport { JsonService } from \"./json-service\";\r\nexport { NotificationService } from \"./notification-service\";\r\nexport { ObjectInfoService } from \"./object-info-service\";\r\nexport { PermissionService } from \"./permission-service\";\r\nexport { RestService } from \"./rest-service\";\r\nexport { ShortcutService } from \"./shortcut-service\";\r\nexport { StyleService } from \"./style-service\";\r\nexport { WebEventService } from \"./web-event-service\";\r\nexport { WindowService } from \"./window-service\";\r\nexport { FileService } from \"./file-service\";\r\nexport { ObjectService } from \"./object-service\";\r\nexport { MarkdownService } from \"./markdown-service\";\r\nexport { BrowserService } from \"./browser-service\";\r\nexport { TemplatingExService } from \"./templating-ex-service\";\r\n","import { autoinject } from \"aurelia-framework\";\r\nimport { RestService } from '../../framework/base/services/rest-service';\r\n\r\n@autoinject\r\nexport class DashboardService {\r\n constructor(\r\n private _restService: RestService\r\n ) {}\r\n\r\n getDashboardInfo() {\r\n return this._restService.get({\r\n url: this._restService.getApiUrl(`ZIT/Dashboard/Info`),\r\n increaseLoadingCount: true\r\n })\r\n }\r\n getAufgabeBox() {\r\n return this._restService.get({\r\n url: this._restService.getApiUrl(`ZIT/Dashboard/AufgabeBox`),\r\n increaseLoadingCount: true\r\n })\r\n }\r\n}\r\n","import { autoinject, computedFrom, observable, transient, TaskQueue } from \"aurelia-framework\";\r\nimport { EventAggregator, Subscription } from \"aurelia-event-aggregator\";\r\nimport { GlobalizationService, LocationService } from \"../../../framework/base/export\";\r\nimport { FormBase } from \"../../../framework/forms/classes/form-base\";\r\nimport { ListView } from \"../../../framework/forms/elements/list-view/export\";\r\nimport { ICommandData, IListViewOptions, SelectionModeEnum } from \"../../../framework/forms/export\";\r\nimport { SucheLayoutAuswahl } from \"./../../elements/suche-layout-auswahl/suche-layout-auswahl\";\r\nimport { CustomEditPopupService, SucheService, ObjektInfoService } from \"../../services/export\";\r\nimport { SucheViewTyp, BenutzerTyp } from \"../../enumerations/export\";\r\nimport { IdxDataGridComponent } from \"../../interfaces/export\";\r\nimport { IZitCardOptions, ZitCardTyp } from \"../../../zit-ui/elements/zit-card/export\";\r\nimport { IItemExecuteOptions } from \"../../../framework/forms/elements/toolbar/export\";\r\nimport { Share } from \"../../elements/share/share\";\r\nimport { BerechtigungService } from \"../../services/berechtigung-service\";\r\nimport { StartupService } from \"../../services/startup-service\";\r\nimport { BrowserService } from \"../../../framework/base/services/browser-service\";\r\nimport { ErklaervideoService } from \"../../services/erklaervideo-service\";\r\n\r\n@autoinject\r\n@transient()\r\nexport class SucheUtils {\r\n private _searchSubscription: Subscription;\r\n private _objektStatusChangedSubscription: Subscription;\r\n private _lastObjektBezeichnung: string;\r\n\r\n constructor(\r\n private customEditPopup: CustomEditPopupService,\r\n private eventAggregator: EventAggregator,\r\n private location: LocationService,\r\n private objektInfo: ObjektInfoService,\r\n private suche: SucheService,\r\n private berechtigung: BerechtigungService,\r\n private startup: StartupService,\r\n private taskQueue: TaskQueue,\r\n private browser: BrowserService,\r\n private erklaervideoService: ErklaervideoService,\r\n private globalizationService: GlobalizationService,\r\n private browserService: BrowserService\r\n ) { }\r\n\r\n form: FormBase;\r\n\r\n defaultColumns: DevExpress.ui.dxDataGridColumn[] = [{\r\n dataField: \"ObjektBezeichnung\",\r\n name: \"r_sucheObjekttyp\",\r\n minWidth: 100,\r\n caption: \"Objekttyp\"\r\n }, {\r\n dataField: \"Bezeichnung\",\r\n name: \"r_sucheBezeichnung\",\r\n minWidth: 100,\r\n caption: \"Bezeichnung\"\r\n }, {\r\n dataField: \"Anlagedatum\",\r\n name: \"r_sucheAnlagedatum\",\r\n width: \"120px\",\r\n caption: \"erstellt am\",\r\n format: this.globalizationService.getFormatterParser(\"g\")\r\n }];\r\n additionalColumns: string[] = [];\r\n searchText: string;\r\n wertQueryList: any[];\r\n searchStandardFilter: string = \"true\";\r\n erklaervideoCommand: ICommandData;\r\n\r\n createNewCommand: ICommandData = {\r\n icon: \"fas fa-plus\",\r\n id: \"sucheCreateNew\",\r\n tooltip: \"base.add\",\r\n sortIndex: 1100,\r\n isVisibleExpression: \"functions.$f_SucheUtils.canCreateNew\",\r\n execute: (event: any) => {\r\n const urlToNavigate = this.objektInfo.getObjektNavigationUrl(this.objektFullName);\r\n if (!urlToNavigate) {\r\n return;\r\n }\r\n\r\n this.location.goTo({\r\n url: `${urlToNavigate}/0`,\r\n currentViewModel: this.form\r\n });\r\n }\r\n };\r\n actionCommand: ICommandData = {\r\n icon: \"fas fa-share-alt\",\r\n id: \"sucheExportSelectedItems\",\r\n tooltip: \"zit.aktionen\",\r\n isVisibleExpression: \"r_share.canShare\",\r\n sortIndex: 1200,\r\n execute: (args: IItemExecuteOptions) => {\r\n const share: Share = this.form[\"r_share\"];\r\n share.showCtxMenu(args.event);\r\n }\r\n };\r\n columnsCommand: ICommandData = {\r\n icon: \"fas fa-columns\",\r\n id: \"sucheColumns\",\r\n tooltip: \"suche-form.spaltenauswahl\",\r\n sortIndex: 1300,\r\n isEnabledExpression: \"functions.$f_SucheUtils.viewTyp == 'table' && functions.$f_SucheUtils.objektFullName\",\r\n execute: (args: IItemExecuteOptions) => {\r\n if (!this.objektFullName || this.viewTyp != SucheViewTyp.table) {\r\n return;\r\n }\r\n const layoutAuswahl: SucheLayoutAuswahl = this.form[\"r_layout_auswahl\"];\r\n layoutAuswahl.showCtxMenu(args.event);\r\n },\r\n isVisibleExpression: \"functions.$f_SucheUtils.isTableViewVisible\"\r\n };\r\n activateListView: ICommandData = {\r\n icon: \"fas fa-th-list\",\r\n id: \"sucheListViewCommand\",\r\n tooltip: \"suche-form.show-list-view\",\r\n sortIndex: 1400,\r\n isEnabledExpression: \"functions.$f_SucheUtils.viewTyp == 'table'\",\r\n execute: (event: any) => {\r\n this.viewTyp = SucheViewTyp.list;\r\n },\r\n isVisibleExpression: \"functions.$f_SucheUtils.isTableViewVisible\"\r\n };\r\n activateTableView: ICommandData = {\r\n icon: \"fas fa-table\",\r\n id: \"sucheTableViewCommand\",\r\n tooltip: \"suche-form.show-table-view\",\r\n sortIndex: 1401,\r\n isEnabledExpression: \"functions.$f_SucheUtils.viewTyp == 'list'\",\r\n execute: (event: any) => {\r\n this.viewTyp = SucheViewTyp.table;\r\n },\r\n isVisibleExpression: \"functions.$f_SucheUtils.isTableViewVisible\"\r\n };\r\n activateStandardfilter: ICommandData = {\r\n id: \"sucheStandardfilterCommand\",\r\n title: \"suche-form.show-standardfilter\",\r\n classNameExpression: \"functions.$f_SucheUtils.searchStandardFilter == 'true' ? 'z--button-active' : ''\",\r\n isVisible: false,\r\n sortIndex: 1001,\r\n execute: () => {\r\n this.searchStandardFilter = this.searchStandardFilter == \"true\" ? \"false\" : \"true\";\r\n this.loadSearchParamFromSearchService();\r\n }\r\n };\r\n\r\n sucheCardOptions: IZitCardOptions = {\r\n typ: ZitCardTyp.Kompakt,\r\n isSuche: true,\r\n statusColorExpression: \"item.Data.ObjektStatusSymbolFarbe\",\r\n markersCardOptions: {\r\n markersListExpression: \"item.Data.ObjektMarkerZuordnungen\",\r\n onClick: (e, data) => {\r\n this.customEditPopup.markersAuswaehlen.show(\r\n {\r\n mappings: {\r\n \"$v_idObjekt\": data.Id\r\n },\r\n closeCallback: () => {\r\n this.form[\"r_share\"].reloadData();\r\n }\r\n }\r\n );\r\n }\r\n }\r\n };\r\n\r\n @observable({ changeHandler: \"addGridColumnsToModel\" }) viewTyp: SucheViewTyp = SucheViewTyp.list;\r\n\r\n @computedFrom(\"suche.lastObjektFullName\")\r\n get objektFullName() {\r\n return this.suche.lastObjektFullName;\r\n }\r\n @computedFrom(\"suche.lastObjektBezeichnung\")\r\n get sucheTitelSuffix() {\r\n if (this.form\r\n && this.form.scopeContainer\r\n && this.form.scopeContainer.scope\r\n && this._lastObjektBezeichnung != this.suche.lastObjektBezeichnung) {\r\n this._lastObjektBezeichnung = this.suche.lastObjektBezeichnung;\r\n\r\n this.eventAggregator.publish(\"form:title-changed\", {\r\n form: this.form\r\n });\r\n }\r\n\r\n if (this.suche.lastObjektBezeichnung) {\r\n return `: ${this.suche.lastObjektBezeichnung}`;\r\n } else {\r\n return \"\";\r\n }\r\n }\r\n @computedFrom(\"objektFullName\")\r\n get canCreateNew() {\r\n //ohne Objekttyp kann keine Neuanlage gemacht werden\r\n if (!this.objektFullName == void 0) return false;\r\n \r\n //Aufgaben dürfen nie so angelegt werden (sind aktuell auch nicht im Einsatz)\r\n if (this.objektFullName === \"TIP.ZIT.Business.Entities.Objekte.Aufgaben.Aufgabe\") return false;\r\n\r\n //natürliche Personen dürfen keine Ziele anlegen\r\n const benutzertyp = this.startup.startupInfo.Benutzer.Benutzertyp;\r\n if (benutzertyp === BenutzerTyp.NatuerlichePerson && this.objektFullName === \"TIP.ZIT.Business.Entities.Objekte.Ziele.Ziel\") return false;\r\n \r\n //bei myLehre dürfen nur Intern und Admin neue Stelleninserate/Firmenprofile/Geschäftspartner anlegen\r\n const isInternOrAdmin = [BenutzerTyp.NatuerlichePerson, BenutzerTyp.Administrator].includes(benutzertyp);\r\n const isStelleninseratOrProfilFirmaOrGeschaeftspartner = [\r\n \"TIP.ZIT.Business.Entities.Objekte.Stelleninserate.Stelleninserat\",\r\n \"TIP.ZIT.Business.Entities.Objekte.ProfilFirmen.ProfilFirma\",\r\n \"TIP.ZIT.Business.Entities.Objekte.Geschaeftspartner.Geschaeftspartner\"\r\n ].includes(this.objektFullName);\r\n \r\n if (this.startup.startupInfo.Mandant.IdMandant === 4 && !isInternOrAdmin && isStelleninseratOrProfilFirmaOrGeschaeftspartner) return false;\r\n \r\n //wenn keine Neu-(Speichern)-Berechtigung vorhanden, dann auch keine Neuanlage\r\n if (!this.berechtigung.hasBerechtigungNew(this.objektFullName)) return false;\r\n \r\n //ansonsten alles gut\r\n return true;\r\n }\r\n\r\n get isTableViewVisible() {\r\n return !this.browser.isMobile;\r\n }\r\n\r\n bind(form: FormBase) {\r\n this.form = form;\r\n\r\n const viewTyp = form.viewItemInfo?.routeInfo?.customOptions?.viewTyp;\r\n if (viewTyp != void 0) {\r\n this.viewTyp = viewTyp;\r\n }\r\n\r\n form.callOnBind(() => {\r\n if (this.browserService.isMobile) {\r\n const listViewOptions = form[\"r_sucheListViewOptions\"];\r\n listViewOptions.selectionMode = SelectionModeEnum.None;\r\n }\r\n });\r\n\r\n this.form.models.getInfo(\"$m_Suche\").canLoad = (options) => {\r\n switch (this.viewTyp) {\r\n case SucheViewTyp.list: {\r\n return this.form[\"r_sucheListViewOptions\"] == options;\r\n }\r\n case SucheViewTyp.table: {\r\n return this.form[\"r_sucheGridOptions\"] == options;\r\n }\r\n default: {\r\n return true;\r\n }\r\n }\r\n };\r\n\r\n form.models.onLoaded.register((args) => {\r\n if (args.model.id === \"$m_Suche\" && args.data) {\r\n if (this.browser.isMobile && this.searchStandardFilter === \"true\") {\r\n this.searchStandardFilter = \"false\";\r\n }\r\n\r\n this.checkFilterListVorhanden();\r\n }\r\n return Promise.resolve();\r\n });\r\n\r\n this.erklaervideoCommand = this.erklaervideoService.getErklaervideoCommandData();\r\n this.erklaervideoCommand.isVisible = false;\r\n this.erklaervideoCommand.execute = (e) => {\r\n this.erklaervideoService.element.show(\r\n \"suche;\".concat(this.objektFullName),\r\n e.event.target\r\n );\r\n };\r\n form.commands.addCommand(this.erklaervideoCommand);\r\n\r\n this.loadSearchParamFromSearchService();\r\n this.addGridColumnsToModel();\r\n\r\n this._searchSubscription = this.eventAggregator.subscribe(\r\n \"suche:request\", \r\n () => {\r\n this.checkFilterListVorhanden();\r\n this.setStandardfilter();\r\n this.loadSearchParamFromSearchService();\r\n\r\n this.erklaervideoCommand.isVisible = this.erklaervideoService.getContextMenuItems(\r\n \"suche;\".concat(this.objektFullName)\r\n ).length > 0;\r\n });\r\n\r\n this._objektStatusChangedSubscription = this.eventAggregator.subscribe(\r\n \"objekt-status:changed\",\r\n (e) => {\r\n this.reloadIfExists(e.idObjektList);\r\n }\r\n );\r\n }\r\n unbind() {\r\n this._searchSubscription.dispose();\r\n this._objektStatusChangedSubscription.dispose();\r\n }\r\n\r\n loadSearchParamFromSearchService() {\r\n const isEqual = this.form.variables.data.$v_searchText == this.suche.lastSearchText\r\n && JSON.stringify(this.wertQueryList || []) == JSON.stringify(this.suche.lastWertQueryList || []);\r\n\r\n if (!isEqual) {\r\n this.form.variables.data.$v_searchText = this.suche.lastSearchText;\r\n this.wertQueryList = this.suche.lastWertQueryList;\r\n }\r\n\r\n this.taskQueue.queueTask(() => {\r\n const listView: ListView = this.form[\"r_sucheListView\"];\r\n if (listView) {\r\n listView.clearSelection();\r\n\r\n if (isEqual) {\r\n listView.refresh(false);\r\n }\r\n }\r\n\r\n const grid: IdxDataGridComponent = this.form[\"r_sucheGrid\"];\r\n if (grid && grid.instance) {\r\n grid.instance.clearSelection();\r\n\r\n if (isEqual) {\r\n grid.instance.refresh();\r\n }\r\n }\r\n });\r\n }\r\n setStandardfilter() {\r\n const objektTypeName = this.suche.getObjektFullName(this.suche.lastObjektFullName);\r\n this.searchStandardFilter = !!objektTypeName ? \"true\" : \"\";\r\n }\r\n checkFilterListVorhanden() {\r\n if (this.browser.isMobile) {\r\n return;\r\n }\r\n\r\n if (this.startup.startupInfo.SucheStandardFilterList && this.startup.startupInfo.SucheStandardFilterList.length > 0) {\r\n const filterList = this.startup.startupInfo.SucheStandardFilterList.filter((c) => c == this.objektFullName);\r\n if (filterList && filterList.length > 0) {\r\n this.activateStandardfilter.isVisible = true;\r\n return;\r\n }\r\n }\r\n\r\n this.activateStandardfilter.isVisible = false;\r\n }\r\n onItemClicked(e: any) {\r\n const objekt = this.objektInfo.getObjektByFullname(e.data.TypeName);\r\n if (!objekt) {\r\n return;\r\n }\r\n const url = this.objektInfo.getObjektNavigationUrl(objekt.Fullname);\r\n if (!url) {\r\n return;\r\n }\r\n\r\n this.location.goTo({\r\n url: `${url}/${e.data.Id}`,\r\n currentViewModel: this.form\r\n });\r\n }\r\n\r\n private addGridColumnsToModel() {\r\n if (!this.form || !this.form.models) {\r\n return;\r\n }\r\n const model = this.form.models.getInfo(\"$m_Suche\");\r\n\r\n if (!model) {\r\n return;\r\n }\r\n\r\n model.webApiColumns = this.viewTyp == SucheViewTyp.table\r\n ? [\"Id\", \"ObjektBezeichnung\", \"Bezeichnung\", \"Url\", \"Anlagedatum\", \"TypeName\"]\r\n : null;\r\n }\r\n private reloadIfExists(idObjektList: number[]) {\r\n if (!idObjektList) {\r\n return;\r\n }\r\n\r\n const check = (i) => {\r\n if (!i) {\r\n return;\r\n }\r\n if (!Array.isArray(i)) {\r\n return;\r\n }\r\n\r\n const exists = i.some(e => idObjektList.indexOf(e[\"Id\"]) >= 0);\r\n if (!exists) {\r\n return;\r\n }\r\n\r\n this.form[\"r_share\"].reloadData();\r\n };\r\n\r\n switch (this.viewTyp) {\r\n case SucheViewTyp.list: {\r\n const listView: ListView = this.form[\"r_sucheListView\"];\r\n const items = listView.itemsOptions.items;\r\n check(items);\r\n break;\r\n }\r\n case SucheViewTyp.table: {\r\n const grid: IdxDataGridComponent = this.form[\"r_sucheGrid\"];\r\n const items = grid.instance.getDataSource().items();\r\n check(items);\r\n break;\r\n }\r\n default: {\r\n break;\r\n }\r\n }\r\n }\r\n}\r\n","import { autoinject, transient, computedFrom } from 'aurelia-framework';\r\nimport { FormBase } from './../../../../framework/forms/classes/export';\r\nimport { FileService, BrowserService } from '../../../../framework/base/services/export';\r\nimport { IZitTagOptions } from '../../../../zit-ui/elements/zit-tag/export';\r\nimport { ICommandData, PopupInfoService } from '../../../../framework/forms/export';\r\nimport { EventAggregator } from 'aurelia-event-aggregator';\r\nimport { DateiAuswaehlen } from '../../../elements/datei-auswaehlen/datei-auswaehlen';\r\n\r\n@autoinject\r\n@transient()\r\nexport class DokumentVersionInformationUtils {\r\n constructor(\r\n private _fileService: FileService,\r\n private _eventAggregator: EventAggregator,\r\n private _popupInfoService: PopupInfoService,\r\n private _browserService: BrowserService,\r\n ) { }\r\n\r\n form: FormBase;\r\n isMobil: boolean = this._browserService.isMobile;\r\n\r\n dokumentVersionTagOptions: IZitTagOptions = {\r\n icon: {\r\n faIconExpression: `item.Zustand && item.Zustand.TagSymbol ? item.Zustand.TagSymbol: \"\"`,\r\n textExpression: `(!item.Zustand || !item.Zustand.TagSymbol)? \"D\": \"\"`\r\n },\r\n textExpression: `item.Dateiname \r\n ? globalization.format(item.Anlagedatum, \"g\") + \" \" + item.Dateiname\r\n : globalization.format(item.Anlagedatum, \"g\")`,\r\n tooltipExpression: `item.Zustand && item.Zustand.Bezeichnung ? item.Zustand.Bezeichnung : \"\"`,\r\n infoList: [\r\n {\r\n isVisibleExpression: `item.IsAktuelleVersion`,\r\n icon: {\r\n faIcon: \"fas fa-chevron-circle-right\"\r\n },\r\n backgroundColor: \"green\"\r\n }\r\n ],\r\n onClick: (e, data) => {\r\n if (!data.DMSLinkDokument) {\r\n return;\r\n }\r\n\r\n this._fileService.inline(data.DMSLinkDokument);\r\n }\r\n }; \r\n\r\n kameraCommand: ICommandData = {\r\n id: \"kameraCommand\",\r\n icon: \"fas fa-camera\",\r\n tooltip: \"dokument-utils.kamera\",\r\n isVisibleExpression: \"functions.$f_DokumentUtils.isMobil && functions.$f_DokumentUtils.isAddVersionVisible\",\r\n execute: (args) => {\r\n this.getDateiAuswaehlen().onMakePhoto();\r\n }\r\n };\r\n videoCommand: ICommandData = {\r\n id: \"videoCommand\",\r\n icon: \"fas fa-video\",\r\n tooltip: \"dokument-utils.video\",\r\n isVisibleExpression: \"functions.$f_DokumentUtils.isMobil && !models.data.$m_Dokument.Id\",\r\n execute: (args) => {\r\n this.getDateiAuswaehlen().onMakeVideo();\r\n }\r\n };\r\n gallerieCommand: ICommandData = {\r\n id: \"gallerieCommand\",\r\n icon: \"far fa-image\",\r\n tooltip: \"dokument-utils.gallerie\",\r\n isVisibleExpression: \"functions.$f_DokumentUtils.isMobil && functions.$f_DokumentUtils.isAddVersionVisible\",\r\n execute: (args) => {\r\n this.getDateiAuswaehlen().onOpenGallery();\r\n }\r\n };\r\n dateiCommand: ICommandData = {\r\n id: \"dateiCommand\",\r\n icon: \"far fa-file-alt\",\r\n tooltip: \"dokument-utils.datei-auswaehlen\",\r\n isVisibleExpression: \"!functions.$f_DokumentUtils.isMobil && functions.$f_DokumentUtils.isAddVersionVisible\",\r\n execute: (args) => {\r\n this.getDateiAuswaehlen().onOpenFiles();\r\n }\r\n };\r\n\r\n @computedFrom(\"form.variables.data.$v_isReadOnly\", \"form.models.data.$m_Dokument.CanSave\")\r\n get isAddVersionVisible() {\r\n if (!this.form) {\r\n return false;\r\n }\r\n\r\n return this.form.variables.data.$v_isReadOnly === false \r\n && this.form.models.data.$m_Dokument\r\n && this.form.models.data.$m_Dokument.Id;\r\n }\r\n\r\n bind(form: FormBase) {\r\n this.form = form;\r\n }\r\n\r\n async onDateiAusgewaehlt(e: CustomEvent) {\r\n const file: File = e.detail.files[0];\r\n const model = this.form.models.data.$m_Dokument;\r\n\r\n const dmsLinkDokument = await this._fileService.upload(file);\r\n if (!dmsLinkDokument) {\r\n return;\r\n }\r\n\r\n const oldId = model.Id;\r\n model.Id = 0;\r\n model.Dateiname = file.name;\r\n model.DMSLinkDokument = dmsLinkDokument;\r\n\r\n const r = await this.form.rest.put({\r\n url: this.form.rest.getWebApiUrl(\"ZIT/Objekte/DokumentElement\"),\r\n data: model,\r\n increaseLoadingCount: true\r\n });\r\n\r\n if (!r || !r.Id) {\r\n return;\r\n }\r\n\r\n this._eventAggregator.publish(\"dokument:version-changed\", {\r\n oldId: oldId,\r\n newId: r.Id\r\n });\r\n\r\n this._popupInfoService.closeCurrentPopup();\r\n }\r\n private getDateiAuswaehlen(): DateiAuswaehlen {\r\n return this.form[\"r_dateiAuswaehlen\"];\r\n }\r\n}\r\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\";\r\nimport { ValidationService } from \"./../../framework/forms/services/validation-service\";\r\nimport { autoinject } from \"aurelia-framework\";\r\n\r\n@autoinject\r\nexport class ValidationExService {\r\n constructor(\r\n private localization: LocalizationService,\r\n private validation: ValidationService\r\n ) {\r\n this.registerTelefon();\r\n }\r\n\r\n private registerTelefon() {\r\n this.validation.registerValidator(\"telefon\", (scopeContainer, caption, parameters) => {\r\n return {\r\n type: \"custom\",\r\n message: this.localization.translateOnce(\r\n \"forms.validator_telefon\",\r\n [this.localization.translateOnce(caption)]),\r\n validationCallback: (e) => {\r\n if(!e.value){\r\n return true;\r\n }\r\n \r\n const val: string = e.value;\r\n const isValid = /^[0-9 ]{4,}$/.test(val);\r\n \r\n return isValid;\r\n }\r\n };\r\n });\r\n }\r\n}\r\n","import { autoinject, transient } from 'aurelia-framework';\r\nimport { FormBase } from '../../../../framework/forms/form-export';\r\nimport { Share } from '../../../elements/share/share';\r\nimport { ICommandData } from '../../../../framework/forms/export';\r\n\r\n@autoinject\r\n@transient()\r\nexport class BewerbungReadUtils {\r\n constructor(\r\n ) { }\r\n\r\n form: FormBase;\r\n \r\n actionCommand: ICommandData = {\r\n id: \"actionCommand\",\r\n icon: \"fas fa-share-alt\",\r\n tooltip: \"zit.aktionen\",\r\n sortIndex: 99,\r\n isVisibleExpression: \"r_share.canShare\",\r\n execute: (executeOptions) => {\r\n const share: Share = this.form[\"r_share\"];\r\n share.showCtxMenu(executeOptions.event);\r\n }\r\n };\r\n\r\n bind(form: FormBase) {\r\n this.form = form;\r\n }\r\n}\r\n","import { \r\n Aurelia,\r\n PLATFORM\r\n} from \"aurelia-framework\"\r\nimport { \r\n AuthorizationService \r\n} from \"./framework/base/services/authorization-service\";\r\nimport {\r\n ModuleLoader\r\n} from \"./framework-data/modules\";\r\nimport environment from \"./environment\";\r\nimport \"whatwg-fetch\";\r\nimport \"../resources/grid.less\";\r\nimport \"../node_modules/@fortawesome/fontawesome-free/css/all.min.css\";\r\nimport * as Bluebird from \"bluebird\";\r\nimport { AlertService } from './framework/base/services/alert-service';\r\nimport { SettingService } from './framework/forms/export';\r\n\r\nBluebird.config({ \r\n longStackTraces: false,\r\n warnings: { wForgottenReturn: false }\r\n});\r\n\r\nexport function configure(aurelia: Aurelia) {\r\n aurelia.use\r\n .basicConfiguration()\r\n .feature(PLATFORM.moduleName(\"framework/base/index\"))\r\n .feature(PLATFORM.moduleName(\"framework/dx/index\"))\r\n .feature(PLATFORM.moduleName(\"framework/forms/index\"))\r\n .feature(PLATFORM.moduleName(\"framework/security/index\"))\r\n .feature(PLATFORM.moduleName(\"zit-ui/index\"))\r\n .feature(PLATFORM.moduleName(\"zit/index\"));\r\n\r\n if (environment.debug) {\r\n aurelia.use.developmentLogging();\r\n }\r\n\r\n const moduleLoader = new ModuleLoader();\r\n\r\n return aurelia.start().then(() => {\r\n\r\n const alertService: AlertService = aurelia.container.get(AlertService);\r\n \r\n const settingService: SettingService = aurelia.container.get(SettingService);\r\n settingService.instance.IsLabelBeforeEditor = false;\r\n\r\n const authorization: AuthorizationService = aurelia.container.get(AuthorizationService);\r\n authorization.openApp();\r\n\r\n return Promise.resolve();\r\n });\r\n}\r\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 {\r\n autoinject,\r\n Scope\r\n} from \"aurelia-framework\";\r\nimport {\r\n ICommandData\r\n} from \"../interfaces/export\";\r\nimport {\r\n BindingService\r\n} from \"../../base/services/export\";\r\nimport { IItemExecuteOptions } from \"../elements/toolbar/item-execute-options\";\r\n\r\n@autoinject\r\nexport class CommandService {\r\n private isCommandExecuting = false;\r\n\r\n constructor(\r\n private binding: BindingService\r\n ) { }\r\n\r\n isVisible(command: ICommandData): boolean {\r\n if (command.isVisible != undefined) {\r\n return command.isVisible;\r\n } else if (command.isVisibleExpression) {\r\n return this.binding.evaluate(command.expressionScope, command.isVisibleExpression);\r\n }\r\n\r\n return true;\r\n }\r\n isEnabled(command: ICommandData): boolean {\r\n if (command.isEnabled != undefined) {\r\n return command.isEnabled;\r\n } else if (command.isEnabledExpression) {\r\n return this.binding.evaluate(command.expressionScope, command.isEnabledExpression);\r\n }\r\n\r\n return true;\r\n }\r\n isVisibleAndEnabled(command: ICommandData): boolean {\r\n return this.isVisible(command)\r\n && this.isEnabled(command);\r\n }\r\n\r\n execute(scope: Scope, command: ICommandData, options: IItemExecuteOptions): boolean {\r\n if (this.isCommandExecuting) {\r\n return;\r\n }\r\n\r\n if (!this.isVisibleAndEnabled(command)) {\r\n return false;\r\n }\r\n if (!command.execute) {\r\n return false;\r\n }\r\n\r\n this.isCommandExecuting = true;\r\n const result = command.execute.bind(scope.bindingContext)(options);\r\n\r\n if (result && result.then && result.catch) {\r\n result\r\n .catch(() => {\r\n })\r\n .then(() => {\r\n this.isCommandExecuting = false;\r\n });\r\n } else {\r\n this.isCommandExecuting = false;\r\n }\r\n return true;\r\n }\r\n}\r\n","export enum PersonDossierTyp {\r\n Person = 0,\r\n Bewerber = 1,\r\n DispoPlanstellePersonenzuteilung = 2,\r\n DispoPlanstelle = 3\r\n}\r\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 {\r\n BenutzerprofilLoeschen = 0,\r\n ObjektstatusSetzen = 1\r\n}\r\n","import { autoinject } from \"aurelia-framework\";\r\nimport { CustomEvent } from \"../classes/custom-event\";\r\nimport { EventAggregator } from 'aurelia-event-aggregator';\r\n\r\n@autoinject\r\nexport class WindowService {\r\n constructor(\r\n private eventAggregator: EventAggregator\r\n ) {\r\n this.registerEvents();\r\n }\r\n\r\n blurCurrentElement() {\r\n if (!document.activeElement) {\r\n return;\r\n }\r\n\r\n const activeElement = (document.activeElement);\r\n if (!activeElement.blur) {\r\n return;\r\n }\r\n\r\n activeElement.blur();\r\n }\r\n\r\n private registerEvents() {\r\n window.addEventListener(\"resize\", () => {\r\n this.eventAggregator.publish(\"window:resize\", {});\r\n });\r\n window.addEventListener(\"visibilitychange\", () => {\r\n if (!document.hidden) {\r\n this.eventAggregator.publish(\"window:activated\", {});\r\n }\r\n })\r\n }\r\n}\r\n","declare var require: any;\r\n\r\nvar DevExpress = require(\"devextreme/bundles/modules/core\");\r\n\r\nrequire(\"devextreme/events/click\");\r\nrequire(\"devextreme/events/contextmenu\");\r\nrequire(\"devextreme/events/double_click\");\r\nrequire(\"devextreme/events/drag\");\r\nrequire(\"devextreme/events/hold\");\r\nrequire(\"devextreme/events/hover\");\r\nrequire(\"devextreme/events/pointer\");\r\nrequire(\"devextreme/events/swipe\");\r\nrequire(\"devextreme/events/transform\");\r\n\r\nconst result: any = {};\r\n\r\nresult.data = DevExpress.data = require(\"devextreme/bundles/modules/data\");\r\nresult.ui = DevExpress.ui = require(\"devextreme/bundles/modules/ui\");\r\nresult.themes = require(\"devextreme/ui/themes\");\r\nresult.setTemplateEngine = require(\"devextreme/ui/set_template_engine\");\r\nresult.dialog = require(\"devextreme/ui/dialog\");\r\nresult.notify = require(\"devextreme/ui/notify\");\r\n\r\nDevExpress.ui.dialog = result.dialog;\r\nDevExpress.ui.notify = result.notify;\r\n\r\nDevExpress.integration = {\r\n date: require(\"devextreme/localization/date\")\r\n};\r\n\r\n\r\n/* Base widgets (dx.module-widgets-base.js) */\r\nresult.dxActionSheet = require(\"devextreme/ui/action_sheet\");\r\nresult.dxAutocomplete = require(\"devextreme/ui/autocomplete\");\r\nresult.dxBox = require(\"devextreme/ui/box\");\r\nresult.dxButton = require(\"devextreme/ui/button\");\r\nresult.dxCalendar = require(\"devextreme/ui/calendar\");\r\nresult.dxCheckBox = require(\"devextreme/ui/check_box\");\r\nresult.dxColorBox = require(\"devextreme/ui/color_box\");\r\nresult.dxDateBox = require(\"devextreme/ui/date_box\");\r\nresult.dxDeferRendering = require(\"devextreme/ui/defer_rendering\");\r\nresult.dxDropDownMenu = require(\"devextreme/ui/drop_down_menu\");\r\nresult.dxFileUploader = require(\"devextreme/ui/file_uploader\");\r\nresult.dxFilterBuilder = require(\"devextreme/ui/filter_builder\");\r\nresult.dxForm = require(\"devextreme/ui/form\");\r\nresult.dxGallery = require(\"devextreme/ui/gallery\");\r\nresult.dxHtmlEditor = require(\"devextreme/ui/html_editor\");\r\nresult.dxList = require(\"devextreme/ui/list\");\r\nresult.dxLoadIndicator = require(\"devextreme/ui/load_indicator\");\r\nresult.dxLoadPanel = require(\"devextreme/ui/load_panel\");\r\nresult.dxLookup = require(\"devextreme/ui/lookup\");\r\nresult.dxMap = require(\"devextreme/ui/map\");\r\nresult.dxMultiView = require(\"devextreme/ui/multi_view\");\r\nresult.dxNavBar = require(\"devextreme/ui/nav_bar\");\r\nresult.dxNumberBox = require(\"devextreme/ui/number_box\");\r\nresult.dxOverlay = require(\"devextreme/ui/overlay\");\r\nresult.dxPopover = require(\"devextreme/ui/popover\");\r\nresult.dxPopup = require(\"devextreme/ui/popup\");\r\nresult.dxProgressBar = require(\"devextreme/ui/progress_bar\");\r\nresult.dxRadioGroup = require(\"devextreme/ui/radio_group\");\r\nresult.dxRangeSlider = require(\"devextreme/ui/range_slider\");\r\nresult.dxResizable = require(\"devextreme/ui/resizable\");\r\nresult.dxResponsiveBox = require(\"devextreme/ui/responsive_box\");\r\nresult.dxScrollView = require(\"devextreme/ui/scroll_view\");\r\nresult.dxSelectBox = require(\"devextreme/ui/select_box\");\r\nresult.dxSlider = require(\"devextreme/ui/slider\");\r\nresult.dxSwitch = require(\"devextreme/ui/switch\");\r\nresult.dxTabPanel = require(\"devextreme/ui/tab_panel\");\r\nresult.dxTabs = require(\"devextreme/ui/tabs\");\r\nresult.dxTagBox = require(\"devextreme/ui/tag_box\");\r\nresult.dxTextArea = require(\"devextreme/ui/text_area\");\r\nresult.dxTextBox = require(\"devextreme/ui/text_box\");\r\nresult.dxDropDownBox = require(\"devextreme/ui/drop_down_box\");\r\nresult.dxTileView = require(\"devextreme/ui/tile_view\");\r\nresult.dxToast = require(\"devextreme/ui/toast\");\r\nresult.dxToolbar = require(\"devextreme/ui/toolbar\");\r\nresult.dxTooltip = require(\"devextreme/ui/tooltip\");\r\nresult.dxTrackBar = require(\"devextreme/ui/track_bar\");\r\n\r\n/* Validation (dx.module-widgets-base.js) */\r\nDevExpress.validationEngine = require(\"devextreme/ui/validation_engine\");\r\nresult.dxValidationSummary = require(\"devextreme/ui/validation_summary\");\r\nresult.dxValidationGroup = require(\"devextreme/ui/validation_group\");\r\nresult.dxValidator = require(\"devextreme/ui/validator\");\r\n\r\n/* Web widgets (dx.module-widgets-web.js) */\r\nresult.dxAccordion = require(\"devextreme/ui/accordion\");\r\nresult.dxContextMenu = require(\"devextreme/ui/context_menu\");\r\nresult.dxDataGrid = require(\"devextreme/ui/data_grid\");\r\nresult.dxMenu = require(\"devextreme/ui/menu\");\r\nresult.dxPivotGrid = require(\"devextreme/ui/pivot_grid\");\r\nresult.dxPivotGridFieldChooser = require(\"devextreme/ui/pivot_grid_field_chooser\");\r\nresult.PivotGridDataSource = require(\"devextreme/ui/pivot_grid/data_source\");\r\nresult.XmlaStore = require(\"devextreme/ui/pivot_grid/xmla_store\");\r\nresult.dxScheduler = require(\"devextreme/ui/scheduler\");\r\nresult.dxTreeView = require(\"devextreme/ui/tree_view\");\r\nresult.dxTreeList = require(\"devextreme/ui/tree_list\");\r\n\r\n/* Viz core (dx.module-viz-core.js) */\r\nresult.viz = DevExpress.viz = require(\"devextreme/bundles/modules/viz\");\r\nresult.currentTheme = require(\"devextreme/viz/themes\").currentTheme;\r\nresult.registerTheme = require(\"devextreme/viz/themes\").registerTheme;\r\nresult.exportFromMarkup = require(\"devextreme/viz/export\").exportFromMarkup;\r\nresult.currentPalette = require(\"devextreme/viz/palette\").currentPalette;\r\nresult.getPalette = require(\"devextreme/viz/palette\").getPalette;\r\nresult.registerPalette = require(\"devextreme/viz/palette\").registerPalette;\r\n\r\n/* Charts (dx.module-viz-charts.js) */\r\nresult.dxChart = require(\"devextreme/viz/chart\");\r\nresult.dxPieChart = require(\"devextreme/viz/pie_chart\");\r\nresult.dxPolarChart = require(\"devextreme/viz/polar_chart\");\r\nresult.dxLinearGauge = require(\"devextreme/viz/linear_gauge\");\r\nresult.dxCircularGauge = require(\"devextreme/viz/circular_gauge\");\r\nresult.dxFunnel = require(\"devextreme/viz/funnel\");\r\nresult.dxBarGauge = require(\"devextreme/viz/bar_gauge\");\r\n\r\n/* Range selector (dx.module-viz-rangeselector.js) */\r\nresult.dxRangeSelector = require(\"devextreme/viz/range_selector\");\r\n\r\n/* Vector map (dx.module-viz-vectormap.js) */\r\nresult.dxVectorMap = require(\"devextreme/viz/vector_map\");\r\nresult.map = {};\r\nresult.map.sources = {};\r\nresult.map.projection = require(\"devextreme/viz/vector_map/projection\").projection;\r\n\r\n/* Sparklines (dx.module-viz-sparklines.js) */\r\nresult.dxSparkline = require(\"devextreme/viz/sparkline\");\r\nresult.dxBullet = require(\"devextreme/viz/bullet\");\r\n\r\nexport function initialize() {\r\n const r = result;\r\n}\r\nexport function createInstance(widget, element, options): any {\r\n element = getElement(element);\r\n if (!element) {\r\n throw new Error(\"No element specified\");\r\n }\r\n\r\n return new result[widget](element, options);\r\n}\r\nexport function exists(widget): boolean {\r\n return !!result[widget];\r\n}\r\nexport function getInstance(widget, element): any {\r\n element = getElement(element);\r\n if (element == null) {\r\n return null;\r\n }\r\n\r\n return result[widget].getInstance(element);\r\n}\r\nexport function getDefinition(widget): any {\r\n return result[widget];\r\n}\r\n\r\nfunction getElement(element): Element {\r\n if (element.jquery) {\r\n if (element.length === 0) {\r\n return null;\r\n }\r\n\r\n element = element.get(0);\r\n }\r\n\r\n return element;\r\n}\r\n","import { autoinject } from 'aurelia-framework';\r\nimport { Setting } from '../interfaces/setting';\r\n\r\n@autoinject\r\nexport class SettingService {\r\n constructor() {\r\n this.instance = {\r\n IsLabelBeforeEditor: true\r\n };\r\n }\r\n\r\n instance: Setting;\r\n}\r\n","import {\r\n autoinject,\r\n singleton\r\n} from \"aurelia-framework\";\r\nimport {\r\n FormBase\r\n} from \"../classes/form-base\";\r\nimport * as Interfaces from \"../interfaces/export\";\r\n\r\n@autoinject\r\n@singleton(true)\r\nexport class Variables {\r\n private form: FormBase;\r\n private info: any;\r\n\r\n constructor() {\r\n this.data = {};\r\n this.info = {};\r\n }\r\n\r\n data: any;\r\n\r\n addInfo(variable: Interfaces.IVariable) {\r\n this.info[variable.id] = variable;\r\n this.checkNestedFormMapping(variable);\r\n }\r\n getInfo(id: string): Interfaces.IVariable {\r\n return this.info[id];\r\n }\r\n registerForm(form: FormBase) {\r\n if (this.form) {\r\n throw new Error(\"Form was already registered\");\r\n }\r\n\r\n this.form = form;\r\n }\r\n reset() {\r\n for (let key in this.data) {\r\n this.data[key] = null;\r\n }\r\n }\r\n\r\n dispose() {\r\n }\r\n\r\n private checkNestedFormMapping(variable: Interfaces.IVariable) {\r\n if (!this.form.isNestedForm) {\r\n return;\r\n }\r\n\r\n const id = this.form.element.getAttribute(\"view-model.ref\");\r\n if (!id) {\r\n return;\r\n }\r\n\r\n const info = this.form.parent.nestedForms.getInfo(id);\r\n if (!info) {\r\n return;\r\n }\r\n\r\n variable.isMapped = info.mappings.some(mapping => mapping.to === variable.id);\r\n }\r\n}\r\n","import {\r\n autoinject,\r\n observable\r\n} from \"aurelia-framework\";\r\nimport {\r\n StyleService\r\n} from \"../../base/services/export\";\r\nimport { EventAggregator, Subscription } from 'aurelia-event-aggregator';\r\n\r\n@autoinject\r\nexport class LayoutService {\r\n constructor(\r\n private style: StyleService,\r\n private eventAggregator: EventAggregator\r\n ) {}\r\n\r\n @observable isSidebarCollapsed = false;\r\n themeColor = \"#396394\";\r\n\r\n activateTheme() {\r\n this.style.addStyles(\"custom-container\", [{\r\n name: \".t--sidebar .t--sidebar-item:hover\",\r\n properties: [{\r\n propertyName: \"background-color\",\r\n value: this.themeColor\r\n }]\r\n }]);\r\n }\r\n isSidebarCollapsedChanged() {\r\n setTimeout(() => {\r\n this.eventAggregator.publish(\"window:resize\", () => {});\r\n }, 400);\r\n }\r\n}\r\n","import { autoinject, transient, TaskQueue } from 'aurelia-framework';\r\nimport { IZitTagOptions } from '../../../../zit-ui/elements/zit-tag/export';\r\nimport { FileService } from '../../../../framework/base/services/export';\r\nimport { StartupService } from '../../../services/export';\r\nimport { FormBase, PopupInfoService } from '../../../../framework/forms/export';\r\n\r\n@autoinject\r\n@transient()\r\nexport class DokumentReadUtils {\r\n constructor(\r\n private _fileService: FileService,\r\n private _startupService: StartupService,\r\n private _popupInfoService: PopupInfoService,\r\n private _taskQueue: TaskQueue\r\n ) { }\r\n\r\n form: FormBase;\r\n \r\n dokumentTagOptions: IZitTagOptions = {\r\n isClickEnabled: true,\r\n icon: {\r\n faIconExpression: `item.Zustand ? item.Zustand.TagSymbol : ''`,\r\n textExpression: `!item.Zustand || !item.Zustand.TagSymbol ? 'D':''`\r\n },\r\n textExpression: `(item.VorlageBezeichnung || item.Dateiname || item.Bezeichnung) | zitRestrictLength:50`,\r\n backgroundColorExpression: \"item.InformationsTyp.FarbeTagText\",\r\n infoList: [\r\n {\r\n isVisibleExpression: `item.DMSLinkDokument`,\r\n isClickEnabled: true,\r\n icon: {\r\n faIcon: \"fas fa-paperclip\",\r\n },\r\n onClick: (e, data) => {\r\n e.stopPropagation();\r\n this._fileService.download(data.DMSLinkDokument);\r\n }\r\n }, {\r\n isVisibleExpression: \"item.Id > 0 && \".concat(\r\n this._startupService.startupInfo.Benutzer.CanViewDokumentDetails ? \"true\" : \"false\" \r\n ),\r\n icon: {\r\n faIcon: \"far fa-clock\"\r\n },\r\n onClick: (e, data) => {\r\n e.stopPropagation();\r\n this.form.editPopups.show(\"dokumentVersionInformationEditPopup\", null);\r\n }\r\n }\r\n ],\r\n onClick: (e, data) => {\r\n e.stopPropagation();\r\n this._fileService.inline(data.DMSLinkDokument);\r\n }\r\n };\r\n dokumentNeedsUnterfertigungTagMessageOptions: IZitTagOptions = {\r\n cssClass: \"z--tag-info-message z--tag-info-warning-message\",\r\n icon: {\r\n faIcon: \"far fa-check-circle\",\r\n },\r\n textExpression: `\"dokument-utils.needs-unterfertigung-text\" | tr`\r\n };\r\n gueltigkeitTagOptions: IZitTagOptions = {\r\n hasDefaultInfo: true, \r\n textExpression: \"item.GueltigVon | zitMoment:'dispoVonBis':{ bis: item.GueltigBis }\"\r\n }\r\n\r\n bind(form: FormBase) {\r\n this.form = form;\r\n\r\n if (form.isEditPopup) {\r\n form.models.onLoaded.register(args => {\r\n if (args.model.id == \"$m_Dokument\" && args.data && args.data.Id) {\r\n this._taskQueue.queueMicroTask(() => {\r\n const current = this._popupInfoService.getPopup(form);\r\n if (current && current.popup) {\r\n current.popup.repaint();\r\n }\r\n });\r\n }\r\n \r\n return Promise.resolve();\r\n });\r\n }\r\n }\r\n}\r\n","import { autoinject, transient, TaskQueue, computedFrom } from 'aurelia-framework';\r\nimport { FormBase } from '../../../../framework/forms/classes/export';\r\nimport { LocalizationService } from '../../../../framework/base/services/export';\r\nimport { ICommandData, DialogConfirmService } from '../../../../framework/forms/export';\r\nimport { GeschaeftspartnerService } from '../../../services/export';\r\nimport { IdxValidationGroupComponent, IdxDataGridComponent } from '../../../interfaces/export';\r\n\r\n@autoinject\r\n@transient()\r\nexport class GeschaeftspartnerGruppierungUtils {\r\n constructor(\r\n private geschaeftspartner: GeschaeftspartnerService,\r\n private localization: LocalizationService,\r\n private taskqueue: TaskQueue,\r\n private dialogConfirmService: DialogConfirmService\r\n ) { }\r\n\r\n form: FormBase;\r\n\r\n addNewGruppierungCommand: ICommandData = {\r\n id: \"addNewGruppierungCommand\",\r\n icon: \"fas fa-plus\",\r\n tooltip: \"geschaeftspartner.neue-gruppierung\",\r\n execute: () => {\r\n const grid: IdxDataGridComponent = this.form[\"r_GeschaeftspartnerGruppierungDataGrid\"];\r\n if (grid && grid.instance) {\r\n grid.instance.deselectAll();\r\n }\r\n\r\n this.setEditGruppierungData(0);\r\n }\r\n };\r\n saveGruppierungCommand: ICommandData = {\r\n id: \"addNewGruppierungCommand\",\r\n icon: \"fas fa-save\",\r\n tooltip: \"base.save\",\r\n execute: () => {\r\n this.saveGruppierung();\r\n }\r\n };\r\n deleteGruppierungCommand: ICommandData = {\r\n id: \"addNewGruppierungCommand\",\r\n icon: \"far fa-trash-alt\",\r\n tooltip: \"base.delete\",\r\n isEnabled: false,\r\n execute: () => {\r\n const id = this.form.models.data.$m_GeschaeftspartnerGruppierungEdit.Id;\r\n this.deleteGruppierung(id);\r\n }\r\n };\r\n\r\n onGruppierungClick(e) {\r\n this.setEditGruppierungData(e.data.Id);\r\n }\r\n\r\n bind(form: FormBase) {\r\n this.form = form;\r\n this.setEditGruppierungData(0);\r\n }\r\n\r\n private refreshGruppierungGrid() {\r\n const grid: IdxDataGridComponent = this.form[\"r_GeschaeftspartnerGruppierungDataGrid\"];\r\n if (grid && grid.instance) {\r\n grid.instance.refresh();\r\n }\r\n }\r\n private setEditGruppierungData(id: number) {\r\n if (id == void 0) {\r\n return;\r\n }\r\n this.deleteGruppierungCommand.isEnabled = id && id != 0;\r\n\r\n const model = this.form.models.getInfo(\"$m_GeschaeftspartnerGruppierungEdit\");\r\n this.form.models.loadModel(model, id);\r\n }\r\n\r\n private async saveGruppierung() {\r\n const validationGroup: IdxValidationGroupComponent = this.form[\"r_geschaeftspartnerGruppierungValidationGroup\"];\r\n const result = validationGroup.instance.validate();\r\n if (result.isValid) {\r\n const dataToSave = this.form.models.data.$m_GeschaeftspartnerGruppierungEdit;\r\n dataToSave.IdGeschaeftspartner = dataToSave.IdGeschaeftspartner || this.form.variables.data.$v_idGeschaeftspartner;\r\n\r\n this.form.models.data.$m_GeschaeftspartnerGruppierungEdit = await this.geschaeftspartner.saveGruppierung(dataToSave);\r\n\r\n this.onGruppierungSaved();\r\n }\r\n }\r\n private deleteGruppierung(id: number) {\r\n if (id == void 0) {\r\n return;\r\n }\r\n\r\n const title = this.localization.translateOnce(\"zit.loeschen-confirm-title\");\r\n const message = this.localization.translateOnce(\"zit.loeschen-confirm-message\", [\"die Gruppierung\"]);\r\n\r\n this.dialogConfirmService.show({\r\n title: title,\r\n message: message\r\n }).then(async r => {\r\n if (!r) {\r\n return;\r\n }\r\n\r\n await this.geschaeftspartner.deleteGruppierung(id);\r\n\r\n this.onGruppierungDeleted();\r\n });\r\n }\r\n\r\n private onGruppierungDeleted() {\r\n DevExpress.ui.notify(this.localization.translateOnce(\"zit.geloescht-message\", [\"Gruppierung\"]), \"info\", 3000);\r\n\r\n this.setEditGruppierungData(0);\r\n this.refreshGruppierungGrid();\r\n }\r\n private onGruppierungSaved() {\r\n this.refreshGruppierungGrid();\r\n\r\n DevExpress.ui.notify(this.localization.translateOnce(\"base.save_success\"), \"success\", 3000);\r\n }\r\n}\r\n","export interface IZitCardOptions {\r\n statusColor?: string;\r\n statusColorExpression?: string;\r\n onClick?: { (event: MouseEvent, data: any): void };\r\n isClickEnabled?: boolean;\r\n isClickEnabledExpression?: string;\r\n dmsLinkExpression?: string;\r\n dmsLink?: string;\r\n cardTemplateName?: string;\r\n markersCardOptions?: {\r\n markersList?: any;\r\n markersListExpression?: string;\r\n onClick?: { (event: MouseEvent, data: any): void };\r\n }\r\n showRibbon?: boolean;\r\n ribbon?: IZitCardRibbon;\r\n typ?: ZitCardTyp;\r\n useDefaultBindings?: boolean;\r\n isSuche?: boolean;\r\n showNachrichten?: boolean;\r\n}\r\n\r\ninterface IZitCardRibbon {\r\n backgroundColor: string;\r\n icon: string;\r\n}\r\nexport enum ZitCardTyp {\r\n Auto = \"Auto\",\r\n Gross = \"Gross\",\r\n Kompakt = \"Kompakt\",\r\n Klein = \"Klein\"\r\n}\r\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 {\r\n ZuAbsage = 0,\r\n Information = 1,\r\n InteresseBekunden = 2\r\n}\r\n","import { autoinject } from 'aurelia-framework';\r\nimport { RestService } from './../../framework/base/services/export';\r\nimport { HistoryService } from '../../framework/forms/export';\r\n@autoinject\r\nexport class LoginprofilService {\r\n\r\n constructor(\r\n private rest: RestService,\r\n private historyService: HistoryService\r\n ) {\r\n }\r\n \r\n getLoginprofile(): Promise {\r\n return this.rest.get({\r\n url: this.rest.getWebApiUrl(\"ZIT/Berechtigungen/Loginprofil\"),\r\n getOptions: {\r\n customs: [{\r\n key: \"IgnoreMandant\",\r\n value: true\r\n }]\r\n }\r\n });\r\n }\r\n async hasMultipleLoginprofil() {\r\n const result = await this.rest.get({\r\n url: this.rest.getWebApiUrl(\"ZIT/Berechtigungen/Loginprofil\"),\r\n getOptions: {\r\n customs: [\r\n {key: \"IgnoreMandant\", value: \"true\"}, \r\n {key: \"CheckDomain\", value: \"true\"}\r\n ]\r\n }\r\n });\r\n\r\n return result.length > 1;\r\n }\r\n async setLoginProfil(id: number, reload: boolean): Promise {\r\n if (!id) {\r\n return;\r\n }\r\n\r\n this.historyService.checkHasChangedDataBeforeUnload = false;\r\n\r\n await this.rest.post({\r\n url: this.rest.getApiUrl(`ZIT/Security/SetLoginprofil/${id}`),\r\n data: null\r\n });\r\n\r\n if (reload) {\r\n window.location.reload();\r\n }\r\n }\r\n zurueckZuBenutzer() {\r\n return this.rest.post({\r\n url: this.rest.getApiUrl(\"ZIT/Security/ZurueckZuBenutzer\"),\r\n data: null\r\n });\r\n }\r\n}\r\n","export enum SucheViewTyp{\r\n table = \"table\",\r\n list = \"list\"\r\n}","\r\nimport {\r\n autoinject\r\n} from \"aurelia-framework\";\r\nimport {\r\n EventAggregator\r\n} from \"aurelia-event-aggregator\";\r\nimport {\r\n RestService, StyleService\r\n} from \"../../framework/base/export\";\r\nimport {\r\n IStartupInfo, ICardStartupInfo\r\n} from \"../interfaces/export\";\r\nimport { FarbeService } from './farbe-service';\r\n\r\n@autoinject\r\nexport class StartupService {\r\n\r\n constructor(\r\n private rest: RestService,\r\n private eventAggregator: EventAggregator,\r\n private farbeService: FarbeService,\r\n private styleService: StyleService\r\n ) { }\r\n \r\n startupInfo: IStartupInfo;\r\n\r\n getCardInfoByObjektFullName(objektFullName: string): ICardStartupInfo {\r\n if (!objektFullName) {\r\n return null;\r\n }\r\n\r\n const found = this.startupInfo.Layout.CardList.find(c => c.Objekttyp == objektFullName);\r\n\r\n return found || null;\r\n }\r\n\r\n loadStartupInfo(): Promise {\r\n return this.rest.get({\r\n url: this.rest.getApiUrl(\"ZIT/Startup/Get\")\r\n }).then(r => {\r\n this.startupInfo = r;\r\n\r\n if (this.startupInfo && this.startupInfo.Skin && this.startupInfo.Skin.Farbe) {\r\n this.startupInfo.Skin.Farbe20Opacity = this.farbeService.convertHexToCssRgba(this.startupInfo.Skin.Farbe, .2);\r\n }\r\n\r\n this.eventAggregator.publish(\r\n \"startup-info:loaded\", {\r\n startupInfo: r\r\n });\r\n\r\n return r;\r\n });\r\n }\r\n}\r\n","import { autoinject, transient } from \"aurelia-framework\";\r\nimport { AuthorizationService, LocalizationService } from \"../../../../../framework/base/export\";\r\nimport { LocationService } from \"../../../../../framework/base/services/location-service\";\r\nimport { FormBase } from \"../../../../../framework/forms/export\";\r\nimport { Datenschutz } from \"../../../../../zit/elements/datenschutz/datenschutz\";\r\nimport { BrowserService } from \"./../../../../../framework/base/services/browser-service\";\r\nimport { RestService } from \"./../../../../../framework/base/services/rest-service\";\r\nimport { ICommandData } from \"./../../../../../framework/forms/interfaces/command-data\";\r\nimport { DomaeneService } from \"./../../../../services/domaene-service\";\r\n\r\n@autoinject\r\n@transient()\r\nexport class ActivateAccountFuncs {\r\n private form: FormBase;\r\n private NOTIFY_TIMEOUT: number = 3000;\r\n\r\n constructor(\r\n public browserService: BrowserService,\r\n private _authorizationService: AuthorizationService,\r\n private _localizationService: LocalizationService,\r\n private _restService: RestService,\r\n private _locationService: LocationService,\r\n private _domaeneService: DomaeneService) {\r\n const time = new Date()\r\n .getTime()\r\n .toString();\r\n const randomNumberString = Math.floor((Math.random() * 100))\r\n .toString();\r\n const randomKey = time + randomNumberString;\r\n this.logoSrc = this._restService.getApiUrl(`ZIT/Domaene/Logo?key=${randomKey}`);\r\n }\r\n\r\n urlImpressum: string;\r\n farbeDomaene: string;\r\n bezeichnungLoginMobil: string;\r\n activationKey: string;\r\n logoSrc: string;\r\n isMobile: boolean;\r\n\r\n datenschutzList: any[];\r\n\r\n activateCommand: ICommandData = {\r\n id: \"$login\",\r\n title: \"activate-account-form-funcs.account_aktivieren_caption\",\r\n execute: async (e) => {\r\n if (this.form.models.data.$m_activateAccount.Passwort1 !== this.form.models.data.$m_activateAccount.Passwort2) {\r\n DevExpress.ui.notify(this._localizationService.translateOnce(\"activate-account-form-funcs.password_missmatch\"), \"error\", this.NOTIFY_TIMEOUT);\r\n return;\r\n }\r\n\r\n const datenschutz: Datenschutz = this.form[\"r_datenschutz\"];\r\n if (datenschutz && !datenschutz.hasAlleBestaetigt()) {\r\n return;\r\n }\r\n\r\n this.form.models.data.$m_activateAccount.CodeAktivierung = this.activationKey;\r\n this.form.models.data.$m_activateAccount.DatenschutzList = this.datenschutzList;\r\n\r\n const r = await this._restService.post({\r\n url: this._restService.getApiUrl(\"ZIT/Security/Aktivierung\"),\r\n data: this.form.models.data.$m_activateAccount,\r\n increaseLoadingCount: true\r\n });\r\n\r\n this._authorizationService.login({\r\n Username: this.form.models.data.$m_activateAccount.Benutzername,\r\n Password: this.form.models.data.$m_activateAccount.Passwort1\r\n });\r\n }\r\n };\r\n\r\n backToLoginCommand: ICommandData = {\r\n id: \"$backToLogin\",\r\n title: \"activate-account-form-funcs.back_to_login_caption\",\r\n execute: () => {\r\n this.goBackToLogin();\r\n }\r\n };\r\n\r\n openImpressumClick() {\r\n window.open(this.urlImpressum);\r\n }\r\n\r\n registerForm(form: FormBase) {\r\n this.form = form;\r\n\r\n form.onActivate.register((r) => {\r\n if (r && r.parameters) {\r\n this.activationKey = r.parameters.key;\r\n }\r\n\r\n return Promise.resolve();\r\n });\r\n }\r\n\r\n async bind() {\r\n this.form.focusFirstEnabledEditor = () => {\r\n if (this.form[\"password\"].instance) {\r\n this.form[\"password\"].instance.focus();\r\n }\r\n };\r\n\r\n if (!this.activationKey) {\r\n this.goBackToLogin();\r\n return;\r\n }\r\n\r\n this.form.callOnBind(() => {\r\n if (!this.form.models.data.$m_activateAccount) {\r\n this.form.models.data.$m_activateAccount = {};\r\n }\r\n\r\n this.loadBenutzername();\r\n this.loadDatenschutzUndEinverstaendnis();\r\n });\r\n\r\n this.urlImpressum = this._domaeneService.urlImpressum;\r\n this.farbeDomaene = this._domaeneService.farbeDomaene;\r\n this._domaeneService.setDomainColorsStyle();\r\n this.bezeichnungLoginMobil = this._domaeneService.bezeichnungMobilLogin;\r\n }\r\n\r\n private goBackToLogin() {\r\n this._locationService.goTo({\r\n url: \"Login\",\r\n clearStack: true\r\n });\r\n }\r\n\r\n private async loadBenutzername() {\r\n if (!this.activationKey) {\r\n return;\r\n }\r\n\r\n const result = await this._restService.post({\r\n url: this._restService.getApiUrl(\"ZIT/Security/AktivierungBenutzername\"),\r\n ignoreErrors: true,\r\n data: {\r\n CodeAktivierung: this.activationKey\r\n }\r\n });\r\n\r\n if (result && result.Benutzername) {\r\n this.form.models.data.$m_activateAccount.Benutzername = result.Benutzername;\r\n } else {\r\n this._locationService.goTo({\r\n url: \"Login\",\r\n clearStack: true,\r\n customOptions: {\r\n activationKey: this.activationKey\r\n }\r\n });\r\n }\r\n }\r\n\r\n private async loadDatenschutzUndEinverstaendnis() {\r\n const result = await this._restService.get({\r\n url: this._restService.getApiUrl(\"ZIT/Security/DatenschutzUndEinverstaendnis\")\r\n .concat(\"?codeAktivierung=\")\r\n .concat(this.activationKey)\r\n });\r\n\r\n if (!result) {\r\n return;\r\n }\r\n\r\n this.datenschutzList = result;\r\n }\r\n}\r\n","import { FormBase } from './../../../../framework/forms/classes/form-base';\r\nimport { transient, TaskQueue } from 'aurelia-framework';\r\nimport { autoinject } from 'aurelia-framework';\r\nimport { IdxSelectBoxComponent } from '../../../interfaces/export';\r\nimport { ICommandData } from '../../../../framework/forms/interfaces/command-data';\r\nimport { RestService, LocalizationService, FileService } from '../../../../framework/base/export';\r\nimport { DialogConfirmService } from '../../../../framework/forms/export';\r\nimport { StartupService } from \"../../../services/export\";\r\n\r\n@transient()\r\n@autoinject\r\nexport class TerminEmpfEinschaetzungEditUtils {\r\n constructor(\r\n private _taskQueue: TaskQueue,\r\n private _restService: RestService,\r\n private _dialogConfirmService: DialogConfirmService,\r\n private _localizationService: LocalizationService,\r\n private _fileService: FileService,\r\n private _startupService: StartupService\r\n ) { \r\n this.hasBerechtEinschLoeschen = [\"ADMIN\", \"ADMIN_HB\"]\r\n .indexOf(_startupService.startupInfo.Benutzer.CodeBenutzerrolle) >= 0;\r\n }\r\n\r\n form: FormBase;\r\n\r\n akkEl: string;\r\n hasBerechtEinschLoeschen = false;\r\n\r\n pdfGenerierenCommand: ICommandData = {\r\n id: \"pdfGenerierenCommand\",\r\n icon: \"far fa-file-pdf\",\r\n title: \"termin.einschaetzung-abschicken\",\r\n isVisibleExpression: \"!models.data.$m_TerminEmpfEinsch.IsFreigegeben\",\r\n sortIndex: 600,\r\n execute: async () => {\r\n if (!this.hasFelderFuerDruck()) {\r\n DevExpress.ui.notify(\r\n \"PDF-Dokument kann erst erzeugt werden, wenn alle Felder ausgefüllt sind\",\r\n \"error\",\r\n 3000\r\n );\r\n return;\r\n }\r\n\r\n const okResult = await this._dialogConfirmService.show({\r\n title: this._localizationService.translateOnce(\"base.question\"),\r\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!\"\r\n });\r\n\r\n if (!okResult) {\r\n return;\r\n }\r\n\r\n const r = await this.form.saveIfDirty();\r\n if (!r.isValid) {\r\n return;\r\n }\r\n\r\n await this._restService.post({\r\n url: this._restService.getApiUrl(\"ZIT/Termin/CreateEinschaetzungPdf\"),\r\n data: {\r\n IdTerminEmpfEinschaetzung: this.form.models.data.$m_TerminEmpfEinsch.Id\r\n },\r\n increaseLoadingCount: true\r\n });\r\n\r\n this.form.models.reloadAll();\r\n DevExpress.ui.notify(\"PDF wird in Kürze erstellt\", \"success\", 3000);\r\n }\r\n };\r\n pdfLoeschenCommand: ICommandData = {\r\n id: \"pdfGenerierenCommand\",\r\n icon: \"far fa-trash-alt\",\r\n title: \"termin.dokument-loeschen\",\r\n isVisibleExpression: \"models.data.$m_TerminEmpfEinsch.IsFreigegeben && functions.$f_TerminEmpfEinschaetzungEditUtils.hasBerechtEinschLoeschen\",\r\n sortIndex: 600,\r\n execute: async () => {\r\n const okResult = await this._dialogConfirmService.show({\r\n title: this._localizationService.translateOnce(\"base.question\"),\r\n message: \"Soll das Einschätzungsdokument wirklich gelöscht werden?\"\r\n });\r\n\r\n if (!okResult) {\r\n return;\r\n }\r\n\r\n const r = await this.form.saveIfDirty();\r\n if (!r.isValid) {\r\n return;\r\n }\r\n\r\n await this._restService.post({\r\n url: this._restService.getApiUrl(\"ZIT/Termin/DeleteEinschaetzungPdf\"),\r\n data: {\r\n IdTerminEmpfEinschaetzung: this.form.models.data.$m_TerminEmpfEinsch.Id\r\n },\r\n increaseLoadingCount: true\r\n });\r\n\r\n this.form.models.reloadAll();\r\n }\r\n };\r\n pdfAnzeigenCommand: ICommandData = {\r\n id: \"pdfAnzeigenCommand\",\r\n icon: \"far fa-file-pdf\",\r\n title: \"termin.einschaetzung-oeffnen\",\r\n isVisibleExpression: \"models.data.$m_TerminEmpfEinsch.IsFreigegeben && models.data.$m_TerminEmpfEinsch.DMSLinkPdf\",\r\n sortIndex: 600,\r\n execute: async () => {\r\n this._fileService.inline(this.form.models.data.$m_TerminEmpfEinsch.DMSLinkPdf);\r\n }\r\n };\r\n\r\n personSelectBoxOptions: DevExpress.ui.dxSelectBoxOptions = {\r\n valueExpr: \"Id\",\r\n displayExpr: \"Titel\",\r\n searchEnabled: true,\r\n searchExpr: \"Titel\",\r\n bindingOptions: {\r\n readOnly: \"models.data.$m_TerminEmpfEinsch.Id\",\r\n value: \"models.data.$m_TerminEmpfEinsch.IdTerminEmpfaengerElement\"\r\n },\r\n onValueChanged: () => {\r\n this._taskQueue.queueMicroTask(() => {\r\n this.onPersonValueChanged();\r\n });\r\n }\r\n };\r\n geschaeftspartnerSelectBoxOptions: DevExpress.ui.dxSelectBoxOptions = {\r\n valueExpr: \"IdGeschaeftspartner\",\r\n displayExpr: \"Name1\",\r\n searchEnabled: true,\r\n searchExpr: \"Name1\",\r\n bindingOptions: {\r\n readOnly: \"models.data.$m_TerminEmpfEinsch.Id\",\r\n value: \"models.data.$m_TerminEmpfEinsch.IdGeschaeftspartner\"\r\n },\r\n onValueChanged: () => {\r\n this._taskQueue.queueMicroTask(() => {\r\n this.onGeschaeftspartnerValueChanged();\r\n });\r\n }\r\n };\r\n ansprechpersonSelectBoxOptions: DevExpress.ui.dxSelectBoxOptions = {\r\n valueExpr: \"IdAnsprechperson\",\r\n displayExpr: \"Titel\",\r\n searchEnabled: true,\r\n searchExpr: \"Titel\",\r\n bindingOptions: {\r\n readOnly: \"models.data.$m_TerminEmpfEinsch.IsFreigegeben\",\r\n value: \"models.data.$m_TerminEmpfEinsch.IdAnsprechperson\"\r\n },\r\n }; \r\n\r\n requiredValidatorOptions = {\r\n validationRules: [{ type: \"required\", message: \"Pflichtfeld\" }]\r\n };\r\n\r\n bind(form: FormBase) {\r\n this.form = form;\r\n\r\n form.models.onLoaded.register(async (ev) => {\r\n if (ev.model.id == \"$m_TerminEmpfEinsch\") {\r\n if (ev.data) {\r\n if (!ev.data.IdTermin) {\r\n ev.data.IdTermin = form.variables.data.$v_idTermin;\r\n }\r\n }\r\n\r\n this.updatePersonDataSource();\r\n }\r\n });\r\n }\r\n\r\n private updatePersonDataSource() {\r\n const data = this.form.models.data.$m_TerminEmpfEinsch;\r\n\r\n let dataSource: any[] = data\r\n ? data._TerminEmpfList || []\r\n : [];\r\n\r\n if (dataSource.length > 0 && !data.Id) {\r\n dataSource = dataSource.filter(i => !i.HasEinschaetzung);\r\n }\r\n\r\n this.personSelectBoxOptions.dataSource = dataSource;\r\n\r\n const selectBox: IdxSelectBoxComponent = this.form[\"r_person\"];\r\n if (selectBox && selectBox.instance) {\r\n selectBox.setOption({\r\n dataSource: dataSource\r\n });\r\n }\r\n }\r\n private onPersonValueChanged() {\r\n const data = this.form.models.data.$m_TerminEmpfEinsch;\r\n\r\n let dataSource: any[] = data\r\n ? data._GeschaeftspartnerList || []\r\n : [];\r\n\r\n if (dataSource.length > 0) {\r\n if (data.IdTerminEmpfaengerElement) {\r\n const terminEmpf = (data._TerminEmpfList || []).find((i) => i.Id == data.IdTerminEmpfaengerElement);\r\n const idPerson = terminEmpf\r\n ? terminEmpf.IdPerson\r\n : -1;\r\n\r\n dataSource = dataSource.filter(i => i.IdPerson == idPerson);\r\n\r\n if (terminEmpf && !data.Id) {\r\n data.EinschStaerken = terminEmpf.EinschStaerken;\r\n data.EinschWeiterentw = terminEmpf.EinschWeiterentw;\r\n data.EinschDafuerMachen = terminEmpf.EinschDafuerMachen;\r\n data.VerhaltenTrainingSE = terminEmpf.VerhaltenTrainingSE;\r\n data.VerhaltenArbeitenSE = terminEmpf.VerhaltenArbeitenSE;\r\n data.VerhaltenUmgangKollegenSE = terminEmpf.VerhaltenUmgangKollegenSE;\r\n data.UmgangVerhaltensregelnSE = terminEmpf.UmgangVerhaltensregelnSE;\r\n }\r\n } else {\r\n dataSource = [];\r\n }\r\n }\r\n\r\n this.geschaeftspartnerSelectBoxOptions.dataSource = dataSource;\r\n\r\n const selectBox: IdxSelectBoxComponent = this.form[\"r_geschaeftspartner\"];\r\n if (selectBox && selectBox.instance) {\r\n selectBox.setOption({\r\n dataSource: dataSource\r\n });\r\n }\r\n\r\n if (data && !data.Id) {\r\n const newVal = dataSource.length == 1\r\n ? dataSource[0].IdGeschaeftspartner\r\n : null;\r\n\r\n if (newVal != data.IdGeschaeftspartner) {\r\n data.IdGeschaeftspartner = newVal;\r\n } else {\r\n this.onGeschaeftspartnerValueChanged();\r\n }\r\n }\r\n }\r\n private onGeschaeftspartnerValueChanged() {\r\n const data = this.form.models.data.$m_TerminEmpfEinsch || {};\r\n\r\n const terminEmpf = (data._TerminEmpfList || []).find((i) => i.Id == data.IdTerminEmpfaengerElement);\r\n const idPerson = terminEmpf\r\n ? terminEmpf.IdPerson\r\n : -1;\r\n\r\n let dataSource: any[] = data._AnsprechpersonList || [];\r\n\r\n dataSource = dataSource.filter((i) => {\r\n return i.IdPerson == idPerson\r\n && i.IdGeschaeftspartner == data.IdGeschaeftspartner;\r\n });\r\n\r\n this.geschaeftspartnerSelectBoxOptions.dataSource = dataSource;\r\n\r\n const selectBox: IdxSelectBoxComponent = this.form[\"r_ansprechperson\"];\r\n if (selectBox && selectBox.instance) {\r\n selectBox.setOption({\r\n dataSource: dataSource\r\n });\r\n }\r\n\r\n if (data && !data.Id) {\r\n if (dataSource.length == 1) {\r\n data.IdAnsprechperson = dataSource[0].IdAnsprechperson;\r\n } else if (data) {\r\n data.IdAnsprechperson = null;\r\n }\r\n }\r\n }\r\n\r\n private hasFelderFuerDruck() {\r\n const data = this.form.models.data.$m_TerminEmpfEinsch;\r\n\r\n const hasAll = !!data.VerhaltenTrainingSE\r\n && !!data.VerhaltenTrainingFE\r\n && !!data.VerhaltenTrainingB\r\n && !!data.VerhaltenTrainingM\r\n && !!data.VerhaltenArbeitenSE\r\n && !!data.VerhaltenArbeitenFE\r\n && !!data.VerhaltenArbeitenB\r\n && !!data.VerhaltenArbeitenM\r\n && !!data.VerhaltenUmgangKollegenSE\r\n && !!data.VerhaltenUmgangKollegenFE\r\n && !!data.VerhaltenUmgangKollegenB\r\n && !!data.VerhaltenUmgangKollegenM\r\n && !!data.UmgangVerhaltensregelnSE\r\n && !!data.UmgangVerhaltensregelnFE\r\n && !!data.UmgangVerhaltensregelnB\r\n && !!data.UmgangVerhaltensregelnM\r\n && !!data.GesamteintragAmLC\r\n && !!data.TippsFuerAusbildner\r\n && !!data.EinschStaerken\r\n && !!data.EinschWeiterentw\r\n && !!data.EinschDafuerMachen;\r\n\r\n return hasAll;\r\n }\r\n}\r\n","import {\r\n autoinject\r\n} from \"aurelia-framework\";\r\nimport {\r\n CustomEvent\r\n} from \"../../base/export\";\r\nimport {\r\n IFormAttachedEventArgs,\r\n IFormCreatedEventArgs,\r\n IFormBindEventArgs,\r\n IFormUnbindEventArgs,\r\n IFormReadyEventArgs,\r\n IFormReactivatedEventArgs,\r\n IFormDetachedEventArgs,\r\n IFormValidatingEventArgs,\r\n IFormExecuteCommandEventArgs,\r\n IFormSavedEventArgs,\r\n IFormSavingEventArgs,\r\n IFormDeletedEventArgs\r\n} from \"../event-args/export\";\r\nimport { IFormDeletingEventArgs } from '../event-args/form-deleting';\r\n\r\n@autoinject\r\nexport class FormEventService {\r\n constructor(\r\n public onCreated: CustomEvent,\r\n public onBind: CustomEvent,\r\n public onUnbind: CustomEvent,\r\n public onAttached: CustomEvent,\r\n public onReady: CustomEvent,\r\n public onReactivating: CustomEvent,\r\n public onDetached: CustomEvent,\r\n public onValidating: CustomEvent,\r\n public onSaving: CustomEvent,\r\n public onSaved: CustomEvent,\r\n public onDeleting: CustomEvent,\r\n public onDeleted: CustomEvent,\r\n public onExecuteCommand: CustomEvent\r\n ) {}\r\n}\r\n","import { RestService } from './../../../../framework/base/services/rest-service';\r\nimport { FormBase } from './../../../../framework/forms/classes/form-base';\r\nimport { autoinject, transient } from 'aurelia-framework';\r\nimport { StartupService } from '../../../services/startup-service';\r\nimport { BenutzerTyp } from '../../../enumerations/export';\r\n\r\n@autoinject\r\n@transient()\r\nexport class GeschaeftspartnerPackageEditUtils {\r\n constructor(\r\n private startupService: StartupService,\r\n private restService: RestService\r\n ) {\r\n const benutzertyp = startupService.startupInfo.Benutzer.Benutzertyp;\r\n\r\n this.canEditPackage = benutzertyp == BenutzerTyp.Administrator\r\n || benutzertyp == BenutzerTyp.InternerBenutzer;\r\n \r\n this.showLehrlingAnzahlProJahr = this.startupService.startupInfo.Mandant.IdMandant == 4;\r\n }\r\n\r\n form: FormBase;\r\n canEditPackage: boolean;\r\n anzahlStelleninserateUeberschreibenNichtZulaessig: boolean;\r\n showLehrlingAnzahlProJahr = false;\r\n\r\n bind(form: FormBase) {\r\n this.form = form;\r\n\r\n form.models.onLoaded.register((args) => {\r\n if (args.model.id == \"$m_GeschaeftspartnerPackage\" && args.data) {\r\n this.setCanEditAnzahlStelleninserate(args.data.IdPackage);\r\n }\r\n return Promise.resolve();\r\n });\r\n\r\n form.onEditorValueChanged.register((args) => {\r\n if (args.binding.dataContext == \"$m_GeschaeftspartnerPackage\"\r\n && args.binding.bindTo == \"IdPackage\") {\r\n this.setCanEditAnzahlStelleninserate(args.value);\r\n\r\n return Promise.resolve();\r\n }\r\n });\r\n }\r\n\r\n private setCanEditAnzahlStelleninserate(idPackage: number): void {\r\n if (!idPackage || idPackage == 0) {\r\n this.anzahlStelleninserateUeberschreibenNichtZulaessig = false;\r\n return;\r\n }\r\n\r\n this.restService.get({\r\n url: this.restService.getWebApiUrl(\"ZIT/Stammdaten/Package/\" + idPackage),\r\n getOptions: {\r\n columns: [\"AnzahlStelleninserateUeberschreibenNichtZulaessig\"]\r\n }\r\n }).then(r => {\r\n if (r) {\r\n this.anzahlStelleninserateUeberschreibenNichtZulaessig = r.AnzahlStelleninserateUeberschreibenNichtZulaessig;\r\n } else {\r\n this.anzahlStelleninserateUeberschreibenNichtZulaessig = false;\r\n }\r\n });\r\n }\r\n}\r\n","module.exports = \"
\";","import * as Interfaces from \"../interfaces/export\";\r\nimport {\r\n createOverrideContext,\r\n OverrideContext,\r\n Scope\r\n} from \"aurelia-framework\";\r\nimport {\r\n Subscription\r\n} from \"aurelia-event-aggregator\";\r\nimport {\r\n Models\r\n} from \"./models\";\r\nimport {\r\n Functions\r\n} from \"./functions\";\r\nimport {\r\n Commands\r\n} from \"./commands\";\r\nimport {\r\n Variables\r\n} from \"./variables\";\r\nimport {\r\n NestedForms\r\n} from \"./nested-forms\";\r\nimport {\r\n EditPopups\r\n} from \"./edit-popups\";\r\nimport {\r\n CommandServerData\r\n} from \"./command-server-data\";\r\nimport {\r\n ToolbarService\r\n} from \"../services/toolbar-service\";\r\nimport {\r\n CommandService\r\n} from \"../services/command-service\";\r\nimport {\r\n WidgetCreatorService\r\n} from \"../widget-services/widget-creator-service\";\r\nimport {\r\n BindingService,\r\n CustomEvent,\r\n ErrorService,\r\n GlobalizationService,\r\n LocalizationService,\r\n RestService,\r\n ScopeContainer\r\n} from \"../../base/export\";\r\nimport {\r\n IFormAttachedEventArgs,\r\n IFormActivateEventArgs,\r\n IFormReadyEventArgs,\r\n IFormReactivatedEventArgs,\r\n IFormDetachedEventArgs,\r\n IFormValidatingEventArgs,\r\n IFormBindEventArgs,\r\n IFormUnbindEventArgs,\r\n IEditorValueChangedEventArgs,\r\n IFormSavingEventArgs,\r\n IFormSavedEventArgs,\r\n IFormDeletedEventArgs\r\n} from \"../event-args/export\";\r\nimport {\r\n FormBaseImport\r\n} from \"./form-base-import\";\r\nimport {\r\n IValidationResult\r\n} from \"../interfaces/export\";\r\nimport {\r\n IViewScrollInfo\r\n} from \"../../base/interfaces/export\";\r\nimport * as Toolbar from \"../elements/toolbar/export\";\r\nimport * as DxLoader from \"../../dx/dx-loader\";\r\nimport { IFormDeletingEventArgs } from '../event-args/form-deleting';\r\n\r\nexport class FormBase {\r\n private _callOnBind: { (): void }[];\r\n private _callOnCommandsLoaded: { (): void }[];\r\n private _reloadEventAggregatorSubscription: Subscription;\r\n private _beforeUnloadEventAggregatorSubscription: Subscription;\r\n private _routerCurrentViewItemChangedSubscription: Subscription;\r\n\r\n constructor(\r\n public element: Element,\r\n private formBaseImport: FormBaseImport\r\n ) {\r\n this._callOnBind = [];\r\n this._callOnCommandsLoaded = [];\r\n\r\n this.isEditPopup = element.getAttribute(\"is-edit-popup\") === \"true\";\r\n this.isNestedForm = element.getAttribute(\"is-nested-form\") === \"true\";\r\n\r\n this.rest = formBaseImport.rest;\r\n this.widgetCreator = formBaseImport.widgetCreator;\r\n this.command = formBaseImport.command;\r\n this.toolbar = formBaseImport.toolbar;\r\n this.models = formBaseImport.models;\r\n this.variables = formBaseImport.variables;\r\n this.nestedForms = formBaseImport.nestedForms;\r\n this.editPopups = formBaseImport.editPopups;\r\n this.functions = formBaseImport.functions;\r\n this.commands = formBaseImport.commands;\r\n this.binding = formBaseImport.binding;\r\n this.globalization = formBaseImport.globalization;\r\n this.localization = formBaseImport.localization;\r\n this.commandServerData = formBaseImport.commandServerData;\r\n this.error = formBaseImport.error;\r\n\r\n this.onAttached = formBaseImport.onAttached;\r\n this.onDetached = formBaseImport.onDetached;\r\n this.onBind = formBaseImport.onBind;\r\n this.onUnbind = formBaseImport.onUnbind;\r\n this.onActivate = formBaseImport.onActivate;\r\n this.onReady = formBaseImport.onReady;\r\n this.onReactivated = formBaseImport.onReactivated;\r\n this.onValidating = formBaseImport.onValidating;\r\n this.onEditorValueChanged = formBaseImport.onEditorValueChanged;\r\n this.onSaving = formBaseImport.onSaving;\r\n this.onSaved = formBaseImport.onSaved;\r\n this.onDeleting = formBaseImport.onDeleting;\r\n this.onDeleted = formBaseImport.onDeleted;\r\n\r\n this.models.registerForm(this);\r\n this.variables.registerForm(this);\r\n this.functions.registerForm(this);\r\n this.commands.registerForm(this);\r\n this.nestedForms.registerForm(this);\r\n this.editPopups.registerForm(this);\r\n\r\n this.focusFirstEnabledEditor = this.focusFirstEnabledEditorEx;\r\n this.canGoBack = !this.isEditPopup\r\n && !this.isNestedForm\r\n && this.formBaseImport.router.viewStack.length > 1;\r\n\r\n this.isCurrentForm = !this.isEditPopup\r\n && !this.isNestedForm;\r\n }\r\n\r\n toolbarOptions: Toolbar.IToolbarOptions;\r\n id: string;\r\n moduleId: string;\r\n title: string;\r\n viewItemInfo: Interfaces.IViewItemModel;\r\n viewScrollInfo: IViewScrollInfo;\r\n viewUrl: string;\r\n\r\n isEditPopup: boolean;\r\n isNestedForm: boolean;\r\n\r\n rest: RestService;\r\n widgetCreator: WidgetCreatorService;\r\n command: CommandService;\r\n toolbar: ToolbarService;\r\n binding: BindingService;\r\n globalization: GlobalizationService;\r\n localization: LocalizationService;\r\n error: ErrorService;\r\n\r\n models: Models;\r\n variables: Variables;\r\n nestedForms: NestedForms;\r\n editPopups: EditPopups;\r\n functions: Functions;\r\n commands: Commands;\r\n commandServerData: CommandServerData;\r\n\r\n onAttached: CustomEvent;\r\n onDetached: CustomEvent;\r\n onActivate: CustomEvent;\r\n onBind: CustomEvent;\r\n onUnbind: CustomEvent;\r\n onReady: CustomEvent;\r\n onReactivated: CustomEvent;\r\n onValidating: CustomEvent;\r\n onEditorValueChanged: CustomEvent;\r\n onSaving: CustomEvent;\r\n onSaved: CustomEvent;\r\n onDeleting: CustomEvent;\r\n onDeleted: CustomEvent;\r\n\r\n scope: Scope;\r\n scopeContainer: ScopeContainer;\r\n\r\n owningView: any;\r\n parent: FormBase;\r\n\r\n canGoBack: boolean;\r\n focusFirstEnabledEditor: { (): void };\r\n isCurrentForm: boolean;\r\n\r\n isBound: boolean;\r\n\r\n callOnBind(callback: { (): void }) {\r\n if (this._callOnBind) {\r\n this._callOnBind.push(callback);\r\n } else {\r\n callback();\r\n }\r\n }\r\n callOnCommandsLoaded(callback: { (): void }) {\r\n if (this._callOnCommandsLoaded) {\r\n this._callOnCommandsLoaded.push(callback);\r\n } else {\r\n callback();\r\n }\r\n }\r\n\r\n async activate(viewItemInfo: Interfaces.IViewItemModel) {\r\n this.viewItemInfo = viewItemInfo;\r\n\r\n this.viewScrollInfo = viewItemInfo && viewItemInfo.viewScrollInfo\r\n ? viewItemInfo.viewScrollInfo\r\n : null;\r\n\r\n let parameters = null;\r\n if (viewItemInfo && viewItemInfo.routeInfo && viewItemInfo.routeInfo.parameters) {\r\n parameters = viewItemInfo.routeInfo.parameters;\r\n\r\n if (parameters.id) {\r\n this.variables.data.$id = viewItemInfo.routeInfo.parameters.id;\r\n }\r\n }\r\n\r\n return this.dispatchOnActivate(parameters);\r\n }\r\n created(owningView: any, myView: any) {\r\n this.owningView = owningView;\r\n\r\n if (myView\r\n && myView.resources\r\n && myView.resources.viewUrl) {\r\n this.viewUrl = myView.resources.viewUrl;\r\n this.moduleId = this.viewUrl\r\n ? this.viewUrl.substr(0, this.viewUrl.lastIndexOf(\".\"))\r\n : null;\r\n }\r\n }\r\n async bind(bindingContext: any, overrideContext: OverrideContext) {\r\n this.isBound = true;\r\n this.parent = this.owningView.bindingContext;\r\n\r\n this.scope = {\r\n bindingContext: this,\r\n overrideContext: createOverrideContext(this)\r\n };\r\n this.scopeContainer = new ScopeContainer(this.scope);\r\n\r\n this.registerHasChangedData();\r\n this.registerReloadEventAggregator();\r\n this.registerEditorValueChanged();\r\n this.registerRouterCurrentViewItemChanged();\r\n\r\n this.formBaseImport.eventAggregator.publish(\"form:bind\", {\r\n form: this\r\n });\r\n\r\n for (let i = 0; i < this._callOnBind.length; i++) {\r\n this._callOnBind[i]();\r\n }\r\n this._callOnBind = null;\r\n\r\n this.validateViewScrollInfo();\r\n\r\n await this.dispatchOnBind();\r\n\r\n this.loadCommands();\r\n\r\n for (let i = 0; i < this._callOnCommandsLoaded.length; i++) {\r\n this._callOnCommandsLoaded[i]();\r\n }\r\n this._callOnCommandsLoaded = null;\r\n\r\n this.toolbarOptions = this.toolbar.createFormToolbarOptions(this);\r\n\r\n return this.models.loadModelWithKeyId();\r\n }\r\n async attached() {\r\n await this.dispatchOnAttached();\r\n\r\n if (!this.isEditPopup) {\r\n await this.dispatchOnReady();\r\n }\r\n \r\n this.formBaseImport.taskQueue.queueTask(() => {\r\n this.formBaseImport.eventAggregator.publish(\"form:title-changed\", {\r\n form: this\r\n });\r\n });\r\n }\r\n async detached() {\r\n await this.dispatchOnDetached();\r\n }\r\n async unbind() {\r\n this.isBound = false;\r\n\r\n if (this._beforeUnloadEventAggregatorSubscription) {\r\n this._beforeUnloadEventAggregatorSubscription.dispose();\r\n this._beforeUnloadEventAggregatorSubscription = null;\r\n }\r\n if (this._reloadEventAggregatorSubscription) {\r\n this._reloadEventAggregatorSubscription.dispose();\r\n this._reloadEventAggregatorSubscription = null;\r\n }\r\n if (this._routerCurrentViewItemChangedSubscription) {\r\n this._routerCurrentViewItemChangedSubscription.dispose();\r\n this._routerCurrentViewItemChangedSubscription = null;\r\n }\r\n\r\n const args = {\r\n form: this\r\n };\r\n\r\n await this.dispatchOnUnbind();\r\n this.dispose();\r\n }\r\n handleChangedData(): Promise {\r\n if (this.models.hasChangedData()) {\r\n return new Promise((resolve, reject) => {\r\n this.formBaseImport.dialogConfirm.show({\r\n message: this.localization.translateOnce(\"forms.confirm_unchanged_data\"),\r\n title: this.localization.translateOnce(\"base.question\"),\r\n buttons: [{\r\n id: \"yes\",\r\n text: this.localization.translateOnce(\"base.yes\"),\r\n onClick: () => {\r\n if (!this.canSave()) {\r\n resolve(false);\r\n } else if (!this.canSaveNow()) {\r\n resolve(false);\r\n } else {\r\n this.save().then(r => {\r\n resolve(r.isValid);\r\n });\r\n }\r\n }\r\n }, {\r\n id: \"no\",\r\n text: this.localization.translateOnce(\"base.no\"),\r\n onClick: () => {\r\n resolve(true);\r\n }\r\n }, {\r\n id: \"cancel\",\r\n text: this.localization.translateOnce(\"base.cancel\"),\r\n onClick: () => {\r\n resolve(false);\r\n }\r\n }]\r\n });\r\n });\r\n } else {\r\n return Promise.resolve(true);\r\n }\r\n }\r\n async reactivate(): Promise {\r\n await this.reloadIfServerHasNewVersion();\r\n\r\n this.formBaseImport.eventAggregator.publish(\"form:title-changed\", {\r\n form: this\r\n });\r\n\r\n await this.dispatchOnReactivated();\r\n }\r\n\r\n getFileDownloadUrl(key: string): string {\r\n const url = this.binding.evaluate(this.scope, key);\r\n if (!url) {\r\n return \"\";\r\n }\r\n\r\n return this.formBaseImport.file.getDownloadUrl(url);\r\n }\r\n getFormsInclOwn(): FormBase[] {\r\n return [this, ...this.nestedForms.getNestedForms()];\r\n }\r\n\r\n executeCommand(id: string, options?: Toolbar.IItemExecuteOptions) {\r\n options = options || {\r\n event: null\r\n };\r\n\r\n if (id === \"$command\") {\r\n const commands = this.commands\r\n .getCommands()\r\n .filter(c =>\r\n this.formBaseImport.command.isVisibleAndEnabled(c));\r\n\r\n this.formBaseImport.formEvent.onExecuteCommand.fire({\r\n form: this,\r\n commands: commands,\r\n allowGlobalCommands: !this.isEditPopup\r\n });\r\n } else {\r\n const command = this.commands\r\n .getCommands()\r\n .find(i => i.id == id);\r\n\r\n if (!command) {\r\n return;\r\n }\r\n\r\n this.command.execute(this.scope, command, options);\r\n }\r\n }\r\n\r\n createValidationResult(): IValidationResult {\r\n return {\r\n isValid: true,\r\n messages: []\r\n };\r\n }\r\n async validate(validationResult: IValidationResult, showErrorIfInvalid: boolean = true): Promise {\r\n const args: IFormValidatingEventArgs = {\r\n form: this,\r\n validationResult: validationResult\r\n }\r\n\r\n await this.dispatchOnValidating(args);\r\n\r\n if (showErrorIfInvalid && validationResult.isValid == false) {\r\n DevExpress.ui.notify(\r\n validationResult.messages.length > 0\r\n ? validationResult.messages[0]\r\n : this.translate(\"base.validation_error\"),\r\n \"ERROR\",\r\n 3000);\r\n }\r\n\r\n return validationResult;\r\n }\r\n\r\n canAdd(): boolean {\r\n const mainModel = this.models.modelWithKeyId;\r\n if (!mainModel) {\r\n return false;\r\n }\r\n\r\n if (!this.formBaseImport.permission.canWebApiNew(mainModel.webApiAction, this.moduleId)) {\r\n return false;\r\n }\r\n\r\n if (!this.models.allowNew(this.scopeContainer, mainModel)) {\r\n return false;\r\n }\r\n\r\n return true;\r\n }\r\n async add(): Promise {\r\n if (!this.canAdd()) {\r\n return;\r\n }\r\n\r\n const hasHandled = await this.handleChangedData();\r\n if (!hasHandled) {\r\n return;\r\n }\r\n\r\n this.loadById(\"0\");\r\n\r\n this.formBaseImport.taskQueue.queueTask(() => {\r\n this.focusFirstEnabledEditorGuarded();\r\n });\r\n }\r\n\r\n canSave(): boolean {\r\n return this\r\n .getFormsInclOwn()\r\n .some(i => i.models.getModels().some(m => {\r\n if (!m.postOnSave) {\r\n return false;\r\n }\r\n if (!this.models.canSave(m)) {\r\n return false;\r\n }\r\n\r\n return true;\r\n }));\r\n }\r\n canSaveNow(): boolean {\r\n return this\r\n .getFormsInclOwn()\r\n .some(i => i.models.getModels().some(m => {\r\n if (!m.postOnSave) {\r\n return false;\r\n }\r\n if (!this.models.data[m.id] || this.models.data[m.id][m.keyProperty] === undefined) {\r\n return false;\r\n }\r\n if (!this.models.allowSave(this.scopeContainer, m)) {\r\n return false;\r\n }\r\n\r\n return true;\r\n }));\r\n }\r\n async reloadIfServerHasNewVersion(): Promise {\r\n const m = this.models.modelWithKeyId;\r\n if (!m\r\n || !m.optimisticLockingEnabled\r\n || !this.models.data[m.id]\r\n || !this.models.data[m.id][m.keyProperty]\r\n || this.models.data[m.id][\"OLV\"] == void (0)) {\r\n return false;\r\n }\r\n\r\n const r = await this.rest.get({\r\n url: `${this.rest.getWebApiUrl(m.webApiAction)}/${this.models.data[m.id][m.keyProperty]}`,\r\n getOptions: {\r\n columns: [\"OLV\"]\r\n },\r\n moduleId: this.moduleId\r\n });\r\n\r\n if (!r) {\r\n return false;\r\n }\r\n\r\n const olv = r[\"OLV\"];\r\n if (olv == this.models.data[m.id][\"OLV\"]) {\r\n return false;\r\n }\r\n\r\n await this.models.reloadAll();\r\n return true;\r\n }\r\n async saveIfDirty(): Promise {\r\n this.formBaseImport.windowService.blurCurrentElement();\r\n\r\n if (this.isNestedForm && this.parent instanceof FormBase) {\r\n const r = await this.parent.saveIfDirty();\r\n if (!r.isValid) {\r\n return r;\r\n }\r\n }\r\n\r\n if (!this.models.hasChangedData()) {\r\n const validationResult = this.createValidationResult();\r\n\r\n if (this.canSave() && this.canSaveNow()) {\r\n await this.validate(validationResult, true);\r\n }\r\n\r\n return validationResult;\r\n }\r\n\r\n return this.save();\r\n }\r\n async save(): Promise {\r\n this.formBaseImport.windowService.blurCurrentElement();\r\n const validationResult = this.createValidationResult();\r\n\r\n if (!this.canSave() || !this.canSaveNow()) {\r\n validationResult.isValid = false;\r\n return Promise.resolve(validationResult);\r\n }\r\n\r\n await this.validate(validationResult, true);\r\n\r\n if (validationResult.isValid) {\r\n try {\r\n await this.dispatchOnSaving();\r\n await this.models.save();\r\n\r\n DevExpress.ui.notify(\r\n this.translate(\"base.save_success\"),\r\n \"SUCCESS\",\r\n 3000);\r\n\r\n this.setCurrentUrl();\r\n this.dispatchOnSaved();\r\n } catch (ex) {\r\n validationResult.isValid = false;\r\n return validationResult;\r\n }\r\n }\r\n\r\n return validationResult;\r\n }\r\n\r\n canDeleteNow(): boolean {\r\n return this\r\n .getFormsInclOwn()\r\n .some(i => i.models.getModels().some(m => {\r\n if (!m.postOnSave) {\r\n return false;\r\n }\r\n if (!this.models.data[m.id] || !this.models.data[m.id][m.keyProperty]) {\r\n return false;\r\n }\r\n if (!this.models.allowDelete(this.scopeContainer, m)) {\r\n return false;\r\n }\r\n if (!this.models.canDelete(m)) {\r\n return false;\r\n }\r\n\r\n return true;\r\n }));\r\n }\r\n async delete(): Promise {\r\n if (!this.canSave() || !this.canDeleteNow()) {\r\n return false;\r\n }\r\n\r\n const deletingResult = await this.dispatchOnDeleting();\r\n if (!deletingResult) {\r\n return false;\r\n }\r\n\r\n await this.models.delete();\r\n await this.dispatchOnDeleted();\r\n \r\n return true;\r\n }\r\n\r\n translate(key: string): string {\r\n return this.localization.translateOnce(key, this.scopeContainer);\r\n }\r\n\r\n loadById(id: string): void {\r\n this.setCurrentUrl(id);\r\n\r\n if (this.variables.data.$id == id) {\r\n this.models\r\n .loadModelWithKeyId();\r\n }\r\n else {\r\n this.variables.data.$id = id;\r\n }\r\n }\r\n\r\n async dispatchOnCreated() {\r\n const args = {\r\n form: this\r\n };\r\n\r\n this.formBaseImport.formEvent.onCreated.fire(args);\r\n }\r\n async dispatchOnActivate(parameters: any) {\r\n await this.onActivate.fire({\r\n form: this,\r\n parameters: parameters\r\n });\r\n }\r\n async dispatchOnBind() {\r\n const args = {\r\n form: this\r\n };\r\n\r\n await this.onBind.fire(args);\r\n await this.formBaseImport.formEvent.onBind.fire(args);\r\n }\r\n async dispatchOnAttached() {\r\n const args = {\r\n form: this\r\n };\r\n\r\n await this.onAttached.fire(args);\r\n await this.formBaseImport.formEvent.onAttached.fire(args);\r\n }\r\n async dispatchOnReady() {\r\n const args = {\r\n form: this\r\n };\r\n\r\n this.formBaseImport.taskQueue.queueMicroTask(async () => {\r\n await this.onReady.fire(args);\r\n await this.formBaseImport.formEvent.onReady.fire(args);\r\n\r\n if (!this.isNestedForm) {\r\n this.focusFirstEnabledEditorGuarded();\r\n }\r\n });\r\n }\r\n async dispatchOnReactivated() {\r\n const args = {\r\n form: this\r\n };\r\n\r\n await this.onReactivated.fire(args);\r\n await this.formBaseImport.formEvent.onReactivating.fire(args);\r\n }\r\n async dispatchOnValidating(args: IFormValidatingEventArgs) {\r\n await this.onValidating.fire(args);\r\n await this.formBaseImport.formEvent.onValidating.fire(args);\r\n\r\n const forms = this.nestedForms.getNestedForms();\r\n\r\n for (let form of forms) {\r\n await form.validate(args.validationResult, false);\r\n }\r\n }\r\n async dispatchOnSaving() {\r\n const args = {\r\n form: this\r\n };\r\n\r\n await this.onSaving.fire(args);\r\n await this.formBaseImport.formEvent.onSaving.fire(args);\r\n }\r\n async dispatchOnSaved() {\r\n const args = {\r\n form: this\r\n };\r\n\r\n await this.onSaved.fire(args);\r\n await this.formBaseImport.formEvent.onSaved.fire(args);\r\n }\r\n async dispatchOnDeleting() {\r\n const args = {\r\n form: this,\r\n cancel: false\r\n };\r\n\r\n await this.onDeleting.fire(args);\r\n\r\n if (args.cancel) {\r\n return false;\r\n }\r\n\r\n await this.formBaseImport.formEvent.onDeleting.fire(args);\r\n\r\n if (args.cancel) {\r\n return false;\r\n }\r\n\r\n return true;\r\n }\r\n async dispatchOnDeleted() {\r\n const args = {\r\n form: this\r\n };\r\n\r\n await this.onDeleted.fire(args);\r\n await this.formBaseImport.formEvent.onDeleted.fire(args);\r\n }\r\n async dispatchOnDetached() { \r\n const args = {\r\n form: this\r\n };\r\n\r\n await this.onDetached.fire(args);\r\n await this.formBaseImport.formEvent.onDetached.fire(args);\r\n }\r\n async dispatchOnUnbind() {\r\n const args = {\r\n form: this\r\n };\r\n\r\n await this.onUnbind.fire(args);\r\n await this.formBaseImport.formEvent.onUnbind.fire(args);\r\n }\r\n\r\n focusFirstEnabledEditorGuarded() {\r\n if (this.formBaseImport.browser.isTouch) {\r\n return;\r\n }\r\n\r\n if (!this.focusFirstEnabledEditor) {\r\n return;\r\n }\r\n\r\n this.focusFirstEnabledEditor();\r\n }\r\n\r\n protected addModel(model: Interfaces.IModel): void {\r\n this.callOnBind(() => {\r\n this.models.addInfo(model);\r\n });\r\n }\r\n protected addVariable(variable: Interfaces.IVariable): void {\r\n this.callOnBind(() => {\r\n this.variables.addInfo(variable);\r\n });\r\n }\r\n protected addCommandServerData(id: string, commandServerData: Interfaces.ICommandData): void {\r\n this.callOnBind(() => {\r\n this.commandServerData.add(id, commandServerData);\r\n });\r\n }\r\n protected addCommand(command: Interfaces.ICommand): void {\r\n this.callOnBind(() => {\r\n this.commands.addInfo(command);\r\n });\r\n }\r\n protected addFunction(id: string, functionInstance: any, namespace: string, customParameter?: any): void {\r\n if (functionInstance.registerForm) {\r\n functionInstance.registerForm(this);\r\n }\r\n\r\n this.callOnBind(() => {\r\n this.functions.add(id, functionInstance, namespace, customParameter);\r\n });\r\n }\r\n protected addNestedForm(id: string, mappings: Interfaces.IMapping[]): void {\r\n this.callOnBind(() => {\r\n this.nestedForms.addInfo(id, mappings);\r\n });\r\n }\r\n protected addEditPopup(editPopup: Interfaces.IEditPopup): void {\r\n this.callOnBind(() => {\r\n this.editPopups.addInfo(editPopup);\r\n });\r\n }\r\n protected addMapping(mapping: Interfaces.IMapping): void {\r\n }\r\n protected submitForm(commandExpression: string, options?: Toolbar.IItemExecuteOptions): void {\r\n const command: Interfaces.ICommandData = this.binding.evaluate(this.scope, commandExpression);\r\n if (!command || !command.execute) {\r\n return;\r\n }\r\n\r\n this.command.execute(this.scope, command, options);\r\n }\r\n protected onConstructionFinished(): void {\r\n this.dispatchOnCreated();\r\n }\r\n\r\n private loadCommands() {\r\n if (!this.isNestedForm) {\r\n this.commands.addCommand(this.formBaseImport.defaultCommands.getFormGoBackCommand(this));\r\n\r\n if (this.isEditPopup) {\r\n this.commands.addCommand(this.formBaseImport.defaultCommands.getFormAddCommand(this));\r\n this.commands.addCommand(this.formBaseImport.defaultCommands.getFormSaveCommand(this));\r\n this.commands.addCommand(this.formBaseImport.defaultCommands.getEditPopupSaveAndCloseCommand(this));\r\n this.commands.addCommand(this.formBaseImport.defaultCommands.getEditPopupSaveAndAddCommand(this));\r\n this.commands.addCommand(this.formBaseImport.defaultCommands.getEditPopupDeleteCommand(this));\r\n\r\n this.commands.addCommand(this.formBaseImport.defaultCommands.getScrollDown(this));\r\n this.commands.addCommand(this.formBaseImport.defaultCommands.getScrollUp(this));\r\n } else {\r\n this.commands.addCommand(this.formBaseImport.defaultCommands.getFormAddCommand(this));\r\n this.commands.addCommand(this.formBaseImport.defaultCommands.getFormSaveCommand(this));\r\n this.commands.addCommand(this.formBaseImport.defaultCommands.getFormDeleteCommand(this));\r\n\r\n if (this.viewScrollInfo) {\r\n this.commands.addCommand(this.formBaseImport.defaultCommands.getScrollDown(this));\r\n this.commands.addCommand(this.formBaseImport.defaultCommands.getScrollUp(this));\r\n }\r\n }\r\n }\r\n\r\n if (this.isEditPopup) {\r\n this.commands.addCommand(this.formBaseImport.defaultCommands.getClosePopupCommand());\r\n }\r\n }\r\n private setCurrentUrl(id: string = null): void {\r\n if (this.isEditPopup || this.isNestedForm) {\r\n return;\r\n }\r\n\r\n if (id == void (0)) {\r\n const mainModel = this.models.modelWithKeyId;\r\n if (!mainModel) {\r\n return;\r\n }\r\n\r\n const data = this.models.data[mainModel.id];\r\n if (!data) {\r\n return;\r\n }\r\n\r\n const key = data[mainModel.keyProperty];\r\n if (key == void (0)) {\r\n return;\r\n }\r\n\r\n id = key;\r\n }\r\n\r\n const currentUrl = this.formBaseImport.history.getUrl();\r\n const currentRoute = this.formBaseImport.router.getRoute(currentUrl);\r\n\r\n if (!currentRoute) {\r\n return;\r\n }\r\n\r\n const newUrl = this.formBaseImport.router.constructUrl(currentRoute.route, {\r\n id: id\r\n });\r\n\r\n this.formBaseImport.history.setUrlWithoutNavigation(newUrl, true);\r\n }\r\n private focusFirstEnabledEditorEx() {\r\n const elements = Array.from(this.element.querySelectorAll(\".dx-texteditor\"));\r\n\r\n for (let element of elements) {\r\n let cancelCurrent = false;\r\n let parent = element.parentElement;\r\n while (parent && parent != this.element) {\r\n if (parent.classList.contains(\"dx-popup\")) {\r\n cancelCurrent = true;\r\n break;\r\n }\r\n parent = parent.parentElement;\r\n }\r\n\r\n if (cancelCurrent) {\r\n continue;\r\n }\r\n\r\n const name = element.parentElement.getAttribute(\"name\");\r\n if (!name) {\r\n continue;\r\n }\r\n\r\n const instance = DxLoader.getInstance(name, element);\r\n if (!instance || !instance.focus) {\r\n continue;\r\n }\r\n\r\n const tabIndex = instance.option(\"tabIndex\");\r\n const isDisabled = instance.option(\"disabled\");\r\n\r\n if ((tabIndex && tabIndex < 0) || isDisabled) {\r\n continue;\r\n }\r\n\r\n instance.focus();\r\n return;\r\n }\r\n }\r\n\r\n private registerHasChangedData() {\r\n this._beforeUnloadEventAggregatorSubscription = this.formBaseImport.eventAggregator.subscribe(\"window:beforeunload\", e => {\r\n e.hasChangedData = e.hasChangedData || this.models.hasChangedData();\r\n });\r\n }\r\n private registerReloadEventAggregator() {\r\n this._reloadEventAggregatorSubscription = this.formBaseImport.eventAggregator.subscribe(\r\n \"data:reload\",\r\n (data) => {\r\n if (!data) {\r\n return;\r\n }\r\n\r\n const id = data.Id;\r\n const action = data.Action;\r\n\r\n if (!id || !action) {\r\n return;\r\n }\r\n\r\n const modelWithKeyId = this.models.modelWithKeyId;\r\n\r\n //Wenn ein Model mit Key-ID existiert, dann wird nur spezifisch darauf geprüft\r\n if (modelWithKeyId) {\r\n if (!modelWithKeyId || modelWithKeyId.webApiAction != action) {\r\n return;\r\n }\r\n\r\n const modelData = this.models.data[modelWithKeyId.id];\r\n if (modelData == null || modelData[modelWithKeyId.keyProperty] != id) {\r\n return;\r\n }\r\n\r\n this.models.reloadAll();\r\n } else {\r\n this.models\r\n .getModels()\r\n .filter(model => !model.key && model.webApiAction == action)\r\n .forEach(model => this.models.onLoadRequired.fire({\r\n model: model\r\n }));\r\n }\r\n }\r\n );\r\n }\r\n private registerEditorValueChanged() {\r\n this.onEditorValueChanged.register((e) => {\r\n if (!e.binding || !e.binding.dataContext) {\r\n return Promise.resolve();\r\n }\r\n\r\n const model = this.models.getInfo(e.binding.dataContext, false);\r\n if (model) {\r\n this.models.setDataChanged(model);\r\n }\r\n\r\n return Promise.resolve();\r\n });\r\n }\r\n private registerRouterCurrentViewItemChanged() {\r\n if (this.isEditPopup || this.isNestedForm) {\r\n return;\r\n }\r\n\r\n this._routerCurrentViewItemChangedSubscription = this.formBaseImport.eventAggregator.subscribe(\"router:current-view-item-changed\", e => {\r\n this.canGoBack = e.currentViewItem.model == this.viewItemInfo\r\n && this.formBaseImport.router.viewStack.length > 1;\r\n\r\n this.isCurrentForm = e.currentViewItem.model == this.viewItemInfo;\r\n });\r\n }\r\n private validateViewScrollInfo() {\r\n if (!this.viewScrollInfo) {\r\n return;\r\n }\r\n if (this.viewScrollInfo.resultKeyResolver) {\r\n return;\r\n }\r\n if (this.viewScrollInfo.getNextKey) {\r\n return;\r\n }\r\n\r\n const model = this.models.modelWithKeyId;\r\n const isSameUrl = model\r\n && model.webApiAction\r\n && this.rest.getWebApiUrl(model.webApiAction) == this.viewScrollInfo.lastLoadInfo.url\r\n\r\n if (!isSameUrl) {\r\n this.viewScrollInfo = null;\r\n }\r\n }\r\n\r\n private dispose() {\r\n this.scopeContainer.disposeAll();\r\n this.scope = null;\r\n\r\n this.formBaseImport.dispose();\r\n }\r\n}\r\n","import { autoinject } from \"aurelia-framework\";\r\nimport { EventAggregator } from 'aurelia-event-aggregator';\r\n\r\n@autoinject\r\nexport class WidgetExtenderService {\r\n constructor(\r\n private eventAggregator: EventAggregator\r\n ) {\r\n eventAggregator.subscribe(\"dx-widget:attaching\", e => {\r\n if (e.name == \"dxRadioGroup\") {\r\n if (e.options.layout == void(0)) {\r\n e.options.layout = \"horizontal\";\r\n }\r\n } else if (e.name == \"dxDataGrid\") {\r\n if (!e.options.paging || !e.options.paging.pageSize) {\r\n e.options.paging = e.options.paging || {};\r\n e.options.paging.pageSize = 30;\r\n }\r\n if (!e.options.pager || e.options.pager.showInfo == void(0)) {\r\n e.options.pager = e.options.pager || {};\r\n e.options.pager.showInfo = true;\r\n e.options.pager.visible = true;\r\n }\r\n } else if (e.name == \"dxLookup\") {\r\n if (e.options.fieldTemplate === \"zit-landvorwahl-bezeichnung-field-template\") {\r\n e.options.fieldTemplate = \"zit-landvorwahl-bezeichnung-lookup-field-template\"\r\n }\r\n } else if (e.name == \"dxDateBox\") {\r\n if (e.options.width == void(0)) {\r\n e.options.width = \"100%\";\r\n }\r\n }\r\n });\r\n }\r\n}\r\n","import {\r\n autoinject\r\n} from \"aurelia-framework\";\r\nimport { RestService } from './rest-service';\r\nimport { EventAggregator } from 'aurelia-event-aggregator';\r\n\r\n@autoinject\r\nexport class PermissionService {\r\n private _permissionInfo: any = {};\r\n\r\n constructor(\r\n private restService: RestService,\r\n private eventAggregator: EventAggregator\r\n ) {}\r\n\r\n allowAllPermission: boolean = false;\r\n\r\n async loadPermissions() {\r\n const result = await this.restService.get({\r\n url: this.restService.getApiUrl(\"base/Data/Permission\")\r\n });\r\n\r\n const permissionInfo = {};\r\n for (let item of result) {\r\n permissionInfo[item.WebApiAction] = item;\r\n }\r\n\r\n this._permissionInfo = permissionInfo;\r\n }\r\n\r\n canWebApiNew(webApiAction: string, moduleId?: string): boolean {\r\n return this.canWebApi(webApiAction, \"CanNew\", moduleId);\r\n }\r\n canWebApiModify(webApiAction: string, moduleId?: string): boolean {\r\n return this.canWebApi(webApiAction, \"CanModify\", moduleId);\r\n }\r\n canWebApiDelete(webApiAction: string, moduleId?: string): boolean {\r\n return this.canWebApi(webApiAction, \"CanDelete\", moduleId);\r\n }\r\n\r\n private canWebApi(webApiAction: string, property: string, moduleId?: string): boolean {\r\n if (this.allowAllPermission) {\r\n return true;\r\n }\r\n\r\n const args = {\r\n webApiAction,\r\n property,\r\n moduleId,\r\n hasAccess: null\r\n }\r\n\r\n this.eventAggregator.publish(\"permission:has-access\", args);\r\n\r\n if (args.hasAccess != void(0)) {\r\n return args.hasAccess;\r\n }\r\n\r\n if (!this._permissionInfo[webApiAction]) {\r\n return false;\r\n }\r\n\r\n return this._permissionInfo[webApiAction][property];\r\n }\r\n}\r\n","module.exports = \"
${data.Key}
\";","export * from \"./file-uploader-with-viewer/tip-file-uploader-with-viewer\";\r\nexport * from \"./list-view/list-view\";\r\nexport * from \"./toolbar/toolbar\";\r\nexport * from \"./code-editor/code-editor\";\r\nexport * from \"./custom-edit-popup/custom-edit-popup\";\r\n","import {\r\n autoinject\r\n} from \"aurelia-framework\";\r\nimport {\r\n DxTemplateService\r\n} from \"../../framework/dx/export\";\r\n\r\nimport * as landvorwahlBezeichnung from \"html-loader!../templates/landvorwahl-bezeichnung.xhtml\";\r\nimport * as landvorwahlBezeichnungField from \"html-loader!../templates/landvorwahl-bezeichnung-field.xhtml\";\r\nimport * as landvorwahlBezeichnungLookupField from \"html-loader!../templates/landvorwahl-bezeichnung-lookup-field.xhtml\";\r\nimport * as geschaeftspartner from \"html-loader!../templates/geschaeftspartner.xhtml\";\r\nimport * as ansprechperson from \"html-loader!../templates/ansprechperson.xhtml\";\r\nimport * as dispoPlanstelle from \"html-loader!../templates/dispo-planstelle.xhtml\";\r\nimport * as person from \"html-loader!../templates/person.xhtml\";\r\nimport * as profilFirma from \"html-loader!../templates/profil-firma.xhtml\";\r\nimport * as stelleninserat from \"html-loader!../templates/stelleninserat.xhtml\";\r\n\r\n@autoinject\r\nexport class TemplateRegisterService {\r\n constructor(\r\n private dxTemplate: DxTemplateService\r\n ) { }\r\n\r\n register() {\r\n this.dxTemplate.registerTemplate(\r\n \"zit-landvorwahl-bezeichnung-template\",\r\n landvorwahlBezeichnung);\r\n\r\n this.dxTemplate.registerTemplate(\r\n \"zit-landvorwahl-bezeichnung-field-template\",\r\n landvorwahlBezeichnungField);\r\n\r\n this.dxTemplate.registerTemplate(\r\n \"zit-landvorwahl-bezeichnung-lookup-field-template\",\r\n landvorwahlBezeichnungLookupField);\r\n\r\n this.dxTemplate.registerTemplate(\r\n \"zit-geschaeftspartner-template\",\r\n geschaeftspartner);\r\n\r\n this.dxTemplate.registerTemplate(\r\n \"zit-ansprechperson-template\",\r\n ansprechperson);\r\n\r\n this.dxTemplate.registerTemplate(\r\n \"zit-dispoplanstelle-template\",\r\n dispoPlanstelle);\r\n\r\n this.dxTemplate.registerTemplate(\r\n \"zit-person-template\",\r\n person);\r\n\r\n this.dxTemplate.registerTemplate(\r\n \"zit-profilfirma-template\",\r\n profilFirma);\r\n\r\n this.dxTemplate.registerTemplate(\r\n \"zit-stelleninserat-template\",\r\n stelleninserat);\r\n }\r\n}\r\n","import { autoinject, transient, computedFrom } from 'aurelia-framework';\r\nimport { Share } from '../../../elements/share/share';\r\nimport { FormBase } from '../../../../framework/forms/form-export';\r\nimport { ICommandData } from '../../../../framework/forms/export';\r\n\r\n@autoinject\r\n@transient()\r\nexport class AnsprechpersonReadUtils {\r\n constructor(\r\n ) { }\r\n\r\n form: FormBase;\r\n\r\n actionCommand: ICommandData = {\r\n id: \"actionCommand\",\r\n icon: \"fas fa-share-alt\",\r\n tooltip: \"zit.aktionen\",\r\n sortIndex: 99,\r\n isVisibleExpression: \"r_share.canShare\",\r\n execute: (executeOptions) => {\r\n const share: Share = this.form[\"r_share\"];\r\n share.showCtxMenu(executeOptions.event);\r\n }\r\n };\r\n\r\n bind(form: FormBase) {\r\n this.form = form;\r\n }\r\n}\r\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 {\r\n Dornbirn = 0,\r\n Bludenz = 1,\r\n Schaanwald = 2\r\n}\r\n","module.exports = \"
\";","import * as moment from \"moment\";\r\nimport {\r\n autoinject\r\n} from \"aurelia-framework\";\r\n\r\ndeclare const DevExpress: any;\r\n\r\n@autoinject\r\nexport class GlobalizationService {\r\n private groupRegex = /\\B(?=(\\d{3})+(?!\\d))/g;\r\n private escapeRegex = /[\\-\\[\\]\\/\\{\\}\\(\\)\\*\\+\\?\\.\\\\\\^\\$\\|]/g;\r\n private current: IGlobalizationProvider;\r\n private formatters = {};\r\n private parsers = {};\r\n\r\n constructor() {\r\n this.setProvider(new GermanGlobalizationProvider());\r\n }\r\n\r\n setProvider(provider: IGlobalizationProvider) {\r\n this.current = provider;\r\n this.formatters = {};\r\n this.parsers = {};\r\n\r\n const devExpress = this.getDevExpress();\r\n if (devExpress) {\r\n devExpress.integration.date.inject({\r\n getMonthNames: (format) => {\r\n if (format == \"abbreviated\") {\r\n return provider.monthsShort;\r\n } else {\r\n return provider.months;\r\n }\r\n },\r\n getDayNames: (format) => {\r\n if (format == \"abbreviated\") {\r\n return provider.daysShort;\r\n } else {\r\n return provider.days;\r\n }\r\n }\r\n })\r\n }\r\n }\r\n\r\n format(value: any, format: string) {\r\n return this.getFormatter(format)(value);\r\n }\r\n getFormatter(format: string) {\r\n let formatter = this.formatters[format];\r\n\r\n if (formatter == void (0)) {\r\n formatter = (value: any) => {\r\n if (value == void (0)) {\r\n return null;\r\n }\r\n\r\n if (format.length === 1 || format.startsWith(\"DT_\")) {\r\n const momentFormat = format.startsWith(\"DT_\")\r\n ? format.substr(3)\r\n : this.current[format];\r\n\r\n return moment(value).locale(this.current.culture).format(momentFormat);\r\n } else {\r\n const count = parseInt(format.substr(1)) || 0;\r\n const formatClass = format.substr(0, 1);\r\n\r\n if (formatClass === \"p\") {\r\n value = value * 100;\r\n }\r\n\r\n const prefix = value < 0 \r\n ? \"-\" \r\n : \"\";\r\n\r\n const valueInt = parseInt(value = Math.abs(Number(value) || 0).toFixed(count));\r\n const valueIntAsString = String(valueInt);\r\n \r\n let groupRest;\r\n groupRest = (groupRest = valueIntAsString.length) > 3 ? groupRest % 3 : 0;\r\n\r\n return prefix \r\n + (groupRest ? valueIntAsString.substr(0, groupRest) + this.current.groupSeparator : \"\") \r\n + valueIntAsString.substr(groupRest).replace(/(\\d{3})(?=\\d)/g, \"$1\" + this.current.groupSeparator)\r\n + (count ? this.current.commaSeparator + Math.abs(value - valueInt).toFixed(count).slice(2) : \"\")\r\n + (formatClass === \"p\" ? \" %\" : \"\");\r\n }\r\n };\r\n\r\n this.formatters[format] = formatter;\r\n }\r\n\r\n return formatter;\r\n }\r\n getParser(format: string) {\r\n let parser = this.parsers[format];\r\n\r\n if (parser == void (0)) {\r\n parser = (value: string) => {\r\n if (value == void (0)) {\r\n return null;\r\n }\r\n\r\n if (format.length === 1 || format.startsWith(\"DT_\")) {\r\n const momentFormat = format.startsWith(\"DT_\")\r\n ? format.substr(3)\r\n : this.current[format];\r\n\r\n let result: moment.Moment = null;\r\n\r\n if (value === \" \") {\r\n result = moment().startOf(\"day\");\r\n } else if (value.startsWith(\"+\") || value.startsWith(\"-\")) {\r\n const numberAsStr = value.substr(1);\r\n const numb = parseInt(numberAsStr);\r\n if (isNaN(numb)) {\r\n return null;\r\n }\r\n\r\n const isSubstract = value.startsWith(\"-\");\r\n if (isSubstract) {\r\n result = moment().startOf(\"day\").subtract(numb, \"days\");\r\n } else {\r\n result = moment().startOf(\"day\").add(numb, \"days\");\r\n }\r\n } else {\r\n result = moment(value, momentFormat);\r\n }\r\n\r\n if (result.isValid()) {\r\n return result.toDate();\r\n } else {\r\n return null;\r\n }\r\n } else {\r\n const groupFinder = this.current.groupSeparator.replace(this.escapeRegex, \"\\\\$&\");\r\n value = value\r\n .replace(new RegExp(groupFinder, \"g\"), \"\")\r\n .replace(new RegExp(\"%\", \"g\"), \"\")\r\n .replace(new RegExp(\" \", \"g\"), \"\");\r\n\r\n const indexOf = value.indexOf(this.current.commaSeparator);\r\n\r\n let b = value;\r\n let a = \"\";\r\n if (indexOf >= 0) {\r\n b = value.substr(0, indexOf);\r\n a = value.substr(indexOf + 1);\r\n }\r\n\r\n const count = parseInt(format.substr(1));\r\n const formatClass = format.substr(0, 1);\r\n\r\n switch (formatClass) {\r\n case \"f\":\r\n case \"n\": {\r\n return parseInt(b) + this.makeComma(a);\r\n }\r\n case \"p\": {\r\n return (parseInt(b) + this.makeComma(a)) / 100;\r\n }\r\n default: {\r\n throw new Error(`Not implemented format ${format}`);\r\n }\r\n }\r\n }\r\n };\r\n\r\n this.parsers[format] = parser;\r\n }\r\n\r\n return parser;\r\n }\r\n getFormatterParser(format: string): any {\r\n return {\r\n formatter: this.getFormatter(format),\r\n parser: this.getParser(format)\r\n };\r\n }\r\n getNumberFormat(format: string): string {\r\n if (format.length < 2) {\r\n throw new Error(`Invalid number format ${format}`);\r\n }\r\n\r\n const f = format.substr(0, 1);\r\n const n = parseInt(format.substr(1));\r\n\r\n let nk = \"\";\r\n if (n > 0) {\r\n nk = \".\" + \"0\".repeat(n);\r\n }\r\n\r\n switch (f) {\r\n case \"f\":\r\n case \"F\": {\r\n return `#0${nk}`;\r\n }\r\n case \"n\":\r\n case \"N\": {\r\n return `#,##0${nk}`;\r\n }\r\n case \"p\":\r\n case \"P\": {\r\n return `#,##0${nk} %`;\r\n }\r\n default: {\r\n throw new Error(`Invalid number format ${format}`);\r\n }\r\n }\r\n }\r\n\r\n private getDevExpress(): any {\r\n const w: any = window;\r\n return w.DevExpress;\r\n }\r\n private makeComma(value: string) {\r\n return parseInt(value) / Math.pow(10, value.length);\r\n }\r\n}\r\n\r\nexport interface IGlobalizationProvider {\r\n culture: string;\r\n\r\n d: string;\r\n D: string;\r\n e: string;\r\n E: string;\r\n f: string;\r\n F: string;\r\n g: string;\r\n G: string;\r\n t: string;\r\n T: string;\r\n\r\n commaSeparator: string;\r\n groupSeparator: string;\r\n\r\n months: string[];\r\n monthsShort: string[];\r\n days: string[];\r\n daysShort: string[];\r\n}\r\n\r\nexport class GermanGlobalizationProvider implements IGlobalizationProvider {\r\n culture = \"de\";\r\n\r\n d = \"DD.MM.YYYY\";\r\n D = \"dddd, DD. MMM YYYY\";\r\n e = \"dd., DD.MM.YYYY\";\r\n E = \"dd., DD.MM.YYYY HH:mm\";\r\n f = \"dddd, DD. MMM YYYY, HH:mm\";\r\n F = \"dddd, DD. MMM yyyy, HH:mm:ss\";\r\n g = \"DD.MM.YYYY HH:mm\";\r\n G = \"DD.MM.YYYY HH:mm:ss\";\r\n t = \"HH:mm\";\r\n T = \"HH:mm:ss\";\r\n\r\n commaSeparator = \",\";\r\n groupSeparator = \".\";\r\n\r\n months = [\"Januar\", \"Februar\", \"März\", \"April\", \"Mai\", \"Juni\", \"Juli\", \"August\", \"September\", \"Oktober\", \"November\", \"Dezember\"];\r\n monthsShort = [\"Jan.\", \"Feb.\", \"März\", \"Apr.\", \"Mai\", \"Juni\", \"Juli\", \"Aug.\", \"Sep.\", \"Okt.\", \"Nov.\", \"Dez.\"];\r\n days = [\"Sonntag\", \"Montag\", \"Dienstag\", \"Mittwoch\", \"Donnerstag\", \"Freitag\", \"Samstag\"];\r\n daysShort = [\"SO\", \"MO\", \"DI\", \"MI\", \"DO\", \"FR\", \"SA\"]\r\n}\r\n","import {\r\n autoinject,\r\n computedFrom\r\n} from \"aurelia-framework\";\r\nimport {\r\n RestService\r\n} from \"../../base/export\";\r\n\r\n@autoinject\r\nexport class LoadingService {\r\n constructor(\r\n private rest: RestService\r\n ) { }\r\n\r\n loadingCount: number = 0;\r\n\r\n @computedFrom(\"loadingCount\", \"rest.isLoading\")\r\n get isLoading() {\r\n return this.loadingCount > 0\r\n || this.rest.isLoading;\r\n }\r\n\r\n beginLoading() {\r\n this.loadingCount++;\r\n }\r\n endLoading() {\r\n if (this.loadingCount === 0) {\r\n return;\r\n }\r\n\r\n this.loadingCount--;\r\n }\r\n}","import { BerechtigungService } from \"./../../services/berechtigung-service\";\r\nimport { StartupService } from \"./../../services/startup-service\";\r\nimport { autoinject, transient } from \"aurelia-framework\";\r\nimport { SucheViewTyp } from \"../../enumerations/export\";\r\nimport { SucheService } from \"../../services/suche-service\";\r\nimport { LocationService } from \"./../../../framework/base/services/location-service\";\r\nimport { FormBase } from \"./../../../framework/forms/classes/form-base\";\r\nimport { ICommandData } from \"./../../../framework/forms/interfaces/command-data\";\r\n\r\n@autoinject\r\n@transient()\r\nexport class EntwicklungszieleListUtils {\r\n\r\n constructor(\r\n private _sucheService: SucheService,\r\n private _locationService: LocationService,\r\n private _berechtigungService: BerechtigungService\r\n ) { }\r\n\r\n form: FormBase;\r\n\r\n activateTableView: ICommandData = {\r\n icon: \"fas fa-table\",\r\n id: \"sucheTableViewCommand\",\r\n tooltip: \"suche-form.show-table-view\",\r\n sortIndex: 1401,\r\n execute: (event: any) => {\r\n this._sucheService.activateSuche(\r\n \"TIP.ZIT.Business.Entities.Objekte.Ziele.Ziel\",\r\n SucheViewTyp.table\r\n );\r\n }\r\n };\r\n zielErstellen: ICommandData = {\r\n icon: \"fas fa-plus\",\r\n id: \"zielErstellenCommand\",\r\n tooltip: \"base.add\",\r\n sortIndex: 1100,\r\n isVisible: this._berechtigungService.hasBerechtigungNew(\"TIP.ZIT.Business.Entities.Objekte.Ziele.Ziel\"),\r\n execute: (event: any) => {\r\n this._locationService.goTo({\r\n url: \"#Objekte/Ziel/0\",\r\n currentViewModel: this.form \r\n });\r\n }\r\n };\r\n\r\n bind(form: FormBase) {\r\n this.form = form;\r\n }\r\n}\r\n","import {\r\n autoinject,\r\n createOverrideContext,\r\n Scope,\r\n TemplatingEngine,\r\n newInstance,\r\n View\r\n} from \"aurelia-framework\";\r\nimport * as DxLoader from \"../dx-loader\";\r\n\r\n@autoinject\r\nexport class DxTemplateService {\r\n private templates = {};\r\n\r\n constructor(\r\n private templatingEngine: TemplatingEngine\r\n ) { }\r\n\r\n registerTemplate(key: string, template: string) {\r\n this.templates[key] = template;\r\n }\r\n\r\n getTemplates(scope: Scope, resources: any): any {\r\n const result = {};\r\n\r\n for (let templateKey in this.templates) {\r\n result[templateKey] = {\r\n render: (renderData) => {\r\n return this.render(\r\n this.templates[templateKey],\r\n renderData.container,\r\n resources,\r\n scope,\r\n renderData.model,\r\n templateKey\r\n ).element;\r\n }\r\n };\r\n }\r\n\r\n return result;\r\n }\r\n\r\n render(template: string | Element, container: Element, resources: any, scope: Scope, model?: any, templateKey?: string): IDxWidgetRenderInfo {\r\n let newElement: Element;\r\n\r\n if (typeof template === \"string\") {\r\n newElement = document.createElement(\"div\");\r\n newElement.innerHTML = template;\r\n } else {\r\n newElement = template.cloneNode(true)\r\n }\r\n\r\n container.appendChild(newElement);\r\n\r\n let itemBindingContext: any;\r\n let itemOverrideContext: any;\r\n\r\n //per Konvention muss ein Field-Template mit \"-field-template\" enden\r\n const isFieldTemplate = (templateKey || \"\").endsWith(\"-field-template\");\r\n\r\n if (model || isFieldTemplate) {\r\n itemBindingContext = {\r\n data: model\r\n };\r\n\r\n itemOverrideContext = createOverrideContext(scope.bindingContext, scope.overrideContext);\r\n } else {\r\n itemBindingContext = scope.bindingContext;\r\n itemOverrideContext = scope.overrideContext;\r\n }\r\n\r\n const view = this.templatingEngine.enhance({\r\n element: newElement,\r\n bindingContext: itemBindingContext,\r\n overrideContext: itemOverrideContext,\r\n resources: resources\r\n });\r\n\r\n if (isFieldTemplate) {\r\n this.extendFieldTemplate(newElement);\r\n }\r\n\r\n const dxEventOn: any = DevExpress.events.on;\r\n dxEventOn(newElement, \"dxremove\", () => {\r\n view.unbind();\r\n view.detached();\r\n });\r\n\r\n return {\r\n element: newElement,\r\n view: view\r\n };\r\n }\r\n private extendFieldTemplate(element: Element) {\r\n const textbox = element.querySelector(\".dx-textbox\");\r\n if (!textbox) {\r\n return;\r\n }\r\n\r\n let instance = DxLoader.getInstance(\"dxTextBox\", textbox);\r\n\r\n instance.on(\"focusIn\", () => {\r\n element.classList.add(\"t--field-template-editor-focused\");\r\n });\r\n instance.on(\"focusOut\", () => {\r\n element.classList.remove(\"t--field-template-editor-focused\");\r\n });\r\n instance.on(\"disposing\", () => {\r\n element = null;\r\n instance = null;\r\n });\r\n }\r\n}\r\n\r\nexport interface IDxWidgetRenderInfo {\r\n element: Element;\r\n view: View;\r\n}\r\n","import {\r\n autoinject,\r\n BindingEngine,\r\n Disposable,\r\n Scope,\r\n LiteralPrimitive,\r\n TaskQueue,\r\n Aurelia\r\n} from \"aurelia-framework\";\r\nimport { IBindingObserveArguments } from '../export';\r\n\r\n\r\n@autoinject\r\nexport class BindingService {\r\n constructor(\r\n private _bindingEngine: BindingEngine,\r\n private _taskQueue: TaskQueue,\r\n private _aurelia: Aurelia\r\n ) {}\r\n\r\n assign(scope: Scope, expression: string, value: any) {\r\n this._bindingEngine\r\n .parseExpression(expression)\r\n .assign(scope, value, null);\r\n }\r\n evaluate(scope: Scope, expression: string): any {\r\n if (!scope.bindingContext) {\r\n return null;\r\n }\r\n \r\n return this._bindingEngine\r\n .parseExpression(expression)\r\n .evaluate(scope, {\r\n bindingBehaviors: (name) => this._aurelia.resources.getBindingBehavior(name),\r\n valueConverters: (name) => this._aurelia.resources.getValueConverter(name)\r\n });\r\n }\r\n execute(scope: Scope, expression: string, ...parameters: any[]): any {\r\n let context = this.getBindingContext(scope, expression);\r\n let obj: any = this._bindingEngine.parseExpression(expression);\r\n\r\n if (obj.object) {\r\n context = obj.object.evaluate({\r\n bindingContext: context\r\n });\r\n }\r\n \r\n return obj.evaluate(scope).call(context, ...parameters);\r\n }\r\n observe(args: IBindingObserveArguments): Disposable {\r\n //Prüfen ob es sich um einen Pfad handelt oder einfach nur um einen primitiven Typ\r\n const parsedExpression = this._bindingEngine.parseExpression(args.expression);\r\n \r\n if (args.checkPrimitiveType && parsedExpression instanceof LiteralPrimitive) {\r\n //Nicht sofort ausführen, sondern so, wie es auch das Binding machen würde - leicht verzögert\r\n this._taskQueue.queueTask(() => {\r\n args.callback(parsedExpression.value, null);\r\n });\r\n\r\n return {\r\n dispose: () => {} \r\n };\r\n }\r\n \r\n const disposable = this._bindingEngine\r\n .expressionObserver(\r\n this.getBindingContext(args.customScope || args.scopeContainer.scope, args.expression),\r\n args.expression\r\n ).subscribe(args.callback);\r\n\r\n args.scopeContainer.addDisposable(disposable);\r\n return disposable;\r\n }\r\n getBindingContext(scope: Scope, expression: string) {\r\n let obj: any = this._bindingEngine\r\n .parseExpression(expression);\r\n \r\n while (obj.object) {\r\n obj = obj.object;\r\n }\r\n\r\n if (obj.name in scope.bindingContext) {\r\n return scope.bindingContext;\r\n } else {\r\n let ov = scope.overrideContext;\r\n\r\n while (ov) {\r\n if (obj.name in ov.bindingContext) {\r\n return ov.bindingContext;\r\n }\r\n\r\n ov = ov.parentOverrideContext;\r\n }\r\n }\r\n\r\n return scope.bindingContext || scope.overrideContext;\r\n }\r\n}\r\n","module.exports = \"
\";","import {\r\n autoinject\r\n} from \"aurelia-framework\";\r\nimport {\r\n ISelectItem\r\n} from \"../widget-options/select-item\";\r\nimport {\r\n DxTemplateService\r\n} from \"../../dx/services/export\";\r\n\r\nimport * as selectItems from \"../../../framework-data/select-items.json\";\r\nimport { ScopeContainer } from '../../base/classes/scope-container';\r\nimport { IDataSourceOptionFilter } from '../../base/interfaces/data-source-option-filter';\r\nimport { IDataSourceOptionCustom } from '../../base/interfaces/data-source-option-custom';\r\nimport { RestService, DataSourceService } from '../../base/export';\r\nimport { EventAggregator } from 'aurelia-event-aggregator';\r\n\r\n@autoinject\r\nexport class SelectItemService {\r\n\r\n constructor(\r\n private dxTemplate: DxTemplateService,\r\n private restService: RestService,\r\n private eventAggregator: EventAggregator,\r\n private dataSourceService: DataSourceService\r\n ) {}\r\n\r\n addSelectItem(id: string, data: any) {\r\n selectItems[id] = data;\r\n }\r\n getSelectItem(id: string): ISelectItem {\r\n if (!selectItems) {\r\n throw new Error(\"No select-items defined\");\r\n }\r\n if (!selectItems[id]) {\r\n throw new Error(`Select-item ${id} is not defined`);\r\n }\r\n\r\n return selectItems[id];\r\n } \r\n\r\n createSelectDataSource(\r\n scopeContainer: ScopeContainer, \r\n selectItem: ISelectItem, \r\n filter: any, \r\n filters: IDataSourceOptionFilter[], \r\n customs: IDataSourceOptionCustom[],\r\n observerCallback?: {(dataSourceOptions: any): void}): DevExpress.data.DataSource {\r\n if (selectItem.loadItemListDeferred) {\r\n return new DevExpress.data.DataSource(new DevExpress.data.CustomStore({\r\n cacheRawData: true,\r\n loadMode: \"raw\",\r\n load: async () => {\r\n const result = await this.restService.get({\r\n url: this.restService.getApiUrl(`base/FormSelectItem/Items/${selectItem.id}`)\r\n });\r\n\r\n const args = {\r\n selectItemId: selectItem.id,\r\n data: result\r\n };\r\n\r\n this.eventAggregator.publish(\"form-select-item:data-loaded\", args);\r\n return args.data;\r\n }\r\n }));\r\n } else if (selectItem.items && selectItem.items.length > 0) {\r\n return new DevExpress.data.DataSource(new DevExpress.data.ArrayStore({\r\n data: selectItem.items\r\n }));\r\n } else if (selectItem.action) {\r\n const where = [];\r\n if (filter) {\r\n where.push(filter);\r\n }\r\n if (selectItem.where) {\r\n where.push(selectItem.where);\r\n }\r\n\r\n const dataSourcefilters: IDataSourceOptionFilter[] = [];\r\n if (selectItem.customs) {\r\n dataSourcefilters.push(...selectItem.customs);\r\n }\r\n if (customs) {\r\n customs.forEach(custom => {\r\n dataSourcefilters.push({\r\n webApiCustomKey: custom.key,\r\n webApiCustomValue: custom.value\r\n })\r\n });\r\n }\r\n if (filters) {\r\n dataSourcefilters.push(...filters);\r\n }\r\n\r\n const dataSourceOptions = {\r\n keyProperty: selectItem.valueMember,\r\n webApiAction: selectItem.action,\r\n webApiColumns: selectItem.columns,\r\n webApiExpand: selectItem.expand,\r\n webApiOrderBy: selectItem.orderBy,\r\n webApiWhere: where,\r\n webApiSearchtextEnabled: selectItem.searchtextEnabled,\r\n filters: dataSourcefilters\r\n };\r\n\r\n const dataSource = this.dataSourceService.createDataSource(scopeContainer, dataSourceOptions);\r\n\r\n if (observerCallback) {\r\n observerCallback(dataSourceOptions);\r\n }\r\n\r\n return dataSource;\r\n }\r\n }\r\n}","import { GlobalizationService } from \"./../../../../framework/base/services/globalization-service\";\r\nimport { ZitMomentValueConverter } from \"./../../../../zit-ui/value-converters/moment-value-converter\";\r\nimport { LocalizationService } from \"./../../../../framework/base/services/localization-service\";\r\nimport { RestService } from \"./../../../../framework/base/services/rest-service\";\r\nimport { IZitTagOptions } from \"./../../../../zit-ui/elements/zit-tag/zit-tag-options\";\r\nimport { ICommandData } from \"./../../../../framework/forms/interfaces/command-data\";\r\nimport { Share } from \"./../../../elements/share/share\";\r\nimport { FormBase } from \"./../../../../framework/forms/classes/form-base\";\r\nimport { transient } from \"aurelia-framework\";\r\nimport { autoinject } from \"aurelia-framework\";\r\nimport { Datenschutz } from \"../../../elements/datenschutz/datenschutz\";\r\nimport { FileService } from \"../../../../framework/base/export\";\r\nimport { StartupService } from \"../../../services/export\";\r\nimport { IZitCardButtonOptions } from \"../../../../zit-ui/elements/zit-card/zit-card-button-options\";\r\nimport { IZitToolbarOptions } from \"../../../../zit-ui/elements/zit-toolbar/zit-toolbar-options\";\r\nimport { ContextMenu } from \"../../../../framework/forms/classes/context-menu\";\r\nimport { Datei } from \"../../../elements/datei/datei\";\r\nimport { FormPopupService } from \"../../../services/form-popup-service\";\r\nimport { EventAggregator, Subscription } from \"aurelia-event-aggregator\";\r\n\r\n@transient()\r\n@autoinject\r\nexport class TerminReadUtils {\r\n private _terminChangedSubscription: Subscription;\r\n\r\n constructor(\r\n private _zitMoment: ZitMomentValueConverter,\r\n private _restService: RestService,\r\n private _localizationService: LocalizationService,\r\n private _globalizationService: GlobalizationService,\r\n private _fileService: FileService,\r\n private _startupService: StartupService,\r\n private _formPopupService: FormPopupService,\r\n private _eventAggregator: EventAggregator\r\n ) { }\r\n\r\n form: FormBase;\r\n hauptterminText: any;\r\n verfuegbarePlaetze: number;\r\n datenschutzList: any[];\r\n teilnehmerDataSource: any[] = [];\r\n\r\n saveCommand: ICommandData = {\r\n id: \"save\",\r\n icon: \"fas fa-save\",\r\n tooltip: \"base.save_tooltip\",\r\n sortIndex: 90,\r\n isVisible: false,\r\n execute: async() => {\r\n const einschEigen = this.form.models.data.$m_Termin._Einschaetzung;\r\n if (einschEigen) {\r\n await this._restService.post({\r\n url: this._restService.getApiUrl(\"ZIT/Termin/UpdateEinschaetzungEigen\"),\r\n data: Object.assign({\r\n IdTermin: this.form.models.data.$m_Termin.Id,\r\n }, this.form.models.data.$m_Termin._Einschaetzung),\r\n increaseLoadingCount: true\r\n });\r\n\r\n DevExpress.ui.notify(\r\n this._localizationService.translateOnce(\"base.save_success\"), \r\n \"success\", \r\n 3000);\r\n }\r\n }\r\n };\r\n\r\n actionCommand: ICommandData = {\r\n id: \"actionCommand\",\r\n icon: \"fas fa-share-alt\",\r\n tooltip: \"zit.aktionen\",\r\n sortIndex: 99,\r\n isVisibleExpression: \"r_share.canShare\",\r\n execute: (executeOptions) => {\r\n const share: Share = this.form[\"r_share\"];\r\n share.showCtxMenu(executeOptions.event);\r\n }\r\n };\r\n\r\n betreffTagOptions: IZitTagOptions = {\r\n isClickEnabled: false,\r\n textExpression: `item.Betreff`,\r\n icon: {\r\n text: \"B\"\r\n }\r\n };\r\n\r\n ortTagOptions: IZitTagOptions = {\r\n isClickEnabled: false,\r\n textExpression: `item.Ort`,\r\n icon: {\r\n text: \"B\"\r\n }\r\n };\r\n\r\n geschaeftspartnerTagOptions: IZitTagOptions = {\r\n isClickEnabled: false,\r\n textExpression: `item.Geschaeftspartner.Name1`,\r\n icon: {\r\n text: \"G\"\r\n }\r\n };\r\n\r\n startDatumTagOptions: IZitTagOptions = {\r\n isClickEnabled: false,\r\n textExpression: `functions.$f_TerminReadUtils.datumTagString(item)`,\r\n icon: {\r\n faIcon: \"far fa-calendar-alt\"\r\n }\r\n };\r\n\r\n ansprechpersonTagOptions: IZitTagOptions = {\r\n isClickEnabled: false,\r\n textExpression: `item.Ansprechperson`,\r\n icon: {\r\n faIcon: \"fas fa-user\"\r\n }\r\n };\r\n\r\n meldenBeiUmTagOptions: IZitTagOptions = {\r\n isClickEnabled: false,\r\n textExpression: `item.Treffpunkt`,\r\n icon: {\r\n text: \"T\"\r\n }\r\n };\r\n\r\n adresseTagOptions: IZitTagOptions = {\r\n textExpression: `item.Adresse`,\r\n icon: {\r\n faIcon: \"fas fa-map-marker-alt\"\r\n },\r\n onClick: () => {\r\n this.openGoogleMaps();\r\n }\r\n };\r\n\r\n zusageButtonTagOptions: IZitTagOptions = {\r\n isClickEnabled: true,\r\n cssClass: \"z--tag z--zusage-button\",\r\n icon: {\r\n faIcon: \"far fa-check-circle\"\r\n },\r\n textExpression: `item.Verteilungstyp == 0 && item.StatusZustandCode != \"ZUM_TERMIN_EINLADEN\"\r\n ? \"Ja, ich möchte den Termin zusagen\"\r\n : item.StatusZustandCode == \"ZUM_TERMIN_EINLADEN\" \r\n ? \"Ja, ich nehme an dem Termin teil\"\r\n : \"Ja, ich möchte der Veranstaltung zusagen\"`,\r\n onClick: () => {\r\n this.terminZusagen();\r\n }\r\n };\r\n\r\n absagenButtonTagOptions: IZitTagOptions = {\r\n isClickEnabled: true,\r\n cssClass: \"z--tag z--absage-button\",\r\n icon: {\r\n faIcon: \"fas fa-ban\"\r\n },\r\n textExpression: `item.StatusZustandCode == \"ZUM_TERMIN_EINLADEN\" \r\n ? \"Nein, ich kann leider nicht teilnehmen\" \r\n : \"Nein, ich muss leider absagen\"`,\r\n onClick: () => {\r\n this.terminAbsagen();\r\n }\r\n };\r\n\r\n interesseButtonTagOptions: IZitTagOptions = {\r\n isClickEnabled: true,\r\n cssClass: \"z--tag z--zusage-button\",\r\n icon: {\r\n faIcon: \"far fa-check-circle\"\r\n },\r\n textExpression: `item.Verteilungstyp == 0 \r\n ? \"Ja, ich interessiere mich für diesen Termin\" \r\n : \"Ja, ich interessiere mich für diese Veranstaltung\"`,\r\n onClick: () => {\r\n this.terminInteressieren();\r\n }\r\n };\r\n\r\n terminDownloadTagOptions: IZitTagOptions = {\r\n isClickEnabled: true,\r\n cssClass: \"z--tag z--download-button\",\r\n icon: {\r\n faIcon: \"far fa-calendar-alt\"\r\n },\r\n text: \"Termin in Kalender eintragen\",\r\n onClick: () => {\r\n this.downloadTerminICSFile();\r\n }\r\n };\r\n\r\n doShowTerminAbsagenControlsTagOptions: IZitTagOptions = {\r\n isClickEnabled: true,\r\n cssClass: \"z--tag z--download-button\",\r\n icon: {\r\n faIcon: \"fas fa-undo\"\r\n },\r\n text: \"Zusage rückgängig machen\",\r\n onClick: () => {\r\n this.form.models.data.$m_Termin.ShowTerminAbsageControls = true;\r\n }\r\n };\r\n\r\n terminZusageAbsagenButtonTagOptions: IZitTagOptions = {\r\n isClickEnabled: true,\r\n cssClass: \"z--tag z--absage-button\",\r\n icon: {\r\n faIcon: \"fas fa-ban\"\r\n },\r\n text: \"Termin absagen\",\r\n onClick: () => {\r\n this.terminZusageAbsagen();\r\n }\r\n };\r\n\r\n infotextTagOptions: IZitTagOptions = {\r\n textExpression: `item.Informationstext`,\r\n icon: {\r\n faIcon: \"fas fa-exclamation\"\r\n }\r\n };\r\n\r\n verfuegbarePlaetzeTagOptions: IZitTagOptions = {\r\n isClickEnabled: false,\r\n icon: {\r\n text: \"P\"\r\n },\r\n textExpression: \"functions.$f_TerminReadUtils.verfuegbarePlaetze\"\r\n };\r\n\r\n einschaetzungTagOptions: IZitTagOptions = {\r\n icon: {\r\n text: \"E\"\r\n },\r\n infoList: [{\r\n icon: {\r\n faIcon: \"fas fa-paperclip\",\r\n backgroundColor: \"#22B002\"\r\n },\r\n isVisibleExpression: \"item.DMSLinkPdf\",\r\n onClick: (e, data) => {\r\n e.stopPropagation();\r\n e.preventDefault();\r\n\r\n this._fileService.inline(data.DMSLinkPdf);\r\n }\r\n }],\r\n textExpression: `item.PersonTitel + \", \" + globalization.format(item.Anlagedatum, \"d\")`,\r\n isClickEnabledExpression: \"!item._DisableEdit\",\r\n onClick: (ev: Event, data) => {\r\n ev.preventDefault();\r\n ev.stopPropagation();\r\n\r\n if (data._DisableEdit) {\r\n return;\r\n }\r\n\r\n this.form.models.data.$m_TerminEmpfEinschEdit = data;\r\n this.form.editPopups.show(\"terminEmpfEinschEditPopup\", null);\r\n }\r\n };\r\n\r\n dokumentToolbarOptions: IZitToolbarOptions = {\r\n title: \"termin.informationen\",\r\n smallToolbar: true,\r\n items: [{\r\n id: \"showDokumentToolbarOptionen\",\r\n icon: \"fas fa-plus\",\r\n isVisible: [\"ADMIN\", \"TRAINER\", \"TEAM\", \"ADMIN_HB\"].indexOf(this._startupService.startupInfo.Benutzer.CodeBenutzerrolle) >= 0,\r\n execute: async(e) => {\r\n const ctxMenu = new ContextMenu();\r\n\r\n ctxMenu.items = [{\r\n text: this._localizationService.translateOnce(\"termin.dokument-toolbar-item-info-dokumente\"),\r\n execute: () => {\r\n setTimeout(() => {\r\n const datei: Datei = this.form[\"r_dateien\"];\r\n datei.onDokumentClick();\r\n }, 0);\r\n }\r\n }, {\r\n text: this._localizationService.translateOnce(\"termin.dokument-toolbar-item-info-bilder\"),\r\n execute: () => {\r\n setTimeout(() => {\r\n const datei: Datei = this.form[\"r_dateien\"];\r\n datei.onCameraClick();\r\n }, 0);\r\n }\r\n }, {\r\n text: this._localizationService.translateOnce(\"termin.dokument-toolbar-item-info-videos\"),\r\n execute: () => {\r\n setTimeout(() => {\r\n const datei: Datei = this.form[\"r_dateien\"];\r\n datei.onVideoClick();\r\n }, 0);\r\n }\r\n }, {\r\n text: this._localizationService.translateOnce(\"termin.dokument-toolbar-item-info-galerie\"),\r\n execute: async() => {\r\n const r = await this.form.saveIfDirty();\r\n if (!r.isValid) {\r\n return;\r\n }\r\n\r\n const datei: Datei = this.form[\"r_dateien\"];\r\n datei.onAddToGalerieClick(() => {\r\n this.form.save();\r\n });\r\n }\r\n }];\r\n \r\n ctxMenu.show(event.target);\r\n }\r\n }]\r\n };\r\n\r\n get canTerminAbsagen(): boolean {\r\n const termin = this.form.models.data.$m_Termin;\r\n if (!termin || !termin.CanTerminAbsagen) {\r\n return false;\r\n }\r\n\r\n if (termin.Kopf.StatusZustandCode != \"ZUGESAGT\") {\r\n return false;\r\n }\r\n\r\n return true;\r\n }\r\n get isHeartbase() {\r\n return this.form\r\n && this.form.id == \"termin-heartbase-read\";\r\n }\r\n\r\n isZuAbsagenButtonVisible(): boolean {\r\n const model = this.form.models.data.$m_Termin;\r\n\r\n if (!model) {\r\n return false;\r\n }\r\n\r\n const kopf = model.Kopf;\r\n\r\n if (!kopf) {\r\n return false;\r\n }\r\n\r\n if (kopf.StatusZustandCode == \"ZUM_TERMIN_EINLADEN\") {\r\n if (kopf.EmpfaengerReaktion == 1) {\r\n return false;\r\n }\r\n\r\n return true;\r\n }\r\n\r\n if (kopf.Informationstext && kopf.Informationstext.length > 0) {\r\n return false;\r\n }\r\n\r\n if (kopf.StatusZustandCode == \"ZUGESAGT\" || kopf.StatusZustandCode == \"ABGESAGT\") {\r\n return false;\r\n }\r\n\r\n if (kopf.IdHaupttermin) {\r\n return false;\r\n }\r\n\r\n if (kopf.EmpfaengerReaktion != 0) {\r\n return false;\r\n }\r\n\r\n if (kopf.MaxTeilnehmerzahl > kopf.AnzahlTeilnehmer) {\r\n return true;\r\n }\r\n\r\n if (!kopf.MaxTeilnehmerzahl) {\r\n return true;\r\n }\r\n\r\n return false;\r\n }\r\n isHauptterminVorhanden(): boolean {\r\n const model = this.form.models.data.$m_Termin;\r\n\r\n if (!model) {\r\n return false;\r\n }\r\n\r\n const kopf = model.Kopf;\r\n if (!kopf) {\r\n return false;\r\n }\r\n\r\n if (kopf.Informationstext && kopf.Informationstext.length > 0) {\r\n return false;\r\n }\r\n\r\n if (kopf.IdHaupttermin) {\r\n return true;\r\n }\r\n\r\n if (kopf.ZusagedatumHaupttermin) {\r\n return true;\r\n }\r\n\r\n return false;\r\n }\r\n isInteresseEinverstaendniserklaerungVisible(): boolean {\r\n const isVisible = this.isInteresseButtonVisible();\r\n if (!isVisible) {\r\n return false;\r\n }\r\n\r\n return this.form.models.data.$m_Termin.IsInteresseEinverstaendniserklaerungVisible;\r\n }\r\n isInteresseButtonVisible(): boolean {\r\n const model = this.form.models.data.$m_Termin;\r\n\r\n if (!model) {\r\n return false;\r\n }\r\n\r\n const kopf = model.Kopf;\r\n if (!kopf) {\r\n return false;\r\n }\r\n\r\n if (kopf.StatusZustandCode == \"ZUM_TERMIN_EINLADEN\") {\r\n return false;\r\n }\r\n\r\n if (kopf.Informationstext && kopf.Informationstext.length > 0) {\r\n return false;\r\n }\r\n\r\n if (kopf.EmpfaengerReaktion != 2) {\r\n return false;\r\n }\r\n\r\n if (!kopf.MaxTeilnehmerzahl) {\r\n return true;\r\n }\r\n\r\n if (kopf.MaxTeilnehmerzahl > kopf.AnzahlTeilnehmer) {\r\n return true;\r\n }\r\n\r\n return false;\r\n }\r\n\r\n bind(form: FormBase) {\r\n this.form = form;\r\n\r\n this.form.models.onLoaded.register((r) => {\r\n if (r.model.id == \"$m_Termin\") {\r\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.`;\r\n \r\n if (r.data.Kopf && r.data.Kopf.MaxTeilnehmerzahl) {\r\n const zugesagteEmpfaenger = r.data.Empfaenger.filter((c) => c.StatusZustandCode === \"ZUGESAGT\");\r\n this.verfuegbarePlaetze = Math.max(0, (r.data.Kopf.MaxTeilnehmerzahl - zugesagteEmpfaenger.length));\r\n }\r\n\r\n this.datenschutzList = r.data.DatenschutzList\r\n ? r.data.DatenschutzList\r\n : [];\r\n \r\n if (r.data._Einschaetzung) {\r\n this.saveCommand.isVisible = true;\r\n }\r\n\r\n this.updateTeilnehmerDataSource();\r\n }\r\n\r\n return Promise.resolve();\r\n });\r\n\r\n this._terminChangedSubscription = this._eventAggregator.subscribe(\"termin:changed\", (ev) => {\r\n const data = this.form.models.data.$m_Termin;\r\n if (data && data.Id == ev.idTermin) {\r\n this.form.models.reloadAll();\r\n }\r\n });\r\n }\r\n unbind() {\r\n this._terminChangedSubscription.dispose();\r\n this._terminChangedSubscription = null;\r\n }\r\n\r\n datumTagString(item: any): string {\r\n if (!item) {\r\n return \"\";\r\n }\r\n\r\n if (!item.StartDatum || !item.EndeDatum) {\r\n return \"\";\r\n }\r\n\r\n if (item.StartUhrzeit && item.EndeUhrzeit) {\r\n if (item.StartDatum.getTime() === item.StartUhrzeit.getTime() && item.EndeDatum.getTime() === item.EndeUhrzeit.getTime()) {\r\n return this._globalizationService.format(item.StartDatum, \"DT_DD.MM.YYYY (dd)\").toUpperCase()\r\n + \" - \"\r\n + this._globalizationService.format(item.EndeDatum, \"DT_DD.MM.YYYY (dd)\").toUpperCase();\r\n }\r\n }\r\n\r\n return this._globalizationService.format(item.StartDatum, \"DT_DD.MM.YYYY (dd)\").toUpperCase()\r\n + \" \"\r\n + this._zitMoment.getZeit(item.StartUhrzeit)\r\n + \" - \"\r\n + this._globalizationService.format(item.EndeDatum, \"DT_DD.MM.YYYY (dd)\").toUpperCase()\r\n + \" \"\r\n + this._zitMoment.getZeit(item.EndeUhrzeit);\r\n }\r\n\r\n onTerminEinschaetzungErstellenClick() {\r\n this.form.models.data.$m_TerminEmpfEinschEdit = {\r\n Id: 0\r\n };\r\n this.form.editPopups.show(\"terminEmpfEinschEditPopup\", null);\r\n }\r\n\r\n private openGoogleMaps() {\r\n const resultGoogleMaps = this.form.models.data.$m_Termin.Kopf.Adresse;\r\n if (!resultGoogleMaps) {\r\n return;\r\n }\r\n window.open(\"https://www.google.com/maps/place/\" + resultGoogleMaps.replace(\" \", \"+\"), \"_blank\");\r\n }\r\n\r\n private getICSFileDownloadUrl(key: string): string {\r\n return `${this._restService.getApiUrl(\"ZIT/WebsiteTermin/ICSFile\")}?key=${key}`;\r\n }\r\n private async downloadTerminICSFile() {\r\n window.open(this.getICSFileDownloadUrl(this.form.models.data.$m_Termin.Kopf.ICSDownloadKey), \"_self\");\r\n }\r\n\r\n private async terminZusagen() {\r\n const kopf = this.form.models.data.$m_Termin.Kopf;\r\n const result = await this.setTerminZuAbsagen(kopf.IdPerson, kopf.TerminCustomId, \"ZUGESAGT\")\r\n .then((r) => {\r\n this.form.models.reloadAll();\r\n });\r\n }\r\n private async terminAbsagen() {\r\n const kopf = this.form.models.data.$m_Termin.Kopf;\r\n const result = await this.setTerminZuAbsagen(kopf.IdPerson, kopf.TerminCustomId, \"ABGESAGT\")\r\n .then((r) => {\r\n this.form.models.reloadAll();\r\n });\r\n }\r\n private async terminZusageAbsagen() {\r\n const termin = this.form.models.data.$m_Termin;\r\n\r\n if (!termin.AbsageGrund || termin.AbsageGrund.length <= 0) {\r\n DevExpress.ui.notify(this._localizationService.translateOnce(\"termin.kein_absagegrund_vorhanden\"), \"ERROR\", 3000);\r\n return;\r\n }\r\n\r\n this._restService.post({\r\n url: this._restService.getApiUrl(\"ZIT/Termin/TerminZusageAbsagen\"),\r\n data: {\r\n IdPerson: termin.Kopf.IdPerson,\r\n TerminCustomId: termin.Kopf.TerminCustomId,\r\n Bemerkung: termin.AbsageGrund\r\n }\r\n }).then((r) => {\r\n this.form.models.reloadAll();\r\n });\r\n }\r\n private async terminInteressieren() {\r\n const kopf = this.form.models.data.$m_Termin.Kopf;\r\n if (this.isInteresseEinverstaendniserklaerungVisible()) {\r\n const datenschutz: Datenschutz = this.form[\"r_datenschutz\"];\r\n if (!datenschutz.hasAlleBestaetigt()) {\r\n return;\r\n }\r\n }\r\n\r\n const result = await this.setTerminZuAbsagen(kopf.IdPerson, kopf.TerminCustomId, \"INTERESSIERT\")\r\n .then((r) => {\r\n this.form.models.reloadAll();\r\n });\r\n }\r\n\r\n private async setTerminZuAbsagen(idPerson: number, terminCustomId: any, statusZustandCode: any) {\r\n const kopf = this.form.models.data.$m_Termin.Kopf;\r\n\r\n return this._restService.post({\r\n url: this._restService.getApiUrl(\"ZIT/Termin/TerminZuAbsagen\"),\r\n data: {\r\n IdPerson: idPerson,\r\n TerminCustomId: terminCustomId,\r\n StatusZustandCode: statusZustandCode\r\n }\r\n });\r\n }\r\n\r\n private updateTeilnehmerDataSource() {\r\n if (!this.isHeartbase) {\r\n return;\r\n }\r\n\r\n const dataSource = [];\r\n\r\n if (this.form.models.data.$m_Termin.Trainer) {\r\n const arr: any[] = this.form.models.data.$m_Termin.Trainer;\r\n\r\n arr.map((i) => {\r\n const data: any = {\r\n TypeName: \"TIP.ZIT.Business.Entities.Objekte.Ansprechpersonen.Ansprechperson\",\r\n Data: i.Ansprechperson.Card,\r\n showNachrichten: true\r\n };\r\n\r\n if (i.Ansprechperson.Card.Beschreibung) {\r\n data.buttons = [{\r\n icon: \"fas fa-info-circle\",\r\n onClick: (ev) => {\r\n ev.preventDefault();\r\n ev.stopPropagation();\r\n\r\n this._formPopupService.formPopup.show({\r\n titel: `Info über ${i.Ansprechperson.Card.Name}`,\r\n formDef: [{\r\n name: \"info\",\r\n template: (_, itemElement: HTMLElement) => {\r\n itemElement.style.maxWidth = \"400px\";\r\n itemElement.innerHTML = i.Ansprechperson.Card.Beschreibung;\r\n }\r\n }]\r\n });\r\n }\r\n }];\r\n }\r\n\r\n return data;\r\n }).forEach((i) => dataSource.push(i));\r\n }\r\n if (this.form.models.data.$m_Termin.Empfaenger) {\r\n const arr: any[] = this.form.models.data.$m_Termin.Empfaenger;\r\n\r\n arr.map((i) => {\r\n return {\r\n TypeName: \"TIP.ZIT.Business.Entities.Objekte.Personen.Person\",\r\n Data: i.Person.Card,\r\n showNachrichten: true\r\n };\r\n }).forEach((i) => dataSource.push(i));\r\n }\r\n\r\n this.teilnehmerDataSource = dataSource;\r\n }\r\n}\r\n","import { autoinject, transient } from \"aurelia-framework\";\r\nimport { FormBase, HistoryService } from \"../../../framework/forms/export\";\r\nimport { AuthorizationService, LocationService } from \"../../../framework/base/export\";\r\n\r\n@autoinject\r\n@transient()\r\nexport class AppLoginFormFuncs {\r\n private _Form: FormBase;\r\n\r\n constructor(\r\n private _authorizationService: AuthorizationService,\r\n private _locationService: LocationService,\r\n private _historyService: HistoryService\r\n ) {}\r\n\r\n bind(form: FormBase) {\r\n this._Form = form;\r\n this.tryAutoLogin();\r\n }\r\n\r\n private async tryAutoLogin() { \r\n const token = this.getTokenFromQueryString();\r\n if (!token) {\r\n this.redirectToDefault();\r\n return;\r\n }\r\n\r\n const redirectUrl = this.getRedirectUrlFromQueryString();\r\n this._historyService.pipelineUrl = redirectUrl || \"Dashboard\";\r\n\r\n const r = await this._authorizationService.login({\r\n Username: \"$applogin$\",\r\n Password: token\r\n }, false);\r\n\r\n if (!r.isLoggedIn) {\r\n this.redirectToDefault();\r\n }\r\n }\r\n\r\n private getTokenFromQueryString(): string {\r\n return this._Form.viewItemInfo?.routeInfo?.parameters?.token;\r\n }\r\n private getRedirectUrlFromQueryString(): string {\r\n const parameters = this._Form.viewItemInfo?.routeInfo?.parameters;\r\n if (!parameters) {\r\n return null;\r\n }\r\n\r\n return parameters[\"redirect-url\"];\r\n }\r\n private async redirectToDefault() {\r\n if (this._authorizationService.isLoggedIn) {\r\n await this._locationService.goTo({\r\n url: \"Dashboard\",\r\n clearStack: true\r\n });\r\n } else {\r\n await this._locationService.goTo({\r\n url: \"Login\",\r\n clearStack: true\r\n });\r\n }\r\n }\r\n}","import {\r\n autoinject\r\n} from \"aurelia-framework\";\r\nimport {\r\n IRoute\r\n} from \"../interfaces/route\";\r\n\r\nexport class RoutesCreatorService {\r\n constructor() {}\r\n\r\n createRoutes(structure: any[], routeForms: any, canActivate?: {(route: IRoute): boolean}) {\r\n const routes: IRoute[] = [];\r\n const parentDic: any = {};\r\n\r\n structure.forEach(s => {\r\n const route: IRoute = {\r\n caption: s.caption,\r\n navigation: {\r\n icon: s.icon\r\n },\r\n children: []\r\n };\r\n\r\n routes.push(route);\r\n parentDic[s.id] = route;\r\n });\r\n\r\n for (let routeFormKey in routeForms) {\r\n const routeForm = routeForms[routeFormKey];\r\n\r\n const route: IRoute = {\r\n caption: routeForm.caption,\r\n route: routeForm.route,\r\n moduleId: routeForm.moduleId\r\n };\r\n\r\n if (routeForm.isEnabled) {\r\n route.navigation = {};\r\n\r\n if (routeForm.category) {\r\n route.navigation.category = routeForm.category;\r\n }\r\n if (routeForm.icon) {\r\n route.navigation.icon = routeForm.icon;\r\n }\r\n }\r\n\r\n if (canActivate) {\r\n route.canActivate = () => {\r\n return canActivate(route);\r\n }\r\n }\r\n \r\n if (routeForm.idParent) {\r\n parentDic[routeForm.idParent].children.push(route);\r\n } else {\r\n routes.push(route);\r\n }\r\n }\r\n\r\n return routes;\r\n }\r\n}","export * from \"./widget-creator-service\";\r\nexport * from \"./simple-widget-creator-service\";","import { autoinject } from \"aurelia-framework\";\r\nimport { EventAggregator } from 'aurelia-event-aggregator';\r\nimport { IRouteInfo } from '../../framework/forms/export';\r\nimport { LoadingService } from '../../zit-ui/export';\r\nimport { RestService } from '../../framework/base/services/rest-service';\r\nimport { StartupService } from './startup-service';\r\nimport { LayoutTyp } from '../interfaces/layout-typ';\r\n\r\n@autoinject\r\nexport class FormEvalService {\r\n constructor(\r\n private eventAggregator: EventAggregator,\r\n private loading: LoadingService,\r\n private rest: RestService,\r\n private startup: StartupService\r\n ) {\r\n this.eventAggregator.subscribe(\"router:intercept-route\", e => {\r\n const routeInfo: IRouteInfo = e.routeInfo;\r\n e.moduleIdPromise = this.checkRouteEx(routeInfo);\r\n });\r\n }\r\n\r\n checkRoute(route: string, layoutTyp: LayoutTyp, idObjekt: number, createLog: boolean): Promise {\r\n switch (route) {\r\n case \"Dashboard\": {\r\n return Promise.resolve(\"zit/views/dashboard/dashboard-form-form\");\r\n }\r\n case \"Objekte/Person/:id\": {\r\n return this.getFormLayoutInfo(\r\n \"TIP.ZIT.Business.Entities.Objekte.Personen.Person\",\r\n idObjekt,\r\n layoutTyp,\r\n createLog);\r\n }\r\n case \"Objekte/Ansprechperson/:id\": {\r\n return this.getFormLayoutInfo(\r\n \"TIP.ZIT.Business.Entities.Objekte.Ansprechpersonen.Ansprechperson\",\r\n idObjekt,\r\n layoutTyp,\r\n createLog);\r\n }\r\n case \"Objekte/Bewerbung/:id\": {\r\n return this.getFormLayoutInfo(\r\n \"TIP.ZIT.Business.Entities.Objekte.Bewerbungen.Bewerbung\",\r\n idObjekt,\r\n layoutTyp,\r\n createLog);\r\n }\r\n case \"Objekte/DispoPlanstelle/:id\": {\r\n return this.getFormLayoutInfo(\r\n \"TIP.ZIT.Business.Entities.Objekte.Disposition.DispoPlanstelle\",\r\n idObjekt,\r\n layoutTyp,\r\n createLog);\r\n }\r\n case \"Objekte/DispoPlanstellePersonenzuteilung/:id\": {\r\n return this.getFormLayoutInfo(\r\n \"TIP.ZIT.Business.Entities.Objekte.Disposition.DispoPlanstellePersonenzuteilung\",\r\n idObjekt,\r\n layoutTyp,\r\n createLog);\r\n }\r\n case \"Objekte/Geschaeftspartner/:id\": {\r\n return this.getFormLayoutInfo(\r\n \"TIP.ZIT.Business.Entities.Objekte.Geschaeftspartner.Geschaeftspartner\",\r\n idObjekt,\r\n layoutTyp,\r\n createLog);\r\n }\r\n case \"Objekte/ProfilFirma/:id\": {\r\n return this.getFormLayoutInfo(\r\n \"TIP.ZIT.Business.Entities.Objekte.ProfilFirmen.ProfilFirma\",\r\n idObjekt,\r\n layoutTyp,\r\n createLog);\r\n }\r\n case \"Objekte/Stelleninserat/:id\": {\r\n return this.getFormLayoutInfo(\r\n \"TIP.ZIT.Business.Entities.Objekte.Stelleninserate.Stelleninserat\",\r\n idObjekt,\r\n layoutTyp,\r\n createLog);\r\n }\r\n case \"Objekte/Termin/:id\": {\r\n return this.getFormLayoutInfo(\r\n \"TIP.ZIT.Business.Entities.Objekte.Termine.Termin\",\r\n idObjekt,\r\n layoutTyp,\r\n createLog);\r\n }\r\n case \"Objekte/Event/:id\": {\r\n return this.getFormLayoutInfo(\r\n \"TIP.ZIT.Business.Entities.Objekte.Events.Event\",\r\n idObjekt,\r\n layoutTyp,\r\n createLog);\r\n }\r\n case \"Objekte/EventZeitraum/:id\": {\r\n return this.getFormLayoutInfo(\r\n \"TIP.ZIT.Business.Entities.Objekte.Events.EventZeitraum\",\r\n idObjekt,\r\n layoutTyp,\r\n createLog);\r\n }\r\n case \"Objekte/EventTeilnehmer/:id\": {\r\n return this.getFormLayoutInfo(\r\n \"TIP.ZIT.Business.Entities.Objekte.Events.EventTeilnehmer\",\r\n idObjekt,\r\n layoutTyp,\r\n createLog);\r\n }\r\n default: {\r\n return null;\r\n }\r\n }\r\n }\r\n convertIdFormular(idFormular: string, throwErrorIfNotFound: boolean = true): string {\r\n switch (idFormular) {\r\n case \"aufgabeEdit\": {\r\n return \"zit/views/objekte/aufgaben/aufgabe-edit-form\";\r\n }\r\n case \"zielEdit\": {\r\n return \"zit/views/objekte/ziele/ziel-edit-form\";\r\n }\r\n case \"informationRead\": {\r\n return \"zit/views/objekte/information/information-read-form\";\r\n }\r\n case \"stelleninseratFerialEdit\": {\r\n return \"zit/views/objekte/stelleninserat/stelleninserat-ferial-edit-form\";\r\n }\r\n case \"stelleninseratRead\": {\r\n return \"zit/views/objekte/stelleninserat/stelleninserat-read-form\";\r\n }\r\n case \"stelleninseratEmpleoEdit\": {\r\n return \"zit/views/objekte/stelleninserat/stelleninserat-empleo-edit-form\";\r\n }\r\n case \"stelleninseratKuMiEdit\": {\r\n return \"zit/views/objekte/stelleninserat/stelleninserat-kumi-edit-form\";\r\n }\r\n case \"stelleninseratLehreEdit\": {\r\n return \"zit/views/objekte/stelleninserat/stelleninserat-lehre-edit-form\"\r\n }\r\n case \"stelleninseratHeartbaseEdit\": {\r\n return \"zit/views/objekte/stelleninserat/stelleninserat-heartbase-edit-form\"\r\n }\r\n case \"stelleninseratLehreKundePackageEdit\": {\r\n return \"zit/views/objekte/stelleninserat/stelleninserat-lehre-kunde-package-edit-form\"\r\n }\r\n case \"stelleninseratLehreStandardinseratEdit\": {\r\n return \"zit/views/objekte/stelleninserat/stelleninserat-lehre-standardinserat-edit-form\"\r\n }\r\n case \"stelleninseratLehrePersonRead\": {\r\n return \"zit/views/objekte/stelleninserat/stelleninserat-lehre-person-read-form\"\r\n }\r\n case \"geschaeftspartnerRead\": {\r\n return \"zit/views/objekte/geschaeftspartner/geschaeftspartner-read-form\";\r\n }\r\n case \"geschaeftspartnerEdit\": {\r\n return \"zit/views/objekte/geschaeftspartner/geschaeftspartner-edit-form\";\r\n }\r\n case \"geschaeftspartnerHeartbaseEdit\": {\r\n return \"zit/views/objekte/geschaeftspartner/geschaeftspartner-heartbase-edit-form\";\r\n }\r\n case \"bewerbungRead\": {\r\n return \"zit/views/objekte/bewerbung/bewerbung-read-form\";\r\n }\r\n case \"bewerbungLehreEdit\": {\r\n return \"zit/views/objekte/bewerbung/bewerbung-lehre-edit-form\";\r\n }\r\n case \"bewerbungFerialEdit\": {\r\n return \"zit/views/objekte/bewerbung/bewerbung-edit-form\";\r\n }\r\n case \"bewerbungLehreErweiterungEdit\": {\r\n return \"zit/views/objekte/bewerbung/bewerbung-lehre-erweiterung-edit-form\";\r\n }\r\n case \"bewerbungHeartbaseErweiterungEdit\": {\r\n return \"zit/views/objekte/bewerbung/bewerbung-heartbase-erweiterung-edit-form\";\r\n }\r\n case \"bewerbungFerialErweiterungEdit\": {\r\n return \"zit/views/objekte/bewerbung/bewerbung-ferialer-erweiterung-edit-form\";\r\n }\r\n case \"BewerbungFerialerErsteinstieg\": {\r\n return \"zit/views/objekte/bewerbung/bewerbung-ferialer-ersteinstieg-edit-form\";\r\n }\r\n case \"BewerbungLehreErsteinstieg\": {\r\n return \"zit/views/objekte/bewerbung/bewerbung-lehre-ersteinstieg-edit-form\";\r\n }\r\n case \"ansprechpersonRead\": {\r\n return \"zit/views/objekte/ansprechperson/ansprechperson-read-form\";\r\n }\r\n case \"ansprechpersonEdit\": {\r\n return \"zit/views/objekte/ansprechperson/ansprechperson-edit-form\";\r\n }\r\n case \"ansprechpersonHeartbaseEdit\": {\r\n return \"zit/views/objekte/ansprechperson/ansprechperson-heartbase-edit-form\";\r\n }\r\n case \"profilFirmaEdit\": {\r\n return \"zit/views/objekte/profilfirma/profil-firma-edit-form\";\r\n }\r\n case \"personFerialerRead\": {\r\n return \"zit/views/objekte/person/person-ferial-read-form\";\r\n }\r\n case \"personFerialerErsteinstieg\": {\r\n return \"zit/views/objekte/person/person-ferialer-ersteinstieg-edit-form\";\r\n }\r\n case \"personLehreErsteinstieg\": {\r\n return \"zit/views/objekte/person/person-lehre-ersteinstieg-edit-form\";\r\n }\r\n case \"personEdit\": {\r\n return \"zit/views/objekte/person/person-edit-form\";\r\n }\r\n case \"personHeartbaseEdit\": {\r\n return \"zit/views/objekte/person/person-heartbase-edit-form\";\r\n }\r\n case \"personHeartbaseRead\": {\r\n return \"zit/views/objekte/person/person-heartbase-read-form\";\r\n }\r\n case \"einsatzplanungEdit\": {\r\n return \"zit/views/objekte/disposition/dispo-personenzuteilung-edit-form\";\r\n }\r\n case \"einsatzplanungBestaetigung\": {\r\n return \"zit/views/objekte/disposition/dispo-personenzuteilung-bestaetigung-edit-form\";\r\n }\r\n case \"einsatzplanungBestaetigungRead\": {\r\n return \"zit/views/objekte/disposition/dispo-personenzuteilung-bestaetigung-read-form\";\r\n }\r\n case \"einsatzplanungPersonEdit\": {\r\n return \"zit/views/objekte/disposition/dispo-personenzuteilung-person-edit-form\";\r\n }\r\n case \"dispoPlanstellePersonenzuteilungCheckInEdit\": {\r\n return \"zit/views/objekte/disposition/dispo-personenzuteilung-check-in-edit-form\";\r\n }\r\n case \"dispoPersonenzuteilungBestaetigung\": {\r\n return \"zit/views/objekte/disposition/dispo-personenzuteilung-bestaetigung-edit-form\";\r\n }\r\n case \"planstelleFerialerEdit\": {\r\n return \"zit/views/objekte/disposition/dispo-planstelle-edit-form\";\r\n }\r\n case \"terminEdit\": {\r\n return \"zit/views/objekte/termin/termin-edit-form\";\r\n }\r\n case \"terminHeartbaseEdit\": {\r\n return \"zit/views/objekte/termin/termin-heartbase-edit-form\";\r\n }\r\n case \"terminRead\": {\r\n return \"zit/views/objekte/termin/termin-read-form\";\r\n }\r\n case \"terminHeartbaseRead\": {\r\n return \"zit/views/objekte/termin/termin-heartbase-read-form\";\r\n }\r\n case \"eventEdit\": {\r\n return \"zit/views/objekte/event/event-edit-form\";\r\n }\r\n case \"eventZeitraumEdit\": {\r\n return \"zit/views/objekte/event/event-zeitraum-edit-form\";\r\n }\r\n case \"eventZeitraumRead\": {\r\n return \"zit/views/objekte/event/event-zeitraum-read-form\";\r\n }\r\n case \"eventTeilnehmerEdit\": {\r\n return \"zit/views/objekte/event/event-teilnehmer-edit-form\";\r\n }\r\n case \"eventTeilnehmerRead\": {\r\n return \"zit/views/objekte/event/event-teilnehmer-read-form\";\r\n }\r\n default: {\r\n if (throwErrorIfNotFound) {\r\n throw new Error(`Kein Formular für ${idFormular} hinterlegt`);\r\n } else {\r\n return null;\r\n }\r\n }\r\n }\r\n }\r\n\r\n async hasBerechtigungBearbeitung(objektFullName: string, idObjekt: number): Promise {\r\n const r = await this.rest.get({\r\n url: this.rest.getApiUrl(`ZIT/Layout/Form?objektFullName=${objektFullName}&idObjekt=${idObjekt}&createLog=false`),\r\n increaseLoadingCount: true\r\n });\r\n\r\n if (!r) {\r\n return false;\r\n }\r\n\r\n return !!r.IdFormularBearbeitung;\r\n }\r\n\r\n private checkRouteEx(routeInfo: IRouteInfo): Promise {\r\n let route = routeInfo.route.route;\r\n if (Array.isArray(route)) {\r\n route = route[0];\r\n }\r\n\r\n const id = routeInfo.parameters.id;\r\n\r\n const layoutTyp = (routeInfo.parameters.mode == \"1\" || id == 0)\r\n ? LayoutTyp.Bearbeitung\r\n : LayoutTyp.Lese;\r\n\r\n return this.checkRoute(route, layoutTyp, id, true);\r\n }\r\n private async getFormLayoutInfo(objektFullName: string, idObjekt: number, layoutTyp: LayoutTyp, createLog: boolean): Promise {\r\n const r = await this.rest.get({\r\n url: this.rest.getApiUrl(`ZIT/Layout/Form?objektFullName=${objektFullName}&idObjekt=${idObjekt}&createLog=${createLog}`),\r\n increaseLoadingCount: true\r\n });\r\n\r\n if (!r) {\r\n return null;\r\n }\r\n\r\n let idFormular;\r\n if (layoutTyp == LayoutTyp.Lese && r.IdFormularLese) {\r\n idFormular = r.IdFormularLese;\r\n } else if (layoutTyp == LayoutTyp.Bearbeitung && r.IdFormularBearbeitung) {\r\n idFormular = r.IdFormularBearbeitung;\r\n } else if (r.IdFormularLese) {\r\n idFormular = r.IdFormularLese;\r\n } else if (r.IdFormularBearbeitung) {\r\n idFormular = r.IdFormularBearbeitung;\r\n }\r\n\r\n if (!idFormular) {\r\n return null;\r\n }\r\n\r\n return this.convertIdFormular(idFormular);\r\n }\r\n}\r\n","import { autoinject } from \"aurelia-framework\";\r\n\r\n@autoinject\r\nexport class BrowserService {\r\n constructor() {\r\n this.isIE = navigator.userAgent.indexOf(\"Trident/\") >= 0;\r\n this.isEdge = navigator.userAgent.indexOf(\"Edge/\") >= 0;\r\n this.isFirefox = navigator.userAgent.indexOf(\"Firefox/\") >= 0;\r\n\r\n this.isMobile = window.screen.height < 700\r\n || window.screen.width < 700;\r\n\r\n this.isXL = window.screen.width >= 1500;\r\n this.isLG = !this.isXL && window.screen.width >= 1200;\r\n this.isMD = !this.isXL && !this.isLG && window.screen.width >= 992;\r\n this.isSM = !this.isXL && !this.isLG && !this.isMD && window.screen.width >= 768;\r\n this.isXS = window.screen.width < 768;\r\n\r\n this.isTouch = /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i\r\n .test(navigator.userAgent);\r\n\r\n const iOS = !!navigator.userAgent.match(/iPad/i) || !!navigator.userAgent.match(/iPhone/i);\r\n const webkit = !!navigator.userAgent.match(/WebKit/i);\r\n this.isIOSSafari = iOS && webkit && !navigator.userAgent.match(/CriOS/i);\r\n this.isIOS = iOS && webkit;\r\n\r\n const body = document.getElementsByTagName(\"body\")[0];\r\n\r\n if (this.isMobile) {\r\n body.classList.add(\"t--is-mobile\");\r\n }\r\n if (this.isTouch) {\r\n body.classList.add(\"t--is-touch\");\r\n }\r\n if (this.isIE) {\r\n body.classList.add(\"t--is-ie\");\r\n }\r\n if (this.isEdge) {\r\n body.classList.add(\"t--is-edge\");\r\n }\r\n if (this.isFirefox) {\r\n body.classList.add(\"t--is-firefox\");\r\n }\r\n if (this.isXL) {\r\n body.classList.add(\"t--is-xl\");\r\n }\r\n if (this.isLG) {\r\n body.classList.add(\"t--is-lg\");\r\n }\r\n if (this.isMD) {\r\n body.classList.add(\"t--is-md\");\r\n }\r\n if (this.isSM) {\r\n body.classList.add(\"t--is-sm\");\r\n }\r\n if (this.isXS) {\r\n body.classList.add(\"t--is-xs\");\r\n }\r\n }\r\n\r\n isFirefox: boolean;\r\n isIE: boolean;\r\n isEdge: boolean;\r\n isIOSSafari: boolean;\r\n isIOS: boolean;\r\n\r\n isMobile: boolean;\r\n isTouch: boolean;\r\n\r\n isXS: boolean;\r\n isSM: boolean;\r\n isMD: boolean;\r\n isLG: boolean;\r\n isXL: boolean;\r\n}\r\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\";\r\nimport { FormEventService } from '../../framework/forms/services/form-event-service';\r\nimport { RouterService } from '../../framework/forms/services/router-service';\r\nimport { FormBase } from '../../framework/forms/classes/form-base';\r\n\r\n@autoinject\r\nexport class FormRefreshService {\r\n constructor(\r\n private formEventService: FormEventService,\r\n private routerService: RouterService\r\n ) { \r\n this.registerFormSaved();\r\n }\r\n\r\n refreshPrevForm(form: FormBase) {\r\n const model = form.models.modelWithKeyId;\r\n if (!model) {\r\n return;\r\n }\r\n\r\n const index = this.routerService.viewStack.findIndex(c => {\r\n const controller: any = c.controller;\r\n\r\n return controller\r\n && controller.currentViewModel == form;\r\n });\r\n\r\n if (index < 1) {\r\n return;\r\n }\r\n\r\n const prevIndex = index - 1;\r\n const prevView = this.routerService.viewStack[prevIndex];\r\n const prevController: any = prevView.controller;\r\n\r\n if (!prevController || !prevController.currentViewModel) {\r\n return;\r\n }\r\n\r\n const prevForm: FormBase = prevController.currentViewModel;\r\n if (!(prevForm instanceof FormBase)) {\r\n return;\r\n }\r\n\r\n if (prevForm.models.modelWithKeyId) {\r\n return;\r\n }\r\n\r\n for (let prevModel of prevForm.models.getModels()) {\r\n prevForm.models.onLoadRequired.fire({\r\n model: prevModel,\r\n onlyCurrentPage: true\r\n });\r\n }\r\n }\r\n\r\n private registerFormSaved() {\r\n this.formEventService.onSaved.register(async e => {\r\n return this.refreshPrevForm(e.form);\r\n });\r\n this.formEventService.onDeleted.register(async e => {\r\n return this.refreshPrevForm(e.form);\r\n });\r\n }\r\n}\r\n","import {\r\n autoinject,\r\n computedFrom\r\n} from \"aurelia-framework\";\r\nimport {\r\n RestService\r\n} from \"../../framework/base/export\";\r\n\r\n@autoinject\r\nexport class LoadingService {\r\n constructor(\r\n private rest: RestService\r\n ) { }\r\n\r\n loadingCount: number = 0;\r\n\r\n @computedFrom(\"loadingCount\", \"rest.isLoading\")\r\n get isLoading() {\r\n return this.loadingCount > 0\r\n || this.rest.isLoading;\r\n }\r\n\r\n beginLoading() {\r\n this.loadingCount++;\r\n }\r\n endLoading() {\r\n if (this.loadingCount === 0) {\r\n return;\r\n }\r\n\r\n this.loadingCount--;\r\n }\r\n}\r\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';\r\nimport { RestService, FileService, BrowserService } from './../../framework/base/services/export';\r\nimport { CustomEditPopupService } from './custom-edit-popup-service';\r\nimport { FormEvalService } from './form-eval-service';\r\n\r\n@autoinject\r\nexport class DokumentService {\r\n constructor(\r\n private _restService: RestService,\r\n private _fileService: FileService,\r\n private _customEditPopupService: CustomEditPopupService,\r\n private _formEvalService: FormEvalService,\r\n private _browserService: BrowserService\r\n ) { }\r\n\r\n attachDropDokument(element: HTMLElement, typeName: string, getObjekt: {(): any}): boolean {\r\n if (!typeName) {\r\n return false;\r\n }\r\n if (this._browserService.isMobile) {\r\n return false;\r\n }\r\n\r\n const supportedTypeNameList = [\r\n \"TIP.ZIT.Business.Entities.Objekte.Bewerbungen.Bewerbung\",\r\n \"TIP.ZIT.Business.Entities.Objekte.Personen.Person\",\r\n \"TIP.ZIT.Business.Entities.Objekte.Disposition.DispoPlanstelle\",\r\n \"TIP.ZIT.Business.Entities.Objekte.Disposition.DispoPlanstellePersonenzuteilung\"\r\n ];\r\n\r\n if (supportedTypeNameList.indexOf(typeName) < 0) {\r\n return false;\r\n }\r\n\r\n element.classList.add(\"z--drag-container\")\r\n\r\n const cache = {\r\n idObjekt: null,\r\n idStelleninserat: null,\r\n hasBerechtigung: false\r\n };\r\n\r\n const getObjektInfo = async () => {\r\n const obj = getObjekt();\r\n if (!obj || !obj.Id) {\r\n return;\r\n }\r\n\r\n let currentTypeName = typeName\r\n let idObjekt = obj.Id;\r\n let idStelleninserat = null;\r\n\r\n if (typeName == \"TIP.ZIT.Business.Entities.Objekte.Bewerbungen.Bewerbung\") {\r\n if (!obj.Kopf || !obj.Kopf.IdPerson || !obj.Kopf.IdStelleninserat) {\r\n return null;\r\n }\r\n\r\n idObjekt = obj.Kopf.IdPerson;\r\n idStelleninserat = obj.Kopf.IdStelleninserat;\r\n currentTypeName = \"TIP.ZIT.Business.Entities.Objekte.Personen.Person\";\r\n }\r\n\r\n if (idObjekt != cache.idObjekt || idStelleninserat != cache.idStelleninserat) {\r\n const hasBerechtigung = await this._formEvalService.hasBerechtigungBearbeitung(\r\n currentTypeName,\r\n idObjekt);\r\n\r\n cache.idObjekt = idObjekt;\r\n cache.idStelleninserat = idStelleninserat;\r\n cache.hasBerechtigung = hasBerechtigung;\r\n }\r\n if (!cache.hasBerechtigung) {\r\n return null;\r\n }\r\n\r\n return {\r\n typeName: currentTypeName,\r\n idObjekt,\r\n idStelleninserat\r\n };\r\n }\r\n\r\n element.addEventListener(\"dragenter\", async (e) => {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n }, false);\r\n element.addEventListener(\"dragleave\", async (e) => {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n\r\n if (e.target != element) {\r\n return;\r\n }\r\n\r\n element.classList.remove(\"z--drag-container-active\");\r\n }, false);\r\n element.addEventListener(\"dragover\", async (e) => {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n \r\n const objInfo = await getObjektInfo();\r\n if (objInfo == null) {\r\n return;\r\n }\r\n\r\n element.classList.add(\"z--drag-container-active\");\r\n if (e.target != element) {\r\n } else {\r\n return;\r\n }\r\n });\r\n element.addEventListener(\"drop\", async (e) => {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n\r\n element.classList.remove(\"z--drag-container-active\");\r\n \r\n const hasValidFile = e.dataTransfer\r\n && e.dataTransfer.files\r\n && e.dataTransfer.files.length > 0;\r\n \r\n if (!hasValidFile) {\r\n return;\r\n }\r\n\r\n if (e.dataTransfer.files.length > 1) {\r\n DevExpress.ui.notify(\r\n \"Es kann max. ein Dokument gleichzeitig hochgeladen werden\",\r\n \"error\",\r\n 3000\r\n );\r\n\r\n return;\r\n }\r\n\r\n const file = e.dataTransfer.files[0];\r\n\r\n const objInfo = await getObjektInfo();\r\n if (objInfo == null) {\r\n return;\r\n }\r\n\r\n const dmsLink = await this._fileService.upload(file);\r\n\r\n this._customEditPopupService.dokumentEdit.show({\r\n setValuesOnModelWithKeyIdLoaded: {\r\n IdObjekt: objInfo.idObjekt\r\n },\r\n mappings: {\r\n \"$id\": 0,\r\n \"$v_dmsLinkDokument\": dmsLink,\r\n \"$v_dateiname\": file.name,\r\n \"$v_objektTypeFullname\": objInfo.typeName,\r\n \"$v_idStelleninserat\": objInfo.idStelleninserat,\r\n }\r\n });\r\n });\r\n\r\n return true;\r\n }\r\n\r\n saveDokument(idObjekt: number, idInformationsTyp: number, dmslink: string) {\r\n if (!dmslink) {\r\n return;\r\n }\r\n\r\n const dokumentToSave = this.getDokumentToSave(idObjekt, idInformationsTyp, dmslink)\r\n\r\n return this._restService.post({\r\n url: this._restService.getWebApiUrl(\"ZIT/Objekte/DokumentElement\"),\r\n data: dokumentToSave,\r\n increaseLoadingCount: true\r\n });\r\n }\r\n sendTan(data: { IdDokumentElement: number, DokumentCode: string }){\r\n return this._restService.post({\r\n url: this._restService.getApiUrl(\"ZIT/Dokument/SendTAN\"),\r\n data: data,\r\n increaseLoadingCount: true\r\n });\r\n }\r\n unterfertigenDokument(data: { IdDokumentElement: number, TAN: string }) {\r\n return this._restService.post({\r\n url: this._restService.getApiUrl(\"ZIT/Dokument/DokumentUnterfertigen\"),\r\n data: data,\r\n increaseLoadingCount: true\r\n });\r\n }\r\n validateCode(data: { IdDokumentElement: number, DokumentCode: string }) {\r\n return this._restService.post({\r\n url: this._restService.getApiUrl(\"ZIT/Dokument/DokumentCodeValidieren\"),\r\n data: data,\r\n increaseLoadingCount: true\r\n });\r\n }\r\n\r\n private getDokumentToSave(idObjekt: number, idInformationsTyp: number, dmslink: string) {\r\n return {\r\n IdObjekt: idObjekt || null,\r\n IdInformationstyp: idInformationsTyp || null,\r\n DMSLinkDokument: dmslink\r\n };\r\n }\r\n}\r\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';\r\nimport { computedFrom } from 'aurelia-binding';\r\nimport { autoinject } from 'aurelia-framework';\r\nimport { FileService } from '../../../framework/base/services/file-service';\r\n\r\n@autoinject\r\n@containerless\r\nexport class ZitImage {\r\n constructor(\r\n private file: FileService\r\n ) { }\r\n\r\n @bindable dmsLink;\r\n @bindable noImageIcon: string;\r\n @bindable noImageText: string;\r\n\r\n @computedFrom(\"dmsLink\")\r\n get imgSrc() {\r\n if (this.dmsLink == void 0) {\r\n return \"\";\r\n }\r\n\r\n return this.file.getInlineUrl(this.dmsLink);\r\n }\r\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';\r\nimport { IZitMarkersOptions } from './zit-markers-options';\r\nimport { CustomEditPopupService, MarkerService } from '../../../zit/services/export';\r\nimport { ScopeContainer } from '../../../framework/base/export';\r\nimport { BindingService } from '../../../framework/base/services/binding-service';\r\nimport { EventAggregator, Subscription } from 'aurelia-event-aggregator';\r\n\r\n@autoinject\r\nexport class ZitMarkers {\r\n private _refreshMarkerSubscription: Subscription;\r\n\r\n constructor(\r\n private customEditPopup: CustomEditPopupService,\r\n private marker: MarkerService,\r\n private binding: BindingService,\r\n private eventAggregator: EventAggregator\r\n ) { }\r\n \r\n @bindable options: IZitMarkersOptions;\r\n @bindable data: any;\r\n \r\n args: any;\r\n scopeContainer: ScopeContainer;\r\n\r\n activate(args: any) {\r\n this.args = args;\r\n }\r\n bind() {\r\n this.scopeContainer = new ScopeContainer({\r\n bindingContext: this,\r\n overrideContext: null\r\n });\r\n\r\n if (this.args) {\r\n this.options = {\r\n markerList: []\r\n };\r\n\r\n this.binding.observe({\r\n scopeContainer: this.scopeContainer,\r\n expression: \"args.idObjekt\",\r\n callback: (newVal) => {\r\n this.loadMarkers();\r\n }\r\n });\r\n\r\n if (this.args.idObjekt) {\r\n this.loadMarkers();\r\n }\r\n }\r\n if (this.options && this.options.idObjekt !== undefined) {\r\n this.binding.observe({\r\n scopeContainer: this.scopeContainer,\r\n expression: \"options.idObjekt\", \r\n callback: (newVal) => {\r\n this.loadMarkers();\r\n }\r\n });\r\n\r\n if (this.options.idObjekt) {\r\n this.loadMarkers();\r\n }\r\n }\r\n\r\n this._refreshMarkerSubscription = this.eventAggregator.subscribe(\"zit-markers:refresh\", e => {\r\n if (e.idObjekt != this.getIdObjekt()) {\r\n return;\r\n }\r\n\r\n this.loadMarkers();\r\n });\r\n }\r\n unbind() {\r\n this.scopeContainer.disposeAll();\r\n this._refreshMarkerSubscription.dispose();\r\n }\r\n\r\n onClick(event: MouseEvent) {\r\n event.stopPropagation();\r\n\r\n if (this.options.onClick == void 0) {\r\n const id = this.getIdObjekt();\r\n\r\n this.customEditPopup.markersAuswaehlen.show(\r\n {\r\n mappings: {\r\n \"$v_idObjekt\": id\r\n }\r\n }\r\n );\r\n return false;\r\n }\r\n\r\n this.options.onClick(event, this.data);\r\n }\r\n\r\n private loadMarkers() {\r\n this.marker.getObjektZugeordnetMarkers(this.getIdObjekt() || -1)\r\n .then(r => {\r\n this.options.markerList = r;\r\n\r\n if (this.data) {\r\n if (this.data.ObjektMarkerZuordnungen) {\r\n this.data.ObjektMarkerZuordnungen = r;\r\n }\r\n if (this.data.Data.ObjektMarkerZuordnungen) {\r\n this.data.Data.ObjektMarkerZuordnungen = r;\r\n }\r\n }\r\n });\r\n }\r\n private getIdObjekt(): number {\r\n return this.args\r\n ? this.args.idObjekt\r\n : (this.options && this.options.idObjekt !== undefined\r\n ? this.options.idObjekt\r\n : (this.data\r\n ? this.data.Id\r\n : null));\r\n }\r\n}\r\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';\r\nimport { BindingService, TemplatingExService } from './../../../framework/base/services/export';\r\nimport { autoinject, bindable, createOverrideContext, TemplatingEngine, noView, View } from 'aurelia-framework';\r\nimport { ScopeContainer } from '../../../framework/base/classes/scope-container';\r\nimport { IZitTagOptions, IZitTagIcon } from './zit-tag-options';\r\n\r\nimport * as template from \"html-loader!./zit-tag.xhtml\";\r\nimport * as templateInfo from \"html-loader!./zit-tag-info.xhtml\";\r\nimport * as moment from \"moment\";\r\nimport \"./zit-tag.less\";\r\nimport { IZitTagInfo } from './export';\r\nimport { ZitTagService } from '../../export';\r\nimport { FileService } from '../../../framework/base/export';\r\n\r\n@autoinject\r\n@noView\r\nexport class ZitTag {\r\n private _createdView: View;\r\n\r\n constructor(\r\n private binding: BindingService,\r\n private element: Element,\r\n private file: FileService,\r\n private templatingEngine: TemplatingEngine,\r\n private templatingExService: TemplatingExService,\r\n private zitTag: ZitTagService\r\n ) { }\r\n\r\n @bindable options: IZitTagOptions;\r\n @bindable @observable data: any;\r\n @bindable tagOptionName: string;\r\n\r\n owningView: any;\r\n scopeContainer: ScopeContainer;\r\n\r\n dataChanged(newVal) {\r\n if (!this.scopeContainer) {\r\n return;\r\n }\r\n\r\n this.scopeContainer.scope.bindingContext.item = newVal;\r\n }\r\n\r\n created(owningView: any, myView: any) {\r\n this.owningView = owningView;\r\n }\r\n\r\n bind(bindingContext, overrideContext) {\r\n this.scopeContainer = new ScopeContainer({\r\n bindingContext: {\r\n item: this.data\r\n },\r\n overrideContext: createOverrideContext(bindingContext, overrideContext)\r\n }, null);\r\n\r\n if (this.options == void 0 && this.tagOptionName != void 0) {\r\n this.options = this.zitTag.getTagOptions(this.tagOptionName);\r\n }\r\n\r\n const tagHtml = this.parseHtml(template);\r\n const j = tagHtml;\r\n\r\n if (this.options.onClick || this.options.isClickEnabled) {\r\n if (this.options.isClickEnabledExpression) {\r\n j.className = (j.className || \"\") + \"${\" + this.options.isClickEnabledExpression + \"?'z--clickable':'z--disabled'}\";\r\n } else if (this.options.isClickEnabled !== false) {\r\n j.classList.add(\"z--clickable\");\r\n }\r\n }\r\n\r\n if (this.options.text != void (0)) {\r\n j.querySelector(\".z--tag-text\").innerHTML = this.options.text;\r\n } else if (this.options.textExpression) {\r\n j.querySelector(\".z--tag-text\").innerHTML = \"${\" + this.options.textExpression + \"}\";\r\n }\r\n \r\n if (this.options.tooltip != void (0)) {\r\n j.setAttribute(\"title\", this.options.tooltip);\r\n } else if (this.options.tooltipExpression) {\r\n j.setAttribute(\"title\", \"${\" + this.options.tooltipExpression + \"}\")\r\n }\r\n\r\n if (this.options.useWhiteSpacePre) {\r\n (j.querySelector(\".z--tag-text\")).style.whiteSpace = \"pre\";\r\n }\r\n\r\n if (this.options.backgroundColor) {\r\n j.style.backgroundColor = this.options.backgroundColor;\r\n } else if (this.options.backgroundColorExpression) {\r\n this.addStyleExpr(j, \"background-color\", this.options.backgroundColorExpression);\r\n }\r\n\r\n if (this.options.color || this.options.colorExpression) {\r\n const t: HTMLElement = j.querySelector(\".z--tag-text\");\r\n if (t) {\r\n if (this.options.color) {\r\n t.style.color = this.options.color;\r\n } else if (this.options.colorExpression) {\r\n this.addStyleExpr(t, \"color\", this.options.colorExpression);\r\n }\r\n }\r\n }\r\n\r\n if (this.options.icon) {\r\n this.addIcon(j.querySelector(\".z--tag-main-icon\"), this.options.icon);\r\n }\r\n\r\n const tagInfoList = this.options.infoList\r\n ? this.options.infoList.map(i => i)\r\n : [];\r\n\r\n if (this.options.hasDefaultInfo) {\r\n tagInfoList.push(...this.getDefaultInfo());\r\n }\r\n\r\n if (tagInfoList.length > 0) {\r\n const infoList = j.querySelector(\".z--tag-info-list\");\r\n tagInfoList.forEach((info, index) => {\r\n const infoHtml = this.parseHtml(templateInfo);\r\n const ij = infoHtml;\r\n\r\n infoList.appendChild(infoHtml);\r\n\r\n const ina = `_m.options.infoList[${index}]`;\r\n\r\n if (info.onClick) {\r\n if (info.isClickEnabledExpression) {\r\n j.classList.add(\"${\" + info.isClickEnabledExpression + \" ? 'z--clickable' : 'z--disabled'}\");\r\n } else if (info.isClickEnabled !== false) {\r\n ij.classList.add(\"z--clickable\");\r\n }\r\n ij.setAttribute(\"click.trigger\", `_m.onInfoClick($event, ${ina})`);\r\n }\r\n\r\n if (info.backgroundColor) {\r\n ij.style.backgroundColor = info.backgroundColor;\r\n } else if (info.backgroundColorExpression) {\r\n this.addStyleExpr(ij, \"background-color\", info.backgroundColorExpression);\r\n }\r\n\r\n if (info.isVisible === false) {\r\n ij.setAttribute(\"if.bind\", \"false\");\r\n } else if (info.isVisibleExpression) {\r\n ij.setAttribute(\"if.bind\", info.isVisibleExpression);\r\n }\r\n\r\n if (info.color) {\r\n ij.style.color = info.color;\r\n } else if (info.colorExpression) {\r\n this.addStyleExpr(ij, \"color\", info.colorExpression);\r\n }\r\n\r\n if (info.icon) {\r\n this.addIcon(ij, info.icon);\r\n }\r\n });\r\n }\r\n\r\n const deleteEl = j.querySelector(\".z--tag-icon-delete\");\r\n if (this.options.isDeleteClickEnabled != void(0)) {\r\n if (!this.options.isDeleteClickEnabled) {\r\n deleteEl.parentElement.removeChild(deleteEl);\r\n }\r\n } else if (this.options.isDeleteClickEnabledExpression) {\r\n deleteEl.setAttribute(\"if.bind\", this.options.isDeleteClickEnabledExpression);\r\n } else {\r\n deleteEl.setAttribute(\"if.bind\", \"_m.options.onDeleteClick\");\r\n }\r\n\r\n this.element.appendChild(tagHtml);\r\n\r\n this._createdView = this.templatingEngine.enhance({\r\n element: tagHtml,\r\n resources: this.owningView.resources,\r\n bindingContext: {\r\n _m: this\r\n },\r\n overrideContext: createOverrideContext(this.scopeContainer.scope.bindingContext, this.scopeContainer.scope.overrideContext)\r\n });\r\n }\r\n unbind() {\r\n while (this.element.children.length > 0) {\r\n this.element.removeChild(this.element.children.item(0));\r\n }\r\n\r\n this.scopeContainer.disposeAll();\r\n\r\n if (this._createdView) {\r\n this.templatingExService.destroyView(this._createdView);\r\n this._createdView = null;\r\n }\r\n }\r\n\r\n onClick(event: MouseEvent) {\r\n if (this.options.onClick == void 0) {\r\n return false;\r\n }\r\n\r\n this.options.onClick(event, this.data);\r\n }\r\n onInfoClick(event: MouseEvent, info) {\r\n info.onClick(event, this.data, info);\r\n }\r\n onDeleteClick(event: MouseEvent) {\r\n if (this.options.onDeleteClick == void 0) {\r\n return false;\r\n }\r\n\r\n this.options.onDeleteClick(event, this.data);\r\n }\r\n\r\n private addStyleExpr(j: HTMLElement, attr: string, value: string) {\r\n j.setAttribute(\"css\", attr + \": ${\" + value + \"};\");\r\n }\r\n\r\n private addIcon(j: HTMLElement, icon: IZitTagIcon) {\r\n if (icon.backgroundColor) {\r\n j.style.backgroundColor = icon.backgroundColor;\r\n } else if (icon.backgroundColorExpression) {\r\n this.addStyleExpr(j, \"background-color\", icon.backgroundColorExpression.replace(/\\s/g, \"\"));\r\n }\r\n\r\n if (icon.faIcon) {\r\n const i = document.createElement(\"i\");\r\n i.classList.add(...icon.faIcon.split(\" \"));\r\n\r\n j.appendChild(i);\r\n } else if (icon.faIconExpression) {\r\n const i = document.createElement(\"i\");\r\n i.className = (i.className || \"\") + \"${\" + icon.faIconExpression + \"}\";\r\n\r\n j.appendChild(i);\r\n }\r\n if (icon.text) {\r\n const span = document.createElement(\"span\");\r\n span.innerHTML = icon.text;\r\n\r\n j.appendChild(span);\r\n } else if (icon.textExpression) {\r\n const span = document.createElement(\"span\");\r\n span.innerHTML = \"${\" + icon.textExpression.replace(/\\s/g, \"\") + \"}\";\r\n\r\n j.appendChild(span);\r\n }\r\n if (icon.dmsLinkIconExpression) {\r\n const imgKey = this.binding.evaluate(this.scopeContainer.scope, icon.dmsLinkIconExpression);\r\n const imgSrc = this.file.getInlineUrl(imgKey);\r\n const imgContainer = document.createElement(\"img\");\r\n imgContainer.setAttribute(\"src\", imgSrc)\r\n\r\n\r\n j.appendChild(imgContainer);\r\n }\r\n }\r\n\r\n private getDefaultInfo(): IZitTagInfo[] {\r\n const infoList: IZitTagInfo[] = [];\r\n const jetzt = moment();\r\n if (this.data.GueltigBis && moment(this.data.GueltigBis).isBefore(jetzt.startOf(\"day\"))) {\r\n infoList.push({\r\n color: \"red\",\r\n icon: {\r\n faIcon: \"fas fa-circle\",\r\n backgroundColor: \"red\"\r\n }\r\n });\r\n } else if (this.data.GueltigVon && moment(this.data.GueltigVon).isAfter(jetzt)\r\n || this.data.GueltigBis && jetzt.add(14, \"days\").isAfter(this.data.GueltigBis)) {\r\n infoList.push({\r\n color: \"orange\",\r\n icon: {\r\n faIcon: \"fas fa-circle\",\r\n backgroundColor: \"orange\"\r\n }\r\n });\r\n }\r\n\r\n if (this.data.IsInaktiv === true) {\r\n infoList.push({\r\n icon: {\r\n faIcon: \"far fa-trash-alt\"\r\n }\r\n });\r\n }\r\n\r\n return infoList;\r\n }\r\n\r\n private parseHtml(html: string): Element {\r\n const parser = new DOMParser();\r\n const doc = parser.parseFromString(html, \"text/html\");\r\n\r\n return doc.body.firstElementChild;\r\n }\r\n}\r\n","import { autoinject, optional, BindingEngine } from 'aurelia-framework';\r\nimport { IToolbarModel } from '../../../framework/forms/elements/toolbar/toolbar-model';\r\nimport { IToolbarOptions, IItem } from '../../../framework/forms/elements/toolbar/export';\r\nimport { FormBase } from '../../../framework/forms/classes/form-base';\r\nimport { ObjektInfoService } from '../../../zit/services/objekt-info-service';\r\nimport { BrowserService, LocalizationService, BindingService } from '../../../framework/base/export';\r\nimport { ContextMenu, CommandService, ICommandData } from '../../../framework/forms/export';\r\nimport { Subscription } from 'aurelia-event-aggregator';\r\nimport { Share } from '../../../zit/elements/share/share';\r\n\r\n@autoinject\r\nexport class ZitToolbar {\r\n private _subscriptionArr: Subscription[];\r\n\r\n constructor(\r\n private objektInfoService: ObjektInfoService,\r\n private browserService: BrowserService,\r\n private localizationService: LocalizationService,\r\n private commandService: CommandService,\r\n private bindingService: BindingService,\r\n private bindingEngine: BindingEngine\r\n ) { }\r\n\r\n model: IToolbarModel;\r\n options: IToolbarOptions;\r\n\r\n leftItems: IItem[] = [];\r\n rightItems: IItem[] = [];\r\n\r\n goBackItem: IItem;\r\n moreItem: IItem;\r\n moreItems: IItem[];\r\n\r\n activate(model: IToolbarModel) {\r\n this.options = model.options;\r\n\r\n model.optionsChanged = () => {\r\n this.options = model.options;\r\n this.updateItems(model.options);\r\n }\r\n\r\n if (!model.options) {\r\n return;\r\n }\r\n this.updateItems(model.options);\r\n }\r\n unbind() {\r\n this.removeSubscriptions();\r\n }\r\n\r\n updateItems(options: IToolbarOptions): IToolbarOptions {\r\n const leftItems: IItem[] = [];\r\n const rightItems: IItem[] = [];\r\n\r\n const form: FormBase = (options\r\n && options.scopeContainer\r\n && options.scopeContainer.scope\r\n && options.scopeContainer.scope.bindingContext\r\n && options.scopeContainer.scope.bindingContext instanceof FormBase\r\n && !options.smallToolbar)\r\n ? options.scopeContainer.scope.bindingContext\r\n : null;\r\n\r\n const isEditPopup = form\r\n && form.isEditPopup;\r\n\r\n let isObjektReadOrEdit = false;\r\n\r\n if (form) {\r\n const model = form.models.modelWithKeyId;\r\n if (model) {\r\n const objektInfo = this.objektInfoService.getObjektByWebApiUrl(model.webApiAction);\r\n if (objektInfo) {\r\n isObjektReadOrEdit = true;\r\n }\r\n }\r\n }\r\n\r\n options.items.forEach(item => {\r\n switch (item.id) {\r\n case \"$add\": {\r\n if (isEditPopup || isObjektReadOrEdit) {\r\n break;\r\n }\r\n\r\n if (item.title) {\r\n item.tooltip = item.title;\r\n item.title = null;\r\n }\r\n leftItems.push(item);\r\n break;\r\n }\r\n case \"$save\": {\r\n if (isEditPopup) {\r\n break;\r\n }\r\n\r\n if (item.title) {\r\n item.tooltip = item.title;\r\n item.title = null;\r\n }\r\n leftItems.push(item);\r\n break;\r\n }\r\n case \"$saveAndClose\": {\r\n if (!isEditPopup) {\r\n break;\r\n }\r\n\r\n if (item.title) {\r\n item.tooltip = item.title;\r\n item.title = null;\r\n }\r\n item.icon = \"fas fa-save\";\r\n\r\n rightItems.push(item);\r\n break;\r\n }\r\n case \"$delete\": {\r\n if (item.title) {\r\n item.tooltip = item.title;\r\n item.title = null;\r\n }\r\n item.icon = \"far fa-trash-alt\";\r\n\r\n if (isEditPopup) {\r\n rightItems.push(item);\r\n } else {\r\n leftItems.push(item);\r\n }\r\n\r\n break;\r\n }\r\n case \"$goBack\": {\r\n if (item.title) {\r\n item.tooltip = item.title;\r\n item.title = null;\r\n }\r\n item.icon = \"fas fa-times\";\r\n\r\n item.sortIndex = item.sortIndex + 10000;\r\n rightItems.push(item);\r\n break;\r\n }\r\n case \"$close\": {\r\n if (item.title) {\r\n item.tooltip = item.title;\r\n item.title = null;\r\n }\r\n\r\n item.sortIndex = item.sortIndex + 10000;\r\n rightItems.push(item);\r\n break;\r\n }\r\n case \"$listExcelExport\": {\r\n if (item.title) {\r\n item.tooltip = item.title;\r\n item.title = null;\r\n }\r\n\r\n leftItems.push(item);\r\n break;\r\n }\r\n case \"file-download\": {\r\n item.sortIndex = 1009;\r\n rightItems.push(item);\r\n break;\r\n }\r\n case \"file-upload\": {\r\n item.sortIndex = 1010;\r\n rightItems.push(item);\r\n break;\r\n }\r\n case \"file-delete\": {\r\n item.sortIndex = 1011;\r\n rightItems.push(item);\r\n break;\r\n }\r\n case \"$scrollDown\":\r\n case \"$scrollUp\":\r\n case \"$saveAndAdd\": {\r\n break;\r\n }\r\n default: {\r\n if (item.sortIndex >= 1000) {\r\n rightItems.push(item);\r\n } else {\r\n leftItems.push(item);\r\n }\r\n break;\r\n }\r\n }\r\n });\r\n\r\n leftItems.sort((a, b) => (a.sortIndex || 0) - (b.sortIndex || 0));\r\n rightItems.sort((a, b) => (a.sortIndex || 0) - (b.sortIndex || 0));\r\n this.optimizeMobile(form, leftItems, rightItems);\r\n\r\n this.leftItems = leftItems;\r\n this.rightItems = rightItems;\r\n\r\n return options;\r\n }\r\n\r\n onItemClick(item: IItem, event: Event) {\r\n const args = {\r\n event: event\r\n };\r\n\r\n if (!item.isVisible) {\r\n return;\r\n }\r\n if (!item.isEnabled) {\r\n return;\r\n }\r\n\r\n if (!item.execute) {\r\n return;\r\n }\r\n\r\n item.execute(args);\r\n }\r\n\r\n private removeSubscriptions() {\r\n if (!this._subscriptionArr) {\r\n return;\r\n }\r\n\r\n this._subscriptionArr.forEach(c => c.dispose());\r\n this._subscriptionArr.splice(0);\r\n }\r\n private optimizeMobile(form: FormBase, leftItems: IItem[], rightItems: IItem[]) {\r\n if (!this.browserService.isMobile) {\r\n return;\r\n }\r\n if ((this.options).layout === \"vertical\") {\r\n return;\r\n }\r\n\r\n this.removeSubscriptions();\r\n this._subscriptionArr = [];\r\n\r\n let items = [...leftItems, ...rightItems];\r\n\r\n items.forEach(item => {\r\n this._subscriptionArr.push(this.bindingEngine.propertyObserver(item, \"isVisible\").subscribe(() => {\r\n this.updateItems(this.options);\r\n }));\r\n this._subscriptionArr.push(this.bindingEngine.propertyObserver(item, \"isEnabled\").subscribe(() => {\r\n this.updateItems(this.options);\r\n }));\r\n });\r\n\r\n items = items\r\n .filter(item => \r\n this.commandService.isVisibleAndEnabled(item)\r\n && !item.template);\r\n\r\n leftItems.splice(0);\r\n rightItems.splice(0);\r\n\r\n //Wenn es weniger als 4 Elemente sind, dann werden alle angezeigt\r\n if (items.length < 4) {\r\n rightItems.push(...items);\r\n return;\r\n }\r\n\r\n //Prüfen ob es ein Speichern und Schließen gibt, diese werden auch immer angezeigt\r\n const saveItem = items.find(item => item.id == \"$save\" || item.id == \"$saveAndClose\");\r\n const closeItem = items.find(item => item.id == \"$goBack\" || item.id == \"$close\");\r\n const kameraItem = items.find(item => item.id == \"kameraCommand\");\r\n const videoItem = items.find(item => item.id == \"videoCommand\");\r\n const gallerieItem = items.find(item => item.id == \"gallerieCommand\");\r\n const nachrichtSendenItem = items.find(item => item.id == \"nachrichtErstellen\");\r\n const navPrevCommand = items.find(item => item.id == \"navPrevCommand\");\r\n const navNextCommand = items.find(item => item.id == \"navNextCommand\");\r\n const showNachrichtenCommand = items.find(item => item.id == \"showNachrichten\");\r\n const otherItems = items.filter(item => \r\n item != saveItem \r\n && item != closeItem \r\n && item != gallerieItem\r\n && item != kameraItem\r\n && item != videoItem\r\n && item != nachrichtSendenItem\r\n && item != navPrevCommand\r\n && item != navNextCommand\r\n && item != showNachrichtenCommand);\r\n\r\n //Restliche Items berechnen (2, da das Menü-Item auch eingefügt wird und damit eines weniger zur Verfügung steht)\r\n const rest = 2 - (saveItem ? 1 : 0) - (closeItem ? 1 : 0);\r\n\r\n const sortedItems = [];\r\n if (kameraItem) {\r\n sortedItems.push(kameraItem);\r\n }\r\n if (videoItem) {\r\n sortedItems.push(videoItem);\r\n }\r\n if (gallerieItem) {\r\n sortedItems.push(gallerieItem);\r\n }\r\n if (nachrichtSendenItem) {\r\n sortedItems.push(nachrichtSendenItem);\r\n }\r\n if (navPrevCommand) {\r\n sortedItems.push(navPrevCommand);\r\n }\r\n if (navNextCommand) {\r\n sortedItems.push(navNextCommand);\r\n }\r\n if (saveItem) {\r\n sortedItems.push(saveItem);\r\n }\r\n if (showNachrichtenCommand) {\r\n sortedItems.push(showNachrichtenCommand);\r\n }\r\n\r\n if (rest > 0) {\r\n sortedItems.push(...otherItems.slice(0, rest));\r\n otherItems.splice(0, rest);\r\n }\r\n\r\n if (otherItems.length > 0) {\r\n this.moreItem = {\r\n id: \"more\",\r\n icon: \"fas fa-ellipsis-v\",\r\n isVisible: true,\r\n isEnabled: true,\r\n execute: (e) => {\r\n const ctxMenu = new ContextMenu();\r\n this.moreItems.forEach(item => {\r\n if (item.id == \"actionCommand\"\r\n && form[\"r_share\"]) {\r\n const share: Share = form[\"r_share\"];\r\n share.loadCtxMenuItems(ctxMenu);\r\n return;\r\n }\r\n \r\n const text = item.title\r\n ? this.localizationService.translateOnce(item.title)\r\n : (item.tooltip\r\n ? this.localizationService.translateOnce(item.tooltip)\r\n : null);\r\n \r\n ctxMenu.items.push({\r\n text: text,\r\n execute: (e) => {\r\n item.execute({\r\n event: e.event\r\n });\r\n }\r\n });\r\n });\r\n \r\n ctxMenu.show(e.event.target);\r\n }\r\n };\r\n this.moreItems = [...otherItems];\r\n sortedItems.push(this.moreItem);\r\n } \r\n \r\n if (closeItem) {\r\n sortedItems.push(closeItem);\r\n }\r\n\r\n rightItems.push(...sortedItems);\r\n }\r\n}\r\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\";\r\nimport \"./styles/styles.less\";\r\nimport \"./styles/popup.less\";\r\n\r\nexport function configure(config: FrameworkConfiguration) { \r\n config\r\n .globalResources(PLATFORM.moduleName(\"./elements/zit-card/zit-card\"))\r\n .globalResources(PLATFORM.moduleName(\"./elements/zit-tag/zit-tag\"))\r\n .globalResources(PLATFORM.moduleName(\"./value-converters/address-value-converter\"))\r\n .globalResources(PLATFORM.moduleName(\"./value-converters/ansprechperson-value-converter\"))\r\n .globalResources(PLATFORM.moduleName(\"./value-converters/person-name-value-converter\"))\r\n .globalResources(PLATFORM.moduleName(\"./value-converters/bankverbindung-value-converter\"))\r\n .globalResources(PLATFORM.moduleName(\"./value-converters/enumeration-value-converter\"))\r\n .globalResources(PLATFORM.moduleName(\"./value-converters/geschlecht-value-converter\"))\r\n .globalResources(PLATFORM.moduleName(\"./value-converters/restrict-length-value-converter\"))\r\n .globalResources(PLATFORM.moduleName(\"./value-converters/moment-value-converter\"))\r\n .globalResources(PLATFORM.moduleName(\"./value-converters/format-date-ex-value-converter\"))\r\n .globalResources(PLATFORM.moduleName(\"./value-converters/pattern-value-converter\"))\r\n .globalResources(PLATFORM.moduleName(\"./value-converters/default-short-objekttyp-bezeichnung-value-converter\"))\r\n .globalResources(PLATFORM.moduleName(\"./value-converters/title-value-converter\"))\r\n .globalResources(PLATFORM.moduleName(\"./value-converters/minuten-text-value-converter\"))\r\n .globalResources(PLATFORM.moduleName(\"./value-converters/initialen-value-converter\"));\r\n}\r\n","export class ZitAddressValueConverter {\r\n toView(data: any, format: AddressFormat): string {\r\n if (data == void 0) {\r\n return \"\";\r\n }\r\n\r\n switch (format) {\r\n case AddressFormat.short:\r\n return this.shortFormat(data);\r\n case AddressFormat.shortWithStreet:\r\n return this.shortWithStrasse(data);\r\n case AddressFormat.einsatzort:\r\n return this.einsatzort(data);\r\n default:\r\n return data;\r\n }\r\n }\r\n\r\n einsatzort(data): string {\r\n if (!data || !data.Geschaeftspartner) {\r\n return \"\";\r\n }\r\n\r\n if (data.Adresse) {\r\n return data.Adresse;\r\n }\r\n\r\n const gp = data.Geschaeftspartner;\r\n if (!gp || !gp.Adressen || !gp.Adressen.Adressen || gp.Adressen.Adressen.length === 0) {\r\n return \"\";\r\n }\r\n\r\n //TODO Gültigkeit prüfen\r\n const adresse = gp.Adressen.Adressen[0];\r\n\r\n return `${this.shortWithStrasse(adresse, true)}`;\r\n }\r\n\r\n shortFormat(data: any, needsLand: boolean = false) {\r\n if (data.Land) {\r\n if (data.Land.KFZ && !needsLand) {\r\n return `${data.Land.KFZ}-${data.Postleitzahl} ${data.Ort}`;\r\n } else {\r\n return `${data.Postleitzahl} ${data.Ort}, ${data.Land.Bezeichnung}`;\r\n }\r\n }\r\n\r\n return `${data.Postleitzahl} ${data.Ort}`;\r\n }\r\n shortWithStrasse(data, needsLand: boolean = false) {\r\n const shortAdd = this.shortFormat(data, needsLand);\r\n const result = `${this.getStringValueOrEmpty(data.Strasse + this.getStringValueOrEmpty(data.StrasseZusatz, \" \"))}, ${shortAdd}`;\r\n return result;\r\n }\r\n\r\n private getStringValueOrEmpty(str: string, suffixValue: string = \" \") {\r\n if (!str) {\r\n return \"\";\r\n }\r\n\r\n return suffixValue + str;\r\n }\r\n}\r\n\r\nexport enum AddressFormat {\r\n short = \"short\",\r\n shortWithStreet = \"short:street\",\r\n einsatzort = \"einsatzort\"\r\n}","export class ZitAnsprechpersonValueConverter {\r\n toView(data: any, funcName: string, args?) {\r\n switch (funcName) {\r\n case (\"aktiv\"):\r\n return this.getAktiv(data.Ansprechpersonen);\r\n }\r\n }\r\n\r\n private getAktiv(data: any[]): string {\r\n if (!data) {\r\n return \"\";\r\n }\r\n const numberOf = data.length === 1\r\n ? \"Person\"\r\n : \"Personen\";\r\n const totalAktv = data.filter(c => { return c.Ansprechperson && c.Ansprechperson.IsInaktiv === false }).length;\r\n\r\n return `${data.length} ${numberOf}, davon ${totalAktv} aktiv`\r\n }\r\n}\r\n","export class ZitBankverbindungValueConverter {\r\n toView(data: any, funcName: string, args?) {\r\n switch (funcName) {\r\n case (\"IBAN\"):\r\n return this.getIban(data);\r\n }\r\n }\r\n\r\n private getIban(data): string {\r\n if (!data.IBAN) {\r\n return \"\";\r\n }\r\n\r\n const ibanFormatted = data.IBAN.match(/.{1,4}/g).join(\" \");\r\n\r\n return data.Waehrung\r\n ? `${ibanFormatted} | ${data.Waehrung.Bezeichnung}`\r\n : ibanFormatted;\r\n }\r\n}","import { autoinject } from 'aurelia-framework';\r\nimport { ObjektInfoService } from '../../zit/services/export';\r\n\r\n@autoinject\r\nexport class DefaultShortObjekttypBezeichnungValueConverter {\r\n constructor(\r\n private _objektInfoService: ObjektInfoService\r\n ) {}\r\n\r\n toView(value: string, objektTypShort: string) {\r\n if (value) {\r\n return value;\r\n }\r\n\r\n const r = this._objektInfoService.getObjektByName(objektTypShort);\r\n if (!r) {\r\n return objektTypShort;\r\n }\r\n\r\n return r.Bezeichnung;\r\n }\r\n}","export class ZitEnumerationValueConverter {\r\n toView(value: number, ...args: string[]) {\r\n const defaultResult = args.pop();\r\n\r\n return args[value] || defaultResult;\r\n }\r\n}","import { autoinject } from 'aurelia-framework';\r\nimport { GlobalizationService } from '../../framework/base/export';\r\n\r\nimport * as moment from \"moment\";\r\n\r\n@autoinject\r\nexport class FormatDateExValueConverter {\r\n constructor(\r\n private _globalizationService: GlobalizationService\r\n ) {}\r\n\r\n toView(date: Date) {\r\n if (!date) {\r\n return \"\";\r\n }\r\n\r\n const mDate = moment(date).startOf(\"day\");\r\n const today = moment().startOf(\"day\");\r\n \r\n if (mDate.isSame(today)) {\r\n return this._globalizationService.format(date, \"t\");\r\n } else if (today.diff(mDate, \"d\") <= 6) {\r\n return this._globalizationService.format(date, \"DT_dddd, HH:mm\");\r\n } else {\r\n return this._globalizationService.format(date, \"g\");\r\n }\r\n }\r\n}\r\n","import { Geschlecht } from '../../zit/enumerations/export';\r\n\r\nexport class ZitGeschlechtValueConverter {\r\n toView(typ: Geschlecht): string {\r\n if (typ == void 0) {\r\n return \"\";\r\n }\r\n\r\n switch (typ) {\r\n case Geschlecht.Maennlich: {\r\n return \"Herr\";\r\n }\r\n case Geschlecht.Weiblich: {\r\n return \"Frau\";\r\n }\r\n default: {\r\n return \"\";\r\n }\r\n }\r\n }\r\n}","import { autoinject } from 'aurelia-framework';\r\n\r\n@autoinject\r\nexport class ZitInitializenValueConverter {\r\n toView(data: string) {\r\n if (!data || !data.split) {\r\n return;\r\n }\r\n\r\n const tokens = data\r\n .split(\" \")\r\n .filter(c => c);\r\n\r\n if (tokens.length == 0) {\r\n return \"\";\r\n } else if (tokens.length == 1) {\r\n return tokens[0][0].toUpperCase();\r\n } else if (tokens.length == 2) {\r\n return tokens[1][0].toUpperCase();\r\n } else {\r\n return (tokens[1][0] + tokens[2][0]).toUpperCase();\r\n }\r\n }\r\n}\r\n","import { autoinject } from \"aurelia-framework\";\r\n\r\n@autoinject\r\nexport class ZitMinutenTextValueConverter {\r\n toView(minuten: number) {\r\n if (!minuten) {\r\n return null;\r\n }\r\n\r\n const minutenProStd = 60;\r\n const std = Math.floor(minuten/ minutenProStd);\r\n const min = minuten % minutenProStd;\r\n\r\n if (std > 0 && min > 0) {\r\n return `${std} St. ${min} min.`;\r\n } else if (std > 0) {\r\n return `${std} St.`;\r\n } else {\r\n return `${min} min.`;\r\n }\r\n }\r\n}\r\n","import { autoinject } from 'aurelia-framework';\r\nimport { GlobalizationService } from '../../framework/base/services/export';\r\nimport * as moment from \"moment\";\r\n@autoinject\r\nexport class ZitMomentValueConverter {\r\n constructor(\r\n private globalization: GlobalizationService\r\n ) { }\r\n\r\n toView(data: any, funcName: string, args?: any) {\r\n switch (funcName) {\r\n case \"dispoVonBis\":\r\n return this.getDispoVonBis(data, args);\r\n default: \r\n break;\r\n }\r\n\r\n if (!data) {\r\n return \"\";\r\n }\r\n\r\n switch (funcName) {\r\n case \"alter\":\r\n return this.getAlter(data);\r\n case \"zustand\":\r\n return this.getZustand(data, args);\r\n case \"fragebogenZustand\":\r\n return this.getFragebogenZustand(data);\r\n case \"vonBis\":\r\n return this.getVonBis(data, args);\r\n case \"von\":\r\n return this.getVon(data);\r\n case \"bis\":\r\n return this.getBis(data, args);\r\n case \"wochenTag\":\r\n return this.getWochenUndTag(data, args, true);\r\n case \"wochenTagZeit\":\r\n return this.getWochenUndTagUndZeit(data, args, true);\r\n case \"format\":\r\n return this.globalization.format(data, args);\r\n case \"personzuteilungVonBis\":\r\n return this.getPersonzuteilungVonBis(data);\r\n case \"personzuteilungMelden\":\r\n return this.getPersonzuteilungMelden(data);\r\n default:\r\n return this.globalization.format(data, \"d\");\r\n }\r\n }\r\n\r\n getAlter(date: Date) {\r\n if (!date) {\r\n return \"\";\r\n }\r\n\r\n return moment().diff(date, \"y\");\r\n }\r\n getVon(data: { von: Date, prefix: string, format: string }) {\r\n if (!data.von) {\r\n return \"\";\r\n }\r\n\r\n const prefix = data.prefix || \"von \";\r\n\r\n return `${prefix}${this.globalization.format(data.von, data.format || \"d\")}`;\r\n }\r\n\r\n getBis(bis: Date, von: Date) {\r\n if (!bis) {\r\n return \"\";\r\n }\r\n\r\n const prefix = von ? \"\" : \"bis \";\r\n return `${prefix}${this.globalization.format(bis, \"d\")}`;\r\n }\r\n getVonBis(data: { von: Date, bis: Date, prefix?: string, prefixSeparator?: string, format?: string }, args?: { separator?: string, vonPrefix?: string, bisPrefix?: string }): string {\r\n const dataPrefix = data.prefix || \"\";\r\n if (!data || !data.von && !data.bis) {\r\n return dataPrefix;\r\n }\r\n const prefix = dataPrefix\r\n ? `${dataPrefix} ${data.prefixSeparator ? data.prefixSeparator : \", \"}`\r\n : \"\";\r\n\r\n const separator = args && args.separator\r\n ? args.separator\r\n : \"-\";\r\n\r\n if (data.von && data.bis) {\r\n return `${prefix}${this.globalization.format(data.von, data.format || \"d\")} ${separator} ${this.globalization.format(data.bis, data.format || \"d\")}`\r\n }\r\n //TODO use translation\r\n const datePrefix = data.von\r\n ? args.vonPrefix || \"von\"\r\n : args.bisPrefix || \"bis\";\r\n\r\n const date = this.globalization.format(data.von || data.bis, \"d\");\r\n\r\n return `${dataPrefix}${datePrefix} ${date}`;\r\n }\r\n getWochenUndTag(date: Date, pattern: string = \" ({0})\", showDay: boolean = false) {\r\n //TODO formater = Globalize.dateFormatter({ skeleton: \"E\" });\r\n if (!date) {\r\n return \"\";\r\n }\r\n\r\n return showDay\r\n ? `${this.globalization.format(date, \"d\")} ${this.getWochenTag(date, pattern).toUpperCase()}`\r\n : this.getWochenTag(date, pattern).toUpperCase();\r\n }\r\n getWochenUndTagUndZeit(date: Date, args: { start: Date, pattern: string }, showDay: boolean = false) {\r\n if (!date) {\r\n return \"\";\r\n }\r\n\r\n return showDay\r\n ? `${this.globalization.format(date, \"d\")} ${this.getWochenTag(date, args.pattern).toUpperCase()} ${this.getZeit(args.start)}`\r\n : this.getWochenTag(date, args.pattern).toUpperCase();\r\n }\r\n\r\n getZustand(prefix: string, date: Date, isDateVisible: boolean = true) {\r\n if (!isDateVisible) {\r\n return prefix;\r\n }\r\n return `${prefix}, am ${this.globalization.format(date, \"d\")} um ${this.globalization.format(date, \"t\")} Uhr`\r\n }\r\n getFragebogenZustand(data: any) {\r\n let text = this.getZustand(data.Zustand.Bezeichnung, data.ZustandDatum);\r\n\r\n if (data.ShowProzentRichtig) {\r\n text += ` (${this.globalization.format(data.ProzentRichtig, \"p2\")} richtig)`;\r\n }\r\n\r\n return text;\r\n }\r\n\r\n getDispoVonBis(von: Date, args: { bis: Date, vonZeit?: Date, bisZeit?: Date }, separator: string = \" - \") {\r\n if (!von && !args.bis) {\r\n return \"\";\r\n }\r\n\r\n const vonText = von\r\n ? this.getDatumZeitWochenTag(von, args.vonZeit || null)\r\n : null;\r\n\r\n if (!args.bis) {\r\n return \"von \" + vonText;\r\n }\r\n\r\n const bisText = this.getDatumZeitWochenTag(args.bis, args.bisZeit || null);\r\n\r\n return vonText && bisText\r\n ? `${vonText}${separator}${bisText}`\r\n : vonText\r\n ? vonText\r\n : `bis: ${bisText}`\r\n }\r\n\r\n getPersonzuteilungVonBis(data) {\r\n const von: Date = data.ZeitraumVonDatum || data.DispoPlanstelle.Eigenschaften.ZeitraumVonDatum;\r\n const bis: Date = data.ZeitraumBisDatum || data.DispoPlanstelle.Eigenschaften.ZeitraumBisDatum;\r\n const vonZeit: Date = von === data.ZeitraumVonDatum\r\n ? data.ZeitraumVonZeit\r\n : data.DispoPlanstelle.Eigenschaften.ZeitraumVonZeit;\r\n const bisZeit: Date = bis === data.ZeitraumBisDatum\r\n ? data.ZeitraumBisZeit\r\n : data.DispoPlanstelle.Eigenschaften.ZeitraumBisZeit;\r\n\r\n return this.getDispoVonBis(von, { bis: bis, vonZeit: vonZeit, bisZeit: bisZeit }, \" bis \");\r\n }\r\n\r\n getPersonzuteilungMelden(data) {\r\n const am = data.MeldenAm || data.DispoPlanstelle.Eigenschaften.MeldenAm;\r\n const um = data.MeldenUm || data.DispoPlanstelle.Eigenschaften.MeldenUm;\r\n const meldenBei = data.MeldenBei || data.DispoPlanstelle.Eigenschaften.MeldenBei;\r\n const meldenAm = this.getWochenTag(am, \" am \" + this.globalization.format(am, \"d\") + \" ({0}) \");\r\n const meldenUm = this.getZeit(um, \" {0} Uhr \");\r\n\r\n return `melde dich bitte ${meldenAm}${meldenUm}${meldenBei ? \"bei \" + meldenBei : \"\"}`\r\n }\r\n\r\n getDatumZeitWochenTag(date: Date, zeit?: Date) {\r\n if (!date) {\r\n return \"\";\r\n }\r\n\r\n const zeitString = zeit ? ` ${this.globalization.format(zeit, \"t\")} ` : \" \";\r\n\r\n return `${this.globalization.format(date, \"d\")}${zeitString}${this.getWochenUndTag(date)}`\r\n }\r\n\r\n getZeit(date: Date, pattern: string = \"um {0} Uhr\") {\r\n if (!date) {\r\n return \"\";\r\n }\r\n\r\n return `${pattern.replace(\"{0}\", this.globalization.format(date, \"t\"))}`\r\n }\r\n\r\n private getWochenTag(date: Date, pattern: string = \"({0})\") {\r\n //TODO globalization\r\n if (!date) {\r\n return \"\";\r\n }\r\n\r\n return `${pattern.replace(\"{0}\", moment(date).locale(\"de\").format(\"dd\").toUpperCase())}`\r\n }\r\n}\r\n","export class ZitPatternValueConverter {\r\n constructor() { }\r\n toView(): string {\r\n let text: string = arguments[0];\r\n\r\n const parameters: string[] = [];\r\n for (let i = 1, j = arguments.length; i < j; i++) {\r\n parameters.push(arguments[i]);\r\n }\r\n\r\n\r\n parameters.forEach((val, index) => {\r\n const regExp = val\r\n ? new RegExp(\"\\\\{\" + index + \"\\\\}\", \"g\")\r\n : new RegExp(\"[^\\s]\\\\{\" + index + \"\\\\}[^\\s]\", \"g\");\r\n\r\n text = text.replace(new RegExp(\"\\\\{\" + index + \"\\\\}\", \"g\"), val || \"\");\r\n });\r\n\r\n return text;\r\n }\r\n}","import { Geschlecht } from '../../zit/enumerations/export';\r\n\r\nexport class ZitPersonNameValueConverter {\r\n toView(model: any, format: NameFormat): string {\r\n if (model == void 0) {\r\n return \"\";\r\n }\r\n const data = model.Personendaten || model;\r\n\r\n switch (format) {\r\n case NameFormat.short:\r\n return this.shortName(data);\r\n case NameFormat.mitGeschlecht:\r\n return this.shortMitGeschlecht(data);\r\n case NameFormat.long:\r\n return this.longName(data);\r\n default:\r\n return data;\r\n }\r\n }\r\n\r\n private longName(data: any) {\r\n const name = this.shortName(data);\r\n const anrede = this.getGeschlect(data.Geschlecht);\r\n\r\n const result = `${this.getStringValueOrEmpty(anrede)}\r\n ${this.getStringValueOrEmpty(data.TitelVorne)}\r\n ${name}\r\n ${this.getStringValueOrEmpty(data.TitelHinten)}`;\r\n\r\n return result;\r\n }\r\n private shortName(data: any) {\r\n return `${data.Vorname} ${data.Nachname}`;\r\n }\r\n private shortMitGeschlecht(data: any) {\r\n const geschlecht = this.getStringValueOrEmpty(this.getGeschlect(data.Geschlecht), \" \", true);\r\n\r\n return `${geschlecht}${data.Vorname} ${data.Nachname}`;\r\n }\r\n\r\n private getGeschlect(typ: Geschlecht) {\r\n if (typ == void 0) {\r\n return \"\";\r\n }\r\n\r\n switch (typ) {\r\n case Geschlecht.Maennlich: {\r\n return \"Herr\";\r\n }\r\n case Geschlecht.Weiblich: {\r\n return \"Frau\";\r\n }\r\n default: {\r\n return \"\";\r\n }\r\n }\r\n }\r\n private getStringValueOrEmpty(str: string, suffixValue: string = \" \", isPrefix: boolean = false) {\r\n if (str == void 0) {\r\n return \"\";\r\n }\r\n\r\n\r\n return isPrefix\r\n ? str + suffixValue\r\n : suffixValue + str;\r\n }\r\n}\r\n\r\nexport enum NameFormat {\r\n short = \"short\",\r\n mitGeschlecht = \"mitGeschlecht\",\r\n long = \"long\"\r\n}","export class ZitRestrictLengthValueConverter {\r\n toView(text: string, maxLength: number) {\r\n if (!text) {\r\n return \"\";\r\n }\r\n return text.length >= maxLength\r\n ? `${text.substr(0, maxLength)}...`\r\n : text;\r\n }\r\n}\r\n","\r\nexport class ZitSortValueConverter {\r\n toView(array, property, direction) {\r\n if (!array)\r\n return array;\r\n let pname = property;\r\n let factor = direction.match(/^desc*/i) ? 1 : -1;\r\n var retvalue = array.sort((a, b) => {\r\n var textA = a.toUpperCase ? a[property].toUpperCase() : a[property];\r\n var textB = b.toUpperCase ? b[property].toUpperCase() : b[property];\r\n return (textA < textB) ? factor : (textA > textB) ? -factor : 0;\r\n });\r\n return retvalue;\r\n }\r\n}","import { autoinject } from \"aurelia-framework\";\r\nimport { StartupService } from \"../../zit/services/export\";\r\nimport { BrowserService } from \"../../framework/base/export\";\r\n\r\n@autoinject\r\nexport class TitleValueConverter {\r\n constructor(\r\n private _startupService: StartupService,\r\n private _browserService: BrowserService\r\n ) {}\r\n\r\n toView(route: string, defaultTitle: string) {\r\n if (!route) {\r\n return defaultTitle;\r\n }\r\n\r\n const menu = this._startupService\r\n .startupInfo\r\n .MenuList\r\n .find((m) => m.Route == route);\r\n\r\n if (!menu) {\r\n return defaultTitle;\r\n }\r\n\r\n return this._browserService.isMobile\r\n ? menu.BezeichnungMobil\r\n : menu.BezeichnungDesktop;\r\n }\r\n}","import * as fwx from \"../../../framework/forms/form-export\";\r\nimport {\r\n AppLoginFormFuncs\r\n} from \"./app-login-form-funcs\";\r\n\r\n@fwx.autoinject\r\nexport class AppLoginForm extends fwx.FormBase {\r\n constructor(\r\n element: Element,\r\n formBaseImport: fwx.FormBaseImport,\r\n private $f: AppLoginFormFuncs) {\r\n super(element, formBaseImport);\r\n this.id = \"app-login-form\";\r\n this.title = \"app-login-form.app-login-form_caption\";\r\n this.addFunction(\"$f\", $f, \"functions.$f\");\r\n this.widgetCreator.addValidationGroup(this, {\r\n \"id\": \"wd1\",\r\n \"options\": {\r\n \"optionsName\": \"wd1Options\",\r\n \"optionsNameFQ\": \"wd1Options\"\r\n }\r\n });\r\n super.onConstructionFinished();\r\n }\r\n}","module.exports = \"\";","import * as fwx from \"../../../framework/forms/form-export\";\r\nimport {\r\n AutoLoginFormFuncs\r\n} from \"./auto-login-form-funcs\";\r\n\r\n@fwx.autoinject\r\nexport class AutoLoginForm extends fwx.FormBase {\r\n constructor(\r\n element: Element,\r\n formBaseImport: fwx.FormBaseImport,\r\n private $f: AutoLoginFormFuncs) {\r\n super(element, formBaseImport);\r\n this.id = \"auto-account-form\";\r\n this.title = \"auto-account-form.auto-account-form_caption\";\r\n this.addFunction(\"$f\", $f, \"functions.$f\");\r\n this.widgetCreator.addValidationGroup(this, {\r\n \"id\": \"wd1\",\r\n \"options\": {\r\n \"optionsName\": \"wd1Options\",\r\n \"optionsNameFQ\": \"wd1Options\"\r\n }\r\n });\r\n super.onConstructionFinished();\r\n }\r\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\";\r\nimport { RestService, AuthorizationService } from \"../../../framework/base/export\";\r\nimport { BrowserService } from \"../../../framework/base/services/browser-service\";\r\nimport { EventAggregator, Subscription } from \"aurelia-event-aggregator\";\r\n\r\n@autoinject\r\nexport class Content {\r\n private _windowResizeSubscription: Subscription;\r\n private _routerViewItemCreatedSubscription: Subscription;\r\n private _routerViewItemRemovedSubscription: Subscription;\r\n\r\n constructor(\r\n private _element: Element,\r\n private _restService: RestService,\r\n private _browserService: BrowserService,\r\n private _authorizationService: AuthorizationService,\r\n private _eventAggregator: EventAggregator,\r\n private _taskQueue: TaskQueue\r\n ) {\r\n const randomKey = new Date()\r\n .getTime()\r\n .toString() \r\n \r\n + Math\r\n .floor((Math.random() * 100))\r\n .toString();\r\n\r\n let url = `ZIT/Domaene/Hintergrundbild?key=${randomKey}`;\r\n\r\n const authKey = this._authorizationService.getAuthorizationKey();\r\n if (authKey) {\r\n url += `&auth-token=${encodeURIComponent(authKey)}`;\r\n }\r\n\r\n const hintergrundUrl = _restService.getApiUrl(url);\r\n this.contentStyle = {\r\n \"background-image\": `url(${hintergrundUrl})`\r\n };\r\n }\r\n\r\n contentStyle: any;\r\n\r\n bind() {\r\n if (this._browserService.isIE) {\r\n this._windowResizeSubscription = this._eventAggregator.subscribe(\"window:resize\", () => {\r\n this.refreshHeight();\r\n });\r\n }\r\n if (this._browserService.isIE || this._browserService.isEdge) {\r\n this._routerViewItemCreatedSubscription = this._eventAggregator.subscribe(\"router:view-item-created\", () => {\r\n this.publishWindowResize();\r\n });\r\n this._routerViewItemRemovedSubscription = this._eventAggregator.subscribe(\"router:view-item-removed\", () => {\r\n this.publishWindowResize();\r\n });\r\n } \r\n }\r\n unbind() {\r\n if (this._windowResizeSubscription) {\r\n this._windowResizeSubscription.dispose();\r\n }\r\n if (this._routerViewItemCreatedSubscription) {\r\n this._routerViewItemCreatedSubscription.dispose();\r\n }\r\n if (this._routerViewItemRemovedSubscription) {\r\n this._routerViewItemRemovedSubscription.dispose();\r\n }\r\n }\r\n\r\n attached() {\r\n if (this._browserService.isIE) {\r\n this._taskQueue.queueTask(() => {\r\n this.refreshHeight();\r\n });\r\n }\r\n }\r\n\r\n private publishWindowResize() {\r\n this._taskQueue.queueTask(() => {\r\n this._eventAggregator.publish(\"window:resize\", {});\r\n });\r\n }\r\n private refreshHeight() {\r\n const htmlElement: HTMLElement = this._element;\r\n\r\n const height = window.innerHeight;\r\n const top = htmlElement.offsetTop;\r\n\r\n htmlElement.style.height = (height - top) + \"px\";\r\n }\r\n}\r\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 {\r\n autoinject,\r\n computedFrom\r\n} from \"aurelia-framework\";\r\nimport {\r\n LoadingService\r\n} from \"../../services/loading-service\";\r\n\r\n@autoinject\r\nexport class Loading {\r\n constructor(\r\n private loading: LoadingService\r\n ) { }\r\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\";\r\nimport {\r\n ActivateAccountFuncs\r\n} from \"./activate-account-form-funcs\";\r\n\r\n@fwx.autoinject\r\nexport class ActivateAccountForm extends fwx.FormBase {\r\n constructor(\r\n element: Element,\r\n formBaseImport: fwx.FormBaseImport,\r\n private $f: ActivateAccountFuncs) {\r\n super(element, formBaseImport);\r\n this.id = \"activate-account-form\";\r\n this.title = \"activate-account-form.activate-account-form_caption\";\r\n this.addModel({\r\n \"id\": \"$m_activateAccount\",\r\n \"filters\": []\r\n });\r\n this.addFunction(\"$f\", $f, \"functions.$f\");\r\n this.widgetCreator.addValidationGroup(this, {\r\n \"id\": \"wd1\",\r\n \"options\": {\r\n \"optionsName\": \"wd1Options\",\r\n \"optionsNameFQ\": \"wd1Options\"\r\n }\r\n });\r\n this.widgetCreator.addTextBox(this, {\r\n \"caption\": \"activate-account-form.benutzer_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_activateAccount\",\r\n \"bindTo\": \"Benutzername\",\r\n \"bindToFQ\": \"models.data.$m_activateAccount.Benutzername\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"benutzer\",\r\n \"options\": {\r\n \"optionsName\": \"benutzerOptions\",\r\n \"optionsNameFQ\": \"benutzerOptions\"\r\n }\r\n });\r\n this.widgetCreator.addTextBox(this, {\r\n \"mode\": \"password\",\r\n \"caption\": \"activate-account-form.password_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_activateAccount\",\r\n \"bindTo\": \"Passwort1\",\r\n \"bindToFQ\": \"models.data.$m_activateAccount.Passwort1\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"password\",\r\n \"options\": {\r\n \"optionsName\": \"passwordOptions\",\r\n \"optionsNameFQ\": \"passwordOptions\"\r\n }\r\n });\r\n this.widgetCreator.addTextBox(this, {\r\n \"mode\": \"password\",\r\n \"caption\": \"activate-account-form.confirmpassword_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_activateAccount\",\r\n \"bindTo\": \"Passwort2\",\r\n \"bindToFQ\": \"models.data.$m_activateAccount.Passwort2\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"confirmPassword\",\r\n \"options\": {\r\n \"optionsName\": \"confirmPasswordOptions\",\r\n \"optionsNameFQ\": \"confirmPasswordOptions\"\r\n }\r\n });\r\n this.widgetCreator.addCommand(this, {\r\n \"id\": \"wd2\",\r\n \"options\": {\r\n \"optionsName\": \"wd2Options\",\r\n \"optionsNameFQ\": \"wd2Options\"\r\n },\r\n \"binding\": {\r\n \"bindTo\": \"$f.activateCommand\",\r\n \"bindToFQ\": \"functions.$f.activateCommand\"\r\n }\r\n });\r\n this.widgetCreator.addCommand(this, {\r\n \"id\": \"wd3\",\r\n \"options\": {\r\n \"optionsName\": \"wd3Options\",\r\n \"optionsNameFQ\": \"wd3Options\"\r\n },\r\n \"binding\": {\r\n \"bindTo\": \"$f.backToLoginCommand\",\r\n \"bindToFQ\": \"functions.$f.backToLoginCommand\"\r\n }\r\n });\r\n super.onConstructionFinished();\r\n }\r\n}","module.exports = \"\";","import * as fwx from \"../../../../../framework/forms/form-export\";\r\nimport {\r\n LoginTanFuncs\r\n} from \"./login-tan-funcs\";\r\n\r\n@fwx.autoinject\r\nexport class LoginTanForm extends fwx.FormBase {\r\n constructor(\r\n element: Element,\r\n formBaseImport: fwx.FormBaseImport,\r\n private $f: LoginTanFuncs) {\r\n super(element, formBaseImport);\r\n this.id = \"login-tan-form\";\r\n this.title = \"login-tan-form.login-tan-form_caption\";\r\n this.addModel({\r\n \"id\": \"$m_logintan\",\r\n \"filters\": []\r\n });\r\n this.addFunction(\"$f\", $f, \"functions.$f\");\r\n this.widgetCreator.addValidationGroup(this, {\r\n \"id\": \"wd1\",\r\n \"options\": {\r\n \"optionsName\": \"wd1Options\",\r\n \"optionsNameFQ\": \"wd1Options\"\r\n }\r\n });\r\n this.widgetCreator.addTextBox(this, {\r\n \"caption\": \"login-tan-form.tan_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_logintan\",\r\n \"bindTo\": \"Tan\",\r\n \"bindToFQ\": \"models.data.$m_logintan.Tan\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"tan\",\r\n \"options\": {\r\n \"optionsName\": \"tanOptions\",\r\n \"optionsNameFQ\": \"tanOptions\"\r\n }\r\n });\r\n this.widgetCreator.addCommand(this, {\r\n \"id\": \"wd2\",\r\n \"options\": {\r\n \"optionsName\": \"wd2Options\",\r\n \"optionsNameFQ\": \"wd2Options\"\r\n },\r\n \"binding\": {\r\n \"bindTo\": \"$f.loginCommand\",\r\n \"bindToFQ\": \"functions.$f.loginCommand\"\r\n }\r\n });\r\n this.widgetCreator.addCommand(this, {\r\n \"id\": \"wd3\",\r\n \"options\": {\r\n \"optionsName\": \"wd3Options\",\r\n \"optionsNameFQ\": \"wd3Options\"\r\n },\r\n \"binding\": {\r\n \"bindTo\": \"$f.zuerueckCommand\",\r\n \"bindToFQ\": \"functions.$f.zuerueckCommand\"\r\n }\r\n });\r\n super.onConstructionFinished();\r\n }\r\n}","module.exports = \"\";","import * as fwx from \"../../../../../framework/forms/form-export\";\r\nimport {\r\n LoginFuncs\r\n} from \"./login-form-funcs\";\r\n\r\n@fwx.autoinject\r\nexport class LoginForm extends fwx.FormBase {\r\n constructor(\r\n element: Element,\r\n formBaseImport: fwx.FormBaseImport,\r\n private $f: LoginFuncs) {\r\n super(element, formBaseImport);\r\n this.id = \"login-form\";\r\n this.title = \"login-form.login-form_caption\";\r\n this.addModel({\r\n \"id\": \"$m_login\",\r\n \"filters\": []\r\n });\r\n this.addFunction(\"$f\", $f, \"functions.$f\");\r\n this.widgetCreator.addValidationGroup(this, {\r\n \"id\": \"wd1\",\r\n \"options\": {\r\n \"optionsName\": \"wd1Options\",\r\n \"optionsNameFQ\": \"wd1Options\"\r\n }\r\n });\r\n this.widgetCreator.addTextBox(this, {\r\n \"caption\": \"login-form.username_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_login\",\r\n \"bindTo\": \"Username\",\r\n \"bindToFQ\": \"models.data.$m_login.Username\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"username\",\r\n \"options\": {\r\n \"optionsName\": \"usernameOptions\",\r\n \"optionsNameFQ\": \"usernameOptions\"\r\n }\r\n });\r\n this.widgetCreator.addTextBox(this, {\r\n \"mode\": \"password\",\r\n \"caption\": \"login-form.password_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_login\",\r\n \"bindTo\": \"Password\",\r\n \"bindToFQ\": \"models.data.$m_login.Password\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"password\",\r\n \"options\": {\r\n \"optionsName\": \"passwordOptions\",\r\n \"optionsNameFQ\": \"passwordOptions\"\r\n }\r\n });\r\n this.widgetCreator.addCheckBox(this, {\r\n \"caption\": \"login-form.stayloggodon_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_login\",\r\n \"bindTo\": \"StayLoggedOn\",\r\n \"bindToFQ\": \"models.data.$m_login.StayLoggedOn\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"stayLoggodOn\",\r\n \"options\": {\r\n \"optionsName\": \"stayLoggodOnOptions\",\r\n \"optionsNameFQ\": \"stayLoggodOnOptions\"\r\n }\r\n });\r\n this.widgetCreator.addCommand(this, {\r\n \"id\": \"wd2\",\r\n \"options\": {\r\n \"optionsName\": \"wd2Options\",\r\n \"optionsNameFQ\": \"wd2Options\"\r\n },\r\n \"binding\": {\r\n \"bindTo\": \"$f.loginCommand\",\r\n \"bindToFQ\": \"functions.$f.loginCommand\"\r\n }\r\n });\r\n this.widgetCreator.addCommand(this, {\r\n \"id\": \"wd3\",\r\n \"options\": {\r\n \"optionsName\": \"wd3Options\",\r\n \"optionsNameFQ\": \"wd3Options\"\r\n },\r\n \"binding\": {\r\n \"bindTo\": \"$f.tanAnfordernCommand\",\r\n \"bindToFQ\": \"functions.$f.tanAnfordernCommand\"\r\n }\r\n });\r\n super.onConstructionFinished();\r\n }\r\n}","module.exports = \"\";","import * as fwx from \"../../../../../framework/forms/form-export\";\r\nimport {\r\n LoginprofilFuncs\r\n} from \"./loginprofil-form-funcs\";\r\n\r\n@fwx.autoinject\r\nexport class LoginprofilForm extends fwx.FormBase {\r\n constructor(\r\n element: Element,\r\n formBaseImport: fwx.FormBaseImport,\r\n private $f: LoginprofilFuncs) {\r\n super(element, formBaseImport);\r\n this.id = \"loginprofil-form\";\r\n this.title = \"loginprofil-form.loginprofil-form_caption\";\r\n this.addModel({\r\n \"id\": \"$m_Loginprofil\",\r\n \"filters\": []\r\n });\r\n this.addFunction(\"$f\", $f, \"functions.$f\");\r\n this.widgetCreator.addValidationGroup(this, {\r\n \"id\": \"wd1\",\r\n \"options\": {\r\n \"optionsName\": \"wd1Options\",\r\n \"optionsNameFQ\": \"wd1Options\"\r\n }\r\n });\r\n this.widgetCreator.addSelectBox(this, {\r\n \"idSelect\": \"loginprofil\",\r\n \"filters\": [{\r\n \"webApiCustomKey\": \"IgnoreMandant\",\r\n \"webApiCustomValue\": \"true\"\r\n }, {\r\n \"webApiCustomKey\": \"CheckDomain\",\r\n \"webApiCustomValue\": \"true\"\r\n }],\r\n \"binding\": {\r\n \"dataContext\": \"$m_Loginprofil\",\r\n \"bindTo\": \"Id\",\r\n \"bindToFQ\": \"models.data.$m_Loginprofil.Id\"\r\n },\r\n \"validationRules\": [{\r\n \"binding\": {\r\n \"dataContext\": \"$f\",\r\n \"bindTo\": \"requiredValidationRule\",\r\n \"bindToFQ\": \"functions.$f.requiredValidationRule\"\r\n }\r\n }],\r\n \"id\": \"r_loginprofil\",\r\n \"options\": {\r\n \"optionsName\": \"r_loginprofilOptions\",\r\n \"optionsNameFQ\": \"r_loginprofilOptions\"\r\n }\r\n });\r\n this.widgetCreator.addCommand(this, {\r\n \"id\": \"wd2\",\r\n \"options\": {\r\n \"optionsName\": \"wd2Options\",\r\n \"optionsNameFQ\": \"wd2Options\"\r\n },\r\n \"binding\": {\r\n \"bindTo\": \"$f.loginprofilCommand\",\r\n \"bindToFQ\": \"functions.$f.loginprofilCommand\"\r\n }\r\n });\r\n this.widgetCreator.addCommand(this, {\r\n \"id\": \"wd3\",\r\n \"options\": {\r\n \"optionsName\": \"wd3Options\",\r\n \"optionsNameFQ\": \"wd3Options\"\r\n },\r\n \"binding\": {\r\n \"bindTo\": \"$f.zuerueckCommand\",\r\n \"bindToFQ\": \"functions.$f.zuerueckCommand\"\r\n }\r\n });\r\n super.onConstructionFinished();\r\n }\r\n}","module.exports = \"\";","import * as fwx from \"../../../../../framework/forms/form-export\";\r\nimport {\r\n PasswordConfirmFuncs\r\n} from \"./password-confirm-form-funcs\";\r\n\r\n@fwx.autoinject\r\nexport class PasswordConfirmForm extends fwx.FormBase {\r\n constructor(\r\n element: Element,\r\n formBaseImport: fwx.FormBaseImport,\r\n private $f: PasswordConfirmFuncs) {\r\n super(element, formBaseImport);\r\n this.id = \"password-confirm-form\";\r\n this.title = \"password-confirm-form.password-confirm-form_caption\";\r\n this.addModel({\r\n \"id\": \"$m_Password\",\r\n \"filters\": []\r\n });\r\n this.addFunction(\"$f\", $f, \"functions.$f\");\r\n this.widgetCreator.addValidationGroup(this, {\r\n \"id\": \"wd1\",\r\n \"options\": {\r\n \"optionsName\": \"wd1Options\",\r\n \"optionsNameFQ\": \"wd1Options\"\r\n }\r\n });\r\n this.widgetCreator.addTextBox(this, {\r\n \"mode\": \"password\",\r\n \"caption\": \"password-confirm-form.password_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Password\",\r\n \"bindTo\": \"Passwort1\",\r\n \"bindToFQ\": \"models.data.$m_Password.Passwort1\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"password\",\r\n \"options\": {\r\n \"optionsName\": \"passwordOptions\",\r\n \"optionsNameFQ\": \"passwordOptions\"\r\n }\r\n });\r\n this.widgetCreator.addTextBox(this, {\r\n \"mode\": \"password\",\r\n \"caption\": \"password-confirm-form.confirmpassword_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Password\",\r\n \"bindTo\": \"Passwort2\",\r\n \"bindToFQ\": \"models.data.$m_Password.Passwort2\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"confirmPassword\",\r\n \"options\": {\r\n \"optionsName\": \"confirmPasswordOptions\",\r\n \"optionsNameFQ\": \"confirmPasswordOptions\"\r\n }\r\n });\r\n this.widgetCreator.addCommand(this, {\r\n \"id\": \"wd2\",\r\n \"options\": {\r\n \"optionsName\": \"wd2Options\",\r\n \"optionsNameFQ\": \"wd2Options\"\r\n },\r\n \"binding\": {\r\n \"bindTo\": \"$f.confirmPasswordCommand\",\r\n \"bindToFQ\": \"functions.$f.confirmPasswordCommand\"\r\n }\r\n });\r\n this.widgetCreator.addCommand(this, {\r\n \"id\": \"wd3\",\r\n \"options\": {\r\n \"optionsName\": \"wd3Options\",\r\n \"optionsNameFQ\": \"wd3Options\"\r\n },\r\n \"binding\": {\r\n \"bindTo\": \"$f.backToLoginCommand\",\r\n \"bindToFQ\": \"functions.$f.backToLoginCommand\"\r\n }\r\n });\r\n super.onConstructionFinished();\r\n }\r\n}","module.exports = \"\";","import * as fwx from \"../../../../../framework/forms/form-export\";\r\nimport {\r\n PasswordResetFuncs\r\n} from \"./password-reset-form-funcs\";\r\n\r\n@fwx.autoinject\r\nexport class PasswordResetForm extends fwx.FormBase {\r\n constructor(\r\n element: Element,\r\n formBaseImport: fwx.FormBaseImport,\r\n private $f: PasswordResetFuncs) {\r\n super(element, formBaseImport);\r\n this.id = \"password-recovery-form\";\r\n this.title = \"password-recovery-form.password-recovery-form_caption\";\r\n this.addModel({\r\n \"id\": \"$m_Password\",\r\n \"filters\": []\r\n });\r\n this.addFunction(\"$f\", $f, \"functions.$f\");\r\n this.widgetCreator.addValidationGroup(this, {\r\n \"id\": \"wd1\",\r\n \"options\": {\r\n \"optionsName\": \"wd1Options\",\r\n \"optionsNameFQ\": \"wd1Options\"\r\n }\r\n });\r\n this.widgetCreator.addTextBox(this, {\r\n \"caption\": \"password-recovery-form.username_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Password\",\r\n \"bindTo\": \"Username\",\r\n \"bindToFQ\": \"models.data.$m_Password.Username\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"username\",\r\n \"options\": {\r\n \"optionsName\": \"usernameOptions\",\r\n \"optionsNameFQ\": \"usernameOptions\"\r\n }\r\n });\r\n this.widgetCreator.addCommand(this, {\r\n \"id\": \"wd2\",\r\n \"options\": {\r\n \"optionsName\": \"wd2Options\",\r\n \"optionsNameFQ\": \"wd2Options\"\r\n },\r\n \"binding\": {\r\n \"bindTo\": \"$f.resetPasswordCommand\",\r\n \"bindToFQ\": \"functions.$f.resetPasswordCommand\"\r\n }\r\n });\r\n this.widgetCreator.addCommand(this, {\r\n \"id\": \"wd3\",\r\n \"options\": {\r\n \"optionsName\": \"wd3Options\",\r\n \"optionsNameFQ\": \"wd3Options\"\r\n },\r\n \"binding\": {\r\n \"bindTo\": \"$f.backToLoginCommand\",\r\n \"bindToFQ\": \"functions.$f.backToLoginCommand\"\r\n }\r\n });\r\n super.onConstructionFinished();\r\n }\r\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\";\r\nimport { RouterService } from '../../../framework/forms/export';\r\nimport { IMenuItem } from './nav-bar';\r\nimport { SucheService } from '../../../zit/services/export';\r\n\r\n@autoinject\r\nexport class NavBarItem {\r\n constructor(\r\n public routerService: RouterService,\r\n public sucheService: SucheService\r\n ) {}\r\n\r\n @bindable item: IMenuItem;\r\n\r\n @computedFrom(\"routerService.currentViewItem.model.routeInfo.url\")\r\n get currentUrl(): string {\r\n if (!this.routerService.currentViewItem\r\n || !this.routerService.currentViewItem.model\r\n || !this.routerService.currentViewItem.model.routeInfo) {\r\n return null;\r\n }\r\n\r\n return `route:${this.routerService.currentViewItem.model.routeInfo.url}`;\r\n }\r\n\r\n @computedFrom(\"currentUrl\", \"sucheService.lastObjektFullName\")\r\n get isCurrent(): boolean {\r\n if (this.currentUrl == this.item.item.Route) {\r\n return true;\r\n }\r\n\r\n if (this.currentUrl == \"route:Suche\") {\r\n return this.item.item.Route == this.currentUrl.concat(\"?TypeName=\").concat(this.sucheService.lastObjektFullName);\r\n }\r\n\r\n return false;\r\n }\r\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\";\r\nimport { LocalizationService } from \"./../../../framework/base/services/localization-service\";\r\nimport { SucheService } from \"./../../../zit/services/suche-service\";\r\nimport { autoinject, computedFrom, TaskQueue } from \"aurelia-framework\";\r\nimport { IdxPopoverComponent, IdxTextBoxComponent } from \"../../../zit/interfaces/export\";\r\nimport { RestService } from \"../../../framework/base/services/rest-service\";\r\nimport { ErweiterteSuche } from \"../../../zit/elements/erweiterte-suche/erweiterte-suche\";\r\nimport { EventAggregator, Subscription } from \"aurelia-event-aggregator\";\r\nimport { SucheViewTyp } from \"../../../zit/enumerations/export\";\r\n\r\n@autoinject\r\nexport class Suche {\r\n private MAX_HISTORIE_LAENGE = 5;\r\n\r\n private _sucheChangeValueSubscription: Subscription;\r\n private _sucheClearSubscription: Subscription;\r\n private _onValueChangedTimeout: any;\r\n\r\n constructor(\r\n public browserService: BrowserService,\r\n private _eventAggregator: EventAggregator,\r\n private _localizationService: LocalizationService,\r\n private _restService: RestService,\r\n private _sucheService: SucheService,\r\n private _taskQueue: TaskQueue\r\n ) {\r\n this.loadVolltextSuchHistorie();\r\n this.objektFullName = this._sucheService.lastObjektFullName;\r\n }\r\n\r\n @computedFrom(\"objektFullName\")\r\n get isErweiterteSucheEnabled() {\r\n return this.objektFullName != void 0;\r\n }\r\n @computedFrom(\"erweiterteSuche.wertQueryList\")\r\n get hasErweiterteSucheFilters() {\r\n return this.erweiterteSuche\r\n && this.erweiterteSuche.wertQueryList != void 0;\r\n }\r\n\r\n erweiterteSuche: ErweiterteSuche;\r\n objektFullName: string;\r\n\r\n sucheHistory: string[];\r\n\r\n sucheHistoryPopover: IdxPopoverComponent;\r\n sucheHistoryPopoverOptions: DevExpress.ui.dxPopoverOptions = {\r\n target: \"#sucheTextBox\",\r\n contentTemplate: \"contentTemplate\",\r\n position: {\r\n at: {\r\n x: \"left\",\r\n y: \"bottom\"\r\n },\r\n my: {\r\n x: \"left\",\r\n y: \"top\"\r\n }\r\n }\r\n };\r\n\r\n sucheTextBox: IdxTextBoxComponent;\r\n sucheTextBoxOptions: DevExpress.ui.dxTextBoxOptions = {\r\n placeholder: this._localizationService.translateOnce(\"base.search\"),\r\n elementAttr: {\r\n class: \"z--suche\"\r\n },\r\n mode: \"search\",\r\n value: this._sucheService.lastSearchValue,\r\n onValueChangedByUser: (e) => {\r\n this.onValueChanged(e.value);\r\n },\r\n onKeyUp: (e) => {\r\n if (!e.event) {\r\n return;\r\n }\r\n if ((e.event).key != \"Enter\") {\r\n return;\r\n }\r\n\r\n this.onValueChanged(e.component.option(\"value\"));\r\n },\r\n onFocusIn: () => {\r\n this.sucheHistoryPopover.instance.show();\r\n },\r\n bindingOptions: {\r\n disabled: \"!isErweiterteSucheEnabled\"\r\n }\r\n };\r\n\r\n attached() {\r\n this._sucheChangeValueSubscription = this._eventAggregator.subscribe(\"suche:change-value\", (e) => {\r\n if (this._sucheService.lastSearchText != e.value) {\r\n this.sucheTextBox.setOption({ value: e.value });\r\n }\r\n\r\n this.executeSuche(e.viewTyp);\r\n });\r\n this._sucheClearSubscription = this._eventAggregator.subscribe(\"suche:clear\", () => {\r\n this.sucheTextBox.setOption({ value: \"\" });\r\n this.clearSuche();\r\n });\r\n }\r\n detached() {\r\n if (this._sucheChangeValueSubscription) {\r\n this._sucheChangeValueSubscription.dispose();\r\n this._sucheChangeValueSubscription = null;\r\n }\r\n if (this._sucheClearSubscription) {\r\n this._sucheClearSubscription.dispose();\r\n this._sucheClearSubscription = null;\r\n }\r\n }\r\n\r\n clearSuche() {\r\n this.objektFullName = null;\r\n this._sucheService.clearSuche();\r\n }\r\n executeSuche(viewTyp: SucheViewTyp = SucheViewTyp.list) {\r\n const newSearchValue = this.sucheTextBox.instance.option(\"value\");\r\n const wertQueryList = this.erweiterteSuche.wertQueryList;\r\n const newObjektFullName = this._sucheService.getObjektFullName(newSearchValue);\r\n const newSearchText = this._sucheService.getSearchText(newSearchValue);\r\n\r\n if (newObjektFullName != this.objektFullName) {\r\n this.erweiterteSuche.clearSuche();\r\n this.objektFullName = newObjektFullName;\r\n\r\n this._taskQueue.queueTask(() => {\r\n this._sucheService.executeSuche(newSearchValue, this.objektFullName, newSearchText, wertQueryList, viewTyp);\r\n });\r\n } else {\r\n this._sucheService.executeSuche(newSearchValue, this.objektFullName, newSearchText, wertQueryList, viewTyp);\r\n }\r\n }\r\n\r\n onValueChanged(value: string) {\r\n if (this._onValueChangedTimeout) {\r\n return;\r\n }\r\n\r\n this._onValueChangedTimeout = setTimeout(() => {\r\n this._onValueChangedTimeout = null;\r\n }, 500);\r\n\r\n this.executeSuche();\r\n this.updateHistorySuche(value);\r\n this.sucheHistoryPopover.instance.hide();\r\n }\r\n onErweiterteSucheClicked(event: Event) {\r\n if (!this.isErweiterteSucheEnabled) {\r\n return false;\r\n }\r\n\r\n this.erweiterteSuche.showPopup();\r\n }\r\n onSucheFilterClicked(event: Event) {\r\n if (!this.isErweiterteSucheEnabled) {\r\n return false;\r\n }\r\n\r\n this.erweiterteSuche.showVorlageContextMenu(event, true);\r\n }\r\n onSucheHistorySelected(sucheText: string) {\r\n this.sucheTextBox.setOption({ value: sucheText });\r\n this.executeSuche();\r\n this.sucheHistoryPopover.instance.hide();\r\n }\r\n onExecuteSucheErweitert(event: any) {\r\n this.executeSuche();\r\n }\r\n\r\n private async loadVolltextSuchHistorie() {\r\n this.sucheHistory = await this._restService.get({\r\n url: this._restService.getApiUrl(\"ZIT/Volltext/SuchHistorie\")\r\n });\r\n }\r\n private updateHistorySuche(sucheValue: string) {\r\n if (!sucheValue) {\r\n return;\r\n }\r\n\r\n const exists = this.sucheHistory.find((c) => c == sucheValue);\r\n if (exists) {\r\n return;\r\n }\r\n this.sucheHistory.splice(0, 0, sucheValue);\r\n\r\n if (this.sucheHistory.length > this.MAX_HISTORIE_LAENGE) {\r\n this.sucheHistory.splice(this.MAX_HISTORIE_LAENGE);\r\n }\r\n\r\n this._restService.post({\r\n url: this._restService.getApiUrl(\"ZIT/Volltext/SuchHistorie\"),\r\n data: {\r\n Suchtext: sucheValue\r\n }\r\n });\r\n }\r\n}\r\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 {\r\n autoinject,\r\n bindable,\r\n customAttribute,\r\n Scope\r\n} from \"aurelia-framework\";\r\n\r\n@autoinject\r\n@customAttribute(\"repeat-finished\")\r\nexport class RepeatFinishedCustomAttribute {\r\n constructor(\r\n private _element: Element\r\n ) { }\r\n\r\n scope: Scope;\r\n\r\n bind(bindingContext, overrideContext) {\r\n this.scope = {\r\n bindingContext,\r\n overrideContext\r\n };\r\n }\r\n attached() {\r\n if (!this.scope) {\r\n return;\r\n }\r\n if (!this.scope.overrideContext) {\r\n return;\r\n }\r\n if (!(this.scope.overrideContext).$last) {\r\n return;\r\n }\r\n\r\n this._element.dispatchEvent(new CustomEvent(\r\n \"on-repeat-finished\", {\r\n bubbles: true,\r\n detail: {\r\n element: this._element\r\n }\r\n }\r\n ));\r\n }\r\n}\r\n","import { autoinject, bindable } from 'aurelia-framework';\r\n\r\nimport { DraggingService } from './zit-dragging-service';\r\n\r\nimport \"./drag-and-drop.less\";\r\n@autoinject\r\nexport class ZitDragAndDropCustomAttribute {\r\n constructor(\r\n private dragging: DraggingService,\r\n private element: Element\r\n ) { }\r\n\r\n @bindable({ primaryProperty: true }) options: ZitDragAndDropOptions;\r\n @bindable data: any;\r\n\r\n draggableElement: Element;\r\n\r\n attached() {\r\n this.draggableElement = this.getClosest(this.element, \"list-view-item\");\r\n\r\n this.draggableElement.setAttribute(\"draggable\", \"true\");\r\n\r\n this.draggableElement.addEventListener(\"dragstart\", this.onDragStart.bind(this), false);\r\n this.draggableElement.addEventListener(\"dragenter\", this.onDragEnter.bind(this), false);\r\n this.draggableElement.addEventListener(\"dragover\", this.onDragOver.bind(this), false);\r\n this.draggableElement.addEventListener(\"dragleave\", this.onDragLeave.bind(this), false);\r\n this.draggableElement.addEventListener(\"drop\", this.onDrop.bind(this), false);\r\n\r\n this.draggableElement.addEventListener(\"dragend\", this.onDragEnd.bind(this), false);\r\n }\r\n\r\n onDragStart(e: DragEvent) {\r\n const hasSelected = this.draggableElement.querySelector(\".list-view-item-is-selected\");\r\n\r\n this.dragging.draggingData = this.data;\r\n\r\n if (hasSelected) {\r\n const listViewContent = this.getClosest(this.draggableElement, \"list-view-content\");\r\n const selected = Array.from(listViewContent.querySelectorAll(\".list-view-item-is-selected\"));\r\n\r\n selected.forEach(c => c.classList.add(\"z--drag-origin\"));\r\n } else {\r\n this.draggableElement.classList.add(\"z--drag-origin\");\r\n }\r\n }\r\n\r\n onDragEnter(e: DragEvent) {\r\n const isAllow = this.options.allowDropFrom.some(c => c === this.dragging.objektTypeFullName);\r\n if (!isAllow) {\r\n return true;\r\n }\r\n\r\n return false;\r\n }\r\n onDragOver(e: DragEvent) {\r\n const isAllow = this.options.allowDropFrom.some(c => c === this.dragging.objektTypeFullName);\r\n const listViewContent = this.getClosest(this.draggableElement, \"list-view-content\");\r\n\r\n if (!isAllow) {\r\n const dropTarget = Array.from(listViewContent.querySelectorAll(\".z--drop-target\"));\r\n\r\n dropTarget.forEach(c => c.classList.remove(\"z--drop-target\"));\r\n return true;\r\n }\r\n\r\n const selected = Array.from(listViewContent.querySelectorAll(\".list-view-item-is-selected\"));\r\n\r\n if (!selected || !selected.length) {\r\n this.draggableElement.classList.add(\"z--drop-target\");\r\n \r\n e.preventDefault();\r\n return false;\r\n }\r\n\r\n const isSelected = this.draggableElement.querySelectorAll(\".list-view-item-is-selected\").length > 0;\r\n\r\n if (!isSelected) {\r\n selected.forEach(c => c.classList.remove(\"z--drop-target\"));\r\n \r\n return true;\r\n }\r\n\r\n selected.forEach(c => c.classList.add(\"z--drop-target\"));\r\n\r\n e.preventDefault();\r\n return false;\r\n }\r\n onDragLeave(e: any) {\r\n const target = this.getClosest(e.srcElement, \"list-view-item\");\r\n\r\n const isSelected = this.draggableElement.querySelectorAll(\".list-view-item-is-selected\").length;\r\n\r\n if (isSelected) {\r\n const listViewContent = this.getClosest(this.draggableElement, \"list-view-content\");\r\n const dropTarget = Array.from(listViewContent.querySelectorAll(\".z--drop-target\"));\r\n\r\n dropTarget.forEach(c => c.classList.remove(\"z--drop-target\"));\r\n } else {\r\n this.draggableElement.classList.remove(\"z--drop-target\");\r\n }\r\n\r\n }\r\n onDrop(e: DragEvent) {\r\n if (this.options.dropHandler) {\r\n this.options.dropHandler(this.data, this.dragging.draggingData);\r\n }\r\n }\r\n onDragEnd(e: DragEvent) {\r\n const drops = Array.from(document.getElementsByClassName(\"z--drop-target\"));\r\n const drags = Array.from(document.getElementsByClassName(\"z--drag-origin\"));\r\n\r\n drops.forEach(c => c.classList.remove(\"z--drop-target\"));\r\n drags.forEach(c => c.classList.remove(\"z--drag-origin\"));\r\n\r\n this.dragging.draggingData = null;\r\n }\r\n\r\n private getClosest(e: Element, classString: string): Element {\r\n if (e.classList.contains(classString)) {\r\n return e;\r\n }\r\n\r\n let parent = null;\r\n while (e) {\r\n parent = e.parentElement;\r\n if (parent && parent.classList.contains(classString)) {\r\n return parent;\r\n }\r\n\r\n e = parent;\r\n }\r\n\r\n return null;\r\n }\r\n}\r\n\r\nexport interface ZitDragAndDropOptions {\r\n allowDropFrom: string[];\r\n dropHandler?: { (dropTo: any, dragFrom: any) };\r\n}","import { autoinject, computedFrom } from \"aurelia-framework\";\r\nimport { LocalizationService, ScopeContainer } from '../../../framework/base/export';\r\nimport { DialogConfirmService, ICommandData, SimpleWidgetCreatorService } from '../../../framework/forms/export';\r\nimport { IZitTagOptions } from '../../../zit-ui/elements/zit-tag/zit-tag-options';\r\nimport { IdxPopupComponent } from '../../interfaces/export';\r\nimport { AufgabeService, IAufgabeZuweisenOptions, IZuweisenEvalResult } from '../../services/aufgabe-service';\r\nimport { FormPopupService } from '../../services/form-popup-service';\r\nimport { AufgabeZuweisenStart } from './aufgabe-zuweisen-start';\r\n\r\n@autoinject\r\nexport class AufgabeZuweisen {\r\n private _options: IAufgabeZuweisenOptions;\r\n\r\n constructor(\r\n private _aufgabeService: AufgabeService,\r\n private _simpleWidgetCreatorService: SimpleWidgetCreatorService,\r\n private _localizationService: LocalizationService,\r\n private _dialogConfirmService: DialogConfirmService,\r\n private _formPopupService: FormPopupService\r\n ) {\r\n this._aufgabeService.aufgabeZuweisen = this;\r\n }\r\n\r\n scopeContainer: ScopeContainer;\r\n model: IModel;\r\n aufgabeArtZuweisen: any = 0;\r\n aufgabeZuweisenStartpopup: AufgabeZuweisenStart;\r\n loadedData: IZuweisenEvalResult;\r\n\r\n popup: IdxPopupComponent;\r\n popupOptions: DevExpress.ui.dxPopupOptions = {\r\n contentTemplate: \"contentTemplate\",\r\n width: \"600px\",\r\n height: \"530px\"\r\n };\r\n\r\n aufgabeArtRadioGroupOptions: DevExpress.ui.dxRadioGroupOptions = {\r\n layout: \"horizontal\",\r\n displayExpr: \"text\",\r\n valueExpr: \"value\",\r\n dataSource: [\r\n { text: \"Arbeitsgruppe zuweisen\", value: 0 },\r\n { text: \"Aufgabenset zuweisen\", value: 1 }\r\n ],\r\n bindingOptions: {\r\n value: \"aufgabeArtZuweisen\"\r\n },\r\n onValueChangedByUser: (e) => {\r\n this.load();\r\n }\r\n }\r\n\r\n aufgabeSelectBoxOptions: DevExpress.ui.dxSelectBoxOptions = {\r\n valueExpr: \"Code\",\r\n displayExpr: \"Bezeichnung\",\r\n searchEnabled: true,\r\n searchExpr: \"Bezeichnung\",\r\n bindingOptions: {\r\n dataSource: \"model.aufgabeDataSource\",\r\n value: \"model.codeAufgabe\"\r\n }\r\n };\r\n\r\n objektTagOptions: IZitTagOptions = {\r\n icon: {\r\n textExpression: \"item.Typ\"\r\n },\r\n textExpression: \"item.Bezeichnung\",\r\n onDeleteClick: (e, data) => {\r\n e.stopPropagation();\r\n\r\n const index = this.model.objektList.indexOf(data);\r\n if (index < 0) {\r\n return;\r\n }\r\n\r\n this.model.objektList.splice(index, 1);\r\n }\r\n };\r\n\r\n aufgabeZuweisenCommand: ICommandData = {\r\n id: \"save\",\r\n icon: \"fas fa-save\",\r\n tooltip: \"base.save\",\r\n execute: () => {\r\n this.save();\r\n }\r\n };\r\n\r\n @computedFrom(\"aufgabeArtZuweisen\")\r\n get getAufgabeTypname(): string {\r\n if (this.aufgabeArtZuweisen == 0) {\r\n return \"Aufgabengruppe\";\r\n }\r\n return \"Aufgabenset\";\r\n }\r\n\r\n bind() {\r\n this.scopeContainer = new ScopeContainer({\r\n bindingContext: this,\r\n overrideContext: null\r\n });\r\n\r\n this._simpleWidgetCreatorService.updatePopupOptions({\r\n idToolbar: \"aufgabeZuweisenPopupToolbar\",\r\n caption: \"aufgabe-zuweisen.popup-titel\",\r\n options: this.popupOptions,\r\n commands: [this.aufgabeZuweisenCommand],\r\n scopeContainer: this.scopeContainer\r\n });\r\n }\r\n unbind() {\r\n this.scopeContainer.disposeAll();\r\n this.scopeContainer = null;\r\n }\r\n\r\n show(options: IAufgabeZuweisenOptions) {\r\n this.model = {\r\n codeAufgabe: null,\r\n aufgabeDataSource: [],\r\n objektList: []\r\n }\r\n\r\n this._options = options;\r\n this.popup.instance.show();\r\n\r\n this.load();\r\n }\r\n\r\n private async load() {\r\n this.loadedData = await this._aufgabeService.zuweisenEval({\r\n IdObjektList: this._options.idObjektList\r\n });\r\n\r\n if (this.aufgabeArtZuweisen == 0) {\r\n this.model.aufgabeDataSource = this.loadedData.AufgabeGruppeList;\r\n } else {\r\n this.model.aufgabeDataSource = this.loadedData.AufgabeList;\r\n }\r\n\r\n this.model.objektList = this.loadedData.ObjektList;\r\n }\r\n private async save() {\r\n if (!this.model.codeAufgabe) {\r\n DevExpress.ui.notify(\"Aufgabenset oder Aufgabengruppe ist ein Pflichtfeld\", \"error\", 3000);\r\n return;\r\n }\r\n\r\n let aufgabenSetList = [];\r\n if (this.aufgabeArtZuweisen == 0) {\r\n const aufgabensetsFromGruppe = this.getAufgabenSetByGruppeCode(this.model.codeAufgabe);\r\n\r\n aufgabensetsFromGruppe.forEach(aufgabenset => {\r\n aufgabenSetList.push({\r\n CodeAufgabenSet: aufgabenset.Code,\r\n AufgabensetBezeichnung: aufgabenset.Bezeichnung\r\n });\r\n });\r\n } else {\r\n const bezeichnung = this.getAufgabenSetBezeichnungByCode(this.model.codeAufgabe);\r\n aufgabenSetList.push({\r\n CodeAufgabenSet: this.model.codeAufgabe,\r\n AufgabensetBezeichnung: bezeichnung\r\n });\r\n }\r\n\r\n this.aufgabeZuweisenStartpopup.show({\r\n AufgabensetList: aufgabenSetList,\r\n callback: async (options) => {\r\n let aufgabeCodeList = [];\r\n options.forEach(element => {\r\n aufgabeCodeList.push(element.AufgabeCode);\r\n });\r\n const checkResult = await this._aufgabeService.checkZuweisen({\r\n AufgabeCodeList: aufgabeCodeList,\r\n ObjektList: this.model.objektList\r\n });\r\n\r\n const objektList = [];\r\n for (let objekt of checkResult.ObjektList) {\r\n if (objekt.Exists) {\r\n const confirmResult = await this._dialogConfirmService.show({\r\n title: \"Frage\",\r\n message: `${objekt.Bezeichnung} hat die Zuteilung bereits. Trotzdem erstellen?`\r\n });\r\n\r\n if (!confirmResult) {\r\n continue;\r\n }\r\n }\r\n\r\n const evalBestResult = await this.evalBestaetigung(objekt);\r\n if (!evalBestResult) {\r\n return;\r\n }\r\n\r\n objektList.push(objekt);\r\n }\r\n\r\n if (objektList.length == 0) {\r\n return;\r\n }\r\n\r\n await this._aufgabeService.zuweisen({\r\n AufgabeList: options,\r\n ObjektList: objektList\r\n });\r\n\r\n DevExpress.ui.notify(\r\n this._localizationService.translateOnce(\"aufgabe-zuweisen.erstellt\"),\r\n \"success\",\r\n 3000\r\n );\r\n this.popup.instance.hide();\r\n }\r\n });\r\n }\r\n private getAufgabenSetByGruppeCode(aufgabenGruppeCode: string) {\r\n const aufgabensets = this.loadedData.AufgabeList.filter(c => {\r\n return c.IdAufgabengruppe.toString() == aufgabenGruppeCode;\r\n });\r\n return aufgabensets;\r\n }\r\n\r\n private getAufgabenSetBezeichnungByCode(aufgabensetCode: string) {\r\n const aufgabenset = this.loadedData.AufgabeList.filter(c => {\r\n return c.Code == aufgabensetCode;\r\n })[0] || null;\r\n\r\n if (!aufgabenset) {\r\n return;\r\n }\r\n return aufgabenset.Bezeichnung;\r\n }\r\n private async evalBestaetigung(objekt: any) {\r\n if (!objekt.AufgabeBestList) {\r\n return true;\r\n }\r\n\r\n for (let aufgabe of objekt.AufgabeBestList) {\r\n if (aufgabe.IdAnsprechperson) {\r\n continue;\r\n }\r\n\r\n const evalBestaetigung = await this.evalBestaetigungAufgabe(objekt, aufgabe);\r\n if (!evalBestaetigung) {\r\n return false;\r\n }\r\n }\r\n\r\n return true;\r\n }\r\n private async evalBestaetigungAufgabe(objekt: any, aufgabe: any) {\r\n return new Promise((resolve) => {\r\n this._formPopupService.formPopup.show({\r\n titel: \"Bestätigungsbenutzer auswählen\",\r\n formDef: [{\r\n template: (data, element) => {\r\n const el = document.createElement(\"div\");\r\n el.innerHTML = `Bestätigungsbenutzer für die Aufgabe ${aufgabe.Bezeichnung} der Person ${objekt.Bezeichnung} auswählen`;\r\n\r\n element.appendChild(el);\r\n }\r\n }, {\r\n dataField: \"idAnsprechperson\",\r\n editorType: \"dxSelectBox\",\r\n label: { text: \"Bestätigungsbenutzer\" },\r\n isRequired: true,\r\n editorOptions: {\r\n valueExpr: \"Id\",\r\n displayExpr: \"Titel\",\r\n searchExpr: \"Titel\",\r\n searchEnabled: true,\r\n showClearButton: true,\r\n width: \"100%\",\r\n dataSource: aufgabe.AnsprechpersonList\r\n }\r\n }],\r\n width: \"450px\",\r\n onFormSubmit: (m) => {\r\n aufgabe.IdAnsprechperson = m.idAnsprechperson;\r\n resolve(true);\r\n },\r\n onFormCancel: () => {\r\n resolve(false);\r\n }\r\n });\r\n });\r\n }\r\n}\r\n\r\ninterface IModel {\r\n codeAufgabe: string;\r\n aufgabeDataSource: any[];\r\n objektList: any[];\r\n}\r\n","import { autoinject } from \"aurelia-framework\";\r\nimport { ScopeContainer } from '../../../framework/base/export';\r\nimport { ICommandData, SimpleWidgetCreatorService } from '../../../framework/forms/export';\r\nimport { IZitTagOptions } from '../../../zit-ui/elements/zit-tag/zit-tag-options';\r\nimport { IdxDateBoxComponent, IdxPopupComponent } from '../../interfaces/export';\r\nimport { IZuweisenAufgabeModel } from '../../services/aufgabe-service';\r\nimport { GlobalizationService } from './../../../framework/base/services/globalization-service';\r\n\r\n@autoinject\r\nexport class AufgabeZuweisenStart {\r\n constructor(\r\n private _simpleWidgetCreatorService: SimpleWidgetCreatorService,\r\n private _globalizationService: GlobalizationService) {\r\n }\r\n\r\n scopeContainer: ScopeContainer;\r\n options: IAufgabeZuweisenStart;\r\n aufgabeArtZuweisen: any = 0;\r\n\r\n resultAufgabensetList: {\r\n CodeAufgabenSet: string,\r\n AufgabensetBezeichnung: string,\r\n Datum?: Date\r\n }[] = [];\r\n\r\n popup: IdxPopupComponent;\r\n popupOptions: DevExpress.ui.dxPopupOptions = {\r\n contentTemplate: \"contentTemplate\",\r\n width: \"600px\",\r\n height: \"530px\"\r\n };\r\n\r\n dateBox: IdxDateBoxComponent;\r\n dateBoxOptions: DevExpress.ui.dxDateBoxOptions = {\r\n displayFormat: this._globalizationService.getFormatterParser(\"d\"),\r\n bindingOptions: {\r\n value: \"aufgabenset.Datum\"\r\n }\r\n };\r\n\r\n objektTagOptions: IZitTagOptions = {\r\n icon: {\r\n textExpression: \"item.Typ\"\r\n },\r\n textExpression: \"item.Bezeichnung\"\r\n };\r\n\r\n aufgabeStartZuweisenCommand: ICommandData = {\r\n id: \"save\",\r\n icon: \"fas fa-save\",\r\n tooltip: \"base.save\",\r\n execute: (e) => {\r\n this.saveZuweisung();\r\n }\r\n };\r\n\r\n bind() {\r\n this.scopeContainer = new ScopeContainer({\r\n bindingContext: this,\r\n overrideContext: null\r\n });\r\n\r\n this._simpleWidgetCreatorService.updatePopupOptions({\r\n idToolbar: \"aufgabeStartZuweisenPopupToolbar\",\r\n caption: \"aufgabe-start-zuweisen.popup-titel\",\r\n options: this.popupOptions,\r\n commands: [this.aufgabeStartZuweisenCommand],\r\n scopeContainer: this.scopeContainer\r\n });\r\n }\r\n unbind() {\r\n this.scopeContainer.disposeAll();\r\n this.scopeContainer = null;\r\n }\r\n\r\n show(options: IAufgabeZuweisenStart) {\r\n this.options = options;\r\n this.resultAufgabensetList = options.AufgabensetList.slice();\r\n this.popup.instance.show();\r\n }\r\n private saveZuweisung() {\r\n let returnList = [];\r\n this.resultAufgabensetList.forEach(element => {\r\n returnList.push({\r\n AufgabeCode: element.CodeAufgabenSet,\r\n Start: element.Datum\r\n })\r\n });\r\n this.popup.instance.hide();\r\n this.options.callback(returnList);\r\n }\r\n}\r\n\r\nexport interface IAufgabeZuweisenStart {\r\n AufgabensetList: {\r\n CodeAufgabenSet: string,\r\n AufgabensetBezeichnung: string\r\n }[]\r\n\r\n callback?: {\r\n (ResultAufgabensetList: IZuweisenAufgabeModel[]): void\r\n }\r\n}\r\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';\r\nimport { ScopeContainer, LocalizationService, AuthorizationService } from '../../../framework/base/export';\r\nimport { SimpleWidgetCreatorService, ICommandData } from '../../../framework/forms/export';\r\nimport { DataSourceService } from '../../../framework/base/services/export';\r\nimport { ILoeschenBenutzerData } from '../../interfaces/export';\r\nimport { BenutzereinstellungenService } from '../../services/benutzereinstellungen-service';\r\nimport { IdxValidationGroupComponent, IdxSelectBoxComponent, IdxPopupComponent } from '../../interfaces/export';\r\nimport { GrundTyp } from '../../enumerations/export';\r\nimport { StartupService } from '../../services/export';\r\n@autoinject\r\nexport class BenutzerHilfe {\r\n constructor(\r\n private localization: LocalizationService,\r\n private simpleWidgetCreator: SimpleWidgetCreatorService,\r\n private startup: StartupService\r\n ) { }\r\n\r\n scope: Scope;\r\n scopeContainer: ScopeContainer;\r\n htmlContent: string;\r\n\r\n benutzerHilfePopup: IdxPopupComponent;\r\n benutzerHilfePopupOptions: DevExpress.ui.dxPopupOptions = {\r\n height: \"auto\",\r\n maxHeight: \"80%\",\r\n maxWidth: \"420px\"\r\n };\r\n\r\n\r\n bind(bindingContext: any, overrideContext: OverrideContext) {\r\n this.scope = {\r\n bindingContext: bindingContext,\r\n overrideContext: overrideContext\r\n };\r\n\r\n this.scopeContainer = new ScopeContainer({\r\n bindingContext: this,\r\n overrideContext: null\r\n });\r\n\r\n this.simpleWidgetCreator.updatePopupOptions({\r\n idToolbar: \"benutzerLoeschenPopupToolbar\",\r\n caption: \"benutzer-hilfe.popup-titel\",\r\n options: this.benutzerHilfePopupOptions,\r\n scopeContainer: this.scopeContainer\r\n });\r\n }\r\n unbind() {\r\n this.scopeContainer.disposeAll();\r\n this.scope = null;\r\n }\r\n\r\n showPopup() {\r\n this.htmlContent = this.startup.startupInfo.Benutzer.HtmlTextHilfe;\r\n\r\n this.benutzerHilfePopup.instance.show();\r\n }\r\n}\r\n","module.exports = \" \";","import { autoinject, OverrideContext, Scope } from 'aurelia-framework';\r\nimport { ScopeContainer, LocalizationService, AuthorizationService } from '../../../framework/base/export';\r\nimport { SimpleWidgetCreatorService, ICommandData, DialogConfirmService } from '../../../framework/forms/export';\r\nimport { DataSourceService } from '../../../framework/base/services/export';\r\nimport { ILoeschenBenutzerData } from '../../interfaces/export';\r\nimport { BenutzereinstellungenService } from '../../services/benutzereinstellungen-service';\r\nimport { IdxValidationGroupComponent, IdxSelectBoxComponent, IdxPopupComponent } from '../../interfaces/export';\r\nimport { GrundTyp } from '../../enumerations/export';\r\n@autoinject\r\nexport class BenutzerLoeschen {\r\n constructor(\r\n private authorization: AuthorizationService,\r\n private benutzereinstellungen: BenutzereinstellungenService,\r\n private dataSource: DataSourceService,\r\n private localization: LocalizationService,\r\n private simpleWidgetCreator: SimpleWidgetCreatorService,\r\n private dialogConfirmService: DialogConfirmService\r\n ) { }\r\n\r\n scope: Scope;\r\n scopeContainer: ScopeContainer;\r\n loeschenBenutzerData: ILoeschenBenutzerData;\r\n\r\n popupCommands: ICommandData[] = [\r\n {\r\n id: \"loeschenBenutzerprofil\",\r\n idCategory: \"$start\",\r\n icon: \"fas fa-save\",\r\n tooltip: \"benutzer-loeschen.benutzer-loeschen\",\r\n sortIndex: 0,\r\n execute: () => {\r\n this.onBenutzerLoeschenClicked();\r\n }\r\n }\r\n ];\r\n\r\n benutzerLoeschenPopup: IdxPopupComponent;\r\n benutzerLoeschenPopupOptions: DevExpress.ui.dxPopupOptions = {\r\n height: \"auto\",\r\n maxHeight: \"80%\",\r\n maxWidth: \"420px\"\r\n }\r\n requiredValidatorOptions: DevExpress.ui.dxValidatorOptions = {\r\n validationRules: [{ type: \"required\" }]\r\n };\r\n validationGroup: IdxValidationGroupComponent;\r\n validationGroupOptions: DevExpress.ui.dxValidationGroupOptions = {};\r\n\r\n loeschenGrundOptions: DevExpress.ui.dxSelectBoxOptions = {\r\n valueExpr: \"Id\",\r\n displayExpr: \"Bezeichnung\",\r\n bindingOptions: {\r\n value: \"loeschenBenutzerData.IdGrund\"\r\n }\r\n };\r\n loeschenBemerkungOptions: DevExpress.ui.dxTextAreaOptions = {\r\n height: 60,\r\n maxLength: 500,\r\n bindingOptions: {\r\n value: \"loeschenBenutzerData.Bemerkung\"\r\n }\r\n };\r\n\r\n bind(bindingContext: any, overrideContext: OverrideContext) {\r\n this.scope = {\r\n bindingContext: bindingContext,\r\n overrideContext: overrideContext\r\n };\r\n\r\n this.scopeContainer = new ScopeContainer({\r\n bindingContext: this,\r\n overrideContext: null\r\n });\r\n\r\n this.loeschenGrundOptions.dataSource = this.dataSource.createDataSource(this.scopeContainer, {\r\n webApiAction: \"ZIT/Stammdaten/Grund\",\r\n webApiWhere: [[\"Typ\", GrundTyp.BenutzerprofilLoeschen]]\r\n });\r\n\r\n this.simpleWidgetCreator.updatePopupOptions({\r\n idToolbar: \"benutzerLoeschenPopupToolbar\",\r\n caption: \"benutzereinstellungen.popup-titel\",\r\n options: this.benutzerLoeschenPopupOptions,\r\n commands: this.popupCommands,\r\n scopeContainer: this.scopeContainer\r\n });\r\n }\r\n unbind() {\r\n this.scopeContainer.disposeAll();\r\n this.scope = null;\r\n }\r\n\r\n showPopup() {\r\n this.benutzerLoeschenPopup.instance.show();\r\n this.validationGroup.instance.reset();\r\n }\r\n\r\n private onBenutzerLoeschenClicked() {\r\n const title = this.localization.translateOnce(\"benutzer-loeschen.popup-title\");\r\n const message = this.localization.translateOnce(\"benutzer-loeschen.popup-text\");\r\n\r\n this.dialogConfirmService.show({\r\n title: title,\r\n message: message\r\n }).then(confirmed => {\r\n if (!confirmed) {\r\n return;\r\n }\r\n\r\n const validationResult = this.validationGroup.instance.validate();\r\n if (!validationResult.isValid) {\r\n return;\r\n }\r\n\r\n this.benutzereinstellungen.deleteBenutzer(this.loeschenBenutzerData).then(r => {\r\n this.authorization.logout();\r\n });\r\n });\r\n }\r\n}\r\n","module.exports = \" \";","import { DataSourceService } from './../../../framework/base/services/data-source-service';\r\nimport { bindable } from 'aurelia-framework';\r\nimport { Models } from './../../../framework/forms/classes/models';\r\nimport { SimpleWidgetCreatorService } from './../../../framework/forms/widget-services/simple-widget-creator-service';\r\nimport { IBenutzerAccountSperrenData } from './../../interfaces/benutzeraccount-sperren-data';\r\nimport { DxWidget } from './../../../framework/dx/elements/dx-widget';\r\nimport { RestService } from './../../../framework/base/services/rest-service';\r\nimport { autoinject } from 'aurelia-framework';\r\nimport { ScopeContainer, LocalizationService } from '../../../framework/base/export';\r\nimport { ICommandData, DialogConfirmService, FormBase } from '../../../framework/forms/export';\r\nimport { IdxPopupComponent, IdxValidationGroupComponent, IdxSelectBoxComponent, IdxTextAreaComponent } from '../../interfaces/export';\r\n\r\nimport * as moment from \"moment\";\r\n\r\n@autoinject\r\nexport class BenutzerSperren {\r\n constructor(\r\n private localization: LocalizationService,\r\n private restService: RestService,\r\n private simpleWidgetCreator: SimpleWidgetCreatorService,\r\n private dataSource: DataSourceService\r\n ) { }\r\n\r\n @bindable key: number;\r\n\r\n scopeContainer: ScopeContainer;\r\n form: FormBase;\r\n\r\n popupCommands: ICommandData[] = [\r\n {\r\n id: \"doBenutzerSperren\",\r\n idCategory: \"$start\",\r\n icon: \"fas fa-check\",\r\n tooltip: \"benutzer-sperren.benutzer-sperren\",\r\n sortIndex: 1600,\r\n execute: () => {\r\n this.checkAndDoBenutzerSperren();\r\n }\r\n }\r\n ];\r\n\r\n benutzerSperrenPopup: IdxPopupComponent;\r\n benutzerSperrenPopupOptions: DevExpress.ui.dxPopupOptions = {\r\n height: \"auto\",\r\n width: \"800px\",\r\n maxHeight: \"80%\",\r\n maxWidth: \"800px\"\r\n }\r\n\r\n grundSelectBox: IdxSelectBoxComponent;\r\n grundSelectBoxOptions: DevExpress.ui.dxSelectBoxOptions = {\r\n displayExpr: \"Bezeichnung\",\r\n valueExpr: \"Id\"\r\n }\r\n\r\n grundBemerkungTextArea: IdxTextAreaComponent;\r\n grundBemerkungTextAreaOptions: DevExpress.ui.dxTextAreaOptions = {\r\n height: \"200px\"\r\n }\r\n\r\n bind() {\r\n this.scopeContainer = new ScopeContainer({\r\n bindingContext: this,\r\n overrideContext: null\r\n });\r\n\r\n this.simpleWidgetCreator.updatePopupOptions({\r\n idToolbar: \"benutzerSperrenPopupToolbar\",\r\n caption: \"benutzer-sperren.popup-title\",\r\n options: this.benutzerSperrenPopupOptions,\r\n commands: this.popupCommands,\r\n scopeContainer: this.scopeContainer\r\n });\r\n }\r\n unbind() {\r\n this.scopeContainer.disposeAll();\r\n }\r\n\r\n showPopup(key: number, form: FormBase) {\r\n this.key = key;\r\n this.form = form;\r\n\r\n this.resetInputData();\r\n this.setGrundDataSource()\r\n\r\n this.benutzerSperrenPopup.instance.show();\r\n }\r\n private resetInputData(): void {\r\n if (this.grundBemerkungTextArea) {\r\n this.grundBemerkungTextArea.instance.option(\"value\", null);\r\n } else {\r\n this.grundBemerkungTextAreaOptions.value = null;\r\n }\r\n }\r\n private async setGrundDataSource() {\r\n const stichtag = moment().startOf(\"day\").toDate();\r\n\r\n const dataSource = await this.restService.get({\r\n url: this.restService.getWebApiUrl(\"ZIT/Stammdaten/Grund\"),\r\n getOptions: {\r\n where: [[\"Typ\", 0], \"and\", [\"GueltigVon\", \"<=\", stichtag], \"and\", [\"GueltigBis\", \">=\", stichtag]],\r\n columns: [\"Id\", \"Bezeichnung\"]\r\n }\r\n });\r\n\r\n if (this.grundSelectBox) {\r\n this.grundSelectBox.setOption({\r\n dataSource: dataSource\r\n });\r\n } else {\r\n this.grundSelectBoxOptions.dataSource = dataSource;\r\n }\r\n }\r\n\r\n private checkAndDoBenutzerSperren(): void {\r\n if (!this.key || this.key == 0) {\r\n return;\r\n }\r\n\r\n const data: IBenutzerAccountSperrenData = {\r\n IdBenutzer: this.key,\r\n IdGrund: this.grundSelectBox.instance.option(\"value\"),\r\n Bemerkung: this.grundBemerkungTextArea.instance.option(\"value\")\r\n };\r\n\r\n if (!this.canBenutzerSperren(data)) {\r\n return;\r\n }\r\n\r\n this.doBenutzerSperren(data);\r\n }\r\n private canBenutzerSperren(data: IBenutzerAccountSperrenData): boolean {\r\n if (!data.IdGrund) {\r\n DevExpress.ui.notify(this.localization.translateOnce(\"benutzer-sperren.sperrgrund-fehlt\"), \"error\", 3000);\r\n } else {\r\n return true;\r\n }\r\n }\r\n\r\n private doBenutzerSperren(data: any): void {\r\n this.restService.post({\r\n url: this.restService.getApiUrl(\"ZIT/Security/BenutzerSperren\"),\r\n data: data,\r\n increaseLoadingCount: true\r\n }).then((r) => {\r\n this.benutzerSperrenPopup.instance.hide();\r\n this.form.models.reloadAll();\r\n });\r\n }\r\n}\r\n","module.exports = \" \";","import { IdxButtonComponent } from './../../interfaces/dx-components';\r\nimport { StartupService } from './../../services/startup-service';\r\nimport { TaskQueue } from 'aurelia-framework';\r\nimport { autoinject, OverrideContext, Scope } from 'aurelia-framework';\r\nimport { ScopeContainer, LocalizationService } from '../../../framework/base/export';\r\nimport { SimpleWidgetCreatorService } from '../../../framework/forms/export';\r\nimport { DataSourceService, GlobalizationService } from '../../../framework/base/services/export';\r\nimport { IdxDataGridComponent } from '../../interfaces/export';\r\nimport { LoginprofilService } from '../../services/loginprofil-service';\r\nimport { IdxValidationGroupComponent, IdxSelectBoxComponent, IdxPopupComponent } from '../../interfaces/export';\r\n@autoinject\r\nexport class BenutzerWechseln {\r\n constructor(\r\n public startup: StartupService,\r\n private _dataSourceService: DataSourceService,\r\n private _simpleWidgetCreatorService: SimpleWidgetCreatorService,\r\n private _localizationService: LocalizationService,\r\n private _loginprofilService: LoginprofilService,\r\n private _taskQueue: TaskQueue,\r\n private _globalizationService: GlobalizationService\r\n ) { }\r\n\r\n scope: Scope;\r\n scopeContainer: ScopeContainer;\r\n idCurrentLoginprofil: number;\r\n\r\n requiredValidatorOptions: DevExpress.ui.dxValidatorOptions = {\r\n validationRules: [{ type: \"required\" }]\r\n };\r\n validationGroup: IdxValidationGroupComponent;\r\n validationGroupOptions: DevExpress.ui.dxValidationGroupOptions = {};\r\n\r\n benutzerWechselnPopup: IdxPopupComponent;\r\n benutzerWechselnPopupOptions: DevExpress.ui.dxPopupOptions = {\r\n height: \"auto\",\r\n maxHeight: \"100%\",\r\n maxWidth: \"900px\"\r\n }\r\n\r\n loginprofil: IdxSelectBoxComponent;\r\n loginprofilOptions: DevExpress.ui.dxSelectBoxOptions = {\r\n valueExpr: \"Id\",\r\n displayExpr: \"Bezeichnung\",\r\n bindingOptions: {\r\n value: \"idCurrentLoginprofil\"\r\n }\r\n }\r\n\r\n loginprofilWechselnButton: IdxButtonComponent;\r\n loginprofilWechselnButtonOptions: DevExpress.ui.dxButtonOptions = {\r\n icon: \"fas fa-check\",\r\n onClick: () => {\r\n this.onLoginprofilWechselnClicked();\r\n }\r\n }\r\n\r\n benutzerWechselnGridDataSource: DevExpress.data.DataSource;\r\n benutzerWechselnGrid: IdxDataGridComponent;\r\n benutzerWechselnGridOptions: DevExpress.ui.dxDataGridOptions = {\r\n columnAutoWidth: true,\r\n height: \"400px\",\r\n selection: {\r\n mode: \"single\"\r\n },\r\n paging: {\r\n pageSize: 10\r\n },\r\n remoteOperations: {\r\n filtering: true,\r\n paging: true,\r\n sorting: true\r\n },\r\n searchPanel: {\r\n visible: true\r\n },\r\n columns: [\r\n { dataField: \"Benutzer.Benutzername\", caption: this._localizationService.translateOnce(\"benutzereinstellungen.benutzername\") },\r\n { dataField: \"Benutzer.Vorname\", caption: this._localizationService.translateOnce(\"benutzereinstellungen.vorname\") },\r\n { dataField: \"Benutzer.Nachname\", caption: this._localizationService.translateOnce(\"benutzereinstellungen.nachname\") },\r\n { dataField: \"Bezeichnung\", caption: this._localizationService.translateOnce(\"benutzereinstellungen.loginprofil\") },\r\n { \r\n dataField: \"Benutzer.Status\", \r\n caption: this._localizationService.translateOnce(\"benutzereinstellungen.status\"),\r\n dataType: \"string\",\r\n customizeText: (e) => {\r\n switch (e.value) {\r\n case 0: {\r\n return \"aktiviert\";\r\n }\r\n case 1: {\r\n return \"vorbereitet\";\r\n }\r\n case 2: {\r\n return \"vom Benutzer gelöscht\";\r\n }\r\n case 3: {\r\n return \"Aktivierung versendet\";\r\n }\r\n case 4: {\r\n return \"bereit für Aktivierung\";\r\n }\r\n case 5: {\r\n return \"gesperrt\";\r\n }\r\n default: {\r\n return \"\";\r\n }\r\n }\r\n }\r\n },\r\n { \r\n dataField: \"Benutzer.Anlagedatum\", \r\n caption: this._localizationService.translateOnce(\"benutzereinstellungen.anlagedat\"),\r\n format: this._globalizationService.getFormatter(\"g\")\r\n }\r\n ],\r\n onRowClick: (e) => {\r\n this.onBenutzerRowClicked(e.key);\r\n }\r\n }\r\n\r\n bind(bindingContext: any, overrideContext: OverrideContext) {\r\n this.scope = {\r\n bindingContext: bindingContext,\r\n overrideContext: overrideContext\r\n };\r\n\r\n this.scopeContainer = new ScopeContainer({\r\n bindingContext: this,\r\n overrideContext: null\r\n });\r\n\r\n this._simpleWidgetCreatorService.updatePopupOptions({\r\n idToolbar: \"benutzerWechselnPopupToolbar\",\r\n caption: \"benutzer-wechseln.popup-titel\",\r\n options: this.benutzerWechselnPopupOptions,\r\n scopeContainer: this.scopeContainer\r\n });\r\n\r\n this.benutzerWechselnGridDataSource = this._dataSourceService.createDataSource(this.scopeContainer, {\r\n webApiAction: \"ZIT/Berechtigungen/Loginprofil\",\r\n keyProperty: \"Id\",\r\n webApiExpand: { Benutzer: null }\r\n }, {\r\n getCustomFilters: () => {\r\n return [{\r\n webApiCustomKey: \"Editing\",\r\n webApiCustomValue: \"true\"\r\n }, {\r\n webApiCustomKey: \"CheckBenutzertyp\",\r\n webApiCustomValue: \"true\"\r\n }]\r\n }\r\n });\r\n\r\n this.benutzerWechselnGridOptions.dataSource = this.benutzerWechselnGridDataSource;\r\n }\r\n unbind() {\r\n this.scopeContainer.disposeAll();\r\n this.scope = null;\r\n }\r\n\r\n onExportLoginprofil() {\r\n this.benutzerWechselnGrid.instance.exportToExcel(false);\r\n }\r\n\r\n async showPopup() {\r\n this.setLoginprofilDataSource();\r\n this.idCurrentLoginprofil = this.startup.startupInfo.Benutzer.IdLoginprofil;\r\n await this.benutzerWechselnPopup.instance.show();\r\n\r\n this._taskQueue.queueMicroTask(() => {\r\n if(!this.benutzerWechselnGrid) {\r\n return;\r\n }\r\n this.benutzerWechselnPopup.instance.repaint();\r\n const input = this.benutzerWechselnGrid.instance.element()\r\n .getElementsByClassName(\"dx-datagrid-search-panel\").item(0)\r\n .getElementsByTagName(\"input\").item(0);\r\n this._taskQueue.queueMicroTask(() => {\r\n input.focus();\r\n })\r\n });\r\n }\r\n\r\n private async onBenutzerRowClicked(idProfil: number) {\r\n await this._loginprofilService.setLoginProfil(idProfil, true);\r\n }\r\n\r\n private async onLoginprofilWechselnClicked() {\r\n const validationResult = this.validationGroup.instance.validate();\r\n if (!validationResult.isValid) {\r\n return;\r\n }\r\n\r\n await this._loginprofilService.setLoginProfil(this.idCurrentLoginprofil, true);\r\n }\r\n\r\n private async setLoginprofilDataSource() {\r\n const dataSource = await this._loginprofilService.getLoginprofile();\r\n\r\n if (this.loginprofil) {\r\n this.loginprofil.setOption({\r\n dataSource: dataSource\r\n });\r\n } else {\r\n this.loginprofilOptions.dataSource = dataSource;\r\n }\r\n }\r\n}\r\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';\r\nimport { FormBase } from './../../../framework/forms/classes/form-base';\r\nimport { IdxSelectBoxComponent } from './../../interfaces/dx-components';\r\nimport { PopupInfoService } from './../../../framework/forms/services/popup-info-service';\r\nimport { autoinject, Scope, OverrideContext } from 'aurelia-framework';\r\nimport { LocalizationService, ScopeContainer, RestService } from '../../../framework/base/export';\r\nimport { SimpleWidgetCreatorService, ICommandData } from '../../../framework/forms/export';\r\nimport { IdxPopupComponent, IdxValidationGroupComponent } from '../../interfaces/export';\r\nimport { EventAggregator } from 'aurelia-event-aggregator';\r\n\r\n@autoinject\r\nexport class BewerbungUmbuchen {\r\n\r\n constructor(\r\n private simpleWidgetCreatorService: SimpleWidgetCreatorService,\r\n private popupInfoService: PopupInfoService,\r\n private localizationService: LocalizationService,\r\n private restService: RestService,\r\n private formEventService: FormEventService,\r\n private eventAggregator: EventAggregator\r\n ) { }\r\n\r\n scope: Scope;\r\n scopeContainer: ScopeContainer;\r\n form: FormBase;\r\n\r\n popupCommands: ICommandData[] = [{\r\n id: \"bewerbungUmbuchenSave\",\r\n icon: \"fas fa-save\",\r\n tooltip: \"base.save\",\r\n sortIndex: 1001,\r\n execute: () => {\r\n const result = this.validationGroup.instance.validate();\r\n if (!result.isValid) {\r\n return;\r\n }\r\n\r\n const selectedHelper: any = this.bewerbungUmbuchenStelleninseratSelectBox.instance.option(\"selectedItem\");\r\n\r\n this.restService.post({\r\n url: this.restService.getApiUrl(\"ZIT/Objekt/BewerbungUmbuchen\"),\r\n increaseLoadingCount: true,\r\n data: selectedHelper\r\n }).then(c => {\r\n DevExpress.ui.notify(c, \"SUCCESS\", 3000);\r\n this.popupInfoService.closeAllPopups();\r\n this.bewerbungUmbuchenStelleninseratSelectBox.setOption({ value: null });\r\n this.form.models.reloadAll();\r\n\r\n this.formEventService.onSaved.fire({\r\n form: this.form\r\n });\r\n\r\n this.eventAggregator.publish(\"bewerbung:umgebucht\", {\r\n IdStelleninserat: selectedHelper.IdStelleninseratAlt\r\n });\r\n });\r\n }\r\n }];\r\n bewerbungUmbuchenPopup: IdxPopupComponent;\r\n bewerbungUmbuchenPopupOptions: DevExpress.ui.dxPopupOptions = {\r\n height: \"300px\",\r\n maxHeight: \"80%\",\r\n maxWidth: \"550px\"\r\n };\r\n\r\n requiredValidatorOptions: DevExpress.ui.dxValidatorOptions = {\r\n validationRules: [{ type: \"required\" }]\r\n };\r\n validationGroup: IdxValidationGroupComponent;\r\n validationGroupOptions: DevExpress.ui.dxValidationGroupOptions = {};\r\n\r\n bewerbungUmbuchenStelleninseratSelectBox: IdxSelectBoxComponent;\r\n bewerbungUmbuchenStelleninseratSelectBoxOptions: DevExpress.ui.dxSelectBoxOptions = {\r\n valueExpr: \"IdStelleninseratNeu\",\r\n displayExpr: \"Bezeichnung\",\r\n };\r\n\r\n bind(bindingContext: any, overrideContext: OverrideContext) {\r\n this.scope = {\r\n bindingContext: bindingContext,\r\n overrideContext: overrideContext\r\n };\r\n\r\n this.scopeContainer = new ScopeContainer({\r\n bindingContext: this,\r\n overrideContext: null\r\n });\r\n\r\n this.simpleWidgetCreatorService.updatePopupOptions({\r\n idToolbar: \"bewerbungUmbuchenPopupToolbar\",\r\n caption: \"bewerbung-umbuchen.popup-titel\",\r\n options: this.bewerbungUmbuchenPopupOptions,\r\n commands: this.popupCommands,\r\n scopeContainer: this.scopeContainer\r\n });\r\n }\r\n unbind() {\r\n this.scopeContainer.disposeAll();\r\n this.scope = null;\r\n }\r\n\r\n showPopup(idObjekt: number, form: FormBase) {\r\n this.form = form;\r\n\r\n this.setStelleninseratDataSource(idObjekt);\r\n this.bewerbungUmbuchenPopup.instance.show();\r\n }\r\n\r\n async setStelleninseratDataSource(idObjekt: number): Promise {\r\n return this.restService.get({\r\n url: `${this.restService.getApiUrl(\"ZIT/Objekt/BewerbungUmbuchenList\")}?idObjekt=${idObjekt}`,\r\n increaseLoadingCount: true\r\n }).then(r => {\r\n if (!r || !r.length) {\r\n return;\r\n }\r\n\r\n if (this.bewerbungUmbuchenStelleninseratSelectBox) {\r\n this.bewerbungUmbuchenStelleninseratSelectBox.instance.option(\"dataSource\", r);\r\n } else {\r\n this.bewerbungUmbuchenStelleninseratSelectBoxOptions.dataSource = r;\r\n }\r\n });\r\n }\r\n}\r\n","module.exports = \" \";","import { DataSourceService, RestService, ScopeContainer } from \"../../../framework/base/export\";\r\nimport { ICommandData } from \"../../../framework/forms/export\";\r\nimport { autoinject } from \"../../../framework/forms/form-export\";\r\nimport { IdxPopupComponent, IdxSelectBoxComponent } from \"../../interfaces/export\";\r\nimport { LocalizationService } from \"./../../../framework/base/services/localization-service\";\r\nimport { SimpleWidgetCreatorService } from \"./../../../framework/forms/widget-services/simple-widget-creator-service\";\r\n\r\n@autoinject\r\nexport class BewerbungstypAendern {\r\n private NOTIFY_TIMEOUT: number = 3000;\r\n\r\n constructor(\r\n private _restService: RestService,\r\n private _dataSourceService: DataSourceService,\r\n private _simpleWidgetCreatorService: SimpleWidgetCreatorService,\r\n private _localizationService: LocalizationService) { }\r\n\r\n bewerbungstypDataSource: DevExpress.data.DataSource;\r\n scopeContainer: ScopeContainer;\r\n keyList: number[] = [];\r\n\r\n popupCommands: ICommandData[] = [{\r\n id: \"changeBewerbungstyp\",\r\n idCategory: \"$start\",\r\n icon: \"fas fa-save\",\r\n tooltip: \"base.save\",\r\n sortIndex: 1000,\r\n execute: () => {\r\n this.changeBewerbungstyp();\r\n }\r\n }];\r\n bewerbungstypAendernPopup: IdxPopupComponent;\r\n bewerbungstypAendernPopupOptions: DevExpress.ui.dxPopupOptions = {\r\n height: \"auto\",\r\n width: \"800px\",\r\n maxHeight: \"80%\",\r\n maxWidth: \"800px\"\r\n };\r\n\r\n bewerbungstypSelectBox: IdxSelectBoxComponent;\r\n bewerbungstypSelectBoxOptions: DevExpress.ui.dxSelectBoxOptions = {\r\n displayExpr: \"Bezeichnung\",\r\n valueExpr: \"Id\",\r\n searchEnabled: true\r\n };\r\n\r\n bind() {\r\n this.scopeContainer = new ScopeContainer({\r\n bindingContext: this,\r\n overrideContext: null\r\n });\r\n this._simpleWidgetCreatorService.updatePopupOptions({\r\n idToolbar: \"bewerbungstypAendernPopupToolbar\",\r\n caption: \"bewerbungstyp-aendern.popup-title\",\r\n options: this.bewerbungstypAendernPopupOptions,\r\n commands: this.popupCommands,\r\n scopeContainer: this.scopeContainer\r\n });\r\n }\r\n unbind() {\r\n this.scopeContainer.disposeAll();\r\n }\r\n\r\n showPopup(keyList: number[]) {\r\n this.keyList = keyList;\r\n this.bewerbungstypAendernPopup.instance.show();\r\n this.loadBewerbungstypDataSource();\r\n }\r\n\r\n private loadBewerbungstypDataSource() {\r\n this.bewerbungstypDataSource = this._dataSourceService.createDataSource(\r\n this.scopeContainer,\r\n {\r\n webApiAction: \"ZIT/Stammdaten/StelleninseratBewerbungstyp\"\r\n }\r\n );\r\n\r\n this.bewerbungstypSelectBox.instance.option(\"dataSource\", this.bewerbungstypDataSource);\r\n this.bewerbungstypSelectBox.instance.option(\"value\", null);\r\n }\r\n\r\n private async changeBewerbungstyp() {\r\n const idBewerbungstyp = this.bewerbungstypSelectBox.instance.option(\"value\");\r\n\r\n const data: IBewerbungstypAendern = {\r\n IdStelleninseratList: this.keyList,\r\n IdBewerbungstyp: idBewerbungstyp\r\n };\r\n\r\n await this._restService.post({\r\n url: this._restService.getApiUrl(\"ZIT/Stelleninserat/StelleninseratBewerbungstypAendern\"),\r\n data: data,\r\n increaseLoadingCount: true\r\n });\r\n\r\n DevExpress.ui.notify(this._localizationService.translateOnce(\"bewerbungstyp-aendern.bewerbungstyp-geaendert-confirmation\"), \"SUCCESS\", this.NOTIFY_TIMEOUT);\r\n this.bewerbungstypAendernPopup.instance.hide();\r\n }\r\n}\r\n\r\nexport interface IBewerbungstypAendern {\r\n IdStelleninseratList: number[];\r\n IdBewerbungstyp: number;\r\n}\r\n","module.exports = \" \";","import { autoinject, bindable, createOverrideContext, observable, BindingEngine, Disposable } from \"aurelia-framework\";\r\nimport { ScopeContainer, ObjectService } from '../../../framework/base/export';\r\nimport { IToolbarOptions } from '../../../framework/forms/elements/toolbar/toolbar-options';\r\nimport { IItem } from '../../../framework/forms/elements/toolbar/item';\r\nimport { IListViewOptions } from '../../../framework/forms/elements/list-view/list-view-options';\r\nimport { ListView } from '../../../framework/forms/export';\r\nimport { IZitCardOptions, ZitCardTyp } from '../../../zit-ui/elements/zit-card/export';\r\nimport { ListViewPagingMode } from '../../../framework/forms/elements/list-view/list-view-paging-mode';\r\n\r\n@autoinject\r\nexport class CardList {\r\n private _collectionSubscription: Disposable;\r\n private _dataSource: any[] = [];\r\n\r\n constructor(\r\n private _element: Element,\r\n private _bindingEngine: BindingEngine,\r\n private _objectService: ObjectService\r\n ) {}\r\n\r\n @bindable titel: string;\r\n @bindable @observable dataSource: any[];\r\n @bindable supportsAdd: boolean = false;\r\n @bindable supportsDelete: boolean = false;\r\n @bindable typeName: string;\r\n @bindable pageSize: number;\r\n @bindable cardDataPath: string;\r\n @bindable cardTyp: ZitCardTyp = ZitCardTyp.Kompakt;\r\n\r\n scopeContainer: ScopeContainer;\r\n toolbarOptions: IToolbarOptions;\r\n listViewOptions: IListViewOptions;\r\n listView: ListView;\r\n cardOptions: IZitCardOptions = {\r\n useDefaultBindings: true,\r\n isClickEnabled: true\r\n }\r\n\r\n bind(bindingContext, overrideContext) {\r\n this.scopeContainer = new ScopeContainer({\r\n bindingContext: this,\r\n overrideContext: createOverrideContext(bindingContext, overrideContext)\r\n });\r\n\r\n this.cardOptions.typ = this.cardTyp;\r\n\r\n this.toolbarOptions = {\r\n title: this.titel,\r\n icon: null,\r\n smallToolbar: true,\r\n items: this.getToolbarItems(),\r\n scopeContainer: this.scopeContainer\r\n };\r\n\r\n this.listViewOptions = {\r\n dataSource: new DevExpress.data.DataSource({\r\n store: new DevExpress.data.ArrayStore({ data: this._dataSource }),\r\n requireTotalCount: true\r\n }),\r\n useDefaultListItemStyle: false,\r\n itemClass: \"col-xs-12 col-sm-6\",\r\n pageSize: this.pageSize || 8,\r\n pagingMode: ListViewPagingMode.loadNext\r\n };\r\n\r\n this.updateDataSourceObserver();\r\n }\r\n unbind() {\r\n this.scopeContainer.disposeAll();\r\n this.scopeContainer = null;\r\n\r\n this.updateDataSourceObserver(true);\r\n }\r\n\r\n onDeleteClick(ev: Event, item: any) {\r\n ev.preventDefault();\r\n ev.stopPropagation();\r\n\r\n this._element.dispatchEvent(new CustomEvent(\r\n \"on-card-list-delete\", {\r\n bubbles: true,\r\n detail: {\r\n item: item.itemOrg\r\n }\r\n }\r\n ));\r\n }\r\n\r\n dataSourceChanged() {\r\n this.updateDataSource();\r\n this.updateDataSourceObserver();\r\n }\r\n\r\n private getToolbarItems() {\r\n return [{\r\n id: \"add\",\r\n icon: \"fas fa-plus\",\r\n isVisibleExpression: \"supportsAdd\",\r\n execute: () => {\r\n this._element.dispatchEvent(new CustomEvent(\r\n \"on-card-list-add\", {\r\n bubbles: true\r\n }\r\n ));\r\n }\r\n }];\r\n }\r\n private updateDataSource() {\r\n const dataSource = (this.dataSource || []);\r\n\r\n const dataSourceChecked = dataSource.map(i => {\r\n return {\r\n itemOrg: i,\r\n card: this.cardDataPath\r\n ? this._objectService.getValue(i, this.cardDataPath.concat(\".Card\"))\r\n : this._objectService.getValue(i, \"Card\")\r\n }\r\n });\r\n\r\n this._dataSource.splice(0, this._dataSource.length, ...(dataSourceChecked || []));\r\n this.listViewOptions.dataSource.reload();\r\n }\r\n private updateDataSourceObserver(onlyDispose: boolean = false) {\r\n if (this._collectionSubscription) {\r\n this._collectionSubscription.dispose(),\r\n this._collectionSubscription = null;\r\n }\r\n\r\n if (onlyDispose) {\r\n return;\r\n }\r\n\r\n if (!this.dataSource) {\r\n return;\r\n }\r\n\r\n this._collectionSubscription = this._bindingEngine.collectionObserver(this.dataSource).subscribe(() => {\r\n this.updateDataSource();\r\n });\r\n }\r\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\";\r\nimport { EventAggregator, Subscription } from 'aurelia-event-aggregator';\r\nimport { StartupService } from '../../services/export';\r\nimport { RestService } from '../../../framework/base/export';\r\nimport { HistoryService } from '../../../framework/forms/export';\r\n\r\n@autoinject\r\n@noView\r\nexport class CheckBenutzer {\r\n private _windowActivatedSubscription: Subscription;\r\n private _timeout: any;\r\n\r\n constructor(\r\n private _eventAggregator: EventAggregator,\r\n private _startupService: StartupService,\r\n private _restService: RestService,\r\n private _historyService: HistoryService\r\n ) {}\r\n\r\n bind() {\r\n this._windowActivatedSubscription = this._eventAggregator.subscribe(\"window:activated\", () => {\r\n this.checkBenutzer();\r\n \r\n this._startupService.startupInfo.Mandant.IdMandant\r\n });\r\n\r\n this._timeout = setTimeout(() => {\r\n this.checkBenutzer();\r\n }, 30000);\r\n }\r\n unbind() {\r\n this._windowActivatedSubscription.dispose();\r\n this._windowActivatedSubscription = null;\r\n\r\n clearTimeout(this._timeout);\r\n }\r\n\r\n private async checkBenutzer() {\r\n const r = await this._restService.get({\r\n url: this._restService.getApiUrl(\"ZIT/Security/CurrentBenutzerData\")\r\n });\r\n\r\n const isEqual = r.IdBenutzer == this._startupService.startupInfo.Benutzer.IdBenutzer\r\n && r.IdLoginprofil == this._startupService.startupInfo.Benutzer.IdLoginprofil\r\n && r.IdMandant == this._startupService.startupInfo.Mandant.IdMandant;\r\n \r\n if (isEqual) {\r\n return;\r\n }\r\n\r\n this._historyService.checkHasChangedDataBeforeUnload = false;\r\n window.location.reload();\r\n }\r\n}","import { autoinject, bindable, observable } from \"aurelia-framework\";\r\nimport { CodesService } from \"../../services/export\";\r\nimport { IZitTagOptions } from \"../../../zit-ui/elements/zit-tag/zit-tag-options\";\r\nimport { IBenutzerrolleCodeData } from \"../../interfaces/export\";\r\n\r\n@autoinject\r\nexport class Codes {\r\n constructor(\r\n private _codesService: CodesService\r\n ) {}\r\n\r\n @bindable showHeader = true;\r\n @bindable typ: CodesTyp = CodesTyp.Objekt;\r\n @bindable @observable id: number = void(0);\r\n\r\n codeList: any[] = [];\r\n\r\n tagOptions: IZitTagOptions = {\r\n icon: {\r\n faIconExpression: \"item.TagSymbol ? item.TagSymbol : ''\",\r\n textExpression: \"item.tagText ? item.tagText : ''\"\r\n },\r\n textExpression: \"item.Bezeichnung\",\r\n onClick: (ev, data) => {\r\n ev.preventDefault();\r\n ev.stopPropagation();\r\n\r\n data.IsAktiv = !data.IsAktiv;\r\n this.saveCode(data); \r\n },\r\n infoList: [{\r\n icon: {\r\n faIconExpression: \"item.IsAktiv ? 'fas fa-check' : 'fas fa-times'\",\r\n backgroundColorExpression: \"item.IsAktiv ? 'green':'red'\"\r\n }\r\n }]\r\n };\r\n\r\n bind() {\r\n this.loadCodes();\r\n }\r\n\r\n idChanged() {\r\n this.loadCodes();\r\n }\r\n\r\n private async loadCodes() {\r\n if (!this.id) {\r\n this.codeList = [];\r\n return;\r\n }\r\n\r\n switch (this.typ) {\r\n case CodesTyp.Objekt: {\r\n this.codeList = await this._codesService.getObjektCodes(this.id);\r\n break;\r\n }\r\n case CodesTyp.Benutzer: {\r\n this.codeList = await this._codesService.getBenutzerCodes(this.id);\r\n break;\r\n }\r\n default: {\r\n this.codeList = [];\r\n break;\r\n }\r\n }\r\n }\r\n private async saveCode(codeData: IBenutzerrolleCodeData) {\r\n switch (this.typ) {\r\n case CodesTyp.Objekt: {\r\n this._codesService.saveObjektCodes(this.id, [codeData]);\r\n break;\r\n }\r\n case CodesTyp.Benutzer: {\r\n this._codesService.saveBenutzerCodes(this.id, [codeData]);\r\n break;\r\n }\r\n default: {\r\n break;\r\n }\r\n }\r\n }\r\n}\r\n\r\nenum CodesTyp {\r\n Objekt = 0,\r\n Benutzer = 1\r\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';\r\nimport { autoinject } from 'aurelia-framework';\r\nimport { CustomEditPopupService } from '../../services/export';\r\n\r\n@autoinject\r\nexport class CustomEditPopupContainer {\r\n constructor(\r\n private customEditPopup: CustomEditPopupService\r\n ) { }\r\n\r\n ansprechpersonRead: CustomEditPopup;\r\n dokumentEdit: CustomEditPopup;\r\n dokumentRead: CustomEditPopup;\r\n dokumentUnterfertigung: CustomEditPopup;\r\n geschaeftspartnerAnsprechperson: CustomEditPopup;\r\n geschaeftspartnerEntlohnungsschema: CustomEditPopup;\r\n geschaeftspartnerAuswaehlen: CustomEditPopup;\r\n geschaeftspartnerGruppierung: CustomEditPopup;\r\n markersAuswaehlen: CustomEditPopup;\r\n personAusbildungNeu: CustomEditPopup;\r\n objektZuBenutzergruppe: CustomEditPopup;\r\n nachrichtGruppe: CustomEditPopup;\r\n\r\n attached() {\r\n this.customEditPopup.ansprechpersonRead = this.ansprechpersonRead;\r\n this.customEditPopup.dokumentEdit = this.dokumentEdit;\r\n this.customEditPopup.dokumentRead = this.dokumentRead;\r\n this.customEditPopup.dokumentUnterfertigung = this.dokumentUnterfertigung;\r\n this.customEditPopup.geschaeftspartnerAnsprechperson = this.geschaeftspartnerAnsprechperson;\r\n this.customEditPopup.geschaeftspartnerAuswaehlen = this.geschaeftspartnerAuswaehlen;\r\n this.customEditPopup.geschaeftspartnerGruppierung = this.geschaeftspartnerGruppierung;\r\n this.customEditPopup.geschaeftspartnerEntlohnungsschema = this.geschaeftspartnerEntlohnungsschema;\r\n this.customEditPopup.markersAuswaehlen = this.markersAuswaehlen;\r\n this.customEditPopup.personAusbildungNeu = this.personAusbildungNeu;\r\n this.customEditPopup.objektZuBenutzergruppe = this.objektZuBenutzergruppe;\r\n this.customEditPopup.nachrichtGruppe = this.nachrichtGruppe;\r\n }\r\n}\r\n","module.exports = \" \";","\r\nimport { autoinject } from \"aurelia-framework\";\r\nimport { SucheService, DashboardService } from '../../services/export';\r\nimport { IZitCardOptions, ZitCardTyp } from '../../../zit-ui/elements/zit-card/export';\r\nimport { FormEventService } from '../../../framework/forms/export';\r\n\r\n@autoinject\r\nexport class DashboardBoxAufgabe {\r\n private _onSavedEvent: {(): void};\r\n\r\n constructor(\r\n private _sucheService: SucheService,\r\n private _formEventService: FormEventService,\r\n private _dashboardService: DashboardService\r\n ) {}\r\n\r\n item: any;\r\n\r\n aufgabeCardOptions: IZitCardOptions = {\r\n isClickEnabled: true,\r\n useDefaultBindings: true,\r\n typ: ZitCardTyp.Kompakt\r\n };\r\n\r\n activate(item) {\r\n this.item = item;\r\n }\r\n attached() {\r\n this._onSavedEvent = this._formEventService.onSaved.register(async (e) => {\r\n if (e.form.id == \"aufgabe-obj-edit\") {\r\n this.refreshData();\r\n }\r\n });\r\n }\r\n detached() {\r\n if (this._onSavedEvent) {\r\n this._onSavedEvent();\r\n this._onSavedEvent = null;\r\n }\r\n }\r\n\r\n onBoxHeaderClicked() {\r\n this._sucheService.activateSuche(\"TIP.ZIT.Business.Entities.Objekte.Aufgaben.Aufgabe\");\r\n }\r\n\r\n private async refreshData() {\r\n const box = await this._dashboardService.getAufgabeBox();\r\n\r\n if (box) {\r\n this.item = box;\r\n } else {\r\n this.item = Object.assign({}, this.item, {\r\n DataSource: [],\r\n Anzahl: 0,\r\n AnzahlGesamt: 0\r\n });\r\n }\r\n }\r\n}\r\n","module.exports = \" \";","import { IZitCardOptions, ZitCardTyp } from \"./../../../zit-ui/elements/zit-card/zit-card-options\";\r\nimport { autoinject } from \"aurelia-framework\";\r\nimport { SucheService } from \"../../services/export\";\r\n\r\n@autoinject\r\nexport class DashboardBoxBewerbung {\r\n constructor(\r\n private sucheService: SucheService\r\n ) { }\r\n\r\n item: any;\r\n\r\n bewerbungCardOptions: IZitCardOptions = {\r\n isClickEnabled: true,\r\n useDefaultBindings: true,\r\n typ: ZitCardTyp.Kompakt\r\n };\r\n\r\n activate(item) {\r\n this.item = item;\r\n }\r\n\r\n onBoxHeaderClicked() {\r\n this.sucheService.activateSuche(\"TIP.ZIT.Business.Entities.Objekte.Bewerbungen.Bewerbung\");\r\n }\r\n}\r\n","module.exports = \" \";","\r\nimport { autoinject } from \"aurelia-framework\";\r\nimport { SucheService, StartupService } from '../../services/export';\r\nimport { BenutzerTyp } from '../../enumerations/export';\r\nimport { IZitCardOptions, ZitCardTyp } from '../../../zit-ui/elements/zit-card/export';\r\n\r\n@autoinject\r\nexport class DashboardBoxEinsatz {\r\n constructor(\r\n private sucheService: SucheService,\r\n private startupSerive: StartupService\r\n ) {\r\n const natuerlichePerson = this.startupSerive.startupInfo.Benutzer.Benutzertyp == BenutzerTyp.NatuerlichePerson;\r\n\r\n this.isNatuerlichePerson = natuerlichePerson;\r\n }\r\n\r\n item: any;\r\n isNatuerlichePerson: boolean;\r\n\r\n einsatzCardOptions: IZitCardOptions = {\r\n isClickEnabled: true,\r\n useDefaultBindings: true,\r\n typ: ZitCardTyp.Kompakt\r\n };\r\n\r\n activate(item) {\r\n this.item = item;\r\n }\r\n\r\n onBoxHeaderClicked() {\r\n this.sucheService.activateSuche(\"TIP.ZIT.Business.Entities.Objekte.Disposition.DispoPlanstellePersonenzuteilung\");\r\n }\r\n}\r\n","module.exports = \" \";","import { IZitCardOptions, ZitCardTyp } from \"./../../../zit-ui/elements/zit-card/zit-card-options\";\r\nimport { autoinject } from \"aurelia-framework\";\r\nimport { SucheService } from \"../../services/export\";\r\n\r\n@autoinject\r\nexport class DashboardBoxEventTeilnehmer {\r\n constructor(\r\n private sucheService: SucheService\r\n ) { }\r\n\r\n item: any;\r\n\r\n eventTeilnehmerCardOptions: IZitCardOptions = {\r\n isClickEnabled: true,\r\n useDefaultBindings: true,\r\n typ: ZitCardTyp.Kompakt\r\n };\r\n\r\n activate(item) {\r\n this.item = item;\r\n }\r\n\r\n onBoxHeaderClicked() {\r\n this.sucheService.activateSuche(\"TIP.ZIT.Business.Entities.Objekte.Events.EventTeilnehmer\");\r\n }\r\n}\r\n","module.exports = \" \";","import { IZitCardOptions, ZitCardTyp } from \"./../../../zit-ui/elements/zit-card/zit-card-options\";\r\nimport { autoinject } from \"aurelia-framework\";\r\nimport { SucheService } from \"../../services/export\";\r\n\r\n@autoinject\r\nexport class DashboardBoxEvent {\r\n constructor(\r\n private sucheService: SucheService\r\n ) { }\r\n\r\n item: any;\r\n\r\n eventCardOptions: IZitCardOptions = {\r\n isClickEnabled: true,\r\n useDefaultBindings: true,\r\n typ: ZitCardTyp.Kompakt\r\n };\r\n\r\n activate(item) {\r\n this.item = item;\r\n }\r\n\r\n onBoxHeaderClicked() {\r\n this.sucheService.activateSuche(\"TIP.ZIT.Business.Entities.Objekte.Events.EventZeitraum\");\r\n }\r\n}\r\n","module.exports = \" \";","import { autoinject } from \"aurelia-framework\";\r\n\r\n@autoinject\r\nexport class DashboardBoxHtml {\r\n item: any;\r\n\r\n activate(item) {\r\n this.item = item;\r\n }\r\n}\r\n","module.exports = \" \";","import { autoinject } from \"aurelia-framework\";\r\nimport { SucheService } from \"../../services/export\";\r\nimport { IZitCardOptions, ZitCardTyp } from \"./../../../zit-ui/elements/zit-card/zit-card-options\";\r\n\r\n@autoinject\r\nexport class DashboardBoxInformation {\r\n constructor(\r\n private sucheService: SucheService\r\n ) { }\r\n \r\n item: any;\r\n\r\n informationCardOptions: IZitCardOptions = {\r\n isClickEnabled: true,\r\n useDefaultBindings: true,\r\n typ: ZitCardTyp.Kompakt\r\n };\r\n\r\n activate(item) {\r\n this.item = item;\r\n }\r\n\r\n onBoxHeaderClicked() {\r\n this.sucheService.activateSuche(\"TIP.ZIT.Business.Entities.Objekte.Informationen.Information\");\r\n }\r\n}\r\n","module.exports = \" \";","\r\nimport { autoinject } from \"aurelia-framework\";\r\nimport { GlobalizationService } from '../../../framework/base/export';\r\n\r\n@autoinject\r\nexport class DashboardBoxKennzahlen {\r\n constructor(\r\n private globalizationService: GlobalizationService\r\n ) {}\r\n\r\n item: any;\r\n kennzahlenBarGaugeOptions: DevExpress.viz.gauges.dxBarGaugeOptions = {}\r\n\r\n activate(item) {\r\n this.item = item;\r\n \r\n this.kennzahlenBarGaugeOptions = {\r\n values : [\r\n item.DataSource.Aufruf5Wochen,\r\n item.DataSource.Aufruf1Woche,\r\n item.DataSource.Mobil5Wochen\r\n ],\r\n endValue: (item.DataSource.Aufruf5Wochen * 1.07),\r\n startValue: 0,\r\n palette: \"Office\",\r\n tooltip: {\r\n enabled: true,\r\n customizeTooltip: (e) => {\r\n return { \r\n text: e.index == 0 \r\n ? 'Seitenaufrufe innerhalb der letzten fünf Wochen' \r\n : e.index == 1\r\n ? 'Seitenaufrufe innerhalb der letzten Woche'\r\n : e.index == 2\r\n ? 'mobile Seitenaufrufe in den letzten fünf Wochen'\r\n :''\r\n };\r\n }\r\n }\r\n }\r\n }\r\n}\r\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';\r\n\r\nimport { autoinject } from \"aurelia-framework\";\r\nimport { SucheService } from '../../services/export';\r\n\r\n@autoinject\r\nexport class DashboardBoxStelleninserat {\r\n constructor(\r\n private sucheService: SucheService\r\n ) { }\r\n \r\n item: any;\r\n\r\n stelleninseratCardOptions: IZitCardOptions = {\r\n isClickEnabled: true,\r\n useDefaultBindings: true,\r\n typ: ZitCardTyp.Kompakt\r\n };\r\n\r\n activate(item) {\r\n this.item = item;\r\n }\r\n\r\n onBoxHeaderClicked() {\r\n this.sucheService.activateSuche(\"TIP.ZIT.Business.Entities.Objekte.Stelleninserate.Stelleninserat\");\r\n }\r\n}\r\n","module.exports = \" \";","import { autoinject } from \"aurelia-framework\";\r\nimport { SucheService } from \"../../services/export\";\r\nimport { IZitCardOptions, ZitCardTyp } from \"./../../../zit-ui/elements/zit-card/zit-card-options\";\r\n\r\n@autoinject\r\nexport class DashboardBoxTermin {\r\n constructor(\r\n private sucheService: SucheService\r\n ) { }\r\n \r\n item: any;\r\n\r\n terminCardOptions: IZitCardOptions = {\r\n isClickEnabled: true,\r\n useDefaultBindings: true,\r\n typ: ZitCardTyp.Kompakt\r\n };\r\n\r\n activate(item) {\r\n this.item = item;\r\n }\r\n\r\n onBoxHeaderClicked() {\r\n this.sucheService.activateSuche(\"TIP.ZIT.Business.Entities.Objekte.Termine.Termin\");\r\n }\r\n}\r\n","module.exports = \" \";","import { EventAggregator } from 'aurelia-event-aggregator';\r\nimport { Benutzereinstellungen } from './../benutzereinstellungen/benutzereinstellungen';\r\nimport { DashboardButtonAktionTyp } from './../../enumerations/dashboard-button-aktion-typ';\r\nimport { NachrichtService } from './../../services/nachricht-service';\r\nimport { autoinject, bindable, observable, Scope } from \"aurelia-framework\";\r\nimport { LocationService } from '../../../framework/base/export';\r\nimport { SucheService } from '../../services/export';\r\nimport { FormUtilsService } from '../../../framework/forms/export';\r\n\r\n@autoinject\r\nexport class DashboardButton {\r\n constructor(\r\n private nachrichtService: NachrichtService,\r\n private locationService: LocationService,\r\n private sucheService: SucheService,\r\n private eventAggregator: EventAggregator,\r\n private formUtilsService: FormUtilsService\r\n ) { }\r\n\r\n scope: Scope;\r\n\r\n @bindable item: any;\r\n\r\n bind(bindingContext, overrideContext) {\r\n this.scope = {\r\n bindingContext,\r\n overrideContext\r\n };\r\n }\r\n\r\n onDashboardButtonClicked() {\r\n switch (this.item.AktionTyp) {\r\n case 0: {\r\n return this.locationService.goTo({\r\n url: `${this.item.Aktion}`,\r\n replace: false,\r\n currentViewModel: this.formUtilsService.getMainForm(this.scope)\r\n });\r\n }\r\n case 1: {\r\n return this.locationService.goTo({\r\n url: `${this.item.Aktion}`,\r\n clearStack: true\r\n });\r\n }\r\n case 2: {\r\n return window.open(this.item.Aktion, \"_blank\");\r\n }\r\n case 3: {\r\n switch (this.item.Aktion) {\r\n case \"Benutzereinstellungen\": {\r\n this.eventAggregator.publish(\"benutzereinstellungen:show\");\r\n break;\r\n }\r\n default: {\r\n break;\r\n }\r\n }\r\n break;\r\n }\r\n case 4: {\r\n this.sucheService.activateSuche(this.item.Aktion)\r\n }\r\n default:\r\n break;\r\n }\r\n }\r\n}\r\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\";\r\nimport { BrowserService } from \"./../../../framework/base/services/browser-service\";\r\nimport { Geschlecht } from \"./../../enumerations/geschlecht\";\r\nimport { StartupService } from \"./../../services/startup-service\";\r\nimport { ScopeContainer } from \"./../../../framework/base/classes/scope-container\";\r\nimport { RestService } from \"./../../../framework/base/services/rest-service\";\r\nimport { autoinject, PLATFORM, bindable, computedFrom } from \"aurelia-framework\";\r\nimport { FormBase } from \"../../../framework/forms/classes/form-base\";\r\nimport { AnredeformTyp } from \"../../interfaces/export\";\r\nimport { DashboardService } from \"../../services/export\";\r\n\r\nPLATFORM.moduleName(\"zit/elements/dashboard-box-bewerbung/dashboard-box-bewerbung\");\r\nPLATFORM.moduleName(\"zit/elements/dashboard-box-einsatz/dashboard-box-einsatz\");\r\nPLATFORM.moduleName(\"zit/elements/dashboard-box-aufgabe/dashboard-box-aufgabe\");\r\nPLATFORM.moduleName(\"zit/elements/dashboard-box-stelleninserat/dashboard-box-stelleninserat\");\r\nPLATFORM.moduleName(\"zit/elements/dashboard-box-termin/dashboard-box-termin\");\r\nPLATFORM.moduleName(\"zit/elements/dashboard-box-html/dashboard-box-html\");\r\nPLATFORM.moduleName(\"zit/elements/dashboard-box-event/dashboard-box-event\");\r\nPLATFORM.moduleName(\"zit/elements/dashboard-box-event-teilnehmer/dashboard-box-event-teilnehmer\");\r\nPLATFORM.moduleName(\"zit/elements/dashboard-box-information/dashboard-box-information\");\r\nPLATFORM.moduleName(\"zit/elements/dashboard-box-kennzahlen/dashboard-box-kennzahlen\");\r\n\r\n@autoinject\r\nexport class DashboardContainer {\r\n constructor(\r\n private _restService: RestService,\r\n private _startupService: StartupService,\r\n private _browserService: BrowserService,\r\n private _dashboardService: DashboardService\r\n ) {\r\n const browsermobile = this._browserService.isMobile;\r\n this.isBrowserMobile = browsermobile;\r\n }\r\n\r\n @bindable mainForm: FormBase;\r\n\r\n dashboardInfoContainer: any;\r\n scopeContainer: ScopeContainer;\r\n subHeadline: string;\r\n isBrowserMobile: boolean;\r\n\r\n @computedFrom(\"dashboardInfoContainer\")\r\n get headline(): string {\r\n const benutzer = this._startupService.startupInfo.Benutzer;\r\n\r\n if (this.dashboardInfoContainer && this.dashboardInfoContainer.Anredeform == AnredeformTyp.Du) {\r\n return `Hallo ${benutzer.Vorname}!`\r\n } else {\r\n let anrede = \"\";\r\n\r\n switch (benutzer.Geschlecht) {\r\n case Geschlecht.Maennlich: {\r\n if(benutzer.KontaktpersonTyp == KontaktpersonTyp.NatuerlichePerson) {\r\n anrede = \"Herr\";\r\n break;\r\n }\r\n }\r\n case Geschlecht.Weiblich: {\r\n if(benutzer.KontaktpersonTyp == KontaktpersonTyp.NatuerlichePerson) {\r\n anrede = \"Frau\";\r\n break;\r\n }\r\n }\r\n case Geschlecht.Maennlich: {\r\n if(benutzer.KontaktpersonTyp == KontaktpersonTyp.Team) {\r\n anrede = \"Team\";\r\n break;\r\n }\r\n }\r\n case Geschlecht.Weiblich: {\r\n if(benutzer.KontaktpersonTyp == KontaktpersonTyp.Team) {\r\n anrede = \"Team\";\r\n break;\r\n }\r\n }\r\n }\r\n return `Guten Tag ${anrede} ${benutzer.Nachname}!`\r\n }\r\n }\r\n\r\n bind() {\r\n this.scopeContainer = new ScopeContainer({\r\n bindingContext: this,\r\n overrideContext: null\r\n });\r\n\r\n this.loadDashboardInfo();\r\n }\r\n\r\n async loadDashboardInfo() {\r\n this.dashboardInfoContainer = await this._dashboardService.getDashboardInfo();\r\n this.subHeadline = this.dashboardInfoContainer.SubHeadline;\r\n }\r\n}\r\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\";\r\n\r\n@autoinject\r\nexport class DateiAuswaehlen {\r\n constructor(\r\n private _element: Element\r\n ) {}\r\n\r\n input: HTMLInputElement;\r\n\r\n onMakePhoto(multiple: boolean = false, asGallery: boolean = false) {\r\n this.onSelect(\"camera\", multiple, asGallery);\r\n }\r\n onMakeVideo(multiple: boolean = false, asGallery: boolean = false) {\r\n this.onSelect(\"video\", multiple, asGallery);\r\n }\r\n onOpenGallery(multiple: boolean = false) {\r\n this.onSelect(\"camera\", multiple, true);\r\n }\r\n onOpenFiles(multiple: boolean = false) {\r\n this.onSelect(\"file\", multiple, false);\r\n }\r\n\r\n async onFileChange(e) {\r\n const files = e.target.files;\r\n if (!files) {\r\n return;\r\n }\r\n if (!files.length) {\r\n return;\r\n }\r\n\r\n this.dispatchEvent(files);\r\n }\r\n\r\n private onSelect(type: \"camera\" | \"file\" | \"video\" = \"camera\", multiple: boolean, asGallery: boolean) {\r\n this.input.value = null;\r\n const input = this._element.querySelector(\"input\");\r\n\r\n input.removeAttribute(\"capture\");\r\n input.removeAttribute(\"accept\");\r\n input.removeAttribute(\"multiple\");\r\n\r\n if (type == \"camera\") {\r\n input.setAttribute(\"accept\", \"image/*\");\r\n }\r\n if (type == \"video\") {\r\n input.setAttribute(\"accept\", \"video/*\");\r\n }\r\n\r\n if (!asGallery) {\r\n if (type == \"camera\") {\r\n input.setAttribute(\"capture\", \"camera\");\r\n }\r\n if (type == \"video\") {\r\n input.setAttribute(\"capture\", \"camcorder\");\r\n }\r\n }\r\n\r\n if (multiple) {\r\n input.setAttribute(\"multiple\", \"true\");\r\n }\r\n\r\n input.click();\r\n }\r\n private dispatchEvent(files: File[]) {\r\n this._element.dispatchEvent(new CustomEvent(\r\n \"on-datei-ausgewaehlt\", {\r\n bubbles: true,\r\n detail: {\r\n files: files\r\n }\r\n }\r\n ));\r\n }\r\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\";\r\nimport { SimpleWidgetCreatorService } from '../../../framework/forms/export';\r\nimport { ScopeContainer, FileService, BrowserService } from '../../../framework/base/export';\r\nimport { IdxPopupComponent, IdxGalleryComponent } from '../../interfaces/export';\r\nimport { IDatei } from '../datei/datei';\r\n\r\n@autoinject\r\nexport class DateiGalerieViewer {\r\n private _options: IDateiGalerieViewerShowOptions;\r\n\r\n constructor(\r\n private _simpleWidgetCreatorService: SimpleWidgetCreatorService,\r\n private _fileService: FileService,\r\n private _browserService: BrowserService\r\n ) {}\r\n\r\n scopeContainer: ScopeContainer;\r\n\r\n popupTitel: string;\r\n dateiList: IDatei[];\r\n\r\n popup: IdxPopupComponent;\r\n popupOptions: DevExpress.ui.dxPopupOptions = {\r\n contentTemplate: \"contentTemplate\",\r\n width: this._browserService.isMobile ? \"100%\" : \"75vw\",\r\n height: this._browserService.isMobile ? \"100%\" : \"75vh\",\r\n onHidden: () => {\r\n this.dateiList = [];\r\n this.gallery.instance.option(\"dataSource\", []);\r\n }\r\n };\r\n\r\n galleryItemInfo: any = {};\r\n\r\n gallery: IdxGalleryComponent;\r\n galleryOptions: DevExpress.ui.dxGalleryOptions = {\r\n itemTemplate: \"itemTemplate\",\r\n height: \"100%\",\r\n width: \"100%\",\r\n showIndicator: false,\r\n showNavButtons: true,\r\n onContentReady: (ev) => {\r\n const selectedItem = ev.component.option(\"selectedItem\");\r\n if (!selectedItem) {\r\n return;\r\n }\r\n\r\n this.checkRender(selectedItem);\r\n },\r\n onItemRendered: (ev) => {\r\n this.galleryItemInfo[ev.itemData.Id || ev.itemData.DMSLink] = {\r\n data: ev.itemData,\r\n element: ev.itemElement,\r\n rendered: false\r\n }\r\n },\r\n onOptionChanged: (ev) => {\r\n if (ev.name == \"selectedItem\" && ev.value) {\r\n this.checkRender(ev.value);\r\n }\r\n }\r\n };\r\n\r\n scrollOptions: DevExpress.ui.dxScrollViewOptions = {\r\n direction: \"horizontal\"\r\n };\r\n\r\n bind() {\r\n this.scopeContainer = new ScopeContainer({\r\n bindingContext: this,\r\n overrideContext: null\r\n });\r\n\r\n this._simpleWidgetCreatorService.updatePopupOptions({\r\n idToolbar: \"dateiGalerieViewerPopupToolbar\",\r\n caption: \"datei-galerie-viewer.popup-titel\",\r\n options: this.popupOptions,\r\n commands: [],\r\n scopeContainer: this.scopeContainer\r\n });\r\n }\r\n\r\n async show(options: IDateiGalerieViewerShowOptions) {\r\n this._options = options;\r\n\r\n this.popupTitel = options.popupTitel;\r\n this.galleryItemInfo = {};\r\n this.dateiList = options.dateiList;\r\n \r\n await this.popup.instance.show();\r\n this.popup.instance.repaint();\r\n\r\n this.gallery.instance.option({\r\n animationEnabled: false,\r\n dataSource: this.dateiList,\r\n selectedIndex: 0\r\n });\r\n\r\n this.gallery.instance.option(\"animationEnabled\", true);\r\n }\r\n\r\n async onBildClick(bild) {\r\n const indexOf = this.dateiList.indexOf(bild);\r\n if (indexOf < 0) {\r\n return;\r\n }\r\n\r\n this.gallery.instance.goToItem(indexOf, false);\r\n }\r\n\r\n private checkRender(datei: IDatei) {\r\n const galleryItem: IGalleryItem = this.galleryItemInfo[datei.Id || datei.DMSLink];\r\n if (!galleryItem || galleryItem.rendered) {\r\n return;\r\n }\r\n\r\n const container: HTMLDivElement = galleryItem.element.querySelector(\".datei-galerie-item\");\r\n const image = container.firstElementChild;\r\n const url = this._fileService.getInlineUrl(galleryItem.data.DMSLinkDownload || galleryItem.data.DMSLink);\r\n image.src = url;\r\n \r\n galleryItem.rendered = true;\r\n }\r\n}\r\n\r\nexport interface IDateiGalerieViewerShowOptions {\r\n popupTitel: string;\r\n dateiList?: IDatei[];\r\n}\r\ninterface IGalleryItem {\r\n data: any;\r\n element: Element;\r\n rendered: boolean;\r\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\";\r\nimport { SimpleWidgetCreatorService, ICommandData } from '../../../framework/forms/export';\r\nimport { ScopeContainer, FileService } from '../../../framework/base/export';\r\nimport { IdxPopupComponent } from '../../interfaces/export';\r\nimport { DateiAuswaehlen } from '../datei-auswaehlen/datei-auswaehlen';\r\nimport { IDatei } from '../datei/datei';\r\nimport { IZitTagOptions } from '../../../zit-ui/elements/zit-tag/zit-tag-options';\r\n\r\n@autoinject\r\nexport class DateiGalerie {\r\n private _options: IDateiGalerieShowOptions;\r\n private _dateiList: IDatei[];\r\n\r\n constructor(\r\n private _simpleWidgetCreatorService: SimpleWidgetCreatorService,\r\n private _fileService: FileService\r\n ) {}\r\n\r\n scopeContainer: ScopeContainer;\r\n dateiAuswaehlen: DateiAuswaehlen;\r\n \r\n fotoCommand: ICommandData = {\r\n id: \"kameraCommand\",\r\n idCategory: \"$start\",\r\n icon: \"fas fa-camera\",\r\n sortIndex: 2000,\r\n execute: () => {\r\n this.dateiAuswaehlen.onMakePhoto(true, true);\r\n }\r\n };\r\n videoCommand: ICommandData = {\r\n id: \"videoCommand\",\r\n idCategory: \"$start\",\r\n icon: \"fas fa-video\",\r\n sortIndex: 2001,\r\n execute: () => {\r\n this.dateiAuswaehlen.onMakeVideo(true, true);\r\n }\r\n };\r\n saveCommand: ICommandData = {\r\n id: \"saveCommand\",\r\n idCategory: \"$start\",\r\n icon: \"fas fa-check\",\r\n sortIndex: 3000,\r\n execute: () => {\r\n this.save();\r\n }\r\n };\r\n\r\n popup: IdxPopupComponent;\r\n popupOptions: DevExpress.ui.dxPopupOptions = {\r\n contentTemplate: \"contentTemplate\",\r\n width: \"500px\",\r\n height: \"auto\"\r\n };\r\n\r\n bezeichnung: string;\r\n galerieTextBoxOptions: DevExpress.ui.dxTextBoxOptions = {\r\n maxLength: 100,\r\n bindingOptions: {\r\n value: \"bezeichnung\"\r\n }\r\n };\r\n\r\n tagItem = {\r\n text: \"\"\r\n }\r\n dateiTagOptions: IZitTagOptions = {\r\n icon: {\r\n text: \"D\"\r\n },\r\n textExpression: \"item.text\"\r\n }\r\n\r\n bind() {\r\n this.scopeContainer = new ScopeContainer({\r\n bindingContext: this,\r\n overrideContext: null\r\n });\r\n\r\n this._simpleWidgetCreatorService.updatePopupOptions({\r\n idToolbar: \"dateiGaleriePopupToolbar\",\r\n caption: \"datei-galerie.galerie\",\r\n options: this.popupOptions,\r\n commands: [this.fotoCommand, this.videoCommand, this.saveCommand],\r\n scopeContainer: this.scopeContainer\r\n });\r\n }\r\n\r\n show(options: IDateiGalerieShowOptions) {\r\n this._options = options;\r\n this.bezeichnung = options.bezeichnung;\r\n this._dateiList = options.dateiList || [];\r\n this.refresh();\r\n\r\n this.popup.instance.show();\r\n }\r\n\r\n save() {\r\n if (!this.bezeichnung) {\r\n DevExpress.ui.notify(\r\n \"Bezeichnung ist ein Pflichtfeld\",\r\n \"error\",\r\n 3000\r\n );\r\n\r\n return;\r\n }\r\n\r\n this._dateiList.forEach(d => d.Gruppe = this.bezeichnung);\r\n this._options.callback(this._dateiList);\r\n this.popup.instance.hide();\r\n }\r\n\r\n async onDateiAusgewaehlt(e: CustomEvent) {\r\n for (let file of e.detail.files) {\r\n const dmsLink = await this._fileService.upload(file);\r\n if (!dmsLink) {\r\n return;\r\n }\r\n\r\n this._dateiList.push({ DMSLink: dmsLink, Dateiname: file.name });\r\n }\r\n \r\n this.refresh();\r\n }\r\n\r\n private refresh() {\r\n this.tagItem.text = this._dateiList.length == 0\r\n ? \"Keine Elemente vorhanden\"\r\n : (this._dateiList.length == 1\r\n ? \"1 Element vorhanden\"\r\n : `${this._dateiList.length} Elemente vorhanden`);\r\n }\r\n}\r\n\r\nexport interface IDateiGalerieShowOptions {\r\n bezeichnung?: string;\r\n dateiList?: IDatei[];\r\n\r\n callback: {(dateiList: IDatei[]): void};\r\n}","module.exports = \"\";","import { autoinject, bindable, TaskQueue, observable, computedFrom } from \"aurelia-framework\";\r\nimport { IZitTagOptions } from '../../../zit-ui/elements/zit-tag/zit-tag-options';\r\nimport { FileService, BrowserService } from '../../../framework/base/export';\r\nimport { DateiService } from '../../services/datei-service';\r\nimport { DateiAuswaehlen } from '../datei-auswaehlen/datei-auswaehlen';\r\nimport { DateiGalerie } from '../datei-galerie/datei-galerie';\r\nimport { DateiGalerieViewer } from '../datei-galerie-viewer/datei-galerie-viewer';\r\nimport { IdxScrollViewComponent } from '../../interfaces/export';\r\nimport { IframePopupService } from '../../services/iframe-popup-service';\r\n\r\n@autoinject\r\nexport class Datei {\r\n constructor(\r\n private _element: Element,\r\n private _taskQueue: TaskQueue,\r\n private _fileService: FileService,\r\n private _dateiService: DateiService,\r\n private _iframePopupService: IframePopupService,\r\n private _browserService: BrowserService\r\n ) {\r\n this.isMobile = _browserService.isMobile;\r\n }\r\n\r\n isMobile: boolean;\r\n\r\n @bindable @observable dateiList: IDatei[];\r\n @bindable isReadOnly: boolean;\r\n @bindable showToolbar: boolean;\r\n \r\n showBild: boolean;\r\n showDokument: boolean;\r\n\r\n dateiAuswaehlen: DateiAuswaehlen;\r\n dateiGalerie: DateiGalerie;\r\n dateiGalerieViewer: DateiGalerieViewer;\r\n\r\n bildList: IDatei[];\r\n dokumentList: IDatei[];\r\n\r\n dokumentTagOptions: IZitTagOptions = {\r\n icon: {\r\n faIcon: \"fas fa-paperclip\"\r\n },\r\n textExpression: \"item.Dateiname\",\r\n onClick: (e, data: IDatei) => {\r\n e.stopPropagation();\r\n\r\n if (data[\"_IsGruppe\"]) {\r\n this.dateiGalerieViewer.show({\r\n popupTitel: data.Dateiname,\r\n dateiList: data[\"_GruppeDateiList\"]\r\n });\r\n } else {\r\n if (data.VideoUrl) {\r\n this._iframePopupService.popup.show({\r\n titel: data.Dateiname,\r\n src: `https://player.vimeo.com${data.VideoUrl}`,\r\n width: 400,\r\n height: 300,\r\n allow: \"autoplay; fullscreen\",\r\n allowFullScreen: true\r\n });\r\n } else {\r\n this._fileService.download(data.DMSLink);\r\n }\r\n }\r\n },\r\n onDeleteClick: (e, data) => {\r\n e.stopPropagation();\r\n\r\n const deleteDatei = (d) => {\r\n const index = this.dateiList.indexOf(d);\r\n if (index < 0) {\r\n return;\r\n }\r\n \r\n this.dateiList.splice(index, 1);\r\n this.dispatchDateiDelete(d.id);\r\n };\r\n\r\n if (data[\"_IsGruppe\"]) {\r\n const dataList: any[] = data[\"_GruppeDateiList\"];\r\n dataList.forEach(d => deleteDatei(d));\r\n } else {\r\n deleteDatei(data);\r\n }\r\n \r\n this.refresh();\r\n this.dispatchDateiListChanged();\r\n }\r\n };\r\n dokumentReadOnlyTagOptions: IZitTagOptions = {\r\n icon: {\r\n faIcon: \"fas fa-paperclip\"\r\n },\r\n textExpression: \"item.Dateiname\",\r\n onClick: (e, data: IDatei) => {\r\n e.stopPropagation();\r\n\r\n if (data[\"_IsGruppe\"]) {\r\n this.dateiGalerieViewer.show({\r\n popupTitel: data.Dateiname,\r\n dateiList: data[\"_GruppeDateiList\"]\r\n });\r\n } else {\r\n if (data.VideoUrl) {\r\n this._iframePopupService.popup.show({\r\n titel: data.Dateiname,\r\n src: `https://player.vimeo.com${data.VideoUrl}`,\r\n width: 400,\r\n height: 300,\r\n allow: \"autoplay; fullscreen\",\r\n allowFullScreen: true\r\n });\r\n } else {\r\n this._fileService.download(data.DMSLink);\r\n }\r\n }\r\n }\r\n }\r\n\r\n scroll: IdxScrollViewComponent;\r\n scrollOptions: DevExpress.ui.dxScrollViewOptions = {\r\n direction: \"horizontal\",\r\n height: \"0\"\r\n };\r\n\r\n get dokumentValidatedTagOptions(): IZitTagOptions {\r\n if (this.isReadOnly) {\r\n return this.dokumentReadOnlyTagOptions;\r\n } else {\r\n return this.dokumentTagOptions;\r\n }\r\n }\r\n @computedFrom(\"showToolbar\", \"isReadOnly\")\r\n get showToolbarValidated() {\r\n return this.showToolbar && !this.isReadOnly;\r\n }\r\n\r\n bind() {\r\n this.refresh();\r\n }\r\n\r\n dateiListChanged() {\r\n this.refresh();\r\n }\r\n\r\n refresh() {\r\n this.dateiList = this.dateiList || [];\r\n\r\n this.showBild = false;\r\n this.showDokument = false;\r\n this.bildList = [];\r\n this.dokumentList = [];\r\n\r\n const gruppeArr = {};\r\n\r\n for (let datei of this.dateiList) {\r\n if (datei.Gruppe) {\r\n if (!gruppeArr[datei.Gruppe]) {\r\n gruppeArr[datei.Gruppe] = [];\r\n }\r\n\r\n gruppeArr[datei.Gruppe].push(datei);\r\n } else if (this._dateiService.isBild(datei.Dateiname)) {\r\n this.showBild = true;\r\n this.bildList.push(datei);\r\n } else {\r\n this.showDokument = true;\r\n this.dokumentList.push(datei);\r\n }\r\n }\r\n\r\n for (let gruppeKey in gruppeArr) {\r\n const gruppe: Datei[] = gruppeArr[gruppeKey];\r\n\r\n const dummyDatei: IDatei = {\r\n Dateiname: `${gruppeKey} (${gruppe.length})`,\r\n DMSLink: null\r\n };\r\n dummyDatei[\"_IsGruppe\"] = true;\r\n dummyDatei[\"_GruppeDateiList\"] = gruppe;\r\n\r\n this.showDokument = true;\r\n this.dokumentList.push(dummyDatei);\r\n }\r\n\r\n this.scrollOptions.height = this.showBild ? \"100px\" : \"0\";\r\n if (this.scroll && this.scroll.instance) {\r\n this.scroll.setOption(this.scrollOptions);\r\n }\r\n\r\n this._taskQueue.queueMicroTask(() => {\r\n this._element.dispatchEvent(new CustomEvent(\r\n \"on-datei-refreshed\",\r\n {\r\n bubbles: true\r\n }\r\n ));\r\n });\r\n this._taskQueue.queueTask(() => {\r\n if (this.scroll && this.scroll.instance) {\r\n this.scroll.instance.update();\r\n }\r\n });\r\n }\r\n\r\n onCameraClick() {\r\n this.dateiAuswaehlen.onMakePhoto(true, true);\r\n }\r\n onVideoClick() {\r\n this.dateiAuswaehlen.onMakeVideo(true, true);\r\n }\r\n onDokumentClick() {\r\n this.dateiAuswaehlen.onOpenFiles(true);\r\n }\r\n onAddToGalerieClick(callback?: {(): void}) {\r\n this.dateiGalerie.show({\r\n callback: (dateiList) => {\r\n dateiList.forEach(d => {\r\n const datei = this.dateiList.find(dd => dd.DMSLink == d.DMSLink);\r\n if (datei) {\r\n datei.Gruppe = d.Gruppe;\r\n } else {\r\n this.dateiList.push(d);\r\n }\r\n });\r\n\r\n this.refresh();\r\n this.dispatchDateiListChanged();\r\n\r\n if (callback) {\r\n callback();\r\n }\r\n }\r\n });\r\n }\r\n onBildClick(e: Event, bild: IDatei) {\r\n e.stopPropagation();\r\n e.preventDefault();\r\n\r\n this._fileService.inline(bild.DMSLinkDownload || bild.DMSLink);\r\n }\r\n onDeleteBild(e: Event, bild: IDatei) {\r\n e.stopPropagation();\r\n e.preventDefault();\r\n\r\n const index = this.dateiList.indexOf(bild);\r\n if (index < 0) {\r\n return;\r\n }\r\n\r\n this.dateiList.splice(index, 1);\r\n this.refresh();\r\n this.dispatchDateiDelete(bild.Id);\r\n this.dispatchDateiListChanged();\r\n }\r\n async onDateiAusgewaehlt(e: CustomEvent) {\r\n for (let file of e.detail.files) {\r\n const dmsLink = await this._fileService.upload(file);\r\n if (!dmsLink) {\r\n return;\r\n }\r\n\r\n this.dateiList.push({ DMSLink: dmsLink, Dateiname: file.name });\r\n }\r\n \r\n this.refresh();\r\n this.dispatchDateiListChanged();\r\n }\r\n\r\n private dispatchDateiDelete(id: number) {\r\n if (!id) {\r\n return;\r\n }\r\n\r\n this._element.dispatchEvent(new CustomEvent(\r\n \"on-datei-deleted\", {\r\n bubbles: true,\r\n detail: {\r\n id: id\r\n }\r\n }\r\n ));\r\n }\r\n private dispatchDateiListChanged() {\r\n this._element.dispatchEvent(new CustomEvent(\r\n \"on-datei-list-changed\", {\r\n bubbles: true, \r\n detail: {\r\n dateiList: this.dateiList\r\n }\r\n }\r\n ));\r\n }\r\n}\r\n\r\nexport interface IDatei {\r\n Id?: number;\r\n DMSLink: string;\r\n DMSLinkDownload?: string;\r\n VideoUrl?: string;\r\n Dateiname: string;\r\n Gruppe?: string\r\n Exists?: boolean;\r\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\";\r\n\r\n@autoinject\r\nexport class Datenschutz {\r\n constructor() {}\r\n\r\n @bindable datenschutzList: any[];\r\n\r\n datenschutzCheckBoxOptions: DevExpress.ui.dxCheckBoxOptions = {\r\n text: \"\",\r\n onContentReady: (e) => {\r\n const container = e.element.querySelector(\".dx-checkbox-container\");\r\n\r\n const el = document.createElement(\"span\");\r\n el.className = \"dx-checkbox-text\";\r\n el.innerHTML = (e).model.bindingContext.datenschutz.Html;\r\n container.appendChild(el);\r\n\r\n el.addEventListener(\"click\", (e: Event) => {\r\n const target = e.target;\r\n if (target.tagName != \"A\") {\r\n return;\r\n }\r\n\r\n e.stopPropagation();\r\n });\r\n },\r\n bindingOptions: {\r\n value: \"datenschutz.IsBestaetigt\"\r\n }\r\n }\r\n\r\n hasAlleBestaetigt(): boolean {\r\n if (!this.datenschutzList) {\r\n return true;\r\n }\r\n\r\n for (let datenschutz of this.datenschutzList) {\r\n if (datenschutz.IsBestaetigt) {\r\n continue;\r\n }\r\n\r\n DevExpress.ui.notify(\r\n datenschutz.PflichtfeldText,\r\n \"error\",\r\n 3000\r\n );\r\n return false;\r\n }\r\n\r\n return true;\r\n }\r\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';\r\nimport { ObjektInfoService } from './../../services/objekt-info-service';\r\nimport { LocationService } from './../../../framework/base/services/location-service';\r\nimport { SortOrderColumnEnum } from './../../../framework/forms/enums/sort-order-column-enum';\r\nimport { DxWidget } from './../../../framework/dx/elements/dx-widget';\r\nimport { observable } from 'aurelia-framework';\r\nimport { RestService } from './../../../framework/base/services/rest-service';\r\nimport { autoinject, Scope, OverrideContext, bindable, computedFrom } from 'aurelia-framework';\r\nimport { ScopeContainer, LocalizationService } from '../../../framework/base/export';\r\nimport { ICommandData, SimpleWidgetCreatorService, DialogConfirmService } from '../../../framework/forms/export';\r\nimport { IdxPopupComponent, IdxValidationGroupComponent, IdxCheckBoxComponent, IdxSelectBoxComponent, IdxRadioGroupComponent } from '../../interfaces/export';\r\nimport { IDokumentLautVorlageErstellenData } from '../../interfaces/dokument-laut-vorlage-erstellen-data';\r\n\r\n@autoinject\r\nexport class DokumentLautVorlageErstellen {\r\n constructor(\r\n private localization: LocalizationService,\r\n private simpleWidgetCreator: SimpleWidgetCreatorService,\r\n private rest: RestService,\r\n private location: LocationService,\r\n private objektInfo: ObjektInfoService,\r\n private dialogConfirmService: DialogConfirmService\r\n ) {}\r\n\r\n scopeContainer: ScopeContainer;\r\n fullname: string;\r\n keyList: number[] = [];\r\n\r\n requiredValidationRule = { type: \"required\", message: \"\" };\r\n\r\n popupCommands: ICommandData[] = [\r\n {\r\n id: \"doDokumentLautVorlageErstellen\",\r\n idCategory: \"$start\",\r\n icon: \"fas fa-check\",\r\n tooltip: \"dokument-laut-vorlage-erstellen.erstellen\",\r\n sortIndex: 1600,\r\n execute: () => {\r\n this.checkAndDoDokumentLautVorlageErstellen();\r\n }\r\n }\r\n ];\r\n\r\n dokumentLautVorlageErstellenPopup: IdxPopupComponent;\r\n dokumentLautVorlageErstellenPopupOptions: DevExpress.ui.dxPopupOptions = {\r\n height: \"auto\",\r\n width: \"800px\",\r\n maxHeight: \"80%\",\r\n maxWidth: \"800px\"\r\n }\r\n\r\n dokumenteLautVorlageRadioGroup: IdxRadioGroupComponent;\r\n dokumenteLautVorlageRadioGroupOptions: DevExpress.ui.dxRadioGroupOptions = {\r\n valueExpr: \"value\",\r\n displayExpr: \"text\",\r\n layout: \"horizontal\",\r\n dataSource: [\r\n { text: this.localization.translateOnce(\"dokument-laut-vorlage-erstellen.typ\"), value: 0 },\r\n { text: this.localization.translateOnce(\"dokument-laut-vorlage-erstellen.paket\"), value: 1 }\r\n ],\r\n value: 0,\r\n onValueChanged: () => {\r\n this.onDokumenteLautVorlageRadioGroupValueChanged();\r\n }\r\n };\r\n\r\n vorlageSelectBox: IdxSelectBoxComponent;\r\n vorlageSelectBoxOptions: DevExpress.ui.dxSelectBoxOptions = {\r\n searchEnabled: true,\r\n showClearButton: true,\r\n searchExpr: [\"Bezeichnung\"],\r\n valueExpr: \"Id\",\r\n displayExpr: \"Bezeichnung\"\r\n };\r\n\r\n druckerAuswahlSelectBox: IdxSelectBoxComponent;\r\n druckerAuswahlSelectBoxOptions: DevExpress.ui.dxSelectBoxOptions = {\r\n showClearButton: true,\r\n valueExpr: \"Druckername\",\r\n displayExpr: \"Druckername\"\r\n };\r\n\r\n createOnlyIfNotExistsCheckBox: IdxCheckBoxComponent;\r\n createOnlyIfNotExistsCheckBoxOptions: DevExpress.ui.dxCheckBoxOptions = {\r\n text: this.localization.translateOnce(\"dokument-laut-vorlage-erstellen.erstellen-wenn-nicht-vorhanden\"),\r\n value: true\r\n };\r\n\r\n bind() {\r\n this.scopeContainer = new ScopeContainer({\r\n bindingContext: this,\r\n overrideContext: null\r\n });\r\n\r\n this.simpleWidgetCreator.updatePopupOptions({\r\n idToolbar: \"dokumentLautVorlageErstellenPopupToolbar\",\r\n caption: \"dokument-laut-vorlage-erstellen.popup-title\",\r\n options: this.dokumentLautVorlageErstellenPopupOptions,\r\n commands: this.popupCommands,\r\n scopeContainer: this.scopeContainer\r\n });\r\n }\r\n unbind() {\r\n this.scopeContainer.disposeAll();\r\n }\r\n\r\n showPopup(keyList: number[], fullname: string) {\r\n this.keyList = keyList;\r\n this.fullname = fullname;\r\n\r\n this.resetInputData();\r\n this.onDokumenteLautVorlageRadioGroupValueChanged();\r\n this.setDruckerDataSource();\r\n\r\n this.dokumentLautVorlageErstellenPopup.instance.show();\r\n }\r\n\r\n private resetInputData(): void {\r\n if (this.dokumenteLautVorlageRadioGroup) {\r\n this.dokumenteLautVorlageRadioGroup.instance.option(\"value\", 0);\r\n } else {\r\n this.dokumenteLautVorlageRadioGroupOptions.value = 0;\r\n }\r\n\r\n if (this.vorlageSelectBox) {\r\n this.vorlageSelectBox.instance.option(\"value\", null);\r\n } else {\r\n this.vorlageSelectBoxOptions.value = null;\r\n }\r\n\r\n if (this.druckerAuswahlSelectBox) {\r\n this.druckerAuswahlSelectBox.instance.option(\"value\", null);\r\n } else {\r\n this.druckerAuswahlSelectBoxOptions.value = null;\r\n }\r\n if (this.createOnlyIfNotExistsCheckBox) {\r\n this.createOnlyIfNotExistsCheckBox.instance.option(\"value\", true);\r\n } else {\r\n this.createOnlyIfNotExistsCheckBoxOptions.value = true;\r\n }\r\n }\r\n\r\n private setDruckerDataSource(): void {\r\n this.rest.get({\r\n url: this.rest.getWebApiUrl(\"ZIT/Stammdaten/Drucker\"),\r\n increaseLoadingCount: true\r\n }).then((data) => {\r\n if (!data || !data.length) {\r\n return;\r\n }\r\n\r\n if (this.druckerAuswahlSelectBox) {\r\n this.druckerAuswahlSelectBox.instance.option(\"dataSource\", data);\r\n } else {\r\n this.druckerAuswahlSelectBoxOptions.dataSource = data;\r\n }\r\n });\r\n }\r\n\r\n private onDokumenteLautVorlageRadioGroupValueChanged(): void {\r\n let typ;\r\n\r\n if (this.dokumenteLautVorlageRadioGroup) {\r\n typ = this.dokumenteLautVorlageRadioGroup.instance.option(\"value\");\r\n } else {\r\n typ = this.dokumenteLautVorlageRadioGroupOptions.value;\r\n }\r\n\r\n this.rest.post({\r\n url: this.rest.getApiUrl(\"ZIT/Stammdaten/DokumentLautVorlageHelperList\"),\r\n increaseLoadingCount: true,\r\n data: { Typ: typ, FullName: this.fullname }\r\n }).then((r) => {\r\n let dataSource;\r\n\r\n if (r && r.length > 0) {\r\n dataSource = r;\r\n } else {\r\n dataSource = [];\r\n }\r\n\r\n if (this.vorlageSelectBox) {\r\n this.vorlageSelectBox.instance.option(\"dataSource\", dataSource);\r\n this.vorlageSelectBox.instance.option(\"value\", null);\r\n } else {\r\n this.vorlageSelectBoxOptions.dataSource = dataSource;\r\n this.vorlageSelectBoxOptions.value = null;\r\n }\r\n });\r\n }\r\n\r\n private checkAndDoDokumentLautVorlageErstellen(): void {\r\n if (!this.keyList || this.keyList.length < 1) {\r\n return;\r\n }\r\n\r\n const data: IDokumentLautVorlageErstellenData = {\r\n IdObjektList: this.keyList,\r\n IdVorlage: this.vorlageSelectBox.instance.option(\"value\"),\r\n DokumenteLautVorlageTyp: this.dokumenteLautVorlageRadioGroup.instance.option(\"value\"),\r\n CreateOnlyIfNotExists: this.createOnlyIfNotExistsCheckBox.instance.option(\"value\"),\r\n Druckername: this.druckerAuswahlSelectBox.instance.option(\"value\")\r\n };\r\n\r\n if (!this.canDokumentLautVorlageErstellen(data)) {\r\n return;\r\n }\r\n\r\n this.rest.post({\r\n url: this.rest.getApiUrl(\"ZIT/Stammdaten/CanDokumentLautVorlageErstellen\"),\r\n data: data,\r\n increaseLoadingCount: true\r\n }).then((r) => {\r\n if (r && r.Message && r.Message.length > 0) {\r\n this.dialogConfirmService.show({\r\n title: this.localization.translateOnce(\"base.question\"),\r\n message: r.Message\r\n }).then((res) => {\r\n if (res) {\r\n this.doDokumentLautVorlageErstellen(data);\r\n } else {\r\n this.dokumentLautVorlageErstellenPopup.instance.hide();\r\n }\r\n });\r\n } else {\r\n this.doDokumentLautVorlageErstellen(data);\r\n }\r\n });\r\n }\r\n private canDokumentLautVorlageErstellen(data: IDokumentLautVorlageErstellenData): boolean {\r\n if (!data.IdVorlage) {\r\n DevExpress.ui.notify(this.localization.translateOnce(\"dokument-laut-vorlage-erstellen.vorlage-fehlt\"), \"error\", 3000);\r\n } else {\r\n return true;\r\n }\r\n }\r\n\r\n private doDokumentLautVorlageErstellen(data: any): void {\r\n this.rest.post({\r\n url: this.rest.getApiUrl(\"ZIT/Stammdaten/DokumentLautVorlageErstellen\"),\r\n data: data,\r\n increaseLoadingCount: true\r\n }).then((r) => {\r\n this.dokumentLautVorlageErstellenPopup.instance.hide();\r\n\r\n if (r && r.Message && r.Message.length > 0) {\r\n DevExpress.ui.dialog.alert(r.Message, \"Information\");\r\n }\r\n });\r\n }\r\n}\r\n","module.exports = \" \";","import { BrowserService } from './../../../framework/base/services/browser-service';\r\nimport { autoinject, bindable, observable } from 'aurelia-framework';\r\nimport { FileService, RestService } from '../../../framework/base/export';\r\nimport { ListView } from '../../../framework/forms/export';\r\nimport { IListViewOptions } from './../../../framework/forms/elements/list-view/list-view-options';\r\nimport { IZitTagOptions } from '../../../zit-ui/elements/zit-tag/export';\r\nimport { CustomEditPopupService } from './../../services/export';\r\nimport { IZitToolbarOptions } from '../../../zit-ui/elements/zit-toolbar/zit-toolbar-options';\r\nimport { Subscription, EventAggregator } from 'aurelia-event-aggregator';\r\nimport { DateiService } from '../../services/datei-service';\r\n\r\n@autoinject\r\nexport class DokumentListView {\r\n private _dokumentUpdatedSubscription: Subscription;\r\n\r\n constructor(\r\n private _element: Element,\r\n private _customEditPopupService: CustomEditPopupService,\r\n private _browserService: BrowserService,\r\n private _fileService: FileService,\r\n private _eventAggregator: EventAggregator,\r\n private _restService: RestService,\r\n private _dateiService: DateiService\r\n ) { }\r\n\r\n @bindable @observable idObjekt: number;\r\n @bindable @observable idStelleninserat: number;\r\n @bindable showToolbar: boolean;\r\n @bindable isReadOnly: boolean = false;\r\n @bindable allowTypes: string;\r\n @bindable objektTypeFullname: string;\r\n @bindable showGallerie: boolean = false;\r\n\r\n bildList: any[] = [];\r\n dokumentList: any[] = [];\r\n\r\n tagOptions: IZitTagOptions;\r\n\r\n toolbarOptions: IZitToolbarOptions = {\r\n title: \"dokument-list-view.dokumente\",\r\n smallToolbar: true,\r\n items: [{\r\n icon: \"fas fa-plus\",\r\n execute: () => {\r\n this.onDokumentAddClicked();\r\n }\r\n }]\r\n };\r\n\r\n dokumentListView: ListView;\r\n dokumentListViewOptions: IListViewOptions = {\r\n showReloadButton: false,\r\n useDefaultListItemStyle: false,\r\n itemClass: \"z--list-view-inline-item\",\r\n dataSource: new DevExpress.data.DataSource(new DevExpress.data.ArrayStore({data: this.dokumentList}))\r\n };\r\n\r\n dokumentTagOptions: IZitTagOptions = {\r\n isClickEnabled: true,\r\n hasDefaultInfo: true,\r\n icon: {\r\n faIconExpression: `item.Informationstyp.TagSymbol`,\r\n textExpression: `item.Informationstyp.TagSymbol \r\n ? \"\"\r\n : item.Informationstyp.TagText || item.Informationstyp.Bezeichnung[0].toUpperCase()`,\r\n backgroundColorExpression: \"item.Informationstyp.FarbeTagSymbol\"\r\n },\r\n textExpression: `item.Informationstyp.Bezeichnung | zitRestrictLength:50`,\r\n backgroundColorExpression: \"item.Informationstyp.FarbeTagText\",\r\n infoList: [\r\n {\r\n isVisibleExpression: `(item.NeedsUnterfertigung || item.IsUnterfertigt)`,\r\n icon: {\r\n faIconExpression: `item.IsUnterfertigt ? \"fas fa-check-circle\" : \"fas pen-square\"`,\r\n backgroundColorExpression: `item.IsUnterfertigt ? \"green\" : \"red\"`,\r\n },\r\n onClick: (e, data) => {\r\n e.stopPropagation();\r\n\r\n this._customEditPopupService.dokumentUnterfertigung.show({\r\n mappings: {\r\n \"$id\": data.Id\r\n },\r\n closeCallback: () => {\r\n this.dokumentListView.refresh();\r\n }\r\n });\r\n }\r\n }, {\r\n isClickEnabled: true,\r\n icon: {\r\n faIcon: \"fas fa-paperclip\",\r\n },\r\n onClick: (e, data) => {\r\n e.stopPropagation();\r\n this._fileService.download(data.DMSLinkDokument);\r\n }\r\n }, {\r\n icon: {\r\n faIcon: \"fas fa-info-circle\"\r\n },\r\n onClick: (e, data) => {\r\n e.stopPropagation();\r\n this.showDokumentEditPopup(data);\r\n }\r\n }\r\n ],\r\n onClick: (e, data) => {\r\n e.stopPropagation();\r\n this.downloadDokument(data);\r\n }\r\n };\r\n dokumentTagReadOptions: IZitTagOptions = {\r\n isClickEnabled: true,\r\n hasDefaultInfo: true,\r\n icon: {\r\n faIconExpression: `item.Informationstyp.TagSymbol`,\r\n textExpression: `item.Informationstyp.TagSymbol \r\n ? \"\"\r\n : item.Informationstyp.TagText || item.Informationstyp.Bezeichnung[0].toUpperCase()`,\r\n backgroundColorExpression: \"item.Informationstyp.FarbeTagSymbol\"\r\n },\r\n textExpression: `item.Informationstyp.Bezeichnung | zitRestrictLength:50`,\r\n backgroundColorExpression: \"item.Informationstyp.FarbeTagText\",\r\n infoList: [\r\n {\r\n isVisibleExpression: `(item.NeedsUnterfertigung || item.IsUnterfertigt)`,\r\n icon: {\r\n faIconExpression: `item.IsUnterfertigt ? \"fas fa-check-circle\" : \"fas fa-pencil-square\"`,\r\n backgroundColorExpression: `item.IsUnterfertigt ? \"green\" : \"red\"`,\r\n },\r\n onClick: (e, data) => {\r\n e.stopPropagation();\r\n\r\n this._customEditPopupService.dokumentUnterfertigung.show({\r\n mappings: {\r\n \"$id\": data.Id\r\n },\r\n closeCallback: () => {\r\n this.dokumentListView.refresh();\r\n }\r\n });\r\n }\r\n }, {\r\n icon: {\r\n faIcon: \"fas fa-paperclip\",\r\n }\r\n }, {\r\n icon: {\r\n faIcon: \"fas fa-info-circle\"\r\n },\r\n onClick: (e, data) => {\r\n e.stopPropagation();\r\n this.showDokumentReadPopup(data);\r\n }\r\n }\r\n ],\r\n onClick: (e, data) => {\r\n e.stopPropagation();\r\n this.downloadDokument(data);\r\n }\r\n };\r\n\r\n bind() {\r\n this.tagOptions = this.isReadOnly ? this.dokumentTagReadOptions : this.dokumentTagOptions;\r\n\r\n this.showToolbar = this.showToolbar == void 0 ? true : this.showToolbar;\r\n\r\n this._dokumentUpdatedSubscription = this._eventAggregator.subscribe(\"dokument:updated\", (e) => {\r\n if (this.idObjekt != e.idObjekt) {\r\n return;\r\n }\r\n\r\n this.loadData();\r\n this.dispatchDokumentChanged();\r\n });\r\n\r\n this.loadData();\r\n }\r\n unbind() {\r\n this._dokumentUpdatedSubscription.dispose();\r\n this._dokumentUpdatedSubscription = null;\r\n }\r\n\r\n idObjektChanged(newVal) {\r\n this.toolbarOptions.items[0].isEnabled = newVal != void 0;\r\n this.loadData();\r\n }\r\n idStelleninseratChanged() {\r\n this.loadData();\r\n }\r\n\r\n onDokumentAddClicked() {\r\n if (this.idObjekt == void(0)) {\r\n return;\r\n }\r\n\r\n this.showDokumentEditPopup({ Id: 0 });\r\n }\r\n onBildClick(ev: MouseEvent, bild) {\r\n ev.stopPropagation();\r\n ev.preventDefault();\r\n\r\n this.tagOptions.onClick(ev, bild);\r\n }\r\n onBildInfoClick(ev: MouseEvent, bild) {\r\n ev.stopPropagation();\r\n ev.preventDefault();\r\n\r\n if (this.isReadOnly) {\r\n this.showDokumentReadPopup(bild);\r\n } else { \r\n this.showDokumentEditPopup(bild);\r\n }\r\n }\r\n onBildDownloadClick(ev: MouseEvent, bild) {\r\n ev.stopPropagation();\r\n ev.preventDefault();\r\n\r\n this.downloadDokument(bild);\r\n }\r\n\r\n private async loadData() {\r\n let data: any[];\r\n\r\n if (this.idObjekt) {\r\n const where: any[] = [[\"IdObjekt\", this.idObjekt]];\r\n\r\n if (this.idStelleninserat != void 0) {\r\n where.push([[\"IdStelleninserat\", this.idStelleninserat], \"or\", [\"IdStelleninserat\", \"null\"]]);\r\n }\r\n if (this.allowTypes != void 0) {\r\n const allowList = this.allowTypes.split(\",\");\r\n allowList.forEach((t) => {\r\n where.push([\"Informationstyp.Code\", t])\r\n });\r\n }\r\n \r\n data = await this._restService.get({\r\n url: this._restService.getWebApiUrl(\"ZIT/Objekte/DokumentElement\"),\r\n getOptions: {\r\n expand: { Informationstyp: null },\r\n where: where,\r\n orderBy: [{columnName: \"Id\", sortOrder: 0}]\r\n }\r\n });\r\n } else {\r\n data = [];\r\n }\r\n\r\n this.dokumentList.splice(0, this.dokumentList.length);\r\n this.bildList.splice(0, this.bildList.length);\r\n\r\n data.forEach(i => {\r\n const isBild = this.showGallerie\r\n && this._dateiService.isBild(i.Dateiname);\r\n\r\n if (isBild) {\r\n this.bildList.push(i);\r\n } else {\r\n this.dokumentList.push(i);\r\n }\r\n });\r\n\r\n if (this.dokumentListView.options) {\r\n this.dokumentListView.refresh();\r\n }\r\n }\r\n \r\n private showDokumentEditPopup(data: any) {\r\n const mappings = {\r\n \"$id\": data.Id\r\n };\r\n const onModelLoaded = {\r\n IdObjekt: this.idObjekt\r\n }\r\n if (this.idStelleninserat != void 0) {\r\n mappings[\"$v_idStelleninserat\"] = this.idStelleninserat;\r\n onModelLoaded[\"IdStelleninserat\"] = this.idStelleninserat;\r\n }\r\n\r\n if (this.allowTypes != void 0) {\r\n mappings[\"$v_allowTypes\"] = this.allowTypes;\r\n }\r\n\r\n if (this.objektTypeFullname && this.objektTypeFullname.length > 0) {\r\n mappings[\"$v_objektTypeFullname\"] = this.objektTypeFullname;\r\n }\r\n\r\n this._customEditPopupService.dokumentEdit.show({\r\n mappings: mappings,\r\n setValuesOnModelWithKeyIdLoaded: onModelLoaded\r\n });\r\n }\r\n private showDokumentReadPopup(data: any) {\r\n this._customEditPopupService.dokumentRead.show({\r\n mappings: {\r\n \"$id\": data.Id\r\n }\r\n });\r\n }\r\n private downloadDokument(data) {\r\n if (this._browserService.isIE) {\r\n this._fileService.download(data.DMSLinkDokument);\r\n } else {\r\n this._fileService.inline(data.DMSLinkDokument);\r\n }\r\n }\r\n private dispatchDokumentChanged() {\r\n const event = new CustomEvent(\"on-dokument-changed\", {\r\n detail: {\r\n sender: this,\r\n element: this._element\r\n },\r\n bubbles: true\r\n });\r\n\r\n this._element.dispatchEvent(event);\r\n }\r\n}\r\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\";\r\nimport { IdxPopupComponent, IdxValidationGroupComponent, IdxSelectBoxComponent } from '../../interfaces/dx-components';\r\nimport { ICommandData } from '../../../framework/forms/interfaces/command-data';\r\nimport { RestService, ScopeContainer, LocalizationService } from '../../../framework/base/export';\r\nimport { SimpleWidgetCreatorService } from '../../../framework/forms/export';\r\n\r\n@autoinject\r\nexport class EinsatzvorbereitungHinzufuegen {\r\n constructor(\r\n private restService: RestService,\r\n private simpleWidgetCreatorService: SimpleWidgetCreatorService,\r\n private localizationService: LocalizationService\r\n ) {}\r\n\r\n idEinsatzplanungList: number[];\r\n\r\n scope: Scope;\r\n scopeContainer: ScopeContainer;\r\n\r\n popupCommands: ICommandData[] = [{\r\n id: \"einsatzplanungHinzufuegenSave\",\r\n icon: \"fas fa-save\",\r\n tooltip: \"base.save\",\r\n sortIndex: 1001,\r\n execute: async () => {\r\n const result = this.validationGroup.instance.validate();\r\n if (!result.isValid) {\r\n return;\r\n }\r\n\r\n const idEinsatzvorbereitung: number = this.einsatzvorbereitungSelectBox.instance.option(\"value\");\r\n\r\n await this.restService.post({\r\n url: this.restService.getApiUrl(\"ZIT/Dispo/UpdateEinsatzplanungEinsatzvorbereitung\"),\r\n increaseLoadingCount: true,\r\n data: {\r\n IdEinsatzvorbereitung: idEinsatzvorbereitung,\r\n IdEinsatzplanungList: this.idEinsatzplanungList\r\n }\r\n });\r\n \r\n DevExpress.ui.notify(this.localizationService.translateOnce(\"base.save_success\"), \"SUCCESS\", 3000);\r\n this.einsatzvorbereitungHinzufuegenPopup.instance.hide();\r\n }\r\n }];\r\n einsatzvorbereitungHinzufuegenPopup: IdxPopupComponent;\r\n einsatzvorbereitungHinzufuegenPopupOptions: DevExpress.ui.dxPopupOptions = {\r\n height: \"auto\",\r\n maxWidth: \"550px\"\r\n };\r\n\r\n einsatzvorbereitungSelectBox: IdxSelectBoxComponent;\r\n einsatzvorbereitungSelectBoxOptions: DevExpress.ui.dxSelectBoxOptions = {\r\n valueExpr: \"Id\",\r\n displayExpr: \"Bezeichnung\",\r\n };\r\n\r\n requiredValidatorOptions: DevExpress.ui.dxValidatorOptions = {\r\n validationRules: [{ type: \"required\" }]\r\n };\r\n validationGroup: IdxValidationGroupComponent;\r\n validationGroupOptions: DevExpress.ui.dxValidationGroupOptions = {};\r\n\r\n bind(bindingContext: any, overrideContext: OverrideContext) {\r\n this.scope = {\r\n bindingContext: bindingContext,\r\n overrideContext: overrideContext\r\n };\r\n\r\n this.scopeContainer = new ScopeContainer({\r\n bindingContext: this,\r\n overrideContext: null\r\n });\r\n\r\n this.simpleWidgetCreatorService.updatePopupOptions({\r\n idToolbar: \"einsatzvorbereitungHinzufuegenPopupToolbar\",\r\n caption: \"einsatzvorbereitung-hinzufuegen.popup-titel\",\r\n options: this.einsatzvorbereitungHinzufuegenPopupOptions,\r\n commands: this.popupCommands,\r\n scopeContainer: this.scopeContainer\r\n });\r\n }\r\n unbind() {\r\n this.scopeContainer.disposeAll();\r\n this.scope = null;\r\n }\r\n\r\n async showPopup(idEinsatzplanungList: number[]): Promise {\r\n this.idEinsatzplanungList = idEinsatzplanungList;\r\n\r\n await this.prepareSelectBox();\r\n await this.einsatzvorbereitungHinzufuegenPopup.instance.show();\r\n }\r\n\r\n private async prepareSelectBox() {\r\n const einsatzvorbereitungList = await this.restService.post({\r\n url: this.restService.getApiUrl(\"ZIT/Dispo/Einsatzvorbereitung\"),\r\n data: this.idEinsatzplanungList,\r\n increaseLoadingCount: true\r\n });\r\n\r\n const selectBoxOptions = {\r\n dataSource: einsatzvorbereitungList,\r\n value: null,\r\n isValid: true\r\n };\r\n\r\n if (this.einsatzvorbereitungSelectBox && this.einsatzvorbereitungSelectBox.instance) {\r\n this.einsatzvorbereitungSelectBox.setOption(selectBoxOptions);\r\n } else {\r\n Object.assign(this.einsatzvorbereitungSelectBoxOptions, selectBoxOptions);\r\n }\r\n }\r\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\";\r\nimport { ScopeContainer } from \"./../../../framework/base/classes/scope-container\";\r\nimport { IDataSourceOptionFilter } from \"./../../../framework/base/interfaces/data-source-option-filter\";\r\nimport { FormBase } from \"./../../../framework/forms/classes/form-base\";\r\nimport { ListView } from \"./../../../framework/forms/elements/list-view/list-view\";\r\nimport { IListViewOptions } from \"./../../../framework/forms/elements/list-view/list-view-options\";\r\nimport { IZitCardOptions, ZitCardTyp } from \"./../../../zit-ui/elements/zit-card/zit-card-options\";\r\nimport { IZitTagOptions } from \"./../../../zit-ui/elements/zit-tag/zit-tag-options\";\r\nimport { IZitToolbarOptions } from \"./../../../zit-ui/elements/zit-toolbar/zit-toolbar-options\";\r\nimport { PersonService } from \"./../../services/person-service\";\r\nimport { StartupService } from \"./../../services/startup-service\";\r\nimport { ZielService } from \"../../services/ziel-service\";\r\nimport { LehrlingAuswaehlen, SelectionModeTyp } from \"./../lehrling-auswaehlen/lehrling-auswaehlen\";\r\nimport { FormEventService } from \"../../../framework/forms/services/form-event-service\";\r\n\r\n@autoinject\r\nexport class Entwicklungsziele {\r\n private _onFormSavedDispose: {(): void};\r\n\r\n constructor(\r\n private _startupService: StartupService,\r\n private _personService: PersonService,\r\n private _taskQueue: TaskQueue,\r\n private _zieleService: ZielService,\r\n private _formEventService: FormEventService\r\n ) { }\r\n\r\n lehrlingList: any[] = [];\r\n lehrlingAuswaehlenPopup: LehrlingAuswaehlen;\r\n\r\n scopeContainer: ScopeContainer;\r\n mainForm: FormBase;\r\n filterData: {\r\n IdPersonZugeteiltList?: number[];\r\n } = {};\r\n\r\n personTagOptions: IZitTagOptions = {\r\n icon:\r\n {\r\n text: \"P\"\r\n },\r\n text: \"${person.Name}\",\r\n infoList: [{\r\n icon: {\r\n faIcon: \"fas fa-times\"\r\n },\r\n onClick: async(e, data) => {\r\n const indexLehrlingList = this.lehrlingList.indexOf(data);\r\n if (indexLehrlingList < 0) {\r\n return;\r\n }\r\n this.lehrlingList.splice(indexLehrlingList, 1);\r\n\r\n const indexZugeteiltList = this.filterData.IdPersonZugeteiltList.indexOf(data.Id);\r\n if (indexZugeteiltList < 0) {\r\n return;\r\n }\r\n this.filterData.IdPersonZugeteiltList.splice(indexZugeteiltList, 1);\r\n\r\n this.reloadDataSources();\r\n }\r\n }]\r\n };\r\n\r\n lehrlingToolbarOptions: IZitToolbarOptions = {\r\n title: \"entwicklungszone.auswahl-lehrling\",\r\n smallToolbar: true,\r\n items: [{\r\n id: \"showLehrlingToolbarOptionen\",\r\n icon: \"fas fa-plus\",\r\n execute: () => {\r\n this.lehrlingAuswaehlenPopup.show({\r\n selectionMode: SelectionModeTyp.multipe,\r\n callback: async(selectedPersons) => {\r\n if (selectedPersons.length == 0) {\r\n return;\r\n }\r\n\r\n for (const idPerson of selectedPersons) {\r\n await this.setLehrling(idPerson);\r\n }\r\n\r\n this.reloadDataSources();\r\n }\r\n });\r\n }\r\n }]\r\n };\r\n\r\n zieleCardOptions: IZitCardOptions = {\r\n isClickEnabled: true,\r\n useDefaultBindings: true,\r\n typ: ZitCardTyp.Kompakt\r\n };\r\n\r\n begonneneZieleListView: ListView;\r\n begonneneZieleListViewOptions: IListViewOptions = {\r\n useDefaultListItemStyle: false,\r\n itemClass: \"col-xs-12 col-sm-6 col-lg-4 col-xl-3\"\r\n };\r\n\r\n gesetzteZieleListView: ListView;\r\n gesetzteZieleListViewOptions: IListViewOptions = {\r\n useDefaultListItemStyle: false,\r\n itemClass: \"col-xs-12 col-sm-6 col-lg-4 col-xl-3\"\r\n };\r\n\r\n erfuellteZieleListView: ListView;\r\n erfuellteZieleListViewOptions: IListViewOptions = {\r\n useDefaultListItemStyle: false,\r\n itemClass: \"col-xs-12 col-sm-6 col-lg-4 col-xl-3\"\r\n };\r\n\r\n get isNotBewerber() {\r\n return this._startupService.startupInfo.Benutzer.CodeBenutzerrolle != \"BEWERBER\";\r\n }\r\n\r\n bind(bindingContext) {\r\n this.mainForm = bindingContext;\r\n\r\n this.scopeContainer = new ScopeContainer({\r\n bindingContext: this,\r\n overrideContext: null\r\n });\r\n this.filterData.IdPersonZugeteiltList = [];\r\n this.loadDataSources();\r\n\r\n this._onFormSavedDispose = this._formEventService.onSaved.register(async(ev) => {\r\n if (ev.form.models.modelWithKeyId?.webApiAction == \"ZIT/Objekte/Ziel\") {\r\n this.reload();\r\n }\r\n });\r\n }\r\n\r\n unbind() {\r\n this.scopeContainer.disposeAll();\r\n this.scopeContainer = null;\r\n\r\n this._onFormSavedDispose();\r\n this._onFormSavedDispose = null;\r\n }\r\n\r\n reloadDataSources() {\r\n this._taskQueue.queueTask(() => {\r\n this.begonneneZieleListView.options.dataSource.reload();\r\n this.gesetzteZieleListView.options.dataSource.reload();\r\n this.erfuellteZieleListView.options.dataSource.reload();\r\n });\r\n }\r\n\r\n private async setLehrling(idPerson: number) {\r\n const alreadyExists = this.lehrlingList.some((c) => c.Id === idPerson);\r\n if (alreadyExists) {\r\n return;\r\n }\r\n const lehrling = await this._personService.getPerson(idPerson);\r\n this.lehrlingList.push(lehrling);\r\n this.filterData.IdPersonZugeteiltList.push(idPerson);\r\n }\r\n\r\n private loadDataSources() {\r\n this.loadBegonneneZieleDataSource();\r\n this.loadGesetzteZieleDataSource();\r\n this.loadErfuellteZieleDataSource();\r\n }\r\n\r\n private loadBegonneneZieleDataSource() {\r\n this.begonneneZieleListViewOptions.dataSource = this._zieleService.loadZieleDataSource(this.scopeContainer,\r\n () => {\r\n const where: any[] = [\r\n [[\"Kopf.Einschaetzung\", \">\", \"0\"], \"and\", [\"Kopf.Einschaetzung\", \"<\", \"10\"]]];\r\n\r\n if (this.filterData.IdPersonZugeteiltList.length > 0) {\r\n const tempIdPersonZugeteiltListWhere = [];\r\n for (let i = 0; i < this.filterData.IdPersonZugeteiltList.length; i++) {\r\n tempIdPersonZugeteiltListWhere.push([\"Kopf.IdObjekt\", this.filterData.IdPersonZugeteiltList[i]]);\r\n if (i + 1 < this.filterData.IdPersonZugeteiltList.length) {\r\n tempIdPersonZugeteiltListWhere.push(\"or\");\r\n }\r\n }\r\n where.push(tempIdPersonZugeteiltListWhere);\r\n }\r\n return where;\r\n },\r\n () => {\r\n const filter: IDataSourceOptionFilter[] = [];\r\n filter.push({\r\n webApiCustomKey: \"AddZielCard\",\r\n webApiCustomValue: \"true\"\r\n });\r\n return filter;\r\n },\r\n [{ columnName: \"Id\", sortOrder: 0 }]\r\n );\r\n }\r\n\r\n private loadGesetzteZieleDataSource() {\r\n this.gesetzteZieleListViewOptions.dataSource = this._zieleService.loadZieleDataSource(this.scopeContainer,\r\n () => {\r\n const where: any[] = [\r\n [\"Kopf.Einschaetzung\", \"0\"]];\r\n\r\n if (this.filterData.IdPersonZugeteiltList.length > 0) {\r\n const tempIdPersonZugeteiltListWhere = [];\r\n for (let i = 0; i < this.filterData.IdPersonZugeteiltList.length; i++) {\r\n tempIdPersonZugeteiltListWhere.push([\"Kopf.IdObjekt\", this.filterData.IdPersonZugeteiltList[i]]);\r\n if (i + 1 < this.filterData.IdPersonZugeteiltList.length) {\r\n tempIdPersonZugeteiltListWhere.push(\"or\");\r\n }\r\n }\r\n where.push(tempIdPersonZugeteiltListWhere);\r\n }\r\n return where;\r\n },\r\n () => {\r\n const filter: IDataSourceOptionFilter[] = [];\r\n filter.push({\r\n webApiCustomKey: \"AddZielCard\",\r\n webApiCustomValue: \"true\"\r\n });\r\n return filter;\r\n },\r\n [{ columnName: \"Id\", sortOrder: 0 }]\r\n );\r\n }\r\n\r\n private loadErfuellteZieleDataSource() {\r\n this.erfuellteZieleListViewOptions.dataSource = this._zieleService.loadZieleDataSource(this.scopeContainer,\r\n () => {\r\n const where: any[] = [\r\n [\"Kopf.IsErfuellt\", \"true\"]];\r\n\r\n if (this.filterData.IdPersonZugeteiltList.length > 0) {\r\n const tempIdPersonZugeteiltListWhere = [];\r\n for (let i = 0; i < this.filterData.IdPersonZugeteiltList.length; i++) {\r\n tempIdPersonZugeteiltListWhere.push([\"Kopf.IdObjekt\", this.filterData.IdPersonZugeteiltList[i]]);\r\n if (i + 1 < this.filterData.IdPersonZugeteiltList.length) {\r\n tempIdPersonZugeteiltListWhere.push(\"or\");\r\n }\r\n }\r\n where.push(tempIdPersonZugeteiltListWhere);\r\n }\r\n return where;\r\n },\r\n () => {\r\n const filter: IDataSourceOptionFilter[] = [];\r\n filter.push({\r\n webApiCustomKey: \"AddZielCard\",\r\n webApiCustomValue: \"true\"\r\n });\r\n return filter;\r\n },\r\n [{ columnName: \"Kopf.ErfuelltDat\", sortOrder: 1 }]\r\n );\r\n }\r\n\r\n private reload() {\r\n (this.begonneneZieleListViewOptions.dataSource).reload();\r\n (this.gesetzteZieleListViewOptions.dataSource).reload();\r\n (this.erfuellteZieleListViewOptions.dataSource).reload();\r\n }\r\n}\r\n","module.exports = \" \";","import { autoinject, bindable, bindingMode, observable, TaskQueue } from \"aurelia-framework\";\r\nimport * as moment from \"moment\";\r\nimport { ScopeContainer, DataSourceService } from \"../../../framework/base/export\";\r\nimport { FormBase, FormEventService } from \"../../../framework/forms/export\";\r\nimport { IZitCardOptions, ZitCardTyp } from \"../../../zit-ui/elements/zit-card/export\";\r\nimport { BenutzerTyp } from \"../../enumerations/export\";\r\nimport { IDataSourceOptionFilter } from \"./../../../framework/base/interfaces/data-source-option-filter\";\r\nimport { ListView } from \"./../../../framework/forms/elements/list-view/list-view\";\r\nimport { IListViewOptions } from \"./../../../framework/forms/elements/list-view/list-view-options\";\r\nimport { IZitTagOptions } from \"./../../../zit-ui/elements/zit-tag/zit-tag-options\";\r\nimport { IZitToolbarOptions } from \"./../../../zit-ui/elements/zit-toolbar/zit-toolbar-options\";\r\nimport { PersonService } from \"./../../services/person-service\";\r\nimport { StartupService } from \"./../../services/startup-service\";\r\nimport { EntwicklungszoneFilterTyp } from \"./../../views/entwicklungszone/entwicklungszone-list-utils\";\r\nimport { LehrlingAuswaehlen, SelectionModeTyp } from \"./../lehrling-auswaehlen/lehrling-auswaehlen\";\r\n\r\n@autoinject\r\nexport class Entwicklungszone {\r\n private _onFormSavedDispose: {(): void};\r\n\r\n constructor(\r\n private _taskQueue: TaskQueue,\r\n private _startupService: StartupService,\r\n private _personService: PersonService,\r\n private _dataSourceService: DataSourceService,\r\n private _formEventService: FormEventService\r\n ) {\r\n this.idBenutzer = this._startupService.startupInfo.Benutzer.IdBenutzer;\r\n this.idObject = this._startupService.startupInfo.Benutzer.Benutzertyp == BenutzerTyp.JuristischePerson\r\n || this._startupService.startupInfo.Benutzer.Benutzertyp == BenutzerTyp.InternerBenutzer\r\n ? this._startupService.startupInfo.Benutzer.IdAnsprechperson\r\n : this._startupService.startupInfo.Benutzer.IdPerson;\r\n }\r\n\r\n scopeContainer: ScopeContainer;\r\n mainForm: FormBase;\r\n lehrlingAuswaehlenPopup: LehrlingAuswaehlen;\r\n lehrlingList: any[] = [];\r\n filterData: {\r\n IdPersonZugeteiltList?: number[];\r\n IdPersonBestaetigung?: number;\r\n } = {};\r\n idObject: number;\r\n idBenutzer: number;\r\n @bindable({ defaultBindingMode: bindingMode.twoWay }) @observable currentFilterTyp: EntwicklungszoneFilterTyp = EntwicklungszoneFilterTyp.Keine;\r\n\r\n personTagOptions: IZitTagOptions = {\r\n icon:\r\n {\r\n text: \"P\"\r\n },\r\n text: \"${person.Name}\",\r\n infoList: [{\r\n icon: {\r\n faIcon: \"fas fa-times\"\r\n },\r\n onClick: async(e, data) => {\r\n const indexLehrlingList = this.lehrlingList.indexOf(data);\r\n if (indexLehrlingList < 0) {\r\n return;\r\n }\r\n this.lehrlingList.splice(indexLehrlingList, 1);\r\n\r\n const indexZugeteiltList = this.filterData.IdPersonZugeteiltList.indexOf(data.Id);\r\n if (indexZugeteiltList < 0) {\r\n return;\r\n }\r\n this.filterData.IdPersonZugeteiltList.splice(indexZugeteiltList, 1);\r\n\r\n this.reloadDataSources();\r\n }\r\n }]\r\n };\r\n\r\n lehrlingToolbarOptions: IZitToolbarOptions = {\r\n title: \"entwicklungszone.auswahl-lehrling\",\r\n smallToolbar: true,\r\n items: [{\r\n id: \"showLehrlingToolbarOptionen\",\r\n icon: \"fas fa-plus\",\r\n execute: () => {\r\n this.lehrlingAuswaehlenPopup.show({\r\n selectionMode: SelectionModeTyp.multipe,\r\n callback: async(selectedPersons) => {\r\n if (selectedPersons.length == 0) {\r\n return;\r\n }\r\n this.currentFilterTyp = EntwicklungszoneFilterTyp.Keine;\r\n\r\n for (const idPerson of selectedPersons) {\r\n await this.setLehrling(idPerson);\r\n }\r\n\r\n this.reloadDataSources();\r\n }\r\n });\r\n }\r\n }]\r\n };\r\n\r\n aufgabeCardOptions: IZitCardOptions = {\r\n isClickEnabled: true,\r\n useDefaultBindings: true,\r\n typ: ZitCardTyp.Kompakt\r\n };\r\n\r\n begonneneAufgabenListView: ListView;\r\n begonneneAufgabenListViewOptions: IListViewOptions = {\r\n useDefaultListItemStyle: false,\r\n itemClass: \"col-xs-12 col-sm-6 col-lg-4 col-xl-3\"\r\n };\r\n\r\n aktuelleAufgabenListView: ListView;\r\n aktuelleAufgabenListViewOptions: IListViewOptions = {\r\n useDefaultListItemStyle: false,\r\n itemClass: \"col-xs-12 col-sm-6 col-lg-4 col-xl-3\"\r\n };\r\n\r\n kommendeAufgabenListView: ListView;\r\n kommendeAufgabenListViewOptions: IListViewOptions = {\r\n useDefaultListItemStyle: false,\r\n itemClass: \"col-xs-12 col-sm-6 col-lg-4 col-xl-3\"\r\n };\r\n\r\n fertigeAufgabenListView: ListView;\r\n fertigeAufgabenListViewOptions: IListViewOptions = {\r\n useDefaultListItemStyle: false,\r\n itemClass: \"col-xs-12 col-sm-6 col-lg-4 col-xl-3\"\r\n };\r\n\r\n get isNotBewerber() {\r\n return this._startupService.startupInfo.Benutzer.CodeBenutzerrolle != \"BEWERBER\";\r\n }\r\n\r\n bind(bindingContext) {\r\n this.mainForm = bindingContext;\r\n\r\n this.scopeContainer = new ScopeContainer({\r\n bindingContext: this,\r\n overrideContext: null\r\n });\r\n this.filterData.IdPersonZugeteiltList = [];\r\n this.loadAufgabenDataSources();\r\n\r\n this._onFormSavedDispose = this._formEventService.onSaved.register(async(ev) => {\r\n if (ev.form.models.modelWithKeyId?.webApiAction == \"ZIT/Objekte/Aufgabe\") {\r\n this.reload();\r\n }\r\n });\r\n }\r\n\r\n unbind() {\r\n this.scopeContainer.disposeAll();\r\n this.scopeContainer = null;\r\n\r\n this._onFormSavedDispose();\r\n this._onFormSavedDispose = null;\r\n }\r\n\r\n setFilterMeineAufgaben(resetFilter: boolean) {\r\n this.filterData.IdPersonZugeteiltList = resetFilter\r\n ? []\r\n : [this.idObject];\r\n\r\n this.lehrlingList = [];\r\n }\r\n\r\n setFilterZuBestaetigendeAufgaben(resetFilter: boolean) {\r\n this.filterData.IdPersonBestaetigung = resetFilter\r\n ? null\r\n : this.idBenutzer;\r\n }\r\n\r\n reloadDataSources() {\r\n this._taskQueue.queueTask(() => {\r\n this.begonneneAufgabenListView.options.dataSource.reload();\r\n this.aktuelleAufgabenListView.options.dataSource.reload();\r\n this.kommendeAufgabenListView.options.dataSource.reload();\r\n this.fertigeAufgabenListView.options.dataSource.reload();\r\n });\r\n }\r\n\r\n private async setLehrling(idPerson: number) {\r\n const alreadyExists = this.lehrlingList.some((c) => c.Id === idPerson);\r\n if (alreadyExists) {\r\n return;\r\n }\r\n const lehrling = await this._personService.getPerson(idPerson);\r\n this.lehrlingList.push(lehrling);\r\n this.filterData.IdPersonZugeteiltList.push(idPerson);\r\n }\r\n\r\n private loadAufgabenDataSources() {\r\n this.loadBegonneneAufgaben();\r\n this.loadAktuelleAufgaben();\r\n this.loadKommendeAufgaben();\r\n this.loadFertigeAufgaben();\r\n }\r\n\r\n private loadBegonneneAufgaben() {\r\n this.begonneneAufgabenListViewOptions.dataSource = this._dataSourceService.createDataSource(\r\n this.scopeContainer,\r\n {\r\n webApiAction: \"ZIT/Objekte/Aufgabe\",\r\n webApiOrderBy: [{ columnName: \"Id\", sortOrder: 0 }]\r\n }, {\r\n getCustomWhere: () => {\r\n const where: any[] = [];\r\n\r\n if (this.filterData.IdPersonZugeteiltList.length > 0) {\r\n const tempIdPersonZugeteiltListWhere = [];\r\n for (let i = 0; i < this.filterData.IdPersonZugeteiltList.length; i++) {\r\n tempIdPersonZugeteiltListWhere.push([\"Kopf.IdObjekt\", this.filterData.IdPersonZugeteiltList[i]]);\r\n if (i + 1 < this.filterData.IdPersonZugeteiltList.length) {\r\n tempIdPersonZugeteiltListWhere.push(\"or\");\r\n }\r\n }\r\n where.push(tempIdPersonZugeteiltListWhere);\r\n }\r\n\r\n if (this.filterData.IdPersonBestaetigung) {\r\n where.push([[\"Kopf.IsErfuellt\", true], \"and\", [\"Kopf.IsBestaetigt\", false]]);\r\n where.push([\"Kopf.IdBestaetigungBenutzer\", this.filterData.IdPersonBestaetigung]);\r\n } else {\r\n where.push([[\"Kopf.IsErfuellt\", false], \"or\", [\"Kopf.IsBestaetigt\", false]]);\r\n }\r\n\r\n return where;\r\n },\r\n getCustomFilters: () => {\r\n const filter: IDataSourceOptionFilter[] = [];\r\n filter.push({\r\n webApiCustomKey: \"AddAufgabeCard\",\r\n webApiCustomValue: \"true\"\r\n });\r\n filter.push({\r\n webApiCustomKey: \"OnlyGestartet\",\r\n webApiCustomValue: \"true\"\r\n });\r\n return filter;\r\n } \r\n });\r\n }\r\n\r\n private loadAktuelleAufgaben() {\r\n this.aktuelleAufgabenListViewOptions.dataSource = this._dataSourceService.createDataSource(\r\n this.scopeContainer,\r\n {\r\n webApiAction: \"ZIT/Objekte/Aufgabe\",\r\n webApiOrderBy: [{ columnName: \"Id\", sortOrder: 0 }]\r\n }, {\r\n canLoad: () => {\r\n return !this.filterData.IdPersonBestaetigung;\r\n },\r\n getCustomWhere: () => {\r\n const today = moment()\r\n .startOf(\"day\")\r\n .toDate();\r\n \r\n const where: any[] = [];\r\n \r\n if (this.filterData.IdPersonZugeteiltList.length > 0) {\r\n const tempIdPersonZugeteiltListWhere = [];\r\n for (let i = 0; i < this.filterData.IdPersonZugeteiltList.length; i++) {\r\n tempIdPersonZugeteiltListWhere.push([\"Kopf.IdObjekt\", this.filterData.IdPersonZugeteiltList[i]]);\r\n if (i + 1 < this.filterData.IdPersonZugeteiltList.length) {\r\n tempIdPersonZugeteiltListWhere.push(\"or\");\r\n }\r\n }\r\n where.push(tempIdPersonZugeteiltListWhere);\r\n }\r\n \r\n return where;\r\n },\r\n getCustomFilters: () => {\r\n const filter: IDataSourceOptionFilter[] = [];\r\n filter.push({\r\n webApiCustomKey: \"AddAufgabeCard\",\r\n webApiCustomValue: \"true\"\r\n }, {\r\n webApiCustomKey: \"OnlyAktuell\",\r\n webApiCustomValue: \"true\"\r\n });\r\n return filter;\r\n }\r\n });\r\n }\r\n\r\n private loadKommendeAufgaben() {\r\n this.kommendeAufgabenListViewOptions.dataSource = this._dataSourceService.createDataSource(\r\n this.scopeContainer,\r\n {\r\n webApiAction: \"ZIT/Objekte/Aufgabe\",\r\n webApiOrderBy: [{ columnName: \"Kopf.StartDatum\", sortOrder: 0 }]\r\n }, {\r\n canLoad: () => {\r\n return !this.filterData.IdPersonBestaetigung;\r\n },\r\n getCustomWhere: () => {\r\n const today = moment()\r\n .startOf(\"day\")\r\n .toDate();\r\n \r\n const where: any[] = [];\r\n \r\n if (this.filterData.IdPersonZugeteiltList.length > 0) {\r\n const tempIdPersonZugeteiltListWhere = [];\r\n for (let i = 0; i < this.filterData.IdPersonZugeteiltList.length; i++) {\r\n tempIdPersonZugeteiltListWhere.push([\"Kopf.IdObjekt\", this.filterData.IdPersonZugeteiltList[i]]);\r\n if (i + 1 < this.filterData.IdPersonZugeteiltList.length) {\r\n tempIdPersonZugeteiltListWhere.push(\"or\");\r\n }\r\n }\r\n where.push(tempIdPersonZugeteiltListWhere);\r\n }\r\n \r\n return where;\r\n },\r\n getCustomFilters: () => {\r\n const filter: IDataSourceOptionFilter[] = [];\r\n filter.push({\r\n webApiCustomKey: \"AddAufgabeCard\",\r\n webApiCustomValue: \"true\"\r\n }, {\r\n webApiCustomKey: \"OnlyKommende\",\r\n webApiCustomValue: \"true\"\r\n });\r\n return filter;\r\n }\r\n });\r\n }\r\n\r\n private loadFertigeAufgaben() {\r\n this.fertigeAufgabenListViewOptions.dataSource = this._dataSourceService.createDataSource(\r\n this.scopeContainer,\r\n {\r\n webApiAction: \"ZIT/Objekte/Aufgabe\",\r\n webApiOrderBy: [{ columnName: \"Kopf.ErfuelltDat\", sortOrder: 1 }]\r\n }, {\r\n canLoad: () => {\r\n return !this.filterData.IdPersonBestaetigung;\r\n },\r\n getCustomWhere: () => {\r\n const where: any[] = [];\r\n \r\n if (this.filterData.IdPersonZugeteiltList.length > 0) {\r\n const tempIdPersonZugeteiltListWhere = [];\r\n for (let i = 0; i < this.filterData.IdPersonZugeteiltList.length; i++) {\r\n tempIdPersonZugeteiltListWhere.push([\"Kopf.IdObjekt\", this.filterData.IdPersonZugeteiltList[i]]);\r\n if (i + 1 < this.filterData.IdPersonZugeteiltList.length) {\r\n tempIdPersonZugeteiltListWhere.push(\"or\");\r\n }\r\n }\r\n where.push(tempIdPersonZugeteiltListWhere);\r\n }\r\n \r\n return where;\r\n },\r\n getCustomFilters: () => {\r\n const filter: IDataSourceOptionFilter[] = [];\r\n filter.push({\r\n webApiCustomKey: \"AddAufgabeCard\",\r\n webApiCustomValue: \"true\"\r\n });\r\n filter.push({\r\n webApiCustomKey: \"OnlyFertig\",\r\n webApiCustomValue: \"true\"\r\n });\r\n return filter;\r\n }\r\n });\r\n }\r\n\r\n private reload() {\r\n (this.begonneneAufgabenListViewOptions.dataSource).reload();\r\n (this.aktuelleAufgabenListViewOptions.dataSource).reload();\r\n (this.kommendeAufgabenListViewOptions.dataSource).reload();\r\n (this.fertigeAufgabenListViewOptions.dataSource).reload();\r\n }\r\n}\r\n","module.exports = \" \";","import { BrowserService } from './../../../framework/base/services/browser-service';\r\nimport { IContextMenuItem } from './../../../framework/forms/interfaces/context-menu-item';\r\nimport { ContextMenu } from './../../../framework/forms/classes/context-menu';\r\nimport { FileService } from './../../../framework/base/services/file-service';\r\nimport { IErklaerungsvideo } from './../../interfaces/startup-info';\r\nimport { autoinject, Scope, OverrideContext, computedFrom } from 'aurelia-framework';\r\nimport { IdxPopupComponent } from '../../interfaces/export';\r\nimport { SimpleWidgetCreatorService } from '../../../framework/forms/export';\r\nimport { ScopeContainer } from '../../../framework/base/export';\r\nimport { ErklaerungsvideoInhaltArtEnum } from '../../enumerations/erklaerungsvideo-inhalt-art-enum';\r\nimport { ErklaervideoService } from '../../services/erklaervideo-service';\r\n\r\n@autoinject\r\nexport class Erklaerungsvideo {\r\n constructor(\r\n private simpleWidgetCreator: SimpleWidgetCreatorService,\r\n private erklaervideo: ErklaervideoService,\r\n private file: FileService,\r\n private browserService: BrowserService\r\n ) {\r\n this.erklaervideo.element = this;\r\n }\r\n scope: Scope;\r\n scopeContainer: ScopeContainer;\r\n vimeoHtml: string;\r\n popupTitel: string;\r\n isMobil: boolean;\r\n\r\n erklaerungsvideoPopup: IdxPopupComponent;\r\n erklaerungsvideoPopupOptions: DevExpress.ui.dxPopupOptions = {\r\n height: \"auto\",\r\n width: \"auto\"\r\n }\r\n\r\n bind(bindingContext: any, overrideContext: OverrideContext) {\r\n this.scope = {\r\n bindingContext: bindingContext,\r\n overrideContext: overrideContext\r\n };\r\n\r\n this.scopeContainer = new ScopeContainer({\r\n bindingContext: this,\r\n overrideContext: null\r\n });\r\n\r\n this.isMobil = this.browserService.isMobile;\r\n\r\n this.simpleWidgetCreator.updatePopupOptions({\r\n idToolbar: \"erklaerungsvideoPopupToolbar\",\r\n caption: \"erklaerungsvideo.popup-titel\",\r\n options: this.erklaerungsvideoPopupOptions,\r\n scopeContainer: this.scopeContainer\r\n });\r\n }\r\n unbind() {\r\n this.scopeContainer.disposeAll();\r\n this.scope = null;\r\n }\r\n\r\n public show(moduleId: string, target: any) {\r\n const erklaervideoList = this.erklaervideo.getContextMenuItems(moduleId);\r\n if (!erklaervideoList || erklaervideoList.length == 0) {\r\n return;\r\n }\r\n\r\n const menuItemList: IContextMenuItem[] = [];\r\n\r\n erklaervideoList.forEach(element => {\r\n menuItemList.push({\r\n text: this.erklaerungsvideoElementBezeichnung(element),\r\n icon: this.erklaerungsvideoElementIcon(element),\r\n execute: this.erklaerungsvideoAction(element)\r\n });\r\n });\r\n\r\n const ctx = new ContextMenu();\r\n ctx.items = menuItemList;\r\n ctx.show(target);\r\n }\r\n\r\n public erklaerungsvideoElementBezeichnung(erklaerungsvideo: IErklaerungsvideo): string {\r\n switch (erklaerungsvideo.InhaltArt) {\r\n case ErklaerungsvideoInhaltArtEnum.File:\r\n case ErklaerungsvideoInhaltArtEnum.Url:\r\n return `weitere Informationen: ${erklaerungsvideo.Bezeichnung}`;\r\n case ErklaerungsvideoInhaltArtEnum.VimeoEinbettungslink:\r\n return `Erklärvideo: ${erklaerungsvideo.Bezeichnung}`;\r\n }\r\n }\r\n\r\n public erklaerungsvideoElementIcon(erklaerungsvideo: IErklaerungsvideo): string {\r\n switch (erklaerungsvideo.InhaltArt) {\r\n case ErklaerungsvideoInhaltArtEnum.File:\r\n return \"fas fa-paperclip\";\r\n case ErklaerungsvideoInhaltArtEnum.Url:\r\n return \"fas fa-external-link-alt\";\r\n case ErklaerungsvideoInhaltArtEnum.VimeoEinbettungslink:\r\n return \"fas fa-video\";\r\n }\r\n }\r\n\r\n public erklaerungsvideoAction(erklaerungsvideo: IErklaerungsvideo): any {\r\n switch (erklaerungsvideo.InhaltArt) {\r\n case ErklaerungsvideoInhaltArtEnum.File:\r\n return () => this.downloadFile(erklaerungsvideo);\r\n case ErklaerungsvideoInhaltArtEnum.Url:\r\n return () => this.openUrl(erklaerungsvideo);\r\n case ErklaerungsvideoInhaltArtEnum.VimeoEinbettungslink:\r\n return () => this.showPopup(erklaerungsvideo);\r\n }\r\n }\r\n\r\n private openUrl(erklaerungsvideo: IErklaerungsvideo): void {\r\n if (erklaerungsvideo.InhaltArt != ErklaerungsvideoInhaltArtEnum.Url) {\r\n return;\r\n }\r\n\r\n let url = erklaerungsvideo.Content;\r\n if (!url || url.length == 0) {\r\n return;\r\n }\r\n\r\n if (!url.match(/^https?:\\/\\//i)) {\r\n url = `http://${url}`;\r\n }\r\n window.open(url, \"_blank\");\r\n }\r\n\r\n private downloadFile(erklaerungsvideo: IErklaerungsvideo): void {\r\n if (erklaerungsvideo.InhaltArt != ErklaerungsvideoInhaltArtEnum.File) {\r\n return;\r\n }\r\n\r\n if (!erklaerungsvideo.Content || erklaerungsvideo.Content.length == 0) {\r\n return;\r\n }\r\n\r\n this.file.download(erklaerungsvideo.Content);\r\n }\r\n\r\n private showPopup(erklaerungsvideo: IErklaerungsvideo): void {\r\n if (erklaerungsvideo.InhaltArt != ErklaerungsvideoInhaltArtEnum.VimeoEinbettungslink) {\r\n return;\r\n }\r\n\r\n if (!erklaerungsvideo.Content || erklaerungsvideo.Content.length == 0) {\r\n return;\r\n }\r\n\r\n this.popupTitel = erklaerungsvideo.Bezeichnung;\r\n this.vimeoHtml = erklaerungsvideo.Content;\r\n this.erklaerungsvideoPopup.instance.show();\r\n }\r\n}\r\n","import { bindable } from 'aurelia-framework';\r\nimport { IErklaerungsvideo } from './../../interfaces/startup-info';\r\nimport { autoinject, Scope, OverrideContext, computedFrom } from 'aurelia-framework';\r\nimport { ScopeContainer } from '../../../framework/base/export';\r\nimport { ErklaervideoService } from '../../services/erklaervideo-service';\r\n\r\n@autoinject\r\nexport class ErklaerungsvideoElement {\r\n constructor(\r\n private erklaervideo: ErklaervideoService\r\n ) {\r\n }\r\n\r\n scope: Scope;\r\n scopeContainer: ScopeContainer;\r\n icon: string;\r\n text: string;\r\n\r\n erklaerungsvideo: IErklaerungsvideo;\r\n\r\n @bindable code: string;\r\n\r\n bind(bindingContext: any, overrideContext: OverrideContext) {\r\n this.scope = {\r\n bindingContext: bindingContext,\r\n overrideContext: overrideContext\r\n };\r\n\r\n this.scopeContainer = new ScopeContainer({\r\n bindingContext: this,\r\n overrideContext: null\r\n });\r\n\r\n this.erklaerungsvideo = this.erklaervideo.getErklaerungsvideo(this.code);\r\n if (this.erklaerungsvideo == null) {\r\n return;\r\n }\r\n\r\n this.text = this.erklaervideo.erklaerungsvideoElementBezeichnung(this.erklaerungsvideo);\r\n this.icon = this.erklaervideo.erklaerungsvideoElementIcon(this.erklaerungsvideo);\r\n }\r\n unbind() {\r\n this.scopeContainer.disposeAll();\r\n this.scope = null;\r\n }\r\n\r\n public onElementClick() {\r\n if (!this.code || this.code.length == 0) {\r\n return;\r\n }\r\n\r\n const erklaervideoList = this.erklaervideo.getContextMenuItems(this.code);\r\n if (!erklaervideoList || erklaervideoList.length == 0) {\r\n return;\r\n }\r\n\r\n const erklaervideo = erklaervideoList[0];\r\n\r\n const action = this.erklaervideo.erklaerungsvideoAction(erklaervideo);\r\n if (action == null) {\r\n return;\r\n }\r\n\r\n action();\r\n }\r\n}\r\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';\r\nimport { LocalizationService } from './../../../framework/base/services/localization-service';\r\nimport { ErklaervideoService } from '../../services/erklaervideo-service';\r\nimport { autoinject } from \"aurelia-framework\";\r\nimport { IErklaerungsvideo } from '../../interfaces/export';\r\nimport { EventAggregator } from 'aurelia-event-aggregator';\r\n\r\n@autoinject\r\nexport class Erklaervideo {\r\n constructor(\r\n private localization: LocalizationService,\r\n private erklaervideo: ErklaervideoService,\r\n private eventAggregator: EventAggregator\r\n ) {\r\n }\r\n\r\n datasource: IErklaerungsvideo[];\r\n\r\n erklaervideoGrid: IdxDataGridComponent;\r\n erklaervideoGridOptions: DevExpress.ui.dxDataGridOptions = {\r\n height: \"100%\",\r\n columnAutoWidth: true,\r\n paging: {\r\n pageSize: 20\r\n },\r\n hoverStateEnabled: true,\r\n searchPanel: {\r\n visible: true\r\n },\r\n columns: [\r\n {\r\n dataField: \"Bezeichnung\",\r\n caption: this.localization.translateOnce(\"erklaervideos.bezeichnung\"),\r\n sortIndex: 0,\r\n sortOrder: \"asc\",\r\n cellTemplate: (cellElement, cellInfo) => {\r\n const icon = this.erklaervideo.erklaerungsvideoElementIcon(cellInfo.data);\r\n\r\n cellElement.innerHTML = ` ${cellInfo.data.Bezeichnung}`;\r\n }\r\n }\r\n ],\r\n bindingOptions: {\r\n dataSource: \"datasource\"\r\n },\r\n onRowClick: (e) => {\r\n if (!e || !e.data) {\r\n return;\r\n }\r\n\r\n const action = this.erklaervideo.erklaerungsvideoAction(e.data);\r\n if (!action) {\r\n return;\r\n }\r\n\r\n action();\r\n }\r\n };\r\n\r\n bind() {\r\n this.datasource = this.erklaervideo.getErklaerungsvideoDatasource();\r\n\r\n this.eventAggregator.publish(\"suche:clear\", {});\r\n }\r\n}\r\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';\r\nimport { JsonService, BindingService } from '../../../framework/base/services/export';\r\nimport { ErweiterteSucheService } from '../../services/export';\r\nimport { ListView } from '../../../framework/forms/export';\r\nimport { IListViewOptions } from '../../../framework/forms/elements/list-view/export';\r\nimport { IZitTagOptions } from '../../../zit-ui/elements/zit-tag/export';\r\nimport { ErweiterteSuche } from '../erweiterte-suche/erweiterte-suche';\r\nimport { ScopeContainer } from '../../../framework/base/export';\r\n\r\n@autoinject\r\nexport class ErweiterteSucheFilterListView {\r\n private _itemList: any[];\r\n\r\n constructor(\r\n private element: Element,\r\n private erweiterteSucheService: ErweiterteSucheService,\r\n private json: JsonService,\r\n private bindingService: BindingService\r\n ) { }\r\n\r\n scopeContainer: ScopeContainer;\r\n\r\n @bindable erweiterteSuche: ErweiterteSuche;\r\n\r\n queryTagOptions: IZitTagOptions = {\r\n textExpression: \"item._bezeichnung\",\r\n onDeleteClick: (e, queryItem) => {\r\n const indexOf = this.erweiterteSuche.selectedFilterList.findIndex(f => f.filter.Id == queryItem.Id);\r\n if (indexOf < 0) {\r\n return;\r\n }\r\n\r\n this.erweiterteSuche.selectedFilterList.splice(indexOf, 1);\r\n this.erweiterteSuche.executeSuche();\r\n\r\n const event = new CustomEvent(\"on-filter-deleted\", {\r\n detail: {\r\n sender: this,\r\n wertQueryList: this.erweiterteSuche.wertQueryList\r\n },\r\n bubbles: true\r\n });\r\n\r\n this.element.dispatchEvent(event);\r\n }\r\n };\r\n\r\n queryListView: ListView;\r\n queryListViewOptions: IListViewOptions = {\r\n showReloadButton: false,\r\n useDefaultListItemStyle: false,\r\n itemClass: \"z--tag-list-view\",\r\n dataSource: new DevExpress.data.DataSource(\r\n new DevExpress.data.CustomStore({\r\n loadMode: \"raw\",\r\n load: () => {\r\n return new Promise((resolve) => {\r\n resolve(this._itemList);\r\n });\r\n }\r\n })\r\n )\r\n };\r\n\r\n bind() {\r\n this.scopeContainer = new ScopeContainer({\r\n bindingContext: this,\r\n overrideContext: null\r\n });\r\n\r\n this.bindingService.observe({\r\n scopeContainer: this.scopeContainer,\r\n expression: \"erweiterteSuche.wertQueryList\",\r\n callback: () => {\r\n this.onSucheChanged();\r\n }\r\n });\r\n\r\n if (this.erweiterteSuche) {\r\n this.onSucheChanged();\r\n }\r\n }\r\n unbind() {\r\n this.scopeContainer.disposeAll();\r\n this.scopeContainer = null;\r\n }\r\n\r\n private onSucheChanged() {\r\n this._itemList = [];\r\n\r\n if (this.erweiterteSuche && this.erweiterteSuche.wertQueryList) {\r\n this.erweiterteSuche.wertQueryList.forEach(i => {\r\n const feld = this.erweiterteSuche.filterList.find(f => f.Id == i.Id);\r\n if (!feld) {\r\n return;\r\n }\r\n\r\n const newItem = Object.assign({}, i);\r\n newItem._bezeichnung = this.erweiterteSucheService.getFilterBezeichnung(feld, i.Operator, i.Value);\r\n this._itemList.push(newItem);\r\n });\r\n }\r\n\r\n this.queryListViewOptions.dataSource.reload();\r\n }\r\n}\r\n","module.exports = \" \";","import { autoinject, observable, bindable, PLATFORM } from \"aurelia-framework\";\r\nimport { IdxPopupComponent, IdxValidationGroupComponent, IErweiterteSucheObjektFeldData } from \"../../interfaces/export\";\r\nimport { SimpleWidgetCreatorService, ICommandData, ContextMenu, DialogConfirmService } from \"../../../framework/forms/export\";\r\nimport { ScopeContainer, JsonService, LocalizationService } from \"../../../framework/base/export\";\r\nimport { ObjektInfoService } from \"../../services/objekt-info-service\";\r\nimport { ErweiterteSucheService, LoginprofilEinstellungenService } from \"../../services/export\";\r\nimport { ObjektExportEigenschaftDatenTyp } from \"../../enumerations/objekt-export-eigenschaft-daten-typ\";\r\nimport { ErklaervideoService } from \"../../services/erklaervideo-service\";\r\nimport { ILoginprofilEinstellung, LoginprofilEinstellungTyp } from \"../../services/loginprofil-einstellungen-service\";\r\n\r\n@autoinject\r\nexport class ErweiterteSuche {\r\n private _onLoadDataPromise: Promise;\r\n\r\n constructor(\r\n private element: Element,\r\n private simpleWidgetCreatorService: SimpleWidgetCreatorService,\r\n private objektInfoService: ObjektInfoService,\r\n private erweiterteSucheService: ErweiterteSucheService,\r\n private jsonService: JsonService,\r\n private loginprofilEinstellungenService: LoginprofilEinstellungenService,\r\n private localizationService: LocalizationService,\r\n private dialogConfirmService: DialogConfirmService,\r\n private erklaervideoService: ErklaervideoService\r\n ) { }\r\n\r\n @bindable @observable objektFullName: string;\r\n \r\n sucheTitel = \"\";\r\n idVorlage: number;\r\n vorlageBezNeu: string;\r\n idVorlageErsetzen: number;\r\n filterList: IErweiterteSucheObjektFeldData[] = [];\r\n selectedFilterList: ISelectedFilter[] = [];\r\n vorlageList: ILoginprofilEinstellung[] = [];\r\n //Wegen altem Code, damit diese in diesem Schritt nicht umgebaut werden muss\r\n wertQueryList: any[];\r\n\r\n scopeContainer: ScopeContainer;\r\n\r\n erweiterteSuchePopup: IdxPopupComponent;\r\n erweiterteSuchePopupOptions: DevExpress.ui.dxPopupOptions = {\r\n height: \"450px\",\r\n maxHeight: \"80%\",\r\n maxWidth: \"750px\"\r\n };\r\n vorlageSpeichernPopup: IdxPopupComponent;\r\n vorlageSpeichernPopupOptions: DevExpress.ui.dxPopupOptions = {\r\n height: \"auto\",\r\n maxHeight: \"80%\",\r\n maxWidth: \"600px\"\r\n };\r\n validationGroup: IdxValidationGroupComponent;\r\n validationGroupOptions: DevExpress.ui.dxValidationGroupOptions = {\r\n };\r\n vorlageValidationGroup: IdxValidationGroupComponent;\r\n vorlageValidationGroupOptions: DevExpress.ui.dxValidationGroupOptions = {\r\n };\r\n vorlageSpeichernTextBoxOptions: DevExpress.ui.dxTextBoxOptions = {\r\n bindingOptions: {\r\n value: \"vorlageBezNeu\"\r\n }\r\n };\r\n vorlageErsetzenSelectBoxOptions: DevExpress.ui.dxSelectBoxOptions = {\r\n valueExpr: \"Id\",\r\n displayExpr: \"Bezeichnung\",\r\n showClearButton: true,\r\n bindingOptions: {\r\n dataSource: \"vorlageList\",\r\n value: \"idVorlageErsetzen\"\r\n }\r\n };\r\n\r\n popupCommands: ICommandData[] = [{\r\n id: \"vorlageWaehlen\",\r\n idCategory: \"$close\",\r\n icon: \"fas fa-caret-down\",\r\n sortIndex: 1499,\r\n title: \"erweiterte-suche.vorlage-laden\",\r\n isVisibleExpression: \"vorlageList.length > 0\",\r\n className: \"erweiterte-suche-vorlage-waehlen\",\r\n execute: (e) => {\r\n this.showVorlageContextMenu(e.event);\r\n }\r\n }, {\r\n id: \"clearErweiterteSuche\",\r\n idCategory: \"$close\",\r\n icon: \"fas fa-eraser\",\r\n sortIndex: 1500,\r\n tooltip: \"erweiterte-suche.suche-zuruecksetzen\",\r\n isEnabledExpression: \"queryItemList.length > 0\",\r\n execute: () => {\r\n this.clearData();\r\n this.executeSuche();\r\n this.erweiterteSuchePopup.instance.hide();\r\n }\r\n }, {\r\n id: \"doErweiterteSuche\",\r\n idCategory: \"$close\",\r\n icon: \"fas fa-search\",\r\n sortIndex: 1600,\r\n tooltip: \"erweiterte-suche.suchen\",\r\n isEnabled: true,\r\n execute: () => {\r\n this.executeSuche();\r\n this.erweiterteSuchePopup.instance.hide();\r\n }\r\n }\r\n ];\r\n vorlagePopupCommands: ICommandData[] = [{\r\n id: \"clearErweiterteSuche\",\r\n idCategory: \"$close\",\r\n icon: \"fas fa-save\",\r\n sortIndex: 1500,\r\n tooltip: \"erweiterte-suche.vorlage-speichern\",\r\n execute: () => {\r\n const isValid = this.vorlageValidationGroup.instance.validate().isValid;\r\n if (!isValid) {\r\n return;\r\n }\r\n\r\n this.doSaveVorlage();\r\n this.vorlageSpeichernPopup.instance.hide();\r\n }\r\n }\r\n ];\r\n\r\n bind() {\r\n this.scopeContainer = new ScopeContainer({\r\n bindingContext: this,\r\n overrideContext: null\r\n });\r\n\r\n this.erklaervideoService.attachedToolbarButton(\r\n \"zit/elements/erweiterte-suche/erweiterte-suche\",\r\n (i) => this.popupCommands.push(i)\r\n );\r\n\r\n this.simpleWidgetCreatorService.updatePopupOptions({\r\n idToolbar: \"erweiterteSuchePopupToolbar\",\r\n caption: \"erweiterte-suche.popup-titel\",\r\n options: this.erweiterteSuchePopupOptions,\r\n commands: this.popupCommands,\r\n scopeContainer: this.scopeContainer\r\n });\r\n this.simpleWidgetCreatorService.updatePopupOptions({\r\n idToolbar: \"vorlagePopupToolbar\",\r\n caption: \"erweiterte-suche.vorlage-speichern\",\r\n options: this.vorlageSpeichernPopupOptions,\r\n commands: this.vorlagePopupCommands,\r\n scopeContainer: this.scopeContainer\r\n });\r\n\r\n this.vorlageSpeichernTextBoxOptions[\"validators\"] = [{\r\n type: \"required\",\r\n message: this.localizationService.translateOnce(\"erweiterte-suche.bezeichnung-pflichtfeld\")\r\n }];\r\n\r\n if (this.objektFullName) {\r\n this.loadData();\r\n }\r\n }\r\n unbind() {\r\n this.scopeContainer.disposeAll();\r\n this.scopeContainer = null;\r\n }\r\n\r\n async showPopup() {\r\n this.idVorlage = null;\r\n\r\n this.setTitel();\r\n this.loadData();\r\n\r\n this.erweiterteSuchePopup.instance.show();\r\n }\r\n\r\n clearSuche() {\r\n this.selectedFilterList.splice(0, this.selectedFilterList.length);\r\n this.wertQueryList = null;\r\n }\r\n executeSuche() {\r\n this.setWertQueryList();\r\n\r\n const event = new CustomEvent(\"on-execute-suche\", {\r\n detail: {\r\n sender: this,\r\n wertQueryList: this.wertQueryList\r\n },\r\n bubbles: true\r\n });\r\n\r\n this.element.dispatchEvent(event);\r\n } \r\n async loadData() {\r\n this._onLoadDataPromise = new Promise(async(resolve) => {\r\n await this.loadFelder();\r\n await this.loadVorlagen();\r\n\r\n resolve();\r\n this._onLoadDataPromise = null;\r\n });\r\n }\r\n loadFilter(wertQueryList: any[], executeSuche: boolean = false) {\r\n if (this._onLoadDataPromise != null) {\r\n this._onLoadDataPromise.then(() => {\r\n this.loadFilter(wertQueryList, executeSuche);\r\n });\r\n return;\r\n }\r\n\r\n wertQueryList = wertQueryList || [];\r\n this.clearData();\r\n\r\n for (const f of wertQueryList) {\r\n const filter = this.filterList.find((r) => r.Id == f.Id);\r\n if (!filter) {\r\n continue;\r\n }\r\n\r\n this.addFeld(filter, f.Operator, f.Value, true);\r\n }\r\n\r\n if (executeSuche) {\r\n this.executeSuche();\r\n } else {\r\n this.setWertQueryList();\r\n }\r\n }\r\n showVorlageContextMenu(e: Event, executeSucheAfterSelect: boolean = false) {\r\n const ctxMenu = new ContextMenu();\r\n\r\n this.vorlageList.forEach((v) => {\r\n ctxMenu.items.push({\r\n text: v.Bezeichnung,\r\n execute: () => {\r\n this.useVorlage(v.Id);\r\n\r\n if (executeSucheAfterSelect) {\r\n this.executeSuche();\r\n }\r\n }\r\n });\r\n });\r\n \r\n ctxMenu.show(this.getZButton(e.target));\r\n }\r\n\r\n async onSaveVorlageClicked() {\r\n const filter = this.getCheckSelectedFilterList();\r\n if (filter.length == 0) {\r\n DevExpress.ui.notify(this.localizationService.translateOnce(\"erweiterte-suche.keine-filter-zum-speichern\"), \"error\", 3000);\r\n return;\r\n }\r\n\r\n this.idVorlageErsetzen = this.idVorlage;\r\n\r\n if (this.idVorlage) {\r\n const vorlage = this.vorlageList.find((v) => v.Id == this.idVorlage);\r\n\r\n this.vorlageBezNeu = vorlage\r\n ? vorlage.Bezeichnung\r\n : null;\r\n } else {\r\n this.vorlageBezNeu = null;\r\n }\r\n\r\n this.vorlageSpeichernPopup.instance.show();\r\n }\r\n async onDeleteVorlageClicked() {\r\n if (!this.idVorlage) {\r\n return;\r\n }\r\n\r\n const message = this.localizationService.translateOnce(\"erweiterte-suche.delete-vorlage-confirmation-message\");\r\n const title = this.localizationService.translateOnce(\"erweiterte-suche.delete-vorlage-confirmation-title\");\r\n\r\n const dialogResult = await this.dialogConfirmService.show({\r\n title: title,\r\n message: message\r\n });\r\n \r\n if (!dialogResult) {\r\n return;\r\n }\r\n\r\n this.doDeleteVorlage();\r\n }\r\n onAddFeldClicked(e: Event) {\r\n const ctxMenu = new ContextMenu();\r\n this.filterList.forEach((filter) => {\r\n ctxMenu.items.push({\r\n text: filter.Bezeichnung,\r\n execute: () => {\r\n this.addFeld(filter, null, null, false, true);\r\n }\r\n });\r\n });\r\n\r\n ctxMenu.show(this.getZButton(e.target));\r\n }\r\n onRemoveFeldClicked(filter: ISelectedFilter) {\r\n const indexOf = this.selectedFilterList.indexOf(filter);\r\n if (indexOf < 0) {\r\n return;\r\n }\r\n\r\n this.selectedFilterList.splice(indexOf, 1);\r\n }\r\n\r\n objektFullNameChanged() {\r\n this.clearData();\r\n this.wertQueryList = null;\r\n this.loadData();\r\n }\r\n\r\n private addFeld(filter: IErweiterteSucheObjektFeldData, operator?: string, wert?: any, isValid?: boolean, focus?: boolean) {\r\n this.selectedFilterList.push({\r\n filter: filter,\r\n editor: this.getEditor(filter),\r\n operator: operator || this.getDefaultOperator(filter),\r\n wert: wert,\r\n isValid: isValid || false,\r\n focus: focus\r\n });\r\n }\r\n private clearData() {\r\n this.selectedFilterList.splice(0, this.selectedFilterList.length);\r\n }\r\n private async doDeleteVorlage() {\r\n if (!this.idVorlage) {\r\n return;\r\n }\r\n\r\n await this.loginprofilEinstellungenService.deleteEinstellung(this.idVorlage);\r\n\r\n const message = this.localizationService.translateOnce(\"erweiterte-suche.delete-vorlage-deleted-message\");\r\n const title = this.localizationService.translateOnce(\"erweiterte-suche.delete-vorlage-deleted-title\");\r\n\r\n DevExpress.ui.notify(message, title, 3000);\r\n\r\n this.idVorlage = null;\r\n this.loadVorlagen();\r\n }\r\n private async doSaveVorlage() {\r\n const einstellung = this.getLoginprofilEinstellungData();\r\n\r\n const vorlage = await this.loginprofilEinstellungenService.saveOrCreateEinstellung(einstellung);\r\n\r\n await this.loadVorlagen();\r\n this.idVorlage = vorlage.Id;\r\n }\r\n private getCheckSelectedFilterList(): any[] {\r\n const r = [];\r\n\r\n this.selectedFilterList.forEach((s) => {\r\n if (!s.isValid) {\r\n return;\r\n }\r\n\r\n r.push({\r\n Id: s.filter.Id,\r\n Operator: s.operator,\r\n Value: s.wert\r\n });\r\n });\r\n\r\n return r;\r\n }\r\n private getDefaultOperator(filter: IErweiterteSucheObjektFeldData) {\r\n switch (filter.Datentyp) {\r\n case ObjektExportEigenschaftDatenTyp.Text: {\r\n return \"like\";\r\n }\r\n case ObjektExportEigenschaftDatenTyp.Nummer:\r\n case ObjektExportEigenschaftDatenTyp.Datum: {\r\n return \"=\";\r\n }\r\n case ObjektExportEigenschaftDatenTyp.Marker:\r\n case ObjektExportEigenschaftDatenTyp.ObjektStatus:\r\n case ObjektExportEigenschaftDatenTyp.Auswahlliste: {\r\n return \"in\";\r\n }\r\n default: {\r\n return \"=\";\r\n }\r\n }\r\n }\r\n private getEditor(filter: IErweiterteSucheObjektFeldData) {\r\n switch (filter.Datentyp) {\r\n case ObjektExportEigenschaftDatenTyp.Text: {\r\n return PLATFORM.moduleName(\"zit/elements/erweiterte-suche/erweiterte-suche-text\");\r\n }\r\n case ObjektExportEigenschaftDatenTyp.Nummer: {\r\n return PLATFORM.moduleName(\"zit/elements/erweiterte-suche/erweiterte-suche-nummer\");\r\n }\r\n case ObjektExportEigenschaftDatenTyp.Datum: {\r\n return PLATFORM.moduleName(\"zit/elements/erweiterte-suche/erweiterte-suche-datum\");\r\n }\r\n case ObjektExportEigenschaftDatenTyp.Marker: {\r\n return PLATFORM.moduleName(\"zit/elements/erweiterte-suche/erweiterte-suche-marker\");\r\n }\r\n case ObjektExportEigenschaftDatenTyp.ObjektStatus: {\r\n return PLATFORM.moduleName(\"zit/elements/erweiterte-suche/erweiterte-suche-objekt-status\");\r\n }\r\n case ObjektExportEigenschaftDatenTyp.Auswahlliste: {\r\n return PLATFORM.moduleName(\"zit/elements/erweiterte-suche/erweiterte-suche-auswahl\");\r\n }\r\n default: {\r\n return null;\r\n }\r\n }\r\n }\r\n private getLoginprofilEinstellungData(): ILoginprofilEinstellung {\r\n return {\r\n Id: this.idVorlageErsetzen,\r\n Typ: LoginprofilEinstellungTyp.Suche,\r\n Entitaet: this.objektFullName,\r\n Bezeichnung: this.vorlageBezNeu,\r\n Wert: {\r\n Columns: this.getCheckSelectedFilterList(),\r\n Custom: null\r\n }\r\n };\r\n }\r\n private getZButton(element: Element): Element {\r\n let parent = element;\r\n while (parent) {\r\n if (parent.classList.contains(\"z--button\")) {\r\n return parent;\r\n }\r\n\r\n parent = parent.parentElement;\r\n }\r\n\r\n return element;\r\n }\r\n private async loadFelder() {\r\n if (this.objektFullName) {\r\n const r = await this.erweiterteSucheService.loadObjektFelder(this.objektFullName);\r\n\r\n this.filterList = r;\r\n\r\n if (this.selectedFilterList.length == 0) {\r\n for (const feld of r) {\r\n if (!feld.SucheErweitertVorbelegt) {\r\n continue;\r\n }\r\n\r\n this.addFeld(feld);\r\n }\r\n }\r\n } else {\r\n this.filterList.splice(0, this.filterList.length);\r\n }\r\n }\r\n private async loadVorlagen() {\r\n this.vorlageList = this.objektFullName\r\n ? await this.erweiterteSucheService.loadEinstellungen(this.objektFullName)\r\n : [];\r\n }\r\n private setWertQueryList() {\r\n const r = this.getCheckSelectedFilterList();\r\n\r\n this.wertQueryList = r.length == 0\r\n ? null\r\n : r;\r\n }\r\n private setTitel() {\r\n const info = this.objektInfoService.getObjektByFullname(this.objektFullName);\r\n this.sucheTitel = info.Bezeichnung;\r\n }\r\n private useVorlage(id: number) {\r\n this.idVorlage = id;\r\n \r\n const vorlage = this.vorlageList.find((v) => v.Id == id);\r\n if (!vorlage) {\r\n return;\r\n }\r\n \r\n this.loadFilter(vorlage.Wert.Columns);\r\n }\r\n}\r\n\r\nexport interface ISelectedFilter {\r\n filter: IErweiterteSucheObjektFeldData;\r\n editor: string;\r\n operator: any;\r\n wert?: any;\r\n isValid?: boolean;\r\n bezeichnung?: string;\r\n focus?: boolean;\r\n}\r\n","import { autoinject } from \"aurelia-framework\";\r\nimport { ISelectedFilter } from './erweiterte-suche';\r\nimport { RestService } from '../../../framework/base/export';\r\nimport { IdxTagboxComponent } from '../../interfaces/export';\r\nimport { ErweiterteSucheService } from '../../services/export';\r\nimport { ObjektExportEigenschaftDatenTyp } from '../../enumerations/export';\r\n\r\n@autoinject\r\nexport class ErweiterteSucheAuswahl {\r\n private _dataList: any[] = [];\r\n\r\n constructor(\r\n private restService: RestService,\r\n private erweiterteSucheService: ErweiterteSucheService\r\n ) { }\r\n\r\n filter: ISelectedFilter;\r\n\r\n operatorSelectBoxOptions: DevExpress.ui.dxSelectBoxOptions = {\r\n valueExpr: \"value\",\r\n displayExpr: \"text\",\r\n onValueChangedByUser: (e) => {\r\n this.checkIsValid();\r\n },\r\n bindingOptions: {\r\n value: \"filter.operator\"\r\n }\r\n }\r\n tagBoxOptions: DevExpress.ui.dxTagBoxOptions = {\r\n valueExpr: \"Id\",\r\n displayExpr: \"Bezeichnung\",\r\n showSelectionControls: true,\r\n applyValueMode: \"useButtons\",\r\n onSelectionChanged: () => {\r\n this.checkIsValid();\r\n },\r\n bindingOptions: {\r\n value: \"filter.wert\"\r\n }\r\n };\r\n\r\n activate(filter) {\r\n this.filter = filter;\r\n this.operatorSelectBoxOptions.dataSource = this.erweiterteSucheService.getOperatorDataSource(ObjektExportEigenschaftDatenTyp.Auswahlliste);\r\n\r\n if (!this.filter.wert) {\r\n this.filter.wert = [];\r\n }\r\n\r\n this.tagBoxOptions.items = this.filter.filter.DataList;\r\n this.checkIsValid();\r\n }\r\n\r\n checkIsValid() {\r\n const wertList = this.filter.wert;\r\n\r\n this.filter.isValid = Array.isArray(wertList)\r\n && wertList.length > 0\r\n && Array.isArray(this._dataList);\r\n\r\n if (this.filter.isValid) {\r\n this.filter.bezeichnung = this.erweiterteSucheService.getFilterBezeichnung(this.filter.filter, this.filter.operator, this.filter.wert);\r\n } else {\r\n this.filter.bezeichnung = null;\r\n }\r\n }\r\n}\r\n","module.exports = \" \";","import { autoinject, computedFrom, TaskQueue } from \"aurelia-framework\";\r\nimport { ISelectedFilter } from './erweiterte-suche';\r\nimport { GlobalizationService } from '../../../framework/base/export';\r\nimport { ErweiterteSucheService } from '../../services/export';\r\nimport { ObjektExportEigenschaftDatenTyp } from '../../enumerations/export';\r\nimport { IdxDateBoxComponent } from '../../interfaces/export';\r\n\r\n@autoinject\r\nexport class ErweiterteSucheDatum {\r\n private _prevOperator: string;\r\n\r\n constructor(\r\n private globalizationService: GlobalizationService,\r\n private erweiterteSucheService: ErweiterteSucheService,\r\n private taskQueue: TaskQueue\r\n ) {}\r\n\r\n filter: ISelectedFilter;\r\n\r\n operatorSelectBoxOptions: DevExpress.ui.dxSelectBoxOptions = {\r\n valueExpr: \"value\",\r\n displayExpr: \"text\",\r\n onValueChangedByUser: (e) => {\r\n if (e.value == \"between\") {\r\n this.filter.wert = {\r\n wert1: null,\r\n wert2: null\r\n }\r\n } else if (this._prevOperator == \"between\") {\r\n this.filter.wert = null;\r\n }\r\n\r\n this._prevOperator = e.value;\r\n this.checkIsValid();\r\n },\r\n bindingOptions: {\r\n value: \"filter.operator\"\r\n }\r\n }\r\n dateBox: IdxDateBoxComponent;\r\n dateBoxOptions: DevExpress.ui.dxDateBoxOptions = {\r\n //TODO Format aus Eigenschaft übernehmen\r\n onValueChangedByUser: () => {\r\n this.checkIsValid();\r\n },\r\n bindingOptions: {\r\n value: \"filter.wert\"\r\n }\r\n };\r\n between1DateBoxOptions: DevExpress.ui.dxDateBoxOptions = {\r\n onValueChangedByUser: () => {\r\n this.checkIsValid();\r\n },\r\n bindingOptions: {\r\n value: \"filter.wert.wert1\"\r\n }\r\n };\r\n between2DateBoxOptions: DevExpress.ui.dxDateBoxOptions = {\r\n onValueChangedByUser: () => {\r\n this.checkIsValid();\r\n },\r\n bindingOptions: {\r\n value: \"filter.wert.wert2\"\r\n }\r\n };\r\n\r\n @computedFrom(\"filter.operator\")\r\n get wertVisible() {\r\n return this.filter.operator != \"isnull\"\r\n && this.filter.operator != \"isnotnull\"\r\n && this.filter.operator != \"between\";\r\n }\r\n @computedFrom(\"filter.operator\")\r\n get isBetweenVisible() {\r\n return this.filter.operator == \"between\";\r\n }\r\n\r\n activate(filter) {\r\n this.filter = filter;\r\n this.operatorSelectBoxOptions.dataSource = this.erweiterteSucheService.getOperatorDataSource(ObjektExportEigenschaftDatenTyp.Datum);\r\n\r\n this.dateBoxOptions[\"calendarOptions\"] = {firstDayOfWeek: 1};\r\n this.dateBoxOptions.displayFormat = this.globalizationService.getFormatterParser(this.filter.filter.Format || \"d\");\r\n\r\n this.between1DateBoxOptions[\"calendarOptions\"] = {firstDayOfWeek: 1};\r\n this.between1DateBoxOptions.displayFormat = this.globalizationService.getFormatterParser(this.filter.filter.Format || \"d\");\r\n\r\n this.between2DateBoxOptions[\"calendarOptions\"] = {firstDayOfWeek: 1};\r\n this.between2DateBoxOptions.displayFormat = this.globalizationService.getFormatterParser(this.filter.filter.Format || \"d\");\r\n\r\n this.checkIsValid();\r\n this._prevOperator = this.filter.operator;\r\n }\r\n attached() {\r\n if (this.filter.focus) {\r\n this.taskQueue.queueTask(() => {\r\n if (this.dateBox && this.dateBox.instance) {\r\n this.dateBox.instance.focus();\r\n }\r\n });\r\n }\r\n }\r\n \r\n checkIsValid() {\r\n this.filter.isValid = this.filter.operator == \"between\"\r\n ? (!!this.filter.wert.wert1 && !!this.filter.wert.wert2)\r\n : (this.filter.operator == \"isnull\" || this.filter.operator == \"isnotnull\" || !!this.filter.wert);\r\n\r\n if (this.filter.isValid) {\r\n this.filter.bezeichnung = this.erweiterteSucheService.getFilterBezeichnung(this.filter.filter, this.filter.operator, this.filter.wert);\r\n } else {\r\n this.filter.bezeichnung = null;\r\n }\r\n }\r\n}\r\n","module.exports = \" \";","import { autoinject } from \"aurelia-framework\";\r\nimport { ISelectedFilter } from './erweiterte-suche';\r\nimport { ErweiterteSucheService } from '../../services/export';\r\nimport { ObjektExportEigenschaftDatenTyp } from '../../enumerations/export';\r\n\r\n@autoinject\r\nexport class ErweiterteSucheMarker {\r\n constructor(\r\n private erweiterteSucheService: ErweiterteSucheService\r\n ) { }\r\n\r\n filter: ISelectedFilter;\r\n\r\n operatorSelectBoxOptions: DevExpress.ui.dxSelectBoxOptions = {\r\n valueExpr: \"value\",\r\n displayExpr: \"text\",\r\n onValueChangedByUser: (e) => {\r\n this.checkIsValid();\r\n },\r\n bindingOptions: {\r\n value: \"filter.operator\"\r\n }\r\n }\r\n tagBoxOptions: DevExpress.ui.dxTagBoxOptions = {\r\n valueExpr: \"Id\",\r\n displayExpr: \"Bezeichnung\",\r\n showSelectionControls: true,\r\n applyValueMode: \"useButtons\",\r\n onSelectionChanged: () => {\r\n this.checkIsValid();\r\n },\r\n bindingOptions: {\r\n value: \"filter.wert\"\r\n }\r\n };\r\n\r\n activate(filter) {\r\n this.filter = filter;\r\n this.operatorSelectBoxOptions.dataSource = this.erweiterteSucheService.getOperatorDataSource(ObjektExportEigenschaftDatenTyp.Marker);\r\n\r\n if (!this.filter.wert) {\r\n this.filter.wert = [];\r\n }\r\n\r\n this.tagBoxOptions.items = this.filter.filter.DataList;\r\n this.checkIsValid();\r\n }\r\n\r\n checkIsValid() {\r\n const wertList = this.filter.wert;\r\n\r\n this.filter.isValid = Array.isArray(wertList)\r\n && wertList.length > 0\r\n && Array.isArray(this.filter.filter.DataList);\r\n\r\n if (this.filter.isValid) {\r\n this.filter.bezeichnung = this.erweiterteSucheService.getFilterBezeichnung(this.filter.filter, this.filter.operator, this.filter.wert);\r\n } else {\r\n this.filter.bezeichnung = null;\r\n }\r\n }\r\n}\r\n","module.exports = \" \";","import { autoinject, computedFrom, TaskQueue } from \"aurelia-framework\";\r\nimport { ISelectedFilter } from './erweiterte-suche';\r\nimport { GlobalizationService } from '../../../framework/base/export';\r\nimport { ErweiterteSucheService } from '../../services/export';\r\nimport { ObjektExportEigenschaftDatenTyp } from '../../enumerations/export';\r\nimport { IdxNumberBoxComponent } from '../../interfaces/export';\r\n\r\n@autoinject\r\nexport class ErweiterteSucheNummer {\r\n private _prevOperator: string;\r\n\r\n constructor(\r\n private globalizationService: GlobalizationService,\r\n private erweiterteSucheService: ErweiterteSucheService,\r\n private taskQueue: TaskQueue\r\n ) {}\r\n\r\n filter: ISelectedFilter;\r\n\r\n operatorSelectBoxOptions: DevExpress.ui.dxSelectBoxOptions = {\r\n valueExpr: \"value\",\r\n displayExpr: \"text\",\r\n onValueChangedByUser: (e) => {\r\n if (e.value == \"between\") {\r\n this.filter.wert = {\r\n wert1: null,\r\n wert2: null\r\n }\r\n } else if (this._prevOperator == \"between\") {\r\n this.filter.wert = null;\r\n }\r\n\r\n this._prevOperator = e.value;\r\n this.checkIsValid();\r\n },\r\n bindingOptions: {\r\n value: \"filter.operator\"\r\n }\r\n }\r\n numberBox: IdxNumberBoxComponent;\r\n numberBoxOptions: DevExpress.ui.dxNumberBoxOptions = {\r\n bindingOptions: {\r\n value: \"filter.wert\"\r\n }\r\n }; \r\n between1NumberBoxOptions: DevExpress.ui.dxNumberBoxOptions = {\r\n onValueChangedByUser: () => {\r\n this.checkIsValid();\r\n },\r\n bindingOptions: {\r\n value: \"filter.wert.wert1\"\r\n }\r\n };\r\n between2NumberBoxOptions: DevExpress.ui.dxNumberBoxOptions = {\r\n onValueChangedByUser: () => {\r\n this.checkIsValid();\r\n },\r\n bindingOptions: {\r\n value: \"filter.wert.wert2\"\r\n }\r\n };\r\n\r\n @computedFrom(\"filter.operator\")\r\n get wertVisible() {\r\n return this.filter.operator != \"isnull\"\r\n && this.filter.operator != \"isnotnull\"\r\n && this.filter.operator != \"between\";\r\n }\r\n @computedFrom(\"filter.operator\")\r\n get isBetweenVisible() {\r\n return this.filter.operator == \"between\";\r\n }\r\n\r\n activate(filter) {\r\n this.filter = filter;\r\n this.operatorSelectBoxOptions.dataSource = this.erweiterteSucheService.getOperatorDataSource(ObjektExportEigenschaftDatenTyp.Nummer);\r\n\r\n this.numberBoxOptions.format = this.globalizationService.getFormatterParser(this.filter.filter.Format || \"n0\");\r\n this.between1NumberBoxOptions.format = this.globalizationService.getFormatterParser(this.filter.filter.Format || \"n0\");\r\n this.between2NumberBoxOptions.format = this.globalizationService.getFormatterParser(this.filter.filter.Format || \"n0\");\r\n\r\n this.checkIsValid();\r\n this._prevOperator = this.filter.operator;\r\n }\r\n attached() {\r\n if (this.filter.focus) {\r\n this.taskQueue.queueTask(() => {\r\n if (this.numberBox && this.numberBox.instance) {\r\n this.numberBox.instance.focus();\r\n }\r\n });\r\n }\r\n }\r\n \r\n checkIsValid() {\r\n this.filter.isValid = this.filter.operator == \"between\"\r\n ? (!!this.filter.wert.wert1 && !!this.filter.wert.wert2)\r\n : (this.filter.operator == \"isnull\" || this.filter.operator == \"isnotnull\" || !!this.filter.wert);\r\n\r\n if (this.filter.isValid) {\r\n this.filter.bezeichnung = this.erweiterteSucheService.getFilterBezeichnung(this.filter.filter, this.filter.operator, this.filter.wert);\r\n } else {\r\n this.filter.bezeichnung = null;\r\n }\r\n }\r\n}\r\n","module.exports = \" \";","import { autoinject } from \"aurelia-framework\";\r\nimport { ISelectedFilter } from './erweiterte-suche';\r\nimport { ErweiterteSucheService } from '../../services/export';\r\nimport { ObjektExportEigenschaftDatenTyp } from '../../enumerations/export';\r\n\r\n@autoinject\r\nexport class ErweiterteSucheObjektStatus {\r\n constructor(\r\n private erweiterteSucheService: ErweiterteSucheService\r\n ) { }\r\n\r\n filter: ISelectedFilter;\r\n\r\n operatorSelectBoxOptions: DevExpress.ui.dxSelectBoxOptions = {\r\n valueExpr: \"value\",\r\n displayExpr: \"text\",\r\n onValueChangedByUser: (e) => {\r\n this.checkIsValid();\r\n },\r\n bindingOptions: {\r\n value: \"filter.operator\"\r\n }\r\n }\r\n tagBoxOptions: DevExpress.ui.dxTagBoxOptions = {\r\n valueExpr: \"Id\",\r\n displayExpr: \"Bezeichnung\",\r\n showSelectionControls: true,\r\n applyValueMode: \"useButtons\",\r\n onSelectionChanged: () => {\r\n this.checkIsValid();\r\n },\r\n bindingOptions: {\r\n value: \"filter.wert\"\r\n }\r\n };\r\n\r\n activate(filter) {\r\n this.filter = filter;\r\n this.operatorSelectBoxOptions.dataSource = this.erweiterteSucheService.getOperatorDataSource(ObjektExportEigenschaftDatenTyp.ObjektStatus);\r\n\r\n if (!this.filter.wert) {\r\n this.filter.wert = [];\r\n }\r\n\r\n this.tagBoxOptions.items = this.filter.filter.DataList;\r\n this.checkIsValid();\r\n }\r\n\r\n checkIsValid() {\r\n const wertList = this.filter.wert;\r\n\r\n this.filter.isValid = Array.isArray(wertList)\r\n && wertList.length > 0\r\n && Array.isArray(this.filter.filter.DataList);\r\n\r\n if (this.filter.isValid) {\r\n this.filter.bezeichnung = this.erweiterteSucheService.getFilterBezeichnung(this.filter.filter, this.filter.operator, this.filter.wert);\r\n } else {\r\n this.filter.bezeichnung = null;\r\n }\r\n }\r\n}\r\n","module.exports = \" \";","import { autoinject, computedFrom, TaskQueue } from \"aurelia-framework\";\r\nimport { ISelectedFilter } from './erweiterte-suche';\r\nimport { ErweiterteSucheService } from '../../services/export';\r\nimport { ObjektExportEigenschaftDatenTyp } from '../../enumerations/export';\r\nimport { IdxTextBoxComponent } from '../../interfaces/export';\r\n\r\n@autoinject\r\nexport class ErweiterteSucheText {\r\n constructor(\r\n private erweiterteSucheService: ErweiterteSucheService,\r\n private taskQueue: TaskQueue\r\n ) {}\r\n\r\n filter: ISelectedFilter;\r\n\r\n operatorSelectBoxOptions: DevExpress.ui.dxSelectBoxOptions = {\r\n valueExpr: \"value\",\r\n displayExpr: \"text\",\r\n bindingOptions: {\r\n value: \"filter.operator\"\r\n }\r\n }\r\n textBox: IdxTextBoxComponent;\r\n textBoxOptions: DevExpress.ui.dxTextBoxOptions = {\r\n onValueChangedByUser: () => {\r\n this.checkIsValid();\r\n },\r\n bindingOptions: {\r\n value: \"filter.wert\"\r\n }\r\n };\r\n\r\n @computedFrom(\"filter.operator\")\r\n get wertVisible() {\r\n return this.filter.operator != \"isnull\"\r\n && this.filter.operator != \"isnotnull\";\r\n }\r\n\r\n activate(filter) {\r\n this.filter = filter;\r\n this.operatorSelectBoxOptions.dataSource = this.erweiterteSucheService.getOperatorDataSource(ObjektExportEigenschaftDatenTyp.Text);\r\n\r\n this.checkIsValid();\r\n }\r\n attached() {\r\n if (this.filter.focus) {\r\n this.taskQueue.queueTask(() => {\r\n if (this.textBox && this.textBox.instance) {\r\n this.textBox.instance.focus();\r\n }\r\n });\r\n }\r\n }\r\n \r\n checkIsValid() {\r\n this.filter.isValid = this.filter.operator == \"isnull\"\r\n || this.filter.operator == \"isnotnull\"\r\n || !!this.filter.wert;\r\n\r\n if (this.filter.isValid) {\r\n this.filter.bezeichnung = this.erweiterteSucheService.getFilterBezeichnung(this.filter.filter, this.filter.operator, this.filter.wert);\r\n } else {\r\n this.filter.bezeichnung = null;\r\n }\r\n }\r\n}\r\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';\r\nimport { autoinject, bindable } from \"aurelia-framework\";\r\nimport { LocalizationService } from \"../../../framework/base/export\";\r\nimport { IdxContextMenuComponent } from \"../../interfaces/export\";\r\nimport { EventKopierenZeitraum } from \"../event-kopieren-zeitraum/event-kopieren-zeitraum\";\r\nimport { ScopeContainer } from './../../../framework/base/classes/scope-container';\r\nimport { LocationService } from \"./../../../framework/base/services/location-service\";\r\nimport { RestService } from \"./../../../framework/base/services/rest-service\";\r\nimport { FormUtilsService } from './../../../framework/forms/services/form-utils-service';\r\n\r\n@autoinject\r\nexport class EventKopierenOptionen {\r\n private NOTIFY_TIMEOUT: number = 3000;\r\n\r\n constructor(\r\n private _restService: RestService,\r\n private _localizationService: LocalizationService,\r\n private _locationService: LocationService\r\n ) { }\r\n\r\n @bindable idEvent: number;\r\n eventKopierenZeitraumPopup: EventKopierenZeitraum;\r\n\r\n kopierenContextMenu: IdxContextMenuComponent;\r\n kopierenContextMenuOptions: DevExpress.ui.dxContextMenuOptions = {\r\n showEvent: null,\r\n position: {\r\n my: \"top\",\r\n at: \"bottom\"\r\n },\r\n items: [\r\n {\r\n text: this._localizationService.translateOnce(\"event-kopieren-optionen.event-zeitraeume\")\r\n },\r\n {\r\n text: this._localizationService.translateOnce(\"event-kopieren-optionen.event-zeitraeume-datum\")\r\n }\r\n ],\r\n onItemClick: (e) => {\r\n if (e.itemIndex === 0) {\r\n this.kopieren();\r\n } else {\r\n this.eventKopierenZeitraumPopup.show({\r\n IdEvent: this.idEvent,\r\n callback: (anzahlTage) => {\r\n this.kopieren(anzahlTage);\r\n }\r\n });\r\n }\r\n }\r\n };\r\n\r\n showPopover(target: EventTarget) {\r\n this.kopierenContextMenu.setOption({ \"target\": target });\r\n this.kopierenContextMenu.instance.show();\r\n }\r\n\r\n async kopieren(tage?: number) {\r\n const r = await this._restService.post({\r\n url: this._restService.getApiUrl(\"ZIT/Event/Kopieren\"),\r\n data: {\r\n IdEvent: this.idEvent,\r\n TageVerschieben: tage\r\n },\r\n increaseLoadingCount: true\r\n });\r\n\r\n if (!r) {\r\n return;\r\n }\r\n\r\n DevExpress.ui.notify(this._localizationService.translateOnce(\"base.save_success\"), \"success\", this.NOTIFY_TIMEOUT);\r\n\r\n this._locationService.goTo({\r\n url: `Objekte/Event/${r.IdEvent}`,\r\n replace: true\r\n });\r\n }\r\n}\r\n","module.exports = \" \";","import * as moment from \"moment\";\r\nimport { autoinject } from \"../../../framework/forms/form-export\";\r\nimport { ScopeContainer } from \"./../../../framework/base/classes/scope-container\";\r\nimport { GlobalizationService } from \"./../../../framework/base/services/globalization-service\";\r\nimport { RestService } from \"./../../../framework/base/services/rest-service\";\r\nimport { ICommandData } from \"./../../../framework/forms/interfaces/command-data\";\r\nimport { SimpleWidgetCreatorService } from \"./../../../framework/forms/widget-services/simple-widget-creator-service\";\r\nimport { IdxDateBoxComponent, IdxPopupComponent } from \"./../../interfaces/dx-components\";\r\n\r\n@autoinject\r\nexport class EventKopierenZeitraum {\r\n private _options: IEventKopierenZeitraum;\r\n\r\n constructor(\r\n private _simpleWidgetCreatorService: SimpleWidgetCreatorService,\r\n private _restService: RestService,\r\n private _globalizationService: GlobalizationService\r\n ) { }\r\n\r\n scopeContainer: ScopeContainer;\r\n verschiebeDate: Date;\r\n lastZeitraumDate: Date;\r\n\r\n popup: IdxPopupComponent;\r\n popupOptions: DevExpress.ui.dxPopupOptions = {\r\n contentTemplate: \"contentTemplate\",\r\n width: \"auto\",\r\n height: \"auto\"\r\n };\r\n\r\n kopierenMitZeitraumCommand: ICommandData = {\r\n id: \"save\",\r\n icon: \"fas fa-save\",\r\n tooltip: \"base.save\",\r\n execute: (e) => {\r\n const verschiebeDatMoment = moment(this.verschiebeDate);\r\n const lastZeitraumDateMoment = moment(this.lastZeitraumDate);\r\n const difference = verschiebeDatMoment.diff(lastZeitraumDateMoment, \"days\");\r\n\r\n this.popup.instance.hide();\r\n this._options.callback(difference);\r\n }\r\n };\r\n\r\n dateBox: IdxDateBoxComponent;\r\n dateBoxOptions: DevExpress.ui.dxDateBoxOptions = {\r\n displayFormat: this._globalizationService.getFormatterParser(\"d\"),\r\n bindingOptions: {\r\n value: \"verschiebeDate\"\r\n }\r\n };\r\n\r\n bind() {\r\n this.scopeContainer = new ScopeContainer({\r\n bindingContext: this,\r\n overrideContext: null\r\n });\r\n this._simpleWidgetCreatorService.updatePopupOptions({\r\n idToolbar: \"eventKopierenPopupToolbar\",\r\n caption: \"event-kopieren-optionen.datum-waehlen\",\r\n options: this.popupOptions,\r\n commands: [this.kopierenMitZeitraumCommand],\r\n scopeContainer: this.scopeContainer\r\n });\r\n }\r\n unbind() {\r\n this.scopeContainer.disposeAll();\r\n this.scopeContainer = null;\r\n }\r\n\r\n show(options: IEventKopierenZeitraum) {\r\n this._options = options;\r\n this.getLastEventZeitraumDatum();\r\n this.popup.instance.show();\r\n }\r\n async getLastEventZeitraumDatum() {\r\n const r = await this._restService.get({\r\n url: this._restService.getWebApiUrl(\"ZIT/Objekte/EventZeitraum\"),\r\n getOptions: {\r\n expand: { Kopf: null },\r\n where: [\"IdEvent\", this._options.IdEvent],\r\n orderBy: [{ columnName: \"Kopf.StartDatum\", sortOrder: 0 }]\r\n }\r\n });\r\n\r\n if (r.length == 0) {\r\n return;\r\n }\r\n this.lastZeitraumDate = r[0].Kopf.StartDatum;\r\n this.verschiebeDate = this.lastZeitraumDate;\r\n }\r\n}\r\n\r\nexport interface IEventKopierenZeitraum {\r\n IdEvent: number;\r\n callback: { (AnzahlTage: number): void };\r\n}\r\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\";\r\n\r\n@autoinject\r\nexport class Fortschritt {\r\n @bindable anzahl: number;\r\n @bindable index: number;\r\n @bindable letzteAktiv: boolean;\r\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\";\r\nimport { ScopeContainer } from \"../../../framework/base/export\";\r\nimport { SimpleWidgetCreatorService } from \"../../../framework/forms/export\";\r\nimport { IdxPopupComponent } from \"../../interfaces/export\";\r\nimport { FotoPopupService, IFotoPopupShowOptions } from \"../../services/foto-popup-service\";\r\nimport { FileService } from \"./../../../framework/base/services/file-service\";\r\n\r\n@autoinject\r\nexport class FotoPopup {\r\n private _options: IFotoPopupShowOptions; \r\n\r\n constructor(\r\n private _fotoPopupService: FotoPopupService,\r\n private _simpleWidgetCreatorService: SimpleWidgetCreatorService,\r\n private _fileService: FileService) {\r\n this._fotoPopupService.popup = this;\r\n }\r\n\r\n scopeContainer: ScopeContainer;\r\n imgSource: any;\r\n popupTitle: string;\r\n\r\n popup: IdxPopupComponent;\r\n popupOptions: DevExpress.ui.dxPopupOptions = {\r\n width: \"auto\",\r\n height: \"auto\"\r\n };\r\n\r\n bind() {\r\n this.scopeContainer = new ScopeContainer({\r\n bindingContext: this,\r\n overrideContext: null\r\n });\r\n this._simpleWidgetCreatorService.updatePopupOptions({\r\n idToolbar: \"fotoPopupToolbar\",\r\n caption: \"foto-popup.popup-title\",\r\n options: this.popupOptions,\r\n scopeContainer: this.scopeContainer\r\n });\r\n }\r\n unbind() {\r\n this.scopeContainer.disposeAll();\r\n this.scopeContainer = null;\r\n }\r\n\r\n show(options: IFotoPopupShowOptions) {\r\n this._options = options;\r\n this.popupTitle = options.name ? \"Foto \" + options.name : \"\";\r\n this.imgSource = this.getImgSource(options.dmsLink);\r\n if (!this.imgSource) {\r\n return;\r\n }\r\n this.popup.instance.show();\r\n }\r\n\r\n getImgSource(dmsLink: string) {\r\n if (dmsLink == void 0) {\r\n return \"\";\r\n }\r\n\r\n return this._fileService.getInlineUrl(dmsLink);\r\n }\r\n}\r\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';\r\nimport { CustomEditPopupService } from '../../services/export';\r\nimport { LocalizationService } from '../../../framework/base/export';\r\nimport { ICommandData } from '../../../framework/forms/export';\r\nimport { IdxContextMenuComponent } from '../../interfaces/export';\r\n@autoinject\r\nexport class GeschaeftspartnerErweiterteOptionen {\r\n constructor(\r\n private customEditPopup: CustomEditPopupService,\r\n private localization: LocalizationService\r\n ) { }\r\n\r\n @bindable idGeschaeftspartner: number;\r\n\r\n erweiterteContextMenu: IdxContextMenuComponent;\r\n erweiterteContextMenuOptions: DevExpress.ui.dxContextMenuOptions = {\r\n showEvent: null,\r\n position: {\r\n my: \"top\",\r\n at: \"bottom\"\r\n },\r\n items: [\r\n {\r\n text: this.localization.translateOnce(\"geschaeftspartner-erweiterte-optionen.entlohnungschema-aendern\")\r\n },\r\n {\r\n text: this.localization.translateOnce(\"geschaeftspartner-erweiterte-optionen.gruppierung-aendern\")\r\n }\r\n ],\r\n onItemClick: (e) => {\r\n if (e.itemIndex === 0) {\r\n this.showEntlohnungschemaPopup();\r\n } else {\r\n this.showGruppierungPopup();\r\n }\r\n }\r\n }\r\n\r\n showPopover(target: EventTarget) {\r\n this.erweiterteContextMenu.setOption({ \"target\": target });\r\n \r\n this.erweiterteContextMenu.instance.show();\r\n }\r\n\r\n showGruppierungPopup() {\r\n this.customEditPopup.geschaeftspartnerGruppierung.show({\r\n mappings: {\r\n \"$v_idGeschaeftspartner\": this.idGeschaeftspartner\r\n }\r\n });\r\n }\r\n showEntlohnungschemaPopup() {\r\n this.customEditPopup.geschaeftspartnerEntlohnungsschema.show({\r\n mappings: {\r\n \"$v_idGeschaeftspartner\": this.idGeschaeftspartner\r\n }\r\n });\r\n }\r\n}\r\n","module.exports = \" \";","import { autoinject } from \"aurelia-framework\";\r\nimport { HtmlEditorExtensionService } from '../../../zit-ui/services/html-editor-extension-service';\r\nimport { ICommandData } from '../../../framework/forms/interfaces/command-data';\r\nimport { ScopeContainer } from '../../../framework/base/export';\r\nimport { SimpleWidgetCreatorService } from '../../../framework/forms/export';\r\nimport { IdxPopupComponent } from '../../interfaces/export';\r\n\r\n@autoinject\r\nexport class HtmlEditorExtension {\r\n private _callback: { (src: string, width: string, height: string) }\r\n\r\n constructor(\r\n private _htmlEditorExtensionService: HtmlEditorExtensionService,\r\n private _simpleWidgetCreator: SimpleWidgetCreatorService\r\n ) {\r\n this._htmlEditorExtensionService.element = this;\r\n this.createDefaultModel();\r\n }\r\n\r\n typ: string = \"\";\r\n\r\n scopeContainer: ScopeContainer;\r\n model: IModel;\r\n\r\n popup: IdxPopupComponent;\r\n popupOptions: DevExpress.ui.dxPopupOptions = {\r\n contentTemplate: \"contentTemplate\",\r\n width: \"500px\",\r\n height: \"auto\"\r\n }\r\n popupCommands: ICommandData[] = [{\r\n id: \"uebernehmenCommand\",\r\n idCategory: \"$start\",\r\n icon: \"fas fa-check\",\r\n tooltip: \"html-editor-extension.uebernehmen\",\r\n sortIndex: 1600,\r\n execute: () => {\r\n if (!this.model.src) {\r\n DevExpress.ui.notify(\"Url ist Pflicht\", \"error\", 3000);\r\n return;\r\n }\r\n\r\n this.popup.instance.hide();\r\n this._callback(this.model.src, this.model.width, this.model.height);\r\n }\r\n }];\r\n\r\n srcOptions: DevExpress.ui.dxTextBoxOptions = {\r\n bindingOptions: {\r\n value: \"model.src\"\r\n }\r\n }\r\n widthOptions: DevExpress.ui.dxTextBoxOptions = {\r\n bindingOptions: {\r\n value: \"model.width\"\r\n }\r\n }\r\n heightOptions: DevExpress.ui.dxTextBoxOptions = {\r\n bindingOptions: {\r\n value: \"model.height\"\r\n }\r\n }\r\n\r\n bind() {\r\n this.scopeContainer = new ScopeContainer({\r\n bindingContext: this,\r\n overrideContext: null\r\n });\r\n\r\n this._simpleWidgetCreator.updatePopupOptions({\r\n idToolbar: \"htmlEditorExtensionPopupToolbar\",\r\n caption: \"html-editor-extension.einfuegen\",\r\n options: this.popupOptions,\r\n commands: this.popupCommands,\r\n scopeContainer: this.scopeContainer\r\n });\r\n }\r\n unbind() {\r\n this.scopeContainer.disposeAll();\r\n }\r\n\r\n addImage(callback: { (src: string, width: string, height: string) }) {\r\n this.typ = \"Bild\";\r\n this.show(callback);\r\n }\r\n addVideo(callback: { (src: string, width: string, height: string) }) {\r\n this.typ = \"Video\";\r\n this.show(callback);\r\n }\r\n\r\n private show(callback: { (src: string, width: string, height: string) }) {\r\n this._callback = callback;\r\n this.createDefaultModel();\r\n\r\n this.popup.instance.show();\r\n }\r\n private createDefaultModel() {\r\n this.model = {}\r\n }\r\n}\r\ninterface IModel {\r\n src?: string;\r\n width?: string;\r\n height?: string;\r\n}","module.exports = \" \";","import { autoinject, bindable } from \"aurelia-framework\";\r\n\r\n@autoinject\r\nexport class IframeElement {\r\n constructor() {}\r\n\r\n @bindable src: string;\r\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\";\r\nimport { IdxPopupComponent } from '../../interfaces/dx-components';\r\nimport { BrowserService, ScopeContainer } from '../../../framework/base/export';\r\nimport { IframePopupService, IFramePopupShowOptions } from '../../services/iframe-popup-service';\r\nimport { SimpleWidgetCreatorService } from '../../../framework/forms/export';\r\n\r\n@autoinject\r\nexport class IframePopup {\r\n constructor(\r\n private _browserService: BrowserService,\r\n private _iframePopupService: IframePopupService,\r\n private _simpleWidgetCreatorService: SimpleWidgetCreatorService\r\n ) {\r\n this._iframePopupService.popup = this;\r\n this.isMobil = _browserService.isMobile;\r\n }\r\n\r\n isMobil: boolean;\r\n videoVisible: boolean;\r\n options: IFramePopupShowOptions;\r\n popupTitel: string;\r\n\r\n scopeContainer: ScopeContainer;\r\n\r\n popup: IdxPopupComponent;\r\n popupOptions: DevExpress.ui.dxPopupOptions = {\r\n height: \"auto\",\r\n width: \"auto\",\r\n onShowing: () => {\r\n this.videoVisible = true;\r\n },\r\n onShown: (ev) => {\r\n ev.component.repaint()\r\n },\r\n onHidden: () => {\r\n this.videoVisible = false;\r\n }\r\n }\r\n\r\n bind() {\r\n this.scopeContainer = new ScopeContainer({\r\n bindingContext: this,\r\n overrideContext: null\r\n });\r\n\r\n this._simpleWidgetCreatorService.updatePopupOptions({\r\n idToolbar: \"iframePopupToolbar\",\r\n caption: \"iframe-popup.popup-titel\",\r\n options: this.popupOptions,\r\n scopeContainer: this.scopeContainer\r\n });\r\n }\r\n unbind() {\r\n this.scopeContainer.disposeAll();\r\n this.scopeContainer = null;\r\n }\r\n\r\n show(options: IFramePopupShowOptions) {\r\n this.options = options;\r\n this.popupTitel = options.titel || \"\";\r\n\r\n this.popup.instance.show();\r\n }\r\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\";\r\nimport { ScopeContainer } from \"./../../../framework/base/classes/scope-container\";\r\nimport { IDataSourceOptionFilter } from \"./../../../framework/base/interfaces/data-source-option-filter\";\r\nimport { DataSourceService } from \"./../../../framework/base/services/data-source-service\";\r\nimport { ICommandData } from \"./../../../framework/forms/interfaces/command-data\";\r\nimport { SimpleWidgetCreatorService } from \"./../../../framework/forms/widget-services/simple-widget-creator-service\";\r\nimport { IdxPopupComponent, IdxListComponent, IdxSelectBoxComponent } from \"./../../interfaces/dx-components\";\r\n\r\n@autoinject\r\nexport class LehrlingAuswaehlen {\r\n private _options: ILehrlingAuswaehlenPopupOptions;\r\n\r\n constructor(\r\n private _dataSourceService: DataSourceService,\r\n private _simpleWidgetCreatorService: SimpleWidgetCreatorService\r\n ) { }\r\n\r\n idGeschaeftspartner: any;\r\n idStelleninserat: any;\r\n personSelected: number[] = [];\r\n\r\n scope: Scope;\r\n scopeContainer: ScopeContainer;\r\n\r\n popup: IdxPopupComponent;\r\n popupOptions: DevExpress.ui.dxPopupOptions = {\r\n contentTemplate: \"contentTemplate\",\r\n width: \"350px\",\r\n height: \"auto\"\r\n };\r\n\r\n popupCommands: ICommandData[] = [{\r\n id: \"changeBewerbungstyp\",\r\n idCategory: \"$start\",\r\n icon: \"fas fa-check\",\r\n tooltip: \"base.save\",\r\n sortIndex: 1000,\r\n execute: () => {\r\n this.popup.instance.hide();\r\n this._options.callback(this.personSelected);\r\n }\r\n }];\r\n\r\n geschaeftspartnerSelectBox: IdxSelectBoxComponent;\r\n geschaeftspartnerSelectBoxOptions: DevExpress.ui.dxSelectBoxOptions = {\r\n valueExpr: \"Id\",\r\n displayExpr: \"Name1\",\r\n searchExpr: \"Name1\",\r\n searchEnabled: true,\r\n showClearButton: true,\r\n width: \"300px\",\r\n bindingOptions: {\r\n value: \"idGeschaeftspartner\"\r\n },\r\n onValueChangedByUser: (e) => {\r\n this.loadPersonDataSource();\r\n }\r\n };\r\n\r\n stelleninseratSelectBox: IdxSelectBoxComponent;\r\n stelleninseratSelectBoxOptions: DevExpress.ui.dxSelectBoxOptions = {\r\n valueExpr: \"Id\",\r\n displayExpr: \"Titel\",\r\n searchExpr: \"Titel\",\r\n searchEnabled: true,\r\n showClearButton: true,\r\n width: \"300px\",\r\n bindingOptions: {\r\n value: \"idStelleninserat\"\r\n },\r\n onValueChangedByUser: (e) => {\r\n this.loadStelleninseratDataSource();\r\n this.loadPersonDataSource();\r\n }\r\n };\r\n\r\n personList: IdxListComponent;\r\n personListOptions: DevExpress.ui.dxListOptions = {\r\n searchExpr: \"Titel\",\r\n searchEnabled: true,\r\n keyExpr: \"Id\",\r\n displayExpr: \"Titel\",\r\n selectionMode: \"multiple\",\r\n showSelectionControls: true,\r\n height: \"300px\",\r\n width: \"300px\",\r\n onSelectionChanged: (ev) => {\r\n this.personSelected = ev.component.option(\"selectedItemKeys\") || [];\r\n }\r\n };\r\n\r\n bind() {\r\n this.scope = {\r\n bindingContext: this,\r\n overrideContext: null\r\n };\r\n this.scopeContainer = new ScopeContainer(this.scope);\r\n\r\n this._simpleWidgetCreatorService.updatePopupOptions({\r\n idToolbar: \"lehrlingAuswaehlenToolbar\",\r\n caption: \"lehrling-auswahl.lehrlinge\",\r\n scopeContainer: this.scopeContainer,\r\n options: this.popupOptions,\r\n commands: this.popupCommands\r\n });\r\n }\r\n unbind() {\r\n this.scopeContainer.disposeAll();\r\n this.scopeContainer = null;\r\n }\r\n\r\n show(options: ILehrlingAuswaehlenPopupOptions) {\r\n this._options = options;\r\n this.resetData();\r\n\r\n this.personListOptions.selectionMode = options.selectionMode == SelectionModeTyp.multipe\r\n ? \"multiple\"\r\n : \"single\";\r\n\r\n this.loadGeschaeftspartnerDataSource();\r\n this.loadPersonDataSource();\r\n this.loadStelleninseratDataSource();\r\n\r\n this.popup.instance.show();\r\n }\r\n\r\n private resetData() {\r\n if (this.personList) {\r\n this.personList.instance.unselectAll();\r\n }\r\n this.idGeschaeftspartner = null;\r\n this.idStelleninserat = null;\r\n this.personSelected = [];\r\n }\r\n\r\n private loadGeschaeftspartnerDataSource() {\r\n if (this.geschaeftspartnerSelectBoxOptions.dataSource) {\r\n const geschaeftspartnerDataSource = this.geschaeftspartnerSelectBoxOptions.dataSource;\r\n geschaeftspartnerDataSource.reload();\r\n return;\r\n }\r\n this.geschaeftspartnerSelectBoxOptions.dataSource = this._dataSourceService.createDataSource(\r\n this.scopeContainer, {\r\n webApiAction: \"ZIT/Objekte/Geschaeftspartner\",\r\n webApiColumns: [\"Id\", \"Name1\"]\r\n });\r\n }\r\n\r\n private loadStelleninseratDataSource() {\r\n if (this.stelleninseratSelectBoxOptions.dataSource) {\r\n const stelleninseratDataSource = this.stelleninseratSelectBoxOptions.dataSource;\r\n stelleninseratDataSource.reload();\r\n return;\r\n }\r\n this.stelleninseratSelectBoxOptions.dataSource = this._dataSourceService.createDataSource(\r\n this.scopeContainer, {\r\n webApiAction: \"ZIT/Objekte/Stelleninserat\",\r\n webApiColumns: [\"Id\", \"Titel\"]\r\n }, {\r\n getCustomWhere: () => {\r\n const result = [];\r\n\r\n if (this.idGeschaeftspartner) {\r\n result.push([\"Kopf.IdGeschaeftspartner\", this.idGeschaeftspartner]);\r\n }\r\n return result;\r\n }\r\n });\r\n }\r\n\r\n private loadPersonDataSource() {\r\n if (this.personListOptions.dataSource) {\r\n const personDataSource = this.personListOptions.dataSource;\r\n personDataSource.reload();\r\n return;\r\n }\r\n this.personListOptions.dataSource = this._dataSourceService.createDataSource(\r\n this.scopeContainer, {\r\n webApiAction: \"ZIT/Objekte/Person\",\r\n webApiColumns: [\"Id\", \"Titel\"]\r\n }, {\r\n getCustomFilters: () => {\r\n const result: IDataSourceOptionFilter[] = [];\r\n\r\n if (this.idStelleninserat) {\r\n result.push({\r\n webApiCustomKey: \"IdStelleninserat\",\r\n webApiCustomValue: this.idStelleninserat\r\n });\r\n } else if (this.idGeschaeftspartner) {\r\n result.push({\r\n webApiCustomKey: \"IdGeschaeftspartner\",\r\n webApiCustomValue: this.idGeschaeftspartner\r\n });\r\n }\r\n return result;\r\n }\r\n });\r\n }\r\n}\r\n\r\nexport interface ILehrlingAuswaehlenPopupOptions {\r\n selectionMode: SelectionModeTyp;\r\n callback: { (idSelectedPersonList: number[]): void };\r\n}\r\n\r\nexport enum SelectionModeTyp {\r\n multipe,\r\n single\r\n}\r\n","module.exports = \" \";","import { IZitToolbarOptions } from './../../../zit-ui/elements/zit-toolbar/zit-toolbar-options';\r\nimport { ToolbarService } from './../../../framework/forms/services/toolbar-service';\r\nimport { autoinject, Scope, OverrideContext, bindable, TaskQueue, computedFrom } from 'aurelia-framework';\r\nimport { ScopeContainer, DataSourceService } from '../../../framework/base/export';\r\nimport { LocalizationService } from '../../../framework/base/services/export';\r\nimport { ICommandData, SimpleWidgetCreatorService } from '../../../framework/forms/export';\r\nimport { IdxDataGridComponent, IdxPopupComponent, IdxValidationGroupComponent, IMultiMarkerData } from '../../interfaces/export';\r\nimport { MarkerService } from '../../services/export';\r\n\r\n@autoinject\r\nexport class MarkerMultiObjekt {\r\n private _savedCallBack: { () };\r\n constructor(\r\n private dataSource: DataSourceService,\r\n private localization: LocalizationService,\r\n private marker: MarkerService,\r\n private simpleWidgetCreator: SimpleWidgetCreatorService,\r\n private toolbar: ToolbarService\r\n ) { }\r\n\r\n @bindable keyList: number[];\r\n\r\n @computedFrom(\"newMarker.Bezeichnung\", \"newMarker.Farbe\")\r\n get canAddNewMarker() {\r\n return this.newMarker && this.newMarker.Bezeichnung && this.newMarker.Farbe ?\r\n true : false;\r\n }\r\n newMarker: IMultiMarkerData = {\r\n IdObjektMarker: -1,\r\n Assign: true,\r\n Delete: false,\r\n Bezeichnung: null,\r\n Farbe: null\r\n };\r\n\r\n objektFullName: string;\r\n\r\n scope: Scope;\r\n scopeContainer: ScopeContainer;\r\n\r\n popupCommands: ICommandData[] = [\r\n {\r\n id: \"saveMarkerMultiObjekt\",\r\n idCategory: \"$start\",\r\n icon: \"fas fa-save\",\r\n tooltip: \"base.save\",\r\n sortIndex: 0,\r\n execute: () => {\r\n this.onSaveMarkersClicked();\r\n }\r\n }];\r\n markerMultiObjektPopup: IdxPopupComponent;\r\n markerMultiObjektPopupOptions: DevExpress.ui.dxPopupOptions = {\r\n height: \"auto\",\r\n maxWidth: \"420px\"\r\n }\r\n\r\n requiredValidatorOptions: DevExpress.ui.dxValidatorOptions = {\r\n validationRules: [{ type: \"required\" }]\r\n };\r\n validationGroup: IdxValidationGroupComponent;\r\n validationGroupOptions: DevExpress.ui.dxValidationGroupOptions = {};\r\n\r\n multiMarkerGridDataSource: IMultiMarkerData[];\r\n multiMarkerGrid: IdxDataGridComponent;\r\n multiMarkerGridOptions: DevExpress.ui.dxDataGridOptions = {\r\n columns: [{\r\n headerCellTemplate: ``,\r\n cssClass: \"zit-cell-colored\",\r\n width: 35,\r\n allowSorting: false,\r\n dataType: \"boolean\",\r\n dataField: \"Assign\"\r\n }, {\r\n headerCellTemplate: ``,\r\n cssClass: \"zit-cell-colored\",\r\n width: 35,\r\n allowSorting: false,\r\n dataType: \"boolean\",\r\n dataField: \"Delete\",\r\n }, {\r\n caption: this.localization.translateOnce(\"marker-multi-objekt.bezeichnung\"),\r\n dataType: \"string\",\r\n dataField: \"Bezeichnung\"\r\n }],\r\n showColumnLines: false,\r\n editing: {\r\n allowUpdating: true,\r\n mode: \"cell\"\r\n },\r\n height: \"400px\",\r\n onRowPrepared: (e) => {\r\n if (e.rowType != \"data\") {\r\n return;\r\n }\r\n\r\n const cell: any = Array.from(e.rowElement.querySelectorAll(\".zit-cell-colored\"));\r\n\r\n if(!cell || !cell.length){\r\n return;\r\n }\r\n\r\n cell.forEach((c: HTMLTableCellElement) => c.style.backgroundColor = e.data.Farbe);\r\n },\r\n onRowUpdating: (e) => {\r\n if (e.newData.Assign) {\r\n e.key.Delete = false;\r\n } else if (e.newData.Delete)\r\n e.key.Assign = false;\r\n },\r\n bindingOptions: {\r\n dataSource: \"multiMarkerGridDataSource\"\r\n }\r\n }\r\n\r\n newMarkerCommands: ICommandData[] = [{\r\n id: \"addNewMarker\",\r\n icon: \"fas fa-save\",\r\n tooltip: \"base.save\",\r\n isEnabledExpression: \"canAddNewMarker\",\r\n execute: () => {\r\n this.onAddMarkerClicked();\r\n }\r\n }];\r\n newMarkerToolbarOptions: IZitToolbarOptions;\r\n newMarkerBezeichnungOptions: DevExpress.ui.dxTextBoxOptions = {\r\n bindingOptions: {\r\n value: \"newMarker.Bezeichnung\"\r\n }\r\n }\r\n newMarkerFarbeOptions: DevExpress.ui.dxColorBoxOptions = {\r\n editAlphaChannel: true,\r\n bindingOptions: {\r\n value: \"newMarker.Farbe\"\r\n }\r\n }\r\n\r\n showPopup(objektFullName: string, savedCallBack?: { () }) {\r\n this.objektFullName = objektFullName;\r\n this._savedCallBack = savedCallBack;\r\n\r\n this.loadData();\r\n\r\n this.markerMultiObjektPopup.instance.show();\r\n }\r\n\r\n bind(bindingContext: any, overrideContext: OverrideContext) {\r\n this.scope = {\r\n bindingContext: bindingContext,\r\n overrideContext: overrideContext\r\n };\r\n\r\n this.scopeContainer = new ScopeContainer({\r\n bindingContext: this,\r\n overrideContext: null\r\n });\r\n\r\n this.simpleWidgetCreator.updatePopupOptions({\r\n idToolbar: \"benutzerLoeschenPopupToolbar\",\r\n caption: \"benutzereinstellungen.popup-titel\",\r\n options: this.markerMultiObjektPopupOptions,\r\n commands: this.popupCommands,\r\n scopeContainer: this.scopeContainer\r\n });\r\n\r\n this.newMarkerToolbarOptions = this.toolbar.createToolbarOptions(\r\n this.scopeContainer,\r\n \"marker-multi-objekt.neuen-marker-erstellen\",\r\n this.newMarkerCommands,\r\n true\r\n );\r\n }\r\n unbind() {\r\n this.scopeContainer.disposeAll();\r\n this.scope = null;\r\n }\r\n\r\n private async onAddMarkerClicked() {\r\n const validationResult = this.validationGroup.instance.validate();\r\n if (!validationResult.isValid) {\r\n return;\r\n }\r\n\r\n this.multiMarkerGridDataSource.push(this.newMarker);\r\n\r\n await this.saveData();\r\n this.multiMarkerGrid.instance.refresh();\r\n }\r\n\r\n private onSaveMarkersClicked() {\r\n this.saveData().then(r => {\r\n if (this._savedCallBack) {\r\n this._savedCallBack();\r\n }\r\n this.markerMultiObjektPopup.instance.hide();\r\n });\r\n }\r\n\r\n private async loadData() {\r\n this.multiMarkerGridDataSource = await this.marker.getMarkersByObjektFullName(this.objektFullName);\r\n }\r\n private saveData(): Promise {\r\n return this.marker.saveObjektMultiMarker({\r\n FullName: this.objektFullName,\r\n IdObjektList: this.keyList,\r\n ObjektMarkerHelperList: this.multiMarkerGridDataSource\r\n });\r\n }\r\n}\r\n","module.exports = \" \";","import { autoinject, bindable } from \"aurelia-framework\";\r\nimport { IListViewOptions, ListView } from \"../../../framework/forms/elements/list-view/export\";\r\nimport { RestService } from \"../../../framework/base/services/rest-service\";\r\nimport { GlobalizationService } from \"../../../framework/base/export\";\r\nimport { EventAggregator, Subscription } from \"../../../../node_modules/aurelia-event-aggregator\";\r\nimport { StartupService } from \"../../services/export\";\r\nimport { BenutzerTyp } from \"../../enumerations/export\";\r\nimport { IdxButtonComponent } from \"../../interfaces/export\";\r\nimport { INachrichtBenutzerInfo } from \"../../services/nachricht-service\";\r\n\r\n@autoinject\r\nexport class NachrichtBenutzer {\r\n private _nachrichtErstelltSubscription: Subscription;\r\n private _setFirstBenutzer: boolean = false;\r\n private _lastSelectedItem: any;\r\n\r\n constructor(\r\n public startupService: StartupService,\r\n private _element: Element,\r\n private _restService: RestService,\r\n private _globalizationService: GlobalizationService,\r\n private _eventAggregator: EventAggregator\r\n ) {\r\n if (this.startupService.startupInfo.Skin.Farbe20Opacity) {\r\n this.backgroundColorAktiv = this.startupService.startupInfo.Skin.Farbe20Opacity;\r\n }\r\n this.isNatuerlicheBenutzer = this.startupService.startupInfo.Benutzer.Benutzertyp == BenutzerTyp.NatuerlichePerson;\r\n this.idBenutzerStartup = this.startupService.startupInfo.Benutzer.IdBenutzer;\r\n }\r\n\r\n @bindable benutzer: string;\r\n @bindable isStellvertreter = false;\r\n @bindable nurUngeleseneNachrichten = false;\r\n @bindable clickAfterSelect: boolean;\r\n\r\n @bindable benutzerInfo: INachrichtBenutzerInfo;\r\n\r\n idBenutzerStartup: number = 0;\r\n isNatuerlicheBenutzer = false;\r\n backgroundColorAktiv = \"#dedede;\";\r\n\r\n benutzerListView: ListView;\r\n benutzerListViewOptions: IListViewOptions = {\r\n useDefaultListItemStyle: false,\r\n itemClass: \"z--nachr-benutzer-item\",\r\n onItemClick: (e) => {\r\n this.onBenutzerClick(e);\r\n }\r\n };\r\n \r\n benutzerTextBoxOptions: DevExpress.ui.dxTextBoxOptions = {\r\n placeholder: \"Person\",\r\n mode: \"search\",\r\n elementAttr: {\r\n class: \"z--suche\"\r\n },\r\n bindingOptions: {\r\n value: \"benutzer\"\r\n }\r\n };\r\n\r\n bind() { \r\n this._nachrichtErstelltSubscription = this._eventAggregator.subscribe(\"nachricht:erstellt\", (e) => {\r\n if (!this.benutzerListView) {\r\n return;\r\n }\r\n\r\n this.reload();\r\n });\r\n\r\n this.benutzerListViewOptions.dataSource = new DevExpress.data.DataSource(\r\n new DevExpress.data.CustomStore({\r\n load: (e) => {\r\n return new Promise(async(resolve, reject) => {\r\n const restResult = await this._restService.post({\r\n url: this._restService.getApiUrl(\"ZIT/Nachricht/Benutzer\"),\r\n data: {\r\n Take: e.take,\r\n Skip: e.skip,\r\n IsStellvertreter: this.isStellvertreter,\r\n NurUngeleseneNachrichten: this.nurUngeleseneNachrichten,\r\n Benutzer: this.benutzer\r\n },\r\n increaseLoadingCount: true\r\n });\r\n \r\n resolve({\r\n data: restResult.BenutzerList,\r\n totalCount: restResult.Anzahl\r\n });\r\n\r\n if (this._setFirstBenutzer && this.clickAfterSelect) { \r\n this.onBenutzerClick({\r\n item: restResult.BenutzerList.length > 0\r\n ? restResult.BenutzerList[0]\r\n : {}\r\n });\r\n }\r\n\r\n this._setFirstBenutzer = false;\r\n });\r\n }\r\n }));\r\n }\r\n unbind() {\r\n if (this._nachrichtErstelltSubscription) {\r\n this._nachrichtErstelltSubscription.dispose();\r\n this._nachrichtErstelltSubscription = null;\r\n }\r\n }\r\n \r\n reload(setFirstBenutzer = false) {\r\n this._setFirstBenutzer = setFirstBenutzer;\r\n\r\n this.benutzerListView.refresh(false);\r\n }\r\n\r\n onStellvertreterClick() {\r\n this.isStellvertreter = !this.isStellvertreter;\r\n\r\n this.reload();\r\n }\r\n onUngeleseneNachrichtenClick() {\r\n this.nurUngeleseneNachrichten = !this.nurUngeleseneNachrichten;\r\n }\r\n onBenutzerClick(e) {\r\n if (this._lastSelectedItem) {\r\n this._lastSelectedItem._isAktiv = false;\r\n }\r\n\r\n e.item._isAktiv = true;\r\n this._lastSelectedItem = e.item;\r\n\r\n if (!e.item || !e.item.IdBenutzer) {\r\n return;\r\n }\r\n\r\n const event = new CustomEvent(\"on-benutzer-click\", {\r\n detail: {\r\n sender: this,\r\n benutzerInfo: {\r\n anzeigeTyp: e.item.AnzeigeTyp,\r\n idBenutzer: e.item.IdBenutzer,\r\n name: e.item.Name,\r\n isGruppeAdmin: e.item.IsGruppeAdmin\r\n }\r\n },\r\n bubbles: true\r\n });\r\n\r\n this._element.dispatchEvent(event);\r\n }\r\n}\r\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-status-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\", \"\"]);\n// Exports\nmodule.exports = exports;\n","import { autoinject, observable, bindable, computedFrom } from \"aurelia-framework\";\r\nimport { NachrichtBenutzer } from '../nachricht-benutzer/nachricht-benutzer';\r\nimport { BrowserService } from '../../../framework/base/export';\r\n\r\nimport * as moment from \"moment\";\r\nimport { INachrichtBenutzerInfo } from '../../services/nachricht-service';\r\nimport { NachrichtProtokoll } from '../nachricht-protokoll/nachricht-protokoll';\r\nimport { NachrichtMassennachricht } from '../nachricht-massennachricht/nachricht-massennachricht';\r\n\r\n@autoinject\r\nexport class NachrichtContainer {\r\n constructor(\r\n private _element: Element,\r\n private _browserService: BrowserService\r\n ) {\r\n this.isSmallDevice = this._browserService.isXS\r\n || this._browserService.isSM;\r\n }\r\n\r\n benutzerInfo: INachrichtBenutzerInfo;\r\n keyNachricht: string;\r\n\r\n @bindable benutzerInfoFix: INachrichtBenutzerInfo;\r\n @observable isStellvertreter: boolean = false;\r\n @observable nurUngeleseneNachrichten: boolean = false;\r\n @observable benutzer: string;\r\n\r\n nachrichtBenutzer: NachrichtBenutzer;\r\n nachrichtProtokoll: NachrichtProtokoll;\r\n nachrichtMassennachricht: NachrichtMassennachricht;\r\n\r\n visibilityContext: VisiblityContext = VisiblityContext.Benutzer;\r\n \r\n isSmallDevice: boolean = false;\r\n\r\n @computedFrom(\"isSmallDevice\", \"isNachrichtenVisible\", \"benutzerInfoFix\")\r\n get isBreadcrumpVisible() {\r\n return this.isSmallDevice\r\n && this.isNachrichtenVisible\r\n && !this.benutzerInfoFix;\r\n }\r\n @computedFrom(\"benutzerInfoFix\", \"isSmallDevice\", \"visibilityContext\")\r\n get isBenutzerVisible() {\r\n if (this.benutzerInfoFix) {\r\n return false;\r\n }\r\n\r\n if (!this.isSmallDevice) {\r\n return true;\r\n }\r\n\r\n return this.visibilityContext == VisiblityContext.Benutzer;\r\n }\r\n @computedFrom(\"isSmallDevice\", \"visibilityContext\")\r\n get isNachrichtenVisible() {\r\n if (!this.isSmallDevice) {\r\n return true;\r\n }\r\n\r\n return this.visibilityContext == VisiblityContext.Nachrichten;\r\n }\r\n @computedFrom(\"benutzerInfoFix\", \"benutzerInfo\")\r\n get benutzerInfoValidated() {\r\n return this.benutzerInfoFix || this.benutzerInfo;\r\n }\r\n\r\n bind() {\r\n if (this.benutzerInfoFix) {\r\n this.changeVisibilityContext(VisiblityContext.Nachrichten);\r\n\r\n const event = new CustomEvent(\"on-benutzer-click\", {\r\n detail: {\r\n sender: this,\r\n benutzerInfo: this.benutzerInfoValidated\r\n },\r\n bubbles: true\r\n });\r\n \r\n this._element.dispatchEvent(event);\r\n } else {\r\n this.changeVisibilityContext(VisiblityContext.Benutzer);\r\n }\r\n }\r\n\r\n benutzerChanged() {\r\n this.reloadBenutzer();\r\n }\r\n isStellvertreterChanged() {\r\n this.reloadBenutzer();\r\n }\r\n nurUngeleseneNachrichtenChanged() {\r\n this.reloadBenutzer();\r\n }\r\n\r\n changeVisibilityContext(context: VisiblityContext) {\r\n if (!this.isSmallDevice) {\r\n return;\r\n }\r\n\r\n this.visibilityContext = context;\r\n\r\n if (context == VisiblityContext.Benutzer) {\r\n this.dispatchBenutzerCleared();\r\n }\r\n }\r\n reloadBenutzer() {\r\n if (!this.nachrichtBenutzer) {\r\n return;\r\n }\r\n\r\n this.keyNachricht = null;\r\n this.benutzerInfo = null;\r\n this.dispatchBenutzerCleared();\r\n this.nachrichtBenutzer.reload();\r\n }\r\n\r\n onBenutzerClick(e) {\r\n this.benutzerInfo = e.detail.benutzerInfo;\r\n this.keyNachricht = null;\r\n\r\n this.changeVisibilityContext(VisiblityContext.Nachrichten);\r\n }\r\n onNachrichtClick(e) {\r\n this.keyNachricht = e.detail.keyNachricht;\r\n }\r\n onNachrichtProtokollClick(e: CustomEvent) {\r\n this.nachrichtProtokoll.showPopup(e.detail.nachricht);\r\n }\r\n onNachrichtMassennachrichtClick(e: CustomEvent) {\r\n this.nachrichtMassennachricht.showPopup(e.detail.nachricht);\r\n }\r\n\r\n private dispatchBenutzerCleared() {\r\n this._element.dispatchEvent(new CustomEvent(\r\n \"on-benutzer-cleared\", {\r\n bubbles: true,\r\n detail: {}\r\n }\r\n ));\r\n }\r\n}\r\n\r\nenum VisiblityContext {\r\n Benutzer = 0,\r\n Nachrichten = 1\r\n}\r\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';\r\nimport { ScopeContainer } from './../../../framework/base/classes/scope-container';\r\nimport { RestService } from './../../../framework/base/services/rest-service';\r\nimport { LocalizationService } from './../../../framework/base/services/localization-service';\r\nimport { autoinject } from \"aurelia-framework\";\r\nimport { IdxPopupComponent } from '../../interfaces/export';\r\n\r\n@autoinject\r\nexport class NachrichtMassennachricht {\r\n constructor(\r\n private localizationService: LocalizationService,\r\n private restService: RestService,\r\n private simpleWidgetCreator: SimpleWidgetCreatorService\r\n ) { }\r\n\r\n scopeContainer: ScopeContainer;\r\n massennachrichtDataSource: DevExpress.data.DataSource;\r\n\r\n nachricht: any;\r\n\r\n nachrichtMassennachrichtPopup: IdxPopupComponent;\r\n nachrichtMassennachrichtPopupOptions: DevExpress.ui.dxPopupOptions = {\r\n height: \"auto\",\r\n maxWidth: \"750px\",\r\n title: this.localizationService.translateOnce(\"nachricht-massennachricht.massennachricht-empfaenger\"),\r\n onShown: () => {\r\n this.massennachrichtDataSource = new DevExpress.data.DataSource(\r\n new DevExpress.data.CustomStore({\r\n load: (e) => {\r\n return new Promise((resolve, reject) => {\r\n this.restService.get({\r\n url: this.restService.getApiUrl(\"ZIT/Nachricht/NachrichtEmpfaenger\") + `?keyNachricht=${this.nachricht.KeyNachricht}`,\r\n increaseLoadingCount: true\r\n }).then(r => {\r\n resolve({\r\n data: r\r\n });\r\n })\r\n });\r\n }\r\n }));\r\n }\r\n };\r\n\r\n massennachrichtGridOptions: DevExpress.ui.dxDataGridOptions = {\r\n columnAutoWidth: true,\r\n hoverStateEnabled: true,\r\n searchPanel: {\r\n visible: true\r\n },\r\n paging: { pageSize: 10 },\r\n columns: [\r\n { dataField: \"Name\", caption: this.localizationService.translateOnce(\"nachricht-massennachricht.name\") },\r\n { dataField: \"IsGelesen\", caption: this.localizationService.translateOnce(\"nachricht-massennachricht.is-gelesen\"), width: \"90px\" }\r\n ],\r\n bindingOptions: {\r\n dataSource: \"massennachrichtDataSource\"\r\n }\r\n }\r\n\r\n bind() {\r\n this.scopeContainer = new ScopeContainer({\r\n bindingContext: this,\r\n overrideContext: null\r\n });\r\n\r\n this.simpleWidgetCreator.updatePopupOptions({\r\n idToolbar: \"nachrichtMassennachrichtPopupToolbar\",\r\n caption: \"nachricht-massennachricht.massennachricht-empfaenger\",\r\n options: this.nachrichtMassennachrichtPopupOptions,\r\n scopeContainer: this.scopeContainer\r\n });\r\n }\r\n unbind() {\r\n this.scopeContainer.disposeAll();\r\n this.scopeContainer = null;\r\n }\r\n\r\n showPopup(nachricht: any) {\r\n this.nachricht = nachricht;\r\n this.nachrichtMassennachrichtPopup.instance.show();\r\n }\r\n}\r\n","module.exports = \" \";","import { EventAggregator, Subscription } from \"../../../../node_modules/aurelia-event-aggregator\";\r\nimport { bindable, computedFrom } from \"../../../../node_modules/aurelia-framework\";\r\nimport { ContextMenu } from \"../../../framework/forms/classes/context-menu\";\r\nimport { autoinject } from \"../../../framework/forms/form-export\";\r\nimport { BenutzerTyp } from \"../../enumerations/benutzer-typ\";\r\nimport { StartupService } from \"../../services/export\";\r\nimport { NachrichtService, NachrichtTyp } from \"../../services/nachricht-service\";\r\nimport { IDatei } from \"../datei/datei\";\r\n\r\n@autoinject\r\nexport class NachrichtItem {\r\n private _nachrichtGelesenSubscription: Subscription;\r\n private _nachrichtUngelesenSubscription: Subscription;\r\n private NACHRICHT_TYP_TELEFONAT: number = 1;\r\n private NACHRICHT_TYP_NOTIZ: number = 3;\r\n private NACHRICHT_STATUS_VERSENDET: number = 1;\r\n private NACHRICHT_STATUS_GELESEN: number = 2;\r\n\r\n constructor(\r\n private _element: Element,\r\n private _eventAggregator: EventAggregator,\r\n private _startupService: StartupService,\r\n private _nachrichtService: NachrichtService) {\r\n this.idBenutzer = this._startupService.startupInfo.Benutzer.IdBenutzer;\r\n }\r\n\r\n @bindable item: any;\r\n idBenutzer: number;\r\n\r\n dateiList: IDatei[];\r\n overruleClass: string;\r\n\r\n @computedFrom(\"item\")\r\n get showMassennachricht() {\r\n return this.item.IsMassennachricht\r\n && this._startupService.startupInfo.Benutzer.CanNachrichtMassennachricht;\r\n }\r\n\r\n bind() {\r\n this._nachrichtGelesenSubscription = this._eventAggregator.subscribe(\"nachricht:gelesen\", (e) => {\r\n if (e.keyNachricht != this.item.KeyNachricht) {\r\n return;\r\n }\r\n\r\n this.item.Status = this.NACHRICHT_STATUS_GELESEN;\r\n });\r\n this._nachrichtUngelesenSubscription = this._eventAggregator.subscribe(\"nachricht:ungelesen\", (e) => {\r\n if (e.keyNachricht != this.item.KeyNachricht) {\r\n return;\r\n }\r\n\r\n this.item.Status = this.NACHRICHT_STATUS_VERSENDET;\r\n });\r\n\r\n this.dateiList = (this.item.DateiList || []).map((d) => {\r\n return {\r\n DMSLink: d.DMSLink,\r\n DMSLinkDownload: d.DMSLinkDownload,\r\n Dateiname: d.Dateiname\r\n };\r\n });\r\n\r\n switch (this.item.Typ) {\r\n case NachrichtTyp.Telefonat: {\r\n this.overruleClass = \"z--nachr-nachrichten-telefonat\";\r\n break;\r\n }\r\n case NachrichtTyp.Notiz: {\r\n this.overruleClass = \"z--nachr-nachrichten-notiz\";\r\n break;\r\n }\r\n default: {\r\n break;\r\n }\r\n }\r\n\r\n this.doUrlValidation();\r\n }\r\n unbind() {\r\n if (this._nachrichtGelesenSubscription) {\r\n this._nachrichtGelesenSubscription.dispose();\r\n this._nachrichtGelesenSubscription = null;\r\n }\r\n if (this._nachrichtUngelesenSubscription) {\r\n this._nachrichtUngelesenSubscription.dispose();\r\n this._nachrichtUngelesenSubscription = null;\r\n }\r\n }\r\n\r\n onNachrichtContextMenuClick(e: Event) {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n\r\n const ctxMenu = new ContextMenu();\r\n\r\n const isEmpfaenger = this._startupService.startupInfo.Benutzer.IdBenutzer == this.item.IdEmpfaenger;\r\n const isAbsender = this._startupService.startupInfo.Benutzer.IdBenutzer == this.item.IdAbsender;\r\n\r\n const benutzertyp = this._startupService.startupInfo.Benutzer.Benutzertyp;\r\n const isBenutzerNatuerlichePerson = benutzertyp == BenutzerTyp.NatuerlichePerson;\r\n const isBenutzerAdmin = benutzertyp == BenutzerTyp.Administrator;\r\n\r\n const isNotiz = this.item.Typ == NachrichtTyp.Notiz\r\n || this.item.Typ == NachrichtTyp.Telefonat;\r\n\r\n if (!isNotiz) {\r\n ctxMenu.items.push({\r\n text: \"Antworten\",\r\n execute: () => {\r\n this._nachrichtService.doAntwortNachrichtErstellen(this.item.KeyNachricht, this.item.IdAbsender, this.item.Absender);\r\n }\r\n });\r\n }\r\n\r\n if (!isBenutzerNatuerlichePerson && !isNotiz) {\r\n ctxMenu.items.push({\r\n text: \"Weiterleiten\",\r\n execute: () => {\r\n this._nachrichtService.doWeiterleitenNachrichtErstellen(this.item.KeyNachricht, this.item.TextOrg, this.dateiList);\r\n }\r\n });\r\n }\r\n if (!isBenutzerNatuerlichePerson && !this.item.IdNachrichtGruppe && !isNotiz) {\r\n ctxMenu.items.push({\r\n text: \"Umleiten\",\r\n execute: async() => {\r\n this._nachrichtService.doUmleitenNachrichtErstellen(this.item.KeyNachricht, this.item.TextOrg, this.dateiList);\r\n\r\n this._eventAggregator.publish(\"nachricht:gelesen\", {\r\n keyNachricht: this.item.KeyNachricht\r\n });\r\n }\r\n });\r\n }\r\n if (isEmpfaenger && !isNotiz) {\r\n ctxMenu.items.push({\r\n text: \"ungelesen markieren\",\r\n execute: async() => {\r\n await this._nachrichtService.doNachrichtUngelesenMarkieren(this.item.KeyNachricht);\r\n\r\n this._eventAggregator.publish(\"nachricht:ungelesen\", {\r\n keyNachricht: this.item.KeyNachricht\r\n });\r\n }\r\n });\r\n }\r\n if (isAbsender || isBenutzerAdmin) {\r\n ctxMenu.items.push({\r\n text: \"löschen\",\r\n execute: async() => {\r\n const r = await this._nachrichtService.showDeleteDialog(this.item.KeyNachricht);\r\n if (!r) {\r\n return;\r\n }\r\n\r\n this._eventAggregator.publish(\"nachricht:geloescht\", {\r\n keyNachricht: this.item.KeyNachricht\r\n });\r\n }\r\n });\r\n }\r\n ctxMenu.items.push({\r\n text: \"Nachrichteninfo\",\r\n execute: () => {\r\n this._element.dispatchEvent(new CustomEvent(\r\n \"on-nachricht-protokoll-click\", {\r\n bubbles: true,\r\n detail: {\r\n nachricht: this.item\r\n }\r\n }\r\n ));\r\n }\r\n });\r\n\r\n ctxMenu.show(e.target);\r\n }\r\n onNachrichtMassenClick(e: Event) {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n\r\n this._element.dispatchEvent(new CustomEvent(\r\n \"on-nachricht-massennachricht-click\", {\r\n bubbles: true,\r\n detail: {\r\n nachricht: this.item\r\n }\r\n }\r\n ));\r\n }\r\n onNachrichtClick(e: Event) {\r\n if (e.target[\"tagName\"] == \"A\") {\r\n return;\r\n }\r\n\r\n e.preventDefault();\r\n e.stopPropagation();\r\n\r\n this._element.dispatchEvent(new CustomEvent(\r\n \"on-nachricht-click\", {\r\n bubbles: true,\r\n detail: {\r\n nachricht: this.item\r\n }\r\n }\r\n ));\r\n\r\n if (this.item.Typ == this.NACHRICHT_TYP_TELEFONAT || this.item.Typ == this.NACHRICHT_TYP_NOTIZ) {\r\n this._nachrichtService.doNachrichtBearbeiten(this.item);\r\n }\r\n }\r\n\r\n private doUrlValidation() {\r\n const cardText = document.getElementById(this.item.KeyNachricht);\r\n if (!cardText) {\r\n return;\r\n }\r\n\r\n const text = document.createElement(\"span\");\r\n text.innerHTML = this.item.Text;\r\n cardText.appendChild(text);\r\n }\r\n}\r\n","module.exports = \" \";","import { autoinject, bindable, observable } from \"aurelia-framework\";\r\nimport { ListView, IListViewOptions } from '../../../framework/forms/elements/list-view/export';\r\nimport { RestService } from '../../../framework/base/services/rest-service';\r\nimport { EventAggregator, Subscription } from '../../../../node_modules/aurelia-event-aggregator';\r\nimport { INachrichtBenutzerInfo, NachrichtAnzeigeTyp, NachrichtService } from '../../services/nachricht-service';\r\nimport { StartupService } from \"../../services/startup-service\";\r\n\r\n@autoinject\r\nexport class NachrichtNachrichten {\r\n private _timeoutReload: any;\r\n private _nachrichtErstelltSubscription: Subscription;\r\n private _nachrichtGeloeschtSubscription: Subscription;\r\n private _nachrichtSetUngelesenSubscription: Subscription;\r\n\r\n constructor(\r\n private _element: Element,\r\n private _restService: RestService,\r\n private _startupService: StartupService,\r\n private _nachrichtService: NachrichtService,\r\n private _eventAggregator: EventAggregator\r\n ) { }\r\n\r\n @bindable @observable benutzerInfo: INachrichtBenutzerInfo;\r\n @bindable @observable isStellvertreter: boolean;\r\n\r\n nachrichtListView: ListView;\r\n nachrichtListViewOptions: IListViewOptions = {\r\n useDefaultListItemStyle: false,\r\n itemClass: \"z--nachr-nachrichten-item\",\r\n onItemClick: (e) => {\r\n this.onNachrichtClick(e);\r\n }\r\n };\r\n\r\n scrollView: any;\r\n\r\n isLoading: boolean = false;\r\n\r\n bind() {\r\n this._nachrichtErstelltSubscription = this._eventAggregator.subscribe(\"nachricht:erstellt\", (e) => {\r\n if (!e.all && !e.idEmpfaengerList) {\r\n return;\r\n }\r\n\r\n const any = e.all || e.idEmpfaengerList.some(i => this.benutzerInfo && i == this.benutzerInfo.idBenutzer);\r\n if (!any) {\r\n return;\r\n }\r\n\r\n if (!this.nachrichtListView) {\r\n return;\r\n }\r\n\r\n this.nachrichtListView.refresh(false);\r\n });\r\n\r\n this._nachrichtGeloeschtSubscription = this._eventAggregator.subscribe(\"nachricht:geloescht\", () => {\r\n this.reload();\r\n })\r\n \r\n this._nachrichtSetUngelesenSubscription = this._eventAggregator.subscribe(\"nachricht:set-unglesen\", async (args) =>\r\n {\r\n const items = this.nachrichtListView.itemsOptions.items;\r\n if (!items) {\r\n return;\r\n }\r\n \r\n const item = items.find(c => c.IdAbsender != this._startupService.startupInfo.Benutzer.IdBenutzer);\r\n if (!item) {\r\n return;\r\n }\r\n \r\n args.isHandled = true;\r\n\r\n await this._nachrichtService.doNachrichtUngelesenMarkieren(item.KeyNachricht);\r\n\r\n this._eventAggregator.publish(\"nachricht:ungelesen\", {\r\n keyNachricht: item.KeyNachricht\r\n });\r\n });\r\n\r\n this.nachrichtListViewOptions.dataSource = new DevExpress.data.DataSource(\r\n new DevExpress.data.CustomStore({\r\n load: (e) => {\r\n if (!this.benutzerInfo) {\r\n return Promise.resolve({ data: [], totalCount: 0 });\r\n }\r\n\r\n return new Promise((resolve, reject) => {\r\n this._restService.post({\r\n url: this._restService.getApiUrl(\"ZIT/Nachricht/Nachricht\"),\r\n data: {\r\n Take: e.take,\r\n Skip: e.skip,\r\n IdBenutzer: this.benutzerInfo.idBenutzer,\r\n IsGruppe: this.benutzerInfo.anzeigeTyp == NachrichtAnzeigeTyp.Gruppe,\r\n IsStellvertreter: this.isStellvertreter\r\n },\r\n increaseLoadingCount: true\r\n }).then(r => {\r\n this.isLoading = false;\r\n\r\n if (r.NachrichtList) {\r\n const hasChangedGelesen = r.NachrichtList.some(n => n.HasChangedGelesen);\r\n if (hasChangedGelesen) {\r\n this._eventAggregator.publish(\"nachricht:gelesen\", {\r\n keyNachricht: \"ALL\"\r\n });\r\n }\r\n }\r\n\r\n resolve({\r\n data: r.NachrichtList,\r\n totalCount: r.Anzahl\r\n });\r\n })\r\n });\r\n }\r\n }));\r\n }\r\n unbind() {\r\n this._nachrichtErstelltSubscription.dispose();\r\n this._nachrichtErstelltSubscription = null;\r\n\r\n this._nachrichtGeloeschtSubscription.dispose();\r\n this._nachrichtGeloeschtSubscription = null;\r\n }\r\n\r\n benutzerInfoChanged() {\r\n if (!this.nachrichtListView) {\r\n return;\r\n }\r\n\r\n this.reload();\r\n }\r\n isStellvertreterChanged() {\r\n if (!this.nachrichtListView) {\r\n return;\r\n }\r\n\r\n this.reload();\r\n }\r\n reload() {\r\n this.isLoading = true;\r\n\r\n if (this._timeoutReload) {\r\n clearTimeout(this._timeoutReload);\r\n }\r\n\r\n this._timeoutReload = setTimeout(() => {\r\n if (this.scrollView) {\r\n const sv: DevExpress.ui.dxScrollView = this.scrollView.instance;\r\n if (sv) {\r\n sv.scrollTo(0);\r\n }\r\n }\r\n\r\n this.nachrichtListView.refresh(false);\r\n }, 100);\r\n }\r\n\r\n onNachrichtClick(e) {\r\n if (e.event.target.tagName == \"A\") {\r\n const element: any = e.event.target;\r\n if (element) {\r\n const url = element.href;\r\n const target = element.target;\r\n\r\n window.open(url, target);\r\n }\r\n\r\n return;\r\n }\r\n\r\n const event = new CustomEvent(\"on-nachricht-click\", {\r\n detail: {\r\n sender: this,\r\n keyNachricht: e.item.KeyNachricht\r\n },\r\n bubbles: true\r\n });\r\n\r\n this._element.dispatchEvent(event);\r\n }\r\n}\r\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';\r\nimport { ObjektInfoService } from './../../services/objekt-info-service';\r\nimport { observable, Scope, OverrideContext } from 'aurelia-binding';\r\nimport { BenutzerTyp } from './../../enumerations/benutzer-typ';\r\nimport { StartupService } from './../../services/startup-service';\r\nimport { NachrichtService } from './../../services/nachricht-service';\r\nimport { SimpleWidgetCreatorService } from './../../../framework/forms/widget-services/simple-widget-creator-service';\r\nimport { ScopeContainer } from './../../../framework/base/classes/scope-container';\r\nimport { RestService } from './../../../framework/base/services/rest-service';\r\nimport { LocalizationService } from './../../../framework/base/services/localization-service';\r\nimport { autoinject, bindable, transient } from \"aurelia-framework\";\r\nimport { IdxPopupComponent } from '../../interfaces/export';\r\nimport { GlobalizationService } from '../../../framework/base/export';\r\nimport { IZitTagOptions } from '../../../zit-ui/elements/zit-tag/export';\r\nimport { FormUtilsService, PopupInfoService } from '../../../framework/forms/export';\r\n\r\n@autoinject\r\nexport class NachrichtProtokoll {\r\n constructor(\r\n private _localizationService: LocalizationService,\r\n private _restService: RestService,\r\n private _simpleWidgetCreator: SimpleWidgetCreatorService,\r\n private _nachrichtService: NachrichtService,\r\n private _globalizationService: GlobalizationService,\r\n private _objektInfoService: ObjektInfoService,\r\n private _locationService: LocationService,\r\n private _formUtilsService: FormUtilsService,\r\n private _popupInfoService: PopupInfoService\r\n ) { }\r\n\r\n scope: Scope;\r\n scopeContainer: ScopeContainer;\r\n protokollDataSource: DevExpress.data.DataSource;\r\n\r\n nachricht: any;\r\n\r\n nachrichtProtokollPopup: IdxPopupComponent;\r\n nachrichtProtokollPopupOptions: DevExpress.ui.dxPopupOptions = {\r\n height: \"auto\",\r\n maxWidth: \"900px\",\r\n title: this._localizationService.translateOnce(\"nachricht-protokoll.nachrichteninfo\"),\r\n onShown: () => {\r\n this.protokollDataSource = new DevExpress.data.DataSource(\r\n new DevExpress.data.CustomStore({\r\n load: async (e) => {\r\n const r = await this._restService.get({\r\n url: this._restService.getApiUrl(\"ZIT/Nachricht/NachrichtProtokoll\") + `?keyNachricht=${this.nachricht.KeyNachricht}`,\r\n increaseLoadingCount: true\r\n });\r\n\r\n return {\r\n data: r\r\n };\r\n }\r\n }));\r\n }\r\n };\r\n protokollGridOptions: DevExpress.ui.dxDataGridOptions = {\r\n columnAutoWidth: true,\r\n paging: {\r\n pageSize: 10\r\n },\r\n hoverStateEnabled: true,\r\n searchPanel: {\r\n visible: true\r\n },\r\n columns: [{ \r\n dataField: \"Benutzer\", \r\n caption: this._localizationService.translateOnce(\"nachricht-protokoll.benutzer\"),\r\n width: \"180px\"\r\n }, { \r\n dataField: \"TypBezeichnung\", \r\n caption: this._localizationService.translateOnce(\"nachricht-protokoll.typ\"),\r\n width: \"120px\"\r\n }, {\r\n dataField: \"Datum\", \r\n caption: this._localizationService.translateOnce(\"nachricht-protokoll.protokoll-datum\"), \r\n format: this._globalizationService.getFormatter(\"g\"),\r\n width: \"120px\"\r\n }, { \r\n dataField: \"Ursprungsempfaenger\", \r\n caption: this._localizationService.translateOnce(\"nachricht-protokoll.ursprungsempfaenger\"),\r\n width: \"180px\" \r\n }, {\r\n dataField: \"ReferenzNachricht\", \r\n caption: this._localizationService.translateOnce(\"nachricht-protokoll.referenz-nachricht\"), \r\n width: \"150px\" \r\n }, { \r\n dataField: \"ExterneSchnittstelleBezeichnung\", \r\n caption: this._localizationService.translateOnce(\"nachricht-protokoll.externe-schnittstelle\"),\r\n minWidth: 100\r\n }\r\n ],\r\n bindingOptions: {\r\n dataSource: \"protokollDataSource\"\r\n }\r\n };\r\n objektTagOptions: IZitTagOptions = {\r\n icon: {\r\n faIconExpression: \"item.ObjektSymbol\"\r\n },\r\n textExpression: \"item.ObjektBez\",\r\n onClick: () => {\r\n const url = this._objektInfoService.getObjektNavigationUrl(this.nachricht.ObjektTypeName) + \"/\" + this.nachricht.IdObjekt;\r\n\r\n if (url) {\r\n const currentForm = this._formUtilsService.getMainForm(this.scope);\r\n this._locationService.goTo({\r\n url: url,\r\n currentViewModel: currentForm\r\n });\r\n\r\n this._popupInfoService.closeAllPopups();\r\n }\r\n }\r\n };\r\n nachrichtentypTagOptions: IZitTagOptions = {\r\n icon: {\r\n faIconExpression: \"item.TypBez == 'Nachricht' ? 'far fa-comment-dots' : item.TypBez == 'Telefonat' ? 'fas fa-phone-alt' : item.TypBez == 'ext. Email' ? 'far fa-envelope' : '' \"\r\n },\r\n textExpression: \"item.TypBez\"\r\n };\r\n\r\n bind(bindingContext: any, overrideContext: OverrideContext) {\r\n this.scope = {\r\n bindingContext: bindingContext,\r\n overrideContext: overrideContext\r\n };\r\n\r\n this.scopeContainer = new ScopeContainer({\r\n bindingContext: this,\r\n overrideContext: null\r\n });\r\n\r\n this._simpleWidgetCreator.updatePopupOptions({\r\n idToolbar: \"nachrichtProtokollPopupToolbar\",\r\n caption: \"nachricht-protokoll.nachrichteninfo\",\r\n options: this.nachrichtProtokollPopupOptions,\r\n scopeContainer: this.scopeContainer\r\n });\r\n }\r\n unbind() {\r\n this.scopeContainer.disposeAll();\r\n this.scope = null;\r\n }\r\n\r\n showPopup(nachricht: any) {\r\n this.nachricht = nachricht;\r\n this.nachrichtProtokollPopup.instance.show();\r\n }\r\n}\r\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 {\r\n autoinject, child\r\n} from \"aurelia-framework\";\r\nimport {\r\n RouterService\r\n} from '../../../framework/forms/services/export';\r\nimport { INavigationRoute } from '../../../framework/forms/export';\r\nimport { LocationService } from '../../../framework/base/services/location-service';\r\nimport { EventAggregator } from 'aurelia-event-aggregator';\r\n\r\n@autoinject\r\nexport class NavigationList {\r\n constructor(\r\n private _locationService: LocationService,\r\n private _routerService: RouterService,\r\n private _eventAggregator: EventAggregator\r\n ) { \r\n this.initializeRoutes()\r\n }\r\n\r\n routes: INavigationRoute[];\r\n\r\n onNavigationItemClick(url: string) {\r\n if (!url) {\r\n return;\r\n }\r\n\r\n this._locationService.goTo({\r\n url: url,\r\n clearStack: true\r\n });\r\n }\r\n\r\n private initializeRoutes() {\r\n const routes: INavigationRoute[] = [];\r\n\r\n const hideNavigation = [\r\n \"routes.objekte\",\r\n \"routes.suche\",\r\n \"routes.navigation\"\r\n ]\r\n\r\n this._routerService.navigationRoutes\r\n .forEach(r => {\r\n if (hideNavigation.indexOf(r.caption) >= 0) {\r\n return;\r\n }\r\n\r\n if (!r.children || r.children.length == 0) {\r\n return;\r\n }\r\n\r\n const children = r.children.filter(c => {\r\n const route = this._routerService.getRoute(c.route);\r\n if (!route) {\r\n return false;\r\n }\r\n\r\n const routerCanNavigateArgs = {\r\n routeInfo: route,\r\n moduleId: route.route.moduleId,\r\n cancel: false\r\n };\r\n \r\n this._eventAggregator.publish(\"router:can-navigate\", routerCanNavigateArgs);\r\n if (routerCanNavigateArgs.cancel) {\r\n return false;\r\n }\r\n\r\n return true;\r\n });\r\n\r\n if (children.length == 0) {\r\n return;\r\n }\r\n\r\n routes.push({\r\n caption: r.caption,\r\n navigation: r.navigation,\r\n route: r.route,\r\n children: children\r\n });\r\n });\r\n\r\n this.routes = routes;\r\n }\r\n}\r\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\";\r\nimport { NachrichtService } from \"../../services/nachricht-service\";\r\nimport { autoinject, bindable, observable } from 'aurelia-framework';\r\nimport { FileService, RestService } from '../../../framework/base/export';\r\nimport { ListView } from '../../../framework/forms/export';\r\nimport { IDatei } from \"../datei/datei\";\r\nimport { IListViewOptions } from './../../../framework/forms/elements/list-view/list-view-options';\r\nimport { IZitTagOptions } from '../../../zit-ui/elements/zit-tag/export';\r\nimport { CustomEditPopupService } from './../../services/export';\r\nimport { IZitToolbarOptions } from '../../../zit-ui/elements/zit-toolbar/zit-toolbar-options';\r\n\r\n@autoinject\r\nexport class NotizListView {\r\n constructor(\r\n private _element: Element,\r\n private _customEditPopupService: CustomEditPopupService,\r\n private _fileService: FileService,\r\n private _nachrichtService: NachrichtService,\r\n private _restService: RestService,\r\n ) { }\r\n\r\n @bindable @observable idPerson: number;\r\n \r\n notizList: Notiz[] = [];\r\n notiz: Notiz = null;\r\n\r\n tagOptions: IZitTagOptions;\r\n \r\n notizListView: ListView;\r\n notizListViewOptions: IListViewOptions = {\r\n showReloadButton: false,\r\n useDefaultListItemStyle: false,\r\n itemClass: \"z--list-view-inline-item\",\r\n dataSource: new DevExpress.data.DataSource(new DevExpress.data.ArrayStore({data: this.notizList}))\r\n };\r\n\r\n notizTagOptions: IZitTagOptions = {\r\n isClickEnabled: true,\r\n hasDefaultInfo: true,\r\n icon: {\r\n faIcon: \"far fa-sticky-note\"\r\n },\r\n infoList: [{\r\n icon: {\r\n faIcon: \"fas fa-paperclip\",\r\n },\r\n isVisibleExpression: `item.HasDateien`\r\n }],\r\n textExpression: `item.Text | zitRestrictLength:50`,\r\n onClick: (e, data) => {\r\n e.stopPropagation();\r\n \r\n this.notiz = data;\r\n this.id = \"c\" + new Date().getTime().toString();\r\n \r\n this.notizPopover.setOption({\r\n target: e.currentTarget,\r\n });\r\n \r\n this.notizPopover.instance.show()\r\n }\r\n };\r\n\r\n id: string;\r\n isPopoverVisible = false;\r\n notizPopover: IdxPopoverComponent;\r\n notizPopoverOptions: DevExpress.ui.dxPopoverOptions = {\r\n contentTemplate: \"contentTemplate\",\r\n onHiding: () => this.isPopoverVisible = false,\r\n onShowing: () => this.isPopoverVisible = true,\r\n position: {\r\n at: {\r\n x: \"left\",\r\n y: \"bottom\"\r\n },\r\n my: {\r\n x: \"left\",\r\n y: \"top\"\r\n }\r\n }\r\n };\r\n \r\n bind() {\r\n this.tagOptions = this.notizTagOptions;\r\n\r\n this.loadData();\r\n }\r\n unbind() {\r\n }\r\n\r\n idPersonChanged(newVal) {\r\n this.loadData();\r\n }\r\n\r\n private async loadData() {\r\n const data: any[] = await this.loadDataInt();\r\n this.notizList.splice(0, this.notizList.length, ...data);\r\n\r\n if (this.notizListView.options) {\r\n this.notizListView.refresh();\r\n }\r\n }\r\n private async loadDataInt(): Promise {\r\n if (!this.idPerson) return [];\r\n\r\n const benutzer = await this._nachrichtService.getBenutzerFromObjekt(\"TIP.ZIT.Business.Entities.Objekte.Personen.Person\", this.idPerson);\r\n if (!benutzer) return [];\r\n\r\n const result = await this._restService.post({\r\n url: this._restService.getApiUrl(\"ZIT/Nachricht/Nachricht\"),\r\n data: {\r\n Take: 100,\r\n Skip: 0,\r\n IdBenutzer: benutzer.Id,\r\n IsGruppe: false,\r\n IsStellvertreter: false,\r\n NurNotizen: true\r\n }\r\n });\r\n \r\n if (!result || !result.NachrichtList) return [];\r\n\r\n const div = document.createElement(\"div\");\r\n return result.NachrichtList.map(i => {\r\n div.innerHTML = (i.Text ?? \"\").replaceAll(\"
\", \" \");\r\n\r\n return {\r\n Text: div.textContent,\r\n TextHtml: i.Text,\r\n HasDateien: (i.DateiList ?? []).length > 0,\r\n Dateien: (i.DateiList ?? [])\r\n } as Notiz;\r\n });\r\n }\r\n}\r\n\r\ntype Notiz = {\r\n Text: string;\r\n TextHtml: string;\r\n HasDateien: boolean;\r\n Dateien: IDatei[];\r\n}\r\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\";\r\nimport { ScopeContainer, LocalizationService } from \"../../../framework/base/export\";\r\nimport { ICommandData, SimpleWidgetCreatorService } from \"../../../framework/forms/export\";\r\nimport { DownloadService } from \"./../../services/export\";\r\nimport { IdxPopupComponent, IdxValidationGroupComponent, IdxCheckBoxComponent, IPersonDossierData } from \"../../interfaces/export\";\r\nimport { PersonDossierTyp } from \"../../enumerations/export\";\r\n\r\n@autoinject\r\nexport class PersonDossier {\r\n private _keyList: number[];\r\n private _objektFullName: string;\r\n\r\n constructor(\r\n private download: DownloadService,\r\n private localization: LocalizationService,\r\n private simpleWidgetCreator: SimpleWidgetCreatorService\r\n ) { }\r\n\r\n get dossiertTyp() {\r\n if (!this._objektFullName) {\r\n return;\r\n }\r\n switch (this._objektFullName) {\r\n case \"TIP.ZIT.Business.Entities.Objekte.Personen.Person\":\r\n return PersonDossierTyp.Person;\r\n case \"TIP.ZIT.Business.Entities.Objekte.Bewerbungen.Bewerbung\":\r\n return PersonDossierTyp.Bewerber;\r\n case \"TIP.ZIT.Business.Entities.Objekte.Disposition.DispoPlanstellePersonenzuteilung\":\r\n return PersonDossierTyp.DispoPlanstellePersonenzuteilung;\r\n default:\r\n return;\r\n }\r\n }\r\n\r\n scope: Scope;\r\n scopeContainer: ScopeContainer;\r\n\r\n popupCommands: ICommandData[] = [\r\n {\r\n id: \"downLoadPersonDossierDokumentList\",\r\n idCategory: \"$start\",\r\n icon: \"fas fa-check\",\r\n tooltip: \"person-dossier.download-starten\",\r\n sortIndex: 1001,\r\n execute: () => {\r\n this.downLoadPersonDossierDokumentList();\r\n }\r\n }\r\n ];\r\n\r\n personDossierPopup: IdxPopupComponent;\r\n personDossierPopupOptions: DevExpress.ui.dxPopupOptions = {\r\n height: \"auto\",\r\n maxHeight: \"80%\",\r\n maxWidth: \"420px\"\r\n };\r\n\r\n personenstammblatt: IdxCheckBoxComponent;\r\n personenstammblattOptions: DevExpress.ui.dxCheckBoxOptions = {\r\n value: true,\r\n text: this.localization.translateOnce(\"person-dossier.personenstammblatt-caption\")\r\n };\r\n bewerbungsstammblatt: IdxCheckBoxComponent;\r\n bewerbungsstammblattOptions: DevExpress.ui.dxCheckBoxOptions = {\r\n text: this.localization.translateOnce(\"person-dossier.bewerbungsstammblatt-caption\")\r\n };\r\n dokumente: IdxCheckBoxComponent;\r\n dokumenteOptions: DevExpress.ui.dxCheckBoxOptions = {\r\n text: this.localization.translateOnce(\"person-dossier.dokumente-caption\")\r\n };\r\n\r\n showPopup(objektFullName: string, keyList: number[]) {\r\n this._objektFullName = objektFullName;\r\n this._keyList = keyList;\r\n this.personDossierPopup.instance.show();\r\n }\r\n\r\n bind(bindingContext: any, overrideContext: OverrideContext) {\r\n this.scope = {\r\n bindingContext: bindingContext,\r\n overrideContext: overrideContext\r\n };\r\n\r\n this.scopeContainer = new ScopeContainer({\r\n bindingContext: this,\r\n overrideContext: null\r\n });\r\n\r\n this.simpleWidgetCreator.updatePopupOptions({\r\n idToolbar: \"personDossierPopupToolbar\",\r\n caption: \"person-dossier.popup-title\",\r\n options: this.personDossierPopupOptions,\r\n commands: this.popupCommands,\r\n scopeContainer: this.scopeContainer\r\n });\r\n }\r\n unbind() {\r\n this.scopeContainer.disposeAll();\r\n this.scope = null;\r\n }\r\n\r\n private downLoadPersonDossierDokumentList() {\r\n if (!this._keyList || !this._keyList.length) {\r\n return;\r\n }\r\n const data: IPersonDossierData = {\r\n IdObjekt: null,\r\n Typ: this.dossiertTyp,\r\n Personenstammblatt: this.personenstammblatt.instance.option(\"value\"),\r\n Bewerbungsstammblatt: this.bewerbungsstammblatt.instance.option(\"value\"),\r\n Dokumente: this.dokumente.instance.option(\"value\")\r\n };\r\n\r\n const hasAuswahl = data.Personenstammblatt\r\n || data.Bewerbungsstammblatt\r\n || data.Dokumente;\r\n\r\n if (!hasAuswahl) {\r\n DevExpress.ui.notify(\r\n this.localization.translateOnce(\"person-dossier.auswahl-fehlt\"),\r\n \"error\", \r\n 3000\r\n );\r\n return;\r\n }\r\n\r\n const downloadPersonDossierList = this._keyList.map((key) => {\r\n const dataToSend = Object.assign({}, data, { IdObjekt: Number(key) });\r\n return this.download.downloadPersonDossier(dataToSend);\r\n });\r\n \r\n Promise.all(downloadPersonDossierList)\r\n .then((r) => {\r\n this.personDossierPopup.instance.hide();\r\n });\r\n }\r\n}\r\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\";\r\nimport { IdxPopupComponent, IdxDataGridComponent } from \"../../interfaces/dx-components\";\r\nimport { RestService, GlobalizationService, ScopeContainer } from \"../../../framework/base/export\";\r\nimport { SimpleWidgetCreatorService, ICommandData } from \"../../../framework/forms/export\";\r\nimport { Geschlecht } from \"../../enumerations/export\";\r\n\r\n@autoinject\r\nexport class SchnupperterminAuswahl {\r\n private _evalOptions: ISchnupperterminAuswahlEvalOptions;\r\n\r\n constructor(\r\n private restService: RestService,\r\n private globalizationService: GlobalizationService,\r\n private simpleWidgetCreatorService: SimpleWidgetCreatorService\r\n ) { }\r\n\r\n scope: Scope;\r\n scopeContainer: ScopeContainer;\r\n auswahlList: IAuswahlItem[];\r\n\r\n popup: IdxPopupComponent;\r\n popupOptions: DevExpress.ui.dxPopupOptions = {\r\n contentTemplate: \"contentTemplate\",\r\n width: \"600px\",\r\n height: \"auto\"\r\n };\r\n\r\n grid: IdxDataGridComponent;\r\n gridOptions: DevExpress.ui.dxDataGridOptions = {\r\n columns: [{\r\n dataField: \"StartDatum\",\r\n caption: \"Start\",\r\n width: \"120px\",\r\n cellTemplate: (element, info) => {\r\n const val = this.globalizationService.format(info.data.StartDatum, \"DT_DD.MM.YYYY (dd)\")\r\n .toUpperCase();\r\n\r\n element.innerHTML = val;\r\n }\r\n }, {\r\n dataField: \"EndeDatum\",\r\n caption: \"Ende\",\r\n width: \"120px\",\r\n cellTemplate: (element, info) => {\r\n const val = this.globalizationService.format(info.data.EndeDatum, \"DT_DD.MM.YYYY (dd)\")\r\n .toUpperCase();\r\n \r\n element.innerHTML = val;\r\n }\r\n }, {\r\n dataField: \"Geschlecht\",\r\n caption: \"Anrede\",\r\n dataType: \"string\",\r\n width: \"80px\",\r\n cellTemplate: (element, info) => {\r\n if (info.data.Geschlecht == void (0)) {\r\n return;\r\n }\r\n\r\n switch (info.data.Geschlecht) {\r\n case Geschlecht.Maennlich: {\r\n element.innerHTML = \"Herr\";\r\n break;\r\n }\r\n case Geschlecht.Weiblich: {\r\n element.innerHTML = \"Frau\";\r\n break;\r\n }\r\n default: {\r\n return;\r\n }\r\n }\r\n }\r\n }, {\r\n dataField: \"Vorname\",\r\n caption: \"Vorname\"\r\n }, {\r\n dataField: \"Nachname\",\r\n caption: \"Nachname\"\r\n }],\r\n keyExpr: \"IdEventTeilnehmer\",\r\n height: \"400px\",\r\n hoverStateEnabled: true,\r\n bindingOptions: {\r\n dataSource: \"auswahlList\"\r\n },\r\n onRowClick: (e) => {\r\n this._evalOptions.callback(e.data.IdEventTeilnehmer);\r\n this.popup.instance.hide();\r\n }\r\n };\r\n\r\n neuCommand: ICommandData = {\r\n id: \"neuCommand\",\r\n icon: \"fas fa-plus\",\r\n sortIndex: 1000,\r\n tooltip: \"base.add\",\r\n execute: () => {\r\n this.add();\r\n }\r\n };\r\n\r\n bind() {\r\n this.scope = {\r\n bindingContext: this,\r\n overrideContext: null\r\n };\r\n this.scopeContainer = new ScopeContainer(this.scope);\r\n\r\n this.simpleWidgetCreatorService.updatePopupOptions({\r\n idToolbar: \"schnupperterminAuswahlToolbar\",\r\n caption: \"schnuppertermin.auswahl-header\",\r\n scopeContainer: this.scopeContainer,\r\n options: this.popupOptions,\r\n commands: [this.neuCommand]\r\n });\r\n }\r\n unbind() {\r\n this.scopeContainer.disposeAll();\r\n this.scopeContainer = null;\r\n }\r\n\r\n onNeuClick() {\r\n this.add();\r\n }\r\n\r\n async evalIdEventTeilnehmer(options: ISchnupperterminAuswahlEvalOptions) {\r\n this._evalOptions = options;\r\n\r\n await this.loadAuswahlList();\r\n\r\n if (this.auswahlList.length == 0) {\r\n options.callback(null);\r\n } else if (this.auswahlList.length == 1) {\r\n options.callback(this.auswahlList[0].IdEventTeilnehmer);\r\n } else {\r\n this.popup.instance.show();\r\n }\r\n }\r\n\r\n private add() {\r\n this._evalOptions.callback(null);\r\n this.popup.instance.hide();\r\n }\r\n private async loadAuswahlList() {\r\n this.auswahlList = await this.restService.post({\r\n url: this.restService.getApiUrl(\"ZIT/Schnuppertermin/AuswahlSchnuppertermin\"),\r\n data: {\r\n IdStelleninserat: this._evalOptions.idStelleninserat\r\n },\r\n increaseLoadingCount: true\r\n });\r\n\r\n this.auswahlList.sort((a, b) => (a.StartDatum > b.StartDatum) ? -1 : 1);\r\n }\r\n}\r\nexport interface ISchnupperterminAuswahlEvalOptions {\r\n idStelleninserat: number;\r\n callback: { (idEventTeilnehmer: number): void };\r\n}\r\ninterface IAuswahlItem {\r\n IdEventTeilnehmer: number;\r\n StartDatum: Date;\r\n EndeDatum: Date;\r\n Vorname: string;\r\n Nachname: string;\r\n}\r\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\";\r\nimport { autoinject, Scope } from \"aurelia-framework\";\r\nimport * as moment from \"moment\";\r\nimport { GlobalizationService, LocalizationService, LocationService, RestService, ScopeContainer } from \"../../../framework/base/export\";\r\nimport { DialogConfirmService, ICommandData, SimpleWidgetCreatorService } from \"../../../framework/forms/export\";\r\nimport { IZitTagOptions } from \"../../../zit-ui/elements/zit-tag/zit-tag-options\";\r\nimport { IZitToolbarOptions } from \"../../../zit-ui/elements/zit-toolbar/zit-toolbar-options\";\r\nimport { BenutzerTyp } from \"../../enumerations/export\";\r\nimport { IdxPopupComponent, IdxValidationGroupComponent } from \"../../interfaces/export\";\r\nimport { StartupService } from \"../../services/export\";\r\nimport { Datenschutz } from \"../datenschutz/datenschutz\";\r\nimport { DokumentListView } from \"../dokument-list-view/dokument-list-view\";\r\nimport { SchnupperterminPersonAuswahl } from \"../schnuppertermin-person-auswahl/schnuppertermin-person-auswahl\";\r\nimport { SchnupperterminStornieren } from \"../schnuppertermin-stornieren/schnuppertermin-stornieren\";\r\nimport { StelleninseratService } from \"./../../services/stelleninserat-service\";\r\n\r\n@autoinject\r\nexport class SchnupperterminErstellen {\r\n private NOTIFY_TIMEOUT: number = 3000;\r\n private MAX_PERSONLIST_LENGTH: number = 2;\r\n private DEFAULT_TAGE: number = 6;\r\n private DAYS_OF_WEEK: number = 7;\r\n\r\n constructor(\r\n public globalizationService: GlobalizationService,\r\n public startupService: StartupService,\r\n private _restService: RestService,\r\n private _simpleWidgetCreatorService: SimpleWidgetCreatorService,\r\n private _locationService: LocationService,\r\n private _localizationService: LocalizationService,\r\n private _eventAggregator: EventAggregator,\r\n private _dialogConfirmService: DialogConfirmService) { }\r\n\r\n scope: Scope;\r\n scopeContainer: ScopeContainer;\r\n\r\n showOptions: ISchnupperterminErstellenShowOptions;\r\n model: IModel;\r\n data: IRequestResult;\r\n kalenderInfo = {};\r\n canPersonDelete: boolean = false;\r\n\r\n schnupperterminPersonAuswahl: SchnupperterminPersonAuswahl;\r\n schnupperterminStornieren: SchnupperterminStornieren;\r\n dokumentListView: DokumentListView;\r\n datenschutz: Datenschutz;\r\n\r\n popup: IdxPopupComponent;\r\n popupOptions: DevExpress.ui.dxPopupOptions = {\r\n contentTemplate: \"contentTemplate\",\r\n width: \"750px\",\r\n height: \"auto\",\r\n maxHeight: \"90vh\",\r\n onShown: (e: any) => {\r\n e.component.repaint();\r\n }\r\n };\r\n validationGroup: IdxValidationGroupComponent;\r\n wunschterminOptions: DevExpress.ui.dxSelectBoxOptions = {\r\n displayExpr: \"Bezeichnung\",\r\n valueExpr: \"Id\",\r\n bindingOptions: {\r\n dataSource: \"data.WunschList\",\r\n value: \"model.idWunschtermin\"\r\n },\r\n onValueChangedByUser: () => this.onWunschterminChanged()\r\n };\r\n anzahlTageRadioOptions: DevExpress.ui.dxRadioGroupOptions = {\r\n displayExpr: \"text\",\r\n valueExpr: \"value\",\r\n bindingOptions: {\r\n dataSource: \"model.anzahlTageList\",\r\n disabled: \"!model.idWunschtermin\",\r\n value: \"model.anzahlTageRadio\",\r\n },\r\n onValueChangedByUser: (e) => {\r\n this.model.anzahlTage = e.value < 0\r\n ? this.DEFAULT_TAGE\r\n : e.value;\r\n\r\n this.checkCanUseSelectedDate();\r\n }\r\n };\r\n anzahlTageBoxOptions: DevExpress.ui.dxNumberBoxOptions = {\r\n format: this.globalizationService.getNumberFormat(\"f0\"),\r\n width: \"70px\",\r\n bindingOptions: {\r\n disabled: \"!model.idWunschtermin\",\r\n min: \"model.minTageNumberBox\",\r\n max: \"model.maxTageNumberBox\",\r\n value: \"model.anzahlTage\"\r\n },\r\n onValueChangedByUser: () => this.checkCanUseSelectedDate()\r\n };\r\n kalendar: DevExpress.ui.dxCalendar;\r\n kalenderOptions: DevExpress.ui.dxCalendarOptions = {\r\n cellTemplate: (data, index, element: HTMLTableDataCellElement) => {\r\n const span = document.createElement(\"span\");\r\n span.innerText = data.text;\r\n\r\n if (data.view != \"month\") {\r\n return span;\r\n }\r\n\r\n const current = moment(data.date);\r\n\r\n element.style.position = \"relative\";\r\n span.style.position = \"relative\";\r\n\r\n const typ: KalenderInfoTyp = this.kalenderInfo[moment(data.date)\r\n .startOf(\"day\")\r\n .toISOString()];\r\n\r\n let isBetween = false;\r\n if (this.model.startDatum && this.model.anzahlTage) {\r\n const start = moment(this.model.startDatum);\r\n const ende = moment(start)\r\n .add(this.model.anzahlTage, \"days\");\r\n\r\n isBetween = current.isBetween(start, ende);\r\n }\r\n\r\n if (isBetween) {\r\n const border = document.createElement(\"div\");\r\n border.className = \"schnuppertermin-erstellen--calendar schnuppertermin-erstellen--calendar-gewaehlt\";\r\n span.style.color = \"white\";\r\n element.appendChild(border);\r\n }\r\n if (typ != void (0)) {\r\n const border = document.createElement(\"div\");\r\n border.className = \"schnuppertermin-erstellen--calendar\";\r\n\r\n switch (typ) {\r\n case KalenderInfoTyp.Zugesagt: {\r\n border.className += \" schnuppertermin-erstellen--calendar-zugesagt\";\r\n break;\r\n }\r\n case KalenderInfoTyp.NichtZugesagt: {\r\n border.className += \" schnuppertermin-erstellen--calendar-nicht-zugesagt\";\r\n break;\r\n }\r\n case KalenderInfoTyp.NichtZugesagtGleicheGp: {\r\n border.className += \" schnuppertermin-erstellen--calendar-nicht-zugesagt-selbe-gp\";\r\n break;\r\n }\r\n case KalenderInfoTyp.Kontingent: {\r\n border.className += \" schnuppertermin-erstellen--calendar-ueberbucht\";\r\n break;\r\n }\r\n default: {\r\n return;\r\n }\r\n }\r\n\r\n element.appendChild(border);\r\n }\r\n\r\n return span;\r\n },\r\n bindingOptions: {\r\n disabled: \"!model.idWunschtermin\",\r\n min: \"model.minDatum\",\r\n max: \"model.maxDatum\",\r\n value: \"model.startDatum\"\r\n },\r\n onInitialized: (e) => {\r\n this.kalendar = e.component;\r\n },\r\n onValueChangedByUser: () => {\r\n this.checkCanUseSelectedDate();\r\n }\r\n };\r\n einverstaendnisOptions: DevExpress.ui.dxCheckBoxOptions = {\r\n bindingOptions: {\r\n value: \"model.einverstaendnisAkzeptiert\"\r\n }\r\n };\r\n personTagOptions: IZitTagOptions = {\r\n icon:\r\n {\r\n text: \"P\"\r\n },\r\n text: \"${person.name}\",\r\n infoList: [{\r\n icon: {\r\n faIcon: \"fas fa-times\"\r\n },\r\n isVisibleExpression: \"canPersonDelete\",\r\n onClick: async(e, data) => {\r\n const index = this.model.personList.indexOf(data);\r\n if (index < 0) {\r\n return;\r\n }\r\n\r\n this.model.personList.splice(index, 1);\r\n\r\n if (this.model.personList.length < this.MAX_PERSONLIST_LENGTH) {\r\n await this.refreshWunschterminList();\r\n await this.onWunschterminChanged();\r\n }\r\n }\r\n }]\r\n };\r\n ortTagOptions: IZitTagOptions = {\r\n icon: {\r\n text: \"A\"\r\n },\r\n text: \"${data.Ort}\",\r\n infoList: [{\r\n icon: {\r\n faIcon: \"fas fa-map-marker-alt\"\r\n },\r\n onClick: () => {\r\n window.open(\"https://www.google.com/maps/place/\" + this.data.Ort.replace(\" \", \"+\"), \"_blank\");\r\n }\r\n }]\r\n };\r\n datumTagOptions: IZitTagOptions = {\r\n icon: {\r\n faIcon: \"far fa-calendar-alt\"\r\n },\r\n textExpression: `item.StartDatum && item.EndeDatum\r\n ? globalizationService.format(item.StartDatum, 'DT_DD.MM.YYYY (dd)').toUpperCase() + ' - ' + globalizationService.format(item.EndeDatum, 'DT_DD.MM.YYYY (dd)').toUpperCase()\r\n : ''`\r\n };\r\n termineUnternehmenTagOptions: IZitTagOptions = {\r\n textExpression: \"item.Bezeichnung\",\r\n icon: {\r\n faIcon: \"far fa-calendar-alt\"\r\n },\r\n onClick: (e, data) => {\r\n this.popup.instance.hide();\r\n this._locationService.goTo({\r\n url: `#Objekte/EventZeitraum/${data.IdEventZeitraum}`\r\n });\r\n }\r\n };\r\n dokumentToolbarOptions: IZitToolbarOptions = {\r\n title: \"schnuppertermin-utils.dokument-toolbar-titel\",\r\n smallToolbar: true,\r\n items: [{\r\n id: \"showDokumentToolbarOptionen\",\r\n icon: \"fas fa-plus\",\r\n execute: () => {\r\n if (!this.dokumentListView) {\r\n return;\r\n }\r\n\r\n this.dokumentListView.onDokumentAddClicked();\r\n }\r\n }]\r\n };\r\n\r\n schnupperterminAnfrageTagOptions: IZitTagOptions = {\r\n icon: {\r\n faIconExpression: \"item.SchnupperterminAnfrageartTagSymbol\",\r\n backgroundColorExpression: \"startupService.startupInfo.Skin.Farbe\"\r\n },\r\n textExpression: \"item.SchnupperterminAnfrageartBezeichnung\",\r\n backgroundColorExpression: \"startupService.startupInfo.Skin.Farbe\"\r\n };\r\n\r\n neuCommand: ICommandData = {\r\n id: \"neuCommand\",\r\n icon: \"fas fa-plus\",\r\n sortIndex: 1000,\r\n tooltip: \"base.add\",\r\n isVisible: false,\r\n execute: () => {\r\n this.add();\r\n }\r\n };\r\n speichernCommand: ICommandData = {\r\n id: \"speichernCommand\",\r\n icon: \"fas fa-save\",\r\n sortIndex: 1010,\r\n tooltip: \"base.save\",\r\n execute: () => {\r\n this.validateAndSave();\r\n }\r\n };\r\n stornierenCommand: ICommandData = {\r\n id: \"stornierenCommand\",\r\n icon: \"fas fa-ban\",\r\n sortIndex: 1020,\r\n tooltip: \"schnuppertermin-utils.stornieren\",\r\n isVisible: false,\r\n execute: () => {\r\n this.schnupperterminStornieren.show({\r\n idStelleninserat: this.showOptions.idStelleninserat,\r\n idEventTeilnehmer: this.data.IdEventTeilnehmer,\r\n callback: () => this.popup.instance.hide()\r\n });\r\n }\r\n };\r\n stelleninseratStornierenCommand: ICommandData = {\r\n id: \"stornierenStelleninseratCommand\",\r\n icon: \"far fa-minus-square\",\r\n sortIndex: 1021,\r\n isVisible: this.startupService.startupInfo.Benutzer.CodeBenutzerrolle == \"ADMIN\"\r\n || this.startupService.startupInfo.Benutzer.CodeBenutzerrolle == \"KUNDE-SCHULE\",\r\n tooltip: \"schnuppertermin-utils.fuer_alle_stornieren\",\r\n execute: async() => {\r\n const r = await this._dialogConfirmService.show({\r\n title: this._localizationService.translateOnce(\"base.question\"),\r\n message: this._localizationService.translateOnce(\"schnuppertermin-utils.question_fuer_alle_stornieren\"),\r\n });\r\n\r\n if (r) {\r\n await this._restService.post({\r\n url: this._restService.getApiUrl(\"ZIT/Objekt/DeaktivierenStelleninseratSchnuppertermin\"),\r\n data: {\r\n IdStelleninserat: this.showOptions.idStelleninserat\r\n },\r\n increaseLoadingCount: true\r\n });\r\n\r\n this._eventAggregator.publish(\"schnuppertermin:refresh-list\");\r\n this.popup.instance.hide();\r\n }\r\n }\r\n };\r\n\r\n bind() {\r\n this.scope = {\r\n bindingContext: this,\r\n overrideContext: null\r\n };\r\n this.scopeContainer = new ScopeContainer(this.scope);\r\n\r\n this._simpleWidgetCreatorService.updatePopupOptions({\r\n idToolbar: \"schnupperterminToolbar\",\r\n caption: \"schnuppertermin.schnuppertermin\",\r\n scopeContainer: this.scopeContainer,\r\n options: this.popupOptions,\r\n commands: [this.neuCommand, this.speichernCommand, this.stornierenCommand, this.stelleninseratStornierenCommand]\r\n });\r\n\r\n this.wunschterminOptions[\"validators\"] = [this.createRequiredRule(\"Wunschtermin\")];\r\n }\r\n unbind() {\r\n this.scopeContainer.disposeAll();\r\n this.scopeContainer = null;\r\n }\r\n\r\n async show(options: ISchnupperterminErstellenShowOptions) {\r\n this.showOptions = options;\r\n this.resetModel();\r\n\r\n const setPerson = () => {\r\n if (this.data && this.data.IdPerson && this.data.PersonName) {\r\n this.model.personList.push({\r\n id: this.data.IdPerson,\r\n name: this.data.PersonName\r\n });\r\n }\r\n };\r\n\r\n if (options.idEventTeilnehmer) {\r\n await this.loadBestehend();\r\n setPerson();\r\n } else {\r\n await this.loadErstellen();\r\n setPerson();\r\n\r\n if (this.data.WunschList.length == 1) {\r\n this.model.idWunschtermin = this.data.WunschList[0].Id;\r\n this.onWunschterminChanged();\r\n } else {\r\n this.prepareAnzahlTage(1, null, null);\r\n this.prepareCalendar(null, null);\r\n }\r\n }\r\n\r\n this.canPersonDelete = !this.showOptions.idEventTeilnehmer\r\n && this.model.personList.length == 0;\r\n\r\n this.stornierenCommand.isVisible = this.data.IdEventTeilnehmer > 0\r\n && !this.data.IsBestaetigt;\r\n this.neuCommand.isVisible = this.data.IdEventTeilnehmer > 0;\r\n\r\n await this.popup.instance.show();\r\n }\r\n\r\n onPersonAuswahl() {\r\n this.schnupperterminPersonAuswahl.show(async(personList) => {\r\n const count = this.model.personList.length;\r\n\r\n for (const person of personList) {\r\n const exists = this.model.personList.some((p) => p.id == person.id);\r\n if (exists) {\r\n continue;\r\n }\r\n\r\n this.model.personList.push({\r\n id: person.id,\r\n name: person.name\r\n });\r\n }\r\n\r\n if (count < this.MAX_PERSONLIST_LENGTH) {\r\n await this.refreshWunschterminList();\r\n await this.onWunschterminChanged();\r\n }\r\n\r\n this.popup.instance.repaint();\r\n });\r\n }\r\n async onWunschterminChanged() {\r\n const wunsch = this.data.WunschList.find((e) => e.Id == this.model.idWunschtermin);\r\n\r\n this.model.minTageNumberBox = wunsch && wunsch.Minimaldauer\r\n ? Math.max(this.DEFAULT_TAGE, wunsch.Minimaldauer)\r\n : null;\r\n\r\n this.model.maxTageNumberBox = wunsch && wunsch.Maximaldauer\r\n ? wunsch.Maximaldauer\r\n : null;\r\n\r\n await this.loadKalenderInfo();\r\n\r\n if (wunsch) {\r\n this.prepareAnzahlTage(wunsch.Standarddauer, wunsch.Minimaldauer, wunsch.Maximaldauer);\r\n this.prepareCalendar(wunsch.Start, wunsch.Ende);\r\n } else {\r\n this.prepareAnzahlTage(1, null, null);\r\n this.prepareCalendar(null, null);\r\n }\r\n\r\n this.repaintCalendar();\r\n }\r\n onNeuClick() {\r\n this.add();\r\n }\r\n onSpeichernClick() {\r\n this.validateAndSave();\r\n }\r\n\r\n private checkCanUseSelectedDate() {\r\n setTimeout(() => {\r\n if (!this.checkCanUseDate(this.model.startDatum)) {\r\n this.model.startDatum = null;\r\n\r\n DevExpress.ui.notify(\r\n this._localizationService.translateOnce(\"schnuppertermin.zeitraum-nicht-möglich-da-konflikt\"),\r\n \"ERROR\",\r\n this.NOTIFY_TIMEOUT\r\n );\r\n }\r\n\r\n this.repaintCalendar();\r\n }, 0);\r\n }\r\n private checkCanUseDate(startDatum: Date): boolean {\r\n let startCheck = moment(startDatum);\r\n const endeCheck = moment(startDatum)\r\n .add(this.model.anzahlTage - 1, \"days\");\r\n\r\n const maxDateDiff = moment(this.model.maxDatum)\r\n .diff(endeCheck);\r\n\r\n if (this.model.maxDatum && maxDateDiff < 0) {\r\n return false;\r\n }\r\n\r\n while (endeCheck.diff(startCheck, \"days\") >= 0) {\r\n const typ: KalenderInfoTyp = this.kalenderInfo[startCheck.toISOString()];\r\n\r\n if (typ != void (0) && typ != KalenderInfoTyp.NichtZugesagt) {\r\n return false;\r\n }\r\n\r\n startCheck = moment(startCheck)\r\n .add(1, \"days\");\r\n }\r\n\r\n return true;\r\n }\r\n private createRequiredRule(text: string) {\r\n return {\r\n type: \"required\",\r\n message: this._localizationService.translateOnce(\"forms.validator_required\", [text])\r\n };\r\n }\r\n private async loadErstellen() {\r\n this.data = await this._restService.post({\r\n url: this._restService.getApiUrl(\"ZIT/Schnuppertermin/ErstellenRequest\"),\r\n data: {\r\n IdStelleninserat: this.showOptions.idStelleninserat,\r\n IdPerson: this.showOptions.idPerson\r\n },\r\n increaseLoadingCount: true\r\n });\r\n }\r\n private async loadBestehend() {\r\n this.data = await this._restService.post({\r\n url: this._restService.getApiUrl(\"ZIT/Schnuppertermin/LadenRequest\"),\r\n data: {\r\n IdEventTeilnehmer: this.showOptions.idEventTeilnehmer,\r\n IdStelleninserat: this.showOptions.idStelleninserat\r\n },\r\n increaseLoadingCount: true\r\n });\r\n }\r\n private async loadKalenderInfo() {\r\n const load = this.model.personList.length == 1\r\n && !!this.model.idWunschtermin;\r\n\r\n this.kalenderInfo = {};\r\n\r\n if (!load) {\r\n return;\r\n }\r\n\r\n const r = await this._restService.post({\r\n url: this._restService.getApiUrl(\"ZIT/Schnuppertermin/KalenderInfo\"),\r\n data: {\r\n IdStelleninserat: this.showOptions.idStelleninserat,\r\n IdPerson: this.model.personList[0].id,\r\n IdEventZeitraum: this.model.idWunschtermin\r\n },\r\n increaseLoadingCount: true\r\n });\r\n\r\n for (const i of r) {\r\n const isoDate = moment(i.Datum)\r\n .startOf(\"day\")\r\n .toISOString();\r\n\r\n this.kalenderInfo[isoDate] = i.Typ;\r\n }\r\n }\r\n private prepareAnzahlTage(standard: number, min: number, max: number) {\r\n const list: IAnzahlTageItem[] = [];\r\n\r\n for (let i = 1; i < this.DAYS_OF_WEEK; i++) {\r\n if (min != void (0) && i < min) {\r\n continue;\r\n }\r\n if (max != void (0) && i > max) {\r\n continue;\r\n }\r\n\r\n if (i < this.DEFAULT_TAGE) {\r\n list.push({\r\n value: i,\r\n text: i.toString()\r\n });\r\n } else {\r\n list.push({\r\n value: -1,\r\n text: \"länger\"\r\n });\r\n\r\n break;\r\n }\r\n }\r\n\r\n this.model.anzahlTageList = list;\r\n\r\n this.model.anzahlTage = standard == void (0)\r\n ? (list.length > 0 ? list[0].value : null)\r\n : standard;\r\n\r\n const maxTage = 5;\r\n this.model.anzahlTageRadio = this.model.anzahlTage > maxTage\r\n ? -1\r\n : this.model.anzahlTage;\r\n }\r\n private prepareCalendar(start: Date, ende: Date) {\r\n this.model.minDatum = start;\r\n this.model.maxDatum = ende;\r\n this.model.startDatum = null;\r\n\r\n if (start && ende) {\r\n let startCheck = moment(start);\r\n const endeCheck = moment(ende);\r\n while (endeCheck.diff(startCheck, \"days\") >= 0) {\r\n if (this.checkCanUseDate(startCheck.toDate())) {\r\n this.model.startDatum = startCheck.toDate();\r\n break;\r\n }\r\n\r\n startCheck = moment(startCheck)\r\n .add(1, \"days\");\r\n }\r\n }\r\n }\r\n private async refreshWunschterminList() {\r\n const r: IWunsch[] = await this._restService.post({\r\n url: this._restService.getApiUrl(\"ZIT/Schnuppertermin/WunschlistRequest\"),\r\n data: {\r\n IdGeschaeftspartner: this.data.IdGeschaeftspartner,\r\n IdLehrberuf: this.data.IdLehrberuf,\r\n IdStelleninserat: this.showOptions.idStelleninserat,\r\n IdPerson: this.model.personList.length === 1\r\n ? this.model.personList[0].id\r\n : null\r\n }\r\n });\r\n\r\n if (this.model.idWunschtermin) {\r\n const exists = r.some((w) => w.Id == this.model.idWunschtermin);\r\n\r\n if (!exists) {\r\n this.model.startDatum = null;\r\n this.model.idWunschtermin = null;\r\n\r\n this.onWunschterminChanged();\r\n }\r\n }\r\n\r\n this.data.WunschList = r;\r\n }\r\n private repaintCalendar() {\r\n if (!this.kalendar) {\r\n return;\r\n }\r\n\r\n this.kalendar.repaint();\r\n }\r\n\r\n private async add() {\r\n const r = await this._dialogConfirmService.show({\r\n title: this._localizationService.translateOnce(\"base.question\"),\r\n message: this.startupService.startupInfo.Benutzer.Benutzertyp == BenutzerTyp.NatuerlichePerson\r\n ? this._localizationService.translateOnce(\"schnuppertermin.weiterer-termin-für-person-lehrberuf\")\r\n : this._localizationService.translateOnce(\"schnuppertermin.weiterer-termin-für-lehrberuf\")\r\n });\r\n\r\n if (!r) {\r\n return;\r\n }\r\n\r\n this.popup.instance.hide();\r\n this.show({\r\n idStelleninserat: this.showOptions.idStelleninserat,\r\n idPerson: this.startupService.startupInfo.Benutzer.Benutzertyp == BenutzerTyp.NatuerlichePerson\r\n ? this.model.personList[0].id\r\n : null\r\n });\r\n }\r\n private validateAndSave() {\r\n if (!this.validate()) {\r\n return;\r\n }\r\n\r\n this.save();\r\n }\r\n private validate() {\r\n if (!this.showOptions.idEventTeilnehmer) {\r\n if (this.model.personList.length == 0) {\r\n DevExpress.ui.notify(\r\n this._localizationService.translateOnce(\"schnuppertermin-utils.keine-person-gewaehlt\"),\r\n \"ERROR\",\r\n this.NOTIFY_TIMEOUT\r\n );\r\n\r\n return false;\r\n }\r\n\r\n if (!this.model.startDatum) {\r\n DevExpress.ui.notify(\r\n this._localizationService.translateOnce(\"schnuppertermin.kein-zeitraum-ausgewaehlt\"),\r\n \"ERROR\",\r\n this.NOTIFY_TIMEOUT\r\n );\r\n\r\n return false;\r\n }\r\n\r\n if (!this.datenschutz.hasAlleBestaetigt()) {\r\n return false;\r\n }\r\n }\r\n\r\n const validationGroupConfig = DevExpress.validationEngine.getGroupConfig(this.validationGroup);\r\n if (validationGroupConfig) {\r\n const validationResult = validationGroupConfig.validate();\r\n if (!validationResult.isValid) {\r\n DevExpress.ui.notify(\r\n validationResult.brokenRules[0].message,\r\n \"ERROR\",\r\n this.NOTIFY_TIMEOUT\r\n );\r\n\r\n return false;\r\n }\r\n }\r\n\r\n return true;\r\n }\r\n private async save() {\r\n const r: IErstellenResult = await this._restService.post({\r\n url: this._restService.getApiUrl(\"ZIT/Schnuppertermin/SchnupperterminErstellen\"),\r\n data: {\r\n IdEventTeilnehmer: this.showOptions.idEventTeilnehmer,\r\n IdStelleninserat: this.showOptions.idStelleninserat,\r\n IdPersonList: this.model.personList.map((p) => p.id),\r\n IdEventZeitraum: this.model.idWunschtermin,\r\n StartDatum: this.model.startDatum,\r\n AnzahlTage: this.model.anzahlTage,\r\n DatenschutzList: this.data.DatenschutzList\r\n },\r\n increaseLoadingCount: true\r\n });\r\n\r\n if (r.Fehler) {\r\n DevExpress.ui.notify(\r\n r.Fehler,\r\n \"ERROR\",\r\n this.NOTIFY_TIMEOUT);\r\n\r\n return;\r\n }\r\n\r\n DevExpress.ui.notify(\r\n this._localizationService.translateOnce(\"schnuppertermin-utils.termin_erstellen\"),\r\n \"SUCCESS\",\r\n this.NOTIFY_TIMEOUT);\r\n\r\n this._eventAggregator.publish(\"schnuppertermin:erstellt\", {\r\n IdStelleninserat: this.showOptions.idStelleninserat,\r\n IdEventTeilnehmer: r.IdEventTeilnehmer,\r\n HasDokument: r.HasDokument\r\n });\r\n\r\n this.popup.instance.hide();\r\n }\r\n\r\n private resetModel() {\r\n this.model = {\r\n personList: [],\r\n anzahlTageList: []\r\n };\r\n }\r\n}\r\n\r\nexport interface ISchnupperterminErstellenShowOptions {\r\n idStelleninserat: number;\r\n idPerson?: number;\r\n idEventTeilnehmer?: number;\r\n}\r\ninterface IModel {\r\n anzahlTageList: IAnzahlTageItem[];\r\n minTageNumberBox?: number;\r\n maxTageNumberBox?: number;\r\n minDatum?: Date;\r\n maxDatum?: Date;\r\n\r\n personList: IPerson[];\r\n idWunschtermin?: number;\r\n anzahlTage?: number;\r\n anzahlTageRadio?: number;\r\n startDatum?: Date;\r\n}\r\ninterface IPerson {\r\n id: number;\r\n name: string;\r\n}\r\ninterface IRequestResult {\r\n IdEventTeilnehmer: number;\r\n IdPerson: number;\r\n PersonName: string;\r\n\r\n IdGeschaeftspartner: number;\r\n Geschaeftspartner: string;\r\n Ort: string;\r\n\r\n IdLehrberuf: number;\r\n Lehrberuf: string;\r\n\r\n StartDatum: Date;\r\n EndeDatum: Date;\r\n IsBestaetigt: boolean;\r\n\r\n WunschList: IWunsch[];\r\n DatenschutzList: any[];\r\n}\r\ninterface IWunsch {\r\n Id: number;\r\n Bezeichnung: string;\r\n Start: Date;\r\n Ende: Date;\r\n Standarddauer: number;\r\n Minimaldauer: number;\r\n Maximaldauer: number;\r\n}\r\ninterface IAnzahlTageItem {\r\n text: string;\r\n value: number;\r\n}\r\ninterface IErstellenResult {\r\n IdEventTeilnehmer: number;\r\n HasDokument: boolean;\r\n Fehler: string;\r\n}\r\nenum KalenderInfoTyp {\r\n Kontingent = 0,\r\n NichtZugesagt = 1,\r\n NichtZugesagtGleicheGp = 2,\r\n Zugesagt = 3\r\n}\r\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\";\r\nimport { IdxPopupComponent, IdxDataGridComponent } from '../../interfaces/dx-components';\r\nimport { ScopeContainer, RestService } from '../../../framework/base/export';\r\nimport { SimpleWidgetCreatorService, ModelEventService, ICommandData } from '../../../framework/forms/export';\r\n\r\n@autoinject\r\nexport class SchnupperterminPersonAuswahl {\r\n private _callback: { (personList: { id: number, name: string }[]): void };\r\n\r\n constructor(\r\n private restService: RestService,\r\n private simpleWidgetCreatorService: SimpleWidgetCreatorService\r\n ) { }\r\n\r\n scope: Scope;\r\n scopeContainer: ScopeContainer;\r\n\r\n model: IModel;\r\n\r\n popup: IdxPopupComponent;\r\n popupOptions: DevExpress.ui.dxPopupOptions = {\r\n contentTemplate: \"contentTemplate\",\r\n height: \"auto\",\r\n width: \"750px\"\r\n };\r\n nameOptions: DevExpress.ui.dxTextBoxOptions = {\r\n bindingOptions: {\r\n value: \"model.name\"\r\n },\r\n onValueChangedByUser: () => this.loadPerson()\r\n };\r\n klasseOptions: DevExpress.ui.dxSelectBoxOptions = {\r\n searchEnabled: true,\r\n showClearButton: true,\r\n valueExpr: \"Id\",\r\n displayExpr: \"Bezeichnung\",\r\n bindingOptions: {\r\n dataSource: \"model.klasseList\",\r\n value: \"model.idKlasse\"\r\n },\r\n onValueChangedByUser: () => this.loadPerson()\r\n };\r\n personenGrid: IdxDataGridComponent;\r\n personenGridOptions: DevExpress.ui.dxDataGridOptions = {\r\n columns: [{\r\n dataField: \"Vorname\",\r\n caption: \"Vorname\"\r\n }, {\r\n dataField: \"Nachname\",\r\n caption: \"Nachname\"\r\n }],\r\n keyExpr: \"Id\",\r\n selection: {\r\n mode: \"multiple\",\r\n showCheckBoxesMode: \"always\"\r\n },\r\n height: \"400px\",\r\n scrolling: {\r\n mode: \"virtual\"\r\n },\r\n bindingOptions: {\r\n dataSource: \"model.personList\"\r\n }\r\n };\r\n\r\n uebernehmenCommandData: ICommandData = {\r\n id: \"uebernehmenCommandData\",\r\n icon: \"fas fa-check\",\r\n sortIndex: 1000,\r\n tooltip: \"schnuppertermin.markierte-personen-uebernehmen\",\r\n execute: () => {\r\n const data = this.personenGrid.instance.getSelectedRowsData();\r\n if (data.length == 0) {\r\n DevExpress.ui.notify(\"Es wurde keine Person markiert\", \"ERROR\", 3000);\r\n return;\r\n }\r\n\r\n this._callback(data.map(i => {\r\n return { id: i.Id, name: i.Name };\r\n }));\r\n\r\n this.popup.instance.hide();\r\n }\r\n };\r\n\r\n bind() {\r\n this.scope = {\r\n bindingContext: this,\r\n overrideContext: null\r\n };\r\n this.scopeContainer = new ScopeContainer(this.scope);\r\n\r\n this.simpleWidgetCreatorService.updatePopupOptions({\r\n idToolbar: \"schnupperterminPersonAuswahlToolbar\",\r\n caption: \"schnuppertermin.person-auswahl\",\r\n scopeContainer: this.scopeContainer,\r\n options: this.popupOptions,\r\n commands: [this.uebernehmenCommandData]\r\n });\r\n }\r\n unbind() {\r\n this.scopeContainer.disposeAll();\r\n this.scopeContainer = null;\r\n }\r\n\r\n async show(callback: { (personList: { id: number, name: string }[]): void }) {\r\n this._callback = callback;\r\n\r\n this.resetModel();\r\n await this.loadKlasse();\r\n\r\n this.popup.instance.show();\r\n }\r\n\r\n private async loadKlasse() {\r\n this.model.klasseList = await this.restService.get({\r\n url: this.restService.getApiUrl(\"ZIT/Schnuppertermin/Klasse\"),\r\n increaseLoadingCount: true\r\n });\r\n }\r\n private async loadPerson() {\r\n this.model.personList = await this.restService.post({\r\n url: this.restService.getApiUrl(\"ZIT/Schnuppertermin/PersonFilter\"),\r\n increaseLoadingCount: true,\r\n data: {\r\n IdKlasse: this.model.idKlasse,\r\n Name: this.model.name\r\n }\r\n });\r\n }\r\n private resetModel() {\r\n this.model = {\r\n klasseList: [],\r\n personList: []\r\n };\r\n }\r\n}\r\n\r\ninterface IModel {\r\n name?: string;\r\n idKlasse?: number;\r\n\r\n klasseList: any[];\r\n personList: any[];\r\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\";\r\nimport { ScopeContainer, LocalizationService, RestService, DataSourceService } from \"../../../framework/base/export\";\r\nimport { IdxValidationGroupComponent, IdxPopupComponent } from \"../../interfaces/export\";\r\nimport { ICommandData, SimpleWidgetCreatorService } from \"../../../framework/forms/export\";\r\nimport { EventAggregator } from \"aurelia-event-aggregator\";\r\n\r\n@autoinject\r\nexport class SchnupperterminStornieren {\r\n constructor(\r\n private simpleWidgetCreatorService: SimpleWidgetCreatorService,\r\n private localizationService: LocalizationService,\r\n private restService: RestService,\r\n private eventAggregator: EventAggregator,\r\n private dataSourceService: DataSourceService\r\n ) {}\r\n\r\n scope: Scope;\r\n scopeContainer: ScopeContainer;\r\n \r\n showOptions: ISchnupperterminStornierenShowOptions;\r\n model: IStornierenModel;\r\n validationGroup: IdxValidationGroupComponent;\r\n\r\n popup: IdxPopupComponent;\r\n popupOptions: DevExpress.ui.dxPopupOptions = {\r\n contentTemplate: \"contentTemplate\",\r\n width: \"500px\",\r\n height: \"auto\"\r\n };\r\n\r\n grundOptions: DevExpress.ui.dxSelectBoxOptions = {\r\n showClearButton: true,\r\n searchEnabled: true,\r\n displayExpr: \"Bezeichnung\",\r\n valueExpr: \"Id\",\r\n bindingOptions: {\r\n value: \"model.idGrund\"\r\n }\r\n };\r\n stornierenSpeichernCommand: ICommandData = {\r\n id: \"stornierenSpeichernCommand\",\r\n icon: \"fas fa-check\",\r\n sortIndex: 1000,\r\n tooltip: \"base.save\",\r\n execute: () => {\r\n this.validateAndStornieren();\r\n }\r\n };\r\n\r\n bind() {\r\n this.scope = {\r\n bindingContext: this,\r\n overrideContext: null\r\n };\r\n this.scopeContainer = new ScopeContainer(this.scope);\r\n\r\n this.simpleWidgetCreatorService.updatePopupOptions({\r\n idToolbar: \"schnupperterminStornierenToolbar\",\r\n caption: \"schnuppertermin.stornieren-header\",\r\n scopeContainer: this.scopeContainer,\r\n options: this.popupOptions,\r\n commands: [this.stornierenSpeichernCommand]\r\n });\r\n\r\n this.grundOptions[\"validators\"] = [this.createRequiredRule(\"Stornierungsgrund\")];\r\n\r\n this.createStornierenGrundDataSource();\r\n }\r\n unbind() {\r\n this.scopeContainer.disposeAll();\r\n this.scopeContainer = null;\r\n }\r\n\r\n async show(options: ISchnupperterminStornierenShowOptions) {\r\n this.showOptions = options;\r\n\r\n this.resetModel();\r\n this.popup.instance.show(); \r\n }\r\n \r\n private createRequiredRule(text: string) {\r\n return {\r\n type: \"required\",\r\n message: this.localizationService.translateOnce(\"forms.validator_required\", [text])\r\n };\r\n }\r\n \r\n private createStornierenGrundDataSource() {\r\n this.grundOptions.dataSource = this.dataSourceService.createDataSource(\r\n this.scopeContainer, {\r\n webApiAction: \"ZIT/Stammdaten/Grund\",\r\n webApiColumns: [\"Id\", \"Bezeichnung\"],\r\n webApiWhere: [\"Typ\", 2],\r\n webApiOrderBy: [{ columnName: \"SortNr\", sortOrder: 0 }, { columnName: \"Bezeichnung\", sortOrder: 1 }]\r\n }\r\n );\r\n }\r\n private async validateAndStornieren() {\r\n const validationResult = this.validationGroup.instance.validate();\r\n if (!validationResult.isValid) {\r\n DevExpress.ui.notify(\r\n validationResult.brokenRules[0].message,\r\n \"ERROR\",\r\n 3000\r\n );\r\n\r\n return;\r\n }\r\n\r\n await this.restService.post({\r\n url: this.restService.getApiUrl(\"ZIT/Schnuppertermin/SchnupperterminStornieren\"),\r\n increaseLoadingCount: true,\r\n data: {\r\n IdStornoGrund: this.model.idGrund,\r\n IdEventTeilnehmer: this.showOptions.idEventTeilnehmer,\r\n IdStelleninserat: this.showOptions.idStelleninserat\r\n }\r\n });\r\n\r\n DevExpress.ui.notify(\r\n this.localizationService.translateOnce(\"schnuppertermin-utils.stornierung_erfolgreich\"), \r\n \"SUCCESS\", \r\n 3000);\r\n \r\n this.eventAggregator.publish(\"schnuppertermin:erstellt\", {\r\n IdStelleninserat: this.showOptions.idStelleninserat,\r\n IdEventTeilnehmer: 0,\r\n HasDokument: false\r\n });\r\n\r\n this.popup.instance.hide();\r\n\r\n if (this.showOptions.callback) {\r\n this.showOptions.callback();\r\n }\r\n }\r\n private resetModel() {\r\n this.model = {};\r\n }\r\n}\r\n\r\nexport interface ISchnupperterminStornierenShowOptions {\r\n idStelleninserat: number;\r\n idEventTeilnehmer: number;\r\n\r\n callback: {(): void};\r\n}\r\ninterface IStornierenModel {\r\n idGrund?: number;\r\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\";\r\nimport { IdxPopupComponent, IdxDataGridComponent } from '../../interfaces/dx-components';\r\nimport { ScopeContainer, GlobalizationService, DataSourceService } from '../../../framework/base/export';\r\nimport { SimpleWidgetCreatorService, ICommandData } from '../../../framework/forms/export';\r\nimport * as moment from \"moment\";\r\nimport { StartupService } from '../../services/export';\r\nimport { SchnupperterminTag } from '../schnuppertermin-tag/schnuppertermin-tag';\r\n\r\n@autoinject\r\nexport class SchnupperterminTagList {\r\n constructor(\r\n private simpleWidgetCreatorService: SimpleWidgetCreatorService,\r\n private globalizationService: GlobalizationService,\r\n private dataSourceService: DataSourceService,\r\n private startupService: StartupService\r\n ) { }\r\n\r\n scope: Scope;\r\n scopeContainer: ScopeContainer;\r\n\r\n schnupperterminTag: SchnupperterminTag;\r\n model: IModel;\r\n\r\n popup: IdxPopupComponent;\r\n popupOptions: DevExpress.ui.dxPopupOptions = {\r\n contentTemplate: \"contentTemplate\",\r\n width: \"1100px\",\r\n height: \"auto\",\r\n maxHeight: \"90vh\"\r\n };\r\n\r\n schuleOptions: DevExpress.ui.dxSelectBoxOptions = {\r\n searchEnabled: true,\r\n showClearButton: true,\r\n displayExpr: \"Name1\",\r\n valueExpr: \"Id\",\r\n bindingOptions: {\r\n readOnly: \"model.isSchuleReadOnly\",\r\n value: \"model.idSchule\"\r\n },\r\n onValueChangedByUser: () => this.tagGrid.instance.refresh()\r\n };\r\n geschaeftspartnerOptions: DevExpress.ui.dxSelectBoxOptions = {\r\n searchEnabled: true,\r\n showClearButton: true,\r\n displayExpr: \"Name1\",\r\n valueExpr: \"Id\",\r\n bindingOptions: {\r\n readOnly: \"model.isGeschaeftspartnerReadOnly\",\r\n value: \"model.idGeschaeftspartner\"\r\n },\r\n onValueChangedByUser: () => this.tagGrid.instance.refresh()\r\n };\r\n personOptions: DevExpress.ui.dxSelectBoxOptions = {\r\n searchEnabled: true,\r\n showClearButton: true,\r\n displayExpr: \"Name\",\r\n valueExpr: \"Id\",\r\n bindingOptions: {\r\n value: \"model.idPerson\"\r\n },\r\n onValueChangedByUser: () => this.tagGrid.instance.refresh()\r\n };\r\n vonOptions: DevExpress.ui.dxDateBoxOptions = {\r\n displayFormat: this.globalizationService.getFormatterParser(\"d\"),\r\n showClearButton: true,\r\n bindingOptions: {\r\n value: \"model.von\"\r\n },\r\n onValueChangedByUser: () => this.tagGrid.instance.refresh()\r\n };\r\n bisOptions: DevExpress.ui.dxDateBoxOptions = {\r\n displayFormat: this.globalizationService.getFormatterParser(\"d\"),\r\n showClearButton: true,\r\n bindingOptions: {\r\n value: \"model.bis\"\r\n },\r\n onValueChangedByUser: () => this.tagGrid.instance.refresh()\r\n };\r\n tagGrid: IdxDataGridComponent;\r\n tagGridOptions: DevExpress.ui.dxDataGridOptions = {\r\n allowColumnResizing: true,\r\n columns: [{\r\n dataField: \"Bezeichnung\",\r\n caption: \"Bezeichnung\"\r\n }, {\r\n dataField: \"_Schule\",\r\n caption: \"Schule\",\r\n allowSorting: false\r\n }, {\r\n dataField: \"_Geschaeftspartner\",\r\n caption: \"Geschäftspartner\",\r\n allowSorting: false\r\n }, {\r\n dataField: \"Person.Name\",\r\n caption: \"Person\"\r\n }, {\r\n dataField: \"Start\",\r\n caption: \"Start\",\r\n width: \"120px\",\r\n sortIndex: 0,\r\n sortOrder: \"asc\",\r\n cellTemplate: (element, info) => {\r\n const val = this.globalizationService.format(info.data.Start, \"DT_DD.MM.YYYY (dd)\").toUpperCase();\r\n element.innerHTML = val;\r\n }\r\n }, {\r\n dataField: \"Ende\",\r\n caption: \"Ende\",\r\n width: \"120px\",\r\n cellTemplate: (element, info) => {\r\n const val = this.globalizationService.format(info.data.Ende, \"DT_DD.MM.YYYY (dd)\").toUpperCase();\r\n element.innerHTML = val;\r\n }\r\n }],\r\n keyExpr: \"Id\",\r\n height: \"400px\",\r\n remoteOperations: {\r\n filtering: true,\r\n paging: true,\r\n sorting: true\r\n },\r\n onRowClick: (e) => {\r\n this.schnupperterminTag.show({\r\n idSchnupperterminTag: e.data.Id,\r\n callbackOnChanges: () => this.tagGrid.instance.refresh()\r\n });\r\n }\r\n }\r\n\r\n schnupperterminTagNeuCommand: ICommandData = {\r\n id: \"schnupperterminTagNeuCommand\",\r\n icon: \"fas fa-plus\",\r\n sortIndex: 1000,\r\n tooltip: \"base.add\",\r\n execute: () => {\r\n this.onNeuClick();\r\n }\r\n };\r\n\r\n bind() {\r\n this.scope = {\r\n bindingContext: this,\r\n overrideContext: null\r\n };\r\n this.scopeContainer = new ScopeContainer(this.scope);\r\n\r\n this.simpleWidgetCreatorService.updatePopupOptions({\r\n idToolbar: \"schnupperterminTagToolbar\",\r\n caption: \"schnuppertermin.schnuppertermin-tage-uebersicht\",\r\n scopeContainer: this.scopeContainer,\r\n options: this.popupOptions,\r\n commands: [this.schnupperterminTagNeuCommand]\r\n });\r\n\r\n this.createSchuleDataSource();\r\n this.createGeschaeftspartnerDataSource();\r\n this.createPersonDataSource();\r\n this.createSchnupperterminTagDataSource();\r\n }\r\n unbind() {\r\n this.scopeContainer.disposeAll();\r\n this.scopeContainer = null;\r\n }\r\n\r\n async show(options: ISchnupperterminTagListShowOptions) {\r\n this.resetModel();\r\n\r\n const isKunde = this.startupService.startupInfo.Benutzer.CodeBenutzerrolle == \"KUNDE\";\r\n const isKundeSchule = this.startupService.startupInfo.Benutzer.CodeBenutzerrolle == \"KUNDE-SCHULE\";\r\n\r\n this.model.isGeschaeftspartnerReadOnly = isKunde;\r\n this.model.isSchuleReadOnly = isKundeSchule;\r\n\r\n if (options.idGeschaeftspartner) {\r\n this.model.idGeschaeftspartner = options.idGeschaeftspartner;\r\n }\r\n else if (isKunde) {\r\n this.model.idGeschaeftspartner = this.startupService.startupInfo.Benutzer.IdGeschaeftspartner;\r\n } \r\n \r\n if (isKundeSchule) {\r\n this.model.idSchule = this.startupService.startupInfo.Benutzer.IdGeschaeftspartner;\r\n }\r\n\r\n await this.popup.instance.show();\r\n this.popup.instance.repaint();\r\n }\r\n\r\n onNeuClick() {\r\n this.schnupperterminTag.show({\r\n start: this.model.von,\r\n ende: this.model.bis,\r\n idGeschaeftspartner: this.model.idGeschaeftspartner,\r\n idSchule: this.model.idSchule,\r\n idPerson: this.model.idPerson,\r\n callbackOnChanges: () => this.tagGrid.instance.refresh()\r\n });\r\n }\r\n\r\n private createSchuleDataSource() {\r\n this.schuleOptions.dataSource = this.dataSourceService.createDataSource(\r\n this.scopeContainer, {\r\n webApiAction: \"ZIT/Simple/Geschaeftspartner\",\r\n webApiWhere: [\"IsGeschaeftspartnerSchule\", true],\r\n webApiOrderBy: [{ columnName: \"Name1\", sortOrder: 0 }]\r\n }\r\n );\r\n }\r\n private createGeschaeftspartnerDataSource() {\r\n this.geschaeftspartnerOptions.dataSource = this.dataSourceService.createDataSource(\r\n this.scopeContainer, {\r\n webApiAction: \"ZIT/Simple/Geschaeftspartner\",\r\n webApiOrderBy: [{ columnName: \"Name1\", sortOrder: 0 }]\r\n }\r\n );\r\n }\r\n private createPersonDataSource() {\r\n this.personOptions.dataSource = this.dataSourceService.createDataSource(\r\n this.scopeContainer, {\r\n webApiAction: \"ZIT/Objekte/Person\",\r\n webApiColumns: [\"Id\", \"Name\"],\r\n webApiOrderBy: [{ columnName: \"Name\", sortOrder: 0 }],\r\n filters: [{\r\n webApiCustomKey: \"MitBewerbungGeschaeftspartnerSchule\", webApiCustomValue: \"true\"\r\n }]\r\n }\r\n );\r\n }\r\n private createSchnupperterminTagDataSource() {\r\n this.tagGridOptions.dataSource = this.dataSourceService.createDataSource(\r\n this.scopeContainer, {\r\n webApiAction: \"ZIT/Stammdaten/SchnupperterminTag\",\r\n webApiExpand: {\r\n Person: {\r\n columns: [\"Id\", \"Name\"]\r\n }\r\n },\r\n filters: [{\r\n webApiCustomKey: \"InklSchuleUndGP\", webApiCustomValue: \"true\"\r\n }]\r\n }, {\r\n getCustomWhere: () => {\r\n const where = [];\r\n\r\n if (this.model.von) {\r\n where.push([\"Ende\", \">=\", this.model.von]);\r\n }\r\n if (this.model.bis) {\r\n where.push([\"Start\", \"<=\", this.model.bis]);\r\n }\r\n if (this.model.idGeschaeftspartner) {\r\n where.push([\"IdGeschaeftspartner\", this.model.idGeschaeftspartner]);\r\n }\r\n if (this.model.idPerson) {\r\n where.push([\"IdPerson\", this.model.idPerson]);\r\n }\r\n if (this.model.idSchule) {\r\n where.push([\"SchnupperterminTagZuSchulen\", [\"IdGeschaeftspartnerSchule\", this.model.idSchule]]);\r\n }\r\n\r\n return where;\r\n }\r\n }\r\n );\r\n }\r\n private resetModel() {\r\n this.model = {\r\n von: moment().startOf(\"day\").toDate()\r\n }\r\n }\r\n}\r\n\r\nexport interface ISchnupperterminTagListShowOptions {\r\n idGeschaeftspartner?: number\r\n}\r\ninterface IModel {\r\n idSchule?: number;\r\n isSchuleReadOnly?: boolean;\r\n idGeschaeftspartner?: number;\r\n isGeschaeftspartnerReadOnly?: boolean;\r\n idPerson?: number;\r\n\r\n von?: Date;\r\n bis?: Date;\r\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\";\r\nimport { IdxPopupComponent, IdxValidationGroupComponent } from \"../../interfaces/dx-components\";\r\nimport { ScopeContainer, GlobalizationService, DataSourceService, LocalizationService, RestService } from \"../../../framework/base/export\";\r\nimport { SimpleWidgetCreatorService, ICommandData, DialogConfirmService } from \"../../../framework/forms/export\";\r\nimport { StartupService } from \"../../services/export\";\r\n\r\n@autoinject\r\nexport class SchnupperterminTag {\r\n private _callbackOnChanges?: {(): void};\r\n\r\n constructor(\r\n private _simpleWidgetCreatorService: SimpleWidgetCreatorService,\r\n private _globalizationService: GlobalizationService,\r\n private _dataSourceService: DataSourceService,\r\n private _startupService: StartupService,\r\n private _localizationService: LocalizationService,\r\n private _restService: RestService,\r\n private _dialogConfirmService: DialogConfirmService\r\n ) { }\r\n\r\n scope: Scope;\r\n scopeContainer: ScopeContainer;\r\n\r\n model: IModel;\r\n privateModel: IPrivateModel;\r\n\r\n popup: IdxPopupComponent;\r\n popupOptions: DevExpress.ui.dxPopupOptions = {\r\n contentTemplate: \"contentTemplate\",\r\n width: \"750px\",\r\n height: \"auto\",\r\n maxHeight: \"90vh\"\r\n };\r\n\r\n bezeichnungOptions: DevExpress.ui.dxTextBoxOptions = {\r\n maxLength: 250,\r\n bindingOptions: {\r\n readOnly: \"model._IsVerwendet\",\r\n value: \"model.Bezeichnung\"\r\n }\r\n };\r\n typOptions: DevExpress.ui.dxRadioGroupOptions = {\r\n valueExpr: \"id\",\r\n displayExpr: \"text\",\r\n items: [\r\n { id: SchnupperterminTagTyp.Schule, text: \"Schultermin\" },\r\n { id: SchnupperterminTagTyp.Individuell, text: \"Individueller Termin\" },\r\n { id: SchnupperterminTagTyp.Geschaeftspartner, text: \"Geschäftspartnertermin\" },\r\n ],\r\n bindingOptions: {\r\n readOnly: \"model._IsVerwendet\",\r\n value: \"model.Typ\"\r\n }\r\n };\r\n standarddauerOptions: DevExpress.ui.dxNumberBoxOptions = {\r\n min: 1,\r\n max: 999,\r\n format: this._globalizationService.getNumberFormat(\"f0\"),\r\n bindingOptions: {\r\n readOnly: \"model._IsVerwendet\",\r\n value: \"model.Standarddauer\"\r\n }\r\n };\r\n mindestdauerOptions: DevExpress.ui.dxNumberBoxOptions = {\r\n min: 1,\r\n max: 999,\r\n format: this._globalizationService.getNumberFormat(\"f0\"),\r\n bindingOptions: {\r\n readOnly: \"model._IsVerwendet\",\r\n value: \"model.Mindestdauer\"\r\n }\r\n };\r\n maximaldauerOptions: DevExpress.ui.dxNumberBoxOptions = {\r\n min: 1,\r\n max: 999,\r\n format: this._globalizationService.getNumberFormat(\"f0\"),\r\n bindingOptions: {\r\n readOnly: \"model._IsVerwendet\",\r\n value: \"model.Maximaldauer\"\r\n }\r\n };\r\n kontingentOptions: DevExpress.ui.dxNumberBoxOptions = {\r\n min: 0,\r\n max: 999,\r\n format: this._globalizationService.getNumberFormat(\"f0\"),\r\n bindingOptions: {\r\n readOnly: \"!model.IdGeschaeftspartner\",\r\n value: \"model.MaxAnzahlTeilnehmer\"\r\n }\r\n };\r\n schuleOptions: DevExpress.ui.dxTagBoxOptions = {\r\n searchEnabled: true,\r\n showClearButton: true,\r\n displayExpr: \"Name1\",\r\n valueExpr: \"Id\",\r\n bindingOptions: {\r\n readOnly: \"privateModel.isSchuleReadOnly || model._IsVerwendet\",\r\n value: \"privateModel.idSchuleList\"\r\n }\r\n };\r\n lehrberufOptions: DevExpress.ui.dxTagBoxOptions = {\r\n searchEnabled: true,\r\n showClearButton: true,\r\n displayExpr: \"Bezeichnung\",\r\n valueExpr: \"Id\",\r\n bindingOptions: {\r\n dataSource: \"privateModel.lehrberufDataSource\",\r\n readOnly: \"!model.IdGeschaeftspartner || model._IsVerwendet\",\r\n value: \"privateModel.idLehrberufList\"\r\n }\r\n };\r\n geschaeftspartnerOptions: DevExpress.ui.dxSelectBoxOptions = {\r\n searchEnabled: true,\r\n showClearButton: true,\r\n displayExpr: \"Name1\",\r\n valueExpr: \"Id\",\r\n bindingOptions: {\r\n readOnly: \"privateModel.isGeschaeftspartnerReadOnly || model._IsVerwendet || model.IdPerson\",\r\n value: \"model.IdGeschaeftspartner\"\r\n },\r\n onValueChangedByUser: () => {\r\n if (!this.model.IdGeschaeftspartner) {\r\n this.model.MaxAnzahlTeilnehmer = null;\r\n }\r\n \r\n this.createTerminDataSource();\r\n this.createLehrberufDataSource();\r\n this.model.IdGeschaeftspartnerTermin = null;\r\n this.privateModel.idLehrberufList = [];\r\n }\r\n };\r\n terminOptions: DevExpress.ui.dxSelectBoxOptions = {\r\n searchEnabled: true,\r\n showClearButton: true,\r\n displayExpr: \"DisplayText\",\r\n valueExpr: \"Id\",\r\n bindingOptions: {\r\n dataSource: \"privateModel.terminDataSource\",\r\n readOnly: \"!model.IdGeschaeftspartner || model._IsVerwendet\",\r\n value: \"model.IdGeschaeftspartnerTermin\"\r\n }\r\n };\r\n personOptions: DevExpress.ui.dxSelectBoxOptions = {\r\n searchEnabled: true,\r\n showClearButton: true,\r\n displayExpr: \"Name\",\r\n valueExpr: \"Id\",\r\n bindingOptions: {\r\n readOnly: \"model._IsVerwendet || model.IdGeschaeftspartner\",\r\n value: \"model.IdPerson\"\r\n }\r\n };\r\n startOptions: DevExpress.ui.dxDateBoxOptions = {\r\n displayFormat: this._globalizationService.getFormatterParser(\"d\"),\r\n showClearButton: true,\r\n bindingOptions: {\r\n readOnly: \"model._IsVerwendet\",\r\n value: \"model.Start\"\r\n },\r\n onValueChangedByUser: () => {\r\n this.createTerminDataSource();\r\n }\r\n };\r\n endeOptions: DevExpress.ui.dxDateBoxOptions = {\r\n displayFormat: this._globalizationService.getFormatterParser(\"d\"),\r\n showClearButton: true,\r\n bindingOptions: {\r\n readOnly: \"model._IsVerwendet\",\r\n value: \"model.Ende\"\r\n },\r\n onValueChangedByUser: () => {\r\n this.createTerminDataSource();\r\n }\r\n };\r\n nichtZurAuswahlOptions: DevExpress.ui.dxCheckBoxOptions = {\r\n text: \"nicht mehr zur Auswahl anzeigen\",\r\n bindingOptions: {\r\n value: \"model.NichtMehrZurAuswahl\"\r\n }\r\n };\r\n validationGroup: IdxValidationGroupComponent;\r\n\r\n speichernCommand: ICommandData = {\r\n id: \"speichernCommand\",\r\n icon: \"fas fa-save\",\r\n tooltip: \"base.save\",\r\n sortIndex: 1000,\r\n isVisible: true,\r\n execute: () => {\r\n if (!this.validate()) {\r\n return;\r\n }\r\n\r\n this.saveSchnupperterminTag();\r\n }\r\n };\r\n loeschenCommand: ICommandData = {\r\n id: \"loeschenCommand\",\r\n icon: \"fas fa-trash-alt\",\r\n tooltip: \"base.delete\",\r\n sortIndex: 1050,\r\n isVisible: true,\r\n execute: async() => {\r\n const r = await this._dialogConfirmService.show({\r\n title: this._localizationService.translateOnce(\"base.question\"),\r\n message: this._localizationService.translateOnce(\"base.sure_delete_question\")\r\n });\r\n \r\n if (!r) {\r\n return;\r\n }\r\n\r\n this.deleteSchnupperterminTag();\r\n }\r\n };\r\n\r\n bind() {\r\n this.scope = {\r\n bindingContext: this,\r\n overrideContext: null\r\n };\r\n this.scopeContainer = new ScopeContainer(this.scope);\r\n\r\n this._simpleWidgetCreatorService.updatePopupOptions({\r\n idToolbar: \"schnupperterminTagToolbar\",\r\n caption: \"schnuppertermin.schnuppertermin-tage\",\r\n scopeContainer: this.scopeContainer,\r\n options: this.popupOptions,\r\n commands: [this.speichernCommand, this.loeschenCommand]\r\n });\r\n\r\n this.createSchuleDataSource();\r\n this.createGeschaeftspartnerDataSource();\r\n this.createPersonDataSource();\r\n\r\n this.bezeichnungOptions[\"validators\"] = [this.createRequiredRule(\"Bezeichnung\")];\r\n this.typOptions[\"validators\"] = [this.createRequiredRule(\"Typ\")];\r\n this.startOptions[\"validators\"] = [this.createRequiredRule(\"Start\")];\r\n this.endeOptions[\"validators\"] = [this.createRequiredRule(\"Ende\")];\r\n }\r\n unbind() {\r\n this.scopeContainer.disposeAll();\r\n this.scopeContainer = null;\r\n }\r\n\r\n async show(options: ISchnupperterminTagShowOptions) {\r\n this._callbackOnChanges = options.callbackOnChanges;\r\n this.resetModel();\r\n\r\n const isKunde = this._startupService.startupInfo.Benutzer.CodeBenutzerrolle == \"KUNDE\";\r\n const isKundeSchule = this._startupService.startupInfo.Benutzer.CodeBenutzerrolle == \"KUNDE-SCHULE\";\r\n\r\n this.privateModel.isGeschaeftspartnerReadOnly = isKunde;\r\n this.privateModel.isSchuleReadOnly = isKundeSchule;\r\n\r\n if (options.idSchnupperterminTag) {\r\n await this.loadSchnupperterminTag(options.idSchnupperterminTag);\r\n } else {\r\n if (options.idGeschaeftspartner) {\r\n this.model.IdGeschaeftspartner = options.idGeschaeftspartner;\r\n }\r\n if (options.idPerson) {\r\n this.model.IdPerson = options.idPerson;\r\n }\r\n if (options.idSchule) {\r\n this.privateModel.idSchuleList.push(options.idSchule);\r\n }\r\n if (options.start) {\r\n this.model.Start = options.start;\r\n }\r\n if (options.ende) {\r\n this.model.Ende = options.ende;\r\n }\r\n }\r\n\r\n this.loeschenCommand.isVisible = !this.model._IsVerwendet && !!this.model.Id;\r\n \r\n this.createTerminDataSource();\r\n this.createLehrberufDataSource();\r\n\r\n await this.popup.instance.show();\r\n this.popup.instance.repaint();\r\n }\r\n close(hasChangedSomething: boolean = true) {\r\n if (hasChangedSomething && this._callbackOnChanges) {\r\n this._callbackOnChanges();\r\n }\r\n\r\n this.popup.instance.hide();\r\n }\r\n\r\n private createSchuleDataSource() {\r\n this.schuleOptions.dataSource = this._dataSourceService.createDataSource(\r\n this.scopeContainer, {\r\n webApiAction: \"ZIT/Simple/Geschaeftspartner\",\r\n webApiWhere: [\"IsGeschaeftspartnerSchule\", true],\r\n webApiOrderBy: [{ columnName: \"Name1\", sortOrder: 0 }]\r\n }\r\n );\r\n }\r\n private createGeschaeftspartnerDataSource() {\r\n this.geschaeftspartnerOptions.dataSource = this._dataSourceService.createDataSource(\r\n this.scopeContainer, {\r\n webApiAction: \"ZIT/Simple/Geschaeftspartner\",\r\n webApiOrderBy: [{ columnName: \"Name1\", sortOrder: 0 }]\r\n }\r\n );\r\n }\r\n private createTerminDataSource() {\r\n if (this.model && this.model.IdGeschaeftspartner && this.model.Start && this.model.Ende) {\r\n this.privateModel.terminDataSource = this._dataSourceService.createDataSource(\r\n this.scopeContainer, {\r\n webApiAction: \"ZIT/Objekte/Termin\",\r\n webApiColumns: [\"Id\", \"DisplayText\"],\r\n webApiWhere: [\r\n [\"Kopf.IdGeschaeftspartner\", this.model.IdGeschaeftspartner], \r\n [\"IsSchnuppertermin\", false],\r\n [\"Kopf.EndeDatum\", \">=\", this.model.Start],\r\n [\"Kopf.StartDatum\", \"<=\", this.model.Ende],\r\n [\"ObjektStatusCode\", \"VERTEILT\"]\r\n ],\r\n webApiOrderBy: [{ columnName: \"DisplayText\", sortOrder: 0 }]\r\n }\r\n );\r\n } else {\r\n this.privateModel.terminDataSource = [];\r\n } \r\n }\r\n private createPersonDataSource() {\r\n this.personOptions.dataSource = this._dataSourceService.createDataSource(\r\n this.scopeContainer, {\r\n webApiAction: \"ZIT/Objekte/Person\",\r\n webApiColumns: [\"Id\", \"Name\"],\r\n webApiOrderBy: [{ columnName: \"Name\", sortOrder: 0 }],\r\n filters: [{\r\n webApiCustomKey: \"MitBewerbungGeschaeftspartnerSchule\", webApiCustomValue: \"true\"\r\n }]\r\n }\r\n );\r\n }\r\n private createLehrberufDataSource() {\r\n if (this.model && this.model.IdGeschaeftspartner) {\r\n this.privateModel.lehrberufDataSource = this._dataSourceService.createDataSource(\r\n this.scopeContainer, {\r\n webApiAction: \"ZIT/Stammdaten/Lehrberuf\",\r\n webApiColumns: [\"Id\", \"Bezeichnung\"],\r\n webApiOrderBy: [{ columnName: \"SortNr\", sortOrder: 0 }, { columnName: \"Bezeichnung\", sortOrder: 0 }],\r\n filters: [\r\n { webApiCustomKey: \"IdGeschaeftspartner\", webApiCustomValue: this.model.IdGeschaeftspartner.toString() }\r\n ]\r\n }\r\n );\r\n } else {\r\n this.privateModel.lehrberufDataSource = [];\r\n }\r\n }\r\n private createRequiredRule(text: string) {\r\n return {\r\n type: \"required\",\r\n message: this._localizationService.translateOnce(\"forms.validator_required\", [text])\r\n };\r\n }\r\n\r\n private async loadSchnupperterminTag(id: number) {\r\n this.model = await this._restService.get({\r\n url: this._restService.getWebApiUrl(`ZIT/Stammdaten/SchnupperterminTag/${id}`),\r\n getOptions: {\r\n expand: {\r\n SchnupperterminTagZuSchulen: null,\r\n SchnupperterminTagZuLehrberufe: null\r\n }\r\n },\r\n increaseLoadingCount: true\r\n });\r\n\r\n this.privateModel.idSchuleList = this.model.SchnupperterminTagZuSchulen.map((i) => i.IdGeschaeftspartnerSchule);\r\n this.privateModel.idLehrberufList = this.model.SchnupperterminTagZuLehrberufe.map((i) => i.IdLehrberuf);\r\n }\r\n private async saveSchnupperterminTag() {\r\n this.convertTagBoxToObject(this.privateModel.idSchuleList, this.model.SchnupperterminTagZuSchulen, \"IdGeschaeftspartnerSchule\");\r\n this.convertTagBoxToObject(this.privateModel.idLehrberufList, this.model.SchnupperterminTagZuLehrberufe, \"IdLehrberuf\");\r\n\r\n await this._restService.post({\r\n url: this._restService.getWebApiUrl(\"ZIT/Stammdaten/SchnupperterminTag\"),\r\n data: this.model,\r\n increaseLoadingCount: true\r\n });\r\n\r\n DevExpress.ui.notify(\r\n this._localizationService.translateOnce(\"base.save_success\"),\r\n \"SUCCESS\",\r\n 3000\r\n );\r\n\r\n this.close();\r\n }\r\n private async deleteSchnupperterminTag() {\r\n await this._restService.delete({\r\n url: this._restService.getWebApiUrl(\"ZIT/Stammdaten/SchnupperterminTag/\"),\r\n id: this.model.Id,\r\n increaseLoadingCount: true\r\n });\r\n\r\n this.close();\r\n }\r\n private convertTagBoxToObject(idList: number[], dataList: any[], property: string) {\r\n for (const id of idList) {\r\n const exists = dataList.some((i) => i[property] == id);\r\n if (exists) {\r\n continue;\r\n }\r\n\r\n const newObj = {};\r\n newObj[property] = id;\r\n dataList.push(newObj);\r\n }\r\n\r\n const deleteIndex: number[] = [];\r\n dataList.forEach((item, index) => {\r\n const exists = idList.some((i) => item[property] == i);\r\n if (exists) {\r\n return;\r\n }\r\n\r\n deleteIndex.push(index);\r\n });\r\n\r\n for (let i = deleteIndex.length - 1; i >= 0; i--) {\r\n dataList.splice(i, 1);\r\n }\r\n }\r\n private validate(): boolean {\r\n const validationResult = this.validationGroup.instance.validate();\r\n if (!validationResult.isValid) {\r\n DevExpress.ui.notify(\r\n validationResult.brokenRules[0].message,\r\n \"ERROR\",\r\n 3000\r\n );\r\n\r\n return false;\r\n }\r\n\r\n if (this.privateModel.idSchuleList.length == 0) {\r\n DevExpress.ui.notify(\r\n \"Es muss min. eine Schule ausgewählt werden\",\r\n \"ERROR\",\r\n 3000\r\n );\r\n\r\n return false;\r\n }\r\n\r\n if (this.model.Mindestdauer != void(0) && this.model.Standarddauer != void(0)) {\r\n if (this.model.Mindestdauer > this.model.Standarddauer) {\r\n DevExpress.ui.notify(\r\n \"Standarddauer kann nicht kleiner als Mindestdauer sein\",\r\n \"ERROR\",\r\n 3000\r\n );\r\n return false;\r\n }\r\n }\r\n if (this.model.Maximaldauer != void(0) && this.model.Standarddauer != void(0)) {\r\n if (this.model.Maximaldauer < this.model.Standarddauer) {\r\n DevExpress.ui.notify(\r\n \"Standarddauer kann nicht größer als Maximaldauer sein\",\r\n \"ERROR\",\r\n 3000\r\n );\r\n return false;\r\n }\r\n }\r\n if (this.model.Mindestdauer != void(0) && this.model.Maximaldauer != void(0)) {\r\n if (this.model.Mindestdauer > this.model.Maximaldauer) {\r\n DevExpress.ui.notify(\r\n \"Maximaldauer kann nicht kleiner als Minimaldauer sein\",\r\n \"ERROR\",\r\n 3000\r\n );\r\n return false;\r\n }\r\n }\r\n\r\n return true;\r\n }\r\n private resetModel() {\r\n this.model = {\r\n SchnupperterminTagZuLehrberufe: [],\r\n SchnupperterminTagZuSchulen: [],\r\n NichtMehrZurAuswahl: false\r\n };\r\n\r\n this.privateModel = {\r\n idSchuleList: [],\r\n idLehrberufList: [],\r\n isGeschaeftspartnerReadOnly: false,\r\n isSchuleReadOnly: false,\r\n terminDataSource: [],\r\n lehrberufDataSource: []\r\n };\r\n }\r\n}\r\n\r\nexport interface ISchnupperterminTagShowOptions {\r\n idSchnupperterminTag?: number;\r\n\r\n idGeschaeftspartner?: number;\r\n idSchule?: number;\r\n idPerson?: number;\r\n start?: Date;\r\n ende?: Date;\r\n\r\n callbackOnChanges?: {(): void};\r\n}\r\ninterface IModel {\r\n Id?: number;\r\n\r\n Bezeichnung?: string;\r\n IdGeschaeftspartner?: number;\r\n IdGeschaeftspartnerTermin?: number;\r\n IdPerson?: number;\r\n Typ?: SchnupperterminTagTyp;\r\n\r\n Start?: Date;\r\n Ende?: Date;\r\n\r\n Standarddauer?: number;\r\n Mindestdauer?: number;\r\n Maximaldauer?: number;\r\n MaxAnzahlTeilnehmer?: number;\r\n\r\n NichtMehrZurAuswahl: boolean;\r\n\r\n SchnupperterminTagZuSchulen?: {Id?: number; IdSchnupperterminTag?: number; IdGeschaeftspartnerSchule?: number}[];\r\n SchnupperterminTagZuLehrberufe?: {Id?: number; IdSchnupperterminTag?: number; IdLehrberuf?: number}[];\r\n\r\n _IsVerwendet?: boolean;\r\n}\r\ninterface IPrivateModel {\r\n idSchuleList?: number[];\r\n idLehrberufList?: number[];\r\n\r\n isGeschaeftspartnerReadOnly: boolean;\r\n isSchuleReadOnly: boolean;\r\n\r\n lehrberufDataSource: DevExpress.data.DataSource | any[];\r\n terminDataSource: DevExpress.data.DataSource | any[];\r\n}\r\nexport enum SchnupperterminTagTyp {\r\n Schule = 0,\r\n Individuell = 1,\r\n Geschaeftspartner = 2\r\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';\r\nimport { LocationService } from './../../../framework/base/services/location-service';\r\nimport { SortOrderColumnEnum } from './../../../framework/forms/enums/sort-order-column-enum';\r\nimport { DxWidget } from './../../../framework/dx/elements/dx-widget';\r\nimport { observable } from 'aurelia-framework';\r\nimport { RestService } from './../../../framework/base/services/rest-service';\r\nimport { autoinject, Scope, OverrideContext, bindable, computedFrom } from 'aurelia-framework';\r\nimport { ScopeContainer, LocalizationService } from '../../../framework/base/export';\r\nimport { ICommandData, SimpleWidgetCreatorService } from '../../../framework/forms/export';\r\nimport { IdxPopupComponent, IdxValidationGroupComponent, IdxCheckBoxComponent, IdxSelectBoxComponent, IdxTextBoxComponent } from '../../interfaces/export';\r\nimport { IStandardStelleninseratErstellenData } from '../../interfaces/standard-stelleninserat-erstellen-data';\r\n\r\nimport * as moment from \"moment\";\r\n\r\n@autoinject\r\nexport class StandardStelleninseratErstellen {\r\n constructor(\r\n private localization: LocalizationService,\r\n private simpleWidgetCreator: SimpleWidgetCreatorService,\r\n private rest: RestService,\r\n private location: LocationService,\r\n private objektInfo: ObjektInfoService\r\n ) { }\r\n\r\n scopeContainer: ScopeContainer;\r\n keyList: number[] = [];\r\n\r\n requiredValidationRule = { type: \"required\", message: \"\" };\r\n\r\n popupCommands: ICommandData[] = [\r\n {\r\n id: \"doStandardStelleninseratErstellen\",\r\n idCategory: \"$start\",\r\n icon: \"fas fa-check\",\r\n tooltip: \"standard-stelleninserat.erstellen\",\r\n sortIndex: 1600,\r\n execute: () => {\r\n this.doStandardStelleninseratErstellen();\r\n }\r\n }\r\n ];\r\n\r\n standardStelleninseratErstellenPopup: IdxPopupComponent;\r\n standardStelleninseratErstellenPopupOptions: DevExpress.ui.dxPopupOptions = {\r\n height: \"auto\",\r\n width: \"800px\",\r\n maxHeight: \"80%\",\r\n maxWidth: \"800px\"\r\n }\r\n\r\n lehrberuf: IdxSelectBoxComponent;\r\n lehrberufOptions: DevExpress.ui.dxSelectBoxOptions = {\r\n displayExpr: \"Bezeichnung\",\r\n searchEnabled: true\r\n }\r\n\r\n geschaeftspartner: IdxSelectBoxComponent;\r\n geschaeftspartnerOptions: DevExpress.ui.dxSelectBoxOptions = {\r\n readOnly: true\r\n }\r\n\r\n kontaktperson: IdxSelectBoxComponent;\r\n kontaktpersonOptions: DevExpress.ui.dxSelectBoxOptions = {\r\n displayExpr: \"AnsprechpersonName\",\r\n searchEnabled: true\r\n }\r\n\r\n bezeichnung: IdxTextBoxComponent;\r\n bezeichnungOptions: DevExpress.ui.dxTextBoxOptions = {\r\n }\r\n\r\n bind() {\r\n this.scopeContainer = new ScopeContainer({\r\n bindingContext: this,\r\n overrideContext: null\r\n });\r\n\r\n this.simpleWidgetCreator.updatePopupOptions({\r\n idToolbar: \"standardStelleninseratErstellenPopupToolbar\",\r\n caption: \"standard-stelleninserat.popup-title\",\r\n options: this.standardStelleninseratErstellenPopupOptions,\r\n commands: this.popupCommands,\r\n scopeContainer: this.scopeContainer\r\n });\r\n }\r\n unbind() {\r\n this.scopeContainer.disposeAll();\r\n }\r\n\r\n showPopup(keyList: number[]) {\r\n this.keyList = keyList;\r\n\r\n this.setGeschaeftspartnerValueAndDataSource();\r\n this.setLehrberufDataSource();\r\n this.setKontaktpersonDataSource();\r\n\r\n this.standardStelleninseratErstellenPopup.instance.show();\r\n }\r\n\r\n private setGeschaeftspartnerValueAndDataSource(): void {\r\n if (this.keyList && this.keyList.length === 1) {\r\n this.rest.get({\r\n url: this.rest.getWebApiUrl(\"ZIT/Objekte/Geschaeftspartner/\" + this.keyList[0]),\r\n getOptions: {\r\n columns: ['Name1']\r\n }\r\n }).then(r => {\r\n if (r && r.Name1 && r.Name1.length > 0) {\r\n if (this.geschaeftspartner) {\r\n this.geschaeftspartner.instance.option(\"value\", r.Name1);\r\n this.geschaeftspartner.instance.option(\"dataSource\", [r.Name1]);\r\n } else {\r\n this.geschaeftspartnerOptions.value = r.Name1;\r\n this.geschaeftspartnerOptions.dataSource = [r.Name1];\r\n }\r\n } else {\r\n this.geschaeftspartner.instance.option(\"value\", null);\r\n this.geschaeftspartner.instance.option(\"dataSource\", null);\r\n }\r\n });\r\n } else {\r\n this.geschaeftspartner.instance.option(\"value\", null);\r\n this.geschaeftspartner.instance.option(\"dataSource\", null);\r\n }\r\n }\r\n\r\n private setLehrberufDataSource(): void {\r\n const stichtag = moment().startOf(\"day\").toDate();\r\n\r\n if (this.lehrberuf) {\r\n this.lehrberuf.instance.option(\"value\", null);\r\n } else {\r\n this.lehrberufOptions.value = null;\r\n }\r\n\r\n this.rest.get({\r\n url: this.rest.getWebApiUrl(\"ZIT/Stammdaten/Lehrberuf\"),\r\n getOptions: {\r\n where: [['GueltigVon', '<=', stichtag], 'and', ['GueltigBis', '>=', stichtag]],\r\n columns: ['Id', 'Bezeichnung']\r\n }\r\n }).then(r => {\r\n if (r && r.length > 0) {\r\n this.lehrberuf.instance.option(\"dataSource\", r);\r\n } else {\r\n this.lehrberuf.instance.option(\"dataSource\", null);\r\n }\r\n });\r\n }\r\n\r\n private setKontaktpersonDataSource(): void {\r\n if (this.keyList && this.keyList.length === 1) {\r\n const stichtag = moment().startOf(\"day\").toDate();\r\n\r\n if (this.kontaktperson) {\r\n this.kontaktperson.instance.option(\"value\", null);\r\n } else {\r\n this.kontaktpersonOptions.value = null;\r\n }\r\n\r\n this.rest.get({\r\n url: this.rest.getWebApiUrl(\"ZIT/Objekte/AnsprechpersonZuGeschaeftspartner\"),\r\n getOptions: {\r\n where: [['IdGeschaeftspartner', this.keyList[0]], 'and', ['GueltigVon', '<=', stichtag], 'and', ['GueltigBis', '>=', stichtag]],\r\n columns: ['Id', 'AnsprechpersonName']\r\n }\r\n }).then(r => {\r\n if (r && r.length > 0) {\r\n this.kontaktperson.instance.option(\"dataSource\", r);\r\n } else {\r\n this.kontaktperson.instance.option(\"dataSource\", null);\r\n }\r\n });\r\n } else {\r\n this.kontaktperson.instance.option(\"dataSource\", null);\r\n }\r\n }\r\n\r\n private doStandardStelleninseratErstellen() {\r\n if (!this.keyList || this.keyList.length !== 1) {\r\n return;\r\n }\r\n\r\n const lehrberuf = this.lehrberuf.instance.option(\"value\");\r\n const kontaktperson = this.kontaktperson.instance.option(\"value\");\r\n\r\n const data: IStandardStelleninseratErstellenData = {\r\n IdGeschaeftspartner: this.keyList[0],\r\n IdLehrberuf: lehrberuf ? lehrberuf.Id : null,\r\n IdGeschaeftspartnerZuAnsprechperson: kontaktperson ? kontaktperson.Id : null,\r\n Bezeichnung: this.bezeichnung.instance.option(\"value\")\r\n }\r\n\r\n if (!this.canStandardStelleninseratErstellen(data)) {\r\n return;\r\n }\r\n\r\n this.rest.post({\r\n url: this.rest.getApiUrl(\"ZIT/Objekt/StelleninseratStandardErstellen\"),\r\n data: data,\r\n increaseLoadingCount: true\r\n }).then(r => {\r\n if (r.HasError) {\r\n DevExpress.ui.notify(r.Message, \"error\", 3000);\r\n } else {\r\n this.standardStelleninseratErstellenPopup.instance.hide();\r\n\r\n const urlToNavigate = this.objektInfo.getObjektNavigationUrl(\"TIP.ZIT.Business.Entities.Objekte.Stelleninserate.Stelleninserat\")\r\n if (!urlToNavigate) {\r\n return;\r\n }\r\n\r\n this.location.goTo({\r\n url: `${urlToNavigate}/` + r.IdStelleninserat\r\n });\r\n }\r\n });\r\n }\r\n\r\n private canStandardStelleninseratErstellen(data: IStandardStelleninseratErstellenData): boolean {\r\n if (!data.IdGeschaeftspartner) {\r\n DevExpress.ui.notify(this.localization.translateOnce(\"standard-stelleninserat.geschaeftspartner-fehlt\"), \"error\", 3000);\r\n return false;\r\n } else if (!data.IdLehrberuf) {\r\n DevExpress.ui.notify(this.localization.translateOnce(\"standard-stelleninserat.lehrberuf-fehlt\"), \"error\", 3000);\r\n return false;\r\n } else if (!data.IdGeschaeftspartnerZuAnsprechperson) {\r\n DevExpress.ui.notify(this.localization.translateOnce(\"standard-stelleninserat.kontaktperson-fehlt\"), \"error\", 3000);\r\n return false;\r\n }\r\n\r\n return true;\r\n }\r\n}\r\n","module.exports = \" \";","import { autoinject, Scope, OverrideContext, bindable, TaskQueue } from \"aurelia-framework\";\r\nimport { EventAggregator } from \"aurelia-event-aggregator\";\r\nimport { LocalizationService, ScopeContainer, DataSourceService, JsonService, GlobalizationService } from \"../../../framework/base/export\";\r\nimport { SimpleWidgetCreatorService, ICommandData } from \"../../../framework/forms/export\";\r\nimport { IdxPopupComponent, IdxValidationGroupComponent, IStatusChangeData, IStatusBenutzerAvailableData, IStatusChangeResultData } from \"../../interfaces/export\";\r\nimport { StatusService } from \"../../services/export\";\r\nimport { GrundTyp } from \"../../enumerations/export\";\r\n\r\n@autoinject\r\nexport class StatusAendern {\r\n private _savedCallBack: { (r: IStatusChangeResultData) };\r\n\r\n constructor(\r\n private _dataSourceService: DataSourceService,\r\n private _jsonService: JsonService,\r\n private _localizationService: LocalizationService,\r\n private _simpleWidgetCreatorService: SimpleWidgetCreatorService,\r\n private _statusService: StatusService,\r\n private _globalizationService: GlobalizationService,\r\n private _taskqueue: TaskQueue,\r\n private _eventAggregator: EventAggregator\r\n ) {\r\n this.resetMainModel();\r\n }\r\n\r\n @bindable keyList: number[];\r\n\r\n canChangeStatus = true;\r\n mainModel: IStatusChangeData;\r\n\r\n isGrundPflicht: boolean;\r\n isBemerkungPflicht: boolean;\r\n\r\n scope: Scope;\r\n scopeContainer: ScopeContainer;\r\n\r\n verlaufDataSource: [];\r\n\r\n popupCommands: ICommandData[] = [\r\n {\r\n id: \"statusAendernSave\",\r\n idCategory: \"$start\",\r\n icon: \"fas fa-save\",\r\n tooltip: \"base.save\",\r\n sortIndex: 0,\r\n isEnabledExpression: \"canChangeStatus\",\r\n execute: () => {\r\n this.changeStatus();\r\n }\r\n }];\r\n statusAendernPopup: IdxPopupComponent;\r\n statusAendernPopupOptions: DevExpress.ui.dxPopupOptions = {\r\n height: \"auto\",\r\n maxHeight: \"100vh\",\r\n maxWidth: \"700px\"\r\n };\r\n\r\n grundAenderungValidatorOptions: DevExpress.ui.dxValidatorOptions = {\r\n validationRules: [{\r\n type: \"custom\",\r\n reevaluate: true,\r\n message: this._localizationService.translateOnce(\"forms.validator_required\", [this._localizationService.translateOnce(\"status-aendern.grund-aenderung-caption\")]),\r\n validationCallback: (e) => {\r\n if(e.value) {\r\n return true;\r\n }\r\n }\r\n }]\r\n };\r\n bemerkungValidatorOptions: DevExpress.ui.dxValidatorOptions = {\r\n validationRules: [{\r\n type: \"custom\",\r\n reevaluate: true,\r\n message: this._localizationService.translateOnce(\"forms.validator_required\", [this._localizationService.translateOnce(\"status-aendern.bemerkung-caption\")]),\r\n validationCallback: (e) => {\r\n if(e.value || !this.isBemerkungPflicht) {\r\n return true;\r\n }\r\n }\r\n }]\r\n };\r\n requiredValidatorOptions: DevExpress.ui.dxValidatorOptions = {\r\n validationRules: [{ type: \"required\" }]\r\n };\r\n validationGroup: IdxValidationGroupComponent;\r\n validationGroupOptions: DevExpress.ui.dxValidationGroupOptions = {};\r\n\r\n benutzerStatusDataSource: IStatusBenutzerAvailableData[];\r\n benutzerStatusOptions: DevExpress.ui.dxSelectBoxOptions = {\r\n valueExpr: \"IdObjektStatus\",\r\n displayExpr: \"ObjektStatusBezeichnung\",\r\n onItemClick: (e) => {\r\n this.isGrundPflicht = e.itemData.IsGrundPflicht;\r\n this.mainModel.IdGrund = null;\r\n\r\n this.repaintPopup();\r\n },\r\n bindingOptions: {\r\n value: \"mainModel.IdObjektStatus\",\r\n dataSource: \"benutzerStatusDataSource\"\r\n }\r\n };\r\n\r\n grundAenderungOptions: DevExpress.ui.dxSelectBoxOptions = {\r\n valueExpr: \"Id\",\r\n displayExpr: \"Bezeichnung\",\r\n onItemClick: (e) => {\r\n this.isBemerkungPflicht = e.itemData.IsBemerkungPflicht;\r\n },\r\n bindingOptions: {\r\n value: \"mainModel.IdGrund\"\r\n }\r\n };\r\n\r\n bemerkungOptions: DevExpress.ui.dxTextAreaOptions = {\r\n height: 60,\r\n maxLength: 500,\r\n bindingOptions: {\r\n value: \"mainModel.Bemerkung\"\r\n }\r\n };\r\n\r\n verlaufOptions: DevExpress.ui.dxDataGridOptions = {\r\n width: \"100%\",\r\n height: \"250px\",\r\n columnAutoWidth: true,\r\n columns: [{\r\n dataField: \"Aenddat\",\r\n caption: \"Zeitpunkt\",\r\n format: this._globalizationService.getFormatter(\"g\")\r\n }, {\r\n dataField: \"Status\",\r\n caption: \"Status\"\r\n }, {\r\n dataField: \"Bemerkung\",\r\n caption: \"Bemerkung\"\r\n }, {\r\n dataField: \"Aendsb\",\r\n caption: \"Änderungsbenutzer\"\r\n }],\r\n bindingOptions: {\r\n \"dataSource\": \"verlaufDataSource\"\r\n }\r\n };\r\n\r\n showPopup(savedCallback?: { (r: IStatusChangeResultData) }) {\r\n this._taskqueue.queueMicroTask(async () => {\r\n const r = await this._statusService.allowUpdateObjektStatus(this.keyList);\r\n\r\n this.verlaufDataSource = [];\r\n this.statusAendernPopup.instance.show();\r\n \r\n this.resetMainModel(r);\r\n this._savedCallBack = savedCallback;\r\n\r\n this.loadAvailableObjektStatus(r);\r\n this.loadVerlauf(r);\r\n\r\n this.repaintPopup();\r\n });\r\n }\r\n\r\n bind(bindingContext: any, overrideContext: OverrideContext) {\r\n this.scope = {\r\n bindingContext: bindingContext,\r\n overrideContext: overrideContext\r\n };\r\n\r\n this.scopeContainer = new ScopeContainer({\r\n bindingContext: this,\r\n overrideContext: null\r\n });\r\n\r\n this._simpleWidgetCreatorService.updatePopupOptions({\r\n idToolbar: \"statusAendernPopupToolbar\",\r\n caption: \"status-aendern.popup-titel\",\r\n options: this.statusAendernPopupOptions,\r\n commands: this.popupCommands,\r\n scopeContainer: this.scopeContainer\r\n });\r\n\r\n this.grundAenderungOptions.dataSource = this._dataSourceService.createDataSource(\r\n this.scopeContainer,\r\n {\r\n webApiAction: \"ZIT/Stammdaten/Grund\",\r\n webApiWhere: [[\"Typ\", GrundTyp.ObjektstatusSetzen], [\"IdObjektStatus\", { \"expression\": \"mainModel.IdObjektStatus\", \"isBound\": true }]]\r\n }\r\n )\r\n }\r\n unbind() {\r\n this.scopeContainer.disposeAll();\r\n this.scope = null;\r\n }\r\n\r\n private changeStatus() {\r\n const validationResult = this.validationGroup.instance.validate();\r\n if (!validationResult.isValid) {\r\n return;\r\n }\r\n\r\n const title = this._localizationService.translateOnce(\"status-aendern.bestaetigung-titel\");\r\n const message = this._localizationService.translateOnce(\"status-aendern.bestaetigung-text\");\r\n\r\n DevExpress.ui.dialog\r\n .confirm(message, title)\r\n .then(async (confirmed) => {\r\n if (!confirmed) {\r\n return;\r\n }\r\n\r\n this.canChangeStatus = false;\r\n const r = await this._statusService.changeObjektStatus(this.mainModel);\r\n\r\n if (r && !r.IsValid) {\r\n DevExpress.ui.notify(r.Message, \"error\", 3000);\r\n return;\r\n }\r\n\r\n if (this._savedCallBack != void 0) {\r\n this._savedCallBack(r);\r\n }\r\n\r\n this._eventAggregator.publish(\"objekt-status:changed\", {\r\n idObjektList: this.keyList\r\n });\r\n\r\n this.canChangeStatus = true;\r\n this.statusAendernPopup.instance.hide();\r\n });\r\n }\r\n private resetMainModel(idObjektStatusElementList: any = null) {\r\n this.mainModel = { \r\n IdGrund: null,\r\n IdObjektStatus: null, \r\n IdObjektStatusElementList: idObjektStatusElementList, \r\n Bemerkung: null \r\n };\r\n }\r\n private async loadVerlauf(keys: number[]) {\r\n this.verlaufDataSource = await this._statusService.loadStatusHistorie(keys);\r\n }\r\n private async loadAvailableObjektStatus(keys: number[]) {\r\n this.benutzerStatusDataSource = await this._statusService.loadBenutzerAvailableObjektStatus(keys);\r\n }\r\n\r\n private repaintPopup() {\r\n this._taskqueue.queueTask(() => {\r\n if (!this.statusAendernPopup) {\r\n return;\r\n }\r\n if (!this.statusAendernPopup.instance) {\r\n return;\r\n }\r\n\r\n this.statusAendernPopup.instance.repaint();\r\n });\r\n }\r\n}\r\n","module.exports = \" \";","import { autoinject, Scope } from \"aurelia-framework\";\r\nimport { RestService, LocalizationService, DataSourceService, ScopeContainer } from '../../../framework/base/export';\r\nimport * as moment from \"moment\";\r\nimport { IdxPopupComponent, IdxDataGridComponent } from '../../interfaces/dx-components';\r\nimport { SimpleWidgetCreatorService } from '../../../framework/forms/export';\r\n\r\n@autoinject\r\nexport class StelleninseratAuswahl {\r\n private _options: IStelleninseratAuswahlEvalOptions;\r\n\r\n constructor(\r\n private restService: RestService,\r\n private localizationService: LocalizationService,\r\n private dataSourceService: DataSourceService,\r\n private simpleWidgetCreatorService: SimpleWidgetCreatorService\r\n ) {}\r\n\r\n model: IModel;\r\n\r\n scope: Scope;\r\n scopeContainer: ScopeContainer;\r\n\r\n popup: IdxPopupComponent;\r\n popupOptions: DevExpress.ui.dxPopupOptions = {\r\n contentTemplate: \"contentTemplate\",\r\n height: \"auto\",\r\n width: \"750px\"\r\n };\r\n stelleninseratGrid: IdxDataGridComponent;\r\n stelleninseratGridOptions: DevExpress.ui.dxDataGridOptions = {\r\n columns: [{\r\n dataField: \"Kopf.StellenbezeichnungExtern\",\r\n caption: \"Stelleninserat\",\r\n sortIndex: 0,\r\n sortOrder: \"asc\"\r\n }],\r\n keyExpr: \"Id\",\r\n height: \"400px\",\r\n hoverStateEnabled: true,\r\n bindingOptions: {\r\n dataSource: \"model.stelleninseratDataSource\"\r\n },\r\n onRowClick: (e) => {\r\n this._options.callback(e.data.Id);\r\n this.popup.instance.hide();\r\n }\r\n };\r\n\r\n bind() {\r\n this.scope = {\r\n bindingContext: this,\r\n overrideContext: null\r\n };\r\n this.scopeContainer = new ScopeContainer(this.scope);\r\n\r\n this.simpleWidgetCreatorService.updatePopupOptions({\r\n idToolbar: \"stelleninseratAuswahlToolbar\",\r\n caption: \"stelleninserat-auswahl.popup-header\",\r\n scopeContainer: this.scopeContainer,\r\n options: this.popupOptions\r\n });\r\n }\r\n unbind() {\r\n this.scopeContainer.disposeAll();\r\n this.scopeContainer = null;\r\n }\r\n\r\n evalIdStelleninserat(options: IStelleninseratAuswahlEvalOptions) {\r\n this._options = options;\r\n \r\n this.resetModel();\r\n this.checkStelleninserat();\r\n }\r\n\r\n private async checkStelleninserat() {\r\n const today = moment().startOf(\"day\").toDate();\r\n\r\n const where: any[] = [\r\n [\"ObjektStatusCode\", \"AKTIV\"],\r\n [\"Kopf.GueltigVon\", \"<=\", today],\r\n [\"Kopf.GueltigBis\", \">=\", today]\r\n ];\r\n\r\n if (this._options.onlySchule) {\r\n where.push([\"Kopf.Geschaeftspartner.IsGeschaeftspartnerSchule\", true]);\r\n }\r\n\r\n const r = await this.restService.get({\r\n url: this.restService.getWebApiUrl(\"ZIT/Objekte/Stelleninserat\"),\r\n getOptions: {\r\n columns: [\"Id\"],\r\n where: where,\r\n orderBy: [{columnName: \"Id\", sortOrder: 0}],\r\n skip: 0,\r\n take: 2\r\n },\r\n increaseLoadingCount: true\r\n });\r\n\r\n if (r.length == 0) {\r\n DevExpress.ui.notify(\r\n this.localizationService.translateOnce(\"stelleninserat-auswahl.kein-gueltiges-stelleninserat\"), \r\n \"ERROR\", \r\n 3000\r\n );;\r\n }\r\n else if (r.length == 1) {\r\n this._options.callback(r[0].Id);\r\n } else {\r\n this.model.stelleninseratDataSource = this.dataSourceService.createDataSource(\r\n this.scopeContainer, {\r\n webApiAction: \"ZIT/Objekte/Stelleninserat\",\r\n webApiWhere: where,\r\n webApiColumns: [\"Id\", \"IdStelleninseratKopfElement\"],\r\n webApiExpand: {\r\n Kopf: {\r\n columns: [\"Id\", \"StellenbezeichnungExtern\"]\r\n }\r\n },\r\n }\r\n );\r\n\r\n this.popup.instance.show();\r\n }\r\n }\r\n private resetModel() {\r\n this.model = {\r\n stelleninseratDataSource: []\r\n };\r\n }\r\n}\r\nexport interface IStelleninseratAuswahlEvalOptions {\r\n onlySchule?: boolean;\r\n\r\n callback: {(idStelleninserat: number): void};\r\n}\r\ninterface IModel {\r\n stelleninseratDataSource: DevExpress.data.DataSource | any[];\r\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\";\r\nimport { GlobalizationService } from \"../../../framework/base/services/globalization-service\";\r\nimport * as moment from \"moment\";\r\nimport { RestService } from \"../../../framework/base/services/rest-service\";\r\nimport { DataSourceService } from \"../../../framework/base/services/data-source-service\";\r\nimport { ScopeContainer } from \"../../../framework/base/classes/scope-container\";\r\nimport { IdxDataGridComponent } from \"../../interfaces/dx-components\";\r\nimport { DialogConfirmService } from \"../../../framework/forms/services/dialog-confirm-service\";\r\n\r\n@autoinject\r\nexport class StelleninseratSchnupperterminLight {\r\n constructor(\r\n private _element: Element,\r\n private _dialogConfirmService: DialogConfirmService,\r\n private _dataSourceService: DataSourceService,\r\n private _globalizationService: GlobalizationService,\r\n private _restService: RestService\r\n ) {\r\n\r\n }\r\n\r\n scopeContainer: ScopeContainer;\r\n\r\n @bindable idStelleninseratKopfElement: number;\r\n\r\n datumVon: Date | undefined;\r\n datumBis: Date | undefined;\r\n\r\n datumVonOptions: DevExpress.ui.dxDateBoxOptions = {\r\n displayFormat: this._globalizationService.getFormatterParser(\"d\"),\r\n min: this.getMinDate(),\r\n max: this.getMaxDate().add(1, \"year\").subtract(1, \"day\").toDate(),\r\n bindingOptions: {\r\n value: \"datumVon\"\r\n }\r\n };\r\n datumBisOptions: DevExpress.ui.dxDateBoxOptions = {\r\n displayFormat: this._globalizationService.getFormatterParser(\"d\"),\r\n min: this.getMinDate(),\r\n max: this.getMaxDate().add(1, \"year\").subtract(1, \"day\").toDate(),\r\n bindingOptions: {\r\n value: \"datumBis\"\r\n }\r\n };\r\n addOptions: DevExpress.ui.dxButtonOptions = {\r\n text: \"Schnuppertermin erstellen\",\r\n onClick: async () => {\r\n if (!this.datumVon) {\r\n DevExpress.ui.notify(\"Datum von ist ein Pflichtfeld\", \"ERROR\", 300);\r\n return;\r\n }\r\n\r\n if (!this.datumBis) {\r\n DevExpress.ui.notify(\"Datum bis ist ein Pflichtfeld\", \"ERROR\", 300);\r\n return;\r\n }\r\n\r\n if (this.datumVon.getTime() > this.datumBis.getTime()) {\r\n DevExpress.ui.notify(\"Datum von muss vor Datum bis liegen\", \"ERROR\", 300);\r\n return;\r\n }\r\n\r\n await this._restService.post(({\r\n url: this._restService.getWebApiUrl(\"ZIT/Objekte/StelleninseratSchnuppertermin\"),\r\n data: {\r\n IdStelleninseratKopfElement: this.idStelleninseratKopfElement,\r\n DatumVon: this.datumVon,\r\n DatumBis: this.datumBis\r\n },\r\n increaseLoadingCount: true\r\n }));\r\n\r\n DevExpress.ui.notify(\"Schnuppertermin wurde erfolgreich gespeichert\", \"SUCCESS\", 300);\r\n\r\n this.datumVon = undefined;\r\n this.datumBis = undefined;\r\n\r\n this.dataGrid?.instance?.refresh();\r\n this._element.dispatchEvent(new CustomEvent(\"on-schnuppertermin-added\", {\r\n bubbles: true\r\n }));\r\n }\r\n };\r\n\r\n dataGrid: IdxDataGridComponent;\r\n dataGridOptions: DevExpress.ui.dxDataGridOptions = {\r\n columns: [{\r\n caption: \"Stellenbezeichnung\",\r\n dataField: \"StelleninseratKopfElement.StellenbezeichnungExtern\"\r\n }, {\r\n caption: \"Datum von\",\r\n dataField: \"DatumVon\",\r\n format: this._globalizationService.getFormatterParser(\"d\"),\r\n width: 120\r\n }, {\r\n caption: \"Datum bis\",\r\n dataField: \"DatumBis\",\r\n format: this._globalizationService.getFormatterParser(\"d\"),\r\n width: 120\r\n }, {\r\n caption: \"\",\r\n width: 60,\r\n cellTemplate: (element, info) => {\r\n const c = document.createElement(\"div\");\r\n c.className = \"stelleninserat-schnuppertermin-light__grid-actions\";\r\n\r\n const i = document.createElement(\"i\");\r\n i.className = \"fas fa-trash-alt\";\r\n i.onclick = async () => {\r\n const result = await this._dialogConfirmService.show({\r\n title: \"Frage\",\r\n message: \"Möchten Sie den Schnuppertermin wirklich löschen?\",\r\n });\r\n\r\n if (!result) return;\r\n\r\n await this._restService.delete({\r\n url: this._restService.getWebApiUrl(\"ZIT/Objekte/StelleninseratSchnuppertermin\"),\r\n id: info.data.Id,\r\n increaseLoadingCount: true\r\n });\r\n \r\n this.dataGrid.instance.refresh();\r\n };\r\n\r\n c.appendChild(i);\r\n element.appendChild(c);\r\n }\r\n }],\r\n paging: {\r\n pageSize: 5\r\n },\r\n remoteOperations: {\r\n paging: true,\r\n filtering: true,\r\n sorting: true\r\n }\r\n };\r\n\r\n bind() {\r\n this.scopeContainer = new ScopeContainer({\r\n bindingContext: this,\r\n overrideContext: null\r\n });\r\n\r\n this.dataGridOptions.dataSource = this._dataSourceService.createDataSource(\r\n this.scopeContainer, {\r\n keyProperty: \"Id\",\r\n webApiAction: \"ZIT/Objekte/StelleninseratSchnuppertermin\",\r\n webApiExpand: {\r\n StelleninseratKopfElement: {\r\n columns: [\"Id\", \"StellenbezeichnungExtern\"]\r\n }\r\n },\r\n webApiOrderBy: [{ columnName: \"DatumVon\", sortOrder: 0 }]\r\n }, {\r\n canLoad: () => {\r\n return !!this.idStelleninseratKopfElement;\r\n },\r\n getCustomWhere: () => {\r\n return [\"IdStelleninseratKopfElement\", this.idStelleninseratKopfElement];\r\n }\r\n }\r\n );\r\n }\r\n\r\n unbind() {\r\n this.scopeContainer.disposeAll();\r\n this.scopeContainer = null;\r\n }\r\n\r\n private getMinDate() {\r\n return moment(new Date()).startOf(\"day\").toDate();\r\n }\r\n\r\n private getMaxDate() {\r\n const today = moment();\r\n const start = moment(new Date(today.year(), 8, 1)).startOf(\"day\");\r\n\r\n return start.month() >= 9\r\n ? start\r\n : start.subtract(1, \"year\");\r\n }\r\n}\r\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';\r\nimport { IZitTagOptions } from './../../../zit-ui/elements/zit-tag/zit-tag-options';\r\nimport { StartupService } from './../../services/startup-service';\r\nimport { autoinject, bindingBehavior, bindable } from \"aurelia-framework\";\r\nimport { FormBase } from '../../../framework/forms/classes/form-base';\r\nimport { ObjektInfoService } from '../../services/objekt-info-service';\r\nimport { IZitMarkersOptions, ZitMarkerDisplayMode } from '../../../zit-ui/elements/zit-markers/export';\r\nimport { ISubheadlineOptions } from './sub-headline-options';\r\nimport { DokumentService, CustomEditPopupService } from '../../services/export';\r\nimport { IModel } from '../../../framework/forms/export';\r\nimport { DateiAuswaehlen } from '../datei-auswaehlen/datei-auswaehlen';\r\nimport { BrowserService, FileService } from '../../../framework/base/export';\r\n\r\n@autoinject\r\nexport class SubHeadline {\r\n constructor(\r\n private _element: Element,\r\n private _objektInfoService: ObjektInfoService,\r\n private _startupService: StartupService,\r\n private _dokumentService: DokumentService,\r\n private _customEditPopupService: CustomEditPopupService,\r\n private _browserService: BrowserService,\r\n private _fileService: FileService\r\n ) { }\r\n\r\n form: FormBase;\r\n model: IModel;\r\n\r\n id: number;\r\n objektTyp: string;\r\n objektFullName: string;\r\n eltern: string;\r\n\r\n status: string;\r\n symbol: string;\r\n farbe: string;\r\n\r\n showUploader: boolean = false;\r\n dateiAuswaehlen: DateiAuswaehlen;\r\n\r\n @bindable options: ISubheadlineOptions;\r\n\r\n titelData = {\r\n titel: \"\",\r\n icon: \"\",\r\n backgroundColor: \"\"\r\n }\r\n\r\n titelTagOptions: IZitTagOptions = {\r\n icon: {\r\n faIconExpression: \"item.icon\",\r\n backgroundColorExpression: \"item.backgroundColor\"\r\n },\r\n textExpression: \"item.titel\"\r\n }\r\n\r\n markersOptions: IZitMarkersOptions = {\r\n displayMode: ZitMarkerDisplayMode.kreis,\r\n idObjekt: null\r\n };\r\n\r\n bind(bindingContext) {\r\n if (bindingContext instanceof FormBase) {\r\n this.form = bindingContext;\r\n this.form.callOnBind(() => {\r\n this.prepare();\r\n });\r\n }\r\n }\r\n\r\n onUploadClick() {\r\n if (this._browserService.isMobile) {\r\n this.dateiAuswaehlen.onOpenGallery();\r\n } else {\r\n this.dateiAuswaehlen.onOpenFiles();\r\n }\r\n }\r\n async onDateiAusgewaehlt(e: CustomEvent) {\r\n const file = e.detail.files[0];\r\n const dmsLink = await this._fileService.upload(file);\r\n if (!dmsLink) {\r\n return;\r\n }\r\n\r\n let fullName = this.objektFullName;\r\n let data = this.form.models.data[this.model.id];\r\n let idObjekt = data.Id;\r\n let idStelleninserat = null;\r\n\r\n switch (fullName) {\r\n case \"TIP.ZIT.Business.Entities.Objekte.Bewerbungen.Bewerbung\": {\r\n if (!data.Kopf || !data.Kopf.IdPerson || !data.Kopf.IdStelleninserat) {\r\n return null;\r\n }\r\n\r\n idObjekt = data.Kopf.IdPerson;\r\n idStelleninserat = data.Kopf.IdStelleninserat;\r\n fullName = \"TIP.ZIT.Business.Entities.Objekte.Personen.Person\";\r\n\r\n break;\r\n }\r\n }\r\n\r\n this._customEditPopupService.dokumentEdit.show({\r\n setValuesOnModelWithKeyIdLoaded: {\r\n IdObjekt: idObjekt\r\n },\r\n mappings: {\r\n \"$id\": 0,\r\n \"$v_dmsLinkDokument\": dmsLink,\r\n \"$v_dateiname\": file.name,\r\n \"$v_objektTypeFullname\": fullName,\r\n \"$v_idStelleninserat\": idStelleninserat,\r\n }\r\n });\r\n }\r\n\r\n private prepare() {\r\n this.model = this.form.models.modelWithKeyId;\r\n if (!this.model || !this.model.webApiAction) {\r\n return;\r\n }\r\n\r\n const objektInfo = this._objektInfoService.getObjektByWebApiUrl(this.model.webApiAction);\r\n if (objektInfo) {\r\n this.objektTyp = objektInfo.Bezeichnung;\r\n this.objektFullName = objektInfo.Fullname;\r\n }\r\n\r\n this.showUploader = this._dokumentService.attachDropDokument(\r\n this._element,\r\n objektInfo.Fullname,\r\n () => {\r\n return this.form.models.data[this.model.id];\r\n }\r\n );\r\n\r\n this.loadDataTitel(objektInfo);\r\n\r\n this.form.models.onLoaded.register(async(e) => {\r\n if (e.model.id != this.model.id) {\r\n return;\r\n }\r\n if (!e.data) {\r\n return;\r\n }\r\n\r\n this.id = e.data.Id;\r\n this.status = e.data.ObjektStatus;\r\n this.symbol = e.data.ObjektStatusSymbol;\r\n this.farbe = e.data.ObjektStatusSymbolFarbe;\r\n this.eltern = e.data.BezeichnungEltern;\r\n this.markersOptions.idObjekt = e.data.Id;\r\n this.updateTitel();\r\n });\r\n }\r\n private async updateTitel() {\r\n const arr = [];\r\n\r\n if (this.objektTyp && this.id > 0) {\r\n arr.push(this.objektTyp);\r\n }\r\n\r\n if (this.options && this.options.getTitel) {\r\n arr.push(await this.options.getTitel());\r\n } else if (this.eltern) {\r\n arr.push(this.eltern);\r\n }\r\n\r\n this.titelData.titel = arr.join(\": \");\r\n }\r\n\r\n private loadDataTitel(objektInfo: IObjektInfoData) {\r\n const cardInfo = this._startupService.getCardInfoByObjektFullName(objektInfo.Fullname);\r\n\r\n this.titelData.backgroundColor = cardInfo.CardKompaktHintergrundfarbe;\r\n this.titelData.icon = cardInfo.CardKompaktSymbol;\r\n\r\n if (!this.titelData.icon) {\r\n this.titelTagOptions.icon = null;\r\n }\r\n }\r\n}\r\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\";\r\nimport { IZitTagOptions } from '../../../zit-ui/elements/zit-tag/export';\r\nimport { ScopeContainer } from '../../../framework/base/export';\r\nimport { IToolbarOptions } from '../../../framework/forms/elements/toolbar/toolbar-options';\r\nimport { IItem } from '../../../framework/forms/elements/toolbar/item';\r\nimport { IListViewOptions } from '../../../framework/forms/elements/list-view/list-view-options';\r\nimport { ListView } from '../../../framework/forms/export';\r\n\r\n@autoinject\r\nexport class TagList {\r\n private _collectionSubscription: Disposable;\r\n private _dataSource: any[] = [];\r\n\r\n constructor(\r\n private _element: Element,\r\n private _bindingEngine: BindingEngine\r\n ) {}\r\n\r\n @bindable titel: string;\r\n @bindable @observable dataSource: any[];\r\n @bindable tagOptions: IZitTagOptions;\r\n @bindable supportsAdd: boolean;\r\n\r\n scopeContainer: ScopeContainer;\r\n toolbarOptions: IToolbarOptions;\r\n listViewOptions: IListViewOptions;\r\n listView: ListView;\r\n\r\n bind(bindingContext, overrideContext) {\r\n this.scopeContainer = new ScopeContainer({\r\n bindingContext: this,\r\n overrideContext: createOverrideContext(bindingContext, overrideContext)\r\n });\r\n\r\n this.toolbarOptions = {\r\n title: this.titel,\r\n icon: null,\r\n smallToolbar: true,\r\n items: this.getToolbarItems(),\r\n scopeContainer: this.scopeContainer\r\n };\r\n\r\n this.listViewOptions = {\r\n dataSource: new DevExpress.data.DataSource(new DevExpress.data.ArrayStore({ data: this._dataSource })),\r\n useDefaultListItemStyle: false,\r\n itemClass: \"z--tag-list-view\"\r\n };\r\n\r\n this.updateDataSourceObserver();\r\n }\r\n unbind() {\r\n this.scopeContainer.disposeAll();\r\n this.scopeContainer = null;\r\n\r\n this.updateDataSourceObserver(true);\r\n }\r\n\r\n dataSourceChanged() {\r\n this.updateDataSource();\r\n this.updateDataSourceObserver();\r\n }\r\n\r\n private getToolbarItems() {\r\n return [{\r\n id: \"add\",\r\n icon: \"fas fa-plus\",\r\n isVisibleExpression: \"supportsAdd\",\r\n execute: () => {\r\n this._element.dispatchEvent(new CustomEvent(\r\n \"on-tag-list-add\", {\r\n bubbles: true\r\n }\r\n ))\r\n }\r\n }];\r\n }\r\n private updateDataSource() {\r\n this._dataSource.splice(0, this._dataSource.length);\r\n (this.dataSource || []).forEach(i => this._dataSource.push(i));\r\n \r\n this.listViewOptions.dataSource.reload();\r\n }\r\n private updateDataSourceObserver(onlyDispose: boolean = false) {\r\n if (this._collectionSubscription) {\r\n this._collectionSubscription.dispose(),\r\n this._collectionSubscription = null;\r\n }\r\n\r\n if (onlyDispose) {\r\n return;\r\n }\r\n\r\n if (!this.dataSource) {\r\n return;\r\n }\r\n\r\n this._collectionSubscription = this._bindingEngine.collectionObserver(this.dataSource).subscribe(() => {\r\n this.updateDataSource();\r\n });\r\n }\r\n}","module.exports = \" \";","import { autoinject } from \"aurelia-framework\";\r\nimport { EventAggregator } from \"aurelia-event-aggregator\";\r\nimport { IdxPopupComponent, IdxValidationGroupComponent } from '../../interfaces/export';\r\nimport { ScopeContainer, DataSourceService, RestService, LocalizationService } from '../../../framework/base/export';\r\nimport { SimpleWidgetCreatorService, ICommandData, DialogConfirmService } from '../../../framework/forms/export';\r\n\r\n@autoinject\r\nexport class TerminEmpfaengerUmbuchen {\r\n private _showOptions: ITerminEmpfaengerUmbuchenShowOptions;\r\n\r\n constructor(\r\n private _simpleWidgetCreatorService: SimpleWidgetCreatorService,\r\n private _dataSourceService: DataSourceService,\r\n private _restService: RestService,\r\n private _eventAggregator: EventAggregator,\r\n private _dialogConfirmService: DialogConfirmService,\r\n private _localizationService: LocalizationService\r\n ) {}\r\n\r\n scopeContainer: ScopeContainer;\r\n idTerminZiel: number;\r\n\r\n validationGroup: IdxValidationGroupComponent;\r\n\r\n popup: IdxPopupComponent;\r\n popupOptions: DevExpress.ui.dxPopupOptions = {\r\n contentTemplate: \"contentTemplate\",\r\n maxWidth: \"500px\",\r\n height: \"auto\"\r\n }\r\n popupCommands: ICommandData[] = [{\r\n id: \"terminEmpfaengerUmbuchenSaveCommand\",\r\n icon: \"fas fa-check\",\r\n tooltip: \"base.save\",\r\n sortIndex: 1010,\r\n execute: async () => {\r\n const result = this.validationGroup.instance.validate();\r\n if (!result.isValid) {\r\n return;\r\n }\r\n\r\n const dialogResult = await this._dialogConfirmService.show({\r\n title: this._localizationService.translateOnce(\"base.question\"),\r\n message: \"Wollen Sie die Person wirklich umbuchen?\"\r\n });\r\n\r\n if (!dialogResult) {\r\n return;\r\n }\r\n\r\n await this._restService.post({\r\n url: this._restService.getApiUrl(\"ZIT/Termin/Umbuchen\"),\r\n data: {\r\n IdTerminQuelle: this._showOptions.idTermin,\r\n IdTerminEmpfaenger: this._showOptions.idTerminEmpfaenger,\r\n IdTerminZiel: this.idTerminZiel,\r\n },\r\n increaseLoadingCount: true\r\n });\r\n\r\n if (this._showOptions.doneCallback) {\r\n this._showOptions.doneCallback();\r\n }\r\n\r\n this._eventAggregator.publish(\"termin:changed\", {\r\n idTermin: this._showOptions.idTermin,\r\n isQuelle: true\r\n });\r\n\r\n this._eventAggregator.publish(\"termin:changed\", {\r\n idTermin: this.idTerminZiel,\r\n isZiel: true\r\n });\r\n\r\n DevExpress.ui.notify(\r\n \"Empfänger wurde umgebucht\",\r\n \"success\",\r\n 3000\r\n );\r\n\r\n this.popup.instance.hide();\r\n }\r\n }];\r\n\r\n terminDataSource: DevExpress.data.DataSource;\r\n terminSelectOptions: DevExpress.ui.dxSelectBoxOptions = {\r\n valueExpr: \"Id\",\r\n displayExpr: \"DisplayText\",\r\n searchEnabled: true,\r\n searchExpr: \"DisplayText\",\r\n bindingOptions: {\r\n value: \"idTerminZiel\"\r\n }\r\n }\r\n\r\n requiredValidatorOptions: DevExpress.ui.dxValidatorOptions = {\r\n validationRules: [{ type: \"required\" }]\r\n };\r\n\r\n bind() {\r\n this.scopeContainer = new ScopeContainer({\r\n bindingContext: this,\r\n overrideContext: null\r\n });\r\n\r\n this._simpleWidgetCreatorService.updatePopupOptions({\r\n idToolbar: \"terminEmpfUmbuchenToolbar\",\r\n caption: \"termin-empfaenger-umbuchen.titel\",\r\n options: this.popupOptions,\r\n commands: this.popupCommands,\r\n scopeContainer: this.scopeContainer\r\n });\r\n\r\n this.terminDataSource = this._dataSourceService.createDataSource(\r\n this.scopeContainer, {\r\n webApiAction: \"ZIT/Objekte/Termin\",\r\n webApiColumns: [\"Id\", \"DisplayText\"],\r\n webApiOrderBy: [{ columnName: \"Kopf.StartDatum\", sortOrder: 0 }, { columnName: \"DisplayText\", sortOrder: 0 }]\r\n }, {\r\n canLoad: () => {\r\n return this._showOptions && this._showOptions.idTermin > 0;\r\n },\r\n getCustomFilters: () => {\r\n return [{webApiCustomKey: \"IdTerminUmbuchen\", webApiCustomValue: this._showOptions.idTermin.toString()}];\r\n }\r\n }\r\n );\r\n this.terminSelectOptions.dataSource = this.terminDataSource;\r\n }\r\n unbind() {\r\n this.scopeContainer.disposeAll();\r\n this.scopeContainer = null;\r\n }\r\n\r\n showPopup(showOptions: ITerminEmpfaengerUmbuchenShowOptions) {\r\n this._showOptions = showOptions;\r\n this.idTerminZiel = null\r\n \r\n this.terminDataSource.reload();\r\n this.popup.instance.show();\r\n }\r\n}\r\n\r\nexport interface ITerminEmpfaengerUmbuchenShowOptions {\r\n idTermin: number;\r\n idTerminEmpfaenger: number;\r\n\r\n doneCallback?: {(): void};\r\n}","module.exports = \"\";","import { autoinject, computedFrom, observable } from \"aurelia-framework\";\r\nimport { ZustandService } from './../../services/zustand-service';\r\nimport { FormBase } from './../../../framework/forms/classes/form-base';\r\nimport { IdxSelectBoxComponent, IdxTextBoxComponent, IdxLookupComponent, IdxTextAreaComponent, IdxDataGridComponent } from './../../interfaces/dx-components';\r\nimport { SimpleWidgetCreatorService } from './../../../framework/forms/widget-services/simple-widget-creator-service';\r\nimport { ScopeContainer } from './../../../framework/base/classes/scope-container';\r\nimport { RestService } from './../../../framework/base/services/rest-service';\r\nimport { LocalizationService } from './../../../framework/base/services/localization-service';\r\nimport { IdxPopupComponent, IdxValidationGroupComponent } from '../../interfaces/export';\r\nimport { ICommandData, PopupInfoService } from '../../../framework/forms/export';\r\nimport { GlobalizationService, DataSourceService } from '../../../framework/base/export';\r\nimport { StartupService } from '../../services/export';\r\nimport { BenutzerTyp } from '../../enumerations/export';\r\nimport { EventAggregator } from 'aurelia-event-aggregator';\r\nimport { TerminEmpfaengerUmbuchen } from '../termin-empfaenger-umbuchen/termin-empfaenger-umbuchen';\r\n\r\n@autoinject\r\nexport class TerminEmpfaenger {\r\n private _terminEmpfaenger: any;\r\n private _terminEmpfMultiList: any[];\r\n private _repaintVerlaufGrid: boolean = false;\r\n private _savedCallBack: { (terminEmpfaenger?: any) };\r\n\r\n constructor(\r\n private localizationService: LocalizationService,\r\n private simpleWidgetCreator: SimpleWidgetCreatorService,\r\n private popupInfoService: PopupInfoService,\r\n private restService: RestService,\r\n private globalizationService: GlobalizationService,\r\n private startupService: StartupService,\r\n private eventAggregator: EventAggregator,\r\n private zustand: ZustandService,\r\n private dataSourceService: DataSourceService\r\n ) {\r\n this.isAdmin = this.startupService.startupInfo.Benutzer.Benutzertyp == BenutzerTyp.Administrator;\r\n this.isGeschaeftspartnerSchule = this.startupService.startupInfo.Benutzer.IsGeschaeftspartnerSchuleBenutzer;\r\n }\r\n\r\n @observable idSelectedGeschaeftspartner: number;\r\n\r\n form: FormBase;\r\n scopeContainer: ScopeContainer;\r\n\r\n editMode: EditMode;\r\n idTermin: number;\r\n isAdmin: boolean;\r\n isGeschaeftspartnerSchule: boolean;\r\n termin: any;\r\n terminEmpfaenger: any;\r\n selectedEmpfaengerName: any;\r\n isPersonSelectBoxVisible: boolean = false;\r\n isPersonTextBoxVisible: boolean = false;\r\n statusVerlaufDataSource: DevExpress.data.DataSource;\r\n zustandDataSource: DevExpress.data.DataSource;\r\n showVerlauf: boolean = false;\r\n terminEmpfaengerUmbuchen: TerminEmpfaengerUmbuchen;\r\n\r\n @computedFrom(\"editMode\", \"idTermin\", \"termin\")\r\n get canUmbuchen() {\r\n return this.editMode == EditMode.Single\r\n && this.idTermin\r\n && this.termin\r\n && this.termin.IsSchnuppertermin == false;\r\n }\r\n\r\n validationGroup: IdxValidationGroupComponent;\r\n validationGroupOptions: DevExpress.ui.dxValidationGroupOptions = {}\r\n\r\n notizValidationGroup: IdxValidationGroupComponent;\r\n notizValidationGroupOptions: DevExpress.ui.dxValidationGroupOptions = {}\r\n\r\n requiredValidatorOptions: DevExpress.ui.dxValidatorOptions = {\r\n validationRules: [{ type: \"required\" }]\r\n };\r\n\r\n terminEmpfaengerStatusPopup: IdxPopupComponent;\r\n terminEmpfaengerStatusPopupOptions: DevExpress.ui.dxPopupOptions = {\r\n height: \"auto\",\r\n maxWidth: \"700px\",\r\n title: this.localizationService.translateOnce(\"termin-empfaenger-status.termin-empfaenger-status\"),\r\n onShown: (e) => {\r\n if (this.editMode == EditMode.Single) {\r\n this.setPersonDataSource();\r\n }\r\n\r\n this.zustandDataSource = new DevExpress.data.DataSource(new DevExpress.data.CustomStore({\r\n loadMode: \"raw\",\r\n load: async () => {\r\n if (this.editMode == EditMode.Single) {\r\n return await this.zustand.getFolgezustandTerminEmpf([this.terminEmpfaenger.Id]);\r\n } else {\r\n const idTerminEmpfaengerList: number[] = [];\r\n\r\n for (let i of this._terminEmpfMultiList) {\r\n const terminEmpf = await this.getTerminEmpfaenger(i.IdTermin, i.IdPerson);\r\n if (!terminEmpf) {\r\n continue;\r\n }\r\n\r\n idTerminEmpfaengerList.push(terminEmpf.Id);\r\n }\r\n\r\n return await this.zustand.getFolgezustandTerminEmpf(idTerminEmpfaengerList);\r\n }\r\n }\r\n }));\r\n\r\n if (this.showVerlauf) {\r\n this.statusVerlaufGrid.instance.columnOption(\"BemerkungGeschaeftspartner\", \"visible\", (this.isAdmin || !this.isGeschaeftspartnerSchule));\r\n this.statusVerlaufGrid.instance.columnOption(\"BemerkungSchule\", \"visible\", (this.isAdmin || this.isGeschaeftspartnerSchule));\r\n\r\n this.statusVerlaufDataSource = new DevExpress.data.DataSource(\r\n new DevExpress.data.CustomStore({\r\n load: async (e) => {\r\n const r = await this.restService.get({\r\n url: this.restService.getApiUrl(\"ZIT/Termin/TerminEmpfaengerVerlauf\") + `?idTerminEmpfaenger=${this.terminEmpfaenger.Id}`\r\n });\r\n\r\n this._repaintVerlaufGrid = true;\r\n\r\n return {\r\n data: r\r\n };\r\n }\r\n }));\r\n } else {\r\n this.terminEmpfaengerStatusPopup.instance.repaint();\r\n }\r\n }\r\n };\r\n\r\n terminEmpfaengerNotizPopup: IdxPopupComponent;\r\n terminEmpfaengerNotizPopupOptions: DevExpress.ui.dxPopupOptions = {\r\n height: \"auto\",\r\n maxWidth: \"780px\",\r\n title: this.localizationService.translateOnce(\"termin-empfaenger-status.notiz\"),\r\n onShowing: () => {\r\n if (this.textmarkenSelectBox && this.textmarkenSelectBox.instance) {\r\n this.textmarkenSelectBox.instance.option(\"value\", null);\r\n }\r\n }\r\n };\r\n\r\n personAuswaehlenLookup: IdxLookupComponent;\r\n personAuswaehlenLookupOptions: DevExpress.ui.dxLookupOptions = {\r\n valueExpr: \"Id\",\r\n displayExpr: \"Titel\",\r\n itemTemplate: \"zit-person-template\",\r\n bindingOptions: {\r\n value: \"terminEmpfaenger.IdPerson\"\r\n }\r\n };\r\n\r\n personTextBox: IdxTextBoxComponent\r\n personTextBoxOptions: DevExpress.ui.dxTextBoxOptions = {\r\n readOnly: true,\r\n bindingOptions: {\r\n value: \"selectedEmpfaengerName\"\r\n }\r\n };\r\n\r\n bemerkungTextArea: IdxTextAreaComponent\r\n bemerkungTextAreaOptions: DevExpress.ui.dxTextAreaOptions = {\r\n height: \"100px\",\r\n bindingOptions: {\r\n value: \"terminEmpfaenger.Bemerkung\"\r\n }\r\n };\r\n\r\n bemerkungSchuleTextArea: IdxTextAreaComponent\r\n bemerkungSchuleTextAreaOptions: DevExpress.ui.dxTextAreaOptions = {\r\n height: \"100px\",\r\n bindingOptions: {\r\n value: \"terminEmpfaenger.BemerkungSchule\"\r\n }\r\n };\r\n\r\n textmarken: any[] = [\r\n { Bezeichnung: \"Anrede\", Value: \"{Anrede}\" },\r\n { Bezeichnung: \"Vorname\", Value: \"{Vorname}\" },\r\n { Bezeichnung: \"Nachname\", Value: \"{Nachname}\" }\r\n ];\r\n\r\n textmarkenSelectBox: IdxSelectBoxComponent;\r\n textmarkenSelectBoxOptions: DevExpress.ui.dxSelectBoxOptions = {\r\n valueExpr: \"Value\",\r\n displayExpr: \"Bezeichnung\",\r\n placeholder: \"Auswählen...\",\r\n bindingOptions: {\r\n dataSource: \"textmarken\"\r\n },\r\n onItemClick: (e) => {\r\n this.insertTextMarken(\"notizTextArea\", e.itemData.Bezeichnung);\r\n },\r\n };\r\n\r\n notizTextArea: IdxTextBoxComponent\r\n notizTextAreaOptions: DevExpress.ui.dxTextAreaOptions = {\r\n height: \"400px\",\r\n bindingOptions: {\r\n value: \"terminEmpfaenger.Notiz\"\r\n }\r\n };\r\n\r\n statusAuswaehlenSelectBox: IdxSelectBoxComponent;\r\n statusAuswaehlenSelectBoxOptions: DevExpress.ui.dxSelectBoxOptions = {\r\n valueExpr: \"IdZustand\",\r\n displayExpr: \"ZustandBezeichnung\",\r\n bindingOptions: {\r\n dataSource: \"zustandDataSource\",\r\n value: \"terminEmpfaenger.IdStatusZustand\"\r\n }\r\n };\r\n\r\n statusVerlaufGrid: IdxDataGridComponent;\r\n statusVerlaufGridOptions: DevExpress.ui.dxDataGridOptions = {\r\n paging: {\r\n pageSize: 10\r\n },\r\n hoverStateEnabled: true,\r\n searchPanel: {\r\n visible: true\r\n },\r\n columns: [\r\n { dataField: \"Zeitpunkt\", caption: this.localizationService.translateOnce(\"termin-empfaenger-status.zeitpunkt\"), format: this.globalizationService.getFormatter(\"g\") },\r\n { dataField: \"StatusDisplayName\", caption: this.localizationService.translateOnce(\"termin-empfaenger-status.status\") },\r\n { dataField: \"BemerkungGeschaeftspartner\", caption: this.localizationService.translateOnce(\"termin-empfaenger-status.bemerkung-gp\") },\r\n { dataField: \"BemerkungSchule\", caption: this.localizationService.translateOnce(\"termin-empfaenger-status.bemerkung-schule\") },\r\n { dataField: \"Aenderungsbenutzer\", caption: this.localizationService.translateOnce(\"termin-empfaenger-status.aenderungsbenutzer\") }\r\n ],\r\n bindingOptions: {\r\n dataSource: \"statusVerlaufDataSource\"\r\n },\r\n onContentReady: () => {\r\n if (this._repaintVerlaufGrid) {\r\n this.terminEmpfaengerStatusPopup.instance.repaint();\r\n }\r\n }\r\n };\r\n\r\n statusPopupCommands: ICommandData[] = [{\r\n id: \"terminEmpfaengerUmbuchenCommand\",\r\n icon: \"far fa-share-square\",\r\n title: \"termin-empfaenger-status.umbuchen\",\r\n isVisibleExpression: \"canUmbuchen\",\r\n sortIndex: 1009,\r\n execute: async () => {\r\n this.terminEmpfaengerUmbuchen.showPopup({\r\n idTermin: this.idTermin, \r\n idTerminEmpfaenger: this.terminEmpfaenger.Id,\r\n doneCallback: () => {\r\n this.terminEmpfaengerStatusPopup.instance.hide();\r\n }\r\n });\r\n }\r\n }, {\r\n id: \"terminEmpfaengerSaveCommand\",\r\n icon: \"fas fa-check\",\r\n tooltip: \"base.save\",\r\n sortIndex: 1010,\r\n execute: async () => {\r\n const result = this.validationGroup.instance.validate();\r\n if (!result.isValid) {\r\n return;\r\n }\r\n\r\n await this.showNotizErstellen();\r\n }\r\n }];\r\n\r\n notizPopupCommands: ICommandData[] = [\r\n {\r\n id: \"terminEmpfaengerNotizSaveCommand\",\r\n icon: \"fas fa-check\",\r\n tooltip: \"base.save\",\r\n sortIndex: 1010,\r\n execute: async () => {\r\n const result = this.notizValidationGroup.instance.validate();\r\n if (!result.isValid) {\r\n return;\r\n }\r\n\r\n this.save();\r\n\r\n this.popupInfoService.closeAllPopups();\r\n }\r\n }\r\n ];\r\n\r\n bind() {\r\n this.scopeContainer = new ScopeContainer({\r\n bindingContext: this,\r\n overrideContext: null\r\n });\r\n\r\n this.simpleWidgetCreator.updatePopupOptions({\r\n idToolbar: \"terminEmpfaengerStatusPopupToolbar\",\r\n caption: \"termin-empfaenger-status.termin-empfaenger-status\",\r\n options: this.terminEmpfaengerStatusPopupOptions,\r\n commands: this.statusPopupCommands,\r\n scopeContainer: this.scopeContainer\r\n });\r\n\r\n this.simpleWidgetCreator.updatePopupOptions({\r\n idToolbar: \"terminEmpfaengerNotizPopupToolbar\",\r\n caption: \"termin-empfaenger-status.notiz\",\r\n options: this.terminEmpfaengerNotizPopupOptions,\r\n commands: this.notizPopupCommands,\r\n scopeContainer: this.scopeContainer\r\n });\r\n }\r\n\r\n unbind() {\r\n this.scopeContainer.disposeAll();\r\n this.scopeContainer = null;\r\n }\r\n\r\n async showStatusPopup(idTermin: number, terminEmpfaenger: any | number, savedCallback?: { (terminEmpfaenger: any) }) {\r\n this.init();\r\n this.editMode = EditMode.Single;\r\n this.idTermin = idTermin;\r\n\r\n this.termin = await this.getTermin(idTermin);\r\n\r\n if (typeof terminEmpfaenger == \"number\") {\r\n const r = await this.getTerminEmpfaenger(idTermin, terminEmpfaenger);\r\n\r\n if (!r) {\r\n DevExpress.ui.notify(\"Es wurde kein Empfängerstatus gefunden\", \"error\", 3000);\r\n return;\r\n }\r\n\r\n terminEmpfaenger = r;\r\n }\r\n\r\n this._terminEmpfaenger = terminEmpfaenger;\r\n this.terminEmpfaenger = Object.assign({}, terminEmpfaenger);\r\n\r\n if (this.terminEmpfaenger.IdPerson) {\r\n this.isPersonTextBoxVisible = true;\r\n } else {\r\n this.isPersonSelectBoxVisible = true;\r\n }\r\n\r\n if (this.terminEmpfaenger && this.terminEmpfaenger.Id) {\r\n this.showVerlauf = true;\r\n }\r\n\r\n this.selectedEmpfaengerName = terminEmpfaenger.EmpfaengerName ? terminEmpfaenger.EmpfaengerName : terminEmpfaenger.Titel;\r\n\r\n this._savedCallBack = savedCallback;\r\n this.terminEmpfaengerStatusPopup.instance.show();\r\n }\r\n async showStatusPopupMulti(terminEmpfMultiList: any[]) {\r\n this.init();\r\n this.editMode = EditMode.Multi;\r\n\r\n this.termin = null;\r\n this._terminEmpfMultiList = terminEmpfMultiList;\r\n\r\n this._savedCallBack = null;\r\n this.terminEmpfaengerStatusPopup.instance.show();\r\n }\r\n\r\n async setPersonDataSource(): Promise {\r\n const dataSource = this.dataSourceService.createDataSource(\r\n this.scopeContainer, {\r\n webApiAction: \"ZIT/Objekte/Person\",\r\n webApiColumns: [\"Id\", \"Titel\"],\r\n filters: [{\r\n webApiCustomKey: \"AddPersonCard\",\r\n webApiCustomValue: \"true\"\r\n }]\r\n }\r\n );\r\n\r\n if (this.personAuswaehlenLookup) {\r\n this.personAuswaehlenLookup.instance.option(\"dataSource\", dataSource);\r\n } else {\r\n this.personAuswaehlenLookupOptions.dataSource = dataSource;\r\n }\r\n }\r\n\r\n private init() {\r\n this.idTermin = null;\r\n this.showVerlauf = false;\r\n this.isPersonSelectBoxVisible = false;\r\n this.isPersonTextBoxVisible = false;\r\n this._terminEmpfaenger = {};\r\n this.terminEmpfaenger = {};\r\n }\r\n private async getTermin(idTermin: number) {\r\n if (!idTermin) {\r\n return null;\r\n }\r\n\r\n return await this.restService.get({\r\n url: this.restService.getWebApiUrl(`ZIT/Objekte/Termin/${idTermin}`),\r\n getOptions: {\r\n columns: [\"Id\", \"IsSchnuppertermin\"]\r\n },\r\n increaseLoadingCount: true\r\n });\r\n }\r\n private async getTerminEmpfaenger(idTermin: number, idPerson: number) {\r\n const r = await this.restService.get({\r\n url: this.restService.getWebApiUrl(\"ZIT/Objekte/TerminEmpfaengerElement\"),\r\n getOptions: {\r\n where: [[\"IdTermin\", idTermin], [\"IdPerson\", idPerson]]\r\n },\r\n increaseLoadingCount: true\r\n });\r\n\r\n if (r.length == 0) {\r\n return null;\r\n }\r\n\r\n return r[0];\r\n }\r\n private async save() {\r\n Object.assign(this._terminEmpfaenger, this.terminEmpfaenger);\r\n this._terminEmpfaenger._IdStatusZustand = this._terminEmpfaenger.IdStatusZustand;\r\n\r\n if (this.editMode == EditMode.Single) {\r\n if (this.idTermin) {\r\n const r = await this.saveData(this._terminEmpfaenger);\r\n\r\n Object.assign(this._terminEmpfaenger, r);\r\n delete this._terminEmpfaenger._IdStatusZustand;\r\n DevExpress.ui.notify(this.localizationService.translateOnce(\"base.save_success\"), \"SUCCESS\", 3000);\r\n }\r\n\r\n if (this._savedCallBack) {\r\n this._savedCallBack(this._terminEmpfaenger);\r\n }\r\n } else if (this.editMode == EditMode.Multi) {\r\n for (let i of this._terminEmpfMultiList) {\r\n const terminEmpf = await this.getTerminEmpfaenger(i.IdTermin, i.IdPerson);\r\n if (!terminEmpf) {\r\n continue;\r\n }\r\n\r\n const data = Object.assign({}, this._terminEmpfaenger, {\r\n Id: terminEmpf.Id,\r\n IdTermin: i.IdTermin,\r\n IdPerson: i.IdPerson\r\n });\r\n\r\n const r = await this.saveData(data);\r\n }\r\n\r\n DevExpress.ui.notify(this.localizationService.translateOnce(\"base.save_success\"), \"SUCCESS\", 3000);\r\n }\r\n\r\n this.terminEmpfaengerStatusPopup.instance.hide();\r\n }\r\n private async saveData(data) {\r\n const r = await this.restService.post({\r\n url: this.restService.getWebApiUrl(`ZIT/Objekte/TerminEmpfaengerElement`),\r\n data: data,\r\n increaseLoadingCount: true\r\n });\r\n\r\n if (!r) {\r\n return;\r\n }\r\n\r\n this.eventAggregator.publish(\"termin-empf:changed\", {\r\n idTermin: r.IdTermin,\r\n idPerson: r.IdPerson\r\n });\r\n\r\n return r;\r\n }\r\n private async showNotizErstellen() {\r\n const zustand = await this.restService.get({\r\n url: this.restService.getWebApiUrl(\"ZIT/Stammdaten/Zustand/\".concat(this.terminEmpfaenger.IdStatusZustand)),\r\n getOptions: {\r\n columns: [\"Id\", \"Code\"]\r\n }\r\n });\r\n\r\n if (zustand && zustand.Code == \"ZUM_TERMIN_EINLADEN\") {\r\n const doNotizErstellen = await DevExpress.ui.dialog.confirm(\r\n this.localizationService.translateOnce(\"termin-empfaenger-status.message_question\"),\r\n this.localizationService.translateOnce(\"base.question\"));\r\n\r\n if (!doNotizErstellen) {\r\n return this.save();\r\n }\r\n\r\n this.terminEmpfaengerNotizPopup.instance.show();\r\n } else {\r\n this.save();\r\n }\r\n }\r\n\r\n private insertTextMarken(ref: string, value: string) {\r\n const element: Element = this.scopeContainer.scope.bindingContext[ref].element;\r\n const input = element.querySelectorAll(\"input, textarea\").item(0);\r\n input.focus();\r\n\r\n this.insertAtCursor(input, `{{${value}}}`);\r\n }\r\n\r\n private insertAtCursor(input: HTMLInputElement, value: string) {\r\n const doc: any = document;\r\n\r\n if (doc.selection) {\r\n const sel = doc.selection.createRange();\r\n sel.text = value;\r\n } else if (input.selectionStart || input.selectionStart == 0) {\r\n const startPos = input.selectionStart;\r\n const endPos = input.selectionEnd;\r\n\r\n input.value = input.value.substring(0, startPos)\r\n + value\r\n + input.value.substring(endPos);\r\n } else {\r\n input.value = (input.value || \"\") + value;\r\n }\r\n\r\n input.dispatchEvent(new Event(\"change\"));\r\n }\r\n}\r\n\r\nenum EditMode {\r\n Single = 0,\r\n Multi = 1\r\n}\r\n","module.exports = \" \";","import { autoinject } from \"aurelia-framework\";\r\nimport { EventAggregator, Subscription } from 'aurelia-event-aggregator';\r\nimport { TooltipService, ITooltipWidget } from '../../services/tooltip-service';\r\n\r\n@autoinject\r\nexport class TooltipConfig {\r\n private _tooltipWidgetChangedSubscription: Subscription;\r\n\r\n constructor(\r\n private eventAggregator: EventAggregator,\r\n private tooltipService: TooltipService\r\n ) {}\r\n\r\n currentWidget: ITooltipWidget;\r\n currentTooltip: string;\r\n\r\n textBoxOptions: DevExpress.ui.dxTextBoxOptions = {\r\n bindingOptions: {\r\n value: \"currentTooltip\",\r\n hint: \"currentWidget.key\",\r\n readOnly: \"!currentWidget\"\r\n }\r\n }\r\n saveOptions: DevExpress.ui.dxButtonOptions = {\r\n elementAttr: {\r\n class: \"z--button z--button-round\"\r\n },\r\n icon: \"fas fa-save\",\r\n onClick: () => {\r\n if (!this.currentWidget) {\r\n return;\r\n }\r\n\r\n this.tooltipService.updateTooltip(this.currentWidget, this.currentTooltip);\r\n },\r\n bindingOptions: {\r\n disabled: \"!currentWidget\"\r\n }\r\n }\r\n \r\n bind() {\r\n this._tooltipWidgetChangedSubscription = this.eventAggregator.subscribe(\"tooltip:widget-changed\", e => {\r\n const widget: ITooltipWidget = e.tooltipWidget;\r\n if (!widget) {\r\n return;\r\n }\r\n\r\n this.currentWidget = widget;\r\n this.currentTooltip = widget.currentTooltip;\r\n });\r\n }\r\n unbind() {\r\n this._tooltipWidgetChangedSubscription.dispose();\r\n }\r\n}\r\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';\r\nimport { LocalizationService, ScopeContainer, FileService } from '../../../framework/base/export';\r\nimport { SimpleWidgetCreatorService } from '../../../framework/forms/export';\r\nimport { IdxPopupComponent } from '../../interfaces/export';\r\nimport { StartupService } from '../../services/startup-service';\r\nimport { BenutzereinstellungenService } from '../../services/benutzereinstellungen-service';\r\n@autoinject\r\nexport class WhatsappAktivieren {\r\n constructor(\r\n private benutzereinstellungen: BenutzereinstellungenService,\r\n private file: FileService,\r\n private localization: LocalizationService,\r\n private simpleWidgetCreator: SimpleWidgetCreatorService,\r\n private startupService: StartupService\r\n ) { }\r\n\r\n scopeContainer: ScopeContainer;\r\n\r\n @computedFrom(\"startupService.startupInfo.Mandant.WhatsAppTelefonnummer\")\r\n get whatsappTelefon() {\r\n return this.startupService.startupInfo.Mandant.WhatsAppTelefonnummer;\r\n }\r\n @computedFrom(\"startupService.startupInfo.Mandant.DMSLinkVisitenkarte\")\r\n get dmsLinkVisitenkarte() {\r\n return this.file.getDownloadUrl(this.startupService.startupInfo.Mandant.DMSLinkVisitenkarte);\r\n }\r\n\r\n whatsappAktivierenPopup: IdxPopupComponent;\r\n whatsappAktivierenPopupOptions: DevExpress.ui.dxPopupOptions = {\r\n title: this.localization.translateOnce(\"whatsapp-aktivieren.popup-titel\"),\r\n height: \"auto\",\r\n maxWidth: \"650px\",\r\n maxHeight: \"80%\"\r\n }\r\n\r\n bind() {\r\n this.scopeContainer = new ScopeContainer({\r\n bindingContext: this,\r\n overrideContext: null\r\n });\r\n\r\n this.simpleWidgetCreator.updatePopupOptions({\r\n idToolbar: \"whatsappAktivierenPopupToolbar\",\r\n caption: \"whatsapp-aktivieren.popup-titel\",\r\n options: this.whatsappAktivierenPopupOptions,\r\n scopeContainer: this.scopeContainer\r\n });\r\n }\r\n unbind() {\r\n this.scopeContainer.disposeAll();\r\n }\r\n\r\n showPopup() {\r\n this.whatsappAktivierenPopup.instance.show();\r\n }\r\n}\r\n","module.exports = \" \";","import { computedFrom } from 'aurelia-framework';\r\nimport { autoinject, OverrideContext, Scope } from 'aurelia-framework';\r\nimport { ScopeContainer, LocalizationService, AuthorizationService } from '../../../framework/base/export';\r\nimport { SimpleWidgetCreatorService, ICommandData } from '../../../framework/forms/export';\r\nimport { DataSourceService, RestService } from '../../../framework/base/services/export';\r\nimport { ILoeschenBenutzerData } from '../../interfaces/export';\r\nimport { BenutzereinstellungenService } from '../../services/benutzereinstellungen-service';\r\nimport { IdxValidationGroupComponent, IdxSelectBoxComponent, IdxPopupComponent } from '../../interfaces/export';\r\nimport { GrundTyp } from '../../enumerations/export';\r\nimport { FileService } from '../../../framework/base/services/file-service';\r\n\r\n@autoinject\r\nexport class Willkommensseite {\r\n constructor(\r\n private benutzereinstellungen: BenutzereinstellungenService,\r\n private file: FileService,\r\n private localization: LocalizationService,\r\n private rest: RestService,\r\n private simpleWidgetCreator: SimpleWidgetCreatorService\r\n ) { }\r\n\r\n scope: Scope;\r\n scopeContainer: ScopeContainer;\r\n\r\n isWillkommensseiteDeaktiviert: boolean;\r\n\r\n willkommensseiteList: IWillkomensseiteData[];\r\n myTitel: string;\r\n\r\n popupCommands: ICommandData[] = [\r\n {\r\n id: \"deaktiviertWillkommensseite\",\r\n idCategory: \"$close\",\r\n title: \"willkommensseite.deaktiviert-command-titel\",\r\n sortIndex: 1010,\r\n execute: () => {\r\n this.isWillkommensseiteDeaktiviert = true;\r\n\r\n this.willkommensseitePopup.instance.hide();\r\n }\r\n }\r\n ];\r\n\r\n willkommenGalleryOptions: DevExpress.ui.dxGalleryOptions = {\r\n itemTemplate: \"willkommensseiteTemplate\",\r\n width: \"100%\",\r\n animationDuration: 400,\r\n slideshowDelay: 5000,\r\n showNavButtons: true,\r\n loop: true,\r\n onSelectionChanged: (e) => {\r\n this.onGallerySeiteChanged(e.addedItems[0]);\r\n },\r\n bindingOptions: {\r\n dataSource: \"willkommensseiteList\"\r\n }\r\n };\r\n\r\n willkommensseitePopup: IdxPopupComponent;\r\n willkommensseitePopupOptions: DevExpress.ui.dxPopupOptions = {\r\n width: \"1000px\",\r\n height: \"auto\",\r\n maxWidth: \"90%\",\r\n closeOnOutsideClick: true,\r\n onHidden: () => {\r\n this.handleDeaktiviertChanged();\r\n }\r\n }\r\n\r\n bind(bindingContext: any, overrideContext: OverrideContext) {\r\n this.scope = {\r\n bindingContext: bindingContext,\r\n overrideContext: overrideContext\r\n };\r\n\r\n this.scopeContainer = new ScopeContainer({\r\n bindingContext: this,\r\n overrideContext: null\r\n });\r\n\r\n this.simpleWidgetCreator.updatePopupOptions({\r\n idToolbar: \"benutzerLoeschenPopupToolbar\",\r\n caption: \"willkommensseite.test\",\r\n options: this.willkommensseitePopupOptions,\r\n commands: this.popupCommands,\r\n scopeContainer: this.scopeContainer\r\n });\r\n }\r\n unbind() {\r\n this.scopeContainer.disposeAll();\r\n this.scope = null;\r\n }\r\n\r\n async showPopup() {\r\n this.isWillkommensseiteDeaktiviert = this.benutzereinstellungen.benutzereinstellungenData.IsWillkommensseiteDeaktiviert;\r\n\r\n this.willkommensseiteList = await this.loadWillkommensseiteList();\r\n\r\n if (!this.willkommensseiteList || !this.willkommensseiteList.length) {\r\n return;\r\n }\r\n\r\n this.onGallerySeiteChanged(this.willkommensseiteList[0]);\r\n\r\n this.willkommensseitePopup.instance.show();\r\n }\r\n\r\n onGallerySeiteChanged(neuSeite: IWillkomensseiteData) {\r\n if (neuSeite == void 0) {\r\n return;\r\n }\r\n\r\n if (neuSeite._inlineLinkBild == void 0) {\r\n neuSeite._inlineLinkBild = this.file.getInlineUrl(neuSeite.DMSLinkBild)\r\n }\r\n \r\n this.myTitel = neuSeite.Ueberschrift;\r\n }\r\n private handleDeaktiviertChanged() {\r\n if (this.isWillkommensseiteDeaktiviert == this.benutzereinstellungen.benutzereinstellungenData.IsWillkommensseiteDeaktiviert) {\r\n return\r\n }\r\n\r\n this.benutzereinstellungen.saveWillkommensseiteGelesen(this.isWillkommensseiteDeaktiviert);\r\n }\r\n\r\n private async loadWillkommensseiteList() {\r\n const jetzt = new Date();\r\n jetzt.setHours(0, 0, 0, 0);\r\n\r\n return this.rest.get({\r\n url: this.rest.getWebApiUrl(\"ZIT/Stammdaten/Willkommensseite\"),\r\n getOptions: {\r\n where: [[\"GueltigBis\", \">=\", jetzt], \"and\", [\"GueltigVon\", \"<=\", jetzt]]\r\n }\r\n });\r\n }\r\n}\r\nexport interface IWillkomensseiteData {\r\n DMSLinkBild: string,\r\n Ueberschrift: string,\r\n TextFarbe: string,\r\n TextHintergrundFarbe: string,\r\n Text: string,\r\n _inlineLinkBild?: string\r\n}\r\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\";\r\n\r\n@autoinject\r\nexport class ZButton {\r\n constructor(\r\n private _element: Element\r\n ) {}\r\n\r\n @bindable icon: string = \"\";\r\n @bindable text: string = \"\";\r\n @bindable orientation: \"left\" | \"right\" = \"left\";\r\n @bindable backgroundColor: string = \"\";\r\n @bindable @observable selected: boolean = false;\r\n @bindable selectedBackgroundColor: string = \"\";\r\n @bindable color: string = \"\";\r\n @bindable selectedColor: string = \"\";\r\n @bindable tooltip: string = \"\";\r\n @bindable isRound: boolean = true;\r\n\r\n buttonCss: any = {};\r\n\r\n bind() {\r\n this.udpateButtonCss();\r\n }\r\n\r\n onClick() {\r\n this._element.dispatchEvent(new CustomEvent(\r\n \"on-button-click\", {\r\n bubbles: true\r\n }\r\n ));\r\n }\r\n\r\n selectedChanged() {\r\n this.udpateButtonCss();\r\n }\r\n\r\n private udpateButtonCss() {\r\n const newStyle: any = {};\r\n\r\n if (this.selected && this.selectedBackgroundColor) {\r\n newStyle[\"background-color\"] = this.selectedBackgroundColor;\r\n } else if (!this.selected && this.backgroundColor) {\r\n newStyle[\"background-color\"] = this.backgroundColor;\r\n }\r\n\r\n if (this.selected && this.selectedColor) {\r\n newStyle[\"color\"] = this.selectedColor;\r\n } else if (!this.selected && this.color) {\r\n newStyle[\"color\"] = this.color;\r\n }\r\n\r\n this.buttonCss = newStyle;\r\n }\r\n}","module.exports = \"\";","import {\r\n FrameworkConfiguration,\r\n PLATFORM\r\n} from \"aurelia-framework\";\r\nimport \"./styles/styles.less\";\r\n\r\nexport function configure(config: FrameworkConfiguration) {\r\n config\r\n .globalResources(PLATFORM.moduleName(\"./elements/dokument-list-view/dokument-list-view\"))\r\n .globalResources(PLATFORM.moduleName(\"./elements/sub-headline/sub-headline\"))\r\n .globalResources(PLATFORM.moduleName(\"./elements/z-button/z-button\"))\r\n .globalResources(PLATFORM.moduleName(\"./elements/datenschutz/datenschutz\"))\r\n .globalResources(PLATFORM.moduleName(\"./elements/tag-list/tag-list\"))\r\n .globalResources(PLATFORM.moduleName(\"./elements/card-list/card-list\"))\r\n .globalResources(PLATFORM.moduleName(\"./elements/codes/codes\"))\r\n .globalResources(PLATFORM.moduleName(\"./elements/datei/datei\"))\r\n .globalResources(PLATFORM.moduleName(\"./attributes/zit-drag-and-drop\"))\r\n .globalResources(PLATFORM.moduleName(\"./attributes/repeat-finished-attribute\"));\r\n}\r\n","import * as fwx from \"../../../../framework/forms/form-export\";\r\nimport {\r\n ObjekteZuBenutzergruppeUtils\r\n} from \"./objekte-zu-benutzergruppe-utils\";\r\n\r\n@fwx.autoinject\r\nexport class ObjekteZuBenutzergruppeEditForm extends fwx.FormBase {\r\n constructor(\r\n element: Element,\r\n formBaseImport: fwx.FormBaseImport,\r\n private $f_ObjekteZuBenutzergruppe: ObjekteZuBenutzergruppeUtils) {\r\n super(element, formBaseImport);\r\n this.id = \"objekte-zu-berechtigung-edit\";\r\n this.title = \"objekte-zu-berechtigung-edit.objekte-zu-berechtigung-edit_caption\";\r\n this.addModel({\r\n \"id\": \"$m_ObjZuBen\",\r\n \"webApiAction\": \"ZIT/Berechtigungen/ObjektZuBenutzergruppe\",\r\n \"webApiExpand\": {\r\n 'Benutzergruppe': null\r\n },\r\n \"webApiWhere\": [\"IdObjekt\", {\r\n \"isBound\": true,\r\n \"expression\": \"variables.data.$v_idObjekt\"\r\n }],\r\n \"keyProperty\": \"Id\",\r\n \"filters\": []\r\n });\r\n this.addVariable({\r\n \"id\": \"$v_idObjekt\"\r\n });\r\n this.addVariable({\r\n \"id\": \"$v_titel\"\r\n });\r\n this.addFunction(\"$f_ObjekteZuBenutzergruppe\", $f_ObjekteZuBenutzergruppe, \"functions.$f_ObjekteZuBenutzergruppe\");\r\n this.widgetCreator.addValidationGroup(this, {\r\n \"id\": \"wd1\",\r\n \"options\": {\r\n \"optionsName\": \"wd1Options\",\r\n \"optionsNameFQ\": \"wd1Options\"\r\n }\r\n });\r\n this.widgetCreator.addListView(this, {\r\n \"itemClass\": \"z--list-view-inline-item\",\r\n \"useDefaultListItemStyle\": false,\r\n \"createToolbar\": true,\r\n \"optionsToolbar\": {\r\n \"optionsName\": \"r_objZuBenToolbarOptions\",\r\n \"optionsNameFQ\": \"r_objZuBenToolbarOptions\"\r\n },\r\n \"caption\": \"objekte-zu-berechtigung-edit.r_objzuben_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_ObjZuBen\"\r\n },\r\n \"dataModel\": \"$m_ObjZuBen\",\r\n \"listEdits\": [],\r\n \"filters\": [],\r\n \"commands\": [],\r\n \"id\": \"r_objZuBen\",\r\n \"options\": {\r\n \"optionsName\": \"r_objZuBenOptions\",\r\n \"optionsNameFQ\": \"r_objZuBenOptions\"\r\n }\r\n });\r\n super.onConstructionFinished();\r\n }\r\n}","module.exports = \"\";","import * as fwx from \"../../../framework/forms/form-export\";\r\nimport {\r\n DashboardUtils\r\n} from \"./dashboard-utils\";\r\n\r\n@fwx.autoinject\r\nexport class DashboardFormForm extends fwx.FormBase {\r\n constructor(\r\n element: Element,\r\n formBaseImport: fwx.FormBaseImport,\r\n private $f_DashboardUtils: DashboardUtils) {\r\n super(element, formBaseImport);\r\n this.id = \"dashboard-form\";\r\n this.title = \"dashboard-form.dashboard-form_caption\";\r\n this.addFunction(\"$f_DashboardUtils\", $f_DashboardUtils, \"functions.$f_DashboardUtils\");\r\n this.widgetCreator.addValidationGroup(this, {\r\n \"id\": \"wd1\",\r\n \"options\": {\r\n \"optionsName\": \"wd1Options\",\r\n \"optionsNameFQ\": \"wd1Options\"\r\n }\r\n });\r\n super.onConstructionFinished();\r\n }\r\n}","module.exports = \"\";","import * as fwx from \"../../../framework/forms/form-export\";\r\nimport {\r\n EntwicklungszieleListUtils\r\n} from \"./entwicklungsziele-list-utils\";\r\n\r\n@fwx.autoinject\r\nexport class EntwicklungszieleListForm extends fwx.FormBase {\r\n constructor(\r\n element: Element,\r\n formBaseImport: fwx.FormBaseImport,\r\n private $f_EntwicklungszieleListUtils: EntwicklungszieleListUtils) {\r\n super(element, formBaseImport);\r\n this.id = \"entwicklungszieleList\";\r\n this.title = \"entwicklungszieleList.entwicklungszielelist_caption\";\r\n this.addCommand({\r\n \"binding\": {\r\n \"bindTo\": \"$f_EntwicklungszieleListUtils.activateTableView\",\r\n \"bindToFQ\": \"functions.$f_EntwicklungszieleListUtils.activateTableView\"\r\n }\r\n });\r\n this.addCommand({\r\n \"binding\": {\r\n \"bindTo\": \"$f_EntwicklungszieleListUtils.zielErstellen\",\r\n \"bindToFQ\": \"functions.$f_EntwicklungszieleListUtils.zielErstellen\"\r\n }\r\n });\r\n this.addFunction(\"$f_EntwicklungszieleListUtils\", $f_EntwicklungszieleListUtils, \"functions.$f_EntwicklungszieleListUtils\");\r\n this.widgetCreator.addValidationGroup(this, {\r\n \"id\": \"wd1\",\r\n \"options\": {\r\n \"optionsName\": \"wd1Options\",\r\n \"optionsNameFQ\": \"wd1Options\"\r\n }\r\n });\r\n super.onConstructionFinished();\r\n }\r\n}","module.exports = \"\";","import * as fwx from \"../../../framework/forms/form-export\";\r\nimport {\r\n EntwicklungszoneListUtils\r\n} from \"./entwicklungszone-list-utils\";\r\n\r\n@fwx.autoinject\r\nexport class EntwicklungszoneListForm extends fwx.FormBase {\r\n constructor(\r\n element: Element,\r\n formBaseImport: fwx.FormBaseImport,\r\n private $f_EntwicklungszoneListUtils: EntwicklungszoneListUtils) {\r\n super(element, formBaseImport);\r\n this.id = \"entwicklungszoneList\";\r\n this.title = \"entwicklungszoneList.entwicklungszonelist_caption\";\r\n this.addCommand({\r\n \"binding\": {\r\n \"bindTo\": \"$f_EntwicklungszoneListUtils.meineAufgabenCommand\",\r\n \"bindToFQ\": \"functions.$f_EntwicklungszoneListUtils.meineAufgabenCommand\"\r\n }\r\n });\r\n this.addCommand({\r\n \"binding\": {\r\n \"bindTo\": \"$f_EntwicklungszoneListUtils.aufgabeBestaetigenCommand\",\r\n \"bindToFQ\": \"functions.$f_EntwicklungszoneListUtils.aufgabeBestaetigenCommand\"\r\n }\r\n });\r\n this.addCommand({\r\n \"binding\": {\r\n \"bindTo\": \"$f_EntwicklungszoneListUtils.activateTableView\",\r\n \"bindToFQ\": \"functions.$f_EntwicklungszoneListUtils.activateTableView\"\r\n }\r\n });\r\n this.addFunction(\"$f_EntwicklungszoneListUtils\", $f_EntwicklungszoneListUtils, \"functions.$f_EntwicklungszoneListUtils\");\r\n this.widgetCreator.addValidationGroup(this, {\r\n \"id\": \"wd1\",\r\n \"options\": {\r\n \"optionsName\": \"wd1Options\",\r\n \"optionsNameFQ\": \"wd1Options\"\r\n }\r\n });\r\n super.onConstructionFinished();\r\n }\r\n}","module.exports = \"\";","import * as fwx from \"../../../framework/forms/form-export\";\r\n\r\n@fwx.autoinject\r\nexport class ErklaervideoListForm extends fwx.FormBase {\r\n constructor(\r\n element: Element,\r\n formBaseImport: fwx.FormBaseImport) {\r\n super(element, formBaseImport);\r\n this.id = \"erklaervideoList\";\r\n this.title = \"erklaervideoList.erklaervideolist_caption\";\r\n this.widgetCreator.addValidationGroup(this, {\r\n \"id\": \"wd1\",\r\n \"options\": {\r\n \"optionsName\": \"wd1Options\",\r\n \"optionsNameFQ\": \"wd1Options\"\r\n }\r\n });\r\n super.onConstructionFinished();\r\n }\r\n}","module.exports = \"\";","import * as fwx from \"../../../framework/forms/form-export\";\r\nimport {\r\n NachrichtenListUtils\r\n} from \"./nachrichten-list-utils\";\r\n\r\n@fwx.autoinject\r\nexport class NachrichtenListForm extends fwx.FormBase {\r\n constructor(\r\n element: Element,\r\n formBaseImport: fwx.FormBaseImport,\r\n private $f_NachrichtenListUtils: NachrichtenListUtils) {\r\n super(element, formBaseImport);\r\n this.id = \"nachrichtenList\";\r\n this.title = \"nachrichtenList.nachrichtenlist_caption\";\r\n this.addCommand({\r\n \"binding\": {\r\n \"bindTo\": \"$f_NachrichtenListUtils.gruppeInfoCommand\",\r\n \"bindToFQ\": \"functions.$f_NachrichtenListUtils.gruppeInfoCommand\"\r\n }\r\n });\r\n this.addCommand({\r\n \"binding\": {\r\n \"bindTo\": \"$f_NachrichtenListUtils.tableauCommand\",\r\n \"bindToFQ\": \"functions.$f_NachrichtenListUtils.tableauCommand\"\r\n }\r\n });\r\n this.addCommand({\r\n \"binding\": {\r\n \"bindTo\": \"$f_NachrichtenListUtils.fotoCommand\",\r\n \"bindToFQ\": \"functions.$f_NachrichtenListUtils.fotoCommand\"\r\n }\r\n });\r\n this.addCommand({\r\n \"binding\": {\r\n \"bindTo\": \"$f_NachrichtenListUtils.videoCommand\",\r\n \"bindToFQ\": \"functions.$f_NachrichtenListUtils.videoCommand\"\r\n }\r\n });\r\n this.addCommand({\r\n \"binding\": {\r\n \"bindTo\": \"$f_NachrichtenListUtils.dokumentCommand\",\r\n \"bindToFQ\": \"functions.$f_NachrichtenListUtils.dokumentCommand\"\r\n }\r\n });\r\n this.addCommand({\r\n \"binding\": {\r\n \"bindTo\": \"$f_NachrichtenListUtils.telefonatCommand\",\r\n \"bindToFQ\": \"functions.$f_NachrichtenListUtils.telefonatCommand\"\r\n }\r\n });\r\n this.addCommand({\r\n \"binding\": {\r\n \"bindTo\": \"$f_NachrichtenListUtils.notizCommand\",\r\n \"bindToFQ\": \"functions.$f_NachrichtenListUtils.notizCommand\"\r\n }\r\n });\r\n this.addCommand({\r\n \"binding\": {\r\n \"bindTo\": \"$f_NachrichtenListUtils.neueNachrichtErstellenCommand\",\r\n \"bindToFQ\": \"functions.$f_NachrichtenListUtils.neueNachrichtErstellenCommand\"\r\n }\r\n });\r\n this.addCommand({\r\n \"binding\": {\r\n \"bindTo\": \"$f_NachrichtenListUtils.nachrichtUngelesenCommand\",\r\n \"bindToFQ\": \"functions.$f_NachrichtenListUtils.nachrichtUngelesenCommand\"\r\n }\r\n });\r\n this.addCommand({\r\n \"binding\": {\r\n \"bindTo\": \"$f_NachrichtenListUtils.vorlagenCommand\",\r\n \"bindToFQ\": \"functions.$f_NachrichtenListUtils.vorlagenCommand\"\r\n }\r\n });\r\n this.addFunction(\"$f_NachrichtenListUtils\", $f_NachrichtenListUtils, \"functions.$f_NachrichtenListUtils\");\r\n this.widgetCreator.addValidationGroup(this, {\r\n \"id\": \"wd1\",\r\n \"options\": {\r\n \"optionsName\": \"wd1Options\",\r\n \"optionsNameFQ\": \"wd1Options\"\r\n }\r\n });\r\n super.onConstructionFinished();\r\n }\r\n}","module.exports = \"\";","import * as fwx from \"../../../framework/forms/form-export\";\r\n\r\n@fwx.autoinject\r\nexport class NavigationForm extends fwx.FormBase {\r\n constructor(\r\n element: Element,\r\n formBaseImport: fwx.FormBaseImport) {\r\n super(element, formBaseImport);\r\n this.id = \"navigation\";\r\n this.title = \"navigation.navigation_caption\";\r\n this.widgetCreator.addValidationGroup(this, {\r\n \"id\": \"wd1\",\r\n \"options\": {\r\n \"optionsName\": \"wd1Options\",\r\n \"optionsNameFQ\": \"wd1Options\"\r\n }\r\n });\r\n super.onConstructionFinished();\r\n }\r\n}","module.exports = \"\";","import * as fwx from \"../../../../framework/forms/form-export\";\r\nimport {\r\n AnsprechpersonEditUtils\r\n} from \"./ansprechperson-edit-utils\";\r\n\r\n@fwx.autoinject\r\nexport class AnsprechpersonEditForm extends fwx.FormBase {\r\n constructor(\r\n element: Element,\r\n formBaseImport: fwx.FormBaseImport,\r\n private $f_AnsprechpersonEditUtils: AnsprechpersonEditUtils) {\r\n super(element, formBaseImport);\r\n this.id = \"ansprechperson-edit\";\r\n this.title = \"ansprechperson-edit.ansprechperson-edit_caption\";\r\n this.addModel({\r\n \"id\": \"$m_Ansprechperson\",\r\n \"webApiAction\": \"ZIT/Objekte/Ansprechperson\",\r\n \"webApiExpand\": {\r\n 'Personendaten': null\r\n },\r\n \"modificationInfoEnabled\": true,\r\n \"key\": \"variables.data.$id\",\r\n \"keyProperty\": \"Id\",\r\n \"postOnSave\": true,\r\n \"filters\": [{\r\n \"webApiCustomKey\": \"CanBenutzeraccountAktivieren\",\r\n \"webApiCustomValue\": \"true\"\r\n }, {\r\n \"webApiCustomKey\": \"SonstigeKontaktdatenVisible\",\r\n \"webApiCustomValue\": \"true\"\r\n }]\r\n });\r\n this.addModel({\r\n \"id\": \"$m_AnsprechpersonZuGeschaeftspartnerRel\",\r\n \"webApiAction\": \"ZIT/Objekte/AnsprechpersonZuGeschaeftspartner\",\r\n \"webApiExpand\": {\r\n 'Geschaeftspartner': {\r\n 'expand': {\r\n 'Geschaeftspartnerdaten': null,\r\n 'Adressen': {\r\n 'expand': {\r\n 'Adressen': null\r\n }\r\n }\r\n }\r\n }\r\n },\r\n \"keyProperty\": \"Id\",\r\n \"filters\": [{\r\n \"webApiCustomKey\": \"onlyGueltig\",\r\n \"webApiCustomValue\": \"true\"\r\n }]\r\n });\r\n this.addModel({\r\n \"id\": \"$m_AnsprechpersonZuGeschaeftspartnerEdit\",\r\n \"webApiAction\": \"ZIT/Objekte/AnsprechpersonZuGeschaeftspartner\",\r\n \"keyProperty\": \"Id\",\r\n \"filters\": []\r\n });\r\n this.addModel({\r\n \"id\": \"$m_AnsprechpersonKontaktElement\",\r\n \"webApiAction\": \"ZIT/Objekte/AnsprechpersonKontaktElement\",\r\n \"key\": \"models.data.$m_Ansprechperson.IdAnsprechpersonKontaktElement\",\r\n \"keyProperty\": \"Id\",\r\n \"filters\": []\r\n });\r\n this.addModel({\r\n \"id\": \"$m_AnsprechpersonKontaktEdit\",\r\n \"webApiAction\": \"ZIT/Objekte/AnsprechpersonKontakt\",\r\n \"keyProperty\": \"Id\",\r\n \"filters\": []\r\n });\r\n this.addModel({\r\n \"id\": \"$m_AnsprechpersonKontaktRel\",\r\n \"webApiAction\": \"ZIT/Objekte/AnsprechpersonKontakt\",\r\n \"webApiExpand\": {\r\n Kontakttyp: null\r\n },\r\n \"keyProperty\": \"Id\",\r\n \"filters\": []\r\n });\r\n this.addCommand({\r\n \"binding\": {\r\n \"bindTo\": \"$f_AnsprechpersonEditUtils.actionCommand\",\r\n \"bindToFQ\": \"functions.$f_AnsprechpersonEditUtils.actionCommand\"\r\n }\r\n });\r\n this.addEditPopup({\r\n \"idContent\": \"ansprechpersonGeschaeftspartnerEditPopupContent\",\r\n \"mappings\": [{\r\n \"to\": \"$id\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_AnsprechpersonZuGeschaeftspartnerEdit\",\r\n \"bindTo\": \"Id\",\r\n \"bindToFQ\": \"models.data.$m_AnsprechpersonZuGeschaeftspartnerEdit.Id\"\r\n }\r\n }],\r\n \"id\": \"ansprechpersonGeschaeftspartnerEditPopup\",\r\n \"options\": {\r\n \"optionsName\": \"ansprechpersonGeschaeftspartnerEditPopupOptions\",\r\n \"optionsNameFQ\": \"ansprechpersonGeschaeftspartnerEditPopupOptions\"\r\n },\r\n \"height\": \"auto\",\r\n \"width\": \"500px\",\r\n \"commands\": []\r\n });\r\n this.addEditPopup({\r\n \"idContent\": \"ansprechpersonKontaktEditPopupContent\",\r\n \"mappings\": [{\r\n \"to\": \"$id\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_AnsprechpersonKontaktEdit\",\r\n \"bindTo\": \"Id\",\r\n \"bindToFQ\": \"models.data.$m_AnsprechpersonKontaktEdit.Id\"\r\n }\r\n }],\r\n \"id\": \"ansprechpersonKontaktEditPopup\",\r\n \"options\": {\r\n \"optionsName\": \"ansprechpersonKontaktEditPopupOptions\",\r\n \"optionsNameFQ\": \"ansprechpersonKontaktEditPopupOptions\"\r\n },\r\n \"height\": \"350px\",\r\n \"width\": \"500px\",\r\n \"commands\": []\r\n });\r\n this.addFunction(\"$f_AnsprechpersonEditUtils\", $f_AnsprechpersonEditUtils, \"functions.$f_AnsprechpersonEditUtils\");\r\n this.widgetCreator.addValidationGroup(this, {\r\n \"id\": \"wd1\",\r\n \"options\": {\r\n \"optionsName\": \"wd1Options\",\r\n \"optionsNameFQ\": \"wd1Options\"\r\n }\r\n });\r\n this.widgetCreator.addLookup(this, {\r\n \"idSelect\": \"geschaeftspartner\",\r\n \"filters\": [],\r\n \"caption\": \"ansprechperson-edit.r_selectgeschaeftspartner_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Ansprechperson\",\r\n \"bindTo\": \"_IdGeschaeftspartner\",\r\n \"bindToFQ\": \"models.data.$m_Ansprechperson._IdGeschaeftspartner\"\r\n },\r\n \"validationRules\": [{\r\n \"item\": {\r\n \"type\": \"required\",\r\n \"parameters\": []\r\n }\r\n }],\r\n \"id\": \"r_selectGeschaeftspartner\",\r\n \"options\": {\r\n \"optionsName\": \"r_selectGeschaeftspartnerOptions\",\r\n \"optionsNameFQ\": \"r_selectGeschaeftspartnerOptions\"\r\n }\r\n });\r\n this.widgetCreator.addRadioGroup(this, {\r\n \"idSelect\": \"kontaktpersonTyp\",\r\n \"filters\": [],\r\n \"caption\": \"ansprechperson-edit.r_ansprechpersontyp_caption\",\r\n \"isReadOnlyExpression\": \"models.data.$m_Ansprechperson.Personendaten && models.data.$m_Ansprechperson.Personendaten.Id\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Ansprechperson\",\r\n \"bindTo\": \"Personendaten.KontaktpersonTyp\",\r\n \"bindToFQ\": \"models.data.$m_Ansprechperson.Personendaten.KontaktpersonTyp\",\r\n \"propertyPrefix\": \"Personendaten\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_ansprechpersonTyp\",\r\n \"options\": {\r\n \"optionsName\": \"r_ansprechpersonTypOptions\",\r\n \"optionsNameFQ\": \"r_ansprechpersonTypOptions\"\r\n }\r\n });\r\n this.widgetCreator.addRadioGroup(this, {\r\n \"idSelect\": \"geschlecht\",\r\n \"filters\": [],\r\n \"caption\": \"ansprechperson-edit.r_geschlecht_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Ansprechperson\",\r\n \"bindTo\": \"Personendaten.Geschlecht\",\r\n \"bindToFQ\": \"models.data.$m_Ansprechperson.Personendaten.Geschlecht\",\r\n \"propertyPrefix\": \"Personendaten\"\r\n },\r\n \"validationRules\": [{\r\n \"item\": {\r\n \"type\": \"required\",\r\n \"parameters\": []\r\n }\r\n }],\r\n \"id\": \"r_geschlecht\",\r\n \"options\": {\r\n \"optionsName\": \"r_geschlechtOptions\",\r\n \"optionsNameFQ\": \"r_geschlechtOptions\"\r\n }\r\n });\r\n this.widgetCreator.addTextBox(this, {\r\n \"maxLength\": 50,\r\n \"caption\": \"ansprechperson-edit.r_titelvorne_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Ansprechperson\",\r\n \"bindTo\": \"Personendaten.TitelVorne\",\r\n \"bindToFQ\": \"models.data.$m_Ansprechperson.Personendaten.TitelVorne\",\r\n \"propertyPrefix\": \"Personendaten\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_titelVorne\",\r\n \"options\": {\r\n \"optionsName\": \"r_titelVorneOptions\",\r\n \"optionsNameFQ\": \"r_titelVorneOptions\"\r\n }\r\n });\r\n this.widgetCreator.addTextBox(this, {\r\n \"maxLength\": 50,\r\n \"caption\": \"ansprechperson-edit.r_titelhinten_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Ansprechperson\",\r\n \"bindTo\": \"Personendaten.TitelHinten\",\r\n \"bindToFQ\": \"models.data.$m_Ansprechperson.Personendaten.TitelHinten\",\r\n \"propertyPrefix\": \"Personendaten\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_titelHinten\",\r\n \"options\": {\r\n \"optionsName\": \"r_titelHintenOptions\",\r\n \"optionsNameFQ\": \"r_titelHintenOptions\"\r\n }\r\n });\r\n this.widgetCreator.addTextBox(this, {\r\n \"maxLength\": 100,\r\n \"caption\": \"ansprechperson-edit.r_vorname_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Ansprechperson\",\r\n \"bindTo\": \"Personendaten.Vorname\",\r\n \"bindToFQ\": \"models.data.$m_Ansprechperson.Personendaten.Vorname\",\r\n \"propertyPrefix\": \"Personendaten\"\r\n },\r\n \"validationRules\": [{\r\n \"item\": {\r\n \"type\": \"required\",\r\n \"parameters\": []\r\n }\r\n }],\r\n \"id\": \"r_vorname\",\r\n \"options\": {\r\n \"optionsName\": \"r_vornameOptions\",\r\n \"optionsNameFQ\": \"r_vornameOptions\"\r\n }\r\n });\r\n this.widgetCreator.addTextBox(this, {\r\n \"maxLength\": 100,\r\n \"caption\": \"ansprechperson-edit.r_nachname_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Ansprechperson\",\r\n \"bindTo\": \"Personendaten.Nachname\",\r\n \"bindToFQ\": \"models.data.$m_Ansprechperson.Personendaten.Nachname\",\r\n \"propertyPrefix\": \"Personendaten\"\r\n },\r\n \"validationRules\": [{\r\n \"item\": {\r\n \"type\": \"required\",\r\n \"parameters\": []\r\n }\r\n }],\r\n \"id\": \"r_nachname\",\r\n \"options\": {\r\n \"optionsName\": \"r_nachnameOptions\",\r\n \"optionsNameFQ\": \"r_nachnameOptions\"\r\n }\r\n });\r\n this.widgetCreator.addTextBox(this, {\r\n \"maxLength\": 100,\r\n \"caption\": \"ansprechperson-edit.r_team_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Ansprechperson\",\r\n \"bindTo\": \"Personendaten.Team\",\r\n \"bindToFQ\": \"models.data.$m_Ansprechperson.Personendaten.Team\",\r\n \"propertyPrefix\": \"Personendaten\"\r\n },\r\n \"validationRules\": [{\r\n \"item\": {\r\n \"type\": \"required\",\r\n \"parameters\": []\r\n }\r\n }],\r\n \"id\": \"r_team\",\r\n \"options\": {\r\n \"optionsName\": \"r_teamOptions\",\r\n \"optionsNameFQ\": \"r_teamOptions\"\r\n }\r\n });\r\n this.widgetCreator.addTextBox(this, {\r\n \"maxLength\": 100,\r\n \"caption\": \"ansprechperson-edit.r_email_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Ansprechperson\",\r\n \"bindTo\": \"Personendaten.Email\",\r\n \"bindToFQ\": \"models.data.$m_Ansprechperson.Personendaten.Email\",\r\n \"propertyPrefix\": \"Personendaten\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_email\",\r\n \"options\": {\r\n \"optionsName\": \"r_emailOptions\",\r\n \"optionsNameFQ\": \"r_emailOptions\"\r\n }\r\n });\r\n this.widgetCreator.addSelectBox(this, {\r\n \"idSelect\": \"landvorwahl\",\r\n \"filters\": [],\r\n \"caption\": \"ansprechperson-edit.r_mobillandvorwahl_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Ansprechperson\",\r\n \"bindTo\": \"Personendaten.MobilLandvorwahl\",\r\n \"bindToFQ\": \"models.data.$m_Ansprechperson.Personendaten.MobilLandvorwahl\",\r\n \"propertyPrefix\": \"Personendaten\"\r\n },\r\n \"validationRules\": [{\r\n \"item\": {\r\n \"type\": \"conditionalRequired\",\r\n \"parameters\": [{\r\n \"name\": \"condition\",\r\n \"value\": \"models.data.$m_Ansprechperson.Personendaten && models.data.$m_Ansprechperson.Personendaten.Mobil\"\r\n }]\r\n }\r\n }],\r\n \"id\": \"r_mobilLandvorwahl\",\r\n \"options\": {\r\n \"optionsName\": \"r_mobilLandvorwahlOptions\",\r\n \"optionsNameFQ\": \"r_mobilLandvorwahlOptions\"\r\n }\r\n });\r\n this.widgetCreator.addTextBox(this, {\r\n \"maxLength\": 100,\r\n \"caption\": \"ansprechperson-edit.r_mobil_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Ansprechperson\",\r\n \"bindTo\": \"Personendaten.Mobil\",\r\n \"bindToFQ\": \"models.data.$m_Ansprechperson.Personendaten.Mobil\",\r\n \"propertyPrefix\": \"Personendaten\"\r\n },\r\n \"validationRules\": [{\r\n \"item\": {\r\n \"type\": \"telefon\",\r\n \"parameters\": []\r\n }\r\n }],\r\n \"id\": \"r_mobil\",\r\n \"options\": {\r\n \"optionsName\": \"r_mobilOptions\",\r\n \"optionsNameFQ\": \"r_mobilOptions\"\r\n }\r\n });\r\n this.widgetCreator.addSelectBox(this, {\r\n \"idSelect\": \"landvorwahl\",\r\n \"filters\": [],\r\n \"caption\": \"ansprechperson-edit.r_telefonlandvorwahl_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Ansprechperson\",\r\n \"bindTo\": \"Personendaten.TelefonLandvorwahl\",\r\n \"bindToFQ\": \"models.data.$m_Ansprechperson.Personendaten.TelefonLandvorwahl\",\r\n \"propertyPrefix\": \"Personendaten\"\r\n },\r\n \"validationRules\": [{\r\n \"item\": {\r\n \"type\": \"conditionalRequired\",\r\n \"parameters\": [{\r\n \"name\": \"condition\",\r\n \"value\": \"models.data.$m_Ansprechperson.Personendaten && models.data.$m_Ansprechperson.Personendaten.Telefon\"\r\n }]\r\n }\r\n }],\r\n \"id\": \"r_telefonLandvorwahl\",\r\n \"options\": {\r\n \"optionsName\": \"r_telefonLandvorwahlOptions\",\r\n \"optionsNameFQ\": \"r_telefonLandvorwahlOptions\"\r\n }\r\n });\r\n this.widgetCreator.addTextBox(this, {\r\n \"maxLength\": 100,\r\n \"caption\": \"ansprechperson-edit.r_telefon_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Ansprechperson\",\r\n \"bindTo\": \"Personendaten.Telefon\",\r\n \"bindToFQ\": \"models.data.$m_Ansprechperson.Personendaten.Telefon\",\r\n \"propertyPrefix\": \"Personendaten\"\r\n },\r\n \"validationRules\": [{\r\n \"item\": {\r\n \"type\": \"telefon\",\r\n \"parameters\": []\r\n }\r\n }],\r\n \"id\": \"r_telefon\",\r\n \"options\": {\r\n \"optionsName\": \"r_telefonOptions\",\r\n \"optionsNameFQ\": \"r_telefonOptions\"\r\n }\r\n });\r\n this.widgetCreator.addTextBox(this, {\r\n \"maxLength\": 100,\r\n \"caption\": \"ansprechperson-edit.r_funktion_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Ansprechperson\",\r\n \"bindTo\": \"Personendaten.Funktion\",\r\n \"bindToFQ\": \"models.data.$m_Ansprechperson.Personendaten.Funktion\",\r\n \"propertyPrefix\": \"Personendaten\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_funktion\",\r\n \"options\": {\r\n \"optionsName\": \"r_funktionOptions\",\r\n \"optionsNameFQ\": \"r_funktionOptions\"\r\n }\r\n });\r\n this.widgetCreator.addTextArea(this, {\r\n \"height\": \"50px\",\r\n \"maxLength\": 1000,\r\n \"caption\": \"ansprechperson-edit.r_bemerkung_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Ansprechperson\",\r\n \"bindTo\": \"Personendaten.Bemerkung\",\r\n \"bindToFQ\": \"models.data.$m_Ansprechperson.Personendaten.Bemerkung\",\r\n \"propertyPrefix\": \"Personendaten\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_bemerkung\",\r\n \"options\": {\r\n \"optionsName\": \"r_bemerkungOptions\",\r\n \"optionsNameFQ\": \"r_bemerkungOptions\"\r\n }\r\n });\r\n this.widgetCreator.addCheckBox(this, {\r\n \"caption\": \"ansprechperson-edit.r_imgeschaeftspartnerausblenden_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Ansprechperson\",\r\n \"bindTo\": \"Personendaten.ImGeschaeftspartnerAusblenden\",\r\n \"bindToFQ\": \"models.data.$m_Ansprechperson.Personendaten.ImGeschaeftspartnerAusblenden\",\r\n \"propertyPrefix\": \"Personendaten\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_ImGeschaeftspartnerAusblenden\",\r\n \"options\": {\r\n \"optionsName\": \"r_ImGeschaeftspartnerAusblendenOptions\",\r\n \"optionsNameFQ\": \"r_ImGeschaeftspartnerAusblendenOptions\"\r\n }\r\n });\r\n this.widgetCreator.addCheckBox(this, {\r\n \"caption\": \"ansprechperson-edit.r_keinnewslettererwuenscht_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Ansprechperson\",\r\n \"bindTo\": \"Personendaten.KeinNewsletterErwuenscht\",\r\n \"bindToFQ\": \"models.data.$m_Ansprechperson.Personendaten.KeinNewsletterErwuenscht\",\r\n \"propertyPrefix\": \"Personendaten\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_keinNewsletterErwuenscht\",\r\n \"options\": {\r\n \"optionsName\": \"r_keinNewsletterErwuenschtOptions\",\r\n \"optionsNameFQ\": \"r_keinNewsletterErwuenschtOptions\"\r\n }\r\n });\r\n this.widgetCreator.addFileUploaderWithViewer(this, {\r\n \"acceptTypeEnum\": 0,\r\n \"acceptType\": \"image/*\",\r\n \"height\": \"250px\",\r\n \"showToolbar\": true,\r\n \"showClearButton\": false,\r\n \"caption\": \"ansprechperson-edit.r_dmslinkfoto_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Ansprechperson\",\r\n \"bindTo\": \"Personendaten.DMSLinkFoto\",\r\n \"bindToFQ\": \"models.data.$m_Ansprechperson.Personendaten.DMSLinkFoto\",\r\n \"propertyPrefix\": \"Personendaten\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_dmsLinkFoto\",\r\n \"options\": {\r\n \"optionsName\": \"r_dmsLinkFotoOptions\",\r\n \"optionsNameFQ\": \"r_dmsLinkFotoOptions\"\r\n }\r\n });\r\n this.widgetCreator.addFileUploaderWithViewer(this, {\r\n \"acceptTypeEnum\": 2,\r\n \"acceptType\": \".vcf\",\r\n \"height\": \"100px\",\r\n \"showToolbar\": true,\r\n \"showClearButton\": false,\r\n \"caption\": \"ansprechperson-edit.r_dmslinkvisitenkarte_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Ansprechperson\",\r\n \"bindTo\": \"Personendaten.DMSLinkVisitenkarte\",\r\n \"bindToFQ\": \"models.data.$m_Ansprechperson.Personendaten.DMSLinkVisitenkarte\",\r\n \"propertyPrefix\": \"Personendaten\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_dmsLinkVisitenkarte\",\r\n \"options\": {\r\n \"optionsName\": \"r_dmsLinkVisitenkarteOptions\",\r\n \"optionsNameFQ\": \"r_dmsLinkVisitenkarteOptions\"\r\n }\r\n });\r\n this.widgetCreator.addSelectBox(this, {\r\n \"idSelect\": \"landvorwahl\",\r\n \"filters\": [],\r\n \"caption\": \"ansprechperson-edit.r_alternativetelefonllandvorwahl_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Ansprechperson\",\r\n \"bindTo\": \"Personendaten.AlternativTelefonLandvorwahl\",\r\n \"bindToFQ\": \"models.data.$m_Ansprechperson.Personendaten.AlternativTelefonLandvorwahl\",\r\n \"propertyPrefix\": \"Personendaten\"\r\n },\r\n \"validationRules\": [{\r\n \"item\": {\r\n \"type\": \"conditionalRequired\",\r\n \"parameters\": [{\r\n \"name\": \"condition\",\r\n \"value\": \"models.data.$m_Ansprechperson.Personendaten && models.data.$m_Ansprechperson.Personendaten.AlternativTelefon\"\r\n }]\r\n }\r\n }],\r\n \"id\": \"r_alternativeTelefonlLandVorwahl\",\r\n \"options\": {\r\n \"optionsName\": \"r_alternativeTelefonlLandVorwahlOptions\",\r\n \"optionsNameFQ\": \"r_alternativeTelefonlLandVorwahlOptions\"\r\n }\r\n });\r\n this.widgetCreator.addTextBox(this, {\r\n \"maxLength\": 100,\r\n \"caption\": \"ansprechperson-edit.r_alternativetelefonnummer_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Ansprechperson\",\r\n \"bindTo\": \"Personendaten.AlternativTelefon\",\r\n \"bindToFQ\": \"models.data.$m_Ansprechperson.Personendaten.AlternativTelefon\",\r\n \"propertyPrefix\": \"Personendaten\"\r\n },\r\n \"validationRules\": [{\r\n \"item\": {\r\n \"type\": \"telefon\",\r\n \"parameters\": []\r\n }\r\n }],\r\n \"id\": \"r_alternativeTelefonNummer\",\r\n \"options\": {\r\n \"optionsName\": \"r_alternativeTelefonNummerOptions\",\r\n \"optionsNameFQ\": \"r_alternativeTelefonNummerOptions\"\r\n }\r\n });\r\n this.widgetCreator.addTextBox(this, {\r\n \"maxLength\": 100,\r\n \"caption\": \"ansprechperson-edit.r_alternativeemail_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Ansprechperson\",\r\n \"bindTo\": \"Personendaten.AlternativEmail\",\r\n \"bindToFQ\": \"models.data.$m_Ansprechperson.Personendaten.AlternativEmail\",\r\n \"propertyPrefix\": \"Personendaten\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_alternativeEmail\",\r\n \"options\": {\r\n \"optionsName\": \"r_alternativeEmailOptions\",\r\n \"optionsNameFQ\": \"r_alternativeEmailOptions\"\r\n }\r\n });\r\n this.widgetCreator.addListView(this, {\r\n \"itemClass\": \"z--list-view-inline-item\",\r\n \"useDefaultListItemStyle\": false,\r\n \"optionsToolbar\": {\r\n \"optionsName\": \"r_ansprechpersonGeschaeftspartnerListViewToolbarOptions\",\r\n \"optionsNameFQ\": \"r_ansprechpersonGeschaeftspartnerListViewToolbarOptions\"\r\n },\r\n \"binding\": {\r\n \"dataContext\": \"$m_Ansprechperson\"\r\n },\r\n \"isRelation\": true,\r\n \"relationBinding\": {\r\n \"dataContext\": \"$m_AnsprechpersonZuGeschaeftspartnerRel\",\r\n \"bindTo\": \"IdAnsprechperson\",\r\n \"bindToFQ\": \"models.data.$m_AnsprechpersonZuGeschaeftspartnerRel.IdAnsprechperson\"\r\n },\r\n \"dataModel\": \"$m_Ansprechperson\",\r\n \"editDataContext\": \"$m_AnsprechpersonZuGeschaeftspartnerEdit\",\r\n \"idEditPopup\": \"ansprechpersonGeschaeftspartnerEditPopup\",\r\n \"listEdits\": [],\r\n \"filters\": [],\r\n \"commands\": [],\r\n \"id\": \"r_ansprechpersonGeschaeftspartnerListView\",\r\n \"options\": {\r\n \"optionsName\": \"r_ansprechpersonGeschaeftspartnerListViewOptions\",\r\n \"optionsNameFQ\": \"r_ansprechpersonGeschaeftspartnerListViewOptions\"\r\n }\r\n });\r\n this.widgetCreator.addListView(this, {\r\n \"itemClass\": \"z--list-view-inline-item\",\r\n \"useDefaultListItemStyle\": false,\r\n \"optionsToolbar\": {\r\n \"optionsName\": \"r_ansprechpersonKontaktdatenListViewToolbarOptions\",\r\n \"optionsNameFQ\": \"r_ansprechpersonKontaktdatenListViewToolbarOptions\"\r\n },\r\n \"binding\": {\r\n \"dataContext\": \"$m_AnsprechpersonKontaktElement\"\r\n },\r\n \"isRelation\": true,\r\n \"relationBinding\": {\r\n \"dataContext\": \"$m_AnsprechpersonKontaktRel\",\r\n \"bindTo\": \"IdAnsprechpersonKontaktElement\",\r\n \"bindToFQ\": \"models.data.$m_AnsprechpersonKontaktRel.IdAnsprechpersonKontaktElement\"\r\n },\r\n \"dataModel\": \"$m_AnsprechpersonKontaktElement\",\r\n \"editDataContext\": \"$m_AnsprechpersonKontaktEdit\",\r\n \"idEditPopup\": \"ansprechpersonKontaktEditPopup\",\r\n \"listEdits\": [],\r\n \"filters\": [],\r\n \"commands\": [],\r\n \"id\": \"r_ansprechpersonKontaktdatenListView\",\r\n \"options\": {\r\n \"optionsName\": \"r_ansprechpersonKontaktdatenListViewOptions\",\r\n \"optionsNameFQ\": \"r_ansprechpersonKontaktdatenListViewOptions\"\r\n }\r\n });\r\n super.onConstructionFinished();\r\n }\r\n}","module.exports = \"\";","import * as fwx from \"../../../../framework/forms/form-export\";\r\n\r\n@fwx.autoinject\r\nexport class AnsprechpersonGeschaeftspartnerEditForm extends fwx.FormBase {\r\n constructor(\r\n element: Element,\r\n formBaseImport: fwx.FormBaseImport) {\r\n super(element, formBaseImport);\r\n this.id = \"ansprechperson-geschaeftspartner-edit\";\r\n this.title = \"ansprechperson-geschaeftspartner-edit.ansprechperson-geschaeftspartner-edit_caption\";\r\n this.addModel({\r\n \"id\": \"$m_AnsprechpersonZuGeschaeftspartner\",\r\n \"webApiAction\": \"ZIT/Objekte/AnsprechpersonZuGeschaeftspartner\",\r\n \"key\": \"variables.data.$id\",\r\n \"keyProperty\": \"Id\",\r\n \"postOnSave\": true,\r\n \"filters\": []\r\n });\r\n this.addVariable({\r\n \"id\": \"$id\"\r\n });\r\n this.widgetCreator.addValidationGroup(this, {\r\n \"id\": \"wd1\",\r\n \"options\": {\r\n \"optionsName\": \"wd1Options\",\r\n \"optionsNameFQ\": \"wd1Options\"\r\n }\r\n });\r\n this.widgetCreator.addLookup(this, {\r\n \"idSelect\": \"geschaeftspartner\",\r\n \"filters\": [],\r\n \"caption\": \"ansprechperson-geschaeftspartner-edit.r_anspechpersonzugpgeschaeftspartner_caption\",\r\n \"isReadOnlyExpression\": \"models.data.$m_AnsprechpersonZuGeschaeftspartner.Id > 0\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_AnsprechpersonZuGeschaeftspartner\",\r\n \"bindTo\": \"IdGeschaeftspartner\",\r\n \"bindToFQ\": \"models.data.$m_AnsprechpersonZuGeschaeftspartner.IdGeschaeftspartner\"\r\n },\r\n \"validationRules\": [{\r\n \"item\": {\r\n \"type\": \"required\",\r\n \"parameters\": []\r\n }\r\n }],\r\n \"id\": \"r_AnspechpersonZuGpGeschaeftspartner\",\r\n \"options\": {\r\n \"optionsName\": \"r_AnspechpersonZuGpGeschaeftspartnerOptions\",\r\n \"optionsNameFQ\": \"r_AnspechpersonZuGpGeschaeftspartnerOptions\"\r\n }\r\n });\r\n this.widgetCreator.addDateBox(this, {\r\n \"format\": \"d\",\r\n \"caption\": \"ansprechperson-geschaeftspartner-edit.r_anspechpersonzugpgueltigvon_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_AnsprechpersonZuGeschaeftspartner\",\r\n \"bindTo\": \"GueltigVon\",\r\n \"bindToFQ\": \"models.data.$m_AnsprechpersonZuGeschaeftspartner.GueltigVon\"\r\n },\r\n \"validationRules\": [{\r\n \"item\": {\r\n \"type\": \"required\",\r\n \"parameters\": []\r\n }\r\n }],\r\n \"id\": \"r_AnspechpersonZuGpGueltigVon\",\r\n \"options\": {\r\n \"optionsName\": \"r_AnspechpersonZuGpGueltigVonOptions\",\r\n \"optionsNameFQ\": \"r_AnspechpersonZuGpGueltigVonOptions\"\r\n }\r\n });\r\n this.widgetCreator.addDateBox(this, {\r\n \"format\": \"d\",\r\n \"caption\": \"ansprechperson-geschaeftspartner-edit.r_anspechpersonzugpgueltigbis_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_AnsprechpersonZuGeschaeftspartner\",\r\n \"bindTo\": \"GueltigBis\",\r\n \"bindToFQ\": \"models.data.$m_AnsprechpersonZuGeschaeftspartner.GueltigBis\"\r\n },\r\n \"validationRules\": [{\r\n \"item\": {\r\n \"type\": \"required\",\r\n \"parameters\": []\r\n }\r\n }],\r\n \"id\": \"r_AnspechpersonZuGpGueltigBis\",\r\n \"options\": {\r\n \"optionsName\": \"r_AnspechpersonZuGpGueltigBisOptions\",\r\n \"optionsNameFQ\": \"r_AnspechpersonZuGpGueltigBisOptions\"\r\n }\r\n });\r\n super.onConstructionFinished();\r\n }\r\n}","module.exports = \"\";","import * as fwx from \"../../../../framework/forms/form-export\";\r\nimport {\r\n AnsprechpersonEditUtils\r\n} from \"./ansprechperson-edit-utils\";\r\n\r\n@fwx.autoinject\r\nexport class AnsprechpersonHeartbaseEditForm extends fwx.FormBase {\r\n constructor(\r\n element: Element,\r\n formBaseImport: fwx.FormBaseImport,\r\n private $f_AnsprechpersonEditUtils: AnsprechpersonEditUtils) {\r\n super(element, formBaseImport);\r\n this.id = \"ansprechperson-heartbase-edit\";\r\n this.title = \"ansprechperson-heartbase-edit.ansprechperson-heartbase-edit_caption\";\r\n this.addModel({\r\n \"id\": \"$m_Ansprechperson\",\r\n \"webApiAction\": \"ZIT/Objekte/Ansprechperson\",\r\n \"webApiExpand\": {\r\n 'Personendaten': null\r\n },\r\n \"modificationInfoEnabled\": true,\r\n \"key\": \"variables.data.$id\",\r\n \"keyProperty\": \"Id\",\r\n \"postOnSave\": true,\r\n \"filters\": [{\r\n \"webApiCustomKey\": \"CanBenutzeraccountAktivieren\",\r\n \"webApiCustomValue\": \"true\"\r\n }, {\r\n \"webApiCustomKey\": \"SonstigeKontaktdatenVisible\",\r\n \"webApiCustomValue\": \"true\"\r\n }]\r\n });\r\n this.addModel({\r\n \"id\": \"$m_AnsprechpersonZuGeschaeftspartnerRel\",\r\n \"webApiAction\": \"ZIT/Objekte/AnsprechpersonZuGeschaeftspartner\",\r\n \"webApiExpand\": {\r\n 'Geschaeftspartner': {\r\n 'expand': {\r\n 'Geschaeftspartnerdaten': null,\r\n 'Adressen': {\r\n 'expand': {\r\n 'Adressen': null\r\n }\r\n }\r\n }\r\n }\r\n },\r\n \"keyProperty\": \"Id\",\r\n \"filters\": [{\r\n \"webApiCustomKey\": \"onlyGueltig\",\r\n \"webApiCustomValue\": \"true\"\r\n }]\r\n });\r\n this.addModel({\r\n \"id\": \"$m_AnsprechpersonZuGeschaeftspartnerEdit\",\r\n \"webApiAction\": \"ZIT/Objekte/AnsprechpersonZuGeschaeftspartner\",\r\n \"keyProperty\": \"Id\",\r\n \"filters\": []\r\n });\r\n this.addModel({\r\n \"id\": \"$m_AnsprechpersonKontaktElement\",\r\n \"webApiAction\": \"ZIT/Objekte/AnsprechpersonKontaktElement\",\r\n \"key\": \"models.data.$m_Ansprechperson.IdAnsprechpersonKontaktElement\",\r\n \"keyProperty\": \"Id\",\r\n \"filters\": []\r\n });\r\n this.addModel({\r\n \"id\": \"$m_AnsprechpersonKontaktEdit\",\r\n \"webApiAction\": \"ZIT/Objekte/AnsprechpersonKontakt\",\r\n \"keyProperty\": \"Id\",\r\n \"filters\": []\r\n });\r\n this.addModel({\r\n \"id\": \"$m_AnsprechpersonKontaktRel\",\r\n \"webApiAction\": \"ZIT/Objekte/AnsprechpersonKontakt\",\r\n \"webApiExpand\": {\r\n Kontakttyp: null\r\n },\r\n \"keyProperty\": \"Id\",\r\n \"filters\": []\r\n });\r\n this.addCommand({\r\n \"binding\": {\r\n \"bindTo\": \"$f_AnsprechpersonEditUtils.actionCommand\",\r\n \"bindToFQ\": \"functions.$f_AnsprechpersonEditUtils.actionCommand\"\r\n }\r\n });\r\n this.addEditPopup({\r\n \"idContent\": \"ansprechpersonGeschaeftspartnerEditPopupContent\",\r\n \"mappings\": [{\r\n \"to\": \"$id\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_AnsprechpersonZuGeschaeftspartnerEdit\",\r\n \"bindTo\": \"Id\",\r\n \"bindToFQ\": \"models.data.$m_AnsprechpersonZuGeschaeftspartnerEdit.Id\"\r\n }\r\n }],\r\n \"id\": \"ansprechpersonGeschaeftspartnerEditPopup\",\r\n \"options\": {\r\n \"optionsName\": \"ansprechpersonGeschaeftspartnerEditPopupOptions\",\r\n \"optionsNameFQ\": \"ansprechpersonGeschaeftspartnerEditPopupOptions\"\r\n },\r\n \"height\": \"auto\",\r\n \"width\": \"500px\",\r\n \"commands\": []\r\n });\r\n this.addEditPopup({\r\n \"idContent\": \"ansprechpersonKontaktEditPopupContent\",\r\n \"mappings\": [{\r\n \"to\": \"$id\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_AnsprechpersonKontaktEdit\",\r\n \"bindTo\": \"Id\",\r\n \"bindToFQ\": \"models.data.$m_AnsprechpersonKontaktEdit.Id\"\r\n }\r\n }],\r\n \"id\": \"ansprechpersonKontaktEditPopup\",\r\n \"options\": {\r\n \"optionsName\": \"ansprechpersonKontaktEditPopupOptions\",\r\n \"optionsNameFQ\": \"ansprechpersonKontaktEditPopupOptions\"\r\n },\r\n \"height\": \"350px\",\r\n \"width\": \"500px\",\r\n \"commands\": []\r\n });\r\n this.addFunction(\"$f_AnsprechpersonEditUtils\", $f_AnsprechpersonEditUtils, \"functions.$f_AnsprechpersonEditUtils\");\r\n this.widgetCreator.addValidationGroup(this, {\r\n \"id\": \"wd1\",\r\n \"options\": {\r\n \"optionsName\": \"wd1Options\",\r\n \"optionsNameFQ\": \"wd1Options\"\r\n }\r\n });\r\n this.widgetCreator.addLookup(this, {\r\n \"idSelect\": \"geschaeftspartner\",\r\n \"filters\": [],\r\n \"caption\": \"ansprechperson-heartbase-edit.r_selectgeschaeftspartner_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Ansprechperson\",\r\n \"bindTo\": \"_IdGeschaeftspartner\",\r\n \"bindToFQ\": \"models.data.$m_Ansprechperson._IdGeschaeftspartner\"\r\n },\r\n \"validationRules\": [{\r\n \"item\": {\r\n \"type\": \"required\",\r\n \"parameters\": []\r\n }\r\n }],\r\n \"id\": \"r_selectGeschaeftspartner\",\r\n \"options\": {\r\n \"optionsName\": \"r_selectGeschaeftspartnerOptions\",\r\n \"optionsNameFQ\": \"r_selectGeschaeftspartnerOptions\"\r\n }\r\n });\r\n this.widgetCreator.addRadioGroup(this, {\r\n \"idSelect\": \"kontaktpersonTyp\",\r\n \"filters\": [],\r\n \"caption\": \"ansprechperson-heartbase-edit.r_ansprechpersontyp_caption\",\r\n \"isReadOnlyExpression\": \"models.data.$m_Ansprechperson.Personendaten && models.data.$m_Ansprechperson.Personendaten.Id\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Ansprechperson\",\r\n \"bindTo\": \"Personendaten.KontaktpersonTyp\",\r\n \"bindToFQ\": \"models.data.$m_Ansprechperson.Personendaten.KontaktpersonTyp\",\r\n \"propertyPrefix\": \"Personendaten\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_ansprechpersonTyp\",\r\n \"options\": {\r\n \"optionsName\": \"r_ansprechpersonTypOptions\",\r\n \"optionsNameFQ\": \"r_ansprechpersonTypOptions\"\r\n }\r\n });\r\n this.widgetCreator.addRadioGroup(this, {\r\n \"idSelect\": \"geschlecht\",\r\n \"filters\": [],\r\n \"caption\": \"ansprechperson-heartbase-edit.r_geschlecht_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Ansprechperson\",\r\n \"bindTo\": \"Personendaten.Geschlecht\",\r\n \"bindToFQ\": \"models.data.$m_Ansprechperson.Personendaten.Geschlecht\",\r\n \"propertyPrefix\": \"Personendaten\"\r\n },\r\n \"validationRules\": [{\r\n \"item\": {\r\n \"type\": \"required\",\r\n \"parameters\": []\r\n }\r\n }],\r\n \"id\": \"r_geschlecht\",\r\n \"options\": {\r\n \"optionsName\": \"r_geschlechtOptions\",\r\n \"optionsNameFQ\": \"r_geschlechtOptions\"\r\n }\r\n });\r\n this.widgetCreator.addTextBox(this, {\r\n \"maxLength\": 50,\r\n \"caption\": \"ansprechperson-heartbase-edit.r_titelvorne_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Ansprechperson\",\r\n \"bindTo\": \"Personendaten.TitelVorne\",\r\n \"bindToFQ\": \"models.data.$m_Ansprechperson.Personendaten.TitelVorne\",\r\n \"propertyPrefix\": \"Personendaten\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_titelVorne\",\r\n \"options\": {\r\n \"optionsName\": \"r_titelVorneOptions\",\r\n \"optionsNameFQ\": \"r_titelVorneOptions\"\r\n }\r\n });\r\n this.widgetCreator.addTextBox(this, {\r\n \"maxLength\": 50,\r\n \"caption\": \"ansprechperson-heartbase-edit.r_titelhinten_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Ansprechperson\",\r\n \"bindTo\": \"Personendaten.TitelHinten\",\r\n \"bindToFQ\": \"models.data.$m_Ansprechperson.Personendaten.TitelHinten\",\r\n \"propertyPrefix\": \"Personendaten\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_titelHinten\",\r\n \"options\": {\r\n \"optionsName\": \"r_titelHintenOptions\",\r\n \"optionsNameFQ\": \"r_titelHintenOptions\"\r\n }\r\n });\r\n this.widgetCreator.addTextBox(this, {\r\n \"maxLength\": 100,\r\n \"caption\": \"ansprechperson-heartbase-edit.r_vorname_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Ansprechperson\",\r\n \"bindTo\": \"Personendaten.Vorname\",\r\n \"bindToFQ\": \"models.data.$m_Ansprechperson.Personendaten.Vorname\",\r\n \"propertyPrefix\": \"Personendaten\"\r\n },\r\n \"validationRules\": [{\r\n \"item\": {\r\n \"type\": \"required\",\r\n \"parameters\": []\r\n }\r\n }],\r\n \"id\": \"r_vorname\",\r\n \"options\": {\r\n \"optionsName\": \"r_vornameOptions\",\r\n \"optionsNameFQ\": \"r_vornameOptions\"\r\n }\r\n });\r\n this.widgetCreator.addTextBox(this, {\r\n \"maxLength\": 100,\r\n \"caption\": \"ansprechperson-heartbase-edit.r_nachname_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Ansprechperson\",\r\n \"bindTo\": \"Personendaten.Nachname\",\r\n \"bindToFQ\": \"models.data.$m_Ansprechperson.Personendaten.Nachname\",\r\n \"propertyPrefix\": \"Personendaten\"\r\n },\r\n \"validationRules\": [{\r\n \"item\": {\r\n \"type\": \"required\",\r\n \"parameters\": []\r\n }\r\n }],\r\n \"id\": \"r_nachname\",\r\n \"options\": {\r\n \"optionsName\": \"r_nachnameOptions\",\r\n \"optionsNameFQ\": \"r_nachnameOptions\"\r\n }\r\n });\r\n this.widgetCreator.addTextBox(this, {\r\n \"maxLength\": 100,\r\n \"caption\": \"ansprechperson-heartbase-edit.r_team_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Ansprechperson\",\r\n \"bindTo\": \"Personendaten.Team\",\r\n \"bindToFQ\": \"models.data.$m_Ansprechperson.Personendaten.Team\",\r\n \"propertyPrefix\": \"Personendaten\"\r\n },\r\n \"validationRules\": [{\r\n \"item\": {\r\n \"type\": \"required\",\r\n \"parameters\": []\r\n }\r\n }],\r\n \"id\": \"r_team\",\r\n \"options\": {\r\n \"optionsName\": \"r_teamOptions\",\r\n \"optionsNameFQ\": \"r_teamOptions\"\r\n }\r\n });\r\n this.widgetCreator.addTextBox(this, {\r\n \"maxLength\": 100,\r\n \"caption\": \"ansprechperson-heartbase-edit.r_email_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Ansprechperson\",\r\n \"bindTo\": \"Personendaten.Email\",\r\n \"bindToFQ\": \"models.data.$m_Ansprechperson.Personendaten.Email\",\r\n \"propertyPrefix\": \"Personendaten\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_email\",\r\n \"options\": {\r\n \"optionsName\": \"r_emailOptions\",\r\n \"optionsNameFQ\": \"r_emailOptions\"\r\n }\r\n });\r\n this.widgetCreator.addSelectBox(this, {\r\n \"idSelect\": \"landvorwahl\",\r\n \"filters\": [],\r\n \"caption\": \"ansprechperson-heartbase-edit.r_mobillandvorwahl_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Ansprechperson\",\r\n \"bindTo\": \"Personendaten.MobilLandvorwahl\",\r\n \"bindToFQ\": \"models.data.$m_Ansprechperson.Personendaten.MobilLandvorwahl\",\r\n \"propertyPrefix\": \"Personendaten\"\r\n },\r\n \"validationRules\": [{\r\n \"item\": {\r\n \"type\": \"conditionalRequired\",\r\n \"parameters\": [{\r\n \"name\": \"condition\",\r\n \"value\": \"models.data.$m_Ansprechperson.Personendaten && models.data.$m_Ansprechperson.Personendaten.Mobil\"\r\n }]\r\n }\r\n }],\r\n \"id\": \"r_mobilLandvorwahl\",\r\n \"options\": {\r\n \"optionsName\": \"r_mobilLandvorwahlOptions\",\r\n \"optionsNameFQ\": \"r_mobilLandvorwahlOptions\"\r\n }\r\n });\r\n this.widgetCreator.addTextBox(this, {\r\n \"maxLength\": 100,\r\n \"caption\": \"ansprechperson-heartbase-edit.r_mobil_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Ansprechperson\",\r\n \"bindTo\": \"Personendaten.Mobil\",\r\n \"bindToFQ\": \"models.data.$m_Ansprechperson.Personendaten.Mobil\",\r\n \"propertyPrefix\": \"Personendaten\"\r\n },\r\n \"validationRules\": [{\r\n \"item\": {\r\n \"type\": \"telefon\",\r\n \"parameters\": []\r\n }\r\n }],\r\n \"id\": \"r_mobil\",\r\n \"options\": {\r\n \"optionsName\": \"r_mobilOptions\",\r\n \"optionsNameFQ\": \"r_mobilOptions\"\r\n }\r\n });\r\n this.widgetCreator.addSelectBox(this, {\r\n \"idSelect\": \"landvorwahl\",\r\n \"filters\": [],\r\n \"caption\": \"ansprechperson-heartbase-edit.r_telefonlandvorwahl_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Ansprechperson\",\r\n \"bindTo\": \"Personendaten.TelefonLandvorwahl\",\r\n \"bindToFQ\": \"models.data.$m_Ansprechperson.Personendaten.TelefonLandvorwahl\",\r\n \"propertyPrefix\": \"Personendaten\"\r\n },\r\n \"validationRules\": [{\r\n \"item\": {\r\n \"type\": \"conditionalRequired\",\r\n \"parameters\": [{\r\n \"name\": \"condition\",\r\n \"value\": \"models.data.$m_Ansprechperson.Personendaten && models.data.$m_Ansprechperson.Personendaten.Telefon\"\r\n }]\r\n }\r\n }],\r\n \"id\": \"r_telefonLandvorwahl\",\r\n \"options\": {\r\n \"optionsName\": \"r_telefonLandvorwahlOptions\",\r\n \"optionsNameFQ\": \"r_telefonLandvorwahlOptions\"\r\n }\r\n });\r\n this.widgetCreator.addTextBox(this, {\r\n \"maxLength\": 100,\r\n \"caption\": \"ansprechperson-heartbase-edit.r_telefon_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Ansprechperson\",\r\n \"bindTo\": \"Personendaten.Telefon\",\r\n \"bindToFQ\": \"models.data.$m_Ansprechperson.Personendaten.Telefon\",\r\n \"propertyPrefix\": \"Personendaten\"\r\n },\r\n \"validationRules\": [{\r\n \"item\": {\r\n \"type\": \"telefon\",\r\n \"parameters\": []\r\n }\r\n }],\r\n \"id\": \"r_telefon\",\r\n \"options\": {\r\n \"optionsName\": \"r_telefonOptions\",\r\n \"optionsNameFQ\": \"r_telefonOptions\"\r\n }\r\n });\r\n this.widgetCreator.addTextBox(this, {\r\n \"maxLength\": 100,\r\n \"caption\": \"ansprechperson-heartbase-edit.r_funktion_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Ansprechperson\",\r\n \"bindTo\": \"Personendaten.Funktion\",\r\n \"bindToFQ\": \"models.data.$m_Ansprechperson.Personendaten.Funktion\",\r\n \"propertyPrefix\": \"Personendaten\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_funktion\",\r\n \"options\": {\r\n \"optionsName\": \"r_funktionOptions\",\r\n \"optionsNameFQ\": \"r_funktionOptions\"\r\n }\r\n });\r\n this.widgetCreator.addSelectBox(this, {\r\n \"idSelect\": \"funktion\",\r\n \"filters\": [],\r\n \"caption\": \"ansprechperson-heartbase-edit.r_funktionobj_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Ansprechperson\",\r\n \"bindTo\": \"Personendaten.IdFunktionObj\",\r\n \"bindToFQ\": \"models.data.$m_Ansprechperson.Personendaten.IdFunktionObj\",\r\n \"propertyPrefix\": \"Personendaten\"\r\n },\r\n \"validationRules\": [{\r\n \"item\": {\r\n \"type\": \"required\",\r\n \"parameters\": []\r\n }\r\n }],\r\n \"id\": \"r_funktionObj\",\r\n \"options\": {\r\n \"optionsName\": \"r_funktionObjOptions\",\r\n \"optionsNameFQ\": \"r_funktionObjOptions\"\r\n }\r\n });\r\n this.widgetCreator.addTextArea(this, {\r\n \"height\": \"50px\",\r\n \"maxLength\": 1000,\r\n \"caption\": \"ansprechperson-heartbase-edit.r_bemerkung_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Ansprechperson\",\r\n \"bindTo\": \"Personendaten.Bemerkung\",\r\n \"bindToFQ\": \"models.data.$m_Ansprechperson.Personendaten.Bemerkung\",\r\n \"propertyPrefix\": \"Personendaten\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_bemerkung\",\r\n \"options\": {\r\n \"optionsName\": \"r_bemerkungOptions\",\r\n \"optionsNameFQ\": \"r_bemerkungOptions\"\r\n }\r\n });\r\n this.widgetCreator.addCheckBox(this, {\r\n \"caption\": \"ansprechperson-heartbase-edit.r_imgeschaeftspartnerausblenden_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Ansprechperson\",\r\n \"bindTo\": \"Personendaten.ImGeschaeftspartnerAusblenden\",\r\n \"bindToFQ\": \"models.data.$m_Ansprechperson.Personendaten.ImGeschaeftspartnerAusblenden\",\r\n \"propertyPrefix\": \"Personendaten\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_ImGeschaeftspartnerAusblenden\",\r\n \"options\": {\r\n \"optionsName\": \"r_ImGeschaeftspartnerAusblendenOptions\",\r\n \"optionsNameFQ\": \"r_ImGeschaeftspartnerAusblendenOptions\"\r\n }\r\n });\r\n this.widgetCreator.addCheckBox(this, {\r\n \"caption\": \"ansprechperson-heartbase-edit.r_keinnewslettererwuenscht_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Ansprechperson\",\r\n \"bindTo\": \"Personendaten.KeinNewsletterErwuenscht\",\r\n \"bindToFQ\": \"models.data.$m_Ansprechperson.Personendaten.KeinNewsletterErwuenscht\",\r\n \"propertyPrefix\": \"Personendaten\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_keinNewsletterErwuenscht\",\r\n \"options\": {\r\n \"optionsName\": \"r_keinNewsletterErwuenschtOptions\",\r\n \"optionsNameFQ\": \"r_keinNewsletterErwuenschtOptions\"\r\n }\r\n });\r\n this.widgetCreator.addFileUploaderWithViewer(this, {\r\n \"acceptTypeEnum\": 0,\r\n \"acceptType\": \"image/*\",\r\n \"height\": \"250px\",\r\n \"showToolbar\": true,\r\n \"showClearButton\": false,\r\n \"caption\": \"ansprechperson-heartbase-edit.r_dmslinkfoto_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Ansprechperson\",\r\n \"bindTo\": \"Personendaten.DMSLinkFoto\",\r\n \"bindToFQ\": \"models.data.$m_Ansprechperson.Personendaten.DMSLinkFoto\",\r\n \"propertyPrefix\": \"Personendaten\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_dmsLinkFoto\",\r\n \"options\": {\r\n \"optionsName\": \"r_dmsLinkFotoOptions\",\r\n \"optionsNameFQ\": \"r_dmsLinkFotoOptions\"\r\n }\r\n });\r\n this.widgetCreator.addFileUploaderWithViewer(this, {\r\n \"acceptTypeEnum\": 2,\r\n \"acceptType\": \".vcf\",\r\n \"height\": \"100px\",\r\n \"showToolbar\": true,\r\n \"showClearButton\": false,\r\n \"caption\": \"ansprechperson-heartbase-edit.r_dmslinkvisitenkarte_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Ansprechperson\",\r\n \"bindTo\": \"Personendaten.DMSLinkVisitenkarte\",\r\n \"bindToFQ\": \"models.data.$m_Ansprechperson.Personendaten.DMSLinkVisitenkarte\",\r\n \"propertyPrefix\": \"Personendaten\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_dmsLinkVisitenkarte\",\r\n \"options\": {\r\n \"optionsName\": \"r_dmsLinkVisitenkarteOptions\",\r\n \"optionsNameFQ\": \"r_dmsLinkVisitenkarteOptions\"\r\n }\r\n });\r\n this.widgetCreator.addSelectBox(this, {\r\n \"idSelect\": \"landvorwahl\",\r\n \"filters\": [],\r\n \"caption\": \"ansprechperson-heartbase-edit.r_alternativetelefonllandvorwahl_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Ansprechperson\",\r\n \"bindTo\": \"Personendaten.AlternativTelefonLandvorwahl\",\r\n \"bindToFQ\": \"models.data.$m_Ansprechperson.Personendaten.AlternativTelefonLandvorwahl\",\r\n \"propertyPrefix\": \"Personendaten\"\r\n },\r\n \"validationRules\": [{\r\n \"item\": {\r\n \"type\": \"conditionalRequired\",\r\n \"parameters\": [{\r\n \"name\": \"condition\",\r\n \"value\": \"models.data.$m_Ansprechperson.Personendaten && models.data.$m_Ansprechperson.Personendaten.AlternativTelefon\"\r\n }]\r\n }\r\n }],\r\n \"id\": \"r_alternativeTelefonlLandVorwahl\",\r\n \"options\": {\r\n \"optionsName\": \"r_alternativeTelefonlLandVorwahlOptions\",\r\n \"optionsNameFQ\": \"r_alternativeTelefonlLandVorwahlOptions\"\r\n }\r\n });\r\n this.widgetCreator.addTextBox(this, {\r\n \"maxLength\": 100,\r\n \"caption\": \"ansprechperson-heartbase-edit.r_alternativetelefonnummer_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Ansprechperson\",\r\n \"bindTo\": \"Personendaten.AlternativTelefon\",\r\n \"bindToFQ\": \"models.data.$m_Ansprechperson.Personendaten.AlternativTelefon\",\r\n \"propertyPrefix\": \"Personendaten\"\r\n },\r\n \"validationRules\": [{\r\n \"item\": {\r\n \"type\": \"telefon\",\r\n \"parameters\": []\r\n }\r\n }],\r\n \"id\": \"r_alternativeTelefonNummer\",\r\n \"options\": {\r\n \"optionsName\": \"r_alternativeTelefonNummerOptions\",\r\n \"optionsNameFQ\": \"r_alternativeTelefonNummerOptions\"\r\n }\r\n });\r\n this.widgetCreator.addTextBox(this, {\r\n \"maxLength\": 100,\r\n \"caption\": \"ansprechperson-heartbase-edit.r_alternativeemail_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Ansprechperson\",\r\n \"bindTo\": \"Personendaten.AlternativEmail\",\r\n \"bindToFQ\": \"models.data.$m_Ansprechperson.Personendaten.AlternativEmail\",\r\n \"propertyPrefix\": \"Personendaten\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_alternativeEmail\",\r\n \"options\": {\r\n \"optionsName\": \"r_alternativeEmailOptions\",\r\n \"optionsNameFQ\": \"r_alternativeEmailOptions\"\r\n }\r\n });\r\n this.widgetCreator.addListView(this, {\r\n \"itemClass\": \"z--list-view-inline-item\",\r\n \"useDefaultListItemStyle\": false,\r\n \"optionsToolbar\": {\r\n \"optionsName\": \"r_ansprechpersonGeschaeftspartnerListViewToolbarOptions\",\r\n \"optionsNameFQ\": \"r_ansprechpersonGeschaeftspartnerListViewToolbarOptions\"\r\n },\r\n \"binding\": {\r\n \"dataContext\": \"$m_Ansprechperson\"\r\n },\r\n \"isRelation\": true,\r\n \"relationBinding\": {\r\n \"dataContext\": \"$m_AnsprechpersonZuGeschaeftspartnerRel\",\r\n \"bindTo\": \"IdAnsprechperson\",\r\n \"bindToFQ\": \"models.data.$m_AnsprechpersonZuGeschaeftspartnerRel.IdAnsprechperson\"\r\n },\r\n \"dataModel\": \"$m_Ansprechperson\",\r\n \"editDataContext\": \"$m_AnsprechpersonZuGeschaeftspartnerEdit\",\r\n \"idEditPopup\": \"ansprechpersonGeschaeftspartnerEditPopup\",\r\n \"listEdits\": [],\r\n \"filters\": [],\r\n \"commands\": [],\r\n \"id\": \"r_ansprechpersonGeschaeftspartnerListView\",\r\n \"options\": {\r\n \"optionsName\": \"r_ansprechpersonGeschaeftspartnerListViewOptions\",\r\n \"optionsNameFQ\": \"r_ansprechpersonGeschaeftspartnerListViewOptions\"\r\n }\r\n });\r\n this.widgetCreator.addListView(this, {\r\n \"itemClass\": \"z--list-view-inline-item\",\r\n \"useDefaultListItemStyle\": false,\r\n \"optionsToolbar\": {\r\n \"optionsName\": \"r_ansprechpersonKontaktdatenListViewToolbarOptions\",\r\n \"optionsNameFQ\": \"r_ansprechpersonKontaktdatenListViewToolbarOptions\"\r\n },\r\n \"binding\": {\r\n \"dataContext\": \"$m_AnsprechpersonKontaktElement\"\r\n },\r\n \"isRelation\": true,\r\n \"relationBinding\": {\r\n \"dataContext\": \"$m_AnsprechpersonKontaktRel\",\r\n \"bindTo\": \"IdAnsprechpersonKontaktElement\",\r\n \"bindToFQ\": \"models.data.$m_AnsprechpersonKontaktRel.IdAnsprechpersonKontaktElement\"\r\n },\r\n \"dataModel\": \"$m_AnsprechpersonKontaktElement\",\r\n \"editDataContext\": \"$m_AnsprechpersonKontaktEdit\",\r\n \"idEditPopup\": \"ansprechpersonKontaktEditPopup\",\r\n \"listEdits\": [],\r\n \"filters\": [],\r\n \"commands\": [],\r\n \"id\": \"r_ansprechpersonKontaktdatenListView\",\r\n \"options\": {\r\n \"optionsName\": \"r_ansprechpersonKontaktdatenListViewOptions\",\r\n \"optionsNameFQ\": \"r_ansprechpersonKontaktdatenListViewOptions\"\r\n }\r\n });\r\n super.onConstructionFinished();\r\n }\r\n}","module.exports = \"\";","import * as fwx from \"../../../../framework/forms/form-export\";\r\nimport {\r\n AnsprechpersonKontaktUtils\r\n} from \"./ansprechperson-kontakt-utils\";\r\n\r\n@fwx.autoinject\r\nexport class AnsprechpersonKontaktEditForm extends fwx.FormBase {\r\n constructor(\r\n element: Element,\r\n formBaseImport: fwx.FormBaseImport,\r\n private $f_AnsprechpersonKontaktUtils: AnsprechpersonKontaktUtils) {\r\n super(element, formBaseImport);\r\n this.id = \"ansprechperson-kontakt-edit\";\r\n this.title = \"ansprechperson-kontakt-edit.ansprechperson-kontakt-edit_caption\";\r\n this.addModel({\r\n \"id\": \"$m_AnsprechpersonKontakt\",\r\n \"webApiAction\": \"ZIT/Objekte/AnsprechpersonKontakt\",\r\n \"key\": \"variables.data.$id\",\r\n \"keyProperty\": \"Id\",\r\n \"postOnSave\": true,\r\n \"filters\": []\r\n });\r\n this.addModel({\r\n \"id\": \"$m_Kontakttyp\",\r\n \"webApiAction\": \"ZIT/Stammdaten/Kontakttyp\",\r\n \"key\": \"models.data.$m_AnsprechpersonKontakt.IdKontakttyp\",\r\n \"keyProperty\": \"Id\",\r\n \"filters\": []\r\n });\r\n this.addVariable({\r\n \"id\": \"$id\"\r\n });\r\n this.addFunction(\"$f_AnsprechpersonKontaktUtils\", $f_AnsprechpersonKontaktUtils, \"functions.$f_AnsprechpersonKontaktUtils\");\r\n this.widgetCreator.addValidationGroup(this, {\r\n \"id\": \"wd1\",\r\n \"options\": {\r\n \"optionsName\": \"wd1Options\",\r\n \"optionsNameFQ\": \"wd1Options\"\r\n }\r\n });\r\n this.widgetCreator.addSelectBox(this, {\r\n \"idSelect\": \"kontakttyp\",\r\n \"customs\": [{\r\n \"key\": \"objektTyp\",\r\n \"value\": \"'TIP.ZIT.Business.Entities.Objekte.Ansprechpersonen.Ansprechperson'\"\r\n }],\r\n \"filters\": [],\r\n \"caption\": \"ansprechperson-kontakt-edit.r_kontakttyp_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_AnsprechpersonKontakt\",\r\n \"bindTo\": \"IdKontakttyp\",\r\n \"bindToFQ\": \"models.data.$m_AnsprechpersonKontakt.IdKontakttyp\"\r\n },\r\n \"validationRules\": [{\r\n \"item\": {\r\n \"type\": \"required\",\r\n \"parameters\": []\r\n }\r\n }],\r\n \"id\": \"r_kontakttyp\",\r\n \"options\": {\r\n \"optionsName\": \"r_kontakttypOptions\",\r\n \"optionsNameFQ\": \"r_kontakttypOptions\"\r\n }\r\n });\r\n this.widgetCreator.addSelectBox(this, {\r\n \"idSelect\": \"landvorwahl\",\r\n \"filters\": [],\r\n \"caption\": \"ansprechperson-kontakt-edit.r_landvorwahl_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_AnsprechpersonKontakt\",\r\n \"bindTo\": \"Wert1\",\r\n \"bindToFQ\": \"models.data.$m_AnsprechpersonKontakt.Wert1\"\r\n },\r\n \"validationRules\": [{\r\n \"item\": {\r\n \"type\": \"required\",\r\n \"parameters\": []\r\n }\r\n }],\r\n \"id\": \"r_landvorwahl\",\r\n \"options\": {\r\n \"optionsName\": \"r_landvorwahlOptions\",\r\n \"optionsNameFQ\": \"r_landvorwahlOptions\"\r\n }\r\n });\r\n this.widgetCreator.addTextBox(this, {\r\n \"maxLength\": 100,\r\n \"caption\": \"ansprechperson-kontakt-edit.r_wert2_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_AnsprechpersonKontakt\",\r\n \"bindTo\": \"Wert2\",\r\n \"bindToFQ\": \"models.data.$m_AnsprechpersonKontakt.Wert2\"\r\n },\r\n \"validationRules\": [{\r\n \"item\": {\r\n \"type\": \"required\",\r\n \"parameters\": []\r\n }\r\n }],\r\n \"id\": \"r_wert2\",\r\n \"options\": {\r\n \"optionsName\": \"r_wert2Options\",\r\n \"optionsNameFQ\": \"r_wert2Options\"\r\n }\r\n });\r\n this.widgetCreator.addTextBox(this, {\r\n \"maxLength\": 100,\r\n \"caption\": \"ansprechperson-kontakt-edit.r_email_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_AnsprechpersonKontakt\",\r\n \"bindTo\": \"Wert1\",\r\n \"bindToFQ\": \"models.data.$m_AnsprechpersonKontakt.Wert1\"\r\n },\r\n \"validationRules\": [{\r\n \"item\": {\r\n \"type\": \"required\",\r\n \"parameters\": []\r\n }\r\n }],\r\n \"id\": \"r_email\",\r\n \"options\": {\r\n \"optionsName\": \"r_emailOptions\",\r\n \"optionsNameFQ\": \"r_emailOptions\"\r\n }\r\n });\r\n this.widgetCreator.addTextBox(this, {\r\n \"maxLength\": 1000,\r\n \"caption\": \"ansprechperson-kontakt-edit.r_ansprechpersonkontaktbemerkung_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_AnsprechpersonKontakt\",\r\n \"bindTo\": \"Bemerkung\",\r\n \"bindToFQ\": \"models.data.$m_AnsprechpersonKontakt.Bemerkung\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_ansprechpersonKontaktBemerkung\",\r\n \"options\": {\r\n \"optionsName\": \"r_ansprechpersonKontaktBemerkungOptions\",\r\n \"optionsNameFQ\": \"r_ansprechpersonKontaktBemerkungOptions\"\r\n }\r\n });\r\n super.onConstructionFinished();\r\n }\r\n}","module.exports = \"\";","import * as fwx from \"../../../../framework/forms/form-export\";\r\n\r\n@fwx.autoinject\r\nexport class AnsprechpersonListForm extends fwx.FormBase {\r\n constructor(\r\n element: Element,\r\n formBaseImport: fwx.FormBaseImport) {\r\n super(element, formBaseImport);\r\n this.id = \"ansprechperson-list\";\r\n this.title = \"ansprechperson-list.ansprechperson-list_caption\";\r\n this.addModel({\r\n \"id\": \"$m_Ansprechperson\",\r\n \"webApiAction\": \"ZIT/Objekte/Ansprechperson\",\r\n \"webApiExpand\": {\r\n 'Personendaten': null\r\n },\r\n \"modificationInfoEnabled\": true,\r\n \"keyProperty\": \"Id\",\r\n \"filters\": []\r\n });\r\n this.widgetCreator.addValidationGroup(this, {\r\n \"id\": \"wd1\",\r\n \"options\": {\r\n \"optionsName\": \"wd1Options\",\r\n \"optionsNameFQ\": \"wd1Options\"\r\n }\r\n });\r\n this.widgetCreator.addDataGrid(this, {\r\n \"columns\": [{\r\n \"id\": \"r_anspVorname\",\r\n \"caption\": \"ansprechperson-list.r_anspvorname_caption\",\r\n \"bindTo\": \"Personendaten.Vorname\",\r\n \"minWidth\": 100\r\n }, {\r\n \"id\": \"r_anspNachname\",\r\n \"caption\": \"ansprechperson-list.r_anspnachname_caption\",\r\n \"bindTo\": \"Personendaten.Nachname\",\r\n \"minWidth\": 100\r\n }, {\r\n \"id\": \"r_anspTeam\",\r\n \"caption\": \"ansprechperson-list.r_anspteam_caption\",\r\n \"bindTo\": \"Personendaten.Team\",\r\n \"minWidth\": 100\r\n }, {\r\n \"id\": \"r_anspGeburtsdatum\",\r\n \"caption\": \"ansprechperson-list.r_anspgeburtsdatum_caption\",\r\n \"bindTo\": \"Personendaten.Geburtsdatum\",\r\n \"width\": \"90px\",\r\n \"format\": \"d\"\r\n }, {\r\n \"id\": \"r_anspBemerkung\",\r\n \"caption\": \"ansprechperson-list.r_anspbemerkung_caption\",\r\n \"bindTo\": \"Personendaten.Bemerkung\",\r\n \"minWidth\": 100\r\n }],\r\n \"optionsToolbar\": {\r\n \"optionsName\": \"r_ansprechpersonGridToolbarOptions\",\r\n \"optionsNameFQ\": \"r_ansprechpersonGridToolbarOptions\"\r\n },\r\n \"binding\": {\r\n \"dataContext\": \"$m_Ansprechperson\"\r\n },\r\n \"dataModel\": \"$m_Ansprechperson\",\r\n \"editUrl\": \"Objekte/Ansprechperson\",\r\n \"addShortscuts\": true,\r\n \"isMainList\": true,\r\n \"height\": \"100%\",\r\n \"listEdits\": [],\r\n \"filters\": [],\r\n \"commands\": [],\r\n \"id\": \"r_ansprechpersonGrid\",\r\n \"options\": {\r\n \"optionsName\": \"r_ansprechpersonGridOptions\",\r\n \"optionsNameFQ\": \"r_ansprechpersonGridOptions\"\r\n }\r\n });\r\n super.onConstructionFinished();\r\n }\r\n}","module.exports = \"\";","import * as fwx from \"../../../../framework/forms/form-export\";\r\nimport {\r\n AnsprechpersonReadUtils\r\n} from \"./ansprechperson-read-utils\";\r\n\r\n@fwx.autoinject\r\nexport class AnsprechpersonReadForm extends fwx.FormBase {\r\n constructor(\r\n element: Element,\r\n formBaseImport: fwx.FormBaseImport,\r\n private $f_AnsprechpersonReadUtils: AnsprechpersonReadUtils) {\r\n super(element, formBaseImport);\r\n this.id = \"ansprechperson-read\";\r\n this.title = \"ansprechperson-read.ansprechperson-read_caption\";\r\n this.addModel({\r\n \"id\": \"$m_Ansprechperson\",\r\n \"webApiAction\": \"ZIT/Objekte/Ansprechperson\",\r\n \"webApiExpand\": {\r\n 'Personendaten': null,\r\n 'Ansprechpersondaten': null\r\n },\r\n \"modificationInfoEnabled\": true,\r\n \"key\": \"variables.data.$id\",\r\n \"keyProperty\": \"Id\",\r\n \"postOnSave\": false,\r\n \"allowNew\": \"false\",\r\n \"allowSave\": \"false\",\r\n \"allowDelete\": \"false\",\r\n \"filters\": [{\r\n \"webApiCustomKey\": \"AddZugeteilteGeschaeftspartner\",\r\n \"webApiCustomValue\": \"true\"\r\n }]\r\n });\r\n this.addCommand({\r\n \"binding\": {\r\n \"bindTo\": \"$f_AnsprechpersonReadUtils.actionCommand\",\r\n \"bindToFQ\": \"functions.$f_AnsprechpersonReadUtils.actionCommand\"\r\n }\r\n });\r\n this.addFunction(\"$f_AnsprechpersonReadUtils\", $f_AnsprechpersonReadUtils, \"functions.$f_AnsprechpersonReadUtils\");\r\n this.widgetCreator.addValidationGroup(this, {\r\n \"id\": \"wd1\",\r\n \"options\": {\r\n \"optionsName\": \"wd1Options\",\r\n \"optionsNameFQ\": \"wd1Options\"\r\n }\r\n });\r\n super.onConstructionFinished();\r\n }\r\n}","module.exports = \"\";","import * as fwx from \"../../../../framework/forms/form-export\";\r\nimport {\r\n AufgabeEditUtils\r\n} from \"./aufgabe-edit-utils\";\r\n\r\n@fwx.autoinject\r\nexport class AufgabeEditForm extends fwx.FormBase {\r\n constructor(\r\n element: Element,\r\n formBaseImport: fwx.FormBaseImport,\r\n private $f_AufgabeEditUtils: AufgabeEditUtils) {\r\n super(element, formBaseImport);\r\n this.id = \"aufgabe-obj-edit\";\r\n this.title = \"aufgabe-obj-edit.aufgabe-obj-edit_caption\";\r\n this.addModel({\r\n \"id\": \"$m_Aufgabe\",\r\n \"webApiAction\": \"ZIT/Objekte/Aufgabe\",\r\n \"webApiExpand\": {\r\n 'Kopf': {\r\n 'expand': {\r\n 'StammAufgabensetVersion': null,\r\n 'AufgabeBeantwortungDateien': null,\r\n 'AufgabeBestaetigungDateien': null,\r\n 'StammAufgabeVersion': {\r\n 'expand': {\r\n 'AufgabeDateien': null\r\n }\r\n },\r\n 'StammAufgabe': {\r\n 'columns': [\r\n 'Id'\r\n ],\r\n 'expand': {\r\n 'AufgabeDateien': null\r\n }\r\n }\r\n }\r\n }\r\n },\r\n \"modificationInfoEnabled\": true,\r\n \"key\": \"variables.data.$id\",\r\n \"keyProperty\": \"Id\",\r\n \"postOnSave\": true,\r\n \"filters\": [{\r\n \"webApiCustomKey\": \"AddZielCard\",\r\n \"webApiCustomValue\": \"true\"\r\n }]\r\n });\r\n this.addModel({\r\n \"id\": \"$m_AufgabeProtokoll\",\r\n \"webApiAction\": \"ZIT/Objekte/AufgabeProtokoll\",\r\n \"webApiWhere\": [\"IdAufgabe\", {\r\n \"isBound\": true,\r\n \"expression\": \"models.data.$m_Aufgabe.Id\"\r\n }],\r\n \"keyProperty\": \"Id\",\r\n \"filters\": []\r\n });\r\n this.addCommand({\r\n \"binding\": {\r\n \"bindTo\": \"$f_AufgabeEditUtils.navPrevCommand\",\r\n \"bindToFQ\": \"functions.$f_AufgabeEditUtils.navPrevCommand\"\r\n }\r\n });\r\n this.addCommand({\r\n \"binding\": {\r\n \"bindTo\": \"$f_AufgabeEditUtils.navNextCommand\",\r\n \"bindToFQ\": \"functions.$f_AufgabeEditUtils.navNextCommand\"\r\n }\r\n });\r\n this.addCommand({\r\n \"binding\": {\r\n \"bindTo\": \"$f_AufgabeEditUtils.navHistoryCommand\",\r\n \"bindToFQ\": \"functions.$f_AufgabeEditUtils.navHistoryCommand\"\r\n }\r\n });\r\n this.addCommand({\r\n \"binding\": {\r\n \"bindTo\": \"$f_AufgabeEditUtils.addZielCommand\",\r\n \"bindToFQ\": \"functions.$f_AufgabeEditUtils.addZielCommand\"\r\n }\r\n });\r\n this.addCommand({\r\n \"binding\": {\r\n \"bindTo\": \"$f_AufgabeEditUtils.infoAusbilderCommand\",\r\n \"bindToFQ\": \"functions.$f_AufgabeEditUtils.infoAusbilderCommand\"\r\n }\r\n });\r\n this.addFunction(\"$f_AufgabeEditUtils\", $f_AufgabeEditUtils, \"functions.$f_AufgabeEditUtils\");\r\n this.widgetCreator.addValidationGroup(this, {\r\n \"id\": \"wd1\",\r\n \"options\": {\r\n \"optionsName\": \"wd1Options\",\r\n \"optionsNameFQ\": \"wd1Options\"\r\n }\r\n });\r\n this.widgetCreator.addTextArea(this, {\r\n \"height\": \"75px\",\r\n \"caption\": \"aufgabe-obj-edit.r_beantwnotiz_caption\",\r\n \"isReadOnlyExpression\": \"!models.data.$m_Aufgabe._CanErfuellen\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Aufgabe\",\r\n \"bindTo\": \"Kopf.BeantwortungNotiz\",\r\n \"bindToFQ\": \"models.data.$m_Aufgabe.Kopf.BeantwortungNotiz\",\r\n \"propertyPrefix\": \"Kopf\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_beantwNotiz\",\r\n \"options\": {\r\n \"optionsName\": \"r_beantwNotizOptions\",\r\n \"optionsNameFQ\": \"r_beantwNotizOptions\"\r\n }\r\n });\r\n this.widgetCreator.addTextArea(this, {\r\n \"height\": \"75px\",\r\n \"caption\": \"aufgabe-obj-edit.r_bestaetigungnotiz_caption\",\r\n \"isReadOnlyExpression\": \"!models.data.$m_Aufgabe._CanBestaetigen\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Aufgabe\",\r\n \"bindTo\": \"Kopf.BestaetigungNotiz\",\r\n \"bindToFQ\": \"models.data.$m_Aufgabe.Kopf.BestaetigungNotiz\",\r\n \"propertyPrefix\": \"Kopf\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_bestaetigungNotiz\",\r\n \"options\": {\r\n \"optionsName\": \"r_bestaetigungNotizOptions\",\r\n \"optionsNameFQ\": \"r_bestaetigungNotizOptions\"\r\n }\r\n });\r\n this.widgetCreator.addPopup(this, {\r\n \"id\": \"r_popupInf\",\r\n \"options\": {\r\n \"optionsName\": \"r_popupInfOptions\",\r\n \"optionsNameFQ\": \"r_popupInfOptions\"\r\n },\r\n \"caption\": \"aufgabe-obj-edit.r_popupinf_caption\",\r\n \"height\": \"auto\",\r\n \"width\": \"600px\",\r\n \"commands\": []\r\n });\r\n this.widgetCreator.addTextBox(this, {\r\n \"caption\": \"aufgabe-obj-edit.r_infobestben_caption\",\r\n \"isReadOnly\": true,\r\n \"binding\": {\r\n \"dataContext\": \"$m_Aufgabe\",\r\n \"bindTo\": \"Kopf.BestaetigungBenutzerName\",\r\n \"bindToFQ\": \"models.data.$m_Aufgabe.Kopf.BestaetigungBenutzerName\",\r\n \"propertyPrefix\": \"Kopf\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_infoBestBen\",\r\n \"options\": {\r\n \"optionsName\": \"r_infoBestBenOptions\",\r\n \"optionsNameFQ\": \"r_infoBestBenOptions\"\r\n }\r\n });\r\n this.widgetCreator.addDateBox(this, {\r\n \"format\": \"g\",\r\n \"caption\": \"aufgabe-obj-edit.r_infoversionaufgabe_caption\",\r\n \"isReadOnly\": true,\r\n \"binding\": {\r\n \"dataContext\": \"$m_Aufgabe\",\r\n \"bindTo\": \"Kopf.StammAufgabeDatum\",\r\n \"bindToFQ\": \"models.data.$m_Aufgabe.Kopf.StammAufgabeDatum\",\r\n \"propertyPrefix\": \"Kopf\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_infoVersionAufgabe\",\r\n \"options\": {\r\n \"optionsName\": \"r_infoVersionAufgabeOptions\",\r\n \"optionsNameFQ\": \"r_infoVersionAufgabeOptions\"\r\n }\r\n });\r\n this.widgetCreator.addDataGrid(this, {\r\n \"columns\": [{\r\n \"id\": \"r_infProDatum\",\r\n \"caption\": \"aufgabe-obj-edit.r_infprodatum_caption\",\r\n \"bindTo\": \"Anlagedatum\",\r\n \"width\": \"120px\",\r\n \"format\": \"g\"\r\n }, {\r\n \"id\": \"r_infProTyp\",\r\n \"caption\": \"aufgabe-obj-edit.r_infprotyp_caption\",\r\n \"bindTo\": \"Typ\",\r\n \"sortIndex\": 0,\r\n \"sortOrder\": \"asc\",\r\n \"enumTypeName\": \"TIP.ZIT.Business.Enumerations.AufgabenProtokollTyp\"\r\n }],\r\n \"createToolbar\": true,\r\n \"optionsToolbar\": {\r\n \"optionsName\": \"r_infoProtokollToolbarOptions\",\r\n \"optionsNameFQ\": \"r_infoProtokollToolbarOptions\"\r\n },\r\n \"caption\": \"aufgabe-obj-edit.r_infoprotokoll_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_AufgabeProtokoll\"\r\n },\r\n \"dataModel\": \"$m_AufgabeProtokoll\",\r\n \"height\": \"300px\",\r\n \"listEdits\": [],\r\n \"filters\": [],\r\n \"commands\": [],\r\n \"id\": \"r_infoProtokoll\",\r\n \"options\": {\r\n \"optionsName\": \"r_infoProtokollOptions\",\r\n \"optionsNameFQ\": \"r_infoProtokollOptions\"\r\n }\r\n });\r\n super.onConstructionFinished();\r\n }\r\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\";\r\n\r\n@fwx.autoinject\r\nexport class AufgabeListForm extends fwx.FormBase {\r\n constructor(\r\n element: Element,\r\n formBaseImport: fwx.FormBaseImport) {\r\n super(element, formBaseImport);\r\n this.id = \"aufgabe-obj-list\";\r\n this.title = \"aufgabe-obj-list.aufgabe-obj-list_caption\";\r\n this.addModel({\r\n \"id\": \"$m_Aufgabe\",\r\n \"webApiAction\": \"ZIT/Objekte/Aufgabe\",\r\n \"webApiExpand\": {\r\n Kopf: null\r\n },\r\n \"modificationInfoEnabled\": true,\r\n \"keyProperty\": \"Id\",\r\n \"filters\": []\r\n });\r\n this.widgetCreator.addValidationGroup(this, {\r\n \"id\": \"wd1\",\r\n \"options\": {\r\n \"optionsName\": \"wd1Options\",\r\n \"optionsNameFQ\": \"wd1Options\"\r\n }\r\n });\r\n this.widgetCreator.addDataGrid(this, {\r\n \"columns\": [{\r\n \"id\": \"r_aufgabeBezeichnung\",\r\n \"caption\": \"aufgabe-obj-list.r_aufgabebezeichnung_caption\",\r\n \"bindTo\": \"Kopf.Name\"\r\n }],\r\n \"optionsToolbar\": {\r\n \"optionsName\": \"r_aufgabeGridToolbarOptions\",\r\n \"optionsNameFQ\": \"r_aufgabeGridToolbarOptions\"\r\n },\r\n \"binding\": {\r\n \"dataContext\": \"$m_Aufgabe\"\r\n },\r\n \"dataModel\": \"$m_Aufgabe\",\r\n \"editUrl\": \"Objekte/Aufgabe\",\r\n \"addShortscuts\": true,\r\n \"isMainList\": true,\r\n \"height\": \"100%\",\r\n \"listEdits\": [],\r\n \"filters\": [],\r\n \"commands\": [],\r\n \"id\": \"r_aufgabeGrid\",\r\n \"options\": {\r\n \"optionsName\": \"r_aufgabeGridOptions\",\r\n \"optionsNameFQ\": \"r_aufgabeGridOptions\"\r\n }\r\n });\r\n super.onConstructionFinished();\r\n }\r\n}","module.exports = \"\";","import * as fwx from \"../../../../framework/forms/form-export\";\r\nimport {\r\n BewerbungEditUtils\r\n} from \"./bewerbung-edit-utils\";\r\n\r\n@fwx.autoinject\r\nexport class BewerbungEditForm extends fwx.FormBase {\r\n constructor(\r\n element: Element,\r\n formBaseImport: fwx.FormBaseImport,\r\n private $f_BewerbungEditUtils: BewerbungEditUtils) {\r\n super(element, formBaseImport);\r\n this.id = \"bewerbung-edit\";\r\n this.title = \"bewerbung-edit.bewerbung-edit_caption\";\r\n this.addModel({\r\n \"id\": \"$m_Bewerbung\",\r\n \"webApiAction\": \"ZIT/Objekte/Bewerbung\",\r\n \"webApiExpand\": {\r\n 'Kopf': {\r\n 'expand': {\r\n 'Stelleninserat': {\r\n 'expand': {\r\n 'FerialbewerbungFragebogen': null,\r\n 'FerialeinsatzEinstellungen': null,\r\n 'Kopf': {\r\n 'columns': [\r\n 'CanSchnuppertermin'\r\n ]\r\n }\r\n }\r\n },\r\n 'Person': {\r\n 'columns': [\r\n 'Id',\r\n 'IdPersonPersonendatenElement'\r\n ],\r\n 'expand': {\r\n 'Personendaten': null\r\n }\r\n },\r\n 'Bewerbungsgrund': null,\r\n 'Bewerbungskanal': null,\r\n 'Einsatzbereiche': null\r\n }\r\n }\r\n },\r\n \"modificationInfoEnabled\": true,\r\n \"key\": \"variables.data.$id\",\r\n \"keyProperty\": \"Id\",\r\n \"postOnSave\": true,\r\n \"filters\": [{\r\n \"webApiCustomKey\": \"BewerbungInfo\",\r\n \"webApiCustomValue\": \"true\"\r\n }, {\r\n \"webApiCustomKey\": \"StelleninseratInfo\",\r\n \"webApiCustomValue\": \"true\"\r\n }, {\r\n \"webApiCustomKey\": \"AddPersonCard\",\r\n \"webApiCustomValue\": \"true\"\r\n }, {\r\n \"webApiCustomKey\": \"AddStelleninseratCard\",\r\n \"webApiCustomValue\": \"true\"\r\n }]\r\n });\r\n this.addModel({\r\n \"id\": \"$m_BewerbungKopf\",\r\n \"webApiAction\": \"ZIT/Objekte/BewerbungKopfElement\",\r\n \"key\": \"models.data.$m_Bewerbung.IdBewerbungKopfElement\",\r\n \"keyProperty\": \"Id\",\r\n \"filters\": []\r\n });\r\n this.addModel({\r\n \"id\": \"$m_BewerbungEinsatzbereichRel\",\r\n \"webApiAction\": \"ZIT/Objekte/BewerbungKopfEinsatzbereich\",\r\n \"webApiExpand\": {\r\n 'Einsatzbereich': null\r\n },\r\n \"keyProperty\": \"Id\",\r\n \"filters\": []\r\n });\r\n this.addModel({\r\n \"id\": \"$m_BewerbungEinsatzbereichEdit\",\r\n \"webApiAction\": \"ZIT/Objekte/BewerbungKopfEinsatzbereich\",\r\n \"keyProperty\": \"Id\",\r\n \"filters\": []\r\n });\r\n this.addModel({\r\n \"id\": \"$m_Person\",\r\n \"webApiAction\": \"ZIT/Objekte/Person\",\r\n \"modificationInfoEnabled\": true,\r\n \"key\": \"models.data.$m_Bewerbung.Kopf.IdPerson\",\r\n \"keyProperty\": \"Id\",\r\n \"filters\": []\r\n });\r\n this.addModel({\r\n \"id\": \"$m_DokumentRel\",\r\n \"webApiAction\": \"ZIT/Objekte/DokumentElement\",\r\n \"webApiExpand\": {\r\n 'Informationstyp': null\r\n },\r\n \"webApiWhere\": [\"IdStelleninserat\", {\r\n \"isBound\": true,\r\n \"expression\": \"models.data.$m_Bewerbung.Kopf.IdStelleninserat\"\r\n }],\r\n \"keyProperty\": \"Id\",\r\n \"filters\": []\r\n });\r\n this.addModel({\r\n \"id\": \"$m_DokumentEdit\",\r\n \"webApiAction\": \"ZIT/Objekte/DokumentElement\",\r\n \"keyProperty\": \"Id\",\r\n \"filters\": []\r\n });\r\n this.addCommand({\r\n \"binding\": {\r\n \"bindTo\": \"$f_BewerbungEditUtils.actionCommand\",\r\n \"bindToFQ\": \"functions.$f_BewerbungEditUtils.actionCommand\"\r\n }\r\n });\r\n this.addEditPopup({\r\n \"idContent\": \"bewerbungEinsatzbereichEditPopupContent\",\r\n \"mappings\": [{\r\n \"to\": \"$id\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_BewerbungEinsatzbereichEdit\",\r\n \"bindTo\": \"Id\",\r\n \"bindToFQ\": \"models.data.$m_BewerbungEinsatzbereichEdit.Id\"\r\n }\r\n }],\r\n \"id\": \"bewerbungEinsatzbereichEditPopup\",\r\n \"options\": {\r\n \"optionsName\": \"bewerbungEinsatzbereichEditPopupOptions\",\r\n \"optionsNameFQ\": \"bewerbungEinsatzbereichEditPopupOptions\"\r\n },\r\n \"height\": \"auto\",\r\n \"width\": \"500px\",\r\n \"commands\": []\r\n });\r\n this.addFunction(\"$f_BewerbungEditUtils\", $f_BewerbungEditUtils, \"functions.$f_BewerbungEditUtils\");\r\n this.widgetCreator.addValidationGroup(this, {\r\n \"id\": \"wd1\",\r\n \"options\": {\r\n \"optionsName\": \"wd1Options\",\r\n \"optionsNameFQ\": \"wd1Options\"\r\n }\r\n });\r\n this.widgetCreator.addLookup(this, {\r\n \"idSelect\": \"person\",\r\n \"filters\": [],\r\n \"caption\": \"bewerbung-edit.r_bewerbungperson_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Bewerbung\",\r\n \"bindTo\": \"Kopf.IdPerson\",\r\n \"bindToFQ\": \"models.data.$m_Bewerbung.Kopf.IdPerson\",\r\n \"propertyPrefix\": \"Kopf\"\r\n },\r\n \"validationRules\": [{\r\n \"item\": {\r\n \"type\": \"required\",\r\n \"parameters\": []\r\n }\r\n }],\r\n \"id\": \"r_bewerbungPerson\",\r\n \"options\": {\r\n \"optionsName\": \"r_bewerbungPersonOptions\",\r\n \"optionsNameFQ\": \"r_bewerbungPersonOptions\"\r\n }\r\n });\r\n this.widgetCreator.addLookup(this, {\r\n \"idSelect\": \"stelleninserat\",\r\n \"filters\": [],\r\n \"caption\": \"bewerbung-edit.r_bewerbungstelleninserat_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Bewerbung\",\r\n \"bindTo\": \"Kopf.IdStelleninserat\",\r\n \"bindToFQ\": \"models.data.$m_Bewerbung.Kopf.IdStelleninserat\",\r\n \"propertyPrefix\": \"Kopf\"\r\n },\r\n \"validationRules\": [{\r\n \"item\": {\r\n \"type\": \"required\",\r\n \"parameters\": []\r\n }\r\n }],\r\n \"id\": \"r_bewerbungStelleninserat\",\r\n \"options\": {\r\n \"optionsName\": \"r_bewerbungStelleninseratOptions\",\r\n \"optionsNameFQ\": \"r_bewerbungStelleninseratOptions\"\r\n }\r\n });\r\n this.widgetCreator.addListView(this, {\r\n \"itemClass\": \"z--list-view-inline-item\",\r\n \"useDefaultListItemStyle\": false,\r\n \"createToolbar\": true,\r\n \"optionsToolbar\": {\r\n \"optionsName\": \"r_bewerbungEinsatzbereichListViewToolbarOptions\",\r\n \"optionsNameFQ\": \"r_bewerbungEinsatzbereichListViewToolbarOptions\"\r\n },\r\n \"caption\": \"bewerbung-edit.r_bewerbungeinsatzbereichlistview_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_BewerbungKopf\"\r\n },\r\n \"isRelation\": true,\r\n \"relationBinding\": {\r\n \"dataContext\": \"$m_BewerbungEinsatzbereichRel\",\r\n \"bindTo\": \"IdBewerbungKopfElement\",\r\n \"bindToFQ\": \"models.data.$m_BewerbungEinsatzbereichRel.IdBewerbungKopfElement\"\r\n },\r\n \"dataModel\": \"$m_BewerbungKopf\",\r\n \"editDataContext\": \"$m_BewerbungEinsatzbereichEdit\",\r\n \"idEditPopup\": \"bewerbungEinsatzbereichEditPopup\",\r\n \"listEdits\": [],\r\n \"filters\": [],\r\n \"commands\": [],\r\n \"id\": \"r_bewerbungEinsatzbereichListView\",\r\n \"options\": {\r\n \"optionsName\": \"r_bewerbungEinsatzbereichListViewOptions\",\r\n \"optionsNameFQ\": \"r_bewerbungEinsatzbereichListViewOptions\"\r\n }\r\n });\r\n this.widgetCreator.addTextBox(this, {\r\n \"maxLength\": 100,\r\n \"caption\": \"bewerbung-edit.r_bewerbungverwandtmit_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Bewerbung\",\r\n \"bindTo\": \"Kopf.VerwandtMit\",\r\n \"bindToFQ\": \"models.data.$m_Bewerbung.Kopf.VerwandtMit\",\r\n \"propertyPrefix\": \"Kopf\"\r\n },\r\n \"validationRules\": [{\r\n \"item\": {\r\n \"type\": \"conditionalRequired\",\r\n \"parameters\": [{\r\n \"name\": \"condition\",\r\n \"value\": \"models.data.$m_Bewerbung.Kopf && models.data.$m_Bewerbung.Kopf.IdVerwandtschaftsverhaeltnis\"\r\n }]\r\n }\r\n }],\r\n \"id\": \"r_bewerbungVerwandtMit\",\r\n \"options\": {\r\n \"optionsName\": \"r_bewerbungVerwandtMitOptions\",\r\n \"optionsNameFQ\": \"r_bewerbungVerwandtMitOptions\"\r\n }\r\n });\r\n this.widgetCreator.addSelectBox(this, {\r\n \"idSelect\": \"verwandtschaftsverhaeltnis\",\r\n \"filters\": [],\r\n \"caption\": \"bewerbung-edit.r_bewerbungverwandtschaftsverhaeltnis_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Bewerbung\",\r\n \"bindTo\": \"Kopf.IdVerwandtschaftsverhaeltnis\",\r\n \"bindToFQ\": \"models.data.$m_Bewerbung.Kopf.IdVerwandtschaftsverhaeltnis\",\r\n \"propertyPrefix\": \"Kopf\"\r\n },\r\n \"validationRules\": [{\r\n \"item\": {\r\n \"type\": \"conditionalRequired\",\r\n \"parameters\": [{\r\n \"name\": \"condition\",\r\n \"value\": \"models.data.$m_Bewerbung.Kopf && models.data.$m_Bewerbung.Kopf.VerwandtMit\"\r\n }]\r\n }\r\n }],\r\n \"id\": \"r_bewerbungVerwandtschaftsverhaeltnis\",\r\n \"options\": {\r\n \"optionsName\": \"r_bewerbungVerwandtschaftsverhaeltnisOptions\",\r\n \"optionsNameFQ\": \"r_bewerbungVerwandtschaftsverhaeltnisOptions\"\r\n }\r\n });\r\n this.widgetCreator.addDateBox(this, {\r\n \"format\": \"d\",\r\n \"caption\": \"bewerbung-edit.r_bewerbungeinsatzzeitraum1von_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Bewerbung\",\r\n \"bindTo\": \"Kopf.Einsatzzeitraum1Von\",\r\n \"bindToFQ\": \"models.data.$m_Bewerbung.Kopf.Einsatzzeitraum1Von\",\r\n \"propertyPrefix\": \"Kopf\"\r\n },\r\n \"validationRules\": [{\r\n \"binding\": {\r\n \"dataContext\": \"$m_Bewerbung\",\r\n \"bindTo\": \"$f_BewerbungEditUtils.einsatzzeitraum1VonCustomValidation\",\r\n \"bindToFQ\": \"functions.$f_BewerbungEditUtils.einsatzzeitraum1VonCustomValidation\"\r\n }\r\n }, {\r\n \"item\": {\r\n \"type\": \"required\",\r\n \"parameters\": []\r\n }\r\n }],\r\n \"id\": \"r_bewerbungEinsatzzeitraum1Von\",\r\n \"options\": {\r\n \"optionsName\": \"r_bewerbungEinsatzzeitraum1VonOptions\",\r\n \"optionsNameFQ\": \"r_bewerbungEinsatzzeitraum1VonOptions\"\r\n }\r\n });\r\n this.widgetCreator.addDateBox(this, {\r\n \"format\": \"d\",\r\n \"caption\": \"bewerbung-edit.r_bewerbungeinsatzzeitraum1bis_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Bewerbung\",\r\n \"bindTo\": \"Kopf.Einsatzzeitraum1Bis\",\r\n \"bindToFQ\": \"models.data.$m_Bewerbung.Kopf.Einsatzzeitraum1Bis\",\r\n \"propertyPrefix\": \"Kopf\"\r\n },\r\n \"validationRules\": [{\r\n \"binding\": {\r\n \"dataContext\": \"$m_Bewerbung\",\r\n \"bindTo\": \"$f_BewerbungEditUtils.einsatzzeitraum1BisCustomValidation\",\r\n \"bindToFQ\": \"functions.$f_BewerbungEditUtils.einsatzzeitraum1BisCustomValidation\"\r\n }\r\n }, {\r\n \"item\": {\r\n \"type\": \"required\",\r\n \"parameters\": []\r\n }\r\n }],\r\n \"id\": \"r_bewerbungEinsatzzeitraum1Bis\",\r\n \"options\": {\r\n \"optionsName\": \"r_bewerbungEinsatzzeitraum1BisOptions\",\r\n \"optionsNameFQ\": \"r_bewerbungEinsatzzeitraum1BisOptions\"\r\n }\r\n });\r\n this.widgetCreator.addDateBox(this, {\r\n \"format\": \"d\",\r\n \"caption\": \"bewerbung-edit.r_bewerbungeinsatzzeitraum2von_caption\",\r\n \"isReadOnlyExpression\": \"models.data.$m_Bewerbung.Kopf && (!models.data.$m_Bewerbung.Kopf.Einsatzzeitraum1Von || !models.data.$m_Bewerbung.Kopf.Einsatzzeitraum1Bis)\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Bewerbung\",\r\n \"bindTo\": \"Kopf.Einsatzzeitraum2Von\",\r\n \"bindToFQ\": \"models.data.$m_Bewerbung.Kopf.Einsatzzeitraum2Von\",\r\n \"propertyPrefix\": \"Kopf\"\r\n },\r\n \"validationRules\": [{\r\n \"binding\": {\r\n \"dataContext\": \"$m_Bewerbung\",\r\n \"bindTo\": \"$f_BewerbungEditUtils.einsatzzeitraum2VonCustomValidation\",\r\n \"bindToFQ\": \"functions.$f_BewerbungEditUtils.einsatzzeitraum2VonCustomValidation\"\r\n }\r\n }, {\r\n \"item\": {\r\n \"type\": \"conditionalRequired\",\r\n \"parameters\": [{\r\n \"name\": \"condition\",\r\n \"value\": \"models.data.$m_Bewerbung.Kopf && models.data.$m_Bewerbung.Kopf.Einsatzzeitraum2Bis\"\r\n }]\r\n }\r\n }],\r\n \"id\": \"r_bewerbungEinsatzzeitraum2Von\",\r\n \"options\": {\r\n \"optionsName\": \"r_bewerbungEinsatzzeitraum2VonOptions\",\r\n \"optionsNameFQ\": \"r_bewerbungEinsatzzeitraum2VonOptions\"\r\n }\r\n });\r\n this.widgetCreator.addDateBox(this, {\r\n \"format\": \"d\",\r\n \"caption\": \"bewerbung-edit.r_bewerbungeinsatzzeitraum2bis_caption\",\r\n \"isReadOnlyExpression\": \"models.data.$m_Bewerbung.Kopf && (!models.data.$m_Bewerbung.Kopf.Einsatzzeitraum1Von || !models.data.$m_Bewerbung.Kopf.Einsatzzeitraum1Bis)\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Bewerbung\",\r\n \"bindTo\": \"Kopf.Einsatzzeitraum2Bis\",\r\n \"bindToFQ\": \"models.data.$m_Bewerbung.Kopf.Einsatzzeitraum2Bis\",\r\n \"propertyPrefix\": \"Kopf\"\r\n },\r\n \"validationRules\": [{\r\n \"binding\": {\r\n \"dataContext\": \"$m_Bewerbung\",\r\n \"bindTo\": \"$f_BewerbungEditUtils.einsatzzeitraum2BisCustomValidation\",\r\n \"bindToFQ\": \"functions.$f_BewerbungEditUtils.einsatzzeitraum2BisCustomValidation\"\r\n }\r\n }, {\r\n \"item\": {\r\n \"type\": \"conditionalRequired\",\r\n \"parameters\": [{\r\n \"name\": \"condition\",\r\n \"value\": \"models.data.$m_Bewerbung.Kopf && models.data.$m_Bewerbung.Kopf.Einsatzzeitraum2Von\"\r\n }]\r\n }\r\n }],\r\n \"id\": \"r_bewerbungEinsatzzeitraum2Bis\",\r\n \"options\": {\r\n \"optionsName\": \"r_bewerbungEinsatzzeitraum2BisOptions\",\r\n \"optionsNameFQ\": \"r_bewerbungEinsatzzeitraum2BisOptions\"\r\n }\r\n });\r\n this.widgetCreator.addNumberBox(this, {\r\n \"showSpinButtons\": true,\r\n \"min\": 0.0,\r\n \"max\": 52.0,\r\n \"format\": \"n0\",\r\n \"caption\": \"bewerbung-edit.r_bewerbunganzahlwunschwochen_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Bewerbung\",\r\n \"bindTo\": \"Kopf.AnzahlWunschwochen\",\r\n \"bindToFQ\": \"models.data.$m_Bewerbung.Kopf.AnzahlWunschwochen\",\r\n \"propertyPrefix\": \"Kopf\"\r\n },\r\n \"validationRules\": [{\r\n \"binding\": {\r\n \"dataContext\": \"$m_Bewerbung\",\r\n \"bindTo\": \"$f_BewerbungEditUtils.anzahlWunschWochenValidationRule\",\r\n \"bindToFQ\": \"functions.$f_BewerbungEditUtils.anzahlWunschWochenValidationRule\"\r\n }\r\n }],\r\n \"id\": \"r_bewerbungAnzahlWunschwochen\",\r\n \"options\": {\r\n \"optionsName\": \"r_bewerbungAnzahlWunschwochenOptions\",\r\n \"optionsNameFQ\": \"r_bewerbungAnzahlWunschwochenOptions\"\r\n }\r\n });\r\n this.widgetCreator.addTextBox(this, {\r\n \"maxLength\": 100,\r\n \"caption\": \"bewerbung-edit.r_bewerbungpersontaetigkeit_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Bewerbung\",\r\n \"bindTo\": \"Kopf.Taetigkeit\",\r\n \"bindToFQ\": \"models.data.$m_Bewerbung.Kopf.Taetigkeit\",\r\n \"propertyPrefix\": \"Kopf\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_bewerbungPersonTaetigkeit\",\r\n \"options\": {\r\n \"optionsName\": \"r_bewerbungPersonTaetigkeitOptions\",\r\n \"optionsNameFQ\": \"r_bewerbungPersonTaetigkeitOptions\"\r\n }\r\n });\r\n this.widgetCreator.addSelectBox(this, {\r\n \"idSelect\": \"bewerbungsgrund\",\r\n \"filters\": [],\r\n \"caption\": \"bewerbung-edit.r_bewerbungsgrund_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Bewerbung\",\r\n \"bindTo\": \"Kopf.IdBewerbungsgrund\",\r\n \"bindToFQ\": \"models.data.$m_Bewerbung.Kopf.IdBewerbungsgrund\",\r\n \"propertyPrefix\": \"Kopf\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_bewerbungsgrund\",\r\n \"options\": {\r\n \"optionsName\": \"r_bewerbungsgrundOptions\",\r\n \"optionsNameFQ\": \"r_bewerbungsgrundOptions\"\r\n }\r\n });\r\n this.widgetCreator.addDateBox(this, {\r\n \"format\": \"d\",\r\n \"caption\": \"bewerbung-edit.r_bewerbungsdatum_caption\",\r\n \"isReadOnlyExpression\": \"models.data.$m_Bewerbung.Kopf.Id > 0\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Bewerbung\",\r\n \"bindTo\": \"Kopf.Bewerbungsdatum\",\r\n \"bindToFQ\": \"models.data.$m_Bewerbung.Kopf.Bewerbungsdatum\",\r\n \"propertyPrefix\": \"Kopf\"\r\n },\r\n \"validationRules\": [{\r\n \"item\": {\r\n \"type\": \"required\",\r\n \"parameters\": []\r\n }\r\n }],\r\n \"id\": \"r_bewerbungsdatum\",\r\n \"options\": {\r\n \"optionsName\": \"r_bewerbungsdatumOptions\",\r\n \"optionsNameFQ\": \"r_bewerbungsdatumOptions\"\r\n }\r\n });\r\n this.widgetCreator.addTextBox(this, {\r\n \"maxLength\": 30,\r\n \"caption\": \"bewerbung-edit.r_geschaeftspartnerpersonalnr_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Bewerbung\",\r\n \"bindTo\": \"Kopf.GeschaeftspartnerPersonalNr\",\r\n \"bindToFQ\": \"models.data.$m_Bewerbung.Kopf.GeschaeftspartnerPersonalNr\",\r\n \"propertyPrefix\": \"Kopf\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_geschaeftspartnerPersonalNr\",\r\n \"options\": {\r\n \"optionsName\": \"r_geschaeftspartnerPersonalNrOptions\",\r\n \"optionsNameFQ\": \"r_geschaeftspartnerPersonalNrOptions\"\r\n }\r\n });\r\n this.widgetCreator.addTextArea(this, {\r\n \"height\": \"100px\",\r\n \"caption\": \"bewerbung-edit.r_bemerkung_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Bewerbung\",\r\n \"bindTo\": \"Kopf.Bemerkung\",\r\n \"bindToFQ\": \"models.data.$m_Bewerbung.Kopf.Bemerkung\",\r\n \"propertyPrefix\": \"Kopf\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_bemerkung\",\r\n \"options\": {\r\n \"optionsName\": \"r_bemerkungOptions\",\r\n \"optionsNameFQ\": \"r_bemerkungOptions\"\r\n }\r\n });\r\n this.widgetCreator.addPopup(this, {\r\n \"id\": \"r_bewerbungEinsatzbereichPopup\",\r\n \"options\": {\r\n \"optionsName\": \"r_bewerbungEinsatzbereichPopupOptions\",\r\n \"optionsNameFQ\": \"r_bewerbungEinsatzbereichPopupOptions\"\r\n },\r\n \"caption\": \"bewerbung-edit.r_bewerbungeinsatzbereichpopup_caption\",\r\n \"height\": \"auto\",\r\n \"width\": \"450px\",\r\n \"showCloseButton\": false,\r\n \"commands\": [{\r\n \"binding\": {\r\n \"bindTo\": \"$f_BewerbungEditUtils.bewerbungEinsatzbereichCommand\",\r\n \"bindToFQ\": \"functions.$f_BewerbungEditUtils.bewerbungEinsatzbereichCommand\"\r\n }\r\n }]\r\n });\r\n super.onConstructionFinished();\r\n }\r\n}","module.exports = \"\";","import * as fwx from \"../../../../framework/forms/form-export\";\r\n\r\n@fwx.autoinject\r\nexport class BewerbungEinsatzbereichEditForm extends fwx.FormBase {\r\n constructor(\r\n element: Element,\r\n formBaseImport: fwx.FormBaseImport) {\r\n super(element, formBaseImport);\r\n this.id = \"bewerbung-einsatzbereich-edit\";\r\n this.title = \"bewerbung-einsatzbereich-edit.bewerbung-einsatzbereich-edit_caption\";\r\n this.addModel({\r\n \"id\": \"$m_BewerbungEinsatzbereich\",\r\n \"webApiAction\": \"ZIT/Objekte/BewerbungKopfEinsatzbereich\",\r\n \"key\": \"variables.data.$id\",\r\n \"keyProperty\": \"Id\",\r\n \"postOnSave\": true,\r\n \"filters\": []\r\n });\r\n this.addVariable({\r\n \"id\": \"$id\"\r\n });\r\n this.widgetCreator.addValidationGroup(this, {\r\n \"id\": \"wd1\",\r\n \"options\": {\r\n \"optionsName\": \"wd1Options\",\r\n \"optionsNameFQ\": \"wd1Options\"\r\n }\r\n });\r\n this.widgetCreator.addSelectBox(this, {\r\n \"idSelect\": \"bewerbungEinsatzbereich\",\r\n \"customs\": [{\r\n \"key\": \"IdBewerbungKopf\",\r\n \"value\": \"models.data.$m_BewerbungEinsatzbereich.IdBewerbungKopfElement\"\r\n }],\r\n \"filters\": [],\r\n \"caption\": \"bewerbung-einsatzbereich-edit.r_bewerbungeinsatzbereich_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_BewerbungEinsatzbereich\",\r\n \"bindTo\": \"IdEinsatzbereich\",\r\n \"bindToFQ\": \"models.data.$m_BewerbungEinsatzbereich.IdEinsatzbereich\"\r\n },\r\n \"validationRules\": [{\r\n \"item\": {\r\n \"type\": \"required\",\r\n \"parameters\": []\r\n }\r\n }],\r\n \"id\": \"r_bewerbungEinsatzbereich\",\r\n \"options\": {\r\n \"optionsName\": \"r_bewerbungEinsatzbereichOptions\",\r\n \"optionsNameFQ\": \"r_bewerbungEinsatzbereichOptions\"\r\n }\r\n });\r\n this.widgetCreator.addTextBox(this, {\r\n \"maxLength\": 100,\r\n \"caption\": \"bewerbung-einsatzbereich-edit.r_bewerbungwunschbereich_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_BewerbungEinsatzbereich\",\r\n \"bindTo\": \"Wunschbereich\",\r\n \"bindToFQ\": \"models.data.$m_BewerbungEinsatzbereich.Wunschbereich\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_bewerbungWunschbereich\",\r\n \"options\": {\r\n \"optionsName\": \"r_bewerbungWunschbereichOptions\",\r\n \"optionsNameFQ\": \"r_bewerbungWunschbereichOptions\"\r\n }\r\n });\r\n super.onConstructionFinished();\r\n }\r\n}","module.exports = \"\";","import * as fwx from \"../../../../framework/forms/form-export\";\r\nimport {\r\n BewerbungEditUtils\r\n} from \"./bewerbung-edit-utils\";\r\n\r\n@fwx.autoinject\r\nexport class BewerbungFerialerErsteinstiegEditForm extends fwx.FormBase {\r\n constructor(\r\n element: Element,\r\n formBaseImport: fwx.FormBaseImport,\r\n private $f_BewerbungEditUtils: BewerbungEditUtils) {\r\n super(element, formBaseImport);\r\n this.id = \"bewerbung-ferialer-ersteinstieg-edit\";\r\n this.title = \"bewerbung-ferialer-ersteinstieg-edit.bewerbung-ferialer-ersteinstieg-edit_caption\";\r\n this.addModel({\r\n \"id\": \"$m_Bewerbung\",\r\n \"webApiAction\": \"ZIT/Objekte/Bewerbung\",\r\n \"webApiExpand\": {\r\n 'Kopf': {\r\n 'expand': {\r\n 'Stelleninserat': {\r\n 'columns': [\r\n 'Id',\r\n 'IdStelleninseratKopfElement',\r\n 'IdStelleninseratFerialbewerbungFragebogenElement',\r\n 'IdStelleninseratFerialeinsatzEinstellungenElement'\r\n ],\r\n 'expand': {\r\n 'Kopf': null,\r\n 'FerialbewerbungFragebogen': null,\r\n 'FerialeinsatzEinstellungen': null\r\n }\r\n },\r\n 'Person': {\r\n 'columns': [\r\n 'Id',\r\n 'IdPersonPersonendatenElement'\r\n ],\r\n 'expand': {\r\n 'Personendaten': null\r\n }\r\n },\r\n 'Bewerbungsgrund': null,\r\n 'Bewerbungskanal': null,\r\n 'Einsatzbereiche': null\r\n }\r\n }\r\n },\r\n \"modificationInfoEnabled\": true,\r\n \"key\": \"variables.data.$id\",\r\n \"keyProperty\": \"Id\",\r\n \"postOnSave\": true,\r\n \"filters\": [{\r\n \"webApiCustomKey\": \"BewerbungInfo\",\r\n \"webApiCustomValue\": \"true\"\r\n }, {\r\n \"webApiCustomKey\": \"StelleninseratInfo\",\r\n \"webApiCustomValue\": \"true\"\r\n }, {\r\n \"webApiCustomKey\": \"AddStelleninseratCard\",\r\n \"webApiCustomValue\": \"true\"\r\n }]\r\n });\r\n this.addModel({\r\n \"id\": \"$m_BewerbungKopf\",\r\n \"webApiAction\": \"ZIT/Objekte/BewerbungKopfElement\",\r\n \"key\": \"models.data.$m_Bewerbung.IdBewerbungKopfElement\",\r\n \"keyProperty\": \"Id\",\r\n \"filters\": []\r\n });\r\n this.addModel({\r\n \"id\": \"$m_BewerbungEinsatzbereichRel\",\r\n \"webApiAction\": \"ZIT/Objekte/BewerbungKopfEinsatzbereich\",\r\n \"webApiExpand\": {\r\n 'Einsatzbereich': null\r\n },\r\n \"keyProperty\": \"Id\",\r\n \"filters\": []\r\n });\r\n this.addModel({\r\n \"id\": \"$m_BewerbungEinsatzbereichEdit\",\r\n \"webApiAction\": \"ZIT/Objekte/BewerbungKopfEinsatzbereich\",\r\n \"keyProperty\": \"Id\",\r\n \"filters\": []\r\n });\r\n this.addModel({\r\n \"id\": \"$m_Person\",\r\n \"webApiAction\": \"ZIT/Objekte/Person\",\r\n \"modificationInfoEnabled\": true,\r\n \"key\": \"models.data.$m_Bewerbung.Kopf.IdPerson\",\r\n \"keyProperty\": \"Id\",\r\n \"filters\": []\r\n });\r\n this.addModel({\r\n \"id\": \"$m_DokumentRel\",\r\n \"webApiAction\": \"ZIT/Objekte/DokumentElement\",\r\n \"webApiExpand\": {\r\n 'Informationstyp': null\r\n },\r\n \"webApiWhere\": [\"IdStelleninserat\", {\r\n \"isBound\": true,\r\n \"expression\": \"models.data.$m_Bewerbung.Kopf.IdStelleninserat\"\r\n }],\r\n \"keyProperty\": \"Id\",\r\n \"filters\": []\r\n });\r\n this.addModel({\r\n \"id\": \"$m_DokumentEdit\",\r\n \"webApiAction\": \"ZIT/Objekte/DokumentElement\",\r\n \"keyProperty\": \"Id\",\r\n \"filters\": []\r\n });\r\n this.addModel({\r\n \"id\": \"$m_Geschaeftspartner\",\r\n \"webApiAction\": \"ZIT/Objekte/Geschaeftspartner\",\r\n \"webApiWhere\": [],\r\n \"modificationInfoEnabled\": true,\r\n \"key\": \"models.data.$m_Bewerbung.Kopf.Stelleninserat.Kopf.IdGeschaeftspartner\",\r\n \"keyProperty\": \"Id\",\r\n \"filters\": [{\r\n \"webApiCustomKey\": \"standardAddress\",\r\n \"webApiCustomValue\": \"true\"\r\n }]\r\n });\r\n this.addCommand({\r\n \"binding\": {\r\n \"bindTo\": \"$f_BewerbungEditUtils.actionCommand\",\r\n \"bindToFQ\": \"functions.$f_BewerbungEditUtils.actionCommand\"\r\n }\r\n });\r\n this.addEditPopup({\r\n \"idContent\": \"bewerbungEinsatzbereichEditPopupContent\",\r\n \"mappings\": [{\r\n \"to\": \"$id\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_BewerbungEinsatzbereichEdit\",\r\n \"bindTo\": \"Id\",\r\n \"bindToFQ\": \"models.data.$m_BewerbungEinsatzbereichEdit.Id\"\r\n }\r\n }],\r\n \"id\": \"bewerbungEinsatzbereichEditPopup\",\r\n \"options\": {\r\n \"optionsName\": \"bewerbungEinsatzbereichEditPopupOptions\",\r\n \"optionsNameFQ\": \"bewerbungEinsatzbereichEditPopupOptions\"\r\n },\r\n \"height\": \"auto\",\r\n \"width\": \"500px\",\r\n \"commands\": []\r\n });\r\n this.addFunction(\"$f_BewerbungEditUtils\", $f_BewerbungEditUtils, \"functions.$f_BewerbungEditUtils\");\r\n this.widgetCreator.addValidationGroup(this, {\r\n \"id\": \"wd1\",\r\n \"options\": {\r\n \"optionsName\": \"wd1Options\",\r\n \"optionsNameFQ\": \"wd1Options\"\r\n }\r\n });\r\n this.widgetCreator.addLookup(this, {\r\n \"idSelect\": \"person\",\r\n \"filters\": [],\r\n \"caption\": \"bewerbung-ferialer-ersteinstieg-edit.r_bewerbungperson_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Bewerbung\",\r\n \"bindTo\": \"Kopf.IdPerson\",\r\n \"bindToFQ\": \"models.data.$m_Bewerbung.Kopf.IdPerson\",\r\n \"propertyPrefix\": \"Kopf\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_bewerbungPerson\",\r\n \"options\": {\r\n \"optionsName\": \"r_bewerbungPersonOptions\",\r\n \"optionsNameFQ\": \"r_bewerbungPersonOptions\"\r\n }\r\n });\r\n this.widgetCreator.addLookup(this, {\r\n \"idSelect\": \"stelleninserat\",\r\n \"filters\": [],\r\n \"caption\": \"bewerbung-ferialer-ersteinstieg-edit.r_bewerbungstelleninserat_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Bewerbung\",\r\n \"bindTo\": \"Kopf.IdStelleninserat\",\r\n \"bindToFQ\": \"models.data.$m_Bewerbung.Kopf.IdStelleninserat\",\r\n \"propertyPrefix\": \"Kopf\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_bewerbungStelleninserat\",\r\n \"options\": {\r\n \"optionsName\": \"r_bewerbungStelleninseratOptions\",\r\n \"optionsNameFQ\": \"r_bewerbungStelleninseratOptions\"\r\n }\r\n });\r\n this.widgetCreator.addListView(this, {\r\n \"itemClass\": \"z--list-view-inline-item\",\r\n \"useDefaultListItemStyle\": false,\r\n \"createToolbar\": true,\r\n \"optionsToolbar\": {\r\n \"optionsName\": \"r_bewerbungEinsatzbereichListViewToolbarOptions\",\r\n \"optionsNameFQ\": \"r_bewerbungEinsatzbereichListViewToolbarOptions\"\r\n },\r\n \"caption\": \"bewerbung-ferialer-ersteinstieg-edit.r_bewerbungeinsatzbereichlistview_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_BewerbungKopf\"\r\n },\r\n \"isRelation\": true,\r\n \"relationBinding\": {\r\n \"dataContext\": \"$m_BewerbungEinsatzbereichRel\",\r\n \"bindTo\": \"IdBewerbungKopfElement\",\r\n \"bindToFQ\": \"models.data.$m_BewerbungEinsatzbereichRel.IdBewerbungKopfElement\"\r\n },\r\n \"dataModel\": \"$m_BewerbungKopf\",\r\n \"editDataContext\": \"$m_BewerbungEinsatzbereichEdit\",\r\n \"idEditPopup\": \"bewerbungEinsatzbereichEditPopup\",\r\n \"listEdits\": [],\r\n \"filters\": [],\r\n \"commands\": [],\r\n \"id\": \"r_bewerbungEinsatzbereichListView\",\r\n \"options\": {\r\n \"optionsName\": \"r_bewerbungEinsatzbereichListViewOptions\",\r\n \"optionsNameFQ\": \"r_bewerbungEinsatzbereichListViewOptions\"\r\n }\r\n });\r\n this.widgetCreator.addTextBox(this, {\r\n \"maxLength\": 100,\r\n \"caption\": \"bewerbung-ferialer-ersteinstieg-edit.r_bewerbungverwandtmit_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Bewerbung\",\r\n \"bindTo\": \"Kopf.VerwandtMit\",\r\n \"bindToFQ\": \"models.data.$m_Bewerbung.Kopf.VerwandtMit\",\r\n \"propertyPrefix\": \"Kopf\"\r\n },\r\n \"validationRules\": [{\r\n \"item\": {\r\n \"type\": \"conditionalRequired\",\r\n \"parameters\": [{\r\n \"name\": \"condition\",\r\n \"value\": \"models.data.$m_Bewerbung.Kopf && models.data.$m_Bewerbung.Kopf.IdVerwandtschaftsverhaeltnis\"\r\n }]\r\n }\r\n }],\r\n \"id\": \"r_bewerbungVerwandtMit\",\r\n \"options\": {\r\n \"optionsName\": \"r_bewerbungVerwandtMitOptions\",\r\n \"optionsNameFQ\": \"r_bewerbungVerwandtMitOptions\"\r\n }\r\n });\r\n this.widgetCreator.addSelectBox(this, {\r\n \"idSelect\": \"verwandtschaftsverhaeltnis\",\r\n \"filters\": [],\r\n \"caption\": \"bewerbung-ferialer-ersteinstieg-edit.r_bewerbungverwandtschaftsverhaeltnis_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Bewerbung\",\r\n \"bindTo\": \"Kopf.IdVerwandtschaftsverhaeltnis\",\r\n \"bindToFQ\": \"models.data.$m_Bewerbung.Kopf.IdVerwandtschaftsverhaeltnis\",\r\n \"propertyPrefix\": \"Kopf\"\r\n },\r\n \"validationRules\": [{\r\n \"item\": {\r\n \"type\": \"conditionalRequired\",\r\n \"parameters\": [{\r\n \"name\": \"condition\",\r\n \"value\": \"models.data.$m_Bewerbung.Kopf && models.data.$m_Bewerbung.Kopf.VerwandtMit\"\r\n }]\r\n }\r\n }],\r\n \"id\": \"r_bewerbungVerwandtschaftsverhaeltnis\",\r\n \"options\": {\r\n \"optionsName\": \"r_bewerbungVerwandtschaftsverhaeltnisOptions\",\r\n \"optionsNameFQ\": \"r_bewerbungVerwandtschaftsverhaeltnisOptions\"\r\n }\r\n });\r\n this.widgetCreator.addDateBox(this, {\r\n \"format\": \"d\",\r\n \"caption\": \"bewerbung-ferialer-ersteinstieg-edit.r_bewerbungeinsatzzeitraum1von_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Bewerbung\",\r\n \"bindTo\": \"Kopf.Einsatzzeitraum1Von\",\r\n \"bindToFQ\": \"models.data.$m_Bewerbung.Kopf.Einsatzzeitraum1Von\",\r\n \"propertyPrefix\": \"Kopf\"\r\n },\r\n \"validationRules\": [{\r\n \"binding\": {\r\n \"dataContext\": \"$m_Bewerbung\",\r\n \"bindTo\": \"$f_BewerbungEditUtils.einsatzzeitraum1VonCustomValidation\",\r\n \"bindToFQ\": \"functions.$f_BewerbungEditUtils.einsatzzeitraum1VonCustomValidation\"\r\n }\r\n }, {\r\n \"item\": {\r\n \"type\": \"required\",\r\n \"parameters\": []\r\n }\r\n }],\r\n \"id\": \"r_bewerbungEinsatzzeitraum1Von\",\r\n \"options\": {\r\n \"optionsName\": \"r_bewerbungEinsatzzeitraum1VonOptions\",\r\n \"optionsNameFQ\": \"r_bewerbungEinsatzzeitraum1VonOptions\"\r\n }\r\n });\r\n this.widgetCreator.addDateBox(this, {\r\n \"format\": \"d\",\r\n \"caption\": \"bewerbung-ferialer-ersteinstieg-edit.r_bewerbungeinsatzzeitraum1bis_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Bewerbung\",\r\n \"bindTo\": \"Kopf.Einsatzzeitraum1Bis\",\r\n \"bindToFQ\": \"models.data.$m_Bewerbung.Kopf.Einsatzzeitraum1Bis\",\r\n \"propertyPrefix\": \"Kopf\"\r\n },\r\n \"validationRules\": [{\r\n \"binding\": {\r\n \"dataContext\": \"$m_Bewerbung\",\r\n \"bindTo\": \"$f_BewerbungEditUtils.einsatzzeitraum1BisCustomValidation\",\r\n \"bindToFQ\": \"functions.$f_BewerbungEditUtils.einsatzzeitraum1BisCustomValidation\"\r\n }\r\n }, {\r\n \"item\": {\r\n \"type\": \"required\",\r\n \"parameters\": []\r\n }\r\n }],\r\n \"id\": \"r_bewerbungEinsatzzeitraum1Bis\",\r\n \"options\": {\r\n \"optionsName\": \"r_bewerbungEinsatzzeitraum1BisOptions\",\r\n \"optionsNameFQ\": \"r_bewerbungEinsatzzeitraum1BisOptions\"\r\n }\r\n });\r\n this.widgetCreator.addDateBox(this, {\r\n \"format\": \"d\",\r\n \"caption\": \"bewerbung-ferialer-ersteinstieg-edit.r_bewerbungeinsatzzeitraum2von_caption\",\r\n \"isReadOnlyExpression\": \"models.data.$m_Bewerbung.Kopf && (!models.data.$m_Bewerbung.Kopf.Einsatzzeitraum1Von || !models.data.$m_Bewerbung.Kopf.Einsatzzeitraum1Bis)\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Bewerbung\",\r\n \"bindTo\": \"Kopf.Einsatzzeitraum2Von\",\r\n \"bindToFQ\": \"models.data.$m_Bewerbung.Kopf.Einsatzzeitraum2Von\",\r\n \"propertyPrefix\": \"Kopf\"\r\n },\r\n \"validationRules\": [{\r\n \"binding\": {\r\n \"dataContext\": \"$m_Bewerbung\",\r\n \"bindTo\": \"$f_BewerbungEditUtils.einsatzzeitraum2VonCustomValidation\",\r\n \"bindToFQ\": \"functions.$f_BewerbungEditUtils.einsatzzeitraum2VonCustomValidation\"\r\n }\r\n }, {\r\n \"item\": {\r\n \"type\": \"conditionalRequired\",\r\n \"parameters\": [{\r\n \"name\": \"condition\",\r\n \"value\": \"models.data.$m_Bewerbung.Kopf && models.data.$m_Bewerbung.Kopf.Einsatzzeitraum2Bis\"\r\n }]\r\n }\r\n }],\r\n \"id\": \"r_bewerbungEinsatzzeitraum2Von\",\r\n \"options\": {\r\n \"optionsName\": \"r_bewerbungEinsatzzeitraum2VonOptions\",\r\n \"optionsNameFQ\": \"r_bewerbungEinsatzzeitraum2VonOptions\"\r\n }\r\n });\r\n this.widgetCreator.addDateBox(this, {\r\n \"format\": \"d\",\r\n \"caption\": \"bewerbung-ferialer-ersteinstieg-edit.r_bewerbungeinsatzzeitraum2bis_caption\",\r\n \"isReadOnlyExpression\": \"models.data.$m_Bewerbung.Kopf && (!models.data.$m_Bewerbung.Kopf.Einsatzzeitraum1Von || !models.data.$m_Bewerbung.Kopf.Einsatzzeitraum1Bis)\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Bewerbung\",\r\n \"bindTo\": \"Kopf.Einsatzzeitraum2Bis\",\r\n \"bindToFQ\": \"models.data.$m_Bewerbung.Kopf.Einsatzzeitraum2Bis\",\r\n \"propertyPrefix\": \"Kopf\"\r\n },\r\n \"validationRules\": [{\r\n \"binding\": {\r\n \"dataContext\": \"$m_Bewerbung\",\r\n \"bindTo\": \"$f_BewerbungEditUtils.einsatzzeitraum2BisCustomValidation\",\r\n \"bindToFQ\": \"functions.$f_BewerbungEditUtils.einsatzzeitraum2BisCustomValidation\"\r\n }\r\n }, {\r\n \"item\": {\r\n \"type\": \"conditionalRequired\",\r\n \"parameters\": [{\r\n \"name\": \"condition\",\r\n \"value\": \"models.data.$m_Bewerbung.Kopf && models.data.$m_Bewerbung.Kopf.Einsatzzeitraum2Von\"\r\n }]\r\n }\r\n }],\r\n \"id\": \"r_bewerbungEinsatzzeitraum2Bis\",\r\n \"options\": {\r\n \"optionsName\": \"r_bewerbungEinsatzzeitraum2BisOptions\",\r\n \"optionsNameFQ\": \"r_bewerbungEinsatzzeitraum2BisOptions\"\r\n }\r\n });\r\n this.widgetCreator.addNumberBox(this, {\r\n \"showSpinButtons\": true,\r\n \"min\": 0.0,\r\n \"max\": 52.0,\r\n \"format\": \"n0\",\r\n \"caption\": \"bewerbung-ferialer-ersteinstieg-edit.r_bewerbunganzahlwunschwochen_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Bewerbung\",\r\n \"bindTo\": \"Kopf.AnzahlWunschwochen\",\r\n \"bindToFQ\": \"models.data.$m_Bewerbung.Kopf.AnzahlWunschwochen\",\r\n \"propertyPrefix\": \"Kopf\"\r\n },\r\n \"validationRules\": [{\r\n \"binding\": {\r\n \"dataContext\": \"$m_Bewerbung\",\r\n \"bindTo\": \"$f_BewerbungEditUtils.anzahlWunschWochenValidationRule\",\r\n \"bindToFQ\": \"functions.$f_BewerbungEditUtils.anzahlWunschWochenValidationRule\"\r\n }\r\n }],\r\n \"id\": \"r_bewerbungAnzahlWunschwochen\",\r\n \"options\": {\r\n \"optionsName\": \"r_bewerbungAnzahlWunschwochenOptions\",\r\n \"optionsNameFQ\": \"r_bewerbungAnzahlWunschwochenOptions\"\r\n }\r\n });\r\n this.widgetCreator.addTextBox(this, {\r\n \"maxLength\": 100,\r\n \"caption\": \"bewerbung-ferialer-ersteinstieg-edit.r_bewerbungpersontaetigkeit_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Bewerbung\",\r\n \"bindTo\": \"Kopf.Taetigkeit\",\r\n \"bindToFQ\": \"models.data.$m_Bewerbung.Kopf.Taetigkeit\",\r\n \"propertyPrefix\": \"Kopf\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_bewerbungPersonTaetigkeit\",\r\n \"options\": {\r\n \"optionsName\": \"r_bewerbungPersonTaetigkeitOptions\",\r\n \"optionsNameFQ\": \"r_bewerbungPersonTaetigkeitOptions\"\r\n }\r\n });\r\n this.widgetCreator.addSelectBox(this, {\r\n \"idSelect\": \"bewerbungsgrund\",\r\n \"filters\": [],\r\n \"caption\": \"bewerbung-ferialer-ersteinstieg-edit.r_bewerbungsgrund_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Bewerbung\",\r\n \"bindTo\": \"Kopf.IdBewerbungsgrund\",\r\n \"bindToFQ\": \"models.data.$m_Bewerbung.Kopf.IdBewerbungsgrund\",\r\n \"propertyPrefix\": \"Kopf\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_bewerbungsgrund\",\r\n \"options\": {\r\n \"optionsName\": \"r_bewerbungsgrundOptions\",\r\n \"optionsNameFQ\": \"r_bewerbungsgrundOptions\"\r\n }\r\n });\r\n this.widgetCreator.addDateBox(this, {\r\n \"format\": \"d\",\r\n \"caption\": \"bewerbung-ferialer-ersteinstieg-edit.r_bewerbungsdatum_caption\",\r\n \"isReadOnlyExpression\": \"models.data.$m_Bewerbung.Kopf.Id > 0\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Bewerbung\",\r\n \"bindTo\": \"Kopf.Bewerbungsdatum\",\r\n \"bindToFQ\": \"models.data.$m_Bewerbung.Kopf.Bewerbungsdatum\",\r\n \"propertyPrefix\": \"Kopf\"\r\n },\r\n \"validationRules\": [{\r\n \"item\": {\r\n \"type\": \"required\",\r\n \"parameters\": []\r\n }\r\n }],\r\n \"id\": \"r_bewerbungsdatum\",\r\n \"options\": {\r\n \"optionsName\": \"r_bewerbungsdatumOptions\",\r\n \"optionsNameFQ\": \"r_bewerbungsdatumOptions\"\r\n }\r\n });\r\n this.widgetCreator.addPopup(this, {\r\n \"id\": \"r_bewerbungAbgeschlossenPopup\",\r\n \"options\": {\r\n \"optionsName\": \"r_bewerbungAbgeschlossenPopupOptions\",\r\n \"optionsNameFQ\": \"r_bewerbungAbgeschlossenPopupOptions\"\r\n },\r\n \"caption\": \"bewerbung-ferialer-ersteinstieg-edit.r_bewerbungabgeschlossenpopup_caption\",\r\n \"height\": \"auto\",\r\n \"width\": \"450px\",\r\n \"showCloseButton\": false,\r\n \"commands\": [{\r\n \"binding\": {\r\n \"bindTo\": \"$f_BewerbungEditUtils.abschliessenCommand\",\r\n \"bindToFQ\": \"functions.$f_BewerbungEditUtils.abschliessenCommand\"\r\n }\r\n }]\r\n });\r\n this.widgetCreator.addPopup(this, {\r\n \"id\": \"r_bewerbungEinsatzbereichPopup\",\r\n \"options\": {\r\n \"optionsName\": \"r_bewerbungEinsatzbereichPopupOptions\",\r\n \"optionsNameFQ\": \"r_bewerbungEinsatzbereichPopupOptions\"\r\n },\r\n \"caption\": \"bewerbung-ferialer-ersteinstieg-edit.r_bewerbungeinsatzbereichpopup_caption\",\r\n \"height\": \"auto\",\r\n \"width\": \"450px\",\r\n \"showCloseButton\": false,\r\n \"commands\": [{\r\n \"binding\": {\r\n \"bindTo\": \"$f_BewerbungEditUtils.bewerbungEinsatzbereichCommand\",\r\n \"bindToFQ\": \"functions.$f_BewerbungEditUtils.bewerbungEinsatzbereichCommand\"\r\n }\r\n }]\r\n });\r\n super.onConstructionFinished();\r\n }\r\n}","module.exports = \"\";","import * as fwx from \"../../../../framework/forms/form-export\";\r\nimport {\r\n BewerbungEditUtils\r\n} from \"./bewerbung-edit-utils\";\r\n\r\n@fwx.autoinject\r\nexport class BewerbungFerialerErweiterungEditForm extends fwx.FormBase {\r\n constructor(\r\n element: Element,\r\n formBaseImport: fwx.FormBaseImport,\r\n private $f_BewerbungEditUtils: BewerbungEditUtils) {\r\n super(element, formBaseImport);\r\n this.id = \"bewerbung-erweitert-edit\";\r\n this.title = \"bewerbung-erweitert-edit.bewerbung-erweitert-edit_caption\";\r\n this.addModel({\r\n \"id\": \"$m_Bewerbung\",\r\n \"webApiAction\": \"ZIT/Objekte/Bewerbung\",\r\n \"webApiExpand\": {\r\n 'Kopf': {\r\n 'expand': {\r\n 'Stelleninserat': {\r\n 'expand': {\r\n 'FerialbewerbungFragebogen': null,\r\n 'FerialeinsatzEinstellungen': null,\r\n 'Kopf': {\r\n 'expand': {\r\n 'Geschaeftspartner': {\r\n 'expand': {\r\n 'Geschaeftspartnerdaten': null\r\n }\r\n }\r\n }\r\n }\r\n }\r\n },\r\n 'Person': {\r\n 'expand': {\r\n 'Personendaten': {\r\n 'expand': {\r\n 'Nationalitaet': null,\r\n 'Schuhgroesse': null,\r\n 'Kleidergroesse': null,\r\n 'Familienstand': null\r\n }\r\n },\r\n 'Adressen': {\r\n 'expand': {\r\n 'Land': null\r\n },\r\n 'where': [\r\n [\r\n [\r\n 'GueltigVon',\r\n '<=',\r\n '@Today()'\r\n ],\r\n 'or',\r\n [\r\n 'GueltigVon',\r\n '=',\r\n 'null'\r\n ]\r\n ],\r\n [\r\n [\r\n 'GueltigBis',\r\n '>=',\r\n '@Today()'\r\n ],\r\n 'or',\r\n [\r\n 'GueltigBis',\r\n '=',\r\n 'null'\r\n ]\r\n ]\r\n ]\r\n },\r\n 'Kontakte': {\r\n 'expand': {\r\n 'Kontakttyp': null\r\n }\r\n },\r\n 'Sprache': {\r\n 'expand': {\r\n 'Sprachen': {\r\n 'expand': {\r\n 'Sprachniveau': null,\r\n 'Sprache': null\r\n }\r\n }\r\n }\r\n },\r\n 'Berufserfahrungen': {\r\n 'expand': {\r\n 'Berufserfahrungen': null\r\n }\r\n },\r\n 'GeschaeftspartnerEinsaetze': {\r\n 'expand': {\r\n 'Geschaeftspartner': null\r\n }\r\n },\r\n 'Skills': {\r\n 'expand': {\r\n 'Skill': null\r\n }\r\n },\r\n 'Berufe': {\r\n 'expand': {\r\n 'Berufe': {\r\n 'expand': {\r\n 'Beruf': null\r\n }\r\n },\r\n 'AusbildungAbschluss': null,\r\n 'BerufQualifikation': null\r\n }\r\n },\r\n 'Fuehrerschein': {\r\n 'expand': {\r\n 'Fuehrerscheine': {\r\n 'expand': {\r\n 'Fuehrerscheinklasse': null\r\n }\r\n }\r\n }\r\n },\r\n 'Ausbildung': {\r\n 'expand': {\r\n 'Ausbildungen': {\r\n 'expand': {\r\n 'Ausbildung': null,\r\n 'AusbildungAbschluss': null\r\n }\r\n }\r\n }\r\n }\r\n }\r\n },\r\n 'Bewerbungsgrund': null,\r\n 'Bewerbungskanal': null,\r\n 'Einsatzbereiche': null\r\n }\r\n }\r\n },\r\n \"modificationInfoEnabled\": true,\r\n \"key\": \"variables.data.$id\",\r\n \"keyProperty\": \"Id\",\r\n \"postOnSave\": true,\r\n \"filters\": [{\r\n \"webApiCustomKey\": \"BewerbungInfo\",\r\n \"webApiCustomValue\": \"true\"\r\n }, {\r\n \"webApiCustomKey\": \"StelleninseratInfo\",\r\n \"webApiCustomValue\": \"true\"\r\n }, {\r\n \"webApiCustomKey\": \"AddPersonCard\",\r\n \"webApiCustomValue\": \"true\"\r\n }, {\r\n \"webApiCustomKey\": \"AddStelleninseratCard\",\r\n \"webApiCustomValue\": \"true\"\r\n }]\r\n });\r\n this.addModel({\r\n \"id\": \"$m_BewerbungKopf\",\r\n \"webApiAction\": \"ZIT/Objekte/BewerbungKopfElement\",\r\n \"key\": \"models.data.$m_Bewerbung.IdBewerbungKopfElement\",\r\n \"keyProperty\": \"Id\",\r\n \"filters\": []\r\n });\r\n this.addModel({\r\n \"id\": \"$m_BewerbungEinsatzbereichRel\",\r\n \"webApiAction\": \"ZIT/Objekte/BewerbungKopfEinsatzbereich\",\r\n \"webApiExpand\": {\r\n 'Einsatzbereich': null\r\n },\r\n \"keyProperty\": \"Id\",\r\n \"filters\": []\r\n });\r\n this.addModel({\r\n \"id\": \"$m_BewerbungEinsatzbereichEdit\",\r\n \"webApiAction\": \"ZIT/Objekte/BewerbungKopfEinsatzbereich\",\r\n \"keyProperty\": \"Id\",\r\n \"filters\": []\r\n });\r\n this.addModel({\r\n \"id\": \"$m_Person\",\r\n \"webApiAction\": \"ZIT/Objekte/Person\",\r\n \"modificationInfoEnabled\": true,\r\n \"key\": \"models.data.$m_Bewerbung.Kopf.IdPerson\",\r\n \"keyProperty\": \"Id\",\r\n \"filters\": []\r\n });\r\n this.addModel({\r\n \"id\": \"$m_DokumentRel\",\r\n \"webApiAction\": \"ZIT/Objekte/DokumentElement\",\r\n \"webApiExpand\": {\r\n 'Informationstyp': null\r\n },\r\n \"webApiWhere\": [\"IdStelleninserat\", {\r\n \"isBound\": true,\r\n \"expression\": \"models.data.$m_Bewerbung.Kopf.IdStelleninserat\"\r\n }],\r\n \"keyProperty\": \"Id\",\r\n \"filters\": []\r\n });\r\n this.addModel({\r\n \"id\": \"$m_DokumentEdit\",\r\n \"webApiAction\": \"ZIT/Objekte/DokumentElement\",\r\n \"keyProperty\": \"Id\",\r\n \"filters\": []\r\n });\r\n this.addCommand({\r\n \"binding\": {\r\n \"bindTo\": \"$f_BewerbungEditUtils.actionCommand\",\r\n \"bindToFQ\": \"functions.$f_BewerbungEditUtils.actionCommand\"\r\n }\r\n });\r\n this.addEditPopup({\r\n \"idContent\": \"bewerbungEinsatzbereichEditPopupContent\",\r\n \"mappings\": [{\r\n \"to\": \"$id\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_BewerbungEinsatzbereichEdit\",\r\n \"bindTo\": \"Id\",\r\n \"bindToFQ\": \"models.data.$m_BewerbungEinsatzbereichEdit.Id\"\r\n }\r\n }],\r\n \"id\": \"bewerbungEinsatzbereichEditPopup\",\r\n \"options\": {\r\n \"optionsName\": \"bewerbungEinsatzbereichEditPopupOptions\",\r\n \"optionsNameFQ\": \"bewerbungEinsatzbereichEditPopupOptions\"\r\n },\r\n \"height\": \"auto\",\r\n \"width\": \"500px\",\r\n \"commands\": []\r\n });\r\n this.addFunction(\"$f_BewerbungEditUtils\", $f_BewerbungEditUtils, \"functions.$f_BewerbungEditUtils\");\r\n this.widgetCreator.addValidationGroup(this, {\r\n \"id\": \"wd1\",\r\n \"options\": {\r\n \"optionsName\": \"wd1Options\",\r\n \"optionsNameFQ\": \"wd1Options\"\r\n }\r\n });\r\n this.widgetCreator.addLookup(this, {\r\n \"idSelect\": \"person\",\r\n \"filters\": [],\r\n \"caption\": \"bewerbung-erweitert-edit.r_bewerbungperson_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Bewerbung\",\r\n \"bindTo\": \"Kopf.IdPerson\",\r\n \"bindToFQ\": \"models.data.$m_Bewerbung.Kopf.IdPerson\",\r\n \"propertyPrefix\": \"Kopf\"\r\n },\r\n \"validationRules\": [{\r\n \"item\": {\r\n \"type\": \"required\",\r\n \"parameters\": []\r\n }\r\n }],\r\n \"id\": \"r_bewerbungPerson\",\r\n \"options\": {\r\n \"optionsName\": \"r_bewerbungPersonOptions\",\r\n \"optionsNameFQ\": \"r_bewerbungPersonOptions\"\r\n }\r\n });\r\n this.widgetCreator.addLookup(this, {\r\n \"idSelect\": \"stelleninserat\",\r\n \"filters\": [],\r\n \"caption\": \"bewerbung-erweitert-edit.r_bewerbungstelleninserat_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Bewerbung\",\r\n \"bindTo\": \"Kopf.IdStelleninserat\",\r\n \"bindToFQ\": \"models.data.$m_Bewerbung.Kopf.IdStelleninserat\",\r\n \"propertyPrefix\": \"Kopf\"\r\n },\r\n \"validationRules\": [{\r\n \"item\": {\r\n \"type\": \"required\",\r\n \"parameters\": []\r\n }\r\n }],\r\n \"id\": \"r_bewerbungStelleninserat\",\r\n \"options\": {\r\n \"optionsName\": \"r_bewerbungStelleninseratOptions\",\r\n \"optionsNameFQ\": \"r_bewerbungStelleninseratOptions\"\r\n }\r\n });\r\n this.widgetCreator.addListView(this, {\r\n \"itemClass\": \"z--list-view-inline-item\",\r\n \"useDefaultListItemStyle\": false,\r\n \"createToolbar\": true,\r\n \"optionsToolbar\": {\r\n \"optionsName\": \"r_bewerbungEinsatzbereichListViewToolbarOptions\",\r\n \"optionsNameFQ\": \"r_bewerbungEinsatzbereichListViewToolbarOptions\"\r\n },\r\n \"caption\": \"bewerbung-erweitert-edit.r_bewerbungeinsatzbereichlistview_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_BewerbungKopf\"\r\n },\r\n \"isRelation\": true,\r\n \"relationBinding\": {\r\n \"dataContext\": \"$m_BewerbungEinsatzbereichRel\",\r\n \"bindTo\": \"IdBewerbungKopfElement\",\r\n \"bindToFQ\": \"models.data.$m_BewerbungEinsatzbereichRel.IdBewerbungKopfElement\"\r\n },\r\n \"dataModel\": \"$m_BewerbungKopf\",\r\n \"editDataContext\": \"$m_BewerbungEinsatzbereichEdit\",\r\n \"idEditPopup\": \"bewerbungEinsatzbereichEditPopup\",\r\n \"listEdits\": [],\r\n \"filters\": [],\r\n \"commands\": [],\r\n \"id\": \"r_bewerbungEinsatzbereichListView\",\r\n \"options\": {\r\n \"optionsName\": \"r_bewerbungEinsatzbereichListViewOptions\",\r\n \"optionsNameFQ\": \"r_bewerbungEinsatzbereichListViewOptions\"\r\n }\r\n });\r\n this.widgetCreator.addTextBox(this, {\r\n \"maxLength\": 100,\r\n \"caption\": \"bewerbung-erweitert-edit.r_bewerbungverwandtmit_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Bewerbung\",\r\n \"bindTo\": \"Kopf.VerwandtMit\",\r\n \"bindToFQ\": \"models.data.$m_Bewerbung.Kopf.VerwandtMit\",\r\n \"propertyPrefix\": \"Kopf\"\r\n },\r\n \"validationRules\": [{\r\n \"item\": {\r\n \"type\": \"conditionalRequired\",\r\n \"parameters\": [{\r\n \"name\": \"condition\",\r\n \"value\": \"models.data.$m_Bewerbung.Kopf && models.data.$m_Bewerbung.Kopf.IdVerwandtschaftsverhaeltnis\"\r\n }]\r\n }\r\n }],\r\n \"id\": \"r_bewerbungVerwandtMit\",\r\n \"options\": {\r\n \"optionsName\": \"r_bewerbungVerwandtMitOptions\",\r\n \"optionsNameFQ\": \"r_bewerbungVerwandtMitOptions\"\r\n }\r\n });\r\n this.widgetCreator.addSelectBox(this, {\r\n \"idSelect\": \"verwandtschaftsverhaeltnis\",\r\n \"filters\": [],\r\n \"caption\": \"bewerbung-erweitert-edit.r_bewerbungverwandtschaftsverhaeltnis_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Bewerbung\",\r\n \"bindTo\": \"Kopf.IdVerwandtschaftsverhaeltnis\",\r\n \"bindToFQ\": \"models.data.$m_Bewerbung.Kopf.IdVerwandtschaftsverhaeltnis\",\r\n \"propertyPrefix\": \"Kopf\"\r\n },\r\n \"validationRules\": [{\r\n \"item\": {\r\n \"type\": \"conditionalRequired\",\r\n \"parameters\": [{\r\n \"name\": \"condition\",\r\n \"value\": \"models.data.$m_Bewerbung.Kopf && models.data.$m_Bewerbung.Kopf.VerwandtMit\"\r\n }]\r\n }\r\n }],\r\n \"id\": \"r_bewerbungVerwandtschaftsverhaeltnis\",\r\n \"options\": {\r\n \"optionsName\": \"r_bewerbungVerwandtschaftsverhaeltnisOptions\",\r\n \"optionsNameFQ\": \"r_bewerbungVerwandtschaftsverhaeltnisOptions\"\r\n }\r\n });\r\n this.widgetCreator.addDateBox(this, {\r\n \"format\": \"d\",\r\n \"caption\": \"bewerbung-erweitert-edit.r_bewerbungeinsatzzeitraum1von_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Bewerbung\",\r\n \"bindTo\": \"Kopf.Einsatzzeitraum1Von\",\r\n \"bindToFQ\": \"models.data.$m_Bewerbung.Kopf.Einsatzzeitraum1Von\",\r\n \"propertyPrefix\": \"Kopf\"\r\n },\r\n \"validationRules\": [{\r\n \"binding\": {\r\n \"dataContext\": \"$m_Bewerbung\",\r\n \"bindTo\": \"$f_BewerbungEditUtils.einsatzzeitraum1VonCustomValidation\",\r\n \"bindToFQ\": \"functions.$f_BewerbungEditUtils.einsatzzeitraum1VonCustomValidation\"\r\n }\r\n }, {\r\n \"item\": {\r\n \"type\": \"required\",\r\n \"parameters\": []\r\n }\r\n }],\r\n \"id\": \"r_bewerbungEinsatzzeitraum1Von\",\r\n \"options\": {\r\n \"optionsName\": \"r_bewerbungEinsatzzeitraum1VonOptions\",\r\n \"optionsNameFQ\": \"r_bewerbungEinsatzzeitraum1VonOptions\"\r\n }\r\n });\r\n this.widgetCreator.addDateBox(this, {\r\n \"format\": \"d\",\r\n \"caption\": \"bewerbung-erweitert-edit.r_bewerbungeinsatzzeitraum1bis_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Bewerbung\",\r\n \"bindTo\": \"Kopf.Einsatzzeitraum1Bis\",\r\n \"bindToFQ\": \"models.data.$m_Bewerbung.Kopf.Einsatzzeitraum1Bis\",\r\n \"propertyPrefix\": \"Kopf\"\r\n },\r\n \"validationRules\": [{\r\n \"binding\": {\r\n \"dataContext\": \"$m_Bewerbung\",\r\n \"bindTo\": \"$f_BewerbungEditUtils.einsatzzeitraum1BisCustomValidation\",\r\n \"bindToFQ\": \"functions.$f_BewerbungEditUtils.einsatzzeitraum1BisCustomValidation\"\r\n }\r\n }, {\r\n \"item\": {\r\n \"type\": \"required\",\r\n \"parameters\": []\r\n }\r\n }],\r\n \"id\": \"r_bewerbungEinsatzzeitraum1Bis\",\r\n \"options\": {\r\n \"optionsName\": \"r_bewerbungEinsatzzeitraum1BisOptions\",\r\n \"optionsNameFQ\": \"r_bewerbungEinsatzzeitraum1BisOptions\"\r\n }\r\n });\r\n this.widgetCreator.addDateBox(this, {\r\n \"format\": \"d\",\r\n \"caption\": \"bewerbung-erweitert-edit.r_bewerbungeinsatzzeitraum2von_caption\",\r\n \"isReadOnlyExpression\": \"models.data.$m_Bewerbung.Kopf && (!models.data.$m_Bewerbung.Kopf.Einsatzzeitraum1Von || !models.data.$m_Bewerbung.Kopf.Einsatzzeitraum1Bis)\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Bewerbung\",\r\n \"bindTo\": \"Kopf.Einsatzzeitraum2Von\",\r\n \"bindToFQ\": \"models.data.$m_Bewerbung.Kopf.Einsatzzeitraum2Von\",\r\n \"propertyPrefix\": \"Kopf\"\r\n },\r\n \"validationRules\": [{\r\n \"binding\": {\r\n \"dataContext\": \"$m_Bewerbung\",\r\n \"bindTo\": \"$f_BewerbungEditUtils.einsatzzeitraum2VonCustomValidation\",\r\n \"bindToFQ\": \"functions.$f_BewerbungEditUtils.einsatzzeitraum2VonCustomValidation\"\r\n }\r\n }, {\r\n \"item\": {\r\n \"type\": \"conditionalRequired\",\r\n \"parameters\": [{\r\n \"name\": \"condition\",\r\n \"value\": \"models.data.$m_Bewerbung.Kopf && models.data.$m_Bewerbung.Kopf.Einsatzzeitraum2Bis\"\r\n }]\r\n }\r\n }],\r\n \"id\": \"r_bewerbungEinsatzzeitraum2Von\",\r\n \"options\": {\r\n \"optionsName\": \"r_bewerbungEinsatzzeitraum2VonOptions\",\r\n \"optionsNameFQ\": \"r_bewerbungEinsatzzeitraum2VonOptions\"\r\n }\r\n });\r\n this.widgetCreator.addDateBox(this, {\r\n \"format\": \"d\",\r\n \"caption\": \"bewerbung-erweitert-edit.r_bewerbungeinsatzzeitraum2bis_caption\",\r\n \"isReadOnlyExpression\": \"models.data.$m_Bewerbung.Kopf && (!models.data.$m_Bewerbung.Kopf.Einsatzzeitraum1Von || !models.data.$m_Bewerbung.Kopf.Einsatzzeitraum1Bis)\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Bewerbung\",\r\n \"bindTo\": \"Kopf.Einsatzzeitraum2Bis\",\r\n \"bindToFQ\": \"models.data.$m_Bewerbung.Kopf.Einsatzzeitraum2Bis\",\r\n \"propertyPrefix\": \"Kopf\"\r\n },\r\n \"validationRules\": [{\r\n \"binding\": {\r\n \"dataContext\": \"$m_Bewerbung\",\r\n \"bindTo\": \"$f_BewerbungEditUtils.einsatzzeitraum2BisCustomValidation\",\r\n \"bindToFQ\": \"functions.$f_BewerbungEditUtils.einsatzzeitraum2BisCustomValidation\"\r\n }\r\n }, {\r\n \"item\": {\r\n \"type\": \"conditionalRequired\",\r\n \"parameters\": [{\r\n \"name\": \"condition\",\r\n \"value\": \"models.data.$m_Bewerbung.Kopf && models.data.$m_Bewerbung.Kopf.Einsatzzeitraum2Von\"\r\n }]\r\n }\r\n }],\r\n \"id\": \"r_bewerbungEinsatzzeitraum2Bis\",\r\n \"options\": {\r\n \"optionsName\": \"r_bewerbungEinsatzzeitraum2BisOptions\",\r\n \"optionsNameFQ\": \"r_bewerbungEinsatzzeitraum2BisOptions\"\r\n }\r\n });\r\n this.widgetCreator.addNumberBox(this, {\r\n \"showSpinButtons\": true,\r\n \"min\": 0.0,\r\n \"max\": 52.0,\r\n \"format\": \"n0\",\r\n \"caption\": \"bewerbung-erweitert-edit.r_bewerbunganzahlwunschwochen_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Bewerbung\",\r\n \"bindTo\": \"Kopf.AnzahlWunschwochen\",\r\n \"bindToFQ\": \"models.data.$m_Bewerbung.Kopf.AnzahlWunschwochen\",\r\n \"propertyPrefix\": \"Kopf\"\r\n },\r\n \"validationRules\": [{\r\n \"binding\": {\r\n \"dataContext\": \"$m_Bewerbung\",\r\n \"bindTo\": \"$f_BewerbungEditUtils.anzahlWunschWochenValidationRule\",\r\n \"bindToFQ\": \"functions.$f_BewerbungEditUtils.anzahlWunschWochenValidationRule\"\r\n }\r\n }],\r\n \"id\": \"r_bewerbungAnzahlWunschwochen\",\r\n \"options\": {\r\n \"optionsName\": \"r_bewerbungAnzahlWunschwochenOptions\",\r\n \"optionsNameFQ\": \"r_bewerbungAnzahlWunschwochenOptions\"\r\n }\r\n });\r\n this.widgetCreator.addTextBox(this, {\r\n \"maxLength\": 100,\r\n \"caption\": \"bewerbung-erweitert-edit.r_bewerbungpersontaetigkeit_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Bewerbung\",\r\n \"bindTo\": \"Kopf.Taetigkeit\",\r\n \"bindToFQ\": \"models.data.$m_Bewerbung.Kopf.Taetigkeit\",\r\n \"propertyPrefix\": \"Kopf\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_bewerbungPersonTaetigkeit\",\r\n \"options\": {\r\n \"optionsName\": \"r_bewerbungPersonTaetigkeitOptions\",\r\n \"optionsNameFQ\": \"r_bewerbungPersonTaetigkeitOptions\"\r\n }\r\n });\r\n this.widgetCreator.addSelectBox(this, {\r\n \"idSelect\": \"bewerbungsgrund\",\r\n \"filters\": [],\r\n \"caption\": \"bewerbung-erweitert-edit.r_bewerbungsgrund_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Bewerbung\",\r\n \"bindTo\": \"Kopf.IdBewerbungsgrund\",\r\n \"bindToFQ\": \"models.data.$m_Bewerbung.Kopf.IdBewerbungsgrund\",\r\n \"propertyPrefix\": \"Kopf\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_bewerbungsgrund\",\r\n \"options\": {\r\n \"optionsName\": \"r_bewerbungsgrundOptions\",\r\n \"optionsNameFQ\": \"r_bewerbungsgrundOptions\"\r\n }\r\n });\r\n this.widgetCreator.addDateBox(this, {\r\n \"format\": \"d\",\r\n \"caption\": \"bewerbung-erweitert-edit.r_bewerbungsdatum_caption\",\r\n \"isReadOnlyExpression\": \"models.data.$m_Bewerbung.Kopf.Id > 0\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Bewerbung\",\r\n \"bindTo\": \"Kopf.Bewerbungsdatum\",\r\n \"bindToFQ\": \"models.data.$m_Bewerbung.Kopf.Bewerbungsdatum\",\r\n \"propertyPrefix\": \"Kopf\"\r\n },\r\n \"validationRules\": [{\r\n \"item\": {\r\n \"type\": \"required\",\r\n \"parameters\": []\r\n }\r\n }],\r\n \"id\": \"r_bewerbungsdatum\",\r\n \"options\": {\r\n \"optionsName\": \"r_bewerbungsdatumOptions\",\r\n \"optionsNameFQ\": \"r_bewerbungsdatumOptions\"\r\n }\r\n });\r\n this.widgetCreator.addTextBox(this, {\r\n \"maxLength\": 30,\r\n \"caption\": \"bewerbung-erweitert-edit.r_geschaeftspartnerpersonalnr_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Bewerbung\",\r\n \"bindTo\": \"Kopf.GeschaeftspartnerPersonalNr\",\r\n \"bindToFQ\": \"models.data.$m_Bewerbung.Kopf.GeschaeftspartnerPersonalNr\",\r\n \"propertyPrefix\": \"Kopf\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_geschaeftspartnerPersonalNr\",\r\n \"options\": {\r\n \"optionsName\": \"r_geschaeftspartnerPersonalNrOptions\",\r\n \"optionsNameFQ\": \"r_geschaeftspartnerPersonalNrOptions\"\r\n }\r\n });\r\n this.widgetCreator.addTextArea(this, {\r\n \"height\": \"100px\",\r\n \"caption\": \"bewerbung-erweitert-edit.r_bemerkung_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Bewerbung\",\r\n \"bindTo\": \"Kopf.Bemerkung\",\r\n \"bindToFQ\": \"models.data.$m_Bewerbung.Kopf.Bemerkung\",\r\n \"propertyPrefix\": \"Kopf\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_bemerkung\",\r\n \"options\": {\r\n \"optionsName\": \"r_bemerkungOptions\",\r\n \"optionsNameFQ\": \"r_bemerkungOptions\"\r\n }\r\n });\r\n this.widgetCreator.addPopup(this, {\r\n \"id\": \"r_bewerbungEinsatzbereichPopup\",\r\n \"options\": {\r\n \"optionsName\": \"r_bewerbungEinsatzbereichPopupOptions\",\r\n \"optionsNameFQ\": \"r_bewerbungEinsatzbereichPopupOptions\"\r\n },\r\n \"caption\": \"bewerbung-erweitert-edit.r_bewerbungeinsatzbereichpopup_caption\",\r\n \"height\": \"auto\",\r\n \"width\": \"450px\",\r\n \"showCloseButton\": false,\r\n \"commands\": [{\r\n \"binding\": {\r\n \"bindTo\": \"$f_BewerbungEditUtils.bewerbungEinsatzbereichCommand\",\r\n \"bindToFQ\": \"functions.$f_BewerbungEditUtils.bewerbungEinsatzbereichCommand\"\r\n }\r\n }]\r\n });\r\n super.onConstructionFinished();\r\n }\r\n}","module.exports = \"\";","import * as fwx from \"../../../../framework/forms/form-export\";\r\nimport {\r\n BewerbungEditUtils\r\n} from \"./bewerbung-edit-utils\";\r\n\r\n@fwx.autoinject\r\nexport class BewerbungHeartbaseErweiterungEditForm extends fwx.FormBase {\r\n constructor(\r\n element: Element,\r\n formBaseImport: fwx.FormBaseImport,\r\n private $f_BewerbungEditUtils: BewerbungEditUtils) {\r\n super(element, formBaseImport);\r\n this.id = \"bewerbung-heartbase-erweitert-edit\";\r\n this.title = \"bewerbung-heartbase-erweitert-edit.bewerbung-heartbase-erweitert-edit_caption\";\r\n this.addModel({\r\n \"id\": \"$m_Bewerbung\",\r\n \"webApiAction\": \"ZIT/Objekte/Bewerbung\",\r\n \"webApiExpand\": {\r\n 'Kopf': {\r\n 'expand': {\r\n 'BewerbungTrainer': {\r\n 'expand': {\r\n 'Ansprechperson': null\r\n }\r\n },\r\n 'Stelleninserat': {\r\n 'columns': [\r\n 'Id',\r\n 'IdStelleninseratKopfElement'\r\n ],\r\n 'expand': {\r\n 'Kopf': {\r\n 'expand': {\r\n 'Geschaeftspartner': {\r\n 'expand': {\r\n 'Geschaeftspartnerdaten': null\r\n }\r\n }\r\n }\r\n }\r\n }\r\n },\r\n 'Person': {\r\n 'expand': {\r\n 'Personendaten': {\r\n 'expand': {\r\n 'Nationalitaet': null,\r\n 'Schuhgroesse': null,\r\n 'Kleidergroesse': null,\r\n 'Familienstand': null\r\n }\r\n },\r\n 'Adressen': {\r\n 'expand': {\r\n 'Land': null\r\n },\r\n 'where': [\r\n [\r\n [\r\n 'GueltigVon',\r\n '<=',\r\n '@Today()'\r\n ],\r\n 'or',\r\n [\r\n 'GueltigVon',\r\n '=',\r\n 'null'\r\n ]\r\n ],\r\n [\r\n [\r\n 'GueltigBis',\r\n '>=',\r\n '@Today()'\r\n ],\r\n 'or',\r\n [\r\n 'GueltigBis',\r\n '=',\r\n 'null'\r\n ]\r\n ]\r\n ]\r\n },\r\n 'Kontakte': {\r\n 'expand': {\r\n 'Kontakttyp': null\r\n }\r\n },\r\n 'Sprache': {\r\n 'expand': {\r\n 'Sprachen': {\r\n 'expand': {\r\n 'Sprachniveau': null,\r\n 'Sprache': null\r\n }\r\n }\r\n }\r\n },\r\n 'Berufserfahrungen': {\r\n 'expand': {\r\n 'Berufserfahrungen': null\r\n }\r\n },\r\n 'GeschaeftspartnerEinsaetze': {\r\n 'expand': {\r\n 'Geschaeftspartner': null\r\n }\r\n },\r\n 'Skills': {\r\n 'expand': {\r\n 'Skill': null\r\n }\r\n },\r\n 'Berufe': {\r\n 'expand': {\r\n 'Berufe': {\r\n 'expand': {\r\n 'Beruf': null\r\n }\r\n },\r\n 'AusbildungAbschluss': null,\r\n 'BerufQualifikation': null\r\n }\r\n },\r\n 'Fuehrerschein': {\r\n 'expand': {\r\n 'Fuehrerscheine': {\r\n 'expand': {\r\n 'Fuehrerscheinklasse': null\r\n }\r\n }\r\n }\r\n },\r\n 'Ausbildung': {\r\n 'expand': {\r\n 'Ausbildungen': {\r\n 'expand': {\r\n 'Ausbildung': null,\r\n 'AusbildungAbschluss': null\r\n }\r\n }\r\n }\r\n }\r\n }\r\n },\r\n 'Bewerbungsgrund': null,\r\n 'Bewerbungskanal': null\r\n }\r\n }\r\n },\r\n \"modificationInfoEnabled\": true,\r\n \"key\": \"variables.data.$id\",\r\n \"keyProperty\": \"Id\",\r\n \"postOnSave\": true,\r\n \"filters\": [{\r\n \"webApiCustomKey\": \"BewerbungInfo\",\r\n \"webApiCustomValue\": \"true\"\r\n }, {\r\n \"webApiCustomKey\": \"StelleninseratInfo\",\r\n \"webApiCustomValue\": \"true\"\r\n }, {\r\n \"webApiCustomKey\": \"AddStelleninseratCard\",\r\n \"webApiCustomValue\": \"true\"\r\n }, {\r\n \"webApiCustomKey\": \"AddBewerberSchnuppertermine\",\r\n \"webApiCustomValue\": \"true\"\r\n }, {\r\n \"webApiCustomKey\": \"AddPersonCard\",\r\n \"webApiCustomValue\": \"true\"\r\n }, {\r\n \"webApiCustomKey\": \"CanBenutzeraccountAktivieren\",\r\n \"webApiCustomValue\": \"true\"\r\n }]\r\n });\r\n this.addModel({\r\n \"id\": \"$m_Person\",\r\n \"webApiAction\": \"ZIT/Objekte/Person\",\r\n \"modificationInfoEnabled\": true,\r\n \"key\": \"models.data.$m_Bewerbung.Kopf.IdPerson\",\r\n \"keyProperty\": \"Id\",\r\n \"filters\": []\r\n });\r\n this.addModel({\r\n \"id\": \"$m_DokumentRel\",\r\n \"webApiAction\": \"ZIT/Objekte/DokumentElement\",\r\n \"webApiExpand\": {\r\n 'Informationstyp': null\r\n },\r\n \"webApiWhere\": [\"IdStelleninserat\", {\r\n \"isBound\": true,\r\n \"expression\": \"models.data.$m_Bewerbung.Kopf.IdStelleninserat\"\r\n }],\r\n \"keyProperty\": \"Id\",\r\n \"filters\": []\r\n });\r\n this.addModel({\r\n \"id\": \"$m_DokumentEdit\",\r\n \"webApiAction\": \"ZIT/Objekte/DokumentElement\",\r\n \"keyProperty\": \"Id\",\r\n \"filters\": []\r\n });\r\n this.addCommand({\r\n \"binding\": {\r\n \"bindTo\": \"$f_BewerbungEditUtils.actionCommand\",\r\n \"bindToFQ\": \"functions.$f_BewerbungEditUtils.actionCommand\"\r\n }\r\n });\r\n this.addCommand({\r\n \"binding\": {\r\n \"bindTo\": \"$f_BewerbungEditUtils.statusAendernPopupCommand\",\r\n \"bindToFQ\": \"functions.$f_BewerbungEditUtils.statusAendernPopupCommand\"\r\n }\r\n });\r\n this.addFunction(\"$f_BewerbungEditUtils\", $f_BewerbungEditUtils, \"functions.$f_BewerbungEditUtils\");\r\n this.widgetCreator.addValidationGroup(this, {\r\n \"id\": \"wd1\",\r\n \"options\": {\r\n \"optionsName\": \"wd1Options\",\r\n \"optionsNameFQ\": \"wd1Options\"\r\n }\r\n });\r\n this.widgetCreator.addLookup(this, {\r\n \"idSelect\": \"person\",\r\n \"filters\": [],\r\n \"caption\": \"bewerbung-heartbase-erweitert-edit.r_bewerbungperson_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Bewerbung\",\r\n \"bindTo\": \"Kopf.IdPerson\",\r\n \"bindToFQ\": \"models.data.$m_Bewerbung.Kopf.IdPerson\",\r\n \"propertyPrefix\": \"Kopf\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_bewerbungPerson\",\r\n \"options\": {\r\n \"optionsName\": \"r_bewerbungPersonOptions\",\r\n \"optionsNameFQ\": \"r_bewerbungPersonOptions\"\r\n }\r\n });\r\n this.widgetCreator.addLookup(this, {\r\n \"idSelect\": \"stelleninserat\",\r\n \"filters\": [],\r\n \"caption\": \"bewerbung-heartbase-erweitert-edit.r_bewerbungstelleninserat_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Bewerbung\",\r\n \"bindTo\": \"Kopf.IdStelleninserat\",\r\n \"bindToFQ\": \"models.data.$m_Bewerbung.Kopf.IdStelleninserat\",\r\n \"propertyPrefix\": \"Kopf\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_bewerbungStelleninserat\",\r\n \"options\": {\r\n \"optionsName\": \"r_bewerbungStelleninseratOptions\",\r\n \"optionsNameFQ\": \"r_bewerbungStelleninseratOptions\"\r\n }\r\n });\r\n this.widgetCreator.addTextBox(this, {\r\n \"maxLength\": 100,\r\n \"caption\": \"bewerbung-heartbase-erweitert-edit.r_taetigkeit_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Bewerbung\",\r\n \"bindTo\": \"Kopf.Taetigkeit\",\r\n \"bindToFQ\": \"models.data.$m_Bewerbung.Kopf.Taetigkeit\",\r\n \"propertyPrefix\": \"Kopf\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_taetigkeit\",\r\n \"options\": {\r\n \"optionsName\": \"r_taetigkeitOptions\",\r\n \"optionsNameFQ\": \"r_taetigkeitOptions\"\r\n }\r\n });\r\n this.widgetCreator.addSelectBox(this, {\r\n \"idSelect\": \"bewerbungsgrund\",\r\n \"filters\": [],\r\n \"caption\": \"bewerbung-heartbase-erweitert-edit.r_bewerbungsgrund_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Bewerbung\",\r\n \"bindTo\": \"Kopf.IdBewerbungsgrund\",\r\n \"bindToFQ\": \"models.data.$m_Bewerbung.Kopf.IdBewerbungsgrund\",\r\n \"propertyPrefix\": \"Kopf\"\r\n },\r\n \"validationRules\": [{\r\n \"binding\": {\r\n \"dataContext\": \"$m_Bewerbung\",\r\n \"bindTo\": \"$f_BewerbungEditUtils.requiredValidationRule\",\r\n \"bindToFQ\": \"functions.$f_BewerbungEditUtils.requiredValidationRule\"\r\n }\r\n }],\r\n \"id\": \"r_bewerbungsgrund\",\r\n \"options\": {\r\n \"optionsName\": \"r_bewerbungsgrundOptions\",\r\n \"optionsNameFQ\": \"r_bewerbungsgrundOptions\"\r\n }\r\n });\r\n this.widgetCreator.addDateBox(this, {\r\n \"format\": \"d\",\r\n \"caption\": \"bewerbung-heartbase-erweitert-edit.r_bewerbungsdatum_caption\",\r\n \"isReadOnlyExpression\": \"models.data.$m_Bewerbung.Kopf.Id > 0\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Bewerbung\",\r\n \"bindTo\": \"Kopf.Bewerbungsdatum\",\r\n \"bindToFQ\": \"models.data.$m_Bewerbung.Kopf.Bewerbungsdatum\",\r\n \"propertyPrefix\": \"Kopf\"\r\n },\r\n \"validationRules\": [{\r\n \"item\": {\r\n \"type\": \"required\",\r\n \"parameters\": []\r\n }\r\n }],\r\n \"id\": \"r_bewerbungsdatum\",\r\n \"options\": {\r\n \"optionsName\": \"r_bewerbungsdatumOptions\",\r\n \"optionsNameFQ\": \"r_bewerbungsdatumOptions\"\r\n }\r\n });\r\n this.widgetCreator.addSelectBox(this, {\r\n \"idSelect\": \"lehrberuf\",\r\n \"filters\": [],\r\n \"caption\": \"bewerbung-heartbase-erweitert-edit.r_lehrberuf_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Bewerbung\",\r\n \"bindTo\": \"Kopf.IdLehrberuf\",\r\n \"bindToFQ\": \"models.data.$m_Bewerbung.Kopf.IdLehrberuf\",\r\n \"propertyPrefix\": \"Kopf\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_lehrberuf\",\r\n \"options\": {\r\n \"optionsName\": \"r_lehrberufOptions\",\r\n \"optionsNameFQ\": \"r_lehrberufOptions\"\r\n }\r\n });\r\n this.widgetCreator.addTextBox(this, {\r\n \"maxLength\": 250,\r\n \"caption\": \"bewerbung-heartbase-erweitert-edit.r_nameerziehungsberechtige_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Bewerbung\",\r\n \"bindTo\": \"Kopf.NameErziehungsberechtige\",\r\n \"bindToFQ\": \"models.data.$m_Bewerbung.Kopf.NameErziehungsberechtige\",\r\n \"propertyPrefix\": \"Kopf\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_nameErziehungsberechtige\",\r\n \"options\": {\r\n \"optionsName\": \"r_nameErziehungsberechtigeOptions\",\r\n \"optionsNameFQ\": \"r_nameErziehungsberechtigeOptions\"\r\n }\r\n });\r\n this.widgetCreator.addSelectBox(this, {\r\n \"idSelect\": \"landvorwahl\",\r\n \"filters\": [],\r\n \"caption\": \"bewerbung-heartbase-erweitert-edit.r_telefonlandvorwahlerziehungsberechtigte_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Bewerbung\",\r\n \"bindTo\": \"Kopf.TelefonLandvorwahlErziehungsberechtigte\",\r\n \"bindToFQ\": \"models.data.$m_Bewerbung.Kopf.TelefonLandvorwahlErziehungsberechtigte\",\r\n \"propertyPrefix\": \"Kopf\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_telefonLandvorwahlErziehungsberechtigte\",\r\n \"options\": {\r\n \"optionsName\": \"r_telefonLandvorwahlErziehungsberechtigteOptions\",\r\n \"optionsNameFQ\": \"r_telefonLandvorwahlErziehungsberechtigteOptions\"\r\n }\r\n });\r\n this.widgetCreator.addTextBox(this, {\r\n \"maxLength\": 100,\r\n \"caption\": \"bewerbung-heartbase-erweitert-edit.r_telefonerziehungsberechtigte_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Bewerbung\",\r\n \"bindTo\": \"Kopf.TelefonErziehungsberechtigte\",\r\n \"bindToFQ\": \"models.data.$m_Bewerbung.Kopf.TelefonErziehungsberechtigte\",\r\n \"propertyPrefix\": \"Kopf\"\r\n },\r\n \"validationRules\": [{\r\n \"item\": {\r\n \"type\": \"telefon\",\r\n \"parameters\": []\r\n }\r\n }],\r\n \"id\": \"r_telefonErziehungsberechtigte\",\r\n \"options\": {\r\n \"optionsName\": \"r_telefonErziehungsberechtigteOptions\",\r\n \"optionsNameFQ\": \"r_telefonErziehungsberechtigteOptions\"\r\n }\r\n });\r\n this.widgetCreator.addTextArea(this, {\r\n \"height\": \"100px\",\r\n \"caption\": \"bewerbung-heartbase-erweitert-edit.r_bemerkung_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Bewerbung\",\r\n \"bindTo\": \"Kopf.Bemerkung\",\r\n \"bindToFQ\": \"models.data.$m_Bewerbung.Kopf.Bemerkung\",\r\n \"propertyPrefix\": \"Kopf\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_bemerkung\",\r\n \"options\": {\r\n \"optionsName\": \"r_bemerkungOptions\",\r\n \"optionsNameFQ\": \"r_bemerkungOptions\"\r\n }\r\n });\r\n this.widgetCreator.addSelectBox(this, {\r\n \"idSelect\": \"stelleninseratKlasse\",\r\n \"filter\": [\"StelleninseratKopfElement.IdStelleninserat\", {\r\n \"isBound\": true,\r\n \"expression\": \"models.data.$m_Bewerbung.Kopf.IdStelleninserat\"\r\n }],\r\n \"filters\": [],\r\n \"caption\": \"bewerbung-heartbase-erweitert-edit.r_klasse_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Bewerbung\",\r\n \"bindTo\": \"Kopf.IdStelleninseratKlasse\",\r\n \"bindToFQ\": \"models.data.$m_Bewerbung.Kopf.IdStelleninseratKlasse\",\r\n \"propertyPrefix\": \"Kopf\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_klasse\",\r\n \"options\": {\r\n \"optionsName\": \"r_klasseOptions\",\r\n \"optionsNameFQ\": \"r_klasseOptions\"\r\n }\r\n });\r\n super.onConstructionFinished();\r\n }\r\n}","module.exports = \"\";","import * as fwx from \"../../../../framework/forms/form-export\";\r\nimport {\r\n BewerbungEditUtils\r\n} from \"./bewerbung-edit-utils\";\r\n\r\n@fwx.autoinject\r\nexport class BewerbungLehreEditForm extends fwx.FormBase {\r\n constructor(\r\n element: Element,\r\n formBaseImport: fwx.FormBaseImport,\r\n private $f_BewerbungEditUtils: BewerbungEditUtils) {\r\n super(element, formBaseImport);\r\n this.id = \"bewerbung-lehre-edit\";\r\n this.title = \"bewerbung-lehre-edit.bewerbung-lehre-edit_caption\";\r\n this.addModel({\r\n \"id\": \"$m_Bewerbung\",\r\n \"webApiAction\": \"ZIT/Objekte/Bewerbung\",\r\n \"webApiExpand\": {\r\n 'Kopf': {\r\n 'expand': {\r\n 'Stelleninserat': {\r\n 'columns': [\r\n 'Id',\r\n 'IdStelleninseratKopfElement'\r\n ],\r\n 'expand': {\r\n 'Kopf': {\r\n 'expand': {\r\n 'Geschaeftspartner': {\r\n 'expand': {\r\n 'Geschaeftspartnerdaten': null\r\n }\r\n }\r\n }\r\n }\r\n }\r\n },\r\n 'Person': {\r\n 'columns': [\r\n 'Id'\r\n ]\r\n },\r\n 'Bewerbungsgrund': null,\r\n 'Bewerbungskanal': null,\r\n }\r\n }\r\n },\r\n \"modificationInfoEnabled\": true,\r\n \"key\": \"variables.data.$id\",\r\n \"keyProperty\": \"Id\",\r\n \"postOnSave\": true,\r\n \"filters\": [{\r\n \"webApiCustomKey\": \"BewerbungInfo\",\r\n \"webApiCustomValue\": \"true\"\r\n }, {\r\n \"webApiCustomKey\": \"StelleninseratInfo\",\r\n \"webApiCustomValue\": \"true\"\r\n }, {\r\n \"webApiCustomKey\": \"AddStelleninseratCard\",\r\n \"webApiCustomValue\": \"true\"\r\n }, {\r\n \"webApiCustomKey\": \"AddPersonCard\",\r\n \"webApiCustomValue\": \"true\"\r\n }, {\r\n \"webApiCustomKey\": \"AddBewerberSchnuppertermine\",\r\n \"webApiCustomValue\": \"true\"\r\n }]\r\n });\r\n this.addModel({\r\n \"id\": \"$m_Person\",\r\n \"webApiAction\": \"ZIT/Objekte/Person\",\r\n \"modificationInfoEnabled\": true,\r\n \"key\": \"models.data.$m_Bewerbung.Kopf.IdPerson\",\r\n \"keyProperty\": \"Id\",\r\n \"filters\": []\r\n });\r\n this.addModel({\r\n \"id\": \"$m_DokumentRel\",\r\n \"webApiAction\": \"ZIT/Objekte/DokumentElement\",\r\n \"webApiExpand\": {\r\n 'Informationstyp': null\r\n },\r\n \"webApiWhere\": [\"IdStelleninserat\", {\r\n \"isBound\": true,\r\n \"expression\": \"models.data.$m_Bewerbung.Kopf.IdStelleninserat\"\r\n }],\r\n \"keyProperty\": \"Id\",\r\n \"filters\": []\r\n });\r\n this.addModel({\r\n \"id\": \"$m_DokumentEdit\",\r\n \"webApiAction\": \"ZIT/Objekte/DokumentElement\",\r\n \"keyProperty\": \"Id\",\r\n \"filters\": []\r\n });\r\n this.addCommand({\r\n \"binding\": {\r\n \"bindTo\": \"$f_BewerbungEditUtils.actionCommand\",\r\n \"bindToFQ\": \"functions.$f_BewerbungEditUtils.actionCommand\"\r\n }\r\n });\r\n this.addCommand({\r\n \"binding\": {\r\n \"bindTo\": \"$f_BewerbungEditUtils.statusAendernPopupCommand\",\r\n \"bindToFQ\": \"functions.$f_BewerbungEditUtils.statusAendernPopupCommand\"\r\n }\r\n });\r\n this.addFunction(\"$f_BewerbungEditUtils\", $f_BewerbungEditUtils, \"functions.$f_BewerbungEditUtils\");\r\n this.widgetCreator.addValidationGroup(this, {\r\n \"id\": \"wd1\",\r\n \"options\": {\r\n \"optionsName\": \"wd1Options\",\r\n \"optionsNameFQ\": \"wd1Options\"\r\n }\r\n });\r\n this.widgetCreator.addLookup(this, {\r\n \"idSelect\": \"person\",\r\n \"filters\": [],\r\n \"caption\": \"bewerbung-lehre-edit.r_bewerbungperson_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Bewerbung\",\r\n \"bindTo\": \"Kopf.IdPerson\",\r\n \"bindToFQ\": \"models.data.$m_Bewerbung.Kopf.IdPerson\",\r\n \"propertyPrefix\": \"Kopf\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_bewerbungPerson\",\r\n \"options\": {\r\n \"optionsName\": \"r_bewerbungPersonOptions\",\r\n \"optionsNameFQ\": \"r_bewerbungPersonOptions\"\r\n }\r\n });\r\n this.widgetCreator.addLookup(this, {\r\n \"idSelect\": \"stelleninserat\",\r\n \"filters\": [],\r\n \"caption\": \"bewerbung-lehre-edit.r_bewerbungstelleninserat_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Bewerbung\",\r\n \"bindTo\": \"Kopf.IdStelleninserat\",\r\n \"bindToFQ\": \"models.data.$m_Bewerbung.Kopf.IdStelleninserat\",\r\n \"propertyPrefix\": \"Kopf\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_bewerbungStelleninserat\",\r\n \"options\": {\r\n \"optionsName\": \"r_bewerbungStelleninseratOptions\",\r\n \"optionsNameFQ\": \"r_bewerbungStelleninseratOptions\"\r\n }\r\n });\r\n this.widgetCreator.addTextBox(this, {\r\n \"maxLength\": 100,\r\n \"caption\": \"bewerbung-lehre-edit.r_taetigkeit_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Bewerbung\",\r\n \"bindTo\": \"Kopf.Taetigkeit\",\r\n \"bindToFQ\": \"models.data.$m_Bewerbung.Kopf.Taetigkeit\",\r\n \"propertyPrefix\": \"Kopf\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_taetigkeit\",\r\n \"options\": {\r\n \"optionsName\": \"r_taetigkeitOptions\",\r\n \"optionsNameFQ\": \"r_taetigkeitOptions\"\r\n }\r\n });\r\n this.widgetCreator.addSelectBox(this, {\r\n \"idSelect\": \"bewerbungsgrund\",\r\n \"filters\": [],\r\n \"caption\": \"bewerbung-lehre-edit.r_bewerbungsgrund_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Bewerbung\",\r\n \"bindTo\": \"Kopf.IdBewerbungsgrund\",\r\n \"bindToFQ\": \"models.data.$m_Bewerbung.Kopf.IdBewerbungsgrund\",\r\n \"propertyPrefix\": \"Kopf\"\r\n },\r\n \"validationRules\": [{\r\n \"binding\": {\r\n \"dataContext\": \"$m_Bewerbung\",\r\n \"bindTo\": \"$f_BewerbungEditUtils.requiredValidationRule\",\r\n \"bindToFQ\": \"functions.$f_BewerbungEditUtils.requiredValidationRule\"\r\n }\r\n }],\r\n \"id\": \"r_bewerbungsgrund\",\r\n \"options\": {\r\n \"optionsName\": \"r_bewerbungsgrundOptions\",\r\n \"optionsNameFQ\": \"r_bewerbungsgrundOptions\"\r\n }\r\n });\r\n this.widgetCreator.addDateBox(this, {\r\n \"format\": \"d\",\r\n \"caption\": \"bewerbung-lehre-edit.r_bewerbungsdatum_caption\",\r\n \"isReadOnlyExpression\": \"models.data.$m_Bewerbung.Kopf.Id > 0\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Bewerbung\",\r\n \"bindTo\": \"Kopf.Bewerbungsdatum\",\r\n \"bindToFQ\": \"models.data.$m_Bewerbung.Kopf.Bewerbungsdatum\",\r\n \"propertyPrefix\": \"Kopf\"\r\n },\r\n \"validationRules\": [{\r\n \"item\": {\r\n \"type\": \"required\",\r\n \"parameters\": []\r\n }\r\n }],\r\n \"id\": \"r_bewerbungsdatum\",\r\n \"options\": {\r\n \"optionsName\": \"r_bewerbungsdatumOptions\",\r\n \"optionsNameFQ\": \"r_bewerbungsdatumOptions\"\r\n }\r\n });\r\n this.widgetCreator.addTextBox(this, {\r\n \"maxLength\": 200,\r\n \"caption\": \"bewerbung-lehre-edit.r_wunschtermin_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Bewerbung\",\r\n \"bindTo\": \"Kopf.Wunschtermin\",\r\n \"bindToFQ\": \"models.data.$m_Bewerbung.Kopf.Wunschtermin\",\r\n \"propertyPrefix\": \"Kopf\"\r\n },\r\n \"validationRules\": [{\r\n \"item\": {\r\n \"type\": \"conditionalRequired\",\r\n \"parameters\": [{\r\n \"name\": \"condition\",\r\n \"value\": \"models.data.$m_Bewerbung.Kopf && models.data.$m_Bewerbung.Kopf._IsWunschterminPflicht\"\r\n }]\r\n }\r\n }],\r\n \"id\": \"r_wunschtermin\",\r\n \"options\": {\r\n \"optionsName\": \"r_wunschterminOptions\",\r\n \"optionsNameFQ\": \"r_wunschterminOptions\"\r\n }\r\n });\r\n this.widgetCreator.addSelectBox(this, {\r\n \"idSelect\": \"schnupperberufGeschaeftspartner\",\r\n \"customs\": [{\r\n \"key\": \"IdBewerbungKopfElement\",\r\n \"value\": \"models.data.$m_Bewerbung.Kopf.Id\"\r\n }],\r\n \"filters\": [],\r\n \"caption\": \"bewerbung-lehre-edit.r_schnupperberufgeschaeftspartner1_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Bewerbung\",\r\n \"bindTo\": \"Kopf.IdSchnupperberufGeschaeftspartner1\",\r\n \"bindToFQ\": \"models.data.$m_Bewerbung.Kopf.IdSchnupperberufGeschaeftspartner1\",\r\n \"propertyPrefix\": \"Kopf\"\r\n },\r\n \"validationRules\": [{\r\n \"item\": {\r\n \"type\": \"conditionalRequired\",\r\n \"parameters\": [{\r\n \"name\": \"condition\",\r\n \"value\": \"models.data.$m_Bewerbung.Kopf && models.data.$m_Bewerbung.Kopf._IsSchnupperberufGeschaeftspartner1Pflicht\"\r\n }]\r\n }\r\n }],\r\n \"id\": \"r_schnupperberufGeschaeftspartner1\",\r\n \"options\": {\r\n \"optionsName\": \"r_schnupperberufGeschaeftspartner1Options\",\r\n \"optionsNameFQ\": \"r_schnupperberufGeschaeftspartner1Options\"\r\n }\r\n });\r\n this.widgetCreator.addSelectBox(this, {\r\n \"idSelect\": \"schnupperberufGeschaeftspartner\",\r\n \"customs\": [{\r\n \"key\": \"IdBewerbungKopfElement\",\r\n \"value\": \"models.data.$m_Bewerbung.Kopf.Id\"\r\n }],\r\n \"filters\": [],\r\n \"caption\": \"bewerbung-lehre-edit.r_schnupperberufgeschaeftspartner2_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Bewerbung\",\r\n \"bindTo\": \"Kopf.IdSchnupperberufGeschaeftspartner2\",\r\n \"bindToFQ\": \"models.data.$m_Bewerbung.Kopf.IdSchnupperberufGeschaeftspartner2\",\r\n \"propertyPrefix\": \"Kopf\"\r\n },\r\n \"validationRules\": [{\r\n \"item\": {\r\n \"type\": \"conditionalRequired\",\r\n \"parameters\": [{\r\n \"name\": \"condition\",\r\n \"value\": \"models.data.$m_Bewerbung.Kopf && models.data.$m_Bewerbung.Kopf._IsSchnupperberufGeschaeftspartner2Pflicht\"\r\n }]\r\n }\r\n }],\r\n \"id\": \"r_schnupperberufGeschaeftspartner2\",\r\n \"options\": {\r\n \"optionsName\": \"r_schnupperberufGeschaeftspartner2Options\",\r\n \"optionsNameFQ\": \"r_schnupperberufGeschaeftspartner2Options\"\r\n }\r\n });\r\n this.widgetCreator.addSelectBox(this, {\r\n \"idSelect\": \"ausbildung\",\r\n \"customs\": [{\r\n \"key\": \"IdBewerbungKopfElement\",\r\n \"value\": \"models.data.$m_Bewerbung.Kopf.Id\"\r\n }],\r\n \"filters\": [],\r\n \"caption\": \"bewerbung-lehre-edit.r_ausbildung_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Bewerbung\",\r\n \"bindTo\": \"Kopf.IdAusbildung\",\r\n \"bindToFQ\": \"models.data.$m_Bewerbung.Kopf.IdAusbildung\",\r\n \"propertyPrefix\": \"Kopf\"\r\n },\r\n \"validationRules\": [{\r\n \"item\": {\r\n \"type\": \"conditionalRequired\",\r\n \"parameters\": [{\r\n \"name\": \"condition\",\r\n \"value\": \"models.data.$m_Bewerbung.Kopf && models.data.$m_Bewerbung.Kopf._IsAusbildungPflicht\"\r\n }]\r\n }\r\n }],\r\n \"id\": \"r_ausbildung\",\r\n \"options\": {\r\n \"optionsName\": \"r_ausbildungOptions\",\r\n \"optionsNameFQ\": \"r_ausbildungOptions\"\r\n }\r\n });\r\n this.widgetCreator.addTextArea(this, {\r\n \"height\": \"100px\",\r\n \"caption\": \"bewerbung-lehre-edit.r_bemerkung_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Bewerbung\",\r\n \"bindTo\": \"Kopf.Bemerkung\",\r\n \"bindToFQ\": \"models.data.$m_Bewerbung.Kopf.Bemerkung\",\r\n \"propertyPrefix\": \"Kopf\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_bemerkung\",\r\n \"options\": {\r\n \"optionsName\": \"r_bemerkungOptions\",\r\n \"optionsNameFQ\": \"r_bemerkungOptions\"\r\n }\r\n });\r\n this.widgetCreator.addSelectBox(this, {\r\n \"idSelect\": \"stelleninseratKlasse\",\r\n \"filter\": [\"StelleninseratKopfElement.IdStelleninserat\", {\r\n \"isBound\": true,\r\n \"expression\": \"models.data.$m_Bewerbung.Kopf.IdStelleninserat\"\r\n }],\r\n \"filters\": [],\r\n \"caption\": \"bewerbung-lehre-edit.r_klasse_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Bewerbung\",\r\n \"bindTo\": \"Kopf.IdStelleninseratKlasse\",\r\n \"bindToFQ\": \"models.data.$m_Bewerbung.Kopf.IdStelleninseratKlasse\",\r\n \"propertyPrefix\": \"Kopf\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_klasse\",\r\n \"options\": {\r\n \"optionsName\": \"r_klasseOptions\",\r\n \"optionsNameFQ\": \"r_klasseOptions\"\r\n }\r\n });\r\n this.widgetCreator.addCheckBox(this, {\r\n \"caption\": \"bewerbung-lehre-edit.r_isbewerbungschnuppertermin_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Bewerbung\",\r\n \"bindTo\": \"Kopf.IsBewerbungSchnuppertermin\",\r\n \"bindToFQ\": \"models.data.$m_Bewerbung.Kopf.IsBewerbungSchnuppertermin\",\r\n \"propertyPrefix\": \"Kopf\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_isBewerbungSchnuppertermin\",\r\n \"options\": {\r\n \"optionsName\": \"r_isBewerbungSchnupperterminOptions\",\r\n \"optionsNameFQ\": \"r_isBewerbungSchnupperterminOptions\"\r\n }\r\n });\r\n this.widgetCreator.addCheckBox(this, {\r\n \"caption\": \"bewerbung-lehre-edit.r_isbewerbunglehrstelle_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Bewerbung\",\r\n \"bindTo\": \"Kopf.IsBewerbungLehrstelle\",\r\n \"bindToFQ\": \"models.data.$m_Bewerbung.Kopf.IsBewerbungLehrstelle\",\r\n \"propertyPrefix\": \"Kopf\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_isBewerbungLehrstelle\",\r\n \"options\": {\r\n \"optionsName\": \"r_isBewerbungLehrstelleOptions\",\r\n \"optionsNameFQ\": \"r_isBewerbungLehrstelleOptions\"\r\n }\r\n });\r\n this.widgetCreator.addCheckBox(this, {\r\n \"caption\": \"bewerbung-lehre-edit.r_hideintrefferliste_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Bewerbung\",\r\n \"bindTo\": \"HideInTrefferliste\",\r\n \"bindToFQ\": \"models.data.$m_Bewerbung.HideInTrefferliste\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_hideInTrefferliste\",\r\n \"options\": {\r\n \"optionsName\": \"r_hideInTrefferlisteOptions\",\r\n \"optionsNameFQ\": \"r_hideInTrefferlisteOptions\"\r\n }\r\n });\r\n super.onConstructionFinished();\r\n }\r\n}","module.exports = \"\";","import * as fwx from \"../../../../framework/forms/form-export\";\r\nimport {\r\n BewerbungEditUtils\r\n} from \"./bewerbung-edit-utils\";\r\n\r\n@fwx.autoinject\r\nexport class BewerbungLehreErsteinstiegEditForm extends fwx.FormBase {\r\n constructor(\r\n element: Element,\r\n formBaseImport: fwx.FormBaseImport,\r\n private $f_BewerbungEditUtils: BewerbungEditUtils) {\r\n super(element, formBaseImport);\r\n this.id = \"bewerbung-lehre-ersteinstieg-edit\";\r\n this.title = \"bewerbung-lehre-ersteinstieg-edit.bewerbung-lehre-ersteinstieg-edit_caption\";\r\n this.addModel({\r\n \"id\": \"$m_Bewerbung\",\r\n \"webApiAction\": \"ZIT/Objekte/Bewerbung\",\r\n \"webApiExpand\": {\r\n 'Kopf': {\r\n 'expand': {\r\n 'Stelleninserat': {\r\n 'expand': {\r\n 'Kopf': {\r\n 'expand': {\r\n 'Ansprechperson': null,\r\n 'Lehrberuf': null,\r\n 'Geschaeftspartner': {\r\n 'expand': {\r\n 'Geschaeftspartnerdaten': null,\r\n 'ProfilFirma': {\r\n 'expand': {\r\n 'Profil': null\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n },\r\n 'Person': {\r\n 'expand': {\r\n 'Personendaten': null\r\n }\r\n },\r\n 'Bewerbungsgrund': null,\r\n 'Bewerbungskanal': null,\r\n }\r\n }\r\n },\r\n \"modificationInfoEnabled\": true,\r\n \"key\": \"variables.data.$id\",\r\n \"keyProperty\": \"Id\",\r\n \"postOnSave\": true,\r\n \"filters\": [{\r\n \"webApiCustomKey\": \"BewerbungInfo\",\r\n \"webApiCustomValue\": \"true\"\r\n }, {\r\n \"webApiCustomKey\": \"StelleninseratInfo\",\r\n \"webApiCustomValue\": \"true\"\r\n }, {\r\n \"webApiCustomKey\": \"AddBewerberSchnuppertermine\",\r\n \"webApiCustomValue\": \"true\"\r\n }]\r\n });\r\n this.addModel({\r\n \"id\": \"$m_Person\",\r\n \"webApiAction\": \"ZIT/Objekte/Person\",\r\n \"modificationInfoEnabled\": true,\r\n \"key\": \"models.data.$m_Bewerbung.Kopf.IdPerson\",\r\n \"keyProperty\": \"Id\",\r\n \"filters\": []\r\n });\r\n this.addModel({\r\n \"id\": \"$m_DokumentRel\",\r\n \"webApiAction\": \"ZIT/Objekte/DokumentElement\",\r\n \"webApiExpand\": {\r\n 'Informationstyp': null\r\n },\r\n \"webApiWhere\": [\"IdStelleninserat\", {\r\n \"isBound\": true,\r\n \"expression\": \"models.data.$m_Bewerbung.Kopf.IdStelleninserat\"\r\n }],\r\n \"keyProperty\": \"Id\",\r\n \"filters\": []\r\n });\r\n this.addModel({\r\n \"id\": \"$m_DokumentEdit\",\r\n \"webApiAction\": \"ZIT/Objekte/DokumentElement\",\r\n \"keyProperty\": \"Id\",\r\n \"filters\": []\r\n });\r\n this.addModel({\r\n \"id\": \"$m_Geschaeftspartner\",\r\n \"webApiAction\": \"ZIT/Objekte/Geschaeftspartner\",\r\n \"webApiWhere\": [],\r\n \"modificationInfoEnabled\": true,\r\n \"key\": \"models.data.$m_Bewerbung.Kopf.Stelleninserat.Kopf.IdGeschaeftspartner\",\r\n \"keyProperty\": \"Id\",\r\n \"filters\": [{\r\n \"webApiCustomKey\": \"standardAddress\",\r\n \"webApiCustomValue\": \"true\"\r\n }]\r\n });\r\n this.addCommand({\r\n \"binding\": {\r\n \"bindTo\": \"$f_BewerbungEditUtils.actionCommand\",\r\n \"bindToFQ\": \"functions.$f_BewerbungEditUtils.actionCommand\"\r\n }\r\n });\r\n this.addFunction(\"$f_BewerbungEditUtils\", $f_BewerbungEditUtils, \"functions.$f_BewerbungEditUtils\");\r\n this.widgetCreator.addValidationGroup(this, {\r\n \"id\": \"wd1\",\r\n \"options\": {\r\n \"optionsName\": \"wd1Options\",\r\n \"optionsNameFQ\": \"wd1Options\"\r\n }\r\n });\r\n this.widgetCreator.addTextBox(this, {\r\n \"maxLength\": 100,\r\n \"caption\": \"bewerbung-lehre-ersteinstieg-edit.r_taetigkeit_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Bewerbung\",\r\n \"bindTo\": \"Kopf.Taetigkeit\",\r\n \"bindToFQ\": \"models.data.$m_Bewerbung.Kopf.Taetigkeit\",\r\n \"propertyPrefix\": \"Kopf\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_taetigkeit\",\r\n \"options\": {\r\n \"optionsName\": \"r_taetigkeitOptions\",\r\n \"optionsNameFQ\": \"r_taetigkeitOptions\"\r\n }\r\n });\r\n this.widgetCreator.addSelectBox(this, {\r\n \"idSelect\": \"bewerbungsgrund\",\r\n \"filters\": [],\r\n \"caption\": \"bewerbung-lehre-ersteinstieg-edit.r_bewerbungsgrund_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Bewerbung\",\r\n \"bindTo\": \"Kopf.IdBewerbungsgrund\",\r\n \"bindToFQ\": \"models.data.$m_Bewerbung.Kopf.IdBewerbungsgrund\",\r\n \"propertyPrefix\": \"Kopf\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_bewerbungsgrund\",\r\n \"options\": {\r\n \"optionsName\": \"r_bewerbungsgrundOptions\",\r\n \"optionsNameFQ\": \"r_bewerbungsgrundOptions\"\r\n }\r\n });\r\n this.widgetCreator.addDateBox(this, {\r\n \"format\": \"d\",\r\n \"caption\": \"bewerbung-lehre-ersteinstieg-edit.r_bewerbungsdatum_caption\",\r\n \"isReadOnlyExpression\": \"models.data.$m_Bewerbung.Kopf.Id > 0\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Bewerbung\",\r\n \"bindTo\": \"Kopf.Bewerbungsdatum\",\r\n \"bindToFQ\": \"models.data.$m_Bewerbung.Kopf.Bewerbungsdatum\",\r\n \"propertyPrefix\": \"Kopf\"\r\n },\r\n \"validationRules\": [{\r\n \"item\": {\r\n \"type\": \"required\",\r\n \"parameters\": []\r\n }\r\n }],\r\n \"id\": \"r_bewerbungsdatum\",\r\n \"options\": {\r\n \"optionsName\": \"r_bewerbungsdatumOptions\",\r\n \"optionsNameFQ\": \"r_bewerbungsdatumOptions\"\r\n }\r\n });\r\n this.widgetCreator.addSelectBox(this, {\r\n \"idSelect\": \"stelleninseratKlasse\",\r\n \"filter\": [\"StelleninseratKopfElement.IdStelleninserat\", {\r\n \"isBound\": true,\r\n \"expression\": \"models.data.$m_Bewerbung.Kopf.IdStelleninserat\"\r\n }],\r\n \"filters\": [],\r\n \"caption\": \"bewerbung-lehre-ersteinstieg-edit.r_klasse_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Bewerbung\",\r\n \"bindTo\": \"Kopf.IdStelleninseratKlasse\",\r\n \"bindToFQ\": \"models.data.$m_Bewerbung.Kopf.IdStelleninseratKlasse\",\r\n \"propertyPrefix\": \"Kopf\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_klasse\",\r\n \"options\": {\r\n \"optionsName\": \"r_klasseOptions\",\r\n \"optionsNameFQ\": \"r_klasseOptions\"\r\n }\r\n });\r\n this.widgetCreator.addCheckBox(this, {\r\n \"caption\": \"bewerbung-lehre-ersteinstieg-edit.r_isbewerbungschnuppertermin_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Bewerbung\",\r\n \"bindTo\": \"Kopf.IsBewerbungSchnuppertermin\",\r\n \"bindToFQ\": \"models.data.$m_Bewerbung.Kopf.IsBewerbungSchnuppertermin\",\r\n \"propertyPrefix\": \"Kopf\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_isBewerbungSchnuppertermin\",\r\n \"options\": {\r\n \"optionsName\": \"r_isBewerbungSchnupperterminOptions\",\r\n \"optionsNameFQ\": \"r_isBewerbungSchnupperterminOptions\"\r\n }\r\n });\r\n this.widgetCreator.addCheckBox(this, {\r\n \"caption\": \"bewerbung-lehre-ersteinstieg-edit.r_isbewerbunglehrstelle_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Bewerbung\",\r\n \"bindTo\": \"Kopf.IsBewerbungLehrstelle\",\r\n \"bindToFQ\": \"models.data.$m_Bewerbung.Kopf.IsBewerbungLehrstelle\",\r\n \"propertyPrefix\": \"Kopf\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_isBewerbungLehrstelle\",\r\n \"options\": {\r\n \"optionsName\": \"r_isBewerbungLehrstelleOptions\",\r\n \"optionsNameFQ\": \"r_isBewerbungLehrstelleOptions\"\r\n }\r\n });\r\n this.widgetCreator.addPopup(this, {\r\n \"id\": \"r_bewerbungAbgeschlossenPopup\",\r\n \"options\": {\r\n \"optionsName\": \"r_bewerbungAbgeschlossenPopupOptions\",\r\n \"optionsNameFQ\": \"r_bewerbungAbgeschlossenPopupOptions\"\r\n },\r\n \"caption\": \"bewerbung-lehre-ersteinstieg-edit.r_bewerbungabgeschlossenpopup_caption\",\r\n \"height\": \"auto\",\r\n \"width\": \"450px\",\r\n \"showCloseButton\": false,\r\n \"commands\": [{\r\n \"binding\": {\r\n \"bindTo\": \"$f_BewerbungEditUtils.abschliessenCommand\",\r\n \"bindToFQ\": \"functions.$f_BewerbungEditUtils.abschliessenCommand\"\r\n }\r\n }]\r\n });\r\n super.onConstructionFinished();\r\n }\r\n}","module.exports = \"\";","import * as fwx from \"../../../../framework/forms/form-export\";\r\nimport {\r\n BewerbungEditUtils\r\n} from \"./bewerbung-edit-utils\";\r\n\r\n@fwx.autoinject\r\nexport class BewerbungLehreErweiterungEditForm extends fwx.FormBase {\r\n constructor(\r\n element: Element,\r\n formBaseImport: fwx.FormBaseImport,\r\n private $f_BewerbungEditUtils: BewerbungEditUtils) {\r\n super(element, formBaseImport);\r\n this.id = \"bewerbung-lehre-erweitert-edit\";\r\n this.title = \"bewerbung-lehre-erweitert-edit.bewerbung-lehre-erweitert-edit_caption\";\r\n this.addModel({\r\n \"id\": \"$m_Bewerbung\",\r\n \"webApiAction\": \"ZIT/Objekte/Bewerbung\",\r\n \"webApiExpand\": {\r\n 'Kopf': {\r\n 'expand': {\r\n 'Stelleninserat': {\r\n 'columns': [\r\n 'Id',\r\n 'IdStelleninseratKopfElement'\r\n ],\r\n 'expand': {\r\n 'Kopf': {\r\n 'expand': {\r\n 'Geschaeftspartner': {\r\n 'expand': {\r\n 'Geschaeftspartnerdaten': null\r\n }\r\n }\r\n }\r\n }\r\n }\r\n },\r\n 'Person': {\r\n 'expand': {\r\n 'Personendaten': {\r\n 'expand': {\r\n 'Nationalitaet': null,\r\n 'Schuhgroesse': null,\r\n 'Kleidergroesse': null,\r\n 'Familienstand': null\r\n }\r\n },\r\n 'Adressen': {\r\n 'expand': {\r\n 'Land': null\r\n },\r\n 'where': [\r\n [\r\n [\r\n 'GueltigVon',\r\n '<=',\r\n '@Today()'\r\n ],\r\n 'or',\r\n [\r\n 'GueltigVon',\r\n '=',\r\n 'null'\r\n ]\r\n ],\r\n [\r\n [\r\n 'GueltigBis',\r\n '>=',\r\n '@Today()'\r\n ],\r\n 'or',\r\n [\r\n 'GueltigBis',\r\n '=',\r\n 'null'\r\n ]\r\n ]\r\n ]\r\n },\r\n 'Kontakte': {\r\n 'expand': {\r\n 'Kontakttyp': null\r\n }\r\n },\r\n 'Sprache': {\r\n 'expand': {\r\n 'Sprachen': {\r\n 'expand': {\r\n 'Sprachniveau': null,\r\n 'Sprache': null\r\n }\r\n }\r\n }\r\n },\r\n 'Berufserfahrungen': {\r\n 'expand': {\r\n 'Berufserfahrungen': null\r\n }\r\n },\r\n 'GeschaeftspartnerEinsaetze': {\r\n 'expand': {\r\n 'Geschaeftspartner': null\r\n }\r\n },\r\n 'Skills': {\r\n 'expand': {\r\n 'Skill': null\r\n }\r\n },\r\n 'Berufe': {\r\n 'expand': {\r\n 'Berufe': {\r\n 'expand': {\r\n 'Beruf': null\r\n }\r\n },\r\n 'AusbildungAbschluss': null,\r\n 'BerufQualifikation': null\r\n }\r\n },\r\n 'Fuehrerschein': {\r\n 'expand': {\r\n 'Fuehrerscheine': {\r\n 'expand': {\r\n 'Fuehrerscheinklasse': null\r\n }\r\n }\r\n }\r\n },\r\n 'Ausbildung': {\r\n 'expand': {\r\n 'Ausbildungen': {\r\n 'expand': {\r\n 'Ausbildung': null,\r\n 'AusbildungAbschluss': null\r\n }\r\n }\r\n }\r\n }\r\n }\r\n },\r\n 'Bewerbungsgrund': null,\r\n 'Bewerbungskanal': null,\r\n }\r\n }\r\n },\r\n \"modificationInfoEnabled\": true,\r\n \"key\": \"variables.data.$id\",\r\n \"keyProperty\": \"Id\",\r\n \"postOnSave\": true,\r\n \"filters\": [{\r\n \"webApiCustomKey\": \"BewerbungInfo\",\r\n \"webApiCustomValue\": \"true\"\r\n }, {\r\n \"webApiCustomKey\": \"StelleninseratInfo\",\r\n \"webApiCustomValue\": \"true\"\r\n }, {\r\n \"webApiCustomKey\": \"AddStelleninseratCard\",\r\n \"webApiCustomValue\": \"true\"\r\n }, {\r\n \"webApiCustomKey\": \"AddBewerberSchnuppertermine\",\r\n \"webApiCustomValue\": \"true\"\r\n }, {\r\n \"webApiCustomKey\": \"AddPersonCard\",\r\n \"webApiCustomValue\": \"true\"\r\n }, {\r\n \"webApiCustomKey\": \"CanBenutzeraccountAktivieren\",\r\n \"webApiCustomValue\": \"true\"\r\n }, {\r\n \"webApiCustomKey\": \"AddBenachrichtigungsart\",\r\n \"webApiCustomValue\": \"true\"\r\n }]\r\n });\r\n this.addModel({\r\n \"id\": \"$m_Person\",\r\n \"webApiAction\": \"ZIT/Objekte/Person\",\r\n \"modificationInfoEnabled\": true,\r\n \"key\": \"models.data.$m_Bewerbung.Kopf.IdPerson\",\r\n \"keyProperty\": \"Id\",\r\n \"filters\": []\r\n });\r\n this.addModel({\r\n \"id\": \"$m_DokumentRel\",\r\n \"webApiAction\": \"ZIT/Objekte/DokumentElement\",\r\n \"webApiExpand\": {\r\n 'Informationstyp': null\r\n },\r\n \"webApiWhere\": [\"IdStelleninserat\", {\r\n \"isBound\": true,\r\n \"expression\": \"models.data.$m_Bewerbung.Kopf.IdStelleninserat\"\r\n }],\r\n \"keyProperty\": \"Id\",\r\n \"filters\": []\r\n });\r\n this.addModel({\r\n \"id\": \"$m_DokumentEdit\",\r\n \"webApiAction\": \"ZIT/Objekte/DokumentElement\",\r\n \"keyProperty\": \"Id\",\r\n \"filters\": []\r\n });\r\n this.addCommand({\r\n \"binding\": {\r\n \"bindTo\": \"$f_BewerbungEditUtils.actionCommand\",\r\n \"bindToFQ\": \"functions.$f_BewerbungEditUtils.actionCommand\"\r\n }\r\n });\r\n this.addCommand({\r\n \"binding\": {\r\n \"bindTo\": \"$f_BewerbungEditUtils.statusAendernPopupCommand\",\r\n \"bindToFQ\": \"functions.$f_BewerbungEditUtils.statusAendernPopupCommand\"\r\n }\r\n });\r\n this.addFunction(\"$f_BewerbungEditUtils\", $f_BewerbungEditUtils, \"functions.$f_BewerbungEditUtils\");\r\n this.widgetCreator.addValidationGroup(this, {\r\n \"id\": \"wd1\",\r\n \"options\": {\r\n \"optionsName\": \"wd1Options\",\r\n \"optionsNameFQ\": \"wd1Options\"\r\n }\r\n });\r\n this.widgetCreator.addLookup(this, {\r\n \"idSelect\": \"person\",\r\n \"filters\": [],\r\n \"caption\": \"bewerbung-lehre-erweitert-edit.r_bewerbungperson_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Bewerbung\",\r\n \"bindTo\": \"Kopf.IdPerson\",\r\n \"bindToFQ\": \"models.data.$m_Bewerbung.Kopf.IdPerson\",\r\n \"propertyPrefix\": \"Kopf\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_bewerbungPerson\",\r\n \"options\": {\r\n \"optionsName\": \"r_bewerbungPersonOptions\",\r\n \"optionsNameFQ\": \"r_bewerbungPersonOptions\"\r\n }\r\n });\r\n this.widgetCreator.addLookup(this, {\r\n \"idSelect\": \"stelleninserat\",\r\n \"filters\": [],\r\n \"caption\": \"bewerbung-lehre-erweitert-edit.r_bewerbungstelleninserat_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Bewerbung\",\r\n \"bindTo\": \"Kopf.IdStelleninserat\",\r\n \"bindToFQ\": \"models.data.$m_Bewerbung.Kopf.IdStelleninserat\",\r\n \"propertyPrefix\": \"Kopf\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_bewerbungStelleninserat\",\r\n \"options\": {\r\n \"optionsName\": \"r_bewerbungStelleninseratOptions\",\r\n \"optionsNameFQ\": \"r_bewerbungStelleninseratOptions\"\r\n }\r\n });\r\n this.widgetCreator.addTextBox(this, {\r\n \"maxLength\": 100,\r\n \"caption\": \"bewerbung-lehre-erweitert-edit.r_taetigkeit_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Bewerbung\",\r\n \"bindTo\": \"Kopf.Taetigkeit\",\r\n \"bindToFQ\": \"models.data.$m_Bewerbung.Kopf.Taetigkeit\",\r\n \"propertyPrefix\": \"Kopf\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_taetigkeit\",\r\n \"options\": {\r\n \"optionsName\": \"r_taetigkeitOptions\",\r\n \"optionsNameFQ\": \"r_taetigkeitOptions\"\r\n }\r\n });\r\n this.widgetCreator.addSelectBox(this, {\r\n \"idSelect\": \"bewerbungsgrund\",\r\n \"filters\": [],\r\n \"caption\": \"bewerbung-lehre-erweitert-edit.r_bewerbungsgrund_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Bewerbung\",\r\n \"bindTo\": \"Kopf.IdBewerbungsgrund\",\r\n \"bindToFQ\": \"models.data.$m_Bewerbung.Kopf.IdBewerbungsgrund\",\r\n \"propertyPrefix\": \"Kopf\"\r\n },\r\n \"validationRules\": [{\r\n \"binding\": {\r\n \"dataContext\": \"$m_Bewerbung\",\r\n \"bindTo\": \"$f_BewerbungEditUtils.requiredValidationRule\",\r\n \"bindToFQ\": \"functions.$f_BewerbungEditUtils.requiredValidationRule\"\r\n }\r\n }],\r\n \"id\": \"r_bewerbungsgrund\",\r\n \"options\": {\r\n \"optionsName\": \"r_bewerbungsgrundOptions\",\r\n \"optionsNameFQ\": \"r_bewerbungsgrundOptions\"\r\n }\r\n });\r\n this.widgetCreator.addDateBox(this, {\r\n \"format\": \"d\",\r\n \"caption\": \"bewerbung-lehre-erweitert-edit.r_bewerbungsdatum_caption\",\r\n \"isReadOnlyExpression\": \"models.data.$m_Bewerbung.Kopf.Id > 0\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Bewerbung\",\r\n \"bindTo\": \"Kopf.Bewerbungsdatum\",\r\n \"bindToFQ\": \"models.data.$m_Bewerbung.Kopf.Bewerbungsdatum\",\r\n \"propertyPrefix\": \"Kopf\"\r\n },\r\n \"validationRules\": [{\r\n \"item\": {\r\n \"type\": \"required\",\r\n \"parameters\": []\r\n }\r\n }],\r\n \"id\": \"r_bewerbungsdatum\",\r\n \"options\": {\r\n \"optionsName\": \"r_bewerbungsdatumOptions\",\r\n \"optionsNameFQ\": \"r_bewerbungsdatumOptions\"\r\n }\r\n });\r\n this.widgetCreator.addTextBox(this, {\r\n \"maxLength\": 200,\r\n \"caption\": \"bewerbung-lehre-erweitert-edit.r_wunschtermin_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Bewerbung\",\r\n \"bindTo\": \"Kopf.Wunschtermin\",\r\n \"bindToFQ\": \"models.data.$m_Bewerbung.Kopf.Wunschtermin\",\r\n \"propertyPrefix\": \"Kopf\"\r\n },\r\n \"validationRules\": [{\r\n \"item\": {\r\n \"type\": \"conditionalRequired\",\r\n \"parameters\": [{\r\n \"name\": \"condition\",\r\n \"value\": \"models.data.$m_Bewerbung.Kopf && models.data.$m_Bewerbung.Kopf._IsWunschterminPflicht\"\r\n }]\r\n }\r\n }],\r\n \"id\": \"r_wunschtermin\",\r\n \"options\": {\r\n \"optionsName\": \"r_wunschterminOptions\",\r\n \"optionsNameFQ\": \"r_wunschterminOptions\"\r\n }\r\n });\r\n this.widgetCreator.addSelectBox(this, {\r\n \"idSelect\": \"schnupperberufGeschaeftspartner\",\r\n \"customs\": [{\r\n \"key\": \"IdBewerbungKopfElement\",\r\n \"value\": \"models.data.$m_Bewerbung.Kopf.Id\"\r\n }],\r\n \"filters\": [],\r\n \"caption\": \"bewerbung-lehre-erweitert-edit.r_schnupperberufgeschaeftspartner1_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Bewerbung\",\r\n \"bindTo\": \"Kopf.IdSchnupperberufGeschaeftspartner1\",\r\n \"bindToFQ\": \"models.data.$m_Bewerbung.Kopf.IdSchnupperberufGeschaeftspartner1\",\r\n \"propertyPrefix\": \"Kopf\"\r\n },\r\n \"validationRules\": [{\r\n \"item\": {\r\n \"type\": \"conditionalRequired\",\r\n \"parameters\": [{\r\n \"name\": \"condition\",\r\n \"value\": \"models.data.$m_Bewerbung.Kopf && models.data.$m_Bewerbung.Kopf._IsSchnupperberufGeschaeftspartner1Pflicht\"\r\n }]\r\n }\r\n }],\r\n \"id\": \"r_schnupperberufGeschaeftspartner1\",\r\n \"options\": {\r\n \"optionsName\": \"r_schnupperberufGeschaeftspartner1Options\",\r\n \"optionsNameFQ\": \"r_schnupperberufGeschaeftspartner1Options\"\r\n }\r\n });\r\n this.widgetCreator.addSelectBox(this, {\r\n \"idSelect\": \"schnupperberufGeschaeftspartner\",\r\n \"customs\": [{\r\n \"key\": \"IdBewerbungKopfElement\",\r\n \"value\": \"models.data.$m_Bewerbung.Kopf.Id\"\r\n }],\r\n \"filters\": [],\r\n \"caption\": \"bewerbung-lehre-erweitert-edit.r_schnupperberufgeschaeftspartner2_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Bewerbung\",\r\n \"bindTo\": \"Kopf.IdSchnupperberufGeschaeftspartner2\",\r\n \"bindToFQ\": \"models.data.$m_Bewerbung.Kopf.IdSchnupperberufGeschaeftspartner2\",\r\n \"propertyPrefix\": \"Kopf\"\r\n },\r\n \"validationRules\": [{\r\n \"item\": {\r\n \"type\": \"conditionalRequired\",\r\n \"parameters\": [{\r\n \"name\": \"condition\",\r\n \"value\": \"models.data.$m_Bewerbung.Kopf && models.data.$m_Bewerbung.Kopf._IsSchnupperberufGeschaeftspartner2Pflicht\"\r\n }]\r\n }\r\n }],\r\n \"id\": \"r_schnupperberufGeschaeftspartner2\",\r\n \"options\": {\r\n \"optionsName\": \"r_schnupperberufGeschaeftspartner2Options\",\r\n \"optionsNameFQ\": \"r_schnupperberufGeschaeftspartner2Options\"\r\n }\r\n });\r\n this.widgetCreator.addSelectBox(this, {\r\n \"idSelect\": \"ausbildung\",\r\n \"customs\": [{\r\n \"key\": \"IdBewerbungKopfElement\",\r\n \"value\": \"models.data.$m_Bewerbung.Kopf.Id\"\r\n }],\r\n \"filters\": [],\r\n \"caption\": \"bewerbung-lehre-erweitert-edit.r_ausbildung_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Bewerbung\",\r\n \"bindTo\": \"Kopf.IdAusbildung\",\r\n \"bindToFQ\": \"models.data.$m_Bewerbung.Kopf.IdAusbildung\",\r\n \"propertyPrefix\": \"Kopf\"\r\n },\r\n \"validationRules\": [{\r\n \"item\": {\r\n \"type\": \"conditionalRequired\",\r\n \"parameters\": [{\r\n \"name\": \"condition\",\r\n \"value\": \"models.data.$m_Bewerbung.Kopf && models.data.$m_Bewerbung.Kopf._IsAusbildungPflicht\"\r\n }]\r\n }\r\n }],\r\n \"id\": \"r_ausbildung\",\r\n \"options\": {\r\n \"optionsName\": \"r_ausbildungOptions\",\r\n \"optionsNameFQ\": \"r_ausbildungOptions\"\r\n }\r\n });\r\n this.widgetCreator.addTextArea(this, {\r\n \"height\": \"100px\",\r\n \"caption\": \"bewerbung-lehre-erweitert-edit.r_bemerkung_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Bewerbung\",\r\n \"bindTo\": \"Kopf.Bemerkung\",\r\n \"bindToFQ\": \"models.data.$m_Bewerbung.Kopf.Bemerkung\",\r\n \"propertyPrefix\": \"Kopf\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_bemerkung\",\r\n \"options\": {\r\n \"optionsName\": \"r_bemerkungOptions\",\r\n \"optionsNameFQ\": \"r_bemerkungOptions\"\r\n }\r\n });\r\n this.widgetCreator.addSelectBox(this, {\r\n \"idSelect\": \"stelleninseratKlasse\",\r\n \"filter\": [\"StelleninseratKopfElement.IdStelleninserat\", {\r\n \"isBound\": true,\r\n \"expression\": \"models.data.$m_Bewerbung.Kopf.IdStelleninserat\"\r\n }],\r\n \"filters\": [],\r\n \"caption\": \"bewerbung-lehre-erweitert-edit.r_klasse_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Bewerbung\",\r\n \"bindTo\": \"Kopf.IdStelleninseratKlasse\",\r\n \"bindToFQ\": \"models.data.$m_Bewerbung.Kopf.IdStelleninseratKlasse\",\r\n \"propertyPrefix\": \"Kopf\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_klasse\",\r\n \"options\": {\r\n \"optionsName\": \"r_klasseOptions\",\r\n \"optionsNameFQ\": \"r_klasseOptions\"\r\n }\r\n });\r\n super.onConstructionFinished();\r\n }\r\n}","module.exports = \"\";","import * as fwx from \"../../../../framework/forms/form-export\";\r\n\r\n@fwx.autoinject\r\nexport class BewerbungListForm extends fwx.FormBase {\r\n constructor(\r\n element: Element,\r\n formBaseImport: fwx.FormBaseImport) {\r\n super(element, formBaseImport);\r\n this.id = \"bewerbung-list\";\r\n this.title = \"bewerbung-list.bewerbung-list_caption\";\r\n this.addModel({\r\n \"id\": \"$m_Bewerbung\",\r\n \"webApiAction\": \"ZIT/Objekte/Bewerbung\",\r\n \"webApiExpand\": {\r\n Kopf: {\r\n expand: {\r\n Stelleninserat: {\r\n expand: {\r\n Kopf: null\r\n }\r\n },\r\n Person: {\r\n expand: {\r\n Personendaten: null\r\n }\r\n }\r\n }\r\n }\r\n },\r\n \"modificationInfoEnabled\": true,\r\n \"keyProperty\": \"Id\",\r\n \"filters\": []\r\n });\r\n this.widgetCreator.addValidationGroup(this, {\r\n \"id\": \"wd1\",\r\n \"options\": {\r\n \"optionsName\": \"wd1Options\",\r\n \"optionsNameFQ\": \"wd1Options\"\r\n }\r\n });\r\n this.widgetCreator.addDataGrid(this, {\r\n \"columns\": [{\r\n \"id\": \"r_bewerbungPersonName\",\r\n \"caption\": \"bewerbung-list.r_bewerbungpersonname_caption\",\r\n \"bindTo\": \"Kopf.Person.Personendaten.Name\"\r\n }, {\r\n \"id\": \"r_bewerbungStellenbezeichnung\",\r\n \"caption\": \"bewerbung-list.r_bewerbungstellenbezeichnung_caption\",\r\n \"bindTo\": \"Kopf.Stelleninserat.Kopf.StellenbezeichnungExtern\"\r\n }],\r\n \"optionsToolbar\": {\r\n \"optionsName\": \"r_bewerbungGridToolbarOptions\",\r\n \"optionsNameFQ\": \"r_bewerbungGridToolbarOptions\"\r\n },\r\n \"binding\": {\r\n \"dataContext\": \"$m_Bewerbung\"\r\n },\r\n \"dataModel\": \"$m_Bewerbung\",\r\n \"editUrl\": \"Objekte/Bewerbung\",\r\n \"addShortscuts\": true,\r\n \"isMainList\": true,\r\n \"height\": \"100%\",\r\n \"listEdits\": [],\r\n \"filters\": [],\r\n \"commands\": [],\r\n \"id\": \"r_bewerbungGrid\",\r\n \"options\": {\r\n \"optionsName\": \"r_bewerbungGridOptions\",\r\n \"optionsNameFQ\": \"r_bewerbungGridOptions\"\r\n }\r\n });\r\n super.onConstructionFinished();\r\n }\r\n}","module.exports = \"\";","import * as fwx from \"../../../../framework/forms/form-export\";\r\nimport {\r\n BewerbungReadUtils\r\n} from \"./bewerbung-read-utils\";\r\n\r\n@fwx.autoinject\r\nexport class BewerbungReadForm extends fwx.FormBase {\r\n constructor(\r\n element: Element,\r\n formBaseImport: fwx.FormBaseImport,\r\n private $f_BewerbungReadUtils: BewerbungReadUtils) {\r\n super(element, formBaseImport);\r\n this.id = \"bewerbung-read\";\r\n this.title = \"bewerbung-read.bewerbung-read_caption\";\r\n this.addModel({\r\n \"id\": \"$m_Bewerbung\",\r\n \"webApiAction\": \"ZIT/Objekte/Bewerbung\",\r\n \"webApiExpand\": {\r\n 'Kopf': {\r\n 'expand': {\r\n 'Person': {\r\n 'column': [\r\n 'Id'\r\n ]\r\n },\r\n 'Stelleninserat': {\r\n 'column': [\r\n 'Id'\r\n ]\r\n },\r\n 'Einsatzbereiche': {\r\n 'expand': {\r\n 'Einsatzbereich': null\r\n }\r\n },\r\n 'Verwandtschaftsverhaeltnis': null,\r\n 'Bewerbungsgrund': null,\r\n 'Bewerbungskanal': null\r\n }\r\n }\r\n },\r\n \"modificationInfoEnabled\": true,\r\n \"key\": \"variables.data.$id\",\r\n \"keyProperty\": \"Id\",\r\n \"filters\": [{\r\n \"webApiCustomKey\": \"BewerbungInfo\",\r\n \"webApiCustomValue\": \"true\"\r\n }, {\r\n \"webApiCustomKey\": \"StelleninseratInfo\",\r\n \"webApiCustomValue\": \"true\"\r\n }, {\r\n \"webApiCustomKey\": \"AddPersonCard\",\r\n \"webApiCustomValue\": \"true\"\r\n }, {\r\n \"webApiCustomKey\": \"AddStelleninseratCard\",\r\n \"webApiCustomValue\": \"true\"\r\n }]\r\n });\r\n this.addCommand({\r\n \"binding\": {\r\n \"bindTo\": \"$f_BewerbungReadUtils.actionCommand\",\r\n \"bindToFQ\": \"functions.$f_BewerbungReadUtils.actionCommand\"\r\n }\r\n });\r\n this.addFunction(\"$f_BewerbungReadUtils\", $f_BewerbungReadUtils, \"functions.$f_BewerbungReadUtils\");\r\n this.widgetCreator.addValidationGroup(this, {\r\n \"id\": \"wd1\",\r\n \"options\": {\r\n \"optionsName\": \"wd1Options\",\r\n \"optionsNameFQ\": \"wd1Options\"\r\n }\r\n });\r\n this.widgetCreator.addListView(this, {\r\n \"itemClass\": \"z--list-view-inline-item\",\r\n \"useDefaultListItemStyle\": false,\r\n \"optionsToolbar\": {\r\n \"optionsName\": \"r_bewerbungEinsatzbereicheListViewToolbarOptions\",\r\n \"optionsNameFQ\": \"r_bewerbungEinsatzbereicheListViewToolbarOptions\"\r\n },\r\n \"binding\": {\r\n \"bindTo\": \"$m_Bewerbung.Kopf.Einsatzbereiche\",\r\n \"bindToFQ\": \"models.data.$m_Bewerbung.Kopf.Einsatzbereiche\"\r\n },\r\n \"listEdits\": [],\r\n \"filters\": [],\r\n \"commands\": [],\r\n \"id\": \"r_bewerbungEinsatzbereicheListView\",\r\n \"options\": {\r\n \"optionsName\": \"r_bewerbungEinsatzbereicheListViewOptions\",\r\n \"optionsNameFQ\": \"r_bewerbungEinsatzbereicheListViewOptions\"\r\n }\r\n });\r\n super.onConstructionFinished();\r\n }\r\n}","module.exports = \"\";","import * as fwx from \"../../../../framework/forms/form-export\";\r\nimport {\r\n DokumentEditUtils\r\n} from \"./dokument-edit-utils\";\r\n\r\n@fwx.autoinject\r\nexport class DokumentEditForm extends fwx.FormBase {\r\n constructor(\r\n element: Element,\r\n formBaseImport: fwx.FormBaseImport,\r\n private $f_DokumentUtils: DokumentEditUtils) {\r\n super(element, formBaseImport);\r\n this.id = \"dokument-edit\";\r\n this.title = \"dokument-edit.dokument-edit_caption\";\r\n this.addModel({\r\n \"id\": \"$m_Dokument\",\r\n \"webApiAction\": \"ZIT/Objekte/DokumentElement\",\r\n \"webApiExpand\": {\r\n 'Informationstyp': null\r\n },\r\n \"key\": \"variables.data.$id\",\r\n \"keyProperty\": \"Id\",\r\n \"postOnSave\": true,\r\n \"filters\": []\r\n });\r\n this.addModel({\r\n \"id\": \"$m_InfoTyp\",\r\n \"webApiAction\": \"ZIT/Stammdaten/Informationstyp\",\r\n \"key\": \"models.data.$m_Dokument.IdInformationstyp\",\r\n \"keyProperty\": \"Id\",\r\n \"filters\": []\r\n });\r\n this.addVariable({\r\n \"id\": \"$id\"\r\n });\r\n this.addVariable({\r\n \"id\": \"$v_idStelleninserat\"\r\n });\r\n this.addVariable({\r\n \"id\": \"$v_allowTypes\"\r\n });\r\n this.addVariable({\r\n \"id\": \"$v_objektTypeFullname\"\r\n });\r\n this.addVariable({\r\n \"id\": \"$v_dmsLinkDokument\"\r\n });\r\n this.addVariable({\r\n \"id\": \"$v_dateiname\"\r\n });\r\n this.addCommand({\r\n \"binding\": {\r\n \"bindTo\": \"$f_DokumentUtils.kameraCommand\",\r\n \"bindToFQ\": \"functions.$f_DokumentUtils.kameraCommand\"\r\n }\r\n });\r\n this.addCommand({\r\n \"binding\": {\r\n \"bindTo\": \"$f_DokumentUtils.videoCommand\",\r\n \"bindToFQ\": \"functions.$f_DokumentUtils.videoCommand\"\r\n }\r\n });\r\n this.addCommand({\r\n \"binding\": {\r\n \"bindTo\": \"$f_DokumentUtils.gallerieCommand\",\r\n \"bindToFQ\": \"functions.$f_DokumentUtils.gallerieCommand\"\r\n }\r\n });\r\n this.addCommand({\r\n \"binding\": {\r\n \"bindTo\": \"$f_DokumentUtils.dateiCommand\",\r\n \"bindToFQ\": \"functions.$f_DokumentUtils.dateiCommand\"\r\n }\r\n });\r\n this.addCommand({\r\n \"binding\": {\r\n \"bindTo\": \"$f_DokumentUtils.showExtendedCommand\",\r\n \"bindToFQ\": \"functions.$f_DokumentUtils.showExtendedCommand\"\r\n }\r\n });\r\n this.addEditPopup({\r\n \"idContent\": \"dokumentVersionInformationEditPopupContent\",\r\n \"mappings\": [{\r\n \"to\": \"$id\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Dokument\",\r\n \"bindTo\": \"Id\",\r\n \"bindToFQ\": \"models.data.$m_Dokument.Id\"\r\n }\r\n }, {\r\n \"to\": \"$v_versionKey\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Dokument\",\r\n \"bindTo\": \"VersionKey\",\r\n \"bindToFQ\": \"models.data.$m_Dokument.VersionKey\"\r\n }\r\n }, {\r\n \"to\": \"$v_isReadOnly\",\r\n \"binding\": {\r\n \"bindTo\": \"false\",\r\n \"bindToFQ\": \"false\"\r\n }\r\n }],\r\n \"id\": \"dokumentVersionInformationEditPopup\",\r\n \"options\": {\r\n \"optionsName\": \"dokumentVersionInformationEditPopupOptions\",\r\n \"optionsNameFQ\": \"dokumentVersionInformationEditPopupOptions\"\r\n },\r\n \"height\": \"auto\",\r\n \"width\": \"500px\",\r\n \"commands\": []\r\n });\r\n this.addFunction(\"$f_DokumentUtils\", $f_DokumentUtils, \"functions.$f_DokumentUtils\");\r\n this.widgetCreator.addValidationGroup(this, {\r\n \"id\": \"wd1\",\r\n \"options\": {\r\n \"optionsName\": \"wd1Options\",\r\n \"optionsNameFQ\": \"wd1Options\"\r\n }\r\n });\r\n this.widgetCreator.addSelectBox(this, {\r\n \"idSelect\": \"informationstyp\",\r\n \"filters\": [{\r\n \"if\": \"variables.data.$v_objektTypeFullname\",\r\n \"webApiCustomKey\": \"ObjekttypFullname\",\r\n \"webApiCustomValue\": \"variables.data.$v_objektTypeFullname\"\r\n }, {\r\n \"if\": \"variables.data.$v_objektTypeFullname\",\r\n \"webApiCustomKey\": \"ObjekttypFullname\",\r\n \"webApiCustomValue\": \"variables.data.$v_objektTypeFullname\"\r\n }],\r\n \"caption\": \"dokument-edit.r_dokumentinformationstyp_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Dokument\",\r\n \"bindTo\": \"IdInformationstyp\",\r\n \"bindToFQ\": \"models.data.$m_Dokument.IdInformationstyp\"\r\n },\r\n \"validationRules\": [{\r\n \"item\": {\r\n \"type\": \"required\",\r\n \"parameters\": []\r\n }\r\n }],\r\n \"id\": \"r_dokumentInformationstyp\",\r\n \"options\": {\r\n \"optionsName\": \"r_dokumentInformationstypOptions\",\r\n \"optionsNameFQ\": \"r_dokumentInformationstypOptions\"\r\n }\r\n });\r\n this.widgetCreator.addDateBox(this, {\r\n \"format\": \"d\",\r\n \"caption\": \"dokument-edit.r_dokumentdatum_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Dokument\",\r\n \"bindTo\": \"Datum\",\r\n \"bindToFQ\": \"models.data.$m_Dokument.Datum\"\r\n },\r\n \"validationRules\": [{\r\n \"item\": {\r\n \"type\": \"required\",\r\n \"parameters\": []\r\n }\r\n }],\r\n \"id\": \"r_dokumentDatum\",\r\n \"options\": {\r\n \"optionsName\": \"r_dokumentDatumOptions\",\r\n \"optionsNameFQ\": \"r_dokumentDatumOptions\"\r\n }\r\n });\r\n this.widgetCreator.addLookup(this, {\r\n \"idSelect\": \"stelleninserat\",\r\n \"customs\": [{\r\n \"key\": \"IdPerson\",\r\n \"value\": \"models.data.$m_Dokument.IdObjekt\"\r\n }],\r\n \"filters\": [],\r\n \"caption\": \"dokument-edit.r_dokumentstelleninserat_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Dokument\",\r\n \"bindTo\": \"IdStelleninserat\",\r\n \"bindToFQ\": \"models.data.$m_Dokument.IdStelleninserat\"\r\n },\r\n \"validationRules\": [{\r\n \"item\": {\r\n \"type\": \"required\",\r\n \"parameters\": []\r\n }\r\n }],\r\n \"id\": \"r_dokumentStelleninserat\",\r\n \"options\": {\r\n \"optionsName\": \"r_dokumentStelleninseratOptions\",\r\n \"optionsNameFQ\": \"r_dokumentStelleninseratOptions\"\r\n }\r\n });\r\n this.widgetCreator.addTextArea(this, {\r\n \"height\": \"100px\",\r\n \"caption\": \"dokument-edit.r_dokumentbemerkung_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Dokument\",\r\n \"bindTo\": \"Bemerkung\",\r\n \"bindToFQ\": \"models.data.$m_Dokument.Bemerkung\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_dokumentBemerkung\",\r\n \"options\": {\r\n \"optionsName\": \"r_dokumentBemerkungOptions\",\r\n \"optionsNameFQ\": \"r_dokumentBemerkungOptions\"\r\n }\r\n });\r\n this.widgetCreator.addSelectBox(this, {\r\n \"idSelect\": \"zustand\",\r\n \"filter\": [\"Bereich\", \"2\"],\r\n \"filters\": [],\r\n \"caption\": \"dokument-edit.r_dokumentzustand_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Dokument\",\r\n \"bindTo\": \"IdZustand\",\r\n \"bindToFQ\": \"models.data.$m_Dokument.IdZustand\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_dokumentZustand\",\r\n \"options\": {\r\n \"optionsName\": \"r_dokumentZustandOptions\",\r\n \"optionsNameFQ\": \"r_dokumentZustandOptions\"\r\n }\r\n });\r\n this.widgetCreator.addDateBox(this, {\r\n \"format\": \"d\",\r\n \"caption\": \"dokument-edit.r_dokumentgueltigvon_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Dokument\",\r\n \"bindTo\": \"GueltigVon\",\r\n \"bindToFQ\": \"models.data.$m_Dokument.GueltigVon\"\r\n },\r\n \"validationRules\": [{\r\n \"binding\": {\r\n \"dataContext\": \"$m_Dokument\",\r\n \"bindTo\": \"$f_DokumentUtils.gueltigVonValidationRule\",\r\n \"bindToFQ\": \"functions.$f_DokumentUtils.gueltigVonValidationRule\"\r\n }\r\n }],\r\n \"id\": \"r_dokumentGueltigVon\",\r\n \"options\": {\r\n \"optionsName\": \"r_dokumentGueltigVonOptions\",\r\n \"optionsNameFQ\": \"r_dokumentGueltigVonOptions\"\r\n }\r\n });\r\n this.widgetCreator.addDateBox(this, {\r\n \"format\": \"d\",\r\n \"caption\": \"dokument-edit.r_dokumentgueltigbis_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Dokument\",\r\n \"bindTo\": \"GueltigBis\",\r\n \"bindToFQ\": \"models.data.$m_Dokument.GueltigBis\"\r\n },\r\n \"validationRules\": [{\r\n \"binding\": {\r\n \"dataContext\": \"$m_Dokument\",\r\n \"bindTo\": \"$f_DokumentUtils.gueltigBisValidationRule\",\r\n \"bindToFQ\": \"functions.$f_DokumentUtils.gueltigBisValidationRule\"\r\n }\r\n }],\r\n \"id\": \"r_dokumentGueltigBis\",\r\n \"options\": {\r\n \"optionsName\": \"r_dokumentGueltigBisOptions\",\r\n \"optionsNameFQ\": \"r_dokumentGueltigBisOptions\"\r\n }\r\n });\r\n this.widgetCreator.addTextBox(this, {\r\n \"maxLength\": 250,\r\n \"caption\": \"dokument-edit.r_dokumentdateiname_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Dokument\",\r\n \"bindTo\": \"Dateiname\",\r\n \"bindToFQ\": \"models.data.$m_Dokument.Dateiname\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_dokumentDateiname\",\r\n \"options\": {\r\n \"optionsName\": \"r_dokumentDateinameOptions\",\r\n \"optionsNameFQ\": \"r_dokumentDateinameOptions\"\r\n }\r\n });\r\n this.widgetCreator.addSelectBox(this, {\r\n \"idSelect\": \"zustand\",\r\n \"filter\": [\"Bereich\", \"2\"],\r\n \"filters\": [],\r\n \"caption\": \"dokument-edit.r_dokumentzustand_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Dokument\",\r\n \"bindTo\": \"IdZustand\",\r\n \"bindToFQ\": \"models.data.$m_Dokument.IdZustand\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_dokumentZustand\",\r\n \"options\": {\r\n \"optionsName\": \"r_dokumentZustandOptions\",\r\n \"optionsNameFQ\": \"r_dokumentZustandOptions\"\r\n }\r\n });\r\n super.onConstructionFinished();\r\n }\r\n}","module.exports = \"\";","import * as fwx from \"../../../../framework/forms/form-export\";\r\nimport {\r\n DokumentReadUtils\r\n} from \"./dokument-read-utils\";\r\n\r\n@fwx.autoinject\r\nexport class DokumentReadForm extends fwx.FormBase {\r\n constructor(\r\n element: Element,\r\n formBaseImport: fwx.FormBaseImport,\r\n private $f_DokumentUtils: DokumentReadUtils) {\r\n super(element, formBaseImport);\r\n this.id = \"dokument-read\";\r\n this.title = \"dokument-read.dokument-read_caption\";\r\n this.addModel({\r\n \"id\": \"$m_Dokument\",\r\n \"webApiAction\": \"ZIT/Objekte/DokumentElement\",\r\n \"webApiExpand\": {\r\n Informationstyp: null,\r\n Zustand: null\r\n },\r\n \"key\": \"variables.data.$id\",\r\n \"keyProperty\": \"Id\",\r\n \"postOnSave\": false,\r\n \"allowNew\": \"false\",\r\n \"allowDelete\": \"false\",\r\n \"filters\": []\r\n });\r\n this.addEditPopup({\r\n \"idContent\": \"dokumentVersionInformationEditPopupContent\",\r\n \"mappings\": [{\r\n \"to\": \"$id\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Dokument\",\r\n \"bindTo\": \"Id\",\r\n \"bindToFQ\": \"models.data.$m_Dokument.Id\"\r\n }\r\n }, {\r\n \"to\": \"$v_versionKey\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Dokument\",\r\n \"bindTo\": \"VersionKey\",\r\n \"bindToFQ\": \"models.data.$m_Dokument.VersionKey\"\r\n }\r\n }, {\r\n \"to\": \"$v_isReadOnly\",\r\n \"binding\": {\r\n \"bindTo\": \"true\",\r\n \"bindToFQ\": \"true\"\r\n }\r\n }],\r\n \"id\": \"dokumentVersionInformationEditPopup\",\r\n \"options\": {\r\n \"optionsName\": \"dokumentVersionInformationEditPopupOptions\",\r\n \"optionsNameFQ\": \"dokumentVersionInformationEditPopupOptions\"\r\n },\r\n \"height\": \"250px\",\r\n \"width\": \"500px\",\r\n \"commands\": []\r\n });\r\n this.addFunction(\"$f_DokumentUtils\", $f_DokumentUtils, \"functions.$f_DokumentUtils\");\r\n this.widgetCreator.addValidationGroup(this, {\r\n \"id\": \"wd1\",\r\n \"options\": {\r\n \"optionsName\": \"wd1Options\",\r\n \"optionsNameFQ\": \"wd1Options\"\r\n }\r\n });\r\n super.onConstructionFinished();\r\n }\r\n}","module.exports = \"\";","import * as fwx from \"../../../../framework/forms/form-export\";\r\nimport {\r\n DokumentUnterfertigungUtils\r\n} from \"./dokument-unterfertigung-utils\";\r\n\r\n@fwx.autoinject\r\nexport class DokumentUnterfertigungForm extends fwx.FormBase {\r\n constructor(\r\n element: Element,\r\n formBaseImport: fwx.FormBaseImport,\r\n private $f_DokumentUtils: DokumentUnterfertigungUtils) {\r\n super(element, formBaseImport);\r\n this.id = \"dokument-unterfertigung\";\r\n this.title = \"dokument-unterfertigung.dokument-unterfertigung_caption\";\r\n this.addModel({\r\n \"id\": \"$m_Dokument\",\r\n \"webApiAction\": \"ZIT/Objekte/DokumentElement\",\r\n \"key\": \"variables.data.$id\",\r\n \"keyProperty\": \"Id\",\r\n \"filters\": []\r\n });\r\n this.addFunction(\"$f_DokumentUtils\", $f_DokumentUtils, \"functions.$f_DokumentUtils\");\r\n this.widgetCreator.addValidationGroup(this, {\r\n \"id\": \"wd1\",\r\n \"options\": {\r\n \"optionsName\": \"wd1Options\",\r\n \"optionsNameFQ\": \"wd1Options\"\r\n }\r\n });\r\n this.widgetCreator.addTextBox(this, {\r\n \"caption\": \"dokument-unterfertigung.r_dokumentunterfertigungdokumentencode_caption\",\r\n \"binding\": {\r\n \"bindTo\": \"$f_DokumentUtils.validierungData.DokumentCode\",\r\n \"bindToFQ\": \"functions.$f_DokumentUtils.validierungData.DokumentCode\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_dokumentUnterfertigungDokumentenCode\",\r\n \"options\": {\r\n \"optionsName\": \"r_dokumentUnterfertigungDokumentenCodeOptions\",\r\n \"optionsNameFQ\": \"r_dokumentUnterfertigungDokumentenCodeOptions\"\r\n }\r\n });\r\n this.widgetCreator.addTextBox(this, {\r\n \"caption\": \"dokument-unterfertigung.r_dokumentunterfertigungtan_caption\",\r\n \"binding\": {\r\n \"bindTo\": \"$f_DokumentUtils.unterfertigungData.TAN\",\r\n \"bindToFQ\": \"functions.$f_DokumentUtils.unterfertigungData.TAN\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_dokumentUnterfertigungTAN\",\r\n \"options\": {\r\n \"optionsName\": \"r_dokumentUnterfertigungTANOptions\",\r\n \"optionsNameFQ\": \"r_dokumentUnterfertigungTANOptions\"\r\n }\r\n });\r\n this.widgetCreator.addPopup(this, {\r\n \"id\": \"dataSavedPopup\",\r\n \"options\": {\r\n \"optionsName\": \"dataSavedPopupOptions\",\r\n \"optionsNameFQ\": \"dataSavedPopupOptions\"\r\n },\r\n \"caption\": \"dokument-unterfertigung.datasavedpopup_caption\",\r\n \"height\": \"auto\",\r\n \"width\": \"500px\",\r\n \"commands\": [{\r\n \"binding\": {\r\n \"bindTo\": \"$f_DokumentUtils.dataSavedClosePopupCommand\",\r\n \"bindToFQ\": \"functions.$f_DokumentUtils.dataSavedClosePopupCommand\"\r\n }\r\n }]\r\n });\r\n super.onConstructionFinished();\r\n }\r\n}","module.exports = \"\";","import * as fwx from \"../../../../framework/forms/form-export\";\r\nimport {\r\n DokumentVersionInformationUtils\r\n} from \"./dokument-version-information-utils\";\r\n\r\n@fwx.autoinject\r\nexport class DokumentVersionInformationForm extends fwx.FormBase {\r\n constructor(\r\n element: Element,\r\n formBaseImport: fwx.FormBaseImport,\r\n private $f_DokumentUtils: DokumentVersionInformationUtils) {\r\n super(element, formBaseImport);\r\n this.id = \"dokument-version-information\";\r\n this.title = \"dokument-version-information.dokument-version-information_caption\";\r\n this.addModel({\r\n \"id\": \"$m_Dokument\",\r\n \"webApiAction\": \"ZIT/Objekte/DokumentElement\",\r\n \"webApiExpand\": {\r\n Zustand: null\r\n },\r\n \"key\": \"variables.data.$id\",\r\n \"keyProperty\": \"Id\",\r\n \"filters\": [{\r\n \"webApiCustomKey\": \"versionKey\",\r\n \"webApiCustomValue\": \"variables.data.$v_versionKey\"\r\n }]\r\n });\r\n this.addVariable({\r\n \"id\": \"$v_versionKey\"\r\n });\r\n this.addVariable({\r\n \"id\": \"$v_isReadOnly\"\r\n });\r\n this.addCommand({\r\n \"binding\": {\r\n \"bindTo\": \"$f_DokumentUtils.kameraCommand\",\r\n \"bindToFQ\": \"functions.$f_DokumentUtils.kameraCommand\"\r\n }\r\n });\r\n this.addCommand({\r\n \"binding\": {\r\n \"bindTo\": \"$f_DokumentUtils.videoCommand\",\r\n \"bindToFQ\": \"functions.$f_DokumentUtils.videoCommand\"\r\n }\r\n });\r\n this.addCommand({\r\n \"binding\": {\r\n \"bindTo\": \"$f_DokumentUtils.gallerieCommand\",\r\n \"bindToFQ\": \"functions.$f_DokumentUtils.gallerieCommand\"\r\n }\r\n });\r\n this.addCommand({\r\n \"binding\": {\r\n \"bindTo\": \"$f_DokumentUtils.dateiCommand\",\r\n \"bindToFQ\": \"functions.$f_DokumentUtils.dateiCommand\"\r\n }\r\n });\r\n this.addFunction(\"$f_DokumentUtils\", $f_DokumentUtils, \"functions.$f_DokumentUtils\");\r\n this.widgetCreator.addValidationGroup(this, {\r\n \"id\": \"wd1\",\r\n \"options\": {\r\n \"optionsName\": \"wd1Options\",\r\n \"optionsNameFQ\": \"wd1Options\"\r\n }\r\n });\r\n this.widgetCreator.addListView(this, {\r\n \"itemClass\": \"z--list-view-inline-item\",\r\n \"useDefaultListItemStyle\": false,\r\n \"optionsToolbar\": {\r\n \"optionsName\": \"dokumentVersionListViewToolbarOptions\",\r\n \"optionsNameFQ\": \"dokumentVersionListViewToolbarOptions\"\r\n },\r\n \"binding\": {\r\n \"dataContext\": \"$m_Dokument\"\r\n },\r\n \"dataModel\": \"$m_Dokument\",\r\n \"listEdits\": [],\r\n \"filters\": [],\r\n \"commands\": [],\r\n \"id\": \"dokumentVersionListView\",\r\n \"options\": {\r\n \"optionsName\": \"dokumentVersionListViewOptions\",\r\n \"optionsNameFQ\": \"dokumentVersionListViewOptions\"\r\n }\r\n });\r\n super.onConstructionFinished();\r\n }\r\n}","module.exports = \"\";","import * as fwx from \"../../../../framework/forms/form-export\";\r\nimport {\r\n EventEditUtils\r\n} from \"./event-edit-utils\";\r\n\r\n@fwx.autoinject\r\nexport class EventEditForm extends fwx.FormBase {\r\n constructor(\r\n element: Element,\r\n formBaseImport: fwx.FormBaseImport,\r\n private $f_EventEditUtils: EventEditUtils) {\r\n super(element, formBaseImport);\r\n this.id = \"event-edit\";\r\n this.title = \"event-edit.event-edit_caption\";\r\n this.addModel({\r\n \"id\": \"$m_Event\",\r\n \"webApiAction\": \"ZIT/Objekte/Event\",\r\n \"webApiExpand\": {\r\n 'Kopf': {\r\n 'expand': {\r\n 'Lehrberufe': null,\r\n 'Anmeldungsgruppen': null\r\n }\r\n }\r\n },\r\n \"modificationInfoEnabled\": true,\r\n \"key\": \"variables.data.$id\",\r\n \"keyProperty\": \"Id\",\r\n \"postOnSave\": true,\r\n \"filters\": []\r\n });\r\n this.addModel({\r\n \"id\": \"$m_Lehrberuf\",\r\n \"webApiAction\": \"ZIT/Stammdaten/Lehrberuf\",\r\n \"keyProperty\": \"Id\",\r\n \"filters\": [{\r\n \"webApiCustomKey\": \"IdGeschaeftspartner\",\r\n \"webApiCustomValue\": \"models.data.$m_Event.Kopf.IdGeschaeftspartner\"\r\n }]\r\n });\r\n this.addModel({\r\n \"id\": \"$m_Anmeldungsgruppe\",\r\n \"webApiAction\": \"ZIT/Stammdaten/EventAnmeldungsgruppe\",\r\n \"keyProperty\": \"Id\",\r\n \"filters\": []\r\n });\r\n this.addModel({\r\n \"id\": \"$m_EventTyp\",\r\n \"webApiAction\": \"ZIT/Stammdaten/EventTyp\",\r\n \"key\": \"models.data.$m_Event.Kopf.IdEventTyp\",\r\n \"keyProperty\": \"Id\",\r\n \"filters\": []\r\n });\r\n this.addModel({\r\n \"id\": \"$m_EventZeitraumRel\",\r\n \"webApiAction\": \"ZIT/Objekte/EventZeitraum\",\r\n \"webApiExpand\": {\r\n 'Kopf': null\r\n },\r\n \"webApiOrderBy\": [{\r\n columnName: 'Kopf.StartDatum',\r\n sortOrder: 0\r\n }],\r\n \"keyProperty\": \"Id\",\r\n \"filters\": [{\r\n \"webApiCustomKey\": \"AddSchulkontingentSum\",\r\n \"webApiCustomValue\": \"true\"\r\n }]\r\n });\r\n this.addModel({\r\n \"id\": \"$m_EventZeitraumEdit\",\r\n \"webApiAction\": \"ZIT/Objekte/EventZeitraum\",\r\n \"keyProperty\": \"Id\",\r\n \"filters\": []\r\n });\r\n this.addModel({\r\n \"id\": \"$m_EventTeilnehmerEdit\",\r\n \"webApiAction\": \"ZIT/Objekte/EventTeilnehmer\",\r\n \"webApiWhere\": [\"IdEvent\", {\r\n \"isBound\": true,\r\n \"expression\": \"models.data.$m_Event.Id\"\r\n }],\r\n \"keyProperty\": \"Id\",\r\n \"filters\": [{\r\n \"webApiCustomKey\": \"AddEventTeilnehmerCard\",\r\n \"webApiCustomValue\": \"true\"\r\n }, {\r\n \"if\": \"functions.$f_EventEditUtils.idEventZeitraumFilter\",\r\n \"webApiWhere\": [\"IdEventZeitraum\", {\r\n \"isBound\": true,\r\n \"expression\": \"functions.$f_EventEditUtils.idEventZeitraumFilter\"\r\n }]\r\n }, {\r\n \"if\": \"functions.$f_EventEditUtils.eventTeilnehmerFilter\",\r\n \"webApiCustomKey\": \"EventTeilnehmerNameFilter\",\r\n \"webApiCustomValue\": \"functions.$f_EventEditUtils.eventTeilnehmerFilter\"\r\n }]\r\n });\r\n this.addModel({\r\n \"id\": \"$m_EventLinkAnmeldung\",\r\n \"webApiAction\": \"ZIT/Objekte/EventLinkAnmeldung\",\r\n \"webApiExpand\": {\r\n 'Element': {\r\n 'expand': {\r\n 'Ausbildung': null,\r\n 'EventAnmeldungsgruppe': null\r\n }\r\n }\r\n },\r\n \"webApiWhere\": [\"IdEvent\", {\r\n \"isBound\": true,\r\n \"expression\": \"models.data.$m_Event.Id\"\r\n }],\r\n \"keyProperty\": \"Id\",\r\n \"allowNew\": \"false\",\r\n \"filters\": []\r\n });\r\n this.addModel({\r\n \"id\": \"$m_EventLinkAnmeldungEdit\",\r\n \"webApiAction\": \"ZIT/Objekte/EventLinkAnmeldung\",\r\n \"keyProperty\": \"Id\",\r\n \"filters\": []\r\n });\r\n this.addCommand({\r\n \"binding\": {\r\n \"bindTo\": \"$f_EventEditUtils.actionCommand\",\r\n \"bindToFQ\": \"functions.$f_EventEditUtils.actionCommand\"\r\n }\r\n });\r\n this.addCommand({\r\n \"binding\": {\r\n \"bindTo\": \"$f_EventEditUtils.statusAendernPopupCommand\",\r\n \"bindToFQ\": \"functions.$f_EventEditUtils.statusAendernPopupCommand\"\r\n }\r\n });\r\n this.addCommand({\r\n \"binding\": {\r\n \"bindTo\": \"$f_EventEditUtils.kopierenOptionenCommand\",\r\n \"bindToFQ\": \"functions.$f_EventEditUtils.kopierenOptionenCommand\"\r\n }\r\n });\r\n this.addEditPopup({\r\n \"idContent\": \"eventZeitraumEditPopupContent\",\r\n \"mappings\": [{\r\n \"to\": \"$id\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_EventZeitraumEdit\",\r\n \"bindTo\": \"Id\",\r\n \"bindToFQ\": \"models.data.$m_EventZeitraumEdit.Id\"\r\n }\r\n }],\r\n \"id\": \"eventZeitraumEditPopup\",\r\n \"options\": {\r\n \"optionsName\": \"eventZeitraumEditPopupOptions\",\r\n \"optionsNameFQ\": \"eventZeitraumEditPopupOptions\"\r\n },\r\n \"height\": \"90vh\",\r\n \"width\": \"1000px\",\r\n \"commands\": []\r\n });\r\n this.addEditPopup({\r\n \"idContent\": \"eventLinkAnmeldungEditPopupContent\",\r\n \"mappings\": [{\r\n \"to\": \"$id\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_EventLinkAnmeldungEdit\",\r\n \"bindTo\": \"Id\",\r\n \"bindToFQ\": \"models.data.$m_EventLinkAnmeldungEdit.Id\"\r\n }\r\n }],\r\n \"id\": \"eventLinkAnmeldungEditPopup\",\r\n \"options\": {\r\n \"optionsName\": \"eventLinkAnmeldungEditPopupOptions\",\r\n \"optionsNameFQ\": \"eventLinkAnmeldungEditPopupOptions\"\r\n },\r\n \"height\": \"auto\",\r\n \"width\": \"700px\",\r\n \"commands\": []\r\n });\r\n this.addFunction(\"$f_EventEditUtils\", $f_EventEditUtils, \"functions.$f_EventEditUtils\");\r\n this.widgetCreator.addValidationGroup(this, {\r\n \"id\": \"wd1\",\r\n \"options\": {\r\n \"optionsName\": \"wd1Options\",\r\n \"optionsNameFQ\": \"wd1Options\"\r\n }\r\n });\r\n this.widgetCreator.addSelectBox(this, {\r\n \"idSelect\": \"eventTyp\",\r\n \"filters\": [],\r\n \"caption\": \"event-edit.r_eventtyp_caption\",\r\n \"isReadOnlyExpression\": \"models.data.$m_Event.Kopf.Id > 0\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Event\",\r\n \"bindTo\": \"Kopf.IdEventTyp\",\r\n \"bindToFQ\": \"models.data.$m_Event.Kopf.IdEventTyp\",\r\n \"propertyPrefix\": \"Kopf\"\r\n },\r\n \"validationRules\": [{\r\n \"item\": {\r\n \"type\": \"required\",\r\n \"parameters\": []\r\n }\r\n }],\r\n \"id\": \"r_eventTyp\",\r\n \"options\": {\r\n \"optionsName\": \"r_eventTypOptions\",\r\n \"optionsNameFQ\": \"r_eventTypOptions\"\r\n }\r\n });\r\n this.widgetCreator.addTextBox(this, {\r\n \"caption\": \"event-edit.r_websiteeventanmeldunglink_caption\",\r\n \"isReadOnly\": true,\r\n \"binding\": {\r\n \"dataContext\": \"$m_Event\",\r\n \"bindTo\": \"_WebsiteEventAnmeldungLink\",\r\n \"bindToFQ\": \"models.data.$m_Event._WebsiteEventAnmeldungLink\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_websiteEventAnmeldungLink\",\r\n \"options\": {\r\n \"optionsName\": \"r_websiteEventAnmeldungLinkOptions\",\r\n \"optionsNameFQ\": \"r_websiteEventAnmeldungLinkOptions\"\r\n }\r\n });\r\n this.widgetCreator.addCheckBox(this, {\r\n \"caption\": \"event-edit.r_showveranstaltungsmaske_caption\",\r\n \"isReadOnlyExpression\": \"!models.data.$m_Event.Kopf.Id\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Event\",\r\n \"bindTo\": \"Kopf.ShowVeranstaltungsmaske\",\r\n \"bindToFQ\": \"models.data.$m_Event.Kopf.ShowVeranstaltungsmaske\",\r\n \"propertyPrefix\": \"Kopf\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_showVeranstaltungsmaske\",\r\n \"options\": {\r\n \"optionsName\": \"r_showVeranstaltungsmaskeOptions\",\r\n \"optionsNameFQ\": \"r_showVeranstaltungsmaskeOptions\"\r\n }\r\n });\r\n this.widgetCreator.addRadioGroup(this, {\r\n \"idSelect\": \"eventVeroeffentlichung\",\r\n \"filters\": [],\r\n \"caption\": \"event-edit.r_veroeffentlichung_caption\",\r\n \"isReadOnlyExpression\": \"functions.$f_EventEditUtils.isTypAuswahlEnabled\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Event\",\r\n \"bindTo\": \"Kopf.Veroeffentlichung\",\r\n \"bindToFQ\": \"models.data.$m_Event.Kopf.Veroeffentlichung\",\r\n \"propertyPrefix\": \"Kopf\"\r\n },\r\n \"validationRules\": [{\r\n \"item\": {\r\n \"type\": \"required\",\r\n \"parameters\": []\r\n }\r\n }],\r\n \"id\": \"r_veroeffentlichung\",\r\n \"options\": {\r\n \"optionsName\": \"r_veroeffentlichungOptions\",\r\n \"optionsNameFQ\": \"r_veroeffentlichungOptions\"\r\n }\r\n });\r\n this.widgetCreator.addCheckBox(this, {\r\n \"caption\": \"event-edit.r_veroeffnetlichenfiltergeschaeftspartner_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Event\",\r\n \"bindTo\": \"Kopf.VeroeffentlichenFilterGeschaeftspartner\",\r\n \"bindToFQ\": \"models.data.$m_Event.Kopf.VeroeffentlichenFilterGeschaeftspartner\",\r\n \"propertyPrefix\": \"Kopf\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_veroeffnetlichenFilterGeschaeftspartner\",\r\n \"options\": {\r\n \"optionsName\": \"r_veroeffnetlichenFilterGeschaeftspartnerOptions\",\r\n \"optionsNameFQ\": \"r_veroeffnetlichenFilterGeschaeftspartnerOptions\"\r\n }\r\n });\r\n this.widgetCreator.addSelectBox(this, {\r\n \"idSelect\": \"eventTeilnehmerReaktion\",\r\n \"filters\": [],\r\n \"caption\": \"event-edit.r_teilnehmerreaktion_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Event\",\r\n \"bindTo\": \"Kopf.TeilnehmerReaktion\",\r\n \"bindToFQ\": \"models.data.$m_Event.Kopf.TeilnehmerReaktion\",\r\n \"propertyPrefix\": \"Kopf\"\r\n },\r\n \"validationRules\": [{\r\n \"item\": {\r\n \"type\": \"required\",\r\n \"parameters\": []\r\n }\r\n }],\r\n \"id\": \"r_teilnehmerReaktion\",\r\n \"options\": {\r\n \"optionsName\": \"r_teilnehmerReaktionOptions\",\r\n \"optionsNameFQ\": \"r_teilnehmerReaktionOptions\"\r\n }\r\n });\r\n this.widgetCreator.addLookup(this, {\r\n \"idSelect\": \"geschaeftspartner\",\r\n \"filter\": [\"IsGeschaeftspartnerSchule\", false],\r\n \"filters\": [],\r\n \"caption\": \"event-edit.r_geschaeftspartner_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Event\",\r\n \"bindTo\": \"Kopf.IdGeschaeftspartner\",\r\n \"bindToFQ\": \"models.data.$m_Event.Kopf.IdGeschaeftspartner\",\r\n \"propertyPrefix\": \"Kopf\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_geschaeftspartner\",\r\n \"options\": {\r\n \"optionsName\": \"r_geschaeftspartnerOptions\",\r\n \"optionsNameFQ\": \"r_geschaeftspartnerOptions\"\r\n }\r\n });\r\n this.widgetCreator.addLookup(this, {\r\n \"idSelect\": \"geschaeftspartner\",\r\n \"filter\": [\"IsGeschaeftspartnerSchule\", true],\r\n \"filters\": [],\r\n \"caption\": \"event-edit.r_geschaeftspartnerschule_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Event\",\r\n \"bindTo\": \"Kopf.IdGeschaeftspartnerSchule\",\r\n \"bindToFQ\": \"models.data.$m_Event.Kopf.IdGeschaeftspartnerSchule\",\r\n \"propertyPrefix\": \"Kopf\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_geschaeftspartnerSchule\",\r\n \"options\": {\r\n \"optionsName\": \"r_geschaeftspartnerSchuleOptions\",\r\n \"optionsNameFQ\": \"r_geschaeftspartnerSchuleOptions\"\r\n }\r\n });\r\n this.widgetCreator.addTextBox(this, {\r\n \"maxLength\": 250,\r\n \"caption\": \"event-edit.r_betreff_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Event\",\r\n \"bindTo\": \"Kopf.Betreff\",\r\n \"bindToFQ\": \"models.data.$m_Event.Kopf.Betreff\",\r\n \"propertyPrefix\": \"Kopf\"\r\n },\r\n \"validationRules\": [{\r\n \"item\": {\r\n \"type\": \"required\",\r\n \"parameters\": []\r\n }\r\n }],\r\n \"id\": \"r_betreff\",\r\n \"options\": {\r\n \"optionsName\": \"r_betreffOptions\",\r\n \"optionsNameFQ\": \"r_betreffOptions\"\r\n }\r\n });\r\n this.widgetCreator.addTextBox(this, {\r\n \"maxLength\": 250,\r\n \"caption\": \"event-edit.r_bezeichnungintern_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Event\",\r\n \"bindTo\": \"Kopf.BezeichnungIntern\",\r\n \"bindToFQ\": \"models.data.$m_Event.Kopf.BezeichnungIntern\",\r\n \"propertyPrefix\": \"Kopf\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_bezeichnungIntern\",\r\n \"options\": {\r\n \"optionsName\": \"r_bezeichnungInternOptions\",\r\n \"optionsNameFQ\": \"r_bezeichnungInternOptions\"\r\n }\r\n });\r\n this.widgetCreator.addTextBox(this, {\r\n \"maxLength\": 250,\r\n \"caption\": \"event-edit.r_subtitel_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Event\",\r\n \"bindTo\": \"Kopf.Subtitel\",\r\n \"bindToFQ\": \"models.data.$m_Event.Kopf.Subtitel\",\r\n \"propertyPrefix\": \"Kopf\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_subtitel\",\r\n \"options\": {\r\n \"optionsName\": \"r_subtitelOptions\",\r\n \"optionsNameFQ\": \"r_subtitelOptions\"\r\n }\r\n });\r\n this.widgetCreator.addTextBox(this, {\r\n \"maxLength\": 100,\r\n \"caption\": \"event-edit.r_ort_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Event\",\r\n \"bindTo\": \"Kopf.Ort\",\r\n \"bindToFQ\": \"models.data.$m_Event.Kopf.Ort\",\r\n \"propertyPrefix\": \"Kopf\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_ort\",\r\n \"options\": {\r\n \"optionsName\": \"r_ortOptions\",\r\n \"optionsNameFQ\": \"r_ortOptions\"\r\n }\r\n });\r\n this.widgetCreator.addCheckBox(this, {\r\n \"caption\": \"event-edit.r_ortfuerschnuppernnachvereinbarung_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Event\",\r\n \"bindTo\": \"Kopf.OrtFuerSchnuppernNachVereinbarung\",\r\n \"bindToFQ\": \"models.data.$m_Event.Kopf.OrtFuerSchnuppernNachVereinbarung\",\r\n \"propertyPrefix\": \"Kopf\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_ortFuerSchnuppernNachVereinbarung\",\r\n \"options\": {\r\n \"optionsName\": \"r_ortFuerSchnuppernNachVereinbarungOptions\",\r\n \"optionsNameFQ\": \"r_ortFuerSchnuppernNachVereinbarungOptions\"\r\n }\r\n });\r\n this.widgetCreator.addDateBox(this, {\r\n \"format\": \"t\",\r\n \"caption\": \"event-edit.r_meldenum_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Event\",\r\n \"bindTo\": \"Kopf.MeldenUm\",\r\n \"bindToFQ\": \"models.data.$m_Event.Kopf.MeldenUm\",\r\n \"propertyPrefix\": \"Kopf\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_meldenUm\",\r\n \"options\": {\r\n \"optionsName\": \"r_meldenUmOptions\",\r\n \"optionsNameFQ\": \"r_meldenUmOptions\"\r\n }\r\n });\r\n this.widgetCreator.addDateBox(this, {\r\n \"format\": \"t\",\r\n \"caption\": \"event-edit.r_startuhrzeit_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Event\",\r\n \"bindTo\": \"Kopf.StartUhrzeit\",\r\n \"bindToFQ\": \"models.data.$m_Event.Kopf.StartUhrzeit\",\r\n \"propertyPrefix\": \"Kopf\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_startUhrzeit\",\r\n \"options\": {\r\n \"optionsName\": \"r_startUhrzeitOptions\",\r\n \"optionsNameFQ\": \"r_startUhrzeitOptions\"\r\n }\r\n });\r\n this.widgetCreator.addDateBox(this, {\r\n \"format\": \"t\",\r\n \"caption\": \"event-edit.r_endeuhrzeit_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Event\",\r\n \"bindTo\": \"Kopf.EndeUhrzeit\",\r\n \"bindToFQ\": \"models.data.$m_Event.Kopf.EndeUhrzeit\",\r\n \"propertyPrefix\": \"Kopf\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_endeUhrzeit\",\r\n \"options\": {\r\n \"optionsName\": \"r_endeUhrzeitOptions\",\r\n \"optionsNameFQ\": \"r_endeUhrzeitOptions\"\r\n }\r\n });\r\n this.widgetCreator.addFileUploaderWithViewer(this, {\r\n \"acceptTypeEnum\": 0,\r\n \"acceptType\": \"image/*\",\r\n \"height\": \"250px\",\r\n \"showClearButton\": false,\r\n \"caption\": \"event-edit.r_dmslinklogo_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Event\",\r\n \"bindTo\": \"Kopf.DMSLinkLogo\",\r\n \"bindToFQ\": \"models.data.$m_Event.Kopf.DMSLinkLogo\",\r\n \"propertyPrefix\": \"Kopf\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_dMSLinkLogo\",\r\n \"options\": {\r\n \"optionsName\": \"r_dMSLinkLogoOptions\",\r\n \"optionsNameFQ\": \"r_dMSLinkLogoOptions\"\r\n }\r\n });\r\n this.widgetCreator.addTagBox(this, {\r\n \"caption\": \"event-edit.r_lehrberufe_caption\",\r\n \"dataContext\": \"$m_Event\",\r\n \"batchSelectionEnabled\": true,\r\n \"relationBinding\": {\r\n \"dataContext\": \"$m_Event\",\r\n \"bindTo\": \"Kopf.Lehrberufe\",\r\n \"bindToFQ\": \"models.data.$m_Event.Kopf.Lehrberufe\",\r\n \"propertyPrefix\": \"Kopf\"\r\n },\r\n \"relationProperty\": \"IdLehrberuf\",\r\n \"itemDataContext\": \"$m_Lehrberuf\",\r\n \"itemValueExpr\": \"Id\",\r\n \"itemDisplayExpr\": \"Bezeichnung\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Event\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_lehrberufe\",\r\n \"options\": {\r\n \"optionsName\": \"r_lehrberufeOptions\",\r\n \"optionsNameFQ\": \"r_lehrberufeOptions\"\r\n }\r\n });\r\n this.widgetCreator.addTagBox(this, {\r\n \"caption\": \"event-edit.r_anmeldungsgruppen_caption\",\r\n \"dataContext\": \"$m_Event\",\r\n \"batchSelectionEnabled\": true,\r\n \"relationBinding\": {\r\n \"dataContext\": \"$m_Event\",\r\n \"bindTo\": \"Kopf.Anmeldungsgruppen\",\r\n \"bindToFQ\": \"models.data.$m_Event.Kopf.Anmeldungsgruppen\",\r\n \"propertyPrefix\": \"Kopf\"\r\n },\r\n \"relationProperty\": \"IdEventAnmeldungsgruppe\",\r\n \"itemDataContext\": \"$m_Anmeldungsgruppe\",\r\n \"itemValueExpr\": \"Id\",\r\n \"itemDisplayExpr\": \"Bezeichnung\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Event\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_anmeldungsgruppen\",\r\n \"options\": {\r\n \"optionsName\": \"r_anmeldungsgruppenOptions\",\r\n \"optionsNameFQ\": \"r_anmeldungsgruppenOptions\"\r\n }\r\n });\r\n this.widgetCreator.addLookup(this, {\r\n \"idSelect\": \"person\",\r\n \"filters\": [],\r\n \"caption\": \"event-edit.r_person_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Event\",\r\n \"bindTo\": \"Kopf.IdPerson\",\r\n \"bindToFQ\": \"models.data.$m_Event.Kopf.IdPerson\",\r\n \"propertyPrefix\": \"Kopf\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_person\",\r\n \"options\": {\r\n \"optionsName\": \"r_personOptions\",\r\n \"optionsNameFQ\": \"r_personOptions\"\r\n }\r\n });\r\n this.widgetCreator.addNumberBox(this, {\r\n \"showClearButton\": true,\r\n \"min\": 1.0,\r\n \"max\": 999.0,\r\n \"format\": \"n0\",\r\n \"caption\": \"event-edit.r_standarddauer_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Event\",\r\n \"bindTo\": \"Kopf.Standarddauer\",\r\n \"bindToFQ\": \"models.data.$m_Event.Kopf.Standarddauer\",\r\n \"propertyPrefix\": \"Kopf\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_standardDauer\",\r\n \"options\": {\r\n \"optionsName\": \"r_standardDauerOptions\",\r\n \"optionsNameFQ\": \"r_standardDauerOptions\"\r\n }\r\n });\r\n this.widgetCreator.addNumberBox(this, {\r\n \"showClearButton\": true,\r\n \"min\": 1.0,\r\n \"max\": 999.0,\r\n \"format\": \"n0\",\r\n \"caption\": \"event-edit.r_minimaldauer_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Event\",\r\n \"bindTo\": \"Kopf.Mindestdauer\",\r\n \"bindToFQ\": \"models.data.$m_Event.Kopf.Mindestdauer\",\r\n \"propertyPrefix\": \"Kopf\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_minimalDauer\",\r\n \"options\": {\r\n \"optionsName\": \"r_minimalDauerOptions\",\r\n \"optionsNameFQ\": \"r_minimalDauerOptions\"\r\n }\r\n });\r\n this.widgetCreator.addNumberBox(this, {\r\n \"showClearButton\": true,\r\n \"min\": 1.0,\r\n \"max\": 999.0,\r\n \"format\": \"n0\",\r\n \"caption\": \"event-edit.r_maximaldauer_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Event\",\r\n \"bindTo\": \"Kopf.Maximaldauer\",\r\n \"bindToFQ\": \"models.data.$m_Event.Kopf.Maximaldauer\",\r\n \"propertyPrefix\": \"Kopf\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_maximalDauer\",\r\n \"options\": {\r\n \"optionsName\": \"r_maximalDauerOptions\",\r\n \"optionsNameFQ\": \"r_maximalDauerOptions\"\r\n }\r\n });\r\n this.widgetCreator.addCheckBox(this, {\r\n \"caption\": \"event-edit.r_webserviceterminabfrage_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Event\",\r\n \"bindTo\": \"Kopf.WebserviceTerminabfrage\",\r\n \"bindToFQ\": \"models.data.$m_Event.Kopf.WebserviceTerminabfrage\",\r\n \"propertyPrefix\": \"Kopf\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_webserviceTerminabfrage\",\r\n \"options\": {\r\n \"optionsName\": \"r_webserviceTerminabfrageOptions\",\r\n \"optionsNameFQ\": \"r_webserviceTerminabfrageOptions\"\r\n }\r\n });\r\n this.widgetCreator.addCheckBox(this, {\r\n \"caption\": \"event-edit.r_inschnupperterminmaskeanzeigen_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Event\",\r\n \"bindTo\": \"Kopf.InSchnupperterminmaskeAnzeigen\",\r\n \"bindToFQ\": \"models.data.$m_Event.Kopf.InSchnupperterminmaskeAnzeigen\",\r\n \"propertyPrefix\": \"Kopf\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_inSchnupperterminmaskeAnzeigen\",\r\n \"options\": {\r\n \"optionsName\": \"r_inSchnupperterminmaskeAnzeigenOptions\",\r\n \"optionsNameFQ\": \"r_inSchnupperterminmaskeAnzeigenOptions\"\r\n }\r\n });\r\n this.widgetCreator.addCheckBox(this, {\r\n \"caption\": \"event-edit.r_bewerbungsformularschnupperterminauswahl_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Event\",\r\n \"bindTo\": \"Kopf.BewerbungsformularSchnupperterminauswahl\",\r\n \"bindToFQ\": \"models.data.$m_Event.Kopf.BewerbungsformularSchnupperterminauswahl\",\r\n \"propertyPrefix\": \"Kopf\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_bewerbungsformularSchnupperterminauswahl\",\r\n \"options\": {\r\n \"optionsName\": \"r_bewerbungsformularSchnupperterminauswahlOptions\",\r\n \"optionsNameFQ\": \"r_bewerbungsformularSchnupperterminauswahlOptions\"\r\n }\r\n });\r\n this.widgetCreator.addDataGrid(this, {\r\n \"columns\": [{\r\n \"id\": \"r_zeitraumBetreff\",\r\n \"caption\": \"event-edit.r_zeitraumbetreff_caption\",\r\n \"bindTo\": \"Kopf.BezeichnungInternOderBetreff\"\r\n }, {\r\n \"id\": \"r_zeitraumStartDatum\",\r\n \"caption\": \"event-edit.r_zeitraumstartdatum_caption\",\r\n \"bindTo\": \"Kopf.StartDatum\",\r\n \"width\": \"85px\",\r\n \"format\": \"d\"\r\n }, {\r\n \"id\": \"r_zeitraumStartUhrzeit\",\r\n \"caption\": \"event-edit.r_zeitraumstartuhrzeit_caption\",\r\n \"bindTo\": \"Kopf.StartUhrzeitValidated\",\r\n \"width\": \"85px\",\r\n \"format\": \"t\"\r\n }, {\r\n \"id\": \"r_zeitraumEndeDatum\",\r\n \"caption\": \"event-edit.r_zeitraumendedatum_caption\",\r\n \"bindTo\": \"Kopf.EndeDatum\",\r\n \"width\": \"85px\",\r\n \"format\": \"d\"\r\n }, {\r\n \"id\": \"r_zeitraumEndeUhrzeit\",\r\n \"caption\": \"event-edit.r_zeitraumendeuhrzeit_caption\",\r\n \"bindTo\": \"Kopf.EndeUhrzeitValidated\",\r\n \"width\": \"87px\",\r\n \"format\": \"t\"\r\n }, {\r\n \"id\": \"r_zeitraumOrt\",\r\n \"caption\": \"event-edit.r_zeitraumort_caption\",\r\n \"bindTo\": \"Kopf.OrtValidated\"\r\n }, {\r\n \"id\": \"r_zeitraumKontingentGesamt\",\r\n \"caption\": \"event-edit.r_zeitraumkontingentgesamt_caption\",\r\n \"bindTo\": \"Kopf.KontingentGesamt\",\r\n \"width\": \"50px\",\r\n \"format\": \"n0\",\r\n \"onCellPrepared\": \"functions.$f_EventEditUtils.onZeitraumKontingentCellPrepared\"\r\n }, {\r\n \"id\": \"r_zeitraumKontingentSchule\",\r\n \"caption\": \"event-edit.r_zeitraumkontingentschule_caption\",\r\n \"width\": \"50px\",\r\n \"onCellPrepared\": \"functions.$f_EventEditUtils.onZeitraumKontingentSchuleCellPrepared\"\r\n }, {\r\n \"id\": \"r_zeitraumInSchnupperterminmaskeAnzeigen\",\r\n \"caption\": \"event-edit.r_zeitrauminschnupperterminmaskeanzeigen_caption\",\r\n \"bindTo\": \"Kopf.InSchnupperterminmaskeAnzeigenValidated\",\r\n \"width\": \"50px\",\r\n \"onCellPrepared\": \"functions.$f_EventEditUtils.onSchnupperterminMaskeCellPrepared\"\r\n }, {\r\n \"id\": \"r_zeitraumWebserviceTerminabfrage\",\r\n \"caption\": \"event-edit.r_zeitraumwebserviceterminabfrage_caption\",\r\n \"bindTo\": \"Kopf.WebserviceTerminabfrageValidated\",\r\n \"width\": \"50px\",\r\n \"onCellPrepared\": \"functions.$f_EventEditUtils.onWebserviceTerminabfrageCellPrepared\"\r\n }, {\r\n \"id\": \"r_zeitraumBewerbungsformularSchnupperterminauswahl\",\r\n \"caption\": \"event-edit.r_zeitraumbewerbungsformularschnupperterminauswahl_caption\",\r\n \"bindTo\": \"Kopf.BewerbungsformularSchnupperterminauswahlValidated\",\r\n \"width\": \"50px\",\r\n \"onCellPrepared\": \"functions.$f_EventEditUtils.onBewerbungsformularSchnupperterminauswahlCellPrepared\"\r\n }],\r\n \"createToolbar\": true,\r\n \"optionsToolbar\": {\r\n \"optionsName\": \"r_eventZeitraumGridToolbarOptions\",\r\n \"optionsNameFQ\": \"r_eventZeitraumGridToolbarOptions\"\r\n },\r\n \"caption\": \"event-edit.r_eventzeitraumgrid_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Event\"\r\n },\r\n \"isRelation\": true,\r\n \"relationBinding\": {\r\n \"dataContext\": \"$m_EventZeitraumRel\",\r\n \"bindTo\": \"IdEvent\",\r\n \"bindToFQ\": \"models.data.$m_EventZeitraumRel.IdEvent\"\r\n },\r\n \"dataModel\": \"$m_Event\",\r\n \"editDataContext\": \"$m_EventZeitraumEdit\",\r\n \"idEditPopup\": \"eventZeitraumEditPopup\",\r\n \"listEdits\": [],\r\n \"filters\": [],\r\n \"commands\": [],\r\n \"id\": \"r_eventZeitraumGrid\",\r\n \"options\": {\r\n \"optionsName\": \"r_eventZeitraumGridOptions\",\r\n \"optionsNameFQ\": \"r_eventZeitraumGridOptions\"\r\n }\r\n });\r\n this.widgetCreator.addDataGrid(this, {\r\n \"columns\": [{\r\n \"id\": \"r_linkAnmStartDatum\",\r\n \"caption\": \"event-edit.r_linkanmstartdatum_caption\",\r\n \"bindTo\": \"Element.StartDatum\",\r\n \"width\": \"85px\",\r\n \"format\": \"d\"\r\n }, {\r\n \"id\": \"r_linkAnmStartUhrzeit\",\r\n \"caption\": \"event-edit.r_linkanmstartuhrzeit_caption\",\r\n \"bindTo\": \"Element.StartUhrzeit\",\r\n \"width\": \"85px\",\r\n \"format\": \"t\"\r\n }, {\r\n \"id\": \"r_linkAnmEndeDatum\",\r\n \"caption\": \"event-edit.r_linkanmendedatum_caption\",\r\n \"bindTo\": \"Element.EndeDatum\",\r\n \"width\": \"85px\",\r\n \"format\": \"d\"\r\n }, {\r\n \"id\": \"r_linkAnmEndeUhrzeit\",\r\n \"caption\": \"event-edit.r_linkanmendeuhrzeit_caption\",\r\n \"bindTo\": \"Element.EndeUhrzeit\",\r\n \"width\": \"87px\",\r\n \"format\": \"t\"\r\n }, {\r\n \"id\": \"r_linkAnmGeschlecht\",\r\n \"caption\": \"event-edit.r_linkanmgeschlecht_caption\",\r\n \"bindTo\": \"Element.Geschlecht\",\r\n \"enumTypeName\": \"TIP.ZIT.Business.Enumerations.GeschlechtEnum\"\r\n }, {\r\n \"id\": \"r_linkAnmVorname\",\r\n \"caption\": \"event-edit.r_linkanmvorname_caption\",\r\n \"bindTo\": \"Element.Vorname\"\r\n }, {\r\n \"id\": \"r_linkAnmNachname\",\r\n \"caption\": \"event-edit.r_linkanmnachname_caption\",\r\n \"bindTo\": \"Element.Nachname\"\r\n }, {\r\n \"id\": \"r_linkAnmTelefon\",\r\n \"caption\": \"event-edit.r_linkanmtelefon_caption\",\r\n \"bindTo\": \"Element.TelefonKomplett\",\r\n \"width\": \"120px\"\r\n }, {\r\n \"id\": \"r_linkAnmAnzahlTeilnehmer\",\r\n \"caption\": \"event-edit.r_linkanmanzahlteilnehmer_caption\",\r\n \"bindTo\": \"Element.AnzahlTeilnehmer\",\r\n \"width\": \"80px\"\r\n }, {\r\n \"id\": \"r_linkAnmAlter\",\r\n \"caption\": \"event-edit.r_linkanmalter_caption\",\r\n \"bindTo\": \"Element.Alter\",\r\n \"width\": \"80px\"\r\n }, {\r\n \"id\": \"r_linkAnmEmail\",\r\n \"caption\": \"event-edit.r_linkanmemail_caption\",\r\n \"bindTo\": \"Element.Email\",\r\n \"width\": \"80px\"\r\n }, {\r\n \"id\": \"r_linkAnmTyp\",\r\n \"caption\": \"event-edit.r_linkanmtyp_caption\",\r\n \"bindTo\": \"Element.EventAnmeldungsgruppe.Bezeichnung\",\r\n \"width\": \"80px\"\r\n }, {\r\n \"id\": \"r_linkAnmAusbildung\",\r\n \"caption\": \"event-edit.r_linkanmausbildung_caption\",\r\n \"bindTo\": \"Element.Ausbildung.Bezeichnung\",\r\n \"width\": \"80px\"\r\n }, {\r\n \"id\": \"r_linkAnmKlasse\",\r\n \"caption\": \"event-edit.r_linkanmklasse_caption\",\r\n \"bindTo\": \"Element.Klasse\",\r\n \"width\": \"80px\"\r\n }, {\r\n \"id\": \"r_linkAnmEventErfahrenDurch\",\r\n \"caption\": \"event-edit.r_linkanmeventerfahrendurch_caption\",\r\n \"bindTo\": \"Element.EventErfahrenDurch\",\r\n \"width\": \"80px\"\r\n }],\r\n \"createToolbar\": true,\r\n \"optionsToolbar\": {\r\n \"optionsName\": \"r_eventLinkAnmeldungGridToolbarOptions\",\r\n \"optionsNameFQ\": \"r_eventLinkAnmeldungGridToolbarOptions\"\r\n },\r\n \"caption\": \"event-edit.r_eventlinkanmeldunggrid_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_EventLinkAnmeldung\"\r\n },\r\n \"dataModel\": \"$m_EventLinkAnmeldung\",\r\n \"editDataContext\": \"$m_EventLinkAnmeldungEdit\",\r\n \"idEditPopup\": \"eventLinkAnmeldungEditPopup\",\r\n \"listEdits\": [],\r\n \"filters\": [],\r\n \"commands\": [{\r\n \"binding\": {\r\n \"dataContext\": \"$m_Event\",\r\n \"bindTo\": \"$f_EventEditUtils.exportLinkAnmeldungCommand\",\r\n \"bindToFQ\": \"functions.$f_EventEditUtils.exportLinkAnmeldungCommand\"\r\n }\r\n }],\r\n \"id\": \"r_eventLinkAnmeldungGrid\",\r\n \"options\": {\r\n \"optionsName\": \"r_eventLinkAnmeldungGridOptions\",\r\n \"optionsNameFQ\": \"r_eventLinkAnmeldungGridOptions\"\r\n }\r\n });\r\n this.widgetCreator.addListView(this, {\r\n \"itemClass\": \"col-xs-12 col-sm-6\",\r\n \"useDefaultListItemStyle\": false,\r\n \"optionsToolbar\": {\r\n \"optionsName\": \"r_eventTeilnehmerListViewToolbarOptions\",\r\n \"optionsNameFQ\": \"r_eventTeilnehmerListViewToolbarOptions\"\r\n },\r\n \"binding\": {\r\n \"dataContext\": \"$m_EventTeilnehmerEdit\"\r\n },\r\n \"dataModel\": \"$m_EventTeilnehmerEdit\",\r\n \"pageSize\": 4,\r\n \"listEdits\": [],\r\n \"filters\": [],\r\n \"commands\": [],\r\n \"id\": \"r_eventTeilnehmerListView\",\r\n \"options\": {\r\n \"optionsName\": \"r_eventTeilnehmerListViewOptions\",\r\n \"optionsNameFQ\": \"r_eventTeilnehmerListViewOptions\"\r\n }\r\n });\r\n super.onConstructionFinished();\r\n }\r\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\";\r\nimport {\r\n EventLinkAnmeldungEditUtils\r\n} from \"./event-link-anmeldung-edit-utils\";\r\n\r\n@fwx.autoinject\r\nexport class EventLinkAnmeldungEditForm extends fwx.FormBase {\r\n constructor(\r\n element: Element,\r\n formBaseImport: fwx.FormBaseImport,\r\n private $f_EventLinkAnmeldungEditUtils: EventLinkAnmeldungEditUtils) {\r\n super(element, formBaseImport);\r\n this.id = \"eventLinkAnmeldungEdit\";\r\n this.title = \"eventLinkAnmeldungEdit.eventlinkanmeldungedit_caption\";\r\n this.addModel({\r\n \"id\": \"$m_EventLinkAnmeldung\",\r\n \"webApiAction\": \"ZIT/Objekte/EventLinkAnmeldung\",\r\n \"webApiExpand\": {\r\n 'Element': null\r\n },\r\n \"key\": \"variables.data.$id\",\r\n \"keyProperty\": \"Id\",\r\n \"postOnSave\": true,\r\n \"allowNew\": \"false\",\r\n \"allowDelete\": \"true\",\r\n \"filters\": []\r\n });\r\n this.addModel({\r\n \"id\": \"$m_EventAnmeldungsgruppe\",\r\n \"webApiAction\": \"ZIT/Stammdaten/EventAnmeldungsgruppe\",\r\n \"key\": \"models.data.$m_EventLinkAnmeldung.Element.IdEventAnmeldungsgruppe\",\r\n \"keyProperty\": \"Id\",\r\n \"filters\": []\r\n });\r\n this.addVariable({\r\n \"id\": \"$id\"\r\n });\r\n this.addFunction(\"$f_EventLinkAnmeldungEditUtils\", $f_EventLinkAnmeldungEditUtils, \"functions.$f_EventLinkAnmeldungEditUtils\");\r\n this.widgetCreator.addValidationGroup(this, {\r\n \"id\": \"wd1\",\r\n \"options\": {\r\n \"optionsName\": \"wd1Options\",\r\n \"optionsNameFQ\": \"wd1Options\"\r\n }\r\n });\r\n this.widgetCreator.addRadioGroup(this, {\r\n \"idSelect\": \"geschlecht\",\r\n \"filters\": [],\r\n \"caption\": \"eventLinkAnmeldungEdit.r_geschlecht_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_EventLinkAnmeldung\",\r\n \"bindTo\": \"Element.Geschlecht\",\r\n \"bindToFQ\": \"models.data.$m_EventLinkAnmeldung.Element.Geschlecht\",\r\n \"propertyPrefix\": \"Element\"\r\n },\r\n \"validationRules\": [{\r\n \"item\": {\r\n \"type\": \"required\",\r\n \"parameters\": []\r\n }\r\n }],\r\n \"id\": \"r_geschlecht\",\r\n \"options\": {\r\n \"optionsName\": \"r_geschlechtOptions\",\r\n \"optionsNameFQ\": \"r_geschlechtOptions\"\r\n }\r\n });\r\n this.widgetCreator.addTextBox(this, {\r\n \"maxLength\": 100,\r\n \"caption\": \"eventLinkAnmeldungEdit.r_vorname_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_EventLinkAnmeldung\",\r\n \"bindTo\": \"Element.Vorname\",\r\n \"bindToFQ\": \"models.data.$m_EventLinkAnmeldung.Element.Vorname\",\r\n \"propertyPrefix\": \"Element\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_vorname\",\r\n \"options\": {\r\n \"optionsName\": \"r_vornameOptions\",\r\n \"optionsNameFQ\": \"r_vornameOptions\"\r\n }\r\n });\r\n this.widgetCreator.addTextBox(this, {\r\n \"maxLength\": 100,\r\n \"caption\": \"eventLinkAnmeldungEdit.r_nachname_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_EventLinkAnmeldung\",\r\n \"bindTo\": \"Element.Nachname\",\r\n \"bindToFQ\": \"models.data.$m_EventLinkAnmeldung.Element.Nachname\",\r\n \"propertyPrefix\": \"Element\"\r\n },\r\n \"validationRules\": [{\r\n \"item\": {\r\n \"type\": \"required\",\r\n \"parameters\": []\r\n }\r\n }],\r\n \"id\": \"r_nachname\",\r\n \"options\": {\r\n \"optionsName\": \"r_nachnameOptions\",\r\n \"optionsNameFQ\": \"r_nachnameOptions\"\r\n }\r\n });\r\n this.widgetCreator.addSelectBox(this, {\r\n \"idSelect\": \"landvorwahl\",\r\n \"filters\": [],\r\n \"caption\": \"eventLinkAnmeldungEdit.r_telefonlandvorwahl_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_EventLinkAnmeldung\",\r\n \"bindTo\": \"Element.TelefonLandvorwahl\",\r\n \"bindToFQ\": \"models.data.$m_EventLinkAnmeldung.Element.TelefonLandvorwahl\",\r\n \"propertyPrefix\": \"Element\"\r\n },\r\n \"validationRules\": [{\r\n \"item\": {\r\n \"type\": \"required\",\r\n \"parameters\": []\r\n }\r\n }],\r\n \"id\": \"r_telefonLandvorwahl\",\r\n \"options\": {\r\n \"optionsName\": \"r_telefonLandvorwahlOptions\",\r\n \"optionsNameFQ\": \"r_telefonLandvorwahlOptions\"\r\n }\r\n });\r\n this.widgetCreator.addTextBox(this, {\r\n \"maxLength\": 100,\r\n \"caption\": \"eventLinkAnmeldungEdit.r_telefon_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_EventLinkAnmeldung\",\r\n \"bindTo\": \"Element.Telefon\",\r\n \"bindToFQ\": \"models.data.$m_EventLinkAnmeldung.Element.Telefon\",\r\n \"propertyPrefix\": \"Element\"\r\n },\r\n \"validationRules\": [{\r\n \"item\": {\r\n \"type\": \"telefon\",\r\n \"parameters\": []\r\n }\r\n }, {\r\n \"item\": {\r\n \"type\": \"required\",\r\n \"parameters\": []\r\n }\r\n }],\r\n \"id\": \"r_telefon\",\r\n \"options\": {\r\n \"optionsName\": \"r_telefonOptions\",\r\n \"optionsNameFQ\": \"r_telefonOptions\"\r\n }\r\n });\r\n this.widgetCreator.addTextBox(this, {\r\n \"maxLength\": 100,\r\n \"caption\": \"eventLinkAnmeldungEdit.r_email_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_EventLinkAnmeldung\",\r\n \"bindTo\": \"Element.Email\",\r\n \"bindToFQ\": \"models.data.$m_EventLinkAnmeldung.Element.Email\",\r\n \"propertyPrefix\": \"Element\"\r\n },\r\n \"validationRules\": [{\r\n \"item\": {\r\n \"type\": \"required\",\r\n \"parameters\": []\r\n }\r\n }],\r\n \"id\": \"r_email\",\r\n \"options\": {\r\n \"optionsName\": \"r_emailOptions\",\r\n \"optionsNameFQ\": \"r_emailOptions\"\r\n }\r\n });\r\n this.widgetCreator.addSelectBox(this, {\r\n \"idSelect\": \"eventAnmeldungsgruppe\",\r\n \"filters\": [],\r\n \"caption\": \"eventLinkAnmeldungEdit.r_anmeldungsgruppe_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_EventLinkAnmeldung\",\r\n \"bindTo\": \"Element.IdEventAnmeldungsgruppe\",\r\n \"bindToFQ\": \"models.data.$m_EventLinkAnmeldung.Element.IdEventAnmeldungsgruppe\",\r\n \"propertyPrefix\": \"Element\"\r\n },\r\n \"validationRules\": [{\r\n \"item\": {\r\n \"type\": \"required\",\r\n \"parameters\": []\r\n }\r\n }],\r\n \"id\": \"r_anmeldungsgruppe\",\r\n \"options\": {\r\n \"optionsName\": \"r_anmeldungsgruppeOptions\",\r\n \"optionsNameFQ\": \"r_anmeldungsgruppeOptions\"\r\n }\r\n });\r\n this.widgetCreator.addNumberBox(this, {\r\n \"min\": 10.0,\r\n \"max\": 99.0,\r\n \"caption\": \"eventLinkAnmeldungEdit.r_alter_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_EventLinkAnmeldung\",\r\n \"bindTo\": \"Element.Alter\",\r\n \"bindToFQ\": \"models.data.$m_EventLinkAnmeldung.Element.Alter\",\r\n \"propertyPrefix\": \"Element\"\r\n },\r\n \"validationRules\": [{\r\n \"item\": {\r\n \"type\": \"required\",\r\n \"parameters\": []\r\n }\r\n }],\r\n \"id\": \"r_alter\",\r\n \"options\": {\r\n \"optionsName\": \"r_alterOptions\",\r\n \"optionsNameFQ\": \"r_alterOptions\"\r\n }\r\n });\r\n this.widgetCreator.addSelectBox(this, {\r\n \"idSelect\": \"ausbildung\",\r\n \"filters\": [],\r\n \"caption\": \"eventLinkAnmeldungEdit.r_ausbildung_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_EventLinkAnmeldung\",\r\n \"bindTo\": \"Element.IdAusbildung\",\r\n \"bindToFQ\": \"models.data.$m_EventLinkAnmeldung.Element.IdAusbildung\",\r\n \"propertyPrefix\": \"Element\"\r\n },\r\n \"validationRules\": [{\r\n \"item\": {\r\n \"type\": \"required\",\r\n \"parameters\": []\r\n }\r\n }],\r\n \"id\": \"r_ausbildung\",\r\n \"options\": {\r\n \"optionsName\": \"r_ausbildungOptions\",\r\n \"optionsNameFQ\": \"r_ausbildungOptions\"\r\n }\r\n });\r\n this.widgetCreator.addTextBox(this, {\r\n \"maxLength\": 100,\r\n \"caption\": \"eventLinkAnmeldungEdit.r_klasse_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_EventLinkAnmeldung\",\r\n \"bindTo\": \"Element.Klasse\",\r\n \"bindToFQ\": \"models.data.$m_EventLinkAnmeldung.Element.Klasse\",\r\n \"propertyPrefix\": \"Element\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_klasse\",\r\n \"options\": {\r\n \"optionsName\": \"r_klasseOptions\",\r\n \"optionsNameFQ\": \"r_klasseOptions\"\r\n }\r\n });\r\n this.widgetCreator.addNumberBox(this, {\r\n \"min\": 1.0,\r\n \"max\": 999.0,\r\n \"caption\": \"eventLinkAnmeldungEdit.r_anzahlteilnehmer_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_EventLinkAnmeldung\",\r\n \"bindTo\": \"Element.AnzahlTeilnehmer\",\r\n \"bindToFQ\": \"models.data.$m_EventLinkAnmeldung.Element.AnzahlTeilnehmer\",\r\n \"propertyPrefix\": \"Element\"\r\n },\r\n \"validationRules\": [{\r\n \"item\": {\r\n \"type\": \"required\",\r\n \"parameters\": []\r\n }\r\n }],\r\n \"id\": \"r_anzahlTeilnehmer\",\r\n \"options\": {\r\n \"optionsName\": \"r_anzahlTeilnehmerOptions\",\r\n \"optionsNameFQ\": \"r_anzahlTeilnehmerOptions\"\r\n }\r\n });\r\n this.widgetCreator.addTextBox(this, {\r\n \"maxLength\": 250,\r\n \"caption\": \"eventLinkAnmeldungEdit.r_eventerfahrendurch_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_EventLinkAnmeldung\",\r\n \"bindTo\": \"Element.EventErfahrenDurch\",\r\n \"bindToFQ\": \"models.data.$m_EventLinkAnmeldung.Element.EventErfahrenDurch\",\r\n \"propertyPrefix\": \"Element\"\r\n },\r\n \"validationRules\": [{\r\n \"item\": {\r\n \"type\": \"required\",\r\n \"parameters\": []\r\n }\r\n }],\r\n \"id\": \"r_eventErfahrenDurch\",\r\n \"options\": {\r\n \"optionsName\": \"r_eventErfahrenDurchOptions\",\r\n \"optionsNameFQ\": \"r_eventErfahrenDurchOptions\"\r\n }\r\n });\r\n this.widgetCreator.addDateBox(this, {\r\n \"format\": \"d\",\r\n \"caption\": \"eventLinkAnmeldungEdit.r_startdatum_caption\",\r\n \"isReadOnly\": true,\r\n \"binding\": {\r\n \"dataContext\": \"$m_EventLinkAnmeldung\",\r\n \"bindTo\": \"Element.StartDatum\",\r\n \"bindToFQ\": \"models.data.$m_EventLinkAnmeldung.Element.StartDatum\",\r\n \"propertyPrefix\": \"Element\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_startDatum\",\r\n \"options\": {\r\n \"optionsName\": \"r_startDatumOptions\",\r\n \"optionsNameFQ\": \"r_startDatumOptions\"\r\n }\r\n });\r\n this.widgetCreator.addDateBox(this, {\r\n \"format\": \"t\",\r\n \"caption\": \"eventLinkAnmeldungEdit.r_startuhrzeit_caption\",\r\n \"isReadOnly\": true,\r\n \"binding\": {\r\n \"dataContext\": \"$m_EventLinkAnmeldung\",\r\n \"bindTo\": \"Element.StartUhrzeit\",\r\n \"bindToFQ\": \"models.data.$m_EventLinkAnmeldung.Element.StartUhrzeit\",\r\n \"propertyPrefix\": \"Element\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_startUhrzeit\",\r\n \"options\": {\r\n \"optionsName\": \"r_startUhrzeitOptions\",\r\n \"optionsNameFQ\": \"r_startUhrzeitOptions\"\r\n }\r\n });\r\n this.widgetCreator.addDateBox(this, {\r\n \"format\": \"d\",\r\n \"caption\": \"eventLinkAnmeldungEdit.r_endedatum_caption\",\r\n \"isReadOnly\": true,\r\n \"binding\": {\r\n \"dataContext\": \"$m_EventLinkAnmeldung\",\r\n \"bindTo\": \"Element.EndeDatum\",\r\n \"bindToFQ\": \"models.data.$m_EventLinkAnmeldung.Element.EndeDatum\",\r\n \"propertyPrefix\": \"Element\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_endeDatum\",\r\n \"options\": {\r\n \"optionsName\": \"r_endeDatumOptions\",\r\n \"optionsNameFQ\": \"r_endeDatumOptions\"\r\n }\r\n });\r\n this.widgetCreator.addDateBox(this, {\r\n \"format\": \"t\",\r\n \"caption\": \"eventLinkAnmeldungEdit.r_endeuhrzeit_caption\",\r\n \"isReadOnly\": true,\r\n \"binding\": {\r\n \"dataContext\": \"$m_EventLinkAnmeldung\",\r\n \"bindTo\": \"Element.EndeUhrzeit\",\r\n \"bindToFQ\": \"models.data.$m_EventLinkAnmeldung.Element.EndeUhrzeit\",\r\n \"propertyPrefix\": \"Element\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_endeUhrzeit\",\r\n \"options\": {\r\n \"optionsName\": \"r_endeUhrzeitOptions\",\r\n \"optionsNameFQ\": \"r_endeUhrzeitOptions\"\r\n }\r\n });\r\n super.onConstructionFinished();\r\n }\r\n}","module.exports = \"\";","import * as fwx from \"../../../../framework/forms/form-export\";\r\nimport {\r\n EventListUtils\r\n} from \"./event-list-utils\";\r\n\r\n@fwx.autoinject\r\nexport class EventListForm extends fwx.FormBase {\r\n constructor(\r\n element: Element,\r\n formBaseImport: fwx.FormBaseImport,\r\n private $f_EventListUtils: EventListUtils) {\r\n super(element, formBaseImport);\r\n this.id = \"eventList\";\r\n this.title = \"eventList.eventlist_caption\";\r\n this.addFunction(\"$f_EventListUtils\", $f_EventListUtils, \"functions.$f_EventListUtils\");\r\n this.widgetCreator.addValidationGroup(this, {\r\n \"id\": \"wd1\",\r\n \"options\": {\r\n \"optionsName\": \"wd1Options\",\r\n \"optionsNameFQ\": \"wd1Options\"\r\n }\r\n });\r\n super.onConstructionFinished();\r\n }\r\n}","module.exports = \"\";","import * as fwx from \"../../../../framework/forms/form-export\";\r\nimport {\r\n EventTeilnehmerEditUtils\r\n} from \"./event-teilnehmer-edit-utils\";\r\n\r\n@fwx.autoinject\r\nexport class EventTeilnehmerEditForm extends fwx.FormBase {\r\n constructor(\r\n element: Element,\r\n formBaseImport: fwx.FormBaseImport,\r\n private $f_EventTeilnehmerEditUtils: EventTeilnehmerEditUtils) {\r\n super(element, formBaseImport);\r\n this.id = \"event-teilnehmer-edit\";\r\n this.title = \"event-teilnehmer-edit.event-teilnehmer-edit_caption\";\r\n this.addModel({\r\n \"id\": \"$m_EventTeilnehmer\",\r\n \"webApiAction\": \"ZIT/Objekte/EventTeilnehmer\",\r\n \"webApiExpand\": {\r\n 'Kopf': {\r\n 'expand': {\r\n 'Bewerbung': null\r\n }\r\n }\r\n },\r\n \"key\": \"variables.data.$id\",\r\n \"keyProperty\": \"Id\",\r\n \"postOnSave\": true,\r\n \"filters\": []\r\n });\r\n this.addModel({\r\n \"id\": \"$m_EventZeitraum\",\r\n \"webApiAction\": \"ZIT/Objekte/EventZeitraum\",\r\n \"webApiExpand\": {\r\n 'Kopf': null\r\n },\r\n \"key\": \"models.data.$m_EventTeilnehmer.IdEventZeitraum\",\r\n \"keyProperty\": \"Id\",\r\n \"filters\": []\r\n });\r\n this.addModel({\r\n \"id\": \"$m_Event\",\r\n \"webApiAction\": \"ZIT/Objekte/Event\",\r\n \"webApiExpand\": {\r\n 'Kopf': null\r\n },\r\n \"modificationInfoEnabled\": true,\r\n \"key\": \"models.data.$m_EventTeilnehmer.IdEvent\",\r\n \"keyProperty\": \"Id\",\r\n \"filters\": []\r\n });\r\n this.addCommand({\r\n \"binding\": {\r\n \"bindTo\": \"$f_EventTeilnehmerEditUtils.actionCommand\",\r\n \"bindToFQ\": \"functions.$f_EventTeilnehmerEditUtils.actionCommand\"\r\n }\r\n });\r\n this.addCommand({\r\n \"binding\": {\r\n \"bindTo\": \"$f_EventTeilnehmerEditUtils.statusAendernPopupCommand\",\r\n \"bindToFQ\": \"functions.$f_EventTeilnehmerEditUtils.statusAendernPopupCommand\"\r\n }\r\n });\r\n this.addFunction(\"$f_EventTeilnehmerEditUtils\", $f_EventTeilnehmerEditUtils, \"functions.$f_EventTeilnehmerEditUtils\");\r\n this.widgetCreator.addValidationGroup(this, {\r\n \"id\": \"wd1\",\r\n \"options\": {\r\n \"optionsName\": \"wd1Options\",\r\n \"optionsNameFQ\": \"wd1Options\"\r\n }\r\n });\r\n this.widgetCreator.addSelectBox(this, {\r\n \"idSelect\": \"eventZeitraum\",\r\n \"filter\": [\"IdEvent\", {\r\n \"isBound\": true,\r\n \"expression\": \"models.data.$m_EventTeilnehmer.IdEvent\"\r\n }],\r\n \"filters\": [],\r\n \"caption\": \"event-teilnehmer-edit.r_eventzeitraum_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_EventTeilnehmer\",\r\n \"bindTo\": \"IdEventZeitraum\",\r\n \"bindToFQ\": \"models.data.$m_EventTeilnehmer.IdEventZeitraum\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_eventZeitraum\",\r\n \"options\": {\r\n \"optionsName\": \"r_eventZeitraumOptions\",\r\n \"optionsNameFQ\": \"r_eventZeitraumOptions\"\r\n }\r\n });\r\n this.widgetCreator.addTextBox(this, {\r\n \"caption\": \"event-teilnehmer-edit.r_eventzeitraumbezeichnung_caption\",\r\n \"isReadOnly\": true,\r\n \"binding\": {\r\n \"dataContext\": \"$m_EventTeilnehmer\",\r\n \"bindTo\": \"Kopf.EventZeitraumBezeichnung\",\r\n \"bindToFQ\": \"models.data.$m_EventTeilnehmer.Kopf.EventZeitraumBezeichnung\",\r\n \"propertyPrefix\": \"Kopf\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_eventZeitraumBezeichnung\",\r\n \"options\": {\r\n \"optionsName\": \"r_eventZeitraumBezeichnungOptions\",\r\n \"optionsNameFQ\": \"r_eventZeitraumBezeichnungOptions\"\r\n }\r\n });\r\n this.widgetCreator.addTextBox(this, {\r\n \"caption\": \"event-teilnehmer-edit.r_person_caption\",\r\n \"isReadOnly\": true,\r\n \"binding\": {\r\n \"dataContext\": \"$m_EventTeilnehmer\",\r\n \"bindTo\": \"Kopf.PersonName\",\r\n \"bindToFQ\": \"models.data.$m_EventTeilnehmer.Kopf.PersonName\",\r\n \"propertyPrefix\": \"Kopf\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_person\",\r\n \"options\": {\r\n \"optionsName\": \"r_personOptions\",\r\n \"optionsNameFQ\": \"r_personOptions\"\r\n }\r\n });\r\n this.widgetCreator.addTextBox(this, {\r\n \"caption\": \"event-teilnehmer-edit.r_klasse_caption\",\r\n \"isReadOnly\": true,\r\n \"binding\": {\r\n \"dataContext\": \"$m_EventTeilnehmer\",\r\n \"bindTo\": \"Kopf.StelleninseratKlasseBezeichnung\",\r\n \"bindToFQ\": \"models.data.$m_EventTeilnehmer.Kopf.StelleninseratKlasseBezeichnung\",\r\n \"propertyPrefix\": \"Kopf\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_klasse\",\r\n \"options\": {\r\n \"optionsName\": \"r_klasseOptions\",\r\n \"optionsNameFQ\": \"r_klasseOptions\"\r\n }\r\n });\r\n this.widgetCreator.addTextBox(this, {\r\n \"caption\": \"event-teilnehmer-edit.r_geschaeftspartner_caption\",\r\n \"isReadOnly\": true,\r\n \"binding\": {\r\n \"dataContext\": \"$m_EventTeilnehmer\",\r\n \"bindTo\": \"Kopf.GeschaeftspartnerName1\",\r\n \"bindToFQ\": \"models.data.$m_EventTeilnehmer.Kopf.GeschaeftspartnerName1\",\r\n \"propertyPrefix\": \"Kopf\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_geschaeftspartner\",\r\n \"options\": {\r\n \"optionsName\": \"r_geschaeftspartnerOptions\",\r\n \"optionsNameFQ\": \"r_geschaeftspartnerOptions\"\r\n }\r\n });\r\n this.widgetCreator.addTextBox(this, {\r\n \"caption\": \"event-teilnehmer-edit.r_geschaeftspartnerschule_caption\",\r\n \"isReadOnly\": true,\r\n \"binding\": {\r\n \"dataContext\": \"$m_EventTeilnehmer\",\r\n \"bindTo\": \"Kopf.GeschaeftspartnerSchuleName1\",\r\n \"bindToFQ\": \"models.data.$m_EventTeilnehmer.Kopf.GeschaeftspartnerSchuleName1\",\r\n \"propertyPrefix\": \"Kopf\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_geschaeftspartnerSchule\",\r\n \"options\": {\r\n \"optionsName\": \"r_geschaeftspartnerSchuleOptions\",\r\n \"optionsNameFQ\": \"r_geschaeftspartnerSchuleOptions\"\r\n }\r\n });\r\n this.widgetCreator.addTextBox(this, {\r\n \"caption\": \"event-teilnehmer-edit.r_stelleninserat_caption\",\r\n \"isReadOnly\": true,\r\n \"binding\": {\r\n \"dataContext\": \"$m_EventTeilnehmer\",\r\n \"bindTo\": \"Kopf.StelleninseratBezeichnung\",\r\n \"bindToFQ\": \"models.data.$m_EventTeilnehmer.Kopf.StelleninseratBezeichnung\",\r\n \"propertyPrefix\": \"Kopf\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_stelleninserat\",\r\n \"options\": {\r\n \"optionsName\": \"r_stelleninseratOptions\",\r\n \"optionsNameFQ\": \"r_stelleninseratOptions\"\r\n }\r\n });\r\n this.widgetCreator.addDateBox(this, {\r\n \"format\": \"d\",\r\n \"caption\": \"event-teilnehmer-edit.r_startdatum_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_EventTeilnehmer\",\r\n \"bindTo\": \"Kopf.StartDatum\",\r\n \"bindToFQ\": \"models.data.$m_EventTeilnehmer.Kopf.StartDatum\",\r\n \"propertyPrefix\": \"Kopf\"\r\n },\r\n \"validationRules\": [{\r\n \"item\": {\r\n \"type\": \"required\",\r\n \"parameters\": []\r\n }\r\n }],\r\n \"onValueChanged\": \"functions.$f_EventTeilnehmerEditUtils.onStartDatumChanged\",\r\n \"id\": \"r_startDatum\",\r\n \"options\": {\r\n \"optionsName\": \"r_startDatumOptions\",\r\n \"optionsNameFQ\": \"r_startDatumOptions\"\r\n }\r\n });\r\n this.widgetCreator.addDateBox(this, {\r\n \"format\": \"t\",\r\n \"caption\": \"event-teilnehmer-edit.r_startuhrzeit_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_EventTeilnehmer\",\r\n \"bindTo\": \"Kopf.StartUhrzeit\",\r\n \"bindToFQ\": \"models.data.$m_EventTeilnehmer.Kopf.StartUhrzeit\",\r\n \"propertyPrefix\": \"Kopf\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_startUhrzeit\",\r\n \"options\": {\r\n \"optionsName\": \"r_startUhrzeitOptions\",\r\n \"optionsNameFQ\": \"r_startUhrzeitOptions\"\r\n }\r\n });\r\n this.widgetCreator.addDateBox(this, {\r\n \"format\": \"d\",\r\n \"caption\": \"event-teilnehmer-edit.r_endedatum_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_EventTeilnehmer\",\r\n \"bindTo\": \"Kopf.EndeDatum\",\r\n \"bindToFQ\": \"models.data.$m_EventTeilnehmer.Kopf.EndeDatum\",\r\n \"propertyPrefix\": \"Kopf\"\r\n },\r\n \"validationRules\": [{\r\n \"item\": {\r\n \"type\": \"required\",\r\n \"parameters\": []\r\n }\r\n }],\r\n \"id\": \"r_endeDatum\",\r\n \"options\": {\r\n \"optionsName\": \"r_endeDatumOptions\",\r\n \"optionsNameFQ\": \"r_endeDatumOptions\"\r\n }\r\n });\r\n this.widgetCreator.addDateBox(this, {\r\n \"format\": \"t\",\r\n \"caption\": \"event-teilnehmer-edit.r_endeuhrzeit_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_EventTeilnehmer\",\r\n \"bindTo\": \"Kopf.EndeUhrzeit\",\r\n \"bindToFQ\": \"models.data.$m_EventTeilnehmer.Kopf.EndeUhrzeit\",\r\n \"propertyPrefix\": \"Kopf\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_endeUhrzeit\",\r\n \"options\": {\r\n \"optionsName\": \"r_endeUhrzeitOptions\",\r\n \"optionsNameFQ\": \"r_endeUhrzeitOptions\"\r\n }\r\n });\r\n this.widgetCreator.addDateBox(this, {\r\n \"format\": \"t\",\r\n \"caption\": \"event-teilnehmer-edit.r_meldenum_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_EventTeilnehmer\",\r\n \"bindTo\": \"Kopf.MeldenUm\",\r\n \"bindToFQ\": \"models.data.$m_EventTeilnehmer.Kopf.MeldenUm\",\r\n \"propertyPrefix\": \"Kopf\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_meldenUm\",\r\n \"options\": {\r\n \"optionsName\": \"r_meldenUmOptions\",\r\n \"optionsNameFQ\": \"r_meldenUmOptions\"\r\n }\r\n });\r\n this.widgetCreator.addTextArea(this, {\r\n \"height\": \"100px\",\r\n \"caption\": \"event-teilnehmer-edit.r_bemerkung_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_EventTeilnehmer\",\r\n \"bindTo\": \"Kopf.Bemerkung\",\r\n \"bindToFQ\": \"models.data.$m_EventTeilnehmer.Kopf.Bemerkung\",\r\n \"propertyPrefix\": \"Kopf\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_bemerkung\",\r\n \"options\": {\r\n \"optionsName\": \"r_bemerkungOptions\",\r\n \"optionsNameFQ\": \"r_bemerkungOptions\"\r\n }\r\n });\r\n this.widgetCreator.addTextArea(this, {\r\n \"height\": \"100px\",\r\n \"caption\": \"event-teilnehmer-edit.r_bemerkunggeschaeftspartner_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_EventTeilnehmer\",\r\n \"bindTo\": \"Kopf.BemerkungGeschaeftspartner\",\r\n \"bindToFQ\": \"models.data.$m_EventTeilnehmer.Kopf.BemerkungGeschaeftspartner\",\r\n \"propertyPrefix\": \"Kopf\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_bemerkungGeschaeftspartner\",\r\n \"options\": {\r\n \"optionsName\": \"r_bemerkungGeschaeftspartnerOptions\",\r\n \"optionsNameFQ\": \"r_bemerkungGeschaeftspartnerOptions\"\r\n }\r\n });\r\n this.widgetCreator.addTextArea(this, {\r\n \"height\": \"100px\",\r\n \"caption\": \"event-teilnehmer-edit.r_bemerkunggeschaeftspartnerschule_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_EventTeilnehmer\",\r\n \"bindTo\": \"Kopf.BemerkungGeschaeftspartnerSchule\",\r\n \"bindToFQ\": \"models.data.$m_EventTeilnehmer.Kopf.BemerkungGeschaeftspartnerSchule\",\r\n \"propertyPrefix\": \"Kopf\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_bemerkungGeschaeftspartnerSchule\",\r\n \"options\": {\r\n \"optionsName\": \"r_bemerkungGeschaeftspartnerSchuleOptions\",\r\n \"optionsNameFQ\": \"r_bemerkungGeschaeftspartnerSchuleOptions\"\r\n }\r\n });\r\n super.onConstructionFinished();\r\n }\r\n}","module.exports = \"\";","import * as fwx from \"../../../../framework/forms/form-export\";\r\nimport {\r\n EventTeilnehmerReadUtils\r\n} from \"./event-teilnehmer-read-utils\";\r\n\r\n@fwx.autoinject\r\nexport class EventTeilnehmerReadForm extends fwx.FormBase {\r\n constructor(\r\n element: Element,\r\n formBaseImport: fwx.FormBaseImport,\r\n private $f_EventTeilnehmerReadUtils: EventTeilnehmerReadUtils) {\r\n super(element, formBaseImport);\r\n this.id = \"event-teilnehmer-read\";\r\n this.title = \"event-teilnehmer-read.event-teilnehmer-read_caption\";\r\n this.addModel({\r\n \"id\": \"$m_EventTeilnehmer\",\r\n \"webApiAction\": \"ZIT/Objekte/EventTeilnehmer\",\r\n \"webApiExpand\": {\r\n 'Kopf': null\r\n },\r\n \"key\": \"variables.data.$id\",\r\n \"keyProperty\": \"Id\",\r\n \"filters\": []\r\n });\r\n this.addCommand({\r\n \"binding\": {\r\n \"bindTo\": \"$f_EventTeilnehmerReadUtils.actionCommand\",\r\n \"bindToFQ\": \"functions.$f_EventTeilnehmerReadUtils.actionCommand\"\r\n }\r\n });\r\n this.addFunction(\"$f_EventTeilnehmerReadUtils\", $f_EventTeilnehmerReadUtils, \"functions.$f_EventTeilnehmerReadUtils\");\r\n this.widgetCreator.addValidationGroup(this, {\r\n \"id\": \"wd1\",\r\n \"options\": {\r\n \"optionsName\": \"wd1Options\",\r\n \"optionsNameFQ\": \"wd1Options\"\r\n }\r\n });\r\n super.onConstructionFinished();\r\n }\r\n}","module.exports = \"\";","import * as fwx from \"../../../../framework/forms/form-export\";\r\nimport {\r\n EventZeitraumEditUtils\r\n} from \"./event-zeitraum-edit-utils\";\r\n\r\n@fwx.autoinject\r\nexport class EventZeitraumEditForm extends fwx.FormBase {\r\n constructor(\r\n element: Element,\r\n formBaseImport: fwx.FormBaseImport,\r\n private $f_EventZeitraumEditUtils: EventZeitraumEditUtils) {\r\n super(element, formBaseImport);\r\n this.id = \"event-zeitraum-edit\";\r\n this.title = \"event-zeitraum-edit.event-zeitraum-edit_caption\";\r\n this.addModel({\r\n \"id\": \"$m_EventZeitraum\",\r\n \"webApiAction\": \"ZIT/Objekte/EventZeitraum\",\r\n \"webApiExpand\": {\r\n 'Kopf': {\r\n 'expand': {\r\n 'Stelleninserate': null\r\n }\r\n },\r\n 'Event': {\r\n 'expand': {\r\n 'Kopf': null\r\n }\r\n }\r\n },\r\n \"key\": \"variables.data.$id\",\r\n \"keyProperty\": \"Id\",\r\n \"postOnSave\": true,\r\n \"filters\": []\r\n });\r\n this.addModel({\r\n \"id\": \"$m_EventZeitraumKopf\",\r\n \"webApiAction\": \"ZIT/Objekte/EventZeitraumKopfElement\",\r\n \"key\": \"models.data.$m_EventZeitraum.IdEventZeitraumKopfElement\",\r\n \"keyProperty\": \"Id\",\r\n \"filters\": []\r\n });\r\n this.addModel({\r\n \"id\": \"$m_Event\",\r\n \"webApiAction\": \"ZIT/Objekte/Event\",\r\n \"webApiExpand\": {\r\n 'Kopf': null\r\n },\r\n \"modificationInfoEnabled\": true,\r\n \"key\": \"models.data.$m_EventZeitraum.IdEvent\",\r\n \"keyProperty\": \"Id\",\r\n \"filters\": []\r\n });\r\n this.addModel({\r\n \"id\": \"$m_EventTyp\",\r\n \"webApiAction\": \"ZIT/Stammdaten/EventTyp\",\r\n \"key\": \"models.data.$m_Event.Kopf.IdEventTyp\",\r\n \"keyProperty\": \"Id\",\r\n \"filters\": []\r\n });\r\n this.addModel({\r\n \"id\": \"$m_EventZeitraumKontingentRel\",\r\n \"webApiAction\": \"ZIT/Objekte/EventZeitraumKontingentElement\",\r\n \"keyProperty\": \"Id\",\r\n \"filters\": []\r\n });\r\n this.addModel({\r\n \"id\": \"$m_EventZeitraumKontingentEdit\",\r\n \"webApiAction\": \"ZIT/Objekte/EventZeitraumKontingentElement\",\r\n \"keyProperty\": \"Id\",\r\n \"filters\": []\r\n });\r\n this.addModel({\r\n \"id\": \"$m_EventZeitraumStelleninseratRel\",\r\n \"webApiAction\": \"ZIT/Objekte/EventZeitraumKopfElementZuStelleninserat\",\r\n \"webApiExpand\": {\r\n 'Stelleninserat': null\r\n },\r\n \"keyProperty\": \"Id\",\r\n \"filters\": []\r\n });\r\n this.addModel({\r\n \"id\": \"$m_EventZeitraumStelleninseratEdit\",\r\n \"webApiAction\": \"ZIT/Objekte/EventZeitraumKopfElementZuStelleninserat\",\r\n \"keyProperty\": \"Id\",\r\n \"filters\": []\r\n });\r\n this.addVariable({\r\n \"id\": \"$id\"\r\n });\r\n this.addCommand({\r\n \"binding\": {\r\n \"bindTo\": \"$f_EventZeitraumEditUtils.actionCommand\",\r\n \"bindToFQ\": \"functions.$f_EventZeitraumEditUtils.actionCommand\"\r\n }\r\n });\r\n this.addEditPopup({\r\n \"idContent\": \"eventZeitraumKontingentEditPopupContent\",\r\n \"mappings\": [{\r\n \"to\": \"$id\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_EventZeitraumKontingentEdit\",\r\n \"bindTo\": \"Id\",\r\n \"bindToFQ\": \"models.data.$m_EventZeitraumKontingentEdit.Id\"\r\n }\r\n }],\r\n \"id\": \"eventZeitraumKontingentEditPopup\",\r\n \"options\": {\r\n \"optionsName\": \"eventZeitraumKontingentEditPopupOptions\",\r\n \"optionsNameFQ\": \"eventZeitraumKontingentEditPopupOptions\"\r\n },\r\n \"height\": \"auto\",\r\n \"width\": \"500px\",\r\n \"commands\": []\r\n });\r\n this.addEditPopup({\r\n \"idContent\": \"eventZeitraumStelleninseratEditPopupContent\",\r\n \"mappings\": [{\r\n \"to\": \"$id\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_EventZeitraumStelleninseratEdit\",\r\n \"bindTo\": \"Id\",\r\n \"bindToFQ\": \"models.data.$m_EventZeitraumStelleninseratEdit.Id\"\r\n }\r\n }, {\r\n \"to\": \"$v_idEvent\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Event\",\r\n \"bindTo\": \"Id\",\r\n \"bindToFQ\": \"models.data.$m_Event.Id\"\r\n }\r\n }],\r\n \"id\": \"eventZeitraumStelleninseratEditPopup\",\r\n \"options\": {\r\n \"optionsName\": \"eventZeitraumStelleninseratEditPopupOptions\",\r\n \"optionsNameFQ\": \"eventZeitraumStelleninseratEditPopupOptions\"\r\n },\r\n \"height\": \"auto\",\r\n \"width\": \"540px\",\r\n \"commands\": []\r\n });\r\n this.addFunction(\"$f_EventZeitraumEditUtils\", $f_EventZeitraumEditUtils, \"functions.$f_EventZeitraumEditUtils\");\r\n this.widgetCreator.addValidationGroup(this, {\r\n \"id\": \"wd1\",\r\n \"options\": {\r\n \"optionsName\": \"wd1Options\",\r\n \"optionsNameFQ\": \"wd1Options\"\r\n }\r\n });\r\n this.widgetCreator.addDateBox(this, {\r\n \"format\": \"d\",\r\n \"caption\": \"event-zeitraum-edit.r_startdatum_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_EventZeitraum\",\r\n \"bindTo\": \"Kopf.StartDatum\",\r\n \"bindToFQ\": \"models.data.$m_EventZeitraum.Kopf.StartDatum\",\r\n \"propertyPrefix\": \"Kopf\"\r\n },\r\n \"validationRules\": [{\r\n \"item\": {\r\n \"type\": \"required\",\r\n \"parameters\": []\r\n }\r\n }],\r\n \"onValueChanged\": \"functions.$f_EventZeitraumEditUtils.onStartDatumChanged\",\r\n \"id\": \"r_startDatum\",\r\n \"options\": {\r\n \"optionsName\": \"r_startDatumOptions\",\r\n \"optionsNameFQ\": \"r_startDatumOptions\"\r\n }\r\n });\r\n this.widgetCreator.addDateBox(this, {\r\n \"format\": \"t\",\r\n \"caption\": \"event-zeitraum-edit.r_startuhrzeit_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_EventZeitraum\",\r\n \"bindTo\": \"Kopf.StartUhrzeit\",\r\n \"bindToFQ\": \"models.data.$m_EventZeitraum.Kopf.StartUhrzeit\",\r\n \"propertyPrefix\": \"Kopf\"\r\n },\r\n \"validationRules\": [{\r\n \"binding\": {\r\n \"dataContext\": \"$m_EventZeitraum\",\r\n \"bindTo\": \"$f_EventZeitraumEditUtils.startUhrzeitValidationRule\",\r\n \"bindToFQ\": \"functions.$f_EventZeitraumEditUtils.startUhrzeitValidationRule\"\r\n }\r\n }],\r\n \"id\": \"r_startUhrzeit\",\r\n \"options\": {\r\n \"optionsName\": \"r_startUhrzeitOptions\",\r\n \"optionsNameFQ\": \"r_startUhrzeitOptions\"\r\n }\r\n });\r\n this.widgetCreator.addDateBox(this, {\r\n \"format\": \"d\",\r\n \"caption\": \"event-zeitraum-edit.r_endedatum_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_EventZeitraum\",\r\n \"bindTo\": \"Kopf.EndeDatum\",\r\n \"bindToFQ\": \"models.data.$m_EventZeitraum.Kopf.EndeDatum\",\r\n \"propertyPrefix\": \"Kopf\"\r\n },\r\n \"validationRules\": [{\r\n \"binding\": {\r\n \"dataContext\": \"$m_EventZeitraum\",\r\n \"bindTo\": \"$f_EventZeitraumEditUtils.endeDatumValidationRule\",\r\n \"bindToFQ\": \"functions.$f_EventZeitraumEditUtils.endeDatumValidationRule\"\r\n }\r\n }, {\r\n \"item\": {\r\n \"type\": \"required\",\r\n \"parameters\": []\r\n }\r\n }],\r\n \"id\": \"r_endeDatum\",\r\n \"options\": {\r\n \"optionsName\": \"r_endeDatumOptions\",\r\n \"optionsNameFQ\": \"r_endeDatumOptions\"\r\n }\r\n });\r\n this.widgetCreator.addDateBox(this, {\r\n \"format\": \"t\",\r\n \"caption\": \"event-zeitraum-edit.r_endeuhrzeit_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_EventZeitraum\",\r\n \"bindTo\": \"Kopf.EndeUhrzeit\",\r\n \"bindToFQ\": \"models.data.$m_EventZeitraum.Kopf.EndeUhrzeit\",\r\n \"propertyPrefix\": \"Kopf\"\r\n },\r\n \"validationRules\": [{\r\n \"binding\": {\r\n \"dataContext\": \"$m_EventZeitraum\",\r\n \"bindTo\": \"$f_EventZeitraumEditUtils.endeUhrzeitValidationRule\",\r\n \"bindToFQ\": \"functions.$f_EventZeitraumEditUtils.endeUhrzeitValidationRule\"\r\n }\r\n }],\r\n \"id\": \"r_endeUhrzeit\",\r\n \"options\": {\r\n \"optionsName\": \"r_endeUhrzeitOptions\",\r\n \"optionsNameFQ\": \"r_endeUhrzeitOptions\"\r\n }\r\n });\r\n this.widgetCreator.addDateBox(this, {\r\n \"format\": \"t\",\r\n \"caption\": \"event-zeitraum-edit.r_meldenum_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_EventZeitraum\",\r\n \"bindTo\": \"Kopf.MeldenUm\",\r\n \"bindToFQ\": \"models.data.$m_EventZeitraum.Kopf.MeldenUm\",\r\n \"propertyPrefix\": \"Kopf\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_meldenUm\",\r\n \"options\": {\r\n \"optionsName\": \"r_meldenUmOptions\",\r\n \"optionsNameFQ\": \"r_meldenUmOptions\"\r\n }\r\n });\r\n this.widgetCreator.addNumberBox(this, {\r\n \"showClearButton\": true,\r\n \"min\": 0.0,\r\n \"max\": 99999.0,\r\n \"format\": \"n0\",\r\n \"caption\": \"event-zeitraum-edit.r_kontingentgesamt_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_EventZeitraum\",\r\n \"bindTo\": \"Kopf.KontingentGesamt\",\r\n \"bindToFQ\": \"models.data.$m_EventZeitraum.Kopf.KontingentGesamt\",\r\n \"propertyPrefix\": \"Kopf\"\r\n },\r\n \"validationRules\": [{\r\n \"binding\": {\r\n \"dataContext\": \"$f_EventZeitraumEditUtils\",\r\n \"bindTo\": \"kontingentValidationRule\",\r\n \"bindToFQ\": \"functions.$f_EventZeitraumEditUtils.kontingentValidationRule\"\r\n }\r\n }],\r\n \"id\": \"r_kontingentGesamt\",\r\n \"options\": {\r\n \"optionsName\": \"r_kontingentGesamtOptions\",\r\n \"optionsNameFQ\": \"r_kontingentGesamtOptions\"\r\n }\r\n });\r\n this.widgetCreator.addDateBox(this, {\r\n \"format\": \"d\",\r\n \"caption\": \"event-zeitraum-edit.r_anmeldeschlussdatum_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_EventZeitraum\",\r\n \"bindTo\": \"Kopf.AnmeldeschlussDatum\",\r\n \"bindToFQ\": \"models.data.$m_EventZeitraum.Kopf.AnmeldeschlussDatum\",\r\n \"propertyPrefix\": \"Kopf\"\r\n },\r\n \"validationRules\": [{\r\n \"binding\": {\r\n \"dataContext\": \"$m_EventZeitraum\",\r\n \"bindTo\": \"$f_EventZeitraumEditUtils.anmeldeschlussDatumValidationRule\",\r\n \"bindToFQ\": \"functions.$f_EventZeitraumEditUtils.anmeldeschlussDatumValidationRule\"\r\n }\r\n }],\r\n \"id\": \"r_anmeldeschlussDatum\",\r\n \"options\": {\r\n \"optionsName\": \"r_anmeldeschlussDatumOptions\",\r\n \"optionsNameFQ\": \"r_anmeldeschlussDatumOptions\"\r\n }\r\n });\r\n this.widgetCreator.addDateBox(this, {\r\n \"format\": \"t\",\r\n \"caption\": \"event-zeitraum-edit.r_anmeldeschlussuhrzeit_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_EventZeitraum\",\r\n \"bindTo\": \"Kopf.AnmeldeschlussUhrzeit\",\r\n \"bindToFQ\": \"models.data.$m_EventZeitraum.Kopf.AnmeldeschlussUhrzeit\",\r\n \"propertyPrefix\": \"Kopf\"\r\n },\r\n \"validationRules\": [{\r\n \"binding\": {\r\n \"dataContext\": \"$m_EventZeitraum\",\r\n \"bindTo\": \"$f_EventZeitraumEditUtils.anmeldeschlussUhrzeitValidationRule\",\r\n \"bindToFQ\": \"functions.$f_EventZeitraumEditUtils.anmeldeschlussUhrzeitValidationRule\"\r\n }\r\n }],\r\n \"id\": \"r_anmeldeschlussUhrzeit\",\r\n \"options\": {\r\n \"optionsName\": \"r_anmeldeschlussUhrzeitOptions\",\r\n \"optionsNameFQ\": \"r_anmeldeschlussUhrzeitOptions\"\r\n }\r\n });\r\n this.widgetCreator.addDataGrid(this, {\r\n \"columns\": [{\r\n \"id\": \"r_kontingentGeschaeftspartnerSchule\",\r\n \"caption\": \"event-zeitraum-edit.r_kontingentgeschaeftspartnerschule_caption\",\r\n \"bindTo\": \"GeschaeftspartnerSchuleBezeichnung\"\r\n }, {\r\n \"id\": \"r_kontingentKontingent\",\r\n \"caption\": \"event-zeitraum-edit.r_kontingentkontingent_caption\",\r\n \"bindTo\": \"Kontingent\",\r\n \"format\": \"n0\"\r\n }],\r\n \"createToolbar\": true,\r\n \"optionsToolbar\": {\r\n \"optionsName\": \"r_eventZeitraumKontingentGridToolbarOptions\",\r\n \"optionsNameFQ\": \"r_eventZeitraumKontingentGridToolbarOptions\"\r\n },\r\n \"caption\": \"event-zeitraum-edit.r_eventzeitraumkontingentgrid_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_EventZeitraum\"\r\n },\r\n \"isRelation\": true,\r\n \"relationBinding\": {\r\n \"dataContext\": \"$m_EventZeitraumKontingentRel\",\r\n \"bindTo\": \"IdEventZeitraum\",\r\n \"bindToFQ\": \"models.data.$m_EventZeitraumKontingentRel.IdEventZeitraum\"\r\n },\r\n \"dataModel\": \"$m_EventZeitraum\",\r\n \"editDataContext\": \"$m_EventZeitraumKontingentEdit\",\r\n \"idEditPopup\": \"eventZeitraumKontingentEditPopup\",\r\n \"listEdits\": [],\r\n \"filters\": [],\r\n \"commands\": [],\r\n \"id\": \"r_eventZeitraumKontingentGrid\",\r\n \"options\": {\r\n \"optionsName\": \"r_eventZeitraumKontingentGridOptions\",\r\n \"optionsNameFQ\": \"r_eventZeitraumKontingentGridOptions\"\r\n }\r\n });\r\n this.widgetCreator.addDataGrid(this, {\r\n \"columns\": [{\r\n \"id\": \"r_stelleninserat\",\r\n \"caption\": \"event-zeitraum-edit.r_stelleninserat_caption\",\r\n \"bindTo\": \"Stelleninserat.StellenbezeichnungExtern\",\r\n \"onCellPrepared\": \"functions.$f_EventZeitraumEditUtils.onStelleninseratBezeichnungCellPrepared\"\r\n }],\r\n \"createToolbar\": true,\r\n \"optionsToolbar\": {\r\n \"optionsName\": \"r_eventZeitraumStelleninseratGridToolbarOptions\",\r\n \"optionsNameFQ\": \"r_eventZeitraumStelleninseratGridToolbarOptions\"\r\n },\r\n \"caption\": \"event-zeitraum-edit.r_eventzeitraumstelleninseratgrid_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_EventZeitraumKopf\"\r\n },\r\n \"isRelation\": true,\r\n \"relationBinding\": {\r\n \"dataContext\": \"$m_EventZeitraumStelleninseratRel\",\r\n \"bindTo\": \"IdEventZeitraumKopfElement\",\r\n \"bindToFQ\": \"models.data.$m_EventZeitraumStelleninseratRel.IdEventZeitraumKopfElement\"\r\n },\r\n \"dataModel\": \"$m_EventZeitraumKopf\",\r\n \"editDataContext\": \"$m_EventZeitraumStelleninseratEdit\",\r\n \"idEditPopup\": \"eventZeitraumStelleninseratEditPopup\",\r\n \"listEdits\": [],\r\n \"filters\": [],\r\n \"commands\": [],\r\n \"id\": \"r_eventZeitraumStelleninseratGrid\",\r\n \"options\": {\r\n \"optionsName\": \"r_eventZeitraumStelleninseratGridOptions\",\r\n \"optionsNameFQ\": \"r_eventZeitraumStelleninseratGridOptions\"\r\n }\r\n });\r\n this.widgetCreator.addCheckBox(this, {\r\n \"caption\": \"event-zeitraum-edit.r_veroeffnetlichenfiltergeschaeftspartner_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_EventZeitraum\",\r\n \"bindTo\": \"Kopf.VeroeffentlichenFilterGeschaeftspartner\",\r\n \"bindToFQ\": \"models.data.$m_EventZeitraum.Kopf.VeroeffentlichenFilterGeschaeftspartner\",\r\n \"propertyPrefix\": \"Kopf\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_veroeffnetlichenFilterGeschaeftspartner\",\r\n \"options\": {\r\n \"optionsName\": \"r_veroeffnetlichenFilterGeschaeftspartnerOptions\",\r\n \"optionsNameFQ\": \"r_veroeffnetlichenFilterGeschaeftspartnerOptions\"\r\n }\r\n });\r\n this.widgetCreator.addTextBox(this, {\r\n \"maxLength\": 250,\r\n \"caption\": \"event-zeitraum-edit.r_betreff_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_EventZeitraum\",\r\n \"bindTo\": \"Kopf.Betreff\",\r\n \"bindToFQ\": \"models.data.$m_EventZeitraum.Kopf.Betreff\",\r\n \"propertyPrefix\": \"Kopf\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_betreff\",\r\n \"options\": {\r\n \"optionsName\": \"r_betreffOptions\",\r\n \"optionsNameFQ\": \"r_betreffOptions\"\r\n }\r\n });\r\n this.widgetCreator.addTextBox(this, {\r\n \"maxLength\": 250,\r\n \"caption\": \"event-zeitraum-edit.r_bezeichnungintern_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_EventZeitraum\",\r\n \"bindTo\": \"Kopf.BezeichnungIntern\",\r\n \"bindToFQ\": \"models.data.$m_EventZeitraum.Kopf.BezeichnungIntern\",\r\n \"propertyPrefix\": \"Kopf\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_bezeichnungIntern\",\r\n \"options\": {\r\n \"optionsName\": \"r_bezeichnungInternOptions\",\r\n \"optionsNameFQ\": \"r_bezeichnungInternOptions\"\r\n }\r\n });\r\n this.widgetCreator.addTextBox(this, {\r\n \"maxLength\": 100,\r\n \"caption\": \"event-zeitraum-edit.r_ort_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_EventZeitraum\",\r\n \"bindTo\": \"Kopf.Ort\",\r\n \"bindToFQ\": \"models.data.$m_EventZeitraum.Kopf.Ort\",\r\n \"propertyPrefix\": \"Kopf\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_ort\",\r\n \"options\": {\r\n \"optionsName\": \"r_ortOptions\",\r\n \"optionsNameFQ\": \"r_ortOptions\"\r\n }\r\n });\r\n this.widgetCreator.addFileUploaderWithViewer(this, {\r\n \"acceptTypeEnum\": 0,\r\n \"acceptType\": \"image/*\",\r\n \"height\": \"250px\",\r\n \"showClearButton\": false,\r\n \"caption\": \"event-zeitraum-edit.r_dmslinklogo_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_EventZeitraum\",\r\n \"bindTo\": \"Kopf.DMSLinkLogo\",\r\n \"bindToFQ\": \"models.data.$m_EventZeitraum.Kopf.DMSLinkLogo\",\r\n \"propertyPrefix\": \"Kopf\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_dMSLinkLogo\",\r\n \"options\": {\r\n \"optionsName\": \"r_dMSLinkLogoOptions\",\r\n \"optionsNameFQ\": \"r_dMSLinkLogoOptions\"\r\n }\r\n });\r\n this.widgetCreator.addNumberBox(this, {\r\n \"showClearButton\": true,\r\n \"min\": 1.0,\r\n \"max\": 999.0,\r\n \"format\": \"n0\",\r\n \"caption\": \"event-zeitraum-edit.r_standarddauer_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_EventZeitraum\",\r\n \"bindTo\": \"Kopf.Standarddauer\",\r\n \"bindToFQ\": \"models.data.$m_EventZeitraum.Kopf.Standarddauer\",\r\n \"propertyPrefix\": \"Kopf\"\r\n },\r\n \"validationRules\": [{\r\n \"binding\": {\r\n \"dataContext\": \"$f_EventZeitraumEditUtils\",\r\n \"bindTo\": \"getRequiredValidationRule('Standarddauer', 'Standarddauer')\",\r\n \"bindToFQ\": \"functions.$f_EventZeitraumEditUtils.getRequiredValidationRule('Standarddauer', 'Standarddauer')\"\r\n }\r\n }],\r\n \"id\": \"r_standardDauer\",\r\n \"options\": {\r\n \"optionsName\": \"r_standardDauerOptions\",\r\n \"optionsNameFQ\": \"r_standardDauerOptions\"\r\n }\r\n });\r\n this.widgetCreator.addNumberBox(this, {\r\n \"showClearButton\": true,\r\n \"min\": 1.0,\r\n \"max\": 999.0,\r\n \"format\": \"n0\",\r\n \"caption\": \"event-zeitraum-edit.r_minimaldauer_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_EventZeitraum\",\r\n \"bindTo\": \"Kopf.Mindestdauer\",\r\n \"bindToFQ\": \"models.data.$m_EventZeitraum.Kopf.Mindestdauer\",\r\n \"propertyPrefix\": \"Kopf\"\r\n },\r\n \"validationRules\": [{\r\n \"binding\": {\r\n \"dataContext\": \"$f_EventZeitraumEditUtils\",\r\n \"bindTo\": \"getRequiredValidationRule('Mindestdauer', 'Mindestdauer')\",\r\n \"bindToFQ\": \"functions.$f_EventZeitraumEditUtils.getRequiredValidationRule('Mindestdauer', 'Mindestdauer')\"\r\n }\r\n }],\r\n \"id\": \"r_minimalDauer\",\r\n \"options\": {\r\n \"optionsName\": \"r_minimalDauerOptions\",\r\n \"optionsNameFQ\": \"r_minimalDauerOptions\"\r\n }\r\n });\r\n this.widgetCreator.addNumberBox(this, {\r\n \"showClearButton\": true,\r\n \"min\": 1.0,\r\n \"max\": 999.0,\r\n \"format\": \"n0\",\r\n \"caption\": \"event-zeitraum-edit.r_maximaldauer_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_EventZeitraum\",\r\n \"bindTo\": \"Kopf.Maximaldauer\",\r\n \"bindToFQ\": \"models.data.$m_EventZeitraum.Kopf.Maximaldauer\",\r\n \"propertyPrefix\": \"Kopf\"\r\n },\r\n \"validationRules\": [{\r\n \"binding\": {\r\n \"dataContext\": \"$f_EventZeitraumEditUtils\",\r\n \"bindTo\": \"getRequiredValidationRule('Maximaldauer', 'Maximaldauer')\",\r\n \"bindToFQ\": \"functions.$f_EventZeitraumEditUtils.getRequiredValidationRule('Maximaldauer', 'Maximaldauer')\"\r\n }\r\n }],\r\n \"id\": \"r_maximalDauer\",\r\n \"options\": {\r\n \"optionsName\": \"r_maximalDauerOptions\",\r\n \"optionsNameFQ\": \"r_maximalDauerOptions\"\r\n }\r\n });\r\n super.onConstructionFinished();\r\n }\r\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\";\r\n\r\n@fwx.autoinject\r\nexport class EventZeitraumKontingentEditForm extends fwx.FormBase {\r\n constructor(\r\n element: Element,\r\n formBaseImport: fwx.FormBaseImport) {\r\n super(element, formBaseImport);\r\n this.id = \"event-zeitraum-kontingent-edit\";\r\n this.title = \"event-zeitraum-kontingent-edit.event-zeitraum-kontingent-edit_caption\";\r\n this.addModel({\r\n \"id\": \"$m_EventZeitraumKontingent\",\r\n \"webApiAction\": \"ZIT/Objekte/EventZeitraumKontingentElement\",\r\n \"key\": \"variables.data.$id\",\r\n \"keyProperty\": \"Id\",\r\n \"postOnSave\": true,\r\n \"filters\": []\r\n });\r\n this.addVariable({\r\n \"id\": \"$id\"\r\n });\r\n this.widgetCreator.addValidationGroup(this, {\r\n \"id\": \"wd1\",\r\n \"options\": {\r\n \"optionsName\": \"wd1Options\",\r\n \"optionsNameFQ\": \"wd1Options\"\r\n }\r\n });\r\n this.widgetCreator.addSelectBox(this, {\r\n \"idSelect\": \"geschaeftspartnerSimple\",\r\n \"filter\": [\"IsGeschaeftspartnerSchule\", true],\r\n \"filters\": [],\r\n \"caption\": \"event-zeitraum-kontingent-edit.r_geschaeftspartnerschule_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_EventZeitraumKontingent\",\r\n \"bindTo\": \"IdGeschaeftspartnerSchule\",\r\n \"bindToFQ\": \"models.data.$m_EventZeitraumKontingent.IdGeschaeftspartnerSchule\"\r\n },\r\n \"validationRules\": [{\r\n \"item\": {\r\n \"type\": \"required\",\r\n \"parameters\": []\r\n }\r\n }],\r\n \"id\": \"r_geschaeftspartnerSchule\",\r\n \"options\": {\r\n \"optionsName\": \"r_geschaeftspartnerSchuleOptions\",\r\n \"optionsNameFQ\": \"r_geschaeftspartnerSchuleOptions\"\r\n }\r\n });\r\n this.widgetCreator.addNumberBox(this, {\r\n \"min\": 0.0,\r\n \"max\": 99999.0,\r\n \"format\": \"n0\",\r\n \"caption\": \"event-zeitraum-kontingent-edit.r_kontingent_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_EventZeitraumKontingent\",\r\n \"bindTo\": \"Kontingent\",\r\n \"bindToFQ\": \"models.data.$m_EventZeitraumKontingent.Kontingent\"\r\n },\r\n \"validationRules\": [{\r\n \"item\": {\r\n \"type\": \"required\",\r\n \"parameters\": []\r\n }\r\n }],\r\n \"id\": \"r_kontingent\",\r\n \"options\": {\r\n \"optionsName\": \"r_kontingentOptions\",\r\n \"optionsNameFQ\": \"r_kontingentOptions\"\r\n }\r\n });\r\n super.onConstructionFinished();\r\n }\r\n}","module.exports = \"\";","import * as fwx from \"../../../../framework/forms/form-export\";\r\nimport {\r\n EventZeitraumReadUtils\r\n} from \"./event-zeitraum-read-utils\";\r\n\r\n@fwx.autoinject\r\nexport class EventZeitraumReadForm extends fwx.FormBase {\r\n constructor(\r\n element: Element,\r\n formBaseImport: fwx.FormBaseImport,\r\n private $f_EventZeitraumReadUtils: EventZeitraumReadUtils) {\r\n super(element, formBaseImport);\r\n this.id = \"event-zeitraum-read\";\r\n this.title = \"event-zeitraum-read.event-zeitraum-read_caption\";\r\n this.addModel({\r\n \"id\": \"$m_EventZeitraum\",\r\n \"webApiAction\": \"ZIT/Objekte/EventZeitraum\",\r\n \"webApiExpand\": {\r\n 'Kopf': {\r\n 'expand': {\r\n 'Stelleninserate': null\r\n }\r\n },\r\n 'Event': {\r\n 'expand': {\r\n 'Kopf': null\r\n }\r\n }\r\n },\r\n \"key\": \"variables.data.$id\",\r\n \"keyProperty\": \"Id\",\r\n \"filters\": [{\r\n \"webApiCustomKey\": \"CheckIsTeilnehmer\",\r\n \"webApiCustomValue\": \"true\"\r\n }, {\r\n \"webApiCustomKey\": \"AddEventData\",\r\n \"webApiCustomValue\": \"true\"\r\n }, {\r\n \"webApiCustomKey\": \"AddHasDokumente\",\r\n \"webApiCustomValue\": \"true\"\r\n }]\r\n });\r\n this.addCommand({\r\n \"binding\": {\r\n \"bindTo\": \"$f_EventZeitraumReadUtils.actionCommand\",\r\n \"bindToFQ\": \"functions.$f_EventZeitraumReadUtils.actionCommand\"\r\n }\r\n });\r\n this.addFunction(\"$f_EventZeitraumReadUtils\", $f_EventZeitraumReadUtils, \"functions.$f_EventZeitraumReadUtils\");\r\n this.widgetCreator.addValidationGroup(this, {\r\n \"id\": \"wd1\",\r\n \"options\": {\r\n \"optionsName\": \"wd1Options\",\r\n \"optionsNameFQ\": \"wd1Options\"\r\n }\r\n });\r\n super.onConstructionFinished();\r\n }\r\n}","module.exports = \"\";","import * as fwx from \"../../../../framework/forms/form-export\";\r\n\r\n@fwx.autoinject\r\nexport class EventZeitraumStelleninseratEditForm extends fwx.FormBase {\r\n constructor(\r\n element: Element,\r\n formBaseImport: fwx.FormBaseImport) {\r\n super(element, formBaseImport);\r\n this.id = \"event-zeitraum-stelleninserat-edit\";\r\n this.title = \"event-zeitraum-stelleninserat-edit.event-zeitraum-stelleninserat-edit_caption\";\r\n this.addModel({\r\n \"id\": \"$m_EventZeitraumStelleninserat\",\r\n \"webApiAction\": \"ZIT/Objekte/EventZeitraumKopfElementZuStelleninserat\",\r\n \"key\": \"variables.data.$id\",\r\n \"keyProperty\": \"Id\",\r\n \"postOnSave\": true,\r\n \"filters\": []\r\n });\r\n this.addVariable({\r\n \"id\": \"$id\"\r\n });\r\n this.addVariable({\r\n \"id\": \"$v_idEvent\"\r\n });\r\n this.widgetCreator.addValidationGroup(this, {\r\n \"id\": \"wd1\",\r\n \"options\": {\r\n \"optionsName\": \"wd1Options\",\r\n \"optionsNameFQ\": \"wd1Options\"\r\n }\r\n });\r\n this.widgetCreator.addLookup(this, {\r\n \"idSelect\": \"stelleninserat\",\r\n \"filters\": [{\r\n \"webApiCustomKey\": \"IdEvent\",\r\n \"webApiCustomValue\": \"variables.data.$v_idEvent\"\r\n }, {\r\n \"webApiCustomKey\": \"IdEvent\",\r\n \"webApiCustomValue\": \"variables.data.$v_idEvent\"\r\n }],\r\n \"caption\": \"event-zeitraum-stelleninserat-edit.r_stelleninserat_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_EventZeitraumStelleninserat\",\r\n \"bindTo\": \"IdStelleninserat\",\r\n \"bindToFQ\": \"models.data.$m_EventZeitraumStelleninserat.IdStelleninserat\"\r\n },\r\n \"validationRules\": [{\r\n \"item\": {\r\n \"type\": \"required\",\r\n \"parameters\": []\r\n }\r\n }],\r\n \"id\": \"r_stelleninserat\",\r\n \"options\": {\r\n \"optionsName\": \"r_stelleninseratOptions\",\r\n \"optionsNameFQ\": \"r_stelleninseratOptions\"\r\n }\r\n });\r\n super.onConstructionFinished();\r\n }\r\n}","module.exports = \"\";","import * as fwx from \"../../../../framework/forms/form-export\";\r\nimport {\r\n GeschaeftspartnerAdresseEditUtils\r\n} from \"./geschaeftspartner-adresse-edit-utils\";\r\n\r\n@fwx.autoinject\r\nexport class GeschaeftspartnerAdresseEditForm extends fwx.FormBase {\r\n constructor(\r\n element: Element,\r\n formBaseImport: fwx.FormBaseImport,\r\n private $f_Adresse: GeschaeftspartnerAdresseEditUtils) {\r\n super(element, formBaseImport);\r\n this.id = \"geschaeftspartner-adresse-edit\";\r\n this.title = \"geschaeftspartner-adresse-edit.geschaeftspartner-adresse-edit_caption\";\r\n this.addModel({\r\n \"id\": \"$m_GeschaeftspartnerAdresse\",\r\n \"webApiAction\": \"ZIT/Objekte/GeschaeftspartnerAdresse\",\r\n \"key\": \"variables.data.$id\",\r\n \"keyProperty\": \"Id\",\r\n \"postOnSave\": true,\r\n \"filters\": []\r\n });\r\n this.addFunction(\"$f_Adresse\", $f_Adresse, \"functions.$f_Adresse\");\r\n this.widgetCreator.addValidationGroup(this, {\r\n \"id\": \"wd1\",\r\n \"options\": {\r\n \"optionsName\": \"wd1Options\",\r\n \"optionsNameFQ\": \"wd1Options\"\r\n }\r\n });\r\n this.widgetCreator.addTextBox(this, {\r\n \"maxLength\": 100,\r\n \"caption\": \"geschaeftspartner-adresse-edit.r_geschaeftspartneradressestrasse_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_GeschaeftspartnerAdresse\",\r\n \"bindTo\": \"Strasse\",\r\n \"bindToFQ\": \"models.data.$m_GeschaeftspartnerAdresse.Strasse\"\r\n },\r\n \"validationRules\": [{\r\n \"item\": {\r\n \"type\": \"required\",\r\n \"parameters\": []\r\n }\r\n }],\r\n \"id\": \"r_geschaeftspartnerAdresseStrasse\",\r\n \"options\": {\r\n \"optionsName\": \"r_geschaeftspartnerAdresseStrasseOptions\",\r\n \"optionsNameFQ\": \"r_geschaeftspartnerAdresseStrasseOptions\"\r\n }\r\n });\r\n this.widgetCreator.addTextBox(this, {\r\n \"maxLength\": 100,\r\n \"caption\": \"geschaeftspartner-adresse-edit.r_geschaeftspartneradressestrassezusatz_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_GeschaeftspartnerAdresse\",\r\n \"bindTo\": \"StrasseZusatz\",\r\n \"bindToFQ\": \"models.data.$m_GeschaeftspartnerAdresse.StrasseZusatz\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_geschaeftspartnerAdresseStrasseZusatz\",\r\n \"options\": {\r\n \"optionsName\": \"r_geschaeftspartnerAdresseStrasseZusatzOptions\",\r\n \"optionsNameFQ\": \"r_geschaeftspartnerAdresseStrasseZusatzOptions\"\r\n }\r\n });\r\n this.widgetCreator.addSelectBox(this, {\r\n \"idSelect\": \"staat\",\r\n \"filters\": [],\r\n \"caption\": \"geschaeftspartner-adresse-edit.r_geschaeftspartneradresseland_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_GeschaeftspartnerAdresse\",\r\n \"bindTo\": \"IdLand\",\r\n \"bindToFQ\": \"models.data.$m_GeschaeftspartnerAdresse.IdLand\"\r\n },\r\n \"validationRules\": [{\r\n \"item\": {\r\n \"type\": \"required\",\r\n \"parameters\": []\r\n }\r\n }],\r\n \"id\": \"r_geschaeftspartnerAdresseLand\",\r\n \"options\": {\r\n \"optionsName\": \"r_geschaeftspartnerAdresseLandOptions\",\r\n \"optionsNameFQ\": \"r_geschaeftspartnerAdresseLandOptions\"\r\n }\r\n });\r\n this.widgetCreator.addTextBox(this, {\r\n \"maxLength\": 20,\r\n \"caption\": \"geschaeftspartner-adresse-edit.r_geschaeftspartneradresseplz_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_GeschaeftspartnerAdresse\",\r\n \"bindTo\": \"Postleitzahl\",\r\n \"bindToFQ\": \"models.data.$m_GeschaeftspartnerAdresse.Postleitzahl\"\r\n },\r\n \"validationRules\": [{\r\n \"item\": {\r\n \"type\": \"required\",\r\n \"parameters\": []\r\n }\r\n }],\r\n \"onValueChanged\": \"functions.$f_Adresse.onPLZChanged\",\r\n \"id\": \"r_geschaeftspartnerAdressePlz\",\r\n \"options\": {\r\n \"optionsName\": \"r_geschaeftspartnerAdressePlzOptions\",\r\n \"optionsNameFQ\": \"r_geschaeftspartnerAdressePlzOptions\"\r\n }\r\n });\r\n this.widgetCreator.addTextBox(this, {\r\n \"maxLength\": 100,\r\n \"caption\": \"geschaeftspartner-adresse-edit.r_geschaeftspartneradresseort_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_GeschaeftspartnerAdresse\",\r\n \"bindTo\": \"Ort\",\r\n \"bindToFQ\": \"models.data.$m_GeschaeftspartnerAdresse.Ort\"\r\n },\r\n \"validationRules\": [{\r\n \"item\": {\r\n \"type\": \"required\",\r\n \"parameters\": []\r\n }\r\n }],\r\n \"id\": \"r_geschaeftspartnerAdresseOrt\",\r\n \"options\": {\r\n \"optionsName\": \"r_geschaeftspartnerAdresseOrtOptions\",\r\n \"optionsNameFQ\": \"r_geschaeftspartnerAdresseOrtOptions\"\r\n }\r\n });\r\n this.widgetCreator.addSelectBox(this, {\r\n \"idSelect\": \"adresstyp\",\r\n \"customs\": [{\r\n \"key\": \"objektTyp\",\r\n \"value\": \"'TIP.ZIT.Business.Entities.Objekte.Geschaeftspartner.Geschaeftspartner'\"\r\n }],\r\n \"filters\": [],\r\n \"caption\": \"geschaeftspartner-adresse-edit.r_geschaeftspartneradressetyp_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_GeschaeftspartnerAdresse\",\r\n \"bindTo\": \"IdAdresstyp\",\r\n \"bindToFQ\": \"models.data.$m_GeschaeftspartnerAdresse.IdAdresstyp\"\r\n },\r\n \"validationRules\": [{\r\n \"item\": {\r\n \"type\": \"required\",\r\n \"parameters\": []\r\n }\r\n }],\r\n \"id\": \"r_geschaeftspartnerAdresseTyp\",\r\n \"options\": {\r\n \"optionsName\": \"r_geschaeftspartnerAdresseTypOptions\",\r\n \"optionsNameFQ\": \"r_geschaeftspartnerAdresseTypOptions\"\r\n }\r\n });\r\n this.widgetCreator.addDateBox(this, {\r\n \"format\": \"d\",\r\n \"caption\": \"geschaeftspartner-adresse-edit.r_geschaeftspartneradressegueltigvon_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_GeschaeftspartnerAdresse\",\r\n \"bindTo\": \"GueltigVon\",\r\n \"bindToFQ\": \"models.data.$m_GeschaeftspartnerAdresse.GueltigVon\"\r\n },\r\n \"validationRules\": [{\r\n \"item\": {\r\n \"type\": \"required\",\r\n \"parameters\": []\r\n }\r\n }],\r\n \"id\": \"r_geschaeftspartnerAdresseGueltigVon\",\r\n \"options\": {\r\n \"optionsName\": \"r_geschaeftspartnerAdresseGueltigVonOptions\",\r\n \"optionsNameFQ\": \"r_geschaeftspartnerAdresseGueltigVonOptions\"\r\n }\r\n });\r\n this.widgetCreator.addDateBox(this, {\r\n \"format\": \"d\",\r\n \"caption\": \"geschaeftspartner-adresse-edit.r_geschaeftspartneradressegueltigbis_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_GeschaeftspartnerAdresse\",\r\n \"bindTo\": \"GueltigBis\",\r\n \"bindToFQ\": \"models.data.$m_GeschaeftspartnerAdresse.GueltigBis\"\r\n },\r\n \"validationRules\": [{\r\n \"item\": {\r\n \"type\": \"required\",\r\n \"parameters\": []\r\n }\r\n }],\r\n \"id\": \"r_geschaeftspartnerAdresseGueltigBis\",\r\n \"options\": {\r\n \"optionsName\": \"r_geschaeftspartnerAdresseGueltigBisOptions\",\r\n \"optionsNameFQ\": \"r_geschaeftspartnerAdresseGueltigBisOptions\"\r\n }\r\n });\r\n super.onConstructionFinished();\r\n }\r\n}","module.exports = \"\";","import * as fwx from \"../../../../framework/forms/form-export\";\r\n\r\n@fwx.autoinject\r\nexport class GeschaeftspartnerBankverbindungEditForm extends fwx.FormBase {\r\n constructor(\r\n element: Element,\r\n formBaseImport: fwx.FormBaseImport) {\r\n super(element, formBaseImport);\r\n this.id = \"geschaeftspartner-bankverbindung-edit\";\r\n this.title = \"geschaeftspartner-bankverbindung-edit.geschaeftspartner-bankverbindung-edit_caption\";\r\n this.addModel({\r\n \"id\": \"$m_Bankverbindung\",\r\n \"webApiAction\": \"ZIT/Objekte/GeschaeftspartnerBankverbindung\",\r\n \"key\": \"variables.data.$id\",\r\n \"keyProperty\": \"Id\",\r\n \"postOnSave\": true,\r\n \"filters\": []\r\n });\r\n this.widgetCreator.addValidationGroup(this, {\r\n \"id\": \"wd1\",\r\n \"options\": {\r\n \"optionsName\": \"wd1Options\",\r\n \"optionsNameFQ\": \"wd1Options\"\r\n }\r\n });\r\n this.widgetCreator.addTextBox(this, {\r\n \"maxLength\": 50,\r\n \"mask\": \"aaaa aaaa aaaa aaaa aaaa aaaa aaaa aaaa\",\r\n \"maskChar\": \" \",\r\n \"caption\": \"geschaeftspartner-bankverbindung-edit.r_iban_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Bankverbindung\",\r\n \"bindTo\": \"IBAN\",\r\n \"bindToFQ\": \"models.data.$m_Bankverbindung.IBAN\"\r\n },\r\n \"validationRules\": [{\r\n \"item\": {\r\n \"type\": \"required\",\r\n \"parameters\": []\r\n }\r\n }],\r\n \"id\": \"r_IBAN\",\r\n \"options\": {\r\n \"optionsName\": \"r_IBANOptions\",\r\n \"optionsNameFQ\": \"r_IBANOptions\"\r\n }\r\n });\r\n this.widgetCreator.addTextBox(this, {\r\n \"maxLength\": 50,\r\n \"caption\": \"geschaeftspartner-bankverbindung-edit.r_bic_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Bankverbindung\",\r\n \"bindTo\": \"BIC\",\r\n \"bindToFQ\": \"models.data.$m_Bankverbindung.BIC\"\r\n },\r\n \"validationRules\": [{\r\n \"item\": {\r\n \"type\": \"bic\",\r\n \"parameters\": []\r\n }\r\n }],\r\n \"id\": \"r_BIC\",\r\n \"options\": {\r\n \"optionsName\": \"r_BICOptions\",\r\n \"optionsNameFQ\": \"r_BICOptions\"\r\n }\r\n });\r\n this.widgetCreator.addSelectBox(this, {\r\n \"idSelect\": \"waehrung\",\r\n \"filters\": [],\r\n \"caption\": \"geschaeftspartner-bankverbindung-edit.r_waehrung_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Bankverbindung\",\r\n \"bindTo\": \"IdWaehrung\",\r\n \"bindToFQ\": \"models.data.$m_Bankverbindung.IdWaehrung\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_waehrung\",\r\n \"options\": {\r\n \"optionsName\": \"r_waehrungOptions\",\r\n \"optionsNameFQ\": \"r_waehrungOptions\"\r\n }\r\n });\r\n this.widgetCreator.addTextBox(this, {\r\n \"maxLength\": 100,\r\n \"caption\": \"geschaeftspartner-bankverbindung-edit.r_bankinstitut_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Bankverbindung\",\r\n \"bindTo\": \"Bankinstitut\",\r\n \"bindToFQ\": \"models.data.$m_Bankverbindung.Bankinstitut\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_bankinstitut\",\r\n \"options\": {\r\n \"optionsName\": \"r_bankinstitutOptions\",\r\n \"optionsNameFQ\": \"r_bankinstitutOptions\"\r\n }\r\n });\r\n this.widgetCreator.addTextBox(this, {\r\n \"maxLength\": 50,\r\n \"caption\": \"geschaeftspartner-bankverbindung-edit.r_eigentuemer_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Bankverbindung\",\r\n \"bindTo\": \"Eigentuemer\",\r\n \"bindToFQ\": \"models.data.$m_Bankverbindung.Eigentuemer\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_eigentuemer\",\r\n \"options\": {\r\n \"optionsName\": \"r_eigentuemerOptions\",\r\n \"optionsNameFQ\": \"r_eigentuemerOptions\"\r\n }\r\n });\r\n this.widgetCreator.addDateBox(this, {\r\n \"format\": \"d\",\r\n \"caption\": \"geschaeftspartner-bankverbindung-edit.r_gueltigvon_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Bankverbindung\",\r\n \"bindTo\": \"GueltigVon\",\r\n \"bindToFQ\": \"models.data.$m_Bankverbindung.GueltigVon\"\r\n },\r\n \"validationRules\": [{\r\n \"item\": {\r\n \"type\": \"required\",\r\n \"parameters\": []\r\n }\r\n }],\r\n \"id\": \"r_gueltigVon\",\r\n \"options\": {\r\n \"optionsName\": \"r_gueltigVonOptions\",\r\n \"optionsNameFQ\": \"r_gueltigVonOptions\"\r\n }\r\n });\r\n this.widgetCreator.addDateBox(this, {\r\n \"format\": \"d\",\r\n \"caption\": \"geschaeftspartner-bankverbindung-edit.r_gueltigbis_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Bankverbindung\",\r\n \"bindTo\": \"GueltigBis\",\r\n \"bindToFQ\": \"models.data.$m_Bankverbindung.GueltigBis\"\r\n },\r\n \"validationRules\": [{\r\n \"item\": {\r\n \"type\": \"required\",\r\n \"parameters\": []\r\n }\r\n }],\r\n \"id\": \"r_gueltigBis\",\r\n \"options\": {\r\n \"optionsName\": \"r_gueltigBisOptions\",\r\n \"optionsNameFQ\": \"r_gueltigBisOptions\"\r\n }\r\n });\r\n super.onConstructionFinished();\r\n }\r\n}","module.exports = \"\";","import * as fwx from \"../../../../framework/forms/form-export\";\r\n\r\n@fwx.autoinject\r\nexport class GeschaeftspartnerDokumentEditForm extends fwx.FormBase {\r\n constructor(\r\n element: Element,\r\n formBaseImport: fwx.FormBaseImport) {\r\n super(element, formBaseImport);\r\n this.id = \"geschaeftspartner-dokument-edit\";\r\n this.title = \"geschaeftspartner-dokument-edit.geschaeftspartner-dokument-edit_caption\";\r\n this.addModel({\r\n \"id\": \"$m_Dokument\",\r\n \"webApiAction\": \"ZIT/Objekte/GeschaeftspartnerdatenElementZuDokumentHintergrundAttachment\",\r\n \"key\": \"variables.data.$id\",\r\n \"keyProperty\": \"Id\",\r\n \"postOnSave\": true,\r\n \"filters\": []\r\n });\r\n this.widgetCreator.addValidationGroup(this, {\r\n \"id\": \"wd1\",\r\n \"options\": {\r\n \"optionsName\": \"wd1Options\",\r\n \"optionsNameFQ\": \"wd1Options\"\r\n }\r\n });\r\n this.widgetCreator.addSelectBox(this, {\r\n \"idSelect\": \"dokumentHintergrundAttachment\",\r\n \"filter\": [\"AllowZuteilungImGeschaeftspartner\", \"true\"],\r\n \"filters\": [],\r\n \"caption\": \"geschaeftspartner-dokument-edit.r_dokument_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Dokument\",\r\n \"bindTo\": \"IdDokumentHintergrundAttachment\",\r\n \"bindToFQ\": \"models.data.$m_Dokument.IdDokumentHintergrundAttachment\"\r\n },\r\n \"validationRules\": [{\r\n \"item\": {\r\n \"type\": \"required\",\r\n \"parameters\": []\r\n }\r\n }],\r\n \"id\": \"r_dokument\",\r\n \"options\": {\r\n \"optionsName\": \"r_dokumentOptions\",\r\n \"optionsNameFQ\": \"r_dokumentOptions\"\r\n }\r\n });\r\n super.onConstructionFinished();\r\n }\r\n}","module.exports = \"\";","import * as fwx from \"../../../../framework/forms/form-export\";\r\nimport {\r\n GeschaeftspartnerEditUtils\r\n} from \"./geschaeftspartner-edit-utils\";\r\n\r\n@fwx.autoinject\r\nexport class GeschaeftspartnerEditForm extends fwx.FormBase {\r\n constructor(\r\n element: Element,\r\n formBaseImport: fwx.FormBaseImport,\r\n private $f_GeschaeftspartnerEditUtils: GeschaeftspartnerEditUtils) {\r\n super(element, formBaseImport);\r\n this.id = \"geschaeftspartner-edit\";\r\n this.title = \"geschaeftspartner-edit.geschaeftspartner-edit_caption\";\r\n this.addModel({\r\n \"id\": \"$m_Geschaeftspartner\",\r\n \"webApiAction\": \"ZIT/Objekte/Geschaeftspartner\",\r\n \"webApiExpand\": {\r\n 'Geschaeftspartnerdaten': {\r\n 'expand': {\r\n 'Geschaeftspartnertypen': null,\r\n 'DsDatenschutz': null\r\n }\r\n }\r\n },\r\n \"modificationInfoEnabled\": true,\r\n \"key\": \"variables.data.$id\",\r\n \"keyProperty\": \"Id\",\r\n \"postOnSave\": true,\r\n \"filters\": [{\r\n \"webApiCustomKey\": \"addCustomSubHeadline\",\r\n \"webApiCustomValue\": \"true\"\r\n }, {\r\n \"webApiCustomKey\": \"SonstigeKontaktdatenVisible\",\r\n \"webApiCustomValue\": \"true\"\r\n }]\r\n });\r\n this.addModel({\r\n \"id\": \"$m_GeschaeftspartnerdatenElement\",\r\n \"webApiAction\": \"ZIT/Objekte/GeschaeftspartnerGeschaeftspartnerdatenElement\",\r\n \"key\": \"models.data.$m_Geschaeftspartner.IdGeschaeftspartnerGeschaeftspartnerdatenElement\",\r\n \"keyProperty\": \"Id\",\r\n \"filters\": []\r\n });\r\n this.addModel({\r\n \"id\": \"$m_Geschaeftspartnertyp\",\r\n \"webApiAction\": \"ZIT/Stammdaten/Geschaeftspartnertyp\",\r\n \"keyProperty\": \"Id\",\r\n \"filters\": []\r\n });\r\n this.addModel({\r\n \"id\": \"$m_AdresseElement\",\r\n \"webApiAction\": \"ZIT/Objekte/GeschaeftspartnerAdresseElement\",\r\n \"key\": \"models.data.$m_Geschaeftspartner.IdGeschaeftspartnerAdresseElement\",\r\n \"keyProperty\": \"Id\",\r\n \"filters\": []\r\n });\r\n this.addModel({\r\n \"id\": \"$m_GeschaeftspartnerAdresseRel\",\r\n \"webApiAction\": \"ZIT/Objekte/GeschaeftspartnerAdresse\",\r\n \"webApiExpand\": {\r\n 'Adresstyp': null,\r\n 'Land': null\r\n },\r\n \"keyProperty\": \"Id\",\r\n \"filters\": []\r\n });\r\n this.addModel({\r\n \"id\": \"$m_GeschaeftspartnerAdresseEdit\",\r\n \"webApiAction\": \"ZIT/Objekte/GeschaeftspartnerAdresse\",\r\n \"keyProperty\": \"Id\",\r\n \"filters\": []\r\n });\r\n this.addModel({\r\n \"id\": \"$m_KontaktElement\",\r\n \"webApiAction\": \"ZIT/Objekte/GeschaeftspartnerKontaktElement\",\r\n \"key\": \"models.data.$m_Geschaeftspartner.IdGeschaeftspartnerKontaktElement\",\r\n \"keyProperty\": \"Id\",\r\n \"filters\": []\r\n });\r\n this.addModel({\r\n \"id\": \"$m_GeschaeftspartnerKontaktRel\",\r\n \"webApiAction\": \"ZIT/Objekte/GeschaeftspartnerKontakt\",\r\n \"webApiExpand\": {\r\n Kontakttyp: null\r\n },\r\n \"keyProperty\": \"Id\",\r\n \"filters\": []\r\n });\r\n this.addModel({\r\n \"id\": \"$m_GeschaeftspartnerKontaktEdit\",\r\n \"webApiAction\": \"ZIT/Objekte/GeschaeftspartnerKontakt\",\r\n \"keyProperty\": \"Id\",\r\n \"filters\": []\r\n });\r\n this.addModel({\r\n \"id\": \"$m_BankverbindungElement\",\r\n \"webApiAction\": \"ZIT/Objekte/GeschaeftspartnerBankverbindungElement\",\r\n \"key\": \"models.data.$m_Geschaeftspartner.IdGeschaeftspartnerBankverbindungElement\",\r\n \"keyProperty\": \"Id\",\r\n \"filters\": []\r\n });\r\n this.addModel({\r\n \"id\": \"$m_GeschaeftspartnerBankverbindungRel\",\r\n \"webApiAction\": \"ZIT/Objekte/GeschaeftspartnerBankverbindung\",\r\n \"webApiExpand\": {\r\n Waehrung: null\r\n },\r\n \"keyProperty\": \"Id\",\r\n \"filters\": []\r\n });\r\n this.addModel({\r\n \"id\": \"$m_GeschaeftspartnerBankverbindungEdit\",\r\n \"webApiAction\": \"ZIT/Objekte/GeschaeftspartnerBankverbindung\",\r\n \"keyProperty\": \"Id\",\r\n \"filters\": []\r\n });\r\n this.addModel({\r\n \"id\": \"$m_PackageElement\",\r\n \"webApiAction\": \"ZIT/Objekte/GeschaeftspartnerPackageElement\",\r\n \"key\": \"models.data.$m_Geschaeftspartner.IdGeschaeftspartnerPackageElement\",\r\n \"keyProperty\": \"Id\",\r\n \"allowNew\": \"functions.$f_GeschaeftspartnerEditUtils.canEditPackage\",\r\n \"allowSave\": \"functions.$f_GeschaeftspartnerEditUtils.canEditPackage\",\r\n \"allowDelete\": \"functions.$f_GeschaeftspartnerEditUtils.canEditPackage\",\r\n \"filters\": []\r\n });\r\n this.addModel({\r\n \"id\": \"$m_GeschaeftspartnerPackageRel\",\r\n \"webApiAction\": \"ZIT/Objekte/GeschaeftspartnerPackage\",\r\n \"webApiColumns\": [\"Id\", \"IdPackage\", \"Bezeichnung\", \"GueltigBis\", \"GueltigVon\"],\r\n \"webApiOrderBy\": [{\r\n \"columnName\": \"GueltigBis\",\r\n \"sortOrder\": 1\r\n }, {\r\n \"columnName\": \"Bezeichnung\",\r\n \"sortOrder\": 0\r\n }],\r\n \"keyProperty\": \"Id\",\r\n \"allowNew\": \"functions.$f_GeschaeftspartnerEditUtils.canEditPackage\",\r\n \"allowSave\": \"functions.$f_GeschaeftspartnerEditUtils.canEditPackage\",\r\n \"allowDelete\": \"functions.$f_GeschaeftspartnerEditUtils.canEditPackage\",\r\n \"filters\": []\r\n });\r\n this.addModel({\r\n \"id\": \"$m_GeschaeftspartnerPackageEdit\",\r\n \"webApiAction\": \"ZIT/Objekte/GeschaeftspartnerPackage\",\r\n \"keyProperty\": \"Id\",\r\n \"allowNew\": \"functions.$f_GeschaeftspartnerEditUtils.canEditPackage\",\r\n \"allowSave\": \"functions.$f_GeschaeftspartnerEditUtils.canEditPackage\",\r\n \"allowDelete\": \"functions.$f_GeschaeftspartnerEditUtils.canEditPackage\",\r\n \"filters\": []\r\n });\r\n this.addModel({\r\n \"id\": \"$m_AnsprechpersonZuGeschaeftspartnerEdit\",\r\n \"webApiAction\": \"ZIT/Objekte/AnsprechpersonZuGeschaeftspartner\",\r\n \"keyProperty\": \"Id\",\r\n \"filters\": []\r\n });\r\n this.addModel({\r\n \"id\": \"$m_AnsprechpersonZuGeschaeftspartnerRel\",\r\n \"webApiAction\": \"ZIT/Objekte/AnsprechpersonZuGeschaeftspartner\",\r\n \"webApiExpand\": {},\r\n \"webApiWhere\": [\r\n [\"Geschaeftspartner.Id\", {\r\n \"isBound\": true,\r\n \"expression\": \"models.data.$m_Geschaeftspartner.Id\"\r\n }], \"and\", [\"Ansprechperson.IsInaktiv\", false], \"and\", [\"Ansprechperson.Personendaten.ImGeschaeftspartnerAusblenden\", false]\r\n ],\r\n \"keyProperty\": \"Id\",\r\n \"filters\": [{\r\n \"webApiCustomKey\": \"onlyGueltig\",\r\n \"webApiCustomValue\": \"true\"\r\n }]\r\n });\r\n this.addModel({\r\n \"id\": \"$m_GeschaeftspartnerProfilFirma\",\r\n \"webApiAction\": \"ZIT/Objekte/ProfilFirma\",\r\n \"webApiWhere\": [\"Profil.IdGeschaeftspartner\", {\r\n \"isBound\": true,\r\n \"expression\": \"models.data.$m_Geschaeftspartner.Id\"\r\n }],\r\n \"modificationInfoEnabled\": true,\r\n \"keyProperty\": \"Id\",\r\n \"filters\": [{\r\n \"webApiCustomKey\": \"AddProfilFirmaCard\",\r\n \"webApiCustomValue\": \"true\"\r\n }]\r\n });\r\n this.addModel({\r\n \"id\": \"$m_GeschaeftspartnerZuDokumentEdit\",\r\n \"webApiAction\": \"ZIT/Objekte/GeschaeftspartnerdatenElementZuDokumentHintergrundAttachment\",\r\n \"keyProperty\": \"Id\",\r\n \"filters\": []\r\n });\r\n this.addModel({\r\n \"id\": \"$m_GeschaeftspartnerZuDokumentRel\",\r\n \"webApiAction\": \"ZIT/Objekte/GeschaeftspartnerdatenElementZuDokumentHintergrundAttachment\",\r\n \"webApiWhere\": [\r\n [\"IdGeschaeftspartnerGeschaeftspartnerdatenElement\", {\r\n \"isBound\": true,\r\n \"expression\": \"models.data.$m_Geschaeftspartner.IdGeschaeftspartnerGeschaeftspartnerdatenElement\"\r\n }]\r\n ],\r\n \"keyProperty\": \"Id\",\r\n \"filters\": []\r\n });\r\n this.addCommand({\r\n \"binding\": {\r\n \"bindTo\": \"$f_GeschaeftspartnerEditUtils.actionCommand\",\r\n \"bindToFQ\": \"functions.$f_GeschaeftspartnerEditUtils.actionCommand\"\r\n }\r\n });\r\n this.addCommand({\r\n \"binding\": {\r\n \"bindTo\": \"$f_GeschaeftspartnerEditUtils.geschaeftspartnerErweiterteOptionenCommand\",\r\n \"bindToFQ\": \"functions.$f_GeschaeftspartnerEditUtils.geschaeftspartnerErweiterteOptionenCommand\"\r\n }\r\n });\r\n this.addEditPopup({\r\n \"idContent\": \"geschaeftspartnerAdresseEditPopupContent\",\r\n \"mappings\": [{\r\n \"to\": \"$id\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_GeschaeftspartnerAdresseEdit\",\r\n \"bindTo\": \"Id\",\r\n \"bindToFQ\": \"models.data.$m_GeschaeftspartnerAdresseEdit.Id\"\r\n }\r\n }],\r\n \"id\": \"geschaeftspartnerAdresseEditPopup\",\r\n \"options\": {\r\n \"optionsName\": \"geschaeftspartnerAdresseEditPopupOptions\",\r\n \"optionsNameFQ\": \"geschaeftspartnerAdresseEditPopupOptions\"\r\n },\r\n \"height\": \"auto\",\r\n \"width\": \"540px\",\r\n \"commands\": []\r\n });\r\n this.addEditPopup({\r\n \"idContent\": \"geschaeftspartnerDokumentEditPopupContent\",\r\n \"mappings\": [{\r\n \"to\": \"$id\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_GeschaeftspartnerZuDokumentEdit\",\r\n \"bindTo\": \"Id\",\r\n \"bindToFQ\": \"models.data.$m_GeschaeftspartnerZuDokumentEdit.Id\"\r\n }\r\n }],\r\n \"id\": \"geschaeftspartnerDokumentEditPopup\",\r\n \"options\": {\r\n \"optionsName\": \"geschaeftspartnerDokumentEditPopupOptions\",\r\n \"optionsNameFQ\": \"geschaeftspartnerDokumentEditPopupOptions\"\r\n },\r\n \"height\": \"auto\",\r\n \"width\": \"540px\",\r\n \"commands\": []\r\n });\r\n this.addEditPopup({\r\n \"idContent\": \"geschaeftspartnerBankverbindungEditPopupContent\",\r\n \"mappings\": [{\r\n \"to\": \"$id\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_GeschaeftspartnerBankverbindungEdit\",\r\n \"bindTo\": \"Id\",\r\n \"bindToFQ\": \"models.data.$m_GeschaeftspartnerBankverbindungEdit.Id\"\r\n }\r\n }],\r\n \"id\": \"geschaeftspartnerBankverbindungEditPopup\",\r\n \"options\": {\r\n \"optionsName\": \"geschaeftspartnerBankverbindungEditPopupOptions\",\r\n \"optionsNameFQ\": \"geschaeftspartnerBankverbindungEditPopupOptions\"\r\n },\r\n \"height\": \"auto\",\r\n \"width\": \"500px\",\r\n \"commands\": []\r\n });\r\n this.addEditPopup({\r\n \"idContent\": \"geschaeftspartnerKontaktdatenEditPopupContent\",\r\n \"mappings\": [{\r\n \"to\": \"$id\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_GeschaeftspartnerKontaktEdit\",\r\n \"bindTo\": \"Id\",\r\n \"bindToFQ\": \"models.data.$m_GeschaeftspartnerKontaktEdit.Id\"\r\n }\r\n }],\r\n \"id\": \"geschaeftspartnerKontaktdatenEditPopup\",\r\n \"options\": {\r\n \"optionsName\": \"geschaeftspartnerKontaktdatenEditPopupOptions\",\r\n \"optionsNameFQ\": \"geschaeftspartnerKontaktdatenEditPopupOptions\"\r\n },\r\n \"height\": \"300px\",\r\n \"width\": \"500px\",\r\n \"commands\": []\r\n });\r\n this.addEditPopup({\r\n \"idContent\": \"geschaeftspartnerPackageEditPopupContent\",\r\n \"mappings\": [{\r\n \"to\": \"$id\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_GeschaeftspartnerPackageEdit\",\r\n \"bindTo\": \"Id\",\r\n \"bindToFQ\": \"models.data.$m_GeschaeftspartnerPackageEdit.Id\"\r\n }\r\n }],\r\n \"id\": \"geschaeftspartnerPackageEditPopup\",\r\n \"options\": {\r\n \"optionsName\": \"geschaeftspartnerPackageEditPopupOptions\",\r\n \"optionsNameFQ\": \"geschaeftspartnerPackageEditPopupOptions\"\r\n },\r\n \"height\": \"auto\",\r\n \"width\": \"500px\",\r\n \"commands\": []\r\n });\r\n this.addFunction(\"$f_GeschaeftspartnerEditUtils\", $f_GeschaeftspartnerEditUtils, \"functions.$f_GeschaeftspartnerEditUtils\");\r\n this.widgetCreator.addValidationGroup(this, {\r\n \"id\": \"wd1\",\r\n \"options\": {\r\n \"optionsName\": \"wd1Options\",\r\n \"optionsNameFQ\": \"wd1Options\"\r\n }\r\n });\r\n this.widgetCreator.addTextBox(this, {\r\n \"maxLength\": 200,\r\n \"caption\": \"geschaeftspartner-edit.r_name1_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Geschaeftspartner\",\r\n \"bindTo\": \"Geschaeftspartnerdaten.Name1\",\r\n \"bindToFQ\": \"models.data.$m_Geschaeftspartner.Geschaeftspartnerdaten.Name1\",\r\n \"propertyPrefix\": \"Geschaeftspartnerdaten\"\r\n },\r\n \"validationRules\": [{\r\n \"item\": {\r\n \"type\": \"required\",\r\n \"parameters\": []\r\n }\r\n }],\r\n \"id\": \"r_name1\",\r\n \"options\": {\r\n \"optionsName\": \"r_name1Options\",\r\n \"optionsNameFQ\": \"r_name1Options\"\r\n }\r\n });\r\n this.widgetCreator.addTextBox(this, {\r\n \"maxLength\": 200,\r\n \"caption\": \"geschaeftspartner-edit.r_name2_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Geschaeftspartner\",\r\n \"bindTo\": \"Geschaeftspartnerdaten.Name2\",\r\n \"bindToFQ\": \"models.data.$m_Geschaeftspartner.Geschaeftspartnerdaten.Name2\",\r\n \"propertyPrefix\": \"Geschaeftspartnerdaten\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_name2\",\r\n \"options\": {\r\n \"optionsName\": \"r_name2Options\",\r\n \"optionsNameFQ\": \"r_name2Options\"\r\n }\r\n });\r\n this.widgetCreator.addTagBox(this, {\r\n \"caption\": \"geschaeftspartner-edit.r_geschaeftspartnertyp_caption\",\r\n \"dataContext\": \"$m_Geschaeftspartner\",\r\n \"relationBinding\": {\r\n \"dataContext\": \"$m_Geschaeftspartner\",\r\n \"bindTo\": \"Geschaeftspartnerdaten.Geschaeftspartnertypen\",\r\n \"bindToFQ\": \"models.data.$m_Geschaeftspartner.Geschaeftspartnerdaten.Geschaeftspartnertypen\",\r\n \"propertyPrefix\": \"Geschaeftspartnerdaten\"\r\n },\r\n \"relationProperty\": \"IdGeschaeftspartnertyp\",\r\n \"itemDataContext\": \"$m_Geschaeftspartnertyp\",\r\n \"itemValueExpr\": \"Id\",\r\n \"itemDisplayExpr\": \"Bezeichnung\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Geschaeftspartner\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_geschaeftspartnertyp\",\r\n \"options\": {\r\n \"optionsName\": \"r_geschaeftspartnertypOptions\",\r\n \"optionsNameFQ\": \"r_geschaeftspartnertypOptions\"\r\n }\r\n });\r\n this.widgetCreator.addTextBox(this, {\r\n \"maxLength\": 20,\r\n \"caption\": \"geschaeftspartner-edit.r_uidnummer_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Geschaeftspartner\",\r\n \"bindTo\": \"Geschaeftspartnerdaten.UidNummer\",\r\n \"bindToFQ\": \"models.data.$m_Geschaeftspartner.Geschaeftspartnerdaten.UidNummer\",\r\n \"propertyPrefix\": \"Geschaeftspartnerdaten\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_uidNummer\",\r\n \"options\": {\r\n \"optionsName\": \"r_uidNummerOptions\",\r\n \"optionsNameFQ\": \"r_uidNummerOptions\"\r\n }\r\n });\r\n this.widgetCreator.addTextBox(this, {\r\n \"maxLength\": 100,\r\n \"caption\": \"geschaeftspartner-edit.r_email_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Geschaeftspartner\",\r\n \"bindTo\": \"Geschaeftspartnerdaten.Email\",\r\n \"bindToFQ\": \"models.data.$m_Geschaeftspartner.Geschaeftspartnerdaten.Email\",\r\n \"propertyPrefix\": \"Geschaeftspartnerdaten\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_email\",\r\n \"options\": {\r\n \"optionsName\": \"r_emailOptions\",\r\n \"optionsNameFQ\": \"r_emailOptions\"\r\n }\r\n });\r\n this.widgetCreator.addSelectBox(this, {\r\n \"idSelect\": \"landvorwahl\",\r\n \"filters\": [],\r\n \"caption\": \"geschaeftspartner-edit.r_telefonlandvorwahl_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Geschaeftspartner\",\r\n \"bindTo\": \"Geschaeftspartnerdaten.TelefonLandvorwahl\",\r\n \"bindToFQ\": \"models.data.$m_Geschaeftspartner.Geschaeftspartnerdaten.TelefonLandvorwahl\",\r\n \"propertyPrefix\": \"Geschaeftspartnerdaten\"\r\n },\r\n \"validationRules\": [{\r\n \"item\": {\r\n \"type\": \"conditionalRequired\",\r\n \"parameters\": [{\r\n \"name\": \"condition\",\r\n \"value\": \"models.data.$m_Geschaeftspartner.Geschaeftspartnerdaten && models.data.$m_Geschaeftspartner.Geschaeftspartnerdaten.Telefon\"\r\n }]\r\n }\r\n }],\r\n \"id\": \"r_telefonLandvorwahl\",\r\n \"options\": {\r\n \"optionsName\": \"r_telefonLandvorwahlOptions\",\r\n \"optionsNameFQ\": \"r_telefonLandvorwahlOptions\"\r\n }\r\n });\r\n this.widgetCreator.addTextBox(this, {\r\n \"maxLength\": 100,\r\n \"caption\": \"geschaeftspartner-edit.r_telefon_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Geschaeftspartner\",\r\n \"bindTo\": \"Geschaeftspartnerdaten.Telefon\",\r\n \"bindToFQ\": \"models.data.$m_Geschaeftspartner.Geschaeftspartnerdaten.Telefon\",\r\n \"propertyPrefix\": \"Geschaeftspartnerdaten\"\r\n },\r\n \"validationRules\": [{\r\n \"item\": {\r\n \"type\": \"telefon\",\r\n \"parameters\": []\r\n }\r\n }],\r\n \"id\": \"r_telefon\",\r\n \"options\": {\r\n \"optionsName\": \"r_telefonOptions\",\r\n \"optionsNameFQ\": \"r_telefonOptions\"\r\n }\r\n });\r\n this.widgetCreator.addTextBox(this, {\r\n \"maxLength\": 500,\r\n \"caption\": \"geschaeftspartner-edit.r_url_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Geschaeftspartner\",\r\n \"bindTo\": \"Geschaeftspartnerdaten.Url\",\r\n \"bindToFQ\": \"models.data.$m_Geschaeftspartner.Geschaeftspartnerdaten.Url\",\r\n \"propertyPrefix\": \"Geschaeftspartnerdaten\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_url\",\r\n \"options\": {\r\n \"optionsName\": \"r_urlOptions\",\r\n \"optionsNameFQ\": \"r_urlOptions\"\r\n }\r\n });\r\n this.widgetCreator.addCheckBox(this, {\r\n \"caption\": \"geschaeftspartner-edit.r_geschaeftspartnerschule_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Geschaeftspartner\",\r\n \"bindTo\": \"Geschaeftspartnerdaten.IsGeschaeftspartnerSchule\",\r\n \"bindToFQ\": \"models.data.$m_Geschaeftspartner.Geschaeftspartnerdaten.IsGeschaeftspartnerSchule\",\r\n \"propertyPrefix\": \"Geschaeftspartnerdaten\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_geschaeftspartnerSchule\",\r\n \"options\": {\r\n \"optionsName\": \"r_geschaeftspartnerSchuleOptions\",\r\n \"optionsNameFQ\": \"r_geschaeftspartnerSchuleOptions\"\r\n }\r\n });\r\n this.widgetCreator.addCheckBox(this, {\r\n \"caption\": \"geschaeftspartner-edit.r_schnupperterminmaske_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Geschaeftspartner\",\r\n \"bindTo\": \"Geschaeftspartnerdaten.HideInSchnupperterminMaske\",\r\n \"bindToFQ\": \"models.data.$m_Geschaeftspartner.Geschaeftspartnerdaten.HideInSchnupperterminMaske\",\r\n \"propertyPrefix\": \"Geschaeftspartnerdaten\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_schnupperterminMaske\",\r\n \"options\": {\r\n \"optionsName\": \"r_schnupperterminMaskeOptions\",\r\n \"optionsNameFQ\": \"r_schnupperterminMaskeOptions\"\r\n }\r\n });\r\n this.widgetCreator.addCheckBox(this, {\r\n \"caption\": \"geschaeftspartner-edit.r_schnupperterminenichtersetzen_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Geschaeftspartner\",\r\n \"bindTo\": \"Geschaeftspartnerdaten.SchnuppertermineNichtErsetzen\",\r\n \"bindToFQ\": \"models.data.$m_Geschaeftspartner.Geschaeftspartnerdaten.SchnuppertermineNichtErsetzen\",\r\n \"propertyPrefix\": \"Geschaeftspartnerdaten\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_schnuppertermineNichtErsetzen\",\r\n \"options\": {\r\n \"optionsName\": \"r_schnuppertermineNichtErsetzenOptions\",\r\n \"optionsNameFQ\": \"r_schnuppertermineNichtErsetzenOptions\"\r\n }\r\n });\r\n this.widgetCreator.addFileUploaderWithViewer(this, {\r\n \"acceptTypeEnum\": 0,\r\n \"acceptType\": \"image/*\",\r\n \"height\": \"250px\",\r\n \"showToolbar\": true,\r\n \"showClearButton\": false,\r\n \"caption\": \"geschaeftspartner-edit.r_dmslinklogo_caption\",\r\n \"placeholder\": \"geschaeftspartner-edit.r_dmslinklogo_placeholder\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Geschaeftspartner\",\r\n \"bindTo\": \"Geschaeftspartnerdaten.DMSLinkLogo\",\r\n \"bindToFQ\": \"models.data.$m_Geschaeftspartner.Geschaeftspartnerdaten.DMSLinkLogo\",\r\n \"propertyPrefix\": \"Geschaeftspartnerdaten\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_dmsLinkLogo\",\r\n \"options\": {\r\n \"optionsName\": \"r_dmsLinkLogoOptions\",\r\n \"optionsNameFQ\": \"r_dmsLinkLogoOptions\"\r\n }\r\n });\r\n this.widgetCreator.addListView(this, {\r\n \"itemClass\": \"z--list-view-inline-item\",\r\n \"useDefaultListItemStyle\": false,\r\n \"optionsToolbar\": {\r\n \"optionsName\": \"r_geschaeftspartnerAdresseListViewToolbarOptions\",\r\n \"optionsNameFQ\": \"r_geschaeftspartnerAdresseListViewToolbarOptions\"\r\n },\r\n \"binding\": {\r\n \"dataContext\": \"$m_AdresseElement\"\r\n },\r\n \"isRelation\": true,\r\n \"relationBinding\": {\r\n \"dataContext\": \"$m_GeschaeftspartnerAdresseRel\",\r\n \"bindTo\": \"IdGeschaeftspartnerAdresseElement\",\r\n \"bindToFQ\": \"models.data.$m_GeschaeftspartnerAdresseRel.IdGeschaeftspartnerAdresseElement\"\r\n },\r\n \"dataModel\": \"$m_AdresseElement\",\r\n \"editDataContext\": \"$m_GeschaeftspartnerAdresseEdit\",\r\n \"idEditPopup\": \"geschaeftspartnerAdresseEditPopup\",\r\n \"listEdits\": [],\r\n \"filters\": [],\r\n \"commands\": [],\r\n \"id\": \"r_geschaeftspartnerAdresseListView\",\r\n \"options\": {\r\n \"optionsName\": \"r_geschaeftspartnerAdresseListViewOptions\",\r\n \"optionsNameFQ\": \"r_geschaeftspartnerAdresseListViewOptions\"\r\n }\r\n });\r\n this.widgetCreator.addListView(this, {\r\n \"itemClass\": \"z--list-view-inline-item\",\r\n \"useDefaultListItemStyle\": false,\r\n \"optionsToolbar\": {\r\n \"optionsName\": \"r_geschaeftspartnerDokumentListViewToolbarOptions\",\r\n \"optionsNameFQ\": \"r_geschaeftspartnerDokumentListViewToolbarOptions\"\r\n },\r\n \"binding\": {\r\n \"dataContext\": \"$m_GeschaeftspartnerdatenElement\"\r\n },\r\n \"isRelation\": true,\r\n \"relationBinding\": {\r\n \"dataContext\": \"$m_GeschaeftspartnerZuDokumentRel\",\r\n \"bindTo\": \"IdGeschaeftspartnerGeschaeftspartnerdatenElement\",\r\n \"bindToFQ\": \"models.data.$m_GeschaeftspartnerZuDokumentRel.IdGeschaeftspartnerGeschaeftspartnerdatenElement\"\r\n },\r\n \"dataModel\": \"$m_GeschaeftspartnerdatenElement\",\r\n \"editDataContext\": \"$m_GeschaeftspartnerZuDokumentEdit\",\r\n \"idEditPopup\": \"geschaeftspartnerDokumentEditPopup\",\r\n \"listEdits\": [],\r\n \"filters\": [],\r\n \"commands\": [],\r\n \"id\": \"r_geschaeftspartnerDokumentListView\",\r\n \"options\": {\r\n \"optionsName\": \"r_geschaeftspartnerDokumentListViewOptions\",\r\n \"optionsNameFQ\": \"r_geschaeftspartnerDokumentListViewOptions\"\r\n }\r\n });\r\n this.widgetCreator.addListView(this, {\r\n \"itemClass\": \"z--list-view-inline-item\",\r\n \"useDefaultListItemStyle\": false,\r\n \"optionsToolbar\": {\r\n \"optionsName\": \"r_geschaeftspartnerBankverbindungListViewToolbarOptions\",\r\n \"optionsNameFQ\": \"r_geschaeftspartnerBankverbindungListViewToolbarOptions\"\r\n },\r\n \"binding\": {\r\n \"dataContext\": \"$m_BankverbindungElement\"\r\n },\r\n \"isRelation\": true,\r\n \"relationBinding\": {\r\n \"dataContext\": \"$m_GeschaeftspartnerBankverbindungRel\",\r\n \"bindTo\": \"IdGeschaeftspartnerBankverbindungElement\",\r\n \"bindToFQ\": \"models.data.$m_GeschaeftspartnerBankverbindungRel.IdGeschaeftspartnerBankverbindungElement\"\r\n },\r\n \"dataModel\": \"$m_BankverbindungElement\",\r\n \"editDataContext\": \"$m_GeschaeftspartnerBankverbindungEdit\",\r\n \"idEditPopup\": \"geschaeftspartnerBankverbindungEditPopup\",\r\n \"listEdits\": [],\r\n \"filters\": [],\r\n \"commands\": [],\r\n \"id\": \"r_geschaeftspartnerBankverbindungListView\",\r\n \"options\": {\r\n \"optionsName\": \"r_geschaeftspartnerBankverbindungListViewOptions\",\r\n \"optionsNameFQ\": \"r_geschaeftspartnerBankverbindungListViewOptions\"\r\n }\r\n });\r\n this.widgetCreator.addListView(this, {\r\n \"itemClass\": \"z--list-view-inline-item\",\r\n \"useDefaultListItemStyle\": false,\r\n \"optionsToolbar\": {\r\n \"optionsName\": \"r_geschaeftspartnerKontaktdatenListViewToolbarOptions\",\r\n \"optionsNameFQ\": \"r_geschaeftspartnerKontaktdatenListViewToolbarOptions\"\r\n },\r\n \"binding\": {\r\n \"dataContext\": \"$m_KontaktElement\"\r\n },\r\n \"isRelation\": true,\r\n \"relationBinding\": {\r\n \"dataContext\": \"$m_GeschaeftspartnerKontaktRel\",\r\n \"bindTo\": \"IdGeschaeftspartnerKontaktElement\",\r\n \"bindToFQ\": \"models.data.$m_GeschaeftspartnerKontaktRel.IdGeschaeftspartnerKontaktElement\"\r\n },\r\n \"dataModel\": \"$m_KontaktElement\",\r\n \"editDataContext\": \"$m_GeschaeftspartnerKontaktEdit\",\r\n \"idEditPopup\": \"geschaeftspartnerKontaktdatenEditPopup\",\r\n \"listEdits\": [],\r\n \"filters\": [],\r\n \"commands\": [],\r\n \"id\": \"r_geschaeftspartnerKontaktdatenListView\",\r\n \"options\": {\r\n \"optionsName\": \"r_geschaeftspartnerKontaktdatenListViewOptions\",\r\n \"optionsNameFQ\": \"r_geschaeftspartnerKontaktdatenListViewOptions\"\r\n }\r\n });\r\n this.widgetCreator.addListView(this, {\r\n \"itemClass\": \"z--list-view-inline-item\",\r\n \"useDefaultListItemStyle\": false,\r\n \"optionsToolbar\": {\r\n \"optionsName\": \"r_geschaeftspartnerAnsprechpersonListViewToolbarOptions\",\r\n \"optionsNameFQ\": \"r_geschaeftspartnerAnsprechpersonListViewToolbarOptions\"\r\n },\r\n \"binding\": {\r\n \"dataContext\": \"$m_Geschaeftspartner\"\r\n },\r\n \"isRelation\": true,\r\n \"relationBinding\": {\r\n \"dataContext\": \"$m_AnsprechpersonZuGeschaeftspartnerRel\",\r\n \"bindTo\": \"IdGeschaeftspartner\",\r\n \"bindToFQ\": \"models.data.$m_AnsprechpersonZuGeschaeftspartnerRel.IdGeschaeftspartner\"\r\n },\r\n \"dataModel\": \"$m_Geschaeftspartner\",\r\n \"editDataContext\": \"$m_AnsprechpersonZuGeschaeftspartnerEdit\",\r\n \"listEdits\": [],\r\n \"filters\": [],\r\n \"commands\": [],\r\n \"id\": \"r_geschaeftspartnerAnsprechpersonListView\",\r\n \"options\": {\r\n \"optionsName\": \"r_geschaeftspartnerAnsprechpersonListViewOptions\",\r\n \"optionsNameFQ\": \"r_geschaeftspartnerAnsprechpersonListViewOptions\"\r\n }\r\n });\r\n this.widgetCreator.addListView(this, {\r\n \"itemClass\": \"z--list-view-inline-item\",\r\n \"useDefaultListItemStyle\": false,\r\n \"optionsToolbar\": {\r\n \"optionsName\": \"r_geschaeftspartnerPackageListViewToolbarOptions\",\r\n \"optionsNameFQ\": \"r_geschaeftspartnerPackageListViewToolbarOptions\"\r\n },\r\n \"binding\": {\r\n \"dataContext\": \"$m_PackageElement\"\r\n },\r\n \"isRelation\": true,\r\n \"relationBinding\": {\r\n \"dataContext\": \"$m_GeschaeftspartnerPackageRel\",\r\n \"bindTo\": \"IdGeschaeftspartnerPackageElement\",\r\n \"bindToFQ\": \"models.data.$m_GeschaeftspartnerPackageRel.IdGeschaeftspartnerPackageElement\"\r\n },\r\n \"dataModel\": \"$m_PackageElement\",\r\n \"editDataContext\": \"$m_GeschaeftspartnerPackageEdit\",\r\n \"idEditPopup\": \"geschaeftspartnerPackageEditPopup\",\r\n \"listEdits\": [],\r\n \"filters\": [],\r\n \"commands\": [],\r\n \"id\": \"r_geschaeftspartnerPackageListView\",\r\n \"options\": {\r\n \"optionsName\": \"r_geschaeftspartnerPackageListViewOptions\",\r\n \"optionsNameFQ\": \"r_geschaeftspartnerPackageListViewOptions\"\r\n }\r\n });\r\n this.widgetCreator.addTextBox(this, {\r\n \"maxLength\": 250,\r\n \"caption\": \"geschaeftspartner-edit.r_keyunternehmenparameter_caption\",\r\n \"isReadOnlyExpression\": \"!functions.$f_GeschaeftspartnerEditUtils.isAdmin\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Geschaeftspartner\",\r\n \"bindTo\": \"Geschaeftspartnerdaten.KeyUnternehmenParameter\",\r\n \"bindToFQ\": \"models.data.$m_Geschaeftspartner.Geschaeftspartnerdaten.KeyUnternehmenParameter\",\r\n \"propertyPrefix\": \"Geschaeftspartnerdaten\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_keyUnternehmenParameter\",\r\n \"options\": {\r\n \"optionsName\": \"r_keyUnternehmenParameterOptions\",\r\n \"optionsNameFQ\": \"r_keyUnternehmenParameterOptions\"\r\n }\r\n });\r\n this.widgetCreator.addCheckBox(this, {\r\n \"caption\": \"geschaeftspartner-edit.r_messagingnichtanbieten_caption\",\r\n \"isReadOnlyExpression\": \"!functions.$f_GeschaeftspartnerEditUtils.isAdmin\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Geschaeftspartner\",\r\n \"bindTo\": \"Geschaeftspartnerdaten.MessagingDienstNichtAnbieten\",\r\n \"bindToFQ\": \"models.data.$m_Geschaeftspartner.Geschaeftspartnerdaten.MessagingDienstNichtAnbieten\",\r\n \"propertyPrefix\": \"Geschaeftspartnerdaten\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_messagingNichtAnbieten\",\r\n \"options\": {\r\n \"optionsName\": \"r_messagingNichtAnbietenOptions\",\r\n \"optionsNameFQ\": \"r_messagingNichtAnbietenOptions\"\r\n }\r\n });\r\n this.widgetCreator.addTextBox(this, {\r\n \"maxLength\": 250,\r\n \"caption\": \"geschaeftspartner-edit.r_dsdatenschutzurl_caption\",\r\n \"isReadOnlyExpression\": \"!functions.$f_GeschaeftspartnerEditUtils.isAdmin\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Geschaeftspartner\",\r\n \"bindTo\": \"Geschaeftspartnerdaten.DsDatenschutz.Url\",\r\n \"bindToFQ\": \"models.data.$m_Geschaeftspartner.Geschaeftspartnerdaten.DsDatenschutz.Url\",\r\n \"propertyPrefix\": \"Geschaeftspartnerdaten.DsDatenschutz\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_dsDatenschutzUrl\",\r\n \"options\": {\r\n \"optionsName\": \"r_dsDatenschutzUrlOptions\",\r\n \"optionsNameFQ\": \"r_dsDatenschutzUrlOptions\"\r\n }\r\n });\r\n this.widgetCreator.addDateBox(this, {\r\n \"format\": \"g\",\r\n \"caption\": \"geschaeftspartner-edit.r_dsdatenschutzversion_caption\",\r\n \"isReadOnlyExpression\": \"!functions.$f_GeschaeftspartnerEditUtils.isAdmin\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Geschaeftspartner\",\r\n \"bindTo\": \"Geschaeftspartnerdaten.DsDatenschutz.VersionDatum\",\r\n \"bindToFQ\": \"models.data.$m_Geschaeftspartner.Geschaeftspartnerdaten.DsDatenschutz.VersionDatum\",\r\n \"propertyPrefix\": \"Geschaeftspartnerdaten.DsDatenschutz\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_dsDatenschutzVersion\",\r\n \"options\": {\r\n \"optionsName\": \"r_dsDatenschutzVersionOptions\",\r\n \"optionsNameFQ\": \"r_dsDatenschutzVersionOptions\"\r\n }\r\n });\r\n this.widgetCreator.addColorBox(this, {\r\n \"editAlphaChannel\": false,\r\n \"caption\": \"geschaeftspartner-edit.r_iframeformularhintergrundfarbe_caption\",\r\n \"isReadOnlyExpression\": \"!functions.$f_GeschaeftspartnerEditUtils.isAdmin\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Geschaeftspartner\",\r\n \"bindTo\": \"Geschaeftspartnerdaten.IFrameFormularHintergrundFarbe\",\r\n \"bindToFQ\": \"models.data.$m_Geschaeftspartner.Geschaeftspartnerdaten.IFrameFormularHintergrundFarbe\",\r\n \"propertyPrefix\": \"Geschaeftspartnerdaten\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_iFrameFormularHintergrundFarbe\",\r\n \"options\": {\r\n \"optionsName\": \"r_iFrameFormularHintergrundFarbeOptions\",\r\n \"optionsNameFQ\": \"r_iFrameFormularHintergrundFarbeOptions\"\r\n }\r\n });\r\n this.widgetCreator.addTextBox(this, {\r\n \"caption\": \"geschaeftspartner-edit.r_iframelabelschriftart_caption\",\r\n \"isReadOnlyExpression\": \"!functions.$f_GeschaeftspartnerEditUtils.isAdmin\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Geschaeftspartner\",\r\n \"bindTo\": \"Geschaeftspartnerdaten.IFrameLabelSchriftart\",\r\n \"bindToFQ\": \"models.data.$m_Geschaeftspartner.Geschaeftspartnerdaten.IFrameLabelSchriftart\",\r\n \"propertyPrefix\": \"Geschaeftspartnerdaten\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_iFrameLabelSchriftart\",\r\n \"options\": {\r\n \"optionsName\": \"r_iFrameLabelSchriftartOptions\",\r\n \"optionsNameFQ\": \"r_iFrameLabelSchriftartOptions\"\r\n }\r\n });\r\n this.widgetCreator.addNumberBox(this, {\r\n \"showClearButton\": true,\r\n \"caption\": \"geschaeftspartner-edit.r_iframelabelschriftgroesse_caption\",\r\n \"isReadOnlyExpression\": \"!functions.$f_GeschaeftspartnerEditUtils.isAdmin\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Geschaeftspartner\",\r\n \"bindTo\": \"Geschaeftspartnerdaten.IFrameLabelSchriftgroesse\",\r\n \"bindToFQ\": \"models.data.$m_Geschaeftspartner.Geschaeftspartnerdaten.IFrameLabelSchriftgroesse\",\r\n \"propertyPrefix\": \"Geschaeftspartnerdaten\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_iFrameLabelSchriftgroesse\",\r\n \"options\": {\r\n \"optionsName\": \"r_iFrameLabelSchriftgroesseOptions\",\r\n \"optionsNameFQ\": \"r_iFrameLabelSchriftgroesseOptions\"\r\n }\r\n });\r\n this.widgetCreator.addColorBox(this, {\r\n \"editAlphaChannel\": false,\r\n \"caption\": \"geschaeftspartner-edit.r_iframelabelschriftfarbe_caption\",\r\n \"isReadOnlyExpression\": \"!functions.$f_GeschaeftspartnerEditUtils.isAdmin\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Geschaeftspartner\",\r\n \"bindTo\": \"Geschaeftspartnerdaten.IFrameLabelSchriftfarbe\",\r\n \"bindToFQ\": \"models.data.$m_Geschaeftspartner.Geschaeftspartnerdaten.IFrameLabelSchriftfarbe\",\r\n \"propertyPrefix\": \"Geschaeftspartnerdaten\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_iFrameLabelSchriftfarbe\",\r\n \"options\": {\r\n \"optionsName\": \"r_iFrameLabelSchriftfarbeOptions\",\r\n \"optionsNameFQ\": \"r_iFrameLabelSchriftfarbeOptions\"\r\n }\r\n });\r\n this.widgetCreator.addTextBox(this, {\r\n \"caption\": \"geschaeftspartner-edit.r_iframecontentschriftart_caption\",\r\n \"isReadOnlyExpression\": \"!functions.$f_GeschaeftspartnerEditUtils.isAdmin\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Geschaeftspartner\",\r\n \"bindTo\": \"Geschaeftspartnerdaten.IFrameContentSchriftart\",\r\n \"bindToFQ\": \"models.data.$m_Geschaeftspartner.Geschaeftspartnerdaten.IFrameContentSchriftart\",\r\n \"propertyPrefix\": \"Geschaeftspartnerdaten\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_iFrameContentSchriftart\",\r\n \"options\": {\r\n \"optionsName\": \"r_iFrameContentSchriftartOptions\",\r\n \"optionsNameFQ\": \"r_iFrameContentSchriftartOptions\"\r\n }\r\n });\r\n this.widgetCreator.addNumberBox(this, {\r\n \"showClearButton\": true,\r\n \"caption\": \"geschaeftspartner-edit.r_iframecontentschriftgroesse_caption\",\r\n \"isReadOnlyExpression\": \"!functions.$f_GeschaeftspartnerEditUtils.isAdmin\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Geschaeftspartner\",\r\n \"bindTo\": \"Geschaeftspartnerdaten.IFrameContentSchriftgroesse\",\r\n \"bindToFQ\": \"models.data.$m_Geschaeftspartner.Geschaeftspartnerdaten.IFrameContentSchriftgroesse\",\r\n \"propertyPrefix\": \"Geschaeftspartnerdaten\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_iFrameContentSchriftgroesse\",\r\n \"options\": {\r\n \"optionsName\": \"r_iFrameContentSchriftgroesseOptions\",\r\n \"optionsNameFQ\": \"r_iFrameContentSchriftgroesseOptions\"\r\n }\r\n });\r\n this.widgetCreator.addColorBox(this, {\r\n \"editAlphaChannel\": false,\r\n \"caption\": \"geschaeftspartner-edit.r_iframecontentschriftfarbe_caption\",\r\n \"isReadOnlyExpression\": \"!functions.$f_GeschaeftspartnerEditUtils.isAdmin\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Geschaeftspartner\",\r\n \"bindTo\": \"Geschaeftspartnerdaten.IFrameContentSchriftfarbe\",\r\n \"bindToFQ\": \"models.data.$m_Geschaeftspartner.Geschaeftspartnerdaten.IFrameContentSchriftfarbe\",\r\n \"propertyPrefix\": \"Geschaeftspartnerdaten\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_iFrameContentSchriftfarbe\",\r\n \"options\": {\r\n \"optionsName\": \"r_iFrameContentSchriftfarbeOptions\",\r\n \"optionsNameFQ\": \"r_iFrameContentSchriftfarbeOptions\"\r\n }\r\n });\r\n this.widgetCreator.addColorBox(this, {\r\n \"editAlphaChannel\": false,\r\n \"caption\": \"geschaeftspartner-edit.r_iframebuttonfarbe_caption\",\r\n \"isReadOnlyExpression\": \"!functions.$f_GeschaeftspartnerEditUtils.isAdmin\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Geschaeftspartner\",\r\n \"bindTo\": \"Geschaeftspartnerdaten.IFrameButtonFarbe\",\r\n \"bindToFQ\": \"models.data.$m_Geschaeftspartner.Geschaeftspartnerdaten.IFrameButtonFarbe\",\r\n \"propertyPrefix\": \"Geschaeftspartnerdaten\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_iFrameButtonFarbe\",\r\n \"options\": {\r\n \"optionsName\": \"r_iFrameButtonFarbeOptions\",\r\n \"optionsNameFQ\": \"r_iFrameButtonFarbeOptions\"\r\n }\r\n });\r\n this.widgetCreator.addColorBox(this, {\r\n \"editAlphaChannel\": false,\r\n \"caption\": \"geschaeftspartner-edit.r_iframefeldrahmenliniefarbe_caption\",\r\n \"isReadOnlyExpression\": \"!functions.$f_GeschaeftspartnerEditUtils.isAdmin\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Geschaeftspartner\",\r\n \"bindTo\": \"Geschaeftspartnerdaten.IFrameFeldRahmenlinieFarbe\",\r\n \"bindToFQ\": \"models.data.$m_Geschaeftspartner.Geschaeftspartnerdaten.IFrameFeldRahmenlinieFarbe\",\r\n \"propertyPrefix\": \"Geschaeftspartnerdaten\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_iFrameFeldRahmenlinieFarbe\",\r\n \"options\": {\r\n \"optionsName\": \"r_iFrameFeldRahmenlinieFarbeOptions\",\r\n \"optionsNameFQ\": \"r_iFrameFeldRahmenlinieFarbeOptions\"\r\n }\r\n });\r\n this.widgetCreator.addTextBox(this, {\r\n \"maxLength\": 250,\r\n \"caption\": \"geschaeftspartner-edit.r_keyterminrestservice_caption\",\r\n \"isReadOnlyExpression\": \"!functions.$f_GeschaeftspartnerEditUtils.isAdmin\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Geschaeftspartner\",\r\n \"bindTo\": \"Geschaeftspartnerdaten.KeyTerminRestService\",\r\n \"bindToFQ\": \"models.data.$m_Geschaeftspartner.Geschaeftspartnerdaten.KeyTerminRestService\",\r\n \"propertyPrefix\": \"Geschaeftspartnerdaten\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_keyTerminRestService\",\r\n \"options\": {\r\n \"optionsName\": \"r_keyTerminRestServiceOptions\",\r\n \"optionsNameFQ\": \"r_keyTerminRestServiceOptions\"\r\n }\r\n });\r\n this.widgetCreator.addTextBox(this, {\r\n \"maxLength\": 250,\r\n \"caption\": \"geschaeftspartner-edit.r_keystelleninseratrestservice_caption\",\r\n \"isReadOnlyExpression\": \"!functions.$f_GeschaeftspartnerEditUtils.isAdmin\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Geschaeftspartner\",\r\n \"bindTo\": \"Geschaeftspartnerdaten.KeyStelleninseratRestService\",\r\n \"bindToFQ\": \"models.data.$m_Geschaeftspartner.Geschaeftspartnerdaten.KeyStelleninseratRestService\",\r\n \"propertyPrefix\": \"Geschaeftspartnerdaten\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_keyStelleninseratRestService\",\r\n \"options\": {\r\n \"optionsName\": \"r_keyStelleninseratRestServiceOptions\",\r\n \"optionsNameFQ\": \"r_keyStelleninseratRestServiceOptions\"\r\n }\r\n });\r\n this.widgetCreator.addListView(this, {\r\n \"itemClass\": \"col-xs-12 col-sm-6\",\r\n \"useDefaultListItemStyle\": false,\r\n \"createToolbar\": true,\r\n \"optionsToolbar\": {\r\n \"optionsName\": \"r_geschaeftspartnerProfilFirmaListViewToolbarOptions\",\r\n \"optionsNameFQ\": \"r_geschaeftspartnerProfilFirmaListViewToolbarOptions\"\r\n },\r\n \"caption\": \"geschaeftspartner-edit.r_geschaeftspartnerprofilfirmalistview_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_GeschaeftspartnerProfilFirma\"\r\n },\r\n \"dataModel\": \"$m_GeschaeftspartnerProfilFirma\",\r\n \"listEdits\": [],\r\n \"filters\": [],\r\n \"commands\": [],\r\n \"id\": \"r_geschaeftspartnerProfilFirmaListView\",\r\n \"options\": {\r\n \"optionsName\": \"r_geschaeftspartnerProfilFirmaListViewOptions\",\r\n \"optionsNameFQ\": \"r_geschaeftspartnerProfilFirmaListViewOptions\"\r\n }\r\n });\r\n super.onConstructionFinished();\r\n }\r\n}","module.exports = \"\";","import * as fwx from \"../../../../framework/forms/form-export\";\r\nimport {\r\n GeschaeftspartnerEntlohnungsschemaUtils\r\n} from \"./geschaeftspartner-entlohnungsschema\";\r\n\r\n@fwx.autoinject\r\nexport class GeschaeftspartnerEntlohnungsschemaForm extends fwx.FormBase {\r\n constructor(\r\n element: Element,\r\n formBaseImport: fwx.FormBaseImport,\r\n private $f_EntlohungsschemaUtils: GeschaeftspartnerEntlohnungsschemaUtils) {\r\n super(element, formBaseImport);\r\n this.id = \"geschaeftspartner-entlohnungsschema\";\r\n this.title = \"geschaeftspartner-entlohnungsschema.geschaeftspartner-entlohnungsschema_caption\";\r\n this.addModel({\r\n \"id\": \"$m_Entlohnungsschema\",\r\n \"webApiAction\": \"ZIT/Stammdaten/Entlohnungsschema\",\r\n \"webApiWhere\": [\"IdGeschaeftspartner\", {\r\n \"isBound\": true,\r\n \"expression\": \"variables.data.$v_idGeschaeftspartner\"\r\n }],\r\n \"keyProperty\": \"Id\",\r\n \"filters\": []\r\n });\r\n this.addModel({\r\n \"id\": \"$m_EntlohnungsschemaEdit\",\r\n \"webApiAction\": \"ZIT/Stammdaten/Entlohnungsschema\",\r\n \"keyProperty\": \"Id\",\r\n \"filters\": []\r\n });\r\n this.addModel({\r\n \"id\": \"$m_Geschaeftspartner\",\r\n \"webApiAction\": \"ZIT/Objekte/Geschaeftspartner\",\r\n \"webApiColumns\": [\"Name1\"],\r\n \"modificationInfoEnabled\": true,\r\n \"key\": \"variables.data.$v_idGeschaeftspartner\",\r\n \"keyProperty\": \"Id\",\r\n \"filters\": []\r\n });\r\n this.addVariable({\r\n \"id\": \"$v_idGeschaeftspartner\"\r\n });\r\n this.addCommand({\r\n \"binding\": {\r\n \"bindTo\": \"$f_EntlohungsschemaUtils.addNewEntlohnungsschemaCommand\",\r\n \"bindToFQ\": \"functions.$f_EntlohungsschemaUtils.addNewEntlohnungsschemaCommand\"\r\n }\r\n });\r\n this.addCommand({\r\n \"binding\": {\r\n \"bindTo\": \"$f_EntlohungsschemaUtils.saveEntlohungsschemaCommand\",\r\n \"bindToFQ\": \"functions.$f_EntlohungsschemaUtils.saveEntlohungsschemaCommand\"\r\n }\r\n });\r\n this.addCommand({\r\n \"binding\": {\r\n \"bindTo\": \"$f_EntlohungsschemaUtils.deleteEnlohnungsschemaCommand\",\r\n \"bindToFQ\": \"functions.$f_EntlohungsschemaUtils.deleteEnlohnungsschemaCommand\"\r\n }\r\n });\r\n this.addFunction(\"$f_EntlohungsschemaUtils\", $f_EntlohungsschemaUtils, \"functions.$f_EntlohungsschemaUtils\");\r\n this.widgetCreator.addValidationGroup(this, {\r\n \"id\": \"wd1\",\r\n \"options\": {\r\n \"optionsName\": \"wd1Options\",\r\n \"optionsNameFQ\": \"wd1Options\"\r\n }\r\n });\r\n this.widgetCreator.addDataGrid(this, {\r\n \"columns\": [{\r\n \"id\": \"r_entlohnungsschemaGridBezeichnung\",\r\n \"caption\": \"geschaeftspartner-entlohnungsschema.r_entlohnungsschemagridbezeichnung_caption\",\r\n \"bindTo\": \"Bezeichnung\",\r\n \"minWidth\": 100\r\n }, {\r\n \"id\": \"r_r_entlohnungsschemaGridSortNr\",\r\n \"caption\": \"geschaeftspartner-entlohnungsschema.r_r_entlohnungsschemagridsortnr_caption\",\r\n \"bindTo\": \"SortNr\",\r\n \"width\": \"90px\"\r\n }],\r\n \"optionsToolbar\": {\r\n \"optionsName\": \"r_entlohungsschemaDataGridToolbarOptions\",\r\n \"optionsNameFQ\": \"r_entlohungsschemaDataGridToolbarOptions\"\r\n },\r\n \"caption\": \"geschaeftspartner-entlohnungsschema.r_entlohungsschemadatagrid_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Entlohnungsschema\"\r\n },\r\n \"dataModel\": \"$m_Entlohnungsschema\",\r\n \"onItemClick\": \"functions.$f_EntlohungsschemaUtils.onEntlohungsschemaClick($event)\",\r\n \"selectionMode\": 1,\r\n \"pageSize\": 10,\r\n \"showPagerInfo\": true,\r\n \"listEdits\": [],\r\n \"filters\": [],\r\n \"commands\": [],\r\n \"id\": \"r_entlohungsschemaDataGrid\",\r\n \"options\": {\r\n \"optionsName\": \"r_entlohungsschemaDataGridOptions\",\r\n \"optionsNameFQ\": \"r_entlohungsschemaDataGridOptions\"\r\n }\r\n });\r\n this.widgetCreator.addValidationGroup(this, {\r\n \"id\": \"r_entlohungsschemaValidationGroup\",\r\n \"options\": {\r\n \"optionsName\": \"r_entlohungsschemaValidationGroupOptions\",\r\n \"optionsNameFQ\": \"r_entlohungsschemaValidationGroupOptions\"\r\n }\r\n });\r\n this.widgetCreator.addTextBox(this, {\r\n \"maxLength\": 250,\r\n \"caption\": \"geschaeftspartner-entlohnungsschema.r_entlohnungsschemabezeichnung_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_EntlohnungsschemaEdit\",\r\n \"bindTo\": \"Bezeichnung\",\r\n \"bindToFQ\": \"models.data.$m_EntlohnungsschemaEdit.Bezeichnung\"\r\n },\r\n \"validationRules\": [{\r\n \"item\": {\r\n \"type\": \"required\",\r\n \"parameters\": []\r\n }\r\n }],\r\n \"id\": \"r_entlohnungsschemaBezeichnung\",\r\n \"options\": {\r\n \"optionsName\": \"r_entlohnungsschemaBezeichnungOptions\",\r\n \"optionsNameFQ\": \"r_entlohnungsschemaBezeichnungOptions\"\r\n }\r\n });\r\n this.widgetCreator.addNumberBox(this, {\r\n \"showSpinButtons\": true,\r\n \"min\": 0.0,\r\n \"caption\": \"geschaeftspartner-entlohnungsschema.r_entlohnungsschemasortnr_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_EntlohnungsschemaEdit\",\r\n \"bindTo\": \"SortNr\",\r\n \"bindToFQ\": \"models.data.$m_EntlohnungsschemaEdit.SortNr\"\r\n },\r\n \"validationRules\": [{\r\n \"item\": {\r\n \"type\": \"required\",\r\n \"parameters\": []\r\n }\r\n }],\r\n \"id\": \"r_entlohnungsschemaSortNr\",\r\n \"options\": {\r\n \"optionsName\": \"r_entlohnungsschemaSortNrOptions\",\r\n \"optionsNameFQ\": \"r_entlohnungsschemaSortNrOptions\"\r\n }\r\n });\r\n this.widgetCreator.addDateBox(this, {\r\n \"format\": \"d\",\r\n \"caption\": \"geschaeftspartner-entlohnungsschema.r_entlohnungsschemagueltigvon_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_EntlohnungsschemaEdit\",\r\n \"bindTo\": \"GueltigVon\",\r\n \"bindToFQ\": \"models.data.$m_EntlohnungsschemaEdit.GueltigVon\"\r\n },\r\n \"validationRules\": [{\r\n \"item\": {\r\n \"type\": \"required\",\r\n \"parameters\": []\r\n }\r\n }],\r\n \"id\": \"r_entlohnungsschemaGueltigVon\",\r\n \"options\": {\r\n \"optionsName\": \"r_entlohnungsschemaGueltigVonOptions\",\r\n \"optionsNameFQ\": \"r_entlohnungsschemaGueltigVonOptions\"\r\n }\r\n });\r\n this.widgetCreator.addDateBox(this, {\r\n \"format\": \"d\",\r\n \"caption\": \"geschaeftspartner-entlohnungsschema.r_entlohnungsschemagueltigbis_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_EntlohnungsschemaEdit\",\r\n \"bindTo\": \"GueltigBis\",\r\n \"bindToFQ\": \"models.data.$m_EntlohnungsschemaEdit.GueltigBis\"\r\n },\r\n \"validationRules\": [{\r\n \"item\": {\r\n \"type\": \"required\",\r\n \"parameters\": []\r\n }\r\n }],\r\n \"id\": \"r_entlohnungsschemaGueltigBis\",\r\n \"options\": {\r\n \"optionsName\": \"r_entlohnungsschemaGueltigBisOptions\",\r\n \"optionsNameFQ\": \"r_entlohnungsschemaGueltigBisOptions\"\r\n }\r\n });\r\n this.widgetCreator.addTextBox(this, {\r\n \"maxLength\": 200,\r\n \"caption\": \"geschaeftspartner-entlohnungsschema.r_entlohnungsschemabeschaeftignungsgruppeueberlasser_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_EntlohnungsschemaEdit\",\r\n \"bindTo\": \"BeschaeftignungsgruppeUeberlasser\",\r\n \"bindToFQ\": \"models.data.$m_EntlohnungsschemaEdit.BeschaeftignungsgruppeUeberlasser\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_entlohnungsschemaBeschaeftignungsgruppeUeberlasser\",\r\n \"options\": {\r\n \"optionsName\": \"r_entlohnungsschemaBeschaeftignungsgruppeUeberlasserOptions\",\r\n \"optionsNameFQ\": \"r_entlohnungsschemaBeschaeftignungsgruppeUeberlasserOptions\"\r\n }\r\n });\r\n this.widgetCreator.addNumberBox(this, {\r\n \"max\": 99999999.0,\r\n \"format\": \"n2\",\r\n \"caption\": \"geschaeftspartner-entlohnungsschema.r_entlohnungsschemastundensatzueberlasser_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_EntlohnungsschemaEdit\",\r\n \"bindTo\": \"StundensatzUeberlasser\",\r\n \"bindToFQ\": \"models.data.$m_EntlohnungsschemaEdit.StundensatzUeberlasser\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_entlohnungsschemaStundensatzUeberlasser\",\r\n \"options\": {\r\n \"optionsName\": \"r_entlohnungsschemaStundensatzUeberlasserOptions\",\r\n \"optionsNameFQ\": \"r_entlohnungsschemaStundensatzUeberlasserOptions\"\r\n }\r\n });\r\n this.widgetCreator.addTextBox(this, {\r\n \"maxLength\": 250,\r\n \"caption\": \"geschaeftspartner-entlohnungsschema.r_entlohnungsschemakollektivvertragbeschaeftiger_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_EntlohnungsschemaEdit\",\r\n \"bindTo\": \"KollektivvertragBeschaeftiger\",\r\n \"bindToFQ\": \"models.data.$m_EntlohnungsschemaEdit.KollektivvertragBeschaeftiger\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_entlohnungsschemaKollektivvertragBeschaeftiger\",\r\n \"options\": {\r\n \"optionsName\": \"r_entlohnungsschemaKollektivvertragBeschaeftigerOptions\",\r\n \"optionsNameFQ\": \"r_entlohnungsschemaKollektivvertragBeschaeftigerOptions\"\r\n }\r\n });\r\n this.widgetCreator.addTextBox(this, {\r\n \"maxLength\": 200,\r\n \"caption\": \"geschaeftspartner-entlohnungsschema.r_entlohnungsschemabeschaeftigungsgruppebeschaeftiger_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_EntlohnungsschemaEdit\",\r\n \"bindTo\": \"BeschaeftigungsgruppeBeschaeftiger\",\r\n \"bindToFQ\": \"models.data.$m_EntlohnungsschemaEdit.BeschaeftigungsgruppeBeschaeftiger\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_entlohnungsschemaBeschaeftigungsgruppeBeschaeftiger\",\r\n \"options\": {\r\n \"optionsName\": \"r_entlohnungsschemaBeschaeftigungsgruppeBeschaeftigerOptions\",\r\n \"optionsNameFQ\": \"r_entlohnungsschemaBeschaeftigungsgruppeBeschaeftigerOptions\"\r\n }\r\n });\r\n this.widgetCreator.addNumberBox(this, {\r\n \"max\": 9999.0,\r\n \"format\": \"n2\",\r\n \"caption\": \"geschaeftspartner-entlohnungsschema.r_entlohnungsschemawoechentlichearbeitszeit_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_EntlohnungsschemaEdit\",\r\n \"bindTo\": \"WoechentlicheArbeitszeit\",\r\n \"bindToFQ\": \"models.data.$m_EntlohnungsschemaEdit.WoechentlicheArbeitszeit\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_entlohnungsschemaWoechentlicheArbeitszeit\",\r\n \"options\": {\r\n \"optionsName\": \"r_entlohnungsschemaWoechentlicheArbeitszeitOptions\",\r\n \"optionsNameFQ\": \"r_entlohnungsschemaWoechentlicheArbeitszeitOptions\"\r\n }\r\n });\r\n this.widgetCreator.addNumberBox(this, {\r\n \"max\": 99999999.0,\r\n \"format\": \"n2\",\r\n \"caption\": \"geschaeftspartner-entlohnungsschema.r_entlohnungsschemaentlohnung_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_EntlohnungsschemaEdit\",\r\n \"bindTo\": \"Entlohnung\",\r\n \"bindToFQ\": \"models.data.$m_EntlohnungsschemaEdit.Entlohnung\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_entlohnungsschemaEntlohnung\",\r\n \"options\": {\r\n \"optionsName\": \"r_entlohnungsschemaEntlohnungOptions\",\r\n \"optionsNameFQ\": \"r_entlohnungsschemaEntlohnungOptions\"\r\n }\r\n });\r\n this.widgetCreator.addNumberBox(this, {\r\n \"max\": 99999999.0,\r\n \"format\": \"n2\",\r\n \"caption\": \"geschaeftspartner-entlohnungsschema.r_entlohnungsschemareferenzzuschlag_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_EntlohnungsschemaEdit\",\r\n \"bindTo\": \"Referenzzuschlag\",\r\n \"bindToFQ\": \"models.data.$m_EntlohnungsschemaEdit.Referenzzuschlag\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_entlohnungsschemaReferenzzuschlag\",\r\n \"options\": {\r\n \"optionsName\": \"r_entlohnungsschemaReferenzzuschlagOptions\",\r\n \"optionsNameFQ\": \"r_entlohnungsschemaReferenzzuschlagOptions\"\r\n }\r\n });\r\n this.widgetCreator.addNumberBox(this, {\r\n \"max\": 99999999.0,\r\n \"format\": \"n2\",\r\n \"caption\": \"geschaeftspartner-entlohnungsschema.r_entlohnungsschemaschichtzulage_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_EntlohnungsschemaEdit\",\r\n \"bindTo\": \"Schichtzulage\",\r\n \"bindToFQ\": \"models.data.$m_EntlohnungsschemaEdit.Schichtzulage\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_entlohnungsschemaSchichtzulage\",\r\n \"options\": {\r\n \"optionsName\": \"r_entlohnungsschemaSchichtzulageOptions\",\r\n \"optionsNameFQ\": \"r_entlohnungsschemaSchichtzulageOptions\"\r\n }\r\n });\r\n this.widgetCreator.addNumberBox(this, {\r\n \"max\": 99999999.0,\r\n \"format\": \"n2\",\r\n \"caption\": \"geschaeftspartner-entlohnungsschema.r_entlohnungsschemanachtschichtzulage_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_EntlohnungsschemaEdit\",\r\n \"bindTo\": \"Nachtschichtzulage\",\r\n \"bindToFQ\": \"models.data.$m_EntlohnungsschemaEdit.Nachtschichtzulage\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_entlohnungsschemaNachtschichtzulage\",\r\n \"options\": {\r\n \"optionsName\": \"r_entlohnungsschemaNachtschichtzulageOptions\",\r\n \"optionsNameFQ\": \"r_entlohnungsschemaNachtschichtzulageOptions\"\r\n }\r\n });\r\n super.onConstructionFinished();\r\n }\r\n}","module.exports = \"\";","import * as fwx from \"../../../../framework/forms/form-export\";\r\nimport {\r\n GeschaeftspartnerGruppierungUtils\r\n} from \"./geschaeftspartner-gruppierung\";\r\n\r\n@fwx.autoinject\r\nexport class GeschaeftspartnerGruppierungForm extends fwx.FormBase {\r\n constructor(\r\n element: Element,\r\n formBaseImport: fwx.FormBaseImport,\r\n private $f_GeschaeftsparnterGruppierungUtils: GeschaeftspartnerGruppierungUtils) {\r\n super(element, formBaseImport);\r\n this.id = \"geschaeftspartner-gruppierung\";\r\n this.title = \"geschaeftspartner-gruppierung.geschaeftspartner-gruppierung_caption\";\r\n this.addModel({\r\n \"id\": \"$m_GeschaeftspartnerGruppierung\",\r\n \"webApiAction\": \"ZIT/Stammdaten/GeschaeftspartnerGruppierung\",\r\n \"webApiExpand\": {\r\n GeschaeftspartnerGruppierungstyp: null\r\n },\r\n \"webApiWhere\": [\"IdGeschaeftspartner\", {\r\n \"isBound\": true,\r\n \"expression\": \"variables.data.$v_idGeschaeftspartner\"\r\n }],\r\n \"webApiOrderBy\": [{\r\n columnName: 'GeschaeftspartnerGruppierungstyp.SortNr',\r\n sortOrder: 0\r\n }, {\r\n columnName: 'SortNr',\r\n sortOrder: 0\r\n }, {\r\n columnName: 'GeschaeftspartnerGruppierungstyp.Bezeichnung',\r\n sortOrder: 0\r\n }],\r\n \"keyProperty\": \"Id\",\r\n \"filters\": []\r\n });\r\n this.addModel({\r\n \"id\": \"$m_GeschaeftspartnerGruppierungEdit\",\r\n \"webApiAction\": \"ZIT/Stammdaten/GeschaeftspartnerGruppierung\",\r\n \"webApiExpand\": {\r\n 'BewertungArbeitseinsatzAnsprechpersonen': null,\r\n 'VerantwortlichAnsprechpersonen': null\r\n },\r\n \"keyProperty\": \"Id\",\r\n \"filters\": []\r\n });\r\n this.addModel({\r\n \"id\": \"$m_VerantwortlichAnsprechperson\",\r\n \"webApiAction\": \"ZIT/Objekte/Ansprechperson\",\r\n \"modificationInfoEnabled\": true,\r\n \"keyProperty\": \"Id\",\r\n \"filters\": []\r\n });\r\n this.addModel({\r\n \"id\": \"$m_BewertungArbeitseinsatzAnsprechperson\",\r\n \"webApiAction\": \"ZIT/Objekte/Ansprechperson\",\r\n \"modificationInfoEnabled\": true,\r\n \"keyProperty\": \"Id\",\r\n \"filters\": []\r\n });\r\n this.addModel({\r\n \"id\": \"$m_Geschaeftspartner\",\r\n \"webApiAction\": \"ZIT/Objekte/Geschaeftspartner\",\r\n \"webApiColumns\": [\"Name1\"],\r\n \"modificationInfoEnabled\": true,\r\n \"key\": \"variables.data.$v_idGeschaeftspartner\",\r\n \"keyProperty\": \"Id\",\r\n \"filters\": []\r\n });\r\n this.addVariable({\r\n \"id\": \"$v_idGeschaeftspartner\"\r\n });\r\n this.addCommand({\r\n \"binding\": {\r\n \"bindTo\": \"$f_GeschaeftsparnterGruppierungUtils.addNewGruppierungCommand\",\r\n \"bindToFQ\": \"functions.$f_GeschaeftsparnterGruppierungUtils.addNewGruppierungCommand\"\r\n }\r\n });\r\n this.addCommand({\r\n \"binding\": {\r\n \"bindTo\": \"$f_GeschaeftsparnterGruppierungUtils.saveGruppierungCommand\",\r\n \"bindToFQ\": \"functions.$f_GeschaeftsparnterGruppierungUtils.saveGruppierungCommand\"\r\n }\r\n });\r\n this.addCommand({\r\n \"binding\": {\r\n \"bindTo\": \"$f_GeschaeftsparnterGruppierungUtils.deleteGruppierungCommand\",\r\n \"bindToFQ\": \"functions.$f_GeschaeftsparnterGruppierungUtils.deleteGruppierungCommand\"\r\n }\r\n });\r\n this.addFunction(\"$f_GeschaeftsparnterGruppierungUtils\", $f_GeschaeftsparnterGruppierungUtils, \"functions.$f_GeschaeftsparnterGruppierungUtils\");\r\n this.widgetCreator.addValidationGroup(this, {\r\n \"id\": \"wd1\",\r\n \"options\": {\r\n \"optionsName\": \"wd1Options\",\r\n \"optionsNameFQ\": \"wd1Options\"\r\n }\r\n });\r\n this.widgetCreator.addDataGrid(this, {\r\n \"columns\": [{\r\n \"id\": \"r_GeschaeftspartnerGruppierungTyp\",\r\n \"caption\": \"geschaeftspartner-gruppierung.r_geschaeftspartnergruppierungtyp_caption\",\r\n \"bindTo\": \"GeschaeftspartnerGruppierungstyp.Bezeichnung\",\r\n \"minWidth\": 100\r\n }, {\r\n \"id\": \"r_GeschaeftspartnerGruppierungBezeichnung\",\r\n \"caption\": \"geschaeftspartner-gruppierung.r_geschaeftspartnergruppierungbezeichnung_caption\",\r\n \"bindTo\": \"Bezeichnung\",\r\n \"minWidth\": 100\r\n }, {\r\n \"id\": \"r_GeschaeftspartnerGruppierungSortNr\",\r\n \"caption\": \"geschaeftspartner-gruppierung.r_geschaeftspartnergruppierungsortnr_caption\",\r\n \"bindTo\": \"SortNr\",\r\n \"width\": \"90px\"\r\n }],\r\n \"optionsToolbar\": {\r\n \"optionsName\": \"r_GeschaeftspartnerGruppierungDataGridToolbarOptions\",\r\n \"optionsNameFQ\": \"r_GeschaeftspartnerGruppierungDataGridToolbarOptions\"\r\n },\r\n \"caption\": \"geschaeftspartner-gruppierung.r_geschaeftspartnergruppierungdatagrid_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_GeschaeftspartnerGruppierung\"\r\n },\r\n \"dataModel\": \"$m_GeschaeftspartnerGruppierung\",\r\n \"onItemClick\": \"functions.$f_GeschaeftsparnterGruppierungUtils.onGruppierungClick($event)\",\r\n \"selectionMode\": 1,\r\n \"pageSize\": 10,\r\n \"showPagerInfo\": true,\r\n \"listEdits\": [],\r\n \"filters\": [],\r\n \"commands\": [],\r\n \"id\": \"r_GeschaeftspartnerGruppierungDataGrid\",\r\n \"options\": {\r\n \"optionsName\": \"r_GeschaeftspartnerGruppierungDataGridOptions\",\r\n \"optionsNameFQ\": \"r_GeschaeftspartnerGruppierungDataGridOptions\"\r\n }\r\n });\r\n this.widgetCreator.addValidationGroup(this, {\r\n \"id\": \"r_geschaeftspartnerGruppierungValidationGroup\",\r\n \"options\": {\r\n \"optionsName\": \"r_geschaeftspartnerGruppierungValidationGroupOptions\",\r\n \"optionsNameFQ\": \"r_geschaeftspartnerGruppierungValidationGroupOptions\"\r\n }\r\n });\r\n this.widgetCreator.addSelectBox(this, {\r\n \"idSelect\": \"geschaeftspartnerGruppierungstyp\",\r\n \"filters\": [],\r\n \"caption\": \"geschaeftspartner-gruppierung.r_geschaeftspartnergruppierungtyp_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_GeschaeftspartnerGruppierungEdit\",\r\n \"bindTo\": \"IdGruppierungstyp\",\r\n \"bindToFQ\": \"models.data.$m_GeschaeftspartnerGruppierungEdit.IdGruppierungstyp\"\r\n },\r\n \"validationRules\": [{\r\n \"item\": {\r\n \"type\": \"required\",\r\n \"parameters\": []\r\n }\r\n }],\r\n \"id\": \"r_GeschaeftspartnerGruppierungTyp\",\r\n \"options\": {\r\n \"optionsName\": \"r_GeschaeftspartnerGruppierungTypOptions\",\r\n \"optionsNameFQ\": \"r_GeschaeftspartnerGruppierungTypOptions\"\r\n }\r\n });\r\n this.widgetCreator.addTextBox(this, {\r\n \"maxLength\": 250,\r\n \"caption\": \"geschaeftspartner-gruppierung.r_geschaeftspartnergruppierungbezeichnung_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_GeschaeftspartnerGruppierungEdit\",\r\n \"bindTo\": \"Bezeichnung\",\r\n \"bindToFQ\": \"models.data.$m_GeschaeftspartnerGruppierungEdit.Bezeichnung\"\r\n },\r\n \"validationRules\": [{\r\n \"item\": {\r\n \"type\": \"required\",\r\n \"parameters\": []\r\n }\r\n }],\r\n \"id\": \"r_GeschaeftspartnerGruppierungBezeichnung\",\r\n \"options\": {\r\n \"optionsName\": \"r_GeschaeftspartnerGruppierungBezeichnungOptions\",\r\n \"optionsNameFQ\": \"r_GeschaeftspartnerGruppierungBezeichnungOptions\"\r\n }\r\n });\r\n this.widgetCreator.addNumberBox(this, {\r\n \"showSpinButtons\": true,\r\n \"min\": 0.0,\r\n \"caption\": \"geschaeftspartner-gruppierung.r_geschaeftspartnergruppierungsortnr_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_GeschaeftspartnerGruppierungEdit\",\r\n \"bindTo\": \"SortNr\",\r\n \"bindToFQ\": \"models.data.$m_GeschaeftspartnerGruppierungEdit.SortNr\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_GeschaeftspartnerGruppierungSortNr\",\r\n \"options\": {\r\n \"optionsName\": \"r_GeschaeftspartnerGruppierungSortNrOptions\",\r\n \"optionsNameFQ\": \"r_GeschaeftspartnerGruppierungSortNrOptions\"\r\n }\r\n });\r\n this.widgetCreator.addDateBox(this, {\r\n \"format\": \"d\",\r\n \"caption\": \"geschaeftspartner-gruppierung.r_geschaeftspartnergruppierunggueltigvon_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_GeschaeftspartnerGruppierungEdit\",\r\n \"bindTo\": \"GueltigVon\",\r\n \"bindToFQ\": \"models.data.$m_GeschaeftspartnerGruppierungEdit.GueltigVon\"\r\n },\r\n \"validationRules\": [{\r\n \"item\": {\r\n \"type\": \"required\",\r\n \"parameters\": []\r\n }\r\n }],\r\n \"id\": \"r_GeschaeftspartnerGruppierungGueltigVon\",\r\n \"options\": {\r\n \"optionsName\": \"r_GeschaeftspartnerGruppierungGueltigVonOptions\",\r\n \"optionsNameFQ\": \"r_GeschaeftspartnerGruppierungGueltigVonOptions\"\r\n }\r\n });\r\n this.widgetCreator.addDateBox(this, {\r\n \"format\": \"d\",\r\n \"caption\": \"geschaeftspartner-gruppierung.r_geschaeftspartnergruppierunggueltigbis_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_GeschaeftspartnerGruppierungEdit\",\r\n \"bindTo\": \"GueltigBis\",\r\n \"bindToFQ\": \"models.data.$m_GeschaeftspartnerGruppierungEdit.GueltigBis\"\r\n },\r\n \"validationRules\": [{\r\n \"item\": {\r\n \"type\": \"required\",\r\n \"parameters\": []\r\n }\r\n }],\r\n \"id\": \"r_GeschaeftspartnerGruppierungGueltigBis\",\r\n \"options\": {\r\n \"optionsName\": \"r_GeschaeftspartnerGruppierungGueltigBisOptions\",\r\n \"optionsNameFQ\": \"r_GeschaeftspartnerGruppierungGueltigBisOptions\"\r\n }\r\n });\r\n this.widgetCreator.addRadioGroup(this, {\r\n \"idSelect\": \"erfassungTyp\",\r\n \"filters\": [],\r\n \"caption\": \"geschaeftspartner-gruppierung.r_geschaeftspartnergruppierungfakturaempfaengererfassungtyp_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_GeschaeftspartnerGruppierungEdit\",\r\n \"bindTo\": \"FakturaempfaengerErfassungTyp\",\r\n \"bindToFQ\": \"models.data.$m_GeschaeftspartnerGruppierungEdit.FakturaempfaengerErfassungTyp\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_GeschaeftspartnerGruppierungFakturaempfaengerErfassungTyp\",\r\n \"options\": {\r\n \"optionsName\": \"r_GeschaeftspartnerGruppierungFakturaempfaengerErfassungTypOptions\",\r\n \"optionsNameFQ\": \"r_GeschaeftspartnerGruppierungFakturaempfaengerErfassungTypOptions\"\r\n }\r\n });\r\n this.widgetCreator.addLookup(this, {\r\n \"idSelect\": \"ansprechperson\",\r\n \"filters\": [],\r\n \"caption\": \"geschaeftspartner-gruppierung.r_geschaeftspartnergruppierungidfakturaempfaengeransprechperson_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_GeschaeftspartnerGruppierungEdit\",\r\n \"bindTo\": \"IdFakturaEmpfaengerAnsprechperson\",\r\n \"bindToFQ\": \"models.data.$m_GeschaeftspartnerGruppierungEdit.IdFakturaEmpfaengerAnsprechperson\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_GeschaeftspartnerGruppierungIdFakturaEmpfaengerAnsprechperson\",\r\n \"options\": {\r\n \"optionsName\": \"r_GeschaeftspartnerGruppierungIdFakturaEmpfaengerAnsprechpersonOptions\",\r\n \"optionsNameFQ\": \"r_GeschaeftspartnerGruppierungIdFakturaEmpfaengerAnsprechpersonOptions\"\r\n }\r\n });\r\n this.widgetCreator.addTextBox(this, {\r\n \"caption\": \"geschaeftspartner-gruppierung.r_geschaeftspartnergruppierungfakturaempfaengeransprechpersonfreitext_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_GeschaeftspartnerGruppierungEdit\",\r\n \"bindTo\": \"FakturaEmpfaengerAnsprechpersonFreitext\",\r\n \"bindToFQ\": \"models.data.$m_GeschaeftspartnerGruppierungEdit.FakturaEmpfaengerAnsprechpersonFreitext\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_GeschaeftspartnerGruppierungFakturaEmpfaengerAnsprechpersonFreitext\",\r\n \"options\": {\r\n \"optionsName\": \"r_GeschaeftspartnerGruppierungFakturaEmpfaengerAnsprechpersonFreitextOptions\",\r\n \"optionsNameFQ\": \"r_GeschaeftspartnerGruppierungFakturaEmpfaengerAnsprechpersonFreitextOptions\"\r\n }\r\n });\r\n this.widgetCreator.addTagBox(this, {\r\n \"caption\": \"geschaeftspartner-gruppierung.r_geshaeftspartnergruppierungverantwortlichansprechpersonen_caption\",\r\n \"dataContext\": \"$m_GeschaeftspartnerGruppierungEdit\",\r\n \"batchSelectionEnabled\": true,\r\n \"relationBinding\": {\r\n \"dataContext\": \"$m_GeschaeftspartnerGruppierungEdit\",\r\n \"bindTo\": \"VerantwortlichAnsprechpersonen\",\r\n \"bindToFQ\": \"models.data.$m_GeschaeftspartnerGruppierungEdit.VerantwortlichAnsprechpersonen\"\r\n },\r\n \"relationProperty\": \"IdAnsprechperson\",\r\n \"itemDataContext\": \"$m_VerantwortlichAnsprechperson\",\r\n \"itemValueExpr\": \"Id\",\r\n \"itemDisplayExpr\": \"Name\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_GeschaeftspartnerGruppierungEdit\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_GeshaeftspartnerGruppierungVerantwortlichAnsprechpersonen\",\r\n \"options\": {\r\n \"optionsName\": \"r_GeshaeftspartnerGruppierungVerantwortlichAnsprechpersonenOptions\",\r\n \"optionsNameFQ\": \"r_GeshaeftspartnerGruppierungVerantwortlichAnsprechpersonenOptions\"\r\n }\r\n });\r\n this.widgetCreator.addTagBox(this, {\r\n \"caption\": \"geschaeftspartner-gruppierung.r_geshaeftspartnergruppierungbewertungarbeitseinsatzansprechpersonen_caption\",\r\n \"dataContext\": \"$m_GeschaeftspartnerGruppierungEdit\",\r\n \"batchSelectionEnabled\": true,\r\n \"relationBinding\": {\r\n \"dataContext\": \"$m_GeschaeftspartnerGruppierungEdit\",\r\n \"bindTo\": \"BewertungArbeitseinsatzAnsprechpersonen\",\r\n \"bindToFQ\": \"models.data.$m_GeschaeftspartnerGruppierungEdit.BewertungArbeitseinsatzAnsprechpersonen\"\r\n },\r\n \"relationProperty\": \"IdAnsprechperson\",\r\n \"itemDataContext\": \"$m_BewertungArbeitseinsatzAnsprechperson\",\r\n \"itemValueExpr\": \"Id\",\r\n \"itemDisplayExpr\": \"Name\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_GeschaeftspartnerGruppierungEdit\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_GeshaeftspartnerGruppierungBewertungArbeitseinsatzAnsprechpersonen\",\r\n \"options\": {\r\n \"optionsName\": \"r_GeshaeftspartnerGruppierungBewertungArbeitseinsatzAnsprechpersonenOptions\",\r\n \"optionsNameFQ\": \"r_GeshaeftspartnerGruppierungBewertungArbeitseinsatzAnsprechpersonenOptions\"\r\n }\r\n });\r\n super.onConstructionFinished();\r\n }\r\n}","module.exports = \"\";","import * as fwx from \"../../../../framework/forms/form-export\";\r\nimport {\r\n GeschaeftspartnerEditUtils\r\n} from \"./geschaeftspartner-edit-utils\";\r\n\r\n@fwx.autoinject\r\nexport class GeschaeftspartnerHeartbaseEditForm extends fwx.FormBase {\r\n constructor(\r\n element: Element,\r\n formBaseImport: fwx.FormBaseImport,\r\n private $f_GeschaeftspartnerEditUtils: GeschaeftspartnerEditUtils) {\r\n super(element, formBaseImport);\r\n this.id = \"geschaeftspartner-heartbase-edit\";\r\n this.title = \"geschaeftspartner-heartbase-edit.geschaeftspartner-heartbase-edit_caption\";\r\n this.addModel({\r\n \"id\": \"$m_Geschaeftspartner\",\r\n \"webApiAction\": \"ZIT/Objekte/Geschaeftspartner\",\r\n \"webApiExpand\": {\r\n 'Geschaeftspartnerdaten': {\r\n 'expand': {\r\n 'Geschaeftspartnertypen': null,\r\n 'DsDatenschutz': null\r\n }\r\n }\r\n },\r\n \"modificationInfoEnabled\": true,\r\n \"key\": \"variables.data.$id\",\r\n \"keyProperty\": \"Id\",\r\n \"postOnSave\": true,\r\n \"filters\": [{\r\n \"webApiCustomKey\": \"addCustomSubHeadline\",\r\n \"webApiCustomValue\": \"true\"\r\n }, {\r\n \"webApiCustomKey\": \"SonstigeKontaktdatenVisible\",\r\n \"webApiCustomValue\": \"true\"\r\n }]\r\n });\r\n this.addModel({\r\n \"id\": \"$m_GeschaeftspartnerdatenElement\",\r\n \"webApiAction\": \"ZIT/Objekte/GeschaeftspartnerGeschaeftspartnerdatenElement\",\r\n \"key\": \"models.data.$m_Geschaeftspartner.IdGeschaeftspartnerGeschaeftspartnerdatenElement\",\r\n \"keyProperty\": \"Id\",\r\n \"filters\": []\r\n });\r\n this.addModel({\r\n \"id\": \"$m_Geschaeftspartnertyp\",\r\n \"webApiAction\": \"ZIT/Stammdaten/Geschaeftspartnertyp\",\r\n \"keyProperty\": \"Id\",\r\n \"filters\": []\r\n });\r\n this.addModel({\r\n \"id\": \"$m_AdresseElement\",\r\n \"webApiAction\": \"ZIT/Objekte/GeschaeftspartnerAdresseElement\",\r\n \"key\": \"models.data.$m_Geschaeftspartner.IdGeschaeftspartnerAdresseElement\",\r\n \"keyProperty\": \"Id\",\r\n \"filters\": []\r\n });\r\n this.addModel({\r\n \"id\": \"$m_GeschaeftspartnerAdresseRel\",\r\n \"webApiAction\": \"ZIT/Objekte/GeschaeftspartnerAdresse\",\r\n \"webApiExpand\": {\r\n 'Adresstyp': null,\r\n 'Land': null\r\n },\r\n \"keyProperty\": \"Id\",\r\n \"filters\": []\r\n });\r\n this.addModel({\r\n \"id\": \"$m_GeschaeftspartnerAdresseEdit\",\r\n \"webApiAction\": \"ZIT/Objekte/GeschaeftspartnerAdresse\",\r\n \"keyProperty\": \"Id\",\r\n \"filters\": []\r\n });\r\n this.addModel({\r\n \"id\": \"$m_KontaktElement\",\r\n \"webApiAction\": \"ZIT/Objekte/GeschaeftspartnerKontaktElement\",\r\n \"key\": \"models.data.$m_Geschaeftspartner.IdGeschaeftspartnerKontaktElement\",\r\n \"keyProperty\": \"Id\",\r\n \"filters\": []\r\n });\r\n this.addModel({\r\n \"id\": \"$m_GeschaeftspartnerKontaktRel\",\r\n \"webApiAction\": \"ZIT/Objekte/GeschaeftspartnerKontakt\",\r\n \"webApiExpand\": {\r\n Kontakttyp: null\r\n },\r\n \"keyProperty\": \"Id\",\r\n \"filters\": []\r\n });\r\n this.addModel({\r\n \"id\": \"$m_GeschaeftspartnerKontaktEdit\",\r\n \"webApiAction\": \"ZIT/Objekte/GeschaeftspartnerKontakt\",\r\n \"keyProperty\": \"Id\",\r\n \"filters\": []\r\n });\r\n this.addModel({\r\n \"id\": \"$m_BankverbindungElement\",\r\n \"webApiAction\": \"ZIT/Objekte/GeschaeftspartnerBankverbindungElement\",\r\n \"key\": \"models.data.$m_Geschaeftspartner.IdGeschaeftspartnerBankverbindungElement\",\r\n \"keyProperty\": \"Id\",\r\n \"filters\": []\r\n });\r\n this.addModel({\r\n \"id\": \"$m_GeschaeftspartnerBankverbindungRel\",\r\n \"webApiAction\": \"ZIT/Objekte/GeschaeftspartnerBankverbindung\",\r\n \"webApiExpand\": {\r\n Waehrung: null\r\n },\r\n \"keyProperty\": \"Id\",\r\n \"filters\": []\r\n });\r\n this.addModel({\r\n \"id\": \"$m_GeschaeftspartnerBankverbindungEdit\",\r\n \"webApiAction\": \"ZIT/Objekte/GeschaeftspartnerBankverbindung\",\r\n \"keyProperty\": \"Id\",\r\n \"filters\": []\r\n });\r\n this.addModel({\r\n \"id\": \"$m_PackageElement\",\r\n \"webApiAction\": \"ZIT/Objekte/GeschaeftspartnerPackageElement\",\r\n \"key\": \"models.data.$m_Geschaeftspartner.IdGeschaeftspartnerPackageElement\",\r\n \"keyProperty\": \"Id\",\r\n \"allowNew\": \"functions.$f_GeschaeftspartnerEditUtils.canEditPackage\",\r\n \"allowSave\": \"functions.$f_GeschaeftspartnerEditUtils.canEditPackage\",\r\n \"allowDelete\": \"functions.$f_GeschaeftspartnerEditUtils.canEditPackage\",\r\n \"filters\": []\r\n });\r\n this.addModel({\r\n \"id\": \"$m_GeschaeftspartnerPackageRel\",\r\n \"webApiAction\": \"ZIT/Objekte/GeschaeftspartnerPackage\",\r\n \"webApiColumns\": [\"Id\", \"IdPackage\", \"Bezeichnung\", \"GueltigBis\", \"GueltigVon\"],\r\n \"webApiOrderBy\": [{\r\n \"columnName\": \"GueltigBis\",\r\n \"sortOrder\": 1\r\n }, {\r\n \"columnName\": \"Bezeichnung\",\r\n \"sortOrder\": 0\r\n }],\r\n \"keyProperty\": \"Id\",\r\n \"allowNew\": \"functions.$f_GeschaeftspartnerEditUtils.canEditPackage\",\r\n \"allowSave\": \"functions.$f_GeschaeftspartnerEditUtils.canEditPackage\",\r\n \"allowDelete\": \"functions.$f_GeschaeftspartnerEditUtils.canEditPackage\",\r\n \"filters\": []\r\n });\r\n this.addModel({\r\n \"id\": \"$m_GeschaeftspartnerPackageEdit\",\r\n \"webApiAction\": \"ZIT/Objekte/GeschaeftspartnerPackage\",\r\n \"keyProperty\": \"Id\",\r\n \"allowNew\": \"functions.$f_GeschaeftspartnerEditUtils.canEditPackage\",\r\n \"allowSave\": \"functions.$f_GeschaeftspartnerEditUtils.canEditPackage\",\r\n \"allowDelete\": \"functions.$f_GeschaeftspartnerEditUtils.canEditPackage\",\r\n \"filters\": []\r\n });\r\n this.addModel({\r\n \"id\": \"$m_AnsprechpersonZuGeschaeftspartnerEdit\",\r\n \"webApiAction\": \"ZIT/Objekte/AnsprechpersonZuGeschaeftspartner\",\r\n \"keyProperty\": \"Id\",\r\n \"filters\": []\r\n });\r\n this.addModel({\r\n \"id\": \"$m_AnsprechpersonZuGeschaeftspartnerRel\",\r\n \"webApiAction\": \"ZIT/Objekte/AnsprechpersonZuGeschaeftspartner\",\r\n \"webApiExpand\": {},\r\n \"webApiWhere\": [\r\n [\"Geschaeftspartner.Id\", {\r\n \"isBound\": true,\r\n \"expression\": \"models.data.$m_Geschaeftspartner.Id\"\r\n }], \"and\", [\"Ansprechperson.IsInaktiv\", false], \"and\", [\"Ansprechperson.Personendaten.ImGeschaeftspartnerAusblenden\", false]\r\n ],\r\n \"keyProperty\": \"Id\",\r\n \"filters\": [{\r\n \"webApiCustomKey\": \"onlyGueltig\",\r\n \"webApiCustomValue\": \"true\"\r\n }]\r\n });\r\n this.addModel({\r\n \"id\": \"$m_GeschaeftspartnerProfilFirma\",\r\n \"webApiAction\": \"ZIT/Objekte/ProfilFirma\",\r\n \"webApiWhere\": [\"Profil.IdGeschaeftspartner\", {\r\n \"isBound\": true,\r\n \"expression\": \"models.data.$m_Geschaeftspartner.Id\"\r\n }],\r\n \"modificationInfoEnabled\": true,\r\n \"keyProperty\": \"Id\",\r\n \"filters\": [{\r\n \"webApiCustomKey\": \"AddProfilFirmaCard\",\r\n \"webApiCustomValue\": \"true\"\r\n }]\r\n });\r\n this.addModel({\r\n \"id\": \"$m_GeschaeftspartnerZuDokumentEdit\",\r\n \"webApiAction\": \"ZIT/Objekte/GeschaeftspartnerdatenElementZuDokumentHintergrundAttachment\",\r\n \"keyProperty\": \"Id\",\r\n \"filters\": []\r\n });\r\n this.addModel({\r\n \"id\": \"$m_GeschaeftspartnerZuDokumentRel\",\r\n \"webApiAction\": \"ZIT/Objekte/GeschaeftspartnerdatenElementZuDokumentHintergrundAttachment\",\r\n \"webApiWhere\": [\r\n [\"IdGeschaeftspartnerGeschaeftspartnerdatenElement\", {\r\n \"isBound\": true,\r\n \"expression\": \"models.data.$m_Geschaeftspartner.IdGeschaeftspartnerGeschaeftspartnerdatenElement\"\r\n }]\r\n ],\r\n \"keyProperty\": \"Id\",\r\n \"filters\": []\r\n });\r\n this.addCommand({\r\n \"binding\": {\r\n \"bindTo\": \"$f_GeschaeftspartnerEditUtils.actionCommand\",\r\n \"bindToFQ\": \"functions.$f_GeschaeftspartnerEditUtils.actionCommand\"\r\n }\r\n });\r\n this.addCommand({\r\n \"binding\": {\r\n \"bindTo\": \"$f_GeschaeftspartnerEditUtils.geschaeftspartnerErweiterteOptionenCommand\",\r\n \"bindToFQ\": \"functions.$f_GeschaeftspartnerEditUtils.geschaeftspartnerErweiterteOptionenCommand\"\r\n }\r\n });\r\n this.addEditPopup({\r\n \"idContent\": \"geschaeftspartnerAdresseEditPopupContent\",\r\n \"mappings\": [{\r\n \"to\": \"$id\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_GeschaeftspartnerAdresseEdit\",\r\n \"bindTo\": \"Id\",\r\n \"bindToFQ\": \"models.data.$m_GeschaeftspartnerAdresseEdit.Id\"\r\n }\r\n }],\r\n \"id\": \"geschaeftspartnerAdresseEditPopup\",\r\n \"options\": {\r\n \"optionsName\": \"geschaeftspartnerAdresseEditPopupOptions\",\r\n \"optionsNameFQ\": \"geschaeftspartnerAdresseEditPopupOptions\"\r\n },\r\n \"height\": \"auto\",\r\n \"width\": \"540px\",\r\n \"commands\": []\r\n });\r\n this.addEditPopup({\r\n \"idContent\": \"geschaeftspartnerDokumentEditPopupContent\",\r\n \"mappings\": [{\r\n \"to\": \"$id\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_GeschaeftspartnerZuDokumentEdit\",\r\n \"bindTo\": \"Id\",\r\n \"bindToFQ\": \"models.data.$m_GeschaeftspartnerZuDokumentEdit.Id\"\r\n }\r\n }],\r\n \"id\": \"geschaeftspartnerDokumentEditPopup\",\r\n \"options\": {\r\n \"optionsName\": \"geschaeftspartnerDokumentEditPopupOptions\",\r\n \"optionsNameFQ\": \"geschaeftspartnerDokumentEditPopupOptions\"\r\n },\r\n \"height\": \"auto\",\r\n \"width\": \"540px\",\r\n \"commands\": []\r\n });\r\n this.addEditPopup({\r\n \"idContent\": \"geschaeftspartnerBankverbindungEditPopupContent\",\r\n \"mappings\": [{\r\n \"to\": \"$id\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_GeschaeftspartnerBankverbindungEdit\",\r\n \"bindTo\": \"Id\",\r\n \"bindToFQ\": \"models.data.$m_GeschaeftspartnerBankverbindungEdit.Id\"\r\n }\r\n }],\r\n \"id\": \"geschaeftspartnerBankverbindungEditPopup\",\r\n \"options\": {\r\n \"optionsName\": \"geschaeftspartnerBankverbindungEditPopupOptions\",\r\n \"optionsNameFQ\": \"geschaeftspartnerBankverbindungEditPopupOptions\"\r\n },\r\n \"height\": \"auto\",\r\n \"width\": \"500px\",\r\n \"commands\": []\r\n });\r\n this.addEditPopup({\r\n \"idContent\": \"geschaeftspartnerKontaktdatenEditPopupContent\",\r\n \"mappings\": [{\r\n \"to\": \"$id\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_GeschaeftspartnerKontaktEdit\",\r\n \"bindTo\": \"Id\",\r\n \"bindToFQ\": \"models.data.$m_GeschaeftspartnerKontaktEdit.Id\"\r\n }\r\n }],\r\n \"id\": \"geschaeftspartnerKontaktdatenEditPopup\",\r\n \"options\": {\r\n \"optionsName\": \"geschaeftspartnerKontaktdatenEditPopupOptions\",\r\n \"optionsNameFQ\": \"geschaeftspartnerKontaktdatenEditPopupOptions\"\r\n },\r\n \"height\": \"300px\",\r\n \"width\": \"500px\",\r\n \"commands\": []\r\n });\r\n this.addEditPopup({\r\n \"idContent\": \"geschaeftspartnerPackageEditPopupContent\",\r\n \"mappings\": [{\r\n \"to\": \"$id\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_GeschaeftspartnerPackageEdit\",\r\n \"bindTo\": \"Id\",\r\n \"bindToFQ\": \"models.data.$m_GeschaeftspartnerPackageEdit.Id\"\r\n }\r\n }],\r\n \"id\": \"geschaeftspartnerPackageEditPopup\",\r\n \"options\": {\r\n \"optionsName\": \"geschaeftspartnerPackageEditPopupOptions\",\r\n \"optionsNameFQ\": \"geschaeftspartnerPackageEditPopupOptions\"\r\n },\r\n \"height\": \"auto\",\r\n \"width\": \"500px\",\r\n \"commands\": []\r\n });\r\n this.addFunction(\"$f_GeschaeftspartnerEditUtils\", $f_GeschaeftspartnerEditUtils, \"functions.$f_GeschaeftspartnerEditUtils\");\r\n this.widgetCreator.addValidationGroup(this, {\r\n \"id\": \"wd1\",\r\n \"options\": {\r\n \"optionsName\": \"wd1Options\",\r\n \"optionsNameFQ\": \"wd1Options\"\r\n }\r\n });\r\n this.widgetCreator.addTextBox(this, {\r\n \"maxLength\": 200,\r\n \"caption\": \"geschaeftspartner-heartbase-edit.r_name1_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Geschaeftspartner\",\r\n \"bindTo\": \"Geschaeftspartnerdaten.Name1\",\r\n \"bindToFQ\": \"models.data.$m_Geschaeftspartner.Geschaeftspartnerdaten.Name1\",\r\n \"propertyPrefix\": \"Geschaeftspartnerdaten\"\r\n },\r\n \"validationRules\": [{\r\n \"item\": {\r\n \"type\": \"required\",\r\n \"parameters\": []\r\n }\r\n }],\r\n \"id\": \"r_name1\",\r\n \"options\": {\r\n \"optionsName\": \"r_name1Options\",\r\n \"optionsNameFQ\": \"r_name1Options\"\r\n }\r\n });\r\n this.widgetCreator.addTextBox(this, {\r\n \"maxLength\": 200,\r\n \"caption\": \"geschaeftspartner-heartbase-edit.r_name2_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Geschaeftspartner\",\r\n \"bindTo\": \"Geschaeftspartnerdaten.Name2\",\r\n \"bindToFQ\": \"models.data.$m_Geschaeftspartner.Geschaeftspartnerdaten.Name2\",\r\n \"propertyPrefix\": \"Geschaeftspartnerdaten\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_name2\",\r\n \"options\": {\r\n \"optionsName\": \"r_name2Options\",\r\n \"optionsNameFQ\": \"r_name2Options\"\r\n }\r\n });\r\n this.widgetCreator.addTagBox(this, {\r\n \"caption\": \"geschaeftspartner-heartbase-edit.r_geschaeftspartnertyp_caption\",\r\n \"dataContext\": \"$m_Geschaeftspartner\",\r\n \"relationBinding\": {\r\n \"dataContext\": \"$m_Geschaeftspartner\",\r\n \"bindTo\": \"Geschaeftspartnerdaten.Geschaeftspartnertypen\",\r\n \"bindToFQ\": \"models.data.$m_Geschaeftspartner.Geschaeftspartnerdaten.Geschaeftspartnertypen\",\r\n \"propertyPrefix\": \"Geschaeftspartnerdaten\"\r\n },\r\n \"relationProperty\": \"IdGeschaeftspartnertyp\",\r\n \"itemDataContext\": \"$m_Geschaeftspartnertyp\",\r\n \"itemValueExpr\": \"Id\",\r\n \"itemDisplayExpr\": \"Bezeichnung\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Geschaeftspartner\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_geschaeftspartnertyp\",\r\n \"options\": {\r\n \"optionsName\": \"r_geschaeftspartnertypOptions\",\r\n \"optionsNameFQ\": \"r_geschaeftspartnertypOptions\"\r\n }\r\n });\r\n this.widgetCreator.addTextBox(this, {\r\n \"maxLength\": 20,\r\n \"caption\": \"geschaeftspartner-heartbase-edit.r_uidnummer_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Geschaeftspartner\",\r\n \"bindTo\": \"Geschaeftspartnerdaten.UidNummer\",\r\n \"bindToFQ\": \"models.data.$m_Geschaeftspartner.Geschaeftspartnerdaten.UidNummer\",\r\n \"propertyPrefix\": \"Geschaeftspartnerdaten\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_uidNummer\",\r\n \"options\": {\r\n \"optionsName\": \"r_uidNummerOptions\",\r\n \"optionsNameFQ\": \"r_uidNummerOptions\"\r\n }\r\n });\r\n this.widgetCreator.addTextBox(this, {\r\n \"maxLength\": 100,\r\n \"caption\": \"geschaeftspartner-heartbase-edit.r_email_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Geschaeftspartner\",\r\n \"bindTo\": \"Geschaeftspartnerdaten.Email\",\r\n \"bindToFQ\": \"models.data.$m_Geschaeftspartner.Geschaeftspartnerdaten.Email\",\r\n \"propertyPrefix\": \"Geschaeftspartnerdaten\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_email\",\r\n \"options\": {\r\n \"optionsName\": \"r_emailOptions\",\r\n \"optionsNameFQ\": \"r_emailOptions\"\r\n }\r\n });\r\n this.widgetCreator.addSelectBox(this, {\r\n \"idSelect\": \"landvorwahl\",\r\n \"filters\": [],\r\n \"caption\": \"geschaeftspartner-heartbase-edit.r_telefonlandvorwahl_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Geschaeftspartner\",\r\n \"bindTo\": \"Geschaeftspartnerdaten.TelefonLandvorwahl\",\r\n \"bindToFQ\": \"models.data.$m_Geschaeftspartner.Geschaeftspartnerdaten.TelefonLandvorwahl\",\r\n \"propertyPrefix\": \"Geschaeftspartnerdaten\"\r\n },\r\n \"validationRules\": [{\r\n \"item\": {\r\n \"type\": \"conditionalRequired\",\r\n \"parameters\": [{\r\n \"name\": \"condition\",\r\n \"value\": \"models.data.$m_Geschaeftspartner.Geschaeftspartnerdaten && models.data.$m_Geschaeftspartner.Geschaeftspartnerdaten.Telefon\"\r\n }]\r\n }\r\n }],\r\n \"id\": \"r_telefonLandvorwahl\",\r\n \"options\": {\r\n \"optionsName\": \"r_telefonLandvorwahlOptions\",\r\n \"optionsNameFQ\": \"r_telefonLandvorwahlOptions\"\r\n }\r\n });\r\n this.widgetCreator.addTextBox(this, {\r\n \"maxLength\": 100,\r\n \"caption\": \"geschaeftspartner-heartbase-edit.r_telefon_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Geschaeftspartner\",\r\n \"bindTo\": \"Geschaeftspartnerdaten.Telefon\",\r\n \"bindToFQ\": \"models.data.$m_Geschaeftspartner.Geschaeftspartnerdaten.Telefon\",\r\n \"propertyPrefix\": \"Geschaeftspartnerdaten\"\r\n },\r\n \"validationRules\": [{\r\n \"item\": {\r\n \"type\": \"telefon\",\r\n \"parameters\": []\r\n }\r\n }],\r\n \"id\": \"r_telefon\",\r\n \"options\": {\r\n \"optionsName\": \"r_telefonOptions\",\r\n \"optionsNameFQ\": \"r_telefonOptions\"\r\n }\r\n });\r\n this.widgetCreator.addTextBox(this, {\r\n \"maxLength\": 500,\r\n \"caption\": \"geschaeftspartner-heartbase-edit.r_url_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Geschaeftspartner\",\r\n \"bindTo\": \"Geschaeftspartnerdaten.Url\",\r\n \"bindToFQ\": \"models.data.$m_Geschaeftspartner.Geschaeftspartnerdaten.Url\",\r\n \"propertyPrefix\": \"Geschaeftspartnerdaten\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_url\",\r\n \"options\": {\r\n \"optionsName\": \"r_urlOptions\",\r\n \"optionsNameFQ\": \"r_urlOptions\"\r\n }\r\n });\r\n this.widgetCreator.addSelectBox(this, {\r\n \"idSelect\": \"tipNetReporttype\",\r\n \"filter\": [\"Entitaet\", \"TIP.ZIT.Business.Helper.TerminEmpfaengerEinschaetzungPrintHelper\"],\r\n \"filters\": [],\r\n \"caption\": \"geschaeftspartner-heartbase-edit.r_tipnetreporttypeeinschaetzung_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Geschaeftspartner\",\r\n \"bindTo\": \"Geschaeftspartnerdaten.TIPNetReporttypeEinschaetzung\",\r\n \"bindToFQ\": \"models.data.$m_Geschaeftspartner.Geschaeftspartnerdaten.TIPNetReporttypeEinschaetzung\",\r\n \"propertyPrefix\": \"Geschaeftspartnerdaten\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_tipnetReporttypeEinschaetzung\",\r\n \"options\": {\r\n \"optionsName\": \"r_tipnetReporttypeEinschaetzungOptions\",\r\n \"optionsNameFQ\": \"r_tipnetReporttypeEinschaetzungOptions\"\r\n }\r\n });\r\n this.widgetCreator.addCheckBox(this, {\r\n \"caption\": \"geschaeftspartner-heartbase-edit.r_geschaeftspartnerschule_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Geschaeftspartner\",\r\n \"bindTo\": \"Geschaeftspartnerdaten.IsGeschaeftspartnerSchule\",\r\n \"bindToFQ\": \"models.data.$m_Geschaeftspartner.Geschaeftspartnerdaten.IsGeschaeftspartnerSchule\",\r\n \"propertyPrefix\": \"Geschaeftspartnerdaten\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_geschaeftspartnerSchule\",\r\n \"options\": {\r\n \"optionsName\": \"r_geschaeftspartnerSchuleOptions\",\r\n \"optionsNameFQ\": \"r_geschaeftspartnerSchuleOptions\"\r\n }\r\n });\r\n this.widgetCreator.addCheckBox(this, {\r\n \"caption\": \"geschaeftspartner-heartbase-edit.r_schnupperterminmaske_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Geschaeftspartner\",\r\n \"bindTo\": \"Geschaeftspartnerdaten.HideInSchnupperterminMaske\",\r\n \"bindToFQ\": \"models.data.$m_Geschaeftspartner.Geschaeftspartnerdaten.HideInSchnupperterminMaske\",\r\n \"propertyPrefix\": \"Geschaeftspartnerdaten\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_schnupperterminMaske\",\r\n \"options\": {\r\n \"optionsName\": \"r_schnupperterminMaskeOptions\",\r\n \"optionsNameFQ\": \"r_schnupperterminMaskeOptions\"\r\n }\r\n });\r\n this.widgetCreator.addFileUploaderWithViewer(this, {\r\n \"acceptTypeEnum\": 0,\r\n \"acceptType\": \"image/*\",\r\n \"height\": \"250px\",\r\n \"showToolbar\": true,\r\n \"showClearButton\": false,\r\n \"caption\": \"geschaeftspartner-heartbase-edit.r_dmslinklogo_caption\",\r\n \"placeholder\": \"geschaeftspartner-heartbase-edit.r_dmslinklogo_placeholder\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Geschaeftspartner\",\r\n \"bindTo\": \"Geschaeftspartnerdaten.DMSLinkLogo\",\r\n \"bindToFQ\": \"models.data.$m_Geschaeftspartner.Geschaeftspartnerdaten.DMSLinkLogo\",\r\n \"propertyPrefix\": \"Geschaeftspartnerdaten\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_dmsLinkLogo\",\r\n \"options\": {\r\n \"optionsName\": \"r_dmsLinkLogoOptions\",\r\n \"optionsNameFQ\": \"r_dmsLinkLogoOptions\"\r\n }\r\n });\r\n this.widgetCreator.addListView(this, {\r\n \"itemClass\": \"z--list-view-inline-item\",\r\n \"useDefaultListItemStyle\": false,\r\n \"optionsToolbar\": {\r\n \"optionsName\": \"r_geschaeftspartnerAdresseListViewToolbarOptions\",\r\n \"optionsNameFQ\": \"r_geschaeftspartnerAdresseListViewToolbarOptions\"\r\n },\r\n \"binding\": {\r\n \"dataContext\": \"$m_AdresseElement\"\r\n },\r\n \"isRelation\": true,\r\n \"relationBinding\": {\r\n \"dataContext\": \"$m_GeschaeftspartnerAdresseRel\",\r\n \"bindTo\": \"IdGeschaeftspartnerAdresseElement\",\r\n \"bindToFQ\": \"models.data.$m_GeschaeftspartnerAdresseRel.IdGeschaeftspartnerAdresseElement\"\r\n },\r\n \"dataModel\": \"$m_AdresseElement\",\r\n \"editDataContext\": \"$m_GeschaeftspartnerAdresseEdit\",\r\n \"idEditPopup\": \"geschaeftspartnerAdresseEditPopup\",\r\n \"listEdits\": [],\r\n \"filters\": [],\r\n \"commands\": [],\r\n \"id\": \"r_geschaeftspartnerAdresseListView\",\r\n \"options\": {\r\n \"optionsName\": \"r_geschaeftspartnerAdresseListViewOptions\",\r\n \"optionsNameFQ\": \"r_geschaeftspartnerAdresseListViewOptions\"\r\n }\r\n });\r\n this.widgetCreator.addListView(this, {\r\n \"itemClass\": \"z--list-view-inline-item\",\r\n \"useDefaultListItemStyle\": false,\r\n \"optionsToolbar\": {\r\n \"optionsName\": \"r_geschaeftspartnerDokumentListViewToolbarOptions\",\r\n \"optionsNameFQ\": \"r_geschaeftspartnerDokumentListViewToolbarOptions\"\r\n },\r\n \"binding\": {\r\n \"dataContext\": \"$m_GeschaeftspartnerdatenElement\"\r\n },\r\n \"isRelation\": true,\r\n \"relationBinding\": {\r\n \"dataContext\": \"$m_GeschaeftspartnerZuDokumentRel\",\r\n \"bindTo\": \"IdGeschaeftspartnerGeschaeftspartnerdatenElement\",\r\n \"bindToFQ\": \"models.data.$m_GeschaeftspartnerZuDokumentRel.IdGeschaeftspartnerGeschaeftspartnerdatenElement\"\r\n },\r\n \"dataModel\": \"$m_GeschaeftspartnerdatenElement\",\r\n \"editDataContext\": \"$m_GeschaeftspartnerZuDokumentEdit\",\r\n \"idEditPopup\": \"geschaeftspartnerDokumentEditPopup\",\r\n \"listEdits\": [],\r\n \"filters\": [],\r\n \"commands\": [],\r\n \"id\": \"r_geschaeftspartnerDokumentListView\",\r\n \"options\": {\r\n \"optionsName\": \"r_geschaeftspartnerDokumentListViewOptions\",\r\n \"optionsNameFQ\": \"r_geschaeftspartnerDokumentListViewOptions\"\r\n }\r\n });\r\n this.widgetCreator.addListView(this, {\r\n \"itemClass\": \"z--list-view-inline-item\",\r\n \"useDefaultListItemStyle\": false,\r\n \"optionsToolbar\": {\r\n \"optionsName\": \"r_geschaeftspartnerBankverbindungListViewToolbarOptions\",\r\n \"optionsNameFQ\": \"r_geschaeftspartnerBankverbindungListViewToolbarOptions\"\r\n },\r\n \"binding\": {\r\n \"dataContext\": \"$m_BankverbindungElement\"\r\n },\r\n \"isRelation\": true,\r\n \"relationBinding\": {\r\n \"dataContext\": \"$m_GeschaeftspartnerBankverbindungRel\",\r\n \"bindTo\": \"IdGeschaeftspartnerBankverbindungElement\",\r\n \"bindToFQ\": \"models.data.$m_GeschaeftspartnerBankverbindungRel.IdGeschaeftspartnerBankverbindungElement\"\r\n },\r\n \"dataModel\": \"$m_BankverbindungElement\",\r\n \"editDataContext\": \"$m_GeschaeftspartnerBankverbindungEdit\",\r\n \"idEditPopup\": \"geschaeftspartnerBankverbindungEditPopup\",\r\n \"listEdits\": [],\r\n \"filters\": [],\r\n \"commands\": [],\r\n \"id\": \"r_geschaeftspartnerBankverbindungListView\",\r\n \"options\": {\r\n \"optionsName\": \"r_geschaeftspartnerBankverbindungListViewOptions\",\r\n \"optionsNameFQ\": \"r_geschaeftspartnerBankverbindungListViewOptions\"\r\n }\r\n });\r\n this.widgetCreator.addListView(this, {\r\n \"itemClass\": \"z--list-view-inline-item\",\r\n \"useDefaultListItemStyle\": false,\r\n \"optionsToolbar\": {\r\n \"optionsName\": \"r_geschaeftspartnerKontaktdatenListViewToolbarOptions\",\r\n \"optionsNameFQ\": \"r_geschaeftspartnerKontaktdatenListViewToolbarOptions\"\r\n },\r\n \"binding\": {\r\n \"dataContext\": \"$m_KontaktElement\"\r\n },\r\n \"isRelation\": true,\r\n \"relationBinding\": {\r\n \"dataContext\": \"$m_GeschaeftspartnerKontaktRel\",\r\n \"bindTo\": \"IdGeschaeftspartnerKontaktElement\",\r\n \"bindToFQ\": \"models.data.$m_GeschaeftspartnerKontaktRel.IdGeschaeftspartnerKontaktElement\"\r\n },\r\n \"dataModel\": \"$m_KontaktElement\",\r\n \"editDataContext\": \"$m_GeschaeftspartnerKontaktEdit\",\r\n \"idEditPopup\": \"geschaeftspartnerKontaktdatenEditPopup\",\r\n \"listEdits\": [],\r\n \"filters\": [],\r\n \"commands\": [],\r\n \"id\": \"r_geschaeftspartnerKontaktdatenListView\",\r\n \"options\": {\r\n \"optionsName\": \"r_geschaeftspartnerKontaktdatenListViewOptions\",\r\n \"optionsNameFQ\": \"r_geschaeftspartnerKontaktdatenListViewOptions\"\r\n }\r\n });\r\n this.widgetCreator.addListView(this, {\r\n \"itemClass\": \"z--list-view-inline-item\",\r\n \"useDefaultListItemStyle\": false,\r\n \"optionsToolbar\": {\r\n \"optionsName\": \"r_geschaeftspartnerAnsprechpersonListViewToolbarOptions\",\r\n \"optionsNameFQ\": \"r_geschaeftspartnerAnsprechpersonListViewToolbarOptions\"\r\n },\r\n \"binding\": {\r\n \"dataContext\": \"$m_Geschaeftspartner\"\r\n },\r\n \"isRelation\": true,\r\n \"relationBinding\": {\r\n \"dataContext\": \"$m_AnsprechpersonZuGeschaeftspartnerRel\",\r\n \"bindTo\": \"IdGeschaeftspartner\",\r\n \"bindToFQ\": \"models.data.$m_AnsprechpersonZuGeschaeftspartnerRel.IdGeschaeftspartner\"\r\n },\r\n \"dataModel\": \"$m_Geschaeftspartner\",\r\n \"editDataContext\": \"$m_AnsprechpersonZuGeschaeftspartnerEdit\",\r\n \"listEdits\": [],\r\n \"filters\": [],\r\n \"commands\": [],\r\n \"id\": \"r_geschaeftspartnerAnsprechpersonListView\",\r\n \"options\": {\r\n \"optionsName\": \"r_geschaeftspartnerAnsprechpersonListViewOptions\",\r\n \"optionsNameFQ\": \"r_geschaeftspartnerAnsprechpersonListViewOptions\"\r\n }\r\n });\r\n this.widgetCreator.addListView(this, {\r\n \"itemClass\": \"z--list-view-inline-item\",\r\n \"useDefaultListItemStyle\": false,\r\n \"optionsToolbar\": {\r\n \"optionsName\": \"r_geschaeftspartnerPackageListViewToolbarOptions\",\r\n \"optionsNameFQ\": \"r_geschaeftspartnerPackageListViewToolbarOptions\"\r\n },\r\n \"binding\": {\r\n \"dataContext\": \"$m_PackageElement\"\r\n },\r\n \"isRelation\": true,\r\n \"relationBinding\": {\r\n \"dataContext\": \"$m_GeschaeftspartnerPackageRel\",\r\n \"bindTo\": \"IdGeschaeftspartnerPackageElement\",\r\n \"bindToFQ\": \"models.data.$m_GeschaeftspartnerPackageRel.IdGeschaeftspartnerPackageElement\"\r\n },\r\n \"dataModel\": \"$m_PackageElement\",\r\n \"editDataContext\": \"$m_GeschaeftspartnerPackageEdit\",\r\n \"idEditPopup\": \"geschaeftspartnerPackageEditPopup\",\r\n \"listEdits\": [],\r\n \"filters\": [],\r\n \"commands\": [],\r\n \"id\": \"r_geschaeftspartnerPackageListView\",\r\n \"options\": {\r\n \"optionsName\": \"r_geschaeftspartnerPackageListViewOptions\",\r\n \"optionsNameFQ\": \"r_geschaeftspartnerPackageListViewOptions\"\r\n }\r\n });\r\n this.widgetCreator.addTextBox(this, {\r\n \"maxLength\": 250,\r\n \"caption\": \"geschaeftspartner-heartbase-edit.r_keyunternehmenparameter_caption\",\r\n \"isReadOnlyExpression\": \"!functions.$f_GeschaeftspartnerEditUtils.isAdmin\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Geschaeftspartner\",\r\n \"bindTo\": \"Geschaeftspartnerdaten.KeyUnternehmenParameter\",\r\n \"bindToFQ\": \"models.data.$m_Geschaeftspartner.Geschaeftspartnerdaten.KeyUnternehmenParameter\",\r\n \"propertyPrefix\": \"Geschaeftspartnerdaten\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_keyUnternehmenParameter\",\r\n \"options\": {\r\n \"optionsName\": \"r_keyUnternehmenParameterOptions\",\r\n \"optionsNameFQ\": \"r_keyUnternehmenParameterOptions\"\r\n }\r\n });\r\n this.widgetCreator.addCheckBox(this, {\r\n \"caption\": \"geschaeftspartner-heartbase-edit.r_messagingnichtanbieten_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Geschaeftspartner\",\r\n \"bindTo\": \"Geschaeftspartnerdaten.MessagingDienstNichtAnbieten\",\r\n \"bindToFQ\": \"models.data.$m_Geschaeftspartner.Geschaeftspartnerdaten.MessagingDienstNichtAnbieten\",\r\n \"propertyPrefix\": \"Geschaeftspartnerdaten\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_messagingNichtAnbieten\",\r\n \"options\": {\r\n \"optionsName\": \"r_messagingNichtAnbietenOptions\",\r\n \"optionsNameFQ\": \"r_messagingNichtAnbietenOptions\"\r\n }\r\n });\r\n this.widgetCreator.addTextBox(this, {\r\n \"maxLength\": 250,\r\n \"caption\": \"geschaeftspartner-heartbase-edit.r_dsdatenschutzurl_caption\",\r\n \"isReadOnlyExpression\": \"!functions.$f_GeschaeftspartnerEditUtils.isAdmin\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Geschaeftspartner\",\r\n \"bindTo\": \"Geschaeftspartnerdaten.DsDatenschutz.Url\",\r\n \"bindToFQ\": \"models.data.$m_Geschaeftspartner.Geschaeftspartnerdaten.DsDatenschutz.Url\",\r\n \"propertyPrefix\": \"Geschaeftspartnerdaten.DsDatenschutz\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_dsDatenschutzUrl\",\r\n \"options\": {\r\n \"optionsName\": \"r_dsDatenschutzUrlOptions\",\r\n \"optionsNameFQ\": \"r_dsDatenschutzUrlOptions\"\r\n }\r\n });\r\n this.widgetCreator.addDateBox(this, {\r\n \"format\": \"g\",\r\n \"caption\": \"geschaeftspartner-heartbase-edit.r_dsdatenschutzversion_caption\",\r\n \"isReadOnlyExpression\": \"!functions.$f_GeschaeftspartnerEditUtils.isAdmin\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Geschaeftspartner\",\r\n \"bindTo\": \"Geschaeftspartnerdaten.DsDatenschutz.VersionDatum\",\r\n \"bindToFQ\": \"models.data.$m_Geschaeftspartner.Geschaeftspartnerdaten.DsDatenschutz.VersionDatum\",\r\n \"propertyPrefix\": \"Geschaeftspartnerdaten.DsDatenschutz\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_dsDatenschutzVersion\",\r\n \"options\": {\r\n \"optionsName\": \"r_dsDatenschutzVersionOptions\",\r\n \"optionsNameFQ\": \"r_dsDatenschutzVersionOptions\"\r\n }\r\n });\r\n this.widgetCreator.addColorBox(this, {\r\n \"editAlphaChannel\": false,\r\n \"caption\": \"geschaeftspartner-heartbase-edit.r_iframeformularhintergrundfarbe_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Geschaeftspartner\",\r\n \"bindTo\": \"Geschaeftspartnerdaten.IFrameFormularHintergrundFarbe\",\r\n \"bindToFQ\": \"models.data.$m_Geschaeftspartner.Geschaeftspartnerdaten.IFrameFormularHintergrundFarbe\",\r\n \"propertyPrefix\": \"Geschaeftspartnerdaten\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_iFrameFormularHintergrundFarbe\",\r\n \"options\": {\r\n \"optionsName\": \"r_iFrameFormularHintergrundFarbeOptions\",\r\n \"optionsNameFQ\": \"r_iFrameFormularHintergrundFarbeOptions\"\r\n }\r\n });\r\n this.widgetCreator.addTextBox(this, {\r\n \"caption\": \"geschaeftspartner-heartbase-edit.r_iframelabelschriftart_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Geschaeftspartner\",\r\n \"bindTo\": \"Geschaeftspartnerdaten.IFrameLabelSchriftart\",\r\n \"bindToFQ\": \"models.data.$m_Geschaeftspartner.Geschaeftspartnerdaten.IFrameLabelSchriftart\",\r\n \"propertyPrefix\": \"Geschaeftspartnerdaten\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_iFrameLabelSchriftart\",\r\n \"options\": {\r\n \"optionsName\": \"r_iFrameLabelSchriftartOptions\",\r\n \"optionsNameFQ\": \"r_iFrameLabelSchriftartOptions\"\r\n }\r\n });\r\n this.widgetCreator.addNumberBox(this, {\r\n \"showClearButton\": true,\r\n \"caption\": \"geschaeftspartner-heartbase-edit.r_iframelabelschriftgroesse_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Geschaeftspartner\",\r\n \"bindTo\": \"Geschaeftspartnerdaten.IFrameLabelSchriftgroesse\",\r\n \"bindToFQ\": \"models.data.$m_Geschaeftspartner.Geschaeftspartnerdaten.IFrameLabelSchriftgroesse\",\r\n \"propertyPrefix\": \"Geschaeftspartnerdaten\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_iFrameLabelSchriftgroesse\",\r\n \"options\": {\r\n \"optionsName\": \"r_iFrameLabelSchriftgroesseOptions\",\r\n \"optionsNameFQ\": \"r_iFrameLabelSchriftgroesseOptions\"\r\n }\r\n });\r\n this.widgetCreator.addColorBox(this, {\r\n \"editAlphaChannel\": false,\r\n \"caption\": \"geschaeftspartner-heartbase-edit.r_iframelabelschriftfarbe_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Geschaeftspartner\",\r\n \"bindTo\": \"Geschaeftspartnerdaten.IFrameLabelSchriftfarbe\",\r\n \"bindToFQ\": \"models.data.$m_Geschaeftspartner.Geschaeftspartnerdaten.IFrameLabelSchriftfarbe\",\r\n \"propertyPrefix\": \"Geschaeftspartnerdaten\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_iFrameLabelSchriftfarbe\",\r\n \"options\": {\r\n \"optionsName\": \"r_iFrameLabelSchriftfarbeOptions\",\r\n \"optionsNameFQ\": \"r_iFrameLabelSchriftfarbeOptions\"\r\n }\r\n });\r\n this.widgetCreator.addTextBox(this, {\r\n \"caption\": \"geschaeftspartner-heartbase-edit.r_iframecontentschriftart_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Geschaeftspartner\",\r\n \"bindTo\": \"Geschaeftspartnerdaten.IFrameContentSchriftart\",\r\n \"bindToFQ\": \"models.data.$m_Geschaeftspartner.Geschaeftspartnerdaten.IFrameContentSchriftart\",\r\n \"propertyPrefix\": \"Geschaeftspartnerdaten\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_iFrameContentSchriftart\",\r\n \"options\": {\r\n \"optionsName\": \"r_iFrameContentSchriftartOptions\",\r\n \"optionsNameFQ\": \"r_iFrameContentSchriftartOptions\"\r\n }\r\n });\r\n this.widgetCreator.addNumberBox(this, {\r\n \"showClearButton\": true,\r\n \"caption\": \"geschaeftspartner-heartbase-edit.r_iframecontentschriftgroesse_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Geschaeftspartner\",\r\n \"bindTo\": \"Geschaeftspartnerdaten.IFrameContentSchriftgroesse\",\r\n \"bindToFQ\": \"models.data.$m_Geschaeftspartner.Geschaeftspartnerdaten.IFrameContentSchriftgroesse\",\r\n \"propertyPrefix\": \"Geschaeftspartnerdaten\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_iFrameContentSchriftgroesse\",\r\n \"options\": {\r\n \"optionsName\": \"r_iFrameContentSchriftgroesseOptions\",\r\n \"optionsNameFQ\": \"r_iFrameContentSchriftgroesseOptions\"\r\n }\r\n });\r\n this.widgetCreator.addColorBox(this, {\r\n \"editAlphaChannel\": false,\r\n \"caption\": \"geschaeftspartner-heartbase-edit.r_iframecontentschriftfarbe_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Geschaeftspartner\",\r\n \"bindTo\": \"Geschaeftspartnerdaten.IFrameContentSchriftfarbe\",\r\n \"bindToFQ\": \"models.data.$m_Geschaeftspartner.Geschaeftspartnerdaten.IFrameContentSchriftfarbe\",\r\n \"propertyPrefix\": \"Geschaeftspartnerdaten\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_iFrameContentSchriftfarbe\",\r\n \"options\": {\r\n \"optionsName\": \"r_iFrameContentSchriftfarbeOptions\",\r\n \"optionsNameFQ\": \"r_iFrameContentSchriftfarbeOptions\"\r\n }\r\n });\r\n this.widgetCreator.addColorBox(this, {\r\n \"editAlphaChannel\": false,\r\n \"caption\": \"geschaeftspartner-heartbase-edit.r_iframebuttonfarbe_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Geschaeftspartner\",\r\n \"bindTo\": \"Geschaeftspartnerdaten.IFrameButtonFarbe\",\r\n \"bindToFQ\": \"models.data.$m_Geschaeftspartner.Geschaeftspartnerdaten.IFrameButtonFarbe\",\r\n \"propertyPrefix\": \"Geschaeftspartnerdaten\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_iFrameButtonFarbe\",\r\n \"options\": {\r\n \"optionsName\": \"r_iFrameButtonFarbeOptions\",\r\n \"optionsNameFQ\": \"r_iFrameButtonFarbeOptions\"\r\n }\r\n });\r\n this.widgetCreator.addColorBox(this, {\r\n \"editAlphaChannel\": false,\r\n \"caption\": \"geschaeftspartner-heartbase-edit.r_iframefeldrahmenliniefarbe_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Geschaeftspartner\",\r\n \"bindTo\": \"Geschaeftspartnerdaten.IFrameFeldRahmenlinieFarbe\",\r\n \"bindToFQ\": \"models.data.$m_Geschaeftspartner.Geschaeftspartnerdaten.IFrameFeldRahmenlinieFarbe\",\r\n \"propertyPrefix\": \"Geschaeftspartnerdaten\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_iFrameFeldRahmenlinieFarbe\",\r\n \"options\": {\r\n \"optionsName\": \"r_iFrameFeldRahmenlinieFarbeOptions\",\r\n \"optionsNameFQ\": \"r_iFrameFeldRahmenlinieFarbeOptions\"\r\n }\r\n });\r\n this.widgetCreator.addTextBox(this, {\r\n \"maxLength\": 250,\r\n \"caption\": \"geschaeftspartner-heartbase-edit.r_keyterminrestservice_caption\",\r\n \"isReadOnlyExpression\": \"!functions.$f_GeschaeftspartnerEditUtils.isAdmin\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Geschaeftspartner\",\r\n \"bindTo\": \"Geschaeftspartnerdaten.KeyTerminRestService\",\r\n \"bindToFQ\": \"models.data.$m_Geschaeftspartner.Geschaeftspartnerdaten.KeyTerminRestService\",\r\n \"propertyPrefix\": \"Geschaeftspartnerdaten\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_keyTerminRestService\",\r\n \"options\": {\r\n \"optionsName\": \"r_keyTerminRestServiceOptions\",\r\n \"optionsNameFQ\": \"r_keyTerminRestServiceOptions\"\r\n }\r\n });\r\n this.widgetCreator.addTextBox(this, {\r\n \"maxLength\": 250,\r\n \"caption\": \"geschaeftspartner-heartbase-edit.r_keystelleninseratrestservice_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Geschaeftspartner\",\r\n \"bindTo\": \"Geschaeftspartnerdaten.KeyStelleninseratRestService\",\r\n \"bindToFQ\": \"models.data.$m_Geschaeftspartner.Geschaeftspartnerdaten.KeyStelleninseratRestService\",\r\n \"propertyPrefix\": \"Geschaeftspartnerdaten\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_keyStelleninseratRestService\",\r\n \"options\": {\r\n \"optionsName\": \"r_keyStelleninseratRestServiceOptions\",\r\n \"optionsNameFQ\": \"r_keyStelleninseratRestServiceOptions\"\r\n }\r\n });\r\n this.widgetCreator.addListView(this, {\r\n \"itemClass\": \"col-xs-12 col-sm-6\",\r\n \"useDefaultListItemStyle\": false,\r\n \"createToolbar\": true,\r\n \"optionsToolbar\": {\r\n \"optionsName\": \"r_geschaeftspartnerProfilFirmaListViewToolbarOptions\",\r\n \"optionsNameFQ\": \"r_geschaeftspartnerProfilFirmaListViewToolbarOptions\"\r\n },\r\n \"caption\": \"geschaeftspartner-heartbase-edit.r_geschaeftspartnerprofilfirmalistview_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_GeschaeftspartnerProfilFirma\"\r\n },\r\n \"dataModel\": \"$m_GeschaeftspartnerProfilFirma\",\r\n \"listEdits\": [],\r\n \"filters\": [],\r\n \"commands\": [],\r\n \"id\": \"r_geschaeftspartnerProfilFirmaListView\",\r\n \"options\": {\r\n \"optionsName\": \"r_geschaeftspartnerProfilFirmaListViewOptions\",\r\n \"optionsNameFQ\": \"r_geschaeftspartnerProfilFirmaListViewOptions\"\r\n }\r\n });\r\n super.onConstructionFinished();\r\n }\r\n}","module.exports = \"\";","import * as fwx from \"../../../../framework/forms/form-export\";\r\n\r\n@fwx.autoinject\r\nexport class GeschaeftspartnerKontaktEditForm extends fwx.FormBase {\r\n constructor(\r\n element: Element,\r\n formBaseImport: fwx.FormBaseImport) {\r\n super(element, formBaseImport);\r\n this.id = \"geschaeftspartner-kontakt-edit\";\r\n this.title = \"geschaeftspartner-kontakt-edit.geschaeftspartner-kontakt-edit_caption\";\r\n this.addModel({\r\n \"id\": \"$m_GeschaeftspartnerKontakt\",\r\n \"webApiAction\": \"ZIT/Objekte/GeschaeftspartnerKontakt\",\r\n \"key\": \"variables.data.$id\",\r\n \"keyProperty\": \"Id\",\r\n \"postOnSave\": true,\r\n \"filters\": []\r\n });\r\n this.addModel({\r\n \"id\": \"$m_Kontakttyp\",\r\n \"webApiAction\": \"ZIT/Stammdaten/Kontakttyp\",\r\n \"key\": \"models.data.$m_GeschaeftspartnerKontakt.IdKontakttyp\",\r\n \"keyProperty\": \"Id\",\r\n \"filters\": []\r\n });\r\n this.addVariable({\r\n \"id\": \"$id\"\r\n });\r\n this.widgetCreator.addValidationGroup(this, {\r\n \"id\": \"wd1\",\r\n \"options\": {\r\n \"optionsName\": \"wd1Options\",\r\n \"optionsNameFQ\": \"wd1Options\"\r\n }\r\n });\r\n this.widgetCreator.addSelectBox(this, {\r\n \"idSelect\": \"kontakttyp\",\r\n \"customs\": [{\r\n \"key\": \"objektTyp\",\r\n \"value\": \"'TIP.ZIT.Business.Entities.Objekte.Geschaeftspartner.Geschaeftspartner'\"\r\n }],\r\n \"filters\": [],\r\n \"caption\": \"geschaeftspartner-kontakt-edit.r_geschaeftspartnerkontakttyp_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_GeschaeftspartnerKontakt\",\r\n \"bindTo\": \"IdKontakttyp\",\r\n \"bindToFQ\": \"models.data.$m_GeschaeftspartnerKontakt.IdKontakttyp\"\r\n },\r\n \"validationRules\": [{\r\n \"item\": {\r\n \"type\": \"required\",\r\n \"parameters\": []\r\n }\r\n }],\r\n \"id\": \"r_geschaeftspartnerKontakttyp\",\r\n \"options\": {\r\n \"optionsName\": \"r_geschaeftspartnerKontakttypOptions\",\r\n \"optionsNameFQ\": \"r_geschaeftspartnerKontakttypOptions\"\r\n }\r\n });\r\n this.widgetCreator.addCheckBox(this, {\r\n \"caption\": \"geschaeftspartner-kontakt-edit.r_geschaeftspartnerwichtig_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_GeschaeftspartnerKontakt\",\r\n \"bindTo\": \"Wichtig\",\r\n \"bindToFQ\": \"models.data.$m_GeschaeftspartnerKontakt.Wichtig\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_geschaeftspartnerWichtig\",\r\n \"options\": {\r\n \"optionsName\": \"r_geschaeftspartnerWichtigOptions\",\r\n \"optionsNameFQ\": \"r_geschaeftspartnerWichtigOptions\"\r\n }\r\n });\r\n this.widgetCreator.addSelectBox(this, {\r\n \"idSelect\": \"landvorwahl\",\r\n \"filters\": [],\r\n \"caption\": \"geschaeftspartner-kontakt-edit.r_wert1_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_GeschaeftspartnerKontakt\",\r\n \"bindTo\": \"Wert1\",\r\n \"bindToFQ\": \"models.data.$m_GeschaeftspartnerKontakt.Wert1\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_wert1\",\r\n \"options\": {\r\n \"optionsName\": \"r_wert1Options\",\r\n \"optionsNameFQ\": \"r_wert1Options\"\r\n }\r\n });\r\n this.widgetCreator.addTextBox(this, {\r\n \"maxLength\": 100,\r\n \"caption\": \"geschaeftspartner-kontakt-edit.r_wert2_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_GeschaeftspartnerKontakt\",\r\n \"bindTo\": \"Wert2\",\r\n \"bindToFQ\": \"models.data.$m_GeschaeftspartnerKontakt.Wert2\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_wert2\",\r\n \"options\": {\r\n \"optionsName\": \"r_wert2Options\",\r\n \"optionsNameFQ\": \"r_wert2Options\"\r\n }\r\n });\r\n this.widgetCreator.addTextBox(this, {\r\n \"maxLength\": 100,\r\n \"caption\": \"geschaeftspartner-kontakt-edit.r_email_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_GeschaeftspartnerKontakt\",\r\n \"bindTo\": \"Wert1\",\r\n \"bindToFQ\": \"models.data.$m_GeschaeftspartnerKontakt.Wert1\"\r\n },\r\n \"validationRules\": [{\r\n \"item\": {\r\n \"type\": \"required\",\r\n \"parameters\": []\r\n }\r\n }],\r\n \"id\": \"r_email\",\r\n \"options\": {\r\n \"optionsName\": \"r_emailOptions\",\r\n \"optionsNameFQ\": \"r_emailOptions\"\r\n }\r\n });\r\n this.widgetCreator.addTextBox(this, {\r\n \"maxLength\": 100,\r\n \"caption\": \"geschaeftspartner-kontakt-edit.r_website_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_GeschaeftspartnerKontakt\",\r\n \"bindTo\": \"Wert1\",\r\n \"bindToFQ\": \"models.data.$m_GeschaeftspartnerKontakt.Wert1\"\r\n },\r\n \"validationRules\": [{\r\n \"item\": {\r\n \"type\": \"required\",\r\n \"parameters\": []\r\n }\r\n }],\r\n \"id\": \"r_website\",\r\n \"options\": {\r\n \"optionsName\": \"r_websiteOptions\",\r\n \"optionsNameFQ\": \"r_websiteOptions\"\r\n }\r\n });\r\n this.widgetCreator.addTextBox(this, {\r\n \"maxLength\": 1000,\r\n \"caption\": \"geschaeftspartner-kontakt-edit.r_geschaeftspartnerkontaktbemerkung_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_GeschaeftspartnerKontakt\",\r\n \"bindTo\": \"Bemerkung\",\r\n \"bindToFQ\": \"models.data.$m_GeschaeftspartnerKontakt.Bemerkung\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_geschaeftspartnerKontaktBemerkung\",\r\n \"options\": {\r\n \"optionsName\": \"r_geschaeftspartnerKontaktBemerkungOptions\",\r\n \"optionsNameFQ\": \"r_geschaeftspartnerKontaktBemerkungOptions\"\r\n }\r\n });\r\n super.onConstructionFinished();\r\n }\r\n}","module.exports = \"\";","import * as fwx from \"../../../../framework/forms/form-export\";\r\n\r\n@fwx.autoinject\r\nexport class GeschaeftspartnerListForm extends fwx.FormBase {\r\n constructor(\r\n element: Element,\r\n formBaseImport: fwx.FormBaseImport) {\r\n super(element, formBaseImport);\r\n this.id = \"geschaeftsparter-list\";\r\n this.title = \"geschaeftsparter-list.geschaeftsparter-list_caption\";\r\n this.addModel({\r\n \"id\": \"$m_Geschaeftspartner\",\r\n \"webApiAction\": \"ZIT/Objekte/Geschaeftspartner\",\r\n \"webApiExpand\": {\r\n 'Geschaeftspartnerdaten': null\r\n },\r\n \"modificationInfoEnabled\": true,\r\n \"keyProperty\": \"Id\",\r\n \"filters\": []\r\n });\r\n this.widgetCreator.addValidationGroup(this, {\r\n \"id\": \"wd1\",\r\n \"options\": {\r\n \"optionsName\": \"wd1Options\",\r\n \"optionsNameFQ\": \"wd1Options\"\r\n }\r\n });\r\n this.widgetCreator.addDataGrid(this, {\r\n \"columns\": [{\r\n \"id\": \"r_gespName1\",\r\n \"caption\": \"geschaeftsparter-list.r_gespname1_caption\",\r\n \"bindTo\": \"Geschaeftspartnerdaten.Name1\",\r\n \"minWidth\": 100\r\n }],\r\n \"optionsToolbar\": {\r\n \"optionsName\": \"r_geschaeftspartnerGridToolbarOptions\",\r\n \"optionsNameFQ\": \"r_geschaeftspartnerGridToolbarOptions\"\r\n },\r\n \"binding\": {\r\n \"dataContext\": \"$m_Geschaeftspartner\"\r\n },\r\n \"dataModel\": \"$m_Geschaeftspartner\",\r\n \"editUrl\": \"Objekte/Geschaeftspartner\",\r\n \"addShortscuts\": true,\r\n \"isMainList\": true,\r\n \"height\": \"100%\",\r\n \"listEdits\": [],\r\n \"filters\": [],\r\n \"commands\": [],\r\n \"id\": \"r_geschaeftspartnerGrid\",\r\n \"options\": {\r\n \"optionsName\": \"r_geschaeftspartnerGridOptions\",\r\n \"optionsNameFQ\": \"r_geschaeftspartnerGridOptions\"\r\n }\r\n });\r\n super.onConstructionFinished();\r\n }\r\n}","module.exports = \"\";","import * as fwx from \"../../../../framework/forms/form-export\";\r\nimport {\r\n GeschaeftspartnerPackageEditUtils\r\n} from \"./geschaeftspartner-package-edit-utils\";\r\n\r\n@fwx.autoinject\r\nexport class GeschaeftspartnerPackageEditForm extends fwx.FormBase {\r\n constructor(\r\n element: Element,\r\n formBaseImport: fwx.FormBaseImport,\r\n private $f_Package: GeschaeftspartnerPackageEditUtils) {\r\n super(element, formBaseImport);\r\n this.id = \"geschaeftspartner-package-edit\";\r\n this.title = \"geschaeftspartner-package-edit.geschaeftspartner-package-edit_caption\";\r\n this.addModel({\r\n \"id\": \"$m_GeschaeftspartnerPackage\",\r\n \"webApiAction\": \"ZIT/Objekte/GeschaeftspartnerPackage\",\r\n \"webApiExpand\": {},\r\n \"key\": \"variables.data.$id\",\r\n \"keyProperty\": \"Id\",\r\n \"postOnSave\": true,\r\n \"allowNew\": \"functions.$f_Package.canEditPackage\",\r\n \"allowSave\": \"functions.$f_Package.canEditPackage\",\r\n \"allowDelete\": \"functions.$f_Package.canEditPackage\",\r\n \"filters\": []\r\n });\r\n this.addVariable({\r\n \"id\": \"$id\"\r\n });\r\n this.addFunction(\"$f_Package\", $f_Package, \"functions.$f_Package\");\r\n this.widgetCreator.addValidationGroup(this, {\r\n \"id\": \"wd1\",\r\n \"options\": {\r\n \"optionsName\": \"wd1Options\",\r\n \"optionsNameFQ\": \"wd1Options\"\r\n }\r\n });\r\n this.widgetCreator.addSelectBox(this, {\r\n \"idSelect\": \"package\",\r\n \"filters\": [],\r\n \"caption\": \"geschaeftspartner-package-edit.r_package_caption\",\r\n \"isReadOnlyExpression\": \"!functions.$f_Package.canEditPackage\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_GeschaeftspartnerPackage\",\r\n \"bindTo\": \"IdPackage\",\r\n \"bindToFQ\": \"models.data.$m_GeschaeftspartnerPackage.IdPackage\"\r\n },\r\n \"validationRules\": [{\r\n \"item\": {\r\n \"type\": \"required\",\r\n \"parameters\": []\r\n }\r\n }],\r\n \"id\": \"r_package\",\r\n \"options\": {\r\n \"optionsName\": \"r_packageOptions\",\r\n \"optionsNameFQ\": \"r_packageOptions\"\r\n }\r\n });\r\n this.widgetCreator.addNumberBox(this, {\r\n \"min\": 0.0,\r\n \"max\": 99999.0,\r\n \"caption\": \"geschaeftspartner-package-edit.r_anzahlstelleninserate_caption\",\r\n \"isReadOnlyExpression\": \"functions.$f_Package.anzahlStelleninserateUeberschreibenNichtZulaessig\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_GeschaeftspartnerPackage\",\r\n \"bindTo\": \"AnzahlStelleninserate\",\r\n \"bindToFQ\": \"models.data.$m_GeschaeftspartnerPackage.AnzahlStelleninserate\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_anzahlStelleninserate\",\r\n \"options\": {\r\n \"optionsName\": \"r_anzahlStelleninserateOptions\",\r\n \"optionsNameFQ\": \"r_anzahlStelleninserateOptions\"\r\n }\r\n });\r\n this.widgetCreator.addDateBox(this, {\r\n \"format\": \"d\",\r\n \"caption\": \"geschaeftspartner-package-edit.r_gueltigvon_caption\",\r\n \"isReadOnlyExpression\": \"!functions.$f_Package.canEditPackage\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_GeschaeftspartnerPackage\",\r\n \"bindTo\": \"GueltigVon\",\r\n \"bindToFQ\": \"models.data.$m_GeschaeftspartnerPackage.GueltigVon\"\r\n },\r\n \"validationRules\": [{\r\n \"item\": {\r\n \"type\": \"required\",\r\n \"parameters\": []\r\n }\r\n }],\r\n \"id\": \"r_gueltigVon\",\r\n \"options\": {\r\n \"optionsName\": \"r_gueltigVonOptions\",\r\n \"optionsNameFQ\": \"r_gueltigVonOptions\"\r\n }\r\n });\r\n this.widgetCreator.addDateBox(this, {\r\n \"format\": \"d\",\r\n \"caption\": \"geschaeftspartner-package-edit.r_gueltigbis_caption\",\r\n \"isReadOnlyExpression\": \"!functions.$f_Package.canEditPackage\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_GeschaeftspartnerPackage\",\r\n \"bindTo\": \"GueltigBis\",\r\n \"bindToFQ\": \"models.data.$m_GeschaeftspartnerPackage.GueltigBis\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_gueltigBis\",\r\n \"options\": {\r\n \"optionsName\": \"r_gueltigBisOptions\",\r\n \"optionsNameFQ\": \"r_gueltigBisOptions\"\r\n }\r\n });\r\n this.widgetCreator.addDateBox(this, {\r\n \"format\": \"d\",\r\n \"caption\": \"geschaeftspartner-package-edit.r_kostenpflichtigab_caption\",\r\n \"isReadOnlyExpression\": \"!functions.$f_Package.canEditPackage\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_GeschaeftspartnerPackage\",\r\n \"bindTo\": \"KostenpflichtigAb\",\r\n \"bindToFQ\": \"models.data.$m_GeschaeftspartnerPackage.KostenpflichtigAb\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_kostenpflichtigAb\",\r\n \"options\": {\r\n \"optionsName\": \"r_kostenpflichtigAbOptions\",\r\n \"optionsNameFQ\": \"r_kostenpflichtigAbOptions\"\r\n }\r\n });\r\n this.widgetCreator.addSelectBox(this, {\r\n \"idSelect\": \"packageLehrlingAnzahlProJahr\",\r\n \"filters\": [],\r\n \"caption\": \"geschaeftspartner-package-edit.r_lehrlinganzahlprojahr_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_GeschaeftspartnerPackage\",\r\n \"bindTo\": \"LehrlingAnzahlProJahr\",\r\n \"bindToFQ\": \"models.data.$m_GeschaeftspartnerPackage.LehrlingAnzahlProJahr\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_lehrlingAnzahlProJahr\",\r\n \"options\": {\r\n \"optionsName\": \"r_lehrlingAnzahlProJahrOptions\",\r\n \"optionsNameFQ\": \"r_lehrlingAnzahlProJahrOptions\"\r\n }\r\n });\r\n super.onConstructionFinished();\r\n }\r\n}","module.exports = \"\";","import * as fwx from \"../../../../framework/forms/form-export\";\r\nimport {\r\n GeschaeftspartnerReadUtils\r\n} from \"./geschaeftspartner-read-utils\";\r\n\r\n@fwx.autoinject\r\nexport class GeschaeftspartnerReadForm extends fwx.FormBase {\r\n constructor(\r\n element: Element,\r\n formBaseImport: fwx.FormBaseImport,\r\n private $f_GeschaeftspartnerReadUtils: GeschaeftspartnerReadUtils) {\r\n super(element, formBaseImport);\r\n this.id = \"geschaeftspartner-read\";\r\n this.title = \"geschaeftspartner-read.geschaeftspartner-read_caption\";\r\n this.addModel({\r\n \"id\": \"$m_Geschaeftspartner\",\r\n \"webApiAction\": \"ZIT/Objekte/Geschaeftspartner\",\r\n \"webApiExpand\": {\r\n 'Geschaeftspartnerdaten': null\r\n },\r\n \"modificationInfoEnabled\": true,\r\n \"key\": \"variables.data.$id\",\r\n \"keyProperty\": \"Id\",\r\n \"filters\": [{\r\n \"webApiCustomKey\": \"aktiveGeschaeftspartner\",\r\n \"webApiCustomValue\": \"true\"\r\n }, {\r\n \"webApiCustomKey\": \"addPackage\",\r\n \"webApiCustomValue\": \"true\"\r\n }, {\r\n \"webApiCustomKey\": \"addCustomSubHeadline\",\r\n \"webApiCustomValue\": \"true\"\r\n }, {\r\n \"webApiCustomKey\": \"standardAddress\",\r\n \"webApiCustomValue\": \"true\"\r\n }]\r\n });\r\n this.addCommand({\r\n \"binding\": {\r\n \"bindTo\": \"$f_GeschaeftspartnerReadUtils.actionCommand\",\r\n \"bindToFQ\": \"functions.$f_GeschaeftspartnerReadUtils.actionCommand\"\r\n }\r\n });\r\n this.addFunction(\"$f_GeschaeftspartnerReadUtils\", $f_GeschaeftspartnerReadUtils, \"functions.$f_GeschaeftspartnerReadUtils\");\r\n this.widgetCreator.addValidationGroup(this, {\r\n \"id\": \"wd1\",\r\n \"options\": {\r\n \"optionsName\": \"wd1Options\",\r\n \"optionsNameFQ\": \"wd1Options\"\r\n }\r\n });\r\n super.onConstructionFinished();\r\n }\r\n}","module.exports = \"\";","import * as fwx from \"../../../../framework/forms/form-export\";\r\n\r\n@fwx.autoinject\r\nexport class InformationListForm extends fwx.FormBase {\r\n constructor(\r\n element: Element,\r\n formBaseImport: fwx.FormBaseImport) {\r\n super(element, formBaseImport);\r\n this.id = \"information-list\";\r\n this.title = \"information-list.information-list_caption\";\r\n this.addModel({\r\n \"id\": \"$m_Information\",\r\n \"webApiAction\": \"ZIT/Objekte/Information\",\r\n \"webApiExpand\": {\r\n Kopf: null\r\n },\r\n \"modificationInfoEnabled\": true,\r\n \"keyProperty\": \"Id\",\r\n \"filters\": []\r\n });\r\n this.widgetCreator.addValidationGroup(this, {\r\n \"id\": \"wd1\",\r\n \"options\": {\r\n \"optionsName\": \"wd1Options\",\r\n \"optionsNameFQ\": \"wd1Options\"\r\n }\r\n });\r\n this.widgetCreator.addDataGrid(this, {\r\n \"columns\": [{\r\n \"id\": \"r_infoUeberschrift\",\r\n \"caption\": \"information-list.r_infoueberschrift_caption\",\r\n \"bindTo\": \"Kopf.Ueberschrift\"\r\n }],\r\n \"optionsToolbar\": {\r\n \"optionsName\": \"r_informationGridToolbarOptions\",\r\n \"optionsNameFQ\": \"r_informationGridToolbarOptions\"\r\n },\r\n \"binding\": {\r\n \"dataContext\": \"$m_Information\"\r\n },\r\n \"dataModel\": \"$m_Information\",\r\n \"editUrl\": \"Objekte/Information\",\r\n \"addShortscuts\": true,\r\n \"isMainList\": true,\r\n \"height\": \"100%\",\r\n \"listEdits\": [],\r\n \"filters\": [],\r\n \"commands\": [],\r\n \"id\": \"r_informationGrid\",\r\n \"options\": {\r\n \"optionsName\": \"r_informationGridOptions\",\r\n \"optionsNameFQ\": \"r_informationGridOptions\"\r\n }\r\n });\r\n super.onConstructionFinished();\r\n }\r\n}","module.exports = \"\";","import * as fwx from \"../../../../framework/forms/form-export\";\r\nimport {\r\n InformationReadUtils\r\n} from \"./information-read-utils\";\r\n\r\n@fwx.autoinject\r\nexport class InformationReadForm extends fwx.FormBase {\r\n constructor(\r\n element: Element,\r\n formBaseImport: fwx.FormBaseImport,\r\n private $f_InformationReadUtils: InformationReadUtils) {\r\n super(element, formBaseImport);\r\n this.id = \"information-read\";\r\n this.title = \"information-read.information-read_caption\";\r\n this.addModel({\r\n \"id\": \"$m_Information\",\r\n \"webApiAction\": \"ZIT/Objekte/Information\",\r\n \"webApiExpand\": {\r\n 'Kopf': {\r\n 'expand': {\r\n 'Informationstyp': null\r\n }\r\n }\r\n },\r\n \"modificationInfoEnabled\": true,\r\n \"key\": \"variables.data.$id\",\r\n \"keyProperty\": \"Id\",\r\n \"postOnSave\": true,\r\n \"filters\": []\r\n });\r\n this.addFunction(\"$f_InformationReadUtils\", $f_InformationReadUtils, \"functions.$f_InformationReadUtils\");\r\n this.widgetCreator.addValidationGroup(this, {\r\n \"id\": \"wd1\",\r\n \"options\": {\r\n \"optionsName\": \"wd1Options\",\r\n \"optionsNameFQ\": \"wd1Options\"\r\n }\r\n });\r\n super.onConstructionFinished();\r\n }\r\n}","module.exports = \"\";","import * as fwx from \"../../../../framework/forms/form-export\";\r\n\r\n@fwx.autoinject\r\nexport class PersonAdresseEditForm extends fwx.FormBase {\r\n constructor(\r\n element: Element,\r\n formBaseImport: fwx.FormBaseImport) {\r\n super(element, formBaseImport);\r\n this.id = \"person-adresse-edit\";\r\n this.title = \"person-adresse-edit.person-adresse-edit_caption\";\r\n this.addModel({\r\n \"id\": \"$m_Adresse\",\r\n \"webApiAction\": \"ZIT/Objekte/PersonAdresseElement\",\r\n \"key\": \"variables.data.$id\",\r\n \"keyProperty\": \"Id\",\r\n \"postOnSave\": true,\r\n \"filters\": []\r\n });\r\n this.addVariable({\r\n \"id\": \"$id\"\r\n });\r\n this.widgetCreator.addValidationGroup(this, {\r\n \"id\": \"wd1\",\r\n \"options\": {\r\n \"optionsName\": \"wd1Options\",\r\n \"optionsNameFQ\": \"wd1Options\"\r\n }\r\n });\r\n this.widgetCreator.addTextBox(this, {\r\n \"maxLength\": 100,\r\n \"caption\": \"person-adresse-edit.r_strasse_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Adresse\",\r\n \"bindTo\": \"Strasse\",\r\n \"bindToFQ\": \"models.data.$m_Adresse.Strasse\"\r\n },\r\n \"validationRules\": [{\r\n \"item\": {\r\n \"type\": \"required\",\r\n \"parameters\": []\r\n }\r\n }],\r\n \"id\": \"r_strasse\",\r\n \"options\": {\r\n \"optionsName\": \"r_strasseOptions\",\r\n \"optionsNameFQ\": \"r_strasseOptions\"\r\n }\r\n });\r\n this.widgetCreator.addTextBox(this, {\r\n \"maxLength\": 100,\r\n \"caption\": \"person-adresse-edit.r_strassezusatz_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Adresse\",\r\n \"bindTo\": \"StrasseZusatz\",\r\n \"bindToFQ\": \"models.data.$m_Adresse.StrasseZusatz\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_strasseZusatz\",\r\n \"options\": {\r\n \"optionsName\": \"r_strasseZusatzOptions\",\r\n \"optionsNameFQ\": \"r_strasseZusatzOptions\"\r\n }\r\n });\r\n this.widgetCreator.addSelectBox(this, {\r\n \"idSelect\": \"staat\",\r\n \"filters\": [],\r\n \"caption\": \"person-adresse-edit.r_land_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Adresse\",\r\n \"bindTo\": \"IdLand\",\r\n \"bindToFQ\": \"models.data.$m_Adresse.IdLand\"\r\n },\r\n \"validationRules\": [{\r\n \"item\": {\r\n \"type\": \"required\",\r\n \"parameters\": []\r\n }\r\n }],\r\n \"id\": \"r_land\",\r\n \"options\": {\r\n \"optionsName\": \"r_landOptions\",\r\n \"optionsNameFQ\": \"r_landOptions\"\r\n }\r\n });\r\n this.widgetCreator.addTextBox(this, {\r\n \"maxLength\": 20,\r\n \"caption\": \"person-adresse-edit.r_postleitzahl_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Adresse\",\r\n \"bindTo\": \"Postleitzahl\",\r\n \"bindToFQ\": \"models.data.$m_Adresse.Postleitzahl\"\r\n },\r\n \"validationRules\": [{\r\n \"item\": {\r\n \"type\": \"required\",\r\n \"parameters\": []\r\n }\r\n }],\r\n \"id\": \"r_postleitzahl\",\r\n \"options\": {\r\n \"optionsName\": \"r_postleitzahlOptions\",\r\n \"optionsNameFQ\": \"r_postleitzahlOptions\"\r\n }\r\n });\r\n this.widgetCreator.addTextBox(this, {\r\n \"maxLength\": 100,\r\n \"caption\": \"person-adresse-edit.r_ort_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Adresse\",\r\n \"bindTo\": \"Ort\",\r\n \"bindToFQ\": \"models.data.$m_Adresse.Ort\"\r\n },\r\n \"validationRules\": [{\r\n \"item\": {\r\n \"type\": \"required\",\r\n \"parameters\": []\r\n }\r\n }],\r\n \"id\": \"r_ort\",\r\n \"options\": {\r\n \"optionsName\": \"r_ortOptions\",\r\n \"optionsNameFQ\": \"r_ortOptions\"\r\n }\r\n });\r\n this.widgetCreator.addTextBox(this, {\r\n \"maxLength\": 500,\r\n \"caption\": \"person-adresse-edit.r_bemerkung_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Adresse\",\r\n \"bindTo\": \"Bemerkung\",\r\n \"bindToFQ\": \"models.data.$m_Adresse.Bemerkung\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_bemerkung\",\r\n \"options\": {\r\n \"optionsName\": \"r_bemerkungOptions\",\r\n \"optionsNameFQ\": \"r_bemerkungOptions\"\r\n }\r\n });\r\n this.widgetCreator.addSelectBox(this, {\r\n \"idSelect\": \"adresstyp\",\r\n \"customs\": [{\r\n \"key\": \"objektTyp\",\r\n \"value\": \"'TIP.ZIT.Business.Entities.Objekte.Personen.Person'\"\r\n }],\r\n \"filters\": [],\r\n \"caption\": \"person-adresse-edit.r_adresstyp_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Adresse\",\r\n \"bindTo\": \"IdAdresstyp\",\r\n \"bindToFQ\": \"models.data.$m_Adresse.IdAdresstyp\"\r\n },\r\n \"validationRules\": [{\r\n \"item\": {\r\n \"type\": \"required\",\r\n \"parameters\": []\r\n }\r\n }],\r\n \"id\": \"r_adresstyp\",\r\n \"options\": {\r\n \"optionsName\": \"r_adresstypOptions\",\r\n \"optionsNameFQ\": \"r_adresstypOptions\"\r\n }\r\n });\r\n this.widgetCreator.addDateBox(this, {\r\n \"format\": \"d\",\r\n \"caption\": \"person-adresse-edit.r_gueltigvon_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Adresse\",\r\n \"bindTo\": \"GueltigVon\",\r\n \"bindToFQ\": \"models.data.$m_Adresse.GueltigVon\"\r\n },\r\n \"validationRules\": [{\r\n \"item\": {\r\n \"type\": \"required\",\r\n \"parameters\": []\r\n }\r\n }],\r\n \"id\": \"r_gueltigVon\",\r\n \"options\": {\r\n \"optionsName\": \"r_gueltigVonOptions\",\r\n \"optionsNameFQ\": \"r_gueltigVonOptions\"\r\n }\r\n });\r\n this.widgetCreator.addDateBox(this, {\r\n \"format\": \"d\",\r\n \"caption\": \"person-adresse-edit.r_gueltigbis_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Adresse\",\r\n \"bindTo\": \"GueltigBis\",\r\n \"bindToFQ\": \"models.data.$m_Adresse.GueltigBis\"\r\n },\r\n \"validationRules\": [{\r\n \"item\": {\r\n \"type\": \"required\",\r\n \"parameters\": []\r\n }\r\n }],\r\n \"id\": \"r_gueltigBis\",\r\n \"options\": {\r\n \"optionsName\": \"r_gueltigBisOptions\",\r\n \"optionsNameFQ\": \"r_gueltigBisOptions\"\r\n }\r\n });\r\n super.onConstructionFinished();\r\n }\r\n}","module.exports = \"\";","import * as fwx from \"../../../../framework/forms/form-export\";\r\nimport {\r\n PersonenEditUtils\r\n} from \"./person-edit-utils\";\r\n\r\n@fwx.autoinject\r\nexport class PersonAusbildungEditForm extends fwx.FormBase {\r\n constructor(\r\n element: Element,\r\n formBaseImport: fwx.FormBaseImport,\r\n private $f_PersonenEditUtils: PersonenEditUtils) {\r\n super(element, formBaseImport);\r\n this.id = \"person-ausbildung-edit\";\r\n this.title = \"person-ausbildung-edit.person-ausbildung-edit_caption\";\r\n this.addModel({\r\n \"id\": \"$m_Ausbildung\",\r\n \"webApiAction\": \"ZIT/Objekte/PersonAusbildung\",\r\n \"key\": \"variables.data.$id\",\r\n \"keyProperty\": \"Id\",\r\n \"postOnSave\": true,\r\n \"filters\": []\r\n });\r\n this.addEditPopup({\r\n \"idContent\": \"personAusbildungNeuEditPopupContent\",\r\n \"mappings\": [{\r\n \"to\": \"$id\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Ausbildung\",\r\n \"bindTo\": \"Id\",\r\n \"bindToFQ\": \"models.data.$m_Ausbildung.Id\"\r\n }\r\n }],\r\n \"id\": \"personAusbildungNeuEditPopup\",\r\n \"options\": {\r\n \"optionsName\": \"personAusbildungNeuEditPopupOptions\",\r\n \"optionsNameFQ\": \"personAusbildungNeuEditPopupOptions\"\r\n },\r\n \"height\": \"200px\",\r\n \"width\": \"450px\",\r\n \"commands\": []\r\n });\r\n this.addFunction(\"$f_PersonenEditUtils\", $f_PersonenEditUtils, \"functions.$f_PersonenEditUtils\");\r\n this.widgetCreator.addValidationGroup(this, {\r\n \"id\": \"wd1\",\r\n \"options\": {\r\n \"optionsName\": \"wd1Options\",\r\n \"optionsNameFQ\": \"wd1Options\"\r\n }\r\n });\r\n this.widgetCreator.addSelectBox(this, {\r\n \"idSelect\": \"ausbildung\",\r\n \"filters\": [],\r\n \"caption\": \"person-ausbildung-edit.r_ausbildung_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Ausbildung\",\r\n \"bindTo\": \"IdAusbildung\",\r\n \"bindToFQ\": \"models.data.$m_Ausbildung.IdAusbildung\"\r\n },\r\n \"validationRules\": [{\r\n \"item\": {\r\n \"type\": \"required\",\r\n \"parameters\": []\r\n }\r\n }],\r\n \"id\": \"r_ausbildung\",\r\n \"options\": {\r\n \"optionsName\": \"r_ausbildungOptions\",\r\n \"optionsNameFQ\": \"r_ausbildungOptions\"\r\n }\r\n });\r\n this.widgetCreator.addSelectBox(this, {\r\n \"idSelect\": \"ausbildungAbschluss\",\r\n \"customs\": [{\r\n \"key\": \"IdAusbildung\",\r\n \"value\": \"models.data.$m_Ausbildung.IdAusbildung\"\r\n }],\r\n \"filters\": [],\r\n \"caption\": \"person-ausbildung-edit.r_ausbildungabschluss_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Ausbildung\",\r\n \"bindTo\": \"IdAusbildungAbschluss\",\r\n \"bindToFQ\": \"models.data.$m_Ausbildung.IdAusbildungAbschluss\"\r\n },\r\n \"validationRules\": [{\r\n \"item\": {\r\n \"type\": \"required\",\r\n \"parameters\": []\r\n }\r\n }],\r\n \"id\": \"r_ausbildungAbschluss\",\r\n \"options\": {\r\n \"optionsName\": \"r_ausbildungAbschlussOptions\",\r\n \"optionsNameFQ\": \"r_ausbildungAbschlussOptions\"\r\n }\r\n });\r\n this.widgetCreator.addNumberBox(this, {\r\n \"min\": 1900.0,\r\n \"max\": 2100.0,\r\n \"caption\": \"person-ausbildung-edit.r_beginnjahr_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Ausbildung\",\r\n \"bindTo\": \"BeginnJahr\",\r\n \"bindToFQ\": \"models.data.$m_Ausbildung.BeginnJahr\"\r\n },\r\n \"validationRules\": [{\r\n \"item\": {\r\n \"type\": \"required\",\r\n \"parameters\": []\r\n }\r\n }],\r\n \"id\": \"r_beginnJahr\",\r\n \"options\": {\r\n \"optionsName\": \"r_beginnJahrOptions\",\r\n \"optionsNameFQ\": \"r_beginnJahrOptions\"\r\n }\r\n });\r\n this.widgetCreator.addNumberBox(this, {\r\n \"min\": 1900.0,\r\n \"max\": 2100.0,\r\n \"caption\": \"person-ausbildung-edit.r_abschlussjahr_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Ausbildung\",\r\n \"bindTo\": \"AbschlussJahr\",\r\n \"bindToFQ\": \"models.data.$m_Ausbildung.AbschlussJahr\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_abschlussJahr\",\r\n \"options\": {\r\n \"optionsName\": \"r_abschlussJahrOptions\",\r\n \"optionsNameFQ\": \"r_abschlussJahrOptions\"\r\n }\r\n });\r\n super.onConstructionFinished();\r\n }\r\n}","module.exports = \"\";","import * as fwx from \"../../../../framework/forms/form-export\";\r\nimport {\r\n PersonAusbildungErweitertEditUtils\r\n} from \"./person-ausbildung-erweitert-edit-utils\";\r\n\r\n@fwx.autoinject\r\nexport class PersonAusbildungErweitertEditForm extends fwx.FormBase {\r\n constructor(\r\n element: Element,\r\n formBaseImport: fwx.FormBaseImport,\r\n private $f_PersonAusbildungErweitert: PersonAusbildungErweitertEditUtils) {\r\n super(element, formBaseImport);\r\n this.id = \"person-ausbildung-erweitert-edit\";\r\n this.title = \"person-ausbildung-erweitert-edit.person-ausbildung-erweitert-edit_caption\";\r\n this.addModel({\r\n \"id\": \"$m_AusbildungNeu\",\r\n \"webApiAction\": \"ZIT/Stammdaten/Ausbildung\",\r\n \"key\": \"variables.data.$id\",\r\n \"keyProperty\": \"Id\",\r\n \"postOnSave\": true,\r\n \"filters\": []\r\n });\r\n this.addVariable({\r\n \"id\": \"$id\"\r\n });\r\n this.addFunction(\"$f_PersonAusbildungErweitert\", $f_PersonAusbildungErweitert, \"functions.$f_PersonAusbildungErweitert\");\r\n this.widgetCreator.addValidationGroup(this, {\r\n \"id\": \"wd1\",\r\n \"options\": {\r\n \"optionsName\": \"wd1Options\",\r\n \"optionsNameFQ\": \"wd1Options\"\r\n }\r\n });\r\n this.widgetCreator.addValidationGroup(this, {\r\n \"id\": \"r_personAusbildungValidationGroup\",\r\n \"options\": {\r\n \"optionsName\": \"r_personAusbildungValidationGroupOptions\",\r\n \"optionsNameFQ\": \"r_personAusbildungValidationGroupOptions\"\r\n }\r\n });\r\n this.widgetCreator.addTextBox(this, {\r\n \"caption\": \"person-ausbildung-erweitert-edit.r_bezeichnung_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_AusbildungNeu\",\r\n \"bindTo\": \"Bezeichnung\",\r\n \"bindToFQ\": \"models.data.$m_AusbildungNeu.Bezeichnung\"\r\n },\r\n \"validationRules\": [{\r\n \"binding\": {\r\n \"dataContext\": \"$m_AusbildungNeu\",\r\n \"bindTo\": \"$f_PersonAusbildungErweitert.requiredValidationRule\",\r\n \"bindToFQ\": \"functions.$f_PersonAusbildungErweitert.requiredValidationRule\"\r\n }\r\n }],\r\n \"id\": \"r_bezeichnung\",\r\n \"options\": {\r\n \"optionsName\": \"r_bezeichnungOptions\",\r\n \"optionsNameFQ\": \"r_bezeichnungOptions\"\r\n }\r\n });\r\n this.widgetCreator.addSelectBox(this, {\r\n \"idSelect\": \"ausbildungAbschluss\",\r\n \"filters\": [],\r\n \"caption\": \"person-ausbildung-erweitert-edit.r_ausbildungabschluss_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_AusbildungNeu\",\r\n \"bindTo\": \"$f_PersonAusbildungErweitert.idAusbildungAbschluss\",\r\n \"bindToFQ\": \"functions.$f_PersonAusbildungErweitert.idAusbildungAbschluss\"\r\n },\r\n \"validationRules\": [{\r\n \"binding\": {\r\n \"dataContext\": \"$m_AusbildungNeu\",\r\n \"bindTo\": \"$f_PersonAusbildungErweitert.requiredValidationRule\",\r\n \"bindToFQ\": \"functions.$f_PersonAusbildungErweitert.requiredValidationRule\"\r\n }\r\n }],\r\n \"id\": \"r_ausbildungAbschluss\",\r\n \"options\": {\r\n \"optionsName\": \"r_ausbildungAbschlussOptions\",\r\n \"optionsNameFQ\": \"r_ausbildungAbschlussOptions\"\r\n }\r\n });\r\n super.onConstructionFinished();\r\n }\r\n}","module.exports = \"\";","import * as fwx from \"../../../../framework/forms/form-export\";\r\n\r\n@fwx.autoinject\r\nexport class PersonBankverbindungEditForm extends fwx.FormBase {\r\n constructor(\r\n element: Element,\r\n formBaseImport: fwx.FormBaseImport) {\r\n super(element, formBaseImport);\r\n this.id = \"person-bankverbindung-edit\";\r\n this.title = \"person-bankverbindung-edit.person-bankverbindung-edit_caption\";\r\n this.addModel({\r\n \"id\": \"$m_Bankverbindung\",\r\n \"webApiAction\": \"ZIT/Objekte/PersonBankverbindung\",\r\n \"key\": \"variables.data.$id\",\r\n \"keyProperty\": \"Id\",\r\n \"postOnSave\": true,\r\n \"filters\": []\r\n });\r\n this.addVariable({\r\n \"id\": \"$id\"\r\n });\r\n this.widgetCreator.addValidationGroup(this, {\r\n \"id\": \"wd1\",\r\n \"options\": {\r\n \"optionsName\": \"wd1Options\",\r\n \"optionsNameFQ\": \"wd1Options\"\r\n }\r\n });\r\n this.widgetCreator.addTextBox(this, {\r\n \"maxLength\": 50,\r\n \"mask\": \"aaaa aaaa aaaa aaaa aaaa aaaa aaaa aaaa\",\r\n \"maskChar\": \" \",\r\n \"caption\": \"person-bankverbindung-edit.r_iban_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Bankverbindung\",\r\n \"bindTo\": \"IBAN\",\r\n \"bindToFQ\": \"models.data.$m_Bankverbindung.IBAN\"\r\n },\r\n \"validationRules\": [{\r\n \"item\": {\r\n \"type\": \"required\",\r\n \"parameters\": []\r\n }\r\n }],\r\n \"id\": \"r_iban\",\r\n \"options\": {\r\n \"optionsName\": \"r_ibanOptions\",\r\n \"optionsNameFQ\": \"r_ibanOptions\"\r\n }\r\n });\r\n this.widgetCreator.addTextBox(this, {\r\n \"maxLength\": 50,\r\n \"caption\": \"person-bankverbindung-edit.r_bic_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Bankverbindung\",\r\n \"bindTo\": \"BIC\",\r\n \"bindToFQ\": \"models.data.$m_Bankverbindung.BIC\"\r\n },\r\n \"validationRules\": [{\r\n \"item\": {\r\n \"type\": \"bic\",\r\n \"parameters\": []\r\n }\r\n }],\r\n \"id\": \"r_bic\",\r\n \"options\": {\r\n \"optionsName\": \"r_bicOptions\",\r\n \"optionsNameFQ\": \"r_bicOptions\"\r\n }\r\n });\r\n this.widgetCreator.addSelectBox(this, {\r\n \"idSelect\": \"waehrung\",\r\n \"filters\": [],\r\n \"caption\": \"person-bankverbindung-edit.r_waehrung_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Bankverbindung\",\r\n \"bindTo\": \"IdWaehrung\",\r\n \"bindToFQ\": \"models.data.$m_Bankverbindung.IdWaehrung\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_waehrung\",\r\n \"options\": {\r\n \"optionsName\": \"r_waehrungOptions\",\r\n \"optionsNameFQ\": \"r_waehrungOptions\"\r\n }\r\n });\r\n this.widgetCreator.addTextBox(this, {\r\n \"maxLength\": 100,\r\n \"caption\": \"person-bankverbindung-edit.r_bankinstitut_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Bankverbindung\",\r\n \"bindTo\": \"Bankinstitut\",\r\n \"bindToFQ\": \"models.data.$m_Bankverbindung.Bankinstitut\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_bankinstitut\",\r\n \"options\": {\r\n \"optionsName\": \"r_bankinstitutOptions\",\r\n \"optionsNameFQ\": \"r_bankinstitutOptions\"\r\n }\r\n });\r\n this.widgetCreator.addTextBox(this, {\r\n \"maxLength\": 50,\r\n \"caption\": \"person-bankverbindung-edit.r_eigentuemer_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Bankverbindung\",\r\n \"bindTo\": \"Eigentuemer\",\r\n \"bindToFQ\": \"models.data.$m_Bankverbindung.Eigentuemer\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_eigentuemer\",\r\n \"options\": {\r\n \"optionsName\": \"r_eigentuemerOptions\",\r\n \"optionsNameFQ\": \"r_eigentuemerOptions\"\r\n }\r\n });\r\n this.widgetCreator.addDateBox(this, {\r\n \"format\": \"d\",\r\n \"caption\": \"person-bankverbindung-edit.r_gueltigvon_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Bankverbindung\",\r\n \"bindTo\": \"GueltigVon\",\r\n \"bindToFQ\": \"models.data.$m_Bankverbindung.GueltigVon\"\r\n },\r\n \"validationRules\": [{\r\n \"item\": {\r\n \"type\": \"required\",\r\n \"parameters\": []\r\n }\r\n }],\r\n \"id\": \"r_gueltigVon\",\r\n \"options\": {\r\n \"optionsName\": \"r_gueltigVonOptions\",\r\n \"optionsNameFQ\": \"r_gueltigVonOptions\"\r\n }\r\n });\r\n this.widgetCreator.addDateBox(this, {\r\n \"format\": \"d\",\r\n \"caption\": \"person-bankverbindung-edit.r_gueltigbis_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Bankverbindung\",\r\n \"bindTo\": \"GueltigBis\",\r\n \"bindToFQ\": \"models.data.$m_Bankverbindung.GueltigBis\"\r\n },\r\n \"validationRules\": [{\r\n \"item\": {\r\n \"type\": \"required\",\r\n \"parameters\": []\r\n }\r\n }],\r\n \"id\": \"r_gueltigBis\",\r\n \"options\": {\r\n \"optionsName\": \"r_gueltigBisOptions\",\r\n \"optionsNameFQ\": \"r_gueltigBisOptions\"\r\n }\r\n });\r\n super.onConstructionFinished();\r\n }\r\n}","module.exports = \"\";","import * as fwx from \"../../../../framework/forms/form-export\";\r\n\r\n@fwx.autoinject\r\nexport class PersonBerufEditForm extends fwx.FormBase {\r\n constructor(\r\n element: Element,\r\n formBaseImport: fwx.FormBaseImport) {\r\n super(element, formBaseImport);\r\n this.id = \"person-beruf-edit\";\r\n this.title = \"person-beruf-edit.person-beruf-edit_caption\";\r\n this.addModel({\r\n \"id\": \"$m_Beruf\",\r\n \"webApiAction\": \"ZIT/Objekte/PersonBeruf\",\r\n \"key\": \"variables.data.$id\",\r\n \"keyProperty\": \"Id\",\r\n \"postOnSave\": true,\r\n \"filters\": []\r\n });\r\n this.addVariable({\r\n \"id\": \"$id\"\r\n });\r\n this.widgetCreator.addValidationGroup(this, {\r\n \"id\": \"wd1\",\r\n \"options\": {\r\n \"optionsName\": \"wd1Options\",\r\n \"optionsNameFQ\": \"wd1Options\"\r\n }\r\n });\r\n this.widgetCreator.addSelectBox(this, {\r\n \"idSelect\": \"beruf\",\r\n \"filters\": [],\r\n \"caption\": \"person-beruf-edit.r_beruf_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Beruf\",\r\n \"bindTo\": \"IdBeruf\",\r\n \"bindToFQ\": \"models.data.$m_Beruf.IdBeruf\"\r\n },\r\n \"validationRules\": [{\r\n \"item\": {\r\n \"type\": \"required\",\r\n \"parameters\": []\r\n }\r\n }],\r\n \"id\": \"r_beruf\",\r\n \"options\": {\r\n \"optionsName\": \"r_berufOptions\",\r\n \"optionsNameFQ\": \"r_berufOptions\"\r\n }\r\n });\r\n this.widgetCreator.addSelectBox(this, {\r\n \"idSelect\": \"berufQualifikation\",\r\n \"filters\": [],\r\n \"caption\": \"person-beruf-edit.r_berufqualifikation_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Beruf\",\r\n \"bindTo\": \"IdBerufQualifikation\",\r\n \"bindToFQ\": \"models.data.$m_Beruf.IdBerufQualifikation\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_berufQualifikation\",\r\n \"options\": {\r\n \"optionsName\": \"r_berufQualifikationOptions\",\r\n \"optionsNameFQ\": \"r_berufQualifikationOptions\"\r\n }\r\n });\r\n this.widgetCreator.addSelectBox(this, {\r\n \"idSelect\": \"ausbildungAbschluss\",\r\n \"filters\": [],\r\n \"caption\": \"person-beruf-edit.r_ausbildungabschluss_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Beruf\",\r\n \"bindTo\": \"IdAusbildungAbschluss\",\r\n \"bindToFQ\": \"models.data.$m_Beruf.IdAusbildungAbschluss\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_ausbildungAbschluss\",\r\n \"options\": {\r\n \"optionsName\": \"r_ausbildungAbschlussOptions\",\r\n \"optionsNameFQ\": \"r_ausbildungAbschlussOptions\"\r\n }\r\n });\r\n this.widgetCreator.addNumberBox(this, {\r\n \"caption\": \"person-beruf-edit.r_erfahrungsjahre_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Beruf\",\r\n \"bindTo\": \"Erfahrungsjahre\",\r\n \"bindToFQ\": \"models.data.$m_Beruf.Erfahrungsjahre\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_erfahrungsjahre\",\r\n \"options\": {\r\n \"optionsName\": \"r_erfahrungsjahreOptions\",\r\n \"optionsNameFQ\": \"r_erfahrungsjahreOptions\"\r\n }\r\n });\r\n this.widgetCreator.addNumberBox(this, {\r\n \"caption\": \"person-beruf-edit.r_zuletzttaetig_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Beruf\",\r\n \"bindTo\": \"ZuletztTaetig\",\r\n \"bindToFQ\": \"models.data.$m_Beruf.ZuletztTaetig\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_zuletztTaetig\",\r\n \"options\": {\r\n \"optionsName\": \"r_zuletztTaetigOptions\",\r\n \"optionsNameFQ\": \"r_zuletztTaetigOptions\"\r\n }\r\n });\r\n super.onConstructionFinished();\r\n }\r\n}","module.exports = \"\";","import * as fwx from \"../../../../framework/forms/form-export\";\r\n\r\n@fwx.autoinject\r\nexport class PersonBerufserfahrungEditForm extends fwx.FormBase {\r\n constructor(\r\n element: Element,\r\n formBaseImport: fwx.FormBaseImport) {\r\n super(element, formBaseImport);\r\n this.id = \"person-berufserfahrung-edit\";\r\n this.title = \"person-berufserfahrung-edit.person-berufserfahrung-edit_caption\";\r\n this.addModel({\r\n \"id\": \"$m_Berufserfahrung\",\r\n \"webApiAction\": \"ZIT/Objekte/PersonBerufserfahrung\",\r\n \"key\": \"variables.data.$id\",\r\n \"keyProperty\": \"Id\",\r\n \"postOnSave\": true,\r\n \"filters\": []\r\n });\r\n this.addVariable({\r\n \"id\": \"$id\"\r\n });\r\n this.widgetCreator.addValidationGroup(this, {\r\n \"id\": \"wd1\",\r\n \"options\": {\r\n \"optionsName\": \"wd1Options\",\r\n \"optionsNameFQ\": \"wd1Options\"\r\n }\r\n });\r\n this.widgetCreator.addTextBox(this, {\r\n \"maxLength\": 100,\r\n \"caption\": \"person-berufserfahrung-edit.r_unternehmen_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Berufserfahrung\",\r\n \"bindTo\": \"Unternehmen\",\r\n \"bindToFQ\": \"models.data.$m_Berufserfahrung.Unternehmen\"\r\n },\r\n \"validationRules\": [{\r\n \"item\": {\r\n \"type\": \"required\",\r\n \"parameters\": []\r\n }\r\n }],\r\n \"id\": \"r_unternehmen\",\r\n \"options\": {\r\n \"optionsName\": \"r_unternehmenOptions\",\r\n \"optionsNameFQ\": \"r_unternehmenOptions\"\r\n }\r\n });\r\n this.widgetCreator.addTextBox(this, {\r\n \"maxLength\": 100,\r\n \"caption\": \"person-berufserfahrung-edit.r_taetigkeit_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Berufserfahrung\",\r\n \"bindTo\": \"Taetigkeit\",\r\n \"bindToFQ\": \"models.data.$m_Berufserfahrung.Taetigkeit\"\r\n },\r\n \"validationRules\": [{\r\n \"item\": {\r\n \"type\": \"required\",\r\n \"parameters\": []\r\n }\r\n }],\r\n \"id\": \"r_taetigkeit\",\r\n \"options\": {\r\n \"optionsName\": \"r_taetigkeitOptions\",\r\n \"optionsNameFQ\": \"r_taetigkeitOptions\"\r\n }\r\n });\r\n this.widgetCreator.addDateBox(this, {\r\n \"format\": \"d\",\r\n \"caption\": \"person-berufserfahrung-edit.r_von_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Berufserfahrung\",\r\n \"bindTo\": \"Von\",\r\n \"bindToFQ\": \"models.data.$m_Berufserfahrung.Von\"\r\n },\r\n \"validationRules\": [{\r\n \"item\": {\r\n \"type\": \"required\",\r\n \"parameters\": []\r\n }\r\n }],\r\n \"id\": \"r_von\",\r\n \"options\": {\r\n \"optionsName\": \"r_vonOptions\",\r\n \"optionsNameFQ\": \"r_vonOptions\"\r\n }\r\n });\r\n this.widgetCreator.addDateBox(this, {\r\n \"format\": \"d\",\r\n \"caption\": \"person-berufserfahrung-edit.r_bis_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Berufserfahrung\",\r\n \"bindTo\": \"Bis\",\r\n \"bindToFQ\": \"models.data.$m_Berufserfahrung.Bis\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_bis\",\r\n \"options\": {\r\n \"optionsName\": \"r_bisOptions\",\r\n \"optionsNameFQ\": \"r_bisOptions\"\r\n }\r\n });\r\n super.onConstructionFinished();\r\n }\r\n}","module.exports = \"\";","import * as fwx from \"../../../../framework/forms/form-export\";\r\nimport {\r\n PersonenEditUtils\r\n} from \"./person-edit-utils\";\r\n\r\n@fwx.autoinject\r\nexport class PersonEditForm extends fwx.FormBase {\r\n constructor(\r\n element: Element,\r\n formBaseImport: fwx.FormBaseImport,\r\n private $f_PersonenEditUtils: PersonenEditUtils) {\r\n super(element, formBaseImport);\r\n this.id = \"person-edit\";\r\n this.title = \"person-edit.person-edit_caption\";\r\n this.addModel({\r\n \"id\": \"$m_Person\",\r\n \"webApiAction\": \"ZIT/Objekte/Person\",\r\n \"webApiExpand\": {\r\n 'Personendaten': null\r\n },\r\n \"modificationInfoEnabled\": true,\r\n \"key\": \"variables.data.$id\",\r\n \"keyProperty\": \"Id\",\r\n \"postOnSave\": true,\r\n \"filters\": [{\r\n \"webApiCustomKey\": \"CanBenutzeraccountAktivieren\",\r\n \"webApiCustomValue\": \"true\"\r\n }, {\r\n \"webApiCustomKey\": \"SonstigeKontaktdatenVisible\",\r\n \"webApiCustomValue\": \"true\"\r\n }]\r\n });\r\n this.addModel({\r\n \"id\": \"$m_Bewerbung\",\r\n \"webApiAction\": \"ZIT/Objekte/Bewerbung\",\r\n \"webApiColumns\": [\"Id\"],\r\n \"webApiWhere\": [\"Kopf.IdPerson\", {\r\n \"isBound\": true,\r\n \"expression\": \"models.data.$m_Person.Id\"\r\n }],\r\n \"webApiOrderBy\": [{\r\n columnName: 'Anlagedatum',\r\n sortOrder: 1\r\n }],\r\n \"modificationInfoEnabled\": true,\r\n \"keyProperty\": \"Id\",\r\n \"filters\": [{\r\n \"webApiCustomKey\": \"AddBewerbungCard\",\r\n \"webApiCustomValue\": \"true\"\r\n }]\r\n });\r\n this.addModel({\r\n \"id\": \"$m_BankverbindungElement\",\r\n \"webApiAction\": \"ZIT/Objekte/PersonBankverbindungElement\",\r\n \"key\": \"models.data.$m_Person.IdPersonBankverbindungElement\",\r\n \"keyProperty\": \"Id\",\r\n \"filters\": []\r\n });\r\n this.addModel({\r\n \"id\": \"$m_BerufserfahrungElement\",\r\n \"webApiAction\": \"ZIT/Objekte/PersonBerufserfahrungElement\",\r\n \"key\": \"models.data.$m_Person.IdPersonBerufserfahrungElement\",\r\n \"keyProperty\": \"Id\",\r\n \"filters\": []\r\n });\r\n this.addModel({\r\n \"id\": \"$m_AusbildungElement\",\r\n \"webApiAction\": \"ZIT/Objekte/PersonAusbildungElement\",\r\n \"key\": \"models.data.$m_Person.IdPersonAusbildungElement\",\r\n \"keyProperty\": \"Id\",\r\n \"filters\": []\r\n });\r\n this.addModel({\r\n \"id\": \"$m_BerufElement\",\r\n \"webApiAction\": \"ZIT/Objekte/PersonBerufElement\",\r\n \"key\": \"models.data.$m_Person.IdPersonBerufElement\",\r\n \"keyProperty\": \"Id\",\r\n \"filters\": []\r\n });\r\n this.addModel({\r\n \"id\": \"$m_SpracheElement\",\r\n \"webApiAction\": \"ZIT/Objekte/PersonSpracheElement\",\r\n \"key\": \"models.data.$m_Person.IdPersonSpracheElement\",\r\n \"keyProperty\": \"Id\",\r\n \"filters\": []\r\n });\r\n this.addModel({\r\n \"id\": \"$m_FuehrerscheinElement\",\r\n \"webApiAction\": \"ZIT/Objekte/PersonFuehrerscheinElement\",\r\n \"key\": \"models.data.$m_Person.IdPersonFuehrerscheinElement\",\r\n \"keyProperty\": \"Id\",\r\n \"filters\": []\r\n });\r\n this.addModel({\r\n \"id\": \"$m_PersonAdresseRel\",\r\n \"webApiAction\": \"ZIT/Objekte/PersonAdresseElement\",\r\n \"webApiExpand\": {\r\n 'Adresstyp': null,\r\n 'Land': null\r\n },\r\n \"keyProperty\": \"Id\",\r\n \"allowNew\": \"true\",\r\n \"filters\": []\r\n });\r\n this.addModel({\r\n \"id\": \"$m_PersonAdresseEdit\",\r\n \"webApiAction\": \"ZIT/Objekte/PersonAdresseElement\",\r\n \"keyProperty\": \"Id\",\r\n \"filters\": []\r\n });\r\n this.addModel({\r\n \"id\": \"$m_PersonKontaktRel\",\r\n \"webApiAction\": \"ZIT/Objekte/PersonKontaktElement\",\r\n \"webApiExpand\": {\r\n 'Kontakttyp': null\r\n },\r\n \"keyProperty\": \"Id\",\r\n \"filters\": []\r\n });\r\n this.addModel({\r\n \"id\": \"$m_PersonKontaktEdit\",\r\n \"webApiAction\": \"ZIT/Objekte/PersonKontaktElement\",\r\n \"keyProperty\": \"Id\",\r\n \"filters\": []\r\n });\r\n this.addModel({\r\n \"id\": \"$m_PersonBankverbindungRel\",\r\n \"webApiAction\": \"ZIT/Objekte/PersonBankverbindung\",\r\n \"webApiExpand\": {\r\n 'Waehrung': null\r\n },\r\n \"keyProperty\": \"Id\",\r\n \"filters\": []\r\n });\r\n this.addModel({\r\n \"id\": \"$m_PersonBankverbindungEdit\",\r\n \"webApiAction\": \"ZIT/Objekte/PersonBankverbindung\",\r\n \"keyProperty\": \"Id\",\r\n \"filters\": []\r\n });\r\n this.addModel({\r\n \"id\": \"$m_PersonBerufserfahrungRel\",\r\n \"webApiAction\": \"ZIT/Objekte/PersonBerufserfahrung\",\r\n \"keyProperty\": \"Id\",\r\n \"filters\": []\r\n });\r\n this.addModel({\r\n \"id\": \"$m_PersonBerufserfahrungEdit\",\r\n \"webApiAction\": \"ZIT/Objekte/PersonBerufserfahrung\",\r\n \"keyProperty\": \"Id\",\r\n \"filters\": []\r\n });\r\n this.addModel({\r\n \"id\": \"$m_PersonAusbildungRel\",\r\n \"webApiAction\": \"ZIT/Objekte/PersonAusbildung\",\r\n \"webApiExpand\": {\r\n 'Ausbildung': null,\r\n 'AusbildungsortOrder': null,\r\n 'AusbildungAbschluss': null\r\n },\r\n \"keyProperty\": \"Id\",\r\n \"filters\": []\r\n });\r\n this.addModel({\r\n \"id\": \"$m_PersonAusbildungEdit\",\r\n \"webApiAction\": \"ZIT/Objekte/PersonAusbildung\",\r\n \"keyProperty\": \"Id\",\r\n \"filters\": []\r\n });\r\n this.addModel({\r\n \"id\": \"$m_PersonBerufRel\",\r\n \"webApiAction\": \"ZIT/Objekte/PersonBeruf\",\r\n \"webApiExpand\": {\r\n 'Beruf': null,\r\n 'BerufQualifikation': null,\r\n 'AusbildungAbschluss': null\r\n },\r\n \"keyProperty\": \"Id\",\r\n \"filters\": []\r\n });\r\n this.addModel({\r\n \"id\": \"$m_PersonBerufEdit\",\r\n \"webApiAction\": \"ZIT/Objekte/PersonBeruf\",\r\n \"keyProperty\": \"Id\",\r\n \"filters\": []\r\n });\r\n this.addModel({\r\n \"id\": \"$m_PersonSpracheRel\",\r\n \"webApiAction\": \"ZIT/Objekte/PersonSprache\",\r\n \"webApiExpand\": {\r\n 'Sprache': null,\r\n 'Sprachniveau': null\r\n },\r\n \"keyProperty\": \"Id\",\r\n \"filters\": []\r\n });\r\n this.addModel({\r\n \"id\": \"$m_PersonSpracheEdit\",\r\n \"webApiAction\": \"ZIT/Objekte/PersonSprache\",\r\n \"keyProperty\": \"Id\",\r\n \"filters\": []\r\n });\r\n this.addModel({\r\n \"id\": \"$m_PersonFuehrerscheinRel\",\r\n \"webApiAction\": \"ZIT/Objekte/PersonFuehrerschein\",\r\n \"webApiExpand\": {\r\n 'Fuehrerscheinklasse': null\r\n },\r\n \"keyProperty\": \"Id\",\r\n \"filters\": []\r\n });\r\n this.addModel({\r\n \"id\": \"$m_PersonFuehrerscheinEdit\",\r\n \"webApiAction\": \"ZIT/Objekte/PersonFuehrerschein\",\r\n \"keyProperty\": \"Id\",\r\n \"filters\": []\r\n });\r\n this.addModel({\r\n \"id\": \"$m_PersonSkillRel\",\r\n \"webApiAction\": \"ZIT/Objekte/PersonSkillElement\",\r\n \"webApiExpand\": {\r\n 'Skill': null\r\n },\r\n \"keyProperty\": \"Id\",\r\n \"filters\": []\r\n });\r\n this.addModel({\r\n \"id\": \"$m_PersonSkillEdit\",\r\n \"webApiAction\": \"ZIT/Objekte/PersonSkillElement\",\r\n \"keyProperty\": \"Id\",\r\n \"filters\": []\r\n });\r\n this.addModel({\r\n \"id\": \"$m_DokumentRel\",\r\n \"webApiAction\": \"ZIT/Objekte/DokumentElement\",\r\n \"webApiExpand\": {\r\n 'Informationstyp': null\r\n },\r\n \"keyProperty\": \"Id\",\r\n \"filters\": []\r\n });\r\n this.addModel({\r\n \"id\": \"$m_DokumentEdit\",\r\n \"webApiAction\": \"ZIT/Objekte/DokumentElement\",\r\n \"keyProperty\": \"Id\",\r\n \"filters\": []\r\n });\r\n this.addModel({\r\n \"id\": \"$m_PersonGeschaeftspartnerEinsatzRel\",\r\n \"webApiAction\": \"ZIT/Objekte/PersonGeschaeftspartnerEinsatzElement\",\r\n \"webApiExpand\": {\r\n 'Geschaeftspartner': null\r\n },\r\n \"keyProperty\": \"Id\",\r\n \"filters\": []\r\n });\r\n this.addModel({\r\n \"id\": \"$m_PersonGeschaeftspartnerEinsatzEdit\",\r\n \"webApiAction\": \"ZIT/Objekte/PersonGeschaeftspartnerEinsatzElement\",\r\n \"keyProperty\": \"Id\",\r\n \"filters\": []\r\n });\r\n this.addCommand({\r\n \"binding\": {\r\n \"bindTo\": \"$f_PersonenEditUtils.actionCommand\",\r\n \"bindToFQ\": \"functions.$f_PersonenEditUtils.actionCommand\"\r\n }\r\n });\r\n this.addEditPopup({\r\n \"idContent\": \"personAdresseEditPopupContent\",\r\n \"mappings\": [{\r\n \"to\": \"$id\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_PersonAdresseEdit\",\r\n \"bindTo\": \"Id\",\r\n \"bindToFQ\": \"models.data.$m_PersonAdresseEdit.Id\"\r\n }\r\n }],\r\n \"id\": \"personAdresseEditPopup\",\r\n \"options\": {\r\n \"optionsName\": \"personAdresseEditPopupOptions\",\r\n \"optionsNameFQ\": \"personAdresseEditPopupOptions\"\r\n },\r\n \"height\": \"auto\",\r\n \"width\": \"500px\",\r\n \"commands\": []\r\n });\r\n this.addEditPopup({\r\n \"idContent\": \"personBankverbindungEditPopupContent\",\r\n \"mappings\": [{\r\n \"to\": \"$id\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_PersonBankverbindungEdit\",\r\n \"bindTo\": \"Id\",\r\n \"bindToFQ\": \"models.data.$m_PersonBankverbindungEdit.Id\"\r\n }\r\n }],\r\n \"id\": \"personBankverbindungEditPopup\",\r\n \"options\": {\r\n \"optionsName\": \"personBankverbindungEditPopupOptions\",\r\n \"optionsNameFQ\": \"personBankverbindungEditPopupOptions\"\r\n },\r\n \"height\": \"auto\",\r\n \"width\": \"500px\",\r\n \"commands\": []\r\n });\r\n this.addEditPopup({\r\n \"idContent\": \"personBerufserfahrungEditPopupContent\",\r\n \"mappings\": [{\r\n \"to\": \"$id\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_PersonBerufserfahrungEdit\",\r\n \"bindTo\": \"Id\",\r\n \"bindToFQ\": \"models.data.$m_PersonBerufserfahrungEdit.Id\"\r\n }\r\n }],\r\n \"id\": \"personBerufserfahrungEditPopup\",\r\n \"options\": {\r\n \"optionsName\": \"personBerufserfahrungEditPopupOptions\",\r\n \"optionsNameFQ\": \"personBerufserfahrungEditPopupOptions\"\r\n },\r\n \"height\": \"auto\",\r\n \"width\": \"500px\",\r\n \"commands\": []\r\n });\r\n this.addEditPopup({\r\n \"idContent\": \"personGeschaeftspartnerEinsatzEditPopupContent\",\r\n \"mappings\": [{\r\n \"to\": \"$id\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_PersonGeschaeftspartnerEinsatzEdit\",\r\n \"bindTo\": \"Id\",\r\n \"bindToFQ\": \"models.data.$m_PersonGeschaeftspartnerEinsatzEdit.Id\"\r\n }\r\n }],\r\n \"id\": \"personGeschaeftspartnerEinsatzEditPopup\",\r\n \"options\": {\r\n \"optionsName\": \"personGeschaeftspartnerEinsatzEditPopupOptions\",\r\n \"optionsNameFQ\": \"personGeschaeftspartnerEinsatzEditPopupOptions\"\r\n },\r\n \"height\": \"auto\",\r\n \"width\": \"500px\",\r\n \"commands\": []\r\n });\r\n this.addEditPopup({\r\n \"idContent\": \"personFuehrerscheinEditPopupContent\",\r\n \"mappings\": [{\r\n \"to\": \"$id\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_PersonFuehrerscheinEdit\",\r\n \"bindTo\": \"Id\",\r\n \"bindToFQ\": \"models.data.$m_PersonFuehrerscheinEdit.Id\"\r\n }\r\n }],\r\n \"id\": \"personFuehrerscheinEditPopup\",\r\n \"options\": {\r\n \"optionsName\": \"personFuehrerscheinEditPopupOptions\",\r\n \"optionsNameFQ\": \"personFuehrerscheinEditPopupOptions\"\r\n },\r\n \"height\": \"auto\",\r\n \"width\": \"500px\",\r\n \"commands\": []\r\n });\r\n this.addEditPopup({\r\n \"idContent\": \"personSkillEditPopupContent\",\r\n \"mappings\": [{\r\n \"to\": \"$id\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_PersonSkillEdit\",\r\n \"bindTo\": \"Id\",\r\n \"bindToFQ\": \"models.data.$m_PersonSkillEdit.Id\"\r\n }\r\n }],\r\n \"id\": \"personSkillEditPopup\",\r\n \"options\": {\r\n \"optionsName\": \"personSkillEditPopupOptions\",\r\n \"optionsNameFQ\": \"personSkillEditPopupOptions\"\r\n },\r\n \"height\": \"auto\",\r\n \"width\": \"500px\",\r\n \"commands\": []\r\n });\r\n this.addEditPopup({\r\n \"idContent\": \"personBerufEditPopupContent\",\r\n \"mappings\": [{\r\n \"to\": \"$id\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_PersonBerufEdit\",\r\n \"bindTo\": \"Id\",\r\n \"bindToFQ\": \"models.data.$m_PersonBerufEdit.Id\"\r\n }\r\n }],\r\n \"id\": \"personBerufEditPopup\",\r\n \"options\": {\r\n \"optionsName\": \"personBerufEditPopupOptions\",\r\n \"optionsNameFQ\": \"personBerufEditPopupOptions\"\r\n },\r\n \"height\": \"auto\",\r\n \"width\": \"500px\",\r\n \"commands\": []\r\n });\r\n this.addEditPopup({\r\n \"idContent\": \"personSpracheEditPopupContent\",\r\n \"mappings\": [{\r\n \"to\": \"$id\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_PersonSpracheEdit\",\r\n \"bindTo\": \"Id\",\r\n \"bindToFQ\": \"models.data.$m_PersonSpracheEdit.Id\"\r\n }\r\n }],\r\n \"id\": \"personSpracheEditPopup\",\r\n \"options\": {\r\n \"optionsName\": \"personSpracheEditPopupOptions\",\r\n \"optionsNameFQ\": \"personSpracheEditPopupOptions\"\r\n },\r\n \"height\": \"auto\",\r\n \"width\": \"500px\",\r\n \"commands\": []\r\n });\r\n this.addEditPopup({\r\n \"idContent\": \"personAusbildungEditPopupContent\",\r\n \"mappings\": [{\r\n \"to\": \"$id\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_PersonAusbildungEdit\",\r\n \"bindTo\": \"Id\",\r\n \"bindToFQ\": \"models.data.$m_PersonAusbildungEdit.Id\"\r\n }\r\n }],\r\n \"id\": \"personAusbildungEditPopup\",\r\n \"options\": {\r\n \"optionsName\": \"personAusbildungEditPopupOptions\",\r\n \"optionsNameFQ\": \"personAusbildungEditPopupOptions\"\r\n },\r\n \"height\": \"auto\",\r\n \"width\": \"500px\",\r\n \"commands\": []\r\n });\r\n this.addEditPopup({\r\n \"idContent\": \"personKontaktEditPopupContent\",\r\n \"mappings\": [{\r\n \"to\": \"$id\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_PersonKontaktEdit\",\r\n \"bindTo\": \"Id\",\r\n \"bindToFQ\": \"models.data.$m_PersonKontaktEdit.Id\"\r\n }\r\n }],\r\n \"id\": \"personKontaktEditPopup\",\r\n \"options\": {\r\n \"optionsName\": \"personKontaktEditPopupOptions\",\r\n \"optionsNameFQ\": \"personKontaktEditPopupOptions\"\r\n },\r\n \"height\": \"350px\",\r\n \"width\": \"500px\",\r\n \"commands\": []\r\n });\r\n this.addFunction(\"$f_PersonenEditUtils\", $f_PersonenEditUtils, \"functions.$f_PersonenEditUtils\");\r\n this.widgetCreator.addValidationGroup(this, {\r\n \"id\": \"wd1\",\r\n \"options\": {\r\n \"optionsName\": \"wd1Options\",\r\n \"optionsNameFQ\": \"wd1Options\"\r\n }\r\n });\r\n this.widgetCreator.addRadioGroup(this, {\r\n \"idSelect\": \"geschlecht\",\r\n \"filters\": [],\r\n \"caption\": \"person-edit.r_geschlecht_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Person\",\r\n \"bindTo\": \"Personendaten.Geschlecht\",\r\n \"bindToFQ\": \"models.data.$m_Person.Personendaten.Geschlecht\",\r\n \"propertyPrefix\": \"Personendaten\"\r\n },\r\n \"validationRules\": [{\r\n \"item\": {\r\n \"type\": \"required\",\r\n \"parameters\": []\r\n }\r\n }],\r\n \"id\": \"r_geschlecht\",\r\n \"options\": {\r\n \"optionsName\": \"r_geschlechtOptions\",\r\n \"optionsNameFQ\": \"r_geschlechtOptions\"\r\n }\r\n });\r\n this.widgetCreator.addTextBox(this, {\r\n \"maxLength\": 50,\r\n \"caption\": \"person-edit.r_titelvorne_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Person\",\r\n \"bindTo\": \"Personendaten.TitelVorne\",\r\n \"bindToFQ\": \"models.data.$m_Person.Personendaten.TitelVorne\",\r\n \"propertyPrefix\": \"Personendaten\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_titelVorne\",\r\n \"options\": {\r\n \"optionsName\": \"r_titelVorneOptions\",\r\n \"optionsNameFQ\": \"r_titelVorneOptions\"\r\n }\r\n });\r\n this.widgetCreator.addTextBox(this, {\r\n \"maxLength\": 50,\r\n \"caption\": \"person-edit.r_titelhinten_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Person\",\r\n \"bindTo\": \"Personendaten.TitelHinten\",\r\n \"bindToFQ\": \"models.data.$m_Person.Personendaten.TitelHinten\",\r\n \"propertyPrefix\": \"Personendaten\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_titelHinten\",\r\n \"options\": {\r\n \"optionsName\": \"r_titelHintenOptions\",\r\n \"optionsNameFQ\": \"r_titelHintenOptions\"\r\n }\r\n });\r\n this.widgetCreator.addTextBox(this, {\r\n \"maxLength\": 100,\r\n \"caption\": \"person-edit.r_vorname_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Person\",\r\n \"bindTo\": \"Personendaten.Vorname\",\r\n \"bindToFQ\": \"models.data.$m_Person.Personendaten.Vorname\",\r\n \"propertyPrefix\": \"Personendaten\"\r\n },\r\n \"validationRules\": [{\r\n \"item\": {\r\n \"type\": \"required\",\r\n \"parameters\": []\r\n }\r\n }],\r\n \"id\": \"r_vorname\",\r\n \"options\": {\r\n \"optionsName\": \"r_vornameOptions\",\r\n \"optionsNameFQ\": \"r_vornameOptions\"\r\n }\r\n });\r\n this.widgetCreator.addTextBox(this, {\r\n \"maxLength\": 100,\r\n \"caption\": \"person-edit.r_nachname_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Person\",\r\n \"bindTo\": \"Personendaten.Nachname\",\r\n \"bindToFQ\": \"models.data.$m_Person.Personendaten.Nachname\",\r\n \"propertyPrefix\": \"Personendaten\"\r\n },\r\n \"validationRules\": [{\r\n \"item\": {\r\n \"type\": \"required\",\r\n \"parameters\": []\r\n }\r\n }],\r\n \"id\": \"r_nachname\",\r\n \"options\": {\r\n \"optionsName\": \"r_nachnameOptions\",\r\n \"optionsNameFQ\": \"r_nachnameOptions\"\r\n }\r\n });\r\n this.widgetCreator.addDateBox(this, {\r\n \"format\": \"d\",\r\n \"caption\": \"person-edit.r_geburtsdatum_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Person\",\r\n \"bindTo\": \"Personendaten.Geburtsdatum\",\r\n \"bindToFQ\": \"models.data.$m_Person.Personendaten.Geburtsdatum\",\r\n \"propertyPrefix\": \"Personendaten\"\r\n },\r\n \"validationRules\": [{\r\n \"item\": {\r\n \"type\": \"required\",\r\n \"parameters\": []\r\n }\r\n }],\r\n \"id\": \"r_geburtsdatum\",\r\n \"options\": {\r\n \"optionsName\": \"r_geburtsdatumOptions\",\r\n \"optionsNameFQ\": \"r_geburtsdatumOptions\"\r\n }\r\n });\r\n this.widgetCreator.addSelectBox(this, {\r\n \"idSelect\": \"staat\",\r\n \"filters\": [],\r\n \"caption\": \"person-edit.r_idnationalitaet_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Person\",\r\n \"bindTo\": \"Personendaten.IdNationalitaet\",\r\n \"bindToFQ\": \"models.data.$m_Person.Personendaten.IdNationalitaet\",\r\n \"propertyPrefix\": \"Personendaten\"\r\n },\r\n \"validationRules\": [{\r\n \"item\": {\r\n \"type\": \"required\",\r\n \"parameters\": []\r\n }\r\n }],\r\n \"id\": \"r_idNationalitaet\",\r\n \"options\": {\r\n \"optionsName\": \"r_idNationalitaetOptions\",\r\n \"optionsNameFQ\": \"r_idNationalitaetOptions\"\r\n }\r\n });\r\n this.widgetCreator.addSelectBox(this, {\r\n \"idSelect\": \"familienstand\",\r\n \"filters\": [],\r\n \"caption\": \"person-edit.r_familienstand_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Person\",\r\n \"bindTo\": \"Personendaten.IdFamilienstand\",\r\n \"bindToFQ\": \"models.data.$m_Person.Personendaten.IdFamilienstand\",\r\n \"propertyPrefix\": \"Personendaten\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_familienstand\",\r\n \"options\": {\r\n \"optionsName\": \"r_familienstandOptions\",\r\n \"optionsNameFQ\": \"r_familienstandOptions\"\r\n }\r\n });\r\n this.widgetCreator.addTextBox(this, {\r\n \"maxLength\": 4,\r\n \"caption\": \"person-edit.r_svnr_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Person\",\r\n \"bindTo\": \"Personendaten.SVNr\",\r\n \"bindToFQ\": \"models.data.$m_Person.Personendaten.SVNr\",\r\n \"propertyPrefix\": \"Personendaten\"\r\n },\r\n \"validationRules\": [{\r\n \"item\": {\r\n \"type\": \"svnr\",\r\n \"parameters\": []\r\n }\r\n }],\r\n \"id\": \"r_svNr\",\r\n \"options\": {\r\n \"optionsName\": \"r_svNrOptions\",\r\n \"optionsNameFQ\": \"r_svNrOptions\"\r\n }\r\n });\r\n this.widgetCreator.addTextBox(this, {\r\n \"maxLength\": 20,\r\n \"caption\": \"person-edit.r_ahvnrliechtenstein_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Person\",\r\n \"bindTo\": \"Personendaten.AHVNrLiechtenstein\",\r\n \"bindToFQ\": \"models.data.$m_Person.Personendaten.AHVNrLiechtenstein\",\r\n \"propertyPrefix\": \"Personendaten\"\r\n },\r\n \"validationRules\": [{\r\n \"item\": {\r\n \"type\": \"ahvnr\",\r\n \"parameters\": []\r\n }\r\n }],\r\n \"id\": \"r_ahvNrLiechtenstein\",\r\n \"options\": {\r\n \"optionsName\": \"r_ahvNrLiechtensteinOptions\",\r\n \"optionsNameFQ\": \"r_ahvNrLiechtensteinOptions\"\r\n }\r\n });\r\n this.widgetCreator.addTextBox(this, {\r\n \"maxLength\": 20,\r\n \"caption\": \"person-edit.r_ahvnrschweiz_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Person\",\r\n \"bindTo\": \"Personendaten.AHVNrSchweiz\",\r\n \"bindToFQ\": \"models.data.$m_Person.Personendaten.AHVNrSchweiz\",\r\n \"propertyPrefix\": \"Personendaten\"\r\n },\r\n \"validationRules\": [{\r\n \"item\": {\r\n \"type\": \"ahvnr\",\r\n \"parameters\": []\r\n }\r\n }],\r\n \"id\": \"r_ahvNrSchweiz\",\r\n \"options\": {\r\n \"optionsName\": \"r_ahvNrSchweizOptions\",\r\n \"optionsNameFQ\": \"r_ahvNrSchweizOptions\"\r\n }\r\n });\r\n this.widgetCreator.addSelectBox(this, {\r\n \"idSelect\": \"groesseSchuh\",\r\n \"filters\": [],\r\n \"caption\": \"person-edit.r_schuhgroesse_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Person\",\r\n \"bindTo\": \"Personendaten.IdSchuhgroesse\",\r\n \"bindToFQ\": \"models.data.$m_Person.Personendaten.IdSchuhgroesse\",\r\n \"propertyPrefix\": \"Personendaten\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_schuhgroesse\",\r\n \"options\": {\r\n \"optionsName\": \"r_schuhgroesseOptions\",\r\n \"optionsNameFQ\": \"r_schuhgroesseOptions\"\r\n }\r\n });\r\n this.widgetCreator.addSelectBox(this, {\r\n \"idSelect\": \"groesseKleider\",\r\n \"filters\": [],\r\n \"caption\": \"person-edit.r_kleidergroesse_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Person\",\r\n \"bindTo\": \"Personendaten.IdKleidergroesse\",\r\n \"bindToFQ\": \"models.data.$m_Person.Personendaten.IdKleidergroesse\",\r\n \"propertyPrefix\": \"Personendaten\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_kleidergroesse\",\r\n \"options\": {\r\n \"optionsName\": \"r_kleidergroesseOptions\",\r\n \"optionsNameFQ\": \"r_kleidergroesseOptions\"\r\n }\r\n });\r\n this.widgetCreator.addCheckBox(this, {\r\n \"caption\": \"person-edit.r_staplerfuehrerschein_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Person\",\r\n \"bindTo\": \"Personendaten.HasStaplerfuehrerschein\",\r\n \"bindToFQ\": \"models.data.$m_Person.Personendaten.HasStaplerfuehrerschein\",\r\n \"propertyPrefix\": \"Personendaten\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_staplerfuehrerschein\",\r\n \"options\": {\r\n \"optionsName\": \"r_staplerfuehrerscheinOptions\",\r\n \"optionsNameFQ\": \"r_staplerfuehrerscheinOptions\"\r\n }\r\n });\r\n this.widgetCreator.addFileUploaderWithViewer(this, {\r\n \"acceptTypeEnum\": 0,\r\n \"acceptType\": \"image/*\",\r\n \"height\": \"250px\",\r\n \"showToolbar\": true,\r\n \"showClearButton\": false,\r\n \"caption\": \"person-edit.r_dmslinkfoto_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Person\",\r\n \"bindTo\": \"Personendaten.DMSLinkFoto\",\r\n \"bindToFQ\": \"models.data.$m_Person.Personendaten.DMSLinkFoto\",\r\n \"propertyPrefix\": \"Personendaten\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_dmsLinkFoto\",\r\n \"options\": {\r\n \"optionsName\": \"r_dmsLinkFotoOptions\",\r\n \"optionsNameFQ\": \"r_dmsLinkFotoOptions\"\r\n }\r\n });\r\n this.widgetCreator.addTextArea(this, {\r\n \"height\": \"100px\",\r\n \"caption\": \"person-edit.r_bemerkung_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Person\",\r\n \"bindTo\": \"Personendaten.Bemerkung\",\r\n \"bindToFQ\": \"models.data.$m_Person.Personendaten.Bemerkung\",\r\n \"propertyPrefix\": \"Personendaten\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_bemerkung\",\r\n \"options\": {\r\n \"optionsName\": \"r_bemerkungOptions\",\r\n \"optionsNameFQ\": \"r_bemerkungOptions\"\r\n }\r\n });\r\n this.widgetCreator.addTextBox(this, {\r\n \"maxLength\": 100,\r\n \"caption\": \"person-edit.r_email_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Person\",\r\n \"bindTo\": \"Personendaten.Email\",\r\n \"bindToFQ\": \"models.data.$m_Person.Personendaten.Email\",\r\n \"propertyPrefix\": \"Personendaten\"\r\n },\r\n \"validationRules\": [{\r\n \"item\": {\r\n \"type\": \"conditionalRequired\",\r\n \"parameters\": [{\r\n \"name\": \"condition\",\r\n \"value\": \"models.data.$m_Person.Personendaten && (!models.data.$m_Person.Personendaten.Mobil || !models.data.$m_Person.Personendaten.MobilLandvorwahl)\"\r\n }]\r\n }\r\n }],\r\n \"id\": \"r_email\",\r\n \"options\": {\r\n \"optionsName\": \"r_emailOptions\",\r\n \"optionsNameFQ\": \"r_emailOptions\"\r\n }\r\n });\r\n this.widgetCreator.addSelectBox(this, {\r\n \"idSelect\": \"landvorwahl\",\r\n \"filters\": [],\r\n \"caption\": \"person-edit.r_mobillandvorwahl_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Person\",\r\n \"bindTo\": \"Personendaten.MobilLandvorwahl\",\r\n \"bindToFQ\": \"models.data.$m_Person.Personendaten.MobilLandvorwahl\",\r\n \"propertyPrefix\": \"Personendaten\"\r\n },\r\n \"validationRules\": [{\r\n \"item\": {\r\n \"type\": \"conditionalRequired\",\r\n \"parameters\": [{\r\n \"name\": \"condition\",\r\n \"value\": \"models.data.$m_Person.Personendaten && models.data.$m_Person.Personendaten.Mobil\"\r\n }]\r\n }\r\n }, {\r\n \"item\": {\r\n \"type\": \"conditionalRequired\",\r\n \"parameters\": [{\r\n \"name\": \"condition\",\r\n \"value\": \"models.data.$m_Person.Personendaten && !models.data.$m_Person.Personendaten.Email\"\r\n }]\r\n }\r\n }],\r\n \"id\": \"r_mobilLandvorwahl\",\r\n \"options\": {\r\n \"optionsName\": \"r_mobilLandvorwahlOptions\",\r\n \"optionsNameFQ\": \"r_mobilLandvorwahlOptions\"\r\n }\r\n });\r\n this.widgetCreator.addTextBox(this, {\r\n \"maxLength\": 100,\r\n \"caption\": \"person-edit.r_mobil_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Person\",\r\n \"bindTo\": \"Personendaten.Mobil\",\r\n \"bindToFQ\": \"models.data.$m_Person.Personendaten.Mobil\",\r\n \"propertyPrefix\": \"Personendaten\"\r\n },\r\n \"validationRules\": [{\r\n \"item\": {\r\n \"type\": \"telefon\",\r\n \"parameters\": []\r\n }\r\n }, {\r\n \"item\": {\r\n \"type\": \"conditionalRequired\",\r\n \"parameters\": [{\r\n \"name\": \"condition\",\r\n \"value\": \"models.data.$m_Person.Personendaten && !models.data.$m_Person.Personendaten.Email\"\r\n }]\r\n }\r\n }],\r\n \"id\": \"r_mobil\",\r\n \"options\": {\r\n \"optionsName\": \"r_mobilOptions\",\r\n \"optionsNameFQ\": \"r_mobilOptions\"\r\n }\r\n });\r\n this.widgetCreator.addListView(this, {\r\n \"itemClass\": \"z--list-view-inline-item\",\r\n \"useDefaultListItemStyle\": false,\r\n \"optionsToolbar\": {\r\n \"optionsName\": \"r_personAdresseListViewToolbarOptions\",\r\n \"optionsNameFQ\": \"r_personAdresseListViewToolbarOptions\"\r\n },\r\n \"binding\": {\r\n \"dataContext\": \"$m_Person\"\r\n },\r\n \"isRelation\": true,\r\n \"relationBinding\": {\r\n \"dataContext\": \"$m_PersonAdresseRel\",\r\n \"bindTo\": \"IdPerson\",\r\n \"bindToFQ\": \"models.data.$m_PersonAdresseRel.IdPerson\"\r\n },\r\n \"dataModel\": \"$m_Person\",\r\n \"editDataContext\": \"$m_PersonAdresseEdit\",\r\n \"idEditPopup\": \"personAdresseEditPopup\",\r\n \"listEdits\": [],\r\n \"filters\": [],\r\n \"commands\": [],\r\n \"id\": \"r_personAdresseListView\",\r\n \"options\": {\r\n \"optionsName\": \"r_personAdresseListViewOptions\",\r\n \"optionsNameFQ\": \"r_personAdresseListViewOptions\"\r\n }\r\n });\r\n this.widgetCreator.addListView(this, {\r\n \"itemClass\": \"z--list-view-inline-item\",\r\n \"useDefaultListItemStyle\": false,\r\n \"optionsToolbar\": {\r\n \"optionsName\": \"r_personAusbildungListViewToolbarOptions\",\r\n \"optionsNameFQ\": \"r_personAusbildungListViewToolbarOptions\"\r\n },\r\n \"binding\": {\r\n \"dataContext\": \"$m_AusbildungElement\"\r\n },\r\n \"isRelation\": true,\r\n \"relationBinding\": {\r\n \"dataContext\": \"$m_PersonAusbildungRel\",\r\n \"bindTo\": \"IdPersonAusbildungElement\",\r\n \"bindToFQ\": \"models.data.$m_PersonAusbildungRel.IdPersonAusbildungElement\"\r\n },\r\n \"dataModel\": \"$m_AusbildungElement\",\r\n \"editDataContext\": \"$m_PersonAusbildungEdit\",\r\n \"idEditPopup\": \"personAusbildungEditPopup\",\r\n \"listEdits\": [],\r\n \"filters\": [],\r\n \"commands\": [],\r\n \"id\": \"r_personAusbildungListView\",\r\n \"options\": {\r\n \"optionsName\": \"r_personAusbildungListViewOptions\",\r\n \"optionsNameFQ\": \"r_personAusbildungListViewOptions\"\r\n }\r\n });\r\n this.widgetCreator.addListView(this, {\r\n \"itemClass\": \"z--list-view-inline-item\",\r\n \"useDefaultListItemStyle\": false,\r\n \"optionsToolbar\": {\r\n \"optionsName\": \"r_personBankverbindungListViewToolbarOptions\",\r\n \"optionsNameFQ\": \"r_personBankverbindungListViewToolbarOptions\"\r\n },\r\n \"binding\": {\r\n \"dataContext\": \"$m_BankverbindungElement\"\r\n },\r\n \"isRelation\": true,\r\n \"relationBinding\": {\r\n \"dataContext\": \"$m_PersonBankverbindungRel\",\r\n \"bindTo\": \"IdPersonBankverbindungElement\",\r\n \"bindToFQ\": \"models.data.$m_PersonBankverbindungRel.IdPersonBankverbindungElement\"\r\n },\r\n \"dataModel\": \"$m_BankverbindungElement\",\r\n \"editDataContext\": \"$m_PersonBankverbindungEdit\",\r\n \"idEditPopup\": \"personBankverbindungEditPopup\",\r\n \"listEdits\": [],\r\n \"filters\": [],\r\n \"commands\": [],\r\n \"id\": \"r_personBankverbindungListView\",\r\n \"options\": {\r\n \"optionsName\": \"r_personBankverbindungListViewOptions\",\r\n \"optionsNameFQ\": \"r_personBankverbindungListViewOptions\"\r\n }\r\n });\r\n this.widgetCreator.addListView(this, {\r\n \"itemClass\": \"z--list-view-inline-item\",\r\n \"useDefaultListItemStyle\": false,\r\n \"optionsToolbar\": {\r\n \"optionsName\": \"r_personBerufserfahrungListViewToolbarOptions\",\r\n \"optionsNameFQ\": \"r_personBerufserfahrungListViewToolbarOptions\"\r\n },\r\n \"binding\": {\r\n \"dataContext\": \"$m_BerufserfahrungElement\"\r\n },\r\n \"isRelation\": true,\r\n \"relationBinding\": {\r\n \"dataContext\": \"$m_PersonBerufserfahrungRel\",\r\n \"bindTo\": \"IdPersonBerufserfahrungElement\",\r\n \"bindToFQ\": \"models.data.$m_PersonBerufserfahrungRel.IdPersonBerufserfahrungElement\"\r\n },\r\n \"dataModel\": \"$m_BerufserfahrungElement\",\r\n \"editDataContext\": \"$m_PersonBerufserfahrungEdit\",\r\n \"idEditPopup\": \"personBerufserfahrungEditPopup\",\r\n \"listEdits\": [],\r\n \"filters\": [],\r\n \"commands\": [],\r\n \"id\": \"r_personBerufserfahrungListView\",\r\n \"options\": {\r\n \"optionsName\": \"r_personBerufserfahrungListViewOptions\",\r\n \"optionsNameFQ\": \"r_personBerufserfahrungListViewOptions\"\r\n }\r\n });\r\n this.widgetCreator.addListView(this, {\r\n \"itemClass\": \"z--list-view-inline-item\",\r\n \"useDefaultListItemStyle\": false,\r\n \"optionsToolbar\": {\r\n \"optionsName\": \"r_personBerufListViewToolbarOptions\",\r\n \"optionsNameFQ\": \"r_personBerufListViewToolbarOptions\"\r\n },\r\n \"binding\": {\r\n \"dataContext\": \"$m_BerufElement\"\r\n },\r\n \"isRelation\": true,\r\n \"relationBinding\": {\r\n \"dataContext\": \"$m_PersonBerufRel\",\r\n \"bindTo\": \"IdPersonBerufElement\",\r\n \"bindToFQ\": \"models.data.$m_PersonBerufRel.IdPersonBerufElement\"\r\n },\r\n \"dataModel\": \"$m_BerufElement\",\r\n \"editDataContext\": \"$m_PersonBerufEdit\",\r\n \"idEditPopup\": \"personBerufEditPopup\",\r\n \"listEdits\": [],\r\n \"filters\": [],\r\n \"commands\": [],\r\n \"id\": \"r_personBerufListView\",\r\n \"options\": {\r\n \"optionsName\": \"r_personBerufListViewOptions\",\r\n \"optionsNameFQ\": \"r_personBerufListViewOptions\"\r\n }\r\n });\r\n this.widgetCreator.addListView(this, {\r\n \"itemClass\": \"z--list-view-inline-item\",\r\n \"useDefaultListItemStyle\": false,\r\n \"optionsToolbar\": {\r\n \"optionsName\": \"r_personFuehrerscheinListViewToolbarOptions\",\r\n \"optionsNameFQ\": \"r_personFuehrerscheinListViewToolbarOptions\"\r\n },\r\n \"binding\": {\r\n \"dataContext\": \"$m_FuehrerscheinElement\"\r\n },\r\n \"isRelation\": true,\r\n \"relationBinding\": {\r\n \"dataContext\": \"$m_PersonFuehrerscheinRel\",\r\n \"bindTo\": \"IdPersonFuehrerscheinElement\",\r\n \"bindToFQ\": \"models.data.$m_PersonFuehrerscheinRel.IdPersonFuehrerscheinElement\"\r\n },\r\n \"dataModel\": \"$m_FuehrerscheinElement\",\r\n \"editDataContext\": \"$m_PersonFuehrerscheinEdit\",\r\n \"idEditPopup\": \"personFuehrerscheinEditPopup\",\r\n \"listEdits\": [],\r\n \"filters\": [],\r\n \"commands\": [],\r\n \"id\": \"r_personFuehrerscheinListView\",\r\n \"options\": {\r\n \"optionsName\": \"r_personFuehrerscheinListViewOptions\",\r\n \"optionsNameFQ\": \"r_personFuehrerscheinListViewOptions\"\r\n }\r\n });\r\n this.widgetCreator.addListView(this, {\r\n \"itemClass\": \"z--list-view-inline-item\",\r\n \"useDefaultListItemStyle\": false,\r\n \"optionsToolbar\": {\r\n \"optionsName\": \"r_personKontaktdatenListViewToolbarOptions\",\r\n \"optionsNameFQ\": \"r_personKontaktdatenListViewToolbarOptions\"\r\n },\r\n \"binding\": {\r\n \"dataContext\": \"$m_Person\"\r\n },\r\n \"isRelation\": true,\r\n \"relationBinding\": {\r\n \"dataContext\": \"$m_PersonKontaktRel\",\r\n \"bindTo\": \"IdPerson\",\r\n \"bindToFQ\": \"models.data.$m_PersonKontaktRel.IdPerson\"\r\n },\r\n \"dataModel\": \"$m_Person\",\r\n \"editDataContext\": \"$m_PersonKontaktEdit\",\r\n \"idEditPopup\": \"personKontaktEditPopup\",\r\n \"listEdits\": [],\r\n \"filters\": [],\r\n \"commands\": [],\r\n \"id\": \"r_personKontaktdatenListView\",\r\n \"options\": {\r\n \"optionsName\": \"r_personKontaktdatenListViewOptions\",\r\n \"optionsNameFQ\": \"r_personKontaktdatenListViewOptions\"\r\n }\r\n });\r\n this.widgetCreator.addListView(this, {\r\n \"itemClass\": \"z--list-view-inline-item\",\r\n \"useDefaultListItemStyle\": false,\r\n \"optionsToolbar\": {\r\n \"optionsName\": \"r_personSpracheListViewToolbarOptions\",\r\n \"optionsNameFQ\": \"r_personSpracheListViewToolbarOptions\"\r\n },\r\n \"binding\": {\r\n \"dataContext\": \"$m_SpracheElement\"\r\n },\r\n \"isRelation\": true,\r\n \"relationBinding\": {\r\n \"dataContext\": \"$m_PersonSpracheRel\",\r\n \"bindTo\": \"IdPersonSpracheElement\",\r\n \"bindToFQ\": \"models.data.$m_PersonSpracheRel.IdPersonSpracheElement\"\r\n },\r\n \"dataModel\": \"$m_SpracheElement\",\r\n \"editDataContext\": \"$m_PersonSpracheEdit\",\r\n \"idEditPopup\": \"personSpracheEditPopup\",\r\n \"listEdits\": [],\r\n \"filters\": [],\r\n \"commands\": [],\r\n \"id\": \"r_personSpracheListView\",\r\n \"options\": {\r\n \"optionsName\": \"r_personSpracheListViewOptions\",\r\n \"optionsNameFQ\": \"r_personSpracheListViewOptions\"\r\n }\r\n });\r\n this.widgetCreator.addListView(this, {\r\n \"itemClass\": \"z--list-view-inline-item\",\r\n \"useDefaultListItemStyle\": false,\r\n \"optionsToolbar\": {\r\n \"optionsName\": \"r_personSkillListViewToolbarOptions\",\r\n \"optionsNameFQ\": \"r_personSkillListViewToolbarOptions\"\r\n },\r\n \"binding\": {\r\n \"dataContext\": \"$m_Person\"\r\n },\r\n \"isRelation\": true,\r\n \"relationBinding\": {\r\n \"dataContext\": \"$m_PersonSkillRel\",\r\n \"bindTo\": \"IdPerson\",\r\n \"bindToFQ\": \"models.data.$m_PersonSkillRel.IdPerson\"\r\n },\r\n \"dataModel\": \"$m_Person\",\r\n \"editDataContext\": \"$m_PersonSkillEdit\",\r\n \"idEditPopup\": \"personSkillEditPopup\",\r\n \"listEdits\": [],\r\n \"filters\": [],\r\n \"commands\": [],\r\n \"id\": \"r_personSkillListView\",\r\n \"options\": {\r\n \"optionsName\": \"r_personSkillListViewOptions\",\r\n \"optionsNameFQ\": \"r_personSkillListViewOptions\"\r\n }\r\n });\r\n this.widgetCreator.addListView(this, {\r\n \"itemClass\": \"z--list-view-inline-item\",\r\n \"useDefaultListItemStyle\": false,\r\n \"optionsToolbar\": {\r\n \"optionsName\": \"r_personGeschaeftspartnerEinsatzListViewToolbarOptions\",\r\n \"optionsNameFQ\": \"r_personGeschaeftspartnerEinsatzListViewToolbarOptions\"\r\n },\r\n \"binding\": {\r\n \"dataContext\": \"$m_Person\"\r\n },\r\n \"isRelation\": true,\r\n \"relationBinding\": {\r\n \"dataContext\": \"$m_PersonGeschaeftspartnerEinsatzRel\",\r\n \"bindTo\": \"IdPerson\",\r\n \"bindToFQ\": \"models.data.$m_PersonGeschaeftspartnerEinsatzRel.IdPerson\"\r\n },\r\n \"dataModel\": \"$m_Person\",\r\n \"editDataContext\": \"$m_PersonGeschaeftspartnerEinsatzEdit\",\r\n \"idEditPopup\": \"personGeschaeftspartnerEinsatzEditPopup\",\r\n \"listEdits\": [],\r\n \"filters\": [],\r\n \"commands\": [],\r\n \"id\": \"r_personGeschaeftspartnerEinsatzListView\",\r\n \"options\": {\r\n \"optionsName\": \"r_personGeschaeftspartnerEinsatzListViewOptions\",\r\n \"optionsNameFQ\": \"r_personGeschaeftspartnerEinsatzListViewOptions\"\r\n }\r\n });\r\n this.widgetCreator.addListView(this, {\r\n \"itemClass\": \"col-xs-12 col-sm-6\",\r\n \"useDefaultListItemStyle\": false,\r\n \"createToolbar\": true,\r\n \"optionsToolbar\": {\r\n \"optionsName\": \"r_personBewerbungListViewToolbarOptions\",\r\n \"optionsNameFQ\": \"r_personBewerbungListViewToolbarOptions\"\r\n },\r\n \"caption\": \"person-edit.r_personbewerbunglistview_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Bewerbung\"\r\n },\r\n \"dataModel\": \"$m_Bewerbung\",\r\n \"pageSize\": 2,\r\n \"listEdits\": [],\r\n \"filters\": [],\r\n \"commands\": [],\r\n \"id\": \"r_personBewerbungListView\",\r\n \"options\": {\r\n \"optionsName\": \"r_personBewerbungListViewOptions\",\r\n \"optionsNameFQ\": \"r_personBewerbungListViewOptions\"\r\n }\r\n });\r\n super.onConstructionFinished();\r\n }\r\n}","module.exports = \"\";","import * as fwx from \"../../../../framework/forms/form-export\";\r\nimport {\r\n PersonReadUtils\r\n} from \"./person-read-utils\";\r\n\r\n@fwx.autoinject\r\nexport class PersonFerialReadForm extends fwx.FormBase {\r\n constructor(\r\n element: Element,\r\n formBaseImport: fwx.FormBaseImport,\r\n private $f_PersonReadUtils: PersonReadUtils) {\r\n super(element, formBaseImport);\r\n this.id = \"person-ferial-read\";\r\n this.title = \"person-ferial-read.person-ferial-read_caption\";\r\n this.addModel({\r\n \"id\": \"$m_Person\",\r\n \"webApiAction\": \"ZIT/Objekte/Person\",\r\n \"webApiExpand\": {\r\n 'Personendaten': {\r\n 'expand': {\r\n 'Nationalitaet': null\r\n }\r\n },\r\n 'Adressen': {\r\n 'expand': {\r\n 'Land': null\r\n },\r\n 'where': [\r\n [\r\n [\r\n 'GueltigVon',\r\n '<=',\r\n '@Today()'\r\n ],\r\n 'or',\r\n [\r\n 'GueltigVon',\r\n '=',\r\n 'null'\r\n ]\r\n ],\r\n [\r\n [\r\n 'GueltigBis',\r\n '>=',\r\n '@Today()'\r\n ],\r\n 'or',\r\n [\r\n 'GueltigBis',\r\n '=',\r\n 'null'\r\n ]\r\n ]\r\n ]\r\n },\r\n 'Kontakte': {\r\n 'expand': {\r\n 'Kontakttyp': null\r\n }\r\n },\r\n 'Sprache': {\r\n 'expand': {\r\n 'Sprachen': {\r\n 'expand': {\r\n 'Sprachniveau': null,\r\n 'Sprache': null\r\n }\r\n }\r\n }\r\n },\r\n 'Berufserfahrungen': {\r\n 'expand': {\r\n 'Berufserfahrungen': null\r\n }\r\n },\r\n 'Ausbildung': {\r\n 'expand': {\r\n 'Ausbildungen': {\r\n 'expand': {\r\n 'Ausbildung': null,\r\n 'AusbildungAbschluss': null\r\n }\r\n }\r\n }\r\n }\r\n },\r\n \"modificationInfoEnabled\": true,\r\n \"key\": \"variables.data.$id\",\r\n \"keyProperty\": \"Id\",\r\n \"filters\": []\r\n });\r\n this.addModel({\r\n \"id\": \"$m_Bewerbung\",\r\n \"webApiAction\": \"ZIT/Objekte/Bewerbung\",\r\n \"webApiColumns\": [\"Id\"],\r\n \"webApiWhere\": [\r\n [\"Kopf.IdPerson\", {\r\n \"isBound\": true,\r\n \"expression\": \"models.data.$m_Person.Id\"\r\n }]\r\n ],\r\n \"modificationInfoEnabled\": true,\r\n \"keyProperty\": \"Id\",\r\n \"filters\": [{\r\n \"webApiCustomKey\": \"AddBewerbungCard\",\r\n \"webApiCustomValue\": \"true\"\r\n }]\r\n });\r\n this.addCommand({\r\n \"binding\": {\r\n \"bindTo\": \"$f_PersonReadUtils.actionCommand\",\r\n \"bindToFQ\": \"functions.$f_PersonReadUtils.actionCommand\"\r\n }\r\n });\r\n this.addFunction(\"$f_PersonReadUtils\", $f_PersonReadUtils, \"functions.$f_PersonReadUtils\");\r\n this.widgetCreator.addValidationGroup(this, {\r\n \"id\": \"wd1\",\r\n \"options\": {\r\n \"optionsName\": \"wd1Options\",\r\n \"optionsNameFQ\": \"wd1Options\"\r\n }\r\n });\r\n this.widgetCreator.addListView(this, {\r\n \"itemClass\": \"z--list-view-inline-item\",\r\n \"useDefaultListItemStyle\": false,\r\n \"optionsToolbar\": {\r\n \"optionsName\": \"r_personSpracheListViewToolbarOptions\",\r\n \"optionsNameFQ\": \"r_personSpracheListViewToolbarOptions\"\r\n },\r\n \"binding\": {\r\n \"bindTo\": \"$m_Person.Sprache.Sprachen\",\r\n \"bindToFQ\": \"models.data.$m_Person.Sprache.Sprachen\"\r\n },\r\n \"listEdits\": [],\r\n \"filters\": [],\r\n \"commands\": [],\r\n \"id\": \"r_personSpracheListView\",\r\n \"options\": {\r\n \"optionsName\": \"r_personSpracheListViewOptions\",\r\n \"optionsNameFQ\": \"r_personSpracheListViewOptions\"\r\n }\r\n });\r\n this.widgetCreator.addListView(this, {\r\n \"itemClass\": \"z--list-view-inline-item\",\r\n \"useDefaultListItemStyle\": false,\r\n \"optionsToolbar\": {\r\n \"optionsName\": \"r_personAusbildungenListViewToolbarOptions\",\r\n \"optionsNameFQ\": \"r_personAusbildungenListViewToolbarOptions\"\r\n },\r\n \"binding\": {\r\n \"bindTo\": \"$m_Person.Ausbildung.Ausbildungen\",\r\n \"bindToFQ\": \"models.data.$m_Person.Ausbildung.Ausbildungen\"\r\n },\r\n \"listEdits\": [],\r\n \"filters\": [],\r\n \"commands\": [],\r\n \"id\": \"r_personAusbildungenListView\",\r\n \"options\": {\r\n \"optionsName\": \"r_personAusbildungenListViewOptions\",\r\n \"optionsNameFQ\": \"r_personAusbildungenListViewOptions\"\r\n }\r\n });\r\n this.widgetCreator.addListView(this, {\r\n \"itemClass\": \"z--list-view-inline-item\",\r\n \"useDefaultListItemStyle\": false,\r\n \"optionsToolbar\": {\r\n \"optionsName\": \"r_personBerufListViewToolbarOptions\",\r\n \"optionsNameFQ\": \"r_personBerufListViewToolbarOptions\"\r\n },\r\n \"binding\": {\r\n \"bindTo\": \"$m_Person.Berufserfahrungen.Berufserfahrungen\",\r\n \"bindToFQ\": \"models.data.$m_Person.Berufserfahrungen.Berufserfahrungen\"\r\n },\r\n \"listEdits\": [],\r\n \"filters\": [],\r\n \"commands\": [],\r\n \"id\": \"r_personBerufListView\",\r\n \"options\": {\r\n \"optionsName\": \"r_personBerufListViewOptions\",\r\n \"optionsNameFQ\": \"r_personBerufListViewOptions\"\r\n }\r\n });\r\n this.widgetCreator.addListView(this, {\r\n \"itemClass\": \"col-xs-12 col-sm-6\",\r\n \"useDefaultListItemStyle\": false,\r\n \"optionsToolbar\": {\r\n \"optionsName\": \"r_personBewerbungListViewToolbarOptions\",\r\n \"optionsNameFQ\": \"r_personBewerbungListViewToolbarOptions\"\r\n },\r\n \"binding\": {\r\n \"dataContext\": \"$m_Bewerbung\"\r\n },\r\n \"dataModel\": \"$m_Bewerbung\",\r\n \"pageSize\": 8,\r\n \"listEdits\": [],\r\n \"filters\": [],\r\n \"commands\": [],\r\n \"id\": \"r_personBewerbungListView\",\r\n \"options\": {\r\n \"optionsName\": \"r_personBewerbungListViewOptions\",\r\n \"optionsNameFQ\": \"r_personBewerbungListViewOptions\"\r\n }\r\n });\r\n super.onConstructionFinished();\r\n }\r\n}","module.exports = \"\";","import * as fwx from \"../../../../framework/forms/form-export\";\r\nimport {\r\n PersonenEditUtils\r\n} from \"./person-edit-utils\";\r\nimport {\r\n PersonenAdresseUtils\r\n} from \"./person-adresse-utils\";\r\n\r\n@fwx.autoinject\r\nexport class PersonFerialerErsteinstiegEditForm extends fwx.FormBase {\r\n constructor(\r\n element: Element,\r\n formBaseImport: fwx.FormBaseImport,\r\n private $f_PersonenEditUtils: PersonenEditUtils,\r\n private $f_PersonenAdresseUtils: PersonenAdresseUtils) {\r\n super(element, formBaseImport);\r\n this.id = \"person-ferialer-ersteinstieg-edit\";\r\n this.title = \"person-ferialer-ersteinstieg-edit.person-ferialer-ersteinstieg-edit_caption\";\r\n this.addModel({\r\n \"id\": \"$m_Person\",\r\n \"webApiAction\": \"ZIT/Objekte/Person\",\r\n \"webApiExpand\": {\r\n 'Personendaten': null,\r\n 'Adressen': null,\r\n 'Kontakte': {\r\n 'expand': {\r\n 'Kontakttyp': null\r\n }\r\n }\r\n },\r\n \"modificationInfoEnabled\": true,\r\n \"key\": \"variables.data.$id\",\r\n \"keyProperty\": \"Id\",\r\n \"postOnSave\": true,\r\n \"allowNew\": \"false\",\r\n \"allowDelete\": \"false\",\r\n \"filters\": [{\r\n \"webApiCustomKey\": \"FragebogenInfo\",\r\n \"webApiCustomValue\": \"true\"\r\n }]\r\n });\r\n this.addModel({\r\n \"id\": \"$m_Bewerbung\",\r\n \"webApiAction\": \"ZIT/Objekte/Bewerbung\",\r\n \"webApiWhere\": [\"Kopf.IdPerson\", {\r\n \"isBound\": true,\r\n \"expression\": \"models.data.$m_Person.Id\"\r\n }],\r\n \"webApiOrderBy\": [{\r\n columnName: 'Anlagedatum',\r\n sortOrder: 1\r\n }],\r\n \"modificationInfoEnabled\": true,\r\n \"keyProperty\": \"Id\",\r\n \"filters\": [{\r\n \"webApiCustomKey\": \"AddBewerbungCard\",\r\n \"webApiCustomValue\": \"true\"\r\n }]\r\n });\r\n this.addModel({\r\n \"id\": \"$m_BankverbindungElement\",\r\n \"webApiAction\": \"ZIT/Objekte/PersonBankverbindungElement\",\r\n \"key\": \"models.data.$m_Person.IdPersonBankverbindungElement\",\r\n \"keyProperty\": \"Id\",\r\n \"filters\": []\r\n });\r\n this.addModel({\r\n \"id\": \"$m_BerufserfahrungElement\",\r\n \"webApiAction\": \"ZIT/Objekte/PersonBerufserfahrungElement\",\r\n \"key\": \"models.data.$m_Person.IdPersonBerufserfahrungElement\",\r\n \"keyProperty\": \"Id\",\r\n \"filters\": []\r\n });\r\n this.addModel({\r\n \"id\": \"$m_AusbildungElement\",\r\n \"webApiAction\": \"ZIT/Objekte/PersonAusbildungElement\",\r\n \"key\": \"models.data.$m_Person.IdPersonAusbildungElement\",\r\n \"keyProperty\": \"Id\",\r\n \"filters\": []\r\n });\r\n this.addModel({\r\n \"id\": \"$m_SpracheElement\",\r\n \"webApiAction\": \"ZIT/Objekte/PersonSpracheElement\",\r\n \"key\": \"models.data.$m_Person.IdPersonSpracheElement\",\r\n \"keyProperty\": \"Id\",\r\n \"filters\": []\r\n });\r\n this.addModel({\r\n \"id\": \"$m_FuehrerscheinElement\",\r\n \"webApiAction\": \"ZIT/Objekte/PersonFuehrerscheinElement\",\r\n \"key\": \"models.data.$m_Person.IdPersonFuehrerscheinElement\",\r\n \"keyProperty\": \"Id\",\r\n \"filters\": []\r\n });\r\n this.addModel({\r\n \"id\": \"$m_PersonAdresse\",\r\n \"webApiAction\": \"ZIT/Objekte/PersonAdresseElement\",\r\n \"keyProperty\": \"Id\",\r\n \"filters\": []\r\n });\r\n this.addModel({\r\n \"id\": \"$m_PersonKontaktRel\",\r\n \"webApiAction\": \"ZIT/Objekte/PersonKontaktElement\",\r\n \"webApiExpand\": {\r\n 'Kontakttyp': null\r\n },\r\n \"keyProperty\": \"Id\",\r\n \"filters\": []\r\n });\r\n this.addModel({\r\n \"id\": \"$m_PersonKontaktEdit\",\r\n \"webApiAction\": \"ZIT/Objekte/PersonKontaktElement\",\r\n \"keyProperty\": \"Id\",\r\n \"filters\": []\r\n });\r\n this.addModel({\r\n \"id\": \"$m_PersonBerufserfahrungRel\",\r\n \"webApiAction\": \"ZIT/Objekte/PersonBerufserfahrung\",\r\n \"keyProperty\": \"Id\",\r\n \"filters\": []\r\n });\r\n this.addModel({\r\n \"id\": \"$m_PersonBerufserfahrungEdit\",\r\n \"webApiAction\": \"ZIT/Objekte/PersonBerufserfahrung\",\r\n \"keyProperty\": \"Id\",\r\n \"filters\": []\r\n });\r\n this.addModel({\r\n \"id\": \"$m_PersonAusbildungRel\",\r\n \"webApiAction\": \"ZIT/Objekte/PersonAusbildung\",\r\n \"webApiExpand\": {\r\n 'Ausbildung': null,\r\n 'Ausbildungsort': null,\r\n 'AusbildungAbschluss': null\r\n },\r\n \"keyProperty\": \"Id\",\r\n \"filters\": []\r\n });\r\n this.addModel({\r\n \"id\": \"$m_PersonAusbildungEdit\",\r\n \"webApiAction\": \"ZIT/Objekte/PersonAusbildung\",\r\n \"keyProperty\": \"Id\",\r\n \"filters\": []\r\n });\r\n this.addModel({\r\n \"id\": \"$m_PersonBerufRel\",\r\n \"webApiAction\": \"ZIT/Objekte/PersonBeruf\",\r\n \"webApiExpand\": {\r\n 'Beruf': null,\r\n 'BerufQualifikation': null,\r\n 'AusbildungAbschluss': null\r\n },\r\n \"keyProperty\": \"Id\",\r\n \"filters\": []\r\n });\r\n this.addModel({\r\n \"id\": \"$m_PersonBerufEdit\",\r\n \"webApiAction\": \"ZIT/Objekte/PersonBeruf\",\r\n \"keyProperty\": \"Id\",\r\n \"filters\": []\r\n });\r\n this.addModel({\r\n \"id\": \"$m_PersonSpracheRel\",\r\n \"webApiAction\": \"ZIT/Objekte/PersonSprache\",\r\n \"webApiExpand\": {\r\n 'Sprache': null,\r\n 'Sprachniveau': null\r\n },\r\n \"keyProperty\": \"Id\",\r\n \"filters\": []\r\n });\r\n this.addModel({\r\n \"id\": \"$m_PersonSpracheEdit\",\r\n \"webApiAction\": \"ZIT/Objekte/PersonSprache\",\r\n \"keyProperty\": \"Id\",\r\n \"filters\": []\r\n });\r\n this.addModel({\r\n \"id\": \"$m_PersonFuehrerscheinRel\",\r\n \"webApiAction\": \"ZIT/Objekte/PersonFuehrerschein\",\r\n \"webApiExpand\": {\r\n 'Fuehrerscheinklasse': null\r\n },\r\n \"keyProperty\": \"Id\",\r\n \"filters\": []\r\n });\r\n this.addModel({\r\n \"id\": \"$m_PersonFuehrerscheinEdit\",\r\n \"webApiAction\": \"ZIT/Objekte/PersonFuehrerschein\",\r\n \"keyProperty\": \"Id\",\r\n \"filters\": []\r\n });\r\n this.addModel({\r\n \"id\": \"$m_DokumentRel\",\r\n \"webApiAction\": \"ZIT/Objekte/DokumentElement\",\r\n \"webApiExpand\": {\r\n 'Informationstyp': null\r\n },\r\n \"keyProperty\": \"Id\",\r\n \"filters\": []\r\n });\r\n this.addModel({\r\n \"id\": \"$m_DokumentEdit\",\r\n \"webApiAction\": \"ZIT/Objekte/DokumentElement\",\r\n \"keyProperty\": \"Id\",\r\n \"filters\": []\r\n });\r\n this.addCommand({\r\n \"binding\": {\r\n \"bindTo\": \"$f_PersonenEditUtils.actionCommand\",\r\n \"bindToFQ\": \"functions.$f_PersonenEditUtils.actionCommand\"\r\n }\r\n });\r\n this.addEditPopup({\r\n \"idContent\": \"personBerufserfahrungEditPopupContent\",\r\n \"mappings\": [{\r\n \"to\": \"$id\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_PersonBerufserfahrungEdit\",\r\n \"bindTo\": \"Id\",\r\n \"bindToFQ\": \"models.data.$m_PersonBerufserfahrungEdit.Id\"\r\n }\r\n }],\r\n \"id\": \"personBerufserfahrungEditPopup\",\r\n \"options\": {\r\n \"optionsName\": \"personBerufserfahrungEditPopupOptions\",\r\n \"optionsNameFQ\": \"personBerufserfahrungEditPopupOptions\"\r\n },\r\n \"height\": \"auto\",\r\n \"width\": \"500px\",\r\n \"commands\": []\r\n });\r\n this.addEditPopup({\r\n \"idContent\": \"personFuehrerscheinEditPopupContent\",\r\n \"mappings\": [{\r\n \"to\": \"$id\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_PersonFuehrerscheinEdit\",\r\n \"bindTo\": \"Id\",\r\n \"bindToFQ\": \"models.data.$m_PersonFuehrerscheinEdit.Id\"\r\n }\r\n }],\r\n \"id\": \"personFuehrerscheinEditPopup\",\r\n \"options\": {\r\n \"optionsName\": \"personFuehrerscheinEditPopupOptions\",\r\n \"optionsNameFQ\": \"personFuehrerscheinEditPopupOptions\"\r\n },\r\n \"height\": \"auto\",\r\n \"width\": \"500px\",\r\n \"commands\": []\r\n });\r\n this.addEditPopup({\r\n \"idContent\": \"personSpracheEditPopupContent\",\r\n \"mappings\": [{\r\n \"to\": \"$id\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_PersonSpracheEdit\",\r\n \"bindTo\": \"Id\",\r\n \"bindToFQ\": \"models.data.$m_PersonSpracheEdit.Id\"\r\n }\r\n }],\r\n \"id\": \"personSpracheEditPopup\",\r\n \"options\": {\r\n \"optionsName\": \"personSpracheEditPopupOptions\",\r\n \"optionsNameFQ\": \"personSpracheEditPopupOptions\"\r\n },\r\n \"height\": \"auto\",\r\n \"width\": \"500px\",\r\n \"commands\": []\r\n });\r\n this.addEditPopup({\r\n \"idContent\": \"personAusbildungEditPopupContent\",\r\n \"mappings\": [{\r\n \"to\": \"$id\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_PersonAusbildungEdit\",\r\n \"bindTo\": \"Id\",\r\n \"bindToFQ\": \"models.data.$m_PersonAusbildungEdit.Id\"\r\n }\r\n }],\r\n \"id\": \"personAusbildungEditPopup\",\r\n \"options\": {\r\n \"optionsName\": \"personAusbildungEditPopupOptions\",\r\n \"optionsNameFQ\": \"personAusbildungEditPopupOptions\"\r\n },\r\n \"height\": \"auto\",\r\n \"width\": \"500px\",\r\n \"commands\": []\r\n });\r\n this.addFunction(\"$f_PersonenEditUtils\", $f_PersonenEditUtils, \"functions.$f_PersonenEditUtils\");\r\n this.addFunction(\"$f_PersonenAdresseUtils\", $f_PersonenAdresseUtils, \"functions.$f_PersonenAdresseUtils\");\r\n this.widgetCreator.addValidationGroup(this, {\r\n \"id\": \"wd1\",\r\n \"options\": {\r\n \"optionsName\": \"wd1Options\",\r\n \"optionsNameFQ\": \"wd1Options\"\r\n }\r\n });\r\n this.widgetCreator.addRadioGroup(this, {\r\n \"idSelect\": \"geschlecht\",\r\n \"filters\": [],\r\n \"caption\": \"person-ferialer-ersteinstieg-edit.r_geschlecht_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Person\",\r\n \"bindTo\": \"Personendaten.Geschlecht\",\r\n \"bindToFQ\": \"models.data.$m_Person.Personendaten.Geschlecht\",\r\n \"propertyPrefix\": \"Personendaten\"\r\n },\r\n \"validationRules\": [{\r\n \"item\": {\r\n \"type\": \"required\",\r\n \"parameters\": []\r\n }\r\n }],\r\n \"id\": \"r_geschlecht\",\r\n \"options\": {\r\n \"optionsName\": \"r_geschlechtOptions\",\r\n \"optionsNameFQ\": \"r_geschlechtOptions\"\r\n }\r\n });\r\n this.widgetCreator.addTextBox(this, {\r\n \"maxLength\": 50,\r\n \"caption\": \"person-ferialer-ersteinstieg-edit.r_titelvorne_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Person\",\r\n \"bindTo\": \"Personendaten.TitelVorne\",\r\n \"bindToFQ\": \"models.data.$m_Person.Personendaten.TitelVorne\",\r\n \"propertyPrefix\": \"Personendaten\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_titelVorne\",\r\n \"options\": {\r\n \"optionsName\": \"r_titelVorneOptions\",\r\n \"optionsNameFQ\": \"r_titelVorneOptions\"\r\n }\r\n });\r\n this.widgetCreator.addTextBox(this, {\r\n \"maxLength\": 50,\r\n \"caption\": \"person-ferialer-ersteinstieg-edit.r_titelhinten_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Person\",\r\n \"bindTo\": \"Personendaten.TitelHinten\",\r\n \"bindToFQ\": \"models.data.$m_Person.Personendaten.TitelHinten\",\r\n \"propertyPrefix\": \"Personendaten\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_titelHinten\",\r\n \"options\": {\r\n \"optionsName\": \"r_titelHintenOptions\",\r\n \"optionsNameFQ\": \"r_titelHintenOptions\"\r\n }\r\n });\r\n this.widgetCreator.addTextBox(this, {\r\n \"maxLength\": 100,\r\n \"caption\": \"person-ferialer-ersteinstieg-edit.r_vorname_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Person\",\r\n \"bindTo\": \"Personendaten.Vorname\",\r\n \"bindToFQ\": \"models.data.$m_Person.Personendaten.Vorname\",\r\n \"propertyPrefix\": \"Personendaten\"\r\n },\r\n \"validationRules\": [{\r\n \"item\": {\r\n \"type\": \"required\",\r\n \"parameters\": []\r\n }\r\n }],\r\n \"id\": \"r_vorname\",\r\n \"options\": {\r\n \"optionsName\": \"r_vornameOptions\",\r\n \"optionsNameFQ\": \"r_vornameOptions\"\r\n }\r\n });\r\n this.widgetCreator.addTextBox(this, {\r\n \"maxLength\": 100,\r\n \"caption\": \"person-ferialer-ersteinstieg-edit.r_nachname_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Person\",\r\n \"bindTo\": \"Personendaten.Nachname\",\r\n \"bindToFQ\": \"models.data.$m_Person.Personendaten.Nachname\",\r\n \"propertyPrefix\": \"Personendaten\"\r\n },\r\n \"validationRules\": [{\r\n \"item\": {\r\n \"type\": \"required\",\r\n \"parameters\": []\r\n }\r\n }],\r\n \"id\": \"r_nachname\",\r\n \"options\": {\r\n \"optionsName\": \"r_nachnameOptions\",\r\n \"optionsNameFQ\": \"r_nachnameOptions\"\r\n }\r\n });\r\n this.widgetCreator.addDateBox(this, {\r\n \"format\": \"d\",\r\n \"caption\": \"person-ferialer-ersteinstieg-edit.r_geburtsdatum_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Person\",\r\n \"bindTo\": \"Personendaten.Geburtsdatum\",\r\n \"bindToFQ\": \"models.data.$m_Person.Personendaten.Geburtsdatum\",\r\n \"propertyPrefix\": \"Personendaten\"\r\n },\r\n \"validationRules\": [{\r\n \"item\": {\r\n \"type\": \"required\",\r\n \"parameters\": []\r\n }\r\n }],\r\n \"id\": \"r_geburtsdatum\",\r\n \"options\": {\r\n \"optionsName\": \"r_geburtsdatumOptions\",\r\n \"optionsNameFQ\": \"r_geburtsdatumOptions\"\r\n }\r\n });\r\n this.widgetCreator.addSelectBox(this, {\r\n \"idSelect\": \"staat\",\r\n \"filters\": [],\r\n \"caption\": \"person-ferialer-ersteinstieg-edit.r_idnationalitaet_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Person\",\r\n \"bindTo\": \"Personendaten.IdNationalitaet\",\r\n \"bindToFQ\": \"models.data.$m_Person.Personendaten.IdNationalitaet\",\r\n \"propertyPrefix\": \"Personendaten\"\r\n },\r\n \"validationRules\": [{\r\n \"item\": {\r\n \"type\": \"required\",\r\n \"parameters\": []\r\n }\r\n }],\r\n \"id\": \"r_idNationalitaet\",\r\n \"options\": {\r\n \"optionsName\": \"r_idNationalitaetOptions\",\r\n \"optionsNameFQ\": \"r_idNationalitaetOptions\"\r\n }\r\n });\r\n this.widgetCreator.addSelectBox(this, {\r\n \"idSelect\": \"familienstand\",\r\n \"filters\": [],\r\n \"caption\": \"person-ferialer-ersteinstieg-edit.r_familienstand_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Person\",\r\n \"bindTo\": \"Personendaten.IdFamilienstand\",\r\n \"bindToFQ\": \"models.data.$m_Person.Personendaten.IdFamilienstand\",\r\n \"propertyPrefix\": \"Personendaten\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_familienstand\",\r\n \"options\": {\r\n \"optionsName\": \"r_familienstandOptions\",\r\n \"optionsNameFQ\": \"r_familienstandOptions\"\r\n }\r\n });\r\n this.widgetCreator.addTextBox(this, {\r\n \"maxLength\": 4,\r\n \"caption\": \"person-ferialer-ersteinstieg-edit.r_svnr_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Person\",\r\n \"bindTo\": \"Personendaten.SVNr\",\r\n \"bindToFQ\": \"models.data.$m_Person.Personendaten.SVNr\",\r\n \"propertyPrefix\": \"Personendaten\"\r\n },\r\n \"validationRules\": [{\r\n \"binding\": {\r\n \"dataContext\": \"$m_Person\",\r\n \"bindTo\": \"$f_PersonenEditUtils.svNummerValidationRule\",\r\n \"bindToFQ\": \"functions.$f_PersonenEditUtils.svNummerValidationRule\"\r\n }\r\n }, {\r\n \"item\": {\r\n \"type\": \"svnr\",\r\n \"parameters\": []\r\n }\r\n }],\r\n \"id\": \"r_svNr\",\r\n \"options\": {\r\n \"optionsName\": \"r_svNrOptions\",\r\n \"optionsNameFQ\": \"r_svNrOptions\"\r\n }\r\n });\r\n this.widgetCreator.addTextBox(this, {\r\n \"maxLength\": 20,\r\n \"caption\": \"person-ferialer-ersteinstieg-edit.r_ahvnrliechtenstein_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Person\",\r\n \"bindTo\": \"Personendaten.AHVNrLiechtenstein\",\r\n \"bindToFQ\": \"models.data.$m_Person.Personendaten.AHVNrLiechtenstein\",\r\n \"propertyPrefix\": \"Personendaten\"\r\n },\r\n \"validationRules\": [{\r\n \"binding\": {\r\n \"dataContext\": \"$m_Person\",\r\n \"bindTo\": \"$f_PersonenEditUtils.svNummerValidationRule\",\r\n \"bindToFQ\": \"functions.$f_PersonenEditUtils.svNummerValidationRule\"\r\n }\r\n }, {\r\n \"item\": {\r\n \"type\": \"ahvnr\",\r\n \"parameters\": []\r\n }\r\n }],\r\n \"id\": \"r_ahvNrLiechtenstein\",\r\n \"options\": {\r\n \"optionsName\": \"r_ahvNrLiechtensteinOptions\",\r\n \"optionsNameFQ\": \"r_ahvNrLiechtensteinOptions\"\r\n }\r\n });\r\n this.widgetCreator.addTextBox(this, {\r\n \"maxLength\": 20,\r\n \"caption\": \"person-ferialer-ersteinstieg-edit.r_ahvnrschweiz_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Person\",\r\n \"bindTo\": \"Personendaten.AHVNrSchweiz\",\r\n \"bindToFQ\": \"models.data.$m_Person.Personendaten.AHVNrSchweiz\",\r\n \"propertyPrefix\": \"Personendaten\"\r\n },\r\n \"validationRules\": [{\r\n \"binding\": {\r\n \"dataContext\": \"$m_Person\",\r\n \"bindTo\": \"$f_PersonenEditUtils.svNummerValidationRule\",\r\n \"bindToFQ\": \"functions.$f_PersonenEditUtils.svNummerValidationRule\"\r\n }\r\n }, {\r\n \"item\": {\r\n \"type\": \"ahvnr\",\r\n \"parameters\": []\r\n }\r\n }],\r\n \"id\": \"r_ahvNrSchweiz\",\r\n \"options\": {\r\n \"optionsName\": \"r_ahvNrSchweizOptions\",\r\n \"optionsNameFQ\": \"r_ahvNrSchweizOptions\"\r\n }\r\n });\r\n this.widgetCreator.addCheckBox(this, {\r\n \"caption\": \"person-ferialer-ersteinstieg-edit.r_staplerfuehrerschein_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Person\",\r\n \"bindTo\": \"Personendaten.HasStaplerfuehrerschein\",\r\n \"bindToFQ\": \"models.data.$m_Person.Personendaten.HasStaplerfuehrerschein\",\r\n \"propertyPrefix\": \"Personendaten\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_staplerfuehrerschein\",\r\n \"options\": {\r\n \"optionsName\": \"r_staplerfuehrerscheinOptions\",\r\n \"optionsNameFQ\": \"r_staplerfuehrerscheinOptions\"\r\n }\r\n });\r\n this.widgetCreator.addTextArea(this, {\r\n \"height\": \"100px\",\r\n \"caption\": \"person-ferialer-ersteinstieg-edit.r_bemerkung_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Person\",\r\n \"bindTo\": \"Personendaten.Bemerkung\",\r\n \"bindToFQ\": \"models.data.$m_Person.Personendaten.Bemerkung\",\r\n \"propertyPrefix\": \"Personendaten\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_bemerkung\",\r\n \"options\": {\r\n \"optionsName\": \"r_bemerkungOptions\",\r\n \"optionsNameFQ\": \"r_bemerkungOptions\"\r\n }\r\n });\r\n this.widgetCreator.addFileUploaderWithViewer(this, {\r\n \"acceptTypeEnum\": 0,\r\n \"acceptType\": \"image/*\",\r\n \"height\": \"250px\",\r\n \"showToolbar\": true,\r\n \"showClearButton\": false,\r\n \"caption\": \"person-ferialer-ersteinstieg-edit.r_dmslinkfoto_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Person\",\r\n \"bindTo\": \"Personendaten.DMSLinkFoto\",\r\n \"bindToFQ\": \"models.data.$m_Person.Personendaten.DMSLinkFoto\",\r\n \"propertyPrefix\": \"Personendaten\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_dmsLinkFoto\",\r\n \"options\": {\r\n \"optionsName\": \"r_dmsLinkFotoOptions\",\r\n \"optionsNameFQ\": \"r_dmsLinkFotoOptions\"\r\n }\r\n });\r\n this.widgetCreator.addSelectBox(this, {\r\n \"idSelect\": \"staat\",\r\n \"filters\": [],\r\n \"caption\": \"person-ferialer-ersteinstieg-edit.r_land_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_PersonAdresse\",\r\n \"bindTo\": \"IdLand\",\r\n \"bindToFQ\": \"models.data.$m_PersonAdresse.IdLand\"\r\n },\r\n \"validationRules\": [{\r\n \"item\": {\r\n \"type\": \"required\",\r\n \"parameters\": []\r\n }\r\n }],\r\n \"id\": \"r_land\",\r\n \"options\": {\r\n \"optionsName\": \"r_landOptions\",\r\n \"optionsNameFQ\": \"r_landOptions\"\r\n }\r\n });\r\n this.widgetCreator.addTextBox(this, {\r\n \"maxLength\": 100,\r\n \"caption\": \"person-ferialer-ersteinstieg-edit.r_strasse_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_PersonAdresse\",\r\n \"bindTo\": \"Strasse\",\r\n \"bindToFQ\": \"models.data.$m_PersonAdresse.Strasse\"\r\n },\r\n \"validationRules\": [{\r\n \"item\": {\r\n \"type\": \"required\",\r\n \"parameters\": []\r\n }\r\n }],\r\n \"id\": \"r_strasse\",\r\n \"options\": {\r\n \"optionsName\": \"r_strasseOptions\",\r\n \"optionsNameFQ\": \"r_strasseOptions\"\r\n }\r\n });\r\n this.widgetCreator.addTextBox(this, {\r\n \"maxLength\": 20,\r\n \"caption\": \"person-ferialer-ersteinstieg-edit.r_postleitzahl_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_PersonAdresse\",\r\n \"bindTo\": \"Postleitzahl\",\r\n \"bindToFQ\": \"models.data.$m_PersonAdresse.Postleitzahl\"\r\n },\r\n \"validationRules\": [{\r\n \"item\": {\r\n \"type\": \"required\",\r\n \"parameters\": []\r\n }\r\n }],\r\n \"id\": \"r_postleitzahl\",\r\n \"options\": {\r\n \"optionsName\": \"r_postleitzahlOptions\",\r\n \"optionsNameFQ\": \"r_postleitzahlOptions\"\r\n }\r\n });\r\n this.widgetCreator.addTextBox(this, {\r\n \"maxLength\": 100,\r\n \"caption\": \"person-ferialer-ersteinstieg-edit.r_ort_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_PersonAdresse\",\r\n \"bindTo\": \"Ort\",\r\n \"bindToFQ\": \"models.data.$m_PersonAdresse.Ort\"\r\n },\r\n \"validationRules\": [{\r\n \"item\": {\r\n \"type\": \"required\",\r\n \"parameters\": []\r\n }\r\n }],\r\n \"id\": \"r_ort\",\r\n \"options\": {\r\n \"optionsName\": \"r_ortOptions\",\r\n \"optionsNameFQ\": \"r_ortOptions\"\r\n }\r\n });\r\n this.widgetCreator.addSelectBox(this, {\r\n \"idSelect\": \"landvorwahl\",\r\n \"filters\": [],\r\n \"caption\": \"person-ferialer-ersteinstieg-edit.r_mobilwert1_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Person\",\r\n \"bindTo\": \"Personendaten.MobilLandvorwahl\",\r\n \"bindToFQ\": \"models.data.$m_Person.Personendaten.MobilLandvorwahl\",\r\n \"propertyPrefix\": \"Personendaten\"\r\n },\r\n \"validationRules\": [{\r\n \"item\": {\r\n \"type\": \"conditionalRequired\",\r\n \"parameters\": [{\r\n \"name\": \"condition\",\r\n \"value\": \"models.data.$m_Person.Personendaten && models.data.$m_Person.Personendaten.Mobil\"\r\n }]\r\n }\r\n }, {\r\n \"item\": {\r\n \"type\": \"conditionalRequired\",\r\n \"parameters\": [{\r\n \"name\": \"condition\",\r\n \"value\": \"models.data.$m_Person.Personendaten && !models.data.$m_Person.Personendaten.Email\"\r\n }]\r\n }\r\n }],\r\n \"id\": \"r_mobilWert1\",\r\n \"options\": {\r\n \"optionsName\": \"r_mobilWert1Options\",\r\n \"optionsNameFQ\": \"r_mobilWert1Options\"\r\n }\r\n });\r\n this.widgetCreator.addTextBox(this, {\r\n \"maxLength\": 100,\r\n \"caption\": \"person-ferialer-ersteinstieg-edit.r_mobilwert2_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Person\",\r\n \"bindTo\": \"Personendaten.Mobil\",\r\n \"bindToFQ\": \"models.data.$m_Person.Personendaten.Mobil\",\r\n \"propertyPrefix\": \"Personendaten\"\r\n },\r\n \"validationRules\": [{\r\n \"item\": {\r\n \"type\": \"telefon\",\r\n \"parameters\": []\r\n }\r\n }, {\r\n \"item\": {\r\n \"type\": \"conditionalRequired\",\r\n \"parameters\": [{\r\n \"name\": \"condition\",\r\n \"value\": \"models.data.$m_Person.Personendaten && !models.data.$m_Person.Personendaten.Email\"\r\n }]\r\n }\r\n }],\r\n \"id\": \"r_mobilWert2\",\r\n \"options\": {\r\n \"optionsName\": \"r_mobilWert2Options\",\r\n \"optionsNameFQ\": \"r_mobilWert2Options\"\r\n }\r\n });\r\n this.widgetCreator.addTextBox(this, {\r\n \"maxLength\": 100,\r\n \"caption\": \"person-ferialer-ersteinstieg-edit.r_email_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Person\",\r\n \"bindTo\": \"Personendaten.Email\",\r\n \"bindToFQ\": \"models.data.$m_Person.Personendaten.Email\",\r\n \"propertyPrefix\": \"Personendaten\"\r\n },\r\n \"validationRules\": [{\r\n \"item\": {\r\n \"type\": \"conditionalRequired\",\r\n \"parameters\": [{\r\n \"name\": \"condition\",\r\n \"value\": \"models.data.$m_Person.Personendaten && (!models.data.$m_Person.Personendaten.Mobil || !models.data.$m_Person.Personendaten.MobilLandvorwahl)\"\r\n }]\r\n }\r\n }],\r\n \"id\": \"r_email\",\r\n \"options\": {\r\n \"optionsName\": \"r_emailOptions\",\r\n \"optionsNameFQ\": \"r_emailOptions\"\r\n }\r\n });\r\n this.widgetCreator.addListView(this, {\r\n \"itemClass\": \"col-xs-12 col-sm-6\",\r\n \"useDefaultListItemStyle\": false,\r\n \"createToolbar\": true,\r\n \"optionsToolbar\": {\r\n \"optionsName\": \"r_personAusbildungListViewToolbarOptions\",\r\n \"optionsNameFQ\": \"r_personAusbildungListViewToolbarOptions\"\r\n },\r\n \"caption\": \"person-ferialer-ersteinstieg-edit.r_personausbildunglistview_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_AusbildungElement\"\r\n },\r\n \"isRelation\": true,\r\n \"relationBinding\": {\r\n \"dataContext\": \"$m_PersonAusbildungRel\",\r\n \"bindTo\": \"IdPersonAusbildungElement\",\r\n \"bindToFQ\": \"models.data.$m_PersonAusbildungRel.IdPersonAusbildungElement\"\r\n },\r\n \"dataModel\": \"$m_AusbildungElement\",\r\n \"editDataContext\": \"$m_PersonAusbildungEdit\",\r\n \"idEditPopup\": \"personAusbildungEditPopup\",\r\n \"pageSize\": 2,\r\n \"listEdits\": [],\r\n \"filters\": [],\r\n \"commands\": [],\r\n \"id\": \"r_personAusbildungListView\",\r\n \"options\": {\r\n \"optionsName\": \"r_personAusbildungListViewOptions\",\r\n \"optionsNameFQ\": \"r_personAusbildungListViewOptions\"\r\n }\r\n });\r\n this.widgetCreator.addListView(this, {\r\n \"itemClass\": \"col-xs-12 col-sm-6\",\r\n \"useDefaultListItemStyle\": false,\r\n \"createToolbar\": true,\r\n \"optionsToolbar\": {\r\n \"optionsName\": \"r_personBerufserfahrungListViewToolbarOptions\",\r\n \"optionsNameFQ\": \"r_personBerufserfahrungListViewToolbarOptions\"\r\n },\r\n \"caption\": \"person-ferialer-ersteinstieg-edit.r_personberufserfahrunglistview_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_BerufserfahrungElement\"\r\n },\r\n \"isRelation\": true,\r\n \"relationBinding\": {\r\n \"dataContext\": \"$m_PersonBerufserfahrungRel\",\r\n \"bindTo\": \"IdPersonBerufserfahrungElement\",\r\n \"bindToFQ\": \"models.data.$m_PersonBerufserfahrungRel.IdPersonBerufserfahrungElement\"\r\n },\r\n \"dataModel\": \"$m_BerufserfahrungElement\",\r\n \"editDataContext\": \"$m_PersonBerufserfahrungEdit\",\r\n \"idEditPopup\": \"personBerufserfahrungEditPopup\",\r\n \"pageSize\": 2,\r\n \"listEdits\": [],\r\n \"filters\": [],\r\n \"commands\": [],\r\n \"id\": \"r_personBerufserfahrungListView\",\r\n \"options\": {\r\n \"optionsName\": \"r_personBerufserfahrungListViewOptions\",\r\n \"optionsNameFQ\": \"r_personBerufserfahrungListViewOptions\"\r\n }\r\n });\r\n this.widgetCreator.addSelectBox(this, {\r\n \"idSelect\": \"groesseSchuh\",\r\n \"filters\": [],\r\n \"caption\": \"person-ferialer-ersteinstieg-edit.r_schuehgroesse_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Person\",\r\n \"bindTo\": \"Personendaten.IdSchuhgroesse\",\r\n \"bindToFQ\": \"models.data.$m_Person.Personendaten.IdSchuhgroesse\",\r\n \"propertyPrefix\": \"Personendaten\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_schuehgroesse\",\r\n \"options\": {\r\n \"optionsName\": \"r_schuehgroesseOptions\",\r\n \"optionsNameFQ\": \"r_schuehgroesseOptions\"\r\n }\r\n });\r\n this.widgetCreator.addSelectBox(this, {\r\n \"idSelect\": \"groesseKleider\",\r\n \"filters\": [],\r\n \"caption\": \"person-ferialer-ersteinstieg-edit.r_kleidergroesse_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Person\",\r\n \"bindTo\": \"Personendaten.IdKleidergroesse\",\r\n \"bindToFQ\": \"models.data.$m_Person.Personendaten.IdKleidergroesse\",\r\n \"propertyPrefix\": \"Personendaten\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_kleidergroesse\",\r\n \"options\": {\r\n \"optionsName\": \"r_kleidergroesseOptions\",\r\n \"optionsNameFQ\": \"r_kleidergroesseOptions\"\r\n }\r\n });\r\n this.widgetCreator.addCheckBox(this, {\r\n \"caption\": \"person-ferialer-ersteinstieg-edit.r_hasesdsicherheitsschuhe_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Person\",\r\n \"bindTo\": \"Personendaten.HasEsdSicherheitsschuhe\",\r\n \"bindToFQ\": \"models.data.$m_Person.Personendaten.HasEsdSicherheitsschuhe\",\r\n \"propertyPrefix\": \"Personendaten\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_hasEsdSicherheitsschuhe\",\r\n \"options\": {\r\n \"optionsName\": \"r_hasEsdSicherheitsschuheOptions\",\r\n \"optionsNameFQ\": \"r_hasEsdSicherheitsschuheOptions\"\r\n }\r\n });\r\n this.widgetCreator.addListView(this, {\r\n \"itemClass\": \"z--list-view-inline-item\",\r\n \"useDefaultListItemStyle\": false,\r\n \"createToolbar\": true,\r\n \"optionsToolbar\": {\r\n \"optionsName\": \"r_personSpracheListViewToolbarOptions\",\r\n \"optionsNameFQ\": \"r_personSpracheListViewToolbarOptions\"\r\n },\r\n \"caption\": \"person-ferialer-ersteinstieg-edit.r_personsprachelistview_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_SpracheElement\"\r\n },\r\n \"isRelation\": true,\r\n \"relationBinding\": {\r\n \"dataContext\": \"$m_PersonSpracheRel\",\r\n \"bindTo\": \"IdPersonSpracheElement\",\r\n \"bindToFQ\": \"models.data.$m_PersonSpracheRel.IdPersonSpracheElement\"\r\n },\r\n \"dataModel\": \"$m_SpracheElement\",\r\n \"editDataContext\": \"$m_PersonSpracheEdit\",\r\n \"idEditPopup\": \"personSpracheEditPopup\",\r\n \"listEdits\": [],\r\n \"filters\": [],\r\n \"commands\": [],\r\n \"id\": \"r_personSpracheListView\",\r\n \"options\": {\r\n \"optionsName\": \"r_personSpracheListViewOptions\",\r\n \"optionsNameFQ\": \"r_personSpracheListViewOptions\"\r\n }\r\n });\r\n this.widgetCreator.addListView(this, {\r\n \"itemClass\": \"z--list-view-inline-item\",\r\n \"useDefaultListItemStyle\": false,\r\n \"createToolbar\": true,\r\n \"optionsToolbar\": {\r\n \"optionsName\": \"r_personFuehrerscheinListViewToolbarOptions\",\r\n \"optionsNameFQ\": \"r_personFuehrerscheinListViewToolbarOptions\"\r\n },\r\n \"caption\": \"person-ferialer-ersteinstieg-edit.r_personfuehrerscheinlistview_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_FuehrerscheinElement\"\r\n },\r\n \"isRelation\": true,\r\n \"relationBinding\": {\r\n \"dataContext\": \"$m_PersonFuehrerscheinRel\",\r\n \"bindTo\": \"IdPersonFuehrerscheinElement\",\r\n \"bindToFQ\": \"models.data.$m_PersonFuehrerscheinRel.IdPersonFuehrerscheinElement\"\r\n },\r\n \"dataModel\": \"$m_FuehrerscheinElement\",\r\n \"editDataContext\": \"$m_PersonFuehrerscheinEdit\",\r\n \"idEditPopup\": \"personFuehrerscheinEditPopup\",\r\n \"listEdits\": [],\r\n \"filters\": [],\r\n \"commands\": [],\r\n \"id\": \"r_personFuehrerscheinListView\",\r\n \"options\": {\r\n \"optionsName\": \"r_personFuehrerscheinListViewOptions\",\r\n \"optionsNameFQ\": \"r_personFuehrerscheinListViewOptions\"\r\n }\r\n });\r\n this.widgetCreator.addListView(this, {\r\n \"itemClass\": \"col-xs-12 col-sm-6\",\r\n \"useDefaultListItemStyle\": false,\r\n \"createToolbar\": true,\r\n \"optionsToolbar\": {\r\n \"optionsName\": \"r_personBewerbungListViewToolbarOptions\",\r\n \"optionsNameFQ\": \"r_personBewerbungListViewToolbarOptions\"\r\n },\r\n \"caption\": \"person-ferialer-ersteinstieg-edit.r_personbewerbunglistview_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Bewerbung\"\r\n },\r\n \"dataModel\": \"$m_Bewerbung\",\r\n \"pageSize\": 2,\r\n \"listEdits\": [],\r\n \"filters\": [],\r\n \"commands\": [],\r\n \"id\": \"r_personBewerbungListView\",\r\n \"options\": {\r\n \"optionsName\": \"r_personBewerbungListViewOptions\",\r\n \"optionsNameFQ\": \"r_personBewerbungListViewOptions\"\r\n }\r\n });\r\n this.widgetCreator.addPopup(this, {\r\n \"id\": \"r_personAbgeschlossenPopup\",\r\n \"options\": {\r\n \"optionsName\": \"r_personAbgeschlossenPopupOptions\",\r\n \"optionsNameFQ\": \"r_personAbgeschlossenPopupOptions\"\r\n },\r\n \"caption\": \"person-ferialer-ersteinstieg-edit.r_personabgeschlossenpopup_caption\",\r\n \"height\": \"auto\",\r\n \"width\": \"450px\",\r\n \"showCloseButton\": false,\r\n \"commands\": [{\r\n \"binding\": {\r\n \"bindTo\": \"$f_PersonenEditUtils.personAbschliessenCommand\",\r\n \"bindToFQ\": \"functions.$f_PersonenEditUtils.personAbschliessenCommand\"\r\n }\r\n }]\r\n });\r\n super.onConstructionFinished();\r\n }\r\n}","module.exports = \"\";","import * as fwx from \"../../../../framework/forms/form-export\";\r\n\r\n@fwx.autoinject\r\nexport class PersonFuehrerscheinEditForm extends fwx.FormBase {\r\n constructor(\r\n element: Element,\r\n formBaseImport: fwx.FormBaseImport) {\r\n super(element, formBaseImport);\r\n this.id = \"person-fuehrerschein-edit\";\r\n this.title = \"person-fuehrerschein-edit.person-fuehrerschein-edit_caption\";\r\n this.addModel({\r\n \"id\": \"$m_Fuehrerschein\",\r\n \"webApiAction\": \"ZIT/Objekte/PersonFuehrerschein\",\r\n \"key\": \"variables.data.$id\",\r\n \"keyProperty\": \"Id\",\r\n \"postOnSave\": true,\r\n \"filters\": []\r\n });\r\n this.addVariable({\r\n \"id\": \"$id\"\r\n });\r\n this.widgetCreator.addValidationGroup(this, {\r\n \"id\": \"wd1\",\r\n \"options\": {\r\n \"optionsName\": \"wd1Options\",\r\n \"optionsNameFQ\": \"wd1Options\"\r\n }\r\n });\r\n this.widgetCreator.addSelectBox(this, {\r\n \"idSelect\": \"fuehrerscheinklasse\",\r\n \"filters\": [],\r\n \"caption\": \"person-fuehrerschein-edit.r_fuehrerscheinklasse_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Fuehrerschein\",\r\n \"bindTo\": \"IdFuehrerscheinklasse\",\r\n \"bindToFQ\": \"models.data.$m_Fuehrerschein.IdFuehrerscheinklasse\"\r\n },\r\n \"validationRules\": [{\r\n \"item\": {\r\n \"type\": \"required\",\r\n \"parameters\": []\r\n }\r\n }],\r\n \"id\": \"r_fuehrerscheinklasse\",\r\n \"options\": {\r\n \"optionsName\": \"r_fuehrerscheinklasseOptions\",\r\n \"optionsNameFQ\": \"r_fuehrerscheinklasseOptions\"\r\n }\r\n });\r\n this.widgetCreator.addDateBox(this, {\r\n \"format\": \"d\",\r\n \"caption\": \"person-fuehrerschein-edit.r_gueltigbis_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Fuehrerschein\",\r\n \"bindTo\": \"GueltigBis\",\r\n \"bindToFQ\": \"models.data.$m_Fuehrerschein.GueltigBis\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_gueltigBis\",\r\n \"options\": {\r\n \"optionsName\": \"r_gueltigBisOptions\",\r\n \"optionsNameFQ\": \"r_gueltigBisOptions\"\r\n }\r\n });\r\n super.onConstructionFinished();\r\n }\r\n}","module.exports = \"\";","import * as fwx from \"../../../../framework/forms/form-export\";\r\n\r\n@fwx.autoinject\r\nexport class PersonGeschaeftspartnerEinsatzEditForm extends fwx.FormBase {\r\n constructor(\r\n element: Element,\r\n formBaseImport: fwx.FormBaseImport) {\r\n super(element, formBaseImport);\r\n this.id = \"person-geschaeftspartner-einsatz-edit\";\r\n this.title = \"person-geschaeftspartner-einsatz-edit.person-geschaeftspartner-einsatz-edit_caption\";\r\n this.addModel({\r\n \"id\": \"$m_GeschaeftspartnerEinsatz\",\r\n \"webApiAction\": \"ZIT/Objekte/PersonGeschaeftspartnerEinsatzElement\",\r\n \"key\": \"variables.data.$id\",\r\n \"keyProperty\": \"Id\",\r\n \"postOnSave\": true,\r\n \"filters\": []\r\n });\r\n this.addVariable({\r\n \"id\": \"$id\"\r\n });\r\n this.widgetCreator.addValidationGroup(this, {\r\n \"id\": \"wd1\",\r\n \"options\": {\r\n \"optionsName\": \"wd1Options\",\r\n \"optionsNameFQ\": \"wd1Options\"\r\n }\r\n });\r\n this.widgetCreator.addLookup(this, {\r\n \"idSelect\": \"geschaeftspartner\",\r\n \"customs\": [{\r\n \"key\": \"IdPerson\",\r\n \"value\": \"models.data.$m_GeschaeftspartnerEinsatz.IdPerson\"\r\n }],\r\n \"filters\": [],\r\n \"caption\": \"person-geschaeftspartner-einsatz-edit.r_geschaeftspartner_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_GeschaeftspartnerEinsatz\",\r\n \"bindTo\": \"IdGeschaeftspartner\",\r\n \"bindToFQ\": \"models.data.$m_GeschaeftspartnerEinsatz.IdGeschaeftspartner\"\r\n },\r\n \"validationRules\": [{\r\n \"item\": {\r\n \"type\": \"required\",\r\n \"parameters\": []\r\n }\r\n }],\r\n \"id\": \"r_geschaeftspartner\",\r\n \"options\": {\r\n \"optionsName\": \"r_geschaeftspartnerOptions\",\r\n \"optionsNameFQ\": \"r_geschaeftspartnerOptions\"\r\n }\r\n });\r\n this.widgetCreator.addTextBox(this, {\r\n \"maxLength\": 100,\r\n \"caption\": \"person-geschaeftspartner-einsatz-edit.r_taetigkeitabteilung_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_GeschaeftspartnerEinsatz\",\r\n \"bindTo\": \"TaetigkeitAbteilung\",\r\n \"bindToFQ\": \"models.data.$m_GeschaeftspartnerEinsatz.TaetigkeitAbteilung\"\r\n },\r\n \"validationRules\": [{\r\n \"item\": {\r\n \"type\": \"required\",\r\n \"parameters\": []\r\n }\r\n }],\r\n \"id\": \"r_taetigkeitAbteilung\",\r\n \"options\": {\r\n \"optionsName\": \"r_taetigkeitAbteilungOptions\",\r\n \"optionsNameFQ\": \"r_taetigkeitAbteilungOptions\"\r\n }\r\n });\r\n this.widgetCreator.addNumberBox(this, {\r\n \"min\": 1900.0,\r\n \"max\": 2100.0,\r\n \"caption\": \"person-geschaeftspartner-einsatz-edit.r_jahr_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_GeschaeftspartnerEinsatz\",\r\n \"bindTo\": \"Jahr\",\r\n \"bindToFQ\": \"models.data.$m_GeschaeftspartnerEinsatz.Jahr\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_jahr\",\r\n \"options\": {\r\n \"optionsName\": \"r_jahrOptions\",\r\n \"optionsNameFQ\": \"r_jahrOptions\"\r\n }\r\n });\r\n super.onConstructionFinished();\r\n }\r\n}","module.exports = \"\";","import * as fwx from \"../../../../framework/forms/form-export\";\r\nimport {\r\n PersonenEditUtils\r\n} from \"./person-edit-utils\";\r\n\r\n@fwx.autoinject\r\nexport class PersonHeartbaseEditForm extends fwx.FormBase {\r\n constructor(\r\n element: Element,\r\n formBaseImport: fwx.FormBaseImport,\r\n private $f_PersonenEditUtils: PersonenEditUtils) {\r\n super(element, formBaseImport);\r\n this.id = \"person-heartbase-edit\";\r\n this.title = \"person-heartbase-edit.person-heartbase-edit_caption\";\r\n this.addModel({\r\n \"id\": \"$m_Person\",\r\n \"webApiAction\": \"ZIT/Objekte/Person\",\r\n \"webApiExpand\": {\r\n 'Personendaten': null\r\n },\r\n \"modificationInfoEnabled\": true,\r\n \"key\": \"variables.data.$id\",\r\n \"keyProperty\": \"Id\",\r\n \"postOnSave\": true,\r\n \"filters\": [{\r\n \"webApiCustomKey\": \"CanBenutzeraccountAktivieren\",\r\n \"webApiCustomValue\": \"true\"\r\n }, {\r\n \"webApiCustomKey\": \"SonstigeKontaktdatenVisible\",\r\n \"webApiCustomValue\": \"true\"\r\n }]\r\n });\r\n this.addModel({\r\n \"id\": \"$m_Bewerbung\",\r\n \"webApiAction\": \"ZIT/Objekte/Bewerbung\",\r\n \"webApiColumns\": [\"Id\"],\r\n \"webApiWhere\": [\"Kopf.IdPerson\", {\r\n \"isBound\": true,\r\n \"expression\": \"models.data.$m_Person.Id\"\r\n }],\r\n \"webApiOrderBy\": [{\r\n columnName: 'Anlagedatum',\r\n sortOrder: 1\r\n }],\r\n \"modificationInfoEnabled\": true,\r\n \"keyProperty\": \"Id\",\r\n \"filters\": [{\r\n \"webApiCustomKey\": \"AddBewerbungCard\",\r\n \"webApiCustomValue\": \"true\"\r\n }]\r\n });\r\n this.addModel({\r\n \"id\": \"$m_Termin\",\r\n \"webApiAction\": \"ZIT/Objekte/Termin\",\r\n \"webApiColumns\": [\"Id\"],\r\n \"webApiWhere\": [\r\n [\"Empfaenger\", [\r\n [\"Person.Id\", {\r\n \"isBound\": true,\r\n \"expression\": \"models.data.$m_Person.Id\"\r\n }]\r\n ]],\r\n [\"Kopf.Typ\", 0]\r\n ],\r\n \"webApiOrderBy\": [{\r\n columnName: 'Anlagedatum',\r\n sortOrder: 1\r\n }],\r\n \"modificationInfoEnabled\": true,\r\n \"keyProperty\": \"Id\",\r\n \"filters\": [{\r\n \"webApiCustomKey\": \"AddTerminCard\",\r\n \"webApiCustomValue\": \"true\"\r\n }]\r\n });\r\n this.addModel({\r\n \"id\": \"$m_BankverbindungElement\",\r\n \"webApiAction\": \"ZIT/Objekte/PersonBankverbindungElement\",\r\n \"key\": \"models.data.$m_Person.IdPersonBankverbindungElement\",\r\n \"keyProperty\": \"Id\",\r\n \"filters\": []\r\n });\r\n this.addModel({\r\n \"id\": \"$m_BerufserfahrungElement\",\r\n \"webApiAction\": \"ZIT/Objekte/PersonBerufserfahrungElement\",\r\n \"key\": \"models.data.$m_Person.IdPersonBerufserfahrungElement\",\r\n \"keyProperty\": \"Id\",\r\n \"filters\": []\r\n });\r\n this.addModel({\r\n \"id\": \"$m_AusbildungElement\",\r\n \"webApiAction\": \"ZIT/Objekte/PersonAusbildungElement\",\r\n \"key\": \"models.data.$m_Person.IdPersonAusbildungElement\",\r\n \"keyProperty\": \"Id\",\r\n \"filters\": []\r\n });\r\n this.addModel({\r\n \"id\": \"$m_BerufElement\",\r\n \"webApiAction\": \"ZIT/Objekte/PersonBerufElement\",\r\n \"key\": \"models.data.$m_Person.IdPersonBerufElement\",\r\n \"keyProperty\": \"Id\",\r\n \"filters\": []\r\n });\r\n this.addModel({\r\n \"id\": \"$m_SpracheElement\",\r\n \"webApiAction\": \"ZIT/Objekte/PersonSpracheElement\",\r\n \"key\": \"models.data.$m_Person.IdPersonSpracheElement\",\r\n \"keyProperty\": \"Id\",\r\n \"filters\": []\r\n });\r\n this.addModel({\r\n \"id\": \"$m_FuehrerscheinElement\",\r\n \"webApiAction\": \"ZIT/Objekte/PersonFuehrerscheinElement\",\r\n \"key\": \"models.data.$m_Person.IdPersonFuehrerscheinElement\",\r\n \"keyProperty\": \"Id\",\r\n \"filters\": []\r\n });\r\n this.addModel({\r\n \"id\": \"$m_PersonAdresseRel\",\r\n \"webApiAction\": \"ZIT/Objekte/PersonAdresseElement\",\r\n \"webApiExpand\": {\r\n 'Adresstyp': null,\r\n 'Land': null\r\n },\r\n \"keyProperty\": \"Id\",\r\n \"allowNew\": \"true\",\r\n \"filters\": []\r\n });\r\n this.addModel({\r\n \"id\": \"$m_PersonAdresseEdit\",\r\n \"webApiAction\": \"ZIT/Objekte/PersonAdresseElement\",\r\n \"keyProperty\": \"Id\",\r\n \"filters\": []\r\n });\r\n this.addModel({\r\n \"id\": \"$m_PersonKontaktRel\",\r\n \"webApiAction\": \"ZIT/Objekte/PersonKontaktElement\",\r\n \"webApiExpand\": {\r\n 'Kontakttyp': null\r\n },\r\n \"keyProperty\": \"Id\",\r\n \"filters\": []\r\n });\r\n this.addModel({\r\n \"id\": \"$m_PersonKontaktEdit\",\r\n \"webApiAction\": \"ZIT/Objekte/PersonKontaktElement\",\r\n \"keyProperty\": \"Id\",\r\n \"filters\": []\r\n });\r\n this.addModel({\r\n \"id\": \"$m_PersonBankverbindungRel\",\r\n \"webApiAction\": \"ZIT/Objekte/PersonBankverbindung\",\r\n \"webApiExpand\": {\r\n 'Waehrung': null\r\n },\r\n \"keyProperty\": \"Id\",\r\n \"filters\": []\r\n });\r\n this.addModel({\r\n \"id\": \"$m_PersonBankverbindungEdit\",\r\n \"webApiAction\": \"ZIT/Objekte/PersonBankverbindung\",\r\n \"keyProperty\": \"Id\",\r\n \"filters\": []\r\n });\r\n this.addModel({\r\n \"id\": \"$m_PersonBerufserfahrungRel\",\r\n \"webApiAction\": \"ZIT/Objekte/PersonBerufserfahrung\",\r\n \"keyProperty\": \"Id\",\r\n \"filters\": []\r\n });\r\n this.addModel({\r\n \"id\": \"$m_PersonBerufserfahrungEdit\",\r\n \"webApiAction\": \"ZIT/Objekte/PersonBerufserfahrung\",\r\n \"keyProperty\": \"Id\",\r\n \"filters\": []\r\n });\r\n this.addModel({\r\n \"id\": \"$m_PersonAusbildungRel\",\r\n \"webApiAction\": \"ZIT/Objekte/PersonAusbildung\",\r\n \"webApiExpand\": {\r\n 'Ausbildung': null,\r\n 'AusbildungsortOrder': null,\r\n 'AusbildungAbschluss': null\r\n },\r\n \"keyProperty\": \"Id\",\r\n \"filters\": []\r\n });\r\n this.addModel({\r\n \"id\": \"$m_PersonAusbildungEdit\",\r\n \"webApiAction\": \"ZIT/Objekte/PersonAusbildung\",\r\n \"keyProperty\": \"Id\",\r\n \"filters\": []\r\n });\r\n this.addModel({\r\n \"id\": \"$m_PersonBerufRel\",\r\n \"webApiAction\": \"ZIT/Objekte/PersonBeruf\",\r\n \"webApiExpand\": {\r\n 'Beruf': null,\r\n 'BerufQualifikation': null,\r\n 'AusbildungAbschluss': null\r\n },\r\n \"keyProperty\": \"Id\",\r\n \"filters\": []\r\n });\r\n this.addModel({\r\n \"id\": \"$m_PersonBerufEdit\",\r\n \"webApiAction\": \"ZIT/Objekte/PersonBeruf\",\r\n \"keyProperty\": \"Id\",\r\n \"filters\": []\r\n });\r\n this.addModel({\r\n \"id\": \"$m_PersonSpracheRel\",\r\n \"webApiAction\": \"ZIT/Objekte/PersonSprache\",\r\n \"webApiExpand\": {\r\n 'Sprache': null,\r\n 'Sprachniveau': null\r\n },\r\n \"keyProperty\": \"Id\",\r\n \"filters\": []\r\n });\r\n this.addModel({\r\n \"id\": \"$m_PersonSpracheEdit\",\r\n \"webApiAction\": \"ZIT/Objekte/PersonSprache\",\r\n \"keyProperty\": \"Id\",\r\n \"filters\": []\r\n });\r\n this.addModel({\r\n \"id\": \"$m_PersonFuehrerscheinRel\",\r\n \"webApiAction\": \"ZIT/Objekte/PersonFuehrerschein\",\r\n \"webApiExpand\": {\r\n 'Fuehrerscheinklasse': null\r\n },\r\n \"keyProperty\": \"Id\",\r\n \"filters\": []\r\n });\r\n this.addModel({\r\n \"id\": \"$m_PersonFuehrerscheinEdit\",\r\n \"webApiAction\": \"ZIT/Objekte/PersonFuehrerschein\",\r\n \"keyProperty\": \"Id\",\r\n \"filters\": []\r\n });\r\n this.addModel({\r\n \"id\": \"$m_PersonSkillRel\",\r\n \"webApiAction\": \"ZIT/Objekte/PersonSkillElement\",\r\n \"webApiExpand\": {\r\n 'Skill': null\r\n },\r\n \"keyProperty\": \"Id\",\r\n \"filters\": []\r\n });\r\n this.addModel({\r\n \"id\": \"$m_PersonSkillEdit\",\r\n \"webApiAction\": \"ZIT/Objekte/PersonSkillElement\",\r\n \"keyProperty\": \"Id\",\r\n \"filters\": []\r\n });\r\n this.addModel({\r\n \"id\": \"$m_DokumentRel\",\r\n \"webApiAction\": \"ZIT/Objekte/DokumentElement\",\r\n \"webApiExpand\": {\r\n 'Informationstyp': null\r\n },\r\n \"keyProperty\": \"Id\",\r\n \"filters\": []\r\n });\r\n this.addModel({\r\n \"id\": \"$m_DokumentEdit\",\r\n \"webApiAction\": \"ZIT/Objekte/DokumentElement\",\r\n \"keyProperty\": \"Id\",\r\n \"filters\": []\r\n });\r\n this.addModel({\r\n \"id\": \"$m_PersonGeschaeftspartnerEinsatzRel\",\r\n \"webApiAction\": \"ZIT/Objekte/PersonGeschaeftspartnerEinsatzElement\",\r\n \"webApiExpand\": {\r\n 'Geschaeftspartner': null\r\n },\r\n \"keyProperty\": \"Id\",\r\n \"filters\": []\r\n });\r\n this.addModel({\r\n \"id\": \"$m_PersonGeschaeftspartnerEinsatzEdit\",\r\n \"webApiAction\": \"ZIT/Objekte/PersonGeschaeftspartnerEinsatzElement\",\r\n \"keyProperty\": \"Id\",\r\n \"filters\": []\r\n });\r\n this.addCommand({\r\n \"binding\": {\r\n \"bindTo\": \"$f_PersonenEditUtils.actionCommand\",\r\n \"bindToFQ\": \"functions.$f_PersonenEditUtils.actionCommand\"\r\n }\r\n });\r\n this.addEditPopup({\r\n \"idContent\": \"personAdresseEditPopupContent\",\r\n \"mappings\": [{\r\n \"to\": \"$id\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_PersonAdresseEdit\",\r\n \"bindTo\": \"Id\",\r\n \"bindToFQ\": \"models.data.$m_PersonAdresseEdit.Id\"\r\n }\r\n }],\r\n \"id\": \"personAdresseEditPopup\",\r\n \"options\": {\r\n \"optionsName\": \"personAdresseEditPopupOptions\",\r\n \"optionsNameFQ\": \"personAdresseEditPopupOptions\"\r\n },\r\n \"height\": \"auto\",\r\n \"width\": \"500px\",\r\n \"commands\": []\r\n });\r\n this.addEditPopup({\r\n \"idContent\": \"personBankverbindungEditPopupContent\",\r\n \"mappings\": [{\r\n \"to\": \"$id\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_PersonBankverbindungEdit\",\r\n \"bindTo\": \"Id\",\r\n \"bindToFQ\": \"models.data.$m_PersonBankverbindungEdit.Id\"\r\n }\r\n }],\r\n \"id\": \"personBankverbindungEditPopup\",\r\n \"options\": {\r\n \"optionsName\": \"personBankverbindungEditPopupOptions\",\r\n \"optionsNameFQ\": \"personBankverbindungEditPopupOptions\"\r\n },\r\n \"height\": \"auto\",\r\n \"width\": \"500px\",\r\n \"commands\": []\r\n });\r\n this.addEditPopup({\r\n \"idContent\": \"personBerufserfahrungEditPopupContent\",\r\n \"mappings\": [{\r\n \"to\": \"$id\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_PersonBerufserfahrungEdit\",\r\n \"bindTo\": \"Id\",\r\n \"bindToFQ\": \"models.data.$m_PersonBerufserfahrungEdit.Id\"\r\n }\r\n }],\r\n \"id\": \"personBerufserfahrungEditPopup\",\r\n \"options\": {\r\n \"optionsName\": \"personBerufserfahrungEditPopupOptions\",\r\n \"optionsNameFQ\": \"personBerufserfahrungEditPopupOptions\"\r\n },\r\n \"height\": \"auto\",\r\n \"width\": \"500px\",\r\n \"commands\": []\r\n });\r\n this.addEditPopup({\r\n \"idContent\": \"personGeschaeftspartnerEinsatzEditPopupContent\",\r\n \"mappings\": [{\r\n \"to\": \"$id\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_PersonGeschaeftspartnerEinsatzEdit\",\r\n \"bindTo\": \"Id\",\r\n \"bindToFQ\": \"models.data.$m_PersonGeschaeftspartnerEinsatzEdit.Id\"\r\n }\r\n }],\r\n \"id\": \"personGeschaeftspartnerEinsatzEditPopup\",\r\n \"options\": {\r\n \"optionsName\": \"personGeschaeftspartnerEinsatzEditPopupOptions\",\r\n \"optionsNameFQ\": \"personGeschaeftspartnerEinsatzEditPopupOptions\"\r\n },\r\n \"height\": \"auto\",\r\n \"width\": \"500px\",\r\n \"commands\": []\r\n });\r\n this.addEditPopup({\r\n \"idContent\": \"personFuehrerscheinEditPopupContent\",\r\n \"mappings\": [{\r\n \"to\": \"$id\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_PersonFuehrerscheinEdit\",\r\n \"bindTo\": \"Id\",\r\n \"bindToFQ\": \"models.data.$m_PersonFuehrerscheinEdit.Id\"\r\n }\r\n }],\r\n \"id\": \"personFuehrerscheinEditPopup\",\r\n \"options\": {\r\n \"optionsName\": \"personFuehrerscheinEditPopupOptions\",\r\n \"optionsNameFQ\": \"personFuehrerscheinEditPopupOptions\"\r\n },\r\n \"height\": \"auto\",\r\n \"width\": \"500px\",\r\n \"commands\": []\r\n });\r\n this.addEditPopup({\r\n \"idContent\": \"personSkillEditPopupContent\",\r\n \"mappings\": [{\r\n \"to\": \"$id\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_PersonSkillEdit\",\r\n \"bindTo\": \"Id\",\r\n \"bindToFQ\": \"models.data.$m_PersonSkillEdit.Id\"\r\n }\r\n }],\r\n \"id\": \"personSkillEditPopup\",\r\n \"options\": {\r\n \"optionsName\": \"personSkillEditPopupOptions\",\r\n \"optionsNameFQ\": \"personSkillEditPopupOptions\"\r\n },\r\n \"height\": \"auto\",\r\n \"width\": \"500px\",\r\n \"commands\": []\r\n });\r\n this.addEditPopup({\r\n \"idContent\": \"personBerufEditPopupContent\",\r\n \"mappings\": [{\r\n \"to\": \"$id\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_PersonBerufEdit\",\r\n \"bindTo\": \"Id\",\r\n \"bindToFQ\": \"models.data.$m_PersonBerufEdit.Id\"\r\n }\r\n }],\r\n \"id\": \"personBerufEditPopup\",\r\n \"options\": {\r\n \"optionsName\": \"personBerufEditPopupOptions\",\r\n \"optionsNameFQ\": \"personBerufEditPopupOptions\"\r\n },\r\n \"height\": \"auto\",\r\n \"width\": \"500px\",\r\n \"commands\": []\r\n });\r\n this.addEditPopup({\r\n \"idContent\": \"personSpracheEditPopupContent\",\r\n \"mappings\": [{\r\n \"to\": \"$id\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_PersonSpracheEdit\",\r\n \"bindTo\": \"Id\",\r\n \"bindToFQ\": \"models.data.$m_PersonSpracheEdit.Id\"\r\n }\r\n }],\r\n \"id\": \"personSpracheEditPopup\",\r\n \"options\": {\r\n \"optionsName\": \"personSpracheEditPopupOptions\",\r\n \"optionsNameFQ\": \"personSpracheEditPopupOptions\"\r\n },\r\n \"height\": \"auto\",\r\n \"width\": \"500px\",\r\n \"commands\": []\r\n });\r\n this.addEditPopup({\r\n \"idContent\": \"personAusbildungEditPopupContent\",\r\n \"mappings\": [{\r\n \"to\": \"$id\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_PersonAusbildungEdit\",\r\n \"bindTo\": \"Id\",\r\n \"bindToFQ\": \"models.data.$m_PersonAusbildungEdit.Id\"\r\n }\r\n }],\r\n \"id\": \"personAusbildungEditPopup\",\r\n \"options\": {\r\n \"optionsName\": \"personAusbildungEditPopupOptions\",\r\n \"optionsNameFQ\": \"personAusbildungEditPopupOptions\"\r\n },\r\n \"height\": \"auto\",\r\n \"width\": \"500px\",\r\n \"commands\": []\r\n });\r\n this.addEditPopup({\r\n \"idContent\": \"personKontaktEditPopupContent\",\r\n \"mappings\": [{\r\n \"to\": \"$id\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_PersonKontaktEdit\",\r\n \"bindTo\": \"Id\",\r\n \"bindToFQ\": \"models.data.$m_PersonKontaktEdit.Id\"\r\n }\r\n }],\r\n \"id\": \"personKontaktEditPopup\",\r\n \"options\": {\r\n \"optionsName\": \"personKontaktEditPopupOptions\",\r\n \"optionsNameFQ\": \"personKontaktEditPopupOptions\"\r\n },\r\n \"height\": \"350px\",\r\n \"width\": \"500px\",\r\n \"commands\": []\r\n });\r\n this.addFunction(\"$f_PersonenEditUtils\", $f_PersonenEditUtils, \"functions.$f_PersonenEditUtils\");\r\n this.widgetCreator.addValidationGroup(this, {\r\n \"id\": \"wd1\",\r\n \"options\": {\r\n \"optionsName\": \"wd1Options\",\r\n \"optionsNameFQ\": \"wd1Options\"\r\n }\r\n });\r\n this.widgetCreator.addRadioGroup(this, {\r\n \"idSelect\": \"geschlecht\",\r\n \"filters\": [],\r\n \"caption\": \"person-heartbase-edit.r_geschlecht_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Person\",\r\n \"bindTo\": \"Personendaten.Geschlecht\",\r\n \"bindToFQ\": \"models.data.$m_Person.Personendaten.Geschlecht\",\r\n \"propertyPrefix\": \"Personendaten\"\r\n },\r\n \"validationRules\": [{\r\n \"item\": {\r\n \"type\": \"required\",\r\n \"parameters\": []\r\n }\r\n }],\r\n \"id\": \"r_geschlecht\",\r\n \"options\": {\r\n \"optionsName\": \"r_geschlechtOptions\",\r\n \"optionsNameFQ\": \"r_geschlechtOptions\"\r\n }\r\n });\r\n this.widgetCreator.addTextBox(this, {\r\n \"maxLength\": 50,\r\n \"caption\": \"person-heartbase-edit.r_titelvorne_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Person\",\r\n \"bindTo\": \"Personendaten.TitelVorne\",\r\n \"bindToFQ\": \"models.data.$m_Person.Personendaten.TitelVorne\",\r\n \"propertyPrefix\": \"Personendaten\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_titelVorne\",\r\n \"options\": {\r\n \"optionsName\": \"r_titelVorneOptions\",\r\n \"optionsNameFQ\": \"r_titelVorneOptions\"\r\n }\r\n });\r\n this.widgetCreator.addTextBox(this, {\r\n \"maxLength\": 50,\r\n \"caption\": \"person-heartbase-edit.r_titelhinten_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Person\",\r\n \"bindTo\": \"Personendaten.TitelHinten\",\r\n \"bindToFQ\": \"models.data.$m_Person.Personendaten.TitelHinten\",\r\n \"propertyPrefix\": \"Personendaten\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_titelHinten\",\r\n \"options\": {\r\n \"optionsName\": \"r_titelHintenOptions\",\r\n \"optionsNameFQ\": \"r_titelHintenOptions\"\r\n }\r\n });\r\n this.widgetCreator.addTextBox(this, {\r\n \"maxLength\": 100,\r\n \"caption\": \"person-heartbase-edit.r_vorname_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Person\",\r\n \"bindTo\": \"Personendaten.Vorname\",\r\n \"bindToFQ\": \"models.data.$m_Person.Personendaten.Vorname\",\r\n \"propertyPrefix\": \"Personendaten\"\r\n },\r\n \"validationRules\": [{\r\n \"item\": {\r\n \"type\": \"required\",\r\n \"parameters\": []\r\n }\r\n }],\r\n \"id\": \"r_vorname\",\r\n \"options\": {\r\n \"optionsName\": \"r_vornameOptions\",\r\n \"optionsNameFQ\": \"r_vornameOptions\"\r\n }\r\n });\r\n this.widgetCreator.addTextBox(this, {\r\n \"maxLength\": 100,\r\n \"caption\": \"person-heartbase-edit.r_nachname_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Person\",\r\n \"bindTo\": \"Personendaten.Nachname\",\r\n \"bindToFQ\": \"models.data.$m_Person.Personendaten.Nachname\",\r\n \"propertyPrefix\": \"Personendaten\"\r\n },\r\n \"validationRules\": [{\r\n \"item\": {\r\n \"type\": \"required\",\r\n \"parameters\": []\r\n }\r\n }],\r\n \"id\": \"r_nachname\",\r\n \"options\": {\r\n \"optionsName\": \"r_nachnameOptions\",\r\n \"optionsNameFQ\": \"r_nachnameOptions\"\r\n }\r\n });\r\n this.widgetCreator.addDateBox(this, {\r\n \"format\": \"d\",\r\n \"caption\": \"person-heartbase-edit.r_geburtsdatum_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Person\",\r\n \"bindTo\": \"Personendaten.Geburtsdatum\",\r\n \"bindToFQ\": \"models.data.$m_Person.Personendaten.Geburtsdatum\",\r\n \"propertyPrefix\": \"Personendaten\"\r\n },\r\n \"validationRules\": [{\r\n \"item\": {\r\n \"type\": \"required\",\r\n \"parameters\": []\r\n }\r\n }],\r\n \"id\": \"r_geburtsdatum\",\r\n \"options\": {\r\n \"optionsName\": \"r_geburtsdatumOptions\",\r\n \"optionsNameFQ\": \"r_geburtsdatumOptions\"\r\n }\r\n });\r\n this.widgetCreator.addSelectBox(this, {\r\n \"idSelect\": \"staat\",\r\n \"filters\": [],\r\n \"caption\": \"person-heartbase-edit.r_idnationalitaet_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Person\",\r\n \"bindTo\": \"Personendaten.IdNationalitaet\",\r\n \"bindToFQ\": \"models.data.$m_Person.Personendaten.IdNationalitaet\",\r\n \"propertyPrefix\": \"Personendaten\"\r\n },\r\n \"validationRules\": [{\r\n \"item\": {\r\n \"type\": \"required\",\r\n \"parameters\": []\r\n }\r\n }],\r\n \"id\": \"r_idNationalitaet\",\r\n \"options\": {\r\n \"optionsName\": \"r_idNationalitaetOptions\",\r\n \"optionsNameFQ\": \"r_idNationalitaetOptions\"\r\n }\r\n });\r\n this.widgetCreator.addSelectBox(this, {\r\n \"idSelect\": \"familienstand\",\r\n \"filters\": [],\r\n \"caption\": \"person-heartbase-edit.r_familienstand_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Person\",\r\n \"bindTo\": \"Personendaten.IdFamilienstand\",\r\n \"bindToFQ\": \"models.data.$m_Person.Personendaten.IdFamilienstand\",\r\n \"propertyPrefix\": \"Personendaten\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_familienstand\",\r\n \"options\": {\r\n \"optionsName\": \"r_familienstandOptions\",\r\n \"optionsNameFQ\": \"r_familienstandOptions\"\r\n }\r\n });\r\n this.widgetCreator.addTextBox(this, {\r\n \"maxLength\": 4,\r\n \"caption\": \"person-heartbase-edit.r_svnr_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Person\",\r\n \"bindTo\": \"Personendaten.SVNr\",\r\n \"bindToFQ\": \"models.data.$m_Person.Personendaten.SVNr\",\r\n \"propertyPrefix\": \"Personendaten\"\r\n },\r\n \"validationRules\": [{\r\n \"item\": {\r\n \"type\": \"svnr\",\r\n \"parameters\": []\r\n }\r\n }],\r\n \"id\": \"r_svNr\",\r\n \"options\": {\r\n \"optionsName\": \"r_svNrOptions\",\r\n \"optionsNameFQ\": \"r_svNrOptions\"\r\n }\r\n });\r\n this.widgetCreator.addSelectBox(this, {\r\n \"idSelect\": \"groesseSchuh\",\r\n \"filters\": [],\r\n \"caption\": \"person-heartbase-edit.r_schuhgroesse_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Person\",\r\n \"bindTo\": \"Personendaten.IdSchuhgroesse\",\r\n \"bindToFQ\": \"models.data.$m_Person.Personendaten.IdSchuhgroesse\",\r\n \"propertyPrefix\": \"Personendaten\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_schuhgroesse\",\r\n \"options\": {\r\n \"optionsName\": \"r_schuhgroesseOptions\",\r\n \"optionsNameFQ\": \"r_schuhgroesseOptions\"\r\n }\r\n });\r\n this.widgetCreator.addSelectBox(this, {\r\n \"idSelect\": \"groesseKleider\",\r\n \"filters\": [],\r\n \"caption\": \"person-heartbase-edit.r_kleidergroesse_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Person\",\r\n \"bindTo\": \"Personendaten.IdKleidergroesse\",\r\n \"bindToFQ\": \"models.data.$m_Person.Personendaten.IdKleidergroesse\",\r\n \"propertyPrefix\": \"Personendaten\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_kleidergroesse\",\r\n \"options\": {\r\n \"optionsName\": \"r_kleidergroesseOptions\",\r\n \"optionsNameFQ\": \"r_kleidergroesseOptions\"\r\n }\r\n });\r\n this.widgetCreator.addFileUploaderWithViewer(this, {\r\n \"acceptTypeEnum\": 0,\r\n \"acceptType\": \"image/*\",\r\n \"height\": \"250px\",\r\n \"showToolbar\": true,\r\n \"showClearButton\": false,\r\n \"caption\": \"person-heartbase-edit.r_dmslinkfoto_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Person\",\r\n \"bindTo\": \"Personendaten.DMSLinkFoto\",\r\n \"bindToFQ\": \"models.data.$m_Person.Personendaten.DMSLinkFoto\",\r\n \"propertyPrefix\": \"Personendaten\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_dmsLinkFoto\",\r\n \"options\": {\r\n \"optionsName\": \"r_dmsLinkFotoOptions\",\r\n \"optionsNameFQ\": \"r_dmsLinkFotoOptions\"\r\n }\r\n });\r\n this.widgetCreator.addTextArea(this, {\r\n \"height\": \"100px\",\r\n \"caption\": \"person-heartbase-edit.r_bemerkung_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Person\",\r\n \"bindTo\": \"Personendaten.Bemerkung\",\r\n \"bindToFQ\": \"models.data.$m_Person.Personendaten.Bemerkung\",\r\n \"propertyPrefix\": \"Personendaten\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_bemerkung\",\r\n \"options\": {\r\n \"optionsName\": \"r_bemerkungOptions\",\r\n \"optionsNameFQ\": \"r_bemerkungOptions\"\r\n }\r\n });\r\n this.widgetCreator.addTextBox(this, {\r\n \"maxLength\": 100,\r\n \"caption\": \"person-heartbase-edit.r_email_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Person\",\r\n \"bindTo\": \"Personendaten.Email\",\r\n \"bindToFQ\": \"models.data.$m_Person.Personendaten.Email\",\r\n \"propertyPrefix\": \"Personendaten\"\r\n },\r\n \"validationRules\": [{\r\n \"item\": {\r\n \"type\": \"conditionalRequired\",\r\n \"parameters\": [{\r\n \"name\": \"condition\",\r\n \"value\": \"models.data.$m_Person.Personendaten && (!models.data.$m_Person.Personendaten.Mobil || !models.data.$m_Person.Personendaten.MobilLandvorwahl)\"\r\n }]\r\n }\r\n }],\r\n \"id\": \"r_email\",\r\n \"options\": {\r\n \"optionsName\": \"r_emailOptions\",\r\n \"optionsNameFQ\": \"r_emailOptions\"\r\n }\r\n });\r\n this.widgetCreator.addSelectBox(this, {\r\n \"idSelect\": \"landvorwahl\",\r\n \"filters\": [],\r\n \"caption\": \"person-heartbase-edit.r_mobillandvorwahl_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Person\",\r\n \"bindTo\": \"Personendaten.MobilLandvorwahl\",\r\n \"bindToFQ\": \"models.data.$m_Person.Personendaten.MobilLandvorwahl\",\r\n \"propertyPrefix\": \"Personendaten\"\r\n },\r\n \"validationRules\": [{\r\n \"item\": {\r\n \"type\": \"conditionalRequired\",\r\n \"parameters\": [{\r\n \"name\": \"condition\",\r\n \"value\": \"models.data.$m_Person.Personendaten && models.data.$m_Person.Personendaten.Mobil\"\r\n }]\r\n }\r\n }, {\r\n \"item\": {\r\n \"type\": \"conditionalRequired\",\r\n \"parameters\": [{\r\n \"name\": \"condition\",\r\n \"value\": \"models.data.$m_Person.Personendaten && !models.data.$m_Person.Personendaten.Email\"\r\n }]\r\n }\r\n }],\r\n \"id\": \"r_mobilLandvorwahl\",\r\n \"options\": {\r\n \"optionsName\": \"r_mobilLandvorwahlOptions\",\r\n \"optionsNameFQ\": \"r_mobilLandvorwahlOptions\"\r\n }\r\n });\r\n this.widgetCreator.addTextBox(this, {\r\n \"maxLength\": 100,\r\n \"caption\": \"person-heartbase-edit.r_mobil_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Person\",\r\n \"bindTo\": \"Personendaten.Mobil\",\r\n \"bindToFQ\": \"models.data.$m_Person.Personendaten.Mobil\",\r\n \"propertyPrefix\": \"Personendaten\"\r\n },\r\n \"validationRules\": [{\r\n \"item\": {\r\n \"type\": \"telefon\",\r\n \"parameters\": []\r\n }\r\n }, {\r\n \"item\": {\r\n \"type\": \"conditionalRequired\",\r\n \"parameters\": [{\r\n \"name\": \"condition\",\r\n \"value\": \"models.data.$m_Person.Personendaten && !models.data.$m_Person.Personendaten.Email\"\r\n }]\r\n }\r\n }],\r\n \"id\": \"r_mobil\",\r\n \"options\": {\r\n \"optionsName\": \"r_mobilOptions\",\r\n \"optionsNameFQ\": \"r_mobilOptions\"\r\n }\r\n });\r\n this.widgetCreator.addListView(this, {\r\n \"itemClass\": \"z--list-view-inline-item\",\r\n \"useDefaultListItemStyle\": false,\r\n \"optionsToolbar\": {\r\n \"optionsName\": \"r_personAdresseListViewToolbarOptions\",\r\n \"optionsNameFQ\": \"r_personAdresseListViewToolbarOptions\"\r\n },\r\n \"binding\": {\r\n \"dataContext\": \"$m_Person\"\r\n },\r\n \"isRelation\": true,\r\n \"relationBinding\": {\r\n \"dataContext\": \"$m_PersonAdresseRel\",\r\n \"bindTo\": \"IdPerson\",\r\n \"bindToFQ\": \"models.data.$m_PersonAdresseRel.IdPerson\"\r\n },\r\n \"dataModel\": \"$m_Person\",\r\n \"editDataContext\": \"$m_PersonAdresseEdit\",\r\n \"idEditPopup\": \"personAdresseEditPopup\",\r\n \"listEdits\": [],\r\n \"filters\": [],\r\n \"commands\": [],\r\n \"id\": \"r_personAdresseListView\",\r\n \"options\": {\r\n \"optionsName\": \"r_personAdresseListViewOptions\",\r\n \"optionsNameFQ\": \"r_personAdresseListViewOptions\"\r\n }\r\n });\r\n this.widgetCreator.addListView(this, {\r\n \"itemClass\": \"z--list-view-inline-item\",\r\n \"useDefaultListItemStyle\": false,\r\n \"optionsToolbar\": {\r\n \"optionsName\": \"r_personAusbildungListViewToolbarOptions\",\r\n \"optionsNameFQ\": \"r_personAusbildungListViewToolbarOptions\"\r\n },\r\n \"binding\": {\r\n \"dataContext\": \"$m_AusbildungElement\"\r\n },\r\n \"isRelation\": true,\r\n \"relationBinding\": {\r\n \"dataContext\": \"$m_PersonAusbildungRel\",\r\n \"bindTo\": \"IdPersonAusbildungElement\",\r\n \"bindToFQ\": \"models.data.$m_PersonAusbildungRel.IdPersonAusbildungElement\"\r\n },\r\n \"dataModel\": \"$m_AusbildungElement\",\r\n \"editDataContext\": \"$m_PersonAusbildungEdit\",\r\n \"idEditPopup\": \"personAusbildungEditPopup\",\r\n \"listEdits\": [],\r\n \"filters\": [],\r\n \"commands\": [],\r\n \"id\": \"r_personAusbildungListView\",\r\n \"options\": {\r\n \"optionsName\": \"r_personAusbildungListViewOptions\",\r\n \"optionsNameFQ\": \"r_personAusbildungListViewOptions\"\r\n }\r\n });\r\n this.widgetCreator.addListView(this, {\r\n \"itemClass\": \"z--list-view-inline-item\",\r\n \"useDefaultListItemStyle\": false,\r\n \"optionsToolbar\": {\r\n \"optionsName\": \"r_personBankverbindungListViewToolbarOptions\",\r\n \"optionsNameFQ\": \"r_personBankverbindungListViewToolbarOptions\"\r\n },\r\n \"binding\": {\r\n \"dataContext\": \"$m_BankverbindungElement\"\r\n },\r\n \"isRelation\": true,\r\n \"relationBinding\": {\r\n \"dataContext\": \"$m_PersonBankverbindungRel\",\r\n \"bindTo\": \"IdPersonBankverbindungElement\",\r\n \"bindToFQ\": \"models.data.$m_PersonBankverbindungRel.IdPersonBankverbindungElement\"\r\n },\r\n \"dataModel\": \"$m_BankverbindungElement\",\r\n \"editDataContext\": \"$m_PersonBankverbindungEdit\",\r\n \"idEditPopup\": \"personBankverbindungEditPopup\",\r\n \"listEdits\": [],\r\n \"filters\": [],\r\n \"commands\": [],\r\n \"id\": \"r_personBankverbindungListView\",\r\n \"options\": {\r\n \"optionsName\": \"r_personBankverbindungListViewOptions\",\r\n \"optionsNameFQ\": \"r_personBankverbindungListViewOptions\"\r\n }\r\n });\r\n this.widgetCreator.addListView(this, {\r\n \"itemClass\": \"z--list-view-inline-item\",\r\n \"useDefaultListItemStyle\": false,\r\n \"optionsToolbar\": {\r\n \"optionsName\": \"r_personBerufserfahrungListViewToolbarOptions\",\r\n \"optionsNameFQ\": \"r_personBerufserfahrungListViewToolbarOptions\"\r\n },\r\n \"binding\": {\r\n \"dataContext\": \"$m_BerufserfahrungElement\"\r\n },\r\n \"isRelation\": true,\r\n \"relationBinding\": {\r\n \"dataContext\": \"$m_PersonBerufserfahrungRel\",\r\n \"bindTo\": \"IdPersonBerufserfahrungElement\",\r\n \"bindToFQ\": \"models.data.$m_PersonBerufserfahrungRel.IdPersonBerufserfahrungElement\"\r\n },\r\n \"dataModel\": \"$m_BerufserfahrungElement\",\r\n \"editDataContext\": \"$m_PersonBerufserfahrungEdit\",\r\n \"idEditPopup\": \"personBerufserfahrungEditPopup\",\r\n \"listEdits\": [],\r\n \"filters\": [],\r\n \"commands\": [],\r\n \"id\": \"r_personBerufserfahrungListView\",\r\n \"options\": {\r\n \"optionsName\": \"r_personBerufserfahrungListViewOptions\",\r\n \"optionsNameFQ\": \"r_personBerufserfahrungListViewOptions\"\r\n }\r\n });\r\n this.widgetCreator.addListView(this, {\r\n \"itemClass\": \"z--list-view-inline-item\",\r\n \"useDefaultListItemStyle\": false,\r\n \"optionsToolbar\": {\r\n \"optionsName\": \"r_personBerufListViewToolbarOptions\",\r\n \"optionsNameFQ\": \"r_personBerufListViewToolbarOptions\"\r\n },\r\n \"binding\": {\r\n \"dataContext\": \"$m_BerufElement\"\r\n },\r\n \"isRelation\": true,\r\n \"relationBinding\": {\r\n \"dataContext\": \"$m_PersonBerufRel\",\r\n \"bindTo\": \"IdPersonBerufElement\",\r\n \"bindToFQ\": \"models.data.$m_PersonBerufRel.IdPersonBerufElement\"\r\n },\r\n \"dataModel\": \"$m_BerufElement\",\r\n \"editDataContext\": \"$m_PersonBerufEdit\",\r\n \"idEditPopup\": \"personBerufEditPopup\",\r\n \"listEdits\": [],\r\n \"filters\": [],\r\n \"commands\": [],\r\n \"id\": \"r_personBerufListView\",\r\n \"options\": {\r\n \"optionsName\": \"r_personBerufListViewOptions\",\r\n \"optionsNameFQ\": \"r_personBerufListViewOptions\"\r\n }\r\n });\r\n this.widgetCreator.addListView(this, {\r\n \"itemClass\": \"z--list-view-inline-item\",\r\n \"useDefaultListItemStyle\": false,\r\n \"optionsToolbar\": {\r\n \"optionsName\": \"r_personFuehrerscheinListViewToolbarOptions\",\r\n \"optionsNameFQ\": \"r_personFuehrerscheinListViewToolbarOptions\"\r\n },\r\n \"binding\": {\r\n \"dataContext\": \"$m_FuehrerscheinElement\"\r\n },\r\n \"isRelation\": true,\r\n \"relationBinding\": {\r\n \"dataContext\": \"$m_PersonFuehrerscheinRel\",\r\n \"bindTo\": \"IdPersonFuehrerscheinElement\",\r\n \"bindToFQ\": \"models.data.$m_PersonFuehrerscheinRel.IdPersonFuehrerscheinElement\"\r\n },\r\n \"dataModel\": \"$m_FuehrerscheinElement\",\r\n \"editDataContext\": \"$m_PersonFuehrerscheinEdit\",\r\n \"idEditPopup\": \"personFuehrerscheinEditPopup\",\r\n \"listEdits\": [],\r\n \"filters\": [],\r\n \"commands\": [],\r\n \"id\": \"r_personFuehrerscheinListView\",\r\n \"options\": {\r\n \"optionsName\": \"r_personFuehrerscheinListViewOptions\",\r\n \"optionsNameFQ\": \"r_personFuehrerscheinListViewOptions\"\r\n }\r\n });\r\n this.widgetCreator.addListView(this, {\r\n \"itemClass\": \"z--list-view-inline-item\",\r\n \"useDefaultListItemStyle\": false,\r\n \"optionsToolbar\": {\r\n \"optionsName\": \"r_personKontaktdatenListViewToolbarOptions\",\r\n \"optionsNameFQ\": \"r_personKontaktdatenListViewToolbarOptions\"\r\n },\r\n \"binding\": {\r\n \"dataContext\": \"$m_Person\"\r\n },\r\n \"isRelation\": true,\r\n \"relationBinding\": {\r\n \"dataContext\": \"$m_PersonKontaktRel\",\r\n \"bindTo\": \"IdPerson\",\r\n \"bindToFQ\": \"models.data.$m_PersonKontaktRel.IdPerson\"\r\n },\r\n \"dataModel\": \"$m_Person\",\r\n \"editDataContext\": \"$m_PersonKontaktEdit\",\r\n \"idEditPopup\": \"personKontaktEditPopup\",\r\n \"listEdits\": [],\r\n \"filters\": [],\r\n \"commands\": [],\r\n \"id\": \"r_personKontaktdatenListView\",\r\n \"options\": {\r\n \"optionsName\": \"r_personKontaktdatenListViewOptions\",\r\n \"optionsNameFQ\": \"r_personKontaktdatenListViewOptions\"\r\n }\r\n });\r\n this.widgetCreator.addListView(this, {\r\n \"itemClass\": \"z--list-view-inline-item\",\r\n \"useDefaultListItemStyle\": false,\r\n \"optionsToolbar\": {\r\n \"optionsName\": \"r_personSpracheListViewToolbarOptions\",\r\n \"optionsNameFQ\": \"r_personSpracheListViewToolbarOptions\"\r\n },\r\n \"binding\": {\r\n \"dataContext\": \"$m_SpracheElement\"\r\n },\r\n \"isRelation\": true,\r\n \"relationBinding\": {\r\n \"dataContext\": \"$m_PersonSpracheRel\",\r\n \"bindTo\": \"IdPersonSpracheElement\",\r\n \"bindToFQ\": \"models.data.$m_PersonSpracheRel.IdPersonSpracheElement\"\r\n },\r\n \"dataModel\": \"$m_SpracheElement\",\r\n \"editDataContext\": \"$m_PersonSpracheEdit\",\r\n \"idEditPopup\": \"personSpracheEditPopup\",\r\n \"listEdits\": [],\r\n \"filters\": [],\r\n \"commands\": [],\r\n \"id\": \"r_personSpracheListView\",\r\n \"options\": {\r\n \"optionsName\": \"r_personSpracheListViewOptions\",\r\n \"optionsNameFQ\": \"r_personSpracheListViewOptions\"\r\n }\r\n });\r\n this.widgetCreator.addListView(this, {\r\n \"itemClass\": \"z--list-view-inline-item\",\r\n \"useDefaultListItemStyle\": false,\r\n \"optionsToolbar\": {\r\n \"optionsName\": \"r_personSkillListViewToolbarOptions\",\r\n \"optionsNameFQ\": \"r_personSkillListViewToolbarOptions\"\r\n },\r\n \"binding\": {\r\n \"dataContext\": \"$m_Person\"\r\n },\r\n \"isRelation\": true,\r\n \"relationBinding\": {\r\n \"dataContext\": \"$m_PersonSkillRel\",\r\n \"bindTo\": \"IdPerson\",\r\n \"bindToFQ\": \"models.data.$m_PersonSkillRel.IdPerson\"\r\n },\r\n \"dataModel\": \"$m_Person\",\r\n \"editDataContext\": \"$m_PersonSkillEdit\",\r\n \"idEditPopup\": \"personSkillEditPopup\",\r\n \"listEdits\": [],\r\n \"filters\": [],\r\n \"commands\": [],\r\n \"id\": \"r_personSkillListView\",\r\n \"options\": {\r\n \"optionsName\": \"r_personSkillListViewOptions\",\r\n \"optionsNameFQ\": \"r_personSkillListViewOptions\"\r\n }\r\n });\r\n this.widgetCreator.addListView(this, {\r\n \"itemClass\": \"z--list-view-inline-item\",\r\n \"useDefaultListItemStyle\": false,\r\n \"optionsToolbar\": {\r\n \"optionsName\": \"r_personGeschaeftspartnerEinsatzListViewToolbarOptions\",\r\n \"optionsNameFQ\": \"r_personGeschaeftspartnerEinsatzListViewToolbarOptions\"\r\n },\r\n \"binding\": {\r\n \"dataContext\": \"$m_Person\"\r\n },\r\n \"isRelation\": true,\r\n \"relationBinding\": {\r\n \"dataContext\": \"$m_PersonGeschaeftspartnerEinsatzRel\",\r\n \"bindTo\": \"IdPerson\",\r\n \"bindToFQ\": \"models.data.$m_PersonGeschaeftspartnerEinsatzRel.IdPerson\"\r\n },\r\n \"dataModel\": \"$m_Person\",\r\n \"editDataContext\": \"$m_PersonGeschaeftspartnerEinsatzEdit\",\r\n \"idEditPopup\": \"personGeschaeftspartnerEinsatzEditPopup\",\r\n \"listEdits\": [],\r\n \"filters\": [],\r\n \"commands\": [],\r\n \"id\": \"r_personGeschaeftspartnerEinsatzListView\",\r\n \"options\": {\r\n \"optionsName\": \"r_personGeschaeftspartnerEinsatzListViewOptions\",\r\n \"optionsNameFQ\": \"r_personGeschaeftspartnerEinsatzListViewOptions\"\r\n }\r\n });\r\n this.widgetCreator.addListView(this, {\r\n \"itemClass\": \"col-xs-12 col-sm-6\",\r\n \"useDefaultListItemStyle\": false,\r\n \"createToolbar\": true,\r\n \"optionsToolbar\": {\r\n \"optionsName\": \"r_personBewerbungListViewToolbarOptions\",\r\n \"optionsNameFQ\": \"r_personBewerbungListViewToolbarOptions\"\r\n },\r\n \"caption\": \"person-heartbase-edit.r_personbewerbunglistview_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Bewerbung\"\r\n },\r\n \"dataModel\": \"$m_Bewerbung\",\r\n \"pageSize\": 2,\r\n \"listEdits\": [],\r\n \"filters\": [],\r\n \"commands\": [],\r\n \"id\": \"r_personBewerbungListView\",\r\n \"options\": {\r\n \"optionsName\": \"r_personBewerbungListViewOptions\",\r\n \"optionsNameFQ\": \"r_personBewerbungListViewOptions\"\r\n }\r\n });\r\n this.widgetCreator.addListView(this, {\r\n \"itemClass\": \"col-xs-12 col-sm-6\",\r\n \"useDefaultListItemStyle\": false,\r\n \"createToolbar\": true,\r\n \"optionsToolbar\": {\r\n \"optionsName\": \"r_personTerminListViewToolbarOptions\",\r\n \"optionsNameFQ\": \"r_personTerminListViewToolbarOptions\"\r\n },\r\n \"caption\": \"person-heartbase-edit.r_personterminlistview_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Termin\"\r\n },\r\n \"dataModel\": \"$m_Termin\",\r\n \"pageSize\": 2,\r\n \"listEdits\": [],\r\n \"filters\": [],\r\n \"commands\": [],\r\n \"id\": \"r_personTerminListView\",\r\n \"options\": {\r\n \"optionsName\": \"r_personTerminListViewOptions\",\r\n \"optionsNameFQ\": \"r_personTerminListViewOptions\"\r\n }\r\n });\r\n super.onConstructionFinished();\r\n }\r\n}","module.exports = \"\";","import * as fwx from \"../../../../framework/forms/form-export\";\r\nimport {\r\n PersonReadUtils\r\n} from \"./person-read-utils\";\r\n\r\n@fwx.autoinject\r\nexport class PersonHeartbaseReadForm extends fwx.FormBase {\r\n constructor(\r\n element: Element,\r\n formBaseImport: fwx.FormBaseImport,\r\n private $f_PersonReadUtils: PersonReadUtils) {\r\n super(element, formBaseImport);\r\n this.id = \"person-heartbase-read\";\r\n this.title = \"person-heartbase-read.person-heartbase-read_caption\";\r\n this.addModel({\r\n \"id\": \"$m_Person\",\r\n \"webApiAction\": \"ZIT/Objekte/Person\",\r\n \"webApiExpand\": {\r\n 'Personendaten': {\r\n 'expand': {\r\n 'Nationalitaet': null\r\n }\r\n },\r\n 'Adressen': {\r\n 'expand': {\r\n 'Land': null\r\n },\r\n 'where': [\r\n [\r\n [\r\n 'GueltigVon',\r\n '<=',\r\n '@Today()'\r\n ],\r\n 'or',\r\n [\r\n 'GueltigVon',\r\n '=',\r\n 'null'\r\n ]\r\n ],\r\n [\r\n [\r\n 'GueltigBis',\r\n '>=',\r\n '@Today()'\r\n ],\r\n 'or',\r\n [\r\n 'GueltigBis',\r\n '=',\r\n 'null'\r\n ]\r\n ]\r\n ]\r\n },\r\n 'Kontakte': {\r\n 'expand': {\r\n 'Kontakttyp': null\r\n }\r\n },\r\n 'Sprache': {\r\n 'expand': {\r\n 'Sprachen': {\r\n 'expand': {\r\n 'Sprachniveau': null,\r\n 'Sprache': null\r\n }\r\n }\r\n }\r\n },\r\n 'Berufserfahrungen': {\r\n 'expand': {\r\n 'Berufserfahrungen': null\r\n }\r\n },\r\n 'Ausbildung': {\r\n 'expand': {\r\n 'Ausbildungen': {\r\n 'expand': {\r\n 'Ausbildung': null,\r\n 'AusbildungAbschluss': null\r\n }\r\n }\r\n }\r\n }\r\n },\r\n \"modificationInfoEnabled\": true,\r\n \"key\": \"variables.data.$id\",\r\n \"keyProperty\": \"Id\",\r\n \"filters\": []\r\n });\r\n this.addModel({\r\n \"id\": \"$m_Bewerbung\",\r\n \"webApiAction\": \"ZIT/Objekte/Bewerbung\",\r\n \"webApiColumns\": [\"Id\"],\r\n \"webApiWhere\": [\r\n [\"Kopf.IdPerson\", {\r\n \"isBound\": true,\r\n \"expression\": \"models.data.$m_Person.Id\"\r\n }]\r\n ],\r\n \"modificationInfoEnabled\": true,\r\n \"keyProperty\": \"Id\",\r\n \"filters\": [{\r\n \"webApiCustomKey\": \"AddBewerbungCard\",\r\n \"webApiCustomValue\": \"true\"\r\n }]\r\n });\r\n this.addCommand({\r\n \"binding\": {\r\n \"bindTo\": \"$f_PersonReadUtils.actionCommand\",\r\n \"bindToFQ\": \"functions.$f_PersonReadUtils.actionCommand\"\r\n }\r\n });\r\n this.addFunction(\"$f_PersonReadUtils\", $f_PersonReadUtils, \"functions.$f_PersonReadUtils\");\r\n this.widgetCreator.addValidationGroup(this, {\r\n \"id\": \"wd1\",\r\n \"options\": {\r\n \"optionsName\": \"wd1Options\",\r\n \"optionsNameFQ\": \"wd1Options\"\r\n }\r\n });\r\n this.widgetCreator.addListView(this, {\r\n \"itemClass\": \"z--list-view-inline-item\",\r\n \"useDefaultListItemStyle\": false,\r\n \"optionsToolbar\": {\r\n \"optionsName\": \"r_personSpracheListViewToolbarOptions\",\r\n \"optionsNameFQ\": \"r_personSpracheListViewToolbarOptions\"\r\n },\r\n \"binding\": {\r\n \"bindTo\": \"$m_Person.Sprache.Sprachen\",\r\n \"bindToFQ\": \"models.data.$m_Person.Sprache.Sprachen\"\r\n },\r\n \"listEdits\": [],\r\n \"filters\": [],\r\n \"commands\": [],\r\n \"id\": \"r_personSpracheListView\",\r\n \"options\": {\r\n \"optionsName\": \"r_personSpracheListViewOptions\",\r\n \"optionsNameFQ\": \"r_personSpracheListViewOptions\"\r\n }\r\n });\r\n this.widgetCreator.addListView(this, {\r\n \"itemClass\": \"z--list-view-inline-item\",\r\n \"useDefaultListItemStyle\": false,\r\n \"optionsToolbar\": {\r\n \"optionsName\": \"r_personAusbildungenListViewToolbarOptions\",\r\n \"optionsNameFQ\": \"r_personAusbildungenListViewToolbarOptions\"\r\n },\r\n \"binding\": {\r\n \"bindTo\": \"$m_Person.Ausbildung.Ausbildungen\",\r\n \"bindToFQ\": \"models.data.$m_Person.Ausbildung.Ausbildungen\"\r\n },\r\n \"listEdits\": [],\r\n \"filters\": [],\r\n \"commands\": [],\r\n \"id\": \"r_personAusbildungenListView\",\r\n \"options\": {\r\n \"optionsName\": \"r_personAusbildungenListViewOptions\",\r\n \"optionsNameFQ\": \"r_personAusbildungenListViewOptions\"\r\n }\r\n });\r\n this.widgetCreator.addListView(this, {\r\n \"itemClass\": \"z--list-view-inline-item\",\r\n \"useDefaultListItemStyle\": false,\r\n \"optionsToolbar\": {\r\n \"optionsName\": \"r_personBerufListViewToolbarOptions\",\r\n \"optionsNameFQ\": \"r_personBerufListViewToolbarOptions\"\r\n },\r\n \"binding\": {\r\n \"bindTo\": \"$m_Person.Berufserfahrungen.Berufserfahrungen\",\r\n \"bindToFQ\": \"models.data.$m_Person.Berufserfahrungen.Berufserfahrungen\"\r\n },\r\n \"listEdits\": [],\r\n \"filters\": [],\r\n \"commands\": [],\r\n \"id\": \"r_personBerufListView\",\r\n \"options\": {\r\n \"optionsName\": \"r_personBerufListViewOptions\",\r\n \"optionsNameFQ\": \"r_personBerufListViewOptions\"\r\n }\r\n });\r\n this.widgetCreator.addListView(this, {\r\n \"itemClass\": \"col-xs-12 col-sm-6\",\r\n \"useDefaultListItemStyle\": false,\r\n \"optionsToolbar\": {\r\n \"optionsName\": \"r_personBewerbungListViewToolbarOptions\",\r\n \"optionsNameFQ\": \"r_personBewerbungListViewToolbarOptions\"\r\n },\r\n \"binding\": {\r\n \"dataContext\": \"$m_Bewerbung\"\r\n },\r\n \"dataModel\": \"$m_Bewerbung\",\r\n \"pageSize\": 8,\r\n \"listEdits\": [],\r\n \"filters\": [],\r\n \"commands\": [],\r\n \"id\": \"r_personBewerbungListView\",\r\n \"options\": {\r\n \"optionsName\": \"r_personBewerbungListViewOptions\",\r\n \"optionsNameFQ\": \"r_personBewerbungListViewOptions\"\r\n }\r\n });\r\n super.onConstructionFinished();\r\n }\r\n}","module.exports = \"\";","import * as fwx from \"../../../../framework/forms/form-export\";\r\n\r\n@fwx.autoinject\r\nexport class PersonKontaktEditForm extends fwx.FormBase {\r\n constructor(\r\n element: Element,\r\n formBaseImport: fwx.FormBaseImport) {\r\n super(element, formBaseImport);\r\n this.id = \"person-kontakt-edit\";\r\n this.title = \"person-kontakt-edit.person-kontakt-edit_caption\";\r\n this.addModel({\r\n \"id\": \"$m_PersonKontakt\",\r\n \"webApiAction\": \"ZIT/Objekte/PersonKontaktElement\",\r\n \"key\": \"variables.data.$id\",\r\n \"keyProperty\": \"Id\",\r\n \"postOnSave\": true,\r\n \"filters\": []\r\n });\r\n this.addModel({\r\n \"id\": \"$m_Kontakttyp\",\r\n \"webApiAction\": \"ZIT/Stammdaten/Kontakttyp\",\r\n \"key\": \"models.data.$m_PersonKontakt.IdKontakttyp\",\r\n \"keyProperty\": \"Id\",\r\n \"filters\": []\r\n });\r\n this.addVariable({\r\n \"id\": \"$id\"\r\n });\r\n this.widgetCreator.addValidationGroup(this, {\r\n \"id\": \"wd1\",\r\n \"options\": {\r\n \"optionsName\": \"wd1Options\",\r\n \"optionsNameFQ\": \"wd1Options\"\r\n }\r\n });\r\n this.widgetCreator.addSelectBox(this, {\r\n \"idSelect\": \"kontakttyp\",\r\n \"customs\": [{\r\n \"key\": \"objektTyp\",\r\n \"value\": \"'TIP.ZIT.Business.Entities.Objekte.Personen.Person'\"\r\n }],\r\n \"filters\": [],\r\n \"caption\": \"person-kontakt-edit.r_kontakttyp_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_PersonKontakt\",\r\n \"bindTo\": \"IdKontakttyp\",\r\n \"bindToFQ\": \"models.data.$m_PersonKontakt.IdKontakttyp\"\r\n },\r\n \"validationRules\": [{\r\n \"item\": {\r\n \"type\": \"required\",\r\n \"parameters\": []\r\n }\r\n }],\r\n \"id\": \"r_kontakttyp\",\r\n \"options\": {\r\n \"optionsName\": \"r_kontakttypOptions\",\r\n \"optionsNameFQ\": \"r_kontakttypOptions\"\r\n }\r\n });\r\n this.widgetCreator.addCheckBox(this, {\r\n \"caption\": \"person-kontakt-edit.r_wichtig_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_PersonKontakt\",\r\n \"bindTo\": \"Wichtig\",\r\n \"bindToFQ\": \"models.data.$m_PersonKontakt.Wichtig\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_wichtig\",\r\n \"options\": {\r\n \"optionsName\": \"r_wichtigOptions\",\r\n \"optionsNameFQ\": \"r_wichtigOptions\"\r\n }\r\n });\r\n this.widgetCreator.addSelectBox(this, {\r\n \"idSelect\": \"landvorwahl\",\r\n \"filters\": [],\r\n \"caption\": \"person-kontakt-edit.r_landvorwahl_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_PersonKontakt\",\r\n \"bindTo\": \"Wert1\",\r\n \"bindToFQ\": \"models.data.$m_PersonKontakt.Wert1\"\r\n },\r\n \"validationRules\": [{\r\n \"item\": {\r\n \"type\": \"required\",\r\n \"parameters\": []\r\n }\r\n }],\r\n \"id\": \"r_landvorwahl\",\r\n \"options\": {\r\n \"optionsName\": \"r_landvorwahlOptions\",\r\n \"optionsNameFQ\": \"r_landvorwahlOptions\"\r\n }\r\n });\r\n this.widgetCreator.addTextBox(this, {\r\n \"maxLength\": 100,\r\n \"caption\": \"person-kontakt-edit.r_wert2_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_PersonKontakt\",\r\n \"bindTo\": \"Wert2\",\r\n \"bindToFQ\": \"models.data.$m_PersonKontakt.Wert2\"\r\n },\r\n \"validationRules\": [{\r\n \"item\": {\r\n \"type\": \"required\",\r\n \"parameters\": []\r\n }\r\n }],\r\n \"id\": \"r_wert2\",\r\n \"options\": {\r\n \"optionsName\": \"r_wert2Options\",\r\n \"optionsNameFQ\": \"r_wert2Options\"\r\n }\r\n });\r\n this.widgetCreator.addTextBox(this, {\r\n \"maxLength\": 100,\r\n \"caption\": \"person-kontakt-edit.r_email_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_PersonKontakt\",\r\n \"bindTo\": \"Wert1\",\r\n \"bindToFQ\": \"models.data.$m_PersonKontakt.Wert1\"\r\n },\r\n \"validationRules\": [{\r\n \"item\": {\r\n \"type\": \"required\",\r\n \"parameters\": []\r\n }\r\n }],\r\n \"id\": \"r_email\",\r\n \"options\": {\r\n \"optionsName\": \"r_emailOptions\",\r\n \"optionsNameFQ\": \"r_emailOptions\"\r\n }\r\n });\r\n this.widgetCreator.addTextBox(this, {\r\n \"maxLength\": 100,\r\n \"caption\": \"person-kontakt-edit.r_website_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_PersonKontakt\",\r\n \"bindTo\": \"Wert1\",\r\n \"bindToFQ\": \"models.data.$m_PersonKontakt.Wert1\"\r\n },\r\n \"validationRules\": [{\r\n \"item\": {\r\n \"type\": \"required\",\r\n \"parameters\": []\r\n }\r\n }],\r\n \"id\": \"r_website\",\r\n \"options\": {\r\n \"optionsName\": \"r_websiteOptions\",\r\n \"optionsNameFQ\": \"r_websiteOptions\"\r\n }\r\n });\r\n this.widgetCreator.addTextBox(this, {\r\n \"maxLength\": 1000,\r\n \"caption\": \"person-kontakt-edit.r_personkontaktbemerkung_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_PersonKontakt\",\r\n \"bindTo\": \"Bemerkung\",\r\n \"bindToFQ\": \"models.data.$m_PersonKontakt.Bemerkung\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_personKontaktBemerkung\",\r\n \"options\": {\r\n \"optionsName\": \"r_personKontaktBemerkungOptions\",\r\n \"optionsNameFQ\": \"r_personKontaktBemerkungOptions\"\r\n }\r\n });\r\n this.widgetCreator.addDateBox(this, {\r\n \"format\": \"d\",\r\n \"caption\": \"person-kontakt-edit.r_persongueltigvon_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_PersonKontakt\",\r\n \"bindTo\": \"GueltigVon\",\r\n \"bindToFQ\": \"models.data.$m_PersonKontakt.GueltigVon\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_personGueltigVon\",\r\n \"options\": {\r\n \"optionsName\": \"r_personGueltigVonOptions\",\r\n \"optionsNameFQ\": \"r_personGueltigVonOptions\"\r\n }\r\n });\r\n this.widgetCreator.addDateBox(this, {\r\n \"format\": \"d\",\r\n \"caption\": \"person-kontakt-edit.r_persongueltigbis_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_PersonKontakt\",\r\n \"bindTo\": \"GueltigBis\",\r\n \"bindToFQ\": \"models.data.$m_PersonKontakt.GueltigBis\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_personGueltigBis\",\r\n \"options\": {\r\n \"optionsName\": \"r_personGueltigBisOptions\",\r\n \"optionsNameFQ\": \"r_personGueltigBisOptions\"\r\n }\r\n });\r\n super.onConstructionFinished();\r\n }\r\n}","module.exports = \"\";","import * as fwx from \"../../../../framework/forms/form-export\";\r\nimport {\r\n PersonenEditUtils\r\n} from \"./person-edit-utils\";\r\nimport {\r\n PersonenAdresseUtils\r\n} from \"./person-adresse-utils\";\r\n\r\n@fwx.autoinject\r\nexport class PersonLehreErsteinstiegEditForm extends fwx.FormBase {\r\n constructor(\r\n element: Element,\r\n formBaseImport: fwx.FormBaseImport,\r\n private $f_PersonenEditUtils: PersonenEditUtils,\r\n private $f_PersonenAdresseUtils: PersonenAdresseUtils) {\r\n super(element, formBaseImport);\r\n this.id = \"person-lehre-ersteinstieg-edit\";\r\n this.title = \"person-lehre-ersteinstieg-edit.person-lehre-ersteinstieg-edit_caption\";\r\n this.addModel({\r\n \"id\": \"$m_Person\",\r\n \"webApiAction\": \"ZIT/Objekte/Person\",\r\n \"webApiExpand\": {\r\n 'Personendaten': null,\r\n 'Adressen': null,\r\n 'Berufserfahrungen': {\r\n 'expand': {\r\n 'Berufserfahrungen': null\r\n }\r\n },\r\n 'Kontakte': {\r\n 'expand': {\r\n 'Kontakttyp': null\r\n }\r\n }\r\n },\r\n \"modificationInfoEnabled\": true,\r\n \"key\": \"variables.data.$id\",\r\n \"keyProperty\": \"Id\",\r\n \"postOnSave\": true,\r\n \"allowNew\": \"false\",\r\n \"allowDelete\": \"false\",\r\n \"filters\": []\r\n });\r\n this.addModel({\r\n \"id\": \"$m_Bewerbung\",\r\n \"webApiAction\": \"ZIT/Objekte/Bewerbung\",\r\n \"webApiColumns\": [\"Id\"],\r\n \"webApiWhere\": [\"Kopf.IdPerson\", {\r\n \"isBound\": true,\r\n \"expression\": \"models.data.$m_Person.Id\"\r\n }],\r\n \"webApiOrderBy\": [{\r\n columnName: 'Anlagedatum',\r\n sortOrder: 1\r\n }],\r\n \"modificationInfoEnabled\": true,\r\n \"keyProperty\": \"Id\",\r\n \"filters\": [{\r\n \"webApiCustomKey\": \"AddBewerbungCard\",\r\n \"webApiCustomValue\": \"true\"\r\n }]\r\n });\r\n this.addModel({\r\n \"id\": \"$m_AusbildungElement\",\r\n \"webApiAction\": \"ZIT/Objekte/PersonAusbildungElement\",\r\n \"key\": \"models.data.$m_Person.IdPersonAusbildungElement\",\r\n \"keyProperty\": \"Id\",\r\n \"filters\": []\r\n });\r\n this.addModel({\r\n \"id\": \"$m_PersonAdresse\",\r\n \"webApiAction\": \"ZIT/Objekte/PersonAdresseElement\",\r\n \"keyProperty\": \"Id\",\r\n \"filters\": []\r\n });\r\n this.addModel({\r\n \"id\": \"$m_PersonKontaktRel\",\r\n \"webApiAction\": \"ZIT/Objekte/PersonKontaktElement\",\r\n \"webApiExpand\": {\r\n 'Kontakttyp': null\r\n },\r\n \"keyProperty\": \"Id\",\r\n \"filters\": []\r\n });\r\n this.addModel({\r\n \"id\": \"$m_PersonKontaktEdit\",\r\n \"webApiAction\": \"ZIT/Objekte/PersonKontaktElement\",\r\n \"keyProperty\": \"Id\",\r\n \"filters\": []\r\n });\r\n this.addModel({\r\n \"id\": \"$m_PersonBerufserfahrungRel\",\r\n \"webApiAction\": \"ZIT/Objekte/PersonBerufserfahrung\",\r\n \"keyProperty\": \"Id\",\r\n \"filters\": []\r\n });\r\n this.addModel({\r\n \"id\": \"$m_PersonBerufserfahrungEdit\",\r\n \"webApiAction\": \"ZIT/Objekte/PersonBerufserfahrung\",\r\n \"keyProperty\": \"Id\",\r\n \"filters\": []\r\n });\r\n this.addModel({\r\n \"id\": \"$m_PersonAusbildungRel\",\r\n \"webApiAction\": \"ZIT/Objekte/PersonAusbildung\",\r\n \"webApiExpand\": {\r\n 'Ausbildung': null,\r\n 'Ausbildungsort': null,\r\n 'AusbildungAbschluss': null\r\n },\r\n \"keyProperty\": \"Id\",\r\n \"filters\": []\r\n });\r\n this.addModel({\r\n \"id\": \"$m_PersonAusbildungEdit\",\r\n \"webApiAction\": \"ZIT/Objekte/PersonAusbildung\",\r\n \"keyProperty\": \"Id\",\r\n \"filters\": []\r\n });\r\n this.addModel({\r\n \"id\": \"$m_DokumentRel\",\r\n \"webApiAction\": \"ZIT/Objekte/DokumentElement\",\r\n \"webApiExpand\": {\r\n 'Informationstyp': null\r\n },\r\n \"keyProperty\": \"Id\",\r\n \"filters\": []\r\n });\r\n this.addModel({\r\n \"id\": \"$m_DokumentEdit\",\r\n \"webApiAction\": \"ZIT/Objekte/DokumentElement\",\r\n \"keyProperty\": \"Id\",\r\n \"filters\": []\r\n });\r\n this.addModel({\r\n \"id\": \"$m_BerufserfahrungElement\",\r\n \"webApiAction\": \"ZIT/Objekte/PersonBerufserfahrungElement\",\r\n \"key\": \"models.data.$m_Person.IdPersonBerufserfahrungElement\",\r\n \"keyProperty\": \"Id\",\r\n \"filters\": []\r\n });\r\n this.addCommand({\r\n \"binding\": {\r\n \"bindTo\": \"$f_PersonenEditUtils.actionCommand\",\r\n \"bindToFQ\": \"functions.$f_PersonenEditUtils.actionCommand\"\r\n }\r\n });\r\n this.addEditPopup({\r\n \"idContent\": \"personBerufserfahrungEditPopupContent\",\r\n \"mappings\": [{\r\n \"to\": \"$id\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_PersonBerufserfahrungEdit\",\r\n \"bindTo\": \"Id\",\r\n \"bindToFQ\": \"models.data.$m_PersonBerufserfahrungEdit.Id\"\r\n }\r\n }],\r\n \"id\": \"personBerufserfahrungEditPopup\",\r\n \"options\": {\r\n \"optionsName\": \"personBerufserfahrungEditPopupOptions\",\r\n \"optionsNameFQ\": \"personBerufserfahrungEditPopupOptions\"\r\n },\r\n \"height\": \"auto\",\r\n \"width\": \"500px\",\r\n \"commands\": []\r\n });\r\n this.addEditPopup({\r\n \"idContent\": \"personAusbildungEditPopupContent\",\r\n \"mappings\": [{\r\n \"to\": \"$id\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_PersonAusbildungEdit\",\r\n \"bindTo\": \"Id\",\r\n \"bindToFQ\": \"models.data.$m_PersonAusbildungEdit.Id\"\r\n }\r\n }],\r\n \"id\": \"personAusbildungEditPopup\",\r\n \"options\": {\r\n \"optionsName\": \"personAusbildungEditPopupOptions\",\r\n \"optionsNameFQ\": \"personAusbildungEditPopupOptions\"\r\n },\r\n \"height\": \"auto\",\r\n \"width\": \"500px\",\r\n \"commands\": []\r\n });\r\n this.addFunction(\"$f_PersonenEditUtils\", $f_PersonenEditUtils, \"functions.$f_PersonenEditUtils\");\r\n this.addFunction(\"$f_PersonenAdresseUtils\", $f_PersonenAdresseUtils, \"functions.$f_PersonenAdresseUtils\");\r\n this.widgetCreator.addValidationGroup(this, {\r\n \"id\": \"wd1\",\r\n \"options\": {\r\n \"optionsName\": \"wd1Options\",\r\n \"optionsNameFQ\": \"wd1Options\"\r\n }\r\n });\r\n this.widgetCreator.addRadioGroup(this, {\r\n \"idSelect\": \"geschlecht\",\r\n \"filters\": [],\r\n \"caption\": \"person-lehre-ersteinstieg-edit.r_geschlecht_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Person\",\r\n \"bindTo\": \"Personendaten.Geschlecht\",\r\n \"bindToFQ\": \"models.data.$m_Person.Personendaten.Geschlecht\",\r\n \"propertyPrefix\": \"Personendaten\"\r\n },\r\n \"validationRules\": [{\r\n \"item\": {\r\n \"type\": \"required\",\r\n \"parameters\": []\r\n }\r\n }],\r\n \"id\": \"r_geschlecht\",\r\n \"options\": {\r\n \"optionsName\": \"r_geschlechtOptions\",\r\n \"optionsNameFQ\": \"r_geschlechtOptions\"\r\n }\r\n });\r\n this.widgetCreator.addTextBox(this, {\r\n \"maxLength\": 50,\r\n \"caption\": \"person-lehre-ersteinstieg-edit.r_titelvorne_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Person\",\r\n \"bindTo\": \"Personendaten.TitelVorne\",\r\n \"bindToFQ\": \"models.data.$m_Person.Personendaten.TitelVorne\",\r\n \"propertyPrefix\": \"Personendaten\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_titelVorne\",\r\n \"options\": {\r\n \"optionsName\": \"r_titelVorneOptions\",\r\n \"optionsNameFQ\": \"r_titelVorneOptions\"\r\n }\r\n });\r\n this.widgetCreator.addTextBox(this, {\r\n \"maxLength\": 50,\r\n \"caption\": \"person-lehre-ersteinstieg-edit.r_titelhinten_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Person\",\r\n \"bindTo\": \"Personendaten.TitelHinten\",\r\n \"bindToFQ\": \"models.data.$m_Person.Personendaten.TitelHinten\",\r\n \"propertyPrefix\": \"Personendaten\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_titelHinten\",\r\n \"options\": {\r\n \"optionsName\": \"r_titelHintenOptions\",\r\n \"optionsNameFQ\": \"r_titelHintenOptions\"\r\n }\r\n });\r\n this.widgetCreator.addTextBox(this, {\r\n \"maxLength\": 100,\r\n \"caption\": \"person-lehre-ersteinstieg-edit.r_vorname_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Person\",\r\n \"bindTo\": \"Personendaten.Vorname\",\r\n \"bindToFQ\": \"models.data.$m_Person.Personendaten.Vorname\",\r\n \"propertyPrefix\": \"Personendaten\"\r\n },\r\n \"validationRules\": [{\r\n \"item\": {\r\n \"type\": \"required\",\r\n \"parameters\": []\r\n }\r\n }],\r\n \"id\": \"r_vorname\",\r\n \"options\": {\r\n \"optionsName\": \"r_vornameOptions\",\r\n \"optionsNameFQ\": \"r_vornameOptions\"\r\n }\r\n });\r\n this.widgetCreator.addTextBox(this, {\r\n \"maxLength\": 100,\r\n \"caption\": \"person-lehre-ersteinstieg-edit.r_nachname_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Person\",\r\n \"bindTo\": \"Personendaten.Nachname\",\r\n \"bindToFQ\": \"models.data.$m_Person.Personendaten.Nachname\",\r\n \"propertyPrefix\": \"Personendaten\"\r\n },\r\n \"validationRules\": [{\r\n \"item\": {\r\n \"type\": \"required\",\r\n \"parameters\": []\r\n }\r\n }],\r\n \"id\": \"r_nachname\",\r\n \"options\": {\r\n \"optionsName\": \"r_nachnameOptions\",\r\n \"optionsNameFQ\": \"r_nachnameOptions\"\r\n }\r\n });\r\n this.widgetCreator.addDateBox(this, {\r\n \"format\": \"d\",\r\n \"caption\": \"person-lehre-ersteinstieg-edit.r_geburtsdatum_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Person\",\r\n \"bindTo\": \"Personendaten.Geburtsdatum\",\r\n \"bindToFQ\": \"models.data.$m_Person.Personendaten.Geburtsdatum\",\r\n \"propertyPrefix\": \"Personendaten\"\r\n },\r\n \"validationRules\": [{\r\n \"item\": {\r\n \"type\": \"required\",\r\n \"parameters\": []\r\n }\r\n }],\r\n \"id\": \"r_geburtsdatum\",\r\n \"options\": {\r\n \"optionsName\": \"r_geburtsdatumOptions\",\r\n \"optionsNameFQ\": \"r_geburtsdatumOptions\"\r\n }\r\n });\r\n this.widgetCreator.addSelectBox(this, {\r\n \"idSelect\": \"staat\",\r\n \"filters\": [],\r\n \"caption\": \"person-lehre-ersteinstieg-edit.r_idnationalitaet_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Person\",\r\n \"bindTo\": \"Personendaten.IdNationalitaet\",\r\n \"bindToFQ\": \"models.data.$m_Person.Personendaten.IdNationalitaet\",\r\n \"propertyPrefix\": \"Personendaten\"\r\n },\r\n \"validationRules\": [{\r\n \"item\": {\r\n \"type\": \"required\",\r\n \"parameters\": []\r\n }\r\n }],\r\n \"id\": \"r_idNationalitaet\",\r\n \"options\": {\r\n \"optionsName\": \"r_idNationalitaetOptions\",\r\n \"optionsNameFQ\": \"r_idNationalitaetOptions\"\r\n }\r\n });\r\n this.widgetCreator.addSelectBox(this, {\r\n \"idSelect\": \"familienstand\",\r\n \"filters\": [],\r\n \"caption\": \"person-lehre-ersteinstieg-edit.r_familienstand_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Person\",\r\n \"bindTo\": \"Personendaten.IdFamilienstand\",\r\n \"bindToFQ\": \"models.data.$m_Person.Personendaten.IdFamilienstand\",\r\n \"propertyPrefix\": \"Personendaten\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_familienstand\",\r\n \"options\": {\r\n \"optionsName\": \"r_familienstandOptions\",\r\n \"optionsNameFQ\": \"r_familienstandOptions\"\r\n }\r\n });\r\n this.widgetCreator.addTextBox(this, {\r\n \"maxLength\": 4,\r\n \"caption\": \"person-lehre-ersteinstieg-edit.r_svnr_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Person\",\r\n \"bindTo\": \"Personendaten.SVNr\",\r\n \"bindToFQ\": \"models.data.$m_Person.Personendaten.SVNr\",\r\n \"propertyPrefix\": \"Personendaten\"\r\n },\r\n \"validationRules\": [{\r\n \"item\": {\r\n \"type\": \"svnr\",\r\n \"parameters\": []\r\n }\r\n }],\r\n \"id\": \"r_svnr\",\r\n \"options\": {\r\n \"optionsName\": \"r_svnrOptions\",\r\n \"optionsNameFQ\": \"r_svnrOptions\"\r\n }\r\n });\r\n this.widgetCreator.addTextBox(this, {\r\n \"maxLength\": 20,\r\n \"caption\": \"person-lehre-ersteinstieg-edit.r_ahvnrliechtenstein_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Person\",\r\n \"bindTo\": \"Personendaten.AHVNrLiechtenstein\",\r\n \"bindToFQ\": \"models.data.$m_Person.Personendaten.AHVNrLiechtenstein\",\r\n \"propertyPrefix\": \"Personendaten\"\r\n },\r\n \"validationRules\": [{\r\n \"item\": {\r\n \"type\": \"ahvnr\",\r\n \"parameters\": []\r\n }\r\n }],\r\n \"id\": \"r_ahvNrLiechtenstein\",\r\n \"options\": {\r\n \"optionsName\": \"r_ahvNrLiechtensteinOptions\",\r\n \"optionsNameFQ\": \"r_ahvNrLiechtensteinOptions\"\r\n }\r\n });\r\n this.widgetCreator.addTextBox(this, {\r\n \"maxLength\": 20,\r\n \"caption\": \"person-lehre-ersteinstieg-edit.r_ahvnrschweiz_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Person\",\r\n \"bindTo\": \"Personendaten.AHVNrSchweiz\",\r\n \"bindToFQ\": \"models.data.$m_Person.Personendaten.AHVNrSchweiz\",\r\n \"propertyPrefix\": \"Personendaten\"\r\n },\r\n \"validationRules\": [{\r\n \"item\": {\r\n \"type\": \"ahvnr\",\r\n \"parameters\": []\r\n }\r\n }],\r\n \"id\": \"r_ahvNrSchweiz\",\r\n \"options\": {\r\n \"optionsName\": \"r_ahvNrSchweizOptions\",\r\n \"optionsNameFQ\": \"r_ahvNrSchweizOptions\"\r\n }\r\n });\r\n this.widgetCreator.addFileUploaderWithViewer(this, {\r\n \"acceptTypeEnum\": 0,\r\n \"acceptType\": \"image/*\",\r\n \"height\": \"250px\",\r\n \"showToolbar\": true,\r\n \"showClearButton\": false,\r\n \"caption\": \"person-lehre-ersteinstieg-edit.r_dmslinkfoto_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Person\",\r\n \"bindTo\": \"Personendaten.DMSLinkFoto\",\r\n \"bindToFQ\": \"models.data.$m_Person.Personendaten.DMSLinkFoto\",\r\n \"propertyPrefix\": \"Personendaten\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_dmsLinkFoto\",\r\n \"options\": {\r\n \"optionsName\": \"r_dmsLinkFotoOptions\",\r\n \"optionsNameFQ\": \"r_dmsLinkFotoOptions\"\r\n }\r\n });\r\n this.widgetCreator.addSelectBox(this, {\r\n \"idSelect\": \"staat\",\r\n \"filters\": [],\r\n \"caption\": \"person-lehre-ersteinstieg-edit.r_land_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_PersonAdresse\",\r\n \"bindTo\": \"IdLand\",\r\n \"bindToFQ\": \"models.data.$m_PersonAdresse.IdLand\"\r\n },\r\n \"validationRules\": [{\r\n \"item\": {\r\n \"type\": \"required\",\r\n \"parameters\": []\r\n }\r\n }],\r\n \"id\": \"r_land\",\r\n \"options\": {\r\n \"optionsName\": \"r_landOptions\",\r\n \"optionsNameFQ\": \"r_landOptions\"\r\n }\r\n });\r\n this.widgetCreator.addTextBox(this, {\r\n \"maxLength\": 100,\r\n \"caption\": \"person-lehre-ersteinstieg-edit.r_strasse_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_PersonAdresse\",\r\n \"bindTo\": \"Strasse\",\r\n \"bindToFQ\": \"models.data.$m_PersonAdresse.Strasse\"\r\n },\r\n \"validationRules\": [{\r\n \"item\": {\r\n \"type\": \"required\",\r\n \"parameters\": []\r\n }\r\n }],\r\n \"id\": \"r_strasse\",\r\n \"options\": {\r\n \"optionsName\": \"r_strasseOptions\",\r\n \"optionsNameFQ\": \"r_strasseOptions\"\r\n }\r\n });\r\n this.widgetCreator.addTextBox(this, {\r\n \"maxLength\": 20,\r\n \"caption\": \"person-lehre-ersteinstieg-edit.r_postleitzahl_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_PersonAdresse\",\r\n \"bindTo\": \"Postleitzahl\",\r\n \"bindToFQ\": \"models.data.$m_PersonAdresse.Postleitzahl\"\r\n },\r\n \"validationRules\": [{\r\n \"item\": {\r\n \"type\": \"required\",\r\n \"parameters\": []\r\n }\r\n }],\r\n \"id\": \"r_postleitzahl\",\r\n \"options\": {\r\n \"optionsName\": \"r_postleitzahlOptions\",\r\n \"optionsNameFQ\": \"r_postleitzahlOptions\"\r\n }\r\n });\r\n this.widgetCreator.addTextBox(this, {\r\n \"maxLength\": 100,\r\n \"caption\": \"person-lehre-ersteinstieg-edit.r_ort_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_PersonAdresse\",\r\n \"bindTo\": \"Ort\",\r\n \"bindToFQ\": \"models.data.$m_PersonAdresse.Ort\"\r\n },\r\n \"validationRules\": [{\r\n \"item\": {\r\n \"type\": \"required\",\r\n \"parameters\": []\r\n }\r\n }],\r\n \"id\": \"r_ort\",\r\n \"options\": {\r\n \"optionsName\": \"r_ortOptions\",\r\n \"optionsNameFQ\": \"r_ortOptions\"\r\n }\r\n });\r\n this.widgetCreator.addSelectBox(this, {\r\n \"idSelect\": \"landvorwahl\",\r\n \"filters\": [],\r\n \"caption\": \"person-lehre-ersteinstieg-edit.r_mobilwert1_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Person\",\r\n \"bindTo\": \"Personendaten.MobilLandvorwahl\",\r\n \"bindToFQ\": \"models.data.$m_Person.Personendaten.MobilLandvorwahl\",\r\n \"propertyPrefix\": \"Personendaten\"\r\n },\r\n \"validationRules\": [{\r\n \"item\": {\r\n \"type\": \"conditionalRequired\",\r\n \"parameters\": [{\r\n \"name\": \"condition\",\r\n \"value\": \"models.data.$m_Person.Personendaten && models.data.$m_Person.Personendaten.Mobil\"\r\n }]\r\n }\r\n }, {\r\n \"item\": {\r\n \"type\": \"conditionalRequired\",\r\n \"parameters\": [{\r\n \"name\": \"condition\",\r\n \"value\": \"models.data.$m_Person.Personendaten && !models.data.$m_Person.Personendaten.Email\"\r\n }]\r\n }\r\n }],\r\n \"id\": \"r_mobilWert1\",\r\n \"options\": {\r\n \"optionsName\": \"r_mobilWert1Options\",\r\n \"optionsNameFQ\": \"r_mobilWert1Options\"\r\n }\r\n });\r\n this.widgetCreator.addTextBox(this, {\r\n \"maxLength\": 100,\r\n \"caption\": \"person-lehre-ersteinstieg-edit.r_mobilwert2_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Person\",\r\n \"bindTo\": \"Personendaten.Mobil\",\r\n \"bindToFQ\": \"models.data.$m_Person.Personendaten.Mobil\",\r\n \"propertyPrefix\": \"Personendaten\"\r\n },\r\n \"validationRules\": [{\r\n \"item\": {\r\n \"type\": \"telefon\",\r\n \"parameters\": []\r\n }\r\n }, {\r\n \"item\": {\r\n \"type\": \"conditionalRequired\",\r\n \"parameters\": [{\r\n \"name\": \"condition\",\r\n \"value\": \"models.data.$m_Person.Personendaten && !models.data.$m_Person.Personendaten.Email\"\r\n }]\r\n }\r\n }],\r\n \"id\": \"r_mobilWert2\",\r\n \"options\": {\r\n \"optionsName\": \"r_mobilWert2Options\",\r\n \"optionsNameFQ\": \"r_mobilWert2Options\"\r\n }\r\n });\r\n this.widgetCreator.addTextBox(this, {\r\n \"maxLength\": 100,\r\n \"caption\": \"person-lehre-ersteinstieg-edit.r_email_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Person\",\r\n \"bindTo\": \"Personendaten.Email\",\r\n \"bindToFQ\": \"models.data.$m_Person.Personendaten.Email\",\r\n \"propertyPrefix\": \"Personendaten\"\r\n },\r\n \"validationRules\": [{\r\n \"item\": {\r\n \"type\": \"conditionalRequired\",\r\n \"parameters\": [{\r\n \"name\": \"condition\",\r\n \"value\": \"models.data.$m_Person.Personendaten && (!models.data.$m_Person.Personendaten.Mobil || !models.data.$m_Person.Personendaten.MobilLandvorwahl)\"\r\n }]\r\n }\r\n }],\r\n \"id\": \"r_email\",\r\n \"options\": {\r\n \"optionsName\": \"r_emailOptions\",\r\n \"optionsNameFQ\": \"r_emailOptions\"\r\n }\r\n });\r\n this.widgetCreator.addListView(this, {\r\n \"itemClass\": \"col-xs-12 col-sm-6\",\r\n \"useDefaultListItemStyle\": false,\r\n \"createToolbar\": true,\r\n \"optionsToolbar\": {\r\n \"optionsName\": \"r_personAusbildungListViewToolbarOptions\",\r\n \"optionsNameFQ\": \"r_personAusbildungListViewToolbarOptions\"\r\n },\r\n \"caption\": \"person-lehre-ersteinstieg-edit.r_personausbildunglistview_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_AusbildungElement\"\r\n },\r\n \"isRelation\": true,\r\n \"relationBinding\": {\r\n \"dataContext\": \"$m_PersonAusbildungRel\",\r\n \"bindTo\": \"IdPersonAusbildungElement\",\r\n \"bindToFQ\": \"models.data.$m_PersonAusbildungRel.IdPersonAusbildungElement\"\r\n },\r\n \"dataModel\": \"$m_AusbildungElement\",\r\n \"editDataContext\": \"$m_PersonAusbildungEdit\",\r\n \"idEditPopup\": \"personAusbildungEditPopup\",\r\n \"pageSize\": 2,\r\n \"listEdits\": [],\r\n \"filters\": [],\r\n \"commands\": [],\r\n \"id\": \"r_personAusbildungListView\",\r\n \"options\": {\r\n \"optionsName\": \"r_personAusbildungListViewOptions\",\r\n \"optionsNameFQ\": \"r_personAusbildungListViewOptions\"\r\n }\r\n });\r\n this.widgetCreator.addListView(this, {\r\n \"itemClass\": \"col-xs-12 col-sm-6\",\r\n \"useDefaultListItemStyle\": false,\r\n \"createToolbar\": true,\r\n \"optionsToolbar\": {\r\n \"optionsName\": \"r_personBerufserfahrungListViewToolbarOptions\",\r\n \"optionsNameFQ\": \"r_personBerufserfahrungListViewToolbarOptions\"\r\n },\r\n \"caption\": \"person-lehre-ersteinstieg-edit.r_personberufserfahrunglistview_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_BerufserfahrungElement\"\r\n },\r\n \"isRelation\": true,\r\n \"relationBinding\": {\r\n \"dataContext\": \"$m_PersonBerufserfahrungRel\",\r\n \"bindTo\": \"IdPersonBerufserfahrungElement\",\r\n \"bindToFQ\": \"models.data.$m_PersonBerufserfahrungRel.IdPersonBerufserfahrungElement\"\r\n },\r\n \"dataModel\": \"$m_BerufserfahrungElement\",\r\n \"editDataContext\": \"$m_PersonBerufserfahrungEdit\",\r\n \"idEditPopup\": \"personBerufserfahrungEditPopup\",\r\n \"pageSize\": 2,\r\n \"listEdits\": [],\r\n \"filters\": [],\r\n \"commands\": [],\r\n \"id\": \"r_personBerufserfahrungListView\",\r\n \"options\": {\r\n \"optionsName\": \"r_personBerufserfahrungListViewOptions\",\r\n \"optionsNameFQ\": \"r_personBerufserfahrungListViewOptions\"\r\n }\r\n });\r\n this.widgetCreator.addListView(this, {\r\n \"itemClass\": \"col-xs-12 col-sm-6\",\r\n \"useDefaultListItemStyle\": false,\r\n \"createToolbar\": true,\r\n \"optionsToolbar\": {\r\n \"optionsName\": \"r_personBewerbungListViewToolbarOptions\",\r\n \"optionsNameFQ\": \"r_personBewerbungListViewToolbarOptions\"\r\n },\r\n \"caption\": \"person-lehre-ersteinstieg-edit.r_personbewerbunglistview_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Bewerbung\"\r\n },\r\n \"dataModel\": \"$m_Bewerbung\",\r\n \"pageSize\": 2,\r\n \"listEdits\": [],\r\n \"filters\": [],\r\n \"commands\": [],\r\n \"id\": \"r_personBewerbungListView\",\r\n \"options\": {\r\n \"optionsName\": \"r_personBewerbungListViewOptions\",\r\n \"optionsNameFQ\": \"r_personBewerbungListViewOptions\"\r\n }\r\n });\r\n this.widgetCreator.addPopup(this, {\r\n \"id\": \"r_personAbgeschlossenPopup\",\r\n \"options\": {\r\n \"optionsName\": \"r_personAbgeschlossenPopupOptions\",\r\n \"optionsNameFQ\": \"r_personAbgeschlossenPopupOptions\"\r\n },\r\n \"caption\": \"person-lehre-ersteinstieg-edit.r_personabgeschlossenpopup_caption\",\r\n \"height\": \"auto\",\r\n \"width\": \"450px\",\r\n \"commands\": [{\r\n \"binding\": {\r\n \"bindTo\": \"$f_PersonenEditUtils.personAbschliessenCommand\",\r\n \"bindToFQ\": \"functions.$f_PersonenEditUtils.personAbschliessenCommand\"\r\n }\r\n }]\r\n });\r\n super.onConstructionFinished();\r\n }\r\n}","module.exports = \"\";","import * as fwx from \"../../../../framework/forms/form-export\";\r\n\r\n@fwx.autoinject\r\nexport class PersonListForm extends fwx.FormBase {\r\n constructor(\r\n element: Element,\r\n formBaseImport: fwx.FormBaseImport) {\r\n super(element, formBaseImport);\r\n this.id = \"person-list\";\r\n this.title = \"person-list.person-list_caption\";\r\n this.addModel({\r\n \"id\": \"$m_Person\",\r\n \"webApiAction\": \"ZIT/Objekte/Person\",\r\n \"webApiExpand\": {\r\n 'Personendaten': null\r\n },\r\n \"modificationInfoEnabled\": true,\r\n \"keyProperty\": \"Id\",\r\n \"filters\": []\r\n });\r\n this.widgetCreator.addValidationGroup(this, {\r\n \"id\": \"wd1\",\r\n \"options\": {\r\n \"optionsName\": \"wd1Options\",\r\n \"optionsNameFQ\": \"wd1Options\"\r\n }\r\n });\r\n this.widgetCreator.addDataGrid(this, {\r\n \"columns\": [{\r\n \"id\": \"r_persGeschlecht\",\r\n \"caption\": \"person-list.r_persgeschlecht_caption\",\r\n \"bindTo\": \"Personendaten.Geschlecht\",\r\n \"width\": \"80px\",\r\n \"enumTypeName\": \"TIP.ZIT.Business.Enumerations.GeschlechtEnum\"\r\n }, {\r\n \"id\": \"r_persTitelVorne\",\r\n \"caption\": \"person-list.r_perstitelvorne_caption\",\r\n \"bindTo\": \"Personendaten.TitelVorne\",\r\n \"width\": \"80px\"\r\n }, {\r\n \"id\": \"r_persVorname\",\r\n \"caption\": \"person-list.r_persvorname_caption\",\r\n \"bindTo\": \"Personendaten.Vorname\",\r\n \"minWidth\": 100\r\n }, {\r\n \"id\": \"r_persNachname\",\r\n \"caption\": \"person-list.r_persnachname_caption\",\r\n \"bindTo\": \"Personendaten.Nachname\",\r\n \"minWidth\": 100\r\n }, {\r\n \"id\": \"r_persTitelHinten\",\r\n \"caption\": \"person-list.r_perstitelhinten_caption\",\r\n \"bindTo\": \"Personendaten.TitelHinten\",\r\n \"width\": \"80px\"\r\n }],\r\n \"optionsToolbar\": {\r\n \"optionsName\": \"r_personGridToolbarOptions\",\r\n \"optionsNameFQ\": \"r_personGridToolbarOptions\"\r\n },\r\n \"binding\": {\r\n \"dataContext\": \"$m_Person\"\r\n },\r\n \"dataModel\": \"$m_Person\",\r\n \"editUrl\": \"Objekte/Person\",\r\n \"addShortscuts\": true,\r\n \"isMainList\": true,\r\n \"height\": \"100%\",\r\n \"listEdits\": [],\r\n \"filters\": [],\r\n \"commands\": [],\r\n \"id\": \"r_personGrid\",\r\n \"options\": {\r\n \"optionsName\": \"r_personGridOptions\",\r\n \"optionsNameFQ\": \"r_personGridOptions\"\r\n }\r\n });\r\n super.onConstructionFinished();\r\n }\r\n}","module.exports = \"\";","import * as fwx from \"../../../../framework/forms/form-export\";\r\n\r\n@fwx.autoinject\r\nexport class PersonSkillEditForm extends fwx.FormBase {\r\n constructor(\r\n element: Element,\r\n formBaseImport: fwx.FormBaseImport) {\r\n super(element, formBaseImport);\r\n this.id = \"person-skill-edit\";\r\n this.title = \"person-skill-edit.person-skill-edit_caption\";\r\n this.addModel({\r\n \"id\": \"$m_Skill\",\r\n \"webApiAction\": \"ZIT/Objekte/PersonSkillElement\",\r\n \"key\": \"variables.data.$id\",\r\n \"keyProperty\": \"Id\",\r\n \"postOnSave\": true,\r\n \"filters\": []\r\n });\r\n this.addVariable({\r\n \"id\": \"$id\"\r\n });\r\n this.widgetCreator.addValidationGroup(this, {\r\n \"id\": \"wd1\",\r\n \"options\": {\r\n \"optionsName\": \"wd1Options\",\r\n \"optionsNameFQ\": \"wd1Options\"\r\n }\r\n });\r\n this.widgetCreator.addSelectBox(this, {\r\n \"idSelect\": \"skill\",\r\n \"filters\": [],\r\n \"caption\": \"person-skill-edit.r_skill_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Skill\",\r\n \"bindTo\": \"IdSkill\",\r\n \"bindToFQ\": \"models.data.$m_Skill.IdSkill\"\r\n },\r\n \"validationRules\": [{\r\n \"item\": {\r\n \"type\": \"required\",\r\n \"parameters\": []\r\n }\r\n }],\r\n \"id\": \"r_skill\",\r\n \"options\": {\r\n \"optionsName\": \"r_skillOptions\",\r\n \"optionsNameFQ\": \"r_skillOptions\"\r\n }\r\n });\r\n this.widgetCreator.addTextBox(this, {\r\n \"maxLength\": 500,\r\n \"caption\": \"person-skill-edit.r_text_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Skill\",\r\n \"bindTo\": \"Text\",\r\n \"bindToFQ\": \"models.data.$m_Skill.Text\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_text\",\r\n \"options\": {\r\n \"optionsName\": \"r_textOptions\",\r\n \"optionsNameFQ\": \"r_textOptions\"\r\n }\r\n });\r\n this.widgetCreator.addDateBox(this, {\r\n \"format\": \"d\",\r\n \"caption\": \"person-skill-edit.r_gueltigvon_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Skill\",\r\n \"bindTo\": \"GueltigVon\",\r\n \"bindToFQ\": \"models.data.$m_Skill.GueltigVon\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_gueltigVon\",\r\n \"options\": {\r\n \"optionsName\": \"r_gueltigVonOptions\",\r\n \"optionsNameFQ\": \"r_gueltigVonOptions\"\r\n }\r\n });\r\n this.widgetCreator.addDateBox(this, {\r\n \"format\": \"d\",\r\n \"caption\": \"person-skill-edit.r_gueltigbis_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Skill\",\r\n \"bindTo\": \"GueltigBis\",\r\n \"bindToFQ\": \"models.data.$m_Skill.GueltigBis\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_gueltigBis\",\r\n \"options\": {\r\n \"optionsName\": \"r_gueltigBisOptions\",\r\n \"optionsNameFQ\": \"r_gueltigBisOptions\"\r\n }\r\n });\r\n super.onConstructionFinished();\r\n }\r\n}","module.exports = \"\";","import * as fwx from \"../../../../framework/forms/form-export\";\r\n\r\n@fwx.autoinject\r\nexport class PersonSpracheEditForm extends fwx.FormBase {\r\n constructor(\r\n element: Element,\r\n formBaseImport: fwx.FormBaseImport) {\r\n super(element, formBaseImport);\r\n this.id = \"person-sprache-edit\";\r\n this.title = \"person-sprache-edit.person-sprache-edit_caption\";\r\n this.addModel({\r\n \"id\": \"$m_Sprache\",\r\n \"webApiAction\": \"ZIT/Objekte/PersonSprache\",\r\n \"key\": \"variables.data.$id\",\r\n \"keyProperty\": \"Id\",\r\n \"postOnSave\": true,\r\n \"filters\": []\r\n });\r\n this.addVariable({\r\n \"id\": \"$id\"\r\n });\r\n this.widgetCreator.addValidationGroup(this, {\r\n \"id\": \"wd1\",\r\n \"options\": {\r\n \"optionsName\": \"wd1Options\",\r\n \"optionsNameFQ\": \"wd1Options\"\r\n }\r\n });\r\n this.widgetCreator.addSelectBox(this, {\r\n \"idSelect\": \"sprache\",\r\n \"filters\": [],\r\n \"caption\": \"person-sprache-edit.r_sprache_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Sprache\",\r\n \"bindTo\": \"IdSprache\",\r\n \"bindToFQ\": \"models.data.$m_Sprache.IdSprache\"\r\n },\r\n \"validationRules\": [{\r\n \"item\": {\r\n \"type\": \"required\",\r\n \"parameters\": []\r\n }\r\n }],\r\n \"id\": \"r_sprache\",\r\n \"options\": {\r\n \"optionsName\": \"r_spracheOptions\",\r\n \"optionsNameFQ\": \"r_spracheOptions\"\r\n }\r\n });\r\n this.widgetCreator.addSelectBox(this, {\r\n \"idSelect\": \"sprachniveau\",\r\n \"filters\": [],\r\n \"caption\": \"person-sprache-edit.r_sprachniveau_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Sprache\",\r\n \"bindTo\": \"IdSprachniveau\",\r\n \"bindToFQ\": \"models.data.$m_Sprache.IdSprachniveau\"\r\n },\r\n \"validationRules\": [{\r\n \"item\": {\r\n \"type\": \"required\",\r\n \"parameters\": []\r\n }\r\n }],\r\n \"id\": \"r_sprachniveau\",\r\n \"options\": {\r\n \"optionsName\": \"r_sprachniveauOptions\",\r\n \"optionsNameFQ\": \"r_sprachniveauOptions\"\r\n }\r\n });\r\n this.widgetCreator.addTextBox(this, {\r\n \"maxLength\": 200,\r\n \"caption\": \"person-sprache-edit.r_bemerkung_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Sprache\",\r\n \"bindTo\": \"Bemerkung\",\r\n \"bindToFQ\": \"models.data.$m_Sprache.Bemerkung\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_bemerkung\",\r\n \"options\": {\r\n \"optionsName\": \"r_bemerkungOptions\",\r\n \"optionsNameFQ\": \"r_bemerkungOptions\"\r\n }\r\n });\r\n super.onConstructionFinished();\r\n }\r\n}","module.exports = \"\";","import * as fwx from \"../../../../framework/forms/form-export\";\r\nimport {\r\n StelleninseratEditUtils\r\n} from \"./stelleninserat-edit-utils\";\r\n\r\n@fwx.autoinject\r\nexport class StelleninseratEmpleoEditForm extends fwx.FormBase {\r\n constructor(\r\n element: Element,\r\n formBaseImport: fwx.FormBaseImport,\r\n private $f_Stelleninserat: StelleninseratEditUtils) {\r\n super(element, formBaseImport);\r\n this.id = \"stelleninserat-empleo-edit\";\r\n this.title = \"stelleninserat-empleo-edit.stelleninserat-empleo-edit_caption\";\r\n this.addModel({\r\n \"id\": \"$m_Stelleninserat\",\r\n \"webApiAction\": \"ZIT/Objekte/Stelleninserat\",\r\n \"webApiExpand\": {\r\n 'Kopf': null,\r\n 'FerialeinsatzEinstellungen': null,\r\n 'FerialbewerbungFragebogen': null\r\n },\r\n \"modificationInfoEnabled\": true,\r\n \"key\": \"variables.data.$id\",\r\n \"keyProperty\": \"Id\",\r\n \"postOnSave\": true,\r\n \"filters\": [{\r\n \"webApiCustomKey\": \"BewerbungInfo\",\r\n \"webApiCustomValue\": \"true\"\r\n }, {\r\n \"webApiCustomKey\": \"ProfilFirmaInfo\",\r\n \"webApiCustomValue\": \"true\"\r\n }, {\r\n \"webApiCustomKey\": \"StelleninseratVorschauUrl\",\r\n \"webApiCustomValue\": \"true\"\r\n }]\r\n });\r\n this.addModel({\r\n \"id\": \"$m_StelleninseratKopfElement\",\r\n \"webApiAction\": \"ZIT/Objekte/StelleninseratKopfElement\",\r\n \"webApiColumns\": ['Id'],\r\n \"key\": \"models.data.$m_Stelleninserat.IdStelleninseratKopfElement\",\r\n \"keyProperty\": \"Id\",\r\n \"filters\": []\r\n });\r\n this.addModel({\r\n \"id\": \"$m_StelleninseratGruppeRel\",\r\n \"webApiAction\": \"ZIT/Objekte/StelleninseratGruppe\",\r\n \"webApiColumns\": [\"Id\", \"SortNr\", \"Text\", \"IdStelleninseratGruppentyp\"],\r\n \"webApiExpand\": {\r\n 'Gruppentyp': null\r\n },\r\n \"webApiOrderBy\": [{\r\n \"columnName\": \"GruppentypSortNr\",\r\n \"sortOrder\": 0\r\n }, {\r\n \"columnName\": \"GruppentypBezeichnung\",\r\n \"sortOrder\": 0\r\n }, {\r\n \"columnName\": \"SortNr\",\r\n \"sortOrder\": 0\r\n }, {\r\n \"columnName\": \"Text\",\r\n \"sortOrder\": 0\r\n }],\r\n \"keyProperty\": \"Id\",\r\n \"filters\": []\r\n });\r\n this.addModel({\r\n \"id\": \"$m_StelleninseratGruppeEdit\",\r\n \"webApiAction\": \"ZIT/Objekte/StelleninseratGruppe\",\r\n \"webApiExpand\": {\r\n 'Gruppentyp': null\r\n },\r\n \"keyProperty\": \"Id\",\r\n \"filters\": []\r\n });\r\n this.addModel({\r\n \"id\": \"$m_StelleninseratGruppeElement\",\r\n \"webApiAction\": \"ZIT/Objekte/StelleninseratGruppeElement\",\r\n \"key\": \"models.data.$m_Stelleninserat.IdStelleninseratGruppeElement\",\r\n \"keyProperty\": \"Id\",\r\n \"filters\": []\r\n });\r\n this.addModel({\r\n \"id\": \"$m_STFBFB\",\r\n \"webApiAction\": \"ZIT/Objekte/StelleninseratFerialbewerbungFragebogenElement\",\r\n \"key\": \"models.data.$m_Stelleninserat.IdStelleninseratFerialbewerbungFragebogenElement\",\r\n \"keyProperty\": \"Id\",\r\n \"filters\": []\r\n });\r\n this.addModel({\r\n \"id\": \"$m_STFBFBEinsatzbereich\",\r\n \"webApiAction\": \"ZIT/Objekte/StelleninseratFerialbewerbungFragebogenEinsatzbereich\",\r\n \"webApiColumns\": [\"Id\", \"IdStelleninseratFerialbewerbungFragebogenElement\", \"Einsatzbereich\", \"SortNr\"],\r\n \"webApiOrderBy\": [{\r\n \"columnName\": \"SortNr\",\r\n \"sortOrder\": 0\r\n }, {\r\n \"columnName\": \"Einsatzbereich\",\r\n \"sortOrder\": 1\r\n }],\r\n \"keyProperty\": \"Id\",\r\n \"filters\": []\r\n });\r\n this.addModel({\r\n \"id\": \"$m_STFBFBEinsatzbereichE\",\r\n \"webApiAction\": \"ZIT/Objekte/StelleninseratFerialbewerbungFragebogenEinsatzbereich\",\r\n \"keyProperty\": \"Id\",\r\n \"filters\": []\r\n });\r\n this.addModel({\r\n \"id\": \"$m_Bewerbung\",\r\n \"webApiAction\": \"ZIT/Objekte/Bewerbung\",\r\n \"webApiColumns\": [\"Id\"],\r\n \"webApiWhere\": [\"Kopf.IdStelleninserat\", {\r\n \"isBound\": true,\r\n \"expression\": \"models.data.$m_Stelleninserat.Id\"\r\n }],\r\n \"modificationInfoEnabled\": true,\r\n \"keyProperty\": \"Id\",\r\n \"filters\": [{\r\n \"webApiCustomKey\": \"AddBewerbungCard\",\r\n \"webApiCustomValue\": \"true\"\r\n }]\r\n });\r\n this.addModel({\r\n \"id\": \"$m_Bewerbungstyp\",\r\n \"webApiAction\": \"ZIT/Stammdaten/StelleninseratBewerbungstyp\",\r\n \"key\": \"models.data.$m_Stelleninserat.Kopf.IdBewerbungstyp\",\r\n \"keyProperty\": \"Id\",\r\n \"filters\": []\r\n });\r\n this.addModel({\r\n \"id\": \"$m_StelleninseratKopfElementChannelRel\",\r\n \"webApiAction\": \"ZIT/Objekte/StelleninseratKopfElementZuChannel\",\r\n \"webApiExpand\": {\r\n 'Channel': null,\r\n 'StelleninseratBewerbungstyp': null\r\n },\r\n \"keyProperty\": \"Id\",\r\n \"allowNew\": \"functions.$f_Stelleninserat.canAddChannel\",\r\n \"filters\": []\r\n });\r\n this.addModel({\r\n \"id\": \"$m_StelleninseratKopfElementChannelEdit\",\r\n \"webApiAction\": \"ZIT/Objekte/StelleninseratKopfElementZuChannel\",\r\n \"keyProperty\": \"Id\",\r\n \"filters\": []\r\n });\r\n this.addCommand({\r\n \"binding\": {\r\n \"bindTo\": \"$f_Stelleninserat.actionCommand\",\r\n \"bindToFQ\": \"functions.$f_Stelleninserat.actionCommand\"\r\n }\r\n });\r\n this.addEditPopup({\r\n \"idContent\": \"stelleninseratGruppeEditPopupContent\",\r\n \"mappings\": [{\r\n \"to\": \"$id\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_StelleninseratGruppeEdit\",\r\n \"bindTo\": \"Id\",\r\n \"bindToFQ\": \"models.data.$m_StelleninseratGruppeEdit.Id\"\r\n }\r\n }, {\r\n \"to\": \"$v_idGeschaeftspartner\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Stelleninserat\",\r\n \"bindTo\": \"Kopf.IdGeschaeftspartner\",\r\n \"bindToFQ\": \"models.data.$m_Stelleninserat.Kopf.IdGeschaeftspartner\",\r\n \"propertyPrefix\": \"Kopf\"\r\n }\r\n }, {\r\n \"to\": \"$v_idStelleninserat\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Stelleninserat\",\r\n \"bindTo\": \"Id\",\r\n \"bindToFQ\": \"models.data.$m_Stelleninserat.Id\"\r\n }\r\n }],\r\n \"id\": \"stelleninseratGruppeEditPopup\",\r\n \"options\": {\r\n \"optionsName\": \"stelleninseratGruppeEditPopupOptions\",\r\n \"optionsNameFQ\": \"stelleninseratGruppeEditPopupOptions\"\r\n },\r\n \"caption\": \"stelleninserat-empleo-edit.stelleninseratgruppeeditpopup_caption\",\r\n \"height\": \"auto\",\r\n \"width\": \"500px\",\r\n \"commands\": []\r\n });\r\n this.addEditPopup({\r\n \"idContent\": \"stelleninseratFerialbewerbungFragebogenEinsatzbereichEditPopupContent\",\r\n \"mappings\": [{\r\n \"to\": \"$id\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_STFBFBEinsatzbereichE\",\r\n \"bindTo\": \"Id\",\r\n \"bindToFQ\": \"models.data.$m_STFBFBEinsatzbereichE.Id\"\r\n }\r\n }],\r\n \"id\": \"stelleninseratFerialbewerbungFragebogenEinsatzbereichEditPopup\",\r\n \"options\": {\r\n \"optionsName\": \"stelleninseratFerialbewerbungFragebogenEinsatzbereichEditPopupOptions\",\r\n \"optionsNameFQ\": \"stelleninseratFerialbewerbungFragebogenEinsatzbereichEditPopupOptions\"\r\n },\r\n \"caption\": \"stelleninserat-empleo-edit.stelleninseratferialbewerbungfragebogeneinsatzbereicheditpopup_caption\",\r\n \"height\": \"auto\",\r\n \"width\": \"500px\",\r\n \"commands\": []\r\n });\r\n this.addEditPopup({\r\n \"idContent\": \"stelleninseratKopfElementChannelEditPopupContent\",\r\n \"mappings\": [{\r\n \"to\": \"$id\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_StelleninseratKopfElementChannelEdit\",\r\n \"bindTo\": \"Id\",\r\n \"bindToFQ\": \"models.data.$m_StelleninseratKopfElementChannelEdit.Id\"\r\n }\r\n }],\r\n \"id\": \"stelleninseratKopfElementChannelEditPopup\",\r\n \"options\": {\r\n \"optionsName\": \"stelleninseratKopfElementChannelEditPopupOptions\",\r\n \"optionsNameFQ\": \"stelleninseratKopfElementChannelEditPopupOptions\"\r\n },\r\n \"height\": \"auto\",\r\n \"width\": \"500px\",\r\n \"commands\": []\r\n });\r\n this.addFunction(\"$f_Stelleninserat\", $f_Stelleninserat, \"functions.$f_Stelleninserat\");\r\n this.widgetCreator.addValidationGroup(this, {\r\n \"id\": \"wd1\",\r\n \"options\": {\r\n \"optionsName\": \"wd1Options\",\r\n \"optionsNameFQ\": \"wd1Options\"\r\n }\r\n });\r\n this.widgetCreator.addLookup(this, {\r\n \"idSelect\": \"geschaeftspartner\",\r\n \"filters\": [],\r\n \"caption\": \"stelleninserat-empleo-edit.r_geschaeftspartner_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Stelleninserat\",\r\n \"bindTo\": \"Kopf.IdGeschaeftspartner\",\r\n \"bindToFQ\": \"models.data.$m_Stelleninserat.Kopf.IdGeschaeftspartner\",\r\n \"propertyPrefix\": \"Kopf\"\r\n },\r\n \"validationRules\": [{\r\n \"item\": {\r\n \"type\": \"required\",\r\n \"parameters\": []\r\n }\r\n }],\r\n \"id\": \"r_geschaeftspartner\",\r\n \"options\": {\r\n \"optionsName\": \"r_geschaeftspartnerOptions\",\r\n \"optionsNameFQ\": \"r_geschaeftspartnerOptions\"\r\n }\r\n });\r\n this.widgetCreator.addTextBox(this, {\r\n \"maxLength\": 250,\r\n \"caption\": \"stelleninserat-empleo-edit.r_stellenbezeichnungextern_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Stelleninserat\",\r\n \"bindTo\": \"Kopf.StellenbezeichnungExtern\",\r\n \"bindToFQ\": \"models.data.$m_Stelleninserat.Kopf.StellenbezeichnungExtern\",\r\n \"propertyPrefix\": \"Kopf\"\r\n },\r\n \"validationRules\": [{\r\n \"item\": {\r\n \"type\": \"required\",\r\n \"parameters\": []\r\n }\r\n }],\r\n \"id\": \"r_stellenbezeichnungExtern\",\r\n \"options\": {\r\n \"optionsName\": \"r_stellenbezeichnungExternOptions\",\r\n \"optionsNameFQ\": \"r_stellenbezeichnungExternOptions\"\r\n }\r\n });\r\n this.widgetCreator.addNumberBox(this, {\r\n \"showSpinButtons\": true,\r\n \"min\": 0.0,\r\n \"caption\": \"stelleninserat-empleo-edit.r_sortnr_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Stelleninserat\",\r\n \"bindTo\": \"Kopf.SortNr\",\r\n \"bindToFQ\": \"models.data.$m_Stelleninserat.Kopf.SortNr\",\r\n \"propertyPrefix\": \"Kopf\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_sortNr\",\r\n \"options\": {\r\n \"optionsName\": \"r_sortNrOptions\",\r\n \"optionsNameFQ\": \"r_sortNrOptions\"\r\n }\r\n });\r\n this.widgetCreator.addTextBox(this, {\r\n \"maxLength\": 250,\r\n \"caption\": \"stelleninserat-empleo-edit.r_stellenbezeichnungintern_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Stelleninserat\",\r\n \"bindTo\": \"Kopf.StellenbezeichnungIntern\",\r\n \"bindToFQ\": \"models.data.$m_Stelleninserat.Kopf.StellenbezeichnungIntern\",\r\n \"propertyPrefix\": \"Kopf\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_stellenbezeichnungIntern\",\r\n \"options\": {\r\n \"optionsName\": \"r_stellenbezeichnungInternOptions\",\r\n \"optionsNameFQ\": \"r_stellenbezeichnungInternOptions\"\r\n }\r\n });\r\n this.widgetCreator.addDateBox(this, {\r\n \"format\": \"d\",\r\n \"caption\": \"stelleninserat-empleo-edit.r_gueltigvon_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Stelleninserat\",\r\n \"bindTo\": \"Kopf.GueltigVon\",\r\n \"bindToFQ\": \"models.data.$m_Stelleninserat.Kopf.GueltigVon\",\r\n \"propertyPrefix\": \"Kopf\"\r\n },\r\n \"validationRules\": [{\r\n \"item\": {\r\n \"type\": \"required\",\r\n \"parameters\": []\r\n }\r\n }],\r\n \"id\": \"r_gueltigVon\",\r\n \"options\": {\r\n \"optionsName\": \"r_gueltigVonOptions\",\r\n \"optionsNameFQ\": \"r_gueltigVonOptions\"\r\n }\r\n });\r\n this.widgetCreator.addDateBox(this, {\r\n \"format\": \"d\",\r\n \"caption\": \"stelleninserat-empleo-edit.r_gueltigbis_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Stelleninserat\",\r\n \"bindTo\": \"Kopf.GueltigBis\",\r\n \"bindToFQ\": \"models.data.$m_Stelleninserat.Kopf.GueltigBis\",\r\n \"propertyPrefix\": \"Kopf\"\r\n },\r\n \"validationRules\": [{\r\n \"item\": {\r\n \"type\": \"required\",\r\n \"parameters\": []\r\n }\r\n }],\r\n \"id\": \"r_gueltigBis\",\r\n \"options\": {\r\n \"optionsName\": \"r_gueltigBisOptions\",\r\n \"optionsNameFQ\": \"r_gueltigBisOptions\"\r\n }\r\n });\r\n this.widgetCreator.addSelectBox(this, {\r\n \"idSelect\": \"branche\",\r\n \"filters\": [],\r\n \"caption\": \"stelleninserat-empleo-edit.r_branche_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Stelleninserat\",\r\n \"bindTo\": \"Kopf.IdBranche\",\r\n \"bindToFQ\": \"models.data.$m_Stelleninserat.Kopf.IdBranche\",\r\n \"propertyPrefix\": \"Kopf\"\r\n },\r\n \"validationRules\": [{\r\n \"item\": {\r\n \"type\": \"required\",\r\n \"parameters\": []\r\n }\r\n }],\r\n \"id\": \"r_branche\",\r\n \"options\": {\r\n \"optionsName\": \"r_brancheOptions\",\r\n \"optionsNameFQ\": \"r_brancheOptions\"\r\n }\r\n });\r\n this.widgetCreator.addLookup(this, {\r\n \"idSelect\": \"geschaeftspartner\",\r\n \"filters\": [],\r\n \"caption\": \"stelleninserat-empleo-edit.r_geschaeftspartnernopackage_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Stelleninserat\",\r\n \"bindTo\": \"Kopf.IdGeschaeftspartner\",\r\n \"bindToFQ\": \"models.data.$m_Stelleninserat.Kopf.IdGeschaeftspartner\",\r\n \"propertyPrefix\": \"Kopf\"\r\n },\r\n \"validationRules\": [{\r\n \"binding\": {\r\n \"dataContext\": \"$m_Stelleninserat\",\r\n \"bindTo\": \"$f_Stelleninserat.keinPackageRule\",\r\n \"bindToFQ\": \"functions.$f_Stelleninserat.keinPackageRule\"\r\n }\r\n }, {\r\n \"item\": {\r\n \"type\": \"required\",\r\n \"parameters\": []\r\n }\r\n }],\r\n \"id\": \"r_geschaeftspartnerNoPackage\",\r\n \"options\": {\r\n \"optionsName\": \"r_geschaeftspartnerNoPackageOptions\",\r\n \"optionsNameFQ\": \"r_geschaeftspartnerNoPackageOptions\"\r\n }\r\n });\r\n this.widgetCreator.addLookup(this, {\r\n \"idSelect\": \"ansprechperson\",\r\n \"customs\": [{\r\n \"key\": \"IdGeschaeftspartner\",\r\n \"value\": \"models.data.$m_Stelleninserat.Kopf.IdGeschaeftspartner\"\r\n }],\r\n \"filters\": [],\r\n \"caption\": \"stelleninserat-empleo-edit.ansprechpersonselect_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Stelleninserat\",\r\n \"bindTo\": \"Kopf.IdAnsprechperson\",\r\n \"bindToFQ\": \"models.data.$m_Stelleninserat.Kopf.IdAnsprechperson\",\r\n \"propertyPrefix\": \"Kopf\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"ansprechpersonSelect\",\r\n \"options\": {\r\n \"optionsName\": \"ansprechpersonSelectOptions\",\r\n \"optionsNameFQ\": \"ansprechpersonSelectOptions\"\r\n }\r\n });\r\n this.widgetCreator.addFileUploaderWithViewer(this, {\r\n \"acceptTypeEnum\": 0,\r\n \"acceptType\": \"image/*\",\r\n \"placeholderImageExpression\": \"models.data.$m_Stelleninserat.Kopf.DMSLinkStandardBild\",\r\n \"placeholderImageText\": \"Standardbild laut Lehrberuf\",\r\n \"height\": \"250px\",\r\n \"showToolbar\": true,\r\n \"showClearButton\": false,\r\n \"caption\": \"stelleninserat-empleo-edit.r_dmslinkbild_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Stelleninserat\",\r\n \"bindTo\": \"Kopf.DMSLinkBild\",\r\n \"bindToFQ\": \"models.data.$m_Stelleninserat.Kopf.DMSLinkBild\",\r\n \"propertyPrefix\": \"Kopf\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_dmslinkBild\",\r\n \"options\": {\r\n \"optionsName\": \"r_dmslinkBildOptions\",\r\n \"optionsNameFQ\": \"r_dmslinkBildOptions\"\r\n }\r\n });\r\n this.widgetCreator.addCheckBox(this, {\r\n \"caption\": \"stelleninserat-empleo-edit.r_stelleninserataktiv_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Stelleninserat\",\r\n \"bindTo\": \"Kopf.IsAktiv\",\r\n \"bindToFQ\": \"models.data.$m_Stelleninserat.Kopf.IsAktiv\",\r\n \"propertyPrefix\": \"Kopf\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_stelleninseratAktiv\",\r\n \"options\": {\r\n \"optionsName\": \"r_stelleninseratAktivOptions\",\r\n \"optionsNameFQ\": \"r_stelleninseratAktivOptions\"\r\n }\r\n });\r\n this.widgetCreator.addCheckBox(this, {\r\n \"caption\": \"stelleninserat-empleo-edit.r_nuronlinebewerbungerwuenscht_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Stelleninserat\",\r\n \"bindTo\": \"Kopf.NurOnlineBewerbungErwuenscht\",\r\n \"bindToFQ\": \"models.data.$m_Stelleninserat.Kopf.NurOnlineBewerbungErwuenscht\",\r\n \"propertyPrefix\": \"Kopf\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_nurOnlineBewerbungErwuenscht\",\r\n \"options\": {\r\n \"optionsName\": \"r_nurOnlineBewerbungErwuenschtOptions\",\r\n \"optionsNameFQ\": \"r_nurOnlineBewerbungErwuenschtOptions\"\r\n }\r\n });\r\n this.widgetCreator.addSelectBox(this, {\r\n \"idSelect\": \"pvText\",\r\n \"filter\": [\r\n [\r\n [\"IdGeschaeftspartner\", \"null\"], \"or\", [\"IdGeschaeftspartner\", {\r\n \"isBound\": true,\r\n \"expression\": \"models.data.$m_Stelleninserat.Kopf.IdGeschaeftspartner\"\r\n }]\r\n ], \"and\", [\"Typ\", \"0\"]\r\n ],\r\n \"filters\": [],\r\n \"caption\": \"stelleninserat-empleo-edit.r_kopftext_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Stelleninserat\",\r\n \"bindTo\": \"Kopf.IdTextKopfzeile1\",\r\n \"bindToFQ\": \"models.data.$m_Stelleninserat.Kopf.IdTextKopfzeile1\",\r\n \"propertyPrefix\": \"Kopf\"\r\n },\r\n \"validationRules\": [{\r\n \"item\": {\r\n \"type\": \"required\",\r\n \"parameters\": []\r\n }\r\n }],\r\n \"id\": \"r_kopftext\",\r\n \"options\": {\r\n \"optionsName\": \"r_kopftextOptions\",\r\n \"optionsNameFQ\": \"r_kopftextOptions\"\r\n }\r\n });\r\n this.widgetCreator.addSelectBox(this, {\r\n \"idSelect\": \"pvText\",\r\n \"filter\": [\r\n [\r\n [\"IdGeschaeftspartner\", \"null\"], \"or\", [\"IdGeschaeftspartner\", {\r\n \"isBound\": true,\r\n \"expression\": \"models.data.$m_Stelleninserat.Kopf.IdGeschaeftspartner\"\r\n }]\r\n ], \"and\", [\"Typ\", \"1\"]\r\n ],\r\n \"filters\": [],\r\n \"caption\": \"stelleninserat-empleo-edit.r_fusstext_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Stelleninserat\",\r\n \"bindTo\": \"Kopf.IdTextFusszeile1\",\r\n \"bindToFQ\": \"models.data.$m_Stelleninserat.Kopf.IdTextFusszeile1\",\r\n \"propertyPrefix\": \"Kopf\"\r\n },\r\n \"validationRules\": [{\r\n \"item\": {\r\n \"type\": \"required\",\r\n \"parameters\": []\r\n }\r\n }],\r\n \"id\": \"r_fusstext\",\r\n \"options\": {\r\n \"optionsName\": \"r_fusstextOptions\",\r\n \"optionsNameFQ\": \"r_fusstextOptions\"\r\n }\r\n });\r\n this.widgetCreator.addSelectBox(this, {\r\n \"idSelect\": \"stelleninseratBewerbungstyp\",\r\n \"filter\": [\r\n [\"IdGeschaeftspartner\", \"null\"], \"or\", [\"IdGeschaeftspartner\", {\r\n \"isBound\": true,\r\n \"expression\": \"models.data.$m_Stelleninserat.Kopf.IdGeschaeftspartner\"\r\n }]\r\n ],\r\n \"customs\": [{\r\n \"key\": \"IdGeschaeftspartner\",\r\n \"value\": \"models.data.$m_Stelleninserat.Kopf.IdGeschaeftspartner\"\r\n }, {\r\n \"key\": \"CheckBenutzerrolle\",\r\n \"value\": \"true\"\r\n }],\r\n \"filters\": [],\r\n \"caption\": \"stelleninserat-empleo-edit.bewerbungstyp_caption\",\r\n \"placeholder\": \"stelleninserat-empleo-edit.bewerbungstyp_placeholder\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Stelleninserat\",\r\n \"bindTo\": \"Kopf.IdBewerbungstyp\",\r\n \"bindToFQ\": \"models.data.$m_Stelleninserat.Kopf.IdBewerbungstyp\",\r\n \"propertyPrefix\": \"Kopf\"\r\n },\r\n \"validationRules\": [{\r\n \"item\": {\r\n \"type\": \"required\",\r\n \"parameters\": []\r\n }\r\n }],\r\n \"id\": \"bewerbungstyp\",\r\n \"options\": {\r\n \"optionsName\": \"bewerbungstypOptions\",\r\n \"optionsNameFQ\": \"bewerbungstypOptions\"\r\n }\r\n });\r\n this.widgetCreator.addCheckBox(this, {\r\n \"caption\": \"stelleninserat-empleo-edit.r_priorisieren_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Stelleninserat\",\r\n \"bindTo\": \"Kopf.Priorisieren\",\r\n \"bindToFQ\": \"models.data.$m_Stelleninserat.Kopf.Priorisieren\",\r\n \"propertyPrefix\": \"Kopf\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_priorisieren\",\r\n \"options\": {\r\n \"optionsName\": \"r_priorisierenOptions\",\r\n \"optionsNameFQ\": \"r_priorisierenOptions\"\r\n }\r\n });\r\n this.widgetCreator.addDateBox(this, {\r\n \"format\": \"d\",\r\n \"caption\": \"stelleninserat-empleo-edit.r_bewerbungvon_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Stelleninserat\",\r\n \"bindTo\": \"FerialeinsatzEinstellungen.BewerbungOnlineVon\",\r\n \"bindToFQ\": \"models.data.$m_Stelleninserat.FerialeinsatzEinstellungen.BewerbungOnlineVon\",\r\n \"propertyPrefix\": \"FerialeinsatzEinstellungen\"\r\n },\r\n \"validationRules\": [{\r\n \"binding\": {\r\n \"dataContext\": \"$m_Stelleninserat\",\r\n \"bindTo\": \"$f_Stelleninserat.bewerbungVonValidationRule\",\r\n \"bindToFQ\": \"functions.$f_Stelleninserat.bewerbungVonValidationRule\"\r\n }\r\n }],\r\n \"id\": \"r_bewerbungVon\",\r\n \"options\": {\r\n \"optionsName\": \"r_bewerbungVonOptions\",\r\n \"optionsNameFQ\": \"r_bewerbungVonOptions\"\r\n }\r\n });\r\n this.widgetCreator.addDateBox(this, {\r\n \"format\": \"d\",\r\n \"caption\": \"stelleninserat-empleo-edit.r_bewerbungbis_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Stelleninserat\",\r\n \"bindTo\": \"FerialeinsatzEinstellungen.BewerbungOnlineBis\",\r\n \"bindToFQ\": \"models.data.$m_Stelleninserat.FerialeinsatzEinstellungen.BewerbungOnlineBis\",\r\n \"propertyPrefix\": \"FerialeinsatzEinstellungen\"\r\n },\r\n \"validationRules\": [{\r\n \"binding\": {\r\n \"dataContext\": \"$m_Stelleninserat\",\r\n \"bindTo\": \"$f_Stelleninserat.bewerbungBisValidationRule\",\r\n \"bindToFQ\": \"functions.$f_Stelleninserat.bewerbungBisValidationRule\"\r\n }\r\n }],\r\n \"id\": \"r_bewerbungBis\",\r\n \"options\": {\r\n \"optionsName\": \"r_bewerbungBisOptions\",\r\n \"optionsNameFQ\": \"r_bewerbungBisOptions\"\r\n }\r\n });\r\n this.widgetCreator.addTextBox(this, {\r\n \"maxLength\": 250,\r\n \"caption\": \"stelleninserat-empleo-edit.r_standort_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Stelleninserat\",\r\n \"bindTo\": \"Kopf.Standort\",\r\n \"bindToFQ\": \"models.data.$m_Stelleninserat.Kopf.Standort\",\r\n \"propertyPrefix\": \"Kopf\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_standort\",\r\n \"options\": {\r\n \"optionsName\": \"r_standortOptions\",\r\n \"optionsNameFQ\": \"r_standortOptions\"\r\n }\r\n });\r\n this.widgetCreator.addTextBox(this, {\r\n \"maxLength\": 500,\r\n \"caption\": \"stelleninserat-empleo-edit.r_googlekarteadresse_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Stelleninserat\",\r\n \"bindTo\": \"Kopf.GoogleKartenAdresse\",\r\n \"bindToFQ\": \"models.data.$m_Stelleninserat.Kopf.GoogleKartenAdresse\",\r\n \"propertyPrefix\": \"Kopf\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_googleKarteAdresse\",\r\n \"options\": {\r\n \"optionsName\": \"r_googleKarteAdresseOptions\",\r\n \"optionsNameFQ\": \"r_googleKarteAdresseOptions\"\r\n }\r\n });\r\n this.widgetCreator.addTextBox(this, {\r\n \"maxLength\": 250,\r\n \"caption\": \"stelleninserat-empleo-edit.r_subheadline_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Stelleninserat\",\r\n \"bindTo\": \"Kopf.Subheadline\",\r\n \"bindToFQ\": \"models.data.$m_Stelleninserat.Kopf.Subheadline\",\r\n \"propertyPrefix\": \"Kopf\"\r\n },\r\n \"validationRules\": [{\r\n \"item\": {\r\n \"type\": \"required\",\r\n \"parameters\": []\r\n }\r\n }],\r\n \"id\": \"r_subheadline\",\r\n \"options\": {\r\n \"optionsName\": \"r_subheadlineOptions\",\r\n \"optionsNameFQ\": \"r_subheadlineOptions\"\r\n }\r\n });\r\n this.widgetCreator.addTextArea(this, {\r\n \"height\": \"40px\",\r\n \"maxLength\": 2000,\r\n \"caption\": \"stelleninserat-empleo-edit.r_entlohnung_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Stelleninserat\",\r\n \"bindTo\": \"Kopf.Entlohnung\",\r\n \"bindToFQ\": \"models.data.$m_Stelleninserat.Kopf.Entlohnung\",\r\n \"propertyPrefix\": \"Kopf\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_entlohnung\",\r\n \"options\": {\r\n \"optionsName\": \"r_entlohnungOptions\",\r\n \"optionsNameFQ\": \"r_entlohnungOptions\"\r\n }\r\n });\r\n this.widgetCreator.addTextBox(this, {\r\n \"maxLength\": 500,\r\n \"caption\": \"stelleninserat-empleo-edit.r_weiterleitungslink_caption\",\r\n \"isReadOnlyExpression\": \"!models.data.$m_Bewerbungstyp || !models.data.$m_Bewerbungstyp.WebsiteUmleitungLautWeiterleitungslink\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Stelleninserat\",\r\n \"bindTo\": \"Kopf.Weiterleitungslink\",\r\n \"bindToFQ\": \"models.data.$m_Stelleninserat.Kopf.Weiterleitungslink\",\r\n \"propertyPrefix\": \"Kopf\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_weiterleitungslink\",\r\n \"options\": {\r\n \"optionsName\": \"r_weiterleitungslinkOptions\",\r\n \"optionsNameFQ\": \"r_weiterleitungslinkOptions\"\r\n }\r\n });\r\n this.widgetCreator.addRadioGroup(this, {\r\n \"idSelect\": \"pflichtfeld\",\r\n \"filters\": [],\r\n \"caption\": \"stelleninserat-empleo-edit.r_lebenslaufanfragen_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Stelleninserat\",\r\n \"bindTo\": \"FerialbewerbungFragebogen.LebenslaufAnfragen\",\r\n \"bindToFQ\": \"models.data.$m_Stelleninserat.FerialbewerbungFragebogen.LebenslaufAnfragen\",\r\n \"propertyPrefix\": \"FerialbewerbungFragebogen\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_lebenslaufAnfragen\",\r\n \"options\": {\r\n \"optionsName\": \"r_lebenslaufAnfragenOptions\",\r\n \"optionsNameFQ\": \"r_lebenslaufAnfragenOptions\"\r\n }\r\n });\r\n this.widgetCreator.addRadioGroup(this, {\r\n \"idSelect\": \"pflichtfeld\",\r\n \"filters\": [],\r\n \"caption\": \"stelleninserat-empleo-edit.r_anschreibenanfragen_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Stelleninserat\",\r\n \"bindTo\": \"FerialbewerbungFragebogen.AnschreibenAnfragen\",\r\n \"bindToFQ\": \"models.data.$m_Stelleninserat.FerialbewerbungFragebogen.AnschreibenAnfragen\",\r\n \"propertyPrefix\": \"FerialbewerbungFragebogen\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_anschreibenAnfragen\",\r\n \"options\": {\r\n \"optionsName\": \"r_anschreibenAnfragenOptions\",\r\n \"optionsNameFQ\": \"r_anschreibenAnfragenOptions\"\r\n }\r\n });\r\n this.widgetCreator.addRadioGroup(this, {\r\n \"idSelect\": \"pflichtfeld\",\r\n \"filters\": [],\r\n \"caption\": \"stelleninserat-empleo-edit.r_zeugnisanfragen_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Stelleninserat\",\r\n \"bindTo\": \"FerialbewerbungFragebogen.LetztesZeugnisAnfragen\",\r\n \"bindToFQ\": \"models.data.$m_Stelleninserat.FerialbewerbungFragebogen.LetztesZeugnisAnfragen\",\r\n \"propertyPrefix\": \"FerialbewerbungFragebogen\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_zeugnisAnfragen\",\r\n \"options\": {\r\n \"optionsName\": \"r_zeugnisAnfragenOptions\",\r\n \"optionsNameFQ\": \"r_zeugnisAnfragenOptions\"\r\n }\r\n });\r\n this.widgetCreator.addRadioGroup(this, {\r\n \"idSelect\": \"pflichtfeld\",\r\n \"filters\": [],\r\n \"caption\": \"stelleninserat-empleo-edit.r_reisepassausweisanfragen_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Stelleninserat\",\r\n \"bindTo\": \"FerialbewerbungFragebogen.ReisepassAusweisAnfragen\",\r\n \"bindToFQ\": \"models.data.$m_Stelleninserat.FerialbewerbungFragebogen.ReisepassAusweisAnfragen\",\r\n \"propertyPrefix\": \"FerialbewerbungFragebogen\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_reisepassAusweisAnfragen\",\r\n \"options\": {\r\n \"optionsName\": \"r_reisepassAusweisAnfragenOptions\",\r\n \"optionsNameFQ\": \"r_reisepassAusweisAnfragenOptions\"\r\n }\r\n });\r\n this.widgetCreator.addRadioGroup(this, {\r\n \"idSelect\": \"pflichtfeld\",\r\n \"filters\": [],\r\n \"caption\": \"stelleninserat-empleo-edit.r_sprachkenntnisse_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Stelleninserat\",\r\n \"bindTo\": \"FerialbewerbungFragebogen.SprachKenntnisseAnfragen\",\r\n \"bindToFQ\": \"models.data.$m_Stelleninserat.FerialbewerbungFragebogen.SprachKenntnisseAnfragen\",\r\n \"propertyPrefix\": \"FerialbewerbungFragebogen\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_sprachkenntnisse\",\r\n \"options\": {\r\n \"optionsName\": \"r_sprachkenntnisseOptions\",\r\n \"optionsNameFQ\": \"r_sprachkenntnisseOptions\"\r\n }\r\n });\r\n this.widgetCreator.addRadioGroup(this, {\r\n \"idSelect\": \"pflichtfeld\",\r\n \"filters\": [],\r\n \"caption\": \"stelleninserat-empleo-edit.r_bisherigeberufserfahrung_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Stelleninserat\",\r\n \"bindTo\": \"FerialbewerbungFragebogen.BisherigeBerufserfahrungAnfragen\",\r\n \"bindToFQ\": \"models.data.$m_Stelleninserat.FerialbewerbungFragebogen.BisherigeBerufserfahrungAnfragen\",\r\n \"propertyPrefix\": \"FerialbewerbungFragebogen\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_bisherigeBerufserfahrung\",\r\n \"options\": {\r\n \"optionsName\": \"r_bisherigeBerufserfahrungOptions\",\r\n \"optionsNameFQ\": \"r_bisherigeBerufserfahrungOptions\"\r\n }\r\n });\r\n this.widgetCreator.addRadioGroup(this, {\r\n \"idSelect\": \"pflichtfeld\",\r\n \"filters\": [],\r\n \"caption\": \"stelleninserat-empleo-edit.r_fuehrerscheinundmobilitaet_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Stelleninserat\",\r\n \"bindTo\": \"FerialbewerbungFragebogen.FuehrerscheinUndMobilitaetAnfragen\",\r\n \"bindToFQ\": \"models.data.$m_Stelleninserat.FerialbewerbungFragebogen.FuehrerscheinUndMobilitaetAnfragen\",\r\n \"propertyPrefix\": \"FerialbewerbungFragebogen\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_fuehrerscheinUndMobilitaet\",\r\n \"options\": {\r\n \"optionsName\": \"r_fuehrerscheinUndMobilitaetOptions\",\r\n \"optionsNameFQ\": \"r_fuehrerscheinUndMobilitaetOptions\"\r\n }\r\n });\r\n this.widgetCreator.addRadioGroup(this, {\r\n \"idSelect\": \"pflichtfeld\",\r\n \"filters\": [],\r\n \"caption\": \"stelleninserat-empleo-edit.r_staplerfuehrerschein_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Stelleninserat\",\r\n \"bindTo\": \"FerialbewerbungFragebogen.StaplerFuehrerscheinAnfragen\",\r\n \"bindToFQ\": \"models.data.$m_Stelleninserat.FerialbewerbungFragebogen.StaplerFuehrerscheinAnfragen\",\r\n \"propertyPrefix\": \"FerialbewerbungFragebogen\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_staplerfuehrerschein\",\r\n \"options\": {\r\n \"optionsName\": \"r_staplerfuehrerscheinOptions\",\r\n \"optionsNameFQ\": \"r_staplerfuehrerscheinOptions\"\r\n }\r\n });\r\n this.widgetCreator.addListView(this, {\r\n \"itemClass\": \"z--list-view-inline-item\",\r\n \"useDefaultListItemStyle\": false,\r\n \"createToolbar\": true,\r\n \"optionsToolbar\": {\r\n \"optionsName\": \"r_moeglicheEinsatzbereicheToolbarOptions\",\r\n \"optionsNameFQ\": \"r_moeglicheEinsatzbereicheToolbarOptions\"\r\n },\r\n \"caption\": \"stelleninserat-empleo-edit.r_moeglicheeinsatzbereiche_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_STFBFB\"\r\n },\r\n \"isRelation\": true,\r\n \"relationBinding\": {\r\n \"dataContext\": \"$m_STFBFBEinsatzbereich\",\r\n \"bindTo\": \"IdStelleninseratFerialbewerbungFragebogenElement\",\r\n \"bindToFQ\": \"models.data.$m_STFBFBEinsatzbereich.IdStelleninseratFerialbewerbungFragebogenElement\"\r\n },\r\n \"dataModel\": \"$m_STFBFB\",\r\n \"editDataContext\": \"$m_STFBFBEinsatzbereichE\",\r\n \"idEditPopup\": \"stelleninseratFerialbewerbungFragebogenEinsatzbereichEditPopup\",\r\n \"listEdits\": [],\r\n \"filters\": [],\r\n \"commands\": [],\r\n \"id\": \"r_moeglicheEinsatzbereiche\",\r\n \"options\": {\r\n \"optionsName\": \"r_moeglicheEinsatzbereicheOptions\",\r\n \"optionsNameFQ\": \"r_moeglicheEinsatzbereicheOptions\"\r\n }\r\n });\r\n this.widgetCreator.addListView(this, {\r\n \"itemClass\": \"col-xs-12 col-sm-6\",\r\n \"useDefaultListItemStyle\": false,\r\n \"createToolbar\": true,\r\n \"optionsToolbar\": {\r\n \"optionsName\": \"r_bewerbungenListViewToolbarOptions\",\r\n \"optionsNameFQ\": \"r_bewerbungenListViewToolbarOptions\"\r\n },\r\n \"caption\": \"stelleninserat-empleo-edit.r_bewerbungenlistview_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Bewerbung\"\r\n },\r\n \"dataModel\": \"$m_Bewerbung\",\r\n \"pageSize\": 4,\r\n \"listEdits\": [],\r\n \"filters\": [],\r\n \"commands\": [],\r\n \"id\": \"r_bewerbungenListView\",\r\n \"options\": {\r\n \"optionsName\": \"r_bewerbungenListViewOptions\",\r\n \"optionsNameFQ\": \"r_bewerbungenListViewOptions\"\r\n }\r\n });\r\n this.widgetCreator.addDataGrid(this, {\r\n \"columns\": [{\r\n \"id\": \"r_channelBezeichnung\",\r\n \"caption\": \"stelleninserat-empleo-edit.r_channelbezeichnung_caption\",\r\n \"bindTo\": \"Channel.Bezeichnung\",\r\n \"minWidth\": 100\r\n }, {\r\n \"id\": \"r_channelVeroeffentlichungtyp\",\r\n \"caption\": \"stelleninserat-empleo-edit.r_channelveroeffentlichungtyp_caption\",\r\n \"bindTo\": \"VeroeffentlichungTyp\",\r\n \"minWidth\": 100,\r\n \"enumTypeName\": \"TIP.ZIT.Business.Enumerations.VeroeffentlichungTypEnum\"\r\n }, {\r\n \"id\": \"r_channelBewerbungstyp\",\r\n \"caption\": \"stelleninserat-empleo-edit.r_channelbewerbungstyp_caption\",\r\n \"bindTo\": \"StelleninseratBewerbungstyp.Bezeichnung\",\r\n \"minWidth\": 100\r\n }],\r\n \"createToolbar\": true,\r\n \"optionsToolbar\": {\r\n \"optionsName\": \"r_StelleninseratKopfElementChannelGridToolbarOptions\",\r\n \"optionsNameFQ\": \"r_StelleninseratKopfElementChannelGridToolbarOptions\"\r\n },\r\n \"caption\": \"stelleninserat-empleo-edit.r_stelleninseratkopfelementchannelgrid_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_StelleninseratKopfElement\"\r\n },\r\n \"isRelation\": true,\r\n \"relationBinding\": {\r\n \"dataContext\": \"$m_StelleninseratKopfElementChannelRel\",\r\n \"bindTo\": \"IdStelleninseratKopfElement\",\r\n \"bindToFQ\": \"models.data.$m_StelleninseratKopfElementChannelRel.IdStelleninseratKopfElement\"\r\n },\r\n \"dataModel\": \"$m_StelleninseratKopfElement\",\r\n \"editDataContext\": \"$m_StelleninseratKopfElementChannelEdit\",\r\n \"idEditPopup\": \"stelleninseratKopfElementChannelEditPopup\",\r\n \"listEdits\": [],\r\n \"filters\": [],\r\n \"commands\": [],\r\n \"id\": \"r_StelleninseratKopfElementChannelGrid\",\r\n \"options\": {\r\n \"optionsName\": \"r_StelleninseratKopfElementChannelGridOptions\",\r\n \"optionsNameFQ\": \"r_StelleninseratKopfElementChannelGridOptions\"\r\n }\r\n });\r\n super.onConstructionFinished();\r\n }\r\n}","module.exports = \"\";","import * as fwx from \"../../../../framework/forms/form-export\";\r\nimport {\r\n StelleninseratEditUtils\r\n} from \"./stelleninserat-edit-utils\";\r\n\r\n@fwx.autoinject\r\nexport class StelleninseratFerialEditForm extends fwx.FormBase {\r\n constructor(\r\n element: Element,\r\n formBaseImport: fwx.FormBaseImport,\r\n private $f_Stelleninserat: StelleninseratEditUtils) {\r\n super(element, formBaseImport);\r\n this.id = \"stelleninserat-ferial-edit\";\r\n this.title = \"stelleninserat-ferial-edit.stelleninserat-ferial-edit_caption\";\r\n this.addModel({\r\n \"id\": \"$m_Stelleninserat\",\r\n \"webApiAction\": \"ZIT/Objekte/Stelleninserat\",\r\n \"webApiExpand\": {\r\n 'Kopf': {\r\n 'expand': {\r\n 'TextKopfzeile1': null,\r\n 'TextFusszeile1': null\r\n }\r\n },\r\n 'FerialeinsatzEinstellungen': null,\r\n 'FerialbewerbungFragebogen': null\r\n },\r\n \"modificationInfoEnabled\": true,\r\n \"key\": \"variables.data.$id\",\r\n \"keyProperty\": \"Id\",\r\n \"postOnSave\": true,\r\n \"filters\": [{\r\n \"webApiCustomKey\": \"BewerbungInfo\",\r\n \"webApiCustomValue\": \"true\"\r\n }, {\r\n \"webApiCustomKey\": \"ProfilFirmaInfo\",\r\n \"webApiCustomValue\": \"true\"\r\n }, {\r\n \"webApiCustomKey\": \"StelleninseratVorschauUrl\",\r\n \"webApiCustomValue\": \"true\"\r\n }]\r\n });\r\n this.addModel({\r\n \"id\": \"$m_StelleninseratKopfElement\",\r\n \"webApiAction\": \"ZIT/Objekte/StelleninseratKopfElement\",\r\n \"webApiColumns\": ['Id'],\r\n \"key\": \"models.data.$m_Stelleninserat.IdStelleninseratKopfElement\",\r\n \"keyProperty\": \"Id\",\r\n \"filters\": []\r\n });\r\n this.addModel({\r\n \"id\": \"$m_StelleninseratGruppeRel\",\r\n \"webApiAction\": \"ZIT/Objekte/StelleninseratGruppe\",\r\n \"webApiColumns\": [\"Id\", \"SortNr\", \"Text\", \"IdStelleninseratGruppentyp\"],\r\n \"webApiExpand\": {\r\n 'Gruppentyp': null\r\n },\r\n \"webApiOrderBy\": [{\r\n \"columnName\": \"GruppentypSortNr\",\r\n \"sortOrder\": 0\r\n }, {\r\n \"columnName\": \"GruppentypBezeichnung\",\r\n \"sortOrder\": 0\r\n }, {\r\n \"columnName\": \"SortNr\",\r\n \"sortOrder\": 0\r\n }, {\r\n \"columnName\": \"Text\",\r\n \"sortOrder\": 0\r\n }],\r\n \"keyProperty\": \"Id\",\r\n \"filters\": []\r\n });\r\n this.addModel({\r\n \"id\": \"$m_StelleninseratGruppeEdit\",\r\n \"webApiAction\": \"ZIT/Objekte/StelleninseratGruppe\",\r\n \"webApiExpand\": {\r\n 'Gruppentyp': null\r\n },\r\n \"keyProperty\": \"Id\",\r\n \"filters\": []\r\n });\r\n this.addModel({\r\n \"id\": \"$m_StelleninseratGruppeElement\",\r\n \"webApiAction\": \"ZIT/Objekte/StelleninseratGruppeElement\",\r\n \"key\": \"models.data.$m_Stelleninserat.IdStelleninseratGruppeElement\",\r\n \"keyProperty\": \"Id\",\r\n \"filters\": []\r\n });\r\n this.addModel({\r\n \"id\": \"$m_STFBFB\",\r\n \"webApiAction\": \"ZIT/Objekte/StelleninseratFerialbewerbungFragebogenElement\",\r\n \"key\": \"models.data.$m_Stelleninserat.IdStelleninseratFerialbewerbungFragebogenElement\",\r\n \"keyProperty\": \"Id\",\r\n \"filters\": []\r\n });\r\n this.addModel({\r\n \"id\": \"$m_STFBFBEinsatzbereich\",\r\n \"webApiAction\": \"ZIT/Objekte/StelleninseratFerialbewerbungFragebogenEinsatzbereich\",\r\n \"webApiColumns\": [\"Id\", \"IdStelleninseratFerialbewerbungFragebogenElement\", \"Einsatzbereich\", \"SortNr\"],\r\n \"webApiOrderBy\": [{\r\n \"columnName\": \"SortNr\",\r\n \"sortOrder\": 0\r\n }, {\r\n \"columnName\": \"Einsatzbereich\",\r\n \"sortOrder\": 1\r\n }],\r\n \"keyProperty\": \"Id\",\r\n \"filters\": []\r\n });\r\n this.addModel({\r\n \"id\": \"$m_STFBFBEinsatzbereichE\",\r\n \"webApiAction\": \"ZIT/Objekte/StelleninseratFerialbewerbungFragebogenEinsatzbereich\",\r\n \"keyProperty\": \"Id\",\r\n \"filters\": []\r\n });\r\n this.addModel({\r\n \"id\": \"$m_Bewerbung\",\r\n \"webApiAction\": \"ZIT/Objekte/Bewerbung\",\r\n \"webApiColumns\": [\"Id\"],\r\n \"webApiWhere\": [\"Kopf.IdStelleninserat\", {\r\n \"isBound\": true,\r\n \"expression\": \"models.data.$m_Stelleninserat.Id\"\r\n }],\r\n \"modificationInfoEnabled\": true,\r\n \"keyProperty\": \"Id\",\r\n \"filters\": [{\r\n \"webApiCustomKey\": \"AddBewerbungCard\",\r\n \"webApiCustomValue\": \"true\"\r\n }]\r\n });\r\n this.addModel({\r\n \"id\": \"$m_Bewerbungstyp\",\r\n \"webApiAction\": \"ZIT/Stammdaten/StelleninseratBewerbungstyp\",\r\n \"key\": \"models.data.$m_Stelleninserat.Kopf.IdBewerbungstyp\",\r\n \"keyProperty\": \"Id\",\r\n \"filters\": []\r\n });\r\n this.addModel({\r\n \"id\": \"$m_StelleninseratKopfElementChannelRel\",\r\n \"webApiAction\": \"ZIT/Objekte/StelleninseratKopfElementZuChannel\",\r\n \"webApiExpand\": {\r\n 'Channel': null,\r\n 'StelleninseratBewerbungstyp': null\r\n },\r\n \"keyProperty\": \"Id\",\r\n \"allowNew\": \"functions.$f_Stelleninserat.canAddChannel\",\r\n \"filters\": []\r\n });\r\n this.addModel({\r\n \"id\": \"$m_StelleninseratKopfElementChannelEdit\",\r\n \"webApiAction\": \"ZIT/Objekte/StelleninseratKopfElementZuChannel\",\r\n \"keyProperty\": \"Id\",\r\n \"filters\": []\r\n });\r\n this.addCommand({\r\n \"binding\": {\r\n \"bindTo\": \"$f_Stelleninserat.actionCommand\",\r\n \"bindToFQ\": \"functions.$f_Stelleninserat.actionCommand\"\r\n }\r\n });\r\n this.addEditPopup({\r\n \"idContent\": \"stelleninseratGruppeEditPopupContent\",\r\n \"mappings\": [{\r\n \"to\": \"$id\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_StelleninseratGruppeEdit\",\r\n \"bindTo\": \"Id\",\r\n \"bindToFQ\": \"models.data.$m_StelleninseratGruppeEdit.Id\"\r\n }\r\n }, {\r\n \"to\": \"$v_idGeschaeftspartner\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Stelleninserat\",\r\n \"bindTo\": \"Kopf.IdGeschaeftspartner\",\r\n \"bindToFQ\": \"models.data.$m_Stelleninserat.Kopf.IdGeschaeftspartner\",\r\n \"propertyPrefix\": \"Kopf\"\r\n }\r\n }, {\r\n \"to\": \"$v_idStelleninserat\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Stelleninserat\",\r\n \"bindTo\": \"Id\",\r\n \"bindToFQ\": \"models.data.$m_Stelleninserat.Id\"\r\n }\r\n }],\r\n \"id\": \"stelleninseratGruppeEditPopup\",\r\n \"options\": {\r\n \"optionsName\": \"stelleninseratGruppeEditPopupOptions\",\r\n \"optionsNameFQ\": \"stelleninseratGruppeEditPopupOptions\"\r\n },\r\n \"caption\": \"stelleninserat-ferial-edit.stelleninseratgruppeeditpopup_caption\",\r\n \"height\": \"auto\",\r\n \"width\": \"500px\",\r\n \"commands\": []\r\n });\r\n this.addEditPopup({\r\n \"idContent\": \"stelleninseratFerialbewerbungFragebogenEinsatzbereichEditPopupContent\",\r\n \"mappings\": [{\r\n \"to\": \"$id\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_STFBFBEinsatzbereichE\",\r\n \"bindTo\": \"Id\",\r\n \"bindToFQ\": \"models.data.$m_STFBFBEinsatzbereichE.Id\"\r\n }\r\n }],\r\n \"id\": \"stelleninseratFerialbewerbungFragebogenEinsatzbereichEditPopup\",\r\n \"options\": {\r\n \"optionsName\": \"stelleninseratFerialbewerbungFragebogenEinsatzbereichEditPopupOptions\",\r\n \"optionsNameFQ\": \"stelleninseratFerialbewerbungFragebogenEinsatzbereichEditPopupOptions\"\r\n },\r\n \"caption\": \"stelleninserat-ferial-edit.stelleninseratferialbewerbungfragebogeneinsatzbereicheditpopup_caption\",\r\n \"height\": \"auto\",\r\n \"width\": \"500px\",\r\n \"commands\": []\r\n });\r\n this.addEditPopup({\r\n \"idContent\": \"stelleninseratKopfElementChannelEditPopupContent\",\r\n \"mappings\": [{\r\n \"to\": \"$id\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_StelleninseratKopfElementChannelEdit\",\r\n \"bindTo\": \"Id\",\r\n \"bindToFQ\": \"models.data.$m_StelleninseratKopfElementChannelEdit.Id\"\r\n }\r\n }],\r\n \"id\": \"stelleninseratKopfElementChannelEditPopup\",\r\n \"options\": {\r\n \"optionsName\": \"stelleninseratKopfElementChannelEditPopupOptions\",\r\n \"optionsNameFQ\": \"stelleninseratKopfElementChannelEditPopupOptions\"\r\n },\r\n \"height\": \"auto\",\r\n \"width\": \"500px\",\r\n \"commands\": []\r\n });\r\n this.addFunction(\"$f_Stelleninserat\", $f_Stelleninserat, \"functions.$f_Stelleninserat\");\r\n this.widgetCreator.addValidationGroup(this, {\r\n \"id\": \"wd1\",\r\n \"options\": {\r\n \"optionsName\": \"wd1Options\",\r\n \"optionsNameFQ\": \"wd1Options\"\r\n }\r\n });\r\n this.widgetCreator.addLookup(this, {\r\n \"idSelect\": \"geschaeftspartner\",\r\n \"filters\": [],\r\n \"caption\": \"stelleninserat-ferial-edit.r_geschaeftspartner_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Stelleninserat\",\r\n \"bindTo\": \"Kopf.IdGeschaeftspartner\",\r\n \"bindToFQ\": \"models.data.$m_Stelleninserat.Kopf.IdGeschaeftspartner\",\r\n \"propertyPrefix\": \"Kopf\"\r\n },\r\n \"validationRules\": [{\r\n \"item\": {\r\n \"type\": \"required\",\r\n \"parameters\": []\r\n }\r\n }],\r\n \"id\": \"r_geschaeftspartner\",\r\n \"options\": {\r\n \"optionsName\": \"r_geschaeftspartnerOptions\",\r\n \"optionsNameFQ\": \"r_geschaeftspartnerOptions\"\r\n }\r\n });\r\n this.widgetCreator.addTextBox(this, {\r\n \"maxLength\": 250,\r\n \"caption\": \"stelleninserat-ferial-edit.r_stellenbezeichnungextern_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Stelleninserat\",\r\n \"bindTo\": \"Kopf.StellenbezeichnungExtern\",\r\n \"bindToFQ\": \"models.data.$m_Stelleninserat.Kopf.StellenbezeichnungExtern\",\r\n \"propertyPrefix\": \"Kopf\"\r\n },\r\n \"validationRules\": [{\r\n \"item\": {\r\n \"type\": \"required\",\r\n \"parameters\": []\r\n }\r\n }],\r\n \"id\": \"r_stellenbezeichnungExtern\",\r\n \"options\": {\r\n \"optionsName\": \"r_stellenbezeichnungExternOptions\",\r\n \"optionsNameFQ\": \"r_stellenbezeichnungExternOptions\"\r\n }\r\n });\r\n this.widgetCreator.addTextBox(this, {\r\n \"maxLength\": 250,\r\n \"caption\": \"stelleninserat-ferial-edit.r_stellenbezeichnungintern_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Stelleninserat\",\r\n \"bindTo\": \"Kopf.StellenbezeichnungIntern\",\r\n \"bindToFQ\": \"models.data.$m_Stelleninserat.Kopf.StellenbezeichnungIntern\",\r\n \"propertyPrefix\": \"Kopf\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_stellenbezeichnungIntern\",\r\n \"options\": {\r\n \"optionsName\": \"r_stellenbezeichnungInternOptions\",\r\n \"optionsNameFQ\": \"r_stellenbezeichnungInternOptions\"\r\n }\r\n });\r\n this.widgetCreator.addDateBox(this, {\r\n \"format\": \"d\",\r\n \"caption\": \"stelleninserat-ferial-edit.r_gueltigvon_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Stelleninserat\",\r\n \"bindTo\": \"Kopf.GueltigVon\",\r\n \"bindToFQ\": \"models.data.$m_Stelleninserat.Kopf.GueltigVon\",\r\n \"propertyPrefix\": \"Kopf\"\r\n },\r\n \"validationRules\": [{\r\n \"item\": {\r\n \"type\": \"required\",\r\n \"parameters\": []\r\n }\r\n }],\r\n \"id\": \"r_gueltigVon\",\r\n \"options\": {\r\n \"optionsName\": \"r_gueltigVonOptions\",\r\n \"optionsNameFQ\": \"r_gueltigVonOptions\"\r\n }\r\n });\r\n this.widgetCreator.addDateBox(this, {\r\n \"format\": \"d\",\r\n \"caption\": \"stelleninserat-ferial-edit.r_gueltigbis_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Stelleninserat\",\r\n \"bindTo\": \"Kopf.GueltigBis\",\r\n \"bindToFQ\": \"models.data.$m_Stelleninserat.Kopf.GueltigBis\",\r\n \"propertyPrefix\": \"Kopf\"\r\n },\r\n \"validationRules\": [{\r\n \"item\": {\r\n \"type\": \"required\",\r\n \"parameters\": []\r\n }\r\n }],\r\n \"id\": \"r_gueltigBis\",\r\n \"options\": {\r\n \"optionsName\": \"r_gueltigBisOptions\",\r\n \"optionsNameFQ\": \"r_gueltigBisOptions\"\r\n }\r\n });\r\n this.widgetCreator.addSelectBox(this, {\r\n \"idSelect\": \"branche\",\r\n \"filters\": [],\r\n \"caption\": \"stelleninserat-ferial-edit.r_branche_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Stelleninserat\",\r\n \"bindTo\": \"Kopf.IdBranche\",\r\n \"bindToFQ\": \"models.data.$m_Stelleninserat.Kopf.IdBranche\",\r\n \"propertyPrefix\": \"Kopf\"\r\n },\r\n \"validationRules\": [{\r\n \"item\": {\r\n \"type\": \"required\",\r\n \"parameters\": []\r\n }\r\n }],\r\n \"id\": \"r_branche\",\r\n \"options\": {\r\n \"optionsName\": \"r_brancheOptions\",\r\n \"optionsNameFQ\": \"r_brancheOptions\"\r\n }\r\n });\r\n this.widgetCreator.addLookup(this, {\r\n \"idSelect\": \"geschaeftspartner\",\r\n \"filters\": [],\r\n \"caption\": \"stelleninserat-ferial-edit.r_geschaeftspartnernopackage_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Stelleninserat\",\r\n \"bindTo\": \"Kopf.IdGeschaeftspartner\",\r\n \"bindToFQ\": \"models.data.$m_Stelleninserat.Kopf.IdGeschaeftspartner\",\r\n \"propertyPrefix\": \"Kopf\"\r\n },\r\n \"validationRules\": [{\r\n \"binding\": {\r\n \"dataContext\": \"$m_Stelleninserat\",\r\n \"bindTo\": \"$f_Stelleninserat.keinPackageRule\",\r\n \"bindToFQ\": \"functions.$f_Stelleninserat.keinPackageRule\"\r\n }\r\n }, {\r\n \"item\": {\r\n \"type\": \"required\",\r\n \"parameters\": []\r\n }\r\n }],\r\n \"id\": \"r_geschaeftspartnerNoPackage\",\r\n \"options\": {\r\n \"optionsName\": \"r_geschaeftspartnerNoPackageOptions\",\r\n \"optionsNameFQ\": \"r_geschaeftspartnerNoPackageOptions\"\r\n }\r\n });\r\n this.widgetCreator.addLookup(this, {\r\n \"idSelect\": \"ansprechperson\",\r\n \"customs\": [{\r\n \"key\": \"IdGeschaeftspartner\",\r\n \"value\": \"models.data.$m_Stelleninserat.Kopf.IdGeschaeftspartner\"\r\n }],\r\n \"filters\": [],\r\n \"caption\": \"stelleninserat-ferial-edit.ansprechpersonselect_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Stelleninserat\",\r\n \"bindTo\": \"Kopf.IdAnsprechperson\",\r\n \"bindToFQ\": \"models.data.$m_Stelleninserat.Kopf.IdAnsprechperson\",\r\n \"propertyPrefix\": \"Kopf\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"ansprechpersonSelect\",\r\n \"options\": {\r\n \"optionsName\": \"ansprechpersonSelectOptions\",\r\n \"optionsNameFQ\": \"ansprechpersonSelectOptions\"\r\n }\r\n });\r\n this.widgetCreator.addFileUploaderWithViewer(this, {\r\n \"acceptTypeEnum\": 0,\r\n \"acceptType\": \"image/*\",\r\n \"placeholderImageExpression\": \"models.data.$m_Stelleninserat.Kopf.DMSLinkStandardBild\",\r\n \"placeholderImageText\": \"Standardbild laut Lehrberuf\",\r\n \"height\": \"250px\",\r\n \"showToolbar\": true,\r\n \"showClearButton\": false,\r\n \"caption\": \"stelleninserat-ferial-edit.r_dmslinkbild_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Stelleninserat\",\r\n \"bindTo\": \"Kopf.DMSLinkBild\",\r\n \"bindToFQ\": \"models.data.$m_Stelleninserat.Kopf.DMSLinkBild\",\r\n \"propertyPrefix\": \"Kopf\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_dmslinkBild\",\r\n \"options\": {\r\n \"optionsName\": \"r_dmslinkBildOptions\",\r\n \"optionsNameFQ\": \"r_dmslinkBildOptions\"\r\n }\r\n });\r\n this.widgetCreator.addCheckBox(this, {\r\n \"caption\": \"stelleninserat-ferial-edit.r_stelleninserataktiv_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Stelleninserat\",\r\n \"bindTo\": \"Kopf.IsAktiv\",\r\n \"bindToFQ\": \"models.data.$m_Stelleninserat.Kopf.IsAktiv\",\r\n \"propertyPrefix\": \"Kopf\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_stelleninseratAktiv\",\r\n \"options\": {\r\n \"optionsName\": \"r_stelleninseratAktivOptions\",\r\n \"optionsNameFQ\": \"r_stelleninseratAktivOptions\"\r\n }\r\n });\r\n this.widgetCreator.addCheckBox(this, {\r\n \"caption\": \"stelleninserat-ferial-edit.r_nuronlinebewerbungerwuenscht_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Stelleninserat\",\r\n \"bindTo\": \"Kopf.NurOnlineBewerbungErwuenscht\",\r\n \"bindToFQ\": \"models.data.$m_Stelleninserat.Kopf.NurOnlineBewerbungErwuenscht\",\r\n \"propertyPrefix\": \"Kopf\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_nurOnlineBewerbungErwuenscht\",\r\n \"options\": {\r\n \"optionsName\": \"r_nurOnlineBewerbungErwuenschtOptions\",\r\n \"optionsNameFQ\": \"r_nurOnlineBewerbungErwuenschtOptions\"\r\n }\r\n });\r\n this.widgetCreator.addSelectBox(this, {\r\n \"idSelect\": \"stelleninseratBewerbungstyp\",\r\n \"filter\": [\r\n [\"IdGeschaeftspartner\", \"null\"], \"or\", [\"IdGeschaeftspartner\", {\r\n \"isBound\": true,\r\n \"expression\": \"models.data.$m_Stelleninserat.Kopf.IdGeschaeftspartner\"\r\n }]\r\n ],\r\n \"customs\": [{\r\n \"key\": \"IdGeschaeftspartner\",\r\n \"value\": \"models.data.$m_Stelleninserat.Kopf.IdGeschaeftspartner\"\r\n }, {\r\n \"key\": \"CheckBenutzerrolle\",\r\n \"value\": \"true\"\r\n }],\r\n \"filters\": [],\r\n \"caption\": \"stelleninserat-ferial-edit.bewerbungstyp_caption\",\r\n \"placeholder\": \"stelleninserat-ferial-edit.bewerbungstyp_placeholder\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Stelleninserat\",\r\n \"bindTo\": \"Kopf.IdBewerbungstyp\",\r\n \"bindToFQ\": \"models.data.$m_Stelleninserat.Kopf.IdBewerbungstyp\",\r\n \"propertyPrefix\": \"Kopf\"\r\n },\r\n \"validationRules\": [{\r\n \"item\": {\r\n \"type\": \"required\",\r\n \"parameters\": []\r\n }\r\n }],\r\n \"id\": \"bewerbungstyp\",\r\n \"options\": {\r\n \"optionsName\": \"bewerbungstypOptions\",\r\n \"optionsNameFQ\": \"bewerbungstypOptions\"\r\n }\r\n });\r\n this.widgetCreator.addCheckBox(this, {\r\n \"caption\": \"stelleninserat-ferial-edit.r_priorisieren_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Stelleninserat\",\r\n \"bindTo\": \"Kopf.Priorisieren\",\r\n \"bindToFQ\": \"models.data.$m_Stelleninserat.Kopf.Priorisieren\",\r\n \"propertyPrefix\": \"Kopf\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_priorisieren\",\r\n \"options\": {\r\n \"optionsName\": \"r_priorisierenOptions\",\r\n \"optionsNameFQ\": \"r_priorisierenOptions\"\r\n }\r\n });\r\n this.widgetCreator.addDateBox(this, {\r\n \"format\": \"d\",\r\n \"caption\": \"stelleninserat-ferial-edit.r_bewerbungvon_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Stelleninserat\",\r\n \"bindTo\": \"FerialeinsatzEinstellungen.BewerbungOnlineVon\",\r\n \"bindToFQ\": \"models.data.$m_Stelleninserat.FerialeinsatzEinstellungen.BewerbungOnlineVon\",\r\n \"propertyPrefix\": \"FerialeinsatzEinstellungen\"\r\n },\r\n \"validationRules\": [{\r\n \"binding\": {\r\n \"dataContext\": \"$m_Stelleninserat\",\r\n \"bindTo\": \"$f_Stelleninserat.bewerbungVonValidationRule\",\r\n \"bindToFQ\": \"functions.$f_Stelleninserat.bewerbungVonValidationRule\"\r\n }\r\n }],\r\n \"id\": \"r_bewerbungVon\",\r\n \"options\": {\r\n \"optionsName\": \"r_bewerbungVonOptions\",\r\n \"optionsNameFQ\": \"r_bewerbungVonOptions\"\r\n }\r\n });\r\n this.widgetCreator.addDateBox(this, {\r\n \"format\": \"d\",\r\n \"caption\": \"stelleninserat-ferial-edit.r_bewerbungbis_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Stelleninserat\",\r\n \"bindTo\": \"FerialeinsatzEinstellungen.BewerbungOnlineBis\",\r\n \"bindToFQ\": \"models.data.$m_Stelleninserat.FerialeinsatzEinstellungen.BewerbungOnlineBis\",\r\n \"propertyPrefix\": \"FerialeinsatzEinstellungen\"\r\n },\r\n \"validationRules\": [{\r\n \"binding\": {\r\n \"dataContext\": \"$m_Stelleninserat\",\r\n \"bindTo\": \"$f_Stelleninserat.bewerbungBisValidationRule\",\r\n \"bindToFQ\": \"functions.$f_Stelleninserat.bewerbungBisValidationRule\"\r\n }\r\n }],\r\n \"id\": \"r_bewerbungBis\",\r\n \"options\": {\r\n \"optionsName\": \"r_bewerbungBisOptions\",\r\n \"optionsNameFQ\": \"r_bewerbungBisOptions\"\r\n }\r\n });\r\n this.widgetCreator.addNumberBox(this, {\r\n \"showSpinButtons\": true,\r\n \"min\": 0.0,\r\n \"max\": 99.0,\r\n \"caption\": \"stelleninserat-ferial-edit.r_mindestalter_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Stelleninserat\",\r\n \"bindTo\": \"FerialeinsatzEinstellungen.Mindestalter\",\r\n \"bindToFQ\": \"models.data.$m_Stelleninserat.FerialeinsatzEinstellungen.Mindestalter\",\r\n \"propertyPrefix\": \"FerialeinsatzEinstellungen\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_mindestalter\",\r\n \"options\": {\r\n \"optionsName\": \"r_mindestalterOptions\",\r\n \"optionsNameFQ\": \"r_mindestalterOptions\"\r\n }\r\n });\r\n this.widgetCreator.addDateBox(this, {\r\n \"format\": \"d\",\r\n \"caption\": \"stelleninserat-ferial-edit.r_beschaeftigungvon_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Stelleninserat\",\r\n \"bindTo\": \"FerialeinsatzEinstellungen.BeschaeftigungVon\",\r\n \"bindToFQ\": \"models.data.$m_Stelleninserat.FerialeinsatzEinstellungen.BeschaeftigungVon\",\r\n \"propertyPrefix\": \"FerialeinsatzEinstellungen\"\r\n },\r\n \"validationRules\": [{\r\n \"item\": {\r\n \"type\": \"required\",\r\n \"parameters\": []\r\n }\r\n }],\r\n \"id\": \"r_beschaeftigungVon\",\r\n \"options\": {\r\n \"optionsName\": \"r_beschaeftigungVonOptions\",\r\n \"optionsNameFQ\": \"r_beschaeftigungVonOptions\"\r\n }\r\n });\r\n this.widgetCreator.addDateBox(this, {\r\n \"format\": \"d\",\r\n \"caption\": \"stelleninserat-ferial-edit.r_beschaeftigungbis_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Stelleninserat\",\r\n \"bindTo\": \"FerialeinsatzEinstellungen.BeschaeftigungBis\",\r\n \"bindToFQ\": \"models.data.$m_Stelleninserat.FerialeinsatzEinstellungen.BeschaeftigungBis\",\r\n \"propertyPrefix\": \"FerialeinsatzEinstellungen\"\r\n },\r\n \"validationRules\": [{\r\n \"item\": {\r\n \"type\": \"required\",\r\n \"parameters\": []\r\n }\r\n }],\r\n \"id\": \"r_beschaeftigungBis\",\r\n \"options\": {\r\n \"optionsName\": \"r_beschaeftigungBisOptions\",\r\n \"optionsNameFQ\": \"r_beschaeftigungBisOptions\"\r\n }\r\n });\r\n this.widgetCreator.addNumberBox(this, {\r\n \"showSpinButtons\": true,\r\n \"min\": 1.0,\r\n \"max\": 99.0,\r\n \"caption\": \"stelleninserat-ferial-edit.r_mindesteinsatzwochen_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Stelleninserat\",\r\n \"bindTo\": \"FerialeinsatzEinstellungen.MindesteinsatzWochen\",\r\n \"bindToFQ\": \"models.data.$m_Stelleninserat.FerialeinsatzEinstellungen.MindesteinsatzWochen\",\r\n \"propertyPrefix\": \"FerialeinsatzEinstellungen\"\r\n },\r\n \"validationRules\": [{\r\n \"item\": {\r\n \"type\": \"required\",\r\n \"parameters\": []\r\n }\r\n }],\r\n \"id\": \"r_mindesteinsatzWochen\",\r\n \"options\": {\r\n \"optionsName\": \"r_mindesteinsatzWochenOptions\",\r\n \"optionsNameFQ\": \"r_mindesteinsatzWochenOptions\"\r\n }\r\n });\r\n this.widgetCreator.addNumberBox(this, {\r\n \"showSpinButtons\": true,\r\n \"min\": 1.0,\r\n \"max\": 99.0,\r\n \"caption\": \"stelleninserat-ferial-edit.r_maxeinsatzwochen_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Stelleninserat\",\r\n \"bindTo\": \"FerialeinsatzEinstellungen.MaxEinsatzWochen\",\r\n \"bindToFQ\": \"models.data.$m_Stelleninserat.FerialeinsatzEinstellungen.MaxEinsatzWochen\",\r\n \"propertyPrefix\": \"FerialeinsatzEinstellungen\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_maxEinsatzWochen\",\r\n \"options\": {\r\n \"optionsName\": \"r_maxEinsatzWochenOptions\",\r\n \"optionsNameFQ\": \"r_maxEinsatzWochenOptions\"\r\n }\r\n });\r\n this.widgetCreator.addCheckBox(this, {\r\n \"caption\": \"stelleninserat-ferial-edit.r_einsatzzeitraumaufbewerbungsseitenichtanzeigen_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Stelleninserat\",\r\n \"bindTo\": \"Kopf.EinsatzzeitraumAufBewerbungsseiteNichtAnzeigen\",\r\n \"bindToFQ\": \"models.data.$m_Stelleninserat.Kopf.EinsatzzeitraumAufBewerbungsseiteNichtAnzeigen\",\r\n \"propertyPrefix\": \"Kopf\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_einsatzzeitraumAufBewerbungsseiteNichtAnzeigen\",\r\n \"options\": {\r\n \"optionsName\": \"r_einsatzzeitraumAufBewerbungsseiteNichtAnzeigenOptions\",\r\n \"optionsNameFQ\": \"r_einsatzzeitraumAufBewerbungsseiteNichtAnzeigenOptions\"\r\n }\r\n });\r\n this.widgetCreator.addTextBox(this, {\r\n \"maxLength\": 250,\r\n \"caption\": \"stelleninserat-ferial-edit.r_standort_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Stelleninserat\",\r\n \"bindTo\": \"Kopf.Standort\",\r\n \"bindToFQ\": \"models.data.$m_Stelleninserat.Kopf.Standort\",\r\n \"propertyPrefix\": \"Kopf\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_standort\",\r\n \"options\": {\r\n \"optionsName\": \"r_standortOptions\",\r\n \"optionsNameFQ\": \"r_standortOptions\"\r\n }\r\n });\r\n this.widgetCreator.addTextBox(this, {\r\n \"maxLength\": 500,\r\n \"caption\": \"stelleninserat-ferial-edit.r_googlekarteadresse_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Stelleninserat\",\r\n \"bindTo\": \"Kopf.GoogleKartenAdresse\",\r\n \"bindToFQ\": \"models.data.$m_Stelleninserat.Kopf.GoogleKartenAdresse\",\r\n \"propertyPrefix\": \"Kopf\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_googleKarteAdresse\",\r\n \"options\": {\r\n \"optionsName\": \"r_googleKarteAdresseOptions\",\r\n \"optionsNameFQ\": \"r_googleKarteAdresseOptions\"\r\n }\r\n });\r\n this.widgetCreator.addTextBox(this, {\r\n \"maxLength\": 250,\r\n \"caption\": \"stelleninserat-ferial-edit.r_subheadline_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Stelleninserat\",\r\n \"bindTo\": \"Kopf.Subheadline\",\r\n \"bindToFQ\": \"models.data.$m_Stelleninserat.Kopf.Subheadline\",\r\n \"propertyPrefix\": \"Kopf\"\r\n },\r\n \"validationRules\": [{\r\n \"item\": {\r\n \"type\": \"required\",\r\n \"parameters\": []\r\n }\r\n }],\r\n \"id\": \"r_subheadline\",\r\n \"options\": {\r\n \"optionsName\": \"r_subheadlineOptions\",\r\n \"optionsNameFQ\": \"r_subheadlineOptions\"\r\n }\r\n });\r\n this.widgetCreator.addTextBox(this, {\r\n \"maxLength\": 500,\r\n \"caption\": \"stelleninserat-ferial-edit.r_weiterleitungslink_caption\",\r\n \"isReadOnlyExpression\": \"!models.data.$m_Bewerbungstyp || !models.data.$m_Bewerbungstyp.WebsiteUmleitungLautWeiterleitungslink\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Stelleninserat\",\r\n \"bindTo\": \"Kopf.Weiterleitungslink\",\r\n \"bindToFQ\": \"models.data.$m_Stelleninserat.Kopf.Weiterleitungslink\",\r\n \"propertyPrefix\": \"Kopf\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_weiterleitungslink\",\r\n \"options\": {\r\n \"optionsName\": \"r_weiterleitungslinkOptions\",\r\n \"optionsNameFQ\": \"r_weiterleitungslinkOptions\"\r\n }\r\n });\r\n this.widgetCreator.addRadioGroup(this, {\r\n \"idSelect\": \"pflichtfeld\",\r\n \"filters\": [],\r\n \"caption\": \"stelleninserat-ferial-edit.r_lebenslaufanfragen_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Stelleninserat\",\r\n \"bindTo\": \"FerialbewerbungFragebogen.LebenslaufAnfragen\",\r\n \"bindToFQ\": \"models.data.$m_Stelleninserat.FerialbewerbungFragebogen.LebenslaufAnfragen\",\r\n \"propertyPrefix\": \"FerialbewerbungFragebogen\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_lebenslaufAnfragen\",\r\n \"options\": {\r\n \"optionsName\": \"r_lebenslaufAnfragenOptions\",\r\n \"optionsNameFQ\": \"r_lebenslaufAnfragenOptions\"\r\n }\r\n });\r\n this.widgetCreator.addRadioGroup(this, {\r\n \"idSelect\": \"pflichtfeld\",\r\n \"filters\": [],\r\n \"caption\": \"stelleninserat-ferial-edit.r_anschreibenanfragen_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Stelleninserat\",\r\n \"bindTo\": \"FerialbewerbungFragebogen.AnschreibenAnfragen\",\r\n \"bindToFQ\": \"models.data.$m_Stelleninserat.FerialbewerbungFragebogen.AnschreibenAnfragen\",\r\n \"propertyPrefix\": \"FerialbewerbungFragebogen\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_anschreibenAnfragen\",\r\n \"options\": {\r\n \"optionsName\": \"r_anschreibenAnfragenOptions\",\r\n \"optionsNameFQ\": \"r_anschreibenAnfragenOptions\"\r\n }\r\n });\r\n this.widgetCreator.addRadioGroup(this, {\r\n \"idSelect\": \"pflichtfeld\",\r\n \"filters\": [],\r\n \"caption\": \"stelleninserat-ferial-edit.r_zeugnisanfragen_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Stelleninserat\",\r\n \"bindTo\": \"FerialbewerbungFragebogen.LetztesZeugnisAnfragen\",\r\n \"bindToFQ\": \"models.data.$m_Stelleninserat.FerialbewerbungFragebogen.LetztesZeugnisAnfragen\",\r\n \"propertyPrefix\": \"FerialbewerbungFragebogen\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_zeugnisAnfragen\",\r\n \"options\": {\r\n \"optionsName\": \"r_zeugnisAnfragenOptions\",\r\n \"optionsNameFQ\": \"r_zeugnisAnfragenOptions\"\r\n }\r\n });\r\n this.widgetCreator.addRadioGroup(this, {\r\n \"idSelect\": \"pflichtfeld\",\r\n \"filters\": [],\r\n \"caption\": \"stelleninserat-ferial-edit.r_reisepassausweisanfragen_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Stelleninserat\",\r\n \"bindTo\": \"FerialbewerbungFragebogen.ReisepassAusweisAnfragen\",\r\n \"bindToFQ\": \"models.data.$m_Stelleninserat.FerialbewerbungFragebogen.ReisepassAusweisAnfragen\",\r\n \"propertyPrefix\": \"FerialbewerbungFragebogen\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_reisepassAusweisAnfragen\",\r\n \"options\": {\r\n \"optionsName\": \"r_reisepassAusweisAnfragenOptions\",\r\n \"optionsNameFQ\": \"r_reisepassAusweisAnfragenOptions\"\r\n }\r\n });\r\n this.widgetCreator.addRadioGroup(this, {\r\n \"idSelect\": \"pflichtfeld\",\r\n \"filters\": [],\r\n \"caption\": \"stelleninserat-ferial-edit.r_schuhundkonfektionsgroesse_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Stelleninserat\",\r\n \"bindTo\": \"FerialbewerbungFragebogen.SchuhUndKonfektionsGroesseAnfragen\",\r\n \"bindToFQ\": \"models.data.$m_Stelleninserat.FerialbewerbungFragebogen.SchuhUndKonfektionsGroesseAnfragen\",\r\n \"propertyPrefix\": \"FerialbewerbungFragebogen\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_schuhUndKonfektionsgroesse\",\r\n \"options\": {\r\n \"optionsName\": \"r_schuhUndKonfektionsgroesseOptions\",\r\n \"optionsNameFQ\": \"r_schuhUndKonfektionsgroesseOptions\"\r\n }\r\n });\r\n this.widgetCreator.addRadioGroup(this, {\r\n \"idSelect\": \"pflichtfeld\",\r\n \"filters\": [],\r\n \"caption\": \"stelleninserat-ferial-edit.r_sprachkenntnisse_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Stelleninserat\",\r\n \"bindTo\": \"FerialbewerbungFragebogen.SprachKenntnisseAnfragen\",\r\n \"bindToFQ\": \"models.data.$m_Stelleninserat.FerialbewerbungFragebogen.SprachKenntnisseAnfragen\",\r\n \"propertyPrefix\": \"FerialbewerbungFragebogen\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_sprachkenntnisse\",\r\n \"options\": {\r\n \"optionsName\": \"r_sprachkenntnisseOptions\",\r\n \"optionsNameFQ\": \"r_sprachkenntnisseOptions\"\r\n }\r\n });\r\n this.widgetCreator.addRadioGroup(this, {\r\n \"idSelect\": \"pflichtfeld\",\r\n \"filters\": [],\r\n \"caption\": \"stelleninserat-ferial-edit.r_bisherigeberufserfahrung_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Stelleninserat\",\r\n \"bindTo\": \"FerialbewerbungFragebogen.BisherigeBerufserfahrungAnfragen\",\r\n \"bindToFQ\": \"models.data.$m_Stelleninserat.FerialbewerbungFragebogen.BisherigeBerufserfahrungAnfragen\",\r\n \"propertyPrefix\": \"FerialbewerbungFragebogen\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_bisherigeBerufserfahrung\",\r\n \"options\": {\r\n \"optionsName\": \"r_bisherigeBerufserfahrungOptions\",\r\n \"optionsNameFQ\": \"r_bisherigeBerufserfahrungOptions\"\r\n }\r\n });\r\n this.widgetCreator.addRadioGroup(this, {\r\n \"idSelect\": \"pflichtfeld\",\r\n \"filters\": [],\r\n \"caption\": \"stelleninserat-ferial-edit.r_ausbildung_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Stelleninserat\",\r\n \"bindTo\": \"FerialbewerbungFragebogen.AusbildungAnfragen\",\r\n \"bindToFQ\": \"models.data.$m_Stelleninserat.FerialbewerbungFragebogen.AusbildungAnfragen\",\r\n \"propertyPrefix\": \"FerialbewerbungFragebogen\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_ausbildung\",\r\n \"options\": {\r\n \"optionsName\": \"r_ausbildungOptions\",\r\n \"optionsNameFQ\": \"r_ausbildungOptions\"\r\n }\r\n });\r\n this.widgetCreator.addRadioGroup(this, {\r\n \"idSelect\": \"pflichtfeld\",\r\n \"filters\": [],\r\n \"caption\": \"stelleninserat-ferial-edit.r_fuehrerscheinundmobilitaet_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Stelleninserat\",\r\n \"bindTo\": \"FerialbewerbungFragebogen.FuehrerscheinUndMobilitaetAnfragen\",\r\n \"bindToFQ\": \"models.data.$m_Stelleninserat.FerialbewerbungFragebogen.FuehrerscheinUndMobilitaetAnfragen\",\r\n \"propertyPrefix\": \"FerialbewerbungFragebogen\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_fuehrerscheinUndMobilitaet\",\r\n \"options\": {\r\n \"optionsName\": \"r_fuehrerscheinUndMobilitaetOptions\",\r\n \"optionsNameFQ\": \"r_fuehrerscheinUndMobilitaetOptions\"\r\n }\r\n });\r\n this.widgetCreator.addRadioGroup(this, {\r\n \"idSelect\": \"pflichtfeld\",\r\n \"filters\": [],\r\n \"caption\": \"stelleninserat-ferial-edit.r_verwandschaftsverhaeltnis_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Stelleninserat\",\r\n \"bindTo\": \"FerialbewerbungFragebogen.VerwandtschaftsverhaeltnisAnfragen\",\r\n \"bindToFQ\": \"models.data.$m_Stelleninserat.FerialbewerbungFragebogen.VerwandtschaftsverhaeltnisAnfragen\",\r\n \"propertyPrefix\": \"FerialbewerbungFragebogen\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_verwandschaftsverhaeltnis\",\r\n \"options\": {\r\n \"optionsName\": \"r_verwandschaftsverhaeltnisOptions\",\r\n \"optionsNameFQ\": \"r_verwandschaftsverhaeltnisOptions\"\r\n }\r\n });\r\n this.widgetCreator.addRadioGroup(this, {\r\n \"idSelect\": \"pflichtfeld\",\r\n \"filters\": [],\r\n \"caption\": \"stelleninserat-ferial-edit.r_sicherheitsbekleidung_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Stelleninserat\",\r\n \"bindTo\": \"FerialbewerbungFragebogen.SicherheitsbekleidungAnfragen\",\r\n \"bindToFQ\": \"models.data.$m_Stelleninserat.FerialbewerbungFragebogen.SicherheitsbekleidungAnfragen\",\r\n \"propertyPrefix\": \"FerialbewerbungFragebogen\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_sicherheitsbekleidung\",\r\n \"options\": {\r\n \"optionsName\": \"r_sicherheitsbekleidungOptions\",\r\n \"optionsNameFQ\": \"r_sicherheitsbekleidungOptions\"\r\n }\r\n });\r\n this.widgetCreator.addRadioGroup(this, {\r\n \"idSelect\": \"pflichtfeld\",\r\n \"filters\": [],\r\n \"caption\": \"stelleninserat-ferial-edit.r_einsatzbereich_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Stelleninserat\",\r\n \"bindTo\": \"FerialbewerbungFragebogen.EinsatzbereichAnfragen\",\r\n \"bindToFQ\": \"models.data.$m_Stelleninserat.FerialbewerbungFragebogen.EinsatzbereichAnfragen\",\r\n \"propertyPrefix\": \"FerialbewerbungFragebogen\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_einsatzbereich\",\r\n \"options\": {\r\n \"optionsName\": \"r_einsatzbereichOptions\",\r\n \"optionsNameFQ\": \"r_einsatzbereichOptions\"\r\n }\r\n });\r\n this.widgetCreator.addRadioGroup(this, {\r\n \"idSelect\": \"pflichtfeld\",\r\n \"filters\": [],\r\n \"caption\": \"stelleninserat-ferial-edit.r_bisherigeeinsaetze_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Stelleninserat\",\r\n \"bindTo\": \"FerialbewerbungFragebogen.BisherigeEinsaetzeAnfragen\",\r\n \"bindToFQ\": \"models.data.$m_Stelleninserat.FerialbewerbungFragebogen.BisherigeEinsaetzeAnfragen\",\r\n \"propertyPrefix\": \"FerialbewerbungFragebogen\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_bisherigeEinsaetze\",\r\n \"options\": {\r\n \"optionsName\": \"r_bisherigeEinsaetzeOptions\",\r\n \"optionsNameFQ\": \"r_bisherigeEinsaetzeOptions\"\r\n }\r\n });\r\n this.widgetCreator.addRadioGroup(this, {\r\n \"idSelect\": \"pflichtfeld\",\r\n \"filters\": [],\r\n \"caption\": \"stelleninserat-ferial-edit.r_staplerfuehrerschein_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Stelleninserat\",\r\n \"bindTo\": \"FerialbewerbungFragebogen.StaplerFuehrerscheinAnfragen\",\r\n \"bindToFQ\": \"models.data.$m_Stelleninserat.FerialbewerbungFragebogen.StaplerFuehrerscheinAnfragen\",\r\n \"propertyPrefix\": \"FerialbewerbungFragebogen\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_staplerfuehrerschein\",\r\n \"options\": {\r\n \"optionsName\": \"r_staplerfuehrerscheinOptions\",\r\n \"optionsNameFQ\": \"r_staplerfuehrerscheinOptions\"\r\n }\r\n });\r\n this.widgetCreator.addListView(this, {\r\n \"itemClass\": \"z--list-view-inline-item\",\r\n \"useDefaultListItemStyle\": false,\r\n \"createToolbar\": true,\r\n \"optionsToolbar\": {\r\n \"optionsName\": \"r_moeglicheEinsatzbereicheToolbarOptions\",\r\n \"optionsNameFQ\": \"r_moeglicheEinsatzbereicheToolbarOptions\"\r\n },\r\n \"caption\": \"stelleninserat-ferial-edit.r_moeglicheeinsatzbereiche_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_STFBFB\"\r\n },\r\n \"isRelation\": true,\r\n \"relationBinding\": {\r\n \"dataContext\": \"$m_STFBFBEinsatzbereich\",\r\n \"bindTo\": \"IdStelleninseratFerialbewerbungFragebogenElement\",\r\n \"bindToFQ\": \"models.data.$m_STFBFBEinsatzbereich.IdStelleninseratFerialbewerbungFragebogenElement\"\r\n },\r\n \"dataModel\": \"$m_STFBFB\",\r\n \"editDataContext\": \"$m_STFBFBEinsatzbereichE\",\r\n \"idEditPopup\": \"stelleninseratFerialbewerbungFragebogenEinsatzbereichEditPopup\",\r\n \"listEdits\": [],\r\n \"filters\": [],\r\n \"commands\": [],\r\n \"id\": \"r_moeglicheEinsatzbereiche\",\r\n \"options\": {\r\n \"optionsName\": \"r_moeglicheEinsatzbereicheOptions\",\r\n \"optionsNameFQ\": \"r_moeglicheEinsatzbereicheOptions\"\r\n }\r\n });\r\n this.widgetCreator.addListView(this, {\r\n \"itemClass\": \"col-xs-12 col-sm-6\",\r\n \"useDefaultListItemStyle\": false,\r\n \"createToolbar\": true,\r\n \"optionsToolbar\": {\r\n \"optionsName\": \"r_bewerbungenListViewToolbarOptions\",\r\n \"optionsNameFQ\": \"r_bewerbungenListViewToolbarOptions\"\r\n },\r\n \"caption\": \"stelleninserat-ferial-edit.r_bewerbungenlistview_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Bewerbung\"\r\n },\r\n \"dataModel\": \"$m_Bewerbung\",\r\n \"pageSize\": 4,\r\n \"listEdits\": [],\r\n \"filters\": [],\r\n \"commands\": [],\r\n \"id\": \"r_bewerbungenListView\",\r\n \"options\": {\r\n \"optionsName\": \"r_bewerbungenListViewOptions\",\r\n \"optionsNameFQ\": \"r_bewerbungenListViewOptions\"\r\n }\r\n });\r\n this.widgetCreator.addDataGrid(this, {\r\n \"columns\": [{\r\n \"id\": \"r_channelBezeichnung\",\r\n \"caption\": \"stelleninserat-ferial-edit.r_channelbezeichnung_caption\",\r\n \"bindTo\": \"Channel.Bezeichnung\",\r\n \"minWidth\": 100\r\n }, {\r\n \"id\": \"r_channelVeroeffentlichungtyp\",\r\n \"caption\": \"stelleninserat-ferial-edit.r_channelveroeffentlichungtyp_caption\",\r\n \"bindTo\": \"VeroeffentlichungTyp\",\r\n \"minWidth\": 100,\r\n \"enumTypeName\": \"TIP.ZIT.Business.Enumerations.VeroeffentlichungTypEnum\"\r\n }, {\r\n \"id\": \"r_channelBewerbungstyp\",\r\n \"caption\": \"stelleninserat-ferial-edit.r_channelbewerbungstyp_caption\",\r\n \"bindTo\": \"StelleninseratBewerbungstyp.Bezeichnung\",\r\n \"minWidth\": 100\r\n }],\r\n \"createToolbar\": true,\r\n \"optionsToolbar\": {\r\n \"optionsName\": \"r_StelleninseratKopfElementChannelGridToolbarOptions\",\r\n \"optionsNameFQ\": \"r_StelleninseratKopfElementChannelGridToolbarOptions\"\r\n },\r\n \"caption\": \"stelleninserat-ferial-edit.r_stelleninseratkopfelementchannelgrid_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_StelleninseratKopfElement\"\r\n },\r\n \"isRelation\": true,\r\n \"relationBinding\": {\r\n \"dataContext\": \"$m_StelleninseratKopfElementChannelRel\",\r\n \"bindTo\": \"IdStelleninseratKopfElement\",\r\n \"bindToFQ\": \"models.data.$m_StelleninseratKopfElementChannelRel.IdStelleninseratKopfElement\"\r\n },\r\n \"dataModel\": \"$m_StelleninseratKopfElement\",\r\n \"editDataContext\": \"$m_StelleninseratKopfElementChannelEdit\",\r\n \"idEditPopup\": \"stelleninseratKopfElementChannelEditPopup\",\r\n \"listEdits\": [],\r\n \"filters\": [],\r\n \"commands\": [],\r\n \"id\": \"r_StelleninseratKopfElementChannelGrid\",\r\n \"options\": {\r\n \"optionsName\": \"r_StelleninseratKopfElementChannelGridOptions\",\r\n \"optionsNameFQ\": \"r_StelleninseratKopfElementChannelGridOptions\"\r\n }\r\n });\r\n super.onConstructionFinished();\r\n }\r\n}","module.exports = \"\";","import * as fwx from \"../../../../framework/forms/form-export\";\r\n\r\n@fwx.autoinject\r\nexport class StelleninseratFerialFragebogenEinsatzbereichEditForm extends fwx.FormBase {\r\n constructor(\r\n element: Element,\r\n formBaseImport: fwx.FormBaseImport) {\r\n super(element, formBaseImport);\r\n this.id = \"stelleninserat-ferial-fragebogen-einsatzbereich-edit\";\r\n this.title = \"stelleninserat-ferial-fragebogen-einsatzbereich-edit.stelleninserat-ferial-fragebogen-einsatzbereich-edit_caption\";\r\n this.addModel({\r\n \"id\": \"$m_Einsatzbereich\",\r\n \"webApiAction\": \"ZIT/Objekte/StelleninseratFerialbewerbungFragebogenEinsatzbereich\",\r\n \"key\": \"variables.data.$id\",\r\n \"keyProperty\": \"Id\",\r\n \"postOnSave\": true,\r\n \"filters\": []\r\n });\r\n this.widgetCreator.addValidationGroup(this, {\r\n \"id\": \"wd1\",\r\n \"options\": {\r\n \"optionsName\": \"wd1Options\",\r\n \"optionsNameFQ\": \"wd1Options\"\r\n }\r\n });\r\n this.widgetCreator.addTextBox(this, {\r\n \"maxLength\": 100,\r\n \"caption\": \"stelleninserat-ferial-fragebogen-einsatzbereich-edit.r_einsatzbereich_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Einsatzbereich\",\r\n \"bindTo\": \"Einsatzbereich\",\r\n \"bindToFQ\": \"models.data.$m_Einsatzbereich.Einsatzbereich\"\r\n },\r\n \"validationRules\": [{\r\n \"item\": {\r\n \"type\": \"required\",\r\n \"parameters\": []\r\n }\r\n }],\r\n \"id\": \"r_einsatzbereich\",\r\n \"options\": {\r\n \"optionsName\": \"r_einsatzbereichOptions\",\r\n \"optionsNameFQ\": \"r_einsatzbereichOptions\"\r\n }\r\n });\r\n this.widgetCreator.addNumberBox(this, {\r\n \"showSpinButtons\": true,\r\n \"min\": 0.0,\r\n \"caption\": \"stelleninserat-ferial-fragebogen-einsatzbereich-edit.r_sortnr_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Einsatzbereich\",\r\n \"bindTo\": \"SortNr\",\r\n \"bindToFQ\": \"models.data.$m_Einsatzbereich.SortNr\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_sortNr\",\r\n \"options\": {\r\n \"optionsName\": \"r_sortNrOptions\",\r\n \"optionsNameFQ\": \"r_sortNrOptions\"\r\n }\r\n });\r\n super.onConstructionFinished();\r\n }\r\n}","module.exports = \"\";","import * as fwx from \"../../../../framework/forms/form-export\";\r\nimport {\r\n StelleninseratGruppeEditUtils\r\n} from \"./stelleninserat-gruppe-edit-utils\";\r\n\r\n@fwx.autoinject\r\nexport class StelleninseratGruppeEditForm extends fwx.FormBase {\r\n constructor(\r\n element: Element,\r\n formBaseImport: fwx.FormBaseImport,\r\n private $f_StelleninseratGruppe: StelleninseratGruppeEditUtils) {\r\n super(element, formBaseImport);\r\n this.id = \"stelleninserat-gruppe-edit\";\r\n this.title = \"stelleninserat-gruppe-edit.stelleninserat-gruppe-edit_caption\";\r\n this.addModel({\r\n \"id\": \"$m_StelleninseratGruppe\",\r\n \"webApiAction\": \"ZIT/Objekte/StelleninseratGruppe\",\r\n \"key\": \"variables.data.$id\",\r\n \"keyProperty\": \"Id\",\r\n \"postOnSave\": true,\r\n \"filters\": []\r\n });\r\n this.addModel({\r\n \"id\": \"$m_StelleninseratGruppentyp\",\r\n \"webApiAction\": \"ZIT/Stammdaten/StelleninseratGruppentyp\",\r\n \"keyProperty\": \"Id\",\r\n \"filters\": []\r\n });\r\n this.addVariable({\r\n \"id\": \"$v_idGeschaeftspartner\"\r\n });\r\n this.addVariable({\r\n \"id\": \"$v_idStelleninserat\"\r\n });\r\n this.addVariable({\r\n \"id\": \"$id\"\r\n });\r\n this.addFunction(\"$f_StelleninseratGruppe\", $f_StelleninseratGruppe, \"functions.$f_StelleninseratGruppe\");\r\n this.widgetCreator.addValidationGroup(this, {\r\n \"id\": \"wd1\",\r\n \"options\": {\r\n \"optionsName\": \"wd1Options\",\r\n \"optionsNameFQ\": \"wd1Options\"\r\n }\r\n });\r\n this.widgetCreator.addSelectBox(this, {\r\n \"idSelect\": \"stelleninseratGruppentyp\",\r\n \"filter\": [\r\n [\"IdGeschaeftspartner\", \"null\"], \"or\", [\"IdGeschaeftspartner\", {\r\n \"isBound\": true,\r\n \"expression\": \"variables.data.$v_idGeschaeftspartner\"\r\n }]\r\n ],\r\n \"filters\": [],\r\n \"caption\": \"stelleninserat-gruppe-edit.r_gruppentypauswahl_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_StelleninseratGruppe\",\r\n \"bindTo\": \"IdStelleninseratGruppentyp\",\r\n \"bindToFQ\": \"models.data.$m_StelleninseratGruppe.IdStelleninseratGruppentyp\"\r\n },\r\n \"validationRules\": [{\r\n \"item\": {\r\n \"type\": \"required\",\r\n \"parameters\": []\r\n }\r\n }],\r\n \"id\": \"r_gruppenTypAuswahl\",\r\n \"options\": {\r\n \"optionsName\": \"r_gruppenTypAuswahlOptions\",\r\n \"optionsNameFQ\": \"r_gruppenTypAuswahlOptions\"\r\n }\r\n });\r\n this.widgetCreator.addTextArea(this, {\r\n \"height\": \"80px\",\r\n \"maxLength\": 1000,\r\n \"caption\": \"stelleninserat-gruppe-edit.r_text_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_StelleninseratGruppe\",\r\n \"bindTo\": \"Text\",\r\n \"bindToFQ\": \"models.data.$m_StelleninseratGruppe.Text\"\r\n },\r\n \"validationRules\": [{\r\n \"item\": {\r\n \"type\": \"required\",\r\n \"parameters\": []\r\n }\r\n }],\r\n \"id\": \"r_text\",\r\n \"options\": {\r\n \"optionsName\": \"r_textOptions\",\r\n \"optionsNameFQ\": \"r_textOptions\"\r\n }\r\n });\r\n this.widgetCreator.addNumberBox(this, {\r\n \"showSpinButtons\": true,\r\n \"min\": 0.0,\r\n \"caption\": \"stelleninserat-gruppe-edit.r_sortnr_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_StelleninseratGruppe\",\r\n \"bindTo\": \"SortNr\",\r\n \"bindToFQ\": \"models.data.$m_StelleninseratGruppe.SortNr\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_sortNr\",\r\n \"options\": {\r\n \"optionsName\": \"r_sortNrOptions\",\r\n \"optionsNameFQ\": \"r_sortNrOptions\"\r\n }\r\n });\r\n super.onConstructionFinished();\r\n }\r\n}","module.exports = \"\";","import * as fwx from \"../../../../framework/forms/form-export\";\r\nimport {\r\n StelleninseratEditUtils\r\n} from \"./stelleninserat-edit-utils\";\r\nimport {\r\n StelleninseratLehreKundePackageEditUtils\r\n} from \"./stelleninserat-lehre-kunde-package-edit-utils\";\r\n\r\n@fwx.autoinject\r\nexport class StelleninseratHeartbaseEditForm extends fwx.FormBase {\r\n constructor(\r\n element: Element,\r\n formBaseImport: fwx.FormBaseImport,\r\n private $f_Stelleninserat: StelleninseratEditUtils,\r\n private $f_StelleninseratLehreKundePackage: StelleninseratLehreKundePackageEditUtils) {\r\n super(element, formBaseImport);\r\n this.id = \"stelleninserat-heartbase-edit\";\r\n this.title = \"stelleninserat-heartbase-edit.stelleninserat-heartbase-edit_caption\";\r\n this.addModel({\r\n \"id\": \"$m_Stelleninserat\",\r\n \"webApiAction\": \"ZIT/Objekte/Stelleninserat\",\r\n \"webApiExpand\": {\r\n 'Kopf': {\r\n 'expand': {\r\n 'TextKopfzeile1': null,\r\n 'TextFusszeile1': null,\r\n 'StelleninseratTrainer': {\r\n 'expand': {\r\n 'Ansprechperson': null\r\n }\r\n },\r\n 'Geschaeftspartner': {\r\n 'expand': {\r\n 'Geschaeftspartnerdaten': null\r\n }\r\n }\r\n }\r\n },\r\n 'FerialeinsatzEinstellungen': null,\r\n 'FerialbewerbungFragebogen': null\r\n },\r\n \"modificationInfoEnabled\": true,\r\n \"key\": \"variables.data.$id\",\r\n \"keyProperty\": \"Id\",\r\n \"postOnSave\": true,\r\n \"filters\": [{\r\n \"webApiCustomKey\": \"BewerbungInfo\",\r\n \"webApiCustomValue\": \"true\"\r\n }, {\r\n \"webApiCustomKey\": \"ProfilFirmaInfo\",\r\n \"webApiCustomValue\": \"true\"\r\n }, {\r\n \"webApiCustomKey\": \"StelleninseratVorschauUrl\",\r\n \"webApiCustomValue\": \"true\"\r\n }]\r\n });\r\n this.addModel({\r\n \"id\": \"$m_StelleninseratKopfElement\",\r\n \"webApiAction\": \"ZIT/Objekte/StelleninseratKopfElement\",\r\n \"webApiColumns\": ['Id'],\r\n \"key\": \"models.data.$m_Stelleninserat.IdStelleninseratKopfElement\",\r\n \"keyProperty\": \"Id\",\r\n \"filters\": []\r\n });\r\n this.addModel({\r\n \"id\": \"$m_StelleninseratGruppeRel\",\r\n \"webApiAction\": \"ZIT/Objekte/StelleninseratGruppe\",\r\n \"webApiColumns\": [\"Id\", \"SortNr\", \"Text\", \"IdStelleninseratGruppentyp\"],\r\n \"webApiExpand\": {\r\n 'Gruppentyp': null\r\n },\r\n \"webApiOrderBy\": [{\r\n \"columnName\": \"GruppentypSortNr\",\r\n \"sortOrder\": 0\r\n }, {\r\n \"columnName\": \"GruppentypBezeichnung\",\r\n \"sortOrder\": 0\r\n }, {\r\n \"columnName\": \"SortNr\",\r\n \"sortOrder\": 0\r\n }, {\r\n \"columnName\": \"Text\",\r\n \"sortOrder\": 0\r\n }],\r\n \"keyProperty\": \"Id\",\r\n \"filters\": []\r\n });\r\n this.addModel({\r\n \"id\": \"$m_StelleninseratGruppeEdit\",\r\n \"webApiAction\": \"ZIT/Objekte/StelleninseratGruppe\",\r\n \"webApiExpand\": {\r\n 'Gruppentyp': null\r\n },\r\n \"keyProperty\": \"Id\",\r\n \"filters\": []\r\n });\r\n this.addModel({\r\n \"id\": \"$m_StelleninseratGruppeElement\",\r\n \"webApiAction\": \"ZIT/Objekte/StelleninseratGruppeElement\",\r\n \"key\": \"models.data.$m_Stelleninserat.IdStelleninseratGruppeElement\",\r\n \"keyProperty\": \"Id\",\r\n \"filters\": []\r\n });\r\n this.addModel({\r\n \"id\": \"$m_Bewerbung\",\r\n \"webApiAction\": \"ZIT/Objekte/Bewerbung\",\r\n \"webApiColumns\": [\"Id\"],\r\n \"webApiWhere\": [\"Kopf.IdStelleninserat\", {\r\n \"isBound\": true,\r\n \"expression\": \"models.data.$m_Stelleninserat.Id\"\r\n }],\r\n \"modificationInfoEnabled\": true,\r\n \"keyProperty\": \"Id\",\r\n \"filters\": [{\r\n \"webApiCustomKey\": \"AddBewerbungCard\",\r\n \"webApiCustomValue\": \"true\"\r\n }]\r\n });\r\n this.addModel({\r\n \"id\": \"$m_Bewerbungstyp\",\r\n \"webApiAction\": \"ZIT/Stammdaten/StelleninseratBewerbungstyp\",\r\n \"key\": \"models.data.$m_Stelleninserat.Kopf.IdBewerbungstyp\",\r\n \"keyProperty\": \"Id\",\r\n \"filters\": []\r\n });\r\n this.addModel({\r\n \"id\": \"$m_StelleninseratKlasseRel\",\r\n \"webApiAction\": \"ZIT/Objekte/StelleninseratKlasse\",\r\n \"keyProperty\": \"Id\",\r\n \"filters\": []\r\n });\r\n this.addModel({\r\n \"id\": \"$m_StelleninseratKlasseEdit\",\r\n \"webApiAction\": \"ZIT/Objekte/StelleninseratKlasse\",\r\n \"keyProperty\": \"Id\",\r\n \"filters\": []\r\n });\r\n this.addCommand({\r\n \"binding\": {\r\n \"bindTo\": \"$f_Stelleninserat.actionCommand\",\r\n \"bindToFQ\": \"functions.$f_Stelleninserat.actionCommand\"\r\n }\r\n });\r\n this.addEditPopup({\r\n \"idContent\": \"stelleninseratGruppeEditPopupContent\",\r\n \"mappings\": [{\r\n \"to\": \"$id\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_StelleninseratGruppeEdit\",\r\n \"bindTo\": \"Id\",\r\n \"bindToFQ\": \"models.data.$m_StelleninseratGruppeEdit.Id\"\r\n }\r\n }, {\r\n \"to\": \"$v_idGeschaeftspartner\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Stelleninserat\",\r\n \"bindTo\": \"Kopf.IdGeschaeftspartner\",\r\n \"bindToFQ\": \"models.data.$m_Stelleninserat.Kopf.IdGeschaeftspartner\",\r\n \"propertyPrefix\": \"Kopf\"\r\n }\r\n }, {\r\n \"to\": \"$v_idStelleninserat\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Stelleninserat\",\r\n \"bindTo\": \"Id\",\r\n \"bindToFQ\": \"models.data.$m_Stelleninserat.Id\"\r\n }\r\n }],\r\n \"id\": \"stelleninseratGruppeEditPopup\",\r\n \"options\": {\r\n \"optionsName\": \"stelleninseratGruppeEditPopupOptions\",\r\n \"optionsNameFQ\": \"stelleninseratGruppeEditPopupOptions\"\r\n },\r\n \"caption\": \"stelleninserat-heartbase-edit.stelleninseratgruppeeditpopup_caption\",\r\n \"height\": \"auto\",\r\n \"width\": \"500px\",\r\n \"commands\": []\r\n });\r\n this.addEditPopup({\r\n \"idContent\": \"stelleninseratLehreKlasseEditPopupContent\",\r\n \"mappings\": [{\r\n \"to\": \"$id\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_StelleninseratKlasseEdit\",\r\n \"bindTo\": \"Id\",\r\n \"bindToFQ\": \"models.data.$m_StelleninseratKlasseEdit.Id\"\r\n }\r\n }],\r\n \"id\": \"stelleninseratLehreKlasseEditPopup\",\r\n \"options\": {\r\n \"optionsName\": \"stelleninseratLehreKlasseEditPopupOptions\",\r\n \"optionsNameFQ\": \"stelleninseratLehreKlasseEditPopupOptions\"\r\n },\r\n \"height\": \"auto\",\r\n \"width\": \"500px\",\r\n \"commands\": []\r\n });\r\n this.addFunction(\"$f_Stelleninserat\", $f_Stelleninserat, \"functions.$f_Stelleninserat\");\r\n this.addFunction(\"$f_StelleninseratLehreKundePackage\", $f_StelleninseratLehreKundePackage, \"functions.$f_StelleninseratLehreKundePackage\");\r\n this.widgetCreator.addValidationGroup(this, {\r\n \"id\": \"wd1\",\r\n \"options\": {\r\n \"optionsName\": \"wd1Options\",\r\n \"optionsNameFQ\": \"wd1Options\"\r\n }\r\n });\r\n this.widgetCreator.addLookup(this, {\r\n \"idSelect\": \"geschaeftspartner\",\r\n \"filters\": [],\r\n \"caption\": \"stelleninserat-heartbase-edit.r_geschaeftspartner_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Stelleninserat\",\r\n \"bindTo\": \"Kopf.IdGeschaeftspartner\",\r\n \"bindToFQ\": \"models.data.$m_Stelleninserat.Kopf.IdGeschaeftspartner\",\r\n \"propertyPrefix\": \"Kopf\"\r\n },\r\n \"validationRules\": [{\r\n \"item\": {\r\n \"type\": \"required\",\r\n \"parameters\": []\r\n }\r\n }],\r\n \"id\": \"r_geschaeftspartner\",\r\n \"options\": {\r\n \"optionsName\": \"r_geschaeftspartnerOptions\",\r\n \"optionsNameFQ\": \"r_geschaeftspartnerOptions\"\r\n }\r\n });\r\n this.widgetCreator.addTextBox(this, {\r\n \"maxLength\": 250,\r\n \"caption\": \"stelleninserat-heartbase-edit.r_stellenbezeichnungextern_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Stelleninserat\",\r\n \"bindTo\": \"Kopf.StellenbezeichnungExtern\",\r\n \"bindToFQ\": \"models.data.$m_Stelleninserat.Kopf.StellenbezeichnungExtern\",\r\n \"propertyPrefix\": \"Kopf\"\r\n },\r\n \"validationRules\": [{\r\n \"item\": {\r\n \"type\": \"required\",\r\n \"parameters\": []\r\n }\r\n }],\r\n \"id\": \"r_stellenbezeichnungExtern\",\r\n \"options\": {\r\n \"optionsName\": \"r_stellenbezeichnungExternOptions\",\r\n \"optionsNameFQ\": \"r_stellenbezeichnungExternOptions\"\r\n }\r\n });\r\n this.widgetCreator.addLookup(this, {\r\n \"idSelect\": \"ansprechperson\",\r\n \"customs\": [{\r\n \"key\": \"IdGeschaeftspartner\",\r\n \"value\": \"models.data.$m_Stelleninserat.Kopf.IdGeschaeftspartner\"\r\n }],\r\n \"filters\": [],\r\n \"caption\": \"stelleninserat-heartbase-edit.ansprechpersonselect_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Stelleninserat\",\r\n \"bindTo\": \"Kopf.IdAnsprechperson\",\r\n \"bindToFQ\": \"models.data.$m_Stelleninserat.Kopf.IdAnsprechperson\",\r\n \"propertyPrefix\": \"Kopf\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"ansprechpersonSelect\",\r\n \"options\": {\r\n \"optionsName\": \"ansprechpersonSelectOptions\",\r\n \"optionsNameFQ\": \"ansprechpersonSelectOptions\"\r\n }\r\n });\r\n this.widgetCreator.addLookup(this, {\r\n \"idSelect\": \"geschaeftspartner\",\r\n \"filters\": [],\r\n \"caption\": \"stelleninserat-heartbase-edit.r_geschaeftspartnernopackage_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Stelleninserat\",\r\n \"bindTo\": \"Kopf.IdGeschaeftspartner\",\r\n \"bindToFQ\": \"models.data.$m_Stelleninserat.Kopf.IdGeschaeftspartner\",\r\n \"propertyPrefix\": \"Kopf\"\r\n },\r\n \"validationRules\": [{\r\n \"binding\": {\r\n \"dataContext\": \"$m_Stelleninserat\",\r\n \"bindTo\": \"$f_Stelleninserat.keinPackageRule\",\r\n \"bindToFQ\": \"functions.$f_Stelleninserat.keinPackageRule\"\r\n }\r\n }, {\r\n \"item\": {\r\n \"type\": \"required\",\r\n \"parameters\": []\r\n }\r\n }],\r\n \"id\": \"r_geschaeftspartnerNoPackage\",\r\n \"options\": {\r\n \"optionsName\": \"r_geschaeftspartnerNoPackageOptions\",\r\n \"optionsNameFQ\": \"r_geschaeftspartnerNoPackageOptions\"\r\n }\r\n });\r\n this.widgetCreator.addFileUploaderWithViewer(this, {\r\n \"acceptTypeEnum\": 0,\r\n \"acceptType\": \"image/*\",\r\n \"placeholderImageExpression\": \"models.data.$m_Stelleninserat.Kopf.DMSLinkStandardBild\",\r\n \"placeholderImageText\": \"Standardbild laut Lehrberuf\",\r\n \"height\": \"250px\",\r\n \"showToolbar\": true,\r\n \"showClearButton\": false,\r\n \"caption\": \"stelleninserat-heartbase-edit.r_dmslinkbild_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Stelleninserat\",\r\n \"bindTo\": \"Kopf.DMSLinkBild\",\r\n \"bindToFQ\": \"models.data.$m_Stelleninserat.Kopf.DMSLinkBild\",\r\n \"propertyPrefix\": \"Kopf\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_dmslinkBild\",\r\n \"options\": {\r\n \"optionsName\": \"r_dmslinkBildOptions\",\r\n \"optionsNameFQ\": \"r_dmslinkBildOptions\"\r\n }\r\n });\r\n this.widgetCreator.addTextBox(this, {\r\n \"maxLength\": 250,\r\n \"caption\": \"stelleninserat-heartbase-edit.r_standort_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Stelleninserat\",\r\n \"bindTo\": \"Kopf.Standort\",\r\n \"bindToFQ\": \"models.data.$m_Stelleninserat.Kopf.Standort\",\r\n \"propertyPrefix\": \"Kopf\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_standort\",\r\n \"options\": {\r\n \"optionsName\": \"r_standortOptions\",\r\n \"optionsNameFQ\": \"r_standortOptions\"\r\n }\r\n });\r\n this.widgetCreator.addTextBox(this, {\r\n \"maxLength\": 500,\r\n \"caption\": \"stelleninserat-heartbase-edit.r_googlekarteadresse_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Stelleninserat\",\r\n \"bindTo\": \"Kopf.GoogleKartenAdresse\",\r\n \"bindToFQ\": \"models.data.$m_Stelleninserat.Kopf.GoogleKartenAdresse\",\r\n \"propertyPrefix\": \"Kopf\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_googleKarteAdresse\",\r\n \"options\": {\r\n \"optionsName\": \"r_googleKarteAdresseOptions\",\r\n \"optionsNameFQ\": \"r_googleKarteAdresseOptions\"\r\n }\r\n });\r\n this.widgetCreator.addSelectBox(this, {\r\n \"idSelect\": \"stelleninseratBewerbungstyp\",\r\n \"filter\": [\r\n [\"IdGeschaeftspartner\", \"null\"], \"or\", [\"IdGeschaeftspartner\", {\r\n \"isBound\": true,\r\n \"expression\": \"models.data.$m_Stelleninserat.Kopf.IdGeschaeftspartner\"\r\n }]\r\n ],\r\n \"customs\": [{\r\n \"key\": \"IdGeschaeftspartner\",\r\n \"value\": \"models.data.$m_Stelleninserat.Kopf.IdGeschaeftspartner\"\r\n }, {\r\n \"key\": \"CheckBenutzerrolle\",\r\n \"value\": \"true\"\r\n }],\r\n \"filters\": [],\r\n \"caption\": \"stelleninserat-heartbase-edit.r_bewerbungstyp_caption\",\r\n \"placeholder\": \"stelleninserat-heartbase-edit.r_bewerbungstyp_placeholder\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Stelleninserat\",\r\n \"bindTo\": \"Kopf.IdBewerbungstyp\",\r\n \"bindToFQ\": \"models.data.$m_Stelleninserat.Kopf.IdBewerbungstyp\",\r\n \"propertyPrefix\": \"Kopf\"\r\n },\r\n \"validationRules\": [{\r\n \"item\": {\r\n \"type\": \"required\",\r\n \"parameters\": []\r\n }\r\n }],\r\n \"id\": \"r_bewerbungstyp\",\r\n \"options\": {\r\n \"optionsName\": \"r_bewerbungstypOptions\",\r\n \"optionsNameFQ\": \"r_bewerbungstypOptions\"\r\n }\r\n });\r\n this.widgetCreator.addRadioGroup(this, {\r\n \"idSelect\": \"pflichtfeld\",\r\n \"filters\": [],\r\n \"caption\": \"stelleninserat-heartbase-edit.r_lebenslaufanfragen_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Stelleninserat\",\r\n \"bindTo\": \"FerialbewerbungFragebogen.LebenslaufAnfragen\",\r\n \"bindToFQ\": \"models.data.$m_Stelleninserat.FerialbewerbungFragebogen.LebenslaufAnfragen\",\r\n \"propertyPrefix\": \"FerialbewerbungFragebogen\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_lebenslaufAnfragen\",\r\n \"options\": {\r\n \"optionsName\": \"r_lebenslaufAnfragenOptions\",\r\n \"optionsNameFQ\": \"r_lebenslaufAnfragenOptions\"\r\n }\r\n });\r\n this.widgetCreator.addRadioGroup(this, {\r\n \"idSelect\": \"pflichtfeld\",\r\n \"filters\": [],\r\n \"caption\": \"stelleninserat-heartbase-edit.r_anschreibenanfragen_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Stelleninserat\",\r\n \"bindTo\": \"FerialbewerbungFragebogen.AnschreibenAnfragen\",\r\n \"bindToFQ\": \"models.data.$m_Stelleninserat.FerialbewerbungFragebogen.AnschreibenAnfragen\",\r\n \"propertyPrefix\": \"FerialbewerbungFragebogen\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_anschreibenAnfragen\",\r\n \"options\": {\r\n \"optionsName\": \"r_anschreibenAnfragenOptions\",\r\n \"optionsNameFQ\": \"r_anschreibenAnfragenOptions\"\r\n }\r\n });\r\n this.widgetCreator.addRadioGroup(this, {\r\n \"idSelect\": \"pflichtfeld\",\r\n \"filters\": [],\r\n \"caption\": \"stelleninserat-heartbase-edit.r_zeugnisanfragen_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Stelleninserat\",\r\n \"bindTo\": \"FerialbewerbungFragebogen.LetztesZeugnisAnfragen\",\r\n \"bindToFQ\": \"models.data.$m_Stelleninserat.FerialbewerbungFragebogen.LetztesZeugnisAnfragen\",\r\n \"propertyPrefix\": \"FerialbewerbungFragebogen\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_zeugnisAnfragen\",\r\n \"options\": {\r\n \"optionsName\": \"r_zeugnisAnfragenOptions\",\r\n \"optionsNameFQ\": \"r_zeugnisAnfragenOptions\"\r\n }\r\n });\r\n this.widgetCreator.addRadioGroup(this, {\r\n \"idSelect\": \"pflichtfeld\",\r\n \"filters\": [],\r\n \"caption\": \"stelleninserat-heartbase-edit.r_reisepassausweisanfragen_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Stelleninserat\",\r\n \"bindTo\": \"FerialbewerbungFragebogen.ReisepassAusweisAnfragen\",\r\n \"bindToFQ\": \"models.data.$m_Stelleninserat.FerialbewerbungFragebogen.ReisepassAusweisAnfragen\",\r\n \"propertyPrefix\": \"FerialbewerbungFragebogen\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_reisepassAusweisAnfragen\",\r\n \"options\": {\r\n \"optionsName\": \"r_reisepassAusweisAnfragenOptions\",\r\n \"optionsNameFQ\": \"r_reisepassAusweisAnfragenOptions\"\r\n }\r\n });\r\n this.widgetCreator.addRadioGroup(this, {\r\n \"idSelect\": \"pflichtfeld\",\r\n \"filters\": [],\r\n \"caption\": \"stelleninserat-heartbase-edit.r_schnuppertermineanzeigen_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Stelleninserat\",\r\n \"bindTo\": \"Kopf.SchnuppertermineAnzeigen\",\r\n \"bindToFQ\": \"models.data.$m_Stelleninserat.Kopf.SchnuppertermineAnzeigen\",\r\n \"propertyPrefix\": \"Kopf\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_schnuppertermineAnzeigen\",\r\n \"options\": {\r\n \"optionsName\": \"r_schnuppertermineAnzeigenOptions\",\r\n \"optionsNameFQ\": \"r_schnuppertermineAnzeigenOptions\"\r\n }\r\n });\r\n this.widgetCreator.addCheckBox(this, {\r\n \"caption\": \"stelleninserat-heartbase-edit.r_stelleninserataktiv_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Stelleninserat\",\r\n \"bindTo\": \"Kopf.IsAktiv\",\r\n \"bindToFQ\": \"models.data.$m_Stelleninserat.Kopf.IsAktiv\",\r\n \"propertyPrefix\": \"Kopf\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_stelleninseratAktiv\",\r\n \"options\": {\r\n \"optionsName\": \"r_stelleninseratAktivOptions\",\r\n \"optionsNameFQ\": \"r_stelleninseratAktivOptions\"\r\n }\r\n });\r\n this.widgetCreator.addSelectBox(this, {\r\n \"idSelect\": \"veroeffentlichungTyp\",\r\n \"filters\": [],\r\n \"caption\": \"stelleninserat-heartbase-edit.r_veroeffentlichentyp_caption\",\r\n \"isReadOnly\": true,\r\n \"binding\": {\r\n \"dataContext\": \"$m_Stelleninserat\",\r\n \"bindTo\": \"VeroeffentlichungTyp\",\r\n \"bindToFQ\": \"models.data.$m_Stelleninserat.VeroeffentlichungTyp\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_veroeffentlichenTyp\",\r\n \"options\": {\r\n \"optionsName\": \"r_veroeffentlichenTypOptions\",\r\n \"optionsNameFQ\": \"r_veroeffentlichenTypOptions\"\r\n }\r\n });\r\n this.widgetCreator.addTextBox(this, {\r\n \"maxLength\": 250,\r\n \"caption\": \"stelleninserat-heartbase-edit.r_stellenbezeichnungintern_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Stelleninserat\",\r\n \"bindTo\": \"Kopf.StellenbezeichnungIntern\",\r\n \"bindToFQ\": \"models.data.$m_Stelleninserat.Kopf.StellenbezeichnungIntern\",\r\n \"propertyPrefix\": \"Kopf\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_stellenbezeichnungIntern\",\r\n \"options\": {\r\n \"optionsName\": \"r_stellenbezeichnungInternOptions\",\r\n \"optionsNameFQ\": \"r_stellenbezeichnungInternOptions\"\r\n }\r\n });\r\n this.widgetCreator.addDateBox(this, {\r\n \"format\": \"d\",\r\n \"caption\": \"stelleninserat-heartbase-edit.r_gueltigvon_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Stelleninserat\",\r\n \"bindTo\": \"Kopf.GueltigVon\",\r\n \"bindToFQ\": \"models.data.$m_Stelleninserat.Kopf.GueltigVon\",\r\n \"propertyPrefix\": \"Kopf\"\r\n },\r\n \"validationRules\": [{\r\n \"item\": {\r\n \"type\": \"required\",\r\n \"parameters\": []\r\n }\r\n }],\r\n \"id\": \"r_gueltigVon\",\r\n \"options\": {\r\n \"optionsName\": \"r_gueltigVonOptions\",\r\n \"optionsNameFQ\": \"r_gueltigVonOptions\"\r\n }\r\n });\r\n this.widgetCreator.addDateBox(this, {\r\n \"format\": \"d\",\r\n \"caption\": \"stelleninserat-heartbase-edit.r_gueltigbis_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Stelleninserat\",\r\n \"bindTo\": \"Kopf.GueltigBis\",\r\n \"bindToFQ\": \"models.data.$m_Stelleninserat.Kopf.GueltigBis\",\r\n \"propertyPrefix\": \"Kopf\"\r\n },\r\n \"validationRules\": [{\r\n \"item\": {\r\n \"type\": \"required\",\r\n \"parameters\": []\r\n }\r\n }],\r\n \"id\": \"r_gueltigBis\",\r\n \"options\": {\r\n \"optionsName\": \"r_gueltigBisOptions\",\r\n \"optionsNameFQ\": \"r_gueltigBisOptions\"\r\n }\r\n });\r\n this.widgetCreator.addDateBox(this, {\r\n \"format\": \"d\",\r\n \"caption\": \"stelleninserat-heartbase-edit.r_bewerbungvon_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Stelleninserat\",\r\n \"bindTo\": \"FerialeinsatzEinstellungen.BewerbungOnlineVon\",\r\n \"bindToFQ\": \"models.data.$m_Stelleninserat.FerialeinsatzEinstellungen.BewerbungOnlineVon\",\r\n \"propertyPrefix\": \"FerialeinsatzEinstellungen\"\r\n },\r\n \"validationRules\": [{\r\n \"binding\": {\r\n \"dataContext\": \"$m_Stelleninserat\",\r\n \"bindTo\": \"$f_Stelleninserat.bewerbungVonValidationRule\",\r\n \"bindToFQ\": \"functions.$f_Stelleninserat.bewerbungVonValidationRule\"\r\n }\r\n }],\r\n \"id\": \"r_bewerbungVon\",\r\n \"options\": {\r\n \"optionsName\": \"r_bewerbungVonOptions\",\r\n \"optionsNameFQ\": \"r_bewerbungVonOptions\"\r\n }\r\n });\r\n this.widgetCreator.addDateBox(this, {\r\n \"format\": \"d\",\r\n \"caption\": \"stelleninserat-heartbase-edit.r_bewerbungbis_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Stelleninserat\",\r\n \"bindTo\": \"FerialeinsatzEinstellungen.BewerbungOnlineBis\",\r\n \"bindToFQ\": \"models.data.$m_Stelleninserat.FerialeinsatzEinstellungen.BewerbungOnlineBis\",\r\n \"propertyPrefix\": \"FerialeinsatzEinstellungen\"\r\n },\r\n \"validationRules\": [{\r\n \"binding\": {\r\n \"dataContext\": \"$m_Stelleninserat\",\r\n \"bindTo\": \"$f_Stelleninserat.bewerbungBisValidationRule\",\r\n \"bindToFQ\": \"functions.$f_Stelleninserat.bewerbungBisValidationRule\"\r\n }\r\n }],\r\n \"id\": \"r_bewerbungBis\",\r\n \"options\": {\r\n \"optionsName\": \"r_bewerbungBisOptions\",\r\n \"optionsNameFQ\": \"r_bewerbungBisOptions\"\r\n }\r\n });\r\n this.widgetCreator.addRadioGroup(this, {\r\n \"idSelect\": \"pflichtfeld\",\r\n \"filters\": [],\r\n \"caption\": \"stelleninserat-heartbase-edit.r_bisherigeberufserfahrung_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Stelleninserat\",\r\n \"bindTo\": \"FerialbewerbungFragebogen.BisherigeBerufserfahrungAnfragen\",\r\n \"bindToFQ\": \"models.data.$m_Stelleninserat.FerialbewerbungFragebogen.BisherigeBerufserfahrungAnfragen\",\r\n \"propertyPrefix\": \"FerialbewerbungFragebogen\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_bisherigeBerufserfahrung\",\r\n \"options\": {\r\n \"optionsName\": \"r_bisherigeBerufserfahrungOptions\",\r\n \"optionsNameFQ\": \"r_bisherigeBerufserfahrungOptions\"\r\n }\r\n });\r\n this.widgetCreator.addRadioGroup(this, {\r\n \"idSelect\": \"pflichtfeld\",\r\n \"filters\": [],\r\n \"caption\": \"stelleninserat-heartbase-edit.r_fuehrerscheinundmobilitaet_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Stelleninserat\",\r\n \"bindTo\": \"FerialbewerbungFragebogen.FuehrerscheinUndMobilitaetAnfragen\",\r\n \"bindToFQ\": \"models.data.$m_Stelleninserat.FerialbewerbungFragebogen.FuehrerscheinUndMobilitaetAnfragen\",\r\n \"propertyPrefix\": \"FerialbewerbungFragebogen\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_fuehrerscheinUndMobilitaet\",\r\n \"options\": {\r\n \"optionsName\": \"r_fuehrerscheinUndMobilitaetOptions\",\r\n \"optionsNameFQ\": \"r_fuehrerscheinUndMobilitaetOptions\"\r\n }\r\n });\r\n this.widgetCreator.addRadioGroup(this, {\r\n \"idSelect\": \"pflichtfeld\",\r\n \"filters\": [],\r\n \"caption\": \"stelleninserat-heartbase-edit.r_sprachkenntnisse_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Stelleninserat\",\r\n \"bindTo\": \"FerialbewerbungFragebogen.SprachKenntnisseAnfragen\",\r\n \"bindToFQ\": \"models.data.$m_Stelleninserat.FerialbewerbungFragebogen.SprachKenntnisseAnfragen\",\r\n \"propertyPrefix\": \"FerialbewerbungFragebogen\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_sprachKenntnisse\",\r\n \"options\": {\r\n \"optionsName\": \"r_sprachKenntnisseOptions\",\r\n \"optionsNameFQ\": \"r_sprachKenntnisseOptions\"\r\n }\r\n });\r\n this.widgetCreator.addRadioGroup(this, {\r\n \"idSelect\": \"pflichtfeld\",\r\n \"filters\": [],\r\n \"caption\": \"stelleninserat-heartbase-edit.r_ausbildung_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Stelleninserat\",\r\n \"bindTo\": \"FerialbewerbungFragebogen.AusbildungAnfragen\",\r\n \"bindToFQ\": \"models.data.$m_Stelleninserat.FerialbewerbungFragebogen.AusbildungAnfragen\",\r\n \"propertyPrefix\": \"FerialbewerbungFragebogen\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_ausbildung\",\r\n \"options\": {\r\n \"optionsName\": \"r_ausbildungOptions\",\r\n \"optionsNameFQ\": \"r_ausbildungOptions\"\r\n }\r\n });\r\n this.widgetCreator.addRadioGroup(this, {\r\n \"idSelect\": \"pflichtfeld\",\r\n \"filters\": [],\r\n \"caption\": \"stelleninserat-heartbase-edit.r_staplerfuehrerschein_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Stelleninserat\",\r\n \"bindTo\": \"FerialbewerbungFragebogen.StaplerFuehrerscheinAnfragen\",\r\n \"bindToFQ\": \"models.data.$m_Stelleninserat.FerialbewerbungFragebogen.StaplerFuehrerscheinAnfragen\",\r\n \"propertyPrefix\": \"FerialbewerbungFragebogen\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_staplerfuehrerschein\",\r\n \"options\": {\r\n \"optionsName\": \"r_staplerfuehrerscheinOptions\",\r\n \"optionsNameFQ\": \"r_staplerfuehrerscheinOptions\"\r\n }\r\n });\r\n this.widgetCreator.addListView(this, {\r\n \"itemClass\": \"z--list-view-inline-item\",\r\n \"useDefaultListItemStyle\": false,\r\n \"createToolbar\": true,\r\n \"optionsToolbar\": {\r\n \"optionsName\": \"r_stelleninseratKlasseListViewToolbarOptions\",\r\n \"optionsNameFQ\": \"r_stelleninseratKlasseListViewToolbarOptions\"\r\n },\r\n \"caption\": \"stelleninserat-heartbase-edit.r_stelleninseratklasselistview_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_StelleninseratKopfElement\"\r\n },\r\n \"isRelation\": true,\r\n \"relationBinding\": {\r\n \"dataContext\": \"$m_StelleninseratKlasseRel\",\r\n \"bindTo\": \"IdStelleninseratKopfElement\",\r\n \"bindToFQ\": \"models.data.$m_StelleninseratKlasseRel.IdStelleninseratKopfElement\"\r\n },\r\n \"dataModel\": \"$m_StelleninseratKopfElement\",\r\n \"editDataContext\": \"$m_StelleninseratKlasseEdit\",\r\n \"idEditPopup\": \"stelleninseratLehreKlasseEditPopup\",\r\n \"listEdits\": [],\r\n \"filters\": [],\r\n \"commands\": [],\r\n \"id\": \"r_stelleninseratKlasseListView\",\r\n \"options\": {\r\n \"optionsName\": \"r_stelleninseratKlasseListViewOptions\",\r\n \"optionsNameFQ\": \"r_stelleninseratKlasseListViewOptions\"\r\n }\r\n });\r\n this.widgetCreator.addListView(this, {\r\n \"itemClass\": \"col-xs-12 col-sm-6\",\r\n \"useDefaultListItemStyle\": false,\r\n \"createToolbar\": true,\r\n \"optionsToolbar\": {\r\n \"optionsName\": \"r_bewerbungenListViewToolbarOptions\",\r\n \"optionsNameFQ\": \"r_bewerbungenListViewToolbarOptions\"\r\n },\r\n \"caption\": \"stelleninserat-heartbase-edit.r_bewerbungenlistview_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Bewerbung\"\r\n },\r\n \"dataModel\": \"$m_Bewerbung\",\r\n \"pageSize\": 4,\r\n \"listEdits\": [],\r\n \"filters\": [],\r\n \"commands\": [],\r\n \"id\": \"r_bewerbungenListView\",\r\n \"options\": {\r\n \"optionsName\": \"r_bewerbungenListViewOptions\",\r\n \"optionsNameFQ\": \"r_bewerbungenListViewOptions\"\r\n }\r\n });\r\n super.onConstructionFinished();\r\n }\r\n}","module.exports = \"\";","import * as fwx from \"../../../../framework/forms/form-export\";\r\nimport {\r\n StelleninseratKopfElementChannelEditUtils\r\n} from \"./stelleninserat-kopf-element-channel-edit-utils\";\r\n\r\n@fwx.autoinject\r\nexport class StelleninseratKopfElementChannelEditForm extends fwx.FormBase {\r\n constructor(\r\n element: Element,\r\n formBaseImport: fwx.FormBaseImport,\r\n private $f_StelleninseratKopfElementZuChannel: StelleninseratKopfElementChannelEditUtils) {\r\n super(element, formBaseImport);\r\n this.id = \"stelleninserat-kopf-element-channel-edit\";\r\n this.title = \"stelleninserat-kopf-element-channel-edit.stelleninserat-kopf-element-channel-edit_caption\";\r\n this.addModel({\r\n \"id\": \"$m_StelleninseratKopfElementZuChannel\",\r\n \"webApiAction\": \"ZIT/Objekte/StelleninseratKopfElementZuChannel\",\r\n \"key\": \"variables.data.$id\",\r\n \"keyProperty\": \"Id\",\r\n \"postOnSave\": true,\r\n \"allowNew\": \"functions.$f_StelleninseratKopfElementZuChannel.canModifyChannel\",\r\n \"allowSave\": \"functions.$f_StelleninseratKopfElementZuChannel.canModifyChannel\",\r\n \"allowDelete\": \"functions.$f_StelleninseratKopfElementZuChannel.canModifyChannel\",\r\n \"filters\": []\r\n });\r\n this.addModel({\r\n \"id\": \"$m_StelleninseratBewerbungstyp\",\r\n \"webApiAction\": \"ZIT/Stammdaten/StelleninseratBewerbungstyp\",\r\n \"keyProperty\": \"Id\",\r\n \"filters\": []\r\n });\r\n this.addFunction(\"$f_StelleninseratKopfElementZuChannel\", $f_StelleninseratKopfElementZuChannel, \"functions.$f_StelleninseratKopfElementZuChannel\");\r\n this.widgetCreator.addValidationGroup(this, {\r\n \"id\": \"wd1\",\r\n \"options\": {\r\n \"optionsName\": \"wd1Options\",\r\n \"optionsNameFQ\": \"wd1Options\"\r\n }\r\n });\r\n this.widgetCreator.addSelectBox(this, {\r\n \"idSelect\": \"channel\",\r\n \"filter\": [\r\n [\"GueltigVon\", \"<=\", \"@Today()\"],\r\n [\"GueltigBis\", \">=\", \"@Today()\"]\r\n ],\r\n \"filters\": [{\r\n \"webApiCustomKey\": \"IdStelleninseratKopfElement\",\r\n \"webApiCustomValue\": \"models.data.$m_StelleninseratKopfElementZuChannel.IdStelleninseratKopfElement\"\r\n }, {\r\n \"webApiCustomKey\": \"IdStelleninseratKopfElement\",\r\n \"webApiCustomValue\": \"models.data.$m_StelleninseratKopfElementZuChannel.IdStelleninseratKopfElement\"\r\n }],\r\n \"caption\": \"stelleninserat-kopf-element-channel-edit.r_stelleninseratkopfelementzuchannelchannel_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_StelleninseratKopfElementZuChannel\",\r\n \"bindTo\": \"IdChannel\",\r\n \"bindToFQ\": \"models.data.$m_StelleninseratKopfElementZuChannel.IdChannel\"\r\n },\r\n \"validationRules\": [{\r\n \"item\": {\r\n \"type\": \"required\",\r\n \"parameters\": []\r\n }\r\n }],\r\n \"id\": \"r_stelleninseratKopfElementZuChannelChannel\",\r\n \"options\": {\r\n \"optionsName\": \"r_stelleninseratKopfElementZuChannelChannelOptions\",\r\n \"optionsNameFQ\": \"r_stelleninseratKopfElementZuChannelChannelOptions\"\r\n }\r\n });\r\n this.widgetCreator.addSelectBox(this, {\r\n \"idSelect\": \"stelleninseratBewerbungstyp\",\r\n \"customs\": [{\r\n \"key\": \"IdStelleninseratKopfElement\",\r\n \"value\": \"models.data.$m_StelleninseratKopfElementZuChannel.IdStelleninseratKopfElement\"\r\n }, {\r\n \"key\": \"CheckBenutzerrolle\",\r\n \"value\": \"true\"\r\n }],\r\n \"filters\": [],\r\n \"caption\": \"stelleninserat-kopf-element-channel-edit.r_stelleninseratkopfelementzuchannelstelleninseratbewerbungstyp_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_StelleninseratKopfElementZuChannel\",\r\n \"bindTo\": \"IdStelleninseratBewerbungstyp\",\r\n \"bindToFQ\": \"models.data.$m_StelleninseratKopfElementZuChannel.IdStelleninseratBewerbungstyp\"\r\n },\r\n \"validationRules\": [{\r\n \"item\": {\r\n \"type\": \"required\",\r\n \"parameters\": []\r\n }\r\n }],\r\n \"id\": \"r_stelleninseratKopfElementZuChannelStelleninseratBewerbungstyp\",\r\n \"options\": {\r\n \"optionsName\": \"r_stelleninseratKopfElementZuChannelStelleninseratBewerbungstypOptions\",\r\n \"optionsNameFQ\": \"r_stelleninseratKopfElementZuChannelStelleninseratBewerbungstypOptions\"\r\n }\r\n });\r\n this.widgetCreator.addDateBox(this, {\r\n \"format\": \"d\",\r\n \"caption\": \"stelleninserat-kopf-element-channel-edit.r_stelleninseratkopfelementzuchannelgueltigvon_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_StelleninseratKopfElementZuChannel\",\r\n \"bindTo\": \"GueltigVon\",\r\n \"bindToFQ\": \"models.data.$m_StelleninseratKopfElementZuChannel.GueltigVon\"\r\n },\r\n \"validationRules\": [{\r\n \"item\": {\r\n \"type\": \"required\",\r\n \"parameters\": []\r\n }\r\n }],\r\n \"id\": \"r_stelleninseratKopfElementZuChannelGueltigVon\",\r\n \"options\": {\r\n \"optionsName\": \"r_stelleninseratKopfElementZuChannelGueltigVonOptions\",\r\n \"optionsNameFQ\": \"r_stelleninseratKopfElementZuChannelGueltigVonOptions\"\r\n }\r\n });\r\n this.widgetCreator.addDateBox(this, {\r\n \"format\": \"d\",\r\n \"caption\": \"stelleninserat-kopf-element-channel-edit.r_stelleninseratkopfelementzuchannelgueltigbis_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_StelleninseratKopfElementZuChannel\",\r\n \"bindTo\": \"GueltigBis\",\r\n \"bindToFQ\": \"models.data.$m_StelleninseratKopfElementZuChannel.GueltigBis\"\r\n },\r\n \"validationRules\": [{\r\n \"item\": {\r\n \"type\": \"required\",\r\n \"parameters\": []\r\n }\r\n }],\r\n \"id\": \"r_stelleninseratKopfElementZuChannelGueltigBis\",\r\n \"options\": {\r\n \"optionsName\": \"r_stelleninseratKopfElementZuChannelGueltigBisOptions\",\r\n \"optionsNameFQ\": \"r_stelleninseratKopfElementZuChannelGueltigBisOptions\"\r\n }\r\n });\r\n this.widgetCreator.addSelectBox(this, {\r\n \"idSelect\": \"veroeffentlichungTyp\",\r\n \"filters\": [],\r\n \"caption\": \"stelleninserat-kopf-element-channel-edit.r_stelleninseratkopfelementzuchannelveroeffentlichungtyp_caption\",\r\n \"isReadOnly\": true,\r\n \"binding\": {\r\n \"dataContext\": \"$m_StelleninseratKopfElementZuChannel\",\r\n \"bindTo\": \"VeroeffentlichungTyp\",\r\n \"bindToFQ\": \"models.data.$m_StelleninseratKopfElementZuChannel.VeroeffentlichungTyp\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_stelleninseratKopfElementZuChannelVeroeffentlichungTyp\",\r\n \"options\": {\r\n \"optionsName\": \"r_stelleninseratKopfElementZuChannelVeroeffentlichungTypOptions\",\r\n \"optionsNameFQ\": \"r_stelleninseratKopfElementZuChannelVeroeffentlichungTypOptions\"\r\n }\r\n });\r\n super.onConstructionFinished();\r\n }\r\n}","module.exports = \"\";","import * as fwx from \"../../../../framework/forms/form-export\";\r\nimport {\r\n StelleninseratEditUtils\r\n} from \"./stelleninserat-edit-utils\";\r\n\r\n@fwx.autoinject\r\nexport class StelleninseratKumiEditForm extends fwx.FormBase {\r\n constructor(\r\n element: Element,\r\n formBaseImport: fwx.FormBaseImport,\r\n private $f_Stelleninserat: StelleninseratEditUtils) {\r\n super(element, formBaseImport);\r\n this.id = \"stelleninserat-kumi-edit\";\r\n this.title = \"stelleninserat-kumi-edit.stelleninserat-kumi-edit_caption\";\r\n this.addModel({\r\n \"id\": \"$m_Stelleninserat\",\r\n \"webApiAction\": \"ZIT/Objekte/Stelleninserat\",\r\n \"webApiExpand\": {\r\n 'Kopf': null,\r\n 'FerialeinsatzEinstellungen': null,\r\n 'FerialbewerbungFragebogen': null\r\n },\r\n \"modificationInfoEnabled\": true,\r\n \"key\": \"variables.data.$id\",\r\n \"keyProperty\": \"Id\",\r\n \"postOnSave\": true,\r\n \"filters\": [{\r\n \"webApiCustomKey\": \"BewerbungInfo\",\r\n \"webApiCustomValue\": \"true\"\r\n }, {\r\n \"webApiCustomKey\": \"ProfilFirmaInfo\",\r\n \"webApiCustomValue\": \"true\"\r\n }, {\r\n \"webApiCustomKey\": \"StelleninseratVorschauUrl\",\r\n \"webApiCustomValue\": \"true\"\r\n }]\r\n });\r\n this.addModel({\r\n \"id\": \"$m_StelleninseratKopfElement\",\r\n \"webApiAction\": \"ZIT/Objekte/StelleninseratKopfElement\",\r\n \"webApiColumns\": ['Id'],\r\n \"key\": \"models.data.$m_Stelleninserat.IdStelleninseratKopfElement\",\r\n \"keyProperty\": \"Id\",\r\n \"filters\": []\r\n });\r\n this.addModel({\r\n \"id\": \"$m_StelleninseratGruppeRel\",\r\n \"webApiAction\": \"ZIT/Objekte/StelleninseratGruppe\",\r\n \"webApiColumns\": [\"Id\", \"SortNr\", \"Text\", \"IdStelleninseratGruppentyp\"],\r\n \"webApiExpand\": {\r\n 'Gruppentyp': null\r\n },\r\n \"webApiOrderBy\": [{\r\n \"columnName\": \"GruppentypSortNr\",\r\n \"sortOrder\": 0\r\n }, {\r\n \"columnName\": \"GruppentypBezeichnung\",\r\n \"sortOrder\": 0\r\n }, {\r\n \"columnName\": \"SortNr\",\r\n \"sortOrder\": 0\r\n }, {\r\n \"columnName\": \"Text\",\r\n \"sortOrder\": 0\r\n }],\r\n \"keyProperty\": \"Id\",\r\n \"filters\": []\r\n });\r\n this.addModel({\r\n \"id\": \"$m_StelleninseratGruppeEdit\",\r\n \"webApiAction\": \"ZIT/Objekte/StelleninseratGruppe\",\r\n \"webApiExpand\": {\r\n 'Gruppentyp': null\r\n },\r\n \"keyProperty\": \"Id\",\r\n \"filters\": []\r\n });\r\n this.addModel({\r\n \"id\": \"$m_StelleninseratGruppeElement\",\r\n \"webApiAction\": \"ZIT/Objekte/StelleninseratGruppeElement\",\r\n \"key\": \"models.data.$m_Stelleninserat.IdStelleninseratGruppeElement\",\r\n \"keyProperty\": \"Id\",\r\n \"filters\": []\r\n });\r\n this.addModel({\r\n \"id\": \"$m_STFBFB\",\r\n \"webApiAction\": \"ZIT/Objekte/StelleninseratFerialbewerbungFragebogenElement\",\r\n \"key\": \"models.data.$m_Stelleninserat.IdStelleninseratFerialbewerbungFragebogenElement\",\r\n \"keyProperty\": \"Id\",\r\n \"filters\": []\r\n });\r\n this.addModel({\r\n \"id\": \"$m_STFBFBEinsatzbereich\",\r\n \"webApiAction\": \"ZIT/Objekte/StelleninseratFerialbewerbungFragebogenEinsatzbereich\",\r\n \"webApiColumns\": [\"Id\", \"IdStelleninseratFerialbewerbungFragebogenElement\", \"Einsatzbereich\", \"SortNr\"],\r\n \"webApiOrderBy\": [{\r\n \"columnName\": \"SortNr\",\r\n \"sortOrder\": 0\r\n }, {\r\n \"columnName\": \"Einsatzbereich\",\r\n \"sortOrder\": 1\r\n }],\r\n \"keyProperty\": \"Id\",\r\n \"filters\": []\r\n });\r\n this.addModel({\r\n \"id\": \"$m_STFBFBEinsatzbereichE\",\r\n \"webApiAction\": \"ZIT/Objekte/StelleninseratFerialbewerbungFragebogenEinsatzbereich\",\r\n \"keyProperty\": \"Id\",\r\n \"filters\": []\r\n });\r\n this.addModel({\r\n \"id\": \"$m_Bewerbung\",\r\n \"webApiAction\": \"ZIT/Objekte/Bewerbung\",\r\n \"webApiColumns\": [\"Id\"],\r\n \"webApiWhere\": [\"Kopf.IdStelleninserat\", {\r\n \"isBound\": true,\r\n \"expression\": \"models.data.$m_Stelleninserat.Id\"\r\n }],\r\n \"modificationInfoEnabled\": true,\r\n \"keyProperty\": \"Id\",\r\n \"filters\": [{\r\n \"webApiCustomKey\": \"AddBewerbungCard\",\r\n \"webApiCustomValue\": \"true\"\r\n }]\r\n });\r\n this.addModel({\r\n \"id\": \"$m_Bewerbungstyp\",\r\n \"webApiAction\": \"ZIT/Stammdaten/StelleninseratBewerbungstyp\",\r\n \"key\": \"models.data.$m_Stelleninserat.Kopf.IdBewerbungstyp\",\r\n \"keyProperty\": \"Id\",\r\n \"filters\": []\r\n });\r\n this.addModel({\r\n \"id\": \"$m_StelleninseratKopfElementChannelRel\",\r\n \"webApiAction\": \"ZIT/Objekte/StelleninseratKopfElementZuChannel\",\r\n \"webApiExpand\": {\r\n 'Channel': null,\r\n 'StelleninseratBewerbungstyp': null\r\n },\r\n \"keyProperty\": \"Id\",\r\n \"allowNew\": \"functions.$f_Stelleninserat.canAddChannel\",\r\n \"filters\": []\r\n });\r\n this.addModel({\r\n \"id\": \"$m_StelleninseratKopfElementChannelEdit\",\r\n \"webApiAction\": \"ZIT/Objekte/StelleninseratKopfElementZuChannel\",\r\n \"keyProperty\": \"Id\",\r\n \"filters\": []\r\n });\r\n this.addCommand({\r\n \"binding\": {\r\n \"bindTo\": \"$f_Stelleninserat.actionCommand\",\r\n \"bindToFQ\": \"functions.$f_Stelleninserat.actionCommand\"\r\n }\r\n });\r\n this.addEditPopup({\r\n \"idContent\": \"stelleninseratGruppeEditPopupContent\",\r\n \"mappings\": [{\r\n \"to\": \"$id\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_StelleninseratGruppeEdit\",\r\n \"bindTo\": \"Id\",\r\n \"bindToFQ\": \"models.data.$m_StelleninseratGruppeEdit.Id\"\r\n }\r\n }, {\r\n \"to\": \"$v_idGeschaeftspartner\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Stelleninserat\",\r\n \"bindTo\": \"Kopf.IdGeschaeftspartner\",\r\n \"bindToFQ\": \"models.data.$m_Stelleninserat.Kopf.IdGeschaeftspartner\",\r\n \"propertyPrefix\": \"Kopf\"\r\n }\r\n }, {\r\n \"to\": \"$v_idStelleninserat\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Stelleninserat\",\r\n \"bindTo\": \"Id\",\r\n \"bindToFQ\": \"models.data.$m_Stelleninserat.Id\"\r\n }\r\n }],\r\n \"id\": \"stelleninseratGruppeEditPopup\",\r\n \"options\": {\r\n \"optionsName\": \"stelleninseratGruppeEditPopupOptions\",\r\n \"optionsNameFQ\": \"stelleninseratGruppeEditPopupOptions\"\r\n },\r\n \"caption\": \"stelleninserat-kumi-edit.stelleninseratgruppeeditpopup_caption\",\r\n \"height\": \"auto\",\r\n \"width\": \"500px\",\r\n \"commands\": []\r\n });\r\n this.addEditPopup({\r\n \"idContent\": \"stelleninseratFerialbewerbungFragebogenEinsatzbereichEditPopupContent\",\r\n \"mappings\": [{\r\n \"to\": \"$id\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_STFBFBEinsatzbereichE\",\r\n \"bindTo\": \"Id\",\r\n \"bindToFQ\": \"models.data.$m_STFBFBEinsatzbereichE.Id\"\r\n }\r\n }],\r\n \"id\": \"stelleninseratFerialbewerbungFragebogenEinsatzbereichEditPopup\",\r\n \"options\": {\r\n \"optionsName\": \"stelleninseratFerialbewerbungFragebogenEinsatzbereichEditPopupOptions\",\r\n \"optionsNameFQ\": \"stelleninseratFerialbewerbungFragebogenEinsatzbereichEditPopupOptions\"\r\n },\r\n \"caption\": \"stelleninserat-kumi-edit.stelleninseratferialbewerbungfragebogeneinsatzbereicheditpopup_caption\",\r\n \"height\": \"auto\",\r\n \"width\": \"500px\",\r\n \"commands\": []\r\n });\r\n this.addEditPopup({\r\n \"idContent\": \"stelleninseratKopfElementChannelEditPopupContent\",\r\n \"mappings\": [{\r\n \"to\": \"$id\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_StelleninseratKopfElementChannelEdit\",\r\n \"bindTo\": \"Id\",\r\n \"bindToFQ\": \"models.data.$m_StelleninseratKopfElementChannelEdit.Id\"\r\n }\r\n }],\r\n \"id\": \"stelleninseratKopfElementChannelEditPopup\",\r\n \"options\": {\r\n \"optionsName\": \"stelleninseratKopfElementChannelEditPopupOptions\",\r\n \"optionsNameFQ\": \"stelleninseratKopfElementChannelEditPopupOptions\"\r\n },\r\n \"height\": \"auto\",\r\n \"width\": \"500px\",\r\n \"commands\": []\r\n });\r\n this.addFunction(\"$f_Stelleninserat\", $f_Stelleninserat, \"functions.$f_Stelleninserat\");\r\n this.widgetCreator.addValidationGroup(this, {\r\n \"id\": \"wd1\",\r\n \"options\": {\r\n \"optionsName\": \"wd1Options\",\r\n \"optionsNameFQ\": \"wd1Options\"\r\n }\r\n });\r\n this.widgetCreator.addLookup(this, {\r\n \"idSelect\": \"geschaeftspartner\",\r\n \"filters\": [],\r\n \"caption\": \"stelleninserat-kumi-edit.r_geschaeftspartner_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Stelleninserat\",\r\n \"bindTo\": \"Kopf.IdGeschaeftspartner\",\r\n \"bindToFQ\": \"models.data.$m_Stelleninserat.Kopf.IdGeschaeftspartner\",\r\n \"propertyPrefix\": \"Kopf\"\r\n },\r\n \"validationRules\": [{\r\n \"item\": {\r\n \"type\": \"required\",\r\n \"parameters\": []\r\n }\r\n }],\r\n \"id\": \"r_geschaeftspartner\",\r\n \"options\": {\r\n \"optionsName\": \"r_geschaeftspartnerOptions\",\r\n \"optionsNameFQ\": \"r_geschaeftspartnerOptions\"\r\n }\r\n });\r\n this.widgetCreator.addTextBox(this, {\r\n \"maxLength\": 250,\r\n \"caption\": \"stelleninserat-kumi-edit.r_stellenbezeichnungextern_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Stelleninserat\",\r\n \"bindTo\": \"Kopf.StellenbezeichnungExtern\",\r\n \"bindToFQ\": \"models.data.$m_Stelleninserat.Kopf.StellenbezeichnungExtern\",\r\n \"propertyPrefix\": \"Kopf\"\r\n },\r\n \"validationRules\": [{\r\n \"item\": {\r\n \"type\": \"required\",\r\n \"parameters\": []\r\n }\r\n }],\r\n \"id\": \"r_stellenbezeichnungExtern\",\r\n \"options\": {\r\n \"optionsName\": \"r_stellenbezeichnungExternOptions\",\r\n \"optionsNameFQ\": \"r_stellenbezeichnungExternOptions\"\r\n }\r\n });\r\n this.widgetCreator.addNumberBox(this, {\r\n \"showSpinButtons\": true,\r\n \"min\": 0.0,\r\n \"caption\": \"stelleninserat-kumi-edit.r_sortnr_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Stelleninserat\",\r\n \"bindTo\": \"Kopf.SortNr\",\r\n \"bindToFQ\": \"models.data.$m_Stelleninserat.Kopf.SortNr\",\r\n \"propertyPrefix\": \"Kopf\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_sortNr\",\r\n \"options\": {\r\n \"optionsName\": \"r_sortNrOptions\",\r\n \"optionsNameFQ\": \"r_sortNrOptions\"\r\n }\r\n });\r\n this.widgetCreator.addTextBox(this, {\r\n \"maxLength\": 250,\r\n \"caption\": \"stelleninserat-kumi-edit.r_stellenbezeichnungintern_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Stelleninserat\",\r\n \"bindTo\": \"Kopf.StellenbezeichnungIntern\",\r\n \"bindToFQ\": \"models.data.$m_Stelleninserat.Kopf.StellenbezeichnungIntern\",\r\n \"propertyPrefix\": \"Kopf\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_stellenbezeichnungIntern\",\r\n \"options\": {\r\n \"optionsName\": \"r_stellenbezeichnungInternOptions\",\r\n \"optionsNameFQ\": \"r_stellenbezeichnungInternOptions\"\r\n }\r\n });\r\n this.widgetCreator.addDateBox(this, {\r\n \"format\": \"d\",\r\n \"caption\": \"stelleninserat-kumi-edit.r_gueltigvon_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Stelleninserat\",\r\n \"bindTo\": \"Kopf.GueltigVon\",\r\n \"bindToFQ\": \"models.data.$m_Stelleninserat.Kopf.GueltigVon\",\r\n \"propertyPrefix\": \"Kopf\"\r\n },\r\n \"validationRules\": [{\r\n \"item\": {\r\n \"type\": \"required\",\r\n \"parameters\": []\r\n }\r\n }],\r\n \"id\": \"r_gueltigVon\",\r\n \"options\": {\r\n \"optionsName\": \"r_gueltigVonOptions\",\r\n \"optionsNameFQ\": \"r_gueltigVonOptions\"\r\n }\r\n });\r\n this.widgetCreator.addDateBox(this, {\r\n \"format\": \"d\",\r\n \"caption\": \"stelleninserat-kumi-edit.r_gueltigbis_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Stelleninserat\",\r\n \"bindTo\": \"Kopf.GueltigBis\",\r\n \"bindToFQ\": \"models.data.$m_Stelleninserat.Kopf.GueltigBis\",\r\n \"propertyPrefix\": \"Kopf\"\r\n },\r\n \"validationRules\": [{\r\n \"item\": {\r\n \"type\": \"required\",\r\n \"parameters\": []\r\n }\r\n }],\r\n \"id\": \"r_gueltigBis\",\r\n \"options\": {\r\n \"optionsName\": \"r_gueltigBisOptions\",\r\n \"optionsNameFQ\": \"r_gueltigBisOptions\"\r\n }\r\n });\r\n this.widgetCreator.addSelectBox(this, {\r\n \"idSelect\": \"branche\",\r\n \"filters\": [],\r\n \"caption\": \"stelleninserat-kumi-edit.r_branche_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Stelleninserat\",\r\n \"bindTo\": \"Kopf.IdBranche\",\r\n \"bindToFQ\": \"models.data.$m_Stelleninserat.Kopf.IdBranche\",\r\n \"propertyPrefix\": \"Kopf\"\r\n },\r\n \"validationRules\": [{\r\n \"item\": {\r\n \"type\": \"required\",\r\n \"parameters\": []\r\n }\r\n }],\r\n \"id\": \"r_branche\",\r\n \"options\": {\r\n \"optionsName\": \"r_brancheOptions\",\r\n \"optionsNameFQ\": \"r_brancheOptions\"\r\n }\r\n });\r\n this.widgetCreator.addLookup(this, {\r\n \"idSelect\": \"geschaeftspartner\",\r\n \"filters\": [],\r\n \"caption\": \"stelleninserat-kumi-edit.r_geschaeftspartnernopackage_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Stelleninserat\",\r\n \"bindTo\": \"Kopf.IdGeschaeftspartner\",\r\n \"bindToFQ\": \"models.data.$m_Stelleninserat.Kopf.IdGeschaeftspartner\",\r\n \"propertyPrefix\": \"Kopf\"\r\n },\r\n \"validationRules\": [{\r\n \"binding\": {\r\n \"dataContext\": \"$m_Stelleninserat\",\r\n \"bindTo\": \"$f_Stelleninserat.keinPackageRule\",\r\n \"bindToFQ\": \"functions.$f_Stelleninserat.keinPackageRule\"\r\n }\r\n }, {\r\n \"item\": {\r\n \"type\": \"required\",\r\n \"parameters\": []\r\n }\r\n }],\r\n \"id\": \"r_geschaeftspartnerNoPackage\",\r\n \"options\": {\r\n \"optionsName\": \"r_geschaeftspartnerNoPackageOptions\",\r\n \"optionsNameFQ\": \"r_geschaeftspartnerNoPackageOptions\"\r\n }\r\n });\r\n this.widgetCreator.addLookup(this, {\r\n \"idSelect\": \"ansprechperson\",\r\n \"customs\": [{\r\n \"key\": \"IdGeschaeftspartner\",\r\n \"value\": \"models.data.$m_Stelleninserat.Kopf.IdGeschaeftspartner\"\r\n }],\r\n \"filters\": [],\r\n \"caption\": \"stelleninserat-kumi-edit.ansprechpersonselect_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Stelleninserat\",\r\n \"bindTo\": \"Kopf.IdAnsprechperson\",\r\n \"bindToFQ\": \"models.data.$m_Stelleninserat.Kopf.IdAnsprechperson\",\r\n \"propertyPrefix\": \"Kopf\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"ansprechpersonSelect\",\r\n \"options\": {\r\n \"optionsName\": \"ansprechpersonSelectOptions\",\r\n \"optionsNameFQ\": \"ansprechpersonSelectOptions\"\r\n }\r\n });\r\n this.widgetCreator.addFileUploaderWithViewer(this, {\r\n \"acceptTypeEnum\": 0,\r\n \"acceptType\": \"image/*\",\r\n \"placeholderImageExpression\": \"models.data.$m_Stelleninserat.Kopf.DMSLinkStandardBild\",\r\n \"placeholderImageText\": \"Standardbild laut Lehrberuf\",\r\n \"height\": \"250px\",\r\n \"showToolbar\": true,\r\n \"showClearButton\": false,\r\n \"caption\": \"stelleninserat-kumi-edit.r_dmslinkbild_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Stelleninserat\",\r\n \"bindTo\": \"Kopf.DMSLinkBild\",\r\n \"bindToFQ\": \"models.data.$m_Stelleninserat.Kopf.DMSLinkBild\",\r\n \"propertyPrefix\": \"Kopf\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_dmslinkBild\",\r\n \"options\": {\r\n \"optionsName\": \"r_dmslinkBildOptions\",\r\n \"optionsNameFQ\": \"r_dmslinkBildOptions\"\r\n }\r\n });\r\n this.widgetCreator.addCheckBox(this, {\r\n \"caption\": \"stelleninserat-kumi-edit.r_stelleninserataktiv_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Stelleninserat\",\r\n \"bindTo\": \"Kopf.IsAktiv\",\r\n \"bindToFQ\": \"models.data.$m_Stelleninserat.Kopf.IsAktiv\",\r\n \"propertyPrefix\": \"Kopf\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_stelleninseratAktiv\",\r\n \"options\": {\r\n \"optionsName\": \"r_stelleninseratAktivOptions\",\r\n \"optionsNameFQ\": \"r_stelleninseratAktivOptions\"\r\n }\r\n });\r\n this.widgetCreator.addCheckBox(this, {\r\n \"caption\": \"stelleninserat-kumi-edit.r_nuronlinebewerbungerwuenscht_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Stelleninserat\",\r\n \"bindTo\": \"Kopf.NurOnlineBewerbungErwuenscht\",\r\n \"bindToFQ\": \"models.data.$m_Stelleninserat.Kopf.NurOnlineBewerbungErwuenscht\",\r\n \"propertyPrefix\": \"Kopf\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_nurOnlineBewerbungErwuenscht\",\r\n \"options\": {\r\n \"optionsName\": \"r_nurOnlineBewerbungErwuenschtOptions\",\r\n \"optionsNameFQ\": \"r_nurOnlineBewerbungErwuenschtOptions\"\r\n }\r\n });\r\n this.widgetCreator.addSelectBox(this, {\r\n \"idSelect\": \"stelleninseratBewerbungstyp\",\r\n \"filter\": [\r\n [\"IdGeschaeftspartner\", \"null\"], \"or\", [\"IdGeschaeftspartner\", {\r\n \"isBound\": true,\r\n \"expression\": \"models.data.$m_Stelleninserat.Kopf.IdGeschaeftspartner\"\r\n }]\r\n ],\r\n \"customs\": [{\r\n \"key\": \"IdGeschaeftspartner\",\r\n \"value\": \"models.data.$m_Stelleninserat.Kopf.IdGeschaeftspartner\"\r\n }, {\r\n \"key\": \"CheckBenutzerrolle\",\r\n \"value\": \"true\"\r\n }],\r\n \"filters\": [],\r\n \"caption\": \"stelleninserat-kumi-edit.bewerbungstyp_caption\",\r\n \"placeholder\": \"stelleninserat-kumi-edit.bewerbungstyp_placeholder\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Stelleninserat\",\r\n \"bindTo\": \"Kopf.IdBewerbungstyp\",\r\n \"bindToFQ\": \"models.data.$m_Stelleninserat.Kopf.IdBewerbungstyp\",\r\n \"propertyPrefix\": \"Kopf\"\r\n },\r\n \"validationRules\": [{\r\n \"item\": {\r\n \"type\": \"required\",\r\n \"parameters\": []\r\n }\r\n }],\r\n \"id\": \"bewerbungstyp\",\r\n \"options\": {\r\n \"optionsName\": \"bewerbungstypOptions\",\r\n \"optionsNameFQ\": \"bewerbungstypOptions\"\r\n }\r\n });\r\n this.widgetCreator.addDateBox(this, {\r\n \"format\": \"d\",\r\n \"caption\": \"stelleninserat-kumi-edit.r_bewerbungvon_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Stelleninserat\",\r\n \"bindTo\": \"FerialeinsatzEinstellungen.BewerbungOnlineVon\",\r\n \"bindToFQ\": \"models.data.$m_Stelleninserat.FerialeinsatzEinstellungen.BewerbungOnlineVon\",\r\n \"propertyPrefix\": \"FerialeinsatzEinstellungen\"\r\n },\r\n \"validationRules\": [{\r\n \"binding\": {\r\n \"dataContext\": \"$m_Stelleninserat\",\r\n \"bindTo\": \"$f_Stelleninserat.bewerbungVonValidationRule\",\r\n \"bindToFQ\": \"functions.$f_Stelleninserat.bewerbungVonValidationRule\"\r\n }\r\n }],\r\n \"id\": \"r_bewerbungVon\",\r\n \"options\": {\r\n \"optionsName\": \"r_bewerbungVonOptions\",\r\n \"optionsNameFQ\": \"r_bewerbungVonOptions\"\r\n }\r\n });\r\n this.widgetCreator.addDateBox(this, {\r\n \"format\": \"d\",\r\n \"caption\": \"stelleninserat-kumi-edit.r_bewerbungbis_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Stelleninserat\",\r\n \"bindTo\": \"FerialeinsatzEinstellungen.BewerbungOnlineBis\",\r\n \"bindToFQ\": \"models.data.$m_Stelleninserat.FerialeinsatzEinstellungen.BewerbungOnlineBis\",\r\n \"propertyPrefix\": \"FerialeinsatzEinstellungen\"\r\n },\r\n \"validationRules\": [{\r\n \"binding\": {\r\n \"dataContext\": \"$m_Stelleninserat\",\r\n \"bindTo\": \"$f_Stelleninserat.bewerbungBisValidationRule\",\r\n \"bindToFQ\": \"functions.$f_Stelleninserat.bewerbungBisValidationRule\"\r\n }\r\n }],\r\n \"id\": \"r_bewerbungBis\",\r\n \"options\": {\r\n \"optionsName\": \"r_bewerbungBisOptions\",\r\n \"optionsNameFQ\": \"r_bewerbungBisOptions\"\r\n }\r\n });\r\n this.widgetCreator.addTextBox(this, {\r\n \"maxLength\": 250,\r\n \"caption\": \"stelleninserat-kumi-edit.r_standort_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Stelleninserat\",\r\n \"bindTo\": \"Kopf.Standort\",\r\n \"bindToFQ\": \"models.data.$m_Stelleninserat.Kopf.Standort\",\r\n \"propertyPrefix\": \"Kopf\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_standort\",\r\n \"options\": {\r\n \"optionsName\": \"r_standortOptions\",\r\n \"optionsNameFQ\": \"r_standortOptions\"\r\n }\r\n });\r\n this.widgetCreator.addTextBox(this, {\r\n \"maxLength\": 500,\r\n \"caption\": \"stelleninserat-kumi-edit.r_googlekarteadresse_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Stelleninserat\",\r\n \"bindTo\": \"Kopf.GoogleKartenAdresse\",\r\n \"bindToFQ\": \"models.data.$m_Stelleninserat.Kopf.GoogleKartenAdresse\",\r\n \"propertyPrefix\": \"Kopf\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_googleKarteAdresse\",\r\n \"options\": {\r\n \"optionsName\": \"r_googleKarteAdresseOptions\",\r\n \"optionsNameFQ\": \"r_googleKarteAdresseOptions\"\r\n }\r\n });\r\n this.widgetCreator.addTextBox(this, {\r\n \"maxLength\": 250,\r\n \"caption\": \"stelleninserat-kumi-edit.r_subheadline_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Stelleninserat\",\r\n \"bindTo\": \"Kopf.Subheadline\",\r\n \"bindToFQ\": \"models.data.$m_Stelleninserat.Kopf.Subheadline\",\r\n \"propertyPrefix\": \"Kopf\"\r\n },\r\n \"validationRules\": [{\r\n \"item\": {\r\n \"type\": \"required\",\r\n \"parameters\": []\r\n }\r\n }],\r\n \"id\": \"r_subheadline\",\r\n \"options\": {\r\n \"optionsName\": \"r_subheadlineOptions\",\r\n \"optionsNameFQ\": \"r_subheadlineOptions\"\r\n }\r\n });\r\n this.widgetCreator.addTextBox(this, {\r\n \"maxLength\": 500,\r\n \"caption\": \"stelleninserat-kumi-edit.r_weiterleitungslink_caption\",\r\n \"isReadOnlyExpression\": \"!models.data.$m_Bewerbungstyp || !models.data.$m_Bewerbungstyp.WebsiteUmleitungLautWeiterleitungslink\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Stelleninserat\",\r\n \"bindTo\": \"Kopf.Weiterleitungslink\",\r\n \"bindToFQ\": \"models.data.$m_Stelleninserat.Kopf.Weiterleitungslink\",\r\n \"propertyPrefix\": \"Kopf\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_weiterleitungslink\",\r\n \"options\": {\r\n \"optionsName\": \"r_weiterleitungslinkOptions\",\r\n \"optionsNameFQ\": \"r_weiterleitungslinkOptions\"\r\n }\r\n });\r\n this.widgetCreator.addRadioGroup(this, {\r\n \"idSelect\": \"pflichtfeld\",\r\n \"filters\": [],\r\n \"caption\": \"stelleninserat-kumi-edit.r_lebenslaufanfragen_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Stelleninserat\",\r\n \"bindTo\": \"FerialbewerbungFragebogen.LebenslaufAnfragen\",\r\n \"bindToFQ\": \"models.data.$m_Stelleninserat.FerialbewerbungFragebogen.LebenslaufAnfragen\",\r\n \"propertyPrefix\": \"FerialbewerbungFragebogen\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_lebenslaufAnfragen\",\r\n \"options\": {\r\n \"optionsName\": \"r_lebenslaufAnfragenOptions\",\r\n \"optionsNameFQ\": \"r_lebenslaufAnfragenOptions\"\r\n }\r\n });\r\n this.widgetCreator.addRadioGroup(this, {\r\n \"idSelect\": \"pflichtfeld\",\r\n \"filters\": [],\r\n \"caption\": \"stelleninserat-kumi-edit.r_anschreibenanfragen_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Stelleninserat\",\r\n \"bindTo\": \"FerialbewerbungFragebogen.AnschreibenAnfragen\",\r\n \"bindToFQ\": \"models.data.$m_Stelleninserat.FerialbewerbungFragebogen.AnschreibenAnfragen\",\r\n \"propertyPrefix\": \"FerialbewerbungFragebogen\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_anschreibenAnfragen\",\r\n \"options\": {\r\n \"optionsName\": \"r_anschreibenAnfragenOptions\",\r\n \"optionsNameFQ\": \"r_anschreibenAnfragenOptions\"\r\n }\r\n });\r\n this.widgetCreator.addRadioGroup(this, {\r\n \"idSelect\": \"pflichtfeld\",\r\n \"filters\": [],\r\n \"caption\": \"stelleninserat-kumi-edit.r_zeugnisanfragen_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Stelleninserat\",\r\n \"bindTo\": \"FerialbewerbungFragebogen.LetztesZeugnisAnfragen\",\r\n \"bindToFQ\": \"models.data.$m_Stelleninserat.FerialbewerbungFragebogen.LetztesZeugnisAnfragen\",\r\n \"propertyPrefix\": \"FerialbewerbungFragebogen\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_zeugnisAnfragen\",\r\n \"options\": {\r\n \"optionsName\": \"r_zeugnisAnfragenOptions\",\r\n \"optionsNameFQ\": \"r_zeugnisAnfragenOptions\"\r\n }\r\n });\r\n this.widgetCreator.addRadioGroup(this, {\r\n \"idSelect\": \"pflichtfeld\",\r\n \"filters\": [],\r\n \"caption\": \"stelleninserat-kumi-edit.r_reisepassausweisanfragen_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Stelleninserat\",\r\n \"bindTo\": \"FerialbewerbungFragebogen.ReisepassAusweisAnfragen\",\r\n \"bindToFQ\": \"models.data.$m_Stelleninserat.FerialbewerbungFragebogen.ReisepassAusweisAnfragen\",\r\n \"propertyPrefix\": \"FerialbewerbungFragebogen\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_reisepassAusweisAnfragen\",\r\n \"options\": {\r\n \"optionsName\": \"r_reisepassAusweisAnfragenOptions\",\r\n \"optionsNameFQ\": \"r_reisepassAusweisAnfragenOptions\"\r\n }\r\n });\r\n this.widgetCreator.addRadioGroup(this, {\r\n \"idSelect\": \"pflichtfeld\",\r\n \"filters\": [],\r\n \"caption\": \"stelleninserat-kumi-edit.r_zertifikat_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Stelleninserat\",\r\n \"bindTo\": \"FerialbewerbungFragebogen.ZertifikatAnfragen\",\r\n \"bindToFQ\": \"models.data.$m_Stelleninserat.FerialbewerbungFragebogen.ZertifikatAnfragen\",\r\n \"propertyPrefix\": \"FerialbewerbungFragebogen\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_zertifikat\",\r\n \"options\": {\r\n \"optionsName\": \"r_zertifikatOptions\",\r\n \"optionsNameFQ\": \"r_zertifikatOptions\"\r\n }\r\n });\r\n this.widgetCreator.addRadioGroup(this, {\r\n \"idSelect\": \"pflichtfeld\",\r\n \"filters\": [],\r\n \"caption\": \"stelleninserat-kumi-edit.r_sprachkenntnisse_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Stelleninserat\",\r\n \"bindTo\": \"FerialbewerbungFragebogen.SprachKenntnisseAnfragen\",\r\n \"bindToFQ\": \"models.data.$m_Stelleninserat.FerialbewerbungFragebogen.SprachKenntnisseAnfragen\",\r\n \"propertyPrefix\": \"FerialbewerbungFragebogen\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_sprachkenntnisse\",\r\n \"options\": {\r\n \"optionsName\": \"r_sprachkenntnisseOptions\",\r\n \"optionsNameFQ\": \"r_sprachkenntnisseOptions\"\r\n }\r\n });\r\n this.widgetCreator.addRadioGroup(this, {\r\n \"idSelect\": \"pflichtfeld\",\r\n \"filters\": [],\r\n \"caption\": \"stelleninserat-kumi-edit.r_bisherigeberufserfahrung_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Stelleninserat\",\r\n \"bindTo\": \"FerialbewerbungFragebogen.BisherigeBerufserfahrungAnfragen\",\r\n \"bindToFQ\": \"models.data.$m_Stelleninserat.FerialbewerbungFragebogen.BisherigeBerufserfahrungAnfragen\",\r\n \"propertyPrefix\": \"FerialbewerbungFragebogen\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_bisherigeBerufserfahrung\",\r\n \"options\": {\r\n \"optionsName\": \"r_bisherigeBerufserfahrungOptions\",\r\n \"optionsNameFQ\": \"r_bisherigeBerufserfahrungOptions\"\r\n }\r\n });\r\n this.widgetCreator.addRadioGroup(this, {\r\n \"idSelect\": \"pflichtfeld\",\r\n \"filters\": [],\r\n \"caption\": \"stelleninserat-kumi-edit.r_fuehrerscheinundmobilitaet_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Stelleninserat\",\r\n \"bindTo\": \"FerialbewerbungFragebogen.FuehrerscheinUndMobilitaetAnfragen\",\r\n \"bindToFQ\": \"models.data.$m_Stelleninserat.FerialbewerbungFragebogen.FuehrerscheinUndMobilitaetAnfragen\",\r\n \"propertyPrefix\": \"FerialbewerbungFragebogen\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_fuehrerscheinUndMobilitaet\",\r\n \"options\": {\r\n \"optionsName\": \"r_fuehrerscheinUndMobilitaetOptions\",\r\n \"optionsNameFQ\": \"r_fuehrerscheinUndMobilitaetOptions\"\r\n }\r\n });\r\n this.widgetCreator.addRadioGroup(this, {\r\n \"idSelect\": \"pflichtfeld\",\r\n \"filters\": [],\r\n \"caption\": \"stelleninserat-kumi-edit.r_staplerfuehrerschein_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Stelleninserat\",\r\n \"bindTo\": \"FerialbewerbungFragebogen.StaplerFuehrerscheinAnfragen\",\r\n \"bindToFQ\": \"models.data.$m_Stelleninserat.FerialbewerbungFragebogen.StaplerFuehrerscheinAnfragen\",\r\n \"propertyPrefix\": \"FerialbewerbungFragebogen\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_staplerfuehrerschein\",\r\n \"options\": {\r\n \"optionsName\": \"r_staplerfuehrerscheinOptions\",\r\n \"optionsNameFQ\": \"r_staplerfuehrerscheinOptions\"\r\n }\r\n });\r\n this.widgetCreator.addListView(this, {\r\n \"itemClass\": \"z--list-view-inline-item\",\r\n \"useDefaultListItemStyle\": false,\r\n \"createToolbar\": true,\r\n \"optionsToolbar\": {\r\n \"optionsName\": \"r_moeglicheEinsatzbereicheToolbarOptions\",\r\n \"optionsNameFQ\": \"r_moeglicheEinsatzbereicheToolbarOptions\"\r\n },\r\n \"caption\": \"stelleninserat-kumi-edit.r_moeglicheeinsatzbereiche_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_STFBFB\"\r\n },\r\n \"isRelation\": true,\r\n \"relationBinding\": {\r\n \"dataContext\": \"$m_STFBFBEinsatzbereich\",\r\n \"bindTo\": \"IdStelleninseratFerialbewerbungFragebogenElement\",\r\n \"bindToFQ\": \"models.data.$m_STFBFBEinsatzbereich.IdStelleninseratFerialbewerbungFragebogenElement\"\r\n },\r\n \"dataModel\": \"$m_STFBFB\",\r\n \"editDataContext\": \"$m_STFBFBEinsatzbereichE\",\r\n \"idEditPopup\": \"stelleninseratFerialbewerbungFragebogenEinsatzbereichEditPopup\",\r\n \"listEdits\": [],\r\n \"filters\": [],\r\n \"commands\": [],\r\n \"id\": \"r_moeglicheEinsatzbereiche\",\r\n \"options\": {\r\n \"optionsName\": \"r_moeglicheEinsatzbereicheOptions\",\r\n \"optionsNameFQ\": \"r_moeglicheEinsatzbereicheOptions\"\r\n }\r\n });\r\n this.widgetCreator.addListView(this, {\r\n \"itemClass\": \"col-xs-12 col-sm-6\",\r\n \"useDefaultListItemStyle\": false,\r\n \"createToolbar\": true,\r\n \"optionsToolbar\": {\r\n \"optionsName\": \"r_bewerbungenListViewToolbarOptions\",\r\n \"optionsNameFQ\": \"r_bewerbungenListViewToolbarOptions\"\r\n },\r\n \"caption\": \"stelleninserat-kumi-edit.r_bewerbungenlistview_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Bewerbung\"\r\n },\r\n \"dataModel\": \"$m_Bewerbung\",\r\n \"pageSize\": 4,\r\n \"listEdits\": [],\r\n \"filters\": [],\r\n \"commands\": [],\r\n \"id\": \"r_bewerbungenListView\",\r\n \"options\": {\r\n \"optionsName\": \"r_bewerbungenListViewOptions\",\r\n \"optionsNameFQ\": \"r_bewerbungenListViewOptions\"\r\n }\r\n });\r\n this.widgetCreator.addDataGrid(this, {\r\n \"columns\": [{\r\n \"id\": \"r_channelBezeichnung\",\r\n \"caption\": \"stelleninserat-kumi-edit.r_channelbezeichnung_caption\",\r\n \"bindTo\": \"Channel.Bezeichnung\",\r\n \"minWidth\": 100\r\n }, {\r\n \"id\": \"r_channelVeroeffentlichungtyp\",\r\n \"caption\": \"stelleninserat-kumi-edit.r_channelveroeffentlichungtyp_caption\",\r\n \"bindTo\": \"VeroeffentlichungTyp\",\r\n \"minWidth\": 100,\r\n \"enumTypeName\": \"TIP.ZIT.Business.Enumerations.VeroeffentlichungTypEnum\"\r\n }, {\r\n \"id\": \"r_channelBewerbungstyp\",\r\n \"caption\": \"stelleninserat-kumi-edit.r_channelbewerbungstyp_caption\",\r\n \"bindTo\": \"StelleninseratBewerbungstyp.Bezeichnung\",\r\n \"minWidth\": 100\r\n }],\r\n \"createToolbar\": true,\r\n \"optionsToolbar\": {\r\n \"optionsName\": \"r_StelleninseratKopfElementChannelGridToolbarOptions\",\r\n \"optionsNameFQ\": \"r_StelleninseratKopfElementChannelGridToolbarOptions\"\r\n },\r\n \"caption\": \"stelleninserat-kumi-edit.r_stelleninseratkopfelementchannelgrid_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_StelleninseratKopfElement\"\r\n },\r\n \"isRelation\": true,\r\n \"relationBinding\": {\r\n \"dataContext\": \"$m_StelleninseratKopfElementChannelRel\",\r\n \"bindTo\": \"IdStelleninseratKopfElement\",\r\n \"bindToFQ\": \"models.data.$m_StelleninseratKopfElementChannelRel.IdStelleninseratKopfElement\"\r\n },\r\n \"dataModel\": \"$m_StelleninseratKopfElement\",\r\n \"editDataContext\": \"$m_StelleninseratKopfElementChannelEdit\",\r\n \"idEditPopup\": \"stelleninseratKopfElementChannelEditPopup\",\r\n \"listEdits\": [],\r\n \"filters\": [],\r\n \"commands\": [],\r\n \"id\": \"r_StelleninseratKopfElementChannelGrid\",\r\n \"options\": {\r\n \"optionsName\": \"r_StelleninseratKopfElementChannelGridOptions\",\r\n \"optionsNameFQ\": \"r_StelleninseratKopfElementChannelGridOptions\"\r\n }\r\n });\r\n super.onConstructionFinished();\r\n }\r\n}","module.exports = \"\";","import * as fwx from \"../../../../framework/forms/form-export\";\r\nimport {\r\n StelleninseratEditUtils\r\n} from \"./stelleninserat-edit-utils\";\r\n\r\n@fwx.autoinject\r\nexport class StelleninseratLehreEditForm extends fwx.FormBase {\r\n constructor(\r\n element: Element,\r\n formBaseImport: fwx.FormBaseImport,\r\n private $f_Stelleninserat: StelleninseratEditUtils) {\r\n super(element, formBaseImport);\r\n this.id = \"stelleninserat-lehre-edit\";\r\n this.title = \"stelleninserat-lehre-edit.stelleninserat-lehre-edit_caption\";\r\n this.addModel({\r\n \"id\": \"$m_Stelleninserat\",\r\n \"webApiAction\": \"ZIT/Objekte/Stelleninserat\",\r\n \"webApiExpand\": {\r\n 'Kopf': {\r\n 'expand': {\r\n 'TextKopfzeile1': null,\r\n 'TextFusszeile1': null,\r\n 'Schnupperberufe': null\r\n }\r\n },\r\n 'FerialeinsatzEinstellungen': null,\r\n 'FerialbewerbungFragebogen': null\r\n },\r\n \"modificationInfoEnabled\": true,\r\n \"key\": \"variables.data.$id\",\r\n \"keyProperty\": \"Id\",\r\n \"postOnSave\": true,\r\n \"filters\": [{\r\n \"webApiCustomKey\": \"BewerbungInfo\",\r\n \"webApiCustomValue\": \"true\"\r\n }, {\r\n \"webApiCustomKey\": \"ProfilFirmaInfo\",\r\n \"webApiCustomValue\": \"true\"\r\n }, {\r\n \"webApiCustomKey\": \"StelleninseratVorschauUrl\",\r\n \"webApiCustomValue\": \"true\"\r\n }]\r\n });\r\n this.addModel({\r\n \"id\": \"$m_StelleninseratKopfElement\",\r\n \"webApiAction\": \"ZIT/Objekte/StelleninseratKopfElement\",\r\n \"webApiColumns\": ['Id'],\r\n \"key\": \"models.data.$m_Stelleninserat.IdStelleninseratKopfElement\",\r\n \"keyProperty\": \"Id\",\r\n \"filters\": []\r\n });\r\n this.addModel({\r\n \"id\": \"$m_StelleninseratGruppeRel\",\r\n \"webApiAction\": \"ZIT/Objekte/StelleninseratGruppe\",\r\n \"webApiColumns\": [\"Id\", \"SortNr\", \"Text\", \"IdStelleninseratGruppentyp\"],\r\n \"webApiExpand\": {\r\n 'Gruppentyp': null\r\n },\r\n \"webApiOrderBy\": [{\r\n \"columnName\": \"GruppentypSortNr\",\r\n \"sortOrder\": 0\r\n }, {\r\n \"columnName\": \"GruppentypBezeichnung\",\r\n \"sortOrder\": 0\r\n }, {\r\n \"columnName\": \"SortNr\",\r\n \"sortOrder\": 0\r\n }, {\r\n \"columnName\": \"Text\",\r\n \"sortOrder\": 0\r\n }],\r\n \"keyProperty\": \"Id\",\r\n \"filters\": []\r\n });\r\n this.addModel({\r\n \"id\": \"$m_StelleninseratGruppeEdit\",\r\n \"webApiAction\": \"ZIT/Objekte/StelleninseratGruppe\",\r\n \"webApiExpand\": {\r\n 'Gruppentyp': null\r\n },\r\n \"keyProperty\": \"Id\",\r\n \"filters\": []\r\n });\r\n this.addModel({\r\n \"id\": \"$m_StelleninseratGruppeElement\",\r\n \"webApiAction\": \"ZIT/Objekte/StelleninseratGruppeElement\",\r\n \"key\": \"models.data.$m_Stelleninserat.IdStelleninseratGruppeElement\",\r\n \"keyProperty\": \"Id\",\r\n \"filters\": []\r\n });\r\n this.addModel({\r\n \"id\": \"$m_Bewerbung\",\r\n \"webApiAction\": \"ZIT/Objekte/Bewerbung\",\r\n \"webApiColumns\": [\"Id\"],\r\n \"webApiWhere\": [\"Kopf.IdStelleninserat\", {\r\n \"isBound\": true,\r\n \"expression\": \"models.data.$m_Stelleninserat.Id\"\r\n }],\r\n \"webApiOrderBy\": [{\r\n \"columnName\": \"Bewerbungsdatum\",\r\n \"sortOrder\": 1\r\n }, {\r\n \"columnName\": \"Id\",\r\n \"sortOrder\": 1\r\n }],\r\n \"modificationInfoEnabled\": true,\r\n \"keyProperty\": \"Id\",\r\n \"filters\": [{\r\n \"webApiCustomKey\": \"AddBewerbungCard\",\r\n \"webApiCustomValue\": \"true\"\r\n }]\r\n });\r\n this.addModel({\r\n \"id\": \"$m_Bewerbungstyp\",\r\n \"webApiAction\": \"ZIT/Stammdaten/StelleninseratBewerbungstyp\",\r\n \"key\": \"models.data.$m_Stelleninserat.Kopf.IdBewerbungstyp\",\r\n \"keyProperty\": \"Id\",\r\n \"filters\": []\r\n });\r\n this.addModel({\r\n \"id\": \"$m_StelleninseratKopfElementChannelRel\",\r\n \"webApiAction\": \"ZIT/Objekte/StelleninseratKopfElementZuChannel\",\r\n \"webApiExpand\": {\r\n 'Channel': null,\r\n 'StelleninseratBewerbungstyp': null\r\n },\r\n \"keyProperty\": \"Id\",\r\n \"allowNew\": \"functions.$f_Stelleninserat.canAddChannel\",\r\n \"filters\": []\r\n });\r\n this.addModel({\r\n \"id\": \"$m_StelleninseratKopfElementChannelEdit\",\r\n \"webApiAction\": \"ZIT/Objekte/StelleninseratKopfElementZuChannel\",\r\n \"keyProperty\": \"Id\",\r\n \"filters\": []\r\n });\r\n this.addModel({\r\n \"id\": \"$m_SchnupperberufeGeschaeftspartner\",\r\n \"webApiAction\": \"ZIT/Stammdaten/SchnupperberufGeschaeftspartner\",\r\n \"keyProperty\": \"Id\",\r\n \"filters\": [{\r\n \"webApiCustomKey\": \"IdStelleninseratKopfElement\",\r\n \"webApiCustomValue\": \"models.data.$m_Stelleninserat.Kopf.Id\"\r\n }]\r\n });\r\n this.addCommand({\r\n \"binding\": {\r\n \"bindTo\": \"$f_Stelleninserat.actionCommand\",\r\n \"bindToFQ\": \"functions.$f_Stelleninserat.actionCommand\"\r\n }\r\n });\r\n this.addEditPopup({\r\n \"idContent\": \"stelleninseratGruppeEditPopupContent\",\r\n \"mappings\": [{\r\n \"to\": \"$id\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_StelleninseratGruppeEdit\",\r\n \"bindTo\": \"Id\",\r\n \"bindToFQ\": \"models.data.$m_StelleninseratGruppeEdit.Id\"\r\n }\r\n }, {\r\n \"to\": \"$v_idGeschaeftspartner\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Stelleninserat\",\r\n \"bindTo\": \"Kopf.IdGeschaeftspartner\",\r\n \"bindToFQ\": \"models.data.$m_Stelleninserat.Kopf.IdGeschaeftspartner\",\r\n \"propertyPrefix\": \"Kopf\"\r\n }\r\n }, {\r\n \"to\": \"$v_idStelleninserat\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Stelleninserat\",\r\n \"bindTo\": \"Id\",\r\n \"bindToFQ\": \"models.data.$m_Stelleninserat.Id\"\r\n }\r\n }],\r\n \"id\": \"stelleninseratGruppeEditPopup\",\r\n \"options\": {\r\n \"optionsName\": \"stelleninseratGruppeEditPopupOptions\",\r\n \"optionsNameFQ\": \"stelleninseratGruppeEditPopupOptions\"\r\n },\r\n \"caption\": \"stelleninserat-lehre-edit.stelleninseratgruppeeditpopup_caption\",\r\n \"height\": \"auto\",\r\n \"width\": \"500px\",\r\n \"commands\": []\r\n });\r\n this.addEditPopup({\r\n \"idContent\": \"stelleninseratKopfElementChannelEditPopupContent\",\r\n \"mappings\": [{\r\n \"to\": \"$id\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_StelleninseratKopfElementChannelEdit\",\r\n \"bindTo\": \"Id\",\r\n \"bindToFQ\": \"models.data.$m_StelleninseratKopfElementChannelEdit.Id\"\r\n }\r\n }],\r\n \"id\": \"stelleninseratKopfElementChannelEditPopup\",\r\n \"options\": {\r\n \"optionsName\": \"stelleninseratKopfElementChannelEditPopupOptions\",\r\n \"optionsNameFQ\": \"stelleninseratKopfElementChannelEditPopupOptions\"\r\n },\r\n \"height\": \"auto\",\r\n \"width\": \"500px\",\r\n \"commands\": []\r\n });\r\n this.addFunction(\"$f_Stelleninserat\", $f_Stelleninserat, \"functions.$f_Stelleninserat\");\r\n this.widgetCreator.addValidationGroup(this, {\r\n \"id\": \"wd1\",\r\n \"options\": {\r\n \"optionsName\": \"wd1Options\",\r\n \"optionsNameFQ\": \"wd1Options\"\r\n }\r\n });\r\n this.widgetCreator.addLookup(this, {\r\n \"idSelect\": \"geschaeftspartner\",\r\n \"filters\": [],\r\n \"caption\": \"stelleninserat-lehre-edit.r_geschaeftspartner_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Stelleninserat\",\r\n \"bindTo\": \"Kopf.IdGeschaeftspartner\",\r\n \"bindToFQ\": \"models.data.$m_Stelleninserat.Kopf.IdGeschaeftspartner\",\r\n \"propertyPrefix\": \"Kopf\"\r\n },\r\n \"validationRules\": [{\r\n \"item\": {\r\n \"type\": \"required\",\r\n \"parameters\": []\r\n }\r\n }],\r\n \"id\": \"r_geschaeftspartner\",\r\n \"options\": {\r\n \"optionsName\": \"r_geschaeftspartnerOptions\",\r\n \"optionsNameFQ\": \"r_geschaeftspartnerOptions\"\r\n }\r\n });\r\n this.widgetCreator.addSelectBox(this, {\r\n \"idSelect\": \"lehrberuf\",\r\n \"filters\": [],\r\n \"caption\": \"stelleninserat-lehre-edit.r_lehrberuf_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Stelleninserat\",\r\n \"bindTo\": \"Kopf.IdLehrberuf\",\r\n \"bindToFQ\": \"models.data.$m_Stelleninserat.Kopf.IdLehrberuf\",\r\n \"propertyPrefix\": \"Kopf\"\r\n },\r\n \"validationRules\": [{\r\n \"item\": {\r\n \"type\": \"required\",\r\n \"parameters\": []\r\n }\r\n }],\r\n \"id\": \"r_lehrberuf\",\r\n \"options\": {\r\n \"optionsName\": \"r_lehrberufOptions\",\r\n \"optionsNameFQ\": \"r_lehrberufOptions\"\r\n }\r\n });\r\n this.widgetCreator.addTextBox(this, {\r\n \"maxLength\": 250,\r\n \"caption\": \"stelleninserat-lehre-edit.r_stellenbezeichnungextern_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Stelleninserat\",\r\n \"bindTo\": \"Kopf.StellenbezeichnungExtern\",\r\n \"bindToFQ\": \"models.data.$m_Stelleninserat.Kopf.StellenbezeichnungExtern\",\r\n \"propertyPrefix\": \"Kopf\"\r\n },\r\n \"validationRules\": [{\r\n \"item\": {\r\n \"type\": \"required\",\r\n \"parameters\": []\r\n }\r\n }],\r\n \"id\": \"r_stellenbezeichnungExtern\",\r\n \"options\": {\r\n \"optionsName\": \"r_stellenbezeichnungExternOptions\",\r\n \"optionsNameFQ\": \"r_stellenbezeichnungExternOptions\"\r\n }\r\n });\r\n this.widgetCreator.addTextBox(this, {\r\n \"maxLength\": 250,\r\n \"caption\": \"stelleninserat-lehre-edit.r_stellenbezeichnungintern_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Stelleninserat\",\r\n \"bindTo\": \"Kopf.StellenbezeichnungIntern\",\r\n \"bindToFQ\": \"models.data.$m_Stelleninserat.Kopf.StellenbezeichnungIntern\",\r\n \"propertyPrefix\": \"Kopf\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_stellenbezeichnungIntern\",\r\n \"options\": {\r\n \"optionsName\": \"r_stellenbezeichnungInternOptions\",\r\n \"optionsNameFQ\": \"r_stellenbezeichnungInternOptions\"\r\n }\r\n });\r\n this.widgetCreator.addDateBox(this, {\r\n \"format\": \"d\",\r\n \"caption\": \"stelleninserat-lehre-edit.r_gueltigvon_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Stelleninserat\",\r\n \"bindTo\": \"Kopf.GueltigVon\",\r\n \"bindToFQ\": \"models.data.$m_Stelleninserat.Kopf.GueltigVon\",\r\n \"propertyPrefix\": \"Kopf\"\r\n },\r\n \"validationRules\": [{\r\n \"item\": {\r\n \"type\": \"required\",\r\n \"parameters\": []\r\n }\r\n }],\r\n \"id\": \"r_gueltigVon\",\r\n \"options\": {\r\n \"optionsName\": \"r_gueltigVonOptions\",\r\n \"optionsNameFQ\": \"r_gueltigVonOptions\"\r\n }\r\n });\r\n this.widgetCreator.addDateBox(this, {\r\n \"format\": \"d\",\r\n \"caption\": \"stelleninserat-lehre-edit.r_gueltigbis_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Stelleninserat\",\r\n \"bindTo\": \"Kopf.GueltigBis\",\r\n \"bindToFQ\": \"models.data.$m_Stelleninserat.Kopf.GueltigBis\",\r\n \"propertyPrefix\": \"Kopf\"\r\n },\r\n \"validationRules\": [{\r\n \"item\": {\r\n \"type\": \"required\",\r\n \"parameters\": []\r\n }\r\n }],\r\n \"id\": \"r_gueltigBis\",\r\n \"options\": {\r\n \"optionsName\": \"r_gueltigBisOptions\",\r\n \"optionsNameFQ\": \"r_gueltigBisOptions\"\r\n }\r\n });\r\n this.widgetCreator.addLookup(this, {\r\n \"idSelect\": \"geschaeftspartner\",\r\n \"filters\": [],\r\n \"caption\": \"stelleninserat-lehre-edit.r_geschaeftspartnernopackage_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Stelleninserat\",\r\n \"bindTo\": \"Kopf.IdGeschaeftspartner\",\r\n \"bindToFQ\": \"models.data.$m_Stelleninserat.Kopf.IdGeschaeftspartner\",\r\n \"propertyPrefix\": \"Kopf\"\r\n },\r\n \"validationRules\": [{\r\n \"binding\": {\r\n \"dataContext\": \"$m_Stelleninserat\",\r\n \"bindTo\": \"$f_Stelleninserat.keinPackageRule\",\r\n \"bindToFQ\": \"functions.$f_Stelleninserat.keinPackageRule\"\r\n }\r\n }, {\r\n \"item\": {\r\n \"type\": \"required\",\r\n \"parameters\": []\r\n }\r\n }],\r\n \"id\": \"r_geschaeftspartnerNoPackage\",\r\n \"options\": {\r\n \"optionsName\": \"r_geschaeftspartnerNoPackageOptions\",\r\n \"optionsNameFQ\": \"r_geschaeftspartnerNoPackageOptions\"\r\n }\r\n });\r\n this.widgetCreator.addLookup(this, {\r\n \"idSelect\": \"ansprechperson\",\r\n \"customs\": [{\r\n \"key\": \"IdGeschaeftspartner\",\r\n \"value\": \"models.data.$m_Stelleninserat.Kopf.IdGeschaeftspartner\"\r\n }],\r\n \"filters\": [],\r\n \"caption\": \"stelleninserat-lehre-edit.ansprechpersonselect_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Stelleninserat\",\r\n \"bindTo\": \"Kopf.IdAnsprechperson\",\r\n \"bindToFQ\": \"models.data.$m_Stelleninserat.Kopf.IdAnsprechperson\",\r\n \"propertyPrefix\": \"Kopf\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"ansprechpersonSelect\",\r\n \"options\": {\r\n \"optionsName\": \"ansprechpersonSelectOptions\",\r\n \"optionsNameFQ\": \"ansprechpersonSelectOptions\"\r\n }\r\n });\r\n this.widgetCreator.addFileUploaderWithViewer(this, {\r\n \"acceptTypeEnum\": 0,\r\n \"acceptType\": \"image/*\",\r\n \"placeholderImageExpression\": \"models.data.$m_Stelleninserat.Kopf.DMSLinkStandardBild\",\r\n \"placeholderImageText\": \"Standardbild laut Lehrberuf\",\r\n \"height\": \"250px\",\r\n \"showToolbar\": true,\r\n \"showClearButton\": false,\r\n \"caption\": \"stelleninserat-lehre-edit.r_dmslinkbild_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Stelleninserat\",\r\n \"bindTo\": \"Kopf.DMSLinkBild\",\r\n \"bindToFQ\": \"models.data.$m_Stelleninserat.Kopf.DMSLinkBild\",\r\n \"propertyPrefix\": \"Kopf\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_dmslinkBild\",\r\n \"options\": {\r\n \"optionsName\": \"r_dmslinkBildOptions\",\r\n \"optionsNameFQ\": \"r_dmslinkBildOptions\"\r\n }\r\n });\r\n this.widgetCreator.addCheckBox(this, {\r\n \"caption\": \"stelleninserat-lehre-edit.r_stelleninserataktiv_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Stelleninserat\",\r\n \"bindTo\": \"Kopf.IsAktiv\",\r\n \"bindToFQ\": \"models.data.$m_Stelleninserat.Kopf.IsAktiv\",\r\n \"propertyPrefix\": \"Kopf\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_stelleninseratAktiv\",\r\n \"options\": {\r\n \"optionsName\": \"r_stelleninseratAktivOptions\",\r\n \"optionsNameFQ\": \"r_stelleninseratAktivOptions\"\r\n }\r\n });\r\n this.widgetCreator.addCheckBox(this, {\r\n \"caption\": \"stelleninserat-lehre-edit.r_nuronlinebewerbungerwuenscht_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Stelleninserat\",\r\n \"bindTo\": \"Kopf.NurOnlineBewerbungErwuenscht\",\r\n \"bindToFQ\": \"models.data.$m_Stelleninserat.Kopf.NurOnlineBewerbungErwuenscht\",\r\n \"propertyPrefix\": \"Kopf\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_nurOnlineBewerbungErwuenscht\",\r\n \"options\": {\r\n \"optionsName\": \"r_nurOnlineBewerbungErwuenschtOptions\",\r\n \"optionsNameFQ\": \"r_nurOnlineBewerbungErwuenschtOptions\"\r\n }\r\n });\r\n this.widgetCreator.addSelectBox(this, {\r\n \"idSelect\": \"stelleninseratBewerbungstyp\",\r\n \"filter\": [\r\n [\"IdGeschaeftspartner\", \"null\"], \"or\", [\"IdGeschaeftspartner\", {\r\n \"isBound\": true,\r\n \"expression\": \"models.data.$m_Stelleninserat.Kopf.IdGeschaeftspartner\"\r\n }]\r\n ],\r\n \"customs\": [{\r\n \"key\": \"IdGeschaeftspartner\",\r\n \"value\": \"models.data.$m_Stelleninserat.Kopf.IdGeschaeftspartner\"\r\n }, {\r\n \"key\": \"CheckBenutzerrolle\",\r\n \"value\": \"true\"\r\n }],\r\n \"filters\": [],\r\n \"caption\": \"stelleninserat-lehre-edit.r_bewerbungstyp_caption\",\r\n \"placeholder\": \"stelleninserat-lehre-edit.r_bewerbungstyp_placeholder\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Stelleninserat\",\r\n \"bindTo\": \"Kopf.IdBewerbungstyp\",\r\n \"bindToFQ\": \"models.data.$m_Stelleninserat.Kopf.IdBewerbungstyp\",\r\n \"propertyPrefix\": \"Kopf\"\r\n },\r\n \"validationRules\": [{\r\n \"item\": {\r\n \"type\": \"required\",\r\n \"parameters\": []\r\n }\r\n }],\r\n \"id\": \"r_bewerbungstyp\",\r\n \"options\": {\r\n \"optionsName\": \"r_bewerbungstypOptions\",\r\n \"optionsNameFQ\": \"r_bewerbungstypOptions\"\r\n }\r\n });\r\n this.widgetCreator.addCheckBox(this, {\r\n \"caption\": \"stelleninserat-lehre-edit.r_priorisieren_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Stelleninserat\",\r\n \"bindTo\": \"Kopf.Priorisieren\",\r\n \"bindToFQ\": \"models.data.$m_Stelleninserat.Kopf.Priorisieren\",\r\n \"propertyPrefix\": \"Kopf\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_priorisieren\",\r\n \"options\": {\r\n \"optionsName\": \"r_priorisierenOptions\",\r\n \"optionsNameFQ\": \"r_priorisierenOptions\"\r\n }\r\n });\r\n this.widgetCreator.addDateBox(this, {\r\n \"format\": \"d\",\r\n \"caption\": \"stelleninserat-lehre-edit.r_bewerbungvon_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Stelleninserat\",\r\n \"bindTo\": \"FerialeinsatzEinstellungen.BewerbungOnlineVon\",\r\n \"bindToFQ\": \"models.data.$m_Stelleninserat.FerialeinsatzEinstellungen.BewerbungOnlineVon\",\r\n \"propertyPrefix\": \"FerialeinsatzEinstellungen\"\r\n },\r\n \"validationRules\": [{\r\n \"binding\": {\r\n \"dataContext\": \"$m_Stelleninserat\",\r\n \"bindTo\": \"$f_Stelleninserat.bewerbungVonValidationRule\",\r\n \"bindToFQ\": \"functions.$f_Stelleninserat.bewerbungVonValidationRule\"\r\n }\r\n }],\r\n \"id\": \"r_bewerbungVon\",\r\n \"options\": {\r\n \"optionsName\": \"r_bewerbungVonOptions\",\r\n \"optionsNameFQ\": \"r_bewerbungVonOptions\"\r\n }\r\n });\r\n this.widgetCreator.addDateBox(this, {\r\n \"format\": \"d\",\r\n \"caption\": \"stelleninserat-lehre-edit.r_bewerbungbis_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Stelleninserat\",\r\n \"bindTo\": \"FerialeinsatzEinstellungen.BewerbungOnlineBis\",\r\n \"bindToFQ\": \"models.data.$m_Stelleninserat.FerialeinsatzEinstellungen.BewerbungOnlineBis\",\r\n \"propertyPrefix\": \"FerialeinsatzEinstellungen\"\r\n },\r\n \"validationRules\": [{\r\n \"binding\": {\r\n \"dataContext\": \"$m_Stelleninserat\",\r\n \"bindTo\": \"$f_Stelleninserat.bewerbungBisValidationRule\",\r\n \"bindToFQ\": \"functions.$f_Stelleninserat.bewerbungBisValidationRule\"\r\n }\r\n }],\r\n \"id\": \"r_bewerbungBis\",\r\n \"options\": {\r\n \"optionsName\": \"r_bewerbungBisOptions\",\r\n \"optionsNameFQ\": \"r_bewerbungBisOptions\"\r\n }\r\n });\r\n this.widgetCreator.addTextBox(this, {\r\n \"maxLength\": 250,\r\n \"caption\": \"stelleninserat-lehre-edit.r_standort_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Stelleninserat\",\r\n \"bindTo\": \"Kopf.Standort\",\r\n \"bindToFQ\": \"models.data.$m_Stelleninserat.Kopf.Standort\",\r\n \"propertyPrefix\": \"Kopf\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_standort\",\r\n \"options\": {\r\n \"optionsName\": \"r_standortOptions\",\r\n \"optionsNameFQ\": \"r_standortOptions\"\r\n }\r\n });\r\n this.widgetCreator.addTextBox(this, {\r\n \"maxLength\": 500,\r\n \"caption\": \"stelleninserat-lehre-edit.r_googlekarteadresse_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Stelleninserat\",\r\n \"bindTo\": \"Kopf.GoogleKartenAdresse\",\r\n \"bindToFQ\": \"models.data.$m_Stelleninserat.Kopf.GoogleKartenAdresse\",\r\n \"propertyPrefix\": \"Kopf\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_googleKarteAdresse\",\r\n \"options\": {\r\n \"optionsName\": \"r_googleKarteAdresseOptions\",\r\n \"optionsNameFQ\": \"r_googleKarteAdresseOptions\"\r\n }\r\n });\r\n this.widgetCreator.addTextBox(this, {\r\n \"maxLength\": 250,\r\n \"caption\": \"stelleninserat-lehre-edit.r_subheadline_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Stelleninserat\",\r\n \"bindTo\": \"Kopf.Subheadline\",\r\n \"bindToFQ\": \"models.data.$m_Stelleninserat.Kopf.Subheadline\",\r\n \"propertyPrefix\": \"Kopf\"\r\n },\r\n \"validationRules\": [{\r\n \"item\": {\r\n \"type\": \"required\",\r\n \"parameters\": []\r\n }\r\n }],\r\n \"id\": \"r_subheadline\",\r\n \"options\": {\r\n \"optionsName\": \"r_subheadlineOptions\",\r\n \"optionsNameFQ\": \"r_subheadlineOptions\"\r\n }\r\n });\r\n this.widgetCreator.addTextBox(this, {\r\n \"maxLength\": 500,\r\n \"caption\": \"stelleninserat-lehre-edit.r_weiterleitungslink_caption\",\r\n \"isReadOnlyExpression\": \"!models.data.$m_Bewerbungstyp || !models.data.$m_Bewerbungstyp.WebsiteUmleitungLautWeiterleitungslink\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Stelleninserat\",\r\n \"bindTo\": \"Kopf.Weiterleitungslink\",\r\n \"bindToFQ\": \"models.data.$m_Stelleninserat.Kopf.Weiterleitungslink\",\r\n \"propertyPrefix\": \"Kopf\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_weiterleitungslink\",\r\n \"options\": {\r\n \"optionsName\": \"r_weiterleitungslinkOptions\",\r\n \"optionsNameFQ\": \"r_weiterleitungslinkOptions\"\r\n }\r\n });\r\n this.widgetCreator.addSelectBox(this, {\r\n \"idSelect\": \"schnupperterminanfrageart\",\r\n \"filters\": [{\r\n \"webApiCustomKey\": \"IdStelleninseratGeschaeftspartner\",\r\n \"webApiCustomValue\": \"models.data.$m_Stelleninserat.Kopf.IdGeschaeftspartner\"\r\n }, {\r\n \"webApiCustomKey\": \"IdStelleninseratGeschaeftspartner\",\r\n \"webApiCustomValue\": \"models.data.$m_Stelleninserat.Kopf.IdGeschaeftspartner\"\r\n }],\r\n \"caption\": \"stelleninserat-lehre-edit.r_schnupperterminanfrageart_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Stelleninserat\",\r\n \"bindTo\": \"Kopf.IdSchnupperterminAnfrageart\",\r\n \"bindToFQ\": \"models.data.$m_Stelleninserat.Kopf.IdSchnupperterminAnfrageart\",\r\n \"propertyPrefix\": \"Kopf\"\r\n },\r\n \"validationRules\": [{\r\n \"item\": {\r\n \"type\": \"required\",\r\n \"parameters\": []\r\n }\r\n }],\r\n \"id\": \"r_schnupperterminAnfrageart\",\r\n \"options\": {\r\n \"optionsName\": \"r_schnupperterminAnfrageartOptions\",\r\n \"optionsNameFQ\": \"r_schnupperterminAnfrageartOptions\"\r\n }\r\n });\r\n this.widgetCreator.addTagBox(this, {\r\n \"caption\": \"stelleninserat-lehre-edit.r_schnupperberufegeschaeftspartner_caption\",\r\n \"dataContext\": \"$m_Stelleninserat\",\r\n \"batchSelectionEnabled\": true,\r\n \"relationBinding\": {\r\n \"dataContext\": \"$m_Stelleninserat\",\r\n \"bindTo\": \"Kopf.Schnupperberufe\",\r\n \"bindToFQ\": \"models.data.$m_Stelleninserat.Kopf.Schnupperberufe\",\r\n \"propertyPrefix\": \"Kopf\"\r\n },\r\n \"relationProperty\": \"IdSchnupperberufGeschaeftspartner\",\r\n \"itemDataContext\": \"$m_SchnupperberufeGeschaeftspartner\",\r\n \"itemValueExpr\": \"Id\",\r\n \"itemDisplayExpr\": \"Bezeichnung\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Stelleninserat\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_schnupperberufeGeschaeftspartner\",\r\n \"options\": {\r\n \"optionsName\": \"r_schnupperberufeGeschaeftspartnerOptions\",\r\n \"optionsNameFQ\": \"r_schnupperberufeGeschaeftspartnerOptions\"\r\n }\r\n });\r\n this.widgetCreator.addTextBox(this, {\r\n \"maxLength\": 250,\r\n \"caption\": \"stelleninserat-lehre-edit.r_arbeitskleidungschnuppern_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Stelleninserat\",\r\n \"bindTo\": \"Kopf.ArbeitskleidungSchnuppern\",\r\n \"bindToFQ\": \"models.data.$m_Stelleninserat.Kopf.ArbeitskleidungSchnuppern\",\r\n \"propertyPrefix\": \"Kopf\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_arbeitskleidungSchnuppern\",\r\n \"options\": {\r\n \"optionsName\": \"r_arbeitskleidungSchnuppernOptions\",\r\n \"optionsNameFQ\": \"r_arbeitskleidungSchnuppernOptions\"\r\n }\r\n });\r\n this.widgetCreator.addRadioGroup(this, {\r\n \"idSelect\": \"pflichtfeld\",\r\n \"filters\": [],\r\n \"caption\": \"stelleninserat-lehre-edit.r_lebenslaufanfragen_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Stelleninserat\",\r\n \"bindTo\": \"FerialbewerbungFragebogen.LebenslaufAnfragen\",\r\n \"bindToFQ\": \"models.data.$m_Stelleninserat.FerialbewerbungFragebogen.LebenslaufAnfragen\",\r\n \"propertyPrefix\": \"FerialbewerbungFragebogen\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_lebenslaufAnfragen\",\r\n \"options\": {\r\n \"optionsName\": \"r_lebenslaufAnfragenOptions\",\r\n \"optionsNameFQ\": \"r_lebenslaufAnfragenOptions\"\r\n }\r\n });\r\n this.widgetCreator.addRadioGroup(this, {\r\n \"idSelect\": \"pflichtfeld\",\r\n \"filters\": [],\r\n \"caption\": \"stelleninserat-lehre-edit.r_anschreibenanfragen_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Stelleninserat\",\r\n \"bindTo\": \"FerialbewerbungFragebogen.AnschreibenAnfragen\",\r\n \"bindToFQ\": \"models.data.$m_Stelleninserat.FerialbewerbungFragebogen.AnschreibenAnfragen\",\r\n \"propertyPrefix\": \"FerialbewerbungFragebogen\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_anschreibenAnfragen\",\r\n \"options\": {\r\n \"optionsName\": \"r_anschreibenAnfragenOptions\",\r\n \"optionsNameFQ\": \"r_anschreibenAnfragenOptions\"\r\n }\r\n });\r\n this.widgetCreator.addRadioGroup(this, {\r\n \"idSelect\": \"pflichtfeld\",\r\n \"filters\": [],\r\n \"caption\": \"stelleninserat-lehre-edit.r_zeugnisanfragen_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Stelleninserat\",\r\n \"bindTo\": \"FerialbewerbungFragebogen.LetztesZeugnisAnfragen\",\r\n \"bindToFQ\": \"models.data.$m_Stelleninserat.FerialbewerbungFragebogen.LetztesZeugnisAnfragen\",\r\n \"propertyPrefix\": \"FerialbewerbungFragebogen\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_zeugnisAnfragen\",\r\n \"options\": {\r\n \"optionsName\": \"r_zeugnisAnfragenOptions\",\r\n \"optionsNameFQ\": \"r_zeugnisAnfragenOptions\"\r\n }\r\n });\r\n this.widgetCreator.addRadioGroup(this, {\r\n \"idSelect\": \"pflichtfeld\",\r\n \"filters\": [],\r\n \"caption\": \"stelleninserat-lehre-edit.r_reisepassausweisanfragen_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Stelleninserat\",\r\n \"bindTo\": \"FerialbewerbungFragebogen.ReisepassAusweisAnfragen\",\r\n \"bindToFQ\": \"models.data.$m_Stelleninserat.FerialbewerbungFragebogen.ReisepassAusweisAnfragen\",\r\n \"propertyPrefix\": \"FerialbewerbungFragebogen\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_reisepassAusweisAnfragen\",\r\n \"options\": {\r\n \"optionsName\": \"r_reisepassAusweisAnfragenOptions\",\r\n \"optionsNameFQ\": \"r_reisepassAusweisAnfragenOptions\"\r\n }\r\n });\r\n this.widgetCreator.addRadioGroup(this, {\r\n \"idSelect\": \"pflichtfeld\",\r\n \"filters\": [],\r\n \"caption\": \"stelleninserat-lehre-edit.r_schnuppertermineanzeigen_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Stelleninserat\",\r\n \"bindTo\": \"Kopf.SchnuppertermineAnzeigen\",\r\n \"bindToFQ\": \"models.data.$m_Stelleninserat.Kopf.SchnuppertermineAnzeigen\",\r\n \"propertyPrefix\": \"Kopf\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_schnuppertermineAnzeigen\",\r\n \"options\": {\r\n \"optionsName\": \"r_schnuppertermineAnzeigenOptions\",\r\n \"optionsNameFQ\": \"r_schnuppertermineAnzeigenOptions\"\r\n }\r\n });\r\n this.widgetCreator.addRadioGroup(this, {\r\n \"idSelect\": \"pflichtfeld\",\r\n \"filters\": [],\r\n \"caption\": \"stelleninserat-lehre-edit.r_angabewunschtermin_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Stelleninserat\",\r\n \"bindTo\": \"FerialbewerbungFragebogen.AngabeWunschtermin\",\r\n \"bindToFQ\": \"models.data.$m_Stelleninserat.FerialbewerbungFragebogen.AngabeWunschtermin\",\r\n \"propertyPrefix\": \"FerialbewerbungFragebogen\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_angabeWunschtermin\",\r\n \"options\": {\r\n \"optionsName\": \"r_angabeWunschterminOptions\",\r\n \"optionsNameFQ\": \"r_angabeWunschterminOptions\"\r\n }\r\n });\r\n this.widgetCreator.addRadioGroup(this, {\r\n \"idSelect\": \"pflichtfeld\",\r\n \"filters\": [],\r\n \"caption\": \"stelleninserat-lehre-edit.r_schnupperberufgeschaeftspartner1_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Stelleninserat\",\r\n \"bindTo\": \"FerialbewerbungFragebogen.SchnupperberufGeschaeftspartner1\",\r\n \"bindToFQ\": \"models.data.$m_Stelleninserat.FerialbewerbungFragebogen.SchnupperberufGeschaeftspartner1\",\r\n \"propertyPrefix\": \"FerialbewerbungFragebogen\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_schnupperberufGeschaeftspartner1\",\r\n \"options\": {\r\n \"optionsName\": \"r_schnupperberufGeschaeftspartner1Options\",\r\n \"optionsNameFQ\": \"r_schnupperberufGeschaeftspartner1Options\"\r\n }\r\n });\r\n this.widgetCreator.addRadioGroup(this, {\r\n \"idSelect\": \"pflichtfeld\",\r\n \"filters\": [],\r\n \"caption\": \"stelleninserat-lehre-edit.r_schnupperberufgeschaeftspartner2_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Stelleninserat\",\r\n \"bindTo\": \"FerialbewerbungFragebogen.SchnupperberufGeschaeftspartner2\",\r\n \"bindToFQ\": \"models.data.$m_Stelleninserat.FerialbewerbungFragebogen.SchnupperberufGeschaeftspartner2\",\r\n \"propertyPrefix\": \"FerialbewerbungFragebogen\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_schnupperberufGeschaeftspartner2\",\r\n \"options\": {\r\n \"optionsName\": \"r_schnupperberufGeschaeftspartner2Options\",\r\n \"optionsNameFQ\": \"r_schnupperberufGeschaeftspartner2Options\"\r\n }\r\n });\r\n this.widgetCreator.addRadioGroup(this, {\r\n \"idSelect\": \"pflichtfeld\",\r\n \"filters\": [],\r\n \"caption\": \"stelleninserat-lehre-edit.r_bisherigeberufserfahrung_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Stelleninserat\",\r\n \"bindTo\": \"FerialbewerbungFragebogen.BisherigeBerufserfahrungAnfragen\",\r\n \"bindToFQ\": \"models.data.$m_Stelleninserat.FerialbewerbungFragebogen.BisherigeBerufserfahrungAnfragen\",\r\n \"propertyPrefix\": \"FerialbewerbungFragebogen\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_bisherigeBerufserfahrung\",\r\n \"options\": {\r\n \"optionsName\": \"r_bisherigeBerufserfahrungOptions\",\r\n \"optionsNameFQ\": \"r_bisherigeBerufserfahrungOptions\"\r\n }\r\n });\r\n this.widgetCreator.addRadioGroup(this, {\r\n \"idSelect\": \"pflichtfeld\",\r\n \"filters\": [],\r\n \"caption\": \"stelleninserat-lehre-edit.r_fuehrerscheinundmobilitaet_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Stelleninserat\",\r\n \"bindTo\": \"FerialbewerbungFragebogen.FuehrerscheinUndMobilitaetAnfragen\",\r\n \"bindToFQ\": \"models.data.$m_Stelleninserat.FerialbewerbungFragebogen.FuehrerscheinUndMobilitaetAnfragen\",\r\n \"propertyPrefix\": \"FerialbewerbungFragebogen\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_fuehrerscheinUndMobilitaet\",\r\n \"options\": {\r\n \"optionsName\": \"r_fuehrerscheinUndMobilitaetOptions\",\r\n \"optionsNameFQ\": \"r_fuehrerscheinUndMobilitaetOptions\"\r\n }\r\n });\r\n this.widgetCreator.addRadioGroup(this, {\r\n \"idSelect\": \"pflichtfeld\",\r\n \"filters\": [],\r\n \"caption\": \"stelleninserat-lehre-edit.r_sprachkenntnisse_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Stelleninserat\",\r\n \"bindTo\": \"FerialbewerbungFragebogen.SprachKenntnisseAnfragen\",\r\n \"bindToFQ\": \"models.data.$m_Stelleninserat.FerialbewerbungFragebogen.SprachKenntnisseAnfragen\",\r\n \"propertyPrefix\": \"FerialbewerbungFragebogen\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_sprachKenntnisse\",\r\n \"options\": {\r\n \"optionsName\": \"r_sprachKenntnisseOptions\",\r\n \"optionsNameFQ\": \"r_sprachKenntnisseOptions\"\r\n }\r\n });\r\n this.widgetCreator.addRadioGroup(this, {\r\n \"idSelect\": \"pflichtfeld\",\r\n \"filters\": [],\r\n \"caption\": \"stelleninserat-lehre-edit.r_auswahlschule_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Stelleninserat\",\r\n \"bindTo\": \"FerialbewerbungFragebogen.AuswahlSchule\",\r\n \"bindToFQ\": \"models.data.$m_Stelleninserat.FerialbewerbungFragebogen.AuswahlSchule\",\r\n \"propertyPrefix\": \"FerialbewerbungFragebogen\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_auswahlSchule\",\r\n \"options\": {\r\n \"optionsName\": \"r_auswahlSchuleOptions\",\r\n \"optionsNameFQ\": \"r_auswahlSchuleOptions\"\r\n }\r\n });\r\n this.widgetCreator.addRadioGroup(this, {\r\n \"idSelect\": \"pflichtfeld\",\r\n \"filters\": [],\r\n \"caption\": \"stelleninserat-lehre-edit.r_staplerfuehrerschein_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Stelleninserat\",\r\n \"bindTo\": \"FerialbewerbungFragebogen.StaplerFuehrerscheinAnfragen\",\r\n \"bindToFQ\": \"models.data.$m_Stelleninserat.FerialbewerbungFragebogen.StaplerFuehrerscheinAnfragen\",\r\n \"propertyPrefix\": \"FerialbewerbungFragebogen\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_staplerfuehrerschein\",\r\n \"options\": {\r\n \"optionsName\": \"r_staplerfuehrerscheinOptions\",\r\n \"optionsNameFQ\": \"r_staplerfuehrerscheinOptions\"\r\n }\r\n });\r\n this.widgetCreator.addListView(this, {\r\n \"itemClass\": \"col-xs-12 col-sm-6\",\r\n \"useDefaultListItemStyle\": false,\r\n \"createToolbar\": true,\r\n \"optionsToolbar\": {\r\n \"optionsName\": \"r_bewerbungenListViewToolbarOptions\",\r\n \"optionsNameFQ\": \"r_bewerbungenListViewToolbarOptions\"\r\n },\r\n \"caption\": \"stelleninserat-lehre-edit.r_bewerbungenlistview_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Bewerbung\"\r\n },\r\n \"dataModel\": \"$m_Bewerbung\",\r\n \"pageSize\": 4,\r\n \"listEdits\": [],\r\n \"filters\": [],\r\n \"commands\": [],\r\n \"id\": \"r_bewerbungenListView\",\r\n \"options\": {\r\n \"optionsName\": \"r_bewerbungenListViewOptions\",\r\n \"optionsNameFQ\": \"r_bewerbungenListViewOptions\"\r\n }\r\n });\r\n this.widgetCreator.addDataGrid(this, {\r\n \"columns\": [{\r\n \"id\": \"r_channelBezeichnung\",\r\n \"caption\": \"stelleninserat-lehre-edit.r_channelbezeichnung_caption\",\r\n \"bindTo\": \"Channel.Bezeichnung\",\r\n \"minWidth\": 100\r\n }, {\r\n \"id\": \"r_channelVeroeffentlichungtyp\",\r\n \"caption\": \"stelleninserat-lehre-edit.r_channelveroeffentlichungtyp_caption\",\r\n \"bindTo\": \"VeroeffentlichungTyp\",\r\n \"minWidth\": 100,\r\n \"enumTypeName\": \"TIP.ZIT.Business.Enumerations.VeroeffentlichungTypEnum\"\r\n }, {\r\n \"id\": \"r_channelBewerbungstyp\",\r\n \"caption\": \"stelleninserat-lehre-edit.r_channelbewerbungstyp_caption\",\r\n \"bindTo\": \"StelleninseratBewerbungstyp.Bezeichnung\",\r\n \"minWidth\": 100\r\n }],\r\n \"createToolbar\": true,\r\n \"optionsToolbar\": {\r\n \"optionsName\": \"r_StelleninseratKopfElementChannelGridToolbarOptions\",\r\n \"optionsNameFQ\": \"r_StelleninseratKopfElementChannelGridToolbarOptions\"\r\n },\r\n \"caption\": \"stelleninserat-lehre-edit.r_stelleninseratkopfelementchannelgrid_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_StelleninseratKopfElement\"\r\n },\r\n \"isRelation\": true,\r\n \"relationBinding\": {\r\n \"dataContext\": \"$m_StelleninseratKopfElementChannelRel\",\r\n \"bindTo\": \"IdStelleninseratKopfElement\",\r\n \"bindToFQ\": \"models.data.$m_StelleninseratKopfElementChannelRel.IdStelleninseratKopfElement\"\r\n },\r\n \"dataModel\": \"$m_StelleninseratKopfElement\",\r\n \"editDataContext\": \"$m_StelleninseratKopfElementChannelEdit\",\r\n \"idEditPopup\": \"stelleninseratKopfElementChannelEditPopup\",\r\n \"listEdits\": [],\r\n \"filters\": [],\r\n \"commands\": [],\r\n \"id\": \"r_StelleninseratKopfElementChannelGrid\",\r\n \"options\": {\r\n \"optionsName\": \"r_StelleninseratKopfElementChannelGridOptions\",\r\n \"optionsNameFQ\": \"r_StelleninseratKopfElementChannelGridOptions\"\r\n }\r\n });\r\n super.onConstructionFinished();\r\n }\r\n}","module.exports = \"\";","import * as fwx from \"../../../../framework/forms/form-export\";\r\n\r\n@fwx.autoinject\r\nexport class StelleninseratLehreKlasseEditForm extends fwx.FormBase {\r\n constructor(\r\n element: Element,\r\n formBaseImport: fwx.FormBaseImport) {\r\n super(element, formBaseImport);\r\n this.id = \"stelleninserat-klasse-edit\";\r\n this.title = \"stelleninserat-klasse-edit.stelleninserat-klasse-edit_caption\";\r\n this.addModel({\r\n \"id\": \"$m_StelleninseratKlasse\",\r\n \"webApiAction\": \"ZIT/Objekte/StelleninseratKlasse\",\r\n \"key\": \"variables.data.$id\",\r\n \"keyProperty\": \"Id\",\r\n \"postOnSave\": true,\r\n \"filters\": []\r\n });\r\n this.addVariable({\r\n \"id\": \"$id\"\r\n });\r\n this.widgetCreator.addValidationGroup(this, {\r\n \"id\": \"wd1\",\r\n \"options\": {\r\n \"optionsName\": \"wd1Options\",\r\n \"optionsNameFQ\": \"wd1Options\"\r\n }\r\n });\r\n this.widgetCreator.addTextBox(this, {\r\n \"maxLength\": 100,\r\n \"caption\": \"stelleninserat-klasse-edit.r_bezeichnung_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_StelleninseratKlasse\",\r\n \"bindTo\": \"Bezeichnung\",\r\n \"bindToFQ\": \"models.data.$m_StelleninseratKlasse.Bezeichnung\"\r\n },\r\n \"validationRules\": [{\r\n \"item\": {\r\n \"type\": \"required\",\r\n \"parameters\": []\r\n }\r\n }],\r\n \"id\": \"r_bezeichnung\",\r\n \"options\": {\r\n \"optionsName\": \"r_bezeichnungOptions\",\r\n \"optionsNameFQ\": \"r_bezeichnungOptions\"\r\n }\r\n });\r\n super.onConstructionFinished();\r\n }\r\n}","module.exports = \"\";","import * as fwx from \"../../../../framework/forms/form-export\";\r\nimport {\r\n StelleninseratEditUtils\r\n} from \"./stelleninserat-edit-utils\";\r\nimport {\r\n StelleninseratLehreKundePackageEditUtils\r\n} from \"./stelleninserat-lehre-kunde-package-edit-utils\";\r\n\r\n@fwx.autoinject\r\nexport class StelleninseratLehreKundePackageEditForm extends fwx.FormBase {\r\n constructor(\r\n element: Element,\r\n formBaseImport: fwx.FormBaseImport,\r\n private $f_Stelleninserat: StelleninseratEditUtils,\r\n private $f_StelleninseratLehreKundePackage: StelleninseratLehreKundePackageEditUtils) {\r\n super(element, formBaseImport);\r\n this.id = \"stelleninserat-lehre-kunde-package-edit\";\r\n this.title = \"stelleninserat-lehre-kunde-package-edit.stelleninserat-lehre-kunde-package-edit_caption\";\r\n this.addModel({\r\n \"id\": \"$m_Stelleninserat\",\r\n \"webApiAction\": \"ZIT/Objekte/Stelleninserat\",\r\n \"webApiExpand\": {\r\n 'Kopf': {\r\n 'expand': {\r\n 'TextKopfzeile1': null,\r\n 'TextFusszeile1': null,\r\n 'Schnupperberufe': null,\r\n 'Geschaeftspartner': {\r\n 'expand': {\r\n 'Geschaeftspartnerdaten': null\r\n }\r\n }\r\n }\r\n },\r\n 'FerialeinsatzEinstellungen': null,\r\n 'FerialbewerbungFragebogen': null\r\n },\r\n \"modificationInfoEnabled\": true,\r\n \"key\": \"variables.data.$id\",\r\n \"keyProperty\": \"Id\",\r\n \"postOnSave\": true,\r\n \"filters\": [{\r\n \"webApiCustomKey\": \"BewerbungInfo\",\r\n \"webApiCustomValue\": \"true\"\r\n }, {\r\n \"webApiCustomKey\": \"ProfilFirmaInfo\",\r\n \"webApiCustomValue\": \"true\"\r\n }, {\r\n \"webApiCustomKey\": \"StelleninseratVorschauUrl\",\r\n \"webApiCustomValue\": \"true\"\r\n }]\r\n });\r\n this.addModel({\r\n \"id\": \"$m_StelleninseratKopfElement\",\r\n \"webApiAction\": \"ZIT/Objekte/StelleninseratKopfElement\",\r\n \"webApiColumns\": ['Id'],\r\n \"key\": \"models.data.$m_Stelleninserat.IdStelleninseratKopfElement\",\r\n \"keyProperty\": \"Id\",\r\n \"filters\": []\r\n });\r\n this.addModel({\r\n \"id\": \"$m_StelleninseratGruppeRel\",\r\n \"webApiAction\": \"ZIT/Objekte/StelleninseratGruppe\",\r\n \"webApiColumns\": [\"Id\", \"SortNr\", \"Text\", \"IdStelleninseratGruppentyp\"],\r\n \"webApiExpand\": {\r\n 'Gruppentyp': null\r\n },\r\n \"webApiOrderBy\": [{\r\n \"columnName\": \"GruppentypSortNr\",\r\n \"sortOrder\": 0\r\n }, {\r\n \"columnName\": \"GruppentypBezeichnung\",\r\n \"sortOrder\": 0\r\n }, {\r\n \"columnName\": \"SortNr\",\r\n \"sortOrder\": 0\r\n }, {\r\n \"columnName\": \"Text\",\r\n \"sortOrder\": 0\r\n }],\r\n \"keyProperty\": \"Id\",\r\n \"filters\": []\r\n });\r\n this.addModel({\r\n \"id\": \"$m_StelleninseratGruppeEdit\",\r\n \"webApiAction\": \"ZIT/Objekte/StelleninseratGruppe\",\r\n \"webApiExpand\": {\r\n 'Gruppentyp': null\r\n },\r\n \"keyProperty\": \"Id\",\r\n \"filters\": []\r\n });\r\n this.addModel({\r\n \"id\": \"$m_StelleninseratGruppeElement\",\r\n \"webApiAction\": \"ZIT/Objekte/StelleninseratGruppeElement\",\r\n \"key\": \"models.data.$m_Stelleninserat.IdStelleninseratGruppeElement\",\r\n \"keyProperty\": \"Id\",\r\n \"filters\": []\r\n });\r\n this.addModel({\r\n \"id\": \"$m_Bewerbung\",\r\n \"webApiAction\": \"ZIT/Objekte/Bewerbung\",\r\n \"webApiColumns\": [\"Id\"],\r\n \"webApiWhere\": [\"Kopf.IdStelleninserat\", {\r\n \"isBound\": true,\r\n \"expression\": \"models.data.$m_Stelleninserat.Id\"\r\n }],\r\n \"webApiOrderBy\": [{\r\n \"columnName\": \"Bewerbungsdatum\",\r\n \"sortOrder\": 1\r\n }, {\r\n \"columnName\": \"Id\",\r\n \"sortOrder\": 1\r\n }],\r\n \"modificationInfoEnabled\": true,\r\n \"keyProperty\": \"Id\",\r\n \"filters\": [{\r\n \"webApiCustomKey\": \"AddBewerbungCard\",\r\n \"webApiCustomValue\": \"true\"\r\n }]\r\n });\r\n this.addModel({\r\n \"id\": \"$m_Bewerbungstyp\",\r\n \"webApiAction\": \"ZIT/Stammdaten/StelleninseratBewerbungstyp\",\r\n \"key\": \"models.data.$m_Stelleninserat.Kopf.IdBewerbungstyp\",\r\n \"keyProperty\": \"Id\",\r\n \"filters\": []\r\n });\r\n this.addModel({\r\n \"id\": \"$m_StelleninseratKlasseRel\",\r\n \"webApiAction\": \"ZIT/Objekte/StelleninseratKlasse\",\r\n \"keyProperty\": \"Id\",\r\n \"filters\": []\r\n });\r\n this.addModel({\r\n \"id\": \"$m_StelleninseratKlasseEdit\",\r\n \"webApiAction\": \"ZIT/Objekte/StelleninseratKlasse\",\r\n \"keyProperty\": \"Id\",\r\n \"filters\": []\r\n });\r\n this.addModel({\r\n \"id\": \"$m_StelleninseratKopfElementChannelRel\",\r\n \"webApiAction\": \"ZIT/Objekte/StelleninseratKopfElementZuChannel\",\r\n \"webApiExpand\": {\r\n 'Channel': null,\r\n 'StelleninseratBewerbungstyp': null\r\n },\r\n \"keyProperty\": \"Id\",\r\n \"allowNew\": \"functions.$f_Stelleninserat.canAddChannel\",\r\n \"filters\": []\r\n });\r\n this.addModel({\r\n \"id\": \"$m_StelleninseratKopfElementChannelEdit\",\r\n \"webApiAction\": \"ZIT/Objekte/StelleninseratKopfElementZuChannel\",\r\n \"keyProperty\": \"Id\",\r\n \"filters\": []\r\n });\r\n this.addModel({\r\n \"id\": \"$m_SchnupperberufeGeschaeftspartner\",\r\n \"webApiAction\": \"ZIT/Stammdaten/SchnupperberufGeschaeftspartner\",\r\n \"keyProperty\": \"Id\",\r\n \"filters\": [{\r\n \"webApiCustomKey\": \"IdStelleninseratKopfElement\",\r\n \"webApiCustomValue\": \"models.data.$m_Stelleninserat.Kopf.Id\"\r\n }]\r\n });\r\n this.addModel({\r\n \"id\": \"$m_Geschaeftspartner\",\r\n \"webApiAction\": \"ZIT/Objekte/Geschaeftspartner\",\r\n \"webApiColumns\": [\"Id\"],\r\n \"modificationInfoEnabled\": true,\r\n \"key\": \"models.data.$m_Stelleninserat.Kopf.IdGeschaeftspartner\",\r\n \"keyProperty\": \"Id\",\r\n \"filters\": [{\r\n \"webApiCustomKey\": \"LoadPackageInfo\",\r\n \"webApiCustomValue\": \"true\"\r\n }]\r\n });\r\n this.addCommand({\r\n \"binding\": {\r\n \"bindTo\": \"$f_Stelleninserat.actionCommand\",\r\n \"bindToFQ\": \"functions.$f_Stelleninserat.actionCommand\"\r\n }\r\n });\r\n this.addEditPopup({\r\n \"idContent\": \"stelleninseratGruppeEditPopupContent\",\r\n \"mappings\": [{\r\n \"to\": \"$id\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_StelleninseratGruppeEdit\",\r\n \"bindTo\": \"Id\",\r\n \"bindToFQ\": \"models.data.$m_StelleninseratGruppeEdit.Id\"\r\n }\r\n }, {\r\n \"to\": \"$v_idGeschaeftspartner\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Stelleninserat\",\r\n \"bindTo\": \"Kopf.IdGeschaeftspartner\",\r\n \"bindToFQ\": \"models.data.$m_Stelleninserat.Kopf.IdGeschaeftspartner\",\r\n \"propertyPrefix\": \"Kopf\"\r\n }\r\n }, {\r\n \"to\": \"$v_idStelleninserat\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Stelleninserat\",\r\n \"bindTo\": \"Id\",\r\n \"bindToFQ\": \"models.data.$m_Stelleninserat.Id\"\r\n }\r\n }],\r\n \"id\": \"stelleninseratGruppeEditPopup\",\r\n \"options\": {\r\n \"optionsName\": \"stelleninseratGruppeEditPopupOptions\",\r\n \"optionsNameFQ\": \"stelleninseratGruppeEditPopupOptions\"\r\n },\r\n \"caption\": \"stelleninserat-lehre-kunde-package-edit.stelleninseratgruppeeditpopup_caption\",\r\n \"height\": \"auto\",\r\n \"width\": \"500px\",\r\n \"commands\": []\r\n });\r\n this.addEditPopup({\r\n \"idContent\": \"stelleninseratLehreKlasseEditPopupContent\",\r\n \"mappings\": [{\r\n \"to\": \"$id\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_StelleninseratKlasseEdit\",\r\n \"bindTo\": \"Id\",\r\n \"bindToFQ\": \"models.data.$m_StelleninseratKlasseEdit.Id\"\r\n }\r\n }],\r\n \"id\": \"stelleninseratLehreKlasseEditPopup\",\r\n \"options\": {\r\n \"optionsName\": \"stelleninseratLehreKlasseEditPopupOptions\",\r\n \"optionsNameFQ\": \"stelleninseratLehreKlasseEditPopupOptions\"\r\n },\r\n \"height\": \"auto\",\r\n \"width\": \"500px\",\r\n \"commands\": []\r\n });\r\n this.addEditPopup({\r\n \"idContent\": \"stelleninseratKopfElementChannelEditPopupContent\",\r\n \"mappings\": [{\r\n \"to\": \"$id\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_StelleninseratKopfElementChannelEdit\",\r\n \"bindTo\": \"Id\",\r\n \"bindToFQ\": \"models.data.$m_StelleninseratKopfElementChannelEdit.Id\"\r\n }\r\n }],\r\n \"id\": \"stelleninseratKopfElementChannelEditPopup\",\r\n \"options\": {\r\n \"optionsName\": \"stelleninseratKopfElementChannelEditPopupOptions\",\r\n \"optionsNameFQ\": \"stelleninseratKopfElementChannelEditPopupOptions\"\r\n },\r\n \"height\": \"auto\",\r\n \"width\": \"500px\",\r\n \"commands\": []\r\n });\r\n this.addFunction(\"$f_Stelleninserat\", $f_Stelleninserat, \"functions.$f_Stelleninserat\");\r\n this.addFunction(\"$f_StelleninseratLehreKundePackage\", $f_StelleninseratLehreKundePackage, \"functions.$f_StelleninseratLehreKundePackage\");\r\n this.widgetCreator.addValidationGroup(this, {\r\n \"id\": \"wd1\",\r\n \"options\": {\r\n \"optionsName\": \"wd1Options\",\r\n \"optionsNameFQ\": \"wd1Options\"\r\n }\r\n });\r\n this.widgetCreator.addLookup(this, {\r\n \"idSelect\": \"geschaeftspartner\",\r\n \"filters\": [],\r\n \"caption\": \"stelleninserat-lehre-kunde-package-edit.r_geschaeftspartner_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Stelleninserat\",\r\n \"bindTo\": \"Kopf.IdGeschaeftspartner\",\r\n \"bindToFQ\": \"models.data.$m_Stelleninserat.Kopf.IdGeschaeftspartner\",\r\n \"propertyPrefix\": \"Kopf\"\r\n },\r\n \"validationRules\": [{\r\n \"item\": {\r\n \"type\": \"required\",\r\n \"parameters\": []\r\n }\r\n }],\r\n \"id\": \"r_geschaeftspartner\",\r\n \"options\": {\r\n \"optionsName\": \"r_geschaeftspartnerOptions\",\r\n \"optionsNameFQ\": \"r_geschaeftspartnerOptions\"\r\n }\r\n });\r\n this.widgetCreator.addSelectBox(this, {\r\n \"idSelect\": \"stelleninseratBewerbungstyp\",\r\n \"filter\": [\r\n [\"IdGeschaeftspartner\", \"null\"], \"or\", [\"IdGeschaeftspartner\", {\r\n \"isBound\": true,\r\n \"expression\": \"models.data.$m_Stelleninserat.Kopf.IdGeschaeftspartner\"\r\n }]\r\n ],\r\n \"customs\": [{\r\n \"key\": \"IdGeschaeftspartner\",\r\n \"value\": \"models.data.$m_Stelleninserat.Kopf.IdGeschaeftspartner\"\r\n }, {\r\n \"key\": \"CheckBenutzerrolle\",\r\n \"value\": \"true\"\r\n }],\r\n \"filters\": [],\r\n \"caption\": \"stelleninserat-lehre-kunde-package-edit.r_bewerbungstyp_caption\",\r\n \"placeholder\": \"stelleninserat-lehre-kunde-package-edit.r_bewerbungstyp_placeholder\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Stelleninserat\",\r\n \"bindTo\": \"Kopf.IdBewerbungstyp\",\r\n \"bindToFQ\": \"models.data.$m_Stelleninserat.Kopf.IdBewerbungstyp\",\r\n \"propertyPrefix\": \"Kopf\"\r\n },\r\n \"validationRules\": [{\r\n \"item\": {\r\n \"type\": \"required\",\r\n \"parameters\": []\r\n }\r\n }],\r\n \"id\": \"r_bewerbungstyp\",\r\n \"options\": {\r\n \"optionsName\": \"r_bewerbungstypOptions\",\r\n \"optionsNameFQ\": \"r_bewerbungstypOptions\"\r\n }\r\n });\r\n this.widgetCreator.addTextBox(this, {\r\n \"maxLength\": 500,\r\n \"caption\": \"stelleninserat-lehre-kunde-package-edit.r_weiterleitungslink_caption\",\r\n \"isReadOnlyExpression\": \"!models.data.$m_Bewerbungstyp || !models.data.$m_Bewerbungstyp.WebsiteUmleitungLautWeiterleitungslink\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Stelleninserat\",\r\n \"bindTo\": \"Kopf.Weiterleitungslink\",\r\n \"bindToFQ\": \"models.data.$m_Stelleninserat.Kopf.Weiterleitungslink\",\r\n \"propertyPrefix\": \"Kopf\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_weiterleitungslink\",\r\n \"options\": {\r\n \"optionsName\": \"r_weiterleitungslinkOptions\",\r\n \"optionsNameFQ\": \"r_weiterleitungslinkOptions\"\r\n }\r\n });\r\n this.widgetCreator.addSelectBox(this, {\r\n \"idSelect\": \"lehrberuf\",\r\n \"filters\": [],\r\n \"caption\": \"stelleninserat-lehre-kunde-package-edit.r_lehrberuf_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Stelleninserat\",\r\n \"bindTo\": \"Kopf.IdLehrberuf\",\r\n \"bindToFQ\": \"models.data.$m_Stelleninserat.Kopf.IdLehrberuf\",\r\n \"propertyPrefix\": \"Kopf\"\r\n },\r\n \"validationRules\": [{\r\n \"item\": {\r\n \"type\": \"required\",\r\n \"parameters\": []\r\n }\r\n }],\r\n \"id\": \"r_lehrberuf\",\r\n \"options\": {\r\n \"optionsName\": \"r_lehrberufOptions\",\r\n \"optionsNameFQ\": \"r_lehrberufOptions\"\r\n }\r\n });\r\n this.widgetCreator.addTextBox(this, {\r\n \"maxLength\": 250,\r\n \"caption\": \"stelleninserat-lehre-kunde-package-edit.r_stellenbezeichnungextern_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Stelleninserat\",\r\n \"bindTo\": \"Kopf.StellenbezeichnungExtern\",\r\n \"bindToFQ\": \"models.data.$m_Stelleninserat.Kopf.StellenbezeichnungExtern\",\r\n \"propertyPrefix\": \"Kopf\"\r\n },\r\n \"validationRules\": [{\r\n \"item\": {\r\n \"type\": \"required\",\r\n \"parameters\": []\r\n }\r\n }],\r\n \"id\": \"r_stellenbezeichnungExtern\",\r\n \"options\": {\r\n \"optionsName\": \"r_stellenbezeichnungExternOptions\",\r\n \"optionsNameFQ\": \"r_stellenbezeichnungExternOptions\"\r\n }\r\n });\r\n this.widgetCreator.addTextBox(this, {\r\n \"maxLength\": 250,\r\n \"caption\": \"stelleninserat-lehre-kunde-package-edit.r_stellenbezeichnungintern_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Stelleninserat\",\r\n \"bindTo\": \"Kopf.StellenbezeichnungIntern\",\r\n \"bindToFQ\": \"models.data.$m_Stelleninserat.Kopf.StellenbezeichnungIntern\",\r\n \"propertyPrefix\": \"Kopf\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_stellenbezeichnungIntern\",\r\n \"options\": {\r\n \"optionsName\": \"r_stellenbezeichnungInternOptions\",\r\n \"optionsNameFQ\": \"r_stellenbezeichnungInternOptions\"\r\n }\r\n });\r\n this.widgetCreator.addLookup(this, {\r\n \"idSelect\": \"ansprechperson\",\r\n \"customs\": [{\r\n \"key\": \"IdGeschaeftspartner\",\r\n \"value\": \"models.data.$m_Stelleninserat.Kopf.IdGeschaeftspartner\"\r\n }],\r\n \"filters\": [],\r\n \"caption\": \"stelleninserat-lehre-kunde-package-edit.ansprechpersonselect_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Stelleninserat\",\r\n \"bindTo\": \"Kopf.IdAnsprechperson\",\r\n \"bindToFQ\": \"models.data.$m_Stelleninserat.Kopf.IdAnsprechperson\",\r\n \"propertyPrefix\": \"Kopf\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"ansprechpersonSelect\",\r\n \"options\": {\r\n \"optionsName\": \"ansprechpersonSelectOptions\",\r\n \"optionsNameFQ\": \"ansprechpersonSelectOptions\"\r\n }\r\n });\r\n this.widgetCreator.addCheckBox(this, {\r\n \"caption\": \"stelleninserat-lehre-kunde-package-edit.r_nuronlinebewerbungerwuenscht_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Stelleninserat\",\r\n \"bindTo\": \"Kopf.NurOnlineBewerbungErwuenscht\",\r\n \"bindToFQ\": \"models.data.$m_Stelleninserat.Kopf.NurOnlineBewerbungErwuenscht\",\r\n \"propertyPrefix\": \"Kopf\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_nurOnlineBewerbungErwuenscht\",\r\n \"options\": {\r\n \"optionsName\": \"r_nurOnlineBewerbungErwuenschtOptions\",\r\n \"optionsNameFQ\": \"r_nurOnlineBewerbungErwuenschtOptions\"\r\n }\r\n });\r\n this.widgetCreator.addTextBox(this, {\r\n \"maxLength\": 250,\r\n \"caption\": \"stelleninserat-lehre-kunde-package-edit.r_subheadline_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Stelleninserat\",\r\n \"bindTo\": \"Kopf.Subheadline\",\r\n \"bindToFQ\": \"models.data.$m_Stelleninserat.Kopf.Subheadline\",\r\n \"propertyPrefix\": \"Kopf\"\r\n },\r\n \"validationRules\": [{\r\n \"item\": {\r\n \"type\": \"required\",\r\n \"parameters\": []\r\n }\r\n }],\r\n \"id\": \"r_subheadline\",\r\n \"options\": {\r\n \"optionsName\": \"r_subheadlineOptions\",\r\n \"optionsNameFQ\": \"r_subheadlineOptions\"\r\n }\r\n });\r\n this.widgetCreator.addFileUploaderWithViewer(this, {\r\n \"acceptTypeEnum\": 0,\r\n \"acceptType\": \"image/*\",\r\n \"placeholderImageExpression\": \"models.data.$m_Stelleninserat.Kopf.DMSLinkStandardBild\",\r\n \"placeholderImageText\": \"Standardbild laut Lehrberuf\",\r\n \"height\": \"250px\",\r\n \"showToolbar\": true,\r\n \"showClearButton\": false,\r\n \"caption\": \"stelleninserat-lehre-kunde-package-edit.r_dmslinkbild_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Stelleninserat\",\r\n \"bindTo\": \"Kopf.DMSLinkBild\",\r\n \"bindToFQ\": \"models.data.$m_Stelleninserat.Kopf.DMSLinkBild\",\r\n \"propertyPrefix\": \"Kopf\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_dmslinkBild\",\r\n \"options\": {\r\n \"optionsName\": \"r_dmslinkBildOptions\",\r\n \"optionsNameFQ\": \"r_dmslinkBildOptions\"\r\n }\r\n });\r\n this.widgetCreator.addLookup(this, {\r\n \"idSelect\": \"geschaeftspartner\",\r\n \"filters\": [],\r\n \"caption\": \"stelleninserat-lehre-kunde-package-edit.r_geschaeftspartnernopackage_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Stelleninserat\",\r\n \"bindTo\": \"Kopf.IdGeschaeftspartner\",\r\n \"bindToFQ\": \"models.data.$m_Stelleninserat.Kopf.IdGeschaeftspartner\",\r\n \"propertyPrefix\": \"Kopf\"\r\n },\r\n \"validationRules\": [{\r\n \"binding\": {\r\n \"dataContext\": \"$m_Stelleninserat\",\r\n \"bindTo\": \"$f_Stelleninserat.keinPackageRule\",\r\n \"bindToFQ\": \"functions.$f_Stelleninserat.keinPackageRule\"\r\n }\r\n }, {\r\n \"item\": {\r\n \"type\": \"required\",\r\n \"parameters\": []\r\n }\r\n }],\r\n \"id\": \"r_geschaeftspartnerNoPackage\",\r\n \"options\": {\r\n \"optionsName\": \"r_geschaeftspartnerNoPackageOptions\",\r\n \"optionsNameFQ\": \"r_geschaeftspartnerNoPackageOptions\"\r\n }\r\n });\r\n this.widgetCreator.addTextBox(this, {\r\n \"maxLength\": 250,\r\n \"caption\": \"stelleninserat-lehre-kunde-package-edit.r_standort_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Stelleninserat\",\r\n \"bindTo\": \"Kopf.Standort\",\r\n \"bindToFQ\": \"models.data.$m_Stelleninserat.Kopf.Standort\",\r\n \"propertyPrefix\": \"Kopf\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_standort\",\r\n \"options\": {\r\n \"optionsName\": \"r_standortOptions\",\r\n \"optionsNameFQ\": \"r_standortOptions\"\r\n }\r\n });\r\n this.widgetCreator.addTextBox(this, {\r\n \"maxLength\": 500,\r\n \"caption\": \"stelleninserat-lehre-kunde-package-edit.r_googlekarteadresse_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Stelleninserat\",\r\n \"bindTo\": \"Kopf.GoogleKartenAdresse\",\r\n \"bindToFQ\": \"models.data.$m_Stelleninserat.Kopf.GoogleKartenAdresse\",\r\n \"propertyPrefix\": \"Kopf\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_googleKarteAdresse\",\r\n \"options\": {\r\n \"optionsName\": \"r_googleKarteAdresseOptions\",\r\n \"optionsNameFQ\": \"r_googleKarteAdresseOptions\"\r\n }\r\n });\r\n this.widgetCreator.addSelectBox(this, {\r\n \"idSelect\": \"schnupperterminanfrageart\",\r\n \"filters\": [{\r\n \"webApiCustomKey\": \"IdStelleninseratGeschaeftspartner\",\r\n \"webApiCustomValue\": \"models.data.$m_Stelleninserat.Kopf.IdGeschaeftspartner\"\r\n }, {\r\n \"webApiCustomKey\": \"IdStelleninseratGeschaeftspartner\",\r\n \"webApiCustomValue\": \"models.data.$m_Stelleninserat.Kopf.IdGeschaeftspartner\"\r\n }],\r\n \"caption\": \"stelleninserat-lehre-kunde-package-edit.r_schnupperterminanfrageart_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Stelleninserat\",\r\n \"bindTo\": \"Kopf.IdSchnupperterminAnfrageart\",\r\n \"bindToFQ\": \"models.data.$m_Stelleninserat.Kopf.IdSchnupperterminAnfrageart\",\r\n \"propertyPrefix\": \"Kopf\"\r\n },\r\n \"validationRules\": [{\r\n \"item\": {\r\n \"type\": \"required\",\r\n \"parameters\": []\r\n }\r\n }],\r\n \"id\": \"r_schnupperterminAnfrageart\",\r\n \"options\": {\r\n \"optionsName\": \"r_schnupperterminAnfrageartOptions\",\r\n \"optionsNameFQ\": \"r_schnupperterminAnfrageartOptions\"\r\n }\r\n });\r\n this.widgetCreator.addTextBox(this, {\r\n \"maxLength\": 250,\r\n \"caption\": \"stelleninserat-lehre-kunde-package-edit.r_arbeitskleidungschnuppern_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Stelleninserat\",\r\n \"bindTo\": \"Kopf.ArbeitskleidungSchnuppern\",\r\n \"bindToFQ\": \"models.data.$m_Stelleninserat.Kopf.ArbeitskleidungSchnuppern\",\r\n \"propertyPrefix\": \"Kopf\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_arbeitskleidungSchnuppern\",\r\n \"options\": {\r\n \"optionsName\": \"r_arbeitskleidungSchnuppernOptions\",\r\n \"optionsNameFQ\": \"r_arbeitskleidungSchnuppernOptions\"\r\n }\r\n });\r\n this.widgetCreator.addRadioGroup(this, {\r\n \"idSelect\": \"pflichtfeld\",\r\n \"filters\": [],\r\n \"caption\": \"stelleninserat-lehre-kunde-package-edit.r_lebenslaufanfragen_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Stelleninserat\",\r\n \"bindTo\": \"FerialbewerbungFragebogen.LebenslaufAnfragen\",\r\n \"bindToFQ\": \"models.data.$m_Stelleninserat.FerialbewerbungFragebogen.LebenslaufAnfragen\",\r\n \"propertyPrefix\": \"FerialbewerbungFragebogen\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_lebenslaufAnfragen\",\r\n \"options\": {\r\n \"optionsName\": \"r_lebenslaufAnfragenOptions\",\r\n \"optionsNameFQ\": \"r_lebenslaufAnfragenOptions\"\r\n }\r\n });\r\n this.widgetCreator.addRadioGroup(this, {\r\n \"idSelect\": \"pflichtfeld\",\r\n \"filters\": [],\r\n \"caption\": \"stelleninserat-lehre-kunde-package-edit.r_anschreibenanfragen_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Stelleninserat\",\r\n \"bindTo\": \"FerialbewerbungFragebogen.AnschreibenAnfragen\",\r\n \"bindToFQ\": \"models.data.$m_Stelleninserat.FerialbewerbungFragebogen.AnschreibenAnfragen\",\r\n \"propertyPrefix\": \"FerialbewerbungFragebogen\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_anschreibenAnfragen\",\r\n \"options\": {\r\n \"optionsName\": \"r_anschreibenAnfragenOptions\",\r\n \"optionsNameFQ\": \"r_anschreibenAnfragenOptions\"\r\n }\r\n });\r\n this.widgetCreator.addRadioGroup(this, {\r\n \"idSelect\": \"pflichtfeld\",\r\n \"filters\": [],\r\n \"caption\": \"stelleninserat-lehre-kunde-package-edit.r_zeugnisanfragen_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Stelleninserat\",\r\n \"bindTo\": \"FerialbewerbungFragebogen.LetztesZeugnisAnfragen\",\r\n \"bindToFQ\": \"models.data.$m_Stelleninserat.FerialbewerbungFragebogen.LetztesZeugnisAnfragen\",\r\n \"propertyPrefix\": \"FerialbewerbungFragebogen\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_zeugnisAnfragen\",\r\n \"options\": {\r\n \"optionsName\": \"r_zeugnisAnfragenOptions\",\r\n \"optionsNameFQ\": \"r_zeugnisAnfragenOptions\"\r\n }\r\n });\r\n this.widgetCreator.addRadioGroup(this, {\r\n \"idSelect\": \"pflichtfeld\",\r\n \"filters\": [],\r\n \"caption\": \"stelleninserat-lehre-kunde-package-edit.r_reisepassausweisanfragen_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Stelleninserat\",\r\n \"bindTo\": \"FerialbewerbungFragebogen.ReisepassAusweisAnfragen\",\r\n \"bindToFQ\": \"models.data.$m_Stelleninserat.FerialbewerbungFragebogen.ReisepassAusweisAnfragen\",\r\n \"propertyPrefix\": \"FerialbewerbungFragebogen\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_reisepassAusweisAnfragen\",\r\n \"options\": {\r\n \"optionsName\": \"r_reisepassAusweisAnfragenOptions\",\r\n \"optionsNameFQ\": \"r_reisepassAusweisAnfragenOptions\"\r\n }\r\n });\r\n this.widgetCreator.addRadioGroup(this, {\r\n \"idSelect\": \"pflichtfeld\",\r\n \"filters\": [],\r\n \"caption\": \"stelleninserat-lehre-kunde-package-edit.r_schnuppertermineanzeigen_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Stelleninserat\",\r\n \"bindTo\": \"Kopf.SchnuppertermineAnzeigen\",\r\n \"bindToFQ\": \"models.data.$m_Stelleninserat.Kopf.SchnuppertermineAnzeigen\",\r\n \"propertyPrefix\": \"Kopf\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_schnuppertermineAnzeigen\",\r\n \"options\": {\r\n \"optionsName\": \"r_schnuppertermineAnzeigenOptions\",\r\n \"optionsNameFQ\": \"r_schnuppertermineAnzeigenOptions\"\r\n }\r\n });\r\n this.widgetCreator.addCheckBox(this, {\r\n \"caption\": \"stelleninserat-lehre-kunde-package-edit.r_stelleninserataktiv_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Stelleninserat\",\r\n \"bindTo\": \"Kopf.IsAktiv\",\r\n \"bindToFQ\": \"models.data.$m_Stelleninserat.Kopf.IsAktiv\",\r\n \"propertyPrefix\": \"Kopf\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_stelleninseratAktiv\",\r\n \"options\": {\r\n \"optionsName\": \"r_stelleninseratAktivOptions\",\r\n \"optionsNameFQ\": \"r_stelleninseratAktivOptions\"\r\n }\r\n });\r\n this.widgetCreator.addCheckBox(this, {\r\n \"caption\": \"stelleninserat-lehre-kunde-package-edit.r_priorisieren_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Stelleninserat\",\r\n \"bindTo\": \"Kopf.Priorisieren\",\r\n \"bindToFQ\": \"models.data.$m_Stelleninserat.Kopf.Priorisieren\",\r\n \"propertyPrefix\": \"Kopf\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_priorisieren\",\r\n \"options\": {\r\n \"optionsName\": \"r_priorisierenOptions\",\r\n \"optionsNameFQ\": \"r_priorisierenOptions\"\r\n }\r\n });\r\n this.widgetCreator.addSelectBox(this, {\r\n \"idSelect\": \"veroeffentlichungTyp\",\r\n \"filters\": [],\r\n \"caption\": \"stelleninserat-lehre-kunde-package-edit.r_veroeffentlichentyp_caption\",\r\n \"isReadOnly\": true,\r\n \"binding\": {\r\n \"dataContext\": \"$m_Stelleninserat\",\r\n \"bindTo\": \"VeroeffentlichungTyp\",\r\n \"bindToFQ\": \"models.data.$m_Stelleninserat.VeroeffentlichungTyp\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_veroeffentlichenTyp\",\r\n \"options\": {\r\n \"optionsName\": \"r_veroeffentlichenTypOptions\",\r\n \"optionsNameFQ\": \"r_veroeffentlichenTypOptions\"\r\n }\r\n });\r\n this.widgetCreator.addDateBox(this, {\r\n \"format\": \"d\",\r\n \"caption\": \"stelleninserat-lehre-kunde-package-edit.r_gueltigvon_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Stelleninserat\",\r\n \"bindTo\": \"Kopf.GueltigVon\",\r\n \"bindToFQ\": \"models.data.$m_Stelleninserat.Kopf.GueltigVon\",\r\n \"propertyPrefix\": \"Kopf\"\r\n },\r\n \"validationRules\": [{\r\n \"item\": {\r\n \"type\": \"required\",\r\n \"parameters\": []\r\n }\r\n }],\r\n \"id\": \"r_gueltigVon\",\r\n \"options\": {\r\n \"optionsName\": \"r_gueltigVonOptions\",\r\n \"optionsNameFQ\": \"r_gueltigVonOptions\"\r\n }\r\n });\r\n this.widgetCreator.addDateBox(this, {\r\n \"format\": \"d\",\r\n \"caption\": \"stelleninserat-lehre-kunde-package-edit.r_gueltigbis_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Stelleninserat\",\r\n \"bindTo\": \"Kopf.GueltigBis\",\r\n \"bindToFQ\": \"models.data.$m_Stelleninserat.Kopf.GueltigBis\",\r\n \"propertyPrefix\": \"Kopf\"\r\n },\r\n \"validationRules\": [{\r\n \"item\": {\r\n \"type\": \"required\",\r\n \"parameters\": []\r\n }\r\n }],\r\n \"id\": \"r_gueltigBis\",\r\n \"options\": {\r\n \"optionsName\": \"r_gueltigBisOptions\",\r\n \"optionsNameFQ\": \"r_gueltigBisOptions\"\r\n }\r\n });\r\n this.widgetCreator.addDateBox(this, {\r\n \"format\": \"d\",\r\n \"caption\": \"stelleninserat-lehre-kunde-package-edit.r_bewerbungvon_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Stelleninserat\",\r\n \"bindTo\": \"FerialeinsatzEinstellungen.BewerbungOnlineVon\",\r\n \"bindToFQ\": \"models.data.$m_Stelleninserat.FerialeinsatzEinstellungen.BewerbungOnlineVon\",\r\n \"propertyPrefix\": \"FerialeinsatzEinstellungen\"\r\n },\r\n \"validationRules\": [{\r\n \"binding\": {\r\n \"dataContext\": \"$m_Stelleninserat\",\r\n \"bindTo\": \"$f_Stelleninserat.bewerbungVonValidationRule\",\r\n \"bindToFQ\": \"functions.$f_Stelleninserat.bewerbungVonValidationRule\"\r\n }\r\n }],\r\n \"id\": \"r_bewerbungVon\",\r\n \"options\": {\r\n \"optionsName\": \"r_bewerbungVonOptions\",\r\n \"optionsNameFQ\": \"r_bewerbungVonOptions\"\r\n }\r\n });\r\n this.widgetCreator.addDateBox(this, {\r\n \"format\": \"d\",\r\n \"caption\": \"stelleninserat-lehre-kunde-package-edit.r_bewerbungbis_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Stelleninserat\",\r\n \"bindTo\": \"FerialeinsatzEinstellungen.BewerbungOnlineBis\",\r\n \"bindToFQ\": \"models.data.$m_Stelleninserat.FerialeinsatzEinstellungen.BewerbungOnlineBis\",\r\n \"propertyPrefix\": \"FerialeinsatzEinstellungen\"\r\n },\r\n \"validationRules\": [{\r\n \"binding\": {\r\n \"dataContext\": \"$m_Stelleninserat\",\r\n \"bindTo\": \"$f_Stelleninserat.bewerbungBisValidationRule\",\r\n \"bindToFQ\": \"functions.$f_Stelleninserat.bewerbungBisValidationRule\"\r\n }\r\n }],\r\n \"id\": \"r_bewerbungBis\",\r\n \"options\": {\r\n \"optionsName\": \"r_bewerbungBisOptions\",\r\n \"optionsNameFQ\": \"r_bewerbungBisOptions\"\r\n }\r\n });\r\n this.widgetCreator.addTextBox(this, {\r\n \"maxLength\": 250,\r\n \"caption\": \"stelleninserat-lehre-kunde-package-edit.r_bezeichnungiframe_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Stelleninserat\",\r\n \"bindTo\": \"Kopf.BezeichnungIFrame\",\r\n \"bindToFQ\": \"models.data.$m_Stelleninserat.Kopf.BezeichnungIFrame\",\r\n \"propertyPrefix\": \"Kopf\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_bezeichnungIframe\",\r\n \"options\": {\r\n \"optionsName\": \"r_bezeichnungIframeOptions\",\r\n \"optionsNameFQ\": \"r_bezeichnungIframeOptions\"\r\n }\r\n });\r\n this.widgetCreator.addTagBox(this, {\r\n \"caption\": \"stelleninserat-lehre-kunde-package-edit.r_schnupperberufegeschaeftspartner_caption\",\r\n \"dataContext\": \"$m_Stelleninserat\",\r\n \"batchSelectionEnabled\": true,\r\n \"relationBinding\": {\r\n \"dataContext\": \"$m_Stelleninserat\",\r\n \"bindTo\": \"Kopf.Schnupperberufe\",\r\n \"bindToFQ\": \"models.data.$m_Stelleninserat.Kopf.Schnupperberufe\",\r\n \"propertyPrefix\": \"Kopf\"\r\n },\r\n \"relationProperty\": \"IdSchnupperberufGeschaeftspartner\",\r\n \"itemDataContext\": \"$m_SchnupperberufeGeschaeftspartner\",\r\n \"itemValueExpr\": \"Id\",\r\n \"itemDisplayExpr\": \"Bezeichnung\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Stelleninserat\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_schnupperberufeGeschaeftspartner\",\r\n \"options\": {\r\n \"optionsName\": \"r_schnupperberufeGeschaeftspartnerOptions\",\r\n \"optionsNameFQ\": \"r_schnupperberufeGeschaeftspartnerOptions\"\r\n }\r\n });\r\n this.widgetCreator.addTextArea(this, {\r\n \"height\": \"250px\",\r\n \"caption\": \"stelleninserat-lehre-kunde-package-edit.r_standardinseratzusatzinfo_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Stelleninserat\",\r\n \"bindTo\": \"Kopf.StandardInseratZusatzInfo\",\r\n \"bindToFQ\": \"models.data.$m_Stelleninserat.Kopf.StandardInseratZusatzInfo\",\r\n \"propertyPrefix\": \"Kopf\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_standardInseratZusatzInfo\",\r\n \"options\": {\r\n \"optionsName\": \"r_standardInseratZusatzInfoOptions\",\r\n \"optionsNameFQ\": \"r_standardInseratZusatzInfoOptions\"\r\n }\r\n });\r\n this.widgetCreator.addCheckBox(this, {\r\n \"caption\": \"stelleninserat-lehre-kunde-package-edit.r_nichtinschnupperterminmaskeanzeigen_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Stelleninserat\",\r\n \"bindTo\": \"Kopf.NichtInSchnupperterminMaskeAnzeigen\",\r\n \"bindToFQ\": \"models.data.$m_Stelleninserat.Kopf.NichtInSchnupperterminMaskeAnzeigen\",\r\n \"propertyPrefix\": \"Kopf\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_nichtInSchnupperterminMaskeAnzeigen\",\r\n \"options\": {\r\n \"optionsName\": \"r_nichtInSchnupperterminMaskeAnzeigenOptions\",\r\n \"optionsNameFQ\": \"r_nichtInSchnupperterminMaskeAnzeigenOptions\"\r\n }\r\n });\r\n this.widgetCreator.addDataGrid(this, {\r\n \"columns\": [{\r\n \"id\": \"r_channelBezeichnung\",\r\n \"caption\": \"stelleninserat-lehre-kunde-package-edit.r_channelbezeichnung_caption\",\r\n \"bindTo\": \"Channel.Bezeichnung\",\r\n \"minWidth\": 100\r\n }, {\r\n \"id\": \"r_channelVeroeffentlichungtyp\",\r\n \"caption\": \"stelleninserat-lehre-kunde-package-edit.r_channelveroeffentlichungtyp_caption\",\r\n \"bindTo\": \"VeroeffentlichungTyp\",\r\n \"minWidth\": 100,\r\n \"enumTypeName\": \"TIP.ZIT.Business.Enumerations.VeroeffentlichungTypEnum\"\r\n }, {\r\n \"id\": \"r_channelBewerbungstyp\",\r\n \"caption\": \"stelleninserat-lehre-kunde-package-edit.r_channelbewerbungstyp_caption\",\r\n \"bindTo\": \"StelleninseratBewerbungstyp.Bezeichnung\",\r\n \"minWidth\": 100\r\n }],\r\n \"createToolbar\": true,\r\n \"optionsToolbar\": {\r\n \"optionsName\": \"r_StelleninseratKopfElementChannelGridToolbarOptions\",\r\n \"optionsNameFQ\": \"r_StelleninseratKopfElementChannelGridToolbarOptions\"\r\n },\r\n \"caption\": \"stelleninserat-lehre-kunde-package-edit.r_stelleninseratkopfelementchannelgrid_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_StelleninseratKopfElement\"\r\n },\r\n \"isRelation\": true,\r\n \"relationBinding\": {\r\n \"dataContext\": \"$m_StelleninseratKopfElementChannelRel\",\r\n \"bindTo\": \"IdStelleninseratKopfElement\",\r\n \"bindToFQ\": \"models.data.$m_StelleninseratKopfElementChannelRel.IdStelleninseratKopfElement\"\r\n },\r\n \"dataModel\": \"$m_StelleninseratKopfElement\",\r\n \"editDataContext\": \"$m_StelleninseratKopfElementChannelEdit\",\r\n \"idEditPopup\": \"stelleninseratKopfElementChannelEditPopup\",\r\n \"listEdits\": [],\r\n \"filters\": [],\r\n \"commands\": [],\r\n \"id\": \"r_StelleninseratKopfElementChannelGrid\",\r\n \"options\": {\r\n \"optionsName\": \"r_StelleninseratKopfElementChannelGridOptions\",\r\n \"optionsNameFQ\": \"r_StelleninseratKopfElementChannelGridOptions\"\r\n }\r\n });\r\n this.widgetCreator.addRadioGroup(this, {\r\n \"idSelect\": \"pflichtfeld\",\r\n \"filters\": [],\r\n \"caption\": \"stelleninserat-lehre-kunde-package-edit.r_bisherigeberufserfahrung_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Stelleninserat\",\r\n \"bindTo\": \"FerialbewerbungFragebogen.BisherigeBerufserfahrungAnfragen\",\r\n \"bindToFQ\": \"models.data.$m_Stelleninserat.FerialbewerbungFragebogen.BisherigeBerufserfahrungAnfragen\",\r\n \"propertyPrefix\": \"FerialbewerbungFragebogen\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_bisherigeBerufserfahrung\",\r\n \"options\": {\r\n \"optionsName\": \"r_bisherigeBerufserfahrungOptions\",\r\n \"optionsNameFQ\": \"r_bisherigeBerufserfahrungOptions\"\r\n }\r\n });\r\n this.widgetCreator.addRadioGroup(this, {\r\n \"idSelect\": \"pflichtfeld\",\r\n \"filters\": [],\r\n \"caption\": \"stelleninserat-lehre-kunde-package-edit.r_fuehrerscheinundmobilitaet_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Stelleninserat\",\r\n \"bindTo\": \"FerialbewerbungFragebogen.FuehrerscheinUndMobilitaetAnfragen\",\r\n \"bindToFQ\": \"models.data.$m_Stelleninserat.FerialbewerbungFragebogen.FuehrerscheinUndMobilitaetAnfragen\",\r\n \"propertyPrefix\": \"FerialbewerbungFragebogen\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_fuehrerscheinUndMobilitaet\",\r\n \"options\": {\r\n \"optionsName\": \"r_fuehrerscheinUndMobilitaetOptions\",\r\n \"optionsNameFQ\": \"r_fuehrerscheinUndMobilitaetOptions\"\r\n }\r\n });\r\n this.widgetCreator.addRadioGroup(this, {\r\n \"idSelect\": \"pflichtfeld\",\r\n \"filters\": [],\r\n \"caption\": \"stelleninserat-lehre-kunde-package-edit.r_sprachkenntnisse_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Stelleninserat\",\r\n \"bindTo\": \"FerialbewerbungFragebogen.SprachKenntnisseAnfragen\",\r\n \"bindToFQ\": \"models.data.$m_Stelleninserat.FerialbewerbungFragebogen.SprachKenntnisseAnfragen\",\r\n \"propertyPrefix\": \"FerialbewerbungFragebogen\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_sprachKenntnisse\",\r\n \"options\": {\r\n \"optionsName\": \"r_sprachKenntnisseOptions\",\r\n \"optionsNameFQ\": \"r_sprachKenntnisseOptions\"\r\n }\r\n });\r\n this.widgetCreator.addRadioGroup(this, {\r\n \"idSelect\": \"pflichtfeld\",\r\n \"filters\": [],\r\n \"caption\": \"stelleninserat-lehre-kunde-package-edit.r_auswahlschule_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Stelleninserat\",\r\n \"bindTo\": \"FerialbewerbungFragebogen.AuswahlSchule\",\r\n \"bindToFQ\": \"models.data.$m_Stelleninserat.FerialbewerbungFragebogen.AuswahlSchule\",\r\n \"propertyPrefix\": \"FerialbewerbungFragebogen\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_auswahlSchule\",\r\n \"options\": {\r\n \"optionsName\": \"r_auswahlSchuleOptions\",\r\n \"optionsNameFQ\": \"r_auswahlSchuleOptions\"\r\n }\r\n });\r\n this.widgetCreator.addRadioGroup(this, {\r\n \"idSelect\": \"pflichtfeld\",\r\n \"filters\": [],\r\n \"caption\": \"stelleninserat-lehre-kunde-package-edit.r_staplerfuehrerschein_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Stelleninserat\",\r\n \"bindTo\": \"FerialbewerbungFragebogen.StaplerFuehrerscheinAnfragen\",\r\n \"bindToFQ\": \"models.data.$m_Stelleninserat.FerialbewerbungFragebogen.StaplerFuehrerscheinAnfragen\",\r\n \"propertyPrefix\": \"FerialbewerbungFragebogen\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_staplerfuehrerschein\",\r\n \"options\": {\r\n \"optionsName\": \"r_staplerfuehrerscheinOptions\",\r\n \"optionsNameFQ\": \"r_staplerfuehrerscheinOptions\"\r\n }\r\n });\r\n this.widgetCreator.addRadioGroup(this, {\r\n \"idSelect\": \"pflichtfeld\",\r\n \"filters\": [],\r\n \"caption\": \"stelleninserat-lehre-kunde-package-edit.r_angabewunschtermin_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Stelleninserat\",\r\n \"bindTo\": \"FerialbewerbungFragebogen.AngabeWunschtermin\",\r\n \"bindToFQ\": \"models.data.$m_Stelleninserat.FerialbewerbungFragebogen.AngabeWunschtermin\",\r\n \"propertyPrefix\": \"FerialbewerbungFragebogen\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_angabeWunschtermin\",\r\n \"options\": {\r\n \"optionsName\": \"r_angabeWunschterminOptions\",\r\n \"optionsNameFQ\": \"r_angabeWunschterminOptions\"\r\n }\r\n });\r\n this.widgetCreator.addRadioGroup(this, {\r\n \"idSelect\": \"pflichtfeld\",\r\n \"filters\": [],\r\n \"caption\": \"stelleninserat-lehre-kunde-package-edit.r_schnupperberufgeschaeftspartner1_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Stelleninserat\",\r\n \"bindTo\": \"FerialbewerbungFragebogen.SchnupperberufGeschaeftspartner1\",\r\n \"bindToFQ\": \"models.data.$m_Stelleninserat.FerialbewerbungFragebogen.SchnupperberufGeschaeftspartner1\",\r\n \"propertyPrefix\": \"FerialbewerbungFragebogen\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_schnupperberufGeschaeftspartner1\",\r\n \"options\": {\r\n \"optionsName\": \"r_schnupperberufGeschaeftspartner1Options\",\r\n \"optionsNameFQ\": \"r_schnupperberufGeschaeftspartner1Options\"\r\n }\r\n });\r\n this.widgetCreator.addRadioGroup(this, {\r\n \"idSelect\": \"pflichtfeld\",\r\n \"filters\": [],\r\n \"caption\": \"stelleninserat-lehre-kunde-package-edit.r_schnupperberufgeschaeftspartner2_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Stelleninserat\",\r\n \"bindTo\": \"FerialbewerbungFragebogen.SchnupperberufGeschaeftspartner2\",\r\n \"bindToFQ\": \"models.data.$m_Stelleninserat.FerialbewerbungFragebogen.SchnupperberufGeschaeftspartner2\",\r\n \"propertyPrefix\": \"FerialbewerbungFragebogen\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_schnupperberufGeschaeftspartner2\",\r\n \"options\": {\r\n \"optionsName\": \"r_schnupperberufGeschaeftspartner2Options\",\r\n \"optionsNameFQ\": \"r_schnupperberufGeschaeftspartner2Options\"\r\n }\r\n });\r\n this.widgetCreator.addListView(this, {\r\n \"itemClass\": \"z--list-view-inline-item\",\r\n \"useDefaultListItemStyle\": false,\r\n \"createToolbar\": true,\r\n \"optionsToolbar\": {\r\n \"optionsName\": \"r_stelleninseratKlasseListViewToolbarOptions\",\r\n \"optionsNameFQ\": \"r_stelleninseratKlasseListViewToolbarOptions\"\r\n },\r\n \"caption\": \"stelleninserat-lehre-kunde-package-edit.r_stelleninseratklasselistview_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_StelleninseratKopfElement\"\r\n },\r\n \"isRelation\": true,\r\n \"relationBinding\": {\r\n \"dataContext\": \"$m_StelleninseratKlasseRel\",\r\n \"bindTo\": \"IdStelleninseratKopfElement\",\r\n \"bindToFQ\": \"models.data.$m_StelleninseratKlasseRel.IdStelleninseratKopfElement\"\r\n },\r\n \"dataModel\": \"$m_StelleninseratKopfElement\",\r\n \"editDataContext\": \"$m_StelleninseratKlasseEdit\",\r\n \"idEditPopup\": \"stelleninseratLehreKlasseEditPopup\",\r\n \"listEdits\": [],\r\n \"filters\": [],\r\n \"commands\": [],\r\n \"id\": \"r_stelleninseratKlasseListView\",\r\n \"options\": {\r\n \"optionsName\": \"r_stelleninseratKlasseListViewOptions\",\r\n \"optionsNameFQ\": \"r_stelleninseratKlasseListViewOptions\"\r\n }\r\n });\r\n this.widgetCreator.addListView(this, {\r\n \"itemClass\": \"col-xs-12 col-sm-6\",\r\n \"useDefaultListItemStyle\": false,\r\n \"createToolbar\": true,\r\n \"optionsToolbar\": {\r\n \"optionsName\": \"r_bewerbungenListViewToolbarOptions\",\r\n \"optionsNameFQ\": \"r_bewerbungenListViewToolbarOptions\"\r\n },\r\n \"caption\": \"stelleninserat-lehre-kunde-package-edit.r_bewerbungenlistview_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Bewerbung\"\r\n },\r\n \"dataModel\": \"$m_Bewerbung\",\r\n \"pageSize\": 4,\r\n \"listEdits\": [],\r\n \"filters\": [],\r\n \"commands\": [],\r\n \"id\": \"r_bewerbungenListView\",\r\n \"options\": {\r\n \"optionsName\": \"r_bewerbungenListViewOptions\",\r\n \"optionsNameFQ\": \"r_bewerbungenListViewOptions\"\r\n }\r\n });\r\n super.onConstructionFinished();\r\n }\r\n}","module.exports = \"\";","import * as fwx from \"../../../../framework/forms/form-export\";\r\nimport {\r\n StelleninseratReadUtils\r\n} from \"./stelleninserat-read-utils\";\r\n\r\n@fwx.autoinject\r\nexport class StelleninseratLehrePersonReadForm extends fwx.FormBase {\r\n constructor(\r\n element: Element,\r\n formBaseImport: fwx.FormBaseImport,\r\n private $f_StelleninseratReadUtils: StelleninseratReadUtils) {\r\n super(element, formBaseImport);\r\n this.id = \"stelleninserat-lehre-person-read\";\r\n this.title = \"stelleninserat-lehre-person-read.stelleninserat-lehre-person-read_caption\";\r\n this.addModel({\r\n \"id\": \"$m_Stelleninserat\",\r\n \"webApiAction\": \"ZIT/Objekte/Stelleninserat\",\r\n \"webApiExpand\": {\r\n 'Kopf': {\r\n 'expand': {\r\n 'TextKopfzeile1': null,\r\n 'TextFusszeile1': null,\r\n 'Ansprechperson': {\r\n 'expand': {\r\n 'Personendaten': null\r\n }\r\n },\r\n 'Geschaeftspartner': {\r\n 'expand': {\r\n 'Geschaeftspartnerdaten': null\r\n }\r\n }\r\n }\r\n }\r\n },\r\n \"modificationInfoEnabled\": true,\r\n \"key\": \"variables.data.$id\",\r\n \"keyProperty\": \"Id\",\r\n \"filters\": []\r\n });\r\n this.addModel({\r\n \"id\": \"$m_StelleninseratGruppeElement\",\r\n \"webApiAction\": \"ZIT/Objekte/StelleninseratGruppeElement\",\r\n \"webApiExpand\": {},\r\n \"key\": \"models.data.$m_Stelleninserat.IdStelleninseratGruppeElement\",\r\n \"keyProperty\": \"Id\",\r\n \"filters\": []\r\n });\r\n this.addModel({\r\n \"id\": \"$m_StelleninseratGruppe\",\r\n \"webApiAction\": \"ZIT/Objekte/StelleninseratGruppe\",\r\n \"webApiColumns\": [\"Id\", \"SortNr\", \"Text\", \"IdStelleninseratGruppentyp\"],\r\n \"webApiExpand\": {\r\n 'Gruppentyp': null\r\n },\r\n \"webApiOrderBy\": [{\r\n \"columnName\": \"GruppentypSortNr\",\r\n \"sortOrder\": 0\r\n }, {\r\n \"columnName\": \"GruppentypBezeichnung\",\r\n \"sortOrder\": 0\r\n }, {\r\n \"columnName\": \"SortNr\",\r\n \"sortOrder\": 0\r\n }, {\r\n \"columnName\": \"Text\",\r\n \"sortOrder\": 0\r\n }],\r\n \"keyProperty\": \"Id\",\r\n \"filters\": []\r\n });\r\n this.addModel({\r\n \"id\": \"$m_Geschaeftspartner\",\r\n \"webApiAction\": \"ZIT/Objekte/Geschaeftspartner\",\r\n \"modificationInfoEnabled\": true,\r\n \"key\": \"models.data.$m_Stelleninserat.Kopf.IdGeschaeftspartner\",\r\n \"keyProperty\": \"Id\",\r\n \"filters\": [{\r\n \"webApiCustomKey\": \"standardAddress\",\r\n \"webApiCustomValue\": \"true\"\r\n }]\r\n });\r\n this.addCommand({\r\n \"binding\": {\r\n \"bindTo\": \"$f_StelleninseratReadUtils.actionCommand\",\r\n \"bindToFQ\": \"functions.$f_StelleninseratReadUtils.actionCommand\"\r\n }\r\n });\r\n this.addFunction(\"$f_StelleninseratReadUtils\", $f_StelleninseratReadUtils, \"functions.$f_StelleninseratReadUtils\");\r\n this.widgetCreator.addValidationGroup(this, {\r\n \"id\": \"wd1\",\r\n \"options\": {\r\n \"optionsName\": \"wd1Options\",\r\n \"optionsNameFQ\": \"wd1Options\"\r\n }\r\n });\r\n this.widgetCreator.addListView(this, {\r\n \"itemClass\": \"z--list-view-inline-item\",\r\n \"useDefaultListItemStyle\": false,\r\n \"groupProperty\": \"Gruppentyp.Bezeichnung\",\r\n \"optionsToolbar\": {\r\n \"optionsName\": \"r_stelleninseratCustomKopftextToolbarOptions\",\r\n \"optionsNameFQ\": \"r_stelleninseratCustomKopftextToolbarOptions\"\r\n },\r\n \"binding\": {\r\n \"dataContext\": \"$m_StelleninseratGruppeElement\"\r\n },\r\n \"isRelation\": true,\r\n \"relationBinding\": {\r\n \"dataContext\": \"$m_StelleninseratGruppe\",\r\n \"bindTo\": \"IdStelleninseratGruppeElement\",\r\n \"bindToFQ\": \"models.data.$m_StelleninseratGruppe.IdStelleninseratGruppeElement\"\r\n },\r\n \"dataModel\": \"$m_StelleninseratGruppeElement\",\r\n \"listEdits\": [],\r\n \"filters\": [],\r\n \"commands\": [],\r\n \"id\": \"r_stelleninseratCustomKopftext\",\r\n \"options\": {\r\n \"optionsName\": \"r_stelleninseratCustomKopftextOptions\",\r\n \"optionsNameFQ\": \"r_stelleninseratCustomKopftextOptions\"\r\n }\r\n });\r\n super.onConstructionFinished();\r\n }\r\n}","module.exports = \"\";","import * as fwx from \"../../../../framework/forms/form-export\";\r\nimport {\r\n StelleninseratEditUtils\r\n} from \"./stelleninserat-edit-utils\";\r\nimport {\r\n StelleninseratLehreKundePackageEditUtils\r\n} from \"./stelleninserat-lehre-kunde-package-edit-utils\";\r\n\r\n@fwx.autoinject\r\nexport class StelleninseratLehreStandardinseratEditForm extends fwx.FormBase {\r\n constructor(\r\n element: Element,\r\n formBaseImport: fwx.FormBaseImport,\r\n private $f_Stelleninserat: StelleninseratEditUtils,\r\n private $f_StelleninseratLehreKundePackageEditUtils: StelleninseratLehreKundePackageEditUtils) {\r\n super(element, formBaseImport);\r\n this.id = \"stelleninserat-lehre-standardinserat-edit\";\r\n this.title = \"stelleninserat-lehre-standardinserat-edit.stelleninserat-lehre-standardinserat-edit_caption\";\r\n this.addModel({\r\n \"id\": \"$m_Stelleninserat\",\r\n \"webApiAction\": \"ZIT/Objekte/Stelleninserat\",\r\n \"webApiExpand\": {\r\n 'Kopf': {\r\n 'expand': {\r\n 'TextKopfzeile1': null,\r\n 'TextFusszeile1': null,\r\n 'Bewerbungstyp': null,\r\n 'Geschaeftspartner': {\r\n 'expand': {\r\n 'Geschaeftspartnerdaten': null\r\n }\r\n }\r\n }\r\n },\r\n 'FerialeinsatzEinstellungen': null,\r\n 'FerialbewerbungFragebogen': null\r\n },\r\n \"modificationInfoEnabled\": true,\r\n \"key\": \"variables.data.$id\",\r\n \"keyProperty\": \"Id\",\r\n \"postOnSave\": true,\r\n \"filters\": [{\r\n \"webApiCustomKey\": \"BewerbungInfo\",\r\n \"webApiCustomValue\": \"true\"\r\n }, {\r\n \"webApiCustomKey\": \"ProfilFirmaInfo\",\r\n \"webApiCustomValue\": \"true\"\r\n }, {\r\n \"webApiCustomKey\": \"StelleninseratVorschauUrl\",\r\n \"webApiCustomValue\": \"true\"\r\n }]\r\n });\r\n this.addModel({\r\n \"id\": \"$m_Bewerbungstyp\",\r\n \"webApiAction\": \"ZIT/Stammdaten/StelleninseratBewerbungstyp\",\r\n \"key\": \"models.data.$m_Stelleninserat.Kopf.IdBewerbungstyp\",\r\n \"keyProperty\": \"Id\",\r\n \"filters\": []\r\n });\r\n this.addCommand({\r\n \"binding\": {\r\n \"bindTo\": \"$f_Stelleninserat.actionCommand\",\r\n \"bindToFQ\": \"functions.$f_Stelleninserat.actionCommand\"\r\n }\r\n });\r\n this.addFunction(\"$f_Stelleninserat\", $f_Stelleninserat, \"functions.$f_Stelleninserat\");\r\n this.addFunction(\"$f_StelleninseratLehreKundePackageEditUtils\", $f_StelleninseratLehreKundePackageEditUtils, \"functions.$f_StelleninseratLehreKundePackageEditUtils\");\r\n this.widgetCreator.addValidationGroup(this, {\r\n \"id\": \"wd1\",\r\n \"options\": {\r\n \"optionsName\": \"wd1Options\",\r\n \"optionsNameFQ\": \"wd1Options\"\r\n }\r\n });\r\n this.widgetCreator.addSelectBox(this, {\r\n \"idSelect\": \"stelleninseratBewerbungstyp\",\r\n \"filter\": [\r\n [\"IdGeschaeftspartner\", \"null\"], \"or\", [\"IdGeschaeftspartner\", {\r\n \"isBound\": true,\r\n \"expression\": \"models.data.$m_Stelleninserat.Kopf.IdGeschaeftspartner\"\r\n }]\r\n ],\r\n \"customs\": [{\r\n \"key\": \"IdGeschaeftspartner\",\r\n \"value\": \"models.data.$m_Stelleninserat.Kopf.IdGeschaeftspartner\"\r\n }, {\r\n \"key\": \"CheckBenutzerrolle\",\r\n \"value\": \"true\"\r\n }],\r\n \"filters\": [],\r\n \"caption\": \"stelleninserat-lehre-standardinserat-edit.r_bewerbungstyp_caption\",\r\n \"placeholder\": \"stelleninserat-lehre-standardinserat-edit.r_bewerbungstyp_placeholder\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Stelleninserat\",\r\n \"bindTo\": \"Kopf.IdBewerbungstyp\",\r\n \"bindToFQ\": \"models.data.$m_Stelleninserat.Kopf.IdBewerbungstyp\",\r\n \"propertyPrefix\": \"Kopf\"\r\n },\r\n \"validationRules\": [{\r\n \"item\": {\r\n \"type\": \"required\",\r\n \"parameters\": []\r\n }\r\n }],\r\n \"id\": \"r_bewerbungstyp\",\r\n \"options\": {\r\n \"optionsName\": \"r_bewerbungstypOptions\",\r\n \"optionsNameFQ\": \"r_bewerbungstypOptions\"\r\n }\r\n });\r\n this.widgetCreator.addSelectBox(this, {\r\n \"idSelect\": \"lehrberuf\",\r\n \"filters\": [],\r\n \"caption\": \"stelleninserat-lehre-standardinserat-edit.r_lehrberuf_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Stelleninserat\",\r\n \"bindTo\": \"Kopf.IdLehrberuf\",\r\n \"bindToFQ\": \"models.data.$m_Stelleninserat.Kopf.IdLehrberuf\",\r\n \"propertyPrefix\": \"Kopf\"\r\n },\r\n \"validationRules\": [{\r\n \"item\": {\r\n \"type\": \"required\",\r\n \"parameters\": []\r\n }\r\n }],\r\n \"id\": \"r_lehrberuf\",\r\n \"options\": {\r\n \"optionsName\": \"r_lehrberufOptions\",\r\n \"optionsNameFQ\": \"r_lehrberufOptions\"\r\n }\r\n });\r\n this.widgetCreator.addTextBox(this, {\r\n \"maxLength\": 250,\r\n \"caption\": \"stelleninserat-lehre-standardinserat-edit.r_firmenbezeichnung_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Stelleninserat\",\r\n \"bindTo\": \"Kopf.Subheadline\",\r\n \"bindToFQ\": \"models.data.$m_Stelleninserat.Kopf.Subheadline\",\r\n \"propertyPrefix\": \"Kopf\"\r\n },\r\n \"validationRules\": [{\r\n \"item\": {\r\n \"type\": \"required\",\r\n \"parameters\": []\r\n }\r\n }],\r\n \"id\": \"r_firmenbezeichnung\",\r\n \"options\": {\r\n \"optionsName\": \"r_firmenbezeichnungOptions\",\r\n \"optionsNameFQ\": \"r_firmenbezeichnungOptions\"\r\n }\r\n });\r\n this.widgetCreator.addLookup(this, {\r\n \"idSelect\": \"ansprechperson\",\r\n \"customs\": [{\r\n \"key\": \"IdGeschaeftspartner\",\r\n \"value\": \"models.data.$m_Stelleninserat.Kopf.IdGeschaeftspartner\"\r\n }],\r\n \"filters\": [],\r\n \"caption\": \"stelleninserat-lehre-standardinserat-edit.ansprechpersonselect_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Stelleninserat\",\r\n \"bindTo\": \"Kopf.IdAnsprechperson\",\r\n \"bindToFQ\": \"models.data.$m_Stelleninserat.Kopf.IdAnsprechperson\",\r\n \"propertyPrefix\": \"Kopf\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"ansprechpersonSelect\",\r\n \"options\": {\r\n \"optionsName\": \"ansprechpersonSelectOptions\",\r\n \"optionsNameFQ\": \"ansprechpersonSelectOptions\"\r\n }\r\n });\r\n this.widgetCreator.addCheckBox(this, {\r\n \"caption\": \"stelleninserat-lehre-standardinserat-edit.r_nuronlinebewerbungerwuenscht_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Stelleninserat\",\r\n \"bindTo\": \"Kopf.NurOnlineBewerbungErwuenscht\",\r\n \"bindToFQ\": \"models.data.$m_Stelleninserat.Kopf.NurOnlineBewerbungErwuenscht\",\r\n \"propertyPrefix\": \"Kopf\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_nurOnlineBewerbungErwuenscht\",\r\n \"options\": {\r\n \"optionsName\": \"r_nurOnlineBewerbungErwuenschtOptions\",\r\n \"optionsNameFQ\": \"r_nurOnlineBewerbungErwuenschtOptions\"\r\n }\r\n });\r\n super.onConstructionFinished();\r\n }\r\n}","module.exports = \"\";","import * as fwx from \"../../../../framework/forms/form-export\";\r\n\r\n@fwx.autoinject\r\nexport class StelleninseratListForm extends fwx.FormBase {\r\n constructor(\r\n element: Element,\r\n formBaseImport: fwx.FormBaseImport) {\r\n super(element, formBaseImport);\r\n this.id = \"stelleninserat-list\";\r\n this.title = \"stelleninserat-list.stelleninserat-list_caption\";\r\n this.addModel({\r\n \"id\": \"$m_Stelleninserat\",\r\n \"webApiAction\": \"ZIT/Objekte/Stelleninserat\",\r\n \"webApiExpand\": {\r\n 'Kopf': {\r\n 'expand': {\r\n 'Geschaeftspartner': null\r\n }\r\n }\r\n },\r\n \"modificationInfoEnabled\": true,\r\n \"keyProperty\": \"Id\",\r\n \"filters\": []\r\n });\r\n this.widgetCreator.addValidationGroup(this, {\r\n \"id\": \"wd1\",\r\n \"options\": {\r\n \"optionsName\": \"wd1Options\",\r\n \"optionsNameFQ\": \"wd1Options\"\r\n }\r\n });\r\n this.widgetCreator.addDataGrid(this, {\r\n \"columns\": [{\r\n \"id\": \"r_stellenbezeichnungExtern\",\r\n \"caption\": \"stelleninserat-list.r_stellenbezeichnungextern_caption\",\r\n \"bindTo\": \"Kopf.StellenbezeichnungExtern\"\r\n }, {\r\n \"id\": \"r_firmenname1\",\r\n \"caption\": \"stelleninserat-list.r_firmenname1_caption\",\r\n \"bindTo\": \"Kopf.Geschaeftspartner.Name1\"\r\n }],\r\n \"optionsToolbar\": {\r\n \"optionsName\": \"r_stelleninseratGridToolbarOptions\",\r\n \"optionsNameFQ\": \"r_stelleninseratGridToolbarOptions\"\r\n },\r\n \"binding\": {\r\n \"dataContext\": \"$m_Stelleninserat\"\r\n },\r\n \"dataModel\": \"$m_Stelleninserat\",\r\n \"editUrl\": \"Objekte/Stelleninserat\",\r\n \"addShortscuts\": true,\r\n \"isMainList\": true,\r\n \"height\": \"100%\",\r\n \"listEdits\": [],\r\n \"filters\": [],\r\n \"commands\": [],\r\n \"id\": \"r_stelleninseratGrid\",\r\n \"options\": {\r\n \"optionsName\": \"r_stelleninseratGridOptions\",\r\n \"optionsNameFQ\": \"r_stelleninseratGridOptions\"\r\n }\r\n });\r\n super.onConstructionFinished();\r\n }\r\n}","module.exports = \"\";","import * as fwx from \"../../../../framework/forms/form-export\";\r\nimport {\r\n StelleninseratReadUtils\r\n} from \"./stelleninserat-read-utils\";\r\n\r\n@fwx.autoinject\r\nexport class StelleninseratReadForm extends fwx.FormBase {\r\n constructor(\r\n element: Element,\r\n formBaseImport: fwx.FormBaseImport,\r\n private $f_StelleninseratReadUtils: StelleninseratReadUtils) {\r\n super(element, formBaseImport);\r\n this.id = \"stelleninserat-ferial-read\";\r\n this.title = \"stelleninserat-ferial-read.stelleninserat-ferial-read_caption\";\r\n this.addModel({\r\n \"id\": \"$m_Stelleninserat\",\r\n \"webApiAction\": \"ZIT/Objekte/Stelleninserat\",\r\n \"webApiExpand\": {\r\n 'Kopf': {\r\n 'expand': {\r\n 'Ansprechperson': null,\r\n 'Geschaeftspartner': null,\r\n 'ProfilFirma': {\r\n 'columns': [\r\n 'Id',\r\n 'IsInaktiv'\r\n ]\r\n }\r\n }\r\n }\r\n },\r\n \"modificationInfoEnabled\": true,\r\n \"key\": \"variables.data.$id\",\r\n \"keyProperty\": \"Id\",\r\n \"filters\": [{\r\n \"webApiCustomKey\": \"BewerbungInfo\",\r\n \"webApiCustomValue\": \"true\"\r\n }]\r\n });\r\n this.addModel({\r\n \"id\": \"$m_Bewerbung\",\r\n \"webApiAction\": \"ZIT/Objekte/Bewerbung\",\r\n \"webApiColumns\": [\"Id\"],\r\n \"webApiWhere\": [\"Kopf.IdStelleninserat\", {\r\n \"isBound\": true,\r\n \"expression\": \"models.data.$m_Stelleninserat.Id\"\r\n }],\r\n \"modificationInfoEnabled\": true,\r\n \"keyProperty\": \"Id\",\r\n \"filters\": [{\r\n \"webApiCustomKey\": \"AddBewerbungCard\",\r\n \"webApiCustomValue\": \"true\"\r\n }]\r\n });\r\n this.addCommand({\r\n \"binding\": {\r\n \"bindTo\": \"$f_StelleninseratReadUtils.actionCommand\",\r\n \"bindToFQ\": \"functions.$f_StelleninseratReadUtils.actionCommand\"\r\n }\r\n });\r\n this.addFunction(\"$f_StelleninseratReadUtils\", $f_StelleninseratReadUtils, \"functions.$f_StelleninseratReadUtils\");\r\n this.widgetCreator.addValidationGroup(this, {\r\n \"id\": \"wd1\",\r\n \"options\": {\r\n \"optionsName\": \"wd1Options\",\r\n \"optionsNameFQ\": \"wd1Options\"\r\n }\r\n });\r\n this.widgetCreator.addListView(this, {\r\n \"itemClass\": \"col-xs-12 col-sm-6\",\r\n \"useDefaultListItemStyle\": false,\r\n \"optionsToolbar\": {\r\n \"optionsName\": \"r_stelleninseratBewerbungenToolbarOptions\",\r\n \"optionsNameFQ\": \"r_stelleninseratBewerbungenToolbarOptions\"\r\n },\r\n \"binding\": {\r\n \"dataContext\": \"$m_Bewerbung\"\r\n },\r\n \"dataModel\": \"$m_Bewerbung\",\r\n \"pageSize\": 6,\r\n \"listEdits\": [],\r\n \"filters\": [],\r\n \"commands\": [],\r\n \"id\": \"r_stelleninseratBewerbungen\",\r\n \"options\": {\r\n \"optionsName\": \"r_stelleninseratBewerbungenOptions\",\r\n \"optionsNameFQ\": \"r_stelleninseratBewerbungenOptions\"\r\n }\r\n });\r\n super.onConstructionFinished();\r\n }\r\n}","module.exports = \"\";","import * as fwx from \"../../../../framework/forms/form-export\";\r\nimport {\r\n TerminEditUtils\r\n} from \"./termin-edit-utils\";\r\n\r\n@fwx.autoinject\r\nexport class TerminEditForm extends fwx.FormBase {\r\n constructor(\r\n element: Element,\r\n formBaseImport: fwx.FormBaseImport,\r\n private $f_TerminEditUtils: TerminEditUtils) {\r\n super(element, formBaseImport);\r\n this.id = \"termin-edit\";\r\n this.title = \"termin-edit.termin-edit_caption\";\r\n this.addModel({\r\n \"id\": \"$m_Termin\",\r\n \"webApiAction\": \"ZIT/Objekte/Termin\",\r\n \"webApiExpand\": {\r\n 'Empfaenger': {\r\n 'expand': {\r\n 'Person': null\r\n }\r\n },\r\n 'Kopf': {\r\n 'expand': {\r\n 'Benutzer': null,\r\n 'TerminBestaetigungZustand': null,\r\n 'Lehrberufe': null\r\n }\r\n }\r\n },\r\n \"modificationInfoEnabled\": true,\r\n \"key\": \"variables.data.$id\",\r\n \"keyProperty\": \"Id\",\r\n \"postOnSave\": true,\r\n \"filters\": [{\r\n \"webApiCustomKey\": \"addVerteilungstypVeroeffentlichenEmpfaenger\",\r\n \"webApiCustomValue\": \"true\"\r\n }]\r\n });\r\n this.addModel({\r\n \"id\": \"$m_TerminEmpfaengerElement\",\r\n \"webApiAction\": \"ZIT/Objekte/TerminEmpfaengerElement\",\r\n \"webApiExpand\": {\r\n 'Person': null\r\n },\r\n \"keyProperty\": \"Id\",\r\n \"filters\": []\r\n });\r\n this.addModel({\r\n \"id\": \"$m_ZustandAendern\",\r\n \"webApiAction\": \"ZIT/Stammdaten/Zustand\",\r\n \"keyProperty\": \"Id\",\r\n \"filters\": []\r\n });\r\n this.addModel({\r\n \"id\": \"$m_Lehrberuf\",\r\n \"webApiAction\": \"ZIT/Stammdaten/Lehrberuf\",\r\n \"keyProperty\": \"Id\",\r\n \"filters\": [{\r\n \"webApiCustomKey\": \"idTerminKopfElement\",\r\n \"webApiCustomValue\": \"models.data.$m_Termin.IdTerminKopfElement\"\r\n }]\r\n });\r\n this.addCommand({\r\n \"binding\": {\r\n \"bindTo\": \"$f_TerminEditUtils.actionCommand\",\r\n \"bindToFQ\": \"functions.$f_TerminEditUtils.actionCommand\"\r\n }\r\n });\r\n this.addEditPopup({\r\n \"idContent\": \"zustandAendernEditPopupContent\",\r\n \"mappings\": [{\r\n \"to\": \"$id\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_ZustandAendern\",\r\n \"bindTo\": \"Id\",\r\n \"bindToFQ\": \"models.data.$m_ZustandAendern.Id\"\r\n }\r\n }, {\r\n \"to\": \"$v_zustandDatum\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Termin\",\r\n \"bindTo\": \"Kopf.TerminBestaetigungZustandDatum\",\r\n \"bindToFQ\": \"models.data.$m_Termin.Kopf.TerminBestaetigungZustandDatum\",\r\n \"propertyPrefix\": \"Kopf\"\r\n }\r\n }, {\r\n \"to\": \"$v_idTermin\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Termin\",\r\n \"bindTo\": \"Id\",\r\n \"bindToFQ\": \"models.data.$m_Termin.Id\"\r\n }\r\n }],\r\n \"id\": \"zustandAendernEditPopup\",\r\n \"options\": {\r\n \"optionsName\": \"zustandAendernEditPopupOptions\",\r\n \"optionsNameFQ\": \"zustandAendernEditPopupOptions\"\r\n },\r\n \"height\": \"auto\",\r\n \"width\": \"500px\",\r\n \"commands\": []\r\n });\r\n this.addFunction(\"$f_TerminEditUtils\", $f_TerminEditUtils, \"functions.$f_TerminEditUtils\");\r\n this.widgetCreator.addValidationGroup(this, {\r\n \"id\": \"wd1\",\r\n \"options\": {\r\n \"optionsName\": \"wd1Options\",\r\n \"optionsNameFQ\": \"wd1Options\"\r\n }\r\n });\r\n this.widgetCreator.addSelectBox(this, {\r\n \"idSelect\": \"terminTyp\",\r\n \"filters\": [],\r\n \"caption\": \"termin-edit.r_termintyp_caption\",\r\n \"isReadOnlyExpression\": \"models.data.$m_Termin.Kopf.Id\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Termin\",\r\n \"bindTo\": \"Kopf.IdTerminTyp\",\r\n \"bindToFQ\": \"models.data.$m_Termin.Kopf.IdTerminTyp\",\r\n \"propertyPrefix\": \"Kopf\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_terminTyp\",\r\n \"options\": {\r\n \"optionsName\": \"r_terminTypOptions\",\r\n \"optionsNameFQ\": \"r_terminTypOptions\"\r\n }\r\n });\r\n this.widgetCreator.addRadioGroup(this, {\r\n \"idSelect\": \"terminVerteilungstyp\",\r\n \"filters\": [],\r\n \"caption\": \"termin-edit.r_verteilungstyp_caption\",\r\n \"isReadOnlyExpression\": \"!!models.data.$m_Termin.Kopf._IsVerteilungstypReadonly || functions.$f_TerminEditUtils.isTypAuswahlEnabled\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Termin\",\r\n \"bindTo\": \"Kopf.Verteilungstyp\",\r\n \"bindToFQ\": \"models.data.$m_Termin.Kopf.Verteilungstyp\",\r\n \"propertyPrefix\": \"Kopf\"\r\n },\r\n \"validationRules\": [{\r\n \"item\": {\r\n \"type\": \"required\",\r\n \"parameters\": []\r\n }\r\n }],\r\n \"id\": \"r_verteilungstyp\",\r\n \"options\": {\r\n \"optionsName\": \"r_verteilungstypOptions\",\r\n \"optionsNameFQ\": \"r_verteilungstypOptions\"\r\n }\r\n });\r\n this.widgetCreator.addCheckBox(this, {\r\n \"caption\": \"termin-edit.r_veroeffnetlichenfiltergeschaeftspartner_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Termin\",\r\n \"bindTo\": \"Kopf.VeroeffentlichenFilterGeschaeftspartner\",\r\n \"bindToFQ\": \"models.data.$m_Termin.Kopf.VeroeffentlichenFilterGeschaeftspartner\",\r\n \"propertyPrefix\": \"Kopf\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_veroeffnetlichenFilterGeschaeftspartner\",\r\n \"options\": {\r\n \"optionsName\": \"r_veroeffnetlichenFilterGeschaeftspartnerOptions\",\r\n \"optionsNameFQ\": \"r_veroeffnetlichenFilterGeschaeftspartnerOptions\"\r\n }\r\n });\r\n this.widgetCreator.addLookup(this, {\r\n \"idSelect\": \"person\",\r\n \"filters\": [],\r\n \"caption\": \"termin-edit.r_empfaengerpersonselect_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Termin\",\r\n \"bindTo\": \"$f_TerminEditUtils.idSelectedEmpfaenger\",\r\n \"bindToFQ\": \"functions.$f_TerminEditUtils.idSelectedEmpfaenger\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_empfaengerPersonSelect\",\r\n \"options\": {\r\n \"optionsName\": \"r_empfaengerPersonSelectOptions\",\r\n \"optionsNameFQ\": \"r_empfaengerPersonSelectOptions\"\r\n }\r\n });\r\n this.widgetCreator.addSelectBox(this, {\r\n \"idSelect\": \"empfaengerReaktion\",\r\n \"filters\": [],\r\n \"caption\": \"termin-edit.r_empfaengerreaktion_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Termin\",\r\n \"bindTo\": \"Kopf.EmpfaengerReaktion\",\r\n \"bindToFQ\": \"models.data.$m_Termin.Kopf.EmpfaengerReaktion\",\r\n \"propertyPrefix\": \"Kopf\"\r\n },\r\n \"validationRules\": [{\r\n \"item\": {\r\n \"type\": \"required\",\r\n \"parameters\": []\r\n }\r\n }],\r\n \"id\": \"r_empfaengerReaktion\",\r\n \"options\": {\r\n \"optionsName\": \"r_empfaengerReaktionOptions\",\r\n \"optionsNameFQ\": \"r_empfaengerReaktionOptions\"\r\n }\r\n });\r\n this.widgetCreator.addLookup(this, {\r\n \"idSelect\": \"geschaeftspartner\",\r\n \"filters\": [],\r\n \"caption\": \"termin-edit.r_geschaeftspartner_caption\",\r\n \"isReadOnlyExpression\": \"models.data.$m_Termin.Id\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Termin\",\r\n \"bindTo\": \"Kopf.IdGeschaeftspartner\",\r\n \"bindToFQ\": \"models.data.$m_Termin.Kopf.IdGeschaeftspartner\",\r\n \"propertyPrefix\": \"Kopf\"\r\n },\r\n \"validationRules\": [{\r\n \"item\": {\r\n \"type\": \"required\",\r\n \"parameters\": []\r\n }\r\n }],\r\n \"id\": \"r_geschaeftspartner\",\r\n \"options\": {\r\n \"optionsName\": \"r_geschaeftspartnerOptions\",\r\n \"optionsNameFQ\": \"r_geschaeftspartnerOptions\"\r\n }\r\n });\r\n this.widgetCreator.addLookup(this, {\r\n \"idSelect\": \"geschaeftspartner\",\r\n \"filter\": [\"IsGeschaeftspartnerSchule\", true],\r\n \"filters\": [],\r\n \"caption\": \"termin-edit.r_geschaeftspartnerschule_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Termin\",\r\n \"bindTo\": \"Kopf.IdGeschaeftspartnerSchule\",\r\n \"bindToFQ\": \"models.data.$m_Termin.Kopf.IdGeschaeftspartnerSchule\",\r\n \"propertyPrefix\": \"Kopf\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_geschaeftspartnerSchule\",\r\n \"options\": {\r\n \"optionsName\": \"r_geschaeftspartnerSchuleOptions\",\r\n \"optionsNameFQ\": \"r_geschaeftspartnerSchuleOptions\"\r\n }\r\n });\r\n this.widgetCreator.addTextBox(this, {\r\n \"maxLength\": 250,\r\n \"caption\": \"termin-edit.r_betreff_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Termin\",\r\n \"bindTo\": \"Kopf.Betreff\",\r\n \"bindToFQ\": \"models.data.$m_Termin.Kopf.Betreff\",\r\n \"propertyPrefix\": \"Kopf\"\r\n },\r\n \"validationRules\": [{\r\n \"item\": {\r\n \"type\": \"required\",\r\n \"parameters\": []\r\n }\r\n }],\r\n \"id\": \"r_betreff\",\r\n \"options\": {\r\n \"optionsName\": \"r_betreffOptions\",\r\n \"optionsNameFQ\": \"r_betreffOptions\"\r\n }\r\n });\r\n this.widgetCreator.addTextBox(this, {\r\n \"maxLength\": 250,\r\n \"caption\": \"termin-edit.r_bezeichnungintern_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Termin\",\r\n \"bindTo\": \"Kopf.BezeichnungIntern\",\r\n \"bindToFQ\": \"models.data.$m_Termin.Kopf.BezeichnungIntern\",\r\n \"propertyPrefix\": \"Kopf\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_bezeichnungIntern\",\r\n \"options\": {\r\n \"optionsName\": \"r_bezeichnungInternOptions\",\r\n \"optionsNameFQ\": \"r_bezeichnungInternOptions\"\r\n }\r\n });\r\n this.widgetCreator.addTextBox(this, {\r\n \"maxLength\": 100,\r\n \"caption\": \"termin-edit.r_ort_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Termin\",\r\n \"bindTo\": \"Kopf.Ort\",\r\n \"bindToFQ\": \"models.data.$m_Termin.Kopf.Ort\",\r\n \"propertyPrefix\": \"Kopf\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_ort\",\r\n \"options\": {\r\n \"optionsName\": \"r_ortOptions\",\r\n \"optionsNameFQ\": \"r_ortOptions\"\r\n }\r\n });\r\n this.widgetCreator.addDateBox(this, {\r\n \"format\": \"d\",\r\n \"caption\": \"termin-edit.r_startdatum_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Termin\",\r\n \"bindTo\": \"Kopf.StartDatum\",\r\n \"bindToFQ\": \"models.data.$m_Termin.Kopf.StartDatum\",\r\n \"propertyPrefix\": \"Kopf\"\r\n },\r\n \"validationRules\": [{\r\n \"item\": {\r\n \"type\": \"required\",\r\n \"parameters\": []\r\n }\r\n }],\r\n \"onValueChanged\": \"functions.$f_TerminEditUtils.onStartDatumChanged\",\r\n \"id\": \"r_startDatum\",\r\n \"options\": {\r\n \"optionsName\": \"r_startDatumOptions\",\r\n \"optionsNameFQ\": \"r_startDatumOptions\"\r\n }\r\n });\r\n this.widgetCreator.addDateBox(this, {\r\n \"format\": \"t\",\r\n \"caption\": \"termin-edit.r_startuhrzeit_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Termin\",\r\n \"bindTo\": \"Kopf.StartUhrzeit\",\r\n \"bindToFQ\": \"models.data.$m_Termin.Kopf.StartUhrzeit\",\r\n \"propertyPrefix\": \"Kopf\"\r\n },\r\n \"validationRules\": [{\r\n \"item\": {\r\n \"type\": \"required\",\r\n \"parameters\": []\r\n }\r\n }],\r\n \"id\": \"r_startUhrzeit\",\r\n \"options\": {\r\n \"optionsName\": \"r_startUhrzeitOptions\",\r\n \"optionsNameFQ\": \"r_startUhrzeitOptions\"\r\n }\r\n });\r\n this.widgetCreator.addDateBox(this, {\r\n \"format\": \"d\",\r\n \"caption\": \"termin-edit.r_endedatum_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Termin\",\r\n \"bindTo\": \"Kopf.EndeDatum\",\r\n \"bindToFQ\": \"models.data.$m_Termin.Kopf.EndeDatum\",\r\n \"propertyPrefix\": \"Kopf\"\r\n },\r\n \"validationRules\": [{\r\n \"item\": {\r\n \"type\": \"required\",\r\n \"parameters\": []\r\n }\r\n }],\r\n \"id\": \"r_endeDatum\",\r\n \"options\": {\r\n \"optionsName\": \"r_endeDatumOptions\",\r\n \"optionsNameFQ\": \"r_endeDatumOptions\"\r\n }\r\n });\r\n this.widgetCreator.addDateBox(this, {\r\n \"format\": \"t\",\r\n \"caption\": \"termin-edit.r_endeuhrzeit_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Termin\",\r\n \"bindTo\": \"Kopf.EndeUhrzeit\",\r\n \"bindToFQ\": \"models.data.$m_Termin.Kopf.EndeUhrzeit\",\r\n \"propertyPrefix\": \"Kopf\"\r\n },\r\n \"validationRules\": [{\r\n \"item\": {\r\n \"type\": \"required\",\r\n \"parameters\": []\r\n }\r\n }],\r\n \"id\": \"r_endeUhrzeit\",\r\n \"options\": {\r\n \"optionsName\": \"r_endeUhrzeitOptions\",\r\n \"optionsNameFQ\": \"r_endeUhrzeitOptions\"\r\n }\r\n });\r\n this.widgetCreator.addDateBox(this, {\r\n \"format\": \"t\",\r\n \"caption\": \"termin-edit.r_meldenum_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Termin\",\r\n \"bindTo\": \"Kopf.MeldenUm\",\r\n \"bindToFQ\": \"models.data.$m_Termin.Kopf.MeldenUm\",\r\n \"propertyPrefix\": \"Kopf\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_meldenUm\",\r\n \"options\": {\r\n \"optionsName\": \"r_meldenUmOptions\",\r\n \"optionsNameFQ\": \"r_meldenUmOptions\"\r\n }\r\n });\r\n this.widgetCreator.addNumberBox(this, {\r\n \"showClearButton\": true,\r\n \"min\": 0.0,\r\n \"caption\": \"termin-edit.r_maxteilnehmerzal_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Termin\",\r\n \"bindTo\": \"Kopf.MaxTeilnehmerzahl\",\r\n \"bindToFQ\": \"models.data.$m_Termin.Kopf.MaxTeilnehmerzahl\",\r\n \"propertyPrefix\": \"Kopf\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_maxTeilnehmerzal\",\r\n \"options\": {\r\n \"optionsName\": \"r_maxTeilnehmerzalOptions\",\r\n \"optionsNameFQ\": \"r_maxTeilnehmerzalOptions\"\r\n }\r\n });\r\n this.widgetCreator.addCheckBox(this, {\r\n \"caption\": \"termin-edit.r_ignorebyrestservice_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Termin\",\r\n \"bindTo\": \"Kopf.IgnoreTerminBeiRestRequest\",\r\n \"bindToFQ\": \"models.data.$m_Termin.Kopf.IgnoreTerminBeiRestRequest\",\r\n \"propertyPrefix\": \"Kopf\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_ignoreByRestService\",\r\n \"options\": {\r\n \"optionsName\": \"r_ignoreByRestServiceOptions\",\r\n \"optionsNameFQ\": \"r_ignoreByRestServiceOptions\"\r\n }\r\n });\r\n this.widgetCreator.addCheckBox(this, {\r\n \"caption\": \"termin-edit.r_isbewerbungschnupperterminauswahl_caption\",\r\n \"isReadOnlyExpression\": \"models.data.$m_Termin.Kopf.Verteilungstyp != 1\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Termin\",\r\n \"bindTo\": \"Kopf.IsBewerbungSchnupperterminAuswahl\",\r\n \"bindToFQ\": \"models.data.$m_Termin.Kopf.IsBewerbungSchnupperterminAuswahl\",\r\n \"propertyPrefix\": \"Kopf\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_isBewerbungSchnupperterminAuswahl\",\r\n \"options\": {\r\n \"optionsName\": \"r_isBewerbungSchnupperterminAuswahlOptions\",\r\n \"optionsNameFQ\": \"r_isBewerbungSchnupperterminAuswahlOptions\"\r\n }\r\n });\r\n this.widgetCreator.addTagBox(this, {\r\n \"caption\": \"termin-edit.r_lehrberufe_caption\",\r\n \"dataContext\": \"$m_Termin\",\r\n \"batchSelectionEnabled\": true,\r\n \"relationBinding\": {\r\n \"dataContext\": \"$m_Termin\",\r\n \"bindTo\": \"Kopf.Lehrberufe\",\r\n \"bindToFQ\": \"models.data.$m_Termin.Kopf.Lehrberufe\",\r\n \"propertyPrefix\": \"Kopf\"\r\n },\r\n \"relationProperty\": \"IdLehrberuf\",\r\n \"itemDataContext\": \"$m_Lehrberuf\",\r\n \"itemValueExpr\": \"Id\",\r\n \"itemDisplayExpr\": \"Bezeichnung\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Termin\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_lehrberufe\",\r\n \"options\": {\r\n \"optionsName\": \"r_lehrberufeOptions\",\r\n \"optionsNameFQ\": \"r_lehrberufeOptions\"\r\n }\r\n });\r\n this.widgetCreator.addTextArea(this, {\r\n \"height\": \"100px\",\r\n \"caption\": \"termin-edit.r_bemerkung_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Termin\",\r\n \"bindTo\": \"Kopf.Bemerkung\",\r\n \"bindToFQ\": \"models.data.$m_Termin.Kopf.Bemerkung\",\r\n \"propertyPrefix\": \"Kopf\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_bemerkung\",\r\n \"options\": {\r\n \"optionsName\": \"r_bemerkungOptions\",\r\n \"optionsNameFQ\": \"r_bemerkungOptions\"\r\n }\r\n });\r\n this.widgetCreator.addTextArea(this, {\r\n \"height\": \"100px\",\r\n \"caption\": \"termin-edit.r_bemerkungschule_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Termin\",\r\n \"bindTo\": \"Kopf.BemerkungSchule\",\r\n \"bindToFQ\": \"models.data.$m_Termin.Kopf.BemerkungSchule\",\r\n \"propertyPrefix\": \"Kopf\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_bemerkungSchule\",\r\n \"options\": {\r\n \"optionsName\": \"r_bemerkungSchuleOptions\",\r\n \"optionsNameFQ\": \"r_bemerkungSchuleOptions\"\r\n }\r\n });\r\n super.onConstructionFinished();\r\n }\r\n}","module.exports = \"\";","import { autoinject, bindable, bindingBehavior, computedFrom } from \"aurelia-framework\";\r\nimport { StartupService } from '../../../services/export';\r\n\r\n@autoinject\r\nexport class TerminEmpfEinschaetzungAkk {\r\n constructor(\r\n private _startupService: StartupService\r\n ) { \r\n this.selectedColor = this._startupService.startupInfo.Skin.Farbe20Opacity;\r\n }\r\n\r\n @bindable code: string;\r\n @bindable text: string;\r\n @bindable selected: string;\r\n @bindable ok: boolean;\r\n\r\n selectedColor: string;\r\n\r\n @computedFrom(\"selected\")\r\n get isSelected() {\r\n return this.code == this.selected;\r\n }\r\n\r\n onClick() {\r\n if (this.selected == this.code) {\r\n this.selected = \"\";\r\n } else {\r\n this.selected = this.code;\r\n }\r\n }\r\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\";\r\nimport {\r\n TerminEmpfEinschaetzungEditUtils\r\n} from \"./termin-empf-einschaetzung-edit-utils\";\r\n\r\n@fwx.autoinject\r\nexport class TerminEmpfEinschaetzungEditForm extends fwx.FormBase {\r\n constructor(\r\n element: Element,\r\n formBaseImport: fwx.FormBaseImport,\r\n private $f_TerminEmpfEinschaetzungEditUtils: TerminEmpfEinschaetzungEditUtils) {\r\n super(element, formBaseImport);\r\n this.id = \"termin-empf-einschaetzung-edit\";\r\n this.title = \"termin-empf-einschaetzung-edit.termin-empf-einschaetzung-edit_caption\";\r\n this.addModel({\r\n \"id\": \"$m_TerminEmpfEinsch\",\r\n \"webApiAction\": \"ZIT/Objekte/TerminEmpfEinschElement\",\r\n \"key\": \"variables.data.$id\",\r\n \"keyProperty\": \"Id\",\r\n \"postOnSave\": true,\r\n \"allowSave\": \"!models.data.$m_TerminEmpfEinsch.IsFreigegeben\",\r\n \"allowDelete\": \"!models.data.$m_TerminEmpfEinsch.IsFreigegeben\",\r\n \"filters\": [{\r\n \"webApiCustomKey\": \"IdTermin\",\r\n \"webApiCustomValue\": \"variables.data.$v_idTermin\"\r\n }]\r\n });\r\n this.addVariable({\r\n \"id\": \"$v_idTermin\"\r\n });\r\n this.addCommand({\r\n \"binding\": {\r\n \"bindTo\": \"$f_TerminEmpfEinschaetzungEditUtils.pdfGenerierenCommand\",\r\n \"bindToFQ\": \"functions.$f_TerminEmpfEinschaetzungEditUtils.pdfGenerierenCommand\"\r\n }\r\n });\r\n this.addCommand({\r\n \"binding\": {\r\n \"bindTo\": \"$f_TerminEmpfEinschaetzungEditUtils.pdfAnzeigenCommand\",\r\n \"bindToFQ\": \"functions.$f_TerminEmpfEinschaetzungEditUtils.pdfAnzeigenCommand\"\r\n }\r\n });\r\n this.addCommand({\r\n \"binding\": {\r\n \"bindTo\": \"$f_TerminEmpfEinschaetzungEditUtils.pdfLoeschenCommand\",\r\n \"bindToFQ\": \"functions.$f_TerminEmpfEinschaetzungEditUtils.pdfLoeschenCommand\"\r\n }\r\n });\r\n this.addFunction(\"$f_TerminEmpfEinschaetzungEditUtils\", $f_TerminEmpfEinschaetzungEditUtils, \"functions.$f_TerminEmpfEinschaetzungEditUtils\");\r\n this.widgetCreator.addValidationGroup(this, {\r\n \"id\": \"wd1\",\r\n \"options\": {\r\n \"optionsName\": \"wd1Options\",\r\n \"optionsNameFQ\": \"wd1Options\"\r\n }\r\n });\r\n this.widgetCreator.addNumberBox(this, {\r\n \"min\": 0.0,\r\n \"max\": 10.0,\r\n \"format\": \"f0\",\r\n \"caption\": \"termin-empf-einschaetzung-edit.r_verhaltentrainingse_caption\",\r\n \"isReadOnlyExpression\": \"models.data.$m_TerminEmpfEinsch.IsFreigegeben\",\r\n \"placeholder\": \"termin-empf-einschaetzung-edit.r_verhaltentrainingse_placeholder\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_TerminEmpfEinsch\",\r\n \"bindTo\": \"VerhaltenTrainingSE\",\r\n \"bindToFQ\": \"models.data.$m_TerminEmpfEinsch.VerhaltenTrainingSE\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_verhaltenTrainingSE\",\r\n \"options\": {\r\n \"optionsName\": \"r_verhaltenTrainingSEOptions\",\r\n \"optionsNameFQ\": \"r_verhaltenTrainingSEOptions\"\r\n }\r\n });\r\n this.widgetCreator.addNumberBox(this, {\r\n \"min\": 0.0,\r\n \"max\": 10.0,\r\n \"format\": \"f0\",\r\n \"caption\": \"termin-empf-einschaetzung-edit.r_verhaltentrainingfe_caption\",\r\n \"isReadOnlyExpression\": \"models.data.$m_TerminEmpfEinsch.IsFreigegeben\",\r\n \"placeholder\": \"termin-empf-einschaetzung-edit.r_verhaltentrainingfe_placeholder\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_TerminEmpfEinsch\",\r\n \"bindTo\": \"VerhaltenTrainingFE\",\r\n \"bindToFQ\": \"models.data.$m_TerminEmpfEinsch.VerhaltenTrainingFE\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_verhaltenTrainingFE\",\r\n \"options\": {\r\n \"optionsName\": \"r_verhaltenTrainingFEOptions\",\r\n \"optionsNameFQ\": \"r_verhaltenTrainingFEOptions\"\r\n }\r\n });\r\n this.widgetCreator.addTextArea(this, {\r\n \"height\": \"100px\",\r\n \"maxLength\": 1000,\r\n \"caption\": \"termin-empf-einschaetzung-edit.r_verhaltentrainingb_caption\",\r\n \"isReadOnlyExpression\": \"models.data.$m_TerminEmpfEinsch.IsFreigegeben\",\r\n \"placeholder\": \"termin-empf-einschaetzung-edit.r_verhaltentrainingb_placeholder\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_TerminEmpfEinsch\",\r\n \"bindTo\": \"VerhaltenTrainingB\",\r\n \"bindToFQ\": \"models.data.$m_TerminEmpfEinsch.VerhaltenTrainingB\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_verhaltenTrainingB\",\r\n \"options\": {\r\n \"optionsName\": \"r_verhaltenTrainingBOptions\",\r\n \"optionsNameFQ\": \"r_verhaltenTrainingBOptions\"\r\n }\r\n });\r\n this.widgetCreator.addTextArea(this, {\r\n \"height\": \"100px\",\r\n \"maxLength\": 1000,\r\n \"caption\": \"termin-empf-einschaetzung-edit.r_verhaltentrainingm_caption\",\r\n \"isReadOnlyExpression\": \"models.data.$m_TerminEmpfEinsch.IsFreigegeben\",\r\n \"placeholder\": \"termin-empf-einschaetzung-edit.r_verhaltentrainingm_placeholder\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_TerminEmpfEinsch\",\r\n \"bindTo\": \"VerhaltenTrainingM\",\r\n \"bindToFQ\": \"models.data.$m_TerminEmpfEinsch.VerhaltenTrainingM\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_verhaltenTrainingM\",\r\n \"options\": {\r\n \"optionsName\": \"r_verhaltenTrainingMOptions\",\r\n \"optionsNameFQ\": \"r_verhaltenTrainingMOptions\"\r\n }\r\n });\r\n this.widgetCreator.addNumberBox(this, {\r\n \"min\": 0.0,\r\n \"max\": 10.0,\r\n \"format\": \"f0\",\r\n \"caption\": \"termin-empf-einschaetzung-edit.r_verhaltenarbeitense_caption\",\r\n \"isReadOnlyExpression\": \"models.data.$m_TerminEmpfEinsch.IsFreigegeben\",\r\n \"placeholder\": \"termin-empf-einschaetzung-edit.r_verhaltenarbeitense_placeholder\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_TerminEmpfEinsch\",\r\n \"bindTo\": \"VerhaltenArbeitenSE\",\r\n \"bindToFQ\": \"models.data.$m_TerminEmpfEinsch.VerhaltenArbeitenSE\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_verhaltenArbeitenSE\",\r\n \"options\": {\r\n \"optionsName\": \"r_verhaltenArbeitenSEOptions\",\r\n \"optionsNameFQ\": \"r_verhaltenArbeitenSEOptions\"\r\n }\r\n });\r\n this.widgetCreator.addNumberBox(this, {\r\n \"min\": 0.0,\r\n \"max\": 10.0,\r\n \"format\": \"f0\",\r\n \"caption\": \"termin-empf-einschaetzung-edit.r_verhaltenarbeitenfe_caption\",\r\n \"isReadOnlyExpression\": \"models.data.$m_TerminEmpfEinsch.IsFreigegeben\",\r\n \"placeholder\": \"termin-empf-einschaetzung-edit.r_verhaltenarbeitenfe_placeholder\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_TerminEmpfEinsch\",\r\n \"bindTo\": \"VerhaltenArbeitenFE\",\r\n \"bindToFQ\": \"models.data.$m_TerminEmpfEinsch.VerhaltenArbeitenFE\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_verhaltenArbeitenFE\",\r\n \"options\": {\r\n \"optionsName\": \"r_verhaltenArbeitenFEOptions\",\r\n \"optionsNameFQ\": \"r_verhaltenArbeitenFEOptions\"\r\n }\r\n });\r\n this.widgetCreator.addTextArea(this, {\r\n \"height\": \"100px\",\r\n \"maxLength\": 1000,\r\n \"caption\": \"termin-empf-einschaetzung-edit.r_verhaltenarbeitenb_caption\",\r\n \"isReadOnlyExpression\": \"models.data.$m_TerminEmpfEinsch.IsFreigegeben\",\r\n \"placeholder\": \"termin-empf-einschaetzung-edit.r_verhaltenarbeitenb_placeholder\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_TerminEmpfEinsch\",\r\n \"bindTo\": \"VerhaltenArbeitenB\",\r\n \"bindToFQ\": \"models.data.$m_TerminEmpfEinsch.VerhaltenArbeitenB\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_verhaltenArbeitenB\",\r\n \"options\": {\r\n \"optionsName\": \"r_verhaltenArbeitenBOptions\",\r\n \"optionsNameFQ\": \"r_verhaltenArbeitenBOptions\"\r\n }\r\n });\r\n this.widgetCreator.addTextArea(this, {\r\n \"height\": \"100px\",\r\n \"maxLength\": 1000,\r\n \"caption\": \"termin-empf-einschaetzung-edit.r_verhaltenarbeitenm_caption\",\r\n \"isReadOnlyExpression\": \"models.data.$m_TerminEmpfEinsch.IsFreigegeben\",\r\n \"placeholder\": \"termin-empf-einschaetzung-edit.r_verhaltenarbeitenm_placeholder\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_TerminEmpfEinsch\",\r\n \"bindTo\": \"VerhaltenArbeitenM\",\r\n \"bindToFQ\": \"models.data.$m_TerminEmpfEinsch.VerhaltenArbeitenM\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_verhaltenArbeitenM\",\r\n \"options\": {\r\n \"optionsName\": \"r_verhaltenArbeitenMOptions\",\r\n \"optionsNameFQ\": \"r_verhaltenArbeitenMOptions\"\r\n }\r\n });\r\n this.widgetCreator.addNumberBox(this, {\r\n \"min\": 0.0,\r\n \"max\": 10.0,\r\n \"format\": \"f0\",\r\n \"caption\": \"termin-empf-einschaetzung-edit.r_verhaltenumgangkollegense_caption\",\r\n \"isReadOnlyExpression\": \"models.data.$m_TerminEmpfEinsch.IsFreigegeben\",\r\n \"placeholder\": \"termin-empf-einschaetzung-edit.r_verhaltenumgangkollegense_placeholder\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_TerminEmpfEinsch\",\r\n \"bindTo\": \"VerhaltenUmgangKollegenSE\",\r\n \"bindToFQ\": \"models.data.$m_TerminEmpfEinsch.VerhaltenUmgangKollegenSE\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_verhaltenUmgangKollegenSE\",\r\n \"options\": {\r\n \"optionsName\": \"r_verhaltenUmgangKollegenSEOptions\",\r\n \"optionsNameFQ\": \"r_verhaltenUmgangKollegenSEOptions\"\r\n }\r\n });\r\n this.widgetCreator.addNumberBox(this, {\r\n \"min\": 0.0,\r\n \"max\": 10.0,\r\n \"format\": \"f0\",\r\n \"caption\": \"termin-empf-einschaetzung-edit.r_verhaltenumgangkollegenfe_caption\",\r\n \"isReadOnlyExpression\": \"models.data.$m_TerminEmpfEinsch.IsFreigegeben\",\r\n \"placeholder\": \"termin-empf-einschaetzung-edit.r_verhaltenumgangkollegenfe_placeholder\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_TerminEmpfEinsch\",\r\n \"bindTo\": \"VerhaltenUmgangKollegenFE\",\r\n \"bindToFQ\": \"models.data.$m_TerminEmpfEinsch.VerhaltenUmgangKollegenFE\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_verhaltenUmgangKollegenFE\",\r\n \"options\": {\r\n \"optionsName\": \"r_verhaltenUmgangKollegenFEOptions\",\r\n \"optionsNameFQ\": \"r_verhaltenUmgangKollegenFEOptions\"\r\n }\r\n });\r\n this.widgetCreator.addTextArea(this, {\r\n \"height\": \"100px\",\r\n \"maxLength\": 1000,\r\n \"caption\": \"termin-empf-einschaetzung-edit.r_verhaltenumgangkollegenb_caption\",\r\n \"isReadOnlyExpression\": \"models.data.$m_TerminEmpfEinsch.IsFreigegeben\",\r\n \"placeholder\": \"termin-empf-einschaetzung-edit.r_verhaltenumgangkollegenb_placeholder\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_TerminEmpfEinsch\",\r\n \"bindTo\": \"VerhaltenUmgangKollegenB\",\r\n \"bindToFQ\": \"models.data.$m_TerminEmpfEinsch.VerhaltenUmgangKollegenB\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_verhaltenUmgangKollegenB\",\r\n \"options\": {\r\n \"optionsName\": \"r_verhaltenUmgangKollegenBOptions\",\r\n \"optionsNameFQ\": \"r_verhaltenUmgangKollegenBOptions\"\r\n }\r\n });\r\n this.widgetCreator.addTextArea(this, {\r\n \"height\": \"100px\",\r\n \"maxLength\": 1000,\r\n \"caption\": \"termin-empf-einschaetzung-edit.r_verhaltenumgangkollegenm_caption\",\r\n \"isReadOnlyExpression\": \"models.data.$m_TerminEmpfEinsch.IsFreigegeben\",\r\n \"placeholder\": \"termin-empf-einschaetzung-edit.r_verhaltenumgangkollegenm_placeholder\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_TerminEmpfEinsch\",\r\n \"bindTo\": \"VerhaltenUmgangKollegenM\",\r\n \"bindToFQ\": \"models.data.$m_TerminEmpfEinsch.VerhaltenUmgangKollegenM\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_verhaltenUmgangKollegenM\",\r\n \"options\": {\r\n \"optionsName\": \"r_verhaltenUmgangKollegenMOptions\",\r\n \"optionsNameFQ\": \"r_verhaltenUmgangKollegenMOptions\"\r\n }\r\n });\r\n this.widgetCreator.addNumberBox(this, {\r\n \"min\": 0.0,\r\n \"max\": 10.0,\r\n \"format\": \"f0\",\r\n \"caption\": \"termin-empf-einschaetzung-edit.r_umgangverhaltensregelnse_caption\",\r\n \"isReadOnlyExpression\": \"models.data.$m_TerminEmpfEinsch.IsFreigegeben\",\r\n \"placeholder\": \"termin-empf-einschaetzung-edit.r_umgangverhaltensregelnse_placeholder\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_TerminEmpfEinsch\",\r\n \"bindTo\": \"UmgangVerhaltensregelnSE\",\r\n \"bindToFQ\": \"models.data.$m_TerminEmpfEinsch.UmgangVerhaltensregelnSE\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_umgangVerhaltensregelnSE\",\r\n \"options\": {\r\n \"optionsName\": \"r_umgangVerhaltensregelnSEOptions\",\r\n \"optionsNameFQ\": \"r_umgangVerhaltensregelnSEOptions\"\r\n }\r\n });\r\n this.widgetCreator.addNumberBox(this, {\r\n \"min\": 0.0,\r\n \"max\": 10.0,\r\n \"format\": \"f0\",\r\n \"caption\": \"termin-empf-einschaetzung-edit.r_umgangverhaltensregelnfe_caption\",\r\n \"isReadOnlyExpression\": \"models.data.$m_TerminEmpfEinsch.IsFreigegeben\",\r\n \"placeholder\": \"termin-empf-einschaetzung-edit.r_umgangverhaltensregelnfe_placeholder\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_TerminEmpfEinsch\",\r\n \"bindTo\": \"UmgangVerhaltensregelnFE\",\r\n \"bindToFQ\": \"models.data.$m_TerminEmpfEinsch.UmgangVerhaltensregelnFE\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_umgangVerhaltensregelnFE\",\r\n \"options\": {\r\n \"optionsName\": \"r_umgangVerhaltensregelnFEOptions\",\r\n \"optionsNameFQ\": \"r_umgangVerhaltensregelnFEOptions\"\r\n }\r\n });\r\n this.widgetCreator.addTextArea(this, {\r\n \"height\": \"100px\",\r\n \"maxLength\": 1000,\r\n \"caption\": \"termin-empf-einschaetzung-edit.r_umgangverhaltensregelnb_caption\",\r\n \"isReadOnlyExpression\": \"models.data.$m_TerminEmpfEinsch.IsFreigegeben\",\r\n \"placeholder\": \"termin-empf-einschaetzung-edit.r_umgangverhaltensregelnb_placeholder\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_TerminEmpfEinsch\",\r\n \"bindTo\": \"UmgangVerhaltensregelnB\",\r\n \"bindToFQ\": \"models.data.$m_TerminEmpfEinsch.UmgangVerhaltensregelnB\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_umgangVerhaltensregelnB\",\r\n \"options\": {\r\n \"optionsName\": \"r_umgangVerhaltensregelnBOptions\",\r\n \"optionsNameFQ\": \"r_umgangVerhaltensregelnBOptions\"\r\n }\r\n });\r\n this.widgetCreator.addTextArea(this, {\r\n \"height\": \"100px\",\r\n \"maxLength\": 1000,\r\n \"caption\": \"termin-empf-einschaetzung-edit.r_umgangverhaltensregelnm_caption\",\r\n \"isReadOnlyExpression\": \"models.data.$m_TerminEmpfEinsch.IsFreigegeben\",\r\n \"placeholder\": \"termin-empf-einschaetzung-edit.r_umgangverhaltensregelnm_placeholder\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_TerminEmpfEinsch\",\r\n \"bindTo\": \"UmgangVerhaltensregelnM\",\r\n \"bindToFQ\": \"models.data.$m_TerminEmpfEinsch.UmgangVerhaltensregelnM\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_umgangVerhaltensregelnM\",\r\n \"options\": {\r\n \"optionsName\": \"r_umgangVerhaltensregelnMOptions\",\r\n \"optionsNameFQ\": \"r_umgangVerhaltensregelnMOptions\"\r\n }\r\n });\r\n this.widgetCreator.addTextArea(this, {\r\n \"height\": \"100px\",\r\n \"caption\": \"termin-empf-einschaetzung-edit.r_gesamteintragamlc_caption\",\r\n \"isReadOnlyExpression\": \"models.data.$m_TerminEmpfEinsch.IsFreigegeben\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_TerminEmpfEinsch\",\r\n \"bindTo\": \"GesamteintragAmLC\",\r\n \"bindToFQ\": \"models.data.$m_TerminEmpfEinsch.GesamteintragAmLC\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_gesamteintragAmLC\",\r\n \"options\": {\r\n \"optionsName\": \"r_gesamteintragAmLCOptions\",\r\n \"optionsNameFQ\": \"r_gesamteintragAmLCOptions\"\r\n }\r\n });\r\n this.widgetCreator.addTextArea(this, {\r\n \"height\": \"100px\",\r\n \"caption\": \"termin-empf-einschaetzung-edit.r_tippsfuerausbildner_caption\",\r\n \"isReadOnlyExpression\": \"models.data.$m_TerminEmpfEinsch.IsFreigegeben\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_TerminEmpfEinsch\",\r\n \"bindTo\": \"TippsFuerAusbildner\",\r\n \"bindToFQ\": \"models.data.$m_TerminEmpfEinsch.TippsFuerAusbildner\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_tippsFuerAusbildner\",\r\n \"options\": {\r\n \"optionsName\": \"r_tippsFuerAusbildnerOptions\",\r\n \"optionsNameFQ\": \"r_tippsFuerAusbildnerOptions\"\r\n }\r\n });\r\n this.widgetCreator.addTextArea(this, {\r\n \"height\": \"100px\",\r\n \"maxLength\": 1000,\r\n \"caption\": \"termin-empf-einschaetzung-edit.r_einschstaerken_caption\",\r\n \"isReadOnlyExpression\": \"models.data.$m_TerminEmpfEinsch.IsFreigegeben\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_TerminEmpfEinsch\",\r\n \"bindTo\": \"EinschStaerken\",\r\n \"bindToFQ\": \"models.data.$m_TerminEmpfEinsch.EinschStaerken\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_einschStaerken\",\r\n \"options\": {\r\n \"optionsName\": \"r_einschStaerkenOptions\",\r\n \"optionsNameFQ\": \"r_einschStaerkenOptions\"\r\n }\r\n });\r\n this.widgetCreator.addTextArea(this, {\r\n \"height\": \"100px\",\r\n \"maxLength\": 1000,\r\n \"caption\": \"termin-empf-einschaetzung-edit.r_einschweiterentw_caption\",\r\n \"isReadOnlyExpression\": \"models.data.$m_TerminEmpfEinsch.IsFreigegeben\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_TerminEmpfEinsch\",\r\n \"bindTo\": \"EinschWeiterentw\",\r\n \"bindToFQ\": \"models.data.$m_TerminEmpfEinsch.EinschWeiterentw\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_einschWeiterentw\",\r\n \"options\": {\r\n \"optionsName\": \"r_einschWeiterentwOptions\",\r\n \"optionsNameFQ\": \"r_einschWeiterentwOptions\"\r\n }\r\n });\r\n this.widgetCreator.addTextArea(this, {\r\n \"height\": \"100px\",\r\n \"maxLength\": 1000,\r\n \"caption\": \"termin-empf-einschaetzung-edit.r_einschdafuermachen_caption\",\r\n \"isReadOnlyExpression\": \"models.data.$m_TerminEmpfEinsch.IsFreigegeben\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_TerminEmpfEinsch\",\r\n \"bindTo\": \"EinschDafuerMachen\",\r\n \"bindToFQ\": \"models.data.$m_TerminEmpfEinsch.EinschDafuerMachen\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_einschDafuerMachen\",\r\n \"options\": {\r\n \"optionsName\": \"r_einschDafuerMachenOptions\",\r\n \"optionsNameFQ\": \"r_einschDafuerMachenOptions\"\r\n }\r\n });\r\n super.onConstructionFinished();\r\n }\r\n}","module.exports = \"\";","import * as fwx from \"../../../../framework/forms/form-export\";\r\nimport {\r\n TerminEditUtils\r\n} from \"./termin-edit-utils\";\r\n\r\n@fwx.autoinject\r\nexport class TerminHeartbaseEditForm extends fwx.FormBase {\r\n constructor(\r\n element: Element,\r\n formBaseImport: fwx.FormBaseImport,\r\n private $f_TerminEditUtils: TerminEditUtils) {\r\n super(element, formBaseImport);\r\n this.id = \"termin-heartbase-edit\";\r\n this.title = \"termin-heartbase-edit.termin-heartbase-edit_caption\";\r\n this.addModel({\r\n \"id\": \"$m_Termin\",\r\n \"webApiAction\": \"ZIT/Objekte/Termin\",\r\n \"webApiExpand\": {\r\n 'Empfaenger': {\r\n 'expand': {\r\n 'Person': null\r\n }\r\n },\r\n 'Trainer': {\r\n 'expand': {\r\n 'Ansprechperson': null\r\n }\r\n },\r\n 'Kopf': {\r\n 'expand': {\r\n 'Benutzer': null,\r\n 'TerminDateien': null,\r\n 'TerminBestaetigungZustand': null,\r\n 'Lehrberufe': null,\r\n 'Stelleninserate': {\r\n 'expand': {\r\n 'Stelleninserat': {\r\n 'columns': [\r\n 'Id'\r\n ]\r\n }\r\n }\r\n }\r\n }\r\n }\r\n },\r\n \"modificationInfoEnabled\": true,\r\n \"key\": \"variables.data.$id\",\r\n \"keyProperty\": \"Id\",\r\n \"postOnSave\": true,\r\n \"filters\": [{\r\n \"webApiCustomKey\": \"addVerteilungstypVeroeffentlichenEmpfaenger\",\r\n \"webApiCustomValue\": \"true\"\r\n }, {\r\n \"webApiCustomKey\": \"AddStelleninseratCard\",\r\n \"webApiCustomValue\": \"true\"\r\n }, {\r\n \"webApiCustomKey\": \"addEinschaetzung\",\r\n \"webApiCustomValue\": \"true\"\r\n }]\r\n });\r\n this.addModel({\r\n \"id\": \"$m_TerminEmpfaengerElement\",\r\n \"webApiAction\": \"ZIT/Objekte/TerminEmpfaengerElement\",\r\n \"webApiExpand\": {\r\n 'Person': null\r\n },\r\n \"keyProperty\": \"Id\",\r\n \"filters\": []\r\n });\r\n this.addModel({\r\n \"id\": \"$m_ZustandAendern\",\r\n \"webApiAction\": \"ZIT/Stammdaten/Zustand\",\r\n \"keyProperty\": \"Id\",\r\n \"filters\": []\r\n });\r\n this.addModel({\r\n \"id\": \"$m_Lehrberuf\",\r\n \"webApiAction\": \"ZIT/Stammdaten/Lehrberuf\",\r\n \"keyProperty\": \"Id\",\r\n \"filters\": [{\r\n \"webApiCustomKey\": \"idTerminKopfElement\",\r\n \"webApiCustomValue\": \"models.data.$m_Termin.IdTerminKopfElement\"\r\n }]\r\n });\r\n this.addModel({\r\n \"id\": \"$m_TerminEmpfEinschEdit\",\r\n \"webApiAction\": \"ZIT/Objekte/TerminEmpfEinschElement\",\r\n \"keyProperty\": \"Id\",\r\n \"filters\": []\r\n });\r\n this.addCommand({\r\n \"binding\": {\r\n \"bindTo\": \"$f_TerminEditUtils.actionCommand\",\r\n \"bindToFQ\": \"functions.$f_TerminEditUtils.actionCommand\"\r\n }\r\n });\r\n this.addEditPopup({\r\n \"idContent\": \"zustandAendernEditPopupContent\",\r\n \"mappings\": [{\r\n \"to\": \"$id\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_ZustandAendern\",\r\n \"bindTo\": \"Id\",\r\n \"bindToFQ\": \"models.data.$m_ZustandAendern.Id\"\r\n }\r\n }, {\r\n \"to\": \"$v_zustandDatum\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Termin\",\r\n \"bindTo\": \"Kopf.TerminBestaetigungZustandDatum\",\r\n \"bindToFQ\": \"models.data.$m_Termin.Kopf.TerminBestaetigungZustandDatum\",\r\n \"propertyPrefix\": \"Kopf\"\r\n }\r\n }, {\r\n \"to\": \"$v_idTermin\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Termin\",\r\n \"bindTo\": \"Id\",\r\n \"bindToFQ\": \"models.data.$m_Termin.Id\"\r\n }\r\n }],\r\n \"id\": \"zustandAendernEditPopup\",\r\n \"options\": {\r\n \"optionsName\": \"zustandAendernEditPopupOptions\",\r\n \"optionsNameFQ\": \"zustandAendernEditPopupOptions\"\r\n },\r\n \"height\": \"auto\",\r\n \"width\": \"500px\",\r\n \"commands\": []\r\n });\r\n this.addEditPopup({\r\n \"idContent\": \"terminEmpfEinschEditPopupContent\",\r\n \"mappings\": [{\r\n \"to\": \"$id\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_TerminEmpfEinschEdit\",\r\n \"bindTo\": \"Id\",\r\n \"bindToFQ\": \"models.data.$m_TerminEmpfEinschEdit.Id\"\r\n }\r\n }, {\r\n \"to\": \"$v_idTermin\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Termin\",\r\n \"bindTo\": \"Id\",\r\n \"bindToFQ\": \"models.data.$m_Termin.Id\"\r\n }\r\n }],\r\n \"id\": \"terminEmpfEinschEditPopup\",\r\n \"options\": {\r\n \"optionsName\": \"terminEmpfEinschEditPopupOptions\",\r\n \"optionsNameFQ\": \"terminEmpfEinschEditPopupOptions\"\r\n },\r\n \"height\": \"90vh\",\r\n \"width\": \"800px\",\r\n \"commands\": []\r\n });\r\n this.addFunction(\"$f_TerminEditUtils\", $f_TerminEditUtils, \"functions.$f_TerminEditUtils\");\r\n this.widgetCreator.addValidationGroup(this, {\r\n \"id\": \"wd1\",\r\n \"options\": {\r\n \"optionsName\": \"wd1Options\",\r\n \"optionsNameFQ\": \"wd1Options\"\r\n }\r\n });\r\n this.widgetCreator.addTextBox(this, {\r\n \"maxLength\": 250,\r\n \"caption\": \"termin-heartbase-edit.r_betreff_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Termin\",\r\n \"bindTo\": \"Kopf.Betreff\",\r\n \"bindToFQ\": \"models.data.$m_Termin.Kopf.Betreff\",\r\n \"propertyPrefix\": \"Kopf\"\r\n },\r\n \"validationRules\": [{\r\n \"item\": {\r\n \"type\": \"required\",\r\n \"parameters\": []\r\n }\r\n }],\r\n \"id\": \"r_betreff\",\r\n \"options\": {\r\n \"optionsName\": \"r_betreffOptions\",\r\n \"optionsNameFQ\": \"r_betreffOptions\"\r\n }\r\n });\r\n this.widgetCreator.addTextBox(this, {\r\n \"maxLength\": 250,\r\n \"caption\": \"termin-heartbase-edit.r_kurzbezeichnung_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Termin\",\r\n \"bindTo\": \"Kopf.Kurzbezeichnung\",\r\n \"bindToFQ\": \"models.data.$m_Termin.Kopf.Kurzbezeichnung\",\r\n \"propertyPrefix\": \"Kopf\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_kurzbezeichnung\",\r\n \"options\": {\r\n \"optionsName\": \"r_kurzbezeichnungOptions\",\r\n \"optionsNameFQ\": \"r_kurzbezeichnungOptions\"\r\n }\r\n });\r\n this.widgetCreator.addTextBox(this, {\r\n \"maxLength\": 100,\r\n \"caption\": \"termin-heartbase-edit.r_ort_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Termin\",\r\n \"bindTo\": \"Kopf.Ort\",\r\n \"bindToFQ\": \"models.data.$m_Termin.Kopf.Ort\",\r\n \"propertyPrefix\": \"Kopf\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_ort\",\r\n \"options\": {\r\n \"optionsName\": \"r_ortOptions\",\r\n \"optionsNameFQ\": \"r_ortOptions\"\r\n }\r\n });\r\n this.widgetCreator.addDateBox(this, {\r\n \"format\": \"d\",\r\n \"caption\": \"termin-heartbase-edit.r_startdatum_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Termin\",\r\n \"bindTo\": \"Kopf.StartDatum\",\r\n \"bindToFQ\": \"models.data.$m_Termin.Kopf.StartDatum\",\r\n \"propertyPrefix\": \"Kopf\"\r\n },\r\n \"validationRules\": [{\r\n \"item\": {\r\n \"type\": \"required\",\r\n \"parameters\": []\r\n }\r\n }],\r\n \"onValueChanged\": \"functions.$f_TerminEditUtils.onStartDatumChanged\",\r\n \"id\": \"r_startDatum\",\r\n \"options\": {\r\n \"optionsName\": \"r_startDatumOptions\",\r\n \"optionsNameFQ\": \"r_startDatumOptions\"\r\n }\r\n });\r\n this.widgetCreator.addDateBox(this, {\r\n \"format\": \"t\",\r\n \"caption\": \"termin-heartbase-edit.r_startuhrzeit_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Termin\",\r\n \"bindTo\": \"Kopf.StartUhrzeit\",\r\n \"bindToFQ\": \"models.data.$m_Termin.Kopf.StartUhrzeit\",\r\n \"propertyPrefix\": \"Kopf\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_startUhrzeit\",\r\n \"options\": {\r\n \"optionsName\": \"r_startUhrzeitOptions\",\r\n \"optionsNameFQ\": \"r_startUhrzeitOptions\"\r\n }\r\n });\r\n this.widgetCreator.addDateBox(this, {\r\n \"format\": \"d\",\r\n \"caption\": \"termin-heartbase-edit.r_endedatum_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Termin\",\r\n \"bindTo\": \"Kopf.EndeDatum\",\r\n \"bindToFQ\": \"models.data.$m_Termin.Kopf.EndeDatum\",\r\n \"propertyPrefix\": \"Kopf\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_endeDatum\",\r\n \"options\": {\r\n \"optionsName\": \"r_endeDatumOptions\",\r\n \"optionsNameFQ\": \"r_endeDatumOptions\"\r\n }\r\n });\r\n this.widgetCreator.addDateBox(this, {\r\n \"format\": \"t\",\r\n \"caption\": \"termin-heartbase-edit.r_endeuhrzeit_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Termin\",\r\n \"bindTo\": \"Kopf.EndeUhrzeit\",\r\n \"bindToFQ\": \"models.data.$m_Termin.Kopf.EndeUhrzeit\",\r\n \"propertyPrefix\": \"Kopf\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_endeUhrzeit\",\r\n \"options\": {\r\n \"optionsName\": \"r_endeUhrzeitOptions\",\r\n \"optionsNameFQ\": \"r_endeUhrzeitOptions\"\r\n }\r\n });\r\n this.widgetCreator.addLookup(this, {\r\n \"idSelect\": \"geschaeftspartner\",\r\n \"filters\": [],\r\n \"caption\": \"termin-heartbase-edit.r_geschaeftspartner_caption\",\r\n \"isReadOnlyExpression\": \"models.data.$m_Termin.Id\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Termin\",\r\n \"bindTo\": \"Kopf.IdGeschaeftspartner\",\r\n \"bindToFQ\": \"models.data.$m_Termin.Kopf.IdGeschaeftspartner\",\r\n \"propertyPrefix\": \"Kopf\"\r\n },\r\n \"validationRules\": [{\r\n \"item\": {\r\n \"type\": \"required\",\r\n \"parameters\": []\r\n }\r\n }],\r\n \"id\": \"r_geschaeftspartner\",\r\n \"options\": {\r\n \"optionsName\": \"r_geschaeftspartnerOptions\",\r\n \"optionsNameFQ\": \"r_geschaeftspartnerOptions\"\r\n }\r\n });\r\n this.widgetCreator.addSelectBox(this, {\r\n \"idSelect\": \"terminTyp\",\r\n \"filters\": [],\r\n \"caption\": \"termin-heartbase-edit.r_termintyp_caption\",\r\n \"isReadOnlyExpression\": \"models.data.$m_Termin.Kopf.Id\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Termin\",\r\n \"bindTo\": \"Kopf.IdTerminTyp\",\r\n \"bindToFQ\": \"models.data.$m_Termin.Kopf.IdTerminTyp\",\r\n \"propertyPrefix\": \"Kopf\"\r\n },\r\n \"validationRules\": [{\r\n \"item\": {\r\n \"type\": \"required\",\r\n \"parameters\": []\r\n }\r\n }],\r\n \"id\": \"r_terminTyp\",\r\n \"options\": {\r\n \"optionsName\": \"r_terminTypOptions\",\r\n \"optionsNameFQ\": \"r_terminTypOptions\"\r\n }\r\n });\r\n this.widgetCreator.addFileUploaderWithViewer(this, {\r\n \"acceptTypeEnum\": 0,\r\n \"acceptType\": \"image/*\",\r\n \"height\": \"250px\",\r\n \"showClearButton\": false,\r\n \"caption\": \"termin-heartbase-edit.r_dmslinklogo_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Termin\",\r\n \"bindTo\": \"Kopf.DMSLinkLogo\",\r\n \"bindToFQ\": \"models.data.$m_Termin.Kopf.DMSLinkLogo\",\r\n \"propertyPrefix\": \"Kopf\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_dmsLinkLogo\",\r\n \"options\": {\r\n \"optionsName\": \"r_dmsLinkLogoOptions\",\r\n \"optionsNameFQ\": \"r_dmsLinkLogoOptions\"\r\n }\r\n });\r\n super.onConstructionFinished();\r\n }\r\n}","module.exports = \"\";","import * as fwx from \"../../../../framework/forms/form-export\";\r\nimport {\r\n TerminReadUtils\r\n} from \"./termin-read-utils\";\r\n\r\n@fwx.autoinject\r\nexport class TerminHeartbaseReadForm extends fwx.FormBase {\r\n constructor(\r\n element: Element,\r\n formBaseImport: fwx.FormBaseImport,\r\n private $f_TerminReadUtils: TerminReadUtils) {\r\n super(element, formBaseImport);\r\n this.id = \"termin-heartbase-read\";\r\n this.title = \"termin-heartbase-read.termin-heartbase-read_caption\";\r\n this.addModel({\r\n \"id\": \"$m_Termin\",\r\n \"webApiAction\": \"ZIT/Objekte/Termin\",\r\n \"webApiExpand\": {\r\n 'Empfaenger': {\r\n 'expand': {\r\n 'Person': {\r\n 'columns': [\r\n 'Id'\r\n ]\r\n }\r\n }\r\n },\r\n 'Trainer': {\r\n 'expand': {\r\n 'Ansprechperson': {\r\n 'columns': [\r\n 'Id'\r\n ]\r\n }\r\n }\r\n },\r\n 'Kopf': {\r\n 'expand': {\r\n 'Benutzer': null,\r\n 'Geschaeftspartner': null,\r\n 'TerminDateien': null\r\n }\r\n }\r\n },\r\n \"modificationInfoEnabled\": true,\r\n \"key\": \"variables.data.$id\",\r\n \"keyProperty\": \"Id\",\r\n \"postOnSave\": true,\r\n \"filters\": [{\r\n \"webApiCustomKey\": \"AddPersonCard\",\r\n \"webApiCustomValue\": \"true\"\r\n }, {\r\n \"webApiCustomKey\": \"AddPersonCardKlein\",\r\n \"webApiCustomValue\": \"true\"\r\n }, {\r\n \"webApiCustomKey\": \"AddPersonCardLehrberuf\",\r\n \"webApiCustomValue\": \"true\"\r\n }, {\r\n \"webApiCustomKey\": \"AddAnsprechpersonCard\",\r\n \"webApiCustomValue\": \"true\"\r\n }, {\r\n \"webApiCustomKey\": \"AddAnsprechpersonCardKlein\",\r\n \"webApiCustomValue\": \"true\"\r\n }, {\r\n \"webApiCustomKey\": \"addEinschaetzung\",\r\n \"webApiCustomValue\": \"true\"\r\n }, {\r\n \"webApiCustomKey\": \"addTeilnehmer\",\r\n \"webApiCustomValue\": \"true\"\r\n }, {\r\n \"webApiCustomKey\": \"AddPersonCardGeschaeftspartner\",\r\n \"webApiCustomValue\": \"true\"\r\n }, {\r\n \"webApiCustomKey\": \"AddAnsprechpersonCardBeschreibung\",\r\n \"webApiCustomValue\": \"true\"\r\n }]\r\n });\r\n this.addModel({\r\n \"id\": \"$m_TerminEmpfEinschEdit\",\r\n \"webApiAction\": \"ZIT/Objekte/TerminEmpfEinschElement\",\r\n \"keyProperty\": \"Id\",\r\n \"filters\": []\r\n });\r\n this.addModel({\r\n \"id\": \"$m_TerminEmpfEinschRel\",\r\n \"webApiAction\": \"ZIT/Objekte/TerminEmpfEinschElement\",\r\n \"keyProperty\": \"Id\",\r\n \"filters\": []\r\n });\r\n this.addCommand({\r\n \"binding\": {\r\n \"bindTo\": \"$f_TerminReadUtils.actionCommand\",\r\n \"bindToFQ\": \"functions.$f_TerminReadUtils.actionCommand\"\r\n }\r\n });\r\n this.addCommand({\r\n \"binding\": {\r\n \"bindTo\": \"$f_TerminReadUtils.saveCommand\",\r\n \"bindToFQ\": \"functions.$f_TerminReadUtils.saveCommand\"\r\n }\r\n });\r\n this.addEditPopup({\r\n \"idContent\": \"terminEmpfEinschEditPopupContent\",\r\n \"mappings\": [{\r\n \"to\": \"$id\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_TerminEmpfEinschEdit\",\r\n \"bindTo\": \"Id\",\r\n \"bindToFQ\": \"models.data.$m_TerminEmpfEinschEdit.Id\"\r\n }\r\n }, {\r\n \"to\": \"$v_idTermin\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Termin\",\r\n \"bindTo\": \"Id\",\r\n \"bindToFQ\": \"models.data.$m_Termin.Id\"\r\n }\r\n }],\r\n \"id\": \"terminEmpfEinschEditPopup\",\r\n \"options\": {\r\n \"optionsName\": \"terminEmpfEinschEditPopupOptions\",\r\n \"optionsNameFQ\": \"terminEmpfEinschEditPopupOptions\"\r\n },\r\n \"height\": \"90vh\",\r\n \"width\": \"800px\",\r\n \"commands\": []\r\n });\r\n this.addFunction(\"$f_TerminReadUtils\", $f_TerminReadUtils, \"functions.$f_TerminReadUtils\");\r\n this.widgetCreator.addValidationGroup(this, {\r\n \"id\": \"wd1\",\r\n \"options\": {\r\n \"optionsName\": \"wd1Options\",\r\n \"optionsNameFQ\": \"wd1Options\"\r\n }\r\n });\r\n this.widgetCreator.addListView(this, {\r\n \"itemClass\": \"z--list-view-inline-item\",\r\n \"useDefaultListItemStyle\": false,\r\n \"optionsToolbar\": {\r\n \"optionsName\": \"r_einschaetzungenListViewToolbarOptions\",\r\n \"optionsNameFQ\": \"r_einschaetzungenListViewToolbarOptions\"\r\n },\r\n \"binding\": {\r\n \"dataContext\": \"$m_Termin\"\r\n },\r\n \"isRelation\": true,\r\n \"relationBinding\": {\r\n \"dataContext\": \"$m_TerminEmpfEinschRel\",\r\n \"bindTo\": \"IdTermin\",\r\n \"bindToFQ\": \"models.data.$m_TerminEmpfEinschRel.IdTermin\"\r\n },\r\n \"dataModel\": \"$m_Termin\",\r\n \"listEdits\": [],\r\n \"filters\": [],\r\n \"commands\": [],\r\n \"id\": \"r_einschaetzungenListView\",\r\n \"options\": {\r\n \"optionsName\": \"r_einschaetzungenListViewOptions\",\r\n \"optionsNameFQ\": \"r_einschaetzungenListViewOptions\"\r\n }\r\n });\r\n this.widgetCreator.addListView(this, {\r\n \"itemClass\": \"col-xs-12 col-sm-6\",\r\n \"useDefaultListItemStyle\": false,\r\n \"optionsToolbar\": {\r\n \"optionsName\": \"r_bewerbungenListViewToolbarOptions\",\r\n \"optionsNameFQ\": \"r_bewerbungenListViewToolbarOptions\"\r\n },\r\n \"binding\": {\r\n \"bindTo\": \"$f_TerminReadUtils.teilnehmerDataSource\",\r\n \"bindToFQ\": \"functions.$f_TerminReadUtils.teilnehmerDataSource\"\r\n },\r\n \"pageSize\": 50,\r\n \"listEdits\": [],\r\n \"filters\": [],\r\n \"commands\": [],\r\n \"id\": \"r_bewerbungenListView\",\r\n \"options\": {\r\n \"optionsName\": \"r_bewerbungenListViewOptions\",\r\n \"optionsNameFQ\": \"r_bewerbungenListViewOptions\"\r\n }\r\n });\r\n this.widgetCreator.addNumberBox(this, {\r\n \"min\": 0.0,\r\n \"max\": 10.0,\r\n \"isReadOnlyExpression\": \"models.data.$m_Termin._Einschaetzung.IsFreigegeben\",\r\n \"binding\": {\r\n \"bindTo\": \"$m_Termin._Einschaetzung.VerhaltenTrainingSE\",\r\n \"bindToFQ\": \"models.data.$m_Termin._Einschaetzung.VerhaltenTrainingSE\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_verhaltenTrainingSE\",\r\n \"options\": {\r\n \"optionsName\": \"r_verhaltenTrainingSEOptions\",\r\n \"optionsNameFQ\": \"r_verhaltenTrainingSEOptions\"\r\n }\r\n });\r\n this.widgetCreator.addNumberBox(this, {\r\n \"min\": 0.0,\r\n \"max\": 10.0,\r\n \"isReadOnlyExpression\": \"models.data.$m_Termin._Einschaetzung.IsFreigegeben\",\r\n \"binding\": {\r\n \"bindTo\": \"$m_Termin._Einschaetzung.VerhaltenArbeitenSE\",\r\n \"bindToFQ\": \"models.data.$m_Termin._Einschaetzung.VerhaltenArbeitenSE\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_verhaltenArbeitenSE\",\r\n \"options\": {\r\n \"optionsName\": \"r_verhaltenArbeitenSEOptions\",\r\n \"optionsNameFQ\": \"r_verhaltenArbeitenSEOptions\"\r\n }\r\n });\r\n this.widgetCreator.addNumberBox(this, {\r\n \"min\": 0.0,\r\n \"max\": 10.0,\r\n \"isReadOnlyExpression\": \"models.data.$m_Termin._Einschaetzung.IsFreigegeben\",\r\n \"binding\": {\r\n \"bindTo\": \"$m_Termin._Einschaetzung.VerhaltenUmgangKollegenSE\",\r\n \"bindToFQ\": \"models.data.$m_Termin._Einschaetzung.VerhaltenUmgangKollegenSE\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_verhaltenUmgangKollegenSE\",\r\n \"options\": {\r\n \"optionsName\": \"r_verhaltenUmgangKollegenSEOptions\",\r\n \"optionsNameFQ\": \"r_verhaltenUmgangKollegenSEOptions\"\r\n }\r\n });\r\n this.widgetCreator.addNumberBox(this, {\r\n \"min\": 0.0,\r\n \"max\": 10.0,\r\n \"isReadOnlyExpression\": \"models.data.$m_Termin._Einschaetzung.IsFreigegeben\",\r\n \"binding\": {\r\n \"bindTo\": \"$m_Termin._Einschaetzung.UmgangVerhaltensregelnSE\",\r\n \"bindToFQ\": \"models.data.$m_Termin._Einschaetzung.UmgangVerhaltensregelnSE\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_umgangVerhaltensregelnSE\",\r\n \"options\": {\r\n \"optionsName\": \"r_umgangVerhaltensregelnSEOptions\",\r\n \"optionsNameFQ\": \"r_umgangVerhaltensregelnSEOptions\"\r\n }\r\n });\r\n this.widgetCreator.addTextArea(this, {\r\n \"height\": \"100px\",\r\n \"maxLength\": 1000,\r\n \"caption\": \"termin-heartbase-read.r_einscheigstaerken_caption\",\r\n \"isReadOnlyExpression\": \"models.data.$m_Termin._Einschaetzung.IsFreigegeben\",\r\n \"binding\": {\r\n \"bindTo\": \"$m_Termin._Einschaetzung.EinschStaerken\",\r\n \"bindToFQ\": \"models.data.$m_Termin._Einschaetzung.EinschStaerken\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_einschEigStaerken\",\r\n \"options\": {\r\n \"optionsName\": \"r_einschEigStaerkenOptions\",\r\n \"optionsNameFQ\": \"r_einschEigStaerkenOptions\"\r\n }\r\n });\r\n this.widgetCreator.addTextArea(this, {\r\n \"height\": \"100px\",\r\n \"maxLength\": 1000,\r\n \"caption\": \"termin-heartbase-read.r_einscheigweiterentw_caption\",\r\n \"isReadOnlyExpression\": \"models.data.$m_Termin._Einschaetzung.IsFreigegeben\",\r\n \"binding\": {\r\n \"bindTo\": \"$m_Termin._Einschaetzung.EinschWeiterentw\",\r\n \"bindToFQ\": \"models.data.$m_Termin._Einschaetzung.EinschWeiterentw\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_einschEigWeiterentw\",\r\n \"options\": {\r\n \"optionsName\": \"r_einschEigWeiterentwOptions\",\r\n \"optionsNameFQ\": \"r_einschEigWeiterentwOptions\"\r\n }\r\n });\r\n this.widgetCreator.addTextArea(this, {\r\n \"height\": \"100px\",\r\n \"maxLength\": 1000,\r\n \"caption\": \"termin-heartbase-read.r_einscheigdafuermachen_caption\",\r\n \"isReadOnlyExpression\": \"models.data.$m_Termin._Einschaetzung.IsFreigegeben\",\r\n \"binding\": {\r\n \"bindTo\": \"$m_Termin._Einschaetzung.EinschDafuerMachen\",\r\n \"bindToFQ\": \"models.data.$m_Termin._Einschaetzung.EinschDafuerMachen\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_einschEigDafuerMachen\",\r\n \"options\": {\r\n \"optionsName\": \"r_einschEigDafuerMachenOptions\",\r\n \"optionsNameFQ\": \"r_einschEigDafuerMachenOptions\"\r\n }\r\n });\r\n super.onConstructionFinished();\r\n }\r\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\";\r\n\r\n@fwx.autoinject\r\nexport class TerminListForm extends fwx.FormBase {\r\n constructor(\r\n element: Element,\r\n formBaseImport: fwx.FormBaseImport) {\r\n super(element, formBaseImport);\r\n this.id = \"termin-list\";\r\n this.title = \"termin-list.termin-list_caption\";\r\n this.addModel({\r\n \"id\": \"$m_Termin\",\r\n \"webApiAction\": \"ZIT/Objekte/Termin\",\r\n \"webApiExpand\": {\r\n 'Kopf': {\r\n 'expand': {\r\n 'Geschaeftspartner': {\r\n 'expand': {\r\n 'Geschaeftspartnerdaten': null\r\n }\r\n }\r\n }\r\n }\r\n },\r\n \"modificationInfoEnabled\": true,\r\n \"keyProperty\": \"Id\",\r\n \"filters\": []\r\n });\r\n this.widgetCreator.addValidationGroup(this, {\r\n \"id\": \"wd1\",\r\n \"options\": {\r\n \"optionsName\": \"wd1Options\",\r\n \"optionsNameFQ\": \"wd1Options\"\r\n }\r\n });\r\n this.widgetCreator.addDataGrid(this, {\r\n \"columns\": [{\r\n \"id\": \"r_terminGeschaeftspartner\",\r\n \"caption\": \"termin-list.r_termingeschaeftspartner_caption\",\r\n \"bindTo\": \"Kopf.Geschaeftspartner.Geschaeftspartnerdaten.Name1\",\r\n \"minWidth\": 100\r\n }, {\r\n \"id\": \"r_terminBetreff\",\r\n \"caption\": \"termin-list.r_terminbetreff_caption\",\r\n \"bindTo\": \"Kopf.Betreff\",\r\n \"minWidth\": 100\r\n }, {\r\n \"id\": \"r_terminStart\",\r\n \"caption\": \"termin-list.r_terminstart_caption\",\r\n \"bindTo\": \"Kopf.StartDatum\",\r\n \"width\": \"90px\",\r\n \"format\": \"d\"\r\n }, {\r\n \"id\": \"r_terminEnde\",\r\n \"caption\": \"termin-list.r_terminende_caption\",\r\n \"bindTo\": \"Kopf.EndeDatum\",\r\n \"width\": \"90px\",\r\n \"format\": \"d\"\r\n }],\r\n \"optionsToolbar\": {\r\n \"optionsName\": \"r_terminGridToolbarOptions\",\r\n \"optionsNameFQ\": \"r_terminGridToolbarOptions\"\r\n },\r\n \"binding\": {\r\n \"dataContext\": \"$m_Termin\"\r\n },\r\n \"dataModel\": \"$m_Termin\",\r\n \"editUrl\": \"Objekte/Termin\",\r\n \"addShortscuts\": true,\r\n \"isMainList\": true,\r\n \"height\": \"100%\",\r\n \"listEdits\": [],\r\n \"filters\": [],\r\n \"commands\": [],\r\n \"id\": \"r_terminGrid\",\r\n \"options\": {\r\n \"optionsName\": \"r_terminGridOptions\",\r\n \"optionsNameFQ\": \"r_terminGridOptions\"\r\n }\r\n });\r\n super.onConstructionFinished();\r\n }\r\n}","module.exports = \"\";","import * as fwx from \"../../../../framework/forms/form-export\";\r\nimport {\r\n TerminReadUtils\r\n} from \"./termin-read-utils\";\r\n\r\n@fwx.autoinject\r\nexport class TerminReadForm extends fwx.FormBase {\r\n constructor(\r\n element: Element,\r\n formBaseImport: fwx.FormBaseImport,\r\n private $f_TerminReadUtils: TerminReadUtils) {\r\n super(element, formBaseImport);\r\n this.id = \"termin-read\";\r\n this.title = \"termin-read.termin-read_caption\";\r\n this.addModel({\r\n \"id\": \"$m_Termin\",\r\n \"webApiAction\": \"ZIT/Objekte/Termin\",\r\n \"webApiExpand\": {\r\n 'Empfaenger': null,\r\n 'Kopf': {\r\n 'expand': {\r\n 'Benutzer': null,\r\n 'Geschaeftspartner': null\r\n }\r\n }\r\n },\r\n \"modificationInfoEnabled\": true,\r\n \"key\": \"variables.data.$id\",\r\n \"keyProperty\": \"Id\",\r\n \"filters\": [{\r\n \"webApiCustomKey\": \"addReadFormData\",\r\n \"webApiCustomValue\": \"true\"\r\n }]\r\n });\r\n this.addCommand({\r\n \"binding\": {\r\n \"bindTo\": \"$f_TerminReadUtils.actionCommand\",\r\n \"bindToFQ\": \"functions.$f_TerminReadUtils.actionCommand\"\r\n }\r\n });\r\n this.addFunction(\"$f_TerminReadUtils\", $f_TerminReadUtils, \"functions.$f_TerminReadUtils\");\r\n this.widgetCreator.addValidationGroup(this, {\r\n \"id\": \"wd1\",\r\n \"options\": {\r\n \"optionsName\": \"wd1Options\",\r\n \"optionsNameFQ\": \"wd1Options\"\r\n }\r\n });\r\n this.widgetCreator.addTextArea(this, {\r\n \"height\": \"50px\",\r\n \"maxLength\": 250,\r\n \"placeholder\": \"termin-read.r_absagegrund_placeholder\",\r\n \"binding\": {\r\n \"bindTo\": \"$m_Termin.AbsageGrund\",\r\n \"bindToFQ\": \"models.data.$m_Termin.AbsageGrund\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_absageGrund\",\r\n \"options\": {\r\n \"optionsName\": \"r_absageGrundOptions\",\r\n \"optionsNameFQ\": \"r_absageGrundOptions\"\r\n }\r\n });\r\n super.onConstructionFinished();\r\n }\r\n}","module.exports = \"\";","import * as fwx from \"../../../../framework/forms/form-export\";\r\nimport {\r\n TerminZustandAendernUtils\r\n} from \"./termin-zustand-aendern-utils\";\r\n\r\n@fwx.autoinject\r\nexport class TerminZustandAendernEditForm extends fwx.FormBase {\r\n constructor(\r\n element: Element,\r\n formBaseImport: fwx.FormBaseImport,\r\n private $f_TerminZustandAendernUtils: TerminZustandAendernUtils) {\r\n super(element, formBaseImport);\r\n this.id = \"termin-zustand-aendern\";\r\n this.title = \"termin-zustand-aendern.termin-zustand-aendern_caption\";\r\n this.addModel({\r\n \"id\": \"$m_Zustand\",\r\n \"webApiAction\": \"ZIT/Stammdaten/Zustand\",\r\n \"key\": \"variables.data.$id\",\r\n \"keyProperty\": \"Id\",\r\n \"filters\": []\r\n });\r\n this.addModel({\r\n \"id\": \"$m_ZustandDataSource\",\r\n \"webApiAction\": \"ZIT/Stammdaten/Zustand\",\r\n \"webApiWhere\": [\"Bereich\", {\r\n \"isBound\": true,\r\n \"expression\": \"models.data.$m_Zustand.Bereich\"\r\n }],\r\n \"keyProperty\": \"Id\",\r\n \"filters\": []\r\n });\r\n this.addVariable({\r\n \"id\": \"$v_idTermin\"\r\n });\r\n this.addVariable({\r\n \"id\": \"$v_zustandDatum\"\r\n });\r\n this.addCommand({\r\n \"binding\": {\r\n \"bindTo\": \"$f_TerminZustandAendernUtils.saveCommand\",\r\n \"bindToFQ\": \"functions.$f_TerminZustandAendernUtils.saveCommand\"\r\n }\r\n });\r\n this.addFunction(\"$f_TerminZustandAendernUtils\", $f_TerminZustandAendernUtils, \"functions.$f_TerminZustandAendernUtils\");\r\n this.widgetCreator.addValidationGroup(this, {\r\n \"id\": \"wd1\",\r\n \"options\": {\r\n \"optionsName\": \"wd1Options\",\r\n \"optionsNameFQ\": \"wd1Options\"\r\n }\r\n });\r\n this.widgetCreator.addValidationGroup(this, {\r\n \"id\": \"r_aenderungZustandValidationGroup\",\r\n \"options\": {\r\n \"optionsName\": \"r_aenderungZustandValidationGroupOptions\",\r\n \"optionsNameFQ\": \"r_aenderungZustandValidationGroupOptions\"\r\n }\r\n });\r\n super.onConstructionFinished();\r\n }\r\n}","module.exports = \"\";","import { autoinject, bindable, computedFrom } from \"aurelia-framework\";\r\nimport { ModelUtilsService } from '../../../../framework/forms/export';\r\nimport { FormPopupService } from '../../../services/form-popup-service';\r\nimport { StartupService } from '../../../services/export';\r\n\r\n@autoinject\r\nexport class Massnahmen {\r\n constructor(\r\n private _modelUtilsService: ModelUtilsService,\r\n private _formPopupService: FormPopupService,\r\n private _startupService: StartupService\r\n ) {\r\n this.selectedColor = this._startupService.startupInfo.Skin.Farbe20Opacity;\r\n }\r\n\r\n @bindable mainModel: any;\r\n massnahmeVisible: any = null;\r\n selectedColor: string;\r\n\r\n bezeichnungOptions: DevExpress.ui.dxTextBoxOptions = {\r\n placeholder: \"Bezeichnung\",\r\n bindingOptions: {\r\n value: \"massnahme.Bezeichnung\"\r\n }\r\n };\r\n isErfuelltOptions: DevExpress.ui.dxCheckBoxOptions = {\r\n text: \"erfüllt?\",\r\n bindingOptions: {\r\n value: \"massnahme.IsErfuellt\"\r\n }\r\n };\r\n kommentarOptions: DevExpress.ui.dxTextAreaOptions = {\r\n height: \"75px\",\r\n bindingOptions: {\r\n value: \"massnahme.Kommentar\"\r\n }\r\n };\r\n requiredValidatorOptions: DevExpress.ui.dxValidatorOptions = {\r\n validationRules: [{ type: \"required\" }]\r\n };\r\n\r\n addMassnahme() {\r\n if (!this.mainModel.Kopf.ZielMassnahmen) {\r\n this.mainModel.Kopf.ZielMassnahmen = [];\r\n }\r\n\r\n this._formPopupService.formPopup.show({\r\n titel: \"Neue Maßnahme\",\r\n data: {},\r\n formDef: [{\r\n dataField: \"bezeichnung\",\r\n label: {\r\n text: \"Bezeichnung\",\r\n location: \"top\"\r\n },\r\n isRequired: true,\r\n editorType: \"dxTextBox\",\r\n editorOptions: {\r\n maxLength: 250\r\n }\r\n }],\r\n onFormSubmit: (d) => {\r\n this.mainModel.Kopf.ZielMassnahmen.push({\r\n Bezeichnung: d.bezeichnung,\r\n IsErfuellt: false\r\n });\r\n this._modelUtilsService.setDirty(this.mainModel);\r\n }\r\n })\r\n }\r\n\r\n onHeaderClick(ev: Event, massnahme: any) {\r\n if (this.massnahmeVisible == massnahme) {\r\n this.massnahmeVisible = null;\r\n } else {\r\n this.massnahmeVisible = massnahme;\r\n }\r\n }\r\n onDateiListChanged() {\r\n this._modelUtilsService.setDirty(this.mainModel);\r\n }\r\n onErfuelltClick(ev: Event, massnahme: any) {\r\n ev.stopPropagation();\r\n ev.preventDefault();\r\n\r\n massnahme.IsErfuellt = !massnahme.IsErfuellt;\r\n this._modelUtilsService.setDirty(this.mainModel);\r\n }\r\n onDeleteClick(ev: Event, massnahme: any) {\r\n ev.stopPropagation();\r\n ev.preventDefault();\r\n\r\n const massnahmen: any[] = this.mainModel.Kopf.ZielMassnahmen;\r\n const index = massnahmen.indexOf(massnahme);\r\n if (index < 0) {\r\n return;\r\n }\r\n\r\n massnahmen.splice(index, 1);\r\n this._modelUtilsService.setDirty(this.mainModel);\r\n }\r\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\";\r\nimport {\r\n ZielEditUtils\r\n} from \"./ziel-edit-utils\";\r\n\r\n@fwx.autoinject\r\nexport class ZielEditForm extends fwx.FormBase {\r\n constructor(\r\n element: Element,\r\n formBaseImport: fwx.FormBaseImport,\r\n private $f_ZielEditUtils: ZielEditUtils) {\r\n super(element, formBaseImport);\r\n this.id = \"ziel-edit\";\r\n this.title = \"ziel-edit.ziel-edit_caption\";\r\n this.addModel({\r\n \"id\": \"$m_Ziel\",\r\n \"webApiAction\": \"ZIT/Objekte/Ziel\",\r\n \"webApiExpand\": {\r\n 'Kopf': {\r\n 'expand': {\r\n 'ZielMassnahmen': {\r\n 'expand': {\r\n 'ZielMassnahmeDateien': null\r\n }\r\n },\r\n 'ZielDateien': null\r\n }\r\n }\r\n },\r\n \"modificationInfoEnabled\": true,\r\n \"key\": \"variables.data.$id\",\r\n \"keyProperty\": \"Id\",\r\n \"postOnSave\": true,\r\n \"filters\": []\r\n });\r\n this.addCommand({\r\n \"binding\": {\r\n \"bindTo\": \"$f_ZielEditUtils.createNachrichtCommand\",\r\n \"bindToFQ\": \"functions.$f_ZielEditUtils.createNachrichtCommand\"\r\n }\r\n });\r\n this.addFunction(\"$f_ZielEditUtils\", $f_ZielEditUtils, \"functions.$f_ZielEditUtils\");\r\n this.widgetCreator.addValidationGroup(this, {\r\n \"id\": \"wd1\",\r\n \"options\": {\r\n \"optionsName\": \"wd1Options\",\r\n \"optionsNameFQ\": \"wd1Options\"\r\n }\r\n });\r\n this.widgetCreator.addLookup(this, {\r\n \"idSelect\": \"person\",\r\n \"filters\": [],\r\n \"caption\": \"ziel-edit.r_person_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Ziel\",\r\n \"bindTo\": \"Kopf.IdObjekt\",\r\n \"bindToFQ\": \"models.data.$m_Ziel.Kopf.IdObjekt\",\r\n \"propertyPrefix\": \"Kopf\"\r\n },\r\n \"validationRules\": [{\r\n \"item\": {\r\n \"type\": \"required\",\r\n \"parameters\": []\r\n }\r\n }],\r\n \"id\": \"r_person\",\r\n \"options\": {\r\n \"optionsName\": \"r_personOptions\",\r\n \"optionsNameFQ\": \"r_personOptions\"\r\n }\r\n });\r\n this.widgetCreator.addLookup(this, {\r\n \"idSelect\": \"ansprechperson\",\r\n \"filters\": [{\r\n \"webApiCustomKey\": \"IdPerson\",\r\n \"webApiCustomValue\": \"models.data.$m_Ziel.Kopf.IdObjekt\"\r\n }],\r\n \"caption\": \"ziel-edit.r_ansprechperson_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Ziel\",\r\n \"bindTo\": \"Kopf.IdAnsprechperson\",\r\n \"bindToFQ\": \"models.data.$m_Ziel.Kopf.IdAnsprechperson\",\r\n \"propertyPrefix\": \"Kopf\"\r\n },\r\n \"validationRules\": [{\r\n \"item\": {\r\n \"type\": \"required\",\r\n \"parameters\": []\r\n }\r\n }],\r\n \"id\": \"r_ansprechperson\",\r\n \"options\": {\r\n \"optionsName\": \"r_ansprechpersonOptions\",\r\n \"optionsNameFQ\": \"r_ansprechpersonOptions\"\r\n }\r\n });\r\n this.widgetCreator.addTextBox(this, {\r\n \"maxLength\": 250,\r\n \"caption\": \"ziel-edit.r_bezeichnung_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Ziel\",\r\n \"bindTo\": \"Kopf.Bezeichnung\",\r\n \"bindToFQ\": \"models.data.$m_Ziel.Kopf.Bezeichnung\",\r\n \"propertyPrefix\": \"Kopf\"\r\n },\r\n \"validationRules\": [{\r\n \"item\": {\r\n \"type\": \"required\",\r\n \"parameters\": []\r\n }\r\n }],\r\n \"id\": \"r_bezeichnung\",\r\n \"options\": {\r\n \"optionsName\": \"r_bezeichnungOptions\",\r\n \"optionsNameFQ\": \"r_bezeichnungOptions\"\r\n }\r\n });\r\n this.widgetCreator.addTextArea(this, {\r\n \"height\": \"75px\",\r\n \"caption\": \"ziel-edit.r_kommentar_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Ziel\",\r\n \"bindTo\": \"Kopf.Kommentar\",\r\n \"bindToFQ\": \"models.data.$m_Ziel.Kopf.Kommentar\",\r\n \"propertyPrefix\": \"Kopf\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_kommentar\",\r\n \"options\": {\r\n \"optionsName\": \"r_kommentarOptions\",\r\n \"optionsNameFQ\": \"r_kommentarOptions\"\r\n }\r\n });\r\n this.widgetCreator.addSelectBox(this, {\r\n \"idSelect\": \"ZielSichtbarFuerTyp\",\r\n \"filters\": [],\r\n \"caption\": \"ziel-edit.r_sichtbarfuer_caption\",\r\n \"isReadOnlyExpression\": \"models.data.$m_Ziel.Id\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Ziel\",\r\n \"bindTo\": \"Kopf.SichtbarFuer\",\r\n \"bindToFQ\": \"models.data.$m_Ziel.Kopf.SichtbarFuer\",\r\n \"propertyPrefix\": \"Kopf\"\r\n },\r\n \"validationRules\": [{\r\n \"item\": {\r\n \"type\": \"required\",\r\n \"parameters\": []\r\n }\r\n }],\r\n \"id\": \"r_sichtbarFuer\",\r\n \"options\": {\r\n \"optionsName\": \"r_sichtbarFuerOptions\",\r\n \"optionsNameFQ\": \"r_sichtbarFuerOptions\"\r\n }\r\n });\r\n this.widgetCreator.addTextArea(this, {\r\n \"height\": \"75px\",\r\n \"caption\": \"ziel-edit.r_kommentarausbilder_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_Ziel\",\r\n \"bindTo\": \"Kopf.KommentarAusbilder\",\r\n \"bindToFQ\": \"models.data.$m_Ziel.Kopf.KommentarAusbilder\",\r\n \"propertyPrefix\": \"Kopf\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_kommentarAusbilder\",\r\n \"options\": {\r\n \"optionsName\": \"r_kommentarAusbilderOptions\",\r\n \"optionsNameFQ\": \"r_kommentarAusbilderOptions\"\r\n }\r\n });\r\n super.onConstructionFinished();\r\n }\r\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\";\r\n\r\n@fwx.autoinject\r\nexport class ZielListForm extends fwx.FormBase {\r\n constructor(\r\n element: Element,\r\n formBaseImport: fwx.FormBaseImport) {\r\n super(element, formBaseImport);\r\n this.id = \"ziel-list\";\r\n this.title = \"ziel-list.ziel-list_caption\";\r\n this.addModel({\r\n \"id\": \"$m_Ziel\",\r\n \"webApiAction\": \"ZIT/Objekte/Ziel\",\r\n \"webApiExpand\": {\r\n Kopf: null\r\n },\r\n \"modificationInfoEnabled\": true,\r\n \"keyProperty\": \"Id\",\r\n \"filters\": []\r\n });\r\n this.widgetCreator.addValidationGroup(this, {\r\n \"id\": \"wd1\",\r\n \"options\": {\r\n \"optionsName\": \"wd1Options\",\r\n \"optionsNameFQ\": \"wd1Options\"\r\n }\r\n });\r\n this.widgetCreator.addDataGrid(this, {\r\n \"columns\": [{\r\n \"id\": \"r_zielBezeichnung\",\r\n \"caption\": \"ziel-list.r_zielbezeichnung_caption\",\r\n \"bindTo\": \"Kopf.Bezeichnung\"\r\n }],\r\n \"optionsToolbar\": {\r\n \"optionsName\": \"r_zielGridToolbarOptions\",\r\n \"optionsNameFQ\": \"r_zielGridToolbarOptions\"\r\n },\r\n \"binding\": {\r\n \"dataContext\": \"$m_Ziel\"\r\n },\r\n \"dataModel\": \"$m_Ziel\",\r\n \"editUrl\": \"Objekte/Ziel\",\r\n \"addShortscuts\": true,\r\n \"isMainList\": true,\r\n \"height\": \"100%\",\r\n \"listEdits\": [],\r\n \"filters\": [],\r\n \"commands\": [],\r\n \"id\": \"r_zielGrid\",\r\n \"options\": {\r\n \"optionsName\": \"r_zielGridOptions\",\r\n \"optionsNameFQ\": \"r_zielGridOptions\"\r\n }\r\n });\r\n super.onConstructionFinished();\r\n }\r\n}","module.exports = \"\";","import * as fwx from \"../../../framework/forms/form-export\";\r\nimport {\r\n SchnupperterminListUtils\r\n} from \"./schnuppertermin-list-utils\";\r\nimport {\r\n SchnupperterminAnlageGpUtils\r\n} from \"./schnuppertermin-anlage-gp-utils\";\r\n\r\n@fwx.autoinject\r\nexport class SchnupperterminListForm extends fwx.FormBase {\r\n constructor(\r\n element: Element,\r\n formBaseImport: fwx.FormBaseImport,\r\n private $f_SchnupperterminListUtils: SchnupperterminListUtils,\r\n private $f_SchnupperterminAnlageGpUtils: SchnupperterminAnlageGpUtils) {\r\n super(element, formBaseImport);\r\n this.id = \"schnupperterminList\";\r\n this.title = \"schnupperterminList.schnupperterminlist_caption\";\r\n this.addCommand({\r\n \"binding\": {\r\n \"bindTo\": \"$f_SchnupperterminListUtils.schnupperterminReportAuswahlCommand\",\r\n \"bindToFQ\": \"functions.$f_SchnupperterminListUtils.schnupperterminReportAuswahlCommand\"\r\n }\r\n });\r\n this.addCommand({\r\n \"binding\": {\r\n \"bindTo\": \"$f_SchnupperterminAnlageGpUtils.anlageGpCommand\",\r\n \"bindToFQ\": \"functions.$f_SchnupperterminAnlageGpUtils.anlageGpCommand\"\r\n }\r\n });\r\n this.addFunction(\"$f_SchnupperterminListUtils\", $f_SchnupperterminListUtils, \"functions.$f_SchnupperterminListUtils\");\r\n this.addFunction(\"$f_SchnupperterminAnlageGpUtils\", $f_SchnupperterminAnlageGpUtils, \"functions.$f_SchnupperterminAnlageGpUtils\");\r\n this.widgetCreator.addValidationGroup(this, {\r\n \"id\": \"wd1\",\r\n \"options\": {\r\n \"optionsName\": \"wd1Options\",\r\n \"optionsNameFQ\": \"wd1Options\"\r\n }\r\n });\r\n this.widgetCreator.addPopup(this, {\r\n \"id\": \"r_gpAnlage\",\r\n \"options\": {\r\n \"optionsName\": \"r_gpAnlageOptions\",\r\n \"optionsNameFQ\": \"r_gpAnlageOptions\"\r\n },\r\n \"caption\": \"schnupperterminList.r_gpanlage_caption\",\r\n \"height\": \"auto\",\r\n \"width\": \"900px\",\r\n \"showCloseButton\": true,\r\n \"commands\": [{\r\n \"binding\": {\r\n \"dataContext\": \"$f_SchnupperterminAnlageGpUtils\",\r\n \"bindTo\": \"saveGpCommand\",\r\n \"bindToFQ\": \"functions.$f_SchnupperterminAnlageGpUtils.saveGpCommand\"\r\n }\r\n }]\r\n });\r\n this.widgetCreator.addValidationGroup(this, {\r\n \"id\": \"r_gpValidationGroup\",\r\n \"options\": {\r\n \"optionsName\": \"r_gpValidationGroupOptions\",\r\n \"optionsNameFQ\": \"r_gpValidationGroupOptions\"\r\n }\r\n });\r\n this.widgetCreator.addTextBox(this, {\r\n \"maxLength\": 200,\r\n \"caption\": \"schnupperterminList.r_gpname1_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$f_SchnupperterminAnlageGpUtils\",\r\n \"bindTo\": \"model.Name1\",\r\n \"bindToFQ\": \"functions.$f_SchnupperterminAnlageGpUtils.model.Name1\",\r\n \"propertyPrefix\": \"model\"\r\n },\r\n \"validationRules\": [{\r\n \"item\": {\r\n \"type\": \"required\",\r\n \"parameters\": []\r\n }\r\n }],\r\n \"id\": \"r_gpName1\",\r\n \"options\": {\r\n \"optionsName\": \"r_gpName1Options\",\r\n \"optionsNameFQ\": \"r_gpName1Options\"\r\n }\r\n });\r\n this.widgetCreator.addTextBox(this, {\r\n \"maxLength\": 200,\r\n \"caption\": \"schnupperterminList.r_gpname2_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$f_SchnupperterminAnlageGpUtils\",\r\n \"bindTo\": \"model.Name2\",\r\n \"bindToFQ\": \"functions.$f_SchnupperterminAnlageGpUtils.model.Name2\",\r\n \"propertyPrefix\": \"model\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_gpName2\",\r\n \"options\": {\r\n \"optionsName\": \"r_gpName2Options\",\r\n \"optionsNameFQ\": \"r_gpName2Options\"\r\n }\r\n });\r\n this.widgetCreator.addTextBox(this, {\r\n \"maxLength\": 100,\r\n \"mode\": \"email\",\r\n \"caption\": \"schnupperterminList.r_gpemail_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$f_SchnupperterminAnlageGpUtils\",\r\n \"bindTo\": \"model.Email\",\r\n \"bindToFQ\": \"functions.$f_SchnupperterminAnlageGpUtils.model.Email\",\r\n \"propertyPrefix\": \"model\"\r\n },\r\n \"validationRules\": [{\r\n \"item\": {\r\n \"type\": \"required\",\r\n \"parameters\": []\r\n }\r\n }],\r\n \"id\": \"r_gpEmail\",\r\n \"options\": {\r\n \"optionsName\": \"r_gpEmailOptions\",\r\n \"optionsNameFQ\": \"r_gpEmailOptions\"\r\n }\r\n });\r\n this.widgetCreator.addSelectBox(this, {\r\n \"idSelect\": \"landvorwahl\",\r\n \"filters\": [],\r\n \"caption\": \"schnupperterminList.r_gpvorwahl_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$f_SchnupperterminAnlageGpUtils\",\r\n \"bindTo\": \"model.Vorwahl\",\r\n \"bindToFQ\": \"functions.$f_SchnupperterminAnlageGpUtils.model.Vorwahl\",\r\n \"propertyPrefix\": \"model\"\r\n },\r\n \"validationRules\": [{\r\n \"item\": {\r\n \"type\": \"required\",\r\n \"parameters\": []\r\n }\r\n }],\r\n \"id\": \"r_gpVorwahl\",\r\n \"options\": {\r\n \"optionsName\": \"r_gpVorwahlOptions\",\r\n \"optionsNameFQ\": \"r_gpVorwahlOptions\"\r\n }\r\n });\r\n this.widgetCreator.addTextBox(this, {\r\n \"maxLength\": 100,\r\n \"caption\": \"schnupperterminList.r_gptelefon_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$f_SchnupperterminAnlageGpUtils\",\r\n \"bindTo\": \"model.Telefon\",\r\n \"bindToFQ\": \"functions.$f_SchnupperterminAnlageGpUtils.model.Telefon\",\r\n \"propertyPrefix\": \"model\"\r\n },\r\n \"validationRules\": [{\r\n \"item\": {\r\n \"type\": \"required\",\r\n \"parameters\": []\r\n }\r\n }],\r\n \"id\": \"r_gpTelefon\",\r\n \"options\": {\r\n \"optionsName\": \"r_gpTelefonOptions\",\r\n \"optionsNameFQ\": \"r_gpTelefonOptions\"\r\n }\r\n });\r\n this.widgetCreator.addTextBox(this, {\r\n \"maxLength\": 500,\r\n \"mode\": \"url\",\r\n \"caption\": \"schnupperterminList.r_gpwebseite_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$f_SchnupperterminAnlageGpUtils\",\r\n \"bindTo\": \"model.Website\",\r\n \"bindToFQ\": \"functions.$f_SchnupperterminAnlageGpUtils.model.Website\",\r\n \"propertyPrefix\": \"model\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_gpWebseite\",\r\n \"options\": {\r\n \"optionsName\": \"r_gpWebseiteOptions\",\r\n \"optionsNameFQ\": \"r_gpWebseiteOptions\"\r\n }\r\n });\r\n this.widgetCreator.addTextBox(this, {\r\n \"maxLength\": 90,\r\n \"caption\": \"schnupperterminList.r_gpstrasse_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$f_SchnupperterminAnlageGpUtils\",\r\n \"bindTo\": \"model.Strasse\",\r\n \"bindToFQ\": \"functions.$f_SchnupperterminAnlageGpUtils.model.Strasse\",\r\n \"propertyPrefix\": \"model\"\r\n },\r\n \"validationRules\": [{\r\n \"item\": {\r\n \"type\": \"required\",\r\n \"parameters\": []\r\n }\r\n }],\r\n \"id\": \"r_gpStrasse\",\r\n \"options\": {\r\n \"optionsName\": \"r_gpStrasseOptions\",\r\n \"optionsNameFQ\": \"r_gpStrasseOptions\"\r\n }\r\n });\r\n this.widgetCreator.addTextBox(this, {\r\n \"maxLength\": 10,\r\n \"caption\": \"schnupperterminList.r_gphausnummer_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$f_SchnupperterminAnlageGpUtils\",\r\n \"bindTo\": \"model.Hausnummer\",\r\n \"bindToFQ\": \"functions.$f_SchnupperterminAnlageGpUtils.model.Hausnummer\",\r\n \"propertyPrefix\": \"model\"\r\n },\r\n \"validationRules\": [{\r\n \"item\": {\r\n \"type\": \"required\",\r\n \"parameters\": []\r\n }\r\n }],\r\n \"id\": \"r_gpHausnummer\",\r\n \"options\": {\r\n \"optionsName\": \"r_gpHausnummerOptions\",\r\n \"optionsNameFQ\": \"r_gpHausnummerOptions\"\r\n }\r\n });\r\n this.widgetCreator.addSelectBox(this, {\r\n \"idSelect\": \"staat\",\r\n \"filters\": [],\r\n \"caption\": \"schnupperterminList.r_gpland_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$f_SchnupperterminAnlageGpUtils\",\r\n \"bindTo\": \"model.IdLand\",\r\n \"bindToFQ\": \"functions.$f_SchnupperterminAnlageGpUtils.model.IdLand\",\r\n \"propertyPrefix\": \"model\"\r\n },\r\n \"validationRules\": [{\r\n \"item\": {\r\n \"type\": \"required\",\r\n \"parameters\": []\r\n }\r\n }],\r\n \"id\": \"r_gpLand\",\r\n \"options\": {\r\n \"optionsName\": \"r_gpLandOptions\",\r\n \"optionsNameFQ\": \"r_gpLandOptions\"\r\n }\r\n });\r\n this.widgetCreator.addTextBox(this, {\r\n \"maxLength\": 10,\r\n \"caption\": \"schnupperterminList.r_gpplz_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$f_SchnupperterminAnlageGpUtils\",\r\n \"bindTo\": \"model.Plz\",\r\n \"bindToFQ\": \"functions.$f_SchnupperterminAnlageGpUtils.model.Plz\",\r\n \"propertyPrefix\": \"model\"\r\n },\r\n \"validationRules\": [{\r\n \"item\": {\r\n \"type\": \"required\",\r\n \"parameters\": []\r\n }\r\n }],\r\n \"id\": \"r_gpPlz\",\r\n \"options\": {\r\n \"optionsName\": \"r_gpPlzOptions\",\r\n \"optionsNameFQ\": \"r_gpPlzOptions\"\r\n }\r\n });\r\n this.widgetCreator.addTextBox(this, {\r\n \"maxLength\": 100,\r\n \"caption\": \"schnupperterminList.r_gport_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$f_SchnupperterminAnlageGpUtils\",\r\n \"bindTo\": \"model.Ort\",\r\n \"bindToFQ\": \"functions.$f_SchnupperterminAnlageGpUtils.model.Ort\",\r\n \"propertyPrefix\": \"model\"\r\n },\r\n \"validationRules\": [{\r\n \"item\": {\r\n \"type\": \"required\",\r\n \"parameters\": []\r\n }\r\n }],\r\n \"id\": \"r_gpOrt\",\r\n \"options\": {\r\n \"optionsName\": \"r_gpOrtOptions\",\r\n \"optionsNameFQ\": \"r_gpOrtOptions\"\r\n }\r\n });\r\n this.widgetCreator.addRadioGroup(this, {\r\n \"idSelect\": \"geschlechtMitTeam\",\r\n \"filters\": [],\r\n \"caption\": \"schnupperterminList.r_apgeschlecht_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$f_SchnupperterminAnlageGpUtils\",\r\n \"bindTo\": \"model.ApGeschlecht\",\r\n \"bindToFQ\": \"functions.$f_SchnupperterminAnlageGpUtils.model.ApGeschlecht\",\r\n \"propertyPrefix\": \"model\"\r\n },\r\n \"validationRules\": [{\r\n \"item\": {\r\n \"type\": \"required\",\r\n \"parameters\": []\r\n }\r\n }],\r\n \"id\": \"r_apGeschlecht\",\r\n \"options\": {\r\n \"optionsName\": \"r_apGeschlechtOptions\",\r\n \"optionsNameFQ\": \"r_apGeschlechtOptions\"\r\n }\r\n });\r\n this.widgetCreator.addTextBox(this, {\r\n \"maxLength\": 100,\r\n \"caption\": \"schnupperterminList.r_apvorname_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$f_SchnupperterminAnlageGpUtils\",\r\n \"bindTo\": \"model.ApVorname\",\r\n \"bindToFQ\": \"functions.$f_SchnupperterminAnlageGpUtils.model.ApVorname\",\r\n \"propertyPrefix\": \"model\"\r\n },\r\n \"validationRules\": [{\r\n \"item\": {\r\n \"type\": \"required\",\r\n \"parameters\": []\r\n }\r\n }],\r\n \"id\": \"r_apVorname\",\r\n \"options\": {\r\n \"optionsName\": \"r_apVornameOptions\",\r\n \"optionsNameFQ\": \"r_apVornameOptions\"\r\n }\r\n });\r\n this.widgetCreator.addTextBox(this, {\r\n \"maxLength\": 100,\r\n \"caption\": \"schnupperterminList.r_apnachname_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$f_SchnupperterminAnlageGpUtils\",\r\n \"bindTo\": \"model.ApNachname\",\r\n \"bindToFQ\": \"functions.$f_SchnupperterminAnlageGpUtils.model.ApNachname\",\r\n \"propertyPrefix\": \"model\"\r\n },\r\n \"validationRules\": [{\r\n \"item\": {\r\n \"type\": \"required\",\r\n \"parameters\": []\r\n }\r\n }],\r\n \"id\": \"r_apNachname\",\r\n \"options\": {\r\n \"optionsName\": \"r_apNachnameOptions\",\r\n \"optionsNameFQ\": \"r_apNachnameOptions\"\r\n }\r\n });\r\n this.widgetCreator.addTextBox(this, {\r\n \"maxLength\": 100,\r\n \"caption\": \"schnupperterminList.r_apteam_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$f_SchnupperterminAnlageGpUtils\",\r\n \"bindTo\": \"model.ApTeam\",\r\n \"bindToFQ\": \"functions.$f_SchnupperterminAnlageGpUtils.model.ApTeam\",\r\n \"propertyPrefix\": \"model\"\r\n },\r\n \"validationRules\": [{\r\n \"item\": {\r\n \"type\": \"required\",\r\n \"parameters\": []\r\n }\r\n }],\r\n \"id\": \"r_apTeam\",\r\n \"options\": {\r\n \"optionsName\": \"r_apTeamOptions\",\r\n \"optionsNameFQ\": \"r_apTeamOptions\"\r\n }\r\n });\r\n this.widgetCreator.addTextBox(this, {\r\n \"maxLength\": 100,\r\n \"mode\": \"email\",\r\n \"caption\": \"schnupperterminList.r_apemail_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$f_SchnupperterminAnlageGpUtils\",\r\n \"bindTo\": \"model.ApEmail\",\r\n \"bindToFQ\": \"functions.$f_SchnupperterminAnlageGpUtils.model.ApEmail\",\r\n \"propertyPrefix\": \"model\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_apEmail\",\r\n \"options\": {\r\n \"optionsName\": \"r_apEmailOptions\",\r\n \"optionsNameFQ\": \"r_apEmailOptions\"\r\n }\r\n });\r\n this.widgetCreator.addSelectBox(this, {\r\n \"idSelect\": \"landvorwahl\",\r\n \"filters\": [],\r\n \"caption\": \"schnupperterminList.r_apvorwahl_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$f_SchnupperterminAnlageGpUtils\",\r\n \"bindTo\": \"model.ApVorwahl\",\r\n \"bindToFQ\": \"functions.$f_SchnupperterminAnlageGpUtils.model.ApVorwahl\",\r\n \"propertyPrefix\": \"model\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_apVorwahl\",\r\n \"options\": {\r\n \"optionsName\": \"r_apVorwahlOptions\",\r\n \"optionsNameFQ\": \"r_apVorwahlOptions\"\r\n }\r\n });\r\n this.widgetCreator.addTextBox(this, {\r\n \"maxLength\": 100,\r\n \"caption\": \"schnupperterminList.r_aptelefon_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$f_SchnupperterminAnlageGpUtils\",\r\n \"bindTo\": \"model.ApTelefon\",\r\n \"bindToFQ\": \"functions.$f_SchnupperterminAnlageGpUtils.model.ApTelefon\",\r\n \"propertyPrefix\": \"model\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_apTelefon\",\r\n \"options\": {\r\n \"optionsName\": \"r_apTelefonOptions\",\r\n \"optionsNameFQ\": \"r_apTelefonOptions\"\r\n }\r\n });\r\n this.widgetCreator.addSelectBox(this, {\r\n \"idSelect\": \"landvorwahl\",\r\n \"filters\": [],\r\n \"caption\": \"schnupperterminList.r_apmobilvorwahl_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$f_SchnupperterminAnlageGpUtils\",\r\n \"bindTo\": \"model.ApMobilVorwahl\",\r\n \"bindToFQ\": \"functions.$f_SchnupperterminAnlageGpUtils.model.ApMobilVorwahl\",\r\n \"propertyPrefix\": \"model\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_apMobilVorwahl\",\r\n \"options\": {\r\n \"optionsName\": \"r_apMobilVorwahlOptions\",\r\n \"optionsNameFQ\": \"r_apMobilVorwahlOptions\"\r\n }\r\n });\r\n this.widgetCreator.addTextBox(this, {\r\n \"maxLength\": 100,\r\n \"caption\": \"schnupperterminList.r_apmobiltelefon_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$f_SchnupperterminAnlageGpUtils\",\r\n \"bindTo\": \"model.ApMobilTelefon\",\r\n \"bindToFQ\": \"functions.$f_SchnupperterminAnlageGpUtils.model.ApMobilTelefon\",\r\n \"propertyPrefix\": \"model\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_apMobilTelefon\",\r\n \"options\": {\r\n \"optionsName\": \"r_apMobilTelefonOptions\",\r\n \"optionsNameFQ\": \"r_apMobilTelefonOptions\"\r\n }\r\n });\r\n this.widgetCreator.addTextBox(this, {\r\n \"maxLength\": 100,\r\n \"caption\": \"schnupperterminList.r_apfunktion_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$f_SchnupperterminAnlageGpUtils\",\r\n \"bindTo\": \"model.Funktion\",\r\n \"bindToFQ\": \"functions.$f_SchnupperterminAnlageGpUtils.model.Funktion\",\r\n \"propertyPrefix\": \"model\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_apFunktion\",\r\n \"options\": {\r\n \"optionsName\": \"r_apFunktionOptions\",\r\n \"optionsNameFQ\": \"r_apFunktionOptions\"\r\n }\r\n });\r\n this.widgetCreator.addSelectBox(this, {\r\n \"idSelect\": \"lehrberuf\",\r\n \"filters\": [],\r\n \"caption\": \"schnupperterminList.r_lblehrberuf_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$f_SchnupperterminAnlageGpUtils\",\r\n \"bindTo\": \"model.IdLehrberuf\",\r\n \"bindToFQ\": \"functions.$f_SchnupperterminAnlageGpUtils.model.IdLehrberuf\",\r\n \"propertyPrefix\": \"model\"\r\n },\r\n \"validationRules\": [{\r\n \"item\": {\r\n \"type\": \"required\",\r\n \"parameters\": []\r\n }\r\n }],\r\n \"id\": \"r_lbLehrberuf\",\r\n \"options\": {\r\n \"optionsName\": \"r_lbLehrberufOptions\",\r\n \"optionsNameFQ\": \"r_lbLehrberufOptions\"\r\n }\r\n });\r\n super.onConstructionFinished();\r\n }\r\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\";\r\n\r\n@fwx.autoinject\r\nexport class SurveyMonkeyFragebogenEditForm extends fwx.FormBase {\r\n constructor(\r\n element: Element,\r\n formBaseImport: fwx.FormBaseImport) {\r\n super(element, formBaseImport);\r\n this.id = \"survey-monkey-fragebogen-edit\";\r\n this.title = \"survey-monkey-fragebogen-edit.survey-monkey-fragebogen-edit_caption\";\r\n this.addModel({\r\n \"id\": \"$m_SurveyMonkeyFragebogen\",\r\n \"webApiAction\": \"ZIT/SurveyMonkey/Survey\",\r\n \"webApiExpand\": {\r\n 'Questions': {\r\n 'expand': {\r\n 'Children': {\r\n 'expand': {\r\n 'AnswerChoices': null\r\n }\r\n },\r\n 'AnswerChoices': null\r\n }\r\n }\r\n },\r\n \"key\": \"variables.data.$id\",\r\n \"keyProperty\": \"Id\",\r\n \"postOnSave\": true,\r\n \"allowNew\": \"false\",\r\n \"allowDelete\": \"false\",\r\n \"filters\": [{\r\n \"webApiCustomKey\": \"Editing\",\r\n \"webApiCustomValue\": \"true\"\r\n }]\r\n });\r\n this.addModel({\r\n \"id\": \"$m_SurveyMonkeyFragebogenQuestion\",\r\n \"webApiAction\": \"ZIT/SurveyMonkey/Question\",\r\n \"keyProperty\": \"Id\",\r\n \"filters\": []\r\n });\r\n this.addModel({\r\n \"id\": \"$m_SurveyMonkeyFragebogenQuestionChild\",\r\n \"webApiAction\": \"ZIT/SurveyMonkey/Question\",\r\n \"keyProperty\": \"Id\",\r\n \"filters\": []\r\n });\r\n this.addModel({\r\n \"id\": \"$m_SurveyMonkeyFragebogenAnswerChoice\",\r\n \"webApiAction\": \"ZIT/SurveyMonkey/AnswerChoice\",\r\n \"keyProperty\": \"Id\",\r\n \"filters\": []\r\n });\r\n this.addModel({\r\n \"id\": \"$m_SurveyMonkeyFragebogenAnswerChoiceChild\",\r\n \"webApiAction\": \"ZIT/SurveyMonkey/AnswerChoice\",\r\n \"keyProperty\": \"Id\",\r\n \"filters\": []\r\n });\r\n this.widgetCreator.addValidationGroup(this, {\r\n \"id\": \"wd1\",\r\n \"options\": {\r\n \"optionsName\": \"wd1Options\",\r\n \"optionsNameFQ\": \"wd1Options\"\r\n }\r\n });\r\n this.widgetCreator.addTextBox(this, {\r\n \"maxLength\": 100,\r\n \"caption\": \"survey-monkey-fragebogen-edit.r_titel_caption\",\r\n \"isReadOnly\": true,\r\n \"binding\": {\r\n \"dataContext\": \"$m_SurveyMonkeyFragebogen\",\r\n \"bindTo\": \"Titel\",\r\n \"bindToFQ\": \"models.data.$m_SurveyMonkeyFragebogen.Titel\"\r\n },\r\n \"validationRules\": [{\r\n \"item\": {\r\n \"type\": \"stringLength\",\r\n \"parameters\": [{\r\n \"name\": \"max\",\r\n \"value\": 100\r\n }]\r\n }\r\n }],\r\n \"id\": \"r_titel\",\r\n \"options\": {\r\n \"optionsName\": \"r_titelOptions\",\r\n \"optionsNameFQ\": \"r_titelOptions\"\r\n }\r\n });\r\n this.widgetCreator.addCheckBox(this, {\r\n \"caption\": \"survey-monkey-fragebogen-edit.r_isaktiv_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_SurveyMonkeyFragebogen\",\r\n \"bindTo\": \"IsAktiv\",\r\n \"bindToFQ\": \"models.data.$m_SurveyMonkeyFragebogen.IsAktiv\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_isAktiv\",\r\n \"options\": {\r\n \"optionsName\": \"r_isAktivOptions\",\r\n \"optionsNameFQ\": \"r_isAktivOptions\"\r\n }\r\n });\r\n this.widgetCreator.addDateBox(this, {\r\n \"format\": \"g\",\r\n \"caption\": \"survey-monkey-fragebogen-edit.r_letzteaktualisierung_caption\",\r\n \"isReadOnly\": true,\r\n \"binding\": {\r\n \"dataContext\": \"$m_SurveyMonkeyFragebogen\",\r\n \"bindTo\": \"LetzteAktualisierung\",\r\n \"bindToFQ\": \"models.data.$m_SurveyMonkeyFragebogen.LetzteAktualisierung\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_letzteAktualisierung\",\r\n \"options\": {\r\n \"optionsName\": \"r_letzteAktualisierungOptions\",\r\n \"optionsNameFQ\": \"r_letzteAktualisierungOptions\"\r\n }\r\n });\r\n this.widgetCreator.addCheckBox(this, {\r\n \"caption\": \"survey-monkey-fragebogen-edit.r_korrektheitpruefen_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_SurveyMonkeyFragebogen\",\r\n \"bindTo\": \"KorrektheitPruefen\",\r\n \"bindToFQ\": \"models.data.$m_SurveyMonkeyFragebogen.KorrektheitPruefen\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_korrektheitPruefen\",\r\n \"options\": {\r\n \"optionsName\": \"r_korrektheitPruefenOptions\",\r\n \"optionsNameFQ\": \"r_korrektheitPruefenOptions\"\r\n }\r\n });\r\n this.widgetCreator.addTextBox(this, {\r\n \"maxLength\": 500,\r\n \"caption\": \"survey-monkey-fragebogen-edit.r_bezeichnungviewer_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_SurveyMonkeyFragebogenQuestion\",\r\n \"bindTo\": \"BezeichnungViewer\",\r\n \"bindToFQ\": \"item.BezeichnungViewer\"\r\n },\r\n \"validationRules\": [{\r\n \"item\": {\r\n \"type\": \"stringLength\",\r\n \"parameters\": [{\r\n \"name\": \"max\",\r\n \"value\": 500\r\n }]\r\n }\r\n }],\r\n \"id\": \"r_bezeichnungViewer\",\r\n \"options\": {\r\n \"optionsName\": \"r_bezeichnungViewerOptions\",\r\n \"optionsNameFQ\": \"r_bezeichnungViewerOptions\"\r\n }\r\n });\r\n this.widgetCreator.addCheckBox(this, {\r\n \"caption\": \"survey-monkey-fragebogen-edit.r_nichtimvieweranzeigen_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_SurveyMonkeyFragebogenQuestion\",\r\n \"bindTo\": \"NichtImViewerAnzeigen\",\r\n \"bindToFQ\": \"item.NichtImViewerAnzeigen\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_nichtImViewerAnzeigen\",\r\n \"options\": {\r\n \"optionsName\": \"r_nichtImViewerAnzeigenOptions\",\r\n \"optionsNameFQ\": \"r_nichtImViewerAnzeigenOptions\"\r\n }\r\n });\r\n this.widgetCreator.addTextBox(this, {\r\n \"maxLength\": 500,\r\n \"caption\": \"survey-monkey-fragebogen-edit.r_bezeichungvieweranswer_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_SurveyMonkeyFragebogenAnswerChoice\",\r\n \"bindTo\": \"BezeichnungViewer\",\r\n \"bindToFQ\": \"choice.BezeichnungViewer\"\r\n },\r\n \"validationRules\": [{\r\n \"item\": {\r\n \"type\": \"stringLength\",\r\n \"parameters\": [{\r\n \"name\": \"max\",\r\n \"value\": 500\r\n }]\r\n }\r\n }],\r\n \"id\": \"r_bezeichungViewerAnswer\",\r\n \"options\": {\r\n \"optionsName\": \"r_bezeichungViewerAnswerOptions\",\r\n \"optionsNameFQ\": \"r_bezeichungViewerAnswerOptions\"\r\n }\r\n });\r\n this.widgetCreator.addCheckBox(this, {\r\n \"caption\": \"survey-monkey-fragebogen-edit.r_iscorrectanswer_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_SurveyMonkeyFragebogenAnswerChoice\",\r\n \"bindTo\": \"IsCorrect\",\r\n \"bindToFQ\": \"choice.IsCorrect\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_isCorrectAnswer\",\r\n \"options\": {\r\n \"optionsName\": \"r_isCorrectAnswerOptions\",\r\n \"optionsNameFQ\": \"r_isCorrectAnswerOptions\"\r\n }\r\n });\r\n this.widgetCreator.addCheckBox(this, {\r\n \"caption\": \"survey-monkey-fragebogen-edit.r_nichtimvieweranzeigenanswer_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_SurveyMonkeyFragebogenAnswerChoice\",\r\n \"bindTo\": \"NichtImViewerAnzeigen\",\r\n \"bindToFQ\": \"choice.NichtImViewerAnzeigen\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_nichtImViewerAnzeigenAnswer\",\r\n \"options\": {\r\n \"optionsName\": \"r_nichtImViewerAnzeigenAnswerOptions\",\r\n \"optionsNameFQ\": \"r_nichtImViewerAnzeigenAnswerOptions\"\r\n }\r\n });\r\n this.widgetCreator.addCheckBox(this, {\r\n \"caption\": \"survey-monkey-fragebogen-edit.r_iscorrectanswerchild_caption\",\r\n \"binding\": {\r\n \"dataContext\": \"$m_SurveyMonkeyFragebogenAnswerChoiceChild\",\r\n \"bindTo\": \"IsCorrect\",\r\n \"bindToFQ\": \"choice.IsCorrect\"\r\n },\r\n \"validationRules\": [],\r\n \"id\": \"r_isCorrectAnswerChild\",\r\n \"options\": {\r\n \"optionsName\": \"r_isCorrectAnswerChildOptions\",\r\n \"optionsNameFQ\": \"r_isCorrectAnswerChildOptions\"\r\n }\r\n });\r\n super.onConstructionFinished();\r\n }\r\n}","module.exports = \"\";","import * as fwx from \"../../../framework/forms/form-export\";\r\nimport {\r\n SucheUtils\r\n} from \"./suche-utils\";\r\n\r\n@fwx.autoinject\r\nexport class SucheForm extends fwx.FormBase {\r\n constructor(\r\n element: Element,\r\n formBaseImport: fwx.FormBaseImport,\r\n private $f_SucheUtils: SucheUtils) {\r\n super(element, formBaseImport);\r\n this.id = \"suche\";\r\n this.title = \"suche.suche_caption\";\r\n this.addModel({\r\n \"id\": \"$m_Suche\",\r\n \"webApiAction\": \"ZIT/Volltext/Suche\",\r\n \"webApiOrderBy\": [{\r\n \"columnName\": \"Id\",\r\n \"sortOrder\": 1\r\n }],\r\n \"webApiSearchtextEnabled\": true,\r\n \"modificationInfoEnabled\": true,\r\n \"keyProperty\": \"Id\",\r\n \"searchtext\": \"variables.data.$v_searchText\",\r\n \"filters\": [{\r\n \"webApiCustomKey\": \"viewType\",\r\n \"webApiCustomValue\": \"functions.$f_SucheUtils.viewTyp\"\r\n }, {\r\n \"webApiCustomKey\": \"searchStandardFilter\",\r\n \"webApiCustomValue\": \"functions.$f_SucheUtils.searchStandardFilter\"\r\n }, {\r\n \"if\": \"functions.$f_SucheUtils.objektFullName\",\r\n \"webApiCustomKey\": \"objektFullName\",\r\n \"webApiCustomValue\": \"functions.$f_SucheUtils.objektFullName\"\r\n }, {\r\n \"if\": \"functions.$f_SucheUtils.wertQueryList\",\r\n \"webApiCustomKey\": \"searchExtended\",\r\n \"webApiCustomValue\": \"functions.$f_SucheUtils.wertQueryList\"\r\n }, {\r\n \"if\": \"functions.$f_SucheUtils.additionalColumns\",\r\n \"webApiCustomKey\": \"additionalColumns\",\r\n \"webApiCustomValue\": \"functions.$f_SucheUtils.additionalColumns\"\r\n }]\r\n });\r\n this.addVariable({\r\n \"id\": \"$v_searchText\"\r\n });\r\n this.addCommand({\r\n \"binding\": {\r\n \"bindTo\": \"$f_SucheUtils.createNewCommand\",\r\n \"bindToFQ\": \"functions.$f_SucheUtils.createNewCommand\"\r\n }\r\n });\r\n this.addCommand({\r\n \"binding\": {\r\n \"bindTo\": \"$f_SucheUtils.columnsCommand\",\r\n \"bindToFQ\": \"functions.$f_SucheUtils.columnsCommand\"\r\n }\r\n });\r\n this.addCommand({\r\n \"binding\": {\r\n \"bindTo\": \"$f_SucheUtils.actionCommand\",\r\n \"bindToFQ\": \"functions.$f_SucheUtils.actionCommand\"\r\n }\r\n });\r\n this.addCommand({\r\n \"binding\": {\r\n \"bindTo\": \"$f_SucheUtils.activateListView\",\r\n \"bindToFQ\": \"functions.$f_SucheUtils.activateListView\"\r\n }\r\n });\r\n this.addCommand({\r\n \"binding\": {\r\n \"bindTo\": \"$f_SucheUtils.activateTableView\",\r\n \"bindToFQ\": \"functions.$f_SucheUtils.activateTableView\"\r\n }\r\n });\r\n this.addCommand({\r\n \"binding\": {\r\n \"bindTo\": \"$f_SucheUtils.activateStandardfilter\",\r\n \"bindToFQ\": \"functions.$f_SucheUtils.activateStandardfilter\"\r\n }\r\n });\r\n this.addFunction(\"$f_SucheUtils\", $f_SucheUtils, \"functions.$f_SucheUtils\");\r\n this.widgetCreator.addValidationGroup(this, {\r\n \"id\": \"wd1\",\r\n \"options\": {\r\n \"optionsName\": \"wd1Options\",\r\n \"optionsNameFQ\": \"wd1Options\"\r\n }\r\n });\r\n this.widgetCreator.addDataGrid(this, {\r\n \"columns\": [],\r\n \"optionsToolbar\": {\r\n \"optionsName\": \"r_sucheGridToolbarOptions\",\r\n \"optionsNameFQ\": \"r_sucheGridToolbarOptions\"\r\n },\r\n \"binding\": {\r\n \"dataContext\": \"$m_Suche\"\r\n },\r\n \"dataModel\": \"$m_Suche\",\r\n \"onItemClick\": \"functions.$f_SucheUtils.onItemClicked($event)\",\r\n \"selectionMode\": 2,\r\n \"height\": \"100%\",\r\n \"showPagerInfo\": true,\r\n \"listEdits\": [],\r\n \"filters\": [],\r\n \"commands\": [],\r\n \"id\": \"r_sucheGrid\",\r\n \"options\": {\r\n \"optionsName\": \"r_sucheGridOptions\",\r\n \"optionsNameFQ\": \"r_sucheGridOptions\"\r\n }\r\n });\r\n this.widgetCreator.addListView(this, {\r\n \"itemClass\": \"suche-card-item col-xs-12 col-sm-6 col-lg-4 col-xl-3\",\r\n \"useDefaultListItemStyle\": false,\r\n \"pagingMode\": \"loadNext\",\r\n \"optionsToolbar\": {\r\n \"optionsName\": \"r_sucheListViewToolbarOptions\",\r\n \"optionsNameFQ\": \"r_sucheListViewToolbarOptions\"\r\n },\r\n \"binding\": {\r\n \"dataContext\": \"$m_Suche\"\r\n },\r\n \"dataModel\": \"$m_Suche\",\r\n \"onItemClick\": \"functions.$f_SucheUtils.onItemClicked($event)\",\r\n \"selectionMode\": 2,\r\n \"pageSize\": 16,\r\n \"height\": \"100%\",\r\n \"showPagerInfo\": true,\r\n \"listEdits\": [],\r\n \"filters\": [],\r\n \"commands\": [],\r\n \"id\": \"r_sucheListView\",\r\n \"options\": {\r\n \"optionsName\": \"r_sucheListViewOptions\",\r\n \"optionsNameFQ\": \"r_sucheListViewOptions\"\r\n }\r\n });\r\n super.onConstructionFinished();\r\n }\r\n}","module.exports = \"\";","import { autoinject, computedFrom, bindable, observable, createOverrideContext, bindingMode } from \"aurelia-framework\";\r\nimport { EventAggregator, Subscription } from \"aurelia-event-aggregator\";\r\nimport { StartupService, DownloadService } from \"../../../../services/export\";\r\nimport { Share } from \"../../../../elements/share/share\";\r\nimport { SucheLayoutAuswahl } from \"../../../../elements/suche-layout-auswahl/suche-layout-auswahl\";\r\nimport { GlobalizationService, RestService, LocationService, ScopeContainer } from \"../../../../../framework/base/export\";\r\nimport { IZitTagOptions } from \"../../../../../zit-ui/elements/zit-tag/export\";\r\nimport { INachrichtEmpfObjektModel, NachrichtService } from \"../../../../services/nachricht-service\";\r\nimport { TerminEmpfaenger, ErweiterteSuche, ReportErstellen } from \"../../../../elements/export\";\r\nimport { FormBase, FormEventService, SimpleWidgetCreatorService } from \"../../../../../framework/forms/export\";\r\nimport { IdxPopupComponent, IdxListComponent, IdxPopoverComponent, IdxDataGridComponent } from \"../../../../interfaces/export\";\r\nimport { ILoginprofilEinstellung } from \"../../../../services/loginprofil-einstellungen-service\";\r\nimport { ZustandStatus, ZustandService, ZustandBereich } from \"../../../../services/zustand-service\";\r\nimport { ISchnupperterminZeitraumResult, SchnupperterminService } from \"../../../../services/schnuppertermin-service\";\r\nimport { StatusAendern } from \"../../../../elements/status-aendern/status-aendern\";\r\nimport { ObjektStatusSammlungTyp, StatusService } from \"../../../../services/status-service\";\r\n\r\n@autoinject\r\nexport class Tableau {\r\n private _canvas: HTMLCanvasElement;\r\n private _defaultFilter: IDefaultFilter;\r\n private _terminChangedSubscription: Subscription;\r\n private _terminEmpfChangedSubscription: Subscription;\r\n private _objektStatusChangedSubscription: Subscription;\r\n private _formSavedSubscription: {(): void};\r\n\r\n constructor(\r\n public startupService: StartupService,\r\n private _globalizationService: GlobalizationService,\r\n private _nachrichtService: NachrichtService,\r\n private _restService: RestService,\r\n private _locationService: LocationService,\r\n private _eventAggregator: EventAggregator,\r\n private _downloadService: DownloadService,\r\n private _zustandService: ZustandService,\r\n private _statusService: StatusService,\r\n private _schnupperterminService: SchnupperterminService,\r\n private _simpleWidgetCreatorService: SimpleWidgetCreatorService,\r\n private _formEventService: FormEventService\r\n ) {\r\n this.hasSchnuppertermin = startupService.startupInfo.ShowSchnupperterminMaske;\r\n }\r\n\r\n @bindable({defaultBindingMode: bindingMode.twoWay}) @observable currentViewType: ViewType = ViewType.DispoPlanstelle;\r\n @bindable hasTerminEmpfView: boolean;\r\n @bindable hasEventTeilnehmerView: boolean;\r\n @bindable filterIdPerson: number;\r\n\r\n scopeContainer: ScopeContainer;\r\n\r\n hasSchnuppertermin: boolean = false;\r\n hasSelection: boolean = false;\r\n selectionCount: number = 0;\r\n previousResult: IResult;\r\n\r\n share: Share;\r\n erweiterteSuche: ErweiterteSuche;\r\n layoutAuswahl: SucheLayoutAuswahl;\r\n terminEmpfaenger: TerminEmpfaenger;\r\n reportErstellen: ReportErstellen;\r\n statusAendern: StatusAendern;\r\n \r\n filter: IFilter;\r\n filterTermin: IFilterTermin;\r\n filterEventZeitraum: IFilterEventZeitraum;\r\n\r\n grid: IdxDataGridComponent;\r\n zeitraumPopup: IdxPopupComponent;\r\n geschaeftspartnerFilterList: IdxListComponent;\r\n geschaeftspartnerSchuleFilterList: IdxListComponent;\r\n terminEmpfZustandFilterList: IdxListComponent;\r\n objektStatusFilterList: IdxListComponent;\r\n geschaeftspartnerFilterPopover: IdxPopoverComponent;\r\n geschaeftspartnerSchuleFilterPopover: IdxPopoverComponent;\r\n objektStatusFilterPopover: IdxPopoverComponent;\r\n terminEmpfZustandFilterPopover: IdxPopoverComponent;\r\n\r\n zeitraumEdit: IZeitraumEdit;\r\n\r\n currentObjektStatusFilterList: IObjektStatusFilter[];\r\n currentGeschaeftspartnerFilterList: IGeschaeftspartnerFilter[];\r\n currentEventZeitraumList: ISchnupperterminZeitraumResult[];\r\n\r\n parentForm: FormBase;\r\n\r\n @computedFrom(\"filter.zeitraumVon\", \"filter.zeitraumBis\")\r\n get zeitraumFormatiert() {\r\n if (!this.filter) {\r\n return null;\r\n }\r\n if (!this.filter.zeitraumVon) {\r\n return null;\r\n }\r\n if (!this.filter.zeitraumBis) {\r\n return null;\r\n }\r\n\r\n const von = this._globalizationService.format(this.filter.zeitraumVon, \"d\");\r\n const vonTag = this._globalizationService.format(this.filter.zeitraumVon, \"DT_dd\");\r\n const bis = this._globalizationService.format(this.filter.zeitraumBis, \"d\");\r\n const bisTag = this._globalizationService.format(this.filter.zeitraumBis, \"DT_dd\");\r\n\r\n return `${von} (${vonTag}) - ${bis} (${bisTag})`.toUpperCase();\r\n }\r\n @computedFrom(\"currentViewType\")\r\n get currentObjektFullName() {\r\n switch (this.currentViewType) {\r\n case ViewType.DispoPersonenzuteilung:\r\n return \"TIP.ZIT.Business.Entities.Objekte.Disposition.DispoPlanstellePersonenzuteilung\";\r\n case ViewType.DispoPlanstelle:\r\n return \"TIP.ZIT.Business.Entities.Objekte.Disposition.DispoPlanstelle\";\r\n case ViewType.Termin:\r\n case ViewType.TerminEmpfaenger:\r\n return \"TIP.ZIT.Business.Entities.Objekte.Termine.Termin\";\r\n case ViewType.Schnuppertermin:\r\n case ViewType.EventSchnuppertermin:\r\n return \"TIP.ZIT.Business.Entities.Objekte.Bewerbungen.Bewerbung\";\r\n case ViewType.EventLinkAnmeldung:\r\n return \"TIP.ZIT.Business.Entities.Objekte.Events.EventLinkAnmeldung\";\r\n case ViewType.Aufgabe:\r\n return \"TIP.ZIT.Business.Entities.Objekte.Aufgaben.Aufgabe\";\r\n case ViewType.Event:\r\n return \"TIP.ZIT.Business.Entities.Objekte.Events.EventZeitraum\";\r\n case ViewType.EventTeilnehmer:\r\n return \"TIP.ZIT.Business.Entities.Objekte.Events.EventTeilnehmer\";\r\n default:\r\n return \"\";\r\n }\r\n }\r\n @computedFrom(\"currentViewType\")\r\n get isObjektStatusFilterVisible() {\r\n switch (this.currentViewType) {\r\n case ViewType.Schnuppertermin:\r\n case ViewType.EventSchnuppertermin: {\r\n return false;\r\n }\r\n default: {\r\n return true;\r\n }\r\n }\r\n }\r\n @computedFrom(\"currentObjektStatusFilterList\", \"currentViewType\")\r\n get isObjektStatusFilterListVisible() {\r\n if (!this.currentObjektStatusFilterList) {\r\n return false;\r\n }\r\n if (this.currentObjektStatusFilterList.length == 0) {\r\n return false;\r\n }\r\n\r\n if (this.currentViewType == ViewType.EventTeilnehmer) {\r\n return false;\r\n }\r\n\r\n return true;\r\n }\r\n @computedFrom(\"currentViewType\")\r\n get isKalenderVisible() {\r\n return this.currentViewType != ViewType.EventLinkAnmeldung;\r\n }\r\n @computedFrom(\"currentViewType\")\r\n get isAktiveAufgabeFilterVisible() {\r\n return this.currentViewType == ViewType.Aufgabe;\r\n }\r\n @computedFrom(\"currentViewType\")\r\n get isGeschaeftspartnerFilterVisible() {\r\n switch (this.currentViewType) {\r\n case ViewType.TerminEmpfaenger:\r\n case ViewType.Schnuppertermin:\r\n case ViewType.EventSchnuppertermin:\r\n case ViewType.Aufgabe: {\r\n return false;\r\n }\r\n default: {\r\n return [\"ADMIN\", \"VERTRIEB\", \"KUNDE-SCHULE\"].indexOf(this.startupService.startupInfo.Benutzer.CodeBenutzerrolle) >= 0;\r\n }\r\n }\r\n }\r\n @computedFrom(\"currentViewType\")\r\n get isTerminEmpfZustandFilterVisible() {\r\n return this.currentViewType == ViewType.TerminEmpfaenger;\r\n }\r\n @computedFrom(\"startupService\", \"currentViewType\")\r\n get isGeschaeftspartnerSchuleFilterVisible() {\r\n if (!this.startupService) {\r\n return false;\r\n }\r\n\r\n switch (this.currentViewType) {\r\n case ViewType.Termin:\r\n case ViewType.TerminEmpfaenger:\r\n case ViewType.Schnuppertermin: {\r\n break; \r\n }\r\n default: {\r\n return false;\r\n }\r\n }\r\n\r\n return this.startupService.startupInfo.Benutzer.CodeBenutzerrolle == \"ADMIN\";\r\n }\r\n @computedFrom(\"currentViewType\")\r\n get isInfoVisible() {\r\n switch (this.currentViewType) {\r\n case ViewType.Schnuppertermin:\r\n case ViewType.EventLinkAnmeldung: {\r\n return false;\r\n }\r\n default: {\r\n return true;\r\n }\r\n }\r\n }\r\n @computedFrom(\"currentViewType\", \"currentEventZeitraumList\")\r\n get isEventZeitraumListVisible() {\r\n switch (this.currentViewType) {\r\n case ViewType.EventTeilnehmer:\r\n case ViewType.EventSchnuppertermin: {\r\n break;\r\n }\r\n default: {\r\n return false;\r\n }\r\n }\r\n\r\n return this.currentEventZeitraumList\r\n && this.currentEventZeitraumList.length > 0;\r\n }\r\n @computedFrom(\"currentViewType\")\r\n get isZeitraumVisible() {\r\n switch (this.currentViewType) {\r\n case ViewType.Aufgabe: {\r\n return false;\r\n }\r\n case ViewType.EventSchnuppertermin: {\r\n return !this.isEventZeitraumListVisible;\r\n }\r\n default: {\r\n return true;\r\n }\r\n }\r\n }\r\n @computedFrom(\"previousResult\", \"selectionCount\")\r\n get gridFooterInfo() {\r\n const r = [];\r\n\r\n const anzahl = this.previousResult && this.previousResult.Data\r\n ? this.previousResult.Data.length\r\n : 0;\r\n\r\n if (anzahl === 1) {\r\n r.push(\"1 Element\");\r\n } else {\r\n r.push(`${this._globalizationService.format(anzahl, \"n0\")} Elemente`);\r\n }\r\n\r\n if (this.hasSelection) {\r\n if (this.selectionCount == 1) {\r\n r.push(\"1 Element markiert\");\r\n } else {\r\n r.push(`${this._globalizationService.format(this.selectionCount, \"n0\")} Elemente markiert`);\r\n }\r\n }\r\n\r\n return r.join(\", \");\r\n }\r\n\r\n gridOptions: DevExpress.ui.dxDataGridOptions = {\r\n allowColumnReordering: true,\r\n allowColumnResizing: true,\r\n columnAutoWidth: false,\r\n columnResizingMode: \"widget\",\r\n height: \"100%\",\r\n pager: {\r\n showInfo: false,\r\n visible: false\r\n },\r\n columnFixing: {\r\n enabled: true\r\n },\r\n groupPanel: {\r\n visible: true\r\n },\r\n selection: {\r\n allowSelectAll: true,\r\n mode: \"multiple\",\r\n showCheckBoxesMode: \"always\"\r\n },\r\n scrolling: {\r\n mode: \"virtual\",\r\n columnRenderingMode: \"virtual\",\r\n rowRenderingMode: \"virtual\",\r\n showScrollbar: \"always\"\r\n },\r\n sorting: {\r\n mode: \"multiple\"\r\n },\r\n hoverStateEnabled: false,\r\n // tslint:disable-next-line: cyclomatic-complexity\r\n onCellClick: async(e) => {\r\n if (!e.column) {\r\n return;\r\n }\r\n\r\n if (e.column.dataField == \"_DetailsKommunikation\") {\r\n const info = await this._nachrichtService.getBenutzerFromObjekt(\r\n \"TIP.ZIT.Business.Entities.Objekte.Personen.Person\",\r\n e.data[\"IdPerson\"]\r\n );\r\n\r\n if (info) {\r\n this._nachrichtService.goToNachrichtList(info, this.parentForm);\r\n }\r\n return;\r\n } else if (e.column.dataField == \"_DetailsObjektStatus\" && !e.data[\"_DetailsObjektStatus_Url\"]) {\r\n switch (this.currentViewType) {\r\n case ViewType.Event:\r\n case ViewType.EventTeilnehmer: {\r\n break;\r\n }\r\n default: {\r\n return;\r\n }\r\n }\r\n \r\n const id = e.data[\"Id\"];\r\n if (!id) {\r\n return;\r\n }\r\n\r\n this.statusAendern.keyList = [id];\r\n this.statusAendern.showPopup(() => {\r\n this.reloadById(id);\r\n });\r\n return;\r\n } else if (e.column.dataField == \"_DetailsEmpfStatus\") {\r\n const idTermin = e.data[\"Id\"];\r\n const idPerson = e.data[\"IdPerson\"];\r\n this.terminEmpfaenger.showStatusPopup(idTermin, idPerson);\r\n return;\r\n } else if (this.currentViewType == ViewType.TerminEmpfaenger && e.column.dataField == \"_DetailsZustandTerminBestaetigung\") {\r\n const idTermin = e.data[\"Id\"];\r\n\r\n if (e.data[\"_DetailsZustandTerminBestaetigungHasData\"]) {\r\n const urlDokBest = this._restService.getApiUrl(`ZIT/Termin/DokBestaetigung?auth-token=${encodeURIComponent(this._restService.getAuthorizationToken())}&idTermin=${idTermin}`);\r\n window.open(urlDokBest, \"_blank\");\r\n } else {\r\n this.share.dokumentLautVorlageErstellen.showPopup([idTermin], \"TIP.ZIT.Business.Entities.Objekte.Termine.Termin\");\r\n }\r\n\r\n return;\r\n } else if (this.currentViewType == ViewType.EventTeilnehmer && e.column.dataField == \"_DetailsDokument\") {\r\n const idEventTeilnehmer = e.data[\"Id\"];\r\n\r\n if (e.data[\"_DetailsDokumentHasData\"]) {\r\n const urlDokBest = this._restService.getApiUrl(`ZIT/Event/DokBestaetigung?auth-token=${encodeURIComponent(this._restService.getAuthorizationToken())}&idEventTeilnehmer=${idEventTeilnehmer}`);\r\n window.open(urlDokBest, \"_blank\");\r\n } else {\r\n this.share.dokumentLautVorlageErstellen.showPopup([idEventTeilnehmer], \"TIP.ZIT.Business.Entities.Objekte.Events.EventTeilnehmer\");\r\n }\r\n\r\n return;\r\n } else if (this.hasTerminEmpfView && this.currentViewType == ViewType.Termin && e.column.dataField == \"_Offen\") {\r\n this.filterTermin = {\r\n idTermin: e.data[\"Id\"],\r\n zustandStatus: ZustandStatus.Offen\r\n };\r\n\r\n this.currentViewType = ViewType.TerminEmpfaenger;\r\n } else if (this.hasTerminEmpfView && this.currentViewType == ViewType.Termin && e.column.dataField == \"_Zugesagt\") {\r\n this.filterTermin = {\r\n idTermin: e.data[\"Id\"],\r\n zustandStatus: ZustandStatus.ErledigtPositiv\r\n };\r\n \r\n this.currentViewType = ViewType.TerminEmpfaenger;\r\n } else if (this.hasTerminEmpfView && this.currentViewType == ViewType.Termin && e.column.dataField == \"_Abgesagt\") {\r\n this.filterTermin = {\r\n idTermin: e.data[\"Id\"],\r\n zustandStatus: ZustandStatus.ErledigtNegativ\r\n };\r\n \r\n this.currentViewType = ViewType.TerminEmpfaenger;\r\n } else if (this.hasTerminEmpfView && this.currentViewType == ViewType.Termin && e.column.dataField == \"_DetailsKontingent\") {\r\n this.filterTermin = {\r\n idTermin: e.data[\"Id\"]\r\n };\r\n \r\n this.currentViewType = ViewType.TerminEmpfaenger;\r\n } else if (e.column.dataField == \"_DetailsIcs\") {\r\n this._downloadService.download(\r\n this._restService.getApiUrl(\"ZIT/Tableau/Ics\"), {\r\n Id: e.data[\"Id\"]\r\n },\r\n \"termin.ics\");\r\n } else if (this.hasEventTeilnehmerView && this.currentViewType == ViewType.Event && e.column.dataField == \"_Offen\") {\r\n this.filterEventZeitraum = {\r\n idEventZeitraum: e.data[\"Id\"],\r\n objektStatusSammlungTyp: ObjektStatusSammlungTyp.EventTeilnehmerOffen,\r\n zeitraumVon: this.filter.zeitraumVon,\r\n zeitraumBis: this.filter.zeitraumBis\r\n };\r\n\r\n this.currentViewType = ViewType.EventTeilnehmer;\r\n } else if (this.hasEventTeilnehmerView && this.currentViewType == ViewType.Event && e.column.dataField == \"_Zugesagt\") {\r\n this.filterEventZeitraum = {\r\n idEventZeitraum: e.data[\"Id\"],\r\n objektStatusSammlungTyp: ObjektStatusSammlungTyp.EventTeilnehmerZugesagt,\r\n zeitraumVon: this.filter.zeitraumVon,\r\n zeitraumBis: this.filter.zeitraumBis\r\n };\r\n \r\n this.currentViewType = ViewType.EventTeilnehmer;\r\n } else if (this.hasEventTeilnehmerView && this.currentViewType == ViewType.Event && e.column.dataField == \"_Abgesagt\") {\r\n this.filterEventZeitraum = {\r\n idEventZeitraum: e.data[\"Id\"],\r\n objektStatusSammlungTyp: ObjektStatusSammlungTyp.EventTeilnehmerAbgesagt,\r\n zeitraumVon: this.filter.zeitraumVon,\r\n zeitraumBis: this.filter.zeitraumBis\r\n };\r\n \r\n this.currentViewType = ViewType.EventTeilnehmer;\r\n } else if (this.currentViewType == ViewType.Schnuppertermin && [\"Vorname\", \"Nachname\"].includes(e.column.dataField)) {\r\n this._locationService.goTo({\r\n url: `Objekte/Person/${e.data[\"IdPerson\"]}`,\r\n currentViewModel: this.parentForm\r\n });\r\n }\r\n\r\n if (!e.column.dataField || !e.value) {\r\n return;\r\n }\r\n\r\n const dataField = e.column.dataField + \"_Url\";\r\n\r\n const url = e.data[dataField];\r\n if (url && url.length > 0) {\r\n this._locationService.goTo({\r\n url: url + \"?mode=1\",\r\n currentViewModel: this.parentForm\r\n });\r\n }\r\n },\r\n onSelectionChanged: (e) => {\r\n this.hasSelection = e.selectedRowKeys.length > 0;\r\n this.selectionCount = e.selectedRowKeys.length;\r\n }\r\n };\r\n searchOptions: DevExpress.ui.dxTextBoxOptions = {\r\n placeholder: \"Suchen ...\",\r\n elementAttr: {\r\n class: \"z--suche\"\r\n },\r\n mode: \"search\",\r\n onValueChangedByUser: () => {\r\n this.doSearch();\r\n },\r\n bindingOptions: {\r\n value: \"filter.searchText\"\r\n }\r\n };\r\n objektStatusFilterPopoverOptions: DevExpress.ui.dxPopoverOptions = {\r\n contentTemplate: \"contentTemplate\",\r\n maxWidth: \"300px\",\r\n toolbarItems: this.createPopoverToolbarItems(() => {\r\n this.filter.idObjektStatusList = this.objektStatusFilterList.instance.option(\"selectedItemKeys\");\r\n\r\n this.doSearch();\r\n this.updateObjektStatusFilterTagList();\r\n this.objektStatusFilterPopover.instance.hide();\r\n }, () => this.objektStatusFilterPopover.instance.hide())\r\n };\r\n objektStatusFilterListOptions: DevExpress.ui.dxListOptions = {\r\n keyExpr: \"Id\",\r\n displayExpr: \"BezeichnungBenutzerrolle\",\r\n selectionMode: \"all\",\r\n showSelectionControls: true\r\n };\r\n objektStatusFilterTagOptions: IZitTagOptions = {\r\n textExpression: \"item.BezeichnungBenutzerrolle\",\r\n onDeleteClick: (ev, filter) => {\r\n const indexFilter = this.filter.idObjektStatusList.findIndex((c) => c == filter.Id);\r\n if (indexFilter >= 0) {\r\n this.filter.idObjektStatusList.splice(indexFilter, 1);\r\n }\r\n\r\n const indexCurrent = this.currentObjektStatusFilterList.indexOf(filter);\r\n if (indexCurrent >= 0) {\r\n this.currentObjektStatusFilterList.splice(indexCurrent, 1);\r\n }\r\n\r\n this.doSearch();\r\n }\r\n };\r\n geschaeftspartnerFilterPopoverOptions: DevExpress.ui.dxPopoverOptions = {\r\n contentTemplate: \"contentTemplate\",\r\n maxWidth: \"300px\",\r\n toolbarItems: this.createPopoverToolbarItems(() => {\r\n this.filter.idGeschaeftspartnerList = this.geschaeftspartnerFilterList.instance.option(\"selectedItemKeys\");\r\n\r\n this.doSearch();\r\n this.updateGeschaeftspartnerFilterTagList();\r\n this.geschaeftspartnerFilterPopover.instance.hide();\r\n }, () => this.geschaeftspartnerFilterPopover.instance.hide())\r\n };\r\n geschaeftspartnerFilterListOptions: DevExpress.ui.dxListOptions = {\r\n keyExpr: \"Id\",\r\n displayExpr: \"Name1\",\r\n selectionMode: \"multiple\",\r\n showSelectionControls: true\r\n };\r\n geschaeftspartnerFilterTagOptions: IZitTagOptions = {\r\n textExpression: \"item.Name1\",\r\n onDeleteClick: (ev, filter) => {\r\n const indexFilter = this.filter.idGeschaeftspartnerList.findIndex((c) => c == filter.Id);\r\n if (indexFilter >= 0) {\r\n this.filter.idGeschaeftspartnerList.splice(indexFilter, 1);\r\n }\r\n\r\n const indexCurrent = this.currentGeschaeftspartnerFilterList.indexOf(filter);\r\n if (indexCurrent >= 0) {\r\n this.currentGeschaeftspartnerFilterList.splice(indexCurrent, 1);\r\n }\r\n\r\n this.doSearch();\r\n }\r\n };\r\n geschaeftspartnerSchuleFilterPopoverOptions: DevExpress.ui.dxPopoverOptions = {\r\n contentTemplate: \"contentTemplate\",\r\n maxWidth: \"300px\",\r\n toolbarItems: this.createPopoverToolbarItems(() => {\r\n this.filter.idGeschaeftspartnerSchuleList = this.geschaeftspartnerSchuleFilterList.instance.option(\"selectedItemKeys\");\r\n\r\n this.doSearch();\r\n this.geschaeftspartnerSchuleFilterPopover.instance.hide();\r\n }, () => this.geschaeftspartnerSchuleFilterPopover.instance.hide())\r\n };\r\n geschaeftspartnerSchuleFilterListOptions: DevExpress.ui.dxListOptions = {\r\n keyExpr: \"Id\",\r\n displayExpr: \"Name1\",\r\n selectionMode: \"multiple\",\r\n showSelectionControls: true\r\n };\r\n terminEmpfZustandFilterPopoverOptions: DevExpress.ui.dxPopoverOptions = {\r\n contentTemplate: \"contentTemplate\",\r\n maxWidth: \"300px\",\r\n toolbarItems: this.createPopoverToolbarItems(() => {\r\n this.filter.idTerminEmpfZustandList = this.terminEmpfZustandFilterList.instance.option(\"selectedItemKeys\");\r\n\r\n this.doSearch();\r\n this.terminEmpfZustandFilterPopover.instance.hide();\r\n }, () => this.terminEmpfZustandFilterPopover.instance.hide())\r\n };\r\n terminEmpfZustandFilterListOptions: DevExpress.ui.dxListOptions = {\r\n keyExpr: \"Id\",\r\n displayExpr: \"Bezeichnung\",\r\n selectionMode: \"all\",\r\n selectAllMode: \"allPages\",\r\n showSelectionControls: true\r\n };\r\n eventZeitraumTagTagOptions: IZitTagOptions = {\r\n icon: {\r\n faIcon: \"far fa-calendar-alt\"\r\n },\r\n textExpression: \"item.Bezeichnung\",\r\n backgroundColorExpression: `item.IsAktiv ? '${this.startupService.startupInfo.Skin.Farbe}' : ''`,\r\n colorExpression: \"item.IsAktiv ? 'white' : 'black'\",\r\n isDeleteClickEnabledExpression: \"item.IsAktiv\",\r\n onClick: (ev, tag: ISchnupperterminZeitraumResult) => {\r\n ev.preventDefault();\r\n ev.stopPropagation();\r\n\r\n const indexOf = this.filter.idEventZeitraumList.indexOf(tag.Id);\r\n if (indexOf >= 0) {\r\n return;\r\n }\r\n\r\n this.filter.idEventZeitraumList.push(tag.Id);\r\n this.updateEventZeitraumList();\r\n \r\n this.doSearch();\r\n },\r\n onDeleteClick: (ev, tag: ISchnupperterminZeitraumResult) => {\r\n ev.preventDefault();\r\n ev.stopPropagation();\r\n\r\n const indexOf = this.filter.idEventZeitraumList.indexOf(tag.Id);\r\n if (indexOf < 0) {\r\n return;\r\n }\r\n\r\n this.filter.idEventZeitraumList.splice(indexOf, 1);\r\n this.updateEventZeitraumList();\r\n this.doSearch();\r\n }\r\n };\r\n zeitraumOptions: DevExpress.ui.dxTextBoxOptions = {\r\n readOnly: true,\r\n width: \"250px\",\r\n bindingOptions: {\r\n value: \"zeitraumFormatiert\"\r\n }\r\n };\r\n zeitraumPopupOptions: DevExpress.ui.dxPopupOptions = {\r\n contentTemplate: \"contentTemplate\",\r\n height: \"auto\",\r\n maxWidth: \"500px\"\r\n };\r\n zeitraumGueltigVonOptions: DevExpress.ui.dxDateBoxOptions = {\r\n displayFormat: this._globalizationService.getFormatterParser(\"d\"),\r\n bindingOptions: {\r\n value: \"zeitraumEdit.zeitraumVon\"\r\n }\r\n };\r\n zeitraumGueltigBisOptions: DevExpress.ui.dxDateBoxOptions = {\r\n displayFormat: this._globalizationService.getFormatterParser(\"d\"),\r\n bindingOptions: {\r\n value: \"zeitraumEdit.zeitraumBis\"\r\n }\r\n };\r\n zeitraumKalenderOptions: DevExpress.ui.dxSelectBoxOptions = {\r\n dataSource: [\r\n { id: KalenderViewType.Tag, text: \"Tag\" },\r\n { id: KalenderViewType.Woche, text: \"Woche\" },\r\n { id: KalenderViewType.Monat, text: \"Monat\" },\r\n ],\r\n displayExpr: \"text\",\r\n valueExpr: \"id\",\r\n bindingOptions: {\r\n value: \"zeitraumEdit.kalenderViewType\"\r\n }\r\n };\r\n zeitraumUngebuchteAusblendenOptions: DevExpress.ui.dxCheckBoxOptions = {\r\n text: \"Ungebuchte Zeiträume ausblenden\",\r\n bindingOptions: {\r\n value: \"zeitraumEdit.shouldUngebuchteAusblenden\"\r\n }\r\n };\r\n\r\n bind(bindingContext) {\r\n this.parentForm = bindingContext;\r\n\r\n this.scopeContainer = new ScopeContainer({\r\n bindingContext: this,\r\n overrideContext: createOverrideContext(this.parentForm)\r\n });\r\n\r\n this.prepareZeitraumPopup();\r\n\r\n this._terminChangedSubscription = this._eventAggregator.subscribe(\"termin:changed\", (e) => {\r\n if (this.currentViewType == ViewType.Termin) {\r\n this.reloadTermin(e.idTermin);\r\n } else if (this.currentViewType == ViewType.TerminEmpfaenger) {\r\n if (e.isZiel) {\r\n this.doSearch();\r\n }\r\n }\r\n });\r\n this._terminEmpfChangedSubscription = this._eventAggregator.subscribe(\"termin-empf:changed\", (e) => {\r\n if (this.currentViewType == ViewType.TerminEmpfaenger) {\r\n this.reloadTerminEmpf(e.idTermin, e.idPerson);\r\n }\r\n });\r\n this._objektStatusChangedSubscription = this._eventAggregator.subscribe(\"objekt-status:changed\", async (e) => {\r\n if (!e.idObjektList) {\r\n return;\r\n }\r\n\r\n for (const id of e.idObjektList) {\r\n await this.reloadById(id);\r\n }\r\n });\r\n\r\n this._formSavedSubscription = this._formEventService.onSaved.register(async(args) => {\r\n const model = args.form.models.modelWithKeyId;\r\n if (!model) {\r\n return;\r\n }\r\n\r\n const id = args.form.models.data[model.id].Id;\r\n if (!id) {\r\n return;\r\n }\r\n\r\n switch (model.webApiAction) {\r\n case \"ZIT/Objekte/EventZeitraum\": {\r\n this.reloadEventZeitraum(id);\r\n break;\r\n }\r\n case \"ZIT/Objekte/EventTeilnehmer\": {\r\n this.reloadEventTeilnehmer(id);\r\n break;\r\n }\r\n default: {\r\n break;\r\n }\r\n }\r\n });\r\n }\r\n unbind() {\r\n this._terminEmpfChangedSubscription.dispose();\r\n this._terminEmpfChangedSubscription = null;\r\n\r\n this._terminChangedSubscription.dispose();\r\n this._terminChangedSubscription = null;\r\n\r\n this._objektStatusChangedSubscription.dispose();\r\n this._objektStatusChangedSubscription = null;\r\n\r\n this._formSavedSubscription();\r\n this._formSavedSubscription = null;\r\n\r\n this.scopeContainer.disposeAll();\r\n this.scopeContainer = null;\r\n }\r\n\r\n async attached() {\r\n await this.initializeQuery();\r\n this.doSearch(true);\r\n }\r\n\r\n resetCustomFilter() {\r\n this.filterTermin = null;\r\n this.filterEventZeitraum = null;\r\n }\r\n\r\n showReportAuswahlPopup() {\r\n this.reportErstellen.reportErstellenPopup.instance.show();\r\n }\r\n showNachrichtSendenPopup() {\r\n const rows = this.grid.instance.getSelectedRowsData();\r\n\r\n const objektModelList = rows.map((r) => {\r\n return {\r\n IdObjekt: r[\"IdPerson\"],\r\n IdObjektRef: r[\"IdTermin\"]\r\n };\r\n });\r\n\r\n this._nachrichtService.doNachrichtErstellenFromObjekt(\r\n objektModelList,\r\n \"TIP.ZIT.Business.Entities.Objekte.Personen.Person\"\r\n );\r\n }\r\n showTerminEmpfStatusAenderPopup() {\r\n const rows = this.grid.instance.getSelectedRowsData();\r\n\r\n const dataList = rows.map((r) => {\r\n return {\r\n IdPerson: r[\"IdPerson\"],\r\n IdTermin: r[\"Id\"]\r\n };\r\n });\r\n\r\n if (dataList.length === 1) {\r\n this.terminEmpfaenger.showStatusPopup(dataList[0].IdTermin, dataList[0].IdPerson);\r\n } else {\r\n this.terminEmpfaenger.showStatusPopupMulti(dataList);\r\n }\r\n }\r\n\r\n currentViewTypeChanged() {\r\n this.filterIdPerson = null;\r\n this.doSearch(true);\r\n }\r\n\r\n onFilterClick() {\r\n this.erweiterteSuche.showPopup();\r\n }\r\n onShowErweiterteSucheClick(ev: Event) {\r\n this.erweiterteSuche.showVorlageContextMenu(ev, true);\r\n }\r\n async onObjektStatusFilterClick(ev: Event) {\r\n const dataSource = await this.getObjektStatusList();\r\n\r\n const options = {\r\n dataSource,\r\n selectedItemKeys: this.filter.idObjektStatusList\r\n };\r\n\r\n if (this.objektStatusFilterList) {\r\n this.objektStatusFilterList.setOption(options);\r\n } else {\r\n Object.assign(this.objektStatusFilterListOptions, options);\r\n }\r\n\r\n this.objektStatusFilterPopover.instance.show(ev.target);\r\n }\r\n onAktiveAufgabeFilterClick() {\r\n this.filter.shouldLoadOnlyAktiveAufgabe = !this.filter.shouldLoadOnlyAktiveAufgabe;\r\n this.doSearch();\r\n }\r\n async onGeschaeftspartnerFilterClick(ev: Event) {\r\n const dataSource = await this.getGeschaeftspartnerList();\r\n\r\n const options = {\r\n dataSource,\r\n selectedItemKeys: this.filter.idGeschaeftspartnerList\r\n };\r\n\r\n if (this.geschaeftspartnerFilterList) {\r\n this.geschaeftspartnerFilterList.setOption(options);\r\n } else {\r\n Object.assign(this.geschaeftspartnerFilterListOptions, options);\r\n }\r\n\r\n this.geschaeftspartnerFilterPopover.instance.show(ev.target);\r\n }\r\n async onGeschaeftspartnerSchuleFilterClick(ev: Event) {\r\n const dataSource = await this.getGeschaeftspartnerSchuleList();\r\n\r\n const options = {\r\n dataSource,\r\n selectedItemKeys: this.filter.idGeschaeftspartnerSchuleList\r\n };\r\n\r\n if (this.geschaeftspartnerSchuleFilterList) {\r\n this.geschaeftspartnerSchuleFilterList.setOption(options);\r\n } else {\r\n Object.assign(this.geschaeftspartnerSchuleFilterListOptions, options);\r\n }\r\n\r\n this.geschaeftspartnerSchuleFilterPopover.instance.show(ev.target);\r\n }\r\n async onTerminEmpfZustandFilterClick(ev: Event) {\r\n if (!this.terminEmpfZustandFilterList) {\r\n const dataSource = await this.getTerminEmpfZustandList();\r\n this.terminEmpfZustandFilterListOptions.dataSource = dataSource;\r\n }\r\n\r\n const options = {\r\n selectedItemKeys: this.filter.idTerminEmpfZustandList\r\n };\r\n\r\n if (this.terminEmpfZustandFilterList) {\r\n this.terminEmpfZustandFilterList.setOption(options);\r\n } else {\r\n Object.assign(this.terminEmpfZustandFilterListOptions, options);\r\n }\r\n\r\n this.terminEmpfZustandFilterPopover.instance.show(ev.target);\r\n }\r\n onInfoClick() {\r\n this.filter.shouldLoadInfo = !this.filter.shouldLoadInfo;\r\n this.doSearch();\r\n }\r\n onKalenderClick() {\r\n this.filter.shouldLoadKalender = !this.filter.shouldLoadKalender;\r\n this.doSearch();\r\n }\r\n onZeitraumClick() {\r\n this.zeitraumEdit = {\r\n zeitraumVon: this.filter.zeitraumVon,\r\n zeitraumBis: this.filter.zeitraumBis,\r\n kalenderViewType: this.filter.kalenderViewType,\r\n shouldUngebuchteAusblenden: this.filter.shouldUngebuchteAusblenden || false\r\n };\r\n\r\n this.zeitraumPopup.instance.show();\r\n }\r\n onExecuteSucheErweitert(ev: CustomEvent) {\r\n this.filter.searchExtended = ev.detail.wertQueryList\r\n ? JSON.stringify(ev.detail.wertQueryList)\r\n : null;\r\n\r\n this.doSearch();\r\n }\r\n onLayoutChanged() {\r\n this.doSearch();\r\n }\r\n onLayoutLoaded(ev: CustomEvent) {\r\n const data: ILoginprofilEinstellung = ev.detail.data;\r\n if (!data.Wert.Custom) {\r\n return;\r\n }\r\n\r\n this.filter = data.Wert.Custom;\r\n this.updateGeschaeftspartnerFilterTagList();\r\n this.updateObjektStatusFilterTagList();\r\n this.updateEventZeitraumList();\r\n }\r\n onLayoutSaving(ev: CustomEvent) {\r\n const data: ILoginprofilEinstellung = ev.detail.data;\r\n data.Wert.Custom = this.filter;\r\n }\r\n onExportExcel() {\r\n const query = this.getQuery();\r\n query.IdList = this.grid.instance\r\n .getSelectedRowsData()\r\n .map((c) => c[\"Id\"]);\r\n\r\n this._downloadService.downloadExcelFromTableau(query);\r\n return false;\r\n }\r\n\r\n private createPopoverToolbarItems(okCallback: {(): void}, cancelCallback: {(): void}) {\r\n return [{\r\n toolbar: \"bottom\",\r\n location: \"center\",\r\n widget: \"dxButton\",\r\n options: {\r\n text: \"Übernehmen\",\r\n onClick: () => {\r\n okCallback();\r\n }\r\n }\r\n }, {\r\n toolbar: \"bottom\",\r\n location: \"center\",\r\n widget: \"dxButton\",\r\n options: {\r\n text: \"Abbrechen\",\r\n onClick: () => {\r\n cancelCallback();\r\n }\r\n }\r\n }];\r\n }\r\n private prepareZeitraumPopup() {\r\n this._simpleWidgetCreatorService.updatePopupOptions({\r\n idToolbar: \"zeitraumPopupToolbar\",\r\n caption: \"tableau.zeitraum-uebernehmen\",\r\n options: this.zeitraumPopupOptions,\r\n commands: [{\r\n id: \"zeitraumUebernehmenCommand\",\r\n icon: \"fas fa-check\",\r\n tooltip: \"tableau.zeitraum-uebernehmen\",\r\n sortIndex: 1001,\r\n execute: (ev: any) => {\r\n if (!this.zeitraumEdit.zeitraumVon) {\r\n DevExpress.ui.notify(\r\n \"Datum von ist ein Pflichtfeld\",\r\n \"error\",\r\n 3000\r\n );\r\n return;\r\n } \r\n if (!this.zeitraumEdit.zeitraumBis) {\r\n DevExpress.ui.notify(\r\n \"Datum bis ist ein Pflichtfeld\",\r\n \"error\",\r\n 3000\r\n );\r\n return;\r\n } \r\n if (this.zeitraumEdit.kalenderViewType == void(0)) {\r\n DevExpress.ui.notify(\r\n \"Kalender-Zeitraum ist ein Pflichtfeld\",\r\n \"error\",\r\n 3000\r\n );\r\n return;\r\n }\r\n\r\n this.zeitraumPopup.instance.hide();\r\n\r\n this.filter.zeitraumVon = this.zeitraumEdit.zeitraumVon;\r\n this.filter.zeitraumBis = this.zeitraumEdit.zeitraumBis;\r\n this.filter.kalenderViewType = this.zeitraumEdit.kalenderViewType;\r\n this.filter.shouldUngebuchteAusblenden = this.zeitraumEdit.shouldUngebuchteAusblenden;\r\n\r\n this.doSearch();\r\n }\r\n }],\r\n scopeContainer: this.scopeContainer\r\n });\r\n }\r\n\r\n private async initializeQuery() {\r\n const result: IQuery = await this._restService.get({\r\n url: this._restService.getApiUrl(\"ZIT/Tableau/QueryModel\"),\r\n increaseLoadingCount: true\r\n });\r\n\r\n this._defaultFilter = {\r\n kalenderViewType: result.KalenderViewType,\r\n shouldLoadKalender: result.LoadKalender,\r\n shouldLoadInfo: result.LoadDetail,\r\n shouldUngebuchteAusblenden: result.UngebuchteZeitraumAusblenden,\r\n zeitraumVon: result.GueltigVon,\r\n zeitraumBis: result.GueltigBis,\r\n idGeschaeftspartnerSchuleList: [],\r\n idGeschaeftspartnerList: result.IdGeschaeftspartnerList,\r\n idObjektStatusList: result.IdObjektStatusList,\r\n idTerminEmpfZustandList: result.IdTerminEmpfZustandStatusList,\r\n idEventZeitraumList: result.IdEventZeitraumList,\r\n dataSourceIdObjektStatusFilterDic: result.DataSourceIdObjektStatusFilterDic\r\n };\r\n\r\n this.resetFilter();\r\n this.updateObjektStatusFilterTagList();\r\n this.updateGeschaeftspartnerFilterTagList();\r\n\r\n if (this.startupService.startupInfo.Benutzer.CodeBenutzerrolle == \"KUNDE-SCHULE\") {\r\n this.currentEventZeitraumList = await this._schnupperterminService.getEventZeitraumSchnupperterminList(\r\n this.filter.zeitraumVon,\r\n this.filter.zeitraumBis\r\n );\r\n \r\n this.updateEventZeitraumList();\r\n }\r\n }\r\n private async doSearch(isNewDataType: boolean = false) {\r\n //Prüfen, ob es ein Standardlayout für den Typ gibt ...\r\n if (isNewDataType) {\r\n const layout = await this.layoutAuswahl.getStandardLayout(this.currentObjektFullName);\r\n if (layout) {\r\n this.layoutAuswahl.assignLayoutToGrid(layout, true);\r\n return;\r\n }\r\n\r\n this.resetFilter();\r\n\r\n this.updateObjektStatusFilterTagList();\r\n this.updateGeschaeftspartnerFilterTagList();\r\n }\r\n\r\n if (this.filterTermin && this.filterTermin.zustandStatus != void(0)) {\r\n await this.updateTerminEmpfZustand(this.filterTermin.zustandStatus);\r\n this.filterTermin.zustandStatus = null;\r\n }\r\n if (this.filterEventZeitraum) {\r\n if (this.filterEventZeitraum.objektStatusSammlungTyp != void(0)) {\r\n await this.updateObjektStatus(this.filterEventZeitraum.objektStatusSammlungTyp);\r\n this.filterEventZeitraum.objektStatusSammlungTyp = null;\r\n\r\n this.updateObjektStatusFilterTagList();\r\n }\r\n \r\n if (this.filterEventZeitraum.zeitraumVon) {\r\n this.filter.zeitraumVon = this.filterEventZeitraum.zeitraumVon;\r\n }\r\n \r\n if (this.filterEventZeitraum.zeitraumBis) {\r\n this.filter.zeitraumBis = this.filterEventZeitraum.zeitraumBis;\r\n }\r\n }\r\n\r\n const query = this.getQuery(isNewDataType);\r\n\r\n if (query.GueltigVon && query.GueltigBis) {\r\n const result: IResult = await this._restService.post({\r\n url: this._restService.getApiUrl(\"ZIT/Tableau/Data\"),\r\n data: query,\r\n increaseLoadingCount: true\r\n });\r\n\r\n if (isNewDataType) {\r\n this.filter.zeitraumVon = result.GueltigVon;\r\n this.filter.zeitraumBis = result.GueltigBis;\r\n }\r\n\r\n this.setGridData(result);\r\n } else {\r\n this.setGridData({\r\n Data: []\r\n });\r\n }\r\n }\r\n\r\n private async getGeschaeftspartnerList() {\r\n const query = this.getQuery();\r\n if (!query) {\r\n return;\r\n }\r\n\r\n const result: IGeschaeftspartnerFilter[] = await this._restService.post({\r\n url: this._restService.getApiUrl(`ZIT/Tableau/Geschaeftspartner`),\r\n data: query\r\n });\r\n\r\n return result;\r\n }\r\n private async getGeschaeftspartnerSchuleList() {\r\n const result = await this._restService.get({\r\n url: this._restService.getWebApiUrl(\"ZIT/Simple/Geschaeftspartner\"),\r\n getOptions: {\r\n where: [\"IsGeschaeftspartnerSchule\", true],\r\n orderBy: [{columnName: \"Name1\", sortOrder: 0}]\r\n }\r\n });\r\n\r\n return result;\r\n }\r\n private async getObjektStatusList() {\r\n const result: IObjektStatusFilter[] = await this._restService.get({\r\n url: this._restService.getWebApiUrl(\"ZIT/Stammdaten/ObjektStatus\"),\r\n getOptions: {\r\n where: [\"Objekttyp.Fullname\", this.currentObjektFullName]\r\n }\r\n });\r\n\r\n return result;\r\n }\r\n private async getTerminEmpfZustandList() {\r\n const result: ITerminEmpfFilter[] = await this._restService.get({\r\n url: this._restService.getWebApiUrl(\"ZIT/Stammdaten/Zustand\"),\r\n getOptions: {\r\n where: [\"Bereich\", 7],\r\n columns: [\"Id\", \"Bezeichnung\"]\r\n }\r\n });\r\n\r\n return result;\r\n }\r\n\r\n private resetFilter() { \r\n this.filter = {\r\n kalenderViewType: this._defaultFilter.kalenderViewType,\r\n shouldLoadKalender: this._defaultFilter.shouldLoadKalender,\r\n shouldLoadInfo: this._defaultFilter.shouldLoadInfo,\r\n shouldUngebuchteAusblenden: this._defaultFilter.shouldUngebuchteAusblenden,\r\n shouldLoadOnlyAktiveAufgabe: this._defaultFilter.shouldLoadOnlyAktiveAufgabe,\r\n zeitraumVon: this._defaultFilter.zeitraumVon,\r\n zeitraumBis: this._defaultFilter.zeitraumBis,\r\n idGeschaeftspartnerList: [...this._defaultFilter.idGeschaeftspartnerList],\r\n idGeschaeftspartnerSchuleList: [...this._defaultFilter.idGeschaeftspartnerSchuleList],\r\n idObjektStatusList: [...this._defaultFilter.idObjektStatusList],\r\n idTerminEmpfZustandList: [...this._defaultFilter.idTerminEmpfZustandList],\r\n idEventZeitraumList: [...this._defaultFilter.idEventZeitraumList]\r\n };\r\n\r\n const objektStatusFilterCurrentViewType = this._defaultFilter.dataSourceIdObjektStatusFilterDic[this.currentViewType];\r\n if (objektStatusFilterCurrentViewType) {\r\n this.filter.idObjektStatusList = objektStatusFilterCurrentViewType;\r\n }\r\n\r\n this.updateEventZeitraumList();\r\n }\r\n \r\n private async updateTerminEmpfZustand(zustandStatus: ZustandStatus) {\r\n const zustandList = await this._zustandService.getZustandList(\r\n ZustandBereich.TerminEmpfaengerStatus,\r\n this.filterTermin.zustandStatus\r\n );\r\n\r\n this.filter.idTerminEmpfZustandList = zustandList.map((z) => z.Id);\r\n }\r\n private async updateObjektStatus(objektStatusSammlungTyp: ObjektStatusSammlungTyp) {\r\n const objektStatusList = await this._statusService.getObjektStatusByObjektStatusSammlung(\r\n this.currentObjektFullName,\r\n objektStatusSammlungTyp\r\n );\r\n\r\n this.filter.idObjektStatusList = objektStatusList.map((s) => s.Id);\r\n }\r\n private async updateObjektStatusFilterTagList() {\r\n if (!this.filter.idObjektStatusList) {\r\n this.currentObjektStatusFilterList = [];\r\n return;\r\n }\r\n\r\n this.currentObjektStatusFilterList = (await this.getObjektStatusList())\r\n .filter((c) => this.filter.idObjektStatusList.indexOf(c.Id) >= 0);\r\n }\r\n private async updateGeschaeftspartnerFilterTagList() {\r\n if (!this.filter.idGeschaeftspartnerList) {\r\n this.currentGeschaeftspartnerFilterList = [];\r\n return;\r\n }\r\n\r\n this.currentGeschaeftspartnerFilterList = (await this.getGeschaeftspartnerList())\r\n .filter((c) => this.filter.idGeschaeftspartnerList.indexOf(c.Id) >= 0);\r\n }\r\n private updateEventZeitraumList() {\r\n if (!this.currentEventZeitraumList) {\r\n return;\r\n }\r\n if (!this.filter.idEventZeitraumList) {\r\n return;\r\n }\r\n\r\n for (const tag of this.currentEventZeitraumList) {\r\n tag.IsAktiv = this.filter.idEventZeitraumList.indexOf(tag.Id) >= 0;\r\n }\r\n }\r\n\r\n private getQuery(isNewDataType: boolean = false) {\r\n const query = {\r\n DataSourceType: this.currentViewType,\r\n KalenderViewType: this.filter.kalenderViewType,\r\n LoadKalender: this.filter.shouldLoadKalender,\r\n LoadDetail: this.filter.shouldLoadInfo,\r\n UngebuchteZeitraumAusblenden: this.filter.shouldUngebuchteAusblenden,\r\n NurAktiveAufgaben: this.filter.shouldLoadOnlyAktiveAufgabe,\r\n GueltigVon: this.filter.zeitraumVon,\r\n GueltigBis: this.filter.zeitraumBis,\r\n SearchText: this.filter.searchText,\r\n SearchExtendedValue: this.filter.searchExtended,\r\n IdObjektStatusList: this.filter.idObjektStatusList,\r\n IdGeschaeftspartnerList: this.filter.idGeschaeftspartnerList,\r\n IdGeschaeftspartnerSchuleList: this.filter.idGeschaeftspartnerSchuleList,\r\n IdTerminEmpfZustandStatusList: this.filter.idTerminEmpfZustandList,\r\n IdEventZeitraumList: this.filter.idEventZeitraumList,\r\n IdPerson: this.filterIdPerson\r\n };\r\n\r\n if (this.filterTermin && this.filterTermin.idTermin) {\r\n query.IdTermin = this.filterTermin.idTermin;\r\n }\r\n if (this.filterEventZeitraum && this.filterEventZeitraum.idEventZeitraum) {\r\n query.IdEventZeitraum = this.filterEventZeitraum.idEventZeitraum;\r\n }\r\n\r\n query.Columns = isNewDataType\r\n ? \"[]\"\r\n : JSON.stringify(this.layoutAuswahl.getCurrentGridColumns());\r\n\r\n return query;\r\n }\r\n\r\n private setGridData(result: IResult) {\r\n this.previousResult = result;\r\n this.grid.instance.beginUpdate();\r\n\r\n try {\r\n if (result.Columns && result.Columns.length > 0) {\r\n this.updateGridColumns(result.Columns);\r\n }\r\n\r\n this.grid.setOption({\r\n dataSource: [],\r\n columns: result.Columns\r\n });\r\n\r\n this.grid.setOption({\r\n dataSource: result.Data\r\n });\r\n\r\n this.updateGroupIndexes(result.Columns);\r\n this.calcColumnsWidth(result);\r\n } finally {\r\n this.grid.instance.endUpdate();\r\n }\r\n }\r\n private updateGridColumns(columns: IResultColumn[]) {\r\n for (const column of columns) {\r\n if (!column.format && column[\"_formatString\"]) {\r\n column.format = this._globalizationService.getFormatter(column[\"_formatString\"]);\r\n }\r\n\r\n if (column.dataField.substring(0, 1) !== \"_\") {\r\n continue;\r\n }\r\n\r\n column.headerCellTemplate = (element, data) => {\r\n if (data.column._headerIcon) {\r\n const iconElement = document.createElement(\"i\");\r\n iconElement.className = `fa-fw ${data.column._headerIcon}`;\r\n element.appendChild(iconElement);\r\n } else {\r\n element.innerText = data.column.caption;\r\n element.style.whiteSpace = \"normal\";\r\n }\r\n\r\n if (data.column._headerFarbe) {\r\n element.style.color = data.column._headerFarbe;\r\n }\r\n\r\n element.title = data.column._tooltip || data.column.caption;\r\n };\r\n\r\n const isKalender = column.dataField.substring(0, 2) === \"_K\";\r\n const isDetail = column.dataField.substring(0, 8) === \"_Details\";\r\n\r\n if (isKalender || isDetail) {\r\n column.cellTemplate = (element, options) => {\r\n let value = null;\r\n\r\n if (isKalender) {\r\n const div = document.createElement(\"div\");\r\n const dataField = options.column.dataField + \"_Farbe\";\r\n\r\n const farbe = options.data[dataField];\r\n if (farbe && farbe.length > 0) {\r\n div.style.backgroundColor = farbe;\r\n value = \" \";\r\n }\r\n\r\n div.innerHTML = value || options.value || \"\";\r\n\r\n element.appendChild(div);\r\n } else if (isDetail) {\r\n const div = document.createElement(\"div\");\r\n div.innerHTML = options.value;\r\n\r\n element.appendChild(div);\r\n }\r\n };\r\n }\r\n }\r\n }\r\n private updateGroupIndexes(columns: IResultColumn[]) {\r\n const groups = columns\r\n .filter(c => c.groupIndex != void(0))\r\n .sort((a, b) => a.groupIndex - b.groupIndex);\r\n \r\n if (groups.length === 0) {\r\n return;\r\n }\r\n\r\n let index = 0;\r\n groups.forEach(c => {\r\n this.grid.instance.columnOption(c.dataField, \"groupIndex\", index);\r\n index++;\r\n });\r\n }\r\n private calcColumnsWidth(data: IResult) {\r\n const dataSource = data.Data;\r\n \r\n let columns: DevExpress.ui.dxDataGridColumn[] = this.grid\r\n ? this.grid.instance.option(\"columns\")\r\n : this.gridOptions.columns;\r\n\r\n columns = columns.filter((c: any) => {\r\n return c._autoWidth\r\n || (c.dataField.substr(0, 1) !== \"_\" && (!this.layoutAuswahl || !this.layoutAuswahl.idCurrentLayout));\r\n });\r\n\r\n columns.forEach((c) => {\r\n const width = this.calcColumnWidth(dataSource, c);\r\n\r\n if (this.grid) {\r\n this.grid.instance.columnOption(c.dataField, \"width\", width);\r\n } else {\r\n c.width = width;\r\n }\r\n });\r\n }\r\n private calcColumnWidth(data: any[], column: DevExpress.ui.dxDataGridColumn): string {\r\n const min = Math.min(data.length, 15);\r\n\r\n let curr: number = 30;\r\n\r\n if (column.caption) {\r\n const width = this.calcTextWidth(column.caption);\r\n if (width > curr) {\r\n curr = width;\r\n }\r\n }\r\n \r\n for (let i = 0; i < min; i++) {\r\n let val = data[i][column.dataField];\r\n\r\n if (val == void (0)) {\r\n continue;\r\n }\r\n\r\n if (column.format) {\r\n val = (column).format(val);\r\n }\r\n\r\n if (val == void (0)) {\r\n continue;\r\n }\r\n\r\n const width = this.calcTextWidth(val);\r\n if (curr < width) {\r\n curr = width;\r\n }\r\n }\r\n\r\n if (curr > 400) {\r\n curr = 400;\r\n } else if (curr < 30) {\r\n curr = 30;\r\n }\r\n\r\n return `${curr + 5}px`;\r\n }\r\n private calcTextWidth(text) {\r\n const canvas = this._canvas || (this._canvas = document.createElement(\"canvas\"));\r\n const context = canvas.getContext(\"2d\");\r\n context.font = \"12pt arial\";\r\n\r\n const metrics = context.measureText(text);\r\n return Math.ceil(metrics.width);\r\n }\r\n \r\n private async reloadById(id: number) {\r\n switch (this.currentViewType) {\r\n case ViewType.Termin: {\r\n await this.reloadTermin(id);\r\n break;\r\n }\r\n case ViewType.Event: {\r\n await this.reloadEventZeitraum(id);\r\n break;\r\n }\r\n case ViewType.EventTeilnehmer: {\r\n await this.reloadEventTeilnehmer(id);\r\n break;\r\n }\r\n default: {\r\n break;\r\n }\r\n }\r\n }\r\n private async reloadTermin(idTermin: number) {\r\n this.reload((dataSource) => {\r\n return dataSource.find((i) => {\r\n return i.Id == idTermin;\r\n });\r\n }, {\r\n IdTerminReload: idTermin\r\n });\r\n }\r\n private async reloadTerminEmpf(idTermin: number, idPerson: number) {\r\n this.reload((dataSource) => {\r\n return dataSource.find((i) => {\r\n return i.Id == idTermin\r\n && i.IdPerson == idPerson;\r\n });\r\n }, {\r\n IdTerminReload: idTermin,\r\n IdPersonReload: idPerson\r\n });\r\n }\r\n private async reloadEventZeitraum(idEventZeitraum: number) {\r\n this.reload((dataSource) => {\r\n return dataSource.find((i) => {\r\n return i.Id == idEventZeitraum;\r\n });\r\n }, {\r\n IdEventZeitraumReload: idEventZeitraum\r\n });\r\n }\r\n private async reloadEventTeilnehmer(idEventTeilnehmer: number) {\r\n this.reload((dataSource) => {\r\n return dataSource.find((i) => {\r\n return i.Id == idEventTeilnehmer;\r\n });\r\n }, {\r\n IdEventTeilnehmerReload: idEventTeilnehmer\r\n });\r\n }\r\n private async reload(findItem: { (dataSource: any[]): number }, reloadParams: any) {\r\n const dataSource = this.grid.instance.getDataSource();\r\n const store: DevExpress.data.ArrayStore = dataSource.store();\r\n const items = await store.load();\r\n const item = findItem(items);\r\n\r\n if (!item) {\r\n return;\r\n }\r\n\r\n const key = store.keyOf(item);\r\n const rowIndex = this.grid.instance.getRowIndexByKey(key);\r\n if (rowIndex < 0) {\r\n return;\r\n }\r\n\r\n const data = Object.assign({},\r\n this.getQuery(), {\r\n IsReload: true\r\n },\r\n reloadParams);\r\n\r\n const r = await this._restService.post({\r\n url: this._restService.getApiUrl(\"ZIT/Tableau/Data\"),\r\n data: data,\r\n increaseLoadingCount: true\r\n });\r\n\r\n if (!r || !r.Data || r.Data.length != 1) {\r\n return;\r\n }\r\n\r\n store.update(key, r.Data[0]);\r\n this.grid.instance.repaintRows([rowIndex]);\r\n this.grid.instance.clearSelection();\r\n }\r\n}\r\n\r\nexport enum ViewType {\r\n DispoPlanstelle = 0,\r\n DispoPersonenzuteilung = 1,\r\n Termin = 2,\r\n TerminEmpfaenger = 3,\r\n Aufgabe = 4,\r\n Schnuppertermin = 5,\r\n Event = 6,\r\n EventTeilnehmer = 7,\r\n EventSchnuppertermin = 8,\r\n EventLinkAnmeldung = 9\r\n}\r\nenum KalenderViewType {\r\n Tag = 0,\r\n Woche = 1,\r\n Monat = 2\r\n}\r\ninterface IFilter {\r\n idGeschaeftspartnerList: number[];\r\n idGeschaeftspartnerSchuleList: number[];\r\n idObjektStatusList: number[];\r\n idTerminEmpfZustandList: number[];\r\n idEventZeitraumList: number[];\r\n shouldLoadKalender?: boolean;\r\n shouldLoadOnlyAktiveAufgabe?: boolean;\r\n shouldUngebuchteAusblenden?: boolean;\r\n shouldLoadInfo?: boolean;\r\n kalenderViewType?: KalenderViewType;\r\n zeitraumVon?: Date;\r\n zeitraumBis?: Date;\r\n searchText?: string;\r\n searchExtended?: string;\r\n}\r\ninterface IDefaultFilter extends IFilter {\r\n dataSourceIdObjektStatusFilterDic: any;\r\n}\r\ninterface IFilterTermin {\r\n idTermin: number;\r\n zustandStatus?: ZustandStatus;\r\n}\r\ninterface IFilterEventZeitraum {\r\n idEventZeitraum: number;\r\n objektStatusSammlungTyp: ObjektStatusSammlungTyp;\r\n zeitraumVon: Date;\r\n zeitraumBis: Date;\r\n}\r\ninterface IQuery {\r\n DataSourceType: ViewType;\r\n KalenderViewType: KalenderViewType;\r\n LoadKalender?: boolean;\r\n LoadDetail?: boolean;\r\n IsNewDataType?: boolean;\r\n UngebuchteZeitraumAusblenden?: boolean;\r\n NurAktiveAufgaben?: boolean;\r\n\r\n GueltigVon: Date;\r\n GueltigBis: Date;\r\n\r\n SearchText?: string;\r\n SearchExtendedValue?: string;\r\n\r\n Columns?: string;\r\n\r\n IdList: number[];\r\n IdObjektStatusList: number[];\r\n IdGeschaeftspartnerList: number[];\r\n IdGeschaeftspartnerSchuleList: number[];\r\n IdTerminEmpfZustandStatusList: number[];\r\n IdEventZeitraumList: number[];\r\n IdTermin?: number;\r\n IdEventZeitraum?: number;\r\n IdPerson?: number;\r\n \r\n IsReload?: boolean;\r\n IdTerminReload?: number;\r\n IdPersonReload?: number;\r\n IdEventZeitraumReload?: number;\r\n IdEventTeilnehmerReload?: number;\r\n\r\n DataSourceIdObjektStatusFilterDic?: any;\r\n}\r\ninterface IResult {\r\n Data: any[];\r\n Columns?: IResultColumn[];\r\n GueltigVon?: Date;\r\n GueltigBis?: Date;\r\n}\r\ninterface IResultColumn {\r\n caption: string;\r\n dataField: string;\r\n visibleIndex?: number;\r\n width?: number;\r\n sortIndex?: number;\r\n sortOrder?: string;\r\n fixed?: boolean;\r\n allowReordering?: boolean;\r\n groupIndex?: number;\r\n format?: string;\r\n headerIcon?: string;\r\n headerFarbe?: string;\r\n tooltip?: string;\r\n authWidth?: boolean;\r\n\r\n headerCellTemplate?: any;\r\n cellTemplate?: any;\r\n}\r\ninterface IZeitraumEdit {\r\n zeitraumVon: Date;\r\n zeitraumBis: Date;\r\n kalenderViewType: KalenderViewType;\r\n shouldUngebuchteAusblenden: boolean;\r\n}\r\ninterface IObjektStatusFilter {\r\n Id: number;\r\n Bezeichnung: string;\r\n BezeichnungBenutzerrolle: string;\r\n}\r\ninterface IGeschaeftspartnerFilter {\r\n Id: number;\r\n Name1: string;\r\n}\r\ninterface ITerminEmpfFilter {\r\n Id: number;\r\n Bezeichnung: string;\r\n}\r\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';\r\nimport { autoinject } from 'aurelia-framework';\r\n\r\n@autoinject\r\nexport class CustomEditPopupService {\r\n constructor() { }\r\n\r\n ansprechpersonRead: CustomEditPopup;\r\n dokumentBearbeiten: CustomEditPopup;\r\n dokumentEdit: CustomEditPopup;\r\n dokumentRead: CustomEditPopup;\r\n dokumentUnterfertigung: CustomEditPopup;\r\n geschaeftspartnerAnsprechperson: CustomEditPopup;\r\n geschaeftspartnerAuswaehlen: CustomEditPopup;\r\n geschaeftspartnerEntlohnungsschema: CustomEditPopup;\r\n geschaeftspartnerGruppierung: CustomEditPopup;\r\n markersAuswaehlen: CustomEditPopup;\r\n personAusbildungNeu: CustomEditPopup;\r\n objektZuBenutzergruppe: CustomEditPopup;\r\n nachrichtGruppe: CustomEditPopup;\r\n}\r\n","import { autoinject } from 'aurelia-framework';\r\nimport { RestService } from './../../framework/base/services/export';\r\nimport { EventAggregator } from 'aurelia-event-aggregator';\r\nimport { ObjektInfoService } from './objekt-info-service';\r\nimport { LocationService } from '../../framework/base/services/location-service';\r\nimport { SucheViewTyp } from \"../enumerations/export\";\r\n\r\n@autoinject\r\nexport class SucheService {\r\n constructor(\r\n private eventAggregator: EventAggregator,\r\n private objektInfo: ObjektInfoService,\r\n private rest: RestService,\r\n private location: LocationService\r\n ) {\r\n this.lastSearchValue = localStorage.getItem(\"currentSuche\");\r\n this.lastObjektFullName = localStorage.getItem(\"currentObjektFullName\");\r\n\r\n if (this.lastSearchValue) {\r\n this.lastSearchText = this.getSearchText(this.lastSearchValue);\r\n }\r\n\r\n this.eventAggregator.subscribe(\"objekt-info:loaded\", () => {\r\n if (this.lastObjektFullName) {\r\n this.setObjektBezeichnung();\r\n }\r\n });\r\n\r\n if (this.lastObjektFullName) {\r\n if (this.objektInfo.isObjektInfoLoaded()) {\r\n this.setObjektBezeichnung();\r\n }\r\n }\r\n }\r\n\r\n lastObjektFullName: string;\r\n lastObjektBezeichnung: string;\r\n lastSearchText: string;\r\n lastSearchValue: string;\r\n lastWertQueryList: any[];\r\n\r\n clearSuche() {\r\n this.lastObjektFullName = null;\r\n this.lastObjektBezeichnung = null;\r\n this.lastSearchText = null;\r\n this.lastSearchValue = null;\r\n this.lastWertQueryList = null;\r\n\r\n localStorage.removeItem(\"currentSuche\");\r\n localStorage.removeItem(\"currentObjektFullName\");\r\n }\r\n activateSuche(objektFullName: string, viewTyp: SucheViewTyp = SucheViewTyp.list) { \r\n const info = this.objektInfo.getObjektByFullname(objektFullName);\r\n\r\n this.eventAggregator.publish(\"suche:change-value\", {\r\n value: info.Bezeichnung + \": \",\r\n viewTyp: viewTyp\r\n });\r\n }\r\n executeSuche(searchValue: string, objektFullName: string, searchText: string, wertQueryList: any[] = null, viewTyp: SucheViewTyp = SucheViewTyp.list) {\r\n const needsNavigation = !this.isSucheAktiv();\r\n\r\n if (this.lastObjektFullName != objektFullName) {\r\n this.lastObjektFullName = objektFullName;\r\n\r\n this.setObjektBezeichnung();\r\n }\r\n this.lastSearchText = searchText;\r\n this.lastSearchValue = searchValue;\r\n this.lastWertQueryList = wertQueryList;\r\n \r\n localStorage.setItem(\"currentSuche\", searchValue);\r\n localStorage.setItem(\"currentObjektFullName\", this.lastObjektFullName);\r\n\r\n if (!this.isSucheAktiv()) {\r\n this.location.goTo({\r\n url: \"#Suche\", \r\n clearStack: true,\r\n customOptions: {\r\n viewTyp: viewTyp\r\n }\r\n });\r\n } else {\r\n this.eventAggregator.publish(\"suche:request\");\r\n }\r\n }\r\n\r\n getObjektFullName(searchValue: string): string {\r\n const objektName = searchValue\r\n ? searchValue.match(/.*:/g)\r\n : null;\r\n\r\n const bezeichnung = objektName\r\n ? objektName.toString().slice(0, -1)\r\n : null;\r\n\r\n const currentObjekt = this.objektInfo.getObjektByBezeichnung(bezeichnung);\r\n if (!currentObjekt) {\r\n return null;\r\n }\r\n\r\n return currentObjekt.Fullname;\r\n }\r\n getSearchText(searchValue: string): string {\r\n const objektName = searchValue\r\n ? searchValue.match(/.*:/g)\r\n : null;\r\n\r\n const bezeichnung = objektName\r\n ? objektName.toString().slice(0, -1)\r\n : null;\r\n\r\n const currentObjekt = this.objektInfo.getObjektByBezeichnung(bezeichnung);\r\n if (!currentObjekt) {\r\n return searchValue;\r\n }\r\n\r\n return searchValue.substr(objektName.toString().length).trim();\r\n }\r\n\r\n private isSucheAktiv() {\r\n return location.hash == \"#Suche\";\r\n }\r\n private setObjektBezeichnung() {\r\n if (this.lastObjektFullName) {\r\n const info = this.objektInfo.getObjektByFullname(this.lastObjektFullName);\r\n this.lastObjektBezeichnung = info ? info.Bezeichnung : null;\r\n } else {\r\n this.lastObjektBezeichnung = null;\r\n }\r\n }\r\n}\r\n"],"sourceRoot":""}