{"version":3,"sources":["./src/app/scp/districts/components/district-details/district-relationship.component.ts","./src/app/scp/districts/components/district-details/district-relationship.component.html","./src/app/scp/scp-common/services/program.service.ts","./src/app/scp/scp-common/services/location.service.ts","./src/app/scp/programs/store/effects/program-create.effects.ts","./src/app/scp/programs/store/actions/program-searchresults.action.ts","./src/app/core/validators/numeric-validators.ts","./src/app/scp/schools/containers/school-searchresults.component.ts","./src/app/scp/schools/containers/school-searchresults.component.html","./src/app/scp/schools/components/school-details/school-address.component.html","./src/app/scp/schools/components/school-details/school-address.component.ts","./src/app/scp/programs/containers/index.ts","./src/app/scp/teachers/store/selectors/teacher-details.selectors.ts","./src/app/scp/schools/components/index.ts","./src/app/scp/schools/components/school-details/school-contacts.component.ts","./src/app/scp/schools/components/school-details/school-contacts.component.html","./src/app/scp/events/guards/index.ts","./src/app/core/services/ConfigurationService.ts","./src/app/scp/districts/index.ts","./src/app/scp/events/store/reducers/searchresults.reducer.ts","./src/app/scp/preferences/store/actions/prefs.actions.ts","./src/app/scp/districts/store/selectors/index.ts","./src/app/scp/teachers/components/teacher-details/teacher-district.component.html","./src/app/scp/teachers/components/teacher-details/teacher-district.component.ts","./src/app/merch/guards/merch-rental-categories.guard.ts","./src/app/scp/districts/containers/district-calendar-editor.component.ts","./src/app/scp/districts/containers/district-calendar-editor.component.html","./src/app/scp/teachers/containers/index.ts","./src/app/scp/teachers/store/index.ts","./src/app/scp/scp-common/store/selectors/history.selectors.ts","./src/app/scp/events/components/event-details/event-schools-attending.component.ts","./src/app/scp/events/components/event-details/event-schools-attending.component.html","./src/app/scp/schools/containers/school-create.component.ts","./src/app/scp/schools/containers/school-create.component.html","./src/app/scp/scp-common/services/product-group.service.ts","./src/app/scp/teachers/containers/teacher-district-editor.component.ts","./src/app/scp/teachers/containers/teacher-district-editor.component.html","./src/app/scp/schools/store/selectors/index.ts","./src/app/core/store/actions/security.actions.ts","./src/app/scp/scp-common/store/effects/index.ts","./src/app/scp/programs/store/reducers/program-create.reducer.ts","./src/app/scp/programs/store/index.ts","./src/app/core/services/AuthInterceptor.ts","./src/app/scp/events/containers/event-details.component.ts","./src/app/scp/events/containers/event-details.component.html","./src/app/scp/events/store/reducers/details.reducer.ts","./src/app/scp/districts/guards/district-exists.guard.ts","./src/app/scp/schools/store/effects/school-details.effect.ts","./src/app/core/store/effects/oidc.effects.ts","./src/app/scp/events/store/effects/event-searchresults.effect.ts","./src/app/distribution/services/index.ts","./src/app/scp/districts/components/district-details/district-addl-details.component.ts","./src/app/scp/districts/components/district-details/district-addl-details.component.html","./src/app/scp/schools/components/school-details/school-calendar.component.ts","./src/app/scp/schools/components/school-details/school-calendar.component.html","./src/app/scp/schools/store/reducers/searchresults.reducer.ts","./src/app/scp/districts/containers/district-addl-details-editor.component.ts","./src/app/scp/districts/containers/district-addl-details-editor.component.html","./src/app/scp/scp-common/store/actions/history.actions.ts","./src/app/scp/events/components/event-details/event-date-time.component.html","./src/app/scp/events/components/event-details/event-date-time.component.ts","./src/app/scp/events/store/selectors/index.ts","./src/app/scp/districts/containers/district-relationship-editor.component.ts","./src/app/scp/districts/containers/district-relationship-editor.component.html","./src/app/merch/store/effects/merch.effects.ts","./src/app/core/components/home.component.ts","./src/app/scp/programs/containers/program-program-teachers-editor.component.ts","./src/app/scp/programs/containers/program-program-teachers-editor.component.html","./src/app/scp/scp-common/store/reducers/history.reducer.ts","./src/app/merch/containers/product-groups.component.ts","./src/app/merch/containers/product-groups.component.html","./src/app/core/components/step.component.ts","./src/app/core/components/step.component.html","./src/app/scp/teachers/guards/teacher-searchresults.guard.ts","./src/app/merch/guards/merch-product-groups.guard.ts","./src/app/scp/events/store/actions/details.actions.ts","./src/app/core/store/actions/message.action.ts","./src/app/scp/teachers/models/index.ts","./src/app/merch/store/index.ts","./src/app/scp/events/models/event.model.ts","./src/app/scp/schools/models/index.ts","./src/environments/environment.ts","./src/app/scp/scp-common/models/ncesIdSources.ts","./src/app/distribution/store/actions/distribution.actions.ts","./src/app/scp/scp-common/components/property-block.component.ts","./src/app/scp/scp-common/components/property-block.component.html","./src/app/scp/teachers/containers/teacher-details.component.ts","./src/app/scp/teachers/containers/teacher-details.component.html","./src/app/distribution/store/selectors/index.ts","./src/app/core/store/actions/index.ts","./src/app/core/components/steps.component.ts","./src/app/core/components/steps.component.html","./src/app/core/store/selectors/security.selectors.ts","./src/app/scp/teachers/components/teacher-details/teacher-info.component.ts","./src/app/scp/teachers/components/teacher-details/teacher-info.component.html","./src/app/scp/schools/containers/school-relationship-editor.component.ts","./src/app/scp/schools/containers/school-relationship-editor.component.html","./src/app/scp/scp-common/components/history-details.component.html","./src/app/scp/scp-common/components/history-details.component.ts","./src/app/scp/scp-common/models/states.ts","./src/app/scp/events/index.ts","./src/app/scp/districts/store/actions/district-searchresults.action.ts","./src/app/scp/scp-common/store/effects/taxonomy.effects.ts","./src/app/scp/programs/components/index.ts","./src/app/scp/events/containers/event-location-editor.component.ts","./src/app/scp/events/containers/event-location-editor.component.html","./src/app/distribution/guards/distribution.guard.ts","./src/app/scp/schools/store/effects/index.ts","./src/app/scp/programs/components/program-details/program-additional.component.ts","./src/app/scp/programs/components/program-details/program-additional.component.html","./src/app/scp/schools/store/reducers/school-details.reducer.ts","./src/app/scp/events/components/event-details/event-copy.component.ts","./src/app/scp/events/components/event-details/event-copy.component.html","./src/app/scp/districts/components/district-details/district-contacts.component.ts","./src/app/scp/districts/components/district-details/district-contacts.component.html","./src/app/scp/programs/store/actions/index.ts","./src/app/scp/scp-common/store/actions/index.ts","./src/app/scp/programs/store/reducers/index.ts","./src/app/scp/districts/components/district-details/district-info.component.ts","./src/app/scp/districts/components/district-details/district-info.component.html","./src/app/scp/preferences/store/reducers/landing.reducer.ts","./src/app/merch/services/merch.service.ts","./src/app/scp/scp-common/services/address.service.ts","./src/app/distribution/store/selectors/distribution.selectors.ts","./src/app/scp/schools/components/school-details/school-rental-returns.component.html","./src/app/scp/schools/components/school-details/school-rental-returns.component.ts","./src/app/merch/store/selectors/index.ts","./src/app/scp/events/components/event-details/index.ts","./src/app/distribution/services/distribution.service.ts","./src/app/scp/scp-common/containers/index.ts","./src/app/core/store/reducers/message.reducer.ts","./src/app/scp/events/event.validators.ts","./src/app/scp/events/components/event-details/event-meeting-details.component.ts","./src/app/scp/events/components/event-details/event-meeting-details.component.html","./src/app/scp/scp-common/components/index.ts","./src/app/scp/scp-common/store/selectors/index.ts","./src/app/scp/events/guards/event-searchresults.guard.ts","./src/app/scp/events/store/actions/event-searchresults.action.ts","./src/app/scp/schools/models/school-details.model.ts","./src/app/scp/districts/store/effects/index.ts","./src/app/scp/scp-common/store/reducers/index.ts","./src/app/scp/scp-common/services/rate-package.service.ts","./src/app/scp/scp-common/containers/history.component.ts","./src/app/scp/scp-common/containers/history.component.html","./src/app/scp/scp-common/components/history-header.component.ts","./src/app/scp/scp-common/components/history-header.component.html","./src/app/core/store/reducers/index.ts","./src/app/scp/programs/guards/program-details-exists.guard.ts","./src/app/scp/districts/store/index.ts","./src/app/scp/events/store/selectors/details.selectors.ts","./src/app/scp/teachers/store/effects/teacher-details.effect.ts","./src/app/scp/teachers/components/teacher-details/index.ts","./src/app/scp/programs/components/program-details/index.ts","./src/app/scp/programs/store/actions/program-details.action.ts","./src/app/core/store/effects/index.ts","./src/app/scp/programs/guards/index.ts","./src/app/scp/scp-common/models/delivery-time-period-type.ts","./src/app/scp/districts/containers/district-info-editor.component.ts","./src/app/scp/districts/containers/district-info-editor.component.html","./src/app/scp/teachers/store/reducers/teacher-details.reducer.ts","./src/app/scp/events/containers/index.ts","./src/app/core/directives/authorize.directive.ts","./src/app/merch/guards/index.ts","./src/app/scp/programs/containers/program-create.component.ts","./src/app/scp/programs/containers/program-create.component.html","./src/app/scp/programs/containers/program-searchresults.component.ts","./src/app/scp/programs/containers/program-searchresults.component.html","./src/app/scp/programs/index.ts","./src/app/distribution/containers/distribution-landing.component.ts","./src/app/distribution/containers/distribution-landing.component.html","./src/app/scp/teachers/containers/teacher-address-editor.component.ts","./src/app/scp/teachers/containers/teacher-address-editor.component.html","./src/app/scp/scp-common/store/actions/scp.actions.ts","./src/app/scp/events/containers/event-date-time-editor.component.ts","./src/app/scp/events/containers/event-date-time-editor.component.html","./src/app/scp/programs/store/effects/program-details.effect.ts","./src/app/scp/districts/store/reducers/index.ts","./src/app/core/models/Configuration.ts","./src/app/scp/events/guards/event-exists.guard.ts","./src/app/core/containers/app.component.ts","./src/app/core/containers/app.component.html","./src/app/scp/districts/components/district-details/index.ts","./src/app/scp/events/store/effects/details.effects.ts","./src/app/scp/teachers/components/teacher-details/teacher-additional.component.ts","./src/app/scp/teachers/components/teacher-details/teacher-additional.component.html","./src/app/core/store/actions/router.action.ts","./src/app/scp/programs/guards/program-searchresults.guard.ts","./src/app/scp/teachers/containers/teacher-info-editor.component.ts","./src/app/scp/teachers/containers/teacher-info-editor.component.html","./src/app/scp/programs/containers/program-additional-editor.component.ts","./src/app/scp/programs/containers/program-additional-editor.component.html","./src/app/core/store/index.ts","./src/app/scp/preferences/store/actions/index.ts","./src/app/scp/schools/store/actions/school-searchresults.action.ts","./src/app/core/store/effects/security.effects.ts","./src/app/scp/scp-common/containers/history-snapshot.component.ts","./src/app/scp/scp-common/containers/history-snapshot.component.html","./src/app/scp/teachers/components/teacher-create.ts","./src/app/scp/teachers/components/teacher-create.html","./src/app/scp/scp-common/services/school.service.ts","./src/app/core/components/layout.component.ts","./src/app/scp/districts/store/selectors/district-searchresults.selectors.ts","./src/app/scp/teachers/store/actions/teacher-details.action.ts","./src/app/distribution/store/effects/distribution.effects.ts","./src/app/scp/programs/store/selectors/index.ts","./src/app/scp/teachers/store/reducers/searchresults.reducer.ts","./src/app/scp/districts/store/actions/details.actions.ts","./src/app/scp/events/containers/event-meeting-details-editor.component.ts","./src/app/scp/events/containers/event-meeting-details-editor.component.html","./src/app/core/components/unexpected-error.component.ts","./src/app/core/components/unexpected-error.component.html","./node_modules/moment/locale sync ^\\.\\/.*$","./src/app/scp/districts/containers/district-searchresults.component.ts","./src/app/scp/districts/containers/district-searchresults.component.html","./src/app/core/components/tabs.component.ts","./src/app/core/components/tabs.component.html","./src/app/scp/districts/containers/district-address-editor.component.ts","./src/app/scp/districts/containers/district-address-editor.component.html","./src/app/scp/programs/store/effects/index.ts","./src/app/scp/districts/guards/district-searchresults.guard.ts","./src/app/merch/store/actions/index.ts","./src/app/scp/schools/containers/school-info-editor.component.ts","./src/app/scp/schools/containers/school-info-editor.component.html","./src/app/scp/teachers/containers/teacher-additional-editor.component.ts","./src/app/scp/teachers/containers/teacher-additional-editor.component.html","./src/app/scp/scp-common/models/relationship-type.ts","./src/app/core/validators/index.ts","./src/app/scp/events/components/event-details/event-promo.component.ts","./src/app/scp/events/components/event-details/event-promo.component.html","./src/app/scp/schools/store/actions/index.ts","./src/app/scp/programs/models/index.ts","./src/app/core/store/selectors/index.ts","./src/app/scp/districts/components/district-create.ts","./src/app/scp/districts/components/district-create.html","./src/app/scp/scp-common/services/history.service.ts","./src/app/scp/scp-common/services/taxonomy.service.ts","./src/app/scp/districts/store/reducers/searchresults.reducer.ts","./src/app/scp/schools/containers/school-rental-returns-editor.component.ts","./src/app/scp/schools/containers/school-rental-returns-editor.component.html","./src/app/core/services/security.service.ts","./src/app/distribution/store/reducers/index.ts","./src/app/core/components/index.ts","./src/app/scp/scp-common/scp-common.module.ts","./src/app/scp/teachers/containers/teacher-searchresults.component.ts","./src/app/scp/teachers/containers/teacher-searchresults.component.html","./src/app/scp/programs/components/program-details/program-relationshipmanager.component.ts","./src/app/scp/programs/components/program-details/program-relationshipmanager.component.html","./src/app/core/components/message.component.ts","./src/app/core/components/message.component.html","./src/app/scp/schools/containers/school-contacts-editor.component.ts","./src/app/scp/schools/containers/school-contacts-editor.component.html","./src/app/scp/scp-common/index.ts","./src/app/scp/teachers/store/effects/index.ts","./src/app/scp/programs/store/selectors/program-create.selectors.ts","./src/app/distribution/components/index.ts","./src/app/scp/teachers/store/selectors/teacher-searchresults.selectors.ts","./src/app/scp/teachers/store/actions/teacher-searchresults.action.ts","./src/app/scp/teachers/components/teacher-details/teacher-address.component.html","./src/app/scp/teachers/components/teacher-details/teacher-address.component.ts","./src/app/distribution/components/shipping-charges-header.component.ts","./src/app/distribution/components/shipping-charges-header.component.html","./src/app/scp/preferences/store/reducers/index.ts","./src/app/scp/teachers/components/index.ts","./src/app/scp/teachers/store/effects/teacher-searchresults.effect.ts","./src/app/scp/scp-common/store/index.ts","./src/app/app.module.ts","./src/app/scp/events/components/event-details/event-info.component.ts","./src/app/scp/events/components/event-details/event-info.component.html","./src/app/scp/programs/components/program-details/program-program-teachers.component.ts","./src/app/scp/programs/components/program-details/program-program-teachers.component.html","./src/app/routes.ts","./src/app/scp/teachers/store/actions/index.ts","./src/app/scp/districts/store/selectors/details.selectors.ts","./src/app/scp/schools/containers/school-details.component.ts","./src/app/scp/schools/containers/school-details.component.html","./src/app/scp/schools/guards/index.ts","./src/app/scp/districts/components/index.ts","./src/app/merch/store/reducers/merch.reducer.ts","./src/app/scp/schools/guards/school-searchresults.guard.ts","./src/app/scp/teachers/guards/index.ts","./src/app/merch/containers/index.ts","./src/app/scp/districts/components/district-details/district-calendar.component.ts","./src/app/scp/districts/components/district-details/district-calendar.component.html","./src/app/core/store/actions/configuration.action.ts","./src/app/core/components/tab.component.ts","./src/app/core/components/tab.component.html","./src/app/scp/scp-common/models/index.ts","./src/app/scp/scp-common/store/selectors/scp.selectors.ts","./src/app/scp/schools/components/school-details/school-info.component.ts","./src/app/scp/schools/components/school-details/school-info.component.html","./src/app/scp/schools/index.ts","./src/app/core/store/actions/oidc.action.ts","./src/app/scp/programs/store/actions/program-create.actions.ts","./src/app/core/services/index.ts","./src/app/scp/teachers/guards/teacher-details-exists.guard.ts","./src/app/scp/schools/components/school-details/school-online-rentals.component.ts","./src/app/scp/schools/components/school-details/school-online-rentals.component.html","./src/app/scp/events/store/actions/index.ts","./src/app/scp/scp-common/guards/history.guard.ts","./src/app/scp/districts/containers/district-details.component.ts","./src/app/scp/districts/containers/district-details.component.html","./src/app/merch/containers/rental-categories-details.component.ts","./src/app/merch/containers/rental-categories-details.component.html","./src/app/core/index.ts","./src/app/scp/districts/guards/index.ts","./src/app/scp/scp-common/guards/index.ts","./src/app/scp/programs/store/effects/program-searchresults.effect.ts","./src/app/scp/teachers/store/selectors/index.ts","./src/app/scp/events/containers/event-info-editor.component.ts","./src/app/scp/events/containers/event-info-editor.component.html","./src/app/scp/scp-common/services/event.service.ts","./src/app/distribution/store/actions/index.ts","./src/app/scp/districts/components/district-details/district-header.component.ts","./src/app/scp/districts/components/district-details/district-header.component.html","./src/app/scp/programs/store/selectors/program-searchresults.selectors.ts","./src/app/merch/services/index.ts","./src/app/core/components/global-nav.component.ts","./src/app/core/components/global-nav.component.html","./src/app/merch/containers/rental-categories.component.ts","./src/app/merch/containers/rental-categories.component.html","./src/app/scp/events/containers/event-promo-editor.component.ts","./src/app/scp/events/containers/event-promo-editor.component.html","./src/app/scp/programs/components/program-details/program-header.ts","./src/app/scp/programs/components/program-details/program-header.html","./src/app/scp/districts/models/district.model.ts","./src/app/scp/programs/store/selectors/program-details.selectors.ts","./src/app/merch/store/reducers/index.ts","./src/app/scp/schools/containers/school-rate-editor.component.ts","./src/app/scp/schools/containers/school-rate-editor.component.html","./src/app/merch/components/merch-landing.component.ts","./src/app/merch/components/merch-landing.component.html","./src/app/core/guards/home.guard.ts","./src/app/scp/scp-common/store/reducers/location.reducer.ts","./src/app/scp/programs/models/program-details.model.ts","./src/app/merch/store/actions/merch.actions.ts","./src/app/distribution/components/shipping-charges-table.component.ts","./src/app/distribution/components/shipping-charges-table.component.html","./src/app/scp/schools/components/school-details/school-additional-details.component.ts","./src/app/scp/schools/components/school-details/school-additional-details.component.html","./src/app/scp/schools/store/selectors/school-searchresults.selectors.ts","./src/app/distribution/containers/index.ts","./src/app/scp/events/models/index.ts","./src/app/scp/schools/containers/index.ts","./src/app/scp/schools/store/reducers/index.ts","./src/app/scp/teachers/store/reducers/index.ts","./src/app/scp/schools/store/selectors/school-details.selectors.ts","./src/app/core/models/Message.ts","./src/app/scp/schools/store/index.ts","./src/app/scp/schools/components/school-details/school-relationship.component.ts","./src/app/scp/schools/components/school-details/school-relationship.component.html","./src/app/scp/schools/components/school-details/index.ts","./src/app/scp/districts/components/district-details/district-address.component.html","./src/app/scp/districts/components/district-details/district-address.component.ts","./src/app/scp/scp-common/services/district.service.ts","./src/app/scp/teachers/containers/teacher-contact-editor.component.ts","./src/app/scp/teachers/containers/teacher-contact-editor.component.html","./src/app/scp/events/components/event-create.ts","./src/app/scp/events/components/event-create.html","./src/app/scp/districts/store/reducers/details.reducer.ts","./src/app/merch/store/effects/index.ts","./src/app/scp/districts/containers/district-contacts-editor.component.ts","./src/app/scp/districts/containers/district-contacts-editor.component.html","./src/app/core/store/effects/router.effect.ts","./src/app/scp/programs/components/program-details/program-info.component.ts","./src/app/scp/programs/components/program-details/program-info.component.html","./src/app/core/pipes/filter.pipe.ts","./src/app/scp/schools/guards/school-details-exists.guard.ts","./src/app/scp/schools/containers/school-calendar-editor.component.ts","./src/app/scp/schools/containers/school-calendar-editor.component.html","./src/app/scp/scp-common/store/effects/locations.effects.ts","./src/app/scp/events/store/reducers/index.ts","./src/app/scp/programs/store/reducers/program-details.reducer.ts","./src/app/merch/index.ts","./src/app/scp/events/containers/event-schools-attending-editor.component.ts","./src/app/scp/events/containers/event-schools-attending-editor.component.html","./src/app/scp/programs/containers/program-details.component.ts","./src/app/scp/programs/containers/program-details.component.html","./src/app/scp/teachers/components/teacher-details/teacher-contact.component.ts","./src/app/scp/teachers/components/teacher-details/teacher-contact.component.html","./src/app/core/core.module.ts","./src/app/core/store/reducers/security.reducer.ts","./src/app/scp/programs/containers/program-info-editor.component.ts","./src/app/scp/programs/containers/program-info-editor.component.html","./src/app/scp/events/components/event-details/event-location.component.html","./src/app/scp/events/components/event-details/event-location.component.ts","./src/app/scp/scp-common/components/history-sidebar.component.ts","./src/app/scp/scp-common/components/history-sidebar.component.html","./src/app/scp/scp-common/models/program-type.ts","./src/app/core/components/not-found.component.ts","./src/app/core/components/not-found.component.html","./src/app/merch/guards/merch-combos.guard.ts","./src/app/distribution/store/reducers/distribution.reducer.ts","./src/app/scp/events/store/selectors/event-searchresults.selectors.ts","./src/app/scp/scp-common/store/reducers/taxonomy.reducer.ts","./src/app/scp/districts/containers/index.ts","./src/app/scp/scp-common/services/teacher.service.ts","./src/app/scp/events/components/event-details/event-staffing.component.ts","./src/app/scp/events/components/event-details/event-staffing.component.html","./src/app/scp/scp-common/services/product.service.ts","./src/app/merch/store/selectors/merch.selectors.ts","./src/app/scp/districts/store/effects/details.effects.ts","./src/app/core/models/index.ts","./src/app/scp/schools/components/school-details/school-rate.component.ts","./src/app/scp/schools/components/school-details/school-rate.component.html","./src/app/core/components/unauthorized.component.ts","./src/app/core/components/unauthorized.component.html","./src/app/core/store/effects/configuration.effects.ts","./src/app/scp/teachers/models/teacher-details.model.ts","./src/app/scp/events/containers/event-searchresults.component.ts","./src/app/scp/events/containers/event-searchresults.component.html","./src/app/scp/schools/containers/school-online-rentals-editor.component.ts","./src/app/scp/schools/containers/school-online-rentals-editor.component.html","./src/app/merch/containers/combos.component.ts","./src/app/merch/containers/combos.component.html","./src/app/scp/events/containers/event-host-editor.component.ts","./src/app/scp/events/containers/event-host-editor.component.html","./src/app/scp/events/components/index.ts","./src/app/scp/schools/containers/school-address-editor.component.ts","./src/app/scp/schools/containers/school-address-editor.component.html","./src/app/scp/schools/containers/school-additional-details-editor.component.ts","./src/app/scp/schools/containers/school-additional-details-editor.component.html","./src/app/scp/teachers/index.ts","./src/app/scp/events/store/effects/index.ts","./src/app/scp/districts/store/actions/index.ts","./src/app/scp/teachers/components/teacher-details/teacher-header.ts","./src/app/scp/teachers/components/teacher-details/teacher-header.html","./src/app/core/directives/index.ts","./src/app/scp/events/store/index.ts","./src/app/core/components/modal.component.ts","./src/app/core/components/modal.component.html","./src/app/scp/districts/store/effects/district-searchresults.effect.ts","./src/app/scp/scp-common/services/index.ts","./src/app/distribution/index.ts","./src/app/scp/scp-common/services/prefs.service.ts","./src/app/scp/programs/store/reducers/searchresults.reducer.ts","./src/app/core/components/quick-search.component.ts","./src/app/core/components/quick-search.component.html","./src/app/distribution/store/index.ts","./src/app/scp/events/containers/event-staffing-editor.component.ts","./src/app/scp/events/containers/event-staffing-editor.component.html","./src/app/core/pipes/values.pipe.ts","./src/app/distribution/guards/index.ts","./src/app/scp/districts/models/index.ts","./src/app/scp/schools/components/school-details/school-header.ts","./src/app/scp/schools/components/school-details/school-header.html","./src/app/merch/components/index.ts","./src/app/core/guards/index.ts","./src/app/scp/schools/store/effects/school-searchresults.effect.ts","./src/app/scp/events/components/event-details/event-host.component.ts","./src/app/scp/events/components/event-details/event-host.component.html","./src/app/core/store/reducers/configuration.reducer.ts","./src/app/scp/scp-common/store/effects/history.effects.ts","./src/app/scp/schools/store/actions/school-details.action.ts","./src/app/distribution/store/effects/index.ts","./src/app/scp/scp-common/pipes/yes-no.pipe.ts","./src/main.ts","./$_lazy_route_resource lazy namespace object","./src/app/core/components/account-dropdown.component.ts"],"names":[],"mappings":"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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AA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","file":"main-es2015.js","sourcesContent":["import { Component, Input } from '@angular/core';\r\n\r\nimport { District } from '../../models';\r\nimport { RelationshipType } from '../../../scp-common/models/relationship-type';\r\n\r\n@Component({\r\n\tselector: 'opus-district-relationship',\r\n\ttemplateUrl: './district-relationship.component.html',\r\n})\r\nexport class DistrictRelationshipComponent {\r\n\t@Input() district: District;\r\n\r\n\tget relationshipType() {\r\n\t\treturn RelationshipType[this.district.relationshipType.relationshipType];\r\n }\r\n\r\n get inheritedRelationshipType() {\r\n return RelationshipType[this.district.inheritedRelationshipType.relationshipType];\r\n }\r\n}\r\n","\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpResponse } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\n\r\nimport { ConfigurationService } from '../../../core/services/ConfigurationService';\r\nimport { ConfigurationState } from '../../../core/store/reducers';\r\nimport { switchMap } from 'rxjs/operators';\r\nimport { Operation } from 'fast-json-patch';\r\n\r\nimport { ProgramDetails, ProgramSearchResultsItem, ProgramCreate } from '../../programs/models';\r\n\r\n@Injectable()\r\nexport class ProgramService {\r\n constructor(private http: HttpClient, private configuration: ConfigurationService) { }\r\n\r\n\tloadProgram(programId: number): Observable {\r\n return this.configuration.config$.pipe(\r\n switchMap((c: ConfigurationState) => {\r\n return this.http.get(`${c.config.apiServer}api/programs/${programId}`);\r\n })\r\n );\r\n\t}\r\n\r\n\tpatchProgram(id: number, patch: Operation[]): Observable {\r\n\t\treturn this.configuration.config$.pipe(\r\n\t\t\tswitchMap((c: ConfigurationState) => {\r\n\t\t\t\treturn this.http.patch(`${c.config.apiServer}api/programs/${id}`, patch);\r\n\t\t\t})\r\n\t\t);\r\n\t}\r\n\r\n\tupdateProgram(id: number, diff: Operation[]): Observable {\r\n return this.configuration.config$.pipe(\r\n switchMap((c: ConfigurationState) => {\r\n return this.http.patch(`${c.config.apiServer}api/programs/${id}`, diff);\r\n })\r\n );\r\n\t}\r\n\r\n searchPrograms(query: string): Observable> {\r\n return this.configuration.config$.pipe(\r\n switchMap((c: ConfigurationState) => {\r\n return this.http.get(`${c.config.apiServer}api/programs?${query}`, { observe: 'response' });\r\n })\r\n );\r\n\t}\r\n\r\n\tcreateProgram(program: ProgramCreate): Observable {\r\n\t\treturn this.configuration.config$.pipe(\r\n\t\t\tswitchMap((c: ConfigurationState) => {\r\n\t\t\t\treturn this.http.post(`${c.config.apiServer}api/programs`, program);\r\n\t\t\t})\r\n\t\t);\r\n\t}\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpResponse } from '@angular/common/http';\r\n\r\nimport { Observable } from 'rxjs';\r\nimport { switchMap } from 'rxjs/operators';\r\n\r\nimport { ConfigurationService } from '../../../core/services/ConfigurationService';\r\nimport { ConfigurationState } from '../../../core/store/reducers';\r\n\r\nimport { LocationManager } from '../models';\r\n\r\n@Injectable()\r\nexport class LocationService {\r\n\tconstructor(private http: HttpClient, private configuration: ConfigurationService) { }\r\n\r\n\tgetLocationManager(code: number): Observable {\r\n\t\treturn this.configuration.config$.pipe(\r\n\t\t\tswitchMap((c: ConfigurationState) => {\r\n\t\t\t\treturn this.http.get(`${c.config.apiServer}api/location/${code}/manager`);\r\n\t\t\t})\r\n\t\t);\r\n }\r\n\r\n\tlookupManagerByName(managerName: string): Observable {\r\n\t\treturn this.configuration.config$.pipe(\r\n\t\t\tswitchMap((c: ConfigurationState) => {\r\n\t\t\t\treturn this.http.get(`${c.config.apiServer}api/location/${managerName}/managername`);\r\n\t\t\t})\r\n\t\t);\r\n }\r\n\r\n isLocationValid(locationId: number): Observable {\r\n return this.configuration.config$.pipe(\r\n switchMap((c: ConfigurationState) => {\r\n return this.http.get(`${c.config.apiServer}api/location/${locationId}/exists`);\r\n })\r\n );\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpErrorResponse } from '@angular/common/http';\r\n\r\nimport { tap, switchMap, map, catchError } from 'rxjs/operators';\r\nimport { of } from 'rxjs';\r\n\r\nimport { Actions, createEffect, ofType } from '@ngrx/effects';\r\n\r\nimport * as fromRoot from '../../../../core/store';\r\nimport * as fromServices from '../../../scp-common/services';\r\nimport * as fromActions from '../actions';\r\nimport { SchoolLookup } from '../../../schools/models';\r\n\r\nimport { MessageType, ProblemDetails } from '../../../../core/models';\r\n\r\n@Injectable()\r\nexport class ProgramCreateEffects {\r\n constructor(\r\n private actions$: Actions,\r\n private programService: fromServices.ProgramService,\r\n private schoolService: fromServices.SchoolService,\r\n ) { }\r\n\r\n \r\n createProgram$ = createEffect(() => this.actions$.pipe(\r\n ofType(fromActions.ProgramCreateActionTypes.CreateProgram),\r\n tap(a => console.log('Entering createProgram$ Effect: ', a)),\r\n switchMap((a: fromActions.CreateProgram) => {\r\n const { program } = a.payload;\r\n\r\n return this.programService.createProgram(program).pipe(\r\n tap(res => console.log(`ProgramService.createProgram( ${program} ) returned: `, res)),\r\n map((id: number) => {\r\n return new fromActions.CreateProgramSuccess({ id, teacherId: program.teacherId });\r\n }),\r\n catchError(error => of(new fromActions.CreateProgramFailure(error))),\r\n );\r\n }),\r\n tap(a => console.log('Exiting createProgram$ Effect: ', a)),\r\n ));\r\n\r\n \r\n createProgramFailure$ = createEffect(() => this.actions$.pipe(\r\n ofType(fromActions.ProgramCreateActionTypes.CreateProgramFailure),\r\n tap(a => console.log('Entering createProgramFailure$ Effect: ', a)),\r\n switchMap((action: fromActions.CreateProgramFailure) => {\r\n return of(new fromRoot.DisplayMessage({\r\n message: this.getErrorMessage(action.payload.errors),\r\n messageType: MessageType.alert,\r\n toast: false,\r\n }));\r\n }),\r\n tap(a => console.log('Exiting createProgramFailure$ Effect: ', a)),\r\n ));\r\n\r\n \r\n createProgramSuccess$ = createEffect(() => this.actions$.pipe(\r\n ofType(fromActions.ProgramCreateActionTypes.CreateProgramSuccess),\r\n tap(a => console.log('Entering createProgramSuccess$ Effect: ', a)),\r\n map((action: fromActions.CreateProgramSuccess) => {\r\n return new fromRoot.Go({\r\n path: [`programs/${action.payload.id}`]\r\n });\r\n }),\r\n tap(a => console.log('Exiting createProgramSuccess$ Effect: ', a)),\r\n ));\r\n\r\n \r\n schoolLookupById$ = createEffect(() => this.actions$.pipe(\r\n ofType(fromActions.ProgramCreateActionTypes.SchoolLookupById),\r\n tap(a => console.log('Entering createProgramSuccess$ Effect: ', a)),\r\n switchMap((action: fromActions.SchoolLookupById) => {\r\n return this.schoolService.lookupSchoolById(action.payload.id).pipe(\r\n tap(s => {\r\n console.log('lookupSchoolById returned:', s);\r\n }),\r\n map(res => {\r\n if (res === null) {\r\n return new fromActions.SchoolLookupByIdFailure({ errors: 'School Not Found' });\r\n }\r\n\r\n return new fromActions.SchoolLookupByIdSuccess({ school: res });\r\n }),\r\n catchError(error => of(new fromActions.SchoolLookupByIdFailure({ errors: error }))),\r\n );\r\n }),\r\n tap(a => console.log('Exiting createProgramSuccess$ Effect: ', a)),\r\n ));\r\n\r\n \r\n schoolLookupByName$ = createEffect(() => this.actions$.pipe(\r\n ofType(fromActions.ProgramCreateActionTypes.SchoolLookupByName),\r\n tap(a => console.log('Entering schoolLookupByName$ Effect: ', a)),\r\n switchMap((action: fromActions.SchoolLookupByName) => {\r\n return this.schoolService.lookupSchoolByName(action.payload.name).pipe(\r\n tap(s => {\r\n console.log('schoolLookupByName$ returned: ', s);\r\n }),\r\n map(res => {\r\n if (res === null) {\r\n return new fromActions.SchoolLookupByNameFailure({ errors: 'School Not Found' });\r\n }\r\n\r\n return new fromActions.SchoolLookupByNameSuccess({ schools: res });\r\n }),\r\n catchError(error => of(new fromActions.SchoolLookupByNameFailure({ errors: error }))),\r\n );\r\n }),\r\n tap(a => console.log('Exiting schoolLookupByName$ Effect: ', a)),\r\n ));\r\n\r\n \r\n schoolLookupReset$ = createEffect(() => this.actions$.pipe(\r\n ofType(fromActions.ProgramCreateActionTypes.SchoolLookupReset),\r\n tap(a => console.log('Entering schoolLookupReset$ Effect: ', a)),\r\n switchMap((action: fromActions.SchoolLookupByIdSuccess) => {\r\n const empty: SchoolLookup = null;\r\n return of(new fromActions.SchoolLookupByIdSuccess({ school: empty }));\r\n }),\r\n tap(a => console.log('Exiting schoolLookupReset$ Effect: ', a)),\r\n ));\r\n\r\n private getErrorMessage(response: HttpErrorResponse): string {\r\n if (response.status === 400 && response.error) {\r\n try {\r\n const problemDetails = response.error as ProblemDetails;\r\n if (problemDetails) {\r\n const firstError = problemDetails.errors ? problemDetails.errors[Object.keys(problemDetails.errors)[0]] : null;\r\n if (firstError)\r\n return firstError;\r\n else if (problemDetails.title)\r\n return problemDetails.title;\r\n }\r\n }\r\n catch (ex) {\r\n console.warn(ex);\r\n }\r\n }\r\n\r\n return response.error ? response.error.message : response.message;\r\n }\r\n}\r\n","import { Action } from '@ngrx/store';\r\n\r\nimport { ProgramSearchResultsItem, ProgramSearchCriteria, ProgramPagingSorting } from '../../models';\r\nimport { HttpHeaders } from '@angular/common/http';\r\nimport { TeacherDetails } from '../../../teachers/models';\r\nimport { SchoolDetails } from '../../../schools/models';\r\n\r\nexport enum ProgramSearchResultsActionTypes {\r\n ProcessQueryString = '[ProgramSearchResults] Process Query String',\r\n\tLoadProgramSearchResults = '[ProgramSearchResults] Load Search Results',\r\n LoadProgramSearchResultsSuccess = '[ProgramSearchResults] Load Program Success',\r\n LoadProgramSearchResultsFailure = '[ProgramSearchResults] Load Program Details Failure',\r\n UpdateEditorState = '[ProgramSearchResults] Update Editor State',\r\n NextPage = '[ProgramSearchResults] Next Page',\r\n PrevPage = '[ProgramSearchResults] Prev Page',\r\n SetPageSize = '[ProgramSearchResults] Set Page Size',\r\n LastPage = '[ProgramSearchResults] Last Page',\r\n FirstPage = '[ProgramSearchResults] First Page',\r\n SortBy = '[ProgramSearchResults] Sort By',\r\n GetResultsForTeacher = '[ProgramSearchResults] Get Results for Teacher',\r\n GetResultsForSchool = '[ProgramSearchResults] Get Results for School',\r\n}\r\n\r\nexport class ProcessQueryString implements Action {\r\n readonly type = ProgramSearchResultsActionTypes.ProcessQueryString;\r\n constructor(public payload: string) { }\r\n}\r\n\r\nexport class LoadProgramSearchResults implements Action {\r\n readonly type = ProgramSearchResultsActionTypes.LoadProgramSearchResults;\r\n constructor(public payload: ProgramSearchCriteria) { }\r\n}\r\n\r\nexport class LoadProgramSearchResultsSuccess implements Action {\r\n readonly type = ProgramSearchResultsActionTypes.LoadProgramSearchResultsSuccess;\r\n constructor(public payload: ProgramSearchResultsItem[], public httpHeaders: HttpHeaders) { }\r\n}\r\n\r\nexport class LoadProgramSearchResultsFailure implements Action {\r\n readonly type = ProgramSearchResultsActionTypes.LoadProgramSearchResultsFailure;\r\n\tconstructor(public payload: any) { }\r\n}\r\n\r\nexport class NextPage implements Action {\r\n readonly type = ProgramSearchResultsActionTypes.NextPage;\r\n constructor(public payload: ProgramSearchCriteria, public pagingSorting: ProgramPagingSorting) { }\r\n}\r\n\r\nexport class PrevPage implements Action {\r\n readonly type = ProgramSearchResultsActionTypes.PrevPage;\r\n constructor(public payload: ProgramSearchCriteria, public pagingSorting: ProgramPagingSorting) { }\r\n}\r\n\r\nexport class SetPageSize implements Action {\r\n readonly type = ProgramSearchResultsActionTypes.SetPageSize;\r\n constructor(public payload: number, public searchCriteria: ProgramSearchCriteria, ) { }\r\n}\r\n\r\nexport class LastPage implements Action {\r\n readonly type = ProgramSearchResultsActionTypes.LastPage;\r\n constructor(public payload: ProgramSearchCriteria, public pagingSorting: ProgramPagingSorting) { }\r\n}\r\n\r\nexport class FirstPage implements Action {\r\n readonly type = ProgramSearchResultsActionTypes.FirstPage;\r\n constructor(public payload: ProgramSearchCriteria, public pagingSorting: ProgramPagingSorting) { }\r\n}\r\n\r\nexport class SortBy implements Action {\r\n readonly type = ProgramSearchResultsActionTypes.SortBy;\r\n constructor(public payload: string, public searchCriteria: ProgramSearchCriteria, public pagingSorting: ProgramPagingSorting) { }\r\n}\r\n\r\nexport class GetResultsForTeacher implements Action {\r\n readonly type = ProgramSearchResultsActionTypes.GetResultsForTeacher;\r\n constructor(public payload: TeacherDetails, public searchCriteria: ProgramSearchCriteria) { }\r\n}\r\n\r\nexport class GetResultsForSchool implements Action {\r\n readonly type = ProgramSearchResultsActionTypes.GetResultsForSchool;\r\n constructor(public payload: SchoolDetails, public searchCriteria: ProgramSearchCriteria) { }\r\n}\r\n\r\nexport type ProgramSearchResultsActions =\r\n | ProcessQueryString\r\n | LoadProgramSearchResults\r\n | LoadProgramSearchResultsSuccess\r\n | LoadProgramSearchResultsFailure\r\n | NextPage\r\n | PrevPage\r\n | SetPageSize\r\n | LastPage\r\n | FirstPage\r\n | SortBy\r\n | GetResultsForTeacher\r\n | GetResultsForSchool;\r\n","import { ValidatorFn, FormControl, FormGroup, ValidationErrors } from '@angular/forms';\r\nimport { Injectable } from '@angular/core';\r\n\r\n@Injectable()\r\nexport class NumericValidators {\r\n static max(max: number): ValidatorFn {\r\n return (control: FormControl): { [key: string]: boolean } | null => {\r\n const val: number = control.value;\r\n\r\n if (control.pristine || control.pristine) {\r\n return null;\r\n }\r\n if (val <= max) {\r\n return null;\r\n }\r\n return { max: true };\r\n };\r\n }\r\n\r\n static min(min: number): ValidatorFn {\r\n return (control: FormControl): { [key: string]: boolean } | null => {\r\n const val: number = control.value;\r\n\r\n if (control.pristine || control.pristine) {\r\n return null;\r\n }\r\n if (val >= min) {\r\n return null;\r\n }\r\n return { min: true };\r\n };\r\n }\r\n\r\n static minOrNull(min: number): ValidatorFn {\r\n return (control: FormControl): { [key: string]: boolean } | null => {\r\n const val: number = control.value;\r\n\r\n if (control.pristine || control.pristine) {\r\n return null;\r\n }\r\n if (!val || val >= min) {\r\n return null;\r\n }\r\n return { min: true };\r\n };\r\n }\r\n\r\n static quantity(min: number = 1, max: number = 99, required: boolean = true): ValidatorFn {\r\n return (ctrl: FormControl): { [key: string]: boolean } | null => {\r\n try {\r\n const val = ctrl.value;\r\n const sval = val === null ? '' : (val + '').trim();\r\n\r\n if (!required && sval === '') {\r\n return null;\r\n }\r\n\r\n if (val >= min && val <= max && Math.trunc(val) == val) {\r\n return null;\r\n }\r\n\r\n return { quantity: true };\r\n } catch (x) {\r\n console.log('NumericValidators.quantity(): ', x);\r\n\r\n return null;\r\n }\r\n };\r\n }\r\n\r\n static gradeValidator: ValidatorFn = (group: FormGroup): ValidationErrors | null => {\r\n try {\r\n const allGrade = 'All';\r\n const lowGrade = group.get('lowGrade').value;\r\n const highGrade = group.get('highGrade').value;\r\n\r\n if (lowGrade === null) group.get('lowGrade').setValue(allGrade);\r\n\r\n if (highGrade === null) group.get('highGrade').setValue(allGrade);\r\n\r\n if (lowGrade === allGrade && highGrade === allGrade) return null;\r\n\r\n if (lowGrade === allGrade && highGrade !== allGrade) return { highGrade: true };\r\n\r\n if (highGrade === allGrade && lowGrade !== allGrade) return { lowGrade: true };\r\n\r\n if (Number(lowGrade) > Number(highGrade)) return { lowGrade: true };\r\n\r\n return null;\r\n } catch (x) {\r\n console.log('NumericValidators.gradeValidator(): ', x);\r\n\r\n return null;\r\n }\r\n }\r\n\r\n static price(min: number = 0, max?: number, required: boolean = true): ValidatorFn {\r\n return (ctrl: FormControl): { [key: string]: boolean } | null => {\r\n try {\r\n const val = ctrl.value;\r\n const sval = val === null ? '' : (val + '').trim();\r\n const ret = { price: true };\r\n\r\n if (!required && sval === '') {\r\n return null;\r\n }\r\n\r\n if (val < min) {\r\n return ret;\r\n }\r\n\r\n if (max !== null && val > max) {\r\n return ret;\r\n }\r\n\r\n if (sval.includes('.') && sval.split('.')[1].length > 2) {\r\n return ret;\r\n }\r\n\r\n return null;\r\n } catch (x) {\r\n console.log('NumericValidators.price(): ', x);\r\n\r\n return null;\r\n }\r\n };\r\n }\r\n}\r\n","import { Component, OnInit, OnDestroy, Input, OnChanges } from '@angular/core';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\n\r\nimport { Observable, Subscription } from 'rxjs';\r\nimport { takeWhile } from 'rxjs/operators';\r\n\r\nimport { select, Store } from '@ngrx/store';\r\n\r\nimport * as fromStore from '../store';\r\nimport * as fromModels from '../models';\r\nimport { TeacherDetails } from '../../teachers/models';\r\nimport { District } from '../../districts/models';\r\n\r\nimport { ConfigurationService } from '../../../core/services/ConfigurationService';\r\nimport { ConfigurationState } from '../../../core/store/reducers';\r\n\r\n\r\n@Component({\r\n\tselector: 'opus-school-searchresults-page',\r\n\ttemplateUrl: './school-searchresults.component.html',\r\n})\r\nexport class SchoolSearchResultsComponent implements OnInit, OnChanges, OnDestroy {\r\n @Input() teacher: TeacherDetails;\r\n @Input() district: District;\r\n searchResultsState$: Observable;\r\n\tshowModal = false;\r\n embeddedVersion = false;\r\n\r\n alive = true;\r\n apiUrl: string;\r\n\r\n private _subscription: Subscription;\r\n private _searchCriteria: fromModels.SchoolSearchCriteria;\r\n private _pagingSorting: fromModels.SchoolPagingSorting;\r\n\r\n constructor(\r\n private route: ActivatedRoute,\r\n private router: Router,\r\n private _store: Store,\r\n private configuration: ConfigurationService\r\n ) {\r\n\t\tconsole.log('DistrictSearchResultsComponent: constructor().');\r\n\t}\r\n\r\n ngOnInit() {\r\n console.log('SchoolSearchResultsComponent: ngOnInit().');\r\n\r\n this.configuration.config$.pipe(\r\n takeWhile(() => this.alive)\r\n ).subscribe(c => {\r\n this.apiUrl = c.config.apiServer;\r\n });\r\n\r\n // Get results of search (so our html can populate)\r\n this.searchResultsState$ = this._store.pipe(select(fromStore.getSchoolSearchState));\r\n // Grab the current search criteria stored in the state\r\n console.log(this.searchResultsState$);\r\n this._subscription = this.searchResultsState$.subscribe(s => {\r\n this._searchCriteria = s.searchCriteria;\r\n this._pagingSorting = s.pagingSorting;\r\n });\r\n\r\n // If a teacher is specified, we want to treat the results\r\n // as an embedded version (in teacher details specifically)\r\n if (this.teacher != null) {\r\n this.embeddedVersion = true;\r\n // Load results based on specified teacher\r\n this._store.dispatch(new fromStore.GetResultsForTeacher(this.teacher, this._searchCriteria));\r\n }\r\n // Same if a district is specified\r\n else if (this.district != null) {\r\n this.embeddedVersion = true;\r\n // Load results based on specified teacher\r\n this._store.dispatch(new fromStore.GetResultsForDistrict(this.district, this._searchCriteria));\r\n }\r\n else {\r\n // If query params are changed, process them\r\n this.route.queryParams.subscribe(val => {\r\n this._store.dispatch(new fromStore.ProcessQueryString(this.router.url));\r\n });\r\n }\r\n }\r\n\r\n ngOnChanges() {\r\n\r\n }\r\n\r\n ngOnDestroy() {\r\n this.alive = false;\r\n }\r\n\r\n nextPage() {\r\n console.log('SchoolSearchResultsComponent: nextPage().');\r\n\r\n // Run the search again with the new parameters\r\n this._store.dispatch(new fromStore.NextPage(this._searchCriteria, this._pagingSorting));\r\n }\r\n\r\n prevPage() {\r\n console.log('SchoolSearchResultsComponent: prevPage().');\r\n\r\n // Run the search again with the new parameters\r\n this._store.dispatch(new fromStore.PrevPage(this._searchCriteria, this._pagingSorting));\r\n }\r\n\r\n setPageSize(pageSize: number) {\r\n console.log('SchoolSearchResultsComponent: setPageSize().');\r\n\r\n // Run the search again with the new parameters\r\n this._store.dispatch(new fromStore.SetPageSize(pageSize, this._searchCriteria));\r\n }\r\n\r\n lastPage() {\r\n console.log('SchoolSearchResultsComponent: lastPage().');\r\n\r\n // Run the search again with the new parameters\r\n this._store.dispatch(new fromStore.LastPage(this._searchCriteria, this._pagingSorting));\r\n }\r\n\r\n firstPage() {\r\n console.log('SchoolSearchResultsComponent: firstPage().');\r\n\r\n // Run the search again with the new parameters\r\n this._store.dispatch(new fromStore.FirstPage(this._searchCriteria, this._pagingSorting));\r\n }\r\n\r\n sortBy(column: string) {\r\n console.log('SchoolSearchResultsComponent: sortBy().');\r\n\r\n // Run the search again with the new parameters\r\n this._store.dispatch(new fromStore.SortBy(column, this._searchCriteria, this._pagingSorting));\r\n }\r\n\r\n createNewDistrict() {\r\n console.log('TODO: Need to implement create new school route.');\r\n //this._store.dispatch(new fromRoot.Go({\r\n // path: [`schools/create`]\r\n //}));\r\n\t}\r\n\r\n\tcreateSchool() {\r\n\t\tconsole.log('SchoolSearchResultsComponent.createSchool()...');\r\n\r\n\t\tthis.showModal = true;\r\n\t}\r\n\r\n\tcreateSchoolClosed(created: boolean) {\r\n\t\tconsole.log(`SchoolSearchResultsComponent.createSchoolClosed(): ${created ? 'School created.' : 'School create cancelled.'}`);\r\n\r\n\t\tthis.showModal = false;\r\n\t}\r\n}\r\n","
\r\n

\r\n Back to Search\r\n

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

Schools

\r\n

Schools

\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n Showing {{(searchResultsState$ | async).pagingSorting.pageSize * ((searchResultsState$ | async).pagingSorting.currentPage - 1) + 1}} -\r\n {{(searchResultsState$ | async).pagingSorting.pageSize > (searchResultsState$ | async).pagingSorting.totalCount ? (searchResultsState$ | async).pagingSorting.totalCount : (searchResultsState$ | async).pagingSorting.pageSize * (searchResultsState$ | async).pagingSorting.currentPage}} of\r\n {{(searchResultsState$ | async).pagingSorting.totalCount}}\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n Showing {{(searchResultsState$ | async).pagingSorting.pageSize * ((searchResultsState$ | async).pagingSorting.currentPage - 1) + 1}} -\r\n {{(searchResultsState$ | async).pagingSorting.pageSize > (searchResultsState$ | async).pagingSorting.totalCount ? (searchResultsState$ | async).pagingSorting.totalCount : (searchResultsState$ | async).pagingSorting.pageSize * (searchResultsState$ | async).pagingSorting.currentPage}} of\r\n {{(searchResultsState$ | async).pagingSorting.totalCount}}\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n\r\n","
    \r\n\t
  • \r\n\t\t
    Address Line 1
    \r\n\t\t
    {{ address.line1 }}
    \r\n\t
  • \r\n\t
  • \r\n\t\t
    Address Line 2
    \r\n\t\t
    {{ address.line2 }}
    \r\n\t
  • \r\n\t
  • \r\n\t\t
    City, State Zip
    \r\n\t\t
    {{ address.city }}, {{ address.state }} {{ address.zip }}
    \r\n\t
  • \r\n\t
  • \r\n\t\t
    County
    \r\n\t\t
    {{ address.county }}
    \r\n\t
  • \r\n
\r\n","import { Component, Input } from '@angular/core';\r\n\r\nimport { Address } from '../../../scp-common/models/address.model';\r\n\r\n@Component({\r\n\tselector: 'opus-school-address',\r\n\ttemplateUrl: './school-address.component.html',\r\n})\r\nexport class SchoolAddressComponent {\r\n @Input() address: Address;\r\n @Input() isPhysical: boolean;\r\n}\r\n\r\n","import { ProgramDetailsComponent } from './program-details.component';\r\nimport { ProgramSearchResultsComponent } from './program-searchresults.component';\r\nimport { ProgramInfoEditorComponent } from './program-info-editor.component';\r\nimport { ProgramProgramTeachersEditorComponent } from './program-program-teachers-editor.component';\r\nimport { ProgramAdditionalEditorComponent } from './program-additional-editor.component';\r\nimport { ProgramCreateComponent } from './program-create.component';\r\n\r\nexport const containers: any[] = [\r\n ProgramDetailsComponent,\r\n ProgramSearchResultsComponent,\r\n ProgramInfoEditorComponent,\r\n ProgramAdditionalEditorComponent,\r\n\tProgramProgramTeachersEditorComponent,\r\n\tProgramCreateComponent,\r\n];\r\n\r\nexport * from './program-details.component';\r\nexport * from './program-searchresults.component';\r\nexport * from './program-info-editor.component';\r\nexport * from './program-additional-editor.component';\r\nexport * from './program-program-teachers-editor.component';\r\nexport * from './program-create.component';\r\n","import { createSelector } from '@ngrx/store';\r\n\r\nimport * as fromFeature from '../reducers';\r\nimport * as fromTeacherDetails from '../reducers/teacher-details.reducer';\r\n\r\nexport const getTeacherDetailsState = createSelector(\r\n\tfromFeature.getTeachersState,\r\n\t(state: fromFeature.TeachersState) => state.teacherDetails\r\n);\r\n\r\nexport const getTeacherDetailsEntity = createSelector(\r\n\tgetTeacherDetailsState,\r\n\tfromTeacherDetails.getTeacherDetailsEntity,\r\n);\r\n\r\nexport const getTeacherDetailsLoaded = createSelector(\r\n\tgetTeacherDetailsState,\r\n\tfromTeacherDetails.getTeacherDetailsLoaded,\r\n);\r\n\r\nexport const getTeacherDetailsLoading = createSelector(\r\n\tgetTeacherDetailsState,\r\n\tfromTeacherDetails.getTeacherDetailsLoading,\r\n);\r\n\r\nexport const getDetailsStatePanels = createSelector(\r\n\tgetTeacherDetailsState,\r\n\tfromTeacherDetails.getDetailsStatePanels\r\n);\r\n\r\nexport const getDetailsStateAdditionalPanel = createSelector(\r\n getDetailsStatePanels,\r\n (panels) => panels[fromFeature.PanelId.Additional],\r\n);\r\n\r\nexport const getDetailsStateContactPanel = createSelector(\r\n getDetailsStatePanels,\r\n (panels) => panels[fromFeature.PanelId.Contact],\r\n);\r\n\r\nexport const getDetailsStateDistrictLookup = createSelector(\r\n getTeacherDetailsState,\r\n fromTeacherDetails.getDetailsStateDistrictLookup,\r\n);\r\n\r\nexport const getDetailsStateDistrictByNameLookup = createSelector(\r\n getTeacherDetailsState,\r\n fromTeacherDetails.getDetailsStateDistrictByNameLookup,\r\n);\r\n\r\n\r\nexport const getDetailsStateDistrictPanel = createSelector(\r\n getDetailsStatePanels,\r\n (panels) => panels[fromFeature.PanelId.District],\r\n);\r\n\r\nexport const getDetailsStateInfoPanel = createSelector(\r\n getDetailsStatePanels,\r\n (panels) => panels[fromFeature.PanelId.Info],\r\n);\r\n\r\nexport const getDetailsStateMailAddrPanel = createSelector(\r\n getDetailsStatePanels,\r\n (panels) => panels[fromFeature.PanelId.Address] as fromFeature.AddressPanelState,\r\n);\r\n\r\nexport const getDetailsStateCountyLookup = createSelector(\r\n getDetailsStateMailAddrPanel,\r\n fromTeacherDetails.getDetailsStateCountyLookup,\r\n);\r\n\r\nexport const getDetailsStateCounties = createSelector(\r\n getDetailsStateCountyLookup,\r\n (cl) => cl.lookupStateCode != null ? cl.counties[cl.lookupStateCode] : [],\r\n);\r\n","import { detailsComponents } from './school-details';\r\n\r\nexport const components: any[] = [\r\n\t...detailsComponents,\r\n];\r\n\r\nexport * from './school-details';\r\n","import { Component, Input } from '@angular/core';\r\n\r\nimport { SchoolDetails } from '../../models';\r\n\r\n@Component({\r\n\tselector: 'opus-school-contacts',\r\n\ttemplateUrl: './school-contacts.component.html',\r\n})\r\nexport class SchoolContactsComponent {\r\n\t@Input() school: SchoolDetails;\r\n}\r\n\r\n","
    \r\n\t
  • \r\n\t\t
    Phone
    \r\n\t\t
    {{ school.phone }}
    \r\n\t
  • \r\n\t
  • \r\n\t\t
    Fax
    \r\n\t\t
    {{ school.fax }}
    \r\n\t
  • \r\n\t
  • \r\n\t\t
    Website
    \r\n\t\t\r\n\t
  • \r\n
\r\n","import { EventExistsGuard } from './event-exists.guard';\r\nimport { EventSearchResultsGuard } from './event-searchresults.guard';\r\n\r\nexport const guards: any[] = [EventExistsGuard, EventSearchResultsGuard];\r\n\r\nexport * from './event-exists.guard';\r\nexport * from './event-searchresults.guard';\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\n\r\nimport { Configuration } from '../models/Configuration';\r\nimport { filter } from 'rxjs/operators';\r\n\r\nimport { select, Store } from '@ngrx/store';\r\nimport { CoreState, getConfigurationState, ConfigurationState } from '../store/reducers';\r\n\r\n@Injectable()\r\nexport class ConfigurationHttpService {\r\n // Inject the http service and the app's BASE_URL\r\n constructor(private http: HttpClient) { }\r\n\r\n loadConfiguration(): Observable {\r\n return this.http.get(window.location.origin + `/api/clientconfiguration`);\r\n }\r\n}\r\n\r\n@Injectable()\r\nexport class ConfigurationService {\r\n config$: Observable;\r\n\r\n constructor(private _store: Store) {\r\n this.config$ = this._store.pipe(\r\n select(getConfigurationState),\r\n filter((c) => c.config != null)\r\n );\r\n }\r\n}\r\n","import * as fromComponents from './components';\r\nimport * as fromContainers from './containers';\r\nimport * as fromGuards from './guards';\r\nimport { reducers, effects } from './store';\r\n\r\nexport * from './components';\r\nexport * from './containers';\r\nexport * from './guards';\r\nexport * from './store';\r\n","import * as fromEventSearchResults from '../actions/event-searchresults.action';\r\nimport * as fromModels from '../../models';\r\nimport { HttpHeaders } from '@angular/common/http';\r\n\r\nexport interface SearchResultsState {\r\n searchResults: fromModels.EventSearchResultsItem[];\r\n searchCriteria: fromModels.EventSearchCriteria;\r\n pagingSorting: fromModels.EventPagingSorting;\r\n errors: any;\t//\tTODO: formalize error handling\r\n loading: boolean;\r\n loaded: boolean;\r\n}\r\n\r\nexport const initialState: SearchResultsState = {\r\n loading: false,\r\n loaded: false,\r\n searchResults: null,\r\n errors: null,\r\n searchCriteria: {\r\n id: null,\r\n isActive: null,\r\n name: null,\r\n attendingSchoolId: null,\r\n hostingState: null,\r\n eventType: null,\r\n eventDateFrom: null,\r\n eventDateTo: null,\r\n districtId: null,\r\n code: null,\r\n primaryRentalFulfillment: null,\r\n PageNumber: null,\r\n PageSize: null,\r\n SortBy: null,\r\n SortDir: null\r\n },\r\n pagingSorting: {\r\n totalCount: null,\r\n pageSize: null,\r\n currentPage: null,\r\n totalPages: null,\r\n sortBy: null,\r\n sortDir: null\r\n }\r\n};\r\n\r\nexport function reducer(state = initialState, action: fromEventSearchResults.EventSearchResultsActions): SearchResultsState {\r\n switch (action.type) {\r\n case fromEventSearchResults.EventSearchResultsActionTypes.ProcessQueryString: {\r\n console.log('ProcessQueryString');\r\n console.log(action.payload);\r\n\r\n return {\r\n ...state,\r\n loaded: false,\r\n loading: false,\r\n errors: null\r\n };\r\n }\r\n\r\n case fromEventSearchResults.EventSearchResultsActionTypes.LoadEventSearchResults: {\r\n console.log('LoadEventSearchResults');\r\n console.log(action.payload);\r\n\t\t\treturn {\r\n ...state,\r\n loaded: false,\r\n loading: true,\r\n errors: null,\r\n // Anytime we request search results, let's update the state to include that\r\n // most recent criteria that was just passed.\r\n searchCriteria: action.payload\r\n\t\t\t};\r\n\t\t}\r\n\r\n case fromEventSearchResults.EventSearchResultsActionTypes.LoadEventSearchResultsSuccess: {\r\n const searchResults = action.payload;\r\n const headers = action.httpHeaders;\r\n\r\n\t\t\treturn {\r\n ...updateEventSearchResultsState(state, searchResults, headers),\r\n\t\t\t\tloaded: true,\r\n loading: false\r\n\t\t\t};\r\n\t\t}\r\n\r\n case fromEventSearchResults.EventSearchResultsActionTypes.LoadEventSearchResultsFailure: {\r\n\t\t\tconsole.log('reducer:', action);\r\n\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tloaded: false,\r\n\t\t\t\tloading: false,\r\n errors: action.payload\r\n\t\t\t};\r\n }\r\n\t}\r\n\r\n\treturn state;\r\n}\r\n\r\nfunction updateEventSearchResultsState(state: SearchResultsState, searchResults: fromModels.EventSearchResultsItem[], headers: HttpHeaders) {\r\n let pagingSorting: fromModels.EventPagingSorting;\r\n\r\n // Grab special header we use for paging\r\n const pagingHeader: string = headers.get('X-Pagination');\r\n const pagingObject: object = JSON.parse(pagingHeader);\r\n\r\n // Populate paging information from http headers\r\n pagingSorting = {\r\n totalCount: pagingObject['totalCount'],\r\n pageSize: pagingObject['pageSize'],\r\n currentPage: pagingObject['currentPage'],\r\n totalPages: pagingObject['totalPages'],\r\n sortBy: pagingObject['sortBy'],\r\n sortDir: pagingObject['sortDir']\r\n };\r\n\r\n\treturn {\r\n\t\t...state,\r\n searchResults,\r\n pagingSorting\r\n\t};\r\n}\r\n\r\nexport const getEventSearchResults = (state: SearchResultsState) => state.searchResults;\r\nexport const getEventSearchLoading = (state: SearchResultsState) => state.loading;\r\nexport const getEventSearchLoaded = (state: SearchResultsState) => state.loaded;\r\nexport const getEventSearchErrors = (state: SearchResultsState) => state.errors;\r\n","import { Action } from '@ngrx/store';\r\nimport { HttpErrorResponse } from '@angular/common/http';\r\n\r\nimport { PreferenceSet, ProductGroup, ProductSearchResult, SupplyItem, InstrumentRate } from '../../models';\r\nimport { OpusCategory } from '../../../scp-common/models';\r\nimport { FindCriteria, AddSuppliesStep } from '..';\r\nimport { SchoolLookup } from '../../../schools/models/index';\r\nimport { DistrictLookup } from '../../../districts/models/district-lookup.model';\r\n\r\nexport enum PrefsActionTypes {\r\n LoadPrefs = '[Prefs] Load Preferences',\r\n LoadPrefsSuccess = '[Prefs] Load Preferences Success',\r\n LoadPrefsFailure = '[Prefs] Load Preferences Failure',\r\n UpdatePrefsPanel = '[Prefs] Update Prefs Panel',\r\n UpdatePrefsPanelSuccess = '[Prefs] Update Prefs Panel Success',\r\n UpdatePrefsPanelFailure = '[Prefs] Update Prefs Panel Failure',\r\n InitializeAddSupplies = '[Prefs] Initialize Add Supplies Data',\r\n AddSuppliesInitialized = '[Prefs] Add Supplies Data Initialized',\r\n LoadBookCategories = '[Prefs] Load Book Catagories',\r\n BookCategoriesLoaded = '[Prefs] Book Categories Loaded',\r\n LoadProductGroups = '[Prefs] Load Product Groups',\r\n ProductGroupsLoaded = '[Prefs] Product Groups Loaded',\r\n FindProducts = '[Prefs] Find Products',\r\n FindProductsSuccess = '[Prefs] Find Products Success',\r\n FindProductsFailure = '[Prefs] Find Products Failure',\r\n UpdateSupplyItems = '[Prefs] Update Supply Items',\r\n RemoveSupplyItems = '[Prefs] Remove Supply Items',\r\n SelectAddSuppliesStep = '[Prefs] Select Add Supplies Step',\r\n CopyPrefs = '[Prefs] Copy Preferences',\r\n CopyPrefsSuccess = '[Prefs] Copy Preferences Success',\r\n CopyPrefsFailure = '[Prefs] Copy Preferences Failure',\r\n CreateOverridePrefs = '[Prefs] Create Override Preferences',\r\n CreateOverridePrefsSuccess = '[Prefs] Create Override Preferences Success',\r\n CreateOverridePrefsFailure = '[Prefs] Create Override Preferences Failure',\r\n DeletePrefs = '[Prefs] Delete Preferences',\r\n DeletePrefsSuccess = '[Prefs] Delete Preferences Success',\r\n DeletePrefsFailure = '[Prefs] Delete Preferences Failure',\r\n SchoolLookupById = '[Prefs] School Lookup By Id',\r\n SchoolLookupByIdFailure = '[Prefs] School Lookup By Id Failure',\r\n SchoolLookupByIdSuccess = '[Prefs] School Lookup By Id Success',\r\n SchoolLookupByName = '[Prefs] School Lookup By Name',\r\n SchoolLookupByNameFailure = '[Prefs] School Lookup By Name Failure',\r\n SchoolLookupByNameSuccess = '[Prefs] School Lookup By Name Success',\r\n DistrictLookupById = '[Prefs] District Lookup By Id',\r\n DistrictLookupByIdFailure = '[Prefs] District Lookup By Id Failure',\r\n DistrictLookupByIdSuccess = '[Prefs] District Lookup By Id Success',\r\n DistrictLookupByName = '[Prefs] District Lookup By Name',\r\n DistrictLookupByNameFailure = '[Prefs] District Lookup By Name Failure',\r\n DistrictLookupByNameSuccess = '[Prefs] District Lookup By Name Success',\r\n GetRates = '[Prefs] Get Rates',\r\n GetRatesSuccess = '[Prefs] Get Rates Success',\r\n GetRatesFailure = '[Prefs] Get Rates Failure',\r\n}\r\n\r\nexport class LoadPrefs implements Action {\r\n readonly type = PrefsActionTypes.LoadPrefs;\r\n constructor(public payload: number) { }\r\n}\r\n\r\nexport class LoadPrefsSuccess implements Action {\r\n readonly type = PrefsActionTypes.LoadPrefsSuccess;\r\n constructor(public payload: PreferenceSet) { }\r\n}\r\n\r\nexport class LoadPrefsFailure implements Action {\r\n readonly type = PrefsActionTypes.LoadPrefsFailure;\r\n constructor(public payload: any) { }\r\n}\r\n\r\nexport class CreateOverridePrefs implements Action {\r\n readonly type = PrefsActionTypes.CreateOverridePrefs;\r\n constructor(public payload: { preferenceSetId: number, dtoName: string, entityId: number }) { }\r\n}\r\n\r\nexport class CreateOverridePrefsSuccess implements Action {\r\n readonly type = PrefsActionTypes.CreateOverridePrefsSuccess;\r\n constructor(public payload: PreferenceSet) { }\r\n}\r\n\r\nexport class CreateOverridePrefsFailure implements Action {\r\n readonly type = PrefsActionTypes.CreateOverridePrefsFailure;\r\n constructor(public payload: any) { }\r\n}\r\n\r\nexport class CopyPrefs implements Action {\r\n readonly type = PrefsActionTypes.CopyPrefs;\r\n constructor(public payload: { preferenceSetId: number, dtoName: string, entityId: number }) { }\r\n}\r\n\r\nexport class CopyPrefsSuccess implements Action {\r\n readonly type = PrefsActionTypes.CopyPrefsSuccess;\r\n constructor(public payload: PreferenceSet) { }\r\n}\r\n\r\nexport class CopyPrefsFailure implements Action {\r\n readonly type = PrefsActionTypes.CopyPrefsFailure;\r\n constructor(public payload: any) { }\r\n}\r\n\r\nexport class DeletePrefs implements Action {\r\n readonly type = PrefsActionTypes.DeletePrefs;\r\n constructor(public payload: { preferenceSetId: number, dtoName: string, entityId: number }) { }\r\n}\r\n\r\nexport class DeletePrefsSuccess implements Action {\r\n readonly type = PrefsActionTypes.DeletePrefsSuccess;\r\n constructor(public payload: PreferenceSet) { }\r\n}\r\n\r\nexport class DeletePrefsFailure implements Action {\r\n readonly type = PrefsActionTypes.DeletePrefsFailure;\r\n constructor(public payload: any) { }\r\n}\r\n\r\nexport class UpdatePrefsPanel implements Action {\r\n readonly type = PrefsActionTypes.UpdatePrefsPanel;\r\n constructor(public payload: { preferenceSet: PreferenceSet }) { }\r\n}\r\n\r\nexport class UpdatePrefsPanelSuccess implements Action {\r\n readonly type = PrefsActionTypes.UpdatePrefsPanelSuccess;\r\n constructor(public payload: { preferenceSet: PreferenceSet }) { }\r\n}\r\n\r\nexport class UpdatePrefsPanelFailure implements Action {\r\n readonly type = PrefsActionTypes.UpdatePrefsPanelFailure;\r\n constructor(public payload: { errors: HttpErrorResponse }) { }\r\n}\r\n\r\nexport class InitializeAddSupplies implements Action {\r\n readonly type = PrefsActionTypes.InitializeAddSupplies;\r\n constructor() { }\r\n}\r\n\r\nexport class AddSuppliesInitialized implements Action {\r\n readonly type = PrefsActionTypes.AddSuppliesInitialized;\r\n constructor() { }\r\n}\r\n\r\nexport class LoadBookCategories implements Action {\r\n readonly type = PrefsActionTypes.LoadBookCategories;\r\n constructor() { }\r\n}\r\n\r\nexport class BookCategoriesLoaded implements Action {\r\n readonly type = PrefsActionTypes.BookCategoriesLoaded;\r\n constructor(public payload: OpusCategory[]) { }\r\n}\r\n\r\nexport class LoadProductGroups implements Action {\r\n readonly type = PrefsActionTypes.LoadProductGroups;\r\n constructor() { }\r\n}\r\n\r\nexport class ProductGroupsLoaded implements Action {\r\n readonly type = PrefsActionTypes.ProductGroupsLoaded;\r\n constructor(public payload: ProductGroup[]) { }\r\n}\r\n\r\nexport class FindProducts implements Action {\r\n readonly type = PrefsActionTypes.FindProducts;\r\n constructor(public payload: FindCriteria) { }\r\n}\r\n\r\nexport class FindProductsSuccess implements Action {\r\n readonly type = PrefsActionTypes.FindProductsSuccess;\r\n constructor(public payload: { [id: number]: ProductSearchResult }) { }\r\n}\r\n\r\nexport class FindProductsFailure implements Action {\r\n readonly type = PrefsActionTypes.FindProductsFailure;\r\n constructor(public payload: any) { }\r\n}\r\n\r\nexport class UpdateSupplyItems implements Action {\r\n readonly type = PrefsActionTypes.UpdateSupplyItems;\r\n constructor(public payload: SupplyItem[]) { }\r\n}\r\n\r\nexport class RemoveSupplyItems implements Action {\r\n readonly type = PrefsActionTypes.RemoveSupplyItems;\r\n constructor(public payload: number[]) { }\r\n}\r\n\r\nexport class SelectAddSuppliesStep implements Action {\r\n readonly type = PrefsActionTypes.SelectAddSuppliesStep;\r\n constructor(public payload: AddSuppliesStep) { }\r\n}\r\n\r\nexport class SchoolLookupById implements Action {\r\n readonly type = PrefsActionTypes.SchoolLookupById;\r\n constructor(public payload: { schoolId: number }) { }\r\n}\r\n\r\nexport class SchoolLookupByIdSuccess implements Action {\r\n readonly type = PrefsActionTypes.SchoolLookupByIdSuccess;\r\n constructor(public payload: { school: SchoolLookup }) { }\r\n}\r\n\r\nexport class SchoolLookupByIdFailure implements Action {\r\n readonly type = PrefsActionTypes.SchoolLookupByIdFailure;\r\n constructor(public payload: { errors: any }) { }\r\n}\r\n\r\nexport class SchoolLookupByName implements Action {\r\n readonly type = PrefsActionTypes.SchoolLookupByName;\r\n constructor(public payload: { name: string }) { }\r\n}\r\n\r\nexport class SchoolLookupByNameSuccess implements Action {\r\n readonly type = PrefsActionTypes.SchoolLookupByNameSuccess;\r\n constructor(public payload: { schools: SchoolLookup[] }) { }\r\n}\r\n\r\nexport class SchoolLookupByNameFailure implements Action {\r\n readonly type = PrefsActionTypes.SchoolLookupByNameFailure;\r\n constructor(public payload: { errors: any }) { }\r\n}\r\n\r\nexport class DistrictLookupById implements Action {\r\n readonly type = PrefsActionTypes.DistrictLookupById;\r\n constructor(public payload: { districtId: number }) { }\r\n}\r\n\r\nexport class DistrictLookupByIdSuccess implements Action {\r\n readonly type = PrefsActionTypes.DistrictLookupByIdSuccess;\r\n constructor(public payload: { district: DistrictLookup }) { }\r\n}\r\n\r\nexport class DistrictLookupByIdFailure implements Action {\r\n readonly type = PrefsActionTypes.DistrictLookupByIdFailure;\r\n constructor(public payload: { errors: any }) { }\r\n}\r\n\r\nexport class DistrictLookupByName implements Action {\r\n readonly type = PrefsActionTypes.DistrictLookupByName;\r\n constructor(public payload: { name: string }) { }\r\n}\r\n\r\nexport class DistrictLookupByNameSuccess implements Action {\r\n readonly type = PrefsActionTypes.DistrictLookupByNameSuccess;\r\n constructor(public payload: { districts: DistrictLookup[] }) { }\r\n}\r\n\r\nexport class DistrictLookupByNameFailure implements Action {\r\n readonly type = PrefsActionTypes.DistrictLookupByNameFailure;\r\n constructor(public payload: { errors: any }) { }\r\n}\r\n\r\nexport class GetRates implements Action {\r\n readonly type = PrefsActionTypes.GetRates;\r\n constructor(public payload: { id?: number, zip: string }) { }\r\n}\r\n\r\nexport class GetRatesSuccess implements Action {\r\n readonly type = PrefsActionTypes.GetRatesSuccess;\r\n constructor(public payload: InstrumentRate[]) { }\r\n}\r\n\r\nexport class GetRatesFailure implements Action {\r\n readonly type = PrefsActionTypes.GetRatesFailure;\r\n constructor(public payload: any) { }\r\n}\r\n\r\nexport type PrefsActions =\r\n | LoadPrefs\r\n | LoadPrefsSuccess\r\n | LoadPrefsFailure\r\n | UpdatePrefsPanel\r\n | UpdatePrefsPanelSuccess\r\n | UpdatePrefsPanelFailure\r\n | InitializeAddSupplies\r\n | AddSuppliesInitialized\r\n | LoadBookCategories\r\n | BookCategoriesLoaded\r\n | LoadProductGroups\r\n | ProductGroupsLoaded\r\n | FindProducts\r\n | FindProductsSuccess\r\n | FindProductsFailure\r\n | UpdateSupplyItems\r\n | RemoveSupplyItems\r\n | SelectAddSuppliesStep\r\n | CopyPrefs\r\n | CopyPrefsSuccess\r\n | CopyPrefsFailure\r\n | CreateOverridePrefs\r\n | CreateOverridePrefsSuccess\r\n | CreateOverridePrefsFailure\r\n | DeletePrefs\r\n | DeletePrefsSuccess\r\n | DeletePrefsFailure\r\n | SchoolLookupById\r\n | SchoolLookupByIdFailure\r\n | SchoolLookupByIdSuccess\r\n | SchoolLookupByName\r\n | SchoolLookupByNameFailure\r\n | SchoolLookupByNameSuccess\r\n | DistrictLookupById\r\n | DistrictLookupByIdFailure\r\n | DistrictLookupByIdSuccess\r\n | DistrictLookupByName\r\n | DistrictLookupByNameFailure\r\n | DistrictLookupByNameSuccess\r\n | GetRates\r\n | GetRatesSuccess\r\n | GetRatesFailure;\r\n","export * from './details.selectors';\r\nexport * from './district-searchresults.selectors';\r\n","","import { Component, Input } from '@angular/core';\r\n\r\nimport { TeacherDetails } from '../../models';\r\n\r\n@Component({\r\n\tselector: 'opus-teacher-district',\r\n\ttemplateUrl: './teacher-district.component.html',\r\n})\r\nexport class TeacherDistrictComponent {\r\n\t@Input() teacher: TeacherDetails;\r\n\r\n get districtId() {\r\n return this.teacher.districtId;\r\n }\r\n\r\n get districtName() {\r\n return this.teacher.districtName;\r\n }\r\n}\r\n","import { CanActivate, ActivatedRouteSnapshot, RouterStateSnapshot } from '@angular/router';\r\nimport { Injectable } from '@angular/core';\r\nimport { Observable, of } from 'rxjs';\r\nimport { switchMap, catchError, map, filter } from 'rxjs/operators';\r\nimport { select, Store } from '@ngrx/store';\r\nimport * as fromRoot from '../../core/store';\r\nimport * as fromStore from '../store';\r\n\r\n@Injectable()\r\nexport class MerchRentalCategoryGuard implements CanActivate {\r\n\r\n constructor(private _store: Store) {\r\n }\r\n \r\n canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable {\r\n let redirectTo;\r\n \r\n return this.checkStore().pipe(\r\n switchMap(allow => {\r\n if (!allow) {\r\n redirectTo = '/401';\r\n }\r\n \r\n return this.allowOrRedirect(allow, redirectTo);\r\n }),\r\n catchError(() => {\r\n return this.allowOrRedirect(false, '/500');\r\n }),\r\n );\r\n }\r\n \r\n checkStore(): Observable {\r\n return this._store.pipe(\r\n select(fromRoot.getUserAuthInfo),\r\n filter(x => !!x),\r\n map(x => true)\r\n //map(x => x.policyCodes.has('RentalCategories.View'))\r\n );\r\n }\r\n \r\n allowOrRedirect(allow: boolean, redirectTo: string): Observable {\r\n if (!allow) {\r\n console.log(`Redirecting to '${redirectTo}'...`);\r\n this._store.dispatch(new fromRoot.Go({ path: [redirectTo] }));\r\n }\r\n \r\n return of(allow);\r\n }\r\n}\r\n","import { Component, OnInit, OnDestroy } from '@angular/core';\r\nimport { FormBuilder, FormGroup } from '@angular/forms';\r\n\r\nimport { Observable } from 'rxjs';\r\nimport { takeWhile, tap } from 'rxjs/operators';\r\n\r\nimport { select, Store } from '@ngrx/store';\r\n\r\nimport { District } from '../models';\r\nimport * as fromStore from '../store';\r\n\r\n@Component({\r\n\tselector: 'opus-district-calendar-editor',\r\n\ttemplateUrl: './district-calendar-editor.component.html',\r\n})\r\nexport class DistrictCalendarEditorComponent implements OnInit, OnDestroy {\r\n\talive = true;\r\n\tdistrict$: Observable;\r\n\tpanelState$: Observable;\r\n\tdistrict: District;\r\n\tpanelState: fromStore.PanelState;\r\n\tpanelId = fromStore.PanelId.Calendar;\r\n\teditor: FormGroup;\r\n\tmonths: string[] = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'];\r\n\tdays: { [id: string]: string[] } = {};\r\n\tschoolStartFrom: Date;\r\n\tschoolStartTo: Date;\r\n\tschoolEndFrom: Date;\r\n\tschoolEndTo: Date;\r\n\r\n\tconstructor(private store: Store, private fb: FormBuilder) {\r\n\t\tconsole.log('DistrictCalendarEditorComponent()...');\r\n\t}\r\n\r\n\tngOnInit() {\r\n\t\tconsole.log('DistrictCalendarEditorComponent.ngOnInit()...');\r\n\r\n\t\tthis.district$ = this.store.pipe(select(fromStore.getDetailsStateDistrict));\r\n\t\tthis.district$.pipe(\r\n\t\t\ttakeWhile(() => this.alive)\r\n\t\t).subscribe(d => this.district = d);\r\n\r\n\t\tthis.panelState$ = this.store.pipe(select(fromStore.getDetailsStateCalendarPanel));\r\n\t\tthis.panelState$.pipe(\r\n\t\t\ttakeWhile(() => this.alive),\r\n\t\t\ttap(s => {\r\n\t\t\t\tif (!s.editing && this.panelState && this.panelState.editing) {\r\n\t\t\t\t\tconsole.log('DistrictCalendarEditorComponent.panelState$: clearing form...');\r\n\t\t\t\t\tthis.resetForm();\r\n\t\t\t\t}\r\n\t\t\t}),\r\n\t\t).subscribe(s => this.panelState = s);\r\n\r\n\t\tthis.createForm();\r\n\t}\r\n\r\n\tngOnDestroy() {\r\n\t\tconsole.log('DistrictCalendarEditorComponent.ngOnDestroy()...');\r\n\t\tthis.alive = false;\r\n\t}\r\n\r\n\tcreateForm() {\r\n\t\tthis.schoolStartFrom = this.district.schoolStartFrom\r\n\t\t\t? new Date(Date.parse(this.district.schoolStartFrom))\r\n\t\t\t: new Date(9999, 8, 1);\r\n\t\tthis.schoolStartTo = this.district.schoolStartTo\r\n\t\t\t? new Date(Date.parse(this.district.schoolStartTo))\r\n\t\t\t: new Date(9999, 8, 1);\r\n\t\tthis.schoolEndFrom = this.district.schoolEndFrom\r\n\t\t\t? new Date(Date.parse(this.district.schoolEndFrom))\r\n\t\t\t: new Date(9999, 5, 1);\r\n\t\tthis.schoolEndTo = this.district.schoolEndTo\r\n\t\t\t? new Date(Date.parse(this.district.schoolEndTo))\r\n\t\t\t: new Date(9999, 5, 1);\r\n\r\n\t\tthis.editor = this.fb.group({\r\n\t\t\tschoolStartFromMonth: [this.schoolStartFrom.getMonth()],\r\n\t\t\tschoolStartFromDay: [this.schoolStartFrom.getDate()],\r\n\t\t\tschoolStartToMonth: [this.schoolStartTo.getMonth()],\r\n\t\t\tschoolStartToDay: [this.schoolStartTo.getDate()],\r\n\t\t\tschoolEndFromMonth: [this.schoolEndFrom.getMonth()],\r\n\t\t\tschoolEndFromDay: [this.schoolEndFrom.getDate()],\r\n\t\t\tschoolEndToMonth: [this.schoolEndTo.getMonth()],\r\n\t\t\tschoolEndToDay: [this.schoolEndTo.getDate()],\r\n\t\t});\r\n\r\n\t\tthis.initMonthChanges();\r\n\t}\r\n\r\n\tresetForm() {\r\n\t\tthis.editor.reset({\r\n\t\t\tschoolStartFromMonth: this.schoolStartFrom.getMonth(),\r\n\t\t\tschoolStartFromDay: this.schoolStartFrom.getDate(),\r\n\t\t\tschoolStartToMonth: this.schoolStartTo.getMonth(),\r\n\t\t\tschoolStartToDay: this.schoolStartTo.getDate(),\r\n\t\t\tschoolEndFromMonth: this.schoolEndFrom.getMonth(),\r\n\t\t\tschoolEndFromDay: this.schoolEndFrom.getDate(),\r\n\t\t\tschoolEndToMonth: this.schoolEndTo.getMonth(),\r\n\t\t\tschoolEndToDay: this.schoolEndTo.getDate(),\r\n\t\t});\r\n\t}\r\n\r\n\tinitMonthChanges() {\r\n\t\tconst keys: string[] = ['schoolStartFrom', 'schoolStartTo', 'schoolEndFrom', 'schoolEndTo'];\r\n\r\n\t\tfor (const key of keys) {\r\n\t\t\tthis.days[this[key].getMonth()] = this.getDaysInMonth(this[key].getMonth());\r\n\r\n\t\t\tthis.editor.get(key + 'Month').valueChanges.pipe(\r\n\t\t\t\ttakeWhile(() => this.alive),\r\n\t\t\t).subscribe(val => {\r\n\t\t\t\tconsole.log(key + 'Month.valueChanges: ', val);\r\n\r\n\t\t\t\tif (!this.days[val]) {\r\n\t\t\t\t\tthis.days[val] = this.getDaysInMonth(val);\r\n\t\t\t\t}\r\n\r\n\t\t\t\tconst ctrl = this.editor.get(key + 'Day');\r\n\t\t\t\tconst lastDay = this.days[val][this.days[val].length - 1];\r\n\r\n\t\t\t\tif (+ctrl.value > +lastDay) {\r\n\t\t\t\t\tctrl.setValue(lastDay, { emitEvent: false });\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t}\r\n\t}\r\n\r\n\tgetDaysInMonth(month) {\r\n\t\tconst days: string[] = [];\r\n\r\n\t\tfor (let i = 1; i <= new Date(9999, +month + 1, 0).getDate(); i++) {\r\n\t\t\tdays.push(i.toString());\r\n\t\t}\r\n\r\n\t\treturn days;\r\n\t}\r\n\r\n\tget canSave(): boolean {\r\n\t\treturn this.editor.valid && this.editor.dirty && !this.panelState.updating;\r\n\t}\r\n\r\n\tget saveButtonLabel(): string {\r\n\t\treturn this.panelState.updating ? 'Saving...' : 'Save';\r\n\t}\r\n\r\n\tonSubmit() {\r\n\t\tconsole.log('onSubmit: ', this.editor.status);\r\n\r\n\t\tconst schoolStartFrom = `${+this.editor.value.schoolStartFromMonth + 1}/${this.editor.value.schoolStartFromDay}/9999`;\r\n\t\tconst schoolStartTo = `${+this.editor.value.schoolStartToMonth + 1}/${this.editor.value.schoolStartToDay}/9999`;\r\n\t\tconst schoolEndFrom = `${+this.editor.value.schoolEndFromMonth + 1}/${this.editor.value.schoolEndFromDay}/9999`;\r\n\t\tconst schoolEndTo = `${+this.editor.value.schoolEndToMonth + 1}/${this.editor.value.schoolEndToDay}/9999`;\r\n\r\n\t\tconst district = {\r\n\t\t\t...this.district,\r\n\t\t\tschoolStartFrom,\r\n\t\t\tschoolStartTo,\r\n\t\t\tschoolEndFrom,\r\n\t\t\tschoolEndTo,\r\n\t\t};\r\n\r\n\t\tthis.store.dispatch(new fromStore.UpdateDistrictPanel({ panel: fromStore.PanelId.Calendar, district }));\r\n\t}\r\n}\r\n","
\r\n\t
    \r\n\t\t
  • \r\n\t\t\t
    School Start
    \r\n\t\t\t
    \r\n\t\t\t\t
    \r\n\t\t\t\t\t
    \r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t
    \r\n\t\t\t\t\t
    through
    \r\n\t\t\t\t\t
    \r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t
    \r\n\t\t\t\t
    \r\n\t\t\t
    \r\n\t\t
  • \r\n\t\t
  • \r\n\t\t\t
    School End
    \r\n\t\t\t
    \r\n\t\t\t\t
    \r\n\t\t\t\t\t
    \r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t
    \r\n\t\t\t\t\t
    through
    \r\n\t\t\t\t\t
    \r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t
    \r\n\t\t\t\t
    \r\n\t\t\t
    \r\n\t\t
  • \r\n\t
\r\n\t
\r\n\t\t
\r\n\t\t\t\r\n\t\t
\r\n\t
\r\n
\r\n","import { TeacherSearchResultsComponent } from './teacher-searchresults.component';\r\nimport { TeacherDetailsComponent } from './teacher-details.component';\r\nimport { TeacherAddressEditorComponent } from './teacher-address-editor.component';\r\nimport { TeacherContactEditorComponent } from './teacher-contact-editor.component';\r\nimport { TeacherAdditionalEditorComponent } from './teacher-additional-editor.component';\r\nimport { TeacherDistrictEditorComponent } from './teacher-district-editor.component';\r\nimport { TeacherInfoEditorComponent } from './teacher-info-editor.component';\r\n\r\nexport const containers: any[] = [\r\n TeacherSearchResultsComponent,\r\n TeacherDetailsComponent,\r\n TeacherAddressEditorComponent,\r\n TeacherContactEditorComponent,\r\n TeacherAdditionalEditorComponent,\r\n TeacherDistrictEditorComponent,\r\n TeacherInfoEditorComponent,\r\n];\r\n\r\nexport * from './teacher-searchresults.component';\r\nexport * from './teacher-details.component';\r\nexport * from './teacher-address-editor.component';\r\nexport * from './teacher-contact-editor.component';\r\nexport * from './teacher-additional-editor.component';\r\nexport * from './teacher-district-editor.component';\r\nexport * from './teacher-info-editor.component';\r\n","export * from './actions';\r\nexport * from './effects';\r\nexport * from './reducers';\r\nexport * from './selectors';\r\n","import { createSelector } from '@ngrx/store';\r\n\r\nimport * as fromFeature from '../reducers';\r\nimport * as fromHistory from '../reducers/history.reducer';\r\n\r\nexport const getHistoryState = createSelector(\r\n\tfromFeature.getScpState,\r\n\t(state: fromFeature.ScpState) => state.history,\r\n);\r\n\r\nexport const getHistorySnapshotState = createSelector(\r\n\tgetHistoryState,\r\n\tfromHistory.getHistorySnapshot,\r\n);\r\n\r\nexport const getHistoryDetailsState = createSelector(\r\n\tgetHistoryState,\r\n\tfromHistory.getDetailsState,\r\n);\r\n\r\nexport const getHistoryDetails = createSelector(\r\n\tgetHistoryDetailsState,\r\n\tfromHistory.getHistoryDetails,\r\n);\r\n","import { Component, Input, Output, EventEmitter } from '@angular/core';\r\n\r\nimport { Observable } from 'rxjs';\r\nimport { Event, EventSchool } from '../../models';\r\nimport { select, Store } from '@ngrx/store';\r\nimport * as fromStore from '../../store';\r\nimport { QrCodeFiledownloadState } from '../../store/reducers/details.reducer';\r\n\r\n@Component({\r\n selector: 'event-schools-attending',\r\n templateUrl: './event-schools-attending.component.html',\r\n})\r\nexport class EventSchoolsAttendingComponent {\r\n @Input() event: Event;\r\n @Input() editMode = false;\r\n @Output() remove: EventEmitter = new EventEmitter();\r\n\r\n qrCodeFiledownloadState$: Observable;\r\n\r\n constructor(private _store: Store) {\r\n\r\n }\r\n\r\n ngOnInit() {\r\n this.qrCodeFiledownloadState$ = this._store.pipe(select(fromStore.getQrCodeFileDownloadState));\r\n }\r\n\r\n removeSchool(school: EventSchool) {\r\n this.remove.emit(school);\r\n }\r\n\r\n downloadQrCodes(e: Event) {\r\n this._store.dispatch(new fromStore.DownloadQrCodes({ id: e.id }));\r\n }\r\n}\r\n"," \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n Remove\r\n \r\n School ID\r\n School Name\r\n OLR Link\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n {{ event.hostingSchoolId}}\r\n \r\n {{ event.hostingSchoolName }}\r\n \r\n \r\n Click for OLR\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n {{school.schoolId}}\r\n \r\n {{school.schoolName}}\r\n \r\n \r\n Click for OLR\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n","import { Component, Input, Output, EventEmitter, ChangeDetectorRef, OnInit, OnDestroy } from '@angular/core';\r\nimport { FormBuilder, FormControl, FormGroup, AbstractControl, Validators, ValidatorFn } from '@angular/forms';\r\n\r\nimport { Observable } from 'rxjs';\r\nimport { takeWhile, filter, tap } from 'rxjs/operators';\r\n\r\nimport { select, Store } from '@ngrx/store';\r\n\r\nimport { MessageType } from '../../../core/models';\r\nimport { Address, states } from '../../scp-common/models';\r\n\r\nimport * as fromRoot from '../../../core/store';\r\nimport * as fromStore from '../store';\r\nimport * as fromModels from '../models';\r\n\r\nfunction validatePhoneNumber(group: FormGroup) {\r\n\tconst type = group.get('schoolType').value;\r\n\tconst phone = group.get('phone').value;\r\n\tconst isPhoneRequired = type === fromModels.SchoolType.PUBLIC || type === fromModels.SchoolType.PRIVATE || type === fromModels.SchoolType.COLLEGE || type === fromModels.SchoolType.CHARTER;\r\n\t\r\n\tif (isPhoneRequired && !phone)\r\n\t\treturn { isRequired: true }\r\n\treturn null;\r\n}\r\n\r\n@Component({\r\n\tselector: 'opus-school-create',\r\n\ttemplateUrl: './school-create.component.html',\r\n})\r\nexport class SchoolCreateComponent implements OnInit, OnDestroy\t {\r\n\t@Input() visible = false;\r\n\t@Output() action = new EventEmitter();\r\n\r\n\ttitle = 'Create New School';\r\n\tprimaryLabel = 'Create School';\r\n\tsecondaryLabel = 'Cancel';\r\n\r\n\teditor: FormGroup;\r\n\tvalidating = false;\r\n\tsubmitting = false;\r\n\r\n\tcountyLookup$: Observable;\r\n\tcounties: string[] = [];\r\n\tcountyState: string;\r\n\tpZipLookup$: Observable;\r\n\tpZipLookup: fromStore.ZipLookupState;\r\n\tmZipLookup$: Observable;\r\n\tmZipLookup: fromStore.ZipLookupState;\r\n\tdetails$: Observable;\r\n\r\n\tshowCorrection = false;\r\n\tps$: Observable;\r\n\tenteredAddress: Address;\r\n\tsuggestedAddress: Address;\r\n\r\n\tprivate alive = true;\r\n\tprivate closing = false;\r\n\tprivate sameAsPhysical = false;\r\n\tprivate verifying = false;\r\n\r\n\tconstructor(private store: Store, private fb: FormBuilder, private cdr: ChangeDetectorRef) {\r\n\t\tconsole.log('SchoolCreateComponent()...');\r\n\t}\r\n\r\n\tngOnInit() {\r\n\t\tconsole.log('SchoolCreateComponent.ngOnInit()...');\r\n\r\n\t\tthis.createForm();\r\n\t\tthis.initZipLookups();\r\n\r\n\t\tthis.countyLookup$ = this.store.pipe(select(fromStore.getDetailsStateCountyLookup));\r\n\t\tthis.countyLookup$.pipe(takeWhile(() => this.alive)).subscribe(cls => {\r\n\t\t\tif (cls.lookupStateCode != this.pState.value) {\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\r\n\t\t\tthis.pCounty[cls.pending ? 'disable' : 'enable']();\r\n\t\t\tthis.counties = [];\r\n\t\t\tthis.pCounty.patchValue('');\r\n\r\n\t\t\tif (cls.pending) {\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\r\n\t\t\tif (cls.errors || cls.counties[this.pState.value].length === 0) {\r\n\t\t\t\tthis.store.dispatch(new fromRoot.DisplayMessage({\r\n\t\t\t\t\tmessage: 'Unable to retrieve county list for state',\r\n\t\t\t\t\tmessageType: MessageType.alert,\r\n\t\t\t\t\ttoast: false,\r\n\t\t\t\t}));\r\n\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\r\n\t\t\tthis.counties = cls.counties[this.pState.value];\r\n\t\t\tthis.cdr.detectChanges();\r\n\t\t});\r\n\r\n\t\tthis.details$ = this.store.pipe(select(fromStore.getSchoolDetailsState));\r\n\t\tthis.details$.pipe(\r\n\t\t\ttakeWhile(() => this.alive),\r\n\t\t).subscribe(s => {\r\n\t\t\tconsole.log('detail$: ', s);\r\n\r\n\t\t\tif (s.creating) {\r\n\t\t\t\tthis.submitting = true;\r\n\t\t\t}\r\n\r\n\t\t\tif (this.submitting && !s.creating) {\r\n\t\t\t\tthis.submitting = false;\r\n\t\t\t\tthis.cdr.detectChanges();\r\n\r\n\t\t\t\tif (s.createdId !== null) {\r\n\t\t\t\t\tthis.resetForm();\r\n\t\t\t\t\tthis.action.emit(true);\r\n\t\t\t\t\tthis.store.dispatch(new fromRoot.Go({ path: [`/schools/${s.createdId}`] }));\r\n\r\n\t\t\t\t\treturn;\r\n\t\t\t\t}\r\n\r\n\t\t\t\tthis.toggleForm(true);\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n\r\n\tngOnDestroy() {\r\n\t\tconsole.log('SchoolCreateComponent.ngOnDestroy()...');\r\n\r\n\t\tthis.alive = false;\r\n\t}\r\n\r\n\tprivate createForm() {\r\n\t\tconsole.log('SchoolCreateComponent.createForm()...');\r\n\r\n\t\tthis.editor = this.fb.group({\r\n\t\t\tlongName: ['', Validators.required],\r\n\t\t\tschoolType: [fromModels.SchoolType.PUBLIC],\r\n\t\t\tschoolLevel: [fromModels.SchoolLevel.ELEMENTARY],\r\n\t\t\tpAddress: this.fb.group({\r\n\t\t\t\tline1: ['', Validators.required],\r\n\t\t\t\tline2: [''],\r\n\t\t\t\tcity: ['', Validators.required],\r\n\t\t\t\tstate: ['', Validators.required],\r\n\t\t\t\tzip: ['', [Validators.required, Validators.pattern(/^\\d{5}(?:-\\d{4})?$/)]],\r\n\t\t\t\tcounty: [''],\r\n\t\t\t}),\r\n\t\t\tmAddress: this.fb.group({\r\n\t\t\t\tline1: ['', Validators.required],\r\n\t\t\t\tline2: [''],\r\n\t\t\t\tcity: ['', Validators.required],\r\n\t\t\t\tstate: ['', Validators.required],\r\n\t\t\t\tzip: ['', [Validators.required, Validators.pattern(/^\\d{5}(?:-\\d{4})?$/)]],\r\n\t\t\t}),\r\n\t\t\tphone: ['', [Validators.nullValidator, Validators.pattern(/^([0-9]{10})?$/)]],\r\n\t\t}, { validator: validatePhoneNumber });\r\n\r\n\t\tthis.pState.valueChanges.pipe(\r\n\t\t\ttakeWhile(() => this.alive),\r\n\t\t).subscribe(val => {\r\n\t\t\tconsole.log('SchoolCreateComponent.pState.valueChanges(): ', val);\r\n\r\n\t\t\tif (!val || this.pState.disabled || this.countyState == this.pState.value) {\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\r\n\t\t\tthis.countyState = this.pState.value;\r\n\t\t\tthis.store.dispatch(new fromStore.SchoolLoadCounties({ panel: fromStore.PanelId.PhysAddr, stateCode: val }));\r\n });\r\n\t}\r\n\r\n\tprivate initZipLookups() {\r\n\t\tthis.pZipLookup$ = this.store.pipe(select(fromStore.getDetailsStatePhysAddrZipLookup));\r\n\t\tthis.pZipLookup$.pipe(\r\n\t\t\ttakeWhile(() => this.alive),\r\n\t\t).subscribe(zls => {\r\n\t\t\tif (zls.zip != this.pZip.value) {\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\r\n\t\t\tif (this.pZipLookup && this.pZipLookup.pending != zls.pending) {\r\n\t\t\t\tconst method = zls.pending ? 'disable' : 'enable';\r\n\r\n\t\t\t\tthis.pZip[method]();\r\n\t\t\t\tthis.pCity[method]();\r\n\t\t\t\tthis.pState[method]();\r\n\t\t\t\tthis.pCounty[method]();\r\n\t\t\t}\r\n\r\n\t\t\tif (zls.errors) {\r\n\t\t\t\tthis.store.dispatch(new fromRoot.DisplayMessage({\r\n\t\t\t\t\tmessage: 'Unable to look up city and state',\r\n\t\t\t\t\tmessageType: MessageType.alert,\r\n\t\t\t\t\ttoast: false,\r\n\t\t\t\t}));\r\n\t\t\t}\r\n\r\n\t\t\tif (zls.cityState) {\r\n\t\t\t\tthis.pCity.patchValue(zls.cityState.city);\r\n\t\t\t\tthis.pState.patchValue(zls.cityState.state);\r\n\t\t\t}\r\n\r\n\t\t\tthis.pZipLookup = zls;\r\n\r\n\t\t\tthis.cdr.detectChanges();\r\n\t\t});\r\n\t\tthis.mZipLookup$ = this.store.pipe(select(fromStore.getDetailsStateMailAddrZipLookup));\r\n\t\tthis.mZipLookup$.pipe(\r\n\t\t\ttakeWhile(() => this.alive),\r\n\t\t).subscribe(zls => {\r\n\t\t\tif (zls.zip != this.mZip.value) {\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\r\n\t\t\tif (this.mZipLookup && this.mZipLookup.pending != zls.pending) {\r\n\t\t\t\tconst method = zls.pending ? 'disable' : 'enable';\r\n\r\n\t\t\t\tthis.mZip[method]();\r\n\t\t\t\tthis.mCity[method]();\r\n\t\t\t\tthis.mState[method]();\r\n\t\t\t}\r\n\r\n\t\t\tif (zls.errors) {\r\n\t\t\t\tthis.store.dispatch(new fromRoot.DisplayMessage({\r\n\t\t\t\t\tmessage: 'Unable to look up city and state',\r\n\t\t\t\t\tmessageType: MessageType.alert,\r\n\t\t\t\t\ttoast: false,\r\n\t\t\t\t}));\r\n\t\t\t}\r\n\r\n\t\t\tif (zls.cityState) {\r\n\t\t\t\tthis.mCity.patchValue(zls.cityState.city);\r\n\t\t\t\tthis.mState.patchValue(zls.cityState.state);\r\n\t\t\t}\r\n\r\n\t\t\tthis.mZipLookup = zls;\r\n\r\n\t\t\tthis.cdr.detectChanges();\r\n\t\t});\r\n\t}\r\n\r\n\tprivate resetForm() {\r\n\t\tconst addr = {\r\n\t\t\tline1: '',\r\n\t\t\tline2: '',\r\n\t\t\tcity: '',\r\n\t\t\tstate: '',\r\n\t\t\tzip: '',\r\n\t\t};\r\n\r\n\t\tthis.editor.reset({\r\n\t\t\tlongName: '',\r\n\t\t\tschoolType: fromModels.SchoolTypeLookup[fromModels.SchoolType.PUBLIC].id,\r\n\t\t\tschoolLevel: fromModels.SchoolLevelLookup[fromModels.SchoolLevel.ELEMENTARY].id,\r\n\t\t\tpAddress: { ...addr, county: '' },\r\n mAddress: { ...addr },\r\n phone: '',\r\n\t\t});\r\n\r\n\t\tthis.sameAsPhysical = false;\r\n\t\tthis.mAddress.enable();\r\n\t\tthis.validating = false;\r\n\t\tthis.submitting = false;\r\n\t}\r\n\r\n\tget states(): string[] {\r\n\t\treturn states;\r\n\t}\r\n\r\n\tget longName(): FormControl {\r\n\t\treturn this.editor.controls.longName as FormControl;\r\n\t}\r\n\r\n\tget schoolTypes() {\r\n\t\treturn fromModels.SchoolTypeLookup;\r\n\t}\r\n\r\n\tget schoolType(): FormControl {\r\n\t\treturn this.editor.controls.schoolType as FormControl;\r\n\t}\r\n\r\n\tget schoolLevels() {\r\n\t\treturn fromModels.SchoolLevelLookup;\r\n\t}\r\n\r\n\tget pAddress(): FormGroup {\r\n\t\treturn this.editor.controls.pAddress as FormGroup;\r\n\t}\r\n\r\n\tget pLine1(): FormControl {\r\n\t\treturn this.pAddress.controls.line1 as FormControl;\r\n\t}\r\n\r\n\tget pZip(): FormControl {\r\n\t\treturn this.pAddress.controls.zip as FormControl;\r\n\t}\r\n\r\n\tget pCity(): FormControl {\r\n\t\treturn this.pAddress.controls.city as FormControl;\r\n\t}\r\n\r\n\tget pState(): FormControl {\r\n\t\treturn this.pAddress.controls.state as FormControl;\r\n\t}\r\n\r\n\tget pCounty(): FormControl {\r\n\t\treturn this.pAddress.controls.county as FormControl;\r\n\t}\r\n\r\n\tget pZipLookupDisabled(): boolean {\r\n\t\treturn this.pZip.disabled || this.pZip.invalid;\r\n\t}\r\n\r\n\tget mAddress(): FormGroup {\r\n\t\treturn this.editor.controls.mAddress as FormGroup;\r\n\t}\r\n\r\n\tget mLine1(): FormControl {\r\n\t\treturn this.mAddress.controls.line1 as FormControl;\r\n\t}\r\n\r\n\tget mCity(): FormControl {\r\n\t\treturn this.mAddress.controls.city as FormControl;\r\n\t}\r\n\r\n\tget mState(): FormControl {\r\n\t\treturn this.mAddress.controls.state as FormControl;\r\n\t}\r\n\r\n\tget mZip(): FormControl {\r\n\t\treturn this.mAddress.controls.zip as FormControl;\r\n\t}\r\n\r\n\tget mZipLookupDisabled(): boolean {\r\n\t\treturn this.mZip.disabled || this.mZip.invalid;\r\n\t}\r\n\r\n get pPhone(): FormControl {\r\n return this.editor.controls.phone as FormControl;\r\n }\r\n\r\n\tonApplyZip(isPhysical: boolean) {\r\n\t\tconst zip = isPhysical ? this.pZip.value : this.mZip.value;\r\n\t\tconst panel = isPhysical ? fromStore.PanelId.PhysAddr : fromStore.PanelId.MailAddr;\r\n\r\n\t\tconsole.log('SchoolCreateComponent.onZipLookup(): ', zip);\r\n\r\n\t\tthis.store.dispatch(new fromStore.SchoolAddressLookupCityState({ panel, zip }));\r\n\t}\r\n\r\n\tonSameAsPhysical(e: Event) {\r\n\t\tthis.sameAsPhysical = (e.currentTarget as HTMLInputElement).checked;\r\n\r\n\t\tif (!this.sameAsPhysical) {\r\n\t\t\tthis.mAddress.enable();\r\n\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tthis.mAddress.disable();\r\n\t\tthis.mirrorPhysical(this.pAddress.value);\r\n\r\n\t\tthis.pAddress.valueChanges.pipe(\r\n\t\t\ttakeWhile(() => this.sameAsPhysical),\r\n\t\t).subscribe(val => {\r\n\t\t\tthis.mirrorPhysical(val);\r\n\t\t});\r\n\t}\r\n\r\n\tprivate mirrorPhysical(addr) {\r\n\t\tconst { county, ...mAddress } = addr;\r\n\t\tthis.mAddress.patchValue(mAddress);\r\n\t}\r\n\r\n\tonModalAction(accept: boolean) {\r\n\t\tif (this.showCorrection) {\r\n\t\t\tthis.onCorrectionModalAction(accept);\r\n\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tconsole.log('SchoolCreateComponent.onModalAction(): ', accept);\r\n\r\n\t\t//\tthis 'closing' nonsense is due to a bug in the modal component that is emitting the action event a second time with accept = false\r\n\t\tif (this.closing) {\r\n\t\t\tthis.closing = false;\r\n\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tif (!accept) {\r\n\t\t\tthis.resetForm();\r\n\t\t\tthis.action.emit(accept);\r\n\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tthis.validating = true;\r\n\r\n\t\tif (this.editor.invalid) {\r\n\t\t\tconsole.log('SchoolCreateComponent.onModalAction(): form invalid!');\r\n\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tthis.verifyAddress(true);\r\n\t}\r\n\r\n\tonCorrectionModalAction(accept: boolean) {\r\n\t\tconsole.log('SchoolCreateComponent.onCorrectionModalAction(): ', accept);\r\n\r\n\t\tconst isPhysical = this.compareAddresses(this.enteredAddress, this.pAddress.value);\r\n\r\n\t\tif (!accept) {\r\n\t\t\tthis.showCorrection = false;\r\n\t\t\tthis.toggleForm(isPhysical);\r\n\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tif (isPhysical) {\r\n\t\t\tthis.pAddress.patchValue({ ...this.suggestedAddress, county: this.pAddress.value.county });\r\n\r\n\t\t\tif (!this.sameAsPhysical) {\r\n\t\t\t\tthis.verifyAddress(false);\r\n\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\r\n\t\t\tthis.mAddress.patchValue(this.suggestedAddress);\r\n\t\t\tthis.createSchool();\r\n\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tthis.mAddress.patchValue(this.suggestedAddress);\r\n\t\tthis.createSchool();\r\n\t}\r\n\r\n\tverifyAddress(isPhysical: boolean) {\r\n\t\tconsole.log('SchoolCreateComponent.verifyAddress(): ', isPhysical ? 'Physical' : 'Mailing');\r\n\r\n\t\tconst panel = isPhysical ? fromStore.PanelId.PhysAddr : fromStore.PanelId.MailAddr;\r\n\t\tconst address = isPhysical ? this.pAddress.value : this.mAddress.value;\r\n\r\n\t\tthis.verifying = true;\r\n\t\tthis.store.dispatch(new fromStore.SchoolVerifyAddress({ panel, address }));\r\n\r\n\t\t//\tneed to observe the store for verification state changes\r\n\t\tthis.ps$ = this.store.pipe(\r\n\t\t\tselect(isPhysical ? fromStore.getDetailsStatePhysAddrPanel : fromStore.getDetailsStateMailAddrPanel)\r\n\t\t);\r\n\t\tthis.ps$.pipe(\r\n\t\t\ttakeWhile(() => this.verifying),\r\n\t\t).subscribe(ps => {\r\n\t\t\tconsole.log(ps);\r\n\r\n\t\t\tif (ps.verifying) {\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\r\n\t\t\tthis.verifying = false;\r\n\r\n\t\t\tconst verifiedAddress = ps.verifiedAddress;\r\n\t\t\tconst address = isPhysical ? this.pAddress.value : this.mAddress.value;\r\n\r\n\t\t\tconsole.log(verifiedAddress);\r\n\r\n\t\t\tif (verifiedAddress == null || this.compareAddresses(address, verifiedAddress)) {\r\n\t\t\t\tif (isPhysical && !this.sameAsPhysical) {\r\n\t\t\t\t\tthis.verifyAddress(false);\r\n\r\n\t\t\t\t\treturn;\r\n\t\t\t\t}\r\n\r\n\t\t\t\tthis.createSchool();\r\n\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\r\n\t\t\tthis.enteredAddress = address;\r\n\t\t\tthis.suggestedAddress = {\r\n\t\t\t\t...verifiedAddress,\r\n\t\t\t};\r\n\r\n\t\t\tthis.showCorrection = true;\r\n\t\t\tthis.toggleForm(isPhysical);\r\n\t\t\tthis.cdr.detectChanges();\r\n\t\t});\r\n\t}\r\n\r\n\tprivate toggleForm(isPhysical: boolean) {\r\n\t\tif (this.showCorrection) {\r\n\t\t\tthis.title = `${isPhysical ? 'Physical' : 'Mailing'} Address Correction`;\r\n\t\t\tthis.primaryLabel = 'Accept';\r\n\t\t\tthis.secondaryLabel = 'Edit';\r\n\t\t} else {\r\n\t\t\tthis.title = 'Create New School';\r\n\t\t\tthis.primaryLabel = 'Create School';\r\n\t\t\tthis.secondaryLabel = 'Cancel';\r\n\t\t}\r\n\t}\r\n\r\n\tprivate compareAddresses(first: Address, second: Address): boolean {\r\n\t\treturn first.line1 == second.line1\r\n\t\t\t&& first.line2 == second.line2\r\n\t\t\t&& first.city == second.city\r\n\t\t\t&& first.state == second.state\r\n\t\t\t&& first.zip == second.zip;\r\n\t}\r\n\r\n\tprivate createSchool() {\r\n\t\tconst school: fromModels.NewSchool = {\r\n\t\t\tlongName: this.longName.value,\r\n\t\t\tschoolType: this.editor.value.schoolType,\r\n\t\t\tschoolLevel: this.editor.value.schoolLevel,\r\n\t\t\tphysicalAddress: this.pAddress.value,\r\n\t\t\tmailingAddress: this.mAddress.value,\r\n\t\t\tphone: this.pPhone.value,\r\n\t\t};\r\n\r\n\t\tconsole.log('SchoolCreateComponent.createSchool(): ', school);\r\n\r\n\t\tthis.validating = false;\r\n\t\tthis.showCorrection = false;\r\n\t\tthis.store.dispatch(new fromStore.CreateSchool({ school }));\r\n\t}\r\n}\r\n","\r\n\t\r\n\t\t
\r\n\t\t\t\r\n\t\t\t
\r\n\t\t\t\t
Required
\r\n\t\t\t
\r\n\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t
\r\n\r\n\t\t\t
\r\n\t\t\t\tPhysical Address\r\n\t\t\t\t\r\n\r\n\t\t\t\t\r\n\r\n\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t
  • Required and must be a valid zip code
  • \r\n\t\t\t\t\t\t\t
  • Must be a valid zip code
  • \r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\r\n\t\t\t
\r\n\r\n\t\t\t
\r\n\t\t\t\tMailing Address\r\n\t\t\t\t\r\n\r\n\t\t\t\t\r\n\r\n\t\t\t\t\r\n\r\n\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t
  • Required and must be a valid zip code
  • \r\n\t\t\t\t\t\t\t
  • Must be a valid zip code
  • \r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t\t
\r\n\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t\t\t
Required
\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t\t\t\r\n\t\t
\r\n\t
\r\n\r\n\t\r\n\t\t\r\n
\r\n\t\t\t
\r\n\t\t\t\t

Entered Address:

\r\n\t\t\t
\r\n\t\t\t
    \r\n\t\t\t\t
  • \r\n\t\t\t\t\t
    Address Line 1
    \r\n\t\t\t\t\t
    {{ enteredAddress.line1 }}
    \r\n\t\t\t\t
  • \r\n\t\t\t\t
  • \r\n\t\t\t\t\t
    Address Line 2
    \r\n\t\t\t\t\t
    {{ enteredAddress.line2 }}
    \r\n\t\t\t\t
  • \r\n\t\t\t\t
  • \r\n\t\t\t\t\t
    City, State Zip
    \r\n\t\t\t\t\t
    {{ enteredAddress.city }}, {{ enteredAddress.state }} {{ enteredAddress.zip }}
    \r\n\t\t\t\t
  • \r\n\t\t\t
\r\n
\r\n\t\t
\r\n \r\n
\r\n
\r\n

Suggested Address:

\r\n
\r\n
    \r\n
  • \r\n
    Address Line 1
    \r\n
    {{ suggestedAddress.line1 }}
    \r\n
  • \r\n
  • \r\n
    Address Line 2
    \r\n
    {{ suggestedAddress.line2 }}
    \r\n
  • \r\n
  • \r\n
    City, State Zip
    \r\n
    {{ suggestedAddress.city }}, {{ suggestedAddress.state }} {{ suggestedAddress.zip }}
    \r\n
  • \r\n
\r\n
\r\n
\r\n\t\t\r\n\t\t\t
    \r\n\t\t\t\t
  • The United states Postal Service is unable to locate this address.
  • \r\n\t\t\t
\r\n\t\t
\r\n\t
\r\n
\r\n\r\n
\r\n\t
\r\n
\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\n\r\nimport { Observable } from 'rxjs';\r\nimport { ConfigurationService } from '../../../core/services/ConfigurationService';\r\nimport { ConfigurationState } from '../../../core/store/reducers';\r\nimport { switchMap } from 'rxjs/operators';\r\n\r\nimport { ProductGroup } from '../../preferences/models';\r\n\r\n@Injectable()\r\nexport class ProductGroupService {\r\n\tconstructor(private http: HttpClient, private configuration: ConfigurationService) { }\r\n\r\n\tloadProductGroups(): Observable {\r\n\t\treturn this.configuration.config$.pipe(\r\n\t\t\tswitchMap((c: ConfigurationState) => {\r\n\t\t\t\treturn this.http.get(`${c.config.apiServer}api/productgroups`);\r\n\t\t\t})\r\n\t\t);\r\n\t}\r\n}\r\n","import { Component, OnInit, OnDestroy, ElementRef, AfterViewInit, ViewChild, ChangeDetectorRef, Input } from '@angular/core';\r\nimport { FormBuilder, FormControl, FormGroup } from '@angular/forms';\r\n\r\nimport { Observable } from 'rxjs';\r\nimport { takeWhile, tap } from 'rxjs/operators';\r\n\r\nimport { select, Store } from '@ngrx/store';\r\nimport * as fromDistrictModels from '../../districts/models';\r\n\r\nimport { TeacherDetails } from '../models';\r\nimport * as fromStore from '../store';\r\ndeclare var $: any;\r\ndeclare var Foundation: any;\r\n\r\n@Component({\r\n selector: 'opus-teacher-district-editor',\r\n templateUrl: './teacher-district-editor.component.html',\r\n})\r\nexport class TeacherDistrictEditorComponent implements OnInit, OnDestroy, AfterViewInit {\r\n @Input() teacher: TeacherDetails;\r\n\r\n @ViewChild('districtDropdown', {static: true})\r\n districtDropdown: ElementRef;\r\n\r\n alive = true;\r\n\r\n districtFoundationDropdown: any;\r\n\r\n panelState$: Observable;\r\n panelState: fromStore.PanelState;\r\n\r\n lookupDistrictId: number;\r\n districtLookup$: Observable;\r\n districtLookup: fromStore.DistrictLookupState;\r\n lookupDistrictName: string;\r\n districtByNameLookup$: Observable;\r\n districtByNameLookup: fromStore.DistrictByNameLookupState;\r\n\r\n editor: FormGroup;\r\n\r\n displayedLookup = false;\r\n\r\n constructor(private store: Store, private fb: FormBuilder, private ref: ChangeDetectorRef) {\r\n console.log('TeacherDistrictEditorComponent()...');\r\n }\r\n\r\n ngOnInit() {\r\n console.log('TeacherDistrictEditorComponent.ngOnInit()...');\r\n this.displayedLookup = false;\r\n\r\n this.createForm();\r\n\r\n this.panelState$ = this.store.pipe(select(fromStore.getDetailsStateDistrictPanel));\r\n this.panelState$.pipe(\r\n takeWhile(() => this.alive),\r\n tap(s => {\r\n if (!s.editing && this.panelState && this.panelState.editing) {\r\n this.resetForm();\r\n }\r\n }),\r\n ).subscribe(s => this.panelState = s);\r\n\r\n this.districtLookup$ = this.store.pipe(select(fromStore.getDetailsStateDistrictLookup));\r\n this.districtLookup$.pipe(\r\n takeWhile(() => this.alive)\r\n ).subscribe(districtLookup => {\r\n this.districtLookup = districtLookup;\r\n\r\n if (districtLookup && districtLookup.pending && districtLookup.districtId == this.lookupDistrictId) {\r\n this.editor.controls.districtName.disable();\r\n }\r\n else {\r\n this.editor.controls.districtName.enable();\r\n }\r\n\r\n if (districtLookup && districtLookup.district && this.displayedLookup) {\r\n this.editor.controls['districtName'].patchValue(districtLookup.district.longName);\r\n }\r\n\r\n this.ref.detectChanges();\r\n });\r\n\r\n this.districtByNameLookup$ = this.store.pipe(select(fromStore.getDetailsStateDistrictByNameLookup));\r\n this.districtByNameLookup$.pipe(\r\n takeWhile(() => this.alive)\r\n ).subscribe(districtByNameLookup => {\r\n this.districtByNameLookup = districtByNameLookup;\r\n\r\n if (districtByNameLookup && districtByNameLookup.districts && districtByNameLookup.name == this.lookupDistrictName) {\r\n //Trigger the drop down\r\n if (!this.districtFoundationDropdown) {\r\n this.districtFoundationDropdown = new Foundation.Dropdown($(this.districtDropdown.nativeElement).first());\r\n }\r\n\r\n const native = $(this.districtDropdown.nativeElement).first();\r\n if (!native.hasClass('is-open'))\r\n native.foundation('open');\r\n this.ref.detectChanges();\r\n }\r\n });\r\n }\r\n\r\n get canSave(): boolean {\r\n return this.editor.valid && this.editor.dirty && !this.panelState.updating;\r\n }\r\n\r\n ngAfterViewInit() {\r\n console.log(this.districtDropdown.nativeElement);\r\n }\r\n\r\n ngOnDestroy() {\r\n console.log('EventInfoEditorComponent.ngOnDestroy()...');\r\n this.alive = false;\r\n }\r\n\r\n createForm() {\r\n this.editor = new FormGroup({\r\n districtId: new FormControl(this.teacher.districtId),\r\n districtName: new FormControl(this.teacher.districtName),\r\n });\r\n }\r\n\r\n lookupDistrict() {\r\n this.lookupDistrictId = Number(this.editor.value.districtId);\r\n\r\n this.displayedLookup = true;\r\n //Dispatch an action called EventDistrictSearchById\r\n this.store.dispatch(new fromStore.DistrictLookupById({ panel: fromStore.PanelId.District, districtId: this.lookupDistrictId }));\r\n }\r\n\r\n lookupDistrictByName($event: any) {\r\n $event.stopPropagation();\r\n $event.preventDefault();\r\n\r\n this.lookupDistrictName = this.editor.value.districtName;\r\n\r\n if (this.lookupDistrictName && this.lookupDistrictName.length > 3) {\r\n this.displayedLookup = true;\r\n\r\n //Dispatch an action called EventDistrictSearchById\r\n this.store.dispatch(new fromStore.DistrictLookupByName({ panel: fromStore.PanelId.District, name: this.lookupDistrictName }));\r\n }\r\n }\r\n\r\n selectDistrict(district: fromDistrictModels.DistrictLookup) {\r\n if (district) {\r\n this.editor.controls['districtName'].patchValue(district.longName);\r\n this.editor.controls['districtId'].patchValue(district.id);\r\n }\r\n }\r\n\r\n resetForm() {\r\n this.editor.reset({\r\n districtId: this.teacher.districtId,\r\n districtName: this.teacher.districtName\r\n });\r\n }\r\n\r\n onSubmit() {\r\n console.log('onSubmit: ', this.editor.status);\r\n\r\n const districtId = this.editor.value.districtId;\r\n const districtName = this.editor.value.districtName;\r\n\r\n const teacher = {\r\n ...this.teacher,\r\n districtId,\r\n districtName\r\n };\r\n\r\n this.store.dispatch(new fromStore.UpdateTeacherPanel({ panel: fromStore.PanelId.District, teacher }));\r\n }\r\n}\r\n","\r\n
\r\n
\r\n
    \r\n
  • \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
  • \r\n
  • \r\n \r\n
    \r\n \r\n \r\n \r\n
      \r\n
    • \r\n \r\n
    • \r\n
    \r\n
    \r\n
  • \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n","export * from './school-details.selectors';\r\nexport * from './school-searchresults.selectors';\r\n","import { Action } from '@ngrx/store';\r\n\r\nimport { RolePolicy } from '../../models';\r\n\r\nexport enum SecurityActionTypes {\r\n SetUserData = '[Security] Set User Data',\r\n CheckUserDataLoaded = '[Security] Check User Data Loaded',\r\n UserDataLoaded = '[Security] User Data Loaded',\r\n LoadRolePolicies = '[Security] Load Role Policy',\r\n LoadRolePoliciesSuccess = '[Security] Load Role Policy Success',\r\n LoadRolePoliciesFailure = '[Security] Load Role Policy Failure'\r\n}\r\n\r\nexport class SetUserData implements Action {\r\n readonly type = SecurityActionTypes.SetUserData;\r\n constructor(public payload: any) { }\r\n}\r\n\r\nexport class LoadRolePolicies implements Action {\r\n readonly type = SecurityActionTypes.LoadRolePolicies;\r\n constructor(public payload: any) { }\r\n}\r\n\r\nexport class LoadRolePoliciesSuccess implements Action {\r\n readonly type = SecurityActionTypes.LoadRolePoliciesSuccess;\r\n constructor(public payload: { rolePolicies: RolePolicy[] }) { }\r\n}\r\n\r\nexport class LoadRolePoliciesFailure implements Action {\r\n readonly type = SecurityActionTypes.LoadRolePoliciesFailure;\r\n constructor(public payload: any) { }\r\n}\r\n\r\nexport type SecurityActions =\r\n | SetUserData\r\n | LoadRolePolicies\r\n | LoadRolePoliciesSuccess\r\n | LoadRolePoliciesFailure;\r\n","import { LocationsEffects } from './locations.effects';\r\nimport { TaxonomyEffects } from './taxonomy.effects';\r\nimport { HistoryEffects } from './history.effects';\r\n\r\nexport const effects: any[] = [\r\n\tLocationsEffects,\r\n\tTaxonomyEffects,\r\n\tHistoryEffects,\r\n];\r\n\r\nexport * from './locations.effects';\r\nexport * from './taxonomy.effects';\r\nexport * from './history.effects';\r\n","import * as fromProgramCreate from '../actions/program-create.actions';\r\nimport { SchoolLookup } from '../../../schools/models';\r\n\r\nexport interface SchoolLookupState {\r\n\tid: number;\r\n\tpending: boolean;\r\n\terrors: any;\r\n\tschool: SchoolLookup;\r\n}\r\n\r\nexport interface SchoolByNameLookupState {\r\n\tname: string;\r\n\tpending: boolean;\r\n\terrors: any;\r\n\tschools: SchoolLookup[];\r\n}\r\n\r\nexport interface ProgramCreateState {\r\n\tcreating: boolean;\r\n\tcreated: boolean;\r\n\terrors: any;\r\n\tschoolLookup: SchoolLookupState;\r\n\tschoolByNameLookup: SchoolByNameLookupState;\r\n}\r\n\r\nexport const initialSchoolLookupState: SchoolLookupState = {\r\n\tid: null,\r\n\tpending: false,\r\n\terrors: null,\r\n\tschool: null,\r\n};\r\n\r\nexport const initialSchoolByNameLookupState: SchoolByNameLookupState = {\r\n\tname: null,\r\n\tpending: false,\r\n\terrors: null,\r\n\tschools: null,\r\n};\r\n\r\nexport const initialCreateState: ProgramCreateState = {\r\n\tcreating: false,\r\n\tcreated: false,\r\n\terrors: null,\r\n\tschoolLookup: initialSchoolLookupState,\r\n\tschoolByNameLookup: initialSchoolByNameLookupState,\r\n};\r\n\r\nexport function reducer(state = initialCreateState, action: fromProgramCreate.ProgramCreateActions): ProgramCreateState {\r\n\tswitch (action.type) {\r\n\t\tcase fromProgramCreate.ProgramCreateActionTypes.CreateProgram: {\r\n\t\t\tconsole.log('reducer:', action);\r\n\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tcreated: false,\r\n\t\t\t\tcreating: true,\r\n\t\t\t\terrors: null,\r\n\t\t\t};\r\n\t\t}\r\n\r\n\t\tcase fromProgramCreate.ProgramCreateActionTypes.CreateProgramSuccess: {\r\n\t\t\tconsole.log('reducer:', action);\r\n\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tcreated: true,\r\n\t\t\t\tcreating: false,\r\n\t\t\t\terrors: null,\r\n\t\t\t};\r\n\t\t}\r\n\r\n\t\tcase fromProgramCreate.ProgramCreateActionTypes.CreateProgramFailure: {\r\n\t\t\tconsole.log('reducer:', action);\r\n\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tcreated: false,\r\n\t\t\t\tcreating: false,\r\n\t\t\t\terrors: action.payload,\r\n\t\t\t};\r\n\t\t}\r\n\r\n\t\tcase fromProgramCreate.ProgramCreateActionTypes.SchoolLookupById: {\r\n\t\t\tconst { id } = action.payload;\r\n\t\t\tconst schoolLookup: SchoolLookupState = {\r\n\t\t\t\t...state.schoolLookup,\r\n\t\t\t\tid,\r\n\t\t\t\tpending: true,\r\n\t\t\t\terrors: null,\r\n\t\t\t\tschool: null,\r\n\t\t\t};\r\n\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tschoolLookup,\r\n\t\t\t};\r\n\t\t}\r\n\r\n\t\tcase fromProgramCreate.ProgramCreateActionTypes.SchoolLookupByIdSuccess: {\r\n\t\t\tconst { school } = action.payload;\r\n\t\t\tconst schoolLookup: SchoolLookupState = {\r\n\t\t\t\t...state.schoolLookup,\r\n\t\t\t\tpending: false,\r\n\t\t\t\tschool,\r\n\t\t\t};\r\n\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tschoolLookup,\r\n\t\t\t};\r\n\t\t}\r\n\r\n\t\tcase fromProgramCreate.ProgramCreateActionTypes.SchoolLookupByIdFailure: {\r\n\t\t\tconst { errors } = action.payload;\r\n\t\t\tconst schoolLookup: SchoolLookupState = {\r\n\t\t\t\t...state.schoolLookup,\r\n\t\t\t\tpending: false,\r\n\t\t\t\terrors,\r\n\t\t\t\tschool: null,\r\n\t\t\t};\r\n\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tschoolLookup,\r\n\t\t\t};\r\n\t\t}\r\n\r\n\t\tcase fromProgramCreate.ProgramCreateActionTypes.SchoolLookupByName: {\r\n\t\t\tconst { name } = action.payload;\r\n\t\t\tconst schoolByNameLookup: SchoolByNameLookupState = {\r\n\t\t\t\tname,\r\n\t\t\t\tpending: true,\r\n\t\t\t\terrors: null,\r\n\t\t\t\tschools: null,\r\n\t\t\t};\r\n\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tschoolByNameLookup,\r\n\t\t\t};\r\n\t\t}\r\n\r\n\t\tcase fromProgramCreate.ProgramCreateActionTypes.SchoolLookupByNameFailure: {\r\n\t\t\tconst { errors } = action.payload;\r\n\t\t\tconst schoolByNameLookup: SchoolByNameLookupState = {\r\n\t\t\t\t...state.schoolByNameLookup,\r\n\t\t\t\tpending: false,\r\n\t\t\t\terrors,\r\n\t\t\t\tschools: null,\r\n\t\t\t};\r\n\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tschoolByNameLookup,\r\n\t\t\t};\r\n\t\t}\r\n\r\n\t\tcase fromProgramCreate.ProgramCreateActionTypes.SchoolLookupByNameSuccess: {\r\n\t\t\tconst { schools } = action.payload;\r\n\t\t\tconst schoolByNameLookup: SchoolByNameLookupState = {\r\n\t\t\t\t...state.schoolByNameLookup,\r\n\t\t\t\tpending: false,\r\n\t\t\t\tschools,\r\n\t\t\t\terrors: null,\r\n\t\t\t};\r\n\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tschoolByNameLookup,\r\n\t\t\t};\r\n\t\t}\r\n\t}\r\n\r\n\treturn state;\r\n}\r\n","export * from './actions';\r\nexport * from './effects';\r\nexport * from './reducers';\r\nexport * from './selectors';\r\n","import { Injectable, Injector } from '@angular/core';\r\nimport { HttpInterceptor, HttpHandler, HttpEvent, HttpRequest, HttpErrorResponse } from '@angular/common/http';\r\nimport { OidcSecurityService } from 'angular-auth-oidc-client';\r\nimport { Observable } from 'rxjs';\r\nimport { map } from 'rxjs/operators';\r\n\r\n@Injectable()\r\nexport class AuthInterceptor implements HttpInterceptor {\r\n private oidcSecurityService: OidcSecurityService;\r\n\r\n constructor(private injector: Injector) {\r\n }\r\n\r\n intercept(request: HttpRequest, next: HttpHandler): Observable> {\r\n if (this.oidcSecurityService === undefined) {\r\n this.oidcSecurityService = this.injector.get(OidcSecurityService);\r\n }\r\n if (this.oidcSecurityService !== undefined) {\r\n const token = this.oidcSecurityService.getToken();\r\n if (token !== '') {\r\n const tokenValue = 'Bearer ' + token;\r\n request = request.clone({ setHeaders: { 'Authorization': tokenValue } });\r\n }\r\n } else {\r\n console.debug('OidcSecurityService undefined: NO auth header!');\r\n }\r\n\r\n return next.handle(request).pipe(\r\n map((event: HttpEvent) => {\r\n if (event instanceof HttpErrorResponse) {\r\n if (event.status === 401) {\r\n this.oidcSecurityService.authorize();\r\n }\r\n }\r\n return event;\r\n })\r\n );\r\n }\r\n}\r\n","import { Component, OnInit, OnDestroy, ViewChild, AfterViewInit } from '@angular/core';\r\n\r\nimport { Observable, Subscription } from 'rxjs';\r\nimport { tap, map, filter, take, first } from 'rxjs/operators';\r\n\r\nimport { select, Store } from '@ngrx/store';\r\n\r\nimport { Event, EventPromo } from '../models';\r\nimport * as fromRoot from '../../../core/store';\r\nimport * as fromStore from '../store';\r\nimport { CopyEvent, LoadRelationshipManagers } from '../store';\r\nimport { EventCopyComponent } from '../components';\r\n\r\n@Component({\r\n selector: 'opus-event-page',\r\n templateUrl: './event-details.component.html'\r\n})\r\nexport class EventDetailsComponent implements OnInit, OnDestroy, AfterViewInit {\r\n @ViewChild(EventCopyComponent, {static: false}) eventCopy;\r\n eventDetails$: Observable;\r\n panels$: Observable<{ [id: string]: fromStore.PanelState }>;\r\n copyEventState$: Observable;\r\n relationshipManagerState$: Observable;\r\n showCopyModal = false;\r\n copying = false;\r\n\r\n private _event: Event;\r\n private _subscription: Subscription;\r\n\r\n constructor(private _store: Store) {\r\n console.log('EventDetailsComponent: constructor().');\r\n }\r\n\r\n get canEdit(): boolean {\r\n if (!this._event || !this._event.start) {\r\n return false;\r\n }\r\n\r\n const start = typeof this._event.start.getTime === 'function' ? this._event.start : new Date(Date.parse(this._event.start));\r\n const diff = Math.floor(new Date().getTime() - start.getTime());\r\n const msPerDay = 1000 * 60 * 60 * 24;\r\n const days = Math.floor(diff / msPerDay);\r\n\r\n //console.log('EventDetailsComponent.canEdit(): ', this._event.start, diff, days);\r\n\r\n return days <= 45;\r\n }\r\n\r\n get eventId(): number {\r\n return this._event.id;\r\n }\r\n\r\n get name(): string {\r\n return this._event.name;\r\n }\r\n\r\n get hostingSchoolName(): string {\r\n return this._event.hostingSchoolName;\r\n }\r\n\r\n get hostingSchoolId(): number {\r\n return this._event.hostingSchoolId;\r\n }\r\n\r\n ngOnInit() {\r\n console.log('EventDetailsComponent: ngOnInit().');\r\n\r\n //\t\tthis.districtInfoState$ = this._store.select(fromStore.getDetailsStateInfoState);\r\n //\t\tthis.relationshipManagerVM$ = this._store.select(fromStore.getDetailsStateRelMgrVM);\r\n this.eventDetails$ = this._store.pipe(select(fromStore.getDetailsStateEvent));\r\n\r\n this.panels$ = this._store.pipe(select(fromStore.getDetailsStatePanels));\r\n\r\n this._subscription = this.eventDetails$.subscribe(e => (this._event = e)); //\tTODO: unsubscribe\r\n this._store.dispatch(new LoadRelationshipManagers({ id: this.eventId }));\r\n\r\n this.relationshipManagerState$ = this._store.pipe(select(fromStore.getDetailsRelationshipManagerState));\r\n }\r\n\r\n ngOnDestroy() {\r\n this._subscription.unsubscribe();\r\n }\r\n\r\n ngAfterViewInit() {\r\n console.log('EventDetailsComponent.ngAfterViewInit()...');\r\n }\r\n\r\n onToggleEditor(key: string, open: boolean) {\r\n this._store.dispatch(new fromStore.UpdateEditorState({ key, open }));\r\n }\r\n\r\n onToggleEventPromoEditor(key: string, open: boolean) {\r\n //Check the store for the approvedPromos\r\n //If it does not exist,\r\n //Trigger new action to retrieve Approved promos\r\n //When it's populated then dispatch the action to Update the EditorState\r\n this.checkStoreForApprovedPromotions().subscribe(x => {\r\n this._store.dispatch(new fromStore.UpdateEditorState({ key, open }));\r\n });\r\n }\r\n\r\n checkStoreForApprovedPromotions(): Observable {\r\n //\tstart with the district details state...\r\n return this._store.select(fromStore.getEventsDetailsState).pipe(\r\n //\tif there aren't approvedPromos dispatch an action to load the approvedPromos\r\n tap(state => {\r\n if (state.approvedPromos === null && !state.loading && state.errors === null) {\r\n this._store.dispatch(new fromStore.LoadApprovedPromos({}));\r\n }\r\n }),\r\n //\twait for it to be in the loaded state and approved promos to be returned or an error.\r\n filter(state => (state.loaded && state.approvedPromos !== null) || state.errors !== null),\r\n //\tmap it to a boolean observable\r\n map(state => state.approvedPromos),\r\n //\tget the first result & complete\r\n take(1)\r\n );\r\n }\r\n\r\n onCopyEvent() {\r\n this.showCopyModal = true;\r\n }\r\n\r\n onCopyModalAction(accept) {\r\n console.log('onCopyModalAction(): ', accept);\r\n\r\n if (accept) {\r\n //\tget the event name from the modal\r\n console.log('EventDetailsComponent.onCopyModalAction(): ', this.eventCopy.name, this.eventCopy.date);\r\n\r\n if (this.eventCopy.name != null && this.eventCopy.date != null) {\r\n this.copyEvent(this.eventCopy.name, this.eventCopy.date);\r\n }\r\n\r\n return;\r\n }\r\n\r\n //this.copying = false;\r\n this.showCopyModal = false;\r\n }\r\n\r\n copyEvent(name: string, date: Date) {\r\n this.copying = true;\r\n //Dispatch an action to copy the event\r\n this._store.dispatch(new CopyEvent({ id: this.eventId, name, date }));\r\n\r\n //listen on the selector for the result\r\n this.copyEventState$ = this._store.pipe(select(fromStore.getDetailsStateCopyEventState));\r\n\r\n this.copyEventState$\r\n .pipe(\r\n filter(es => {\r\n return es && (es.loaded || es.errors);\r\n }),\r\n map(es => {\r\n this.copying = false;\r\n\r\n if (es.errors) {\r\n return;\r\n }\r\n\r\n this.showCopyModal = false;\r\n this._store.dispatch(\r\n new fromRoot.Go({\r\n path: [`events/${es.event.id}`]\r\n })\r\n );\r\n }),\r\n first()\r\n )\r\n .subscribe();\r\n }\r\n}\r\n","
\r\n\t\r\n\t
\r\n\t\t
\r\n\t\t\t

Event Detail

\r\n\t\t\t

{{ name }}

\r\n\t\t\t

{{hostingSchoolName}}

\r\n\t\t\t
\r\n\t\t\t\t
Event ID
\r\n\t\t\t\t
{{ eventId }}
\r\n\t\t\t
\r\n\t\t\t\r\n\t\t
\r\n\t\t
\r\n\t\t\t\r\n\t\t
\r\n\t
\r\n\r\n\t
\r\n\t\t
\r\n\t
\r\n\r\n\t
\r\n\t\t
\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t \r\n\t\t\t\r\n\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t
\r\n\t\t
\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t
\r\n\t
\r\n\t\r\n\t\t\r\n\t\t\r\n\t\r\n
\r\n\r\n\r\n\t\r\n\r\n","import * as fromEventDetails from '../actions/details.actions';\r\nimport * as fromModels from '../../models';\r\nimport * as fromSchoolModels from '../../../schools/models';\r\nimport { TeacherLookupCriteria } from '../../../teachers/models';\r\n\r\nexport enum PanelId {\r\n EventInfo = 'event-info',\r\n EventHost = 'event-host',\r\n EventDateTime = 'event-date-time',\r\n EventLocation = 'event-location',\r\n EventStaffing = 'event-staffing',\r\n EventMeetingDetails = 'event-meeting-details',\r\n EventSchoolsAttending = 'event-schools-attending',\r\n EventPromo = 'event-promo'\r\n //RelMgr = 'relmgr',\r\n //Contacts = 'contacts',\r\n //Calendar = 'calendar',\r\n //AddlDetails = 'addl-details',\r\n}\r\n\r\nexport interface ValidationStatus {\r\n [id: string]: {\r\n pending: boolean;\r\n errors: { [key: string]: any };\r\n };\r\n}\r\n\r\nexport interface PanelState {\r\n editing: boolean;\r\n updating: boolean;\r\n validationStatus: ValidationStatus;\r\n errors: any;\t//\tTODO: formalize error handling\r\n}\r\n\r\nexport interface AddressPanelState extends PanelState {\r\n verifying: boolean;\r\n verifiedAddress: fromModels.Address;\r\n suggestedAddresses: fromModels.Address[];\r\n}\r\n\r\nexport interface SchoolLookupState {\r\n schoolId: number;\r\n pending: boolean;\r\n errors: any;\r\n school: fromSchoolModels.SchoolLookup;\r\n}\r\n\r\nexport interface SchoolByNameLookupState {\r\n name: string;\r\n pending: boolean;\r\n errors: any;\r\n schools: fromSchoolModels.SchoolLookup[];\r\n}\r\n\r\nexport interface TeacherLookupState {\r\n teacherId: number;\r\n pending: boolean;\r\n errors: any;\r\n teacher: fromSchoolModels.TeacherLookup;\r\n}\r\n\r\nexport interface TeacherByCriteriaLookupState {\r\n criteria: TeacherLookupCriteria;\r\n pending: boolean;\r\n errors: any;\r\n teachers: fromSchoolModels.TeacherLookup[];\r\n}\r\n\r\nexport interface EventHostPanelState extends PanelState {\r\n teacherLookup: TeacherLookupState;\r\n teacherByCriteriaLookup: TeacherByCriteriaLookupState;\r\n verifying: boolean;\r\n}\r\n\r\nexport interface RelationshipManagerState {\r\n id: number;\r\n loading: boolean;\r\n loaded: boolean;\r\n relationshipManagerEmails: string[];\r\n errors: any;\r\n}\r\n\r\nexport interface DetailsState {\r\n approvedPromos: fromModels.EventPromo[];\r\n loading: boolean;\r\n loaded: boolean;\r\n creating: boolean;\r\n createdId: number;\r\n event: fromModels.Event;\r\n errors: any;\t//\tTODO: formalize error handling\r\n //districtInfoState: DistrictInfoState;\r\n schoolLookup: SchoolLookupState;\r\n schoolByNameLookup: SchoolByNameLookupState;\r\n teacherLookup: TeacherLookupState;\r\n panels: { [id: string]: PanelState };\r\n copyEventState: CopyEventState;\r\n relationshipManagerState: RelationshipManagerState;\r\n qrCodeDownloadFileState: QrCodeFiledownloadState;\r\n}\r\n\r\nexport interface CopyEventState {\r\n loading: boolean;\r\n loaded: boolean;\r\n event: fromModels.Event;\r\n errors: any;\r\n}\r\n\r\nexport const initialPanelState: PanelState = {\r\n editing: false,\r\n validationStatus: {},\r\n updating: false,\r\n errors: null,\r\n};\r\n\r\nexport const initialAddressPanelState: AddressPanelState = {\r\n ...initialPanelState,\r\n verifying: false,\r\n verifiedAddress: null,\r\n suggestedAddresses: null,\r\n};\r\n\r\nexport const initialSchoolLookupState: SchoolLookupState = {\r\n schoolId: null,\r\n pending: false,\r\n school: null,\r\n errors: null,\r\n};\r\n\r\nexport const initialSchoolByNameLookupState: SchoolByNameLookupState = {\r\n name: null,\r\n pending: false,\r\n errors: null,\r\n schools: null\r\n};\r\n\r\nexport const initialTeacherLookupState: TeacherLookupState = {\r\n teacherId: null,\r\n pending: false,\r\n teacher: null,\r\n errors: null,\r\n};\r\n\r\nexport const initialTeacherByCriteriaLookupState: TeacherByCriteriaLookupState = {\r\n criteria: { name: null },\r\n pending: false,\r\n errors: null,\r\n teachers: null\r\n};\r\n\r\nexport const initialEventHostPanelState: EventHostPanelState = {\r\n ...initialPanelState,\r\n //schoolLookup: initialSchoolLookupState,\r\n //schoolByNameLookup: initialSchoolByNameLookupState,\r\n teacherLookup: initialTeacherLookupState,\r\n teacherByCriteriaLookup: initialTeacherByCriteriaLookupState,\r\n verifying: false,\r\n};\r\n\r\nexport const initialRelationshipManagerState: RelationshipManagerState = {\r\n id: null,\r\n errors: null,\r\n loaded: false,\r\n loading: false,\r\n relationshipManagerEmails: null\r\n};\r\n\r\nexport interface QrCodeFiledownloadState {\r\n id: number;\r\n loading: boolean;\r\n loaded: boolean;\r\n errors: any;\r\n}\r\n\r\nexport const initialState: DetailsState = {\r\n approvedPromos: null,\r\n loading: false,\r\n loaded: false,\r\n creating: false,\r\n createdId: null,\r\n event: null,\r\n errors: null,\r\n schoolLookup: initialSchoolLookupState,\r\n schoolByNameLookup: initialSchoolByNameLookupState,\r\n teacherLookup: initialTeacherLookupState,\r\n copyEventState: {\r\n loaded: false,\r\n loading: false,\r\n event: null,\r\n errors: null\r\n },\r\n relationshipManagerState: initialRelationshipManagerState,\r\n panels: {\r\n [PanelId.EventInfo]: { ...initialPanelState },\r\n [PanelId.EventDateTime]: { ...initialPanelState },\r\n [PanelId.EventLocation]: { ...initialAddressPanelState } as AddressPanelState,\r\n [PanelId.EventHost]: { ...initialEventHostPanelState } as PanelState,\r\n [PanelId.EventStaffing]: { ...initialPanelState },\r\n [PanelId.EventMeetingDetails]: { ...initialPanelState },\r\n [PanelId.EventSchoolsAttending]: { ...initialPanelState },\r\n [PanelId.EventPromo]: { ...initialPanelState },\r\n },\r\n qrCodeDownloadFileState: {\r\n id: null,\r\n loading: false,\r\n loaded: false,\r\n errors: null,\r\n },\r\n};\r\n\r\nexport function reducer(state = initialState, action: fromEventDetails.EventActions): DetailsState {\r\n switch (action.type) {\r\n case fromEventDetails.EventActionTypes.CreateEvent: {\r\n return {\r\n ...state,\r\n creating: true,\r\n createdId: null,\r\n };\r\n }\r\n\r\n case fromEventDetails.EventActionTypes.CreateEventSuccess: {\r\n return {\r\n ...state,\r\n creating: false,\r\n createdId: action.payload.id,\r\n };\r\n }\r\n\r\n case fromEventDetails.EventActionTypes.CreateEventFailure: {\r\n return {\r\n ...state,\r\n creating: false,\r\n createdId: null,\r\n errors: action.payload.errors,\r\n };\r\n }\r\n\r\n case fromEventDetails.EventActionTypes.LoadEvent: {\r\n return {\r\n ...state,\r\n loading: true,\r\n };\r\n }\r\n\r\n case fromEventDetails.EventActionTypes.LoadEventSuccess: {\r\n const event = action.payload;\r\n\r\n return {\r\n ...updateDetailsState(state, event),\r\n loaded: true,\r\n loading: false,\r\n };\r\n }\r\n\r\n case fromEventDetails.EventActionTypes.LoadEventFailure: {\r\n console.log('reducer:', action);\r\n\r\n return {\r\n ...state,\r\n loaded: false,\r\n loading: false,\r\n errors: action.payload,\r\n };\r\n }\r\n\r\n case fromEventDetails.EventActionTypes.CopyEvent: {\r\n return {\r\n ...state,\r\n copyEventState: {\r\n ...state.copyEventState,\r\n loading: true,\r\n loaded: false,\r\n errors: null,\r\n }\r\n };\r\n }\r\n\r\n case fromEventDetails.EventActionTypes.CopyEventSuccess: {\r\n const event = action.payload;\r\n\r\n return {\r\n ...state,\r\n copyEventState: {\r\n ...state.copyEventState,\r\n loaded: true,\r\n loading: false,\r\n event: event.event\r\n }\r\n };\r\n }\r\n\r\n case fromEventDetails.EventActionTypes.CopyEventFailure: {\r\n return {\r\n ...state,\r\n copyEventState: {\r\n ...state.copyEventState,\r\n loaded: false,\r\n loading: false,\r\n errors: action.payload,\r\n }\r\n };\r\n }\r\n\r\n case fromEventDetails.EventActionTypes.LoadApprovedPromos: {\r\n return {\r\n ...state,\r\n loading: true,\r\n };\r\n }\r\n\r\n case fromEventDetails.EventActionTypes.LoadApprovedPromosSuccess: {\r\n const approvedPromos = action.payload;\r\n\r\n return {\r\n ...state,\r\n approvedPromos: approvedPromos,\r\n loaded: true,\r\n loading: false,\r\n };\r\n }\r\n\r\n case fromEventDetails.EventActionTypes.LoadApprovedPromosFailure: {\r\n console.log('reducer:', action);\r\n\r\n return {\r\n ...state,\r\n loaded: false,\r\n loading: false,\r\n approvedPromos: null,\r\n errors: action.payload,\r\n };\r\n }\r\n\r\n case fromEventDetails.EventActionTypes.UpdateEditorState: {\r\n const key = action.payload.key;\r\n const open = action.payload.open;\r\n\r\n //\tTODO: convert district info & do away with this switch\r\n switch (key) {\r\n default: {\r\n const panel = { ...state.panels[key], editing: open, validationStatus: {} };\r\n const panels = {\r\n ...state.panels,\r\n [key]: panel,\r\n };\r\n\r\n return {\r\n ...state,\r\n panels,\r\n };\r\n }\r\n }\r\n }\r\n\r\n case fromEventDetails.EventActionTypes.UpdateEventPanel: {\r\n const panel = {\r\n ...state.panels[action.payload.panel],\r\n updating: true,\r\n };\r\n\r\n return {\r\n ...state,\r\n panels: {\r\n ...state.panels,\r\n [action.payload.panel]: panel,\r\n },\r\n };\r\n }\r\n\r\n case fromEventDetails.EventActionTypes.UpdateEventPanelFailure: {\r\n const panel = {\r\n ...state.panels[action.payload.panel],\r\n updating: false,\r\n errors: action.payload.errors,\r\n };\r\n\r\n return {\r\n ...state,\r\n panels: {\r\n ...state.panels,\r\n [action.payload.panel]: panel,\r\n },\r\n };\r\n }\r\n\r\n case fromEventDetails.EventActionTypes.UpdateEventPanelSuccess: {\r\n const event = action.payload.event;\r\n\r\n return {\r\n ...state,\r\n event,\r\n panels: {\r\n ...state.panels,\r\n [action.payload.panel]: initialPanelState,\r\n },\r\n };\r\n }\r\n\r\n case fromEventDetails.EventActionTypes.SchoolLookupById: {\r\n const { schoolId } = action.payload;\r\n const schoolLookup: SchoolLookupState = {\r\n schoolId,\r\n pending: true,\r\n errors: null,\r\n school: null,\r\n };\r\n\r\n return {\r\n ...state,\r\n schoolLookup\r\n };\r\n }\r\n\r\n case fromEventDetails.EventActionTypes.SchoolLookupByIdFailure: {\r\n const { errors } = action.payload;\r\n const schoolLookup: SchoolLookupState = {\r\n ...state.schoolLookup,\r\n pending: false,\r\n errors,\r\n school: null,\r\n };\r\n\r\n return {\r\n ...state,\r\n schoolLookup,\r\n };\r\n }\r\n\r\n case fromEventDetails.EventActionTypes.SchoolLookupByIdSuccess: {\r\n const { school } = action.payload;\r\n const schoolLookup: SchoolLookupState = {\r\n ...state.schoolLookup,\r\n pending: false,\r\n school,\r\n };\r\n\r\n return {\r\n ...state,\r\n schoolLookup,\r\n };\r\n }\r\n\r\n case fromEventDetails.EventActionTypes.SchoolLookupByName: {\r\n const { name } = action.payload;\r\n const schoolByNameLookup: SchoolByNameLookupState = {\r\n name,\r\n pending: true,\r\n errors: null,\r\n schools: null,\r\n };\r\n\r\n return {\r\n ...state,\r\n schoolByNameLookup,\r\n };\r\n }\r\n\r\n case fromEventDetails.EventActionTypes.SchoolLookupByNameFailure: {\r\n const { errors, panel } = action.payload;\r\n const schoolByNameLookup: SchoolByNameLookupState = {\r\n ...state.schoolByNameLookup,\r\n pending: false,\r\n errors,\r\n schools: null,\r\n };\r\n\r\n return {\r\n ...state,\r\n schoolByNameLookup,\r\n };\r\n }\r\n\r\n case fromEventDetails.EventActionTypes.SchoolLookupByNameSuccess: {\r\n const { panel, schools } = action.payload;\r\n const schoolByNameLookup: SchoolByNameLookupState = {\r\n ...state.schoolByNameLookup,\r\n pending: false,\r\n schools,\r\n };\r\n\r\n return {\r\n ...state,\r\n schoolByNameLookup,\r\n };\r\n }\r\n //Teacher\r\n case fromEventDetails.EventActionTypes.TeacherLookupById: {\r\n const { teacherId, panel } = action.payload;\r\n const teacherLookup: TeacherLookupState = {\r\n ...(state.panels[panel] as EventHostPanelState).teacherLookup,\r\n teacherId,\r\n pending: true,\r\n errors: null,\r\n teacher: null,\r\n };\r\n\r\n return {\r\n ...state,\r\n panels: {\r\n ...state.panels,\r\n [panel]: {\r\n ...state.panels[panel],\r\n teacherLookup,\r\n } as EventHostPanelState,\r\n },\r\n };\r\n }\r\n\r\n case fromEventDetails.EventActionTypes.TeacherLookupByIdFailure: {\r\n const { errors, panel } = action.payload;\r\n const teacherLookup: TeacherLookupState = {\r\n ...state.teacherLookup,\r\n pending: false,\r\n errors,\r\n teacher: null,\r\n };\r\n\r\n return {\r\n ...state,\r\n panels: {\r\n ...state.panels,\r\n [panel]: {\r\n ...state.panels[panel],\r\n teacherLookup,\r\n } as EventHostPanelState,\r\n },\r\n };\r\n }\r\n\r\n case fromEventDetails.EventActionTypes.TeacherLookupByIdSuccess: {\r\n const { panel, teacher } = action.payload;\r\n const teacherLookup: TeacherLookupState = {\r\n ...(state.panels[panel] as EventHostPanelState).teacherLookup,\r\n pending: false,\r\n teacher,\r\n };\r\n\r\n return {\r\n ...state,\r\n panels: {\r\n ...state.panels,\r\n [panel]: {\r\n ...state.panels[panel],\r\n teacherLookup,\r\n } as EventHostPanelState,\r\n },\r\n };\r\n }\r\n\r\n case fromEventDetails.EventActionTypes.TeacherLookupByCriteria: {\r\n const { criteria, panel } = action.payload;\r\n const teacherByCriteriaLookup: TeacherByCriteriaLookupState = {\r\n ...(state.panels[panel] as EventHostPanelState).teacherByCriteriaLookup,\r\n criteria,\r\n pending: true,\r\n errors: null,\r\n teachers: null,\r\n };\r\n\r\n return {\r\n ...state,\r\n panels: {\r\n ...state.panels,\r\n [panel]: {\r\n ...state.panels[panel],\r\n teacherByCriteriaLookup: teacherByCriteriaLookup,\r\n } as EventHostPanelState,\r\n },\r\n };\r\n }\r\n\r\n case fromEventDetails.EventActionTypes.TeacherLookupByCriteriaFailure: {\r\n const { errors, panel } = action.payload;\r\n const teacherByCriteriaLookup: TeacherByCriteriaLookupState = {\r\n ...(state.panels[panel] as EventHostPanelState).teacherByCriteriaLookup,\r\n pending: false,\r\n errors,\r\n teachers: null,\r\n };\r\n\r\n return {\r\n ...state,\r\n panels: {\r\n ...state.panels,\r\n [panel]: {\r\n ...state.panels[panel],\r\n teacherByCriteriaLookup: teacherByCriteriaLookup,\r\n } as EventHostPanelState,\r\n },\r\n };\r\n }\r\n\r\n case fromEventDetails.EventActionTypes.TeacherLookupByCriteriaSuccess: {\r\n const { panel, teachers } = action.payload;\r\n const teacherByCriteriaLookup: TeacherByCriteriaLookupState = {\r\n ...(state.panels[panel] as EventHostPanelState).teacherByCriteriaLookup,\r\n pending: false,\r\n teachers,\r\n };\r\n\r\n return {\r\n ...state,\r\n panels: {\r\n ...state.panels,\r\n [panel]: {\r\n ...state.panels[panel],\r\n teacherByCriteriaLookup: teacherByCriteriaLookup,\r\n } as EventHostPanelState,\r\n },\r\n };\r\n }\r\n\r\n case fromEventDetails.EventActionTypes.EventVerifyAddress: {\r\n const { panel, address } = action.payload;\r\n\r\n return {\r\n ...state,\r\n panels: {\r\n ...state.panels,\r\n [panel]: {\r\n ...state.panels[panel],\r\n verifying: true,\r\n } as AddressPanelState,\r\n },\r\n };\r\n }\r\n\r\n case fromEventDetails.EventActionTypes.EventVerifyAddressSuccess: {\r\n const { panel, verification } = action.payload;\r\n\r\n return {\r\n ...state,\r\n panels: {\r\n ...state.panels,\r\n [panel]: {\r\n ...state.panels[panel],\r\n verifying: false,\r\n verifiedAddress: verification.verifiedAddress,\r\n suggestedAddresses: verification.picklist,\r\n } as AddressPanelState,\r\n },\r\n };\r\n }\r\n\r\n case fromEventDetails.EventActionTypes.EventVerifyAddressFailure: {\r\n const { panel, address, errors } = action.payload;\r\n\r\n return {\r\n ...state,\r\n panels: {\r\n ...state.panels,\r\n [panel]: {\r\n ...state.panels[panel],\r\n errors,\r\n verifying: false,\r\n verifiedAddress: address,\r\n suggestedAddresses: [],\r\n } as AddressPanelState,\r\n },\r\n };\r\n }\r\n\r\n case fromEventDetails.EventActionTypes.LoadRelationshipManagers: {\r\n return {\r\n ...state,\r\n relationshipManagerState: {\r\n ...state.relationshipManagerState,\r\n loading: true,\r\n loaded: false\r\n }\r\n };\r\n }\r\n\r\n case fromEventDetails.EventActionTypes.LoadRelationshipManagersSuccess: {\r\n const { id, relationshipManagerEmails } = action.payload;\r\n\r\n return {\r\n ...state,\r\n relationshipManagerState: {\r\n ...state.relationshipManagerState,\r\n id: id,\r\n loaded: true,\r\n loading: false,\r\n relationshipManagerEmails: relationshipManagerEmails\r\n }\r\n };\r\n }\r\n\r\n case fromEventDetails.EventActionTypes.LoadRelationshipManagersFailure: {\r\n return {\r\n ...state,\r\n relationshipManagerState: {\r\n ...state.relationshipManagerState,\r\n loaded: false,\r\n loading: false,\r\n errors: action.payload.errors,\r\n }\r\n };\r\n }\r\n\r\n case fromEventDetails.EventActionTypes.DownloadQrCodes: {\r\n return {\r\n ...state,\r\n qrCodeDownloadFileState: {\r\n ...state.qrCodeDownloadFileState,\r\n\r\n id: action.payload.id,\r\n loading: true,\r\n loaded: false,\r\n errors: null,\r\n },\r\n };\r\n }\r\n\r\n case fromEventDetails.EventActionTypes.DownloadQrCodesSuccess: {\r\n return {\r\n ...state,\r\n qrCodeDownloadFileState: {\r\n ...state.qrCodeDownloadFileState,\r\n\r\n loading: false,\r\n loaded: true,\r\n },\r\n };\r\n }\r\n\r\n case fromEventDetails.EventActionTypes.DownloadQrCodesFailure: {\r\n return {\r\n ...state,\r\n qrCodeDownloadFileState: {\r\n ...state.qrCodeDownloadFileState,\r\n\r\n loading: false,\r\n loaded: false,\r\n errors: action.payload.error,\r\n },\r\n };\r\n }\r\n\r\n }\r\n\r\n return state;\r\n}\r\n\r\nfunction updateDetailsState(state: DetailsState, event: fromModels.Event) {\r\n //\textract the district info properties\r\n //const { id, isActive, longName, shortName, isSupervisory, supervisoryDistrictId, supervisoryDistrictName } = district;\r\n //\tcreate a district info object from them\r\n //const districtInfo = { id, isActive, longName, shortName, isSupervisory, supervisoryDistrictId, supervisoryDistrictName };\r\n //const districtInfoState = {\r\n // editing: false,\r\n // updating: false,\r\n // errors: null,\r\n // districtInfo,\r\n //};\r\n\r\n //const { /*relationshipManagerId,*/ inheritRelationshipManager, relationshipManagerCode, relationshipManagerName, hasCommissions, /*inheritedManagerId, inheritedManagerCode, inheritedManagerName, inheritedHasCommissions,*/ inheritRelationshipType, relationshipType, /*inheritedRelationshipType*/ } = district;\r\n //const relationshipManager = { /*relationshipManagerId,*/ inheritRelationshipManager, relationshipManagerCode, relationshipManagerName, hasCommissions, /*inheritedManagerId, inheritedManagerCode, inheritedManagerName, inheritedHasCommissions,*/ inheritRelationshipType, relationshipType, /*inheritedRelationshipType*/ };\r\n\r\n return {\r\n ...state,\r\n event,\r\n //districtInfoState,\r\n };\r\n}\r\n\r\nexport const getDetailsStateDistrict = (state: DetailsState) => state.event;\r\nexport const getDetailsStateLoading = (state: DetailsState) => state.loading;\r\nexport const getDetailsStateLoaded = (state: DetailsState) => state.loaded;\r\nexport const getDetailsStateApprovedPromos = (state: DetailsState) => state.approvedPromos;\r\n//export const getDetailsStateErrors = (state: DetailsState) => state.errors;\r\n//export const getDetailsStateInfoState = (state: DetailsState) => state.districtInfoState;\r\nexport const getDetailsStatePanels = (state: DetailsState) => state.panels;\r\n//export const getDetailsStateContactsPanel = (state: PanelState) => state[PanelId.Contacts];\r\nexport const getDetailsStateSchoolLookup = (state: DetailsState) => state.schoolLookup;\r\nexport const getDetailsStateSchoolByNameLookup = (state: DetailsState) => state.schoolByNameLookup;\r\nexport const getDetailsStateTeacherLookup = (state: EventHostPanelState) => state.teacherLookup;\r\nexport const getDetailsStateTeacherByCriteriaLookup = (state: EventHostPanelState) => state.teacherByCriteriaLookup;\r\nexport const getDetailsStateRelationshipManager = (state: DetailsState) => state.relationshipManagerState;\r\nexport const getQrCodeFileDownloadState = (state: DetailsState) => state.qrCodeDownloadFileState;\r\n","import { Injectable } from '@angular/core';\r\nimport { CanActivate, ActivatedRouteSnapshot } from '@angular/router';\r\n\r\nimport { Observable, of } from 'rxjs';\r\nimport { switchMap, catchError, tap, filter, map, take, mergeMap } from 'rxjs/operators';\r\n\r\nimport { select, Store } from '@ngrx/store';\r\n\r\nimport * as fromRoot from '../../../core/store';\r\nimport * as fromStore from '../store';\r\n\r\n@Injectable()\r\nexport class DistrictExistsGuard implements CanActivate {\r\n\tconstructor(private _store: Store) {\r\n\t\tconsole.log('DistrictExistsGuard()...');\r\n }\r\n\r\n private _statusCode = 0;\r\n\r\n\tcanActivate(route: ActivatedRouteSnapshot): Observable {\r\n\t\t//\tget the id of the district we need to load from the route\r\n\t\tconst id = +route.paramMap.get('id');\r\n\t\t//\tcheck for a specific redirect route to use if the district isn't found\r\n\t\tlet redirectTo = !!route.data.redirectTo ? route.data.redirectTo : '/';\r\n\r\n\t\tconsole.log(`DistrictExistsGuard: canActivate called for district id: ${id}...`);\r\n\r\n\t\t//\tthis will attempt to load the district by dispatching the appropriate action then either redirect or allow the activation\r\n\t\treturn this.checkStore(id).pipe(\r\n switchMap(found => {\r\n if (!found) {\r\n switch (this._statusCode) {\r\n case 401: {\r\n console.log(`DistrictExistsGuard: unauthorized request.`);\r\n redirectTo = '/401';\r\n break;\r\n }\r\n case 500: {\r\n console.log(`DistrictExistsGuard: checkStore returned: Unexpected Error.`);\r\n redirectTo = '/500';\r\n break;\r\n }\r\n default: {\r\n console.log(`DistrictExistsGuard: checkStore returned: Not Found.`);\r\n break;\r\n }\r\n }\r\n }\r\n else\r\n console.log(`DistrictExistsGuard: checkStore returned: Found.`);\r\n\r\n\t\t\t\treturn this.allowOrRedirect(found, redirectTo);\r\n\t\t\t}),\r\n\t\t\tcatchError(err => {\r\n\t\t\t\tconsole.log(`DistrictExistsGuard: activation failed for district ${id}. Error: `, err);\r\n\r\n\t\t\t\treturn this.allowOrRedirect(false, '/500');\r\n\t\t\t}),\r\n\t\t);\r\n\t}\r\n\r\n\tcheckStore(id: number): Observable {\r\n\r\n return this._store.select(fromRoot.getUserAuthInfo).pipe(\r\n filter(x => !!x),\r\n mergeMap(x => {\r\n\r\n if (!x.policyCodes.has('District.ViewDetails')) {\r\n this._statusCode = 401;\r\n return of(false);\r\n }\r\n\r\n //\tstart with the district details state...\r\n return this._store.pipe(\r\n select(fromStore.getDistrictDetailsState),\r\n //\tif there aren't district details, or they are for a different district, dispatch an action to load the district\r\n tap(state => {\r\n if (state.errors && state.errors.status !== 404)\r\n this._statusCode = 500;\r\n else if ((state.district === null || state.district.id != id || !state.loaded) && !state.loading) {\r\n console.log(`DistrictExistsGuard: Loading district ${id}. Current District Details state: `, state);\r\n this._store.dispatch(new fromStore.LoadDistrict(id));\r\n }\r\n }),\r\n //\twait for it to be in the loaded state for the district in question or for any errors\r\n filter(state => (state.loaded && state.district.id == id) || state.errors !== null),\r\n //\tmap it to a boolean observable\r\n map(state => state.loaded),\r\n //\tget the first result & complete\r\n take(1),\r\n );\r\n })\r\n );\r\n\r\n\r\n\t}\r\n\r\n\tallowOrRedirect(found: boolean, redirectTo: string): Observable {\r\n\t\tif (!found) {\r\n\t\t\tconsole.log(`Redirecting to '${redirectTo}'...`);\r\n\t\t\tthis._store.dispatch(new fromRoot.Go({ path: [redirectTo] }));\r\n\t\t}\r\n\r\n\t\treturn of(found);\r\n\t}\r\n}\r\n","import { Injectable } from '@angular/core';\r\n\r\nimport { Observable, of, forkJoin } from 'rxjs';\r\nimport { switchMap, map, catchError, filter, withLatestFrom, tap, first, mergeMap } from 'rxjs/operators';\r\n\r\nimport { select, Store } from '@ngrx/store';\r\nimport { Actions, createEffect, ofType } from '@ngrx/effects';\r\n\r\nimport { Operation, compare } from 'fast-json-patch';\r\n\r\nimport { State } from '../../../../core/store';\r\nimport { CountyLookupState, DistrictLookupsState } from '..';\r\nimport * as schoolDetailsActions from '../actions/school-details.action';\r\nimport * as fromServices from '../../../scp-common/services';\r\nimport * as fromSelectors from '../selectors';\r\nimport * as fromModels from '../../models';\r\nimport * as fromRoot from '../../../../core/store';\r\nimport { DistrictLookup } from '../../../districts/models';\r\nimport { MessageType, ProblemDetails } from '../../../../core/models';\r\nimport { HttpErrorResponse } from '@angular/common/http';\r\n\r\n@Injectable()\r\nexport class SchoolDetailsEffects {\r\n constructor(\r\n private actions$: Actions,\r\n private schoolService: fromServices.SchoolService,\r\n private districtService: fromServices.DistrictService,\r\n private addressService: fromServices.AddressService,\r\n private store: Store,\r\n ) { }\r\n\r\n \r\n loadSchoolDetails$ = createEffect(() => this.actions$.pipe(\r\n ofType(schoolDetailsActions.SchoolDetailsActionTypes.LoadSchoolDetails),\r\n tap(a => {\r\n console.log('Entering loadSchoolDetails$ Effect: ', a);\r\n }),\r\n switchMap((action: schoolDetailsActions.LoadSchoolDetails) => this.schoolService.loadSchool(action.payload).pipe(\r\n tap(res => console.log(`schoolService.loadSchool( ${action.payload} ) returned: `, res)),\r\n map(school => new schoolDetailsActions.LoadSchoolDetailsComplete(school)),\r\n catchError(error => of(new schoolDetailsActions.LoadSchoolDetailsFailure(error.message))),\r\n )),\r\n tap(a => {\r\n console.log('Exiting loadSchoolDetails$ Effect: ', a);\r\n }),\r\n ));\r\n\r\n \r\n lookupDistrict$ = createEffect(() => this.actions$.pipe(\r\n ofType(schoolDetailsActions.SchoolDetailsActionTypes.LookupDistrictById),\r\n tap(a => console.log('Entering lookupDistrict$ Effect: ', a)),\r\n withLatestFrom(this.store.pipe(select(fromSelectors.getDistrictLookupsState))),\r\n map(([action, dls]: [schoolDetailsActions.LookupDistrictById, DistrictLookupsState]) => {\r\n const { id } = action.payload;\r\n const dl = dls.idLookups[id] ? dls.idLookups[id].district : null;\r\n\r\n return { id, dl };\r\n }),\r\n switchMap(({ id, dl }: { id: number, dl: DistrictLookup }) => {\r\n if (dl !== null) {\r\n console.log(`lookupDistrict$: district lookup with id ${id} already loaded.`);\r\n\r\n return of(new schoolDetailsActions.LookupDistrictByIdSuccess({ id, dl }));\r\n }\r\n\r\n console.log(`lookupDistrict$: Calling service to get district lookup for id ${id}...`);\r\n\r\n return this.districtService.lookupDistrictById(id).pipe(\r\n tap(res => console.log(`districtService.lookupDistrictById( ${id} ) returned: `, res)),\r\n map((dl: DistrictLookup) => {\r\n if (dl) {\r\n return new schoolDetailsActions.LookupDistrictByIdSuccess({ id, dl });\r\n }\r\n\r\n return new schoolDetailsActions.LookupDistrictByIdFailure({ id, error: `There is no district with an ID of '${id}'.` });\r\n }),\r\n catchError(err => {\r\n const error = `Unable to retrieve the District with ID: ${id}: ${err.message}.`;\r\n\r\n return of(new schoolDetailsActions.LookupDistrictByIdFailure({ id, error }));\r\n }),\r\n );\r\n }),\r\n tap(a => console.log('Exiting lookupDistrict$ Effect: ', a)),\r\n ));\r\n\r\n \r\n districtLookupByName$ = createEffect(() => this.actions$.pipe(\r\n ofType(schoolDetailsActions.SchoolDetailsActionTypes.LookupDistrictByName),\r\n tap(a => console.log('Entering districtLookupByName$ Effect: ', a)),\r\n switchMap((action: schoolDetailsActions.LookupDistrictByName) => {\r\n const { name } = action.payload;\r\n\r\n console.log(`districtLookupByName$: Calling service to get district lookups for name ${name}...`);\r\n\r\n return this.districtService.lookupDistrictByName(name).pipe(\r\n tap(res => console.log(`districtService.lookupDistrictByName( ${name} ) returned: `, res)),\r\n map(dls => {\r\n if (dls === null) {\r\n return new schoolDetailsActions.LookupDistrictByNameFailure({ name, error: 'Districts Not Found' });\r\n }\r\n\r\n return new schoolDetailsActions.LookupDistrictByNameSuccess({ name, dls });\r\n }),\r\n catchError(error => of(new schoolDetailsActions.LookupDistrictByNameFailure({ name, error }))),\r\n );\r\n }),\r\n tap(a => console.log('Exiting districtLookupByName$ Effect: ', a)),\r\n ));\r\n\r\n getRateAgreement$ = createEffect(() => this.actions$.pipe(\r\n ofType(schoolDetailsActions.SchoolDetailsActionTypes.GetRateAgreement),\r\n tap(a => console.log('Entering getRateAgreement$ Effect: ', a)),\r\n switchMap((action: schoolDetailsActions.GetRateAgreement) => this.schoolService.getRateAgreement(action.payload.rateCode).pipe(\r\n map(rateAgreement => {\r\n if (rateAgreement) {\r\n return new schoolDetailsActions.GetRateAgreementSuccess({ panel: action.payload.panel, rateCode: action.payload.rateCode, rateAgreement });\r\n }\r\n\r\n return new schoolDetailsActions.GetRateAgreementFailure({ panel: action.payload.panel, rateCode: action.payload.rateCode, errors: `There is no Rate Agreement with an ID of '${action.payload.rateCode}'.` });\r\n }),\r\n catchError(err => {\r\n const errors = err.status == 404\r\n ? `There is no Rate Agreement with an ID of '${action.payload.rateCode}'.`\r\n : `Unable to retrieve the Rate Agreement with ID: ${action.payload.rateCode}.`;\r\n\r\n return of(new schoolDetailsActions.GetRateAgreementFailure({ panel: action.payload.panel, rateCode: action.payload.rateCode, errors }));\r\n }),\r\n )),\r\n tap(a => console.log('Exiting getRateAgreement$ Effect: ', a)),\r\n ));\r\n\r\n \r\n updateSchoolPanel$ = createEffect(() => this.actions$.pipe(\r\n ofType(schoolDetailsActions.SchoolDetailsActionTypes.UpdateSchoolPanel),\r\n tap(a => {\r\n console.log('Entering updateSchoolPanel$ Effect: ', a);\r\n }),\r\n //\tget the current value of the district from the store\r\n withLatestFrom(this.store.pipe(select(fromSelectors.getSchoolDetailsEntity))),\r\n //\tcreate a json patch by comparing the current district with the updated version\r\n //\ttypescript note: using array destructuring to pull the withLatestFrom output into individual parameters to map\r\n map(([action, school]: [schoolDetailsActions.UpdateSchoolPanel, fromModels.SchoolDetails]) => {\r\n const patch = compare(school, action.payload.school);\r\n\r\n console.log('new school:', action.payload.school, 'current school:', school, 'patch:', patch);\r\n\r\n //\tthe district service needs the id & the json patch\r\n return { panel: action.payload.panel, school, patch };\r\n }),\r\n switchMap(({ panel, school, patch }: { panel: string, school: fromModels.SchoolDetails, patch: Operation[] }) => {\r\n if (patch.length == 0) {\r\n console.log('updateSchoolPanel$ Effect: Skipping empty patch...');\r\n\r\n return of(new schoolDetailsActions.UpdateSchoolPanelSuccess({ panel, school }));\r\n }\r\n\r\n console.log('updateSchoolPanel$ Effect: Calling schoolService.patchSchool(', school.id, ', ', patch, ')...');\r\n\r\n return this.schoolService.patchSchool(school.id, patch).pipe(\r\n map(school => new schoolDetailsActions.UpdateSchoolPanelSuccess({ panel, school })),\r\n catchError((error: HttpErrorResponse) => {\r\n return of(new schoolDetailsActions.UpdateSchoolPanelFailure({ panel, errors: this.getErrorMessage(error) }));\r\n }),\r\n );\r\n }),\r\n tap(a => {\r\n console.log('Exiting updateSchoolPanel$ Effect: ', a);\r\n }),\r\n ));\r\n\r\n \r\n updateSchoolPanelFailure$ = createEffect(() => this.actions$.pipe(\r\n ofType(schoolDetailsActions.SchoolDetailsActionTypes.UpdateSchoolPanelFailure),\r\n tap(a => {\r\n console.log('Entering updateSchoolPanelFailure$ Effect: ', a);\r\n }),\r\n map((a: schoolDetailsActions.UpdateSchoolPanelFailure) => {\r\n const { errors } = a.payload;\r\n\r\n return new fromRoot.DisplayMessage({\r\n message: errors || 'Unhandled exception has occurred',\r\n messageType: MessageType.alert,\r\n toast: false,\r\n });\r\n })\r\n ));\r\n\r\n \r\n lookupCityState$ = createEffect(() => this.actions$.pipe(\r\n ofType(schoolDetailsActions.SchoolDetailsActionTypes.SchoolAddressLookupCityState),\r\n tap(a => console.log('Entering lookupCityState$ Effect: ', a)),\r\n switchMap((a: schoolDetailsActions.SchoolAddressLookupCityState) => {\r\n const { panel, zip } = a.payload;\r\n\r\n return this.addressService.lookupCityState(zip).pipe(\r\n tap(res => console.log(`addressService.lookupCityState( ${zip} ) returned: `, res)),\r\n map(cityState => {\r\n return new schoolDetailsActions.SchoolAddressLookupCityStateSuccess({ panel, cityState });\r\n }),\r\n catchError(errors => {\r\n return of(new schoolDetailsActions.SchoolAddressLookupCityStateFailure({ panel, errors }));\r\n }),\r\n );\r\n }),\r\n tap(a => console.log('Exiting lookupCityState$ Effect: ', a)),\r\n ));\r\n\r\n \r\n loadCounties$ = createEffect(() => this.actions$.pipe(\r\n ofType(schoolDetailsActions.SchoolDetailsActionTypes.SchoolLoadCounties),\r\n tap(a => console.log('Entering loadCounties$ Effect: ', a)),\r\n //\tpull in the county lookup state\r\n withLatestFrom(this.store.pipe(select(fromSelectors.getDetailsStateCountyLookup))),\r\n //\tgrab the county list for the request state code\r\n map(([action, countyLookup]: [schoolDetailsActions.SchoolLoadCounties, CountyLookupState]) => {\r\n const counties = countyLookup.counties[action.payload.stateCode];\r\n\r\n return { action, counties };\r\n }),\r\n switchMap(({ action, counties }: { action: schoolDetailsActions.SchoolLoadCounties, counties: string[] }) => {\r\n const { panel, stateCode } = action.payload;\r\n\r\n //\tskip service call if we already have a county list for this state\r\n if (counties) {\r\n console.log(`loadCounties$: county list for ${action.payload.stateCode} already loaded.`);\r\n\r\n return of(new schoolDetailsActions.SchoolLoadCountiesSuccess({ panel, counties }));\r\n }\r\n\r\n return this.addressService.loadCounties(stateCode).pipe(\r\n tap(res => console.log(`addressService.loadCounties( ${stateCode} ) returned: `, res)),\r\n map((counties: string[]) => {\r\n return new schoolDetailsActions.SchoolLoadCountiesSuccess({ panel, counties });\r\n }),\r\n );\r\n }),\r\n tap(a => console.log('Exiting loadCounties$ Effect: ', a)),\r\n ));\r\n\r\n \r\n verifyAddress$ = createEffect(() => this.actions$.pipe(\r\n ofType(schoolDetailsActions.SchoolDetailsActionTypes.SchoolVerifyAddress),\r\n tap(a => console.log('Entering verifyAddress$ Effect: ', a)),\r\n switchMap((a: schoolDetailsActions.SchoolVerifyAddress) => {\r\n const { panel, address } = a.payload;\r\n\r\n return this.addressService.verifyAddress(address).pipe(\r\n tap(res => console.log(`addressService.verifyAddress( ${address} ) returned: `, res)),\r\n map(verification => {\r\n return new schoolDetailsActions.SchoolVerifyAddressSuccess({ panel, verification });\r\n }),\r\n catchError(errors => {\r\n return of(new schoolDetailsActions.SchoolVerifyAddressFailure({ panel }));\r\n }),\r\n );\r\n }),\r\n tap(a => console.log('Exiting verifyAddress$ Effect: ', a)),\r\n ));\r\n\r\n \r\n createSchool$ = createEffect(() => this.actions$.pipe(\r\n ofType(schoolDetailsActions.SchoolDetailsActionTypes.CreateSchool),\r\n tap(a => console.log('Entering createSchool$ Effect: ', a)),\r\n switchMap((action: schoolDetailsActions.CreateSchool) => {\r\n return this.schoolService.createSchool(action.payload.school).pipe(\r\n tap(id => {\r\n console.log('schoolService.createSchool returned:', id);\r\n }),\r\n map(id => {\r\n if (id === null) {\r\n return new schoolDetailsActions.CreateSchoolFailure({ errors: 'Error creating school' });\r\n }\r\n\r\n return new schoolDetailsActions.CreateSchoolSuccess({ id });\r\n }),\r\n catchError(error => of(new schoolDetailsActions.CreateSchoolFailure({ errors: 'Error creating school' })))\r\n );\r\n }),\r\n tap(a => console.log('Exiting createSchool$ Effect: ', a)),\r\n ));\r\n\r\n \r\n createSchoolFailure$ = createEffect(() => this.actions$.pipe(\r\n ofType(schoolDetailsActions.SchoolDetailsActionTypes.CreateSchoolFailure),\r\n tap(a => console.log('Entering createSchoolFailure$ Effect: ', a)),\r\n switchMap((action: schoolDetailsActions.CreateSchoolFailure) => {\r\n return of(new fromRoot.DisplayMessage({\r\n message: action.payload.errors,\r\n messageType: MessageType.alert,\r\n toast: false,\r\n }));\r\n }),\r\n tap(a => console.log('Exiting createSchoolFailure$ Effect: ', a)),\r\n ));\r\n\r\n \r\n validateSchoolPrimaryId$ = createEffect(() => this.actions$.pipe(\r\n ofType(schoolDetailsActions.SchoolDetailsActionTypes.ValidateSchoolPrimaryId),\r\n tap(a => {\r\n console.log('Entering validateSchoolPrimaryId$ Effect: ', a);\r\n }),\r\n mergeMap((a: schoolDetailsActions.ValidateSchoolPrimaryId): any[] => {\r\n const { panel, validator, primaryId, duplicateId, duplicateIsActive } = a.payload;\r\n\r\n //\tclearing the primary id is always valid & requires no other checks\r\n if (primaryId == '') {\r\n return [new schoolDetailsActions.SchoolPrimaryIdValidated({ panel, validator, errors: null })];\r\n }\r\n\r\n //\tcheck for a blatantly incorrect primary id\r\n if (+primaryId < 1 || Number.isNaN(+primaryId)) {\r\n return [new schoolDetailsActions.SchoolPrimaryIdValidated({ panel, validator, errors: { primaryId: 'Primary ID must refer to a valid school.' } })];\r\n }\r\n\r\n if (+primaryId == duplicateId) {\r\n return [new schoolDetailsActions.SchoolPrimaryIdValidated({ panel, validator, errors: { primaryId: 'Primary ID cannot refer to this school.' } })];\r\n }\r\n\r\n const schoolExistsAction = new schoolDetailsActions.ValidateSchoolExists({ panel, validator: 'schoolExists', id: +primaryId });\r\n\r\n if (duplicateIsActive) {\r\n return [schoolExistsAction, new schoolDetailsActions.ValidateSchoolCanDeactivate({ panel, validator: 'canDeactivate', id: duplicateId })];\r\n }\r\n\r\n return [schoolExistsAction];\r\n }),\r\n tap(a => {\r\n console.log('Exiting validateSchoolPrimaryId$ Effect: ', a);\r\n }),\r\n ));\r\n\r\n \r\n getSchoolPrimaryIdValidationResults$ = createEffect(() => this.actions$.pipe(\r\n ofType(schoolDetailsActions.SchoolDetailsActionTypes.ValidateSchoolPrimaryId),\r\n tap(a => console.log('Entering getSchoolPrimaryIdValidationResults$ Effect: ', a)),\r\n //\tAggregator: gather the completion actions to complete the original, split, action\r\n switchMap((src: schoolDetailsActions.ValidateSchoolPrimaryId): Observable => {\r\n const schoolExists$ = this.actions$.pipe(\r\n ofType(schoolDetailsActions.SchoolDetailsActionTypes.SchoolExistsValidated),\r\n tap(a => console.log('schoolExists$: ', a)),\r\n filter((a: any): any => {\r\n return src.payload.primaryId == a.payload.id;\t//\tcorrelate the actions via the primary id\r\n }),\r\n first(),\r\n );\r\n const canDeactivate$ = this.actions$.pipe(\r\n ofType(schoolDetailsActions.SchoolDetailsActionTypes.SchoolCanDeactivateValidated),\r\n tap(a => console.log('canDeactivate$: ', a)),\r\n filter((a: any): any => {\r\n return src.payload.duplicateId == a.payload.id;\t//\tcorrelate the actions via the duplicate id\r\n }),\r\n first(),\r\n );\r\n\r\n return forkJoin([of(src), schoolExists$, canDeactivate$]);\r\n }),\r\n //\tmap the parent & completed dependent actions to a completed parent action\r\n map(([primaryId, schoolExists, canDeactivate]) => {\r\n return new schoolDetailsActions.SchoolPrimaryIdValidated({ panel: primaryId.payload.panel, validator: primaryId.payload.validator, errors: { ...schoolExists.payload.errors, ...canDeactivate.payload.errors } });\r\n }),\r\n tap(a => console.log('Exiting getSchoolPrimaryIdValidationResults$ Effect: ', a)),\r\n ));\r\n\r\n \r\n validateSchoolExists$ = createEffect(() => this.actions$.pipe(\r\n ofType(schoolDetailsActions.SchoolDetailsActionTypes.ValidateSchoolExists),\r\n tap(a => console.log('Entering validateSchoolExists$ Effect: ', a)),\r\n switchMap((a: schoolDetailsActions.ValidateSchoolExists) => {\r\n const { panel, validator, id } = a.payload;\r\n\r\n return this.schoolService.exists(id).pipe(\r\n tap(res => console.log(`schoolService.exists( ${id} ) returned: `, res)),\r\n map(res => {\r\n const errors = res\r\n ? null\r\n : { schoolExists: `There is no School with ID: ${id}` };\r\n\r\n return new schoolDetailsActions.SchoolExistsValidated({ panel, validator, id, errors });\r\n }),\r\n catchError(err => {\r\n return of(new schoolDetailsActions.SchoolExistsValidated({ panel, validator, id, errors: { schoolExists: `Unable to validate whether the school with id: ${id} exists.` } }));\r\n }),\r\n );\r\n }),\r\n tap(a => console.log('Exiting validateSchoolExists$ Effect: ', a)),\r\n ));\r\n\r\n \r\n validateSchoolCanDeactivate$ = createEffect(() => this.actions$.pipe(\r\n ofType(schoolDetailsActions.SchoolDetailsActionTypes.ValidateSchoolCanDeactivate),\r\n tap(a => console.log('Entering validateSchoolCanDeactivate$ Effect: ', a)),\r\n switchMap((a: schoolDetailsActions.ValidateSchoolCanDeactivate) => {\r\n const { panel, validator, id } = a.payload;\r\n\r\n return this.schoolService.canDeactivate(id).pipe(\r\n tap(res => console.log(`schoolService.canDeactivate( ${id} ) returned: `, res)),\r\n map(res => {\r\n const errors = res\r\n ? null\r\n : { canDeactivate: `Associated entities must be disassociated or deactivated prior to deactivating a school: ${id}.` };\r\n\r\n return new schoolDetailsActions.SchoolCanDeactivateValidated({ panel, validator, id, errors });\r\n }),\r\n catchError(err => {\r\n return of(new schoolDetailsActions.SchoolCanDeactivateValidated({ panel, validator, id, errors: { canDeactivate: `Unable to validate whether the school with id: ${id} can deactivate.` } }));\r\n }),\r\n );\r\n }),\r\n tap(a => console.log('Exiting validateSchoolCanDeactivate$ Effect: ', a)),\r\n ));\r\n\r\n private getErrorMessage(response: HttpErrorResponse): string {\r\n if (response.status === 400 && response.error) {\r\n try {\r\n const problemDetails = response.error as ProblemDetails;\r\n if (problemDetails) {\r\n const firstError = problemDetails.errors ? problemDetails.errors[Object.keys(problemDetails.errors)[0]] : null;\r\n if (firstError)\r\n return firstError;\r\n else if (problemDetails.title)\r\n return problemDetails.title;\r\n }\r\n }\r\n catch (ex) {\r\n console.warn(ex);\r\n }\r\n }\r\n\r\n return response.error ? response.error.message : response.message;\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { OidcSecurityService} from 'angular-auth-oidc-client';\r\nimport { createEffect, Actions, ofType } from '@ngrx/effects';\r\nimport { map, tap, switchMap, distinctUntilChanged } from 'rxjs/operators';\r\nimport { OidcConfigLoaded, OidcActionTypes, OidcAuthorizationResult, SetUserData } from '../actions';\r\nimport { of } from 'rxjs';\r\nimport { Store } from '@ngrx/store';\r\nimport { SecurityState } from '../reducers';\r\n\r\n@Injectable()\r\nexport class OidcEffects {\r\n\r\n constructor(private actions$: Actions, \r\n private oidcSecurityService: OidcSecurityService, \r\n private store: Store\r\n ) { }\r\n\r\n \r\n oidcConfigurationLoaded$ = createEffect(() => this.actions$.pipe(\r\n ofType(OidcActionTypes.ConfigLoaded),\r\n tap(() => {\r\n console.log('Config loaded effect entered');\r\n this.oidcSecurityService.checkAuth().subscribe((isAuthenticated: boolean) => {\r\n this.store.dispatch(new OidcAuthorizationResult(isAuthenticated));\r\n if(!isAuthenticated)\r\n this.oidcSecurityService.authorize();\r\n });\r\n })\r\n ), { dispatch: false });\r\n\r\n \r\n oidcAuthorizationResult$ = createEffect(() => this.actions$.pipe(\r\n ofType(OidcActionTypes.AuthorizationResult),\r\n map(result => result),\r\n distinctUntilChanged(),\r\n switchMap(isAuthenticated =>\r\n isAuthenticated\r\n ? this.oidcSecurityService.userData$\r\n : of(null)\r\n ),\r\n map(userData => new SetUserData(userData))\r\n ));\r\n}\r\n","import { Injectable } from '@angular/core';\r\n\r\nimport { of } from 'rxjs';\r\nimport { tap, switchMap, map, catchError } from 'rxjs/operators';\r\n\r\nimport { Store } from '@ngrx/store';\r\nimport { Actions, createEffect, ofType } from '@ngrx/effects';\r\n\r\nimport * as EventSearchResultsActions from '../actions/event-searchresults.action';\r\nimport * as fromServices from '../../../scp-common/services';\r\nimport * as fromModels from '../../models';\r\nimport * as fromReducers from '../reducers';\r\n\r\nimport { SearchResultsState } from '..';\r\n\r\n@Injectable()\r\nexport class EventSearchResultsEffects {\r\n constructor(\r\n private actions$: Actions,\r\n private EventService: fromServices.EventService,\r\n private store$: Store,\r\n ) { }\r\n\r\n \r\n processQueryString$ = createEffect(() => this.actions$.pipe(\r\n ofType(EventSearchResultsActions.EventSearchResultsActionTypes.ProcessQueryString),\r\n switchMap((action: EventSearchResultsActions.ProcessQueryString) => {\r\n // Grab an object representation of the query string\r\n const query = this.parseQueryStringFromUrl(action.payload);\r\n // Convert query object into our strict-typed object\r\n let searchCriteria: fromModels.EventSearchCriteria;\r\n\r\n // Populate search criteria with the query object params\r\n searchCriteria = {\r\n id: query['id'],\r\n isActive: query['isActive'],\r\n name: query['name'],\r\n attendingSchoolId: query['attendingSchoolId'],\r\n hostingState: query['hostingState'],\r\n eventType: query['eventType'],\r\n eventDateFrom: query['eventDateFrom'],\r\n eventDateTo: query['eventDateTo'],\r\n districtId: query['districtId'],\r\n code: query['code'],\r\n primaryRentalFulfillment: query['primaryRentalFulfillment'],\r\n PageNumber: query['PageNumber'],\r\n PageSize: query['PageSize'],\r\n SortBy: query['SortBy'],\r\n SortDir: query['SortDir']\r\n };\r\n\r\n return of(new EventSearchResultsActions.LoadEventSearchResults(searchCriteria));\r\n })\r\n ));\r\n\r\n \r\n getResultsForSchool$ = createEffect(() => this.actions$.pipe(\r\n ofType(EventSearchResultsActions.EventSearchResultsActionTypes.GetResultsForSchool),\r\n switchMap((action: EventSearchResultsActions.GetResultsForSchool) => {\r\n console.log(action.payload);\r\n\r\n // Whatever state we have, reset it to initial\r\n const newCriteria: fromModels.EventSearchCriteria = {\r\n ...fromReducers.initialState.searchCriteria,\r\n // Use the school's id as our search criteria\r\n attendingSchoolId: action.payload.id\r\n };\r\n\r\n return of(new EventSearchResultsActions.LoadEventSearchResults(newCriteria));\r\n })\r\n ));\r\n\r\n \r\n nextPageResult$ = createEffect(() => this.actions$.pipe(\r\n ofType(EventSearchResultsActions.EventSearchResultsActionTypes.NextPage),\r\n switchMap((action: EventSearchResultsActions.NextPage) => {\r\n console.log(action.pagingSorting);\r\n const currentPage: number = action.pagingSorting.currentPage;\r\n let nextPage: number;\r\n\r\n // If page number is null, maybe we never got first page?\r\n if (currentPage == null) {\r\n // Go to the first one\r\n nextPage = 1;\r\n }\r\n else if (currentPage < action.pagingSorting.totalPages) {\r\n // Increment to next page\r\n nextPage = currentPage + 1;\r\n }\r\n else {\r\n // Don't change the page\r\n nextPage = currentPage;\r\n }\r\n\r\n // Set the next page to pass to our search request\r\n const newPayload: fromModels.EventSearchCriteria = {\r\n ...action.payload,\r\n PageNumber: nextPage\r\n };\r\n // TODO: Figure out some way to not do any action here if page number didn't change\r\n return of(new EventSearchResultsActions.LoadEventSearchResults(newPayload));\r\n })\r\n ));\r\n\r\n \r\n prevPageResult$ = createEffect(() => this.actions$.pipe(\r\n ofType(EventSearchResultsActions.EventSearchResultsActionTypes.PrevPage),\r\n switchMap((action: EventSearchResultsActions.PrevPage) => {\r\n console.log(action.pagingSorting);\r\n const currentPage: number = action.pagingSorting.currentPage;\r\n let prevPage: number;\r\n\r\n // If page number is null, maybe we never got first page?\r\n if (currentPage == null) {\r\n // Go to the first one\r\n prevPage = 1;\r\n }\r\n else if (currentPage > 1) {\r\n // Increment to next page\r\n prevPage = currentPage - 1;\r\n }\r\n else {\r\n // Don't change the page\r\n prevPage = currentPage;\r\n }\r\n\r\n // Set the next page to pass to our search request\r\n const newPayload: fromModels.EventSearchCriteria = {\r\n ...action.payload,\r\n PageNumber: prevPage\r\n };\r\n // TODO: Figure out some way to not do any action here if page number didn't change\r\n return of(new EventSearchResultsActions.LoadEventSearchResults(newPayload));\r\n })\r\n ));\r\n\r\n \r\n sortByResult$ = createEffect(() => this.actions$.pipe(\r\n ofType(EventSearchResultsActions.EventSearchResultsActionTypes.SortBy),\r\n switchMap((action: EventSearchResultsActions.SortBy) => {\r\n // Default to ascending sort order\r\n let sortDir = 0;\r\n\r\n // If user is sorting by same column again\r\n if (action.payload == action.pagingSorting.sortBy) {\r\n // Change the direction of the sort since it's the same column\r\n sortDir = action.pagingSorting.sortDir == 0 ? 1 : 0;\r\n }\r\n const lastPage: number = action.pagingSorting.totalPages;\r\n\r\n // Set the next page to pass to our search request\r\n const newPayload: fromModels.EventSearchCriteria = {\r\n ...action.searchCriteria,\r\n SortDir: sortDir,\r\n SortBy: action.payload\r\n };\r\n\r\n return of(new EventSearchResultsActions.LoadEventSearchResults(newPayload));\r\n })\r\n ));\r\n\r\n \r\n lastPageResult$ = createEffect(() => this.actions$.pipe(\r\n ofType(EventSearchResultsActions.EventSearchResultsActionTypes.LastPage),\r\n switchMap((action: EventSearchResultsActions.LastPage) => {\r\n const lastPage: number = action.pagingSorting.totalPages;\r\n\r\n // Set the next page to pass to our search request\r\n const newPayload: fromModels.EventSearchCriteria = {\r\n ...action.payload,\r\n PageNumber: lastPage\r\n };\r\n\r\n return of(new EventSearchResultsActions.LoadEventSearchResults(newPayload));\r\n })\r\n ));\r\n\r\n \r\n firstPageResult$ = createEffect(() => this.actions$.pipe(\r\n ofType(EventSearchResultsActions.EventSearchResultsActionTypes.FirstPage),\r\n switchMap((action: EventSearchResultsActions.FirstPage) => {\r\n const firstPage = 1;\r\n\r\n // Set the next page to pass to our search request\r\n const newPayload: fromModels.EventSearchCriteria = {\r\n ...action.payload,\r\n PageNumber: firstPage\r\n };\r\n\r\n return of(new EventSearchResultsActions.LoadEventSearchResults(newPayload));\r\n })\r\n ));\r\n\r\n \r\n pageSizeResult$ = createEffect(() => this.actions$.pipe(\r\n ofType(EventSearchResultsActions.EventSearchResultsActionTypes.SetPageSize),\r\n switchMap((action: EventSearchResultsActions.SetPageSize) => {\r\n const pageSize: number = action.payload;\r\n\r\n // Set the next page to pass to our search request\r\n const newPayload: fromModels.EventSearchCriteria = {\r\n ...action.searchCriteria,\r\n PageSize: pageSize\r\n };\r\n\r\n return of(new EventSearchResultsActions.LoadEventSearchResults(newPayload));\r\n })\r\n ));\r\n\r\n \r\n searchResults$ = createEffect(() => this.actions$.pipe(\r\n ofType(EventSearchResultsActions.EventSearchResultsActionTypes.LoadEventSearchResults),\r\n switchMap((action: EventSearchResultsActions.LoadEventSearchResults) => {\r\n console.log('Load Event Search Results Effect');\r\n console.log(action.payload);\r\n\r\n let query = '';\r\n\r\n Object.keys(action.payload).forEach(key => {\r\n const value = action.payload[key];\r\n if (value === undefined) {\r\n // Any missing value we just ignore\r\n return;\r\n }\r\n\r\n // If item has a value...\r\n if (value !== null && value !== '') {\r\n // If it's one of these keys and value is \"Any\"\r\n const anyKeys = ['state', 'isSupervisory', 'isActive'];\r\n if (anyKeys.some(i => i === key) && value == 'Any') {\r\n // Treat \"any\" like null.\r\n return;\r\n }\r\n // Else, add it to query string\r\n else {\r\n query += `&${key}=${value}`;\r\n }\r\n }\r\n });\r\n\r\n return this.EventService.searchEvents(query).pipe(\r\n tap(d => {\r\n console.log('searchEvents returned:', d);\r\n }),\r\n map(resp => {\r\n if (!resp.ok || resp.body == null) {\r\n return new EventSearchResultsActions.LoadEventSearchResultsFailure('Search results not returned');\r\n }\r\n\r\n return new EventSearchResultsActions.LoadEventSearchResultsSuccess(resp.body, resp.headers);\r\n }),\r\n catchError(error => of(new EventSearchResultsActions.LoadEventSearchResultsFailure(error)))\r\n );\r\n })\r\n ));\r\n\r\n private parseQueryStringFromUrl(url: string): object {\r\n const returnObject: object = {\r\n };\r\n\r\n // Parse query string into chunks\r\n const splitted = url.split('?', 2);\r\n // If we have a query string, then process it further\r\n if (splitted.length == 2) {\r\n // Split out each key/value pair\r\n const splittedItems = splitted[1].split('&');\r\n splittedItems.forEach(item => {\r\n // Split out the key and value\r\n const splittedItem = item.split('=');\r\n const key = splittedItem[0];\r\n const value = splittedItem.length > 1 ? splittedItem[1] : '';\r\n // Add is as a key/value pair in our return object.\r\n returnObject[key] = value;\r\n });\r\n }\r\n\r\n return returnObject;\r\n }\r\n}\r\n","import { DistributionService } from './distribution.service';\r\n\r\nexport const services: any[] = [\r\n\tDistributionService,\r\n];\r\n\r\nexport * from './distribution.service';\r\n","import { Component, Input } from '@angular/core';\r\n\r\nimport { District } from '../../models';\r\n\r\n@Component({\r\n\tselector: 'opus-district-addl-details',\r\n\ttemplateUrl: './district-addl-details.component.html',\r\n})\r\nexport class DistrictAddlDetailsComponent {\r\n\t@Input() district: District;\r\n\tmonthNames = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'];\r\n\r\n\tget budgetEnd() {\r\n\t\tconst budgetEnd = this.district.budgetEnd == null\r\n\t\t\t? new Date(9999, 0, 1)\r\n\t\t\t: new Date(Date.parse(this.district.budgetEnd));\r\n\r\n\t\treturn `${this.monthNames[budgetEnd.getMonth()]} ${budgetEnd.getDate().toString()}`;\r\n\t}\r\n}\r\n\r\n","
    \r\n\t
  • \r\n\t\t
    NCES District ID
    \r\n\t\t
    {{ district.ncesDistrictId }}
    \r\n\t
  • \r\n\t\r\n\t
  • \r\n\t\t
    Budget End
    \r\n\t\t
    {{ budgetEnd }}
    \r\n\t
  • \r\n\t
  • \r\n\t\t
    Latitude
    \r\n\t\t
    {{ district.latitude }}
    \r\n\t
  • \r\n\t
  • \r\n\t\t
    Longitude
    \r\n\t\t
    {{ district.longitude }}
    \r\n\t
  • \r\n\t
  • \r\n\t\t
    Time Zone
    \r\n\t\t
    {{ district.ianaTimeZoneId }}
    \r\n\t
  • \r\n
\r\n","import { Component, Input } from '@angular/core';\r\n\r\nimport { SchoolDetails } from '../../models';\r\n\r\n@Component({\r\n\tselector: 'opus-school-calendar',\r\n\ttemplateUrl: './school-calendar.component.html',\r\n})\r\nexport class SchoolCalendarComponent {\r\n\t@Input() school: SchoolDetails;\r\n\tmonthNames = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'];\r\n\r\n\tget schoolStart() {\r\n\t\treturn this.getDateRangeText(this.school.schoolStartFrom, this.school.schoolStartTo);\r\n\t}\r\n\r\n\tget schoolEnd() {\r\n\t\treturn this.getDateRangeText(this.school.schoolEndFrom, this.school.schoolEndTo);\r\n\t}\r\n\r\n\tprivate getDate(s: string): Date {\r\n\t\tconst ms: number = Date.parse(s);\r\n\r\n\t\tif (isNaN(ms)) {\r\n\t\t\treturn null;\r\n\t\t}\r\n\r\n\t\treturn new Date(ms);\r\n\t}\r\n\r\n\tprivate getDateText(d: Date): string {\r\n\t\treturn d === null ? 'Unspecified' : `${this.monthNames[d.getMonth()]} ${d.getDate().toString()}`;\r\n\t}\r\n\r\n\tprivate getDateRangeText(from: string, to: string): string {\r\n\t\tconst fromDate = this.getDate(from);\r\n\t\tconst toDate = this.getDate(to);\r\n\r\n\t\tif (fromDate === null && toDate === null) {\r\n\t\t\treturn '';\r\n\t\t}\r\n\r\n\t\treturn `${this.getDateText(fromDate)} - ${this.getDateText(toDate)}`;\r\n\t}\r\n}\r\n\r\n","
    \r\n\t
  • \r\n\t\t
    School Start
    \r\n\t\t
    {{ schoolStart }}
    \r\n\t
  • \r\n\t
  • \r\n\t\t
    School End
    \r\n\t\t
    {{ schoolEnd }}
    \r\n\t
  • \r\n
\r\n","import * as fromSchoolSearchResults from '../actions/school-searchresults.action';\r\nimport * as fromModels from '../../models';\r\nimport { HttpHeaders } from '@angular/common/http';\r\n\r\nexport interface SearchResultsState {\r\n searchResults: fromModels.SchoolSearchResultsItem[];\r\n searchCriteria: fromModels.SchoolSearchCriteria;\r\n pagingSorting: fromModels.SchoolPagingSorting;\r\n errors: any;\t//\tTODO: formalize error handling\r\n loading: boolean;\r\n loaded: boolean;\r\n}\r\n\r\nexport const initialState: SearchResultsState = {\r\n loading: false,\r\n loaded: false,\r\n searchResults: null,\r\n errors: null,\r\n searchCriteria: {\r\n callDay: null,\r\n code: null,\r\n county: null,\r\n districtId: null,\r\n districtName: null,\r\n gradeLevel: null,\r\n id: null,\r\n isActive: null,\r\n longName: null,\r\n offersBandshare: null,\r\n PageNumber: null,\r\n PageSize: null,\r\n phone: null,\r\n primaryFulfillmentSite: null,\r\n radius: null,\r\n schoolType: null,\r\n SortBy: null,\r\n SortDir: null,\r\n state: null,\r\n teacherId: null,\r\n zip: null,\r\n },\r\n pagingSorting: {\r\n totalCount: null,\r\n pageSize: null,\r\n currentPage: null,\r\n totalPages: null,\r\n sortBy: null,\r\n sortDir: null\r\n }\r\n};\r\n\r\nexport function reducer(state = initialState, action: fromSchoolSearchResults.SchoolSearchResultsActions): SearchResultsState {\r\n switch (action.type) {\r\n case fromSchoolSearchResults.SchoolSearchResultsActionTypes.ProcessQueryString: {\r\n console.log('ProcessQueryString');\r\n console.log(action.payload);\r\n\r\n return {\r\n ...state,\r\n loaded: false,\r\n loading: false,\r\n errors: null\r\n };\r\n }\r\n\r\n case fromSchoolSearchResults.SchoolSearchResultsActionTypes.LoadSchoolSearchResults: {\r\n console.log('LoadSchoolSearchResults');\r\n console.log(action.payload);\r\n\t\t\treturn {\r\n ...state,\r\n loaded: false,\r\n loading: true,\r\n errors: null,\r\n // Anytime we request search results, let's update the state to include that\r\n // most recent criteria that was just passed.\r\n searchCriteria: action.payload\r\n\t\t\t};\r\n\t\t}\r\n\r\n case fromSchoolSearchResults.SchoolSearchResultsActionTypes.LoadSchoolSearchResultsSuccess: {\r\n const searchResults = action.payload;\r\n const headers = action.httpHeaders;\r\n\r\n\t\t\treturn {\r\n ...updateSchoolSearchResultsState(state, searchResults, headers),\r\n\t\t\t\tloaded: true,\r\n loading: false\r\n\t\t\t};\r\n\t\t}\r\n\r\n case fromSchoolSearchResults.SchoolSearchResultsActionTypes.LoadSchoolSearchResultsFailure: {\r\n\t\t\tconsole.log('reducer:', action);\r\n\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tloaded: false,\r\n\t\t\t\tloading: false,\r\n errors: action.payload\r\n\t\t\t};\r\n }\r\n\t}\r\n\r\n\treturn state;\r\n}\r\n\r\nfunction updateSchoolSearchResultsState(state: SearchResultsState, searchResults: fromModels.SchoolSearchResultsItem[], headers: HttpHeaders) {\r\n let pagingSorting: fromModels.SchoolPagingSorting;\r\n\r\n // Grab special header we use for paging\r\n const pagingHeader: string = headers.get('X-Pagination');\r\n const pagingObject: object = JSON.parse(pagingHeader);\r\n\r\n // Populate paging information from http headers\r\n pagingSorting = {\r\n totalCount: pagingObject['totalCount'],\r\n pageSize: pagingObject['pageSize'],\r\n currentPage: pagingObject['currentPage'],\r\n totalPages: pagingObject['totalPages'],\r\n sortBy: pagingObject['sortBy'],\r\n sortDir: pagingObject['sortDir']\r\n };\r\n\r\n\treturn {\r\n\t\t...state,\r\n searchResults,\r\n pagingSorting\r\n\t};\r\n}\r\n\r\nexport const getSchoolSearchResults = (state: SearchResultsState) => state.searchResults;\r\nexport const getSchoolSearchLoading = (state: SearchResultsState) => state.loading;\r\nexport const getSchoolSearchLoaded = (state: SearchResultsState) => state.loaded;\r\nexport const getSchoolSearchErrors = (state: SearchResultsState) => state.errors;\r\n","import { Component, OnInit, OnDestroy } from '@angular/core';\r\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\n\r\nimport { Observable } from 'rxjs';\r\nimport { takeWhile, tap } from 'rxjs/operators';\r\n\r\nimport { select, Store } from '@ngrx/store';\r\nimport { districtNcesIdSources } from '../../scp-common/models/ncesIdSources';\r\nimport { District } from '../models';\r\nimport * as fromStore from '../store';\r\n\r\n@Component({\r\n\tselector: 'opus-district-addl-details-editor',\r\n\ttemplateUrl: './district-addl-details-editor.component.html',\r\n})\r\nexport class DistrictAddlDetailsEditorComponent implements OnInit, OnDestroy {\r\n\talive = true;\r\n\tdistrict$: Observable;\r\n\tpanelState$: Observable;\r\n\tdistrict: District;\r\n\tpanelState: fromStore.PanelState;\r\n\tpanelId = fromStore.PanelId.AddlDetails;\r\n\teditor: FormGroup;\r\n\tmonths: string[] = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'];\r\n\tdays: string[];\r\n districtNcesIdSourcesAll: string[] = districtNcesIdSources;\r\n\r\n\tconstructor(private store: Store, private fb: FormBuilder) {\r\n\t\tconsole.log('DistrictAddlDetailsEditorComponent()...');\r\n\t}\r\n\r\n\tngOnInit() {\r\n\t\tconsole.log('DistrictAddlDetailsEditorComponent.ngOnInit()...');\r\n\r\n\t\tthis.district$ = this.store.pipe(select(fromStore.getDetailsStateDistrict));\r\n\t\tthis.district$.pipe(\r\n\t\t\ttakeWhile(() => this.alive)\r\n\t\t).subscribe(d => this.district = d);\r\n\r\n\t\tthis.panelState$ = this.store.pipe(select(fromStore.getDetailsStateAddlDetailsPanel));\r\n\t\tthis.panelState$.pipe(\r\n\t\t\ttakeWhile(() => this.alive),\r\n\t\t\ttap(s => {\r\n\t\t\t\tif (!s.editing && this.panelState && this.panelState.editing) {\r\n\t\t\t\t\tconsole.log('DistrictAddlDetailsEditorComponent.panelState$: clearing form...');\r\n\t\t\t\t\tthis.resetForm();\r\n\t\t\t\t}\r\n\t\t\t}),\r\n\t\t).subscribe(s => this.panelState = s);\r\n\r\n\t\tthis.createForm();\r\n\t}\r\n\r\n\tngOnDestroy() {\r\n\t\tconsole.log('DistrictAddlDetailsEditorComponent.ngOnDestroy()...');\r\n\t\tthis.alive = false;\r\n\t}\r\n\r\n\tcreateForm() {\r\n\t\tconst budgetEnd: Date = this.district.budgetEnd\r\n\t\t\t? new Date(Date.parse(this.district.budgetEnd))\r\n\t\t\t: new Date(9999, 0, 1);\r\n\r\n\t\tthis.editor = this.fb.group({\r\n ncesDistrictId: [this.district.ncesDistrictId],\r\n ncesIdSource: [this.district.ncesIdSource || ''],\r\n\t\t\tbudgetEndMonth: [budgetEnd.getMonth()],\r\n\t\t\tbudgetEndDay: [budgetEnd.getDate()],\r\n\t\t});\r\n\r\n\t\tthis.days = this.getDaysInMonth(budgetEnd.getMonth());\r\n\t\tthis.onBudgetEndChanges();\r\n\t}\r\n\r\n\tresetForm() {\r\n\t\tconst budgetEnd: Date = this.district.budgetEnd\r\n\t\t\t? new Date(Date.parse(this.district.budgetEnd))\r\n\t\t\t: new Date(9999, 0, 1);\r\n\r\n\t\tthis.editor.reset({\r\n ncesDistrictId: this.district.ncesDistrictId,\r\n ncesIdSource: [this.district.ncesIdSource || ''],\r\n\t\t\tbudgetEndMonth: budgetEnd.getMonth(),\r\n\t\t\tbudgetEndDay: budgetEnd.getDate(),\r\n\t\t});\r\n\t}\r\n\r\n\tonBudgetEndChanges() {\r\n\t\tthis.editor.get('budgetEndMonth').valueChanges.pipe(\r\n\t\t\ttakeWhile(() => this.alive),\r\n\t\t).subscribe(val => {\r\n\t\t\tconsole.log('budgetEndMonth.valueChanges: ', val);\r\n\r\n\t\t\tthis.days = this.getDaysInMonth(val);\r\n\r\n\t\t\tif (+this.editor.get('budgetEndDay').value > +this.days[this.days.length - 1]) {\r\n\t\t\t\tthis.editor.get('budgetEndDay').setValue(this.days[this.days.length - 1], { emitEvent: false });\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n\r\n\tgetDaysInMonth(month) {\r\n\t\tconst days: string[] = [];\r\n\r\n\t\tfor (let i = 1; i <= new Date(9999, +month + 1, 0).getDate(); i++) {\r\n\t\t\tdays.push(i.toString());\r\n\t\t}\r\n\r\n\t\treturn days;\r\n\t}\r\n\r\n get districtNcesIdSources(): string[] {\r\n return this.districtNcesIdSourcesAll;\r\n }\r\n\r\n\tget canSave(): boolean {\r\n\t\treturn !this.panelState.updating;\r\n\t}\r\n\r\n\tget saveButtonLabel(): string {\r\n\t\treturn this.panelState.updating ? 'Saving...' : 'Save';\r\n\t}\r\n\r\n\tonSubmit() {\r\n\t\tconsole.log('onSubmit: ', this.editor.status);\r\n\r\n\t\tconst budgetEnd = `${+this.editor.value.budgetEndMonth + 1}/${this.editor.value.budgetEndDay}/9999`;\r\n const ncesDistrictId = this.editor.value.ncesDistrictId || null;\r\n const ncesIdSource = this.editor.value.ncesIdSource || null;\r\n const isActive = this.district.isActive;\r\n\r\n\t\tconst district = {\r\n\t\t\t...this.district,\r\n\t\t\tisActive,\r\n ncesDistrictId,\r\n ncesIdSource,\r\n\t\t\tbudgetEnd,\r\n\t\t};\r\n\r\n\t\tthis.store.dispatch(new fromStore.UpdateDistrictPanel({ panel: fromStore.PanelId.AddlDetails, district }));\r\n\t}\r\n}\r\n","
\r\n\t
    \r\n\t\t
  • \r\n\t\t\t\r\n\t\t\t
    \r\n\t\t\t\t\r\n\t\t\t
    \r\n\t\t
  • \r\n\t\t\r\n\t\t
  • \r\n\t\t\t\r\n\t\t\t
    \r\n\t\t\t\t
    \r\n\t\t\t\t\t
    \r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
    \r\n\t\t\t\t\t
    \r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
    \r\n\t\t\t\t
    \r\n\t\t\t
    \r\n\t\t
  • \r\n\t\t
  • \r\n\t\t\t
    Latitude
    \r\n\t\t\t
    {{ district.latitude }}
    \r\n\t\t
  • \r\n\t\t
  • \r\n\t\t\t
    Longitude
    \r\n\t\t\t
    {{ district.longitude }}
    \r\n\t\t
  • \r\n\t\t
  • \r\n\t\t\t
    Time Zone
    \r\n\t\t\t
    {{ district.ianaTimeZoneId }}
    \r\n\t\t
  • \r\n\t
\r\n\t
\r\n\t\t
\r\n\t\t\t\r\n\t\t
\r\n\t
\r\n
\r\n","import { HttpErrorResponse } from '@angular/common/http';\r\n\r\nimport { Action } from '@ngrx/store';\r\n\r\nimport { HistorySnapshot, HistoryDetails } from '../../models/history.model';\r\n\r\nexport enum HistoryActionTypes {\r\n\tLoadSnapshot = '[History] Load Snapshot',\r\n\tLoadSnapshotSuccess = '[History] Load Snapshot Success',\r\n\tLoadSnapshotFailure = '[History] Load Snapshot Failure',\r\n\tLoadHistory = '[History] Load History',\r\n\tLoadHistorySuccess = '[History] Load History Success',\r\n\tLoadHistoryFailure = '[History] Load History Failure',\r\n}\r\n\r\nexport class LoadSnapshot implements Action {\r\n\treadonly type = HistoryActionTypes.LoadSnapshot;\r\n\tconstructor(public payload: { contextName: string, contextId: number, scope: string }) { }\r\n}\r\n\r\nexport class LoadSnapshotSuccess implements Action {\r\n\treadonly type = HistoryActionTypes.LoadSnapshotSuccess;\r\n\tconstructor(public payload: HistorySnapshot) { }\r\n}\r\n\r\nexport class LoadSnapshotFailure implements Action {\r\n\treadonly type = HistoryActionTypes.LoadSnapshotFailure;\r\n\tconstructor(public payload: any) { }\r\n}\r\n\r\nexport class LoadHistory implements Action {\r\n\treadonly type = HistoryActionTypes.LoadHistory;\r\n\tconstructor(public payload: { contextName: string, contextId: number, scope: string, fromDate: string, toDate: string }) { }\r\n}\r\n\r\nexport class LoadHistorySuccess implements Action {\r\n\treadonly type = HistoryActionTypes.LoadHistorySuccess;\r\n\tconstructor(public payload: HistoryDetails) { }\r\n}\r\n\r\nexport class LoadHistoryFailure implements Action {\r\n\treadonly type = HistoryActionTypes.LoadHistoryFailure;\r\n\tconstructor(public payload: HttpErrorResponse) { }\r\n}\r\n\r\nexport type HistoryActions =\r\n\t| LoadSnapshot\r\n\t| LoadSnapshotSuccess\r\n\t| LoadSnapshotFailure\r\n\t| LoadHistory\r\n\t| LoadHistorySuccess\r\n\t| LoadHistoryFailure;\r\n","\r\n
    \r\n
  • \r\n
    Date
    \r\n
    {{ event.start | date:'M/d/yyyy' }}
    \r\n
  • \r\n
  • \r\n
    Day of Week
    \r\n
    {{ event.start | date:'EEEE' }}
    \r\n
  • \r\n
  • \r\n
    Arrival Time
    \r\n
    {{ event.arrival | date:'shortTime' }}
    \r\n
  • \r\n
  • \r\n
    Start Time
    \r\n
    {{ event.start | date:'shortTime' }}
    \r\n
  • \r\n
  • \r\n
    End Time
    \r\n
    {{ event.end | date:'shortTime' }}
    \r\n
  • \r\n
  • \r\n
    Quick Code Expiration Date
    \r\n
    {{ event.expirationDate | date:'M/d/yyyy' }}
    \r\n
  • \r\n
  • \r\n
    Time Zone
    \r\n
    {{ event.eventAtHostSchool ? event.hostingSchoolAddress.ianaTimeZoneId : event.eventAddress.ianaTimeZoneId }}
    \r\n
  • \r\n
\r\n","import { Component, Input } from '@angular/core';\r\n\r\nimport { Event } from '../../models';\r\n\r\n@Component({\r\n selector: 'event-date-time',\r\n templateUrl: './event-date-time.component.html',\r\n})\r\nexport class EventDateTimeComponent {\r\n @Input() event: Event;\r\n\r\n}\r\n","export * from './details.selectors';\r\nexport * from './event-searchresults.selectors';\r\n","import { Component, OnInit, OnDestroy, ChangeDetectorRef, ElementRef, ViewChild } from '@angular/core';\r\nimport { FormBuilder, FormGroup } from '@angular/forms';\r\n\r\nimport { Observable } from 'rxjs';\r\nimport { takeWhile, tap } from 'rxjs/operators';\r\n\r\nimport { select, Store } from '@ngrx/store';\r\n\r\nimport { State } from '../../../core/store';\r\nimport { District, RelationshipManager } from '../models';\r\nimport { RelationshipType, LocationManager } from '../../scp-common/models';\r\nimport * as fromStore from '../store';\r\nimport * as fromScpStore from '../../scp-common/store';\r\n\r\ndeclare var $: any;\r\ndeclare var Foundation: any;\r\n\r\n@Component({\r\n selector: 'opus-district-relationship-editor',\r\n templateUrl: './district-relationship-editor.component.html',\r\n})\r\nexport class DistrictRelationshipEditorComponent implements OnInit, OnDestroy {\r\n @ViewChild('managerDropdown', {static: true})\r\n managerDropdown: ElementRef;\r\n\r\n managerFoundationDropdown: any;\r\n\r\n alive = true;\r\n districtDetails$: Observable;\r\n panelState$: Observable;\r\n locations$: Observable;\r\n district: District;\r\n panelState: fromStore.PanelState;\r\n editor: FormGroup;\r\n locationId?: number = null;\r\n locationCode?: number = null;\r\n inLocationLookup = false;\r\n locationLookupError: string = null;\r\n isSubmitting = false;\r\n managerByNameLookup$: Observable;\r\n managerByNameLookup: fromScpStore.ManagerByNameLookupState;\r\n lookupManagerName: string;\r\n\r\n constructor(private store: Store, private fb: FormBuilder, private cdr: ChangeDetectorRef) {\r\n console.log('DistrictRelationshipEditorComponent()...');\r\n }\r\n\r\n ngOnInit() {\r\n console.log('DistrictRelationshipEditorComponent.ngOnInit()...');\r\n\r\n this.districtDetails$ = this.store.pipe(select(fromStore.getDetailsStateDistrict));\r\n this.districtDetails$.pipe(\r\n takeWhile(() => this.alive)\r\n ).subscribe(d => {\r\n console.log('districtDetails$ sub: ', d);\r\n\r\n this.district = d;\r\n this.locationId = d.relationshipManager.locationId;\r\n });\r\n\r\n this.panelState$ = this.store.pipe(select(fromStore.getDetailsStateRelationshipPanel));\r\n this.panelState$.pipe(\r\n takeWhile(() => this.alive),\r\n tap(ps => {\r\n if (!ps.editing && this.panelState && this.panelState.editing) {\r\n console.log('DistrictRelationshipEditorComponent.panelState$: clearing form...');\r\n this.resetForm();\r\n }\r\n }),\r\n ).subscribe(ps => {\r\n console.log('panelState$ sub: ', ps);\r\n\r\n this.panelState = ps;\r\n });\r\n\r\n this.locations$ = this.store.pipe(select(fromScpStore.getLocationsState));\r\n this.locations$.pipe(\r\n takeWhile(() => this.alive),\r\n ).subscribe(ls => {\r\n console.log('locations$ sub: ', ls);\r\n\r\n if (this.locationCode === null) {\r\n return;\r\n }\r\n\r\n const lms: fromScpStore.LocationManagerState = ls.locationManagers[this.locationCode];\r\n\r\n if (lms && !lms.pending && this.inLocationLookup) {\r\n this.inLocationLookup = false;\r\n this.locationLookupError = lms.error;\r\n\r\n if (!lms.error) {\r\n this.locationId = lms.manager == null ? null : lms.manager.id;\r\n this.editor.controls.managerName.patchValue(lms.manager == null ? '' : lms.manager.manager);\r\n\r\n if (this.isSubmitting) {\r\n this.update();\r\n }\r\n } else {\r\n this.editor.controls.relationshipManagerCode.setErrors({ 'notFound': true });\r\n }\r\n\r\n this.isSubmitting = false;\r\n this.cdr.detectChanges();\r\n }\r\n });\r\n\r\n this.createForm();\r\n\r\n this.managerByNameLookup$ = this.store.pipe(select(fromScpStore.getLocationsStateLookup));\r\n this.managerByNameLookup$.pipe(\r\n takeWhile(() => this.alive)\r\n ).subscribe(managerByNameLookup => {\r\n this.managerByNameLookup = managerByNameLookup;\r\n\r\n if (managerByNameLookup && managerByNameLookup.managers && managerByNameLookup.name == this.lookupManagerName) {\r\n //Trigger the drop down\r\n if (!this.managerFoundationDropdown) {\r\n this.managerFoundationDropdown = new Foundation.Dropdown($(this.managerDropdown.nativeElement).first());\r\n }\r\n\r\n const native = $(this.managerDropdown.nativeElement).first();\r\n\r\n if (!native.hasClass('is-open')) {\r\n native.foundation('open');\r\n }\r\n\r\n this.cdr.detectChanges();\r\n }\r\n });\r\n }\r\n\r\n ngOnDestroy() {\r\n console.log('DistrictRelationshipEditorComponent.ngOnDestroy()...');\r\n\r\n this.alive = false;\r\n }\r\n\r\n createForm() {\r\n this.editor = this.fb.group({\r\n inheritRelationshipManager: [this.district.inheritRelationshipManager],\r\n relationshipManagerCode: [this.district.relationshipManager.locationCode],\r\n managerName: [this.district.relationshipManager.name],\r\n inheritRelationshipType: [this.district.inheritRelationshipType],\r\n relationshipType: [this.district.relationshipType.relationshipType],\r\n });\r\n\r\n this.editor.controls.relationshipManagerCode.valueChanges.pipe(\r\n takeWhile(() => this.alive),\r\n ).subscribe(code => {\r\n //\twhen the Manager ID form field is changed, clear out or restore our locationId if it doesn't match the original\r\n this.locationId = code == this.district.relationshipManager.locationCode ? this.district.relationshipManager.locationId : null;\r\n this.locationCode = code;\r\n });\r\n }\r\n\r\n resetForm() {\r\n this.editor.reset({\r\n inheritRelationshipManager: this.district.inheritRelationshipManager,\r\n relationshipManagerCode: this.district.relationshipManager.locationCode,\r\n managerName: this.district.relationshipManager.name,\r\n inheritRelationshipType: this.district.inheritRelationshipType,\r\n relationshipType: this.district.relationshipType.relationshipType,\r\n });\r\n }\r\n\r\n get inheritedRelationshipType() {\r\n return RelationshipType[this.district.inheritedRelationshipType.relationshipType];\r\n }\r\n\r\n get canSave(): boolean {\r\n return this.editor.valid && this.editor.dirty;\r\n }\r\n\r\n get saveButtonLabel(): string {\r\n return this.panelState.updating ? 'Saving...' : 'Save';\r\n }\r\n\r\n onSubmit() {\r\n console.log('onSubmit: ', this.editor.status, this.editor.value);\r\n\r\n const code = this.editor.value.relationshipManagerCode;\r\n\r\n //\tif we have a locationId, then it either hasn't been changed, or it has been looked up already\r\n if (this.locationId !== null) {\r\n console.log('onSubmit(): Skipping location lookup...', this.locationId);\r\n\r\n this.update();\r\n\r\n return;\r\n }\r\n\r\n this.inLocationLookup = true;\r\n this.isSubmitting = true;\r\n this.store.dispatch(new fromScpStore.GetLocation({ code }));\r\n }\r\n\r\n lookupManagerByName($event: any) {\r\n $event.stopPropagation();\r\n $event.preventDefault();\r\n\r\n this.lookupManagerName = this.editor.value.managerName;\r\n\r\n if ($event.code == 'Escape' || $event.code == 'Tab') {\r\n const native = $(this.managerDropdown.nativeElement).first();\r\n\r\n if (native.hasClass('is-open')) {\r\n native.foundation('close');\r\n }\r\n } else {\r\n if (this.lookupManagerName && this.lookupManagerName.length > 3) {\r\n this.store.dispatch(new fromScpStore.GetManagersByName({ name: this.lookupManagerName }));\r\n }\r\n }\r\n }\r\n\r\n selectManager(manager: LocationManager) {\r\n if (manager) {\r\n this.editor.controls.managerName.patchValue(manager.manager);\r\n this.editor.controls.relationshipManagerCode.patchValue(manager.code);\r\n this.locationId = manager.id;\r\n }\r\n }\r\n\r\n onApplyManagerId() {\r\n console.log('onApplyManagerId(): ', this.editor.value.relationshipManagerCode);\r\n\r\n const code = this.editor.value.relationshipManagerCode;\r\n\r\n this.inLocationLookup = true;\r\n this.store.dispatch(new fromScpStore.GetLocation({ code }));\r\n }\r\n\r\n private update() {\r\n console.log('update():', this.editor.value);\r\n\r\n const inheritRelationshipManager = this.editor.value.inheritRelationshipManager;\r\n const relationshipManager = this.getRelationshipManager();\r\n const inheritRelationshipType = this.editor.value.inheritRelationshipType;\r\n const relationshipType = this.getRelationshipType();\r\n const district: District = {\r\n ...this.district,\r\n inheritRelationshipManager,\r\n relationshipManager,\r\n inheritRelationshipType,\r\n relationshipType,\r\n };\r\n\r\n console.log('update(): ', district);\r\n\r\n this.store.dispatch(new fromStore.UpdateDistrictPanel({ panel: fromStore.PanelId.Relationship, district }));\r\n }\r\n\r\n private getRelationshipManager(): RelationshipManager {\r\n //\tif we're not inheriting, update the rm properties\r\n if (!this.editor.value.inheritRelationshipManager) {\r\n return {\r\n ...this.district.relationshipManager,\r\n locationId: this.locationId,\r\n };\r\n }\r\n\r\n //\totherwise send it back unchanged\r\n return {\r\n ...this.district.relationshipManager,\r\n };\r\n }\r\n\r\n private getRelationshipType(): { id: number, relationshipType: RelationshipType } {\r\n if (!this.editor.value.inheritRelationshipType) {\r\n return {\r\n ...this.district.relationshipType,\r\n relationshipType: +this.editor.value.relationshipType,\r\n };\r\n }\r\n\r\n return {\r\n ...this.district.relationshipType,\r\n };\r\n }\r\n}\r\n","
\r\n\t
\r\n\t
    \r\n\t\t
  • \r\n\t\t\t
    \r\n\t\t\t\t\r\n\t\t\t
    \r\n\t\t
  • \r\n\t\t\r\n\t\t\t
  • \r\n\t\t\t\t\r\n\t\t\t\t
    \r\n\t\t\t\t\t
    \r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t
    \r\n\t\t\t\t\t
      \r\n\t\t\t\t\t\t
    • {{ locationLookupError }}
    • \r\n\t\t\t\t\t
    \r\n\t\t\t\t
    \r\n\t\t\t
  • \r\n\t\t\t
  • \r\n\t\t\t\t
    \r\n\t\t\t\t\t\r\n\t\t\t\t\t

    \r\n\t\t\t\t\t\tStart typing the name of the manager.\r\n\t\t\t\t\t

    \r\n\t\t\t\t
    \r\n\t\t\t\t
    \r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t
      \r\n\t\t\t\t\t\t
    • \r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t
    • \r\n\t\t\t\t\t
    \r\n\t\t\t\t
    \r\n\t\t\t
  • \r\n\t\t
    \r\n\t\t\r\n\t\t\t
  • \r\n\t\t\t\t
    Manager ID
    \r\n\t\t\t\t
    {{ district.inheritedRelationshipManager.locationCode }}
    \r\n\t\t\t
  • \r\n\t\t\t
  • \r\n\t\t\t\t
    Manager Name
    \r\n\t\t\t\t
    {{ district.inheritedRelationshipManager.name }}
    \r\n\t\t\t
  • \r\n\t\t
    \r\n\t\t
  • \r\n\t\t\t\r\n\t\t\t
    \r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t
    {{ inheritedRelationshipType }}
    \r\n\t\t\t\t
    \r\n\t\t\t
    \r\n\t\t
  • \r\n\t
\r\n\t
\r\n\t\t
\r\n\t\t\t\r\n\t\t
\r\n\t
\r\n
\r\n","import { Injectable } from '@angular/core';\r\n\r\nimport { tap, switchMap, map, catchError, withLatestFrom } from 'rxjs/operators';\r\nimport { of } from 'rxjs';\r\n\r\nimport { select, Store } from '@ngrx/store';\r\nimport { Actions, createEffect, ofType } from '@ngrx/effects';\r\n\r\nimport { MessageType } from '../../../core/models';\r\nimport * as fromRoot from '../../../core/store';\r\n\r\nimport { MerchState, CombosState } from '../reducers';\r\nimport * as merchActions from '../actions';\r\nimport * as fromServices from '../../services';\r\nimport * as fromSelectors from '../selectors';\r\nimport { RentalCategory } from '../../models';\r\n\r\n@Injectable()\r\nexport class MerchEffects {\r\n\tconstructor(private actions$: Actions, private merchService: fromServices.MerchService, private store: Store) { }\r\n\r\n\t\r\n\tloadClasses$ = createEffect(() => this.actions$.pipe(\r\n\t\tofType(merchActions.MerchActionTypes.LoadClasses),\r\n\t\ttap(a => console.log('Entering loadClasses$ effect: ', a)),\r\n withLatestFrom(this.store.pipe(select(fromSelectors.getCombosState))),\r\n\t\tswitchMap(([action, state]: [merchActions.LoadClasses, CombosState]) => {\r\n\t\t\tif (state.classes !== null) {\r\n\t\t\t\tconsole.log('loadClasses$: Instrument classes already loaded: ', state.classes);\r\n\r\n\t\t\t\treturn of(new merchActions.LoadClassesSuccess(state.classes));\r\n\t\t\t}\r\n\r\n\t\t\treturn this.merchService.getInstrumentClasses().pipe(\r\n\t\t\t\ttap(classes => {\r\n\t\t\t\t\tconsole.log(`getInstrumentClasses returned:`, classes);\r\n\t\t\t\t}),\r\n\t\t\t\tmap(classes => {\r\n\t\t\t\t\treturn new merchActions.LoadClassesSuccess(classes);\r\n\t\t\t\t}),\r\n\t\t\t\tcatchError(error => of(new merchActions.LoadClassesFailure(this.getErrorMessage(error)))),\r\n\t\t\t);\r\n\t\t}),\r\n\t\ttap(a => console.log('Exiting loadClasses$ effect: ', a)),\r\n\t));\r\n\r\n\t\r\n\tloadClassesFailure$ = createEffect(() => this.actions$.pipe(\r\n\t\tofType(merchActions.MerchActionTypes.LoadClassesFailure),\r\n\t\tswitchMap((a: merchActions.LoadClassesFailure) => {\r\n\t\t\treturn of(new fromRoot.DisplayMessage({\r\n\t\t\t\tmessage: a.payload,\r\n\t\t\t\tmessageType: MessageType.alert,\r\n\t\t\t\ttoast: false,\r\n\t\t\t}));\r\n\t\t})\r\n\t));\r\n\r\n\t\r\n\tloadCombos$ = createEffect(() => this.actions$.pipe(\r\n\t\tofType(merchActions.MerchActionTypes.LoadCombos),\r\n\t\ttap(a => console.log('Entering loadCombos$ effect: ', a)),\r\n\t\twithLatestFrom(this.store.pipe(select(fromSelectors.getCombosState))),\r\n\t\tswitchMap(([action, state]: [merchActions.LoadCombos, CombosState]) => {\r\n\t\t\tconst classId = action.payload;\r\n\t\t\tconst combos = state.classCombos[classId].combos;\r\n\r\n\t\t\tif (state.classCombos[classId] && state.classCombos[classId].combos) {\r\n\t\t\t\tconsole.log(`loadCombos$: Instrument combos for class ${classId} already loaded: `, state.classes);\r\n\r\n\t\t\t\treturn of(new merchActions.LoadCombosSuccess({ classId, combos }));\r\n\t\t\t}\r\n\r\n\t\t\treturn this.merchService.getInstrumentCombos(classId).pipe(\r\n\t\t\t\ttap(combos => {\r\n\t\t\t\t\tconsole.log(`getInstrumentCombos returned:`, combos);\r\n\t\t\t\t}),\r\n\t\t\t\tmap(combos => {\r\n\t\t\t\t\treturn new merchActions.LoadCombosSuccess({ classId, combos });\r\n\t\t\t\t}),\r\n\t\t\t\tcatchError(error => of(new merchActions.LoadCombosFailure({ classId, error }))),\r\n\t\t\t);\r\n\t\t}),\r\n\t\ttap(a => console.log('Exiting loadCombos$ effect: ', a)),\r\n\t));\r\n\r\n\t\r\n\tloadCombosFailure$ = createEffect(() => this.actions$.pipe(\r\n\t\tofType(merchActions.MerchActionTypes.LoadCombosFailure),\r\n\t\tswitchMap((a: merchActions.LoadCombosFailure) => {\r\n\t\t\treturn of(new fromRoot.DisplayMessage({\r\n\t\t\t\tmessage: this.getErrorMessage(a.payload.error),\r\n\t\t\t\tmessageType: MessageType.alert,\r\n\t\t\t\ttoast: false,\r\n\t\t\t}));\r\n\t\t})\r\n ));\r\n\r\n \tloadRentalCategories$ = createEffect(() => this.actions$.pipe(\r\n\t\tofType(merchActions.MerchActionTypes.LoadRentalCategories),\r\n\t\ttap(a => console.log('Entering loadRentalCategories$ Effect: ', a)),\r\n\t\twithLatestFrom(this.store.pipe(select(fromSelectors.getCombosState))),\r\n\t\tmap(([action, state]: [merchActions.LoadRentalCategories, CombosState]) => {\r\n\t\t\treturn { action, state };\r\n\t\t}),\r\n\t\tswitchMap(({ action, state }: { action: merchActions.LoadRentalCategories, state: CombosState }) => {\r\n\t\t\tconst rentalCategoryCode = action.payload;\r\n\t\t\t\r\n\t\t\tif (state && state.rentalCategories) {\r\n\t\t\t\tconsole.log(`loadRentalCategories$: Rental Categories already loaded.`);\r\n\t\t\t\treturn of(new merchActions.LoadRentalCategoriesSuccess({ rentalCategories: state.rentalCategories }));\r\n\t\t\t}\r\n\r\n\t\t\treturn this.merchService.getRentalCategories(rentalCategoryCode).pipe(\r\n\t\t\t\ttap(rentalCategories => {\r\n\t\t\t\t\tconsole.log(`getRentalCategories returned:`, rentalCategories);\r\n\t\t\t\t}),\r\n\t\t\t\tmap((rentalCategories: RentalCategory[]) => {\r\n\t\t\t\t\treturn new merchActions.LoadRentalCategoriesSuccess({ rentalCategories: rentalCategories });\r\n\t\t\t\t}),\r\n\t\t\t\tcatchError(error => of(new merchActions.LoadRentalCategoriesFailure({ error })))\r\n\t\t\t);\r\n\t\t}),\r\n\t\tcatchError(err => {\r\n\t\t\treturn of(new merchActions.LoadRentalCategoriesFailure({ error: err }));\r\n\t\t}),\r\n\t\ttap(a => console.log('Exiting loadRentalCategories$ Effect: ', a)),\r\n\t));\r\n\r\n\tloadRentalCategoriesFailure$ = createEffect(() => this.actions$.pipe(\r\n\t\tofType(merchActions.MerchActionTypes.LoadRentalCategoriesFailure),\r\n\t\tswitchMap((a: merchActions.LoadRentalCategoriesFailure) => {\r\n\t\t\treturn of(new fromRoot.DisplayMessage({\r\n\t\t\tmessage: this.getErrorMessage(a.payload.error),\r\n\t\t\tmessageType: MessageType.alert,\r\n\t\t\ttoast: false,\r\n\t\t\t}));\r\n\t\t})\r\n\t));\r\n\r\n\tloadRentalCategoryDetails$ = createEffect(() => this.actions$.pipe(\r\n\t\tofType(merchActions.MerchActionTypes.LoadRentalCategoryDetails),\r\n\t\ttap(a => console.log('Entering loadRentalCategoryDetails$ Effect: ', a)),\r\n\t\twithLatestFrom(this.store.pipe(select(fromSelectors.getCombosState))),\r\n\t\tmap(([action, state]: [merchActions.LoadRentalCategoryDetails, CombosState]) => {\r\n\t\t\treturn { action, state };\r\n\t\t}),\r\n\t\tswitchMap(({ action, state }: { action: merchActions.LoadRentalCategoryDetails, state: CombosState }) => {\r\n\t\t\tconst rentalCategoryId = action.payload;\r\n\t\t\t\r\n\t\t\tif (state && state.rentalCategoryDetails) {\r\n\t\t\t\tconsole.log(`loadRentalCategoryDetails$: Rental Categories Details already loaded.`);\r\n\t\t\t\treturn of(new merchActions.LoadRentalCategoryDetailsSuccess({ rentalCategory: state.rentalCategoryDetails }));\r\n\t\t\t}\r\n\r\n\t\t\treturn this.merchService.getRentalCategoryDetails(rentalCategoryId).pipe(\r\n\t\t\t\ttap(rentalCategoryDetails => {\r\n\t\t\t\t\tconsole.log(`getRentalCategoryDetails returned:`, rentalCategoryDetails);\r\n\t\t\t\t}),\r\n\t\t\t\tmap((rentalCategory: RentalCategory) => {\r\n\t\t\t\t\treturn new merchActions.LoadRentalCategoryDetailsSuccess({ rentalCategory: rentalCategory });\r\n\t\t\t\t}),\r\n\t\t\t\tcatchError(error => of(new merchActions.LoadRentalCategoryDetailsFailure({ error })))\r\n\t\t\t);\r\n\t\t}),\r\n\t));\r\n \r\n loadProductGroups$ = createEffect(() => this.actions$.pipe(\r\n\tofType(merchActions.MerchActionTypes.LoadProductGroups),\r\n tap(a => console.log('Entering loadProductGroups$ effect: ', a)),\r\n withLatestFrom(this.store.pipe(select(fromSelectors.getCombosState))),\r\n switchMap(([action, state]: [merchActions.LoadProductGroups, CombosState]) => {\r\n if (state.productGroups !== null) {\r\n console.log('loadProductGroups$: Product Groups already loaded: ', state.productGroups);\r\n\r\n return of(new merchActions.LoadProductGroupsSuccess(state.productGroups));\r\n }\r\n\r\n return this.merchService.getProductGroups().pipe(\r\n tap(productGroups => {\r\n console.log(`getProductGroups returned:`, productGroups);\r\n }),\r\n map(classes => {\r\n return new merchActions.LoadProductGroupsSuccess(classes);\r\n }),\r\n catchError(error => of(new merchActions.LoadProductGroupsFailure(this.getErrorMessage(error)))),\r\n );\r\n }),\r\n tap(a => console.log('Exiting loadProductGroups$ effect: ', a)),\r\n ));\r\n\r\n \r\n loadProductGroupsFailure$ = createEffect(() => this.actions$.pipe(\r\n\tofType(merchActions.MerchActionTypes.LoadProductGroupsFailure),\r\n switchMap((a: merchActions.LoadProductGroupsFailure) => {\r\n return of(new fromRoot.DisplayMessage({\r\n message: a.payload,\r\n messageType: MessageType.alert,\r\n toast: false,\r\n }));\r\n })\r\n ));\r\n\r\n \t\r\n\r\n\r\n \r\n loadProducts$ = createEffect(() => this.actions$.pipe(\r\n\tofType(merchActions.MerchActionTypes.LoadProducts),\r\n tap(a => console.log('Entering loadProducts$ effect: ', a)),\r\n withLatestFrom(this.store.pipe(select(fromSelectors.getCombosState))),\r\n switchMap(([action, state]: [merchActions.LoadProducts, CombosState]) => {\r\n const productGroupId = action.payload;\r\n const products = state.products[productGroupId].products;\r\n\r\n if (state.products[productGroupId] && state.products[productGroupId].products) {\r\n console.log(`loadProducts$: Products for Product Group ${productGroupId} already loaded: `, state.productGroups);\r\n\r\n return of(new merchActions.LoadProductsSuccess({ productGroupId, products }));\r\n }\r\n\r\n return this.merchService.getProducts(productGroupId).pipe(\r\n tap(products => {\r\n console.log(`getProducts returned:`, products);\r\n }),\r\n map(products => {\r\n if (products) {\r\n products.forEach(p => {\r\n if (p.rentalInstruments) {\r\n p.rentalInstrumentsCsv = p.rentalInstruments.map(ri => ri.name).join(', ');\r\n }\r\n })\r\n }\r\n\r\n return new merchActions.LoadProductsSuccess({ productGroupId, products });\r\n }),\r\n catchError(error => of(new merchActions.LoadProductsFailure({ productGroupId, error }))),\r\n );\r\n }),\r\n tap(a => console.log('Exiting loadProducts$ effect: ', a)),\r\n ));\r\n\r\n \r\n\tloadProductsFailure$ = createEffect(() => this.actions$.pipe(\r\n\t\tofType(merchActions.MerchActionTypes.LoadProductsFailure),\r\n\t\tswitchMap((a: merchActions.LoadProductsFailure) => {\r\n\t\treturn of(new fromRoot.DisplayMessage({\r\n\t\t\tmessage: this.getErrorMessage(a.payload.error),\r\n\t\t\tmessageType: MessageType.alert,\r\n\t\t\ttoast: false,\r\n\t\t}));\r\n\t\t})\r\n\t));\r\n\r\n\t\r\n\tsetComboAvailability$ = createEffect(() => this.actions$.pipe(\r\n\t\tofType(merchActions.MerchActionTypes.SetComboAvailability),\r\n\t\ttap(a => console.log('Entering setComboAvailability$ effect: ', a)),\r\n\t\tswitchMap((a: merchActions.SetComboAvailability) => {\r\n\t\t\tconst { classId, available, ids } = a.payload;\r\n\r\n\t\t\treturn this.merchService.setComboAvailability(available, ids).pipe(\r\n\t\t\t\tmap(() => {\r\n\t\t\t\t\treturn new merchActions.SetComboAvailabilitySuccess(a.payload);\r\n\t\t\t\t}),\r\n\t\t\t\tcatchError(error => of(new merchActions.SetComboAvailabilityFailure({ classId, error }))),\r\n\t\t\t);\r\n\t\t}),\r\n\t\ttap(a => console.log('Exiting setComboAvailability$ effect: ', a)),\r\n\t));\r\n\r\n\t\r\n\tsetComboAvailabilitySuccess$ = createEffect(() => this.actions$.pipe(\r\n\t\tofType(merchActions.MerchActionTypes.SetComboAvailabilitySuccess),\r\n\t\tswitchMap((a: merchActions.SetComboAvailabilitySuccess) => {\r\n\t\t\treturn of(new fromRoot.DisplayMessage({\r\n\t\t\t\tmessage: `Successfully made ${a.payload.ids.length} combinations ${a.payload.available ? 'available' : 'unavailable'}`,\r\n\t\t\t\tmessageType: MessageType.success,\r\n\t\t\t\ttoast: true,\r\n\t\t\t}));\r\n\t\t})\r\n\t));\r\n\r\n\t\r\n\tsetComboAvailabilityFailure$ = createEffect(() => this.actions$.pipe(\r\n\t\tofType(merchActions.MerchActionTypes.SetComboAvailabilityFailure),\r\n\t\tswitchMap((a: merchActions.SetComboAvailabilityFailure) => {\r\n\t\t\treturn of(new fromRoot.DisplayMessage({\r\n\t\t\t\tmessage: this.getErrorMessage(a.payload.error),\r\n\t\t\t\tmessageType: MessageType.alert,\r\n\t\t\t\ttoast: true,\r\n\t\t\t}));\r\n\t\t})\r\n\t));\r\n\r\n\t\r\n\tdeleteCombo$ = createEffect(() => this.actions$.pipe(\r\n\t\tofType(merchActions.MerchActionTypes.DeleteCombo),\r\n\t\ttap(a => console.log('Entering deleteCombo$ effect: ', a)),\r\n\t\tswitchMap((a: merchActions.DeleteCombo) => {\r\n\t\t\tconst { classId, id } = a.payload;\r\n\r\n\t\t\treturn this.merchService.deleteCombo(id).pipe(\r\n\t\t\t\tmap(() => {\r\n\t\t\t\t\treturn new merchActions.DeleteComboSuccess(a.payload);\r\n\t\t\t\t}),\r\n\t\t\t\tcatchError(error => of(new merchActions.DeleteComboFailure({ classId, id, error }))),\r\n\t\t\t);\r\n\t\t}),\r\n\t\ttap(a => console.log('Exiting deleteCombo$ effect: ', a)),\r\n\t));\r\n\r\n\t\r\n\tdeleteComboFailure$ = createEffect(() => this.actions$.pipe(\r\n\t\tofType(merchActions.MerchActionTypes.DeleteComboFailure),\r\n\t\tswitchMap((a: merchActions.DeleteComboFailure) => {\r\n\t\t\treturn of(new fromRoot.DisplayMessage({\r\n\t\t\t\tmessage: this.getErrorMessage(a.payload.error),\r\n\t\t\t\tmessageType: MessageType.alert,\r\n\t\t\t\ttoast: true,\r\n\t\t\t}));\r\n\t\t})\r\n\t));\r\n\r\n\tprivate getErrorMessage(error: any): string {\r\n\t\tif (error.status != 400) {\r\n\t\t\treturn error.message;\r\n\t\t}\r\n\r\n\t\treturn Object.keys(error.error).reduce((res, e) => {\r\n\t\t\treturn res + res == '' ? error.error[e] : '\\n' + error.error[e];\r\n\t\t}, '');\r\n\t}\r\n}\r\n","import { Component } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-home-component',\r\n templateUrl: './home.component.html'\r\n})\r\nexport class HomeComponent {\r\n\r\n constructor() { }\r\n\r\n}\r\n","import { Component, OnInit, OnDestroy, ElementRef, AfterViewInit, ViewChild, ChangeDetectorRef } from '@angular/core';\r\nimport { FormBuilder, FormControl, FormGroup } from '@angular/forms';\r\n\r\nimport { Observable } from 'rxjs';\r\nimport { takeWhile, tap } from 'rxjs/operators';\r\n\r\nimport { select, Store } from '@ngrx/store';\r\nimport * as fromSchoolModels from '../../schools/models';\r\n\r\nimport { ProgramDetails, ProgramTeacher } from '../models';\r\nimport * as fromStore from '../store';\r\nimport * as fromRoot from '../../../core/store';\r\nimport { MessageType } from '../../../core/models';\r\nimport { TeacherLookupCriteria } from '../../teachers/models';\r\n\r\ndeclare var $: any;\r\ndeclare var Foundation: any;\r\n\r\n@Component({\r\n selector: 'opus-program-program-teachers-editor',\r\n templateUrl: './program-program-teachers-editor.component.html',\r\n})\r\nexport class ProgramProgramTeachersEditorComponent implements OnInit, OnDestroy, AfterViewInit {\r\n @ViewChild('teacherDropdown', {static: true})\r\n teacherDropdown: ElementRef;\r\n\r\n alive = true;\r\n program$: Observable;\r\n program: ProgramDetails;\r\n editProgram: ProgramDetails;\r\n teacherFoundationDropdown: any;\r\n panelState$: Observable;\r\n panelState: fromStore.PanelState;\r\n\r\n lookupTeacherId: number;\r\n lookupTeacherName: string;\r\n teacherLookup$: Observable;\r\n teacherLookup: fromStore.TeacherLookupState;\r\n selectedTeacher: fromSchoolModels.TeacherLookup = null;\r\n\r\n teacherByCriteriaLookup$: Observable;\r\n teacherByCriteriaLookup: fromStore.TeacherByCriteriaLookupState;\r\n\r\n editor: FormGroup;\r\n\r\n constructor(private store: Store, private fb: FormBuilder, private ref: ChangeDetectorRef) {\r\n console.log('ProgramInfoEditorComponent()...');\r\n }\r\n\r\n ngOnInit() {\r\n console.log('ProgramInfoEditorComponent.ngOnInit()...');\r\n\r\n this.editProgram = null;\r\n\r\n this.program$ = this.store.pipe(select(fromStore.getProgramDetailsEntity));\r\n this.program$.pipe(\r\n takeWhile(() => this.alive)\r\n ).subscribe(d => {\r\n this.program = d;\r\n this.editProgram = d;\r\n });\r\n\r\n this.panelState$ = this.store.pipe(select(fromStore.getDetailsStateProgramTeachersPanel));\r\n this.panelState$.pipe(\r\n takeWhile(() => this.alive),\r\n tap(s => {\r\n if (!s.editing && this.panelState && this.panelState.editing) {\r\n this.resetForm();\r\n }\r\n }),\r\n ).subscribe(s => this.panelState = s);\r\n\r\n this.createForm();\r\n\r\n this.teacherLookup$ = this.store.pipe(select(fromStore.getDetailsStateTeacherLookup));\r\n this.teacherLookup$.pipe(\r\n takeWhile(() => this.alive)\r\n ).subscribe(teacherLookup => {\r\n this.teacherLookup = teacherLookup;\r\n if (teacherLookup && teacherLookup.teacher && teacherLookup.teacherId == this.lookupTeacherId) {\r\n this.addProgramTeacher({\r\n id: null,\r\n teacherId: teacherLookup.teacher.id,\r\n teacherName: teacherLookup.teacher.name,\r\n isPrimary: this.editProgram.programTeachers.find(pt => pt.isPrimary) === undefined,\r\n });\r\n this.ref.detectChanges();\r\n }\r\n });\r\n\r\n this.teacherByCriteriaLookup$ = this.store.pipe(select(fromStore.getDetailsStateTeacherByCriteriaLookup));\r\n this.teacherByCriteriaLookup$.pipe(\r\n takeWhile(() => this.alive)\r\n ).subscribe(teacherByCriteriaLookup => {\r\n this.teacherByCriteriaLookup = teacherByCriteriaLookup;\r\n\r\n if (teacherByCriteriaLookup && teacherByCriteriaLookup.teachers && teacherByCriteriaLookup.criteria && teacherByCriteriaLookup.criteria.name === this.lookupTeacherName) {\r\n //Trigger the drop down\r\n if (!this.teacherFoundationDropdown) {\r\n this.teacherFoundationDropdown = new Foundation.Dropdown($(this.teacherDropdown.nativeElement).first());\r\n }\r\n\r\n const native = $(this.teacherDropdown.nativeElement).first();\r\n if (!native.hasClass('is-open'))\r\n native.foundation('open');\r\n this.ref.detectChanges();\r\n }\r\n });\r\n }\r\n\r\n ngAfterViewInit() {\r\n //console.log(this.teacherDropdown.nativeElement);\r\n }\r\n\r\n ngOnDestroy() {\r\n //console.log('ProgramInfoEditorComponent.ngOnDestroy()...');\r\n this.teacherLookup$ = null;\r\n this.teacherLookup = null;\r\n this.alive = false;\r\n }\r\n\r\n createForm() {\r\n this.editor = new FormGroup({\r\n teacherId: new FormControl(''),\r\n teacherName: new FormControl(''),\r\n isPrimary: new FormControl(false)\r\n });\r\n }\r\n\r\n lookupTeacher() {\r\n console.log('lookupTeacher called');\r\n this.lookupTeacherId = Number(this.editor.value.teacherId);\r\n\r\n //Dispatch an action called ProgramTeacherSearchById\r\n this.store.dispatch(new fromStore.TeacherLookupById({ panel: fromStore.PanelId.ProgramTeachers, teacherId: this.lookupTeacherId }));\r\n }\r\n\r\n lookupTeacherByCriteria($event: any) {\r\n console.log('lookupTeacherByCriteria called');\r\n this.lookupTeacherName = this.editor.value.teacherName;\r\n\r\n const criteria : TeacherLookupCriteria = {\r\n name: this.editor.value.teacherName,\r\n districtId: this.program.school.districtId,\r\n };\r\n\r\n if (this.program.school.physicalAddress)\r\n criteria.zip = this.program.school.physicalAddress.zip.substring(0, 5);\r\n\r\n if ($event.code == 'Escape' || $event.code == 'Tab') {\r\n const native = $(this.teacherDropdown.nativeElement).first();\r\n if (native.hasClass('is-open'))\r\n native.foundation('close');\r\n } else {\r\n if (criteria.name && criteria.name.length > 3) {\r\n //Dispatch an action called ProgramTeacherSearchById\r\n this.store.dispatch(new fromStore.TeacherLookupByCriteria({ panel: fromStore.PanelId.ProgramTeachers, criteria }));\r\n }\r\n }\r\n }\r\n\r\n addProgramTeacher(teacher: ProgramTeacher) {\r\n if (this.editProgram.programTeachers.find(s => s.teacherId == teacher.teacherId) !== undefined) {\r\n this.store.dispatch(new fromRoot.DisplayMessage({\r\n message: 'Teacher is already added',\r\n messageType: MessageType.alert,\r\n toast: true\r\n }));\r\n } else {\r\n this.editProgram = {\r\n ...this.editProgram,\r\n programTeachers: [\r\n ...this.editProgram.programTeachers,\r\n teacher\r\n ]\r\n };\r\n this.editor.controls['teacherId'].setValue('');\r\n }\r\n }\r\n\r\n addTeacher() {\r\n console.log('addTeacher called');\r\n if (this.selectedTeacher) {\r\n this.addProgramTeacher({\r\n id: null,\r\n teacherId: this.selectedTeacher.id,\r\n teacherName: this.selectedTeacher.name,\r\n isPrimary: this.editProgram.programTeachers.find(pt => pt.isPrimary) === undefined,\r\n });\r\n this.selectedTeacher = null;\r\n this.editor.controls['teacherName'].setValue('');\r\n this.ref.detectChanges();\r\n }\r\n }\r\n\r\n selectTeacher(teacher: fromSchoolModels.TeacherLookup) {\r\n if (teacher) {\r\n this.selectedTeacher = teacher;\r\n this.editor.controls['teacherName'].setValue(teacher.name);\r\n }\r\n }\r\n\r\n remove(teacher) {\r\n if (teacher) {\r\n let programTeachers = this.editProgram.programTeachers.filter(s => s != teacher);\r\n\r\n if (teacher.isPrimary && programTeachers.length > 0) {\r\n programTeachers = [...programTeachers.map((pt, i) => i == 0 ? { ...pt, isPrimary: true } : pt)];\r\n }\r\n\r\n this.editProgram = {\r\n ...this.editProgram,\r\n programTeachers,\r\n };\r\n\r\n this.ref.detectChanges();\r\n // Mark form as dirty so we enable saving (removing items doesn't affect form)\r\n this.editor.markAsDirty();\r\n }\r\n }\r\n\r\n isPrimary(teacher) {\r\n const programTeachers = this.editProgram.programTeachers.map(pt => pt.id === teacher.id ? { ...teacher, isPrimary: true } : { ...pt, isPrimary: false });\r\n\r\n this.editProgram = {\r\n ...this.editProgram,\r\n programTeachers,\r\n };\r\n\r\n this.ref.detectChanges();\r\n this.editor.markAsDirty();\r\n }\r\n\r\n resetForm() {\r\n\r\n }\r\n\r\n get canSave(): boolean {\r\n return this.editor.valid && this.editor.dirty;\r\n }\r\n\r\n get saveButtonLabel(): string {\r\n return this.panelState.updating ? 'Saving...' : 'Save';\r\n }\r\n\r\n onSubmit() {\r\n const program = {\r\n ...this.program,\r\n programTeachers: [\r\n ...this.editProgram.programTeachers\r\n ]\r\n };\r\n\r\n this.store.dispatch(new fromStore.UpdateProgramPanel({ panel: fromStore.PanelId.ProgramTeachers, program }));\r\n }\r\n}\r\n","
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n or\r\n
\r\n
\r\n \r\n \r\n \r\n
    \r\n
  • \r\n \r\n
  • \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n

\r\n Start typing the name of the teacher or search for the ID.\r\n

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n\r\n
    \r\n
  • Server error
  • \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n","import { HttpErrorResponse } from '@angular/common/http';\r\n\r\nimport * as fromHistory from '../actions/history.actions';\r\n\r\nimport { HistorySnapshot, HistoryDetails } from '../../models';\r\n\r\nexport interface SnapshotState {\r\n\tloading: boolean;\r\n\terror: any;\r\n\tdata: HistorySnapshot;\r\n}\r\n\r\nexport interface DetailsState {\r\n\tloading: boolean;\r\n\tloaded: boolean;\r\n\terror: HttpErrorResponse;\r\n data: HistoryDetails;\r\n fromDate: string;\r\n toDate: string;\r\n}\r\n\r\nexport interface HistoryState {\r\n\tsnapshot: SnapshotState;\r\n\tdetails: DetailsState;\r\n}\r\n\r\nexport const initialSnapshotState: SnapshotState = {\r\n\tloading: false,\r\n\terror: null,\r\n\tdata: null,\r\n};\r\n\r\nexport const initialDetailsState: DetailsState = {\r\n\tloading: false,\r\n\tloaded: false,\r\n\terror: null,\r\n data: undefined,\r\n fromDate: null,\r\n toDate: null\r\n};\r\n\r\nexport const initialState: HistoryState = {\r\n\tsnapshot: initialSnapshotState,\r\n\tdetails: initialDetailsState,\r\n};\r\n\r\nexport function reducer(state = initialState, action: fromHistory.HistoryActions): HistoryState {\r\n\tswitch (action.type) {\r\n\t\tcase fromHistory.HistoryActionTypes.LoadSnapshot: {\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tsnapshot: {\r\n\t\t\t\t\t...state.snapshot,\r\n\t\t\t\t\tloading: true,\r\n\t\t\t\t\tdata: null,\r\n\t\t\t\t\terror: null,\r\n\t\t\t\t},\r\n\t\t\t};\r\n\t\t}\r\n\r\n\t\tcase fromHistory.HistoryActionTypes.LoadSnapshotSuccess: {\r\n\t\t\tconst snapshot = action.payload;\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tsnapshot: {\r\n\t\t\t\t\t...state.snapshot,\r\n\t\t\t\t\tloading: false,\r\n\t\t\t\t\tdata: snapshot,\r\n\t\t\t\t},\r\n\t\t\t};\r\n\t\t}\r\n\r\n\t\tcase fromHistory.HistoryActionTypes.LoadSnapshotFailure: {\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tsnapshot: {\r\n\t\t\t\t\t...state.snapshot,\r\n\t\t\t\t\tloading: false,\r\n\t\t\t\t\terror: action.payload,\r\n\t\t\t\t},\r\n\t\t\t};\r\n\t\t}\r\n\r\n case fromHistory.HistoryActionTypes.LoadHistory: {\r\n const { fromDate, toDate } = action.payload;\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tdetails: {\r\n\t\t\t\t\t...state.details,\r\n\t\t\t\t\tloading: true,\r\n\t\t\t\t\tloaded: false,\r\n\t\t\t\t\tdata: undefined,\r\n error: null,\r\n fromDate,\r\n toDate\r\n\t\t\t\t},\r\n\t\t\t};\r\n\t\t}\r\n\r\n\t\tcase fromHistory.HistoryActionTypes.LoadHistorySuccess: {\r\n\t\t\tconst details = action.payload;\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tdetails: {\r\n\t\t\t\t\t...state.details,\r\n\t\t\t\t\tloading: false,\r\n\t\t\t\t\tloaded: details !== null,\r\n\t\t\t\t\tdata: details,\r\n\t\t\t\t\terror: null,\r\n\t\t\t\t},\r\n\t\t\t};\r\n\t\t}\r\n\r\n\t\tcase fromHistory.HistoryActionTypes.LoadHistoryFailure: {\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tdetails: {\r\n\t\t\t\t\t...state.details,\r\n\t\t\t\t\tloading: false,\r\n\t\t\t\t\tloaded: false,\r\n\t\t\t\t\terror: action.payload,\r\n\t\t\t\t},\r\n\t\t\t};\r\n\t\t}\r\n\t}\r\n\r\n\treturn state;\r\n}\r\n\r\nexport const getHistorySnapshot = (state: HistoryState) => state.snapshot;\r\nexport const getDetailsState = (state: HistoryState) => state.details;\r\nexport const getHistoryDetails = (state: DetailsState) => state.data;\r\n","import { ChangeDetectorRef, Component, OnDestroy, OnInit } from '@angular/core';\r\nimport { FormBuilder, FormControl, FormGroup } from '@angular/forms';\r\nimport { select, Store } from '@ngrx/store';\r\nimport { Observable } from 'rxjs';\r\nimport { takeWhile } from 'rxjs/operators';\r\nimport { Product } from '../models';\r\nimport * as fromStore from '../store';\r\n\r\n@Component({\r\n selector: 'opus-product-groups',\r\n templateUrl: './product-groups.component.html',\r\n})\r\nexport class ProductGroupsComponent implements OnInit, OnDestroy {\r\n alive = true;\r\n vm$: Observable;\r\n vm: fromStore.CombosState;\r\n productGroupControl = new FormControl('');\r\n selectedProductGroupId: number = null;\r\n sort = { by: 'itemId', reverse: false };\r\n\r\n constructor(private store: Store, private cdr: ChangeDetectorRef, private fb: FormBuilder) {\r\n }\r\n\r\n ngOnInit() {\r\n this.vm$ = this.store.pipe(select(fromStore.getCombosState));\r\n this.vm$.pipe(\r\n takeWhile(() => this.alive)\r\n ).subscribe(vm => {\r\n this.vm = vm;\r\n\r\n if (!vm.loadedProductGroups && !vm.loadingProductGroups && !vm.errors) {\r\n this.store.dispatch(new fromStore.LoadProductGroups());\r\n }\r\n \r\n this.cdr.detectChanges();\r\n });\r\n\r\n this.productGroupControl.valueChanges.pipe(\r\n takeWhile(() => this.alive)\r\n ).subscribe(selectedProductGroupId => {\r\n\r\n if (selectedProductGroupId !== null && selectedProductGroupId != this.selectedProductGroupId) {\r\n this.selectedProductGroupId = selectedProductGroupId;\r\n this.store.dispatch(new fromStore.LoadProducts(selectedProductGroupId));\r\n }\r\n });\r\n }\r\n\r\n ngOnDestroy() {\r\n this.alive = false;\r\n }\r\n\r\n get isLoading(): boolean {\r\n return this.selectedProductGroupId !== null && this.vm.products[this.selectedProductGroupId] && this.vm.products[this.selectedProductGroupId].loading;\r\n }\r\n\r\n get products(): Product[] {\r\n return this.vm.products[this.selectedProductGroupId] ? this.vm.products[this.selectedProductGroupId].products || [] : [];\r\n }\r\n\r\n get filteredProducts(): Product[] {\r\n let filteredProducts = [...this.products];\r\n\r\n filteredProducts.sort((a, b) => {\r\n let ret = 0;\r\n\r\n switch (this.sort.by) {\r\n case 'itemId':\r\n ret = a.productCode < b.productCode ? -1 : 1;\r\n break;\r\n case 'variantId':\r\n ret = a.variantId < b.variantId ? -1 : 1;\r\n break;\r\n case 'active':\r\n ret = a.active < b.active ? -1 : 1;\r\n break;\r\n case 'brand':\r\n ret = a.brandName < b.brandName ? -1 : 1;\r\n break;\r\n case 'itemName':\r\n ret = a.productName < b.productName ? -1 : 1;\r\n break;\r\n case 'variantName':\r\n ret = a.optionName < b.optionName ? -1 : 1;\r\n break;\r\n case 'rentalInstruments':\r\n ret = a.rentalInstruments < b.rentalInstruments ? -1 : 1;\r\n break;\r\n }\r\n\r\n return this.sort.reverse ? -ret : ret;\r\n });\r\n\r\n return filteredProducts;\r\n }\r\n\r\n sortBy(by: string) {\r\n if (by == this.sort.by) {\r\n this.sort.reverse = !this.sort.reverse;\r\n } else {\r\n this.sort.by = by;\r\n this.sort.reverse = false;\r\n }\r\n }\r\n}\r\n","\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n

The selected product group has no products to view.

\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n {{ product.productCode }}\r\n {{ product.variantId }}\r\n {{ product.active ? \"Yes\" : \"No\" }}\r\n {{ product.brandName }}\r\n {{ product.productName }}\r\n {{ product.optionName }}\r\n {{ product.rentalInstrumentsCsv }}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n","import { Component, Input } from '@angular/core';\r\n\r\nimport { StepsComponent } from './steps.component';\r\nimport { TabComponent } from './tab.component';\r\n\r\n@Component({\r\n\tselector: 'opus-step',\r\n\ttemplateUrl: './step.component.html',\r\n})\r\nexport class StepComponent extends TabComponent {\r\n\tconstructor(private steps: StepsComponent) {\r\n\t\tsuper(steps);\r\n\t}\r\n}\r\n","
\r\n\t\r\n
","import { Injectable } from '@angular/core';\r\nimport { CanActivate, ActivatedRouteSnapshot, RouterStateSnapshot } from '@angular/router';\r\n\r\nimport { Observable, of } from 'rxjs';\r\nimport { tap, filter, take, map, mergeMap } from 'rxjs/operators';\r\n\r\n\r\nimport { select, Store } from '@ngrx/store';\r\n\r\nimport * as fromRoot from '../../../core/store';\r\nimport * as fromStore from '../store';\r\n\r\n@Injectable()\r\nexport class TeacherSearchResultsGuard implements CanActivate {\r\n private _url: string;\r\n\r\n constructor(private _store: Store) {\r\n console.log('TeacherSearchResultsGuard: constructor called.');\r\n }\r\n\r\n canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable {\r\n this._url = state.url;\r\n return this.checkStore();\r\n }\r\n\r\n checkStore(): Observable {\r\n // True if we've already processed query string in guard\r\n let processedQueryString = false;\r\n\r\n console.log('teacher-searchresults.guard - checkStore()');\r\n\r\n // TODO: Make forceReload smart enough to be false if the search criteria state matches the query.\r\n //var forceReload = true;\r\n\r\n // TODO: Need to wait here somehow until process query string calls LoadTeacherSearchResults and returns.\r\n //return of(true);\r\n\r\n return this._store.pipe(\r\n select(fromRoot.getUserAuthInfo),\r\n filter(x => !!x),\r\n mergeMap(x => {\r\n\r\n if (!x.policyCodes.has('Teacher.Search')) return of(false);\r\n\r\n // TODO: Check for API error (loaded false or err, etc.). Return false if an err.\r\n return this._store.pipe(\r\n select(fromStore.getTeacherSearchState),\r\n tap(() => {\r\n //if ((!state.loaded && !state.loading && state.errors === null) || forceReload) {\r\n if (!processedQueryString) {\r\n // So we only do this dispatch once (TODO: Figure out a way for this \"tap\" to only happen once)\r\n processedQueryString = true;\r\n //forceReload = false;\r\n //this._store.dispatch(new fromStore.LoadTeacherSearchResults(splitted.length == 2 ? splitted[1] : \"\"));\r\n // Dispatch so that we process the incoming query string.\r\n this._store.dispatch(new fromStore.ProcessQueryString(this._url));\r\n }\r\n }),\r\n filter(state => state.loaded),\r\n map(state => state.loaded),\r\n take(1),\r\n );\r\n\r\n })\r\n );\r\n\r\n }\r\n}\r\n","import { CanActivate, ActivatedRouteSnapshot, RouterStateSnapshot } from '@angular/router';\r\nimport { Injectable } from '@angular/core';\r\nimport { Observable , of } from 'rxjs';\r\nimport { switchMap, catchError, map, filter } from 'rxjs/operators';\r\nimport { select, Store } from '@ngrx/store';\r\nimport * as fromRoot from '../../core/store';\r\nimport * as fromStore from '../store';\r\n\r\n@Injectable()\r\nexport class MerchProductGroupsGuard implements CanActivate {\r\n\r\n constructor(private _store: Store) {\r\n }\r\n\r\n canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable {\r\n let redirectTo;\r\n\r\n return this.checkStore().pipe(\r\n switchMap(allow => {\r\n if (!allow) {\r\n redirectTo = '/401';\r\n }\r\n\r\n return this.allowOrRedirect(allow, redirectTo);\r\n }),\r\n catchError(() => {\r\n return this.allowOrRedirect(false, '/500');\r\n }),\r\n );\r\n }\r\n\r\n checkStore(): Observable {\r\n return this._store.pipe(\r\n select(fromRoot.getUserAuthInfo),\r\n filter(x => !!x),\r\n map(x => true)\r\n //map(x => x.policyCodes.has('ProductGroups.View'))\r\n );\r\n }\r\n\r\n allowOrRedirect(allow: boolean, redirectTo: string): Observable {\r\n if (!allow) {\r\n console.log(`Redirecting to '${redirectTo}'...`);\r\n this._store.dispatch(new fromRoot.Go({ path: [redirectTo] }));\r\n }\r\n\r\n return of(allow);\r\n }\r\n}\r\n","import { HttpErrorResponse } from '@angular/common/http';\r\nimport { Action } from '@ngrx/store';\r\nimport { Event, AddressVerification, Address, EventCreate, EventPromo } from '../../models';\r\nimport { SchoolLookup, TeacherLookup } from '../../../schools/models';\r\nimport { TeacherLookupCriteria } from '../../../teachers/models';\r\n\r\nexport enum EventActionTypes {\r\n LoadEvent = '[Event] Load Event',\r\n LoadEventSuccess = '[Event] Load Event Success',\r\n LoadEventFailure = '[Event] Load Event Details Failure',\r\n UpdateEditorState = '[Event] Update Editor State',\r\n UpdateEventPanel = '[Event] Update Event Panel',\r\n UpdateEventPanelSuccess = '[Event] Update Event Panel Success',\r\n UpdateEventPanelFailure = '[Event] Update Event Panel Failure',\r\n SchoolLookupById = '[Event] Lookup School By Id',\r\n SchoolLookupByIdSuccess = '[Event] Lookup School By Id Success',\r\n SchoolLookupByIdFailure = '[Event] Lookup School By Id Failure',\r\n SchoolLookupByName = '[Event] Lookup School By Name',\r\n SchoolLookupByNameSuccess = '[Event] Lookup School By Name Success',\r\n SchoolLookupByNameFailure = '[Event] Lookup School By Name Failure',\r\n TeacherLookupById = '[Event] Lookup Teacher By Id',\r\n TeacherLookupByIdSuccess = '[Event] Lookup Teacher By Id Success',\r\n TeacherLookupByIdFailure = '[Event] Lookup Teacher By Id Failure',\r\n TeacherLookupByCriteria = '[Event] Lookup Teacher By Criteria',\r\n TeacherLookupByCriteriaSuccess = '[Event] Lookup Teacher By Criteria Success',\r\n TeacherLookupByCriteriaFailure = '[Event] Lookup Teacher By Criteria Failure',\r\n EventVerifyAddress = '[Event] Event Verify Address',\r\n EventVerifyAddressSuccess = '[Event] Event Verify Address Success',\r\n EventVerifyAddressFailure = '[Event] Event Verify Address Failure',\r\n CreateEvent = '[Event] Create Event',\r\n CreateEventSuccess = '[Event] Create Event Success',\r\n CreateEventFailure = '[Event] Create Event Failed',\r\n LoadApprovedPromos = '[Event] Load Approved Promos',\r\n LoadApprovedPromosSuccess = '[Event] Load Approved Promos Success',\r\n LoadApprovedPromosFailure = '[Event] Load Approved Promos Failure',\r\n CopyEvent = '[Event] Copy Event',\r\n CopyEventSuccess = '[Event] Copy Event Success',\r\n CopyEventFailure = '[Event] Copy Event Failed',\r\n LoadRelationshipManagers = '[Event] Load Relationship Managers',\r\n LoadRelationshipManagersSuccess = '[Event] Load Relationship Managers Success',\r\n LoadRelationshipManagersFailure = '[Event] Load Relationship Managers Failure',\r\n DownloadQrCodes = '[Report] Download Event QR Codes File',\r\n DownloadQrCodesSuccess = '[Report] Download QR Codes File Success',\r\n DownloadQrCodesFailure = '[Report] Download QR Codes File Failure',\r\n}\r\n\r\nexport class LoadEvent implements Action {\r\n readonly type = EventActionTypes.LoadEvent;\r\n constructor(public payload: number) { }\r\n}\r\n\r\nexport class LoadEventSuccess implements Action {\r\n readonly type = EventActionTypes.LoadEventSuccess;\r\n constructor(public payload: Event) { }\r\n}\r\n\r\nexport class LoadEventFailure implements Action {\r\n readonly type = EventActionTypes.LoadEventFailure;\r\n constructor(public payload: any) { }\r\n}\r\n\r\nexport class LoadApprovedPromos implements Action {\r\n readonly type = EventActionTypes.LoadApprovedPromos;\r\n constructor(public payload: any) { }\r\n}\r\n\r\nexport class LoadApprovedPromosSuccess implements Action {\r\n readonly type = EventActionTypes.LoadApprovedPromosSuccess;\r\n constructor(public payload: EventPromo[]) { }\r\n}\r\n\r\nexport class LoadApprovedPromosFailure implements Action {\r\n readonly type = EventActionTypes.LoadApprovedPromosFailure;\r\n constructor(public payload: any) { }\r\n}\r\n\r\nexport class UpdateEditorState implements Action {\r\n readonly type = EventActionTypes.UpdateEditorState;\r\n constructor(public payload: { key: string, open: boolean }) { }\r\n}\r\n\r\nexport class UpdateEventPanel implements Action {\r\n readonly type = EventActionTypes.UpdateEventPanel;\r\n constructor(public payload: { panel: string, event: Event }) { }\r\n}\r\n\r\nexport class UpdateEventPanelSuccess implements Action {\r\n readonly type = EventActionTypes.UpdateEventPanelSuccess;\r\n constructor(public payload: { panel: string, event: Event }) { }\r\n}\r\n\r\nexport class UpdateEventPanelFailure implements Action {\r\n readonly type = EventActionTypes.UpdateEventPanelFailure;\r\n constructor(public payload: { panel: string, errors: HttpErrorResponse }) { }\r\n}\r\n\r\nexport class SchoolLookupById implements Action {\r\n readonly type = EventActionTypes.SchoolLookupById;\r\n constructor(public payload: { panel: string, schoolId: number }) { }\r\n}\r\n\r\nexport class SchoolLookupByIdSuccess implements Action {\r\n readonly type = EventActionTypes.SchoolLookupByIdSuccess;\r\n constructor(public payload: { panel: string, school: SchoolLookup }) { }\r\n}\r\n\r\nexport class SchoolLookupByIdFailure implements Action {\r\n readonly type = EventActionTypes.SchoolLookupByIdFailure;\r\n constructor(public payload: { panel: string, errors: any }) { }\r\n}\r\n\r\nexport class SchoolLookupByName implements Action {\r\n readonly type = EventActionTypes.SchoolLookupByName;\r\n constructor(public payload: { panel: string, name: string }) { }\r\n}\r\n\r\nexport class SchoolLookupByNameSuccess implements Action {\r\n readonly type = EventActionTypes.SchoolLookupByNameSuccess;\r\n constructor(public payload: { panel: string, schools: SchoolLookup[] }) { }\r\n}\r\n\r\nexport class SchoolLookupByNameFailure implements Action {\r\n readonly type = EventActionTypes.SchoolLookupByNameFailure;\r\n constructor(public payload: { panel: string, errors: any }) { }\r\n}\r\n\r\nexport class TeacherLookupById implements Action {\r\n readonly type = EventActionTypes.TeacherLookupById;\r\n constructor(public payload: { panel: string, teacherId: number }) { }\r\n}\r\n\r\nexport class TeacherLookupByIdSuccess implements Action {\r\n readonly type = EventActionTypes.TeacherLookupByIdSuccess;\r\n constructor(public payload: { panel: string, teacher: TeacherLookup }) { }\r\n}\r\n\r\nexport class TeacherLookupByIdFailure implements Action {\r\n readonly type = EventActionTypes.TeacherLookupByIdFailure;\r\n constructor(public payload: { panel: string, errors: any }) { }\r\n}\r\n\r\nexport class TeacherLookupByCriteria implements Action {\r\n readonly type = EventActionTypes.TeacherLookupByCriteria;\r\n constructor(public payload: { panel: string, criteria: TeacherLookupCriteria }) { }\r\n}\r\n\r\nexport class TeacherLookupByNameSuccess implements Action {\r\n readonly type = EventActionTypes.TeacherLookupByCriteriaSuccess;\r\n constructor(public payload: { panel: string, teachers: TeacherLookup[] }) { }\r\n}\r\n\r\nexport class TeacherLookupByCriteriaFailure implements Action {\r\n readonly type = EventActionTypes.TeacherLookupByCriteriaFailure;\r\n constructor(public payload: { panel: string, errors: any }) { }\r\n}\r\n\r\nexport class EventVerifyAddress implements Action {\r\n readonly type = EventActionTypes.EventVerifyAddress;\r\n constructor(public payload: { panel: string, address: Address }) { }\r\n}\r\n\r\nexport class EventVerifyAddressSuccess implements Action {\r\n readonly type = EventActionTypes.EventVerifyAddressSuccess;\r\n constructor(public payload: { panel: string, verification: AddressVerification }) { }\r\n}\r\n\r\nexport class EventVerifyAddressFailure implements Action {\r\n readonly type = EventActionTypes.EventVerifyAddressFailure;\r\n constructor(public payload: { panel: string, address: Address, errors: any }) { }\r\n}\r\n\r\nexport class CreateEvent implements Action {\r\n readonly type = EventActionTypes.CreateEvent;\r\n constructor(public payload: { event: EventCreate }) { }\r\n}\r\n\r\nexport class CreateEventSuccess implements Action {\r\n readonly type = EventActionTypes.CreateEventSuccess;\r\n constructor(public payload: { id: number }) { }\r\n}\r\n\r\nexport class CreateEventFailure implements Action {\r\n readonly type = EventActionTypes.CreateEventFailure;\r\n constructor(public payload: { errors: any }) { }\r\n}\r\n\r\nexport class CopyEvent implements Action {\r\n readonly type = EventActionTypes.CopyEvent;\r\n constructor(public payload: { id: number, name: string, date: Date }) { }\r\n}\r\n\r\nexport class CopyEventSuccess implements Action {\r\n readonly type = EventActionTypes.CopyEventSuccess;\r\n constructor(public payload: { event: Event }) { }\r\n}\r\n\r\nexport class CopyEventFailure implements Action {\r\n readonly type = EventActionTypes.CopyEventFailure;\r\n\tconstructor(public payload: { errors: HttpErrorResponse }) { }\r\n}\r\n\r\nexport class LoadRelationshipManagers implements Action {\r\n readonly type = EventActionTypes.LoadRelationshipManagers;\r\n constructor(public payload: { id: number }) { }\r\n}\r\n\r\nexport class LoadRelationshipManagersSuccess implements Action {\r\n readonly type = EventActionTypes.LoadRelationshipManagersSuccess;\r\n constructor(public payload: { id: number, relationshipManagerEmails: string[] }) { }\r\n}\r\n\r\nexport class LoadRelationshipManagersFailure implements Action {\r\n readonly type = EventActionTypes.LoadRelationshipManagersFailure;\r\n constructor(public payload: { errors: any }) { }\r\n}\r\n\r\nexport class DownloadQrCodes implements Action {\r\n readonly type = EventActionTypes.DownloadQrCodes;\r\n constructor(public payload: { id: number }) { }\r\n}\r\n\r\nexport class DownloadQrCodesSuccess implements Action {\r\n readonly type = EventActionTypes.DownloadQrCodesSuccess;\r\n constructor(public payload: { id: number }) { }\r\n}\r\n\r\nexport class DownloadQrCodesFailure implements Action {\r\n readonly type = EventActionTypes.DownloadQrCodesFailure;\r\n constructor(public payload: { id: number, error: any }) { }\r\n}\r\n\r\nexport type EventActions =\r\n | LoadEvent\r\n | LoadEventSuccess\r\n | LoadEventFailure\r\n | UpdateEditorState\r\n | UpdateEventPanel\r\n | UpdateEventPanelFailure\r\n | UpdateEventPanelSuccess\r\n | SchoolLookupById\r\n | SchoolLookupByIdSuccess\r\n | SchoolLookupByIdFailure\r\n | SchoolLookupByName\r\n | SchoolLookupByNameSuccess\r\n | SchoolLookupByNameFailure\r\n | TeacherLookupById\r\n | TeacherLookupByIdSuccess\r\n | TeacherLookupByIdFailure\r\n | TeacherLookupByCriteria\r\n | TeacherLookupByNameSuccess\r\n | TeacherLookupByCriteriaFailure\r\n | EventVerifyAddress\r\n | EventVerifyAddressSuccess\r\n | EventVerifyAddressFailure\r\n | CreateEvent\r\n | CreateEventSuccess\r\n | CreateEventFailure\r\n | LoadApprovedPromos\r\n | LoadApprovedPromosSuccess\r\n | LoadApprovedPromosFailure\r\n | CopyEvent\r\n | CopyEventSuccess\r\n | CopyEventFailure\r\n | LoadRelationshipManagers\r\n | LoadRelationshipManagersSuccess\r\n | LoadRelationshipManagersFailure\r\n | DownloadQrCodes\r\n | DownloadQrCodesSuccess\r\n | DownloadQrCodesFailure;\r\n","import { Action } from '@ngrx/store';\r\nimport { Message } from '../../models';\r\n\r\nexport enum MessageActionTypes {\r\n DisplayMessage = '[Message] Display Message',\r\n ClearMessage = '[Message] Clear Message'\r\n}\r\n\r\nexport class DisplayMessage implements Action {\r\n readonly type = MessageActionTypes.DisplayMessage;\r\n constructor(public payload: Message) { }\r\n}\r\n\r\nexport class ClearMessage implements Action {\r\n readonly type = MessageActionTypes.ClearMessage;\r\n constructor(public payload: any = null) { }\r\n}\r\n\r\nexport type MessageActions =\r\n | DisplayMessage\r\n | ClearMessage;\r\n","export * from './teacher-details.model';\r\nexport * from './teacher-lookup-criteria.model';\r\nexport * from './teacher-paging-sorting.model';\r\nexport * from './teacher-searchcriteria.model';\r\nexport * from './teacher-searchresults.model';\r\n","export * from './actions';\r\nexport * from './effects';\r\nexport * from './reducers';\r\nexport * from './selectors';\r\n","import { DeliveryTimePeriodType } from '../../scp-common/models';\r\n\r\nexport interface EventCreate {\r\n name: string;\r\n eventTypeId: number;\r\n eventDate: Date;\r\n eventQuality: EventQuality;\r\n rentalMeetingTypeId: number;\r\n rentalFulfillmentTypeId: number;\r\n hostSchoolId: number;\r\n hostTeacherId: number;\r\n}\r\n\r\nexport interface Event {\r\n id: number;\r\n isActive: boolean;\r\n name: string;\r\n eventTypeId: number;\r\n eventTypeName: string;\r\n note: string;\r\n hostingSchoolDistrictId: number;\r\n hostingSchoolDistrictName: string;\r\n hostingSchoolId: number;\r\n hostingSchoolName: string;\r\n hostingSchoolRelationshipManagerName: string;\r\n hostingSchoolOlrLink?: string;\r\n hostingTeacherId: number;\r\n hostingTeacherName: string;\r\n arrival: Date | null;\r\n start: Date;\r\n end: Date;\r\n expirationDate: Date;\r\n eventAtHostSchool: boolean;\r\n eventAddress: Address;\r\n hostingSchoolAddress: Address;\r\n location: string;\r\n supervisor: string;\r\n staffNeeded: number;\r\n staffNames: string;\r\n rentalMeetingTypeId: number;\r\n rentalMeetingTypeName: string;\r\n rentalFulfillmentTypeId: number;\r\n rentalFulfillmentTypeName: string;\r\n mouthpieceTesting: boolean;\r\n bandProgramAttending: boolean;\r\n orchestraProgramAttending: boolean;\r\n estimatedBandRentals: number;\r\n estimatedOrchestraRentals: number;\r\n isVirtualEvent: boolean;\r\n virtualEventUrl: string;\r\n eventQuality: EventQuality;\r\n deliveryTimePeriod: DeliveryTimePeriodType;\r\n eventSchools: EventSchool[];\r\n eventPromos: EventPromo[];\r\n}\r\n\r\nexport enum EventQuality {\r\n Exclusive,\r\n Competitive\r\n}\r\n\r\nexport interface EventSchool {\r\n id: number;\r\n schoolId: number;\r\n schoolName: string;\r\n}\r\n\r\nexport interface EventPromo {\r\n id: number;\r\n promoId: string;\r\n couponCode: string;\r\n name: string;\r\n description: string;\r\n start: Date;\r\n end: Date;\r\n isAvailable: boolean;\r\n}\r\n\r\nexport interface Address {\r\n line1: string;\r\n line2: string;\r\n city: string;\r\n state: string;\r\n zip: string;\r\n county: string;\r\n ianaTimeZoneId?: string;\r\n}\r\n\r\nexport interface AddressVerification {\r\n verifiedAddress: Address;\r\n picklist: Address[];\r\n errorMessage: string;\r\n}\r\n","import { SchoolSearchCriteria } from './school-searchcriteria.model';\r\nimport { SchoolSearch, SchoolSearchResultsItem } from './school-searchresults.model';\r\nimport { RelationshipManager } from './relationship-manager.model';\r\n\r\nexport * from './school-details.model';\r\nexport * from './rate-agreement.model';\r\nexport * from './school-searchcriteria.model';\r\nexport * from './school-searchresults.model';\r\nexport * from './school-paging-sorting.model';\r\nexport * from './relationship-manager.model';\r\n","// The file contents for the current environment will overwrite these during build.\r\n// The build system defaults to the dev environment which uses `environment.ts`, but if you do\r\n// `ng build --env=prod` then `environment.prod.ts` will be used instead.\r\n// The list of which env maps to which file can be found in `.angular-cli.json`.\r\n\r\nexport const env = {\r\n production: false\r\n};\r\n","\r\nconst schoolNcesIdSourceVariationsPublic: string[] = [\r\n '010000500870', '010000500871'\r\n];\r\n\r\nexport const schoolNcesIdSourcesPublic: string[] = schoolNcesIdSourceVariationsPublic;\r\n\r\nconst schoolNcesIdSourceVariationsPrivate: string[] = [\r\n '00000033', '00000044'\r\n];\r\n\r\nexport const schoolNcesIdSourcesPrivate: string[] = schoolNcesIdSourceVariationsPrivate;\r\n\r\nconst districtNcesIdSourceVariations: string[] = [\r\n '0100002', '0100005'\r\n];\r\n\r\nexport const districtNcesIdSources: string[] = districtNcesIdSourceVariations;\r\n","import { Action } from '@ngrx/store';\r\n\r\nimport { ShippingChargesCriteria, ShippingCharge } from '../../models';\r\n\r\nexport enum DistributionActionTypes {\r\n\tLoadShippingCharges = '[Distribution] Load Shipping Charges',\r\n\tLoadShippingChargesSuccess = '[Distribution] Load Shipping Charges Success',\r\n LoadShippingChargesFailure = '[Distribution] Load Shipping Charges Failure',\r\n}\r\n\r\nexport class LoadShippingCharges implements Action {\r\n\treadonly type = DistributionActionTypes.LoadShippingCharges;\r\n constructor(public payload: ShippingChargesCriteria) { }\r\n}\r\n\r\nexport class LoadShippingChargesSuccess implements Action {\r\n\treadonly type = DistributionActionTypes.LoadShippingChargesSuccess;\r\n\tconstructor(public payload: ShippingCharge[]) { }\r\n}\r\n\r\nexport class LoadShippingChargesFailure implements Action {\r\n\treadonly type = DistributionActionTypes.LoadShippingChargesFailure;\r\n\tconstructor(public payload: any) { }\r\n}\r\n\r\nexport type DistributionActions =\r\n LoadShippingCharges\r\n | LoadShippingChargesFailure\r\n | LoadShippingChargesSuccess\r\n","import { Component, Input, Output, EventEmitter, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n\tselector: 'opus-property-block',\r\n\ttemplateUrl: './property-block.component.html',\r\n})\r\nexport class PropertyBlockComponent implements OnInit {\r\n\t@Input() label: string;\r\n\t@Input() canEdit = true;\r\n @Input() isEditing: boolean;\r\n @Input() policy: string;\r\n @Input() opusRelationshipManagerEmail: any;\r\n @Input() opusRelationshipManagerRoles: string[];\r\n\r\n\t@Output() toggleEditor = new EventEmitter();\r\n\r\n\tngOnInit() {\r\n\t\tconsole.log(`PropertyBlockComponent.ngOnInit(): label = '${this.label}', isEditing = ${this.isEditing}` );\r\n\t}\r\n\r\n\tonToggleEditor() {\r\n\t\tthis.toggleEditor.emit(!this.isEditing);\r\n\t}\r\n}\r\n\r\n","
\r\n\t
\r\n\t\t

{{ label }}

\r\n\t\t\r\n\t
\r\n\r\n\t\r\n\r\n\t\r\n
","import { Component, OnInit, ChangeDetectionStrategy, AfterViewInit } from '@angular/core';\r\nimport { Router, NavigationEnd } from '@angular/router';\r\n\r\nimport { Observable } from 'rxjs';\r\n\r\nimport { select, Store } from '@ngrx/store';\r\n\r\nimport * as fromStore from '../store';\r\nimport { TeacherDetails } from '../models';\r\n\r\n@Component({\r\n\tselector: 'opus-school-page',\r\n\ttemplateUrl: './teacher-details.component.html',\r\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class TeacherDetailsComponent implements OnInit, AfterViewInit {\r\n\tteacherDetails$: Observable;\r\n\tpanels$: Observable<{ [id: string]: fromStore.PanelState }>;\r\n\tscrollTo: Element = null;\r\n\r\n\tconstructor(private store: Store, private router: Router) {\r\n\t\trouter.events.subscribe(s => {\r\n\t\t\tif (s instanceof NavigationEnd) {\r\n\t\t\t\tconst tree = router.parseUrl(router.url);\r\n\r\n\t\t\t\tif (tree.fragment) {\r\n\t\t\t\t\tconst element = document.querySelector('#' + tree.fragment);\r\n\r\n\t\t\t\t\tif (element) {\r\n\t\t\t\t\t\tthis.scrollTo = element;\r\n\t\t\t\t\t\telement.scrollIntoView();\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t});\r\n}\r\n\r\n\tngOnInit() {\r\n\t\tthis.teacherDetails$ = this.store.pipe(select(fromStore.getTeacherDetailsEntity));\r\n\t\tthis.panels$ = this.store.pipe(select(fromStore.getDetailsStatePanels));\r\n\t}\r\n\r\n\tngAfterViewInit() {\r\n\t\tif (this.scrollTo) {\r\n\t\t\tconsole.log('scrollIntoView: ', this.scrollTo);\r\n\r\n\t\t\tthis.scrollTo.scrollIntoView();\r\n\t\t\tthis.scrollTo = null;\r\n\t\t}\r\n\t}\r\n\r\n\tonToggleEditor(key: string, open: boolean) {\r\n\t\tthis.store.dispatch(new fromStore.UpdateEditorState({ key, open }));\r\n\t}\r\n}\r\n","\r\n\r\n
\r\n\t
\r\n\t\t
\r\n\t\t\t\r\n\t\t
\r\n\r\n\t\t
\r\n\t\t\t\r\n\t\t
\r\n\t
\r\n\r\n\t
\r\n\t\t
\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t
\r\n\t\t
\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t
\r\n\t
\r\n\r\n\t\r\n\t
\r\n\t\r\n
","export * from './distribution.selectors';","export * from './router.action';\r\nexport * from './configuration.action';\r\nexport * from './message.action';\r\nexport * from './security.actions';\r\nexport * from './oidc.action';\r\n","import { Component, Input } from '@angular/core';\r\n\r\nimport { StepComponent } from './step.component';\r\nimport { TabsComponent } from './tabs.component';\r\n\r\n@Component({\r\n\tselector: 'opus-steps',\r\n\ttemplateUrl: './steps.component.html',\r\n})\r\nexport class StepsComponent extends TabsComponent {\r\n @Input() stepSelector: (index: number) => void = super.selectTab;\r\n\t@Input('activeStep')\r\n\tset activeStep(value: number) {\r\n\t\tthis.activeTabIndex = value;\r\n\t}\r\n\r\n\tget activeStep() {\r\n\t\treturn this.activeTabIndex;\r\n\t}\r\n\r\n onSelectStep(index: number) {\r\n console.log('StepsComponent.onSelectStep(): ', index);\r\n\r\n //\tif we've been given a step selector, use it. otherwise use default tab selection\r\n this.stepSelector(index);\r\n }\r\n}\r\n","
\r\n\t
\r\n\t\t
\r\n\t\t\t
i, 'stepper__step--active': activeTabIndex == i }\">\r\n\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t
{{ tab.name }}
\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t
\r\n\t
\r\n
\r\n\r\n
\r\n\t
\r\n\t\t\r\n\t
\r\n
\r\n","import { createSelector } from '@ngrx/store';\r\n\r\nimport { IUserAuthInfo } from '../../models';\r\nimport * as fromFeature from '../reducers';\r\nimport * as fromSecurity from '../reducers/security.reducer';\r\n\r\nexport const getSecurityState = createSelector(\r\n fromFeature.getCoreState,\r\n (state: fromFeature.CoreState) => state.security\r\n);\r\n\r\nexport const getRolePolicies = createSelector(\r\n getSecurityState,\r\n fromSecurity.getRolePolicies,\r\n);\r\n\r\nexport const getUserData = createSelector(\r\n getSecurityState,\r\n fromSecurity.getUserData,\r\n);\r\n\r\nexport const getUserAuthInfo = createSelector(\r\n getUserData,\r\n getRolePolicies,\r\n (userData, rolePolicies): IUserAuthInfo => {\r\n if (!userData) return null;\r\n if (!rolePolicies) return null;\r\n\r\n const roleNames = new Set(Array.isArray(userData.role) ? userData.role : [userData.role]);\r\n\r\n return {\r\n email: userData.email,\r\n emailLower: userData.email.toLowerCase(),\r\n roleNames,\r\n policyCodes: rolePolicies.reduce((set, x) => {\r\n if (roleNames.has(x.roleName)) set.add(x.policyCode);\r\n return set;\r\n }, new Set())\r\n };\r\n\r\n }\r\n);\r\n","import { Component, Input } from '@angular/core';\r\n\r\nimport { TeacherDetails, InactiveReason } from '../../models';\r\nimport { SchoolType, SchoolTypeLookup } from '../../../schools/models';\r\n\r\n@Component({\r\n\tselector: 'opus-teacher-info',\r\n\ttemplateUrl: './teacher-info.component.html',\r\n})\r\nexport class TeacherInfoComponent {\r\n\t@Input() teacher: TeacherDetails;\r\n\r\n get active() {\r\n return this.teacher.active ? 'Yes' : 'No';\r\n }\r\n\r\n get activeBit() {\r\n return this.teacher.active;\r\n }\r\n\r\n get inactiveReasonIsDuplicate() {\r\n return this.teacher.inactiveReason == InactiveReason.Duplicate;\r\n }\r\n\r\n get id() {\r\n return this.teacher.id;\r\n }\r\n\r\n get name() {\r\n return this.teacher.name;\r\n }\r\n\r\n get gender() {\r\n const value = this.teacher.gender.toLowerCase();\r\n if (value == 'm') {\r\n return 'Male';\r\n }\r\n else if (value == 'f') {\r\n return 'Female';\r\n }\r\n else {\r\n return 'N/A';\r\n }\r\n }\r\n\r\n\tget schoolType() {\r\n\t\treturn this.teacher.schoolType ? SchoolTypeLookup[this.teacher.schoolType].name : '';\r\n }\r\n\r\n get duplicateTeacherId() {\r\n return this.teacher.duplicateTeacherId;\r\n }\r\n\r\n get inactiveReason() {\r\n if (this.teacher.inactiveReason == null) {\r\n return null;\r\n }\r\n\r\n return InactiveReason[this.teacher.inactiveReason];\r\n }\r\n\r\n get inactiveReasonId() {\r\n return this.teacher.inactiveReason;\r\n }\r\n}\r\n","
    \r\n
  • \r\n
    Active
    \r\n
    {{ active }}
    \r\n
  • \r\n\r\n
  • \r\n
    Inactive Reason
    \r\n
    {{ inactiveReason }}
    \r\n
  • \r\n\r\n
  • \r\n
    Primary ID
    \r\n
    {{ duplicateTeacherId }}
    \r\n
  • \r\n\r\n
  • \r\n
    Teacher ID
    \r\n
    {{ id }}
    \r\n
  • \r\n
  • \r\n
    Teacher Name
    \r\n
    {{ name }}
    \r\n
  • \r\n
  • \r\n
    Gender
    \r\n
    {{ gender }}
    \r\n
  • \r\n
  • \r\n
    Type
    \r\n
    {{ schoolType }}
    \r\n
  • \r\n
","import { Component, OnInit, OnDestroy, ChangeDetectorRef, ElementRef, ViewChild } from '@angular/core';\r\nimport { FormBuilder, FormGroup } from '@angular/forms';\r\n\r\nimport { Observable } from 'rxjs';\r\nimport { takeWhile, tap } from 'rxjs/operators';\r\n\r\nimport { select, Store } from '@ngrx/store';\r\n\r\nimport { State } from '../../../core/store';\r\nimport { SchoolDetails, RelationshipManager } from '../models';\r\nimport { RelationshipType, LocationManager } from '../../scp-common/models';\r\nimport * as fromStore from '../store';\r\nimport * as fromScpStore from '../../scp-common/store';\r\n\r\ndeclare var $: any;\r\ndeclare var Foundation: any;\r\n\r\n@Component({\r\n selector: 'opus-school-relationship-editor',\r\n templateUrl: './school-relationship-editor.component.html',\r\n})\r\nexport class SchoolRelationshipEditorComponent implements OnInit, OnDestroy {\r\n @ViewChild('managerDropdown', {static: true})\r\n managerDropdown: ElementRef;\r\n\r\n managerFoundationDropdown: any;\r\n\r\n alive = true;\r\n schoolDetails$: Observable;\r\n panelState$: Observable;\r\n locations$: Observable;\r\n school: SchoolDetails;\r\n panelState: fromStore.PanelState;\r\n editor: FormGroup;\r\n locationId?: number = null;\r\n locationCode?: number = null;\r\n inLocationLookup = false;\r\n locationLookupError: string = null;\r\n isSubmitting = false;\r\n managerByNameLookup$: Observable;\r\n managerByNameLookup: fromScpStore.ManagerByNameLookupState;\r\n lookupManagerName: string;\r\n\r\n constructor(private store: Store, private fb: FormBuilder, private cdr: ChangeDetectorRef) {\r\n console.log('SchoolRelationshipEditorComponent()...');\r\n }\r\n\r\n ngOnInit() {\r\n console.log('SchoolRelationshipEditorComponent.ngOnInit()...');\r\n\r\n this.schoolDetails$ = this.store.pipe(select(fromStore.getSchoolDetailsEntity));\r\n this.schoolDetails$.pipe(\r\n takeWhile(() => this.alive)\r\n ).subscribe(s => {\r\n console.log('schoolDetails$ sub: ', s);\r\n\r\n this.school = s;\r\n this.locationId = s.relationshipManager.locationId;\r\n });\r\n\r\n this.panelState$ = this.store.pipe(select(fromStore.getDetailsStateRelationshipPanel));\r\n this.panelState$.pipe(\r\n takeWhile(() => this.alive),\r\n tap(s => {\r\n if (!s.editing && this.panelState && this.panelState.editing) {\r\n console.log('SchoolRelationshipEditorComponent.panelState$: clearing form...');\r\n this.resetForm();\r\n }\r\n }),\r\n ).subscribe(ps => {\r\n console.log('panelState$ sub: ', ps);\r\n\r\n this.panelState = ps;\r\n });\r\n\r\n this.locations$ = this.store.pipe(select(fromScpStore.getLocationsState));\r\n this.locations$.pipe(\r\n takeWhile(() => this.alive),\r\n ).subscribe(ls => {\r\n console.log('locations$ sub: ', ls);\r\n\r\n if (this.locationCode === null) {\r\n return;\r\n }\r\n\r\n const lms: fromScpStore.LocationManagerState = ls.locationManagers[this.locationCode];\r\n\r\n if (lms && !lms.pending && this.inLocationLookup) {\r\n this.inLocationLookup = false;\r\n this.locationLookupError = lms.error;\r\n\r\n if (!lms.error) {\r\n this.locationId = lms.manager == null ? null : lms.manager.id;\r\n this.editor.controls.managerName.patchValue(lms.manager == null ? '' : lms.manager.manager);\r\n\r\n if (this.isSubmitting) {\r\n this.update();\r\n }\r\n } else {\r\n this.editor.controls.relationshipManagerCode.setErrors({ 'notFound': true });\r\n }\r\n\r\n this.isSubmitting = false;\r\n this.cdr.detectChanges();\r\n }\r\n });\r\n\r\n this.createForm();\r\n\r\n this.managerByNameLookup$ = this.store.pipe(select(fromScpStore.getLocationsStateLookup));\r\n this.managerByNameLookup$.pipe(\r\n takeWhile(() => this.alive)\r\n ).subscribe(managerByNameLookup => {\r\n this.managerByNameLookup = managerByNameLookup;\r\n\r\n if (managerByNameLookup && managerByNameLookup.managers && managerByNameLookup.name == this.lookupManagerName) {\r\n //Trigger the drop down\r\n if (!this.managerFoundationDropdown) {\r\n this.managerFoundationDropdown = new Foundation.Dropdown($(this.managerDropdown.nativeElement).first());\r\n }\r\n\r\n const native = $(this.managerDropdown.nativeElement).first();\r\n\r\n if (!native.hasClass('is-open')) {\r\n native.foundation('open');\r\n }\r\n\r\n this.cdr.detectChanges();\r\n }\r\n });\r\n }\r\n\r\n ngOnDestroy() {\r\n console.log('SchoolRelationshipEditorComponent.ngOnDestroy()...');\r\n this.alive = false;\r\n }\r\n\r\n createForm() {\r\n this.editor = this.fb.group({\r\n inheritRelationshipManager: [this.school.inheritRelationshipManager],\r\n relationshipManagerCode: [this.school.relationshipManager.locationCode],\r\n managerName: [this.school.relationshipManager.name],\r\n inheritRelationshipType: [this.school.inheritRelationshipType],\r\n relationshipType: [this.school.relationshipType.relationshipType],\r\n routineService: [this.school.routineService],\r\n callDay: [this.school.callDay],\r\n });\r\n\r\n this.editor.controls.relationshipManagerCode.valueChanges.pipe(\r\n takeWhile(() => this.alive),\r\n ).subscribe(code => {\r\n //\twhen the Manager ID form field is changed, clear out or restore our locationId if it doesn't match the original\r\n this.locationId = code == this.school.relationshipManager.locationCode ? this.school.relationshipManager.locationId : null;\r\n this.locationCode = code;\r\n });\r\n }\r\n\r\n resetForm() {\r\n this.editor.reset({\r\n inheritRelationshipManager: this.school.inheritRelationshipManager,\r\n relationshipManagerCode: this.school.relationshipManager.locationCode,\r\n managerName: this.school.relationshipManager.name,\r\n inheritRelationshipType: this.school.inheritRelationshipType,\r\n relationshipType: this.school.relationshipType.relationshipType,\r\n routineService: this.school.routineService,\r\n callDay: this.school.callDay,\r\n });\r\n }\r\n\r\n get inheritedRelationshipType() {\r\n return RelationshipType[this.school.inheritedRelationshipType.relationshipType];\r\n }\r\n\r\n get canSave(): boolean {\r\n return this.editor.valid && this.editor.dirty;\r\n }\r\n\r\n get saveButtonLabel(): string {\r\n return this.panelState.updating ? 'Saving...' : 'Save';\r\n }\r\n\r\n onSubmit() {\r\n console.log('onSubmit: ', this.editor.status, this.editor.value);\r\n\r\n const code = this.editor.value.relationshipManagerCode;\r\n\r\n //\tif we have a locationId, then it either hasn't been changed, or it has been looked up already\r\n if (this.locationId !== null) {\r\n console.log('onSubmit(): Skipping location lookup...', this.locationId);\r\n\r\n this.update();\r\n\r\n return;\r\n }\r\n\r\n this.inLocationLookup = true;\r\n this.isSubmitting = true;\r\n this.store.dispatch(new fromScpStore.GetLocation({ code }));\r\n }\r\n\r\n lookupManagerByName($event: any) {\r\n $event.stopPropagation();\r\n $event.preventDefault();\r\n\r\n this.lookupManagerName = this.editor.value.managerName;\r\n\r\n if ($event.code == 'Escape' || $event.code == 'Tab') {\r\n const native = $(this.managerDropdown.nativeElement).first();\r\n\r\n if (native.hasClass('is-open')) {\r\n native.foundation('close');\r\n }\r\n } else {\r\n if (this.lookupManagerName && this.lookupManagerName.length > 3) {\r\n this.store.dispatch(new fromScpStore.GetManagersByName({ name: this.lookupManagerName }));\r\n }\r\n }\r\n }\r\n\r\n selectManager(manager: LocationManager) {\r\n if (manager) {\r\n this.editor.controls.managerName.patchValue(manager.manager);\r\n this.editor.controls.relationshipManagerCode.patchValue(manager.code);\r\n this.locationId = manager.id;\r\n }\r\n }\r\n\r\n onApplyManagerId() {\r\n console.log('onApplyManagerId(): ', this.editor.value.relationshipManagerCode);\r\n\r\n const code = this.editor.value.relationshipManagerCode;\r\n\r\n this.inLocationLookup = true;\r\n this.store.dispatch(new fromScpStore.GetLocation({ code }));\r\n }\r\n\r\n private update() {\r\n console.log('update():', this.editor.value);\r\n\r\n const inheritRelationshipManager = this.editor.value.inheritRelationshipManager;\r\n const relationshipManager = this.getRelationshipManager();\r\n const inheritRelationshipType = this.editor.value.inheritRelationshipType;\r\n const relationshipType = this.getRelationshipType();\r\n const school: SchoolDetails = {\r\n ...this.school,\r\n inheritRelationshipManager,\r\n relationshipManager,\r\n inheritRelationshipType,\r\n relationshipType,\r\n routineService: this.editor.value.routineService,\r\n callDay: this.editor.value.callDay,\r\n };\r\n\r\n console.log('update(): ', school);\r\n\r\n this.store.dispatch(new fromStore.UpdateSchoolPanel({ panel: fromStore.PanelId.Relationship, school }));\r\n }\r\n\r\n private getRelationshipManager(): RelationshipManager {\r\n //\tif we're not inheriting, update the rm properties\r\n if (!this.editor.value.inheritRelationshipManager) {\r\n return {\r\n ...this.school.relationshipManager,\r\n locationId: this.locationId,\r\n };\r\n }\r\n\r\n //\totherwise send it back unchanged\r\n return {\r\n ...this.school.relationshipManager,\r\n };\r\n }\r\n\r\n private getRelationshipType(): { id: number, relationshipType: RelationshipType } {\r\n if (!this.editor.value.inheritRelationshipType) {\r\n return {\r\n ...this.school.relationshipType,\r\n relationshipType: +this.editor.value.relationshipType,\r\n };\r\n }\r\n\r\n return {\r\n ...this.school.relationshipType,\r\n };\r\n }\r\n}\r\n","
\r\n\t
\r\n\t
    \r\n\t\t
  • \r\n\t\t\t
    \r\n\t\t\t\t\r\n\t\t\t
    \r\n\t\t
  • \r\n\t\t\r\n\t\t\t
  • \r\n\t\t\t\t\r\n\t\t\t\t
    \r\n\t\t\t\t\t
    \r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t
    \r\n\t\t\t\t\t
      \r\n\t\t\t\t\t\t
    • {{ locationLookupError }}
    • \r\n\t\t\t\t\t
    \r\n\t\t\t\t
    \r\n\t\t\t
  • \r\n\t\t\t
  • \r\n\t\t\t\t
    \r\n\t\t\t\t\t\r\n\t\t\t\t\t

    \r\n\t\t\t\t\t\tStart typing the name of the manager.\r\n\t\t\t\t\t

    \r\n\t\t\t\t
    \r\n\t\t\t\t
    \r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t
      \r\n\t\t\t\t\t\t
    • \r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t
    • \r\n\t\t\t\t\t
    \r\n\t\t\t\t
    \r\n\t\t\t
  • \r\n\t\t
    \r\n\t\t\r\n\t\t\t
  • \r\n\t\t\t\t
    Manager ID
    \r\n\t\t\t\t
    {{ school.inheritedRelationshipManager?.locationCode }}
    \r\n\t\t\t
  • \r\n\t\t\t
  • \r\n\t\t\t\t
    Manager Name
    \r\n\t\t\t\t
    {{ school.inheritedRelationshipManager?.name }}
    \r\n\t\t\t
  • \r\n\t\t
    \r\n\t\t
  • \r\n\t\t\t\r\n\t\t\t
    \r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t
    {{ inheritedRelationshipType }}
    \r\n\t\t\t\t
    \r\n\t\t\t
    \r\n\t\t
  • \r\n\t\t
  • \r\n\t\t\t\r\n\t\t\t
    \r\n\t\t\t\t\r\n\t\t\t
    \r\n\t\t
  • \r\n\t\t
  • \r\n\t\t\t\r\n\t\t\t
    \r\n\t\t\t\t\r\n\t\t\t
    \r\n\t\t
  • \r\n\t
\r\n\t
\r\n\t\t
\r\n\t\t\t\r\n\t\t
\r\n\t
\r\n
\r\n","
\r\n\t
\r\n
\r\n
\r\n\t
\r\n\t\t
\r\n\t\t\t
\r\n\t\t\t\t

\r\n\t\t\t\t\t{{ event.displayName }}\r\n\t\t\t\t\t<{{ event.email }}>\r\n\t\t\t\t

\r\n\t\t\t\t

{{ event.summary }}

\r\n\t\t\t\t

{{ event.tag }}

\r\n\t\t\t
\r\n\t\t\t
\r\n\t\t\t\t

{{ event.timestamp | date:'EEE, MMMM d, y h:mm:ss a' }}

\r\n\t\t\t
\r\n\t\t
\r\n\t
\r\n\t
    \r\n\t\t\r\n\t\t
  • \r\n\t\t\t
    {{ change.label }}
    \r\n\t\t\t
    \r\n\t\t\t\t{{ change.oldValue }}\r\n\t\t\t
    \r\n\t\t\t
    \r\n\t\t\t\t{{ change.newValue }}\r\n\t\t\t
    \r\n\t\t
  • \r\n\t
\r\n
\r\n\r\n\r\n\r\n\r\n","import { Component, Input } from '@angular/core';\r\n\r\n@Component({\r\n\tselector: 'opus-history-details',\r\n\ttemplateUrl: './history-details.component.html',\r\n})\r\nexport class HistoryDetailsComponent {\r\n\t@Input() event;\r\n}\r\n\r\n","const unsortedStates: string[] = [\r\n'AL', 'AK', 'AZ', 'AR', 'CA', 'CO', 'CT', 'DC',\r\n'DE', 'FL', 'GA', 'HI', 'ID', 'IL', 'IN', 'IA',\r\n'KS', 'KY', 'LA', 'ME', 'MD', 'MA', 'MI', 'MN',\r\n'MS', 'MO', 'MT', 'NE', 'NV', 'NH', 'NJ', 'NM',\r\n'NY', 'NC', 'ND', 'OH', 'OK', 'OR', 'PA', 'RI',\r\n'SC', 'SD', 'TN', 'TX', 'UT', 'VT', 'VA', 'WA',\r\n'WV', 'WI', 'WY'\r\n];\r\n\r\nexport const states: string[] = unsortedStates.sort();\r\n","import * as fromComponents from './components';\r\nimport * as fromContainers from './containers';\r\nimport * as fromGuards from './guards';\r\nimport { reducers, effects } from './store';\r\n\r\nexport * from './components';\r\nexport * from './containers';\r\nexport * from './guards';\r\nexport * from './store';\r\n","import { Action } from '@ngrx/store';\r\n\r\nimport { DistrictSearchResultsItem, DistrictSearchCriteria, DistrictPagingSorting } from '../../models';\r\nimport { HttpHeaders } from '@angular/common/http';\r\n\r\nexport enum DistrictSearchResultsActionTypes {\r\n ProcessQueryString = '[DistrictSearchResults] Process Query String',\r\n\tLoadDistrictSearchResults = '[DistrictSearchResults] Load Search Results',\r\n LoadDistrictSearchResultsSuccess = '[DistrictSearchResults] Load District Success',\r\n LoadDistrictSearchResultsFailure = '[DistrictSearchResults] Load District Details Failure',\r\n UpdateEditorState = '[DistrictSearchResults] Update Editor State',\r\n UpdateDistrictInfo = '[DistrictSearchResults] Update District Info',\r\n UpdateDistrictInfoSuccess = '[DistrictSearchResults] Update District Info Success',\r\n UpdateDistrictInfoFailure = '[DistrictSearchResults] Update District Info Failure',\r\n NextPage = '[DistrictSearchResults] Next Page',\r\n PrevPage = '[DistrictSearchResults] Prev Page',\r\n SetPageSize = '[DistrictSearchResults] Set Page Size',\r\n LastPage = '[DistrictSearchResults] Last Page',\r\n FirstPage = '[DistrictSearchResults] First Page',\r\n SortBy = '[DistrictSearchResults] Sort By',\r\n}\r\n\r\nexport class ProcessQueryString implements Action {\r\n readonly type = DistrictSearchResultsActionTypes.ProcessQueryString;\r\n constructor(public payload: string) { }\r\n}\r\n\r\nexport class LoadDistrictSearchResults implements Action {\r\n readonly type = DistrictSearchResultsActionTypes.LoadDistrictSearchResults;\r\n constructor(public payload: DistrictSearchCriteria) { }\r\n}\r\n\r\nexport class LoadDistrictSearchResultsSuccess implements Action {\r\n readonly type = DistrictSearchResultsActionTypes.LoadDistrictSearchResultsSuccess;\r\n constructor(public payload: DistrictSearchResultsItem[], public httpHeaders: HttpHeaders) { }\r\n}\r\n\r\nexport class LoadDistrictSearchResultsFailure implements Action {\r\n readonly type = DistrictSearchResultsActionTypes.LoadDistrictSearchResultsFailure;\r\n\tconstructor(public payload: any) { }\r\n}\r\n\r\nexport class NextPage implements Action {\r\n readonly type = DistrictSearchResultsActionTypes.NextPage;\r\n constructor(public payload: DistrictSearchCriteria, public pagingSorting: DistrictPagingSorting) { }\r\n}\r\n\r\nexport class PrevPage implements Action {\r\n readonly type = DistrictSearchResultsActionTypes.PrevPage;\r\n constructor(public payload: DistrictSearchCriteria, public pagingSorting: DistrictPagingSorting) { }\r\n}\r\n\r\nexport class SetPageSize implements Action {\r\n readonly type = DistrictSearchResultsActionTypes.SetPageSize;\r\n constructor(public payload: number, public searchCriteria: DistrictSearchCriteria, ) { }\r\n}\r\n\r\nexport class LastPage implements Action {\r\n readonly type = DistrictSearchResultsActionTypes.LastPage;\r\n constructor(public payload: DistrictSearchCriteria, public pagingSorting: DistrictPagingSorting) { }\r\n}\r\n\r\nexport class FirstPage implements Action {\r\n readonly type = DistrictSearchResultsActionTypes.FirstPage;\r\n constructor(public payload: DistrictSearchCriteria, public pagingSorting: DistrictPagingSorting) { }\r\n}\r\n\r\nexport class SortBy implements Action {\r\n readonly type = DistrictSearchResultsActionTypes.SortBy;\r\n constructor(public payload: string, public searchCriteria: DistrictSearchCriteria, public pagingSorting: DistrictPagingSorting) { }\r\n}\r\n\r\nexport type DistrictSearchResultsActions =\r\n | ProcessQueryString\r\n | LoadDistrictSearchResults\r\n | LoadDistrictSearchResultsSuccess\r\n | LoadDistrictSearchResultsFailure\r\n | NextPage\r\n | PrevPage\r\n | SetPageSize\r\n | LastPage\r\n | FirstPage\r\n | SortBy;\r\n","import { Injectable } from '@angular/core';\r\n\r\nimport { tap, switchMap, map, catchError, withLatestFrom } from 'rxjs/operators';\r\nimport { of } from 'rxjs';\r\n\r\nimport { Store, select } from '@ngrx/store';\r\nimport { Actions, createEffect, ofType } from '@ngrx/effects';\r\n\r\nimport { State } from '../../../../core/store';\r\nimport * as scpActions from '../actions';\r\nimport * as fromServices from '../../services';\r\nimport * as fromSelectors from '../selectors';\r\nimport { RentalCategory } from '../../models';\r\nimport { TaxonomyState } from '..';\r\n\r\n@Injectable()\r\nexport class TaxonomyEffects {\r\n constructor(\r\n private actions$: Actions,\r\n private store: Store,\r\n private taxonomyService: fromServices.TaxonomyService,\r\n ) { }\r\n\r\n \r\n getRentalCategories$ = createEffect(() => this.actions$.pipe(\r\n ofType(scpActions.ScpActionTypes.GetRentalCategories),\r\n tap(a => console.log('Entering getRentalCategories$ Effect: ', a)),\r\n withLatestFrom(this.store.pipe(select(fromSelectors.getTaxonomyState))),\r\n map(([action, taxonomyState]: [scpActions.GetRentalCategories, TaxonomyState]) => {\r\n return { action, taxonomyState };\r\n }),\r\n switchMap(({ action, taxonomyState }: { action: scpActions.GetRentalCategories, taxonomyState: TaxonomyState }) => {\r\n if (taxonomyState && taxonomyState.rentalCategories) {\r\n return of(new scpActions.GetRentalCategoriesSuccess({ rentalCategories: taxonomyState.rentalCategories }));\r\n }\r\n\r\n return this.taxonomyService.loadRentalCategories().pipe(\r\n map((rentalCategories: RentalCategory[]) => new scpActions.GetRentalCategoriesSuccess({ rentalCategories: rentalCategories }))\r\n );\r\n }),\r\n catchError(err => {\r\n return of(new scpActions.GetRentalCategoriesFailure({ error: err }));\r\n }),\r\n tap(a => console.log('Exiting getRentalCategories$ Effect: ', a)),\r\n ));\r\n}\r\n","import { detailsComponents } from './program-details';\r\n\r\nexport const components: any[] = [\r\n\t...detailsComponents,\r\n];\r\n\r\nexport * from './program-details';\r\n","import { Component, OnInit, OnDestroy, AfterViewInit } from '@angular/core';\r\nimport { FormBuilder, FormControl, FormGroup, Validators } from '@angular/forms';\r\n\r\nimport { Observable } from 'rxjs';\r\nimport { takeWhile, tap, map, filter, first } from 'rxjs/operators';\r\n\r\nimport { select, Store } from '@ngrx/store';\r\n\r\nimport { Event, Address } from '../models';\r\nimport * as fromStore from '../store';\r\nimport { states } from '../../scp-common/models/states';\r\n\r\n@Component({\r\n selector: 'event-location-editor',\r\n templateUrl: './event-location-editor.component.html',\r\n})\r\nexport class EventLocationEditorComponent implements OnInit, OnDestroy, AfterViewInit {\r\n alive = true;\r\n event$: Observable;\r\n event: Event;\r\n editor: FormGroup;\r\n enteredAddress: Address = null;\r\n suggestedAddress: Address = null;\r\n panelState$: Observable;\r\n panelState: fromStore.PanelState;\r\n\r\n showModal = false;\r\n states: string[] = states;\r\n\r\n constructor(private store: Store, private fb: FormBuilder) {\r\n\r\n }\r\n\r\n ngOnInit() {\r\n this.event$ = this.store.pipe(select(fromStore.getDetailsStateEvent));\r\n this.event$.pipe(\r\n takeWhile(() => this.alive),\r\n map(event => {\r\n if (event.eventAtHostSchool && !event.eventAddress && event.hostingSchoolAddress) {\r\n return { ...event, eventAddress: { ...event.hostingSchoolAddress } };\r\n }\r\n\r\n return event;\r\n })\r\n ).subscribe(d => this.event = d);\r\n\r\n this.panelState$ = this.store.pipe(select(fromStore.getDetailsStateEventAddrPanel));\r\n this.panelState$.pipe(\r\n takeWhile(() => this.alive),\r\n tap(s => {\r\n if (!s.editing && this.panelState && this.panelState.editing) {\r\n this.resetForm();\r\n }\r\n }),\r\n ).subscribe(s => this.panelState = s);\r\n\r\n this.createForm();\r\n }\r\n\r\n ngAfterViewInit() {\r\n }\r\n\r\n ngOnDestroy() {\r\n this.alive = false;\r\n }\r\n\r\n createForm() {\r\n this.editor = new FormGroup({\r\n eventAtHostSchool: new FormControl(this.event.eventAtHostSchool),\r\n isVirtualEvent: new FormControl(this.event.isVirtualEvent),\r\n virtualEventUrl: new FormControl(this.event.virtualEventUrl),\r\n eventAddressLine1: new FormControl(this.event.eventAddress ? this.event.eventAddress.line1 : '', Validators.required),\r\n eventAddressLine2: new FormControl(this.event.eventAddress ? this.event.eventAddress.line2 : ''),\r\n eventAddressCity: new FormControl(this.event.eventAddress ? this.event.eventAddress.city : '', Validators.required),\r\n eventAddressState: new FormControl(this.event.eventAddress ? this.event.eventAddress.state : '', Validators.required),\r\n eventAddressZip: new FormControl(this.event.eventAddress ? this.event.eventAddress.zip : '', Validators.required),\r\n location: new FormControl(this.event.location)\r\n });\r\n\r\n }\r\n\r\n toggleEventAtSchool() {\r\n const eventAtHostSchool = this.editor.value.eventAtHostSchool;\r\n\r\n if (eventAtHostSchool) {\r\n this.editor.controls['eventAddressLine1'].setValue(this.event.hostingSchoolAddress.line1);\r\n this.editor.controls['eventAddressLine2'].setValue(this.event.hostingSchoolAddress.line2);\r\n this.editor.controls['eventAddressCity'].setValue(this.event.hostingSchoolAddress.city);\r\n this.editor.controls['eventAddressState'].setValue(this.event.hostingSchoolAddress.state);\r\n this.editor.controls['eventAddressZip'].setValue(this.event.hostingSchoolAddress.zip);\r\n }\r\n console.log(eventAtHostSchool);\r\n }\r\n\r\n resetForm() {\r\n\r\n }\r\n\r\n update() {\r\n const eventAtHostSchool = this.editor.value.eventAtHostSchool;\r\n const isVirtualEvent = this.editor.value.isVirtualEvent;\r\n const virtualEventUrl = isVirtualEvent ? this.editor.value.virtualEventUrl : null;\r\n const location = this.editor.value.location;\r\n let eventAddress: Address = null;\r\n\r\n if (eventAtHostSchool) {\r\n eventAddress = {\r\n line1: this.event.hostingSchoolAddress.line1,\r\n line2: this.event.hostingSchoolAddress.line2,\r\n city: this.event.hostingSchoolAddress.city,\r\n state: this.event.hostingSchoolAddress.state,\r\n zip: this.event.hostingSchoolAddress.zip,\r\n county: this.event.hostingSchoolAddress.county\r\n };\r\n }\r\n else {\r\n eventAddress = this.suggestedAddress || this.enteredAddress;\r\n }\r\n\r\n const event: Event = {\r\n ...this.event,\r\n eventAtHostSchool,\r\n isVirtualEvent,\r\n virtualEventUrl,\r\n location,\r\n eventAddress,\r\n };\r\n\r\n this.store.dispatch(new fromStore.UpdateEventPanel({ panel: fromStore.PanelId.EventLocation, event }));\r\n }\r\n\r\n get canSave(): boolean {\r\n return this.editor.valid && this.editor.dirty && !this.panelState.updating;\r\n }\r\n\r\n onSubmit() {\r\n const address: Address = {\r\n line1: this.editor.value.eventAddressLine1,\r\n line2: this.editor.value.eventAddressLine2,\r\n city: this.editor.value.eventAddressCity,\r\n state: this.editor.value.eventAddressState,\r\n zip: this.editor.value.eventAddressZip,\r\n county: ''\r\n };\r\n\r\n this.enteredAddress = address;\r\n\r\n this.store.dispatch(new fromStore.EventVerifyAddress({ panel: fromStore.PanelId.EventLocation, address }));\r\n\r\n //\tobserve results in store\r\n this.panelState$.pipe(\r\n tap(ps => console.log('onSubmit: ', ps)),\r\n filter(ps => !(ps as fromStore.AddressPanelState).verifying),\r\n first(),\r\n tap(ps => console.log('onSubmit: ', ps)),\r\n ).subscribe(ps => {\r\n console.log('subscribe: ', ps);\r\n const verifiedAddress = (ps as fromStore.AddressPanelState).verifiedAddress;\r\n\r\n // If verified address didn't come back, make sure suggested stays null (so we don't use it later)\r\n this.suggestedAddress = verifiedAddress;\r\n if (this.suggestedAddress != null) {\r\n this.suggestedAddress = {\r\n ...verifiedAddress,\r\n county: this.editor.value.addressCounty,\r\n };\r\n }\r\n\r\n //\tif verified address is not identical to entered, or we got a picklist instead, show modal\r\n if (verifiedAddress !== null && this.compareAddresses(address, verifiedAddress)) {\r\n this.update();\r\n\r\n return;\r\n }\r\n\r\n this.showModal = true;\r\n });\r\n\r\n }\r\n\r\n onModalAction(accept) {\r\n console.log(accept);\r\n\r\n this.showModal = false;\r\n\r\n if (accept) {\r\n this.update();\r\n }\r\n }\r\n\r\n onModalTertiaryAction(accept) {\r\n console.log(accept);\r\n\r\n this.showModal = false;\r\n\r\n if (accept) {\r\n // Clear out the suggested address so that update() will use the entered one\r\n this.suggestedAddress = null;\r\n this.update();\r\n }\r\n }\r\n\r\n private compareAddresses(first: Address, second: Address): boolean {\r\n return first.line1 == second.line1\r\n && first.line2 == second.line2\r\n && first.city == second.city\r\n && first.state == second.state\r\n && first.zip == second.zip;\r\n }\r\n\r\n}\r\n","\r\n
\r\n
\r\n
    \r\n
  • \r\n
    \r\n \r\n
    \r\n
  • \r\n
  • \r\n
    \r\n \r\n
    \r\n
  • \r\n
  • \r\n \r\n
    \r\n \r\n
    \r\n
  • \r\n
  • \r\n
    Address Line 1
    \r\n
    {{ event.hostingSchoolAddress?.line1}}
    \r\n
  • \r\n
  • \r\n
    Address Line 2
    \r\n
    {{ event.hostingSchoolAddress?.line2}}
    \r\n
  • \r\n
  • \r\n
    City, State Zip
    \r\n
    {{ event.hostingSchoolAddress?.city}}, {{ event.hostingSchoolAddress?.state}} {{ event.hostingSchoolAddress?.zip}}
    \r\n
  • \r\n
  • \r\n \r\n
    \r\n \r\n
    \r\n
    Required
    \r\n
    \r\n
    \r\n
  • \r\n
  • \r\n \r\n
    \r\n \r\n
    \r\n
  • \r\n
  • \r\n \r\n
    \r\n \r\n
    \r\n
    Required
    \r\n
    \r\n
    \r\n
  • \r\n
  • \r\n
    State
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    Required
    \r\n
    \r\n
    \r\n
  • \r\n
  • \r\n \r\n
    \r\n \r\n
    \r\n
    Required
    \r\n
    \r\n
    \r\n
  • \r\n
  • \r\n \r\n
    \r\n \r\n
    \r\n
  • \r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n\r\n\r\n \r\n
\r\n
\r\n

Entered Address:

\r\n
\r\n
    \r\n
  • \r\n
    Address Line 1
    \r\n
    {{ enteredAddress.line1 }}
    \r\n
  • \r\n
  • \r\n
    Address Line 2
    \r\n
    {{ enteredAddress.line2 }}
    \r\n
  • \r\n
  • \r\n
    City, State Zip
    \r\n
    {{ enteredAddress.city }}, {{ enteredAddress.state }} {{ enteredAddress.zip }}
    \r\n
  • \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n

Suggested Address:

\r\n
\r\n
    \r\n
  • \r\n
    Address Line 1
    \r\n
    {{ suggestedAddress.line1 }}
    \r\n
  • \r\n
  • \r\n
    Address Line 2
    \r\n
    {{ suggestedAddress.line2 }}
    \r\n
  • \r\n
  • \r\n
    City, State Zip
    \r\n
    {{ suggestedAddress.city }}, {{ suggestedAddress.state }} {{ suggestedAddress.zip }}
    \r\n
  • \r\n
\r\n
\r\n
\r\n \r\n
    \r\n
  • The United states Postal Service is unable to locate this address.
  • \r\n
\r\n
\r\n
\r\n\r\n","import { CanActivate, ActivatedRouteSnapshot, RouterStateSnapshot } from '@angular/router';\r\nimport { Injectable } from '@angular/core';\r\nimport { Observable, of } from 'rxjs';\r\nimport { switchMap, catchError, map, filter } from 'rxjs/operators';\r\nimport { Store } from '@ngrx/store';\r\nimport * as fromRoot from '../../core/store';\r\nimport * as fromStore from '../store';\r\n\r\n@Injectable()\r\nexport class DistributionGuard implements CanActivate {\r\n\r\n constructor(private _store: Store) { }\r\n\r\n canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable {\r\n let redirectTo;\r\n\r\n return this.checkStore().pipe(\r\n switchMap(allow => {\r\n if (!allow) {\r\n redirectTo = '/401';\r\n }\r\n\r\n return this.allowOrRedirect(allow, redirectTo);\r\n }),\r\n catchError(() => {\r\n return this.allowOrRedirect(false, '/500');\r\n }),\r\n );\r\n }\r\n\r\n checkStore(): Observable {\r\n return this._store.select(fromRoot.getUserAuthInfo).pipe(\r\n filter(x => !!x),\r\n map(x => x.policyCodes.has('Distribution.ViewShippingCharges'))\r\n );\r\n }\r\n\r\n allowOrRedirect(allow: boolean, redirectTo: string): Observable {\r\n if (!allow) {\r\n console.log(`Redirecting to '${redirectTo}'...`);\r\n this._store.dispatch(new fromRoot.Go({ path: [redirectTo] }));\r\n }\r\n\r\n return of(allow);\r\n }\r\n}\r\n","import { SchoolDetailsEffects } from './school-details.effect';\r\nimport { SchoolSearchResultsEffects } from './school-searchresults.effect';\r\n\r\nexport const effects: any[] = [SchoolSearchResultsEffects, SchoolDetailsEffects];\r\n\r\nexport * from './school-details.effect';\r\nexport * from './school-searchresults.effect';\r\n","import { Component, Input } from '@angular/core';\r\n\r\nimport { ProgramDetails } from '../../models';\r\n\r\n@Component({\r\n\tselector: 'opus-program-additional',\r\n\ttemplateUrl: './program-additional.component.html',\r\n})\r\nexport class ProgramAdditionalComponent {\r\n @Input() program: ProgramDetails;\r\n\r\n get beginningGrade() {\r\n if (this.program.beginningGrade == null) {\r\n return 'Unknown';\r\n }\r\n\r\n const value = Number.parseInt(this.program.beginningGrade);\r\n if (value == null || value < 0) {\r\n return 'Unknown';\r\n }\r\n else if (value == 0) {\r\n return 'K';\r\n }\r\n else if (value > 12) {\r\n return 'College';\r\n }\r\n\r\n return value.toString();\r\n }\r\n}\r\n","
    \r\n
  • \r\n
    Beginning Grade
    \r\n
    {{ beginningGrade }}
    \r\n
  • \r\n
  • \r\n
    Beginning Grade Student Count
    \r\n
    {{ program.numberBeginningGrade }}
    \r\n
  • \r\n
  • \r\n
    Beginning Grade Musician Count
    \r\n
    {{ program.numberBeginningMusicians }}
    \r\n
  • \r\n
  • \r\n
    School Instrument Count
    \r\n
    {{ program.numberSchoolInstruments }}
    \r\n
  • \r\n
\r\n","import * as fromCommonModels from '../../../scp-common/models';\r\nimport * as fromSchoolDetails from '../actions/school-details.action';\r\nimport * as fromPrefs from '../../../preferences/store/actions';\r\n\r\nimport { DistrictLookup }from '../../../districts/models';\r\nimport { SchoolDetails, RateAgreement } from '../../models';\r\n\r\nexport enum PanelId {\r\n\tInfo = 'info',\r\n\tPhysAddr = 'physAddr',\r\n\tMailAddr = 'mailAddr',\r\n\tContacts = 'contacts',\r\n\tCurrentRate = 'currentRate',\r\n\tFutureRate = 'futureRate',\r\n\tCalendar = 'calendar',\r\n\tRelationship = 'relationship',\r\n\tOnlineRentals = 'onlineRentals',\r\n\tRentalReturns = 'rentalReturns',\r\n\tAdditionalDetails = 'additionalDetails',\r\n}\r\n\r\nexport interface ValidationStatus {\r\n\t[id: string]: {\r\n\t\tpending: boolean;\r\n\t\terrors: { [key: string]: any };\r\n\t};\r\n}\r\n\r\nexport interface PanelState {\r\n\tediting: boolean;\r\n\tupdating: boolean;\r\n\tvalidationStatus: ValidationStatus;\r\n\terrors: any;\t//\tTODO: formalize error handling\r\n}\r\n\r\nexport interface CountyLookupState {\r\n\tpending: boolean;\r\n\tlookupStateCode: string;\r\n\terrors: any;\r\n\tcounties: { [stateCode: string]: string[] };\r\n}\r\n\r\nexport interface ZipLookupState {\r\n\tzip: string;\r\n\tpending: boolean;\r\n\terrors: any;\r\n\tcityState: { city: string, state: string };\r\n}\r\n\r\nexport interface AddressPanelState extends PanelState {\r\n\tcountyLookup: CountyLookupState;\r\n\tzipLookup: ZipLookupState;\r\n\tverifying: boolean;\r\n\tverifiedAddress: fromCommonModels.Address;\r\n\tsuggestedAddresses: fromCommonModels.Address[];\r\n}\r\n\r\nexport interface RateLookupState {\r\n\trateCode: string;\r\n\tpending: boolean;\r\n\terrors: any;\r\n}\r\n\r\nexport interface RatePanelState extends PanelState {\r\n\trateLookup: RateLookupState;\r\n}\r\n\r\nexport interface RateAgreementState {\r\n\tpending: boolean;\r\n\trateAgreement: RateAgreement;\r\n}\r\n\r\nexport interface DistrictIdLookupState {\r\n\tpending: boolean;\r\n\terrors: any;\r\n\tdistrict: DistrictLookup;\r\n}\r\n\r\nexport interface DistrictByNameLookupState {\r\n\tname: string;\r\n\tpending: boolean;\r\n\terrors: any;\r\n\tdistricts: DistrictLookup[];\r\n}\r\n\r\nexport interface DistrictLookupsState {\r\n\tidLookups: { [id: number]: DistrictIdLookupState };\r\n\tnameLookup: DistrictByNameLookupState;\r\n}\r\n\r\nexport interface SchoolDetailsState {\r\n\tschoolDetails: SchoolDetails;\r\n\tloaded: boolean;\r\n\tloading: boolean;\r\n\tcreating: boolean;\r\n\tcreatedId?: number;\r\n\terrors: any;\r\n\tpanels: { [id: string]: PanelState };\r\n\trateAgreements: { [rateCode: string]: RateAgreementState };\r\n\tdistrictLookups: DistrictLookupsState;\r\n}\r\n\r\nexport const initialPanelState: PanelState = {\r\n\tediting: false,\r\n\tvalidationStatus: {},\r\n\tupdating: false,\r\n\terrors: null,\r\n};\r\n\r\nexport const initialZipLookupState: ZipLookupState = {\r\n\tzip: '',\r\n\tpending: false,\r\n\tcityState: null,\r\n\terrors: null,\r\n};\r\n\r\nexport const initialCountyLookupState: CountyLookupState = {\r\n\tpending: false,\r\n\tlookupStateCode: null,\r\n\terrors: null,\r\n\tcounties: {},\r\n};\r\n\r\nexport const initialAddressPanelState: AddressPanelState = {\r\n\t...initialPanelState,\r\n\tzipLookup: initialZipLookupState,\r\n\tcountyLookup: initialCountyLookupState,\r\n\tverifying: false,\r\n\tverifiedAddress: null,\r\n\tsuggestedAddresses: null,\r\n};\r\n\r\nexport const initialRateLookupState: RateLookupState = {\r\n\trateCode: '',\r\n\tpending: false,\r\n\terrors: null,\r\n};\r\n\r\nexport const initialRatePanelState: RatePanelState = {\r\n\t...initialPanelState,\r\n\trateLookup: initialRateLookupState,\r\n};\r\n\r\nexport const initialDistrictIdLookupState: DistrictIdLookupState = {\r\n\tdistrict: null,\r\n\terrors: null,\r\n\tpending: false,\r\n};\r\n\r\nexport const initialDistrictNameLookupState: DistrictByNameLookupState = {\r\n\tname: null,\r\n\tdistricts: null,\r\n\terrors: null,\r\n\tpending: false,\r\n};\r\n\r\nexport const initialDistrictLookupsState: DistrictLookupsState = {\r\n\tidLookups: {},\r\n\tnameLookup: initialDistrictNameLookupState,\r\n};\r\n\r\nexport const initialState: SchoolDetailsState = {\r\n\tschoolDetails: null,\r\n\tloaded: false,\r\n\tloading: false,\r\n\tcreating: false,\r\n\tcreatedId: null,\r\n\terrors: null,\r\n\tpanels: {\r\n\t\t[PanelId.Info]: { ...initialPanelState },\r\n\t\t[PanelId.PhysAddr]: { ...initialAddressPanelState } as PanelState,\r\n\t\t[PanelId.MailAddr]: { ...initialAddressPanelState } as PanelState,\r\n\t\t[PanelId.Contacts]: { ...initialPanelState },\r\n\t\t[PanelId.CurrentRate]: { ...initialRatePanelState } as PanelState,\r\n\t\t[PanelId.FutureRate]: { ...initialRatePanelState } as PanelState,\r\n\t\t[PanelId.Calendar]: { ...initialPanelState },\r\n\t\t[PanelId.Relationship]: { ...initialPanelState },\r\n\t\t[PanelId.OnlineRentals]: { ...initialPanelState },\r\n\t\t[PanelId.RentalReturns]: { ...initialPanelState },\r\n\t\t[PanelId.AdditionalDetails]: { ...initialPanelState },\r\n\t},\r\n\trateAgreements: {},\r\n\tdistrictLookups: initialDistrictLookupsState,\r\n};\r\n\r\nexport function reducer(state = initialState, action: fromSchoolDetails.SchoolDetailsActions | fromPrefs.PrefsActions): SchoolDetailsState {\r\n\tswitch (action.type) {\r\n\t\tcase fromSchoolDetails.SchoolDetailsActionTypes.LoadSchoolDetails: {\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tloading: true,\r\n\t\t\t\terrors: null,\r\n\t\t\t};\r\n\t\t}\r\n\r\n\t\tcase fromSchoolDetails.SchoolDetailsActionTypes.LoadSchoolDetailsComplete: {\r\n\t\t\tconst schoolDetails = action.payload;\r\n\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tloaded: true,\r\n\t\t\t\tloading: false,\r\n\t\t\t\terrors: null,\r\n\t\t\t\tschoolDetails,\r\n\t\t\t};\r\n\t\t}\r\n\r\n\t\tcase fromSchoolDetails.SchoolDetailsActionTypes.LoadSchoolDetailsFailure: {\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tloaded: false,\r\n\t\t\t\tloading: false,\r\n\t\t\t\terrors: action.payload,\r\n\t\t\t};\r\n }\r\n\r\n case fromPrefs.PrefsActionTypes.CreateOverridePrefsSuccess: {\r\n return {\r\n ...state,\r\n loaded: false,\r\n loading: false,\r\n errors: null\r\n };\r\n }\r\n\r\n case fromPrefs.PrefsActionTypes.CopyPrefsSuccess: {\r\n return {\r\n ...state,\r\n loaded: false,\r\n loading: false,\r\n errors: null\r\n };\r\n }\r\n\r\n case fromPrefs.PrefsActionTypes.DeletePrefsSuccess: {\r\n return {\r\n ...state,\r\n loaded: false,\r\n loading: false,\r\n errors: null\r\n };\r\n }\r\n\r\n\t\tcase fromSchoolDetails.SchoolDetailsActionTypes.GetRateAgreement: {\r\n\t\t\tconst { rateCode } = action.payload;\r\n\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\trateAgreements: {\r\n\t\t\t\t\t...state.rateAgreements,\r\n\t\t\t\t\t[rateCode]: {\r\n\t\t\t\t\t\tpending: true,\r\n\t\t\t\t\t\trateAgreement: null,\r\n\t\t\t\t\t},\r\n\t\t\t\t},\r\n\t\t\t};\r\n\t\t}\r\n\r\n\t\tcase fromSchoolDetails.SchoolDetailsActionTypes.GetRateAgreementSuccess: {\r\n\t\t\tconst { panel, rateCode, rateAgreement } = action.payload;\r\n\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\trateAgreements: {\r\n\t\t\t\t\t...state.rateAgreements,\r\n\t\t\t\t\t[rateCode]: {\r\n\t\t\t\t\t\tpending: false,\r\n\t\t\t\t\t\trateAgreement,\r\n\t\t\t\t\t},\r\n\t\t\t\t},\r\n\t\t\t};\r\n\t\t}\r\n\r\n\t\tcase fromSchoolDetails.SchoolDetailsActionTypes.GetRateAgreementFailure: {\r\n\t\t\tconst { panel, rateCode, errors } = action.payload;\r\n\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\trateAgreements: {\r\n\t\t\t\t\t...state.rateAgreements,\r\n\t\t\t\t\t[rateCode]: {\r\n\t\t\t\t\t\tpending: false,\r\n\t\t\t\t\t\trateAgreement: null,\r\n\t\t\t\t\t},\r\n\t\t\t\t},\r\n\t\t\t};\r\n\t\t}\r\n\r\n\t\tcase fromSchoolDetails.SchoolDetailsActionTypes.LookupDistrictById: {\r\n\t\t\tconst { id } = action.payload;\r\n\t\t\tconst lookupState: DistrictIdLookupState = state.districtLookups.idLookups[id] || initialDistrictIdLookupState;\r\n\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tdistrictLookups: {\r\n\t\t\t\t\t...state.districtLookups,\r\n\t\t\t\t\tidLookups: {\r\n\t\t\t\t\t\t...state.districtLookups.idLookups,\r\n\t\t\t\t\t\t[id]: {\r\n\t\t\t\t\t\t\t...lookupState,\r\n\t\t\t\t\t\t\tpending: true,\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t},\r\n\t\t\t\t},\r\n\t\t\t};\r\n\t\t}\r\n\r\n\t\tcase fromSchoolDetails.SchoolDetailsActionTypes.LookupDistrictByIdSuccess: {\r\n\t\t\tconst { id, dl } = action.payload;\r\n\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tdistrictLookups: {\r\n\t\t\t\t\t...state.districtLookups,\r\n\t\t\t\t\tidLookups: {\r\n\t\t\t\t\t\t...state.districtLookups.idLookups,\r\n\t\t\t\t\t\t[id]: {\r\n\t\t\t\t\t\t\tpending: false,\r\n\t\t\t\t\t\t\terrors: null,\r\n\t\t\t\t\t\t\tdistrict: dl,\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t},\r\n\t\t\t\t},\r\n\t\t\t};\r\n\t\t}\r\n\r\n\t\tcase fromSchoolDetails.SchoolDetailsActionTypes.LookupDistrictByIdFailure: {\r\n\t\t\tconst { id, error } = action.payload;\r\n\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tdistrictLookups: {\r\n\t\t\t\t\t...state.districtLookups,\r\n\t\t\t\t\tidLookups: {\r\n\t\t\t\t\t\t...state.districtLookups.idLookups,\r\n\t\t\t\t\t\t[id]: {\r\n\t\t\t\t\t\t\tpending: false,\r\n\t\t\t\t\t\t\terrors: error,\r\n\t\t\t\t\t\t\tdistrict: null,\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t},\r\n\t\t\t\t},\r\n\t\t\t};\r\n\t\t}\r\n\r\n\t\tcase fromSchoolDetails.SchoolDetailsActionTypes.LookupDistrictByName: {\r\n\t\t\tconst { name } = action.payload;\r\n\t\t\tconst nameLookup: DistrictByNameLookupState = {\r\n\t\t\t\tname,\r\n\t\t\t\tpending: true,\r\n\t\t\t\terrors: null,\r\n\t\t\t\tdistricts: null,\r\n\t\t\t};\r\n\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tdistrictLookups: {\r\n\t\t\t\t\t...state.districtLookups,\r\n\t\t\t\t\tnameLookup,\r\n\t\t\t\t},\r\n\t\t\t};\r\n\t\t}\r\n\r\n\t\tcase fromSchoolDetails.SchoolDetailsActionTypes.LookupDistrictByNameFailure: {\r\n\t\t\tconst { error, name } = action.payload;\r\n\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tdistrictLookups: {\r\n\t\t\t\t\t...state.districtLookups,\r\n\t\t\t\t\tnameLookup: {\r\n\t\t\t\t\t\tname,\r\n\t\t\t\t\t\tpending: false,\r\n\t\t\t\t\t\terrors: error,\r\n\t\t\t\t\t\tdistricts: null,\r\n\t\t\t\t\t},\r\n\t\t\t\t},\r\n\t\t\t};\r\n\t\t}\r\n\r\n\t\tcase fromSchoolDetails.SchoolDetailsActionTypes.LookupDistrictByNameSuccess: {\r\n\t\t\tconst { name, dls } = action.payload;\r\n\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tdistrictLookups: {\r\n\t\t\t\t\t...state.districtLookups,\r\n\t\t\t\t\tnameLookup: {\r\n\t\t\t\t\t\tname,\r\n\t\t\t\t\t\tpending: false,\r\n\t\t\t\t\t\terrors: null,\r\n\t\t\t\t\t\tdistricts: dls,\r\n\t\t\t\t\t},\r\n\t\t\t\t},\r\n\t\t\t};\r\n\t\t}\r\n\r\n\t\tcase fromSchoolDetails.SchoolDetailsActionTypes.UpdateEditorState: {\r\n\t\t\tconst key = action.payload.key;\r\n\t\t\tconst editing = action.payload.open;\r\n\r\n\t\t\tif (editing == state.panels[key].editing) {\r\n\t\t\t\treturn state;\r\n\t\t\t}\r\n\r\n\t\t\tconst panel = { ...initialState.panels[key], editing };\t//\tNOTE: initialPanelState will not have any custom panel initialization...\r\n\t\t\tconst panels = {\r\n\t\t\t\t...state.panels,\r\n\t\t\t\t[key]: panel,\r\n\t\t\t};\r\n\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tpanels,\r\n\t\t\t};\r\n\t\t}\r\n\r\n\t\tcase fromSchoolDetails.SchoolDetailsActionTypes.UpdateSchoolPanel: {\r\n\t\t\tconst panel = {\r\n\t\t\t\t...state.panels[action.payload.panel],\r\n\t\t\t\tupdating: true,\r\n\t\t\t};\r\n\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tpanels: {\r\n\t\t\t\t\t...state.panels,\r\n\t\t\t\t\t[action.payload.panel]: panel,\r\n\t\t\t\t},\r\n\t\t\t};\r\n\t\t}\r\n\r\n\t\tcase fromSchoolDetails.SchoolDetailsActionTypes.UpdateSchoolPanelFailure: {\r\n\t\t\tconst panel = {\r\n\t\t\t\t...state.panels[action.payload.panel],\r\n\t\t\t\tupdating: false,\r\n\t\t\t\terrors: action.payload.errors,\r\n\t\t\t};\r\n\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tpanels: {\r\n\t\t\t\t\t...state.panels,\r\n\t\t\t\t\t[action.payload.panel]: panel,\r\n\t\t\t\t},\r\n\t\t\t};\r\n\t\t}\r\n\r\n\t\tcase fromSchoolDetails.SchoolDetailsActionTypes.UpdateSchoolPanelSuccess: {\r\n\t\t\tconst schoolDetails = action.payload.school;\r\n\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tschoolDetails,\r\n\t\t\t\tpanels: {\r\n\t\t\t\t\t...state.panels,\r\n\t\t\t\t\t[action.payload.panel]: initialState.panels[action.payload.panel],\r\n\t\t\t\t},\r\n\t\t\t};\r\n\t\t}\r\n\r\n\t\tcase fromSchoolDetails.SchoolDetailsActionTypes.SchoolAddressLookupCityState: {\r\n\t\t\tconst { zip, panel } = action.payload;\r\n\t\t\tconst zipLookup: ZipLookupState = {\r\n\t\t\t\t...(state.panels[panel] as AddressPanelState).zipLookup,\r\n\t\t\t\tzip,\r\n\t\t\t\tpending: true,\r\n\t\t\t\terrors: null,\r\n\t\t\t\tcityState: null,\r\n\t\t\t};\r\n\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tpanels: {\r\n\t\t\t\t\t...state.panels,\r\n\t\t\t\t\t[panel]: {\r\n\t\t\t\t\t\t...state.panels[panel],\r\n\t\t\t\t\t\tzipLookup,\r\n\t\t\t\t\t} as AddressPanelState,\r\n\t\t\t\t},\r\n\t\t\t};\r\n\t\t}\r\n\r\n\t\tcase fromSchoolDetails.SchoolDetailsActionTypes.SchoolAddressLookupCityStateFailure: {\r\n\t\t\tconst { errors, panel } = action.payload;\r\n\t\t\tconst zipLookup: ZipLookupState = {\r\n\t\t\t\t...(state.panels[panel] as AddressPanelState).zipLookup,\r\n\t\t\t\tpending: false,\r\n\t\t\t\terrors,\r\n\t\t\t\tcityState: null,\r\n\t\t\t};\r\n\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tpanels: {\r\n\t\t\t\t\t...state.panels,\r\n\t\t\t\t\t[panel]: {\r\n\t\t\t\t\t\t...state.panels[panel],\r\n\t\t\t\t\t\tzipLookup,\r\n\t\t\t\t\t} as AddressPanelState,\r\n\t\t\t\t},\r\n\t\t\t};\r\n\t\t}\r\n\r\n\t\tcase fromSchoolDetails.SchoolDetailsActionTypes.SchoolAddressLookupCityStateSuccess: {\r\n\t\t\tconst { panel, cityState } = action.payload;\r\n\t\t\tconst zipLookup: ZipLookupState = {\r\n\t\t\t\t...(state.panels[panel] as AddressPanelState).zipLookup,\r\n\t\t\t\tpending: false,\r\n\t\t\t\tcityState,\r\n\t\t\t};\r\n\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tpanels: {\r\n\t\t\t\t\t...state.panels,\r\n\t\t\t\t\t[panel]: {\r\n\t\t\t\t\t\t...state.panels[panel],\r\n\t\t\t\t\t\tzipLookup,\r\n\t\t\t\t\t} as AddressPanelState,\r\n\t\t\t\t},\r\n\t\t\t};\r\n\t\t}\r\n\r\n\t\tcase fromSchoolDetails.SchoolDetailsActionTypes.SchoolLoadCounties: {\r\n\t\t\tconst { panel, stateCode } = action.payload;\r\n\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tpanels: {\r\n\t\t\t\t\t...state.panels,\r\n\t\t\t\t\t[panel]: {\r\n\t\t\t\t\t\t...state.panels[panel],\r\n\t\t\t\t\t\tcountyLookup: {\r\n\t\t\t\t\t\t\t...(state.panels[panel] as AddressPanelState).countyLookup,\r\n\t\t\t\t\t\t\tpending: true,\r\n\t\t\t\t\t\t\tlookupStateCode: stateCode,\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t} as AddressPanelState,\r\n\t\t\t\t},\r\n\t\t\t};\r\n\t\t}\r\n\r\n\t\tcase fromSchoolDetails.SchoolDetailsActionTypes.SchoolLoadCountiesSuccess: {\r\n\t\t\tconst { panel, counties } = action.payload;\r\n\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tpanels: {\r\n\t\t\t\t\t...state.panels,\r\n\t\t\t\t\t[panel]: {\r\n\t\t\t\t\t\t...state.panels[panel],\r\n\t\t\t\t\t\tcountyLookup: {\r\n\t\t\t\t\t\t\t...(state.panels[panel] as AddressPanelState).countyLookup,\r\n\t\t\t\t\t\t\tpending: false,\r\n\t\t\t\t\t\t\tcounties: {\r\n\t\t\t\t\t\t\t\t...(state.panels[panel] as AddressPanelState).countyLookup.counties,\r\n\t\t\t\t\t\t\t\t[(state.panels[panel] as AddressPanelState).countyLookup.lookupStateCode]: counties,\r\n\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t} as AddressPanelState,\r\n\t\t\t\t},\r\n\t\t\t};\r\n\t\t}\r\n\r\n\t\tcase fromSchoolDetails.SchoolDetailsActionTypes.SchoolVerifyAddress: {\r\n\t\t\tconst { panel, address } = action.payload;\r\n\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tpanels: {\r\n\t\t\t\t\t...state.panels,\r\n\t\t\t\t\t[panel]: {\r\n\t\t\t\t\t\t...state.panels[panel],\r\n\t\t\t\t\t\tverifying: true,\r\n\t\t\t\t\t} as AddressPanelState,\r\n\t\t\t\t},\r\n\t\t\t};\r\n\t\t}\r\n\r\n\t\tcase fromSchoolDetails.SchoolDetailsActionTypes.SchoolVerifyAddressSuccess: {\r\n\t\t\tconst { panel, verification } = action.payload;\r\n\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tpanels: {\r\n\t\t\t\t\t...state.panels,\r\n\t\t\t\t\t[panel]: {\r\n\t\t\t\t\t\t...state.panels[panel],\r\n\t\t\t\t\t\tverifying: false,\r\n\t\t\t\t\t\tverifiedAddress: verification.verifiedAddress,\r\n\t\t\t\t\t\tsuggestedAddresses: verification.picklist,\r\n\t\t\t\t\t} as AddressPanelState,\r\n\t\t\t\t},\r\n\t\t\t};\r\n\t\t}\r\n\r\n\t\tcase fromSchoolDetails.SchoolDetailsActionTypes.SchoolVerifyAddressFailure: {\r\n\t\t\tconst { panel } = action.payload;\r\n\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tpanels: {\r\n\t\t\t\t\t...state.panels,\r\n\t\t\t\t\t[panel]: {\r\n\t\t\t\t\t\t...state.panels[panel],\r\n\t\t\t\t\t\tverifying: false,\r\n\t\t\t\t\t\tverifiedAddress: null,\r\n\t\t\t\t\t\tsuggestedAddresses: null,\r\n\t\t\t\t\t} as AddressPanelState,\r\n\t\t\t\t},\r\n\t\t\t};\r\n\t\t}\r\n\r\n\t\tcase fromSchoolDetails.SchoolDetailsActionTypes.ValidateExclusiveServiceAccountCode: {\r\n\t\t\tconst { panel, validator, exclusiveServiceAccountCode } = action.payload;\r\n\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tpanels: {\r\n\t\t\t\t\t...state.panels,\r\n\t\t\t\t\t[panel]: {\r\n\t\t\t\t\t\t...state.panels[panel],\r\n\t\t\t\t\t\tvalidationStatus: {\r\n\t\t\t\t\t\t\t...state.panels[panel].validationStatus,\r\n\t\t\t\t\t\t\t[validator]: {\r\n\t\t\t\t\t\t\t\tpending: true,\r\n\t\t\t\t\t\t\t\terrors: null,\r\n\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t},\r\n\t\t\t\t},\r\n\t\t\t};\r\n\t\t}\r\n\r\n\t\t//case fromSchoolDetails.SchoolDetailsActionTypes.ValidateRateAgreement: {\r\n\t\t//\tconst { panel, validator, rateCode } = action.payload;\r\n\r\n\t\t//\treturn {\r\n\t\t//\t\t...state,\r\n\t\t//\t\tpanels: {\r\n\t\t//\t\t\t...state.panels,\r\n\t\t//\t\t\t[panel]: {\r\n\t\t//\t\t\t\t...state.panels[panel],\r\n\t\t//\t\t\t\tvalidationStatus: {\r\n\t\t//\t\t\t\t\t...state.panels[panel].validationStatus,\r\n\t\t//\t\t\t\t\t[validator]: {\r\n\t\t//\t\t\t\t\t\tpending: true,\r\n\t\t//\t\t\t\t\t\terrors: null,\r\n\t\t//\t\t\t\t\t},\r\n\t\t//\t\t\t\t},\r\n\t\t//\t\t\t},\r\n\t\t//\t\t},\r\n\t\t//\t};\r\n\t\t//}\r\n\r\n\t\t//case fromSchoolDetails.SchoolDetailsActionTypes.RateAgreementValidated: {\r\n\t\t//\tconst { panel, validator, errors } = action.payload;\r\n\r\n\t\t//\treturn {\r\n\t\t//\t\t...state,\r\n\t\t//\t\tpanels: {\r\n\t\t//\t\t\t...state.panels,\r\n\t\t//\t\t\t[panel]: {\r\n\t\t//\t\t\t\t...state.panels[panel],\r\n\t\t//\t\t\t\tvalidationStatus: {\r\n\t\t//\t\t\t\t\t...state.panels[panel].validationStatus,\r\n\t\t//\t\t\t\t\t[validator]: {\r\n\t\t//\t\t\t\t\t\tpending: false,\r\n\t\t//\t\t\t\t\t\terrors,\r\n\t\t//\t\t\t\t\t},\r\n\t\t//\t\t\t\t},\r\n\t\t//\t\t\t},\r\n\t\t//\t\t},\r\n\t\t//\t};\r\n\t\t//}\r\n\r\n\t\tcase fromSchoolDetails.SchoolDetailsActionTypes.CreateSchool: {\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tcreating: true,\r\n\t\t\t\tcreatedId: null,\r\n\t\t\t};\r\n\t\t}\r\n\r\n\t\tcase fromSchoolDetails.SchoolDetailsActionTypes.CreateSchoolSuccess: {\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tcreating: false,\r\n\t\t\t\tcreatedId: action.payload.id,\r\n\t\t\t};\r\n\t\t}\r\n\r\n\t\tcase fromSchoolDetails.SchoolDetailsActionTypes.CreateSchoolFailure: {\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tcreating: false,\r\n\t\t\t\tcreatedId: null,\r\n\t\t\t\terrors: action.payload.errors,\r\n\t\t\t};\r\n\t\t}\r\n\r\n\t\tcase fromSchoolDetails.SchoolDetailsActionTypes.ValidateSchoolPrimaryId: {\r\n\t\t\tconst { panel, validator } = action.payload;\r\n\t\t\tconst validationStatus = { ...state.panels[panel].validationStatus, };\r\n\t\t\tconst { canDeactivate, schoolExists, primaryId, ...rest } = validationStatus;\r\n\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tpanels: {\r\n\t\t\t\t\t...state.panels,\r\n\t\t\t\t\t[panel]: {\r\n\t\t\t\t\t\t...state.panels[panel],\r\n\t\t\t\t\t\tvalidationStatus: {\r\n\t\t\t\t\t\t\t...rest,\r\n\t\t\t\t\t\t\t[validator]: {\r\n\t\t\t\t\t\t\t\tpending: true,\r\n\t\t\t\t\t\t\t\terrors: null,\r\n\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t},\r\n\t\t\t\t},\r\n\t\t\t};\r\n\t\t}\r\n\r\n\t\tcase fromSchoolDetails.SchoolDetailsActionTypes.SchoolPrimaryIdValidated: {\r\n\t\t\tconst { panel, validator } = action.payload;\r\n\t\t\tconst validationStatus = { ...state.panels[panel].validationStatus, };\r\n\t\t\tconst { canDeactivate, schoolExists, primaryId, ...rest } = validationStatus;\r\n\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tpanels: {\r\n\t\t\t\t\t...state.panels,\r\n\t\t\t\t\t[panel]: {\r\n\t\t\t\t\t\t...state.panels[panel],\r\n\t\t\t\t\t\tvalidationStatus: {\r\n\t\t\t\t\t\t\t...rest,\r\n\t\t\t\t\t\t\t[validator]: {\r\n\t\t\t\t\t\t\t\tpending: false,\r\n\t\t\t\t\t\t\t\terrors: action.payload.errors,\r\n\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t},\r\n\t\t\t\t},\r\n\t\t\t};\r\n\t\t}\r\n\r\n\t\tcase fromSchoolDetails.SchoolDetailsActionTypes.ValidateSchoolExists:\r\n\t\tcase fromSchoolDetails.SchoolDetailsActionTypes.ValidateSchoolCanDeactivate: {\r\n\t\t\tconst { panel, validator } = action.payload;\r\n\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tpanels: {\r\n\t\t\t\t\t...state.panels,\r\n\t\t\t\t\t[panel]: {\r\n\t\t\t\t\t\t...state.panels[panel],\r\n\t\t\t\t\t\tvalidationStatus: {\r\n\t\t\t\t\t\t\t...state.panels[panel].validationStatus,\r\n\t\t\t\t\t\t\t[validator]: {\r\n\t\t\t\t\t\t\t\tpending: true,\r\n\t\t\t\t\t\t\t\terrors: null,\r\n\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t},\r\n\t\t\t\t},\r\n\t\t\t};\r\n\t\t}\r\n\r\n\t\tcase fromSchoolDetails.SchoolDetailsActionTypes.SchoolExistsValidated:\r\n\t\tcase fromSchoolDetails.SchoolDetailsActionTypes.SchoolCanDeactivateValidated: {\r\n\t\t\tconst { panel, validator } = action.payload;\r\n\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tpanels: {\r\n\t\t\t\t\t...state.panels,\r\n\t\t\t\t\t[panel]: {\r\n\t\t\t\t\t\t...state.panels[panel],\r\n\t\t\t\t\t\tvalidationStatus: {\r\n\t\t\t\t\t\t\t...state.panels[panel].validationStatus,\r\n\t\t\t\t\t\t\t[validator]: {\r\n\t\t\t\t\t\t\t\tpending: false,\r\n\t\t\t\t\t\t\t\terrors: action.payload.errors,\r\n\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t},\r\n\t\t\t\t},\r\n\t\t\t};\r\n\t\t}\r\n\r\n\t\tdefault: {\r\n\t\t\tif (Object.values(fromSchoolDetails.SchoolDetailsActionTypes).includes(action.type as any)) {\r\n\t\t\t\tconsole.log('school-details.reducer: unhandled action: ', action);\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\treturn state;\r\n}\r\n\r\nexport const getSchoolDetailsEntity = (state: SchoolDetailsState) => state.schoolDetails;\r\nexport const getSchoolDetailsLoading = (state: SchoolDetailsState) => state.loading;\r\nexport const getSchoolDetailsLoaded = (state: SchoolDetailsState) => state.loaded;\r\nexport const getDetailsStatePanels = (state: SchoolDetailsState) => state.panels;\r\nexport const getDetailsStateCountyLookup = (state: AddressPanelState) => state.countyLookup;\r\nexport const getDetailsStateZipLookup = (state: AddressPanelState) => state.zipLookup;\r\nexport const getDetailsStateRateAgreements = (state: SchoolDetailsState) => state.rateAgreements;\r\nexport const getDistrictLookupsState = (state: SchoolDetailsState) => state.districtLookups;\r\nexport const getDistrictByNameLookupState = (state: DistrictLookupsState) => state.nameLookup;\r\n","import { Component, OnInit, Input } from '@angular/core';\r\nimport { FormBuilder, FormGroup, FormControl, Validators, ValidatorFn } from '@angular/forms';\r\nimport { ValidateCurrentDateOrLater } from '../../event.validators';\r\nimport * as moment from 'moment';\r\nimport { BsDatepickerConfig } from 'ngx-bootstrap/datepicker';\r\n\r\n@Component({\r\n selector: 'opus-event-copy',\r\n templateUrl: './event-copy.component.html'\r\n})\r\nexport class EventCopyComponent implements OnInit {\r\n bsConfig: Partial = { containerClass: 'theme-dark-blue' };\r\n maxDate = new Date('9999-12-31');\r\n\r\n editor = this.fb.group({\r\n name: ['', Validators.required],\r\n date: [new Date(), [Validators.required, ValidateCurrentDateOrLater]]\r\n });\r\n\r\n @Input() set eventName(name: string) {\r\n const control = this.editor.get('name');\r\n control.setValue(name);\r\n }\r\n\r\n constructor(private fb: FormBuilder) {\r\n console.log('EventCopyComponent()...');\r\n }\r\n\r\n ngOnInit() {\r\n console.log('EventCopyComponent.ngOnInit()...');\r\n }\r\n\r\n get name() {\r\n return this.editor.valid ? this.editor.value.name : null;\r\n }\r\n\r\n get date() {\r\n return this.editor.valid ? this.editor.value.date : null;\r\n }\r\n}\r\n","
\r\n \r\n \r\n
\r\n
Required
\r\n
\r\n\r\n \r\n \r\n
\r\n
Date must be today or later
\r\n
\r\n
","import { Component, Input } from '@angular/core';\r\n\r\nimport { District } from '../../models';\r\n\r\n@Component({\r\n\tselector: 'opus-district-contacts',\r\n\ttemplateUrl: './district-contacts.component.html',\r\n})\r\nexport class DistrictContactsComponent {\r\n\t@Input() district: District;\r\n}\r\n\r\n","
    \r\n\t
  • \r\n\t\t
    Music Supervisor
    \r\n\t\t
    {{ district.musicSupervisor }}
    \r\n\t
  • \r\n\t
  • \r\n\t\t
    Office Contact
    \r\n\t\t
    {{ district.officeContact }}
    \r\n\t
  • \r\n\t
  • \r\n\t\t
    Phone
    \r\n\t\t
    {{ district.phone }}
    \r\n\t
  • \r\n\t
  • \r\n\t\t
    Fax
    \r\n\t\t
    {{ district.fax }}
    \r\n\t
  • \r\n\t
  • \r\n\t\t
    Website
    \r\n\t\t\r\n\t
  • \r\n
\r\n","export * from './program-details.action';\r\nexport * from './program-searchresults.action';\r\nexport * from './program-create.actions';\r\n","export * from './scp.actions';\r\nexport * from './history.actions';\r\n","import { ActionReducerMap, createFeatureSelector } from '@ngrx/store';\r\n\r\nimport * as fromProgramDetails from './program-details.reducer';\r\nimport * as fromSearchResults from './searchresults.reducer';\r\nimport * as fromProgramCreate from './program-create.reducer';\r\n\r\nexport interface ProgramsState {\r\n programDetails: fromProgramDetails.ProgramDetailsState;\r\n\tsearch: fromSearchResults.SearchResultsState;\r\n\tcreate: fromProgramCreate.ProgramCreateState;\r\n}\r\n\r\nexport const reducers: ActionReducerMap = {\r\n programDetails: fromProgramDetails.reducer,\r\n\tsearch: fromSearchResults.reducer,\r\n\tcreate: fromProgramCreate.reducer,\r\n};\r\n\r\nexport const getProgramsState = createFeatureSelector('programs');\r\n\r\nexport { ProgramDetailsState, PanelId, PanelState, TeacherLookupState, TeacherByCriteriaLookupState} from './program-details.reducer';\r\nexport { SearchResultsState, initialState } from './searchresults.reducer';\r\nexport { ProgramCreateState } from './program-create.reducer';\r\n","import { Component, Input } from '@angular/core';\r\n\r\nimport { District, InactiveReason } from '../../models';\r\n\r\n@Component({\r\n\tselector: 'opus-district-info',\r\n\ttemplateUrl: './district-info.component.html',\r\n})\r\nexport class DistrictInfoComponent {\r\n\t@Input() district: District;\r\n\r\n\tget id(): string {\r\n\t\treturn this.district.id.toString();\r\n\t}\r\n\r\n\tget isActive(): boolean {\r\n\t\treturn this.district.isActive;\r\n\t}\r\n\r\n\tget inactiveReason(): string {\r\n\t\treturn InactiveReason[this.district.inactiveReason];\r\n }\r\n\r\n\tget longName(): string {\r\n\t\treturn this.district.longName;\r\n\t}\r\n\r\n\tget shortName(): string {\r\n\t\treturn this.district.shortName;\r\n\t}\r\n\r\n\tget isSupervisory(): boolean {\r\n\t\treturn this.district.isSupervisory;\r\n\t}\r\n\r\n\tget supervisoryDistrictId(): string {\r\n\t\treturn this.district.supervisoryDistrictId ? this.district.supervisoryDistrictId.toString() : '';\r\n\t}\r\n\r\n\tget supervisoryDistrictName(): string {\r\n\t\treturn this.district.supervisoryDistrictName;\r\n }\r\n\r\n get displayPrimaryId(): boolean {\r\n return !this.district.isActive && this.district.inactiveReason === InactiveReason.Duplicate;\r\n }\r\n\r\n get primaryId(): number {\r\n return this.district.primaryId;\r\n }\r\n}\r\n","
    \r\n
  • \r\n
    Active
    \r\n
    {{ isActive | yesNo }}
    \r\n
  • \r\n
  • \r\n
    Inactive Reason
    \r\n
    {{ inactiveReason }}
    \r\n
  • \r\n
  • \r\n
    Primary ID
    \r\n
    {{ primaryId }}
    \r\n
  • \r\n
  • \r\n
    District ID
    \r\n
    {{ id }}
    \r\n
  • \r\n
  • \r\n
    Long Name
    \r\n
    {{ longName }}
    \r\n
  • \r\n
  • \r\n
    Short Name
    \r\n
    {{ shortName }}
    \r\n
  • \r\n
  • \r\n
    Supervisory District
    \r\n
    {{ isSupervisory | yesNo }}
    \r\n
  • \r\n \r\n
  • \r\n
    Supervisory District ID
    \r\n \r\n
  • \r\n
  • \r\n
    Supervisory District Name
    \r\n \r\n
  • \r\n
    \r\n
\r\n","import * as fromActions from '../actions/prefs.actions';\r\nimport * as fromModels from '../../models';\r\nimport { OpusCategory } from '../../../scp-common/models';\r\nimport * as fromSchoolModels from '../../../schools/models';\r\nimport * as fromDistrictModels from '../../../districts/models';\r\nimport { HttpErrorResponse } from '@angular/common/http';\r\n\r\nexport enum AddSuppliesStep {\r\n\tFind,\r\n\tSelect,\r\n\tConfigure,\r\n\tConfirm,\r\n}\r\n\r\nexport enum FindType {\r\n\tGroup,\r\n\tBook,\r\n\tKeyword,\r\n}\r\n\r\nexport interface GroupFind {\r\n\tproductGroupId?: number;\r\n}\r\n\r\nexport interface BookFind {\r\n\tcategoryId?: number;\r\n\tsubCategoryId?: number;\r\n\tlevelId?: number;\r\n\tproductName: string;\r\n}\r\n\r\nexport interface KeywordFind {\r\n\tvariantId: string;\r\n\tbrandName: string;\r\n\tproductName: string;\r\n\toptionName: string;\r\n\tmodelNo: string;\r\n}\r\n\r\nexport interface FindCriteria {\r\n\tfindType: FindType;\r\n\tgroupFind: GroupFind;\r\n\tbookFind: BookFind;\r\n\tkeywordFind: KeywordFind;\r\n}\r\n\r\nexport interface AddSuppliesState {\r\n\tinitialized: boolean;\r\n\tinitializing: boolean;\r\n\terrors: any;\r\n\tcurrentStep: AddSuppliesStep;\r\n\tfind: FindCriteria;\r\n\tfinding: boolean;\r\n\tproductGroups: fromModels.ProductGroup[];\r\n\tbookCategories: OpusCategory[];\r\n products: { [id: number]: fromModels.ProductSearchResult };\r\n\tsupplyItems: { [id: number]: fromModels.SupplyItem };\r\n}\r\n\r\nexport interface SchoolLookupState {\r\n schoolId: number;\r\n pending: boolean;\r\n errors: any;\r\n school: fromSchoolModels.SchoolLookup;\r\n}\r\n\r\nexport interface SchoolByNameLookupState {\r\n name: string;\r\n pending: boolean;\r\n errors: any;\r\n schools: fromSchoolModels.SchoolLookup[];\r\n}\r\n\r\nexport interface DistrictLookupState {\r\n districtId: number;\r\n pending: boolean;\r\n errors: any;\r\n district: fromDistrictModels.DistrictLookup;\r\n}\r\n\r\nexport interface DistrictByNameLookupState {\r\n name: string;\r\n pending: boolean;\r\n errors: any;\r\n districts: fromDistrictModels.DistrictLookup[];\r\n}\r\n\r\nexport const initialSchoolLookupState: SchoolLookupState = {\r\n schoolId: null,\r\n pending: false,\r\n school: null,\r\n errors: null,\r\n};\r\n\r\nexport const initialSchoolByNameLookupState: SchoolByNameLookupState = {\r\n name: null,\r\n pending: false,\r\n errors: null,\r\n schools: null\r\n};\r\n\r\nexport const initialDistrictLookupState: DistrictLookupState = {\r\n districtId: null,\r\n pending: false,\r\n district: null,\r\n errors: null,\r\n};\r\n\r\nexport const initialDistrictByNameLookupState: DistrictByNameLookupState = {\r\n name: null,\r\n pending: false,\r\n errors: null,\r\n districts: null\r\n};\r\n\r\n\r\nexport interface LandingState {\r\n\tloading: boolean;\r\n loaded: boolean;\r\n updating: boolean;\r\n updated: boolean;\r\n\terrors: any;\r\n\tpreferenceSet: fromModels.PreferenceSet;\r\n addSupplies: AddSuppliesState;\r\n schoolLookup: SchoolLookupState;\r\n schoolByNameLookup: SchoolByNameLookupState;\r\n districtLookup: DistrictLookupState;\r\n\tdistrictByNameLookup: DistrictByNameLookupState;\r\n\tratesRequired: boolean;\r\n\tratesLoading: boolean;\r\n\tratesLoaded: boolean;\r\n rates: fromModels.InstrumentRate[];\r\n\tratesError: HttpErrorResponse;\r\n actionType: fromActions.PrefsActionTypes;\r\n}\r\n\r\nexport const initialFindCriteria: FindCriteria = {\r\n\tfindType: FindType.Group,\r\n\tgroupFind: {\r\n\t\tproductGroupId: null\r\n\t},\r\n\tbookFind: {\r\n\t\tcategoryId: null,\r\n\t\tsubCategoryId: null,\r\n\t\tlevelId: null,\r\n\t\tproductName: null\r\n\t},\r\n\tkeywordFind: {\r\n\t\tvariantId: null,\r\n\t\tbrandName: null,\r\n\t\tproductName: null,\r\n\t\toptionName: null,\r\n\t\tmodelNo: null,\r\n\t},\r\n};\r\n\r\nexport const initialAddSuppliesState: AddSuppliesState = {\r\n\tinitialized: false,\r\n\tinitializing: false,\r\n\terrors: null,\r\n\tcurrentStep: AddSuppliesStep.Find,\r\n\tfind: initialFindCriteria,\r\n\tfinding: false,\r\n\tproductGroups: null,\r\n\tbookCategories: null,\r\n\tproducts: null,\r\n\tsupplyItems: null,\r\n};\r\n\r\nexport const initialState: LandingState = {\r\n\tloading: false,\r\n\tloaded: false,\r\n\tupdating: false,\r\n\tupdated: false,\r\n\terrors: null,\r\n\tpreferenceSet: null,\r\n\taddSupplies: initialAddSuppliesState,\r\n\tschoolLookup: initialSchoolLookupState,\r\n\tschoolByNameLookup: initialSchoolByNameLookupState,\r\n\tdistrictLookup: initialDistrictLookupState,\r\n\tdistrictByNameLookup: initialDistrictByNameLookupState,\r\n\tratesRequired: false,\r\n\tratesLoading: false,\r\n\tratesLoaded: false,\r\n rates: [],\r\n\tratesError: null,\r\n actionType: null,\r\n};\r\n\r\nexport function reducer(state = initialState, action: fromActions.PrefsActions): LandingState {\r\n\tswitch (action.type) {\r\n\t\tcase fromActions.PrefsActionTypes.LoadPrefs: {\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tloading: true,\r\n\t\t\t\tloaded: false,\r\n\t\t\t\terrors: null,\r\n\t\t\t};\r\n\t\t}\r\n\r\n\t\tcase fromActions.PrefsActionTypes.LoadPrefsSuccess: {\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tloaded: true,\r\n\t\t\t\tloading: false,\r\n\t\t\t\terrors: null,\r\n\t\t\t\tpreferenceSet: action.payload,\r\n\t\t\t\taddSupplies: initialAddSuppliesState,\r\n\t\t\t};\r\n\t\t}\r\n\r\n\t\tcase fromActions.PrefsActionTypes.LoadPrefsFailure: {\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tloaded: false,\r\n\t\t\t\tloading: false,\r\n\t\t\t\terrors: action.payload,\r\n\t\t\t};\r\n }\r\n\r\n case fromActions.PrefsActionTypes.UpdatePrefsPanel: {\r\n return {\r\n ...state,\r\n\t\t\t\tupdating: true,\r\n\t\t\t\tupdated: false,\r\n };\r\n }\r\n\r\n case fromActions.PrefsActionTypes.UpdatePrefsPanelFailure: {\r\n return {\r\n ...state,\r\n\t\t\t\tupdating: false,\r\n\t\t\t\tupdated: false,\r\n errors: action.payload,\r\n };\r\n }\r\n\r\n case fromActions.PrefsActionTypes.UpdatePrefsPanelSuccess: {\r\n return {\r\n ...state,\r\n updated: true,\r\n updating: false,\r\n errors: null,\r\n preferenceSet: action.payload.preferenceSet,\r\n };\r\n }\r\n\r\n case fromActions.PrefsActionTypes.CreateOverridePrefs: {\r\n return {\r\n ...state,\r\n\t\t\t\tupdating: true,\r\n updated: false,\r\n actionType: action.type\r\n };\r\n }\r\n\r\n case fromActions.PrefsActionTypes.CreateOverridePrefsFailure: {\r\n return {\r\n ...state,\r\n\t\t\t\tupdating: false,\r\n updated: false,\r\n actionType: action.type,\r\n errors: action.payload,\r\n };\r\n }\r\n\r\n case fromActions.PrefsActionTypes.CreateOverridePrefsSuccess: {\r\n return {\r\n ...state,\r\n\t\t\t\tupdated: true,\r\n updating: false,\r\n actionType: action.type,\r\n\t\t\t\terrors: null,\r\n preferenceSet: action.payload,\r\n };\r\n }\r\n\r\n case fromActions.PrefsActionTypes.CopyPrefs: {\r\n return {\r\n ...state,\r\n\t\t\t\tupdating: true,\r\n\t\t\t\tupdated: false,\r\n };\r\n }\r\n\r\n case fromActions.PrefsActionTypes.CopyPrefsFailure: {\r\n return {\r\n ...state,\r\n\t\t\t\tupdating: false,\r\n\t\t\t\tupdated: false,\r\n errors: action.payload,\r\n };\r\n }\r\n\r\n case fromActions.PrefsActionTypes.CopyPrefsSuccess: {\r\n return {\r\n ...state,\r\n\t\t\t\tupdated: true,\r\n\t\t\t\tupdating: false,\r\n\t\t\t\terrors: null,\r\n };\r\n }\r\n\r\n case fromActions.PrefsActionTypes.DeletePrefs: {\r\n return {\r\n ...state,\r\n\t\t\t\tupdating: true,\r\n updated: false,\r\n actionType: action.type\r\n };\r\n }\r\n\r\n case fromActions.PrefsActionTypes.DeletePrefsFailure: {\r\n return {\r\n ...state,\r\n\t\t\t\tupdating: false,\r\n updated: false,\r\n actionType: action.type,\r\n errors: action.payload,\r\n };\r\n }\r\n\r\n case fromActions.PrefsActionTypes.DeletePrefsSuccess: {\r\n return {\r\n ...state,\r\n\t\t\t\tupdated: true,\r\n\t\t\t\tupdating: false,\r\n errors: null,\r\n actionType: action.type,\r\n preferenceSet: action.payload,\r\n };\r\n }\r\n\r\n\t\tcase fromActions.PrefsActionTypes.InitializeAddSupplies: {\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\taddSupplies: {\r\n\t\t\t\t\t...initialAddSuppliesState,\r\n\t\t\t\t\tinitialized: false,\r\n\t\t\t\t\tinitializing: true,\r\n\t\t\t\t},\r\n\t\t\t};\r\n\t\t}\r\n\r\n\t\tcase fromActions.PrefsActionTypes.AddSuppliesInitialized: {\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\taddSupplies: {\r\n\t\t\t\t\t...state.addSupplies,\r\n\t\t\t\t\tinitialized: true,\r\n\t\t\t\t\tinitializing: false,\r\n\t\t\t\t},\r\n\t\t\t};\r\n\t\t}\r\n\r\n\t\tcase fromActions.PrefsActionTypes.BookCategoriesLoaded: {\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\taddSupplies: {\r\n\t\t\t\t\t...state.addSupplies,\r\n\t\t\t\t\tbookCategories: action.payload,\r\n\t\t\t\t},\r\n\t\t\t};\r\n\t\t}\r\n\r\n\t\tcase fromActions.PrefsActionTypes.ProductGroupsLoaded: {\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\taddSupplies: {\r\n\t\t\t\t\t...state.addSupplies,\r\n\t\t\t\t\tproductGroups: action.payload,\r\n\t\t\t\t},\r\n\t\t\t};\r\n\t\t}\r\n\r\n\t\tcase fromActions.PrefsActionTypes.FindProducts: {\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\taddSupplies: {\r\n\t\t\t\t\t...state.addSupplies,\r\n\t\t\t\t\tfinding: true,\r\n\t\t\t\t\tfind: action.payload,\r\n\t\t\t\t\tproducts: {},\r\n\t\t\t\t\tsupplyItems: {},\r\n\t\t\t\t},\r\n\t\t\t};\r\n\t\t}\r\n\r\n\t\tcase fromActions.PrefsActionTypes.FindProductsSuccess: {\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\taddSupplies: {\r\n\t\t\t\t\t...state.addSupplies,\r\n\t\t\t\t\tfinding: false,\r\n\t\t\t\t\tcurrentStep: AddSuppliesStep.Select,\r\n\t\t\t\t\tproducts: action.payload,\r\n\t\t\t\t},\r\n\t\t\t};\r\n\t\t}\r\n\r\n\t\tcase fromActions.PrefsActionTypes.FindProductsFailure: {\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\taddSupplies: {\r\n\t\t\t\t\t...state.addSupplies,\r\n\t\t\t\t\tfinding: false,\r\n\t\t\t\t\tcurrentStep: AddSuppliesStep.Find,\r\n\t\t\t\t\terrors: action.payload,\r\n\t\t\t\t},\r\n\t\t\t};\r\n\t\t}\r\n\r\n\t\tcase fromActions.PrefsActionTypes.UpdateSupplyItems: {\r\n\t\t\tconst supplies = action.payload.reduce((result, si) => {\r\n\t\t\t\tresult[si.product.id] = si;\r\n\r\n\t\t\t\treturn result;\r\n\t\t\t}, {});\r\n\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\taddSupplies: {\r\n\t\t\t\t\t...state.addSupplies,\r\n\t\t\t\t\tsupplyItems: {\r\n\t\t\t\t\t\t...state.addSupplies.supplyItems,\r\n\t\t\t\t\t\t...supplies,\r\n\t\t\t\t\t},\r\n\t\t\t\t},\r\n\t\t\t};\r\n\t\t}\r\n\r\n\t\tcase fromActions.PrefsActionTypes.RemoveSupplyItems: {\r\n\t\t\tconst supplyItems = action.payload.reduce((result, id) => {\r\n\t\t\t\tconst { [id]: removed, ...rest } = result;\r\n\r\n\t\t\t\treturn rest;\r\n\t\t\t}, state.addSupplies.supplyItems);\r\n\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\taddSupplies: {\r\n\t\t\t\t\t...state.addSupplies,\r\n\t\t\t\t\tsupplyItems,\r\n\t\t\t\t},\r\n\t\t\t};\r\n\t\t}\r\n\r\n\t\tcase fromActions.PrefsActionTypes.SelectAddSuppliesStep: {\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\taddSupplies: {\r\n\t\t\t\t\t...state.addSupplies,\r\n\t\t\t\t\tcurrentStep: action.payload,\r\n\t\t\t\t}\r\n\t\t\t};\r\n\t\t}\r\n\r\n case fromActions.PrefsActionTypes.SchoolLookupById: {\r\n const { schoolId } = action.payload;\r\n const schoolLookup: SchoolLookupState = {\r\n schoolId,\r\n pending: true,\r\n errors: null,\r\n school: null,\r\n };\r\n\r\n return {\r\n ...state,\r\n schoolLookup\r\n };\r\n }\r\n\r\n case fromActions.PrefsActionTypes.SchoolLookupByIdFailure: {\r\n const { errors } = action.payload;\r\n const schoolLookup: SchoolLookupState = {\r\n ...state.schoolLookup,\r\n pending: false,\r\n errors,\r\n school: null,\r\n };\r\n\r\n return {\r\n ...state,\r\n schoolLookup,\r\n };\r\n }\r\n\r\n case fromActions.PrefsActionTypes.SchoolLookupByIdSuccess: {\r\n const { school } = action.payload;\r\n const schoolLookup: SchoolLookupState = {\r\n ...state.schoolLookup,\r\n pending: false,\r\n school,\r\n };\r\n\r\n return {\r\n ...state,\r\n schoolLookup,\r\n };\r\n }\r\n\r\n case fromActions.PrefsActionTypes.SchoolLookupByName: {\r\n const { name } = action.payload;\r\n const schoolByNameLookup: SchoolByNameLookupState = {\r\n name,\r\n pending: true,\r\n errors: null,\r\n schools: null,\r\n };\r\n\r\n return {\r\n ...state,\r\n schoolByNameLookup,\r\n };\r\n }\r\n\r\n case fromActions.PrefsActionTypes.SchoolLookupByNameFailure: {\r\n const { errors } = action.payload;\r\n const schoolByNameLookup: SchoolByNameLookupState = {\r\n ...state.schoolByNameLookup,\r\n pending: false,\r\n errors,\r\n schools: null,\r\n };\r\n\r\n return {\r\n ...state,\r\n schoolByNameLookup,\r\n };\r\n }\r\n\r\n case fromActions.PrefsActionTypes.SchoolLookupByNameSuccess: {\r\n const { schools } = action.payload;\r\n const schoolByNameLookup: SchoolByNameLookupState = {\r\n ...state.schoolByNameLookup,\r\n pending: false,\r\n schools,\r\n };\r\n\r\n return {\r\n ...state,\r\n schoolByNameLookup,\r\n };\r\n }\r\n\r\n //DISTRICT LOOKUP\r\n\r\n case fromActions.PrefsActionTypes.DistrictLookupById: {\r\n const { districtId } = action.payload;\r\n const districtLookup: DistrictLookupState = {\r\n districtId,\r\n pending: true,\r\n errors: null,\r\n district: null,\r\n };\r\n\r\n return {\r\n ...state,\r\n districtLookup\r\n };\r\n }\r\n\r\n case fromActions.PrefsActionTypes.DistrictLookupByIdFailure: {\r\n const { errors } = action.payload;\r\n const districtLookup: DistrictLookupState = {\r\n ...state.districtLookup,\r\n pending: false,\r\n errors,\r\n district: null,\r\n };\r\n\r\n return {\r\n ...state,\r\n districtLookup,\r\n };\r\n }\r\n\r\n case fromActions.PrefsActionTypes.DistrictLookupByIdSuccess: {\r\n const { district } = action.payload;\r\n const districtLookup: DistrictLookupState = {\r\n ...state.districtLookup,\r\n pending: false,\r\n district,\r\n };\r\n\r\n return {\r\n ...state,\r\n districtLookup,\r\n };\r\n }\r\n\r\n case fromActions.PrefsActionTypes.DistrictLookupByName: {\r\n const { name } = action.payload;\r\n const districtByNameLookup: DistrictByNameLookupState = {\r\n name,\r\n pending: true,\r\n errors: null,\r\n districts: null,\r\n };\r\n\r\n return {\r\n ...state,\r\n districtByNameLookup,\r\n };\r\n }\r\n\r\n case fromActions.PrefsActionTypes.DistrictLookupByNameFailure: {\r\n const { errors } = action.payload;\r\n const districtByNameLookup: DistrictByNameLookupState = {\r\n ...state.districtByNameLookup,\r\n pending: false,\r\n errors,\r\n districts: null,\r\n };\r\n\r\n return {\r\n ...state,\r\n districtByNameLookup,\r\n };\r\n }\r\n\r\n case fromActions.PrefsActionTypes.DistrictLookupByNameSuccess: {\r\n const { districts } = action.payload;\r\n const districtByNameLookup: DistrictByNameLookupState = {\r\n ...state.districtByNameLookup,\r\n pending: false,\r\n districts,\r\n };\r\n\r\n return {\r\n ...state,\r\n districtByNameLookup,\r\n };\r\n }\r\n\r\n\t\tcase fromActions.PrefsActionTypes.GetRates: {\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tratesRequired: true,\r\n\t\t\t\tratesLoading: true,\r\n\t\t\t\tratesLoaded: false,\r\n\t\t\t\trates: null,\r\n\t\t\t\tratesError: null,\r\n\t\t\t};\r\n\t\t}\r\n\r\n\t\tcase fromActions.PrefsActionTypes.GetRatesSuccess: {\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tratesLoading: false,\r\n\t\t\t\tratesLoaded: true,\r\n\t\t\t\trates: action.payload,\r\n\t\t\t};\r\n\t\t}\r\n\r\n\t\tcase fromActions.PrefsActionTypes.GetRatesFailure: {\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tratesLoading: false,\r\n\t\t\t\tratesLoaded: false,\r\n\t\t\t\tratesError: action.payload,\r\n\t\t\t};\r\n\t\t}\r\n\r\n\t\tdefault: {\r\n\t\t\tif (Object.values(fromActions.PrefsActionTypes).includes(action.type)) {\r\n\t\t\t\tconsole.log('landing.reducer: unhandled action: ', action);\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n return state;\r\n}\r\n\r\nexport const getLandingPreferenceSet = (state: LandingState) => state.preferenceSet;\r\nexport const getAddSuppliesState = (state: LandingState) => state.addSupplies;\r\nexport const getProductGroups = (state: AddSuppliesState) => state.productGroups;\r\nexport const getBookCategories = (state: AddSuppliesState) => state.bookCategories;\r\nexport const getStateSchoolLookup = (state: LandingState) => state.schoolLookup;\r\nexport const getStateSchoolByNameLookup = (state: LandingState) => state.schoolByNameLookup;\r\nexport const getStateDistrictLookup = (state: LandingState) => state.districtLookup;\r\nexport const getStateDistrictByNameLookup = (state: LandingState) => state.districtByNameLookup;\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\n\r\nimport { Observable } from 'rxjs';\r\nimport { switchMap } from 'rxjs/operators';\r\n\r\nimport { ConfigurationService } from '../../core/services/ConfigurationService';\r\nimport { ConfigurationState } from '../../core/store/reducers';\r\n\r\nimport { InstrumentClass, InstrumentCombo, ProductGroup, Product, RentalCategory, RentalCategoryAttribute } from '../models';\r\nimport { Operation } from 'fast-json-patch';\r\n\r\n@Injectable()\r\nexport class MerchService {\r\n\tconstructor(private http: HttpClient, private configuration: ConfigurationService) { }\r\n\r\n\tgetInstrumentClasses(): Observable {\r\n\t\treturn this.configuration.config$.pipe(\r\n\t\t\tswitchMap((c: ConfigurationState) => {\r\n\t\t\t\treturn this.http.get(`${c.config.apiServer}api/taxonomy/rental/classes`);\r\n\t\t\t})\r\n\t\t);\r\n\t}\r\n\r\n\tgetInstrumentCombos(categoryId: number): Observable {\r\n\t\treturn this.configuration.config$.pipe(\r\n\t\t\tswitchMap((c: ConfigurationState) => {\r\n\t\t\t\treturn this.http.get(`${c.config.apiServer}api/instrumentcombinations/category/${categoryId}`);\r\n\t\t\t})\r\n\t\t);\r\n \t}\r\n\r\n\tgetProductGroups(): Observable {\r\n\t\treturn this.configuration.config$.pipe(\r\n\t\tswitchMap((c: ConfigurationState) => {\r\n\t\t\treturn this.http.get(`${c.config.apiServer}api/productgroups`);\r\n\t\t})\r\n\t\t);\r\n\t}\r\n\r\n\tgetProducts(productGroupId: number): Observable {\r\n\t\treturn this.configuration.config$.pipe(\r\n\t\tswitchMap((c: ConfigurationState) => {\r\n\t\t\treturn this.http.get(`${c.config.apiServer}api/product/search?productGroupId=${productGroupId}`);\r\n\t\t})\r\n\t\t);\r\n\t}\r\n\r\n\tsetComboAvailability(available: boolean, ids: number[]): Observable {\r\n\t\treturn this.configuration.config$.pipe(\r\n\t\t\tswitchMap((c: ConfigurationState) => {\r\n\t\t\t\treturn this.http.post(`${c.config.apiServer}api/instrumentcombinations/${available}`, ids);\r\n\t\t\t})\r\n\t\t);\r\n\t}\r\n\r\n\tdeleteCombo(id: number): Observable {\r\n\t\treturn this.configuration.config$.pipe(\r\n\t\t\tswitchMap((c: ConfigurationState) => {\r\n\t\t\t\treturn this.http.delete(`${c.config.apiServer}api/instrumentcombinations/${id}`);\r\n\t\t\t})\r\n\t\t);\r\n\t}\r\n\r\n\tgetRentalCategories(code: string): Observable {\r\n\t\treturn this.configuration.config$.pipe(\r\n\t\t\tswitchMap((c: ConfigurationState) => {\r\n\t\t\t\treturn this.http.get(`${c.config.apiServer}api/Rentals/Category/${code}`);\r\n\t\t\t})\r\n\t\t)\r\n\t}\r\n\r\n\tgetRentalCategoryDetails(id: number): Observable {\r\n\t\treturn this.configuration.config$.pipe(\r\n\t\t\tswitchMap((c: ConfigurationState) => {\r\n\t\t\t\treturn this.http.get(`${c.config.apiServer}api/Rentals/Category/Details/${id}`);\r\n\t\t\t})\r\n\t\t)\r\n\t}\r\n\r\n\tgetRentalCategoryAttributes(id: number): Observable {\r\n\t\treturn this.configuration.config$.pipe(\r\n\t\t\tswitchMap((c: ConfigurationState) => {\r\n\t\t\t\treturn this.http.get(`${c.config.apiServer}api/Rentals/Category/Details/Attributes/${id}`);\r\n\t\t\t})\r\n\t\t)\r\n\t}\r\n\r\n\tpatchRentalCategoryAttributes(id: number, patch: Operation[]): Observable {\r\n return this.configuration.config$.pipe(\r\n switchMap((c: ConfigurationState) => {\r\n return this.http.patch(`${c.config.apiServer}api/Rentals/Category/Details/Attributes/${id}`, patch);\r\n })\r\n );\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\n\r\nimport { Observable } from 'rxjs';\r\nimport { switchMap } from 'rxjs/operators';\r\n\r\nimport { ConfigurationService } from '../../../core/services/ConfigurationService';\r\nimport { ConfigurationState } from '../../../core/store/reducers';\r\n\r\nimport { Address, AddressVerification } from '../models';\r\n\r\n@Injectable()\r\nexport class AddressService {\r\n constructor(private http: HttpClient, private configuration: ConfigurationService) { }\r\n\r\n lookupCityState(zip: string): Observable<{ city: string, state: string }> {\r\n return this.configuration.config$.pipe(\r\n switchMap((c: ConfigurationState) => {\r\n return this.http.get<{ city: string, state: string }>(`${c.config.apiServer}api/addresses/citystate/${zip}`);\r\n })\r\n );\r\n }\r\n\r\n verifyAddress(address: Address): Observable {\r\n const params = [];\r\n\r\n Object.keys(address).forEach(key => {\r\n if (address[key] === null) {\r\n return;\r\n }\r\n\r\n params.push(`${key}=${address[key]}`);\r\n });\r\n\r\n const query = params.join('&');\r\n\r\n return this.configuration.config$.pipe(\r\n switchMap((c: ConfigurationState) => {\r\n return this.http.get(`${c.config.apiServer}api/addresses/verification?${query}`);\r\n })\r\n );\r\n }\r\n\r\n loadCounties(stateCode: string): Observable {\r\n return this.configuration.config$.pipe(\r\n switchMap((c: ConfigurationState) => {\r\n return this.http.get(`${c.config.apiServer}api/addresses/counties/${stateCode}`);\r\n })\r\n );\r\n }\r\n}\r\n","import { createSelector } from \"@ngrx/store\";\r\n\r\nimport * as fromReducers from '../reducers';\r\n\r\nexport const getDistributionDetailsState = createSelector(\r\n fromReducers.getDistributionState,\r\n (state: fromReducers.DistributionState) => state.details\r\n);\r\n\r\nexport const getShippingCharges = createSelector(\r\n getDistributionDetailsState,\r\n (state: fromReducers.DistributionDetailsState) => state.shippingCharges\r\n);\r\n","
    \r\n\t
  • \r\n\t\t
    School Returns Allowed
    \r\n\t\t
    {{ school.returnsAllowed | yesNo }}
    \r\n\t
  • \r\n\t
  • \r\n\t\t
    Location in Session
    \r\n\t\t
    {{ school.sessionLocation }}
    \r\n\t
  • \r\n\t
  • \r\n\t\t
    Location in Summer
    \r\n\t\t
    {{ school.summerLocation }}
    \r\n\t
  • \r\n\t
  • \r\n\t\t
    Returns Blackout Period
    \r\n\t\t
    {{ school.hasBlackoutPeriod | yesNo }}
    \r\n\t
  • \r\n\t\r\n\t\t
  • \r\n\t\t\t
    Blackout Period
    \r\n\t\t\t
    {{ blackoutPeriod }}
    \r\n\t\t
  • \r\n\t
    \r\n
\r\n","import { Component, Input } from '@angular/core';\r\n\r\nimport { SchoolDetails } from '../../models';\r\n\r\n@Component({\r\n\tselector: 'opus-school-rental-returns',\r\n\ttemplateUrl: './school-rental-returns.component.html',\r\n})\r\nexport class SchoolRentalReturnsComponent {\r\n\t@Input() school: SchoolDetails;\r\n\tmonthNames = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'];\r\n\r\n\tget blackoutPeriod() {\r\n\t\treturn this.getDateRangeText(this.school.blackoutStart, this.school.blackoutEnd);\r\n\t}\r\n\r\n\tprivate getDate(s: string): Date {\r\n\t\tconst ms: number = Date.parse(s);\r\n\r\n\t\tif (isNaN(ms)) {\r\n\t\t\treturn null;\r\n\t\t}\r\n\r\n\t\treturn new Date(ms);\r\n\t}\r\n\r\n\tprivate getDateText(d: Date): string {\r\n\t\treturn d === null ? 'Unspecified' : `${this.monthNames[d.getMonth()]} ${d.getDate().toString()}`;\r\n\t}\r\n\r\n\tprivate getDateRangeText(from: string, to: string): string {\r\n\t\tconst fromDate = this.getDate(from);\r\n\t\tconst toDate = this.getDate(to);\r\n\r\n\t\tif (fromDate === null && toDate === null) {\r\n\t\t\treturn '';\r\n\t\t}\r\n\r\n\t\treturn `${this.getDateText(fromDate)} - ${this.getDateText(toDate)}`;\r\n\t}\r\n}\r\n","export * from './merch.selectors';\r\n","import { EventInfoComponent } from './event-info.component';\r\nimport { EventHostComponent } from './event-host.component';\r\nimport { EventDateTimeComponent } from './event-date-time.component';\r\nimport { EventLocationComponent } from './event-location.component';\r\nimport { EventStaffingComponent } from './event-staffing.component';\r\nimport { EventMeetingDetailsComponent } from './event-meeting-details.component';\r\nimport { EventSchoolsAttendingComponent } from './event-schools-attending.component';\r\nimport { EventPromoComponent } from './event-promo.component';\r\nimport { EventCopyComponent } from './event-copy.component';\r\n\r\nexport const detailsComponents: any[] = [\r\n EventInfoComponent,\r\n EventHostComponent,\r\n EventDateTimeComponent,\r\n EventLocationComponent,\r\n EventStaffingComponent,\r\n EventMeetingDetailsComponent,\r\n EventSchoolsAttendingComponent,\r\n\tEventPromoComponent,\r\n\tEventCopyComponent,\r\n];\r\n\r\nexport * from './event-info.component';\r\nexport * from './event-host.component';\r\nexport * from './event-date-time.component';\r\nexport * from './event-location.component';\r\nexport * from './event-staffing.component';\r\nexport * from './event-meeting-details.component';\r\nexport * from './event-schools-attending.component';\r\nexport * from './event-promo.component';\r\nexport * from './event-copy.component';\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpParams } from '@angular/common/http';\r\n\r\nimport { Observable } from 'rxjs';\r\nimport { switchMap } from 'rxjs/operators';\r\n\r\nimport { ConfigurationService } from '../../core/services/ConfigurationService';\r\nimport { ConfigurationState } from '../../core/store/reducers';\r\n\r\nimport { ShippingCharge, ShippingChargesCriteria } from '../models';\r\n\r\n@Injectable()\r\nexport class DistributionService {\r\n\tconstructor(private http: HttpClient, private configuration: ConfigurationService) { }\r\n\r\n\tgetShippingCharges(criteria: ShippingChargesCriteria): Observable {\r\n\t\treturn this.configuration.config$.pipe(\r\n\t\t\tswitchMap((c: ConfigurationState) => {\r\n\t\t\t\tconst params = new HttpParams({\r\n\t\t\t\t\tfromObject: {\r\n\t\t\t\t\t\trentalCategoryCode: criteria.rentalCategoryCode || '',\r\n\t\t\t\t\t\tstate: criteria.state || ''\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t\treturn this.http.get(`${c.config.apiServer}api/distribution`, { params });\r\n\t\t\t})\r\n\t\t);\r\n\t}\r\n}\r\n","import { HistorySnapshotComponent } from './history-snapshot.component';\r\nimport { HistoryComponent } from './history.component';\r\n\r\nexport const containers: any[] = [\r\n\tHistorySnapshotComponent,\r\n\tHistoryComponent,\r\n];\r\n\r\nexport * from './history-snapshot.component';\r\nexport * from './history.component';\r\n","import * as fromMessageAction from '../actions/message.action';\r\nimport * as fromModels from '../../models';\r\n\r\nexport interface MessageState {\r\n message: fromModels.Message;\r\n errors: any;\t//\tTODO: formalize error handling\r\n}\r\n\r\nexport const initialState: MessageState = {\r\n message: null,\r\n errors: null\r\n};\r\n\r\nexport function reducer(state = initialState, action: fromMessageAction.MessageActions): MessageState {\r\n switch (action.type) {\r\n case fromMessageAction.MessageActionTypes.DisplayMessage: {\r\n const message = action.payload;\r\n\r\n return {\r\n ...state,\r\n message\r\n };\r\n }\r\n case fromMessageAction.MessageActionTypes.ClearMessage: {\r\n const message = null;\r\n\r\n return {\r\n ...state,\r\n message\r\n };\r\n }\r\n }\r\n\r\n return state;\r\n}\r\n\r\nexport const getMessageState = (state: MessageState) => state.message;\r\n","import * as moment from 'moment';\r\nimport { AbstractControl } from '@angular/forms';\r\n\r\nexport function ValidateCurrentDateOrLater(control: AbstractControl) {\r\n let date: Date;\r\n\r\n if (typeof control.value === 'object') {\r\n date = new Date(control.value);\r\n } else {\r\n date = new Date(control.value + ' 23:59:59');\r\n }\r\n\r\n const nowDate = new Date(new Date().toDateString());\r\n const now = moment(nowDate);\r\n\r\n console.log(nowDate);\r\n console.log(date);\r\n\r\n if (now.isSameOrAfter(date)) {\r\n return { validCurrentDate: true };\r\n }\r\n return null;\r\n}\r\n","import { Component, Input } from '@angular/core';\r\n\r\nimport { Event, EventQuality } from '../../models';\r\nimport { DeliveryTimePeriodType } from '../../../scp-common/models';\r\n\r\n@Component({\r\n selector: 'event-meeting-details',\r\n templateUrl: './event-meeting-details.component.html',\r\n})\r\nexport class EventMeetingDetailsComponent {\r\n @Input() event: Event;\r\n\r\n get deliveryTimePeriod() {\r\n if (this.event.deliveryTimePeriod >= 0)\r\n return DeliveryTimePeriodType[this.event.deliveryTimePeriod];\r\n return 'None';\r\n }\r\n\r\n get eventQuality() {\r\n return EventQuality[this.event.eventQuality];\r\n }\r\n}\r\n","\r\n
    \r\n
  • \r\n
    Event Quality
    \r\n
    {{ eventQuality }}
    \r\n
  • \r\n
  • \r\n
    Delivery Time Period
    \r\n
    {{ deliveryTimePeriod }}
    \r\n
  • \r\n
  • \r\n
    Attendance Type
    \r\n
    {{ event.rentalMeetingTypeName }}
    \r\n
  • \r\n
  • \r\n
    Rental Fulfillment Type
    \r\n
    {{ event.rentalFulfillmentTypeName}}
    \r\n
  • \r\n
  • \r\n
    Mouthpiece Testing
    \r\n
    {{ event.mouthpieceTesting | yesNo}}
    \r\n
  • \r\n
  • \r\n
    Band Program Attending
    \r\n
    {{ event.bandProgramAttending | yesNo}}
    \r\n
  • \r\n
  • \r\n
    Estimated Band Rentals
    \r\n
    {{event.estimatedBandRentals}}
    \r\n
  • \r\n
  • \r\n
    Orchestra Program Attending
    \r\n
    {{event.orchestraProgramAttending | yesNo}}
    \r\n
  • \r\n
  • \r\n
    Estimated Orchestra Rentals
    \r\n
    {{event.estimatedOrchestraRentals}}
    \r\n
  • \r\n
\r\n\r\n","import { PropertyBlockComponent } from './property-block.component';\r\nimport { HistoryHeaderComponent } from './history-header.component';\r\nimport { HistorySidebarComponent } from './history-sidebar.component';\r\nimport { HistoryDetailsComponent } from './history-details.component';\r\n\r\nexport const components: any[] = [\r\n\tPropertyBlockComponent,\r\n\tHistoryHeaderComponent,\r\n\tHistorySidebarComponent,\r\n\tHistoryDetailsComponent,\r\n];\r\n\r\nexport * from './property-block.component';\r\nexport * from './history-header.component';\r\nexport * from './history-sidebar.component';\r\nexport * from './history-details.component';\r\n","export * from './scp.selectors';\r\nexport * from './history.selectors';\r\n","import { Injectable } from '@angular/core';\r\nimport { CanActivate, ActivatedRouteSnapshot, RouterStateSnapshot } from '@angular/router';\r\n\r\nimport { Observable, of } from 'rxjs';\r\nimport { tap, filter, take, map, mergeMap } from 'rxjs/operators';\r\n\r\n\r\nimport { select, Store } from '@ngrx/store';\r\n\r\nimport * as fromRoot from '../../../core/store';\r\nimport * as fromStore from '../store';\r\n\r\n@Injectable()\r\nexport class EventSearchResultsGuard implements CanActivate {\r\n private _url: string;\r\n\r\n constructor(private _store: Store) {\r\n console.log('EventSearchResultsGuard: constructor called.');\r\n }\r\n\r\n canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable {\r\n this._url = state.url;\r\n return this.checkStore();\r\n }\r\n\r\n checkStore(): Observable {\r\n // True if we've already processed query string in guard\r\n let processedQueryString = false;\r\n\r\n console.log('event-searchresults.guard - checkStore()');\r\n\r\n // TODO: Make forceReload smart enough to be false if the search criteria state matches the query.\r\n //var forceReload = true;\r\n\r\n // TODO: Need to wait here somehow until process query string calls LoadDistrictSearchResults and returns.\r\n //return of(true);\r\n\r\n return this._store.pipe(\r\n select(fromRoot.getUserAuthInfo),\r\n filter(x => !!x),\r\n mergeMap(x => {\r\n\r\n if (!x.policyCodes.has('Event.Search')) return of(false);\r\n\r\n // TODO: Check for API error (loaded false or err, etc.). Return false if an err.\r\n return this._store.select(fromStore.getEventSearchState).pipe(\r\n tap(() => {\r\n //if ((!state.loaded && !state.loading && state.errors === null) || forceReload) {\r\n if (!processedQueryString) {\r\n // So we only do this dispatch once (TODO: Figure out a way for this \"tap\" to only happen once)\r\n processedQueryString = true;\r\n //forceReload = false;\r\n //this._store.dispatch(new fromStore.LoadDistrictSearchResults(splitted.length == 2 ? splitted[1] : \"\"));\r\n // Dispatch so that we process the incoming query string.\r\n this._store.dispatch(new fromStore.ProcessQueryString(this._url));\r\n }\r\n }),\r\n filter(state => state.loaded),\r\n map(state => state.loaded),\r\n take(1),\r\n );\r\n })\r\n );\r\n\r\n }\r\n}\r\n","import { Action } from '@ngrx/store';\r\n\r\nimport { EventSearchResultsItem, EventSearchCriteria, EventPagingSorting } from '../../models';\r\nimport { HttpHeaders } from '@angular/common/http';\r\nimport { SchoolDetails } from '../../../schools/models';\r\n\r\nexport enum EventSearchResultsActionTypes {\r\n ProcessQueryString = '[EventSearchResults] Process Query String',\r\n\tLoadEventSearchResults = '[EventSearchResults] Load Search Results',\r\n LoadEventSearchResultsSuccess = '[EventSearchResults] Load Event Success',\r\n LoadEventSearchResultsFailure = '[EventSearchResults] Load Event Details Failure',\r\n UpdateEditorState = '[EventSearchResults] Update Editor State',\r\n UpdateEventInfo = '[EventSearchResults] Update Event Info',\r\n UpdateEventInfoSuccess = '[EventSearchResults] Update Event Info Success',\r\n UpdateEventInfoFailure = '[EventSearchResults] Update Event Info Failure',\r\n NextPage = '[EventSearchResults] Next Page',\r\n PrevPage = '[EventSearchResults] Prev Page',\r\n SetPageSize = '[EventSearchResults] Set Page Size',\r\n LastPage = '[EventSearchResults] Last Page',\r\n FirstPage = '[EventSearchResults] First Page',\r\n SortBy = '[EventSearchResults] Sort By',\r\n GetResultsForSchool = '[EventSearchResults] Get Results for School',\r\n}\r\n\r\nexport class ProcessQueryString implements Action {\r\n readonly type = EventSearchResultsActionTypes.ProcessQueryString;\r\n constructor(public payload: string) { }\r\n}\r\n\r\nexport class LoadEventSearchResults implements Action {\r\n readonly type = EventSearchResultsActionTypes.LoadEventSearchResults;\r\n constructor(public payload: EventSearchCriteria) { }\r\n}\r\n\r\nexport class LoadEventSearchResultsSuccess implements Action {\r\n readonly type = EventSearchResultsActionTypes.LoadEventSearchResultsSuccess;\r\n constructor(public payload: EventSearchResultsItem[], public httpHeaders: HttpHeaders) { }\r\n}\r\n\r\nexport class LoadEventSearchResultsFailure implements Action {\r\n readonly type = EventSearchResultsActionTypes.LoadEventSearchResultsFailure;\r\n\tconstructor(public payload: any) { }\r\n}\r\n\r\nexport class NextPage implements Action {\r\n readonly type = EventSearchResultsActionTypes.NextPage;\r\n constructor(public payload: EventSearchCriteria, public pagingSorting: EventPagingSorting) { }\r\n}\r\n\r\nexport class PrevPage implements Action {\r\n readonly type = EventSearchResultsActionTypes.PrevPage;\r\n constructor(public payload: EventSearchCriteria, public pagingSorting: EventPagingSorting) { }\r\n}\r\n\r\nexport class SetPageSize implements Action {\r\n readonly type = EventSearchResultsActionTypes.SetPageSize;\r\n constructor(public payload: number, public searchCriteria: EventSearchCriteria, ) { }\r\n}\r\n\r\nexport class LastPage implements Action {\r\n readonly type = EventSearchResultsActionTypes.LastPage;\r\n constructor(public payload: EventSearchCriteria, public pagingSorting: EventPagingSorting) { }\r\n}\r\n\r\nexport class FirstPage implements Action {\r\n readonly type = EventSearchResultsActionTypes.FirstPage;\r\n constructor(public payload: EventSearchCriteria, public pagingSorting: EventPagingSorting) { }\r\n}\r\n\r\nexport class SortBy implements Action {\r\n readonly type = EventSearchResultsActionTypes.SortBy;\r\n constructor(public payload: string, public searchCriteria: EventSearchCriteria, public pagingSorting: EventPagingSorting) { }\r\n}\r\n\r\nexport class GetResultsForSchool implements Action {\r\n readonly type = EventSearchResultsActionTypes.GetResultsForSchool;\r\n constructor(public payload: SchoolDetails, public searchCriteria: EventSearchCriteria) { }\r\n}\r\n\r\nexport type EventSearchResultsActions =\r\n | ProcessQueryString\r\n | LoadEventSearchResults\r\n | LoadEventSearchResultsSuccess\r\n | LoadEventSearchResultsFailure\r\n | NextPage\r\n | PrevPage\r\n | SetPageSize\r\n | LastPage\r\n | FirstPage\r\n | SortBy\r\n | GetResultsForSchool;\r\n","import { RelationshipType } from '../../scp-common/models/relationship-type';\r\nimport { District } from '../../districts/models/district.model';\r\nimport { Address, PreferencesEntity } from '../../scp-common/models';\r\nimport { RateAgreement } from './rate-agreement.model';\r\nimport { RelationshipManager } from './relationship-manager.model';\r\n\r\nexport enum SchoolLevel {\r\n\tELEMENTARY = 1,\r\n\tMIDDLE,\r\n\tHIGH,\r\n\tCOLLEGE,\r\n\tOTHER,\r\n}\r\n\r\nexport let SchoolLevelLookup = [];\r\nSchoolLevelLookup[SchoolLevel.ELEMENTARY] = { id: SchoolLevel.ELEMENTARY, name: 'Elementary' };\r\nSchoolLevelLookup[SchoolLevel.MIDDLE] = { id: SchoolLevel.MIDDLE, name: 'Middle' };\r\nSchoolLevelLookup[SchoolLevel.HIGH] = { id: SchoolLevel.HIGH, name: 'High' };\r\nSchoolLevelLookup[SchoolLevel.COLLEGE] = { id: SchoolLevel.COLLEGE, name: 'College' };\r\nSchoolLevelLookup[SchoolLevel.OTHER] = { id: SchoolLevel.OTHER, name: 'Other' };\r\n\r\nexport enum SchoolType {\r\n\tPUBLIC = 1,\r\n\tPRIVATE,\r\n\tCOLLEGE,\r\n\tOTHER,\r\n\tADULT,\r\n\tCHARTER,\r\n\tNATIONAL,\t//Rapid Rentals\r\n\tHOME,\r\n\tNOTLISTED,\r\n}\r\n\r\nexport let SchoolTypeLookup = [];\r\nSchoolTypeLookup[SchoolType.PUBLIC] = { id: SchoolType.PUBLIC, name: 'Public' };\r\nSchoolTypeLookup[SchoolType.PRIVATE] = { id: SchoolType.PRIVATE, name: 'Private' };\r\nSchoolTypeLookup[SchoolType.COLLEGE] = { id: SchoolType.COLLEGE, name: 'College' };\r\nSchoolTypeLookup[SchoolType.OTHER] = { id: SchoolType.OTHER, name: 'Other' };\r\nSchoolTypeLookup[SchoolType.ADULT] = { id: SchoolType.ADULT, name: 'Adult' };\r\nSchoolTypeLookup[SchoolType.CHARTER] = { id: SchoolType.CHARTER, name: 'Charter' };\r\nSchoolTypeLookup[SchoolType.NATIONAL] = { id: SchoolType.NATIONAL, name: 'National' };\r\nSchoolTypeLookup[SchoolType.HOME] = { id: SchoolType.HOME, name: 'Home' };\r\nSchoolTypeLookup[SchoolType.NOTLISTED] = { id: SchoolType.NOTLISTED, name: 'Not Listed' };\r\n\r\n\r\nexport enum SchoolDelivery {\r\n\tNo,\r\n\tShip,\r\n\tDeliver,\r\n}\r\n\r\nexport enum ServiceLevel {\r\n\tStandard = 1,\r\n\tRapidRental,\r\n}\r\n\r\nexport enum RoutineService {\r\n\tNone,\r\n\tWeekly,\r\n\tEveryOtherWeek,\r\n\tOnDemand,\r\n\tOccasionally,\r\n}\r\n\r\nexport enum CallDay {\r\n\tNone = 0,\r\n\tMonday,\r\n\tTuesday,\r\n\tWednesday,\r\n\tThursday,\r\n\tFriday,\r\n}\r\n\r\nexport enum NodeLevel {\r\n\tSchool = 1,\r\n\tDistrict,\r\n\tSupervisoryDistrict,\r\n\tZipCode,\r\n\tCounty,\r\n\tState,\r\n\tCountry,\r\n}\r\n\r\nexport enum InactiveReason {\r\n\tClosed,\r\n\tDuplicate,\r\n\tPending,\r\n}\r\n\r\nexport const NodeLevelNames = [\r\n\t'',\r\n\t'School',\r\n\t'District',\r\n\t'Supervisory District',\r\n\t'Zip Code',\r\n\t'County',\r\n\t'State',\r\n\t'Country',\r\n];\r\n\r\nexport interface SchoolInfo {\r\n\tisActive: boolean;\r\n\tshortName: string;\r\n\tlongName: string;\r\n\tdistrictId: number;\r\n\tdistrictName: string;\r\n\ttype: SchoolType;\r\n\tlevel: SchoolLevel;\r\n\tlowGrade?: number;\r\n\thighGrade?: number;\r\n}\r\n\r\nexport interface Contacts {\r\n\tphone: string;\r\n\tfax: string;\r\n\twebsite: string;\r\n}\r\n\r\nexport interface OnlineRentals {\r\n\tonlineRental: boolean;\r\n\tshipToHome: boolean;\r\n\tschoolDelivery: SchoolDelivery;\r\n\tserviceLevel: ServiceLevel;\r\n\texclusiveServiceAccountId: string;\r\n\texclusiveServiceAccountName: string;\r\n}\r\n\r\nexport interface SchoolLookup {\r\n\tid: number;\r\n\tlongName: string;\r\n\tcountyName: string;\r\n\tcity: string;\r\n\tstate: string;\r\n\tinheritPreferenceSet: boolean;\r\n}\r\n\r\nexport interface NewSchool {\r\n\tlongName: string;\r\n\tschoolType: SchoolType;\r\n\tschoolLevel: SchoolLevel;\r\n\tphysicalAddress: Address;\r\n mailingAddress: Address;\r\n phone: string;\r\n}\r\n\r\nexport interface SchoolDetails extends PreferencesEntity {\r\n\t//\tSchool Info\r\n\tid: number;\r\n\tisActive: boolean;\r\n\tshortName: string;\r\n\tlongName: string;\r\n\tdistrictId: number;\r\n\tdistrictName: string;\r\n\ttype: SchoolType;\r\n\tlevel: SchoolLevel;\r\n\tlowGrade?: number;\r\n\thighGrade?: number;\r\n\tinactiveReason: InactiveReason;\r\n\r\n\t//\tPhysical Address\r\n\tphysicalAddressId: number;\r\n\tphysicalAddress: Address;\r\n\r\n\t//\t Mailing Address\r\n\tmailingAddressId: number;\r\n\tmailingAddress: Address;\r\n\r\n\t//\tContacts;\r\n\tphone: string;\r\n\tfax: string;\r\n\twebsite: string;\r\n\r\n\t//\tCurrent Rate\r\n\tcurrentRateAgreementId: number;\r\n\tcurrentRateAgreement: RateAgreement;\r\n\tratePackageNodeLevel?: NodeLevel;\r\n\r\n\t//\tFuture Rate\r\n\tfutureRateAgreementId: number;\r\n\tfutureRateAgreement: RateAgreement;\r\n\tfutureRatePackageNodeLevel?: NodeLevel;\r\n\r\n\t//\tSchool Calendar\r\n\tschoolStartFrom: string;\r\n\tschoolStartTo: string;\r\n\tschoolEndFrom: string;\r\n\tschoolEndTo: string;\r\n\r\n\t//\tRelationship Manager\r\n\tinheritRelationshipManager: boolean;\r\n\trelationshipManager: RelationshipManager;\r\n\trelationshipManagerEmail: string;\r\n\tinheritedRelationshipManager: RelationshipManager;\r\n\tinheritRelationshipType: boolean;\r\n\trelationshipType: { id: number, relationshipType: RelationshipType };\r\n\tinheritedRelationshipType: { id: number, relationshipType: RelationshipType };\r\n\troutineService: RoutineService;\r\n\tcallDay: CallDay;\r\n\r\n\t//\tOnlineRentals;\r\n\tonlineRental: boolean;\r\n\tshipToHome: boolean;\r\n\tschoolDelivery: SchoolDelivery;\r\n\tserviceLevel: ServiceLevel;\r\n\texclusiveServiceAccountId?: number;\r\n\texclusiveServiceAccountCode?: number;\r\n\texclusiveServiceAccountName: string;\r\n\toffersBandshare: boolean;\r\n\r\n\t//\tRental Returns\r\n\treturnsAllowed: boolean;\r\n\tsessionLocation: string;\r\n\tsummerLocation: string;\r\n\thasBlackoutPeriod: boolean;\r\n\tblackoutStart: string;\r\n\tblackoutEnd: string;\r\n\r\n\t//\tAdditional Details\r\n\tcode: string;\r\n\tprimaryId?: number;\r\n ncesSchoolId: string;\r\n ncesIdSource: string;\r\n\tsummerBillingDate: string;\r\n\tfallBillingDate: string;\r\n\tsummerCustomerInHandDate: string;\r\n\tfallCustomerInHandDate: string;\r\n\tsummerFree: boolean;\r\n\tlongitude: string;\r\n\tlatitude: string;\r\n\tianaTimeZoneId: string;\r\n\r\n\tinheritPreferenceSet: boolean;\r\n\tpreferenceSetId: number;\r\n}\r\n\r\nexport interface TeacherLookup {\r\n\tid: number;\r\n\tname: string;\r\n\tcountyName: string;\r\n\tcity: string;\r\n\tstate: string;\r\n}\r\n","import { DistrictDetailsEffects } from './details.effects';\r\nimport { DistrictSearchResultsEffects } from './district-searchresults.effect';\r\n\r\nexport const effects: any[] = [DistrictDetailsEffects, DistrictSearchResultsEffects];\r\n\r\nexport * from './details.effects';\r\nexport * from './district-searchresults.effect';\r\n","import { ActionReducerMap, createFeatureSelector } from '@ngrx/store';\r\n\r\nimport * as fromLocation from './location.reducer';\r\nimport * as fromTaxonomy from './taxonomy.reducer';\r\nimport * as fromHistory from './history.reducer';\r\n\r\nexport interface ScpState {\r\n locations: fromLocation.LocationsState;\r\n\ttaxonomy: fromTaxonomy.TaxonomyState;\r\n\thistory: fromHistory.HistoryState;\r\n}\r\n\r\nexport const reducers: ActionReducerMap = {\r\n locations: fromLocation.reducer,\r\n\ttaxonomy: fromTaxonomy.reducer,\r\n\thistory: fromHistory.reducer,\r\n};\r\n\r\nexport const getScpState = createFeatureSelector('scp');\r\n\r\nexport { LocationsState, LocationManagerState, ManagerByNameLookupState } from './location.reducer';\r\nexport { TaxonomyState } from './taxonomy.reducer';\r\nexport { HistoryState, SnapshotState, DetailsState } from './history.reducer';\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpParams } from '@angular/common/http';\r\n\r\nimport { Observable } from 'rxjs';\r\nimport { switchMap } from 'rxjs/operators';\r\n\r\nimport { ConfigurationService } from '../../../core/services/ConfigurationService';\r\nimport { ConfigurationState } from '../../../core/store/reducers';\r\n\r\nimport { InstrumentRate } from '../../preferences/models';\r\n\r\n@Injectable()\r\nexport class RatePackageService {\r\n\tconstructor(private http: HttpClient, private configuration: ConfigurationService) { }\r\n\r\n\tgetByAgreementId(id: number): Observable {\r\n\t\treturn this.configuration.config$.pipe(\r\n\t\t\tswitchMap((c: ConfigurationState) => {\r\n\t\t\t\treturn this.http.get(`${c.config.apiServer}api/rentalpackage/agreement/${id}`);\r\n\t\t\t})\r\n\t\t);\r\n\t}\r\n\r\n\tgetByZip(zip: string): Observable {\r\n\t\treturn this.configuration.config$.pipe(\r\n\t\t\tswitchMap((c: ConfigurationState) => {\r\n\t\t\t\treturn this.http.get(`${c.config.apiServer}api/rentalpackage/zipcode/${zip}`);\r\n\t\t\t})\r\n\t\t);\r\n\t}\r\n}\r\n","import { Component, OnInit, OnChanges, Input, SimpleChanges, OnDestroy } from '@angular/core';\r\nimport { FormBuilder, FormGroup, Validators, ValidatorFn, ValidationErrors } from '@angular/forms';\r\n\r\nimport { BsDatepickerConfig } from 'ngx-bootstrap/datepicker';\r\n\r\nimport { Observable } from 'rxjs';\r\nimport { takeWhile } from 'rxjs/operators';\r\n\r\nimport { select, Store } from '@ngrx/store';\r\n\r\nimport * as fromStore from '../store';\r\n\r\nimport { HistoryDetails, HistoryEvent, HistoryContext } from '../models';\r\n\r\n@Component({\r\n selector: 'opus-history',\r\n templateUrl: './history.component.html'\r\n})\r\nexport class HistoryComponent implements OnInit, OnDestroy {\r\n bsConfig: Partial = { containerClass: 'theme-dark-blue' };\r\n history$: Observable;\r\n selectedEvent: HistoryEvent;\r\n historySearchForm: FormGroup;\r\n context: HistoryContext;\r\n\r\n private alive = true;\r\n\r\n //function to validate date ranges\r\n dateRangeValidator: ValidatorFn = (control: FormGroup): ValidationErrors | null => {\r\n const fromDateControl = control.get('fromDate');\r\n const toDateControl = control.get('toDate');\r\n\r\n if (!fromDateControl.value || !toDateControl.value) {\r\n return null;\r\n }\r\n\r\n const fromDate = new Date(fromDateControl.value);\r\n const toDate = new Date(toDateControl.value);\r\n\r\n const isInvalid = fromDate > toDate;\r\n return isInvalid ? { invalidrange: true } : null;\r\n }\r\n\r\n constructor(private store: Store, private formBuilder: FormBuilder) {\r\n console.log('HistoryComponent()...');\r\n }\r\n\r\n get fromDate() {\r\n return this.historySearchForm.get('fromDate');\r\n }\r\n\r\n get toDate() {\r\n return this.historySearchForm.get('toDate');\r\n }\r\n\r\n ngOnInit() {\r\n console.log('HistoryComponent.ngOnInit()...');\r\n const today = new Date();\r\n const fromDate = new Date(today);\r\n fromDate.setDate(today.getDate() - 30);\r\n\r\n this.historySearchForm = this.formBuilder.group(\r\n {\r\n fromDate: [fromDate, Validators.required],\r\n toDate: [today, Validators.required]\r\n },\r\n { validator: this.dateRangeValidator }\r\n );\r\n\r\n this.history$ = this.store.pipe(select(fromStore.getHistoryDetails));\r\n this.history$.pipe(takeWhile(() => this.alive)).subscribe(state => {\r\n console.log('$history: ', state);\r\n if (state && state.context) {\r\n this.context = state.context;\r\n }\r\n });\r\n }\r\n\r\n ngOnDestroy() {\r\n console.log('HistoryComponent.ngOnInit()...');\r\n this.alive = false;\r\n }\r\n\r\n onSelectEvent($event) {\r\n console.log('HistoryComponent.onSelectEvent(): ', $event);\r\n\r\n this.selectedEvent = $event;\r\n }\r\n\r\n filterHistoryEvents() {\r\n const { fromDate, toDate } = this.historySearchForm.value;\r\n const { entityTypeName: contextName, entityId: contextId, scope } = this.context;\r\n\r\n this.store.dispatch(\r\n new fromStore.LoadHistory({\r\n contextName: (contextName || '').toLowerCase(),\r\n contextId,\r\n scope: (scope || '').toLowerCase(),\r\n fromDate: fromDate.toISOString(),\r\n toDate: toDate.toISOString()\r\n })\r\n );\r\n }\r\n}\r\n","\r\n\r\n
\r\n
\r\n
\r\n
\r\n

Events

\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
Both dates are required
\r\n
Start date must be prior to end date
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n","import { Component, Input } from '@angular/core';\r\n\r\n@Component({\r\n\tselector: 'opus-history-header',\r\n\ttemplateUrl: './history-header.component.html',\r\n})\r\nexport class HistoryHeaderComponent {\r\n\t@Input() context;\r\n}\r\n\r\n","\r\n\r\n
\r\n\t
\r\n\t\t

{{ context.scope }} History

\r\n\t\t

{{ context.entityName }}

\r\n\t\t
\r\n\t\t\t
{{ context.entityTypeName }} ID
\r\n\t\t\t
{{ context.entityId }}
\r\n\t\t
\r\n\t
\r\n
\r\n","import { Params, ActivatedRouteSnapshot, RouterStateSnapshot } from '@angular/router';\r\n\r\nimport { ActionReducerMap, createFeatureSelector, ActionReducer, MetaReducer } from '@ngrx/store';\r\nimport * as fromRouter from '@ngrx/router-store';\r\n\r\nimport { env } from '../../../../environments/environment';\r\n\r\n/**\r\n * The RouterStateSerializer takes the current RouterStateSnapshot\r\n * and returns any pertinent information needed. The snapshot contains\r\n * all information about the state of the router at the given point in time.\r\n * The entire snapshot is complex and not always needed. In this case, you only\r\n * need the URL and query parameters from the snapshot in the store. Other items could be\r\n * returned such as route parameters and static route data.\r\n */\r\nexport interface RouterStateUrl {\r\n\turl: string;\r\n\tqueryParams: Params;\r\n\tparams: Params;\r\n}\r\n\r\nexport const getRouterState = createFeatureSelector>('routerReducer');\r\n\r\n@Injectable()\r\nexport class CustomRouterStateSerializer implements fromRouter.RouterStateSerializer {\r\n\tserialize(routerState: RouterStateSnapshot): RouterStateUrl {\r\n\t\tconst { url } = routerState;\r\n\t\tconst { queryParams } = routerState.root;\r\n\r\n\t\tlet state: ActivatedRouteSnapshot = routerState.root;\r\n\t\twhile (state.firstChild) {\r\n\t\t\tstate = state.firstChild;\r\n\t\t}\r\n\t\tconst { params } = state;\r\n\r\n\t\treturn { url, queryParams, params };\r\n\t}\r\n}\r\n\r\nexport interface State {\r\n\trouterReducer: fromRouter.RouterReducerState;\r\n}\r\n/**\r\n * Our state is composed of a map of action reducer functions.\r\n * These reducer functions are called with each dispatched action\r\n * and the current or initial state and return a new immutable state.\r\n */\r\nexport const reducers: ActionReducerMap = {\r\n\trouterReducer: fromRouter.routerReducer,\r\n};\r\n\r\n// console.log all actions\r\nexport function logger(reducer: ActionReducer): ActionReducer {\r\n\treturn function (state: State, action: any): State {\r\n\t\tconsole.log('state', state);\r\n\t\tconsole.log('action', action);\r\n\r\n\t\treturn reducer(state, action);\r\n\t};\r\n}\r\n\r\n/**\r\n * By default, @ngrx/store uses combineReducers with the reducer map to compose\r\n * the root meta-reducer. To add more meta-reducers, provide an array of meta-reducers\r\n * that will be composed to form the root meta-reducer.\r\n */\r\nexport const metaReducers: MetaReducer[] = !env.production\r\n\t? [logger]\r\n\t: [];\r\n\r\n//CONFIGURATION DETAILS\r\n\r\nimport * as fromConfigReducer from './configuration.reducer';\r\nimport * as fromMessageReducer from './message.reducer';\r\nimport * as fromSecurityReducer from './security.reducer';\r\n\r\nexport interface CoreState {\r\n config: fromConfigReducer.ConfigurationState;\r\n message: fromMessageReducer.MessageState;\r\n security: fromSecurityReducer.SecurityState;\r\n}\r\n\r\nexport const coreReducers: ActionReducerMap = {\r\n config: fromConfigReducer.reducer,\r\n message: fromMessageReducer.reducer,\r\n security: fromSecurityReducer.reducer,\r\n};\r\n\r\nexport const getCoreState = createFeatureSelector('core');\r\n\r\nimport { createSelector } from '@ngrx/store';\r\nimport { Injectable } from \"@angular/core\";\r\n\r\nexport const getConfigurationState = createSelector(\r\n getCoreState,\r\n (state: CoreState) => state.config\r\n);\r\n\r\nexport const getMessageState = createSelector(\r\n getCoreState,\r\n (state: CoreState) => state.message\r\n);\r\n\r\nexport { ConfigurationState } from './configuration.reducer';\r\nexport { MessageState } from './message.reducer';\r\nexport { SecurityState } from './security.reducer';\r\n","import { Injectable } from '@angular/core';\r\nimport { CanActivate, ActivatedRouteSnapshot } from '@angular/router';\r\n\r\nimport { Observable, of } from 'rxjs';\r\nimport { tap, filter, take, switchMap, catchError, map, mergeMap } from 'rxjs/operators';\r\n\r\nimport { Store } from '@ngrx/store';\r\n\r\nimport * as fromRoot from '../../../core/store';\r\nimport * as fromStore from '../store';\r\n\r\n\r\n@Injectable()\r\nexport class ProgramDetailsExistsGuard implements CanActivate {\r\n constructor(private _store: Store) {\r\n console.log('ProgramDetailsExistsGuard()...');\r\n }\r\n\r\n canActivate(route: ActivatedRouteSnapshot): Observable {\r\n //\tget the id of the program we need to load from the route\r\n const id = +route.paramMap.get('id');\r\n //\tcheck for a specific redirect route to use if the program isn't found\r\n const redirectTo = !!route.data.redirectTo ? route.data.redirectTo : '/';\r\n\r\n console.log(`ProgramDetailsExistsGuard: canActivate called for program id: ${id}...`);\r\n\r\n //\tthis will attempt to load the program by dispatching the appropriate action then either redirect or allow the activation\r\n return this.checkStore(id).pipe(\r\n switchMap(found => {\r\n console.log(`ProgramDetailsExistsGuard: checkStore returned: ${found ? 'Found' : 'Not Found'}.`);\r\n\r\n return this.allowOrRedirect(found, redirectTo);\r\n }),\r\n catchError(err => {\r\n console.log(`ProgramDetailsExistsGuard: activation failed for program ${id}. Error: `, err);\r\n\r\n return this.allowOrRedirect(false, redirectTo);\r\n }),\r\n );\r\n }\r\n\r\n checkStore(id: number): Observable {\r\n return this._store.select(fromRoot.getUserAuthInfo).pipe(\r\n filter(x => !!x),\r\n mergeMap(x => {\r\n\r\n if (!x.policyCodes.has('Program.ViewDetails')) return of(false);\r\n\r\n //\tstart with the program details state...\r\n return this._store.select(fromStore.getProgramDetailsState).pipe(\r\n //\tif there aren't program details, or they are for a different program, dispatch an action to load the program\r\n tap(state => {\r\n if ((state.programDetails === null || state.programDetails.id !== id || !state.loaded) && !state.loading && state.errors === null) {\r\n console.log(`ProgramDetailsExistsGuard: Loading program ${id}. Current Program Details state: `, state);\r\n this._store.dispatch(new fromStore.LoadProgramDetails(id));\r\n }\r\n }),\r\n //\twait for it to be in the loaded state for the program in question or for any errors\r\n filter(state => (state.loaded && state.programDetails.id == id) || state.errors !== null),\r\n //\tmap it to a boolean observable\r\n map(state => state.loaded),\r\n //\tget the first result & complete\r\n take(1),\r\n );\r\n\r\n })\r\n );\r\n }\r\n\r\n allowOrRedirect(found: boolean, redirectTo: string): Observable {\r\n if (!found) {\r\n console.log(`Redirecting to '${redirectTo}'...`);\r\n this._store.dispatch(new fromRoot.Go({ path: [redirectTo] }));\r\n }\r\n\r\n return of(found);\r\n }\r\n}\r\n","export * from './actions';\r\nexport * from './effects';\r\nexport * from './reducers';\r\nexport * from './selectors';\r\n","import { createSelector } from '@ngrx/store';\r\n\r\nimport * as fromFeature from '../reducers';\r\nimport * as fromEventDetails from '../reducers/details.reducer';\r\nimport * as fromModels from '../../models';\r\n\r\nexport const getEventsDetailsState = createSelector(\r\n fromFeature.getEventsState,\r\n (state: fromFeature.EventsState) => state.details\r\n);\r\n\r\nexport const getDetailsStateEvent = createSelector(\r\n getEventsDetailsState,\r\n fromEventDetails.getDetailsStateDistrict\r\n);\r\n\r\nexport const getDetailsStateLoaded = createSelector(\r\n getEventsDetailsState,\r\n fromEventDetails.getDetailsStateLoaded\r\n);\r\n\r\nexport const getDetailsRelationshipManagerState = createSelector(\r\n getEventsDetailsState,\r\n fromEventDetails.getDetailsStateRelationshipManager\r\n);\r\n\r\nexport const getDetailsStateApprovedPromos = createSelector(\r\n getEventsDetailsState,\r\n fromEventDetails.getDetailsStateApprovedPromos\r\n);\r\n\r\nexport const getDetailsStateLoading = createSelector(\r\n getEventsDetailsState,\r\n fromEventDetails.getDetailsStateLoading\r\n);\r\n\r\nexport const getDetailsStatePanels = createSelector(\r\n getEventsDetailsState,\r\n fromEventDetails.getDetailsStatePanels\r\n);\r\n\r\nexport const getDetailsStateEventHostPanel = createSelector(\r\n getDetailsStatePanels,\r\n (panels) => panels[fromFeature.PanelId.EventHost]\r\n);\r\n\r\nexport const getDetailsStateEventInfoPanel = createSelector(\r\n getDetailsStatePanels,\r\n (panels) => panels[fromFeature.PanelId.EventInfo]\r\n);\r\n\r\nexport const getDetailsStateEventStaffingPanel = createSelector(\r\n getDetailsStatePanels,\r\n (panels) => panels[fromFeature.PanelId.EventStaffing]\r\n);\r\n\r\nexport const getDetailsStateEventSchoolsAttendingPanel = createSelector(\r\n getDetailsStatePanels,\r\n (panels) => panels[fromFeature.PanelId.EventSchoolsAttending]\r\n);\r\n\r\nexport const getDetailsStateSchoolLookup = createSelector(\r\n getEventsDetailsState,\r\n fromEventDetails.getDetailsStateSchoolLookup,\r\n);\r\n\r\nexport const getDetailsStateEventDateTimePanel = createSelector(\r\n getDetailsStatePanels,\r\n (panels) => panels[fromFeature.PanelId.EventDateTime]\r\n);\r\n\r\nexport const getDetailsStateEventPromoPanel = createSelector(\r\n getDetailsStatePanels,\r\n (panels) => panels[fromFeature.PanelId.EventPromo]\r\n);\r\n\r\nexport const getDetailsStateEventMeetingDetailsPanel = createSelector(\r\n getDetailsStatePanels,\r\n (panels) => panels[fromFeature.PanelId.EventMeetingDetails]\r\n);\r\n\r\nexport const getDetailsStateSchoolByNameLookup = createSelector(\r\n getEventsDetailsState,\r\n fromEventDetails.getDetailsStateSchoolByNameLookup,\r\n);\r\n\r\nexport const getDetailsStateTeacherLookup = createSelector(\r\n getDetailsStateEventHostPanel,\r\n fromEventDetails.getDetailsStateTeacherLookup,\r\n);\r\n\r\nexport const getDetailsStateTeacherByCriteriaLookup = createSelector(\r\n getDetailsStateEventHostPanel,\r\n fromEventDetails.getDetailsStateTeacherByCriteriaLookup,\r\n);\r\n\r\nexport const getDetailsStateEventAddrPanel = createSelector(\r\n getDetailsStatePanels,\r\n (panels) => panels[fromFeature.PanelId.EventLocation] as fromFeature.AddressPanelState,\r\n);\r\n\r\nexport const getDetailsStateCopyEventState = createSelector(\r\n getEventsDetailsState,\r\n (state: fromFeature.DetailsState) => state.copyEventState,\r\n);\r\n\r\nexport const getQrCodeFileDownloadState = createSelector(\r\n getEventsDetailsState,\r\n fromEventDetails.getQrCodeFileDownloadState,\r\n);\r\n","import { Injectable } from '@angular/core';\r\n\r\nimport { of } from 'rxjs';\r\nimport { switchMap, map, catchError, withLatestFrom, tap } from 'rxjs/operators';\r\n\r\nimport { select, Store } from '@ngrx/store';\r\nimport { Actions, createEffect, ofType } from '@ngrx/effects';\r\n\r\nimport { Operation, compare } from 'fast-json-patch';\r\n\r\nimport { State } from '../../../../core/store';\r\nimport { CountyLookupState } from '..';\r\nimport * as teacherDetailsActions from '../actions/teacher-details.action';\r\nimport * as fromServices from '../../../scp-common/services';\r\nimport * as fromSelectors from '../selectors';\r\nimport * as fromModels from '../../models';\r\nimport * as fromRoot from '../../../../core/store';\r\n\r\n@Injectable()\r\nexport class TeacherDetailsEffects {\r\n constructor(\r\n private actions$: Actions,\r\n private teacherService: fromServices.TeacherService,\r\n private addressService: fromServices.AddressService,\r\n private districtService: fromServices.DistrictService,\r\n private store$: Store,\r\n ) { }\r\n\r\n \r\n loadTeacherDetails$ = createEffect(() => this.actions$.pipe(\r\n ofType(teacherDetailsActions.TeacherDetailsActionTypes.LoadTeacherDetails),\r\n tap(a => {\r\n console.log('Entering loadTeacherDetails$ Effect: ', a);\r\n }),\r\n switchMap((action: teacherDetailsActions.LoadTeacherDetails) => this.teacherService.loadTeacher(action.payload).pipe(\r\n tap(res => console.log(`teacherService.loadTeacher( ${action.payload} ) returned: `, res)),\r\n map(teacher => new teacherDetailsActions.LoadTeacherDetailsComplete(teacher)),\r\n catchError(error => of(new teacherDetailsActions.LoadTeacherDetailsFailure(error.message))),\r\n )),\r\n tap(a => {\r\n console.log('Exiting loadTeacherDetails$ Effect: ', a);\r\n }),\r\n ));\r\n\r\n \r\n updateTeacherPanel$ = createEffect(() => this.actions$.pipe(\r\n ofType(teacherDetailsActions.TeacherDetailsActionTypes.UpdateTeacherPanel),\r\n tap(a => {\r\n console.log('Entering updateTeacherPanel$ Effect: ', a);\r\n }),\r\n //\tget the current value of the district from the store\r\n withLatestFrom(this.store$.pipe(select(fromSelectors.getTeacherDetailsEntity))),\r\n //\tcreate a json patch by comparing the current district with the updated version\r\n //\ttypescript note: using array destructuring to pull the withLatestFrom output into individual parameters to map\r\n map(([action, teacher]: [teacherDetailsActions.UpdateTeacherPanel, fromModels.TeacherDetails]) => {\r\n const patch = compare(teacher, action.payload.teacher);\r\n\r\n console.log('new teacher:', action.payload.teacher, 'current teacher:', teacher, 'patch:', patch);\r\n\r\n //\tthe district service needs the id & the json patch\r\n return { panel: action.payload.panel, teacher, patch };\r\n }),\r\n switchMap(({ panel, teacher, patch }: { panel: string, teacher: fromModels.TeacherDetails, patch: Operation[] }) => {\r\n if (patch.length == 0) {\r\n console.log('updateTeacherPanel$ Effect: Skipping empty patch...');\r\n\r\n return of(new teacherDetailsActions.UpdateTeacherPanelSuccess({ panel, teacher }));\r\n }\r\n\r\n console.log('updateTeacherPanel$ Effect: Calling teacherService.patchTeacher(', teacher.id, ', ', patch, ')...');\r\n\r\n return this.teacherService.patchTeacher(teacher.id, patch).pipe(\r\n map(teacher => new teacherDetailsActions.UpdateTeacherPanelSuccess({ panel, teacher })),\r\n //\tTODO: in the case of a bad request, we should really be grabbing the validation errors from the response body\r\n //\tHowever, since everything should already be validated client side, this is low priority.\r\n catchError(errors => {\r\n return of(new teacherDetailsActions.UpdateTeacherPanelFailure({ panel, errors }));\r\n }),\r\n );\r\n }),\r\n tap(a => {\r\n console.log('Exiting updateTeacherPanel$ Effect: ', a);\r\n }),\r\n ));\r\n\r\n \r\n lookupCityState$ = createEffect(() => this.actions$.pipe(\r\n ofType(teacherDetailsActions.TeacherDetailsActionTypes.TeacherAddressLookupCityState),\r\n tap(a => console.log('Entering lookupCityState$ Effect: ', a)),\r\n switchMap((a: teacherDetailsActions.TeacherAddressLookupCityState) => {\r\n const { panel, zip } = a.payload;\r\n\r\n return this.addressService.lookupCityState(zip).pipe(\r\n tap(res => console.log(`addressService.lookupCityState( ${zip} ) returned: `, res)),\r\n map(cityState => {\r\n return new teacherDetailsActions.TeacherAddressLookupCityStateSuccess({ panel, cityState });\r\n }),\r\n catchError(errors => {\r\n return of(new teacherDetailsActions.TeacherAddressLookupCityStateFailure({ panel, errors }));\r\n }),\r\n );\r\n }),\r\n tap(a => console.log('Exiting lookupCityState$ Effect: ', a)),\r\n ));\r\n\r\n \r\n loadCounties$ = createEffect(() => this.actions$.pipe(\r\n ofType(teacherDetailsActions.TeacherDetailsActionTypes.TeacherLoadCounties),\r\n tap(a => console.log('Entering loadCounties$ Effect: ', a)),\r\n //\tpull in the county lookup state\r\n withLatestFrom(this.store$.select(fromSelectors.getDetailsStateCountyLookup)),\r\n //\tgrab the county list for the request state code\r\n map(([action, countyLookup]: [teacherDetailsActions.TeacherLoadCounties, CountyLookupState]) => {\r\n const counties = countyLookup.counties[action.payload.stateCode];\r\n\r\n return { action, counties };\r\n }),\r\n switchMap(({ action, counties }: { action: teacherDetailsActions.TeacherLoadCounties, counties: string[] }) => {\r\n const { panel, stateCode } = action.payload;\r\n\r\n //\tskip service call if we already have a county list for this state\r\n if (counties) {\r\n console.log(`loadCounties$: county list for ${action.payload.stateCode} already loaded.`);\r\n\r\n return of(new teacherDetailsActions.TeacherLoadCountiesSuccess({ panel, counties }));\r\n }\r\n\r\n return this.addressService.loadCounties(stateCode).pipe(\r\n tap(res => console.log(`addressService.loadCounties( ${stateCode} ) returned: `, res)),\r\n map((counties: string[]) => {\r\n return new teacherDetailsActions.TeacherLoadCountiesSuccess({ panel, counties });\r\n }),\r\n );\r\n }),\r\n tap(a => console.log('Exiting loadCounties$ Effect: ', a)),\r\n ));\r\n\r\n \r\n districtLookupById$ = createEffect(() => this.actions$.pipe(\r\n ofType(teacherDetailsActions.TeacherDetailsActionTypes.DistrictLookupById),\r\n switchMap((action: teacherDetailsActions.DistrictLookupById) => {\r\n console.log('Load District Lookup By ID Effect');\r\n\r\n return this.districtService.lookupDistrictById(action.payload.districtId).pipe(\r\n tap(d => {\r\n console.log('districtLookupById$ returned:', d);\r\n }),\r\n map(districtResult => {\r\n if (districtResult === null) {\r\n return new teacherDetailsActions.DistrictLookupByIdFailure({ panel: action.payload.panel, errors: 'District Not Found' });\r\n }\r\n\r\n return new teacherDetailsActions.DistrictLookupByIdSuccess({ panel: action.payload.panel, district: districtResult });\r\n }),\r\n catchError(error => of(new teacherDetailsActions.DistrictLookupByIdFailure(error)))\r\n );\r\n })\r\n ));\r\n\r\n \r\n districtLookupByName$ = createEffect(() => this.actions$.pipe(\r\n ofType(teacherDetailsActions.TeacherDetailsActionTypes.DistrictLookupByName),\r\n switchMap((action: teacherDetailsActions.DistrictLookupByName) => {\r\n console.log('Load District Lookup By ID Effect');\r\n\r\n return this.districtService.lookupDistrictByName(action.payload.name).pipe(\r\n tap(d => {\r\n console.log('districtLookupById$ returned:', d);\r\n }),\r\n map(districtResult => {\r\n if (districtResult === null) {\r\n return new teacherDetailsActions.DistrictLookupByNameFailure({ panel: action.payload.panel, errors: 'District Not Found' });\r\n }\r\n\r\n return new teacherDetailsActions.DistrictLookupByNameSuccess({ panel: action.payload.panel, districts: districtResult });\r\n }),\r\n catchError(error => of(new teacherDetailsActions.DistrictLookupByNameFailure(error)))\r\n );\r\n })\r\n ));\r\n\r\n \r\n verifyAddress$ = createEffect(() => this.actions$.pipe(\r\n ofType(teacherDetailsActions.TeacherDetailsActionTypes.TeacherVerifyAddress),\r\n tap(a => console.log('Entering verifyAddress$ Effect: ', a)),\r\n switchMap((a: teacherDetailsActions.TeacherVerifyAddress) => {\r\n const { panel, address } = a.payload;\r\n\r\n return this.addressService.verifyAddress(address).pipe(\r\n tap(res => console.log(`addressService.verifyAddress( ${address} ) returned: `, res)),\r\n map(verification => {\r\n return new teacherDetailsActions.TeacherVerifyAddressSuccess({ panel, verification });\r\n }),\r\n );\r\n }),\r\n tap(a => console.log('Exiting verifyAddress$ Effect: ', a)),\r\n ));\r\n\r\n \r\n createTeacher$ = createEffect(() => this.actions$.pipe(\r\n ofType(teacherDetailsActions.TeacherDetailsActionTypes.CreateTeacher),\r\n switchMap((action: teacherDetailsActions.CreateTeacher) => {\r\n console.log('CreateTeacher Effect');\r\n\r\n return this.teacherService.createTeacher(action.payload.teacher).pipe(\r\n tap(d => {\r\n console.log('createTeacher$ returned:', d);\r\n }),\r\n map(createTeacherResult => {\r\n if (createTeacherResult === null) {\r\n return new teacherDetailsActions.CreateTeacherFailure({ errors: 'Error creating teacher' });\r\n }\r\n\r\n return new fromRoot.Go({\r\n path: [`teachers/${createTeacherResult}`]\r\n });\r\n //return new detailsActions.CreateTeacherSuccess({ id: createTeacherResult });\r\n }),\r\n catchError(error => of(new teacherDetailsActions.CreateTeacherFailure({ errors: 'Error creating teacher' })))\r\n );\r\n })\r\n ));\r\n}\r\n","import { TeacherHeaderComponent } from './teacher-header';\r\nimport { TeacherInfoComponent } from './teacher-info.component';\r\nimport { TeacherAdditionalComponent } from './teacher-additional.component';\r\nimport { TeacherAddressComponent } from './teacher-address.component';\r\nimport { TeacherDistrictComponent } from './teacher-district.component';\r\nimport { TeacherContactComponent } from './teacher-contact.component';\r\n\r\n\r\nexport const detailsComponents: any[] = [\r\n TeacherHeaderComponent,\r\n TeacherInfoComponent,\r\n TeacherAdditionalComponent,\r\n TeacherAddressComponent,\r\n TeacherDistrictComponent,\r\n TeacherContactComponent\r\n];\r\n\r\nexport * from './teacher-header';\r\nexport * from './teacher-info.component';\r\nexport * from './teacher-additional.component';\r\nexport * from './teacher-address.component';\r\nexport * from './teacher-contact.component';\r\nexport * from './teacher-district.component';\r\n","import { ProgramHeaderComponent } from './program-header';\r\nimport { ProgramInfoComponent } from './program-info.component';\r\nimport { ProgramAdditionalComponent } from './program-additional.component';\r\nimport { ProgramRelationshipManagerComponent } from './program-relationshipmanager.component';\r\nimport { ProgramProgramTeachersComponent } from './program-program-teachers.component';\r\n\r\nexport const detailsComponents: any[] = [\r\n ProgramHeaderComponent,\r\n ProgramInfoComponent,\r\n ProgramAdditionalComponent,\r\n ProgramRelationshipManagerComponent,\r\n ProgramProgramTeachersComponent\r\n];\r\n\r\nexport * from './program-header';\r\nexport * from './program-info.component';\r\nexport * from './program-additional.component';\r\nexport * from './program-relationshipmanager.component';\r\nexport * from './program-program-teachers.component';\r\n","import { HttpErrorResponse } from '@angular/common/http';\r\nimport { ValidationErrors } from '@angular/forms';\r\n\r\nimport { Action } from '@ngrx/store';\r\n\r\nimport { ProgramDetails } from '../../models';\r\nimport { TeacherLookup } from '../../../schools/models';\r\nimport { TeacherLookupCriteria } from '../../../teachers/models';\r\n\r\nexport enum ProgramDetailsActionTypes {\r\n LoadProgramDetails = '[Program] Load Program Details',\r\n LoadProgramDetailsComplete = '[Program] Load Program Details Complete',\r\n LoadProgramDetailsFailure = '[Program] Load Program Details Failure',\r\n\r\n UpdateEditorState = '[Program] Update Editor State',\r\n\r\n UpdateProgramPanel = '[Program] Update Program Panel',\r\n UpdateProgramPanelSuccess = '[Program] Update Program Panel Success',\r\n UpdateProgramPanelFailure = '[Program] Update Program Panel Failure',\r\n\r\n TeacherLookupById = '[Program] Lookup Teacher By Id',\r\n TeacherLookupByIdSuccess = '[Program] Lookup Teacher By Id Success',\r\n TeacherLookupByIdFailure = '[Program] Lookup Teacher By Id Failure',\r\n TeacherLookupByCriteria = '[Program] Lookup Teacher By Criteria',\r\n TeacherLookupByCriteriaSuccess = '[Program] Lookup Teacher By Criteria Success',\r\n TeacherLookupByCriteriaFailure = '[Program] Lookup Teacher By Criteria Failure',\r\n}\r\n\r\nexport class LoadProgramDetails implements Action {\r\n readonly type = ProgramDetailsActionTypes.LoadProgramDetails;\r\n constructor(public payload: number) { }\r\n}\r\n\r\nexport class LoadProgramDetailsComplete implements Action {\r\n readonly type = ProgramDetailsActionTypes.LoadProgramDetailsComplete;\r\n constructor(public payload: ProgramDetails) { }\r\n}\r\n\r\nexport class LoadProgramDetailsFailure implements Action {\r\n readonly type = ProgramDetailsActionTypes.LoadProgramDetailsFailure;\r\n constructor(public payload: any) { }\r\n}\r\n\r\nexport class UpdateEditorState implements Action {\r\n readonly type = ProgramDetailsActionTypes.UpdateEditorState;\r\n constructor(public payload: { key: string, open: boolean }) { }\r\n}\r\n\r\nexport class UpdateProgramPanel implements Action {\r\n readonly type = ProgramDetailsActionTypes.UpdateProgramPanel;\r\n constructor(public payload: { panel: string, program: ProgramDetails }) { }\r\n}\r\n\r\nexport class UpdateProgramPanelSuccess implements Action {\r\n readonly type = ProgramDetailsActionTypes.UpdateProgramPanelSuccess;\r\n constructor(public payload: { panel: string, program: ProgramDetails }) { }\r\n}\r\n\r\nexport class UpdateProgramPanelFailure implements Action {\r\n readonly type = ProgramDetailsActionTypes.UpdateProgramPanelFailure;\r\n constructor(public payload: { panel: string, errors: any }) { }\r\n}\r\n\r\nexport class TeacherLookupById implements Action {\r\n readonly type = ProgramDetailsActionTypes.TeacherLookupById;\r\n constructor(public payload: { panel: string, teacherId: number }) { }\r\n}\r\n\r\nexport class TeacherLookupByIdSuccess implements Action {\r\n readonly type = ProgramDetailsActionTypes.TeacherLookupByIdSuccess;\r\n constructor(public payload: { panel: string, teacher: TeacherLookup }) { }\r\n}\r\n\r\nexport class TeacherLookupByIdFailure implements Action {\r\n readonly type = ProgramDetailsActionTypes.TeacherLookupByIdFailure;\r\n constructor(public payload: { panel: string, errors: any }) { }\r\n}\r\n\r\nexport class TeacherLookupByCriteria implements Action {\r\n readonly type = ProgramDetailsActionTypes.TeacherLookupByCriteria;\r\n constructor(public payload: { panel: string, criteria: TeacherLookupCriteria }) { }\r\n}\r\n\r\nexport class TeacherLookupByCriteriaSuccess implements Action {\r\n readonly type = ProgramDetailsActionTypes.TeacherLookupByCriteriaSuccess;\r\n constructor(public payload: { panel: string, teachers: TeacherLookup[] }) { }\r\n}\r\n\r\nexport class TeacherLookupByCriteriaFailure implements Action {\r\n readonly type = ProgramDetailsActionTypes.TeacherLookupByCriteriaFailure;\r\n constructor(public payload: { panel: string, errors: any }) { }\r\n}\r\n\r\nexport type ProgramDetailsActions =\r\n | LoadProgramDetails\r\n | LoadProgramDetailsComplete\r\n | LoadProgramDetailsFailure\r\n | UpdateEditorState\r\n | UpdateProgramPanel\r\n | UpdateProgramPanelSuccess\r\n | UpdateProgramPanelFailure\r\n | TeacherLookupById\r\n | TeacherLookupByIdSuccess\r\n | TeacherLookupByIdFailure\r\n | TeacherLookupByCriteria\r\n | TeacherLookupByCriteriaSuccess\r\n | TeacherLookupByCriteriaFailure;\r\n","import { RouterEffects } from './router.effect';\r\nimport { ConfigurationEffects } from './configuration.effects';\r\nimport { SecurityEffects } from './security.effects';\r\nimport { OidcEffects } from './oidc.effects';\r\n\r\nexport const effects: any[] = [RouterEffects, OidcEffects];\r\nexport const coreEffects: any[] = [ConfigurationEffects, SecurityEffects];\r\n\r\nexport * from './router.effect';\r\nexport * from './configuration.effects';\r\nexport * from './security.effects';\r\nexport * from './oidc.effects';\r\n","import { ProgramDetailsExistsGuard } from './program-details-exists.guard';\r\nimport { ProgramSearchResultsGuard } from './program-searchresults.guard';\r\n\r\nexport const guards: any[] = [ProgramSearchResultsGuard, ProgramDetailsExistsGuard];\r\n\r\nexport * from './program-details-exists.guard';\r\nexport * from './program-searchresults.guard';\r\n","export enum DeliveryTimePeriodType {\r\n Immediate,\r\n Summer,\r\n Fall\r\n}\r\n","import { Component, OnInit, OnDestroy, ChangeDetectorRef, ElementRef, ViewChild } from '@angular/core';\r\nimport { FormBuilder, FormGroup, Validators, AsyncValidatorFn, AbstractControl, ValidationErrors, ValidatorFn } from '@angular/forms';\r\n\r\nimport { Observable, of } from 'rxjs';\r\nimport { takeWhile, tap, map, filter, take } from 'rxjs/operators';\r\n\r\nimport { select, Store } from '@ngrx/store';\r\n\r\nimport * as fromStore from '../store';\r\n\r\nimport { District, InactiveReason, DistrictLookup } from '../models';\r\n\r\ndeclare var $: any;\r\ndeclare var Foundation: any;\r\n\r\n@Component({\r\n selector: 'opus-district-info-editor',\r\n templateUrl: './district-info-editor.component.html',\r\n})\r\nexport class DistrictInfoEditorComponent implements OnInit, OnDestroy/*, AfterViewInit*/ {\r\n @ViewChild('districtDropdown', {static: true})\r\n districtDropdown: ElementRef;\r\n districtFoundationDropdown: any;\r\n\r\n alive = true;\r\n editor: FormGroup;\r\n district$: Observable;\r\n district: District;\r\n panelId = fromStore.PanelId.Info;\r\n panelState$: Observable;\r\n panelState: fromStore.PanelState;\r\n districtLookups$: Observable;\r\n lookupId: number;\r\n districtByNameLookup$: Observable;\r\n districtByNameLookup: fromStore.DistrictByNameLookupState;\r\n lookupDistrictName: string;\r\n\r\n constructor(private store: Store, private fb: FormBuilder, private cdr: ChangeDetectorRef) {\r\n console.log('DistrictInfoEditorComponent()...');\r\n }\r\n\r\n ngOnInit() {\r\n console.log('DistrictInfoEditorComponent.ngOnInit()...');\r\n\r\n this.district$ = this.store.pipe(select(fromStore.getDetailsStateDistrict));\r\n this.district$.pipe(\r\n takeWhile(() => this.alive)\r\n ).subscribe(d => {\r\n this.district = d;\r\n this.lookupId = d.supervisoryDistrictId;\r\n //this.districtName = s.districtName;\r\n });\r\n\r\n this.panelState$ = this.store.pipe(select(fromStore.getDetailsStateInfoPanel));\r\n this.panelState$.pipe(\r\n takeWhile(() => this.alive),\r\n tap(ps => {\r\n if (!ps.editing && this.panelState && this.panelState.editing) {\r\n console.log('DistrictInfoEditorComponent.panelState$: clearing form...');\r\n this.resetForm();\r\n }\r\n }),\r\n ).subscribe(s => this.panelState = s);\r\n\r\n this.createForm();\r\n\r\n this.districtLookups$ = this.store.pipe(select(fromStore.getDistrictLookupsState));\r\n\r\n this.districtByNameLookup$ = this.store.pipe(select(fromStore.getDistrictByNameLookupState));\r\n this.districtByNameLookup$.pipe(\r\n takeWhile(() => this.alive)\r\n ).subscribe(districtByNameLookup => {\r\n this.districtByNameLookup = districtByNameLookup;\r\n\r\n if (districtByNameLookup && districtByNameLookup.districts && districtByNameLookup.name == this.lookupDistrictName) {\r\n //Trigger the drop down\r\n if (!this.districtFoundationDropdown) {\r\n this.districtFoundationDropdown = new Foundation.Dropdown($(this.districtDropdown.nativeElement).first());\r\n }\r\n\r\n const native = $(this.districtDropdown.nativeElement).first();\r\n\r\n if (!native.hasClass('is-open')) {\r\n native.foundation('open');\r\n }\r\n\r\n this.cdr.detectChanges();\r\n }\r\n });\r\n }\r\n\r\n ngOnDestroy() {\r\n console.log('DistrictInfoEditorComponent.ngOnDestroy()...');\r\n this.alive = false;\r\n }\r\n\r\n createForm() {\r\n this.editor = this.fb.group({\r\n isActive: [this.isActive ? 'Yes' : 'No', null, [this.isActiveAsyncValidator()]],\r\n inactiveReason: [this.district.inactiveReason == null ? 0 : this.district.inactiveReason],\r\n longName: [this.longName, Validators.required],\r\n shortName: [this.shortName],\r\n isSupervisory: [this.isSupervisory ? 'Yes' : 'No', { asyncValidators: [this.isSupervisoryAsyncValidator()] }],\r\n supervisoryDistrictId: [this.supervisoryDistrictId, { asyncValidators: [this.supervisoryIdAsyncValidator()], updateOn: 'blur' }],\r\n supervisoryDistrictName: [this.supervisoryDistrictName],\r\n primaryId: [this.primaryId, { updateOn: 'blur', asyncValidators: [this.primaryIdValidator()] }]\r\n }, { validator: [this.formValidator()] });\r\n }\r\n\r\n resetForm() {\r\n this.editor.reset({\r\n isActive: this.district.isActive ? 'Yes' : 'No',\r\n inactiveReason: this.district.inactiveReason == null ? 0 : this.district.inactiveReason,\r\n longName: this.district.longName,\r\n shortName: this.district.shortName,\r\n isSupervisory: this.district.isSupervisory ? 'Yes' : 'No',\r\n supervisoryDistrictId: this.district.supervisoryDistrictId,\r\n supervisoryDistrictName: this.district.supervisoryDistrictName,\r\n primaryId: this.district.primaryId\r\n });\r\n }\r\n\r\n get id(): string {\r\n return this.district.id.toString();\r\n }\r\n\r\n get isActive(): boolean {\r\n return this.district.isActive;\r\n }\r\n\r\n get inactiveReason(): string {\r\n return InactiveReason[this.district.inactiveReason];\r\n }\r\n\r\n get longName(): string {\r\n return this.district.longName;\r\n }\r\n\r\n get shortName(): string {\r\n return this.district.shortName;\r\n }\r\n\r\n get isSupervisory(): boolean {\r\n return this.district.isSupervisory;\r\n }\r\n\r\n get supervisoryDistrictId(): string {\r\n return this.district.supervisoryDistrictId ? this.district.supervisoryDistrictId.toString() : '';\r\n }\r\n\r\n get supervisoryDistrictName(): string {\r\n return this.district.supervisoryDistrictName;\r\n }\r\n\r\n get primaryId(): number {\r\n return this.district.primaryId;\r\n }\r\n\r\n get canSave(): boolean {\r\n const ret = this.editor.valid && !this.primaryIdStatus.pending && !this.hasPrimaryIdErrors;\r\n console.log(`canSave(): ${this.editor.valid} && ${this.editor.dirty} && !${this.primaryIdStatus.pending} && !${this.hasPrimaryIdErrors}`, this.editor);\r\n\r\n return ret;\r\n }\r\n\r\n get saveButtonLabel(): string {\r\n return this.panelState.updating ? 'Saving...' : 'Save';\r\n }\r\n\r\n get primaryIdStatus() {\r\n return this.panelState.validationStatus['primaryId'] || {\r\n pending: false,\r\n errors: null,\r\n };\r\n }\r\n\r\n get primaryIdErrors(): ValidationErrors {\r\n return this.primaryIdStatus.errors;\r\n }\r\n\r\n get primaryIdPending(): boolean {\r\n return this.primaryIdStatus.pending;\r\n }\r\n\r\n get hasPrimaryIdErrors(): boolean {\r\n return this.primaryIdErrors != null;\r\n }\r\n\r\n get allowEditPrimaryId(): boolean {\r\n //if (!this.isActive && this.district.inactiveReason === InactiveReason.Duplicate) {\r\n // return true;\r\n //}\r\n\r\n if (this.editor.value && this.editor.value.isActive && this.editor.value.inactiveReason) {\r\n return this.editor.value.isActive === 'No' && parseInt(this.editor.value.inactiveReason) === InactiveReason.Duplicate;\r\n }\r\n\r\n return false;\r\n }\r\n\r\n lookupDistrictByName($event: any) {\r\n $event.stopPropagation();\r\n $event.preventDefault();\r\n\r\n this.lookupDistrictName = this.editor.value.supervisoryDistrictName;\r\n\r\n if ($event.code == 'Escape' || $event.code == 'Tab') {\r\n const native = $(this.districtDropdown.nativeElement).first();\r\n\r\n if (native.hasClass('is-open')) {\r\n native.foundation('close');\r\n }\r\n } else {\r\n if (this.lookupDistrictName && this.lookupDistrictName.length > 3) {\r\n this.store.dispatch(new fromStore.LookupDistrictByName({ name: this.lookupDistrictName, isActive: this.editor.value.isActive == 'Yes', isSupervisory: true }));\r\n }\r\n }\r\n }\r\n\r\n selectDistrict(district: DistrictLookup) {\r\n if (district) {\r\n this.editor.controls.supervisoryDistrictName.patchValue(district.longName);\r\n this.editor.controls.supervisoryDistrictId.patchValue(district.id);\r\n }\r\n }\r\n\r\n onSubmit() {\r\n console.log('onSubmit: ', this.editor.status, this.editor.value);\r\n\r\n const isActive = this.editor.value.isActive == 'Yes';\r\n const primaryId = this.editor.value.primaryId;\r\n\r\n const district: District = {\r\n ...this.district,\r\n isActive: isActive,\r\n inactiveReason: isActive ? null : this.editor.value.inactiveReason,\r\n shortName: this.editor.value.shortName,\r\n longName: this.editor.value.longName,\r\n isSupervisory: this.editor.value.isSupervisory == 'Yes',\r\n supervisoryDistrictId: this.editor.value.supervisoryDistrictId,\r\n primaryId\r\n };\r\n\r\n this.store.dispatch(new fromStore.UpdateDistrictPanel({ panel: this.panelId, district }));\r\n }\r\n\r\n isActiveAsyncValidator(): AsyncValidatorFn {\r\n const validator = 'canDeactivate';\r\n\r\n return (control: AbstractControl): Observable | null => {\r\n console.log('isActiveAsyncValidator(): ', control);\r\n\r\n if (!control.dirty || control.value == 'Yes') {\r\n return of(null);\r\n }\r\n\r\n //\tif the control value changed at all, we always need to dispatch an action in order to at least clear previous validation errors\r\n this.store.dispatch(new fromStore.ValidateDistrictCanDeactivate({ panel: this.panelId, validator, id: this.district.id, isSupervisory: this.isSupervisory }));\r\n\r\n //\tthe result of the validation is an observable of the validation status in the state of our panel\r\n return this.panelState$.pipe(\r\n //\twait for the status to complete\r\n filter(ps => {\r\n const status = ps.validationStatus[validator];\r\n\r\n return status != null && !status.pending;\r\n }),\r\n tap(ps => {\r\n console.log('isActiveAsyncValidator(): panelState: ', ps);\r\n }),\r\n //\tonce that validation has completed, the errors property will either be a ValidationErrors object or null - exactly what we need to return\r\n map(ps => {\r\n console.log('isActiveAsyncValidator(): ', ps.validationStatus[validator].errors);\r\n\r\n return ps.validationStatus[validator].errors;\r\n }),\r\n take(1),\r\n );\r\n };\r\n }\r\n\r\n primaryIdValidator(): AsyncValidatorFn {\r\n const validator = 'primaryId';\r\n\r\n return (control: AbstractControl): Observable | null => {\r\n //\tNOTE: this is getting called several times during page load... i see no way to mitigate this except to not take action unless actually needed\r\n console.log('primaryIdValidator(): ', control);\r\n\r\n if (!control.dirty) {\r\n return of(null);\r\n }\r\n\r\n //\tif the control value changed at all, we always need to dispatch an action in order to at least clear previous validation errors\r\n this.store.dispatch(new fromStore.ValidateDistrictPrimaryId({ panel: this.panelId, validator, primaryId: control.value, duplicateId: this.district.id, duplicateIsActive: this.district.isActive, duplicateIsSupervisory: this.district.isSupervisory }));\r\n\r\n //\tthe result of the validation is an observable of the validation status in the state of our panel\r\n return this.panelState$.pipe(\r\n //\twait for the status to complete\r\n filter(ps => {\r\n const status = ps.validationStatus[validator];\r\n\r\n return status != null && !status.pending;\r\n }),\r\n tap(ps => {\r\n console.log('primaryIdValidator(): panelState: ', ps);\r\n }),\r\n //\tonce that validation has completed, the errors property will either be a ValidationErrors object or null - exactly what we need to return\r\n map(ps => {\r\n return ps.validationStatus[validator].errors;\r\n }),\r\n take(1)\r\n );\r\n };\r\n }\r\n\r\n formValidator(): ValidatorFn {\r\n return (fg: FormGroup): ValidationErrors | null => {\r\n //console.log('formValidator(): ', fg);\r\n\r\n if (fg.value.isSupervisory == 'Yes' && fg.value.supervisoryDistrictId) {\r\n console.log('formValidator(): ', fg.value.supervisoryDistrictId);\r\n\r\n return { hasSupervisoryDistrict: true };\r\n }\r\n\r\n return null;\r\n };\r\n }\r\n\r\n isSupervisoryAsyncValidator(): AsyncValidatorFn {\r\n const validator = 'isSupervisory';\r\n\r\n return (control: AbstractControl): Observable | null => {\r\n console.log('isSupervisoryAsyncValidator(): ', control);\r\n\r\n //\tif the control value changed at all, we always need to dispatch an action in order to at least clear previous validation errors\r\n if (!control.dirty || (control.value == 'Yes') == this.district.isSupervisory) {\r\n return of(null);\r\n }\r\n\r\n this.store.dispatch(new fromStore.ValidateDistrictIsSupervisory({ panel: this.panelId, validator, id: this.district.id, isSupervisory: this.district.isSupervisory }));\r\n\r\n //\tthe result of the validation is an observable of the validation status in the state of our panel\r\n return this.panelState$.pipe(\r\n //\twait for the status to complete\r\n filter(ps => {\r\n const status = ps.validationStatus[validator];\r\n\r\n return status != null && !status.pending;\r\n }),\r\n tap(ps => {\r\n console.log('isSupervisoryAsyncValidator(): panelState: ', ps);\r\n }),\r\n //\tonce that validation has completed, the errors property will either be a ValidationErrors object or null - exactly what we need to return\r\n map(ps => {\r\n console.log('isSupervisoryAsyncValidator(): ', ps.validationStatus[validator].errors);\r\n\r\n return ps.validationStatus[validator].errors;\r\n }),\r\n take(1),\r\n );\r\n };\r\n }\r\n\r\n supervisoryIdAsyncValidator(): AsyncValidatorFn {\r\n const validator = 'supervisoryId';\r\n\r\n return (control: AbstractControl): Observable | null => {\r\n //console.log('supervisoryIdAsyncValidator(): ', control);\r\n\r\n if (!control.dirty || +control.value == this.lookupId) {\r\n console.log('supervisoryIdAsyncValidator(): Value unchanged...');\r\n\r\n return of(null);\r\n }\r\n\r\n if (isNaN(+control.value) || +control.value < 0) {\r\n console.log('supervisoryIdAsyncValidator(): Value not a number or not positive...');\r\n\r\n return of({ invalidId: true });\r\n }\r\n\r\n this.lookupId = +control.value;\r\n\r\n if (!this.lookupId) {\r\n console.log('supervisoryIdAsyncValidator(): Value cleared...');\r\n\r\n this.lookupDistrictName = null;\r\n this.editor.controls.supervisoryDistrictName.patchValue('');\r\n\r\n return of(null);\r\n }\r\n\r\n if (this.lookupId == this.district.supervisoryDistrictId) {\r\n console.log('supervisoryIdAsyncValidator(): Value equal to model value...');\r\n\r\n this.lookupDistrictName = this.district.supervisoryDistrictName;\r\n this.editor.controls.supervisoryDistrictName.patchValue(this.district.supervisoryDistrictName);\r\n\r\n return of(null);\r\n }\r\n\r\n if (this.lookupId == this.district.id) {\r\n console.log('supervisoryIdAsyncValidator(): Supervisory District Id equals current District Id...');\r\n\r\n return of({ districtId: true });\r\n }\r\n\r\n console.log(`supervisoryIdAsyncValidator(): Validating value of ${this.lookupId}...`);\r\n this.store.dispatch(new fromStore.LookupDistrictById({ id: this.lookupId }));\r\n\r\n return this.districtLookups$.pipe(\r\n tap(ls => {\r\n if (ls.idLookups[this.lookupId].pending) {\r\n this.lookupDistrictName = null;\r\n }\r\n }),\r\n filter(ls => {\r\n console.log('filter: ', this.lookupId, ls);\r\n\r\n return !ls.idLookups[this.lookupId].pending;\r\n }),\r\n map(ls => {\r\n const lookup = ls.idLookups[this.lookupId];\r\n const error = lookup.errors;\r\n const district = lookup.district;\r\n\r\n console.log('map: ', this.lookupId, error);\r\n\r\n this.cdr.markForCheck();\r\n\r\n if (error || !district) {\r\n return { notFound: true };\r\n }\r\n\r\n if (!district.isSupervisory) {\r\n return { notSupervisory: true };\r\n }\r\n\r\n if (this.editor.value.isActive == 'Yes' && !district.isActive) {\r\n return { supervisoryInactive: true };\r\n }\r\n\r\n this.lookupDistrictName = lookup.district.longName;\r\n this.editor.controls.supervisoryDistrictName.patchValue(lookup.district.longName);\r\n\r\n return null;\r\n }),\r\n take(1),\r\n );\r\n };\r\n }\r\n\r\n onApplySupervisoryDistrictId() {\r\n console.log('onApplySupervisoryDistrictId(): ', this.editor.value.supervisoryDistrictId);\r\n\r\n //this.editor.controls.supervisoryDistrictId.updateValueAndValidity();\r\n }\r\n}\r\n","
\r\n\t
\r\n
    \r\n
  • \r\n \r\n
    \r\n \r\n
      \r\n
    • Associated entities must be disassociated or deactivated prior to deactivating a district.
    • \r\n
    \r\n
    \r\n
  • \r\n
  • \r\n \r\n
    \r\n \r\n
    \r\n
  • \r\n
  • \r\n \r\n
    \r\n \r\n
      \r\n
    • {{ primaryIdErrors.primaryId }}
    • \r\n
    • {{ primaryIdErrors.canDeactivate }}
    • \r\n
    • {{ primaryIdErrors.districtExists }}
    • \r\n
    \r\n
    \r\n
  • \r\n
  • \r\n
    District ID
    \r\n
    {{ district.id }}
    \r\n
  • \r\n
  • \r\n \r\n
    \r\n \r\n
      \r\n
    • Required
    • \r\n
    \r\n
    \r\n
  • \r\n
  • \r\n \r\n
    \r\n \r\n
    \r\n
  • \r\n
  • \r\n \r\n
    \r\n \r\n
      \r\n
    • Supervisory districts may not have a supervisory district.
    • \r\n
    • Associated schools must be disassociated prior to setting a district as supervisory.
    • \r\n
    • Associated districts must be disassociated prior to removing the supervisory status.
    • \r\n
    \r\n
    \r\n
  • \r\n
  • \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
      \r\n
    • The Supervisory District must be active if the District is active.
    • \r\n
    • District not found.
    • \r\n
    • ID Must be a positive number.
    • \r\n
    • A District cannot be its own Supervisory District.
    • \r\n
    • District is not a Supervisory District.
    • \r\n
    \r\n
    \r\n
  • \r\n
  • \r\n \r\n
    \r\n \r\n \r\n \r\n
      \r\n
    • \r\n \r\n
    • \r\n
    \r\n
    \r\n
  • \r\n
\r\n\t\r\n\t
\r\n\t\t
\r\n\t\t\t\r\n\t\t
\r\n\t
\r\n
\r\n","import * as fromCommonModels from '../../../scp-common/models';\r\nimport * as fromTeacherDetails from '../actions/teacher-details.action';\r\nimport * as fromDistrictModels from '../../../districts/models';\r\nimport { TeacherDetails } from '../../models';\r\nimport { initialRatePanelState } from '../../../schools/store/reducers/school-details.reducer';\r\n\r\nexport enum PanelId {\r\n Info = 'info',\r\n District = 'district',\r\n Additional = 'additional',\r\n Address = 'address',\r\n Contact = 'contact'\r\n}\r\n\r\nexport enum Prefix {\r\n MR = 1,\r\n MRS,\r\n MS,\r\n DR,\r\n CAPT,\r\n MAJOR,\r\n SGT,\r\n COL,\r\n FR,\r\n FATHER,\r\n BROTHER,\r\n SISTER,\r\n PASTOR,\r\n REV,\r\n RABBI,\r\n SR\r\n}\r\n\r\nexport let PrefixLookup = [];\r\nPrefixLookup[Prefix.MR] = { id: Prefix.MR, name: 'Mr' };\r\nPrefixLookup[Prefix.MRS] = { id: Prefix.MRS, name: 'Mrs' };\r\nPrefixLookup[Prefix.MS] = { id: Prefix.MS, name: 'Ms' };\r\nPrefixLookup[Prefix.DR] = { id: Prefix.DR, name: 'Dr' };\r\nPrefixLookup[Prefix.CAPT] = { id: Prefix.CAPT, name: 'Capt' };\r\nPrefixLookup[Prefix.MAJOR] = { id: Prefix.MAJOR, name: 'Major' };\r\nPrefixLookup[Prefix.SGT] = { id: Prefix.SGT, name: 'Sgt' };\r\nPrefixLookup[Prefix.COL] = { id: Prefix.COL, name: 'Col' };\r\nPrefixLookup[Prefix.FR] = { id: Prefix.FR, name: 'Fr' };\r\nPrefixLookup[Prefix.FATHER] = { id: Prefix.FATHER, name: 'Father' };\r\nPrefixLookup[Prefix.BROTHER] = { id: Prefix.BROTHER, name: 'Brother' };\r\nPrefixLookup[Prefix.SISTER] = { id: Prefix.SISTER, name: 'Sister' };\r\nPrefixLookup[Prefix.PASTOR] = { id: Prefix.PASTOR, name: 'Pastor' };\r\nPrefixLookup[Prefix.REV] = { id: Prefix.REV, name: 'Rev' };\r\nPrefixLookup[Prefix.RABBI] = { id: Prefix.RABBI, name: 'Rabbi' };\r\nPrefixLookup[Prefix.SR] = { id: Prefix.SR, name: 'Sr' };\r\n\r\nexport enum Suffix {\r\n PHD = 1,\r\n ESQ,\r\n MD,\r\n JR,\r\n II,\r\n III,\r\n IV,\r\n DOCTOR,\r\n DO,\r\n A,\r\n W,\r\n J,\r\n M,\r\n MS,\r\n MS_D,\r\n MS_Z,\r\n MS_O,\r\n MS_COO,\r\n MIS,\r\n ENG\r\n}\r\nexport let SuffixLookup = [];\r\nSuffixLookup[Suffix.PHD] = { id: Suffix.PHD, name: 'Phd' };\r\nSuffixLookup[Suffix.ESQ] = { id: Suffix.ESQ, name: 'Esq' };\r\nSuffixLookup[Suffix.MD] = { id: Suffix.MD, name: 'Md' };\r\nSuffixLookup[Suffix.JR] = { id: Suffix.JR, name: 'Jr' };\r\nSuffixLookup[Suffix.II] = { id: Suffix.II, name: 'II' };\r\nSuffixLookup[Suffix.III] = { id: Suffix.III, name: 'III' };\r\nSuffixLookup[Suffix.IV] = { id: Suffix.IV, name: 'IV' };\r\nSuffixLookup[Suffix.DOCTOR] = { id: Suffix.DOCTOR, name: 'Doctor' };\r\nSuffixLookup[Suffix.DO] = { id: Suffix.DO, name: 'Do' };\r\nSuffixLookup[Suffix.A] = { id: Suffix.A, name: 'A' };\r\nSuffixLookup[Suffix.W] = { id: Suffix.W, name: 'W' };\r\nSuffixLookup[Suffix.J] = { id: Suffix.J, name: 'J' };\r\nSuffixLookup[Suffix.M] = { id: Suffix.M, name: 'M' };\r\nSuffixLookup[Suffix.MS] = { id: Suffix.MS, name: 'Ms' };\r\nSuffixLookup[Suffix.MS_D] = { id: Suffix.MS_D, name: 'Ms D' };\r\nSuffixLookup[Suffix.MS_Z] = { id: Suffix.MS_Z, name: 'Ms Z' };\r\nSuffixLookup[Suffix.MS_O] = { id: Suffix.MS_O, name: 'Ms O' };\r\nSuffixLookup[Suffix.MS_COO] = { id: Suffix.MS_COO, name: 'Ms Coo' };\r\nSuffixLookup[Suffix.MIS] = { id: Suffix.MIS, name: 'Mis' };\r\nSuffixLookup[Suffix.ENG] = { id: Suffix.ENG, name: 'Eng' };\r\n\r\n\r\nexport interface PanelState {\r\n editing: boolean;\r\n updating: boolean;\r\n validationStatus: ValidationStatus;\r\n errors: any;\t//\tTODO: formalize error handling\r\n}\r\n\r\nexport interface DistrictLookupState {\r\n districtId: number;\r\n pending: boolean;\r\n errors: any;\r\n district: fromDistrictModels.DistrictLookup;\r\n}\r\n\r\nexport interface DistrictByNameLookupState {\r\n name: string;\r\n pending: boolean;\r\n errors: any;\r\n districts: fromDistrictModels.DistrictLookup[];\r\n}\r\nexport interface CountyLookupState {\r\n pending: boolean;\r\n lookupStateCode: string;\r\n errors: any;\r\n counties: { [stateCode: string]: string[] };\r\n}\r\n\r\nexport interface ZipLookupState {\r\n zip: string;\r\n pending: boolean;\r\n errors: any;\r\n cityState: { city: string, state: string };\r\n}\r\n\r\nexport interface AddressPanelState extends PanelState {\r\n countyLookup: CountyLookupState;\r\n zipLookup: ZipLookupState;\r\n verifying: boolean;\r\n verifiedAddress: fromCommonModels.Address;\r\n suggestedAddresses: fromCommonModels.Address[];\r\n}\r\n\r\nexport interface ValidationStatus {\r\n [id: string]: {\r\n pending: boolean;\r\n errors: { [key: string]: any };\r\n };\r\n}\r\n\r\nexport interface TeacherDetailsState {\r\n teacherDetails: TeacherDetails;\r\n\tloaded: boolean;\r\n\tloading: boolean;\r\n\terrors: any;\r\n\t//inDistrictLookup: boolean;\r\n\t//districtFound: boolean;\r\n districtLookup: DistrictLookupState;\r\n districtByNameLookup: DistrictByNameLookupState;\r\n\tpanels: { [id: string]: PanelState };\r\n}\r\n\r\nexport const initialPanelState: PanelState = {\r\n\tediting: false,\r\n\tvalidationStatus: {},\r\n\tupdating: false,\r\n\terrors: null,\r\n};\r\n\r\nexport const initialZipLookupState: ZipLookupState = {\r\n zip: '',\r\n pending: false,\r\n cityState: null,\r\n errors: null,\r\n};\r\n\r\nexport const initialCountyLookupState: CountyLookupState = {\r\n pending: false,\r\n lookupStateCode: null,\r\n errors: null,\r\n counties: {},\r\n};\r\n\r\nexport const initialAddressPanelState: AddressPanelState = {\r\n ...initialPanelState,\r\n zipLookup: initialZipLookupState,\r\n countyLookup: initialCountyLookupState,\r\n verifying: false,\r\n verifiedAddress: null,\r\n suggestedAddresses: null,\r\n};\r\n\r\nexport const initialDistrictLookupState: DistrictLookupState = {\r\n districtId: null,\r\n pending: false,\r\n district: null,\r\n errors: null,\r\n};\r\n\r\nexport const initialDistrictByNameLookupState: DistrictByNameLookupState = {\r\n name: null,\r\n pending: false,\r\n errors: null,\r\n districts: null\r\n};\r\n\r\nexport const initialState: TeacherDetailsState = {\r\n\tteacherDetails: null,\r\n\tloaded: false,\r\n\tloading: false,\r\n errors: null,\r\n districtLookup: initialDistrictLookupState,\r\n districtByNameLookup: initialDistrictByNameLookupState,\r\n\t//inDistrictLookup: false,\r\n\t//districtFound: false,\r\n panels: {\r\n [PanelId.Info]: { ...initialPanelState },\r\n [PanelId.District]: { ...initialPanelState },\r\n [PanelId.Additional]: { ...initialPanelState },\r\n [PanelId.Address]: { ...initialAddressPanelState } as PanelState,\r\n [PanelId.Contact]: { ...initialPanelState }\r\n /*\r\n\t\t[PanelId.PhysAddr]: { ...initialAddressPanelState } as PanelState,\r\n\t\t[PanelId.MailAddr]: { ...initialAddressPanelState } as PanelState,\r\n\t\t[PanelId.Contacts]: { ...initialPanelState },\r\n\t\t[PanelId.CurrentRate]: { ...initialRatePanelState } as PanelState,\r\n\t\t[PanelId.FutureRate]: { ...initialRatePanelState } as PanelState,\r\n\t\t[PanelId.Calendar]: { ...initialPanelState },\r\n\t\t[PanelId.Relationship]: { ...initialPanelState },\r\n\t\t[PanelId.OnlineRentals]: { ...initialPanelState },\r\n\t\t[PanelId.RentalReturns]: { ...initialPanelState },\r\n\t\t[PanelId.AdditionalDetails]: { ...initialPanelState },\r\n */\r\n\t}\r\n};\r\n\r\nexport function reducer(state = initialState, action: fromTeacherDetails.TeacherDetailsActions): TeacherDetailsState {\r\n\tswitch (action.type) {\r\n\t\tcase fromTeacherDetails.TeacherDetailsActionTypes.LoadTeacherDetails: {\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tloading: true,\r\n\t\t\t\terrors: null,\r\n\t\t\t};\r\n\t\t}\r\n\r\n\t\tcase fromTeacherDetails.TeacherDetailsActionTypes.LoadTeacherDetailsComplete: {\r\n\t\t\tconst teacherDetails = action.payload;\r\n\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tloaded: true,\r\n\t\t\t\tloading: false,\r\n\t\t\t\terrors: null,\r\n\t\t\t\tteacherDetails,\r\n\t\t\t};\r\n\t\t}\r\n\r\n\t\tcase fromTeacherDetails.TeacherDetailsActionTypes.LoadTeacherDetailsFailure: {\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tloaded: false,\r\n\t\t\t\tloading: false,\r\n\t\t\t\terrors: action.payload,\r\n\t\t\t};\r\n\t\t}\r\n\r\n\t\tcase fromTeacherDetails.TeacherDetailsActionTypes.UpdateEditorState: {\r\n\t\t\tconst key = action.payload.key;\r\n\t\t\tconst editing = action.payload.open;\r\n\r\n\t\t\tif (editing == state.panels[key].editing) {\r\n\t\t\t\treturn state;\r\n\t\t\t}\r\n\r\n\t\t\tconst panel = { ...initialState.panels[key], editing };\t//\tNOTE: initialPanelState will not have any custom panel initialization...\r\n\t\t\tconst panels = {\r\n\t\t\t\t...state.panels,\r\n\t\t\t\t[key]: panel,\r\n\t\t\t};\r\n\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tpanels,\r\n\t\t\t};\r\n\t\t}\r\n\r\n\t\tcase fromTeacherDetails.TeacherDetailsActionTypes.UpdateTeacherPanel: {\r\n\t\t\tconst panel = {\r\n\t\t\t\t...state.panels[action.payload.panel],\r\n\t\t\t\tupdating: true,\r\n\t\t\t};\r\n\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tpanels: {\r\n\t\t\t\t\t...state.panels,\r\n\t\t\t\t\t[action.payload.panel]: panel,\r\n\t\t\t\t},\r\n\t\t\t};\r\n\t\t}\r\n\r\n\t\tcase fromTeacherDetails.TeacherDetailsActionTypes.UpdateTeacherPanelFailure: {\r\n\t\t\tconst panel = {\r\n\t\t\t\t...state.panels[action.payload.panel],\r\n\t\t\t\tupdating: false,\r\n\t\t\t\terrors: action.payload.errors,\r\n\t\t\t};\r\n\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tpanels: {\r\n\t\t\t\t\t...state.panels,\r\n\t\t\t\t\t[action.payload.panel]: panel,\r\n\t\t\t\t},\r\n\t\t\t};\r\n\t\t}\r\n\r\n\t\tcase fromTeacherDetails.TeacherDetailsActionTypes.UpdateTeacherPanelSuccess: {\r\n\t\t\tconst teacherDetails = action.payload.teacher;\r\n\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tteacherDetails,\r\n\t\t\t\tpanels: {\r\n\t\t\t\t\t...state.panels,\r\n\t\t\t\t\t[action.payload.panel]: initialState.panels[action.payload.panel],\r\n\t\t\t\t},\r\n\t\t\t};\r\n }\r\n\r\n case fromTeacherDetails.TeacherDetailsActionTypes.TeacherAddressLookupCityState: {\r\n const { zip, panel } = action.payload;\r\n const zipLookup: ZipLookupState = {\r\n ...(state.panels[panel] as AddressPanelState).zipLookup,\r\n zip,\r\n pending: true,\r\n errors: null,\r\n cityState: null,\r\n };\r\n\r\n return {\r\n ...state,\r\n panels: {\r\n ...state.panels,\r\n [panel]: {\r\n ...state.panels[panel],\r\n zipLookup,\r\n } as AddressPanelState,\r\n },\r\n };\r\n }\r\n\r\n case fromTeacherDetails.TeacherDetailsActionTypes.TeacherAddressLookupCityStateFailure: {\r\n const { errors, panel } = action.payload;\r\n const zipLookup: ZipLookupState = {\r\n ...(state.panels[panel] as AddressPanelState).zipLookup,\r\n pending: false,\r\n errors,\r\n cityState: null,\r\n };\r\n\r\n return {\r\n ...state,\r\n panels: {\r\n ...state.panels,\r\n [panel]: {\r\n ...state.panels[panel],\r\n zipLookup,\r\n } as AddressPanelState,\r\n },\r\n };\r\n }\r\n\r\n case fromTeacherDetails.TeacherDetailsActionTypes.TeacherAddressLookupCityStateSuccess: {\r\n const { panel, cityState } = action.payload;\r\n const zipLookup: ZipLookupState = {\r\n ...(state.panels[panel] as AddressPanelState).zipLookup,\r\n pending: false,\r\n cityState,\r\n };\r\n\r\n return {\r\n ...state,\r\n panels: {\r\n ...state.panels,\r\n [panel]: {\r\n ...state.panels[panel],\r\n zipLookup,\r\n } as AddressPanelState,\r\n },\r\n };\r\n }\r\n\r\n case fromTeacherDetails.TeacherDetailsActionTypes.TeacherLoadCounties: {\r\n const { panel, stateCode } = action.payload;\r\n\r\n return {\r\n ...state,\r\n panels: {\r\n ...state.panels,\r\n [panel]: {\r\n ...state.panels[panel],\r\n countyLookup: {\r\n ...(state.panels[panel] as AddressPanelState).countyLookup,\r\n pending: true,\r\n lookupStateCode: stateCode,\r\n },\r\n } as AddressPanelState,\r\n },\r\n };\r\n }\r\n\r\n case fromTeacherDetails.TeacherDetailsActionTypes.TeacherLoadCountiesSuccess: {\r\n const { panel, counties } = action.payload;\r\n\r\n return {\r\n ...state,\r\n panels: {\r\n ...state.panels,\r\n [panel]: {\r\n ...state.panels[panel],\r\n countyLookup: {\r\n ...(state.panels[panel] as AddressPanelState).countyLookup,\r\n pending: false,\r\n counties: {\r\n ...(state.panels[panel] as AddressPanelState).countyLookup.counties,\r\n [(state.panels[panel] as AddressPanelState).countyLookup.lookupStateCode]: counties,\r\n },\r\n },\r\n } as AddressPanelState,\r\n },\r\n };\r\n }\r\n\r\n case fromTeacherDetails.TeacherDetailsActionTypes.TeacherVerifyAddress: {\r\n const { panel, address } = action.payload;\r\n\r\n return {\r\n ...state,\r\n panels: {\r\n ...state.panels,\r\n [panel]: {\r\n ...state.panels[panel],\r\n verifying: true,\r\n } as AddressPanelState,\r\n },\r\n };\r\n }\r\n\r\n case fromTeacherDetails.TeacherDetailsActionTypes.TeacherVerifyAddressSuccess: {\r\n const { panel, verification } = action.payload;\r\n\r\n return {\r\n ...state,\r\n panels: {\r\n ...state.panels,\r\n [panel]: {\r\n ...state.panels[panel],\r\n verifying: false,\r\n verifiedAddress: verification.verifiedAddress,\r\n suggestedAddresses: verification.picklist,\r\n } as AddressPanelState,\r\n },\r\n };\r\n }\r\n\r\n case fromTeacherDetails.TeacherDetailsActionTypes.DistrictLookupById: {\r\n const { districtId } = action.payload;\r\n const districtLookup: DistrictLookupState = {\r\n districtId,\r\n pending: true,\r\n errors: null,\r\n district: null,\r\n };\r\n\r\n return {\r\n ...state,\r\n districtLookup\r\n };\r\n }\r\n\r\n case fromTeacherDetails.TeacherDetailsActionTypes.DistrictLookupByIdFailure: {\r\n const { errors } = action.payload;\r\n const districtLookup: DistrictLookupState = {\r\n ...state.districtLookup,\r\n pending: false,\r\n errors,\r\n district: null,\r\n };\r\n\r\n return {\r\n ...state,\r\n districtLookup,\r\n };\r\n }\r\n\r\n case fromTeacherDetails.TeacherDetailsActionTypes.DistrictLookupByIdSuccess: {\r\n const { district } = action.payload;\r\n const districtLookup: DistrictLookupState = {\r\n ...state.districtLookup,\r\n pending: false,\r\n district,\r\n };\r\n\r\n return {\r\n ...state,\r\n districtLookup,\r\n };\r\n }\r\n\r\n case fromTeacherDetails.TeacherDetailsActionTypes.DistrictLookupByName: {\r\n const { name } = action.payload;\r\n const districtByNameLookup: DistrictByNameLookupState = {\r\n name,\r\n pending: true,\r\n errors: null,\r\n districts: null,\r\n };\r\n\r\n return {\r\n ...state,\r\n districtByNameLookup,\r\n };\r\n }\r\n\r\n case fromTeacherDetails.TeacherDetailsActionTypes.DistrictLookupByNameFailure: {\r\n const { errors, panel } = action.payload;\r\n const districtByNameLookup: DistrictByNameLookupState = {\r\n ...state.districtByNameLookup,\r\n pending: false,\r\n errors,\r\n districts: null,\r\n };\r\n\r\n return {\r\n ...state,\r\n districtByNameLookup,\r\n };\r\n }\r\n\r\n case fromTeacherDetails.TeacherDetailsActionTypes.DistrictLookupByNameSuccess: {\r\n const { panel, districts } = action.payload;\r\n const districtByNameLookup: DistrictByNameLookupState = {\r\n ...state.districtByNameLookup,\r\n pending: false,\r\n districts,\r\n };\r\n\r\n return {\r\n ...state,\r\n districtByNameLookup,\r\n };\r\n }\r\n\r\n\t\tdefault: {\r\n\t\t\tif (Object.values(fromTeacherDetails.TeacherDetailsActionTypes).includes((action as fromTeacherDetails.TeacherDetailsActions).type)) {\r\n\t\t\t\tconsole.log('teacher-details.reducer: unhandled action: ', action);\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\treturn state;\r\n}\r\n\r\nexport const getTeacherDetailsEntity = (state: TeacherDetailsState) => state.teacherDetails;\r\nexport const getTeacherDetailsLoading = (state: TeacherDetailsState) => state.loading;\r\nexport const getTeacherDetailsLoaded = (state: TeacherDetailsState) => state.loaded;\r\nexport const getDetailsStatePanels = (state: TeacherDetailsState) => state.panels;\r\nexport const getDetailsStateCountyLookup = (state: AddressPanelState) => state.countyLookup;\r\nexport const getDetailsStateDistrictLookup = (state: TeacherDetailsState) => state.districtLookup;\r\nexport const getDetailsStateDistrictByNameLookup = (state: TeacherDetailsState) => state.districtByNameLookup;\r\n","import { EventDetailsComponent } from './event-details.component';\r\nimport { EventInfoEditorComponent } from './event-info-editor.component';\r\nimport { EventHostEditorComponent } from './event-host-editor.component';\r\nimport { EventSearchResultsComponent } from './event-searchresults.component';\r\nimport { EventDateTimeEditorComponent } from './event-date-time-editor.component';\r\nimport { EventLocationEditorComponent } from './event-location-editor.component';\r\nimport { EventStaffingEditorComponent } from './event-staffing-editor.component';\r\nimport { EventMeetingDetailsEditorComponent } from './event-meeting-details-editor.component';\r\nimport { EventSchoolsAttendingEditorComponent } from './event-schools-attending-editor.component';\r\nimport { EventPromoEditorComponent } from './event-promo-editor.component';\r\n\r\nexport const containers: any[] = [\r\n EventDetailsComponent,\r\n EventInfoEditorComponent,\r\n EventHostEditorComponent,\r\n EventSearchResultsComponent,\r\n EventDateTimeEditorComponent,\r\n EventLocationEditorComponent,\r\n EventStaffingEditorComponent,\r\n EventMeetingDetailsEditorComponent,\r\n EventSchoolsAttendingEditorComponent,\r\n EventPromoEditorComponent\r\n];\r\n\r\nexport * from './event-details.component';\r\nexport * from './event-info-editor.component';\r\nexport * from './event-host-editor.component';\r\nexport * from './event-searchresults.component';\r\nexport * from './event-date-time-editor.component';\r\nexport * from './event-location-editor.component';\r\nexport * from './event-staffing-editor.component';\r\nexport * from './event-meeting-details-editor.component';\r\nexport * from './event-schools-attending-editor.component';\r\nexport * from './event-promo-editor.component';\r\n","import { Directive, ElementRef, Renderer2, Input, AfterViewInit, OnDestroy, OnChanges } from '@angular/core';\r\nimport { select, Store } from '@ngrx/store';\r\n\r\nimport * as fromStore from '../store';\r\nimport { Subscription, BehaviorSubject } from 'rxjs';\r\nimport { map, filter, combineLatest } from 'rxjs/operators';\r\n\r\n\r\n@Directive({\r\n selector: '[opusAuthorize]'\r\n})\r\nexport class AuthorizeDirective implements AfterViewInit, OnChanges, OnDestroy {\r\n private subscription?: Subscription;\r\n\r\n private changes$ = new BehaviorSubject(null);\r\n\r\n authorized: boolean;\r\n\r\n @Input('opusAuthorize') policyCode: string;\r\n\r\n @Input() opusAuthorizeAction: string;\r\n @Input() opusRelationshipManagerEmail: any;\r\n @Input() opusRelationshipManagerRoles: string[];\r\n\r\n constructor(private element: ElementRef, private renderer: Renderer2, private store: Store) { }\r\n\r\n ngOnDestroy() {\r\n if (this.subscription) this.subscription.unsubscribe();\r\n }\r\n\r\n ngOnChanges() {\r\n this.changes$.next(null);\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n if (!this.policyCode) return;\r\n\r\n this.subscription = this.store.pipe(\r\n select(fromStore.getUserAuthInfo),\r\n combineLatest(this.changes$),\r\n map(x => x[0]),\r\n filter(x => !!x),\r\n map(x => {\r\n if (!x.policyCodes.has(this.policyCode)) return false;\r\n\r\n if (\r\n !this.opusRelationshipManagerEmail ||\r\n !this.opusRelationshipManagerRoles ||\r\n !this.opusRelationshipManagerRoles.length ||\r\n !this.opusRelationshipManagerRoles.find(y => x.roleNames.has(y))\r\n ) return true;\r\n\r\n if (Array.isArray(this.opusRelationshipManagerEmail))\r\n return !!this.opusRelationshipManagerEmail.find(y => y.toLowerCase() === x.emailLower);\r\n\r\n return this.opusRelationshipManagerEmail && this.opusRelationshipManagerEmail.toLowerCase() === x.emailLower;\r\n\r\n })\r\n ).subscribe(isAuthorized => {\r\n this.authorized = isAuthorized;\r\n\r\n switch (this.opusAuthorizeAction || 'remove') {\r\n case 'show': //If I'm not authorized show, otherwise remove\r\n if (isAuthorized) {\r\n this.element.nativeElement.remove();\r\n }\r\n break;\r\n case 'disable':\r\n if (!isAuthorized) {\r\n this.renderer.setAttribute(this.element.nativeElement, 'disabled', 'true');\r\n }\r\n break;\r\n case 'remove':\r\n default:\r\n if (!isAuthorized) {\r\n this.element.nativeElement.remove();\r\n }\r\n break;\r\n }\r\n });\r\n }\r\n}\r\n\r\n","import { MerchComboGuard } from './merch-combos.guard';\r\nimport { MerchProductGroupsGuard } from './merch-product-groups.guard';\r\nimport { MerchRentalCategoryGuard } from './merch-rental-categories.guard';\r\n\r\nexport const guards: any[] = [\r\n MerchComboGuard, \r\n MerchProductGroupsGuard,\r\n MerchRentalCategoryGuard\r\n];\r\n\r\nexport * from './merch-combos.guard';\r\nexport * from './merch-product-groups.guard';\r\nexport * from './merch-rental-categories.guard';\r\n","import { Component, Input, Output, EventEmitter, OnInit, OnDestroy, OnChanges, SimpleChanges, ViewChild, ElementRef, ChangeDetectorRef } from '@angular/core';\r\nimport { FormBuilder, FormGroup, FormControl, Validators, ValidatorFn } from '@angular/forms';\r\n\r\nimport { Observable } from 'rxjs';\r\nimport { takeWhile } from 'rxjs/operators';\r\n\r\nimport { select, Store } from '@ngrx/store';\r\n\r\ndeclare var $: any;\r\ndeclare var Foundation: any;\r\n\r\nimport { ProgramType, ProgramTypeLookup } from '../../scp-common/models';\r\nimport { SchoolDetails, SchoolLookup } from '../../schools/models';\r\nimport { TeacherDetails } from '../../teachers/models';\r\nimport * as fromStore from '../store';\r\n\r\n@Component({\r\n selector: 'opus-program-create',\r\n templateUrl: './program-create.component.html',\r\n})\r\nexport class ProgramCreateComponent implements OnInit, OnDestroy, OnChanges {\r\n @Input() school: SchoolDetails;\r\n @Input() teacher: TeacherDetails;\r\n @Input() visible = false;\r\n @Input() activeProgramTypes: string[] = [];\r\n @Output() action = new EventEmitter();\r\n\r\n @ViewChild('schoolDropdown', {static: true})\r\n schoolDropdown: ElementRef;\r\n schoolFoundationDropdown: any = null;\r\n lookupSchoolName: string;\r\n\r\n alive = true;\r\n state$: Observable;\r\n state: fromStore.ProgramCreateState;\r\n form: FormGroup;\r\n submitting = false;\r\n lookupSchoolId: number;\r\n\r\n constructor(private store: Store, private cdr: ChangeDetectorRef, private fb: FormBuilder) {\r\n console.log('ProgramCreateComponent()...');\r\n }\r\n\r\n ngOnInit() {\r\n console.log('ProgramCreateComponent.ngOnInit()...');\r\n\r\n this.createForm();\r\n\r\n this.state$ = this.store.pipe(select(fromStore.getProgramCreateState));\r\n this.state$.pipe(\r\n takeWhile(() => this.alive),\r\n ).subscribe(s => {\r\n this.state = s;\r\n\r\n if (this.submitting && s.errors !== null) {\r\n this.submitting = false;\r\n }\r\n\r\n if (this.submitting && s.created) {\r\n this.submitting = false;\r\n this.resetForm();\r\n this.action.emit(true);\r\n }\r\n\r\n if (s.schoolLookup.pending && this.lookupSchoolId == s.schoolLookup.id) {\r\n this.form.controls.schoolName.disable();\r\n } else if (!this.school) {\r\n this.form.controls.schoolName.enable();\r\n }\r\n\r\n if (s.schoolLookup.errors && !s.schoolLookup.pending) {\r\n this.form.controls.schoolId.setErrors({ 'id': true });\r\n }\r\n\r\n if (s.schoolLookup.school) {\r\n this.form.controls.schoolName.setValue(s.schoolLookup.school.longName);\r\n }\r\n\r\n if (s.schoolByNameLookup.schools && s.schoolByNameLookup.name == this.lookupSchoolName) {\r\n const native = $(this.schoolDropdown.nativeElement).first();\r\n console.log('ProgramCreateComponent: Creating dropdown...', native);\r\n this.schoolFoundationDropdown = new Foundation.Dropdown(native);\r\n\r\n if (!native.hasClass('is-open')) {\r\n native.foundation('open');\r\n }\r\n }\r\n\r\n this.cdr.detectChanges();\r\n });\r\n\r\n //console.log(this.school);\r\n }\r\n\r\n ngOnDestroy() {\r\n console.log('ProgramCreateComponent.ngOnDestroy()...');\r\n\r\n this.alive = false;\r\n\r\n if (this.schoolFoundationDropdown != null) {\r\n this.schoolFoundationDropdown.destroy();\r\n }\r\n\r\n this.schoolFoundationDropdown = null;\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges) {\r\n if (changes.school && this.form) {\r\n this.resetForm();\r\n }\r\n }\r\n\r\n createForm() {\r\n this.form = this.fb.group({\r\n programType: ['', Validators.required],\r\n schoolId: [this.school ? { value: this.school.id + '', disabled: true } : '', this.idValidator()],\r\n schoolName: [this.school ? { value: this.school.longName, disabled: true } : ''],\r\n });\r\n }\r\n\r\n resetForm() {\r\n this.lookupSchoolName = null;\r\n this.lookupSchoolId = null;\r\n this.form.reset({\r\n programType: '',\r\n schoolId: this.school ? this.school.id + '' : '',\r\n schoolName: this.school ? this.school.longName : '',\r\n });\r\n }\r\n\r\n get programTypes(): { id: ProgramType, name: string }[] {\r\n //const pts = ProgramTypeLookup.filter(ptl => ptl.id != ProgramType.NoMTDSubscription);\r\n const pts = ProgramTypeLookup.filter(ptl => ptl.id != ProgramType.NoMTDSubscription && (this.activeProgramTypes ? !this.activeProgramTypes.includes(ptl.name) : true));\r\n\r\n //console.log('programTypes(): ', pts);\r\n\r\n return pts;\r\n }\r\n\r\n get isValid(): boolean {\r\n return this.form.valid;\r\n }\r\n\r\n lookupSchool() {\r\n this.lookupSchoolId = +this.form.value.schoolId;\r\n\r\n this.store.dispatch(new fromStore.SchoolLookupById({ id: this.lookupSchoolId }));\r\n }\r\n\r\n lookupSchoolByName($event: any) {\r\n $event.stopPropagation();\r\n $event.preventDefault();\r\n\r\n this.lookupSchoolName = this.form.value.schoolName;\r\n\r\n if ($event.code == 'Escape' || $event.code == 'Tab') {\r\n const native = $(this.schoolDropdown.nativeElement).first();\r\n\r\n if (native.hasClass('is-open')) {\r\n native.foundation('close');\r\n }\r\n } else {\r\n if (this.lookupSchoolName && this.lookupSchoolName.length > 3) {\r\n this.store.dispatch(new fromStore.SchoolLookupReset());\r\n this.store.dispatch(new fromStore.SchoolLookupByName({ name: this.lookupSchoolName }));\r\n }\r\n }\r\n }\r\n\r\n selectSchool(school: SchoolLookup) {\r\n if (school) {\r\n this.schoolFoundationDropdown = null;\r\n this.form.controls.schoolName.patchValue(school.longName);\r\n this.form.controls.schoolId.patchValue(school.id + '');\r\n }\r\n }\r\n\r\n idValidator(): ValidatorFn {\r\n return (ctrl: FormControl): { [key: string]: boolean } | null => {\r\n const val = Number(ctrl.value);\r\n\r\n if (!Number.isInteger(val) || val <= 0) {\r\n return { 'id': true };\r\n }\r\n\r\n return null;\r\n };\r\n }\r\n\r\n onModalAction(accept) {\r\n console.log('ProgramCreateComponent.onModalAction(): ', accept);\r\n\r\n if (!accept) {\r\n this.action.emit(false);\r\n this.resetForm();\r\n\r\n return;\r\n }\r\n\r\n const program = {\r\n programTypeId: ProgramType[ProgramType[this.form.value.programType]],\r\n schoolId: this.school ? this.school.id : +this.form.value.schoolId,\r\n teacherId: this.teacher ? this.teacher.id : null,\r\n };\r\n\r\n this.submitting = true;\r\n this.store.dispatch(new fromStore.CreateProgram({ program }));\r\n }\r\n}\r\n","\r\n\t
\r\n\t\t\r\n\t\t\r\n\t\t
\r\n\t\t\t
Required
\r\n\t\t
\r\n\t\t
\r\n\t\t\tSchool\r\n\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t
Invalid School ID
\r\n\t\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t
    \r\n\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t
  • \r\n\t\t\t\t\t
\r\n\t\t\t\t\t

\r\n\t\t\t\t\t\tStart typing the name of the school or\r\n\t\t\t\t\t\tsearch for the ID.\r\n\t\t\t\t\t

\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t
\r\n\t
\r\n
\r\n
\r\n\t
\r\n
\r\n","import { Component, OnInit, Input, OnChanges } from '@angular/core';\r\n\r\nimport { Observable, Subscription } from 'rxjs';\r\n\r\nimport { Store } from '@ngrx/store';\r\n\r\nimport * as fromStore from '../store';\r\nimport * as fromRoot from '../../../core/store';\r\nimport * as fromModels from '../models';\r\nimport { TeacherDetails } from '../../teachers/models';\r\nimport { SchoolDetails } from '../../schools/models';\r\nimport { MessageType } from '../../../core/models';\r\n\r\n@Component({\r\n\tselector: 'opus-program-searchresults-page',\r\n\ttemplateUrl: './program-searchresults.component.html',\r\n})\r\nexport class ProgramSearchResultsComponent implements OnInit, OnChanges {\r\n @Input() teacher: TeacherDetails;\r\n @Input() school: SchoolDetails;\r\n\r\n\tshowModal = false;\r\n\tsearchResultsState$: Observable;\r\n\r\n private _subscription: Subscription;\r\n private _searchCriteria: fromModels.ProgramSearchCriteria;\r\n private _pagingSorting: fromModels.ProgramPagingSorting;\r\n\tembeddedVersion = false;\r\n\tactiveProgramTypes: string[] = null;\r\n\r\n\tconstructor(private _store: Store) {\r\n\t\tconsole.log('ProgramSearchResultsComponent: constructor().');\r\n\t}\r\n\r\n ngOnInit() {\r\n console.log('ProgramSearchResultsComponent: ngOnInit().');\r\n\r\n // Get results of search (so our html can populate)\r\n this.searchResultsState$ = this._store.select(fromStore.getProgramSearchState);\r\n // Grab the current search criteria stored in the state\r\n console.log(this.searchResultsState$);\r\n this._subscription = this.searchResultsState$.subscribe(s => {\r\n this._searchCriteria = s.searchCriteria;\r\n\t\t\tthis._pagingSorting = s.pagingSorting;\r\n\r\n\t\t\tif (this.school && s.searchResults) {\r\n\t\t\t\tthis.activeProgramTypes = s.searchResults.filter(sr => (sr.active as any) === 'Y').map(sr => sr.program).filter((p, i, self) => self.indexOf(p) === i);\r\n\t\t\t}\r\n });\r\n }\r\n\r\n ngOnChanges() {\r\n // If a teacher or school is specified, we want to treat the results\r\n // as an embedded version (in teacher details specifically)\r\n if (this.teacher != null) {\r\n this.embeddedVersion = true;\r\n // Load results based on specified teacher\r\n this._store.dispatch(new fromStore.GetResultsForTeacher(this.teacher, this._searchCriteria));\r\n }\r\n else if (this.school != null) {\r\n this.embeddedVersion = true;\r\n // Load results based on specified teacher\r\n this._store.dispatch(new fromStore.GetResultsForSchool(this.school, this._searchCriteria));\r\n }\r\n }\r\n\r\n nextPage() {\r\n console.log('ProgramSearchResultsComponent: nextPage().');\r\n\r\n // Run the search again with the new parameters\r\n this._store.dispatch(new fromStore.NextPage(this._searchCriteria, this._pagingSorting));\r\n }\r\n\r\n prevPage() {\r\n console.log('ProgramSearchResultsComponent: prevPage().');\r\n\r\n // Run the search again with the new parameters\r\n this._store.dispatch(new fromStore.PrevPage(this._searchCriteria, this._pagingSorting));\r\n }\r\n\r\n setPageSize(pageSize: number) {\r\n console.log('ProgramSearchResultsComponent: setPageSize().');\r\n\r\n // Run the search again with the new parameters\r\n this._store.dispatch(new fromStore.SetPageSize(pageSize, this._searchCriteria));\r\n }\r\n\r\n lastPage() {\r\n console.log('ProgramSearchResultsComponent: lastPage().');\r\n\r\n // Run the search again with the new parameters\r\n this._store.dispatch(new fromStore.LastPage(this._searchCriteria, this._pagingSorting));\r\n }\r\n\r\n firstPage() {\r\n console.log('ProgramSearchResultsComponent: firstPage().');\r\n\r\n // Run the search again with the new parameters\r\n this._store.dispatch(new fromStore.FirstPage(this._searchCriteria, this._pagingSorting));\r\n }\r\n\r\n sortBy(column: string) {\r\n console.log('ProgramSearchResultsComponent: sortBy().');\r\n\r\n // Run the search again with the new parameters\r\n this._store.dispatch(new fromStore.SortBy(column, this._searchCriteria, this._pagingSorting));\r\n }\r\n\r\n selectProgram(program: Number) {\r\n console.log(`selectProgram ${program}`);\r\n this._store.dispatch(new fromRoot.Go({\r\n path: [`programs/${program}`]\r\n }));\r\n }\r\n\r\n selectPreferenceSet(schoolId: Number) {\r\n // TODO: How do I navigate to a preference set?\r\n console.log(`selectPreferenceSet for ${schoolId}`);\r\n console.log('TODO: Need to implement preferences route.');\r\n //this._store.dispatch(new fromRoot.Go({\r\n // path: [`schools/${schoolId}/preferences`]\r\n //}));\r\n\t}\r\n\r\n\tcreateProgram() {\r\n\t\tconsole.log('ProgramSearchResultsComponent.createProgram()...');\r\n\r\n\t\t//\tIf the user is on the Teacher detail page, it would be preferable to deliver an error message on click of this button if the Teacher is inactive.\r\n\t\tif (this.teacher && !this.teacher.active) {\r\n\t\t\tthis._store.dispatch(new fromRoot.DisplayMessage({\r\n\t\t\t\tmessage: 'Only active Teachers may be associated with Programs.',\r\n\t\t\t\tmessageType: MessageType.alert,\r\n\t\t\t\ttoast: false,\r\n\t\t\t}));\r\n\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\t//\tIf the user is on the School detail page, it would be preferable to deliver an error message on click of this button if the School already has a Program for each Program Type.\r\n\t\tif (this.school && this.activeProgramTypes && this.activeProgramTypes.length >= 4) {\r\n\t\t\tthis._store.dispatch(new fromRoot.DisplayMessage({\r\n\t\t\t\tmessage: 'The School already has a Program for each Program Type.',\r\n\t\t\t\tmessageType: MessageType.alert,\r\n\t\t\t\ttoast: false,\r\n\t\t\t}));\r\n\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tthis.showModal = true;\r\n\t}\r\n\r\n\tcreateProgramClosed(created) {\r\n\t\tconsole.log('ProgramSearchResultsComponent.creatProgramClosed(): ', created);\r\n\t\tthis.showModal = false;\r\n\t}\r\n}\r\n","
\r\n\t

\r\n\t\tBack to Search\r\n\t

\r\n\t
\r\n\t\t
\r\n\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t

Programs

\r\n\t\t\t\t\t

Programs

\r\n\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t
\r\n\t\t
\r\n\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\tShowing {{(searchResultsState$ | async).pagingSorting.pageSize * ((searchResultsState$ | async).pagingSorting.currentPage - 1) + 1}} -\r\n\t\t\t\t\t{{(searchResultsState$ | async).pagingSorting.pageSize > (searchResultsState$ | async).pagingSorting.totalCount ? (searchResultsState$ | async).pagingSorting.totalCount : (searchResultsState$ | async).pagingSorting.pageSize * (searchResultsState$ | async).pagingSorting.currentPage}} of\r\n\t\t\t\t\t{{(searchResultsState$ | async).pagingSorting.totalCount}}\r\n\t\t\t\t
\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t
    \r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t\t{{ (searchResultsState$ | async).pagingSorting.currentPage <= 1 ? \"Previous\" : \"\" }}\r\n\t\t\t\t\t\t\t 1\" aria-label=\"Previous page\" (click)=\"prevPage()\">Previous page\r\n\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t\tYou are on page \r\n\t\t\t\t\t\t\t{{(searchResultsState$ | async).pagingSorting.currentPage}}\r\n\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t
  • of
  • \r\n\t\t\t\t\t\t
  • {{(searchResultsState$ | async).pagingSorting.totalPages}}
  • \r\n\t\t\t\t\t\t
  • = (searchResultsState$ | async).pagingSorting.totalPages\">\r\n\t\t\t\t\t\t\t{{ (searchResultsState$ | async).pagingSorting.currentPage >= (searchResultsState$ | async).pagingSorting.totalPages ? \"Next\" : \"\" }}\r\n\t\t\t\t\t\t\tNext page\r\n\t\t\t\t\t\t
  • \r\n\t\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t
\r\n\r\n\t\t
\r\n\t\t\t
\r\n\t\t
\r\n\r\n\t\t
\r\n\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\tRel. Mgr.\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\r\n\t\t\t
\r\n\t\t
\r\n\t\t
\r\n\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\tShowing {{(searchResultsState$ | async).pagingSorting.pageSize * ((searchResultsState$ | async).pagingSorting.currentPage - 1) + 1}} -\r\n\t\t\t\t\t{{(searchResultsState$ | async).pagingSorting.pageSize > (searchResultsState$ | async).pagingSorting.totalCount ? (searchResultsState$ | async).pagingSorting.totalCount : (searchResultsState$ | async).pagingSorting.pageSize * (searchResultsState$ | async).pagingSorting.currentPage}} of\r\n\t\t\t\t\t{{(searchResultsState$ | async).pagingSorting.totalCount}}\r\n\t\t\t\t
\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t
    \r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t\t{{ (searchResultsState$ | async).pagingSorting.currentPage <= 1 ? \"Previous\" : \"\" }}\r\n\t\t\t\t\t\t\t 1\" aria-label=\"Previous page\" (click)=\"prevPage()\">Previous page\r\n\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t\tYou are on page \r\n\t\t\t\t\t\t\t{{(searchResultsState$ | async).pagingSorting.currentPage}}\r\n\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t
  • of
  • \r\n\t\t\t\t\t\t
  • {{(searchResultsState$ | async).pagingSorting.totalPages}}
  • \r\n\t\t\t\t\t\t
  • = (searchResultsState$ | async).pagingSorting.totalPages\">\r\n\t\t\t\t\t\t\t{{ (searchResultsState$ | async).pagingSorting.currentPage >= (searchResultsState$ | async).pagingSorting.totalPages ? \"Next\" : \"\" }}\r\n\t\t\t\t\t\t\tNext page\r\n\t\t\t\t\t\t
  • \r\n\t\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t
\r\n\t
\r\n
\r\n\r\n\r\n","import * as fromComponents from './components';\r\nimport * as fromContainers from './containers';\r\nimport * as fromGuards from './guards';\r\nimport { reducers, effects } from './store';\r\n\r\nexport * from './components';\r\nexport * from './containers';\r\nexport * from './guards';\r\nexport * from './store';\r\n","import { Component, OnDestroy, OnInit } from '@angular/core';\r\nimport { select, Store } from '@ngrx/store';\r\nimport { Observable } from 'rxjs';\r\n\r\nimport { ShippingCharge, ShippingChargesCriteria } from '../models';\r\nimport { DistributionDetailsState, DistributionState } from '../store';\r\nimport { takeWhile } from 'rxjs/operators';\r\n\r\nimport * as fromStore from '../store';\r\n\r\n@Component({\r\n selector: 'opus-distribution-landing',\r\n templateUrl: './distribution-landing.component.html',\r\n})\r\nexport class DistributionLandingComponent implements OnInit, OnDestroy {\r\n private _alive = true;\r\n criteria: ShippingChargesCriteria;\r\n shippingCharges$: Observable\r\n vm: DistributionDetailsState;\r\n vm$: Observable;\r\n\r\n constructor(\r\n private store: Store\r\n ) {\r\n this.vm$ = this.store.pipe(select(fromStore.getDistributionDetailsState));\r\n this.shippingCharges$ = this.store.pipe(select(fromStore.getShippingCharges));\r\n }\r\n\r\n ngOnInit(): void {\r\n this.vm$.pipe(\r\n takeWhile(() => this._alive),\r\n ).subscribe(vm => {\r\n this.vm = vm;\r\n });\r\n \r\n this.shippingCharges$.pipe(\r\n takeWhile(() => this._alive)\r\n );\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this._alive = false;\r\n }\r\n\r\n onCriteriaChange(criteria: ShippingChargesCriteria) {\r\n this.criteria = criteria;\r\n this.store.dispatch(new fromStore.LoadShippingCharges(criteria));\r\n }\r\n}\r\n","\r\n
\r\n
\r\n
\r\n

Distribution

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n","import { Component, Input, OnInit, OnDestroy, OnChanges } from '@angular/core';\r\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\n\r\nimport { Observable } from 'rxjs';\r\nimport { takeWhile, tap, filter, first } from 'rxjs/operators';\r\n\r\nimport { select, Store } from '@ngrx/store';\r\n\r\nimport { Address } from '../../scp-common/models';\r\nimport { TeacherDetails } from '../models';\r\nimport * as fromStore from '../store';\r\nimport { states } from '../../scp-common/models/states';\r\n\r\n@Component({\r\n\tselector: 'opus-teacher-address-editor',\r\n\ttemplateUrl: './teacher-address-editor.component.html',\r\n})\r\nexport class TeacherAddressEditorComponent implements OnInit, OnDestroy, OnChanges {\r\n\t@Input() teacher: TeacherDetails;\r\n\r\n states: string[] = states;\r\n\talive = true;\r\n\tpanelState$: Observable;\r\n\tpanelState: fromStore.AddressPanelState;\r\n\tzipLookup: fromStore.ZipLookupState;\r\n\teditor: FormGroup;\r\n\tshowModal = false;\r\n\tenteredAddress: Address = null;\r\n\tsuggestedAddress: Address = null;\r\n\tcounties$: Observable;\r\n\r\n\tconstructor(private store: Store, private fb: FormBuilder) {\r\n\t\tconsole.log('TeacherAddressEditorComponent()...');\r\n\r\n\t\tthis.createForm();\r\n\t}\r\n\r\n\tngOnInit() {\r\n\t\tconsole.log('TeacherAddressEditorComponent.ngOnInit()');\r\n\r\n\t\t//\tsubscribe to state code changes\r\n\t\tthis.initCounties();\r\n\r\n\t\t//\tload up the counties for the current state\r\n\t\tconst stateCode = this.address.state;\r\n\t\tif (stateCode != '') {\r\n\t\t\tthis.store.dispatch(new fromStore.TeacherLoadCounties({ panel: this.panelId, stateCode }));\r\n\t\t}\r\n\r\n\t\tthis.counties$ = this.store.pipe(select(fromStore.getDetailsStateCounties));\r\n\r\n\t\tthis.panelState$ = this.store.pipe(select(fromStore.getDetailsStateMailAddrPanel));\r\n\t\tthis.panelState$.pipe(\r\n\t\t\ttakeWhile(() => this.alive),\r\n\t\t\ttap(s => {\r\n\t\t\t\tif (!s.editing && this.panelState && this.panelState.editing) {\r\n\t\t\t\t\tconsole.log('TeacherAddressEditorComponent.panelState$: clearing form...');\r\n\t\t\t\t\tthis.resetForm();\r\n\t\t\t\t}\r\n\t\t\t}),\r\n\t\t).subscribe(ps => {\r\n\t\t\tconsole.log('panelState$ sub: ', ps);\r\n\t\t\tthis.panelState = ps;\r\n\t\t\tthis.zipLookup = ps.zipLookup;\r\n\r\n\t\t\tconst zl = this.zipLookup;\r\n\t\t\tif (zl && zl.pending) {\r\n\t\t\t\tthis.editor.controls.addressCity.disable();\r\n\t\t\t\tthis.editor.controls.addressCounty.disable();\r\n\t\t\t\tthis.editor.controls.addressState.disable();\r\n\t\t\t\tthis.editor.controls.addressZipcode.disable();\r\n\t\t\t} else {\r\n\t\t\t\tthis.editor.controls.addressCity.enable();\r\n\t\t\t\tthis.editor.controls.addressCounty.enable();\r\n\t\t\t\tthis.editor.controls.addressState.enable();\r\n\t\t\t\tthis.editor.controls.addressZipcode.enable();\r\n\t\t\t}\r\n\r\n\t\t\tif (zl && zl.cityState != null) {\r\n\t\t\t\tthis.editor.controls['addressCity'].patchValue(zl.cityState.city);\r\n\t\t\t\tthis.editor.controls['addressState'].patchValue(zl.cityState.state);\r\n\r\n\t\t\t\tif (this.editor.controls.addressCity.value != this.address.city) {\r\n\t\t\t\t\tthis.editor.controls.addressCity.markAsDirty();\r\n\t\t\t\t}\r\n\r\n\t\t\t\tif (this.editor.controls.addressState.value != this.address.state) {\r\n\t\t\t\t\tthis.editor.controls.addressState.markAsDirty();\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n\r\n\tngOnDestroy() {\r\n\t\tconsole.log('TeacherAddressEditorComponent.ngOnDestroy()...');\r\n\t\tthis.alive = false;\r\n\t}\r\n\r\n\tngOnChanges() {\r\n\t\tthis.resetForm();\r\n\t}\r\n\r\n\tcreateForm() {\r\n\t\t//\tNOTE: FormBuilder.group will ignore the updateOn parameter when constructing the FormGroup\r\n\t\tthis.editor = this.fb.group({\r\n\t\t\taddressLine1: [''],\r\n\t\t\taddressLine2: [''],\r\n\t\t\taddressCity: [''],\r\n addressState: [''],\r\n addressZipcode: ['', Validators.compose([Validators.pattern(/^\\d{5}(?:-\\d{4})?$/), Validators.required])],\r\n\t\t\taddressCounty: [''],\r\n\t\t}/* NOTE: originally tried to do address verification as an async validator, but angular was ignoring the supplied updateOn='submit' even when using FormGroup instead of FormBuilder */);\r\n\t}\r\n\r\n\tinitCounties() {\r\n\t\tconsole.log('initCounties()...');\r\n\r\n\t\tthis.editor.get('addressState').valueChanges.pipe(\r\n\t\t\ttakeWhile(() => this.alive),\r\n\t\t).subscribe(stateCode => {\r\n\t\t\tconsole.log(`addressState.valueChanges: '${this.editor.value.addressState}' -> '${stateCode}'`);\r\n\r\n\t\t\tif (stateCode != '' && stateCode != this.editor.value.addressState) {\r\n\t\t\t\t//\tif the state is changed, we need to clear out the county so that the county dropdown will show the select option\r\n\t\t\t\t//\tif the state is changed back to the original state, however, set the county back to that of the original model\r\n\t\t\t\tthis.editor.controls['addressCounty'].patchValue(stateCode == this.address.state ? this.address.county : '');\r\n\r\n\t\t\t\tthis.store.dispatch(new fromStore.TeacherLoadCounties({ panel: this.panelId, stateCode }));\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n\r\n\tresetForm() {\r\n\t\tconsole.log('resetForm()...');\r\n\r\n\t\tconst address: Address = this.address;\r\n\t\tthis.editor.reset({\r\n\t\t\taddressLine1: address.line1,\r\n\t\t\taddressLine2: address.line2,\r\n\t\t\taddressCity: address.city,\r\n\t\t\taddressState: address.state,\r\n\t\t\taddressZipcode: address.zip,\r\n\t\t\taddressCounty: address.county || '',\r\n\t\t});\r\n\t}\r\n\r\n\tget panelId(): string {\r\n\t\treturn fromStore.PanelId.Address;\r\n\t}\r\n\r\n\tget address(): Address {\r\n\t\treturn this.teacher.mailingAddress;\r\n\t}\r\n\r\n\tget canSave(): boolean {\r\n\t\treturn this.editor.dirty && this.editor.valid;\r\n\t}\r\n\r\n\tget saveButtonLabel(): string {\r\n\t\treturn this.panelState.updating ? 'Saving...' : 'Save';\r\n\t}\r\n\r\n\tget inZipLookup(): boolean {\r\n\t\treturn this.zipLookup != null && this.zipLookup.pending;\r\n\t}\r\n\r\n\tget hasZipLookupError(): boolean {\r\n\t\tconst hasError = (this.editor.controls.addressZipcode.enabled && !this.editor.controls.addressZipcode.valid) || (this.zipLookup != null && this.zipLookup.errors != null);\r\n\r\n\t\treturn hasError;\r\n\t}\r\n\r\n\tget disableZipLookup(): boolean {\r\n\t\tconst zipCtrl = this.editor.controls.addressZipcode;\r\n\r\n\t\treturn zipCtrl.disabled || !zipCtrl.valid || this.inZipLookup;\r\n\t}\r\n\r\n\tonApplyZip() {\r\n\t\tconst zip = this.editor.value.addressZipcode;\r\n\r\n\t\tconsole.log('TeacherAddressEditorComponent.onApplyZipcode(): ', zip);\r\n\t\tthis.store.dispatch(new fromStore.TeacherAddressLookupCityState({ panel: this.panelId, zip }));\r\n\t}\r\n\r\n\tonModalAction(accept) {\r\n\t\tconsole.log(accept);\r\n\r\n\t\tthis.showModal = false;\r\n\r\n\t\tif (accept) {\r\n\t\t\tthis.update();\r\n\t\t}\r\n }\r\n\r\n onModalTertiaryAction(accept) {\r\n console.log(accept);\r\n\r\n this.showModal = false;\r\n\r\n if (accept) {\r\n // Clear out the suggested address so that update() will use the entered one\r\n this.suggestedAddress = null;\r\n this.update();\r\n }\r\n }\r\n\r\n\tupdate() {\r\n\t\tconsole.log('updating...');\r\n\r\n\t\t//\tsuggested address will normally be the address to use unless qas was unable to find a match. in this case, accepting the modal will use the entered address as is.\r\n\t\tconst mailingAddress = this.suggestedAddress || this.enteredAddress;\r\n\r\n\t\tconst teacher = {\r\n\t\t\t...this.teacher,\r\n\t\t\tmailingAddress,\r\n\t\t};\r\n\r\n\t\tconsole.log('update():', teacher);\r\n\t\tthis.store.dispatch(new fromStore.UpdateTeacherPanel({ panel: this.panelId, teacher }));\r\n\t}\r\n\r\n\tonSubmit() {\r\n\t\tconsole.log('onSubmit: ', this.editor.status);\r\n\r\n\t\t//\tApparently we're going to have to explicitly invoke the address validator since angular refuses to honor updateOn: 'submit' at the form gropup level\r\n\t\t//\tdispatch action to verify address\r\n\t\tconst address: Address = {\r\n\t\t\tline1: this.editor.value.addressLine1,\r\n\t\t\tline2: this.editor.value.addressLine2,\r\n\t\t\tcity: this.editor.value.addressCity,\r\n\t\t\tstate: this.editor.value.addressState,\r\n\t\t\tzip: this.editor.value.addressZipcode,\r\n\t\t\tcounty: this.editor.value.addressCounty,\r\n\t\t};\r\n\r\n\t\tthis.enteredAddress = address;\r\n\r\n\t\tthis.store.dispatch(new fromStore.TeacherVerifyAddress({ panel: this.panelId, address }));\r\n\r\n\t\t//\tobserve results in store\r\n\t\tthis.panelState$.pipe(\r\n\t\t\ttap(ps => console.log('onSubmit: ', ps)),\r\n\t\t\tfilter(ps => !(ps as fromStore.AddressPanelState).verifying),\r\n\t\t\tfirst(),\r\n\t\t\ttap(ps => console.log('onSubmit: ', ps)),\r\n\t\t).subscribe(ps => {\r\n\t\t\tconsole.log('subscribe: ', ps);\r\n\t\t\tconst verifiedAddress = (ps as fromStore.AddressPanelState).verifiedAddress;\r\n\r\n // If verified address didn't come back, make sure suggested stays null (so we don't use it later)\r\n this.suggestedAddress = verifiedAddress;\r\n if (this.suggestedAddress != null) {\r\n this.suggestedAddress = {\r\n ...verifiedAddress,\r\n county: this.editor.value.addressCounty,\r\n };\r\n }\r\n\r\n\t\t\t//\tif verified address is not identical to entered, or we got a picklist instead, show modal\r\n\t\t\tif (verifiedAddress !== null && this.compareAddresses(address, verifiedAddress)) {\r\n\t\t\t\tthis.update();\r\n\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\r\n\t\t\tthis.showModal = true;\r\n\t\t});\r\n\t}\r\n\r\n\tprivate compareAddresses(first: Address, second: Address): boolean {\r\n\t\treturn first.line1 == second.line1\r\n\t\t\t&& first.line2 == second.line2\r\n\t\t\t&& first.city == second.city\r\n\t\t\t&& first.state == second.state\r\n\t\t\t&& first.zip == second.zip;\r\n\t}\r\n}\r\n","
\r\n
\r\n
    \r\n
  • \r\n \r\n
    \r\n \r\n
    \r\n
  • \r\n
  • \r\n \r\n
    \r\n \r\n
    \r\n
  • \r\n
  • \r\n \r\n
    \r\n \r\n
    \r\n
  • \r\n
  • \r\n \r\n
    \r\n \r\n
    \r\n
  • \r\n
  • \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
      \r\n
    • Zip code is required and must be a sequence of 5 digits, optionally followed by a hyphen and an additional 4 digits.
    • \r\n
    • Unable to lookup city & state.
    • \r\n
    \r\n
    \r\n
  • \r\n
  • \r\n \r\n
    \r\n \r\n
    \r\n
  • \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n\r\n\r\n \r\n
\r\n
\r\n

Entered Address:

\r\n
\r\n
    \r\n
  • \r\n
    Address Line 1
    \r\n
    {{ enteredAddress.line1 }}
    \r\n
  • \r\n
  • \r\n
    Address Line 2
    \r\n
    {{ enteredAddress.line2 }}
    \r\n
  • \r\n
  • \r\n
    City, State Zip
    \r\n
    {{ enteredAddress.city }}, {{ enteredAddress.state }} {{ enteredAddress.zip }}
    \r\n
  • \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n

Suggested Address:

\r\n
\r\n
    \r\n
  • \r\n
    Address Line 1
    \r\n
    {{ suggestedAddress.line1 }}
    \r\n
  • \r\n
  • \r\n
    Address Line 2
    \r\n
    {{ suggestedAddress.line2 }}
    \r\n
  • \r\n
  • \r\n
    City, State Zip
    \r\n
    {{ suggestedAddress.city }}, {{ suggestedAddress.state }} {{ suggestedAddress.zip }}
    \r\n
  • \r\n
\r\n
\r\n
\r\n \r\n
    \r\n
  • The United states Postal Service is unable to locate this address.
  • \r\n
\r\n
\r\n
\r\n","import { HttpErrorResponse } from '@angular/common/http';\r\nimport { Action } from '@ngrx/store';\r\n\r\nimport { LocationManager, RentalCategory } from '../../models';\r\n\r\nexport enum ScpActionTypes {\r\n\tGetLocation = '[School] Get Location',\r\n\tGetLocationSuccess = '[School] Get Location Success',\r\n GetLocationFailure = '[School] Get Location Failure',\r\n GetRentalCategories = '[RentalCategory] Get Rental Category',\r\n GetRentalCategoriesSuccess = '[RentalCategory] Get Rental Category Success',\r\n GetRentalCategoriesFailure = '[RentalCategory] Get Rental Category Failure',\r\n GetManagersByName = '[School] Get Managers By Name',\r\n GetManagersByNameSuccess = '[School] Get Managers By Name Success',\r\n GetManagersByNameFailure = '[School] Get Managers By Name Failure',\r\n}\r\n\r\nexport class GetLocation implements Action {\r\n\treadonly type = ScpActionTypes.GetLocation;\r\n\tconstructor(public payload: { code: number }) { }\r\n}\r\n\r\nexport class GetLocationSuccess implements Action {\r\n\treadonly type = ScpActionTypes.GetLocationSuccess;\r\n\tconstructor(public payload: { code: number, manager: LocationManager }) { }\r\n}\r\n\r\nexport class GetLocationFailure implements Action {\r\n\treadonly type = ScpActionTypes.GetLocationFailure;\r\n\tconstructor(public payload: { code: number, error: any }) { }\r\n}\r\n\r\nexport class GetRentalCategories implements Action {\r\n readonly type = ScpActionTypes.GetRentalCategories;\r\n constructor() { }\r\n}\r\n\r\nexport class GetRentalCategoriesSuccess implements Action {\r\n readonly type = ScpActionTypes.GetRentalCategoriesSuccess;\r\n constructor(public payload: { rentalCategories: RentalCategory[] }) { }\r\n}\r\n\r\nexport class GetRentalCategoriesFailure implements Action {\r\n readonly type = ScpActionTypes.GetRentalCategoriesFailure;\r\n constructor(public payload: { error: HttpErrorResponse }) { }\r\n}\r\n\r\nexport class GetManagersByName implements Action {\r\n readonly type = ScpActionTypes.GetManagersByName;\r\n constructor(public payload: { name: string }) { }\r\n}\r\n\r\nexport class GetManagersByNameSuccess implements Action {\r\n readonly type = ScpActionTypes.GetManagersByNameSuccess;\r\n constructor(public payload: { managers: LocationManager[] }) { }\r\n}\r\n\r\nexport class GetManagersByNameFailure implements Action {\r\n readonly type = ScpActionTypes.GetManagersByNameFailure;\r\n constructor(public payload: { errors: any }) { }\r\n}\r\n\r\n\r\nexport type ScpActions =\r\n\t| GetLocation\r\n\t| GetLocationSuccess\r\n | GetLocationFailure\r\n | GetRentalCategories\r\n | GetRentalCategoriesSuccess\r\n | GetRentalCategoriesFailure\r\n | GetManagersByName\r\n | GetManagersByNameSuccess\r\n | GetManagersByNameFailure;\r\n","import { Component, OnInit, OnDestroy, AfterViewInit } from '@angular/core';\r\nimport { FormBuilder, FormControl, FormGroup, Validators, AbstractControl, ValidatorFn } from '@angular/forms';\r\n\r\nimport { BsDatepickerConfig } from 'ngx-bootstrap/datepicker';\r\n\r\nimport { Observable } from 'rxjs';\r\nimport { takeWhile, tap } from 'rxjs/operators';\r\n\r\nimport { select, Store } from '@ngrx/store';\r\n\r\nimport { Event } from '../models';\r\nimport * as fromStore from '../store';\r\nimport * as moment from 'moment';\r\nimport { ValidateCurrentDateOrLater } from '../event.validators';\r\n\r\nconst DATE_REGEX = new RegExp(/^(\\d{2}|\\d)\\/(\\d{2}|\\d)\\/\\d{4}$/);\r\nconst TIME_REGEX = new RegExp(/^((1[0-2]|0?[1-9]):([0-5][0-9]) ([AaPp][Mm]))$/);\r\n\r\n@Component({\r\n selector: 'event-date-time-editor',\r\n templateUrl: './event-date-time-editor.component.html'\r\n})\r\nexport class EventDateTimeEditorComponent implements OnInit, OnDestroy, AfterViewInit {\r\n bsConfig: Partial = { containerClass: 'theme-dark-blue' };\r\n maxDate = new Date('9999-12-31');\r\n alive = true;\r\n event$: Observable;\r\n event: Event;\r\n panelState$: Observable;\r\n panelState: fromStore.PanelState;\r\n editor: FormGroup;\r\n\r\n constructor(private formBuilder: FormBuilder, private store: Store, private fb: FormBuilder) {\r\n console.log('EventInfoEditorComponent()...');\r\n }\r\n\r\n ngOnInit() {\r\n console.log('EventInfoEditorComponent.ngOnInit()...');\r\n\r\n this.event$ = this.store.pipe(select(fromStore.getDetailsStateEvent));\r\n this.event$.pipe(takeWhile(() => this.alive)).subscribe(d => (this.event = d));\r\n\r\n this.panelState$ = this.store.pipe(select(fromStore.getDetailsStateEventDateTimePanel));\r\n this.panelState$\r\n .pipe(\r\n takeWhile(() => this.alive),\r\n tap(s => {\r\n if (!s.editing && this.panelState && this.panelState.editing) {\r\n this.resetForm();\r\n }\r\n })\r\n )\r\n .subscribe(s => (this.panelState = s));\r\n\r\n this.createForm();\r\n }\r\n\r\n ngAfterViewInit() { }\r\n\r\n get canSave(): boolean {\r\n return this.editor.valid && this.editor.dirty && !this.panelState.updating;\r\n }\r\n\r\n ngOnDestroy() {\r\n this.alive = false;\r\n }\r\n\r\n createForm() {\r\n const startDate = new Date(this.event.start);\r\n\r\n const eventStartDate = new FormControl(startDate, [Validators.required, ValidateCurrentDateOrLater]);\r\n this.editor = this.formBuilder.group(\r\n {\r\n eventStartDate: eventStartDate,\r\n eventArrivalTime: new FormControl(this.event.arrival),\r\n eventStartTime: new FormControl(this.event.start, [Validators.required]),\r\n eventEndTime: new FormControl(this.event.end, [Validators.required])\r\n },\r\n { validator: TimeAfterValidator('eventStartTime', 'eventEndTime') }\r\n );\r\n }\r\n\r\n resetForm() { }\r\n\r\n onSubmit() {\r\n const startDate = this.editor.value.eventStartDate;\r\n const arrivalTime = this.editor.value.eventArrivalTime;\r\n const startTime = this.editor.value.eventStartTime;\r\n const endTime = this.editor.value.eventEndTime;\r\n\r\n const startDateMoment = moment(startDate);\r\n const startDateString = startDateMoment.format('YYYY-MM-DD');\r\n\r\n const startDateTime = moment(startDateString + 'T' + startTime + ':00');\r\n const endDateTime = moment(startDateString + 'T' + endTime + ':00');\r\n\r\n // NOTE(collin): we must add the timezone offset to the local datetime\r\n // so that when it coverts to ISO-8601 using UTC +00:00 it is actually local time\r\n const timezoneOffset = startDateTime.utcOffset();\r\n startDateTime.add(timezoneOffset, 'minutes');\r\n endDateTime.add(timezoneOffset, 'minutes');\r\n\r\n let event: Event = {\r\n ...this.event,\r\n start: startDateTime.toDate(),\r\n end: endDateTime.toDate()\r\n };\r\n\r\n if (arrivalTime) {\r\n const arrivalDateTime = moment(startDateString + 'T' + arrivalTime + ':00');\r\n arrivalDateTime.add(timezoneOffset, 'minutes');\r\n\r\n event = {\r\n ...event,\r\n arrival: arrivalDateTime.toDate()\r\n };\r\n } else {\r\n event = {\r\n ...event,\r\n arrival: null\r\n };\r\n }\r\n\r\n this.store.dispatch(new fromStore.UpdateEventPanel({ panel: fromStore.PanelId.EventDateTime, event }));\r\n }\r\n}\r\n\r\nexport function TimeAfterValidator(startKey: string, endKey: string): ValidatorFn {\r\n return (group: FormGroup): { [key: string]: any } => {\r\n const startControl = group.controls[startKey];\r\n const endControl = group.controls[endKey];\r\n\r\n const startDate = new Date(new Date().toDateString() + ' ' + startControl.value);\r\n const endDate = new Date(new Date().toDateString() + ' ' + endControl.value);\r\n\r\n const now = moment(startDate);\r\n\r\n if (now.isSameOrAfter(endDate)) {\r\n return { validTimeAfter: 'Some error' };\r\n }\r\n\r\n return {};\r\n };\r\n}\r\n\r\nexport function DateAfterValidator(afterDateKey: string): ValidatorFn {\r\n return (control: AbstractControl): { [key: string]: any } => {\r\n if (control && control.parent) {\r\n const afterDateControl = control.parent.controls[afterDateKey];\r\n\r\n const sourceDate = new Date(afterDateControl.value);\r\n const controlDate = new Date(control.value);\r\n\r\n const sourceMoment = moment(sourceDate);\r\n const controlMoment = moment(controlDate);\r\n\r\n if (!controlMoment.isAfter(sourceMoment)) {\r\n return { validDateAfter: true };\r\n }\r\n }\r\n return null;\r\n };\r\n}\r\n\r\nexport function MaxDateValidator(sourceKey: string, days: number): ValidatorFn {\r\n return (control: AbstractControl): { [key: string]: any } => {\r\n if (control && control.parent) {\r\n const sourceControl = control.parent.controls[sourceKey];\r\n\r\n const sourceDate = new Date(sourceControl.value + ' 00:00:00');\r\n const controlDate = new Date(control.value + ' 00:00:00');\r\n\r\n const sourceMoment = moment(sourceDate).add(days, 'days');\r\n const controlMoment = moment(controlDate);\r\n\r\n if (controlMoment.isAfter(sourceMoment)) {\r\n return { validMaxDate: true };\r\n }\r\n }\r\n return null;\r\n };\r\n}\r\n"," \r\n
\r\n
\r\n\r\n
    \r\n
  • \r\n \r\n
    \r\n \r\n
    \r\n
    Required
    \r\n
    Date must be today or later
    \r\n
    \r\n
    \r\n
  • \r\n
  • \r\n \r\n
    \r\n \r\n
    \r\n
  • \r\n
  • \r\n \r\n
    \r\n \r\n
    \r\n
    Required
    \r\n
    \r\n
    \r\n
  • \r\n
  • \r\n \r\n
    \r\n \r\n
    \r\n
    Required
    \r\n
    \r\n
    \r\n
    End time must be after the start time
    \r\n
    \r\n
    \r\n
  • \r\n
  • \r\n
    Quick Code Expiration Date
    \r\n
    {{ event.expirationDate | date:'M/d/yyyy' }}
    \r\n
  • \r\n
  • \r\n
    Time Zone
    \r\n
    {{ event.eventAtHostSchool ? event.hostingSchoolAddress.ianaTimeZoneId : event.eventAddress.ianaTimeZoneId }}
    \r\n
  • \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpErrorResponse } from '@angular/common/http';\r\n\r\nimport { of } from 'rxjs';\r\nimport { switchMap, map, catchError, withLatestFrom, tap } from 'rxjs/operators';\r\n\r\nimport { Store } from '@ngrx/store';\r\nimport { Actions, createEffect, ofType } from '@ngrx/effects';\r\n\r\nimport { Operation, compare } from 'fast-json-patch';\r\n\r\nimport { State } from '../../../../core/store';\r\nimport * as programDetailsActions from '../actions/program-details.action';\r\nimport * as fromServices from '../../../scp-common/services';\r\nimport * as fromSelectors from '../selectors';\r\nimport * as fromModels from '../../models';\r\nimport * as fromRoot from '../../../../core/store';\r\nimport { MessageType, ProblemDetails } from '../../../../core/models';\r\n\r\n@Injectable()\r\nexport class ProgramDetailsEffects {\r\n constructor(\r\n private actions$: Actions,\r\n private programService: fromServices.ProgramService,\r\n private teacherService: fromServices.TeacherService,\r\n private store$: Store,\r\n ) { }\r\n\r\n \r\n loadProgramDetails$ = createEffect(() => this.actions$.pipe(\r\n ofType(programDetailsActions.ProgramDetailsActionTypes.LoadProgramDetails),\r\n tap(a => {\r\n console.log('Entering loadProgramDetails$ Effect: ', a);\r\n }),\r\n switchMap((action: programDetailsActions.LoadProgramDetails) => this.programService.loadProgram(action.payload).pipe(\r\n tap(res => console.log(`programService.loadProgram( ${action.payload} ) returned: `, res)),\r\n map(program => new programDetailsActions.LoadProgramDetailsComplete(program)),\r\n catchError(error => of(new programDetailsActions.LoadProgramDetailsFailure(error.message))),\r\n )),\r\n tap(a => {\r\n console.log('Exiting loadProgramDetails$ Effect: ', a);\r\n }),\r\n ));\r\n\r\n \r\n updateProgramPanel$ = createEffect(() => this.actions$.pipe(\r\n ofType(programDetailsActions.ProgramDetailsActionTypes.UpdateProgramPanel),\r\n tap(a => {\r\n console.log('Entering updateProgramPanel$ Effect: ', a);\r\n }),\r\n //\tget the current value of the district from the store\r\n withLatestFrom(this.store$.select(fromSelectors.getProgramDetailsEntity)),\r\n //\tcreate a json patch by comparing the current district with the updated version\r\n //\ttypescript note: using array destructuring to pull the withLatestFrom output into individual parameters to map\r\n map(([action, program]: [programDetailsActions.UpdateProgramPanel, fromModels.ProgramDetails]) => {\r\n const patch = compare(program, action.payload.program);\r\n\r\n console.log('new program:', action.payload.program, 'current program:', program, 'patch:', patch);\r\n\r\n //\tthe district service needs the id & the json patch\r\n return { panel: action.payload.panel, program, patch };\r\n }),\r\n switchMap(({ panel, program, patch }: { panel: string, program: fromModels.ProgramDetails, patch: Operation[] }) => {\r\n if (patch.length == 0) {\r\n console.log('updateProgramPanel$ Effect: Skipping empty patch...');\r\n\r\n return of(new programDetailsActions.UpdateProgramPanelSuccess({ panel, program }));\r\n }\r\n\r\n console.log('updateProgramPanel$ Effect: Calling programService.patchProgram(', program.id, ', ', patch, ')...');\r\n\r\n return this.programService.patchProgram(program.id, patch).pipe(\r\n map(program => new programDetailsActions.UpdateProgramPanelSuccess({ panel, program })),\r\n //\tTODO: in the case of a bad request, we should really be grabbing the validation errors from the response body\r\n //\tHowever, since everything should already be validated client side, this is low priority.\r\n catchError(errors => {\r\n return of(new programDetailsActions.UpdateProgramPanelFailure({ panel, errors }));\r\n }),\r\n );\r\n }),\r\n tap(a => {\r\n console.log('Exiting updateProgramPanel$ Effect: ', a);\r\n }),\r\n ));\r\n\r\n \r\n updateProgramPanelFailure$ = createEffect(() => this.actions$.pipe(\r\n ofType(programDetailsActions.ProgramDetailsActionTypes.UpdateProgramPanelFailure),\r\n tap(a => {\r\n console.log('Entering updateProgramPanelFailure$ Effect: ', a);\r\n }),\r\n map((a: programDetailsActions.UpdateProgramPanelFailure) => {\r\n const { errors } = a.payload;\r\n\r\n //if (errors && errors.error) {\r\n //\tvar error = errors.error[0];\r\n //\treturn new fromRoot.DisplayMessage({\r\n //\t\tmessage: errors.error[Object.keys(errors.error)[0]],\r\n //\t\tmessageType: MessageType.alert,\r\n //\t\ttoast: false\r\n //\t});\r\n //} else {\r\n return new fromRoot.DisplayMessage({\r\n message: this.getErrorMessage(errors),\r\n messageType: MessageType.alert,\r\n toast: false,\r\n });\r\n //}\r\n })\r\n ));\r\n\r\n \r\n teacherLookupById$ = createEffect(() => this.actions$.pipe(\r\n ofType(programDetailsActions.ProgramDetailsActionTypes.TeacherLookupById),\r\n switchMap((action: programDetailsActions.TeacherLookupById) => {\r\n console.log('Teacher Lookup By ID Effect');\r\n\r\n return this.teacherService.lookupTeacherById(action.payload.teacherId).pipe(\r\n tap(d => {\r\n console.log('teacherLookupById$ returned:', d);\r\n }),\r\n map(teacherResult => {\r\n if (teacherResult === null) {\r\n return new programDetailsActions.TeacherLookupByIdFailure({ panel: action.payload.panel, errors: 'Teacher Not Found' });\r\n }\r\n\r\n return new programDetailsActions.TeacherLookupByIdSuccess({ panel: action.payload.panel, teacher: teacherResult });\r\n }),\r\n catchError(error => {\r\n return of(new programDetailsActions.TeacherLookupByIdFailure({ panel: action.payload.panel, errors: error }));\r\n }),\r\n );\r\n })\r\n ));\r\n\r\n \r\n teacherLookupByIdFailure$ = createEffect(() => this.actions$.pipe(\r\n ofType(programDetailsActions.ProgramDetailsActionTypes.TeacherLookupByIdFailure),\r\n tap(a => console.log('Entering teacherLookupByIdFailure$ Effect: ', a)),\r\n map((a: programDetailsActions.TeacherLookupByIdFailure) => {\r\n return new fromRoot.DisplayMessage({\r\n message: a.payload.errors.status == 404 ? 'Teacher Not Found' : this.getErrorMessage(a.payload.errors),\r\n messageType: MessageType.alert,\r\n toast: false,\r\n });\r\n }),\r\n tap(a => console.log('Exiting teacherLookupByIdFailure$ Effect: ', a)),\r\n ));\r\n\r\n \r\n teacherLookupByCriteria$ = createEffect(() => this.actions$.pipe(\r\n ofType(programDetailsActions.ProgramDetailsActionTypes.TeacherLookupByCriteria),\r\n switchMap((action: programDetailsActions.TeacherLookupByCriteria) => {\r\n console.log('Load Teacher Lookup By Criteria Effect');\r\n\r\n return this.teacherService.lookupTeacherByCriteria(action.payload.criteria).pipe(\r\n tap(d => {\r\n console.log('teacherLookupByCriteria$ returned:', d);\r\n }),\r\n map(teacherResult => {\r\n if (teacherResult === null) {\r\n return new programDetailsActions.TeacherLookupByCriteriaFailure({ panel: action.payload.panel, errors: 'Teacher Not Found' });\r\n }\r\n\r\n return new programDetailsActions.TeacherLookupByCriteriaSuccess({ panel: action.payload.panel, teachers: teacherResult });\r\n }),\r\n catchError(error => of(new programDetailsActions.TeacherLookupByCriteriaFailure(error)))\r\n );\r\n })\r\n ));\r\n\r\n private getErrorMessage(response: HttpErrorResponse): string {\r\n if (response.status === 400 && response.error) {\r\n try {\r\n const problemDetails = response.error as ProblemDetails;\r\n if (problemDetails) {\r\n const firstError = problemDetails.errors ? problemDetails.errors[Object.keys(problemDetails.errors)[0]] : null;\r\n if (firstError)\r\n return firstError;\r\n else if (problemDetails.title)\r\n return problemDetails.title;\r\n }\r\n }\r\n catch (ex) {\r\n console.warn(ex);\r\n }\r\n }\r\n\r\n return response.error ? response.error.message : response.message;\r\n }\r\n}\r\n","import { ActionReducerMap, createFeatureSelector } from '@ngrx/store';\r\n\r\nimport * as fromDetails from './details.reducer';\r\nimport * as fromSearchResults from './searchresults.reducer';\r\n\r\nexport interface DistrictsState {\r\n details: fromDetails.DetailsState;\r\n search: fromSearchResults.SearchResultsState;\r\n}\r\n\r\nexport const reducers: ActionReducerMap = {\r\n details: fromDetails.reducer,\r\n search: fromSearchResults.reducer\r\n};\r\n\r\nexport const getDistrictsState = createFeatureSelector('districts');\r\n\r\nexport { DetailsState, PanelState, PanelId, ValidationStatus, ZipLookupState, CountyLookupState, AddressPanelState, DistrictLookupsState, DistrictByNameLookupState, /*RelationshipManagerState*/ } from './details.reducer';\r\nexport { SearchResultsState } from './searchresults.reducer';\r\n","import { Injectable } from '@angular/core';\r\n\r\n@Injectable()\r\nexport class Configuration {\r\n public apiServer: string;\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { CanActivate, ActivatedRouteSnapshot } from '@angular/router';\r\n\r\nimport { Observable, of } from 'rxjs';\r\nimport { switchMap, catchError, tap, filter, map, take, mergeMap } from 'rxjs/operators';\r\n\r\nimport { select, Store } from '@ngrx/store';\r\n\r\nimport * as fromRoot from '../../../core/store';\r\nimport * as fromStore from '../store';\r\n\r\n@Injectable()\r\nexport class EventExistsGuard implements CanActivate {\r\n constructor(private _store: Store) {\r\n\t\tconsole.log('EventExistsGuard()...');\r\n }\r\n\r\n private _statusCode = 0;\r\n\r\n\tcanActivate(route: ActivatedRouteSnapshot): Observable {\r\n\t\t//\tget the id of the district we need to load from the route\r\n\t\tconst id = +route.paramMap.get('id');\r\n\t\t//\tcheck for a specific redirect route to use if the district isn't found\r\n\t\tlet redirectTo = !!route.data.redirectTo ? route.data.redirectTo : '/';\r\n\r\n console.log(`EventExistsGuard: canActivate called for Event id: ${id}...`);\r\n\r\n\t\t//\tthis will attempt to load the event by dispatching the appropriate action then either redirect or allow the activation\r\n\t\treturn this.checkStore(id).pipe(\r\n switchMap(found => {\r\n if (!found) {\r\n switch (this._statusCode) {\r\n case 401: {\r\n console.log(`EventExistsGuard: unauthorized request.`);\r\n redirectTo = '/401';\r\n break;\r\n }\r\n case 500: {\r\n console.log(`EventExistsGuard: checkStore returned: Unexpected Error.`);\r\n redirectTo = '/500';\r\n break;\r\n }\r\n default: {\r\n console.log(`EventExistsGuard: checkStore returned: Not Found.`);\r\n break;\r\n }\r\n }\r\n }\r\n else\r\n console.log(`EventExistsGuard: checkStore returned: Found.`);\r\n\r\n\t\t\t\treturn this.allowOrRedirect(found, redirectTo);\r\n\t\t\t}),\r\n\t\t\tcatchError(err => {\r\n\t\t\t\tconsole.log(`DistrictExistsGuard: activation failed for district ${id}. Error: `, err);\r\n\r\n\t\t\t\treturn this.allowOrRedirect(false, '/500');\r\n\t\t\t}),\r\n\t\t);\r\n\t}\r\n\r\n checkStore(id: number): Observable {\r\n\r\n return this._store.select(fromRoot.getUserAuthInfo).pipe(\r\n filter(x => !!x),\r\n mergeMap(x => {\r\n\r\n if (!x.policyCodes.has('Event.ViewDetails')) {\r\n this._statusCode = 401;\r\n return of(false);\r\n }\r\n\r\n //\tstart with the district details state...\r\n return this._store.pipe(\r\n select(fromStore.getEventsDetailsState),\r\n //\tif there aren't district details, or they are for a different district, dispatch an action to load the district\r\n tap(state => {\r\n if (state.errors && state.errors.status !== 404)\r\n this._statusCode = 500;\r\n else if ((state.event === null || state.event.id != id || !state.loaded) && !state.loading) {\r\n console.log(`DistrictExistsGuard: Loading event ${id}. Current Event Details state: `, state);\r\n this._store.dispatch(new fromStore.LoadEvent(id));\r\n this._store.dispatch(new fromStore.LoadRelationshipManagers({ id: id}));\r\n }\r\n }),\r\n //\twait for it to be in the loaded state for the district in question or for any errors\r\n filter(state => (state.loaded && state.event.id == id) || state.errors !== null),\r\n //\tmap it to a boolean observable\r\n map(state => state.loaded),\r\n //\tget the first result & complete\r\n take(1),\r\n );\r\n })\r\n );\r\n\r\n\r\n\t}\r\n\r\n\tallowOrRedirect(found: boolean, redirectTo: string): Observable {\r\n\t\tif (!found) {\r\n\t\t\tconsole.log(`Redirecting to '${redirectTo}'...`);\r\n\t\t\tthis._store.dispatch(new fromRoot.Go({ path: [redirectTo] }));\r\n\t\t}\r\n\r\n\t\treturn of(found);\r\n\t}\r\n}\r\n","import { Component, ChangeDetectionStrategy, OnInit } from '@angular/core';\r\nimport { Router, NavigationEnd } from '@angular/router';\r\nimport { EventTypes, OidcSecurityService, PublicEventsService } from 'angular-auth-oidc-client';\r\nimport { select, Store } from '@ngrx/store';\r\nimport { filter, map } from 'rxjs/operators';\r\n\r\n\r\n\r\nimport { SecurityState } from '../store';\r\nimport * as fromStore from '../store';\r\nimport { Observable } from 'rxjs';\r\n\r\n@Component({\r\n\tselector: 'opus-app',\r\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\r\n\ttemplateUrl: './app.component.html'\r\n})\r\nexport class AppComponent implements OnInit {\r\n constructor(private router: Router, \r\n public oidcSecurityService: OidcSecurityService, \r\n private _store: Store, \r\n private publicEventsService: PublicEventsService \r\n ) {\r\n this._store.dispatch(new fromStore.LoadRolePolicies({}));\r\n }\r\n\r\n ngOnInit() {\r\n this.publicEventsService\r\n .registerForEvents()\r\n .pipe(filter((notification) => notification.type === EventTypes.ConfigLoaded))\r\n .subscribe(() => {\r\n this._store.dispatch(new fromStore.OidcConfigLoaded())\r\n });\r\n\r\n this.oidcSecurityService.isAuthenticated$.subscribe((authenticated) => {\r\n this._store.dispatch(new fromStore.OidcAuthorizationResult(authenticated))\r\n });\r\n \r\n // When navigating to different routes, this code will force a scroll up to the top\r\n // of the page.\r\n this.shouldDisplayAdvancedSearch();\r\n\r\n this.router.events.subscribe((evt) => {\r\n if (!(evt instanceof NavigationEnd)) {\r\n return;\r\n }\r\n window.scrollTo(0, 0);\r\n });\r\n }\r\n\r\n login() {\r\n this.oidcSecurityService.authorize();\r\n }\r\n\r\n logout() {\r\n this.oidcSecurityService.logoff();\r\n }\r\n\r\n displayAdvancedSearch = false;\r\n\r\n // TODO: Advanced search not implemented yet, just return \"true\" for now to show the Quick Search\r\n shouldDisplayAdvancedSearch(): Observable {\r\n\r\n const policyMap = [\r\n { policyName: 'School.Search', route: 'search/schools' },\r\n { policyName: 'District.Search', route: 'search/districts' },\r\n { policyName: 'Teacher.Search', route: 'search/teachers' },\r\n ];\r\n\r\n return this._store.pipe(\r\n select(fromStore.getUserAuthInfo),\r\n filter(x => !!x),\r\n map(x => policyMap.every(y => x.policyCodes.has(y.policyName)))\r\n );\r\n\r\n }\r\n\r\n}\r\n","\r\n\t
\r\n\t\t
\r\n\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t\tOPUS\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t\t\r\n\t\t\t
\r\n\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t
\r\n\t
\r\n\t
\r\n\t\t
\r\n\t\t\t\r\n\t\t
\r\n\t
\r\n \r\n\r\n \r\n
","import { DistrictHeaderComponent } from './district-header.component';\r\nimport { DistrictInfoComponent } from './district-info.component';\r\nimport { DistrictRelationshipComponent } from './district-relationship.component';\r\nimport { DistrictAddressComponent } from './district-address.component';\r\nimport { DistrictContactsComponent } from './district-contacts.component';\r\nimport { DistrictCalendarComponent } from './district-calendar.component';\r\nimport { DistrictAddlDetailsComponent } from './district-addl-details.component';\r\n\r\nexport const detailsComponents: any[] = [\r\n\tDistrictHeaderComponent,\r\n\tDistrictInfoComponent,\r\n\tDistrictRelationshipComponent,\r\n\tDistrictAddressComponent,\r\n\tDistrictContactsComponent,\r\n\tDistrictCalendarComponent,\r\n\tDistrictAddlDetailsComponent,\r\n];\r\n\r\nexport * from './district-header.component';\r\nexport * from './district-info.component';\r\nexport * from './district-relationship.component';\r\nexport * from './district-address.component';\r\nexport * from './district-contacts.component';\r\nexport * from './district-calendar.component';\r\nexport * from './district-addl-details.component';\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpErrorResponse } from '@angular/common/http';\r\n\r\nimport { tap, switchMap, map, catchError, withLatestFrom } from 'rxjs/operators';\r\nimport { of } from 'rxjs';\r\n\r\nimport { select, Store } from '@ngrx/store';\r\nimport { Actions, createEffect, ofType } from '@ngrx/effects';\r\n\r\nimport { Operation, compare } from 'fast-json-patch';\r\n\r\nimport * as detailsActions from '../actions/details.actions';\r\nimport * as fromServices from '../../../scp-common/services';\r\nimport * as fromSelectors from '../selectors';\r\nimport * as fromModels from '../../models';\r\nimport { DetailsState } from '..';\r\n\r\nimport * as fromRoot from '../../../../core/store';\r\nimport { MessageType, ProblemDetails } from '../../../../core/models';\r\n\r\n@Injectable()\r\nexport class EventDetailsEffects {\r\n constructor(\r\n private actions$: Actions,\r\n private eventService: fromServices.EventService,\r\n private schoolService: fromServices.SchoolService,\r\n private teacherService: fromServices.TeacherService,\r\n private addressService: fromServices.AddressService,\r\n private store$: Store,\r\n ) { }\r\n\r\n \r\n loadDistrict$ = createEffect(() => this.actions$.pipe(\r\n ofType(detailsActions.EventActionTypes.LoadEvent),\r\n switchMap((action: detailsActions.LoadEvent) => {\r\n console.log('Load Event Effect');\r\n\r\n return this.eventService.loadEvent(action.payload).pipe(\r\n tap(d => {\r\n console.log('loadEvent returned:', d);\r\n }),\r\n map(event => {\r\n if (event === null) {\r\n return new detailsActions.LoadEventFailure('Event Not Found');\r\n }\r\n\r\n return new detailsActions.LoadEventSuccess(event);\r\n }),\r\n catchError(error => of(new detailsActions.LoadEventFailure(error)))\r\n );\r\n })\r\n ));\r\n\r\n \r\n loadApprovedPromos$ = createEffect(() => this.actions$.pipe(\r\n ofType(detailsActions.EventActionTypes.LoadApprovedPromos),\r\n switchMap((action: detailsActions.LoadApprovedPromos) => {\r\n console.log('Load Event Effect');\r\n\r\n return this.eventService.loadApprovedPromos().pipe(\r\n tap(d => {\r\n console.log('loadEvent returned:', d);\r\n }),\r\n map(approvedPromos => {\r\n if (event === null) {\r\n return new detailsActions.LoadApprovedPromosFailure('Unable to load event promotions');\r\n }\r\n\r\n return new detailsActions.LoadApprovedPromosSuccess(approvedPromos);\r\n }),\r\n catchError(error => of(new detailsActions.LoadApprovedPromosFailure(error)))\r\n );\r\n })\r\n ));\r\n\r\n \r\n loadRelationshipManagers$ = createEffect(() => this.actions$.pipe(\r\n ofType(detailsActions.EventActionTypes.LoadRelationshipManagers),\r\n switchMap((action: detailsActions.LoadRelationshipManagers) => {\r\n return this.eventService.loadRelationshipManagers(action.payload.id).pipe(\r\n map(relationshipManagers => {\r\n if (event === null) {\r\n return new detailsActions.LoadRelationshipManagersFailure({ errors: 'Unable to load event promotions' });\r\n }\r\n\r\n return new detailsActions.LoadRelationshipManagersSuccess({ id: action.payload.id, relationshipManagerEmails: relationshipManagers });\r\n }),\r\n catchError(error => of(new detailsActions.LoadRelationshipManagersFailure({ errors: error })))\r\n );\r\n })\r\n ));\r\n\r\n \r\n verifyAddress$ = createEffect(() => this.actions$.pipe(\r\n ofType(detailsActions.EventActionTypes.EventVerifyAddress),\r\n tap(a => console.log('Entering verifyAddress$ Effect: ', a)),\r\n switchMap((a: detailsActions.EventVerifyAddress) => {\r\n const { panel, address } = a.payload;\r\n\r\n return this.addressService.verifyAddress(address).pipe(\r\n map(verification => {\r\n return new detailsActions.EventVerifyAddressSuccess({ panel, verification });\r\n }),\r\n catchError(errors => of(new detailsActions.EventVerifyAddressFailure({ panel, address, errors })))\r\n );\r\n }),\r\n tap(a => console.log('Exiting verifyAddress$ Effect: ', a)),\r\n ));\r\n\r\n \r\n verifyAddressFailure$ = createEffect(() => this.actions$.pipe(\r\n ofType(detailsActions.EventActionTypes.EventVerifyAddressFailure),\r\n //tap(a => console.log('Entering verifyAddress$ Effect: ', a)),\r\n switchMap((a: detailsActions.EventVerifyAddressFailure) => {\r\n const { address, panel, errors } = a.payload;\r\n return of(new fromRoot.DisplayMessage({\r\n message: 'Address verification service is unavailable at this time.',\r\n messageType: MessageType.info,\r\n toast: true\r\n }));\r\n }),\r\n tap(a => console.log('Exiting verifyAddress$ Effect: ', a)),\r\n ));\r\n\r\n \r\n schoolLookupById$ = createEffect(() => this.actions$.pipe(\r\n ofType(detailsActions.EventActionTypes.SchoolLookupById),\r\n switchMap((action: detailsActions.SchoolLookupById) => {\r\n console.log('Load School Lookup By ID Effect');\r\n\r\n return this.schoolService.lookupSchoolById(action.payload.schoolId).pipe(\r\n tap(d => {\r\n console.log('schoolLookupById$ returned:', d);\r\n }),\r\n map(schoolResult => {\r\n if (schoolResult === null) {\r\n return new detailsActions.SchoolLookupByIdFailure({ panel: action.payload.panel, errors: 'School Not Found' });\r\n }\r\n\r\n return new detailsActions.SchoolLookupByIdSuccess({ panel: action.payload.panel, school: schoolResult });\r\n }),\r\n catchError(error => of(new detailsActions.SchoolLookupByIdFailure(error)))\r\n );\r\n })\r\n ));\r\n\r\n \r\n schoolLookupByName$ = createEffect(() => this.actions$.pipe(\r\n ofType(detailsActions.EventActionTypes.SchoolLookupByName),\r\n switchMap((action: detailsActions.SchoolLookupByName) => {\r\n console.log('Load School Lookup By ID Effect');\r\n\r\n return this.schoolService.lookupSchoolByName(action.payload.name).pipe(\r\n tap(d => {\r\n console.log('schoolLookupById$ returned:', d);\r\n }),\r\n map(schoolResult => {\r\n if (schoolResult === null) {\r\n return new detailsActions.SchoolLookupByNameFailure({ panel: action.payload.panel, errors: 'School Not Found' });\r\n }\r\n\r\n return new detailsActions.SchoolLookupByNameSuccess({ panel: action.payload.panel, schools: schoolResult });\r\n }),\r\n catchError(error => of(new detailsActions.SchoolLookupByNameFailure(error)))\r\n );\r\n })\r\n ));\r\n\r\n \r\n teacherLookupById$ = createEffect(() => this.actions$.pipe(\r\n ofType(detailsActions.EventActionTypes.TeacherLookupById),\r\n switchMap((action: detailsActions.TeacherLookupById) => {\r\n console.log('Load Teacher Lookup By ID Effect');\r\n\r\n return this.teacherService.lookupTeacherById(action.payload.teacherId).pipe(\r\n tap(d => {\r\n console.log('teacherLookupById$ returned:', d);\r\n }),\r\n map(teacherResult => {\r\n if (teacherResult === null) {\r\n return new detailsActions.TeacherLookupByIdFailure({ panel: action.payload.panel, errors: 'Teacher Not Found' });\r\n }\r\n\r\n return new detailsActions.TeacherLookupByIdSuccess({ panel: action.payload.panel, teacher: teacherResult });\r\n }),\r\n catchError(error => of(new detailsActions.TeacherLookupByIdFailure(error)))\r\n );\r\n })\r\n ));\r\n\r\n \r\n teacherLookupByCriteria$ = createEffect(() => this.actions$.pipe(\r\n ofType(detailsActions.EventActionTypes.TeacherLookupByCriteria),\r\n switchMap((action: detailsActions.TeacherLookupByCriteria) => {\r\n console.log('Load Teacher Lookup By Criteria Effect');\r\n\r\n return this.teacherService.lookupTeacherByCriteria(action.payload.criteria).pipe(\r\n tap(d => {\r\n console.log('teacherLookupByCriteria$ returned:', d);\r\n }),\r\n map(teacherResult => {\r\n if (teacherResult === null) {\r\n return new detailsActions.TeacherLookupByCriteriaFailure({ panel: action.payload.panel, errors: 'Teacher Not Found' });\r\n }\r\n\r\n return new detailsActions.TeacherLookupByNameSuccess({ panel: action.payload.panel, teachers: teacherResult });\r\n }),\r\n catchError(error => of(new detailsActions.TeacherLookupByCriteriaFailure(error)))\r\n );\r\n })\r\n ));\r\n\r\n //\tNOTE: seemed more appropriate to handle the json patch creation here than to send the 2 district objects int the service layer\r\n \r\n updateEventPanel$ = createEffect(() => this.actions$.pipe(\r\n ofType(detailsActions.EventActionTypes.UpdateEventPanel),\r\n tap(a => {\r\n console.log('updateEventPanel$ Effect');\r\n }),\r\n //\tget the current value of the event from the store\r\n withLatestFrom(this.store$.pipe(select(fromSelectors.getDetailsStateEvent))),\r\n //\tcreate a json patch by comparing the current event with the updated version\r\n //\ttypescript note: using array destructuring to pull the withLatestFrom output into individual parameters to map\r\n map(([action, event]: [detailsActions.UpdateEventPanel, fromModels.Event]) => {\r\n const patch = compare(event, action.payload.event);\r\n\r\n console.log('new event:', action.payload.event, 'current event:', event, 'patch:', patch);\r\n\r\n //\tthe event service needs the id & the json patch\r\n return { panel: action.payload.panel, event, patch };\r\n }),\r\n switchMap(({ panel, event, patch }: { panel: string, event: fromModels.Event, patch: Operation[] }) => {\r\n if (patch.length == 0) {\r\n console.log('updateEventPanel$ Effect: Skipping empty patch...');\r\n\r\n return of(new detailsActions.UpdateEventPanelSuccess({ panel, event }));\r\n }\r\n\r\n console.log('updateEventPanel$ Effect: Calling eventService.patchEvent(', event.id, ', ', patch, ')...');\r\n\r\n return this.eventService.patchEvent(event.id, patch).pipe(\r\n map(event => new detailsActions.UpdateEventPanelSuccess({ panel, event })),\r\n catchError(errors => {\r\n return of(new detailsActions.UpdateEventPanelFailure({ panel, errors }));\r\n }),\r\n );\r\n }),\r\n ));\r\n\r\n \r\n updateEventPanelFailure$ = createEffect(() => this.actions$.pipe(\r\n ofType(detailsActions.EventActionTypes.UpdateEventPanelFailure),\r\n tap(a => {\r\n console.log(a);\r\n console.log('updateEventPanel$ Effect');\r\n }),\r\n switchMap((a: detailsActions.UpdateEventPanelFailure) => {\r\n const httpErrorResponse = a.payload.errors;\r\n\r\n const message = this.getErrorMessage(httpErrorResponse) || 'Unhandled exception has occurred';\r\n return of(new fromRoot.DisplayMessage({\r\n message,\r\n messageType: MessageType.alert,\r\n toast: false\r\n }));\r\n })\r\n ));\r\n\r\n \r\n createEvent$ = createEffect(() => this.actions$.pipe(\r\n ofType(detailsActions.EventActionTypes.CreateEvent),\r\n switchMap((action: detailsActions.CreateEvent) => {\r\n console.log('CreateEvent Effect');\r\n\r\n return this.eventService.createEvent(action.payload.event).pipe(\r\n tap(d => {\r\n console.log('createEvent$ returned:', d);\r\n }),\r\n map(createEventResult => {\r\n if (createEventResult === null) {\r\n return new detailsActions.CreateEventFailure({ errors: 'Error creating event' });\r\n }\r\n\r\n return new detailsActions.CreateEventSuccess({ id: createEventResult });\r\n }),\r\n catchError(error => of(new detailsActions.CreateEventFailure({ errors: error })))\r\n );\r\n }),\r\n ));\r\n\r\n \r\n createEventFailure$ = createEffect(() => this.actions$.pipe(\r\n ofType(detailsActions.EventActionTypes.CreateEventFailure),\r\n tap(a => console.log('Entering createEventFailure$ Effect: ', a)),\r\n switchMap((action: detailsActions.CreateEventFailure) => {\r\n\r\n const httpErrorResponse = action.payload.errors;\r\n\r\n const message = this.getErrorMessage(httpErrorResponse) || 'Unhandled exception has occurred';\r\n return of(new fromRoot.DisplayMessage({\r\n message,\r\n messageType: MessageType.alert,\r\n toast: false\r\n }));\r\n }),\r\n tap(a => console.log('Exiting createEventFailure$ Effect: ', a)),\r\n ));\r\n\r\n \r\n copyEvent$ = createEffect(() => this.actions$.pipe(\r\n ofType(detailsActions.EventActionTypes.CopyEvent),\r\n switchMap((action: detailsActions.CopyEvent) => {\r\n const { id, name, date } = action.payload;\r\n\r\n return this.eventService.copyEvent(id, name, date).pipe(\r\n map(event => {\r\n if (event) {\r\n return new detailsActions.CopyEventSuccess({ event: event });\r\n }\r\n }),\r\n catchError(errors => {\r\n return of(new detailsActions.CopyEventFailure({ errors: errors }));\r\n })\r\n );\r\n })\r\n ));\r\n\r\n \r\n copyEventFailure$ = createEffect(() => this.actions$.pipe(\r\n ofType(detailsActions.EventActionTypes.CopyEventFailure),\r\n switchMap((a: detailsActions.CopyEventFailure) => {\r\n const httpErrorResponse = a.payload.errors;\r\n\r\n const message = this.getErrorMessage(httpErrorResponse) || 'Unhandled exception has occurred';\r\n return of(new fromRoot.DisplayMessage({\r\n message,\r\n messageType: MessageType.alert,\r\n toast: false\r\n }));\r\n }),\r\n ));\r\n\r\n \r\n downloadQrCodes$ = createEffect(() => this.actions$.pipe(\r\n ofType(detailsActions.EventActionTypes.DownloadQrCodes),\r\n switchMap((action: detailsActions.DownloadQrCodes) => {\r\n return this.eventService.getQrCodesFile(action.payload.id).pipe(\r\n map(success => {\r\n return new detailsActions.DownloadQrCodesSuccess({ id: action.payload.id });\r\n }),\r\n catchError(error => {\r\n return of(new detailsActions.DownloadQrCodesFailure(error));\r\n }),\r\n );\r\n })\r\n ));\r\n\r\n \r\n downloadQrCodesFailure$ = createEffect(() => this.actions$.pipe(\r\n ofType(detailsActions.EventActionTypes.DownloadQrCodesFailure),\r\n switchMap((action: detailsActions.DownloadQrCodesFailure) => {\r\n return of(new fromRoot.DisplayMessage({\r\n message: this.getErrorMessage(action.payload.error),\r\n messageType: MessageType.alert,\r\n toast: false,\r\n }));\r\n }),\r\n ));\r\n\r\n private getErrorMessage(response: HttpErrorResponse): string {\r\n if (response.status === 400 && response.error) {\r\n try {\r\n const problemDetails = response.error as ProblemDetails;\r\n if (problemDetails) {\r\n const firstError = problemDetails.errors ? problemDetails.errors[Object.keys(problemDetails.errors)[0]] : null;\r\n if (firstError)\r\n return firstError;\r\n else if (problemDetails.title)\r\n return problemDetails.title;\r\n }\r\n }\r\n catch (ex) {\r\n console.warn(ex);\r\n }\r\n }\r\n\r\n return response.error ? response.error.message : response.message;\r\n }\r\n}\r\n","import { Component, Input } from '@angular/core';\r\n\r\nimport { TeacherDetails } from '../../models';\r\nimport { SchoolType } from '../../../schools/models';\r\n\r\n@Component({\r\n\tselector: 'opus-teacher-additional',\r\n\ttemplateUrl: './teacher-additional.component.html',\r\n})\r\nexport class TeacherAdditionalComponent {\r\n\t@Input() teacher: TeacherDetails;\r\n\r\n get externalSystemId() {\r\n return this.teacher.externalSystemId;\r\n }\r\n\r\n get bio() {\r\n return this.teacher.bio;\r\n }\r\n\r\n get education() {\r\n return this.teacher.education;\r\n }\r\n\r\n get instruments() {\r\n return this.teacher.instruments;\r\n }\r\n\r\n}\r\n","
    \r\n
  • \r\n
    MTD ID
    \r\n
    {{ externalSystemId }}
    \r\n
  • \r\n
  • \r\n
    Biography
    \r\n
    {{ bio }}
    \r\n
  • \r\n
  • \r\n
    Education
    \r\n
    {{ education }}
    \r\n
  • \r\n
  • \r\n
    Instruments
    \r\n
    {{ instruments }}
    \r\n
  • \r\n
","import { Action } from '@ngrx/store';\r\nimport { NavigationExtras } from '@angular/router';\r\n\r\nexport const HOME = '[Router] Home';\r\nexport const GO = '[Router] Go';\r\nexport const BACK = '[Router] Back';\r\nexport const FORWARD = '[Router] Forward';\r\n\r\nexport class Go implements Action {\r\n\treadonly type = GO;\r\n\tconstructor(public payload: {\r\n\t\tpath: any[];\r\n\t\tquery?: object;\r\n\t\textras?: NavigationExtras;\r\n\t}) { }\r\n}\r\n\r\nexport class Home implements Action {\r\n readonly type = HOME;\r\n}\r\n\r\nexport class Back implements Action {\r\n\treadonly type = BACK;\r\n}\r\n\r\nexport class Forward implements Action {\r\n\treadonly type = FORWARD;\r\n}\r\n\r\nexport type Actions = Go | Back | Forward;\r\n","import { Injectable } from '@angular/core';\r\nimport { CanActivate, ActivatedRouteSnapshot, RouterStateSnapshot } from '@angular/router';\r\n\r\nimport { Observable } from 'rxjs';\r\nimport { tap, filter, take, map } from 'rxjs/operators';\r\n\r\n\r\nimport { Store } from '@ngrx/store';\r\n\r\nimport * as fromStore from '../store';\r\n\r\n@Injectable()\r\nexport class ProgramSearchResultsGuard implements CanActivate {\r\n private _url: string;\r\n\r\n constructor(private _store: Store) {\r\n console.log('ProgramSearchResultsGuard: constructor called.');\r\n }\r\n\r\n canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable {\r\n this._url = state.url;\r\n return this.checkStore();\r\n }\r\n\r\n checkStore(): Observable {\r\n // True if we've already processed query string in guard\r\n let processedQueryString = false;\r\n\r\n console.log('program-searchresults.guard - checkStore()');\r\n\r\n // TODO: Make forceReload smart enough to be false if the search criteria state matches the query.\r\n //var forceReload = true;\r\n\r\n // TODO: Need to wait here somehow until process query string calls LoadDistrictSearchResults and returns.\r\n //return of(true);\r\n\r\n // TODO: Check for API error (loaded false or err, etc.). Return false if an err.\r\n return this._store.select(fromStore.getProgramSearchState).pipe(\r\n tap(state => {\r\n //if ((!state.loaded && !state.loading && state.errors === null) || forceReload) {\r\n if (!processedQueryString) {\r\n // So we only do this dispatch once (TODO: Figure out a way for this \"tap\" to only happen once)\r\n processedQueryString = true;\r\n //forceReload = false;\r\n //this._store.dispatch(new fromStore.LoadDistrictSearchResults(splitted.length == 2 ? splitted[1] : \"\"));\r\n // Dispatch so that we process the incoming query string.\r\n this._store.dispatch(new fromStore.ProcessQueryString(this._url));\r\n }\r\n }),\r\n filter(state => state.loaded),\r\n map(state => state.loaded),\r\n\t\t\ttake(1),\r\n\t\t);\r\n }\r\n}\r\n","import { Component, Input, OnInit, OnDestroy, OnChanges } from '@angular/core';\r\nimport { FormBuilder, FormGroup, Validators, RequiredValidator } from '@angular/forms';\r\n\r\nimport { Observable } from 'rxjs';\r\nimport { takeWhile, tap } from 'rxjs/operators';\r\n\r\nimport { select, Store } from '@ngrx/store';\r\n\r\nimport { TeacherDetails } from '../models';\r\nimport * as fromStore from '../store';\r\nimport { PrefixLookup, SuffixLookup } from '../store/reducers/teacher-details.reducer';\r\n\r\n@Component({\r\n\tselector: 'opus-teacher-info-editor',\r\n\ttemplateUrl: './teacher-info-editor.component.html',\r\n})\r\nexport class TeacherInfoEditorComponent implements OnInit, OnDestroy, OnChanges {\r\n\t@Input() teacher: TeacherDetails;\r\n\r\n\talive = true;\r\n\tpanelState$: Observable;\r\n\tpanelState: fromStore.PanelState;\r\n\teditor: FormGroup;\r\n\r\n\tconstructor(private store: Store, private fb: FormBuilder) {\r\n\t\tconsole.log('TeacherInfoEditorComponent()...');\r\n\r\n\t\tthis.createForm();\r\n\t}\r\n\r\n\tngOnInit() {\r\n\t\tconsole.log('TeacherInfoEditorComponent.ngOnInit()');\r\n\r\n\t\tthis.panelState$ = this.store.pipe(select(fromStore.getDetailsStateInfoPanel));\r\n\t\tthis.panelState$.pipe(\r\n\t\t\ttakeWhile(() => this.alive),\r\n\t\t\ttap(s => {\r\n\t\t\t\tif (!s.editing && this.panelState && this.panelState.editing) {\r\n\t\t\t\t\tconsole.log('TeacherInfoEditorComponent.panelState$: clearing form...');\r\n\t\t\t\t\tthis.resetForm();\r\n\t\t\t\t}\r\n\t\t\t}),\r\n\t\t).subscribe(ps => {\r\n\t\t\tconsole.log('panelState$ sub: ', ps);\r\n\t\t\tthis.panelState = ps;\r\n\t\t});\r\n\t}\r\n\r\n\tngOnDestroy() {\r\n\t\tconsole.log('TeacherInfoEditorComponent.ngOnDestroy()...');\r\n\t\tthis.alive = false;\r\n\t}\r\n\r\n\tngOnChanges() {\r\n\t\tthis.resetForm();\r\n\t}\r\n\r\n createForm() {\r\n\t\tthis.editor = this.fb.group({\r\n\t\t\tactive: ['Yes'],\r\n inactiveReason: [0],\r\n duplicateTeacherId: [''],\r\n prefix: ['notset'],\r\n firstName: ['', Validators.required],\r\n lastName: ['', Validators.required],\r\n suffix: ['notset'],\r\n gender: ['', Validators.required],\r\n schoolType: ['notset', Validators.pattern(/^(?!.*notset).*$/)],\r\n\t\t});\r\n\t}\r\n\r\n\tresetForm() {\r\n\t\tconsole.log('resetForm()...');\r\n\r\n this.editor.reset({\r\n active: this.teacher.active,\r\n inactiveReason: this.teacher.inactiveReason == null ? 0 : this.teacher.inactiveReason,\r\n duplicateTeacherId: this.teacher.duplicateTeacherId,\r\n prefix: this.teacher.prefix == null ? 'notset' : this.teacher.prefix,\r\n firstName: this.teacher.firstName,\r\n lastName: this.teacher.lastName,\r\n suffix: this.teacher.suffix == null ? 'notset' : this.teacher.suffix,\r\n gender: this.teacher.gender,\r\n schoolType: this.teacher.schoolType == null ? 'notset' : this.teacher.schoolType\r\n\t\t});\r\n\t}\r\n\r\n get teacherId() {\r\n return this.teacher.id;\r\n }\r\n\r\n get panelId(): string {\r\n return fromStore.PanelId.Contact;\r\n\t}\r\n\r\n\tget canSave(): boolean {\r\n\t\treturn this.editor.dirty && this.editor.valid;\r\n\t}\r\n\r\n\tget saveButtonLabel(): string {\r\n\t\treturn this.panelState.updating ? 'Saving...' : 'Save';\r\n\t}\r\n\r\n onSubmit() {\r\n const teacher = { ...this.teacher };\r\n Object.keys(this.editor.value).forEach(key => {\r\n const value: any = this.editor.value[key] == 'notset' ? null : this.editor.value[key];\r\n teacher[key] = value;\r\n });\r\n\r\n teacher.name = (teacher.prefix != null ? PrefixLookup[teacher.prefix].name + ' ' : '')\r\n + teacher.firstName + ' ' + teacher.lastName\r\n + (teacher.suffix != null ? ' ' + SuffixLookup[teacher.suffix].name : '');\r\n\r\n // Make sure inactive reason is cleared out if active\r\n if (teacher.active) {\r\n teacher.inactiveReason = null;\r\n }\r\n\r\n this.store.dispatch(new fromStore.UpdateTeacherPanel({ panel: fromStore.PanelId.Info, teacher }));\r\n }\r\n}\r\n","
\r\n\t
\r\n
    \r\n
  • \r\n \r\n
    \r\n \r\n
    \r\n
  • \r\n
  • \r\n \r\n
    \r\n \r\n
    \r\n
  • \r\n
  • \r\n \r\n
    \r\n \r\n
    \r\n
  • \r\n
  • \r\n \r\n
    {{ teacherId }}
    \r\n
  • \r\n
  • \r\n \r\n
    \r\n \r\n
    \r\n
  • \r\n
  • \r\n \r\n
    \r\n \r\n
    \r\n
  • \r\n
  • \r\n \r\n
    \r\n \r\n
    \r\n
    Required
    \r\n
    \r\n
    \r\n
  • \r\n
  • \r\n \r\n
    \r\n \r\n
    \r\n
  • \r\n
  • \r\n \r\n
    \r\n \r\n
    \r\n
    Required
    \r\n
    \r\n
    \r\n
  • \r\n
  • \r\n \r\n
    \r\n \r\n
    \r\n
    Required
    \r\n
    \r\n
    \r\n
  • \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
","import { Component, OnInit, OnDestroy } from '@angular/core';\r\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\n\r\nimport { Observable } from 'rxjs';\r\nimport { takeWhile, tap } from 'rxjs/operators';\r\n\r\nimport { select, Store } from '@ngrx/store';\r\n\r\nimport { ProgramDetails } from '../models';\r\nimport * as fromStore from '../store';\r\n\r\n@Component({\r\n\tselector: 'opus-program-additional-editor',\r\n templateUrl: './program-additional-editor.component.html',\r\n})\r\nexport class ProgramAdditionalEditorComponent implements OnInit, OnDestroy {\r\n\talive = true;\r\n\tprogramDetails$: Observable;\r\n\tpanelState$: Observable;\r\n\tprogram: ProgramDetails;\r\n\tpanelState: fromStore.PanelState;\r\n\teditor: FormGroup;\r\n\r\n\tconstructor(private store: Store, private fb: FormBuilder) {\r\n\t\tconsole.log('ProgramInfoEditorComponent()...');\r\n\t}\r\n\r\n\tngOnInit() {\r\n\t\tconsole.log('ProgramInfoEditorComponent.ngOnInit()...');\r\n\r\n\t\tthis.programDetails$ = this.store.pipe(select(fromStore.getProgramDetailsEntity));\r\n\t\tthis.programDetails$.pipe(\r\n\t\t\ttakeWhile(() => this.alive)\r\n\t\t).subscribe(s => this.program = s);\r\n\r\n\t\tthis.panelState$ = this.store.pipe(select(fromStore.getDetailsStateAdditionalDetailsPanel));\r\n\t\tthis.panelState$.pipe(\r\n\t\t\ttakeWhile(() => this.alive),\r\n\t\t\ttap(s => {\r\n\t\t\t\tif (!s.editing && this.panelState && this.panelState.editing) {\r\n\t\t\t\t\tconsole.log('ProgramInfoEditorComponent.panelState$: clearing form...');\r\n\t\t\t\t\tthis.resetForm();\r\n\t\t\t\t}\r\n\t\t\t}),\r\n\t\t).subscribe(s => this.panelState = s);\r\n\r\n\t\tthis.createForm();\r\n\t}\r\n\r\n\tngOnDestroy() {\r\n\t\tconsole.log('ProgramInfoEditorComponent.ngOnDestroy()...');\r\n\t\tthis.alive = false;\r\n\t}\r\n\r\n\tcreateForm() {\r\n this.editor = this.fb.group({\r\n beginningGrade: [this.beginningGrade],\r\n numberBeginningGrade: [this.program.numberBeginningGrade, Validators.pattern('^[0-9]*$')],\r\n\t\t\tnumberBeginningMusicians: [this.program.numberBeginningMusicians, Validators.pattern('^[0-9]*$')],\r\n\t\t\tnumberSchoolInstruments: [this.program.numberSchoolInstruments, Validators.pattern('^[0-9]*$')],\r\n\t\t});\r\n\t}\r\n\r\n\tresetForm() {\r\n\t\tthis.editor.reset({\r\n beginningGrade: this.beginningGrade,\r\n numberBeginningGrade: this.program.numberBeginningGrade,\r\n numberBeginningMusicians: this.program.numberBeginningMusicians,\r\n numberSchoolInstruments: this.program.numberSchoolInstruments,\r\n\t\t});\r\n }\r\n\r\n get beginningGrade() {\r\n if (this.program.beginningGrade == null) {\r\n return -1;\r\n }\r\n\r\n const value = Number.parseInt(this.program.beginningGrade);\r\n if (value == null || value < 0) {\r\n return -1;\r\n }\r\n else if (value > 12) {\r\n return 13; // College\r\n }\r\n\r\n return value;\r\n }\r\n\r\n\tget canSave(): boolean {\r\n\t\treturn this.editor.valid && this.editor.dirty;\r\n\t}\r\n\r\n\tget saveButtonLabel(): string {\r\n\t\treturn this.panelState.updating ? 'Saving...' : 'Save';\r\n\t}\r\n\r\n\tonSubmit() {\r\n\t\tconsole.log('onSubmit: ', this.editor.status, this.editor.value);\r\n\r\n\t\tconst program: ProgramDetails = {\r\n\t\t\t...this.program,\r\n beginningGrade: this.editor.value.beginningGrade,\r\n numberBeginningGrade: this.editor.value.numberBeginningGrade,\r\n numberBeginningMusicians: this.editor.value.numberBeginningMusicians,\r\n numberSchoolInstruments: this.editor.value.numberSchoolInstruments,\r\n\t\t};\r\n\r\n\t\tconsole.log('onSubmit: ', program);\r\n\r\n this.store.dispatch(new fromStore.UpdateProgramPanel({ panel: fromStore.PanelId.AdditionalDetails, program }));\r\n\t}\r\n}\r\n","
\r\n
\r\n\r\n
    \r\n
  • \r\n \r\n
    \r\n \r\n
    \r\n
  • \r\n\t\t
  • \r\n\t\t\t\r\n\t\t\t
    \r\n\t\t\t\t\r\n\t\t\t
    \r\n\t\t\t
      \r\n\t\t\t\t
    • Beginning Grade Student Count must be greater to or equal to zero, if provided.
    • \r\n\t\t\t
    \r\n\t\t
  • \r\n\t\t
  • \r\n\t\t\t\r\n\t\t\t
    \r\n\t\t\t\t\r\n\t\t\t
    \r\n\t\t\t
      \r\n\t\t\t\t
    • Beginning Grade Musician Count must be greater to or equal to zero, if provided.
    • \r\n\t\t\t
    \r\n\t\t
  • \r\n\t\t
  • \r\n\t\t\t\r\n\t\t\t
    \r\n\t\t\t\t\r\n\t\t\t
    \r\n\t\t\t
      \r\n\t\t\t\t
    • School Instrument Count must be greater to or equal to zero, if provided.
    • \r\n\t\t\t
    \r\n\t\t
  • \r\n
\r\n\r\n
    \r\n
  • Server error
  • \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n","export * from './reducers';\r\nexport * from './actions';\r\nexport * from './effects';\r\nexport * from './selectors';\r\n","export * from './prefs.actions';\r\n","import { Action } from '@ngrx/store';\r\n\r\nimport { SchoolSearchResultsItem, SchoolSearchCriteria, SchoolPagingSorting } from '../../models';\r\nimport { HttpHeaders } from '@angular/common/http';\r\nimport { TeacherDetails } from '../../../teachers/models';\r\nimport { District } from '../../../districts/models';\r\n\r\nexport enum SchoolSearchResultsActionTypes {\r\n ProcessQueryString = '[SchoolSearchResults] Process Query String',\r\n\tLoadSchoolSearchResults = '[SchoolSearchResults] Load Search Results',\r\n LoadSchoolSearchResultsSuccess = '[SchoolSearchResults] Load School Success',\r\n LoadSchoolSearchResultsFailure = '[SchoolSearchResults] Load School Details Failure',\r\n UpdateEditorState = '[SchoolSearchResults] Update Editor State',\r\n UpdateSchoolInfo = '[SchoolSearchResults] Update School Info',\r\n UpdateSchoolInfoSuccess = '[SchoolSearchResults] Update School Info Success',\r\n UpdateSchoolInfoFailure = '[SchoolSearchResults] Update School Info Failure',\r\n NextPage = '[SchoolSearchResults] Next Page',\r\n PrevPage = '[SchoolSearchResults] Prev Page',\r\n SetPageSize = '[SchoolSearchResults] Set Page Size',\r\n LastPage = '[SchoolSearchResults] Last Page',\r\n FirstPage = '[SchoolSearchResults] First Page',\r\n SortBy = '[SchoolSearchResults] Sort By',\r\n GetResultsForTeacher = '[SchoolSearchResults] Get Results for Teacher',\r\n GetResultsForDistrict = '[SchoolSearchResults] Get Results for District',\r\n}\r\n\r\nexport class ProcessQueryString implements Action {\r\n readonly type = SchoolSearchResultsActionTypes.ProcessQueryString;\r\n constructor(public payload: string) { }\r\n}\r\n\r\nexport class LoadSchoolSearchResults implements Action {\r\n readonly type = SchoolSearchResultsActionTypes.LoadSchoolSearchResults;\r\n constructor(public payload: SchoolSearchCriteria) { }\r\n}\r\n\r\nexport class LoadSchoolSearchResultsSuccess implements Action {\r\n readonly type = SchoolSearchResultsActionTypes.LoadSchoolSearchResultsSuccess;\r\n constructor(public payload: SchoolSearchResultsItem[], public httpHeaders: HttpHeaders) { }\r\n}\r\n\r\nexport class LoadSchoolSearchResultsFailure implements Action {\r\n readonly type = SchoolSearchResultsActionTypes.LoadSchoolSearchResultsFailure;\r\n\tconstructor(public payload: any) { }\r\n}\r\n\r\nexport class NextPage implements Action {\r\n readonly type = SchoolSearchResultsActionTypes.NextPage;\r\n constructor(public payload: SchoolSearchCriteria, public pagingSorting: SchoolPagingSorting) { }\r\n}\r\n\r\nexport class PrevPage implements Action {\r\n readonly type = SchoolSearchResultsActionTypes.PrevPage;\r\n constructor(public payload: SchoolSearchCriteria, public pagingSorting: SchoolPagingSorting) { }\r\n}\r\n\r\nexport class SetPageSize implements Action {\r\n readonly type = SchoolSearchResultsActionTypes.SetPageSize;\r\n constructor(public payload: number, public searchCriteria: SchoolSearchCriteria, ) { }\r\n}\r\n\r\nexport class LastPage implements Action {\r\n readonly type = SchoolSearchResultsActionTypes.LastPage;\r\n constructor(public payload: SchoolSearchCriteria, public pagingSorting: SchoolPagingSorting) { }\r\n}\r\n\r\nexport class FirstPage implements Action {\r\n readonly type = SchoolSearchResultsActionTypes.FirstPage;\r\n constructor(public payload: SchoolSearchCriteria, public pagingSorting: SchoolPagingSorting) { }\r\n}\r\n\r\nexport class SortBy implements Action {\r\n readonly type = SchoolSearchResultsActionTypes.SortBy;\r\n constructor(public payload: string, public searchCriteria: SchoolSearchCriteria, public pagingSorting: SchoolPagingSorting) { }\r\n}\r\n\r\nexport class GetResultsForTeacher implements Action {\r\n readonly type = SchoolSearchResultsActionTypes.GetResultsForTeacher;\r\n constructor(public payload: TeacherDetails, public searchCriteria: SchoolSearchCriteria) { }\r\n}\r\n\r\nexport class GetResultsForDistrict implements Action {\r\n readonly type = SchoolSearchResultsActionTypes.GetResultsForDistrict;\r\n constructor(public payload: District, public searchCriteria: SchoolSearchCriteria) { }\r\n}\r\n\r\nexport type SchoolSearchResultsActions =\r\n | ProcessQueryString\r\n | LoadSchoolSearchResults\r\n | LoadSchoolSearchResultsSuccess\r\n | LoadSchoolSearchResultsFailure\r\n | NextPage\r\n | PrevPage\r\n | SetPageSize\r\n | LastPage\r\n | FirstPage\r\n | SortBy\r\n | GetResultsForTeacher\r\n | GetResultsForDistrict;\r\n","import { Injectable} from '@angular/core';\r\n\r\nimport { tap, switchMap, map, catchError, withLatestFrom } from 'rxjs/operators';\r\nimport { of } from 'rxjs';\r\n\r\nimport { select, Store } from '@ngrx/store';\r\nimport { Actions, createEffect, ofType } from '@ngrx/effects';\r\n\r\n\r\nimport * as securityActions from '../actions/security.actions';\r\nimport * as fromServices from '../../services';\r\nimport * as fromSelectors from '../selectors';\r\nimport * as fromReducer from '../reducers';\r\n\r\n@Injectable()\r\nexport class SecurityEffects {\r\n constructor(\r\n private actions$: Actions,\r\n private securityService: fromServices.SecurityService,\r\n private store$: Store,\r\n ) { }\r\n\r\n \r\n loadRolePolicies$ = createEffect(() => this.actions$.pipe(\r\n ofType(securityActions.SecurityActionTypes.LoadRolePolicies),\r\n withLatestFrom(this.store$.pipe(select(fromSelectors.getSecurityState))),\r\n map(([action, securityState]: [securityActions.LoadRolePolicies, fromReducer.SecurityState]) => {\r\n return [action, securityState];\r\n }),\r\n switchMap(([, securityState]: [securityActions.LoadRolePolicies, fromReducer.SecurityState]) => {\r\n console.log('Load Security Effect');\r\n\r\n if (securityState.rolePolicies != null) {\r\n return of(new securityActions.LoadRolePoliciesSuccess({ rolePolicies: securityState.rolePolicies }));\r\n }\r\n return this.securityService.getRolePolicies().pipe(\r\n tap(d => {\r\n console.log('loadRolePolicies returned:', d);\r\n }),\r\n map(rolePolicies => {\r\n if (rolePolicies === null) {\r\n return new securityActions.LoadRolePoliciesFailure('RolePolicies Not Found');\r\n }\r\n\r\n return new securityActions.LoadRolePoliciesSuccess({ rolePolicies: rolePolicies });\r\n }),\r\n catchError(error => of(new securityActions.LoadRolePoliciesFailure(error)))\r\n );\r\n })\r\n ));\r\n}\r\n","import { Component, OnInit, OnChanges, Input, SimpleChanges } from '@angular/core';\r\n\r\nimport { Observable } from 'rxjs';\r\n\r\nimport { select, Store } from '@ngrx/store';\r\n\r\nimport * as fromStore from '../store';\r\nimport { HistorySnapshot } from '../models';\r\n\r\n@Component({\r\n\tselector: 'opus-history-snapshot',\r\n\ttemplateUrl: './history-snapshot.component.html',\r\n})\r\nexport class HistorySnapshotComponent implements OnInit, OnChanges {\r\n\t@Input() contextName: string;\r\n\t@Input() contextId: number;\r\n\t@Input() scope = 'Details';\r\n\tsnapshotState$: Observable;\r\n\r\n\tconstructor(private store: Store) {\r\n\t\tconsole.log('HistorySnapshotComponent()...');\r\n\t}\r\n\r\n\tngOnInit() {\r\n\t\tconsole.log('HistorySnapshotComponent.ngOnInit()...');\r\n\r\n\t\tthis.snapshotState$ = this.store.pipe(select(fromStore.getHistorySnapshotState));\r\n\t\tthis.store.dispatch(new fromStore.LoadSnapshot({ contextName: this.contextName, contextId: this.contextId, scope: this.scope }));\r\n\t}\r\n\r\n\tngOnChanges(changes: SimpleChanges) {\r\n\t\tconsole.log('HistorySnapshotComponent.ngOnChanges(): ', changes);\r\n\r\n\t\tif (changes.contextId && !changes.contextId.firstChange) {\r\n\t\t\tthis.store.dispatch(new fromStore.LoadSnapshot({ contextName: this.contextName, contextId: this.contextId, scope: this.scope }));\r\n\t\t}\r\n\t}\r\n\r\n\tget historyLabel() {\r\n\t\t//const scope = this.contextName == 'preferencesets' ? 'Preferences' : 'Details';\r\n\r\n\t\treturn `View ${this.scope} History`;\r\n\t}\r\n}\r\n","
\r\n\t
\r\n\t\r\n\t\t\r\n\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t
Last Modified:
\r\n\t\t\t\t\t
{{ (snapshotState$ | async).data.timestamp | date:'EEE, MMMM d, y h:mm:ss a' }}
\r\n\t\t\t\t\t
User:
\r\n\t\t\t\t\t
{{ (snapshotState$ | async).data.displayName }}
\r\n\t\t\t\t
\r\n\t\t\t\t{{ historyLabel }}\r\n\t\t\t
\r\n\t\t
\r\n\t
\r\n\r\n\t\r\n\t\t
\r\n\t\t\t

No recent history.

\r\n\t\t
\r\n\t
\r\n\r\n\t\r\n\t\t
\r\n\t\t\t

Unable to load history snapshot:

\r\n\t\t\t
{{ (snapshotState$ | async).error.message }}
\r\n\t\t
\r\n\t
\r\n
","import { Component, Input, Output, EventEmitter, ViewChild, ElementRef, ChangeDetectorRef } from '@angular/core';\r\nimport { FormBuilder, FormControl, FormGroup, Validators } from '@angular/forms';\r\nimport { Observable } from 'rxjs';\r\nimport * as fromStore from '../store';\r\nimport { takeWhile } from 'rxjs/operators';\r\nimport * as fromDistrictModels from '../../districts/models';\r\nimport { select, Store } from '@ngrx/store';\r\nimport { TeacherCreate } from '../models';\r\nimport { SchoolDetails } from '../../schools/models';\r\nimport { District } from '../../districts/models';\r\n\r\ndeclare var $: any;\r\ndeclare var Foundation: any;\r\n\r\n@Component({\r\n selector: 'opus-teacher-create',\r\n templateUrl: './teacher-create.html',\r\n})\r\nexport class TeacherCreateComponent {\r\n @Input() school: SchoolDetails;\r\n @Input() district: District;\r\n\r\n @Input() visible: Boolean = false;\r\n @Output() action = new EventEmitter();\r\n\r\n @ViewChild('districtDropdown', {static: false})\r\n districtDropdown: ElementRef;\r\n\r\n districtFoundationDropdown: any;\r\n\r\n lookupDistrictId: number;\r\n districtLookup$: Observable;\r\n districtLookup: fromStore.DistrictLookupState;\r\n lookupDistrictName: string;\r\n districtByNameLookup$: Observable;\r\n districtByNameLookup: fromStore.DistrictByNameLookupState;\r\n\r\n editor: FormGroup;\r\n alive = true;\r\n submitted = false;\r\n hasSubmitted = false;\r\n pendingSubmit = false;\r\n districtApplied = false;\r\n\r\n constructor(private store: Store, private fb: FormBuilder, private ref: ChangeDetectorRef) {\r\n console.log('TeacherCreateComponent()...');\r\n }\r\n\r\n ngOnInit() {\r\n console.log('TeacherCreateComponent.ngOnInit()...');\r\n\r\n this.createForm();\r\n\r\n this.districtLookup$ = this.store.pipe(select(fromStore.getDetailsStateDistrictLookup));\r\n this.districtLookup$.pipe(\r\n takeWhile(() => this.alive)\r\n ).subscribe(districtLookup => {\r\n this.districtLookup = districtLookup;\r\n\r\n if (districtLookup && districtLookup.pending && districtLookup.districtId == this.lookupDistrictId) {\r\n this.editor.controls.districtName.disable();\r\n }\r\n else {\r\n this.editor.controls.districtName.enable();\r\n }\r\n\r\n if (districtLookup && !districtLookup.pending) {\r\n if (districtLookup.district) {\r\n this.districtApplied = true;\r\n this.editor.controls['districtName'].patchValue(districtLookup.district.longName);\r\n // Got affirmative from \"Apply\" for district, resubmit if apply was triggered from a submit\r\n if (this.pendingSubmit) {\r\n this.onModalAction(true);\r\n }\r\n }\r\n else {\r\n // District wasn't applied and there was some sort of error (show to user)\r\n this.districtApplied = false;\r\n this.editor.get('districtId').setErrors({ 'invalid': true });\r\n this.ref.detectChanges();\r\n }\r\n\r\n // Set this flag to false once we got a response back from \"Apply\"\r\n this.pendingSubmit = false;\r\n }\r\n });\r\n\r\n this.districtByNameLookup$ = this.store.pipe(select(fromStore.getDetailsStateDistrictByNameLookup));\r\n this.districtByNameLookup$.pipe(\r\n takeWhile(() => this.alive)\r\n ).subscribe(districtByNameLookup => {\r\n this.districtByNameLookup = districtByNameLookup;\r\n\r\n if (districtByNameLookup && districtByNameLookup.districts && districtByNameLookup.name == this.lookupDistrictName) {\r\n //Trigger the drop down\r\n if (!this.districtFoundationDropdown) {\r\n this.districtFoundationDropdown = new Foundation.Dropdown($(this.districtDropdown.nativeElement).first());\r\n }\r\n\r\n const native = $(this.districtDropdown.nativeElement).first();\r\n if (!native.hasClass('is-open'))\r\n native.foundation('open');\r\n this.ref.detectChanges();\r\n }\r\n });\r\n }\r\n\r\n ngOnDestroy() {\r\n console.log('TeacherInfoEditorComponent.ngOnDestroy()...');\r\n this.alive = false;\r\n\r\n if (this.districtFoundationDropdown != null) {\r\n this.districtFoundationDropdown.destroy();\r\n }\r\n this.districtFoundationDropdown = null;\r\n }\r\n\r\n createForm() {\r\n let districtName = '';\r\n let districtId = '';\r\n let schoolType = 'notset';\r\n let zip = '';\r\n\r\n // If we are creating a new teacher for the current school\r\n if (this.school != null) {\r\n schoolType = this.school.type.toString();\r\n if (this.school.districtId != null) {\r\n districtId = this.school.districtId.toString();\r\n }\r\n if (this.school.districtName != null) {\r\n districtName = this.school.districtName;\r\n }\r\n if (this.school.physicalAddress != null && this.school.physicalAddress.zip != null) {\r\n zip = this.school.physicalAddress.zip;\r\n }\r\n }\r\n else if (this.district != null) {\r\n districtId = this.district.id.toString();\r\n districtName = this.district.longName;\r\n if (this.district.physicalAddress != null && this.district.physicalAddress.zip != null) {\r\n zip = this.district.physicalAddress.zip;\r\n }\r\n }\r\n\r\n const emailValidator = Validators.pattern(/^.+?@.+?\\..+$/);\r\n\r\n this.editor = new FormGroup({\r\n prefix: new FormControl('notset'),\r\n firstName: new FormControl(''),\r\n lastName: new FormControl('', [Validators.required]),\r\n suffix: new FormControl('notset'),\r\n districtId: new FormControl(districtId),\r\n // TODO: Coudln't figure out how to use RequiredValidator with a select. Just check for non-empty value instead\r\n schoolType: new FormControl(schoolType, [Validators.pattern(/^(?!.*notset).*$/)]),\r\n zip: new FormControl(zip, [Validators.required, Validators.pattern(/^\\d{5}(?:-\\d{4})?$/)]),\r\n email: new FormControl('', [emailValidator]),\r\n districtName: new FormControl(districtName)\r\n });\r\n }\r\n\r\n lookupDistrict() {\r\n this.lookupDistrictId = Number(this.editor.value.districtId);\r\n\r\n //Dispatch an action called TeacherSchoolSearchById\r\n this.store.dispatch(new fromStore.DistrictLookupById({ panel: fromStore.PanelId.Info, districtId: this.lookupDistrictId }));\r\n }\r\n\r\n lookupDistrictByName($event: any) {\r\n $event.stopPropagation();\r\n $event.preventDefault();\r\n\r\n this.lookupDistrictName = this.editor.value.districtName;\r\n\r\n if ($event.code == 'Escape' || $event.code == 'Tab') {\r\n const native = $(this.districtDropdown.nativeElement).first();\r\n if (native.hasClass('is-open'))\r\n native.foundation('close');\r\n } else {\r\n if (this.lookupDistrictName && this.lookupDistrictName.length > 3) {\r\n //Dispatch an action called TeacherDistrictSearchById\r\n this.store.dispatch(new fromStore.DistrictLookupByName({ panel: fromStore.PanelId.Info, name: this.lookupDistrictName }));\r\n }\r\n }\r\n\r\n }\r\n\r\n selectDistrict(district: fromDistrictModels.DistrictLookup) {\r\n if (district) {\r\n this.editor.controls['districtName'].patchValue(district.longName);\r\n this.editor.controls['districtId'].patchValue(district.id);\r\n this.districtApplied = true;\r\n }\r\n }\r\n\r\n resetForm() {\r\n const native = $(this.districtDropdown.nativeElement).first();\r\n if (native.hasClass('is-open'))\r\n native.foundation('close');\r\n\r\n let districtName = '';\r\n let districtId = '';\r\n let schoolType = 'notset';\r\n let zip = '';\r\n\r\n // If we are creating a new teacher for the current school\r\n if (this.school != null) {\r\n schoolType = this.school.type.toString();\r\n if (this.school.districtId != null) {\r\n districtId = this.school.districtId.toString();\r\n }\r\n if (this.school.districtName != null) {\r\n districtName = this.school.districtName;\r\n }\r\n if (this.school.physicalAddress != null && this.school.physicalAddress.zip != null) {\r\n zip = this.school.physicalAddress.zip;\r\n }\r\n }\r\n else if (this.district != null) {\r\n districtId = this.district.id.toString();\r\n districtName = this.district.longName;\r\n if (this.district.physicalAddress != null && this.district.physicalAddress.zip != null) {\r\n zip = this.district.physicalAddress.zip;\r\n }\r\n }\r\n\r\n this.editor.reset({\r\n prefix: 'notset',\r\n firstName: '',\r\n lastName: '',\r\n suffix: 'notset',\r\n districtId: districtId,\r\n schoolType: schoolType,\r\n zip: zip,\r\n districtName: districtName\r\n });\r\n\r\n this.submitted = false;\r\n this.districtApplied = false;\r\n }\r\n\r\n selectTeacherType() {\r\n // Enable or disable validation for these form values based on teacher type\r\n if (this.editor.get('teacherType').value == 1) {\r\n this.editor.controls.rentalMeetingType.enable();\r\n this.editor.controls.rentalFulfillmentType.enable();\r\n }\r\n else {\r\n this.editor.controls.rentalMeetingType.disable();\r\n this.editor.controls.rentalFulfillmentType.disable();\r\n }\r\n }\r\n\r\n changeDistrictId() {\r\n // Reset \"invalid\" error if district id was changed by user (it'll get validated again when \"apply\" is pressed)\r\n this.editor.get('districtId').setErrors(null);\r\n this.districtApplied = false;\r\n }\r\n\r\n onModalAction(accept: boolean) {\r\n console.log(accept);\r\n //this.visible = false;\r\n\r\n // TODO: Do actual teacher creation here.\r\n if (accept) {\r\n this.submitted = true;\r\n\r\n if (!this.editor.valid) {\r\n // Form is not legit, don't submit!\r\n // Don't emit teacher to close the modal form\r\n return;\r\n }\r\n\r\n // If the districtId hasn't been applied and is not blank\r\n if (!this.districtApplied && this.editor.value.districtId.trim() != '') {\r\n // Set flag to perform resubmit\r\n this.pendingSubmit = true;\r\n // Automatically apply the district Id before we submit (in case it's invalid)\r\n this.lookupDistrict();\r\n // Response from lookupDistrict() will retrigger submit if district Id was applied.\r\n return;\r\n }\r\n\r\n const teacher: TeacherCreate = {\r\n prefix: this.editor.value.prefix == 'notset' ? null : this.editor.value.prefix,\r\n firstName: this.editor.value.firstName,\r\n lastName: this.editor.value.lastName,\r\n suffix: this.editor.value.suffix == 'notset' ? null : this.editor.value.suffix,\r\n districtId: this.editor.value.districtId,\r\n schoolType: this.editor.value.schoolType,\r\n zip: this.editor.value.zip,\r\n email: this.editor.value.email\r\n };\r\n\r\n this.store.dispatch(new fromStore.CreateTeacher({ teacher }));\r\n this.hasSubmitted = true;\r\n }\r\n\r\n // Reset the form in case we show it again.\r\n this.resetForm();\r\n\r\n // Tell our container we've finished with our teacher create modal.\r\n // TODO: We should pass true/false to emit below based on whether teacher was created or not.\r\n this.action.emit(accept);\r\n }\r\n}\r\n","\r\n
\r\n
\r\n
\r\n Teacher Name\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
Required
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n District\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
District ID not found
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n
    \r\n
  • \r\n \r\n
  • \r\n
\r\n
\r\n

\r\n Start typing the name of the district or search for the ID.\r\n

\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n
Required
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
Required and must be a valid zipcode.
\r\n
\r\n
\r\n
\r\n\r\n \r\n \r\n
\r\n
Invalid Email.
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpResponse } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\n\r\nimport { ConfigurationService } from '../../../core/services/ConfigurationService';\r\nimport { ConfigurationState } from '../../../core/store/reducers';\r\nimport { switchMap } from 'rxjs/operators';\r\nimport { Operation } from 'fast-json-patch';\r\n\r\nimport { SchoolDetails, RateAgreement, SchoolSearchResultsItem, SchoolLookup, NewSchool } from '../../schools/models';\r\n\r\n@Injectable()\r\nexport class SchoolService {\r\n constructor(private http: HttpClient, private configuration: ConfigurationService) { }\r\n\r\n\tloadSchool(schoolId: number): Observable {\r\n return this.configuration.config$.pipe(\r\n switchMap((c: ConfigurationState) => {\r\n return this.http.get(`${c.config.apiServer}api/schools/${schoolId}`);\r\n })\r\n );\r\n\t}\r\n\r\n lookupSchoolById(schoolId: number): Observable {\r\n return this.configuration.config$.pipe(\r\n switchMap((c: ConfigurationState) => {\r\n return this.http.get(`${c.config.apiServer}api/schools/lookup/${schoolId}`);\r\n })\r\n );\r\n }\r\n\r\n lookupSchoolByName(schoolName: string): Observable {\r\n return this.configuration.config$.pipe(\r\n switchMap((c: ConfigurationState) => {\r\n return this.http.get(`${c.config.apiServer}api/schools/search/lookup/${schoolName}`);\r\n })\r\n );\r\n }\r\n\r\n\tpatchSchool(id: number, patch: Operation[]): Observable {\r\n\t\treturn this.configuration.config$.pipe(\r\n\t\t\tswitchMap((c: ConfigurationState) => {\r\n\t\t\t\treturn this.http.patch(`${c.config.apiServer}api/schools/${id}`, patch);\r\n\t\t\t})\r\n\t\t);\r\n\t}\r\n\r\n\tupdateSchool(id: number, diff: Operation[]): Observable {\r\n return this.configuration.config$.pipe(\r\n switchMap((c: ConfigurationState) => {\r\n return this.http.patch(`${c.config.apiServer}api/schools/${id}`, diff);\r\n })\r\n );\r\n\t}\r\n\r\n\tgetRateAgreement(code: string): Observable {\r\n return this.configuration.config$.pipe(\r\n switchMap((c: ConfigurationState) => {\r\n return this.http.get(`${c.config.apiServer}api/rateagreement/code/${code}`);\r\n })\r\n );\r\n }\r\n\r\n\tsearchSchools(query: string): Observable> {\r\n\t\treturn this.configuration.config$.pipe(\r\n\t\t\tswitchMap((c: ConfigurationState) => {\r\n\t\t\t\treturn this.http.get(`${c.config.apiServer}api/schools?${query}`, { observe: 'response' });\r\n\t\t\t})\r\n\t\t);\r\n\t}\r\n\r\n\tcreateSchool(school: NewSchool): Observable {\r\n\t\treturn this.configuration.config$.pipe(\r\n\t\t\tswitchMap((c: ConfigurationState) => {\r\n\t\t\t\treturn this.http.post(`${c.config.apiServer}api/schools`, school);\r\n\t\t\t})\r\n\t\t);\r\n\t}\r\n\r\n\texists(id: number): Observable {\r\n\t\treturn this.configuration.config$.pipe(\r\n\t\t\tswitchMap((c: ConfigurationState) => {\r\n\t\t\t\treturn this.http.get(`${c.config.apiServer}api/schools/${id}/exists`);\r\n\t\t\t})\r\n\t\t);\r\n\t}\r\n\r\n\tcanDeactivate(id: number): Observable {\r\n\t\treturn this.configuration.config$.pipe(\r\n\t\t\tswitchMap((c: ConfigurationState) => {\r\n\t\t\t\treturn this.http.get(`${c.config.apiServer}api/schools/${id}/candeactivate`);\r\n\t\t\t})\r\n\t\t);\r\n\t}\r\n}\r\n","import { Component } from '@angular/core';\r\n\r\n@Component({\r\n\tselector: 'opus-layout',\r\n\ttemplate: ``,\r\n})\r\nexport class LayoutComponent { }\r\n","import { createSelector } from '@ngrx/store';\r\n\r\nimport * as fromFeature from '../reducers';\r\nimport * as fromDistrictSearchResults from '../reducers/searchresults.reducer';\r\n\r\nexport const getDistrictSearchState = createSelector(\r\n fromFeature.getDistrictsState,\r\n (state: fromFeature.DistrictsState) => state.search\r\n);\r\nexport const getDistrictSearchResultsState = createSelector(\r\n getDistrictSearchState,\r\n fromDistrictSearchResults.getDistrictSearchResults\r\n);\r\n/*\r\nexport const getDetailsStateDistrict = createSelector(\r\n\tgetDistrictDetailsState,\r\n\tfromDistrictDetails.getDetailsStateDistrict\r\n);\r\n\r\nexport const getDetailsStateLoaded = createSelector(\r\n\tgetDistrictDetailsState,\r\n\tfromDistrictDetails.getDetailsStateLoaded\r\n);\r\n\r\nexport const getDetailsStateLoading = createSelector(\r\n\tgetDistrictDetailsState,\r\n\tfromDistrictDetails.getDetailsStateLoading\r\n);\r\n\r\nexport const getDetailsStateInfoState = createSelector(\r\n\tgetDistrictDetailsState,\r\n\tfromDistrictDetails.getDetailsStateInfoState\r\n);\r\n\r\nexport const getDetailsStateErrors = createSelector(\r\n\tgetDistrictDetailsState,\r\n\tfromDistrictDetails.getDetailsStateErrors\r\n);\r\n\r\nexport const getDetailsRelationshipManagerState = createSelector(\r\n\tgetDistrictDetailsState,\r\n\tfromDistrictDetails.getDetailsStateRelationshipManagerState\r\n);\r\n*/\r\n","import { ValidationErrors } from '@angular/forms';\r\n\r\nimport { Action } from '@ngrx/store';\r\n\r\nimport { Address, AddressVerification } from '../../../scp-common/models';\r\nimport { TeacherDetails, TeacherCreate } from '../../models';\r\nimport { DistrictLookup } from '../../../districts/models';\r\n\r\nexport enum TeacherDetailsActionTypes {\r\n\tLoadTeacherDetails = '[Teacher] Load Teacher Details',\r\n\tLoadTeacherDetailsComplete = '[Teacher] Load Teacher Details Complete',\r\n\tLoadTeacherDetailsFailure = '[Teacher] Load Teacher Details Failure',\r\n\r\n TeacherLoadCounties = '[Teacher] Teacher Load Counties',\r\n TeacherLoadCountiesSuccess = '[Teacher] Teacher Load Counties Success',\r\n\r\n TeacherAddressLookupCityState = '[Teacher] Teacher Address Lookup CityState',\r\n TeacherAddressLookupCityStateSuccess = '[Teacher] Teacher Address Lookup CityState Success',\r\n TeacherAddressLookupCityStateFailure = '[Teacher] Teacher Address Lookup CityState Failure',\r\n\r\n TeacherVerifyAddress = '[Teacher] Teacher Verify Address',\r\n TeacherVerifyAddressSuccess = '[Teacher] Teacher Verify Address Success',\r\n\r\n DistrictLookupById = '[Teacher] Lookup District By Id',\r\n DistrictLookupByIdSuccess = '[Teacher] Lookup District By Id Success',\r\n DistrictLookupByIdFailure = '[Teacher] Lookup District By Id Failure',\r\n DistrictLookupByName = '[Teacher] Lookup District By Name',\r\n DistrictLookupByNameSuccess = '[Teacher] Lookup District By Name Success',\r\n DistrictLookupByNameFailure = '[Teacher] Lookup District By Name Failure',\r\n\r\n\tUpdateEditorState = '[Teacher] Update Editor State',\r\n\r\n\tUpdateTeacherPanel = '[Teacher] Update Teacher Panel',\r\n\tUpdateTeacherPanelSuccess = '[Teacher] Update Teacher Panel Success',\r\n UpdateTeacherPanelFailure = '[Teacher] Update Teacher Panel Failure',\r\n\r\n CreateTeacher = '[Teacher] Create Teacher',\r\n CreateTeacherSuccess = '[Teacher] Create Teacher Success',\r\n CreateTeacherFailure = '[Teacher] Create Teacher Failed',\r\n}\r\n\r\nexport class LoadTeacherDetails implements Action {\r\n\treadonly type = TeacherDetailsActionTypes.LoadTeacherDetails;\r\n\tconstructor(public payload: number) { }\r\n}\r\n\r\nexport class LoadTeacherDetailsComplete implements Action {\r\n\treadonly type = TeacherDetailsActionTypes.LoadTeacherDetailsComplete;\r\n\tconstructor(public payload: TeacherDetails) { }\r\n}\r\n\r\nexport class LoadTeacherDetailsFailure implements Action {\r\n\treadonly type = TeacherDetailsActionTypes.LoadTeacherDetailsFailure;\r\n\tconstructor(public payload: any) { }\r\n}\r\n\r\nexport class TeacherLoadCounties implements Action {\r\n readonly type = TeacherDetailsActionTypes.TeacherLoadCounties;\r\n constructor(public payload: { panel: string, stateCode: string }) { }\r\n}\r\n\r\nexport class TeacherLoadCountiesSuccess implements Action {\r\n readonly type = TeacherDetailsActionTypes.TeacherLoadCountiesSuccess;\r\n constructor(public payload: { panel: string, counties: string[] }) { }\r\n}\r\n\r\nexport class TeacherAddressLookupCityState implements Action {\r\n readonly type = TeacherDetailsActionTypes.TeacherAddressLookupCityState;\r\n constructor(public payload: { panel: string, zip: string }) { }\r\n}\r\n\r\nexport class TeacherAddressLookupCityStateSuccess implements Action {\r\n readonly type = TeacherDetailsActionTypes.TeacherAddressLookupCityStateSuccess;\r\n constructor(public payload: { panel: string, cityState: { city: string, state: string } }) { }\r\n}\r\n\r\nexport class TeacherAddressLookupCityStateFailure implements Action {\r\n readonly type = TeacherDetailsActionTypes.TeacherAddressLookupCityStateFailure;\r\n constructor(public payload: { panel: string, errors: any[] }) { }\r\n}\r\n\r\nexport class TeacherVerifyAddress implements Action {\r\n readonly type = TeacherDetailsActionTypes.TeacherVerifyAddress;\r\n constructor(public payload: { panel: string, address: Address }) { }\r\n}\r\n\r\nexport class TeacherVerifyAddressSuccess implements Action {\r\n readonly type = TeacherDetailsActionTypes.TeacherVerifyAddressSuccess;\r\n constructor(public payload: { panel: string, verification: AddressVerification }) { }\r\n}\r\n\r\nexport class DistrictLookupById implements Action {\r\n readonly type = TeacherDetailsActionTypes.DistrictLookupById;\r\n constructor(public payload: { panel: string, districtId: number }) { }\r\n}\r\n\r\nexport class DistrictLookupByIdSuccess implements Action {\r\n readonly type = TeacherDetailsActionTypes.DistrictLookupByIdSuccess;\r\n constructor(public payload: { panel: string, district: DistrictLookup }) { }\r\n}\r\n\r\nexport class DistrictLookupByIdFailure implements Action {\r\n readonly type = TeacherDetailsActionTypes.DistrictLookupByIdFailure;\r\n constructor(public payload: { panel: string, errors: any }) { }\r\n}\r\n\r\nexport class DistrictLookupByName implements Action {\r\n readonly type = TeacherDetailsActionTypes.DistrictLookupByName;\r\n constructor(public payload: { panel: string, name: string }) { }\r\n}\r\n\r\nexport class DistrictLookupByNameSuccess implements Action {\r\n readonly type = TeacherDetailsActionTypes.DistrictLookupByNameSuccess;\r\n constructor(public payload: { panel: string, districts: DistrictLookup[] }) { }\r\n}\r\n\r\nexport class DistrictLookupByNameFailure implements Action {\r\n readonly type = TeacherDetailsActionTypes.DistrictLookupByNameFailure;\r\n constructor(public payload: { panel: string, errors: any }) { }\r\n}\r\n\r\n\r\nexport class UpdateEditorState implements Action {\r\n\treadonly type = TeacherDetailsActionTypes.UpdateEditorState;\r\n\tconstructor(public payload: { key: string, open: boolean }) { }\r\n}\r\n\r\nexport class UpdateTeacherPanel implements Action {\r\n\treadonly type = TeacherDetailsActionTypes.UpdateTeacherPanel;\r\n\tconstructor(public payload: { panel: string, teacher: TeacherDetails }) { }\r\n}\r\n\r\nexport class UpdateTeacherPanelSuccess implements Action {\r\n\treadonly type = TeacherDetailsActionTypes.UpdateTeacherPanelSuccess;\r\n\tconstructor(public payload: { panel: string, teacher: TeacherDetails }) { }\r\n}\r\n\r\nexport class UpdateTeacherPanelFailure implements Action {\r\n\treadonly type = TeacherDetailsActionTypes.UpdateTeacherPanelFailure;\r\n\tconstructor(public payload: { panel: string, errors: any[] }) { }\r\n}\r\n\r\nexport class CreateTeacher implements Action {\r\n readonly type = TeacherDetailsActionTypes.CreateTeacher;\r\n constructor(public payload: { teacher: TeacherCreate }) { }\r\n}\r\n\r\nexport class CreateTeacherSuccess implements Action {\r\n readonly type = TeacherDetailsActionTypes.CreateTeacherSuccess;\r\n constructor(public payload: { id: number }) { }\r\n}\r\n\r\nexport class CreateTeacherFailure implements Action {\r\n readonly type = TeacherDetailsActionTypes.CreateTeacherFailure;\r\n constructor(public payload: { errors: any }) { }\r\n}\r\n\r\nexport type TeacherDetailsActions =\r\n\t| LoadTeacherDetails\r\n\t| LoadTeacherDetailsComplete\r\n\t| LoadTeacherDetailsFailure\r\n\t| TeacherLoadCounties\r\n\t| TeacherLoadCountiesSuccess\r\n\t| TeacherAddressLookupCityState\r\n\t| TeacherAddressLookupCityStateSuccess\r\n\t| TeacherAddressLookupCityStateFailure\r\n\t| TeacherVerifyAddress\r\n\t| TeacherVerifyAddressSuccess\r\n\t| DistrictLookupById\r\n\t| DistrictLookupByIdSuccess\r\n\t| DistrictLookupByIdFailure\r\n\t| DistrictLookupByName\r\n\t| DistrictLookupByNameSuccess\r\n\t| DistrictLookupByNameFailure\r\n\t| UpdateEditorState\r\n\t| UpdateTeacherPanel\r\n\t| UpdateTeacherPanelSuccess\r\n | UpdateTeacherPanelFailure\r\n | CreateTeacher\r\n | CreateTeacherSuccess\r\n | CreateTeacherFailure;\r\n\r\n","import { Injectable } from '@angular/core';\r\n\r\nimport { switchMap, map, catchError } from 'rxjs/operators';\r\nimport { of } from 'rxjs';\r\n\r\nimport { Actions, createEffect, ofType } from '@ngrx/effects';\r\n\r\nimport { MessageType, ProblemDetails } from '../../../core/models';\r\nimport * as fromRoot from '../../../core/store';\r\n\r\nimport * as fromActions from '../actions';\r\nimport * as fromModels from '../../models';\r\nimport * as fromServices from '../../services';\r\nimport { HttpErrorResponse } from '@angular/common/http';\r\n\r\n@Injectable()\r\nexport class DistributionEffects {\r\n\tconstructor(\r\n\t\tprivate actions$: Actions,\r\n\t\tprivate distributionService: fromServices.DistributionService\r\n\t) { }\r\n\r\n loadShippingCharges$ = createEffect(() => this.actions$.pipe(\r\n ofType(fromActions.DistributionActionTypes.LoadShippingCharges),\r\n\t\tswitchMap((action: fromActions.LoadShippingCharges) => {\r\n\t\t\tif (!action.payload.rentalCategoryCode && !action.payload.state)\r\n\t\t\t\treturn of(new fromActions.LoadShippingChargesSuccess([]));\r\n\r\n\t\t\treturn this.distributionService.getShippingCharges(action.payload).pipe(\r\n\t\t\t\tmap((results: fromModels.ShippingCharge[]) => {\r\n\t\t\t\t\treturn new fromActions.LoadShippingChargesSuccess(results);\r\n\t\t\t\t}),\r\n\t\t\t\tcatchError((res: HttpErrorResponse) => of(new fromActions.LoadShippingChargesFailure(res)))\r\n\t\t\t)\r\n\t\t})\r\n ))\r\n\r\n\tloadShippingChargesFailure$ = createEffect(() => this.actions$.pipe(\r\n\t\tofType(fromActions.DistributionActionTypes.LoadShippingChargesFailure),\r\n\t\tswitchMap((action: fromActions.LoadShippingChargesFailure) =>\r\n\t\t\tof(new fromRoot.DisplayMessage({\r\n\t\t\t\tmessage: this.getErrorMessage(action.payload),\r\n\t\t\t\tmessageType: MessageType.alert,\r\n\t\t\t\ttoast: false\r\n\t\t\t}))\r\n\t\t)\r\n\t))\r\n\r\n\tprivate getErrorMessage(response: HttpErrorResponse): string {\r\n\t\tif (response.status === 400 && response.error) {\r\n try {\r\n const problemDetails = response.error as ProblemDetails;\r\n if (problemDetails) {\r\n const firstError = problemDetails.errors ? problemDetails.errors[Object.keys(problemDetails.errors)[0]] : null;\r\n if (firstError)\r\n return firstError;\r\n else if (problemDetails.title)\r\n return problemDetails.title;\r\n }\r\n }\r\n catch (ex) {\r\n console.warn(ex);\r\n }\r\n }\r\n\r\n return response.error ? response.error.message : response.message;\r\n\t}\r\n}\r\n","export * from './program-details.selectors';\r\nexport * from './program-searchresults.selectors';\r\nexport * from './program-create.selectors';\r\n","import * as fromTeacherSearchResults from '../actions/teacher-searchresults.action';\r\nimport * as fromModels from '../../models';\r\nimport { HttpHeaders } from '@angular/common/http';\r\n\r\nexport interface SearchResultsState {\r\n searchResults: fromModels.TeacherSearchResultsItem[];\r\n searchCriteria: fromModels.TeacherSearchCriteria;\r\n pagingSorting: fromModels.TeacherPagingSorting;\r\n errors: any;\t//\tTODO: formalize error handling\r\n loading: boolean;\r\n loaded: boolean;\r\n}\r\n\r\nexport const initialState: SearchResultsState = {\r\n loading: false,\r\n loaded: false,\r\n searchResults: null,\r\n errors: null,\r\n searchCriteria: {\r\n id: null,\r\n name: null,\r\n districtName: null,\r\n county: null,\r\n state: null,\r\n zip: null,\r\n radius: null,\r\n phone: null,\r\n isActive: null,\r\n PageNumber: null,\r\n PageSize: null,\r\n SortBy: null,\r\n SortDir: null,\r\n schoolId: null,\r\n districtId: null,\r\n },\r\n pagingSorting: {\r\n totalCount: null,\r\n pageSize: null,\r\n currentPage: null,\r\n totalPages: null,\r\n sortBy: null,\r\n sortDir: null\r\n }\r\n};\r\n\r\nexport function reducer(state = initialState, action: fromTeacherSearchResults.TeacherSearchResultsActions): SearchResultsState {\r\n switch (action.type) {\r\n case fromTeacherSearchResults.TeacherSearchResultsActionTypes.ProcessQueryString: {\r\n console.log('ProcessQueryString');\r\n console.log(action.payload);\r\n\r\n return {\r\n ...state,\r\n loaded: false,\r\n loading: false,\r\n errors: null\r\n };\r\n }\r\n\r\n case fromTeacherSearchResults.TeacherSearchResultsActionTypes.LoadTeacherSearchResults: {\r\n console.log('LoadTeacherSearchResults');\r\n console.log(action.payload);\r\n\t\t\treturn {\r\n ...state,\r\n loaded: false,\r\n loading: true,\r\n errors: null,\r\n // Anytime we request search results, let's update the state to include that\r\n // most recent criteria that was just passed.\r\n searchCriteria: action.payload\r\n\t\t\t};\r\n\t\t}\r\n\r\n case fromTeacherSearchResults.TeacherSearchResultsActionTypes.LoadTeacherSearchResultsSuccess: {\r\n const searchResults = action.payload;\r\n const headers = action.httpHeaders;\r\n\r\n\t\t\treturn {\r\n ...updateTeacherSearchResultsState(state, searchResults, headers),\r\n\t\t\t\tloaded: true,\r\n loading: false\r\n\t\t\t};\r\n\t\t}\r\n\r\n case fromTeacherSearchResults.TeacherSearchResultsActionTypes.LoadTeacherSearchResultsFailure: {\r\n\t\t\tconsole.log('reducer:', action);\r\n\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tloaded: false,\r\n\t\t\t\tloading: false,\r\n errors: action.payload\r\n\t\t\t};\r\n }\r\n\t}\r\n\r\n\treturn state;\r\n}\r\n\r\nfunction updateTeacherSearchResultsState(state: SearchResultsState, searchResults: fromModels.TeacherSearchResultsItem[], headers: HttpHeaders) {\r\n let pagingSorting: fromModels.TeacherPagingSorting;\r\n\r\n // Grab special header we use for paging\r\n const pagingHeader: string = headers.get('X-Pagination');\r\n const pagingObject: object = JSON.parse(pagingHeader);\r\n\r\n // Populate paging information from http headers\r\n pagingSorting = {\r\n totalCount: pagingObject['totalCount'],\r\n pageSize: pagingObject['pageSize'],\r\n currentPage: pagingObject['currentPage'],\r\n totalPages: pagingObject['totalPages'],\r\n sortBy: pagingObject['sortBy'],\r\n sortDir: pagingObject['sortDir']\r\n };\r\n\r\n\treturn {\r\n\t\t...state,\r\n searchResults,\r\n pagingSorting\r\n\t};\r\n}\r\n\r\nexport const getTeacherSearchResults = (state: SearchResultsState) => state.searchResults;\r\nexport const getDetailsStateLoading = (state: SearchResultsState) => state.loading;\r\nexport const getDetailsStateLoaded = (state: SearchResultsState) => state.loaded;\r\nexport const getDetailsStateErrors = (state: SearchResultsState) => state.errors;\r\n","import { ValidationErrors } from '@angular/forms';\r\nimport { Action } from '@ngrx/store';\r\n\r\nimport { Address, AddressVerification } from '../../../scp-common/models';\r\nimport { District, DistrictInfo, DistrictCreate, DistrictLookup } from '../../models';\r\nimport { HttpErrorResponse } from '@angular/common/http';\r\n\r\nexport enum DistrictActionTypes {\r\n\tLoadDistrict = '[District] Load District',\r\n\tLoadDistrictSuccess = '[District] Load District Success',\r\n\tLoadDistrictFailure = '[District] Load District Details Failure',\r\n\r\n\tUpdateEditorState = '[District] Update Editor State',\r\n\r\n\tLookupDistrictById = '[District] Lookup District',\r\n\tLookupDistrictByIdSuccess = '[District] Lookup District By Id Success',\r\n\tLookupDistrictByIdFailure = '[District] Lookup District By Id Failure',\r\n\r\n\tLookupDistrictByName = '[District] Lookup District By Name',\r\n\tLookupDistrictByNameSuccess = '[District] Lookup District By Name Success',\r\n\tLookupDistrictByNameFailure = '[District] Lookup District By Name Failure',\r\n\r\n\tUpdateDistrictPanel = '[District] Update District Panel',\r\n\tUpdateDistrictPanelSuccess = '[District] Update District Panel Success',\r\n\tUpdateDistrictPanelFailure = '[District] Update District Panel Failure',\r\n\r\n\tValidateDistrictIsSupervisory = '[District] Validate District Is Supervisory',\r\n\tValidateDistrictPrimaryId = '[District] Validate District Primary Id',\r\n\tValidateDistrictExists = '[District] Validate District Exists',\r\n\tValidateDistrictCanDeactivate = '[District] Validate District Can Deactivate',\r\n\tDistrictIsSupervisoryValidated = '[District] District Is Supervisory Validated',\r\n\tDistrictCanDeactivateValidated = '[District] District Can Deactivate Validated',\r\n\tDistrictExistsValidated = '[District] District Exists Validated',\r\n\tDistrictPrimaryIdValidated = '[District] District Primary Id Validated',\r\n\tDistrictPrimaryIdValidationFailed = '[District] District Primary Id Validation Failed',\r\n\r\n\tDistrictAddressLookupCityState = '[District] District Address Lookup CityState',\r\n\tDistrictAddressLookupCityStateSuccess = '[District] District Address Lookup CityState Success',\r\n\tDistrictAddressLookupCityStateFailure = '[District] District Address Lookup CityState Failure',\r\n\r\n\tDistrictVerifyAddress = '[District] District Verify Address',\r\n DistrictVerifyAddressSuccess = '[District] District Verify Address Success',\r\n DistrictVerifyAddressFailure = '[District] District Verify Address Failure',\r\n\r\n\tDistrictLoadCounties = '[District] District Load Counties',\r\n DistrictLoadCountiesSuccess = '[District] District Load Counties Success',\r\n\r\n CreateDistrict = '[District] Create District',\r\n CreateDistrictSuccess = '[District] Create District Success',\r\n CreateDistrictFailure = '[District] Create District Failed',\r\n}\r\n\r\nexport class LoadDistrict implements Action {\r\n\treadonly type = DistrictActionTypes.LoadDistrict;\r\n\tconstructor(public payload: number) { }\r\n}\r\n\r\nexport class LoadDistrictSuccess implements Action {\r\n\treadonly type = DistrictActionTypes.LoadDistrictSuccess;\r\n\tconstructor(public payload: District) { }\r\n}\r\n\r\nexport class LoadDistrictFailure implements Action {\r\n\treadonly type = DistrictActionTypes.LoadDistrictFailure;\r\n\tconstructor(public payload: any) { }\r\n}\r\n\r\nexport class UpdateEditorState implements Action {\r\n\treadonly type = DistrictActionTypes.UpdateEditorState;\r\n\tconstructor(public payload: { key: string, open: boolean }) { }\r\n}\r\n\r\nexport class LookupDistrictById implements Action {\r\n\treadonly type = DistrictActionTypes.LookupDistrictById;\r\n\tconstructor(public payload: { id: number }) { }\r\n}\r\n\r\nexport class LookupDistrictByIdSuccess implements Action {\r\n\treadonly type = DistrictActionTypes.LookupDistrictByIdSuccess;\r\n\tconstructor(public payload: { id: number, dl: DistrictLookup }) { }\r\n}\r\n\r\nexport class LookupDistrictByIdFailure implements Action {\r\n\treadonly type = DistrictActionTypes.LookupDistrictByIdFailure;\r\n\tconstructor(public payload: { id: number, error: any }) { }\r\n}\r\n\r\nexport class LookupDistrictByName implements Action {\r\n\treadonly type = DistrictActionTypes.LookupDistrictByName;\r\n\tconstructor(public payload: { name: string, isActive: boolean, isSupervisory: boolean }) { }\r\n}\r\n\r\nexport class LookupDistrictByNameSuccess implements Action {\r\n\treadonly type = DistrictActionTypes.LookupDistrictByNameSuccess;\r\n\tconstructor(public payload: { name: string, dls: DistrictLookup[] }) { }\r\n}\r\n\r\nexport class LookupDistrictByNameFailure implements Action {\r\n\treadonly type = DistrictActionTypes.LookupDistrictByNameFailure;\r\n\tconstructor(public payload: { name: string, error: any }) { }\r\n}\r\n\r\nexport class UpdateDistrictPanel implements Action {\r\n\treadonly type = DistrictActionTypes.UpdateDistrictPanel;\r\n\tconstructor(public payload: { panel: string, district: District }) { }\r\n}\r\n\r\nexport class UpdateDistrictPanelSuccess implements Action {\r\n\treadonly type = DistrictActionTypes.UpdateDistrictPanelSuccess;\r\n\tconstructor(public payload: { panel: string, district: District }) { }\r\n}\r\n\r\nexport class UpdateDistrictPanelFailure implements Action {\r\n\treadonly type = DistrictActionTypes.UpdateDistrictPanelFailure;\r\n\tconstructor(public payload: { panel: string, errors: HttpErrorResponse }) { }\r\n}\r\n\r\nexport class ValidateDistrictIsSupervisory implements Action {\r\n\treadonly type = DistrictActionTypes.ValidateDistrictIsSupervisory;\r\n\tconstructor(public payload: { panel: string, validator: string, id: number, isSupervisory: boolean }) { }\r\n}\r\n\r\nexport class ValidateDistrictPrimaryId implements Action {\r\n\treadonly type = DistrictActionTypes.ValidateDistrictPrimaryId;\r\n\tconstructor(public payload: { panel: string, validator: string, primaryId: string, duplicateId: number, duplicateIsActive: boolean, duplicateIsSupervisory: boolean }) { }\r\n}\r\n\r\nexport class ValidateDistrictExists implements Action {\r\n\treadonly type = DistrictActionTypes.ValidateDistrictExists;\r\n\tconstructor(public payload: { panel: string, validator: string, id: number }) { }\r\n}\r\n\r\nexport class ValidateDistrictCanDeactivate implements Action {\r\n\treadonly type = DistrictActionTypes.ValidateDistrictCanDeactivate;\r\n\tconstructor(public payload: { panel: string, validator: string, id: number, isSupervisory: boolean }) { }\r\n}\r\n\r\nexport class DistrictPrimaryIdValidated implements Action {\r\n\treadonly type = DistrictActionTypes.DistrictPrimaryIdValidated;\r\n\tconstructor(public payload: { panel: string, validator: string, errors: ValidationErrors }) { }\r\n}\r\n\r\nexport class DistrictIsSupervisoryValidated implements Action {\r\n\treadonly type = DistrictActionTypes.DistrictIsSupervisoryValidated;\r\n\tconstructor(public payload: { panel: string, id: number, validator: string, errors: ValidationErrors }) { }\r\n}\r\n\r\nexport class DistrictExistsValidated implements Action {\r\n\treadonly type = DistrictActionTypes.DistrictExistsValidated;\r\n\tconstructor(public payload: { panel: string, id: number, validator: string, errors: ValidationErrors }) { }\r\n}\r\n\r\nexport class DistrictCanDeactivateValidated implements Action {\r\n\treadonly type = DistrictActionTypes.DistrictCanDeactivateValidated;\r\n\tconstructor(public payload: { panel: string, id: number, validator: string, errors: ValidationErrors }) { }\r\n}\r\n\r\nexport class DistrictPrimaryIdValidationFailed implements Action {\r\n\treadonly type = DistrictActionTypes.DistrictPrimaryIdValidationFailed;\r\n\tconstructor(public payload: { panel: string, validator: string, errors: any[] }) { }\r\n}\r\n\r\nexport class DistrictAddressLookupCityState implements Action {\r\n\treadonly type = DistrictActionTypes.DistrictAddressLookupCityState;\r\n\tconstructor(public payload: { panel: string, zip: string }) { }\r\n}\r\n\r\nexport class DistrictAddressLookupCityStateSuccess implements Action {\r\n\treadonly type = DistrictActionTypes.DistrictAddressLookupCityStateSuccess;\r\n\tconstructor(public payload: { panel: string, cityState: { city: string, state: string } }) { }\r\n}\r\n\r\nexport class DistrictAddressLookupCityStateFailure implements Action {\r\n\treadonly type = DistrictActionTypes.DistrictAddressLookupCityStateFailure;\r\n\tconstructor(public payload: { panel: string, errors: any[] }) { }\r\n}\r\n\r\nexport class DistrictVerifyAddress implements Action {\r\n\treadonly type = DistrictActionTypes.DistrictVerifyAddress;\r\n\tconstructor(public payload: { panel: string, address: Address }) { }\r\n}\r\n\r\nexport class DistrictVerifyAddressSuccess implements Action {\r\n\treadonly type = DistrictActionTypes.DistrictVerifyAddressSuccess;\r\n\tconstructor(public payload: { panel: string, verification: AddressVerification }) { }\r\n}\r\n\r\nexport class DistrictVerifyAddressFailure implements Action {\r\n readonly type = DistrictActionTypes.DistrictVerifyAddressFailure;\r\n constructor(public payload: { panel: string }) { }\r\n}\r\n\r\nexport class DistrictLoadCounties implements Action {\r\n\treadonly type = DistrictActionTypes.DistrictLoadCounties;\r\n\tconstructor(public payload: { panel: string, stateCode: string }) { }\r\n}\r\n\r\nexport class DistrictLoadCountiesSuccess implements Action {\r\n\treadonly type = DistrictActionTypes.DistrictLoadCountiesSuccess;\r\n\tconstructor(public payload: { panel: string, counties: string[] }) { }\r\n}\r\n\r\nexport class CreateDistrict implements Action {\r\n readonly type = DistrictActionTypes.CreateDistrict;\r\n constructor(public payload: { district: DistrictCreate }) { }\r\n}\r\n\r\nexport class CreateDistrictSuccess implements Action {\r\n readonly type = DistrictActionTypes.CreateDistrictSuccess;\r\n constructor(public payload: { id: number }) { }\r\n}\r\n\r\nexport class CreateDistrictFailure implements Action {\r\n readonly type = DistrictActionTypes.CreateDistrictFailure;\r\n constructor(public payload: { errors: any }) { }\r\n}\r\n\r\nexport type DistrictActions =\r\n\t| LoadDistrict\r\n\t| LoadDistrictSuccess\r\n\t| LoadDistrictFailure\r\n\t| UpdateEditorState\r\n\t| LookupDistrictById\r\n\t| LookupDistrictByIdSuccess\r\n\t| LookupDistrictByIdFailure\r\n\t| LookupDistrictByName\r\n\t| LookupDistrictByNameSuccess\r\n\t| LookupDistrictByNameFailure\r\n\t| UpdateDistrictPanel\r\n\t| UpdateDistrictPanelSuccess\r\n\t| UpdateDistrictPanelFailure\r\n\t| ValidateDistrictIsSupervisory\r\n\t| DistrictIsSupervisoryValidated\r\n\t| ValidateDistrictPrimaryId\r\n\t| DistrictPrimaryIdValidated\r\n\t| ValidateDistrictExists\r\n\t| DistrictExistsValidated\r\n\t| ValidateDistrictCanDeactivate\r\n\t| DistrictCanDeactivateValidated\r\n\t| DistrictAddressLookupCityState\r\n\t| DistrictAddressLookupCityStateSuccess\r\n\t| DistrictAddressLookupCityStateFailure\r\n\t| DistrictVerifyAddress\r\n | DistrictVerifyAddressSuccess\r\n | DistrictVerifyAddressFailure\r\n\t| DistrictLoadCounties\r\n\t| DistrictLoadCountiesSuccess\r\n | CreateDistrict\r\n | CreateDistrictSuccess\r\n | CreateDistrictFailure;\r\n","import { Component, OnInit, OnDestroy, AfterViewInit } from '@angular/core';\r\nimport { FormBuilder, FormControl, FormGroup, Validators } from '@angular/forms';\r\n\r\nimport { Observable } from 'rxjs';\r\nimport { takeWhile, tap } from 'rxjs/operators';\r\n\r\nimport { select, Store } from '@ngrx/store';\r\nimport * as validators from '../../../core/validators';\r\n\r\nimport { Event } from '../models';\r\nimport * as fromStore from '../store';\r\n\r\n@Component({\r\n selector: 'event-meeting-details-editor',\r\n templateUrl: './event-meeting-details-editor.component.html',\r\n})\r\nexport class EventMeetingDetailsEditorComponent implements OnInit, OnDestroy, AfterViewInit {\r\n alive = true;\r\n event$: Observable;\r\n event: Event;\r\n panelState$: Observable;\r\n panelState: fromStore.PanelState;\r\n\r\n rentalMeetingTypes: any[] = [\r\n {\r\n id: 1,\r\n name: 'Schedule or Assembly'\r\n },\r\n {\r\n id: 2,\r\n name: 'Open or Random'\r\n }\r\n ];\r\n rentalFulfillmentTypes: any[] = [\r\n { id: 1, name: 'Filled - Pick up at Event' },\r\n { id: 2, name: 'Unfilled - Filled by Hub' },\r\n { id: 3, name: 'Unfilled - Filled by Rep' },\r\n ];\r\n\r\n editor: FormGroup;\r\n\r\n constructor(private store: Store, private fb: FormBuilder) {\r\n\r\n }\r\n\r\n ngOnInit() {\r\n this.event$ = this.store.pipe(select(fromStore.getDetailsStateEvent));\r\n this.event$.pipe(\r\n takeWhile(() => this.alive)\r\n ).subscribe(d => this.event = d);\r\n\r\n this.panelState$ = this.store.pipe(select(fromStore.getDetailsStateEventMeetingDetailsPanel));\r\n this.panelState$.pipe(\r\n takeWhile(() => this.alive),\r\n tap(s => {\r\n if (!s.editing && this.panelState && this.panelState.editing) {\r\n this.resetForm();\r\n }\r\n }),\r\n ).subscribe(s => this.panelState = s);\r\n\r\n this.createForm();\r\n }\r\n\r\n ngAfterViewInit() {\r\n }\r\n\r\n ngOnDestroy() {\r\n this.alive = false;\r\n }\r\n\r\n createForm() {\r\n this.editor = new FormGroup({\r\n eventQuality: new FormControl(this.event.eventQuality),\r\n deliveryTimePeriod: new FormControl(this.event.deliveryTimePeriod),\r\n rentalMeetingType: new FormControl(this.event.rentalMeetingTypeId, Validators.required),\r\n rentalFulfillmentType: new FormControl(this.event.rentalFulfillmentTypeId, Validators.required),\r\n mouthpieceTesting: new FormControl(this.event.mouthpieceTesting),\r\n bandProgramAttending: new FormControl(this.event.bandProgramAttending),\r\n estimatedBandRentals: new FormControl(this.event.estimatedBandRentals, [validators.NumericValidators.min(1)]),\r\n orchestraProgramAttending: new FormControl(this.event.orchestraProgramAttending),\r\n estimatedOrchestraRentals: new FormControl(this.event.estimatedOrchestraRentals, [validators.NumericValidators.min(1)])\r\n });\r\n\r\n }\r\n\r\n resetForm() {\r\n\r\n }\r\n\r\n get canSave(): boolean {\r\n return this.editor.valid && this.editor.dirty && !this.panelState.updating;\r\n }\r\n\r\n onSubmit() {\r\n const eventQuality = this.editor.value.eventQuality;\r\n const deliveryTimePeriod = this.editor.value.deliveryTimePeriod;\r\n const rentalMeetingTypeId = this.editor.value.rentalMeetingType;\r\n const rentalFulfillmentTypeId = this.editor.value.rentalFulfillmentType;\r\n const mouthpieceTesting = this.editor.value.mouthpieceTesting;\r\n const bandProgramAttending = this.editor.value.bandProgramAttending;\r\n const estimatedBandRentals = this.editor.value.estimatedBandRentals;\r\n const orchestraProgramAttending = this.editor.value.orchestraProgramAttending;\r\n const estimatedOrchestraRentals = this.editor.value.estimatedOrchestraRentals;\r\n\r\n const event = {\r\n ...this.event,\r\n eventQuality,\r\n deliveryTimePeriod,\r\n rentalMeetingTypeId,\r\n rentalFulfillmentTypeId,\r\n mouthpieceTesting,\r\n bandProgramAttending,\r\n estimatedBandRentals,\r\n orchestraProgramAttending,\r\n estimatedOrchestraRentals,\r\n };\r\n\r\n this.store.dispatch(new fromStore.UpdateEventPanel({ panel: fromStore.PanelId.EventMeetingDetails, event }));\r\n }\r\n\r\n}\r\n"," \r\n
\r\n
\r\n
    \r\n
  • \r\n \r\n
    \r\n \r\n
    \r\n
  • \r\n
  • \r\n \r\n
    \r\n \r\n
    \r\n
  • \r\n
  • \r\n \r\n
    \r\n \r\n
    \r\n
    Required
    \r\n
    \r\n
    \r\n
  • \r\n
  • \r\n \r\n
    \r\n \r\n
    \r\n
    Required
    \r\n
    \r\n
    \r\n
  • \r\n
  • \r\n
    \r\n \r\n
    \r\n
  • \r\n
  • \r\n
    \r\n \r\n
    \r\n
  • \r\n
  • \r\n \r\n
    \r\n \r\n
    \r\n
    Must be greater than 0
    \r\n
    \r\n
    \r\n
  • \r\n
  • \r\n
    \r\n \r\n
    \r\n
  • \r\n
  • \r\n \r\n
    \r\n \r\n
    \r\n
    Must be greater than 0
    \r\n
    \r\n
    \r\n
  • \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n","import { Component } from '@angular/core';\r\nimport { OidcSecurityService } from 'angular-auth-oidc-client';\r\n\r\n@Component({\r\n selector: 'app-unexpected-error',\r\n templateUrl: './unexpected-error.component.html'\r\n})\r\n\r\nexport class UnexpectedErrorComponent {\r\n\r\n constructor(private security: OidcSecurityService) { }\r\n\r\n reAuthorize() {\r\n this.security.authorize();\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n
\r\n

500 Unexpected Error

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

Your request cannot be processed at this time.
If this error continues to occur, please contact support.

\r\n

Please note that this has been reported to the technical team.

\r\n
\r\n
\r\n Go Home\r\n
\r\n
\r\n
\r\n
\r\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-bd\": \"loYQ\",\n\t\"./bn-bd.js\": \"loYQ\",\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-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-in\": \"7C5Q\",\n\t\"./en-in.js\": \"7C5Q\",\n\t\"./en-nz\": \"b1Dy\",\n\t\"./en-nz.js\": \"b1Dy\",\n\t\"./en-sg\": \"t+mt\",\n\t\"./en-sg.js\": \"t+mt\",\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-mx\": \"tbfe\",\n\t\"./es-mx.js\": \"tbfe\",\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\"./fil\": \"1ppg\",\n\t\"./fil.js\": \"1ppg\",\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-deva\": \"qvJo\",\n\t\"./gom-deva.js\": \"qvJo\",\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\"./oc-lnc\": \"Fnuy\",\n\t\"./oc-lnc.js\": \"Fnuy\",\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\"./tk\": \"Wv91\",\n\t\"./tk.js\": \"Wv91\",\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-mo\": \"OmwH\",\n\t\"./zh-mo.js\": \"OmwH\",\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 { Component, OnInit, OnDestroy } from '@angular/core';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\n\r\nimport { Observable, Subscription } from 'rxjs';\r\nimport { takeWhile } from 'rxjs/operators';\r\n\r\nimport { select, Store } from '@ngrx/store';\r\n\r\nimport * as fromStore from '../store';\r\nimport * as fromModels from '../models';\r\nimport { ConfigurationService } from '../../../core/services/ConfigurationService';\r\n\r\n@Component({\r\n\tselector: 'opus-district-searchresults-page',\r\n\ttemplateUrl: './district-searchresults.component.html',\r\n})\r\nexport class DistrictSearchResultsComponent implements OnInit, OnDestroy {\r\n searchResultsState$: Observable;\r\n apiUrl: string;\r\n\r\n private _subscription: Subscription;\r\n private _searchCriteria: fromModels.DistrictSearchCriteria;\r\n private _pagingSorting: fromModels.DistrictPagingSorting;\r\n\r\n showModal = false;\r\n alive = true;\r\n\r\n constructor(\r\n private route: ActivatedRoute,\r\n private router: Router,\r\n private _store: Store,\r\n private configuration: ConfigurationService\r\n ) {\r\n console.log('DistrictSearchResultsComponent: constructor().');\r\n\t}\r\n\r\n\tngOnInit() {\r\n console.log('DistrictSearchResultsComponent: ngOnInit().');\r\n\r\n this.configuration.config$.pipe(\r\n takeWhile(() => this.alive)\r\n ).subscribe(c => {\r\n this.apiUrl = c.config.apiServer;\r\n });\r\n\r\n // Get results of search (so our html can populate)\r\n this.searchResultsState$ = this._store.pipe(\r\n select(fromStore.getDistrictSearchState)\r\n );\r\n // Grab the current search criteria stored in the state\r\n console.log(this.searchResultsState$);\r\n this._subscription = this.searchResultsState$.subscribe(s => {\r\n this._searchCriteria = s.searchCriteria;\r\n this._pagingSorting = s.pagingSorting;\r\n });\r\n\r\n // If query params are changed, process them\r\n this.route.queryParams.subscribe(val => {\r\n this._store.dispatch(new fromStore.ProcessQueryString(this.router.url));\r\n });\r\n }\r\n\r\n ngOnDestroy() {\r\n this.alive = false;\r\n }\r\n\r\n nextPage() {\r\n console.log('DistrictSearchResultsComponent: nextPage().');\r\n\r\n // Run the search again with the new parameters\r\n this._store.dispatch(new fromStore.NextPage(this._searchCriteria, this._pagingSorting));\r\n }\r\n\r\n prevPage() {\r\n console.log('DistrictSearchResultsComponent: prevPage().');\r\n\r\n // Run the search again with the new parameters\r\n this._store.dispatch(new fromStore.PrevPage(this._searchCriteria, this._pagingSorting));\r\n }\r\n\r\n setPageSize(pageSize: number) {\r\n console.log('DistrictSearchResultsComponent: setPageSize().');\r\n\r\n // Run the search again with the new parameters\r\n this._store.dispatch(new fromStore.SetPageSize(pageSize, this._searchCriteria));\r\n }\r\n\r\n lastPage() {\r\n console.log('DistrictSearchResultsComponent: lastPage().');\r\n\r\n // Run the search again with the new parameters\r\n this._store.dispatch(new fromStore.LastPage(this._searchCriteria, this._pagingSorting));\r\n }\r\n\r\n firstPage() {\r\n console.log('DistrictSearchResultsComponent: firstPage().');\r\n\r\n // Run the search again with the new parameters\r\n this._store.dispatch(new fromStore.FirstPage(this._searchCriteria, this._pagingSorting));\r\n }\r\n\r\n sortBy(column: string) {\r\n console.log('DistrictSearchResultsComponent: sortBy().');\r\n\r\n // Run the search again with the new parameters\r\n this._store.dispatch(new fromStore.SortBy(column, this._searchCriteria, this._pagingSorting));\r\n }\r\n\r\n createDistrict() {\r\n console.log('createDistrict');\r\n this.showModal = true;\r\n }\r\n\r\n createDistrictClosed(created: boolean) {\r\n if (created) {\r\n console.log('District created');\r\n }\r\n else {\r\n console.log('District create was canceled');\r\n }\r\n\r\n // Reset our flag so we can show the modal again later if we want to.\r\n this.showModal = false;\r\n }\r\n}\r\n","
\r\n

\r\n Back to Search\r\n

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

Districts

\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n Showing {{(searchResultsState$ | async).pagingSorting.pageSize * ((searchResultsState$ | async).pagingSorting.currentPage - 1) + 1}} -\r\n {{(searchResultsState$ | async).pagingSorting.pageSize > (searchResultsState$ | async).pagingSorting.totalCount ? (searchResultsState$ | async).pagingSorting.totalCount : (searchResultsState$ | async).pagingSorting.pageSize * (searchResultsState$ | async).pagingSorting.currentPage}} of\r\n {{(searchResultsState$ | async).pagingSorting.totalCount}}\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n Showing {{(searchResultsState$ | async).pagingSorting.pageSize * ((searchResultsState$ | async).pagingSorting.currentPage - 1) + 1}} -\r\n {{(searchResultsState$ | async).pagingSorting.pageSize > (searchResultsState$ | async).pagingSorting.totalCount ? (searchResultsState$ | async).pagingSorting.totalCount : (searchResultsState$ | async).pagingSorting.pageSize * (searchResultsState$ | async).pagingSorting.currentPage}} of\r\n {{(searchResultsState$ | async).pagingSorting.totalCount}}\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n","import { Component, Input, Output, EventEmitter, OnInit } from '@angular/core';\r\n\r\nimport { TabComponent } from './tab.component';\r\n\r\n@Component({\r\n\tselector: 'opus-tabs',\r\n\ttemplateUrl: './tabs.component.html',\r\n})\r\nexport class TabsComponent implements OnInit {\r\n\t@Input('activeTabIndex')\r\n\tset activeTabIndex(value: number) {\r\n\t\tif (value >= 0 && value < this.tabs.length) {\r\n\t\t\tthis.selectTab(value);\r\n\t\t}\r\n\t}\r\n\r\n\t@Output() tabSelected: EventEmitter = new EventEmitter();\r\n\ttabs: TabComponent[] = [];\r\n\tprivate _activeTabIndex?: number = null;\r\n\r\n\tconstructor() {\r\n\t\tconsole.log('TabsComponent()...');\r\n\t}\r\n\r\n\tngOnInit() {\r\n\t\tconsole.log('TabsComponent.ngOnInit(): ', this._activeTabIndex);\r\n\r\n\t\tif (this._activeTabIndex === null) {\r\n\t\t\tthis.activeTabIndex = 0;\r\n\t\t}\r\n\t}\r\n\r\n\tget activeTabIndex() {\r\n\t\treturn this._activeTabIndex;\r\n\t}\r\n\r\n\taddTab(tab: TabComponent) {\r\n\t\tconsole.log('TabsComponent.AddTab(): ', tab);\r\n\r\n\t\tthis.tabs.push(tab);\r\n\t}\r\n\r\n\tselectTab(index: number) {\r\n\t\tthis.tabs.forEach(tab => {\r\n\t\t\ttab.active = false;\r\n\t\t});\r\n\r\n\t\tthis.tabs[index].active = true;\r\n\t\tthis._activeTabIndex = index;\r\n\t\tthis.tabSelected.emit(index);\r\n\t}\r\n}\r\n","\r\n\r\n
\r\n\t
\r\n\t\t
\r\n\t\t\t\r\n\t\t
\r\n\t
\r\n
\r\n","import { Component, Input, OnInit, OnDestroy, OnChanges } from '@angular/core';\r\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\n\r\nimport { Observable } from 'rxjs';\r\nimport { takeWhile, tap, filter, first } from 'rxjs/operators';\r\n\r\nimport { select, Store } from '@ngrx/store';\r\n\r\nimport { Address } from '../../scp-common/models';\r\nimport { District } from '../models';\r\nimport * as fromStore from '../store';\r\nimport { states } from '../../scp-common/models/states';\r\n\r\n@Component({\r\n\tselector: 'opus-district-address-editor',\r\n\ttemplateUrl: './district-address-editor.component.html',\r\n})\r\nexport class DistrictAddressEditorComponent implements OnInit, OnDestroy, OnChanges {\r\n\t@Input() isPhysical: boolean;\r\n\t@Input() district: District;\r\n\r\n states: string[] = states;\r\n\talive = true;\r\n\tpanelState$: Observable;\r\n\tpanelState: fromStore.AddressPanelState;\r\n\tzipLookup: fromStore.ZipLookupState;\r\n\teditor: FormGroup;\r\n\tshowModal = false;\r\n\tenteredAddress: Address = null;\r\n\tsuggestedAddress: Address = null;\r\n\tcounties$: Observable;\r\n\r\n\tconstructor(private store: Store, private fb: FormBuilder) {\r\n\t\tconsole.log('DistrictAddressEditorComponent()...');\r\n\r\n\t\tthis.createForm();\r\n\t}\r\n\r\n\tngOnInit() {\r\n\t\tconsole.log('DistrictAddressEditorComponent.ngOnInit(): isPhysical: ', this.isPhysical);\r\n\r\n\t\t//\tTODO: should this block really be in resetForm()?\r\n\t\tif (this.isPhysical) {\r\n\t\t\t//\tsubscribe to state code changes\r\n\t\t\tthis.initCounties();\r\n\r\n\t\t\t//\tload up the counties for the current state\r\n\t\t\tconst stateCode = this.address.state;\r\n\t\t\tif (stateCode != '') {\r\n\t\t\t\tthis.store.dispatch(new fromStore.DistrictLoadCounties({ panel: this.panelId, stateCode }));\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tthis.counties$ = this.store.pipe(select(fromStore.getDetailsStateCounties));\r\n\r\n\t\tthis.panelState$ = this.store.pipe(\r\n\t\t\tselect(this.isPhysical ? fromStore.getDetailsStatePhysAddrPanel : fromStore.getDetailsStateMailAddrPanel)\r\n\t\t);\r\n\t\tthis.panelState$.pipe(\r\n\t\t\ttakeWhile(() => this.alive),\r\n\t\t\ttap(s => {\r\n\t\t\t\tif (!s.editing && this.panelState && this.panelState.editing) {\r\n\t\t\t\t\tconsole.log('DistrictAddressEditorComponent.panelState$: clearing form...');\r\n\t\t\t\t\tthis.resetForm();\r\n\t\t\t\t}\r\n\t\t\t}),\r\n\t\t).subscribe(ps => {\r\n\t\t\tconsole.log('panelState$ sub: ', ps);\r\n\t\t\tthis.panelState = ps;\r\n\t\t\tthis.zipLookup = ps.zipLookup;\r\n\r\n\t\t\tconst zl = this.zipLookup;\r\n\t\t\tif (zl && zl.pending) {\r\n\t\t\t\tthis.editor.controls.addressCity.disable();\r\n\t\t\t\tthis.editor.controls.addressCounty.disable();\r\n\t\t\t\tthis.editor.controls.addressState.disable();\r\n\t\t\t\tthis.editor.controls.addressZipcode.disable();\r\n\t\t\t} else {\r\n\t\t\t\tthis.editor.controls.addressCity.enable();\r\n\t\t\t\tthis.editor.controls.addressCounty.enable();\r\n\t\t\t\tthis.editor.controls.addressState.enable();\r\n\t\t\t\tthis.editor.controls.addressZipcode.enable();\r\n\t\t\t}\r\n\r\n\t\t\tif (zl && zl.cityState != null) {\r\n\t\t\t\tthis.editor.controls['addressCity'].patchValue(zl.cityState.city);\r\n\t\t\t\tthis.editor.controls['addressState'].patchValue(zl.cityState.state);\r\n\r\n\t\t\t\tif (this.editor.controls.addressCity.value != this.address.city) {\r\n\t\t\t\t\tthis.editor.controls.addressCity.markAsDirty();\r\n\t\t\t\t}\r\n\r\n\t\t\t\tif (this.editor.controls.addressState.value != this.address.state) {\r\n\t\t\t\t\tthis.editor.controls.addressState.markAsDirty();\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n\r\n\tngOnDestroy() {\r\n\t\tconsole.log('DistrictAddressEditorComponent.ngOnDestroy()...');\r\n\t\tthis.alive = false;\r\n\t}\r\n\r\n\tngOnChanges() {\r\n\t\tthis.resetForm();\r\n\t}\r\n\r\n\tcreateForm() {\r\n\t\t//\tNOTE: FormBuilder.group will ignore the updateOn parameter when constructing the FormGroup\r\n\t\tthis.editor = this.fb.group({\r\n\t\t\taddressLine1: ['', Validators.required],\r\n\t\t\taddressLine2: [''],\r\n\t\t\taddressCity: ['', Validators.required],\r\n\t\t\taddressState: ['', Validators.required],\r\n\t\t\taddressZipcode: ['', Validators.pattern(/^\\d{5}(?:-\\d{4})?$/)],\r\n\t\t\taddressCounty: [''],\r\n\t\t\tupdateMailing: [false],\r\n\t\t\tsameAsPhysical: [false],\r\n\t\t}/* NOTE: originally tried to do address verification as an async validator, but angular was ignoring the supplied updateOn='submit' even when using FormGroup instead of FormBuilder */);\r\n\t}\r\n\r\n\tinitCounties() {\r\n\t\tconsole.log('initCounties()...');\r\n\r\n\t\tthis.editor.get('addressState').valueChanges.pipe(\r\n\t\t\ttakeWhile(() => this.alive),\r\n\t\t).subscribe(stateCode => {\r\n\t\t\tconsole.log(`addressState.valueChanges: '${this.editor.value.addressState}' -> '${stateCode}'`);\r\n\r\n\t\t\tif (stateCode != '' && stateCode != this.editor.value.addressState) {\r\n\t\t\t\t//\tif the state is changed, we need to clear out the county so that the county dropdown will show the select option\r\n\t\t\t\t//\tif the state is changed back to the original state, however, set the county back to that of the original model\r\n\t\t\t\tthis.editor.controls['addressCounty'].patchValue(stateCode == this.address.state ? this.address.county : '');\r\n\r\n\t\t\t\tthis.store.dispatch(new fromStore.DistrictLoadCounties({ panel: this.panelId, stateCode }));\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n\r\n\tresetForm() {\r\n\t\tconsole.log('resetForm()...');\r\n\r\n\t\tconst address: Address = this.address;\r\n\t\tthis.editor.reset({\r\n\t\t\taddressLine1: address.line1,\r\n\t\t\taddressLine2: address.line2,\r\n\t\t\taddressCity: address.city,\r\n\t\t\taddressState: address.state,\r\n\t\t\taddressZipcode: address.zip,\r\n\t\t\taddressCounty: address.county || '',\r\n\t\t\tupdateMailing: false,\r\n\t\t\tsameAsPhysical: false,\r\n\t\t});\r\n\t}\r\n\r\n\tget isMailing(): boolean {\r\n\t\treturn !this.isPhysical;\r\n\t}\r\n\r\n\tget panelId(): string {\r\n\t\treturn this.isPhysical ? fromStore.PanelId.PhysAddr : fromStore.PanelId.MailAddr;\r\n\t}\r\n\r\n\tget address(): Address {\r\n\t\treturn this.isPhysical ? this.district.physicalAddress : this.district.mailingAddress;\r\n\t}\r\n\r\n\tget canSave(): boolean {\r\n\t\t//\tthis is a bit hacky, but easiest way i could see to allow the mailing address to be saved when the existing data is invalid, but same as physical has been checked\r\n\t\treturn this.editor.dirty && (this.editor.valid || this.isMailing && this.editor.value.sameAsPhysical);\r\n\t}\r\n\r\n\tget saveButtonLabel(): string {\r\n\t\treturn this.panelState.updating ? 'Saving...' : 'Save';\r\n\t}\r\n\r\n\tget inZipLookup(): boolean {\r\n\t\treturn this.zipLookup != null && this.zipLookup.pending;\r\n\t}\r\n\r\n\tget hasZipLookupError(): boolean {\r\n\t\tconst hasError = (this.editor.controls.addressZipcode.enabled && !this.editor.controls.addressZipcode.valid) || (this.zipLookup != null && this.zipLookup.errors != null);\r\n\r\n\t\treturn hasError;\r\n\t}\r\n\r\n\tget disableZipLookup(): boolean {\r\n\t\tconst zipCtrl = this.editor.controls.addressZipcode;\r\n\r\n\t\treturn zipCtrl.disabled || !zipCtrl.valid || this.inZipLookup;\r\n\t}\r\n\r\n\tonApplyZip() {\r\n\t\tconst zip = this.editor.value.addressZipcode;\r\n\r\n\t\tconsole.log('DistrictAddressEditorComponent.onApplyZipcode(): ', zip);\r\n\t\tthis.store.dispatch(new fromStore.DistrictAddressLookupCityState({ panel: this.panelId, zip }));\r\n\t}\r\n\r\n\tonModalAction(accept: boolean) {\r\n\t\tconsole.log(accept);\r\n\r\n\t\tthis.showModal = false;\r\n\r\n\t\tif (accept) {\r\n\t\t\tthis.update();\r\n\t\t}\r\n\t}\r\n\r\n onModalTertiaryAction(accept: boolean) {\r\n console.log(accept);\r\n\r\n this.showModal = false;\r\n\r\n if (accept) {\r\n // Clear out the suggested address so that update() will use the entered one\r\n this.suggestedAddress = null;\r\n this.update();\r\n }\r\n }\r\n\r\n\tupdate() {\r\n\t\tconsole.log('updating...');\r\n\r\n\t\t//\tsuggested address will normally be the address to use unless qas was unable to find a match. in this case, accepting the modal will use the entered address as is.\r\n\t\tconst address = this.suggestedAddress || this.enteredAddress;\r\n\r\n\t\t//\tthe address(es) we update will depend upon which we're editing & the state of some form controls.\r\n\t\t//\twe need to replace the address we're editing\r\n\t\t//\tif editing the physical address & update mailing is checked, we need to update it as well\r\n\t\t//\tif editing the mailing address and same as physical is checked, we need to set the mailing address to that of the physical address\r\n\t\tconst physicalAddress = {\r\n\t\t\t...this.isPhysical ? address : this.district.physicalAddress,\r\n\t\t};\r\n\r\n\t\tconst mailingAddress = {\r\n\t\t\t...this.isMailing ? (this.editor.value.sameAsPhysical ? this.district.physicalAddress : address) : (this.editor.value.updateMailing ? address : this.district.mailingAddress),\r\n\t\t};\r\n\r\n\t\tconst district = {\r\n\t\t\t...this.district,\r\n\t\t\tphysicalAddress,\r\n\t\t\tmailingAddress,\r\n\t\t};\r\n\r\n\t\tconsole.log('update():', district);\r\n\t\tthis.store.dispatch(new fromStore.UpdateDistrictPanel({ panel: this.panelId, district }));\r\n\t}\r\n\r\n\tonSubmit() {\r\n\t\tconsole.log('onSubmit: ', this.editor.status);\r\n\r\n\t\t//\tApparently we're going to have to explicitly invoke the address validator since angular refuses to honor updateOn: 'submit' at the form gropup level\r\n\t\t//\tdispatch action to verify address\r\n\t\tconst address: Address = {\r\n\t\t\tline1: this.editor.value.addressLine1,\r\n\t\t\tline2: this.editor.value.addressLine2,\r\n\t\t\tcity: this.editor.value.addressCity,\r\n\t\t\tstate: this.editor.value.addressState,\r\n\t\t\tzip: this.editor.value.addressZipcode,\r\n\t\t\tcounty: this.editor.value.addressCounty,\r\n\t\t};\r\n\r\n\t\tthis.enteredAddress = address;\r\n\r\n\t\tif (this.isMailing && this.editor.value.sameAsPhysical) {\r\n\t\t\tthis.update();\r\n\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tthis.store.dispatch(new fromStore.DistrictVerifyAddress({ panel: this.panelId, address }));\r\n\r\n\t\t//\tobserve results in store\r\n\t\tthis.panelState$.pipe(\r\n\t\t\ttap(ps => console.log('onSubmit: ', ps)),\r\n\t\t\tfilter(ps => !(ps as fromStore.AddressPanelState).verifying),\r\n\t\t\tfirst(),\r\n\t\t\ttap(ps => console.log('onSubmit: ', ps)),\r\n\t\t).subscribe(ps => {\r\n\t\t\tconsole.log('subscribe: ', ps);\r\n\t\t\tconst verifiedAddress = (ps as fromStore.AddressPanelState).verifiedAddress;\r\n\r\n // If verified address didn't come back, make sure suggested stays null (so we don't use it later)\r\n this.suggestedAddress = verifiedAddress;\r\n if (this.suggestedAddress != null) {\r\n this.suggestedAddress = {\r\n ...verifiedAddress,\r\n county: this.editor.value.addressCounty,\r\n };\r\n }\r\n\r\n\t\t\t//\tif verified address is not identical to entered, or we got a picklist instead, show modal\r\n\t\t\tif (verifiedAddress !== null && this.compareAddresses(address, verifiedAddress)) {\r\n\t\t\t\tthis.update();\r\n\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\r\n\t\t\tthis.showModal = true;\r\n\t\t});\r\n\t}\r\n\r\n\tprivate compareAddresses(first: Address, second: Address): boolean {\r\n\t\treturn first.line1 == second.line1\r\n\t\t\t&& first.line2 == second.line2\r\n\t\t\t&& first.city == second.city\r\n\t\t\t&& first.state == second.state\r\n\t\t\t&& first.zip == second.zip;\r\n\t}\r\n}\r\n","
\r\n\t
    \r\n\t\t
  • \r\n\t\t\t
    \r\n\t\t\t\t\r\n\t\t\t
    \r\n\t\t
  • \r\n\t\t\r\n\t\t\t
  • \r\n\t\t\t\t\r\n\t\t\t\t
    \r\n\t\t\t\t\t\r\n\t\t\t\t
    \r\n\t\t\t
  • \r\n\t\t\t
  • \r\n\t\t\t\t\r\n\t\t\t\t
    \r\n\t\t\t\t\t\r\n\t\t\t\t
    \r\n\t\t\t
  • \r\n\t\t\t
  • \r\n\t\t\t\t\r\n\t\t\t\t
    \r\n\t\t\t\t\t\r\n\t\t\t\t
    \r\n\t\t\t
  • \r\n\t\t\t
  • \r\n\t\t\t\t
    State
    \r\n\t\t\t\t
    \r\n\t\t\t\t\t\r\n\t\t\t\t
    \r\n\t\t\t
  • \r\n\t\t\t
  • \r\n\t\t\t\t\r\n\t\t\t\t
    \r\n\t\t\t\t\t
    \r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t
    \r\n\t\t\t\t\t
      \r\n\t\t\t\t\t\t
    • Zip code must be a sequence of 5 digits, optionally followed by a hyphen and an additional 4 digits.
    • \r\n\t\t\t\t\t\t
    • Unable to lookup city & state.
    • \r\n\t\t\t\t\t
    \r\n\t\t\t\t
    \r\n\t\t\t
  • \r\n\t\t\t
  • \r\n\t\t\t\t\r\n\t\t\t\t
    \r\n\t\t\t\t\t\r\n\t\t\t\t
    \r\n\t\t\t
  • \r\n\t\t
    \r\n\t\t\r\n\t\t\t
  • \r\n\t\t\t\t
    Address Line 1
    \r\n\t\t\t\t
    {{ district.physicalAddress.line1 }}
    \r\n\t\t\t
  • \r\n\t\t\t
  • \r\n\t\t\t\t
    Address Line 2
    \r\n\t\t\t\t
    {{ district.physicalAddress.line2 }}
    \r\n\t\t\t
  • \r\n\t\t\t
  • \r\n\t\t\t\t
    City, State Zip
    \r\n\t\t\t\t
    {{ district.physicalAddress.city }}, {{ district.physicalAddress.state }} {{ district.physicalAddress.zip }}
    \r\n\t\t\t
  • \r\n\t\t
    \r\n\t\t
  • \r\n\t\t\t
    \r\n\t\t\t\t\r\n\t\t\t
    \r\n\t\t
  • \r\n\t
\r\n\t
\r\n\t\t
\r\n\t\t\t\r\n\t\t
\r\n\t
\r\n\t\r\n
\r\n\r\n \r\n
\r\n
\r\n

Entered Address:

\r\n
\r\n
    \r\n
  • \r\n
    Address Line 1
    \r\n
    {{ enteredAddress.line1 }}
    \r\n
  • \r\n
  • \r\n
    Address Line 2
    \r\n
    {{ enteredAddress.line2 }}
    \r\n
  • \r\n
  • \r\n
    City, State Zip
    \r\n
    {{ enteredAddress.city }}, {{ enteredAddress.state }} {{ enteredAddress.zip }}
    \r\n
  • \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n

Suggested Address:

\r\n
\r\n
    \r\n
  • \r\n
    Address Line 1
    \r\n
    {{ suggestedAddress.line1 }}
    \r\n
  • \r\n
  • \r\n
    Address Line 2
    \r\n
    {{ suggestedAddress.line2 }}
    \r\n
  • \r\n
  • \r\n
    City, State Zip
    \r\n
    {{ suggestedAddress.city }}, {{ suggestedAddress.state }} {{ suggestedAddress.zip }}
    \r\n
  • \r\n
\r\n
\r\n
\r\n\t\r\n\t\t
    \r\n\t\t\t
  • The United States Postal Service is unable to locate this address.
  • \r\n\t\t
\r\n\t
\r\n
\r\n\r\n","import { ProgramDetailsEffects } from './program-details.effect';\r\nimport { ProgramSearchResultsEffects } from './program-searchresults.effect';\r\nimport { ProgramCreateEffects } from './program-create.effects';\r\n\r\nexport const effects: any[] = [\r\n\tProgramSearchResultsEffects,\r\n\tProgramDetailsEffects,\r\n\tProgramCreateEffects,\r\n];\r\n\r\nexport * from './program-details.effect';\r\nexport * from './program-searchresults.effect';\r\nexport * from './program-create.effects';\r\n","import { Injectable } from '@angular/core';\r\nimport { CanActivate, ActivatedRouteSnapshot, RouterStateSnapshot } from '@angular/router';\r\n\r\nimport { Observable, of } from 'rxjs';\r\nimport { tap, filter, take, map, mergeMap } from 'rxjs/operators';\r\n\r\n\r\nimport { select, Store } from '@ngrx/store';\r\n\r\nimport * as fromRoot from '../../../core/store';\r\nimport * as fromStore from '../store';\r\n\r\n@Injectable()\r\nexport class DistrictSearchResultsGuard implements CanActivate {\r\n private _url: string;\r\n\r\n constructor(private _store: Store) {\r\n console.log('DistrictSearchResultsGuard: constructor called.');\r\n }\r\n\r\n canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable {\r\n this._url = state.url;\r\n return this.checkStore();\r\n }\r\n\r\n checkStore(): Observable {\r\n // True if we've already processed query string in guard\r\n let processedQueryString = false;\r\n\r\n console.log('district-searchresults.guard - checkStore()');\r\n\r\n // TODO: Make forceReload smart enough to be false if the search criteria state matches the query.\r\n //var forceReload = true;\r\n\r\n // TODO: Need to wait here somehow until process query string calls LoadDistrictSearchResults and returns.\r\n //return of(true);\r\n\r\n return this._store.pipe(\r\n select(fromRoot.getUserAuthInfo),\r\n filter(x => !!x),\r\n mergeMap(x => {\r\n if (!x.policyCodes.has('District.Search')) {\r\n return of(false);\r\n }\r\n // TODO: Check for API error (loaded false or err, etc.). Return false if an err.\r\n return this._store.select(fromStore.getDistrictSearchState).pipe(\r\n tap(() => {\r\n //if ((!state.loaded && !state.loading && state.errors === null) || forceReload) {\r\n if (!processedQueryString) {\r\n // So we only do this dispatch once (TODO: Figure out a way for this \"tap\" to only happen once)\r\n processedQueryString = true;\r\n //forceReload = false;\r\n //this._store.dispatch(new fromStore.LoadDistrictSearchResults(splitted.length == 2 ? splitted[1] : \"\"));\r\n // Dispatch so that we process the incoming query string.\r\n this._store.dispatch(new fromStore.ProcessQueryString(this._url));\r\n }\r\n }),\r\n filter(state => state.loaded),\r\n map(state => state.loaded),\r\n take(1),\r\n );\r\n })\r\n );\r\n\r\n }\r\n}\r\n","export * from './merch.actions';\r\n","import { Component, OnInit, OnDestroy, ChangeDetectorRef, ElementRef, AfterViewInit, ViewChild } from '@angular/core';\r\nimport { FormBuilder, FormGroup, AsyncValidatorFn, AbstractControl, ValidationErrors, ValidatorFn } from '@angular/forms';\r\n\r\nimport { Observable, of } from 'rxjs';\r\nimport { takeWhile, tap, filter, map, take } from 'rxjs/operators';\r\n\r\nimport { select, Store } from '@ngrx/store';\r\n\r\nimport { SchoolDetails, SchoolType, InactiveReason } from '../models';\r\nimport * as fromStore from '../store';\r\nimport { DistrictLookup } from '../../districts/models';\r\n\r\ndeclare var $: any;\r\ndeclare var Foundation: any;\r\n\r\n@Component({\r\n selector: 'opus-school-info-editor',\r\n templateUrl: './school-info-editor.component.html',\r\n})\r\nexport class SchoolInfoEditorComponent implements OnInit, OnDestroy, AfterViewInit {\r\n @ViewChild('districtDropdown', {static: true})\r\n districtDropdown: ElementRef;\r\n\r\n districtFoundationDropdown: any;\r\n\r\n alive = true;\r\n schoolDetails$: Observable;\r\n panelState$: Observable;\r\n school: SchoolDetails;\r\n panelState: fromStore.PanelState;\r\n editor: FormGroup;\r\n\r\n inLookup = false;\r\n districtId: number;\r\n districtName: string;\r\n districtLookups$: Observable;\r\n districtByNameLookup$: Observable;\r\n districtByNameLookup: fromStore.DistrictByNameLookupState;\r\n lookupDistrictName: string;\r\n\r\n constructor(private store: Store, private fb: FormBuilder, private cdr: ChangeDetectorRef) {\r\n console.log('SchoolInfoEditorComponent()...');\r\n }\r\n\r\n ngOnInit() {\r\n console.log('SchoolInfoEditorComponent.ngOnInit()...');\r\n\r\n this.schoolDetails$ = this.store.pipe(select(fromStore.getSchoolDetailsEntity));\r\n this.schoolDetails$.pipe(\r\n takeWhile(() => this.alive)\r\n ).subscribe(s => {\r\n this.school = s;\r\n this.districtId = s.districtId;\r\n this.districtName = s.districtName;\r\n });\r\n\r\n this.panelState$ = this.store.pipe(select(fromStore.getDetailsStateInfoPanel));\r\n this.panelState$.pipe(\r\n takeWhile(() => this.alive),\r\n tap(s => {\r\n if (!s.editing && this.panelState && this.panelState.editing) {\r\n console.log('SchoolInfoEditorComponent.panelState$: clearing form...');\r\n this.resetForm();\r\n }\r\n }),\r\n ).subscribe(s => this.panelState = s);\r\n\r\n this.createForm();\r\n\r\n this.districtLookups$ = this.store.pipe(select(fromStore.getDistrictLookupsState));\r\n\r\n this.districtByNameLookup$ = this.store.pipe(select(fromStore.getDistrictByNameLookupState));\r\n this.districtByNameLookup$.pipe(\r\n takeWhile(() => this.alive)\r\n ).subscribe(districtByNameLookup => {\r\n this.districtByNameLookup = districtByNameLookup;\r\n\r\n if (districtByNameLookup && districtByNameLookup.districts && districtByNameLookup.name == this.lookupDistrictName) {\r\n //Trigger the drop down\r\n if (!this.districtFoundationDropdown) {\r\n this.districtFoundationDropdown = new Foundation.Dropdown($(this.districtDropdown.nativeElement).first());\r\n }\r\n\r\n const native = $(this.districtDropdown.nativeElement).first();\r\n\r\n if (!native.hasClass('is-open')) {\r\n native.foundation('open');\r\n }\r\n\r\n this.cdr.detectChanges();\r\n }\r\n });\r\n }\r\n\r\n ngAfterViewInit() {\r\n console.log('SchoolInfoEditorComponent.ngAfterViewInit(): ', this.districtDropdown.nativeElement);\r\n }\r\n\r\n ngOnDestroy() {\r\n console.log('SchoolInfoEditorComponent.ngOnDestroy()...');\r\n this.alive = false;\r\n }\r\n\r\n schoolTypeValidator(): ValidatorFn {\r\n return (control: AbstractControl): { [key: string]: any } | null => {\r\n const type = +control.value;\r\n const isPhoneRequired = type === SchoolType.PUBLIC || type === SchoolType.PRIVATE || type === SchoolType.COLLEGE || type === SchoolType.CHARTER;\r\n const phone = this.school.phone;\r\n\r\n if (isPhoneRequired && !phone)\r\n return { type: true }\r\n\r\n return null;\r\n };\r\n }\r\n\r\n createForm() {\r\n this.editor = this.fb.group({\r\n isActive: [this.isActive],\r\n inactiveReason: [this.school.inactiveReason == null ? 0 : this.school.inactiveReason],\r\n shortName: [this.school.shortName],\r\n longName: [this.school.longName],\r\n districtId: [this.school.districtId, { asyncValidators: [this.districtIdValidator()], updateOn: 'blur' }],\r\n districtName: [this.school.districtName],\r\n type: [this.type, this.schoolTypeValidator()],\r\n level: [this.level],\r\n lowGrade: [this.school.lowGrade],\r\n highGrade: [this.school.highGrade],\r\n });\r\n }\r\n\r\n resetForm() {\r\n this.editor.reset({\r\n isActive: this.isActive,\r\n inactiveReason: this.school.inactiveReason == null ? 0 : this.school.inactiveReason,\r\n shortName: this.school.shortName,\r\n longName: this.school.longName,\r\n districtId: this.school.districtId,\r\n districtName: this.school.districtName,\r\n type: this.type,\r\n level: this.level,\r\n lowGrade: this.school.lowGrade,\r\n highGrade: this.school.highGrade,\r\n });\r\n }\r\n\r\n get isActive() {\r\n return this.school.isActive ? 'Yes' : 'No';\r\n }\r\n\r\n get inactiveReason(): string {\r\n return InactiveReason[this.school.inactiveReason];\r\n }\r\n\r\n get type() {\r\n return this.school.type;\r\n }\r\n\r\n get level() {\r\n return this.school.level;\r\n }\r\n\r\n get canSave(): boolean {\r\n return this.editor.valid && this.editor.dirty || (this.editor.valid && this.editor.value.isActive == 'No' && this.school.inactiveReason == null);\r\n }\r\n\r\n get saveButtonLabel(): string {\r\n return this.panelState.updating ? 'Saving...' : 'Save';\r\n }\r\n\r\n onSubmit() {\r\n console.log('onSubmit: ', this.editor.status, this.editor.value);\r\n\r\n const isActive = this.editor.value.isActive == 'Yes';\r\n\r\n const school: SchoolDetails = {\r\n ...this.school,\r\n isActive: isActive,\r\n inactiveReason: isActive ? null : this.editor.value.inactiveReason,\r\n shortName: this.editor.value.shortName,\r\n longName: this.editor.value.longName,\r\n districtId: this.editor.value.districtId,\r\n type: +this.editor.value.type,\r\n level: +this.editor.value.level,\r\n lowGrade: +this.editor.value.lowGrade,\r\n highGrade: +this.editor.value.highGrade,\r\n };\r\n\r\n console.log('onSubmit: ', school);\r\n\r\n this.store.dispatch(new fromStore.UpdateSchoolPanel({ panel: fromStore.PanelId.Info, school }));\r\n }\r\n\r\n lookupDistrictByName($event: any) {\r\n $event.stopPropagation();\r\n $event.preventDefault();\r\n\r\n this.lookupDistrictName = this.editor.value.districtName;\r\n\r\n if ($event.code == 'Escape' || $event.code == 'Tab') {\r\n const native = $(this.districtDropdown.nativeElement).first();\r\n\r\n if (native.hasClass('is-open')) {\r\n native.foundation('close');\r\n }\r\n } else {\r\n if (this.lookupDistrictName && this.lookupDistrictName.length > 3) {\r\n this.store.dispatch(new fromStore.LookupDistrictByName({ name: this.lookupDistrictName }));\r\n }\r\n }\r\n }\r\n\r\n selectDistrict(district: DistrictLookup) {\r\n if (district) {\r\n this.editor.controls.districtName.patchValue(district.longName);\r\n this.editor.controls.districtId.patchValue(district.id);\r\n }\r\n }\r\n\r\n districtIdValidator(): AsyncValidatorFn {\r\n return (control: AbstractControl): Observable | null => {\r\n console.log('districtIdValidator(): ', control);\r\n\r\n if (!control.dirty || +control.value == this.districtId) {\r\n console.log('districtIdValidator(): Value unchanged...');\r\n return of(null);\r\n }\r\n\r\n if (isNaN(+control.value) || +control.value < 0) {\r\n console.log('districtIdValidator(): Value not a number or not positive...');\r\n\r\n return of({ number: 'ID Must be a positive number.' });\r\n }\r\n\r\n this.districtId = +control.value;\r\n\r\n if (!this.districtId) {\r\n console.log('districtIdValidator(): Value cleared...');\r\n\r\n if (this.editor.value.type == SchoolType.PUBLIC) {\r\n return of({ publicNoDistrict: true });\r\n }\r\n\r\n this.districtName = null;\r\n this.editor.controls.districtName.patchValue('');\r\n\r\n return of(null);\r\n }\r\n\r\n if (this.districtId == this.school.districtId) {\r\n console.log('districtIdValidator(): Value equal to model value...');\r\n this.districtName = this.school.districtName;\r\n this.editor.controls.districtName.patchValue(this.districtName);\r\n\r\n return of(null);\r\n }\r\n\r\n console.log(`districtIdValidator(): Validating value of ${this.districtId}...`);\r\n this.store.dispatch(new fromStore.LookupDistrictById({ id: this.districtId }));\r\n\r\n return this.districtLookups$.pipe(\r\n tap(ls => {\r\n if (ls.idLookups[this.districtId].pending) {\r\n this.inLookup = true;\r\n this.districtName = null;\r\n }\r\n }),\r\n filter(ls => {\r\n console.log('filter: ', this.districtId, ls);\r\n\r\n return !ls.idLookups[this.districtId].pending;\r\n }),\r\n map(ls => {\r\n const lookup = ls.idLookups[this.districtId];\r\n const error = lookup.errors;\r\n\r\n console.log('map: ', this.districtId, error);\r\n\r\n this.inLookup = false;\r\n\r\n if (lookup.district) {\r\n this.districtId = lookup.district.id;\r\n this.districtName = lookup.district.longName;\r\n this.editor.controls.districtName.patchValue(this.districtName);\r\n }\r\n\r\n this.cdr.markForCheck();\r\n\r\n return error ? { server: error } : null;\r\n }),\r\n take(1),\r\n );\r\n };\r\n }\r\n\r\n onValidateDistrictId() {\r\n console.log('onValidateDistrictId(): ', this.editor.value.districtId);\r\n\r\n this.editor.controls.districtId.updateValueAndValidity();\r\n //this.districtLookup.emit(this.formState.controls.districtId.value);\r\n }\r\n}\r\n","
\r\n\t
\r\n
    \r\n
  • \r\n \r\n
    \r\n \r\n
    \r\n
  • \r\n
  • \r\n \r\n
    \r\n \r\n
    \r\n
  • \r\n
  • \r\n
    School ID
    \r\n
    {{ school.id }}
    \r\n
  • \r\n
  • \r\n \r\n
    \r\n \r\n
    \r\n
  • \r\n
  • \r\n \r\n
    \r\n \r\n
      \r\n
    • Required
    • \r\n
    \r\n
    \r\n
  • \r\n
  • \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    ID Must be a positive number.
    \r\n
    District not found.
    \r\n
    Public schools must belong to a District.
    \r\n
    \r\n
    \r\n
  • \r\n
  • \r\n \r\n
    \r\n \r\n \r\n \r\n
      \r\n
    • \r\n \r\n
    • \r\n
    \r\n
    \r\n
  • \r\n
  • \r\n \r\n
    \r\n \r\n
    \r\n
    Phone is required for this type of school.
    \r\n
    \r\n
    \r\n
  • \r\n
  • \r\n \r\n
    \r\n \r\n
    \r\n
  • \r\n
  • \r\n \r\n
    \r\n \r\n
    \r\n
  • \r\n
  • \r\n \r\n
    \r\n \r\n
    \r\n
  • \r\n
\r\n\t
    \r\n\t\t
  • Server error
  • \r\n\t
\r\n\t
\r\n\t\t
\r\n\t\t\t\r\n\t\t
\r\n\t
\r\n
\r\n","import { Component, Input, OnInit, OnDestroy, OnChanges } from '@angular/core';\r\nimport { FormBuilder, FormGroup } from '@angular/forms';\r\n\r\nimport { Observable } from 'rxjs';\r\nimport { takeWhile, tap } from 'rxjs/operators';\r\n\r\nimport { select, Store } from '@ngrx/store';\r\n\r\nimport { TeacherDetails } from '../models';\r\nimport * as fromStore from '../store';\r\n\r\n@Component({\r\n\tselector: 'opus-teacher-additional-editor',\r\n\ttemplateUrl: './teacher-additional-editor.component.html',\r\n})\r\nexport class TeacherAdditionalEditorComponent implements OnInit, OnDestroy, OnChanges {\r\n\t@Input() teacher: TeacherDetails;\r\n\r\n\talive = true;\r\n\tpanelState$: Observable;\r\n\tpanelState: fromStore.PanelState;\r\n\teditor: FormGroup;\r\n\r\n\tconstructor(private store: Store, private fb: FormBuilder) {\r\n\t\tconsole.log('TeacherAdditionalEditorComponent()...');\r\n\r\n\t\tthis.createForm();\r\n\t}\r\n\r\n ngOnInit() {\r\n console.log('TeacherAdditionanlEditorComponent.ngOnInit()');\r\n\r\n this.panelState$ = this.store.select(fromStore.getDetailsStateAdditionalPanel);\r\n this.panelState$.pipe(\r\n takeWhile(() => this.alive),\r\n tap(s => {\r\n if (!s.editing && this.panelState && this.panelState.editing) {\r\n console.log('TeacherAdditionalEditorComponent.panelState$: clearing form...');\r\n this.resetForm();\r\n }\r\n }),\r\n ).subscribe(ps => {\r\n console.log('panelState$ sub: ', ps);\r\n this.panelState = ps;\r\n });\r\n }\r\n\r\n\tngOnDestroy() {\r\n\t\tconsole.log('TeacherAdditionalEditorComponent.ngOnDestroy()...');\r\n\t\tthis.alive = false;\r\n\t}\r\n\r\n\tngOnChanges() {\r\n\t\tthis.resetForm();\r\n\t}\r\n\r\n createForm() {\r\n\t\t//\tNOTE: FormBuilder.group will ignore the updateOn parameter when constructing the FormGroup\r\n\t\tthis.editor = this.fb.group({\r\n\t\t\texternalSystemId: [''],\r\n\t\t\tbio: [''],\r\n education: [''],\r\n instruments: [''],\r\n\t\t}/* NOTE: originally tried to do address verification as an async validator, but angular was ignoring the supplied updateOn='submit' even when using FormGroup instead of FormBuilder */);\r\n\t}\r\n\r\n\tresetForm() {\r\n\t\tconsole.log('resetForm()...');\r\n\r\n this.editor.reset({\r\n externalSystemId: this.teacher.externalSystemId,\r\n bio: this.teacher.bio,\r\n education: this.teacher.education,\r\n instruments: this.teacher.instruments\r\n\t\t});\r\n\t}\r\n\r\n get panelId(): string {\r\n return fromStore.PanelId.Additional;\r\n\t}\r\n\r\n\tget canSave(): boolean {\r\n\t\treturn this.editor.dirty && this.editor.valid;\r\n\t}\r\n\r\n\tget saveButtonLabel(): string {\r\n\t\treturn this.panelState.updating ? 'Saving...' : 'Save';\r\n\t}\r\n\r\n onSubmit() {\r\n const teacher = { ...this.teacher };\r\n Object.keys(this.editor.value).forEach(key => {\r\n teacher[key] = this.editor.value[key];\r\n });\r\n\r\n this.store.dispatch(new fromStore.UpdateTeacherPanel({ panel: fromStore.PanelId.Additional, teacher }));\r\n }\r\n}\r\n","
\r\n
\r\n
    \r\n
  • \r\n \r\n
    \r\n \r\n
    \r\n
  • \r\n
  • \r\n \r\n
    \r\n \r\n
    \r\n
  • \r\n
  • \r\n \r\n
    \r\n \r\n
    \r\n
  • \r\n
  • \r\n \r\n
    \r\n \r\n
    \r\n
  • \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
","export enum RelationshipType {\r\n\t\"Unknown\" = 0,\r\n\t\"Exclusive: Competitor(s)\",\r\n\t\"Exclusive: M&A\",\r\n\t\"Competitive: Select Vendors\",\r\n\t\"Competitive: Wide Open\",\r\n}\r\n","import { NumericValidators } from './numeric-validators';\r\n\r\nexport const validators: any[] = [ NumericValidators];\r\n\r\nexport * from './numeric-validators';\r\n\r\n","import { Component, Input, Output, EventEmitter } from '@angular/core';\r\n\r\nimport { Event, EventPromo } from '../../models';\r\n\r\n@Component({\r\n selector: 'event-promo',\r\n templateUrl: './event-promo.component.html',\r\n})\r\nexport class EventPromoComponent {\r\n @Input() event: Event;\r\n @Input() editMode = false;\r\n @Output() remove: EventEmitter = new EventEmitter();\r\n\r\n removePromo(promo: EventPromo) {\r\n this.remove.emit(promo);\r\n }\r\n\r\n}\r\n","
\r\n \r\n
\r\n
\r\n

\r\n There are no approved promotions for this event.\r\n

\r\n
0\"> \r\n
\r\n
\r\n
Remove promotion
\r\n \r\n Promotion Name\r\n \r\n Description \r\n Coupon \r\n Starting \r\n Ending \r\n Available \r\n
\r\n
\r\n
\r\n

There are no approved promotions for this event.

\r\n
\r\n \r\n \r\n \r\n \r\n {{ promo.name }}\r\n \r\n \r\n {{ promo.description }}\r\n \r\n \r\n {{ promo.couponCode }}\r\n \r\n {{ promo.start | date:'M/d/yyyy h:mm a' }} \r\n {{ promo.end | date:'M/d/yyyy h:mm a' }} \r\n {{ promo.isAvailable | yesNo }} \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n","export * from './school-details.action';\r\nexport * from './school-searchresults.action';\r\n","import { ProgramSearchCriteria } from './program-searchcriteria.model';\r\nimport { ProgramSearch, ProgramSearchResultsItem } from './program-searchresults.model';\r\n\r\nexport * from './program-details.model';\r\nexport * from './program-searchcriteria.model';\r\nexport * from './program-searchresults.model';\r\nexport * from './program-paging-sorting.model';\r\n","export * from './security.selectors';","import { Component, Input, Output, EventEmitter, ViewChild, ElementRef, ChangeDetectorRef } from '@angular/core';\r\nimport { FormBuilder, FormControl, FormGroup, Validators } from '@angular/forms';\r\n\r\nimport { Observable } from 'rxjs';\r\nimport { takeWhile, tap, filter, first } from 'rxjs/operators';\r\n\r\nimport { select, Store } from '@ngrx/store';\r\n\r\nimport * as fromRoot from '../../../core/store';\r\nimport * as fromScpStore from '../../scp-common/store';\r\nimport * as fromStore from '../store';\r\nimport { DistrictCreate } from '../models';\r\nimport { Address } from '../../events/models/index';\r\nimport { states } from '../../scp-common/models/states';\r\nimport * as fromScpModels from '../../scp-common/models';\r\nimport { MessageType } from '../../../core/models';\r\n\r\ndeclare var $: any;\r\ndeclare var Foundation: any;\r\n\r\n@Component({\r\n selector: 'opus-district-create',\r\n templateUrl: './district-create.html',\r\n})\r\nexport class DistrictCreateComponent {\r\n @Input() visible: Boolean = false;\r\n @Output() action = new EventEmitter();\r\n\r\n @ViewChild('managerDropdown', {static: false})\r\n managerDropdown: ElementRef;\r\n managerFoundationDropdown: any;\r\n\r\n states: string[] = states;\r\n editor: FormGroup;\r\n alive = true;\r\n submitted = false;\r\n hasSubmitted = false;\r\n showVerifyAddress = false;\r\n districtFormNotAddressForm = true;\r\n\r\n counties$: Observable;\r\n\r\n panelState$: Observable;\r\n panelState: fromStore.AddressPanelState;\r\n zipLookup: fromStore.ZipLookupState;\r\n zipLookupMailing: fromStore.ZipLookupState;\r\n\r\n lookupManagerCode: number;\r\n managerLookup$: Observable;\r\n managerLookup: fromScpStore.LocationsState;\r\n lookupManagerName: string;\r\n managerByNameLookup$: Observable;\r\n managerByNameLookup: fromScpStore.ManagerByNameLookupState;\r\n\r\n hasDoneManagerLookup = false;\r\n hasDoneManagerLookupByName = false;\r\n isSameAsPhysical = false;\r\n\r\n title = 'Create New District';\r\n primaryLabel = 'Create District';\r\n secondaryLabel = 'Cancel';\r\n\r\n physicalAddress: Address;\r\n mailingAddress: Address;\r\n validatingPhysicalNotMailing: boolean;\r\n\r\n enteredAddress: Address = {\r\n line1: '123 Some Rd.',\r\n line2: '',\r\n city: 'Quakertown',\r\n state: 'PA',\r\n zip: '18950',\r\n county: 'Bucks'\r\n };\r\n\r\n suggestedAddress: Address = {\r\n line1: '123 Some St.',\r\n line2: '',\r\n city: 'Quakertown',\r\n state: 'PA',\r\n zip: '18951',\r\n county: 'Bucks'\r\n };\r\n\r\n details$: Observable;\r\n\r\n constructor(private store: Store, private fb: FormBuilder, private ref: ChangeDetectorRef) {\r\n console.log('DistrictCreateComponent()...');\r\n }\r\n\r\n ngOnInit() {\r\n console.log('DistrictCreateComponent.ngOnInit()...');\r\n\r\n this.createForm();\r\n\r\n this.managerByNameLookup$ = this.store.pipe(select(fromScpStore.getLocationsStateLookup));\r\n this.managerByNameLookup$.pipe(\r\n takeWhile(() => this.alive)\r\n ).subscribe(managerByNameLookup => {\r\n this.managerByNameLookup = managerByNameLookup;\r\n\r\n if (this.hasDoneManagerLookupByName && managerByNameLookup && managerByNameLookup.managers && managerByNameLookup.name == this.lookupManagerName) {\r\n this.hasDoneManagerLookupByName = false;\r\n\r\n //Trigger the drop down\r\n if (!this.managerFoundationDropdown) {\r\n this.managerFoundationDropdown = new Foundation.Dropdown($(this.managerDropdown.nativeElement).first());\r\n }\r\n\r\n const native = $(this.managerDropdown.nativeElement).first();\r\n if (!native.hasClass('is-open'))\r\n native.foundation('open');\r\n this.ref.detectChanges();\r\n }\r\n });\r\n\r\n this.managerLookup$ = this.store.pipe(select(fromScpStore.getLocationsState));\r\n this.managerLookup$.pipe(\r\n takeWhile(() => this.alive)\r\n ).subscribe(managerLookup => {\r\n this.managerLookup = managerLookup;\r\n\r\n if (this.hasDoneManagerLookup && managerLookup\r\n && managerLookup.locationManagers[this.lookupManagerCode]) {\r\n if (managerLookup.locationManagers[this.lookupManagerCode].pending) {\r\n return;\r\n }\r\n\r\n this.hasDoneManagerLookup = false;\r\n\r\n if (managerLookup.locationManagers[this.lookupManagerCode].manager) {\r\n this.editor.controls.relationshipManagerName.patchValue(managerLookup.locationManagers[this.lookupManagerCode].manager.manager);\r\n\r\n return;\r\n }\r\n\r\n if (managerLookup.locationManagers[this.lookupManagerCode].error) {\r\n this.editor.controls.relationshipManagerCode.setErrors({ 'server': managerLookup.locationManagers[this.lookupManagerCode].error });\r\n this.store.dispatch(new fromRoot.DisplayMessage({\r\n message: managerLookup.locationManagers[this.lookupManagerCode].error,\r\n messageType: MessageType.alert,\r\n toast: false,\r\n }));\r\n }\r\n }\r\n });\r\n\r\n this.panelState$ = this.store.pipe(select(fromStore.getDetailsStatePhysAddrPanel));\r\n this.panelState$.pipe(\r\n takeWhile(() => this.alive),\r\n ).subscribe(ps => {\r\n console.log('panelState$ sub: ', ps);\r\n this.panelState = ps;\r\n this.zipLookup = ps.zipLookup;\r\n\r\n const zl = this.zipLookup;\r\n if (zl && zl.pending) {\r\n this.editor.controls.physicalCity.disable();\r\n this.editor.controls.physicalCounty.disable();\r\n this.editor.controls.physicalState.disable();\r\n this.editor.controls.physicalZip.disable();\r\n } else {\r\n this.editor.controls.physicalCity.enable();\r\n this.editor.controls.physicalCounty.enable();\r\n this.editor.controls.physicalState.enable();\r\n this.editor.controls.physicalZip.enable();\r\n }\r\n\r\n if (zl && zl.cityState != null) {\r\n this.editor.controls['physicalCity'].patchValue(zl.cityState.city);\r\n this.editor.controls['physicalState'].patchValue(zl.cityState.state);\r\n }\r\n });\r\n\r\n this.panelState$ = this.store.pipe(select(fromStore.getDetailsStateMailAddrPanel));\r\n this.panelState$.pipe(\r\n takeWhile(() => this.alive),\r\n ).subscribe(ps => {\r\n console.log('panelState$ sub: ', ps);\r\n this.panelState = ps;\r\n this.zipLookupMailing = ps.zipLookup;\r\n\r\n const zl = this.zipLookupMailing;\r\n if (zl && zl.pending) {\r\n this.editor.controls.mailingCity.disable();\r\n this.editor.controls.mailingCounty.disable();\r\n this.editor.controls.mailingState.disable();\r\n this.editor.controls.mailingZip.disable();\r\n } else {\r\n this.editor.controls.mailingCity.enable();\r\n this.editor.controls.mailingCounty.enable();\r\n this.editor.controls.mailingState.enable();\r\n this.editor.controls.mailingZip.enable();\r\n }\r\n\r\n if (zl && zl.cityState != null) {\r\n this.editor.controls['mailingCity'].patchValue(zl.cityState.city);\r\n this.editor.controls['mailingState'].patchValue(zl.cityState.state);\r\n }\r\n });\r\n\r\n this.counties$ = this.store.pipe(select(fromStore.getDetailsStateCounties));\r\n this.initCounties();\r\n\r\n this.details$ = this.store.pipe(select(fromStore.getDistrictDetailsState));\r\n this.details$.pipe(\r\n takeWhile(() => this.alive),\r\n ).subscribe(s => {\r\n console.log('detail$: ', s);\r\n\r\n if (s.creating) {\r\n this.hasSubmitted = true;\r\n }\r\n\r\n if (this.hasSubmitted && !s.creating) {\r\n this.hasSubmitted = false;\r\n this.ref.detectChanges();\r\n\r\n if (s.createdId !== null) {\r\n this.resetForm();\r\n this.action.emit(true);\r\n this.store.dispatch(new fromRoot.Go({ path: [`/districts/${s.createdId}`] }));\r\n }\r\n }\r\n });\r\n }\r\n\r\n ngOnDestroy() {\r\n console.log('DistrictCreateComponent.ngOnDestroy()...');\r\n this.alive = false;\r\n }\r\n\r\n initCounties() {\r\n console.log('initCounties()...');\r\n\r\n this.editor.get('physicalState').valueChanges.pipe(\r\n takeWhile(() => this.alive),\r\n ).subscribe(stateCode => {\r\n console.log(`physicalState.valueChanges: '${this.editor.value.physicalState}' -> '${stateCode}'`);\r\n\r\n if (stateCode != '' && stateCode != this.editor.value.physicalState) {\r\n //\tif the state is changed, we need to clear out the county so that the county dropdown will show the select option\r\n //\tif the state is changed back to the original state, however, set the county back to that of the original model\r\n this.editor.controls['physicalCounty'].patchValue(stateCode == this.editor.value.physicalState ? this.editor.value.physicalCounty : '');\r\n\r\n this.store.dispatch(new fromStore.DistrictLoadCounties({ panel: fromStore.PanelId.PhysAddr, stateCode }));\r\n }\r\n });\r\n }\r\n createForm() {\r\n this.editor = new FormGroup({\r\n districtName: new FormControl('', [Validators.required]),\r\n relationshipManagerCode: new FormControl('', [Validators.required]),\r\n relationshipManagerName: new FormControl(''),\r\n physicalLine1: new FormControl('', [Validators.required]),\r\n physicalLine2: new FormControl(''),\r\n physicalCity: new FormControl(''),\r\n physicalState: new FormControl(''),\r\n physicalZip: new FormControl('', [Validators.required, Validators.pattern(/^\\d{5}(?:-\\d{4})?$/)]),\r\n physicalCounty: new FormControl(''),\r\n mailingLine1: new FormControl('', [Validators.required]),\r\n mailingLine2: new FormControl(''),\r\n mailingCity: new FormControl(''),\r\n mailingState: new FormControl(''),\r\n mailingZip: new FormControl('', [Validators.required, Validators.pattern(/^\\d{5}(?:-\\d{4})?$/)]),\r\n mailingCounty: new FormControl(''),\r\n });\r\n }\r\n\r\n resetForm() {\r\n if (this.managerFoundationDropdown != null) {\r\n this.managerFoundationDropdown.destroy();\r\n }\r\n this.managerFoundationDropdown = null;\r\n\r\n this.editor.reset({\r\n districtName: '',\r\n relationshipManagerCode: '',\r\n relationshipManagerName: '',\r\n physicalLine1: '',\r\n physicalLine2: '',\r\n physicalCity: '',\r\n physicalState: '',\r\n physicalZip: '',\r\n physicalCounty: '',\r\n mailingLine1: '',\r\n mailingLine2: '',\r\n mailingCity: '',\r\n mailingState: '',\r\n mailingZip: '',\r\n mailingCounty: '',\r\n });\r\n\r\n this.submitted = false;\r\n }\r\n\r\n get inZipLookup(): boolean {\r\n return this.zipLookup != null && this.zipLookup.pending;\r\n }\r\n\r\n get hasZipLookupError(): boolean {\r\n const hasError = (this.editor.controls.physicalZip.enabled && !this.editor.controls.physicalZip.valid) || (this.zipLookup != null && this.zipLookup.errors != null);\r\n\r\n return hasError;\r\n }\r\n\r\n get disableZipLookup(): boolean {\r\n const zipCtrl = this.editor.controls.physicalZip;\r\n\r\n return zipCtrl.disabled || !zipCtrl.valid || this.inZipLookup;\r\n }\r\n\r\n onApplyZip(elem: any) {\r\n const zip = this.editor.value.physicalZip;\r\n\r\n console.log('DistrictAddressEditorComponent.onApplyZipcode(): ', zip);\r\n this.store.dispatch(new fromStore.DistrictAddressLookupCityState({ panel: fromStore.PanelId.PhysAddr, zip }));\r\n }\r\n\r\n get inZipLookupMailing(): boolean {\r\n return this.zipLookupMailing != null && this.zipLookupMailing.pending;\r\n }\r\n\r\n get hasZipLookupErrorMailing(): boolean {\r\n const hasError = (this.editor.controls.physicalZip.enabled && !this.editor.controls.physicalZip.valid) || (this.zipLookupMailing != null && this.zipLookupMailing.errors != null);\r\n\r\n return hasError;\r\n }\r\n\r\n get disableZipLookupMailing(): boolean {\r\n const zipCtrl = this.editor.controls.physicalZip;\r\n\r\n return zipCtrl.disabled || !zipCtrl.valid || this.inZipLookupMailing || this.isSameAsPhysical;\r\n }\r\n\r\n onApplyZipMailing(elem: any) {\r\n const zip = this.editor.value.mailingZip;\r\n\r\n console.log('DistrictAddressEditorComponent.onApplyZipcode(): ', zip);\r\n this.store.dispatch(new fromStore.DistrictAddressLookupCityState({ panel: fromStore.PanelId.MailAddr, zip }));\r\n }\r\n\r\n sameAsPhysicalChecked($event: any) {\r\n this.isSameAsPhysical = $event.currentTarget.checked;\r\n if (this.isSameAsPhysical) {\r\n this.editor.controls.mailingLine1.disable();\r\n this.editor.controls.mailingLine2.disable();\r\n this.editor.controls.mailingCity.disable();\r\n this.editor.controls.mailingState.disable();\r\n this.editor.controls.mailingZip.disable();\r\n this.editor.controls.mailingCounty.disable();\r\n\r\n this.editor.controls.mailingLine1.patchValue(this.editor.value.physicalLine1);\r\n this.editor.controls.mailingLine2.patchValue(this.editor.value.physicalLine2);\r\n this.editor.controls.mailingCity.patchValue(this.editor.value.physicalCity);\r\n this.editor.controls.mailingState.patchValue(this.editor.value.physicalState);\r\n this.editor.controls.mailingZip.patchValue(this.editor.value.physicalZip);\r\n this.editor.controls.mailingCounty.patchValue(this.editor.value.physicalCounty);\r\n }\r\n else {\r\n this.editor.controls.mailingLine1.enable();\r\n this.editor.controls.mailingLine2.enable();\r\n this.editor.controls.mailingCity.enable();\r\n this.editor.controls.mailingState.enable();\r\n this.editor.controls.mailingZip.enable();\r\n this.editor.controls.mailingCounty.enable();\r\n\r\n this.editor.controls.mailingLine1.patchValue('');\r\n this.editor.controls.mailingLine2.patchValue('');\r\n this.editor.controls.mailingCity.patchValue('');\r\n this.editor.controls.mailingState.patchValue('');\r\n this.editor.controls.mailingZip.patchValue('');\r\n this.editor.controls.mailingCounty.patchValue('');\r\n }\r\n\r\n this.ref.detectChanges();\r\n }\r\n\r\n lookupManager() {\r\n this.lookupManagerCode = Number(this.editor.value.relationshipManagerCode);\r\n\r\n this.hasDoneManagerLookup = true;\r\n this.store.dispatch(new fromScpStore.GetLocation({ code: this.lookupManagerCode }));\r\n }\r\n\r\n lookupManagerByName($event: any) {\r\n $event.stopPropagation();\r\n $event.preventDefault();\r\n\r\n this.lookupManagerName = this.editor.value.relationshipManagerName;\r\n\r\n if ($event.code == 'Escape' || $event.code == 'Tab') {\r\n const native = $(this.managerDropdown.nativeElement).first();\r\n if (native.hasClass('is-open'))\r\n native.foundation('close');\r\n } else {\r\n if (this.lookupManagerName && this.lookupManagerName.length > 3) {\r\n this.hasDoneManagerLookupByName = true;\r\n //Dispatch an action called EventSchoolSearchById\r\n this.store.dispatch(new fromScpStore.GetManagersByName({ name: this.lookupManagerName }));\r\n }\r\n }\r\n\r\n }\r\n\r\n selectManager(manager: fromScpModels.LocationManager) {\r\n if (manager) {\r\n this.editor.controls['relationshipManagerName'].patchValue(manager.manager);\r\n this.editor.controls['relationshipManagerCode'].patchValue(manager.code);\r\n }\r\n }\r\n\r\n onVerifyAddressModalAction(accept) {\r\n this.showVerifyAddress = false;\r\n }\r\n\r\n onModalAction(accept) {\r\n console.log('DistrictCreateComponenet.onModalAction(): ', accept);\r\n\r\n // If showing district create form\r\n if (this.districtFormNotAddressForm) {\r\n if (accept) {\r\n this.submitted = true;\r\n\r\n if (!this.editor.valid) {\r\n // Form is not legit, don't submit!\r\n // Don't emit event to close the modal form\r\n return;\r\n }\r\n\r\n // Form is good, move on to validating physical address first\r\n this.validatePhysicalAddress();\r\n }\r\n else {\r\n // Reset the form in case we show it again.\r\n this.resetForm();\r\n // Tell our container we've finished with our event create modal.\r\n this.action.emit(false);\r\n }\r\n }\r\n // If showing address validation form\r\n else {\r\n // If they accepted the results of the validation form\r\n if (accept) {\r\n // They accepted physical mailing address\r\n if (this.validatingPhysicalNotMailing) {\r\n // Use the suggested address as our physical one\r\n this.physicalAddress = this.suggestedAddress;\r\n // Move on to mailing address validation\r\n this.validateMailingAddress();\r\n }\r\n // Accepted mailing address\r\n else {\r\n // Use the suggested address as our mailing one\r\n this.mailingAddress = this.suggestedAddress;\r\n // Go ahead and create the district now\r\n this.createDistrict();\r\n }\r\n }\r\n // Else, they clicked \"EDIT\" to go back and make changes\r\n else {\r\n // Go back to district create form\r\n this.toggleForm(true, false);\r\n }\r\n }\r\n }\r\n\r\n createDistrict() {\r\n const district: DistrictCreate = {\r\n longName: this.editor.value.districtName,\r\n relationshipManagerCode: this.editor.value.relationshipManagerCode,\r\n physicalAddress: this.physicalAddress,\r\n mailingAddress: this.mailingAddress\r\n };\r\n\r\n this.store.dispatch(new fromStore.CreateDistrict({ district }));\r\n\r\n this.toggleForm(true, false);\r\n this.ref.detectChanges();\r\n }\r\n\r\n validatePhysicalAddress() {\r\n this.physicalAddress = {\r\n line1: this.editor.value.physicalLine1,\r\n line2: this.editor.value.physicalLine2,\r\n city: this.editor.value.physicalCity,\r\n state: this.editor.value.physicalState,\r\n zip: this.editor.value.physicalZip,\r\n county: this.editor.value.physicalCounty\r\n };\r\n\r\n this.store.dispatch(new fromStore.DistrictVerifyAddress({ panel: fromStore.PanelId.PhysAddr, address: this.physicalAddress }));\r\n\r\n //\tobserve results in store\r\n this.panelState$ = this.store.pipe(select(fromStore.getDetailsStatePhysAddrPanel));\r\n this.panelState$.pipe(\r\n tap(ps => console.log('onSubmit: ', ps)),\r\n filter(ps => !(ps as fromStore.AddressPanelState).verifying),\r\n first(),\r\n tap(ps => console.log('onSubmit: ', ps)),\r\n ).subscribe(ps => {\r\n this.hasSubmitted = false;\r\n\r\n console.log('subscribe: ', ps);\r\n const verifiedAddress = (ps as fromStore.AddressPanelState).verifiedAddress;\r\n\r\n // If we didn't get back a verified address or the addresses are a perfect match\r\n if (verifiedAddress == null || this.compareAddresses(this.physicalAddress, verifiedAddress)) {\r\n // Move onto mailingAddressValidation\r\n this.validateMailingAddress();\r\n }\r\n // Else, verified address is different. Show the verification form with the suggested address\r\n else {\r\n this.suggestedAddress = {\r\n ...verifiedAddress,\r\n county: this.editor.value.physicalCounty,\r\n };\r\n this.enteredAddress = this.physicalAddress;\r\n // Prompt to confirm physical mailing address validated address\r\n this.toggleForm(false, true);\r\n this.ref.detectChanges();\r\n }\r\n });\r\n\r\n }\r\n\r\n validateMailingAddress() {\r\n // Grab physical address for mailing if it's marked to be the same\r\n if (this.isSameAsPhysical) {\r\n this.mailingAddress = {\r\n ...this.physicalAddress,\r\n county: null\r\n };\r\n }\r\n else {\r\n // Otherwise, grab what they specified\r\n this.mailingAddress = {\r\n line1: this.editor.value.mailingLine1,\r\n line2: this.editor.value.mailingLine2,\r\n city: this.editor.value.mailingCity,\r\n state: this.editor.value.mailingState,\r\n zip: this.editor.value.mailingZip,\r\n county: null\r\n };\r\n }\r\n\r\n this.store.dispatch(new fromStore.DistrictVerifyAddress({ panel: fromStore.PanelId.PhysAddr, address: this.mailingAddress }));\r\n\r\n //\tobserve results in store\r\n this.panelState$ = this.store.pipe(select(fromStore.getDetailsStatePhysAddrPanel));\r\n this.panelState$.pipe(\r\n tap(ps => console.log('onSubmit: ', ps)),\r\n filter(ps => !(ps as fromStore.AddressPanelState).verifying),\r\n first(),\r\n tap(ps => console.log('onSubmit: ', ps)),\r\n ).subscribe(ps => {\r\n this.hasSubmitted = false;\r\n\r\n console.log('subscribe: ', ps);\r\n const verifiedAddress = (ps as fromStore.AddressPanelState).verifiedAddress;\r\n\r\n // If we didn't get back a verified address or the addresses are a perfect match\r\n if (verifiedAddress == null || this.compareAddresses(this.mailingAddress, verifiedAddress)) {\r\n // Move onto creating the district\r\n this.createDistrict();\r\n }\r\n // Else, verified address is different. Show the verification form with the suggested address\r\n else {\r\n this.suggestedAddress = {\r\n ...verifiedAddress,\r\n };\r\n this.enteredAddress = this.mailingAddress;\r\n // Prompt to confirm mailing mailing address validated address\r\n this.toggleForm(false, false);\r\n this.ref.detectChanges();\r\n }\r\n });\r\n }\r\n\r\n toggleForm(districtFormNotAddressForm: boolean, validatingPhysicalNotMailing: boolean) {\r\n this.districtFormNotAddressForm = districtFormNotAddressForm;\r\n\r\n if (this.districtFormNotAddressForm) {\r\n this.title = 'Create New District';\r\n this.primaryLabel = 'Create District';\r\n this.secondaryLabel = 'Cancel';\r\n }\r\n else {\r\n this.title = 'Address Correction';\r\n this.primaryLabel = 'Accept';\r\n this.secondaryLabel = 'Edit';\r\n\r\n this.validatingPhysicalNotMailing = validatingPhysicalNotMailing;\r\n }\r\n\r\n return;\r\n }\r\n\r\n private compareAddresses(first: Address, second: Address): boolean {\r\n return first.line1 == second.line1\r\n && first.line2 == second.line2\r\n && first.city == second.city\r\n && first.state == second.state\r\n && first.zip == second.zip;\r\n }\r\n}\r\n","\r\n \r\n
\r\n \r\n
\r\n
Required
\r\n
\r\n\r\n
\r\n Relationship Manager\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
Required
\r\n\t\t\t\t\t\t\t
{{ editor.controls.relationshipManagerCode.errors.server }}
\r\n\t\t\t\t\t\t
\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n
    \r\n
  • \r\n \r\n
  • \r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n Physical Address\r\n \r\n
\r\n
Required
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
    \r\n
  • Required and must be a valid zip code
  • \r\n
  • Unable to lookup city & state.
  • \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n\r\n
\r\n Mailing Address\r\n \r\n \r\n
\r\n
Required
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
    \r\n
  • Required and must be a valid zip code
  • \r\n
  • Unable to lookup city & state.
  • \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n \r\n \r\n
\r\n
\r\n

Entered Address:

\r\n
\r\n
    \r\n
  • \r\n
    Address Line 1
    \r\n
    {{ enteredAddress.line1 }}
    \r\n
  • \r\n
  • \r\n
    Address Line 2
    \r\n
    {{ enteredAddress.line2 }}
    \r\n
  • \r\n
  • \r\n
    City, State Zip
    \r\n
    {{ enteredAddress.city }}, {{ enteredAddress.state }} {{ enteredAddress.zip }}
    \r\n
  • \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n

Suggested Address:

\r\n
\r\n
    \r\n
  • \r\n
    Address Line 1
    \r\n
    {{ suggestedAddress.line1 }}
    \r\n
  • \r\n
  • \r\n
    Address Line 2
    \r\n
    {{ suggestedAddress.line2 }}
    \r\n
  • \r\n
  • \r\n
    City, State Zip
    \r\n
    {{ suggestedAddress.city }}, {{ suggestedAddress.state }} {{ suggestedAddress.zip }}
    \r\n
  • \r\n
\r\n
\r\n
\r\n \r\n
    \r\n
  • The United states Postal Service is unable to locate this address.
  • \r\n
\r\n
\r\n
\r\n
\r\n\r\n\r\n
\r\n
\r\n
\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\n\r\nimport { Observable } from 'rxjs';\r\nimport { switchMap } from 'rxjs/operators';\r\n\r\nimport { ConfigurationService } from '../../../core/services/ConfigurationService';\r\nimport { ConfigurationState } from '../../../core/store/reducers';\r\n\r\nimport { HistorySnapshot, HistoryDetails } from '../models/history.model';\r\n\r\n@Injectable()\r\nexport class HistoryService {\r\n\tconstructor(private http: HttpClient, private configuration: ConfigurationService) { }\r\n\r\n\tloadSnapshot(contextName: string, contextId: number, scope: string = 'Details'): Observable {\r\n\t\treturn this.configuration.config$.pipe(\r\n\t\t\tswitchMap((c: ConfigurationState) => {\r\n\t\t\t\treturn this.http.get(`${c.config.apiServer}api/history/snapshot/${contextName}/${contextId}/${scope}`);\r\n\t\t\t}),\r\n\t\t);\r\n\t}\r\n\r\n\tloadHistory(contextName: string, contextId: number, scope: string, fromDate: string, toDate: string): Observable {\r\n\t\tif (contextName.endsWith('s')) {\r\n\t\t\tcontextName = contextName.substring(0, contextName.length - 1);\r\n\t\t}\r\n\r\n\t\treturn this.configuration.config$.pipe(\r\n\t\t\tswitchMap((c: ConfigurationState) => {\r\n\t\t\t\treturn this.http.get(`${c.config.apiServer}api/history/${contextName}/${contextId}/${scope}?fromDate=${encodeURI(fromDate)}&toDate=${encodeURI(toDate)}`);\r\n\t\t\t}),\r\n\t\t);\r\n\t}\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\n\r\nimport { Observable } from 'rxjs';\r\nimport { ConfigurationService } from '../../../core/services/ConfigurationService';\r\nimport { ConfigurationState } from '../../../core/store/reducers';\r\nimport { switchMap } from 'rxjs/operators';\r\n\r\nimport { RentalCategory, OpusCategory } from '../models/taxonomy-model';\r\n\r\n@Injectable()\r\nexport class TaxonomyService {\r\n constructor(private http: HttpClient, private configuration: ConfigurationService) { }\r\n\r\n loadRentalCategories(): Observable {\r\n return this.configuration.config$.pipe(\r\n switchMap((c: ConfigurationState) => {\r\n return this.http.get(`${c.config.apiServer}api/taxonomy/rental/`);\r\n })\r\n );\r\n\t}\r\n\r\n\tloadBookCategories(): Observable {\r\n\t\treturn this.configuration.config$.pipe(\r\n\t\t\tswitchMap((c: ConfigurationState) => {\r\n\t\t\t\treturn this.http.get(`${c.config.apiServer}api/taxonomy/opus/books`);\r\n\t\t\t})\r\n\t\t);\r\n\t}\r\n}\r\n","import * as fromDistrictSearchResults from '../actions/district-searchresults.action';\r\nimport * as fromModels from '../../models';\r\nimport { HttpHeaders } from '@angular/common/http';\r\n\r\nexport interface SearchResultsState {\r\n searchResults: fromModels.DistrictSearchResultsItem[];\r\n searchCriteria: fromModels.DistrictSearchCriteria;\r\n pagingSorting: fromModels.DistrictPagingSorting;\r\n errors: any;\t//\tTODO: formalize error handling\r\n loading: boolean;\r\n loaded: boolean;\r\n}\r\n\r\nexport const initialState: SearchResultsState = {\r\n loading: false,\r\n loaded: false,\r\n searchResults: null,\r\n errors: null,\r\n searchCriteria: {\r\n id: null,\r\n longName: null,\r\n county: null,\r\n state: null,\r\n zip: null,\r\n radius: null,\r\n code: null,\r\n isSupervisory: null,\r\n isActive: null,\r\n PageNumber: null,\r\n PageSize: null,\r\n SortBy: null,\r\n SortDir: null\r\n },\r\n pagingSorting: {\r\n totalCount: null,\r\n pageSize: null,\r\n currentPage: null,\r\n totalPages: null,\r\n sortBy: null,\r\n sortDir: null\r\n }\r\n};\r\n\r\nexport function reducer(state = initialState, action: fromDistrictSearchResults.DistrictSearchResultsActions): SearchResultsState {\r\n switch (action.type) {\r\n case fromDistrictSearchResults.DistrictSearchResultsActionTypes.ProcessQueryString: {\r\n console.log('ProcessQueryString');\r\n console.log(action.payload);\r\n\r\n return {\r\n ...state,\r\n loaded: false,\r\n loading: false,\r\n errors: null\r\n };\r\n }\r\n\r\n case fromDistrictSearchResults.DistrictSearchResultsActionTypes.LoadDistrictSearchResults: {\r\n console.log('LoadDistrictSearchResults');\r\n console.log(action.payload);\r\n\t\t\treturn {\r\n ...state,\r\n loaded: false,\r\n loading: true,\r\n errors: null,\r\n // Anytime we request search results, let's update the state to include that\r\n // most recent criteria that was just passed.\r\n searchCriteria: action.payload\r\n\t\t\t};\r\n\t\t}\r\n\r\n case fromDistrictSearchResults.DistrictSearchResultsActionTypes.LoadDistrictSearchResultsSuccess: {\r\n const searchResults = action.payload;\r\n const headers = action.httpHeaders;\r\n\r\n\t\t\treturn {\r\n ...updateDistrictSearchResultsState(state, searchResults, headers),\r\n\t\t\t\tloaded: true,\r\n loading: false\r\n\t\t\t};\r\n\t\t}\r\n\r\n case fromDistrictSearchResults.DistrictSearchResultsActionTypes.LoadDistrictSearchResultsFailure: {\r\n\t\t\tconsole.log('reducer:', action);\r\n\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tloaded: false,\r\n\t\t\t\tloading: false,\r\n errors: action.payload\r\n\t\t\t};\r\n }\r\n\t}\r\n\r\n\treturn state;\r\n}\r\n\r\nfunction updateDistrictSearchResultsState(state: SearchResultsState, searchResults: fromModels.DistrictSearchResultsItem[], headers: HttpHeaders) {\r\n let pagingSorting: fromModels.DistrictPagingSorting;\r\n\r\n // Grab special header we use for paging\r\n const pagingHeader: string = headers.get('X-Pagination');\r\n const pagingObject: object = JSON.parse(pagingHeader);\r\n\r\n // Populate paging information from http headers\r\n pagingSorting = {\r\n totalCount: pagingObject['totalCount'],\r\n pageSize: pagingObject['pageSize'],\r\n currentPage: pagingObject['currentPage'],\r\n totalPages: pagingObject['totalPages'],\r\n sortBy: pagingObject['sortBy'],\r\n sortDir: pagingObject['sortDir']\r\n };\r\n\r\n\treturn {\r\n\t\t...state,\r\n searchResults,\r\n pagingSorting\r\n\t};\r\n}\r\n\r\nexport const getDistrictSearchResults = (state: SearchResultsState) => state.searchResults;\r\nexport const getDetailsStateLoading = (state: SearchResultsState) => state.loading;\r\nexport const getDetailsStateLoaded = (state: SearchResultsState) => state.loaded;\r\nexport const getDetailsStateErrors = (state: SearchResultsState) => state.errors;\r\n","import { Component } from '@angular/core';\r\nimport { FormBuilder, FormGroup } from '@angular/forms';\r\n\r\nimport { Observable } from 'rxjs';\r\nimport { takeWhile, tap } from 'rxjs/operators';\r\n\r\nimport { select, Store } from '@ngrx/store';\r\n\r\nimport { SchoolDetails } from '../models';\r\nimport * as fromStore from '../store';\r\n\r\n@Component({\r\n\tselector: 'opus-school-rental-returns-editor',\r\n\ttemplateUrl: './school-rental-returns-editor.component.html',\r\n})\r\nexport class SchoolRentalReturnsEditorComponent {\r\n\talive = true;\r\n\tschoolDetails$: Observable;\r\n\tpanelState$: Observable;\r\n\tschool: SchoolDetails;\r\n\tpanelState: fromStore.PanelState;\r\n\teditor: FormGroup;\r\n\tmonths: string[] = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'];\r\n\tdays: { [id: string]: string[] } = {};\r\n\tblackoutStart: Date;\r\n\tblackoutEnd: Date;\r\n\r\n\tconstructor(private store: Store, private fb: FormBuilder) {\r\n\t\tconsole.log('SchoolRentalReturnsEditorComponent()...');\r\n\t}\r\n\r\n\tngOnInit() {\r\n\t\tconsole.log('SchoolRentalReturnsEditorComponent.ngOnInit()...');\r\n\r\n\t\tthis.schoolDetails$ = this.store.pipe(select(fromStore.getSchoolDetailsEntity));\r\n\t\tthis.schoolDetails$.pipe(\r\n\t\t\ttakeWhile(() => this.alive)\r\n\t\t).subscribe(s => this.school = s);\r\n\r\n\t\tthis.panelState$ = this.store.pipe(select(fromStore.getDetailsStateRentalReturnsPanel));\r\n\t\tthis.panelState$.pipe(\r\n\t\t\ttakeWhile(() => this.alive),\r\n\t\t\ttap(s => {\r\n\t\t\t\tif (!s.editing && this.panelState && this.panelState.editing) {\r\n\t\t\t\t\tconsole.log('SchoolRentalReturnsEditorComponent.panelState$: clearing form...');\r\n\t\t\t\t\tthis.resetForm();\r\n\t\t\t\t}\r\n\t\t\t}),\r\n\t\t).subscribe(s => this.panelState = s);\r\n\r\n\t\tthis.createForm();\r\n\t}\r\n\r\n\tngOnDestroy() {\r\n\t\tconsole.log('SchoolRentalReturnsEditorComponent.ngOnDestroy()...');\r\n\t\tthis.alive = false;\r\n\t}\r\n\r\n\tcreateForm() {\r\n\t\tthis.blackoutStart = this.school.blackoutStart\r\n\t\t\t? new Date(Date.parse(this.school.blackoutStart))\r\n\t\t\t: new Date(9999, 0, 1);\r\n\t\tthis.blackoutEnd = this.school.blackoutEnd\r\n\t\t\t? new Date(Date.parse(this.school.blackoutEnd))\r\n\t\t\t: new Date(9999, 0, 1);\r\n\r\n\t\tthis.editor = this.fb.group({\r\n\t\t\treturnsAllowed: [this.returnsAllowed],\r\n\t\t\tsessionLocation: [this.school.sessionLocation],\r\n\t\t\tsummerLocation: [this.school.summerLocation],\r\n\t\t\thasBlackoutPeriod: [this.hasBlackoutPeriod],\r\n\t\t\tblackoutStartMonth: [this.blackoutStart.getMonth()],\r\n\t\t\tblackoutStartDay: [this.blackoutStart.getDate()],\r\n\t\t\tblackoutEndMonth: [this.blackoutEnd.getMonth()],\r\n\t\t\tblackoutEndDay: [this.blackoutEnd.getDate()],\r\n\t\t});\r\n\r\n\t\tthis.initMonthChanges();\r\n\t}\r\n\r\n\tresetForm() {\r\n\t\tthis.editor.reset({\r\n\t\t\treturnsAllowed: this.returnsAllowed,\r\n\t\t\tsessionLocation: this.school.sessionLocation,\r\n\t\t\tsummerLocation: this.school.summerLocation,\r\n\t\t\thasBlackoutPeriod: this.hasBlackoutPeriod,\r\n\t\t\tblackoutStartMonth: this.blackoutStart.getMonth(),\r\n\t\t\tblackoutStartDay: this.blackoutStart.getDate(),\r\n\t\t\tblackoutEndMonth: this.blackoutEnd.getMonth(),\r\n\t\t\tblackoutEndDay: this.blackoutEnd.getDate(),\r\n\t\t});\r\n\t}\r\n\r\n\tinitMonthChanges() {\r\n\t\tconst keys: string[] = ['blackoutStart', 'blackoutEnd'];\r\n\r\n\t\tfor (const key of keys) {\r\n\t\t\tthis.days[this[key].getMonth()] = this.getDaysInMonth(this[key].getMonth());\r\n\r\n\t\t\tthis.editor.get(key + 'Month').valueChanges.pipe(\r\n\t\t\t\ttakeWhile(() => this.alive),\r\n\t\t\t).subscribe(val => {\r\n\t\t\t\tconsole.log(key + 'Month.valueChanges: ', val);\r\n\r\n\t\t\t\tif (!this.days[val]) {\r\n\t\t\t\t\tthis.days[val] = this.getDaysInMonth(val);\r\n\t\t\t\t}\r\n\r\n\t\t\t\tconst ctrl = this.editor.get(key + 'Day');\r\n\t\t\t\tconst lastDay = this.days[val][this.days[val].length - 1];\r\n\r\n\t\t\t\tif (+ctrl.value > +lastDay) {\r\n\t\t\t\t\tctrl.setValue(lastDay, { emitEvent: false });\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t}\r\n\t}\r\n\r\n\tgetDaysInMonth(month) {\r\n\t\tconst days: string[] = [];\r\n\r\n\t\tfor (let i = 1; i <= new Date(9999, +month + 1, 0).getDate(); i++) {\r\n\t\t\tdays.push(i.toString());\r\n\t\t}\r\n\r\n\t\treturn days;\r\n\t}\r\n\r\n\tget canSave(): boolean {\r\n\t\treturn this.editor.valid && this.editor.dirty;\r\n\t}\r\n\r\n\tget saveButtonLabel(): string {\r\n\t\treturn this.panelState.updating ? 'Saving...' : 'Save';\r\n\t}\r\n\r\n\tget returnsAllowed() {\r\n\t\treturn this.school.returnsAllowed ? 'Yes' : 'No';\r\n\t}\r\n\r\n\tget hasBlackoutPeriod() {\r\n\t\treturn this.school.hasBlackoutPeriod ? 'Yes' : 'No';\r\n\t}\r\n\r\n\tonSubmit() {\r\n\t\tconsole.log('onSubmit: ', this.editor.status, this.editor.value);\r\n\r\n\t\tconst hasBlackOutPeriod = this.editor.value.hasBlackoutPeriod == 'Yes';\r\n\t\tconst blackoutStart = hasBlackOutPeriod ? `${+this.editor.value.blackoutStartMonth + 1}/${this.editor.value.blackoutStartDay}/9999` : this.school.blackoutStart;\r\n\t\tconst blackoutEnd = hasBlackOutPeriod ? `${+this.editor.value.blackoutEndMonth + 1}/${this.editor.value.blackoutEndDay}/9999` : this.school.blackoutEnd;\r\n\r\n\t\tconst school = {\r\n\t\t\t...this.school,\r\n\t\t\treturnsAllowed: this.editor.value.returnsAllowed == 'Yes',\r\n\t\t\tsessionLocation: this.editor.value.sessionLocation,\r\n\t\t\tsummerLocation: this.editor.value.summerLocation,\r\n\t\t\thasBlackoutPeriod: this.editor.value.hasBlackoutPeriod == 'Yes',\r\n\t\t\tblackoutStart,\r\n\t\t\tblackoutEnd,\r\n\t\t};\r\n\r\n\t\tthis.store.dispatch(new fromStore.UpdateSchoolPanel({ panel: fromStore.PanelId.RentalReturns, school }));\r\n\t}\r\n}\r\n","
\r\n\t
\r\n\t
    \r\n\t\t
  • \r\n\t\t\t\r\n\t\t\t
    \r\n\t\t\t\t\r\n\t\t\t
    \r\n\t\t
  • \r\n\t\t
  • \r\n\t\t\t\r\n\t\t\t
    \r\n\t\t\t\t\r\n\t\t\t
    \r\n\t\t
  • \r\n\t\t
  • \r\n\t\t\t\r\n\t\t\t
    \r\n\t\t\t\t\r\n\t\t\t
    \r\n\t\t
  • \r\n\t\t
  • \r\n\t\t\t\r\n\t\t\t
    \r\n\t\t\t\t\r\n\t\t\t
    \r\n\t\t
  • \r\n\t\t\r\n\t\t\t
  • \r\n\t\t\t\t\r\n\t\t\t\t
    \r\n\t\t\t\t\t
    \r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t
    \r\n\t\t\t\t
    \r\n\t\t\t
  • \r\n\t\t\t
  • \r\n\t\t\t\t\r\n\t\t\t\t
    \r\n\t\t\t\t\t
    \r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t
    \r\n\t\t\t\t
    \r\n\t\t\t
  • \r\n\t\t
    \r\n\t
\r\n\t
\r\n\t\t
\r\n\t\t\t\r\n\t\t
\r\n\t
\r\n
\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\n\r\nimport { Observable } from 'rxjs';\r\nimport { switchMap } from 'rxjs/operators';\r\n\r\nimport { ConfigurationService } from './ConfigurationService';\r\nimport { ConfigurationState } from '../store/reducers';\r\n\r\nimport { RolePolicy } from '../models';\r\n\r\n@Injectable()\r\nexport class SecurityService {\r\n constructor(private http: HttpClient, private configuration: ConfigurationService) { }\r\n\r\n getRolePolicies(): Observable {\r\n return this.configuration.config$.pipe(\r\n switchMap((c: ConfigurationState) => {\r\n return this.http.get(`${c.config.apiServer}api/security`);\r\n })\r\n );\r\n }\r\n}\r\n","import { ActionReducerMap, createFeatureSelector } from '@ngrx/store';\r\n\r\nimport * as fromDistribution from './distribution.reducer';\r\n\r\nexport interface DistributionState {\r\n\tdetails: fromDistribution.DistributionDetailsState;\r\n}\r\n\r\nexport const reducers: ActionReducerMap = {\r\n\tdetails: fromDistribution.reducer,\r\n};\r\n\r\nexport const getDistributionState = createFeatureSelector('distribution');\r\n\r\nexport { DistributionDetailsState } from './distribution.reducer';\r\n","import { LayoutComponent } from './layout.component';\r\nimport { QuickSearchComponent } from './quick-search.component';\r\nimport { AccountDropdownComponent } from './account-dropdown.component';\r\nimport { GlobalNavComponent } from './global-nav.component';\r\nimport { ModalComponent } from './modal.component';\r\nimport { MessageComponent } from './message.component';\r\nimport { StepsComponent } from './steps.component';\r\nimport { StepComponent } from './step.component';\r\nimport { TabsComponent } from './tabs.component';\r\nimport { TabComponent } from './tab.component';\r\nimport { UnauthorizedComponent } from './unauthorized.component';\r\nimport { NotFoundComponent } from './not-found.component';\r\nimport { UnexpectedErrorComponent } from './unexpected-error.component';\r\nimport { HomeComponent } from './home.component';\r\n\r\nexport const components: any[] = [\r\n\tLayoutComponent,\r\n\tQuickSearchComponent,\r\n\tAccountDropdownComponent,\r\n\tGlobalNavComponent,\r\n ModalComponent,\r\n\tMessageComponent,\r\n\tStepsComponent,\r\n\tStepComponent,\r\n\tTabsComponent,\r\n TabComponent,\r\n UnauthorizedComponent,\r\n NotFoundComponent,\r\n UnexpectedErrorComponent,\r\n HomeComponent\r\n];\r\n\r\nexport * from './layout.component';\r\nexport * from './quick-search.component';\r\nexport * from './account-dropdown.component';\r\nexport * from './global-nav.component';\r\nexport * from './modal.component';\r\nexport * from './message.component';\r\nexport * from './steps.component';\r\nexport * from './step.component';\r\nexport * from './tabs.component';\r\nexport * from './tab.component';\r\nexport * from './unauthorized.component';\r\nexport * from './not-found.component';\r\nexport * from './unexpected-error.component';\r\nexport * from './home.component';\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { RouterModule } from '@angular/router';\r\nimport { ReactiveFormsModule } from '@angular/forms';\r\n\r\nimport { BsDatepickerModule } from 'ngx-bootstrap/datepicker';\r\n\r\nimport { StoreModule } from '@ngrx/store';\r\nimport { EffectsModule } from '@ngrx/effects';\r\n\r\nimport { CoreModule } from '../../core/core.module';\r\n\r\nimport { reducers, effects } from './store';\r\n\r\nimport { YesNoPipe } from './pipes/yes-no.pipe';\r\nimport * as fromServices from './services';\r\nimport * as fromGuards from './guards';\r\nimport * as fromComponents from './components';\r\nimport * as fromContainers from './containers';\r\n\r\n@NgModule({\r\n imports: [\r\n CoreModule,\r\n CommonModule,\r\n ReactiveFormsModule,\r\n BsDatepickerModule.forRoot(),\r\n RouterModule,\r\n /**\r\n * StoreModule.forFeature is used for composing state\r\n * from feature modules. These modules can be loaded\r\n * eagerly or lazily and will be dynamically added to\r\n * the existing state.\r\n */\r\n StoreModule.forFeature('scp', reducers),\r\n\r\n /**\r\n * Effects.forFeature is used to register effects\r\n * from feature modules. Effects can be loaded\r\n * eagerly or lazily and will be started immediately.\r\n *\r\n * All Effects will only be instantiated once regardless of\r\n * whether they are registered once or multiple times.\r\n */\r\n EffectsModule.forFeature(effects)\r\n ],\r\n declarations: [...fromComponents.components, ...fromContainers.containers, YesNoPipe],\r\n exports: [...fromComponents.components, ...fromContainers.containers, YesNoPipe],\r\n providers: [...fromServices.services, ...fromGuards.guards]\r\n})\r\nexport class ScpCommonModule { }\r\n","import { Component, OnInit, Input, OnChanges } from '@angular/core';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\n\r\nimport { Observable, Subscription } from 'rxjs';\r\n\r\nimport { select, Store } from '@ngrx/store';\r\n\r\nimport * as fromStore from '../store';\r\nimport * as fromRoot from '../../../core/store';\r\nimport * as fromModels from '../models';\r\nimport { SchoolDetails } from '../../schools/models';\r\nimport { District } from '../../districts/models';\r\n\r\n@Component({\r\n\tselector: 'opus-teacher-searchresults-page',\r\n\ttemplateUrl: './teacher-searchresults.component.html',\r\n})\r\nexport class TeacherSearchResultsComponent implements OnInit, OnChanges {\r\n //@Input() teachersState: fromStore.TeachersState;\r\n @Input() school: SchoolDetails;\r\n @Input() district: District;\r\n searchResultsState$: Observable;\r\n\r\n showModal = false;\r\n\r\n private _subscription: Subscription;\r\n private _searchCriteria: fromModels.TeacherSearchCriteria;\r\n private _pagingSorting: fromModels.TeacherPagingSorting;\r\n embeddedVersion = false;\r\n\r\n constructor(private route: ActivatedRoute, private router: Router, private _store: Store) {\r\n\t\tconsole.log('TeacherSearchResultsComponent: constructor().');\r\n\t}\r\n\r\n\tngOnInit() {\r\n console.log('TeacherSearchResultsComponent: ngOnInit().');\r\n // Get results of search (so our html can populate)\r\n this.searchResultsState$ = this._store.pipe(select(fromStore.getTeacherSearchState));\r\n // Grab the current search criteria stored in the state\r\n console.log(this.searchResultsState$);\r\n this._subscription = this.searchResultsState$.subscribe(s => {\r\n this._searchCriteria = s.searchCriteria;\r\n this._pagingSorting = s.pagingSorting;\r\n });\r\n\r\n // If a teacher is specified, we want to treat the results\r\n // as an embedded version (in teacher details specifically)\r\n if (this.school != null) {\r\n this.embeddedVersion = true;\r\n // Load results based on specified tacher\r\n this._store.dispatch(new fromStore.GetResultsForSchool(this.school, this._searchCriteria));\r\n }\r\n // Same goes for a district\r\n else if (this.district != null) {\r\n this.embeddedVersion = true;\r\n // Load results based on specified district\r\n this._store.dispatch(new fromStore.GetResultsForDistrict(this.district, this._searchCriteria));\r\n }\r\n if (this.school === null && this.district === null) {\r\n // If query params are changed, process them\r\n this.route.queryParams.subscribe(val => {\r\n this._store.dispatch(new fromStore.ProcessQueryString(this.router.url));\r\n });\r\n }\r\n }\r\n\r\n ngOnChanges() {\r\n\r\n }\r\n\r\n nextPage() {\r\n console.log('TeacherSearchResultsComponent: nextPage().');\r\n\r\n // Run the search again with the new parameters\r\n this._store.dispatch(new fromStore.NextPage(this._searchCriteria, this._pagingSorting));\r\n }\r\n\r\n prevPage() {\r\n console.log('TeacherSearchResultsComponent: prevPage().');\r\n\r\n // Run the search again with the new parameters\r\n this._store.dispatch(new fromStore.PrevPage(this._searchCriteria, this._pagingSorting));\r\n }\r\n\r\n setPageSize(pageSize: number) {\r\n console.log('TeacherSearchResultsComponent: setPageSize().');\r\n\r\n // Run the search again with the new parameters\r\n this._store.dispatch(new fromStore.SetPageSize(pageSize, this._searchCriteria));\r\n }\r\n\r\n lastPage() {\r\n console.log('TeacherSearchResultsComponent: lastPage().');\r\n\r\n // Run the search again with the new parameters\r\n this._store.dispatch(new fromStore.LastPage(this._searchCriteria, this._pagingSorting));\r\n }\r\n\r\n firstPage() {\r\n console.log('TeacherSearchResultsComponent: firstPage().');\r\n\r\n // Run the search again with the new parameters\r\n this._store.dispatch(new fromStore.FirstPage(this._searchCriteria, this._pagingSorting));\r\n }\r\n\r\n sortBy(column: string) {\r\n console.log('TeacherSearchResultsComponent: sortBy().');\r\n\r\n // Run the search again with the new parameters\r\n this._store.dispatch(new fromStore.SortBy(column, this._searchCriteria, this._pagingSorting));\r\n }\r\n\r\n selectTeacher(teacher: Number) {\r\n console.log(`selectTeacher ${teacher}`);\r\n this._store.dispatch(new fromRoot.Go({\r\n path: [`teachers/${teacher}`]\r\n }));\r\n }\r\n\r\n selectPreferenceSet(teacherId: Number) {\r\n // TODO: How do I navigate to a preference set?\r\n console.log(`selectPreferenceSet for ${teacherId}`);\r\n console.log('TODO: Need to implement preferences route.');\r\n /*\r\n this._store.dispatch(new fromRoot.Go({\r\n path: [`teachers/${teacherId}/preferences`]\r\n }));\r\n */\r\n }\r\n\r\n createTeacher() {\r\n console.log('createTeacher');\r\n this.showModal = true;\r\n //this._store.dispatch(new fromRoot.Go({\r\n // path: [`events/create`]\r\n //}));\r\n }\r\n\r\n createTeacherClosed(created) {\r\n if (created) {\r\n console.log('Teacher created');\r\n }\r\n else {\r\n console.log('Teacher create was canceled');\r\n }\r\n\r\n // Reset our flag so we can show the modal again later if we want to.\r\n this.showModal = false;\r\n }\r\n}\r\n","
\r\n

\r\n Back to Search\r\n

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

Teachers

\r\n

Teachers

\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n Showing {{(searchResultsState$ | async).pagingSorting.pageSize * ((searchResultsState$ | async).pagingSorting.currentPage - 1) + 1}} -\r\n {{(searchResultsState$ | async).pagingSorting.pageSize > (searchResultsState$ | async).pagingSorting.totalCount ? (searchResultsState$ | async).pagingSorting.totalCount : (searchResultsState$ | async).pagingSorting.pageSize * (searchResultsState$ | async).pagingSorting.currentPage}} of\r\n {{(searchResultsState$ | async).pagingSorting.totalCount}}\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n Showing {{(searchResultsState$ | async).pagingSorting.pageSize * ((searchResultsState$ | async).pagingSorting.currentPage - 1) + 1}} -\r\n {{(searchResultsState$ | async).pagingSorting.pageSize > (searchResultsState$ | async).pagingSorting.totalCount ? (searchResultsState$ | async).pagingSorting.totalCount : (searchResultsState$ | async).pagingSorting.pageSize * (searchResultsState$ | async).pagingSorting.currentPage}} of\r\n {{(searchResultsState$ | async).pagingSorting.totalCount}}\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n","import { Component, Input } from '@angular/core';\r\n\r\nimport { ProgramDetails } from '../../models';\r\nimport { RelationshipType } from '../../../scp-common/models';\r\n\r\n@Component({\r\n\tselector: 'opus-program-relationshipmanager',\r\n\ttemplateUrl: './program-relationshipmanager.component.html',\r\n})\r\nexport class ProgramRelationshipManagerComponent {\r\n @Input() program: ProgramDetails;\r\n\r\n get relationshipType() {\r\n return RelationshipType[this.program.school.relationshipType.relationshipType];\r\n }\r\n}\r\n","
\r\n
\r\n

Relationship Manager

\r\n
\r\n
    \r\n
  • \r\n
    Inherit Manager
    \r\n
    {{ program.school.inheritRelationshipManager | yesNo }}
    \r\n
  • \r\n
  • \r\n
    Manager ID
    \r\n
    {{ program.school.relationshipManager.locationCode }}
    \r\n
  • \r\n
  • \r\n
    Manager Name
    \r\n
    {{ program.school.relationshipManager.name }}
    \r\n
  • \r\n
  • \r\n
    Inherit Relationship Type
    \r\n
    {{ program.school.inheritRelationshipType | yesNo }}
    \r\n
  • \r\n
  • \r\n
    Relationship Type
    \r\n
    {{ relationshipType }}
    \r\n
  • \r\n
\r\n
","import { Component, OnInit, ChangeDetectorRef } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { select, Store } from '@ngrx/store';\r\nimport { Message, MessageType } from '../models';\r\nimport * as fromStore from '../store';\r\n\r\n@Component({\r\n selector: 'opus-message',\r\n templateUrl: './message.component.html',\r\n})\r\nexport class MessageComponent implements OnInit {\r\n isActive = true;\r\n\tmessageType = 'messages--info';\r\n message: Message;\r\n message$: Observable;\r\n\r\n constructor(private store: Store, private ref: ChangeDetectorRef) {\r\n this.message$ = this.store.pipe(select(fromStore.getMessageState));\r\n this.message$.subscribe(m => {\r\n this.message = m.message;\r\n\r\n if (this.message) {\r\n this.messageType = 'messages--' + MessageType[this.message.messageType];\r\n this.ref.detectChanges();\r\n }\r\n\r\n if (this.message && this.message.toast) {\r\n setTimeout(() => {\r\n this.store.dispatch(new fromStore.ClearMessage());\r\n this.ref.detectChanges();\r\n }, 3000);\r\n }\r\n }\r\n );\r\n }\r\n\r\n ngOnInit() {\r\n\r\n }\r\n\r\n action() {\r\n this.store.dispatch(new fromStore.ClearMessage());\r\n }\r\n\r\n}\r\n\r\n","
\r\n
{{ message?.message }}
\r\n
\r\n \r\n
\r\n
","import { Component, OnInit, OnDestroy } from '@angular/core';\r\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\n\r\nimport { Observable } from 'rxjs';\r\nimport { takeWhile, tap } from 'rxjs/operators';\r\n\r\nimport { select, Store } from '@ngrx/store';\r\n\r\nimport { SchoolDetails, SchoolType } from '../models';\r\nimport * as fromStore from '../store';\r\n\r\n@Component({\r\n\tselector: 'opus-school-contacts-editor',\r\n\ttemplateUrl: './school-contacts-editor.component.html',\r\n})\r\nexport class SchoolContactsEditorComponent implements OnInit, OnDestroy {\r\n\talive = true;\r\n\tschoolDetails$: Observable;\r\n\tpanelState$: Observable;\r\n\tschool: SchoolDetails;\r\n\tpanelState: fromStore.PanelState;\r\n\teditor: FormGroup;\r\n\r\n\tconstructor(private store: Store, private fb: FormBuilder) {\r\n\t\tconsole.log('SchoolContactsEditorComponent()...');\r\n\t}\r\n\r\n\tngOnInit() {\r\n\t\tconsole.log('SchoolContactsEditorComponent.ngOnInit()...');\r\n\r\n\t\tthis.schoolDetails$ = this.store.pipe(select(fromStore.getSchoolDetailsEntity));\r\n\t\tthis.schoolDetails$.pipe(\r\n\t\t\ttakeWhile(() => this.alive)\r\n\t\t).subscribe(s => this.school = s);\r\n\r\n\t\tthis.panelState$ = this.store.pipe(select(fromStore.getDetailsStateContactsPanel));\r\n\t\tthis.panelState$.pipe(\r\n\t\t\ttakeWhile(() => this.alive),\r\n\t\t\ttap(s => {\r\n\t\t\t\tif (!s.editing && this.panelState && this.panelState.editing) {\r\n\t\t\t\t\tconsole.log('SchoolContactsEditorComponent.panelState$: clearing form...');\r\n\t\t\t\t\tthis.resetForm();\r\n\t\t\t\t}\r\n\t\t\t}),\r\n\t\t).subscribe(s => this.panelState = s);\r\n\r\n\t\tthis.createForm();\r\n\t}\r\n\r\n\tngOnDestroy() {\r\n\t\tconsole.log('SchoolContactsEditorComponent.ngOnDestroy()...');\r\n\t\tthis.alive = false;\r\n\t}\r\n\r\n createForm() {\r\n const isPhoneRequired = this.school.type === SchoolType.PUBLIC || this.school.type === SchoolType.PRIVATE || this.school.type === SchoolType.COLLEGE || this.school.type === SchoolType.CHARTER;\r\n\t\tthis.editor = this.fb.group({\r\n phone: [this.school.phone, [isPhoneRequired ? Validators.required : Validators.nullValidator, Validators.pattern('^([0-9]{10})?$')]],\t//\tTODO: need a better validator for this...\r\n\t\t\tfax: [this.school.fax, Validators.pattern('^([0-9]{10})?$')],\t\t//\tTODO: need a better validator for this...\r\n\t\t\twebsite: [this.school.website],\t\t\t\t\t\t\t\t\t//\tTODO: url validation...\r\n\t\t});\r\n\t}\r\n\r\n\tresetForm() {\r\n\t\tthis.editor.reset({\r\n\t\t\tphone: this.school.phone,\r\n\t\t\tfax: this.school.fax,\r\n\t\t\twebsite: this.school.website,\r\n\t\t});\r\n\t}\r\n\r\n\tget canSave(): boolean {\r\n\t\treturn this.editor.valid && this.editor.dirty;\r\n\t}\r\n\r\n\tget saveButtonLabel(): string {\r\n\t\treturn this.panelState.updating ? 'Saving...' : 'Save';\r\n\t}\r\n\r\n\tonSubmit() {\r\n\t\tconst school = { ...this.school };\r\n\t\tObject.keys(this.editor.value).forEach(key => {\r\n\t\t\tschool[key] = this.editor.value[key];\r\n\t\t});\r\n\r\n\t\tthis.store.dispatch(new fromStore.UpdateSchoolPanel({ panel: fromStore.PanelId.Contacts, school }));\r\n\t}\r\n}\r\n","
\r\n\t
\r\n\t
    \r\n\t\t
  • \r\n\t\t\t\r\n\t\t\t
    \r\n\t\t\t\t\r\n\t\t\t\t
    \r\n\t\t\t\t\t
    Phone is required for this type of school.
    \r\n\t\t\t\t
    \r\n\t\t\t
    \r\n\t\t
  • \r\n\t\t
  • \r\n\t\t\t\r\n\t\t\t
    \r\n\t\t\t\t\r\n\t\t\t
    \r\n\t\t
  • \r\n\t\t
  • \r\n\t\t\t\r\n\t\t\t
    \r\n\t\t\t\t\r\n\t\t\t
    \r\n\t\t
  • \r\n\t
\r\n\t
\r\n\t\t
\r\n\t\t\t\r\n\t\t
\r\n\t
\r\n
\r\n","import * as fromComponents from './components';\r\nimport * as fromContainers from './containers';\r\nimport * as fromGuards from './guards';\r\nimport { reducers, effects } from './store';\r\n\r\nexport * from './components';\r\nexport * from './containers';\r\nexport * from './guards';\r\nexport * from './store';\r\n","import { TeacherSearchResultsEffects } from './teacher-searchresults.effect';\r\nimport { TeacherDetailsEffects } from './teacher-details.effect';\r\n\r\nexport const effects: any[] = [TeacherDetailsEffects, TeacherSearchResultsEffects];\r\n\r\nexport * from './teacher-searchresults.effect';\r\nexport * from './teacher-details.effect';\r\n","import { createSelector } from '@ngrx/store';\r\n\r\nimport * as fromFeature from '../reducers';\r\n\r\nexport const getProgramCreateState = createSelector(\r\n\tfromFeature.getProgramsState,\r\n\t(state: fromFeature.ProgramsState) => state.create\r\n);\r\n","import { ShippingChargesHeader } from './shipping-charges-header.component';\r\nimport { ShippingChargesTableComponent } from './shipping-charges-table.component';\r\n\r\nexport const components: any[] = [\r\n\tShippingChargesHeader,\r\n\tShippingChargesTableComponent\r\n];\r\n\r\nexport * from './shipping-charges-header.component';\r\nexport * from './shipping-charges-table.component';\r\n","import { createSelector } from '@ngrx/store';\r\n\r\nimport * as fromFeature from '../reducers';\r\nimport * as fromTeacherSearchResults from '../reducers/searchresults.reducer';\r\n\r\nexport const getTeacherSearchState = createSelector(\r\n fromFeature.getTeachersState,\r\n (state: fromFeature.TeachersState) => state.search\r\n);\r\nexport const getTeacherSearchResultsState = createSelector(\r\n getTeacherSearchState,\r\n fromTeacherSearchResults.getTeacherSearchResults\r\n);\r\n/*\r\nexport const getDetailsStateTeacher = createSelector(\r\n\tgetTeacherDetailsState,\r\n\tfromTeacherDetails.getDetailsStateTeacher\r\n);\r\n\r\nexport const getDetailsStateLoaded = createSelector(\r\n\tgetTeacherDetailsState,\r\n\tfromTeacherDetails.getDetailsStateLoaded\r\n);\r\n\r\nexport const getDetailsStateLoading = createSelector(\r\n\tgetTeacherDetailsState,\r\n\tfromTeacherDetails.getDetailsStateLoading\r\n);\r\n\r\nexport const getDetailsStateInfoState = createSelector(\r\n\tgetTeacherDetailsState,\r\n\tfromTeacherDetails.getDetailsStateInfoState\r\n);\r\n\r\nexport const getDetailsStateErrors = createSelector(\r\n\tgetTeacherDetailsState,\r\n\tfromTeacherDetails.getDetailsStateErrors\r\n);\r\n\r\nexport const getDetailsRelationshipManagerState = createSelector(\r\n\tgetTeacherDetailsState,\r\n\tfromTeacherDetails.getDetailsStateRelationshipManagerState\r\n);\r\n*/\r\n","import { Action } from '@ngrx/store';\r\n\r\nimport { TeacherSearchResultsItem, TeacherSearchCriteria, TeacherPagingSorting } from '../../models';\r\nimport { HttpHeaders } from '@angular/common/http';\r\nimport { SchoolDetails } from '../../../schools/models';\r\nimport { District } from '../../../districts/models';\r\n\r\nexport enum TeacherSearchResultsActionTypes {\r\n ProcessQueryString = '[TeacherSearchResults] Process Query String',\r\n\tLoadTeacherSearchResults = '[TeacherSearchResults] Load Search Results',\r\n LoadTeacherSearchResultsSuccess = '[TeacherSearchResults] Load Teacher Success',\r\n LoadTeacherSearchResultsFailure = '[TeacherSearchResults] Load Teacher Details Failure',\r\n UpdateEditorState = '[TeacherSearchResults] Update Editor State',\r\n UpdateTeacherInfo = '[TeacherSearchResults] Update Teacher Info',\r\n UpdateTeacherInfoSuccess = '[TeacherSearchResults] Update Teacher Info Success',\r\n UpdateTeacherInfoFailure = '[TeacherSearchResults] Update Teacher Info Failure',\r\n NextPage = '[TeacherSearchResults] Next Page',\r\n PrevPage = '[TeacherSearchResults] Prev Page',\r\n SetPageSize = '[TeacherSearchResults] Set Page Size',\r\n LastPage = '[TeacherSearchResults] Last Page',\r\n FirstPage = '[TeacherSearchResults] First Page',\r\n SortBy = '[TeacherSearchResults] Sort By',\r\n GetResultsForSchool = '[TeacherSearchResults] Get Results for School',\r\n GetResultsForDistrict = '[TeacherSearchResults] Get Results for District',\r\n}\r\n\r\nexport class ProcessQueryString implements Action {\r\n readonly type = TeacherSearchResultsActionTypes.ProcessQueryString;\r\n constructor(public payload: string) { }\r\n}\r\n\r\nexport class LoadTeacherSearchResults implements Action {\r\n readonly type = TeacherSearchResultsActionTypes.LoadTeacherSearchResults;\r\n constructor(public payload: TeacherSearchCriteria) { }\r\n}\r\n\r\nexport class LoadTeacherSearchResultsSuccess implements Action {\r\n readonly type = TeacherSearchResultsActionTypes.LoadTeacherSearchResultsSuccess;\r\n constructor(public payload: TeacherSearchResultsItem[], public httpHeaders: HttpHeaders) { }\r\n}\r\n\r\nexport class LoadTeacherSearchResultsFailure implements Action {\r\n readonly type = TeacherSearchResultsActionTypes.LoadTeacherSearchResultsFailure;\r\n\tconstructor(public payload: any) { }\r\n}\r\n\r\nexport class NextPage implements Action {\r\n readonly type = TeacherSearchResultsActionTypes.NextPage;\r\n constructor(public payload: TeacherSearchCriteria, public pagingSorting: TeacherPagingSorting) { }\r\n}\r\n\r\nexport class PrevPage implements Action {\r\n readonly type = TeacherSearchResultsActionTypes.PrevPage;\r\n constructor(public payload: TeacherSearchCriteria, public pagingSorting: TeacherPagingSorting) { }\r\n}\r\n\r\nexport class SetPageSize implements Action {\r\n readonly type = TeacherSearchResultsActionTypes.SetPageSize;\r\n constructor(public payload: number, public searchCriteria: TeacherSearchCriteria, ) { }\r\n}\r\n\r\nexport class LastPage implements Action {\r\n readonly type = TeacherSearchResultsActionTypes.LastPage;\r\n constructor(public payload: TeacherSearchCriteria, public pagingSorting: TeacherPagingSorting) { }\r\n}\r\n\r\nexport class FirstPage implements Action {\r\n readonly type = TeacherSearchResultsActionTypes.FirstPage;\r\n constructor(public payload: TeacherSearchCriteria, public pagingSorting: TeacherPagingSorting) { }\r\n}\r\n\r\nexport class SortBy implements Action {\r\n readonly type = TeacherSearchResultsActionTypes.SortBy;\r\n constructor(public payload: string, public searchCriteria: TeacherSearchCriteria, public pagingSorting: TeacherPagingSorting) { }\r\n}\r\n\r\nexport class GetResultsForSchool implements Action {\r\n readonly type = TeacherSearchResultsActionTypes.GetResultsForSchool;\r\n constructor(public payload: SchoolDetails, public searchCriteria: TeacherSearchCriteria) { }\r\n}\r\n\r\nexport class GetResultsForDistrict implements Action {\r\n readonly type = TeacherSearchResultsActionTypes.GetResultsForDistrict;\r\n constructor(public payload: District, public searchCriteria: TeacherSearchCriteria) { }\r\n}\r\n\r\nexport type TeacherSearchResultsActions =\r\n | ProcessQueryString\r\n | LoadTeacherSearchResults\r\n | LoadTeacherSearchResultsSuccess\r\n | LoadTeacherSearchResultsFailure\r\n | NextPage\r\n | PrevPage\r\n | SetPageSize\r\n | LastPage\r\n | FirstPage\r\n | SortBy\r\n | GetResultsForSchool\r\n | GetResultsForDistrict;\r\n","
    \r\n
  • \r\n
    Address Line 1
    \r\n
    {{ line1 }}
    \r\n
  • \r\n
  • \r\n
    Address Line 2
    \r\n
    {{ line2 }}
    \r\n
  • \r\n
  • \r\n
    City, State Zip
    \r\n
    {{ city }}, {{ state }} {{ zip }}
    \r\n
  • \r\n
  • \r\n
    County
    \r\n
    {{ county }}
    \r\n
  • \r\n
","import { Component, Input } from '@angular/core';\r\n\r\nimport { TeacherDetails } from '../../models';\r\nimport { SchoolType } from '../../../schools/models';\r\n\r\n@Component({\r\n\tselector: 'opus-teacher-address',\r\n\ttemplateUrl: './teacher-address.component.html',\r\n})\r\nexport class TeacherAddressComponent {\r\n\t@Input() teacher: TeacherDetails;\r\n\r\n get hasLine1() {\r\n return this.teacher.mailingAddress != null && this.teacher.mailingAddress.line1;\r\n }\r\n\r\n get hasLine2() {\r\n return this.teacher.mailingAddress != null && this.teacher.mailingAddress.line2;\r\n }\r\n\r\n get hasCityStateOrZip() {\r\n return this.teacher.mailingAddress != null &&\r\n (this.teacher.mailingAddress.city != null ||\r\n this.teacher.mailingAddress.state != null ||\r\n this.teacher.mailingAddress.zip != null);\r\n }\r\n\r\n get hasCounty() {\r\n return this.teacher.mailingAddress != null && this.teacher.mailingAddress.county != null;\r\n }\r\n\r\n get line1() {\r\n if (this.teacher.mailingAddress == null) {\r\n return null;\r\n }\r\n\r\n return this.teacher.mailingAddress.line1;\r\n }\r\n\r\n get line2() {\r\n if (this.teacher.mailingAddress == null) {\r\n return null;\r\n }\r\n\r\n return this.teacher.mailingAddress.line2;\r\n }\r\n\r\n get city() {\r\n if (this.teacher.mailingAddress == null) {\r\n return null;\r\n }\r\n\r\n return this.teacher.mailingAddress.city;\r\n }\r\n\r\n get state() {\r\n if (this.teacher.mailingAddress == null) {\r\n return null;\r\n }\r\n\r\n return this.teacher.mailingAddress.state;\r\n }\r\n\r\n get zip() {\r\n if (this.teacher.mailingAddress == null) {\r\n return null;\r\n }\r\n\r\n return this.teacher.mailingAddress.zip;\r\n }\r\n\r\n get county() {\r\n if (this.teacher.mailingAddress == null) {\r\n return null;\r\n }\r\n\r\n return this.teacher.mailingAddress.county;\r\n }\r\n}\r\n","import { Component, EventEmitter, Input, OnDestroy, OnInit, Output } from '@angular/core';\r\nimport { FormControl } from '@angular/forms';\r\nimport { select, Store } from '@ngrx/store';\r\n\r\nimport { Observable } from 'rxjs';\r\nimport { filter, reduce, takeWhile } from 'rxjs/operators';\r\n\r\nimport { RentalCategory, states } from '../../scp/scp-common/models';\r\nimport { ShippingCharge, ShippingChargesCriteria } from '../models';\r\n\r\nimport * as fromStore from '../../scp/scp-common/store';\r\nimport { TaxonomyState } from '../../scp/scp-common/store';\r\n\r\n@Component({\r\n selector: 'opus-shipping-charges-header',\r\n templateUrl: './shipping-charges-header.component.html',\r\n})\r\nexport class ShippingChargesHeader implements OnInit, OnDestroy {\r\n @Input() shippingCharges$: Observable;\r\n @Output() criteriaChangeEvent = new EventEmitter();\r\n\r\n private _alive = true;\r\n \r\n rentalCategoryCtrl = new FormControl();\r\n rentalCategories$: Observable;\r\n stateCtrl = new FormControl();\r\n states: string[] = states;\r\n\r\n constructor(private store: Store) {\r\n this.rentalCategories$ = this.store.pipe(select(fromStore.getRentalCategoryState));\r\n }\r\n\r\n ngOnInit(): void {\r\n this.rentalCategoryCtrl.valueChanges.pipe(\r\n takeWhile(() => this._alive),\r\n ).subscribe((rentalCategoryCode: string) => {\r\n const state = this.stateCtrl.value;\r\n this.criteriaChangeEvent.emit({ rentalCategoryCode: rentalCategoryCode || '', state: state || '' });\r\n });\r\n\r\n this.stateCtrl.valueChanges.pipe(\r\n takeWhile(() => this._alive),\r\n ).subscribe((state: string) => {\r\n const rentalCategoryCode = this.rentalCategoryCtrl.value;\r\n this.criteriaChangeEvent.emit({ rentalCategoryCode: rentalCategoryCode || '', state: state || '' });\r\n })\r\n\r\n this.store.dispatch(new fromStore.GetRentalCategories());\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this._alive = false;\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n

Shipping Charges

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

\r\n Viewing {{ (shippingCharges$ | async)?.length || 0 }} Shipping Charges\r\n

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n","import { ActionReducerMap, createFeatureSelector } from '@ngrx/store';\r\n\r\nimport * as fromLanding from './landing.reducer';\r\n\r\nexport interface PrefsState {\r\n\tlandingState: fromLanding.LandingState;\r\n}\r\n\r\nexport const reducers: ActionReducerMap = {\r\n\tlandingState: fromLanding.reducer,\r\n};\r\n\r\nexport const getPrefsState = createFeatureSelector('preferences');\r\n\r\nexport { LandingState, AddSuppliesState, FindCriteria, FindType, GroupFind, BookFind, KeywordFind, AddSuppliesStep, SchoolLookupState, SchoolByNameLookupState, DistrictLookupState, DistrictByNameLookupState } from './landing.reducer';\r\n","import { detailsComponents } from './teacher-details';\r\nimport { TeacherCreateComponent } from './teacher-create';\r\n\r\nexport const components: any[] = [\r\n ...detailsComponents,\r\n TeacherCreateComponent\r\n];\r\n\r\nexport * from './teacher-details';\r\nexport * from './teacher-create';\r\n","import { Injectable } from '@angular/core';\r\n\r\nimport { of } from 'rxjs';\r\nimport { tap, switchMap, map, catchError } from 'rxjs/operators';\r\n\r\nimport { Store } from '@ngrx/store';\r\nimport { Actions, createEffect, ofType } from '@ngrx/effects';\r\n\r\nimport * as teacherSearchResultsActions from '../actions/teacher-searchresults.action';\r\nimport * as fromServices from '../../../scp-common/services';\r\nimport * as fromModels from '../../models';\r\nimport * as fromReducers from '../reducers';\r\n\r\nimport { SearchResultsState } from '..';\r\n\r\n@Injectable()\r\nexport class TeacherSearchResultsEffects {\r\n constructor(\r\n private actions$: Actions,\r\n private teacherService: fromServices.TeacherService,\r\n private store$: Store,\r\n ) { }\r\n\r\n \r\n processQueryString$ = createEffect(() => this.actions$.pipe(\r\n ofType(teacherSearchResultsActions.TeacherSearchResultsActionTypes.ProcessQueryString),\r\n switchMap((action: teacherSearchResultsActions.ProcessQueryString) => {\r\n // Grab an object representation of the query string\r\n const query = this.parseQueryStringFromUrl(action.payload);\r\n // Convert query object into our strict-typed object\r\n let searchCriteria: fromModels.TeacherSearchCriteria;\r\n\r\n // Populate search criteria with the query object params\r\n searchCriteria = {\r\n id: query['id'],\r\n name: query['name'],\r\n districtName: query['districtName'],\r\n county: query['county'],\r\n state: query['state'],\r\n zip: query['zip'],\r\n radius: query['radius'],\r\n phone: query['phone'],\r\n isActive: query['isActive'],\r\n PageNumber: query['PageNumber'],\r\n PageSize: query['PageSize'],\r\n SortBy: query['SortBy'],\r\n SortDir: query['SortDir'],\r\n schoolId: query['schoolId'],\r\n districtId: query['districtId'],\r\n };\r\n\r\n return of(new teacherSearchResultsActions.LoadTeacherSearchResults(searchCriteria));\r\n })\r\n ));\r\n\r\n \r\n getResultsForSchool$ = createEffect(() => this.actions$.pipe(\r\n ofType(teacherSearchResultsActions.TeacherSearchResultsActionTypes.GetResultsForSchool),\r\n switchMap((action: teacherSearchResultsActions.GetResultsForSchool) => {\r\n console.log(action.payload);\r\n\r\n // Whatever state we have, reset it to initial\r\n const newCriteria: fromModels.TeacherSearchCriteria = {\r\n ...fromReducers.initialState.searchCriteria,\r\n // Use the school's id as our search criteria\r\n schoolId: action.payload.id\r\n };\r\n\r\n return of(new teacherSearchResultsActions.LoadTeacherSearchResults(newCriteria));\r\n })\r\n ));\r\n\r\n \r\n getResultsForDistrict$ = createEffect(() => this.actions$.pipe(\r\n ofType(teacherSearchResultsActions.TeacherSearchResultsActionTypes.GetResultsForDistrict),\r\n switchMap((action: teacherSearchResultsActions.GetResultsForDistrict) => {\r\n console.log(action.payload);\r\n\r\n // Whatever state we have, reset it to initial\r\n const newCriteria: fromModels.TeacherSearchCriteria = {\r\n ...fromReducers.initialState.searchCriteria,\r\n // Use the district's id as our search criteria\r\n districtId: action.payload.id\r\n };\r\n\r\n return of(new teacherSearchResultsActions.LoadTeacherSearchResults(newCriteria));\r\n })\r\n ));\r\n\r\n \r\n nextPageResult$ = createEffect(() => this.actions$.pipe(\r\n ofType(teacherSearchResultsActions.TeacherSearchResultsActionTypes.NextPage),\r\n switchMap((action: teacherSearchResultsActions.NextPage) => {\r\n console.log(action.pagingSorting);\r\n const currentPage: number = action.pagingSorting.currentPage;\r\n let nextPage: number;\r\n\r\n // If page number is null, maybe we never got first page?\r\n if (currentPage == null) {\r\n // Go to the first one\r\n nextPage = 1;\r\n }\r\n else if (currentPage < action.pagingSorting.totalPages) {\r\n // Increment to next page\r\n nextPage = currentPage + 1;\r\n }\r\n else {\r\n // Don't change the page\r\n nextPage = currentPage;\r\n }\r\n\r\n // Set the next page to pass to our search request\r\n const newPayload: fromModels.TeacherSearchCriteria = {\r\n ...action.payload,\r\n PageNumber: nextPage\r\n };\r\n // TODO: Figure out some way to not do any action here if page number didn't change\r\n return of(new teacherSearchResultsActions.LoadTeacherSearchResults(newPayload));\r\n })\r\n ));\r\n\r\n \r\n prevPageResult$ = createEffect(() => this.actions$.pipe(\r\n ofType(teacherSearchResultsActions.TeacherSearchResultsActionTypes.PrevPage),\r\n switchMap((action: teacherSearchResultsActions.PrevPage) => {\r\n console.log(action.pagingSorting);\r\n const currentPage: number = action.pagingSorting.currentPage;\r\n let prevPage: number;\r\n\r\n // If page number is null, maybe we never got first page?\r\n if (currentPage == null) {\r\n // Go to the first one\r\n prevPage = 1;\r\n }\r\n else if (currentPage > 1) {\r\n // Increment to next page\r\n prevPage = currentPage - 1;\r\n }\r\n else {\r\n // Don't change the page\r\n prevPage = currentPage;\r\n }\r\n\r\n // Set the next page to pass to our search request\r\n const newPayload: fromModels.TeacherSearchCriteria = {\r\n ...action.payload,\r\n PageNumber: prevPage\r\n };\r\n // TODO: Figure out some way to not do any action here if page number didn't change\r\n return of(new teacherSearchResultsActions.LoadTeacherSearchResults(newPayload));\r\n })\r\n ));\r\n\r\n \r\n sortByResult$ = createEffect(() => this.actions$.pipe(\r\n ofType(teacherSearchResultsActions.TeacherSearchResultsActionTypes.SortBy),\r\n switchMap((action: teacherSearchResultsActions.SortBy) => {\r\n // Default to ascending sort order\r\n let sortDir = 0;\r\n\r\n // If user is sorting by same column again\r\n if (action.payload == action.pagingSorting.sortBy) {\r\n // Change the direction of the sort since it's the same column\r\n sortDir = action.pagingSorting.sortDir == 0 ? 1 : 0;\r\n }\r\n const lastPage: number = action.pagingSorting.totalPages;\r\n\r\n // Set the next page to pass to our search request\r\n const newPayload: fromModels.TeacherSearchCriteria = {\r\n ...action.searchCriteria,\r\n SortDir: sortDir,\r\n SortBy: action.payload\r\n };\r\n\r\n return of(new teacherSearchResultsActions.LoadTeacherSearchResults(newPayload));\r\n })\r\n ));\r\n\r\n \r\n lastPageResult$ = createEffect(() => this.actions$.pipe(\r\n ofType(teacherSearchResultsActions.TeacherSearchResultsActionTypes.LastPage),\r\n switchMap((action: teacherSearchResultsActions.LastPage) => {\r\n const lastPage: number = action.pagingSorting.totalPages;\r\n\r\n // Set the next page to pass to our search request\r\n const newPayload: fromModels.TeacherSearchCriteria = {\r\n ...action.payload,\r\n PageNumber: lastPage\r\n };\r\n\r\n return of(new teacherSearchResultsActions.LoadTeacherSearchResults(newPayload));\r\n })\r\n ));\r\n\r\n \r\n firstPageResult$ = createEffect(() => this.actions$.pipe(\r\n ofType(teacherSearchResultsActions.TeacherSearchResultsActionTypes.FirstPage),\r\n switchMap((action: teacherSearchResultsActions.FirstPage) => {\r\n const firstPage = 1;\r\n\r\n // Set the next page to pass to our search request\r\n const newPayload: fromModels.TeacherSearchCriteria = {\r\n ...action.payload,\r\n PageNumber: firstPage\r\n };\r\n\r\n return of(new teacherSearchResultsActions.LoadTeacherSearchResults(newPayload));\r\n })\r\n ));\r\n\r\n \r\n pageSizeResult$ = createEffect(() => this.actions$.pipe(\r\n ofType(teacherSearchResultsActions.TeacherSearchResultsActionTypes.SetPageSize),\r\n switchMap((action: teacherSearchResultsActions.SetPageSize) => {\r\n const pageSize: number = action.payload;\r\n\r\n // Set the next page to pass to our search request\r\n const newPayload: fromModels.TeacherSearchCriteria = {\r\n ...action.searchCriteria,\r\n PageSize: pageSize\r\n };\r\n\r\n return of(new teacherSearchResultsActions.LoadTeacherSearchResults(newPayload));\r\n })\r\n ));\r\n\r\n \r\n searchResults$ = createEffect(() => this.actions$.pipe(\r\n ofType(teacherSearchResultsActions.TeacherSearchResultsActionTypes.LoadTeacherSearchResults),\r\n switchMap((action: teacherSearchResultsActions.LoadTeacherSearchResults) => {\r\n console.log('Load Teacher Search Results Effect');\r\n console.log(action.payload);\r\n\r\n let query = '';\r\n\r\n Object.keys(action.payload).forEach(key => {\r\n const value = action.payload[key];\r\n if (value === undefined) {\r\n // Any missing value we just ignore\r\n return;\r\n }\r\n\r\n const valueAsString = String(value).trim();\r\n\r\n // If item has a value...\r\n if (value !== null && value !== '') {\r\n // If it's one of these keys and value is \"Any\"\r\n const anyKeys = ['state', 'isSupervisory', 'isActive'];\r\n if (anyKeys.some(i => i === key) && value == 'Any') {\r\n // Treat \"any\" like null.\r\n return;\r\n }\r\n // Else, add it to query string\r\n else {\r\n query += `&${key}=${value}`;\r\n }\r\n }\r\n });\r\n\r\n return this.teacherService.searchTeachers(query).pipe(\r\n tap(d => {\r\n console.log('searchTeachers returned:', d);\r\n }),\r\n map(resp => {\r\n if (!resp.ok || resp.body == null) {\r\n return new teacherSearchResultsActions.LoadTeacherSearchResultsFailure('Search results not returned');\r\n }\r\n\r\n return new teacherSearchResultsActions.LoadTeacherSearchResultsSuccess(resp.body, resp.headers);\r\n }),\r\n catchError(error => of(new teacherSearchResultsActions.LoadTeacherSearchResultsFailure(error)))\r\n );\r\n })\r\n ));\r\n\r\n private parseQueryStringFromUrl(url: string): object {\r\n const returnObject: object = {\r\n };\r\n\r\n // Parse query string into chunks\r\n const splitted = url.split('?', 2);\r\n // If we have a query string, then process it further\r\n if (splitted.length == 2) {\r\n // Split out each key/value pair\r\n const splittedItems = splitted[1].split('&');\r\n splittedItems.forEach(item => {\r\n // Split out the key and value\r\n const splittedItem = item.split('=');\r\n const key = splittedItem[0];\r\n const value = splittedItem.length > 1 ? splittedItem[1] : '';\r\n // Add is as a key/value pair in our return object.\r\n returnObject[key] = value;\r\n });\r\n }\r\n\r\n return returnObject;\r\n }\r\n}\r\n","export * from './actions';\r\nexport * from './effects';\r\nexport * from './reducers';\r\nexport * from './selectors';\r\n","import { NgModule, APP_INITIALIZER } from '@angular/core';\r\nimport { BrowserModule } from '@angular/platform-browser';\r\nimport { RouterModule } from '@angular/router';\r\nimport { HttpClient, HttpClientModule, HTTP_INTERCEPTORS } from '@angular/common/http';\r\nimport { ReactiveFormsModule } from '@angular/forms';\r\n\r\nimport { BsDatepickerModule } from 'ngx-bootstrap/datepicker';\r\n\r\nimport { NgxMaskModule } from 'ngx-mask';\r\n\r\nimport { AuthModule, OidcConfigService, AuthWellKnownEndpoints } from 'angular-auth-oidc-client';\r\n\r\nimport { StoreModule } from '@ngrx/store';\r\nimport { EffectsModule } from '@ngrx/effects';\r\nimport { StoreRouterConnectingModule, RouterStateSerializer, DefaultRouterStateSerializer } from '@ngrx/router-store';\r\nimport { StoreDevtoolsModule } from '@ngrx/store-devtools';\r\n\r\nimport { CoreModule } from './core/core.module';\r\nimport { ScpCommonModule } from './scp/scp-common/scp-common.module';\r\n\r\nimport { routes } from './routes';\r\nimport { reducers, metaReducers, CustomRouterStateSerializer, effects } from './core/store';\r\n\r\nimport { AppComponent } from './core/containers/app.component';\r\nimport { env } from '../environments/environment';\r\n\r\nimport * as fromTeachers from './scp/teachers';\r\nimport * as fromSchools from './scp/schools';\r\nimport * as fromDistricts from './scp/districts';\r\nimport * as fromEvents from './scp/events';\r\nimport * as fromPrograms from './scp/programs';\r\nimport * as fromMerch from './merch';\r\nimport * as fromDistribution from './distribution';\r\n\r\nimport { AuthInterceptor } from './core/services/index';\r\nimport { map, switchMap } from 'rxjs/operators';\r\n\r\nexport function configureAuth(oidcConfigService: OidcConfigService, httpClient: HttpClient) {\r\n const setupAction$ = httpClient.get(`${window.location.origin}/api/ClientAppSettings`).pipe(\r\n map((customConfig) => {\r\n const authWellKnownEndpoints: AuthWellKnownEndpoints = {\r\n issuer: customConfig.stsServer,\r\n jwksUri: customConfig.stsServer + '/.well-known/openid-configuration/jwks',\r\n authorizationEndpoint: customConfig.stsServer + '/connect/authorize',\r\n tokenEndpoint: customConfig.stsServer + '/connect/token',\r\n userinfoEndpoint: customConfig.stsServer + '/connect/userinfo',\r\n endSessionEndpoint: customConfig.stsServer + '/connect/endsession',\r\n checkSessionIframe: customConfig.stsServer + '/connect/checksession',\r\n revocationEndpoint: customConfig.stsServer + '/connect/revocation',\r\n introspectionEndpoint: customConfig.stsServer + '/connect/introspect',\r\n };\r\n\r\n return {\r\n stsServer: customConfig.stsServer,\r\n redirectUrl: customConfig.redirect_url,\r\n // The Client MUST validate that the aud (audience) Claim contains its client_id value registered at the Issuer\r\n // identified by the iss (issuer) Claim as an audience.\r\n // The ID Token MUST be rejected if the ID Token does not list the Client as a valid audience,\r\n // or if it contains additional audiences not trusted by the Client.\r\n clientId: customConfig.client_id,\r\n responseType: customConfig.response_type,\r\n scope: customConfig.scope,\r\n postLogoutRedirectUri: customConfig.post_logout_redirect_uri,\r\n startCheckSession: customConfig.start_checksession,\r\n silentRenew: customConfig.silent_renew,\r\n silentRenewUrl: customConfig.silent_renew_url,\r\n postLoginRoute: customConfig.startup_route,\r\n triggerAuthorizationResultEvent: true,\r\n // HTTP 403\r\n forbiddenRoute: customConfig.forbidden_route,\r\n // HTTP 401\r\n unauthorizedRoute: customConfig.unauthorized_route,\r\n // id_token C8: The iat Claim can be used to reject tokens that were issued too far away from the current time,\r\n // limiting the amount of time that nonces need to be stored to prevent attacks.The acceptable range is Client specific.\r\n maxIdTokenIatOffsetAllowedInSeconds: customConfig.max_id_token_iat_offset_allowed_in_seconds,\r\n useRefreshToken: customConfig.use_refresh_token,\r\n ignoreNonceAfterRefresh: customConfig.ignore_nonce_after_refresh,\r\n autoUserinfo: customConfig.auto_userinfo,\r\n authWellKnownEndpoints: authWellKnownEndpoints, \r\n };\r\n }),\r\n switchMap((config) => {\r\n return oidcConfigService.withConfig(config, config.authWellKnownEndpoints);\r\n })\r\n );\r\n\r\n return () => setupAction$.toPromise();\r\n}\r\n\r\n@NgModule({\r\n imports: [\r\n BrowserModule,\r\n NgxMaskModule.forRoot({}),\r\n HttpClientModule,\r\n ReactiveFormsModule,\r\n BsDatepickerModule.forRoot(),\r\n RouterModule.forRoot(routes, { useHash: false, relativeLinkResolution: 'legacy' }),\r\n /**\r\n * StoreModule.forRoot is imported once in the root module, accepting a reducer\r\n * function or object map of reducer functions. If passed an object of\r\n * reducers, combineReducers will be run creating your application\r\n * meta-reducer. This returns all providers for an @ngrx/store\r\n * based application.\r\n */\r\n StoreModule.forRoot(reducers, {\r\n metaReducers,\r\n runtimeChecks: {\r\n strictStateImmutability: false,\r\n strictActionImmutability: false,\r\n },\r\n }),\r\n /**\r\n * @ngrx/router-store keeps router state up-to-date in the store.\r\n */\r\n StoreRouterConnectingModule.forRoot({\r\n serializer: DefaultRouterStateSerializer,\r\n stateKey: 'routerReducer'\r\n }),\r\n /**\r\n * Store devtools instrument the store retaining past versions of state\r\n * and recalculating new states. This enables powerful time-travel\r\n * debugging.\r\n *\r\n * To use the debugger, install the Redux Devtools extension for either\r\n * Chrome or Firefox\r\n *\r\n * See: https://github.com/zalmoxisus/redux-devtools-extension\r\n */\r\n !env.production\r\n ? StoreDevtoolsModule.instrument() //\tcan specify { maxAge: 25 }\r\n : [],\r\n\r\n /**\r\n * EffectsModule.forRoot() is imported once in the root module and\r\n * sets up the effects class to be initialized immediately when the\r\n * application starts.\r\n *\r\n * See: https://github.com/ngrx/platform/blob/master/docs/effects/api.md#forroot\r\n */\r\n EffectsModule.forRoot(effects),\r\n AuthModule.forRoot(),\r\n StoreModule.forFeature('teachers', fromTeachers.reducers),\r\n StoreModule.forFeature('schools', fromSchools.reducers),\r\n StoreModule.forFeature('districts', fromDistricts.reducers),\r\n StoreModule.forFeature('events', fromEvents.reducers),\r\n StoreModule.forFeature('programs', fromPrograms.reducers),\r\n StoreModule.forFeature('merch', fromMerch.reducers),\r\n StoreModule.forFeature('distribution', fromDistribution.reducers),\r\n EffectsModule.forFeature(fromTeachers.effects),\r\n EffectsModule.forFeature(fromSchools.effects),\r\n EffectsModule.forFeature(fromDistricts.effects),\r\n EffectsModule.forFeature(fromEvents.effects),\r\n EffectsModule.forFeature(fromPrograms.effects),\r\n EffectsModule.forFeature(fromMerch.effects),\r\n EffectsModule.forFeature(fromDistribution.effects),\r\n\r\n CoreModule.forRoot(),\r\n ScpCommonModule\r\n ],\r\n providers: [\r\n /**\r\n * The `RouterStateSnapshot` provided by the `Router` is a large complex structure.\r\n * A custom RouterStateSerializer is used to parse the `RouterStateSnapshot` provided\r\n * by `@ngrx/router-store` to include only the desired pieces of the snapshot.\r\n */\r\n { provide: RouterStateSerializer, useClass: CustomRouterStateSerializer },\r\n OidcConfigService,\r\n {\r\n provide: APP_INITIALIZER,\r\n useFactory: configureAuth,\r\n deps: [OidcConfigService, HttpClient],\r\n multi: true\r\n },\r\n {\r\n provide: HTTP_INTERCEPTORS,\r\n useClass: AuthInterceptor,\r\n multi: true\r\n },\r\n ...fromTeachers.guards,\r\n ...fromSchools.guards,\r\n ...fromDistricts.guards,\r\n ...fromEvents.guards,\r\n ...fromPrograms.guards,\r\n ...fromMerch.guards,\r\n ...fromMerch.services,\r\n ...fromDistribution.guards,\r\n ...fromDistribution.services\r\n ],\r\n bootstrap: [AppComponent],\r\n\r\n declarations: [\r\n ...fromTeachers.containers,\r\n ...fromTeachers.components,\r\n ...fromSchools.containers,\r\n ...fromSchools.components,\r\n ...fromDistricts.containers,\r\n ...fromDistricts.components,\r\n ...fromEvents.containers,\r\n ...fromEvents.components,\r\n ...fromPrograms.containers,\r\n ...fromPrograms.components,\r\n ...fromMerch.containers,\r\n ...fromMerch.components,\r\n ...fromDistribution.containers,\r\n ...fromDistribution.components,\r\n ],\r\n exports: [\r\n ...fromTeachers.containers,\r\n ...fromTeachers.components,\r\n ...fromSchools.containers,\r\n ...fromSchools.components,\r\n ...fromDistricts.containers,\r\n ...fromDistricts.components,\r\n ...fromEvents.containers,\r\n ...fromEvents.components,\r\n ...fromPrograms.containers,\r\n ...fromPrograms.components,\r\n ...fromMerch.containers,\r\n ...fromMerch.components,\r\n ...fromDistribution.containers,\r\n ...fromDistribution.components,\r\n ]\r\n})\r\nexport class AppModule {\r\n constructor () { }\r\n}\r\n","import { Component, Input } from '@angular/core';\r\n\r\nimport { Event } from '../../models';\r\n\r\n@Component({\r\n selector: 'event-info',\r\n templateUrl: './event-info.component.html',\r\n})\r\nexport class EventInfoComponent {\r\n @Input() event: Event;\r\n\r\n}\r\n","\r\n
    \r\n
  • \r\n
    Active
    \r\n
    {{ event.isActive | yesNo }}
    \r\n
  • \r\n
  • \r\n
    Event ID
    \r\n
    {{ event.id }}
    \r\n
  • \r\n
  • \r\n
    Event Name
    \r\n
    {{ event.name}}
    \r\n
  • \r\n
  • \r\n
    Event Type
    \r\n
    {{ event.eventTypeName}}
    \r\n
  • \r\n
  • \r\n
    Notes
    \r\n
    {{ event.note }}
    \r\n
  • \r\n
\r\n\r\n\r\n","import { Component, Input, Output, EventEmitter } from '@angular/core';\r\n\r\nimport { ProgramDetails, ProgramTeacher } from '../../models';\r\nimport { Store } from '@ngrx/store';\r\nimport * as fromStore from '../../store';\r\nimport * as fromRoot from '../../../../core/store';\r\n\r\n@Component({\r\n\tselector: 'opus-program-program-teachers',\r\n\ttemplateUrl: './program-program-teachers.component.html',\r\n})\r\nexport class ProgramProgramTeachersComponent {\r\n @Input() program: ProgramDetails;\r\n @Input() editMode = false;\r\n @Output() remove: EventEmitter = new EventEmitter();\r\n @Output() isPrimary: EventEmitter = new EventEmitter();\r\n\r\n constructor(private _store: Store) {\r\n\r\n }\r\n\r\n removeTeacher(teacher: ProgramTeacher) {\r\n this.remove.emit(teacher);\r\n }\r\n\r\n isPrimaryTeacher(teacher: ProgramTeacher) {\r\n this.isPrimary.emit(teacher);\r\n }\r\n\r\n //navigateTeacher(schoolId: number) {\r\n // this._store.dispatch(new fromRoot.Go({\r\n // path: [`schools/${schoolId}`]\r\n // }));\r\n //}\r\n}\r\n"," \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n Remove\r\n \r\n Teacher ID\r\n Teacher Name\r\n Primary\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n {{teacher.teacherId}}\r\n \r\n {{teacher.teacherName}}\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n","import { Routes } from '@angular/router';\r\nimport * as fromCore from './core';\r\nimport * as fromMerch from './merch';\r\nimport * as fromDistribution from './distribution';\r\nimport * as fromDistricts from './scp/districts';\r\nimport * as fromEvents from './scp/events';\r\nimport * as fromPrograms from './scp/programs';\r\nimport * as fromSchools from './scp/schools';\r\nimport * as fromCommon from './scp/scp-common';\r\nimport * as fromTeachers from './scp/teachers';\r\n\r\nexport const routes: Routes = [\r\n {\r\n path: '',\r\n //redirectTo: 'search',\r\n component: fromCore.HomeComponent,\r\n pathMatch: 'full',\r\n },\t//\tTODO: map to app component to redirect based upon user's identity\r\n {\r\n path: 'autologin',\r\n redirectTo: ''\r\n },\r\n { path: 'unauthorized', component: fromCore.UnauthorizedComponent },\r\n { path: 'search', loadChildren: () => import('./scp/search/search.module').then(m => m.SearchModule) },\r\n { path: 'credit-check', loadChildren: () => import('./credit-check/credit-check.module').then(m => m.CreditCheckModule) },\r\n {\r\n path: 'merchandising',\r\n component: fromMerch.MerchLandingComponent,\r\n },\r\n {\r\n path: 'merchandising/instrument-combinations',\r\n canActivate: [fromMerch.MerchComboGuard],\r\n component: fromMerch.CombosComponent,\r\n },\r\n {\r\n path: 'merchandising/product-groups',\r\n canActivate: [fromMerch.MerchProductGroupsGuard],\r\n component: fromMerch.ProductGroupsComponent,\r\n },\r\n {\r\n path: 'merchandising/rental-categories',\r\n canActivate: [fromMerch.MerchRentalCategoryGuard],\r\n component: fromMerch.RentalCategoriesComponent,\r\n },\r\n {\r\n //\tcomponentless route here in order to set the guard on all routes specific to a district\r\n //\tthis is needed for the preferences child route.\r\n path: 'merchandising/rental-categories/:id',\r\n canActivate: [fromMerch.MerchRentalCategoryGuard],\r\n data: { redirectTo: '/404' },\r\n children: [\r\n { path: '', component: fromMerch.RentalCategoriesDetailsComponent, canActivate: [fromMerch.MerchRentalCategoryGuard] }\r\n ],\r\n },\r\n {\r\n path: 'distribution',\r\n canActivate: [fromDistribution.DistributionGuard],\r\n component: fromDistribution.DistributionLandingComponent\r\n },\r\n { path: 'user-management', loadChildren: () => import('./user-management/user-management.module').then(m => m.UserManagementModule) },\r\n\r\n //\tspecifying these history routes here in order to avoid guard executions when directly navigating\r\n { path: ':type/:id/history', component: fromCommon.HistoryComponent, canActivate: [fromCommon.HistoryGuard] },\r\n { path: ':type/:id/preferences/history', component: fromCommon.HistoryComponent, canActivate: [fromCommon.HistoryGuard] },\r\n { path: ':type/:id/preferences/detail/:code/history', redirectTo: ':type/:id/preferences/history' },\r\n\r\n /*** EVENTS ***/\r\n {\r\n path: 'events/searchresults',\r\n component: fromEvents.EventSearchResultsComponent,\r\n canActivate: [fromEvents.EventSearchResultsGuard],\r\n data: {\r\n redirectTo: '/search/events'\r\n }\r\n },\r\n {\r\n //\tcomponentless route here in order to set the guard on all routes specific to an event\r\n //\tthis is needed for the preferences child route.\r\n path: 'events/:id',\r\n canActivate: [fromEvents.EventExistsGuard],\r\n data: {\r\n redirectTo: '/404'\r\n },\r\n children: [\r\n { path: '', component: fromEvents.EventDetailsComponent },\r\n ],\r\n },\r\n {\r\n path: 'events/:id/qrcodes',\r\n canActivate: [fromEvents.EventExistsGuard],\r\n data: {\r\n redirectTo: '/404'\r\n },\r\n children: [\r\n { path: 'qrcodes', component: fromEvents.EventDetailsComponent },\r\n ],\r\n },\r\n /*** DISTRICTS ***/\r\n {\r\n path: 'districts/searchresults',\r\n component: fromDistricts.DistrictSearchResultsComponent,\r\n canActivate: [fromDistricts.DistrictSearchResultsGuard],\r\n data: {\r\n redirectTo: '/search/districts'\r\n }\r\n },\r\n {\r\n //\tcomponentless route here in order to set the guard on all routes specific to a district\r\n //\tthis is needed for the preferences child route.\r\n path: 'districts/:id',\r\n canActivate: [fromDistricts.DistrictExistsGuard],\r\n data: {\r\n redirectTo: '/404'\r\n },\r\n children: [\r\n { path: '', component: fromDistricts.DistrictDetailsComponent, canActivate: [fromDistricts.DistrictExistsGuard] },\r\n { path: 'preferences', loadChildren: () => import('./scp/preferences/preferences.module').then(m => m.PreferencesModule) },\r\n ],\r\n },\r\n /*** TEACHERS ***/\r\n {\r\n path: 'teachers/searchresults',\r\n component: fromTeachers.TeacherSearchResultsComponent,\r\n canActivate: [fromTeachers.TeacherSearchResultsGuard],\r\n data: {\r\n redirectTo: '/search/teachers'\r\n }\r\n },\r\n {\r\n //\tcomponentless route here in order to set the guard on all routes specific to a district\r\n //\tthis is needed for the preferences child route.\r\n path: 'teachers/:id',\r\n canActivate: [fromTeachers.TeacherDetailsExistsGuard],\r\n data: { redirectTo: '/404' },\r\n children: [\r\n { path: '', component: fromTeachers.TeacherDetailsComponent },\r\n { path: 'preferences', loadChildren: () => import('./scp/preferences/preferences.module').then(m => m.PreferencesModule) },\r\n ],\r\n },\r\n /*** SCHOOLS ***/\r\n {\r\n path: 'schools/searchresults',\r\n component: fromSchools.SchoolSearchResultsComponent,\r\n canActivate: [fromSchools.SchoolSearchResultsGuard],\r\n data: {\r\n redirectTo: '/search/schools'\r\n }\r\n },\r\n {\r\n //\tcomponentless route here in order to set the guard on all routes specific to a district\r\n //\tthis is needed for the preferences child route.\r\n path: 'schools/:id',\r\n canActivate: [fromSchools.SchoolDetailsExistsGuard],\r\n data: { redirectTo: '/404' },\r\n children: [\r\n { path: '', component: fromSchools.SchoolDetailsComponent, canActivate: [fromSchools.SchoolDetailsExistsGuard] },\r\n { path: 'preferences', loadChildren: () => import('./scp/preferences/preferences.module').then(m => m.PreferencesModule) },\r\n ],\r\n },\r\n /*** PROGRAMS ***/\r\n {\r\n //\tcomponentless route here in order to set the guard on all routes specific to a district\r\n //\tthis is needed for the preferences child route.\r\n path: 'programs/:id',\r\n canActivate: [fromPrograms.ProgramDetailsExistsGuard],\r\n data: { redirect: '/' },\r\n children: [\r\n { path: '', component: fromPrograms.ProgramDetailsComponent },\r\n { path: 'preferences', loadChildren: () => import('./scp/preferences/preferences.module').then(m => m.PreferencesModule) },\r\n ],\r\n },\r\n { path: '401', component: fromCore.UnauthorizedComponent },\r\n { path: '500', component: fromCore.UnexpectedErrorComponent },\r\n { path: '404', component: fromCore.NotFoundComponent },\r\n { path: '**', redirectTo: '/404' }\r\n];\r\n","export * from './teacher-searchresults.action';\r\nexport * from './teacher-details.action';\r\n","import { createSelector } from '@ngrx/store';\r\n\r\nimport * as fromFeature from '../reducers';\r\nimport * as fromDistrictDetails from '../reducers/details.reducer';\r\nimport * as fromModels from '../../models';\r\n\r\nexport const getDistrictDetailsState = createSelector(\r\n\tfromFeature.getDistrictsState,\r\n\t(state: fromFeature.DistrictsState) => state.details\r\n);\r\n\r\nexport const getDetailsStateDistrict = createSelector(\r\n\tgetDistrictDetailsState,\r\n\tfromDistrictDetails.getDetailsStateDistrict\r\n);\r\n\r\nexport const getDetailsStateLoaded = createSelector(\r\n\tgetDistrictDetailsState,\r\n\tfromDistrictDetails.getDetailsStateLoaded\r\n);\r\n\r\nexport const getDetailsStateLoading = createSelector(\r\n\tgetDistrictDetailsState,\r\n\tfromDistrictDetails.getDetailsStateLoading\r\n);\r\n\r\nexport const getDetailsStateErrors = createSelector(\r\n\tgetDistrictDetailsState,\r\n\tfromDistrictDetails.getDetailsStateErrors\r\n);\r\n\r\nexport const getDetailsStatePanels = createSelector(\r\n\tgetDistrictDetailsState,\r\n\tfromDistrictDetails.getDetailsStatePanels\r\n);\r\n\r\nexport const getDetailsStateInfoPanel = createSelector(\r\n\tgetDetailsStatePanels,\r\n\t(panels) => panels[fromFeature.PanelId.Info]\r\n);\r\n\r\nexport const getDetailsStatePhysAddrPanel = createSelector(\r\n\tgetDetailsStatePanels,\r\n\t(panels) => panels[fromFeature.PanelId.PhysAddr] as fromFeature.AddressPanelState,\r\n);\r\n\r\nexport const getDetailsStateMailAddrPanel = createSelector(\r\n\tgetDetailsStatePanels,\r\n\t(panels) => panels[fromFeature.PanelId.MailAddr] as fromFeature.AddressPanelState,\r\n);\r\n\r\nexport const getDetailsStateContactsPanel = createSelector(\r\n\tgetDetailsStatePanels,\r\n\t(panels) => panels[fromFeature.PanelId.Contacts]\r\n);\r\n\r\nexport const getDetailsStateCalendarPanel = createSelector(\r\n\tgetDetailsStatePanels,\r\n\t(panels) => panels[fromFeature.PanelId.Calendar]\r\n);\r\n\r\nexport const getDetailsStateAddlDetailsPanel = createSelector(\r\n\tgetDetailsStatePanels,\r\n\t(panels) => panels[fromFeature.PanelId.AddlDetails]\r\n);\r\n\r\nexport const getDetailsStateZipLookup = createSelector(\r\n\tgetDetailsStatePhysAddrPanel,\r\n\tfromDistrictDetails.getDetailsStateZipLookup,\r\n);\r\n\r\nexport const getDetailsStateCountyLookup = createSelector(\r\n\tgetDetailsStatePhysAddrPanel,\r\n\tfromDistrictDetails.getDetailsStateCountyLookup,\r\n);\r\n\r\nexport const getDetailsStateCounties = createSelector(\r\n\tgetDetailsStateCountyLookup,\r\n\t(cl) => cl.lookupStateCode != null ? cl.counties[cl.lookupStateCode] : [],\r\n);\r\n\r\nexport const getDetailsStateRelationshipPanel = createSelector(\r\n\tgetDetailsStatePanels,\r\n\t(panels) => panels[fromFeature.PanelId.Relationship]\r\n);\r\n\r\nexport const getDistrictLookupsState = createSelector(\r\n\tgetDistrictDetailsState,\r\n\tfromDistrictDetails.getDistrictLookupsState,\r\n);\r\n\r\nexport const getDistrictByNameLookupState = createSelector(\r\n\tgetDistrictLookupsState,\r\n\tfromDistrictDetails.getDistrictByNameLookupState,\r\n);\r\n","import { Component, OnInit, AfterViewInit } from '@angular/core';\r\nimport { Router, ActivatedRoute, NavigationEnd } from '@angular/router';\r\n\r\nimport { Observable } from 'rxjs';\r\n\r\nimport { select, Store } from '@ngrx/store';\r\n\r\nimport * as fromStore from '../store';\r\nimport { SchoolDetails } from '../models';\r\n\r\n@Component({\r\n\tselector: 'opus-school-page',\r\n\ttemplateUrl: './school-details.component.html',\r\n})\r\nexport class SchoolDetailsComponent implements OnInit, AfterViewInit {\r\n\tschoolDetails$: Observable;\r\n\tpanels$: Observable<{ [id: string]: fromStore.PanelState }>;\r\n scrollTo: Element = null;\r\n navigatingToPreferences = false;\r\n\r\n constructor(private store: Store, private router: Router, private route: ActivatedRoute) {\r\n\t\trouter.events.subscribe(s => {\r\n\t\t\tif (s instanceof NavigationEnd) {\r\n\t\t\t\tconst tree = router.parseUrl(router.url);\r\n\r\n\t\t\t\tif (tree.fragment) {\r\n\t\t\t\t\tconst element = document.querySelector('#' + tree.fragment);\r\n\r\n\t\t\t\t\tif (element) {\r\n\t\t\t\t\t\tthis.scrollTo = element;\r\n\t\t\t\t\t\telement.scrollIntoView();\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n\r\n\tngOnInit() {\r\n\t\tthis.schoolDetails$ = this.store.pipe(select(fromStore.getSchoolDetailsEntity));\r\n\t\tthis.panels$ = this.store.pipe(select(fromStore.getDetailsStatePanels));\r\n\t}\r\n\r\n\tngAfterViewInit() {\r\n\t\tif (this.scrollTo) {\r\n\t\t\tconsole.log('scrollIntoView: ', this.scrollTo);\r\n\r\n\t\t\tthis.scrollTo.scrollIntoView();\r\n\t\t\tthis.scrollTo = null;\r\n\t\t}\r\n }\r\n\r\n navigateToPreferences() {\r\n this.navigatingToPreferences = true;\r\n\r\n setTimeout(() => {\r\n this.router.navigate(['./', 'preferences'], { relativeTo: this.route });\r\n }, 100);\r\n }\r\n\r\n\tonToggleEditor(key: string, open: boolean) {\r\n\t\tthis.store.dispatch(new fromStore.UpdateEditorState({ key, open }));\r\n }\r\n}\r\n","
\r\n \r\n
\r\n
\r\n \r\n
\r\n\r\n
\r\n\t\t\t\r\n
\r\n
\r\n \r\n\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
","import { SchoolDetailsExistsGuard } from './school-details-exists.guard';\r\nimport { SchoolSearchResultsGuard } from './school-searchresults.guard';\r\n\r\nexport const guards: any[] = [SchoolSearchResultsGuard, SchoolDetailsExistsGuard];\r\n\r\nexport * from './school-details-exists.guard';\r\nexport * from './school-searchresults.guard';\r\n","import { detailsComponents } from './district-details';\r\nimport { DistrictCreateComponent } from './district-create';\r\n\r\nexport const components: any[] = [\r\n ...detailsComponents,\r\n DistrictCreateComponent\r\n];\r\n\r\nexport * from './district-details';\r\nexport * from './district-create';\r\n","import * as fromActions from '../actions/merch.actions';\r\nimport * as fromModels from '../../models';\r\n\r\nexport interface ClassCombos {\r\n\tloading: boolean;\r\n combos: fromModels.InstrumentCombo[];\r\n}\r\n\r\nexport interface ProductGroups {\r\n loading: boolean;\r\n products: fromModels.Product[];\r\n}\r\n\r\nexport interface CombosState {\r\n\tloadingClasses: boolean;\r\n\tloadedClasses: boolean;\r\n\tloadingProductGroups: boolean;\r\n\tloadedProductGroups: boolean;\r\n\tloadingRentalCategories: boolean;\r\n\tloadedRentalCategories: boolean;\r\n\tloadingRentalCategoryDetails: boolean;\r\n\tloadedRentalCategoryDetails: boolean;\r\n\tupdating: boolean;\r\n\tdeleting: boolean;\r\n\terrors: any[];\r\n\tclasses: fromModels.InstrumentClass[];\r\n\tclassCombos: { [classId: number]: ClassCombos };\r\n\tproductGroups: fromModels.ProductGroup[];\r\n\tproducts: { [productGroupId: number]: ProductGroups };\r\n\trentalCategories: fromModels.RentalCategory[];\r\n\trentalCategoryDetails: fromModels.RentalCategory;\r\n}\r\n\r\nexport const initialState: CombosState = {\r\n\tloadingClasses: false,\r\n\tloadedClasses: false,\r\n\tloadingProductGroups: false,\r\n\tloadedProductGroups: false,\r\n\tloadingRentalCategories: false,\r\n\tloadedRentalCategories: false,\r\n\tloadingRentalCategoryDetails: false,\r\n\tloadedRentalCategoryDetails: false,\r\n\tupdating: false,\r\n\tdeleting: false,\r\n\terrors: null,\r\n\tclasses: null,\r\n\tclassCombos: {},\r\n\tproductGroups: null,\r\n\tproducts: {},\r\n\trentalCategories: null,\r\n\trentalCategoryDetails: null\r\n};\r\n\r\nexport function reducer(state = initialState, action: fromActions.MerchActions): CombosState {\r\n\tswitch (action.type) {\r\n\t\tcase fromActions.MerchActionTypes.LoadClasses: {\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tloadingClasses: true,\r\n\t\t\t\tloadedClasses: false,\r\n\t\t\t\tclasses: null,\r\n\t\t\t};\r\n\t\t}\r\n\r\n\t\tcase fromActions.MerchActionTypes.LoadClassesSuccess: {\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tloadingClasses: false,\r\n\t\t\t\tloadedClasses: true,\r\n\t\t\t\terrors: null,\r\n\t\t\t\tclasses: [...action.payload],\r\n\t\t\t};\r\n\t\t}\r\n\r\n\t\tcase fromActions.MerchActionTypes.LoadClassesFailure: {\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tloadingClasses: false,\r\n\t\t\t\tloadedClasses: false,\r\n\t\t\t\terrors: action.payload,\r\n\t\t\t\tclasses: null,\r\n\t\t\t};\r\n\t\t}\r\n\r\n\t\tcase fromActions.MerchActionTypes.LoadCombos: {\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\terrors: null,\r\n\t\t\t\tclassCombos: {\r\n\t\t\t\t\t...state.classCombos,\r\n\t\t\t\t\t[action.payload]: {\r\n\t\t\t\t\t\t...state.classCombos[action.payload],\r\n\t\t\t\t\t\tloading: true,\r\n\t\t\t\t\t},\r\n\t\t\t\t},\r\n\t\t\t};\r\n\t\t}\r\n\r\n\t\tcase fromActions.MerchActionTypes.LoadCombosSuccess: {\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tclassCombos: {\r\n\t\t\t\t\t...state.classCombos,\r\n\t\t\t\t\t[action.payload.classId]: {\r\n\t\t\t\t\t\tcombos: action.payload.combos || [],\r\n\t\t\t\t\t\tloading: false,\r\n\t\t\t\t\t},\r\n\t\t\t\t},\r\n\t\t\t};\r\n\t\t}\r\n\r\n\t\tcase fromActions.MerchActionTypes.LoadCombosFailure: {\r\n\t\t\tconst { [action.payload.classId]: removed, ...classCombos } = state.classCombos;\r\n\t\t\tconst errors = action.payload.error;\r\n\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\terrors,\r\n\t\t\t\tclassCombos,\r\n\t\t\t};\r\n\t\t}\r\n\r\n\t\tcase fromActions.MerchActionTypes.LoadProductGroups: {\r\n\t\treturn {\r\n\t\t\t...state,\r\n\t\t\tloadingProductGroups: true,\r\n\t\t\tloadedProductGroups: false,\r\n\t\t\tproductGroups: null,\r\n\t\t};\r\n\t\t}\r\n\r\n\t\tcase fromActions.MerchActionTypes.LoadProductGroupsSuccess: {\r\n\t\treturn {\r\n\t\t\t...state,\r\n\t\t\tloadingProductGroups: false,\r\n\t\t\tloadedProductGroups: true,\r\n\t\t\terrors: null,\r\n\t\t\tproductGroups: [...action.payload],\r\n\t\t};\r\n\t\t}\r\n\r\n\t\tcase fromActions.MerchActionTypes.LoadProductGroupsFailure: {\r\n\t\treturn {\r\n\t\t\t...state,\r\n\t\t\tloadingProductGroups: false,\r\n\t\t\tloadedProductGroups: false,\r\n\t\t\terrors: action.payload,\r\n\t\t\tproductGroups: null,\r\n\t\t};\r\n\t\t}\r\n\r\n\t\tcase fromActions.MerchActionTypes.LoadProducts: {\r\n\t\treturn {\r\n\t\t\t...state,\r\n\t\t\terrors: null,\r\n\t\t\tproducts: {\r\n\t\t\t\t...state.products,\r\n\t\t\t\t[action.payload]: {\r\n\t\t\t\t\t...state.products[action.payload],\r\n\t\t\t\t\tloading: true,\r\n\t\t\t\t},\r\n\t\t\t},\r\n\t\t};\r\n\t\t}\r\n\r\n\t\tcase fromActions.MerchActionTypes.LoadProductsSuccess: {\r\n\t\treturn {\r\n\t\t\t...state,\r\n\t\t\tproducts: {\r\n\t\t\t...state.products,\r\n\t\t\t[action.payload.productGroupId]: {\r\n\t\t\t\tproducts: action.payload.products || [],\r\n\t\t\t\tloading: false,\r\n\t\t\t},\r\n\t\t\t},\r\n\t\t};\r\n\t\t}\r\n\r\n\t\tcase fromActions.MerchActionTypes.LoadProductsFailure: {\r\n\t\t\tconst { [action.payload.productGroupId]: removed, ...products } = state.products;\r\n\t\t\tconst errors = action.payload.error;\r\n\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\terrors,\r\n\t\t\t\tproducts,\r\n\t\t\t};\r\n\t\t}\r\n\r\n\t\tcase fromActions.MerchActionTypes.LoadRentalCategoryDetails: {\r\n\t\t\treturn {\r\n ...state,\r\n\t\t\t\tloadingRentalCategoryDetails: true,\r\n\t\t\t\tloadedRentalCategoryDetails: false,\r\n\t\t\t\trentalCategoryDetails: null\r\n };\r\n\t\t}\r\n\r\n\t\tcase fromActions.MerchActionTypes.LoadRentalCategoryDetailsSuccess: {\r\n\t\t\tconst { rentalCategory } = action.payload;\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tloadingRentalCategoryDetails: false,\r\n\t\t\t\tloadedRentalCategoryDetails: true,\r\n\t\t\t\terrors: null,\r\n\t\t\t\trentalCategoryDetails: rentalCategory\r\n\t\t\t};\r\n\t\t}\r\n\r\n\t\tcase fromActions.MerchActionTypes.LoadRentalCategoryDetailsFailure: {\r\n\t\t\tconst { error } = action.payload;\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tloadingRentalCategoryDetails: false,\r\n\t\t\t\tloadedRentalCategoryDetails: true,\r\n\t\t\t\terrors: error\r\n\t\t\t};\r\n\t\t}\r\n\r\n\t\tcase fromActions.MerchActionTypes.LoadRentalCategories: {\r\n return {\r\n ...state,\r\n\t\t\t\tloadingRentalCategories: true,\r\n\t\t\t\tloadedRentalCategories: false,\r\n\t\t\t\trentalCategories: null\r\n };\r\n }\r\n\r\n\t\tcase fromActions.MerchActionTypes.LoadRentalCategoriesSuccess: {\r\n\t\t\tconst { rentalCategories } = action.payload;\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tloadingRentalCategories: false,\r\n\t\t\t\tloadedRentalCategories: true,\r\n\t\t\t\terrors: null,\r\n\t\t\t\trentalCategories: rentalCategories\r\n\t\t\t};\r\n\t\t}\r\n\r\n\t\tcase fromActions.MerchActionTypes.LoadRentalCategoriesFailure: {\r\n\t\t\tconst { error } = action.payload;\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tloadingRentalCategories: false,\r\n\t\t\t\tloadedRentalCategories: true,\r\n\t\t\t\terrors: error\r\n\t\t\t};\r\n\t\t}\r\n\r\n\t\tcase fromActions.MerchActionTypes.SetComboAvailability: {\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tupdating: true,\r\n\t\t\t\terrors: null,\r\n\t\t\t};\r\n\t\t}\r\n\r\n\t\tcase fromActions.MerchActionTypes.SetComboAvailabilitySuccess: {\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tupdating: false,\r\n\t\t\t\tclassCombos: {\r\n\t\t\t\t\t...state.classCombos,\r\n\t\t\t\t\t[action.payload.classId]: {\r\n\t\t\t\t\t\t...state.classCombos[action.payload.classId],\r\n\t\t\t\t\t\tcombos: state.classCombos[action.payload.classId].combos.map(c => {\r\n\t\t\t\t\t\t\tif (action.payload.ids.includes(c.id)) {\r\n\t\t\t\t\t\t\t\treturn {\r\n\t\t\t\t\t\t\t\t\t...c,\r\n\t\t\t\t\t\t\t\t\tisAvailable: action.payload.available,\r\n\t\t\t\t\t\t\t\t};\r\n\t\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\t\treturn c;\r\n\t\t\t\t\t\t}),\r\n\t\t\t\t\t},\r\n\t\t\t\t},\r\n\t\t\t};\r\n\t\t}\r\n\r\n\t\tcase fromActions.MerchActionTypes.SetComboAvailabilityFailure: {\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tupdating: false,\r\n\t\t\t\terrors: action.payload.error,\r\n\t\t\t\tclassCombos: {\r\n\t\t\t\t\t...state.classCombos,\r\n\t\t\t\t\t[action.payload.classId]: {\r\n\t\t\t\t\t\t...state.classCombos[action.payload.classId],\r\n\t\t\t\t\t\tcombos: state.classCombos[action.payload.classId].combos.filter(c => {\r\n\t\t\t\t\t\t\treturn {\r\n\t\t\t\t\t\t\t\t...c,\r\n\t\t\t\t\t\t\t};\r\n\t\t\t\t\t\t}),\r\n\t\t\t\t\t},\r\n\t\t\t\t},\r\n\t\t\t};\r\n\t\t}\r\n\r\n\t\tcase fromActions.MerchActionTypes.DeleteCombo: {\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tdeleting: true,\r\n\t\t\t\terrors: null,\r\n\t\t\t};\r\n\t\t}\r\n\r\n\t\tcase fromActions.MerchActionTypes.DeleteComboSuccess: {\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tdeleting: false,\r\n\t\t\t\tclassCombos: {\r\n\t\t\t\t\t...state.classCombos,\r\n\t\t\t\t\t[action.payload.classId]: {\r\n\t\t\t\t\t\t...state.classCombos[action.payload.classId],\r\n\t\t\t\t\t\tcombos: state.classCombos[action.payload.classId].combos.filter(c => c.id != action.payload.id),\r\n\t\t\t\t\t},\r\n\t\t\t\t},\r\n\t\t\t};\r\n\t\t}\r\n\r\n\t\tcase fromActions.MerchActionTypes.DeleteComboFailure: {\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tdeleting: false,\r\n\t\t\t\terrors: action.payload.error,\r\n\t\t\t};\r\n\t\t}\r\n\r\n\t\tdefault: {\r\n\t\t\tif (Object.values(fromActions.MerchActionTypes).includes((action as fromActions.MerchActions).type)) {\r\n\t\t\t\tconsole.log('merch.reducer: unhandled action: ', action);\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\treturn state;\r\n}\r\n\r\n","import { Injectable } from '@angular/core';\r\nimport { CanActivate, ActivatedRouteSnapshot, RouterStateSnapshot } from '@angular/router';\r\n\r\nimport { Observable } from 'rxjs';\r\nimport { tap, filter, take, map } from 'rxjs/operators';\r\n\r\n\r\nimport { select, Store } from '@ngrx/store';\r\n\r\nimport * as fromStore from '../store';\r\n\r\n@Injectable()\r\nexport class SchoolSearchResultsGuard implements CanActivate {\r\n private _url: string;\r\n\r\n constructor(private _store: Store) {\r\n console.log('SchoolSearchResultsGuard: constructor called.');\r\n }\r\n\r\n canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable {\r\n this._url = state.url;\r\n return this.checkStore();\r\n }\r\n\r\n checkStore(): Observable {\r\n // True if we've already processed query string in guard\r\n let processedQueryString = false;\r\n\r\n console.log('school-searchresults.guard - checkStore()');\r\n\r\n // TODO: Make forceReload smart enough to be false if the search criteria state matches the query.\r\n //var forceReload = true;\r\n\r\n // TODO: Need to wait here somehow until process query string calls LoadDistrictSearchResults and returns.\r\n //return of(true);\r\n\r\n // TODO: Check for API error (loaded false or err, etc.). Return false if an err.\r\n return this._store.pipe(\r\n select(fromStore.getSchoolSearchState),\r\n tap(state => {\r\n //if ((!state.loaded && !state.loading && state.errors === null) || forceReload) {\r\n if (!processedQueryString) {\r\n // So we only do this dispatch once (TODO: Figure out a way for this \"tap\" to only happen once)\r\n processedQueryString = true;\r\n //forceReload = false;\r\n //this._store.dispatch(new fromStore.LoadDistrictSearchResults(splitted.length == 2 ? splitted[1] : \"\"));\r\n // Dispatch so that we process the incoming query string.\r\n this._store.dispatch(new fromStore.ProcessQueryString(this._url));\r\n }\r\n }),\r\n filter(state => state.loaded),\r\n map(state => state.loaded),\r\n\t\t\ttake(1),\r\n\t\t);\r\n }\r\n}\r\n","import { TeacherSearchResultsGuard } from './teacher-searchresults.guard';\r\nimport { TeacherDetailsExistsGuard } from './teacher-details-exists.guard';\r\n\r\nexport const guards: any[] = [TeacherSearchResultsGuard, TeacherDetailsExistsGuard];\r\n\r\nexport * from './teacher-searchresults.guard';\r\nexport * from './teacher-details-exists.guard';\r\n","import { CombosComponent } from './combos.component';\r\nimport { ProductGroupsComponent } from './product-groups.component';\r\nimport { RentalCategoriesDetailsComponent } from './rental-categories-details.component';\r\nimport { RentalCategoriesComponent } from './rental-categories.component';\r\n\r\nexport const containers: any[] = [\r\n CombosComponent,\r\n ProductGroupsComponent,\r\n RentalCategoriesComponent,\r\n RentalCategoriesDetailsComponent\r\n];\r\n\r\nexport * from './combos.component';\r\nexport * from './product-groups.component';\r\nexport * from './rental-categories.component';\r\nexport * from './rental-categories-details.component';\r\n","import { Component, Input } from '@angular/core';\r\n\r\nimport { District } from '../../models';\r\n\r\n@Component({\r\n\tselector: 'opus-district-calendar',\r\n\ttemplateUrl: './district-calendar.component.html',\r\n})\r\nexport class DistrictCalendarComponent {\r\n\t@Input() district: District;\r\n\tmonthNames = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'];\r\n\r\n\tget schoolStart() {\r\n\t\treturn this.getDateRangeText(this.district.schoolStartFrom, this.district.schoolStartTo);\r\n\t}\r\n\r\n\tget schoolEnd() {\r\n\t\treturn this.getDateRangeText(this.district.schoolEndFrom, this.district.schoolEndTo);\r\n\t}\r\n\r\n\tprivate getDate(s: string): Date {\r\n\t\tconst ms: number = Date.parse(s);\r\n\r\n\t\tif (isNaN(ms)) {\r\n\t\t\treturn null;\r\n\t\t}\r\n\r\n\t\treturn new Date(ms);\r\n\t}\r\n\r\n\tprivate getDateText(d: Date): string {\r\n\t\treturn d === null ? 'Unspecified' : `${this.monthNames[d.getMonth()]} ${d.getDate().toString()}`;\r\n\t}\r\n\r\n\tprivate getDateRangeText(from: string, to: string): string {\r\n\t\tconst fromDate = this.getDate(from);\r\n\t\tconst toDate = this.getDate(to);\r\n\r\n\t\tif (fromDate === null && toDate === null) {\r\n\t\t\treturn '';\r\n\t\t}\r\n\r\n\t\treturn `${this.getDateText(fromDate)} - ${this.getDateText(toDate)}`;\r\n\t}\r\n}\r\n\r\n","
    \r\n\t
  • \r\n\t\t
    School Start
    \r\n\t\t
    {{ schoolStart }}
    \r\n\t
  • \r\n\t
  • \r\n\t\t
    School End
    \r\n\t\t
    {{ schoolEnd }}
    \r\n\t
  • \r\n
\r\n","import { Action } from '@ngrx/store';\r\nimport { Configuration } from '../../models';\r\n\r\nexport enum ConfigurationActionTypes {\r\n LoadConfiguration = '[Configuration] Load Configuration',\r\n LoadConfigurationSuccess = '[Configuration] Load Configuration Success',\r\n LoadConfigurationFailure = '[Configuration] Load Configuration Failure',\r\n}\r\n\r\nexport class LoadConfiguration implements Action {\r\n readonly type = ConfigurationActionTypes.LoadConfiguration;\r\n constructor(public payload: any) { }\r\n}\r\n\r\nexport class LoadConfigurationSuccess implements Action {\r\n readonly type = ConfigurationActionTypes.LoadConfigurationSuccess;\r\n constructor(public payload: Configuration) { }\r\n}\r\n\r\nexport class LoadConfigurationFailure implements Action {\r\n readonly type = ConfigurationActionTypes.LoadConfigurationFailure;\r\n constructor(public payload: any) { }\r\n}\r\n\r\nexport type ConfigurationActions =\r\n | LoadConfiguration\r\n | LoadConfigurationSuccess\r\n | LoadConfigurationFailure;\r\n","import { Component, Input } from '@angular/core';\r\n\r\nimport { TabsComponent } from './tabs.component';\r\n\r\n@Component({\r\n\tselector: 'opus-tab',\r\n\ttemplateUrl: './tab.component.html',\r\n})\r\nexport class TabComponent {\r\n\t@Input() name;\r\n\tactive = false;\r\n\r\n\tconstructor(private tabs: TabsComponent) {\r\n\t\ttabs.addTab(this);\r\n\t}\r\n}\r\n","
\r\n\t\r\n
","export * from './relationship-type';\r\nexport * from './address.model';\r\nexport * from './address-verification.model';\r\nexport * from './states';\r\nexport * from './location-manager.model';\r\nexport * from './taxonomy-model';\r\nexport * from './program-type';\r\nexport * from './history.model';\r\nexport * from './preferences-entity.model';\r\nexport * from './delivery-time-period-type';\r\n","import { createSelector } from '@ngrx/store';\r\n\r\nimport * as fromFeature from '../reducers';\r\n\r\nexport const getLocationsState = createSelector(\r\n\tfromFeature.getScpState,\r\n\t(state: fromFeature.ScpState) => state.locations\r\n);\r\n\r\nexport const getLocationsStateLookup = createSelector(\r\n fromFeature.getScpState,\r\n (state: fromFeature.ScpState) => state.locations.managerByNameLookup\r\n);\r\n\r\n\r\nexport const getTaxonomyState = createSelector(\r\n fromFeature.getScpState,\r\n (state: fromFeature.ScpState) => state.taxonomy\r\n);\r\n\r\nexport const getRentalCategoryState = createSelector(\r\n getTaxonomyState,\r\n (state: fromFeature.TaxonomyState) => state.rentalCategories\r\n);\r\n","import { Component, Input } from '@angular/core';\r\n\r\nimport { SchoolDetails, SchoolType, SchoolLevel, InactiveReason } from '../../models';\r\n\r\n@Component({\r\n\tselector: 'opus-school-info',\r\n\ttemplateUrl: './school-info.component.html',\r\n})\r\nexport class SchoolInfoComponent {\r\n\t@Input() school: SchoolDetails;\r\n\r\n\tget schoolType() {\r\n\t\treturn SchoolType[this.school.type];\r\n\t}\r\n\r\n\tget level() {\r\n\t\treturn SchoolLevel[this.school.level];\r\n\t}\r\n\r\n\tget gradeRange() {\r\n\t\treturn `${this.gradeToLabel(this.school.lowGrade)}-${this.gradeToLabel(this.school.highGrade)}`;\r\n }\r\n\r\n get inactiveReason(): string {\r\n return InactiveReason[this.school.inactiveReason];\r\n }\r\n\r\n\tprivate gradeToLabel(grade?: number): string {\r\n\t\tlet label: string = grade === null ? 'N/A' : grade.toString();\r\n\r\n\t\tif (grade == 0) {\r\n\t\t\tlabel = 'K';\r\n\t\t} else if (grade >= 13) {\r\n\t\t\tlabel = 'College';\r\n\t\t}\r\n\r\n\t\treturn label;\r\n\t}\r\n}\r\n","
    \r\n
  • \r\n
    Active
    \r\n
    {{ school.isActive | yesNo }}
    \r\n
  • \r\n
  • \r\n
    Inactive Reason
    \r\n
    {{ inactiveReason }}
    \r\n
  • \r\n
  • \r\n
    School ID
    \r\n
    {{ school.id }}
    \r\n
  • \r\n
  • \r\n
    Short Name
    \r\n
    {{ school.shortName }}
    \r\n
  • \r\n
  • \r\n
    Long Name
    \r\n
    {{ school.longName }}
    \r\n
  • \r\n
  • \r\n
    District ID
    \r\n \r\n
  • \r\n
  • \r\n
    District Name
    \r\n \r\n
  • \r\n
  • \r\n
    Type
    \r\n
    {{ schoolType }}
    \r\n
  • \r\n
  • \r\n
    Level
    \r\n
    {{ level }}
    \r\n
  • \r\n
  • \r\n
    Grade Range
    \r\n
    {{ gradeRange }}
    \r\n
  • \r\n
\r\n","import * as fromComponents from './components';\r\nimport * as fromContainers from './containers';\r\nimport * as fromGuards from './guards';\r\nimport { reducers, effects } from './store';\r\n\r\nexport * from './components';\r\nexport * from './containers';\r\nexport * from './guards';\r\nexport * from './store';\r\n","import { Action } from '@ngrx/store';\r\n\r\nexport enum OidcActionTypes {\r\n ConfigLoaded = '[OIDC] Config Loaded',\r\n AuthorizationResult = '[OIDC] Authorization Result'\r\n}\r\n\r\nexport class OidcConfigLoaded implements Action {\r\n readonly type = OidcActionTypes.ConfigLoaded;\r\n}\r\n\r\nexport class OidcAuthorizationResult implements Action {\r\n readonly type = OidcActionTypes.AuthorizationResult;\r\n constructor(readonly payload: boolean) { }\r\n}\r\n\r\nexport type OidcActions =\r\n | OidcConfigLoaded\r\n | OidcAuthorizationResult\r\n ;\r\n","import { Action } from '@ngrx/store';\r\n\r\nimport { ProgramCreate } from '../../models';\r\nimport { SchoolLookup } from '../../../schools/models';\r\n\r\nexport enum ProgramCreateActionTypes {\r\n CreateProgram = '[Program] Create Program',\r\n CreateProgramSuccess = '[Program] Create Program Success',\r\n CreateProgramFailure = '[Program] Create Program Failure',\r\n\r\n SchoolLookupById = '[Program] Lookup School By Id',\r\n SchoolLookupByIdSuccess = '[Program] Lookup School By Id Success',\r\n SchoolLookupByIdFailure = '[Program] Lookup School By Id Failure',\r\n\r\n SchoolLookupByName = '[Program] Lookup School By Name',\r\n SchoolLookupByNameSuccess = '[Program] Lookup School By Name Success',\r\n SchoolLookupByNameFailure = '[Program] Lookup School By Name Failure',\r\n SchoolLookupReset = '[Program] Lookup School Reset'\r\n}\r\n\r\nexport class CreateProgram implements Action {\r\n readonly type = ProgramCreateActionTypes.CreateProgram;\r\n constructor(public payload: { program: ProgramCreate }) { }\r\n}\r\n\r\nexport class CreateProgramSuccess implements Action {\r\n readonly type = ProgramCreateActionTypes.CreateProgramSuccess;\r\n constructor(public payload: { id: number, teacherId: number }) { }\r\n}\r\n\r\nexport class CreateProgramFailure implements Action {\r\n readonly type = ProgramCreateActionTypes.CreateProgramFailure;\r\n constructor(public payload: any) { }\r\n}\r\n\r\nexport class SchoolLookupById implements Action {\r\n readonly type = ProgramCreateActionTypes.SchoolLookupById;\r\n constructor(public payload: { id: number }) { }\r\n}\r\n\r\nexport class SchoolLookupByIdSuccess implements Action {\r\n readonly type = ProgramCreateActionTypes.SchoolLookupByIdSuccess;\r\n constructor(public payload: { school: SchoolLookup }) { }\r\n}\r\n\r\nexport class SchoolLookupByIdFailure implements Action {\r\n readonly type = ProgramCreateActionTypes.SchoolLookupByIdFailure;\r\n constructor(public payload: any) { }\r\n}\r\n\r\nexport class SchoolLookupByName implements Action {\r\n readonly type = ProgramCreateActionTypes.SchoolLookupByName;\r\n constructor(public payload: { name: string }) { }\r\n}\r\n\r\nexport class SchoolLookupByNameSuccess implements Action {\r\n readonly type = ProgramCreateActionTypes.SchoolLookupByNameSuccess;\r\n constructor(public payload: { schools: SchoolLookup[] }) { }\r\n}\r\n\r\nexport class SchoolLookupByNameFailure implements Action {\r\n readonly type = ProgramCreateActionTypes.SchoolLookupByNameFailure;\r\n constructor(public payload: any) { }\r\n}\r\n\r\nexport class SchoolLookupReset implements Action {\r\n readonly type = ProgramCreateActionTypes.SchoolLookupReset;\r\n constructor() { }\r\n}\r\n\r\nexport type ProgramCreateActions =\r\n | CreateProgram\r\n | CreateProgramSuccess\r\n | CreateProgramFailure\r\n | SchoolLookupById\r\n | SchoolLookupByIdSuccess\r\n | SchoolLookupByIdFailure\r\n | SchoolLookupByName\r\n | SchoolLookupByNameSuccess\r\n | SchoolLookupByNameFailure\r\n | SchoolLookupReset;\r\n","import { ConfigurationService, ConfigurationHttpService } from './ConfigurationService';\r\nimport { SecurityService } from './security.service';\r\n\r\nexport const services: any[] = [ConfigurationHttpService, ConfigurationService, SecurityService];\r\n\r\nexport * from './ConfigurationService';\r\nexport * from './AuthInterceptor';\r\nexport * from './security.service';\r\n","import { Injectable } from '@angular/core';\r\nimport { CanActivate, ActivatedRouteSnapshot } from '@angular/router';\r\n\r\nimport { Observable, of } from 'rxjs';\r\nimport { tap, filter, take, switchMap, catchError, map, mergeMap } from 'rxjs/operators';\r\n\r\nimport { select, Store } from '@ngrx/store';\r\n\r\nimport * as fromRoot from '../../../core/store';\r\nimport * as fromStore from '../store';\r\n\r\n\r\n@Injectable()\r\nexport class TeacherDetailsExistsGuard implements CanActivate {\r\n\tconstructor(private _store: Store) {\r\n\t\tconsole.log('TeacherDetailsExistsGuard()...');\r\n }\r\n\r\n private _statusCode = 0;\r\n\r\n\tcanActivate(route: ActivatedRouteSnapshot): Observable {\r\n\t\t//\tget the id of the teacher we need to load from the route\r\n\t\tconst id = +route.paramMap.get('id');\r\n\t\t//\tcheck for a specific redirect route to use if the teacher isn't found\r\n\t\tlet redirectTo = !!route.data.redirectTo ? route.data.redirectTo : '/';\r\n\r\n\t\tconsole.log(`TeacherDetailsExistsGuard: canActivate called for teacher id: ${id}...`);\r\n\r\n\t\t//\tthis will attempt to load the teacher by dispatching the appropriate action then either redirect or allow the activation\r\n\t\treturn this.checkStore(id).pipe(\r\n switchMap(found => {\r\n if (!found) {\r\n switch (this._statusCode) {\r\n case 401: {\r\n console.log(`TeacherDetailsExistsGuard: unauthorized request.`);\r\n redirectTo = '/401';\r\n break;\r\n }\r\n case 500: {\r\n console.log(`TeacherDetailsExistsGuard: checkStore returned: Unexpected Error.`);\r\n redirectTo = '/500';\r\n break;\r\n }\r\n default: {\r\n console.log(`TeacherDetailsExistsGuard: checkStore returned: Not Found.`);\r\n break;\r\n }\r\n }\r\n }\r\n else\r\n console.log(`TeacherDetailsExistsGuard: checkStore returned: Found.`);\r\n\r\n\t\t\t\treturn this.allowOrRedirect(found, redirectTo);\r\n\t\t\t}),\r\n\t\t\tcatchError(err => {\r\n\t\t\t\tconsole.log(`TeacherDetailsExistsGuard: activation failed for teacher ${id}. Error: `, err);\r\n\r\n\t\t\t\treturn this.allowOrRedirect(false, '/500');\r\n\t\t\t}),\r\n\t\t);\r\n\t}\r\n\r\n\tcheckStore(id: number): Observable {\r\n\r\n return this._store.pipe(\r\n select(fromRoot.getUserAuthInfo),\r\n filter(x => !!x),\r\n mergeMap(x => {\r\n if (!x.policyCodes.has('Teacher.ViewDetails')) {\r\n this._statusCode = 401;\r\n return of(false);\r\n }\r\n //\tstart with the teacher details state...\r\n return this._store.select(fromStore.getTeacherDetailsState).pipe(\r\n //\tif there aren't teacher details, or they are for a different teacher, dispatch an action to load the teacher\r\n tap(state => {\r\n if (state.errors && !state.errors.includes('404 Not Found'))\r\n this._statusCode = 500;\r\n else if ((state.teacherDetails === null || state.teacherDetails.id != id || !state.loaded) && !state.loading) {\r\n console.log(`TeacherDetailsExistsGuard: Loading teacher ${id}. Current Teacher Details state: `, state);\r\n this._store.dispatch(new fromStore.LoadTeacherDetails(id));\r\n }\r\n }),\r\n //\twait for it to be in the loaded state for the teacher in question or for any errors\r\n filter(state => (state.loaded && state.teacherDetails.id == id) || state.errors !== null),\r\n //\tmap it to a boolean observable\r\n map(state => state.loaded),\r\n //\tget the first result & complete\r\n take(1),\r\n );\r\n })\r\n );\r\n\t}\r\n\r\n\tallowOrRedirect(found: boolean, redirectTo: string): Observable {\r\n\t\tif (!found) {\r\n\t\t\tconsole.log(`Redirecting to '${redirectTo}'...`);\r\n\t\t\tthis._store.dispatch(new fromRoot.Go({ path: [redirectTo] }));\r\n\t\t}\r\n\r\n\t\treturn of(found);\r\n\t}\r\n}\r\n","import { Component, Input } from '@angular/core';\r\n\r\nimport { SchoolDetails, SchoolDelivery, ServiceLevel } from '../../models';\r\n\r\n@Component({\r\n\tselector: 'opus-school-online-rentals',\r\n\ttemplateUrl: './school-online-rentals.component.html',\r\n})\r\nexport class SchoolOnlineRentalsComponent {\r\n\t@Input() school: SchoolDetails;\r\n\r\n\tget schoolDelivery() {\r\n\t\treturn SchoolDelivery[this.school.schoolDelivery];\r\n\t}\r\n\r\n\tget serviceLevel() {\r\n\t\treturn ServiceLevel[this.school.serviceLevel];\r\n\t}\r\n}\r\n","
    \r\n\t
  • \r\n\t\t
    Online Rental
    \r\n\t\t
    {{ school.onlineRental | yesNo }}
    \r\n\t
  • \r\n\t
  • \r\n\t\t
    Ship to Home
    \r\n\t\t
    {{ school.shipToHome | yesNo }}
    \r\n\t
  • \r\n\t
  • \r\n\t\t
    School Delivery
    \r\n\t\t
    {{ schoolDelivery }}
    \r\n\t
  • \r\n\t
  • \r\n\t\t
    Exclusive Service Account ID
    \r\n\t\t
    {{ school.exclusiveServiceAccountCode }}
    \r\n\t
  • \r\n\t
  • \r\n\t\t
    Exclusive Service Account Name
    \r\n\t\t
    {{ school.exclusiveServiceAccountName }}
    \r\n\t
  • \r\n\t
  • \r\n\t\t
    Offers Bandshare
    \r\n\t\t
    {{ school.offersBandshare | yesNo }}
    \r\n\t
  • \r\n
\r\n","export * from './details.actions';\r\nexport * from './event-searchresults.action';\r\n","import { Injectable } from '@angular/core';\r\nimport { CanActivate, ActivatedRouteSnapshot } from '@angular/router';\r\n\r\nimport { Observable, of } from 'rxjs';\r\nimport { tap, filter, take, switchMap, catchError, map } from 'rxjs/operators';\r\n\r\nimport { select, Store } from '@ngrx/store';\r\n\r\nimport * as fromRoot from '../../../core/store';\r\nimport * as fromStore from '../store';\r\nimport { HttpErrorResponse } from '@angular/common/http';\r\n\r\n@Injectable()\r\nexport class HistoryGuard implements CanActivate {\r\n\tconstructor(private _store: Store) {\r\n\t\tconsole.log('HistoryGuard()...');\r\n\t}\r\n\r\n\tcanActivate(route: ActivatedRouteSnapshot): Observable {\r\n\t\tconsole.log('HistoryGuard: canActivate(): ', route);\r\n\r\n\t\t//\tgather route parameters...\r\n\t\tconst contextName = route.paramMap.get('type');\r\n\t\tconst contextId = +route.paramMap.get('id');\r\n\t\tconst scope = route.routeConfig.path.includes('preferences') ? 'preferences' : 'details';\r\n\r\n\t\tconsole.log(`HistoryGuard: Calling checkStore( '${contextName}', ${contextId}, '${scope}' )...`);\r\n\r\n\t\t//\talways load history from the server - don't use the store as a cache\r\n const today = new Date(new Date().toDateString());\r\n const fromDate = new Date(today);\r\n fromDate.setDate(today.getDate() - 30);\r\n today.setDate(today.getDate() + 1);\r\n\t\tthis._store.dispatch(new fromStore.LoadHistory({ contextName, contextId, scope, fromDate: fromDate.toISOString(), toDate: today.toISOString() }));\r\n\r\n\t\treturn this.checkStore(contextName, contextId, scope).pipe(\r\n\t\t\tswitchMap(found => {\r\n\t\t\t\tif (!found) {\r\n\t\t\t\t\tconsole.log('HistoryGuard: Not Found.');\r\n\r\n\t\t\t\t\tthis._store.dispatch(new fromRoot.Go({ path: ['/404'] }));\r\n\r\n\t\t\t\t\treturn of(false);\r\n\t\t\t\t}\r\n\r\n\t\t\t\tconsole.log('HistoryGuard: Found.');\r\n\r\n\t\t\t\treturn of(true);\r\n\t\t\t}),\r\n\t\t\tcatchError((error: HttpErrorResponse) => {\r\n\t\t\t\tconsole.log('HistoryGuard: Activation failed... Error: ', error);\r\n\r\n\t\t\t\tthis._store.dispatch(new fromRoot.Go({ path: [error.status == 401 ? '/401' : '/500'] }));\r\n\r\n\t\t\t\treturn of(false);\r\n\t\t\t}),\r\n\t\t);\r\n\t}\r\n\r\n\tprivate checkStore(contextName: string, contextId: number, scope: string): Observable {\r\n\t\treturn this._store.pipe(\r\n\t\t\tselect(fromStore.getHistoryDetailsState),\r\n\t\t\t//\twait for it to be in the loaded state or for any errors\r\n\t\t\tfilter(state => {\r\n\t\t\t\treturn this.isHistoryLoaded(state, contextName, contextId, scope) || (this.hasHistoryError(state) && !state.loading);\r\n\t\t\t}),\r\n\t\t\ttap(state => {\r\n\t\t\t\tconsole.log('HistoryGuard: After filter... state: ', state);\r\n\r\n\t\t\t\tif (state.error && state.error.status != 404) {\r\n\t\t\t\t\tthrow state.error;\r\n\t\t\t\t}\r\n\t\t\t}),\r\n\t\t\t//\tmap it to a boolean observable\r\n\t\t\tmap(state => state.loaded),\r\n\t\t\ttap(state => {\r\n\t\t\t\tconsole.log('HistoryGuard: After map... state: ', state);\r\n\t\t\t}),\r\n\t\t\t//\tget the first result & complete\r\n\t\t\ttake(1),\r\n\t\t);\r\n\t}\r\n\r\n\tprivate isHistoryLoaded(state: fromStore.DetailsState, contextName: string, contextId: number, scope: string): boolean {\r\n\t\treturn state.loaded && !!state.data && !!state.data.context && state.data.context.entityTypeName.toLowerCase() + 's' == contextName && state.data.context.entityId == contextId && state.data.context.scope.toLowerCase() == scope;\r\n\t}\r\n\r\n\tprivate hasHistoryError(state: fromStore.DetailsState): boolean {\r\n\t\treturn !!state.error || (state.loaded && state.data === null);\r\n\t}\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { Router, NavigationEnd } from '@angular/router';\r\n\r\nimport { Observable } from 'rxjs';\r\n\r\nimport { select, Store } from '@ngrx/store';\r\n\r\nimport { District, DistrictRelMgrVM } from '../models';\r\n\r\nimport * as fromStore from '../store';\r\n\r\n@Component({\r\n\tselector: 'opus-district-page',\r\n\ttemplateUrl: './district-details.component.html',\r\n})\r\nexport class DistrictDetailsComponent implements OnInit {\r\n\tdistrictDetails$: Observable;\r\n\trelationshipManagerVM$: Observable;\r\n\tpanels$: Observable<{ [id: string]: fromStore.PanelState }>;\r\n\tscrollTo: Element = null;\r\n\r\n\tprivate _district: District;\r\n\r\n\tconstructor(private store: Store, router: Router) {\r\n\t\tconsole.log('DistrictDetailsComponent: constructor().');\r\n\r\n\t\trouter.events.subscribe(s => {\r\n\t\t\tif (s instanceof NavigationEnd) {\r\n\t\t\t\tconst tree = router.parseUrl(router.url);\r\n\r\n\t\t\t\tif (tree.fragment) {\r\n\t\t\t\t\tconst element = document.querySelector('#' + tree.fragment);\r\n\r\n\t\t\t\t\tif (element) {\r\n\t\t\t\t\t\tthis.scrollTo = element;\r\n\t\t\t\t\t\telement.scrollIntoView();\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n\r\n\tget districtId(): number {\r\n\t\treturn this._district.id;\r\n\t}\r\n\r\n\tngOnInit() {\r\n\t\tconsole.log('DistrictDetailsComponent: ngOnInit().');\r\n\r\n\t\tthis.districtDetails$ = this.store.pipe(select(fromStore.getDetailsStateDistrict));\r\n\r\n\t\tthis.panels$ = this.store.pipe(select(fromStore.getDetailsStatePanels));\r\n\t}\r\n\r\n\tngAfterViewInit() {\r\n\t\tif (this.scrollTo) {\r\n\t\t\tconsole.log('scrollIntoView: ', this.scrollTo);\r\n\r\n\t\t\tthis.scrollTo.scrollIntoView();\r\n\t\t\tthis.scrollTo = null;\r\n\t\t}\r\n\t}\r\n\r\n\tonToggleEditor(key: string, open: boolean) {\r\n\t\tthis.store.dispatch(new fromStore.UpdateEditorState({ key, open }));\r\n\t}\r\n}\r\n","
\r\n \r\n
\r\n
\r\n \r\n
\r\n\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n\t\t
\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t
\r\n\r\n\t\t
\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n\r\n","import { ChangeDetectorRef, Component, OnInit } from \"@angular/core\";\r\nimport { Observable, ReplaySubject } from \"rxjs\";\r\nimport { catchError, takeWhile, tap } from \"rxjs/operators\";\r\nimport { select, Store } from '@ngrx/store';\r\nimport { RentalCategory, RentalCategoryAttribute } from \"../models\";\r\nimport * as fromStore from '../store';\r\nimport * as fromServices from '../services';\r\nimport { ActivatedRoute } from \"@angular/router\";\r\nimport { FormBuilder, FormGroup } from \"@angular/forms\";\r\nimport { compare } from \"fast-json-patch\";\r\n\r\n@Component({\r\n\tselector: 'rental-categories-details',\r\n\ttemplateUrl: './rental-categories-details.component.html',\r\n})\r\n\r\nexport class RentalCategoriesDetailsComponent implements OnInit {\r\n private _alive = true;\r\n vm$: Observable;\r\n vm: fromStore.CombosState;\r\n rentalCategoryDetails$: Observable;\r\n rentalCategoryAttributes: RentalCategoryAttribute;\r\n rentalCategory$: Observable;\r\n rentalCategory: RentalCategory;\r\n isEditing: boolean = false;\r\n rentalCategoryId: number;\r\n detailEditor: FormGroup;\r\n\r\n constructor(private merchService: fromServices.MerchService, \r\n private cdr: ChangeDetectorRef, \r\n private route: ActivatedRoute,\r\n private fb: FormBuilder) {\r\n\r\n }\r\n\r\n ngOnInit(): void {\r\n this.rentalCategoryId = +this.route.snapshot.paramMap.get('id');\r\n\r\n this.rentalCategoryDetails$ = this.merchService.getRentalCategoryAttributes(this.rentalCategoryId).pipe();\r\n this.rentalCategory$ = this.merchService.getRentalCategoryDetails(this.rentalCategoryId).pipe();\r\n\r\n this.rentalCategoryDetails$\r\n .pipe(takeWhile(() => this._alive))\r\n .subscribe(rc => {\r\n this.rentalCategoryAttributes = rc;\r\n console.log(`getRentalCategoryAttributes returned:`, this.rentalCategoryAttributes);\r\n this.createForm();\r\n this.cdr.detectChanges();\r\n }\r\n );\r\n\r\n this.rentalCategory$\r\n .pipe(takeWhile(() => this._alive))\r\n .subscribe(rc => {\r\n this.rentalCategory = rc;\r\n console.log(`getRentalCategoryDetails returned:`, this.rentalCategory);\r\n this.cdr.detectChanges();\r\n }\r\n );\r\n\r\n this.isEditing = false;\r\n }\r\n\r\n onToggleEditor(open: boolean) {\r\n\t\tthis.isEditing = open;\r\n this.resetForm();\r\n }\r\n\r\n onSubmit() {\r\n console.log('onSubmit: ', this.detailEditor.status) \r\n console.log('Original: ', this.rentalCategoryAttributes)\r\n \r\n const newAttributes: RentalCategoryAttribute = this.detailEditor.value;\r\n newAttributes.id = this.rentalCategoryAttributes.id;\r\n if (this.detailEditor.value.isEnabled == 'Yes') {\r\n newAttributes.isEnabled = true;\r\n } else {\r\n newAttributes.isEnabled = false;\r\n }\r\n if (this.detailEditor.value.allowShipToHome == 'Yes') {\r\n newAttributes.allowShipToHome = true;\r\n } else {\r\n newAttributes.allowShipToHome = false;\r\n }\r\n if (this.detailEditor.value.allowShippingToHomeOrBusiness == 'Yes') {\r\n newAttributes.allowShippingToHomeOrBusiness = true;\r\n } else {\r\n newAttributes.allowShippingToHomeOrBusiness = false;\r\n }\r\n \r\n console.log('New: ', newAttributes);\r\n\r\n this.detailEditor.value.id = this.rentalCategoryAttributes.id;\r\n const patch = compare(this.rentalCategoryAttributes, newAttributes);\r\n \r\n console.log('Patch: ', patch);\r\n\r\n try {\r\n this.merchService.patchRentalCategoryAttributes(this.rentalCategoryId, patch)\r\n .pipe (takeWhile(() => this._alive))\r\n .subscribe(rc => {\r\n this.rentalCategoryAttributes = rc;\r\n console.log(`patchRentalCategoryAttributes returned:`, this.rentalCategoryAttributes);\r\n this.createForm();\r\n this.cdr.detectChanges();\r\n });\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n\r\n this.isEditing = false;\r\n }\r\n\r\n createForm() {\r\n this.detailEditor = this.fb.group({\r\n id: [this.id],\r\n isEnabled: [this.enabled],\r\n displayName: [this.displayname],\r\n description: [this.description],\r\n includes: [this.includes],\r\n allowShipToHome: [this.allowShipToHome],\r\n allowShippingToHomeOrBusiness: [this.allowShipToHomeOrBusiness]\r\n });\r\n }\r\n\r\n resetForm() {\r\n this.detailEditor.reset({\r\n isEnabled: this.enabled,\r\n displayName: this.displayname,\r\n description: this.description,\r\n includes: this.includes,\r\n allowShipToHome: this.allowShipToHome,\r\n allowShippingToHomeOrBusiness: this.allowShipToHomeOrBusiness\r\n });\r\n }\r\n\r\n get id() {\r\n return this.rentalCategoryAttributes?.id;\r\n }\r\n get enabled() {\r\n return this.rentalCategoryAttributes?.isEnabled ? 'Yes' : 'No';\r\n }\r\n get displayname() {\r\n return this.rentalCategoryAttributes?.displayName;\r\n }\r\n get description() {\r\n return this.rentalCategoryAttributes?.description;\r\n }\r\n get includes() {\r\n return this.rentalCategoryAttributes?.includes;\r\n }\r\n get allowShipToHome() {\r\n return this.rentalCategoryAttributes?.allowShipToHome ? 'Yes' : 'No';\r\n }\r\n get allowShipToHomeOrBusiness() {\r\n return this.rentalCategoryAttributes?.allowShippingToHomeOrBusiness ? 'Yes' : 'No';\r\n }\r\n get canSave(): boolean {\r\n return this.detailEditor.valid && this.detailEditor.dirty;\r\n }\r\n}","\r\n\r\n
\r\n\t

Rental Category Detail

\r\n\t

\r\n {{rentalCategoryAttributes?.displayName || rentalCategory?.name}}\r\n

\r\n\t
\r\n\t\t
Rental Category Code:
\r\n\t\t
{{ rentalCategory?.code }}
\r\n\t
\r\n
\r\n
\r\n \r\n \r\n\t
    \r\n\t\t
  • \r\n\t\t\t
    Enabled
    \r\n\t\t\t
    \r\n\t\t\t\t{{ rentalCategoryAttributes?.isEnabled | yesNo }}\r\n\t\t\t
    \r\n\t\t
  • \r\n\t\t
  • \r\n\t\t\t
    Display Name
    \r\n\t\t\t
    \r\n\t\t\t\t{{ rentalCategoryAttributes?.displayName }}\r\n\t\t\t
    \r\n\t\t
  • \r\n\t\t
  • \r\n\t\t\t
    Description
    \r\n\t\t\t
    \r\n\t\t\t\t{{ rentalCategoryAttributes?.description }}\r\n\t\t\t
    \r\n\t\t
  • \r\n\t\t
  • \r\n\t\t\t
    Includes
    \r\n\t\t\t
    \r\n\t\t\t\t{{ rentalCategoryAttributes?.includes }}\r\n\t\t\t
    \r\n\t\t
  • \r\n\t\t
  • \r\n\t\t\t
    Allow Ship To Home
    \r\n\t\t\t
    \r\n\t\t\t\t{{ rentalCategoryAttributes?.allowShipToHome | yesNo }}\r\n\t\t\t
    \r\n\t\t
  • \r\n\t\t
  • \r\n\t\t\t
    Allow Ship To Home Or Business
    \r\n\t\t\t
    \r\n\t\t\t\t{{ rentalCategoryAttributes?.allowShippingToHomeOrBusiness | yesNo }}\r\n\t\t\t
    \r\n\t\t
  • \r\n\t
\r\n\t\r\n\t
\r\n\t\t
\r\n\t\t
    \r\n\t\t\t
  • \r\n\t\t\t\t\r\n\t\t\t\t
    \r\n\t\t\t\t\t\r\n\t\t\t\t
    \r\n\t\t\t
  • \r\n\t\t
\r\n\t\t
    \r\n\t\t\t
  • \r\n\t\t\t\t\r\n\t\t\t\t
    \r\n\t\t\t\t\t\r\n\t\t\t\t
    \r\n\t\t\t
  • \r\n\t\t
\r\n\t\t
    \r\n\t\t\t
  • \r\n\t\t\t\t\r\n\t\t\t\t
    \r\n\t\t\t\t\t\r\n\t\t\t\t
    \r\n\t\t\t
  • \r\n\t\t
\r\n\t\t
    \r\n\t\t\t
  • \r\n\t\t\t\t\r\n\t\t\t\t
    \r\n\t\t\t\t\t\r\n\t\t\t\t
    \r\n\t\t\t
  • \r\n\t\t
\r\n\t\t
    \r\n\t\t\t
  • \r\n\t\t\t\t\r\n\t\t\t\t
    \r\n\t\t\t\t\t\r\n\t\t\t\t
    \r\n\t\t\t
  • \r\n\t\t
\r\n\t\t
    \r\n\t\t\t
  • \r\n\t\t\t\t\r\n\t\t\t\t
    \r\n\t\t\t\t\t\r\n\t\t\t\t
    \r\n\t\t\t
  • \r\n\t\t
\r\n\t\t
    \r\n\t\t\t
  • Server error
  • \r\n\t\t
\r\n\t\t
\r\n\t\t\t
\r\n\t\t\t\t\r\n\t\t\t
\r\n\t\t
\r\n\t
\r\n
","import * as fromComponents from './components';\r\nimport * as fromDirectives from './directives';\r\n\r\n//import * as fromContainers from './containers';\r\n\r\nexport * from './components';\r\nexport * from './directives';\r\n\r\n//export * from './containers';\r\n","import { DistrictExistsGuard } from './district-exists.guard';\r\nimport { DistrictSearchResultsGuard } from './district-searchresults.guard';\r\n\r\nexport const guards: any[] = [DistrictExistsGuard, DistrictSearchResultsGuard];\r\n\r\nexport * from './district-exists.guard';\r\nexport * from './district-searchresults.guard';\r\n","import { HistoryGuard } from './history.guard';\r\n\r\nexport const guards: any[] = [HistoryGuard];\r\n\r\nexport * from './history.guard';\r\n","import { Injectable } from '@angular/core';\r\n\r\nimport { of } from 'rxjs';\r\nimport { tap, switchMap, map, catchError } from 'rxjs/operators';\r\n\r\nimport { Store } from '@ngrx/store';\r\nimport { Actions, createEffect, ofType } from '@ngrx/effects';\r\n\r\nimport * as ProgramSearchResultsActions from '../actions/program-searchresults.action';\r\nimport * as fromServices from '../../../scp-common/services';\r\nimport * as fromModels from '../../models';\r\nimport * as fromReducers from '../reducers';\r\nimport { SearchResultsState } from '..';\r\n\r\n@Injectable()\r\nexport class ProgramSearchResultsEffects {\r\n constructor(\r\n private actions$: Actions,\r\n private ProgramService: fromServices.ProgramService,\r\n private store$: Store,\r\n ) { }\r\n\r\n \r\n processQueryString$ = createEffect(() => this.actions$.pipe(\r\n ofType(ProgramSearchResultsActions.ProgramSearchResultsActionTypes.ProcessQueryString),\r\n switchMap((action: ProgramSearchResultsActions.ProcessQueryString) => {\r\n // Grab an object representation of the query string\r\n const query = this.parseQueryStringFromUrl(action.payload);\r\n // Convert query object into our strict-typed object\r\n let searchCriteria: fromModels.ProgramSearchCriteria;\r\n\r\n // Populate search criteria with the query object params\r\n searchCriteria = {\r\n teacherId: query['teacherId'],\r\n schoolId: query['schoolId'],\r\n PageNumber: query['PageNumber'],\r\n PageSize: query['PageSize'],\r\n SortBy: query['SortBy'],\r\n SortDir: query['SortDir'],\r\n };\r\n\r\n return of(new ProgramSearchResultsActions.LoadProgramSearchResults(searchCriteria));\r\n })\r\n ));\r\n\r\n \r\n getResultsForTeacher$ = createEffect(() => this.actions$.pipe(\r\n ofType(ProgramSearchResultsActions.ProgramSearchResultsActionTypes.GetResultsForTeacher),\r\n switchMap((action: ProgramSearchResultsActions.GetResultsForTeacher) => {\r\n console.log(action.payload);\r\n\r\n // Whatever state we have, reset it to initial\r\n const newCriteria: fromModels.ProgramSearchCriteria = {\r\n ...fromReducers.initialState.searchCriteria,\r\n // Use the teacher's district as our criteria\r\n teacherId: action.payload.id\r\n };\r\n\r\n return of(new ProgramSearchResultsActions.LoadProgramSearchResults(newCriteria));\r\n })\r\n ));\r\n\r\n \r\n getResultsForSchool$ = createEffect(() => this.actions$.pipe(\r\n ofType(ProgramSearchResultsActions.ProgramSearchResultsActionTypes.GetResultsForSchool),\r\n switchMap((action: ProgramSearchResultsActions.GetResultsForSchool) => {\r\n console.log(action.payload);\r\n\r\n // Whatever state we have, reset it to initial\r\n const newCriteria: fromModels.ProgramSearchCriteria = {\r\n ...fromReducers.initialState.searchCriteria,\r\n // Use the school's district as our criteria\r\n schoolId: action.payload.id\r\n };\r\n\r\n return of(new ProgramSearchResultsActions.LoadProgramSearchResults(newCriteria));\r\n })\r\n ));\r\n\r\n \r\n nextPageResult$ = createEffect(() => this.actions$.pipe(\r\n ofType(ProgramSearchResultsActions.ProgramSearchResultsActionTypes.NextPage),\r\n switchMap((action: ProgramSearchResultsActions.NextPage) => {\r\n console.log(action.pagingSorting);\r\n const currentPage: number = action.pagingSorting.currentPage;\r\n let nextPage: number;\r\n\r\n // If page number is null, maybe we never got first page?\r\n if (currentPage == null) {\r\n // Go to the first one\r\n nextPage = 1;\r\n }\r\n else if (currentPage < action.pagingSorting.totalPages) {\r\n // Increment to next page\r\n nextPage = currentPage + 1;\r\n }\r\n else {\r\n // Don't change the page\r\n nextPage = currentPage;\r\n }\r\n\r\n // Set the next page to pass to our search request\r\n const newPayload: fromModels.ProgramSearchCriteria = {\r\n ...action.payload,\r\n PageNumber: nextPage\r\n };\r\n // TODO: Figure out some way to not do any action here if page number didn't change\r\n return of(new ProgramSearchResultsActions.LoadProgramSearchResults(newPayload));\r\n })\r\n ));\r\n\r\n \r\n prevPageResult$ = createEffect(() => this.actions$.pipe(\r\n ofType(ProgramSearchResultsActions.ProgramSearchResultsActionTypes.PrevPage),\r\n switchMap((action: ProgramSearchResultsActions.PrevPage) => {\r\n console.log(action.pagingSorting);\r\n const currentPage: number = action.pagingSorting.currentPage;\r\n let prevPage: number;\r\n\r\n // If page number is null, maybe we never got first page?\r\n if (currentPage == null) {\r\n // Go to the first one\r\n prevPage = 1;\r\n }\r\n else if (currentPage > 1) {\r\n // Increment to next page\r\n prevPage = currentPage - 1;\r\n }\r\n else {\r\n // Don't change the page\r\n prevPage = currentPage;\r\n }\r\n\r\n // Set the next page to pass to our search request\r\n const newPayload: fromModels.ProgramSearchCriteria = {\r\n ...action.payload,\r\n PageNumber: prevPage\r\n };\r\n // TODO: Figure out some way to not do any action here if page number didn't change\r\n return of(new ProgramSearchResultsActions.LoadProgramSearchResults(newPayload));\r\n })\r\n ));\r\n\r\n \r\n sortByResult$ = createEffect(() => this.actions$.pipe(\r\n ofType(ProgramSearchResultsActions.ProgramSearchResultsActionTypes.SortBy),\r\n switchMap((action: ProgramSearchResultsActions.SortBy) => {\r\n // Default to ascending sort order\r\n let sortDir = 0;\r\n\r\n // If user is sorting by same column again\r\n if (action.payload == action.pagingSorting.sortBy) {\r\n // Change the direction of the sort since it's the same column\r\n sortDir = action.pagingSorting.sortDir == 0 ? 1 : 0;\r\n }\r\n const lastPage: number = action.pagingSorting.totalPages;\r\n\r\n // Set the next page to pass to our search request\r\n const newPayload: fromModels.ProgramSearchCriteria = {\r\n ...action.searchCriteria,\r\n SortDir: sortDir,\r\n SortBy: action.payload\r\n };\r\n\r\n return of(new ProgramSearchResultsActions.LoadProgramSearchResults(newPayload));\r\n })\r\n ));\r\n\r\n \r\n lastPageResult$ = createEffect(() => this.actions$.pipe(\r\n ofType(ProgramSearchResultsActions.ProgramSearchResultsActionTypes.LastPage),\r\n switchMap((action: ProgramSearchResultsActions.LastPage) => {\r\n const lastPage: number = action.pagingSorting.totalPages;\r\n\r\n // Set the next page to pass to our search request\r\n const newPayload: fromModels.ProgramSearchCriteria = {\r\n ...action.payload,\r\n PageNumber: lastPage\r\n };\r\n\r\n return of(new ProgramSearchResultsActions.LoadProgramSearchResults(newPayload));\r\n })\r\n ));\r\n\r\n \r\n firstPageResult$ = createEffect(() => this.actions$.pipe(\r\n ofType(ProgramSearchResultsActions.ProgramSearchResultsActionTypes.FirstPage),\r\n switchMap((action: ProgramSearchResultsActions.FirstPage) => {\r\n const firstPage = 1;\r\n\r\n // Set the next page to pass to our search request\r\n const newPayload: fromModels.ProgramSearchCriteria = {\r\n ...action.payload,\r\n PageNumber: firstPage\r\n };\r\n\r\n return of(new ProgramSearchResultsActions.LoadProgramSearchResults(newPayload));\r\n })\r\n ));\r\n\r\n \r\n pageSizeResult$ = createEffect(() => this.actions$.pipe(\r\n ofType(ProgramSearchResultsActions.ProgramSearchResultsActionTypes.SetPageSize),\r\n switchMap((action: ProgramSearchResultsActions.SetPageSize) => {\r\n const pageSize: number = action.payload;\r\n\r\n // Set the next page to pass to our search request\r\n const newPayload: fromModels.ProgramSearchCriteria = {\r\n ...action.searchCriteria,\r\n PageSize: pageSize\r\n };\r\n\r\n return of(new ProgramSearchResultsActions.LoadProgramSearchResults(newPayload));\r\n })\r\n ));\r\n\r\n \r\n searchResults$ = createEffect(() => this.actions$.pipe(\r\n ofType(ProgramSearchResultsActions.ProgramSearchResultsActionTypes.LoadProgramSearchResults),\r\n switchMap((action: ProgramSearchResultsActions.LoadProgramSearchResults) => {\r\n console.log('Load Program Search Results Effect');\r\n console.log(action.payload);\r\n\r\n let query = '';\r\n\r\n Object.keys(action.payload).forEach(key => {\r\n const value = action.payload[key];\r\n if (value === undefined) {\r\n // Any missing value we just ignore\r\n return;\r\n }\r\n\r\n const valueAsString = String(value).trim();\r\n\r\n // If item has a value...\r\n if (value !== null && value !== '') {\r\n // If it's one of these keys and value is \"Any\"\r\n const anyKeys = ['state', 'isSupervisory', 'isActive'];\r\n if (anyKeys.some(i => i === key) && value == 'Any') {\r\n // Treat \"any\" like null.\r\n return;\r\n }\r\n // Else, add it to query string\r\n else {\r\n query += `&${key}=${value}`;\r\n }\r\n }\r\n });\r\n\r\n return this.ProgramService.searchPrograms(query).pipe(\r\n tap(d => {\r\n console.log('searchPrograms returned:', d);\r\n }),\r\n map(resp => {\r\n if (!resp.ok || resp.body == null) {\r\n return new ProgramSearchResultsActions.LoadProgramSearchResultsFailure('Search results not returned');\r\n }\r\n\r\n return new ProgramSearchResultsActions.LoadProgramSearchResultsSuccess(resp.body, resp.headers);\r\n }),\r\n catchError(error => of(new ProgramSearchResultsActions.LoadProgramSearchResultsFailure(error)))\r\n );\r\n })\r\n ));\r\n\r\n private parseQueryStringFromUrl(url: string): object {\r\n const returnObject: object = {\r\n };\r\n\r\n // Parse query string into chunks\r\n const splitted = url.split('?', 2);\r\n // If we have a query string, then process it further\r\n if (splitted.length == 2) {\r\n // Split out each key/value pair\r\n const splittedItems = splitted[1].split('&');\r\n splittedItems.forEach(item => {\r\n // Split out the key and value\r\n const splittedItem = item.split('=');\r\n const key = splittedItem[0];\r\n const value = splittedItem.length > 1 ? splittedItem[1] : '';\r\n // Add is as a key/value pair in our return object.\r\n returnObject[key] = value;\r\n });\r\n }\r\n\r\n return returnObject;\r\n }\r\n}\r\n","export * from './teacher-searchresults.selectors';\r\nexport * from './teacher-details.selectors';\r\n","import { Component, OnInit, OnDestroy } from '@angular/core';\r\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\n\r\nimport { Observable } from 'rxjs';\r\nimport { takeWhile, tap } from 'rxjs/operators';\r\n\r\nimport { select, Store } from '@ngrx/store';\r\n\r\nimport { Event } from '../models';\r\nimport * as fromStore from '../store';\r\n\r\n@Component({\r\n selector: 'event-info-editor',\r\n templateUrl: './event-info-editor.component.html',\r\n})\r\nexport class EventInfoEditorComponent implements OnInit, OnDestroy {\r\n alive = true;\r\n event$: Observable;\r\n event: Event;\r\n panelState$: Observable;\r\n panelState: fromStore.PanelState;\r\n editor: FormGroup;\r\n eventTypes: any[] = [\r\n { id: 1, name: 'Rental Event' },\r\n { id: 2, name: 'Step Up Event' },\r\n { id: 3, name: 'Instrument Fitting' },\r\n { id: 4, name: 'Instrumental Demonstration' }\r\n ];\r\n\r\n constructor(private store: Store, private fb: FormBuilder) {\r\n console.log('EventInfoEditorComponent()...');\r\n }\r\n\r\n ngOnInit() {\r\n console.log('EventInfoEditorComponent.ngOnInit()...');\r\n\r\n this.event$ = this.store.pipe(select(fromStore.getDetailsStateEvent));\r\n this.event$.pipe(\r\n takeWhile(() => this.alive)\r\n ).subscribe(d => this.event = d);\r\n\r\n this.panelState$ = this.store.pipe(select(fromStore.getDetailsStateEventInfoPanel));\r\n this.panelState$.pipe(\r\n takeWhile(() => this.alive),\r\n tap(s => {\r\n if (!s.editing && this.panelState && this.panelState.editing) {\r\n console.log('EventInfoEditorComponent.panelState$: clearing form...');\r\n this.resetForm();\r\n }\r\n }),\r\n ).subscribe(s => this.panelState = s);\r\n\r\n this.createForm();\r\n }\r\n\r\n get canSave(): boolean {\r\n return this.editor.valid && this.editor.dirty && !this.panelState.updating;\r\n }\r\n\r\n ngOnDestroy() {\r\n console.log('EventInfoEditorComponent.ngOnDestroy()...');\r\n this.alive = false;\r\n }\r\n\r\n createForm() {\r\n this.editor = this.fb.group({\r\n isActive: [this.isActive],\r\n name: [this.event.name, Validators.required],\r\n note: [this.event.note],\r\n eventType: [this.event.eventTypeId, Validators.required]\r\n });\r\n }\r\n\r\n resetForm() {\r\n this.editor.reset({\r\n isActive: [this.isActive],\r\n name: this.event.name,\r\n note: this.event.note,\r\n eventType: this.event.eventTypeId,\r\n });\r\n }\r\n\r\n get isActive() {\r\n return this.event.isActive ? 'Yes' : 'No';\r\n }\r\n\r\n onSubmit() {\r\n const isActive = this.editor.value.isActive === 'Yes';\r\n const name = this.editor.value.name;\r\n const note = this.editor.value.note;\r\n const eventTypeId = this.editor.value.eventType;\r\n\r\n const event: Event = {\r\n ...this.event,\r\n isActive,\r\n name,\r\n note,\r\n eventTypeId\r\n };\r\n\r\n this.store.dispatch(new fromStore.UpdateEventPanel({ panel: fromStore.PanelId.EventInfo, event }));\r\n\r\n }\r\n}\r\n","\r\n
\r\n
\r\n
    \r\n
  • \r\n \r\n
    \r\n \r\n
    \r\n
  • \r\n
  • \r\n
    Event ID
    \r\n
    {{ event.id }}
    \r\n
  • \r\n
  • \r\n \r\n
    \r\n \r\n
    \r\n
    Required
    \r\n
    \r\n
    \r\n
  • \r\n
  • \r\n \r\n
    \r\n \r\n {{ this.editor.value.eventTypeId }}\r\n
    \r\n
    Required
    \r\n
    \r\n
    \r\n
  • \r\n
  • \r\n \r\n
    \r\n \r\n
    \r\n
  • \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpResponse, HttpErrorResponse } from '@angular/common/http';\r\nimport { ConfigurationService } from '../../../core/services/ConfigurationService';\r\nimport { ConfigurationState } from '../../../core/store/reducers';\r\n\r\nimport { Observable } from 'rxjs';\r\nimport { tap, map, switchMap } from 'rxjs/operators';\r\n\r\nimport { Operation } from 'fast-json-patch';\r\n\r\nimport { Event, EventSearchResultsItem, EventCreate, EventPromo } from '../../events/models';\r\n\r\n@Injectable()\r\nexport class EventService {\r\n private baseUrl: string;\r\n\r\n constructor(private http: HttpClient, private configuration: ConfigurationService) {}\r\n\r\n loadEvent(eventId: number): Observable {\r\n return this.configuration.config$.pipe(\r\n switchMap((c: ConfigurationState) => {\r\n return this.http.get(`${c.config.apiServer}api/events/details/${eventId}`);\r\n })\r\n );\r\n }\r\n\r\n loadRelationshipManagers(eventId: number): Observable {\r\n return this.configuration.config$.pipe(\r\n switchMap((c: ConfigurationState) => {\r\n return this.http.get(`${c.config.apiServer}api/events/${eventId}/relationshipManagers`);\r\n })\r\n );\r\n }\r\n\r\n patchEvent(id: number, patch: Operation[]): Observable {\r\n return this.configuration.config$.pipe(\r\n switchMap((c: ConfigurationState) => {\r\n return this.http.patch(`${c.config.apiServer}api/events/${id}`, patch);\r\n })\r\n );\r\n }\r\n\r\n searchEvents(query: string): Observable> {\r\n return this.configuration.config$.pipe(\r\n switchMap((c: ConfigurationState) => {\r\n // TODO: Change to api/events when implemented\r\n return this.http.get(`${c.config.apiServer}api/events?${query}`, { observe: 'response' });\r\n })\r\n );\r\n }\r\n\r\n createEvent(event: EventCreate): Observable {\r\n return this.configuration.config$.pipe(\r\n switchMap((c: ConfigurationState) => {\r\n return this.http.post(`${c.config.apiServer}api/events`, event);\r\n })\r\n );\r\n }\r\n\r\n copyEvent(id: number, name: string, date: Date): Observable {\r\n return this.configuration.config$.pipe(\r\n switchMap((c: ConfigurationState) => {\r\n return this.http.post(`${c.config.apiServer}api/events/${id}/copy?name=${name}&date=${date.toISOString()}`, event);\r\n })\r\n );\r\n }\r\n\r\n loadApprovedPromos(): Observable {\r\n return this.configuration.config$.pipe(\r\n switchMap((c: ConfigurationState) => {\r\n return this.http.get(`${c.config.apiServer}api/events/approvedpromotions`);\r\n })\r\n );\r\n }\r\n\r\n\r\n getQrCodesFile(id: number): Observable {\r\n return this.configuration.config$.pipe(\r\n switchMap((c: ConfigurationState) => {\r\n return this.http.get(`${c.config.apiServer}api/events/${id}/qrcodes`, { responseType: 'blob' }).pipe(\r\n tap(rsp => {\r\n console.log(rsp);\r\n }),\r\n map(rsp => {\r\n const fileName = `Event-${id}-QRCodes.zip`;\r\n this.saveReport(rsp, fileName);\r\n return true;\r\n }),\r\n );\r\n })\r\n );\r\n }\r\n\r\n private saveReport(blob: Blob, fileName: string) {\r\n const url = window.URL.createObjectURL(blob);\r\n const a = document.createElement('a');\r\n\r\n document.body.appendChild(a);\r\n a.setAttribute('style', 'display: none');\r\n a.href = url;\r\n a.download = fileName;\r\n a.click();\r\n setTimeout(function () { window.URL.revokeObjectURL(url); }, 1000);\r\n a.remove(); // remove the element\r\n }\r\n}\r\n","export * from './distribution.actions';","import { Component, Input } from '@angular/core';\r\n\r\nimport { District } from '../../models';\r\n\r\n@Component({\r\n\tselector: 'district-header',\r\n\ttemplateUrl: './district-header.component.html',\r\n})\r\nexport class DistrictHeaderComponent {\r\n\t@Input() district: District;\r\n\r\n\tget id(): string {\r\n\t\treturn this.district.id.toString();\r\n\t}\r\n\r\n\tget longName(): string {\r\n\t\treturn this.district.longName;\r\n\t}\r\n}\r\n","
\r\n\t

District Detail

\r\n\t

{{ longName }}

\r\n\t
\r\n\t\t
District ID
\r\n\t\t
{{ id }}
\r\n\t
\r\n
","import { createSelector } from '@ngrx/store';\r\n\r\nimport * as fromFeature from '../reducers';\r\nimport * as fromProgramSearchResults from '../reducers/searchresults.reducer';\r\n\r\nexport const getProgramSearchState = createSelector(\r\n fromFeature.getProgramsState,\r\n (state: fromFeature.ProgramsState) => state.search\r\n);\r\nexport const getProgramSearchResultsState = createSelector(\r\n getProgramSearchState,\r\n fromProgramSearchResults.getProgramSearchResults\r\n);\r\n","import { MerchService } from './merch.service';\r\n\r\nexport const services: any[] = [\r\n\tMerchService,\r\n];\r\n\r\nexport * from './merch.service';\r\n","import { Component } from '@angular/core';\r\n\r\n@Component({\r\n\tselector: 'opus-global-nav',\r\n\ttemplateUrl: './global-nav.component.html',\r\n})\r\nexport class GlobalNavComponent { }\r\n","\r\n","import { ChangeDetectorRef, Component, OnDestroy, OnInit } from \"@angular/core\";\r\nimport { FormControl } from \"@angular/forms\";\r\n\r\nimport { RentalCategory } from \"../models\";\r\n\r\nimport * as fromStore from '../store';\r\n\r\nimport { Observable } from 'rxjs';\r\nimport { takeWhile } from 'rxjs/operators';\r\n\r\nimport { select, Store } from '@ngrx/store';\r\n\r\n\r\n@Component({\r\n\tselector: 'rental-categories',\r\n\ttemplateUrl: './rental-categories.component.html',\r\n})\r\n\r\nexport class RentalCategoriesComponent implements OnInit, OnDestroy {\r\n\tprivate _alive = true;\r\n\trentalCategoryControl2 = new FormControl();\r\n\tcombo2: any;\r\n\tisCombo2Enabled: boolean = false;\r\n\trentalCategoryControl3 = new FormControl();\r\n\tcombo3: any;\r\n\tselectedRentalCategoryCode: string = null;\r\n\tvm$: Observable;\r\n\tvm: fromStore.CombosState;\r\n\tfilteredRentalCategories: any;\r\n\t\r\n\tconstructor(private store: Store, private cdr: ChangeDetectorRef) {}\r\n\r\n\tngOnInit(): void {\r\n\t\tthis.vm$ = this.store.pipe(select(fromStore.getCombosState));\r\n\t\t\r\n\t\tthis.vm$\r\n\t\t\t.pipe(takeWhile(() => this._alive))\r\n\t\t\t.subscribe(vm => {\r\n\t\t\t\tthis.vm = vm;\r\n\t\t\r\n\t\t\t\tif (!vm.loadedRentalCategories && !vm.loadingRentalCategories && !vm.errors) {\r\n\t\t\t\t\tthis.store.dispatch(new fromStore.LoadRentalCategories(\"\"));\t\t\t \r\n\t\t\t\t}\r\n\t\t\t\tthis.setRentalCategoryTiers();\r\n\t\t\t\tthis.rentalCategoryControl2.setValue(\"\", {emitEvent: false, emitViewToModelChange: false});\r\n\t\t\t\tthis.rentalCategoryControl3.setValue(\"\", {emitEvent: false, emitViewToModelChange: false});\r\n\t\t\t\tthis.rentalCategoryControl3.disable({emitEvent: false});\r\n\t\t\t\tthis.cdr.detectChanges();\r\n\t\t\t}\r\n\t\t);\r\n\t\tthis.rentalCategoryControl2.valueChanges\r\n\t\t\t.pipe(takeWhile(() => this._alive))\r\n\t\t\t.subscribe(val => {\r\n\t\t\t\tlet codeValue = val;\r\n\t\t\t\tif ((val === null || val == \"\") && this.selectedRentalCategoryCode.length >= 1 ) {\r\n\t\t\t\t\tthis.rentalCategoryControl3.disable({emitEvent: false});\r\n\t\t\t\t} else {\r\n\t\t\t\t\tthis.rentalCategoryControl3.enable({emitEvent: false});\r\n\t\t\t\t}\r\n\t\t\t\tconsole.log('rentalCategoryControl2.valueChanges(): ', codeValue);\r\n\t\t\t\tif (codeValue !== null && codeValue != this.selectedRentalCategoryCode) {\r\n\t\t\t\t\tthis.selectedRentalCategoryCode = codeValue;\r\n\t\t\t\t\tthis.setRentalCategoryTiers();\r\n\t\t\t\t\tthis.rentalCategoryControl2.enable({emitEvent: false});\r\n\t\t\t\t\tthis.rentalCategoryControl3.setValue(\"\", {emitEvent: false, emitViewToModelChange: false});\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t);\r\n\t\tthis.rentalCategoryControl3.valueChanges\r\n\t\t\t.pipe(takeWhile(() => this._alive))\r\n\t\t\t.subscribe(val => {\r\n\t\t\t\tlet codeValue = val;\r\n\t\t\t\tif ((val === null || val == \"\") && this.selectedRentalCategoryCode.length >= 2 ) {\r\n\t\t\t\t\tcodeValue = this.selectedRentalCategoryCode.substring(0, 2);\r\n\t\t\t\t}\r\n\t\t\t\tconsole.log('rentalCategoryControl3.valueChanges(): ', codeValue);\r\n\t\t\t\tif (codeValue !== null && codeValue != this.selectedRentalCategoryCode) {\r\n\t\t\t\t\tthis.selectedRentalCategoryCode = codeValue;\r\n\t\t\t\t\tthis.setRentalCategoryTiers();\r\n\t\t\t\t\tthis.rentalCategoryControl2.enable({emitEvent: false});\r\n\t\t\t\t\tthis.rentalCategoryControl3.enable({emitEvent: false});\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t);\r\n\t}\r\n\r\n\tngOnDestroy(): void {\r\n this._alive = false;\r\n }\r\n\t\r\n\tget isLoading(): boolean {\r\n\t\treturn false;\r\n\t}\r\n\r\n\tget rentalCategories(): RentalCategory[] {\r\n\t\treturn this.selectedRentalCategoryCode ? \r\n\t\t\tthis.vm.rentalCategories.filter((x) => x.code.startsWith(this.selectedRentalCategoryCode)) || []\r\n\t\t\t: [];\r\n\t}\r\n\r\n\tsetRentalCategoryTiers() {\r\n\t\tif (!this.vm.rentalCategories) { \r\n\t\t\treturn \r\n\t\t};\r\n\t\t\r\n\t\tif (!this.selectedRentalCategoryCode || this.selectedRentalCategoryCode === null) {\r\n\t\t\tthis.selectedRentalCategoryCode = \"\";\r\n\t\t}\r\n\r\n\t\tthis.combo2 = this.vm.rentalCategories.filter((x) => x.code.length == 2);;\r\n\t\tthis.combo3 = [];\r\n\r\n\t\tif (this.selectedRentalCategoryCode.length >= 2)\r\n\t\t{\r\n\t\t\tthis.combo3 = this.vm.rentalCategories.filter((x) => \r\n\t\t\t\tx.code.length == 3\r\n\t\t\t\t&& x.code.startsWith(this.selectedRentalCategoryCode.substring(0, 2))\r\n\t\t\t);\r\n\t\t}\r\n\r\n\t\tthis.filterRentalCategories();\r\n\t}\r\n\r\n\tfilterRentalCategories() {\r\n\t\tthis.filteredRentalCategories = this.vm.rentalCategories\r\n\t\t\t.filter((x) => x.code.length > 2 && x.code.length < 5)\r\n\t\t\t.sort((a, b) => ((a.rentalCategoryAttribute?.displayName || a.name) > (b.rentalCategoryAttribute?.displayName || b.name) ? 1 : -1));\r\n\t\t\r\n\t\tif(!this.selectedRentalCategoryCode || this.selectedRentalCategoryCode.trim() == \"\")\r\n\t\t{\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tthis.filteredRentalCategories = this.filteredRentalCategories\r\n\t\t\t.filter((x) => x.code.startsWith(this.selectedRentalCategoryCode));\r\n\t}\r\n}","\r\n\r\n
\r\n\t
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n\r\n\t
\r\n\t\t
\r\n

\r\n The selected product group has no products to view.\r\n

\r\n
\r\n \r\n \r\n Category Name\r\n Category Code\r\n Enabled\r\n \r\n \r\n \r\n \r\n \r\n {{ g.rentalCategoryAttribute?.displayName || g.name }}\r\n \r\n {{ g.code }}\r\n YES\r\n NO\r\n \r\n \r\n
\r\n\t
\r\n
\r\n","import { Component, OnInit, OnDestroy, AfterViewInit, ChangeDetectorRef } from '@angular/core';\r\nimport { FormBuilder, FormControl, FormGroup } from '@angular/forms';\r\n\r\nimport { Observable } from 'rxjs';\r\nimport { takeWhile, tap, map } from 'rxjs/operators';\r\n\r\nimport { select, Store } from '@ngrx/store';\r\nimport * as fromRoot from '../../../core/store';\r\nimport { MessageType } from '../../../core/models';\r\n\r\nimport { Event, EventPromo } from '../models';\r\nimport * as fromStore from '../store';\r\n\r\n@Component({\r\n selector: 'event-promo-editor',\r\n templateUrl: './event-promo-editor.component.html',\r\n})\r\nexport class EventPromoEditorComponent implements OnInit, OnDestroy, AfterViewInit {\r\n alive = true;\r\n event$: Observable;\r\n approvedPromos$: Observable;\r\n approvedPromos: EventPromo[];\r\n event: Event;\r\n editEvent: Event;\r\n panelState$: Observable;\r\n panelState: fromStore.PanelState;\r\n editor: FormGroup;\r\n\r\n constructor(private store: Store, private fb: FormBuilder, private ref: ChangeDetectorRef) {\r\n\r\n }\r\n\r\n ngOnInit() {\r\n this.editEvent = null;\r\n this.panelState$ = this.store.pipe(select(fromStore.getDetailsStateEventPromoPanel));\r\n this.panelState$.pipe(\r\n takeWhile(() => this.alive),\r\n tap(s => {\r\n if (!s.editing && this.panelState && this.panelState.editing) {\r\n this.resetForm();\r\n }\r\n }),\r\n ).subscribe(s => this.panelState = s);\r\n\r\n this.event$ = this.store.pipe(select(fromStore.getDetailsStateEvent));\r\n this.event$.pipe(\r\n takeWhile(() => this.alive)\r\n ).subscribe(d => {\r\n this.event = d;\r\n this.editEvent = d;\r\n });\r\n\r\n this.createForm();\r\n\r\n this.bindPromos();\r\n }\r\n\r\n bindPromos() {\r\n this.event.start;\r\n this.event.expirationDate;\r\n this.approvedPromos$ = this.store.pipe(\r\n select(fromStore.getDetailsStateApprovedPromos),\r\n takeWhile(() => this.alive),\r\n map(promos => {\r\n return promos.filter(ep => {\r\n const matchingPromo = this.editEvent.eventPromos.filter(p => ep.promoId == p.promoId);\r\n if (matchingPromo && matchingPromo.length === 0) {\r\n if (this.event.start >= ep.start && this.event.expirationDate <= ep.end) {\r\n return ep;\r\n }\r\n }\r\n });\r\n })\r\n );\r\n this.approvedPromos$.pipe(\r\n takeWhile(() => this.alive)\r\n ).subscribe(ap => {\r\n this.approvedPromos = ap.filter(ap => ap != undefined);\r\n this.ref.detectChanges();\r\n });\r\n }\r\n\r\n ngAfterViewInit() {\r\n }\r\n\r\n ngOnDestroy() {\r\n this.alive = false;\r\n }\r\n\r\n createForm() {\r\n this.editor = new FormGroup({\r\n promotionToAdd: new FormControl(null)\r\n });\r\n\r\n }\r\n\r\n AddSelectedPromo() {\r\n //determine the selected promo.\r\n const promoId: string = this.editor.get('promotionToAdd').value;\r\n\r\n if (promoId) {\r\n const promo: EventPromo = this.approvedPromos.filter(e => e.promoId == promoId)[0];\r\n\r\n //Add the promo to the edit event.\r\n if (this.editEvent.eventPromos.filter(p => p.promoId == promo.promoId).length > 0) {\r\n this.store.dispatch(new fromRoot.DisplayMessage({\r\n message: 'Promo is already added',\r\n messageType: MessageType.alert,\r\n toast: true\r\n }));\r\n } else {\r\n this.editEvent = {\r\n ...this.editEvent,\r\n eventPromos: [\r\n ...this.editEvent.eventPromos,\r\n promo\r\n ]\r\n };\r\n this.bindPromos();\r\n this.editor.controls['promotionToAdd'].setValue(null);\r\n this.ref.detectChanges();\r\n }\r\n }\r\n\r\n }\r\n\r\n removePromotion(promo: EventPromo) {\r\n if (promo) {\r\n const eventPromos = this.editEvent.eventPromos.filter(s => s != promo);\r\n this.editEvent = {\r\n ...this.editEvent,\r\n eventPromos: eventPromos\r\n };\r\n this.bindPromos();\r\n this.ref.detectChanges();\r\n }\r\n }\r\n\r\n resetForm() {\r\n\r\n }\r\n\r\n get canSave(): boolean {\r\n return this.editor.valid && this.editor.dirty && !this.panelState.updating;\r\n }\r\n\r\n onSubmit() {\r\n const event = {\r\n ...this.event,\r\n eventPromos: [\r\n ...this.editEvent.eventPromos\r\n ]\r\n };\r\n\r\n this.store.dispatch(new fromStore.UpdateEventPanel({ panel: fromStore.PanelId.EventPromo, event }));\r\n }\r\n\r\n\r\n}\r\n","
\r\n
\r\n \r\n
\r\n
\r\n

There are no approved promotions for this event.

\r\n
0\">\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n","import { Component, Input } from '@angular/core';\r\n\r\nimport { ProgramDetails } from '../../models/program-details.model';\r\nimport { ProgramTypeLookup } from '../../../scp-common/models';\r\n\r\n@Component({\r\n\tselector: 'opus-program-header',\r\n\ttemplateUrl: './program-header.html',\r\n})\r\nexport class ProgramHeaderComponent {\r\n\t@Input() program: ProgramDetails;\r\n\r\n\tget id() {\r\n return this.program.id;\r\n\t}\r\n\r\n get programType() {\r\n return ProgramTypeLookup[this.program.programTypeId].name;\r\n }\r\n\r\n get schoolName() {\r\n return this.program.school.longName;\r\n\t}\r\n}\r\n","
\r\n

Program Detail

\r\n

{{ program.school.longName }} {{programType }}

\r\n
\r\n
Program ID
\r\n
{{ id }}
\r\n
\r\n \r\n
\r\n","import { RelationshipType } from '../../scp-common/models/relationship-type';\r\nimport { Address, PreferencesEntity } from '../../scp-common/models';\r\nimport { RelationshipManager } from './relationship-manager.model';\r\n\r\nexport interface DistrictCreate {\r\n longName: string;\r\n relationshipManagerCode: number;\r\n physicalAddress: Address;\r\n mailingAddress: Address;\r\n}\r\n\r\nexport enum InactiveReason {\r\n\tClosed,\r\n\tDuplicate,\r\n\tPending,\r\n}\r\n\r\nexport interface District extends PreferencesEntity {\r\n\t//\tDistrict Info\r\n\tid: number;\r\n\tisActive: boolean;\r\n\tinactiveReason: InactiveReason;\r\n\tlongName: string;\r\n\tshortName: string;\r\n\tisSupervisory: boolean;\r\n\tsupervisoryDistrictId?: number;\r\n\tsupervisoryDistrictName?: string;\r\n\r\n\t//\tPhysical Address\r\n\tphysicalAddressId: number;\r\n\tphysicalAddress: Address;\r\n\r\n\t//\t Mailing Address\r\n\tmailingAddressId: number;\r\n\tmailingAddress: Address;\r\n\r\n\t//\tContacts\r\n\tmusicSupervisor: string;\r\n\tofficeContact: string;\r\n\tphone: string;\r\n\tfax: string;\r\n\twebsite: string;\r\n\r\n\t//\tSchool Calendar\r\n\tschoolStartFrom: string;\r\n\tschoolStartTo: string;\r\n\tschoolEndFrom: string;\r\n\tschoolEndTo: string;\r\n\r\n\t//\tRelationship Manager\r\n\tinheritRelationshipManager: boolean;\r\n\trelationshipManager: RelationshipManager;\r\n\trelationshipManagerEmail: string;\r\n\tinheritedRelationshipManager: RelationshipManager;\r\n\tinheritRelationshipType: boolean;\r\n\trelationshipType: { id: number, relationshipType: RelationshipType };\r\n\tinheritedRelationshipType: { id: number, relationshipType: RelationshipType };\r\n\r\n\t//\tAdditional Details\r\n ncesDistrictId: string;\r\n ncesIdSource: string;\r\n\tprimaryId: number;\r\n\tbudgetEnd: string;\r\n\tlongitude: string;\r\n\tlatitude: string;\r\n\tianaTimeZoneId: string;\r\n\r\n\t//\tPreferences\r\n\tinheritPreferenceSet: boolean;\r\n\tpreferenceSetId: number;\r\n}\r\n","import { createSelector } from '@ngrx/store';\r\n\r\nimport * as fromFeature from '../reducers';\r\nimport * as fromProgramDetails from '../reducers/program-details.reducer';\r\n\r\nexport const getProgramDetailsState = createSelector(\r\n\tfromFeature.getProgramsState,\r\n\t(state: fromFeature.ProgramsState) => state.programDetails\r\n);\r\n\r\nexport const getProgramDetailsEntity = createSelector(\r\n\tgetProgramDetailsState,\r\n\tfromProgramDetails.getProgramDetailsEntity,\r\n);\r\n\r\nexport const getProgramDetailsSchool = createSelector(\r\n\tgetProgramDetailsEntity,\r\n\tfromProgramDetails.getProgramDetailsSchool,\r\n);\r\n\r\nexport const getProgramDetailsLoaded = createSelector(\r\n\tgetProgramDetailsState,\r\n\tfromProgramDetails.getProgramDetailsLoaded,\r\n);\r\n\r\nexport const getProgramDetailsLoading = createSelector(\r\n\tgetProgramDetailsState,\r\n\tfromProgramDetails.getProgramDetailsLoading,\r\n);\r\n\r\nexport const getDetailsStatePanels = createSelector(\r\n\tgetProgramDetailsState,\r\n\tfromProgramDetails.getDetailsStatePanels\r\n);\r\n\r\nexport const getDetailsStateInfoPanel = createSelector(\r\n\tgetDetailsStatePanels,\r\n\t(panels) => panels[fromFeature.PanelId.Info],\r\n);\r\n\r\nexport const getDetailsStateTeacherLookup = createSelector(\r\n getProgramDetailsState,\r\n fromProgramDetails.getDetailsStateTeacherLookup,\r\n);\r\n\r\nexport const getDetailsStateTeacherByCriteriaLookup = createSelector(\r\n getProgramDetailsState,\r\n fromProgramDetails.getDetailsStateTeacherByCriteriaLookup,\r\n);\r\n\r\nexport const getDetailsStateAdditionalDetailsPanel = createSelector(\r\n getDetailsStatePanels,\r\n (panels) => panels[fromFeature.PanelId.AdditionalDetails],\r\n);\r\n\r\nexport const getDetailsStateProgramTeachersPanel = createSelector(\r\n getDetailsStatePanels,\r\n (panels) => panels[fromFeature.PanelId.ProgramTeachers],\r\n);\r\n","import { ActionReducerMap, createFeatureSelector } from '@ngrx/store';\r\n\r\nimport * as fromMerch from './merch.reducer';\r\n\r\nexport interface MerchState {\r\n\tcombosState: fromMerch.CombosState;\r\n}\r\n\r\nexport const reducers: ActionReducerMap = {\r\n\tcombosState: fromMerch.reducer,\r\n};\r\n\r\nexport const getMerchState = createFeatureSelector('merch');\r\n\r\nexport { CombosState } from './merch.reducer';\r\n","import { Component, Input, OnInit, ChangeDetectorRef } from '@angular/core';\r\nimport { FormBuilder, FormGroup } from '@angular/forms';\r\n\r\nimport { Observable } from 'rxjs';\r\nimport { takeWhile, tap } from 'rxjs/operators';\r\n\r\nimport { select, Store } from '@ngrx/store';\r\n\r\nimport { SchoolDetails, RateAgreement, NodeLevel, NodeLevelNames } from '../models';\r\nimport * as fromStore from '../store';\r\n\r\n@Component({\r\n\tselector: 'opus-school-rate-editor',\r\n\ttemplateUrl: './school-rate-editor.component.html',\r\n})\r\nexport class SchoolRateEditorComponent implements OnInit {\r\n\t@Input() panelId: string;\r\n\r\n\talive = true;\r\n\teditor: FormGroup;\r\n\tsubmitting = false;\r\n\tinLookup = false;\r\n\r\n\tschoolDetails$: Observable;\r\n\tschool: SchoolDetails;\r\n\tpanelState$: Observable;\r\n\tpanelState: fromStore.PanelState;\r\n\trateAgreements$: Observable<{ [rateCode: string]: fromStore.RateAgreementState }>;\r\n\tlookupRateAgreement: RateAgreement;\r\n\r\n\tconstructor(private store: Store, private fb: FormBuilder, private cdr: ChangeDetectorRef) {\r\n\t\tconsole.log('SchoolRateEditorComponent()...');\r\n\t}\r\n\r\n\tngOnInit() {\r\n\t\tconsole.log('SchoolRateEditorComponent.ngOnInit()...');\r\n\r\n\t\tthis.schoolDetails$ = this.store.pipe(select(fromStore.getSchoolDetailsEntity));\r\n\t\tthis.schoolDetails$.pipe(\r\n\t\t\ttakeWhile(() => this.alive)\r\n\t\t).subscribe(s => {\r\n\t\t\tconsole.log('schoolDetails$ [', this.panelId, ']: ', s);\r\n\r\n\t\t\tif (this.rateAgreementChanged(s)) {\r\n\t\t\t\tthis.school = s;\r\n\t\t\t\tthis.lookupRateAgreement = this.schoolRateAgreement;\r\n\t\t\t\tthis.resetForm();\r\n\t\t\t} else {\r\n\t\t\t\tthis.school = s;\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t\tthis.panelState$ = this.store.pipe(select(this.panelSelector));\r\n\t\tthis.panelState$.pipe(\r\n\t\t\ttakeWhile(() => this.alive),\r\n\t\t\ttap(s => {\r\n\t\t\t\t//\tclear the form when the editor is closed\r\n\t\t\t\tif (!s.editing && this.panelState && this.panelState.editing) {\r\n\t\t\t\t\tconsole.log('SchoolRateEditorComponent.panelState$: clearing form...');\r\n\r\n\t\t\t\t\tthis.resetForm();\r\n\t\t\t\t}\r\n\t\t\t}),\r\n\t\t).subscribe(ps => {\r\n\t\t\tconsole.log('panelState$: ', ps);\r\n\r\n\t\t\tthis.panelState = ps;\r\n\t\t});\r\n\r\n\t\tthis.rateAgreements$ = this.store.pipe(select(fromStore.getDetailsStateRateAgreements));\r\n\t\tthis.rateAgreements$.pipe(\r\n\t\t\ttakeWhile(() => this.alive),\r\n\t\t).subscribe(states => {\r\n\t\t\tconsole.log('rateAgreements$: ', states);\r\n\r\n\t\t\tif (!this.lookupRateAgreement || !this.lookupRateAgreement.code) {\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\r\n\t\t\tconst ras = states[this.lookupRateAgreement.code];\r\n\r\n\t\t\tif (!ras || ras.pending || !this.inLookup) {\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\r\n\t\t\tthis.inLookup = false;\r\n\t\t\tthis.lookupRateAgreement = ras.rateAgreement || {\r\n\t\t\t\tid: null,\r\n\t\t\t\tcode: this.editor.value.rateCode,\r\n\t\t\t\tstartDate: '',\r\n\t\t\t\tendDate: '',\r\n\t\t\t\tdescription: '',\r\n\t\t\t};\r\n\r\n\t\t\tif (!ras.rateAgreement) {\r\n\t\t\t\tthis.editor.controls.rateCode.setErrors({ 'notFound': true });\r\n\t\t\t} else if (this.submitting) {\r\n\t\t\t\tthis.update();\r\n\t\t\t}\r\n\r\n\t\t\tthis.submitting = false;\r\n\t\t\tthis.cdr.detectChanges();\r\n\t\t});\r\n\r\n\t\tthis.createForm();\r\n\t}\r\n\r\n\tngOnDestroy() {\r\n\t\tconsole.log('SchoolRateEditorComponent.ngOnDestroy()...');\r\n\t\tthis.alive = false;\r\n\t}\r\n\r\n\tcreateForm() {\r\n\t\tthis.editor = this.fb.group({\r\n\t\t\trateCode: [this.schoolRateCode],\r\n\t\t\tnodeLevel: [this.nodeLevel || ''],\r\n\t\t});\r\n\r\n\t\tthis.editor.controls.rateCode.valueChanges.pipe(\r\n\t\t\ttakeWhile(() => this.alive),\r\n\t\t).subscribe(code => {\r\n\t\t\tthis.lookupRateAgreement = code == this.schoolRateCode\r\n\t\t\t\t? this.schoolRateAgreement\r\n\t\t\t\t: {\r\n\t\t\t\t\tid: null,\r\n\t\t\t\t\tcode,\r\n\t\t\t\t\tstartDate: '',\r\n\t\t\t\t\tendDate: '',\r\n\t\t\t\t\tdescription: '',\r\n\t\t\t\t};\r\n\t\t});\r\n\t}\r\n\r\n\tresetForm() {\r\n\t\tif (!this.editor) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tthis.editor.reset({\r\n\t\t\trateCode: this.schoolRateCode,\r\n\t\t\tnodeLevel: this.nodeLevel || '',\r\n\t\t});\r\n\t}\r\n\r\n\trateAgreementChanged(s: SchoolDetails): boolean {\r\n\t\tif (!this.school) {\r\n\t\t\treturn true;\r\n\t\t}\r\n\r\n\t\treturn this.schoolRateCode != (this.panelId == fromStore.PanelId.CurrentRate\r\n\t\t\t? (s.currentRateAgreement ? s.currentRateAgreement.code : '')\r\n\t\t\t: (s.futureRateAgreement ? s.futureRateAgreement.code : ''));\r\n\t}\r\n\r\n\tget schoolRateCode() {\r\n\t\treturn this.schoolRateAgreement ? this.schoolRateAgreement.code : '';\r\n\t}\r\n\r\n\tget panelSelector() {\r\n\t\treturn this.panelId == fromStore.PanelId.CurrentRate ? fromStore.getDetailsStateCurrentRatePanel : fromStore.getDetailsStateFutureRatePanel;\r\n\t}\r\n\r\n\tget schoolRateAgreement() {\r\n\t\treturn this.panelId == fromStore.PanelId.CurrentRate ? this.school.currentRateAgreement : this.school.futureRateAgreement;\r\n\t}\r\n\r\n\tget rateField() {\r\n\t\treturn this.panelId == fromStore.PanelId.CurrentRate ? 'currentRateAgreementId' : 'futureRateAgreementId';\r\n\t}\r\n\r\n\tget nodeLevelField() {\r\n\t\treturn this.panelId == fromStore.PanelId.CurrentRate ? 'ratePackageNodeLevel' : 'futureRatePackageNodeLevel';\r\n\t}\r\n\r\n\tget nodeLevel() {\r\n\t\treturn (this.panelId == fromStore.PanelId.CurrentRate ? this.school.ratePackageNodeLevel : this.school.futureRatePackageNodeLevel);\r\n\t}\r\n\r\n\tget nodeLevels(): number[] {\r\n\t\tconst ret = Object.keys(NodeLevel).filter(nl => !isNaN(Number(nl))).map(nl => Number(nl));\r\n\r\n\t\treturn ret;\r\n\t}\r\n\r\n\tget nodeLevelNames() {\r\n\t\treturn NodeLevelNames;\r\n\t}\r\n\r\n\tget canSave(): boolean {\r\n\t\tconst canSave = !this.submitting\r\n\t\t\t&& this.editor.valid\r\n\t\t\t&& this.editor.dirty\r\n\t\t\t&& (this.editor.value.rateCode != (this.schoolRateAgreement ? this.schoolRateAgreement.code : '') || this.editor.value.nodeLevel != this.nodeLevel);\r\n\r\n\t\tconsole.log('canSave(): ', canSave);\r\n\r\n\t\treturn canSave;\r\n\t}\r\n\r\n\tget saveButtonLabel(): string {\r\n\t\treturn this.panelState.updating ? 'Saving...' : 'Save';\r\n\t}\r\n\r\n\tget hasError() {\r\n\t\tconsole.log('hasError(): ', this.editor.controls.rateCode.invalid);\r\n\r\n\t\treturn this.editor.controls.rateCode.invalid;\r\n\t}\r\n\r\n\tget rateDescription() {\r\n\t\treturn this.lookupRateAgreement ? this.lookupRateAgreement.description : '';\r\n\t}\r\n\r\n\tget rateEffectivity() {\r\n\t\treturn this.lookupRateAgreement\r\n\t\t\t? this.getDateRangeText(this.lookupRateAgreement.startDate, this.lookupRateAgreement.endDate)\r\n\t\t\t: '';\r\n\t}\r\n\r\n\tupdate() {\r\n\t\tconsole.log('update(): ', this.lookupRateAgreement);\r\n\r\n\t\tconst school = {\r\n\t\t\t...this.school,\r\n\t\t\t[this.rateField]: this.lookupRateAgreement.id,\r\n\t\t\t[this.nodeLevelField]: this.editor.value.nodeLevel == '' ? null : this.editor.value.nodeLevel,\r\n\t\t};\r\n\r\n\t\tthis.store.dispatch(new fromStore.UpdateSchoolPanel({ panel: this.panelId, school }));\r\n\t}\r\n\r\n\tonApplyRateCode() {\r\n\t\tconst rateCode = this.editor.value.rateCode.trim();\r\n\r\n\t\tconsole.log('onApplyRateCode(): ', rateCode);\r\n\r\n\t\tif (rateCode == this.schoolRateCode || rateCode == '') {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tthis.inLookup = true;\r\n\t\tthis.store.dispatch(new fromStore.GetRateAgreement({ panel: this.panelId, rateCode }));\r\n\t}\r\n\r\n\tonSubmit() {\r\n\t\tconsole.log('onSubmit: ', this.editor.status, this.editor.value);\r\n\r\n\t\tthis.submitting = true;\r\n\t\tthis.inLookup = true;\r\n\t\tthis.store.dispatch(new fromStore.GetRateAgreement({ panel: this.panelId, rateCode: this.editor.value.rateCode.trim() }));\r\n\t}\r\n\r\n\tprivate getDateRangeText(from: string, to: string): string {\r\n\t\tconst fromDate = this.getDate(from);\r\n\t\tconst toDate = this.getDate(to);\r\n\r\n\t\tif (fromDate === null && toDate === null) {\r\n\t\t\treturn '';\r\n\t\t}\r\n\r\n\t\treturn `${this.getDateText(fromDate)} - ${this.getDateText(toDate)}`;\r\n\t}\r\n\r\n\tprivate getDate(s: string): Date {\r\n\t\tconst ms: number = Date.parse(s);\r\n\r\n\t\tif (isNaN(ms)) {\r\n\t\t\treturn null;\r\n\t\t}\r\n\r\n\t\treturn new Date(ms);\r\n\t}\r\n\r\n\tprivate getDateText(d: Date): string {\r\n\t\treturn d === null ? 'Unspecified' : `${d.getMonth() + 1}/${d.getDate()}/${d.getFullYear()}`;\r\n\t}\r\n}\r\n","
\r\n\t
\r\n\t
    \r\n\t\t
  • \r\n\t\t\t\r\n\t\t\t
    \r\n\t\t\t\t
    \r\n\t\t\t\t\t\r\n\t\t\t\t\t
    \r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
    \r\n\t\t\t\t
    \r\n\t\t\t\t
      \r\n\t\t\t\t\t
    • There is no Rate Agreement with an ID of '{{editor.value.rateCode}}'.
    • \r\n\t\t\t\t
    \r\n\t\t\t
    \r\n\t\t
  • \r\n\t\t
  • \r\n\t\t\t
    Description
    \r\n\t\t\t
    \r\n\t\t\t\t
    {{ rateDescription }}
    \r\n\t\t\t
    \r\n\t\t
  • \r\n\t\t
  • \r\n\t\t\t
    Effectivity
    \r\n\t\t\t
    {{ rateEffectivity }}
    \r\n\t\t
  • \r\n\t\t
  • \r\n\t\t\t\r\n\t\t\t
    \r\n\t\t\t\t\r\n\t\t\t
    \r\n\t\t
  • \r\n\t
\r\n\t
\r\n\t\t
\r\n\t\t\t\r\n\t\t
\r\n\t
\r\n
\r\n","import { Component } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'opus-merch-landing',\r\n templateUrl: './merch-landing.component.html',\r\n})\r\nexport class MerchLandingComponent { }\r\n","\r\n

Merchandising

\r\n\r\n\r\n","import { Injectable } from '@angular/core';\r\nimport { CanActivate, ActivatedRouteSnapshot } from '@angular/router';\r\n\r\nimport { Observable, of } from 'rxjs';\r\n\r\nimport { Store } from '@ngrx/store';\r\n\r\nimport * as fromStore from '../store';\r\n\r\n@Injectable()\r\nexport class HomeGuard implements CanActivate {\r\n constructor(private _store: Store) {\r\n\r\n }\r\n\r\n canActivate(route: ActivatedRouteSnapshot): Observable {\r\n\r\n return of(true);\r\n //check for a specific route if a user group exists\r\n }\r\n\r\n}\r\n","import * as fromScp from '../actions';\r\nimport * as fromModels from '../../models';\r\n\r\nexport interface LocationManagerState {\r\n\tpending: boolean;\r\n\tmanager: fromModels.LocationManager;\r\n\terror: any;\r\n}\r\n\r\nexport interface ManagerByNameLookupState {\r\n name: string;\r\n pending: boolean;\r\n managers: fromModels.LocationManager[];\r\n errors: any;\r\n}\r\n\r\nexport interface LocationsState {\r\n\tlocationManagers: { [code: string]: LocationManagerState };\r\n\tmanagerByNameLookup: ManagerByNameLookupState;\r\n}\r\n\r\nexport const initialLookupState: ManagerByNameLookupState = {\r\n name: null,\r\n pending: false,\r\n managers: null,\r\n errors: null\r\n};\r\n\r\nexport const initialState: LocationsState = {\r\n locationManagers: {},\r\n managerByNameLookup: initialLookupState\r\n};\r\n\r\nexport const initialLocationManagerState: LocationManagerState = {\r\n\tpending: false,\r\n\tmanager: null,\r\n\terror: null,\r\n};\r\n\r\nexport function reducer(state = initialState, action: fromScp.ScpActions): LocationsState {\r\n\tswitch (action.type) {\r\n\t\tcase fromScp.ScpActionTypes.GetLocation: {\r\n\t\t\tconst { code } = action.payload;\r\n\t\t\tconst managerState: LocationManagerState = state.locationManagers[code] ? state.locationManagers[code] : initialLocationManagerState;\r\n\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tlocationManagers: {\r\n\t\t\t\t\t...state.locationManagers,\r\n\t\t\t\t\t[code]: {\r\n\t\t\t\t\t\t...managerState,\r\n\t\t\t\t\t\tpending: true,\r\n\t\t\t\t\t},\r\n\t\t\t\t},\r\n\t\t\t};\r\n\t\t}\r\n\r\n\t\tcase fromScp.ScpActionTypes.GetLocationFailure: {\r\n\t\t\tconst { code, error } = action.payload;\r\n\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tlocationManagers: {\r\n\t\t\t\t\t...state.locationManagers,\r\n\t\t\t\t\t[code]: {\r\n\t\t\t\t\t\tpending: false,\r\n\t\t\t\t\t\tmanager: null,\r\n\t\t\t\t\t\terror,\r\n\t\t\t\t\t},\r\n\t\t\t\t},\r\n\t\t\t};\r\n\t\t}\r\n\r\n\t\tcase fromScp.ScpActionTypes.GetLocationSuccess: {\r\n\t\t\tconst { code, manager } = action.payload;\r\n\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tlocationManagers: {\r\n\t\t\t\t\t...state.locationManagers,\r\n\t\t\t\t\t[code]: {\r\n\t\t\t\t\t\tpending: false,\r\n\t\t\t\t\t\tmanager,\r\n\t\t\t\t\t},\r\n\t\t\t\t},\r\n\t\t\t};\r\n }\r\n\r\n case fromScp.ScpActionTypes.GetManagersByName: {\r\n const { name } = action.payload;\r\n const managerByNameLookup: ManagerByNameLookupState = {\r\n name,\r\n pending: true,\r\n errors: null,\r\n managers: null,\r\n };\r\n\r\n return {\r\n ...state,\r\n managerByNameLookup,\r\n };\r\n }\r\n\r\n case fromScp.ScpActionTypes.GetManagersByNameFailure: {\r\n const { errors } = action.payload;\r\n const managerByNameLookup: ManagerByNameLookupState = {\r\n ...state.managerByNameLookup,\r\n pending: false,\r\n errors,\r\n managers: null,\r\n };\r\n\r\n return {\r\n ...state,\r\n managerByNameLookup,\r\n };\r\n }\r\n\r\n case fromScp.ScpActionTypes.GetManagersByNameSuccess: {\r\n const { managers } = action.payload;\r\n const managerByNameLookup: ManagerByNameLookupState = {\r\n ...state.managerByNameLookup,\r\n pending: false,\r\n managers,\r\n };\r\n\r\n return {\r\n ...state,\r\n managerByNameLookup,\r\n };\r\n }\r\n\t}\r\n\r\n\treturn state;\r\n}\r\n","import { RelationshipType, ProgramType } from '../../scp-common/models';\r\nimport { SchoolDetails } from '../../schools/models';\r\n\r\nexport enum InactiveReason {\r\n Inactive,\r\n Duplicate,\r\n Pending\r\n}\r\n\r\nexport interface ProgramTeacher {\r\n id: number;\r\n teacherId: number;\r\n teacherName: string;\r\n isPrimary: boolean;\r\n}\r\n\r\nexport interface ProgramCreate {\r\n\tprogramTypeId: ProgramType;\r\n\tschoolId: number;\r\n\tteacherId?: number;\r\n}\r\n\r\nexport interface ProgramDetails {\r\n id: number;\r\n active: boolean;\r\n inactiveReason: InactiveReason;\r\n programTypeId: ProgramType;\r\n startFrom: string;\r\n startTo: string;\r\n school: SchoolDetails;\r\n beginningGrade: string;\r\n numberBeginningGrade: number;\r\n numberBeginningMusicians: number;\r\n numberSchoolInstruments: number;\r\n programTeachers: ProgramTeacher[];\r\n}\r\n","import { Action } from '@ngrx/store';\r\nimport { ProductGroup } from '../../../scp/preferences/models';\r\nimport { HttpErrorResponse } from '@angular/common/http';\r\n\r\nimport { InstrumentClass, InstrumentCombo, Product, RentalCategory } from '../../models';\r\n\r\nexport enum MerchActionTypes {\r\n\tLoadClasses = '[Merch] Load Classes',\r\n\tLoadClassesSuccess = '[Merch] Load Classes Success',\r\n \tLoadClassesFailure = '[Merch] Load Classes Failure',\r\n\tLoadCombos = '[Merch] Load Combos',\r\n\tLoadCombosSuccess = '[Merch] Load Combos Success',\r\n\tLoadCombosFailure = '[Merch] Load Combos Failure',\r\n\tLoadProductGroups = '[Merch] Load Product Groups',\r\n\tLoadProductGroupsSuccess = '[Merch] Load Product Groups Success',\r\n\tLoadProductGroupsFailure = '[Merch] Load Product Groups Failure',\r\n\tLoadProducts = '[Merch] Load Products',\r\n\tLoadProductsSuccess = '[Merch] Load Products Success',\r\n\tLoadProductsFailure = '[Merch] Load Products Failure',\r\n\tLoadRentalCategories = '[RentalCategory] Load Rental Category',\r\n LoadRentalCategoriesSuccess = '[RentalCategory] Load Rental Category Success',\r\n LoadRentalCategoriesFailure = '[RentalCategory] Load Rental Category Failure',\r\n\tLoadRentalCategoryDetails = '[RentalCategory] Load Rental Category Details',\r\n LoadRentalCategoryDetailsSuccess = '[RentalCategory] Load Rental Category Details Success',\r\n LoadRentalCategoryDetailsFailure = '[RentalCategory] Load Rental Category Details Failure',\r\n\tSetComboAvailability = '[Merch] Set Combo Availability',\r\n\tSetComboAvailabilitySuccess = '[Merch] Set Combo Availability Success',\r\n\tSetComboAvailabilityFailure = '[Merch] Set Combo Availability Failure',\r\n\tDeleteCombo = '[Merch] Delete Combo',\r\n\tDeleteComboSuccess = '[Merch] Delete Combo Success',\r\n\tDeleteComboFailure = '[Merch] Delete Combo Failure',\r\n}\r\n\r\nexport class LoadClasses implements Action {\r\n\treadonly type = MerchActionTypes.LoadClasses;\r\n}\r\n\r\nexport class LoadClassesSuccess implements Action {\r\n\treadonly type = MerchActionTypes.LoadClassesSuccess;\r\n\tconstructor(public payload: InstrumentClass[]) { }\r\n}\r\n\r\nexport class LoadClassesFailure implements Action {\r\n\treadonly type = MerchActionTypes.LoadClassesFailure;\r\n\tconstructor(public payload: any) { }\r\n}\r\n\r\nexport class LoadCombos implements Action {\r\n\treadonly type = MerchActionTypes.LoadCombos;\r\n\tconstructor(public payload: number) { }\r\n}\r\n\r\nexport class LoadCombosSuccess implements Action {\r\n\treadonly type = MerchActionTypes.LoadCombosSuccess;\r\n\tconstructor(public payload: { classId: number, combos: InstrumentCombo[] }) { }\r\n}\r\n\r\nexport class LoadCombosFailure implements Action {\r\n\treadonly type = MerchActionTypes.LoadCombosFailure;\r\n\tconstructor(public payload: { classId: number, error: any }) { }\r\n}\r\n\r\nexport class LoadProductGroups implements Action {\r\n readonly type = MerchActionTypes.LoadProductGroups;\r\n}\r\n\r\nexport class LoadProductGroupsSuccess implements Action {\r\n readonly type = MerchActionTypes.LoadProductGroupsSuccess;\r\n constructor(public payload: ProductGroup[]) { }\r\n}\r\n\r\nexport class LoadProductGroupsFailure implements Action {\r\n readonly type = MerchActionTypes.LoadProductGroupsFailure;\r\n constructor(public payload: any) { }\r\n}\r\n\r\nexport class LoadProducts implements Action {\r\n readonly type = MerchActionTypes.LoadProducts;\r\n constructor(public payload: number) { }\r\n}\r\n\r\nexport class LoadProductsSuccess implements Action {\r\n readonly type = MerchActionTypes.LoadProductsSuccess;\r\n constructor(public payload: { productGroupId: number, products: Product[] }) { }\r\n}\r\n\r\nexport class LoadProductsFailure implements Action {\r\n readonly type = MerchActionTypes.LoadProductsFailure;\r\n constructor(public payload: { productGroupId: number, error: any }) { }\r\n}\r\n\r\nexport class LoadRentalCategories implements Action {\r\n readonly type = MerchActionTypes.LoadRentalCategories;\r\n constructor(public payload: string) { }\r\n}\r\n\r\nexport class LoadRentalCategoriesSuccess implements Action {\r\n readonly type = MerchActionTypes.LoadRentalCategoriesSuccess;\r\n constructor(public payload: { rentalCategories: RentalCategory[] }) { }\r\n}\r\n\r\nexport class LoadRentalCategoriesFailure implements Action {\r\n readonly type = MerchActionTypes.LoadRentalCategoriesFailure;\r\n constructor(public payload: { error: any }) { }\r\n}\r\n\r\nexport class LoadRentalCategoryDetails implements Action {\r\n readonly type = MerchActionTypes.LoadRentalCategoryDetails;\r\n constructor(public payload: number) { }\r\n}\r\n\r\nexport class LoadRentalCategoryDetailsSuccess implements Action {\r\n readonly type = MerchActionTypes.LoadRentalCategoryDetailsSuccess;\r\n constructor(public payload: { rentalCategory: RentalCategory }) { }\r\n}\r\n\r\nexport class LoadRentalCategoryDetailsFailure implements Action {\r\n readonly type = MerchActionTypes.LoadRentalCategoryDetailsFailure;\r\n constructor(public payload: { error: any }) { }\r\n}\r\n\r\nexport class SetComboAvailability implements Action {\r\n\treadonly type = MerchActionTypes.SetComboAvailability;\r\n\tconstructor(public payload: { classId: number, available: boolean, ids: number[] }) { }\r\n}\r\n\r\nexport class SetComboAvailabilitySuccess implements Action {\r\n\treadonly type = MerchActionTypes.SetComboAvailabilitySuccess;\r\n\tconstructor(public payload: { classId: number, available: boolean, ids: number[] }) { }\r\n}\r\n\r\nexport class SetComboAvailabilityFailure implements Action {\r\n\treadonly type = MerchActionTypes.SetComboAvailabilityFailure;\r\n\tconstructor(public payload: { classId: number, error: any }) { }\r\n}\r\n\r\nexport class DeleteCombo implements Action {\r\n\treadonly type = MerchActionTypes.DeleteCombo;\r\n\tconstructor(public payload: { classId: number, id: number }) { }\r\n}\r\n\r\nexport class DeleteComboSuccess implements Action {\r\n\treadonly type = MerchActionTypes.DeleteComboSuccess;\r\n\tconstructor(public payload: { classId: number, id: number }) { }\r\n}\r\n\r\nexport class DeleteComboFailure implements Action {\r\n\treadonly type = MerchActionTypes.DeleteComboFailure;\r\n\tconstructor(public payload: { classId: number, id: number, error: any }) { }\r\n}\r\n\r\nexport type MerchActions =\r\n\t| LoadClasses\r\n\t| LoadClassesSuccess\r\n\t| LoadClassesFailure\r\n\t| LoadCombos\r\n\t| LoadCombosSuccess\r\n\t| LoadCombosFailure\r\n\t| LoadProductGroups\r\n\t| LoadProductGroupsSuccess\r\n\t| LoadProductGroupsFailure\r\n\t| LoadProducts\r\n\t| LoadProductsSuccess\r\n\t| LoadProductsFailure\r\n\t| LoadRentalCategories\r\n\t| LoadRentalCategoriesSuccess\r\n\t| LoadRentalCategoriesFailure\r\n\t| LoadRentalCategoryDetails\r\n | LoadRentalCategoryDetailsSuccess\r\n | LoadRentalCategoryDetailsFailure\r\n\t| SetComboAvailability\r\n\t| SetComboAvailabilitySuccess\r\n\t| SetComboAvailabilityFailure\r\n\t| DeleteCombo\r\n\t| DeleteComboSuccess\r\n\t| DeleteComboFailure;\r\n","import { Component, Input } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\n\r\nimport { ShippingCharge, ShippingChargesCriteria } from '../models';\r\n\r\n@Component({\r\n selector: 'opus-shipping-charges-table',\r\n templateUrl: './shipping-charges-table.component.html'\r\n})\r\nexport class ShippingChargesTableComponent {\r\n @Input() criteria: ShippingChargesCriteria;\r\n @Input() shippingCharges$: Observable;\r\n}\r\n","
\r\n

Select a category, state, or both to view shipping charges.

\r\n

There are no shipping charges.

\r\n
\r\n \r\n \r\n Category Name\r\n Category Code\r\n State\r\n Standard Ground\r\n \r\n \r\n \r\n \r\n {{ charge.rentalCategoryName }}\r\n {{ charge.rentalCategoryCode }}\r\n {{ charge.state }}\r\n {{ charge.ground | currency }}\r\n \r\n \r\n
\r\n
\r\n","import { Component, Input } from '@angular/core';\r\n\r\nimport { SchoolDetails } from '../../models';\r\n\r\n@Component({\r\n\tselector: 'opus-school-additional-details',\r\n\ttemplateUrl: './school-additional-details.component.html',\r\n})\r\nexport class SchoolAdditionalDetailsComponent {\r\n\t@Input() school: SchoolDetails;\r\n\tmonthNames = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'];\r\n\r\n\tget summerBilling() {\r\n\t\tconst summerBilling = this.school.summerBillingDate == null\r\n\t\t\t? this.createBillingDate(1, 5)\r\n\t\t\t: new Date(Date.parse(this.school.summerBillingDate));\r\n\r\n\t\treturn `${this.monthNames[summerBilling.getMonth()]} ${summerBilling.getDate().toString()}`;\r\n\t}\r\n\r\n\tget fallBilling() {\r\n\t\tconst fallBilling = this.school.fallBillingDate == null\r\n\t\t\t? this.createBillingDate(1, 8)\r\n\t\t\t: new Date(Date.parse(this.school.fallBillingDate));\r\n\r\n\t\treturn `${this.monthNames[fallBilling.getMonth()]} ${fallBilling.getDate().toString()}`;\r\n\t}\r\n\r\n\tget summerCustomerInHand() {\r\n\t\tif (!this.school.summerCustomerInHandDate) return '';\r\n\r\n\t\tconst summerCustomerInHand = new Date(Date.parse(this.school.summerCustomerInHandDate));\r\n\r\n\t\treturn `${this.monthNames[summerCustomerInHand.getMonth()]} ${summerCustomerInHand.getDate().toString()}`;\r\n\t}\r\n\r\n\tget fallCustomerInHand() {\r\n\t\tif (!this.school.fallCustomerInHandDate) return '';\r\n\r\n\t\tconst fallCustomerInHand = new Date(Date.parse(this.school.fallCustomerInHandDate));\r\n\r\n\t\treturn `${this.monthNames[fallCustomerInHand.getMonth()]} ${fallCustomerInHand.getDate().toString()}`;\r\n\t}\r\n\r\n\tprivate createBillingDate(billingDay: number, billingMonth: number) {\r\n\t\tconst currentYear = new Date().getFullYear();\r\n\t\tconst currentMonth = new Date().getMonth();\r\n\t\tconst currentDay = new Date().getDate();\r\n\r\n\t\tif (currentMonth < billingMonth || (currentMonth == billingMonth && currentDay <= billingDay))\r\n\t\t\treturn new Date(currentYear, billingMonth, billingDay);\r\n\t\telse\r\n\t\t\treturn new Date((currentYear + 1), billingMonth, billingDay);\r\n\t}\r\n}\r\n","
    \r\n\t
  • \r\n\t\t
    Primary ID
    \r\n\t\t
    {{ school.primaryId }}
    \r\n\t
  • \r\n\t
  • \r\n\t\t
    NCES School ID
    \r\n\t\t
    {{ school.ncesSchoolId }}
    \r\n\t
  • \r\n\t\r\n\t
  • \r\n\t\t
    Summer Billing
    \r\n\t\t
    {{ summerBilling }}
    \r\n\t
  • \r\n\t
  • \r\n\t\t
    Summer Customer in-hand
    \r\n\t\t
    {{ summerCustomerInHand }}
    \r\n\t
  • \r\n\t
  • \r\n\t\t
    Fall Billing
    \r\n\t\t
    {{ fallBilling }}
    \r\n\t
  • \r\n\t
  • \r\n\t\t
    Fall Customer in-hand
    \r\n\t\t
    {{ fallCustomerInHand }}
    \r\n\t
  • \r\n\t
  • \r\n\t\t
    Summer Free
    \r\n\t\t
    {{ school.summerFree | yesNo }}
    \r\n\t
  • \r\n\t
  • \r\n\t\t
    Latitude
    \r\n\t\t
    {{ school.latitude }}
    \r\n\t
  • \r\n\t
  • \r\n\t\t
    Longitude
    \r\n\t\t
    {{ school.longitude }}
    \r\n\t
  • \r\n\t
  • \r\n\t\t
    Time Zone
    \r\n\t\t
    {{ school.ianaTimeZoneId }}
    \r\n\t
  • \r\n
\r\n","import { createSelector } from '@ngrx/store';\r\n\r\nimport * as fromFeature from '../reducers';\r\nimport * as fromSchoolSearchResults from '../reducers/searchresults.reducer';\r\n\r\nexport const getSchoolSearchState = createSelector(\r\n fromFeature.getSchoolsState,\r\n (state: fromFeature.SchoolsState) => state.search\r\n);\r\nexport const getSchoolSearchResultsState = createSelector(\r\n getSchoolSearchState,\r\n fromSchoolSearchResults.getSchoolSearchResults\r\n);\r\n","import { DistributionLandingComponent } from './distribution-landing.component';\r\n\r\nexport const containers: any[] = [\r\n\tDistributionLandingComponent\r\n];\r\n\r\nexport * from './distribution-landing.component';\r\n","export * from './event.model';\r\nexport * from './event-searchcriteria.model';\r\nexport * from './event-searchresults.model';\r\nexport * from './event-paging-sorting.model';\r\n","import { SchoolDetailsComponent } from './school-details.component';\r\nimport { SchoolSearchResultsComponent } from './school-searchresults.component';\r\nimport { SchoolInfoEditorComponent } from './school-info-editor.component';\r\nimport { SchoolAddressEditorComponent } from './school-address-editor.component';\r\nimport { SchoolContactsEditorComponent } from './school-contacts-editor.component';\r\nimport { SchoolRateEditorComponent } from './school-rate-editor.component';\r\nimport { SchoolCalendarEditorComponent } from './school-calendar-editor.component';\r\nimport { SchoolRelationshipEditorComponent } from './school-relationship-editor.component';\r\nimport { SchoolOnlineRentalsEditorComponent } from './school-online-rentals-editor.component';\r\nimport { SchoolRentalReturnsEditorComponent } from './school-rental-returns-editor.component';\r\nimport { SchoolAdditionalDetailsEditorComponent } from './school-additional-details-editor.component';\r\nimport { SchoolCreateComponent } from './school-create.component';\r\n\r\nexport const containers: any[] = [\r\n SchoolDetailsComponent,\r\n\tSchoolSearchResultsComponent,\r\n\tSchoolInfoEditorComponent,\r\n\tSchoolAddressEditorComponent,\r\n\tSchoolContactsEditorComponent,\r\n\tSchoolRateEditorComponent,\r\n\tSchoolCalendarEditorComponent,\r\n\tSchoolRelationshipEditorComponent,\r\n\tSchoolOnlineRentalsEditorComponent,\r\n\tSchoolRentalReturnsEditorComponent,\r\n\tSchoolAdditionalDetailsEditorComponent,\r\n\tSchoolCreateComponent,\r\n];\r\n\r\nexport * from './school-details.component';\r\nexport * from './school-searchresults.component';\r\nexport * from './school-info-editor.component';\r\nexport * from './school-address-editor.component';\r\nexport * from './school-contacts-editor.component';\r\nexport * from './school-rate-editor.component';\r\nexport * from './school-calendar-editor.component';\r\nexport * from './school-relationship-editor.component';\r\nexport * from './school-online-rentals-editor.component';\r\nexport * from './school-rental-returns-editor.component';\r\nexport * from './school-additional-details-editor.component';\r\nexport * from './school-create.component';\r\n","import { ActionReducerMap, createFeatureSelector } from '@ngrx/store';\r\n\r\nimport * as fromSchoolDetails from './school-details.reducer';\r\nimport * as fromSearchResults from './searchresults.reducer';\r\n\r\nexport interface SchoolsState {\r\n details: fromSchoolDetails.SchoolDetailsState;\r\n search: fromSearchResults.SearchResultsState;\r\n}\r\n\r\nexport const reducers: ActionReducerMap = {\r\n details: fromSchoolDetails.reducer,\r\n search: fromSearchResults.reducer\r\n};\r\n\r\nexport const getSchoolsState = createFeatureSelector('schools');\r\n\r\nexport { SchoolDetailsState, PanelId, PanelState, AddressPanelState, ZipLookupState, CountyLookupState, RateLookupState, RateAgreementState, DistrictLookupsState, DistrictByNameLookupState } from './school-details.reducer';\r\nexport { SearchResultsState, initialState } from './searchresults.reducer';\r\n","import { ActionReducerMap, createFeatureSelector } from '@ngrx/store';\r\n\r\nimport * as fromTeacherDetails from './teacher-details.reducer';\r\nimport * as fromSearchResults from './searchresults.reducer';\r\n\r\nexport interface TeachersState {\r\n teacherDetails: fromTeacherDetails.TeacherDetailsState;\r\n search: fromSearchResults.SearchResultsState;\r\n}\r\n\r\nexport const reducers: ActionReducerMap = {\r\n teacherDetails: fromTeacherDetails.reducer,\r\n search: fromSearchResults.reducer\r\n};\r\n\r\nexport const getTeachersState = createFeatureSelector('teachers');\r\n\r\nexport { TeacherDetailsState, PanelId, PanelState, AddressPanelState, ZipLookupState, CountyLookupState, DistrictLookupState, DistrictByNameLookupState } from './teacher-details.reducer';\r\nexport { SearchResultsState, initialState } from './searchresults.reducer';\r\n","import { createSelector } from '@ngrx/store';\r\n\r\nimport * as fromFeature from '../reducers';\r\nimport * as fromSchoolDetails from '../reducers/school-details.reducer';\r\n\r\nexport const getSchoolDetailsState = createSelector(\r\n\tfromFeature.getSchoolsState,\r\n\t(state: fromFeature.SchoolsState) => state.details\r\n);\r\n\r\nexport const getDistrictLookupsState = createSelector(\r\n\tgetSchoolDetailsState,\r\n\tfromSchoolDetails.getDistrictLookupsState,\r\n);\r\n\r\nexport const getDistrictByNameLookupState = createSelector(\r\n\tgetDistrictLookupsState,\r\n\tfromSchoolDetails.getDistrictByNameLookupState,\r\n);\r\n\r\nexport const getSchoolDetailsEntity = createSelector(\r\n\tgetSchoolDetailsState,\r\n\tfromSchoolDetails.getSchoolDetailsEntity,\r\n);\r\n\r\n//export const getRateAgreement = createSelector(\r\n//\tgetSchoolDetailsState,\r\n//\tfromSchoolDetails.getRateAgreement,\r\n//);\r\n\r\nexport const getSchoolDetailsLoaded = createSelector(\r\n\tgetSchoolDetailsState,\r\n\tfromSchoolDetails.getSchoolDetailsLoaded,\r\n);\r\n\r\nexport const getSchoolDetailsLoading = createSelector(\r\n\tgetSchoolDetailsState,\r\n\tfromSchoolDetails.getSchoolDetailsLoading,\r\n);\r\n\r\nexport const getDetailsStatePanels = createSelector(\r\n\tgetSchoolDetailsState,\r\n\tfromSchoolDetails.getDetailsStatePanels\r\n);\r\n\r\nexport const getDetailsStateInfoPanel = createSelector(\r\n\tgetDetailsStatePanels,\r\n\t(panels) => panels[fromFeature.PanelId.Info],\r\n);\r\n\r\nexport const getDetailsStatePhysAddrPanel = createSelector(\r\n\tgetDetailsStatePanels,\r\n\t(panels) => panels[fromFeature.PanelId.PhysAddr] as fromFeature.AddressPanelState,\r\n);\r\n\r\nexport const getDetailsStateMailAddrPanel = createSelector(\r\n\tgetDetailsStatePanels,\r\n\t(panels) => panels[fromFeature.PanelId.MailAddr] as fromFeature.AddressPanelState,\r\n);\r\n\r\nexport const getDetailsStateCountyLookup = createSelector(\r\n\tgetDetailsStatePhysAddrPanel,\r\n\tfromSchoolDetails.getDetailsStateCountyLookup,\r\n);\r\n\r\nexport const getDetailsStatePhysAddrZipLookup = createSelector(\r\n\tgetDetailsStatePhysAddrPanel,\r\n\tfromSchoolDetails.getDetailsStateZipLookup,\r\n);\r\n\r\nexport const getDetailsStateMailAddrZipLookup = createSelector(\r\n\tgetDetailsStateMailAddrPanel,\r\n\tfromSchoolDetails.getDetailsStateZipLookup,\r\n);\r\n\r\nexport const getDetailsStateCounties = createSelector(\r\n\tgetDetailsStateCountyLookup,\r\n\t(cl) => cl.lookupStateCode != null ? cl.counties[cl.lookupStateCode] : [],\r\n);\r\n\r\nexport const getDetailsStateContactsPanel = createSelector(\r\n\tgetDetailsStatePanels,\r\n\t(panels) => panels[fromFeature.PanelId.Contacts]\r\n);\r\n\r\nexport const getDetailsStateCalendarPanel = createSelector(\r\n\tgetDetailsStatePanels,\r\n\t(panels) => panels[fromFeature.PanelId.Calendar]\r\n);\r\n\r\nexport const getDetailsStateOnlineRentalsPanel = createSelector(\r\n\tgetDetailsStatePanels,\r\n\t(panels) => panels[fromFeature.PanelId.OnlineRentals]\r\n);\r\n\r\nexport const getDetailsStateRentalReturnsPanel = createSelector(\r\n\tgetDetailsStatePanels,\r\n\t(panels) => panels[fromFeature.PanelId.RentalReturns]\r\n);\r\n\r\nexport const getDetailsStateCurrentRatePanel = createSelector(\r\n\tgetDetailsStatePanels,\r\n\t(panels) => panels[fromFeature.PanelId.CurrentRate]\r\n);\r\n\r\nexport const getDetailsStateFutureRatePanel = createSelector(\r\n\tgetDetailsStatePanels,\r\n\t(panels) => panels[fromFeature.PanelId.FutureRate]\r\n);\r\n\r\nexport const getDetailsStateRateAgreements = createSelector(\r\n\tgetSchoolDetailsState,\r\n\tfromSchoolDetails.getDetailsStateRateAgreements,\r\n);\r\n\r\nexport const getDetailsStateRelationshipPanel = createSelector(\r\n\tgetDetailsStatePanels,\r\n\t(panels) => panels[fromFeature.PanelId.Relationship]\r\n);\r\n\r\nexport const getDetailsStateAdditionalDetailsPanel = createSelector(\r\n\tgetDetailsStatePanels,\r\n\t(panels) => panels[fromFeature.PanelId.AdditionalDetails]\r\n);\r\n","export enum MessageType {\r\n alert,\r\n info,\r\n success\r\n}\r\n\r\nexport interface Message {\r\n message: string;\r\n messageType: MessageType;\r\n toast: boolean;\r\n}\r\n","export * from './actions';\r\nexport * from './effects';\r\nexport * from './reducers';\r\nexport * from './selectors';\r\n","import { Component, Input } from '@angular/core';\r\n\r\nimport { SchoolDetails, RoutineService, CallDay } from '../../models';\r\nimport { RelationshipType } from '../../../scp-common/models';\r\n\r\n@Component({\r\n\tselector: 'opus-school-relationship',\r\n\ttemplateUrl: './school-relationship.component.html',\r\n})\r\nexport class SchoolRelationshipComponent {\r\n\t@Input() school: SchoolDetails;\r\n\r\n\tget relationshipType() {\r\n\t\treturn RelationshipType[this.school.relationshipType.relationshipType];\r\n\t}\r\n\r\n\tget routineService() {\r\n\t\treturn RoutineService[this.school.routineService];\r\n\t}\r\n\r\n\tget callDay() {\r\n\t\treturn CallDay[this.school.callDay];\r\n\t}\r\n}\r\n","
    \r\n\t
  • \r\n\t\t
    Inherit Manager
    \r\n\t\t
    {{ school.inheritRelationshipManager | yesNo }}
    \r\n\t
  • \r\n\t
  • \r\n\t\t
    Manager ID
    \r\n\t\t
    {{ school.relationshipManager.locationCode }}
    \r\n\t
  • \r\n\t
  • \r\n\t\t
    Manager Name
    \r\n\t\t
    {{ school.relationshipManager.name }}
    \r\n\t
  • \r\n\t
  • \r\n\t\t
    Inherit Relationship Type
    \r\n\t\t
    {{ school.inheritRelationshipType | yesNo }}
    \r\n\t
  • \r\n\t
  • \r\n\t\t
    Relationship Type
    \r\n\t\t
    {{ relationshipType }}
    \r\n\t
  • \r\n\t
  • \r\n\t\t
    Routine Service
    \r\n\t\t
    {{ routineService }}
    \r\n\t
  • \r\n\t
  • \r\n\t\t
    Call Day
    \r\n\t\t
    {{ callDay }}
    \r\n\t
  • \r\n
\r\n","import { SchoolHeaderComponent } from './school-header';\r\nimport { SchoolInfoComponent } from './school-info.component';\r\nimport { SchoolAddressComponent } from './school-address.component';\r\nimport { SchoolContactsComponent } from './school-contacts.component';\r\nimport { SchoolRateComponent } from './school-rate.component';\r\nimport { SchoolCalendarComponent } from './school-calendar.component';\r\nimport { SchoolRelationshipComponent } from './school-relationship.component';\r\nimport { SchoolOnlineRentalsComponent } from './school-online-rentals.component';\r\nimport { SchoolRentalReturnsComponent } from './school-rental-returns.component';\r\nimport { SchoolAdditionalDetailsComponent } from './school-additional-details.component';\r\n\r\nexport const detailsComponents: any[] = [\r\n\tSchoolHeaderComponent,\r\n\tSchoolInfoComponent,\r\n\tSchoolAddressComponent,\r\n\tSchoolContactsComponent,\r\n\tSchoolRateComponent,\r\n\tSchoolCalendarComponent,\r\n\tSchoolRelationshipComponent,\r\n\tSchoolOnlineRentalsComponent,\r\n\tSchoolRentalReturnsComponent,\r\n\tSchoolAdditionalDetailsComponent,\r\n];\r\n\r\nexport * from './school-header';\r\nexport * from './school-info.component';\r\nexport * from './school-address.component';\r\nexport * from './school-contacts.component';\r\nexport * from './school-rate.component';\r\nexport * from './school-calendar.component';\r\nexport * from './school-relationship.component';\r\nexport * from './school-online-rentals.component';\r\nexport * from './school-rental-returns.component';\r\nexport * from './school-additional-details.component';\r\n","
    \r\n\t
  • \r\n\t\t
    Address Line 1
    \r\n\t\t
    {{ address.line1 }}
    \r\n\t
  • \r\n\t
  • \r\n\t\t
    Address Line 2
    \r\n\t\t
    {{ address.line2 }}
    \r\n\t
  • \r\n\t
  • \r\n\t\t
    City, State Zip
    \r\n\t\t
    {{ address.city }}, {{ address.state }} {{ address.zip }}
    \r\n\t
  • \r\n\t
  • \r\n\t\t
    County
    \r\n\t\t
    {{ address.county }}
    \r\n\t
  • \r\n
\r\n","import { Component, Input } from '@angular/core';\r\n\r\nimport { Address } from '../../../scp-common/models';\r\n\r\n@Component({\r\n\tselector: 'opus-district-address',\r\n\ttemplateUrl: './district-address.component.html',\r\n})\r\nexport class DistrictAddressComponent {\r\n @Input() address: Address;\r\n @Input() isPhysical: boolean;\r\n}\r\n\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpResponse } from '@angular/common/http';\r\n\r\nimport { Observable } from 'rxjs';\r\n\r\nimport { Operation } from 'fast-json-patch';\r\n\r\nimport { ConfigurationService } from '../../../core/services/ConfigurationService';\r\nimport { ConfigurationState } from '../../../core/store/reducers';\r\nimport { switchMap} from 'rxjs/operators';\r\n\r\nimport { District, DistrictSummary, DistrictSearchResultsItem, DistrictLookup, DistrictCreate } from '../../districts/models';\r\n\r\n@Injectable()\r\nexport class DistrictService {\r\n constructor(private http: HttpClient, private configuration: ConfigurationService) {\r\n\t}\r\n\r\n\tloadDistrict(districtId: number): Observable {\r\n return this.configuration.config$.pipe(\r\n switchMap((c: ConfigurationState) => {\r\n return this.http.get(`${c.config.apiServer}api/districts/details/${districtId}`);\r\n })\r\n );\r\n\t}\r\n\r\n\tpatchDistrict(id: number, patch: Operation[]): Observable {\r\n return this.configuration.config$.pipe(\r\n switchMap((c: ConfigurationState) => {\r\n return this.http.patch(`${c.config.apiServer}api/districts/${id}`, patch);\r\n })\r\n );\r\n\t}\r\n\r\n\tcanDeactivate(id: number, isSupervisory: boolean): Observable {\r\n return this.configuration.config$.pipe(\r\n switchMap((c: ConfigurationState) => {\r\n return this.http.get(`${c.config.apiServer}api/districts/${id}/candeactivate?issupervisory=${isSupervisory}`);\r\n })\r\n );\r\n\t}\r\n\r\n\thasChildren(id: number, isSupervisory: boolean): Observable {\r\n return this.configuration.config$.pipe(\r\n switchMap((c: ConfigurationState) => {\r\n return this.http.get(`${c.config.apiServer}api/districts/${id}/haschildren?issupervisory=${isSupervisory}`);\r\n })\r\n );\r\n\t}\r\n\r\n\texists(id: number): Observable {\r\n return this.configuration.config$.pipe(\r\n switchMap((c: ConfigurationState) => {\r\n return this.http.get(`${c.config.apiServer}api/districts/${id}/exists`);\r\n })\r\n );\r\n\t}\r\n\r\n /* TODO: GRead 4/18/2018 - I think this is old and not really used???\r\n * Looks like it's in school-details.effect.ts, but this route doesn't exist\r\n * as far as I can tell. */\r\n\tlookupDistrictById_SUMMARY(id: number): Observable {\r\n return this.configuration.config$.pipe(\r\n switchMap((c: ConfigurationState) => {\r\n return this.http.get(`${c.config.apiServer}api/districts/summary/${id}`);\r\n })\r\n );\r\n }\r\n\r\n lookupDistrictById(districtId: number): Observable {\r\n return this.configuration.config$.pipe(\r\n switchMap((c: ConfigurationState) => {\r\n return this.http.get(`${c.config.apiServer}api/districts/lookup/${districtId}`);\r\n })\r\n );\r\n }\r\n\r\n lookupDistrictByName(districtName: string, isActive?: boolean, isSupervisory?: boolean): Observable {\r\n return this.configuration.config$.pipe(\r\n\t\t\tswitchMap((c: ConfigurationState) => {\r\n\t\t\t\tlet query = '';\r\n\r\n\t\t\t\tif (isActive !== undefined) {\r\n\t\t\t\t\tquery += 'isActive=' + isActive.toString();\r\n\t\t\t\t}\r\n\r\n\t\t\t\tif (isSupervisory !== undefined) {\r\n\t\t\t\t\tquery += (query !== '' ? '&' : '') + 'isSupervisory=' + isSupervisory.toString();\r\n\t\t\t\t}\r\n\r\n\t\t\t\tif (query !== '') {\r\n\t\t\t\t\tquery = '?' + query;\r\n\t\t\t\t}\r\n\r\n return this.http.get(`${c.config.apiServer}api/districts/search/lookup/${districtName}${query}`);\r\n })\r\n );\r\n }\r\n\r\n\r\n searchDistricts(query: string): Observable> {\r\n return this.configuration.config$.pipe(\r\n switchMap((c: ConfigurationState) => {\r\n return this.http.get(`${c.config.apiServer}api/districts?${query}`, { observe: 'response' });\r\n })\r\n );\r\n }\r\n\r\n createDistrict(event: DistrictCreate): Observable {\r\n return this.configuration.config$.pipe(\r\n switchMap((c: ConfigurationState) => {\r\n return this.http.post(`${c.config.apiServer}api/districts`, event);\r\n })\r\n );\r\n\r\n }\r\n}\r\n","import { Component, Input, OnInit, OnDestroy, OnChanges } from '@angular/core';\r\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\n\r\nimport { Observable } from 'rxjs';\r\nimport { takeWhile, tap } from 'rxjs/operators';\r\n\r\nimport { select, Store } from '@ngrx/store';\r\n\r\nimport { TeacherDetails } from '../models';\r\nimport * as fromStore from '../store';\r\n\r\n@Component({\r\n\tselector: 'opus-teacher-contact-editor',\r\n\ttemplateUrl: './teacher-contact-editor.component.html',\r\n})\r\nexport class TeacherContactEditorComponent implements OnInit, OnDestroy, OnChanges {\r\n\t@Input() teacher: TeacherDetails;\r\n\r\n\talive = true;\r\n\tpanelState$: Observable;\r\n\tpanelState: fromStore.PanelState;\r\n\teditor: FormGroup;\r\n\r\n\tconstructor(private store: Store, private fb: FormBuilder) {\r\n\t\tconsole.log('TeacherContactEditorComponent()...');\r\n\r\n\t\tthis.createForm();\r\n\t}\r\n\r\n ngOnInit() {\r\n console.log('TeacherContactEditorComponent.ngOnInit()');\r\n\r\n this.panelState$ = this.store.select(fromStore.getDetailsStateContactPanel);\r\n this.panelState$.pipe(\r\n takeWhile(() => this.alive),\r\n tap(s => {\r\n if (!s.editing && this.panelState && this.panelState.editing) {\r\n console.log('TeacherContactEditorComponent.panelState$: clearing form...');\r\n this.resetForm();\r\n }\r\n }),\r\n ).subscribe(ps => {\r\n console.log('panelState$ sub: ', ps);\r\n this.panelState = ps;\r\n });\r\n }\r\n\r\n\tngOnDestroy() {\r\n\t\tconsole.log('TeacherContactEditorComponent.ngOnDestroy()...');\r\n\t\tthis.alive = false;\r\n\t}\r\n\r\n\tngOnChanges() {\r\n\t\tthis.resetForm();\r\n\t}\r\n\r\n createForm() {\r\n const phoneValidator = Validators.pattern(/^([0-9]{10})?$/);\r\n // Stolen from: https://stackoverflow.com/questions/46155/how-to-validate-an-email-address-in-javascript\r\n const emailValidator = Validators.pattern(/^.+?@.+?\\..+$/);\r\n\r\n\t\t//\tNOTE: FormBuilder.group will ignore the updateOn parameter when constructing the FormGroup\r\n\t\tthis.editor = this.fb.group({\r\n\t\t\tphone: ['', phoneValidator],\r\n\t\t\tfax: ['', phoneValidator],\r\n\t\t\temail: ['', emailValidator],\r\n\t\t}/* NOTE: originally tried to do address verification as an async validator, but angular was ignoring the supplied updateOn='submit' even when using FormGroup instead of FormBuilder */);\r\n\t}\r\n\r\n\tresetForm() {\r\n\t\tconsole.log('resetForm()...');\r\n\r\n\t\tthis.editor.reset({\r\n\t\t\tphone: this.teacher.phone,\r\n\t\t\tfax: this.teacher.fax,\r\n\t\t\temail: this.teacher.email,\r\n\t\t});\r\n\t}\r\n\r\n get panelId(): string {\r\n return fromStore.PanelId.Contact;\r\n\t}\r\n\r\n\tget canSave(): boolean {\r\n\t\treturn this.editor.dirty && this.editor.valid;\r\n\t}\r\n\r\n\tget saveButtonLabel(): string {\r\n\t\treturn this.panelState.updating ? 'Saving...' : 'Save';\r\n\t}\r\n\r\n onSubmit() {\r\n const teacher = { ...this.teacher };\r\n Object.keys(this.editor.value).forEach(key => {\r\n teacher[key] = this.editor.value[key];\r\n });\r\n\r\n this.store.dispatch(new fromStore.UpdateTeacherPanel({ panel: fromStore.PanelId.Contact, teacher }));\r\n }\r\n}\r\n","
\r\n
\r\n
    \r\n
  • \r\n \r\n
    \r\n \r\n
    \r\n
  • \r\n
  • \r\n \r\n
    \r\n \r\n
    \r\n
  • \r\n
  • \r\n \r\n
    \r\n \r\n \r\n
    \r\n
  • \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
","import { Component, Input, Output, EventEmitter, ViewChild, ElementRef, ChangeDetectorRef } from '@angular/core';\r\nimport { FormBuilder, FormControl, FormGroup, Validators } from '@angular/forms';\r\n\r\nimport { Observable } from 'rxjs';\r\nimport { takeWhile } from 'rxjs/operators';\r\n\r\nimport { select, Store } from '@ngrx/store';\r\n\r\nimport * as fromRoot from '../../../core/store';\r\nimport * as fromStore from '../store';\r\nimport * as fromSchoolModels from '../../schools/models';\r\nimport * as validators from '../../../core/validators';\r\n\r\nimport { SchoolDetails } from '../../schools/models';\r\nimport { ValidateCurrentDateOrLater } from '../event.validators';\r\nimport { BsDatepickerConfig } from 'ngx-bootstrap/datepicker';\r\nimport { EventCreate } from '../models';\r\nimport { TeacherLookupCriteria } from '../../teachers/models';\r\n\r\ndeclare var $: any;\r\ndeclare var Foundation: any;\r\n\r\n@Component({\r\n\tselector: 'opus-event-create',\r\n\ttemplateUrl: './event-create.html',\r\n})\r\nexport class EventCreateComponent {\r\n @Input() school: SchoolDetails;\r\n @Input() visible: Boolean = false;\r\n @Output() action = new EventEmitter();\r\n\r\n @ViewChild('schoolDropdown', {static: false})\r\n schoolDropdown: ElementRef;\r\n\r\n @ViewChild('teacherDropdown', {static: false})\r\n teacherDropdown: ElementRef;\r\n\r\n @ViewChild('SubmitButton', {static: false})\r\n SubmitButton;\r\n\r\n schoolFoundationDropdown: any;\r\n teacherFoundationDropdown: any;\r\n\r\n\tdetails$: Observable;\r\n\r\n\tlookupSchoolId: number;\r\n schoolLookup$: Observable;\r\n schoolLookup: fromStore.SchoolLookupState;\r\n lookupSchoolName: string;\r\n schoolByNameLookup$: Observable;\r\n schoolByNameLookup: fromStore.SchoolByNameLookupState;\r\n\r\n teacherLookup$: Observable;\r\n teacherLookup: fromStore.TeacherLookupState;\r\n teacherByCriteriaLookup$: Observable;\r\n teacherByCriteriaLookup: fromStore.TeacherByCriteriaLookupState;\r\n\r\n editor: FormGroup;\r\n\talive = true;\r\n submitting = false;\r\n submitted = false;\r\n hasDoneSchoolLookup = false;\r\n hasDoneTeacherLookup = false;\r\n\r\n rentalMeetingTypes: any[] = [\r\n {\r\n id: 1,\r\n name: 'Schedule or Assembly'\r\n },\r\n {\r\n id: 2,\r\n name: 'Open or Random'\r\n }\r\n ];\r\n rentalFulfillmentTypes: any[] = [\r\n { id: 1, name: 'Filled - Pick up at Event' },\r\n { id: 2, name: 'Unfilled - Filled by Hub' },\r\n { id: 3, name: 'Unfilled - Filled by Rep' },\r\n ];\r\n\r\n bsConfig: Partial = { containerClass: 'theme-dark-blue' };\r\n maxDate = new Date('9999-12-31');\r\n\r\n constructor(private store: Store, private fb: FormBuilder, private ref: ChangeDetectorRef) {\r\n console.log('EventCreateComponent()...');\r\n }\r\n\r\n ngOnInit() {\r\n console.log('EventCreateComponent.ngOnInit()...');\r\n\r\n this.createForm();\r\n\r\n this.schoolLookup$ = this.store.pipe(select(fromStore.getDetailsStateSchoolLookup));\r\n this.schoolLookup$.pipe(\r\n takeWhile(() => this.alive)\r\n ).subscribe(schoolLookup => {\r\n this.schoolLookup = schoolLookup;\r\n\r\n if (schoolLookup && schoolLookup.pending && schoolLookup.schoolId == this.lookupSchoolId) {\r\n this.editor.controls.hostSchoolName.disable();\r\n }\r\n else {\r\n this.editor.controls.hostSchoolName.enable();\r\n }\r\n\r\n if (schoolLookup && schoolLookup.school) {\r\n this.editor.controls['hostSchoolName'].patchValue(schoolLookup.school.longName);\r\n }\r\n });\r\n\r\n this.schoolByNameLookup$ = this.store.pipe(select(fromStore.getDetailsStateSchoolByNameLookup));\r\n this.schoolByNameLookup$.pipe(\r\n takeWhile(() => this.alive)\r\n ).subscribe(schoolByNameLookup => {\r\n this.schoolByNameLookup = schoolByNameLookup;\r\n\r\n if (this.hasDoneSchoolLookup && schoolByNameLookup && schoolByNameLookup.schools && schoolByNameLookup.name == this.lookupSchoolName) {\r\n //Trigger the drop down\r\n if (!this.schoolFoundationDropdown) {\r\n this.schoolFoundationDropdown = new Foundation.Dropdown($(this.schoolDropdown.nativeElement).first());\r\n }\r\n\r\n const native = $(this.schoolDropdown.nativeElement).first();\r\n if (!native.hasClass('is-open'))\r\n native.foundation('open');\r\n this.ref.detectChanges();\r\n }\r\n });\r\n\r\n this.teacherLookup$ = this.store.pipe(select(fromStore.getDetailsStateTeacherLookup));\r\n this.teacherLookup$.pipe(\r\n takeWhile(() => this.alive)\r\n ).subscribe(teacherLookup => {\r\n this.teacherLookup = teacherLookup;\r\n\r\n if (teacherLookup && teacherLookup.pending) {\r\n this.editor.controls.hostTeacherName.disable();\r\n }\r\n else {\r\n this.editor.controls.hostTeacherName.enable();\r\n }\r\n\r\n if (teacherLookup && teacherLookup.teacher) {\r\n this.editor.controls['hostTeacherName'].patchValue(teacherLookup.teacher.name);\r\n }\r\n });\r\n\r\n this.teacherByCriteriaLookup$ = this.store.pipe(select(fromStore.getDetailsStateTeacherByCriteriaLookup));\r\n this.teacherByCriteriaLookup$.pipe(\r\n takeWhile(() => this.alive)\r\n ).subscribe(teacherByCriteriaLookup => {\r\n this.teacherByCriteriaLookup = teacherByCriteriaLookup;\r\n\r\n if (this.hasDoneTeacherLookup && teacherByCriteriaLookup && teacherByCriteriaLookup.teachers) {\r\n //Trigger the drop down\r\n if (!this.teacherFoundationDropdown) {\r\n this.teacherFoundationDropdown = new Foundation.Dropdown($(this.teacherDropdown.nativeElement).first());\r\n }\r\n\r\n const native = $(this.teacherDropdown.nativeElement).first();\r\n if (!native.hasClass('is-open'))\r\n native.foundation('open');\r\n this.ref.detectChanges();\r\n }\r\n\t\t\t});\r\n\r\n\t\tthis.details$ = this.store.pipe(select(fromStore.getEventsDetailsState));\r\n\t\tthis.details$.pipe(\r\n\t\t\ttakeWhile(() => this.alive),\r\n\t\t).subscribe(ds => {\r\n\t\t\tconsole.log('detail$: ', ds);\r\n\r\n\t\t\tif (ds.creating) {\r\n\t\t\t\tthis.submitting = true;\r\n\t\t\t}\r\n\r\n\t\t\tif (this.submitting && !ds.creating) {\r\n\t\t\t\tthis.submitting = false;\r\n\t\t\t\tthis.ref.detectChanges();\r\n\r\n\t\t\t\tif (ds.createdId !== null) {\r\n\t\t\t\t\tthis.resetForm();\r\n\t\t\t\t\tthis.action.emit(true);\r\n\t\t\t\t\tthis.store.dispatch(new fromRoot.Go({ path: [`/events/${ds.createdId}`] }));\r\n\r\n\t\t\t\t\treturn;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t});\r\n }\r\n\r\n ngOnDestroy() {\r\n console.log('EventInfoEditorComponent.ngOnDestroy()...');\r\n this.alive = false;\r\n\r\n if (this.schoolFoundationDropdown != null) {\r\n this.schoolFoundationDropdown.destroy();\r\n }\r\n if (this.teacherFoundationDropdown != null) {\r\n this.teacherFoundationDropdown.destroy();\r\n }\r\n\r\n this.teacherFoundationDropdown = null;\r\n this.schoolFoundationDropdown = null;\r\n\r\n this.hasDoneSchoolLookup = false;\r\n this.hasDoneTeacherLookup = false;\r\n }\r\n\r\n createForm() {\r\n let schoolName = '';\r\n let schoolId = '';\r\n\r\n // If we are creating a new event for the current school\r\n if (this.school != null) {\r\n // Make sure that school is populated by default\r\n schoolName = this.school.longName;\r\n schoolId = this.school.id.toString();\r\n }\r\n\r\n this.editor = new FormGroup({\r\n eventName: new FormControl('', [Validators.required]),\r\n eventType: new FormControl('', [Validators.required]),\r\n eventDate: new FormControl(new Date(), [Validators.required, ValidateCurrentDateOrLater]),\r\n eventQuality: new FormControl('1', [Validators.required]),\r\n rentalMeetingType: new FormControl('', [Validators.required]),\r\n rentalFulfillmentType: new FormControl('', [Validators.required]),\r\n hostSchoolId: new FormControl(schoolId, [Validators.required, validators.NumericValidators.min(1)]),\r\n hostSchoolName: new FormControl(schoolName),\r\n hostTeacherId: new FormControl('', [Validators.required, validators.NumericValidators.min(1)]),\r\n hostTeacherName: new FormControl(''),\r\n });\r\n }\r\n\r\n lookupSchool() {\r\n this.lookupSchoolId = Number(this.editor.value.hostSchoolId);\r\n\r\n //Dispatch an action called EventSchoolSearchById\r\n this.store.dispatch(new fromStore.SchoolLookupById({ panel: fromStore.PanelId.EventHost, schoolId: this.lookupSchoolId }));\r\n }\r\n\r\n lookupSchoolByName($event: any) {\r\n $event.stopPropagation();\r\n $event.preventDefault();\r\n\r\n this.lookupSchoolName = this.editor.value.hostSchoolName;\r\n\r\n if ($event.code == 'Escape' || $event.code == 'Tab') {\r\n const native = $(this.schoolDropdown.nativeElement).first();\r\n if (native.hasClass('is-open'))\r\n native.foundation('close');\r\n } else {\r\n if (this.lookupSchoolName && this.lookupSchoolName.length > 3) {\r\n //Dispatch an action called EventSchoolSearchById\r\n this.store.dispatch(new fromStore.SchoolLookupByName({ panel: fromStore.PanelId.EventHost, name: this.lookupSchoolName }));\r\n\r\n this.hasDoneSchoolLookup = true;\r\n }\r\n }\r\n\r\n }\r\n\r\n selectSchool(school: fromSchoolModels.SchoolLookup) {\r\n if (school) {\r\n this.editor.controls['hostSchoolName'].patchValue(school.longName);\r\n this.editor.controls['hostSchoolId'].patchValue(school.id);\r\n }\r\n }\r\n\r\n lookupTeacher() {\r\n const hostTeacherId = Number(this.editor.value.hostTeacherId);\r\n\r\n //Dispatch an action called EventTeacherSearchById\r\n this.store.dispatch(new fromStore.TeacherLookupById({ panel: fromStore.PanelId.EventHost, teacherId: hostTeacherId }));\r\n }\r\n\r\n lookupTeacherByCriteria($event: any) {\r\n const criteria : TeacherLookupCriteria = {\r\n name: this.editor.value.hostTeacherName,\r\n };\r\n\r\n if (this.school) {\r\n criteria.districtId = this.school.districtId;\r\n if (this.school.physicalAddress && this.school.physicalAddress.zip)\r\n criteria.zip = this.school.physicalAddress.zip.substring(0, 5);\r\n }\r\n\r\n if ($event.code == 'Escape' || $event.code == 'Tab') {\r\n const native = $(this.teacherDropdown.nativeElement).first();\r\n if (native.hasClass('is-open'))\r\n native.foundation('close');\r\n } else {\r\n if (criteria.name && criteria.name.length > 3) {\r\n //Dispatch an action called EventTeacherSearchById\r\n this.store.dispatch(new fromStore.TeacherLookupByCriteria({ panel: fromStore.PanelId.EventHost, criteria }));\r\n\r\n this.hasDoneTeacherLookup = true;\r\n }\r\n }\r\n }\r\n\r\n selectTeacher(teacher: fromSchoolModels.TeacherLookup) {\r\n if (teacher) {\r\n this.editor.controls['hostTeacherName'].patchValue(teacher.name);\r\n this.editor.controls['hostTeacherId'].patchValue(teacher.id);\r\n }\r\n }\r\n\r\n resetForm() {\r\n if (this.schoolFoundationDropdown != null) {\r\n this.schoolFoundationDropdown.destroy();\r\n }\r\n if (this.teacherFoundationDropdown != null) {\r\n this.teacherFoundationDropdown.destroy();\r\n }\r\n\r\n this.teacherFoundationDropdown = null;\r\n this.schoolFoundationDropdown = null;\r\n\r\n let schoolName = '';\r\n let schoolId = '';\r\n\r\n // If we are creating a new event for the current school\r\n if (this.school != null) {\r\n // Make sure that school is populated by default\r\n schoolName = this.school.longName;\r\n schoolId = this.school.id.toString();\r\n }\r\n\r\n this.editor.reset({\r\n eventDate: new Date(),\r\n eventName: '',\r\n eventType: '',\r\n eventQuality: '1',\r\n rentalMeetingType: '',\r\n rentalFulfillmentType: '',\r\n hostSchoolId: schoolId,\r\n hostSchoolName: schoolName,\r\n hostTeacherId: '',\r\n hostTeacherName: '',\r\n });\r\n\r\n this.submitting = false;\r\n this.submitted = false;\r\n }\r\n\r\n selectEventType() {\r\n // Enable or disable validation for these form values based on event type\r\n if (this.editor.get('eventType').value == 1) {\r\n this.editor.controls.eventQuality.enable();\r\n this.editor.controls.rentalMeetingType.enable();\r\n this.editor.controls.rentalFulfillmentType.enable();\r\n }\r\n else {\r\n this.editor.controls.eventQuality.disable();\r\n this.editor.controls.rentalMeetingType.disable();\r\n this.editor.controls.rentalFulfillmentType.disable();\r\n }\r\n }\r\n\r\n\tonModalAction(accept) {\r\n\t\tconsole.log(accept);\r\n\r\n\t\tif (!accept) {\r\n\t\t\tthis.resetForm();\r\n\t\t\tthis.action.emit(accept);\r\n\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n this.submitted = true;\r\n\t\tif (!this.editor.valid) {\r\n\t\t\t// Form is not legit, don't submit!\r\n\t\t\t// Don't emit event to close the modal form\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tconst event: EventCreate = {\r\n\t\t\tname: this.editor.value.eventName,\r\n eventTypeId: this.editor.value.eventType,\r\n eventDate: this.editor.value.eventDate,\r\n eventQuality: this.editor.value.eventQuality,\r\n\t\t\trentalMeetingTypeId: this.editor.value.rentalMeetingType,\r\n\t\t\trentalFulfillmentTypeId: this.editor.value.rentalFulfillmentType,\r\n\t\t\thostSchoolId: this.editor.value.hostSchoolId,\r\n\t\t\thostTeacherId: this.editor.value.hostTeacherId,\r\n\t\t};\r\n\r\n\t\tthis.store.dispatch(new fromStore.CreateEvent({ event }));\r\n\t}\r\n}\r\n","\r\n
\r\n
\r\n \r\n \r\n
\r\n
Required
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n
Required
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
Date must be today or later
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
Required
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
Required
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
Required
\r\n
\r\n
\r\n
\r\n
\r\n\r\n \r\n
\r\n Host School & Teacher\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
A host school is required
\r\n
\r\n
\r\n
\r\n \r\n\r\n
\r\n \r\n \r\n \r\n
    \r\n
  • \r\n \r\n
  • \r\n
\r\n
\r\n\r\n \r\n

\r\n Start typing the name of the school or search for the ID.\r\n

\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
A host teacher is required
\r\n
\r\n
\r\n
\r\n \r\n\r\n
\r\n \r\n \r\n \r\n
    \r\n
  • \r\n \r\n
  • \r\n
\r\n
\r\n \r\n\r\n

\r\n Start typing the name of the teacher or search for the ID.\r\n

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n","import * as fromDistrictDetails from '../actions/details.actions';\r\nimport * as fromCommonModels from '../../../scp-common/models';\r\nimport * as fromDistrictModels from '../../models';\r\nimport * as fromPrefs from '../../../preferences/store/actions';\r\n\r\nexport enum PanelId {\r\n\tInfo = 'info',\r\n\tRelationship = 'relationship',\r\n\tPhysAddr = 'physAddr',\r\n\tMailAddr = 'mailAddr',\r\n\tContacts = 'contacts',\r\n\tCalendar = 'calendar',\r\n\tAddlDetails = 'addl-details',\r\n}\r\n\r\nexport interface ValidationStatus {\r\n\t[id: string]: {\r\n\t\tpending: boolean;\r\n\t\terrors: { [key: string]: any };\r\n\t};\r\n}\r\n\r\nexport interface PanelState {\r\n\tediting: boolean;\r\n\tupdating: boolean;\r\n\tvalidationStatus: ValidationStatus;\r\n\terrors: any;\t//\tTODO: formalize error handling\r\n}\r\n\r\nexport interface ZipLookupState {\r\n\tzip: string;\r\n\tpending: boolean;\r\n\terrors: any;\r\n\tcityState: { city: string, state: string };\r\n}\r\n\r\nexport interface CountyLookupState {\r\n\tpending: boolean;\r\n\tlookupStateCode: string;\r\n\terrors: any;\r\n\tcounties: { [stateCode: string]: string[] };\r\n}\r\n\r\nexport interface AddressPanelState extends PanelState {\r\n\tcountyLookup: CountyLookupState;\r\n\tzipLookup: ZipLookupState;\r\n\tverifying: boolean;\r\n\tverifiedAddress: fromCommonModels.Address;\r\n\tsuggestedAddresses: fromCommonModels.Address[];\r\n}\r\n\r\nexport interface DistrictIdLookupState {\r\n\tpending: boolean;\r\n\terrors: any;\r\n\tdistrict: fromDistrictModels.DistrictLookup;\r\n}\r\n\r\nexport interface DistrictByNameLookupState {\r\n\tname: string;\r\n\tpending: boolean;\r\n\terrors: any;\r\n\tdistricts: fromDistrictModels.DistrictLookup[];\r\n}\r\n\r\nexport interface DistrictLookupsState {\r\n\tidLookups: { [id: number]: DistrictIdLookupState };\r\n\tnameLookup: DistrictByNameLookupState;\r\n}\r\n\r\nexport interface DetailsState {\r\n\tloading: boolean;\r\n\tloaded: boolean;\r\n\tcreating: boolean;\r\n\tcreatedId?: number;\r\n\tdistrict: fromDistrictModels.District;\r\n\terrors: any;\r\n\tpanels: { [id: string]: PanelState };\r\n\tdistrictLookups: DistrictLookupsState;\r\n}\r\n\r\nexport const initialPanelState: PanelState = {\r\n\tediting: false,\r\n\tvalidationStatus: {},\r\n\tupdating: false,\r\n\terrors: null,\r\n};\r\n\r\nexport const initialZipLookupState: ZipLookupState = {\r\n\tzip: '',\r\n\tpending: false,\r\n\tcityState: null,\r\n\terrors: null,\r\n};\r\n\r\nexport const initialCountyLookupState: CountyLookupState = {\r\n\tpending: false,\r\n\tlookupStateCode: null,\r\n\terrors: null,\r\n\tcounties: {},\r\n};\r\n\r\nexport const initialAddressPanelState: AddressPanelState = {\r\n\t...initialPanelState,\r\n\tzipLookup: initialZipLookupState,\r\n\tcountyLookup: initialCountyLookupState,\r\n\tverifying: false,\r\n\tverifiedAddress: null,\r\n\tsuggestedAddresses: null,\r\n};\r\n\r\nexport const initialDistrictIdLookupState: DistrictIdLookupState = {\r\n\tdistrict: null,\r\n\terrors: null,\r\n\tpending: false,\r\n};\r\n\r\nexport const initialDistrictNameLookupState: DistrictByNameLookupState = {\r\n\tname: null,\r\n\tdistricts: null,\r\n\terrors: null,\r\n\tpending: false,\r\n};\r\n\r\nexport const initialDistrictLookupsState: DistrictLookupsState = {\r\n\tidLookups: {},\r\n\tnameLookup: initialDistrictNameLookupState,\r\n};\r\n\r\nexport const initialState: DetailsState = {\r\n\tloading: false,\r\n\tloaded: false,\r\n\tcreating: false,\r\n\tcreatedId: null,\r\n\tdistrict: null,\r\n\terrors: null,\r\n\tpanels: {\r\n\t\t[PanelId.Info]: { ...initialPanelState },\r\n\t\t[PanelId.Relationship]: { ...initialPanelState },\r\n\t\t[PanelId.PhysAddr]: { ...initialAddressPanelState } as PanelState,\r\n\t\t[PanelId.MailAddr]: { ...initialAddressPanelState } as PanelState,\r\n\t\t[PanelId.Contacts]: { ...initialPanelState },\r\n\t\t[PanelId.Calendar]: { ...initialPanelState },\r\n\t\t[PanelId.AddlDetails]: { ...initialPanelState },\r\n\t},\r\n\tdistrictLookups: initialDistrictLookupsState,\r\n};\r\n\r\nexport function reducer(state = initialState, action: fromDistrictDetails.DistrictActions | fromPrefs.PrefsActions): DetailsState {\r\n\tswitch (action.type) {\r\n\t\tcase fromDistrictDetails.DistrictActionTypes.LoadDistrict: {\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tloading: true,\r\n\t\t\t\terrors: null,\r\n\t\t\t};\r\n\t\t}\r\n\r\n\t\tcase fromDistrictDetails.DistrictActionTypes.LoadDistrictSuccess: {\r\n\t\t\tconst district = action.payload;\r\n\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tloaded: true,\r\n\t\t\t\tloading: false,\r\n\t\t\t\terrors: null,\r\n\t\t\t\tdistrict,\r\n\t\t\t};\r\n\t\t}\r\n\r\n\t\tcase fromDistrictDetails.DistrictActionTypes.LoadDistrictFailure: {\r\n\t\t\tconsole.log('reducer:', action);\r\n\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tloaded: false,\r\n\t\t\t\tloading: false,\r\n\t\t\t\terrors: action.payload,\r\n\t\t\t};\r\n }\r\n\r\n case fromPrefs.PrefsActionTypes.CreateOverridePrefsSuccess: {\r\n return {\r\n ...state,\r\n loaded: false,\r\n loading: false,\r\n errors: null\r\n };\r\n }\r\n\r\n case fromPrefs.PrefsActionTypes.CopyPrefsSuccess: {\r\n return {\r\n ...state,\r\n loaded: false,\r\n loading: false,\r\n errors: null\r\n };\r\n }\r\n\r\n case fromPrefs.PrefsActionTypes.DeletePrefsSuccess: {\r\n return {\r\n ...state,\r\n loaded: false,\r\n loading: false,\r\n errors: null\r\n };\r\n }\r\n\r\n\t\tcase fromDistrictDetails.DistrictActionTypes.UpdateEditorState: {\r\n\t\t\tconst key = action.payload.key;\r\n\t\t\tconst editing = action.payload.open;\r\n\r\n\t\t\tif (editing == state.panels[key].editing) {\r\n\t\t\t\treturn state;\r\n\t\t\t}\r\n\r\n\t\t\tconst panel = { ...initialState.panels[key], editing };\t//\tNOTE: initialPanelState will not have any custom panel initialization...\r\n\t\t\tconst panels = {\r\n\t\t\t\t...state.panels,\r\n\t\t\t\t[key]: panel,\r\n\t\t\t};\r\n\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tpanels,\r\n\t\t\t};\r\n\t\t}\r\n\r\n\t\tcase fromDistrictDetails.DistrictActionTypes.LookupDistrictById: {\r\n\t\t\tconst { id } = action.payload;\r\n\t\t\tconst lookupState: DistrictIdLookupState = state.districtLookups.idLookups[id] || initialDistrictIdLookupState;\r\n\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tdistrictLookups: {\r\n\t\t\t\t\t...state.districtLookups,\r\n\t\t\t\t\tidLookups: {\r\n\t\t\t\t\t\t...state.districtLookups.idLookups,\r\n\t\t\t\t\t\t[id]: {\r\n\t\t\t\t\t\t\t...lookupState,\r\n\t\t\t\t\t\t\tpending: true,\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t},\r\n\t\t\t\t},\r\n\t\t\t};\r\n\t\t}\r\n\r\n\t\tcase fromDistrictDetails.DistrictActionTypes.LookupDistrictByIdSuccess: {\r\n\t\t\tconst { id, dl } = action.payload;\r\n\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tdistrictLookups: {\r\n\t\t\t\t\t...state.districtLookups,\r\n\t\t\t\t\tidLookups: {\r\n\t\t\t\t\t\t...state.districtLookups.idLookups,\r\n\t\t\t\t\t\t[id]: {\r\n\t\t\t\t\t\t\tpending: false,\r\n\t\t\t\t\t\t\terrors: null,\r\n\t\t\t\t\t\t\tdistrict: dl,\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t},\r\n\t\t\t\t},\r\n\t\t\t};\r\n\t\t}\r\n\r\n\t\tcase fromDistrictDetails.DistrictActionTypes.LookupDistrictByIdFailure: {\r\n\t\t\tconst { id, error } = action.payload;\r\n\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tdistrictLookups: {\r\n\t\t\t\t\t...state.districtLookups,\r\n\t\t\t\t\tidLookups: {\r\n\t\t\t\t\t\t...state.districtLookups.idLookups,\r\n\t\t\t\t\t\t[id]: {\r\n\t\t\t\t\t\t\tpending: false,\r\n\t\t\t\t\t\t\terrors: error,\r\n\t\t\t\t\t\t\tdistrict: null,\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t},\r\n\t\t\t\t},\r\n\t\t\t};\r\n\t\t}\r\n\r\n\t\tcase fromDistrictDetails.DistrictActionTypes.LookupDistrictByName: {\r\n\t\t\tconst { name } = action.payload;\r\n\t\t\tconst nameLookup: DistrictByNameLookupState = {\r\n\t\t\t\tname,\r\n\t\t\t\tpending: true,\r\n\t\t\t\terrors: null,\r\n\t\t\t\tdistricts: null,\r\n\t\t\t};\r\n\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tdistrictLookups: {\r\n\t\t\t\t\t...state.districtLookups,\r\n\t\t\t\t\tnameLookup,\r\n\t\t\t\t},\r\n\t\t\t};\r\n\t\t}\r\n\r\n\t\tcase fromDistrictDetails.DistrictActionTypes.LookupDistrictByNameFailure: {\r\n\t\t\tconst { error, name } = action.payload;\r\n\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tdistrictLookups: {\r\n\t\t\t\t\t...state.districtLookups,\r\n\t\t\t\t\tnameLookup: {\r\n\t\t\t\t\t\tname,\r\n\t\t\t\t\t\tpending: false,\r\n\t\t\t\t\t\terrors: error,\r\n\t\t\t\t\t\tdistricts: null,\r\n\t\t\t\t\t},\r\n\t\t\t\t},\r\n\t\t\t};\r\n\t\t}\r\n\r\n\t\tcase fromDistrictDetails.DistrictActionTypes.LookupDistrictByNameSuccess: {\r\n\t\t\tconst { name, dls } = action.payload;\r\n\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tdistrictLookups: {\r\n\t\t\t\t\t...state.districtLookups,\r\n\t\t\t\t\tnameLookup: {\r\n\t\t\t\t\t\tname,\r\n\t\t\t\t\t\tpending: false,\r\n\t\t\t\t\t\terrors: null,\r\n\t\t\t\t\t\tdistricts: dls,\r\n\t\t\t\t\t},\r\n\t\t\t\t},\r\n\t\t\t};\r\n\t\t}\r\n\r\n\t\tcase fromDistrictDetails.DistrictActionTypes.UpdateDistrictPanel: {\r\n\t\t\tconst panel = {\r\n\t\t\t\t...state.panels[action.payload.panel],\r\n\t\t\t\tupdating: true,\r\n\t\t\t};\r\n\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tpanels: {\r\n\t\t\t\t\t...state.panels,\r\n\t\t\t\t\t[action.payload.panel]: panel,\r\n\t\t\t\t},\r\n\t\t\t};\r\n\t\t}\r\n\r\n\t\tcase fromDistrictDetails.DistrictActionTypes.UpdateDistrictPanelFailure: {\r\n\t\t\tconst panel = {\r\n\t\t\t\t...state.panels[action.payload.panel],\r\n\t\t\t\tupdating: false,\r\n\t\t\t\terrors: action.payload.errors,\r\n\t\t\t};\r\n\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tpanels: {\r\n\t\t\t\t\t...state.panels,\r\n\t\t\t\t\t[action.payload.panel]: panel,\r\n\t\t\t\t},\r\n\t\t\t};\r\n\t\t}\r\n\r\n\t\tcase fromDistrictDetails.DistrictActionTypes.UpdateDistrictPanelSuccess: {\r\n\t\t\tconst district = action.payload.district;\r\n\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tdistrict,\r\n\t\t\t\tpanels: {\r\n\t\t\t\t\t...state.panels,\r\n\t\t\t\t\t[action.payload.panel]: initialState.panels[action.payload.panel],\r\n\t\t\t\t},\r\n\t\t\t};\r\n\t\t}\r\n\r\n\t\t//\tPrimary Id validation is a special case in that it has dependent validations that must be managed\r\n\t\t//\tBoth can deactivate & district exists validations may be triggered, but must always be cleared\r\n\t\tcase fromDistrictDetails.DistrictActionTypes.ValidateDistrictPrimaryId: {\r\n\t\t\tconst { panel, validator } = action.payload;\r\n\t\t\tconst validationStatus = { ...state.panels[panel].validationStatus, };\r\n\t\t\tconst { canDeactivate, districtExists, primaryId, ...rest } = validationStatus;\r\n\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tpanels: {\r\n\t\t\t\t\t...state.panels,\r\n\t\t\t\t\t[panel]: {\r\n\t\t\t\t\t\t...state.panels[panel],\r\n\t\t\t\t\t\tvalidationStatus: {\r\n\t\t\t\t\t\t\t...rest,\r\n\t\t\t\t\t\t\t[validator]: {\r\n\t\t\t\t\t\t\t\tpending: true,\r\n\t\t\t\t\t\t\t\terrors: null,\r\n\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t},\r\n\t\t\t\t},\r\n\t\t\t};\r\n\t\t}\r\n\r\n\t\tcase fromDistrictDetails.DistrictActionTypes.DistrictPrimaryIdValidated: {\r\n\t\t\tconst { panel, validator } = action.payload;\r\n\t\t\tconst validationStatus = { ...state.panels[panel].validationStatus, };\r\n\t\t\tconst { canDeactivate, districtExists, primaryId, ...rest } = validationStatus;\r\n\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tpanels: {\r\n\t\t\t\t\t...state.panels,\r\n\t\t\t\t\t[panel]: {\r\n\t\t\t\t\t\t...state.panels[panel],\r\n\t\t\t\t\t\tvalidationStatus: {\r\n\t\t\t\t\t\t\t...rest,\r\n\t\t\t\t\t\t\t[validator]: {\r\n\t\t\t\t\t\t\t\tpending: false,\r\n\t\t\t\t\t\t\t\terrors: action.payload.errors,\r\n\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t},\r\n\t\t\t\t},\r\n\t\t\t};\r\n\t\t}\r\n\r\n\t\tcase fromDistrictDetails.DistrictActionTypes.ValidateDistrictIsSupervisory:\r\n\t\tcase fromDistrictDetails.DistrictActionTypes.ValidateDistrictExists:\r\n\t\tcase fromDistrictDetails.DistrictActionTypes.ValidateDistrictCanDeactivate: {\r\n\t\t\tconst { panel, validator } = action.payload;\r\n\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tpanels: {\r\n\t\t\t\t\t...state.panels,\r\n\t\t\t\t\t[panel]: {\r\n\t\t\t\t\t\t...state.panels[panel],\r\n\t\t\t\t\t\tvalidationStatus: {\r\n\t\t\t\t\t\t\t...state.panels[panel].validationStatus,\r\n\t\t\t\t\t\t\t[validator]: {\r\n\t\t\t\t\t\t\t\tpending: true,\r\n\t\t\t\t\t\t\t\terrors: null,\r\n\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t},\r\n\t\t\t\t},\r\n\t\t\t};\r\n\t\t}\r\n\r\n\t\tcase fromDistrictDetails.DistrictActionTypes.DistrictIsSupervisoryValidated:\r\n\t\tcase fromDistrictDetails.DistrictActionTypes.DistrictExistsValidated:\r\n\t\tcase fromDistrictDetails.DistrictActionTypes.DistrictCanDeactivateValidated: {\r\n\t\t\tconst { panel, validator } = action.payload;\r\n\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tpanels: {\r\n\t\t\t\t\t...state.panels,\r\n\t\t\t\t\t[panel]: {\r\n\t\t\t\t\t\t...state.panels[panel],\r\n\t\t\t\t\t\tvalidationStatus: {\r\n\t\t\t\t\t\t\t...state.panels[panel].validationStatus,\r\n\t\t\t\t\t\t\t[validator]: {\r\n\t\t\t\t\t\t\t\tpending: false,\r\n\t\t\t\t\t\t\t\terrors: action.payload.errors,\r\n\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t},\r\n\t\t\t\t},\r\n\t\t\t};\r\n\t\t}\r\n\r\n\t\tcase fromDistrictDetails.DistrictActionTypes.DistrictAddressLookupCityState: {\r\n\t\t\tconst { zip, panel } = action.payload;\r\n\t\t\tconst zipLookup: ZipLookupState = {\r\n\t\t\t\t...(state.panels[panel] as AddressPanelState).zipLookup,\r\n\t\t\t\tzip,\r\n\t\t\t\tpending: true,\r\n\t\t\t\terrors: null,\r\n\t\t\t\tcityState: null,\r\n\t\t\t};\r\n\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tpanels: {\r\n\t\t\t\t\t...state.panels,\r\n\t\t\t\t\t[panel]: {\r\n\t\t\t\t\t\t...state.panels[panel],\r\n\t\t\t\t\t\tzipLookup,\r\n\t\t\t\t\t} as AddressPanelState,\r\n\t\t\t\t},\r\n\t\t\t};\r\n\t\t}\r\n\r\n\t\tcase fromDistrictDetails.DistrictActionTypes.DistrictAddressLookupCityStateFailure: {\r\n\t\t\tconst { errors, panel } = action.payload;\r\n\t\t\tconst zipLookup: ZipLookupState = {\r\n\t\t\t\t...(state.panels[panel] as AddressPanelState).zipLookup,\r\n\t\t\t\tpending: false,\r\n\t\t\t\terrors,\r\n\t\t\t\tcityState: null,\r\n\t\t\t};\r\n\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tpanels: {\r\n\t\t\t\t\t...state.panels,\r\n\t\t\t\t\t[panel]: {\r\n\t\t\t\t\t\t...state.panels[panel],\r\n\t\t\t\t\t\tzipLookup,\r\n\t\t\t\t\t} as AddressPanelState,\r\n\t\t\t\t},\r\n\t\t\t};\r\n\t\t}\r\n\r\n\t\tcase fromDistrictDetails.DistrictActionTypes.DistrictAddressLookupCityStateSuccess: {\r\n\t\t\tconst { panel, cityState } = action.payload;\r\n\t\t\tconst zipLookup: ZipLookupState = {\r\n\t\t\t\t...(state.panels[panel] as AddressPanelState).zipLookup,\r\n\t\t\t\tpending: false,\r\n\t\t\t\tcityState,\r\n\t\t\t};\r\n\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tpanels: {\r\n\t\t\t\t\t...state.panels,\r\n\t\t\t\t\t[panel]: {\r\n\t\t\t\t\t\t...state.panels[panel],\r\n\t\t\t\t\t\tzipLookup,\r\n\t\t\t\t\t} as AddressPanelState,\r\n\t\t\t\t},\r\n\t\t\t};\r\n\t\t}\r\n\r\n\t\tcase fromDistrictDetails.DistrictActionTypes.DistrictVerifyAddress: {\r\n\t\t\tconst { panel, address } = action.payload;\r\n\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tpanels: {\r\n\t\t\t\t\t...state.panels,\r\n\t\t\t\t\t[panel]: {\r\n\t\t\t\t\t\t...state.panels[panel],\r\n\t\t\t\t\t\tverifying: true,\r\n\t\t\t\t\t} as AddressPanelState,\r\n\t\t\t\t},\r\n\t\t\t};\r\n\t\t}\r\n\r\n\t\tcase fromDistrictDetails.DistrictActionTypes.DistrictVerifyAddressSuccess: {\r\n\t\t\tconst { panel, verification } = action.payload;\r\n\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tpanels: {\r\n\t\t\t\t\t...state.panels,\r\n\t\t\t\t\t[panel]: {\r\n\t\t\t\t\t\t...state.panels[panel],\r\n\t\t\t\t\t\tverifying: false,\r\n\t\t\t\t\t\tverifiedAddress: verification.verifiedAddress,\r\n\t\t\t\t\t\tsuggestedAddresses: verification.picklist,\r\n\t\t\t\t\t} as AddressPanelState,\r\n\t\t\t\t},\r\n\t\t\t};\r\n\t\t}\r\n\r\n case fromDistrictDetails.DistrictActionTypes.DistrictVerifyAddressFailure: {\r\n const { panel } = action.payload;\r\n\r\n return {\r\n ...state,\r\n panels: {\r\n ...state.panels,\r\n [panel]: {\r\n ...state.panels[panel],\r\n verifying: false,\r\n verifiedAddress: null,\r\n suggestedAddresses: null,\r\n } as AddressPanelState,\r\n },\r\n };\r\n }\r\n\r\n\t\tcase fromDistrictDetails.DistrictActionTypes.DistrictLoadCounties: {\r\n\t\t\tconst { panel, stateCode } = action.payload;\r\n\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tpanels: {\r\n\t\t\t\t\t...state.panels,\r\n\t\t\t\t\t[panel]: {\r\n\t\t\t\t\t\t...state.panels[panel],\r\n\t\t\t\t\t\tcountyLookup: {\r\n\t\t\t\t\t\t\t...(state.panels[panel] as AddressPanelState).countyLookup,\r\n\t\t\t\t\t\t\tpending: true,\r\n\t\t\t\t\t\t\tlookupStateCode: stateCode,\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t} as AddressPanelState,\r\n\t\t\t\t},\r\n\t\t\t};\r\n\t\t}\r\n\r\n\t\tcase fromDistrictDetails.DistrictActionTypes.DistrictLoadCountiesSuccess: {\r\n\t\t\tconst { panel, counties } = action.payload;\r\n\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tpanels: {\r\n\t\t\t\t\t...state.panels,\r\n\t\t\t\t\t[panel]: {\r\n\t\t\t\t\t\t...state.panels[panel],\r\n\t\t\t\t\t\tcountyLookup: {\r\n\t\t\t\t\t\t\t...(state.panels[panel] as AddressPanelState).countyLookup,\r\n\t\t\t\t\t\t\tpending: false,\r\n\t\t\t\t\t\t\tcounties: {\r\n\t\t\t\t\t\t\t\t...(state.panels[panel] as AddressPanelState).countyLookup.counties,\r\n\t\t\t\t\t\t\t\t[(state.panels[panel] as AddressPanelState).countyLookup.lookupStateCode]: counties,\r\n\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t}as AddressPanelState,\r\n\t\t\t\t},\r\n\t\t\t};\r\n\t\t}\r\n\r\n\t\tcase fromDistrictDetails.DistrictActionTypes.CreateDistrict: {\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tcreating: true,\r\n\t\t\t\tcreatedId: null,\r\n\t\t\t};\r\n\t\t}\r\n\r\n\t\tcase fromDistrictDetails.DistrictActionTypes.CreateDistrictSuccess: {\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tcreating: false,\r\n\t\t\t\tcreatedId: action.payload.id,\r\n\t\t\t};\r\n\t\t}\r\n\r\n\t\tcase fromDistrictDetails.DistrictActionTypes.CreateDistrictFailure: {\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tcreating: false,\r\n\t\t\t\tcreatedId: null,\r\n\t\t\t\terrors: action.payload.errors,\r\n\t\t\t};\r\n\t\t}\r\n\t}\r\n\r\n\treturn state;\r\n}\r\n\r\nexport const getDetailsStateDistrict = (state: DetailsState) => state.district;\r\nexport const getDetailsStateLoading = (state: DetailsState) => state.loading;\r\nexport const getDetailsStateLoaded = (state: DetailsState) => state.loaded;\r\nexport const getDetailsStateErrors = (state: DetailsState) => state.errors;\r\nexport const getDetailsStatePanels = (state: DetailsState) => state.panels;\r\nexport const getDetailsStateContactsPanel = (state: PanelState) => state[PanelId.Contacts];\r\nexport const getDetailsStateZipLookup = (state: AddressPanelState) => state.zipLookup;\r\nexport const getDetailsStateCountyLookup = (state: AddressPanelState) => state.countyLookup;\r\nexport const getDistrictLookupsState = (state: DetailsState) => state.districtLookups;\r\nexport const getDistrictByNameLookupState = (state: DistrictLookupsState) => state.nameLookup;\r\n","import { MerchEffects } from './merch.effects';\r\n\r\nexport const effects: any[] = [MerchEffects];\r\n\r\nexport * from './merch.effects';\r\n","import { Component, OnInit, OnDestroy } from '@angular/core';\r\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\n\r\nimport { Observable } from 'rxjs';\r\nimport { takeWhile, tap } from 'rxjs/operators';\r\n\r\nimport { select, Store } from '@ngrx/store';\r\n\r\nimport { District } from '../models';\r\nimport * as fromStore from '../store';\r\n\r\n@Component({\r\n\tselector: 'opus-district-contacts-editor',\r\n\ttemplateUrl: './district-contacts-editor.component.html',\r\n})\r\nexport class DistrictContactsEditorComponent implements OnInit, OnDestroy {\r\n\talive = true;\r\n\tdistrictDetails$: Observable;\r\n\tpanelState$: Observable;\r\n\tdistrict: District;\r\n\tpanelState: fromStore.PanelState;\r\n\teditor: FormGroup;\r\n\r\n\tconstructor(private store: Store, private fb: FormBuilder) {\r\n\t\tconsole.log('DistrictContactsEditorComponent()...');\r\n\t}\r\n\r\n\tngOnInit() {\r\n\t\tconsole.log('DistrictContactsEditorComponent.ngOnInit()...');\r\n\r\n\t\tthis.districtDetails$ = this.store.pipe(select(fromStore.getDetailsStateDistrict));\r\n\t\tthis.districtDetails$.pipe(\r\n\t\t\ttakeWhile(() => this.alive)\r\n\t\t).subscribe(d => this.district = d);\r\n\r\n\t\tthis.panelState$ = this.store.pipe(select(fromStore.getDetailsStateContactsPanel));\r\n\t\tthis.panelState$.pipe(\r\n\t\t\ttakeWhile(() => this.alive),\r\n\t\t\ttap(s => {\r\n\t\t\t\tif (!s.editing && this.panelState && this.panelState.editing) {\r\n\t\t\t\t\tconsole.log('DistrictContactsEditorComponent.panelState$: clearing form...');\r\n\t\t\t\t\tthis.resetForm();\r\n\t\t\t\t}\r\n\t\t\t}),\r\n\t\t).subscribe(s => this.panelState = s);\r\n\r\n\t\tthis.createForm();\r\n\t}\r\n\r\n\tngOnDestroy() {\r\n\t\tconsole.log('DistrictContactsEditorComponent.ngOnDestroy()...');\r\n\t\tthis.alive = false;\r\n\t}\r\n\r\n\tcreateForm() {\r\n\t\tthis.editor = this.fb.group({\r\n\t\t\tmusicSupervisor: [this.district.musicSupervisor],\r\n\t\t\tofficeContact: [this.district.officeContact],\r\n\t\t\tphone: [this.district.phone, Validators.pattern('^([0-9]{10})?$')],\t//\tTODO: need a better validator for this...\r\n\t\t\tfax: [this.district.fax, Validators.pattern('^([0-9]{10})?$')],\t\t//\tTODO: need a better validator for this...\r\n\t\t\twebsite: [this.district.website],\t\t\t\t\t\t\t\t\t//\tTODO: url validation...\r\n\t\t});\r\n\t}\r\n\r\n\tresetForm() {\r\n\t\tthis.editor.reset({\r\n\t\t\tmusicSupervisor: this.district.musicSupervisor,\r\n\t\t\tofficeContact: this.district.officeContact,\r\n\t\t\tphone: this.district.phone,\r\n\t\t\tfax: this.district.fax,\r\n\t\t\twebsite: this.district.website,\r\n\t\t});\r\n\t}\r\n\r\n\tget canSave(): boolean {\r\n\t\treturn this.editor.valid;\r\n\t}\r\n\r\n\tget saveButtonLabel(): string {\r\n\t\treturn this.panelState.updating ? 'Saving...' : 'Save';\r\n\t}\r\n\r\n\tonSubmit() {\r\n\t\tconst district = { ...this.district };\r\n\t\tObject.keys(this.editor.value).forEach(key => {\r\n\t\t\tdistrict[key] = this.editor.value[key];\r\n\t\t});\r\n\r\n\t\tthis.store.dispatch(new fromStore.UpdateDistrictPanel({ panel: fromStore.PanelId.Contacts, district }));\r\n\t}\r\n}\r\n","
\r\n\t
    \r\n\t\t
  • \r\n\t\t\t\r\n\t\t\t
    \r\n\t\t\t\t\r\n\t\t\t
    \r\n\t\t
  • \r\n\t\t
  • \r\n\t\t\t\r\n\t\t\t
    \r\n\t\t\t\t\r\n\t\t\t
    \r\n\t\t
  • \r\n\t\t
  • \r\n\t\t\t\r\n\t\t\t
    \r\n\t\t\t\t\r\n\t\t\t
    \r\n\t\t
  • \r\n\t\t
  • \r\n\t\t\t\r\n\t\t\t
    \r\n\t\t\t\t\r\n\t\t\t
    \r\n\t\t
  • \r\n\t\t
  • \r\n\t\t\t\r\n\t\t\t
    \r\n\t\t\t\t\r\n\t\t\t
    \r\n\t\t
  • \r\n\t
\r\n\t
\r\n\t\t
\r\n\t\t\t\r\n\t\t
\r\n\t
\r\n
\r\n","import { Injectable } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { Location } from '@angular/common';\r\n\r\nimport { createEffect, Actions, ofType } from '@ngrx/effects';\r\nimport * as RouterActions from '../actions/router.action';\r\n\r\nimport { tap, map, filter, withLatestFrom } from 'rxjs/operators';\r\nimport { Store, select } from '@ngrx/store';\r\nimport { SecurityActionTypes, SetUserData } from '../actions';\r\nimport { getUserAuthInfo } from '../selectors';\r\nimport { CoreState } from '../reducers';\r\nimport { RouterNavigationAction, ROUTER_NAVIGATION } from '@ngrx/router-store';\r\n\r\n@Injectable()\r\nexport class RouterEffects {\r\n\r\n constructor(private actions$: Actions, private router: Router, private location: Location, private store: Store) {\r\n const data = window.sessionStorage.getItem('redirect');\r\n if (!data) window.sessionStorage.setItem('redirect', JSON.stringify(window.location.pathname));\r\n }\r\n\r\n\r\n \r\n navigate$ = createEffect(() => this.actions$.pipe(\r\n ofType(RouterActions.GO),\r\n map((action: RouterActions.Go) => action.payload),\r\n tap(({ path, query: queryParams, extras }) => {\r\n this.router.navigate(path, { queryParams, ...extras });\r\n })\r\n ), { dispatch: false });\r\n\r\n navigateBack$ = createEffect(() => this.actions$.pipe(\r\n ofType(RouterActions.BACK),\r\n tap(() => this.location.back())\r\n ), { dispatch: false });\r\n\r\n navigateForward$ = createEffect(() => this.actions$.pipe(\r\n ofType(RouterActions.FORWARD),\r\n tap(() => this.location.forward())\r\n ), { dispatch: false });\r\n\r\n \r\n setUserData$ = createEffect(() => this.actions$.pipe(\r\n ofType(SecurityActionTypes.SetUserData),\r\n filter(x => !!x.payload),\r\n tap(() => {\r\n const data = window.sessionStorage.getItem('redirect');\r\n const route = data && JSON.parse(data);\r\n\r\n if (!route) return;\r\n\r\n window.sessionStorage.removeItem('redirect');\r\n this.router.navigate([route]);\r\n })\r\n ), { dispatch: false });\r\n\r\n \r\n redirect$ = createEffect(() => this.actions$.pipe(\r\n ofType(ROUTER_NAVIGATION),\r\n filter(x => x.payload.routerState.url === '/'),\r\n withLatestFrom(\r\n this.store.pipe(select(getUserAuthInfo)),\r\n (action, user) => {\r\n\r\n if (!user) return;\r\n\r\n if (user.roleNames.has('Affiliate Users')) return 'credit-check';\r\n\r\n const policy = [\r\n { policyName: 'School.Search', route: 'search/schools' },\r\n { policyName: 'District.Search', route: 'search/districts' },\r\n { policyName: 'Teacher.Search', route: 'search/teachers' },\r\n { policyName: 'Event.Search', route: 'search/events' },\r\n ].find(x => user.policyCodes.has(x.policyName));\r\n\r\n if (policy) return policy.route;\r\n\r\n return 'unauthorized';\r\n }\r\n ),\r\n filter(Boolean),\r\n tap(x => this.router.navigate([x]))\r\n ), { dispatch: false });\r\n}\r\n","import { Component, Input } from '@angular/core';\r\n\r\nimport { ProgramDetails, InactiveReason } from '../../models';\r\nimport { ProgramTypeLookup } from '../../../scp-common/models';\r\n\r\n@Component({\r\n\tselector: 'opus-program-info',\r\n\ttemplateUrl: './program-info.component.html',\r\n})\r\nexport class ProgramInfoComponent {\r\n @Input() program: ProgramDetails;\r\n\r\n get programType() {\r\n return ProgramTypeLookup[this.program.programTypeId].name;\r\n }\r\n\r\n get inactiveReason(): string {\r\n return InactiveReason[this.program.inactiveReason];\r\n }\r\n\r\n get to() {\r\n if (this.program.startTo != null) {\r\n return 'to';\r\n }\r\n\r\n return '';\r\n }\r\n}\r\n","
    \r\n
  • \r\n
    Active
    \r\n
    {{ program.active | yesNo }}
    \r\n
  • \r\n
  • \r\n
    Inactive Reason
    \r\n
    {{ inactiveReason }}
    \r\n
  • \r\n
  • \r\n
    Program ID
    \r\n
    {{ program.id }}
    \r\n
  • \r\n
  • \r\n
    Program Type
    \r\n
    {{ programType }}
    \r\n
  • \r\n
  • \r\n
    Program Start
    \r\n
    {{ program.startFrom | date:'M/d' }} {{ to }} {{ program.startTo | date:'M/d' }}
    \r\n
  • \r\n
  • \r\n
    School ID
    \r\n \r\n
  • \r\n
  • \r\n
    School Name
    \r\n \r\n
  • \r\n
\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({ name: 'filter' })\r\nexport class FilterPipe implements PipeTransform {\r\n\ttransform(items: any[], val: any, predicate: (o: any, val: any) => boolean): any[] {\r\n //console.log('FilterPipe: ', items, val);\r\n\r\n\t\tif (!items) {\r\n\t\t\treturn [];\r\n\t\t}\r\n\r\n\t\tif (!val) {\r\n\t\t\treturn items;\r\n\t\t}\r\n\r\n\t\tif (!predicate) {\r\n\t\t\treturn items;\r\n\t\t}\r\n\r\n\t\treturn items.filter(item => predicate(item, val));\r\n\t}\r\n}\r\n\r\n","import { Injectable } from '@angular/core';\r\nimport { CanActivate, ActivatedRouteSnapshot } from '@angular/router';\r\n\r\nimport { Observable, of } from 'rxjs';\r\nimport { tap, filter, take, switchMap, catchError, map, mergeMap } from 'rxjs/operators';\r\n\r\nimport { select, Store } from '@ngrx/store';\r\n\r\nimport * as fromRoot from '../../../core/store';\r\nimport * as fromStore from '../store';\r\n\r\n\r\n@Injectable()\r\nexport class SchoolDetailsExistsGuard implements CanActivate {\r\n constructor(private _store: Store) {\r\n console.log('SchoolDetailsExistsGuard()...');\r\n }\r\n\r\n private _statusCode = 0;\r\n\r\n canActivate(route: ActivatedRouteSnapshot): Observable {\r\n //\tget the id of the school we need to load from the route\r\n const id = +route.paramMap.get('id');\r\n //\tcheck for a specific redirect route to use if the school isn't found\r\n let redirectTo = !!route.data.redirectTo ? route.data.redirectTo : '/';\r\n\r\n console.log(`SchoolDetailsExistsGuard: canActivate called for school id: ${id}...`);\r\n\r\n //\tthis will attempt to load the school by dispatching the appropriate action then either redirect or allow the activation\r\n return this.checkStore(id).pipe(\r\n switchMap(found => {\r\n if (!found) {\r\n switch (this._statusCode) {\r\n case 401: {\r\n console.log(`SchoolDetailsExistsGuard: unauthorized request.`);\r\n redirectTo = '/401';\r\n break;\r\n }\r\n case 500: {\r\n console.log(`SchoolDetailsExistsGuard: checkStore returned: Unexpected Error.`);\r\n redirectTo = '/500';\r\n break;\r\n }\r\n default: {\r\n console.log(`SchoolDetailsExistsGuard: checkStore returned: Not Found.`);\r\n break;\r\n }\r\n }\r\n }\r\n else\r\n console.log(`SchoolDetailsExistsGuard: checkStore returned: Found.`);\r\n\r\n return this.allowOrRedirect(found, redirectTo);\r\n }),\r\n catchError(err => {\r\n console.log(`SchoolDetailsExistsGuard: activation failed for school ${id}. Error: `, err);\r\n\r\n return this.allowOrRedirect(false, '/500');\r\n }),\r\n );\r\n }\r\n\r\n checkStore(id: number): Observable {\r\n\r\n return this._store.pipe(\r\n select(fromRoot.getUserAuthInfo),\r\n filter(x => !!x),\r\n mergeMap(x => {\r\n if (!x.policyCodes.has('School.ViewDetails')) {\r\n this._statusCode = 401;\r\n return of(false);\r\n }\r\n //\tstart with the school details state...\r\n return this._store.pipe(\r\n select(fromStore.getSchoolDetailsState),\r\n //\tif there aren't school details, or they are for a different school, dispatch an action to load the school\r\n tap(state => {\r\n if (state.errors && !state.errors.includes('404 Not Found'))\r\n this._statusCode = 500;\r\n else if ((state.schoolDetails === null || state.schoolDetails.id != id || !state.loaded) && !state.loading) {\r\n console.log(`SchoolDetailsExistsGuard: Loading school ${id}. Current School Details state: `, state);\r\n this._store.dispatch(new fromStore.LoadSchoolDetails(id));\r\n }\r\n }),\r\n //\twait for it to be in the loaded state for the school in question or for any errors\r\n filter(state => (state.loaded && state.schoolDetails.id == id) || state.errors !== null),\r\n //\tmap it to a boolean observable\r\n map(state => state.loaded),\r\n //\tget the first result & complete\r\n take(1),\r\n );\r\n })\r\n );\r\n\r\n\r\n }\r\n\r\n allowOrRedirect(found: boolean, redirectTo: string): Observable {\r\n if (!found) {\r\n console.log(`Redirecting to '${redirectTo}'...`);\r\n this._store.dispatch(new fromRoot.Go({ path: [redirectTo] }));\r\n }\r\n\r\n return of(found);\r\n }\r\n}\r\n","import { Component, OnInit, OnDestroy } from '@angular/core';\r\nimport { FormBuilder, FormGroup } from '@angular/forms';\r\n\r\nimport { Observable } from 'rxjs';\r\nimport { takeWhile, tap } from 'rxjs/operators';\r\n\r\nimport { select, Store } from '@ngrx/store';\r\n\r\nimport { SchoolDetails } from '../models';\r\nimport * as fromStore from '../store';\r\n\r\n@Component({\r\n\tselector: 'opus-school-calendar-editor',\r\n\ttemplateUrl: './school-calendar-editor.component.html',\r\n})\r\nexport class SchoolCalendarEditorComponent implements OnInit, OnDestroy {\r\n\talive = true;\r\n\tschool$: Observable;\r\n\tpanelState$: Observable;\r\n\tschool: SchoolDetails;\r\n\tpanelState: fromStore.PanelState;\r\n\tpanelId = fromStore.PanelId.Calendar;\r\n\teditor: FormGroup;\r\n\tmonths: string[] = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'];\r\n\tdays: { [id: string]: string[] } = {};\r\n\tschoolStartFrom: Date;\r\n\tschoolStartTo: Date;\r\n\tschoolEndFrom: Date;\r\n\tschoolEndTo: Date;\r\n\r\n\tconstructor(private store: Store, private fb: FormBuilder) {\r\n\t\tconsole.log('SchoolCalendarEditorComponent()...');\r\n\t}\r\n\r\n\tngOnInit() {\r\n\t\tconsole.log('SchoolCalendarEditorComponent.ngOnInit()...');\r\n\r\n\t\tthis.school$ = this.store.pipe(select(fromStore.getSchoolDetailsEntity));\r\n\t\tthis.school$.pipe(\r\n\t\t\ttakeWhile(() => this.alive)\r\n\t\t).subscribe(s => this.school = s);\r\n\r\n\t\tthis.panelState$ = this.store.pipe(select(fromStore.getDetailsStateCalendarPanel));\r\n\t\tthis.panelState$.pipe(\r\n\t\t\ttakeWhile(() => this.alive),\r\n\t\t\ttap(s => {\r\n\t\t\t\tif (!s.editing && this.panelState && this.panelState.editing) {\r\n\t\t\t\t\tconsole.log('SchoolCalendarEditorComponent.panelState$: clearing form...');\r\n\t\t\t\t\tthis.resetForm();\r\n\t\t\t\t}\r\n\t\t\t}),\r\n\t\t).subscribe(s => this.panelState = s);\r\n\r\n\t\tthis.createForm();\r\n\t}\r\n\r\n\tngOnDestroy() {\r\n\t\tconsole.log('SchoolCalendarEditorComponent.ngOnDestroy()...');\r\n\t\tthis.alive = false;\r\n\t}\r\n\r\n\tcreateForm() {\r\n\t\tthis.schoolStartFrom = this.school.schoolStartFrom\r\n\t\t\t? new Date(Date.parse(this.school.schoolStartFrom))\r\n\t\t\t: new Date(9999, 8, 1);\r\n\t\tthis.schoolStartTo = this.school.schoolStartTo\r\n\t\t\t? new Date(Date.parse(this.school.schoolStartTo))\r\n\t\t\t: new Date(9999, 8, 1);\r\n\t\tthis.schoolEndFrom = this.school.schoolEndFrom\r\n\t\t\t? new Date(Date.parse(this.school.schoolEndFrom))\r\n\t\t\t: new Date(9999, 5, 1);\r\n\t\tthis.schoolEndTo = this.school.schoolEndTo\r\n\t\t\t? new Date(Date.parse(this.school.schoolEndTo))\r\n\t\t\t: new Date(9999, 5, 1);\r\n\r\n\t\tthis.editor = this.fb.group({\r\n\t\t\tschoolStartFromMonth: [this.schoolStartFrom.getMonth()],\r\n\t\t\tschoolStartFromDay: [this.schoolStartFrom.getDate()],\r\n\t\t\tschoolStartToMonth: [this.schoolStartTo.getMonth()],\r\n\t\t\tschoolStartToDay: [this.schoolStartTo.getDate()],\r\n\t\t\tschoolEndFromMonth: [this.schoolEndFrom.getMonth()],\r\n\t\t\tschoolEndFromDay: [this.schoolEndFrom.getDate()],\r\n\t\t\tschoolEndToMonth: [this.schoolEndTo.getMonth()],\r\n\t\t\tschoolEndToDay: [this.schoolEndTo.getDate()],\r\n\t\t});\r\n\r\n\t\tthis.initMonthChanges();\r\n\t}\r\n\r\n\tresetForm() {\r\n\t\tthis.editor.reset({\r\n\t\t\tschoolStartFromMonth: this.schoolStartFrom.getMonth(),\r\n\t\t\tschoolStartFromDay: this.schoolStartFrom.getDate(),\r\n\t\t\tschoolStartToMonth: this.schoolStartTo.getMonth(),\r\n\t\t\tschoolStartToDay: this.schoolStartTo.getDate(),\r\n\t\t\tschoolEndFromMonth: this.schoolEndFrom.getMonth(),\r\n\t\t\tschoolEndFromDay: this.schoolEndFrom.getDate(),\r\n\t\t\tschoolEndToMonth: this.schoolEndTo.getMonth(),\r\n\t\t\tschoolEndToDay: this.schoolEndTo.getDate(),\r\n\t\t});\r\n\t}\r\n\r\n\tinitMonthChanges() {\r\n\t\tconst keys: string[] = ['schoolStartFrom', 'schoolStartTo', 'schoolEndFrom', 'schoolEndTo'];\r\n\r\n\t\tfor (const key of keys) {\r\n\t\t\tthis.days[this[key].getMonth()] = this.getDaysInMonth(this[key].getMonth());\r\n\r\n\t\t\tthis.editor.get(key + 'Month').valueChanges.pipe(\r\n\t\t\t\ttakeWhile(() => this.alive),\r\n\t\t\t).subscribe(val => {\r\n\t\t\t\tconsole.log(key + 'Month.valueChanges: ', val);\r\n\r\n\t\t\t\tif (!this.days[val]) {\r\n\t\t\t\t\tthis.days[val] = this.getDaysInMonth(val);\r\n\t\t\t\t}\r\n\r\n\t\t\t\tconst ctrl = this.editor.get(key + 'Day');\r\n\t\t\t\tconst lastDay = this.days[val][this.days[val].length - 1];\r\n\r\n\t\t\t\tif (+ctrl.value > +lastDay) {\r\n\t\t\t\t\tctrl.setValue(lastDay, { emitEvent: false });\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t}\r\n\t}\r\n\r\n\tgetDaysInMonth(month) {\r\n\t\tconst days: string[] = [];\r\n\r\n\t\tfor (let i = 1; i <= new Date(9999, +month + 1, 0).getDate(); i++) {\r\n\t\t\tdays.push(i.toString());\r\n\t\t}\r\n\r\n\t\treturn days;\r\n\t}\r\n\r\n\tget canSave(): boolean {\r\n\t\treturn this.editor.valid && this.editor.dirty && !this.panelState.updating;\r\n\t}\r\n\r\n\tget saveButtonLabel(): string {\r\n\t\treturn this.panelState.updating ? 'Saving...' : 'Save';\r\n\t}\r\n\r\n\tonSubmit() {\r\n\t\tconsole.log('onSubmit: ', this.editor.status);\r\n\r\n\t\tconst schoolStartFrom = `${+this.editor.value.schoolStartFromMonth + 1}/${this.editor.value.schoolStartFromDay}/9999`;\r\n\t\tconst schoolStartTo = `${+this.editor.value.schoolStartToMonth + 1}/${this.editor.value.schoolStartToDay}/9999`;\r\n\t\tconst schoolEndFrom = `${+this.editor.value.schoolEndFromMonth + 1}/${this.editor.value.schoolEndFromDay}/9999`;\r\n\t\tconst schoolEndTo = `${+this.editor.value.schoolEndToMonth + 1}/${this.editor.value.schoolEndToDay}/9999`;\r\n\r\n\t\tconst school = {\r\n\t\t\t...this.school,\r\n\t\t\tschoolStartFrom,\r\n\t\t\tschoolStartTo,\r\n\t\t\tschoolEndFrom,\r\n\t\t\tschoolEndTo,\r\n\t\t};\r\n\r\n\t\tthis.store.dispatch(new fromStore.UpdateSchoolPanel({ panel: fromStore.PanelId.Calendar, school }));\r\n\t}\r\n}\r\n","
\r\n\t
\r\n\t
    \r\n\t\t
  • \r\n\t\t\t
    School Start
    \r\n\t\t\t
    \r\n\t\t\t\t
    \r\n\t\t\t\t\t
    \r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t
    \r\n\t\t\t\t\t
    through
    \r\n\t\t\t\t\t
    \r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t
    \r\n\t\t\t\t
    \r\n\t\t\t
    \r\n\t\t
  • \r\n\t\t
  • \r\n\t\t\t
    School End
    \r\n\t\t\t
    \r\n\t\t\t\t
    \r\n\t\t\t\t\t
    \r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t
    \r\n\t\t\t\t\t
    through
    \r\n\t\t\t\t\t
    \r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t
    \r\n\t\t\t\t
    \r\n\t\t\t
    \r\n\t\t
  • \r\n\t
\r\n\t
\r\n\t\t
\r\n\t\t\t\r\n\t\t
\r\n\t
\r\n
\r\n","import { Injectable } from '@angular/core';\r\n\r\nimport { tap, switchMap, map, catchError, withLatestFrom } from 'rxjs/operators';\r\nimport { of } from 'rxjs';\r\n\r\nimport { select, Store } from '@ngrx/store';\r\nimport { Actions, createEffect, ofType } from '@ngrx/effects';\r\n\r\nimport { State } from '../../../../core/store';\r\nimport * as scpActions from '../actions';\r\nimport * as fromServices from '../../services';\r\nimport * as fromSelectors from '../selectors';\r\nimport { LocationManager } from '../../models';\r\nimport { LocationsState } from '..';\r\n\r\n@Injectable()\r\nexport class LocationsEffects {\r\n constructor(\r\n private actions$: Actions,\r\n private store: Store,\r\n private locationService: fromServices.LocationService,\r\n ) { }\r\n\r\n \r\n getLocationManager$ = createEffect(() => this.actions$.pipe(\r\n ofType(scpActions.ScpActionTypes.GetLocation),\r\n tap(a => console.log('Entering getLocationManager$ Effect: ', a)),\r\n withLatestFrom(this.store.pipe(select(fromSelectors.getLocationsState))),\r\n map(([action, locations]: [scpActions.GetLocation, LocationsState]) => {\r\n const { code } = action.payload;\r\n const manager = locations.locationManagers[code] ? locations.locationManagers[code].manager : null;\r\n\r\n return { code, manager };\r\n }),\r\n switchMap(({ code, manager }: { code: number, manager: LocationManager }) => {\r\n if (manager !== null) {\r\n console.log(`getLocationManager$: location manager with code ${code} already loaded.`);\r\n\r\n return of(new scpActions.GetLocationSuccess({ code, manager }));\r\n }\r\n\r\n console.log(`getLocationManager$: Calling service to get manager for location ${code}...`);\r\n\r\n return this.locationService.getLocationManager(code).pipe(\r\n tap(res => console.log(`locationService.getLocationManager( ${code} ) returned: `, res)),\r\n map((manager: LocationManager) => {\r\n if (manager) {\r\n return new scpActions.GetLocationSuccess({ code, manager });\r\n }\r\n\r\n return new scpActions.GetLocationFailure({ code, error: `There is no Location with an ID of '${code}'.` });\r\n }),\r\n catchError(err => {\r\n const error = `Unable to retrieve the Location with ID: ${code}: ${err.message}.`;\r\n\r\n return of(new scpActions.GetLocationFailure({ code, error }));\r\n }),\r\n );\r\n }),\r\n tap(a => console.log('Exiting getLocationManager$ Effect: ', a)),\r\n ));\r\n\r\n \r\n managerLookupByName$ = createEffect(() => this.actions$.pipe(\r\n ofType(scpActions.ScpActionTypes.GetManagersByName),\r\n switchMap((action: scpActions.GetManagersByName) => {\r\n console.log('Load Manager Lookup By ID Effect');\r\n\r\n return this.locationService.lookupManagerByName(action.payload.name).pipe(\r\n tap(d => {\r\n console.log('managerLookupById$ returned:', d);\r\n }),\r\n map(managerResult => {\r\n if (managerResult === null) {\r\n return new scpActions.GetManagersByNameFailure({ errors: 'Manager Not Found' });\r\n }\r\n\r\n return new scpActions.GetManagersByNameSuccess({ managers: managerResult });\r\n }),\r\n catchError(error => of(new scpActions.GetManagersByNameFailure(error)))\r\n );\r\n })\r\n ));\r\n}\r\n","import { ActionReducerMap, createFeatureSelector } from '@ngrx/store';\r\n\r\nimport * as fromDetails from './details.reducer';\r\nimport * as fromSearchResults from './searchresults.reducer';\r\n\r\nexport interface EventsState {\r\n details: fromDetails.DetailsState;\r\n search: fromSearchResults.SearchResultsState;\r\n}\r\n\r\nexport const reducers: ActionReducerMap = {\r\n details: fromDetails.reducer,\r\n search: fromSearchResults.reducer\r\n};\r\n\r\nexport const getEventsState = createFeatureSelector('events');\r\n\r\nexport { DetailsState, PanelState, PanelId, ValidationStatus, SchoolLookupState, SchoolByNameLookupState, TeacherLookupState, TeacherByCriteriaLookupState as TeacherByCriteriaLookupState, AddressPanelState, CopyEventState, RelationshipManagerState } from './details.reducer';\r\nexport { SearchResultsState, initialState } from './searchresults.reducer';\r\n","import * as fromProgramCreate from '../actions/program-create.actions';\r\nimport * as fromProgramDetails from '../actions/program-details.action';\r\nimport * as fromSchoolModels from '../../../schools/models';\r\nimport { ProgramDetails } from '../../models';\r\nimport { TeacherLookupCriteria } from '../../../teachers/models';\r\n\r\nexport enum PanelId {\r\n Info = 'info',\r\n AdditionalDetails = 'additionalDetails',\r\n RelationshipManager = 'relationshipManager',\r\n ProgramTeachers = 'programTeachers'\r\n}\r\n\r\nexport interface ValidationStatus {\r\n [id: string]: {\r\n pending: boolean;\r\n errors: { [key: string]: any };\r\n };\r\n}\r\n\r\nexport interface PanelState {\r\n editing: boolean;\r\n updating: boolean;\r\n validationStatus: ValidationStatus;\r\n errors: any;\t//\tTODO: formalize error handling\r\n}\r\n\r\nexport interface ProgramDetailsState {\r\n programDetails: ProgramDetails;\r\n loaded: boolean;\r\n loading: boolean;\r\n errors: any;\r\n teacherLookup: TeacherLookupState;\r\n teacherByCriteriaLookup: TeacherByCriteriaLookupState;\r\n panels: { [id: string]: PanelState };\r\n}\r\n\r\nexport const initialPanelState: PanelState = {\r\n editing: false,\r\n validationStatus: {},\r\n updating: false,\r\n errors: null,\r\n};\r\n\r\nexport interface TeacherLookupState {\r\n teacherId: number;\r\n pending: boolean;\r\n errors: any;\r\n teacher: fromSchoolModels.TeacherLookup;\r\n}\r\n\r\nexport interface TeacherByCriteriaLookupState {\r\n criteria: TeacherLookupCriteria;\r\n pending: boolean;\r\n errors: any;\r\n teachers: fromSchoolModels.TeacherLookup[];\r\n}\r\n\r\nexport const initialTeacherLookupState: TeacherLookupState = {\r\n teacherId: null,\r\n pending: false,\r\n teacher: null,\r\n errors: null,\r\n};\r\n\r\nexport const initialTeacherByCriteriaLookupState: TeacherByCriteriaLookupState = {\r\n criteria: { name: null },\r\n pending: false,\r\n errors: null,\r\n teachers: null\r\n};\r\n\r\nexport const initialState: ProgramDetailsState = {\r\n programDetails: null,\r\n loaded: false,\r\n loading: false,\r\n errors: null,\r\n teacherLookup: initialTeacherLookupState,\r\n teacherByCriteriaLookup: initialTeacherByCriteriaLookupState,\r\n panels: {\r\n [PanelId.Info]: { ...initialPanelState },\r\n [PanelId.AdditionalDetails]: { ...initialPanelState },\r\n [PanelId.RelationshipManager]: { ...initialPanelState },\r\n [PanelId.ProgramTeachers]: { ...initialPanelState },\r\n }\r\n};\r\n\r\nexport function reducer(state = initialState, action: fromProgramDetails.ProgramDetailsActions | fromProgramCreate.ProgramCreateActions): ProgramDetailsState {\r\n switch (action.type) {\r\n case fromProgramCreate.ProgramCreateActionTypes.CreateProgramSuccess: {\r\n const programCreate = action.payload;\r\n\r\n if (!state.programDetails || state.programDetails.id !== programCreate.id) {\r\n return {\r\n ...state\r\n }\r\n }\r\n\r\n return {\r\n ...state,\r\n loaded: false\r\n };\r\n }\r\n\r\n case fromProgramDetails.ProgramDetailsActionTypes.LoadProgramDetails: {\r\n return {\r\n ...state,\r\n loading: true,\r\n errors: null,\r\n };\r\n }\r\n\r\n case fromProgramDetails.ProgramDetailsActionTypes.LoadProgramDetailsComplete: {\r\n const programDetails = action.payload;\r\n\r\n return {\r\n ...state,\r\n loaded: true,\r\n loading: false,\r\n errors: null,\r\n programDetails,\r\n };\r\n }\r\n\r\n case fromProgramDetails.ProgramDetailsActionTypes.LoadProgramDetailsFailure: {\r\n return {\r\n ...state,\r\n loaded: false,\r\n loading: false,\r\n errors: action.payload,\r\n };\r\n }\r\n\r\n case fromProgramDetails.ProgramDetailsActionTypes.UpdateEditorState: {\r\n const key = action.payload.key;\r\n const editing = action.payload.open;\r\n\r\n if (editing == state.panels[key].editing) {\r\n return state;\r\n }\r\n\r\n const panel = { ...initialState.panels[key], editing };\t//\tNOTE: initialPanelState will not have any custom panel initialization...\r\n const panels = {\r\n ...state.panels,\r\n [key]: panel,\r\n };\r\n\r\n return {\r\n ...state,\r\n panels,\r\n };\r\n }\r\n\r\n case fromProgramDetails.ProgramDetailsActionTypes.UpdateProgramPanel: {\r\n const panel = {\r\n ...state.panels[action.payload.panel],\r\n updating: true,\r\n };\r\n\r\n return {\r\n ...state,\r\n panels: {\r\n ...state.panels,\r\n [action.payload.panel]: panel,\r\n },\r\n };\r\n }\r\n\r\n case fromProgramDetails.ProgramDetailsActionTypes.UpdateProgramPanelFailure: {\r\n const panel = {\r\n ...state.panels[action.payload.panel],\r\n updating: false,\r\n errors: action.payload.errors,\r\n };\r\n\r\n return {\r\n ...state,\r\n panels: {\r\n ...state.panels,\r\n [action.payload.panel]: panel,\r\n },\r\n };\r\n }\r\n\r\n case fromProgramDetails.ProgramDetailsActionTypes.UpdateProgramPanelSuccess: {\r\n const programDetails = action.payload.program;\r\n\r\n return {\r\n ...state,\r\n programDetails,\r\n panels: {\r\n ...state.panels,\r\n [action.payload.panel]: initialState.panels[action.payload.panel],\r\n },\r\n };\r\n }\r\n\r\n //Teacher\r\n case fromProgramDetails.ProgramDetailsActionTypes.TeacherLookupById: {\r\n const { teacherId, panel } = action.payload;\r\n const teacherLookup: TeacherLookupState = {\r\n ...state.teacherLookup,\r\n teacherId,\r\n pending: true,\r\n errors: null,\r\n teacher: null,\r\n };\r\n\r\n return {\r\n ...state,\r\n teacherLookup\r\n };\r\n }\r\n\r\n case fromProgramDetails.ProgramDetailsActionTypes.TeacherLookupByIdFailure: {\r\n const { errors, panel } = action.payload;\r\n const teacherLookup: TeacherLookupState = {\r\n ...state.teacherLookup,\r\n pending: false,\r\n errors,\r\n teacher: null,\r\n };\r\n\r\n return {\r\n ...state,\r\n teacherLookup\r\n };\r\n }\r\n\r\n case fromProgramDetails.ProgramDetailsActionTypes.TeacherLookupByIdSuccess: {\r\n const { panel, teacher } = action.payload;\r\n const teacherLookup: TeacherLookupState = {\r\n ...state.teacherLookup,\r\n pending: false,\r\n teacher,\r\n };\r\n\r\n return {\r\n ...state,\r\n teacherLookup\r\n };\r\n }\r\n\r\n case fromProgramDetails.ProgramDetailsActionTypes.TeacherLookupByCriteria: {\r\n const { criteria } = action.payload;\r\n const teacherByCriteriaLookup: TeacherByCriteriaLookupState = {\r\n criteria,\r\n pending: true,\r\n errors: null,\r\n teachers: null,\r\n };\r\n\r\n return {\r\n ...state,\r\n teacherByCriteriaLookup: teacherByCriteriaLookup,\r\n };\r\n }\r\n\r\n case fromProgramDetails.ProgramDetailsActionTypes.TeacherLookupByCriteriaFailure: {\r\n const { errors, panel } = action.payload;\r\n const teacherByCriteriaLookup: TeacherByCriteriaLookupState = {\r\n ...state.teacherByCriteriaLookup,\r\n pending: false,\r\n errors,\r\n teachers: null,\r\n };\r\n\r\n return {\r\n ...state,\r\n teacherByCriteriaLookup: teacherByCriteriaLookup,\r\n };\r\n }\r\n\r\n case fromProgramDetails.ProgramDetailsActionTypes.TeacherLookupByCriteriaSuccess: {\r\n const { panel, teachers } = action.payload;\r\n const teacherByCriteriaLookup: TeacherByCriteriaLookupState = {\r\n ...state.teacherByCriteriaLookup,\r\n pending: false,\r\n teachers,\r\n };\r\n\r\n return {\r\n ...state,\r\n teacherByCriteriaLookup: teacherByCriteriaLookup,\r\n };\r\n }\r\n }\r\n\r\n return state;\r\n}\r\n\r\nexport const getProgramDetailsEntity = (state: ProgramDetailsState) => state.programDetails;\r\nexport const getProgramDetailsSchool = (state: ProgramDetails) => state.school;\r\nexport const getProgramDetailsLoading = (state: ProgramDetailsState) => state.loading;\r\nexport const getProgramDetailsLoaded = (state: ProgramDetailsState) => state.loaded;\r\nexport const getDetailsStatePanels = (state: ProgramDetailsState) => state.panels;\r\nexport const getDetailsStateTeacherLookup = (state: ProgramDetailsState) => state.teacherLookup;\r\nexport const getDetailsStateTeacherByCriteriaLookup = (state: ProgramDetailsState) => state.teacherByCriteriaLookup;\r\n","import * as fromComponents from './components';\r\nimport * as fromContainers from './containers';\r\nimport * as fromGuards from './guards';\r\nimport { reducers, effects } from './store';\r\nimport * as fromServices from './services';\r\n\r\nexport * from './components';\r\nexport * from './containers';\r\nexport * from './store';\r\nexport * from './guards';\r\nexport * from './services';\r\n","import { Component, OnInit, OnDestroy, ElementRef, AfterViewInit, ViewChild, ChangeDetectorRef } from '@angular/core';\r\nimport { FormBuilder, FormControl, FormGroup } from '@angular/forms';\r\n\r\nimport { Observable } from 'rxjs';\r\nimport { takeWhile, tap } from 'rxjs/operators';\r\n\r\nimport { select, Store } from '@ngrx/store';\r\nimport * as fromSchoolModels from '../../schools/models';\r\n\r\nimport { Event, EventSchool } from '../models';\r\nimport * as fromStore from '../store';\r\nimport * as fromRoot from '../../../core/store';\r\nimport { MessageType } from '../../../core/models';\r\n\r\ndeclare var $: any;\r\ndeclare var Foundation: any;\r\n\r\n@Component({\r\n selector: 'event-schools-attending-editor',\r\n templateUrl: './event-schools-attending-editor.component.html',\r\n})\r\nexport class EventSchoolsAttendingEditorComponent implements OnInit, OnDestroy, AfterViewInit {\r\n @ViewChild('attendingSchoolDropdown', {static: true})\r\n schoolDropdown: ElementRef;\r\n\r\n alive = true;\r\n event$: Observable;\r\n event: Event;\r\n editEvent: Event;\r\n schoolFoundationDropdown: any;\r\n panelState$: Observable;\r\n panelState: fromStore.PanelState;\r\n\r\n lookupSchoolId: number;\r\n lookupSchoolName: string;\r\n schoolLookup$: Observable;\r\n schoolLookup: fromStore.SchoolLookupState;\r\n eventSchools: EventSchool[];\r\n selectedSchool: fromSchoolModels.SchoolLookup = null;\r\n\r\n schoolByNameLookup$: Observable;\r\n schoolByNameLookup: fromStore.SchoolByNameLookupState;\r\n\r\n editor: FormGroup;\r\n\r\n constructor(private store: Store, private fb: FormBuilder, private ref: ChangeDetectorRef) {\r\n console.log('EventInfoEditorComponent()...');\r\n }\r\n\r\n ngOnInit() {\r\n console.log('EventInfoEditorComponent.ngOnInit()...');\r\n\r\n this.editEvent = null;\r\n\r\n this.event$ = this.store.pipe(select(fromStore.getDetailsStateEvent));\r\n this.event$.pipe(\r\n takeWhile(() => this.alive)\r\n ).subscribe(d => {\r\n this.event = d;\r\n this.editEvent = d;\r\n });\r\n\r\n this.panelState$ = this.store.pipe(select(fromStore.getDetailsStateEventSchoolsAttendingPanel));\r\n this.panelState$.pipe(\r\n takeWhile(() => this.alive),\r\n tap(s => {\r\n if (!s.editing && this.panelState && this.panelState.editing) {\r\n this.resetForm();\r\n }\r\n }),\r\n ).subscribe(s => this.panelState = s);\r\n\r\n this.createForm();\r\n\r\n this.schoolLookup$ = this.store.pipe(select(fromStore.getDetailsStateSchoolLookup));\r\n this.schoolLookup$.pipe(\r\n takeWhile(() => this.alive)\r\n ).subscribe(schoolLookup => {\r\n this.schoolLookup = schoolLookup;\r\n if (schoolLookup && schoolLookup.school && schoolLookup.schoolId == this.lookupSchoolId) {\r\n this.addAttendingSchool({\r\n id: null,\r\n schoolId: schoolLookup.school.id,\r\n schoolName: schoolLookup.school.longName\r\n });\r\n this.ref.detectChanges();\r\n }\r\n });\r\n\r\n this.schoolByNameLookup$ = this.store.pipe(select(fromStore.getDetailsStateSchoolByNameLookup));\r\n this.schoolByNameLookup$.pipe(\r\n takeWhile(() => this.alive)\r\n ).subscribe(schoolByNameLookup => {\r\n this.schoolByNameLookup = schoolByNameLookup;\r\n\r\n if (schoolByNameLookup && schoolByNameLookup.schools && schoolByNameLookup.name == this.lookupSchoolName) {\r\n //Trigger the drop down\r\n if (!this.schoolFoundationDropdown) {\r\n this.schoolFoundationDropdown = new Foundation.Dropdown($(this.schoolDropdown.nativeElement).first());\r\n }\r\n\r\n const native = $(this.schoolDropdown.nativeElement).first();\r\n if (!native.hasClass('is-open'))\r\n native.foundation('open');\r\n this.ref.detectChanges();\r\n }\r\n });\r\n }\r\n\r\n ngAfterViewInit() {\r\n //console.log(this.schoolDropdown.nativeElement);\r\n }\r\n\r\n ngOnDestroy() {\r\n //console.log('EventInfoEditorComponent.ngOnDestroy()...');\r\n this.schoolLookup$ = null;\r\n this.schoolLookup = null;\r\n this.alive = false;\r\n }\r\n\r\n createForm() {\r\n this.editor = new FormGroup({\r\n schoolId: new FormControl(''),\r\n schoolName: new FormControl(''),\r\n });\r\n\r\n }\r\n\r\n lookupSchool() {\r\n this.lookupSchoolId = Number(this.editor.value.schoolId);\r\n\r\n //Dispatch an action called EventSchoolSearchById\r\n this.store.dispatch(new fromStore.SchoolLookupById({ panel: fromStore.PanelId.EventSchoolsAttending, schoolId: this.lookupSchoolId }));\r\n }\r\n\r\n lookupSchoolByName($event: any) {\r\n this.lookupSchoolName = this.editor.value.schoolName;\r\n\r\n if ($event.code == 'Escape' || $event.code == 'Tab') {\r\n const native = $(this.schoolDropdown.nativeElement).first();\r\n if (native.hasClass('is-open'))\r\n native.foundation('close');\r\n } else {\r\n if (this.lookupSchoolName && this.lookupSchoolName.length > 3) {\r\n //Dispatch an action called EventSchoolSearchById\r\n this.store.dispatch(new fromStore.SchoolLookupByName({ panel: fromStore.PanelId.EventHost, name: this.lookupSchoolName }));\r\n }\r\n }\r\n }\r\n\r\n addAttendingSchool(school: EventSchool) {\r\n if (this.editEvent.eventSchools.filter(s => s.schoolId == school.schoolId).length > 0 || this.editEvent.hostingSchoolId == school.schoolId) {\r\n this.store.dispatch(new fromRoot.DisplayMessage({\r\n message: 'School is already added',\r\n messageType: MessageType.alert,\r\n toast: true\r\n }));\r\n } else {\r\n this.editEvent = {\r\n ...this.editEvent,\r\n eventSchools: [\r\n ...this.editEvent.eventSchools,\r\n school\r\n ]\r\n };\r\n this.editor.controls['schoolId'].setValue('');\r\n }\r\n }\r\n\r\n addSchool() {\r\n if (this.selectedSchool) {\r\n this.addAttendingSchool({\r\n id: null,\r\n schoolId: this.selectedSchool.id,\r\n schoolName: this.selectedSchool.longName\r\n });\r\n this.selectedSchool = null;\r\n this.editor.controls['schoolName'].setValue('');\r\n this.ref.detectChanges();\r\n }\r\n }\r\n\r\n selectSchool(school: fromSchoolModels.SchoolLookup) {\r\n if (school) {\r\n this.selectedSchool = school;\r\n this.editor.controls['schoolName'].setValue(school.longName);\r\n }\r\n }\r\n\r\n remove(school) {\r\n if (school) {\r\n const eventSchools = this.editEvent.eventSchools.filter(s => s != school);\r\n this.editEvent = {\r\n ...this.editEvent,\r\n eventSchools: eventSchools\r\n };\r\n this.ref.detectChanges();\r\n }\r\n }\r\n\r\n resetForm() {\r\n\r\n }\r\n\r\n onSubmit() {\r\n const event = {\r\n ...this.event,\r\n eventSchools: [\r\n ...this.editEvent.eventSchools\r\n ]\r\n };\r\n\r\n this.store.dispatch(new fromStore.UpdateEventPanel({ panel: fromStore.PanelId.EventSchoolsAttending, event }));\r\n }\r\n\r\n}\r\n","
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n or\r\n
\r\n
\r\n \r\n
    \r\n
  • \r\n \r\n
  • \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n

\r\n Start typing the name of the school or search for the ID.\r\n

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n \r\n
","import { Component, OnInit } from '@angular/core';\r\n\r\nimport { Observable } from 'rxjs';\r\n\r\nimport { select, Store } from '@ngrx/store';\r\n\r\nimport * as fromStore from '../store';\r\nimport { ProgramDetails } from '../models';\r\nimport { ProgramType } from '../../scp-common/models';\r\n\r\n@Component({\r\n\tselector: 'opus-program-page',\r\n\ttemplateUrl: './program-details.component.html',\r\n})\r\nexport class ProgramDetailsComponent implements OnInit {\r\n\tprogramDetails$: Observable;\r\n\tpanels$: Observable<{ [id: string]: fromStore.PanelState }>;\r\n\r\n\tconstructor(private store: Store) { }\r\n\r\n\tngOnInit() {\r\n\t\tthis.programDetails$ = this.store.pipe(select(fromStore.getProgramDetailsEntity));\r\n\t\tthis.panels$ = this.store.pipe(select(fromStore.getDetailsStatePanels));\r\n\t}\r\n\r\n\tonToggleEditor(key: string, open: boolean) {\r\n\t\tthis.store.dispatch(new fromStore.UpdateEditorState({ key, open }));\r\n\t}\r\n\r\n\tgetProgramType(id: number): string {\r\n\t\treturn ProgramType[id];\r\n\t}\r\n}\r\n","
\r\n \r\n
\r\n
\r\n \r\n
\r\n\r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n","import { Component, Input } from '@angular/core';\r\n\r\nimport { TeacherDetails } from '../../models';\r\nimport { SchoolType } from '../../../schools/models';\r\n\r\n@Component({\r\n\tselector: 'opus-teacher-contact',\r\n\ttemplateUrl: './teacher-contact.component.html',\r\n})\r\nexport class TeacherContactComponent {\r\n\t@Input() teacher: TeacherDetails;\r\n\r\n get phone() {\r\n return this.teacher.phone;\r\n }\r\n\r\n get fax() {\r\n return this.teacher.fax;\r\n }\r\n\r\n get email() {\r\n return this.teacher.email;\r\n }\r\n}\r\n","
    \r\n
  • \r\n
    Phone
    \r\n
    {{ phone }}
    \r\n
  • \r\n
  • \r\n
    Fax
    \r\n
    {{ fax }}
    \r\n
  • \r\n
  • \r\n
    Email Address
    \r\n \r\n
  • \r\n
","import { NgModule, APP_INITIALIZER, ModuleWithProviders } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { RouterModule } from '@angular/router';\r\nimport { ReactiveFormsModule } from '@angular/forms';\r\n\r\nimport { select, Store } from '@ngrx/store';\r\nimport { StoreModule } from '@ngrx/store';\r\nimport { EffectsModule } from '@ngrx/effects';\r\n\r\nimport { ValuesPipe } from './pipes/values.pipe';\r\nimport { FilterPipe } from './pipes/filter.pipe';\r\nimport * as fromContainers from './containers';\r\nimport * as fromGuards from './guards';\r\nimport * as fromComponents from './components';\r\nimport * as fromDirectives from './directives';\r\nimport * as fromServices from './services';\r\nimport * as fromValidators from './validators';\r\nimport { coreReducers, coreEffects, CoreState, LoadConfiguration } from './store';\r\n\r\n@NgModule({\r\n\timports: [\r\n\t\tCommonModule,\r\n\t\tRouterModule,\r\n ReactiveFormsModule,\r\n StoreModule.forFeature('core', coreReducers),\r\n EffectsModule.forFeature(coreEffects),\r\n ],\r\n declarations: [...fromContainers.containers, ...fromComponents.components, ValuesPipe, FilterPipe, ...fromDirectives.Directives],\r\n exports: [...fromContainers.containers, ...fromComponents.components, ValuesPipe, FilterPipe, ...fromDirectives.Directives],\r\n providers: [...fromValidators.validators,\r\n ...fromGuards.guards,\r\n ]\r\n})\r\nexport class CoreModule {\r\n static forRoot(): ModuleWithProviders {\r\n return {\r\n ngModule: CoreModule,\r\n providers: [fromServices.services, {\r\n provide: APP_INITIALIZER,\r\n useFactory: (store: Store) => {\r\n return () => {\r\n store.dispatch(new LoadConfiguration(null));\r\n }\r\n },\r\n deps: [Store],\r\n multi: true\r\n }]\r\n };\r\n}\r\n}\r\n","import * as fromSecurityAction from '../actions/security.actions';\r\nimport * as fromModels from '../../models';\r\n\r\n//interface PolicyResult {\r\n// permissionName: string;\r\n// authorized: boolean;\r\n//}\r\n\r\n\r\nexport interface SecurityState {\r\n userData: any;\r\n loading: boolean;\r\n loaded: boolean;\r\n rolePolicies: fromModels.RolePolicy[];\r\n message: fromModels.Message;\r\n errors: any;\t//\tTODO: formalize error handling\r\n}\r\n\r\nexport const initialState: SecurityState = {\r\n userData: null,\r\n message: null,\r\n errors: null,\r\n rolePolicies: null,\r\n loading: false,\r\n loaded: false\r\n};\r\n\r\nexport function reducer(state = initialState, action: fromSecurityAction.SecurityActions): SecurityState {\r\n switch (action.type) {\r\n case fromSecurityAction.SecurityActionTypes.SetUserData: {\r\n return {\r\n ...state,\r\n userData: action.payload\r\n };\r\n }\r\n case fromSecurityAction.SecurityActionTypes.LoadRolePolicies: {\r\n return {\r\n ...state,\r\n loading: true,\r\n };\r\n }\r\n case fromSecurityAction.SecurityActionTypes.LoadRolePoliciesSuccess: {\r\n const { rolePolicies } = action.payload;\r\n\r\n return {\r\n ...state,\r\n rolePolicies,\r\n loading: false,\r\n loaded: true\r\n };\r\n }\r\n case fromSecurityAction.SecurityActionTypes.LoadRolePoliciesFailure: {\r\n return {\r\n ...state,\r\n errors: action.payload,\r\n loading: false,\r\n loaded: true\r\n };\r\n }\r\n }\r\n\r\n return state;\r\n}\r\n\r\nexport const getRolePolicies = (state: SecurityState) => state.rolePolicies;\r\nexport const getUserData = (state: SecurityState) => state.userData;\r\n","import { Component, OnInit, OnDestroy } from '@angular/core';\r\nimport { FormBuilder, FormGroup } from '@angular/forms';\r\n\r\nimport { Observable } from 'rxjs';\r\nimport { takeWhile, tap } from 'rxjs/operators';\r\n\r\nimport { select, Store } from '@ngrx/store';\r\n\r\nimport { ProgramDetails, InactiveReason } from '../models';\r\nimport { ProgramType, ProgramTypeLookup } from '../../scp-common/models';\r\nimport * as fromStore from '../store';\r\n\r\n@Component({\r\n\tselector: 'opus-program-info-editor',\r\n\ttemplateUrl: './program-info-editor.component.html',\r\n})\r\nexport class ProgramInfoEditorComponent implements OnInit, OnDestroy {\r\n\talive = true;\r\n\tprogramDetails$: Observable;\r\n\tpanelState$: Observable;\r\n\tprogram: ProgramDetails;\r\n\tpanelState: fromStore.PanelState;\r\n editor: FormGroup;\r\n programStartFrom: Date;\r\n programStartTo: Date;\r\n months: string[] = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'];\r\n days: { [id: string]: string[] } = {};\r\n\r\n\tprogramTypes = ProgramTypeLookup.filter(ptl => ptl.id !== ProgramType.NoMTDSubscription);\r\n\r\n\tconstructor(private store: Store, private fb: FormBuilder) {\r\n\t\tconsole.log('ProgramInfoEditorComponent()...');\r\n\t}\r\n\r\n\tngOnInit() {\r\n\t\tconsole.log('ProgramInfoEditorComponent.ngOnInit()...');\r\n\r\n\t\tthis.programDetails$ = this.store.pipe(select(fromStore.getProgramDetailsEntity));\r\n\t\tthis.programDetails$.pipe(\r\n\t\t\ttakeWhile(() => this.alive)\r\n\t\t).subscribe(s => this.program = s);\r\n\r\n\t\tthis.panelState$ = this.store.pipe(select(fromStore.getDetailsStateInfoPanel));\r\n\t\tthis.panelState$.pipe(\r\n\t\t\ttakeWhile(() => this.alive),\r\n\t\t\ttap(s => {\r\n\t\t\t\tif (!s.editing && this.panelState && this.panelState.editing) {\r\n\t\t\t\t\tconsole.log('ProgramInfoEditorComponent.panelState$: clearing form...');\r\n\t\t\t\t\tthis.resetForm();\r\n\t\t\t\t}\r\n\t\t\t}),\r\n\t\t).subscribe(s => this.panelState = s);\r\n\r\n\t\tthis.createForm();\r\n\t}\r\n\r\n\tngOnDestroy() {\r\n\t\tconsole.log('ProgramInfoEditorComponent.ngOnDestroy()...');\r\n\t\tthis.alive = false;\r\n\t}\r\n\r\n createForm() {\r\n this.programStartFrom = this.program.startFrom\r\n ? new Date(Date.parse(this.program.startFrom))\r\n : new Date(9999, 8, 1);\r\n this.programStartTo = this.program.startTo\r\n ? new Date(Date.parse(this.program.startTo))\r\n : new Date(9999, 8, 1);\r\n\r\n this.editor = this.fb.group({\r\n active: [this.isActive],\r\n inactiveReason: [this.program.inactiveReason == null ? 0 : this.program.inactiveReason],\r\n programTypeId: [this.program.programTypeId],\r\n programStartFromMonth: [this.programStartFrom.getMonth()],\r\n programStartFromDay: [this.programStartFrom.getDate()],\r\n programStartToMonth: [this.programStartTo.getMonth()],\r\n programStartToDay: [this.programStartTo.getDate()],\r\n });\r\n\r\n this.initMonthChanges();\r\n\t}\r\n\r\n\tresetForm() {\r\n\t\tthis.editor.reset({\r\n active: this.isActive,\r\n inactiveReason: this.program.inactiveReason == null ? 0 : this.program.inactiveReason,\r\n programTypeId: this.program.programTypeId,\r\n programStartFromMonth: this.programStartFrom.getMonth(),\r\n programStartFromDay: this.programStartFrom.getDate(),\r\n programStartToMonth: this.programStartTo.getMonth(),\r\n programStartToDay: this.programStartTo.getDate(),\r\n\t\t});\r\n }\r\n\r\n initMonthChanges() {\r\n const keys: string[] = ['programStartFrom', 'programStartTo'];\r\n\r\n for (const key of keys) {\r\n this.days[this[key].getMonth()] = this.getDaysInMonth(this[key].getMonth());\r\n\r\n this.editor.get(key + 'Month').valueChanges.pipe(\r\n takeWhile(() => this.alive),\r\n ).subscribe(val => {\r\n console.log(key + 'Month.valueChanges: ', val);\r\n\r\n if (!this.days[val]) {\r\n this.days[val] = this.getDaysInMonth(val);\r\n }\r\n\r\n const ctrl = this.editor.get(key + 'Day');\r\n const lastDay = this.days[val][this.days[val].length - 1];\r\n\r\n if (+ctrl.value > +lastDay) {\r\n ctrl.setValue(lastDay, { emitEvent: false });\r\n }\r\n });\r\n }\r\n }\r\n\r\n getDaysInMonth(month) {\r\n const days: string[] = [];\r\n\r\n for (let i = 1; i <= new Date(9999, +month + 1, 0).getDate(); i++) {\r\n days.push(i.toString());\r\n }\r\n\r\n return days;\r\n }\r\n\r\n get isActive() {\r\n return this.program.active ? 'Yes' : 'No';\r\n }\r\n\r\n get inactiveReason(): string {\r\n return InactiveReason[this.program.inactiveReason];\r\n }\r\n\r\n\tget canSave(): boolean {\r\n return this.editor.valid && this.editor.dirty || (this.editor.valid && this.editor.value.active == 'No' && this.program.inactiveReason == null);\r\n\t}\r\n\r\n\tget saveButtonLabel(): string {\r\n\t\treturn this.panelState.updating ? 'Saving...' : 'Save';\r\n\t}\r\n\r\n\tonSubmit() {\r\n console.log('onSubmit: ', this.editor.status, this.editor.value);\r\n\r\n const programStartFrom = `${+this.editor.value.programStartFromMonth + 1}/${this.editor.value.programStartFromDay}/9999`;\r\n const programStartTo = `${+this.editor.value.programStartToMonth + 1}/${this.editor.value.programStartToDay}/9999`;\r\n const active = this.editor.value.active == 'Yes';\r\n\r\n\t\tconst program: ProgramDetails = {\r\n\t\t\t...this.program,\r\n active: active,\r\n inactiveReason: active ? null : this.editor.value.inactiveReason,\r\n programTypeId: this.editor.value.programTypeId,\r\n startFrom: programStartFrom,\r\n startTo: programStartTo,\r\n\t\t\t//type: +this.editor.value.type,\r\n\t\t};\r\n\r\n\t\tconsole.log('onSubmit: ', program);\r\n\r\n\t\tthis.store.dispatch(new fromStore.UpdateProgramPanel({ panel: fromStore.PanelId.Info, program }));\r\n\t}\r\n}\r\n","
\r\n
\r\n\r\n
    \r\n
  • \r\n \r\n
    \r\n \r\n
    \r\n
  • \r\n
  • \r\n \r\n
    \r\n \r\n
    \r\n
  • \r\n
  • \r\n
    Program ID
    \r\n
    {{ program.id }}
    \r\n
  • \r\n
  • \r\n \r\n
    \r\n \r\n
    \r\n
  • \r\n
  • \r\n
    Program Start
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    through
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
  • \r\n
  • \r\n
    School ID
    \r\n \r\n
  • \r\n
  • \r\n
    School Name
    \r\n \r\n
  • \r\n
\r\n\r\n
    \r\n
  • Server error
  • \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n","\r\n
    \r\n
  • \r\n
    At Host School
    \r\n
    {{ event.eventAtHostSchool | yesNo }}
    \r\n
  • \r\n
  • \r\n
    Virtual Event
    \r\n
    {{ event.isVirtualEvent | yesNo }}
    \r\n
  • \r\n
  • \r\n
    Virtual Event URL
    \r\n
    \r\n {{ event.virtualEventUrl }}\r\n N/A\r\n
    \r\n
  • \r\n
  • \r\n
    Address Line 1
    \r\n
    {{ event.hostingSchoolAddress?.line1}}
    \r\n
  • \r\n
  • \r\n
    Address Line 2
    \r\n
    {{ event.hostingSchoolAddress?.line2}}
    \r\n
  • \r\n
  • \r\n
    City, State Zip
    \r\n
    {{ event.hostingSchoolAddress?.city}}, {{ event.hostingSchoolAddress?.state}} {{ event.hostingSchoolAddress?.zip}}
    \r\n
  • \r\n\r\n
  • \r\n
    Address Line 1
    \r\n
    {{ event.eventAddress?.line1 }}
    \r\n
  • \r\n
  • \r\n
    Address Line 2
    \r\n
    {{ event.eventAddress?.line2 }}
    \r\n
  • \r\n
  • \r\n
    City, State Zip
    \r\n
    {{ event.eventAddress?.city }}, {{ event.eventAddress?.state }} {{ event.eventAddress?.zip }}
    \r\n
  • \r\n
  • \r\n
    Location Info
    \r\n
    {{ event.location }}
    \r\n
  • \r\n
\r\n","import { Component, Input } from '@angular/core';\r\n\r\nimport { Event } from '../../models';\r\n\r\n@Component({\r\n selector: 'event-location',\r\n templateUrl: './event-location.component.html',\r\n})\r\nexport class EventLocationComponent {\r\n @Input() event: Event;\r\n\r\n}\r\n","import { Component, Input, Output, EventEmitter } from '@angular/core';\r\n\r\nimport { HistoryEvent } from '../models/history.model';\r\n\r\n@Component({\r\n\tselector: 'opus-history-sidebar',\r\n\ttemplateUrl: './history-sidebar.component.html',\r\n})\r\nexport class HistorySidebarComponent {\r\n\t@Input() events;\r\n\t@Output() selectEvent = new EventEmitter();\r\n\r\n\tselectedEvent: HistoryEvent;\r\n\r\n\tonSelectEvent(event) {\r\n\t\tconsole.log('HistorySidebarComponent.onSelectEvent(): ', event);\r\n\r\n\t\tthis.selectedEvent = event;\r\n\t\tthis.selectEvent.emit(event);\r\n\t}\r\n}\r\n\r\n","
    \r\n\t
  1. \r\n\t\t\r\n\t
  2. \r\n
\r\n\r\n","export enum ProgramType {\r\n Choir = 1,\r\n Band,\r\n\tNoMTDSubscription,\r\n GeneralMusic,\r\n Orchestra\r\n}\r\n\r\nexport const ProgramTypeLookup: { id: ProgramType, name: string }[] = [];\r\n\r\nProgramTypeLookup[ProgramType.Choir] = { id: ProgramType.Choir, name: 'Choir' };\r\nProgramTypeLookup[ProgramType.Band] = { id: ProgramType.Band, name: 'Band' };\r\nProgramTypeLookup[ProgramType.NoMTDSubscription] = { id: ProgramType.NoMTDSubscription, name: 'No MTD Subscription' };\r\nProgramTypeLookup[ProgramType.GeneralMusic] = { id: ProgramType.GeneralMusic, name: 'General Music' };\r\nProgramTypeLookup[ProgramType.Orchestra] = { id: ProgramType.Orchestra, name: 'Orchestra' };\r\n","import { Component } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-not-found',\r\n templateUrl: './not-found.component.html'\r\n})\r\n\r\nexport class NotFoundComponent {}\r\n","
\r\n
\r\n
\r\n
\r\n

404 Not Found

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

The requested resource cannot be found.

\r\n

If you feel you have received this in error, please contact support.

\r\n
\r\n
\r\n Go Home\r\n
\r\n
\r\n
\r\n
","import { CanActivate, ActivatedRouteSnapshot, RouterStateSnapshot } from '@angular/router';\r\nimport { Injectable } from '@angular/core';\r\nimport { Observable, of } from 'rxjs';\r\nimport { switchMap, catchError, map, filter } from 'rxjs/operators';\r\nimport { Store } from '@ngrx/store';\r\nimport * as fromRoot from '../../core/store';\r\nimport * as fromStore from '../store';\r\n\r\n@Injectable()\r\nexport class MerchComboGuard implements CanActivate {\r\n\r\n constructor(private _store: Store) {\r\n }\r\n\r\n canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable {\r\n let redirectTo;\r\n\r\n return this.checkStore().pipe(\r\n switchMap(allow => {\r\n if (!allow) {\r\n redirectTo = '/401';\r\n }\r\n\r\n return this.allowOrRedirect(allow, redirectTo);\r\n }),\r\n catchError(() => {\r\n return this.allowOrRedirect(false, '/500');\r\n }),\r\n );\r\n }\r\n\r\n checkStore(): Observable {\r\n return this._store.select(fromRoot.getUserAuthInfo).pipe(\r\n filter(x => !!x),\r\n map(x => x.policyCodes.has('InstrumentCombinations.View'))\r\n );\r\n }\r\n\r\n allowOrRedirect(allow: boolean, redirectTo: string): Observable {\r\n if (!allow) {\r\n console.log(`Redirecting to '${redirectTo}'...`);\r\n this._store.dispatch(new fromRoot.Go({ path: [redirectTo] }));\r\n }\r\n\r\n return of(allow);\r\n }\r\n}\r\n","import * as fromActions from '../actions';\r\nimport * as fromModels from '../../models';\r\n\r\nexport interface DistributionDetailsState {\r\n loadingCharges: boolean;\r\n loadedCharges: boolean;\r\n errors: any[];\r\n shippingCharges: fromModels.ShippingCharge[];\r\n}\r\n\r\nexport const initialState: DistributionDetailsState = {\r\n loadingCharges: false,\r\n loadedCharges: false,\r\n errors: null,\r\n shippingCharges: null,\r\n};\r\n\r\nexport function reducer(state = initialState, action: fromActions.DistributionActions): DistributionDetailsState {\r\n\tswitch (action.type) {\r\n\t\tcase fromActions.DistributionActionTypes.LoadShippingCharges: {\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tloadingCharges: true,\r\n\t\t\t\tloadedCharges: false,\r\n\t\t\t\tshippingCharges: null,\r\n\t\t\t};\r\n\t\t}\r\n\r\n\t\tcase fromActions.DistributionActionTypes.LoadShippingChargesSuccess: {\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tloadingCharges: false,\r\n\t\t\t\tloadedCharges: true,\r\n\t\t\t\terrors: null,\r\n\t\t\t\tshippingCharges: [...action.payload],\r\n\t\t\t};\r\n\t\t}\r\n\r\n\t\tcase fromActions.DistributionActionTypes.LoadShippingChargesFailure: {\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tloadingCharges: false,\r\n\t\t\t\tloadedCharges: false,\r\n\t\t\t\terrors: action.payload,\r\n\t\t\t\tshippingCharges: null,\r\n\t\t\t};\r\n\t\t}\r\n\r\n\t\tdefault: {\r\n\t\t\tif (Object.values(fromActions.DistributionActionTypes).includes((action as fromActions.DistributionActions).type)) {\r\n\t\t\t\tconsole.log('distribution.reducer: unhandled action: ', action);\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\treturn state;\r\n}\r\n\r\n","import { createSelector } from '@ngrx/store';\r\n\r\nimport * as fromFeature from '../reducers';\r\nimport * as fromEventSearchResults from '../reducers/searchresults.reducer';\r\n\r\nexport const getEventSearchState = createSelector(\r\n fromFeature.getEventsState,\r\n (state: fromFeature.EventsState) => state.search\r\n);\r\nexport const getEventSearchResultsState = createSelector(\r\n getEventSearchState,\r\n fromEventSearchResults.getEventSearchResults\r\n);\r\n","import * as fromScp from '../actions';\r\nimport * as fromModels from '../../models';\r\n\r\nexport interface TaxonomyState {\r\n loading: boolean;\r\n loaded: boolean;\r\n rentalCategories: fromModels.RentalCategory[];\r\n error: any;\r\n}\r\n\r\nexport const initialState: TaxonomyState = {\r\n loading: false,\r\n loaded: false,\r\n rentalCategories: null,\r\n error: null\r\n};\r\n\r\nexport function reducer(state = initialState, action: fromScp.ScpActions): TaxonomyState {\r\n switch (action.type) {\r\n case fromScp.ScpActionTypes.GetRentalCategories: {\r\n return {\r\n ...state,\r\n loading: true,\r\n loaded: false\r\n };\r\n }\r\n case fromScp.ScpActionTypes.GetRentalCategoriesFailure: {\r\n const { error } = action.payload;\r\n return {\r\n ...state,\r\n loaded: true,\r\n loading: false,\r\n error: error\r\n };\r\n }\r\n case fromScp.ScpActionTypes.GetRentalCategoriesSuccess: {\r\n const { rentalCategories } = action.payload;\r\n return {\r\n ...state,\r\n loaded: true,\r\n loading: false,\r\n error: null,\r\n rentalCategories: rentalCategories\r\n };\r\n }\r\n\r\n }\r\n\r\n return state;\r\n}\r\n","import { DistrictDetailsComponent } from './district-details.component';\r\nimport { DistrictInfoEditorComponent } from './district-info-editor.component';\r\nimport { DistrictAddressEditorComponent } from './district-address-editor.component';\r\nimport { DistrictContactsEditorComponent } from './district-contacts-editor.component';\r\nimport { DistrictCalendarEditorComponent } from './district-calendar-editor.component';\r\nimport { DistrictAddlDetailsEditorComponent } from './district-addl-details-editor.component';\r\nimport { DistrictSearchResultsComponent } from './district-searchresults.component';\r\nimport { DistrictRelationshipEditorComponent } from './district-relationship-editor.component';\r\n\r\nexport const containers: any[] = [\r\n\tDistrictDetailsComponent,\r\n\tDistrictInfoEditorComponent,\r\n\tDistrictAddressEditorComponent,\r\n\tDistrictContactsEditorComponent,\r\n\tDistrictCalendarEditorComponent,\r\n\tDistrictAddlDetailsEditorComponent,\r\n\tDistrictSearchResultsComponent,\r\n\tDistrictRelationshipEditorComponent,\r\n];\r\n\r\nexport * from './district-details.component';\r\nexport * from './district-info-editor.component';\r\nexport * from './district-address-editor.component';\r\nexport * from './district-contacts-editor.component';\r\nexport * from './district-calendar-editor.component';\r\nexport * from './district-addl-details-editor.component';\r\nexport * from './district-searchresults.component';\r\nexport * from './district-relationship-editor.component';\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpResponse } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\n\r\nimport { ConfigurationService } from '../../../core/services/ConfigurationService';\r\nimport { ConfigurationState } from '../../../core/store/reducers';\r\nimport { switchMap } from 'rxjs/operators';\r\nimport { Operation } from 'fast-json-patch';\r\n\r\nimport { TeacherLookup } from '../../schools/models';\r\nimport { TeacherSearchResultsItem, TeacherDetails, TeacherCreate, TeacherLookupCriteria } from '../../teachers/models';\r\n\r\n@Injectable()\r\nexport class TeacherService {\r\n constructor(private http: HttpClient, private configuration: ConfigurationService) { }\r\n\r\n loadTeacher(teacherId: number): Observable {\r\n return this.configuration.config$.pipe(\r\n switchMap((c: ConfigurationState) => {\r\n return this.http.get(`${c.config.apiServer}api/teacher/${teacherId}`);\r\n })\r\n );\r\n }\r\n\r\n lookupTeacherById(teacherId: number): Observable {\r\n return this.configuration.config$.pipe(\r\n switchMap((c: ConfigurationState) => {\r\n return this.http.get(`${c.config.apiServer}api/teacher/lookup/${teacherId}?active=true`);\r\n })\r\n );\r\n }\r\n\r\n lookupTeacherByCriteria(criteria: TeacherLookupCriteria): Observable {\r\n return this.configuration.config$.pipe(\r\n switchMap((c: ConfigurationState) => {\r\n let query = '';\r\n\r\n Object.keys(criteria).forEach(key => {\r\n const value = criteria[key];\r\n\r\n if (value === null || value === undefined || value === '')\r\n return;\r\n\r\n if (query.length > 0)\r\n query += '&';\r\n query += `${key}=${value}`;\r\n });\r\n \r\n return this.http.get(`${c.config.apiServer}api/teacher/search/lookup?${query}`);\r\n })\r\n );\r\n }\r\n\r\n searchTeachers(query: string): Observable> {\r\n return this.configuration.config$.pipe(\r\n switchMap((c: ConfigurationState) => {\r\n return this.http.get(`${c.config.apiServer}api/teacher?${query}`, { observe: 'response' });\r\n })\r\n );\r\n }\r\n\r\n patchTeacher(id: number, patch: Operation[]): Observable {\r\n return this.configuration.config$.pipe(\r\n switchMap((c: ConfigurationState) => {\r\n return this.http.patch(`${c.config.apiServer}api/teacher/${id}`, patch);\r\n })\r\n );\r\n }\r\n\r\n createTeacher(teacher: TeacherCreate): Observable {\r\n return this.configuration.config$.pipe(\r\n switchMap((c: ConfigurationState) => {\r\n return this.http.post(`${c.config.apiServer}api/teacher`, teacher);\r\n })\r\n );\r\n }\r\n}\r\n","import { Component, Input } from '@angular/core';\r\n\r\nimport { Event } from '../../models';\r\n\r\n@Component({\r\n selector: 'event-staffing',\r\n templateUrl: './event-staffing.component.html',\r\n})\r\nexport class EventStaffingComponent {\r\n @Input() event: Event;\r\n\r\n}\r\n","\r\n
    \r\n
  • \r\n
    Host School Relationship Manager
    \r\n
    {{ event.hostingSchoolRelationshipManagerName }}
    \r\n
  • \r\n
  • \r\n
    Supervisor
    \r\n
    {{ event.supervisor }}
    \r\n
  • \r\n
  • \r\n
    Total Staff Needed
    \r\n
    {{ event.staffNeeded }}
    \r\n
  • \r\n
  • \r\n
    Scheduled Staff Members
    \r\n
    {{ event.staffNames }}
    \r\n
  • \r\n
\r\n\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpParams } from '@angular/common/http';\r\n\r\nimport { Observable } from 'rxjs';\r\nimport { switchMap } from 'rxjs/operators';\r\n\r\nimport { ConfigurationService } from '../../../core/services/ConfigurationService';\r\nimport { ConfigurationState } from '../../../core/store/reducers';\r\n\r\nimport { ProductSearchResult } from '../../preferences/models';\r\nimport { FindCriteria, FindType } from '../../preferences/store/reducers';\r\n\r\n@Injectable()\r\nexport class ProductService {\r\n\tconstructor(private http: HttpClient, private configuration: ConfigurationService) { }\r\n\r\n findProducts(criteria: FindCriteria): Observable {\r\n\t\treturn this.configuration.config$.pipe(\r\n\t\t\tswitchMap((c: ConfigurationState) => {\r\n\t\t\t\tconst params = this.getFindParams(criteria);\r\n\r\n\t\t\t\treturn this.http.get(`${c.config.apiServer}api/product/search`, { params });\r\n\t\t\t})\r\n\t\t);\r\n\t}\r\n\r\n\tprivate getFindParams(criteria: FindCriteria) {\r\n\t\tlet params = new HttpParams();\r\n\t\tlet find;\r\n\r\n\t\tswitch (criteria.findType) {\r\n\t\t\tcase FindType.Book:\r\n\t\t\t\tfind = criteria.bookFind;\r\n\t\t\t\tbreak;\r\n\r\n\t\t\tcase FindType.Group:\r\n\t\t\t\tfind = criteria.groupFind;\r\n\t\t\t\tbreak;\r\n\r\n\t\t\tcase FindType.Keyword:\r\n\t\t\t\tfind = criteria.keywordFind;\r\n\t\t\t\tbreak;\r\n\t\t}\r\n\r\n\t\tif (find) {\r\n\t\t\tObject.keys(find).forEach(k => {\r\n\t\t\t\tif (find[k] !== null) {\r\n\t\t\t\t\tparams = params.append(k, find[k]);\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\treturn params;\r\n\t}\r\n}\r\n","import { createSelector } from '@ngrx/store';\r\n\r\nimport * as fromFeature from '../reducers';\r\n\r\nexport const getCombosState = createSelector(\r\n\tfromFeature.getMerchState,\r\n\t(state: fromFeature.MerchState) => state.combosState\r\n);\r\n\r\nexport const getAllRentalCategoryState = createSelector (\r\n\tgetCombosState,\r\n\t(state: fromFeature.CombosState) => state.rentalCategories\r\n);\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpErrorResponse } from '@angular/common/http';\r\n\r\nimport { Observable, of, forkJoin } from 'rxjs';\r\nimport { tap, switchMap, map, catchError, filter, withLatestFrom, first, mergeMap } from 'rxjs/operators';\r\n\r\nimport { select, Store } from '@ngrx/store';\r\nimport { Actions, createEffect, ofType } from '@ngrx/effects';\r\n\r\nimport { Operation, compare } from 'fast-json-patch';\r\n\r\nimport * as fromServices from '../../../scp-common/services';\r\nimport * as detailsActions from '../actions/details.actions';\r\nimport * as fromSelectors from '../selectors';\r\nimport * as fromModels from '../../models';\r\nimport * as fromRoot from '../../../../core/store';\r\nimport { DetailsState, CountyLookupState, DistrictLookupsState } from '..';\r\nimport { MessageType, ProblemDetails } from '../../../../core/models';\r\n\r\n@Injectable()\r\nexport class DistrictDetailsEffects {\r\n constructor(\r\n private actions$: Actions,\r\n private districtService: fromServices.DistrictService,\r\n private addressService: fromServices.AddressService,\r\n private store$: Store,\r\n ) { }\r\n\r\n \r\n loadDistrict$ = createEffect(() => this.actions$.pipe(\r\n ofType(detailsActions.DistrictActionTypes.LoadDistrict),\r\n switchMap((action: detailsActions.LoadDistrict) => {\r\n console.log('Load District Effect');\r\n\r\n return this.districtService.loadDistrict(action.payload).pipe(\r\n tap(d => {\r\n console.log('loadDistrict returned:', d);\r\n }),\r\n map(district => {\r\n if (district === null) {\r\n return new detailsActions.LoadDistrictFailure('District Not Found');\r\n }\r\n\r\n return new detailsActions.LoadDistrictSuccess(district);\r\n }),\r\n catchError(error => of(new detailsActions.LoadDistrictFailure(error)))\r\n );\r\n })\r\n ));\r\n\r\n \r\n lookupDistrict$ = createEffect(() => this.actions$.pipe(\r\n ofType(detailsActions.DistrictActionTypes.LookupDistrictById),\r\n tap(a => console.log('Entering lookupDistrict$ Effect: ', a)),\r\n withLatestFrom(this.store$.pipe(select(fromSelectors.getDistrictLookupsState))),\r\n map(([action, dls]: [detailsActions.LookupDistrictById, DistrictLookupsState]) => {\r\n const { id } = action.payload;\r\n const dl = dls.idLookups[id] ? dls.idLookups[id].district : null;\r\n\r\n return { id, dl };\r\n }),\r\n switchMap(({ id, dl }: { id: number, dl: fromModels.DistrictLookup }) => {\r\n if (dl !== null) {\r\n console.log(`lookupDistrict$: district lookup with id ${id} already loaded.`);\r\n\r\n return of(new detailsActions.LookupDistrictByIdSuccess({ id, dl }));\r\n }\r\n\r\n console.log(`lookupDistrict$: Calling service to get district lookup for id ${id}...`);\r\n\r\n return this.districtService.lookupDistrictById(id).pipe(\r\n tap(res => console.log(`districtService.lookupDistrictById( ${id} ) returned: `, res)),\r\n map((dl: fromModels.DistrictLookup) => {\r\n if (dl) {\r\n return new detailsActions.LookupDistrictByIdSuccess({ id, dl });\r\n }\r\n\r\n return new detailsActions.LookupDistrictByIdFailure({ id, error: `There is no district with an ID of '${id}'.` });\r\n }),\r\n catchError(err => {\r\n const error = `Unable to retrieve the District with ID: ${id}: ${err.message}.`;\r\n\r\n return of(new detailsActions.LookupDistrictByIdFailure({ id, error }));\r\n }),\r\n );\r\n }),\r\n tap(a => console.log('Exiting lookupDistrict$ Effect: ', a)),\r\n ));\r\n\r\n \r\n districtLookupByName$ = createEffect(() => this.actions$.pipe(\r\n ofType(detailsActions.DistrictActionTypes.LookupDistrictByName),\r\n tap(a => console.log('Entering districtLookupByName$ Effect: ', a)),\r\n switchMap((action: detailsActions.LookupDistrictByName) => {\r\n const { name, isActive, isSupervisory } = action.payload;\r\n\r\n console.log(`districtLookupByName$: Calling service to get district lookups for name ${name}...`);\r\n\r\n return this.districtService.lookupDistrictByName(name, isActive, isSupervisory).pipe(\r\n tap(res => console.log(`districtService.lookupDistrictByName( ${name} ) returned: `, res)),\r\n map(dls => {\r\n if (dls === null) {\r\n return new detailsActions.LookupDistrictByNameFailure({ name, error: 'Districts Not Found' });\r\n }\r\n\r\n return new detailsActions.LookupDistrictByNameSuccess({ name, dls });\r\n }),\r\n catchError(error => of(new detailsActions.LookupDistrictByNameFailure({ name, error }))),\r\n );\r\n }),\r\n tap(a => console.log('Exiting districtLookupByName$ Effect: ', a)),\r\n ));\r\n\r\n //\tNOTE: seemed more appropriate to handle the json patch creation here than to send the 2 district objects into the service layer\r\n \r\n updateDistrictPanel$ = createEffect(() => this.actions$.pipe(\r\n ofType(detailsActions.DistrictActionTypes.UpdateDistrictPanel),\r\n tap(a => {\r\n console.log('updateDistrictPanel$ Effect');\r\n }),\r\n //\tget the current value of the district from the store\r\n withLatestFrom(this.store$.select(fromSelectors.getDetailsStateDistrict)),\r\n //\tcreate a json patch by comparing the current district with the updated version\r\n //\ttypescript note: using array destructuring to pull the withLatestFrom output into individual parameters to map\r\n map(([action, district]: [detailsActions.UpdateDistrictPanel, fromModels.District]) => {\r\n const patch = compare(district, action.payload.district);\r\n\r\n console.log('new district:', action.payload.district, 'current district:', district, 'patch:', patch);\r\n\r\n //\tthe district service needs the id & the json patch\r\n return { panel: action.payload.panel, district, patch };\r\n }),\r\n switchMap(({ panel, district, patch }: { panel: string, district: fromModels.District, patch: Operation[] }) => {\r\n if (patch.length == 0) {\r\n console.log('updateDistrictPanel$ Effect: Skipping empty patch...');\r\n\r\n return of(new detailsActions.UpdateDistrictPanelSuccess({ panel, district }));\r\n }\r\n\r\n console.log('updateDistrictPanel$ Effect: Calling districtService.patchDistrict(', district.id, ', ', patch, ')...');\r\n\r\n return this.districtService.patchDistrict(district.id, patch).pipe(\r\n map(district => new detailsActions.UpdateDistrictPanelSuccess({ panel, district })),\r\n catchError(errors => {\r\n return of(new detailsActions.UpdateDistrictPanelFailure({ panel, errors }));\r\n }),\r\n );\r\n }),\r\n ));\r\n\r\n \r\n updateDistrictPanelFailure$ = createEffect(() => this.actions$.pipe(\r\n ofType(detailsActions.DistrictActionTypes.UpdateDistrictPanelFailure),\r\n tap(a => {\r\n console.log('Entering updateDistrictPanelFailure$ Effect: ', a);\r\n }),\r\n map((a: detailsActions.UpdateDistrictPanelFailure) => {\r\n const httpErrorResponse = a.payload.errors;\r\n\r\n const message = this.getErrorMessage(httpErrorResponse) || 'Unhandled exception has occurred';\r\n return new fromRoot.DisplayMessage({\r\n message,\r\n messageType: MessageType.alert,\r\n toast: false,\r\n });\r\n }),\r\n ));\r\n\r\n validateDistrictPrimaryId$ = createEffect(() => this.actions$.pipe(\r\n ofType(detailsActions.DistrictActionTypes.ValidateDistrictPrimaryId),\r\n tap(a => {\r\n console.log('Entering validateDistrictPrimaryId$ Effect: ', a);\r\n }),\r\n mergeMap((a: detailsActions.ValidateDistrictPrimaryId): any[] => {\r\n const { panel, validator, primaryId, duplicateId, duplicateIsActive, duplicateIsSupervisory } = a.payload;\r\n\r\n //\tclearing the primary id is always valid & requires no other checks\r\n if (primaryId == '') {\r\n return [new detailsActions.DistrictPrimaryIdValidated({ panel, validator, errors: null })];\r\n }\r\n\r\n //\tcheck for a blatantly incorrect primary id\r\n if (+primaryId < 1 || Number.isNaN(+primaryId)) {\r\n return [new detailsActions.DistrictPrimaryIdValidated({ panel, validator, errors: { primaryId: 'Primary ID must refer to a valid district.' } })];\r\n }\r\n\r\n if (+primaryId == duplicateId) {\r\n return [new detailsActions.DistrictPrimaryIdValidated({ panel, validator, errors: { primaryId: 'Primary ID cannot refer to this district.' } })];\r\n }\r\n\r\n const districtExistsAction = new detailsActions.ValidateDistrictExists({ panel, validator: 'districtExists', id: +primaryId });\r\n\r\n if (duplicateIsActive) {\r\n return [districtExistsAction, new detailsActions.ValidateDistrictCanDeactivate({ panel, validator: 'canDeactivate', id: duplicateId, isSupervisory: duplicateIsSupervisory })];\r\n }\r\n\r\n return [districtExistsAction];\r\n }),\r\n tap(a => {\r\n console.log('Exiting validateDistrictPrimaryId$ Effect: ', a);\r\n }),\r\n ));\r\n\r\n \r\n getDistrictPrimaryIdValidationResults$ = createEffect(() => this.actions$.pipe(\r\n ofType(detailsActions.DistrictActionTypes.ValidateDistrictPrimaryId),\r\n tap(a => console.log('Entering getDistrictPrimaryIdValidationResults$ Effect: ', a)),\r\n //\tAggregator: gather the completion actions to complete the original, split, action\r\n switchMap((src: detailsActions.ValidateDistrictPrimaryId): Observable => {\r\n const districtExists$ = this.actions$.pipe(\r\n ofType(detailsActions.DistrictActionTypes.DistrictExistsValidated),\r\n tap(a => console.log('districtExists$: ', a)),\r\n filter((a: any): any => {\r\n return src.payload.primaryId == a.payload.id;\t//\tcorrelate the actions via the primary id\r\n }),\r\n first(),\r\n );\r\n\r\n if (src.payload.duplicateIsActive) {\r\n const canDeactivate$ = this.actions$.pipe(\r\n ofType(detailsActions.DistrictActionTypes.DistrictCanDeactivateValidated),\r\n tap(a => console.log('canDeactivate$: ', a)),\r\n filter((a: any): any => {\r\n return src.payload.duplicateId == a.payload.id;\t//\tcorrelate the actions via the duplicate id\r\n }),\r\n first(),\r\n );\r\n\r\n return forkJoin([of(src), districtExists$, canDeactivate$]);\r\n }\r\n else {\r\n return forkJoin([of(src), districtExists$]);\r\n }\r\n }),\r\n //\tmap the parent & completed dependent actions to a completed parent action\r\n map(([primaryId, districtExists, canDeactivate]) => {\r\n\r\n let errors = null;\r\n if ((districtExists && districtExists.payload.errors) || (canDeactivate && canDeactivate.payload.errors)) {\r\n errors = { ...(districtExists ? districtExists.payload.errors : []), ...(canDeactivate ? canDeactivate.payload.errors : []) };\r\n }\r\n\r\n return new detailsActions.DistrictPrimaryIdValidated({ panel: primaryId.payload.panel, validator: primaryId.payload.validator, errors });\r\n }),\r\n tap(a => console.log('Exiting getDistrictPrimaryIdValidationResults$ Effect: ', a)),\r\n ));\r\n\r\n \r\n validateDistrictExists$ = createEffect(() => this.actions$.pipe(\r\n ofType(detailsActions.DistrictActionTypes.ValidateDistrictExists),\r\n tap(a => console.log('Entering validateDistrictExists$ Effect: ', a)),\r\n switchMap((a: detailsActions.ValidateDistrictExists) => {\r\n const { panel, validator, id } = a.payload;\r\n\r\n return this.districtService.exists(id).pipe(\r\n tap(res => console.log(`districtService.exists( ${id} ) returned: `, res)),\r\n map(res => {\r\n const errors = res\r\n ? null\r\n : { districtExists: `There is no District with ID: ${id}` };\r\n\r\n return new detailsActions.DistrictExistsValidated({ panel, validator, id, errors });\r\n }),\r\n catchError(err => {\r\n return of(new detailsActions.DistrictExistsValidated({ panel, validator, id, errors: { districtExists: err.message } }));\r\n }),\r\n );\r\n }),\r\n tap(a => console.log('Exiting validateDistrictExists$ Effect: ', a)),\r\n ));\r\n\r\n \r\n validateDistrictCanDeactivate$ = createEffect(() => this.actions$.pipe(\r\n ofType(detailsActions.DistrictActionTypes.ValidateDistrictCanDeactivate),\r\n tap(a => console.log('Entering validateDistrictCanDeactivate$ Effect: ', a)),\r\n switchMap((a: detailsActions.ValidateDistrictCanDeactivate) => {\r\n const { panel, validator, id, isSupervisory } = a.payload;\r\n\r\n return this.districtService.canDeactivate(id, isSupervisory).pipe(\r\n tap(res => console.log(`districtService.canDeactivate( ${id}, ${isSupervisory} ) returned: `, res)),\r\n map(res => {\r\n const errors = res\r\n ? null\r\n : { canDeactivate: `Associated entities must be disassociated or deactivated prior to deactivating a district: ${id}.` };\r\n\r\n return new detailsActions.DistrictCanDeactivateValidated({ panel, validator, id, errors });\r\n }),\r\n catchError(err => {\r\n return of(new detailsActions.DistrictCanDeactivateValidated({ panel, validator, id, errors: { canDeactivate: err.message } }));\r\n }),\r\n );\r\n }),\r\n tap(a => console.log('Exiting validateDistrictExists$ Effect: ', a)),\r\n ));\r\n\r\n \r\n validateDistrictIsSupervisory$ = createEffect(() => this.actions$.pipe(\r\n ofType(detailsActions.DistrictActionTypes.ValidateDistrictIsSupervisory),\r\n tap(a => console.log('Entering validateDistrictIsSupervisory$ Effect: ', a)),\r\n switchMap((a: detailsActions.ValidateDistrictIsSupervisory) => {\r\n const { panel, validator, id, isSupervisory } = a.payload;\r\n\r\n return this.districtService.hasChildren(id, isSupervisory).pipe(\r\n tap(res => console.log(`districtService.hasChildren( ${id}, ${isSupervisory} ) returned: `, res)),\r\n map(res => {\r\n const errors = res\r\n ? (isSupervisory ? { hasDistricts: true } : { hasSchools: true })\r\n : null;\r\n\r\n return new detailsActions.DistrictIsSupervisoryValidated({ panel, validator, id, errors });\r\n }),\r\n catchError(err => {\r\n return of(new detailsActions.DistrictIsSupervisoryValidated({ panel, validator, id, errors: { canDeactivate: err.message } }));\r\n }),\r\n );\r\n }),\r\n tap(a => console.log('Exiting validateDistrictIsSupervisory$ Effect: ', a)),\r\n ));\r\n\r\n \r\n lookupCityState$ = createEffect(() => this.actions$.pipe(\r\n ofType(detailsActions.DistrictActionTypes.DistrictAddressLookupCityState),\r\n tap(a => console.log('Entering lookupCityState$ Effect: ', a)),\r\n switchMap((a: detailsActions.DistrictAddressLookupCityState) => {\r\n const { panel, zip } = a.payload;\r\n\r\n return this.addressService.lookupCityState(zip).pipe(\r\n tap(res => console.log(`addressService.lookupCityState( ${zip} ) returned: `, res)),\r\n map(cityState => {\r\n return new detailsActions.DistrictAddressLookupCityStateSuccess({ panel, cityState });\r\n }),\r\n catchError(errors => {\r\n return of(new detailsActions.DistrictAddressLookupCityStateFailure({ panel, errors }));\r\n }),\r\n );\r\n }),\r\n tap(a => console.log('Exiting lookupCityState$ Effect: ', a)),\r\n ));\r\n\r\n \r\n verifyAddress$ = createEffect(() => this.actions$.pipe(\r\n ofType(detailsActions.DistrictActionTypes.DistrictVerifyAddress),\r\n tap(a => console.log('Entering verifyAddress$ Effect: ', a)),\r\n switchMap((a: detailsActions.DistrictVerifyAddress) => {\r\n const { panel, address } = a.payload;\r\n\r\n return this.addressService.verifyAddress(address).pipe(\r\n tap(res => console.log(`addressService.verifyAddress( ${address} ) returned: `, res)),\r\n map(verification => {\r\n return new detailsActions.DistrictVerifyAddressSuccess({ panel, verification });\r\n }),\r\n catchError(errors => {\r\n return of(new detailsActions.DistrictVerifyAddressFailure({ panel }));\r\n }),\r\n );\r\n }),\r\n tap(a => console.log('Exiting verifyAddress$ Effect: ', a)),\r\n ));\r\n\r\n \r\n loadCounties$ = createEffect(() => this.actions$.pipe(\r\n ofType(detailsActions.DistrictActionTypes.DistrictLoadCounties),\r\n tap(a => console.log('Entering loadCounties$ Effect: ', a)),\r\n //\tpull in the county lookup state\r\n withLatestFrom(this.store$.select(fromSelectors.getDetailsStateCountyLookup)),\r\n //\tgrab the county list for the request state code\r\n map(([action, countyLookup]: [detailsActions.DistrictLoadCounties, CountyLookupState]) => {\r\n const counties = countyLookup.counties[action.payload.stateCode];\r\n\r\n return { action, counties };\r\n }),\r\n switchMap(({ action, counties }: { action: detailsActions.DistrictLoadCounties, counties: string[] }) => {\r\n const { panel, stateCode } = action.payload;\r\n\r\n //\tskip service call if we already have a county list for this state\r\n if (counties) {\r\n console.log(`loadCounties$: county list for ${action.payload.stateCode} already loaded.`);\r\n\r\n return of(new detailsActions.DistrictLoadCountiesSuccess({ panel, counties }));\r\n }\r\n\r\n return this.addressService.loadCounties(stateCode).pipe(\r\n tap(res => console.log(`addressService.loadCounties( ${stateCode} ) returned: `, res)),\r\n map((counties: string[]) => {\r\n return new detailsActions.DistrictLoadCountiesSuccess({ panel, counties });\r\n }),\r\n );\r\n }),\r\n tap(a => console.log('Exiting loadCounties$ Effect: ', a)),\r\n ));\r\n\r\n \r\n createDistrict$ = createEffect(() => this.actions$.pipe(\r\n ofType(detailsActions.DistrictActionTypes.CreateDistrict),\r\n switchMap((action: detailsActions.CreateDistrict) => {\r\n console.log('CreateDistrict Effect');\r\n\r\n return this.districtService.createDistrict(action.payload.district).pipe(\r\n tap(d => {\r\n console.log('createDistrict$ returned:', d);\r\n }),\r\n map(createDistrictResult => {\r\n if (createDistrictResult === null) {\r\n return new detailsActions.CreateDistrictFailure({ errors: 'Error creating district' });\r\n }\r\n\r\n return new detailsActions.CreateDistrictSuccess({ id: createDistrictResult });\r\n }),\r\n catchError(error => of(new detailsActions.CreateDistrictFailure({ errors: error })))\r\n );\r\n })\r\n ));\r\n\r\n \r\n createDistrictFailure$ = createEffect(() => this.actions$.pipe(\r\n ofType(detailsActions.DistrictActionTypes.CreateDistrictFailure),\r\n tap(a => console.log('Entering createDistrictFailure$ Effect: ', a)),\r\n switchMap((action: detailsActions.CreateDistrictFailure) => {\r\n return of(new fromRoot.DisplayMessage({\r\n message: this.getErrorMessage(action.payload.errors),\r\n messageType: MessageType.alert,\r\n toast: false,\r\n }));\r\n }),\r\n tap(a => console.log('Exiting createDistrictFailure$ Effect: ', a)),\r\n ));\r\n\r\n private getErrorMessage(response: HttpErrorResponse): string {\r\n if (response.status === 400 && response.error) {\r\n try {\r\n const problemDetails = response.error as ProblemDetails;\r\n if (problemDetails) {\r\n const firstError = problemDetails.errors ? problemDetails.errors[Object.keys(problemDetails.errors)[0]] : null;\r\n if (firstError)\r\n return firstError;\r\n else if (problemDetails.title)\r\n return problemDetails.title;\r\n }\r\n }\r\n catch (ex) {\r\n console.warn(ex);\r\n }\r\n }\r\n\r\n return response.error ? response.error.message : response.message;\r\n }\r\n}\r\n","import { Configuration } from './Configuration';\r\nimport { MessageType } from './Message';\r\nimport { RolePolicy, PolicyResult } from './RolePolicy';\r\n\r\nexport const models: any[] = [Configuration, MessageType];\r\n\r\nexport * from './Configuration';\r\nexport * from './Message';\r\nexport * from './RolePolicy';\r\nexport * from './security.models';\r\nexport * from './ProblemDetails';","import { Component, Input, OnInit } from '@angular/core';\r\n\r\nimport { RateAgreement, NodeLevel, NodeLevelNames } from '../../models';\r\n\r\n@Component({\r\n\tselector: 'opus-school-rate',\r\n\ttemplateUrl: './school-rate.component.html',\r\n})\r\nexport class SchoolRateComponent implements OnInit {\r\n\t@Input() rateAgreement: RateAgreement;\r\n\t@Input() nodeLevel?: NodeLevel;\r\n\r\n\tconstructor() {\t}\r\n\r\n\tngOnInit() {\r\n\t\tconsole.log(this.rateAgreement);\r\n\t}\r\n\r\n\tget rateCode() {\r\n\t\treturn this.rateAgreement ? this.rateAgreement.code : '';\r\n\t}\r\n\r\n\tget rateDescription() {\r\n\t\treturn this.rateAgreement ? this.rateAgreement.description : '';\r\n\t}\r\n\r\n\tget rateEffectivity() {\r\n\t\treturn this.rateAgreement ? this.getDateRangeText(this.rateAgreement.startDate, this.rateAgreement.endDate) : '';\r\n\t}\r\n\r\n\tget nodeLevelName(): string {\r\n\t\treturn NodeLevelNames[this.nodeLevel || ''];\r\n\t}\r\n\r\n\tprivate getDate(s: string): Date {\r\n\t\tconst ms: number = Date.parse(s);\r\n\r\n\t\tif (isNaN(ms)) {\r\n\t\t\treturn null;\r\n\t\t}\r\n\r\n\t\treturn new Date(ms);\r\n\t}\r\n\r\n\tprivate getDateText(d: Date): string {\r\n\t\treturn d === null ? 'Unspecified' : `${d.getMonth() + 1}/${d.getDate()}/${d.getFullYear()}`;\r\n\t}\r\n\r\n\tprivate getDateRangeText(from: string, to: string): string {\r\n\t\tconst fromDate = this.getDate(from);\r\n\t\tconst toDate = this.getDate(to);\r\n\r\n\t\tif (fromDate === null && toDate === null) {\r\n\t\t\treturn '';\r\n\t\t}\r\n\r\n\t\treturn `${this.getDateText(fromDate)} - ${this.getDateText(toDate)}`;\r\n\t}\r\n}\r\n","
    \r\n\t
  • \r\n\t\t
    Agreement ID
    \r\n\t\t
    {{ rateCode }}
    \r\n\t
  • \r\n\t
  • \r\n\t\t
    Description
    \r\n\t\t
    \r\n\t\t\t
    {{ rateDescription }}
    \r\n\t\t
    \r\n\t
  • \r\n\t
  • \r\n\t\t
    Effectivity
    \r\n\t\t
    {{ rateEffectivity }}
    \r\n\t
  • \r\n\t
  • \r\n\t\t
    Node Level
    \r\n\t\t
    {{ nodeLevelName }}
    \r\n\t
  • \r\n
\r\n","import { Component, OnInit, OnDestroy } from '@angular/core';\r\nimport { OidcSecurityService, } from 'angular-auth-oidc-client';\r\n\r\n@Component({\r\n selector: 'app-unauthorized',\r\n templateUrl: './unauthorized.component.html'\r\n})\r\n\r\nexport class UnauthorizedComponent implements OnInit, OnDestroy {\r\n lang: any;\r\n\r\n constructor(public oidcSecurityService: OidcSecurityService)\r\n {\r\n //this.oidcSecurityService.onModuleSetup.subscribe(() => { this.onModuleSetup(); });\r\n }\r\n\r\n ngOnInit() {\r\n //if (this.oidcSecurityService.moduleSetup) {\r\n // this.onModuleSetup();\r\n //}\r\n }\r\n\r\n ngOnDestroy(): void {\r\n //this.oidcSecurityService.onModuleSetup.unsubscribe();\r\n }\r\n\r\n private onModuleSetup() {\r\n //this.oidcSecurityService.authorize();\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n
\r\n

401 Unauthorized

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

You are unauthorized to access the requested resource.

\r\n

If you feel you have received this in error, please contact support.

\r\n
\r\n
\r\n Go Home\r\n
\r\n
\r\n
\r\n
","import { Injectable } from '@angular/core';\r\n\r\nimport { tap, switchMap, map, catchError } from 'rxjs/operators';\r\nimport { of } from 'rxjs';\r\n\r\nimport { Store } from '@ngrx/store';\r\nimport { Actions, createEffect, ofType } from '@ngrx/effects';\r\n\r\nimport * as configurationActions from '../actions/configuration.action';\r\nimport * as fromServices from '../../services';\r\nimport { CoreState } from '..';\r\n\r\n@Injectable()\r\nexport class ConfigurationEffects {\r\n constructor(\r\n private actions$: Actions,\r\n private configurationService: fromServices.ConfigurationHttpService,\r\n private store$: Store,\r\n ) { }\r\n\r\n \r\n loadConfiguration$ = createEffect(() => this.actions$.pipe(\r\n ofType(configurationActions.ConfigurationActionTypes.LoadConfiguration),\r\n switchMap((action: configurationActions.LoadConfiguration) => {\r\n console.log('Load Configuration Effect');\r\n return this.configurationService.loadConfiguration().pipe(\r\n tap(d => {\r\n console.log('loadConfiguration returned:', d);\r\n }),\r\n map(event => {\r\n if (event === null) {\r\n return new configurationActions.LoadConfigurationFailure('Configuration Not Found');\r\n }\r\n\r\n return new configurationActions.LoadConfigurationSuccess(event);\r\n }),\r\n catchError(error => of(new configurationActions.LoadConfigurationFailure(error)))\r\n );\r\n })\r\n ));\r\n\r\n}\r\n","import { SchoolType } from '../../schools/models';\r\nimport { Address } from '../../events/models/index';\r\n\r\nexport enum InactiveReason {\r\n Inactive = 0,\r\n Duplicate,\r\n Pending\r\n}\r\n\r\nexport interface TeacherCreate {\r\n prefix: number;\r\n firstName: string;\r\n lastName: string;\r\n suffix: number;\r\n districtId: number;\r\n schoolType: number;\r\n zip: string;\r\n email: string;\r\n}\r\n\r\nexport interface TeacherDetails {\r\n id: number;\r\n name: string;\r\n active: boolean;\r\n gender: string;\r\n schoolType: SchoolType;\r\n inactiveReason: InactiveReason;\r\n duplicateTeacherId: number;\r\n\r\n prefix: number;\r\n firstName: string;\r\n lastName: string;\r\n suffix: number;\r\n\r\n districtId: number;\r\n districtName: string;\r\n\r\n mailingAddressId: number;\r\n mailingAddress: Address;\r\n\r\n phone: string;\r\n fax: string;\r\n email: string;\r\n\r\n externalSystemId: string;\r\n bio: string;\r\n education: string;\r\n instruments: string;\r\n}\r\n","import { Component, OnInit, Input, OnChanges } from '@angular/core';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\n\r\nimport { Observable, Subscription } from 'rxjs';\r\n\r\nimport { select, Store } from '@ngrx/store';\r\n\r\nimport * as fromStore from '../store';\r\nimport * as fromModels from '../models';\r\nimport { SchoolDetails } from '../../schools/models';\r\n\r\n@Component({\r\n\tselector: 'opus-event-searchresults-page',\r\n\ttemplateUrl: './event-searchresults.component.html',\r\n})\r\nexport class EventSearchResultsComponent implements OnInit, OnChanges {\r\n @Input() school: SchoolDetails;\r\n searchResultsState$: Observable;\r\n embeddedVersion = false;\r\n\r\n showModal = false;\r\n\r\n private _subscription: Subscription;\r\n private _searchCriteria: fromModels.EventSearchCriteria;\r\n private _pagingSorting: fromModels.EventPagingSorting;\r\n \r\n constructor(private route: ActivatedRoute, private router: Router, private _store: Store) {\r\n\t\tconsole.log('DistrictSearchResultsComponent: constructor().');\r\n\t}\r\n\r\n ngOnInit() {\r\n console.log('EventSearchResultsComponent: ngOnInit().');\r\n // Get results of search (so our html can populate)\r\n this.searchResultsState$ = this._store.pipe(select(fromStore.getEventSearchState));\r\n // Grab the current search criteria stored in the state\r\n console.log(this.searchResultsState$);\r\n this._subscription = this.searchResultsState$.subscribe(s => {\r\n this._searchCriteria = s.searchCriteria;\r\n this._pagingSorting = s.pagingSorting;\r\n });\r\n\r\n if (this.school === null) {\r\n // If query params are changed, process them\r\n this.route.queryParams.subscribe(val => {\r\n this._store.dispatch(new fromStore.ProcessQueryString(this.router.url));\r\n });\r\n }\r\n }\r\n\r\n ngOnChanges() {\r\n if (this.school != null) {\r\n this.embeddedVersion = true;\r\n // Load results based on specified school\r\n this._store.dispatch(new fromStore.GetResultsForSchool(this.school, this._searchCriteria));\r\n }\r\n }\r\n\r\n nextPage() {\r\n console.log('EventSearchResultsComponent: nextPage().');\r\n\r\n // Run the search again with the new parameters\r\n this._store.dispatch(new fromStore.NextPage(this._searchCriteria, this._pagingSorting));\r\n }\r\n\r\n prevPage() {\r\n console.log('EventSearchResultsComponent: prevPage().');\r\n\r\n // Run the search again with the new parameters\r\n this._store.dispatch(new fromStore.PrevPage(this._searchCriteria, this._pagingSorting));\r\n }\r\n\r\n setPageSize(pageSize: number) {\r\n console.log('EventSearchResultsComponent: setPageSize().');\r\n\r\n // Run the search again with the new parameters\r\n this._store.dispatch(new fromStore.SetPageSize(pageSize, this._searchCriteria));\r\n }\r\n\r\n lastPage() {\r\n console.log('EventSearchResultsComponent: lastPage().');\r\n\r\n // Run the search again with the new parameters\r\n this._store.dispatch(new fromStore.LastPage(this._searchCriteria, this._pagingSorting));\r\n }\r\n\r\n firstPage() {\r\n console.log('EventSearchResultsComponent: firstPage().');\r\n\r\n // Run the search again with the new parameters\r\n this._store.dispatch(new fromStore.FirstPage(this._searchCriteria, this._pagingSorting));\r\n }\r\n\r\n sortBy(column: string) {\r\n console.log('EventSearchResultsComponent: sortBy().');\r\n\r\n // Run the search again with the new parameters\r\n this._store.dispatch(new fromStore.SortBy(column, this._searchCriteria, this._pagingSorting));\r\n }\r\n\r\n selectPreferenceSet(eventId: Number) {\r\n // TODO: How do I navigate to a preference set?\r\n console.log(`selectPreferenceSet for ${eventId}`);\r\n console.log('TODO: Need to implement preferences route.');\r\n //this._store.dispatch(new fromRoot.Go({\r\n // path: [`events/${eventId}/preferences`]\r\n //}));\r\n }\r\n\r\n createEvent() {\r\n console.log('createEvent');\r\n this.showModal = true;\r\n //this._store.dispatch(new fromRoot.Go({\r\n // path: [`events/create`]\r\n //}));\r\n }\r\n\r\n createEventClosed(created) {\r\n if (created) {\r\n console.log('Event created');\r\n }\r\n else {\r\n console.log('Event create was canceled');\r\n }\r\n\r\n // Reset our flag so we can show the modal again later if we want to.\r\n this.showModal = false;\r\n }\r\n}\r\n","
\r\n

\r\n Back to Search\r\n

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

Events

\r\n

Events

\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n Showing {{(searchResultsState$ | async).pagingSorting.pageSize * ((searchResultsState$ | async).pagingSorting.currentPage - 1) + 1}} -\r\n {{(searchResultsState$ | async).pagingSorting.pageSize > (searchResultsState$ | async).pagingSorting.totalCount ? (searchResultsState$ | async).pagingSorting.totalCount : (searchResultsState$ | async).pagingSorting.pageSize * (searchResultsState$ | async).pagingSorting.currentPage}} of\r\n {{(searchResultsState$ | async).pagingSorting.totalCount}}\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Day\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n Showing {{(searchResultsState$ | async).pagingSorting.pageSize * ((searchResultsState$ | async).pagingSorting.currentPage - 1) + 1}} -\r\n {{(searchResultsState$ | async).pagingSorting.pageSize > (searchResultsState$ | async).pagingSorting.totalCount ? (searchResultsState$ | async).pagingSorting.totalCount : (searchResultsState$ | async).pagingSorting.pageSize * (searchResultsState$ | async).pagingSorting.currentPage}} of\r\n {{(searchResultsState$ | async).pagingSorting.totalCount}}\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n\r\n","import { Component, ChangeDetectorRef } from '@angular/core';\r\nimport { FormBuilder, FormGroup, AsyncValidatorFn, AbstractControl, ValidationErrors } from '@angular/forms';\r\n\r\nimport { Observable, of } from 'rxjs';\r\nimport { takeWhile, tap, map, filter, take } from 'rxjs/operators';\r\n\r\nimport { select, Store } from '@ngrx/store';\r\n\r\nimport * as fromScpStore from '../../scp-common/store';\r\n\r\nimport { SchoolDetails, SchoolDelivery, ServiceLevel } from '../models';\r\nimport * as fromStore from '../store';\r\n\r\n@Component({\r\n\tselector: 'opus-school-online-rentals-editor',\r\n\ttemplateUrl: './school-online-rentals-editor.component.html',\r\n})\r\nexport class SchoolOnlineRentalsEditorComponent {\r\n\talive = true;\r\n\tschoolDetails$: Observable;\r\n\tschool: SchoolDetails;\r\n\tpanelState$: Observable;\r\n\tpanelState: fromStore.PanelState;\r\n\tlocationState$: Observable;\r\n\tlocationState: fromScpStore.LocationsState;\r\n\r\n\tpanelId = fromStore.PanelId.OnlineRentals;\r\n\teditor: FormGroup;\r\n\tinLookup = false;\r\n\tlocationCode: number;\r\n\tlocationId: number;\r\n\tlocationName: string;\r\n showDeliveryError = false;\r\n\r\n\tconstructor(private store: Store, private fb: FormBuilder, private cdr: ChangeDetectorRef) {\r\n\t\tconsole.log('SchoolOnlineRentalsEditorComponent()...');\r\n\t}\r\n\r\n\tngOnInit() {\r\n\t\tconsole.log('SchoolOnlineRentalsEditorComponent.ngOnInit()...');\r\n\r\n\t\tthis.schoolDetails$ = this.store.pipe(select(fromStore.getSchoolDetailsEntity));\r\n\t\tthis.schoolDetails$.pipe(\r\n\t\t\ttakeWhile(() => this.alive)\r\n\t\t).subscribe(s => {\r\n\t\t\tthis.school = s;\r\n\t\t\tthis.locationName = s.exclusiveServiceAccountName;\r\n\t\t\tthis.locationId = s.exclusiveServiceAccountId;\r\n\t\t\tthis.locationCode = s.exclusiveServiceAccountCode;\r\n\t\t});\r\n\r\n\t\tthis.panelState$ = this.store.pipe(select(fromStore.getDetailsStateOnlineRentalsPanel));\r\n\t\tthis.panelState$.pipe(\r\n\t\t\ttakeWhile(() => this.alive),\r\n\t\t\ttap(s => {\r\n\t\t\t\tif (!s.editing && this.panelState && this.panelState.editing) {\r\n\t\t\t\t\tconsole.log('SchoolOnlineRentalsEditorComponent.panelState$: clearing form...');\r\n\t\t\t\t\tthis.resetForm();\r\n\t\t\t\t}\r\n\t\t\t}),\r\n\t\t).subscribe(s => this.panelState = s);\r\n\r\n\t\tthis.createForm();\r\n\r\n\t\tthis.locationState$ = this.store.pipe(select(fromScpStore.getLocationsState));\r\n\t}\r\n\r\n\tngOnDestroy() {\r\n\t\tconsole.log('SchoolOnlineRentalsEditorComponent.ngOnDestroy()...');\r\n\t\tthis.alive = false;\r\n\t}\r\n\r\n\tcreateForm() {\r\n\t\tthis.editor = this.fb.group({\r\n\t\t\tonlineRental: [this.onlineRental],\r\n\t\t\tshipToHome: [this.shipToHome],\r\n\t\t\tschoolDelivery: [this.school.schoolDelivery],\r\n\t\t\tserviceLevel: [this.school.serviceLevel],\r\n\t\t\texclusiveServiceAccountCode: [this.school.exclusiveServiceAccountCode, { asyncValidators: [this.locationValidator()], updateOn: 'blur' }],\r\n\t\t\toffersBandshare: [this.offersBandshare],\r\n\t\t});\r\n\t}\r\n\r\n\tresetForm() {\r\n\t\tthis.editor.reset({\r\n\t\t\tonlineRental: this.onlineRental,\r\n\t\t\tshipToHome: this.shipToHome,\r\n\t\t\tschoolDelivery: this.school.schoolDelivery,\r\n\t\t\tserviceLevel: this.school.serviceLevel,\r\n\t\t\texclusiveServiceAccountCode: this.school.exclusiveServiceAccountCode,\r\n\t\t\toffersBandshare: [this.offersBandshare],\r\n\t\t});\r\n\t}\r\n\r\n\tget canSave(): boolean {\r\n\t\tconsole.log(`canSave(): valid = ${this.editor.valid}, dirty = ${this.editor.dirty}, validationStatus = `, this.panelState.validationStatus);\r\n\r\n\t\treturn this.editor.valid && this.editor.dirty && !this.inLookup;\r\n\t}\r\n\r\n\tget saveButtonLabel(): string {\r\n\t\treturn this.panelState.updating ? 'Saving...' : 'Save';\r\n\t}\r\n\r\n\tget onlineRental() {\r\n\t\treturn this.school.onlineRental ? 'Yes' : 'No';\r\n\t}\r\n\r\n\tget shipToHome() {\r\n\t\treturn this.school.shipToHome ? 'Yes' : 'No';\r\n\t}\r\n\r\n\tget schoolDelivery() {\r\n\t\treturn SchoolDelivery[this.school.schoolDelivery];\r\n\t}\r\n\r\n\tget serviceLevel() {\r\n\t\treturn ServiceLevel[this.school.serviceLevel];\r\n\t}\r\n\r\n\tget offersBandshare() {\r\n\t\treturn this.school.offersBandshare ? 'Yes' : 'No';\r\n\t}\r\n\r\n\tonSubmit() {\r\n\t\tconsole.log('onSubmit: ', this.editor.status, this.editor.value);\r\n\r\n const school: SchoolDetails = {\r\n ...this.school,\r\n onlineRental: this.editor.value.onlineRental === 'Yes',\r\n shipToHome: this.editor.value.shipToHome === 'Yes',\r\n schoolDelivery: +this.editor.value.schoolDelivery,\r\n serviceLevel: +this.editor.value.serviceLevel,\r\n exclusiveServiceAccountId: this.locationId,\r\n offersBandshare: this.editor.value.offersBandshare === 'Yes',\r\n };\r\n\r\n this.store.dispatch(new fromStore.UpdateSchoolPanel({ panel: this.panelId, school }));\r\n\t}\r\n\r\n onSchoolDeliveryChange() {\r\n if (this.school.relationshipManager.locationCode == 9999 && this.school.schoolDelivery == 0 && this.editor.value.schoolDelivery > 0) {\r\n this.editor.controls['schoolDelivery'].setValue(0);\r\n this.showDeliveryError = true;\r\n }\r\n }\r\n\r\n\tlocationValidator(): AsyncValidatorFn {\r\n\t\treturn (control: AbstractControl): Observable | null => {\r\n\t\t\tconsole.log('locationValidator(): ', control);\r\n\r\n\t\t\tif (!control.dirty || +control.value == this.locationCode) {\r\n\t\t\t\treturn of(null);\r\n\t\t\t}\r\n\r\n\t\t\tthis.locationCode = +control.value;\r\n\r\n\t\t\tif (!this.locationCode) {\r\n\t\t\t\tthis.locationId = null;\r\n\t\t\t\tthis.locationName = null;\r\n\r\n\t\t\t\treturn of(null);\r\n\t\t\t}\r\n\r\n\t\t\tif (this.locationCode == this.school.exclusiveServiceAccountCode) {\r\n\t\t\t\tthis.locationId = this.school.exclusiveServiceAccountId;\r\n\t\t\t\tthis.locationName = this.school.exclusiveServiceAccountName;\r\n\r\n\t\t\t\treturn of(null);\r\n\t\t\t}\r\n\r\n\r\n\t\t\tthis.store.dispatch(new fromScpStore.GetLocation({ code: this.locationCode }));\r\n\r\n\t\t\treturn this.locationState$.pipe(\r\n\t\t\t\ttap(ls => {\r\n\t\t\t\t\tif (ls.locationManagers[this.locationCode].pending) {\r\n\t\t\t\t\t\tthis.inLookup = true;\r\n\t\t\t\t\t\tthis.locationId = null;\r\n\t\t\t\t\t\tthis.locationName = null;\r\n\t\t\t\t\t}\r\n\t\t\t\t}),\r\n\t\t\t\tfilter(ls => {\r\n\t\t\t\t\tconsole.log('filter: ', this.locationCode, ls);\r\n\r\n\t\t\t\t\treturn !ls.locationManagers[this.locationCode].pending;\r\n\t\t\t\t}),\r\n\t\t\t\tmap(ls => {\r\n\t\t\t\t\tconst loc = ls.locationManagers[this.locationCode];\r\n\t\t\t\t\tconst error = loc.error;\r\n\r\n\t\t\t\t\tconsole.log('map: ', this.locationCode, error);\r\n\r\n\t\t\t\t\tthis.inLookup = false;\r\n\r\n\t\t\t\t\tif (loc.manager) {\r\n\t\t\t\t\t\tthis.locationId = loc.manager.id;\r\n\t\t\t\t\t\tthis.locationName = loc.manager.name;\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tthis.cdr.markForCheck();\r\n\r\n\t\t\t\t\treturn error ? { server: error } : null;\r\n\t\t\t\t}),\r\n\t\t\t\ttake(1),\r\n\t\t\t);\r\n\t\t};\r\n\t}\r\n\r\n\tonValidateExclusiveServiceAccountCode() {\r\n\t\tconsole.log('onValidateExclusiveServiceAccountCode(): ', this.editor.value.exclusiveServiceAccountCode);\r\n\r\n\t\t//\tdo nothing - the blur validation on the code field will resolve.\r\n\t}\r\n}\r\n","
\r\n\t
\r\n\t
    \r\n\t\t
  • \r\n\t\t\t\r\n\t\t\t
    \r\n\t\t\t\t\r\n\t\t\t
    \r\n\t\t
  • \r\n\t\t
  • \r\n\t\t\t\r\n\t\t\t
    \r\n\t\t\t\t\r\n\t\t\t
    \r\n\t\t
  • \r\n\t\t
  • \r\n\t\t\t\r\n\t\t\t
    \r\n\t\t\t\t\r\n\t\t\t
    \r\n\t\t\t
    \r\n\t\t\t\t
    School Delivery is not allowed for this Relationship Manager
    \r\n\t\t\t
    \r\n\t\t
  • \r\n\t\t
  • \r\n\t\t\t\r\n\t\t\t
    \r\n\t\t\t\t
    \r\n\t\t\t\t\t\r\n\t\t\t\t\t
    \r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
    \r\n\t\t\t\t
    \r\n\t\t\t\t
    \r\n\t\t\t\t\t
    {{ editor.controls.exclusiveServiceAccountCode.errors.server }}
    \r\n\t\t\t\t
    \r\n\t\t\t
    \r\n\t\t
  • \r\n\t\t
  • \r\n\t\t\t
    Exclusive Service Account Name
    \r\n\t\t\t
    {{ locationName }}
    \r\n\t\t
  • \r\n\t\t
  • \r\n\t\t\t\r\n\t\t\t
    \r\n\t\t\t\t\r\n\t\t\t
    \r\n\t\t
  • \r\n\t
\r\n\t
\r\n\t\t
\r\n\t\t\t\r\n\t\t
\r\n\t
\r\n
\r\n","import { Component, OnInit, OnDestroy, ChangeDetectorRef } from '@angular/core';\r\nimport { FormBuilder, FormGroup, FormControl } from '@angular/forms';\r\n\r\nimport { Observable } from 'rxjs';\r\nimport { takeWhile } from 'rxjs/operators';\r\n\r\nimport { select, Store } from '@ngrx/store';\r\n\r\nimport * as fromStore from '../store';\r\nimport { InstrumentCombo } from '../models';\r\n\r\n@Component({\r\n\tselector: 'opus-combos',\r\n\ttemplateUrl: './combos.component.html',\r\n})\r\nexport class CombosComponent implements OnInit, OnDestroy {\r\n\talive = true;\r\n\tvm$: Observable;\r\n\tvm: fromStore.CombosState;\r\n\tclassCtrl = new FormControl('');\r\n\tselectedClassId: number = null;\r\n\tfilters: FormGroup;\r\n\tsort = { by: 'catCode', reverse: false };\r\n\tselectedCombos: number[] = [];\r\n\tupdating = false;\r\n\tshowDeleteModal = false;\r\n\tdeletingCombo: InstrumentCombo = null;\r\n\tdeleting = false;\r\n\r\n\tconstructor(private store: Store, private cdr: ChangeDetectorRef, private fb: FormBuilder) {\r\n\t\tconsole.log('CombosComponent()...');\r\n\t}\r\n\r\n\tngOnInit() {\r\n\t\tconsole.log('CombosComponent.ngOnInit()...');\r\n\r\n\t\tthis.vm$ = this.store.pipe(select(fromStore.getCombosState));\r\n\t\tthis.vm$.pipe(\r\n\t\t\ttakeWhile(() => this.alive)\r\n\t\t).subscribe(vm => {\r\n\t\t\tconsole.log('CombosComponent.vm$: ', vm);\r\n\r\n\t\t\t//\ttemplate will be bound to the vm instance instead of the observable so we don't have to use async pipe subscriptions all over the place in it\r\n\t\t\t//\tso we have to manage our unsubscribe & manually tell angular to detect changes on updates\r\n\t\t\tthis.vm = vm;\r\n\r\n\t\t\tif (!vm.loadedClasses && !vm.loadingClasses && !vm.errors) {\r\n\t\t\t\tthis.store.dispatch(new fromStore.LoadClasses());\r\n\t\t\t}\r\n\r\n\t\t\tif (this.updating && !vm.updating) {\r\n\t\t\t\tthis.updating = false;\r\n\t\t\t\tthis.classCtrl.enable();\r\n\r\n\t\t\t\tif (!vm.errors) {\r\n\t\t\t\t\tthis.toggleSelectAll(false);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\tif (this.deleting && !vm.deleting) {\r\n\t\t\t\tthis.deleting = false;\r\n\t\t\t\tthis.classCtrl.enable();\r\n\r\n\t\t\t\tif (!vm.errors) {\r\n\t\t\t\t\tconst i = this.selectedCombos.findIndex(c => c == this.deletingCombo.id);\r\n\r\n\t\t\t\t\tif (i !== -1) {\r\n\t\t\t\t\t\tthis.selectedCombos.splice(i, 1);\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\r\n\t\t\t\tthis.deletingCombo = null;\r\n\t\t\t}\r\n\r\n\t\t\tthis.cdr.detectChanges();\r\n\t\t});\r\n\r\n\t\tthis.classCtrl.valueChanges.pipe(\r\n\t\t\ttakeWhile(() => this.alive)\r\n\t\t).subscribe(val => {\r\n\t\t\tconsole.log('classCtrl.valueChanges(): ', val);\r\n\r\n\t\t\tif (val !== null && val != this.selectedClassId) {\r\n\t\t\t\tthis.selectedClassId = val;\r\n\t\t\t\tthis.store.dispatch(new fromStore.LoadCombos(val));\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t\tthis.filters = this.fb.group({\r\n\t\t\tcatName: [''],\r\n\t\t\tcatCode: [''],\r\n\t\t\tbrand: [''],\r\n\t\t\tsize: [''],\r\n\t\t\tcolor: [''],\r\n\t\t\tavailable: ['any'],\r\n\t\t});\r\n\t}\r\n\r\n\tngOnDestroy() {\r\n\t\tconsole.log('CombosComponent.ngOnDestroy()...');\r\n\t\tthis.alive = false;\r\n\t}\r\n\r\n\tget isLoading(): boolean {\r\n\t\t//console.log('isLoading(): ', this.selectedClassId, this.vm.combos);\r\n\r\n\t\treturn this.selectedClassId !== null && this.vm.classCombos[this.selectedClassId] && this.vm.classCombos[this.selectedClassId].loading;\r\n\t}\r\n\r\n\tget combos(): InstrumentCombo[] {\r\n\t\treturn this.vm.classCombos[this.selectedClassId] ? this.vm.classCombos[this.selectedClassId].combos || [] : [];\r\n\t}\r\n\r\n\tget filteredCombos(): InstrumentCombo[] {\r\n\t\treturn this.combos.filter(ic => {\r\n\t\t\tlet allow = true;\r\n\r\n\t\t\tObject.keys(this.filters.value).forEach(k => {\r\n\t\t\t\tif (!allow) {\r\n\t\t\t\t\treturn;\r\n\t\t\t\t}\r\n\r\n\t\t\t\tconst fv = this.filters.value[k].toLowerCase();\r\n\r\n\t\t\t\tif (!fv) {\r\n\t\t\t\t\treturn;\r\n\t\t\t\t}\r\n\r\n\t\t\t\tswitch (k) {\r\n\t\t\t\t\tcase 'catName': allow = ic.rentalCategory.name.toLowerCase().includes(fv); break;\r\n\t\t\t\t\tcase 'catCode': allow = ic.rentalCategory.code.toLowerCase().includes(fv); break;\r\n\t\t\t\t\tcase 'brand': allow = ic.brand.name.toLowerCase().includes(fv); break;\r\n\t\t\t\t\tcase 'size': allow = ic.size ? ic.size.toLowerCase().includes(fv) : fv == 'any'; break;\r\n\t\t\t\t\tcase 'color': allow = ic.color ? ic.color.toLowerCase().includes(fv) : fv == 'any'; break;\r\n\t\t\t\t\tcase 'available': allow = fv == 'any' ? true : (fv == 'yes' ? ic.isAvailable : !ic.isAvailable); break;\r\n\t\t\t\t}\r\n\t\t\t});\r\n\r\n\t\t\t//console.log(allow, ic);\r\n\r\n\t\t\treturn allow;\r\n\t\t}).sort((a, b) => {\r\n\t\t\tlet ret = 0;\r\n\r\n\t\t\tswitch (this.sort.by) {\r\n\t\t\t\tcase 'catName': ret = a.rentalCategory.name < b.rentalCategory.name ? -1 : 1; break;\r\n\t\t\t\tcase 'catCode': ret = a.rentalCategory.code < b.rentalCategory.code ? -1 : 1; break;\r\n\t\t\t\tcase 'brand': ret = a.brand.name < b.brand.name ? -1 : 1; break;\r\n\t\t\t\tcase 'size': ret = (a.size || 'Any') < (b.size || 'Any') ? -1 : 1; break;\r\n\t\t\t\tcase 'color': ret = (a.color || 'Any') < (b.color || 'Any') ? -1 : 1; break;\r\n\t\t\t\tcase 'available': ret = a.isAvailable < b.isAvailable ? -1 : 1; break;\r\n\t\t\t}\r\n\r\n\t\t\treturn this.sort.reverse ? -ret : ret;\r\n\t\t});\r\n\t}\r\n\r\n\tsortBy(by: string) {\r\n\t\tif (by == this.sort.by) {\r\n\t\t\tthis.sort.reverse = !this.sort.reverse;\r\n\t\t} else {\r\n\t\t\tthis.sort.by = by;\r\n\t\t\tthis.sort.reverse = false;\r\n\t\t}\r\n\t}\r\n\r\n\ttoggleSelectAll(select: boolean = null) {\r\n\t\tthis.selectedCombos = (select === null && this.selectedCombos.length === this.filteredCombos.length) || select === false\r\n\t\t\t? []\r\n\t\t\t: this.filteredCombos.map(c => c.id);\r\n\r\n\t\tthis.updateFilterStatus();\r\n\t}\r\n\r\n\tisSelected(id: number): boolean {\r\n\t\treturn this.selectedCombos.includes(id);\r\n\t}\r\n\r\n\tonSelectCombo(id: number) {\r\n\t\tconst i = this.selectedCombos.findIndex(c => c == id);\r\n\r\n\t\tif (i === -1) {\r\n\t\t\tthis.selectedCombos.push(id);\r\n\t\t} else {\r\n\t\t\tthis.selectedCombos.splice(i, 1);\r\n\t\t}\r\n\r\n\t\tthis.updateFilterStatus();\r\n\t}\r\n\r\n\tprivate updateFilterStatus() {\r\n\t\tif (this.selectedCombos.length) {\r\n\t\t\tthis.filters.disable();\r\n\t\t} else {\r\n\t\t\tthis.filters.enable();\r\n\t\t}\r\n\t}\r\n\r\n\tupdateSelected(available: boolean) {\r\n\t\tconst ids = this.selectedCombos.filter(id => this.filteredCombos.find(c => c.id == id).isAvailable != available);\r\n\r\n\t\tif (!ids.length) {\r\n\t\t\tconsole.log('updateSelected(): No update required.');\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tthis.store.dispatch(new fromStore.SetComboAvailability({\r\n\t\t\tclassId: this.selectedClassId,\r\n\t\t\tavailable,\r\n\t\t\tids,\r\n\t\t}));\r\n\r\n\t\tthis.updating = true;\r\n\t\tthis.classCtrl.disable();\r\n\t}\r\n\r\n\tonToggleAvailable(c: InstrumentCombo) {\r\n\t\tthis.store.dispatch(new fromStore.SetComboAvailability({\r\n\t\t\tclassId: this.selectedClassId,\r\n\t\t\tavailable: !c.isAvailable,\r\n\t\t\tids: [c.id]\r\n\t\t}));\r\n\t}\r\n\r\n\tget hasUnavailableSelections(): boolean {\r\n\t\treturn this.filteredCombos.find(c => this.selectedCombos.includes(c.id) && !c.isAvailable) !== undefined;\r\n\t}\r\n\r\n\tget hasAvailableSelections(): boolean {\r\n\t\treturn this.filteredCombos.find(c => this.selectedCombos.includes(c.id) && c.isAvailable) !== undefined;\r\n\t}\r\n\r\n\tonConfirmDelete(c: InstrumentCombo) {\r\n\t\tthis.deletingCombo = c;\r\n\t\tthis.showDeleteModal = true;\r\n\t}\r\n\r\n\tonDeleteModalAction(accept) {\r\n\t\tif (this.deleting) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tthis.showDeleteModal = false;\r\n\r\n\t\tif (accept) {\r\n\t\t\tthis.deleting = true;\r\n\t\t\tthis.classCtrl.disable();\r\n\t\t\tthis.store.dispatch(new fromStore.DeleteCombo({ classId: this.selectedClassId, id: this.deletingCombo.id }));\r\n\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tthis.deletingCombo = null;\r\n\t}\r\n}\r\n","\r\n\r\n
\r\n\t
\r\n\t\t
\r\n\t\t\t
\r\n\t\t\t\t

Instrument Combinations

\r\n\t\t\t
\r\n\t\t\t
\r\n\t\t\t\t

\r\n\t\t\t\t\tViewing {{ filteredCombos.length || 0 }} Combinations\r\n\t\t\t\t

\r\n\t\t\t
\r\n\t\t
\r\n\t
\r\n\r\n\t
\r\n\t\t
\r\n\t\t
\r\n\t\t\t
\r\n\t\t\t\t\r\n\t\t\t
\r\n\t\t\t
\r\n\t\t\t\t\r\n\t\t\t
\r\n\t\t
\r\n\t
\r\n\r\n\t
\r\n\t\t
\r\n\t\t\t
\r\n\t\t\t\t

Selected {{ selectedCombos.length }} combination{{ selectedCombos.length > 1 ? 's' : '' }}

\r\n\t\t\t
\r\n\t\t\t
\r\n\t\t\t\t\r\n\t\t\t
\r\n\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t
\r\n\t
\r\n\r\n\t
\r\n\t\t
\r\n\t\t

The selected category has no instrument combinations to manage.

\r\n\t\t
0\">\r\n\t\t\t
\r\n\r\n\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\tDelete\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\r\n\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t
\r\n\r\n\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t{{ c.rentalCategory.name }}\r\n\t\t\t\t\t{{ c.rentalCategory.code }}\r\n\t\t\t\t\t{{ c.brand.name }}\r\n\t\t\t\t\t{{ c.size || 'Any'}}\r\n\t\t\t\t\t{{ c.color || 'Any' }}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t
\r\n\t
\r\n\r\n
\r\n\r\n\r\n\t\r\n\t\t

Delete this combination? This cannot be undone.

\r\n\t\t
\r\n\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\tCategory\r\n\t\t\t\t\tBrand\r\n\t\t\t\t\tSize\r\n\t\t\t\t\tColor\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t{{ deletingCombo.rentalCategory.name }}\r\n\t\t\t\t\t{{ deletingCombo.brand.name }}\r\n\t\t\t\t\t{{ deletingCombo.size || 'Any' }}\r\n\t\t\t\t\t{{ deletingCombo.color || 'Any' }}\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t
\r\n\t
\r\n
\r\n","import { Component, OnInit, OnDestroy, ElementRef, AfterViewInit, ViewChild, ChangeDetectorRef } from '@angular/core';\r\nimport { FormBuilder, FormControl, FormGroup, Validators } from '@angular/forms';\r\n\r\nimport { Observable } from 'rxjs';\r\nimport { takeWhile, tap } from 'rxjs/operators';\r\n\r\nimport { select, Store } from '@ngrx/store';\r\nimport * as fromSchoolModels from '../../schools/models';\r\nimport * as validators from '../../../core/validators';\r\n\r\nimport { Event } from '../models';\r\nimport * as fromStore from '../store';\r\nimport { TeacherLookupCriteria } from '../../teachers/models';\r\n\r\ndeclare var $: any;\r\ndeclare var Foundation: any;\r\n\r\n@Component({\r\n selector: 'event-host-editor',\r\n templateUrl: './event-host-editor.component.html',\r\n})\r\nexport class EventHostEditorComponent implements OnInit, OnDestroy, AfterViewInit {\r\n @ViewChild('schoolDropdown', {static: true})\r\n schoolDropdown: ElementRef;\r\n\r\n @ViewChild('teacherDropdown', {static: true})\r\n teacherDropdown: ElementRef;\r\n\r\n alive = true;\r\n event$: Observable;\r\n event: Event;\r\n\r\n schoolFoundationDropdown: any;\r\n teacherFoundationDropdown: any;\r\n\r\n panelState$: Observable;\r\n panelState: fromStore.PanelState;\r\n\r\n lookupSchoolId: number;\r\n schoolLookup$: Observable;\r\n schoolLookup: fromStore.SchoolLookupState;\r\n lookupSchoolName: string;\r\n schoolByNameLookup$: Observable;\r\n schoolByNameLookup: fromStore.SchoolByNameLookupState;\r\n\r\n teacherLookup$: Observable;\r\n teacherLookup: fromStore.TeacherLookupState;\r\n teacherByCriteriaLookup$: Observable;\r\n teacherByCriteriaLookup: fromStore.TeacherByCriteriaLookupState;\r\n\r\n editor: FormGroup;\r\n\r\n constructor(private store: Store, private fb: FormBuilder, private ref: ChangeDetectorRef) {\r\n console.log('EventInfoEditorComponent()...');\r\n }\r\n\r\n ngOnInit() {\r\n console.log('EventInfoEditorComponent.ngOnInit()...');\r\n\r\n this.event$ = this.store.pipe(select(fromStore.getDetailsStateEvent));\r\n this.event$.pipe(\r\n takeWhile(() => this.alive)\r\n ).subscribe(d => this.event = d);\r\n\r\n this.createForm();\r\n\r\n this.panelState$ = this.store.pipe(select(fromStore.getDetailsStateEventHostPanel));\r\n this.panelState$.pipe(\r\n takeWhile(() => this.alive),\r\n tap(s => {\r\n if (!s.editing && this.panelState && this.panelState.editing) {\r\n this.resetForm();\r\n }\r\n }),\r\n ).subscribe(s => this.panelState = s);\r\n\r\n this.schoolLookup$ = this.store.pipe(select(fromStore.getDetailsStateSchoolLookup));\r\n this.schoolLookup$.pipe(\r\n takeWhile(() => this.alive)\r\n ).subscribe(schoolLookup => {\r\n this.schoolLookup = schoolLookup;\r\n\r\n if (schoolLookup && schoolLookup.pending && schoolLookup.schoolId == this.lookupSchoolId) {\r\n this.editor.controls.hostSchoolName.disable();\r\n }\r\n else {\r\n this.editor.controls.hostSchoolName.enable();\r\n }\r\n\r\n if (schoolLookup && schoolLookup.school) {\r\n this.editor.controls['hostSchoolName'].patchValue(schoolLookup.school.longName);\r\n }\r\n });\r\n\r\n this.schoolByNameLookup$ = this.store.pipe(select(fromStore.getDetailsStateSchoolByNameLookup));\r\n this.schoolByNameLookup$.pipe(\r\n takeWhile(() => this.alive)\r\n ).subscribe(schoolByNameLookup => {\r\n this.schoolByNameLookup = schoolByNameLookup;\r\n\r\n if (schoolByNameLookup && schoolByNameLookup.schools && schoolByNameLookup.name == this.lookupSchoolName) {\r\n //Trigger the drop down\r\n if (!this.schoolFoundationDropdown) {\r\n this.schoolFoundationDropdown = new Foundation.Dropdown($(this.schoolDropdown.nativeElement).first());\r\n }\r\n\r\n const native = $(this.schoolDropdown.nativeElement).first();\r\n if (!native.hasClass('is-open'))\r\n native.foundation('open');\r\n this.ref.detectChanges();\r\n }\r\n });\r\n\r\n this.teacherLookup$ = this.store.pipe(select(fromStore.getDetailsStateTeacherLookup));\r\n this.teacherLookup$.pipe(\r\n takeWhile(() => this.alive)\r\n ).subscribe(teacherLookup => {\r\n this.teacherLookup = teacherLookup;\r\n\r\n if (teacherLookup && teacherLookup.pending) {\r\n this.editor.controls.hostTeacherName.disable();\r\n }\r\n else {\r\n this.editor.controls.hostTeacherName.enable();\r\n }\r\n\r\n if (teacherLookup && teacherLookup.teacher) {\r\n this.editor.controls['hostTeacherName'].patchValue(teacherLookup.teacher.name);\r\n }\r\n });\r\n\r\n this.teacherByCriteriaLookup$ = this.store.pipe(select(fromStore.getDetailsStateTeacherByCriteriaLookup));\r\n this.teacherByCriteriaLookup$.pipe(\r\n takeWhile(() => this.alive)\r\n ).subscribe(teacherByCriteriaLookup => {\r\n this.teacherByCriteriaLookup = teacherByCriteriaLookup;\r\n\r\n if (teacherByCriteriaLookup && teacherByCriteriaLookup.teachers) {\r\n //Trigger the drop down\r\n if (!this.teacherFoundationDropdown) {\r\n this.teacherFoundationDropdown = new Foundation.Dropdown($(this.teacherDropdown.nativeElement).first());\r\n }\r\n\r\n const native = $(this.teacherDropdown.nativeElement).first();\r\n if (!native.hasClass('is-open'))\r\n native.foundation('open');\r\n this.ref.detectChanges();\r\n }\r\n });\r\n }\r\n\r\n get canSave(): boolean {\r\n return this.editor.valid && this.editor.dirty && !this.panelState.updating;\r\n }\r\n\r\n ngAfterViewInit() {\r\n console.log(this.schoolDropdown.nativeElement);\r\n }\r\n\r\n ngOnDestroy() {\r\n console.log('EventInfoEditorComponent.ngOnDestroy()...');\r\n this.alive = false;\r\n }\r\n\r\n createForm() {\r\n const hostSchoolName = new FormControl(this.event.hostingSchoolName);\r\n\r\n this.editor = new FormGroup({\r\n hostSchoolId: new FormControl(this.event.hostingSchoolId, [Validators.required, validators.NumericValidators.min(1)]),\r\n hostSchoolName: hostSchoolName,\r\n hostTeacherId: new FormControl(this.event.hostingTeacherId, [Validators.required, validators.NumericValidators.min(1)]),\r\n hostTeacherName: new FormControl(this.event.hostingTeacherName),\r\n });\r\n }\r\n\r\n lookupSchool() {\r\n this.lookupSchoolId = Number(this.editor.value.hostSchoolId);\r\n\r\n //Dispatch an action called EventSchoolSearchById\r\n this.store.dispatch(new fromStore.SchoolLookupById({ panel: fromStore.PanelId.EventHost, schoolId: this.lookupSchoolId }));\r\n }\r\n\r\n lookupSchoolByName($event: any) {\r\n $event.stopPropagation();\r\n $event.preventDefault();\r\n\r\n this.lookupSchoolName = this.editor.value.hostSchoolName;\r\n\r\n if ($event.code == 'Escape' || $event.code == 'Tab') {\r\n const native = $(this.schoolDropdown.nativeElement).first();\r\n if (native.hasClass('is-open'))\r\n native.foundation('close');\r\n } else {\r\n if (this.lookupSchoolName && this.lookupSchoolName.length > 3) {\r\n //Dispatch an action called EventSchoolSearchById\r\n this.store.dispatch(new fromStore.SchoolLookupByName({ panel: fromStore.PanelId.EventHost, name: this.lookupSchoolName }));\r\n }\r\n }\r\n }\r\n\r\n selectSchool(school: fromSchoolModels.SchoolLookup) {\r\n if (school) {\r\n this.editor.controls['hostSchoolName'].patchValue(school.longName);\r\n this.editor.controls['hostSchoolId'].patchValue(school.id);\r\n }\r\n }\r\n\r\n lookupTeacher() {\r\n const hostTeacherId = Number(this.editor.value.hostTeacherId);\r\n\r\n //Dispatch an action called EventTeacherSearchById\r\n this.store.dispatch(new fromStore.TeacherLookupById({ panel: fromStore.PanelId.EventHost, teacherId: hostTeacherId }));\r\n }\r\n\r\n lookupTeacherByCriteria($event: any) {\r\n const criteria : TeacherLookupCriteria = {\r\n name: this.editor.value.hostTeacherName,\r\n districtId: this.event.hostingSchoolDistrictId,\r\n };\r\n\r\n if (this.event.eventAddress && this.event.eventAddress.zip)\r\n criteria.zip = this.event.eventAddress.zip;\r\n else if (this.event.hostingSchoolAddress && this.event.hostingSchoolAddress.zip)\r\n criteria.zip = this.event.hostingSchoolAddress.zip.substring(0, 5);\r\n\r\n if ($event.code == 'Escape' || $event.code == 'Tab') {\r\n const native = $(this.teacherDropdown.nativeElement).first();\r\n if (native.hasClass('is-open'))\r\n native.foundation('close');\r\n } else {\r\n if (criteria.name && criteria.name.length > 3) {\r\n this.store.dispatch(new fromStore.TeacherLookupByCriteria({ panel: fromStore.PanelId.EventHost, criteria }));\r\n }\r\n }\r\n }\r\n\r\n selectTeacher(teacher: fromSchoolModels.TeacherLookup) {\r\n if (teacher) {\r\n this.editor.controls['hostTeacherName'].patchValue(teacher.name);\r\n this.editor.controls['hostTeacherId'].patchValue(teacher.id);\r\n }\r\n }\r\n\r\n resetForm() {\r\n\r\n }\r\n\r\n onSubmit() {\r\n console.log('onSubmit: ', this.editor.status);\r\n\r\n const hostingSchoolId = this.editor.value.hostSchoolId;\r\n const hostingSchoolName = this.editor.value.hostSchoolName;\r\n const hostingTeacherId = this.editor.value.hostTeacherId;\r\n const hostingTeacherName = this.editor.value.hostTeacherName;\r\n\r\n const event = {\r\n ...this.event,\r\n hostingSchoolId,\r\n hostingSchoolName,\r\n hostingTeacherId,\r\n hostingTeacherName\r\n };\r\n\r\n this.store.dispatch(new fromStore.UpdateEventPanel({ panel: fromStore.PanelId.EventHost, event }));\r\n }\r\n\r\n}\r\n","\r\n
\r\n
\r\n
    \r\n
  • \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    Required
    \r\n
    ID Must be a number
    \r\n
    \r\n
    \r\n
  • \r\n
  • \r\n \r\n
    \r\n \r\n
      \r\n
    • \r\n \r\n
    • \r\n
    \r\n
    \r\n
  • \r\n
  • \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    Required
    \r\n
    ID Must be a number
    \r\n\r\n
    \r\n
    \r\n
  • \r\n
  • \r\n \r\n
    \r\n \r\n
      \r\n
    • \r\n \r\n
    • \r\n
    \r\n
    \r\n
  • \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n","import { detailsComponents } from './event-details';\r\nimport { EventCreateComponent } from './event-create';\r\n\r\nexport const components: any[] = [\r\n ...detailsComponents,\r\n EventCreateComponent\r\n];\r\n\r\nexport * from './event-details';\r\nexport * from './event-create';\r\n","import { Component, Input, OnInit, OnDestroy, OnChanges } from '@angular/core';\r\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\n\r\nimport { Observable } from 'rxjs';\r\nimport { takeWhile, tap, filter, first } from 'rxjs/operators';\r\n\r\nimport { select, Store } from '@ngrx/store';\r\n\r\nimport { Address } from '../../scp-common/models';\r\nimport { SchoolDetails } from '../models';\r\nimport * as fromStore from '../store';\r\n\r\nimport { states } from '../../scp-common/models/states';\r\n\r\n@Component({\r\n\tselector: 'opus-school-address-editor',\r\n\ttemplateUrl: './school-address-editor.component.html',\r\n})\r\nexport class SchoolAddressEditorComponent implements OnInit, OnDestroy, OnChanges {\r\n\t@Input() isPhysical: boolean;\r\n\t@Input() school: SchoolDetails;\r\n\r\n states: string[] = states;\r\n\talive = true;\r\n\tpanelState$: Observable;\r\n\tpanelState: fromStore.AddressPanelState;\r\n\tzipLookup: fromStore.ZipLookupState;\r\n\teditor: FormGroup;\r\n\tshowModal = false;\r\n\tenteredAddress: Address = null;\r\n\tsuggestedAddress: Address = null;\r\n\tcounties$: Observable;\r\n\r\n\tconstructor(private store: Store, private fb: FormBuilder) {\r\n\t\tconsole.log('SchoolAddressEditorComponent()...');\r\n\r\n\t\tthis.createForm();\r\n\t}\r\n\r\n\tngOnInit() {\r\n\t\tconsole.log('SchoolAddressEditorComponent.ngOnInit(): isPhysical: ', this.isPhysical);\r\n\r\n\t\t//\tTODO: should this block really be in resetForm()?\r\n\t\tif (this.isPhysical) {\r\n\t\t\t//\tsubscribe to state code changes\r\n\t\t\tthis.initCounties();\r\n\r\n\t\t\t//\tload up the counties for the current state\r\n\t\t\tconst stateCode = this.address.state;\r\n\t\t\tif (stateCode != '') {\r\n\t\t\t\tthis.store.dispatch(new fromStore.SchoolLoadCounties({ panel: this.panelId, stateCode }));\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tthis.counties$ = this.store.pipe(select(fromStore.getDetailsStateCounties));\r\n\r\n\t\tthis.panelState$ = this.store.pipe(\r\n\t\t\tselect(this.isPhysical ? fromStore.getDetailsStatePhysAddrPanel : fromStore.getDetailsStateMailAddrPanel)\r\n\t\t);\r\n\t\tthis.panelState$.pipe(\r\n\t\t\ttakeWhile(() => this.alive),\r\n\t\t\ttap(s => {\r\n\t\t\t\tif (!s.editing && this.panelState && this.panelState.editing) {\r\n\t\t\t\t\tconsole.log('SchoolAddressEditorComponent.panelState$: clearing form...');\r\n\t\t\t\t\tthis.resetForm();\r\n\t\t\t\t}\r\n\t\t\t}),\r\n\t\t).subscribe(ps => {\r\n\t\t\tconsole.log('panelState$ sub: ', ps);\r\n\t\t\tthis.panelState = ps;\r\n\t\t\tthis.zipLookup = ps.zipLookup;\r\n\r\n\t\t\tconst zl = this.zipLookup;\r\n\t\t\tif (zl && zl.pending) {\r\n\t\t\t\tthis.editor.controls.addressCity.disable();\r\n\t\t\t\tthis.editor.controls.addressCounty.disable();\r\n\t\t\t\tthis.editor.controls.addressState.disable();\r\n\t\t\t\tthis.editor.controls.addressZipcode.disable();\r\n\t\t\t} else {\r\n\t\t\t\tthis.editor.controls.addressCity.enable();\r\n\t\t\t\tthis.editor.controls.addressCounty.enable();\r\n\t\t\t\tthis.editor.controls.addressState.enable();\r\n\t\t\t\tthis.editor.controls.addressZipcode.enable();\r\n\t\t\t}\r\n\r\n\t\t\tif (zl && zl.cityState != null) {\r\n\t\t\t\tthis.editor.controls['addressCity'].patchValue(zl.cityState.city);\r\n\t\t\t\tthis.editor.controls['addressState'].patchValue(zl.cityState.state);\r\n\r\n\t\t\t\tif (this.editor.controls.addressCity.value != this.address.city) {\r\n\t\t\t\t\tthis.editor.controls.addressCity.markAsDirty();\r\n\t\t\t\t}\r\n\r\n\t\t\t\tif (this.editor.controls.addressState.value != this.address.state) {\r\n\t\t\t\t\tthis.editor.controls.addressState.markAsDirty();\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n\r\n\tngOnDestroy() {\r\n\t\tconsole.log('SchoolAddressEditorComponent.ngOnDestroy()...');\r\n\t\tthis.alive = false;\r\n\t}\r\n\r\n\tngOnChanges() {\r\n\t\tthis.resetForm();\r\n\t}\r\n\r\n\tcreateForm() {\r\n\t\t//\tNOTE: FormBuilder.group will ignore the updateOn parameter when constructing the FormGroup\r\n\t\tthis.editor = this.fb.group({\r\n\t\t\taddressLine1: ['', Validators.required],\r\n\t\t\taddressLine2: [''],\r\n\t\t\taddressCity: ['', Validators.required],\r\n\t\t\taddressState: ['', Validators.required],\r\n\t\t\taddressZipcode: ['', Validators.pattern(/^\\d{5}(?:-\\d{4})?$/)],\r\n\t\t\taddressCounty: [''],\r\n\t\t\tupdateMailing: [false],\r\n\t\t\tsameAsPhysical: [false],\r\n\t\t}/* NOTE: originally tried to do address verification as an async validator, but angular was ignoring the supplied updateOn='submit' even when using FormGroup instead of FormBuilder */);\r\n\t}\r\n\r\n\tinitCounties() {\r\n\t\tconsole.log('initCounties()...');\r\n\r\n\t\tthis.editor.get('addressState').valueChanges.pipe(\r\n\t\t\ttakeWhile(() => this.alive),\r\n\t\t).subscribe(stateCode => {\r\n\t\t\tconsole.log(`addressState.valueChanges: '${this.editor.value.addressState}' -> '${stateCode}'`);\r\n\r\n\t\t\tif (stateCode != '' && stateCode != this.editor.value.addressState) {\r\n\t\t\t\t//\tif the state is changed, we need to clear out the county so that the county dropdown will show the select option\r\n\t\t\t\t//\tif the state is changed back to the original state, however, set the county back to that of the original model\r\n\t\t\t\tthis.editor.controls['addressCounty'].patchValue(stateCode == this.address.state ? this.address.county : '');\r\n\r\n\t\t\t\tthis.store.dispatch(new fromStore.SchoolLoadCounties({ panel: this.panelId, stateCode }));\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n\r\n\tresetForm() {\r\n\t\tconsole.log('resetForm()...');\r\n\r\n\t\tconst address: Address = this.address;\r\n\t\tthis.editor.reset({\r\n\t\t\taddressLine1: address.line1,\r\n\t\t\taddressLine2: address.line2,\r\n\t\t\taddressCity: address.city,\r\n\t\t\taddressState: address.state,\r\n\t\t\taddressZipcode: address.zip,\r\n\t\t\taddressCounty: address.county || '',\r\n\t\t\tupdateMailing: false,\r\n\t\t\tsameAsPhysical: false,\r\n\t\t});\r\n\t}\r\n\r\n\tget isMailing(): boolean {\r\n\t\treturn !this.isPhysical;\r\n\t}\r\n\r\n\tget panelId(): string {\r\n\t\treturn this.isPhysical ? fromStore.PanelId.PhysAddr : fromStore.PanelId.MailAddr;\r\n\t}\r\n\r\n\tget address(): Address {\r\n\t\treturn this.isPhysical ? this.school.physicalAddress : this.school.mailingAddress;\r\n\t}\r\n\r\n\tget canSave(): boolean {\r\n\t\t//\tthis is a bit hacky, but easiest way i could see to allow the mailing address to be saved when the existing data is invalid, but same as physical has been checked\r\n\t\treturn this.editor.dirty && (this.editor.valid || this.isMailing && this.editor.value.sameAsPhysical);\r\n\t}\r\n\r\n\tget saveButtonLabel(): string {\r\n\t\treturn this.panelState.updating ? 'Saving...' : 'Save';\r\n\t}\r\n\r\n\tget inZipLookup(): boolean {\r\n\t\treturn this.zipLookup != null && this.zipLookup.pending;\r\n\t}\r\n\r\n\tget hasZipLookupError(): boolean {\r\n\t\tconst hasError = (this.editor.controls.addressZipcode.enabled && !this.editor.controls.addressZipcode.valid) || (this.zipLookup != null && this.zipLookup.errors != null);\r\n\r\n\t\treturn hasError;\r\n\t}\r\n\r\n\tget disableZipLookup(): boolean {\r\n\t\tconst zipCtrl = this.editor.controls.addressZipcode;\r\n\r\n\t\treturn zipCtrl.disabled || !zipCtrl.valid || this.inZipLookup;\r\n\t}\r\n\r\n\tonApplyZip(elem: any) {\r\n\t\tconst zip = this.editor.value.addressZipcode;\r\n\r\n\t\tconsole.log('SchoolAddressEditorComponent.onApplyZipcode(): ', zip);\r\n\t\tthis.store.dispatch(new fromStore.SchoolAddressLookupCityState({ panel: this.panelId, zip }));\r\n\t}\r\n\r\n\tonModalAction(accept: boolean) {\r\n\t\tconsole.log(accept);\r\n\r\n\t\tthis.showModal = false;\r\n\r\n\t\tif (accept) {\r\n\t\t\tthis.update();\r\n\t\t}\r\n }\r\n\r\n onModalTertiaryAction(accept: boolean) {\r\n console.log(accept);\r\n\r\n this.showModal = false;\r\n\r\n if (accept) {\r\n // Clear out the suggested address so that update() will use the entered one\r\n this.suggestedAddress = null;\r\n this.update();\r\n }\r\n }\r\n\r\n\tupdate() {\r\n\t\tconsole.log('updating...');\r\n\r\n\t\t//\tsuggested address will normally be the address to use unless qas was unable to find a match. in this case, accepting the modal will use the entered address as is.\r\n\t\tconst address = this.suggestedAddress || this.enteredAddress;\r\n\r\n\t\t//\tthe address(es) we update will depend upon which we're editing & the state of some form controls.\r\n\t\t//\twe need to replace the address we're editing\r\n\t\t//\tif editing the physical address & update mailing is checked, we need to update it as well\r\n\t\t//\tif editing the mailing address and same as physical is checked, we need to set the mailing address to that of the physical address\r\n\t\tconst physicalAddress = {\r\n\t\t\t...this.isPhysical ? address : this.school.physicalAddress,\r\n\t\t};\r\n\r\n\t\tconst mailingAddress = {\r\n\t\t\t...this.isMailing ? (this.editor.value.sameAsPhysical ? this.school.physicalAddress : address) : (this.editor.value.updateMailing ? address : this.school.mailingAddress),\r\n\t\t};\r\n\r\n\t\tconst school = {\r\n\t\t\t...this.school,\r\n\t\t\tphysicalAddress,\r\n\t\t\tmailingAddress,\r\n\t\t};\r\n\r\n\t\tconsole.log('update():', school);\r\n\t\tthis.store.dispatch(new fromStore.UpdateSchoolPanel({ panel: this.panelId, school }));\r\n\t}\r\n\r\n\tonSubmit() {\r\n\t\tconsole.log('onSubmit: ', this.editor.status);\r\n\r\n\t\t//\tApparently we're going to have to explicitly invoke the address validator since angular refuses to honor updateOn: 'submit' at the form gropup level\r\n\t\t//\tdispatch action to verify address\r\n\t\tconst address: Address = {\r\n\t\t\tline1: this.editor.value.addressLine1,\r\n\t\t\tline2: this.editor.value.addressLine2,\r\n\t\t\tcity: this.editor.value.addressCity,\r\n\t\t\tstate: this.editor.value.addressState,\r\n\t\t\tzip: this.editor.value.addressZipcode,\r\n\t\t\tcounty: this.editor.value.addressCounty,\r\n\t\t};\r\n\r\n\t\tthis.enteredAddress = address;\r\n\r\n\t\tif (this.isMailing && this.editor.value.sameAsPhysical) {\r\n\t\t\tthis.update();\r\n\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tthis.store.dispatch(new fromStore.SchoolVerifyAddress({ panel: this.panelId, address }));\r\n\r\n\t\t//\tobserve results in store\r\n\t\tthis.panelState$.pipe(\r\n\t\t\ttap(ps => console.log('onSubmit: ', ps)),\r\n\t\t\tfilter(ps => !(ps as fromStore.AddressPanelState).verifying),\r\n\t\t\tfirst(),\r\n\t\t\ttap(ps => console.log('onSubmit: ', ps)),\r\n\t\t).subscribe(ps => {\r\n\t\t\tconsole.log('subscribe: ', ps);\r\n\t\t\tconst verifiedAddress = (ps as fromStore.AddressPanelState).verifiedAddress;\r\n\r\n // If verified address didn't come back, make sure suggested stays null (so we don't use it later)\r\n this.suggestedAddress = verifiedAddress;\r\n if (this.suggestedAddress != null) {\r\n this.suggestedAddress = {\r\n ...verifiedAddress,\r\n county: this.editor.value.addressCounty,\r\n };\r\n }\r\n\r\n\t\t\t//\tif verified address is not identical to entered, or we got a picklist instead, show modal\r\n\t\t\tif (verifiedAddress !== null && this.compareAddresses(address, verifiedAddress)) {\r\n\t\t\t\tthis.update();\r\n\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\r\n\t\t\tthis.showModal = true;\r\n\t\t});\r\n\t}\r\n\r\n\tprivate compareAddresses(first: Address, second: Address): boolean {\r\n\t\treturn first.line1 == second.line1\r\n\t\t\t&& first.line2 == second.line2\r\n\t\t\t&& first.city == second.city\r\n\t\t\t&& first.state == second.state\r\n\t\t\t&& first.zip == second.zip;\r\n\t}\r\n}\r\n","
\r\n\t
\r\n\t
    \r\n\t\t
  • \r\n\t\t\t
    \r\n\t\t\t\t\r\n\t\t\t
    \r\n\t\t
  • \r\n\t\t\r\n\t\t\t
  • \r\n\t\t\t\t\r\n\t\t\t\t
    \r\n\t\t\t\t\t\r\n\t\t\t\t
    \r\n\t\t\t
  • \r\n\t\t\t
  • \r\n\t\t\t\t\r\n\t\t\t\t
    \r\n\t\t\t\t\t\r\n\t\t\t\t
    \r\n\t\t\t
  • \r\n\t\t\t
  • \r\n\t\t\t\t\r\n\t\t\t\t
    \r\n\t\t\t\t\t\r\n\t\t\t\t
    \r\n\t\t\t
  • \r\n\t\t\t
  • \r\n\t\t\t\t
    State
    \r\n\t\t\t\t
    \r\n\t\t\t\t\t\r\n\t\t\t\t
    \r\n\t\t\t
  • \r\n\t\t\t
  • \r\n\t\t\t\t\r\n\t\t\t\t
    \r\n\t\t\t\t\t
    \r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t
    \r\n\t\t\t\t\t
      \r\n\t\t\t\t\t\t
    • Zip code must be a sequence of 5 digits, optionally followed by a hyphen and an additional 4 digits.
    • \r\n\t\t\t\t\t\t
    • Unable to lookup city & state.
    • \r\n\t\t\t\t\t
    \r\n\t\t\t\t
    \r\n\t\t\t
  • \r\n\t\t\t
  • \r\n\t\t\t\t\r\n\t\t\t\t
    \r\n\t\t\t\t\t\r\n\t\t\t\t
    \r\n\t\t\t
  • \r\n\t\t
    \r\n\t\t\r\n\t\t\t
  • \r\n\t\t\t\t
    Address Line 1
    \r\n\t\t\t\t
    {{ school.physicalAddress.line1 }}
    \r\n\t\t\t
  • \r\n\t\t\t
  • \r\n\t\t\t\t
    Address Line 2
    \r\n\t\t\t\t
    {{ school.physicalAddress.line2 }}
    \r\n\t\t\t
  • \r\n\t\t\t
  • \r\n\t\t\t\t
    City, State Zip
    \r\n\t\t\t\t
    {{ school.physicalAddress.city }}, {{ school.physicalAddress.state }} {{ school.physicalAddress.zip }}
    \r\n\t\t\t
  • \r\n\t\t
    \r\n\t\t
  • \r\n\t\t\t
    \r\n\t\t\t\t\r\n\t\t\t
    \r\n\t\t
  • \r\n\t
\r\n\t
\r\n\t\t
\r\n\t\t\t\r\n\t\t
\r\n\t
\r\n\t\r\n
\r\n\r\n \r\n
\r\n
\r\n

Entered Address:

\r\n
\r\n
    \r\n
  • \r\n
    Address Line 1
    \r\n
    {{ enteredAddress.line1 }}
    \r\n
  • \r\n
  • \r\n
    Address Line 2
    \r\n
    {{ enteredAddress.line2 }}
    \r\n
  • \r\n
  • \r\n
    City, State Zip
    \r\n
    {{ enteredAddress.city }}, {{ enteredAddress.state }} {{ enteredAddress.zip }}
    \r\n
  • \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n

Suggested Address:

\r\n
\r\n
    \r\n
  • \r\n
    Address Line 1
    \r\n
    {{ suggestedAddress.line1 }}
    \r\n
  • \r\n
  • \r\n
    Address Line 2
    \r\n
    {{ suggestedAddress.line2 }}
    \r\n
  • \r\n
  • \r\n
    City, State Zip
    \r\n
    {{ suggestedAddress.city }}, {{ suggestedAddress.state }} {{ suggestedAddress.zip }}
    \r\n
  • \r\n
\r\n
\r\n
\r\n\t\r\n\t\t
    \r\n\t\t\t
  • The United states Postal Service is unable to locate this address.
  • \r\n\t\t
\r\n\t
\r\n
\r\n\r\n","import { Component } from '@angular/core';\r\nimport { FormBuilder, FormGroup, AbstractControl, ValidationErrors, AsyncValidatorFn, Validators } from '@angular/forms';\r\n\r\nimport { Observable, of } from 'rxjs';\r\nimport { takeWhile, tap, map, filter } from 'rxjs/operators';\r\n\r\nimport { select, Store } from '@ngrx/store';\r\nimport { schoolNcesIdSourcesPublic, schoolNcesIdSourcesPrivate } from '../../scp-common/models/ncesIdSources';\r\nimport { SchoolDetails, SchoolType } from '../models';\r\nimport * as fromStore from '../store';\r\n\r\n@Component({\r\n\tselector: 'opus-school-additional-details-editor',\r\n\ttemplateUrl: './school-additional-details-editor.component.html',\r\n})\r\nexport class SchoolAdditionalDetailsEditorComponent {\r\n\talive = true;\r\n\tschoolDetails$: Observable;\r\n\tpanelState$: Observable;\r\n\tschool: SchoolDetails;\r\n\tpanelState: fromStore.PanelState;\r\n\tpanelId = fromStore.PanelId.AdditionalDetails;\r\n\teditor: FormGroup;\r\n\tmonths: string[] = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'];\r\n\tcustomerInHandMonths: string[] = this.months.concat('N/A');\r\n\tsummerBilling: Date;\r\n\tfallBilling: Date;\r\n\tsummerCustomerInHandDate: Date | null;\r\n\tfallCustomerInHandDate: Date | null;\r\n schoolNcesIdSourcesPublic: string[] = schoolNcesIdSourcesPublic;\r\n schoolNcesIdSourcesPrivate: string[] = schoolNcesIdSourcesPrivate;\r\n\treadonly days: { [id: number]: string[] };\r\n\r\n\tconstructor(private store: Store, private fb: FormBuilder) {\r\n\t\tconsole.log('SchoolAdditionalDetailsEditorComponent()...');\r\n\r\n\t\tthis.days = this.calculateDaysInMonths();\r\n\r\n\t\tconsole.log('days', this.days);\r\n\t}\r\n\r\n\tcalculateDaysInMonths() {\r\n\t\tconst days: { [id: number]: string[] } = {};\r\n\r\n\t\tfor (let i = 0; i < this.customerInHandMonths.length; i++) {\r\n\t\t\tdays[i] = this.getDaysInMonth(i);\r\n\t\t}\r\n\r\n\t\treturn days;\r\n\t}\r\n\r\n\tgetDaysInMonth(month: number) {\r\n\t\tif (month === 12)\r\n\t\t\treturn ['N/A'];\r\n\r\n\t\tconst days: string[] = [];\r\n\r\n\t\tfor (let i = 1; i <= new Date(9999, +month + 1, 0).getDate(); i++) {\r\n\t\t\tdays.push(i.toString());\r\n\t\t}\r\n\r\n\t\treturn days;\r\n\t}\r\n\r\n get schoolNcesIdSources(): string[] {\r\n if (this.school.type == SchoolType.PUBLIC)\r\n return schoolNcesIdSourcesPublic;\r\n\r\n if (this.school.type == SchoolType.PRIVATE)\r\n return schoolNcesIdSourcesPrivate;\r\n\r\n const sources: string[] = [];\r\n return sources;\r\n }\r\n\r\n\tngOnInit() {\r\n\t\tconsole.log('SchoolAdditionalDetailsEditorComponent.ngOnInit()...');\r\n\r\n\t\tthis.schoolDetails$ = this.store.pipe(select(fromStore.getSchoolDetailsEntity));\r\n\t\tthis.schoolDetails$.pipe(\r\n\t\t\ttakeWhile(() => this.alive)\r\n\t\t).subscribe(s => this.school = s);\r\n\r\n\t\tthis.panelState$ = this.store.pipe(select(fromStore.getDetailsStateAdditionalDetailsPanel));\r\n\t\tthis.panelState$.pipe(\r\n\t\t\ttakeWhile(() => this.alive),\r\n\t\t\ttap(s => {\r\n\t\t\t\tif (!s.editing && this.panelState && this.panelState.editing) {\r\n\t\t\t\t\tconsole.log('SchoolAdditionalDetailsEditorComponent.panelState$: clearing form...');\r\n\t\t\t\t\tthis.resetForm();\r\n\t\t\t\t}\r\n\t\t\t}),\r\n\t\t).subscribe(s => {\r\n\t\t\tconsole.log('SchoolAdditionalDetailsEditorComponent.panelState$: ', s);\r\n\r\n\t\t\tthis.panelState = s;\r\n\t\t});\r\n\r\n\t\tthis.createForm();\r\n\t}\r\n\r\n\tngOnDestroy() {\r\n\t\tconsole.log('SchoolAdditionalDetailsEditorComponent.ngOnDestroy()...');\r\n\t\tthis.alive = false;\r\n\t}\r\n\r\n\tcreateForm() {\r\n\t\tthis.summerBilling = this.school.summerBillingDate\r\n\t\t\t? new Date(Date.parse(this.school.summerBillingDate))\r\n\t\t\t: new Date(this.getBillingYear(1, 5), 5, 1);\r\n\r\n\t\tthis.fallBilling = this.school.fallBillingDate\r\n\t\t\t? new Date(Date.parse(this.school.fallBillingDate))\r\n\t\t\t: new Date(this.getBillingYear(1, 8), 8, 1);\r\n\r\n\t\tthis.summerCustomerInHandDate = this.school.summerCustomerInHandDate\r\n\t\t\t? new Date(Date.parse(this.school.summerCustomerInHandDate))\r\n\t\t\t: null;\r\n\r\n\t\tconsole.log('SchoolAdditionalDetailsEditorComponent.createForm.summerCustomerInHandDate', this.summerCustomerInHandDate);\r\n\r\n\t\tthis.fallCustomerInHandDate = this.school.fallCustomerInHandDate\r\n\t\t\t? new Date(Date.parse(this.school.fallCustomerInHandDate))\r\n\t\t\t: null;\r\n\r\n\t\tthis.editor = this.fb.group({\r\n\t\t\tprimaryId: [this.school.primaryId, { updateOn: 'blur', asyncValidators: [this.primaryIdValidator()] }],\r\n ncesSchoolId: [this.school.ncesSchoolId],\r\n ncesIdSource: [this.school.ncesIdSource || ''],\r\n\t\t\tsummerBillingMonth: [this.summerBilling.getMonth()],\r\n\t\t\tsummerBillingDay: [this.summerBilling.getDate()],\r\n\t\t\tfallBillingMonth: [this.fallBilling.getMonth()],\r\n\t\t\tfallBillingDay: [this.fallBilling.getDate()],\r\n\t\t\tsummerCustomerInHandDateMonth: [this.summerCustomerInHandDate ? this.summerCustomerInHandDate.getMonth() : 12],\r\n\t\t\tsummerCustomerInHandDateDay: [this.summerCustomerInHandDate ? this.summerCustomerInHandDate.getDate() : 'N/A'],\r\n\t\t\tfallCustomerInHandDateMonth: [this.fallCustomerInHandDate ? this.fallCustomerInHandDate.getMonth() : 12],\r\n\t\t\tfallCustomerInHandDateDay: [this.fallCustomerInHandDate ? this.fallCustomerInHandDate.getDate() : 'N/A'],\r\n\t\t\tsummerFree: [this.school.summerFree ? 'Yes' : 'No'],\r\n\t\t});\r\n\r\n\t\tthis.initMonthChanges();\r\n\t}\r\n\r\n\tresetForm() {\r\n\t\tthis.editor.reset({\r\n\t\t\tprimaryId: this.school.primaryId,\r\n ncesSchoolId: this.school.ncesSchoolId,\r\n ncesIdSource: [this.school.ncesIdSource || ''],\r\n\t\t\tsummerBillingMonth: this.summerBilling.getMonth(),\r\n\t\t\tsummerBillingDay: this.summerBilling.getDate(),\r\n\t\t\tfallBillingMonth: this.fallBilling.getMonth(),\r\n\t\t\tfallBillingDay: this.fallBilling.getDate(),\r\n\t\t\tsummerCustomerInHandDateMonth: this.summerCustomerInHandDate ? this.summerCustomerInHandDate.getMonth() : 12,\r\n\t\t\tsummerCustomerInHandDateDay: this.summerCustomerInHandDate ? this.summerCustomerInHandDate.getDate() : 'N/A',\r\n\t\t\tfallCustomerInHandDateMonth: this.fallCustomerInHandDate ? this.fallCustomerInHandDate.getMonth() : 12,\r\n\t\t\tfallCustomerInHandDateDay: this.fallCustomerInHandDate ? this.fallCustomerInHandDate.getDate() : 'N/A',\r\n\t\t\tsummerFree: this.school.summerFree ? 'Yes' : 'No',\r\n\t\t});\r\n\t}\r\n\r\n\tinitMonthChanges() {\r\n\t\tconst keys: string[] = ['summerBilling', 'fallBilling', 'summerCustomerInHandDate', 'fallCustomerInHandDate'];\r\n\r\n\t\tfor (const propKey of keys) {\r\n\t\t\tthis.editor.get(propKey + 'Month').valueChanges\r\n\t\t\t\t.pipe(takeWhile(() => this.alive))\r\n\t\t\t\t.subscribe(monthIndex => {\r\n\t\t\t\t\tconst dayEditor = this.editor.get(propKey + 'Day');\r\n\t\t\t\t\tconst daysOfSelectedMonth = this.days[monthIndex];\r\n\t\t\t\t\tconst lastDay = daysOfSelectedMonth[daysOfSelectedMonth.length - 1];\r\n\t\t\t\t\tconst selectedDay = dayEditor.value;\r\n\r\n\t\t\t\t\tconst changingFromNotApplicableMonth = selectedDay === 'N/A';\r\n\t\t\t\t\tconst changingToNotApplicableMonth = lastDay === 'N/A';\r\n\t\t\t\t\tconst changingToMonthWithLessDaysThanCurrentlySelectedDay = +selectedDay > +lastDay;\r\n\r\n\t\t\t\t\tif (changingFromNotApplicableMonth ||\r\n\t\t\t\t\t\tchangingToNotApplicableMonth ||\r\n\t\t\t\t\t\tchangingToMonthWithLessDaysThanCurrentlySelectedDay) {\r\n\t\t\t\t\t\tdayEditor.setValue(lastDay, { emitEvent: false });\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t}\r\n\t}\r\n\r\n\tget canSave(): boolean {\r\n\t\treturn this.editor.valid && this.editor.dirty;\r\n\t}\r\n\r\n\tget saveButtonLabel(): string {\r\n\t\treturn this.panelState.updating ? 'Saving...' : 'Save';\r\n\t}\r\n\r\n\tget primaryIdStatus() {\r\n\t\treturn this.panelState.validationStatus['primaryId'] || {\r\n\t\t\tpending: false,\r\n\t\t\terrors: null,\r\n\t\t};\r\n\t}\r\n\r\n\tget primaryIdErrors(): ValidationErrors {\r\n\t\treturn this.primaryIdStatus.errors;\r\n\t}\r\n\r\n\tget primaryIdPending(): boolean {\r\n\t\treturn this.primaryIdStatus.pending;\r\n\t}\r\n\r\n\tget hasPrimaryIdErrors(): boolean {\r\n\t\treturn this.primaryIdErrors != null;\r\n\t}\r\n\r\n\tonSubmit() {\r\n\t\tconst summerBillingYear = this.getBillingYear(this.editor.value.summerBillingDay, this.editor.value.summerBillingMonth);\r\n\t\tconst fallBillingYear = this.getBillingYear(this.editor.value.fallBillingDay, this.editor.value.fallBillingMonth);\r\n\t\tconst summerBillingDate = `${+this.editor.value.summerBillingMonth + 1}/${this.editor.value.summerBillingDay}/${summerBillingYear}`;\r\n\t\tconst fallBillingDate = `${+this.editor.value.fallBillingMonth + 1}/${this.editor.value.fallBillingDay}/${fallBillingYear}`;\r\n\t\tconst summerCustomerInHandDate = +this.editor.value.summerCustomerInHandDateMonth === 12 ? null : `${+this.editor.value.summerCustomerInHandDateMonth + 1}/${this.editor.value.summerCustomerInHandDateDay}/${(new Date()).getFullYear()}`;\r\n\t\tconst fallCustomerInHandDate = +this.editor.value.fallCustomerInHandDateMonth === 12 ? null : `${+this.editor.value.fallCustomerInHandDateMonth + 1}/${this.editor.value.fallCustomerInHandDateDay}/${(new Date()).getFullYear()}`;\r\n\r\n\t\tconst school = {\r\n\t\t\t...this.school,\r\n\t\t\tprimaryId: this.editor.value.primaryId,\r\n ncesSchoolId: this.editor.value.ncesSchoolId || null,\r\n ncesIdSource: this.editor.value.ncesIdSource || null,\r\n\t\t\tsummerBillingDate,\r\n\t\t\tfallBillingDate,\r\n\t\t\tsummerCustomerInHandDate,\r\n\t\t\tfallCustomerInHandDate,\r\n\t\t\tsummerFree: this.editor.value.summerFree == 'Yes',\r\n\t\t};\r\n\r\n\t\tthis.store.dispatch(new fromStore.UpdateSchoolPanel({ panel: fromStore.PanelId.AdditionalDetails, school }));\r\n\t}\r\n\r\n\tprimaryIdValidator(): AsyncValidatorFn {\r\n\t\tconst validator = 'primaryId';\r\n\r\n\t\treturn (control: AbstractControl): Observable | null => {\r\n\t\t\t//\tNOTE: this is getting called several times during page load... i see no way to mitigate this except to not take action unless actually needed\r\n\t\t\tconsole.log('primaryIdValidator(): ', control);\r\n\r\n\t\t\tif (!control.dirty) {\r\n\t\t\t\treturn of(null);\r\n\t\t\t}\r\n\r\n\t\t\t//\tif the control value changed at all, we always need to dispatch an action in order to at least clear previous validation errors\r\n\t\t\tthis.store.dispatch(new fromStore.ValidateSchoolPrimaryId({ panel: this.panelId, validator, primaryId: control.value, duplicateId: this.school.id, duplicateIsActive: this.school.isActive }));\r\n\r\n\t\t\t//\tthe result of the validation is an observable of the validation status in the state of our panel\r\n\t\t\treturn this.panelState$.pipe(\r\n\t\t\t\t//\twait for the status to complete\r\n\t\t\t\tfilter(ps => {\r\n\t\t\t\t\tconst status = ps.validationStatus[validator];\r\n\r\n\t\t\t\t\treturn status != null && !status.pending;\r\n\t\t\t\t}),\r\n\t\t\t\ttap(ps => {\r\n\t\t\t\t\tconsole.log('primaryIdValidator(): panelState: ', ps);\r\n\t\t\t\t}),\r\n\t\t\t\t//\tonce that validation has completed, the errors property will either be a ValidationErrors object or null - exactly what we need to return\r\n\t\t\t\tmap(ps => {\r\n\t\t\t\t\treturn of(ps.validationStatus[validator].errors);\r\n\t\t\t\t}),\r\n\t\t\t);\r\n\t\t};\r\n \t}\r\n\r\n\tprivate getBillingYear(billingDay: number, billingMonth: number) {\r\n\t\tconst currentYear = new Date().getFullYear();\r\n\t\tconst currentMonth = new Date().getMonth();\r\n\t\tconst currentDay = new Date().getDate();\r\n\r\n\t\tif (currentMonth < billingMonth || (currentMonth == billingMonth && currentDay <= billingDay))\r\n\t\t\treturn currentYear;\r\n\t\telse\r\n\t\t\treturn (currentYear + 1);\r\n\t}\r\n}\r\n","
\r\n\t
\r\n\t
    \r\n\t\t
  • \r\n\t\t\t\r\n\t\t\t
    \r\n\t\t\t\t\r\n\t\t\t\t
      \r\n\t\t\t\t\t
    • \r\n\t\t\t\t\t\t{{ primaryIdErrors.primaryId }}\r\n\t\t\t\t\t
    • \r\n\t\t\t\t\t
    • \r\n\t\t\t\t\t\t{{ primaryIdErrors.canDeactivate }}\r\n\t\t\t\t\t
    • \r\n\t\t\t\t\t
    • \r\n\t\t\t\t\t\t{{ primaryIdErrors.schoolExists }}\r\n\t\t\t\t\t
    • \r\n\t\t\t\t
    \r\n\t\t\t
    \r\n\t\t
  • \r\n\t\t
  • \r\n\t\t\t\r\n\t\t\t
    \r\n\t\t\t\t\r\n\t\t\t
    \r\n\t\t
  • \r\n\t\t\r\n\t\t
  • \r\n\t\t\t\r\n\t\t\t
    \r\n\t\t\t\t
    \r\n\t\t\t\t\t
    \r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
    \r\n\t\t\t\t\t
    \r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
    \r\n\t\t\t\t
    \r\n\t\t\t
    \r\n\t\t
  • \r\n\t\t
  • \r\n\t\t\t\r\n\t\t\t
    \r\n\t\t\t\t
    \r\n\t\t\t\t\t
    \r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
    \r\n\t\t\t\t\t
    \r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
    \r\n\t\t\t\t
    \r\n\t\t\t
    \r\n\t\t
  • \r\n\t\t
  • \r\n\t\t\t\r\n\t\t\t
    \r\n\t\t\t\t
    \r\n\t\t\t\t\t
    \r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
    \r\n\t\t\t\t\t
    \r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
    \r\n\t\t\t\t
    \r\n\t\t\t
    \r\n\t\t
  • \r\n\t\t
  • \r\n\t\t\t\r\n\t\t\t
    \r\n\t\t\t\t
    \r\n\t\t\t\t\t
    \r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
    \r\n\t\t\t\t\t
    \r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
    \r\n\t\t\t\t
    \r\n\t\t\t
    \r\n\t\t
  • \r\n\t\t
  • \r\n\t\t\t\r\n\t\t\t
    \r\n\t\t\t\t\r\n\t\t\t
    \r\n\t\t
  • \r\n\t\t
  • \r\n\t\t\t
    Latitude
    \r\n\t\t\t
    {{ school.latitude }}
    \r\n\t\t
  • \r\n\t\t
  • \r\n\t\t\t
    Longitude
    \r\n\t\t\t
    {{ school.longitude }}
    \r\n\t\t
  • \r\n\t\t
  • \r\n\t\t\t
    Time Zone
    \r\n\t\t\t
    {{ school.ianaTimeZoneId }}
    \r\n\t\t
  • \r\n\t
\r\n\t
\r\n\t\t
\r\n\t\t\t\r\n\t\t
\r\n\t
\r\n
\r\n","import * as fromComponents from './components';\r\nimport * as fromContainers from './containers';\r\nimport * as fromGuards from './guards';\r\nimport { reducers, effects } from './store';\r\n\r\nexport * from './components';\r\nexport * from './containers';\r\nexport * from './guards';\r\nexport * from './store';\r\n","import { EventDetailsEffects } from './details.effects';\r\nimport { EventSearchResultsEffects } from './event-searchresults.effect';\r\n\r\nexport const effects: any[] = [EventDetailsEffects, EventSearchResultsEffects];\r\n\r\nexport * from './details.effects';\r\nexport * from './event-searchresults.effect';\r\n\r\n","export * from './details.actions';\r\nexport * from './district-searchresults.action';\r\n","import { Component, Input } from '@angular/core';\r\n\r\nimport { TeacherDetails } from '../../models/teacher-details.model';\r\n\r\n@Component({\r\n\tselector: 'opus-teacher-header',\r\n\ttemplateUrl: './teacher-header.html',\r\n})\r\nexport class TeacherHeaderComponent {\r\n\t@Input() teacherDetails: TeacherDetails;\r\n\r\n get id() {\r\n return this.teacherDetails.id;\r\n\t}\r\n\r\n\tget name() {\r\n return this.teacherDetails.name;\r\n }\r\n}\r\n","
\r\n

Teacher Detail

\r\n

{{ name }}

\r\n
\r\n
Teacher ID
\r\n
{{ id }}
\r\n
\r\n \r\n
","import { AuthorizeDirective } from './authorize.directive';\r\n\r\nexport const Directives: any[] = [AuthorizeDirective];\r\n\r\nexport * from './authorize.directive';\r\n","export * from './actions';\r\nexport * from './effects';\r\nexport * from './reducers';\r\nexport * from './selectors';\r\n","import { Component, Input, Output, EventEmitter, OnDestroy, AfterViewInit, ViewChild, ElementRef } from '@angular/core';\r\n\r\ndeclare var $: any;\r\n\r\n@Component({\r\n selector: 'opus-modal',\r\n templateUrl: './modal.component.html',\r\n})\r\nexport class ModalComponent implements OnDestroy, AfterViewInit {\r\n @ViewChild('opusModal', {static: false})\r\n private _modal: ElementRef;\r\n private _visible = false;\r\n private _displayTertiaryButton = false;\r\n private _tertiaryLabel = '';\r\n _displayButtons = true;\r\n\r\n @Input()\r\n set visible(visible: boolean) {\r\n if (visible != this._visible) {\r\n $(this._modal.nativeElement).foundation(visible ? 'open' : 'close');\r\n \r\n if (visible) {\r\n $(this._modal.nativeElement).one('closed.zf.reveal', (e) => {\r\n this.action.emit(false);\r\n });\r\n }\r\n this._visible = visible;\r\n }\r\n }\r\n\r\n @Input()\r\n set displayButtons(displayButtons: boolean) {\r\n this._displayButtons = displayButtons;\r\n }\r\n @Input() title: string;\r\n @Input() primaryLabel: string;\r\n @Input() secondaryLabel: string;\r\n @Input()\r\n set tertiaryLabel(tertiaryLabel: string) {\r\n this._displayTertiaryButton = tertiaryLabel.trim() != '';\r\n this._tertiaryLabel = tertiaryLabel;\r\n }\r\n @Input() showClose = true;\r\n @Input() primaryEnabled = true;\r\n\r\n @Output() action = new EventEmitter();\r\n @Output() actionTertiary = new EventEmitter();\r\n\r\n ngAfterViewInit() {\r\n $(this._modal.nativeElement).foundation();\r\n }\r\n\r\n ngOnDestroy() {\r\n if (this._visible) {\r\n $(this._modal.nativeElement).foundation('close');\r\n }\r\n }\r\n\r\n onSecondary() {\r\n this.action.emit(false);\r\n }\r\n\r\n onPrimary() {\r\n this.action.emit(true);\r\n }\r\n\r\n onTertiary() {\r\n this.actionTertiary.emit(true);\r\n }\r\n}\r\n","
\r\n\t
\r\n\t\t

{{ title }}

\r\n\t\t\r\n\t
\r\n\t
\r\n\t\t\r\n\t\t
\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t
\r\n\t
\r\n
\r\n","import { Injectable } from '@angular/core';\r\n\r\nimport { of } from 'rxjs';\r\nimport { tap, switchMap, map, catchError } from 'rxjs/operators';\r\n\r\nimport { Store } from '@ngrx/store';\r\nimport { Actions, createEffect, ofType } from '@ngrx/effects';\r\n\r\nimport * as districtSearchResultsActions from '../actions/district-searchresults.action';\r\nimport * as fromServices from '../../../scp-common/services';\r\nimport * as fromModels from '../../models';\r\nimport { SearchResultsState } from '..';\r\n\r\n@Injectable()\r\nexport class DistrictSearchResultsEffects {\r\n constructor(\r\n private actions$: Actions,\r\n private districtService: fromServices.DistrictService,\r\n private store$: Store,\r\n ) { }\r\n\r\n \r\n processQueryString$ = createEffect(() => this.actions$.pipe(\r\n ofType(districtSearchResultsActions.DistrictSearchResultsActionTypes.ProcessQueryString),\r\n switchMap((action: districtSearchResultsActions.ProcessQueryString) => {\r\n // Grab an object representation of the query string\r\n const query = this.parseQueryStringFromUrl(action.payload);\r\n // Convert query object into our strict-typed object\r\n let searchCriteria: fromModels.DistrictSearchCriteria;\r\n\r\n // Populate search criteria with the query object params\r\n searchCriteria = {\r\n id: query['id'],\r\n longName: query['longName'],\r\n county: query['county'],\r\n state: query['state'],\r\n zip: query['zip'],\r\n radius: query['radius'],\r\n code: query['code'],\r\n isSupervisory: query['isSupervisory'],\r\n isActive: query['isActive'],\r\n PageNumber: query['PageNumber'],\r\n PageSize: query['PageSize'],\r\n SortBy: query['SortBy'],\r\n SortDir: query['SortDir']\r\n };\r\n\r\n return of(new districtSearchResultsActions.LoadDistrictSearchResults(searchCriteria));\r\n })\r\n ));\r\n\r\n \r\n nextPageResult$ = createEffect(() => this.actions$.pipe(\r\n ofType(districtSearchResultsActions.DistrictSearchResultsActionTypes.NextPage),\r\n switchMap((action: districtSearchResultsActions.NextPage) => {\r\n console.log(action.pagingSorting);\r\n const currentPage: number = action.pagingSorting.currentPage;\r\n let nextPage: number;\r\n\r\n // If page number is null, maybe we never got first page?\r\n if (currentPage == null) {\r\n // Go to the first one\r\n nextPage = 1;\r\n }\r\n else if (currentPage < action.pagingSorting.totalPages) {\r\n // Increment to next page\r\n nextPage = currentPage + 1;\r\n }\r\n else {\r\n // Don't change the page\r\n nextPage = currentPage;\r\n }\r\n\r\n // Set the next page to pass to our search request\r\n const newPayload: fromModels.DistrictSearchCriteria = {\r\n ...action.payload,\r\n PageNumber: nextPage\r\n };\r\n // TODO: Figure out some way to not do any action here if page number didn't change\r\n return of(new districtSearchResultsActions.LoadDistrictSearchResults(newPayload));\r\n })\r\n ));\r\n\r\n \r\n prevPageResult$ = createEffect(() => this.actions$.pipe(\r\n ofType(districtSearchResultsActions.DistrictSearchResultsActionTypes.PrevPage),\r\n switchMap((action: districtSearchResultsActions.PrevPage) => {\r\n console.log(action.pagingSorting);\r\n const currentPage: number = action.pagingSorting.currentPage;\r\n let prevPage: number;\r\n\r\n // If page number is null, maybe we never got first page?\r\n if (currentPage == null) {\r\n // Go to the first one\r\n prevPage = 1;\r\n }\r\n else if (currentPage > 1) {\r\n // Increment to next page\r\n prevPage = currentPage - 1;\r\n }\r\n else {\r\n // Don't change the page\r\n prevPage = currentPage;\r\n }\r\n\r\n // Set the next page to pass to our search request\r\n const newPayload: fromModels.DistrictSearchCriteria = {\r\n ...action.payload,\r\n PageNumber: prevPage\r\n };\r\n // TODO: Figure out some way to not do any action here if page number didn't change\r\n return of(new districtSearchResultsActions.LoadDistrictSearchResults(newPayload));\r\n })\r\n ));\r\n\r\n \r\n sortByResult$ = createEffect(() => this.actions$.pipe(\r\n ofType(districtSearchResultsActions.DistrictSearchResultsActionTypes.SortBy),\r\n switchMap((action: districtSearchResultsActions.SortBy) => {\r\n // Default to ascending sort order\r\n let sortDir = 0;\r\n\r\n // If user is sorting by same column again\r\n if (action.payload == action.pagingSorting.sortBy) {\r\n // Change the direction of the sort since it's the same column\r\n sortDir = action.pagingSorting.sortDir == 0 ? 1 : 0;\r\n }\r\n const lastPage: number = action.pagingSorting.totalPages;\r\n\r\n // Set the next page to pass to our search request\r\n const newPayload: fromModels.DistrictSearchCriteria = {\r\n ...action.searchCriteria,\r\n SortDir: sortDir,\r\n SortBy: action.payload\r\n };\r\n\r\n return of(new districtSearchResultsActions.LoadDistrictSearchResults(newPayload));\r\n })\r\n ));\r\n\r\n \r\n lastPageResult$ = createEffect(() => this.actions$.pipe(\r\n ofType(districtSearchResultsActions.DistrictSearchResultsActionTypes.LastPage),\r\n switchMap((action: districtSearchResultsActions.LastPage) => {\r\n const lastPage: number = action.pagingSorting.totalPages;\r\n\r\n // Set the next page to pass to our search request\r\n const newPayload: fromModels.DistrictSearchCriteria = {\r\n ...action.payload,\r\n PageNumber: lastPage\r\n };\r\n\r\n return of(new districtSearchResultsActions.LoadDistrictSearchResults(newPayload));\r\n })\r\n ));\r\n\r\n \r\n firstPageResult$ = createEffect(() => this.actions$.pipe(\r\n ofType(districtSearchResultsActions.DistrictSearchResultsActionTypes.FirstPage),\r\n switchMap((action: districtSearchResultsActions.FirstPage) => {\r\n const firstPage = 1;\r\n\r\n // Set the next page to pass to our search request\r\n const newPayload: fromModels.DistrictSearchCriteria = {\r\n ...action.payload,\r\n PageNumber: firstPage\r\n };\r\n\r\n return of(new districtSearchResultsActions.LoadDistrictSearchResults(newPayload));\r\n })\r\n ));\r\n\r\n \r\n pageSizeResult$ = createEffect(() => this.actions$.pipe(\r\n ofType(districtSearchResultsActions.DistrictSearchResultsActionTypes.SetPageSize),\r\n switchMap((action: districtSearchResultsActions.SetPageSize) => {\r\n const pageSize: number = action.payload;\r\n\r\n // Set the next page to pass to our search request\r\n const newPayload: fromModels.DistrictSearchCriteria = {\r\n ...action.searchCriteria,\r\n PageSize: pageSize\r\n };\r\n\r\n return of(new districtSearchResultsActions.LoadDistrictSearchResults(newPayload));\r\n })\r\n ));\r\n\r\n \r\n searchResults$ = createEffect(() => this.actions$.pipe(\r\n ofType(districtSearchResultsActions.DistrictSearchResultsActionTypes.LoadDistrictSearchResults),\r\n switchMap((action: districtSearchResultsActions.LoadDistrictSearchResults) => {\r\n console.log('Load District Search Results Effect');\r\n console.log(action.payload);\r\n\r\n let query = '';\r\n\r\n Object.keys(action.payload).forEach(key => {\r\n const value = action.payload[key];\r\n if (value === undefined) {\r\n // Any missing value we just ignore\r\n return;\r\n }\r\n\r\n const valueAsString = String(value).trim();\r\n\r\n // If item has a value...\r\n if (value !== null && value !== '') {\r\n // If it's one of these keys and value is \"Any\"\r\n const anyKeys = ['state', 'isSupervisory', 'isActive'];\r\n if (anyKeys.some(i => i === key) && value == 'Any') {\r\n // Treat \"any\" like null.\r\n return;\r\n }\r\n // Else, add it to query string\r\n else {\r\n query += `&${key}=${value}`;\r\n }\r\n }\r\n });\r\n\r\n return this.districtService.searchDistricts(query).pipe(\r\n tap(d => {\r\n console.log('searchDistricts returned:', d);\r\n }),\r\n map(resp => {\r\n if (!resp.ok || resp.body == null) {\r\n return new districtSearchResultsActions.LoadDistrictSearchResultsFailure('Search results not returned');\r\n }\r\n\r\n return new districtSearchResultsActions.LoadDistrictSearchResultsSuccess(resp.body, resp.headers);\r\n }),\r\n catchError(error => of(new districtSearchResultsActions.LoadDistrictSearchResultsFailure(error)))\r\n );\r\n })\r\n ));\r\n\r\n private parseQueryStringFromUrl(url: string): object {\r\n const returnObject: object = {\r\n };\r\n\r\n // Parse query string into chunks\r\n const splitted = url.split('?', 2);\r\n // If we have a query string, then process it further\r\n if (splitted.length == 2) {\r\n // Split out each key/value pair\r\n const splittedItems = splitted[1].split('&');\r\n splittedItems.forEach(item => {\r\n // Split out the key and value\r\n const splittedItem = item.split('=');\r\n const key = splittedItem[0];\r\n const value = splittedItem.length > 1 ? splittedItem[1] : '';\r\n // Add is as a key/value pair in our return object.\r\n returnObject[key] = value;\r\n });\r\n }\r\n\r\n return returnObject;\r\n }\r\n}\r\n","import { SchoolService } from './school.service';\r\nimport { DistrictService } from './district.service';\r\nimport { PrefsService } from './prefs.service';\r\nimport { EventService } from './event.service';\r\nimport { AddressService } from './address.service';\r\nimport { TeacherService } from './teacher.service';\r\nimport { LocationService } from './location.service';\r\nimport { ProgramService } from './program.service';\r\nimport { TaxonomyService } from './taxonomy.service';\r\nimport { ProductGroupService } from './product-group.service';\r\nimport { ProductService } from './product.service';\r\nimport { RatePackageService } from './rate-package.service';\r\nimport { HistoryService } from './history.service';\r\n\r\nexport const services: any[] = [\r\n\tSchoolService,\r\n\tDistrictService,\r\n\tPrefsService,\r\n\tEventService,\r\n\tAddressService,\r\n\tTeacherService,\r\n\tLocationService,\r\n\tProgramService,\r\n\tTaxonomyService,\r\n\tProductGroupService,\r\n\tProductService,\r\n RatePackageService,\r\n\tHistoryService,\r\n];\r\n\r\nexport * from './school.service';\r\nexport * from './district.service';\r\nexport * from './prefs.service';\r\nexport * from './event.service';\r\nexport * from './address.service';\r\nexport * from './teacher.service';\r\nexport * from './location.service';\r\nexport * from './program.service';\r\nexport * from './taxonomy.service';\r\nexport * from './product-group.service';\r\nexport * from './product.service';\r\nexport * from './rate-package.service';\r\nexport * from './history.service';\r\n","export * from './components';\r\nexport * from './containers';\r\nexport * from './store';\r\nexport * from './guards';\r\nexport * from './services';\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpParams } from '@angular/common/http';\r\n\r\nimport { Observable } from 'rxjs';\r\nimport { ConfigurationService } from '../../../core/services/ConfigurationService';\r\nimport { ConfigurationState } from '../../../core/store/reducers';\r\nimport { switchMap } from 'rxjs/operators';\r\nimport { Operation } from 'fast-json-patch';\r\n\r\nimport { PreferenceSet } from '../../preferences/models';\r\n\r\n@Injectable()\r\nexport class PrefsService {\r\n constructor(private _http: HttpClient, private configuration: ConfigurationService) { }\r\n\r\n\tloadPrefs(prefsId: number): Observable {\r\n return this.configuration.config$.pipe(\r\n switchMap((c: ConfigurationState) => {\r\n return this._http.get(`${c.config.apiServer}api/preferencesets/${prefsId}`);\r\n })\r\n );\r\n }\r\n\r\n patchPrefs(id: number, patch: Operation[], modifiedDate: string): Observable {\r\n return this.configuration.config$.pipe(\r\n switchMap((c: ConfigurationState) => {\r\n const options = modifiedDate\r\n ? { params: new HttpParams().set('modifiedDate', modifiedDate) }\r\n : {};\r\n\r\n return this._http.patch(`${c.config.apiServer}api/preferencesets/${id}`, patch, options);\r\n })\r\n );\r\n }\r\n\r\n copy(id: number, dtoName: string, entityId: number): Observable {\r\n return this.configuration.config$.pipe(\r\n switchMap((c: ConfigurationState) => {\r\n return this._http.post(`${c.config.apiServer}api/preferencesets/${id}/copy/${dtoName}/${entityId}`, {});\r\n })\r\n );\r\n }\r\n\r\n delete(id: number): Observable {\r\n return this.configuration.config$.pipe(\r\n switchMap((c: ConfigurationState) => {\r\n return this._http.delete(`${c.config.apiServer}api/preferencesets/${id}`, {});\r\n })\r\n );\r\n }\r\n\r\n}\r\n","import * as fromProgramSearchResults from '../actions/program-searchresults.action';\r\nimport * as fromModels from '../../models';\r\nimport { HttpHeaders } from '@angular/common/http';\r\n\r\nexport interface SearchResultsState {\r\n searchResults: fromModels.ProgramSearchResultsItem[];\r\n searchCriteria: fromModels.ProgramSearchCriteria;\r\n pagingSorting: fromModels.ProgramPagingSorting;\r\n errors: any;\t//\tTODO: formalize error handling\r\n loading: boolean;\r\n loaded: boolean;\r\n}\r\n\r\nexport const initialState: SearchResultsState = {\r\n loading: false,\r\n loaded: false,\r\n searchResults: null,\r\n errors: null,\r\n searchCriteria: {\r\n teacherId: null,\r\n schoolId: null,\r\n PageNumber: null,\r\n PageSize: null,\r\n SortBy: null,\r\n SortDir: null,\r\n },\r\n pagingSorting: {\r\n totalCount: null,\r\n pageSize: null,\r\n currentPage: null,\r\n totalPages: null,\r\n sortBy: null,\r\n sortDir: null\r\n }\r\n};\r\n\r\nexport function reducer(state = initialState, action: fromProgramSearchResults.ProgramSearchResultsActions): SearchResultsState {\r\n switch (action.type) {\r\n case fromProgramSearchResults.ProgramSearchResultsActionTypes.ProcessQueryString: {\r\n console.log('ProcessQueryString');\r\n console.log(action.payload);\r\n\r\n return {\r\n ...state,\r\n loaded: false,\r\n loading: false,\r\n errors: null\r\n };\r\n }\r\n\r\n case fromProgramSearchResults.ProgramSearchResultsActionTypes.LoadProgramSearchResults: {\r\n console.log('LoadProgramSearchResults');\r\n console.log(action.payload);\r\n\t\t\treturn {\r\n ...state,\r\n loaded: false,\r\n loading: true,\r\n errors: null,\r\n // Anytime we request search results, let's update the state to include that\r\n // most recent criteria that was just passed.\r\n searchCriteria: action.payload\r\n\t\t\t};\r\n\t\t}\r\n\r\n case fromProgramSearchResults.ProgramSearchResultsActionTypes.LoadProgramSearchResultsSuccess: {\r\n const searchResults = action.payload;\r\n const headers = action.httpHeaders;\r\n\r\n\t\t\treturn {\r\n ...updateProgramSearchResultsState(state, searchResults, headers),\r\n\t\t\t\tloaded: true,\r\n loading: false\r\n\t\t\t};\r\n\t\t}\r\n\r\n case fromProgramSearchResults.ProgramSearchResultsActionTypes.LoadProgramSearchResultsFailure: {\r\n\t\t\tconsole.log('reducer:', action);\r\n\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tloaded: false,\r\n\t\t\t\tloading: false,\r\n errors: action.payload\r\n\t\t\t};\r\n }\r\n\t}\r\n\r\n\treturn state;\r\n}\r\n\r\nfunction updateProgramSearchResultsState(state: SearchResultsState, searchResults: fromModels.ProgramSearchResultsItem[], headers: HttpHeaders) {\r\n let pagingSorting: fromModels.ProgramPagingSorting;\r\n\r\n // Grab special header we use for paging\r\n const pagingHeader: string = headers.get('X-Pagination');\r\n const pagingObject: object = JSON.parse(pagingHeader);\r\n\r\n // Populate paging information from http headers\r\n pagingSorting = {\r\n totalCount: pagingObject['totalCount'],\r\n pageSize: pagingObject['pageSize'],\r\n currentPage: pagingObject['currentPage'],\r\n totalPages: pagingObject['totalPages'],\r\n sortBy: pagingObject['sortBy'],\r\n sortDir: pagingObject['sortDir']\r\n };\r\n\r\n\treturn {\r\n\t\t...state,\r\n searchResults,\r\n pagingSorting\r\n\t};\r\n}\r\n\r\nexport const getProgramSearchResults = (state: SearchResultsState) => state.searchResults;\r\nexport const getProgramSearchLoading = (state: SearchResultsState) => state.loading;\r\nexport const getProgramSearchLoaded = (state: SearchResultsState) => state.loaded;\r\nexport const getProgramSearchErrors = (state: SearchResultsState) => state.errors;\r\n","import { Component, ElementRef, ViewChild } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\n\r\ndeclare var $: any;\r\ndeclare var Foundation: any;\r\n\r\n//\tTODO: this component needs to be moved into scp/search\r\n@Component({\r\n selector: 'opus-quick-search',\r\n templateUrl: './quick-search.component.html',\r\n})\r\nexport class QuickSearchComponent {\r\n @ViewChild('searchText', {static: true})\r\n searchText: ElementRef;\r\n\r\n @ViewChild('searchDropdown', {static: true})\r\n searchDropdown: ElementRef;\r\n searchFoundationDropdown: any;\r\n\r\n constructor(private router: Router) { }\r\n\r\n ngOnInit() {\r\n // Created drop-down foundation object from the
\r\n if (!this.searchFoundationDropdown) {\r\n this.searchFoundationDropdown = new Foundation.Dropdown($(this.searchDropdown.nativeElement).first());\r\n }\r\n }\r\n\r\n quickSearchClick(url: string, fieldName: string, isActive: boolean = false) {\r\n const route = this.getLink(url);\r\n const queryParams = this.getQueryParams(fieldName, isActive);\r\n\r\n this.router.navigate(route, { queryParams: queryParams });\r\n const native = $(this.searchDropdown.nativeElement).first();\r\n if (native.hasClass('is-open')) {\r\n native.foundation('close');\r\n }\r\n }\r\n\r\n getLink(url: string): [string] {\r\n const input = $(this.searchText.nativeElement).val().trim();\r\n const inputAsNumber = parseInt(input);\r\n // If search string is a number, navigate directly to page\r\n if (!isNaN(inputAsNumber)) {\r\n return ['/' + url + '/' + input];\r\n }\r\n // Else, it's search text\r\n return ['/' + url + '/searchresults'];\r\n }\r\n\r\n getQueryParams(fieldName: string, isActive: boolean): any {\r\n const input = $(this.searchText.nativeElement).val();\r\n const inputAsNumber = parseInt(input);\r\n // If search string is a number, not doing search\r\n if (!isNaN(inputAsNumber)) {\r\n return {};\r\n }\r\n // Else, doing search\r\n const query = {};\r\n query[fieldName] = input;\r\n if (isActive)\r\n query['isActive'] = true;\r\n return query;\r\n }\r\n}\r\n","
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
    \r\n
  • \r\n
  • \r\n
  • \r\n
  • \r\n
\r\n
\r\n
\r\n \r\n \r\n
","export * from './actions';\r\nexport * from './effects';\r\nexport * from './reducers';\r\nexport * from './selectors';\r\n","import { Component, OnInit, OnDestroy, AfterViewInit } from '@angular/core';\r\nimport { FormBuilder, FormControl, FormGroup } from '@angular/forms';\r\n\r\nimport { Observable } from 'rxjs';\r\nimport { takeWhile, tap } from 'rxjs/operators';\r\n\r\nimport { select, Store } from '@ngrx/store';\r\n\r\nimport { Event } from '../models';\r\nimport * as fromStore from '../store';\r\nimport * as validators from '../../../core/validators';\r\n\r\n@Component({\r\n selector: 'event-staffing-editor',\r\n templateUrl: './event-staffing-editor.component.html',\r\n})\r\nexport class EventStaffingEditorComponent implements OnInit, OnDestroy, AfterViewInit {\r\n alive = true;\r\n event$: Observable;\r\n event: Event;\r\n panelState$: Observable;\r\n panelState: fromStore.PanelState;\r\n\r\n editor: FormGroup;\r\n\r\n constructor(private store: Store, private fb: FormBuilder) {\r\n\r\n }\r\n\r\n ngOnInit() {\r\n this.event$ = this.store.pipe(select(fromStore.getDetailsStateEvent));\r\n this.event$.pipe(\r\n takeWhile(() => this.alive)\r\n ).subscribe(d => this.event = d);\r\n\r\n this.panelState$ = this.store.pipe(select(fromStore.getDetailsStateEventStaffingPanel));\r\n this.panelState$.pipe(\r\n takeWhile(() => this.alive),\r\n tap(s => {\r\n if (!s.editing && this.panelState && this.panelState.editing) {\r\n this.resetForm();\r\n }\r\n }),\r\n ).subscribe(s => this.panelState = s);\r\n\r\n this.createForm();\r\n }\r\n\r\n ngAfterViewInit() {\r\n }\r\n\r\n ngOnDestroy() {\r\n this.alive = false;\r\n }\r\n\r\n createForm() {\r\n this.editor = new FormGroup({\r\n supervisor: new FormControl(this.event.supervisor),\r\n staffNeeded: new FormControl(this.event.staffNeeded, [validators.NumericValidators.minOrNull(1)]),\r\n staffNames: new FormControl(this.event.staffNames),\r\n });\r\n }\r\n\r\n resetForm() {\r\n\r\n }\r\n\r\n get canSave(): boolean {\r\n return this.editor.valid && this.editor.dirty && !this.panelState.updating;\r\n }\r\n\r\n onSubmit() {\r\n const supervisor = this.editor.value.supervisor;\r\n const staffNeeded = this.editor.value.staffNeeded;\r\n const staffNames = this.editor.value.staffNames;\r\n\r\n const event = {\r\n ...this.event,\r\n supervisor,\r\n staffNeeded,\r\n staffNames,\r\n };\r\n\r\n this.store.dispatch(new fromStore.UpdateEventPanel({ panel: fromStore.PanelId.EventStaffing, event }));\r\n }\r\n\r\n\r\n}\r\n"," \r\n
\r\n
\r\n
    \r\n
  • \r\n
  • \r\n
  • \r\n \r\n
    \r\n \r\n
    \r\n
  • \r\n
  • \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    Must be greater than 0
    \r\n
    \r\n
  • \r\n
  • \r\n \r\n
    \r\n \r\n
    \r\n
  • \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({ name: 'values' })\r\nexport class ValuesPipe implements PipeTransform {\r\n\ttransform(value: any, key?: any): Object[] {\r\n\t\tif (!value) {\r\n\t\t\treturn [];\r\n\t\t}\r\n\r\n\t\tconst keys: any[] = Object.keys(value);\r\n\t\tconst items: any[] = keys.map(k => value[k]);\r\n\r\n\t\treturn items;\r\n\t}\r\n}\r\n","import { DistributionGuard } from './distribution.guard';\r\n\r\nexport const guards: any[] = [DistributionGuard];\r\n\r\nexport * from './distribution.guard';\r\n","export * from './district.model';\r\nexport * from './district-info.model';\r\nexport * from './district-lookup.model';\r\nexport * from './district-summary.model';\r\nexport * from './district-searchresults.model';\r\nexport * from './district-searchcriteria.model';\r\nexport * from './relationship-manager.model';\r\nexport * from './district-relmgr-vm.model';\r\nexport * from './district-paging-sorting.model';\r\n","import { Component, Input } from '@angular/core';\r\n\r\nimport { SchoolDetails } from '../../models/school-details.model';\r\n\r\n@Component({\r\n\tselector: 'opus-school-header',\r\n\ttemplateUrl: './school-header.html',\r\n})\r\nexport class SchoolHeaderComponent {\r\n\t@Input() schoolDetails: SchoolDetails;\r\n\r\n\tget id() {\r\n\t\treturn this.schoolDetails.id;\r\n\t}\r\n\r\n\tget longName() {\r\n\t\treturn this.schoolDetails.longName;\r\n\t}\r\n}\r\n","
\r\n\t

School Detail

\r\n\t

{{ longName }}

\r\n\t
\r\n\t\t
School ID
\r\n\t\t
{{ id }}
\r\n\t
\r\n
\r\n","import { MerchLandingComponent } from './merch-landing.component';\r\n\r\nexport const components: any[] = [\r\n\tMerchLandingComponent\r\n];\r\n\r\nexport * from './merch-landing.component';\r\n","import { HomeGuard } from './home.guard';\r\n\r\nexport const guards: any[] = [HomeGuard];\r\n\r\nexport * from './home.guard';\r\n\r\n","import { Injectable } from '@angular/core';\r\n\r\nimport { of } from 'rxjs';\r\nimport { tap, switchMap, map, catchError } from 'rxjs/operators';\r\n\r\nimport { Store } from '@ngrx/store';\r\nimport { Actions, createEffect, ofType } from '@ngrx/effects';\r\n\r\nimport * as SchoolSearchResultsActions from '../actions/school-searchresults.action';\r\nimport * as fromServices from '../../../scp-common/services';\r\nimport * as fromModels from '../../models';\r\nimport * as fromReducers from '../reducers';\r\nimport { SearchResultsState } from '..';\r\n\r\n@Injectable()\r\nexport class SchoolSearchResultsEffects {\r\n constructor(\r\n private actions$: Actions,\r\n private SchoolService: fromServices.SchoolService,\r\n private store$: Store,\r\n ) { }\r\n\r\n \r\n processQueryString$ = createEffect(() => this.actions$.pipe(\r\n ofType(SchoolSearchResultsActions.SchoolSearchResultsActionTypes.ProcessQueryString),\r\n switchMap((action: SchoolSearchResultsActions.ProcessQueryString) => {\r\n // Grab an object representation of the query string\r\n const query = this.parseQueryStringFromUrl(action.payload);\r\n // Convert query object into our strict-typed object\r\n let searchCriteria: fromModels.SchoolSearchCriteria;\r\n\r\n // Populate search criteria with the query object params\r\n searchCriteria = {\r\n callDay: query['callDay'],\r\n code: query['code'],\r\n county: query['county'],\r\n districtId: query['DistrictId'],\r\n districtName: query['districtName'],\r\n gradeLevel: query['gradeLevel'],\r\n id: query['id'],\r\n isActive: query['isActive'],\r\n longName: query['longName'],\r\n offersBandshare: query['offersBandshare'],\r\n PageNumber: query['PageNumber'],\r\n PageSize: query['PageSize'],\r\n phone: query['phone'],\r\n primaryFulfillmentSite: query['primaryFulfillmentSite'],\r\n radius: query['radius'],\r\n schoolType: query['schoolType'],\r\n SortBy: query['SortBy'],\r\n SortDir: query['SortDir'],\r\n state: query['state'],\r\n teacherId: query['TeacherId'],\r\n zip: query['zip'],\r\n };\r\n return of(new SchoolSearchResultsActions.LoadSchoolSearchResults(searchCriteria));\r\n })\r\n ));\r\n\r\n \r\n getResultsForTeacher$ = createEffect(() => this.actions$.pipe(\r\n ofType(SchoolSearchResultsActions.SchoolSearchResultsActionTypes.GetResultsForTeacher),\r\n switchMap((action: SchoolSearchResultsActions.GetResultsForTeacher) => {\r\n console.log(action.payload);\r\n\r\n // Whatever state we have, reset it to initial\r\n const newCriteria: fromModels.SchoolSearchCriteria = {\r\n ...fromReducers.initialState.searchCriteria,\r\n // Use the teacher as our criteria\r\n teacherId: action.payload.id\r\n };\r\n\r\n return of(new SchoolSearchResultsActions.LoadSchoolSearchResults(newCriteria));\r\n })\r\n ));\r\n\r\n \r\n getResultsForDistrict$ = createEffect(() => this.actions$.pipe(\r\n ofType(SchoolSearchResultsActions.SchoolSearchResultsActionTypes.GetResultsForDistrict),\r\n switchMap((action: SchoolSearchResultsActions.GetResultsForDistrict) => {\r\n console.log(action.payload);\r\n\r\n // Whatever state we have, reset it to initial\r\n const newCriteria: fromModels.SchoolSearchCriteria = {\r\n ...fromReducers.initialState.searchCriteria,\r\n // Use the district as our criteria\r\n districtId: action.payload.id\r\n };\r\n\r\n return of(new SchoolSearchResultsActions.LoadSchoolSearchResults(newCriteria));\r\n })\r\n ));\r\n\r\n \r\n nextPageResult$ = createEffect(() => this.actions$.pipe(\r\n ofType(SchoolSearchResultsActions.SchoolSearchResultsActionTypes.NextPage),\r\n switchMap((action: SchoolSearchResultsActions.NextPage) => {\r\n console.log(action.pagingSorting);\r\n const currentPage: number = action.pagingSorting.currentPage;\r\n let nextPage: number;\r\n\r\n // If page number is null, maybe we never got first page?\r\n if (currentPage == null) {\r\n // Go to the first one\r\n nextPage = 1;\r\n }\r\n else if (currentPage < action.pagingSorting.totalPages) {\r\n // Increment to next page\r\n nextPage = currentPage + 1;\r\n }\r\n else {\r\n // Don't change the page\r\n nextPage = currentPage;\r\n }\r\n\r\n // Set the next page to pass to our search request\r\n const newPayload: fromModels.SchoolSearchCriteria = {\r\n ...action.payload,\r\n PageNumber: nextPage\r\n };\r\n // TODO: Figure out some way to not do any action here if page number didn't change\r\n return of(new SchoolSearchResultsActions.LoadSchoolSearchResults(newPayload));\r\n })\r\n ));\r\n\r\n \r\n prevPageResult$ = createEffect(() => this.actions$.pipe(\r\n ofType(SchoolSearchResultsActions.SchoolSearchResultsActionTypes.PrevPage),\r\n switchMap((action: SchoolSearchResultsActions.PrevPage) => {\r\n console.log(action.pagingSorting);\r\n const currentPage: number = action.pagingSorting.currentPage;\r\n let prevPage: number;\r\n\r\n // If page number is null, maybe we never got first page?\r\n if (currentPage == null) {\r\n // Go to the first one\r\n prevPage = 1;\r\n }\r\n else if (currentPage > 1) {\r\n // Increment to next page\r\n prevPage = currentPage - 1;\r\n }\r\n else {\r\n // Don't change the page\r\n prevPage = currentPage;\r\n }\r\n\r\n // Set the next page to pass to our search request\r\n const newPayload: fromModels.SchoolSearchCriteria = {\r\n ...action.payload,\r\n PageNumber: prevPage\r\n };\r\n // TODO: Figure out some way to not do any action here if page number didn't change\r\n return of(new SchoolSearchResultsActions.LoadSchoolSearchResults(newPayload));\r\n })\r\n ));\r\n\r\n \r\n sortByResult$ = createEffect(() => this.actions$.pipe(\r\n ofType(SchoolSearchResultsActions.SchoolSearchResultsActionTypes.SortBy),\r\n switchMap((action: SchoolSearchResultsActions.SortBy) => {\r\n // Default to ascending sort order\r\n let sortDir = 0;\r\n\r\n // If user is sorting by same column again\r\n if (action.payload == action.pagingSorting.sortBy) {\r\n // Change the direction of the sort since it's the same column\r\n sortDir = action.pagingSorting.sortDir == 0 ? 1 : 0;\r\n }\r\n const lastPage: number = action.pagingSorting.totalPages;\r\n\r\n // Set the next page to pass to our search request\r\n const newPayload: fromModels.SchoolSearchCriteria = {\r\n ...action.searchCriteria,\r\n SortDir: sortDir,\r\n SortBy: action.payload\r\n };\r\n\r\n return of(new SchoolSearchResultsActions.LoadSchoolSearchResults(newPayload));\r\n })\r\n ));\r\n\r\n \r\n lastPageResult$ = createEffect(() => this.actions$.pipe(\r\n ofType(SchoolSearchResultsActions.SchoolSearchResultsActionTypes.LastPage),\r\n switchMap((action: SchoolSearchResultsActions.LastPage) => {\r\n const lastPage: number = action.pagingSorting.totalPages;\r\n\r\n // Set the next page to pass to our search request\r\n const newPayload: fromModels.SchoolSearchCriteria = {\r\n ...action.payload,\r\n PageNumber: lastPage\r\n };\r\n\r\n return of(new SchoolSearchResultsActions.LoadSchoolSearchResults(newPayload));\r\n })\r\n ));\r\n\r\n \r\n firstPageResult$ = createEffect(() => this.actions$.pipe(\r\n ofType(SchoolSearchResultsActions.SchoolSearchResultsActionTypes.FirstPage),\r\n switchMap((action: SchoolSearchResultsActions.FirstPage) => {\r\n const firstPage = 1;\r\n\r\n // Set the next page to pass to our search request\r\n const newPayload: fromModels.SchoolSearchCriteria = {\r\n ...action.payload,\r\n PageNumber: firstPage\r\n };\r\n\r\n return of(new SchoolSearchResultsActions.LoadSchoolSearchResults(newPayload));\r\n })\r\n ));\r\n\r\n \r\n pageSizeResult$ = createEffect(() => this.actions$.pipe(\r\n ofType(SchoolSearchResultsActions.SchoolSearchResultsActionTypes.SetPageSize),\r\n switchMap((action: SchoolSearchResultsActions.SetPageSize) => {\r\n const pageSize: number = action.payload;\r\n\r\n // Set the next page to pass to our search request\r\n const newPayload: fromModels.SchoolSearchCriteria = {\r\n ...action.searchCriteria,\r\n PageSize: pageSize\r\n };\r\n\r\n return of(new SchoolSearchResultsActions.LoadSchoolSearchResults(newPayload));\r\n })\r\n ));\r\n\r\n \r\n searchResults$ = createEffect(() => this.actions$.pipe(\r\n ofType(SchoolSearchResultsActions.SchoolSearchResultsActionTypes.LoadSchoolSearchResults),\r\n switchMap((action: SchoolSearchResultsActions.LoadSchoolSearchResults) => {\r\n console.log('Load School Search Results Effect');\r\n console.log(action.payload);\r\n\r\n let query = '';\r\n\r\n Object.keys(action.payload).forEach(key => {\r\n const value = action.payload[key];\r\n if (value === undefined) {\r\n // Any missing value we just ignore\r\n return;\r\n }\r\n\r\n const valueAsString = String(value).trim();\r\n\r\n // If item has a value...\r\n if (value !== null && value !== '') {\r\n // If it's one of these keys and value is \"Any\"\r\n const anyKeys = ['state', 'isSupervisory', 'isActive', 'offersBandshare'];\r\n if (anyKeys.some(i => i === key) && value == 'Any') {\r\n // Treat \"any\" like null.\r\n return;\r\n }\r\n // Else, add it to query string\r\n else {\r\n query += `&${key}=${value}`;\r\n }\r\n }\r\n });\r\n\r\n return this.SchoolService.searchSchools(query).pipe(\r\n tap(d => {\r\n console.log('searchSchools returned:', d);\r\n }),\r\n map(resp => {\r\n if (!resp.ok || resp.body == null) {\r\n return new SchoolSearchResultsActions.LoadSchoolSearchResultsFailure('Search results not returned');\r\n }\r\n\r\n return new SchoolSearchResultsActions.LoadSchoolSearchResultsSuccess(resp.body, resp.headers);\r\n }),\r\n catchError(error => of(new SchoolSearchResultsActions.LoadSchoolSearchResultsFailure(error)))\r\n );\r\n })\r\n ));\r\n\r\n private parseQueryStringFromUrl(url: string): object {\r\n const returnObject: object = {\r\n };\r\n\r\n // Parse query string into chunks\r\n const splitted = url.split('?', 2);\r\n // If we have a query string, then process it further\r\n if (splitted.length == 2) {\r\n // Split out each key/value pair\r\n const splittedItems = splitted[1].split('&');\r\n splittedItems.forEach(item => {\r\n // Split out the key and value\r\n const splittedItem = item.split('=');\r\n const key = splittedItem[0];\r\n const value = splittedItem.length > 1 ? splittedItem[1] : '';\r\n // Add is as a key/value pair in our return object.\r\n returnObject[key] = value;\r\n });\r\n }\r\n\r\n return returnObject;\r\n }\r\n}\r\n","import { Component, Input } from '@angular/core';\r\nimport { Store } from '@ngrx/store';\r\nimport * as fromStore from '../../store';\r\nimport * as fromRoot from '../../../../core/store';\r\nimport { Event } from '../../models';\r\n\r\n\r\n@Component({\r\n selector: 'event-host',\r\n templateUrl: './event-host.component.html',\r\n})\r\nexport class EventHostComponent {\r\n @Input() event: Event;\r\n\r\n constructor(private store: Store) { }\r\n}\r\n","\r\n\r\n\r\n","import * as fromConfigurationAction from '../actions/configuration.action';\r\nimport * as fromModels from '../../models';\r\n\r\nexport interface ConfigurationState {\r\n loading: boolean;\r\n loaded: boolean;\r\n config: fromModels.Configuration;\r\n errors: any;\t//\tTODO: formalize error handling\r\n}\r\n\r\nexport const initialState: ConfigurationState = {\r\n loading: false,\r\n loaded: false,\r\n config: null,\r\n errors: null,\r\n};\r\n\r\nexport function reducer(state = initialState, action: fromConfigurationAction.ConfigurationActions): ConfigurationState {\r\n switch (action.type) {\r\n case fromConfigurationAction.ConfigurationActionTypes.LoadConfiguration: {\r\n return {\r\n ...state,\r\n loading: true,\r\n };\r\n }\r\n\r\n case fromConfigurationAction.ConfigurationActionTypes.LoadConfigurationSuccess: {\r\n const event = action.payload;\r\n\r\n return {\r\n ...updateDetailsState(state, event),\r\n loaded: true,\r\n loading: false,\r\n };\r\n }\r\n\r\n case fromConfigurationAction.ConfigurationActionTypes.LoadConfigurationFailure: {\r\n console.log('reducer:', action);\r\n\r\n return {\r\n ...state,\r\n loaded: false,\r\n loading: false,\r\n errors: action.payload,\r\n };\r\n }\r\n }\r\n\r\n return state;\r\n}\r\n\r\nfunction updateDetailsState(state: ConfigurationState, config: fromModels.Configuration) {\r\n return {\r\n ...state,\r\n config,\r\n };\r\n}\r\n\r\nexport const getConfigStateDistrict = (state: ConfigurationState) => state.config;\r\nexport const getConfigStateLoading = (state: ConfigurationState) => state.loading;\r\nexport const getConfigStateLoaded = (state: ConfigurationState) => state.loaded;\r\n","import { Injectable } from '@angular/core';\r\n\r\nimport { tap, switchMap, catchError, map/*, withLatestFrom*/ } from 'rxjs/operators';\r\nimport { of } from 'rxjs';\r\n\r\nimport { Actions, createEffect, ofType } from '@ngrx/effects';\r\n\r\nimport * as historyActions from '../actions/history.actions';\r\nimport { HistoryService } from '../../services/history.service';\r\nimport { HistoryDetails } from '../../models';\r\n\r\n@Injectable()\r\nexport class HistoryEffects {\r\n\tconstructor(private actions$: Actions, private historyService: HistoryService) { }\r\n\r\n\t\r\n loadSnapshot$ = createEffect(() => this.actions$.pipe(\r\n ofType(historyActions.HistoryActionTypes.LoadSnapshot),\r\n\t\ttap(a => console.log('Entering loadSnapshot$ Effect: ', a)),\r\n\t\tswitchMap((a: historyActions.LoadSnapshot) => {\r\n\t\t\tconst { contextName, contextId, scope } = a.payload;\r\n\r\n\t\t\tconsole.log(`Calling historyService.loadSnapshot('${contextName}', ${contextId})...`);\r\n\r\n\t\t\treturn this.historyService.loadSnapshot(contextName, contextId, scope).pipe(\r\n\t\t\t\ttap(rsp => console.log('historyService.loadSnapshot returned: ', rsp)),\r\n\t\t\t\tmap(rsp => {\r\n\t\t\t\t\tif (!rsp) {\r\n\t\t\t\t\t\treturn new historyActions.LoadSnapshotSuccess(null);\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tconst { displayName } = rsp;\r\n\t\t\t\t\tconst timestamp = new Date(rsp.timestamp);\r\n\r\n\t\t\t\t\treturn new historyActions.LoadSnapshotSuccess({ displayName, timestamp });\r\n\t\t\t\t}),\r\n\t\t\t\tcatchError(error => of(new historyActions.LoadSnapshotFailure(error)))\r\n\t\t\t);\r\n\t\t}),\r\n\t\ttap(a => console.log('Exiting loadSnapshot$ Effect: ', a)),\r\n\t));\r\n\r\n\t\r\n loadHistory$ = createEffect(() => this.actions$.pipe(\r\n ofType(historyActions.HistoryActionTypes.LoadHistory),\r\n\t\ttap(a => console.log('Entering loadHistory$ Effect: ', a)),\r\n\t\tswitchMap((a: historyActions.LoadHistory) => {\r\n\t\t\tconst { contextName, contextId, scope, fromDate, toDate } = a.payload;\r\n\r\n\t\t\tconsole.log(`Calling historyService.loadHistory('${contextName}', ${contextId}, '${scope}', ${fromDate}, ${toDate})...`);\r\n\r\n\t\t\treturn this.historyService.loadHistory(contextName, contextId, scope, fromDate, toDate).pipe(\r\n\t\t\t\ttap(rsp => console.log('historyService.LoadHistory returned: ', rsp)),\r\n\t\t\t\tmap(rsp => {\r\n\t\t\t\t\tconst payload: HistoryDetails = {\r\n\t\t\t\t\t\t...rsp,\r\n\t\t\t\t\t\tevents: rsp.events.map(e => {\r\n\t\t\t\t\t\t\treturn {\r\n\t\t\t\t\t\t\t\t...e,\r\n\t\t\t\t\t\t\t\ttimestamp: new Date(e.timestamp),\r\n\t\t\t\t\t\t\t};\r\n\t\t\t\t\t\t}),\r\n\t\t\t\t\t};\r\n\r\n\t\t\t\t\treturn new historyActions.LoadHistorySuccess(payload);\r\n\t\t\t\t}),\r\n\t\t\t\tcatchError(error => of(new historyActions.LoadHistoryFailure(error)))\r\n\t\t\t);\r\n\t\t}),\r\n\t\ttap(a => console.log('Exiting loadHistory$ Effect: ', a)),\r\n\t));\r\n}\r\n","import { HttpErrorResponse } from '@angular/common/http';\r\nimport { ValidationErrors } from '@angular/forms';\r\n\r\nimport { Action } from '@ngrx/store';\r\n\r\nimport { Address, AddressVerification } from '../../../scp-common/models';\r\nimport { SchoolDetails, RateAgreement, NewSchool } from '../../models';\r\nimport { DistrictLookup, DistrictSummary } from '../../../districts/models';\r\n\r\nexport enum SchoolDetailsActionTypes {\r\n\tLoadSchoolDetails = '[School] Load School Details',\r\n\tLoadSchoolDetailsComplete = '[School] Load School Details Complete',\r\n\tLoadSchoolDetailsFailure = '[School] Load School Details Failure',\r\n\r\n\t//ValidateDistrictId = '[School] Validate District',\r\n\t//ValidateDistrictIdComplete = '[School] Validate District Complete',\r\n\r\n\tLookupDistrictById = '[School] Lookup District By Id',\r\n\tLookupDistrictByIdSuccess = '[School] Lookup District By Id Success',\r\n\tLookupDistrictByIdFailure = '[School] Lookup District By Id Failure',\r\n\r\n\tLookupDistrictByName = '[School] Lookup District By Name',\r\n\tLookupDistrictByNameSuccess = '[School] Lookup District By Name Success',\r\n\tLookupDistrictByNameFailure = '[School] Lookup District By Name Failure',\r\n\r\n\tGetRateAgreement = '[School] Get Rate Agreement',\r\n\tGetRateAgreementSuccess = '[School] Get Rate Agreement Success',\r\n\tGetRateAgreementFailure = '[School] Get Rate Agreement Failure',\r\n\r\n\tSchoolLoadCounties = '[School] School Load Counties',\r\n\tSchoolLoadCountiesSuccess = '[School] School Load Counties Success',\r\n\r\n\tSchoolAddressLookupCityState = '[School] School Address Lookup CityState',\r\n\tSchoolAddressLookupCityStateSuccess = '[School] School Address Lookup CityState Success',\r\n\tSchoolAddressLookupCityStateFailure = '[School] School Address Lookup CityState Failure',\r\n\r\n\tSchoolVerifyAddress = '[School] School Verify Address',\r\n\tSchoolVerifyAddressSuccess = '[School] School Verify Address Success',\r\n\tSchoolVerifyAddressFailure = '[School] School Verify Address Failure',\r\n\r\n\tUpdateEditorState = '[School] Update Editor State',\r\n\r\n\tUpdateSchoolPanel = '[School] Update School Panel',\r\n\tUpdateSchoolPanelSuccess = '[School] Update School Panel Success',\r\n\tUpdateSchoolPanelFailure = '[School] Update School Panel Failure',\r\n\r\n\tValidateExclusiveServiceAccountCode = '[School] Validate Exclusive Service Account Code',\r\n\r\n\t//ValidateRateAgreement = '[School] Validate Rate Agreement',\r\n\t//RateAgreementValidated = '[School] Rate Agreement Validated',\r\n\r\n\tCreateSchool = '[School] Create School',\r\n\tCreateSchoolSuccess = '[School] Create School Success',\r\n\tCreateSchoolFailure = '[School] Create School Failure',\r\n\r\n\tValidateSchoolPrimaryId = '[School] Validate School Primary Id',\r\n\tValidateSchoolExists = '[School] Validate School Exists',\r\n\tValidateSchoolCanDeactivate = '[School] Validate School Can Deactivate',\r\n\tSchoolCanDeactivateValidated = '[School] School Can Deactivate Validated',\r\n\tSchoolExistsValidated = '[School] School Exists Validated',\r\n\tSchoolPrimaryIdValidated = '[School] School Primary Id Validated',\r\n\tSchoolPrimaryIdValidationFailed = '[School] School Primary Id Validation Failed',\r\n}\r\n\r\nexport class LoadSchoolDetails implements Action {\r\n\treadonly type = SchoolDetailsActionTypes.LoadSchoolDetails;\r\n\tconstructor(public payload: number) { }\r\n}\r\n\r\nexport class LoadSchoolDetailsComplete implements Action {\r\n\treadonly type = SchoolDetailsActionTypes.LoadSchoolDetailsComplete;\r\n\tconstructor(public payload: SchoolDetails) { }\r\n}\r\n\r\nexport class LoadSchoolDetailsFailure implements Action {\r\n\treadonly type = SchoolDetailsActionTypes.LoadSchoolDetailsFailure;\r\n\tconstructor(public payload: any) { }\r\n}\r\n\r\n//export class ValidateDistrictId implements Action {\r\n//\treadonly type = SchoolDetailsActionTypes.ValidateDistrictId;\r\n//\tconstructor(public payload: DistrictLookup) { }\r\n//}\r\n\r\n//export class ValidateDistrictIdComplete implements Action {\r\n//\treadonly type = SchoolDetailsActionTypes.ValidateDistrictIdComplete;\r\n//\tconstructor(public payload: boolean) { }\r\n//}\r\n\r\nexport class LookupDistrictById implements Action {\r\n\treadonly type = SchoolDetailsActionTypes.LookupDistrictById;\r\n\tconstructor(public payload: { id: number }) { }\r\n}\r\n\r\nexport class LookupDistrictByIdSuccess implements Action {\r\n\treadonly type = SchoolDetailsActionTypes.LookupDistrictByIdSuccess;\r\n\tconstructor(public payload: { id: number, dl: DistrictLookup }) { }\r\n}\r\n\r\nexport class LookupDistrictByIdFailure implements Action {\r\n\treadonly type = SchoolDetailsActionTypes.LookupDistrictByIdFailure;\r\n\tconstructor(public payload: { id: number, error: any }) { }\r\n}\r\n\r\nexport class LookupDistrictByName implements Action {\r\n\treadonly type = SchoolDetailsActionTypes.LookupDistrictByName;\r\n\tconstructor(public payload: { name: string }) { }\r\n}\r\n\r\nexport class LookupDistrictByNameSuccess implements Action {\r\n\treadonly type = SchoolDetailsActionTypes.LookupDistrictByNameSuccess;\r\n\tconstructor(public payload: { name: string, dls: DistrictLookup[] }) { }\r\n}\r\n\r\nexport class LookupDistrictByNameFailure implements Action {\r\n\treadonly type = SchoolDetailsActionTypes.LookupDistrictByNameFailure;\r\n\tconstructor(public payload: { name: string, error: any }) { }\r\n}\r\n\r\nexport class GetRateAgreement implements Action {\r\n\treadonly type = SchoolDetailsActionTypes.GetRateAgreement;\r\n\tconstructor(public payload: { panel: string, rateCode: string }) { }\r\n}\r\n\r\nexport class GetRateAgreementSuccess implements Action {\r\n\treadonly type = SchoolDetailsActionTypes.GetRateAgreementSuccess;\r\n\tconstructor(public payload: { panel: string, rateCode: string, rateAgreement: RateAgreement }) { }\r\n}\r\n\r\nexport class GetRateAgreementFailure implements Action {\r\n\treadonly type = SchoolDetailsActionTypes.GetRateAgreementFailure;\r\n\tconstructor(public payload: { panel: string, rateCode: string, errors: any }) { }\r\n}\r\n\r\nexport class SchoolLoadCounties implements Action {\r\n\treadonly type = SchoolDetailsActionTypes.SchoolLoadCounties;\r\n\tconstructor(public payload: { panel: string, stateCode: string }) { }\r\n}\r\n\r\nexport class SchoolLoadCountiesSuccess implements Action {\r\n\treadonly type = SchoolDetailsActionTypes.SchoolLoadCountiesSuccess;\r\n\tconstructor(public payload: { panel: string, counties: string[] }) { }\r\n}\r\n\r\nexport class SchoolAddressLookupCityState implements Action {\r\n\treadonly type = SchoolDetailsActionTypes.SchoolAddressLookupCityState;\r\n\tconstructor(public payload: { panel: string, zip: string }) { }\r\n}\r\n\r\nexport class SchoolAddressLookupCityStateSuccess implements Action {\r\n\treadonly type = SchoolDetailsActionTypes.SchoolAddressLookupCityStateSuccess;\r\n\tconstructor(public payload: { panel: string, cityState: { city: string, state: string } }) { }\r\n}\r\n\r\nexport class SchoolAddressLookupCityStateFailure implements Action {\r\n\treadonly type = SchoolDetailsActionTypes.SchoolAddressLookupCityStateFailure;\r\n\tconstructor(public payload: { panel: string, errors: any[] }) { }\r\n}\r\n\r\nexport class SchoolVerifyAddress implements Action {\r\n\treadonly type = SchoolDetailsActionTypes.SchoolVerifyAddress;\r\n\tconstructor(public payload: { panel: string, address: Address }) { }\r\n}\r\n\r\nexport class SchoolVerifyAddressSuccess implements Action {\r\n\treadonly type = SchoolDetailsActionTypes.SchoolVerifyAddressSuccess;\r\n\tconstructor(public payload: { panel: string, verification: AddressVerification }) { }\r\n}\r\n\r\nexport class SchoolVerifyAddressFailure implements Action {\r\n\treadonly type = SchoolDetailsActionTypes.SchoolVerifyAddressFailure;\r\n\tconstructor(public payload: { panel: string }) { }\r\n}\r\n\r\nexport class UpdateEditorState implements Action {\r\n\treadonly type = SchoolDetailsActionTypes.UpdateEditorState;\r\n\tconstructor(public payload: { key: string, open: boolean }) { }\r\n}\r\n\r\nexport class UpdateSchoolPanel implements Action {\r\n\treadonly type = SchoolDetailsActionTypes.UpdateSchoolPanel;\r\n\tconstructor(public payload: { panel: string, school: SchoolDetails }) { }\r\n}\r\n\r\nexport class UpdateSchoolPanelSuccess implements Action {\r\n\treadonly type = SchoolDetailsActionTypes.UpdateSchoolPanelSuccess;\r\n\tconstructor(public payload: { panel: string, school: SchoolDetails }) { }\r\n}\r\n\r\nexport class UpdateSchoolPanelFailure implements Action {\r\n\treadonly type = SchoolDetailsActionTypes.UpdateSchoolPanelFailure;\r\n\tconstructor(public payload: { panel: string, errors: string }) { }\r\n}\r\n\r\nexport class ValidateExclusiveServiceAccountCode implements Action {\r\n\treadonly type = SchoolDetailsActionTypes.ValidateExclusiveServiceAccountCode;\r\n\tconstructor(public payload: { panel: string, validator: string, exclusiveServiceAccountCode: string }) { }\r\n}\r\n\r\n//export class ValidateRateAgreement implements Action {\r\n//\treadonly type = SchoolDetailsActionTypes.ValidateRateAgreement;\r\n//\tconstructor(public payload: { panel: string, validator: string, rateCode: string }) { }\r\n//}\r\n\r\n//export class RateAgreementValidated implements Action {\r\n//\treadonly type = SchoolDetailsActionTypes.RateAgreementValidated;\r\n//\tconstructor(public payload: { panel: string, validator: string, errors: ValidationErrors }) { }\r\n//}\r\n\r\nexport class CreateSchool implements Action {\r\n\treadonly type = SchoolDetailsActionTypes.CreateSchool;\r\n\tconstructor(public payload: { school: NewSchool }) { }\r\n}\r\n\r\nexport class CreateSchoolSuccess implements Action {\r\n\treadonly type = SchoolDetailsActionTypes.CreateSchoolSuccess;\r\n\tconstructor(public payload: { id: number }) { }\r\n}\r\n\r\nexport class CreateSchoolFailure implements Action {\r\n\treadonly type = SchoolDetailsActionTypes.CreateSchoolFailure;\r\n\tconstructor(public payload: { errors: any }) { }\r\n}\r\n\r\nexport class ValidateSchoolPrimaryId implements Action {\r\n\treadonly type = SchoolDetailsActionTypes.ValidateSchoolPrimaryId;\r\n\tconstructor(public payload: { panel: string, validator: string, primaryId: string, duplicateId: number, duplicateIsActive: boolean }) { }\r\n}\r\n\r\nexport class ValidateSchoolExists implements Action {\r\n\treadonly type = SchoolDetailsActionTypes.ValidateSchoolExists;\r\n\tconstructor(public payload: { panel: string, validator: string, id: number }) { }\r\n}\r\n\r\nexport class ValidateSchoolCanDeactivate implements Action {\r\n\treadonly type = SchoolDetailsActionTypes.ValidateSchoolCanDeactivate;\r\n\tconstructor(public payload: { panel: string, validator: string, id: number }) { }\r\n}\r\n\r\nexport class SchoolPrimaryIdValidated implements Action {\r\n\treadonly type = SchoolDetailsActionTypes.SchoolPrimaryIdValidated;\r\n\tconstructor(public payload: { panel: string, validator: string, errors: ValidationErrors }) { }\r\n}\r\n\r\nexport class SchoolExistsValidated implements Action {\r\n\treadonly type = SchoolDetailsActionTypes.SchoolExistsValidated;\r\n\tconstructor(public payload: { panel: string, id: number, validator: string, errors: ValidationErrors }) { }\r\n}\r\n\r\nexport class SchoolCanDeactivateValidated implements Action {\r\n\treadonly type = SchoolDetailsActionTypes.SchoolCanDeactivateValidated;\r\n\tconstructor(public payload: { panel: string, id: number, validator: string, errors: ValidationErrors }) { }\r\n}\r\n\r\nexport class SchoolPrimaryIdValidationFailed implements Action {\r\n\treadonly type = SchoolDetailsActionTypes.SchoolPrimaryIdValidationFailed;\r\n\tconstructor(public payload: { panel: string, validator: string, errors: any[] }) { }\r\n}\r\n\r\nexport type SchoolDetailsActions =\r\n\t| LoadSchoolDetails\r\n\t| LoadSchoolDetailsComplete\r\n\t| LoadSchoolDetailsFailure\r\n\t//| ValidateDistrictId\r\n\t//| ValidateDistrictIdComplete\r\n\t| LookupDistrictById\r\n\t| LookupDistrictByIdSuccess\r\n\t| LookupDistrictByIdFailure\r\n\t| LookupDistrictByName\r\n\t| LookupDistrictByNameSuccess\r\n\t| LookupDistrictByNameFailure\r\n\t| GetRateAgreement\r\n\t| GetRateAgreementSuccess\r\n\t| GetRateAgreementFailure\r\n\t| SchoolLoadCounties\r\n\t| SchoolLoadCountiesSuccess\r\n\t| SchoolAddressLookupCityState\r\n\t| SchoolAddressLookupCityStateSuccess\r\n\t| SchoolAddressLookupCityStateFailure\r\n\t| SchoolVerifyAddress\r\n\t| SchoolVerifyAddressSuccess\r\n\t| SchoolVerifyAddressFailure\r\n\t| UpdateEditorState\r\n\t| UpdateSchoolPanel\r\n\t| UpdateSchoolPanelSuccess\r\n\t| UpdateSchoolPanelFailure\r\n\t| ValidateExclusiveServiceAccountCode\r\n\t//| ValidateRateAgreement\r\n\t//| RateAgreementValidated\r\n\t| CreateSchool\r\n\t| CreateSchoolSuccess\r\n\t| CreateSchoolFailure\r\n\t| ValidateSchoolPrimaryId\r\n\t| ValidateSchoolExists\r\n\t| ValidateSchoolCanDeactivate\r\n\t| SchoolPrimaryIdValidated\r\n\t| SchoolExistsValidated\r\n\t| SchoolCanDeactivateValidated\r\n\t| SchoolPrimaryIdValidationFailed;\r\n","import { DistributionEffects } from './distribution.effects';\r\n\r\nexport const effects: any[] = [DistributionEffects];\r\n\r\nexport * from './distribution.effects';\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({ name: 'yesNo' })\r\nexport class YesNoPipe implements PipeTransform {\r\n\ttransform(value: boolean): string {\r\n\t\treturn value === true ? 'Yes' : 'No';\r\n\t}\r\n}\r\n","import { enableProdMode } from '@angular/core';\r\nimport { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\r\n\r\nimport { AppModule } from './app/app.module';\r\nimport { env } from './environments/environment';\r\n\r\nif (env.production) {\r\n enableProdMode();\r\n}\r\n\r\nplatformBrowserDynamic().bootstrapModule(AppModule)\r\n .catch(err => console.log(err));\r\n","function webpackEmptyAsyncContext(req) {\n\t// Here Promise.resolve().then() is used instead of new Promise() to prevent\n\t// uncaught exception popping up in devtools\n\treturn Promise.resolve().then(function() {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t});\n}\nwebpackEmptyAsyncContext.keys = function() { return []; };\nwebpackEmptyAsyncContext.resolve = webpackEmptyAsyncContext;\nmodule.exports = webpackEmptyAsyncContext;\nwebpackEmptyAsyncContext.id = \"zn8P\";","import { Component, OnInit, ElementRef, ViewChild } from '@angular/core';\r\nimport { select, Store } from '@ngrx/store';\r\nimport * as fromStore from '../store';\r\nimport { Observable } from 'rxjs';\r\nimport { OidcSecurityService } from 'angular-auth-oidc-client';\r\n\r\ndeclare var $: any;\r\ndeclare var Foundation: any;\r\n\r\n@Component({\r\n selector: 'opus-account-dropdown',\r\n template: `\r\n\t\t
\r\n\t\t\t

\r\n\t\t\t\tSigned in as:\r\n\t\t\t\t\r\n\t\t\t

\r\n\t\t\t\r\n\t\t
\r\n\t`,\r\n})\r\nexport class AccountDropdownComponent implements OnInit {\r\n @ViewChild('accountDropdown', {static: true})\r\n accountDropdown: ElementRef;\r\n accountFoundationDropdown: any;\r\n userData$: Observable;\r\n\r\n constructor(private store: Store, private oidcSecurityService: OidcSecurityService) {\r\n\r\n }\r\n\r\n ngOnInit(): void {\r\n this.userData$ = this.store.pipe(select(fromStore.getUserData));\r\n\r\n if (!this.accountFoundationDropdown) {\r\n this.accountFoundationDropdown = new Foundation.Dropdown($(this.accountDropdown.nativeElement).first());\r\n }\r\n }\r\n\r\n logout() {\r\n this.store.dispatch(new fromStore.SetUserData(null));\r\n this.oidcSecurityService.logoff();\r\n }\r\n}\r\n"],"sourceRoot":"webpack:///"}