Skip to content

Commit

Permalink
migrate selectedFacility
Browse files Browse the repository at this point in the history
  • Loading branch information
ozer550 committed Jan 30, 2025
1 parent be92a34 commit c45d4ec
Show file tree
Hide file tree
Showing 5 changed files with 23 additions and 28 deletions.
22 changes: 3 additions & 19 deletions kolibri/plugins/user_auth/assets/src/modules/pluginModule.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,4 @@
import Lockr from 'lockr';
import { get } from '@vueuse/core';
import useUser from 'kolibri/composables/useUser';
import useFacilities from 'kolibri-common/composables/useFacilities';
import { ComponentMap, pageNameToModuleMap } from '../constants';
import signIn from './signIn';
Expand All @@ -18,10 +16,10 @@ export default {
store.commit('CORE_SET_PAGE_LOADING', false);
store.commit('CORE_SET_ERROR', null);
},
setFacilitiesAndConfig(store) {
const { getFacilities, getFacilityConfig } = useFacilities();
setFacilitiesAndConfig() {
const { getFacilities, getFacilityConfig, selectedFacility } = useFacilities();
return getFacilities().then(() => {
return getFacilityConfig(store.getters.selectedFacility.id);
return getFacilityConfig(selectedFacility.value.id);
});
},
resetModuleState(store, { toRoute, fromRoute }) {
Expand All @@ -39,20 +37,6 @@ export default {
return getFacilityConfig(facilityId);
},
},
getters: {
// Return the facility that was last selected or fallback to the default facility.

selectedFacility(state) {
const { facilities } = useFacilities();
const selectedFacility = facilities.value.find(f => f.id === state.facilityId);
if (selectedFacility) {
return selectedFacility;
} else {
const { userFacilityId } = useUser();
return facilities.value.find(f => f.id === get(userFacilityId)) || null;
}
},
},
mutations: {
SET_PAGE_NAME(state, name) {
state.pageName = name;
Expand Down
5 changes: 3 additions & 2 deletions kolibri/plugins/user_auth/assets/src/views/FacilitySelect.vue
Original file line number Diff line number Diff line change
Expand Up @@ -79,8 +79,8 @@
components: { AuthBase },
mixins: [commonCoreStrings, commonUserStrings],
setup() {
const { getFacilityConfig, facilities } = useFacilities();
return { getFacilityConfig, facilities };
const { getFacilityConfig, facilities, setFacilityId } = useFacilities();
return { getFacilityConfig, facilities, setFacilityId };
},
props: {
// This component is interstitial and needs to know where to go when it's done
Expand Down Expand Up @@ -125,6 +125,7 @@
}
// Save the selected facility, get its config, then move along to next route
this.$store.dispatch('setFacilityId', { facilityId }).then(() => {
this.setFacilityId(facilityId);
this.getFacilityConfig(facilityId).then(() => {
this.$router.push(whereToNext);
});
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -32,12 +32,18 @@

<script>
import { mapGetters } from 'vuex';
import useFacilities from 'kolibri-common/composables/useFacilities';
import commonUserStrings from '../commonUserStrings';
export default {
name: 'SignInHeading',
mixins: [commonUserStrings],
setup() {
const { selectedFacility } = useFacilities();
return {
selectedFacility,
};
},
props: {
showFacilityName: {
type: Boolean,
Expand All @@ -52,9 +58,6 @@
required: true,
},
},
computed: {
...mapGetters(['selectedFacility']),
},
};
</script>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -158,7 +158,7 @@

<script>
import { mapState, mapGetters, mapActions } from 'vuex';
import { mapState, mapActions } from 'vuex';
import FacilityUsernameResource from 'kolibri-common/apiResources/FacilityUsernameResource';
import get from 'lodash/get';
import commonCoreStrings from 'kolibri/uiText/commonCoreStrings';
Expand All @@ -167,6 +167,7 @@
import UiAutocompleteSuggestion from 'kolibri-design-system/lib/keen/UiAutocompleteSuggestion';
import UiAlert from 'kolibri-design-system/lib/keen/UiAlert';
import useUser from 'kolibri/composables/useUser';
import useFacilities from 'kolibri-common/composables/useFacilities';
import { ComponentMap } from '../../constants';
import getUrlParameter from '../getUrlParameter';
import AuthBase from '../AuthBase';
Expand All @@ -193,7 +194,8 @@
mixins: [commonCoreStrings, commonUserStrings],
setup() {
const { isAppContext } = useUser();
return { isAppContext };
const { selectedFacility } = useFacilities();
return { isAppContext, selectedFacility };
},
data() {
return {
Expand All @@ -213,7 +215,6 @@
};
},
computed: {
...mapGetters(['selectedFacility']),
...mapState('signIn', ['hasMultipleFacilities']),
backToFacilitySelectionRoute() {
const facilityRoute = this.$router.getRoute(ComponentMap.FACILITY_SELECT);
Expand Down
6 changes: 6 additions & 0 deletions packages/kolibri-common/composables/useFacilities.js
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ const _facilityId = ref(Lockr.get('facilityId') || null);

export default function useFacilities() {
const { userFacilityId, isSuperuser } = useUser();

// const route = router.currentRoute;
const selectedFacility = computed(() => {
const facilityById = _facilities.value.find(f => f.id === _facilityId.value);
Expand Down Expand Up @@ -77,6 +78,10 @@ export default function useFacilities() {
_facilities.value = facilities;
}

function setFacilityId(facilityId) {
_facilityId.value = facilityId;
}

return {
facilities,
facilityConfig,
Expand All @@ -87,5 +92,6 @@ export default function useFacilities() {
selectedFacility,
userIsMultiFacilityAdmin,
currentFacilityName,
setFacilityId,
};
}

0 comments on commit c45d4ec

Please sign in to comment.